add pksv command names to crystal.py

This commit is contained in:
Bryan Bishop 2012-03-11 03:01:33 -05:00
parent 5ba4aec8d5
commit a4f10572ba

View File

@ -405,8 +405,8 @@ def clean_up_long_info(long_info):
def command_debug_information(command_byte=None, map_group=None, map_id=None, address=None, info=None, long_info=None):
info1 = "parsing command byte " + hex(command_byte) + " for map " + \
str(map_group) + "." + str(map_id) + " at " + hex(address)
info1 += "\tinfo: " + str(info)
info1 += "\tlong_info: " + long_info
info1 += " info: " + str(info)
#info1 += " long_info: " + long_info
return info1
def parse_text_engine_script_at(address):
@ -419,6 +419,199 @@ def parse_text_engine_script_at(address):
commands = {}
return commands
pksv_gs = {
0x00: "2call",
0x01: "3call",
0x03: "2jump",
0x04: "3jump",
0x06: "if equal",
0x07: "if not equal",
0x08: "if false",
0x09: "if true",
0x0A: "if less than",
0x0B: "if greater than",
0x0C: "jumpstd",
0x0E: "3callasm",
0x0F: "special",
0x12: "domaptrigger",
0x14: "dotrigger",
0x15: "writebyte",
0x19: "copybytetovar",
0x1C: "checkcode",
0x1E: "writecode",
0x1F: "giveitem",
0x20: "takeitem",
0x21: "checkitem",
0x22: "givemoney",
0x23: "takemoney",
0x24: "checkmonkey",
0x25: "givecoins",
0x26: "takecoins",
0x27: "checkcoins",
0x2B: "checktime",
0x2C: "checkpoke",
0x2D: "givepoke",
0x2E: "giveegg",
0x31: "checkbit1",
0x32: "clearbit1",
0x33: "setbit1",
0x34: "checkbit2",
0x35: "clearbit2",
0x36: "setbit2",
0x37: "wildoff",
0x38: "wildon",
0x3A: "warpmod",
0x3B: "blackoutmod",
0x3C: "warp",
0x44: "stringtotext",
0x46: "pocketisfull",
0x47: "loadfont",
0x49: "loadmovesprites",
0x4B: "3writetext",
0x4C: "2writetext",
0x4E: "yesorno",
0x51: "jumptextfaceplayer",
0x52: "jumptext",
0x53: "closetext",
0x54: "keeptextopen",
0x55: "pokepic",
0x5C: "loadpokedata",
0x5D: "loadtrainer",
0x5E: "startbattle",
0x5F: "returnafterbattle",
0x60: "catchtutorial",
0x63: "winlosstext",
0x65: "talkaftercancel",
0x68: "applymovement",
0x6A: "faceplayer",
0x6B: "faceperson",
0x6D: "disappear",
0x6E: "appear",
0x6F: "follow",
0x70: "stopfollow",
0x71: "moveperson",
0x74: "showemote",
0x75: "spriteface",
0x76: "follownotexact",
0x77: "earthquake",
0x79: "changeblock",
0x7A: "reloadmap",
0x80: "musicfadeout",
0x83: "cry",
0x84: "playsound",
0x85: "waitbutton",
0x8A: "pause",
0x8C: "priorityjump",
0x8F: "return",
0x90: "end",
0x91: "reloadandreturn",
0x92: "resetfuncs",
0x93: "pokemart",
0x94: "elevator",
0x95: "trade",
0x9A: "fruittree",
0x9D: "verbosegiveitem",
0xA0: "credits",
0xA1: "warpfacing",
}
#see http://www.pokecommunity.com/showpost.php?p=4347261
pksv_crystal = {
0x00: "2call",
0x01: "3call",
0x03: "2jump",
0x04: "3jump",
0x06: "if equal",
0x07: "if not equal",
0x08: "if false",
0x09: "if true",
0x0A: "if less than",
0x0B: "if greater than",
0x0C: "jumpstd",
0x0E: "3callasm",
0x0F: "special",
0x12: "domaptrigger",
0x14: "dotrigger",
0x15: "writebyte",
0x19: "copybytetovar",
0x1C: "checkcode",
0x1E: "writecode",
0x1F: "giveitem",
0x20: "takeitem",
0x21: "checkitem",
0x22: "givemoney",
0x23: "takemoney",
0x24: "checkmonkey",
0x25: "givecoins",
0x26: "takecoins",
0x27: "checkcoins",
0x2B: "checktime",
0x2C: "checkpoke",
0x2D: "givepoke",
0x2E: "giveegg",
0x31: "checkbit1",
0x32: "clearbit1",
0x33: "setbit1",
0x34: "checkbit2",
0x35: "clearbit2",
0x36: "setbit2",
0x37: "wildoff",
0x38: "wildon",
0x3A: "warpmod",
0x3B: "blackoutmod",
0x3C: "warp",
0x44: "stringtotext",
0x46: "pocketisfull",
0x47: "loadfont",
0x49: "loadmovesprites",
0x4B: "3writetext",
0x4C: "2writetext",
0x4E: "yesorno",
0x51: "jumptextfaceplayer",
0x53: "jumptext",
0x54: "closetext",
0x55: "keeptextopen",
0x56: "pokepic",
0x5D: "loadpokedata",
0x5E: "loadtrainer",
0x5F: "startbattle",
0x60: "returnafterbattle",
0x61: "catchtutorial",
0x64: "winlosstext",
0x66: "talkaftercancel",
0x69: "applymovement",
0x6B: "faceplayer",
0x6C: "faceperson",
0x6E: "disappear",
0x6F: "appear",
0x70: "follow",
0x71: "stopfollow",
0x72: "moveperson",
0x75: "showemote",
0x76: "spriteface",
0x77: "follownotexact",
0x78: "earthquake",
0x7A: "changeblock",
0x7B: "reloadmap",
0x81: "musicfadeout",
0x84: "cry",
0x85: "playsound",
0x86: "waitbutton",
0x8B: "pause",
0x8D: "priorityjump",
0x90: "return",
0x91: "end",
0x92: "reloadandreturn",
0x93: "resetfuncs",
0x94: "pokemart",
0x95: "elevator",
0x96: "trade",
0x9B: "fruittree",
0x9E: "verbosegiveitem",
0xA2: "credits",
0xA3: "warpfacing",
}
def parse_script_engine_script_at(address, map_group=None, map_id=None):
"""parses a script-engine script"""
global rom
@ -438,6 +631,7 @@ def parse_script_engine_script_at(address, map_group=None, map_id=None):
start_address = offset
if command_byte == 0x00: #Pointer code [2b+ret]
pksv_name = "2call"
info = "pointer code"
long_info = """
2byte pointer points to script; when pointed script ends --> return to old script
@ -449,6 +643,7 @@ def parse_script_engine_script_at(address, map_group=None, map_id=None):
command["pointer"] = calculate_pointer_from_bytes_at(start_address+1)
#XXX should we also parse this target script?
elif command_byte == 0x01: #Pointer code [3b+ret]
pksv_name = "3call"
info = "pointer code"
long_info = """
3byte pointer points to script; when pointed script ends --> return to old script