Difference between revisions of "Kyra/Opcodes"

From ScummVM :: Wiki
Jump to navigation Jump to search
(updated list of unimplemented/unused opcodes)
m (remove outdated information)
 
(5 intermediate revisions by 3 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. If you have any additions, contact the  ScummVM team on IRC.
+
This page is a reference of unused opcodes in Kyrandia 1.
  
It is assumed that the opcodes stay the same during all revisions of Kyrandia. A quick comparison between English 1.0 and English 1.3 seems to support this. Generally the list is created by analysis of 1.0 script.
+
==Unimplemented opcodes==
 
+
{| border="1" width="100%"
Hint: To disable an opcode/command pair in the compiled scripts, overwrite it with '''4C 00''' (add sp,00).
+
|-
 
+
!|Opcode #
 
+
!|Name
Unimplemented functions:
+
!|Place of use
  cmd_runNPCScript              stub 07 - not used
+
|-
  cmd_loadSoundFile            stub 3E - not used
+
|07
  cmd_specificItemInInventory  stub 4B - not used
+
|o1_runNPCScript
  cmd_specificItemInInventory  stub 4B - not used
+
|not used
  cmd_mobileCharacterInScene    stub 4D - not used
+
|-
  cmd_hideMobileCharacter      stub 4E - not used? (many false positives, but since  
+
|3E
                                            unhide isn't implemented I don't think that exists)
+
|o1_loadSoundFile
  cmd_unhideMobileCharacter    stub 4F - not used
+
|not used
  cmd_pageFlip                  stub 65 - not used
+
|-
  cmd_addItemToInventory        stub 69 - not used
+
|4B
  cmd_intPrint                  stub 6A - not used
+
|o1_specificItemInInventory
  cmd_shakeScreen              stub 6B - 2 times used (only used in DEAD.EMC)
+
|not used
  cmd_fadeEntirePalettes        stub 7E - 2 times used (BONKBG.EMC, POTION.EMC)
+
|-
  cmd_setPaletteRange          stub 84 - not used
+
|4D
  cmd_setPlayingLoop            stub 92 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy
+
|o1_mobileCharacterInScene
                                            protection, exit do DOS )
+
|not used
  cmd_resetMaskRegion          stub 97 - 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 14: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