Difference between revisions of "Kyra/Opcodes"

From ScummVM :: Wiki
Jump to navigation Jump to search
m (rmv implemented function)
m (Formatting)
Line 7: Line 7:
  
 
Unimplemented functions:
 
Unimplemented functions:
   cmd_runNPCScript stub 07 - not used
+
   cmd_runNPCScript             stub 07 - not used
   cmd_loadSoundFile stub 3E - not used
+
   cmd_loadSoundFile             stub 3E - not used
   cmd_specificItemInInventory stub 4B - not used
+
   cmd_specificItemInInventory   stub 4B - not used
   cmd_specificItemInInventory stub 4B - not used
+
   cmd_specificItemInInventory   stub 4B - not used
   cmd_mobileCharacterInScene stub 4D - not used
+
   cmd_mobileCharacterInScene   stub 4D - not used
   cmd_hideMobileCharacter stub 4E - not used? (many false positives, but since unhide isn't implemented I don't think that exists)
+
   cmd_hideMobileCharacter       stub 4E - not used? (many false positives, but since  
   cmd_unhideMobileCharacter stub 4F - not used
+
                                            unhide isn't implemented I don't think that exists)
   cmd_pageFlip stub 65 - not used
+
   cmd_unhideMobileCharacter     stub 4F - not used
   cmd_addItemToInventory stub 69 - not used
+
   cmd_pageFlip                 stub 65 - not used
   cmd_intPrint stub 6A - not used
+
   cmd_addItemToInventory       stub 69 - not used
   cmd_shakeScreen stub 6B - 2 times used (only used in DEAD.EMC)
+
   cmd_intPrint                 stub 6A - not used
   cmd_fadeEntirePalette stub 7E - 2 times used (BONKBG.EMC, POTION.EMC)
+
   cmd_shakeScreen               stub 6B - 2 times used (only used in DEAD.EMC)
   cmd_setPaletteRange stub 84 - not used
+
   cmd_fadeEntirePalettes        stub 7E - 2 times used (BONKBG.EMC, POTION.EMC)
   cmd_setPlayingLoop stub 92 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy protection, exit do DOS )
+
   cmd_setPaletteRange           stub 84 - not used
   cmd_brandonToStoneSequence stub 93 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy protection)
+
   cmd_setPlayingLoop           stub 92 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy
   cmd_pauseMusicSeconds stub 96 - 12 times used (broken,emcav,enter,foresta,gemcut,grave,healer,landing,potion,sorrow,spell, wise)
+
                                            protection, exit do DOS )
   cmd_resetMaskRegion stub 97 - not used
+
   cmd_brandonToStoneSequence   stub 93 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy
 +
                                            protection)
 +
   cmd_pauseMusicSeconds         stub 96 - 12 times used (broken, emcav, enter, foresta, gemcut, grave,
 +
                                            healer, landing, potion, sorrow, spell, wise)
 +
   cmd_resetMaskRegion           stub 97 - not used

Revision as of 02:03, 18 January 2006

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. 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.

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.

Hint: To disable an opcode/command pair in the compiled scripts, overwrite it with 4C 00 (add sp,00).


Unimplemented functions:

 cmd_runNPCScript              stub 07 - not used
 cmd_loadSoundFile             stub 3E - not used
 cmd_specificItemInInventory   stub 4B - not used
 cmd_specificItemInInventory   stub 4B - not used
 cmd_mobileCharacterInScene    stub 4D - not used
 cmd_hideMobileCharacter       stub 4E - not used? (many false positives, but since 
                                           unhide isn't implemented I don't think that exists)
 cmd_unhideMobileCharacter     stub 4F - not used
 cmd_pageFlip                  stub 65 - not used
 cmd_addItemToInventory        stub 69 - not used
 cmd_intPrint                  stub 6A - not used
 cmd_shakeScreen               stub 6B - 2 times used (only used in DEAD.EMC)
 cmd_fadeEntirePalettes        stub 7E - 2 times used (BONKBG.EMC, POTION.EMC)
 cmd_setPaletteRange           stub 84 - not used
 cmd_setPlayingLoop            stub 92 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy
                                            protection, exit do DOS )
 cmd_brandonToStoneSequence    stub 93 - 2 times used (GRAVE.EMC, CAVEB.EMC - only used on failing copy
                                            protection)
 cmd_pauseMusicSeconds         stub 96 - 12 times used (broken, emcav, enter, foresta, gemcut, grave,
                                            healer, landing, potion, sorrow, spell, wise)
 cmd_resetMaskRegion           stub 97 - not used