Open main menu

Difference between revisions of "SCUMM/V5 opcodes"

702 bytes added ,  13:43, 17 May 2009
actorOps - differences in V3-4. stopObjectCode - explained when $00 is used.
m (Fix some v3, v4 variant info)
(actorOps - differences in V3-4. stopObjectCode - explained when $00 is used.)
Line 140: Line 140:


===Variants===
===Variants===
In SCUMM V3 and V4, sub-opcode $11 (SO_ACTOR_SCALE) only takes one parameter, so X and Y scaling is done at a 1:1 ratio.
In SCUMM V3 and V4, the opcode values are slightly different.
 
{| border="1" cellpadding="2" width=100%
|- style="background:whitesmoke"
|Opcode||Meaning||Description
|-
|$00||dummy
|-
|$01||SO_COSTUME
|-
|$04||SO_STEP_DIST
|-
|$05||SO_SOUND
|-
|$06||SO_WALK_ANIMATION
|-
|$07||SO_TALK_ANIMATION
|-
|$08||SO_STAND_ANIMATION
|-
|$09||SO_ANIMATION
|-
|$0A||SO_DEFAULT
|-
|$0B||SO_ELEVATION
|-
|$0C||SO_ANIMATION_DEFAULT
|-
|$0D||SO_PALETTE
|-
|$0E||SO_TALK_COLOR
|-
|$0F||SO_ACTOR_NAME
|-
|$10||SO_INIT_ANIMATION
|-
|$12||SO_ACTOR_WIDTH
|-
|$13||SO_ACTOR_SCALE
|-
|$14||SO_IGNORE_BOXES
|}
 
Also in V3 and V4, sub-opcode $13 (SO_ACTOR_SCALE) only takes one parameter, so X and Y scaling is done at a 1:1 ratio.




Line 1,549: Line 1,592:
Marks the calling script as dead, to be later pruned from the thread pool. Cleans up residual arrays. Should always be the last instruction in a script.
Marks the calling script as dead, to be later pruned from the thread pool. Cleans up residual arrays. Should always be the last instruction in a script.


$A0 is present in LSCR and SCRP files... when does $00 occur?
$A0 is used in local and global scripts (LSCR and SCRP blocks in the V5 resource files), $00 is used in room entry, room exit, and verb/object scripts (ENCD, EXCD, VERB blocks).




Line 1,762: Line 1,805:
===Operation===
===Operation===
Sets the actor to begin walking to the given object's position.
Sets the actor to begin walking to the given object's position.


=Variables=
=Variables=
126

edits