Getarraysequence: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Fox (talk | contribs)
No edit summary
Fox (talk | contribs)
No edit summary
Line 5: Line 5:
Saves the values of the first N entries of a [[gamearray]] to the provided [[gamevar|gamevars]].
Saves the values of the first N entries of a [[gamearray]] to the provided [[gamevar|gamevars]].


Current the limit of variables is 32.
Current the limit of gamevars is 32.


This is useful for creating a state that takes the values of multiple gamevars. A common usage is to modify a [[rotatesprite]] function.
This is useful for creating a state that takes the values of multiple gamevars. A common usage is to modify a [[rotatesprite]] function.

Revision as of 20:42, 19 February 2020

getarraysequence <gamearray> <gamevar 1> [...] <gamevar N>

getarrayseq <gamearray> <gamevar 1> [...] <gamevar N>

Saves the values of the first N entries of a gamearray to the provided gamevars.

Current the limit of gamevars is 32.

This is useful for creating a state that takes the values of multiple gamevars. A common usage is to modify a rotatesprite function.

Example:

state Rotatesprite_Scaled
  getarraysequence Rotatesprite_Sequence X Y Scale Ang Picnum Shade Pal Orientation X1 Y1 X2 Y2

  ifn userdef[].statusbarscale 100
  {
    sub X 160
    sub Y 200

    scalevar X X userdef[].statusbarscale 100
    scalevar Y Y userdef[].statusbarscale 100
    scalevar Scale Scale userdef[].statusbarscale 100

    add X 160
    add Y 200
  }

  rotatesprite X Y Scale Ang Picnum Shade Pal Orientation X1 Y1 X2 Y2
ends

appendevent EVENT_DISPLAYSBAR
  set X2 xdim
  set Y2 ydim
  sub X2 1
  sub Y2 1

  setarraysequence Rotatesprite_Sequence 160 166 65536 0 BOTTOMSTATUSBAR 4 0 24 0 0 X2 Y2
  state Rotatesprite_Scaled
endevent

See also setarraysequence.