Difference between revisions of "Kyra/Opcodes"

From ScummVM :: Wiki
Jump to navigation Jump to search
m
m (remove outdated information)
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page is a work-in-progress document listing vm opcodes of the [[kyra|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==
<code>
{| border="1" width="100%"
  44 = push
|-
  45 = ? compare [sp], [xx] ?
!|Opcode #
  49 = ? copy [xx], [sp] ?
!|Name
  4C = add sp,xx  ; what would be dec sp,xx? maybe 4B or 4E?
!|Place of use
  4E = execute command (see below)
|-
</code>
|07
 
|o1_runNPCScript
===Commands===
|not used
<code>
|-
  01              3 arguments    ; output string std color? (unk, unk, stringid) (see also 34)
|3E
  0B              4              ; walk to coordinates (unk, x,x,y) Cmd_Walk_Player_To_Point ?
|o1_loadSoundFile
  0D              4              ; remove item from screen? (removes note from desk)
|not used
  0E              1              ; pick up item (ie mousecursor=item id)
|-
  29              4              ; play WSA file? (or just load it? coords?)
|4B
  34              4              ; output string defined color? (color, unk, unk, stringid) (see also 01)
|o1_specificItemInInventory
  35              0              ; restore text background?
|not used
  36              0              ; disable mouse cursor
|-
  37              0              ; enable mouse cursor
|4D
  8B              2               ; set room name/status text (unk, stringID)
|o1_mobileCharacterInScene
  91              0              ; copyprotection box pops up
|not used
  93              0              ; Brandon turns to stone anim?
|-
</code>
|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