shithub: pokecrystal

Download patch

ref: 3f536b62a71a8cc45bb6ec8d59f64565831f57dd
parent: 427c822910ac429a89518550bdf7b00d8e60a9a9
parent: 475ec418dda19164125a3994e3999d7d328e013a
author: Bryan Bishop <[email protected]>
date: Tue Apr 17 18:44:22 EDT 2012

Merge pull request #3 from cnelsonsic/master

Move some pksv stuff back into crystal.py

--- a/extras/chars.py
+++ b/extras/chars.py
@@ -1,4 +1,5 @@
 # -*- coding: utf-8 -*-
+from copy import copy
 #this is straight out of ../textpre.py because i'm lazy
 #see jap_chars for overrides if you are in japanese mode?
 chars = {
--- a/extras/crystal.py
+++ b/extras/crystal.py
@@ -1137,7 +1137,7 @@
     else: raise Exception, "translate_command_byte needs either a crystal or gold command"
 
 from pksv import pksv_gs, pksv_crystal, pksv_crystal_unknowns,\
-                 pksv_crystal_more, pksv_crystal_more_enders
+                 pksv_crystal_more_enders
 
 class SingleByteParam():
     """or SingleByte(CommandParam)"""
@@ -1586,6 +1586,185 @@
         return True
 
 
+#byte: [name, [param1 name, param1 type], [param2 name, param2 type], ...]
+#0x9E: ["verbosegiveitem", ["item", ItemLabelByte], ["quantity", SingleByteParam]],
+pksv_crystal_more = {
+    0x00: ["2call", ["pointer", ScriptPointerLabelParam]],
+    0x01: ["3call", ["pointer", ScriptPointerLabelBeforeBank]],
+    0x02: ["2ptcall", ["pointer", PointerLabelToScriptPointer]],
+    0x03: ["2jump", ["pointer", ScriptPointerLabelParam]],
+    0x04: ["3jump", ["pointer", ScriptPointerLabelBeforeBank]],
+    0x05: ["2ptjump", ["pointer", PointerLabelToScriptPointer]],
+    0x06: ["if equal", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
+    0x07: ["if not equal", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
+    0x08: ["if false", ["pointer", ScriptPointerLabelParam]],
+    0x09: ["if true", ["pointer", ScriptPointerLabelParam]],
+    0x0A: ["if less than", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
+    0x0B: ["if greater than", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
+    0x0C: ["jumpstd", ["predefined_script", MultiByteParam]],
+    0x0D: ["callstd", ["predefined_script", MultiByteParam]],
+    0x0E: ["3callasm", ["asm", AsmPointerParam]],
+    0x0F: ["special", ["predefined_script", MultiByteParam]],
+    0x10: ["2ptcallasm", ["asm", PointerToAsmPointerParam]],
+    #should map_group/map_id be dealt with in some special way in the asm?
+    0x11: ["checkmaptriggers", ["map_group", SingleByteParam], ["map_id", SingleByteParam]],
+    0x12: ["domaptrigger", ["map_group", MapGroupParam], ["map_id", MapIdParam], ["trigger_id", SingleByteParam]],
+    0x13: ["checktriggers"],
+    0x14: ["dotrigger", ["trigger_id", SingleByteParam]],
+    0x15: ["writebyte", ["value", SingleByteParam]],
+    0x16: ["addvar", ["value", SingleByteParam]],
+    0x17: ["random", ["input", SingleByteParam]],
+    0x18: ["checkver"],
+    0x19: ["copybytetovar", ["address", RAMAddressParam]],
+    0x1A: ["copyvartobyte", ["address", RAMAddressParam]],
+    0x1B: ["loadvar", ["address", RAMAddressParam], ["value", SingleByteParam]],
+    0x1C: ["checkcode", ["variable_id", SingleByteParam]],
+    0x1D: ["writevarcode", ["variable_id", SingleByteParam]],
+    0x1E: ["writecode", ["variable_id", SingleByteParam], ["value", SingleByteParam]],
+    0x1F: ["giveitem", ["item", ItemLabelByte], ["quantity", SingleByteParam]],
+    0x20: ["takeitem", ["item", ItemLabelByte], ["quantity", SingleByteParam]],
+    0x21: ["checkitem", ["item", ItemLabelByte]],
+    0x22: ["givemoney", ["account", SingleByteParam], ["money", MoneyByteParam]],
+    0x23: ["takemoney", ["account", SingleByteParam], ["money", MoneyByteParam]],
+    0x24: ["checkmonkey", ["account", SingleByteParam], ["money", MoneyByteParam]],
+    0x25: ["givecoins", ["coins", CoinByteParam]],
+    0x26: ["takecoins", ["coins", CoinByteParam]],
+    0x27: ["checkcoins", ["coins", CoinByteParam]],
+    #0x28-0x2A not from pksv
+    0x28: ["addcellnum", ["person", SingleByteParam]],
+    0x29: ["delcellnum", ["person", SingleByteParam]],
+    0x2A: ["checkcellnum", ["person", SingleByteParam]],
+    #back on track...
+    0x2B: ["checktime", ["time", SingleByteParam]],
+    0x2C: ["checkpoke", ["pkmn", PokemonParam]],
+#0x2D: ["givepoke", ], .... see GivePoke class
+    0x2E: ["giveegg", ["pkmn", PokemonParam], ["level", DecimalParam]],
+    0x2F: ["givepokeitem", ["pointer", PointerParamToItemAndLetter]],
+    0x30: ["checkpokeitem", ["pointer", PointerParamToItemAndLetter]], #not pksv
+    0x31: ["checkbit1", ["bit_number", MultiByteParam]],
+    0x32: ["clearbit1", ["bit_number", MultiByteParam]],
+    0x33: ["setbit1", ["bit_number", MultiByteParam]],
+    0x34: ["checkbit2", ["bit_number", MultiByteParam]],
+    0x35: ["clearbit2", ["bit_number", MultiByteParam]],
+    0x36: ["setbit2", ["bit_number", MultiByteParam]],
+    0x37: ["wildoff"],
+    0x38: ["wildon"],
+    0x39: ["xycompare", ["pointer", MultiByteParam]],
+    0x3A: ["warpmod", ["warp_id", SingleByteParam], ["map_group", MapGroupParam], ["map_id", MapIdParam]],
+    0x3B: ["blackoutmod", ["map_group", MapGroupParam], ["map_id", MapIdParam]],
+    0x3C: ["warp", ["map_group", MapGroupParam], ["map_id", MapIdParam], ["x", SingleByteParam], ["y", SingleByteParam]],
+    0x3D: ["readmoney", ["account", SingleByteParam], ["memory", SingleByteParam]], #not pksv
+    0x3E: ["readcoins", ["memory", SingleByteParam]], #not pksv
+    0x3F: ["RAM2MEM", ["memory", SingleByteParam]], #not pksv
+    0x40: ["pokenamemem", ["pokemon", PokemonParam], ["memory", SingleByteParam]], #not pksv
+    0x41: ["itemtotext", ["item", ItemLabelByte], ["memory", SingleByteParam]],
+    0x42: ["mapnametotext", ["memory", SingleByteParam]], #not pksv
+    0x43: ["trainertotext", ["trainer_id", TrainerIdParam], ["trainer_group", TrainerGroupParam], ["memory", SingleByteParam]],
+    0x44: ["stringtotext", ["text_pointer", RawTextPointerLabelParam], ["memory", SingleByteParam]],
+    0x45: ["itemnotify"],
+    0x46: ["pocketisfull"],
+    0x47: ["loadfont"],
+    0x48: ["refreshscreen", ["dummy", SingleByteParam]],
+    0x49: ["loadmovesprites"],
+    0x4A: ["loadbytec1ce", ["byte", SingleByteParam]], #not pksv
+    0x4B: ["3writetext", ["text_pointer", PointerLabelBeforeBank]],
+    0x4C: ["2writetext", ["text_pointer", TextPointerLabelParam]],
+    0x4D: ["repeattext", ["byte", SingleByteParam], ["byte", SingleByteParam]], #not pksv
+    0x4E: ["yesorno"],
+    0x4F: ["loadmenudata", ["data", MenuDataPointerParam]],
+    0x50: ["writebackup"],
+    0x51: ["jumptextfaceplayer", ["text_pointer", RawTextPointerLabelParam]],
+    0x53: ["jumptext", ["text_pointer", TextPointerLabelParam]],
+    0x54: ["closetext"],
+    0x55: ["keeptextopen"],
+    0x56: ["pokepic", ["pokemon", PokemonParam]],
+    0x57: ["pokepicyesorno"],
+    0x58: ["interpretmenu"],
+    0x59: ["interpretmenu2"],
+#not pksv
+    0x5A: ["loadpikachudata"],
+    0x5B: ["battlecheck"],
+    0x5C: ["loadtrainerdata"],
+#back to pksv..
+    0x5D: ["loadpokedata", ["pokemon", PokemonParam], ["level", DecimalParam]],
+    0x5E: ["loadtrainer", ["trainer_group", TrainerGroupParam], ["trainer_id", TrainerIdParam]],
+    0x5F: ["startbattle"],
+    0x60: ["returnafterbattle"],
+    0x61: ["catchtutorial", ["byte", SingleByteParam]],
+#not pksv
+    0x62: ["trainertext", ["which_text", SingleByteParam]],
+    0x63: ["trainerstatus", ["action", SingleByteParam]],
+#back to pksv..
+    0x64: ["winlosstext", ["win_text_pointer", TextPointerLabelParam], ["loss_text_pointer", TextPointerLabelParam]],
+    0x65: ["scripttalkafter"], #not pksv
+    0x66: ["talkaftercancel"],
+    0x67: ["talkaftercheck"],
+    0x68: ["setlasttalked", ["person", SingleByteParam]],
+    0x69: ["applymovement", ["person", SingleByteParam], ["data", MovementPointerLabelParam]],
+    0x6A: ["applymovement2", ["data", MovementPointerLabelParam]], #not pksv
+    0x6B: ["faceplayer"],
+    0x6C: ["faceperson", ["person1", SingleByteParam], ["person2", SingleByteParam]],
+    0x6D: ["variablesprite", ["byte", SingleByteParam], ["sprite", SingleByteParam]],
+    0x6E: ["disappear", ["person", SingleByteParam]], #hideperson
+    0x6F: ["appear", ["person", SingleByteParam]], #showperson
+    0x70: ["follow", ["person2", SingleByteParam], ["person1", SingleByteParam]],
+    0x71: ["stopfollow"],
+    0x72: ["moveperson", ["person", SingleByteParam], ["x", SingleByteParam], ["y", SingleByteParam]],
+    0x73: ["writepersonxy", ["person", SingleByteParam]], #not pksv
+    0x74: ["loademote", ["bubble", SingleByteParam]],
+    0x75: ["showemote", ["bubble", SingleByteParam], ["person", SingleByteParam], ["time", SingleByteParam]],
+    0x76: ["spriteface", ["person", SingleByteParam], ["facing", SingleByteParam]],
+    0x77: ["follownotexact", ["person2", SingleByteParam], ["person1", SingleByteParam]],
+    0x78: ["earthquake", ["param", SingleByteParam]],
+    0x79: ["changemap", ["map_data_pointer", MapDataPointerParam]],
+    0x7A: ["changeblock", ["x", SingleByteParam], ["y", SingleByteParam], ["block", SingleByteParam]],
+    0x7B: ["reloadmap"],
+    0x7C: ["reloadmappart"],
+    0x7D: ["writecmdqueue", ["queue_pointer", MultiByteParam]],
+    0x7E: ["delcmdqueue", ["byte", SingleByteParam]],
+    0x7F: ["playmusic", ["music_pointer", MultiByteParam]],
+    0x80: ["playrammusic"],
+    0x81: ["musicfadeout", ["music", MultiByteParam], ["fadetime", SingleByteParam]],
+    0x82: ["playmapmusic"],
+    0x83: ["reloadmapmusic"],
+    0x84: ["cry", ["cry_id", SingleByteParam], ["wtf", SingleByteParam]], #XXX maybe it should use PokemonParam
+    0x85: ["playsound", ["sound_pointer", MultiByteParam]],
+    0x86: ["waitbutton"],
+    0x87: ["warpsound"],
+    0x88: ["specialsound"],
+    0x89: ["passtoengine", ["data_pointer", PointerLabelBeforeBank]],
+    0x8A: ["newloadmap", ["which_method", SingleByteParam]],
+    0x8B: ["pause", ["length", SingleByteParam]],
+    0x8C: ["deactivatefacing", ["time", SingleByteParam]],
+    0x8D: ["priorityjump", ["pointer", ScriptPointerLabelParam]],
+    0x8E: ["warpcheck"],
+    0x8F: ["ptpriorityjump", ["pointer", ScriptPointerLabelParam]],
+    0x90: ["return"],
+    0x91: ["end"],
+    0x92: ["reloadandreturn"],
+    0x93: ["resetfuncs"],
+    0x94: ["pokemart", ["dialog_id", SingleByteParam], ["mart_id", MultiByteParam]], #maybe it should be a pokemark constant id/label?
+    0x95: ["elevator", ["floor_list_pointer", PointerLabelParam]],
+    0x96: ["trade", ["trade_id", SingleByteParam]],
+    0x97: ["askforphonenumber", ["number", SingleByteParam]],
+    0x98: ["phonecall", ["caller_name", RawTextPointerLabelParam]],
+    0x99: ["hangup"],
+    0x9A: ["describedecoration", ["byte", SingleByteParam]],
+    0x9B: ["fruittree", ["tree_id", SingleByteParam]],
+    0x9C: ["specialphonecall", ["call_id", SingleByteParam], ["wtf", SingleByteParam]],
+    0x9D: ["checkphonecall"],
+    0x9E: ["verbosegiveitem", ["item", ItemLabelByte], ["quantity", DecimalParam]],
+    0x9F: ["verbosegiveitem2", ["item", ItemLabelByte]],
+    0xA0: ["loadwilddata", ["map_group", MapGroupParam], ["map_id", MapIdParam]],
+    0xA1: ["halloffame"],
+    0xA2: ["credits"],
+    0xA3: ["warpfacing", ["facing", SingleByteParam], ["map_group", MapGroupParam], ["map_id", MapIdParam], ["x", SingleByteParam], ["y", SingleByteParam]],
+    0xA4: ["storetext", ["pointer", PointerLabelBeforeBank], ["memory", SingleByteParam]],
+    0xA5: ["displaylocation", ["id", SingleByteParam]],
+    0xA8: ["unknown0xa8", ["unknown", SingleByteParam]],
+    0xB2: ["unknown0xb2", ["unknown", SingleByteParam]],
+    0xCC: ["unknown0xcc"],
+}
 def create_command_classes(debug=False):
     """creates some classes for each command byte"""
     #don't forget to add any manually created script command classes
--- a/extras/pksv.py
+++ b/extras/pksv.py
@@ -310,193 +310,3 @@
     0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF,
 ]
 
-#byte: [name, [param1 name, param1 type], [param2 name, param2 type], ...]
-#0x9E: ["verbosegiveitem", ["item", ItemLabelByte], ["quantity", SingleByteParam]],
-from crystal import ScriptPointerLabelParam, ScriptPointerLabelBeforeBank,\
-                    PointerLabelToScriptPointer,\
-                    SingleByteParam, MultiByteParam, AsmPointerParam,\
-                    PointerToAsmPointerParam, MapGroupParam, MapIdParam,\
-                    RAMAddressParam, ItemLabelByte, MoneyByteParam, CoinByteParam,\
-                    PokemonParam, DecimalParam, PointerParamToItemAndLetter,\
-                    TrainerIdParam, TrainerGroupParam, RawTextPointerLabelParam,\
-                    PointerLabelBeforeBank, TextPointerLabelParam, MenuDataPointerParam,\
-                    MovementPointerLabelParam, MapDataPointerParam, PointerLabelParam
-                    
-pksv_crystal_more = {
-    0x00: ["2call", ["pointer", ScriptPointerLabelParam]],
-    0x01: ["3call", ["pointer", ScriptPointerLabelBeforeBank]],
-    0x02: ["2ptcall", ["pointer", PointerLabelToScriptPointer]],
-    0x03: ["2jump", ["pointer", ScriptPointerLabelParam]],
-    0x04: ["3jump", ["pointer", ScriptPointerLabelBeforeBank]],
-    0x05: ["2ptjump", ["pointer", PointerLabelToScriptPointer]],
-    0x06: ["if equal", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
-    0x07: ["if not equal", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
-    0x08: ["if false", ["pointer", ScriptPointerLabelParam]],
-    0x09: ["if true", ["pointer", ScriptPointerLabelParam]],
-    0x0A: ["if less than", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
-    0x0B: ["if greater than", ["byte", SingleByteParam], ["pointer", ScriptPointerLabelParam]],
-    0x0C: ["jumpstd", ["predefined_script", MultiByteParam]],
-    0x0D: ["callstd", ["predefined_script", MultiByteParam]],
-    0x0E: ["3callasm", ["asm", AsmPointerParam]],
-    0x0F: ["special", ["predefined_script", MultiByteParam]],
-    0x10: ["2ptcallasm", ["asm", PointerToAsmPointerParam]],
-    #should map_group/map_id be dealt with in some special way in the asm?
-    0x11: ["checkmaptriggers", ["map_group", SingleByteParam], ["map_id", SingleByteParam]],
-    0x12: ["domaptrigger", ["map_group", MapGroupParam], ["map_id", MapIdParam], ["trigger_id", SingleByteParam]],
-    0x13: ["checktriggers"],
-    0x14: ["dotrigger", ["trigger_id", SingleByteParam]],
-    0x15: ["writebyte", ["value", SingleByteParam]],
-    0x16: ["addvar", ["value", SingleByteParam]],
-    0x17: ["random", ["input", SingleByteParam]],
-    0x18: ["checkver"],
-    0x19: ["copybytetovar", ["address", RAMAddressParam]],
-    0x1A: ["copyvartobyte", ["address", RAMAddressParam]],
-    0x1B: ["loadvar", ["address", RAMAddressParam], ["value", SingleByteParam]],
-    0x1C: ["checkcode", ["variable_id", SingleByteParam]],
-    0x1D: ["writevarcode", ["variable_id", SingleByteParam]],
-    0x1E: ["writecode", ["variable_id", SingleByteParam], ["value", SingleByteParam]],
-    0x1F: ["giveitem", ["item", ItemLabelByte], ["quantity", SingleByteParam]],
-    0x20: ["takeitem", ["item", ItemLabelByte], ["quantity", SingleByteParam]],
-    0x21: ["checkitem", ["item", ItemLabelByte]],
-    0x22: ["givemoney", ["account", SingleByteParam], ["money", MoneyByteParam]],
-    0x23: ["takemoney", ["account", SingleByteParam], ["money", MoneyByteParam]],
-    0x24: ["checkmonkey", ["account", SingleByteParam], ["money", MoneyByteParam]],
-    0x25: ["givecoins", ["coins", CoinByteParam]],
-    0x26: ["takecoins", ["coins", CoinByteParam]],
-    0x27: ["checkcoins", ["coins", CoinByteParam]],
-    #0x28-0x2A not from pksv
-    0x28: ["addcellnum", ["person", SingleByteParam]],
-    0x29: ["delcellnum", ["person", SingleByteParam]],
-    0x2A: ["checkcellnum", ["person", SingleByteParam]],
-    #back on track...
-    0x2B: ["checktime", ["time", SingleByteParam]],
-    0x2C: ["checkpoke", ["pkmn", PokemonParam]],
-#0x2D: ["givepoke", ], .... see GivePoke class
-    0x2E: ["giveegg", ["pkmn", PokemonParam], ["level", DecimalParam]],
-    0x2F: ["givepokeitem", ["pointer", PointerParamToItemAndLetter]],
-    0x30: ["checkpokeitem", ["pointer", PointerParamToItemAndLetter]], #not pksv
-    0x31: ["checkbit1", ["bit_number", MultiByteParam]],
-    0x32: ["clearbit1", ["bit_number", MultiByteParam]],
-    0x33: ["setbit1", ["bit_number", MultiByteParam]],
-    0x34: ["checkbit2", ["bit_number", MultiByteParam]],
-    0x35: ["clearbit2", ["bit_number", MultiByteParam]],
-    0x36: ["setbit2", ["bit_number", MultiByteParam]],
-    0x37: ["wildoff"],
-    0x38: ["wildon"],
-    0x39: ["xycompare", ["pointer", MultiByteParam]],
-    0x3A: ["warpmod", ["warp_id", SingleByteParam], ["map_group", MapGroupParam], ["map_id", MapIdParam]],
-    0x3B: ["blackoutmod", ["map_group", MapGroupParam], ["map_id", MapIdParam]],
-    0x3C: ["warp", ["map_group", MapGroupParam], ["map_id", MapIdParam], ["x", SingleByteParam], ["y", SingleByteParam]],
-    0x3D: ["readmoney", ["account", SingleByteParam], ["memory", SingleByteParam]], #not pksv
-    0x3E: ["readcoins", ["memory", SingleByteParam]], #not pksv
-    0x3F: ["RAM2MEM", ["memory", SingleByteParam]], #not pksv
-    0x40: ["pokenamemem", ["pokemon", PokemonParam], ["memory", SingleByteParam]], #not pksv
-    0x41: ["itemtotext", ["item", ItemLabelByte], ["memory", SingleByteParam]],
-    0x42: ["mapnametotext", ["memory", SingleByteParam]], #not pksv
-    0x43: ["trainertotext", ["trainer_id", TrainerIdParam], ["trainer_group", TrainerGroupParam], ["memory", SingleByteParam]],
-    0x44: ["stringtotext", ["text_pointer", RawTextPointerLabelParam], ["memory", SingleByteParam]],
-    0x45: ["itemnotify"],
-    0x46: ["pocketisfull"],
-    0x47: ["loadfont"],
-    0x48: ["refreshscreen", ["dummy", SingleByteParam]],
-    0x49: ["loadmovesprites"],
-    0x4A: ["loadbytec1ce", ["byte", SingleByteParam]], #not pksv
-    0x4B: ["3writetext", ["text_pointer", PointerLabelBeforeBank]],
-    0x4C: ["2writetext", ["text_pointer", TextPointerLabelParam]],
-    0x4D: ["repeattext", ["byte", SingleByteParam], ["byte", SingleByteParam]], #not pksv
-    0x4E: ["yesorno"],
-    0x4F: ["loadmenudata", ["data", MenuDataPointerParam]],
-    0x50: ["writebackup"],
-    0x51: ["jumptextfaceplayer", ["text_pointer", RawTextPointerLabelParam]],
-    0x53: ["jumptext", ["text_pointer", TextPointerLabelParam]],
-    0x54: ["closetext"],
-    0x55: ["keeptextopen"],
-    0x56: ["pokepic", ["pokemon", PokemonParam]],
-    0x57: ["pokepicyesorno"],
-    0x58: ["interpretmenu"],
-    0x59: ["interpretmenu2"],
-#not pksv
-    0x5A: ["loadpikachudata"],
-    0x5B: ["battlecheck"],
-    0x5C: ["loadtrainerdata"],
-#back to pksv..
-    0x5D: ["loadpokedata", ["pokemon", PokemonParam], ["level", DecimalParam]],
-    0x5E: ["loadtrainer", ["trainer_group", TrainerGroupParam], ["trainer_id", TrainerIdParam]],
-    0x5F: ["startbattle"],
-    0x60: ["returnafterbattle"],
-    0x61: ["catchtutorial", ["byte", SingleByteParam]],
-#not pksv
-    0x62: ["trainertext", ["which_text", SingleByteParam]],
-    0x63: ["trainerstatus", ["action", SingleByteParam]],
-#back to pksv..
-    0x64: ["winlosstext", ["win_text_pointer", TextPointerLabelParam], ["loss_text_pointer", TextPointerLabelParam]],
-    0x65: ["scripttalkafter"], #not pksv
-    0x66: ["talkaftercancel"],
-    0x67: ["talkaftercheck"],
-    0x68: ["setlasttalked", ["person", SingleByteParam]],
-    0x69: ["applymovement", ["person", SingleByteParam], ["data", MovementPointerLabelParam]],
-    0x6A: ["applymovement2", ["data", MovementPointerLabelParam]], #not pksv
-    0x6B: ["faceplayer"],
-    0x6C: ["faceperson", ["person1", SingleByteParam], ["person2", SingleByteParam]],
-    0x6D: ["variablesprite", ["byte", SingleByteParam], ["sprite", SingleByteParam]],
-    0x6E: ["disappear", ["person", SingleByteParam]], #hideperson
-    0x6F: ["appear", ["person", SingleByteParam]], #showperson
-    0x70: ["follow", ["person2", SingleByteParam], ["person1", SingleByteParam]],
-    0x71: ["stopfollow"],
-    0x72: ["moveperson", ["person", SingleByteParam], ["x", SingleByteParam], ["y", SingleByteParam]],
-    0x73: ["writepersonxy", ["person", SingleByteParam]], #not pksv
-    0x74: ["loademote", ["bubble", SingleByteParam]],
-    0x75: ["showemote", ["bubble", SingleByteParam], ["person", SingleByteParam], ["time", SingleByteParam]],
-    0x76: ["spriteface", ["person", SingleByteParam], ["facing", SingleByteParam]],
-    0x77: ["follownotexact", ["person2", SingleByteParam], ["person1", SingleByteParam]],
-    0x78: ["earthquake", ["param", SingleByteParam]],
-    0x79: ["changemap", ["map_data_pointer", MapDataPointerParam]],
-    0x7A: ["changeblock", ["x", SingleByteParam], ["y", SingleByteParam], ["block", SingleByteParam]],
-    0x7B: ["reloadmap"],
-    0x7C: ["reloadmappart"],
-    0x7D: ["writecmdqueue", ["queue_pointer", MultiByteParam]],
-    0x7E: ["delcmdqueue", ["byte", SingleByteParam]],
-    0x7F: ["playmusic", ["music_pointer", MultiByteParam]],
-    0x80: ["playrammusic"],
-    0x81: ["musicfadeout", ["music", MultiByteParam], ["fadetime", SingleByteParam]],
-    0x82: ["playmapmusic"],
-    0x83: ["reloadmapmusic"],
-    0x84: ["cry", ["cry_id", SingleByteParam], ["wtf", SingleByteParam]], #XXX maybe it should use PokemonParam
-    0x85: ["playsound", ["sound_pointer", MultiByteParam]],
-    0x86: ["waitbutton"],
-    0x87: ["warpsound"],
-    0x88: ["specialsound"],
-    0x89: ["passtoengine", ["data_pointer", PointerLabelBeforeBank]],
-    0x8A: ["newloadmap", ["which_method", SingleByteParam]],
-    0x8B: ["pause", ["length", SingleByteParam]],
-    0x8C: ["deactivatefacing", ["time", SingleByteParam]],
-    0x8D: ["priorityjump", ["pointer", ScriptPointerLabelParam]],
-    0x8E: ["warpcheck"],
-    0x8F: ["ptpriorityjump", ["pointer", ScriptPointerLabelParam]],
-    0x90: ["return"],
-    0x91: ["end"],
-    0x92: ["reloadandreturn"],
-    0x93: ["resetfuncs"],
-    0x94: ["pokemart", ["dialog_id", SingleByteParam], ["mart_id", MultiByteParam]], #maybe it should be a pokemark constant id/label?
-    0x95: ["elevator", ["floor_list_pointer", PointerLabelParam]],
-    0x96: ["trade", ["trade_id", SingleByteParam]],
-    0x97: ["askforphonenumber", ["number", SingleByteParam]],
-    0x98: ["phonecall", ["caller_name", RawTextPointerLabelParam]],
-    0x99: ["hangup"],
-    0x9A: ["describedecoration", ["byte", SingleByteParam]],
-    0x9B: ["fruittree", ["tree_id", SingleByteParam]],
-    0x9C: ["specialphonecall", ["call_id", SingleByteParam], ["wtf", SingleByteParam]],
-    0x9D: ["checkphonecall"],
-    0x9E: ["verbosegiveitem", ["item", ItemLabelByte], ["quantity", DecimalParam]],
-    0x9F: ["verbosegiveitem2", ["item", ItemLabelByte]],
-    0xA0: ["loadwilddata", ["map_group", MapGroupParam], ["map_id", MapIdParam]],
-    0xA1: ["halloffame"],
-    0xA2: ["credits"],
-    0xA3: ["warpfacing", ["facing", SingleByteParam], ["map_group", MapGroupParam], ["map_id", MapIdParam], ["x", SingleByteParam], ["y", SingleByteParam]],
-    0xA4: ["storetext", ["pointer", PointerLabelBeforeBank], ["memory", SingleByteParam]],
-    0xA5: ["displaylocation", ["id", SingleByteParam]],
-    0xA8: ["unknown0xa8", ["unknown", SingleByteParam]],
-    0xB2: ["unknown0xb2", ["unknown", SingleByteParam]],
-    0xCC: ["unknown0xcc"],
-}
-