SetCounter: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(One intermediate revision by the same user not shown)
Line 1: Line 1:
SetCounter (ctr, value, operation)
'''SetCounter'''(''counter'', ''value'', ''operation'')


*ctr: counter number, from 0 to 7.
Sets a ''value'' to a ''counter'', possibly applying it a specific ''operation''.
*value: value to set, in the signed long integer range
 
*operation:
===Arguments===
:'''assign''' or 0: ctr = value
*''counter'': counter number, from 0 to 7.
:'''add''' or 1: ctr += value
*''value'': value to set, in the signed long integer range.
:'''sub''' or 2: ctr -= value
*''operation'': one of the following keywords or values:
:'''mul''' or 3: ctr *= value
:*'''assign''' (0): set ''counter'' to ''value''
:'''div''' or 4: ctr /= value
:*'''add''' (1): increase ''counter'' by ''value''
:'''mod''' or 5: ctr %= value
:*'''sub''' (2): decrease ''counter'' by ''value''
:'''and''' or 6: ctr &= value
:*'''mul''' (3): multiply ''counter'' by ''value''
:'''andnot''' or 7: ctr &= ~value
:*'''div''' (4): divide ''counter'' by ''value''. Won't operate if ''value'' is 0.
:'''or''' or 8: ctr |= value
:*'''mod''' (5): calculate remainder of division of ''counter'' by ''value''. Won't operate if ''value'' is 0 or less.
:'''xor''' or 9: ctr ^= value
:*'''and''' (6): calculate bitwise AND of ''counter'' and ''value''. Useful to check if bits are set.
:'''rand''' or 10: ctr = rand()
:*'''andnot''' (7): calculate bitwise AND of ''counter'' and inverted ''value''. Useful to clear bits of a counter.
:'''randmod''' or 11: ctr = rand()%value
:*'''or''' (8): calculate bitwise OR of ''counter'' and ''value''. Useful to set bits of a counter.
:'''rshift''' or 13: ctr >>= value
:*'''xor''' (9): calculate bitwise exclusive OR of ''counter'' and ''value''. Useful to toggle bits of a counter.
:'''lshift''' or 14: ctr <<= value
:*'''rand''' (10): ''counter'' becomes random number between 0 and 255.
:*'''randmod''' (11): ''counter'' becomes random number between 0 and ''value'' - 1. Won't operate if ''value'' is 0 or less.
:*'''rshift''' (13): divide ''counter'' by 2^''value''
:*'''lshift''' (14): multiply ''counter'' by 2^''value''


Sets a value to a variable for an actor, allowing dynamic behavior. Values can be merely assigned or operated on.


==See also==
==See also==
*[[CounterJump]]
*[[CounterJump]]
*[[CounterOp]]
*[[CounterSwitch]]
*[[List of codepointers]]
*[[List of codepointers]]


[[Category:Codepointers]]
[[Category:Codepointers]]

Revision as of 12:04, 6 March 2012

SetCounter(counter, value, operation)

Sets a value to a counter, possibly applying it a specific operation.

Arguments

  • counter: counter number, from 0 to 7.
  • value: value to set, in the signed long integer range.
  • operation: one of the following keywords or values:
  • assign (0): set counter to value
  • add (1): increase counter by value
  • sub (2): decrease counter by value
  • mul (3): multiply counter by value
  • div (4): divide counter by value. Won't operate if value is 0.
  • mod (5): calculate remainder of division of counter by value. Won't operate if value is 0 or less.
  • and (6): calculate bitwise AND of counter and value. Useful to check if bits are set.
  • andnot (7): calculate bitwise AND of counter and inverted value. Useful to clear bits of a counter.
  • or (8): calculate bitwise OR of counter and value. Useful to set bits of a counter.
  • xor (9): calculate bitwise exclusive OR of counter and value. Useful to toggle bits of a counter.
  • rand (10): counter becomes random number between 0 and 255.
  • randmod (11): counter becomes random number between 0 and value - 1. Won't operate if value is 0 or less.
  • rshift (13): divide counter by 2^value
  • lshift (14): multiply counter by 2^value


See also