|
|
(27 intermediate revisions by 2 users not shown) |
Line 8: |
Line 8: |
| |opcode||The instruction's opcode, with the appropriate bits set according to the parameters. | | |opcode||The instruction's opcode, with the appropriate bits set according to the parameters. |
| |- | | |- |
| |aux||An aux opcode that stores parameter bits and no other information. | | |aux||An aux opcode that stores parameter bits and no other information. (the base aux opcode is usually $01, but can differ for each instruction) |
| | |- |
| | |sub-opcode||An aux opcode that indicates a specific function to perform (e.g. the "wait" instruction has sub-opcodes to "wait for message", "wait for actor" etc), as well as storing parameter bits if necessary. |
| |- | | |- |
| |result||A result pointer. (A standard word pointer, always a LE word.) | | |result||A result pointer. (A standard word pointer, always a LE word.) |
| |- | | |- |
| |sub-opcode||An aux opcode that indicates a specific function to perform (e.g. the "wait" instruction has sub-opcodes to "wait for message", "wait for actor" etc), as well as storing parameter bits if necessary
| | |var||A variable pointer. Same as above, but is not written to. Because this is always a variable, the opcode is not affected like it would be with a normal parameter (described below). |
| |-
| |
| |var||A var pointer. Same as above, but is not written to. Because this is always a var, the opcode is not affected like with normal parameter/pointers. | |
| |- | | |- |
| |value[8]||An 8-bit constant (a byte). | | |value[8]||An 8-bit constant (a byte). |
Line 24: |
Line 24: |
| |value[p16]||A 16-bit parameter. This is always encoded as a word LE, and may be a pointer or constant. | | |value[p16]||A 16-bit parameter. This is always encoded as a word LE, and may be a pointer or constant. |
| |- | | |- |
| |value[v16]||A variable number of word LE parameters. These are encoded as a sequence of aux[8] param[p16]; param; aux contains the parameter bit to describe param. A byte of $FF terminates the sequence. (actually always shown as "value[v16]...") | | |value[v16]||A variable number of word LE parameters. These are encoded as a sequence of aux[8] param[p16]; param; aux contains the parameter bit to describe param (and is always $01, ignoring the parameter bits). A byte of $FF terminates the sequence. (actually always shown as "value[v16]...") |
| |- | | |- |
| |value[o]||The offset word for parameter value. This is only encoded if needed, but always at the position indicated. If not specified, the offset word occurs immediately after the parameter. | | |value[o]||The offset word for parameter value. This is only encoded if needed, but always at the position indicated. If not specified, the offset word occurs immediately after the parameter. |
Line 73: |
Line 73: |
| $0A | | $0A |
| $0B index[p8] value[p8] | | $0B index[p8] value[p8] |
| $0C colour[p8] | | $0C color[p8] |
| $0D name[c]... $00 | | $0D name[c]... $00 |
| $0E initframe[p8] | | $0E initframe[p8] |
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 114: |
Line 114: |
| |$0A||SO_ANIMATION_DEFAULT||Initializes the actor's animation frames.<br>Init frame = 1<br>Walk frame = 2<br>Stand frame = 3<br>Talk start frame = 4<br>Talk stop frame = 5 | | |$0A||SO_ANIMATION_DEFAULT||Initializes the actor's animation frames.<br>Init frame = 1<br>Walk frame = 2<br>Stand frame = 3<br>Talk start frame = 4<br>Talk stop frame = 5 |
| |- | | |- |
| |$0B||SO_PALETTE||Sets the colour at the given index to a new value (another entry in the colour lookup table/CLUT). Index must be between 0 and 31 (the number of colours in a costume). | | |$0B||SO_PALETTE||Sets the color at the given index to a new value (another entry in the color lookup table/CLUT). Index must be between 0 and 31 (the number of colors in a costume). |
| |- | | |- |
| |$0C||SO_TALK_COLOR||Sets the actor's talk colour. | | |$0C||SO_TALK_COLOR||Sets the actor's talk color. |
| |- | | |- |
| |$0D||SO_ACTOR_NAME||Sets the actor's name to the given null-terminated string. | | |$0D||SO_ACTOR_NAME||Sets the actor's name to the given null-terminated string. |
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 140: |
Line 140: |
|
| |
|
| ===Variants=== | | ===Variants=== |
| In SCUMM 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=50% |
| | |- style="background:whitesmoke" |
| | |Opcode||Meaning |
| | |- |
| | |$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. |
| | |
|
| |
|
| ==actorSetClass ($5D)== | | ==actorSetClass ($5D)== |
Line 217: |
Line 261: |
| $0C cursor[p8] | | $0C cursor[p8] |
| $0D charset[p8] | | $0D charset[p8] |
| $0E colours[v16]... | | $0E colors[v16]... |
|
| |
|
| ===Operation=== | | ===Operation=== |
Line 250: |
Line 294: |
| |$0D||SO_CHARSET_SET||Initializes the given character set. | | |$0D||SO_CHARSET_SET||Initializes the given character set. |
| |- | | |- |
| |$0E||SO_CHARSET_COLORS||Initializes the character set data & colours to the given arguments? Must have 16 arguments? | | |$0E||SO_CHARSET_COLORS||Initializes the character set data & colors to the given arguments? Must have 16 arguments? |
| |} | | |} |
|
| |
|
Line 256: |
Line 300: |
| In SCUMM V3, sub-opcode $0E performs a different function, to load/initialize a character set. | | In SCUMM V3, sub-opcode $0E performs a different function, to load/initialize a character set. |
|
| |
|
| opcode $0E arg1[p8] arg2[p8] | | opcode $0E arg1[p8] arg2[p8] |
| | |
|
| |
|
| ==cutScene ($40)== | | ==cutScene ($40)== |
Line 299: |
Line 344: |
|
| |
|
|
| |
|
| ==delayVariable ($2E)== | | ==delayVariable ($2B)== |
| one constant parameter | | one constant parameter |
|
| |
|
Line 334: |
Line 379: |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
| opcode left[p16] top[p16] auxopcode[8] right[p16] bottom[p16] colour[p8] | | opcode left[p16] top[p16] auxopcode[8] right[p16] bottom[p16] color[p8] |
|
| |
|
| ===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 color. |
|
| |
|
| 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. However, the aux opcode's initial value is $05. |
|
| |
|
|
| |
|
Line 350: |
Line 395: |
| $01 xpos[p16] ypos[p16] | | $01 xpos[p16] ypos[p16] |
| $02 state[p16] | | $02 state[p16] |
| $1F | | $FF |
|
| |
|
| ===Operation=== | | ===Operation=== |
Line 361: |
Line 406: |
| |$02||Set State||Sets the state of the object, adds it to the drawing queue. | | |$02||Set State||Sets the state of the object, adds it to the drawing queue. |
| |- | | |- |
| |$1F||Draw||Does not change the object's position (or state?), still adds it to the drawing queue. | | |$FF||Draw||Does not change the object's position (or state?), still adds it to the drawing queue. |
| |} | | |} |
|
| |
|
| ===Variants=== | | ===Variants=== |
| Small header games only support the parameters used with sub-opcode $01, e.g: | | Small header games (v3 and v4) only support the parameters used with sub-opcode $01, e.g: |
| opcode object[p16] xpos[p16] ypos[p16] | | opcode object[p16] xpos[p16] ypos[p16] |
| | Accordingly, they have three parameter bits, and hence more possible opcodes. |
|
| |
|
|
| |
|
Line 554: |
Line 600: |
| ===Operation=== | | ===Operation=== |
| Returns the actor's current X co-ordinate. | | Returns the actor's current X co-ordinate. |
| | |
| | ===Variants=== |
| | In Indy3, actor is only one byte. |
| | opcode result actor[p8] |
|
| |
|
|
| |
|
Line 563: |
Line 613: |
| ===Operation=== | | ===Operation=== |
| Returns the actor's current Y co-ordinate. | | Returns the actor's current Y co-ordinate. |
| | |
| | ===Variants=== |
| | In Indy3, actor is only one byte. |
| | opcode result actor[p8] |
|
| |
|
|
| |
|
Line 622: |
Line 676: |
|
| |
|
| ===Variants=== | | ===Variants=== |
| In small header games, the encoding becomes: | | In small header games, this opcode is used for the "ifState" instruction. |
| opcode object[p16] state[p8] target[16]
| |
| operation becomes
| |
| unless (getState(object) == state) goto target
| |
|
| |
|
|
| |
|
Line 668: |
Line 719: |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
| opcode value[p16] args[p16]... $FF target[16] | | opcode value[p16] args[v16]... target[16] |
|
| |
|
| ===Operation=== | | ===Operation=== |
Line 678: |
Line 729: |
|
| |
|
|
| |
|
| ==ifNotState ($2F)== | | ==ifNotState ($2F) (V3-4)== |
| | This opcode is not present in SCUMM V5. |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 684: |
Line 736: |
|
| |
|
| ===Operation=== | | ===Operation=== |
| unless (stateOf(object) != state) goto target | | unless (getState(object) != state) goto target |
|
| |
|
|
| |
|
| ==ifState ($4F)== | | ==ifState ($0F) (V3-4)== |
| | This opcode is not present in SCUMM V5. |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 693: |
Line 746: |
|
| |
|
| ===Operation=== | | ===Operation=== |
| unless (stateOf(object) == state) goto target | | unless (getState(object) == state) goto target |
|
| |
|
|
| |
|
Line 901: |
Line 954: |
|
| |
|
|
| |
|
| ==oldRoomEffect ($5C)== | | ==oldRoomEffect ($5C) (V3-4)== |
| | This opcode/instruction not present in SCUMM V5. |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 908: |
Line 962: |
| sub-opcodes: | | sub-opcodes: |
| $03 effect[p16] | | $03 effect[p16] |
| | $?? effect[p16] |
|
| |
|
| ===Operation=== | | ===Operation=== |
| Performs like sub-opcode SO_ROOM_FADE of the roomOps instruction (fade in if effect != 0, otherwise fade out). | | Performs like sub-opcode SO_ROOM_FADE of the roomOps instruction (fade in if effect != 0, otherwise fade out). |
| | |
| | This information may not be correct; descumm says if the sub-opcode is 3, to "set" the effect, but if the sub-opcode is anything else to fade in with the given effect. |
|
| |
|
| ===Variants=== | | ===Variants=== |
Line 938: |
Line 995: |
|
| |
|
| ===Operation=== | | ===Operation=== |
| If the sub-opcode is 0, marks the end of an override section. | | 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. | | 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 952: |
Line 1,009: |
|
| |
|
|
| |
|
| ==pickupObject ($25)== | | ==pickupObject ($25) (v5)== |
| | This instruction is only present in SCUMM V5. |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 964: |
Line 1,022: |
|
| |
|
|
| |
|
| ==pickupObjectOld ($50)== | | ==pickupObject ($50) (V3-4)== |
| | This opcode/instruction is not present in SCUMM V5. |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 980: |
Line 1,039: |
| sub-opcodes | | sub-opcodes |
| $00 xpos[p16] ypos[p16] | | $00 xpos[p16] ypos[p16] |
| $01 colour[p8] | | $01 color[p8] |
| $02 right[p16] | | $02 right[p16] |
| $03 width[p16] height[p16] | | $03 width[p16] height[p16] |
Line 987: |
Line 1,046: |
| $07 | | $07 |
| $08 offset[p16] delay[p16] | | $08 offset[p16] delay[p16] |
| $15 string[c]... $FF | | $0F string[c]... $FF |
|
| |
|
| ===Operation=== | | ===Operation=== |
Line 998: |
Line 1,057: |
| |$00||SO_AT||Sets the position of the text that follows. | | |$00||SO_AT||Sets the position of the text that follows. |
| |- | | |- |
| |$01||SO_COLOR||Sets the colour of the text. | | |$01||SO_COLOR||Sets the color of the text. |
| |- | | |- |
| |$02||SO_CLIPPED||Clips the text's right-hand side (for wrapping?). | | |$02||SO_CLIPPED||Clips the text's right-hand side (for wrapping?). |
Line 1,010: |
Line 1,069: |
| |$07||SO_OVERHEAD||Overhead-aligns the text. | | |$07||SO_OVERHEAD||Overhead-aligns the text. |
| |- | | |- |
| |$15||SO_TEXTSTRING||Prints the text string that follows. Terminated by $FF. | | |$0F||SO_TEXTSTRING||Prints the text string that follows. Terminated by $FF. |
| |} | | |} |
|
| |
|
Line 1,043: |
Line 1,102: |
|
| |
|
| What does this actually do? We may never know. | | What does this actually do? We may never know. |
| | |
| | It looks like res values always have the high bit set, e.g. 0x01 becomes 0x81. |
| | |
|
| |
|
| ==putActor ($01)== | | ==putActor ($01)== |
Line 1,078: |
Line 1,140: |
| sub-opcodes: | | sub-opcodes: |
| $01 resID[p8] | | $01 resID[p8] |
| ... $01 through $13 take the same arguments ... | | ... $01 through $10 take the same arguments ... |
| | $10 resID[p8] |
| | $11 |
| | $12 resID[p8] |
| $13 resID[p8] | | $13 resID[p8] |
| $14 room[p8] object[p16] | | $14 room[p8] object[p16] |
Line 1,160: |
Line 1,225: |
| $06 | | $06 |
| $07 scale1[p8] y1[p8] aux scale2[p8] y2[p8] aux slot[p8] | | $07 scale1[p8] y1[p8] aux scale2[p8] y2[p8] aux slot[p8] |
| $08 scale[p8] startcolour[p8] endcolour[p8] | | $08 scale[p8] startcolor[p8] endcolor[p8] |
| $09 loadflag[p8] loadslot[p8] | | $09 loadflag[p8] loadslot[p8] |
| $0A effect[p16] | | $0A effect[p16] |
| $0B redscale[p16] bluescale[p16] greenscale[p16] aux startcolour[p8] endcolour[p8] | | $0B redscale[p16] greenscale[p16] bluescale[p16] aux startcolor[p8] endcolor[p8] |
| $0C redscale[p16] bluescale[p16] greenscale[p16] aux startcolour[p8] endcolour[p8] | | $0C redscale[p16] greenscale[p16] bluescale[p16] aux startcolor[p8] endcolor[p8] |
| $0D resID[p8] filename[c]... $00 | | $0D resID[p8] filename[c]... $00 |
| $0E resID[p8] filename[c]... $00 | | $0E resID[p8] filename[c]... $00 |
Line 1,179: |
Line 1,244: |
| |$03||SO_ROOM_SCREEN||Initialises a screen. | | |$03||SO_ROOM_SCREEN||Initialises a screen. |
| |- | | |- |
| |$04||SO_ROOM_PALETTE||Adjusts the room's palette. | | |$04||SO_ROOM_PALETTE||Adjusts the room's palette. Aux opcode's initial value is $04. |
| |- | | |- |
| |$05||SO_ROOM_SHAKE_ON||Starts the room shaking. | | |$05||SO_ROOM_SHAKE_ON||Starts the room shaking. |
Line 1,193: |
Line 1,258: |
| |$0A||SO_ROOM_FADE||If effect is 0, fades in the room. Otherwise, fades out with the given effect (taken from the high byte of effect).<br>1 = iris effect<br>2 = box wipe (upper-left to bottom-right)<br>3 = box wipe (upper-right to bottem-left)<br>4 = inverse box wipe. | | |$0A||SO_ROOM_FADE||If effect is 0, fades in the room. Otherwise, fades out with the given effect (taken from the high byte of effect).<br>1 = iris effect<br>2 = box wipe (upper-left to bottom-right)<br>3 = box wipe (upper-right to bottem-left)<br>4 = inverse box wipe. |
| |- | | |- |
| |$0B||SO_RGB_ROOM_INTENSITY||Lightens/darkens the room's palette, with different scales for red, green and blue. | | |$0B||SO_RGB_ROOM_INTENSITY||Lightens/darkens the room's palette, with different scales for red, green and blue. Aux opcode's initial value is $0B. |
| |- | | |- |
| |$0C||SO_ROOM_SHADOW||Lightens/darkens the shadow palette, with different scales for red, green, and blue. | | |$0C||SO_ROOM_SHADOW||Lightens/darkens the shadow palette, with different scales for red, green, and blue. |
Line 1,203: |
Line 1,268: |
| |$0F||SO_ROOM_TRANSFORM||Manipulates palettes, strings? | | |$0F||SO_ROOM_TRANSFORM||Manipulates palettes, strings? |
| |- | | |- |
| |$10||SO_CYCLE_SPEED||Starts colour cycling with delay? colIndex is between 0 and 16 | | |$10||SO_CYCLE_SPEED||Starts color cycling with delay? colIndex is between 0 and 16 |
| |} | | |} |
|
| |
|
Line 1,210: |
Line 1,275: |
| opcode arg1[p16] arg2[p16] sub-opcode | | opcode arg1[p16] arg2[p16] sub-opcode |
|
| |
|
| Small header games include an extra sub-opcode, $02 (SO_ROOM_COLOR), which adjusts the room's palette: | | Small header games (V3 and V4) include an extra sub-opcode, $02 (SO_ROOM_COLOR), which adjusts the room's palette: |
| opcode $02 colour[p16] index[p16] | | opcode $02 color[p16] index[p16] |
| ... or for V3 games ... | | ... or for V3 games ... |
| opcode colour[p16] index[p16] $02 | | opcode color[p16] index[p16] $02 |
|
| |
|
| In small header games, sub-opcode $04 (SO_ROOM_PALETTE) affects the shadow palette, and only accepts two arguments, a "room colour slot" (palette entry? between 0 and 256) and an index: | | In small header games, sub-opcode $04 (SO_ROOM_PALETTE) affects the shadow palette, and only accepts two arguments, a "room color slot" (palette entry? between 0 and 256) and an index: |
| opcode $04 colour[p16] index[p16] | | opcode $04 color[p16] index[p16] |
| ... or for V3 games ... | | ... or for V3 games ... |
| opcode colour[p16] index[p16] $04 | | opcode color[p16] index[p16] $04 |
|
| |
|
| In FM-Towns games, sub-opcode $0A performs a different function and has its own sub-opcodes (some unknown and all not yet implemented in ScummVM): | | In FM-Towns games, sub-opcode $0A performs a different function and has its own sub-opcodes (some unknown and all not yet implemented in ScummVM): |
Line 1,257: |
Line 1,322: |
|
| |
|
|
| |
|
| ==saveRestoreVerbs ($AB)== | | ==saveLoadGame ($22) (V3-4)== |
| | This instruction is not present in SCUMM V5; its opcode is used for "getAnimCounter". |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
| opcode aux start[p8] end[p8] mode[p8] sub-opcode | | opcode result arg1[p8] |
|
| |
|
| sub-opcodes:
| | ===Operation=== |
| $01
| | The slot is determined by taking the lower 5 bits of arg1. The upper 3 bits determine an aux opcode, that performs an action described in the table below. |
| $02
| |
| $03
| |
|
| |
|
| ===Operation===
| |
| {| border="1" cellpadding="2" width=100% | | {| border="1" cellpadding="2" width=100% |
| |- style="background:whitesmoke" | | |- style="background:whitesmoke" |
| |Opcode||Meaning||Description | | |Opcode||Meaning||Description |
| |- | | |- |
| |$01||SO_SAVE_VERBS||For all verbs between start and end, sets the "saveid" to mode. | | |$00||Num. Available Slots||Returns the number of save slots available. |
| | |- |
| | |$20||Drive||In V3, returns the type of drive (0 = ???, 1 = A or B [floppy], 2 = hard drive).<br>In V4, sets the current drive (returns 1). |
| | |- |
| | |$40||Load Game||Loads a game from the given slot (returns 3 if successful, 5 otherwise). |
| |- | | |- |
| |$02||SO_RESTORE_VERBS||For all verbs between start and end and matching mode, kills any existing verb, sets the saveid to 0 and generally inits the verb. | | |$80||Save Game||Saves a game to the given slot (returns 0 if successful, 2 otherwise). |
| |- | | |- |
| |$03||SO_DELETE_VERBS||For all verbs between start and end and matching mode, kills any existing verb. | | |$C0||Test For Game||Tests if a save exists in the given slot (returns 6 if so, 7 otherwise). |
| |} | | |} |
|
| |
|
|
| |
|
| ==setCameraAt ($32)== | | ==saveLoadVars ($A7) (V3-4)== |
| | This instruction is not present in SCUMM V5; its opcode is used as a dummy. |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
| opcode x[p16] | | opcode sub-opcode |
|
| |
|
| ===Operation===
| | sub-opcodes: |
| Sets the camera's x position.
| | $01 sub-sub-opcode... $00 |
| | $02 sub-sub-opcode... $00 |
|
| |
|
| | $01 (save) sub-sub-opcodes: |
| | $01 resultA resultB |
| | $02 arg1[p8] arg2[p8] |
| | $03 filename[c]... $00 |
| | $04 |
| | $1F |
|
| |
|
| ==setObjectName ($54)==
| | $02 (load) sub-sub-opcodes: |
| | | $01 resultA resultB |
| ===Encoding===
| | $02 arg1[p8] arg2[p8] |
| opcode object[p16] name[c]... $00 | | $03 filename[c]... $00 |
| | $04 |
| | $1F |
|
| |
|
| ===Operation=== | | ===Operation=== |
| Sets the given object's name.
| | {| border="1" cellpadding="2" width=100% |
| | |- style="background:whitesmoke" |
| | |Opcode||Meaning||Description |
| | |- |
| | |$01||SO_SAVE_VARS||Saves variables (for saving games?) |
| | |- |
| | |$02?||SO_RESTORE_VERBS||Loads variables (for saving games?)<br>(I have not verified that restore vars is $02, as the ScummVM code only compares to $01.) |
| | |} |
|
| |
|
| | {| border="1" cellpadding="2" width=100% |
| | |- style="background:whitesmoke" |
| | |Opcode||Meaning||Description |
| | |- |
| | |$01||Write Vars||Writes a range of variables. |
| | |- |
| | |$02||Write Strings||Writes a range of string variables. |
| | |- |
| | |$03||Open File||Opens a file for writing. |
| | |- |
| | |$04||Dummy||Does nothing. |
| | |- |
| | |$1F||Close File||Closes the last opened file. |
| | |} |
|
| |
|
| ==setOwnerOf ($29)== | | {| border="1" cellpadding="2" width=100% |
| | |- style="background:whitesmoke" |
| | |Opcode||Meaning||Description |
| | |- |
| | |$01||Read Vars||Reads a range of variables. |
| | |- |
| | |$02||Read Strings||Reads a range of string variables. |
| | |- |
| | |$03||Open File||Opens a file for reading. |
| | |- |
| | |$04||Dummy||Does nothing. |
| | |- |
| | |$1F||Close File||Closes the last opened file. |
| | |} |
|
| |
|
| ===Encoding=== | | |
| opcode object[p16] owner[p8] | | ==saveRestoreVerbs ($AB)== |
| | |
| | ===Encoding=== |
| | opcode sub-opcode |
| | |
| | sub-opcodes: |
| | $01 start[p8] end[p8] mode[p8] |
| | $02 start[p8] end[p8] mode[p8] |
| | $03 start[p8] end[p8] mode[p8] |
|
| |
|
| ===Operation=== | | ===Operation=== |
| Sets the owner of the object.
| | {| border="1" cellpadding="2" width=100% |
| | |- style="background:whitesmoke" |
| | |Opcode||Meaning||Description |
| | |- |
| | |$01||SO_SAVE_VERBS||For all verbs between start and end, sets the "saveid" to mode. |
| | |- |
| | |$02||SO_RESTORE_VERBS||For all verbs between start and end and matching mode, kills any existing verb, sets the saveid to 0 and generally inits the verb. |
| | |- |
| | |$03||SO_DELETE_VERBS||For all verbs between start and end and matching mode, kills any existing verb. |
| | |} |
|
| |
|
|
| |
|
| ==setState ($07)== | | ==setCameraAt ($32)== |
| | |
| | ===Encoding=== |
| | opcode x[p16] |
| | |
| | ===Operation=== |
| | Sets the camera's x position. |
| | |
| | |
| | ==setObjectName ($54)== |
| | |
| | ===Encoding=== |
| | opcode object[p16] name[c]... $00 |
| | |
| | ===Operation=== |
| | Sets the given object's name. |
| | |
| | |
| | ==setOwnerOf ($29)== |
| | |
| | ===Encoding=== |
| | opcode object[p16] owner[p8] |
| | |
| | ===Operation=== |
| | Sets the owner of the object. |
| | |
| | |
| | ==setState ($07)== |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 1,346: |
Line 1,501: |
|
| |
|
| ===Variants=== | | ===Variants=== |
| In SCUMM V3 (small header) games, this opcode is used for the WaitForSentence instruction. | | In SCUMM V3 and V4 (small header) games, this opcode is used for the WaitForSentence instruction. |
|
| |
|
|
| |
|
| ==startMusic ($01)== | | ==startMusic ($02)== |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 1,429: |
Line 1,584: |
|
| |
|
|
| |
|
| ==stopObjectCode ($00)== | | ==stopObjectCode ($A0 or $00)== |
|
| |
|
| ===Encoding=== | | ===Encoding=== |
Line 1,435: |
Line 1,590: |
|
| |
|
| ===Operation=== | | ===Operation=== |
| Marks the calling script as dead, to be later pruned from the thread pool. Cleans up residual arrays. | | 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 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,489: |
Line 1,646: |
| |$02||Copy String||Creates a duplicate of the string at resource slot srcID into destID. The old string at destID is lost. | | |$02||Copy String||Creates a duplicate of the string at resource slot srcID into destID. The old string at destID is lost. |
| |- | | |- |
| |$03||Write Character||Writes char at the given index (offset) of the string resource located at slot stringID. Out of bounds accesses cause undefined behaviour. | | |$03||Write Character||Writes char at the given index (offset) of the string resource located at slot stringID. Out of bounds accesses cause undefined behavior. |
| |- | | |- |
| |$04||Read Character||Reads a byte (character) at the given index (offset) of the string resource located at slot stringID, and writes it to result. Out of bounds accesses cause undefined behaviour. | | |$04||Read Character||Reads a byte (character) at the given index (offset) of the string resource located at slot stringID, and writes it to result. Out of bounds accesses cause undefined behavior. |
| |- | | |- |
| |$05||New String||Allocates or frees a string (Array), located at resource slot stringID. The string is initialised to size; if size is zero, the string is freed. | | |$05||New String||Allocates or frees a string (Array), located at resource slot stringID. The string is initialised to size; if size is zero, the string is freed. |
Line 1,539: |
Line 1,696: |
| $01 object[p16] | | $01 object[p16] |
| $02 name[c]... $00 | | $02 name[c]... $00 |
| $03 colour[p8] | | $03 color[p8] |
| $04 hicolour[p8] | | $04 hicolor[p8] |
| $05 left[p16] top[p16] | | $05 left[p16] top[p16] |
| $06 | | $06 |
Line 1,546: |
Line 1,703: |
| $08 | | $08 |
| $09 | | $09 |
| $10 colour[p8] | | $10 color[p8] |
| $11 | | $11 |
| $12 key[p8] | | $12 key[p8] |
Line 1,552: |
Line 1,709: |
| $14 stringID[p16] | | $14 stringID[p16] |
| $16 object[p16] room[p8] | | $16 object[p16] room[p8] |
| $17 colour[p8] | | $17 color[p8] |
|
| |
|
| ===Operation=== | | ===Operation=== |
Line 1,563: |
Line 1,720: |
| |$02||SO_VERB_NAME||Assigns the in-line name to the verb slot. | | |$02||SO_VERB_NAME||Assigns the in-line name to the verb slot. |
| |- | | |- |
| |$03||SO_VERB_COLOR||Sets the colour of the verb. | | |$03||SO_VERB_COLOR||Sets the color of the verb. |
| |- | | |- |
| |$04||SO_VERB_HICOLOR||Sets the high colour of the verb. | | |$04||SO_VERB_HICOLOR||Sets the highlight color 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. |
Line 1,577: |
Line 1,734: |
| |$09||SO_VERB_NEW||Creates a verb in the slot for the given verbID. If the slot is 0 (verb doesn't already exist), will add it to the next unusued slot; if this exceeds the global maximum number of verbs an error will be raised. | | |$09||SO_VERB_NEW||Creates a verb in the slot for the given verbID. If the slot is 0 (verb doesn't already exist), will add it to the next unusued slot; if this exceeds the global maximum number of verbs an error will be raised. |
| |- | | |- |
| |$10||SO_VERB_DIMCOLOR||Sets the dim colour of the verb. | | |$10||SO_VERB_DIMCOLOR||Sets the dim color of the verb. |
| |- | | |- |
| |$11||SO_VERB_DIM||Dims this verb. | | |$11||SO_VERB_DIM||Dims this verb. |
Line 1,589: |
Line 1,746: |
| |$16||Assign Object||Assigns an object from the given room to the verb (if the object's image index is not already assigned to the given object). | | |$16||Assign Object||Assigns an object from the given room to the verb (if the object's image index is not already assigned to the given object). |
| |- | | |- |
| |$17||Set Back Colour||Sets the background colour of the verb? | | |$17||Set Back Color||Sets the background color of the verb? |
| |} | | |} |
|
| |
|
Line 1,721: |
Line 1,878: |
| VAR_GAME_LOADED = 71; | | VAR_GAME_LOADED = 71; |
| VAR_NEW_ROOM = 72; | | VAR_NEW_ROOM = 72; |
| | |
|
| |
|
| =Table of Parameters= | | =Table of Parameters= |
| | | Please see the wiki page [[SCUMM/V5_opcodes/Table]] for a concise rendition of the above information (with a few omissions dues to the complexity of the instructions). |
| This table shows a summary of the opcodes and their parameters in a concise fashion. Further information that could be added: the opcode values, equivalent output from descumm.
| |
| | |
| Argument types:
| |
| * V = variable
| |
| * B = byte constant
| |
| * W = word constant
| |
| * P8 = variable or byte
| |
| * P16 = variable or word
| |
| * L = list
| |
| * J = jump (used by almost all boolean expressions, comparisons) (equivalent to W)
| |
| * D = delay; 24-bit constant (only used by delay instruction, strangely enough)
| |
| * A0 = ASCII string, null-terminated
| |
| * A1 = ASCII string, $FF terminated
| |
| * FF = the hex value $FF, used for terminating some lists, strings etc.
| |
| * SO = sub-opcode, variants listed underneath as "opcode$sub-opcode"
| |
| * NS = non-standard encoding that cannot be sufficiently expressed in this table
| |
| * + = one or more of the preceding argument (parameter bits usually don't matter)
| |
| * None = does not take that argument argument
| |
| | |
| | |
| {| border="1" style="text-align:center" width=100% cellpadding=2
| |
| |- style="background:whitesmoke"
| |
| |Instruction||Returns a Value||Arg 1||Arg 2||Arg 3
| |
| |-
| |
| |align="left" |actorFollowCamera
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorFromPos
| |
| |True
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |SO+
| |
| |FF
| |
| |-
| |
| |align="left" |actorOps$00
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |P8
| |
| |-
| |
| |align="left" |actorOps$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$09
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$0A
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$0B
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$0C
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$0D
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |A0
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$0E
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$10
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$11
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$12
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$13
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$14
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$15
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorOps$16
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |actorSetClass
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |L
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |add
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |and
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |animateActor
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |breakHere
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |chainScript
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |L
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$0A
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$0B
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |P8
| |
| |-
| |
| |align="left" |cursorCommand$0C
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$0D
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cursorCommand$0E
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |L
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |cutscene
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |L
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |debug
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |decrement
| |
| |True
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |delay
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |D
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |delayVariable
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |divide
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |doSentence
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |P16
| |
| |-
| |
| |align="left" |drawBox
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |NS
| |
| |-
| |
| |align="left" |drawObject
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |drawObject$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |drawObject$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |drawObject$1F
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |dummy
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |endCutscene
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |equalZero
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |J
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression
| |
| |True
| |
| |SO+
| |
| |FF
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |expression$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |NS
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |faceActor
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |findInventory
| |
| |True
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |findObject
| |
| |True
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |freezeScripts
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorCostume
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorElevation
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorFacing
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorMoving
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorRoom
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorScale
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorWalkBox
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorWidth
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorX
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getActorY
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getAnimCounter
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getClosestObjActor
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getDist
| |
| |True
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getInventoryCount
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getObjectOwner
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getObjectState
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getRandomNumberr
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getScriptRunning
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getStringWidth
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |getVerbEntryPoint
| |
| |True
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |ifClassOfIs
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |NS
| |
| |J
| |
| |-
| |
| |align="left" |ifNotState
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |J
| |
| |-
| |
| |align="left" |ifState
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |J
| |
| |-
| |
| |align="left" |increment
| |
| |True
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |isActorInBox
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |J
| |
| |-
| |
| |align="left" |isEqual
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |P16
| |
| |J
| |
| |-
| |
| |align="left" |isGreater
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |P16
| |
| |J
| |
| |-
| |
| |align="left" |isGreaterEqual
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |P16
| |
| |J
| |
| |-
| |
| |align="left" |isLess
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |P16
| |
| |J
| |
| |-
| |
| |align="left" |isNotEqual
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |P16
| |
| |J
| |
| |-
| |
| |align="left" |isSoundRunning
| |
| |True
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |jumpRelative
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |J
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |lessOrEqual
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |P16
| |
| |J
| |
| |-
| |
| |align="left" |lights
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |B
| |
| |B
| |
| |-
| |
| |align="left" |loadRoom
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |loadRoomWithEgo
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |NS
| |
| |-
| |
| |align="left" |matrixOp
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |matrixOp$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |matrixOp$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |matrixOp$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |matrixOp$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |move
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |multiply
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |notEqualZero
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |V
| |
| |J
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |oldRoomEffect
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |oldRoomEffect$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |or
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |override
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |override$00
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |override$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |NS
| |
| |J
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |panCameraTo
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |pickupObject
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |pickupObjectOld
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$00
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |print$15
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |A1
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$00
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |printEgo$15
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |A1
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |pseudoRoom
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |B
| |
| |NS
| |
| |NS
| |
| |-
| |
| |align="left" |putActor
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |P16
| |
| |-
| |
| |align="left" |putActorAtObject
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |putActorInRoom
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourceRoutines
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$09
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$0A
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$0B
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$0C
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$0D
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$0E
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$0F
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$10
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$11
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$12
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$13
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |resourcesRoutines$14
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |P8
| |
| |-
| |
| |align="left" |roomOps$09
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$0A
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |roomOps$0B
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$0C
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$0D
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |NS
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$0E
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |NS
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$0F
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |NS
| |
| |NS
| |
| |-
| |
| |align="left" |roomOps$10
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |saveRestoreVerbs
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |NS
| |
| |NS
| |
| |NS
| |
| |-
| |
| |align="left" |saveRestoreVerbs$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |saveRestoreVerbs$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |saveRestoreVerbs$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |setCameraAt
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |setObjectName
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |A
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |setOwnerOf
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |setState
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |setVarRange
| |
| |True
| |
| |B
| |
| |NS
| |
| |NS
| |
| |-
| |
| |align="left" |soundKludge
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |L
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |startMusic
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |startObject
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |L
| |
| |-
| |
| |align="left" |startScript
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |L
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |startSound
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stopMusic
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stopObjectCode
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stopObjectScript
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stopScript
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stopSound
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stringOps
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stringOps$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |A0
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stringOps$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stringOps$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |B
| |
| |-
| |
| |align="left" |stringOps$04
| |
| |True
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |stringOps$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |subtract
| |
| |True
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |systemOps
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |systemOps$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |systemOps$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |systemOps$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |SO+
| |
| |FF
| |
| |-
| |
| |align="left" |verbOps$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |A0
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$05
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$06
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$07
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$08
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$09
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$10
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$11
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$12
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$13
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$14
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$16
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P16
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |verbOps$17
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |wait
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |SO
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |wait$01
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |wait$02
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |wait$03
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |wait$04
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |-
| |
| |align="left" |walkActorTo
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |P16
| |
| |-
| |
| |align="left" |walkActorToActor
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P8
| |
| |B
| |
| |-
| |
| |align="left" |walkActorToObject
| |
| |style="color:silver; background:whitesmoke" |False
| |
| |P8
| |
| |P16
| |
| |style="color:silver; background:whitesmoke" |None
| |
| |}
| |