mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-02 22:14:33 +00:00
z_demo documentation (#1327)
* commit old stuff * progress * progress * progress * progress * more progress, renaming cues next * small changes * enum values added for all actions * hardcoded values removed when possible * commands renamed * first pass of action -> cue * fix some matches * some more cleanup * scriptPtr * forgot one * remove cue rot union * more changes * some more stuff * more stuff * fix matching issues * some more things * progress, starting to rename destinations * small changes * name some destinations * more names * need to switch branch * progress * first pass of destination names * usages fixed * use destination enum * fix csdis * format * command descriptions * revert accidental zap changes * forgot some things * use a single macro for CutsceneCameraPoint (idk why i didnt think of this sooner) * typo * review1 * clarify ruby/sapphire comment * remove endframe for commands that dont use it * some more review * most review, but not all * scriptPtr -> script, and another small change * ocarina action * remove +1 from light settings command, change comment * actionIndex -> cueIdTemp (i guess) * _SetCueX -> _SetXFromCue * format * tweak fade out seq arg names * use spline terminology * more dragorn and engineer review * misc start/end frame note * cleanup StartPosRotFromCue vs PosRotFromCue * cleanup spline terminology * sPrevCamId -> sReturnToCamId * comment on debug cs data address * Cutscene_Init -> Cutscene_InitContext * single point types are not a list * remove todo comment * some more review * rumble struct names * some review * more review * missed one * reword pointer comment * even more review * match transition terminology with z_play * change condition and format * frame count * command specific structs with alignment * anon review * remove unneeded arg from time macro * yeet `CsCmdGeneric` * remove unused from single point types * typo * compromise attempt -- name endFrame everywhere * fixes * fix again * copied the wrong note * cutscene data note * review, format * compat defines * idk whats going on man Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
parent
92e03cf747
commit
7927e7b330
130 changed files with 6392 additions and 5954 deletions
304
tools/csdis.py
304
tools/csdis.py
|
@ -13,127 +13,127 @@ command_continue_stop = {
|
|||
0xFF: "CS_CMD_STOP",
|
||||
}
|
||||
|
||||
cutscene_terminator_destinations = {
|
||||
0x00: "INVALID_DESTINATION_0",
|
||||
0x01: "CUTSCENE_MAP_GANON_HORSE",
|
||||
0x02: "CUTSCENE_MAP_THREE_GODESSES_POST_DEKU_TREE",
|
||||
0x03: "GERUDO_VALLEY_DIN",
|
||||
0x04: "DEATH_MOUNTAIN_TRAIL_NAYRU",
|
||||
0x05: "KOKIRI_FOREST_FARORE",
|
||||
0x06: "CUTSCENE_MAP_TRIFORCE_CREATION",
|
||||
0x07: "KOKIRI_FOREST_RECEIVE_KOKIRI_EMERALD",
|
||||
0x08: "TEMPLE_OF_TIME_AFTER_USE_MS",
|
||||
0x09: "GERUDO_VALLEY_DIN_2",
|
||||
0x0A: "LINKS_HOUSE_INTRO",
|
||||
0x0B: "KOKIRI_FOREST_INTRO",
|
||||
0x0C: "DEATH_MOUNTAIN_TRAIL_AFTER_GORON_RUBY",
|
||||
0x0D: "ZORAS_FOUNTAIN_AFTER_ZORAS_SAPPHIRE",
|
||||
0x0E: "KOKIRI_FOREST_AFTER_KOKIRI_EMERALD",
|
||||
0x0F: "TEMPLE_OF_TIME_KOKIRI_EMERALD", #unused
|
||||
0x10: "TEMPLE_OF_TIME_GORON_RUBY", #unused
|
||||
0x11: "TEMPLE_OF_TIME_ZORAS_SAPPHIRE", #unused
|
||||
0x12: "TEMPLE_OF_TIME_AFTER_USE_MS_FIRST",
|
||||
0x13: "DEATH_MOUNTAIN_TRAIL_AFTER_INTRO",
|
||||
0x14: "INVALID_DESTINATION_14",
|
||||
0x15: "LAKE_HYLIA_WATER_RISES",
|
||||
0x16: "DESERT_COLOSSUS_REQUIEM",
|
||||
0x17: "CUTSCENE_MAP_CURSE_YOU",
|
||||
0x18: "JABU_JABU_INTRO",
|
||||
0x19: "CHAMBER_OF_SAGES_LIGHT_MEDALLION",
|
||||
0x1A: "TEMPLE_OF_TIME_KOKIRI_EMERALD_2", #duplicate of 0x000F
|
||||
0x1B: "TEMPLE_OF_TIME_GORON_RUBY_2", #duplicate of 0x0010
|
||||
0x1C: "TEMPLE_OF_TIME_ZORAS_SAPPHIRE_2", #duplicate of 0x0011
|
||||
0x1D: "CHAMBER_OF_SAGES_FOREST_MEDALLION",
|
||||
0x1E: "CHAMBER_OF_SAGES_FIRE_MEDALLION",
|
||||
0x1F: "CHAMBER_OF_SAGES_WATER_MEDALLION",
|
||||
0x20: "HYRULE_FIELD_FLASHBACK", #lacs part 4
|
||||
0x21: "HYRULE_FIELD_AFTER_LAKE_HYLIA_OWL",
|
||||
0x22: "CUTSCENE_MAP_GANON_AFTER_USE_MS",
|
||||
0x23: "HYRULE_FIELD_INTRO_ZELDA_ESCAPE",
|
||||
0x24: "INVALID_DESTINATION_24",
|
||||
0x25: "INVALID_DESTINATION_25",
|
||||
0x26: "CUTSCENE_MAP_SHEIKAH_LEGEND", #lacs part 2
|
||||
0x27: "TEMPLE_OF_TIME_ZELDA_REVEAL", #lacs part 3
|
||||
0x28: "TEMPLE_OF_TIME_GET_LIGHT_ARROWS", #lacs part 5
|
||||
0x29: "LAKE_HYLIA_AFTER_BLUE_WARP",
|
||||
0x2A: "KAKARIKO_VILLAGE_DRAIN_WELL",
|
||||
0x2B: "WINDMILL_AFTER_DRAIN_WELL",
|
||||
0x2C: "TEMPLE_OF_TIME_AFTER_DOOR_OF_TIME_OPENS",
|
||||
0x2D: "INVALID_DESTINATION_2D",
|
||||
0x2E: "TEMPLE_OF_TIME_AFTER_USE_MS_FIRST_2", #duplicate of 0x0012
|
||||
0x2F: "KAKARIKO_VILLAGE_NOCTURNE_PART_2",
|
||||
0x30: "DESERT_COLOSSUS_AFTER_REQUIEM",
|
||||
0x31: "TEMPLE_OF_TIME_AFTER_LIGHT_ARROWS",
|
||||
0x32: "KAKARIKO_VILLAGE_AFTER_NOCTURNE",
|
||||
0x33: "HYRULE_FIELD_IMPA_ESCORT_CS",
|
||||
0x34: "TEMPLE_OF_TIME_SONG_OF_TIME",
|
||||
0x35: "HYRULE_FIELD_AFTER_SONG_OF_TIME",
|
||||
0x36: "GERUDO_VALLEY_CREDITS",
|
||||
0x37: "GERUDO_FORTRESS_CREDITS",
|
||||
0x38: "KAKARIKO_VILLAGE_CREDITS",
|
||||
0x39: "DEATH_MOUNTAIN_TRAIL_CREDITS_1",
|
||||
0x3A: "GORON_CITY_CREDITS", #unused?
|
||||
0x3B: "LAKE_HYLIA_CREDITS",
|
||||
0x3C: "ZORAS_FOUNTAIN_CREDITS", #unused
|
||||
0x3D: "ZORAS_DOMAIN_CREDITS",
|
||||
0x3E: "KOKIRI_FOREST_CREDITS_1",
|
||||
0x3F: "KOKIRI_FOREST_CREDITS_2",
|
||||
0x40: "HYRULE_FIELD_CREDITS",
|
||||
0x41: "LON_LON_RANCH_CREDITS_1",
|
||||
0x42: "KAKARIKO_VILLAGE_AFTER_TRAIL_OWL",
|
||||
0x43: "HTRULE_FIELD_UNUSED_ENTRANCE",
|
||||
0x44: "CUTSCENE_MAP_FIRE",
|
||||
0x45: "KOKIRI_FOREST_POST_FOREST_MEDALLION",
|
||||
0x46: "DEATH_MOUNTAIN_TRAIL_CREDITS_2",
|
||||
0x47: "TEMPLE_OF_TIME_CREDITS",
|
||||
0x48: "ZELDAS_COURTYARD_CREDITS",
|
||||
0x49: "LON_LON_RANCH_CREDITS_1_2", #duplicate of 0x0041
|
||||
0x4A: "LON_LON_RANCH_CREDITS_2",
|
||||
0x4B: "LON_LON_RANCH_CREDITS_3",
|
||||
0x4C: "LON_LON_RANCH_CREDITS_4",
|
||||
0x4D: "LON_LON_RANCH_CREDITS_5",
|
||||
0x4E: "LON_LON_RANCH_CREDITS_6",
|
||||
0x4F: "LON_LON_RANCH_NO_CS_1",
|
||||
0x50: "LON_LON_RANCH_NO_CS_2",
|
||||
0x51: "LON_LON_RANCH_NO_CS_3",
|
||||
0x52: "LON_LON_RANCH_NO_CS_4",
|
||||
0x53: "LON_LON_RANCH_NO_CS_5",
|
||||
0x54: "LON_LON_RANCH_NO_CS_6",
|
||||
0x55: "LON_LON_RANCH_NO_CS_7",
|
||||
0x56: "LON_LON_RANCH_NO_CS_8",
|
||||
0x57: "LON_LON_RANCH_NO_CS_9",
|
||||
0x58: "LON_LON_RANCH_NO_CS_10",
|
||||
0x59: "LON_LON_RANCH_NO_CS_11",
|
||||
0x5A: "LON_LON_RANCH_NO_CS_12",
|
||||
0x5B: "LON_LON_RANCH_NO_CS_13",
|
||||
0x5C: "LON_LON_RANCH_NO_CS_14",
|
||||
0x5D: "LON_LON_RANCH_NO_CS_15",
|
||||
0x5E: "LON_LON_RANCH_NO_CS_EPONAS_SONG",
|
||||
0x5F: "CONDITIONAL_DESTINATION", # more descriptive name?
|
||||
0x60: "DESERT_COLOSSUS_SPIRIT_BLUE_WARP",
|
||||
0x61: "GRAVEYARD_AFTER_SHADOW_BLUE_WARP",
|
||||
0x62: "DEATH_MOUNTAIN_CRATER_AFTER_FIRE_BLUE_WARP",
|
||||
0x63: "SACRED_FOREST_MEADOW_AFTER_FOREST_BLUE_WARP",
|
||||
0x64: "KOKIRI_FOREST_AFTER_FOREST_BLUE_WARP",
|
||||
0x65: "DESERT_COLOSSUS_AFTER_SILVER_GAUNTLETS",
|
||||
0x66: "TEMPLE_OF_TIME_FRONT_OF_PEDESTAL",
|
||||
0x67: "HYRULE_FIELD_TITLE_SCREEN",
|
||||
0x68: "SPIRIT_TEMPLE_BOSS_TITLE_SCREEN",
|
||||
0x69: "GRAVEYARD_SUNS_SONG",
|
||||
0x6A: "ROYAL_FAMILYS_TOMB_SUNS_SONG",
|
||||
0x6B: "GANONS_CASTLE_AFTER_FOREST_TRIAL",
|
||||
0x6C: "GANONS_CASTLE_AFTER_WATER_TRIAL",
|
||||
0x6D: "GANONS_CASTLE_AFTER_SHADOW_TRIAL",
|
||||
0x6E: "GANONS_CASTLE_AFTER_FIRE_TRIAL",
|
||||
0x6F: "GANONS_CASTLE_AFTER_LIGHT_TRIAL",
|
||||
0x70: "GANONS_CASTLE_AFTER_SPIRIT_TRIAL",
|
||||
0x71: "GANONS_CASTLE_DISPEL_BARRIER_IF_CONDITIONS",
|
||||
0x72: "HYRULE_FIELD_INTRO",
|
||||
0x73: "HYRULE_FIELD_AFTER_IMPA_ESCORT",
|
||||
0x74: "DESERT_COLOSSUS_SPIRIT_BLUE_WARP_2",
|
||||
0x75: "HYRULE_FIELD_SKY",
|
||||
0x76: "GANON_BATTLE_TOWER_COLLAPSE",
|
||||
0x77: "ZELDAS_COURTYARD_RECEIVE_LETTER",
|
||||
cutscene_destinations = {
|
||||
0x00: "CS_DEST_UNIMPLEMENTED_0",
|
||||
0x01: "CS_DEST_CUTSCENE_MAP_GANON_HORSE",
|
||||
0x02: "CS_DEST_CUTSCENE_MAP_THREE_GODDESSES",
|
||||
0x03: "CS_DEST_GERUDO_VALLEY_DIN_PART_1",
|
||||
0x04: "CS_DEST_DEATH_MOUNTAIN_TRAIL_NAYRU",
|
||||
0x05: "CS_DEST_KOKIRI_FOREST_FARORE",
|
||||
0x06: "CS_DEST_CUTSCENE_MAP_TRIFORCE_CREATION",
|
||||
0x07: "CS_DEST_KOKIRI_FOREST_RECEIVE_KOKIRI_EMERALD",
|
||||
0x08: "CS_DEST_TEMPLE_OF_TIME_FROM_MASTER_SWORD",
|
||||
0x09: "CS_DEST_GERUDO_VALLEY_DIN_PART_2",
|
||||
0x0A: "CS_DEST_LINKS_HOUSE_INTRO",
|
||||
0x0B: "CS_DEST_KOKIRI_FOREST_INTRO",
|
||||
0x0C: "CS_DEST_DEATH_MOUNTAIN_TRAIL_FROM_GORON_RUBY",
|
||||
0x0D: "CS_DEST_ZORAS_FOUNTAIN_FROM_ZORAS_SAPPHIRE",
|
||||
0x0E: "CS_DEST_KOKIRI_FOREST_FROM_KOKIRI_EMERALD",
|
||||
0x0F: "CS_DEST_TEMPLE_OF_TIME_KOKIRI_EMERALD_RESTORED",
|
||||
0x10: "CS_DEST_TEMPLE_OF_TIME_GORON_RUBY_RESTORED",
|
||||
0x11: "CS_DEST_TEMPLE_OF_TIME_ZORAS_SAPPHIRE_RESTORED",
|
||||
0x12: "CS_DEST_TEMPLE_OF_TIME_AFTER_LIGHT_MEDALLION",
|
||||
0x13: "CS_DEST_DEATH_MOUNTAIN_TRAIL",
|
||||
0x14: "CS_DEST_UNIMPLEMENTED_14",
|
||||
0x15: "CS_DEST_LAKE_HYLIA_WATER_RESTORED",
|
||||
0x16: "CS_DEST_DESERT_COLOSSUS_REQUIEM",
|
||||
0x17: "CS_DEST_CUTSCENE_MAP_GANONDORF_DEFEATED_CREDITS",
|
||||
0x18: "CS_DEST_JABU_JABU",
|
||||
0x19: "CS_DEST_CHAMBER_OF_SAGES_LIGHT_MEDALLION",
|
||||
0x1A: "CS_DEST_TEMPLE_OF_TIME_KOKIRI_EMERALD_RESTORED_2",
|
||||
0x1B: "CS_DEST_TEMPLE_OF_TIME_GORON_RUBY_RESTORED_2",
|
||||
0x1C: "CS_DEST_TEMPLE_OF_TIME_ZORAS_SAPPHIRE_RESTORED_2",
|
||||
0x1D: "CS_DEST_CHAMBER_OF_SAGES_FOREST_MEDALLION",
|
||||
0x1E: "CS_DEST_CHAMBER_OF_SAGES_FIRE_MEDALLION",
|
||||
0x1F: "CS_DEST_CHAMBER_OF_SAGES_WATER_MEDALLION",
|
||||
0x20: "CS_DEST_HYRULE_FIELD_FLASHBACK",
|
||||
0x21: "CS_DEST_HYRULE_FIELD_FROM_ZELDA_ESCAPE",
|
||||
0x22: "CS_DEST_CUTSCENE_MAP_GANONDORF_FROM_MASTER_SWORD",
|
||||
0x23: "CS_DEST_HYRULE_FIELD_INTRO_DREAM",
|
||||
0x24: "CS_DEST_UNIMPLEMENTED_24",
|
||||
0x25: "CS_DEST_UNIMPLEMENTED_25",
|
||||
0x26: "CS_DEST_CUTSCENE_MAP_SHEIKAH_LEGEND",
|
||||
0x27: "CS_DEST_TEMPLE_OF_TIME_ZELDA_REVEAL",
|
||||
0x28: "CS_DEST_TEMPLE_OF_TIME_GET_LIGHT_ARROWS",
|
||||
0x29: "CS_DEST_LAKE_HYLIA_FROM_LAKE_RESTORED",
|
||||
0x2A: "CS_DEST_KAKARIKO_VILLAGE_DRAIN_WELL",
|
||||
0x2B: "CS_DEST_WINDMILL_FROM_WELL_DRAINED",
|
||||
0x2C: "CS_DEST_TEMPLE_OF_TIME_FROM_ALL_STONES_RESTORED",
|
||||
0x2D: "CS_DEST_UNIMPLEMENTED_2D",
|
||||
0x2E: "CS_DEST_TEMPLE_OF_TIME_AFTER_LIGHT_MEDALLION_ALT",
|
||||
0x2F: "CS_DEST_KAKARIKO_VILLAGE_NOCTURNE_PART_2",
|
||||
0x30: "CS_DEST_DESERT_COLOSSUS_FROM_REQUIEM",
|
||||
0x31: "CS_DEST_TEMPLE_OF_TIME_FROM_LIGHT_ARROWS",
|
||||
0x32: "CS_DEST_KAKARIKO_VILLAGE_FROM_NOCTURNE",
|
||||
0x33: "CS_DEST_HYRULE_FIELD_FROM_ZELDAS_COURTYARD",
|
||||
0x34: "CS_DEST_TEMPLE_OF_TIME_SONG_OF_TIME",
|
||||
0x35: "CS_DEST_HYRULE_FIELD_FROM_SONG_OF_TIME",
|
||||
0x36: "CS_DEST_GERUDO_VALLEY_CREDITS",
|
||||
0x37: "CS_DEST_GERUDO_FORTRESS_CREDITS",
|
||||
0x38: "CS_DEST_KAKARIKO_VILLAGE_CREDITS",
|
||||
0x39: "CS_DEST_DEATH_MOUNTAIN_TRAIL_CREDITS_PART_1",
|
||||
0x3A: "CS_DEST_GORON_CITY_CREDITS",
|
||||
0x3B: "CS_DEST_LAKE_HYLIA_CREDITS",
|
||||
0x3C: "CS_DEST_ZORAS_FOUNTAIN_CREDITS",
|
||||
0x3D: "CS_DEST_ZORAS_DOMAIN_CREDITS",
|
||||
0x3E: "CS_DEST_KOKIRI_FOREST_CREDITS_PART_1",
|
||||
0x3F: "CS_DEST_KOKIRI_FOREST_CREDITS_PART_2",
|
||||
0x40: "CS_DEST_HYRULE_FIELD_CREDITS",
|
||||
0x41: "CS_DEST_LON_LON_RANCH_CREDITS_PART_1_ALT",
|
||||
0x42: "CS_DEST_KAKARIKO_VILLAGE_FROM_TRAIL_OWL",
|
||||
0x43: "CS_DEST_HYRULE_FIELD_FROM_LAKE_HYLIA_OWL",
|
||||
0x44: "CS_DEST_CUTSCENE_MAP_DEKU_SPROUT_PART_2",
|
||||
0x45: "CS_DEST_KOKIRI_FOREST_DEKU_SPROUT_PART_3",
|
||||
0x46: "CS_DEST_DEATH_MOUNTAIN_TRAIL_CREDITS_PART_2",
|
||||
0x47: "CS_DEST_TEMPLE_OF_TIME_CREDITS",
|
||||
0x48: "CS_DEST_ZELDAS_COURTYARD_CREDITS",
|
||||
0x49: "CS_DEST_LON_LON_RANCH_CREDITS_PART_1",
|
||||
0x4A: "CS_DEST_LON_LON_RANCH_CREDITS_PART_2",
|
||||
0x4B: "CS_DEST_LON_LON_RANCH_CREDITS_PART_3",
|
||||
0x4C: "CS_DEST_LON_LON_RANCH_CREDITS_PART_4",
|
||||
0x4D: "CS_DEST_LON_LON_RANCH_CREDITS_PART_5",
|
||||
0x4E: "CS_DEST_LON_LON_RANCH_CREDITS_PART_6",
|
||||
0x4F: "CS_DEST_LON_LON_RANCH_1",
|
||||
0x50: "CS_DEST_LON_LON_RANCH_2",
|
||||
0x51: "CS_DEST_LON_LON_RANCH_3",
|
||||
0x52: "CS_DEST_LON_LON_RANCH_4",
|
||||
0x53: "CS_DEST_LON_LON_RANCH_5",
|
||||
0x54: "CS_DEST_LON_LON_RANCH_6",
|
||||
0x55: "CS_DEST_LON_LON_RANCH_7",
|
||||
0x56: "CS_DEST_LON_LON_RANCH_8",
|
||||
0x57: "CS_DEST_LON_LON_RANCH_9",
|
||||
0x58: "CS_DEST_LON_LON_RANCH_10",
|
||||
0x59: "CS_DEST_LON_LON_RANCH_11",
|
||||
0x5A: "CS_DEST_LON_LON_RANCH_12",
|
||||
0x5B: "CS_DEST_LON_LON_RANCH_13",
|
||||
0x5C: "CS_DEST_LON_LON_RANCH_14",
|
||||
0x5D: "CS_DEST_LON_LON_RANCH_15",
|
||||
0x5E: "CS_DEST_LON_LON_RANCH_FROM_EPONAS_SONG",
|
||||
0x5F: "CS_DEST_STONES_RESTORED_CONDITIONAL",
|
||||
0x60: "CS_DEST_DESERT_COLOSSUS_FROM_CHAMBER_OF_SAGES",
|
||||
0x61: "CS_DEST_GRAVEYARD_FROM_CHAMBER_OF_SAGES",
|
||||
0x62: "CS_DEST_DEATH_MOUNTAIN_CRATER_FROM_CHAMBER_OF_SAGES",
|
||||
0x63: "CS_DEST_SACRED_FOREST_MEADOW_WARP_PAD",
|
||||
0x64: "CS_DEST_KOKIRI_FOREST_FROM_CHAMBER_OF_SAGES",
|
||||
0x65: "CS_DEST_DESERT_COLOSSUS_FROM_NABOORU_CAPTURE",
|
||||
0x66: "CS_DEST_TEMPLE_OF_TIME_FRONT_OF_PEDESTAL",
|
||||
0x67: "CS_DEST_HYRULE_FIELD_TITLE_SCREEN",
|
||||
0x68: "CS_DEST_TITLE_SCREEN_DEMO",
|
||||
0x69: "CS_DEST_GRAVEYARD_SUNS_SONG_PART_2",
|
||||
0x6A: "CS_DEST_ROYAL_FAMILYS_TOMB_SUNS_SONG_PART_3",
|
||||
0x6B: "CS_DEST_GANONS_CASTLE_DISPEL_FOREST_BEAM",
|
||||
0x6C: "CS_DEST_GANONS_CASTLE_DISPEL_WATER_BEAM",
|
||||
0x6D: "CS_DEST_GANONS_CASTLE_DISPEL_SHADOW_BEAM",
|
||||
0x6E: "CS_DEST_GANONS_CASTLE_DISPEL_FIRE_BEAM",
|
||||
0x6F: "CS_DEST_GANONS_CASTLE_DISPEL_LIGHT_BEAM",
|
||||
0x70: "CS_DEST_GANONS_CASTLE_DISPEL_SPIRIT_BEAM",
|
||||
0x71: "CS_DEST_GANONS_CASTLE_DISPEL_BARRIER_CONDITONAL",
|
||||
0x72: "CS_DEST_HYRULE_FIELD_FROM_FAIRY_OCARINA",
|
||||
0x73: "CS_DEST_HYRULE_FIELD_FROM_IMPA_ESCORT",
|
||||
0x74: "CS_DEST_FROM_RAURU_FINAL_MESSAGE_CONDITIONAL",
|
||||
0x75: "CS_DEST_HYRULE_FIELD_CREDITS_SKY",
|
||||
0x76: "CS_DEST_GANON_BATTLE_TOWER_COLLAPSE",
|
||||
0x77: "CS_DEST_ZELDAS_COURTYARD_RECEIVE_LETTER",
|
||||
}
|
||||
|
||||
ocarina_action_ids = {
|
||||
|
@ -228,26 +228,26 @@ cutscene_command_macros = {
|
|||
("CS_MISC_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_MISC(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x, %w1:10:x, %w1:11:x, %w1:12:x)", 12),
|
||||
4:
|
||||
("CS_LIGHTING_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_LIGHTING(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
("CS_LIGHT_SETTING_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_LIGHT_SETTING(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
86:
|
||||
("CS_PLAY_BGM_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_PLAY_BGM(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
("CS_START_SEQ_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_START_SEQ(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
87:
|
||||
("CS_STOP_BGM_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_STOP_BGM(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
("CS_STOP_SEQ_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_STOP_SEQ(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
124:
|
||||
("CS_FADE_BGM_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_FADE_BGM(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
("CS_FADE_OUT_SEQ_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_FADE_OUT_SEQ(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12),
|
||||
9:
|
||||
("CS_CMD_09_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_CMD_09(%h2:1:x, %h1:1:s, %h2:2:s, %b2:2:x, %b1:2:x, %b4:3:x, %b3:3:x, %h1:3:x)", 3),
|
||||
("CS_RUMBLE_CONTROLLER_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_RUMBLE_CONTROLLER(%h2:1:x, %h1:1:s, %h2:2:s, %b2:2:x, %b1:2:x, %b4:3:x, %b3:3:x, %h1:3:x)", 3),
|
||||
140:
|
||||
("CS_TIME_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_TIME(%h2:1:x, %h1:1:s, %h2:2:s, %b2:2:x, %b1:2:x, %w1:3:x)", 3),
|
||||
10:
|
||||
("CS_PLAYER_ACTION_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_PLAYER_ACTION(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12),
|
||||
("CS_PLAYER_CUE_LIST(%w1:1:s)", 2, None, 0,
|
||||
"CS_PLAYER_CUE(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12),
|
||||
(15,17,18,23,34,39,46,76,85,93,105,107,110,119,123,138,139,144, # npc action 1
|
||||
14,16,24,35,40,48,64,68,70,78,80,94,116,118,120,125,131,141, # npc action 2
|
||||
25,36,41,50,67,69,72,74,81,106,117,121,126,132, # npc action 3
|
||||
|
@ -258,34 +258,34 @@ cutscene_command_macros = {
|
|||
49,60,89,111,114,134,142, # npc action 8
|
||||
62, # npc action 9
|
||||
143): # npc action 10
|
||||
("CS_NPC_ACTION_LIST(%w1:0:s, %w1:1:s)", 2, None, 0,
|
||||
"CS_NPC_ACTION(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12),
|
||||
("CS_ACTOR_CUE_LIST(%w1:0:s, %w1:1:s)", 2, None, 0,
|
||||
"CS_ACTOR_CUE(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12),
|
||||
1:
|
||||
("CS_CAM_EYE_LIST(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_EYE(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
("CS_CAM_EYE_SPLINE(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_POINT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
5:
|
||||
("CS_CAM_EYE_REL_TO_PLAYER_LIST(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_EYE_REL_TO_PLAYER(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
("CS_CAM_EYE_SPLINE_REL_TO_PLAYER(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_POINT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
2:
|
||||
("CS_CAM_AT_LIST(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_AT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
("CS_CAM_AT_SPLINE(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_POINT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
6:
|
||||
("CS_CAM_AT_REL_TO_PLAYER_LIST(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_AT_REL_TO_PLAYER(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
("CS_CAM_AT_SPLINE_REL_TO_PLAYER(%h1:1:s, %h2:2:s)", 3, 0, None,
|
||||
"CS_CAM_POINT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
7:
|
||||
("CS_CMD_07_LIST(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x)", 3, None, -1,
|
||||
"CS_CMD_07(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
("CS_CAM_EYE_LIST(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x)", 3, None, -1,
|
||||
"CS_CAM_POINT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
8:
|
||||
("CS_CMD_08_LIST(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x)", 3, None, -1,
|
||||
"CS_CMD_08(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
("CS_CAM_AT_LIST(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x)", 3, None, -1,
|
||||
"CS_CAM_POINT(%b4:1:e0, %b3:1:x, %h1:1:s, %w1:2:f, %h2:3:s, %h1:3:s, %h2:4:s, %h1:4:x)", 4),
|
||||
1000:
|
||||
("CS_TERMINATOR(%h2:2:e1, %h1:2:s, %h2:3:s)", 4, None, None,
|
||||
("CS_DESTINATION(%h2:2:e1, %h1:2:s, %h2:3:s)", 4, None, None,
|
||||
None, None),
|
||||
19:
|
||||
("CS_TEXT_LIST(%w1:1:s)", 2, None, 0,
|
||||
"__SPECIAL(CS_TEXT_LIST)", 3),
|
||||
45:
|
||||
("CS_SCENE_TRANS_FX(%h2:2:x, %h1:2:s, %h2:3:s)", 4, None, None,
|
||||
("CS_TRANSITION(%h2:2:x, %h1:2:s, %h2:3:s)", 4, None, None,
|
||||
None, None),
|
||||
}
|
||||
|
||||
|
@ -389,7 +389,7 @@ def format_arg(arg, words):
|
|||
if enum_no == 0:
|
||||
result = command_continue_stop[unsigned_value]
|
||||
elif enum_no == 1:
|
||||
result = cutscene_terminator_destinations[unsigned_value]
|
||||
result = cutscene_destinations[unsigned_value]
|
||||
elif enum_no == 2:
|
||||
result = ocarina_action_ids[unsigned_value]
|
||||
elif format_type == "u":
|
||||
|
@ -412,9 +412,9 @@ def format_cmd(cmd, words):
|
|||
if get_short_unsigned(words[1], 0) == 0xFFFF:
|
||||
cmd = "CS_TEXT_NONE(%h1:1:s, %h2:2:s)"
|
||||
elif get_short(words[2], 1) == 2:
|
||||
cmd = "CS_TEXT_LEARN_SONG(%h2:1:e2, %h1:1:s, %h2:2:s, %h2:3:x)"
|
||||
cmd = "CS_TEXT_OCARINA_ACTION(%h2:1:e2, %h1:1:s, %h2:2:s, %h2:3:x)"
|
||||
else:
|
||||
cmd = "CS_TEXT_DISPLAY_TEXTBOX(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x)"
|
||||
cmd = "CS_TEXT(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x)"
|
||||
for arg in args_list(cmd):
|
||||
cmd = cmd.replace(arg, format_arg(arg, words))
|
||||
return cmd
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue