Difference between revisions of "Kyra/Opcodes"

From ScummVM :: Wiki
Jump to navigation Jump to search
m
m (remove outdated information)
 
(44 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. Cyx created the list of Cmd functions, clem and Lordhoto will try to fill in parameters and usage notes.
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