Difference between revisions of "Kyra/Opcodes"

From ScummVM :: Wiki
Jump to navigation Jump to search
(removed a bit kidding in here)
(unimplemented/unused functions)
Line 4: Line 4:


Hint: To disable an opcode/command pair in the compiled scripts, overwrite it with '''4C 00''' (add sp,00).
Hint: To disable an opcode/command pair in the compiled scripts, overwrite it with '''4C 00''' (add sp,00).
Unimplemented functions:
  cmd_pauseTicks stub 02 - 29 times used
  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 implemted I don't thin 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_fadeEntirePalette 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

Revision as of 00:08, 17 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_pauseTicks			stub 02 - 29 times used
 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 implemted I don't thin 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_fadeEntirePalette		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