Open main menu

Difference between revisions of "SCUMM/V5 opcodes"

15 bytes added ,  13:28, 23 April 2009
m
A few minor fixes, hopefully the last from me
(Added some V3-4 specific info based on recent changes to script_v5.cpp incl. saveLoadVars and saveLoadGame, also general additions.)
m (A few minor fixes, hopefully the last from me)
Line 81: Line 81:
  $13 zplane[p8]
  $13 zplane[p8]
  $14
  $14
  $15 animspeed[p8]
  $15  
  $16 mode[p8]
  $16 animspeed[p8]
  $17 shadow[p8]
  $17 shadow[p8]


Line 134: Line 134:
|$15||SO_FOLLOW_BOXES||Follows boxes, turns off Z-clipping, and puts actor somewhere if the actor is in the current room?
|$15||SO_FOLLOW_BOXES||Follows boxes, turns off Z-clipping, and puts actor somewhere if the actor is in the current room?
|-
|-
|$16||SO_ANIMATION_SPEED||Sets the animatino speed
|$16||SO_ANIMATION_SPEED||Sets the animation speed.
|-
|-
|$17||SO_SHADOW||Sets the shadow mode.
|$17||SO_SHADOW||Sets the shadow mode.
Line 339: Line 339:


===Operation===
===Operation===
Draws a solid box on the backbuffer from (left, top)-(right, bottom) in the given colour.
Draws a solid box on the backbuffer from (left, top) to (right, bottom) in the given colour.


The only part of auxopcode that is relevant are the parameter bits. The rest of the opcode is ignored.  
The only part of auxopcode that is relevant are the parameter bits. The rest of the opcode is ignored.  
Line 955: Line 955:
===Operation===
===Operation===
If the sub-opcode is 0, marks the end of an override section.<br>
If the sub-opcode is 0, marks the end of an override section.<br>
If the sub-opcode is not 0, marks the beginning of an override section. The instruction is immediately followed by a "jumpRelative" instruction.<br.
If the sub-opcode is not 0, marks the beginning of an override section. The instruction is immediately followed by a "jumpRelative" instruction.<br>
Overrides are used by cutscenes; if a cutscene is skipped (if the user presses the ESC key), the script will jump by the given target (offset from this instruction).
Overrides are used by cutscenes; if a cutscene is skipped (if the user presses the ESC key), the script will jump by the given target (offset from the beginOverride instruction).




Line 1,062: Line 1,062:


It looks like res values always have the high bit set, e.g. 0x01 becomes 0x81.
It looks like res values always have the high bit set, e.g. 0x01 becomes 0x81.


==putActor ($01)==
==putActor ($01)==
Line 1,679: Line 1,680:
|$03||SO_VERB_COLOR||Sets the colour of the verb.
|$03||SO_VERB_COLOR||Sets the colour of the verb.
|-
|-
|$04||SO_VERB_HICOLOR||Sets the high colour of the verb.
|$04||SO_VERB_HICOLOR||Sets the highlight colour of the verb.
|-
|-
|$05||SO_VERB_AT||Sets the verb's top-left co-ordinates.
|$05||SO_VERB_AT||Sets the verb's top-left co-ordinates.
125

edits