Difference between revisions of "Kyra/Opcodes"

From ScummVM :: Wiki
Jump to navigation Jump to search
(initial page)
 
m (remove outdated information)
 
(47 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page is a work-in-progress document listing vm opcodes of the Kyrandia games. Unless otherwise noted, these opcodes are based on Kyrandia 1.
This page is a reference of unused opcodes in Kyrandia 1.


===Opcodes===
==Unimplemented opcodes==
44 = push
{| border="1" width="100%"
45 = ? compare [sp], [xx] ?
|-
49 = ? copy [xx], [sp] ?
!|Opcode #
4C = add sp,xx  ; what would be dec sp,xx? maybe 4B or 4E?
!|Name
4E = execute command (see below)
!|Place of use
 
|-
===Commands===
|07
 
|o1_runNPCScript
01              3 arguments    ; output string std color? (unk, unk, stringid) (see also 34)
|not used
0B              4              ; walk to coordinates (unk, x,x,y) Cmd_Walk_Player_To_Point ?
|-
0D              4              ; remove item from screen? (removes note from desk)
|3E
0E              1              ; pick up item (ie mousecursor=item id)
|o1_loadSoundFile
29              4              ; play WSA file? (or just load it? coords?)
|not used
34              4              ; output string defined color? (color, unk, unk, stringid) (see also 01)
|-
35              0              ; restore text background?
|4B
36              0              ; disable mouse cursor
|o1_specificItemInInventory
37              0              ; enable mouse cursor
|not used
8B              2               ; set room name/status text (unk, stringID)
|-
91              0              ; copyprotection box pops up
|4D
93              0              ; Brandon turns to stone anim?
|o1_mobileCharacterInScene
|not used
|-
|4E
|o1_hideMobileCharacter
|not used? (many false positives, but since unhide isn't implemented I don't think that exists)
|-
|4F
|o1_unhideMobileCharacter
|not used
|-
|65
|o1_pageFlip
|not used
|-
|69
|o1_addItemToInventory
|not used
|-
|6A
|o1_intPrint
|not used
|-
|84
|o1_setPaletteRange
|not used
|-
|92
|o1_setPlayingLoop
|2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy protection, exit to DOS)
|-
|97
|o1_resetMaskRegion
|not used
|}

Latest revision as of 13:47, 1 April 2008

This page is a reference of unused opcodes in Kyrandia 1.

Unimplemented opcodes

Opcode # Name Place of use
07 o1_runNPCScript not used
3E o1_loadSoundFile not used
4B o1_specificItemInInventory not used
4D o1_mobileCharacterInScene not used
4E o1_hideMobileCharacter not used? (many false positives, but since unhide isn't implemented I don't think that exists)
4F o1_unhideMobileCharacter not used
65 o1_pageFlip not used
69 o1_addItemToInventory not used
6A o1_intPrint not used
84 o1_setPaletteRange not used
92 o1_setPlayingLoop 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy protection, exit to DOS)
97 o1_resetMaskRegion not used