From fe6494187ec658f10635fb7acad65a9ccc9f45ab Mon Sep 17 00:00:00 2001 From: Derek Hensley Date: Fri, 19 Jan 2024 16:16:57 -0800 Subject: [PATCH] Text Extraction + some Message Docs (#1530) * Some Decoder WIPs * Improvements * POC * Fix bss * another newline * Staff OK * Cleanup + fix progress script * script cleanup * Some docs * makefile * Extract text from extract_assets.py * More docs * Even more docs * Other message assets * Small cleanups * Clean up decoders/encoders * Message_SetupLoadItemIcon -> Message_DecodeHeader * Some more docs * Remove mkdmadata * Fade Skippable * More cmd docs * 1 left * Last notes * HS_TIMER -> HS_TIME * More general docs * Format * Note the charmap conversion for buttons in message_data_fmt_nes.h * Remove trailing whitespace * Small fixes * PR --- Makefile | 13 +- assets/text/message_data_static.c | 10 + assets/text/staff_message_data_static.c | 10 + assets/xml/interface/message_static.xml | 12 + .../xml/interface/message_texture_static.xml | 6 + extract_assets.py | 43 +- include/message_data_fmt_nes.h | 340 ++++ include/message_data_fmt_staff.h | 180 ++ include/message_data_static.h | 14 + include/z64message.h | 64 +- include/z_en_hy_code.h | 2 +- spec | 14 +- src/boot/fault.c | 1 - src/code/title_setup.c | 6 +- src/code/z_bgcheck.c | 1 + src/code/z_demo.c | 6 +- src/code/z_kanfont.c | 2 +- src/code/z_message.c | 311 ++-- src/code/z_message_nes.c | 491 +++--- src/code/z_message_staff.c | 147 +- src/code/z_message_tables.inc.c | 1561 ----------------- src/code/z_play.c | 2 +- .../actors/ovl_Bg_Ingate/z_bg_ingate.c | 2 +- .../ovl_En_Akindonuts/z_en_akindonuts.c | 8 +- .../actors/ovl_En_Aob_01/z_en_aob_01.c | 20 +- src/overlays/actors/ovl_En_Az/z_en_az.c | 10 +- src/overlays/actors/ovl_En_Baba/z_en_baba.c | 6 +- src/overlays/actors/ovl_En_Baba/z_en_baba.h | 2 +- .../actors/ovl_En_Baisen/z_en_baisen.c | 2 +- src/overlays/actors/ovl_En_Bal/z_en_bal.c | 10 +- .../actors/ovl_En_Bba_01/z_en_bba_01.c | 4 +- .../actors/ovl_En_Bji_01/z_en_bji_01.c | 2 +- src/overlays/actors/ovl_En_Bjt/z_en_bjt.c | 4 +- .../ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c | 4 +- .../actors/ovl_En_Bombers/z_en_bombers.c | 8 +- .../actors/ovl_En_Bombers2/z_en_bombers2.c | 16 +- .../actors/ovl_En_Bomjima/z_en_bomjima.c | 6 +- .../actors/ovl_En_Bomjimb/z_en_bomjimb.c | 4 +- .../actors/ovl_En_Cne_01/z_en_cne_01.c | 4 +- src/overlays/actors/ovl_En_Cow/z_en_cow.c | 6 +- src/overlays/actors/ovl_En_Daiku/z_en_daiku.c | 2 +- .../actors/ovl_En_Daiku2/z_en_daiku2.c | 2 +- .../ovl_En_Demo_heishi/z_en_demo_heishi.c | 2 +- src/overlays/actors/ovl_En_Dno/z_en_dno.c | 10 +- src/overlays/actors/ovl_En_Elf/z_en_elf.c | 2 +- src/overlays/actors/ovl_En_Fish2/z_en_fish2.c | 2 +- .../actors/ovl_En_Fishing/z_en_fishing.c | 12 +- src/overlays/actors/ovl_En_Fsn/z_en_fsn.c | 25 +- src/overlays/actors/ovl_En_Fu/z_en_fu.c | 10 +- src/overlays/actors/ovl_En_Gb2/z_en_gb2.c | 8 +- src/overlays/actors/ovl_En_Geg/z_en_geg.c | 8 +- src/overlays/actors/ovl_En_Gg/z_en_gg.c | 2 +- src/overlays/actors/ovl_En_Gg2/z_en_gg2.c | 2 +- .../actors/ovl_En_Ginko_Man/z_en_ginko_man.c | 38 +- src/overlays/actors/ovl_En_Gk/z_en_gk.c | 4 +- src/overlays/actors/ovl_En_Gm/z_en_gm.c | 4 +- src/overlays/actors/ovl_En_Gs/z_en_gs.c | 6 +- .../ovl_En_Guard_Nuts/z_en_guard_nuts.c | 4 +- .../actors/ovl_En_Guruguru/z_en_guruguru.c | 4 +- src/overlays/actors/ovl_En_Hgo/z_en_hgo.c | 6 +- .../ovl_En_Hidden_Nuts/z_en_hidden_nuts.c | 2 +- .../actors/ovl_En_Hint_Skb/z_en_hint_skb.c | 6 +- src/overlays/actors/ovl_En_Hs/z_en_hs.c | 2 +- src/overlays/actors/ovl_En_In/z_en_in.c | 6 +- src/overlays/actors/ovl_En_Ja/z_en_ja.c | 5 +- src/overlays/actors/ovl_En_Jg/z_en_jg.c | 6 +- .../actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c | 6 +- src/overlays/actors/ovl_En_Js/z_en_js.c | 10 +- src/overlays/actors/ovl_En_Jso/z_en_jso.c | 10 +- src/overlays/actors/ovl_En_Jso2/z_en_jso2.c | 2 +- .../actors/ovl_En_Kaizoku/z_en_kaizoku.c | 8 +- .../actors/ovl_En_Kakasi/z_en_kakasi.c | 20 +- .../actors/ovl_En_Kendo_Js/z_en_kendo_js.c | 8 +- src/overlays/actors/ovl_En_Kgy/z_en_kgy.c | 14 +- .../actors/ovl_En_Kujiya/z_en_kujiya.c | 4 +- .../actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c | 13 +- .../actors/ovl_En_Look_Nuts/z_en_look_nuts.c | 2 +- src/overlays/actors/ovl_En_Ma4/z_en_ma4.c | 6 +- .../actors/ovl_En_Ma_Yto/z_en_ma_yto.c | 28 +- .../actors/ovl_En_Ma_Yts/z_en_ma_yts.c | 6 +- .../actors/ovl_En_Minifrog/z_en_minifrog.c | 4 +- src/overlays/actors/ovl_En_Mk/z_en_mk.c | 4 +- src/overlays/actors/ovl_En_Mm2/z_en_mm2.c | 2 +- src/overlays/actors/ovl_En_Mm3/z_en_mm3.c | 6 +- src/overlays/actors/ovl_En_Mnk/z_en_mnk.c | 20 +- src/overlays/actors/ovl_En_Ms/z_en_ms.c | 2 +- .../actors/ovl_En_Mt_tag/z_en_mt_tag.c | 2 +- src/overlays/actors/ovl_En_Muto/z_en_muto.c | 2 +- src/overlays/actors/ovl_En_Nb/z_en_nb.c | 4 +- .../actors/ovl_En_Onpuman/z_en_onpuman.c | 4 +- src/overlays/actors/ovl_En_Osn/z_en_osn.c | 2 +- src/overlays/actors/ovl_En_Ossan/z_en_ossan.c | 19 +- src/overlays/actors/ovl_En_Ot/z_en_ot.c | 12 +- src/overlays/actors/ovl_En_Owl/z_en_owl.c | 8 +- .../actors/ovl_En_Pamera/z_en_pamera.c | 6 +- src/overlays/actors/ovl_En_Pm/z_en_pm.c | 4 +- src/overlays/actors/ovl_En_Pst/z_en_pst.c | 4 +- .../actors/ovl_En_Rail_Skb/z_en_rail_skb.c | 6 +- .../actors/ovl_En_Railgibud/z_en_railgibud.c | 6 +- .../actors/ovl_En_Recepgirl/z_en_recepgirl.c | 2 +- src/overlays/actors/ovl_En_Rz/z_en_rz.c | 6 +- .../actors/ovl_En_S_Goro/z_en_s_goro.c | 2 +- .../actors/ovl_En_Scopenuts/z_en_scopenuts.c | 2 +- .../actors/ovl_En_Sekihi/z_en_sekihi.c | 2 +- .../actors/ovl_En_Sellnuts/z_en_sellnuts.c | 14 +- src/overlays/actors/ovl_En_Shn/z_en_shn.c | 4 +- src/overlays/actors/ovl_En_Skb/z_en_skb.c | 6 +- src/overlays/actors/ovl_En_Sob1/z_en_sob1.c | 15 +- src/overlays/actors/ovl_En_Ssh/z_en_ssh.c | 2 +- src/overlays/actors/ovl_En_Sth/z_en_sth.c | 8 +- .../ovl_En_Stone_heishi/z_en_stone_heishi.c | 6 +- .../ovl_En_Stop_heishi/z_en_stop_heishi.c | 2 +- .../actors/ovl_En_Suttari/z_en_suttari.c | 8 +- .../ovl_En_Syateki_Man/z_en_syateki_man.c | 20 +- src/overlays/actors/ovl_En_Tab/z_en_tab.c | 4 +- .../actors/ovl_En_Takaraya/z_en_takaraya.c | 4 +- .../ovl_En_Talk_Gibud/z_en_talk_gibud.c | 12 +- src/overlays/actors/ovl_En_Test3/z_en_test3.c | 2 +- .../actors/ovl_En_Time_Tag/z_en_time_tag.c | 6 +- src/overlays/actors/ovl_En_Tk/z_en_tk.c | 12 +- src/overlays/actors/ovl_En_Toto/z_en_toto.c | 2 +- src/overlays/actors/ovl_En_Trt/z_en_trt.c | 31 +- src/overlays/actors/ovl_En_Trt2/z_en_trt2.c | 10 +- src/overlays/actors/ovl_En_Tru/z_en_tru.c | 4 +- .../actors/ovl_En_Tru_Mt/z_en_tru_mt.c | 2 +- src/overlays/actors/ovl_En_Tsn/z_en_tsn.c | 8 +- src/overlays/actors/ovl_En_Yb/z_en_yb.c | 2 +- src/overlays/actors/ovl_En_Zob/z_en_zob.c | 10 +- src/overlays/actors/ovl_En_Zod/z_en_zod.c | 6 +- src/overlays/actors/ovl_En_Zog/z_en_zog.c | 6 +- src/overlays/actors/ovl_En_Zos/z_en_zos.c | 8 +- src/overlays/actors/ovl_En_Zot/z_en_zot.c | 22 +- src/overlays/actors/ovl_En_Zov/z_en_zov.c | 4 +- src/overlays/actors/ovl_En_Zow/z_en_zow.c | 2 +- .../actors/ovl_Obj_Ghaka/z_obj_ghaka.c | 2 +- .../actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c | 6 +- src/overlays/actors/ovl_Obj_Um/z_obj_um.c | 2 +- .../actors/ovl_player_actor/z_player.c | 1 - tools/disasm/functions.txt | 4 +- tools/disasm/variables.txt | 28 +- tools/msg/nes/msgdisNES.py | 316 ++++ tools/msg/nes/msgencNES.py | 85 + tools/msg/staff/msgdisStaff.py | 231 +++ tools/msg/staff/msgencStaff.py | 72 + tools/namefixer.py | 10 + tools/progress.py | 15 +- tools/sizes/code_functions.csv | 2 +- 147 files changed, 2338 insertions(+), 2480 deletions(-) create mode 100644 assets/text/message_data_static.c create mode 100644 assets/text/staff_message_data_static.c create mode 100644 assets/xml/interface/message_static.xml create mode 100644 assets/xml/interface/message_texture_static.xml create mode 100644 include/message_data_fmt_nes.h create mode 100644 include/message_data_fmt_staff.h delete mode 100644 src/code/z_message_tables.inc.c create mode 100755 tools/msg/nes/msgdisNES.py create mode 100755 tools/msg/nes/msgencNES.py create mode 100755 tools/msg/staff/msgdisStaff.py create mode 100755 tools/msg/staff/msgencStaff.py diff --git a/Makefile b/Makefile index 346fea6dd7..bd86bcc51a 100644 --- a/Makefile +++ b/Makefile @@ -172,7 +172,7 @@ SRC_DIRS := $(shell find src -type d) ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell find data -type d) ## Assets binaries (PNGs, JPGs, etc) -ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/c/*" -not -name "c") +ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/c/*" -not -name "c" -not -path "assets/text") # Prevents building C files that will be #include'd ASSET_BIN_DIRS_C_FILES := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/code*" -not -path "assets/overlays*") @@ -302,6 +302,7 @@ clean: assetclean: $(RM) -rf $(ASSET_BIN_DIRS) + $(RM) -rf assets/text/*.h $(RM) -rf build/assets $(RM) -rf .extracted-assets.json @@ -373,6 +374,16 @@ build/baserom/%.o: baserom/% build/data/%.o: data/%.s $(AS) $(ASFLAGS) $< -o $@ +build/assets/text/message_data.enc.h: assets/text/message_data.h + python3 tools/msg/nes/msgencNES.py -o $@ $< + +build/assets/text/staff_message_data.enc.h: assets/text/staff_message_data.h + python3 tools/msg/staff/msgencStaff.py -o $@ $< + +build/assets/text/message_data_static.o: build/assets/text/message_data.enc.h +build/assets/text/staff_message_data_static.o: build/assets/text/staff_message_data.enc.h +build/src/code/z_message.o: build/assets/text/message_data.enc.h build/assets/text/staff_message_data.enc.h + build/src/overlays/%.o: src/overlays/%.c $(CC_CHECK) $< $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< diff --git a/assets/text/message_data_static.c b/assets/text/message_data_static.c new file mode 100644 index 0000000000..5d1878fb1d --- /dev/null +++ b/assets/text/message_data_static.c @@ -0,0 +1,10 @@ +#define MESSAGE_DATA_STATIC + +#include "message_data_fmt_nes.h" + +#define DEFINE_MESSAGE(textId, typePos, msg) \ + const char _message_##textId[sizeof(msg)] = { msg CMD_END }; + +#include "assets/text/message_data.enc.h" + +#undef DEFINE_MESSAGE diff --git a/assets/text/staff_message_data_static.c b/assets/text/staff_message_data_static.c new file mode 100644 index 0000000000..409febe28f --- /dev/null +++ b/assets/text/staff_message_data_static.c @@ -0,0 +1,10 @@ +#define MESSAGE_DATA_STATIC + +#include "message_data_fmt_staff.h" + +#define DEFINE_MESSAGE(textId, typePos, msg) \ + const char _message_##textId##_staff[sizeof(msg)] = { msg CMD_END }; + +#include "assets/text/staff_message_data.enc.h" + +#undef DEFINE_MESSAGE diff --git a/assets/xml/interface/message_static.xml b/assets/xml/interface/message_static.xml new file mode 100644 index 0000000000..81024355bc --- /dev/null +++ b/assets/xml/interface/message_static.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/xml/interface/message_texture_static.xml b/assets/xml/interface/message_texture_static.xml new file mode 100644 index 0000000000..d7ecf17458 --- /dev/null +++ b/assets/xml/interface/message_texture_static.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/extract_assets.py b/extract_assets.py index 4d64d7d135..3ac78ae942 100755 --- a/extract_assets.py +++ b/extract_assets.py @@ -111,23 +111,46 @@ def main(): signal.signal(signal.SIGINT, SignalHandler) extractedAssetsTracker = manager.dict() - if os.path.exists(EXTRACTED_ASSETS_NAMEFILE) and not args.force: + if not args.force and os.path.exists(EXTRACTED_ASSETS_NAMEFILE): with open(EXTRACTED_ASSETS_NAMEFILE, encoding='utf-8') as f: extractedAssetsTracker.update(json.load(f, object_hook=manager.dict)) + extract_text_path = "assets/text/message_data.h" + extract_staff_text_path = "assets/text/staff_message_data.h" + asset_path = args.single if asset_path is not None: - fullPath = os.path.join("assets", "xml", asset_path + ".xml") - if not os.path.exists(fullPath): - print(f"Error. File {fullPath} does not exist.", file=os.sys.stderr) - exit(1) + if "text/" in asset_path: + from tools.msg.nes import msgdisNES + print("Extracting message_data") + msgdisNES.main(extract_text_path) - initializeWorker(mainAbort, args.unaccounted, extractedAssetsTracker, manager) - # Always extract if -s is used. - if fullPath in extractedAssetsTracker: - del extractedAssetsTracker[fullPath] - ExtractFunc(fullPath) + from tools.msg.staff import msgdisStaff + print("Extracting staff_message_data") + msgdisStaff.main(extract_staff_text_path) + else: + fullPath = os.path.join("assets", "xml", asset_path + ".xml") + if not os.path.exists(fullPath): + print(f"Error. File {fullPath} does not exist.", file=os.sys.stderr) + exit(1) + + initializeWorker(mainAbort, args.unaccounted, extractedAssetsTracker, manager) + # Always extract if -s is used. + if fullPath in extractedAssetsTracker: + del extractedAssetsTracker[fullPath] + ExtractFunc(fullPath) else: + # Only extract text if the header does not already exist, or if --force was passed + if args.force or not os.path.isfile(extract_text_path): + from tools.msg.nes import msgdisNES + print("Extracting message_data") + msgdisNES.main(extract_text_path) + + if args.force or not os.path.isfile(extract_staff_text_path): + from tools.msg.staff import msgdisStaff + print("Extracting staff_message_data") + msgdisStaff.main(extract_staff_text_path) + xmlFiles = [] for currentPath, _, files in os.walk(os.path.join("assets", "xml")): for file in files: diff --git a/include/message_data_fmt_nes.h b/include/message_data_fmt_nes.h new file mode 100644 index 0000000000..f2f58f96ee --- /dev/null +++ b/include/message_data_fmt_nes.h @@ -0,0 +1,340 @@ +#ifndef MESSAGE_DATA_FMT_NES_H +#define MESSAGE_DATA_FMT_NES_H + +/* + * Macros to create both a constant and a string literal from a magic value + * The constants are used in code files when parsing text for various purposes + * The strings are used in the message_data_static files themselves, as you can only concat strings with other strings + */ + +#ifndef GLUE +#define GLUE(a, b) a##b +#endif + +#define STRINGIFY(s) #s +#define EXPAND_AND_STRINGIFY(s) STRINGIFY(s) + +#define HEX(N) GLUE(0x, N) +#define STR(N) EXPAND_AND_STRINGIFY(GLUE(\x, N)) + +/* + * Text control characters + */ + +// Control character magic values, in 2-digit hex without prefix +#define CTRL_COLOR_DEFAULT 00 +#define CTRL_COLOR_RED 01 +#define CTRL_COLOR_GREEN 02 +#define CTRL_COLOR_BLUE 03 +#define CTRL_COLOR_YELLOW 04 +#define CTRL_COLOR_LIGHTBLUE 05 +#define CTRL_COLOR_PINK 06 +#define CTRL_COLOR_SILVER 07 +#define CTRL_COLOR_ORANGE 08 +#define CTRL_TEXT_SPEED 0A // Note this should take an arg 0 to 6, but always just sets next decode char as 0 +#define CTRL_HS_BOAT_ARCHERY 0B +#define CTRL_STRAY_FAIRIES 0C +#define CTRL_TOKENS 0D +#define CTRL_POINTS_TENS 0E +#define CTRL_POINTS_THOUSANDS 0F +#define CTRL_BOX_BREAK 10 +#define CTRL_NEWLINE 11 +#define CTRL_BOX_BREAK2 12 +#define CTRL_CARRIAGE_RETURN 13 +#define CTRL_SHIFT 14 +#define CTRL_CONTINUE 15 +#define CTRL_NAME 16 +#define CTRL_QUICKTEXT_ENABLE 17 +#define CTRL_QUICKTEXT_DISABLE 18 +#define CTRL_EVENT 19 +#define CTRL_PERSISTENT 1A +#define CTRL_BOX_BREAK_DELAYED 1B +#define CTRL_FADE 1C +#define CTRL_FADE_SKIPPABLE 1D +#define CTRL_SFX 1E +#define CTRL_DELAY 1F +#define CTRL_BTN_A B0 +#define CTRL_BTN_B B1 +#define CTRL_BTN_C B2 +#define CTRL_BTN_L B3 +#define CTRL_BTN_R B4 +#define CTRL_BTN_Z B5 +#define CTRL_BTN_CUP B6 +#define CTRL_BTN_CDOWN B7 +#define CTRL_BTN_CLEFT B8 +#define CTRL_BTN_CRIGHT B9 +#define CTRL_Z_TARGET BA +#define CTRL_CONTROL_PAD BB +#define CTRL_END BF +#define CTRL_BACKGROUND C1 +#define CTRL_TWO_CHOICE C2 +#define CTRL_THREE_CHOICE C3 +#define CTRL_TIMER_POSTMAN C4 +#define CTRL_TIMER_MINIGAME_1 C5 +#define CTRL_TIMER_2 C6 +#define CTRL_TIMER_MOON_CRASH C7 +#define CTRL_TIMER_MINIGAME_2 C8 +#define CTRL_TIMER_ENV_HAZARD C9 +#define CTRL_TIME CA +#define CTRL_CHEST_FLAGS CB +#define CTRL_INPUT_BANK CC +#define CTRL_RUPEES_SELECTED CD +#define CTRL_RUPEES_TOTAL CE +#define CTRL_TIME_UNTIL_MOON_CRASH CF +#define CTRL_INPUT_DOGGY_RACETRACK_BET D0 +#define CTRL_INPUT_BOMBER_CODE D1 +#define CTRL_PAUSE_MENU D2 +#define CTRL_TIME_SPEED D3 +#define CTRL_OWL_WARP D4 +#define CTRL_INPUT_LOTTERY_CODE D5 +#define CTRL_SPIDER_HOUSE_MASK_CODE D6 +#define CTRL_STRAY_FAIRIES_LEFT_WOODFALL D7 +#define CTRL_STRAY_FAIRIES_LEFT_SNOWHEAD D8 +#define CTRL_STRAY_FAIRIES_LEFT_GREAT_BAY D9 +#define CTRL_STRAY_FAIRIES_LEFT_STONE_TOWER DA +#define CTRL_POINTS_BOAT_ARCHERY DB // Seems to be the exact same as CTRL_POINTS_THOUSANDS +#define CTRL_LOTTERY_CODE DC +#define CTRL_LOTTERY_CODE_GUESS DD +#define CTRL_HELD_ITEM_PRICE DE +#define CTRL_BOMBER_CODE DF +#define CTRL_EVENT2 E0 // Seems to be the exact same as CTRL_EVENT +#define CTRL_SPIDER_HOUSE_MASK_CODE_1 E1 +#define CTRL_SPIDER_HOUSE_MASK_CODE_2 E2 +#define CTRL_SPIDER_HOUSE_MASK_CODE_3 E3 +#define CTRL_SPIDER_HOUSE_MASK_CODE_4 E4 +#define CTRL_SPIDER_HOUSE_MASK_CODE_5 E5 +#define CTRL_SPIDER_HOUSE_MASK_CODE_6 E6 +#define CTRL_HOURS_UNTIL_MOON_CRASH E7 +#define CTRL_TIME_UNTIL_NEW_DAY E8 +#define CTRL_HS_POINTS_BANK_RUPEES F0 +#define CTRL_HS_POINTS_UNK_1 F1 +#define CTRL_HS_POINTS_FISHING F2 +#define CTRL_HS_TIME_BOAT_ARCHERY F3 // Note this interprets the highscore value as a time (not the actual timer for the minigame) +#define CTRL_HS_TIME_HORSE_BACK_BALLOON F4 // Note this interprets the highscore value as a time (not the actual timer for the minigame) +#define CTRL_HS_TIME_LOTTERY_GUESS F5 +#define CTRL_HS_TOWN_SHOOTING_GALLERY F6 +#define CTRL_HS_UNK_1 F7 +#define CTRL_HS_UNK_3_LOWER F8 +#define CTRL_HS_HORSE_BACK_BALLOON F9 +#define CTRL_HS_DEKU_PLAYGROUND_DAY_1 FA +#define CTRL_HS_DEKU_PLAYGROUND_DAY_2 FB +#define CTRL_HS_DEKU_PLAYGROUND_DAY_3 FC +#define CTRL_DEKU_PLAYGROUND_NAME_DAY_1 FD +#define CTRL_DEKU_PLAYGROUND_NAME_DAY_2 FE +#define CTRL_DEKU_PLAYGROUND_NAME_DAY_3 FF + +#ifdef MESSAGE_DATA_STATIC +// For use in message_data_static files + +#define ARG(x) x + +#define CMD_COLOR_DEFAULT STR(CTRL_COLOR_DEFAULT) +#define CMD_COLOR_RED STR(CTRL_COLOR_RED) +#define CMD_COLOR_GREEN STR(CTRL_COLOR_GREEN) +#define CMD_COLOR_BLUE STR(CTRL_COLOR_BLUE) +#define CMD_COLOR_YELLOW STR(CTRL_COLOR_YELLOW) +#define CMD_COLOR_LIGHTBLUE STR(CTRL_COLOR_LIGHTBLUE) +#define CMD_COLOR_PINK STR(CTRL_COLOR_PINK) +#define CMD_COLOR_SILVER STR(CTRL_COLOR_SILVER) +#define CMD_COLOR_ORANGE STR(CTRL_COLOR_ORANGE) +#define CMD_TEXT_SPEED STR(CTRL_TEXT_SPEED) +#define CMD_HS_BOAT_ARCHERY STR(CTRL_HS_BOAT_ARCHERY) +#define CMD_STRAY_FAIRIES STR(CTRL_STRAY_FAIRIES) +#define CMD_TOKENS STR(CTRL_TOKENS) +#define CMD_POINTS_TENS STR(CTRL_POINTS_TENS) +#define CMD_POINTS_THOUSANDS STR(CTRL_POINTS_THOUSANDS) +#define CMD_BOX_BREAK STR(CTRL_BOX_BREAK) +// while a control character, newlines are handled in the charmap conversion +// stage to allow normal newline \n usage in message_data_static files +#define CMD_NEWLINE STR(CTRL_NEWLINE) +#define CMD_BOX_BREAK2 STR(CTRL_BOX_BREAK2) +#define CMD_CARRIAGE_RETURN STR(CTRL_CARRIAGE_RETURN) +#define CMD_SHIFT(x) STR(CTRL_SHIFT) ARG(x) // 1 +#define CMD_CONTINUE STR(CTRL_CONTINUE) +#define CMD_NAME STR(CTRL_NAME) +#define CMD_QUICKTEXT_ENABLE STR(CTRL_QUICKTEXT_ENABLE) +#define CMD_QUICKTEXT_DISABLE STR(CTRL_QUICKTEXT_DISABLE) +#define CMD_EVENT STR(CTRL_EVENT) +#define CMD_PERSISTENT STR(CTRL_PERSISTENT) +#define CMD_BOX_BREAK_DELAYED(x) STR(CTRL_BOX_BREAK_DELAYED) ARG(x) // 2 +#define CMD_FADE(x) STR(CTRL_FADE) ARG(x) // 2 +#define CMD_FADE_SKIPPABLE(x) STR(CTRL_FADE_SKIPPABLE) ARG(x) // 2 +#define CMD_SFX(x) STR(CTRL_SFX) ARG(x) // 2 +#define CMD_DELAY(x) STR(CTRL_DELAY) ARG(x) // 2 +// while control characters, button images are handled in the charmap conversion +#define CMD_BTN_A STR(CTRL_BTN_A) // "[A]" +#define CMD_BTN_B STR(CTRL_BTN_B) // "[B]" +#define CMD_BTN_C STR(CTRL_BTN_C) // "[C]" +#define CMD_BTN_L STR(CTRL_BTN_L) // "[L]" +#define CMD_BTN_R STR(CTRL_BTN_R) // "[R]" +#define CMD_BTN_Z STR(CTRL_BTN_Z) // "[Z]" +#define CMD_BTN_CUP STR(CTRL_BTN_CUP) // "[C-Up]" +#define CMD_BTN_CDOWN STR(CTRL_BTN_CDOWN) // "[C-Down]" +#define CMD_BTN_CLEFT STR(CTRL_BTN_CLEFT) // "[C-Left]" +#define CMD_BTN_CRIGHT STR(CTRL_BTN_CRIGHT) // "[C-Right]" +#define CMD_Z_TARGET STR(CTRL_Z_TARGET) // "▼" +#define CMD_CONTROL_PAD STR(CTRL_CONTROL_PAD) // "[Control-Pad]" +#define CMD_END STR(CTRL_END) +#define CMD_BACKGROUND STR(CTRL_BACKGROUND) +#define CMD_TWO_CHOICE STR(CTRL_TWO_CHOICE) +#define CMD_THREE_CHOICE STR(CTRL_THREE_CHOICE) +#define CMD_TIMER_POSTMAN STR(CTRL_TIMER_POSTMAN) +#define CMD_TIMER_MINIGAME_1 STR(CTRL_TIMER_MINIGAME_1) +#define CMD_TIMER_2 STR(CTRL_TIMER_2) +#define CMD_TIMER_MOON_CRASH STR(CTRL_TIMER_MOON_CRASH) +#define CMD_TIMER_MINIGAME_2 STR(CTRL_TIMER_MINIGAME_2) +#define CMD_TIMER_ENV_HAZARD STR(CTRL_TIMER_ENV_HAZARD) +#define CMD_TIME STR(CTRL_TIME) +#define CMD_CHEST_FLAGS STR(CTRL_CHEST_FLAGS) +#define CMD_INPUT_BANK STR(CTRL_INPUT_BANK) +#define CMD_RUPEES_SELECTED STR(CTRL_RUPEES_SELECTED) +#define CMD_RUPEES_TOTAL STR(CTRL_RUPEES_TOTAL) +#define CMD_TIME_UNTIL_MOON_CRASH STR(CTRL_TIME_UNTIL_MOON_CRASH) +#define CMD_INPUT_DOGGY_RACETRACK_BET STR(CTRL_INPUT_DOGGY_RACETRACK_BET) +#define CMD_INPUT_BOMBER_CODE STR(CTRL_INPUT_BOMBER_CODE) +#define CMD_PAUSE_MENU STR(CTRL_PAUSE_MENU) +#define CMD_TIME_SPEED STR(CTRL_TIME_SPEED) +#define CMD_OWL_WARP STR(CTRL_OWL_WARP) +#define CMD_INPUT_LOTTERY_CODE STR(CTRL_INPUT_LOTTERY_CODE) +#define CMD_SPIDER_HOUSE_MASK_CODE STR(CTRL_SPIDER_HOUSE_MASK_CODE) +#define CMD_STRAY_FAIRIES_LEFT_WOODFALL STR(CTRL_STRAY_FAIRIES_LEFT_WOODFALL) +#define CMD_STRAY_FAIRIES_LEFT_SNOWHEAD STR(CTRL_STRAY_FAIRIES_LEFT_SNOWHEAD) +#define CMD_STRAY_FAIRIES_LEFT_GREAT_BAY STR(CTRL_STRAY_FAIRIES_LEFT_GREAT_BAY) +#define CMD_STRAY_FAIRIES_LEFT_STONE_TOWER STR(CTRL_STRAY_FAIRIES_LEFT_STONE_TOWER) +#define CMD_POINTS_BOAT_ARCHERY STR(CTRL_POINTS_BOAT_ARCHERY) +#define CMD_LOTTERY_CODE STR(CTRL_LOTTERY_CODE) +#define CMD_LOTTERY_CODE_GUESS STR(CTRL_LOTTERY_CODE_GUESS) +#define CMD_HELD_ITEM_PRICE STR(CTRL_HELD_ITEM_PRICE) +#define CMD_BOMBER_CODE STR(CTRL_BOMBER_CODE) +#define CMD_EVENT2 STR(CTRL_EVENT2) +#define CMD_SPIDER_HOUSE_MASK_CODE_1 STR(CTRL_SPIDER_HOUSE_MASK_CODE_1) +#define CMD_SPIDER_HOUSE_MASK_CODE_2 STR(CTRL_SPIDER_HOUSE_MASK_CODE_2) +#define CMD_SPIDER_HOUSE_MASK_CODE_3 STR(CTRL_SPIDER_HOUSE_MASK_CODE_3) +#define CMD_SPIDER_HOUSE_MASK_CODE_4 STR(CTRL_SPIDER_HOUSE_MASK_CODE_4) +#define CMD_SPIDER_HOUSE_MASK_CODE_5 STR(CTRL_SPIDER_HOUSE_MASK_CODE_5) +#define CMD_SPIDER_HOUSE_MASK_CODE_6 STR(CTRL_SPIDER_HOUSE_MASK_CODE_6) +#define CMD_HOURS_UNTIL_MOON_CRASH STR(CTRL_HOURS_UNTIL_MOON_CRASH) +#define CMD_TIME_UNTIL_NEW_DAY STR(CTRL_TIME_UNTIL_NEW_DAY) +#define CMD_HS_POINTS_BANK_RUPEES STR(CTRL_HS_POINTS_BANK_RUPEES) +#define CMD_HS_POINTS_UNK_1 STR(CTRL_HS_POINTS_UNK_1) +#define CMD_HS_POINTS_FISHING STR(CTRL_HS_POINTS_FISHING) +#define CMD_HS_TIME_BOAT_ARCHERY STR(CTRL_HS_TIME_BOAT_ARCHERY) +#define CMD_HS_TIME_HORSE_BACK_BALLOON STR(CTRL_HS_TIME_HORSE_BACK_BALLOON) +#define CMD_HS_TIME_LOTTERY_GUESS STR(CTRL_HS_TIME_LOTTERY_GUESS) +#define CMD_HS_TOWN_SHOOTING_GALLERY STR(CTRL_HS_TOWN_SHOOTING_GALLERY) +#define CMD_HS_UNK_1 STR(CTRL_HS_UNK_1) +#define CMD_HS_UNK_3_LOWER STR(CTRL_HS_UNK_3_LOWER) +#define CMD_HS_HORSE_BACK_BALLOON STR(CTRL_HS_HORSE_BACK_BALLOON) +#define CMD_HS_DEKU_PLAYGROUND_DAY_1 STR(CTRL_HS_DEKU_PLAYGROUND_DAY_1) +#define CMD_HS_DEKU_PLAYGROUND_DAY_2 STR(CTRL_HS_DEKU_PLAYGROUND_DAY_2) +#define CMD_HS_DEKU_PLAYGROUND_DAY_3 STR(CTRL_HS_DEKU_PLAYGROUND_DAY_3) +#define CMD_DEKU_PLAYGROUND_NAME_DAY_1 STR(CTRL_DEKU_PLAYGROUND_NAME_DAY_1) +#define CMD_DEKU_PLAYGROUND_NAME_DAY_2 STR(CTRL_DEKU_PLAYGROUND_NAME_DAY_2) +#define CMD_DEKU_PLAYGROUND_NAME_DAY_3 STR(CTRL_DEKU_PLAYGROUND_NAME_DAY_3) + +#else + +#define MESSAGE_COLOR_DEFAULT HEX(CTRL_COLOR_DEFAULT) +#define MESSAGE_COLOR_RED HEX(CTRL_COLOR_RED) +#define MESSAGE_COLOR_GREEN HEX(CTRL_COLOR_GREEN) +#define MESSAGE_COLOR_BLUE HEX(CTRL_COLOR_BLUE) +#define MESSAGE_COLOR_YELLOW HEX(CTRL_COLOR_YELLOW) +#define MESSAGE_COLOR_LIGHTBLUE HEX(CTRL_COLOR_LIGHTBLUE) +#define MESSAGE_COLOR_PINK HEX(CTRL_COLOR_PINK) +#define MESSAGE_COLOR_SILVER HEX(CTRL_COLOR_SILVER) +#define MESSAGE_COLOR_ORANGE HEX(CTRL_COLOR_ORANGE) +#define MESSAGE_TEXT_SPEED HEX(CTRL_TEXT_SPEED) +#define MESSAGE_HS_BOAT_ARCHERY HEX(CTRL_HS_BOAT_ARCHERY) +#define MESSAGE_STRAY_FAIRIES HEX(CTRL_STRAY_FAIRIES) +#define MESSAGE_TOKENS HEX(CTRL_TOKENS) +#define MESSAGE_POINTS_TENS HEX(CTRL_POINTS_TENS) +#define MESSAGE_POINTS_THOUSANDS HEX(CTRL_POINTS_THOUSANDS) +#define MESSAGE_BOX_BREAK HEX(CTRL_BOX_BREAK) +#define MESSAGE_NEWLINE HEX(CTRL_NEWLINE) +#define MESSAGE_BOX_BREAK2 HEX(CTRL_BOX_BREAK2) +#define MESSAGE_CARRIAGE_RETURN HEX(CTRL_CARRIAGE_RETURN) +#define MESSAGE_SHIFT HEX(CTRL_SHIFT) +#define MESSAGE_CONTINUE HEX(CTRL_CONTINUE) +#define MESSAGE_NAME HEX(CTRL_NAME) +#define MESSAGE_QUICKTEXT_ENABLE HEX(CTRL_QUICKTEXT_ENABLE) +#define MESSAGE_QUICKTEXT_DISABLE HEX(CTRL_QUICKTEXT_DISABLE) +#define MESSAGE_EVENT HEX(CTRL_EVENT) +#define MESSAGE_PERSISTENT HEX(CTRL_PERSISTENT) +#define MESSAGE_BOX_BREAK_DELAYED HEX(CTRL_BOX_BREAK_DELAYED) +#define MESSAGE_FADE HEX(CTRL_FADE) +#define MESSAGE_FADE_SKIPPABLE HEX(CTRL_FADE_SKIPPABLE) +#define MESSAGE_SFX HEX(CTRL_SFX) +#define MESSAGE_DELAY HEX(CTRL_DELAY) +#define MESSAGE_BTN_A HEX(CTRL_BTN_A) +#define MESSAGE_BTN_B HEX(CTRL_BTN_B) +#define MESSAGE_BTN_C HEX(CTRL_BTN_C) +#define MESSAGE_BTN_L HEX(CTRL_BTN_L) +#define MESSAGE_BTN_R HEX(CTRL_BTN_R) +#define MESSAGE_BTN_Z HEX(CTRL_BTN_Z) +#define MESSAGE_BTN_CUP HEX(CTRL_BTN_CUP) +#define MESSAGE_BTN_CDOWN HEX(CTRL_BTN_CDOWN) +#define MESSAGE_BTN_CLEFT HEX(CTRL_BTN_CLEFT) +#define MESSAGE_BTN_CRIGHT HEX(CTRL_BTN_CRIGHT) +#define MESSAGE_Z_TARGET HEX(CTRL_Z_TARGET) +#define MESSAGE_CONTROL_PAD HEX(CTRL_CONTROL_PAD) +#define MESSAGE_END HEX(CTRL_END) +#define MESSAGE_BACKGROUND HEX(CTRL_BACKGROUND) +#define MESSAGE_TWO_CHOICE HEX(CTRL_TWO_CHOICE) +#define MESSAGE_THREE_CHOICE HEX(CTRL_THREE_CHOICE) +#define MESSAGE_TIMER_POSTMAN HEX(CTRL_TIMER_POSTMAN) +#define MESSAGE_TIMER_MINIGAME_1 HEX(CTRL_TIMER_MINIGAME_1) +#define MESSAGE_TIMER_2 HEX(CTRL_TIMER_2) +#define MESSAGE_TIMER_MOON_CRASH HEX(CTRL_TIMER_MOON_CRASH) +#define MESSAGE_TIMER_MINIGAME_2 HEX(CTRL_TIMER_MINIGAME_2) +#define MESSAGE_TIMER_ENV_HAZARD HEX(CTRL_TIMER_ENV_HAZARD) +#define MESSAGE_TIME HEX(CTRL_TIME) +#define MESSAGE_CHEST_FLAGS HEX(CTRL_CHEST_FLAGS) +#define MESSAGE_INPUT_BANK HEX(CTRL_INPUT_BANK) +#define MESSAGE_RUPEES_SELECTED HEX(CTRL_RUPEES_SELECTED) +#define MESSAGE_RUPEES_TOTAL HEX(CTRL_RUPEES_TOTAL) +#define MESSAGE_TIME_UNTIL_MOON_CRASH HEX(CTRL_TIME_UNTIL_MOON_CRASH) +#define MESSAGE_INPUT_DOGGY_RACETRACK_BET HEX(CTRL_INPUT_DOGGY_RACETRACK_BET) +#define MESSAGE_INPUT_BOMBER_CODE HEX(CTRL_INPUT_BOMBER_CODE) +#define MESSAGE_PAUSE_MENU HEX(CTRL_PAUSE_MENU) +#define MESSAGE_TIME_SPEED HEX(CTRL_TIME_SPEED) +#define MESSAGE_OWL_WARP HEX(CTRL_OWL_WARP) +#define MESSAGE_INPUT_LOTTERY_CODE HEX(CTRL_INPUT_LOTTERY_CODE) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE HEX(CTRL_SPIDER_HOUSE_MASK_CODE) +#define MESSAGE_STRAY_FAIRIES_LEFT_WOODFALL HEX(CTRL_STRAY_FAIRIES_LEFT_WOODFALL) +#define MESSAGE_STRAY_FAIRIES_LEFT_SNOWHEAD HEX(CTRL_STRAY_FAIRIES_LEFT_SNOWHEAD) +#define MESSAGE_STRAY_FAIRIES_LEFT_GREAT_BAY HEX(CTRL_STRAY_FAIRIES_LEFT_GREAT_BAY) +#define MESSAGE_STRAY_FAIRIES_LEFT_STONE_TOWER HEX(CTRL_STRAY_FAIRIES_LEFT_STONE_TOWER) +#define MESSAGE_POINTS_BOAT_ARCHERY HEX(CTRL_POINTS_BOAT_ARCHERY) +#define MESSAGE_LOTTERY_CODE HEX(CTRL_LOTTERY_CODE) +#define MESSAGE_LOTTERY_CODE_GUESS HEX(CTRL_LOTTERY_CODE_GUESS) +#define MESSAGE_HELD_ITEM_PRICE HEX(CTRL_HELD_ITEM_PRICE) +#define MESSAGE_BOMBER_CODE HEX(CTRL_BOMBER_CODE) +#define MESSAGE_EVENT2 HEX(CTRL_EVENT2) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE_1 HEX(CTRL_SPIDER_HOUSE_MASK_CODE_1) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE_2 HEX(CTRL_SPIDER_HOUSE_MASK_CODE_2) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE_3 HEX(CTRL_SPIDER_HOUSE_MASK_CODE_3) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE_4 HEX(CTRL_SPIDER_HOUSE_MASK_CODE_4) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE_5 HEX(CTRL_SPIDER_HOUSE_MASK_CODE_5) +#define MESSAGE_SPIDER_HOUSE_MASK_CODE_6 HEX(CTRL_SPIDER_HOUSE_MASK_CODE_6) +#define MESSAGE_HOURS_UNTIL_MOON_CRASH HEX(CTRL_HOURS_UNTIL_MOON_CRASH) +#define MESSAGE_TIME_UNTIL_NEW_DAY HEX(CTRL_TIME_UNTIL_NEW_DAY) +#define MESSAGE_HS_POINTS_BANK_RUPEES HEX(CTRL_HS_POINTS_BANK_RUPEES) +#define MESSAGE_HS_POINTS_UNK_1 HEX(CTRL_HS_POINTS_UNK_1) +#define MESSAGE_HS_POINTS_FISHING HEX(CTRL_HS_POINTS_FISHING) +#define MESSAGE_HS_TIME_BOAT_ARCHERY HEX(CTRL_HS_TIME_BOAT_ARCHERY) +#define MESSAGE_HS_TIME_HORSE_BACK_BALLOON HEX(CTRL_HS_TIME_HORSE_BACK_BALLOON) +#define MESSAGE_HS_TIME_LOTTERY_GUESS HEX(CTRL_HS_TIME_LOTTERY_GUESS) +#define MESSAGE_HS_TOWN_SHOOTING_GALLERY HEX(CTRL_HS_TOWN_SHOOTING_GALLERY) +#define MESSAGE_HS_UNK_1 HEX(CTRL_HS_UNK_1) +#define MESSAGE_HS_UNK_3_LOWER HEX(CTRL_HS_UNK_3_LOWER) +#define MESSAGE_HS_HORSE_BACK_BALLOON HEX(CTRL_HS_HORSE_BACK_BALLOON) +#define MESSAGE_HS_DEKU_PLAYGROUND_DAY_1 HEX(CTRL_HS_DEKU_PLAYGROUND_DAY_1) +#define MESSAGE_HS_DEKU_PLAYGROUND_DAY_2 HEX(CTRL_HS_DEKU_PLAYGROUND_DAY_2) +#define MESSAGE_HS_DEKU_PLAYGROUND_DAY_3 HEX(CTRL_HS_DEKU_PLAYGROUND_DAY_3) +#define MESSAGE_DEKU_PLAYGROUND_NAME_DAY_1 HEX(CTRL_DEKU_PLAYGROUND_NAME_DAY_1) +#define MESSAGE_DEKU_PLAYGROUND_NAME_DAY_2 HEX(CTRL_DEKU_PLAYGROUND_NAME_DAY_2) +#define MESSAGE_DEKU_PLAYGROUND_NAME_DAY_3 HEX(CTRL_DEKU_PLAYGROUND_NAME_DAY_3) + +#endif + +#endif diff --git a/include/message_data_fmt_staff.h b/include/message_data_fmt_staff.h new file mode 100644 index 0000000000..011e273340 --- /dev/null +++ b/include/message_data_fmt_staff.h @@ -0,0 +1,180 @@ +#ifndef MESSAGE_DATA_FMT_STAFF_H +#define MESSAGE_DATA_FMT_STAFF_H + +/* + * Macros to create both a constant and a string literal from a magic value + * The constants are used in code files when parsing text for various purposes + * The strings are used in the message_data_static files themselves, as you can only concat strings with other strings + */ + +#ifndef GLUE +#define GLUE(a, b) a##b +#endif + +#define STRINGIFY(s) #s +#define EXPAND_AND_STRINGIFY(s) STRINGIFY(s) + +#define HEX(N) GLUE(0x, N) +#define STR(N) EXPAND_AND_STRINGIFY(GLUE(\x, N)) + +/* + * Text control characters + */ + +// Control character magic values, in 2-digit hex without prefix + +#define CTRL_NEWLINE 01 +#define CTRL_END 02 +#define CTRL_BOX_BREAK 04 +#define CTRL_COLOR 05 +#define CTRL_SHIFT 06 +#define CTRL_TEXTID 07 +#define CTRL_QUICKTEXT_ENABLE 08 +#define CTRL_QUICKTEXT_DISABLE 09 +#define CTRL_PERSISTENT 0A +#define CTRL_EVENT 0B +#define CTRL_BOX_BREAK_DELAYED 0C +#define CTRL_AWAIT_BUTTON_PRESS 0D +#define CTRL_FADE 0E +#define CTRL_NAME 0F +#define CTRL_OCARINA 10 +#define CTRL_FADE2 11 +#define CTRL_SFX 12 +#define CTRL_ITEM_ICON 13 +#define CTRL_TEXT_SPEED 14 +#define CTRL_BACKGROUND 15 +#define CTRL_MARATHON_TIME 16 +#define CTRL_RACE_TIME 17 +#define CTRL_POINTS 18 +#define CTRL_TOKENS 19 +#define CTRL_UNSKIPPABLE 1A +#define CTRL_TWO_CHOICE 1B +#define CTRL_THREE_CHOICE 1C +#define CTRL_FISH_INFO 1D +#define CTRL_HIGHSCORE 1E +#define CTRL_TIME 1F + +/* + * Colors + */ + +#define COLOR_STR(N) EXPAND_AND_STRINGIFY(GLUE(\x4, N)) + +// Color magic values, in single-digit hex without prefix + +#define CTRL_DEFAULT 0 +#define CTRL_RED 1 +#define CTRL_ADJUSTABLE 2 +#define CTRL_BLUE 3 +#define CTRL_LIGHTBLUE 4 +#define CTRL_PURPLE 5 +#define CTRL_YELLOW 6 +#define CTRL_BLACK 7 + +#ifdef MESSAGE_DATA_STATIC +// For use in message_data_static files + +#define ARG(x) x + +// while a control character, newlines are handled in the charmap conversion +// stage to allow normal newline \n usage in message_data_static files +#define CMD_NEWLINE STR(CTRL_NEWLINE) +#define CMD_END STR(CTRL_END) +#define CMD_BOX_BREAK STR(CTRL_BOX_BREAK) +#define CMD_COLOR(x) STR(CTRL_COLOR) ARG(x) // 1 +#define CMD_SHIFT(x) STR(CTRL_SHIFT) ARG(x) // 1 +#define CMD_TEXTID(x) STR(CTRL_TEXTID) ARG(x) // 2 +#define CMD_QUICKTEXT_ENABLE STR(CTRL_QUICKTEXT_ENABLE) +#define CMD_QUICKTEXT_DISABLE STR(CTRL_QUICKTEXT_DISABLE) +#define CMD_PERSISTENT STR(CTRL_PERSISTENT) +#define CMD_EVENT STR(CTRL_EVENT) +#define CMD_BOX_BREAK_DELAYED(x) STR(CTRL_BOX_BREAK_DELAYED) ARG(x) // 1 +#define CMD_AWAIT_BUTTON_PRESS STR(CTRL_AWAIT_BUTTON_PRESS) +#define CMD_FADE(x) STR(CTRL_FADE) ARG(x) // 1 +#define CMD_NAME STR(CTRL_NAME) +#define CMD_OCARINA STR(CTRL_OCARINA) +#define CMD_FADE2(x) STR(CTRL_FADE2) ARG(x) // 2 +#define CMD_SFX(x) STR(CTRL_SFX) ARG(x) // 2 +#define CMD_ITEM_ICON(x) STR(CTRL_ITEM_ICON) ARG(x) // 1 +#define CMD_TEXT_SPEED(x) STR(CTRL_TEXT_SPEED) ARG(x) // 1 +#define CMD_BACKGROUND(x,y,z) STR(CTRL_BACKGROUND) ARG(x) ARG(y) ARG(z) +#define CMD_MARATHON_TIME STR(CTRL_MARATHON_TIME) +#define CMD_RACE_TIME STR(CTRL_RACE_TIME) +#define CMD_POINTS STR(CTRL_POINTS) +#define CMD_TOKENS STR(CTRL_TOKENS) +#define CMD_UNSKIPPABLE STR(CTRL_UNSKIPPABLE) +#define CMD_TWO_CHOICE STR(CTRL_TWO_CHOICE) +#define CMD_THREE_CHOICE STR(CTRL_THREE_CHOICE) +#define CMD_FISH_INFO STR(CTRL_FISH_INFO) +#define CMD_HIGHSCORE(x) STR(CTRL_HIGHSCORE) ARG(x) // 1 +#define CMD_TIME STR(CTRL_TIME) + +/* + * Highscore values as strings, for code references the HighScores + * enum should be used. + */ + +#define HS_BANK_RUPEES "\x00" +#define HS_UNK_1 "\x01" +#define HS_FISHING "\x02" +#define HS_BOAT_ARCHERY "\x03" +#define HS_HORSE_BACK_BALLOON "\x04" +#define HS_SHOOTING_GALLERY "\x06" + +/* + * Color values as strings + */ + +#define DEFAULT COLOR_STR(CTRL_DEFAULT) +#define RED COLOR_STR(CTRL_RED) +#define ADJUSTABLE COLOR_STR(CTRL_ADJUSTABLE) +#define BLUE COLOR_STR(CTRL_BLUE) +#define LIGHTBLUE COLOR_STR(CTRL_LIGHTBLUE) +#define PURPLE COLOR_STR(CTRL_PURPLE) +#define YELLOW COLOR_STR(CTRL_YELLOW) +#define BLACK COLOR_STR(CTRL_BLACK) + +#else +// For use in code files +#define MSGCOL_DEFAULT HEX(CTRL_DEFAULT) +#define MSGCOL_RED HEX(CTRL_RED) +#define MSGCOL_ADJUSTABLE HEX(CTRL_ADJUSTABLE) +#define MSGCOL_BLUE HEX(CTRL_BLUE) +#define MSGCOL_LIGHTBLUE HEX(CTRL_LIGHTBLUE) +#define MSGCOL_PURPLE HEX(CTRL_PURPLE) +#define MSGCOL_YELLOW HEX(CTRL_YELLOW) +#define MSGCOL_BLACK HEX(CTRL_BLACK) + +#define MESSAGE_NEWLINE HEX(CTRL_NEWLINE) +#define MESSAGE_END HEX(CTRL_END) +#define MESSAGE_BOX_BREAK HEX(CTRL_BOX_BREAK) +#define MESSAGE_COLOR HEX(CTRL_COLOR) +#define MESSAGE_SHIFT HEX(CTRL_SHIFT) +#define MESSAGE_TEXTID HEX(CTRL_TEXTID) +#define MESSAGE_QUICKTEXT_ENABLE HEX(CTRL_QUICKTEXT_ENABLE) +#define MESSAGE_QUICKTEXT_DISABLE HEX(CTRL_QUICKTEXT_DISABLE) +#define MESSAGE_PERSISTENT HEX(CTRL_PERSISTENT) +#define MESSAGE_EVENT HEX(CTRL_EVENT) +#define MESSAGE_BOX_BREAK_DELAYED HEX(CTRL_BOX_BREAK_DELAYED) +#define MESSAGE_AWAIT_BUTTON_PRESS HEX(CTRL_AWAIT_BUTTON_PRESS) +#define MESSAGE_FADE HEX(CTRL_FADE) +#define MESSAGE_NAME HEX(CTRL_NAME) +#define MESSAGE_OCARINA HEX(CTRL_OCARINA) +#define MESSAGE_FADE2 HEX(CTRL_FADE2) +#define MESSAGE_SFX HEX(CTRL_SFX) +#define MESSAGE_ITEM_ICON HEX(CTRL_ITEM_ICON) +#define MESSAGE_TEXT_SPEED HEX(CTRL_TEXT_SPEED) +#define MESSAGE_BACKGROUND HEX(CTRL_BACKGROUND) +#define MESSAGE_MARATHON_TIME HEX(CTRL_MARATHON_TIME) +#define MESSAGE_RACE_TIME HEX(CTRL_RACE_TIME) +#define MESSAGE_POINTS HEX(CTRL_POINTS) +#define MESSAGE_TOKENS HEX(CTRL_TOKENS) +#define MESSAGE_UNSKIPPABLE HEX(CTRL_UNSKIPPABLE) +#define MESSAGE_TWO_CHOICE HEX(CTRL_TWO_CHOICE) +#define MESSAGE_THREE_CHOICE HEX(CTRL_THREE_CHOICE) +#define MESSAGE_FISH_INFO HEX(CTRL_FISH_INFO) +#define MESSAGE_HIGHSCORE HEX(CTRL_HIGHSCORE) +#define MESSAGE_TIME HEX(CTRL_TIME) +#endif + +#endif diff --git a/include/message_data_static.h b/include/message_data_static.h index d139c46210..bdf4fb6345 100644 --- a/include/message_data_static.h +++ b/include/message_data_static.h @@ -9,4 +9,18 @@ typedef struct MessageTableEntry { /* 0x4 */ const char* segment; } MessageTableEntry; // size = 0x8; +#define DEFINE_MESSAGE(textId, typePos, msg) \ + extern const char _message_##textId[]; + +#include "assets/text/message_data.h" + +#undef DEFINE_MESSAGE + +#define DEFINE_MESSAGE(textId, typePos, msg) \ + extern const char _message_##textId##_staff[]; + +#include "assets/text/staff_message_data.h" + +#undef DEFINE_MESSAGE + #endif diff --git a/include/z64message.h b/include/z64message.h index fc96c5ff78..c70b97a9ee 100644 --- a/include/z64message.h +++ b/include/z64message.h @@ -30,30 +30,30 @@ typedef enum TextBoxType { /* 0x10 */ TEXTBOX_TYPE_MAX } TextBoxType; -#define TEXTBOX_ENDTYPE_00 0x00 +#define TEXTBOX_ENDTYPE_DEFAULT 0x00 -#define TEXTBOX_ENDTYPE_10 0x10 -#define TEXTBOX_ENDTYPE_11 0x11 +#define TEXTBOX_ENDTYPE_TWO_CHOICE 0x10 +#define TEXTBOX_ENDTYPE_THREE_CHOICE 0x11 #define TEXTBOX_ENDTYPE_12 0x12 -#define TEXTBOX_ENDTYPE_20 0x20 +#define TEXTBOX_ENDTYPE_NEXT 0x20 -#define TEXTBOX_ENDTYPE_30 0x30 +#define TEXTBOX_ENDTYPE_PERSISTENT 0x30 -#define TEXTBOX_ENDTYPE_40 0x40 -#define TEXTBOX_ENDTYPE_41 0x41 -#define TEXTBOX_ENDTYPE_42 0x42 +#define TEXTBOX_ENDTYPE_EVENT 0x40 +#define TEXTBOX_ENDTYPE_PAUSE_MENU 0x41 +#define TEXTBOX_ENDTYPE_EVENT2 0x42 -#define TEXTBOX_ENDTYPE_50 0x50 -#define TEXTBOX_ENDTYPE_52 0x52 -#define TEXTBOX_ENDTYPE_55 0x55 -#define TEXTBOX_ENDTYPE_56 0x56 -#define TEXTBOX_ENDTYPE_57 0x57 +#define TEXTBOX_ENDTYPE_FADE_NORMAL 0x50 +#define TEXTBOX_ENDTYPE_FADE_SKIPPABLE 0x52 +#define TEXTBOX_ENDTYPE_FADE_STAGES_1 0x55 +#define TEXTBOX_ENDTYPE_FADE_STAGES_2 0x56 +#define TEXTBOX_ENDTYPE_FADE_STAGES_3 0x57 -#define TEXTBOX_ENDTYPE_60 0x60 -#define TEXTBOX_ENDTYPE_61 0x61 -#define TEXTBOX_ENDTYPE_62 0x62 -#define TEXTBOX_ENDTYPE_63 0x63 +#define TEXTBOX_ENDTYPE_INPUT_BANK 0x60 +#define TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET 0x61 +#define TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE 0x62 +#define TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE 0x63 #define TEXTBOX_ENDTYPE_64 0x64 typedef enum MessageMode { @@ -154,23 +154,23 @@ u16 Text_GetFaceReaction(struct PlayState* play, FaceReactionSet reactionSet); typedef enum TextState { /* 0 */ TEXT_STATE_NONE, - /* 1 */ TEXT_STATE_1, + /* 1 */ TEXT_STATE_NEXT, /* 2 */ TEXT_STATE_CLOSING, - /* 3 */ TEXT_STATE_3, + /* 3 */ TEXT_STATE_FADING, /* 4 */ TEXT_STATE_CHOICE, - /* 5 */ TEXT_STATE_5, + /* 5 */ TEXT_STATE_EVENT, /* 6 */ TEXT_STATE_DONE, - /* 7 */ TEXT_STATE_7, + /* 7 */ TEXT_STATE_SONG_DEMO_DONE, /* 8 */ TEXT_STATE_8, /* 9 */ TEXT_STATE_9, - /* 10 */ TEXT_STATE_10, + /* 10 */ TEXT_STATE_AWAITING_NEXT, /* 11 */ TEXT_STATE_11, /* 12 */ TEXT_STATE_12, /* 13 */ TEXT_STATE_13, - /* 14 */ TEXT_STATE_14, - /* 15 */ TEXT_STATE_15, - /* 16 */ TEXT_STATE_16, - /* 17 */ TEXT_STATE_17, + /* 14 */ TEXT_STATE_INPUT_RUPEES, + /* 15 */ TEXT_STATE_INPUT_BOMBER_CODE, + /* 16 */ TEXT_STATE_PAUSE_MENU, + /* 17 */ TEXT_STATE_INPUT_LOTTERY_CODE, /* 18 */ TEXT_STATE_18 } TextState; @@ -282,12 +282,12 @@ typedef struct MessageContext { /* 0x1206C */ s32 unk1206C; /* 0x12070 */ s32 unk12070; /* 0x12074 */ s32 unk12074; - /* 0x12078 */ s32 bankRupeesSelected; - /* 0x1207C */ s32 bankRupees; - /* 0x12080 */ struct MessageTableEntry* messageEntryTable; - /* 0x12084 */ struct MessageTableEntry* messageEntryTableNes; + /* 0x12078 */ s32 rupeesSelected; // Used for bank and doggy racetrack bet + /* 0x1207C */ s32 rupeesTotal; // Used for bank and doggy racetrack bet + /* 0x12080 */ struct MessageTableEntry* messageTable; + /* 0x12084 */ struct MessageTableEntry* messageTableNES; /* 0x12088 */ UNK_TYPE1 unk12088[0x4]; - /* 0x1208C */ struct MessageTableEntry* messageTableStaff; + /* 0x1208C */ struct MessageTableEntry* messageTableCredits; /* 0x12090 */ s16 textIsCredits; /* 0x12092 */ s16 messageHasSetSfx; /* 0x12094 */ u8 textboxSkipped; @@ -326,7 +326,7 @@ void Message_DrawTextChar(struct PlayState* play, TexturePtr texture, Gfx** gfxP void Message_DrawItemIcon(struct PlayState* play, Gfx** gfxP); void Message_HandleOcarina(struct PlayState* play); void Message_LoadItemIcon(struct PlayState* play, u16 itemId, s16 arg2); -void Message_SetupLoadItemIcon(struct PlayState* play); +void Message_DecodeHeader(struct PlayState* play); void func_801514B0(struct PlayState* play, u16 arg1, u8 arg2); void Message_StartTextbox(struct PlayState* play, u16 textId, Actor* actor); void Message_ContinueTextbox(struct PlayState* play, u16 textId); diff --git a/include/z_en_hy_code.h b/include/z_en_hy_code.h index 7bc41c7c8e..6b3dc401f5 100644 --- a/include/z_en_hy_code.h +++ b/include/z_en_hy_code.h @@ -88,7 +88,7 @@ typedef struct EnHy { /* 0x194 */ ColliderCylinder collider; /* 0x1E0 */ u16 textId; /* 0x1E2 */ u8 waitingOnInit; - /* 0x1E3 */ u8 inMsgState3; + /* 0x1E3 */ u8 msgFading; /* 0x1E4 */ Path* path; /* 0x1E8 */ s16 curPoint; /* 0x1EC */ Vec3f leftFootPos; diff --git a/spec b/spec index f3e7f8faba..743c0700d3 100644 --- a/spec +++ b/spec @@ -405,31 +405,35 @@ endseg beginseg name "message_static" romalign 0x1000 - include "build/baserom/message_static.o" + include "build/assets/interface/message_static/message_static.o" + number 7 endseg beginseg name "message_texture_static" romalign 0x1000 - include "build/baserom/message_texture_static.o" + include "build/assets/interface/message_texture_static/message_texture_static.o" + number 9 endseg beginseg name "nes_font_static" romalign 0x1000 - include "build/baserom/nes_font_static.o" + include "build/assets/interface/nes_font_static/nes_font_static.o" endseg beginseg name "message_data_static" romalign 0x1000 - include "build/baserom/message_data_static.o" + include "build/assets/text/message_data_static.o" + number 8 endseg beginseg name "staff_message_data_static" romalign 0x1000 - include "build/baserom/staff_message_data_static.o" + include "build/assets/text/staff_message_data_static.o" + number 7 endseg beginseg diff --git a/src/boot/fault.c b/src/boot/fault.c index 7216212c69..2fa53c0dc7 100644 --- a/src/boot/fault.c +++ b/src/boot/fault.c @@ -43,7 +43,6 @@ #include "fault_internal.h" #include "fault.h" -#include "prevent_bss_reordering.h" #include "libc64/sprintf.h" #include "libc64/sleep.h" #include "vt.h" diff --git a/src/code/title_setup.c b/src/code/title_setup.c index 21331d6f3b..7ebac28ce6 100644 --- a/src/code/title_setup.c +++ b/src/code/title_setup.c @@ -3,9 +3,9 @@ void Setup_SetRegs(void) { XREG(2) = 0; - XREG(10) = 0x1A; - XREG(11) = 0x14; - XREG(12) = 0xE; + XREG(10) = 26; + XREG(11) = 20; + XREG(12) = 14; XREG(13) = 0; R_A_BTN_Y_OFFSET = 0; R_MAGIC_CONSUME_TIMER_GIANTS_MASK = 80; diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c index 5742321bd2..6fe6e2d3b2 100644 --- a/src/code/z_bgcheck.c +++ b/src/code/z_bgcheck.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "fault.h" #include "libc64/fixed_point.h" #include "libc64/sprintf.h" diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 3f2bdb80d4..985b3c240c 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1052,8 +1052,8 @@ void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) { // a textbox that is expected to be closed by the user is still open. endFrame = csCtx->curFrame; talkState = Message_GetState(&play->msgCtx); - if ((talkState != TEXT_STATE_CLOSING) && (talkState != TEXT_STATE_NONE) && (talkState != TEXT_STATE_7) && - (talkState != TEXT_STATE_8)) { + if ((talkState != TEXT_STATE_CLOSING) && (talkState != TEXT_STATE_NONE) && + (talkState != TEXT_STATE_SONG_DEMO_DONE) && (talkState != TEXT_STATE_8)) { csCtx->curFrame--; if ((talkState == TEXT_STATE_CHOICE) && Message_ShouldAdvance(play)) { @@ -1096,7 +1096,7 @@ void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) { } } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_DisplayOcarinaStaff(play, cmd->textId); } } diff --git a/src/code/z_kanfont.c b/src/code/z_kanfont.c index af55acc990..60346cb6f3 100644 --- a/src/code/z_kanfont.c +++ b/src/code/z_kanfont.c @@ -14,7 +14,7 @@ void Font_LoadCharNES(PlayState* play, u8 codePointIndex, s32 offset) { } void Font_LoadMessageBoxEndIcon(Font* font, u16 icon) { - DmaMgr_RequestSync(&font->iconBuf, SEGMENT_ROM_START_OFFSET(message_static, 5 * 0x1000 + icon * FONT_CHAR_TEX_SIZE), + DmaMgr_RequestSync(&font->iconBuf, SEGMENT_ROM_START_OFFSET(message_static, 0x5000 + icon * FONT_CHAR_TEX_SIZE), FONT_CHAR_TEX_SIZE); } diff --git a/src/code/z_message.c b/src/code/z_message.c index a252934947..d27fcaf26c 100644 --- a/src/code/z_message.c +++ b/src/code/z_message.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "global.h" #include "z64horse.h" #include "z64shrink_window.h" @@ -48,9 +49,23 @@ u16 gBombersNotebookWeekEventFlags[BOMBERS_NOTEBOOK_EVENT_MAX] = { #undef DEFINE_PERSON #undef DEFINE_EVENT -// TODO: Scripts -// Include message tables D_801C6B98 and D_801CFB08 -#include "src/code/z_message_tables.inc.c" +#define DEFINE_MESSAGE(textId, typePos, msg) { textId, typePos, _message_##textId }, + +MessageTableEntry sMessageTableNES[] = { +#include "assets/text/message_data.h" + { 0xFFFF, 0, NULL }, +}; + +#undef DEFINE_MESSAGE + +#define DEFINE_MESSAGE(textId, typePos, msg) { textId, typePos, _message_##textId##_staff }, + +MessageTableEntry sMessageTableCredits[] = { +#include "assets/text/staff_message_data.h" + { 0xFFFF, 0, NULL }, +}; + +#undef DEFINE_MESSAGE s16 D_801CFC78[TEXTBOX_TYPE_MAX] = { 0, // TEXTBOX_TYPE_0 @@ -135,7 +150,8 @@ bool Message_ShouldAdvance(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; Input* controller = CONTROLLER1(&play->state); - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { if (CHECK_BTN_ALL(controller->press.button, BTN_A)) { Audio_PlaySfx(NA_SE_SY_MESSAGE_PASS); } @@ -154,7 +170,8 @@ bool Message_ShouldAdvanceSilent(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; Input* controller = CONTROLLER1(&play->state); - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { return CHECK_BTN_ALL(controller->press.button, BTN_A); } else { return CHECK_BTN_ALL(controller->press.button, BTN_A) || CHECK_BTN_ALL(controller->press.button, BTN_B) || @@ -168,7 +185,7 @@ void Message_CloseTextbox(PlayState* play) { if (play->msgCtx.msgLength != 0) { msgCtx->stateTimer = 2; msgCtx->msgMode = MSGMODE_TEXT_CLOSING; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_00; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT; Audio_PlaySfx(NA_SE_NONE); } } @@ -552,9 +569,9 @@ void func_80148D64(PlayState* play) { sAnalogStickHeld = false; } - msgCtx->bankRupeesSelected = (msgCtx->decodedBuffer.schar[msgCtx->unk120C0] - '0') * 100; - msgCtx->bankRupeesSelected += (msgCtx->decodedBuffer.schar[msgCtx->unk120C0 + 1] - '0') * 10; - msgCtx->bankRupeesSelected += msgCtx->decodedBuffer.schar[msgCtx->unk120C0 + 2] - '0'; + msgCtx->rupeesSelected = (msgCtx->decodedBuffer.schar[msgCtx->unk120C0] - '0') * 100; + msgCtx->rupeesSelected += (msgCtx->decodedBuffer.schar[msgCtx->unk120C0 + 1] - '0') * 10; + msgCtx->rupeesSelected += msgCtx->decodedBuffer.schar[msgCtx->unk120C0 + 2] - '0'; } void func_80149048(PlayState* play) { @@ -578,7 +595,7 @@ void func_80149048(PlayState* play) { Audio_PlaySfx(NA_SE_SY_RUPY_COUNT); } - msgCtx->bankRupeesSelected = (msgCtx->decodedBuffer.schar[msgCtx->unk120C0] - '0') * 10; + msgCtx->rupeesSelected = (msgCtx->decodedBuffer.schar[msgCtx->unk120C0] - '0') * 10; } void func_801491DC(PlayState* play) { @@ -782,7 +799,7 @@ void Message_GrowTextbox(PlayState* play) { void Message_FindMessage(PlayState* play, u16 textId) { MessageContext* msgCtx = &play->msgCtx; Font* font = &msgCtx->font; - MessageTableEntry* msgEntry = msgCtx->messageEntryTable; + MessageTableEntry* msgEntry = msgCtx->messageTable; const char* segment = msgEntry->segment; const char* foundSegment; const char* nextSegment; @@ -799,7 +816,7 @@ void Message_FindMessage(PlayState* play, u16 textId) { msgEntry++; } - msgEntry = msgCtx->messageEntryTable; + msgEntry = msgCtx->messageTable; foundSegment = msgEntry->segment; msgEntry++; nextSegment = msgEntry->segment; @@ -1031,11 +1048,11 @@ Color_RGB16 D_801CFE74[] = { { 255, 120, 0 }, { 70, 255, 80 }, { 80, 110, 255 }, { 255, 255, 30 }, { 90, 180, 255 }, { 210, 100, 255 }, { 170, 170, 170 }, { 255, 130, 30 }, }; -Color_RGB16 D_801CFEA4[] = { +static Color_RGB16 sColorsNormalJPN[] = { { 255, 60, 60 }, { 70, 255, 80 }, { 80, 90, 255 }, { 255, 255, 50 }, { 80, 150, 255 }, { 255, 150, 180 }, { 170, 170, 170 }, { 255, 130, 30 }, }; -Color_RGB16 D_801CFED4[] = { +static Color_RGB16 sColorsButtonsJPN[] = { { 255, 60, 60 }, { 70, 255, 80 }, { 80, 90, 255 }, { 255, 255, 50 }, { 80, 150, 255 }, { 255, 150, 180 }, { 180, 180, 200 }, { 255, 130, 30 }, }; @@ -1043,12 +1060,12 @@ Color_RGB16 D_801CFF04[] = { { 195, 0, 0 }, { 70, 255, 80 }, { 80, 90, 255 }, { 255, 255, 50 }, { 80, 150, 255 }, { 255, 150, 180 }, { 170, 170, 170 }, { 255, 130, 30 }, }; -Color_RGB16 D_801CFF34[] = { +static Color_RGB16 sColorsBombersNotebookJPN[] = { { 255, 60, 60 }, { 110, 170, 255 }, { 80, 90, 255 }, { 255, 255, 50 }, { 80, 150, 255 }, { 255, 150, 180 }, { 170, 170, 170 }, { 255, 130, 30 }, }; -u8 D_801CFF64[] = { 2, 1, 3, 6, 6, 6, 3, 3, 3, 3, 1, 6 }; +static u8 sButtonColorIndicesJPN[] = { 2, 1, 3, 6, 6, 6, 3, 3, 3, 3, 1, 6 }; #define MESSAGE_ITEM_NONE 9999 @@ -1061,9 +1078,9 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { Gfx* gfx = *gfxP; u16 character; s16 sp130; - s16 sp12E; - s16 sp12C; - s16 sp12A; + s16 prevR; + s16 prevG; + s16 prevB; u16 lookAheadCharacter; play->msgCtx.textPosX = play->msgCtx.unk11F1A[0] + play->msgCtx.unk11FF8; @@ -1135,9 +1152,9 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { msgCtx->textColorB = D_801CFE74[(s16)(character - 0x2001)].b + msgCtx->unk120D4; } } else if (play->pauseCtx.bombersNotebookOpen) { - msgCtx->textColorR = D_801CFF34[(s16)(character - 0x2001)].r; - msgCtx->textColorG = D_801CFF34[(s16)(character - 0x2001)].g; - msgCtx->textColorB = D_801CFF34[(s16)(character - 0x2001)].b; + msgCtx->textColorR = sColorsBombersNotebookJPN[(s16)(character - 0x2001)].r; + msgCtx->textColorG = sColorsBombersNotebookJPN[(s16)(character - 0x2001)].g; + msgCtx->textColorB = sColorsBombersNotebookJPN[(s16)(character - 0x2001)].b; } else if (msgCtx->textBoxType == TEXTBOX_TYPE_1) { msgCtx->textColorR = D_801CFE74[(s16)(character - 0x2001)].r; msgCtx->textColorG = D_801CFE74[(s16)(character - 0x2001)].g; @@ -1147,9 +1164,9 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { msgCtx->textColorG = D_801CFF04[(s16)(character - 0x2001)].g; msgCtx->textColorB = D_801CFF04[(s16)(character - 0x2001)].b; } else { - msgCtx->textColorR = D_801CFEA4[(s16)(character - 0x2001)].r; - msgCtx->textColorG = D_801CFEA4[(s16)(character - 0x2001)].g; - msgCtx->textColorB = D_801CFEA4[(s16)(character - 0x2001)].b; + msgCtx->textColorR = sColorsNormalJPN[(s16)(character - 0x2001)].r; + msgCtx->textColorG = sColorsNormalJPN[(s16)(character - 0x2001)].g; + msgCtx->textColorB = sColorsNormalJPN[(s16)(character - 0x2001)].b; } if ((i + 1) == msgCtx->textDrawPos) { @@ -1237,9 +1254,9 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; if (msgCtx->unk11F0C == 3) { - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_55; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_STAGES_1; } else { - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_50; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_NORMAL; } msgCtx->stateTimer = msgCtx->decodedBuffer.wchar[++i]; Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); @@ -1253,7 +1270,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { case 0x112: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_52; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_SKIPPABLE; msgCtx->stateTimer = msgCtx->decodedBuffer.wchar[++i]; Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); if (play->csCtx.state == CS_STATE_IDLE) { @@ -1338,7 +1355,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { break; case 0x202: - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_10; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_TWO_CHOICE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->choiceTextId = msgCtx->currentTextId; @@ -1348,7 +1365,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { break; case 0x203: - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_11; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_THREE_CHOICE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->choiceTextId = msgCtx->currentTextId; @@ -1358,7 +1375,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { break; case 0x20C: - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_60; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_BANK; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); @@ -1366,7 +1383,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { break; case 0x220: - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_61; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); @@ -1374,7 +1391,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { break; case 0x221: - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_62; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); @@ -1384,14 +1401,14 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { case 0x222: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_41; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PAUSE_MENU; Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 0); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } break; case 0x225: - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_63; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); @@ -1407,7 +1424,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { return; } msgCtx->msgMode = MSGMODE_TEXT_DONE; - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_00) { + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_DEFAULT) { Audio_PlaySfx(NA_SE_SY_MESSAGE_END); if (character == 0x500) { Font_LoadMessageBoxEndIcon(font, 1); @@ -1428,7 +1445,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Audio_PlaySfx(NA_SE_NONE); msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_30; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PERSISTENT; } *gfxP = gfx; return; @@ -1436,7 +1453,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { case 0x103: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_40; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT; Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 0); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } @@ -1446,7 +1463,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { case 0x230: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_42; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT2; Font_LoadMessageBoxEndIcon(&play->msgCtx.font, 1); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } @@ -1478,16 +1495,16 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { } if ((character >= 0x839F) && (character < 0x83AB)) { - sp12E = msgCtx->textColorR; - sp12C = msgCtx->textColorG; - sp12A = msgCtx->textColorB; - msgCtx->textColorR = D_801CFED4[(s16)D_801CFF64[character - 0x839F]].r; - msgCtx->textColorG = D_801CFED4[(s16)D_801CFF64[character - 0x839F]].g; - msgCtx->textColorB = D_801CFED4[(s16)D_801CFF64[character - 0x839F]].b; + prevR = msgCtx->textColorR; + prevG = msgCtx->textColorG; + prevB = msgCtx->textColorB; + msgCtx->textColorR = sColorsButtonsJPN[(s16)sButtonColorIndicesJPN[character - 0x839F]].r; + msgCtx->textColorG = sColorsButtonsJPN[(s16)sButtonColorIndicesJPN[character - 0x839F]].g; + msgCtx->textColorB = sColorsButtonsJPN[(s16)sButtonColorIndicesJPN[character - 0x839F]].b; Message_DrawTextChar(play, &font->charBuf[font->unk_11D88][charTexIndex], &gfx); - msgCtx->textColorR = sp12E; - msgCtx->textColorG = sp12C; - msgCtx->textColorB = sp12A; + msgCtx->textColorR = prevR; + msgCtx->textColorG = prevG; + msgCtx->textColorB = prevB; } else { Message_DrawTextChar(play, &font->charBuf[font->unk_11D88][charTexIndex], &gfx); } @@ -1952,7 +1969,7 @@ void Message_GetTimerDigits(OSTime time, s16 digits[8]) { digits[7] = t; } -void Message_SetupLoadItemIcon(PlayState* play) { +void Message_DecodeHeader(PlayState* play) { Font* font; MessageContext* msgCtx = &play->msgCtx; @@ -2138,15 +2155,13 @@ void Message_LoadOwlWarpText(PlayState* play, s32* offset, f32* arg2, s16* decod *arg2 = sp3C; } -// Counterpart to NES D_801D08D8 -u16 D_801D0268[][3] = { +u16 sTimeSpeedTextJPN[][3] = { { 0x82CD, 0x82E2, 0x82A2 }, { 0x82D3, 0x82C2, 0x82A4 }, { 0x82A8, 0x82BB, 0x82A2 }, }; -// Counterpart to NES D_801D08E4 -u16 D_801D027C[] = { 0x2001, 0x2003, 0x2004, 0x2002 }; +u16 sMaskCodeColorCmdJPN[] = { 0x2001, 0x2003, 0x2004, 0x2002 }; // Counterpart to NES sMaskCodeTextENG u16 D_801D0284[] = { 0x90D4, 0x90C2, 0x89A9, 0x97CE }; @@ -2186,7 +2201,7 @@ void Message_Decode(PlayState* play) { numLines = 0; decodedBufPos = 0; charTexIndex = 0; - Message_SetupLoadItemIcon(play); + Message_DecodeHeader(play); while (true) { curChar = msgCtx->decodedBuffer.wchar[decodedBufPos] = font->msgBuf.wchar[msgCtx->msgBufPos]; @@ -2383,7 +2398,7 @@ void Message_Decode(PlayState* play) { msgCtx->unk120BE = spD2; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 2; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; digits[0] = digits[1] = digits[2] = 0; @@ -2394,7 +2409,7 @@ void Message_Decode(PlayState* play) { func_8014CCB4(play, &decodedBufPos, &charTexIndex, &spC0); } else if (curChar == 0x20D) { digits[0] = digits[1] = 0; - digits[2] = msgCtx->bankRupeesSelected; + digits[2] = msgCtx->rupeesSelected; while (digits[2] >= 100) { digits[0]++; @@ -2419,7 +2434,7 @@ void Message_Decode(PlayState* play) { func_8014CCB4(play, &decodedBufPos, &charTexIndex, &spC0); } else if (curChar == 0x20E) { digits[0] = digits[1] = digits[2] = 0; - digits[3] = msgCtx->bankRupees; + digits[3] = msgCtx->rupeesTotal; while (digits[3] >= 1000) { digits[0]++; @@ -2546,7 +2561,7 @@ void Message_Decode(PlayState* play) { msgCtx->unk120BE = spD2; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 0; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; digits[0] = digits[1] = digits[2] = 0; for (i = 0; i < 2; i++) { @@ -2559,7 +2574,7 @@ void Message_Decode(PlayState* play) { msgCtx->unk120BE = spD2; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 0; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; for (i = 0; i < 5; i++) { @@ -2578,8 +2593,8 @@ void Message_Decode(PlayState* play) { } for (i = 0; i < 3; i++, decodedBufPos++) { - msgCtx->decodedBuffer.wchar[decodedBufPos] = D_801D0268[index][i]; - Font_LoadChar(play, D_801D0268[index][i], charTexIndex); + msgCtx->decodedBuffer.wchar[decodedBufPos] = sTimeSpeedTextJPN[index][i]; + Font_LoadChar(play, sTimeSpeedTextJPN[index][i], charTexIndex); charTexIndex += FONT_CHAR_TEX_SIZE; } decodedBufPos--; @@ -2592,7 +2607,7 @@ void Message_Decode(PlayState* play) { msgCtx->unk120BE = spD2; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 0; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; for (i = 0; i < 3; i++) { @@ -2607,7 +2622,7 @@ void Message_Decode(PlayState* play) { } else if (curChar == 0x226) { for (i = 0; i < 6; i++) { msgCtx->decodedBuffer.wchar[decodedBufPos] = - D_801D027C[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[i])]; + sMaskCodeColorCmdJPN[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[i])]; decodedBufPos++; Message_LoadChar(play, i + 0x8250, &charTexIndex, &spC0, decodedBufPos); decodedBufPos++; @@ -2732,8 +2747,8 @@ void Message_Decode(PlayState* play) { } decodedBufPos--; } else if ((curChar >= 0x231) && (curChar < 0x237)) { - msgCtx->decodedBuffer.wchar[decodedBufPos] = - D_801D027C[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[(s16)(curChar - 0x231)])]; + msgCtx->decodedBuffer.wchar[decodedBufPos] = sMaskCodeColorCmdJPN[( + (void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[(s16)(curChar - 0x231)])]; decodedBufPos++; Message_LoadChar( play, @@ -3182,7 +3197,7 @@ void Message_OpenText(PlayState* play, u16 textId) { msgCtx->choiceNum = 0; msgCtx->textUnskippable = false; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_00; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT; msgCtx->textDrawPos = 0; msgCtx->msgBufPos = 0; msgCtx->decodedTextLen = 0; @@ -3275,7 +3290,7 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2) { } msgCtx->choiceNum = 0; msgCtx->textUnskippable = false; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_00; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT; msgCtx->textDrawPos = 0; msgCtx->msgBufPos = 0; msgCtx->decodedTextLen = 0; @@ -3285,7 +3300,7 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2) { msgCtx->textBoxPos = arg2; msgCtx->unk11F0C = msgCtx->unk11F08 & 0xF; msgCtx->textUnskippable = true; - DmaMgr_RequestSync(msgCtx->textboxSegment, SEGMENT_ROM_START(message_static) + (D_801CFC78[0] << 12), 0x1000); + DmaMgr_RequestSync(msgCtx->textboxSegment, SEGMENT_ROM_START(message_static) + (D_801CFC78[0] * 0x1000), 0x1000); msgCtx->textboxColorRed = 0; msgCtx->textboxColorGreen = 0; msgCtx->textboxColorBlue = 0; @@ -3610,30 +3625,33 @@ u8 Message_GetState(MessageContext* msgCtx) { if (msgCtx->msgMode == MSGMODE_TEXT_DONE) { if (msgCtx->nextTextId != 0xFFFF) { - return TEXT_STATE_1; + return TEXT_STATE_NEXT; } - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { return TEXT_STATE_CHOICE; } - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_40) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_42) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_30)) { - return TEXT_STATE_5; + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_EVENT) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_EVENT2) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_PERSISTENT)) { + return TEXT_STATE_EVENT; } - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_41) { - return TEXT_STATE_16; + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_PAUSE_MENU) { + return TEXT_STATE_PAUSE_MENU; } - if ((msgCtx->textboxEndType >= TEXTBOX_ENDTYPE_50) && (msgCtx->textboxEndType <= TEXTBOX_ENDTYPE_57)) { - return TEXT_STATE_3; + if ((msgCtx->textboxEndType >= TEXTBOX_ENDTYPE_FADE_NORMAL) && + (msgCtx->textboxEndType <= TEXTBOX_ENDTYPE_FADE_STAGES_3)) { + return TEXT_STATE_FADING; } - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_60) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_61)) { - return TEXT_STATE_14; + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_BANK) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET)) { + return TEXT_STATE_INPUT_RUPEES; } - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_62) { - return TEXT_STATE_15; + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE) { + return TEXT_STATE_INPUT_BOMBER_CODE; } - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_63) { - return TEXT_STATE_17; + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE) { + return TEXT_STATE_INPUT_LOTTERY_CODE; } if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_12) { return TEXT_STATE_18; @@ -3642,10 +3660,10 @@ u8 Message_GetState(MessageContext* msgCtx) { } if (msgCtx->msgMode == MSGMODE_TEXT_AWAIT_NEXT) { - return TEXT_STATE_10; + return TEXT_STATE_AWAITING_NEXT; } if (msgCtx->msgMode == MSGMODE_SONG_DEMONSTRATION_DONE) { - return TEXT_STATE_7; + return TEXT_STATE_SONG_DEMO_DONE; } if ((msgCtx->ocarinaMode == OCARINA_MODE_EVENT) || (msgCtx->msgMode == MSGMODE_37)) { return TEXT_STATE_8; @@ -3667,7 +3685,7 @@ u8 Message_GetState(MessageContext* msgCtx) { return TEXT_STATE_CLOSING; } - return TEXT_STATE_3; + return TEXT_STATE_FADING; } void Message_DrawTextBox(PlayState* play, Gfx** gfxP) { @@ -4964,7 +4982,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { case MSGMODE_TEXT_DONE: switch (msgCtx->textboxEndType) { - case TEXTBOX_ENDTYPE_60: + case TEXTBOX_ENDTYPE_INPUT_BANK: temp_v0_33 = msgCtx->unk120BE; temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); func_80147F18(play, &gfx, @@ -4974,7 +4992,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { func_80148D64(play); break; - case TEXTBOX_ENDTYPE_61: + case TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET: temp_v0_33 = msgCtx->unk120BE; temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); func_80148558(play, &gfx, @@ -4983,7 +5001,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { func_80149048(play); break; - case TEXTBOX_ENDTYPE_62: + case TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE: temp_v0_33 = msgCtx->unk120BE; temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); func_80147F18(play, &gfx, @@ -4993,7 +5011,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { func_801491DC(play); break; - case TEXTBOX_ENDTYPE_63: + case TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE: temp_v0_33 = msgCtx->unk120BE; temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); func_80147F18(play, &gfx, @@ -5024,11 +5042,11 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { Message_DrawText(play, &gfx); switch (msgCtx->textboxEndType) { - case TEXTBOX_ENDTYPE_10: + case TEXTBOX_ENDTYPE_TWO_CHOICE: func_80148CBC(play, &gfx, 1); break; - case TEXTBOX_ENDTYPE_11: + case TEXTBOX_ENDTYPE_THREE_CHOICE: func_80148CBC(play, &gfx, 2); break; @@ -5036,25 +5054,25 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { func_80148CBC(play, &gfx, 1); break; - case TEXTBOX_ENDTYPE_30: - case TEXTBOX_ENDTYPE_41: - case TEXTBOX_ENDTYPE_50: - case TEXTBOX_ENDTYPE_52: - case TEXTBOX_ENDTYPE_55: - case TEXTBOX_ENDTYPE_56: - case TEXTBOX_ENDTYPE_57: - case TEXTBOX_ENDTYPE_62: + case TEXTBOX_ENDTYPE_PERSISTENT: + case TEXTBOX_ENDTYPE_PAUSE_MENU: + case TEXTBOX_ENDTYPE_FADE_NORMAL: + case TEXTBOX_ENDTYPE_FADE_SKIPPABLE: + case TEXTBOX_ENDTYPE_FADE_STAGES_1: + case TEXTBOX_ENDTYPE_FADE_STAGES_2: + case TEXTBOX_ENDTYPE_FADE_STAGES_3: + case TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE: break; - case TEXTBOX_ENDTYPE_40: - case TEXTBOX_ENDTYPE_60: - case TEXTBOX_ENDTYPE_61: + case TEXTBOX_ENDTYPE_EVENT: + case TEXTBOX_ENDTYPE_INPUT_BANK: + case TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET: default: Message_DrawTextboxIcon(play, &gfx, 158, (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget)); break; - case TEXTBOX_ENDTYPE_42: + case TEXTBOX_ENDTYPE_EVENT2: Message_DrawTextboxIcon(play, &gfx, 158, (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget)); break; @@ -5343,7 +5361,7 @@ void Message_Update(PlayState* play) { } else if (msgCtx->textBoxPos == 2) { msgCtx->textboxYTarget = sTextboxMidYPositions[var_v1]; } else if (msgCtx->textBoxPos == 7) { - msgCtx->textboxYTarget = 0x9E; + msgCtx->textboxYTarget = 158; } else { msgCtx->textboxYTarget = sTextboxLowerYPositions[var_v1]; } @@ -5352,12 +5370,12 @@ void Message_Update(PlayState* play) { if ((gSaveContext.options.language == LANGUAGE_JPN) && !msgCtx->textIsCredits) { msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 7); - msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 0x19); - msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 0x2B); + msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 25); + msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 43); } else { - msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 0x14); - msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 0x20); - msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 0x2C); + msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 20); + msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 32); + msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 44); } if ((msgCtx->textBoxType == TEXTBOX_TYPE_4) || (msgCtx->textBoxType == TEXTBOX_TYPE_5)) { @@ -5467,10 +5485,11 @@ void Message_Update(PlayState* play) { break; case MSGMODE_TEXT_DONE: - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_50) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_52)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_NORMAL) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_SKIPPABLE)) { msgCtx->stateTimer--; if ((msgCtx->stateTimer == 0) || - ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_52) && Message_ShouldAdvance(play))) { + ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_SKIPPABLE) && Message_ShouldAdvance(play))) { if (msgCtx->nextTextId != 0xFFFF) { Audio_PlaySfx(NA_SE_SY_MESSAGE_PASS); Message_ContinueTextbox(play, msgCtx->nextTextId); @@ -5483,28 +5502,30 @@ void Message_Update(PlayState* play) { } } } else { - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_30) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_40) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_42) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_41)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_PERSISTENT) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_EVENT) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_EVENT2) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_PAUSE_MENU)) { return; } switch (msgCtx->textboxEndType) { - case TEXTBOX_ENDTYPE_55: + case TEXTBOX_ENDTYPE_FADE_STAGES_1: msgCtx->textColorAlpha += 20; if (msgCtx->textColorAlpha >= 255) { msgCtx->textColorAlpha = 255; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_56; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_STAGES_2; } break; - case TEXTBOX_ENDTYPE_56: + case TEXTBOX_ENDTYPE_FADE_STAGES_2: msgCtx->stateTimer--; if (msgCtx->stateTimer == 0) { - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_57; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_STAGES_3; } break; - case TEXTBOX_ENDTYPE_57: + case TEXTBOX_ENDTYPE_FADE_STAGES_3: msgCtx->textColorAlpha -= 20; if (msgCtx->textColorAlpha <= 0) { msgCtx->textColorAlpha = 0; @@ -5525,11 +5546,11 @@ void Message_Update(PlayState* play) { } break; - case TEXTBOX_ENDTYPE_10: + case TEXTBOX_ENDTYPE_TWO_CHOICE: Message_HandleChoiceSelection(play, 1); break; - case TEXTBOX_ENDTYPE_11: + case TEXTBOX_ENDTYPE_THREE_CHOICE: Message_HandleChoiceSelection(play, 2); break; @@ -5541,7 +5562,7 @@ void Message_Update(PlayState* play) { break; } - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) && + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) && (play->msgCtx.ocarinaMode == OCARINA_MODE_ACTIVE)) { if (Message_ShouldAdvance(play)) { if (msgCtx->choiceIndex == 0) { @@ -5551,7 +5572,7 @@ void Message_Update(PlayState* play) { } Message_CloseTextbox(play); } - } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) && + } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) && (play->msgCtx.ocarinaMode == OCARINA_MODE_PROCESS_SOT)) { if (Message_ShouldAdvance(play)) { if (msgCtx->choiceIndex == 0) { @@ -5566,7 +5587,7 @@ void Message_Update(PlayState* play) { Message_CloseTextbox(play); } } - } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) && + } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) && (play->msgCtx.ocarinaMode == OCARINA_MODE_PROCESS_INVERTED_TIME)) { if (Message_ShouldAdvance(play)) { if (msgCtx->choiceIndex == 0) { @@ -5585,7 +5606,7 @@ void Message_Update(PlayState* play) { Message_CloseTextbox(play); } } - } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) && + } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) && (play->msgCtx.ocarinaMode == OCARINA_MODE_PROCESS_DOUBLE_TIME)) { if (Message_ShouldAdvance(play)) { if (msgCtx->choiceIndex == 0) { @@ -5603,9 +5624,9 @@ void Message_Update(PlayState* play) { } Message_CloseTextbox(play); } - } else if ((msgCtx->textboxEndType != TEXTBOX_ENDTYPE_10) || + } else if ((msgCtx->textboxEndType != TEXTBOX_ENDTYPE_TWO_CHOICE) || (pauseCtx->state != PAUSE_STATE_OWL_WARP_CONFIRM)) { - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) && + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) && (play->msgCtx.ocarinaMode == OCARINA_MODE_1B)) { if (Message_ShouldAdvance(play)) { if (msgCtx->choiceIndex == 0) { @@ -5617,18 +5638,18 @@ void Message_Update(PlayState* play) { } Message_CloseTextbox(play); } - } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_60) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_61) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_50) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_52) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_55) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_56) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_57) || - (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_62)) { + } else if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_BANK) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_NORMAL) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_SKIPPABLE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_STAGES_1) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_STAGES_2) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_STAGES_3) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE)) { //! FAKE: debug? - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_50) {} + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_FADE_NORMAL) {} } else if (pauseCtx->itemDescriptionOn) { if ((input->rel.stick_x != 0) || (input->rel.stick_y != 0) || CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_B) || @@ -5748,11 +5769,11 @@ void Message_Update(PlayState* play) { pauseCtx->itemDescriptionOn = false; } - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_30) { - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_00; + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_PERSISTENT) { + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT; play->msgCtx.ocarinaMode = OCARINA_MODE_WARP; } else { - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_00; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT; } if (EQ_MAX_QUEST_HEART_PIECE_COUNT) { @@ -5989,8 +6010,8 @@ void Message_Update(PlayState* play) { } void Message_SetTables(PlayState* play) { - play->msgCtx.messageEntryTableNes = D_801C6B98; - play->msgCtx.messageTableStaff = D_801CFB08; + play->msgCtx.messageTableNES = sMessageTableNES; + play->msgCtx.messageTableCredits = sMessageTableCredits; } void Message_Init(PlayState* play) { @@ -6004,10 +6025,10 @@ void Message_Init(PlayState* play) { msgCtx->msgMode = MSGMODE_NONE; msgCtx->msgLength = 0; msgCtx->currentTextId = 0; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_00; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT; msgCtx->choiceIndex = 0; msgCtx->ocarinaAction = msgCtx->textUnskippable = 0; - msgCtx->textColorAlpha = 0xFF; + msgCtx->textColorAlpha = 255; View_Init(&msgCtx->view, play->state.gfxCtx); diff --git a/src/code/z_message_nes.c b/src/code/z_message_nes.c index bca40c4711..dd64889cc2 100644 --- a/src/code/z_message_nes.c +++ b/src/code/z_message_nes.c @@ -1,4 +1,5 @@ #include "global.h" +#include "message_data_fmt_nes.h" #include "message_data_static.h" #include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h" @@ -18,7 +19,7 @@ f32 sNESFontWidths[160] = { void Message_FindMessageNES(PlayState* play, u16 textId) { MessageContext* msgCtx = &play->msgCtx; Font* font = &msgCtx->font; - MessageTableEntry* msgEntry = msgCtx->messageEntryTableNes; + MessageTableEntry* msgEntry = msgCtx->messageTableNES; const char* segment = msgEntry->segment; const char* foundSegment; const char* nextSegment; @@ -35,7 +36,7 @@ void Message_FindMessageNES(PlayState* play, u16 textId) { msgEntry++; } - msgEntry = msgCtx->messageEntryTableNes; + msgEntry = msgCtx->messageTableNES; foundSegment = msgEntry->segment; msgEntry++; nextSegment = msgEntry->segment; @@ -190,7 +191,7 @@ void Message_LoadTimeNES(PlayState* play, u8 curChar, s32* offset, f32* arg3, s1 f32 timeLeftInMinutes; s16 i; - if (curChar == 0xCF) { + if (curChar == MESSAGE_TIME_UNTIL_MOON_CRASH) { timeLeft = TIME_UNTIL_MOON_CRASH; } else { timeLeft = TIME_UNTIL_NEW_DAY; @@ -276,7 +277,7 @@ void Message_LoadOwlWarpTextNES(PlayState* play, s32* offset, f32* arg2, s16* de s32 o = *offset; f32 f = *arg2; s16 i; - u8 currentChar; + u8 curChar; s16 owlWarpId; s16 stringLimit; @@ -289,14 +290,14 @@ void Message_LoadOwlWarpTextNES(PlayState* play, s32* offset, f32* arg2, s16* de for (i = 0; i < stringLimit; i++) { msgCtx->decodedBuffer.schar[p] = sOwlWarpTextENG[owlWarpId][i]; - currentChar = msgCtx->decodedBuffer.schar[p]; - if (currentChar != ' ') { + curChar = msgCtx->decodedBuffer.schar[p]; + if (curChar != ' ') { Font_LoadCharNES(play, sOwlWarpTextENG[owlWarpId][i], o); o += FONT_CHAR_TEX_SIZE; } - currentChar = msgCtx->decodedBuffer.schar[p]; + curChar = msgCtx->decodedBuffer.schar[p]; p++; - f += (sNESFontWidths[currentChar - ' '] * msgCtx->textCharScale); + f += (sNESFontWidths[curChar - ' '] * msgCtx->textCharScale); } p--; @@ -345,32 +346,73 @@ void Message_GetTimerDigitsNES(OSTime time, s16* digits) { } Color_RGB16 D_801D07DC[] = { - { 255, 120, 0 }, { 70, 255, 80 }, { 80, 110, 255 }, { 255, 255, 30 }, - { 90, 180, 255 }, { 210, 100, 255 }, { 170, 170, 170 }, { 255, 130, 30 }, + { 255, 120, 0 }, // MESSAGE_COLOR_RED + { 70, 255, 80 }, // MESSAGE_COLOR_GREEN + { 80, 110, 255 }, // MESSAGE_COLOR_BLUE + { 255, 255, 30 }, // MESSAGE_COLOR_YELLOW + { 90, 180, 255 }, // MESSAGE_COLOR_LIGHTBLUE + { 210, 100, 255 }, // MESSAGE_COLOR_PINK + { 170, 170, 170 }, // MESSAGE_COLOR_SILVER + { 255, 130, 30 }, // MESSAGE_COLOR_ORANGE }; -Color_RGB16 D_801D080C[] = { - { 255, 60, 60 }, { 70, 255, 80 }, { 80, 90, 255 }, { 255, 255, 50 }, - { 80, 150, 255 }, { 255, 150, 180 }, { 170, 170, 170 }, { 255, 130, 30 }, +static Color_RGB16 sColorsNormalNES[] = { + { 255, 60, 60 }, // MESSAGE_COLOR_RED + { 70, 255, 80 }, // MESSAGE_COLOR_GREEN + { 80, 90, 255 }, // MESSAGE_COLOR_BLUE + { 255, 255, 50 }, // MESSAGE_COLOR_YELLOW + { 80, 150, 255 }, // MESSAGE_COLOR_LIGHTBLUE + { 255, 150, 180 }, // MESSAGE_COLOR_PINK + { 170, 170, 170 }, // MESSAGE_COLOR_SILVER + { 255, 130, 30 }, // MESSAGE_COLOR_ORANGE }; -Color_RGB16 D_801D083C[] = { - { 255, 60, 60 }, { 70, 255, 80 }, { 80, 90, 255 }, { 255, 255, 50 }, - { 80, 150, 255 }, { 255, 150, 180 }, { 180, 180, 200 }, { 255, 130, 30 }, +static Color_RGB16 sColorsButtonsNES[] = { + { 255, 60, 60 }, // RED + { 70, 255, 80 }, // GREEN + { 80, 90, 255 }, // BLUE + { 255, 255, 50 }, // YELLOW + { 80, 150, 255 }, // LIGHTBLUE + { 255, 150, 180 }, // PINK + { 180, 180, 200 }, // SILVER + { 255, 130, 30 }, // ORANGE }; Color_RGB16 D_801D086C[] = { - { 195, 0, 0 }, { 70, 255, 80 }, { 80, 90, 255 }, { 255, 255, 50 }, - { 80, 150, 255 }, { 255, 150, 180 }, { 170, 170, 170 }, { 255, 130, 30 }, + { 195, 0, 0 }, // MESSAGE_COLOR_RED + { 70, 255, 80 }, // MESSAGE_COLOR_GREEN + { 80, 90, 255 }, // MESSAGE_COLOR_BLUE + { 255, 255, 50 }, // MESSAGE_COLOR_YELLOW + { 80, 150, 255 }, // MESSAGE_COLOR_LIGHTBLUE + { 255, 150, 180 }, // MESSAGE_COLOR_PINK + { 170, 170, 170 }, // MESSAGE_COLOR_SILVER + { 255, 130, 30 }, // MESSAGE_COLOR_ORANGE }; -Color_RGB16 D_801D089C[] = { - { 255, 60, 60 }, { 110, 170, 255 }, { 80, 90, 255 }, { 255, 255, 50 }, - { 80, 150, 255 }, { 255, 150, 180 }, { 170, 170, 170 }, { 255, 130, 30 }, +static Color_RGB16 sColorsBombersNotebookNES[] = { + { 255, 60, 60 }, // MESSAGE_COLOR_RED + { 110, 170, 255 }, // MESSAGE_COLOR_GREEN + { 80, 90, 255 }, // MESSAGE_COLOR_BLUE + { 255, 255, 50 }, // MESSAGE_COLOR_YELLOW + { 80, 150, 255 }, // MESSAGE_COLOR_LIGHTBLUE + { 255, 150, 180 }, // MESSAGE_COLOR_PINK + { 170, 170, 170 }, // MESSAGE_COLOR_SILVER + { 255, 130, 30 }, // MESSAGE_COLOR_ORANGE }; -u8 D_801D08CC[] = { - 0x02, 0x01, 0x03, 0x06, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, 0x01, 0x06, +static u8 sButtonColorIndicesNES[] = { + 2, // MESSAGE_BTN_A + 1, // MESSAGE_BTN_B + 3, // MESSAGE_BTN_C + 6, // MESSAGE_BTN_L + 6, // MESSAGE_BTN_R + 6, // MESSAGE_BTN_Z + 3, // MESSAGE_BTN_CUP + 3, // MESSAGE_BTN_CDOWN + 3, // MESSAGE_BTN_CLEFT + 3, // MESSAGE_BTN_CRIGHT + 1, // MESSAGE_Z_TARGET + 6, // MESSAGE_CONTROL_PAD }; void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { @@ -383,9 +425,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { Gfx* gfx = *gfxP; u16 character; s16 sp130; - s16 sp12E; - s16 sp12C; - s16 sp12A; + s16 prevR; + s16 prevG; + s16 prevB; msgCtx->textPosX = msgCtx->unk11F1A[0] + msgCtx->unk11FF8; msgCtx->textPosY = msgCtx->unk11FFA; @@ -411,7 +453,7 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { character = msgCtx->decodedBuffer.schar[i]; switch (character) { - case 0x0: + case MESSAGE_COLOR_DEFAULT: if (play->pauseCtx.bombersNotebookOpen || (msgCtx->textBoxType == TEXTBOX_TYPE_D)) { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 0; } else if (msgCtx->textBoxType == TEXTBOX_TYPE_5) { @@ -425,16 +467,16 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } break; - case 0x1: - case 0x2: - case 0x3: - case 0x4: - case 0x5: - case 0x6: - case 0x7: - case 0x8: + case MESSAGE_COLOR_RED: + case MESSAGE_COLOR_GREEN: + case MESSAGE_COLOR_BLUE: + case MESSAGE_COLOR_YELLOW: + case MESSAGE_COLOR_LIGHTBLUE: + case MESSAGE_COLOR_PINK: + case MESSAGE_COLOR_SILVER: + case MESSAGE_COLOR_ORANGE: if ((msgCtx->msgMode >= MSGMODE_NEW_CYCLE_0) && (msgCtx->msgMode <= MSGMODE_OWL_SAVE_2) && - (character == 0x2)) { + (character == MESSAGE_COLOR_GREEN)) { msgCtx->textDrawPos = msgCtx->decodedTextLen; if (msgCtx->unk120D6) { msgCtx->unk120D4 += 25; @@ -467,9 +509,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } } else if (play->pauseCtx.bombersNotebookOpen) { - msgCtx->textColorR = D_801D089C[(s16)(character - 1)].r; - msgCtx->textColorG = D_801D089C[(s16)(character - 1)].g; - msgCtx->textColorB = D_801D089C[(s16)(character - 1)].b; + msgCtx->textColorR = sColorsBombersNotebookNES[(s16)(character - 1)].r; + msgCtx->textColorG = sColorsBombersNotebookNES[(s16)(character - 1)].g; + msgCtx->textColorB = sColorsBombersNotebookNES[(s16)(character - 1)].b; } else if (msgCtx->textBoxType == TEXTBOX_TYPE_1) { msgCtx->textColorR = D_801D07DC[(s16)(character - 1)].r; msgCtx->textColorG = D_801D07DC[(s16)(character - 1)].g; @@ -479,9 +521,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { msgCtx->textColorG = D_801D086C[(s16)(character - 1)].g; msgCtx->textColorB = D_801D086C[(s16)(character - 1)].b; } else { - msgCtx->textColorR = D_801D080C[(s16)(character - 1)].r; - msgCtx->textColorG = D_801D080C[(s16)(character - 1)].g; - msgCtx->textColorB = D_801D080C[(s16)(character - 1)].b; + msgCtx->textColorR = sColorsNormalNES[(s16)(character - 1)].r; + msgCtx->textColorG = sColorsNormalNES[(s16)(character - 1)].g; + msgCtx->textColorB = sColorsNormalNES[(s16)(character - 1)].b; } if ((i + 1) == msgCtx->textDrawPos) { @@ -489,14 +531,14 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } break; - case 0x20: // ` ` + case ' ': msgCtx->textPosX += 6; break; - case 0x11: + case MESSAGE_NEWLINE: msgCtx->textPosY += msgCtx->unk11FFC; // fallthrough - case 0x13: + case MESSAGE_CARRIAGE_RETURN: sp130++; msgCtx->textPosX = msgCtx->unk11F1A[sp130] + msgCtx->unk11FF8; @@ -523,8 +565,8 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } continue; - case 0x10: - case 0x12: + case MESSAGE_BOX_BREAK: + case MESSAGE_BOX_BREAK2: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { if (!msgCtx->textboxSkipped) { Audio_PlaySfx(NA_SE_NONE); @@ -542,15 +584,18 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { *gfxP = gfx; return; - case 0x17: // MESSAGE_QUICKTEXT_ENABLE + case MESSAGE_QUICKTEXT_ENABLE: if ((i + 1) == msgCtx->textDrawPos) { if ((msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) || ((msgCtx->msgMode >= MSGMODE_OCARINA_STARTING) && (msgCtx->msgMode <= MSGMODE_26))) { j = i; while (true) { - if ((msgCtx->decodedBuffer.schar[j] != 0x18) && (msgCtx->decodedBuffer.schar[j] != 0x1A) && - (msgCtx->decodedBuffer.schar[j] != 0x19) && (msgCtx->decodedBuffer.schar[j] != 0xE0) && - (msgCtx->decodedBuffer.schar[j] != 0x10) && (msgCtx->decodedBuffer.schar[j] != 0x12)) { + if ((msgCtx->decodedBuffer.schar[j] != MESSAGE_QUICKTEXT_DISABLE) && + (msgCtx->decodedBuffer.schar[j] != MESSAGE_PERSISTENT) && + (msgCtx->decodedBuffer.schar[j] != MESSAGE_EVENT) && + (msgCtx->decodedBuffer.schar[j] != MESSAGE_EVENT2) && + (msgCtx->decodedBuffer.schar[j] != MESSAGE_BOX_BREAK) && + (msgCtx->decodedBuffer.schar[j] != MESSAGE_BOX_BREAK2)) { j++; continue; } @@ -562,10 +607,10 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } break; - case 0x18: // MESSAGE_QUICKTEXT_DISABLE + case MESSAGE_QUICKTEXT_DISABLE: break; - case 0x1B: // MESSAGE_BOX_BREAK_DELAYED + case MESSAGE_BOX_BREAK_DELAYED: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { stateTimerHi = msgCtx->decodedBuffer.schar[++i] << 8; stateTimerHi |= msgCtx->decodedBuffer.schar[++i]; @@ -575,13 +620,13 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { *gfxP = gfx; return; - case 0x1C: + case MESSAGE_FADE: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; if (msgCtx->unk11F0C == 3) { - msgCtx->textboxEndType = 0x55; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_STAGES_1; } else { - msgCtx->textboxEndType = 0x50; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_NORMAL; } stateTimerHi = msgCtx->decodedBuffer.schar[++i] << 8; stateTimerHi |= msgCtx->decodedBuffer.schar[++i]; @@ -594,10 +639,10 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { *gfxP = gfx; return; - case 0x1D: + case MESSAGE_FADE_SKIPPABLE: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = 0x52; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_SKIPPABLE; stateTimerHi = msgCtx->decodedBuffer.schar[++i] << 8; stateTimerHi |= msgCtx->decodedBuffer.schar[++i]; msgCtx->stateTimer = stateTimerHi; @@ -609,7 +654,7 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { *gfxP = gfx; return; - case 0x1E: // MESSAGE_SFX + case MESSAGE_SFX: if (((i + 1) == msgCtx->textDrawPos) && (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING)) { stateTimerHi = msgCtx->decodedBuffer.schar[i + 1] << 8; stateTimerHi |= msgCtx->decodedBuffer.schar[i + 2]; @@ -621,7 +666,7 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { i += 2; break; - case 0x1F: + case MESSAGE_DELAY: if (((i + 1) == msgCtx->textDrawPos) && (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING)) { msgCtx->msgMode = MSGMODE_9; stateTimerHi = msgCtx->decodedBuffer.schar[i + 1] << 8; @@ -631,7 +676,7 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { i += 2; break; - case 0xA: + case MESSAGE_TEXT_SPEED: i++; character = msgCtx->decodedBuffer.schar[i]; switch (character) { @@ -650,8 +695,8 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } break; - case 0xC1: // MESSAGE_BACKGROUND - msgCtx->textPosX = 0x2D; + case MESSAGE_BACKGROUND: + msgCtx->textPosX = 45; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Audio_PlaySfx(NA_SE_NONE); @@ -664,28 +709,28 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, (msgCtx->unk12012 + 1) << 2, - (msgCtx->textPosX + 0x60) << 2, (msgCtx->unk12012 + 0x31) << 2, G_TX_RENDERTILE, 0, - 0, 1 << 10, 1 << 10); + (msgCtx->textPosX + 96) << 2, (msgCtx->unk12012 + 49) << 2, G_TX_RENDERTILE, 0, 0, + 1 << 10, 1 << 10); gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + 0x1900, G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, (msgCtx->textPosX + 0x60) << 2, (msgCtx->unk12012 + 1) << 2, - (msgCtx->textPosX + 0xC1) << 2, (msgCtx->unk12012 + 0x31) << 2, G_TX_RENDERTILE, 0, - 0, 1 << 10, 1 << 10); + gSPTextureRectangle(gfx++, (msgCtx->textPosX + 96) << 2, (msgCtx->unk12012 + 1) << 2, + (msgCtx->textPosX + 193) << 2, (msgCtx->unk12012 + 49) << 2, G_TX_RENDERTILE, 0, 0, + 1 << 10, 1 << 10); gDPPipeSync(gfx++); gDPSetPrimColor(gfx++, 0, 0, 255, 60, 0, msgCtx->textColorAlpha); gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + 0x1000, G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, msgCtx->unk12012 << 2, (msgCtx->textPosX + 0x60) << 2, - (msgCtx->unk12012 + 0x30) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); + gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, msgCtx->unk12012 << 2, (msgCtx->textPosX + 96) << 2, + (msgCtx->unk12012 + 48) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + 0x1900, G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, (msgCtx->textPosX + 0x60) << 2, msgCtx->unk12012 << 2, - (msgCtx->textPosX + 0xC0) << 2, (msgCtx->unk12012 + 0x30) << 2, G_TX_RENDERTILE, 0, - 0, 1 << 10, 1 << 10); + gSPTextureRectangle(gfx++, (msgCtx->textPosX + 96) << 2, msgCtx->unk12012 << 2, + (msgCtx->textPosX + 192) << 2, (msgCtx->unk12012 + 48) << 2, G_TX_RENDERTILE, 0, 0, + 1 << 10, 1 << 10); gDPPipeSync(gfx++); gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, @@ -694,79 +739,79 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { msgCtx->textPosX += 32; break; - case 0xC2: - msgCtx->textboxEndType = 0x10; + case MESSAGE_TWO_CHOICE: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_TWO_CHOICE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->choiceTextId = msgCtx->currentTextId; msgCtx->stateTimer = 4; Font_LoadMessageBoxEndIcon(font, 2); if (msgCtx->unk120D8 != 3) { - msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 0xE); - msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 0x1A); - msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 0x26); + msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 14); + msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 26); + msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 38); } } break; - case 0xC3: - msgCtx->textboxEndType = 0x11; + case MESSAGE_THREE_CHOICE: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_THREE_CHOICE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->choiceTextId = msgCtx->currentTextId; msgCtx->stateTimer = 4; Font_LoadMessageBoxEndIcon(font, 2); if (msgCtx->unk120D8 != 3) { - msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 0xE); - msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 0x1A); - msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 0x26); + msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 14); + msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 26); + msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 38); } } break; - case 0xCC: - msgCtx->textboxEndType = 0x60; + case MESSAGE_INPUT_BANK: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_BANK; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(font, 1); } break; - case 0xD0: - msgCtx->textboxEndType = 0x61; + case MESSAGE_INPUT_DOGGY_RACETRACK_BET: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(font, 1); } break; - case 0xD1: - msgCtx->textboxEndType = 0x62; + case MESSAGE_INPUT_BOMBER_CODE: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(font, 1); } break; - case 0xD2: + case MESSAGE_PAUSE_MENU: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = 0x41; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PAUSE_MENU; Font_LoadMessageBoxEndIcon(font, 0); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } break; - case 0xD5: - msgCtx->textboxEndType = 0x63; + case MESSAGE_INPUT_LOTTERY_CODE: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Font_LoadMessageBoxEndIcon(font, 1); } break; - case 0x15: - case 0xBF: + case MESSAGE_CONTINUE: + case MESSAGE_END: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { Message_HandleOcarina(play); @@ -775,9 +820,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } msgCtx->msgMode = MSGMODE_TEXT_DONE; - if (msgCtx->textboxEndType == 0) { + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_DEFAULT) { Audio_PlaySfx(NA_SE_SY_MESSAGE_END); - if (character == 0xBF) { + if (character == MESSAGE_END) { Font_LoadMessageBoxEndIcon(font, 1); } else { Font_LoadMessageBoxEndIcon(font, 0); @@ -792,29 +837,29 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { *gfxP = gfx; return; - case 0x1A: + case MESSAGE_PERSISTENT: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Audio_PlaySfx(NA_SE_NONE); msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = 0x30; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PERSISTENT; } *gfxP = gfx; return; - case 0x19: + case MESSAGE_EVENT: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = 0x40; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT; Font_LoadMessageBoxEndIcon(font, 0); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } *gfxP = gfx; return; - case 0xE0: + case MESSAGE_EVENT2: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = 0x42; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT2; Font_LoadMessageBoxEndIcon(font, 1); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } @@ -843,17 +888,17 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { if ((msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) && ((i + 1) == msgCtx->textDrawPos)) { Audio_PlaySfx(NA_SE_NONE); } - if ((character >= 0xB0) && (character <= 0xBB)) { - sp12E = msgCtx->textColorR; - sp12C = msgCtx->textColorG; - sp12A = msgCtx->textColorB; - msgCtx->textColorR = D_801D083C[(s16)D_801D08CC[character - 0xB0]].r; - msgCtx->textColorG = D_801D083C[(s16)D_801D08CC[character - 0xB0]].g; - msgCtx->textColorB = D_801D083C[(s16)D_801D08CC[character - 0xB0]].b; + if ((character >= MESSAGE_BTN_A) && (character <= MESSAGE_CONTROL_PAD)) { + prevR = msgCtx->textColorR; + prevG = msgCtx->textColorG; + prevB = msgCtx->textColorB; + msgCtx->textColorR = sColorsButtonsNES[(s16)sButtonColorIndicesNES[character - MESSAGE_BTN_A]].r; + msgCtx->textColorG = sColorsButtonsNES[(s16)sButtonColorIndicesNES[character - MESSAGE_BTN_A]].g; + msgCtx->textColorB = sColorsButtonsNES[(s16)sButtonColorIndicesNES[character - MESSAGE_BTN_A]].b; Message_DrawTextChar(play, &font->charBuf[font->unk_11D88][charTexIndex], &gfx); - msgCtx->textColorR = sp12E; - msgCtx->textColorG = sp12C; - msgCtx->textColorB = sp12A; + msgCtx->textColorR = prevR; + msgCtx->textColorG = prevG; + msgCtx->textColorB = prevB; } else if (msgCtx->msgMode >= MSGMODE_OWL_SAVE_0) { if ((i < (msgCtx->decodedTextLen - 6)) || (i >= (msgCtx->decodedTextLen - 4))) { Message_DrawTextChar(play, &font->charBuf[font->unk_11D88][charTexIndex], &gfx); @@ -889,14 +934,14 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { break; default: - if (((msgCtx->textboxEndType == 0x62) && (i >= msgCtx->unk120C0) && + if (((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE) && (i >= msgCtx->unk120C0) && ((msgCtx->unk120C0 + 4) >= i)) || - ((msgCtx->textboxEndType == 0x63) && (i >= msgCtx->unk120C0) && + ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE) && + (i >= msgCtx->unk120C0) && ((msgCtx->unk120C0 + 2) >= i)) || + ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_BANK) && (i >= msgCtx->unk120C0) && ((msgCtx->unk120C0 + 2) >= i)) || - ((msgCtx->textboxEndType == 0x60) && (i >= msgCtx->unk120C0) && - ((msgCtx->unk120C0 + 2) >= i)) || - ((msgCtx->textboxEndType == 0x61) && (i >= msgCtx->unk120C0) && - ((msgCtx->unk120C0 + 1) >= i))) { + ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET) && + (i >= msgCtx->unk120C0) && ((msgCtx->unk120C0 + 1) >= i))) { msgCtx->textPosX += (s32)(16.0f * msgCtx->textCharScale); } else { msgCtx->textPosX += (s32)(sNESFontWidths[character - ' '] * msgCtx->textCharScale); @@ -920,17 +965,17 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { *gfxP = gfx; } -char D_801D08D8[][4] = { +char sTimeSpeedTextENG[][4] = { "Fast", "----", "Slow", }; -u8 D_801D08E4[] = { - 0x01, - 0x03, - 0x04, - 0x02, +u8 sMaskCodeColorCmdENG[] = { + MESSAGE_COLOR_RED, + MESSAGE_COLOR_BLUE, + MESSAGE_COLOR_YELLOW, + MESSAGE_COLOR_GREEN, }; #define RED_STR "RED" @@ -981,14 +1026,16 @@ void Message_DecodeNES(PlayState* play) { msgCtx->textFade = false; spA4 = 0.0f; font->unk_11D88 = (font->unk_11D88 ^ 1) & 1; - Message_SetupLoadItemIcon(play); + Message_DecodeHeader(play); while (true) { curChar = font->msgBuf.schar[msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos]; - if ((curChar == 0x10) || (curChar == 0x12) || (curChar == 0x1B) || (curChar == 0x1C) || (curChar == 0x1D) || - (curChar == 0x19) || (curChar == 0xE0) || (curChar == 0xBF) || (curChar == 0x15) || (curChar == 0x1A)) { + if ((curChar == MESSAGE_BOX_BREAK) || (curChar == MESSAGE_BOX_BREAK2) || + (curChar == MESSAGE_BOX_BREAK_DELAYED) || (curChar == MESSAGE_FADE) || + (curChar == MESSAGE_FADE_SKIPPABLE) || (curChar == MESSAGE_EVENT) || (curChar == MESSAGE_EVENT2) || + (curChar == MESSAGE_END) || (curChar == MESSAGE_CONTINUE) || (curChar == MESSAGE_PERSISTENT)) { msgCtx->msgMode = MSGMODE_TEXT_DISPLAYING; msgCtx->textDrawPos = 1; if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { @@ -1003,7 +1050,7 @@ void Message_DecodeNES(PlayState* play) { spA4 = 0.0f; - if (curChar == 0x12) { + if (curChar == MESSAGE_BOX_BREAK2) { if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines < 2) { msgCtx->unk11FFA = msgCtx->textboxY + XREG(10); @@ -1028,7 +1075,8 @@ void Message_DecodeNES(PlayState* play) { { s8 requiredScopeTemp; - if ((curChar == 0x1B) || (curChar == 0x1C) || (curChar == 0x1D)) { + if ((curChar == MESSAGE_BOX_BREAK_DELAYED) || (curChar == MESSAGE_FADE) || + (curChar == MESSAGE_FADE_SKIPPABLE)) { //! FAKE: & 0xFFFF to fix regalloc msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[(msgCtx->msgBufPos & 0xFFFF) + 1]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos + 2]; @@ -1048,7 +1096,7 @@ void Message_DecodeNES(PlayState* play) { msgCtx->unk120CA = msgCtx->unk120D0; msgCtx->unk120CC = msgCtx->unk120D2; break; - } else if (curChar == 0x16) { + } else if (curChar == MESSAGE_NAME) { // Substitute the player name control character for the file's player name. for (playerNameLen = ARRAY_COUNT(gSaveContext.save.saveInfo.playerData.playerName); playerNameLen > 0; playerNameLen--) { @@ -1083,7 +1131,7 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } decodedBufPos--; - } else if (curChar == 0xC1) { + } else if (curChar == MESSAGE_BACKGROUND) { DmaMgr_RequestSync(msgCtx->textboxSegment + 0x1000, SEGMENT_ROM_START(message_texture_static), 0x900); DmaMgr_RequestSync(msgCtx->textboxSegment + 0x1900, SEGMENT_ROM_START(message_texture_static) + 0x900, 0x900); @@ -1092,15 +1140,15 @@ void Message_DecodeNES(PlayState* play) { msgCtx->unk12012 = msgCtx->textboxY + 8; msgCtx->unk11F18 = 1; msgCtx->unk12010 = XREG(47); - } else if (curChar == 0xC2) { + } else if (curChar == MESSAGE_TWO_CHOICE) { msgCtx->unk11F18 = 0; msgCtx->choiceNum = 2; - } else if (curChar == 0xC3) { + } else if (curChar == MESSAGE_THREE_CHOICE) { msgCtx->unk11F18 = 0; msgCtx->choiceNum = 3; - msgCtx->unk11FF8 += 0x16; - } else if (curChar == 0xC4) { - Message_GetTimerDigitsNES(((void)0, gSaveContext.timerCurTimes[curChar - 0xC4]), spA8); + msgCtx->unk11FF8 += 22; + } else if (curChar == MESSAGE_TIMER_POSTMAN) { + Message_GetTimerDigitsNES(((void)0, gSaveContext.timerCurTimes[curChar - MESSAGE_TIMER_POSTMAN]), spA8); loadChar = false; for (i = 0; i < 5; i++) { @@ -1113,9 +1161,10 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if ((curChar == 0xC5) || (curChar == 0xC6) || (curChar == 0xC7) || (curChar == 0xC8) || - (curChar == 0xC9)) { - Message_GetTimerDigitsNES(((void)0, gSaveContext.timerCurTimes[curChar - 0xC4]), spA8); + } else if ((curChar == MESSAGE_TIMER_MINIGAME_1) || (curChar == MESSAGE_TIMER_2) || + (curChar == MESSAGE_TIMER_MOON_CRASH) || (curChar == MESSAGE_TIMER_MINIGAME_2) || + (curChar == MESSAGE_TIMER_ENV_HAZARD)) { + Message_GetTimerDigitsNES(((void)0, gSaveContext.timerCurTimes[curChar - MESSAGE_TIMER_POSTMAN]), spA8); loadChar = false; for (i = 0; i < 8; i++) { @@ -1128,7 +1177,7 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if (curChar == 0xCA) { + } else if (curChar == MESSAGE_TIME) { digits[0] = 0; digits[1] = TIME_TO_MINUTES_F(CURRENT_TIME) / 60.0f; while (digits[1] >= 10) { @@ -1151,16 +1200,16 @@ void Message_DecodeNES(PlayState* play) { if (i == 1) { Font_LoadCharNES(play, '"', charTexIndex); charTexIndex += FONT_CHAR_TEX_SIZE; - msgCtx->decodedBuffer.schar[decodedBufPos] = 0x22; + msgCtx->decodedBuffer.schar[decodedBufPos] = '"'; decodedBufPos++; } else if (i == 3) { - Font_LoadCharNES(play, 0x27, charTexIndex); + Font_LoadCharNES(play, '\'', charTexIndex); charTexIndex += FONT_CHAR_TEX_SIZE; - msgCtx->decodedBuffer.schar[decodedBufPos] = 0x27; + msgCtx->decodedBuffer.schar[decodedBufPos] = '\''; } } spA4 += 6 * (16.0f * msgCtx->textCharScale); - } else if (curChar == 0xCB) { + } else if (curChar == MESSAGE_CHEST_FLAGS) { digits[0] = digits[1] = digits[2] = 0; digits[3] = Flags_GetAllTreasure(play); @@ -1191,12 +1240,12 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if (curChar == 0xCC) { + } else if (curChar == MESSAGE_INPUT_BANK) { decodedBufPos++; msgCtx->unk120BE = spC6; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 2; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; digits[0] = digits[1] = digits[2] = 0; @@ -1205,9 +1254,9 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } Message_LoadLocalizedRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4); - } else if (curChar == 0xCD) { + } else if (curChar == MESSAGE_RUPEES_SELECTED) { digits[0] = digits[1] = 0; - digits[2] = msgCtx->bankRupeesSelected; + digits[2] = msgCtx->rupeesSelected; while (digits[2] >= 100) { digits[0]++; @@ -1229,10 +1278,10 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } } - Message_LoadRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4, msgCtx->bankRupeesSelected); - } else if (curChar == 0xCE) { + Message_LoadRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4, msgCtx->rupeesSelected); + } else if (curChar == MESSAGE_RUPEES_TOTAL) { digits[0] = digits[1] = digits[2] = 0; - digits[3] = msgCtx->bankRupees; + digits[3] = msgCtx->rupeesTotal; while (digits[3] >= 1000) { digits[0]++; @@ -1257,10 +1306,10 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } } - Message_LoadRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4, msgCtx->bankRupees); - } else if (curChar == 0xCF) { + Message_LoadRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4, msgCtx->rupeesTotal); + } else if (curChar == MESSAGE_TIME_UNTIL_MOON_CRASH) { Message_LoadTimeNES(play, curChar, &charTexIndex, &spA4, &decodedBufPos); - } else if (curChar == 0xC) { + } else if (curChar == MESSAGE_STRAY_FAIRIES) { digits[0] = digits[1] = 0; digits[2] = gSaveContext.save.saveInfo.inventory.strayFairies[(void)0, gSaveContext.dungeonIndex]; @@ -1304,7 +1353,7 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; Message_LoadCharNES(play, 'h', &charTexIndex, &spA4, decodedBufPos); } - } else if (curChar == 0xD) { + } else if (curChar == MESSAGE_TOKENS) { digits[0] = digits[1] = 0; digits[2] = Inventory_GetSkullTokenCount(play->sceneId); @@ -1348,7 +1397,7 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; Message_LoadCharNES(play, 'h', &charTexIndex, &spA4, decodedBufPos); } - } else if (curChar == 0xE) { + } else if (curChar == MESSAGE_POINTS_TENS) { digits[0] = 0; digits[1] = gSaveContext.minigameScore; @@ -1365,7 +1414,7 @@ void Message_DecodeNES(PlayState* play) { } decodedBufPos--; - } else if (curChar == 0xF) { + } else if (curChar == MESSAGE_POINTS_THOUSANDS) { digits[0] = digits[1] = digits[2] = 0; digits[3] = gSaveContext.minigameScore; @@ -1393,12 +1442,12 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if (curChar == 0xD0) { + } else if (curChar == MESSAGE_INPUT_DOGGY_RACETRACK_BET) { decodedBufPos++; msgCtx->unk120BE = spC6; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 0; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; digits[0] = digits[1] = digits[2] = 0; for (i = 0; i < 2; i++) { @@ -1406,12 +1455,12 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } Message_LoadPluralRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4); - } else if (curChar == 0xD1) { + } else if (curChar == MESSAGE_INPUT_BOMBER_CODE) { decodedBufPos++; msgCtx->unk120BE = spC6; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 0; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; for (i = 0; i < 5; i++) { @@ -1420,7 +1469,7 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } decodedBufPos--; - } else if (curChar == 0xD3) { + } else if (curChar == MESSAGE_TIME_SPEED) { if (((void)0, gSaveContext.save.timeSpeedOffset) == 18) { index = 0; } else if (((void)0, gSaveContext.save.timeSpeedOffset) == 0) { @@ -1430,21 +1479,21 @@ void Message_DecodeNES(PlayState* play) { } for (i = 0; i < 4; i++, decodedBufPos++) { - msgCtx->decodedBuffer.schar[decodedBufPos] = D_801D08D8[index][i]; - Font_LoadCharNES(play, D_801D08D8[index][i], charTexIndex); + msgCtx->decodedBuffer.schar[decodedBufPos] = sTimeSpeedTextENG[index][i]; + Font_LoadCharNES(play, sTimeSpeedTextENG[index][i], charTexIndex); charTexIndex += FONT_CHAR_TEX_SIZE; } decodedBufPos--; spA4 += 3.0f * (16.0f * msgCtx->textCharScale); msgCtx->choiceIndex = index; - } else if (curChar == 0xD4) { + } else if (curChar == MESSAGE_OWL_WARP) { Message_LoadOwlWarpTextNES(play, &charTexIndex, &spA4, &decodedBufPos); - } else if (curChar == 0xD5) { + } else if (curChar == MESSAGE_INPUT_LOTTERY_CODE) { decodedBufPos++; msgCtx->unk120BE = spC6; msgCtx->unk120C0 = decodedBufPos; msgCtx->unk120C2 = 0; - msgCtx->bankRupeesSelected = 0; + msgCtx->rupeesSelected = 0; msgCtx->unk120C4 = charTexIndex; for (i = 0; i < 3; i++) { @@ -1456,18 +1505,21 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; } decodedBufPos--; - } else if (curChar == 0xD6) { - for (i = 0; i < 6; i++) { + } else if (curChar == MESSAGE_SPIDER_HOUSE_MASK_CODE) { + for (i = 0; i < ARRAY_COUNT(gSaveContext.save.saveInfo.spiderHouseMaskOrder); i++) { msgCtx->decodedBuffer.schar[decodedBufPos] = - D_801D08E4[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[i])]; + sMaskCodeColorCmdENG[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[i])]; decodedBufPos++; Message_LoadCharNES(play, i + '1', &charTexIndex, &spA4, decodedBufPos); decodedBufPos++; } - msgCtx->decodedBuffer.schar[decodedBufPos] = 0; - } else if ((curChar >= 0xD7) && (curChar < 0xDB)) { + msgCtx->decodedBuffer.schar[decodedBufPos] = MESSAGE_COLOR_DEFAULT; + } else if ((curChar >= MESSAGE_STRAY_FAIRIES_LEFT_WOODFALL) && + (curChar <= MESSAGE_STRAY_FAIRIES_LEFT_STONE_TOWER)) { digits[0] = digits[1] = 0; - digits[2] = STRAY_FAIRY_SCATTERED_TOTAL - gSaveContext.save.saveInfo.inventory.strayFairies[curChar - 0xD7]; + digits[2] = + STRAY_FAIRY_SCATTERED_TOTAL - + gSaveContext.save.saveInfo.inventory.strayFairies[curChar - MESSAGE_STRAY_FAIRIES_LEFT_WOODFALL]; while (digits[2] >= 100) { digits[0]++; @@ -1491,7 +1543,7 @@ void Message_DecodeNES(PlayState* play) { spA4 += 16.0f * msgCtx->textCharScale; } } - } else if (curChar == 0xDB) { + } else if (curChar == MESSAGE_POINTS_BOAT_ARCHERY) { digits[0] = digits[1] = digits[2] = 0; digits[3] = gSaveContext.minigameScore; @@ -1522,8 +1574,8 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if ((curChar == 0xDC) || (curChar == 0xDD)) { - if (curChar == 0xDC) { + } else if ((curChar == MESSAGE_LOTTERY_CODE) || (curChar == MESSAGE_LOTTERY_CODE_GUESS)) { + if (curChar == MESSAGE_LOTTERY_CODE) { digits[0] = gSaveContext.save.saveInfo.lotteryCodes[CURRENT_DAY - 1][0]; digits[1] = gSaveContext.save.saveInfo.lotteryCodes[CURRENT_DAY - 1][1]; digits[2] = gSaveContext.save.saveInfo.lotteryCodes[CURRENT_DAY - 1][2]; @@ -1541,7 +1593,7 @@ void Message_DecodeNES(PlayState* play) { spA4 += 16.0f * msgCtx->textCharScale; } decodedBufPos--; - } else if (curChar == 0xDE) { + } else if (curChar == MESSAGE_HELD_ITEM_PRICE) { digits[0] = digits[1] = digits[2] = 0; digits[3] = gItemPrices[GET_CUR_FORM_BTN_ITEM(player->heldItemButton)]; @@ -1572,7 +1624,7 @@ void Message_DecodeNES(PlayState* play) { } } Message_LoadPluralRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4); - } else if (curChar == 0xDF) { + } else if (curChar == MESSAGE_BOMBER_CODE) { for (i = 0; i < 5; i++) { digits[i] = gSaveContext.save.saveInfo.bomberCode[i]; Font_LoadCharNES(play, digits[i] + '0', charTexIndex); @@ -1582,21 +1634,22 @@ void Message_DecodeNES(PlayState* play) { spA4 += 16.0f * msgCtx->textCharScale; } decodedBufPos--; - } else if ((curChar >= 0xE1) && (curChar < 0xE7)) { - msgCtx->decodedBuffer.schar[decodedBufPos++] = - D_801D08E4[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[(s16)(curChar - 0xE1)])]; - index = sMaskCodeTextLengthENG[((void)0, - gSaveContext.save.saveInfo.spiderHouseMaskOrder[(s16)(curChar - 0xE1)])]; + } else if ((curChar >= MESSAGE_SPIDER_HOUSE_MASK_CODE_1) && (curChar <= MESSAGE_SPIDER_HOUSE_MASK_CODE_6)) { + msgCtx->decodedBuffer.schar[decodedBufPos++] = sMaskCodeColorCmdENG[( + (void)0, + gSaveContext.save.saveInfo.spiderHouseMaskOrder[(s16)(curChar - MESSAGE_SPIDER_HOUSE_MASK_CODE_1)])]; + index = sMaskCodeTextLengthENG[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[( + s16)(curChar - MESSAGE_SPIDER_HOUSE_MASK_CODE_1)])]; for (playerNameLen = 0; playerNameLen < index; playerNameLen++, decodedBufPos++) { Message_LoadCharNES( play, - sMaskCodeTextENG[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[(s16)(curChar - 0xE1)])] - [playerNameLen], + sMaskCodeTextENG[((void)0, gSaveContext.save.saveInfo.spiderHouseMaskOrder[( + s16)(curChar - MESSAGE_SPIDER_HOUSE_MASK_CODE_1)])][playerNameLen], &charTexIndex, &spA4, decodedBufPos); } msgCtx->decodedBuffer.schar[decodedBufPos] = 0; - } else if (curChar == 0xE7) { + } else if (curChar == MESSAGE_HOURS_UNTIL_MOON_CRASH) { timeToMoonCrash = TIME_UNTIL_MOON_CRASH; digits[0] = 0; digits[1] = TIME_TO_HOURS_F_ALT(timeToMoonCrash); @@ -1629,16 +1682,16 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos++; Message_LoadCharNES(play, 's', &charTexIndex, &spA4, decodedBufPos); } - } else if (curChar == 0xE8) { + } else if (curChar == MESSAGE_TIME_UNTIL_NEW_DAY) { Message_LoadTimeNES(play, curChar, &charTexIndex, &spA4, &decodedBufPos); - - } else if ((curChar == 0xF0) || (curChar == 0xF1) || (curChar == 0xF2) || (curChar == 0xF8)) { - if (curChar == 0xF8) { + } else if ((curChar == MESSAGE_HS_POINTS_BANK_RUPEES) || (curChar == MESSAGE_HS_POINTS_UNK_1) || + (curChar == MESSAGE_HS_POINTS_FISHING) || (curChar == MESSAGE_HS_UNK_3_LOWER)) { + if (curChar == MESSAGE_HS_UNK_3_LOWER) { value = (s32)HS_GET_HIGH_SCORE_3_LOWER(); } else { - value = HIGH_SCORE(curChar - 0xF0); + value = HIGH_SCORE(curChar - MESSAGE_HS_POINTS_BANK_RUPEES); } - if (curChar == 0xF2) { + if (curChar == MESSAGE_HS_POINTS_FISHING) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { value &= 0x7F; } else { @@ -1675,16 +1728,19 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if ((curChar == 0xF7) || (curChar == 0xF9) || (curChar == 0xFA) || (curChar == 0xFB) || - (curChar == 0xFC)) { + } else if ((curChar == MESSAGE_HS_UNK_1) || (curChar == MESSAGE_HS_HORSE_BACK_BALLOON) || + (curChar == MESSAGE_HS_DEKU_PLAYGROUND_DAY_1) || (curChar == MESSAGE_HS_DEKU_PLAYGROUND_DAY_2) || + (curChar == MESSAGE_HS_DEKU_PLAYGROUND_DAY_3)) { var_fs0 = 8.0f; - if (curChar == 0xF7) { + if (curChar == MESSAGE_HS_UNK_1) { Message_GetTimerDigitsNES(GET_HIGH_SCORE(HS_UNK_1), spA8); - } else if (curChar == 0xF9) { + } else if (curChar == MESSAGE_HS_HORSE_BACK_BALLOON) { Message_GetTimerDigitsNES(GET_HIGH_SCORE(HS_HORSE_BACK_BALLOON), spA8); } else { Message_GetTimerDigitsNES( - ((void)0, gSaveContext.save.saveInfo.dekuPlaygroundHighScores[curChar - 0xFA]), spA8); + ((void)0, + gSaveContext.save.saveInfo.dekuPlaygroundHighScores[curChar - MESSAGE_HS_DEKU_PLAYGROUND_DAY_1]), + spA8); } loadChar = false; @@ -1703,8 +1759,9 @@ void Message_DecodeNES(PlayState* play) { } spA4 += var_fs0 * (16.0f * msgCtx->textCharScale); decodedBufPos--; - } else if ((curChar == 0xF3) || (curChar == 0xF4) || (curChar == 0xF5)) { - value = HIGH_SCORE(curChar - 0xF3 + HS_BOAT_ARCHERY); + } else if ((curChar == MESSAGE_HS_TIME_BOAT_ARCHERY) || (curChar == MESSAGE_HS_TIME_HORSE_BACK_BALLOON) || + (curChar == MESSAGE_HS_TIME_LOTTERY_GUESS)) { + value = HIGH_SCORE(curChar - MESSAGE_HS_TIME_BOAT_ARCHERY + HS_BOAT_ARCHERY); digits[0] = digits[1] = digits[2] = 0; digits[3] = value; @@ -1732,13 +1789,13 @@ void Message_DecodeNES(PlayState* play) { msgCtx->decodedBuffer.schar[decodedBufPos] = '"'; decodedBufPos++; } else if (i == 3) { - Font_LoadCharNES(play, 0x27, charTexIndex); + Font_LoadCharNES(play, '\'', charTexIndex); charTexIndex += FONT_CHAR_TEX_SIZE; - msgCtx->decodedBuffer.schar[decodedBufPos] = 0x27; + msgCtx->decodedBuffer.schar[decodedBufPos] = '\''; } } spA4 += 4.0f * (16.0f * msgCtx->textCharScale); - } else if (curChar == 0xF6) { + } else if (curChar == MESSAGE_HS_TOWN_SHOOTING_GALLERY) { digits[0] = digits[1] = digits[2] = 0; digits[3] = HS_GET_TOWN_SHOOTING_GALLERY_HIGH_SCORE(); @@ -1769,8 +1826,9 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if ((curChar == 0xFD) || (curChar == 0xFE) || (curChar == 0xFF)) { - index = curChar - 0xFD; + } else if ((curChar == MESSAGE_DEKU_PLAYGROUND_NAME_DAY_1) || (curChar == MESSAGE_DEKU_PLAYGROUND_NAME_DAY_2) || + (curChar == MESSAGE_DEKU_PLAYGROUND_NAME_DAY_3)) { + index = curChar - MESSAGE_DEKU_PLAYGROUND_NAME_DAY_1; for (playerNameLen = 8; playerNameLen > 0; playerNameLen--) { if (((void)0, gSaveContext.save.saveInfo.inventory.dekuPlaygroundPlayerName[index][playerNameLen - 1]) != 0x3E) { @@ -1793,7 +1851,7 @@ void Message_DecodeNES(PlayState* play) { } decodedBufPos += playerNameLen - 1; spA4 += playerNameLen * (16.0f * msgCtx->textCharScale); - } else if (curChar == 0xB) { + } else if (curChar == MESSAGE_HS_BOAT_ARCHERY) { digits[0] = digits[1] = digits[2] = 0; digits[3] = HS_GET_BOAT_ARCHERY_HIGH_SCORE(); @@ -1824,32 +1882,33 @@ void Message_DecodeNES(PlayState* play) { } } decodedBufPos--; - } else if (curChar == 0x14) { + } else if (curChar == MESSAGE_SHIFT) { decodedBufPos--; for (i = 0; i < font->msgBuf.schar[msgCtx->msgBufPos + 1]; i++) { msgCtx->decodedBuffer.schar[++decodedBufPos] = ' '; spA4 += 6.0f; } msgCtx->msgBufPos++; - } else if ((curChar == 0x13) || (curChar == 0x11)) { + } else if ((curChar == MESSAGE_CARRIAGE_RETURN) || (curChar == MESSAGE_NEWLINE)) { msgCtx->unk11F1A[spC6] = 0; if (msgCtx->unk11F18 != 0) { msgCtx->unk11F1A[spC6] = ((msgCtx->textCharScale * 16.0f * 16.0f) - spA4) * 0.5f; } spC6++; spA4 = 0.0f; - if (curChar == 0x11) { + if (curChar == MESSAGE_NEWLINE) { numLines++; } - } else if ((curChar == 0x17) || (curChar == 0x18) || (curChar == 0x1A)) { + } else if ((curChar == MESSAGE_QUICKTEXT_ENABLE) || (curChar == MESSAGE_QUICKTEXT_DISABLE) || + (curChar == MESSAGE_PERSISTENT)) { // pass - } else if (curChar == 0xA) { + } else if (curChar == MESSAGE_TEXT_SPEED) { // Next decoded char is always 0 decodedBufPos++; - } else if (curChar == 0x1C) { + } else if (curChar == MESSAGE_FADE) { // This cannot be reached msgCtx->textFade = true; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos] & 0xFF; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos] & 0xFF; - } else if (curChar == 0x1E) { + } else if (curChar == MESSAGE_SFX) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_1) || @@ -1860,14 +1919,14 @@ void Message_DecodeNES(PlayState* play) { sfxHi |= msgCtx->decodedBuffer.schar[decodedBufPos]; Audio_PlaySfx(sfxHi); } - } else if (curChar == 0x1F) { + } else if (curChar == MESSAGE_DELAY) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; - } else if ((curChar != 0x20) && (curChar >= 9)) { + } else if ((curChar != ' ') && (curChar >= 9)) { Font_LoadCharNES(play, curChar, charTexIndex); charTexIndex += FONT_CHAR_TEX_SIZE; spA4 += sNESFontWidths[curChar - ' '] * msgCtx->textCharScale; - } else if (curChar == 0x20) { + } else if (curChar == ' ') { spA4 += 6.0f; } decodedBufPos++; diff --git a/src/code/z_message_staff.c b/src/code/z_message_staff.c index e5f0eb246c..cc3af99996 100644 --- a/src/code/z_message_staff.c +++ b/src/code/z_message_staff.c @@ -1,10 +1,11 @@ #include "global.h" +#include "message_data_fmt_staff.h" #include "message_data_static.h" void Message_FindCreditsMessage(PlayState* play, u16 textId) { MessageContext* msgCtx = &play->msgCtx; Font* font = &msgCtx->font; - MessageTableEntry* msgEntry = msgCtx->messageTableStaff; + MessageTableEntry* msgEntry = msgCtx->messageTableCredits; const char* segment = msgEntry->segment; const char* foundSegment; const char* nextSegment; @@ -66,7 +67,7 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { character = msgCtx->decodedBuffer.schar[i]; switch (character) { - case 0x1: // MESSAGE_NEWLINE + case MESSAGE_NEWLINE: msgCtx->textPosX = msgCtx->unk11FF8; if ((msgCtx->choiceNum == 1) || (msgCtx->choiceNum == 3)) { msgCtx->textPosX += 32; @@ -77,14 +78,14 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { msgCtx->textPosY += msgCtx->unk11FFC; break; - case 0x5: // Remnant of MESSAGE_COLOR + case MESSAGE_COLOR: break; case ' ': msgCtx->textPosX += 6; break; - case 0x4: // MESSAGE_BOX_BREAK + case MESSAGE_BOX_BREAK: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { if (!msgCtx->textboxSkipped) { Audio_PlaySfx(NA_SE_NONE); @@ -99,12 +100,12 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { *gfxP = gfx; return; - case 0x6: // MESSAGE_SHIFT + case MESSAGE_SHIFT: msgCtx->textPosX += msgCtx->decodedBuffer.schar[++i]; break; - case 0x7: // MESSAGE_TEXTID - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_20; + case MESSAGE_TEXTID: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_NEXT; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Audio_PlaySfx(NA_SE_NONE); msgCtx->msgMode = MSGMODE_TEXT_DONE; @@ -113,7 +114,7 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { *gfxP = gfx; return; - case 0x8: // MESSAGE_QUICKTEXT_ENABLE + case MESSAGE_QUICKTEXT_ENABLE: if (((i + 1) == msgCtx->textDrawPos) && ((msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) || ((msgCtx->msgMode >= MSGMODE_OCARINA_STARTING) && (msgCtx->msgMode <= MSGMODE_26)))) { @@ -124,8 +125,10 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { j += 2; continue; } - if ((character != 9) && (character != 0xA) && (character != 0xB) && (character != 0xC) && - (character != 0xD) && (character != 4) && (character != 2)) { + if ((character != MESSAGE_QUICKTEXT_DISABLE) && (character != MESSAGE_PERSISTENT) && + (character != MESSAGE_EVENT) && (character != MESSAGE_BOX_BREAK_DELAYED) && + (character != MESSAGE_AWAIT_BUTTON_PRESS) && (character != MESSAGE_BOX_BREAK) && + (character != MESSAGE_END)) { j++; continue; } @@ -135,10 +138,10 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { msgCtx->textDrawPos = i + 1; } // fallthrough - case 0x9: // MESSAGE_QUICKTEXT_DISABLE + case MESSAGE_QUICKTEXT_DISABLE: break; - case 0xD: // MESSAGE_AWAIT_BUTTON_PRESS + case MESSAGE_AWAIT_BUTTON_PRESS: if ((i + 1) == msgCtx->textDrawPos) { if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_AWAIT_INPUT; @@ -149,7 +152,7 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { } break; - case 0xC: // MESSAGE_BOX_BREAK_DELAYED + case MESSAGE_BOX_BREAK_DELAYED: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->stateTimer = msgCtx->decodedBuffer.schar[++i]; msgCtx->msgMode = MSGMODE_TEXT_DELAYED_BREAK; @@ -157,17 +160,17 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { *gfxP = gfx; return; - case 0x11: // MESSAGE_FADE2 + case MESSAGE_FADE2: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_50; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_NORMAL; msgCtx->stateTimer = msgCtx->decodedBuffer.schar[++i] << 8; msgCtx->stateTimer |= msgCtx->decodedBuffer.schar[++i]; } *gfxP = gfx; return; - case 0x12: // MESSAGE_SFX + case MESSAGE_SFX: if ((msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) && !msgCtx->messageHasSetSfx) { msgCtx->messageHasSetSfx = true; sfxHi = msgCtx->decodedBuffer.schar[i + 1]; @@ -177,10 +180,10 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { i += 2; break; - case 0x13: // remnant of MESSAGE_ITEM_ICON + case MESSAGE_ITEM_ICON: break; - case 0x15: // MESSAGE_BACKGROUND + case MESSAGE_BACKGROUND: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Audio_PlaySfx(NA_SE_NONE); } @@ -192,14 +195,14 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(gfx++, (msgCtx->textPosX + 1) << 2, (msgCtx->unk12012 + 1) << 2, - (msgCtx->textPosX + 0x61) << 2, (msgCtx->unk12012 + 0x31) << 2, G_TX_RENDERTILE, 0, - 0, 1 << 10, 1 << 10); + (msgCtx->textPosX + 97) << 2, (msgCtx->unk12012 + 49) << 2, G_TX_RENDERTILE, 0, 0, + 1 << 10, 1 << 10); gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + 0x1900, G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, (msgCtx->textPosX + 0x61) << 2, (msgCtx->unk12012 + 1) << 2, - (msgCtx->textPosX + 0xC2) << 2, (msgCtx->unk12012 + 0x31) << 2, 0, 0, 0, 1 << 10, + gSPTextureRectangle(gfx++, (msgCtx->textPosX + 97) << 2, (msgCtx->unk12012 + 1) << 2, + (msgCtx->textPosX + 194) << 2, (msgCtx->unk12012 + 49) << 2, 0, 0, 0, 1 << 10, 1 << 10); gDPPipeSync(gfx++); @@ -207,30 +210,30 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + 0x1000, G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, msgCtx->unk12012 << 2, (msgCtx->textPosX + 0x60) << 2, - (msgCtx->unk12012 + 0x30) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); + gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, msgCtx->unk12012 << 2, (msgCtx->textPosX + 96) << 2, + (msgCtx->unk12012 + 48) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + 0x1900, G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, (msgCtx->textPosX + 0x60) << 2, msgCtx->unk12012 << 2, - (msgCtx->textPosX + 0xC0) << 2, (msgCtx->unk12012 + 0x30) << 2, G_TX_RENDERTILE, 0, - 0, 1 << 10, 1 << 10); + gSPTextureRectangle(gfx++, (msgCtx->textPosX + 96) << 2, msgCtx->unk12012 << 2, + (msgCtx->textPosX + 192) << 2, (msgCtx->unk12012 + 48) << 2, G_TX_RENDERTILE, 0, 0, + 1 << 10, 1 << 10); gDPPipeSync(gfx++); gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); - msgCtx->textPosX += 0x20; + msgCtx->textPosX += 32; break; - case 0x14: // MESSAGE_TEXT_SPEED + case MESSAGE_TEXT_SPEED: msgCtx->textDelay = msgCtx->decodedBuffer.schar[++i]; break; - case 0x1A: // MESSAGE_UNSKIPPABLE + case MESSAGE_UNSKIPPABLE: msgCtx->textUnskippable = true; break; - case 0x1B: // MESSAGE_TWO_CHOICE - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_10; + case MESSAGE_TWO_CHOICE: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_TWO_CHOICE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->choiceTextId = msgCtx->currentTextId; msgCtx->stateTimer = 4; @@ -239,8 +242,8 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { } break; - case 0x1C: // MESSAGE_THREE_CHOICE - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_11; + case MESSAGE_THREE_CHOICE: + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_THREE_CHOICE; if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->choiceTextId = msgCtx->currentTextId; msgCtx->stateTimer = 4; @@ -249,10 +252,10 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { } break; - case 0x2: // MESSAGE_END + case MESSAGE_END: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_00) { + if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_DEFAULT) { Audio_PlaySfx(NA_SE_SY_MESSAGE_END); Font_LoadMessageBoxEndIcon(font, 1); if (play->csCtx.state == CS_STATE_IDLE) { @@ -263,7 +266,7 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { *gfxP = gfx; return; - case 0x10: // MESSAGE_OCARINA + case MESSAGE_OCARINA: if ((i + 1) == msgCtx->textDrawPos) { Message_HandleOcarina(play); *gfxP = gfx; @@ -271,10 +274,10 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { } break; - case 0xE: // MESSAGE_FADE + case MESSAGE_FADE: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_50; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_FADE_NORMAL; msgCtx->stateTimer = msgCtx->decodedBuffer.schar[++i]; Font_LoadMessageBoxEndIcon(font, 1); if (play->csCtx.state == CS_STATE_IDLE) { @@ -284,19 +287,19 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { *gfxP = gfx; return; - case 0xA: // MESSAGE_PERSISTENT + case MESSAGE_PERSISTENT: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { Audio_PlaySfx(NA_SE_NONE); msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_30; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PERSISTENT; } *gfxP = gfx; return; - case 0xB: // MESSAGE_EVENT + case MESSAGE_EVENT: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { msgCtx->msgMode = MSGMODE_TEXT_DONE; - msgCtx->textboxEndType = TEXTBOX_ENDTYPE_40; + msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT; Font_LoadMessageBoxEndIcon(font, 0); Audio_PlaySfx(NA_SE_SY_MESSAGE_END); } @@ -347,7 +350,8 @@ void Message_DecodeCredits(PlayState* play) { curChar = font->msgBuf.schar[msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos]; - if ((curChar == 4) || (curChar == 7) || (curChar == 0xC) || (curChar == 0xB) || (curChar == 2)) { + if ((curChar == MESSAGE_BOX_BREAK) || (curChar == MESSAGE_TEXTID) || (curChar == MESSAGE_BOX_BREAK_DELAYED) || + (curChar == MESSAGE_EVENT) || (curChar == MESSAGE_END)) { // Textbox decoding ends with any of the above text control characters msgCtx->msgMode = MSGMODE_TEXT_DISPLAYING; msgCtx->textDrawPos = 1; @@ -363,7 +367,7 @@ void Message_DecodeCredits(PlayState* play) { } } - if (curChar == 7) { + if (curChar == MESSAGE_TEXTID) { value = font->msgBuf.schar[msgCtx->msgBufPos + 1]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos + 1]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos + 2]; @@ -371,7 +375,7 @@ void Message_DecodeCredits(PlayState* play) { msgCtx->nextTextId = msgCtx->decodedBuffer.schar[decodedBufPos] | value; } - if (curChar == 0xC) { + if (curChar == MESSAGE_BOX_BREAK_DELAYED) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos + 1]; msgCtx->msgBufPos += 2; } @@ -382,7 +386,7 @@ void Message_DecodeCredits(PlayState* play) { msgCtx->textDrawPos = msgCtx->decodedTextLen; } break; - } else if (curChar == 0xF) { + } else if (curChar == MESSAGE_NAME) { // Substitute the player name control character for the file's player name. for (playerNameLen = ARRAY_COUNT(gSaveContext.save.saveInfo.playerData.playerName); playerNameLen > 0; playerNameLen--) { @@ -418,7 +422,7 @@ void Message_DecodeCredits(PlayState* play) { decodedBufPos++; } decodedBufPos--; - } else if ((curChar == 0x16) || (curChar == 0x17)) { + } else if ((curChar == MESSAGE_MARATHON_TIME) || (curChar == MESSAGE_RACE_TIME)) { digits[0] = digits[1] = digits[2] = 0; if (curChar == 0x17) { digits[3] = gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2]; @@ -457,7 +461,7 @@ void Message_DecodeCredits(PlayState* play) { } } - } else if (curChar == 0x18) { + } else if (curChar == MESSAGE_POINTS) { digits[0] = digits[1] = digits[2] = 0; digits[3] = gSaveContext.minigameScore; @@ -487,8 +491,8 @@ void Message_DecodeCredits(PlayState* play) { } } decodedBufPos--; - } else if (curChar != 0x19) { - if (curChar == 0x1D) { + } else if (curChar != MESSAGE_TOKENS) { + if (curChar == MESSAGE_FISH_INFO) { digits[0] = 0; digits[1] = gSaveContext.minigameScore; @@ -506,7 +510,7 @@ void Message_DecodeCredits(PlayState* play) { } } decodedBufPos--; - } else if (curChar == 0x1E) { + } else if (curChar == MESSAGE_HIGHSCORE) { value = HIGH_SCORE((u8)font->msgBuf.schar[++msgCtx->msgBufPos]); if ((font->msgBuf.schar[msgCtx->msgBufPos] & 0xFF) == HS_FISHING) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { @@ -518,9 +522,9 @@ void Message_DecodeCredits(PlayState* play) { value = SQ((f32)value) * 0.0036f + 0.5f; } switch (font->msgBuf.schar[msgCtx->msgBufPos] & 0xFF) { - case 0: - case 1: - case 2: + case HS_BANK_RUPEES: + case HS_UNK_1: + case HS_FISHING: digits[0] = digits[1] = digits[2] = 0; digits[3] = value; @@ -552,9 +556,9 @@ void Message_DecodeCredits(PlayState* play) { decodedBufPos--; break; - case 3: - case 4: - case 6: + case HS_BOAT_ARCHERY: + case HS_HORSE_BACK_BALLOON: + case HS_SHOOTING_GALLERY: digits[0] = digits[1] = digits[2] = 0; digits[3] = value; @@ -592,7 +596,7 @@ void Message_DecodeCredits(PlayState* play) { default: break; } - } else if (curChar == 0x1F) { + } else if (curChar == MESSAGE_TIME) { digits[0] = 0; timeInSeconds = TIME_TO_MINUTES_F(CURRENT_TIME); @@ -623,10 +627,10 @@ void Message_DecodeCredits(PlayState* play) { } decodedBufPos--; - } else if (curChar == 0x13) { + } else if (curChar == MESSAGE_ITEM_ICON) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[msgCtx->msgBufPos + 1]; Message_LoadItemIcon(play, font->msgBuf.schar[msgCtx->msgBufPos + 1], msgCtx->textboxY + 10); - } else if (curChar == 0x15) { + } else if (curChar == MESSAGE_BACKGROUND) { DmaMgr_RequestSync(msgCtx->textboxSegment + 0x1000, (uintptr_t)SEGMENT_ROM_START(message_texture_static) + 0x900, 0x900); DmaMgr_RequestSync(msgCtx->textboxSegment + 0x1900, @@ -634,27 +638,28 @@ void Message_DecodeCredits(PlayState* play) { msgCtx->msgBufPos += 3; msgCtx->unk12012 = msgCtx->textboxY + 8; numLines = 2; - } else if (curChar == 5) { + } else if (curChar == MESSAGE_COLOR) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; - } else if (curChar == 1) { + } else if (curChar == MESSAGE_NEWLINE) { numLines++; - } else if ((curChar != 8) && (curChar != 9) && (curChar != 0xD) && (curChar != 0x10) && (curChar != 0xA) && - (curChar != 0x1A)) { - if (curChar == 0xE) { + } else if ((curChar != MESSAGE_QUICKTEXT_ENABLE) && (curChar != MESSAGE_QUICKTEXT_DISABLE) && + (curChar != MESSAGE_AWAIT_BUTTON_PRESS) && (curChar != MESSAGE_OCARINA) && + (curChar != MESSAGE_PERSISTENT) && (curChar != MESSAGE_UNSKIPPABLE)) { + if (curChar == MESSAGE_FADE) { msgCtx->textFade = true; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; - } else if (curChar == 0x11) { + } else if (curChar == MESSAGE_FADE2) { msgCtx->textFade = true; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; - } else if ((curChar == 6) || (curChar == 0x14)) { + } else if ((curChar == MESSAGE_SHIFT) || (curChar == MESSAGE_TEXT_SPEED)) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos] & 0xFF; - } else if (curChar == 0x12) { + } else if (curChar == MESSAGE_SFX) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; - } else if (curChar == 0x1B) { + } else if (curChar == MESSAGE_TWO_CHOICE) { msgCtx->choiceNum = 2; - } else if (curChar == 0x1C) { + } else if (curChar == MESSAGE_THREE_CHOICE) { msgCtx->choiceNum = 3; } else if (curChar != ' ') { Font_LoadCharNES(play, curChar, charTexIdx); diff --git a/src/code/z_message_tables.inc.c b/src/code/z_message_tables.inc.c deleted file mode 100644 index a7b41c8a9c..0000000000 --- a/src/code/z_message_tables.inc.c +++ /dev/null @@ -1,1561 +0,0 @@ -#include "include/message_data_static.h" -#include "PR/mbi.h" - -MessageTableEntry D_801C6B98[4590] = { - { 0, 0, (void*)0x08000000 }, { 2, 0, (void*)0x0800000C }, { 4, 0, (void*)0x08000064 }, - { 5, 0, (void*)0x080000B8 }, { 6, 0, (void*)0x08000110 }, { 7, 0, (void*)0x08000168 }, - { 8, 0, (void*)0x080001C4 }, { 9, 0, (void*)0x08000248 }, { 0xA, 0, (void*)0x080002A8 }, - { 0xB, 0, (void*)0x08000310 }, { 0xC, 0, (void*)0x0800031C }, { 0xD, 0, (void*)0x080003E8 }, - { 0xE, 0, (void*)0x08000474 }, { 0xF, 0, (void*)0x080004BC }, { 0x10, 0, (void*)0x08000504 }, - { 0x11, 0, (void*)0x08000510 }, { 0x12, 0, (void*)0x08000554 }, { 0x13, 0, (void*)0x08000560 }, - { 0x14, 0, (void*)0x0800056C }, { 0x15, 0, (void*)0x08000604 }, { 0x16, 0, (void*)0x080006A0 }, - { 0x17, 0, (void*)0x0800073C }, { 0x18, 0, (void*)0x080007D8 }, { 0x19, 0, (void*)0x08000874 }, - { 0x1A, 0, (void*)0x08000940 }, { 0x1B, 0, (void*)0x080009E8 }, { 0x1C, 0, (void*)0x08000A84 }, - { 0x1D, 0, (void*)0x08000AD4 }, { 0x1E, 0, (void*)0x08000B28 }, { 0x1F, 0, (void*)0x08000B58 }, - { 0x20, 0, (void*)0x08000B88 }, { 0x21, 0, (void*)0x08000BB8 }, { 0x22, 0, (void*)0x08000BE8 }, - { 0x23, 0, (void*)0x08000C78 }, { 0x24, 0, (void*)0x08000CD0 }, { 0x25, 0, (void*)0x08000D30 }, - { 0x26, 0, (void*)0x08000DA4 }, { 0x27, 0, (void*)0x08000E38 }, { 0x28, 0, (void*)0x08000EB4 }, - { 0x29, 0, (void*)0x08000F88 }, { 0x2A, 0, (void*)0x08001060 }, { 0x2B, 0, (void*)0x0800113C }, - { 0x2C, 0, (void*)0x08001148 }, { 0x2D, 0, (void*)0x08001154 }, { 0x2E, 0, (void*)0x08001160 }, - { 0x2F, 0, (void*)0x08001210 }, { 0x30, 0, (void*)0x0800121C }, { 0x31, 0, (void*)0x08001228 }, - { 0x32, 0, (void*)0x08001234 }, { 0x33, 0, (void*)0x080012D4 }, { 0x34, 0, (void*)0x0800139C }, - { 0x35, 0, (void*)0x08001428 }, { 0x36, 0, (void*)0x080014B0 }, { 0x37, 0, (void*)0x08001554 }, - { 0x38, 0, (void*)0x08001560 }, { 0x39, 0, (void*)0x08001624 }, { 0x3A, 0, (void*)0x080016B8 }, - { 0x3B, 0, (void*)0x08001768 }, { 0x3C, 0, (void*)0x08001814 }, { 0x3D, 0, (void*)0x08001884 }, - { 0x3E, 0, (void*)0x080018E0 }, { 0x3F, 0, (void*)0x080019DC }, { 0x40, 0, (void*)0x08001A48 }, - { 0x41, 0, (void*)0x08001A54 }, { 0x42, 0, (void*)0x08001B0C }, { 0x43, 0, (void*)0x08001BF4 }, - { 0x4C, 0, (void*)0x08001CBC }, { 0x4D, 0, (void*)0x08001DBC }, { 0x4E, 0, (void*)0x08001DC8 }, - { 0x50, 0, (void*)0x08001DD4 }, { 0x51, 0, (void*)0x08001EA4 }, { 0x52, 0, (void*)0x08001EB0 }, - { 0x53, 0, (void*)0x08001EFC }, { 0x54, 0, (void*)0x08001F08 }, { 0x55, 0, (void*)0x08001F14 }, - { 0x56, 0, (void*)0x08001FB8 }, { 0x57, 0, (void*)0x08002058 }, { 0x58, 0, (void*)0x080020F8 }, - { 0x59, 0, (void*)0x080021A0 }, { 0x5A, 0, (void*)0x08002290 }, { 0x5B, 0, (void*)0x080022E4 }, - { 0x5C, 0, (void*)0x08002388 }, { 0x5D, 0, (void*)0x08002434 }, { 0x5E, 0, (void*)0x080024E8 }, - { 0x5F, 0, (void*)0x08002590 }, { 0x60, 0, (void*)0x0800261C }, { 0x61, 0, (void*)0x080026F0 }, - { 0x62, 0, (void*)0x080026FC }, { 0x63, 0, (void*)0x08002760 }, { 0x64, 0, (void*)0x080027CC }, - { 0x65, 0, (void*)0x080027D8 }, { 0x66, 0, (void*)0x0800282C }, { 0x67, 0, (void*)0x08002884 }, - { 0x68, 0, (void*)0x080028EC }, { 0x69, 0, (void*)0x08002950 }, { 0x6A, 0, (void*)0x080029CC }, - { 0x6B, 0, (void*)0x08002A24 }, { 0x6E, 0, (void*)0x08002A7C }, { 0x6F, 0, (void*)0x08002A88 }, - { 0x70, 0, (void*)0x08002B54 }, { 0x71, 0, (void*)0x08002B60 }, { 0x72, 0, (void*)0x08002B6C }, - { 0x73, 0, (void*)0x08002B78 }, { 0x74, 0, (void*)0x08002B84 }, { 0x75, 0, (void*)0x08002B90 }, - { 0x76, 0, (void*)0x08002B9C }, { 0x77, 0, (void*)0x08002BA8 }, { 0x78, 0, (void*)0x08002BB4 }, - { 0x79, 0, (void*)0x08002C98 }, { 0x7A, 0, (void*)0x08002D54 }, { 0x7B, 0, (void*)0x08002E14 }, - { 0x7C, 0, (void*)0x08002E90 }, { 0x7D, 0, (void*)0x08002F20 }, { 0x7E, 0, (void*)0x08002F9C }, - { 0x7F, 0, (void*)0x0800302C }, { 0x80, 0, (void*)0x0800309C }, { 0x81, 0, (void*)0x08003144 }, - { 0x82, 0, (void*)0x080031B0 }, { 0x83, 0, (void*)0x08003224 }, { 0x84, 0, (void*)0x08003298 }, - { 0x85, 0, (void*)0x08003324 }, { 0x86, 0, (void*)0x08003370 }, { 0x87, 0, (void*)0x08003444 }, - { 0x88, 0, (void*)0x080034F8 }, { 0x89, 0, (void*)0x08003560 }, { 0x8A, 0, (void*)0x080035F4 }, - { 0x8B, 0, (void*)0x080036B8 }, { 0x8C, 0, (void*)0x08003710 }, { 0x8D, 0, (void*)0x080037A0 }, - { 0x8E, 0, (void*)0x08003828 }, { 0x8F, 0, (void*)0x080038E0 }, { 0x91, 0, (void*)0x0800396C }, - { 0x92, 0, (void*)0x08003A44 }, { 0x93, 0, (void*)0x08003B08 }, { 0x94, 0, (void*)0x08003B60 }, - { 0x95, 0, (void*)0x08003B6C }, { 0x96, 0, (void*)0x08003BC0 }, { 0x97, 0, (void*)0x08003C1C }, - { 0x98, 0, (void*)0x08003C60 }, { 0x99, 0, (void*)0x08003CA8 }, { 0x9A, 0, (void*)0x08003CF4 }, - { 0x9B, 0, (void*)0x08003D40 }, { 0x9C, 0, (void*)0x08003DE0 }, { 0x9D, 0, (void*)0x08003E78 }, - { 0x9E, 0, (void*)0x08003F10 }, { 0x9F, 0, (void*)0x08003FA8 }, { 0xA0, 0, (void*)0x08003FB4 }, - { 0xA1, 0, (void*)0x0800401C }, { 0xA2, 0, (void*)0x08004088 }, { 0xA3, 0, (void*)0x08004094 }, - { 0xA4, 0, (void*)0x080040A0 }, { 0xA9, 0, (void*)0x080040AC }, { 0xAA, 0, (void*)0x08004130 }, - { 0xAB, 0, (void*)0x08004198 }, { 0xAC, 0, (void*)0x08004240 }, { 0xAD, 0, (void*)0x0800424C }, - { 0xAE, 0, (void*)0x08004258 }, { 0xAF, 0, (void*)0x08004264 }, { 0xB0, 0, (void*)0x08004270 }, - { 0xB1, 0, (void*)0x0800427C }, { 0xB2, 0, (void*)0x08004288 }, { 0xB4, 0, (void*)0x08004294 }, - { 0xB5, 0, (void*)0x08004354 }, { 0xB6, 0, (void*)0x08004418 }, { 0xB7, 0, (void*)0x080044E0 }, - { 0xB8, 0, (void*)0x080045A8 }, { 0xB9, 0, (void*)0x08004670 }, { 0xBA, 0, (void*)0x08004738 }, - { 0xBB, 0, (void*)0x08004744 }, { 0xBC, 0, (void*)0x08004750 }, { 0xBD, 0, (void*)0x0800475C }, - { 0xBE, 0, (void*)0x08004768 }, { 0xBF, 0, (void*)0x08004774 }, { 0xC0, 0, (void*)0x08004780 }, - { 0xC4, 0, (void*)0x0800478C }, { 0xC5, 0, (void*)0x080047D0 }, { 0xC6, 0, (void*)0x08004850 }, - { 0xC7, 0, (void*)0x080048D0 }, { 0xC8, 0, (void*)0x08004954 }, { 0xC9, 0, (void*)0x08004A5C }, - { 0xCA, 0, (void*)0x08004AFC }, { 0xCB, 0, (void*)0x08004C14 }, { 0xCC, 0, (void*)0x08004C78 }, - { 0xCD, 0, (void*)0x08004CDC }, { 0xF2, 0, (void*)0x08004D8C }, { 0xF3, 0, (void*)0x08004DC8 }, - { 0xF4, 0, (void*)0x08004E3C }, { 0xF5, 0, (void*)0x08004E8C }, { 0xF6, 0, (void*)0x08004EDC }, - { 0xF7, 0, (void*)0x08004F30 }, { 0xF8, 0, (void*)0x08004F70 }, { 0xF9, 0, (void*)0x08004F9C }, - { 0xFA, 0, (void*)0x08005034 }, { 0xFB, 0, (void*)0x08005088 }, { 0xFC, 0, (void*)0x080050FC }, - { 0xFD, 0, (void*)0x0800515C }, { 0xFE, 0, (void*)0x08005184 }, { 0xFF, 0, (void*)0x080051B8 }, - { 0x100, 0, (void*)0x08005214 }, { 0x101, 0, (void*)0x08005230 }, { 0x102, 0, (void*)0x0800524C }, - { 0x103, 0, (void*)0x08005268 }, { 0x104, 0, (void*)0x08005284 }, { 0x105, 0, (void*)0x080052A0 }, - { 0x106, 0, (void*)0x080052B8 }, { 0x107, 0, (void*)0x080052D4 }, { 0x108, 0, (void*)0x080052F8 }, - { 0x109, 0, (void*)0x0800531C }, { 0x10A, 0, (void*)0x0800533C }, { 0x10B, 0, (void*)0x08005358 }, - { 0x10C, 0, (void*)0x0800537C }, { 0x10D, 0, (void*)0x08005390 }, { 0x10E, 0, (void*)0x080053A8 }, - { 0x10F, 0, (void*)0x080053C4 }, { 0x110, 0, (void*)0x080053DC }, { 0x111, 0, (void*)0x080053FC }, - { 0x112, 0, (void*)0x08005414 }, { 0x113, 0, (void*)0x0800542C }, { 0x114, 0, (void*)0x08005450 }, - { 0x115, 0, (void*)0x08005470 }, { 0x116, 0, (void*)0x0800548C }, { 0x117, 0, (void*)0x080054A8 }, - { 0x118, 0, (void*)0x080054BC }, { 0x119, 0, (void*)0x080054D4 }, { 0x11A, 0, (void*)0x080054F4 }, - { 0x11B, 0, (void*)0x08005518 }, { 0x11C, 0, (void*)0x0800553C }, { 0x11D, 0, (void*)0x0800555C }, - { 0x11E, 0, (void*)0x08005578 }, { 0x11F, 0, (void*)0x08005598 }, { 0x120, 0, (void*)0x080055B4 }, - { 0x121, 0, (void*)0x080055CC }, { 0x122, 0, (void*)0x080055E8 }, { 0x123, 0, (void*)0x08005604 }, - { 0x124, 0, (void*)0x08005620 }, { 0x125, 0, (void*)0x08005638 }, { 0x126, 0, (void*)0x0800564C }, - { 0x127, 0, (void*)0x08005668 }, { 0x129, 0, (void*)0x08005684 }, { 0x12A, 0, (void*)0x0800569C }, - { 0x12B, 0, (void*)0x080056B8 }, { 0x12C, 0, (void*)0x080056D4 }, { 0x12D, 0, (void*)0x080056F0 }, - { 0x12E, 0, (void*)0x0800570C }, { 0x12F, 0, (void*)0x08005724 }, { 0x130, 0, (void*)0x0800573C }, - { 0x131, 0, (void*)0x08005758 }, { 0x132, 0, (void*)0x08005770 }, { 0x134, 0, (void*)0x08005788 }, - { 0x135, 0, (void*)0x080057A4 }, { 0x136, 0, (void*)0x080057C0 }, { 0x137, 0, (void*)0x080057D8 }, - { 0x138, 0, (void*)0x080057F4 }, { 0x139, 0, (void*)0x08005814 }, { 0x13A, 0, (void*)0x0800582C }, - { 0x13B, 0, (void*)0x0800584C }, { 0x13D, 0, (void*)0x08005868 }, { 0x13E, 0, (void*)0x08005884 }, - { 0x13F, 0, (void*)0x080058A0 }, { 0x140, 0, (void*)0x080058C4 }, { 0x141, 0, (void*)0x080058DC }, - { 0x142, 0, (void*)0x080058F4 }, { 0x143, 0, (void*)0x08005918 }, { 0x144, 0, (void*)0x08005934 }, - { 0x145, 0, (void*)0x08005954 }, { 0x146, 0, (void*)0x08005970 }, { 0x147, 0, (void*)0x08005988 }, - { 0x148, 0, (void*)0x080059A4 }, { 0x149, 0, (void*)0x080059C0 }, { 0x200, 0, (void*)0x080059D8 }, - { 0x201, 0, (void*)0x08005A54 }, { 0x202, 0, (void*)0x08005B48 }, { 0x203, 0, (void*)0x08005B74 }, - { 0x204, 0, (void*)0x08005BE4 }, { 0x205, 0, (void*)0x08005C38 }, { 0x206, 0, (void*)0x08005C94 }, - { 0x207, 0, (void*)0x08005D04 }, { 0x208, 0, (void*)0x08005D2C }, { 0x209, 0, (void*)0x08005D64 }, - { 0x20A, 0, (void*)0x08005DB4 }, { 0x20B, 0, (void*)0x08005E08 }, { 0x20C, 0, (void*)0x08005E14 }, - { 0x20D, 0, (void*)0x08005E60 }, { 0x20E, 0, (void*)0x08005ECC }, { 0x20F, 0, (void*)0x08005ED8 }, - { 0x210, 0, (void*)0x08005F74 }, { 0x211, 0, (void*)0x08005FAC }, { 0x212, 0, (void*)0x08005FD4 }, - { 0x213, 0, (void*)0x0800602C }, { 0x214, 0, (void*)0x08006050 }, { 0x215, 0, (void*)0x08006124 }, - { 0x216, 0, (void*)0x08006358 }, { 0x217, 0, (void*)0x080065B8 }, { 0x218, 0, (void*)0x08006620 }, - { 0x219, 0, (void*)0x0800668C }, { 0x21A, 0, (void*)0x08006720 }, { 0x21B, 0, (void*)0x0800674C }, - { 0x21D, 0, (void*)0x08006774 }, { 0x21E, 0, (void*)0x080067CC }, { 0x21F, 0, (void*)0x08006874 }, - { 0x220, 0, (void*)0x080068E0 }, { 0x221, 0, (void*)0x08006978 }, { 0x222, 0, (void*)0x08006A04 }, - { 0x223, 0, (void*)0x08006A48 }, { 0x224, 0, (void*)0x08006AE8 }, { 0x225, 0, (void*)0x08006B54 }, - { 0x226, 0, (void*)0x08006BB0 }, { 0x227, 0, (void*)0x08006BE8 }, { 0x228, 0, (void*)0x08006D58 }, - { 0x229, 0, (void*)0x08006E18 }, { 0x22A, 0, (void*)0x08006EA0 }, { 0x22B, 0, (void*)0x08006F00 }, - { 0x22C, 0, (void*)0x08006F44 }, { 0x22D, 0, (void*)0x08006F60 }, { 0x22E, 0, (void*)0x08006FB0 }, - { 0x22F, 0, (void*)0x08006FC8 }, { 0x230, 0, (void*)0x08007010 }, { 0x231, 0, (void*)0x080070C0 }, - { 0x232, 0, (void*)0x08007110 }, { 0x233, 0, (void*)0x08007158 }, { 0x234, 0, (void*)0x080071A4 }, - { 0x235, 0, (void*)0x08007208 }, { 0x236, 0, (void*)0x0800725C }, { 0x237, 0, (void*)0x080072AC }, - { 0x238, 0, (void*)0x0800730C }, { 0x239, 0, (void*)0x0800734C }, { 0x23A, 0, (void*)0x08007400 }, - { 0x23B, 0, (void*)0x08007468 }, { 0x23C, 0, (void*)0x08007500 }, { 0x23D, 0, (void*)0x08007538 }, - { 0x23E, 0, (void*)0x080075E4 }, { 0x23F, 0, (void*)0x080075F0 }, { 0x240, 0, (void*)0x0800765C }, - { 0x241, 0, (void*)0x080076D0 }, { 0x242, 0, (void*)0x08007744 }, { 0x243, 0, (void*)0x080077B0 }, - { 0x244, 0, (void*)0x08007830 }, { 0x245, 0, (void*)0x08007888 }, { 0x246, 0, (void*)0x080078B4 }, - { 0x247, 0, (void*)0x08007904 }, { 0x248, 0, (void*)0x08007950 }, { 0x249, 0, (void*)0x080079A0 }, - { 0x24A, 0, (void*)0x080079F0 }, { 0x24B, 0, (void*)0x08007A30 }, { 0x24C, 0, (void*)0x08007A78 }, - { 0x24D, 0, (void*)0x08007AD8 }, { 0x24E, 0, (void*)0x08007B54 }, { 0x24F, 0, (void*)0x08007BE8 }, - { 0x250, 0, (void*)0x08007C88 }, { 0x251, 0, (void*)0x08007CEC }, { 0x252, 0, (void*)0x08007D18 }, - { 0x253, 0, (void*)0x08007D68 }, { 0x254, 0, (void*)0x08007DAC }, { 0x255, 0, (void*)0x08007E04 }, - { 0x256, 0, (void*)0x08007E4C }, { 0x257, 0, (void*)0x08007EA4 }, { 0x258, 0, (void*)0x08007F00 }, - { 0x25A, 0, (void*)0x08007F58 }, { 0x25B, 0, (void*)0x08007FA0 }, { 0x25C, 0, (void*)0x08007FDC }, - { 0x25D, 0, (void*)0x08007FF8 }, { 0x25E, 0, (void*)0x08008024 }, { 0x25F, 0, (void*)0x080080E4 }, - { 0x260, 0, (void*)0x0800818C }, { 0x261, 0, (void*)0x080081F8 }, { 0x262, 0, (void*)0x08008288 }, - { 0x263, 0, (void*)0x08008304 }, { 0x264, 0, (void*)0x08008344 }, { 0x265, 0, (void*)0x08008420 }, - { 0x302, 0, (void*)0x08008498 }, { 0x303, 0, (void*)0x080085DC }, { 0x304, 0, (void*)0x08008660 }, - { 0x305, 0, (void*)0x080086B4 }, { 0x306, 0, (void*)0x08008720 }, { 0x307, 0, (void*)0x0800872C }, - { 0x308, 0, (void*)0x0800875C }, { 0x309, 0, (void*)0x08008788 }, { 0x30A, 0, (void*)0x080087BC }, - { 0x30B, 0, (void*)0x080087E8 }, { 0x30C, 0, (void*)0x08008824 }, { 0x30D, 0, (void*)0x08008894 }, - { 0x30E, 0, (void*)0x080088E4 }, { 0x30F, 0, (void*)0x08008914 }, { 0x310, 0, (void*)0x08008970 }, - { 0x311, 0, (void*)0x080089BC }, { 0x312, 0, (void*)0x080089F0 }, { 0x313, 0, (void*)0x08008A64 }, - { 0x314, 0, (void*)0x08008AA4 }, { 0x315, 0, (void*)0x08008B0C }, { 0x316, 0, (void*)0x08008B64 }, - { 0x317, 0, (void*)0x08008BA4 }, { 0x318, 0, (void*)0x08008BF0 }, { 0x319, 0, (void*)0x08008C48 }, - { 0x31A, 0, (void*)0x08008C84 }, { 0x31B, 0, (void*)0x08008CD0 }, { 0x31C, 0, (void*)0x08008D10 }, - { 0x31D, 0, (void*)0x08008D5C }, { 0x31E, 0, (void*)0x08008DCC }, { 0x31F, 0, (void*)0x08008E2C }, - { 0x320, 0, (void*)0x08008EBC }, { 0x321, 0, (void*)0x08008F30 }, { 0x322, 0, (void*)0x08008F60 }, - { 0x323, 0, (void*)0x08008F9C }, { 0x324, 0, (void*)0x08008FFC }, { 0x325, 0, (void*)0x08009044 }, - { 0x326, 0, (void*)0x080090A8 }, { 0x327, 0, (void*)0x080090F8 }, { 0x328, 0, (void*)0x08009140 }, - { 0x329, 0, (void*)0x08009188 }, { 0x32A, 0, (void*)0x080091F0 }, { 0x32B, 0, (void*)0x08009240 }, - { 0x32C, 0, (void*)0x0800928C }, { 0x32D, 0, (void*)0x080092F0 }, { 0x32E, 0, (void*)0x08009318 }, - { 0x32F, 0, (void*)0x08009358 }, { 0x330, 0, (void*)0x0800939C }, { 0x331, 0, (void*)0x080093E4 }, - { 0x332, 0, (void*)0x08009440 }, { 0x333, 0, (void*)0x0800949C }, { 0x334, 0, (void*)0x08009518 }, - { 0x335, 0, (void*)0x0800955C }, { 0x336, 0, (void*)0x08009598 }, { 0x337, 0, (void*)0x08009658 }, - { 0x338, 0, (void*)0x08009680 }, { 0x339, 0, (void*)0x080096A8 }, { 0x33A, 0, (void*)0x080096C8 }, - { 0x33B, 0, (void*)0x080096EC }, { 0x33C, 0, (void*)0x0800973C }, { 0x33D, 0, (void*)0x08009778 }, - { 0x33E, 0, (void*)0x080097BC }, { 0x33F, 0, (void*)0x08009930 }, { 0x340, 0, (void*)0x08009C50 }, - { 0x341, 0, (void*)0x08009CC4 }, { 0x342, 0, (void*)0x08009D30 }, { 0x343, 0, (void*)0x08009D58 }, - { 0x3E8, 0, (void*)0x08009D7C }, { 0x3E9, 0, (void*)0x08009DCC }, { 0x3EA, 0, (void*)0x08009DE8 }, - { 0x3EB, 0, (void*)0x08009E2C }, { 0x3EC, 0, (void*)0x08009E54 }, { 0x3ED, 0, (void*)0x08009EB8 }, - { 0x3EE, 0, (void*)0x08009EFC }, { 0x3EF, 0, (void*)0x08009F6C }, { 0x3F0, 0, (void*)0x08009FA0 }, - { 0x3F1, 0, (void*)0x08009FF0 }, { 0x3F2, 0, (void*)0x0800A030 }, { 0x3F3, 0, (void*)0x0800A090 }, - { 0x3F4, 0, (void*)0x0800A0D0 }, { 0x3F5, 0, (void*)0x0800A0F8 }, { 0x3F6, 0, (void*)0x0800A158 }, - { 0x3F7, 0, (void*)0x0800A190 }, { 0x3F8, 0, (void*)0x0800A1BC }, { 0x3F9, 0, (void*)0x0800A214 }, - { 0x3FA, 0, (void*)0x0800A25C }, { 0x3FB, 0, (void*)0x0800A29C }, { 0x3FC, 0, (void*)0x0800A2D8 }, - { 0x3FD, 0, (void*)0x0800A31C }, { 0x3FE, 0, (void*)0x0800A40C }, { 0x3FF, 0, (void*)0x0800A478 }, - { 0x400, 0, (void*)0x0800A4EC }, { 0x401, 0, (void*)0x0800A528 }, { 0x402, 0, (void*)0x0800A560 }, - { 0x403, 0, (void*)0x0800A5D4 }, { 0x404, 0, (void*)0x0800A608 }, { 0x405, 0, (void*)0x0800A63C }, - { 0x406, 0, (void*)0x0800A680 }, { 0x407, 0, (void*)0x0800A6B8 }, { 0x408, 0, (void*)0x0800A70C }, - { 0x44C, 0, (void*)0x0800A75C }, { 0x44D, 0, (void*)0x0800A850 }, { 0x44E, 0, (void*)0x0800A8B8 }, - { 0x44F, 0, (void*)0x0800A904 }, { 0x450, 0, (void*)0x0800A924 }, { 0x451, 0, (void*)0x0800A974 }, - { 0x452, 0, (void*)0x0800A9E8 }, { 0x453, 0, (void*)0x0800AA24 }, { 0x454, 0, (void*)0x0800AA7C }, - { 0x455, 0, (void*)0x0800AAB4 }, { 0x456, 0, (void*)0x0800AB10 }, { 0x457, 0, (void*)0x0800AB44 }, - { 0x458, 0, (void*)0x0800AB78 }, { 0x459, 0, (void*)0x0800AC0C }, { 0x45A, 0, (void*)0x0800AC84 }, - { 0x45B, 0, (void*)0x0800ACD0 }, { 0x45C, 0, (void*)0x0800AD4C }, { 0x45D, 0, (void*)0x0800ADC8 }, - { 0x45E, 0, (void*)0x0800AE68 }, { 0x45F, 0, (void*)0x0800AEBC }, { 0x460, 0, (void*)0x0800AF54 }, - { 0x461, 0, (void*)0x0800AF98 }, { 0x462, 0, (void*)0x0800AFC8 }, { 0x463, 0, (void*)0x0800AFE8 }, - { 0x464, 0, (void*)0x0800B044 }, { 0x465, 0, (void*)0x0800B094 }, { 0x466, 0, (void*)0x0800B0CC }, - { 0x467, 0, (void*)0x0800B0FC }, { 0x468, 0, (void*)0x0800B178 }, { 0x469, 0, (void*)0x0800B1B8 }, - { 0x46A, 0, (void*)0x0800B1F0 }, { 0x46B, 0, (void*)0x0800B244 }, { 0x46C, 0, (void*)0x0800B258 }, - { 0x46D, 0, (void*)0x0800B2B4 }, { 0x46E, 0, (void*)0x0800B324 }, { 0x46F, 0, (void*)0x0800B374 }, - { 0x470, 0, (void*)0x0800B3A8 }, { 0x471, 0, (void*)0x0800B3F4 }, { 0x472, 0, (void*)0x0800B428 }, - { 0x473, 0, (void*)0x0800B484 }, { 0x474, 0, (void*)0x0800B4A4 }, { 0x475, 0, (void*)0x0800B514 }, - { 0x476, 0, (void*)0x0800B570 }, { 0x477, 0, (void*)0x0800B5FC }, { 0x478, 0, (void*)0x0800B65C }, - { 0x479, 0, (void*)0x0800B6CC }, { 0x47A, 0, (void*)0x0800B6FC }, { 0x47B, 0, (void*)0x0800B760 }, - { 0x47C, 0, (void*)0x0800B78C }, { 0x47D, 0, (void*)0x0800B7DC }, { 0x47E, 0, (void*)0x0800B82C }, - { 0x4B0, 0, (void*)0x0800B854 }, { 0x4B1, 0, (void*)0x0800B8B0 }, { 0x4B2, 0, (void*)0x0800B8F8 }, - { 0x4B3, 0, (void*)0x0800B93C }, { 0x4B4, 0, (void*)0x0800B994 }, { 0x4B5, 0, (void*)0x0800B9D0 }, - { 0x4B6, 0, (void*)0x0800BA04 }, { 0x4B7, 0, (void*)0x0800BA94 }, { 0x4B8, 0, (void*)0x0800BAC4 }, - { 0x4B9, 0, (void*)0x0800BB4C }, { 0x4BA, 0, (void*)0x0800BB7C }, { 0x4BB, 0, (void*)0x0800BBFC }, - { 0x4BC, 0, (void*)0x0800BC28 }, { 0x4BD, 0, (void*)0x0800BCA4 }, { 0x4BE, 0, (void*)0x0800BCD0 }, - { 0x4BF, 0, (void*)0x0800BD58 }, { 0x4C0, 0, (void*)0x0800BD84 }, { 0x4C1, 0, (void*)0x0800BE18 }, - { 0x4C2, 0, (void*)0x0800BE54 }, { 0x4C3, 0, (void*)0x0800BED0 }, { 0x4C4, 0, (void*)0x0800BEEC }, - { 0x4C5, 0, (void*)0x0800BF5C }, { 0x4C6, 0, (void*)0x0800BF78 }, { 0x4C7, 0, (void*)0x0800BFF4 }, - { 0x4C8, 0, (void*)0x0800C018 }, { 0x4C9, 0, (void*)0x0800C0A4 }, { 0x4CA, 0, (void*)0x0800C0D8 }, - { 0x4CB, 0, (void*)0x0800C140 }, { 0x4CC, 0, (void*)0x0800C158 }, { 0x4CD, 0, (void*)0x0800C1E0 }, - { 0x4CE, 0, (void*)0x0800C220 }, { 0x4CF, 0, (void*)0x0800C29C }, { 0x4D0, 0, (void*)0x0800C2D0 }, - { 0x4D1, 0, (void*)0x0800C34C }, { 0x4D2, 0, (void*)0x0800C378 }, { 0x4D3, 0, (void*)0x0800C400 }, - { 0x4D4, 0, (void*)0x0800C448 }, { 0x4D5, 0, (void*)0x0800C4BC }, { 0x4D6, 0, (void*)0x0800C4E0 }, - { 0x4D7, 0, (void*)0x0800C560 }, { 0x4D8, 0, (void*)0x0800C598 }, { 0x4D9, 0, (void*)0x0800C604 }, - { 0x4DA, 0, (void*)0x0800C63C }, { 0x4DB, 0, (void*)0x0800C6B4 }, { 0x4DC, 0, (void*)0x0800C714 }, - { 0x4DD, 0, (void*)0x0800C784 }, { 0x4DE, 0, (void*)0x0800C7B4 }, { 0x4DF, 0, (void*)0x0800C81C }, - { 0x4E0, 0, (void*)0x0800C840 }, { 0x4E1, 0, (void*)0x0800C8AC }, { 0x4E2, 0, (void*)0x0800C8CC }, - { 0x4E3, 0, (void*)0x0800C95C }, { 0x4E4, 0, (void*)0x0800C990 }, { 0x4E5, 0, (void*)0x0800CA04 }, - { 0x4E6, 0, (void*)0x0800CA20 }, { 0x4E7, 0, (void*)0x0800CA9C }, { 0x4E8, 0, (void*)0x0800CAC0 }, - { 0x4E9, 0, (void*)0x0800CB48 }, { 0x4EA, 0, (void*)0x0800CB64 }, { 0x4EB, 0, (void*)0x0800CBE8 }, - { 0x4EC, 0, (void*)0x0800CC04 }, { 0x4ED, 0, (void*)0x0800CC64 }, { 0x4EE, 0, (void*)0x0800CC88 }, - { 0x4EF, 0, (void*)0x0800CCE8 }, { 0x4F0, 0, (void*)0x0800CD0C }, { 0x4F1, 0, (void*)0x0800CD7C }, - { 0x514, 0, (void*)0x0800CDA4 }, { 0x515, 0, (void*)0x0800CED0 }, { 0x516, 0, (void*)0x0800CFE8 }, - { 0x517, 0, (void*)0x0800D094 }, { 0x518, 0, (void*)0x0800D128 }, { 0x519, 0, (void*)0x0800D1C8 }, - { 0x51A, 0, (void*)0x0800D254 }, { 0x51B, 0, (void*)0x0800D2A8 }, { 0x51C, 0, (void*)0x0800D318 }, - { 0x51D, 0, (void*)0x0800D360 }, { 0x51E, 0, (void*)0x0800D3D0 }, { 0x51F, 0, (void*)0x0800D418 }, - { 0x520, 0, (void*)0x0800D488 }, { 0x521, 0, (void*)0x0800D534 }, { 0x522, 0, (void*)0x0800D5BC }, - { 0x523, 0, (void*)0x0800D65C }, { 0x524, 0, (void*)0x0800D6E4 }, { 0x525, 0, (void*)0x0800D728 }, - { 0x526, 0, (void*)0x0800D794 }, { 0x527, 0, (void*)0x0800D7D0 }, { 0x528, 0, (void*)0x0800D834 }, - { 0x529, 0, (void*)0x0800D878 }, { 0x52A, 0, (void*)0x0800D8E4 }, { 0x52B, 0, (void*)0x0800D98C }, - { 0x52C, 0, (void*)0x0800DA2C }, { 0x52D, 0, (void*)0x0800DAC8 }, { 0x52E, 0, (void*)0x0800DB6C }, - { 0x52F, 0, (void*)0x0800DBD4 }, { 0x530, 0, (void*)0x0800DC5C }, { 0x531, 0, (void*)0x0800DCC4 }, - { 0x532, 0, (void*)0x0800DD54 }, { 0x533, 0, (void*)0x0800DDA4 }, { 0x534, 0, (void*)0x0800DE1C }, - { 0x535, 0, (void*)0x0800DEC8 }, { 0x536, 0, (void*)0x0800DF50 }, { 0x537, 0, (void*)0x0800DFF0 }, - { 0x538, 0, (void*)0x0800E078 }, { 0x539, 0, (void*)0x0800E0BC }, { 0x53A, 0, (void*)0x0800E128 }, - { 0x53B, 0, (void*)0x0800E16C }, { 0x53C, 0, (void*)0x0800E1D8 }, { 0x53D, 0, (void*)0x0800E21C }, - { 0x53E, 0, (void*)0x0800E288 }, { 0x53F, 0, (void*)0x0800E334 }, { 0x540, 0, (void*)0x0800E414 }, - { 0x541, 0, (void*)0x0800E474 }, { 0x542, 0, (void*)0x0800E50C }, { 0x543, 0, (void*)0x0800E57C }, - { 0x544, 0, (void*)0x0800E614 }, { 0x545, 0, (void*)0x0800E678 }, { 0x546, 0, (void*)0x0800E728 }, - { 0x547, 0, (void*)0x0800E794 }, { 0x548, 0, (void*)0x0800E7F4 }, { 0x549, 0, (void*)0x0800E86C }, - { 0x54A, 0, (void*)0x0800E8D8 }, { 0x54B, 0, (void*)0x0800E934 }, { 0x54C, 0, (void*)0x0800E9B4 }, - { 0x54D, 0, (void*)0x0800EA28 }, { 0x54E, 0, (void*)0x0800EB08 }, { 0x54F, 0, (void*)0x0800EB60 }, - { 0x550, 0, (void*)0x0800EBC8 }, { 0x551, 0, (void*)0x0800EC2C }, { 0x552, 0, (void*)0x0800ECAC }, - { 0x553, 0, (void*)0x0800ED1C }, { 0x554, 0, (void*)0x0800ED9C }, { 0x555, 0, (void*)0x0800EE00 }, - { 0x556, 0, (void*)0x0800EEEC }, { 0x557, 0, (void*)0x0800EF4C }, { 0x558, 0, (void*)0x0800EFBC }, - { 0x559, 0, (void*)0x0800F03C }, { 0x55A, 0, (void*)0x0800F0B4 }, { 0x55B, 0, (void*)0x0800F110 }, - { 0x55C, 0, (void*)0x0800F188 }, { 0x55D, 0, (void*)0x0800F258 }, { 0x55E, 0, (void*)0x0800F300 }, - { 0x55F, 0, (void*)0x0800F398 }, { 0x560, 0, (void*)0x0800F44C }, { 0x561, 0, (void*)0x0800F570 }, - { 0x562, 0, (void*)0x0800F688 }, { 0x563, 0, (void*)0x0800F7A8 }, { 0x564, 0, (void*)0x0800F8B8 }, - { 0x565, 0, (void*)0x0800F9D8 }, { 0x566, 0, (void*)0x0800FAEC }, { 0x567, 0, (void*)0x0800FB84 }, - { 0x568, 0, (void*)0x0800FC34 }, { 0x569, 0, (void*)0x0800FCC8 }, { 0x56A, 0, (void*)0x0800FD78 }, - { 0x56B, 0, (void*)0x0800FE0C }, { 0x56C, 0, (void*)0x0800FEBC }, { 0x56D, 0, (void*)0x08010008 }, - { 0x56E, 0, (void*)0x08010168 }, { 0x56F, 0, (void*)0x080102C4 }, { 0x570, 0, (void*)0x0801042C }, - { 0x571, 0, (void*)0x08010584 }, { 0x572, 0, (void*)0x080106EC }, { 0x573, 0, (void*)0x08010844 }, - { 0x578, 0, (void*)0x080109A4 }, { 0x579, 0, (void*)0x08010A70 }, { 0x57A, 0, (void*)0x08010B28 }, - { 0x57B, 0, (void*)0x08010C7C }, { 0x57C, 0, (void*)0x08010D98 }, { 0x57D, 0, (void*)0x08010EC4 }, - { 0x57E, 0, (void*)0x08010FF4 }, { 0x57F, 0, (void*)0x080110E4 }, { 0x580, 0, (void*)0x080111D0 }, - { 0x582, 0, (void*)0x08011260 }, { 0x583, 0, (void*)0x08011304 }, { 0x584, 0, (void*)0x08011374 }, - { 0x585, 0, (void*)0x08011408 }, { 0x586, 0, (void*)0x080114BC }, { 0x587, 0, (void*)0x08011528 }, - { 0x588, 0, (void*)0x080115C0 }, { 0x589, 0, (void*)0x08011674 }, { 0x58A, 0, (void*)0x080116E4 }, - { 0x58B, 0, (void*)0x08011760 }, { 0x58C, 0, (void*)0x08011820 }, { 0x58D, 0, (void*)0x08011884 }, - { 0x58E, 0, (void*)0x0801192C }, { 0x58F, 0, (void*)0x08011A20 }, { 0x590, 0, (void*)0x08011B08 }, - { 0x591, 0, (void*)0x08011B68 }, { 0x592, 0, (void*)0x08011BA4 }, { 0x593, 0, (void*)0x08011BE4 }, - { 0x594, 0, (void*)0x08011C20 }, { 0x595, 0, (void*)0x08011D00 }, { 0x59C, 0, (void*)0x08011DC8 }, - { 0x59D, 0, (void*)0x08011E78 }, { 0x59E, 0, (void*)0x08011EB4 }, { 0x59F, 0, (void*)0x08011EFC }, - { 0x5A0, 0, (void*)0x08011FB4 }, { 0x5A1, 0, (void*)0x08012068 }, { 0x5A2, 0, (void*)0x080120A4 }, - { 0x5A3, 0, (void*)0x080120E4 }, { 0x5A4, 0, (void*)0x08012198 }, { 0x5A5, 0, (void*)0x08012248 }, - { 0x5A6, 0, (void*)0x08012284 }, { 0x5A7, 0, (void*)0x080122C4 }, { 0x5A8, 0, (void*)0x08012380 }, - { 0x5A9, 0, (void*)0x0801243C }, { 0x5AA, 0, (void*)0x08012478 }, { 0x5DC, 0, (void*)0x080124B8 }, - { 0x5DD, 0, (void*)0x08012548 }, { 0x5DE, 0, (void*)0x080125BC }, { 0x5DF, 0, (void*)0x08012678 }, - { 0x5E0, 0, (void*)0x08012730 }, { 0x5E1, 0, (void*)0x0801276C }, { 0x5E2, 0, (void*)0x08012784 }, - { 0x5E3, 0, (void*)0x080127C4 }, { 0x5E4, 0, (void*)0x080128A8 }, { 0x5E5, 0, (void*)0x080128E0 }, - { 0x5E6, 0, (void*)0x0801294C }, { 0x5E7, 0, (void*)0x08012970 }, { 0x5E8, 0, (void*)0x080129A4 }, - { 0x5E9, 0, (void*)0x08012A5C }, { 0x5EA, 0, (void*)0x08012ACC }, { 0x5EB, 0, (void*)0x08012B4C }, - { 0x5EC, 0, (void*)0x08012BF0 }, { 0x5ED, 0, (void*)0x08012CE0 }, { 0x5EE, 0, (void*)0x08012D84 }, - { 0x5EF, 0, (void*)0x08012DE4 }, { 0x5F0, 0, (void*)0x08012E1C }, { 0x5F1, 0, (void*)0x08012E7C }, - { 0x5F2, 0, (void*)0x08012EF0 }, { 0x5F3, 0, (void*)0x08012FAC }, { 0x5F4, 0, (void*)0x08013060 }, - { 0x5F5, 0, (void*)0x080130F4 }, { 0x5F6, 0, (void*)0x0801315C }, { 0x5F7, 0, (void*)0x08013210 }, - { 0x5F8, 0, (void*)0x08013258 }, { 0x60E, 0, (void*)0x080132B0 }, { 0x60F, 0, (void*)0x08013368 }, - { 0x610, 0, (void*)0x08013470 }, { 0x611, 0, (void*)0x08013530 }, { 0x612, 0, (void*)0x080135F8 }, - { 0x613, 0, (void*)0x08013680 }, { 0x614, 0, (void*)0x080137D0 }, { 0x615, 0, (void*)0x0801386C }, - { 0x616, 0, (void*)0x08013944 }, { 0x617, 0, (void*)0x080139B8 }, { 0x618, 0, (void*)0x08013A44 }, - { 0x619, 0, (void*)0x08013AA8 }, { 0x61A, 0, (void*)0x08013BFC }, { 0x61B, 0, (void*)0x08013C5C }, - { 0x61C, 0, (void*)0x08013CB0 }, { 0x61D, 0, (void*)0x08013D00 }, { 0x61E, 0, (void*)0x08013D60 }, - { 0x61F, 0, (void*)0x08013DAC }, { 0x620, 0, (void*)0x08013DEC }, { 0x621, 0, (void*)0x08013E4C }, - { 0x622, 0, (void*)0x08013E80 }, { 0x623, 0, (void*)0x08013ED8 }, { 0x624, 0, (void*)0x08013F24 }, - { 0x625, 0, (void*)0x08013FEC }, { 0x626, 0, (void*)0x08014010 }, { 0x627, 0, (void*)0x08014064 }, - { 0x628, 0, (void*)0x080140C4 }, { 0x629, 0, (void*)0x08014170 }, { 0x62A, 0, (void*)0x08014208 }, - { 0x62B, 0, (void*)0x080142D0 }, { 0x62C, 0, (void*)0x08014398 }, { 0x640, 0, (void*)0x0801454C }, - { 0x641, 0, (void*)0x0801458C }, { 0x642, 0, (void*)0x080145B4 }, { 0x644, 0, (void*)0x080145F0 }, - { 0x645, 0, (void*)0x08014608 }, { 0x646, 0, (void*)0x08014648 }, { 0x647, 0, (void*)0x080146B0 }, - { 0x648, 0, (void*)0x080146D4 }, { 0x649, 0, (void*)0x08014760 }, { 0x64A, 0, (void*)0x08014798 }, - { 0x64B, 0, (void*)0x08014850 }, { 0x64C, 0, (void*)0x08014898 }, { 0x64D, 0, (void*)0x080148B4 }, - { 0x64E, 0, (void*)0x08014924 }, { 0x64F, 0, (void*)0x08014988 }, { 0x650, 0, (void*)0x080149F0 }, - { 0x651, 0, (void*)0x08014A50 }, { 0x652, 0, (void*)0x08014A8C }, { 0x653, 0, (void*)0x08014AF4 }, - { 0x654, 0, (void*)0x08014B34 }, { 0x655, 0, (void*)0x08014B9C }, { 0x656, 0, (void*)0x08014BD8 }, - { 0x657, 0, (void*)0x08014C38 }, { 0x658, 0, (void*)0x08014C78 }, { 0x659, 0, (void*)0x08014CBC }, - { 0x65A, 0, (void*)0x08014D10 }, { 0x65B, 0, (void*)0x08014D94 }, { 0x65C, 0, (void*)0x08014E68 }, - { 0x65D, 0, (void*)0x08014F18 }, { 0x65E, 0, (void*)0x08014F5C }, { 0x65F, 0, (void*)0x08014F88 }, - { 0x660, 0, (void*)0x08014FD0 }, { 0x661, 0, (void*)0x08015024 }, { 0x662, 0, (void*)0x080150F0 }, - { 0x663, 0, (void*)0x08015188 }, { 0x664, 0, (void*)0x080151AC }, { 0x665, 0, (void*)0x080151E4 }, - { 0x666, 0, (void*)0x08015248 }, { 0x667, 0, (void*)0x0801529C }, { 0x668, 0, (void*)0x080152CC }, - { 0x669, 0, (void*)0x0801532C }, { 0x66A, 0, (void*)0x08015390 }, { 0x66B, 0, (void*)0x080153E4 }, - { 0x66C, 0, (void*)0x08015450 }, { 0x66D, 0, (void*)0x080154BC }, { 0x66E, 0, (void*)0x08015550 }, - { 0x66F, 0, (void*)0x080155C0 }, { 0x670, 0, (void*)0x08015600 }, { 0x671, 0, (void*)0x08015634 }, - { 0x672, 0, (void*)0x0801568C }, { 0x673, 0, (void*)0x080156C8 }, { 0x674, 0, (void*)0x0801574C }, - { 0x675, 0, (void*)0x08015784 }, { 0x676, 0, (void*)0x080157F8 }, { 0x677, 0, (void*)0x0801588C }, - { 0x678, 0, (void*)0x080158E4 }, { 0x679, 0, (void*)0x08015940 }, { 0x67A, 0, (void*)0x08015994 }, - { 0x67B, 0, (void*)0x080159E8 }, { 0x67C, 0, (void*)0x08015A48 }, { 0x67D, 0, (void*)0x08015B58 }, - { 0x67E, 0, (void*)0x08015C04 }, { 0x67F, 0, (void*)0x08015C50 }, { 0x680, 0, (void*)0x08015D64 }, - { 0x681, 0, (void*)0x08015E40 }, { 0x682, 0, (void*)0x08015ED0 }, { 0x683, 0, (void*)0x08015F00 }, - { 0x684, 0, (void*)0x08015F90 }, { 0x685, 0, (void*)0x08015FCC }, { 0x686, 0, (void*)0x08016020 }, - { 0x687, 0, (void*)0x08016078 }, { 0x688, 0, (void*)0x080160AC }, { 0x689, 0, (void*)0x08016104 }, - { 0x68A, 0, (void*)0x08016130 }, { 0x6A4, 0, (void*)0x08016184 }, { 0x6A5, 0, (void*)0x080161B8 }, - { 0x6A6, 0, (void*)0x0801620C }, { 0x6A7, 0, (void*)0x08016248 }, { 0x6A8, 0, (void*)0x080162A0 }, - { 0x6A9, 0, (void*)0x080162C8 }, { 0x6AA, 0, (void*)0x0801634C }, { 0x6AB, 0, (void*)0x08016398 }, - { 0x6AC, 0, (void*)0x080163FC }, { 0x6AD, 0, (void*)0x08016478 }, { 0x6AE, 0, (void*)0x080164B4 }, - { 0x6AF, 0, (void*)0x08016508 }, { 0x6B0, 0, (void*)0x08016548 }, { 0x6B1, 0, (void*)0x080165C0 }, - { 0x6B2, 0, (void*)0x08016600 }, { 0x6B3, 0, (void*)0x08016674 }, { 0x6B4, 0, (void*)0x080166B4 }, - { 0x6B5, 0, (void*)0x0801671C }, { 0x6B6, 0, (void*)0x08016758 }, { 0x6B7, 0, (void*)0x080167C0 }, - { 0x6B8, 0, (void*)0x080167F8 }, { 0x6B9, 0, (void*)0x08016858 }, { 0x6BA, 0, (void*)0x08016894 }, - { 0x6BB, 0, (void*)0x08016900 }, { 0x6BC, 0, (void*)0x0801693C }, { 0x6BD, 0, (void*)0x0801698C }, - { 0x6BE, 0, (void*)0x080169CC }, { 0x6BF, 0, (void*)0x08016A04 }, { 0x6C0, 0, (void*)0x08016A28 }, - { 0x6C1, 0, (void*)0x08016A7C }, { 0x6C2, 0, (void*)0x08016A98 }, { 0x6C3, 0, (void*)0x08016AC8 }, - { 0x6C4, 0, (void*)0x08016AE4 }, { 0x6C5, 0, (void*)0x08016B2C }, { 0x6C6, 0, (void*)0x08016B84 }, - { 0x6C7, 0, (void*)0x08016BC8 }, { 0x6C8, 0, (void*)0x08016BE0 }, { 0x6C9, 0, (void*)0x08016C34 }, - { 0x6CA, 0, (void*)0x08016C94 }, { 0x6CB, 0, (void*)0x08016CD0 }, { 0x6CC, 0, (void*)0x08016D24 }, - { 0x6CD, 0, (void*)0x08016D64 }, { 0x6CE, 0, (void*)0x08016DC8 }, { 0x6CF, 0, (void*)0x08016E08 }, - { 0x6D0, 0, (void*)0x08016E6C }, { 0x6D1, 0, (void*)0x08016EAC }, { 0x6D2, 0, (void*)0x08016F14 }, - { 0x6D3, 0, (void*)0x08016F50 }, { 0x6D4, 0, (void*)0x08016FD0 }, { 0x6D5, 0, (void*)0x08017008 }, - { 0x6D6, 0, (void*)0x08017084 }, { 0x6D7, 0, (void*)0x080170C0 }, { 0x6D8, 0, (void*)0x08017110 }, - { 0x6D9, 0, (void*)0x0801714C }, { 0x6DA, 0, (void*)0x080171A4 }, { 0x6DB, 0, (void*)0x080171E0 }, - { 0x6DC, 0, (void*)0x08017218 }, { 0x6DD, 0, (void*)0x08017264 }, { 0x6DE, 0, (void*)0x080172E0 }, - { 0x708, 0, (void*)0x08017330 }, { 0x709, 0, (void*)0x080173C4 }, { 0x70A, 0, (void*)0x0801741C }, - { 0x70B, 0, (void*)0x080174B4 }, { 0x70C, 0, (void*)0x0801753C }, { 0x70D, 0, (void*)0x08017564 }, - { 0x70E, 0, (void*)0x0801758C }, { 0x70F, 0, (void*)0x080175FC }, { 0x710, 0, (void*)0x08017650 }, - { 0x711, 0, (void*)0x08017748 }, { 0x712, 0, (void*)0x0801775C }, { 0x713, 0, (void*)0x080177B0 }, - { 0x714, 0, (void*)0x080177D8 }, { 0x715, 0, (void*)0x0801781C }, { 0x716, 0, (void*)0x0801787C }, - { 0x717, 0, (void*)0x08017A6C }, { 0x718, 0, (void*)0x08017AB8 }, { 0x719, 0, (void*)0x08017AE8 }, - { 0x71A, 0, (void*)0x08017B48 }, { 0x71B, 0, (void*)0x08017BA0 }, { 0x721, 0, (void*)0x08017C00 }, - { 0x722, 0, (void*)0x08017C44 }, { 0x723, 0, (void*)0x08017C84 }, { 0x724, 0, (void*)0x08017CC4 }, - { 0x725, 0, (void*)0x08017D04 }, { 0x726, 0, (void*)0x08017D90 }, { 0x727, 0, (void*)0x08017DE4 }, - { 0x728, 0, (void*)0x08017DF0 }, { 0x729, 0, (void*)0x08017E50 }, { 0x72A, 0, (void*)0x08017E9C }, - { 0x72B, 0, (void*)0x08017F08 }, { 0x72C, 0, (void*)0x08017F5C }, { 0x72D, 0, (void*)0x08017F8C }, - { 0x72E, 0, (void*)0x08017FC8 }, { 0x72F, 0, (void*)0x0801800C }, { 0x730, 0, (void*)0x08018064 }, - { 0x731, 0, (void*)0x080180A0 }, { 0x732, 0, (void*)0x080180E8 }, { 0x733, 0, (void*)0x08018104 }, - { 0x734, 0, (void*)0x08018188 }, { 0x735, 0, (void*)0x08018240 }, { 0x736, 0, (void*)0x080182A8 }, - { 0x737, 0, (void*)0x080182E4 }, { 0x738, 0, (void*)0x080184D0 }, { 0x73A, 0, (void*)0x08018510 }, - { 0x73B, 0, (void*)0x08018594 }, { 0x73C, 0, (void*)0x08018618 }, { 0x73D, 0, (void*)0x080186B0 }, - { 0x73E, 0, (void*)0x0801876C }, { 0x73F, 0, (void*)0x08018818 }, { 0x740, 0, (void*)0x080188CC }, - { 0x741, 0, (void*)0x08018908 }, { 0x742, 0, (void*)0x08018938 }, { 0x743, 0, (void*)0x080189A0 }, - { 0x744, 0, (void*)0x08018A00 }, { 0x745, 0, (void*)0x08018A90 }, { 0x746, 0, (void*)0x08018B4C }, - { 0x747, 0, (void*)0x08018C18 }, { 0x748, 0, (void*)0x08018C8C }, { 0x749, 0, (void*)0x08018CE0 }, - { 0x74A, 0, (void*)0x08018D78 }, { 0x74B, 0, (void*)0x08018DD0 }, { 0x74C, 0, (void*)0x08018E38 }, - { 0x74D, 0, (void*)0x08018E78 }, { 0x74E, 0, (void*)0x08018EC0 }, { 0x74F, 0, (void*)0x08018F38 }, - { 0x750, 0, (void*)0x08018FF4 }, { 0x751, 0, (void*)0x08019014 }, { 0x752, 0, (void*)0x0801910C }, - { 0x753, 0, (void*)0x08019160 }, { 0x754, 0, (void*)0x080191A4 }, { 0x755, 0, (void*)0x080191FC }, - { 0x756, 0, (void*)0x08019254 }, { 0x757, 0, (void*)0x0801927C }, { 0x758, 0, (void*)0x080192E8 }, - { 0x759, 0, (void*)0x08019354 }, { 0x75A, 0, (void*)0x0801939C }, { 0x76C, 0, (void*)0x0801941C }, - { 0x76D, 0, (void*)0x08019468 }, { 0x76E, 0, (void*)0x080194BC }, { 0x76F, 0, (void*)0x080194F8 }, - { 0x770, 0, (void*)0x08019530 }, { 0x771, 0, (void*)0x0801956C }, { 0x772, 0, (void*)0x080195A4 }, - { 0x773, 0, (void*)0x080195DC }, { 0x774, 0, (void*)0x08019620 }, { 0x775, 0, (void*)0x08019654 }, - { 0x776, 0, (void*)0x08019688 }, { 0x777, 0, (void*)0x080196A4 }, { 0x778, 0, (void*)0x080196F0 }, - { 0x779, 0, (void*)0x080197A4 }, { 0x77A, 0, (void*)0x080197C0 }, { 0x77B, 0, (void*)0x080197E4 }, - { 0x77C, 0, (void*)0x0801982C }, { 0x77D, 0, (void*)0x08019854 }, { 0x7D0, 0, (void*)0x08019878 }, - { 0x7D1, 0, (void*)0x080198BC }, { 0x7D2, 0, (void*)0x080199A8 }, { 0x7D3, 0, (void*)0x080199BC }, - { 0x7D4, 0, (void*)0x080199E4 }, { 0x7D5, 0, (void*)0x08019AD8 }, { 0x7D6, 0, (void*)0x08019B10 }, - { 0x7D7, 0, (void*)0x08019B28 }, { 0x7D8, 0, (void*)0x08019BA4 }, { 0x7D9, 0, (void*)0x08019BC8 }, - { 0x7DC, 0, (void*)0x08019C20 }, { 0x7DD, 0, (void*)0x08019C40 }, { 0x7DE, 0, (void*)0x08019C60 }, - { 0x800, 0, (void*)0x08019C80 }, { 0x801, 0, (void*)0x08019D44 }, { 0x802, 0, (void*)0x08019DD0 }, - { 0x803, 0, (void*)0x08019E24 }, { 0x804, 0, (void*)0x08019E44 }, { 0x806, 0, (void*)0x08019F84 }, - { 0x807, 0, (void*)0x0801A0F0 }, { 0x80B, 0, (void*)0x0801A0FC }, { 0x80C, 0, (void*)0x0801A144 }, - { 0x80D, 0, (void*)0x0801A1AC }, { 0x80E, 0, (void*)0x0801A218 }, { 0x80F, 0, (void*)0x0801A288 }, - { 0x810, 0, (void*)0x0801A320 }, { 0x811, 0, (void*)0x0801A348 }, { 0x820, 0, (void*)0x0801A378 }, - { 0x821, 0, (void*)0x0801A3B4 }, { 0x822, 0, (void*)0x0801A408 }, { 0x823, 0, (void*)0x0801A484 }, - { 0x824, 0, (void*)0x0801A4D4 }, { 0x825, 0, (void*)0x0801A538 }, { 0x826, 0, (void*)0x0801A5A8 }, - { 0x827, 0, (void*)0x0801A614 }, { 0x828, 0, (void*)0x0801A654 }, { 0x829, 0, (void*)0x0801A680 }, - { 0x82A, 0, (void*)0x0801A6EC }, { 0x82B, 0, (void*)0x0801A740 }, { 0x82C, 0, (void*)0x0801A79C }, - { 0x82D, 0, (void*)0x0801A808 }, { 0x82E, 0, (void*)0x0801A868 }, { 0x82F, 0, (void*)0x0801A894 }, - { 0x830, 0, (void*)0x0801A918 }, { 0x831, 0, (void*)0x0801A968 }, { 0x832, 0, (void*)0x0801A9DC }, - { 0x833, 0, (void*)0x0801AA5C }, { 0x834, 0, (void*)0x0801AA80 }, { 0x835, 0, (void*)0x0801AAD0 }, - { 0x836, 0, (void*)0x0801AB60 }, { 0x838, 0, (void*)0x0801AC28 }, { 0x839, 0, (void*)0x0801AC7C }, - { 0x83A, 0, (void*)0x0801AD18 }, { 0x83B, 0, (void*)0x0801AD48 }, { 0x83C, 0, (void*)0x0801ADC4 }, - { 0x83D, 0, (void*)0x0801AE2C }, { 0x83E, 0, (void*)0x0801AE84 }, { 0x83F, 0, (void*)0x0801AEC4 }, - { 0x840, 0, (void*)0x0801AF0C }, { 0x841, 0, (void*)0x0801AF48 }, { 0x842, 0, (void*)0x0801AFA4 }, - { 0x843, 0, (void*)0x0801AFE4 }, { 0x844, 0, (void*)0x0801B054 }, { 0x845, 0, (void*)0x0801B090 }, - { 0x846, 0, (void*)0x0801B0CC }, { 0x847, 0, (void*)0x0801B114 }, { 0x848, 0, (void*)0x0801B168 }, - { 0x849, 0, (void*)0x0801B190 }, { 0x84A, 0, (void*)0x0801B210 }, { 0x84B, 0, (void*)0x0801B278 }, - { 0x84C, 0, (void*)0x0801B2BC }, { 0x84D, 0, (void*)0x0801B310 }, { 0x84E, 0, (void*)0x0801B380 }, - { 0x84F, 0, (void*)0x0801B3A4 }, { 0x850, 0, (void*)0x0801B3CC }, { 0x851, 0, (void*)0x0801B47C }, - { 0x852, 0, (void*)0x0801B488 }, { 0x853, 0, (void*)0x0801B4B4 }, { 0x854, 0, (void*)0x0801B5C4 }, - { 0x855, 0, (void*)0x0801B608 }, { 0x856, 0, (void*)0x0801B678 }, { 0x857, 0, (void*)0x0801B6D8 }, - { 0x858, 0, (void*)0x0801B718 }, { 0x859, 0, (void*)0x0801B78C }, { 0x85A, 0, (void*)0x0801B810 }, - { 0x85B, 0, (void*)0x0801B85C }, { 0x85C, 0, (void*)0x0801B8C4 }, { 0x85D, 0, (void*)0x0801B8F4 }, - { 0x85E, 0, (void*)0x0801B900 }, { 0x85F, 0, (void*)0x0801B92C }, { 0x860, 0, (void*)0x0801B968 }, - { 0x861, 0, (void*)0x0801B994 }, { 0x862, 0, (void*)0x0801B9E0 }, { 0x863, 0, (void*)0x0801BA6C }, - { 0x864, 0, (void*)0x0801BACC }, { 0x865, 0, (void*)0x0801BB18 }, { 0x866, 0, (void*)0x0801BB8C }, - { 0x867, 0, (void*)0x0801BBA4 }, { 0x868, 0, (void*)0x0801BC0C }, { 0x869, 0, (void*)0x0801BC88 }, - { 0x86A, 0, (void*)0x0801BCC0 }, { 0x86B, 0, (void*)0x0801BD30 }, { 0x86C, 0, (void*)0x0801BD90 }, - { 0x86D, 0, (void*)0x0801BDD4 }, { 0x86E, 0, (void*)0x0801BE60 }, { 0x86F, 0, (void*)0x0801BF1C }, - { 0x870, 0, (void*)0x0801BF40 }, { 0x871, 0, (void*)0x0801BF90 }, { 0x872, 0, (void*)0x0801BFB0 }, - { 0x873, 0, (void*)0x0801C004 }, { 0x874, 0, (void*)0x0801C038 }, { 0x875, 0, (void*)0x0801C0A0 }, - { 0x876, 0, (void*)0x0801C0F8 }, { 0x877, 0, (void*)0x0801C170 }, { 0x878, 0, (void*)0x0801C1E0 }, - { 0x879, 0, (void*)0x0801C23C }, { 0x87A, 0, (void*)0x0801C2A0 }, { 0x87B, 0, (void*)0x0801C2D4 }, - { 0x87C, 0, (void*)0x0801C314 }, { 0x87D, 0, (void*)0x0801C384 }, { 0x87E, 0, (void*)0x0801C3DC }, - { 0x87F, 0, (void*)0x0801C43C }, { 0x880, 0, (void*)0x0801C494 }, { 0x881, 0, (void*)0x0801C504 }, - { 0x882, 0, (void*)0x0801C580 }, { 0x883, 0, (void*)0x0801C5E8 }, { 0x884, 0, (void*)0x0801C694 }, - { 0x885, 0, (void*)0x0801C6DC }, { 0x886, 0, (void*)0x0801C73C }, { 0x887, 0, (void*)0x0801C798 }, - { 0x888, 0, (void*)0x0801C7EC }, { 0x889, 0, (void*)0x0801C824 }, { 0x88A, 0, (void*)0x0801C86C }, - { 0x88B, 0, (void*)0x0801C890 }, { 0x88C, 0, (void*)0x0801C8C4 }, { 0x88D, 0, (void*)0x0801C914 }, - { 0x88E, 0, (void*)0x0801C98C }, { 0x88F, 0, (void*)0x0801CA00 }, { 0x890, 0, (void*)0x0801CA40 }, - { 0x898, 0, (void*)0x0801CADC }, { 0x899, 0, (void*)0x0801CB1C }, { 0x89A, 0, (void*)0x0801CB60 }, - { 0x89B, 0, (void*)0x0801CC18 }, { 0x89C, 0, (void*)0x0801CC74 }, { 0x89D, 0, (void*)0x0801CCCC }, - { 0x89E, 0, (void*)0x0801CD40 }, { 0x89F, 0, (void*)0x0801CDA0 }, { 0x8A0, 0, (void*)0x0801CDE8 }, - { 0x8A1, 0, (void*)0x0801CE44 }, { 0x8A2, 0, (void*)0x0801CEB0 }, { 0x8A3, 0, (void*)0x0801CF0C }, - { 0x8A4, 0, (void*)0x0801CF38 }, { 0x8A5, 0, (void*)0x0801CFD0 }, { 0x8CA, 0, (void*)0x0801D010 }, - { 0x8CB, 0, (void*)0x0801D0E0 }, { 0x8CC, 0, (void*)0x0801D108 }, { 0x8CD, 0, (void*)0x0801D138 }, - { 0x8CE, 0, (void*)0x0801D170 }, { 0x8CF, 0, (void*)0x0801D1C0 }, { 0x8D0, 0, (void*)0x0801D200 }, - { 0x8D1, 0, (void*)0x0801D238 }, { 0x8D2, 0, (void*)0x0801D268 }, { 0x8D3, 0, (void*)0x0801D340 }, - { 0x8D4, 0, (void*)0x0801D3D4 }, { 0x8D5, 0, (void*)0x0801D444 }, { 0x8D6, 0, (void*)0x0801D488 }, - { 0x8D7, 0, (void*)0x0801D4D8 }, { 0x8D8, 0, (void*)0x0801D508 }, { 0x8D9, 0, (void*)0x0801D574 }, - { 0x8DA, 0, (void*)0x0801D5A0 }, { 0x8DB, 0, (void*)0x0801D5D0 }, { 0x8DC, 0, (void*)0x0801D600 }, - { 0x8DD, 0, (void*)0x0801D644 }, { 0x8DE, 0, (void*)0x0801D7C8 }, { 0x8DF, 0, (void*)0x0801D7FC }, - { 0x8E0, 0, (void*)0x0801D844 }, { 0x8E1, 0, (void*)0x0801D898 }, { 0x8E2, 0, (void*)0x0801D938 }, - { 0x8E3, 0, (void*)0x0801D9E0 }, { 0x8E4, 0, (void*)0x0801DA40 }, { 0x8E5, 0, (void*)0x0801DA9C }, - { 0x8E6, 0, (void*)0x0801DB20 }, { 0x8E7, 0, (void*)0x0801DB88 }, { 0x8E8, 0, (void*)0x0801DBB0 }, - { 0x8E9, 0, (void*)0x0801DBE4 }, { 0x8EA, 0, (void*)0x0801DC6C }, { 0x8EB, 0, (void*)0x0801DC84 }, - { 0x8EC, 0, (void*)0x0801DD18 }, { 0x910, 0, (void*)0x0801DD64 }, { 0x911, 0, (void*)0x0801DDC0 }, - { 0x912, 0, (void*)0x0801DE3C }, { 0x913, 0, (void*)0x0801DEAC }, { 0x914, 0, (void*)0x0801DF18 }, - { 0x915, 0, (void*)0x0801DF88 }, { 0x916, 0, (void*)0x0801DFF0 }, { 0x917, 0, (void*)0x0801E038 }, - { 0x918, 0, (void*)0x0801E164 }, { 0x919, 0, (void*)0x0801E1BC }, { 0x91A, 0, (void*)0x0801E204 }, - { 0x91B, 0, (void*)0x0801E330 }, { 0x91C, 0, (void*)0x0801E370 }, { 0x91E, 0, (void*)0x0801E3CC }, - { 0x92E, 0, (void*)0x0801E464 }, { 0x92F, 0, (void*)0x0801E4C0 }, { 0x930, 0, (void*)0x0801E534 }, - { 0x931, 0, (void*)0x0801E5AC }, { 0x932, 0, (void*)0x0801E5B8 }, { 0x933, 0, (void*)0x0801E608 }, - { 0x934, 0, (void*)0x0801E650 }, { 0x935, 0, (void*)0x0801E698 }, { 0x936, 0, (void*)0x0801E6D0 }, - { 0x937, 0, (void*)0x0801E738 }, { 0x938, 0, (void*)0x0801E768 }, { 0x960, 0, (void*)0x0801E774 }, - { 0x961, 0, (void*)0x0801E798 }, { 0x962, 0, (void*)0x0801E810 }, { 0x963, 0, (void*)0x0801E8AC }, - { 0x964, 0, (void*)0x0801E97C }, { 0x965, 0, (void*)0x0801E9C8 }, { 0x966, 0, (void*)0x0801EA1C }, - { 0x967, 0, (void*)0x0801EABC }, { 0x968, 0, (void*)0x0801EB08 }, { 0x969, 0, (void*)0x0801EBC8 }, - { 0x96A, 0, (void*)0x0801EC58 }, { 0x96B, 0, (void*)0x0801EC8C }, { 0x96C, 0, (void*)0x0801ECD4 }, - { 0x96D, 0, (void*)0x0801ED40 }, { 0x96E, 0, (void*)0x0801ED88 }, { 0x96F, 0, (void*)0x0801EE4C }, - { 0x970, 0, (void*)0x0801EF08 }, { 0x971, 0, (void*)0x0801EF98 }, { 0x972, 0, (void*)0x0801EFF4 }, - { 0x9C4, 0, (void*)0x0801F000 }, { 0x9C5, 0, (void*)0x0801F08C }, { 0x9C6, 0, (void*)0x0801F0B0 }, - { 0x9C7, 0, (void*)0x0801F104 }, { 0x9C8, 0, (void*)0x0801F110 }, { 0x9C9, 0, (void*)0x0801F160 }, - { 0x9CA, 0, (void*)0x0801F1D4 }, { 0x9CB, 0, (void*)0x0801F25C }, { 0x9CC, 0, (void*)0x0801F2A0 }, - { 0x9CD, 0, (void*)0x0801F2E8 }, { 0x9CE, 0, (void*)0x0801F338 }, { 0x9CF, 0, (void*)0x0801F37C }, - { 0x9D0, 0, (void*)0x0801F3CC }, { 0x9D1, 0, (void*)0x0801F424 }, { 0x9D2, 0, (void*)0x0801F450 }, - { 0x9D3, 0, (void*)0x0801F510 }, { 0x9D4, 0, (void*)0x0801F558 }, { 0x9D5, 0, (void*)0x0801F580 }, - { 0x9D6, 0, (void*)0x0801F5D0 }, { 0x9D7, 0, (void*)0x0801F61C }, { 0x9D8, 0, (void*)0x0801F65C }, - { 0x9D9, 0, (void*)0x0801F69C }, { 0x9DA, 0, (void*)0x0801F6EC }, { 0x9DB, 0, (void*)0x0801F764 }, - { 0x9DC, 0, (void*)0x0801F7B0 }, { 0x9DD, 0, (void*)0x0801F808 }, { 0x9DE, 0, (void*)0x0801F8AC }, - { 0x9DF, 0, (void*)0x0801F91C }, { 0x9E0, 0, (void*)0x0801F990 }, { 0x9E1, 0, (void*)0x0801F9CC }, - { 0x9E2, 0, (void*)0x0801FA2C }, { 0x9E3, 0, (void*)0x0801FA74 }, { 0x9E4, 0, (void*)0x0801FB24 }, - { 0x9E5, 0, (void*)0x0801FB90 }, { 0x9E6, 0, (void*)0x0801FBBC }, { 0x9E7, 0, (void*)0x0801FBE4 }, - { 0x9E8, 0, (void*)0x0801FC4C }, { 0x9E9, 0, (void*)0x0801FCA0 }, { 0x9EA, 0, (void*)0x0801FD80 }, - { 0x9EB, 0, (void*)0x0801FDE8 }, { 0x9EC, 0, (void*)0x0801FE70 }, { 0x9ED, 0, (void*)0x0801FEAC }, - { 0x9EE, 0, (void*)0x0801FF40 }, { 0x9EF, 0, (void*)0x0801FF8C }, { 0xA28, 0, (void*)0x0801FFC4 }, - { 0xA29, 0, (void*)0x0801FFF4 }, { 0xA2A, 0, (void*)0x08020014 }, { 0xA2B, 0, (void*)0x08020048 }, - { 0xA2C, 0, (void*)0x0802012C }, { 0xA2D, 0, (void*)0x08020190 }, { 0xA2E, 0, (void*)0x080201EC }, - { 0xA2F, 0, (void*)0x08020278 }, { 0xA30, 0, (void*)0x080202E4 }, { 0xA31, 0, (void*)0x0802031C }, - { 0xA32, 0, (void*)0x08020360 }, { 0xA33, 0, (void*)0x080203A4 }, { 0xA34, 0, (void*)0x080203C8 }, - { 0xA35, 0, (void*)0x08020424 }, { 0xA36, 0, (void*)0x0802047C }, { 0xA37, 0, (void*)0x080204F0 }, - { 0xA38, 0, (void*)0x08020534 }, { 0xA39, 0, (void*)0x08020570 }, { 0xA3A, 0, (void*)0x080205E4 }, - { 0xBB8, 0, (void*)0x08020668 }, { 0xBB9, 0, (void*)0x080206A4 }, { 0xBBA, 0, (void*)0x080206EC }, - { 0xBBB, 0, (void*)0x08020710 }, { 0xBBC, 0, (void*)0x08020764 }, { 0xBBD, 0, (void*)0x080207A4 }, - { 0xBBE, 0, (void*)0x080207E8 }, { 0xBBF, 0, (void*)0x08020814 }, { 0xBC0, 0, (void*)0x08020858 }, - { 0xBC1, 0, (void*)0x080208B0 }, { 0xBC2, 0, (void*)0x08020910 }, { 0xBC3, 0, (void*)0x08020960 }, - { 0xBC4, 0, (void*)0x080209C4 }, { 0xBC5, 0, (void*)0x080209F0 }, { 0xBC6, 0, (void*)0x08020A50 }, - { 0xBC7, 0, (void*)0x08020A8C }, { 0xBC8, 0, (void*)0x08020B00 }, { 0xBC9, 0, (void*)0x08020B3C }, - { 0xBCA, 0, (void*)0x08020BB8 }, { 0xBCB, 0, (void*)0x08020BF4 }, { 0xBCC, 0, (void*)0x08020C4C }, - { 0xBCD, 0, (void*)0x08020C88 }, { 0xBCE, 0, (void*)0x08020CF0 }, { 0xBCF, 0, (void*)0x08020D2C }, - { 0xBD0, 0, (void*)0x08020D80 }, { 0xBD1, 0, (void*)0x08020DC0 }, { 0xBD2, 0, (void*)0x08020DFC }, - { 0xBD3, 0, (void*)0x08020E58 }, { 0xBD4, 0, (void*)0x08020E88 }, { 0xBD5, 0, (void*)0x08020EE0 }, - { 0xBD6, 0, (void*)0x08020F18 }, { 0xBD7, 0, (void*)0x08020F44 }, { 0xBEA, 0, (void*)0x08020F60 }, - { 0xBEB, 0, (void*)0x08021158 }, { 0xBEC, 0, (void*)0x080211C0 }, { 0xBED, 0, (void*)0x080211EC }, - { 0xBEE, 0, (void*)0x08021350 }, { 0xBEF, 0, (void*)0x08021380 }, { 0xBF0, 0, (void*)0x080213F8 }, - { 0xBF1, 0, (void*)0x08021480 }, { 0xBF2, 0, (void*)0x08021558 }, { 0xBF3, 0, (void*)0x08021588 }, - { 0xBF4, 0, (void*)0x080215E0 }, { 0xBF5, 0, (void*)0x080216A0 }, { 0xBF6, 0, (void*)0x080217CC }, - { 0xBF7, 0, (void*)0x08021858 }, { 0xBF8, 0, (void*)0x080218CC }, { 0xBF9, 0, (void*)0x08021974 }, - { 0xBFA, 0, (void*)0x080219F8 }, { 0xBFB, 0, (void*)0x08021A68 }, { 0xBFC, 0, (void*)0x08021AF8 }, - { 0xBFD, 0, (void*)0x08021B9C }, { 0xBFE, 0, (void*)0x08021BE0 }, { 0xBFF, 0, (void*)0x08021C54 }, - { 0xC00, 0, (void*)0x08021C80 }, { 0xC01, 0, (void*)0x08021CC8 }, { 0xC02, 0, (void*)0x08021F20 }, - { 0xC03, 0, (void*)0x08021F50 }, { 0xC04, 0, (void*)0x08022024 }, { 0xC1D, 0, (void*)0x08022090 }, - { 0xC1E, 0, (void*)0x080220B8 }, { 0xC1F, 0, (void*)0x080220D0 }, { 0xC20, 0, (void*)0x08022104 }, - { 0xC21, 0, (void*)0x08022198 }, { 0xC22, 0, (void*)0x080221B8 }, { 0xC23, 0, (void*)0x080221DC }, - { 0xC24, 0, (void*)0x08022248 }, { 0xC25, 0, (void*)0x08022288 }, { 0xC26, 0, (void*)0x08022308 }, - { 0xC27, 0, (void*)0x0802233C }, { 0xC28, 0, (void*)0x0802239C }, { 0xC29, 0, (void*)0x080223E4 }, - { 0xC2A, 0, (void*)0x08022408 }, { 0xC2B, 0, (void*)0x08022470 }, { 0xC2C, 0, (void*)0x080224C4 }, - { 0xC2D, 0, (void*)0x0802255C }, { 0xC2E, 0, (void*)0x08022584 }, { 0xC2F, 0, (void*)0x080225AC }, - { 0xC30, 0, (void*)0x08022640 }, { 0xC31, 0, (void*)0x08022670 }, { 0xC32, 0, (void*)0x0802268C }, - { 0xC33, 0, (void*)0x080226A0 }, { 0xC34, 0, (void*)0x080226E0 }, { 0xC35, 0, (void*)0x08022738 }, - { 0xC36, 0, (void*)0x08022760 }, { 0xC37, 0, (void*)0x08022780 }, { 0xC38, 0, (void*)0x080227B8 }, - { 0xC39, 0, (void*)0x080227F0 }, { 0xC3A, 0, (void*)0x080228DC }, { 0xC3B, 0, (void*)0x08022954 }, - { 0xC3C, 0, (void*)0x08022AD4 }, { 0xC3D, 0, (void*)0x08022B48 }, { 0xC3E, 0, (void*)0x08022C14 }, - { 0xC3F, 0, (void*)0x08022C48 }, { 0xC40, 0, (void*)0x08022C78 }, { 0xC41, 0, (void*)0x08022CB0 }, - { 0xC42, 0, (void*)0x08022CFC }, { 0xC43, 0, (void*)0x08022D64 }, { 0xC44, 0, (void*)0x08022D84 }, - { 0xC45, 0, (void*)0x08022DEC }, { 0xC46, 0, (void*)0x08022EBC }, { 0xC47, 0, (void*)0x08022F9C }, - { 0xC48, 0, (void*)0x08023004 }, { 0xC49, 0, (void*)0x08023024 }, { 0xC4A, 0, (void*)0x080230B0 }, - { 0xC4B, 0, (void*)0x080230E0 }, { 0xC4C, 0, (void*)0x080231E4 }, { 0xC4D, 0, (void*)0x0802329C }, - { 0xC4E, 0, (void*)0x080232FC }, { 0xC4F, 0, (void*)0x08023360 }, { 0xC50, 0, (void*)0x080233BC }, - { 0xC51, 0, (void*)0x080233F4 }, { 0xC52, 0, (void*)0x0802352C }, { 0xC53, 0, (void*)0x08023550 }, - { 0xC54, 0, (void*)0x08023640 }, { 0xC55, 0, (void*)0x08023668 }, { 0xC56, 0, (void*)0x080236A4 }, - { 0xC57, 0, (void*)0x080236F4 }, { 0xC58, 0, (void*)0x08023788 }, { 0xC80, 0, (void*)0x080237C4 }, - { 0xC81, 0, (void*)0x08023824 }, { 0xC82, 0, (void*)0x080238F0 }, { 0xC83, 0, (void*)0x08023920 }, - { 0xC84, 0, (void*)0x080239E4 }, { 0xC85, 0, (void*)0x08023B24 }, { 0xC86, 0, (void*)0x08023B58 }, - { 0xC87, 0, (void*)0x08023C3C }, { 0xC88, 0, (void*)0x08023CF0 }, { 0xC89, 0, (void*)0x08023D44 }, - { 0xC8A, 0, (void*)0x08023D80 }, { 0xC8B, 0, (void*)0x08023DB0 }, { 0xC8C, 0, (void*)0x08023E0C }, - { 0xC8D, 0, (void*)0x08023E60 }, { 0xC8E, 0, (void*)0x08023E90 }, { 0xC8F, 0, (void*)0x08023F40 }, - { 0xC90, 0, (void*)0x08023FA0 }, { 0xC91, 0, (void*)0x0802400C }, { 0xC92, 0, (void*)0x08024058 }, - { 0xC93, 0, (void*)0x080240D0 }, { 0xC94, 0, (void*)0x0802410C }, { 0xCE4, 0, (void*)0x08024164 }, - { 0xCE5, 0, (void*)0x080241D4 }, { 0xCE6, 0, (void*)0x08024254 }, { 0xCE7, 0, (void*)0x08024304 }, - { 0xCE8, 0, (void*)0x08024330 }, { 0xCE9, 0, (void*)0x08024360 }, { 0xCEA, 0, (void*)0x0802444C }, - { 0xCEB, 0, (void*)0x08024470 }, { 0xCEC, 0, (void*)0x080244E8 }, { 0xCED, 0, (void*)0x08024548 }, - { 0xCEE, 0, (void*)0x08024634 }, { 0xCEF, 0, (void*)0x08024718 }, { 0xCF0, 0, (void*)0x0802476C }, - { 0xCF1, 0, (void*)0x080247F8 }, { 0xCF2, 0, (void*)0x0802483C }, { 0xCF3, 0, (void*)0x08024880 }, - { 0xCF4, 0, (void*)0x08024918 }, { 0xCF5, 0, (void*)0x08024994 }, { 0xCF6, 0, (void*)0x08024B58 }, - { 0xCF7, 0, (void*)0x08024BD8 }, { 0xCF8, 0, (void*)0x08024C84 }, { 0xCF9, 0, (void*)0x08024D10 }, - { 0xCFA, 0, (void*)0x08024D44 }, { 0xCFB, 0, (void*)0x08024D8C }, { 0xCFC, 0, (void*)0x08024DB8 }, - { 0xCFD, 0, (void*)0x08024DFC }, { 0xCFE, 0, (void*)0x08024E6C }, { 0xCFF, 0, (void*)0x08024EA4 }, - { 0xD00, 0, (void*)0x08024ED4 }, { 0xD01, 0, (void*)0x08024F4C }, { 0xD02, 0, (void*)0x08024F8C }, - { 0xD03, 0, (void*)0x08024FDC }, { 0xD04, 0, (void*)0x08025040 }, { 0xD05, 0, (void*)0x080250D8 }, - { 0xD06, 0, (void*)0x08025100 }, { 0xD07, 0, (void*)0x08025134 }, { 0xD08, 0, (void*)0x0802516C }, - { 0xD09, 0, (void*)0x080251B4 }, { 0xD0A, 0, (void*)0x080251E0 }, { 0xD0B, 0, (void*)0x08025260 }, - { 0xD0C, 0, (void*)0x080252AC }, { 0xD0D, 0, (void*)0x080252E4 }, { 0xD0E, 0, (void*)0x08025330 }, - { 0xD0F, 0, (void*)0x08025358 }, { 0xD10, 0, (void*)0x08025394 }, { 0xD11, 0, (void*)0x080253C8 }, - { 0xD12, 0, (void*)0x08025434 }, { 0xD13, 0, (void*)0x0802547C }, { 0xD14, 0, (void*)0x080254C0 }, - { 0xD15, 0, (void*)0x0802550C }, { 0xD16, 0, (void*)0x08025550 }, { 0xD17, 0, (void*)0x080255A4 }, - { 0xD18, 0, (void*)0x080255DC }, { 0xD19, 0, (void*)0x080255FC }, { 0xD1A, 0, (void*)0x0802563C }, - { 0xD1B, 0, (void*)0x080256C8 }, { 0xD1C, 0, (void*)0x08025708 }, { 0xD1D, 0, (void*)0x0802575C }, - { 0xD1E, 0, (void*)0x080257B8 }, { 0xD1F, 0, (void*)0x08025814 }, { 0xD20, 0, (void*)0x08025874 }, - { 0xD21, 0, (void*)0x080258EC }, { 0xD48, 0, (void*)0x08025960 }, { 0xD49, 0, (void*)0x0802597C }, - { 0xD4A, 0, (void*)0x080259B8 }, { 0xD4B, 0, (void*)0x080259F8 }, { 0xD4C, 0, (void*)0x08025A9C }, - { 0xD4D, 0, (void*)0x08025AF4 }, { 0xD4E, 0, (void*)0x08025B4C }, { 0xD4F, 0, (void*)0x08025B80 }, - { 0xD5E, 0, (void*)0x08025BBC }, { 0xD5F, 0, (void*)0x08025BD8 }, { 0xD60, 0, (void*)0x08025BFC }, - { 0xD61, 0, (void*)0x08025C3C }, { 0xD62, 0, (void*)0x08025C7C }, { 0xD63, 0, (void*)0x08025CE0 }, - { 0xD64, 0, (void*)0x08025D64 }, { 0xD65, 0, (void*)0x08025D90 }, { 0xD66, 0, (void*)0x08025DC0 }, - { 0xD67, 0, (void*)0x08025E34 }, { 0xD68, 0, (void*)0x08025E74 }, { 0xD69, 0, (void*)0x08025EB0 }, - { 0xD6A, 0, (void*)0x08025EE4 }, { 0xD6B, 0, (void*)0x08025F14 }, { 0xD6C, 0, (void*)0x08025F4C }, - { 0xD6D, 0, (void*)0x08025F9C }, { 0xD6E, 0, (void*)0x08025FEC }, { 0xD6F, 0, (void*)0x08026024 }, - { 0xD70, 0, (void*)0x08026064 }, { 0xD71, 0, (void*)0x080260D4 }, { 0xD72, 0, (void*)0x0802613C }, - { 0xD73, 0, (void*)0x08026190 }, { 0xD74, 0, (void*)0x080261E4 }, { 0xD75, 0, (void*)0x0802621C }, - { 0xD76, 0, (void*)0x0802626C }, { 0xD77, 0, (void*)0x08026354 }, { 0xD78, 0, (void*)0x0802637C }, - { 0xD79, 0, (void*)0x080263C8 }, { 0xD7A, 0, (void*)0x08026444 }, { 0xD7B, 0, (void*)0x08026490 }, - { 0xD7C, 0, (void*)0x080264EC }, { 0xD7D, 0, (void*)0x08026548 }, { 0xD7E, 0, (void*)0x08026598 }, - { 0xD7F, 0, (void*)0x080265C4 }, { 0xD80, 0, (void*)0x080265F8 }, { 0xD81, 0, (void*)0x08026628 }, - { 0xD82, 0, (void*)0x08026658 }, { 0xD83, 0, (void*)0x08026688 }, { 0xD84, 0, (void*)0x080266D0 }, - { 0xD85, 0, (void*)0x08026728 }, { 0xD86, 0, (void*)0x08026770 }, { 0xD87, 0, (void*)0x080267B4 }, - { 0xD88, 0, (void*)0x08026850 }, { 0xD89, 0, (void*)0x080268B0 }, { 0xD8A, 0, (void*)0x08026998 }, - { 0xD8B, 0, (void*)0x08026A5C }, { 0xDAC, 0, (void*)0x08026AA0 }, { 0xDAD, 0, (void*)0x08026AC8 }, - { 0xDAE, 0, (void*)0x08026B04 }, { 0xDAF, 0, (void*)0x08026B9C }, { 0xDB0, 0, (void*)0x08026BDC }, - { 0xDB1, 0, (void*)0x08026C6C }, { 0xDB2, 0, (void*)0x08026CD8 }, { 0xDB3, 0, (void*)0x08026D4C }, - { 0xDB4, 0, (void*)0x08026DB4 }, { 0xDB5, 0, (void*)0x08026E34 }, { 0xDB6, 0, (void*)0x08026EA4 }, - { 0xDB7, 0, (void*)0x08026EBC }, { 0xDB8, 0, (void*)0x08026EE8 }, { 0xDB9, 0, (void*)0x08026F28 }, - { 0xDBA, 0, (void*)0x08026F70 }, { 0xDBB, 0, (void*)0x08026FA0 }, { 0xDBC, 0, (void*)0x0802701C }, - { 0xDBD, 0, (void*)0x08027070 }, { 0xDBE, 0, (void*)0x08027088 }, { 0xDBF, 0, (void*)0x080270BC }, - { 0xDC0, 0, (void*)0x080270E0 }, { 0xDC1, 0, (void*)0x0802713C }, { 0xDC2, 0, (void*)0x08027194 }, - { 0xDC3, 0, (void*)0x08027220 }, { 0xDC4, 0, (void*)0x0802727C }, { 0xDC5, 0, (void*)0x08027300 }, - { 0xDC6, 0, (void*)0x08027334 }, { 0xDC7, 0, (void*)0x08027370 }, { 0xDC8, 0, (void*)0x08027394 }, - { 0xDC9, 0, (void*)0x080273A8 }, { 0xDCA, 0, (void*)0x080273D0 }, { 0xDCB, 0, (void*)0x08027414 }, - { 0xDCC, 0, (void*)0x0802744C }, { 0xDCD, 0, (void*)0x080274BC }, { 0xDCE, 0, (void*)0x08027500 }, - { 0xDCF, 0, (void*)0x080275D4 }, { 0xDD0, 0, (void*)0x0802762C }, { 0xDD1, 0, (void*)0x08027668 }, - { 0xDD2, 0, (void*)0x08027684 }, { 0xDD3, 0, (void*)0x080276D8 }, { 0xDD4, 0, (void*)0x08027710 }, - { 0xDD5, 0, (void*)0x0802773C }, { 0xDD6, 0, (void*)0x08027760 }, { 0xDD7, 0, (void*)0x08027798 }, - { 0xDD8, 0, (void*)0x080277C0 }, { 0xDD9, 0, (void*)0x08027824 }, { 0xDDA, 0, (void*)0x080278AC }, - { 0xDDB, 0, (void*)0x08027934 }, { 0xDDC, 0, (void*)0x08027984 }, { 0xDDD, 0, (void*)0x080279E8 }, - { 0xDDE, 0, (void*)0x08027A70 }, { 0xDDF, 0, (void*)0x08027AE8 }, { 0xDE0, 0, (void*)0x08027B28 }, - { 0xDE1, 0, (void*)0x08027B84 }, { 0xDE2, 0, (void*)0x08027BF4 }, { 0xDE3, 0, (void*)0x08027C40 }, - { 0xDE4, 0, (void*)0x08027C84 }, { 0xDE5, 0, (void*)0x08027CC8 }, { 0xDE6, 0, (void*)0x08027D3C }, - { 0xDE7, 0, (void*)0x08027D8C }, { 0xDE8, 0, (void*)0x08027DBC }, { 0xDE9, 0, (void*)0x08027DEC }, - { 0xDEA, 0, (void*)0x08027E78 }, { 0xDEB, 0, (void*)0x08027EBC }, { 0xDEC, 0, (void*)0x08027EE4 }, - { 0xDED, 0, (void*)0x08027F4C }, { 0xDEE, 0, (void*)0x08027F9C }, { 0xDEF, 0, (void*)0x0802800C }, - { 0xDF0, 0, (void*)0x08028058 }, { 0xDF1, 0, (void*)0x080280A4 }, { 0xDF2, 0, (void*)0x080280DC }, - { 0xDF3, 0, (void*)0x08028134 }, { 0xDF4, 0, (void*)0x080281B0 }, { 0xDF5, 0, (void*)0x080281E8 }, - { 0xDF6, 0, (void*)0x08028234 }, { 0xDF7, 0, (void*)0x08028264 }, { 0xDF8, 0, (void*)0x080282C0 }, - { 0xDF9, 0, (void*)0x080282F8 }, { 0xDFA, 0, (void*)0x08028378 }, { 0xDFB, 0, (void*)0x080283C4 }, - { 0xDFC, 0, (void*)0x080283FC }, { 0xDFD, 0, (void*)0x08028444 }, { 0xDFE, 0, (void*)0x08028478 }, - { 0xDFF, 0, (void*)0x080284BC }, { 0xE02, 0, (void*)0x080284F4 }, { 0xE03, 0, (void*)0x08028540 }, - { 0xE04, 0, (void*)0x08028588 }, { 0xE05, 0, (void*)0x080285C8 }, { 0xE06, 0, (void*)0x08028604 }, - { 0xE07, 0, (void*)0x08028620 }, { 0xE10, 0, (void*)0x08028670 }, { 0xE11, 0, (void*)0x080286AC }, - { 0xE12, 0, (void*)0x08028744 }, { 0xE13, 0, (void*)0x080287C4 }, { 0xE14, 0, (void*)0x0802885C }, - { 0xE15, 0, (void*)0x08028940 }, { 0xE16, 0, (void*)0x080289D4 }, { 0xE17, 0, (void*)0x08028A20 }, - { 0xE18, 0, (void*)0x08028A58 }, { 0xE19, 0, (void*)0x08028AA8 }, { 0xE1A, 0, (void*)0x08028B5C }, - { 0xE1B, 0, (void*)0x08028B8C }, { 0xE1C, 0, (void*)0x08028BF0 }, { 0xE1D, 0, (void*)0x08028C38 }, - { 0xE1E, 0, (void*)0x08028C98 }, { 0xE1F, 0, (void*)0x08028CBC }, { 0xE20, 0, (void*)0x08028D10 }, - { 0xE21, 0, (void*)0x08028D28 }, { 0xE22, 0, (void*)0x08028D68 }, { 0xE23, 0, (void*)0x08028DC8 }, - { 0xE24, 0, (void*)0x08028E24 }, { 0xE25, 0, (void*)0x08028E44 }, { 0xE26, 0, (void*)0x08028E88 }, - { 0xE27, 0, (void*)0x08028ED0 }, { 0xE28, 0, (void*)0x08028EEC }, { 0xE29, 0, (void*)0x08028F40 }, - { 0xE2A, 0, (void*)0x08028F9C }, { 0xE2B, 0, (void*)0x08029010 }, { 0xE2C, 0, (void*)0x08029078 }, - { 0xE2D, 0, (void*)0x08029104 }, { 0xE2E, 0, (void*)0x08029174 }, { 0xE2F, 0, (void*)0x080291D4 }, - { 0xE30, 0, (void*)0x08029238 }, { 0xE31, 0, (void*)0x080292B8 }, { 0xE32, 0, (void*)0x0802933C }, - { 0xE42, 0, (void*)0x0802939C }, { 0xE43, 0, (void*)0x080293FC }, { 0xE44, 0, (void*)0x08029428 }, - { 0xE45, 0, (void*)0x080294A8 }, { 0xE46, 0, (void*)0x08029500 }, { 0xE47, 0, (void*)0x080295A0 }, - { 0xE48, 0, (void*)0x080295C4 }, { 0xE49, 0, (void*)0x08029634 }, { 0xE4A, 0, (void*)0x0802969C }, - { 0xE4B, 0, (void*)0x08029704 }, { 0xE4C, 0, (void*)0x08029774 }, { 0xE4D, 0, (void*)0x080297D4 }, - { 0xE4E, 0, (void*)0x08029860 }, { 0xE4F, 0, (void*)0x080298C8 }, { 0xE50, 0, (void*)0x08029948 }, - { 0xE51, 0, (void*)0x080299D0 }, { 0xE52, 0, (void*)0x08029A30 }, { 0xE74, 0, (void*)0x08029AC0 }, - { 0xE75, 0, (void*)0x08029B20 }, { 0xE76, 0, (void*)0x08029B74 }, { 0xE77, 0, (void*)0x08029BD4 }, - { 0xE78, 0, (void*)0x08029C48 }, { 0xE79, 0, (void*)0x08029C9C }, { 0xE7A, 0, (void*)0x08029CB0 }, - { 0xE7B, 0, (void*)0x08029CCC }, { 0xE7C, 0, (void*)0x08029D58 }, { 0xE7D, 0, (void*)0x08029DAC }, - { 0xE7E, 0, (void*)0x08029DC0 }, { 0xE7F, 0, (void*)0x08029E10 }, { 0xE80, 0, (void*)0x08029E74 }, - { 0xE81, 0, (void*)0x08029ED4 }, { 0xE82, 0, (void*)0x08029F2C }, { 0xE83, 0, (void*)0x08029F54 }, - { 0xE84, 0, (void*)0x08029FCC }, { 0xE85, 0, (void*)0x0802A03C }, { 0xE86, 0, (void*)0x0802A090 }, - { 0xE87, 0, (void*)0x0802A0D8 }, { 0xE88, 0, (void*)0x0802A128 }, { 0xE89, 0, (void*)0x0802A1BC }, - { 0xE8A, 0, (void*)0x0802A1F4 }, { 0xE8B, 0, (void*)0x0802A260 }, { 0xE8C, 0, (void*)0x0802A2A4 }, - { 0xE8D, 0, (void*)0x0802A2F4 }, { 0xE8E, 0, (void*)0x0802A334 }, { 0xE8F, 0, (void*)0x0802A37C }, - { 0xE90, 0, (void*)0x0802A3DC }, { 0xE91, 0, (void*)0x0802A448 }, { 0xE92, 0, (void*)0x0802A47C }, - { 0xE93, 0, (void*)0x0802A4A8 }, { 0xE94, 0, (void*)0x0802A550 }, { 0xE95, 0, (void*)0x0802A5B0 }, - { 0xE97, 0, (void*)0x0802A608 }, { 0xE98, 0, (void*)0x0802A69C }, { 0xE99, 0, (void*)0x0802A6F0 }, - { 0xFA0, 0, (void*)0x0802A760 }, { 0xFA1, 0, (void*)0x0802A79C }, { 0xFA2, 0, (void*)0x0802A7F4 }, - { 0xFA3, 0, (void*)0x0802A84C }, { 0xFA4, 0, (void*)0x0802A8F4 }, { 0xFA5, 0, (void*)0x0802AA24 }, - { 0xFA6, 0, (void*)0x0802AAA0 }, { 0xFA7, 0, (void*)0x0802AB04 }, { 0xFA8, 0, (void*)0x0802ABA0 }, - { 0xFA9, 0, (void*)0x0802AC08 }, { 0xFAA, 0, (void*)0x0802ACA4 }, { 0xFAB, 0, (void*)0x0802AD1C }, - { 0xFAC, 0, (void*)0x0802AD8C }, { 0xFAD, 0, (void*)0x0802ADF4 }, { 0xFAE, 0, (void*)0x0802AE90 }, - { 0xFAF, 0, (void*)0x0802AF00 }, { 0xFB0, 0, (void*)0x0802AF70 }, { 0xFB1, 0, (void*)0x0802B018 }, - { 0xFB2, 0, (void*)0x0802B0B8 }, { 0xFB3, 0, (void*)0x0802B110 }, { 0xFB4, 0, (void*)0x0802B190 }, - { 0xFB5, 0, (void*)0x0802B24C }, { 0xFB6, 0, (void*)0x0802B288 }, { 0xFB7, 0, (void*)0x0802B2E4 }, - { 0xFB8, 0, (void*)0x0802B314 }, { 0xFB9, 0, (void*)0x0802B39C }, { 0xFBA, 0, (void*)0x0802B40C }, - { 0xFBB, 0, (void*)0x0802B488 }, { 0xFBC, 0, (void*)0x0802B4EC }, { 0xFBD, 0, (void*)0x0802B598 }, - { 0xFBE, 0, (void*)0x0802B650 }, { 0xFBF, 0, (void*)0x0802B6F8 }, { 0x1004, 0, (void*)0x0802B750 }, - { 0x1005, 0, (void*)0x0802B778 }, { 0x1006, 0, (void*)0x0802B7A0 }, { 0x1007, 0, (void*)0x0802B7C8 }, - { 0x1008, 0, (void*)0x0802B7EC }, { 0x1009, 0, (void*)0x0802B84C }, { 0x100A, 0, (void*)0x0802B890 }, - { 0x100B, 0, (void*)0x0802B8D8 }, { 0x100C, 0, (void*)0x0802B908 }, { 0x100D, 0, (void*)0x0802B97C }, - { 0x100E, 0, (void*)0x0802BA00 }, { 0x100F, 0, (void*)0x0802BA54 }, { 0x1010, 0, (void*)0x0802BAC0 }, - { 0x1011, 0, (void*)0x0802BB28 }, { 0x1012, 0, (void*)0x0802BB94 }, { 0x1013, 0, (void*)0x0802BC18 }, - { 0x1014, 0, (void*)0x0802BC44 }, { 0x1015, 0, (void*)0x0802BC88 }, { 0x1016, 0, (void*)0x0802BCE0 }, - { 0x1017, 0, (void*)0x0802BD24 }, { 0x1018, 0, (void*)0x0802BD8C }, { 0x1019, 0, (void*)0x0802BE18 }, - { 0x101A, 0, (void*)0x0802BE80 }, { 0x101B, 0, (void*)0x0802BF84 }, { 0x101C, 0, (void*)0x0802C048 }, - { 0x101D, 0, (void*)0x0802C064 }, { 0x101E, 0, (void*)0x0802C15C }, { 0x101F, 0, (void*)0x0802C284 }, - { 0x1020, 0, (void*)0x0802C3BC }, { 0x1021, 0, (void*)0x0802C3D4 }, { 0x1022, 0, (void*)0x0802C438 }, - { 0x1023, 0, (void*)0x0802C470 }, { 0x1024, 0, (void*)0x0802C494 }, { 0x1025, 0, (void*)0x0802C4C4 }, - { 0x1026, 0, (void*)0x0802C4F8 }, { 0x1027, 0, (void*)0x0802C564 }, { 0x1028, 0, (void*)0x0802C5F8 }, - { 0x1029, 0, (void*)0x0802C67C }, { 0x102A, 0, (void*)0x0802C6DC }, { 0x102B, 0, (void*)0x0802C73C }, - { 0x102C, 0, (void*)0x0802C798 }, { 0x102D, 0, (void*)0x0802C824 }, { 0x102E, 0, (void*)0x0802C87C }, - { 0x102F, 0, (void*)0x0802C8B8 }, { 0x1030, 0, (void*)0x0802C928 }, { 0x1031, 0, (void*)0x0802CA60 }, - { 0x1032, 0, (void*)0x0802CAB4 }, { 0x1033, 0, (void*)0x0802CB00 }, { 0x1034, 0, (void*)0x0802CB3C }, - { 0x1035, 0, (void*)0x0802CB94 }, { 0x1036, 0, (void*)0x0802CBF0 }, { 0x1037, 0, (void*)0x0802CC28 }, - { 0x1038, 0, (void*)0x0802CC80 }, { 0x1039, 0, (void*)0x0802CCE0 }, { 0x103A, 0, (void*)0x0802CD30 }, - { 0x103B, 0, (void*)0x0802CD64 }, { 0x103C, 0, (void*)0x0802CDDC }, { 0x1068, 0, (void*)0x0802CE10 }, - { 0x1069, 0, (void*)0x0802CE64 }, { 0x106A, 0, (void*)0x0802CF30 }, { 0x106B, 0, (void*)0x0802CF90 }, - { 0x106C, 0, (void*)0x0802CFD4 }, { 0x106D, 0, (void*)0x0802D07C }, { 0x106E, 0, (void*)0x0802D0C0 }, - { 0x106F, 0, (void*)0x0802D110 }, { 0x1070, 0, (void*)0x0802D178 }, { 0x1071, 0, (void*)0x0802D1C4 }, - { 0x1072, 0, (void*)0x0802D234 }, { 0x1073, 0, (void*)0x0802D27C }, { 0x1074, 0, (void*)0x0802D2BC }, - { 0x1075, 0, (void*)0x0802D314 }, { 0x1076, 0, (void*)0x0802D354 }, { 0x1077, 0, (void*)0x0802D3AC }, - { 0x1078, 0, (void*)0x0802D3F0 }, { 0x1079, 0, (void*)0x0802D434 }, { 0x107A, 0, (void*)0x0802D4AC }, - { 0x107B, 0, (void*)0x0802D4EC }, { 0x107C, 0, (void*)0x0802D554 }, { 0x107D, 0, (void*)0x0802D5A8 }, - { 0x107E, 0, (void*)0x0802D5FC }, { 0x107F, 0, (void*)0x0802D69C }, { 0x1080, 0, (void*)0x0802D6E8 }, - { 0x1081, 0, (void*)0x0802D744 }, { 0x1082, 0, (void*)0x0802D7A4 }, { 0x1083, 0, (void*)0x0802D7EC }, - { 0x1084, 0, (void*)0x0802D82C }, { 0x1085, 0, (void*)0x0802D8B0 }, { 0x1086, 0, (void*)0x0802D8F0 }, - { 0x1087, 0, (void*)0x0802D954 }, { 0x1088, 0, (void*)0x0802D9DC }, { 0x1089, 0, (void*)0x0802DA24 }, - { 0x108A, 0, (void*)0x0802DA8C }, { 0x108B, 0, (void*)0x0802DACC }, { 0x108C, 0, (void*)0x0802DB30 }, - { 0x108D, 0, (void*)0x0802DBA0 }, { 0x108E, 0, (void*)0x0802DBF4 }, { 0x108F, 0, (void*)0x0802DC28 }, - { 0x1090, 0, (void*)0x0802DC94 }, { 0x1091, 0, (void*)0x0802DCFC }, { 0x1092, 0, (void*)0x0802DDC0 }, - { 0x1093, 0, (void*)0x0802DE18 }, { 0x1094, 0, (void*)0x0802DEA0 }, { 0x1095, 0, (void*)0x0802DF10 }, - { 0x1096, 0, (void*)0x0802DF78 }, { 0x1097, 0, (void*)0x0802DFE0 }, { 0x1098, 0, (void*)0x0802E024 }, - { 0x1099, 0, (void*)0x0802E088 }, { 0x109A, 0, (void*)0x0802E170 }, { 0x109B, 0, (void*)0x0802E1F8 }, - { 0x109C, 0, (void*)0x0802E240 }, { 0x109D, 0, (void*)0x0802E290 }, { 0x109E, 0, (void*)0x0802E2D8 }, - { 0x109F, 0, (void*)0x0802E308 }, { 0x10A0, 0, (void*)0x0802E364 }, { 0x10A1, 0, (void*)0x0802E3B8 }, - { 0x10A2, 0, (void*)0x0802E3DC }, { 0x10A3, 0, (void*)0x0802E480 }, { 0x10A4, 0, (void*)0x0802E4D4 }, - { 0x10A5, 0, (void*)0x0802E53C }, { 0x10A6, 0, (void*)0x0802E624 }, { 0x10A7, 0, (void*)0x0802E68C }, - { 0x10A8, 0, (void*)0x0802E738 }, { 0x10A9, 0, (void*)0x0802E78C }, { 0x10CE, 0, (void*)0x0802E830 }, - { 0x10CF, 0, (void*)0x0802E878 }, { 0x10D0, 0, (void*)0x0802E8CC }, { 0x10D1, 0, (void*)0x0802E90C }, - { 0x10D2, 0, (void*)0x0802E970 }, { 0x10D3, 0, (void*)0x0802E9A4 }, { 0x10D4, 0, (void*)0x0802E9D0 }, - { 0x10D6, 0, (void*)0x0802EA7C }, { 0x10D7, 0, (void*)0x0802EB50 }, { 0x10D8, 0, (void*)0x0802EB6C }, - { 0x10D9, 0, (void*)0x0802EBA0 }, { 0x10DA, 0, (void*)0x0802EBC8 }, { 0x10DB, 0, (void*)0x0802EC10 }, - { 0x10DC, 0, (void*)0x0802EC40 }, { 0x10DD, 0, (void*)0x0802EC6C }, { 0x10DE, 0, (void*)0x0802ECA8 }, - { 0x10DF, 0, (void*)0x0802ECD8 }, { 0x10E0, 0, (void*)0x0802ED14 }, { 0x10E1, 0, (void*)0x0802ED40 }, - { 0x10E2, 0, (void*)0x0802ED68 }, { 0x10E3, 0, (void*)0x0802EDA0 }, { 0x10E4, 0, (void*)0x0802EE18 }, - { 0x10E5, 0, (void*)0x0802EE44 }, { 0x10E6, 0, (void*)0x0802EEB0 }, { 0x10E7, 0, (void*)0x0802EEE8 }, - { 0x10E8, 0, (void*)0x0802EF24 }, { 0x10E9, 0, (void*)0x0802EF84 }, { 0x10EA, 0, (void*)0x0802EFCC }, - { 0x10EB, 0, (void*)0x0802EFF8 }, { 0x10EC, 0, (void*)0x0802F030 }, { 0x10ED, 0, (void*)0x0802F078 }, - { 0x10EE, 0, (void*)0x0802F0B4 }, { 0x10EF, 0, (void*)0x0802F0E0 }, { 0x10F0, 0, (void*)0x0802F110 }, - { 0x10F1, 0, (void*)0x0802F14C }, { 0x10F2, 0, (void*)0x0802F184 }, { 0x10F3, 0, (void*)0x0802F1A8 }, - { 0x10F4, 0, (void*)0x0802F1D4 }, { 0x10F5, 0, (void*)0x0802F204 }, { 0x10F6, 0, (void*)0x0802F258 }, - { 0x10F7, 0, (void*)0x0802F28C }, { 0x10F8, 0, (void*)0x0802F2D4 }, { 0x10F9, 0, (void*)0x0802F30C }, - { 0x10FA, 0, (void*)0x0802F334 }, { 0x10FB, 0, (void*)0x0802F3A8 }, { 0x10FC, 0, (void*)0x0802F3D8 }, - { 0x10FD, 0, (void*)0x0802F408 }, { 0x10FE, 0, (void*)0x0802F44C }, { 0x10FF, 0, (void*)0x0802F484 }, - { 0x1100, 0, (void*)0x0802F4CC }, { 0x1101, 0, (void*)0x0802F500 }, { 0x1102, 0, (void*)0x0802F590 }, - { 0x1103, 0, (void*)0x0802F5CC }, { 0x1104, 0, (void*)0x0802F604 }, { 0x1105, 0, (void*)0x0802F660 }, - { 0x1106, 0, (void*)0x0802F694 }, { 0x1107, 0, (void*)0x0802F6B8 }, { 0x1108, 0, (void*)0x0802F730 }, - { 0x1109, 0, (void*)0x0802F7B4 }, { 0x1130, 0, (void*)0x0802F7D8 }, { 0x1131, 0, (void*)0x0802F7F4 }, - { 0x1132, 0, (void*)0x0802F82C }, { 0x1133, 0, (void*)0x0802F8C0 }, { 0x1134, 0, (void*)0x0802F8E8 }, - { 0x1135, 0, (void*)0x0802F8F4 }, { 0x1136, 0, (void*)0x0802F900 }, { 0x1137, 0, (void*)0x0802F960 }, - { 0x1138, 0, (void*)0x0802F9D0 }, { 0x1139, 0, (void*)0x0802FA70 }, { 0x113A, 0, (void*)0x0802FB2C }, - { 0x113B, 0, (void*)0x0802FB64 }, { 0x113C, 0, (void*)0x0802FBF4 }, { 0x113D, 0, (void*)0x0802FC4C }, - { 0x113E, 0, (void*)0x0802FCA0 }, { 0x113F, 0, (void*)0x0802FD10 }, { 0x1140, 0, (void*)0x0802FDA8 }, - { 0x1141, 0, (void*)0x0802FE38 }, { 0x1142, 0, (void*)0x0802FE7C }, { 0x1143, 0, (void*)0x0802FEBC }, - { 0x1144, 0, (void*)0x0802FEF8 }, { 0x1145, 0, (void*)0x0802FF58 }, { 0x1146, 0, (void*)0x0802FFB4 }, - { 0x1147, 0, (void*)0x08030004 }, { 0x1148, 0, (void*)0x08030018 }, { 0x1149, 0, (void*)0x080300B8 }, - { 0x114A, 0, (void*)0x08030114 }, { 0x114B, 0, (void*)0x08030170 }, { 0x114C, 0, (void*)0x080301CC }, - { 0x114D, 0, (void*)0x08030228 }, { 0x114E, 0, (void*)0x08030284 }, { 0x114F, 0, (void*)0x080302E0 }, - { 0x1150, 0, (void*)0x08030318 }, { 0x1151, 0, (void*)0x080303C8 }, { 0x1152, 0, (void*)0x080303DC }, - { 0x1194, 0, (void*)0x08030438 }, { 0x1195, 0, (void*)0x08030458 }, { 0x1196, 0, (void*)0x080304AC }, - { 0x1197, 0, (void*)0x080304E0 }, { 0x1198, 0, (void*)0x08030578 }, { 0x1199, 0, (void*)0x080305E4 }, - { 0x119A, 0, (void*)0x080305FC }, { 0x119B, 0, (void*)0x08030638 }, { 0x119C, 0, (void*)0x080306D0 }, - { 0x119D, 0, (void*)0x08030748 }, { 0x119E, 0, (void*)0x08030770 }, { 0x119F, 0, (void*)0x08030784 }, - { 0x11A0, 0, (void*)0x080307EC }, { 0x11A1, 0, (void*)0x08030828 }, { 0x11A2, 0, (void*)0x080308E0 }, - { 0x11A3, 0, (void*)0x08030918 }, { 0x11A4, 0, (void*)0x08030934 }, { 0x11A5, 0, (void*)0x08030948 }, - { 0x11A6, 0, (void*)0x080309BC }, { 0x11A7, 0, (void*)0x080309E8 }, { 0x11A8, 0, (void*)0x08030A38 }, - { 0x11A9, 0, (void*)0x08030A60 }, { 0x11AA, 0, (void*)0x08030AA0 }, { 0x11AB, 0, (void*)0x08030ADC }, - { 0x11AC, 0, (void*)0x08030B10 }, { 0x11AD, 0, (void*)0x08030B40 }, { 0x11AE, 0, (void*)0x08030B80 }, - { 0x11AF, 0, (void*)0x08030BB4 }, { 0x11F8, 0, (void*)0x08030BFC }, { 0x11F9, 0, (void*)0x08030C64 }, - { 0x11FA, 0, (void*)0x08030CA0 }, { 0x11FB, 0, (void*)0x08030D28 }, { 0x11FC, 0, (void*)0x08030D58 }, - { 0x11FD, 0, (void*)0x08030E14 }, { 0x11FE, 0, (void*)0x08030E94 }, { 0x11FF, 0, (void*)0x08030F2C }, - { 0x1200, 0, (void*)0x08030F6C }, { 0x1201, 0, (void*)0x08031004 }, { 0x1202, 0, (void*)0x08031038 }, - { 0x1203, 0, (void*)0x080310A4 }, { 0x1204, 0, (void*)0x08031110 }, { 0x1205, 0, (void*)0x08031154 }, - { 0x1206, 0, (void*)0x080311EC }, { 0x1207, 0, (void*)0x08031230 }, { 0x1208, 0, (void*)0x08031290 }, - { 0x1209, 0, (void*)0x080312C4 }, { 0x120A, 0, (void*)0x08031304 }, { 0x120B, 0, (void*)0x08031320 }, - { 0x120C, 0, (void*)0x08031348 }, { 0x120D, 0, (void*)0x08031390 }, { 0x120E, 0, (void*)0x080313DC }, - { 0x120F, 0, (void*)0x08031470 }, { 0x1210, 0, (void*)0x08031498 }, { 0x1211, 0, (void*)0x08031520 }, - { 0x1212, 0, (void*)0x08031580 }, { 0x1213, 0, (void*)0x080315A8 }, { 0x1214, 0, (void*)0x08031644 }, - { 0x1215, 0, (void*)0x080316AC }, { 0x1216, 0, (void*)0x08031708 }, { 0x1217, 0, (void*)0x0803176C }, - { 0x1218, 0, (void*)0x080317BC }, { 0x1219, 0, (void*)0x080317E8 }, { 0x121A, 0, (void*)0x08031834 }, - { 0x121B, 0, (void*)0x080318B8 }, { 0x121C, 0, (void*)0x08031900 }, { 0x121D, 0, (void*)0x08031930 }, - { 0x121E, 0, (void*)0x08031984 }, { 0x121F, 0, (void*)0x080319C8 }, { 0x1220, 0, (void*)0x08031A08 }, - { 0x1221, 0, (void*)0x08031A7C }, { 0x1222, 0, (void*)0x08031AFC }, { 0x1223, 0, (void*)0x08031B68 }, - { 0x1224, 0, (void*)0x08031BC0 }, { 0x1225, 0, (void*)0x08031C10 }, { 0x1226, 0, (void*)0x08031CD4 }, - { 0x1227, 0, (void*)0x08031D38 }, { 0x1228, 0, (void*)0x08031DC0 }, { 0x1229, 0, (void*)0x08031E00 }, - { 0x122A, 0, (void*)0x08031E54 }, { 0x122B, 0, (void*)0x08031E80 }, { 0x122C, 0, (void*)0x08031EF8 }, - { 0x122D, 0, (void*)0x08031F1C }, { 0x122E, 0, (void*)0x08031FA4 }, { 0x122F, 0, (void*)0x0803202C }, - { 0x1230, 0, (void*)0x08032050 }, { 0x1231, 0, (void*)0x0803210C }, { 0x1232, 0, (void*)0x08032148 }, - { 0x1233, 0, (void*)0x080321B4 }, { 0x1234, 0, (void*)0x08032200 }, { 0x1235, 0, (void*)0x08032250 }, - { 0x1236, 0, (void*)0x080322C4 }, { 0x1237, 0, (void*)0x08032330 }, { 0x1238, 0, (void*)0x08032364 }, - { 0x1239, 0, (void*)0x08032414 }, { 0x123A, 0, (void*)0x08032464 }, { 0x123B, 0, (void*)0x08032504 }, - { 0x123C, 0, (void*)0x08032550 }, { 0x123D, 0, (void*)0x080325A4 }, { 0x123E, 0, (void*)0x08032638 }, - { 0x123F, 0, (void*)0x08032698 }, { 0x1240, 0, (void*)0x080326FC }, { 0x1241, 0, (void*)0x080327D4 }, - { 0x1242, 0, (void*)0x0803284C }, { 0x1243, 0, (void*)0x08032904 }, { 0x1244, 0, (void*)0x08032964 }, - { 0x1245, 0, (void*)0x080329B8 }, { 0x1246, 0, (void*)0x080329E4 }, { 0x1247, 0, (void*)0x08032A54 }, - { 0x1248, 0, (void*)0x08032AC0 }, { 0x1249, 0, (void*)0x08032B08 }, { 0x124A, 0, (void*)0x08032B68 }, - { 0x124B, 0, (void*)0x08032BC4 }, { 0x124C, 0, (void*)0x08032BE0 }, { 0x124D, 0, (void*)0x08032C24 }, - { 0x124E, 0, (void*)0x08032C68 }, { 0x124F, 0, (void*)0x08032CD8 }, { 0x1250, 0, (void*)0x08032D1C }, - { 0x1251, 0, (void*)0x08032D6C }, { 0x1252, 0, (void*)0x08032DE4 }, { 0x1253, 0, (void*)0x08032E0C }, - { 0x1254, 0, (void*)0x08032E60 }, { 0x1255, 0, (void*)0x08032EC4 }, { 0x1256, 0, (void*)0x08032F38 }, - { 0x1257, 0, (void*)0x08032F7C }, { 0x1258, 0, (void*)0x08032FF4 }, { 0x1259, 0, (void*)0x08033030 }, - { 0x125A, 0, (void*)0x080330BC }, { 0x125B, 0, (void*)0x080330F8 }, { 0x125C, 0, (void*)0x0803319C }, - { 0x125D, 0, (void*)0x08033224 }, { 0x125E, 0, (void*)0x080332D0 }, { 0x125F, 0, (void*)0x08033358 }, - { 0x1260, 0, (void*)0x080333CC }, { 0x1261, 0, (void*)0x08033410 }, { 0x1262, 0, (void*)0x08033450 }, - { 0x1263, 0, (void*)0x080334BC }, { 0x1264, 0, (void*)0x080334F4 }, { 0x1265, 0, (void*)0x0803353C }, - { 0x1266, 0, (void*)0x08033588 }, { 0x1267, 0, (void*)0x080335F4 }, { 0x1268, 0, (void*)0x08033678 }, - { 0x1269, 0, (void*)0x0803370C }, { 0x126A, 0, (void*)0x08033778 }, { 0x126B, 0, (void*)0x080337CC }, - { 0x126C, 0, (void*)0x08033830 }, { 0x126D, 0, (void*)0x080338B0 }, { 0x126E, 0, (void*)0x08033934 }, - { 0x126F, 0, (void*)0x0803397C }, { 0x1270, 0, (void*)0x080339F0 }, { 0x1271, 0, (void*)0x08033A14 }, - { 0x1272, 0, (void*)0x08033A44 }, { 0x1273, 0, (void*)0x08033A88 }, { 0x1274, 0, (void*)0x08033AE0 }, - { 0x1275, 0, (void*)0x08033B74 }, { 0x1276, 0, (void*)0x08033BC0 }, { 0x1277, 0, (void*)0x08033C24 }, - { 0x1278, 0, (void*)0x08033CA0 }, { 0x1279, 0, (void*)0x08033D10 }, { 0x127A, 0, (void*)0x08033D80 }, - { 0x127B, 0, (void*)0x08033DB4 }, { 0x127C, 0, (void*)0x08033E18 }, { 0x127D, 0, (void*)0x08033E68 }, - { 0x127E, 0, (void*)0x08033EB4 }, { 0x127F, 0, (void*)0x08033F04 }, { 0x1280, 0, (void*)0x08033F58 }, - { 0x1281, 0, (void*)0x08033FB8 }, { 0x1282, 0, (void*)0x08034014 }, { 0x1283, 0, (void*)0x08034044 }, - { 0x1284, 0, (void*)0x0803409C }, { 0x1285, 0, (void*)0x080340EC }, { 0x1286, 0, (void*)0x08034140 }, - { 0x1287, 0, (void*)0x080341A0 }, { 0x1288, 0, (void*)0x08034204 }, { 0x1289, 0, (void*)0x08034248 }, - { 0x128A, 0, (void*)0x080342A8 }, { 0x128B, 0, (void*)0x080342E0 }, { 0x128C, 0, (void*)0x08034314 }, - { 0x128D, 0, (void*)0x08034340 }, { 0x128E, 0, (void*)0x08034368 }, { 0x128F, 0, (void*)0x080343C8 }, - { 0x1290, 0, (void*)0x0803445C }, { 0x1291, 0, (void*)0x080344E8 }, { 0x1292, 0, (void*)0x08034528 }, - { 0x1293, 0, (void*)0x08034538 }, { 0x1294, 0, (void*)0x08034578 }, { 0x1295, 0, (void*)0x080345C4 }, - { 0x1296, 0, (void*)0x08034618 }, { 0x1297, 0, (void*)0x08034680 }, { 0x1298, 0, (void*)0x080346AC }, - { 0x1299, 0, (void*)0x08034728 }, { 0x129A, 0, (void*)0x0803479C }, { 0x129B, 0, (void*)0x08034808 }, - { 0x129C, 0, (void*)0x08034854 }, { 0x129D, 0, (void*)0x08034888 }, { 0x129E, 0, (void*)0x080348B4 }, - { 0x129F, 0, (void*)0x080348FC }, { 0x12A0, 0, (void*)0x08034938 }, { 0x12A1, 0, (void*)0x08034984 }, - { 0x12A2, 0, (void*)0x080349C4 }, { 0x12A3, 0, (void*)0x08034A24 }, { 0x12A4, 0, (void*)0x08034A80 }, - { 0x12A5, 0, (void*)0x08034AF0 }, { 0x12A6, 0, (void*)0x08034B40 }, { 0x12A7, 0, (void*)0x08034B74 }, - { 0x12A8, 0, (void*)0x08034BCC }, { 0x12A9, 0, (void*)0x08034C2C }, { 0x12AA, 0, (void*)0x08034CA0 }, - { 0x12AB, 0, (void*)0x08034CDC }, { 0x12AC, 0, (void*)0x08034D50 }, { 0x12AD, 0, (void*)0x08034D9C }, - { 0x12AE, 0, (void*)0x08034E10 }, { 0x12AF, 0, (void*)0x08034E40 }, { 0x12B0, 0, (void*)0x08034E70 }, - { 0x12B1, 0, (void*)0x08034EDC }, { 0x12B2, 0, (void*)0x08034F28 }, { 0x12B3, 0, (void*)0x08034F74 }, - { 0x12B4, 0, (void*)0x08034FA0 }, { 0x12B5, 0, (void*)0x08034FF4 }, { 0x12B6, 0, (void*)0x08035018 }, - { 0x12B7, 0, (void*)0x0803504C }, { 0x12B8, 0, (void*)0x08035078 }, { 0x12B9, 0, (void*)0x080350C0 }, - { 0x12BA, 0, (void*)0x080350F0 }, { 0x12BB, 0, (void*)0x08035134 }, { 0x12BC, 0, (void*)0x0803516C }, - { 0x12BD, 0, (void*)0x080351D0 }, { 0x12BE, 0, (void*)0x0803521C }, { 0x12BF, 0, (void*)0x08035288 }, - { 0x12C0, 0, (void*)0x08035308 }, { 0x12C1, 0, (void*)0x0803534C }, { 0x12C2, 0, (void*)0x0803539C }, - { 0x12C3, 0, (void*)0x080353CC }, { 0x12C4, 0, (void*)0x08035410 }, { 0x12C5, 0, (void*)0x08035470 }, - { 0x12C6, 0, (void*)0x080354B8 }, { 0x12C7, 0, (void*)0x08035520 }, { 0x12C8, 0, (void*)0x08035560 }, - { 0x12C9, 0, (void*)0x08035604 }, { 0x12CA, 0, (void*)0x0803566C }, { 0x12CB, 0, (void*)0x080356A4 }, - { 0x12CC, 0, (void*)0x080356E4 }, { 0x12CD, 0, (void*)0x0803577C }, { 0x12CE, 0, (void*)0x080357EC }, - { 0x12CF, 0, (void*)0x0803581C }, { 0x12D0, 0, (void*)0x08035848 }, { 0x12D1, 0, (void*)0x08035888 }, - { 0x12D2, 0, (void*)0x080358D0 }, { 0x12D3, 0, (void*)0x080358E8 }, { 0x12D4, 0, (void*)0x0803590C }, - { 0x12D5, 0, (void*)0x0803592C }, { 0x12D6, 0, (void*)0x0803596C }, { 0x12D7, 0, (void*)0x080359C4 }, - { 0x12D8, 0, (void*)0x08035A10 }, { 0x12D9, 0, (void*)0x08035A80 }, { 0x12DA, 0, (void*)0x08035ADC }, - { 0x12DB, 0, (void*)0x08035B48 }, { 0x12DC, 0, (void*)0x08035BB8 }, { 0x12DD, 0, (void*)0x08035BF8 }, - { 0x12DE, 0, (void*)0x08035C74 }, { 0x12DF, 0, (void*)0x08035CB0 }, { 0x12E0, 0, (void*)0x08035D10 }, - { 0x12E3, 0, (void*)0x08035D4C }, { 0x12E4, 0, (void*)0x08035D70 }, { 0x12E5, 0, (void*)0x08035DAC }, - { 0x12E6, 0, (void*)0x08035DD8 }, { 0x12E7, 0, (void*)0x08035DF4 }, { 0x12E8, 0, (void*)0x08035E0C }, - { 0x12E9, 0, (void*)0x08035E58 }, { 0x12EA, 0, (void*)0x08035ED4 }, { 0x12EB, 0, (void*)0x08035F44 }, - { 0x12EC, 0, (void*)0x08036074 }, { 0x12ED, 0, (void*)0x080360BC }, { 0x12EE, 0, (void*)0x08036104 }, - { 0x12EF, 0, (void*)0x0803613C }, { 0x12F0, 0, (void*)0x080361A0 }, { 0x12F1, 0, (void*)0x080361F0 }, - { 0x12F2, 0, (void*)0x08036248 }, { 0x12F3, 0, (void*)0x08036260 }, { 0x12F4, 0, (void*)0x080362A0 }, - { 0x12F5, 0, (void*)0x08036300 }, { 0x12F6, 0, (void*)0x08036324 }, { 0x12F7, 0, (void*)0x080363A0 }, - { 0x12F8, 0, (void*)0x0803640C }, { 0x12F9, 0, (void*)0x08036474 }, { 0x12FA, 0, (void*)0x080364CC }, - { 0x12FB, 0, (void*)0x08036508 }, { 0x12FC, 0, (void*)0x0803655C }, { 0x12FD, 0, (void*)0x08036578 }, - { 0x12FE, 0, (void*)0x080365D4 }, { 0x12FF, 0, (void*)0x080365F8 }, { 0x1300, 0, (void*)0x08036654 }, - { 0x1301, 0, (void*)0x080366A4 }, { 0x1302, 0, (void*)0x080366F0 }, { 0x1303, 0, (void*)0x08036738 }, - { 0x1304, 0, (void*)0x08036770 }, { 0x1305, 0, (void*)0x080367AC }, { 0x1306, 0, (void*)0x080367F0 }, - { 0x1307, 0, (void*)0x08036830 }, { 0x1308, 0, (void*)0x08036850 }, { 0x1309, 0, (void*)0x0803688C }, - { 0x130A, 0, (void*)0x080368F0 }, { 0x130B, 0, (void*)0x08036924 }, { 0x130C, 0, (void*)0x0803695C }, - { 0x130D, 0, (void*)0x080369A8 }, { 0x130E, 0, (void*)0x080369FC }, { 0x130F, 0, (void*)0x08036A40 }, - { 0x1310, 0, (void*)0x08036A74 }, { 0x1311, 0, (void*)0x08036AB8 }, { 0x1312, 0, (void*)0x08036B14 }, - { 0x1313, 0, (void*)0x08036B4C }, { 0x1314, 0, (void*)0x08036BAC }, { 0x1315, 0, (void*)0x08036C0C }, - { 0x1316, 0, (void*)0x08036C64 }, { 0x1317, 0, (void*)0x08036CBC }, { 0x1318, 0, (void*)0x08036D1C }, - { 0x1319, 0, (void*)0x08036D80 }, { 0x131A, 0, (void*)0x08036DC4 }, { 0x131B, 0, (void*)0x08036E0C }, - { 0x131C, 0, (void*)0x08036E8C }, { 0x131D, 0, (void*)0x08036F14 }, { 0x1388, 0, (void*)0x08036F8C }, - { 0x1389, 0, (void*)0x08036FB4 }, { 0x138A, 0, (void*)0x08036FF8 }, { 0x138B, 0, (void*)0x08037034 }, - { 0x138C, 0, (void*)0x08037060 }, { 0x138D, 0, (void*)0x0803709C }, { 0x138E, 0, (void*)0x0803711C }, - { 0x138F, 0, (void*)0x08037140 }, { 0x1390, 0, (void*)0x08037178 }, { 0x1391, 0, (void*)0x080371AC }, - { 0x1392, 0, (void*)0x08037204 }, { 0x1393, 0, (void*)0x08037234 }, { 0x1394, 0, (void*)0x08037288 }, - { 0x1395, 0, (void*)0x080372BC }, { 0x1396, 0, (void*)0x080372F0 }, { 0x1397, 0, (void*)0x08037310 }, - { 0x1398, 0, (void*)0x08037338 }, { 0x1399, 0, (void*)0x080373C4 }, { 0x139A, 0, (void*)0x08037438 }, - { 0x139B, 0, (void*)0x080374A0 }, { 0x139C, 0, (void*)0x0803751C }, { 0x139D, 0, (void*)0x0803758C }, - { 0x139E, 0, (void*)0x08037620 }, { 0x139F, 0, (void*)0x08037704 }, { 0x13A0, 0, (void*)0x08037764 }, - { 0x13A1, 0, (void*)0x080377F4 }, { 0x13A2, 0, (void*)0x08037838 }, { 0x13A3, 0, (void*)0x08037894 }, - { 0x13A4, 0, (void*)0x08037918 }, { 0x13A5, 0, (void*)0x08037974 }, { 0x13A6, 0, (void*)0x080379CC }, - { 0x13A7, 0, (void*)0x08037A68 }, { 0x13A8, 0, (void*)0x08037ACC }, { 0x13AE, 0, (void*)0x08037B5C }, - { 0x13AF, 0, (void*)0x08037BF8 }, { 0x13B0, 0, (void*)0x08037CE0 }, { 0x13B1, 0, (void*)0x08037D2C }, - { 0x13B2, 0, (void*)0x08037D54 }, { 0x13B3, 0, (void*)0x08037D74 }, { 0x13EC, 0, (void*)0x08037DB8 }, - { 0x13ED, 0, (void*)0x08037DCC }, { 0x13EE, 0, (void*)0x08037E30 }, { 0x13EF, 0, (void*)0x08037EB4 }, - { 0x13F0, 0, (void*)0x08037EF4 }, { 0x13F1, 0, (void*)0x08037F34 }, { 0x13F2, 0, (void*)0x08037F74 }, - { 0x13F3, 0, (void*)0x08037F8C }, { 0x13F4, 0, (void*)0x08037FA4 }, { 0x13F5, 0, (void*)0x08037FC8 }, - { 0x13F6, 0, (void*)0x08037FF8 }, { 0x13F7, 0, (void*)0x0803800C }, { 0x13F8, 0, (void*)0x0803803C }, - { 0x13F9, 0, (void*)0x08038084 }, { 0x13FA, 0, (void*)0x080380C8 }, { 0x13FB, 0, (void*)0x08038108 }, - { 0x13FC, 0, (void*)0x080381A4 }, { 0x13FD, 0, (void*)0x080381FC }, { 0x13FE, 0, (void*)0x08038254 }, - { 0x13FF, 0, (void*)0x080382D8 }, { 0x1400, 0, (void*)0x080383A8 }, { 0x1401, 0, (void*)0x08038504 }, - { 0x1402, 0, (void*)0x080385A8 }, { 0x1403, 0, (void*)0x08038630 }, { 0x1404, 0, (void*)0x0803868C }, - { 0x1405, 0, (void*)0x080386C4 }, { 0x1406, 0, (void*)0x08038728 }, { 0x1407, 0, (void*)0x08038824 }, - { 0x1408, 0, (void*)0x08038844 }, { 0x1409, 0, (void*)0x080388F4 }, { 0x140A, 0, (void*)0x08038984 }, - { 0x140B, 0, (void*)0x080389D0 }, { 0x140C, 0, (void*)0x08038A3C }, { 0x140D, 0, (void*)0x08038A88 }, - { 0x140E, 0, (void*)0x08038AE8 }, { 0x140F, 0, (void*)0x08038B20 }, { 0x1410, 0, (void*)0x08038B60 }, - { 0x1411, 0, (void*)0x08038BBC }, { 0x1412, 0, (void*)0x08038BF4 }, { 0x1413, 0, (void*)0x08038C34 }, - { 0x1414, 0, (void*)0x08038CC0 }, { 0x1450, 0, (void*)0x08038D04 }, { 0x1451, 0, (void*)0x08038EC4 }, - { 0x1452, 0, (void*)0x08038EF8 }, { 0x1453, 0, (void*)0x08038F10 }, { 0x1454, 0, (void*)0x08038F50 }, - { 0x1455, 0, (void*)0x08038F9C }, { 0x1456, 0, (void*)0x08038FE4 }, { 0x1457, 0, (void*)0x08039064 }, - { 0x1458, 0, (void*)0x080390A8 }, { 0x1459, 0, (void*)0x080390D4 }, { 0x145A, 0, (void*)0x08039128 }, - { 0x145B, 0, (void*)0x08039198 }, { 0x145C, 0, (void*)0x080391C4 }, { 0x145D, 0, (void*)0x080391D8 }, - { 0x145E, 0, (void*)0x08039204 }, { 0x145F, 0, (void*)0x080392B0 }, { 0x1460, 0, (void*)0x08039360 }, - { 0x1461, 0, (void*)0x080393A8 }, { 0x1462, 0, (void*)0x080393BC }, { 0x1463, 0, (void*)0x080393EC }, - { 0x1464, 0, (void*)0x0803940C }, { 0x1465, 0, (void*)0x0803942C }, { 0x1466, 0, (void*)0x08039454 }, - { 0x1467, 0, (void*)0x0803948C }, { 0x1468, 0, (void*)0x080394E8 }, { 0x1469, 0, (void*)0x08039548 }, - { 0x146A, 0, (void*)0x080395A8 }, { 0x146B, 0, (void*)0x08039638 }, { 0x146C, 0, (void*)0x08039700 }, - { 0x146D, 0, (void*)0x08039738 }, { 0x146E, 0, (void*)0x08039758 }, { 0x146F, 0, (void*)0x080397D8 }, - { 0x1470, 0, (void*)0x08039858 }, { 0x1471, 0, (void*)0x08039880 }, { 0x1472, 0, (void*)0x080398B8 }, - { 0x1473, 0, (void*)0x08039924 }, { 0x1474, 0, (void*)0x08039950 }, { 0x1475, 0, (void*)0x08039A64 }, - { 0x1476, 0, (void*)0x08039AE8 }, { 0x1477, 0, (void*)0x08039B4C }, { 0x1478, 0, (void*)0x08039B70 }, - { 0x1479, 0, (void*)0x08039B98 }, { 0x147A, 0, (void*)0x08039BCC }, { 0x147B, 0, (void*)0x08039C00 }, - { 0x147C, 0, (void*)0x08039D6C }, { 0x147D, 0, (void*)0x08039E18 }, { 0x14B4, 0, (void*)0x08039E78 }, - { 0x14B5, 0, (void*)0x08039EA8 }, { 0x14B6, 0, (void*)0x08039EF8 }, { 0x14B7, 0, (void*)0x08039F64 }, - { 0x14B8, 0, (void*)0x08039F90 }, { 0x14B9, 0, (void*)0x08039FE4 }, { 0x14BA, 0, (void*)0x0803A044 }, - { 0x14BB, 0, (void*)0x0803A090 }, { 0x14BC, 0, (void*)0x0803A110 }, { 0x14BD, 0, (void*)0x0803A138 }, - { 0x14BE, 0, (void*)0x0803A1B8 }, { 0x14BF, 0, (void*)0x0803A208 }, { 0x14C0, 0, (void*)0x0803A25C }, - { 0x14C1, 0, (void*)0x0803A29C }, { 0x14C2, 0, (void*)0x0803A2E8 }, { 0x14C3, 0, (void*)0x0803A384 }, - { 0x14C4, 0, (void*)0x0803A3FC }, { 0x14C5, 0, (void*)0x0803A458 }, { 0x14C6, 0, (void*)0x0803A514 }, - { 0x14C7, 0, (void*)0x0803A540 }, { 0x14C8, 0, (void*)0x0803A570 }, { 0x14C9, 0, (void*)0x0803A5E4 }, - { 0x14CA, 0, (void*)0x0803A614 }, { 0x14CB, 0, (void*)0x0803A684 }, { 0x14CC, 0, (void*)0x0803A700 }, - { 0x14CD, 0, (void*)0x0803A79C }, { 0x14CE, 0, (void*)0x0803A7B8 }, { 0x14CF, 0, (void*)0x0803A880 }, - { 0x14D0, 0, (void*)0x0803A8AC }, { 0x14D1, 0, (void*)0x0803A96C }, { 0x14D2, 0, (void*)0x0803AA08 }, - { 0x14D3, 0, (void*)0x0803AA80 }, { 0x14D4, 0, (void*)0x0803AB40 }, { 0x14D5, 0, (void*)0x0803AB80 }, - { 0x14D6, 0, (void*)0x0803ABC0 }, { 0x14D7, 0, (void*)0x0803AC30 }, { 0x14D8, 0, (void*)0x0803AC78 }, - { 0x14D9, 0, (void*)0x0803ACEC }, { 0x14DA, 0, (void*)0x0803AD64 }, { 0x14DB, 0, (void*)0x0803AD8C }, - { 0x14DC, 0, (void*)0x0803ADB8 }, { 0x14DD, 0, (void*)0x0803ADEC }, { 0x14DE, 0, (void*)0x0803AE40 }, - { 0x14DF, 0, (void*)0x0803AEAC }, { 0x14E0, 0, (void*)0x0803AEFC }, { 0x14E1, 0, (void*)0x0803AF58 }, - { 0x14E2, 0, (void*)0x0803AFDC }, { 0x14E3, 0, (void*)0x0803B018 }, { 0x14E4, 0, (void*)0x0803B044 }, - { 0x14E5, 0, (void*)0x0803B07C }, { 0x14E6, 0, (void*)0x0803B100 }, { 0x14E7, 0, (void*)0x0803B13C }, - { 0x14E8, 0, (void*)0x0803B19C }, { 0x14E9, 0, (void*)0x0803B220 }, { 0x14EA, 0, (void*)0x0803B2A0 }, - { 0x14EB, 0, (void*)0x0803B358 }, { 0x14EC, 0, (void*)0x0803B398 }, { 0x14ED, 0, (void*)0x0803B40C }, - { 0x14EE, 0, (void*)0x0803B518 }, { 0x14EF, 0, (void*)0x0803B5F8 }, { 0x14F0, 0, (void*)0x0803B63C }, - { 0x14F1, 0, (void*)0x0803B6A8 }, { 0x14F2, 0, (void*)0x0803B734 }, { 0x14F3, 0, (void*)0x0803B7B8 }, - { 0x14F4, 0, (void*)0x0803B834 }, { 0x14F5, 0, (void*)0x0803B910 }, { 0x14F6, 0, (void*)0x0803B984 }, - { 0x14F7, 0, (void*)0x0803B9F0 }, { 0x14F8, 0, (void*)0x0803BA80 }, { 0x14F9, 0, (void*)0x0803BAB8 }, - { 0x14FA, 0, (void*)0x0803BAF8 }, { 0x14FB, 0, (void*)0x0803BB60 }, { 0x14FC, 0, (void*)0x0803BB8C }, - { 0x1518, 0, (void*)0x0803BBFC }, { 0x1519, 0, (void*)0x0803BC5C }, { 0x151A, 0, (void*)0x0803BCB0 }, - { 0x151B, 0, (void*)0x0803BCC8 }, { 0x151C, 0, (void*)0x0803BCF8 }, { 0x151D, 0, (void*)0x0803BD44 }, - { 0x151E, 0, (void*)0x0803BDB8 }, { 0x151F, 0, (void*)0x0803BDFC }, { 0x1520, 0, (void*)0x0803BE9C }, - { 0x1521, 0, (void*)0x0803BF18 }, { 0x1522, 0, (void*)0x0803BF64 }, { 0x1523, 0, (void*)0x0803BF8C }, - { 0x1524, 0, (void*)0x0803BFA4 }, { 0x1525, 0, (void*)0x0803BFD8 }, { 0x1526, 0, (void*)0x0803BFF8 }, - { 0x1527, 0, (void*)0x0803C014 }, { 0x1528, 0, (void*)0x0803C068 }, { 0x1529, 0, (void*)0x0803C0EC }, - { 0x152A, 0, (void*)0x0803C174 }, { 0x152B, 0, (void*)0x0803C1CC }, { 0x152C, 0, (void*)0x0803C22C }, - { 0x152D, 0, (void*)0x0803C290 }, { 0x152E, 0, (void*)0x0803C314 }, { 0x152F, 0, (void*)0x0803C398 }, - { 0x1530, 0, (void*)0x0803C3F0 }, { 0x1531, 0, (void*)0x0803C454 }, { 0x1532, 0, (void*)0x0803C4DC }, - { 0x1533, 0, (void*)0x0803C518 }, { 0x1534, 0, (void*)0x0803C564 }, { 0x1535, 0, (void*)0x0803C5A4 }, - { 0x1536, 0, (void*)0x0803C5E4 }, { 0x1537, 0, (void*)0x0803C644 }, { 0x1538, 0, (void*)0x0803C6C8 }, - { 0x1539, 0, (void*)0x0803C744 }, { 0x153A, 0, (void*)0x0803C7E0 }, { 0x153B, 0, (void*)0x0803C80C }, - { 0x153C, 0, (void*)0x0803C84C }, { 0x153D, 0, (void*)0x0803C884 }, { 0x153E, 0, (void*)0x0803C89C }, - { 0x153F, 0, (void*)0x0803C8DC }, { 0x1540, 0, (void*)0x0803C908 }, { 0x1541, 0, (void*)0x0803C944 }, - { 0x1542, 0, (void*)0x0803C9A0 }, { 0x157C, 0, (void*)0x0803C9BC }, { 0x157D, 0, (void*)0x0803C9D4 }, - { 0x157E, 0, (void*)0x0803CA30 }, { 0x157F, 0, (void*)0x0803CA70 }, { 0x1580, 0, (void*)0x0803CAA0 }, - { 0x1581, 0, (void*)0x0803CAEC }, { 0x1582, 0, (void*)0x0803CB04 }, { 0x1583, 0, (void*)0x0803CB18 }, - { 0x1584, 0, (void*)0x0803CB30 }, { 0x1585, 0, (void*)0x0803CB64 }, { 0x1586, 0, (void*)0x0803CBD8 }, - { 0x1587, 0, (void*)0x0803CBF4 }, { 0x1588, 0, (void*)0x0803CC34 }, { 0x1589, 0, (void*)0x0803CC78 }, - { 0x158A, 0, (void*)0x0803CD14 }, { 0x158B, 0, (void*)0x0803CDA0 }, { 0x158C, 0, (void*)0x0803CDE0 }, - { 0x158D, 0, (void*)0x0803CE3C }, { 0x158E, 0, (void*)0x0803CEA8 }, { 0x158F, 0, (void*)0x0803CEE8 }, - { 0x1590, 0, (void*)0x0803CF30 }, { 0x1591, 0, (void*)0x0803CFA4 }, { 0x1592, 0, (void*)0x0803D050 }, - { 0x1593, 0, (void*)0x0803D0C8 }, { 0x1594, 0, (void*)0x0803D118 }, { 0x1595, 0, (void*)0x0803D168 }, - { 0x1596, 0, (void*)0x0803D1A8 }, { 0x1597, 0, (void*)0x0803D1F0 }, { 0x1598, 0, (void*)0x0803D228 }, - { 0x1599, 0, (void*)0x0803D290 }, { 0x159A, 0, (void*)0x0803D2FC }, { 0x159B, 0, (void*)0x0803D368 }, - { 0x159C, 0, (void*)0x0803D448 }, { 0x159D, 0, (void*)0x0803D4C0 }, { 0x159E, 0, (void*)0x0803D500 }, - { 0x159F, 0, (void*)0x0803D558 }, { 0x15A0, 0, (void*)0x0803D5B4 }, { 0x15A1, 0, (void*)0x0803D628 }, - { 0x15A2, 0, (void*)0x0803D730 }, { 0x15A3, 0, (void*)0x0803D798 }, { 0x15A4, 0, (void*)0x0803D818 }, - { 0x15A5, 0, (void*)0x0803D868 }, { 0x15A6, 0, (void*)0x0803D8C4 }, { 0x15A7, 0, (void*)0x0803D9AC }, - { 0x15A8, 0, (void*)0x0803D9FC }, { 0x15E0, 0, (void*)0x0803DA3C }, { 0x15E1, 0, (void*)0x0803DA80 }, - { 0x15E2, 0, (void*)0x0803DB14 }, { 0x15E3, 0, (void*)0x0803DB9C }, { 0x15E4, 0, (void*)0x0803DC1C }, - { 0x15E5, 0, (void*)0x0803DC70 }, { 0x15E6, 0, (void*)0x0803DCA8 }, { 0x15E7, 0, (void*)0x0803DCF8 }, - { 0x15E8, 0, (void*)0x0803DD5C }, { 0x15E9, 0, (void*)0x0803DE00 }, { 0x15EA, 0, (void*)0x0803DE5C }, - { 0x15EB, 0, (void*)0x0803DE84 }, { 0x15EC, 0, (void*)0x0803DED0 }, { 0x15ED, 0, (void*)0x0803DF34 }, - { 0x15EE, 0, (void*)0x0803DF64 }, { 0x15EF, 0, (void*)0x0803DF9C }, { 0x15F0, 0, (void*)0x0803DFBC }, - { 0x15F1, 0, (void*)0x0803E018 }, { 0x15F2, 0, (void*)0x0803E0B8 }, { 0x15F3, 0, (void*)0x0803E124 }, - { 0x15F4, 0, (void*)0x0803E178 }, { 0x15F5, 0, (void*)0x0803E1E0 }, { 0x15F6, 0, (void*)0x0803E298 }, - { 0x15F7, 0, (void*)0x0803E310 }, { 0x15F8, 0, (void*)0x0803E36C }, { 0x15F9, 0, (void*)0x0803E3D0 }, - { 0x15FA, 0, (void*)0x0803E420 }, { 0x15FB, 0, (void*)0x0803E454 }, { 0x15FC, 0, (void*)0x0803E488 }, - { 0x15FD, 0, (void*)0x0803E4E8 }, { 0x15FE, 0, (void*)0x0803E59C }, { 0x15FF, 0, (void*)0x0803E620 }, - { 0x1600, 0, (void*)0x0803E66C }, { 0x1601, 0, (void*)0x0803E70C }, { 0x1602, 0, (void*)0x0803E74C }, - { 0x1603, 0, (void*)0x0803E7A4 }, { 0x1604, 0, (void*)0x0803E7DC }, { 0x1605, 0, (void*)0x0803E804 }, - { 0x1606, 0, (void*)0x0803E864 }, { 0x1607, 0, (void*)0x0803E8E8 }, { 0x1608, 0, (void*)0x0803E930 }, - { 0x1609, 0, (void*)0x0803E9E4 }, { 0x160A, 0, (void*)0x0803EA4C }, { 0x160B, 0, (void*)0x0803EAB0 }, - { 0x160C, 0, (void*)0x0803EB18 }, { 0x160D, 0, (void*)0x0803EB58 }, { 0x160E, 0, (void*)0x0803EBA8 }, - { 0x160F, 0, (void*)0x0803EBFC }, { 0x1610, 0, (void*)0x0803EC9C }, { 0x1611, 0, (void*)0x0803ED14 }, - { 0x1612, 0, (void*)0x0803EE08 }, { 0x1613, 0, (void*)0x0803EE48 }, { 0x1614, 0, (void*)0x0803EEB0 }, - { 0x1615, 0, (void*)0x0803EEF0 }, { 0x1616, 0, (void*)0x0803EFAC }, { 0x1617, 0, (void*)0x0803F004 }, - { 0x1618, 0, (void*)0x0803F04C }, { 0x1619, 0, (void*)0x0803F078 }, { 0x161A, 0, (void*)0x0803F0E0 }, - { 0x161B, 0, (void*)0x0803F110 }, { 0x161C, 0, (void*)0x0803F15C }, { 0x161D, 0, (void*)0x0803F1EC }, - { 0x161E, 0, (void*)0x0803F264 }, { 0x161F, 0, (void*)0x0803F2CC }, { 0x1620, 0, (void*)0x0803F344 }, - { 0x1621, 0, (void*)0x0803F3A8 }, { 0x1622, 0, (void*)0x0803F3F4 }, { 0x1623, 0, (void*)0x0803F46C }, - { 0x1624, 0, (void*)0x0803F4AC }, { 0x1625, 0, (void*)0x0803F500 }, { 0x1626, 0, (void*)0x0803F608 }, - { 0x1627, 0, (void*)0x0803F66C }, { 0x1628, 0, (void*)0x0803F6E8 }, { 0x1629, 0, (void*)0x0803F718 }, - { 0x162A, 0, (void*)0x0803F760 }, { 0x162B, 0, (void*)0x0803F7C0 }, { 0x162C, 0, (void*)0x0803F87C }, - { 0x162D, 0, (void*)0x0803F8A8 }, { 0x162E, 0, (void*)0x0803F8EC }, { 0x162F, 0, (void*)0x0803F94C }, - { 0x1630, 0, (void*)0x0803F978 }, { 0x1631, 0, (void*)0x0803F9DC }, { 0x1632, 0, (void*)0x0803FA3C }, - { 0x1633, 0, (void*)0x0803FA78 }, { 0x1634, 0, (void*)0x0803FAC4 }, { 0x1635, 0, (void*)0x0803FB0C }, - { 0x1636, 0, (void*)0x0803FB5C }, { 0x1637, 0, (void*)0x0803FBCC }, { 0x1638, 0, (void*)0x0803FC50 }, - { 0x1644, 0, (void*)0x0803FC6C }, { 0x1645, 0, (void*)0x0803FD0C }, { 0x1646, 0, (void*)0x0803FD5C }, - { 0x1647, 0, (void*)0x0803FDC0 }, { 0x1648, 0, (void*)0x0803FE08 }, { 0x1649, 0, (void*)0x0803FE54 }, - { 0x164A, 0, (void*)0x0803FEB4 }, { 0x164B, 0, (void*)0x0803FF88 }, { 0x164C, 0, (void*)0x0803FFF4 }, - { 0x164D, 0, (void*)0x08040064 }, { 0x164E, 0, (void*)0x080400BC }, { 0x164F, 0, (void*)0x0804010C }, - { 0x1650, 0, (void*)0x08040174 }, { 0x1651, 0, (void*)0x0804019C }, { 0x1652, 0, (void*)0x08040208 }, - { 0x1653, 0, (void*)0x08040250 }, { 0x1654, 0, (void*)0x080402B0 }, { 0x1655, 0, (void*)0x080402CC }, - { 0x1656, 0, (void*)0x0804032C }, { 0x1657, 0, (void*)0x0804035C }, { 0x1658, 0, (void*)0x080403C0 }, - { 0x1659, 0, (void*)0x08040494 }, { 0x165A, 0, (void*)0x08040530 }, { 0x165B, 0, (void*)0x0804054C }, - { 0x165C, 0, (void*)0x080405AC }, { 0x165D, 0, (void*)0x080405E0 }, { 0x165E, 0, (void*)0x08040624 }, - { 0x165F, 0, (void*)0x0804070C }, { 0x1660, 0, (void*)0x08040798 }, { 0x1661, 0, (void*)0x080407C0 }, - { 0x1700, 0, (void*)0x08040848 }, { 0x1701, 0, (void*)0x080408E4 }, { 0x1702, 0, (void*)0x0804092C }, - { 0x1703, 0, (void*)0x08040988 }, { 0x1704, 0, (void*)0x080409D4 }, { 0x1705, 0, (void*)0x08040A28 }, - { 0x1706, 0, (void*)0x08040ABC }, { 0x1707, 0, (void*)0x08040B0C }, { 0x1708, 0, (void*)0x08040B50 }, - { 0x1709, 0, (void*)0x08040BA4 }, { 0x170A, 0, (void*)0x08040C18 }, { 0x170B, 0, (void*)0x08040C60 }, - { 0x170C, 0, (void*)0x08040C6C }, { 0x170D, 0, (void*)0x08040CC8 }, { 0x170E, 0, (void*)0x08040D38 }, - { 0x170F, 0, (void*)0x08040DBC }, { 0x1710, 0, (void*)0x08040E0C }, { 0x1711, 0, (void*)0x08040E84 }, - { 0x1712, 0, (void*)0x08040E90 }, { 0x1713, 0, (void*)0x08040EE8 }, { 0x1714, 0, (void*)0x08040F30 }, - { 0x1715, 0, (void*)0x08040F78 }, { 0x1716, 0, (void*)0x08040FD0 }, { 0x1717, 0, (void*)0x08041050 }, - { 0x1718, 0, (void*)0x08041084 }, { 0x1719, 0, (void*)0x080410E8 }, { 0x171A, 0, (void*)0x08041128 }, - { 0x171B, 0, (void*)0x08041170 }, { 0x171C, 0, (void*)0x080411BC }, { 0x171D, 0, (void*)0x080411C8 }, - { 0x171E, 0, (void*)0x0804122C }, { 0x171F, 0, (void*)0x0804125C }, { 0x1720, 0, (void*)0x080412A8 }, - { 0x1721, 0, (void*)0x080412E8 }, { 0x1722, 0, (void*)0x0804132C }, { 0x1723, 0, (void*)0x08041378 }, - { 0x1724, 0, (void*)0x080413C0 }, { 0x1725, 0, (void*)0x08041414 }, { 0x1726, 0, (void*)0x08041470 }, - { 0x1727, 0, (void*)0x0804147C }, { 0x1728, 0, (void*)0x08041488 }, { 0x1729, 0, (void*)0x080414D0 }, - { 0x172A, 0, (void*)0x08041530 }, { 0x172B, 0, (void*)0x08041588 }, { 0x172C, 0, (void*)0x080415E4 }, - { 0x172D, 0, (void*)0x08041640 }, { 0x172E, 0, (void*)0x08041698 }, { 0x172F, 0, (void*)0x080416FC }, - { 0x1730, 0, (void*)0x08041740 }, { 0x1731, 0, (void*)0x08041794 }, { 0x1732, 0, (void*)0x080417A0 }, - { 0x1733, 0, (void*)0x080417F4 }, { 0x1734, 0, (void*)0x08041848 }, { 0x1735, 0, (void*)0x0804189C }, - { 0x1736, 0, (void*)0x08041900 }, { 0x1737, 0, (void*)0x08041958 }, { 0x1738, 0, (void*)0x080419A8 }, - { 0x1739, 0, (void*)0x080419F4 }, { 0x173A, 0, (void*)0x08041A54 }, { 0x173B, 0, (void*)0x08041AA0 }, - { 0x173C, 0, (void*)0x08041AF8 }, { 0x173D, 0, (void*)0x08041B54 }, { 0x173E, 0, (void*)0x08041BA4 }, - { 0x173F, 0, (void*)0x08041BF4 }, { 0x1740, 0, (void*)0x08041C48 }, { 0x1741, 0, (void*)0x08041CAC }, - { 0x1742, 0, (void*)0x08041D08 }, { 0x1743, 0, (void*)0x08041D68 }, { 0x1744, 0, (void*)0x08041DB4 }, - { 0x1745, 0, (void*)0x08041DF8 }, { 0x1746, 0, (void*)0x08041E54 }, { 0x1747, 0, (void*)0x08041EB0 }, - { 0x1748, 0, (void*)0x08041F2C }, { 0x1749, 0, (void*)0x08041F78 }, { 0x1784, 0, (void*)0x08041FD0 }, - { 0x1785, 0, (void*)0x0804202C }, { 0x1786, 0, (void*)0x08042088 }, { 0x1787, 0, (void*)0x080420E4 }, - { 0x1788, 0, (void*)0x080420F0 }, { 0x1789, 0, (void*)0x0804214C }, { 0x178A, 0, (void*)0x080421B0 }, - { 0x178B, 0, (void*)0x080421F4 }, { 0x178C, 0, (void*)0x0804223C }, { 0x178D, 0, (void*)0x08042288 }, - { 0x178E, 0, (void*)0x080422CC }, { 0x178F, 0, (void*)0x08042314 }, { 0x1798, 0, (void*)0x08042360 }, - { 0x1799, 0, (void*)0x080423AC }, { 0x179A, 0, (void*)0x080423F4 }, { 0x179B, 0, (void*)0x08042440 }, - { 0x17AA, 0, (void*)0x08042490 }, { 0x17AC, 0, (void*)0x08042514 }, { 0x17AD, 0, (void*)0x08042568 }, - { 0x17AE, 0, (void*)0x080425C0 }, { 0x17AF, 0, (void*)0x0804262C }, { 0x1800, 0, (void*)0x080426AC }, - { 0x1801, 0, (void*)0x080426CC }, { 0x1802, 0, (void*)0x0804272C }, { 0x1803, 0, (void*)0x08042754 }, - { 0x1804, 0, (void*)0x08042784 }, { 0x1805, 0, (void*)0x080427E0 }, { 0x1806, 0, (void*)0x08042834 }, - { 0x1807, 0, (void*)0x08042870 }, { 0x1808, 0, (void*)0x080428D0 }, { 0x1809, 0, (void*)0x08042910 }, - { 0x180A, 0, (void*)0x0804293C }, { 0x180B, 0, (void*)0x08042968 }, { 0x180C, 0, (void*)0x08042990 }, - { 0x180D, 0, (void*)0x080429AC }, { 0x180E, 0, (void*)0x08042A04 }, { 0x180F, 0, (void*)0x08042A50 }, - { 0x1810, 0, (void*)0x08042A80 }, { 0x1811, 0, (void*)0x08042AB4 }, { 0x1812, 0, (void*)0x08042AF8 }, - { 0x1813, 0, (void*)0x08042B38 }, { 0x1814, 0, (void*)0x08042B6C }, { 0x1815, 0, (void*)0x08042BAC }, - { 0x1816, 0, (void*)0x08042C04 }, { 0x1817, 0, (void*)0x08042C4C }, { 0x1818, 0, (void*)0x08042C8C }, - { 0x1819, 0, (void*)0x08042CB8 }, { 0x181A, 0, (void*)0x08042CEC }, { 0x181B, 0, (void*)0x08042D28 }, - { 0x181C, 0, (void*)0x08042D34 }, { 0x181D, 0, (void*)0x08042D94 }, { 0x181E, 0, (void*)0x08042DD8 }, - { 0x181F, 0, (void*)0x08042DF0 }, { 0x1820, 0, (void*)0x08042E40 }, { 0x1821, 0, (void*)0x08042E7C }, - { 0x1822, 0, (void*)0x08042EB0 }, { 0x1823, 0, (void*)0x08042EE8 }, { 0x1824, 0, (void*)0x08042F20 }, - { 0x1883, 0, (void*)0x08042F2C }, { 0x1884, 0, (void*)0x08042F60 }, { 0x1885, 0, (void*)0x08042F9C }, - { 0x1886, 0, (void*)0x08043008 }, { 0x1887, 0, (void*)0x08043054 }, { 0x1888, 0, (void*)0x08043094 }, - { 0x1889, 0, (void*)0x080430E4 }, { 0x188A, 0, (void*)0x08043134 }, { 0x188B, 0, (void*)0x08043150 }, - { 0x188C, 0, (void*)0x0804318C }, { 0x188D, 0, (void*)0x080431E8 }, { 0x188E, 0, (void*)0x08043224 }, - { 0x188F, 0, (void*)0x0804326C }, { 0x1890, 0, (void*)0x08043298 }, { 0x1891, 0, (void*)0x080432D8 }, - { 0x1892, 0, (void*)0x0804332C }, { 0x1893, 0, (void*)0x08043378 }, { 0x1901, 0, (void*)0x080433B4 }, - { 0x1902, 0, (void*)0x0804341C }, { 0x1903, 0, (void*)0x08043484 }, { 0x1904, 0, (void*)0x08043508 }, - { 0x1905, 0, (void*)0x08043580 }, { 0x1906, 0, (void*)0x08043610 }, { 0x1907, 0, (void*)0x0804367C }, - { 0x1908, 0, (void*)0x08043710 }, { 0x1909, 0, (void*)0x08043784 }, { 0x190A, 0, (void*)0x0804380C }, - { 0x190B, 0, (void*)0x08043880 }, { 0x190C, 0, (void*)0x080438E8 }, { 0x190D, 0, (void*)0x08043948 }, - { 0x190E, 0, (void*)0x080439C4 }, { 0x190F, 0, (void*)0x08043A20 }, { 0x1910, 0, (void*)0x08043AA0 }, - { 0x1911, 0, (void*)0x08043B24 }, { 0x1912, 0, (void*)0x08043BA8 }, { 0x1913, 0, (void*)0x08043C30 }, - { 0x1914, 0, (void*)0x08043C9C }, { 0x1915, 0, (void*)0x08043CEC }, { 0x1916, 0, (void*)0x08043D50 }, - { 0x1917, 0, (void*)0x08043DD8 }, { 0x1918, 0, (void*)0x08043E40 }, { 0x1919, 0, (void*)0x08043EB0 }, - { 0x191A, 0, (void*)0x08043F24 }, { 0x191B, 0, (void*)0x08043FB0 }, { 0x191C, 0, (void*)0x0804401C }, - { 0x191D, 0, (void*)0x08044098 }, { 0x191E, 0, (void*)0x0804411C }, { 0x191F, 0, (void*)0x08044184 }, - { 0x1921, 0, (void*)0x080441E8 }, { 0x1922, 0, (void*)0x08044258 }, { 0x1923, 0, (void*)0x080442D4 }, - { 0x1924, 0, (void*)0x08044348 }, { 0x1925, 0, (void*)0x080443D0 }, { 0x1926, 0, (void*)0x08044458 }, - { 0x1927, 0, (void*)0x080444DC }, { 0x1928, 0, (void*)0x08044574 }, { 0x1929, 0, (void*)0x080445CC }, - { 0x192A, 0, (void*)0x08044630 }, { 0x192C, 0, (void*)0x080446AC }, { 0x192D, 0, (void*)0x0804471C }, - { 0x192E, 0, (void*)0x08044780 }, { 0x1930, 0, (void*)0x08044808 }, { 0x1931, 0, (void*)0x08044898 }, - { 0x1932, 0, (void*)0x08044910 }, { 0x1933, 0, (void*)0x0804498C }, { 0x1934, 0, (void*)0x08044A04 }, - { 0x1935, 0, (void*)0x08044A94 }, { 0x1937, 0, (void*)0x08044B10 }, { 0x1939, 0, (void*)0x08044B9C }, - { 0x193A, 0, (void*)0x08044C0C }, { 0x193B, 0, (void*)0x08044C18 }, { 0x193C, 0, (void*)0x08044C8C }, - { 0x1942, 0, (void*)0x08044D04 }, { 0x1944, 0, (void*)0x08044D6C }, { 0x1945, 0, (void*)0x08044DCC }, - { 0x1946, 0, (void*)0x08044E48 }, { 0x1947, 0, (void*)0x08044EAC }, { 0x1948, 0, (void*)0x08044F20 }, - { 0x1949, 0, (void*)0x08044F88 }, { 0x194A, 0, (void*)0x08045004 }, { 0x194B, 0, (void*)0x08045084 }, - { 0x194C, 0, (void*)0x080450F4 }, { 0x194D, 0, (void*)0x08045174 }, { 0x1950, 0, (void*)0x080451C8 }, - { 0x1951, 0, (void*)0x08045238 }, { 0x1952, 0, (void*)0x080452A0 }, { 0x1953, 0, (void*)0x08045310 }, - { 0x1954, 0, (void*)0x08045378 }, { 0x1955, 0, (void*)0x080453E8 }, { 0x1956, 0, (void*)0x08045458 }, - { 0x1957, 0, (void*)0x080454CC }, { 0x1958, 0, (void*)0x08045540 }, { 0x1959, 0, (void*)0x080455C4 }, - { 0x195A, 0, (void*)0x0804564C }, { 0x195B, 0, (void*)0x080456AC }, { 0x195C, 0, (void*)0x08045704 }, - { 0x195D, 0, (void*)0x0804576C }, { 0x195E, 0, (void*)0x080457E8 }, { 0x195F, 0, (void*)0x08045838 }, - { 0x1960, 0, (void*)0x0804589C }, { 0x1961, 0, (void*)0x08045918 }, { 0x1962, 0, (void*)0x08045988 }, - { 0x1963, 0, (void*)0x080459E4 }, { 0x1964, 0, (void*)0x08045A24 }, { 0x1B58, 0, (void*)0x08045ACC }, - { 0x1B59, 0, (void*)0x08045ADC }, { 0x1B5A, 0, (void*)0x08045B00 }, { 0x1B5B, 0, (void*)0x08045B20 }, - { 0x1B5C, 0, (void*)0x08045B2C }, { 0x1B5D, 0, (void*)0x08045B58 }, { 0x1B5E, 0, (void*)0x08045B7C }, - { 0x1B5F, 0, (void*)0x08045BAC }, { 0x1B60, 0, (void*)0x08045BD8 }, { 0x1B61, 0, (void*)0x08045BFC }, - { 0x1B62, 0, (void*)0x08045C18 }, { 0x1B63, 0, (void*)0x08045C3C }, { 0x1B64, 0, (void*)0x08045C60 }, - { 0x1B65, 0, (void*)0x08045C90 }, { 0x1B66, 0, (void*)0x08045CC0 }, { 0x1B67, 0, (void*)0x08045CEC }, - { 0x1B6A, 0, (void*)0x08045CF8 }, { 0x1B6B, 0, (void*)0x08045D28 }, { 0x1B72, 0, (void*)0x08045D58 }, - { 0x1B73, 0, (void*)0x08045D8C }, { 0x1B74, 0, (void*)0x08045DB8 }, { 0x1B75, 0, (void*)0x08045DEC }, - { 0x1B76, 0, (void*)0x08045E1C }, { 0x1B77, 0, (void*)0x08045E48 }, { 0x1B78, 0, (void*)0x08045E54 }, - { 0x1B79, 0, (void*)0x08045E80 }, { 0x1B7A, 0, (void*)0x08045EB0 }, { 0x1B7B, 0, (void*)0x08045ED8 }, - { 0x1B7C, 0, (void*)0x08045F08 }, { 0x1B7D, 0, (void*)0x08045F34 }, { 0x1B7E, 0, (void*)0x08045F40 }, - { 0x1B7F, 0, (void*)0x08045F74 }, { 0x1B80, 0, (void*)0x08045FA8 }, { 0x1B81, 0, (void*)0x08045FD4 }, - { 0x1B89, 0, (void*)0x08045FE0 }, { 0x1B8A, 0, (void*)0x08045FF0 }, { 0x1B8B, 0, (void*)0x08046038 }, - { 0x1B8C, 0, (void*)0x08046060 }, { 0x1B8D, 0, (void*)0x08046098 }, { 0x1B8E, 0, (void*)0x080460D4 }, - { 0x1B8F, 0, (void*)0x08046110 }, { 0x1B90, 0, (void*)0x08046150 }, { 0x1B91, 0, (void*)0x0804618C }, - { 0x1B92, 0, (void*)0x080461CC }, { 0x1B93, 0, (void*)0x08046208 }, { 0x1B94, 0, (void*)0x0804622C }, - { 0x1B95, 0, (void*)0x0804626C }, { 0x1B96, 0, (void*)0x080462A8 }, { 0x1B98, 0, (void*)0x080462B4 }, - { 0x1B9E, 0, (void*)0x08046300 }, { 0x1B9F, 0, (void*)0x08046374 }, { 0x1BA0, 0, (void*)0x080463FC }, - { 0x1BA1, 0, (void*)0x08046480 }, { 0x1BA2, 0, (void*)0x08046594 }, { 0x1BA4, 0, (void*)0x080465C4 }, - { 0x1BA5, 0, (void*)0x08046654 }, { 0x1BA6, 0, (void*)0x08046684 }, { 0x1BA7, 0, (void*)0x080466D4 }, - { 0x1BA8, 0, (void*)0x08046760 }, { 0x1BAC, 0, (void*)0x080467E8 }, { 0x1BB2, 0, (void*)0x08046848 }, - { 0x1BB3, 0, (void*)0x08046888 }, { 0x1BB4, 0, (void*)0x080468C4 }, { 0x1BB5, 0, (void*)0x08046904 }, - { 0x1BB6, 0, (void*)0x08046944 }, { 0x1C00, 0, (void*)0x08046984 }, { 0x1C01, 0, (void*)0x08046A4C }, - { 0x1C02, 0, (void*)0x08046AB8 }, { 0x1C03, 0, (void*)0x08046BA8 }, { 0x1C04, 0, (void*)0x08046C10 }, - { 0x1C05, 0, (void*)0x08046D68 }, { 0x1C06, 0, (void*)0x08046E44 }, { 0x1C07, 0, (void*)0x08046EAC }, - { 0x1C08, 0, (void*)0x08046F0C }, { 0x1C09, 0, (void*)0x08046F5C }, { 0x1C0A, 0, (void*)0x08046F94 }, - { 0x1C0B, 0, (void*)0x08047014 }, { 0x1C0C, 0, (void*)0x080470D4 }, { 0x1C0D, 0, (void*)0x08047118 }, - { 0x1C0E, 0, (void*)0x08047130 }, { 0x1C0F, 0, (void*)0x08047148 }, { 0x1C10, 0, (void*)0x08047164 }, - { 0x1C11, 0, (void*)0x0804717C }, { 0x1C12, 0, (void*)0x0804719C }, { 0x1C13, 0, (void*)0x080471BC }, - { 0x1C14, 0, (void*)0x080471D4 }, { 0x1C15, 0, (void*)0x080471F0 }, { 0x1C16, 0, (void*)0x08047214 }, - { 0x1C17, 0, (void*)0x0804730C }, { 0x1C18, 0, (void*)0x0804734C }, { 0x1D00, 0, (void*)0x080473A4 }, - { 0x1D01, 0, (void*)0x08047414 }, { 0x1D02, 0, (void*)0x08047524 }, { 0x1D03, 0, (void*)0x0804758C }, - { 0x1D04, 0, (void*)0x08047644 }, { 0x1D05, 0, (void*)0x08047678 }, { 0x1D06, 0, (void*)0x080476D0 }, - { 0x1D07, 0, (void*)0x080476F8 }, { 0x1D08, 0, (void*)0x08047728 }, { 0x1D09, 0, (void*)0x08047788 }, - { 0x1D0A, 0, (void*)0x080477C0 }, { 0x1D0B, 0, (void*)0x080477F4 }, { 0x1D0C, 0, (void*)0x08047808 }, - { 0x1D0D, 0, (void*)0x08047820 }, { 0x1D11, 0, (void*)0x08047844 }, { 0x1D12, 0, (void*)0x08047890 }, - { 0x1D13, 0, (void*)0x080478D8 }, { 0x1D14, 0, (void*)0x08047920 }, { 0x1D15, 0, (void*)0x0804796C }, - { 0x1D16, 0, (void*)0x080479B4 }, { 0x1D17, 0, (void*)0x080479FC }, { 0x1F40, 0, (void*)0x08047A20 }, - { 0x1F41, 0, (void*)0x08047ABC }, { 0x1F42, 0, (void*)0x08047B20 }, { 0x1F43, 0, (void*)0x08047B94 }, - { 0x1F44, 0, (void*)0x08047BD8 }, { 0x1F45, 0, (void*)0x08047C40 }, { 0x1F46, 0, (void*)0x08047CB4 }, - { 0x1F47, 0, (void*)0x08047D1C }, { 0x1F48, 0, (void*)0x08047D88 }, { 0x1F49, 0, (void*)0x08047DA8 }, - { 0x1F4A, 0, (void*)0x08047E48 }, { 0x1F4B, 0, (void*)0x08047F30 }, { 0x1F4C, 0, (void*)0x08047F88 }, - { 0x1F4D, 0, (void*)0x08048014 }, { 0x1F4E, 0, (void*)0x080480E0 }, { 0x1F4F, 0, (void*)0x0804819C }, - { 0x1F50, 0, (void*)0x08048280 }, { 0x1F51, 0, (void*)0x080482E4 }, { 0x1F52, 0, (void*)0x0804833C }, - { 0x1F53, 0, (void*)0x080483B8 }, { 0x1F54, 0, (void*)0x08048430 }, { 0x1F55, 0, (void*)0x080484AC }, - { 0x1F56, 0, (void*)0x080484F8 }, { 0x1F5F, 0, (void*)0x0804857C }, { 0x1F60, 0, (void*)0x0804859C }, - { 0x1F61, 0, (void*)0x080485D4 }, { 0x1F62, 0, (void*)0x08048604 }, { 0x1F63, 0, (void*)0x0804862C }, - { 0x1F64, 0, (void*)0x0804866C }, { 0x1F65, 0, (void*)0x080486A4 }, { 0x1F66, 0, (void*)0x080486E0 }, - { 0x1F67, 0, (void*)0x08048708 }, { 0x1F68, 0, (void*)0x08048774 }, { 0x1F69, 0, (void*)0x080487A4 }, - { 0x1F6A, 0, (void*)0x080487E0 }, { 0x1F6B, 0, (void*)0x08048810 }, { 0x1F6C, 0, (void*)0x08048864 }, - { 0x1F6D, 0, (void*)0x08048898 }, { 0x1F6E, 0, (void*)0x08048960 }, { 0x1F6F, 0, (void*)0x08048990 }, - { 0x1F70, 0, (void*)0x080489E8 }, { 0x1F71, 0, (void*)0x08048A44 }, { 0x1F72, 0, (void*)0x08048AB8 }, - { 0x1F73, 0, (void*)0x08048AE8 }, { 0x1F74, 0, (void*)0x08048B94 }, { 0x1F75, 0, (void*)0x08048BB0 }, - { 0x1FA4, 0, (void*)0x08048BD8 }, { 0x1FA5, 0, (void*)0x08048C14 }, { 0x1FA6, 0, (void*)0x08048CF8 }, - { 0x1FA7, 0, (void*)0x08048D40 }, { 0x1FA8, 0, (void*)0x08048D88 }, { 0x1FA9, 0, (void*)0x08048DF4 }, - { 0x1FAA, 0, (void*)0x08048E68 }, { 0x1FAB, 0, (void*)0x08048EE0 }, { 0x1FAC, 0, (void*)0x08048FB4 }, - { 0x1FAD, 0, (void*)0x08049034 }, { 0x1FAE, 0, (void*)0x08049068 }, { 0x1FAF, 0, (void*)0x080491B0 }, - { 0x1FB0, 0, (void*)0x0804927C }, { 0x1FB1, 0, (void*)0x080492C8 }, { 0x1FB2, 0, (void*)0x08049318 }, - { 0x1FB3, 0, (void*)0x08049384 }, { 0x1FB4, 0, (void*)0x08049424 }, { 0x1FB5, 0, (void*)0x0804951C }, - { 0x1FB6, 0, (void*)0x08049558 }, { 0x1FB7, 0, (void*)0x08049598 }, { 0x1FB8, 0, (void*)0x080495B8 }, - { 0x1FB9, 0, (void*)0x080495D0 }, { 0x1FBA, 0, (void*)0x080495E8 }, { 0x1FBB, 0, (void*)0x08049614 }, - { 0x1FBC, 0, (void*)0x0804963C }, { 0x1FBD, 0, (void*)0x08049688 }, { 0x1FBE, 0, (void*)0x080496DC }, - { 0x1FBF, 0, (void*)0x08049758 }, { 0x1FC0, 0, (void*)0x080497BC }, { 0x1FC1, 0, (void*)0x080497E4 }, - { 0x1FC2, 0, (void*)0x0804982C }, { 0x1FC3, 0, (void*)0x080498A0 }, { 0x1FC4, 0, (void*)0x08049920 }, - { 0x1FC5, 0, (void*)0x08049940 }, { 0x1FC6, 0, (void*)0x08049A0C }, { 0x1FC7, 0, (void*)0x08049A38 }, - { 0x1FC8, 0, (void*)0x08049AA0 }, { 0x1FC9, 0, (void*)0x08049AB8 }, { 0x1FCA, 0, (void*)0x08049AF0 }, - { 0x1FCB, 0, (void*)0x08049B74 }, { 0x1FCC, 0, (void*)0x08049BD0 }, { 0x1FCD, 0, (void*)0x08049C34 }, - { 0x1FCE, 0, (void*)0x08049D14 }, { 0x1FCF, 0, (void*)0x08049D70 }, { 0x1FD0, 0, (void*)0x08049DAC }, - { 0x1FD1, 0, (void*)0x08049E08 }, { 0x1FD2, 0, (void*)0x08049E24 }, { 0x1FD3, 0, (void*)0x08049E44 }, - { 0x1FD4, 0, (void*)0x08049E88 }, { 0x1FD5, 0, (void*)0x08049EB8 }, { 0x1FD6, 0, (void*)0x08049F00 }, - { 0x1FD7, 0, (void*)0x08049F3C }, { 0x1FD8, 0, (void*)0x08049F90 }, { 0x1FD9, 0, (void*)0x08049FC4 }, - { 0x1FDA, 0, (void*)0x0804A018 }, { 0x1FDB, 0, (void*)0x0804A050 }, { 0x1FDC, 0, (void*)0x0804A0BC }, - { 0x1FDD, 0, (void*)0x0804A0F0 }, { 0x1FDE, 0, (void*)0x0804A11C }, { 0x1FDF, 0, (void*)0x0804A14C }, - { 0x1FE0, 0, (void*)0x0804A1A0 }, { 0x1FE1, 0, (void*)0x0804A1D4 }, { 0x1FE2, 0, (void*)0x0804A210 }, - { 0x1FE3, 0, (void*)0x0804A244 }, { 0x1FE4, 0, (void*)0x0804A290 }, { 0x1FE5, 0, (void*)0x0804A2C8 }, - { 0x1FE6, 0, (void*)0x0804A334 }, { 0x1FE7, 0, (void*)0x0804A36C }, { 0x1FE8, 0, (void*)0x0804A3EC }, - { 0x1FE9, 0, (void*)0x0804A420 }, { 0x1FEA, 0, (void*)0x0804A484 }, { 0x1FEB, 0, (void*)0x0804A4B8 }, - { 0x1FEC, 0, (void*)0x0804A51C }, { 0x1FED, 0, (void*)0x0804A554 }, { 0x1FEE, 0, (void*)0x0804A59C }, - { 0x1FEF, 0, (void*)0x0804A5D0 }, { 0x1FF0, 0, (void*)0x0804A620 }, { 0x1FF1, 0, (void*)0x0804A658 }, - { 0x1FF2, 0, (void*)0x0804A6C0 }, { 0x1FF3, 0, (void*)0x0804A6F4 }, { 0x1FF4, 0, (void*)0x0804A74C }, - { 0x1FF5, 0, (void*)0x0804A788 }, { 0x1FF6, 0, (void*)0x0804A800 }, { 0x1FF7, 0, (void*)0x0804A834 }, - { 0x1FF8, 0, (void*)0x0804A888 }, { 0x1FF9, 0, (void*)0x0804A8B8 }, { 0x1FFA, 0, (void*)0x0804A908 }, - { 0x1FFB, 0, (void*)0x0804A940 }, { 0x1FFC, 0, (void*)0x0804A970 }, { 0x1FFD, 0, (void*)0x0804A9A4 }, - { 0x1FFE, 0, (void*)0x0804AA00 }, { 0x1FFF, 0, (void*)0x0804AA60 }, { 0x2000, 0, (void*)0x0804AAA0 }, - { 0x2001, 0, (void*)0x0804AACC }, { 0x2002, 0, (void*)0x0804AB00 }, { 0x2003, 0, (void*)0x0804AB60 }, - { 0x2004, 0, (void*)0x0804ABA0 }, { 0x2005, 0, (void*)0x0804ACE0 }, { 0x2006, 0, (void*)0x0804ADB4 }, - { 0x2007, 0, (void*)0x0804AE8C }, { 0x2008, 0, (void*)0x0804AEE0 }, { 0x2009, 0, (void*)0x0804AEF8 }, - { 0x200A, 0, (void*)0x0804AF10 }, { 0x200B, 0, (void*)0x0804AFAC }, { 0x200C, 0, (void*)0x0804B024 }, - { 0x200D, 0, (void*)0x0804B058 }, { 0x200E, 0, (void*)0x0804B0D0 }, { 0x200F, 0, (void*)0x0804B144 }, - { 0x2010, 0, (void*)0x0804B168 }, { 0x2011, 0, (void*)0x0804B1B4 }, { 0x2012, 0, (void*)0x0804B1F8 }, - { 0x2013, 0, (void*)0x0804B260 }, { 0x2014, 0, (void*)0x0804B298 }, { 0x2015, 0, (void*)0x0804B300 }, - { 0x2016, 0, (void*)0x0804B338 }, { 0x2017, 0, (void*)0x0804B350 }, { 0x201D, 0, (void*)0x0804B3B0 }, - { 0x201E, 0, (void*)0x0804B3F8 }, { 0x201F, 0, (void*)0x0804B508 }, { 0x2020, 0, (void*)0x0804B58C }, - { 0x2021, 0, (void*)0x0804B5F8 }, { 0x2022, 0, (void*)0x0804B68C }, { 0x2023, 0, (void*)0x0804B6E4 }, - { 0x2024, 0, (void*)0x0804B6F0 }, { 0x2026, 0, (void*)0x0804B6FC }, { 0x2027, 0, (void*)0x0804B71C }, - { 0x2028, 0, (void*)0x0804B744 }, { 0x2029, 0, (void*)0x0804B758 }, { 0x202A, 0, (void*)0x0804B770 }, - { 0x202B, 0, (void*)0x0804B7C4 }, { 0x202C, 0, (void*)0x0804B81C }, { 0x202D, 0, (void*)0x0804B860 }, - { 0x202E, 0, (void*)0x0804B8A8 }, { 0x202F, 0, (void*)0x0804B908 }, { 0x2030, 0, (void*)0x0804B93C }, - { 0x2031, 0, (void*)0x0804B9B8 }, { 0x2032, 0, (void*)0x0804BA20 }, { 0x2033, 0, (void*)0x0804BA9C }, - { 0x2034, 0, (void*)0x0804BAEC }, { 0x2035, 0, (void*)0x0804BB34 }, { 0x2036, 0, (void*)0x0804BB7C }, - { 0x2037, 0, (void*)0x0804BBAC }, { 0x2038, 0, (void*)0x0804BBDC }, { 0x2039, 0, (void*)0x0804BC20 }, - { 0x203A, 0, (void*)0x0804BC98 }, { 0x203B, 0, (void*)0x0804BCF0 }, { 0x203C, 0, (void*)0x0804BD40 }, - { 0x203D, 0, (void*)0x0804BD5C }, { 0x203E, 0, (void*)0x0804BDAC }, { 0x203F, 0, (void*)0x0804BE24 }, - { 0x2040, 0, (void*)0x0804BE4C }, { 0x2041, 0, (void*)0x0804BEB8 }, { 0x2042, 0, (void*)0x0804BEEC }, - { 0x2043, 0, (void*)0x0804BF08 }, { 0x2044, 0, (void*)0x0804BF38 }, { 0x2045, 0, (void*)0x0804BF74 }, - { 0x2046, 0, (void*)0x0804BFB4 }, { 0x2047, 0, (void*)0x0804C028 }, { 0x2048, 0, (void*)0x0804C08C }, - { 0x2049, 0, (void*)0x0804C0BC }, { 0x204A, 0, (void*)0x0804C0D8 }, { 0x204B, 0, (void*)0x0804C114 }, - { 0x204C, 0, (void*)0x0804C144 }, { 0x204D, 0, (void*)0x0804C180 }, { 0x204E, 0, (void*)0x0804C204 }, - { 0x206C, 0, (void*)0x0804C264 }, { 0x206D, 0, (void*)0x0804C2A8 }, { 0x206E, 0, (void*)0x0804C2F8 }, - { 0x206F, 0, (void*)0x0804C338 }, { 0x2070, 0, (void*)0x0804C384 }, { 0x2076, 0, (void*)0x0804C390 }, - { 0x2077, 0, (void*)0x0804C3C0 }, { 0x2078, 0, (void*)0x0804C404 }, { 0x2079, 0, (void*)0x0804C480 }, - { 0x2080, 0, (void*)0x0804C4C4 }, { 0x2081, 0, (void*)0x0804C5B4 }, { 0x2082, 0, (void*)0x0804C5FC }, - { 0x2083, 0, (void*)0x0804C630 }, { 0x208A, 0, (void*)0x0804C674 }, { 0x208B, 0, (void*)0x0804C6BC }, - { 0x208C, 0, (void*)0x0804C708 }, { 0x208D, 0, (void*)0x0804C7B4 }, { 0x208E, 0, (void*)0x0804C7FC }, - { 0x2093, 0, (void*)0x0804C8A4 }, { 0x2094, 0, (void*)0x0804C8C0 }, { 0x2095, 0, (void*)0x0804C8E8 }, - { 0x20B0, 0, (void*)0x0804C920 }, { 0x20B1, 0, (void*)0x0804C984 }, { 0x20B2, 0, (void*)0x0804CA38 }, - { 0x20B3, 0, (void*)0x0804CB34 }, { 0x20B4, 0, (void*)0x0804CC18 }, { 0x20B5, 0, (void*)0x0804CD10 }, - { 0x20B6, 0, (void*)0x0804CDD4 }, { 0x20B7, 0, (void*)0x0804CE8C }, { 0x20B8, 0, (void*)0x0804CF48 }, - { 0x20B9, 0, (void*)0x0804CFA4 }, { 0x20BA, 0, (void*)0x0804D018 }, { 0x20BB, 0, (void*)0x0804D084 }, - { 0x20BC, 0, (void*)0x0804D0EC }, { 0x20BD, 0, (void*)0x0804D158 }, { 0x20BE, 0, (void*)0x0804D1C0 }, - { 0x20BF, 0, (void*)0x0804D230 }, { 0x20C0, 0, (void*)0x0804D294 }, { 0x20C1, 0, (void*)0x0804D300 }, - { 0x20C2, 0, (void*)0x0804D380 }, { 0x20C3, 0, (void*)0x0804D3F8 }, { 0x20C4, 0, (void*)0x0804D460 }, - { 0x20C5, 0, (void*)0x0804D4AC }, { 0x20C6, 0, (void*)0x0804D52C }, { 0x20C7, 0, (void*)0x0804D590 }, - { 0x20D0, 0, (void*)0x0804D5FC }, { 0x20D1, 0, (void*)0x0804D654 }, { 0x20D2, 0, (void*)0x0804D6C8 }, - { 0x20D4, 0, (void*)0x0804D6EC }, { 0x20D5, 0, (void*)0x0804D75C }, { 0x20D6, 0, (void*)0x0804D7B4 }, - { 0x20D7, 0, (void*)0x0804D834 }, { 0x20D8, 0, (void*)0x0804D8B0 }, { 0x20D9, 0, (void*)0x0804D93C }, - { 0x20DA, 0, (void*)0x0804D99C }, { 0x20DB, 0, (void*)0x0804D9FC }, { 0x20DC, 0, (void*)0x0804DA74 }, - { 0x20DD, 0, (void*)0x0804DB20 }, { 0x20DE, 0, (void*)0x0804DBB0 }, { 0x20DF, 0, (void*)0x0804DC18 }, - { 0x20E0, 0, (void*)0x0804DC90 }, { 0x20E1, 0, (void*)0x0804DCFC }, { 0x20E2, 0, (void*)0x0804DD84 }, - { 0x20E3, 0, (void*)0x0804DE0C }, { 0x20E4, 0, (void*)0x0804DEA0 }, { 0x20E5, 0, (void*)0x0804DF10 }, - { 0x20E6, 0, (void*)0x0804DF78 }, { 0x20E7, 0, (void*)0x0804DFEC }, { 0x20F3, 0, (void*)0x0804E05C }, - { 0x20F7, 0, (void*)0x0804E0C0 }, { 0x20F8, 0, (void*)0x0804E134 }, { 0x20F9, 0, (void*)0x0804E1AC }, - { 0x2103, 0, (void*)0x0804E220 }, { 0x2104, 0, (void*)0x0804E288 }, { 0x2105, 0, (void*)0x0804E2CC }, - { 0x2106, 0, (void*)0x0804E320 }, { 0x2107, 0, (void*)0x0804E364 }, { 0x2108, 0, (void*)0x0804E3BC }, - { 0x2109, 0, (void*)0x0804E408 }, { 0x210A, 0, (void*)0x0804E458 }, { 0x210B, 0, (void*)0x0804E4B0 }, - { 0x210C, 0, (void*)0x0804E4EC }, { 0x210D, 0, (void*)0x0804E52C }, { 0x210E, 0, (void*)0x0804E578 }, - { 0x210F, 0, (void*)0x0804E5D0 }, { 0x2110, 0, (void*)0x0804E618 }, { 0x2111, 0, (void*)0x0804E660 }, - { 0x2112, 0, (void*)0x0804E6BC }, { 0x2113, 0, (void*)0x0804E70C }, { 0x2114, 0, (void*)0x0804E75C }, - { 0x2115, 0, (void*)0x0804E7A8 }, { 0x2116, 0, (void*)0x0804E7F0 }, { 0x2134, 0, (void*)0x0804E83C }, - { 0x2135, 0, (void*)0x0804E880 }, { 0x2136, 0, (void*)0x0804E8CC }, { 0x2137, 0, (void*)0x0804E91C }, - { 0x2138, 0, (void*)0x0804E96C }, { 0x2139, 0, (void*)0x0804E9B4 }, { 0x213A, 0, (void*)0x0804E9FC }, - { 0x213B, 0, (void*)0x0804EA38 }, { 0x213C, 0, (void*)0x0804EA88 }, { 0x213D, 0, (void*)0x0804EAD0 }, - { 0x213E, 0, (void*)0x0804EB28 }, { 0x213F, 0, (void*)0x0804EB80 }, { 0x2140, 0, (void*)0x0804EBD0 }, - { 0x2141, 0, (void*)0x0804EC1C }, { 0x2142, 0, (void*)0x0804EC60 }, { 0x2143, 0, (void*)0x0804ECAC }, - { 0x2144, 0, (void*)0x0804ECF0 }, { 0x2145, 0, (void*)0x0804ED40 }, { 0x2146, 0, (void*)0x0804ED88 }, - { 0x2147, 0, (void*)0x0804EDDC }, { 0x2152, 0, (void*)0x0804EE34 }, { 0x2153, 0, (void*)0x0804EE78 }, - { 0x2154, 0, (void*)0x0804EECC }, { 0x2156, 0, (void*)0x0804EF1C }, { 0x2157, 0, (void*)0x0804EF64 }, - { 0x2158, 0, (void*)0x0804EFC4 }, { 0x2159, 0, (void*)0x0804F014 }, { 0x215A, 0, (void*)0x0804F05C }, - { 0x215B, 0, (void*)0x0804F0C0 }, { 0x215D, 0, (void*)0x0804F124 }, { 0x215E, 0, (void*)0x0804F178 }, - { 0x215F, 0, (void*)0x0804F184 }, { 0x2160, 0, (void*)0x0804F1D8 }, { 0x2161, 0, (void*)0x0804F234 }, - { 0x2162, 0, (void*)0x0804F298 }, { 0x2163, 0, (void*)0x0804F2A4 }, { 0x2164, 0, (void*)0x0804F2F8 }, - { 0x2165, 0, (void*)0x0804F358 }, { 0x2166, 0, (void*)0x0804F3B0 }, { 0x2167, 0, (void*)0x0804F400 }, - { 0x2168, 0, (void*)0x0804F458 }, { 0x2169, 0, (void*)0x0804F4B0 }, { 0x216A, 0, (void*)0x0804F504 }, - { 0x216B, 0, (void*)0x0804F554 }, { 0x216C, 0, (void*)0x0804F5A0 }, { 0x216D, 0, (void*)0x0804F5F8 }, - { 0x216E, 0, (void*)0x0804F658 }, { 0x216F, 0, (void*)0x0804F6B8 }, { 0x2170, 0, (void*)0x0804F710 }, - { 0x2171, 0, (void*)0x0804F764 }, { 0x2172, 0, (void*)0x0804F7BC }, { 0x2173, 0, (void*)0x0804F814 }, - { 0x2174, 0, (void*)0x0804F870 }, { 0x2198, 0, (void*)0x0804F8CC }, { 0x2199, 0, (void*)0x0804F920 }, - { 0x219A, 0, (void*)0x0804F978 }, { 0x219B, 0, (void*)0x0804F9D0 }, { 0x219C, 0, (void*)0x0804FA2C }, - { 0x219D, 0, (void*)0x0804FA80 }, { 0x219E, 0, (void*)0x0804FAD0 }, { 0x219F, 0, (void*)0x0804FB28 }, - { 0x21A0, 0, (void*)0x0804FB80 }, { 0x21A1, 0, (void*)0x0804FBD8 }, { 0x21A2, 0, (void*)0x0804FC30 }, - { 0x21A3, 0, (void*)0x0804FC88 }, { 0x21A4, 0, (void*)0x0804FCD8 }, { 0x21A5, 0, (void*)0x0804FD30 }, - { 0x21A6, 0, (void*)0x0804FD84 }, { 0x21A7, 0, (void*)0x0804FDDC }, { 0x21A8, 0, (void*)0x0804FE34 }, - { 0x21A9, 0, (void*)0x0804FE88 }, { 0x21AA, 0, (void*)0x0804FED8 }, { 0x21AB, 0, (void*)0x0804FF30 }, - { 0x21AC, 0, (void*)0x0804FF84 }, { 0x21AD, 0, (void*)0x0804FFDC }, { 0x21AE, 0, (void*)0x08050038 }, - { 0x21AF, 0, (void*)0x08050094 }, { 0x21B0, 0, (void*)0x080500EC }, { 0x21B1, 0, (void*)0x08050140 }, - { 0x21B2, 0, (void*)0x08050198 }, { 0x21B3, 0, (void*)0x080501F4 }, { 0x21B4, 0, (void*)0x0805024C }, - { 0x21B5, 0, (void*)0x080502A4 }, { 0x21B6, 0, (void*)0x080502F8 }, { 0x21B7, 0, (void*)0x08050350 }, - { 0x21B8, 0, (void*)0x080503A8 }, { 0x21B9, 0, (void*)0x08050400 }, { 0x21BA, 0, (void*)0x0805045C }, - { 0x21CA, 0, (void*)0x080504AC }, { 0x21CB, 0, (void*)0x080504EC }, { 0x21CC, 0, (void*)0x08050528 }, - { 0x21CD, 0, (void*)0x08050580 }, { 0x21CE, 0, (void*)0x080505C8 }, { 0x21CF, 0, (void*)0x08050604 }, - { 0x21D0, 0, (void*)0x08050648 }, { 0x21D1, 0, (void*)0x08050680 }, { 0x21D2, 0, (void*)0x080506CC }, - { 0x21D3, 0, (void*)0x08050700 }, { 0x21D4, 0, (void*)0x0805075C }, { 0x21D5, 0, (void*)0x080507A8 }, - { 0x21D6, 0, (void*)0x080507F0 }, { 0x21D7, 0, (void*)0x08050840 }, { 0x21D8, 0, (void*)0x08050884 }, - { 0x21D9, 0, (void*)0x080508CC }, { 0x21DA, 0, (void*)0x08050910 }, { 0x21DB, 0, (void*)0x0805094C }, - { 0x21DC, 0, (void*)0x08050998 }, { 0x21DD, 0, (void*)0x080509D0 }, { 0x21FC, 0, (void*)0x08050A20 }, - { 0x21FD, 0, (void*)0x08050A50 }, { 0x21FE, 0, (void*)0x08050A74 }, { 0x21FF, 0, (void*)0x08050ABC }, - { 0x2200, 0, (void*)0x08050ADC }, { 0x2201, 0, (void*)0x08050AF0 }, { 0x2202, 0, (void*)0x08050B0C }, - { 0x2203, 0, (void*)0x08050B44 }, { 0x2204, 0, (void*)0x08050B74 }, { 0x2205, 0, (void*)0x08050B98 }, - { 0x2206, 0, (void*)0x08050BCC }, { 0x2207, 0, (void*)0x08050BF8 }, { 0x2208, 0, (void*)0x08050C48 }, - { 0x2209, 0, (void*)0x08050CB0 }, { 0x220A, 0, (void*)0x08050CC4 }, { 0x220B, 0, (void*)0x08050CE0 }, - { 0x220C, 0, (void*)0x08050D10 }, { 0x220D, 0, (void*)0x08050D44 }, { 0x220E, 0, (void*)0x08050D98 }, - { 0x220F, 0, (void*)0x08050DE0 }, { 0x2210, 0, (void*)0x08050E24 }, { 0x2211, 0, (void*)0x08050E44 }, - { 0x2212, 0, (void*)0x08050E78 }, { 0x2213, 0, (void*)0x08050E8C }, { 0x2214, 0, (void*)0x08050ECC }, - { 0x2215, 0, (void*)0x08050F14 }, { 0x2216, 0, (void*)0x08050F44 }, { 0x2217, 0, (void*)0x08050F6C }, - { 0x2218, 0, (void*)0x08050FB4 }, { 0x2219, 0, (void*)0x08050FDC }, { 0x221A, 0, (void*)0x0805100C }, - { 0x221B, 0, (void*)0x08051034 }, { 0x221C, 0, (void*)0x08051054 }, { 0x221D, 0, (void*)0x08051080 }, - { 0x221E, 0, (void*)0x080510A0 }, { 0x221F, 0, (void*)0x080510DC }, { 0x2220, 0, (void*)0x08051104 }, - { 0x2221, 0, (void*)0x08051138 }, { 0x2222, 0, (void*)0x0805114C }, { 0x2223, 0, (void*)0x0805117C }, - { 0x2224, 0, (void*)0x080511A8 }, { 0x2225, 0, (void*)0x080511E4 }, { 0x2226, 0, (void*)0x0805122C }, - { 0x2227, 0, (void*)0x08051258 }, { 0x2228, 0, (void*)0x080512AC }, { 0x2229, 0, (void*)0x080512D8 }, - { 0x222A, 0, (void*)0x08051338 }, { 0x222B, 0, (void*)0x08051374 }, { 0x2328, 0, (void*)0x080513C4 }, - { 0x2329, 0, (void*)0x08051410 }, { 0x232A, 0, (void*)0x08051454 }, { 0x232B, 0, (void*)0x080514B4 }, - { 0x232C, 0, (void*)0x08051514 }, { 0x232D, 0, (void*)0x08051564 }, { 0x232E, 0, (void*)0x080515A8 }, - { 0x232F, 0, (void*)0x080515E4 }, { 0x2330, 0, (void*)0x08051630 }, { 0x2331, 0, (void*)0x08051680 }, - { 0x2332, 0, (void*)0x08051700 }, { 0x2333, 0, (void*)0x08051750 }, { 0x2334, 0, (void*)0x080517AC }, - { 0x2335, 0, (void*)0x08051814 }, { 0x2336, 0, (void*)0x08051868 }, { 0x2337, 0, (void*)0x080518C8 }, - { 0x2338, 0, (void*)0x08051914 }, { 0x2339, 0, (void*)0x08051948 }, { 0x233A, 0, (void*)0x080519A4 }, - { 0x233B, 0, (void*)0x080519D8 }, { 0x233C, 0, (void*)0x08051A10 }, { 0x233D, 0, (void*)0x08051A70 }, - { 0x233E, 0, (void*)0x08051AA4 }, { 0x233F, 0, (void*)0x08051ADC }, { 0x2340, 0, (void*)0x08051B10 }, - { 0x2341, 0, (void*)0x08051B54 }, { 0x2342, 0, (void*)0x08051BC8 }, { 0x2343, 0, (void*)0x08051C38 }, - { 0x2344, 0, (void*)0x08051C70 }, { 0x2345, 0, (void*)0x08051CC0 }, { 0x2346, 0, (void*)0x08051CFC }, - { 0x2347, 0, (void*)0x08051D24 }, { 0x2348, 0, (void*)0x08051DA4 }, { 0x2349, 0, (void*)0x08051DE4 }, - { 0x234A, 0, (void*)0x08051E44 }, { 0x234B, 0, (void*)0x08051E84 }, { 0x234C, 0, (void*)0x08051EA4 }, - { 0x234D, 0, (void*)0x08051EC4 }, { 0x234E, 0, (void*)0x08051F04 }, { 0x234F, 0, (void*)0x08051F30 }, - { 0x2350, 0, (void*)0x08051F48 }, { 0x2351, 0, (void*)0x08051F7C }, { 0x2352, 0, (void*)0x08051FA8 }, - { 0x2353, 0, (void*)0x08051FC0 }, { 0x2354, 0, (void*)0x08051FE4 }, { 0x2355, 0, (void*)0x08052004 }, - { 0x2356, 0, (void*)0x08052020 }, { 0x2357, 0, (void*)0x08052048 }, { 0x2358, 0, (void*)0x080520AC }, - { 0x2359, 0, (void*)0x080520DC }, { 0x235A, 0, (void*)0x08052104 }, { 0x235B, 0, (void*)0x08052138 }, - { 0x235C, 0, (void*)0x0805215C }, { 0x235D, 0, (void*)0x08052188 }, { 0x235E, 0, (void*)0x080522B4 }, - { 0x235F, 0, (void*)0x080522DC }, { 0x2360, 0, (void*)0x08052334 }, { 0x2361, 0, (void*)0x080523A8 }, - { 0x2362, 0, (void*)0x08052400 }, { 0x2363, 0, (void*)0x08052450 }, { 0x2364, 0, (void*)0x0805250C }, - { 0x2365, 0, (void*)0x08052644 }, { 0x2366, 0, (void*)0x080526C0 }, { 0x2367, 0, (void*)0x08052718 }, - { 0x2368, 0, (void*)0x080527E4 }, { 0x2369, 0, (void*)0x080528E0 }, { 0x236A, 0, (void*)0x08052930 }, - { 0x236B, 0, (void*)0x08052A04 }, { 0x236C, 0, (void*)0x08052A40 }, { 0x236D, 0, (void*)0x08052A8C }, - { 0x236E, 0, (void*)0x08052ABC }, { 0x236F, 0, (void*)0x08052AD8 }, { 0x2370, 0, (void*)0x08052B34 }, - { 0x2371, 0, (void*)0x08052B64 }, { 0x2372, 0, (void*)0x08052BE0 }, { 0x2373, 0, (void*)0x08052BF8 }, - { 0x2374, 0, (void*)0x08052C3C }, { 0x2375, 0, (void*)0x08052C80 }, { 0x2376, 0, (void*)0x08052CE4 }, - { 0x2377, 0, (void*)0x08052D08 }, { 0x2378, 0, (void*)0x08052D54 }, { 0x2710, 0, (void*)0x08052D8C }, - { 0x2711, 0, (void*)0x08052E54 }, { 0x2712, 0, (void*)0x08052EA4 }, { 0x2713, 0, (void*)0x08053008 }, - { 0x2714, 0, (void*)0x0805305C }, { 0x2715, 0, (void*)0x080531A0 }, { 0x2716, 0, (void*)0x08053220 }, - { 0x2717, 0, (void*)0x08053284 }, { 0x2718, 0, (void*)0x080532BC }, { 0x2719, 0, (void*)0x08053300 }, - { 0x271A, 0, (void*)0x0805332C }, { 0x271B, 0, (void*)0x08053424 }, { 0x271C, 0, (void*)0x080534AC }, - { 0x271D, 0, (void*)0x08053524 }, { 0x271E, 0, (void*)0x0805358C }, { 0x271F, 0, (void*)0x08053608 }, - { 0x2720, 0, (void*)0x0805367C }, { 0x2721, 0, (void*)0x08053718 }, { 0x2722, 0, (void*)0x0805374C }, - { 0x2723, 0, (void*)0x080537A8 }, { 0x2724, 0, (void*)0x080537F4 }, { 0x2725, 0, (void*)0x08053850 }, - { 0x2726, 0, (void*)0x080538A8 }, { 0x2727, 0, (void*)0x08053914 }, { 0x2728, 0, (void*)0x08053974 }, - { 0x2729, 0, (void*)0x08053A34 }, { 0x272A, 0, (void*)0x08053A4C }, { 0x272B, 0, (void*)0x08053A90 }, - { 0x272C, 0, (void*)0x08053AB0 }, { 0x272D, 0, (void*)0x08053AF4 }, { 0x272E, 0, (void*)0x08053B3C }, - { 0x272F, 0, (void*)0x08053B9C }, { 0x2730, 0, (void*)0x08053BCC }, { 0x2731, 0, (void*)0x08053C04 }, - { 0x2732, 0, (void*)0x08053C70 }, { 0x2733, 0, (void*)0x08053CD8 }, { 0x2734, 0, (void*)0x08053D4C }, - { 0x2735, 0, (void*)0x08053DD4 }, { 0x2736, 0, (void*)0x08053E48 }, { 0x2737, 0, (void*)0x08053EA8 }, - { 0x2738, 0, (void*)0x08053F9C }, { 0x2739, 0, (void*)0x08054038 }, { 0x273A, 0, (void*)0x080540A0 }, - { 0x273B, 0, (void*)0x0805411C }, { 0x273C, 0, (void*)0x08054188 }, { 0x273D, 0, (void*)0x080541D0 }, - { 0x273E, 0, (void*)0x08054278 }, { 0x273F, 0, (void*)0x080542A0 }, { 0x2740, 0, (void*)0x0805432C }, - { 0x2741, 0, (void*)0x080543CC }, { 0x2742, 0, (void*)0x08054478 }, { 0x2743, 0, (void*)0x080544F8 }, - { 0x2744, 0, (void*)0x08054580 }, { 0x2745, 0, (void*)0x08054630 }, { 0x2746, 0, (void*)0x08054674 }, - { 0x2747, 0, (void*)0x080546C4 }, { 0x2748, 0, (void*)0x08054784 }, { 0x2749, 0, (void*)0x080547EC }, - { 0x274A, 0, (void*)0x0805483C }, { 0x274B, 0, (void*)0x0805489C }, { 0x274C, 0, (void*)0x08054924 }, - { 0x274D, 0, (void*)0x0805494C }, { 0x274E, 0, (void*)0x080549E0 }, { 0x274F, 0, (void*)0x08054A90 }, - { 0x2774, 0, (void*)0x08054B24 }, { 0x2775, 0, (void*)0x08054B7C }, { 0x2776, 0, (void*)0x08054C30 }, - { 0x2777, 0, (void*)0x08054C3C }, { 0x2778, 0, (void*)0x08054CD0 }, { 0x2779, 0, (void*)0x08054CDC }, - { 0x277A, 0, (void*)0x08054D00 }, { 0x277B, 0, (void*)0x08054DA4 }, { 0x277C, 0, (void*)0x08054EC8 }, - { 0x277D, 0, (void*)0x08054F54 }, { 0x277E, 0, (void*)0x08054FA0 }, { 0x277F, 0, (void*)0x08055004 }, - { 0x2780, 0, (void*)0x0805503C }, { 0x2781, 0, (void*)0x080550B0 }, { 0x2782, 0, (void*)0x08055110 }, - { 0x2783, 0, (void*)0x08055138 }, { 0x2784, 0, (void*)0x08055160 }, { 0x2785, 0, (void*)0x08055194 }, - { 0x2786, 0, (void*)0x080551E0 }, { 0x2787, 0, (void*)0x08055224 }, { 0x2788, 0, (void*)0x08055264 }, - { 0x2789, 0, (void*)0x080552A8 }, { 0x278A, 0, (void*)0x080552E8 }, { 0x278B, 0, (void*)0x08055310 }, - { 0x278C, 0, (void*)0x0805535C }, { 0x278D, 0, (void*)0x080553E0 }, { 0x278E, 0, (void*)0x08055424 }, - { 0x278F, 0, (void*)0x08055448 }, { 0x2790, 0, (void*)0x08055470 }, { 0x2791, 0, (void*)0x080554F0 }, - { 0x2792, 0, (void*)0x08055510 }, { 0x2793, 0, (void*)0x08055534 }, { 0x2794, 0, (void*)0x080555BC }, - { 0x2795, 0, (void*)0x080555FC }, { 0x2796, 0, (void*)0x0805565C }, { 0x2797, 0, (void*)0x08055688 }, - { 0x2798, 0, (void*)0x080556CC }, { 0x2799, 0, (void*)0x08055700 }, { 0x279A, 0, (void*)0x0805573C }, - { 0x279B, 0, (void*)0x0805576C }, { 0x279C, 0, (void*)0x080557B0 }, { 0x279D, 0, (void*)0x08055804 }, - { 0x279E, 0, (void*)0x08055858 }, { 0x279F, 0, (void*)0x080558DC }, { 0x27A0, 0, (void*)0x0805591C }, - { 0x27A1, 0, (void*)0x08055984 }, { 0x27A2, 0, (void*)0x080559C0 }, { 0x27A3, 0, (void*)0x08055A10 }, - { 0x27A4, 0, (void*)0x08055A38 }, { 0x27A5, 0, (void*)0x08055AB0 }, { 0x27A6, 0, (void*)0x08055AE8 }, - { 0x27A7, 0, (void*)0x08055B1C }, { 0x27A8, 0, (void*)0x08055B60 }, { 0x27A9, 0, (void*)0x08055BA8 }, - { 0x27AA, 0, (void*)0x08055BC0 }, { 0x27AB, 0, (void*)0x08055C10 }, { 0x27AC, 0, (void*)0x08055C34 }, - { 0x27AD, 0, (void*)0x08055CAC }, { 0x27AE, 0, (void*)0x08055CC4 }, { 0x27D8, 0, (void*)0x08055D0C }, - { 0x27D9, 0, (void*)0x08055D50 }, { 0x27DA, 0, (void*)0x08055D94 }, { 0x27DB, 0, (void*)0x08055DCC }, - { 0x27DC, 0, (void*)0x08055E10 }, { 0x27DD, 0, (void*)0x08055E50 }, { 0x27DE, 0, (void*)0x08055ED0 }, - { 0x27DF, 0, (void*)0x08055F14 }, { 0x27E0, 0, (void*)0x08055F70 }, { 0x27E1, 0, (void*)0x08056000 }, - { 0x27E2, 0, (void*)0x0805609C }, { 0x27E3, 0, (void*)0x080560DC }, { 0x27E4, 0, (void*)0x080560F8 }, - { 0x27E5, 0, (void*)0x08056128 }, { 0x27E6, 0, (void*)0x08056170 }, { 0x27E7, 0, (void*)0x08056220 }, - { 0x27E8, 0, (void*)0x0805627C }, { 0x27E9, 0, (void*)0x080562D8 }, { 0x27EA, 0, (void*)0x08056334 }, - { 0x27EB, 0, (void*)0x0805635C }, { 0x27EC, 0, (void*)0x080563B0 }, { 0x27ED, 0, (void*)0x080563D8 }, - { 0x27EE, 0, (void*)0x0805643C }, { 0x27EF, 0, (void*)0x08056468 }, { 0x27F0, 0, (void*)0x08056488 }, - { 0x27F1, 0, (void*)0x080564AC }, { 0x27F2, 0, (void*)0x080564F4 }, { 0x27F3, 0, (void*)0x0805653C }, - { 0x27F4, 0, (void*)0x08056570 }, { 0x27F5, 0, (void*)0x0805662C }, { 0x27F6, 0, (void*)0x0805668C }, - { 0x27F7, 0, (void*)0x080566B0 }, { 0x27F8, 0, (void*)0x080566E4 }, { 0x27F9, 0, (void*)0x08056708 }, - { 0x27FA, 0, (void*)0x08056734 }, { 0x283C, 0, (void*)0x0805678C }, { 0x283D, 0, (void*)0x080567C4 }, - { 0x2841, 0, (void*)0x080567FC }, { 0x2842, 0, (void*)0x08056840 }, { 0x2843, 0, (void*)0x08056878 }, - { 0x2844, 0, (void*)0x080568E0 }, { 0x2845, 0, (void*)0x0805696C }, { 0x2846, 0, (void*)0x080569BC }, - { 0x2847, 0, (void*)0x08056A18 }, { 0x2848, 0, (void*)0x08056A54 }, { 0x2849, 0, (void*)0x08056AB0 }, - { 0x284A, 0, (void*)0x08056AF4 }, { 0x284B, 0, (void*)0x08056B38 }, { 0x284C, 0, (void*)0x08056B88 }, - { 0x284D, 0, (void*)0x08056BCC }, { 0x284E, 0, (void*)0x08056C2C }, { 0x284F, 0, (void*)0x08056C7C }, - { 0x2850, 0, (void*)0x08056CA8 }, { 0x2851, 0, (void*)0x08056CF8 }, { 0x2852, 0, (void*)0x08056D24 }, - { 0x2853, 0, (void*)0x08056D68 }, { 0x2854, 0, (void*)0x08056DC0 }, { 0x2855, 0, (void*)0x08056E04 }, - { 0x2856, 0, (void*)0x08056E50 }, { 0x2857, 0, (void*)0x08056E98 }, { 0x2858, 0, (void*)0x08056EFC }, - { 0x2859, 0, (void*)0x08056F44 }, { 0x285A, 0, (void*)0x08056FA8 }, { 0x285B, 0, (void*)0x08056FE8 }, - { 0x285C, 0, (void*)0x08057014 }, { 0x285D, 0, (void*)0x0805705C }, { 0x285E, 0, (void*)0x08057088 }, - { 0x285F, 0, (void*)0x080570C8 }, { 0x2860, 0, (void*)0x080570FC }, { 0x2861, 0, (void*)0x08057114 }, - { 0x2862, 0, (void*)0x08057174 }, { 0x2863, 0, (void*)0x080571C0 }, { 0x2864, 0, (void*)0x0805722C }, - { 0x2865, 0, (void*)0x08057278 }, { 0x2866, 0, (void*)0x080572E4 }, { 0x2867, 0, (void*)0x08057328 }, - { 0x2868, 0, (void*)0x08057358 }, { 0x2869, 0, (void*)0x080573A4 }, { 0x286A, 0, (void*)0x08057410 }, - { 0x286B, 0, (void*)0x08057454 }, { 0x286C, 0, (void*)0x08057484 }, { 0x286D, 0, (void*)0x080574D0 }, - { 0x286E, 0, (void*)0x080574F8 }, { 0x286F, 0, (void*)0x0805753C }, { 0x2870, 0, (void*)0x080575A8 }, - { 0x2871, 0, (void*)0x080575E4 }, { 0x2872, 0, (void*)0x08057628 }, { 0x2873, 0, (void*)0x0805765C }, - { 0x2874, 0, (void*)0x080576B4 }, { 0x2875, 0, (void*)0x080576D0 }, { 0x2876, 0, (void*)0x08057728 }, - { 0x2877, 0, (void*)0x0805777C }, { 0x2878, 0, (void*)0x080577D4 }, { 0x2879, 0, (void*)0x08057828 }, - { 0x287A, 0, (void*)0x08057890 }, { 0x287B, 0, (void*)0x08057900 }, { 0x287C, 0, (void*)0x08057968 }, - { 0x287D, 0, (void*)0x080579B8 }, { 0x287E, 0, (void*)0x080579E8 }, { 0x287F, 0, (void*)0x08057A5C }, - { 0x2880, 0, (void*)0x08057AA8 }, { 0x2881, 0, (void*)0x08057B24 }, { 0x2882, 0, (void*)0x08057B5C }, - { 0x2883, 0, (void*)0x08057B94 }, { 0x2884, 0, (void*)0x08057BC8 }, { 0x2885, 0, (void*)0x08057BE0 }, - { 0x2886, 0, (void*)0x08057BF8 }, { 0x2887, 0, (void*)0x08057C24 }, { 0x2888, 0, (void*)0x08057C5C }, - { 0x2889, 0, (void*)0x08057C88 }, { 0x288A, 0, (void*)0x08057CB4 }, { 0x288B, 0, (void*)0x08057CD4 }, - { 0x28A0, 0, (void*)0x08057CF0 }, { 0x28A1, 0, (void*)0x08057D20 }, { 0x28A2, 0, (void*)0x08057D5C }, - { 0x28A3, 0, (void*)0x08057D94 }, { 0x28A4, 0, (void*)0x08057E80 }, { 0x28A5, 0, (void*)0x08057F64 }, - { 0x28A6, 0, (void*)0x08057FA8 }, { 0x28A7, 0, (void*)0x08058080 }, { 0x28A8, 0, (void*)0x080580B4 }, - { 0x28A9, 0, (void*)0x080580F4 }, { 0x28AA, 0, (void*)0x08058130 }, { 0x28AB, 0, (void*)0x08058160 }, - { 0x28AC, 0, (void*)0x080581EC }, { 0x28AD, 0, (void*)0x080582C0 }, { 0x28AF, 0, (void*)0x080582DC }, - { 0x28B0, 0, (void*)0x080582F8 }, { 0x28B1, 0, (void*)0x08058340 }, { 0x28B2, 0, (void*)0x080583A8 }, - { 0x28B3, 0, (void*)0x08058400 }, { 0x28B4, 0, (void*)0x08058488 }, { 0x28B5, 0, (void*)0x080584E8 }, - { 0x28B6, 0, (void*)0x08058524 }, { 0x28B7, 0, (void*)0x08058594 }, { 0x28B8, 0, (void*)0x080585F4 }, - { 0x28B9, 0, (void*)0x08058618 }, { 0x28BA, 0, (void*)0x0805864C }, { 0x28BB, 0, (void*)0x08058688 }, - { 0x28BC, 0, (void*)0x080586B8 }, { 0x28BD, 0, (void*)0x080586F8 }, { 0x28BE, 0, (void*)0x0805871C }, - { 0x28BF, 0, (void*)0x08058760 }, { 0x28C0, 0, (void*)0x0805878C }, { 0x28C1, 0, (void*)0x080587B4 }, - { 0x28C2, 0, (void*)0x0805881C }, { 0x28C3, 0, (void*)0x08058880 }, { 0x28C4, 0, (void*)0x080589EC }, - { 0x28C5, 0, (void*)0x08058A60 }, { 0x28C6, 0, (void*)0x08058A78 }, { 0x28C7, 0, (void*)0x08058AC0 }, - { 0x28C8, 0, (void*)0x08058AF4 }, { 0x28C9, 0, (void*)0x08058B54 }, { 0x28CA, 0, (void*)0x08058B9C }, - { 0x28CB, 0, (void*)0x08058BD4 }, { 0x28CC, 0, (void*)0x08058C24 }, { 0x28CD, 0, (void*)0x08058C58 }, - { 0x28CE, 0, (void*)0x08058C6C }, { 0x28CF, 0, (void*)0x08058C88 }, { 0x28D0, 0, (void*)0x08058CCC }, - { 0x28D1, 0, (void*)0x08058D1C }, { 0x28D2, 0, (void*)0x08058D4C }, { 0x28D3, 0, (void*)0x08058DA0 }, - { 0x28D4, 0, (void*)0x08058DF0 }, { 0x28D5, 0, (void*)0x08058E4C }, { 0x28D6, 0, (void*)0x08058EE8 }, - { 0x28D7, 0, (void*)0x08058F10 }, { 0x28D8, 0, (void*)0x08058F60 }, { 0x28D9, 0, (void*)0x0805901C }, - { 0x28DA, 0, (void*)0x08059030 }, { 0x28DB, 0, (void*)0x08059154 }, { 0x28DC, 0, (void*)0x08059184 }, - { 0x28DE, 0, (void*)0x080591A8 }, { 0x28DF, 0, (void*)0x080591E4 }, { 0x28E0, 0, (void*)0x08059220 }, - { 0x28E1, 0, (void*)0x08059260 }, { 0x28E2, 0, (void*)0x080592C8 }, { 0x28E3, 0, (void*)0x0805931C }, - { 0x28E4, 0, (void*)0x08059378 }, { 0x28E5, 0, (void*)0x080593A4 }, { 0x28E6, 0, (void*)0x080593B8 }, - { 0x28E7, 0, (void*)0x080593FC }, { 0x28E8, 0, (void*)0x08059420 }, { 0x28E9, 0, (void*)0x0805945C }, - { 0x28EA, 0, (void*)0x08059480 }, { 0x28EB, 0, (void*)0x080594D4 }, { 0x28EC, 0, (void*)0x08059564 }, - { 0x28ED, 0, (void*)0x080595B8 }, { 0x28EE, 0, (void*)0x080595F8 }, { 0x28EF, 0, (void*)0x08059640 }, - { 0x28F0, 0, (void*)0x080596F8 }, { 0x28F1, 0, (void*)0x08059754 }, { 0x28F2, 0, (void*)0x080597D4 }, - { 0x28F3, 0, (void*)0x08059814 }, { 0x28F4, 0, (void*)0x080599B0 }, { 0x28F5, 0, (void*)0x080599F8 }, - { 0x28F6, 0, (void*)0x08059AC0 }, { 0x28F7, 0, (void*)0x08059AEC }, { 0x28F8, 0, (void*)0x08059B70 }, - { 0x28F9, 0, (void*)0x08059BDC }, { 0x28FA, 0, (void*)0x08059C00 }, { 0x28FB, 0, (void*)0x08059C60 }, - { 0x28FC, 0, (void*)0x08059CBC }, { 0x28FD, 0, (void*)0x08059DA0 }, { 0x28FE, 0, (void*)0x08059DB0 }, - { 0x28FF, 0, (void*)0x08059E2C }, { 0x2900, 0, (void*)0x08059EC8 }, { 0x2901, 0, (void*)0x08059EF4 }, - { 0x2902, 0, (void*)0x08059F70 }, { 0x2903, 0, (void*)0x08059FD0 }, { 0x2904, 0, (void*)0x0805A04C }, - { 0x2905, 0, (void*)0x0805A24C }, { 0x2906, 0, (void*)0x0805A4F8 }, { 0x2907, 0, (void*)0x0805A584 }, - { 0x2908, 0, (void*)0x0805A5C0 }, { 0x2909, 0, (void*)0x0805A60C }, { 0x290A, 0, (void*)0x0805A640 }, - { 0x290B, 0, (void*)0x0805A6C8 }, { 0x290C, 0, (void*)0x0805A9C0 }, { 0x290D, 0, (void*)0x0805AD84 }, - { 0x290E, 0, (void*)0x0805ADF8 }, { 0x290F, 0, (void*)0x0805AE40 }, { 0x2910, 0, (void*)0x0805AE74 }, - { 0x2911, 0, (void*)0x0805AF50 }, { 0x2912, 0, (void*)0x0805AFCC }, { 0x2913, 0, (void*)0x0805B044 }, - { 0x2914, 0, (void*)0x0805B104 }, { 0x2915, 0, (void*)0x0805B1F8 }, { 0x2916, 0, (void*)0x0805B224 }, - { 0x2917, 0, (void*)0x0805B244 }, { 0x2918, 0, (void*)0x0805B2A0 }, { 0x2919, 0, (void*)0x0805B2D0 }, - { 0x291A, 0, (void*)0x0805B314 }, { 0x291B, 0, (void*)0x0805B354 }, { 0x291C, 0, (void*)0x0805B3B0 }, - { 0x291D, 0, (void*)0x0805B400 }, { 0x291E, 0, (void*)0x0805B454 }, { 0x291F, 0, (void*)0x0805B494 }, - { 0x2920, 0, (void*)0x0805B4EC }, { 0x2921, 0, (void*)0x0805B538 }, { 0x2922, 0, (void*)0x0805B58C }, - { 0x2923, 0, (void*)0x0805B600 }, { 0x2924, 0, (void*)0x0805B65C }, { 0x2925, 0, (void*)0x0805B738 }, - { 0x2926, 0, (void*)0x0805B770 }, { 0x2927, 0, (void*)0x0805B794 }, { 0x2928, 0, (void*)0x0805B7C8 }, - { 0x2929, 0, (void*)0x0805B7EC }, { 0x292A, 0, (void*)0x0805B814 }, { 0x292B, 0, (void*)0x0805B8C0 }, - { 0x292C, 0, (void*)0x0805B994 }, { 0x292D, 0, (void*)0x0805BA44 }, { 0x292E, 0, (void*)0x0805BB14 }, - { 0x292F, 0, (void*)0x0805BB74 }, { 0x2930, 0, (void*)0x0805BBEC }, { 0x2931, 0, (void*)0x0805BC40 }, - { 0x2932, 0, (void*)0x0805BCBC }, { 0x2933, 0, (void*)0x0805BD3C }, { 0x2934, 0, (void*)0x0805BDA4 }, - { 0x2935, 0, (void*)0x0805BDE0 }, { 0x2936, 0, (void*)0x0805BE20 }, { 0x2937, 0, (void*)0x0805BE90 }, - { 0x2938, 0, (void*)0x0805BEE8 }, { 0x2939, 0, (void*)0x0805BF5C }, { 0x293A, 0, (void*)0x0805BF80 }, - { 0x293B, 0, (void*)0x0805BFE4 }, { 0x293C, 0, (void*)0x0805C00C }, { 0x293D, 0, (void*)0x0805C094 }, - { 0x293E, 0, (void*)0x0805C0EC }, { 0x293F, 0, (void*)0x0805C168 }, { 0x2940, 0, (void*)0x0805C1EC }, - { 0x2941, 0, (void*)0x0805C258 }, { 0x2942, 0, (void*)0x0805C2DC }, { 0x2943, 0, (void*)0x0805C350 }, - { 0x2944, 0, (void*)0x0805C3B8 }, { 0x2945, 0, (void*)0x0805C3F8 }, { 0x2946, 0, (void*)0x0805C44C }, - { 0x2947, 0, (void*)0x0805C470 }, { 0x2948, 0, (void*)0x0805C4F0 }, { 0x2949, 0, (void*)0x0805C518 }, - { 0x294A, 0, (void*)0x0805C534 }, { 0x294B, 0, (void*)0x0805C54C }, { 0x294C, 0, (void*)0x0805C570 }, - { 0x294D, 0, (void*)0x0805C5A8 }, { 0x294E, 0, (void*)0x0805C680 }, { 0x294F, 0, (void*)0x0805C740 }, - { 0x2950, 0, (void*)0x0805C794 }, { 0x2951, 0, (void*)0x0805C7F4 }, { 0x2952, 0, (void*)0x0805C854 }, - { 0x2953, 0, (void*)0x0805C914 }, { 0x2954, 0, (void*)0x0805C940 }, { 0x2955, 0, (void*)0x0805C980 }, - { 0x2956, 0, (void*)0x0805C9DC }, { 0x2957, 0, (void*)0x0805CA08 }, { 0x2958, 0, (void*)0x0805CA2C }, - { 0x2959, 0, (void*)0x0805CA48 }, { 0x295A, 0, (void*)0x0805CA6C }, { 0x295B, 0, (void*)0x0805CAB4 }, - { 0x295C, 0, (void*)0x0805CB08 }, { 0x295D, 0, (void*)0x0805CB24 }, { 0x295E, 0, (void*)0x0805CB44 }, - { 0x295F, 0, (void*)0x0805CB60 }, { 0x2960, 0, (void*)0x0805CC3C }, { 0x2961, 0, (void*)0x0805CD14 }, - { 0x2962, 0, (void*)0x0805CD3C }, { 0x2968, 0, (void*)0x0805CE60 }, { 0x2969, 0, (void*)0x0805CE78 }, - { 0x296A, 0, (void*)0x0805CEF4 }, { 0x296B, 0, (void*)0x0805CF24 }, { 0x296C, 0, (void*)0x0805CF64 }, - { 0x296D, 0, (void*)0x0805CF9C }, { 0x296E, 0, (void*)0x0805CFB4 }, { 0x296F, 0, (void*)0x0805D018 }, - { 0x2970, 0, (void*)0x0805D08C }, { 0x2971, 0, (void*)0x0805D17C }, { 0x2972, 0, (void*)0x0805D1C4 }, - { 0x2973, 0, (void*)0x0805D234 }, { 0x2974, 0, (void*)0x0805D258 }, { 0x2975, 0, (void*)0x0805D2E4 }, - { 0x2976, 0, (void*)0x0805D314 }, { 0x2977, 0, (void*)0x0805D358 }, { 0x2978, 0, (void*)0x0805D3DC }, - { 0x2979, 0, (void*)0x0805D414 }, { 0x297A, 0, (void*)0x0805D458 }, { 0x29CC, 0, (void*)0x0805D4A8 }, - { 0x29CD, 0, (void*)0x0805D4C0 }, { 0x29CE, 0, (void*)0x0805D514 }, { 0x29CF, 0, (void*)0x0805D550 }, - { 0x29D0, 0, (void*)0x0805D580 }, { 0x29D1, 0, (void*)0x0805D5AC }, { 0x29D2, 0, (void*)0x0805D5D4 }, - { 0x29D3, 0, (void*)0x0805D620 }, { 0x29D4, 0, (void*)0x0805D724 }, { 0x29D5, 0, (void*)0x0805D824 }, - { 0x29D6, 0, (void*)0x0805D864 }, { 0x29D7, 0, (void*)0x0805D8A8 }, { 0x29D8, 0, (void*)0x0805D9A8 }, - { 0x29D9, 0, (void*)0x0805DAA4 }, { 0x29DA, 0, (void*)0x0805DAFC }, { 0x29DB, 0, (void*)0x0805DB3C }, - { 0x29DC, 0, (void*)0x0805DBA0 }, { 0x29DD, 0, (void*)0x0805DBDC }, { 0x29DE, 0, (void*)0x0805DC00 }, - { 0x29DF, 0, (void*)0x0805DC68 }, { 0x29E0, 0, (void*)0x0805DC94 }, { 0x29E1, 0, (void*)0x0805DCC0 }, - { 0x29E2, 0, (void*)0x0805DCE8 }, { 0x29E3, 0, (void*)0x0805DE80 }, { 0x29E4, 0, (void*)0x0805DEC0 }, - { 0x29E5, 0, (void*)0x0805DFAC }, { 0x29E6, 0, (void*)0x0805DFC8 }, { 0x29E7, 0, (void*)0x0805E00C }, - { 0x29E8, 0, (void*)0x0805E098 }, { 0x29E9, 0, (void*)0x0805E0DC }, { 0x29EA, 0, (void*)0x0805E1D0 }, - { 0x29EB, 0, (void*)0x0805E204 }, { 0x29EC, 0, (void*)0x0805E234 }, { 0x29ED, 0, (void*)0x0805E258 }, - { 0x29EE, 0, (void*)0x0805E2A4 }, { 0x29EF, 0, (void*)0x0805E2D4 }, { 0x29F0, 0, (void*)0x0805E314 }, - { 0x29F1, 0, (void*)0x0805E344 }, { 0x29F2, 0, (void*)0x0805E390 }, { 0x29F3, 0, (void*)0x0805E3EC }, - { 0x29F4, 0, (void*)0x0805E428 }, { 0x29F5, 0, (void*)0x0805E49C }, { 0x29F8, 0, (void*)0x0805E4D8 }, - { 0x29F9, 0, (void*)0x0805E530 }, { 0x29FA, 0, (void*)0x0805E56C }, { 0x29FB, 0, (void*)0x0805E5B8 }, - { 0x29FC, 0, (void*)0x0805E608 }, { 0x29FD, 0, (void*)0x0805E654 }, { 0x29FE, 0, (void*)0x0805E6C8 }, - { 0x29FF, 0, (void*)0x0805E700 }, { 0x2A00, 0, (void*)0x0805E7B4 }, { 0x2A01, 0, (void*)0x0805E7D0 }, - { 0x2A02, 0, (void*)0x0805E81C }, { 0x2A30, 0, (void*)0x0805E878 }, { 0x2A31, 0, (void*)0x0805E898 }, - { 0x2A32, 0, (void*)0x0805E8DC }, { 0x2A33, 0, (void*)0x0805E94C }, { 0x2A34, 0, (void*)0x0805EA04 }, - { 0x2A35, 0, (void*)0x0805EA90 }, { 0x2A36, 0, (void*)0x0805EB14 }, { 0x2A37, 0, (void*)0x0805EB4C }, - { 0x2A38, 0, (void*)0x0805EBD0 }, { 0x2A39, 0, (void*)0x0805EC28 }, { 0x2A3A, 0, (void*)0x0805EC40 }, - { 0x2A94, 0, (void*)0x0805EC78 }, { 0x2A95, 0, (void*)0x0805ECA4 }, { 0x2A96, 0, (void*)0x0805ECD0 }, - { 0x2A97, 0, (void*)0x0805EDEC }, { 0x2A98, 0, (void*)0x0805EF18 }, { 0x2A99, 0, (void*)0x0805EF50 }, - { 0x2A9A, 0, (void*)0x0805EFE0 }, { 0x2A9B, 0, (void*)0x0805F120 }, { 0x2A9C, 0, (void*)0x0805F254 }, - { 0x2A9D, 0, (void*)0x0805F30C }, { 0x2A9E, 0, (void*)0x0805F3CC }, { 0x2A9F, 0, (void*)0x0805F4B4 }, - { 0x2AA0, 0, (void*)0x0805F5D0 }, { 0x2AA1, 0, (void*)0x0805F604 }, { 0x2AA2, 0, (void*)0x0805F63C }, - { 0x2AA3, 0, (void*)0x0805F68C }, { 0x2AA4, 0, (void*)0x0805F6BC }, { 0x2AA5, 0, (void*)0x0805F71C }, - { 0x2AA6, 0, (void*)0x0805F760 }, { 0x2AA7, 0, (void*)0x0805F7E4 }, { 0x2AA8, 0, (void*)0x0805F81C }, - { 0x2AA9, 0, (void*)0x0805F834 }, { 0x2AAA, 0, (void*)0x0805F870 }, { 0x2AAB, 0, (void*)0x0805F888 }, - { 0x2AAC, 0, (void*)0x0805F8B0 }, { 0x2AAD, 0, (void*)0x0805F8D4 }, { 0x2AAE, 0, (void*)0x0805F944 }, - { 0x2AAF, 0, (void*)0x0805F988 }, { 0x2AB0, 0, (void*)0x0805F9B0 }, { 0x2AB1, 0, (void*)0x0805FA58 }, - { 0x2AB2, 0, (void*)0x0805FA6C }, { 0x2AB3, 0, (void*)0x0805FA80 }, { 0x2AB4, 0, (void*)0x0805FB0C }, - { 0x2AB5, 0, (void*)0x0805FB20 }, { 0x2AB6, 0, (void*)0x0805FB64 }, { 0x2AB7, 0, (void*)0x0805FB80 }, - { 0x2AB8, 0, (void*)0x0805FB9C }, { 0x2AB9, 0, (void*)0x0805FBF4 }, { 0x2ABA, 0, (void*)0x0805FC24 }, - { 0x2ABB, 0, (void*)0x0805FC88 }, { 0x2ABC, 0, (void*)0x0805FCB0 }, { 0x2ABD, 0, (void*)0x0805FCD8 }, - { 0x2ABE, 0, (void*)0x0805FDD8 }, { 0x2ABF, 0, (void*)0x0805FDFC }, { 0x2AC0, 0, (void*)0x0805FF50 }, - { 0x2AC1, 0, (void*)0x0805FF7C }, { 0x2AC2, 0, (void*)0x080600D0 }, { 0x2AC3, 0, (void*)0x080600EC }, - { 0x2AC4, 0, (void*)0x080601F8 }, { 0x2AC5, 0, (void*)0x0806022C }, { 0x2AC6, 0, (void*)0x08060250 }, - { 0x2AC7, 0, (void*)0x08060260 }, { 0x2AC8, 0, (void*)0x08060270 }, { 0x2AC9, 0, (void*)0x08060280 }, - { 0x2ACA, 0, (void*)0x080602E0 }, { 0x2ACB, 0, (void*)0x0806030C }, { 0x2ACC, 0, (void*)0x08060340 }, - { 0x2ACD, 0, (void*)0x080603A4 }, { 0x2ACE, 0, (void*)0x080603C0 }, { 0x2ACF, 0, (void*)0x0806047C }, - { 0x2AD0, 0, (void*)0x08060494 }, { 0x2AD1, 0, (void*)0x0806053C }, { 0x2AD2, 0, (void*)0x080605B0 }, - { 0x2AD3, 0, (void*)0x080605FC }, { 0x2AD4, 0, (void*)0x0806067C }, { 0x2AD5, 0, (void*)0x080606A0 }, - { 0x2AD6, 0, (void*)0x080606BC }, { 0x2AD7, 0, (void*)0x080606EC }, { 0x2AD8, 0, (void*)0x08060724 }, - { 0x2AD9, 0, (void*)0x08060748 }, { 0x2ADA, 0, (void*)0x08060794 }, { 0x2ADB, 0, (void*)0x08060814 }, - { 0x2ADC, 0, (void*)0x08060874 }, { 0x2ADD, 0, (void*)0x080608B4 }, { 0x2ADE, 0, (void*)0x080608D0 }, - { 0x2ADF, 0, (void*)0x08060960 }, { 0x2AE0, 0, (void*)0x08060A00 }, { 0x2AE1, 0, (void*)0x08060AA8 }, - { 0x2AE2, 0, (void*)0x08060AD4 }, { 0x2AE3, 0, (void*)0x08060B10 }, { 0x2AE4, 0, (void*)0x08060B74 }, - { 0x2AE5, 0, (void*)0x08060BD0 }, { 0x2AE6, 0, (void*)0x08060C6C }, { 0x2AEA, 0, (void*)0x08060CDC }, - { 0x2AEB, 0, (void*)0x08060D1C }, { 0x2AEC, 0, (void*)0x08060D70 }, { 0x2AED, 0, (void*)0x08060D98 }, - { 0x2AEE, 0, (void*)0x08060DB8 }, { 0x2AF8, 0, (void*)0x08060DC8 }, { 0x2AF9, 0, (void*)0x08060DE4 }, - { 0x2AFA, 0, (void*)0x08060EC8 }, { 0x2AFB, 0, (void*)0x08060FC0 }, { 0x2AFC, 0, (void*)0x080610CC }, - { 0x2AFD, 0, (void*)0x080611BC }, { 0x2AFE, 0, (void*)0x080611F4 }, { 0x2AFF, 0, (void*)0x080612EC }, - { 0x2B00, 0, (void*)0x080613FC }, { 0x2B01, 0, (void*)0x08061448 }, { 0x2B02, 0, (void*)0x08061470 }, - { 0x2B03, 0, (void*)0x080614D0 }, { 0x2B04, 0, (void*)0x08061504 }, { 0x2B05, 0, (void*)0x08061578 }, - { 0x2B06, 0, (void*)0x080615DC }, { 0x2B07, 0, (void*)0x08061658 }, { 0x2B08, 0, (void*)0x0806167C }, - { 0x2B09, 0, (void*)0x080616C0 }, { 0x2B0A, 0, (void*)0x08061714 }, { 0x2B0B, 0, (void*)0x08061750 }, - { 0x2B0C, 0, (void*)0x080617A8 }, { 0x2B0D, 0, (void*)0x080617D8 }, { 0x2B0E, 0, (void*)0x08061810 }, - { 0x2B0F, 0, (void*)0x08061890 }, { 0x2B10, 0, (void*)0x080619A0 }, { 0x2B11, 0, (void*)0x08061AD8 }, - { 0x2B12, 0, (void*)0x08061B44 }, { 0x2B13, 0, (void*)0x08061BA0 }, { 0x2B14, 0, (void*)0x08061C0C }, - { 0x2B15, 0, (void*)0x08061C44 }, { 0x2B16, 0, (void*)0x08061CE0 }, { 0x2B17, 0, (void*)0x08061D4C }, - { 0x2B18, 0, (void*)0x08061D70 }, { 0x2B19, 0, (void*)0x08061DD4 }, { 0x2B1A, 0, (void*)0x08061EB4 }, - { 0x2B1B, 0, (void*)0x08061F10 }, { 0x2B1C, 0, (void*)0x08061F88 }, { 0x2B1D, 0, (void*)0x08061FC4 }, - { 0x2B1E, 0, (void*)0x08061FEC }, { 0x2B1F, 0, (void*)0x08062024 }, { 0x2B20, 0, (void*)0x0806209C }, - { 0x2B21, 0, (void*)0x0806212C }, { 0x2B22, 0, (void*)0x08062164 }, { 0x2B23, 0, (void*)0x080621A8 }, - { 0x2B24, 0, (void*)0x0806229C }, { 0x2B25, 0, (void*)0x080622D8 }, { 0x2B26, 0, (void*)0x080622F8 }, - { 0x2B27, 0, (void*)0x08062350 }, { 0x2B28, 0, (void*)0x080623A0 }, { 0x2B29, 0, (void*)0x080623D0 }, - { 0x2B2A, 0, (void*)0x08062428 }, { 0x2B2B, 0, (void*)0x08062478 }, { 0x2B2C, 0, (void*)0x080624AC }, - { 0x2B2D, 0, (void*)0x08062500 }, { 0x2B2E, 0, (void*)0x08062550 }, { 0x2B2F, 0, (void*)0x08062580 }, - { 0x2B30, 0, (void*)0x080625D4 }, { 0x2B31, 0, (void*)0x08062624 }, { 0x2B32, 0, (void*)0x08062650 }, - { 0x2B33, 0, (void*)0x08062670 }, { 0x2B34, 0, (void*)0x080626B0 }, { 0x2B35, 0, (void*)0x080626DC }, - { 0x2B36, 0, (void*)0x080626FC }, { 0x2B37, 0, (void*)0x0806273C }, { 0x2B38, 0, (void*)0x080627D8 }, - { 0x2B39, 0, (void*)0x08062890 }, { 0x2B3A, 0, (void*)0x08062910 }, { 0x2B3B, 0, (void*)0x08062968 }, - { 0x2B3C, 0, (void*)0x080629A4 }, { 0x2B3D, 0, (void*)0x080629E0 }, { 0x2B3E, 0, (void*)0x08062A90 }, - { 0x2B3F, 0, (void*)0x08062AD8 }, { 0x2B40, 0, (void*)0x08062B34 }, { 0x2B5C, 0, (void*)0x08062B84 }, - { 0x2B5D, 0, (void*)0x08062C3C }, { 0x2B5E, 0, (void*)0x08062C68 }, { 0x2B5F, 0, (void*)0x08062C94 }, - { 0x2B60, 0, (void*)0x08062CE8 }, { 0x2B61, 0, (void*)0x08062D8C }, { 0x2B62, 0, (void*)0x08062E34 }, - { 0x2B63, 0, (void*)0x08062E84 }, { 0x2B64, 0, (void*)0x08062F18 }, { 0x2B65, 0, (void*)0x08062F50 }, - { 0x2B66, 0, (void*)0x08062F98 }, { 0x2B67, 0, (void*)0x08062FE0 }, { 0x32C8, 0, (void*)0x08063054 }, - { 0x32C9, 0, (void*)0x080630D8 }, { 0x32CA, 0, (void*)0x08063120 }, { 0x32CB, 0, (void*)0x08063184 }, - { 0x32CC, 0, (void*)0x080631E0 }, { 0x32CD, 0, (void*)0x08063210 }, { 0x32CE, 0, (void*)0x0806326C }, - { 0x32CF, 0, (void*)0x08063294 }, { 0x32D0, 0, (void*)0x080632B4 }, { 0x32D1, 0, (void*)0x08063300 }, - { 0x32D2, 0, (void*)0x08063338 }, { 0x32D3, 0, (void*)0x08063384 }, { 0x32D4, 0, (void*)0x080633B4 }, - { 0x332C, 0, (void*)0x080633E8 }, { 0x332D, 0, (void*)0x08063408 }, { 0x332E, 0, (void*)0x080634FC }, - { 0x332F, 0, (void*)0x0806356C }, { 0x3330, 0, (void*)0x08063594 }, { 0x3331, 0, (void*)0x080635AC }, - { 0x3332, 0, (void*)0x080635D0 }, { 0x3333, 0, (void*)0x08063618 }, { 0x3334, 0, (void*)0x0806369C }, - { 0x3335, 0, (void*)0x08063714 }, { 0x3336, 0, (void*)0x08063734 }, { 0x3337, 0, (void*)0x08063788 }, - { 0x3338, 0, (void*)0x080637AC }, { 0x3339, 0, (void*)0x080637CC }, { 0x333A, 0, (void*)0x08063838 }, - { 0x333B, 0, (void*)0x08063868 }, { 0x333C, 0, (void*)0x08063898 }, { 0x333D, 0, (void*)0x08063948 }, - { 0x333E, 0, (void*)0x08063988 }, { 0x333F, 0, (void*)0x080639AC }, { 0x3340, 0, (void*)0x08063A58 }, - { 0x3341, 0, (void*)0x08063AB0 }, { 0x3342, 0, (void*)0x08063B24 }, { 0x3343, 0, (void*)0x08063BBC }, - { 0x3344, 0, (void*)0x08063C28 }, { 0x3345, 0, (void*)0x08063CF0 }, { 0x3346, 0, (void*)0x08063D24 }, - { 0x3347, 0, (void*)0x08063D5C }, { 0x3348, 0, (void*)0x08063D8C }, { 0x3349, 0, (void*)0x08063DEC }, - { 0x334A, 0, (void*)0x08063E70 }, { 0x334B, 0, (void*)0x08063EA8 }, { 0x334C, 0, (void*)0x08063EC4 }, - { 0x334D, 0, (void*)0x08063FB4 }, { 0x334E, 0, (void*)0x08063FDC }, { 0x334F, 0, (void*)0x08064038 }, - { 0x3350, 0, (void*)0x08064058 }, { 0x3351, 0, (void*)0x0806408C }, { 0x3352, 0, (void*)0x080640B0 }, - { 0x3353, 0, (void*)0x080640E0 }, { 0x3354, 0, (void*)0x08064168 }, { 0x3355, 0, (void*)0x080641B4 }, - { 0x3356, 0, (void*)0x080641EC }, { 0x3357, 0, (void*)0x08064218 }, { 0x3358, 0, (void*)0x08064230 }, - { 0x3359, 0, (void*)0x08064264 }, { 0x335A, 0, (void*)0x08064298 }, { 0x335B, 0, (void*)0x080642F0 }, - { 0x335C, 0, (void*)0x08064354 }, { 0x335D, 0, (void*)0x0806437C }, { 0x335E, 0, (void*)0x080643B4 }, - { 0x335F, 0, (void*)0x080643E4 }, { 0x3360, 0, (void*)0x0806444C }, { 0x3361, 0, (void*)0x08064498 }, - { 0x3362, 0, (void*)0x080644EC }, { 0x3363, 0, (void*)0x0806453C }, { 0x3364, 0, (void*)0x08064564 }, - { 0x3365, 0, (void*)0x08064654 }, { 0x3366, 0, (void*)0x08064718 }, { 0x3367, 0, (void*)0x080647E4 }, - { 0x3368, 0, (void*)0x08064860 }, { 0x3369, 0, (void*)0x080648B8 }, { 0x336A, 0, (void*)0x08064988 }, - { 0x336B, 0, (void*)0x080649F4 }, { 0x336C, 0, (void*)0x08064A44 }, { 0x336D, 0, (void*)0x08064AA0 }, - { 0x336E, 0, (void*)0x08064AE8 }, { 0x336F, 0, (void*)0x08064B10 }, { 0x3370, 0, (void*)0x08064B64 }, - { 0x3371, 0, (void*)0x08064BBC }, { 0x3390, 0, (void*)0x08064BEC }, { 0x3391, 0, (void*)0x08064C24 }, - { 0x3392, 0, (void*)0x08064CE0 }, { 0x3393, 0, (void*)0x08064D4C }, { 0x3394, 0, (void*)0x08064DA0 }, - { 0x3395, 0, (void*)0x08064E04 }, { 0x3396, 0, (void*)0x08064F10 }, { 0x3397, 0, (void*)0x08064F84 }, - { 0x3398, 0, (void*)0x08064FBC }, { 0x3399, 0, (void*)0x08065070 }, { 0x339A, 0, (void*)0x080650DC }, - { 0x339B, 0, (void*)0x08065144 }, { 0x339C, 0, (void*)0x0806516C }, { 0x339D, 0, (void*)0x0806519C }, - { 0x339E, 0, (void*)0x080651D4 }, { 0x339F, 0, (void*)0x080651F0 }, { 0x33A0, 0, (void*)0x0806524C }, - { 0x33A1, 0, (void*)0x08065358 }, { 0x33A2, 0, (void*)0x080653CC }, { 0x33A3, 0, (void*)0x08065408 }, - { 0x33A4, 0, (void*)0x08065438 }, { 0x33A5, 0, (void*)0x08065470 }, { 0x33A6, 0, (void*)0x080654CC }, - { 0x33A7, 0, (void*)0x08065510 }, { 0x33A8, 0, (void*)0x0806555C }, { 0x33A9, 0, (void*)0x080655A0 }, - { 0x33AA, 0, (void*)0x080655C0 }, { 0x33AB, 0, (void*)0x08065600 }, { 0x33AC, 0, (void*)0x08065658 }, - { 0x33AD, 0, (void*)0x08065678 }, { 0x33AE, 0, (void*)0x08065710 }, { 0x33AF, 0, (void*)0x080657A8 }, - { 0x33B0, 0, (void*)0x080657D0 }, { 0x33B1, 0, (void*)0x080657E8 }, { 0x33B2, 0, (void*)0x08065860 }, - { 0x33B3, 0, (void*)0x080658E4 }, { 0x33B4, 0, (void*)0x08065930 }, { 0x33B5, 0, (void*)0x0806597C }, - { 0x33B6, 0, (void*)0x080659DC }, { 0x33B7, 0, (void*)0x08065A28 }, { 0x33B8, 0, (void*)0x08065ABC }, - { 0x33B9, 0, (void*)0x08065AE0 }, { 0x33BA, 0, (void*)0x08065B08 }, { 0x33BB, 0, (void*)0x08065B7C }, - { 0x33BC, 0, (void*)0x08065BD8 }, { 0x33BD, 0, (void*)0x08065C5C }, { 0x33BE, 0, (void*)0x08065C88 }, - { 0x33BF, 0, (void*)0x08065CCC }, { 0x33C0, 0, (void*)0x08065D30 }, { 0x33C1, 0, (void*)0x08065DD4 }, - { 0x33C2, 0, (void*)0x08065E24 }, { 0x33C3, 0, (void*)0x08065E84 }, { 0x33C4, 0, (void*)0x08065F4C }, - { 0x33C5, 0, (void*)0x08066024 }, { 0x33C6, 0, (void*)0x08066120 }, { 0x33C7, 0, (void*)0x08066144 }, - { 0x33C8, 0, (void*)0x08066200 }, { 0x33C9, 0, (void*)0x08066268 }, { 0x33CA, 0, (void*)0x0806629C }, - { 0x33CB, 0, (void*)0x080662D0 }, { 0x33CC, 0, (void*)0x0806630C }, { 0x33CD, 0, (void*)0x08066324 }, - { 0x33CE, 0, (void*)0x0806635C }, { 0x33CF, 0, (void*)0x0806637C }, { 0x33D0, 0, (void*)0x080663AC }, - { 0x33D1, 0, (void*)0x08066464 }, { 0x33D2, 0, (void*)0x08066578 }, { 0x33D3, 0, (void*)0x080665F4 }, - { 0x33D4, 0, (void*)0x0806665C }, { 0x33D5, 0, (void*)0x080666D0 }, { 0x33D6, 0, (void*)0x08066708 }, - { 0x33D7, 0, (void*)0x08066788 }, { 0x33D8, 0, (void*)0x080667D4 }, { 0x33D9, 0, (void*)0x08066834 }, - { 0x33F4, 0, (void*)0x080668FC }, { 0x33F5, 0, (void*)0x08066934 }, { 0x33F6, 0, (void*)0x080669DC }, - { 0x33F7, 0, (void*)0x08066A3C }, { 0x33F9, 0, (void*)0x08066B00 }, { 0x3458, 0, (void*)0x08066B40 }, - { 0x3459, 0, (void*)0x08066B60 }, { 0x345A, 0, (void*)0x08066BC0 }, { 0x345B, 0, (void*)0x08066C10 }, - { 0x345C, 0, (void*)0x08066C7C }, { 0x345D, 0, (void*)0x08066CB8 }, { 0x345E, 0, (void*)0x08066D20 }, - { 0x345F, 0, (void*)0x08066D90 }, { 0x3460, 0, (void*)0x08066E58 }, { 0x3461, 0, (void*)0x08066E9C }, - { 0x3462, 0, (void*)0x08066EE8 }, { 0x3463, 0, (void*)0x08066F38 }, { 0x3464, 0, (void*)0x08066F64 }, - { 0x3465, 0, (void*)0x08066FF8 }, { 0x3466, 0, (void*)0x080670A4 }, { 0x3467, 0, (void*)0x080670F0 }, - { 0x3468, 0, (void*)0x08067144 }, { 0x3469, 0, (void*)0x08067174 }, { 0x346A, 0, (void*)0x080671E8 }, - { 0x346B, 0, (void*)0x08067208 }, { 0x346C, 0, (void*)0x08067224 }, { 0x346D, 0, (void*)0x0806728C }, - { 0x346E, 0, (void*)0x0806731C }, { 0x346F, 0, (void*)0x0806739C }, { 0x3470, 0, (void*)0x08067400 }, - { 0x3471, 0, (void*)0x0806743C }, { 0x3472, 0, (void*)0x0806746C }, { 0x3473, 0, (void*)0x080674B0 }, - { 0x3474, 0, (void*)0x08067520 }, { 0x3475, 0, (void*)0x08067594 }, { 0x3476, 0, (void*)0x080675B8 }, - { 0x3477, 0, (void*)0x080675E0 }, { 0x3478, 0, (void*)0x08067618 }, { 0x3479, 0, (void*)0x08067648 }, - { 0x347A, 0, (void*)0x08067688 }, { 0x347B, 0, (void*)0x080676B0 }, { 0x347C, 0, (void*)0x080676F0 }, - { 0x347D, 0, (void*)0x08067760 }, { 0x347E, 0, (void*)0x080677A4 }, { 0x347F, 0, (void*)0x080677F4 }, - { 0x3480, 0, (void*)0x0806782C }, { 0x3481, 0, (void*)0x080678A0 }, { 0x3482, 0, (void*)0x080678C8 }, - { 0x3483, 0, (void*)0x080678F8 }, { 0x3484, 0, (void*)0x08067934 }, { 0x3485, 0, (void*)0x08067990 }, - { 0x3486, 0, (void*)0x080679E0 }, { 0x3487, 0, (void*)0x08067A18 }, { 0x3488, 0, (void*)0x08067A68 }, - { 0x3489, 0, (void*)0x08067AE8 }, { 0x348A, 0, (void*)0x08067B54 }, { 0x348B, 0, (void*)0x08067BBC }, - { 0x348C, 0, (void*)0x08067C0C }, { 0x348D, 0, (void*)0x08067C5C }, { 0x348E, 0, (void*)0x08067CB8 }, - { 0x348F, 0, (void*)0x08067D6C }, { 0x3490, 0, (void*)0x08067DE0 }, { 0x3491, 0, (void*)0x08067E2C }, - { 0x3492, 0, (void*)0x08067E80 }, { 0x3493, 0, (void*)0x08067EDC }, { 0x3494, 0, (void*)0x08067F20 }, - { 0x3495, 0, (void*)0x08067F44 }, { 0x3496, 0, (void*)0x08067F64 }, { 0x3497, 0, (void*)0x08067FEC }, - { 0x3498, 0, (void*)0x0806803C }, { 0x3499, 0, (void*)0x08068094 }, { 0x349A, 0, (void*)0x080680C8 }, - { 0x349B, 0, (void*)0x080680FC }, { 0x349C, 0, (void*)0x0806812C }, { 0x349D, 0, (void*)0x08068158 }, - { 0x349E, 0, (void*)0x08068180 }, { 0x349F, 0, (void*)0x080681C0 }, { 0x34A0, 0, (void*)0x08068224 }, - { 0x34A1, 0, (void*)0x08068278 }, { 0x34A2, 0, (void*)0x080682C0 }, { 0x34A3, 0, (void*)0x0806830C }, - { 0x34A4, 0, (void*)0x08068394 }, { 0x34A5, 0, (void*)0x080683F4 }, { 0x34A6, 0, (void*)0x08068430 }, - { 0x34A7, 0, (void*)0x08068498 }, { 0x34A8, 0, (void*)0x080684FC }, { 0x34A9, 0, (void*)0x08068544 }, - { 0x34AA, 0, (void*)0x08068564 }, { 0x34AB, 0, (void*)0x08068598 }, { 0x34AC, 0, (void*)0x0806860C }, - { 0x34AD, 0, (void*)0x08068640 }, { 0x34AE, 0, (void*)0x080686F4 }, { 0x34AF, 0, (void*)0x08068768 }, - { 0x34B0, 0, (void*)0x08068780 }, { 0x34B1, 0, (void*)0x080687E0 }, { 0x34B2, 0, (void*)0x080687F8 }, - { 0x34B3, 0, (void*)0x08068860 }, { 0x3520, 0, (void*)0x080688F4 }, { 0x3521, 0, (void*)0x08068958 }, - { 0x3522, 0, (void*)0x080689C8 }, { 0x3523, 0, (void*)0x08068A38 }, { 0x3524, 0, (void*)0x08068A88 }, - { 0x3525, 0, (void*)0x08068B04 }, { 0x3526, 0, (void*)0x08068B30 }, { 0x3527, 0, (void*)0x08068B7C }, - { 0x3528, 0, (void*)0x08068CA0 }, { 0x3529, 0, (void*)0x08068CF4 }, { 0x352A, 0, (void*)0x08068D1C }, - { 0x352B, 0, (void*)0x08068DB0 }, { 0x352C, 0, (void*)0x08068E28 }, { 0x352D, 0, (void*)0x08068E78 }, - { 0x352E, 0, (void*)0x08068F14 }, { 0x352F, 0, (void*)0x08068F78 }, { 0x3530, 0, (void*)0x08068FA0 }, - { 0x3531, 0, (void*)0x08069020 }, { 0x3532, 0, (void*)0x080690CC }, { 0x3533, 0, (void*)0x0806913C }, - { 0x3534, 0, (void*)0x080691B0 }, { 0x3535, 0, (void*)0x08069224 }, { 0x3536, 0, (void*)0x0806923C }, - { 0x3537, 0, (void*)0x08069284 }, { 0x3538, 0, (void*)0x080692D8 }, { 0x3539, 0, (void*)0x08069314 }, - { 0x353A, 0, (void*)0x08069358 }, { 0x353B, 0, (void*)0x08069390 }, { 0x353C, 0, (void*)0x080693E4 }, - { 0x353D, 0, (void*)0x08069434 }, { 0x353E, 0, (void*)0x08069490 }, { 0x353F, 0, (void*)0x080694C4 }, - { 0x3540, 0, (void*)0x08069524 }, { 0x3541, 0, (void*)0x0806957C }, { 0x3542, 0, (void*)0x080695C0 }, - { 0x3543, 0, (void*)0x08069608 }, { 0x3544, 0, (void*)0x08069668 }, { 0x3545, 0, (void*)0x080696DC }, - { 0x3546, 0, (void*)0x08069734 }, { 0x3548, 0, (void*)0x08069774 }, { 0x3549, 0, (void*)0x08069814 }, - { 0x354A, 0, (void*)0x080698A0 }, { 0x354B, 0, (void*)0x08069930 }, { 0x354C, 0, (void*)0x08069998 }, - { 0xFFFC, 0, (void*)0x080699C8 }, { 0xFFFD, 0, (void*)0x080699D4 }, { 0xFFFF, 0, NULL }, -}; - -MessageTableEntry D_801CFB08[46] = { - { 0x4E20, 0xB0, (void*)0x07000000 }, { 0x4E21, 0xB0, (void*)0x0700003C }, - { 0x4E22, 0xB0, (void*)0x07000094 }, { 0x4E23, 0xB0, (void*)0x070000F0 }, - { 0x4E24, 0xB0, (void*)0x07000140 }, { 0x4E25, 0xB0, (void*)0x0700019C }, - { 0x4E26, 0xB0, (void*)0x070001D8 }, { 0x4E27, 0xB0, (void*)0x07000248 }, - { 0x4E28, 0xB0, (void*)0x0700027C }, { 0x4E29, 0xB0, (void*)0x070002E0 }, - { 0x4E2A, 0xB0, (void*)0x0700033C }, { 0x4E2B, 0xB0, (void*)0x07000384 }, - { 0x4E2C, 0xB0, (void*)0x070003C8 }, { 0x4E2D, 0xB0, (void*)0x0700040C }, - { 0x4E2E, 0xB0, (void*)0x07000450 }, { 0x4E2F, 0xB0, (void*)0x070004A8 }, - { 0x4E30, 0xB0, (void*)0x07000504 }, { 0x4E31, 0xB0, (void*)0x07000564 }, - { 0x4E32, 0xB0, (void*)0x070005CC }, { 0x4E33, 0xB0, (void*)0x07000610 }, - { 0x4E34, 0xB0, (void*)0x07000654 }, { 0x4E35, 0xB0, (void*)0x07000698 }, - { 0x4E36, 0xB0, (void*)0x070006F8 }, { 0x4E37, 0xB0, (void*)0x07000750 }, - { 0x4E38, 0xB0, (void*)0x07000798 }, { 0x4E39, 0xB0, (void*)0x0700081C }, - { 0x4E3A, 0xB0, (void*)0x07000888 }, { 0x4E3B, 0xB0, (void*)0x07000924 }, - { 0x4E3C, 0xB0, (void*)0x070009B4 }, { 0x4E3D, 0xB0, (void*)0x070009E8 }, - { 0x4E3E, 0xB0, (void*)0x07000A78 }, { 0x4E3F, 0xB0, (void*)0x07000AB0 }, - { 0x4E40, 0xB0, (void*)0x07000B2C }, { 0x4E41, 0xB0, (void*)0x07000B54 }, - { 0x4E42, 0xB0, (void*)0x07000B7C }, { 0x4E43, 0xB0, (void*)0x07000BA4 }, - { 0x4E44, 0xB0, (void*)0x07000BCC }, { 0x4E45, 0xB0, (void*)0x07000BF4 }, - { 0x4E46, 0xB0, (void*)0x07000C1C }, { 0x4E47, 0xB0, (void*)0x07000C44 }, - { 0x4E48, 0xB0, (void*)0x07000C6C }, { 0x4E49, 0xB0, (void*)0x07000CEC }, - { 0x4E4A, 0xB0, (void*)0x07000D5C }, { 0x4E4B, 0xB0, (void*)0x07000DC8 }, - { 0x4E4C, 0xB0, (void*)0x07000E54 }, { 0xFFFF, 0, NULL }, -}; diff --git a/src/code/z_play.c b/src/code/z_play.c index 9ef0baa6a2..83b932b28e 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -967,7 +967,7 @@ void Play_UpdateMain(PlayState* this) { if ((gSaveContext.gameMode == GAMEMODE_NORMAL) && (((this->msgCtx.msgMode == MSGMODE_NONE)) || ((this->msgCtx.currentTextId == 0xFF) && (this->msgCtx.msgMode == MSGMODE_TEXT_DONE) && - (this->msgCtx.textboxEndType == TEXTBOX_ENDTYPE_41)) || + (this->msgCtx.textboxEndType == TEXTBOX_ENDTYPE_PAUSE_MENU)) || ((this->msgCtx.currentTextId >= 0x100) && (this->msgCtx.currentTextId <= 0x200))) && (this->gameOverCtx.state == GAMEOVER_INACTIVE)) { KaleidoSetup_Update(this); diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c index 5c7d40d2c5..18f4500d48 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c @@ -272,7 +272,7 @@ void func_80954340(BgIngate* this, PlayState* play) { void func_809543D4(BgIngate* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_CHOICE) || (talkState == TEXT_STATE_5)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_CHOICE) || (talkState == TEXT_STATE_EVENT)) && Message_ShouldAdvance(play)) { switch (this->dyna.actor.textId) { case 0x9E4: this->dyna.actor.textId = 0x9E5; diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c index d44653cda6..e6a97c01f0 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c @@ -1332,7 +1332,7 @@ void func_80BEEE10(EnAkindonuts* this, PlayState* play) { void func_80BEEFA8(EnAkindonuts* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if (this->unk_32C & 1) { this->unk_32C &= ~0x1; @@ -1372,13 +1372,13 @@ void func_80BEEFA8(EnAkindonuts* this, PlayState* play) { break; } } - } else if (talkState == TEXT_STATE_16) { + } else if (talkState == TEXT_STATE_PAUSE_MENU) { func_80BEE73C(this, play); } } void func_80BEF18C(EnAkindonuts* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_33C = 0; @@ -1403,7 +1403,7 @@ void func_80BEF20C(EnAkindonuts* this, PlayState* play) { SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, ENAKINDONUTS_ANIM_6); } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_32C & 1) { this->unk_32C &= ~0x1; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c index b507c7354e..30fa882a26 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c @@ -440,7 +440,7 @@ void EnAob01_BeforeRace_HandleConversation(EnAob01* this, PlayState* play) { } gSaveContext.unk_3F5C = this->rupeesBet; - play->msgCtx.bankRupees = this->rupeesBet; + play->msgCtx.rupeesTotal = this->rupeesBet; this->textId = 0x3529; // Is that bet okay? break; @@ -517,7 +517,7 @@ void EnAob01_BeforeRace_RespondToPlayAgainQuestion(EnAob01* this, PlayState* pla break; } } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->textId = 0; @@ -667,7 +667,7 @@ void EnAob01_BeforeRace_Talk(EnAob01* this, PlayState* play) { break; } } - } else if (talkState == TEXT_STATE_5) { + } else if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { this->stateFlags &= ~ENAOB01_FLAG_LAUGH; if (this->stateFlags & ENAOB01_FLAG_CONVERSATION_OVER) { @@ -679,9 +679,9 @@ void EnAob01_BeforeRace_Talk(EnAob01* this, PlayState* play) { EnAob01_BeforeRace_HandleConversation(this, play); } } - } else if ((talkState == TEXT_STATE_14) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_INPUT_RUPEES) && Message_ShouldAdvance(play)) { this->stateFlags &= ~ENAOB01_FLAG_LAUGH; - this->rupeesBet = play->msgCtx.bankRupeesSelected; + this->rupeesBet = play->msgCtx.rupeesSelected; EnAob01_BeforeRace_HandleConversation(this, play); } } @@ -854,7 +854,7 @@ void EnAob01_AfterRace_GiveRaceResult(EnAob01* this, PlayState* play) { this->stateFlags |= ENAOB01_FLAG_SURPRISE; this->rupeesBet *= 3; Rupees_ChangeBy(this->rupeesBet); - play->msgCtx.bankRupees = this->rupeesBet; + play->msgCtx.rupeesTotal = this->rupeesBet; break; case 2: @@ -862,7 +862,7 @@ void EnAob01_AfterRace_GiveRaceResult(EnAob01* this, PlayState* play) { this->stateFlags |= ENAOB01_FLAG_SURPRISE; this->rupeesBet *= 2; Rupees_ChangeBy(this->rupeesBet); - play->msgCtx.bankRupees = this->rupeesBet; + play->msgCtx.rupeesTotal = this->rupeesBet; break; case 3: @@ -896,7 +896,7 @@ void EnAob01_AfterRace_GiveReward(EnAob01* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); if (EnAob01_ProcessIdleAnim(this)) { - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->rupeesBet = 0; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; @@ -930,7 +930,7 @@ void EnAob01_AfterRace_GiveReward(EnAob01* this, PlayState* play) { void EnAob01_AfterRace_AfterGivingReward(EnAob01* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_EVENT) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED)) { CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED); } @@ -983,7 +983,7 @@ void EnAob01_AfterRace_Talk(EnAob01* this, PlayState* play) { } } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->stateFlags &= ~ENAOB01_FLAG_LAUGH; this->stateFlags &= ~ENAOB01_FLAG_SURPRISE; if (this->rupeesBet >= 150) { diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.c b/src/overlays/actors/ovl_En_Az/z_en_az.c index d9872defec..bae2a137f7 100644 --- a/src/overlays/actors/ovl_En_Az/z_en_az.c +++ b/src/overlays/actors/ovl_En_Az/z_en_az.c @@ -701,7 +701,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if ((play->msgCtx.currentTextId == 0x10DD) && (this->unk_374 & 0x8000)) { if (SubS_StartCutscene(&brother->actor, brother->csIdList[0], CS_ID_GLOBAL_TALK, @@ -1212,9 +1212,9 @@ s32 func_80A9617C(EnAz* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: default: break; } @@ -1515,7 +1515,7 @@ void func_80A97AB4(EnAz* this, PlayState* play) { break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { @@ -1548,7 +1548,7 @@ void func_80A97AB4(EnAz* this, PlayState* play) { break; } } - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: default: break; diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.c b/src/overlays/actors/ovl_En_Baba/z_en_baba.c index 0f510158d8..89a40ce2a1 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.c +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.c @@ -595,7 +595,7 @@ void EnBaba_Idle(EnBaba* this, PlayState* play) { void EnBaba_FollowSchedule_Talk(EnBaba* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_EVENT) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->actionFunc = EnBaba_FollowSchedule; @@ -606,7 +606,7 @@ void EnBaba_FollowSchedule_Talk(EnBaba* this, PlayState* play) { void EnBaba_Talk(EnBaba* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if (this->stateFlags & BOMB_SHOP_LADY_STATE_END_CONVERSATION) { this->stateFlags &= ~BOMB_SHOP_LADY_STATE_END_CONVERSATION; @@ -779,7 +779,7 @@ s32 EnBaba_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* Matrix_RotateZS(-this->torsoRot.x, MTXMODE_APPLY); } - if ((limbIndex == BBA_LIMB_NECK) && (this->inMsgState3 != 0) && ((play->state.frames % 2) == 0)) { + if ((limbIndex == BBA_LIMB_NECK) && this->msgFading && ((play->state.frames % 2) == 0)) { Matrix_Translate(40.0f, 0.0f, 0.0f, MTXMODE_APPLY); } diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.h b/src/overlays/actors/ovl_En_Baba/z_en_baba.h index 7a8b8194f4..a362714baf 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.h +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.h @@ -30,7 +30,7 @@ typedef struct EnBaba { /* 0x150 */ SkelAnime skelAnime; /* 0x194 */ ColliderCylinder collider; /* 0x1E0 */ u16 textId; - /* 0x1E2 */ u8 inMsgState3; + /* 0x1E2 */ u8 msgFading; /* 0x1E4 */ Path* path; /* 0x1E8 */ s16 waypoint; /* 0x1EA */ UNK_TYPE1 unk1EA[0x1C]; diff --git a/src/overlays/actors/ovl_En_Baisen/z_en_baisen.c b/src/overlays/actors/ovl_En_Baisen/z_en_baisen.c index 1cf395b59f..d0641b54d5 100644 --- a/src/overlays/actors/ovl_En_Baisen/z_en_baisen.c +++ b/src/overlays/actors/ovl_En_Baisen/z_en_baisen.c @@ -235,7 +235,7 @@ void func_80BE8AAC(EnBaisen* this, PlayState* play) { EnBaisen_ChangeAnim(this, ENBAISEN_ANIM_0); } } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->textIdIndex++; if (this->textIdIndex < 6) { diff --git a/src/overlays/actors/ovl_En_Bal/z_en_bal.c b/src/overlays/actors/ovl_En_Bal/z_en_bal.c index b320ae3189..6ee733dfda 100644 --- a/src/overlays/actors/ovl_En_Bal/z_en_bal.c +++ b/src/overlays/actors/ovl_En_Bal/z_en_bal.c @@ -592,13 +592,13 @@ void EnBal_Talk(EnBal* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: break; case TEXT_STATE_CLOSING: break; - case TEXT_STATE_3: + case TEXT_STATE_FADING: if (this->textId != 0x1D10) { this->isTalking = true; } @@ -608,7 +608,7 @@ void EnBal_Talk(EnBal* this, PlayState* play) { EnBal_TryPurchaseMap(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnBal_HandleConversation(this, play); break; @@ -618,7 +618,7 @@ void EnBal_Talk(EnBal* this, PlayState* play) { } break; - case TEXT_STATE_10: + case TEXT_STATE_AWAITING_NEXT: if (Message_ShouldAdvance(play) && (this->textId == 0x1D08)) { this->forceEyesShut = false; this->eyeTexIndex = TINGLE_EYETEX_OPEN; @@ -986,7 +986,7 @@ void EnBal_SetupOfferGetItem(EnBal* this) { void EnBal_OfferGetItem(EnBal* this, PlayState* play) { GetItemId mapGetItemId; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); sGetItemPending = true; } diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c index 5020226496..a25dd11280 100644 --- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c +++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c @@ -187,7 +187,7 @@ void EnBba01_Talk(EnHy* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 0xFA0, 1); talkState = Message_GetState(&play->msgCtx); - this->inMsgState3 = (talkState == TEXT_STATE_3) ? true : false; + this->msgFading = (talkState == TEXT_STATE_FADING) ? true : false; switch (talkState) { case TEXT_STATE_NONE: @@ -284,7 +284,7 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* Matrix_RotateZS(-this->enHy.torsoRot.x, MTXMODE_APPLY); } - if ((limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) && this->enHy.inMsgState3 && ((play->state.frames % 2) == 0)) { + if ((limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) && this->enHy.msgFading && ((play->state.frames % 2) == 0)) { Matrix_Translate(40.0f, 0.0f, 0.0f, MTXMODE_APPLY); } diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c index a19c789095..52e64f825c 100644 --- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c +++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c @@ -264,7 +264,7 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { this->actor.flags &= ~ACTOR_FLAG_10000; switch (play->msgCtx.currentTextId) { diff --git a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c index 4c37775d31..32226e7362 100644 --- a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c +++ b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c @@ -244,12 +244,12 @@ s32 EnBjt_ChooseBehaviour(Actor* thisx, PlayState* play) { case TOILET_HAND_BEHAVIOUR_WAIT_FOR_ITEM: switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (!Message_ShouldAdvance(play)) { break; } // Fallthrough - case TEXT_STATE_16: + case TEXT_STATE_PAUSE_MENU: itemAction = func_80123810(play); if ((itemAction == PLAYER_IA_DEED_LAND) || (itemAction == PLAYER_IA_LETTER_TO_KAFEI) || diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c index a852b3afff..0544489fd1 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c @@ -296,7 +296,7 @@ void func_809C4DA4(EnBomBowlMan* this, PlayState* play) { } } - if ((this->unk_2BC == 0) && (Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((this->unk_2BC == 0) && (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Player* player = GET_PLAYER(play); s32 pad; s32 sp28 = false; @@ -472,7 +472,7 @@ void func_809C5524(EnBomBowlMan* this, PlayState* play) { } void func_809C5598(EnBomBowlMan* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); if ((this->actor.textId == 0x72F) || (this->actor.textId == 0x730)) { this->actor.textId = 0x731; diff --git a/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c b/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c index 3198a22d06..d60dae8fa7 100644 --- a/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c +++ b/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c @@ -224,7 +224,7 @@ void func_80C038B4(EnBombers* this) { void func_80C039A8(EnBombers* this, PlayState* play) { Player* player = GET_PLAYER(play); - this->unk_2A6 = TEXT_STATE_5; + this->unk_2A6 = TEXT_STATE_EVENT; switch (player->transformation) { case PLAYER_FORM_HUMAN: @@ -351,7 +351,7 @@ void func_80C03AF4(EnBombers* this, PlayState* play) { if (Text_GetFaceReaction(play, FACE_REACTION_SET_BOMBERS) == 0) { func_80C039A8(this, play); } else { - this->unk_2A6 = TEXT_STATE_5; + this->unk_2A6 = TEXT_STATE_EVENT; this->actor.textId = Text_GetFaceReaction(play, FACE_REACTION_SET_BOMBERS); } @@ -395,7 +395,7 @@ void func_80C03FAC(EnBombers* this, PlayState* play) { if ((this->unk_2A6 == Message_GetState(&play->msgCtx)) && Message_ShouldAdvance(play)) { sp2A = 0; Message_CloseTextbox(play); - this->unk_2A6 = TEXT_STATE_5; + this->unk_2A6 = TEXT_STATE_EVENT; if ((this->actor.textId == 0x73D) || (this->actor.textId == 0x73E) || (this->actor.textId == 0x73F)) { this->actor.textId = 0x740; @@ -510,7 +510,7 @@ void func_80C04354(EnBombers* this, PlayState* play) { void func_80C043C8(EnBombers* this, PlayState* play) { Math_SmoothStepToS(&this->unk_288, this->unk_28E, 1, 0x3E8, 0); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); func_80C042F8(this); } diff --git a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c index d39a39eba8..548847f322 100644 --- a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c +++ b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c @@ -168,13 +168,13 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) { case PLAYER_FORM_GORON: case PLAYER_FORM_ZORA: this->textIdIndex = 1; - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; break; case PLAYER_FORM_DEKU: case PLAYER_FORM_HUMAN: this->textIdIndex = 2; - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; break; default: @@ -242,7 +242,7 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { break; } if ((this->talkState == Message_GetState(&play->msgCtx)) && Message_ShouldAdvance(play)) { - if (this->talkState == TEXT_STATE_15) { + if (this->talkState == TEXT_STATE_INPUT_BOMBER_CODE) { s32 i; s32 correctDigits; @@ -263,7 +263,7 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { this->actor.textId = sTextIds[this->textIdIndex]; Message_ContinueTextbox(play, this->actor.textId); Actor_PlaySfx(&this->actor, NA_SE_SY_PIECE_OF_HEART); - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; return; } } @@ -288,7 +288,7 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { this->textIdIndex = 3; this->actor.textId = sTextIds[this->textIdIndex]; Message_ContinueTextbox(play, this->actor.textId); - this->talkState = TEXT_STATE_15; + this->talkState = TEXT_STATE_INPUT_BOMBER_CODE; break; case 3: @@ -299,14 +299,14 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_SY_ERROR); this->actor.textId = sTextIds[this->textIdIndex]; Message_ContinueTextbox(play, this->actor.textId); - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; break; case 4: this->textIdIndex = 5; this->actor.textId = sTextIds[this->textIdIndex]; Message_ContinueTextbox(play, this->actor.textId); - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; break; case 6: @@ -360,7 +360,7 @@ void func_80C0520C(EnBombers2* this, PlayState* play) { this->actor.speed = 0.0f; if (fabsf(this->actor.world.rot.y - this->actor.yawTowardsPlayer) < 100.0f) { Message_CloseTextbox(play); - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; this->textIdIndex = 7; EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_6, 1.0f); this->unk_2A8 = 0; diff --git a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c index c0b6519682..9949738a1b 100644 --- a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c +++ b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c @@ -695,7 +695,7 @@ void func_80BFF6CC(EnBomjima* this, PlayState* play) { f32 curFrame = this->skelAnime.curFrame; if (curFrame >= this->animEndFrame) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_1, 1.0f); this->actionFunc = func_80BFF754; @@ -800,7 +800,7 @@ void func_80BFF9B0(EnBomjima* this, PlayState* play) { } void func_80BFFB40(EnBomjima* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_15, 1.0f); D_80C009F0 = 100; @@ -991,7 +991,7 @@ void func_80C00284(EnBomjima* this, PlayState* play) { break; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->collider.dim.radius = 10; this->collider.dim.height = 30; if ((this->action == EN_BOMJIMA_ACTION_4) || (this->unk_2CA == 1) || diff --git a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c index 95deb67c8f..6e3c89ea9a 100644 --- a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c +++ b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c @@ -829,7 +829,7 @@ void func_80C02A14(EnBomjimb* this, PlayState* play) { player->actor.freezeTimer = 3; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); if ((this->unk_2CA == 8) && (gSaveContext.save.saveInfo.bombersCaughtNum >= 5)) { func_80C02CA4(this, play); @@ -848,7 +848,7 @@ void func_80C02BCC(EnBomjimb* this, PlayState* play) { Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0x1388, 0); if (this->unk_2C0 == 0) { player->actor.freezeTimer = 3; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->unk_2C0 = 1; player->stateFlags1 &= ~PLAYER_STATE1_10000000; diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c index f8eb0b9aed..1a0e0b29e6 100644 --- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c +++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c @@ -177,7 +177,7 @@ void EnCne01_Talk(EnHy* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 0xFA0, 1); talkState = Message_GetState(&play->msgCtx); - this->inMsgState3 = (talkState == TEXT_STATE_3) ? true : false; + this->msgFading = (talkState == TEXT_STATE_FADING) ? true : false; switch (talkState) { case TEXT_STATE_NONE: @@ -274,7 +274,7 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* Matrix_RotateZS(-this->enHy.torsoRot.x, MTXMODE_APPLY); } - if ((limbIndex == CNE_LIMB_HEAD) && this->enHy.inMsgState3 && ((play->state.frames % 2) == 0)) { + if ((limbIndex == CNE_LIMB_HEAD) && this->enHy.msgFading && ((play->state.frames % 2) == 0)) { Matrix_Translate(40.0f, 0.0f, 0.0f, MTXMODE_APPLY); } diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/src/overlays/actors/ovl_En_Cow/z_en_cow.c index f8fba4887e..5f1c9a1897 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -206,7 +206,7 @@ void EnCow_UpdateAnimation(EnCow* this, PlayState* play) { } void EnCow_TalkEnd(EnCow* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actor.flags &= ~ACTOR_FLAG_10000; Message_CloseTextbox(play); this->actionFunc = EnCow_Idle; @@ -230,7 +230,7 @@ void EnCow_GiveMilkWait(EnCow* this, PlayState* play) { } void EnCow_GiveMilk(EnCow* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actor.flags &= ~ACTOR_FLAG_10000; Message_CloseTextbox(play); this->actionFunc = EnCow_GiveMilkWait; @@ -239,7 +239,7 @@ void EnCow_GiveMilk(EnCow* this, PlayState* play) { } void EnCow_CheckForEmptyBottle(EnCow* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (Inventory_HasEmptyBottle()) { Message_ContinueTextbox(play, 0x32C9); // Text to give milk. this->actionFunc = EnCow_GiveMilk; diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c index 076995dda4..baff81da39 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -278,7 +278,7 @@ void func_80943BDC(EnDaiku* this, PlayState* play) { } } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); func_80943820(this); } diff --git a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c index b1f5645299..1dfa4edb05 100644 --- a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c +++ b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c @@ -333,7 +333,7 @@ void func_80BE6B40(EnDaiku2* this, PlayState* play) { void func_80BE6BC0(EnDaiku2* this, PlayState* play) { Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { s32 day = gSaveContext.save.day - 1; Message_CloseTextbox(play); diff --git a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c index 4873479bd8..7c845b8b17 100644 --- a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c +++ b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c @@ -149,7 +149,7 @@ void EnDemoheishi_SetupTalk(EnDemoheishi* this) { } void EnDemoheishi_Talk(EnDemoheishi* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnDemoheishi_SetupIdle(this); } diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.c b/src/overlays/actors/ovl_En_Dno/z_en_dno.c index 43fc1bfaa2..f994e4d09b 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.c +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.c @@ -438,7 +438,7 @@ void func_80A71F18(EnDno* this, PlayState* play) { } break; - case TEXT_STATE_3: + case TEXT_STATE_FADING: if (play->msgCtx.currentTextId == 0x80B) { switch (this->animIndex) { case EN_DNO_ANIM_IMPLORE_START: @@ -466,7 +466,7 @@ void func_80A71F18(EnDno* this, PlayState* play) { break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: switch (play->msgCtx.currentTextId) { case 0x80B: @@ -656,9 +656,9 @@ void func_80A725F8(EnDno* this, PlayState* play) { } break; - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: if (((play->msgCtx.currentTextId == 0x800) || (play->msgCtx.currentTextId == 0x801)) && (this->animIndex == EN_DNO_ANIM_OPEN_PARASOL)) { Math_SmoothStepToF(&this->unk_454, 1.0f, 1.0f, 0.1f, 0.01f); @@ -682,7 +682,7 @@ void func_80A725F8(EnDno* this, PlayState* play) { break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: switch (play->msgCtx.currentTextId) { case 0x800: diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index b11b8f5f28..7cdb19209f 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -1390,7 +1390,7 @@ void func_8088FE64(Actor* thisx, PlayState* play2) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x240: diff --git a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c index f365942b62..03c44b0181 100644 --- a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c +++ b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c @@ -456,7 +456,7 @@ void func_80B29128(EnFish2* this) { } void func_80B2913C(EnFish2* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); func_80B28B5C(this); } diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 25de906dc3..ae01b84014 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -1127,7 +1127,7 @@ void EnFishing_UpdateEffects(FishingEffect* effect, PlayState* play) { Message_StartTextbox(play, 0x40B3, NULL); } - if ((effect->unk_2C >= 100) && (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) { + if ((effect->unk_2C >= 100) && (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) { if (Message_ShouldAdvance(play) || (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) { Message_CloseTextbox(play); Rupees_ChangeBy(-50); @@ -4756,7 +4756,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { break; case 2: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); Message_ContinueTextbox(play, 0x407F); this->unk_154 = 4; @@ -4764,7 +4764,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { break; case 3: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->unk_154 = 0; } @@ -4795,7 +4795,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { break; case 5: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); play->interfaceCtx.unk_27E = 1; @@ -4909,7 +4909,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { break; case 11: - if (((Message_GetState(&play->msgCtx) == TEXT_STATE_5) || + if (((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) || Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) && Message_ShouldAdvance(play)) { s32 getItemId; @@ -4986,7 +4986,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { break; case 20: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->unk_154 = 0; } diff --git a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c index 04bf00e9d4..bfb199efa7 100644 --- a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c +++ b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c @@ -126,7 +126,8 @@ static Vec3f sShopItemPositions[3] = { bool EnFsn_TestItemSelected(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A); } return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) || @@ -846,7 +847,7 @@ void EnFsn_StartBuying(EnFsn* this, PlayState* play) { Player* player = GET_PLAYER(play); EnFsn_HandleLookToShopkeeperBuyingCutscene(this); - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (this->actor.textId) { case 0x29CC: this->actor.textId = 0x29CD; @@ -879,7 +880,7 @@ void EnFsn_StartBuying(EnFsn* this, PlayState* play) { void EnFsn_AskBuyOrSell(EnFsn* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { switch (this->actor.textId) { case 0x29CC: @@ -958,7 +959,7 @@ void EnFsn_DeterminePrice(EnFsn* this, PlayState* play) { PlayerItemAction itemAction; u8 buttonItem; - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction > PLAYER_IA_NONE) { @@ -1150,7 +1151,7 @@ void EnFsn_BrowseShelf(EnFsn* this, PlayState* play) { this->drawCursor = 0xFF; this->stickLeftPrompt.isEnabled = true; EnFsn_UpdateCursorPos(this, play); - if (talkstate == TEXT_STATE_5) { + if (talkstate == TEXT_STATE_EVENT) { func_8011552C(play, DO_ACTION_DECIDE); if (!EnFsn_HasPlayerSelectedItem(this, play, CONTROLLER1(&play->state))) { EnFsn_CursorLeftRight(this); @@ -1241,7 +1242,7 @@ void EnFsn_HandleCanPlayerBuyItem(EnFsn* this, PlayState* play) { void EnFsn_SetupEndInteraction(EnFsn* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_EVENT) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) { if (play->msgCtx.bombersNotebookEventQueueCount == 0) { EnFsn_EndInteraction(this, play); @@ -1280,7 +1281,7 @@ void EnFsn_SelectItem(EnFsn* this, PlayState* play) { } void EnFsn_PlayerCannotBuy(EnFsn* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actionFunc = this->prevActionFunc; Message_ContinueTextbox(play, this->items[this->cursorIndex]->actor.textId); } @@ -1322,7 +1323,7 @@ void EnFsn_AskCanBuyMore(EnFsn* this, PlayState* play) { break; } } - } else if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { + } else if (((talkState == TEXT_STATE_EVENT) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) { if (play->msgCtx.bombersNotebookEventQueueCount == 0) { EnFsn_EndInteraction(this, play); @@ -1373,7 +1374,7 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, PlayState* play) { break; } } - } else if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { + } else if (((talkState == TEXT_STATE_EVENT) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) { if (play->msgCtx.bombersNotebookEventQueueCount == 0) { EnFsn_EndInteraction(this, play); @@ -1405,7 +1406,7 @@ void EnFsn_FaceShopkeeperSelling(EnFsn* this, PlayState* play) { Audio_PlaySfx(NA_SE_SY_CURSOR); } } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actor.textId = 0x29D6; Message_StartTextbox(play, this->actor.textId, &this->actor); //! FAKE: @@ -1414,7 +1415,7 @@ void EnFsn_FaceShopkeeperSelling(EnFsn* this, PlayState* play) { } void EnFsn_SetupEndInteractionImmediately(EnFsn* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { EnFsn_EndInteraction(this, play); } } @@ -1430,7 +1431,7 @@ void EnFsn_IdleBackroom(EnFsn* this, PlayState* play) { } void EnFsn_ConverseBackroom(EnFsn* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->flags & ENFSN_END_CONVERSATION) { this->flags &= ~ENFSN_END_CONVERSATION; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index 8178417920..f01cdaf7c7 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -601,16 +601,16 @@ void func_809628D0(EnFu* this, PlayState* play) { switch (talkState) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: func_80962588(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80962660(this, play); break; @@ -640,7 +640,7 @@ void func_809628D0(EnFu* this, PlayState* play) { break; } - if (talkState != TEXT_STATE_3) { + if (talkState != TEXT_STATE_FADING) { func_80964190(this, play); func_8096426C(this, play); } @@ -866,7 +866,7 @@ void func_80963350(EnFu* this, PlayState* play) { BgFuKaiten* fuKaiten = (BgFuKaiten*)this->actor.child; if ((this->unk_54A == 0) && - (((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) || + (((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) || ((Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) && (play->msgCtx.stateTimer == 1)))) { Message_CloseTextbox(play); this->unk_54A = 2; diff --git a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c index 6c50296c6d..43331cf575 100644 --- a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c +++ b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c @@ -397,7 +397,7 @@ void func_80B0FEBC(EnGb2* this, PlayState* play) { void func_80B0FFA8(EnGb2* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if (this->unk_26C & 2) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -565,7 +565,7 @@ void func_80B10584(EnGb2* this, PlayState* play) { void func_80B10634(EnGb2* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if (this->unk_26C & 2) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -768,7 +768,7 @@ void func_80B10DAC(EnGb2* this, PlayState* play) { } void func_80B10E98(EnGb2* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_26C & 2) { this->unk_26C &= ~2; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -812,7 +812,7 @@ void func_80B11048(EnGb2* this, PlayState* play) { } void func_80B110F8(EnGb2* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_26C & 2) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.c b/src/overlays/actors/ovl_En_Geg/z_en_geg.c index 0a72b23038..0b5140e769 100644 --- a/src/overlays/actors/ovl_En_Geg/z_en_geg.c +++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.c @@ -589,7 +589,7 @@ void func_80BB2520(EnGeg* this, PlayState* play) { } void func_80BB26EC(EnGeg* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (this->unk_496) { case 0xD5E: this->nextCsId = this->csIdList[1]; @@ -614,7 +614,7 @@ void func_80BB26EC(EnGeg* this, PlayState* play) { } void func_80BB27D4(EnGeg* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (this->unk_496) { case 0xD63: play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -665,7 +665,7 @@ void func_80BB2944(EnGeg* this, PlayState* play) { this->animIndex = ENGEG_ANIM_6; EnGeg_ChangeAnim(this, play); } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_496 == 0xD67) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; @@ -679,7 +679,7 @@ void func_80BB2944(EnGeg* this, PlayState* play) { } void func_80BB2A54(EnGeg* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_496 == 0xD65) { CutsceneManager_Stop(this->csId); this->unk_230 &= ~0x10; diff --git a/src/overlays/actors/ovl_En_Gg/z_en_gg.c b/src/overlays/actors/ovl_En_Gg/z_en_gg.c index ef86d5f550..d0002f2e8f 100644 --- a/src/overlays/actors/ovl_En_Gg/z_en_gg.c +++ b/src/overlays/actors/ovl_En_Gg/z_en_gg.c @@ -276,7 +276,7 @@ void func_80B35450(EnGg* this, PlayState* play) { } void func_80B3556C(EnGg* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->animIndex == ENGG_ANIM_4) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; diff --git a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c index 3629839b4f..edb110d705 100644 --- a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c +++ b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c @@ -200,7 +200,7 @@ void func_80B3B05C(EnGg2* this, PlayState* play) { } void func_80B3B0A0(EnGg2* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_2F0 = 0; diff --git a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c index 48768f7709..dc6a137d53 100644 --- a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c +++ b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c @@ -154,7 +154,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING); } - play->msgCtx.bankRupees = HS_GET_BANK_RUPEES(); + play->msgCtx.rupeesTotal = HS_GET_BANK_RUPEES(); Message_StartTextbox(play, 0x45A, &this->actor); this->curTextId = 0x45A; } @@ -229,7 +229,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) { case 0x465: Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING); - play->msgCtx.bankRupees = HS_GET_BANK_RUPEES(); + play->msgCtx.rupeesTotal = HS_GET_BANK_RUPEES(); Message_StartTextbox(play, 0x45A, &this->actor); this->curTextId = 0x45A; break; @@ -305,7 +305,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) { Message_StartTextbox(play, 0x478, &this->actor); this->curTextId = 0x478; } else { - play->msgCtx.bankRupees = HS_GET_BANK_RUPEES(); + play->msgCtx.rupeesTotal = HS_GET_BANK_RUPEES(); Message_StartTextbox(play, 0x45A, &this->actor); this->curTextId = 0x45A; } @@ -359,17 +359,17 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) { case 0x452: if (play->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) { - if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.bankRupeesSelected) { + if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.rupeesSelected) { Audio_PlaySfx(NA_SE_SY_ERROR); Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING); Message_StartTextbox(play, 0x459, &this->actor); this->curTextId = 0x459; } else { Audio_PlaySfx_MessageDecide(); - if (play->msgCtx.bankRupeesSelected >= 100) { + if (play->msgCtx.rupeesSelected >= 100) { Message_StartTextbox(play, 0x455, &this->actor); this->curTextId = 0x455; - } else if (play->msgCtx.bankRupeesSelected >= 10) { + } else if (play->msgCtx.rupeesSelected >= 10) { Message_StartTextbox(play, 0x454, &this->actor); this->curTextId = 0x454; } else { @@ -382,9 +382,9 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) { this->isNewAccount = true; } - Rupees_ChangeBy(-play->msgCtx.bankRupeesSelected); + Rupees_ChangeBy(-play->msgCtx.rupeesSelected); this->previousBankValue = HS_GET_BANK_RUPEES(); - HS_SET_BANK_RUPEES(HS_GET_BANK_RUPEES() + play->msgCtx.bankRupeesSelected); + HS_SET_BANK_RUPEES(HS_GET_BANK_RUPEES() + play->msgCtx.rupeesSelected); } } else { // GINKOMAN_CHOICE_NO Audio_PlaySfx_MessageCancel(); @@ -420,23 +420,23 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) { case 0x471: if (play->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) { - if ((s32)HS_GET_BANK_RUPEES() < (play->msgCtx.bankRupeesSelected + this->serviceFee)) { + if ((s32)HS_GET_BANK_RUPEES() < (play->msgCtx.rupeesSelected + this->serviceFee)) { Audio_PlaySfx(NA_SE_SY_ERROR); Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING); Message_StartTextbox(play, 0x476, &this->actor); this->curTextId = 0x476; } else if (CUR_CAPACITY(UPG_WALLET) < - (play->msgCtx.bankRupeesSelected + gSaveContext.save.saveInfo.playerData.rupees)) { + (play->msgCtx.rupeesSelected + gSaveContext.save.saveInfo.playerData.rupees)) { // check if wallet is big enough Audio_PlaySfx(NA_SE_SY_ERROR); Message_StartTextbox(play, 0x475, &this->actor); this->curTextId = 0x475; } else { Audio_PlaySfx_MessageDecide(); - if (play->msgCtx.bankRupeesSelected >= 100) { + if (play->msgCtx.rupeesSelected >= 100) { Message_StartTextbox(play, 0x474, &this->actor); this->curTextId = 0x474; - } else if (play->msgCtx.bankRupeesSelected >= 10) { + } else if (play->msgCtx.rupeesSelected >= 10) { Message_StartTextbox(play, 0x473, &this->actor); this->curTextId = 0x473; } else { @@ -445,8 +445,8 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) { } this->previousBankValue = HS_GET_BANK_RUPEES(); - HS_SET_BANK_RUPEES(HS_GET_BANK_RUPEES() - play->msgCtx.bankRupeesSelected - this->serviceFee); - Rupees_ChangeBy(play->msgCtx.bankRupeesSelected); + HS_SET_BANK_RUPEES(HS_GET_BANK_RUPEES() - play->msgCtx.rupeesSelected - this->serviceFee); + Rupees_ChangeBy(play->msgCtx.rupeesSelected); } } else { Audio_PlaySfx_MessageCancel(); @@ -464,7 +464,7 @@ void EnGinkoMan_WaitForRupeeCount(EnGinkoMan* this, PlayState* play) { if (Message_ShouldAdvance(play)) { switch (this->curTextId) { case 0x450: - if (play->msgCtx.bankRupeesSelected == 0) { + if (play->msgCtx.rupeesSelected == 0) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING); Message_StartTextbox(play, 0x457, &this->actor); this->curTextId = 0x457; @@ -475,7 +475,7 @@ void EnGinkoMan_WaitForRupeeCount(EnGinkoMan* this, PlayState* play) { break; case 0x46E: - if (play->msgCtx.bankRupeesSelected == 0) { + if (play->msgCtx.rupeesSelected == 0) { Message_StartTextbox(play, 0x46F, &this->actor); this->curTextId = 0x46F; } else if (gSaveContext.save.isNight == true) { @@ -508,7 +508,7 @@ void EnGinkoMan_Dialogue(EnGinkoMan* this, PlayState* play) { EnGinkoMan_WaitForDialogueInput(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnGinkoMan_DepositDialogue(this, play); break; @@ -519,7 +519,7 @@ void EnGinkoMan_Dialogue(EnGinkoMan* this, PlayState* play) { } break; - case TEXT_STATE_14: + case TEXT_STATE_INPUT_RUPEES: EnGinkoMan_WaitForRupeeCount(this, play); break; @@ -609,7 +609,7 @@ void EnGinkoMan_Stamp(EnGinkoMan* this, PlayState* play) { case 0x469: Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING); - play->msgCtx.bankRupees = HS_GET_BANK_RUPEES(); + play->msgCtx.rupeesTotal = HS_GET_BANK_RUPEES(); if ((CURRENT_DAY == 3) && (gSaveContext.save.isNight == true)) { Message_StartTextbox(play, 0x46C, &this->actor); this->curTextId = 0x46C; diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.c b/src/overlays/actors/ovl_En_Gk/z_en_gk.c index c41064a29e..0cf86695f6 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.c +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.c @@ -705,7 +705,7 @@ void func_80B51760(EnGk* this, PlayState* play) { void func_80B51970(EnGk* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_DONE) || (talkState == TEXT_STATE_5)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_DONE) || (talkState == TEXT_STATE_EVENT)) && Message_ShouldAdvance(play)) { if ((this->unk_31C == 0xE84) || (this->unk_31C == 0xE99)) { CutsceneManager_Stop(this->csId); this->csId = CutsceneManager_GetAdditionalCsId(this->csId); @@ -919,7 +919,7 @@ void func_80B5202C(EnGk* this, PlayState* play) { } void func_80B5216C(EnGk* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->actionFunc = func_80B51698; diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c index c1131804fa..a65bd4442d 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -884,8 +884,8 @@ void func_8094F3D0(EnGm* this, PlayState* play) { s32 talkState = Message_GetState(&play->msgCtx); s32 textId = play->msgCtx.currentTextId; - if ((&this->actor == player->talkActor) && ((textId < 0xFF) || (textId > 0x200)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3)) { + if ((&this->actor == player->talkActor) && ((textId < 0xFF) || (textId > 0x200)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING)) { if ((play->state.frames % 3) == 0) { if (this->unk_3AC == 120.0f) { this->unk_3AC = 0.0f; diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.c b/src/overlays/actors/ovl_En_Gs/z_en_gs.c index 4422b89167..e188be08b8 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c @@ -212,13 +212,13 @@ void func_80997E4C(EnGs* this, PlayState* play) { Message_StartTextbox(play, this->unk_210, &this->actor); break; - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { diff --git a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c index de9f74739f..074038db46 100644 --- a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c +++ b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c @@ -230,7 +230,7 @@ void func_80ABB590(EnGuardNuts* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); Math_SmoothStepToS(&this->actor.shape.rot.y, yaw, 1, 0xBB8, 0); } - if (Message_GetState(&play->msgCtx) == TEXT_STATE_5) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) { this->targetHeadPos.y = 0; this->targetHeadPos.x = 0; if ((this->guardTextIndex == 3) && (this->animIndex == GUARD_NUTS_ANIM_WAIT_HEAD_TILT)) { @@ -262,7 +262,7 @@ void func_80ABB590(EnGuardNuts* this, PlayState* play) { EnGuardNuts_SetupWait(this); } } - } else if ((Message_GetState(&play->msgCtx) >= TEXT_STATE_3) && (D_80ABBE20 == 0)) { + } else if ((Message_GetState(&play->msgCtx) >= TEXT_STATE_FADING) && (D_80ABBE20 == 0)) { if ((this->guardTextIndex == 0) || (this->guardTextIndex == 3) || (this->guardTextIndex >= 7)) { if (this->timer == 0) { this->timer = 2; diff --git a/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c b/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c index 1761d622e0..e64c7abea0 100644 --- a/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c +++ b/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.c @@ -208,7 +208,7 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); } else if (this->unusedTimer == 0) { this->unusedTimer = 6; - if (Message_GetState(&play->msgCtx) != TEXT_STATE_5) { + if (Message_GetState(&play->msgCtx) != TEXT_STATE_EVENT) { if (this->unk266 == 0) { if (this->headZRotTarget != 0) { this->headZRotTarget = 0; @@ -224,7 +224,7 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) { } } } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->headZRotTarget = 0; if ((this->textIdIndex == 13) || (this->textIdIndex == 14)) { diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c index 18d09b813b..ba2091b8a4 100644 --- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c +++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c @@ -190,13 +190,13 @@ void EnHgo_SetupDialogueHandler(EnHgo* this) { void EnHgo_DefaultDialogueHandler(EnHgo* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnHgo_HandlePlayerChoice(this, play); break; diff --git a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c index 4ed2788ca2..f35a94acb3 100644 --- a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c +++ b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c @@ -253,7 +253,7 @@ void func_80BDB59C(EnHiddenNuts* this, PlayState* play) { this->unk_218 = 30; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); func_80BDB268(this); } diff --git a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c index b6c3489358..af8b6350d5 100644 --- a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c +++ b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c @@ -443,7 +443,7 @@ void func_80C208D0(EnHintSkb* this, PlayState* play) { this->unk_3DE = 0; switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_3: + case TEXT_STATE_FADING: if ((play->gameplayFrames % 2) != 0) { this->unk_3DE = 1; } @@ -453,7 +453,7 @@ void func_80C208D0(EnHintSkb* this, PlayState* play) { func_80C20B88(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80C20C24(this, play); break; @@ -464,7 +464,7 @@ void func_80C208D0(EnHintSkb* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: default: break; diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/src/overlays/actors/ovl_En_Hs/z_en_hs.c index cf40d44ee5..96b4c8219d 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c @@ -174,7 +174,7 @@ void func_80953098(EnHs* this, PlayState* play) { } void func_80953180(EnHs* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x33F4: // laughing that they are all roosters (!) case 0x33F6: // Grog regrets not being able to see his chicks reach adult hood diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index fac7fb840c..d01d03a3d2 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -1322,7 +1322,7 @@ s32 func_808F5674(PlayState* play, EnIn* this, s32 arg2) { break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play) && func_808F4414(play, this, arg2)) { Message_CloseTextbox(play); ret = true; @@ -1620,8 +1620,8 @@ void func_808F6334(EnIn* this, PlayState* play) { Matrix_Translate(this->unk4C4, 0.0f, 0.0f, MTXMODE_APPLY); if ((&this->actor == player->talkActor) && - ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3)) { + ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING)) { if (!(play->state.frames & 1)) { this->unk4C0 = (this->unk4C0 != 0.0f) ? 0.0f : 1.0f; } diff --git a/src/overlays/actors/ovl_En_Ja/z_en_ja.c b/src/overlays/actors/ovl_En_Ja/z_en_ja.c index c69d144034..c9c21db754 100644 --- a/src/overlays/actors/ovl_En_Ja/z_en_ja.c +++ b/src/overlays/actors/ovl_En_Ja/z_en_ja.c @@ -233,8 +233,9 @@ void func_80BC1E40(EnJa* this, PlayState* play) { s32 talkState = Message_GetState(&play->msgCtx); f32 phi_f0; - if (((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3) && (&this->actor == player->talkActor)) { + if (((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING) && + (&this->actor == player->talkActor)) { if ((play->state.frames % 2) == 0) { if (this->unk_348 != 0.0f) { this->unk_348 = 0.0f; diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.c b/src/overlays/actors/ovl_En_Jg/z_en_jg.c index e97e616400..e30754c691 100644 --- a/src/overlays/actors/ovl_En_Jg/z_en_jg.c +++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.c @@ -364,7 +364,7 @@ void EnJg_GoronShrineIdle(EnJg* this, PlayState* play) { } void EnJg_GoronShrineTalk(EnJg* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if ((this->textId == 0xDCC) || (this->textId == 0xDDD) || (this->textId == 0xDE0)) { // There is nothing more to say after these lines, so end the current conversation. play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -431,7 +431,7 @@ void EnJg_AlternateTalkOrWalkInPlace(EnJg* this, PlayState* play) { SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); } } else if (this->animIndex == EN_JG_ANIM_SURPRISE_LOOP) { - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->flags &= ~FLAG_LOOKING_AT_PLAYER; @@ -486,7 +486,7 @@ void EnJg_Talk(EnJg* this, PlayState* play) { SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { temp = this->textId; if ((temp == 0xDB4) || (temp == 0xDB5) || (temp == 0xDC4) || (temp == 0xDC6)) { // There is nothing more to say after these lines, so end the current conversation. diff --git a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c index 0515a0ac8b..2f1a1705ee 100644 --- a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c +++ b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c @@ -260,16 +260,16 @@ void func_80C14030(EnJgameTsn* this) { void func_80C14044(EnJgameTsn* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: func_80C14684(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80C147B4(this, play); break; diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c index 5988091851..614e771d5e 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -544,7 +544,7 @@ void func_80969748(EnJs* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 6, 0x1838, 0x64); this->actor.shape.rot.y = this->actor.world.rot.y; - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction != PLAYER_IA_NONE) { @@ -600,7 +600,7 @@ void func_80969898(EnJs* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x220C: @@ -704,7 +704,7 @@ void func_80969C54(EnJs* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 6, 0x1838, 0x64); this->actor.shape.rot.y = this->actor.world.rot.y; - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction != PLAYER_IA_NONE) { @@ -763,7 +763,7 @@ void func_80969DA4(EnJs* this, PlayState* play) { } } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x221B: @@ -992,7 +992,7 @@ void func_8096A38C(EnJs* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x2202: diff --git a/src/overlays/actors/ovl_En_Jso/z_en_jso.c b/src/overlays/actors/ovl_En_Jso/z_en_jso.c index 98c3f330b8..29711f9428 100644 --- a/src/overlays/actors/ovl_En_Jso/z_en_jso.c +++ b/src/overlays/actors/ovl_En_Jso/z_en_jso.c @@ -495,7 +495,7 @@ void EnJso_IntroCutscene(EnJso* this, PlayState* play) { this->subCamAtNext.z = player->actor.world.pos.z; Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); Message_ContinueTextbox(play, sTextIds[this->textIndex]); this->cutsceneTimer = 0; @@ -507,7 +507,7 @@ void EnJso_IntroCutscene(EnJso* this, PlayState* play) { case EN_JSO_INTRO_CS_STATE_RAISE_ARM_AND_DRAW_RIGHT_SWORD: Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_10) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_AWAITING_NEXT) { this->targetRobeRightRot.x = -0x2710; this->targetRobeRightRot.z = -0x2710; } @@ -532,7 +532,7 @@ void EnJso_IntroCutscene(EnJso* this, PlayState* play) { this->subCamAtNext.y = player->actor.world.pos.y + 30.0f; this->subCamAtNext.z = player->actor.world.pos.z - 40.0f; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->targetRightArmRot.x = this->targetRightArmRot.y = this->targetRightArmRot.z = this->targetRobeRightRot.x = this->targetRobeRightRot.y = this->targetRobeRightRot.z = 0; @@ -1218,7 +1218,7 @@ void EnJso_TellHint(EnJso* this, PlayState* play) { return; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); if (this->textIndex == 2) { u16 textId = 0x139C; // Hint about using Elegy to climb Stone Tower @@ -1310,7 +1310,7 @@ void EnJso_BurstIntoFlames(EnJso* this, PlayState* play) { s32 i; player->actor.freezeTimer = 3; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Player* player2 = GET_PLAYER(play); Message_CloseTextbox(play); diff --git a/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c b/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c index de190e1008..5de6ee04f9 100644 --- a/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c +++ b/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c @@ -451,7 +451,7 @@ void EnJso2_UpdateSubCam(EnJso2* this, PlayState* play) { } s32 EnJso2_ShouldAdvanceMessage(PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); return true; } diff --git a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c index 9b8bb37789..37a0ea22b7 100644 --- a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c +++ b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c @@ -523,7 +523,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) { player->actor.world.pos.z = this->picto.actor.home.pos.z - 30.0f; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnKaizoku_ChangeAnim(this, EN_KAIZOKU_ANIM_11); this->unk_598 = 0; @@ -572,7 +572,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) { break; case 4: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->unk_598 = 0; this->unk_59C++; @@ -722,7 +722,7 @@ void func_80B868B8(EnKaizoku* this, PlayState* play) { break; case 2: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END); CutsceneManager_Stop(this->csId); @@ -796,7 +796,7 @@ void func_80B86B74(EnKaizoku* this, PlayState* play) { } } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnKaizoku_ChangeAnim(this, EN_KAIZOKU_ANIM_18); Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_133); diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 647c4f713f..2b9e6bc39c 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -321,7 +321,7 @@ void EnKakasi_TimeSkipDialogue(EnKakasi* this, PlayState* play) { // dialogue after skipped time 'did you feel that? went by in an instant' this->picto.actor.textId = 0x1653; CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_01); - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; player->stateFlags1 |= PLAYER_STATE1_20; this->picto.actor.flags |= ACTOR_FLAG_10000; } @@ -393,7 +393,7 @@ void EnKakasi_SetupDialogue(EnKakasi* this) { EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SIDEWAYS_SHAKING); } - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; this->unkState196 = 1; EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_SPIN_REACH_OFFER); this->actionFunc = EnKakasi_RegularDialogue; @@ -430,7 +430,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { if ((this->talkState == Message_GetState(&play->msgCtx)) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); - if (this->talkState == TEXT_STATE_5) { + if (this->talkState == TEXT_STATE_EVENT) { // bad song input if ((this->unkState196 == 2) && (this->picto.actor.textId == 0x1647)) { Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END); @@ -524,7 +524,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) { return; } } else { - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; if (play->msgCtx.choiceIndex == 1) { Audio_PlaySfx_MessageDecide(); @@ -573,7 +573,7 @@ void EnKakasi_SetupSongTeach(EnKakasi* this, PlayState* play) { * before actually teaching */ void EnKakasi_OcarinaRemark(EnKakasi* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_DisplayOcarinaStaff(play, OCARINA_ACTION_SCARECROW_SPAWN_RECORDING); this->unkState1A8 = 0; if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { @@ -640,7 +640,7 @@ void EnKakasi_TeachingSong(EnKakasi* this, PlayState* play) { this->subCamId = SUB_CAM_ID_DONE; this->picto.actor.textId = 0x1647; this->unkState1A8 = 2; - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_ARMS_CROSSED_ROCKING); this->actionFunc = EnKakasi_RegularDialogue; @@ -672,7 +672,7 @@ void EnKakasi_SetupPostSongLearnDialogue(EnKakasi* this, PlayState* play) { this->unkCounter1A4 = 0; EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_HOPPING_REGULAR); this->subCamId = SUB_CAM_ID_DONE; - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; this->unkState1A8 = 1; this->actionFunc = EnKakasi_PostSongLearnDialogue; this->subCamFov = 0.0f; @@ -751,7 +751,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) { Message_CloseTextbox(play); - if (this->talkState == TEXT_STATE_5) { + if (this->talkState == TEXT_STATE_EVENT) { this->unk190++; if (this->unk190 > 5) { this->unk190 = 5; @@ -783,7 +783,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) { } } else { - this->talkState = TEXT_STATE_5; + this->talkState = TEXT_STATE_EVENT; if (play->msgCtx.choiceIndex == 1) { Audio_PlaySfx_MessageDecide(); this->picto.actor.textId = 0x164A; @@ -1120,7 +1120,7 @@ void EnKakasi_IdleRisen(EnKakasi* this, PlayState* play) { void EnKakasi_RisenDialogue(EnKakasi* this, PlayState* play) { Math_SmoothStepToS(&this->picto.actor.shape.rot.y, this->picto.actor.yawTowardsPlayer, 5, 0x3E8, 0); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnKakasi_SetupIdleRisen(this); } diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c index c5ae6ca9bd..d4cc0a819b 100644 --- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c +++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c @@ -338,7 +338,7 @@ void func_80B26AFC(EnKendoJs* this, PlayState* play) { func_80B26758(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80B269A4(this, play); break; @@ -357,9 +357,9 @@ void func_80B26AFC(EnKendoJs* this, PlayState* play) { } case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: default: break; } @@ -538,7 +538,7 @@ void func_80B2714C(EnKendoJs* this) { void func_80B27188(EnKendoJs* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_288 == 0x2729) { func_80B26F14(this, play); } else if (!func_80B26F6C(this, play)) { diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c index 44bcaad707..1987863064 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c @@ -486,7 +486,7 @@ void func_80B4163C(EnKgy* this, PlayState* play) { void func_80B417B8(EnKgy* this, PlayState* play) { func_80B4163C(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); func_80B413C8(this); this->actor.flags &= ~ACTOR_FLAG_TALK; @@ -510,7 +510,7 @@ void func_80B41858(EnKgy* this, PlayState* play) { void func_80B418C4(EnKgy* this, PlayState* play) { func_80B4163C(this, play); if ((this->unk_2E4 <= 0) && !(this->unk_29C & 2) && (func_80B40E54(this) == 0) && - (Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play) && + (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play) && ((play->msgCtx.currentTextId == 0xC4E) || (play->msgCtx.currentTextId == 0xC4F))) { Message_CloseTextbox(play); this->actor.textId = 0xC4F; @@ -553,7 +553,7 @@ void func_80B41ACC(EnKgy* this, PlayState* play) { Player* player = GET_PLAYER(play); SkelAnime_Update(&this->skelAnime); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction != PLAYER_IA_NONE) { this->actionFunc = func_80B41E18; @@ -695,7 +695,7 @@ void func_80B41E18(EnKgy* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { textId = play->msgCtx.currentTextId; @@ -900,7 +900,7 @@ void func_80B425A0(EnKgy* this, PlayState* play) { void func_80B42660(EnKgy* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); this->actor.focus.pos = this->unk_2A8; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); func_80B413C8(this); this->actor.flags &= ~ACTOR_FLAG_TALK; @@ -941,7 +941,7 @@ void func_80B427C8(EnKgy* this, PlayState* play) { } if ((this->unk_2E4 <= 0) && !(this->unk_29C & 2) && (func_80B40E54(this) == 0) && - (Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { textId = play->msgCtx.currentTextId; switch (textId) { @@ -1016,7 +1016,7 @@ void func_80B42A8C(EnKgy* this, PlayState* play) { } if ((this->unk_2E4 <= 0) && !(this->unk_29C & 2) && (func_80B40E54(this) == 0) && - (Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { textId = play->msgCtx.currentTextId; switch (textId) { case 0xC1D: diff --git a/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c b/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c index 154a10b86f..697cefd00a 100644 --- a/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c +++ b/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c @@ -191,7 +191,7 @@ void EnKujiya_Talk(EnKujiya* this, PlayState* play) { EnKujiya_HandlePlayerChoice(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnKujiya_ChooseNextDialogue(this, play); break; @@ -201,7 +201,7 @@ void EnKujiya_Talk(EnKujiya* this, PlayState* play) { } break; - case TEXT_STATE_17: + case TEXT_STATE_INPUT_LOTTERY_CODE: if (Message_ShouldAdvance(play)) { Inventory_SaveLotteryCodeGuess(play); Message_StartTextbox(play, 0x2B60, &this->actor); diff --git a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c index cafbc9a9d7..27adcbaf53 100644 --- a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c +++ b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c @@ -16,7 +16,7 @@ void EnLiftNuts_Destroy(Actor* thisx, PlayState* play); void EnLiftNuts_Update(Actor* thisx, PlayState* play); void EnLiftNuts_Draw(Actor* thisx, PlayState* play); -void EnLiftNuts_HandleConversation5(EnLiftNuts* this, PlayState* play); +void EnLiftNuts_HandleConversationEvent(EnLiftNuts* this, PlayState* play); void EnLiftNuts_SetupIdleHidden(EnLiftNuts* this); void EnLiftNuts_IdleHidden(EnLiftNuts* this, PlayState* play); @@ -556,8 +556,7 @@ void EnLiftNuts_HandleConversationChoice(EnLiftNuts* this, PlayState* play) { } } -// TODO: name based on TEXT_STATE_5 -void EnLiftNuts_HandleConversation5(EnLiftNuts* this, PlayState* play) { +void EnLiftNuts_HandleConversationEvent(EnLiftNuts* this, PlayState* play) { Player* player = GET_PLAYER(play); if (Message_ShouldAdvance(play)) { @@ -697,17 +696,17 @@ void EnLiftNuts_HandleConversation(EnLiftNuts* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: EnLiftNuts_HandleConversationChoice(this, play); break; - case TEXT_STATE_5: - EnLiftNuts_HandleConversation5(this, play); + case TEXT_STATE_EVENT: + EnLiftNuts_HandleConversationEvent(this, play); break; case TEXT_STATE_DONE: diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c index 1de2f9f4b5..227c2f92be 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c @@ -303,7 +303,7 @@ void EnLookNuts_SetupSendPlayerToSpawn(EnLookNuts* this) { void EnLookNuts_SendPlayerToSpawn(EnLookNuts* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); play->nextEntrance = Entrance_CreateFromSpawn(this->spawnIndex); gSaveContext.nextCutsceneIndex = 0; diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c index 946c77c0fb..64f7e673f6 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c @@ -664,7 +664,7 @@ void EnMa4_DialogueHandler(EnMa4* this, PlayState* play) { EnMa4_HandlePlayerChoice(this, play); break; - case TEXT_STATE_5: // End message block + case TEXT_STATE_EVENT: // End message block EnMa4_ChooseNextDialogue(this, play); break; @@ -676,9 +676,9 @@ void EnMa4_DialogueHandler(EnMa4* this, PlayState* play) { } case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; default: diff --git a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c index 67f91dfb34..315f662c6d 100644 --- a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c +++ b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c @@ -451,7 +451,7 @@ void EnMaYto_DefaultDialogueHandler(EnMaYto* this, PlayState* play) { EnMaYto_DefaultHandlePlayerChoice(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnMaYto_DefaultChooseNextDialogue(this, play); break; @@ -463,9 +463,9 @@ void EnMaYto_DefaultDialogueHandler(EnMaYto* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: default: break; } @@ -585,7 +585,7 @@ void EnMaYto_DinnerDialogueHandler(EnMaYto* this, PlayState* play) { EnMaYto_DinnerHandlePlayerChoice(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnMaYto_DinnerChooseNextDialogue(this, play); break; @@ -596,9 +596,9 @@ void EnMaYto_DinnerDialogueHandler(EnMaYto* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: default: break; } @@ -773,7 +773,7 @@ void EnMaYto_SetupBarnDialogueHandler(EnMaYto* this) { void EnMaYto_BarnDialogueHandler(EnMaYto* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnMaYto_BarnChooseNextDialogue(this, play); break; @@ -785,9 +785,9 @@ void EnMaYto_BarnDialogueHandler(EnMaYto* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: default: break; @@ -953,14 +953,14 @@ void EnMaYto_SetupAfterMilkRunDialogueHandler(EnMaYto* this) { void EnMaYto_AfterMilkRunDialogueHandler(EnMaYto* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: case TEXT_STATE_DONE: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnMaYto_AfterMilkRunChooseNextDialogue(this, play); break; @@ -1110,8 +1110,8 @@ void EnMaYto_SetupPostMilkRunWaitDialogueEnd(EnMaYto* this) { } void EnMaYto_PostMilkRunWaitDialogueEnd(EnMaYto* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) { - if (Message_ShouldAdvance(play) && (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) { + if (Message_ShouldAdvance(play) && (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) { Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT); Message_CloseTextbox(play); } diff --git a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c index a5bea89368..fb0b48ff56 100644 --- a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c +++ b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c @@ -386,7 +386,7 @@ void EnMaYts_SetupDialogueHandler(EnMaYts* this) { void EnMaYts_DialogueHandler(EnMaYts* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: // End message block + case TEXT_STATE_EVENT: // End message block EnMaYts_ChooseNextDialogue(this, play); break; @@ -397,9 +397,9 @@ void EnMaYts_DialogueHandler(EnMaYts* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: default: break; diff --git a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c index 033ca91923..a63b1c676c 100644 --- a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c +++ b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c @@ -257,7 +257,7 @@ void EnMinifrog_ReturnFrogCutscene(EnMinifrog* this, PlayState* play) { EnMinifrog_TurnToPlayer(this); EnMinifrog_Jump(this); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { EnMinifrog_SetJumpState(this); switch (play->msgCtx.currentTextId) { @@ -517,7 +517,7 @@ void EnMinifrog_YellowFrogDialog(EnMinifrog* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { EnMinifrog_SetJumpState(this); switch (play->msgCtx.currentTextId) { diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c index 95a0201fb3..a91d06159c 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -185,7 +185,7 @@ void func_809596A0(EnMk* this, PlayState* play) { } switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80959774; @@ -288,7 +288,7 @@ void func_80959A24(EnMk* this, PlayState* play) { case TEXT_STATE_CLOSING: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0xFA1: diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c index 351710f171..1a4198d2c3 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -47,7 +47,7 @@ void EnMm2_Destroy(Actor* thisx, PlayState* play) { */ void EnMm2_Reading(EnMm2* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = EnMm2_WaitForRead; diff --git a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c index cd177b8084..e4d0f192ab 100644 --- a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c +++ b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c @@ -337,11 +337,11 @@ void func_80A6F9DC(EnMm3* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: break; - case TEXT_STATE_3: + case TEXT_STATE_FADING: this->unk_2B0 |= 2; break; @@ -349,7 +349,7 @@ void func_80A6F9DC(EnMm3* this, PlayState* play) { func_80A6F3B4(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80A6F5E4(this, play); break; diff --git a/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c b/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c index 094438d081..62cd6add9c 100644 --- a/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c +++ b/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c @@ -692,7 +692,7 @@ void func_80AB61E8(EnMnk* this, PlayState* play) { this->picto.actor.world.rot.y = this->picto.actor.yawTowardsPlayer; Math_SmoothStepToS(&this->picto.actor.shape.rot.y, this->picto.actor.world.rot.y, 2, 0xBB8, 0xC8); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x7D9: Message_ContinueTextbox(play, 0x7DA); @@ -724,7 +724,7 @@ void func_80AB6304(EnMnk* this, PlayState* play) { this->picto.actor.world.rot.y = this->picto.actor.yawTowardsPlayer; Math_SmoothStepToS(&this->picto.actor.shape.rot.y, this->picto.actor.world.rot.y, 2, 0xBB8, 0xC8); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->flags |= MONKEY_FLAGS_4; } @@ -740,7 +740,7 @@ void func_80AB6304(EnMnk* this, PlayState* play) { void func_80AB63CC(EnMnk* this, PlayState* play) { s32 pad; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->flags |= MONKEY_FLAGS_4; } @@ -855,7 +855,7 @@ void EnMnk_Monkey_WaitToRunAndWaitAtEachPoint(EnMnk* this, PlayState* play) { } void EnMnk_Monkey_TalkAfterRun(EnMnk* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->flags |= MONKEY_FLAGS_4; Message_CloseTextbox(play); } @@ -967,7 +967,7 @@ void EnMnk_Monkey_TalkAfterApproach(EnMnk* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x7D0: @@ -1311,7 +1311,7 @@ void EnMnk_MonkeyTiedUp_ReactToWrongInstrument(EnMnk* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); SkelAnime_Update(&this->propSkelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x8D4: case 0x8DA: @@ -1376,7 +1376,7 @@ void EnMnk_MonkeyTiedUp_TransitionAfterTalk(EnMnk* this, PlayState* play) { } } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x8CA: EnMnk_MonkeyTiedUp_SetAnim(this, MONKEY_TIEDUP_ANIM_SHAKEHEAD); @@ -1613,7 +1613,7 @@ void EnMnk_MonkeyHanging_WaitForTextboxAfterDunk(EnMnk* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); SkelAnime_Update(&this->propSkelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->flags & MONKEY_FLAGS_800) { this->flags &= ~MONKEY_FLAGS_800; CutsceneManager_Stop(this->picto.actor.csId); @@ -1684,7 +1684,7 @@ void EnMnk_MonkeyHanging_Plead(EnMnk* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); SkelAnime_Update(&this->propSkelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x8E8: Message_ContinueTextbox(play, 0x8E9); @@ -1874,7 +1874,7 @@ void EnMnk_Monkey_WaitToGuideThroughWoods(EnMnk* this, PlayState* play) { void EnMnk_Monkey_TalkAfterSaved(EnMnk* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x8E5: Message_ContinueTextbox(play, 0x8E6); diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c index f2120602f6..45bf09b576 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -103,7 +103,7 @@ void EnMs_Talk(EnMs* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { Message_CloseTextbox(play); Actor_OfferGetItem(&this->actor, play, GI_MAGIC_BEANS, this->actor.xzDistToPlayer, diff --git a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c index fa8b21cc29..2de860c6bd 100644 --- a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c +++ b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c @@ -413,7 +413,7 @@ void EnMttag_RaceFinish(EnMttag* this, PlayState* play) { void EnMttag_PotentiallyRestartRace(EnMttag* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) || (talkState == TEXT_STATE_CLOSING)) { + if (((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) || (talkState == TEXT_STATE_CLOSING)) { if (this->shouldRestartRace) { play->nextEntrance = ENTRANCE(GORON_RACETRACK, 1); diff --git a/src/overlays/actors/ovl_En_Muto/z_en_muto.c b/src/overlays/actors/ovl_En_Muto/z_en_muto.c index 305badbef0..7a307a72c0 100644 --- a/src/overlays/actors/ovl_En_Muto/z_en_muto.c +++ b/src/overlays/actors/ovl_En_Muto/z_en_muto.c @@ -207,7 +207,7 @@ void EnMuto_SetupDialogue(EnMuto* this, PlayState* play) { void EnMuto_InDialogue(EnMuto* this, PlayState* play) { if (!this->isInMayorsRoom) { this->yawTowardsTarget = this->actor.yawTowardsPlayer; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); if (this->actor.textId == 0x62C) { diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c index 469f3b4ffa..765a89770f 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c @@ -414,8 +414,8 @@ void func_80BC05A8(EnNb* this, PlayState* play) { TextState talkState = Message_GetState(&play->msgCtx); u16 textId = play->msgCtx.currentTextId; - if ((&this->actor == player->talkActor) && ((textId < 0xFF) || (textId > 0x200)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3)) { + if ((&this->actor == player->talkActor) && ((textId < 0xFF) || (textId > 0x200)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING)) { if ((play->state.frames % 3) == 0) { if (this->unk_26C == 120.0f) { this->unk_26C = 0.0f; diff --git a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c index a00b347d68..bd74b61949 100644 --- a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c +++ b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c @@ -102,7 +102,7 @@ void func_80B11F78(EnOnpuman* this, PlayState* play) { void func_80B1202C(EnOnpuman* this, PlayState* play2) { PlayState* play = play2; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x8D4: this->unk_2A4 |= 1; @@ -141,7 +141,7 @@ void func_80B1202C(EnOnpuman* this, PlayState* play2) { } void func_80B1217C(EnOnpuman* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actionFunc = func_80B121D8; Message_CloseTextbox(play); } diff --git a/src/overlays/actors/ovl_En_Osn/z_en_osn.c b/src/overlays/actors/ovl_En_Osn/z_en_osn.c index 93d94290d6..2daba7444e 100644 --- a/src/overlays/actors/ovl_En_Osn/z_en_osn.c +++ b/src/overlays/actors/ovl_En_Osn/z_en_osn.c @@ -884,7 +884,7 @@ void EnOsn_HandleCutscene(EnOsn* this, PlayState* play) { void EnOsn_Talk(EnOsn* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_DONE) || (talkState == TEXT_STATE_5)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_DONE) || (talkState == TEXT_STATE_EVENT)) && Message_ShouldAdvance(play)) { if (this->stateFlags & OSN_STATE_END_CONVERSATION) { this->stateFlags &= ~OSN_STATE_END_CONVERSATION; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index b4c5401ace..9dc76c9e9f 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -196,7 +196,8 @@ void EnOssan_SetupAction(EnOssan* this, EnOssanActionFunc action) { bool EnOssan_TestItemSelected(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A); } return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) || @@ -570,7 +571,7 @@ void EnOssan_Hello(EnOssan* this, PlayState* play) { Player* player = GET_PLAYER(play); EnOssan_RotateHead(this, play); - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if ((this->animIndex == ANI_ANIM_APOLOGY_LOOP) && (this->actor.params == ENOSSAN_PART_TIME_WORKER)) { this->animIndex = ANI_ANIM_STANDING_NORMAL_LOOP_2; SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, ANI_ANIM_STANDING_NORMAL_LOOP_2); @@ -587,7 +588,7 @@ void EnOssan_Hello(EnOssan* this, PlayState* play) { return; } } - if ((talkState == TEXT_STATE_10) && (this->actor.params == ENOSSAN_PART_TIME_WORKER) && + if ((talkState == TEXT_STATE_AWAITING_NEXT) && (this->actor.params == ENOSSAN_PART_TIME_WORKER) && (player->transformation == PLAYER_FORM_ZORA) && Message_ShouldAdvance(play)) { this->animIndex = ANI_ANIM_APOLOGY_LOOP; SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, ANI_ANIM_APOLOGY_LOOP); @@ -678,7 +679,7 @@ void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play) { void EnOssan_TalkToShopkeeper(EnOssan* this, PlayState* play) { AnimationInfoS* animationInfo = sAnimationInfoList[this->actor.params]; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if ((this->animIndex == ANI_ANIM_APOLOGY_LOOP) && (this->actor.params == ENOSSAN_PART_TIME_WORKER)) { this->animIndex = ANI_ANIM_STANDING_NORMAL_LOOP_2; SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, ANI_ANIM_STANDING_NORMAL_LOOP_2); @@ -865,7 +866,7 @@ void EnOssan_BrowseLeftShelf(EnOssan* this, PlayState* play) { this->drawCursor = 0xFF; this->stickRightPrompt.isEnabled = true; EnOssan_UpdateCursorPos(play, this); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { func_8011552C(play, DO_ACTION_DECIDE); if (!EnOssan_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) { if (this->moveHorizontal) { @@ -923,7 +924,7 @@ void EnOssan_BrowseRightShelf(EnOssan* this, PlayState* play) { this->drawCursor = 0xFF; this->stickLeftPrompt.isEnabled = true; EnOssan_UpdateCursorPos(play, this); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { func_8011552C(play, DO_ACTION_DECIDE); if (!EnOssan_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) { if (this->moveHorizontal != 0) { @@ -1095,7 +1096,7 @@ void EnOssan_SelectItem(EnOssan* this, PlayState* play) { } void EnOssan_CannotBuy(EnOssan* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actionFunc = this->prevActionFunc; Message_ContinueTextbox(play, this->items[this->cursorIndex]->actor.textId); } @@ -1104,7 +1105,7 @@ void EnOssan_CannotBuy(EnOssan* this, PlayState* play) { void EnOssan_CanBuy(EnOssan* this, PlayState* play) { EnGirlA* item; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->shopItemSelectedTween = 0.0f; EnOssan_ResetItemPosition(this); item = this->items[this->cursorIndex]; @@ -1169,7 +1170,7 @@ void EnOssan_ContinueShopping(EnOssan* this, PlayState* play) { } } } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { EnOssan_ResetItemPosition(this); item = this->items[this->cursorIndex]; item->restockFunc(play, item); diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.c b/src/overlays/actors/ovl_En_Ot/z_en_ot.c index 71dac42b52..568834c0a8 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -683,13 +683,13 @@ void func_80B5CD40(EnOt* this, PlayState* play) { } break; - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if (Message_ShouldAdvance(play) && (play->msgCtx.currentTextId == 0x1069)) { this->unk_32C |= 4; @@ -814,13 +814,13 @@ void func_80B5D160(EnOt* this, PlayState* play) { } break; - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/src/overlays/actors/ovl_En_Owl/z_en_owl.c index 9646333448..ba0efe7d61 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -345,14 +345,14 @@ void func_8095AD54(EnOwl* this, PlayState* play) { } void func_8095AE00(EnOwl* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_ContinueTextbox(play, 0x7D2); this->actionFunc = func_8095AD54; } } void func_8095AE60(EnOwl* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_ContinueTextbox(play, 0x7D1); this->actionFunc = func_8095AE00; } @@ -368,7 +368,7 @@ void func_8095AEC0(EnOwl* this, PlayState* play) { void func_8095AF2C(EnOwl* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { if (play->msgCtx.currentTextId == 0xBFE) { func_8095ACEC(this); @@ -663,7 +663,7 @@ void func_8095BA84(EnOwl* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0xBEA: diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c index 6118db8cce..0167314493 100644 --- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c +++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c @@ -648,13 +648,13 @@ void func_80BD9A9C(EnPamera* this) { void EnPamera_HandleDialogue(EnPamera* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80BD9B4C(this, play); break; diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.c b/src/overlays/actors/ovl_En_Pm/z_en_pm.c index e653738d80..0dce760a8b 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.c +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.c @@ -1140,8 +1140,8 @@ void func_80AF8C68(EnPm* this, PlayState* play) { s32 talkState = Message_GetState(&play->msgCtx); u16 textId = play->msgCtx.currentTextId; - if ((player->talkActor == &this->actor) && ((textId < 0xFF) || (textId > 0x200)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3)) { + if ((player->talkActor == &this->actor) && ((textId < 0xFF) || (textId > 0x200)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING)) { if ((play->state.frames % 3) == 0) { if (this->unk_360 == 120.0f) { this->unk_360 = 0.0f; diff --git a/src/overlays/actors/ovl_En_Pst/z_en_pst.c b/src/overlays/actors/ovl_En_Pst/z_en_pst.c index 64f53ba5fb..67f2e99797 100644 --- a/src/overlays/actors/ovl_En_Pst/z_en_pst.c +++ b/src/overlays/actors/ovl_En_Pst/z_en_pst.c @@ -218,9 +218,9 @@ s32 EnPst_ChooseBehaviour(Actor* thisx, PlayState* play) { case POSTBOX_BEHAVIOUR_WAIT_FOR_ITEM: switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { - case TEXT_STATE_16: + case TEXT_STATE_PAUSE_MENU: itemAction = func_80123810(play); scriptBranch = 0; if ((itemAction == PLAYER_IA_LETTER_TO_KAFEI) || (itemAction == PLAYER_IA_LETTER_MAMA)) { diff --git a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c index 51482ed9a6..47a735a880 100644 --- a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c +++ b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c @@ -533,11 +533,11 @@ void func_80B717E0(EnRailSkb* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: break; - case TEXT_STATE_3: + case TEXT_STATE_FADING: if ((play->gameplayFrames % 2) != 0) { this->unk_3FA = 1; } @@ -547,7 +547,7 @@ void func_80B717E0(EnRailSkb* this, PlayState* play) { func_80B72100(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80B71F3C(this, play); break; diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c index e56ff45615..f72f1e2d53 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c @@ -975,7 +975,7 @@ void EnRailgibud_CheckIfTalkingToPlayer(EnRailgibud* this, PlayState* play) { } } else { switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { Message_StartTextbox(play, 0x13B3, &this->actor); this->textId = 0x13B3; @@ -991,9 +991,9 @@ void EnRailgibud_CheckIfTalkingToPlayer(EnRailgibud* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: default: break; diff --git a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c index c02fe7cfe7..50120b412d 100644 --- a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c +++ b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c @@ -147,7 +147,7 @@ void EnRecepgirl_Talk(EnRecepgirl* this, PlayState* play) { if (talkState == TEXT_STATE_CLOSING) { this->actor.textId = 0x2ADC; // hear directions again? EnRecepgirl_SetupWait(this); - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->actor.textId == 0x2AD9) { Flags_SetSwitch(play, ENRECEPGIRL_GET_SWITCH_FLAG(&this->actor)); Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00AD98, 10.0f); diff --git a/src/overlays/actors/ovl_En_Rz/z_en_rz.c b/src/overlays/actors/ovl_En_Rz/z_en_rz.c index aff281f9ed..eb015dc3b9 100644 --- a/src/overlays/actors/ovl_En_Rz/z_en_rz.c +++ b/src/overlays/actors/ovl_En_Rz/z_en_rz.c @@ -434,7 +434,7 @@ void func_80BFC078(EnRz* this, PlayState* play) { EnRz_UpdateSkelAnime(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x2927: case 0x2928: @@ -568,7 +568,7 @@ void func_80BFC3F8(EnRz* this, PlayState* play) { void func_80BFC608(EnRz* this, PlayState* play) { EnRz_UpdateSkelAnime(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80BFC674; } @@ -592,7 +592,7 @@ void func_80BFC674(EnRz* this, PlayState* play) { void func_80BFC728(EnRz* this, PlayState* play) { EnRz_UpdateSkelAnime(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80BFC7E0; this->actor.textId++; diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c index f00660a7c6..1ab67d5212 100644 --- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c +++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c @@ -1127,7 +1127,7 @@ void EnSGoro_SpringShrineGoron_Idle(EnSGoro* this, PlayState* play) { } void EnSGoro_SpringShrineGoron_Talk(EnSGoro* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->actionFlags & EN_S_GORO_ACTIONFLAG_LASTMESSAGE) { this->actionFlags &= ~EN_S_GORO_ACTIONFLAG_LASTMESSAGE; this->actionFlags &= ~EN_S_GORO_ACTIONFLAG_ENGAGED; diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c index ea8dab25a3..635c970acd 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c @@ -314,7 +314,7 @@ void func_80BCB52C(EnScopenuts* this, PlayState* play) { void func_80BCB6D0(EnScopenuts* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if (this->unk_328 & 1) { this->unk_328 &= ~1; diff --git a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c index 7e49f896b1..0fe07d766f 100644 --- a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c +++ b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c @@ -141,7 +141,7 @@ void func_80A44F40(EnSekihi* this, PlayState* play) { break; } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1018: diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c index 838c96f01e..402e775c04 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c @@ -419,7 +419,7 @@ void func_80ADB924(EnSellnuts* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); PlayerItemAction itemAction; - if (talkState == TEXT_STATE_16) { + if (talkState == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction > PLAYER_IA_NONE) { @@ -439,7 +439,7 @@ void func_80ADB924(EnSellnuts* this, PlayState* play) { Message_ContinueTextbox(play, this->unk_340); this->actionFunc = func_80ADB0D8; } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_340 == D_80ADD910[this->unk_33A]) { this->unk_340 = D_80ADD938[this->unk_33A]; Message_ContinueTextbox(play, this->unk_340); @@ -469,7 +469,7 @@ void func_80ADBAB8(EnSellnuts* this, PlayState* play) { SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, 6); } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->actionFunc = func_80ADBBEC; @@ -515,7 +515,7 @@ void func_80ADBD64(EnSellnuts* this, PlayState* play) { SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, 0); } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_338 &= ~2; @@ -557,7 +557,7 @@ void func_80ADBE80(EnSellnuts* this, PlayState* play) { } void func_80ADBFA0(EnSellnuts* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; if (this->unk_34C == 0) { @@ -720,7 +720,7 @@ void func_80ADC5A4(EnSellnuts* this, PlayState* play) { void func_80ADC6D0(EnSellnuts* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; if (player->transformation == PLAYER_FORM_DEKU) { @@ -750,7 +750,7 @@ void func_80ADC7B4(EnSellnuts* this, PlayState* play) { } CutsceneManager_Queue(this->csId); } - } else if ((this->unk_366 == 1) && (talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((this->unk_366 == 1) && (talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_366 = 0; diff --git a/src/overlays/actors/ovl_En_Shn/z_en_shn.c b/src/overlays/actors/ovl_En_Shn/z_en_shn.c index b843e444d2..a82a3e27d5 100644 --- a/src/overlays/actors/ovl_En_Shn/z_en_shn.c +++ b/src/overlays/actors/ovl_En_Shn/z_en_shn.c @@ -182,8 +182,8 @@ void func_80AE6488(EnShn* this, PlayState* play) { this->unk_2D4 = CLAMP(this->unk_2D4, 0.0f, 80.0f); Matrix_Translate(this->unk_2D4, 0.0f, 0.0f, MTXMODE_APPLY); if ((&this->actor == player->talkActor) && - ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId >= 0x201)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3)) { + ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId >= 0x201)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING)) { if (play->state.frames % 2 == 0) { if (this->unk_2D0 != 0.0f) { this->unk_2D0 = 0.0f; diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c index d1de96d4c6..e4a38369be 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -365,13 +365,13 @@ void func_80995068(EnSkb* this, PlayState* play) { void func_80995190(EnSkb* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { Message_StartTextbox(play, 0x13F7, &this->actor); if (this->unk_3DE == 2) { diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c index 5f827a7de3..5590bc82b7 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c @@ -176,7 +176,8 @@ void EnSob1_SetupAction(EnSob1* this, EnSob1ActionFunc action) { bool EnSob1_TestItemSelected(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A); } return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) || @@ -636,7 +637,7 @@ void EnSob1_Hello(EnSob1* this, PlayState* play) { CutsceneManager_Queue(this->csId); } } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play) && + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play) && !EnSob1_TestEndInteraction(this, play, CONTROLLER1(&play->state))) { if (this->welcomeTextId == 0x68A) { // Welcome text when wearing Kafei's mask EnSob1_EndInteraction(play, this); @@ -707,7 +708,7 @@ void EnSob1_FaceShopkeeper(EnSob1* this, PlayState* play) { } void EnSob1_TalkingToShopkeeper(EnSob1* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { EnSob1_StartShopping(play, this); } } @@ -939,7 +940,7 @@ void EnSob1_BrowseShelf(EnSob1* this, PlayState* play) { this->drawCursor = 0xFF; this->stickLeftPrompt.isEnabled = true; EnSob1_UpdateCursorPos(play, this); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { func_8011552C(play, DO_ACTION_DECIDE); if (!EnSob1_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) { EnSob1_CursorLeftRight(play, this); @@ -1078,7 +1079,7 @@ void EnSob1_SelectItem(EnSob1* this, PlayState* play) { } void EnSob1_CannotBuy(EnSob1* this, PlayState* play) { - if (Message_GetState(&play->msgCtx) == TEXT_STATE_5) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { this->actionFunc = this->prevActionFunc; Message_ContinueTextbox(play, this->items[this->cursorIndex]->actor.textId); @@ -1089,7 +1090,7 @@ void EnSob1_CannotBuy(EnSob1* this, PlayState* play) { void EnSob1_CanBuy(EnSob1* this, PlayState* play) { EnGirlA* item; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->shopItemSelectedTween = 0.0f; EnSob1_ResetItemPosition(this); item = this->items[this->cursorIndex]; @@ -1128,7 +1129,7 @@ void EnSob1_ContinueShopping(EnSob1* this, PlayState* play) { Player* player = GET_PLAYER(play); EnGirlA* item; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { EnSob1_ResetItemPosition(this); item = this->items[this->cursorIndex]; item->restockFunc(play, item); diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c index 22a4c6cb94..7886b1a2a4 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c @@ -687,7 +687,7 @@ void EnSsh_Wait(EnSsh* this, PlayState* play) { void EnSsh_Talk(EnSsh* this, PlayState* play) { EnSsh_Bob(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x904: // (does not exist) case 0x905: // (does not exist) diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c index 593be5b879..f159accea9 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c @@ -234,7 +234,7 @@ void EnSth_GetInitialPanicText(EnSth* this, PlayState* play) { void EnSth_HandlePanicConversation(EnSth* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actionFunc = EnSth_PanicIdle; Message_CloseTextbox(play); } @@ -347,7 +347,7 @@ void EnSth_HandleOceansideSpiderHouseConversation(EnSth* this, PlayState* play) SkelAnime_Update(&this->skelAnime); switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1134: // (does not exist) @@ -441,7 +441,7 @@ void EnSth_OceansideSpiderHouseIdle(EnSth* this, PlayState* play) { void EnSth_HandleMoonLookingConversation(EnSth* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actionFunc = EnSth_MoonLookingIdle; Message_CloseTextbox(play); } @@ -535,7 +535,7 @@ void EnSth_HandleSwampSpiderHouseConversation(EnSth* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x90C: // (does not exist) EnSth_ChangeAnim(this, STH_ANIM_TALK); diff --git a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c index e45735c3c5..a7ab300d6f 100644 --- a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c +++ b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c @@ -236,7 +236,7 @@ void func_80BC9680(EnStoneheishi* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); if (this->textIdIndex == 2) { @@ -269,7 +269,7 @@ void EnStoneheishi_CheckGivenItem(EnStoneheishi* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction > PLAYER_IA_NONE) { @@ -323,7 +323,7 @@ void EnStoneheishi_DrinkBottleProcess(EnStoneheishi* this, PlayState* play) { break; case EN_STONE_DRINK_BOTTLE_DRINKING: - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Player* player = GET_PLAYER(play); play->msgCtx.msgLength = 0; diff --git a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c index 5dee827758..66d3c5071b 100644 --- a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c +++ b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c @@ -518,7 +518,7 @@ void func_80AE854C(EnStopheishi* this, PlayState* play) { void func_80AE85C4(EnStopheishi* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); EnStopheishi_UpdateHeadNormal(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_27E != 0) { this->actor.textId = this->unk_27E; Message_ContinueTextbox(play, this->actor.textId); diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c index f01f8b045f..ddccbef647 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c @@ -1208,7 +1208,7 @@ void func_80BAD004(EnSuttari* this, PlayState* play) { void func_80BAD130(EnSuttari* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { + if (((talkState == TEXT_STATE_EVENT) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; if (this->flags1 & 8) { @@ -1239,7 +1239,7 @@ void func_80BAD230(EnSuttari* this, PlayState* play) { } void func_80BAD2B4(EnSuttari* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->textId == 0x2A30) { CutsceneManager_Stop(this->csIdList[0]); CutsceneManager_Queue(this->csIdList[1]); @@ -1265,7 +1265,7 @@ void func_80BAD380(EnSuttari* this, PlayState* play) { } else { this->flags1 &= ~0x8000; func_80BABA90(this, 1, 1); - if ((this->flags1 & 0x4000) && (talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((this->flags1 & 0x4000) && (talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->flags2 &= ~0x10; player->stateFlags1 &= ~PLAYER_STATE1_10000000; this->flags1 &= ~0x4000; @@ -1400,7 +1400,7 @@ void func_80BADA9C(EnSuttari* this, PlayState* play) { this->animIndex = 1; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex); } - if (talkstate == TEXT_STATE_5) { + if (talkstate == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if (this->flags1 & 0x400) { if (this->textId == 0x29EE) { diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c index f1c4541c49..dcd099f02a 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c @@ -480,7 +480,7 @@ void EnSyatekiMan_Swamp_Talk(EnSyatekiMan* this, PlayState* play) { EnSyatekiMan_Swamp_HandleChoice(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnSyatekiMan_Swamp_HandleNormalMessage(this, play); break; @@ -497,12 +497,12 @@ void EnSyatekiMan_Swamp_Talk(EnSyatekiMan* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: - case TEXT_STATE_3: - case TEXT_STATE_7: + case TEXT_STATE_NEXT: + case TEXT_STATE_FADING: + case TEXT_STATE_SONG_DEMO_DONE: case TEXT_STATE_8: case TEXT_STATE_9: - case TEXT_STATE_10: + case TEXT_STATE_AWAITING_NEXT: break; } @@ -856,7 +856,7 @@ void EnSyatekiMan_Town_Talk(EnSyatekiMan* this, PlayState* play) { EnSyatekiMan_Town_HandleChoice(this, play); break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnSyatekiMan_Town_HandleNormalMessage(this, play); break; @@ -871,12 +871,12 @@ void EnSyatekiMan_Town_Talk(EnSyatekiMan* this, PlayState* play) { break; case TEXT_STATE_NONE: - case TEXT_STATE_1: - case TEXT_STATE_3: - case TEXT_STATE_7: + case TEXT_STATE_NEXT: + case TEXT_STATE_FADING: + case TEXT_STATE_SONG_DEMO_DONE: case TEXT_STATE_8: case TEXT_STATE_9: - case TEXT_STATE_10: + case TEXT_STATE_AWAITING_NEXT: break; } } diff --git a/src/overlays/actors/ovl_En_Tab/z_en_tab.c b/src/overlays/actors/ovl_En_Tab/z_en_tab.c index e571221176..4b6974942c 100644 --- a/src/overlays/actors/ovl_En_Tab/z_en_tab.c +++ b/src/overlays/actors/ovl_En_Tab/z_en_tab.c @@ -268,8 +268,8 @@ void func_80BE0A98(EnTab* this, PlayState* play) { Matrix_Translate(this->unk_308, 0.0f, 0.0f, MTXMODE_APPLY); if ((&this->actor == player->talkActor) && - ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && (talkState == TEXT_STATE_3) && - (this->prevTalkState == TEXT_STATE_3)) { + ((play->msgCtx.currentTextId < 0xFF) || (play->msgCtx.currentTextId > 0x200)) && + (talkState == TEXT_STATE_FADING) && (this->prevTalkState == TEXT_STATE_FADING)) { if ((play->state.frames % 2) == 0) { if (this->unk_304 != 0.0f) { this->unk_304 = 0.0f; diff --git a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c index f4d6ec9534..2f73c81a69 100644 --- a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c +++ b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c @@ -226,7 +226,7 @@ void EnTakaraya_Talk(EnTakaraya* this, PlayState* play) { CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED); EnTakaraya_SetupWait(this); } - } else if ((talkState == TEXT_STATE_1) && (this->actor.textId != 0x778)) { + } else if ((talkState == TEXT_STATE_NEXT) && (this->actor.textId != 0x778)) { if (Message_ShouldAdvance(play)) { Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00AD98, 5.0f); } @@ -368,7 +368,7 @@ void func_80ADF7B8(EnTakaraya* this) { void func_80ADF7CC(EnTakaraya* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->actor.textId == 0x77A) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED)) { Message_CloseTextbox(play); diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index 2b5d2c9f54..a84fa26600 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -805,20 +805,20 @@ void EnTalkGibud_Talk(EnTalkGibud* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: - case TEXT_STATE_7: + case TEXT_STATE_SONG_DEMO_DONE: case TEXT_STATE_8: case TEXT_STATE_9: - case TEXT_STATE_10: + case TEXT_STATE_AWAITING_NEXT: case TEXT_STATE_11: case TEXT_STATE_12: case TEXT_STATE_13: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: EnTalkGibud_GetNextTextBoxId(this, play); break; @@ -842,7 +842,7 @@ void EnTalkGibud_Talk(EnTalkGibud* this, PlayState* play) { } break; - case TEXT_STATE_16: + case TEXT_STATE_PAUSE_MENU: EnTalkGibud_CheckPresentedItem(this, play); break; } diff --git a/src/overlays/actors/ovl_En_Test3/z_en_test3.c b/src/overlays/actors/ovl_En_Test3/z_en_test3.c index 8dde96eaa9..ec3c91987a 100644 --- a/src/overlays/actors/ovl_En_Test3/z_en_test3.c +++ b/src/overlays/actors/ovl_En_Test3/z_en_test3.c @@ -387,7 +387,7 @@ s32 func_80A3EAC4(EnTest3* this, PlayState* play) { } s32 func_80A3EAF8(EnTest3* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_D78->textId == 0x145F) { CutsceneManager_Stop(this->csId); this->csId = CS_ID_GLOBAL_TALK; diff --git a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c index 5e40835987..4b2f3e2e41 100644 --- a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c +++ b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c @@ -147,7 +147,7 @@ void EnTimeTag_SoaringEngraving_StartCutscene(EnTimeTag* this, PlayState* play) } void EnTimeTag_SoaringEngraving_SubsequentInteraction(EnTimeTag* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = EnTimeTag_SoaringEngraving_Wait; } @@ -196,7 +196,7 @@ void EnTimeTag_Diary_TeachEvanSongSnippets(EnTimeTag* this, PlayState* play) { void EnTimeTag_Diary_Cutscene(EnTimeTag* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x101C: // Lulu diary part 1 @@ -285,7 +285,7 @@ void EnTimeTag_KickOut_DoNothing(EnTimeTag* this, PlayState* play) { } void EnTimeTag_KickOut_Transition(EnTimeTag* this, PlayState* play) { - if (Message_GetState(&play->msgCtx) == TEXT_STATE_5) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) { play->nextEntrance = play->setupExitList[TIMETAG_KICKOUT_GET_EXIT_INDEX(&this->actor)]; play->transitionTrigger = TRANS_TRIGGER_START; if (TIMETAG_GET_TYPE(&this->actor) == TIMETAG_KICKOUT_DOOR) { diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index 4ee5679042..9859ecb982 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -572,13 +572,13 @@ void func_80AED610(EnTk* this, PlayState* play) { break; } - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { @@ -822,13 +822,13 @@ void func_80AEDF5C(EnTk* this, PlayState* play) { } break; - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: break; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: case TEXT_STATE_DONE: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.c b/src/overlays/actors/ovl_En_Toto/z_en_toto.c index d3c5c07dba..ae0e59e6dd 100644 --- a/src/overlays/actors/ovl_En_Toto/z_en_toto.c +++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.c @@ -412,7 +412,7 @@ s32 func_80BA407C(EnToto* this, PlayState* play) { } s32 func_80BA40D4(EnToto* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { return 1; } return 0; diff --git a/src/overlays/actors/ovl_En_Trt/z_en_trt.c b/src/overlays/actors/ovl_En_Trt/z_en_trt.c index eda9fd196c..949b765be3 100644 --- a/src/overlays/actors/ovl_En_Trt/z_en_trt.c +++ b/src/overlays/actors/ovl_En_Trt/z_en_trt.c @@ -126,7 +126,8 @@ void EnTrt_ChangeAnim(SkelAnime* skelAnime, AnimationInfoS* animationInfo, s32 a bool EnTrt_TestItemSelected(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; - if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_10) || (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_11)) { + if ((msgCtx->textboxEndType == TEXTBOX_ENDTYPE_TWO_CHOICE) || + (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_THREE_CHOICE)) { return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A); } return CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) || @@ -325,7 +326,7 @@ void EnTrt_Hello(EnTrt* this, PlayState* play) { CutsceneManager_Queue(this->csId); } } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Audio_PlaySfx(NA_SE_SY_MESSAGE_PASS); if (!EnTrt_TestEndInteraction(this, play, CONTROLLER1(&play->state))) { EnTrt_StartShopping(play, this); @@ -343,7 +344,7 @@ void EnTrt_GetMushroom(EnTrt* this, PlayState* play) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING_SPECIAL) { player->stateFlags2 &= ~PLAYER_STATE2_20000000; } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (this->textId) { case 0x883: this->textId = 0x884; @@ -386,7 +387,7 @@ void EnTrt_PayForMushroom(EnTrt* this, PlayState* play) { } void EnTrt_Goodbye(EnTrt* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (this->textId) { case 0x886: this->textId = 0x887; @@ -405,7 +406,7 @@ void EnTrt_Goodbye(EnTrt* this, PlayState* play) { } void EnTrt_StartRedPotionConversation(EnTrt* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->textId == 0x88F) { if (Inventory_HasEmptyBottle() || !CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) { @@ -494,7 +495,7 @@ void EnTrt_GivenRedPotionForKoume(EnTrt* this, PlayState* play) { void EnTrt_EndConversation(EnTrt* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { EnTrt_EndInteraction(play, this); } @@ -643,7 +644,7 @@ void EnTrt_BrowseShelf(EnTrt* this, PlayState* play) { this->drawCursor = 0xFF; this->stickLeftPrompt.isEnabled = true; EnTrt_UpdateCursorPos(play, this); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { func_8011552C(play, DO_ACTION_DECIDE); if (!EnTrt_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) { EnTrt_CursorLeftRight(play, this); @@ -754,7 +755,7 @@ void EnTrt_SelectItem(EnTrt* this, PlayState* play) { break; } } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (!Inventory_HasEmptyBottle()) { Audio_PlaySfx(NA_SE_SY_ERROR); EnTrt_SetupCannotBuy(play, this, 0x846); @@ -992,7 +993,7 @@ void EnTrt_TryToGiveRedPotionAfterSurprised(EnTrt* this, PlayState* play) { } void EnTrt_TryToGiveRedPotion(EnTrt* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->textId == 0x83C) { if (Inventory_HasEmptyBottle()) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) { @@ -1063,7 +1064,7 @@ void EnTrt_ItemGiven(EnTrt* this, PlayState* play) { } void EnTrt_SetupEndInteraction(EnTrt* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { EnTrt_EndInteraction(play, this); } } @@ -1093,7 +1094,7 @@ void EnTrt_ShopkeeperGone(EnTrt* this, PlayState* play) { } void EnTrt_CannotBuy(EnTrt* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actionFunc = this->prevActionFunc; Message_ContinueTextbox(play, EnTrt_GetItemTextId(this)); } @@ -1102,7 +1103,7 @@ void EnTrt_CannotBuy(EnTrt* this, PlayState* play) { void EnTrt_CanBuy(EnTrt* this, PlayState* play) { EnGirlA* item; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->shopItemSelectedTween = 0.0f; EnTrt_ResetItemPosition(this); item = this->items[this->cursorIndex]; @@ -1165,7 +1166,7 @@ void EnTrt_ContinueShopping(EnTrt* this, PlayState* play) { } } } - } else if (talkState == TEXT_STATE_5) { + } else if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { EnTrt_ResetItemPosition(this); item = this->items[this->cursorIndex]; @@ -1410,7 +1411,7 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, PlayState* play) { Player* player = GET_PLAYER(play); PlayerItemAction itemAction; - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { if ((this->talkOptionTextId == 0x845) || (this->talkOptionTextId == 0x882)) { Message_ContinueTextbox(play, 0xFF); @@ -1418,7 +1419,7 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, PlayState* play) { EnTrt_StartShopping(play, this); } } - } else if (talkState == TEXT_STATE_16) { + } else if (talkState == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction > PLAYER_IA_NONE) { if (itemAction == PLAYER_IA_BOTTLE_MUSHROOM) { diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c index ab75e06d24..50340ea8c2 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c @@ -346,7 +346,7 @@ void func_80AD3CEC(EnTrt2* this, PlayState* play) { if (this->unk_3D8) { Message_StartTextbox(play, this->unk_3A8, &this->actor); this->unk_3D8 = false; - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; EnTrt2_ChangeAnim(&this->skelAnime, sAnimationInfo, TRT2_ANIM_HOVER); @@ -373,7 +373,7 @@ void func_80AD3DA4(EnTrt2* this, PlayState* play) { } void func_80AD3E34(EnTrt2* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (Inventory_HasEmptyBottle()) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; @@ -402,7 +402,7 @@ void func_80AD3EF0(EnTrt2* this, PlayState* play) { this->unk_3B2 = 10; } } - } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + } else if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_3B2 = 12; @@ -442,7 +442,7 @@ void func_80AD4110(EnTrt2* this, PlayState* play) { } void func_80AD417C(EnTrt2* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { if (this->unk_3A8 == 0x84B) { func_80AD349C(this); func_80AD3DA4(this, play); @@ -528,7 +528,7 @@ void func_80AD4550(EnTrt2* this, PlayState* play) { this->unk_3B2 = 17; } - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; } diff --git a/src/overlays/actors/ovl_En_Tru/z_en_tru.c b/src/overlays/actors/ovl_En_Tru/z_en_tru.c index 09ab31e9c2..9c8b3d8389 100644 --- a/src/overlays/actors/ovl_En_Tru/z_en_tru.c +++ b/src/overlays/actors/ovl_En_Tru/z_en_tru.c @@ -830,12 +830,12 @@ s32 func_80A8777C(Actor* thisx, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (!Message_ShouldAdvance(play)) { break; } // Fallthrough - case TEXT_STATE_16: + case TEXT_STATE_PAUSE_MENU: itemAction = func_80123810(play); if ((itemAction == PLAYER_IA_BOTTLE_POTION_RED) || (itemAction == PLAYER_IA_BOTTLE_POTION_BLUE)) { diff --git a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c index d54c585b45..91dd7f019c 100644 --- a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c +++ b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c @@ -389,7 +389,7 @@ void func_80B76A64(EnTruMt* this, PlayState* play) { } void func_80B76BB8(EnTruMt* this, PlayState* play) { - if (Message_GetState(&play->msgCtx) == TEXT_STATE_5) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { play->nextEntrance = ENTRANCE(TOURIST_INFORMATION, 1); play->transitionType = TRANS_TYPE_FADE_WHITE; diff --git a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c index 2b6b27459d..6b894a797b 100644 --- a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c +++ b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c @@ -197,7 +197,7 @@ void func_80AE0010(EnTsn* this, PlayState* play) { break; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x107F: case 0x1081: @@ -317,7 +317,7 @@ void func_80AE04FC(EnTsn* this, PlayState* play) { PlayerItemAction itemAction; Player* player = GET_PLAYER(play); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction != PLAYER_IA_NONE) { @@ -389,7 +389,7 @@ void func_80AE0704(EnTsn* this, PlayState* play) { case TEXT_STATE_CLOSING: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x106E: @@ -545,7 +545,7 @@ void func_80AE0C88(EnTsn* this, PlayState* play) { } void func_80AE0D10(EnTsn* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80AE0D78; CutsceneManager_Stop(this->actor.csId); diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c index 9c4985661f..42deb99164 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c @@ -292,7 +292,7 @@ void EnYb_Talk(EnYb* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; EnYb_UpdateAnimation(this, play); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x147D: // I am counting on you Message_CloseTextbox(play); diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.c b/src/overlays/actors/ovl_En_Zob/z_en_zob.c index 2888a811e1..9482385f9c 100644 --- a/src/overlays/actors/ovl_En_Zob/z_en_zob.c +++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.c @@ -330,7 +330,7 @@ void func_80B9FE5C(EnZob* this, PlayState* play) { void func_80B9FF20(EnZob* this, PlayState* play) { func_80B9F86C(this); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_7) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_SONG_DEMO_DONE) { Message_DisplayOcarinaStaff(play, OCARINA_ACTION_PROMPT_EVAN_PART2_SECOND_HALF); this->actionFunc = func_80B9FE5C; func_80B9FC70(this, 2); @@ -356,7 +356,7 @@ void func_80B9FF80(EnZob* this, PlayState* play) { void func_80BA005C(EnZob* this, PlayState* play) { func_80B9F86C(this); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_7) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_SONG_DEMO_DONE) { Message_DisplayOcarinaStaff(play, OCARINA_ACTION_PROMPT_EVAN_PART1_SECOND_HALF); this->actionFunc = func_80B9FF80; func_80B9FC70(this, 2); @@ -385,7 +385,7 @@ void func_80BA00BC(EnZob* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1208: @@ -469,7 +469,7 @@ void func_80BA0374(EnZob* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x11F8: @@ -628,7 +628,7 @@ void func_80BA0A04(EnZob* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80BA0AD8; diff --git a/src/overlays/actors/ovl_En_Zod/z_en_zod.c b/src/overlays/actors/ovl_En_Zod/z_en_zod.c index 9d42a3189f..f70c264cc0 100644 --- a/src/overlays/actors/ovl_En_Zod/z_en_zod.c +++ b/src/overlays/actors/ovl_En_Zod/z_en_zod.c @@ -327,7 +327,7 @@ void func_80BAF7CC(EnZod* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x121A: @@ -418,7 +418,7 @@ void func_80BAFADC(EnZod* this, PlayState* play) { EnZod_UpdateAnimation(this); talkState = Message_GetState(&play->msgCtx); if (talkState != TEXT_STATE_CLOSING) { - if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((talkState == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80BAFB84; EnZod_ChangeAnim(this, ENZOD_ANIM_PLAYING_LENTO, ANIMMODE_ONCE); @@ -464,7 +464,7 @@ void EnZod_Rehearse(EnZod* this, PlayState* play) { void EnZod_SetupRehearse(EnZod* this, PlayState* play) { EnZod_UpdateAnimation(this); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); EnZod_ChangeAnim(this, ENZOD_ANIM_PLAYING_LENTO, ANIMMODE_ONCE); this->actionFunc = EnZod_Rehearse; diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.c b/src/overlays/actors/ovl_En_Zog/z_en_zog.c index f5aa9f3fc4..46a160da8b 100644 --- a/src/overlays/actors/ovl_En_Zog/z_en_zog.c +++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.c @@ -586,7 +586,7 @@ void func_80B943EC(EnZog* this, PlayState* play) { } void func_80B94470(EnZog* this, PlayState* play) { - if (Message_GetState(&play->msgCtx) == TEXT_STATE_5) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play) && (play->msgCtx.currentTextId == 0x103C)) { Message_CloseTextbox(play); this->actionFunc = func_80B9451C; @@ -655,7 +655,7 @@ void func_80B946FC(EnZog* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1008: @@ -801,7 +801,7 @@ void func_80B94D0C(EnZog* this, PlayState* play) { this->unk_31E = 0; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->unk_320 = 5; switch (play->msgCtx.currentTextId) { case 0x1004: diff --git a/src/overlays/actors/ovl_En_Zos/z_en_zos.c b/src/overlays/actors/ovl_En_Zos/z_en_zos.c index 154b17f822..5d7ff92ad6 100644 --- a/src/overlays/actors/ovl_En_Zos/z_en_zos.c +++ b/src/overlays/actors/ovl_En_Zos/z_en_zos.c @@ -328,7 +328,7 @@ void func_80BBB574(EnZos* this, PlayState* play) { } } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x124B: if (this->animIndex == EN_ZOS_ANIM_INSPIRED) { @@ -366,7 +366,7 @@ void func_80BBB718(EnZos* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction > PLAYER_IA_NONE) { @@ -414,7 +414,7 @@ void func_80BBB8AC(EnZos* this, PlayState* play) { } } - if ((Message_GetState(&play->msgCtx) != TEXT_STATE_5) || !Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) != TEXT_STATE_EVENT) || !Message_ShouldAdvance(play)) { return; } @@ -610,7 +610,7 @@ void func_80BBC070(EnZos* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { EnZos_ChangeAnim(this, EN_ZOS_ANIM_HANDS_ON_HIPS, ANIMMODE_LOOP); Message_CloseTextbox(play); diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.c b/src/overlays/actors/ovl_En_Zot/z_en_zot.c index 07a4d1f774..770ecd6ef2 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.c +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.c @@ -380,7 +380,7 @@ void func_80B97110(EnZot* this, PlayState* play) { } void func_80B97194(EnZot* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x125C: case 0x125F: @@ -449,7 +449,7 @@ void func_80B973BC(EnZot* this, PlayState* play) { func_80B96D4C(this); Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0x800, 0x100); this->actor.world.rot.y = this->actor.shape.rot.y; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x126E: case 0x1270: @@ -523,7 +523,7 @@ void func_80B975F8(EnZot* this, PlayState* play) { void func_80B9765C(EnZot* this, PlayState* play) { func_80B96D4C(this); - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { s32 requiredScopeTemp; switch (play->msgCtx.currentTextId) { @@ -661,7 +661,7 @@ void func_80B979DC(EnZot* this, PlayState* play) { } void func_80B97A44(EnZot* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1279: case 0x127C: @@ -721,7 +721,7 @@ void func_80B97BF8(EnZot* this, PlayState* play) { void func_80B97C40(EnZot* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0x800, 0x100); this->actor.world.rot.y = this->actor.shape.rot.y; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); this->actionFunc = func_80B97CC8; } @@ -767,7 +767,7 @@ void func_80B97E4C(EnZot* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; } - if ((Message_GetState(&play->msgCtx) != TEXT_STATE_5) || !Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) != TEXT_STATE_EVENT) || !Message_ShouldAdvance(play)) { return; } @@ -957,7 +957,7 @@ void func_80B985EC(EnZot* this, PlayState* play) { Player* player = GET_PLAYER(play); func_80B98348(this, play); - if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) { + if (Message_GetState(&play->msgCtx) == TEXT_STATE_PAUSE_MENU) { itemAction = func_80123810(play); if (itemAction > PLAYER_IA_NONE) { @@ -1001,7 +1001,7 @@ void func_80B98728(EnZot* this, PlayState* play) { } break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1291: @@ -1098,7 +1098,7 @@ void func_80B98A4C(EnZot* this, PlayState* play) { } void func_80B98AD0(EnZot* this, PlayState* play) { - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x12B1: case 0x12B4: @@ -1220,7 +1220,7 @@ void func_80B98F94(EnZot* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; } - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x12BB: this->unk_2F2 &= ~4; @@ -1280,7 +1280,7 @@ void func_80B991E4(EnZot* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 2, 0x800, 0x100); this->actor.world.rot.y = this->actor.shape.rot.y; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { u16 temp = play->msgCtx.currentTextId; u32 temp2; diff --git a/src/overlays/actors/ovl_En_Zov/z_en_zov.c b/src/overlays/actors/ovl_En_Zov/z_en_zov.c index 38fbf2b8b5..73c0eae7f1 100644 --- a/src/overlays/actors/ovl_En_Zov/z_en_zov.c +++ b/src/overlays/actors/ovl_En_Zov/z_en_zov.c @@ -259,7 +259,7 @@ void func_80BD187C(EnZov* this, PlayState* play) { func_80BD1764(this); switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1022: @@ -410,7 +410,7 @@ void func_80BD1DB8(EnZov* this, PlayState* play) { Math_SmoothStepToS(&this->picto.actor.shape.rot.y, this->picto.actor.yawTowardsPlayer, 2, 0x1000, 0x200); this->picto.actor.world.rot.y = this->picto.actor.shape.rot.y; - if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { + if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x1033: case 0x1034: diff --git a/src/overlays/actors/ovl_En_Zow/z_en_zow.c b/src/overlays/actors/ovl_En_Zow/z_en_zow.c index 3fe0043513..3ccbf92596 100644 --- a/src/overlays/actors/ovl_En_Zow/z_en_zow.c +++ b/src/overlays/actors/ovl_En_Zow/z_en_zow.c @@ -462,7 +462,7 @@ void func_80BDD570(EnZow* this, PlayState* play) { func_80BDD490(this, play); switch (Message_GetState(&play->msgCtx)) { - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play)) { switch (play->msgCtx.currentTextId) { case 0x12E8: diff --git a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c index 9ac96ed559..47648a585b 100644 --- a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c +++ b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c @@ -97,7 +97,7 @@ void func_80B3C39C(ObjGhaka* this, PlayState* play) { void func_80B3C4E0(ObjGhaka* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); - if (talkState == TEXT_STATE_5) { + if (talkState == TEXT_STATE_EVENT) { if (Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; diff --git a/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c b/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c index 210d268946..befefdb11a 100644 --- a/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c +++ b/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.c @@ -100,13 +100,13 @@ void func_80C06CC4(ObjMuPict* this) { void func_80C06CD8(ObjMuPict* this, PlayState* play) { switch (Message_GetState(&play->msgCtx)) { case TEXT_STATE_NONE: - case TEXT_STATE_1: + case TEXT_STATE_NEXT: case TEXT_STATE_CLOSING: - case TEXT_STATE_3: + case TEXT_STATE_FADING: case TEXT_STATE_CHOICE: break; - case TEXT_STATE_5: + case TEXT_STATE_EVENT: func_80C06E88(this, play); break; diff --git a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c index 1addb6a46a..81aafde505 100644 --- a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c +++ b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c @@ -893,7 +893,7 @@ s32 func_80B79734(PlayState* play, ObjUm* this, s32 arg2) { return true; case TEXT_STATE_CHOICE: - case TEXT_STATE_5: + case TEXT_STATE_EVENT: if (Message_ShouldAdvance(play) && func_80B795A0(play, this, arg2)) { msgCtx->msgMode = MSGMODE_TEXT_CLOSING; ret = true; diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 6a7dfcc2e0..e5b049233b 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -3,7 +3,6 @@ * Overlay: ovl_player_actor * Description: Player */ -#include "prevent_bss_reordering.h" #include "global.h" #include "z64horse.h" #include "z64malloc.h" diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index 5be9f9f30e..7d14aa5f16 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -2845,7 +2845,7 @@ 0x8014CC14:("Message_LoadChar",), 0x8014CCB4:("func_8014CCB4",), 0x8014CDF0:("Message_GetTimerDigits",), - 0x8014CFDC:("Message_SetupLoadItemIcon",), + 0x8014CFDC:("Message_DecodeHeader",), 0x8014D304:("Message_LoadTime",), 0x8014D62C:("Message_LoadOwlWarpText",), 0x8014D7B4:("Message_Decode",), @@ -12520,7 +12520,7 @@ 0x80AEA128:("EnLiftNuts_RiseUp",), 0x80AEA1A0:("EnLiftNuts_Idle",), 0x80AEA7A4:("EnLiftNuts_HandleConversationChoice",), - 0x80AEA910:("EnLiftNuts_HandleConversation5",), + 0x80AEA910:("EnLiftNuts_HandleConversationEvent",), 0x80AEABF0:("EnLiftNuts_SetupStartConversation",), 0x80AEAC64:("EnLiftNuts_StartConversation",), 0x80AEACF8:("EnLiftNuts_HandleConversation",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 9a6bb94441..15e1f25146 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -1943,8 +1943,8 @@ 0x801C6A98:("gPageSwitchNextButtonStatus","UNK_TYPE1","",0x1), 0x801C6AB8:("sBombersNotebookEventMessages","UNK_TYPE1","",0x1), 0x801C6B28:("gBombersNotebookWeekEventFlags","UNK_TYPE1","",0x1), - 0x801C6B98:("D_801C6B98","UNK_TYPE1","",0x1), - 0x801CFB08:("D_801CFB08","UNK_TYPE1","",0x1), + 0x801C6B98:("sMessageTableNES","UNK_TYPE1","",0x1), + 0x801CFB08:("sMessageTableCredits","UNK_TYPE1","",0x1), 0x801CFC78:("D_801CFC78","s16","[15]",0x1E), 0x801CFC98:("sOcarinaButtonIndexBuf","UNK_TYPE1","",0x1), 0x801CFCA4:("sOcarinaButtonAlphaValues","UNK_TYPE2","",0x2), @@ -1998,19 +1998,19 @@ 0x801CFE5C:("sStrayFairyIconPrimColors","UNK_TYPE1","",0x1), 0x801CFE68:("sStrayFairyIconEnvColors","UNK_TYPE1","",0x1), 0x801CFE74:("D_801CFE74","UNK_TYPE1","",0x1), - 0x801CFEA4:("D_801CFEA4","UNK_TYPE1","",0x1), - 0x801CFED4:("D_801CFED4","UNK_TYPE1","",0x1), + 0x801CFEA4:("sColorsNormalJPN","UNK_TYPE1","",0x1), + 0x801CFED4:("sColorsButtonsJPN","UNK_TYPE1","",0x1), 0x801CFF04:("D_801CFF04","UNK_TYPE1","",0x1), - 0x801CFF34:("D_801CFF34","UNK_TYPE1","",0x1), - 0x801CFF64:("D_801CFF64","UNK_TYPE1","",0x1), + 0x801CFF34:("sColorsBombersNotebookJPN","UNK_TYPE1","",0x1), + 0x801CFF64:("sButtonColorIndicesJPN","UNK_TYPE1","",0x1), 0x801CFF70:("D_801CFF70","UNK_TYPE1","",0x1), 0x801CFF7C:("D_801CFF7C","UNK_TYPE1","",0x1), 0x801CFF88:("D_801CFF88","UNK_TYPE1","",0x1), 0x801CFF94:("D_801CFF94","UNK_TYPE1","",0x1), 0x801D0188:("sOwlWarpTextJPN","UNK_TYPE1","",0x1), 0x801D0250:("sOwlWarpTextLengthJPN","UNK_TYPE1","",0x1), - 0x801D0268:("D_801D0268","UNK_TYPE2","",0x2), - 0x801D027C:("D_801D027C","UNK_TYPE1","",0x1), + 0x801D0268:("sTimeSpeedTextJPN","UNK_TYPE2","",0x2), + 0x801D027C:("sMaskCodeColorCmdJPN","UNK_TYPE1","",0x1), 0x801D0284:("D_801D0284","UNK_TYPE1","",0x1), 0x801D028C:("D_801D028C","UNK_TYPE1","",0x1), 0x801D02C0:("sOcarinaSongFlagsMap","UNK_TYPE1","",0x1), @@ -2040,13 +2040,13 @@ 0x801D0714:("sOwlWarpTextENG","char","[]",0xB0), 0x801D07C4:("sOwlWarpTextLengthENG","UNK_TYPE1","",0x16), 0x801D07DC:("D_801D07DC","UNK_TYPE1","",0x1), - 0x801D080C:("D_801D080C","UNK_TYPE1","",0x1), - 0x801D083C:("D_801D083C","UNK_TYPE1","",0x1), + 0x801D080C:("sColorsNormalNES","UNK_TYPE1","",0x1), + 0x801D083C:("sColorsButtonsNES","UNK_TYPE1","",0x1), 0x801D086C:("D_801D086C","UNK_TYPE1","",0x30), - 0x801D089C:("D_801D089C","UNK_TYPE1","",0x1), - 0x801D08CC:("D_801D08CC","UNK_TYPE1","",0x1), - 0x801D08D8:("D_801D08D8","UNK_TYPE1","",0x1), - 0x801D08E4:("D_801D08E4","UNK_TYPE1","",0x1), + 0x801D089C:("sColorsBombersNotebookNES","UNK_TYPE1","",0x1), + 0x801D08CC:("sButtonColorIndicesNES","UNK_TYPE1","",0x1), + 0x801D08D8:("sTimeSpeedTextENG","UNK_TYPE1","",0x1), + 0x801D08E4:("sMaskCodeColorCmdENG","UNK_TYPE1","",0x1), 0x801D08E8:("sMaskCodeTextENG","UNK_TYPE1","",0x1), 0x801D0900:("sMaskCodeTextLengthENG","UNK_TYPE1","",0x1), 0x801D0910:("sCreditsFontWidths","f32","[]",0x1), diff --git a/tools/msg/nes/msgdisNES.py b/tools/msg/nes/msgdisNES.py new file mode 100755 index 0000000000..f39032a693 --- /dev/null +++ b/tools/msg/nes/msgdisNES.py @@ -0,0 +1,316 @@ +#!/usr/bin/env python3 + +import argparse +import sys +import struct + +class MessageHeaderNES: + def __init__(self, unk11F08, itemId, nextTextId, unk1206C, unk12070, unk12074): + self.unk11F08 = unk11F08 + self.itemId = itemId + self.nextTextId = nextTextId + self.unk1206C = unk1206C + self.unk12070 = unk12070 + self.unk12074 = unk12074 + + def __str__(self): + return ( + f'unk11F08: 0x{self.unk11F08:04X},\n' + f'itemId: 0x{self.itemId:02X},\n' + f'nextTextId: 0x{self.nextTextId:04X},\n' + f'unk1206C: 0x{self.unk1206C:04X},\n' + f'unk12070: 0x{self.unk12070:04X},\n' + f'unk12074: 0x{self.unk12074:04X}' + ) + + def macro(self): + unk11F08 = struct.pack(">H", self.unk11F08) + itemId = struct.pack(">B", self.itemId) + nextTextId = struct.pack(">H", self.nextTextId) + unk1206C = struct.pack(">H", self.unk1206C) + unk12070 = struct.pack(">H", self.unk12070) + unk12074 = struct.pack(">H", self.unk12074) + return ( + f'"\\x{unk11F08[0]:02X}\\x{unk11F08[1]:02X}" ' + f'"\\x{itemId[0]:02X}" ' + f'"\\x{nextTextId[0]:02X}\\x{nextTextId[1]:02X}" ' + f'"\\x{unk1206C[0]:02X}\\x{unk1206C[1]:02X}" ' + f'"\\x{unk12070[0]:02X}\\x{unk12070[1]:02X}" ' + f'"\\x{unk12074[0]:02X}\\x{unk12074[1]:02X}"' + ) + + +class MessageNES: + BUTTONMAP = { + 0xB0: '[A]', + 0xB1: '[B]', + 0xB2: '[C]', + 0xB3: '[L]', + 0xB4: '[R]', + 0xB5: '[Z]', + 0xB6: '[C-Up]', + 0xB7: '[C-Down]', + 0xB8: '[C-Left]', + 0xB9: '[C-Right]', + 0xBA: '▼', + 0xBB: '[Control-Pad]' + } + + def __init__(self, id, typePos, addr, hdr, text): + self.id = id + self.typePos = typePos + self.addr = addr + self.hdr = hdr + self.text = text + self.decodedText = "" + self.decodePos = 0 + + def __str__(self): + return ( + f'Message 0x{self.id:04X}:\n' + f'Segment: 0x{self.addr:08X}\n' + f'TypePos: 0x{self.typePos:02X}\n' + f'{str(self.hdr)}\n' + f'Text: {self.text}\n' + f'Decoded:\n{self.decodedText}' + ) + + def macro(self): + self.decode() + return ( + f"DEFINE_MESSAGE(0x{self.id:04X}, 0x{self.typePos:02X}, {self.hdr.macro()}\n" + f"{self.decodedText}\n)\n" + ) + + def decode_cmd_arg_none(self, cmd): + return f'{cmd}' + + def decode_cmd_arg_1byte(self, cmd): + arg = self.text[self.decodePos] + self.decodePos += 1 + return f'{cmd}("\\x{arg:02X}")' + + def decode_cmd_arg_2byte(self, cmd): + arg1 = self.text[self.decodePos] + arg2 = self.text[self.decodePos + 1] + self.decodePos += 2 + return f'{cmd}("\\x{arg1:02X}\\x{arg2:02X}")' + + def decode(self): + CMDMAP = { + 0x00: ("CMD_COLOR_DEFAULT", self.decode_cmd_arg_none), + 0x01: ("CMD_COLOR_RED", self.decode_cmd_arg_none), + 0x02: ("CMD_COLOR_GREEN", self.decode_cmd_arg_none), + 0x03: ("CMD_COLOR_BLUE", self.decode_cmd_arg_none), + 0x04: ("CMD_COLOR_YELLOW", self.decode_cmd_arg_none), + 0x05: ("CMD_COLOR_LIGHTBLUE", self.decode_cmd_arg_none), + 0X06: ("CMD_COLOR_PINK", self.decode_cmd_arg_none), + 0x07: ("CMD_COLOR_SILVER", self.decode_cmd_arg_none), + 0x08: ("CMD_COLOR_ORANGE", self.decode_cmd_arg_none), + 0x0A: ("CMD_TEXT_SPEED", self.decode_cmd_arg_none), + 0x0B: ("CMD_HS_BOAT_ARCHERY", self.decode_cmd_arg_none), + 0x0C: ("CMD_STRAY_FAIRIES", self.decode_cmd_arg_none), + 0x0D: ("CMD_TOKENS", self.decode_cmd_arg_none), + 0x0E: ("CMD_POINTS_TENS", self.decode_cmd_arg_none), + 0x0F: ("CMD_POINTS_THOUSANDS", self.decode_cmd_arg_none), + 0x10: ("CMD_BOX_BREAK", self.decode_cmd_arg_none), + 0x12: ("CMD_BOX_BREAK2", self.decode_cmd_arg_none), + 0x13: ("CMD_CARRIAGE_RETURN", self.decode_cmd_arg_none), + 0x14: ("CMD_SHIFT", self.decode_cmd_arg_1byte), + 0x15: ("CMD_CONTINUE", self.decode_cmd_arg_none), + 0x16: ("CMD_NAME", self.decode_cmd_arg_none), + 0x17: ("CMD_QUICKTEXT_ENABLE", self.decode_cmd_arg_none), + 0x18: ("CMD_QUICKTEXT_DISABLE", self.decode_cmd_arg_none), + 0x19: ("CMD_EVENT", self.decode_cmd_arg_none), + 0x1A: ("CMD_PERSISTENT", self.decode_cmd_arg_none), + 0x1B: ("CMD_BOX_BREAK_DELAYED", self.decode_cmd_arg_2byte), + 0x1C: ("CMD_FADE", self.decode_cmd_arg_2byte), + 0x1D: ("CMD_FADE_SKIPPABLE", self.decode_cmd_arg_2byte), + 0x1E: ("CMD_SFX", self.decode_cmd_arg_2byte), + 0x1F: ("CMD_DELAY", self.decode_cmd_arg_2byte), + 0xC1: ("CMD_BACKGROUND", self.decode_cmd_arg_none), + 0xC2: ("CMD_TWO_CHOICE", self.decode_cmd_arg_none), + 0xC3: ("CMD_THREE_CHOICE", self.decode_cmd_arg_none), + 0xC4: ("CMD_TIMER_POSTMAN", self.decode_cmd_arg_none), + 0xC5: ("CMD_TIMER_MINIGAME_1", self.decode_cmd_arg_none), + 0xC6: ("CMD_TIMER_2", self.decode_cmd_arg_none), + 0xC7: ("CMD_TIMER_MOON_CRASH", self.decode_cmd_arg_none), + 0xC8: ("CMD_TIMER_MINIGAME_2", self.decode_cmd_arg_none), + 0xC9: ("CMD_TIMER_TIMER_ENV_HAZARD", self.decode_cmd_arg_none), + 0xCA: ("CMD_TIME", self.decode_cmd_arg_none), + 0xCB: ("CMD_CHEST_FLAGS", self.decode_cmd_arg_none), + 0xCC: ("CMD_INPUT_BANK", self.decode_cmd_arg_none), + 0xCD: ("CMD_RUPEES_SELECTED", self.decode_cmd_arg_none), + 0xCE: ("CMD_RUPEES_TOTAL", self.decode_cmd_arg_none), + 0xCF: ("CMD_TIME_UNTIL_MOON_CRASH", self.decode_cmd_arg_none), + 0xD0: ("CMD_INPUT_DOGGY_RACETRACK_BET", self.decode_cmd_arg_none), + 0xD1: ("CMD_INPUT_BOMBER_CODE", self.decode_cmd_arg_none), + 0xD2: ("CMD_PAUSE_MENU", self.decode_cmd_arg_none), + 0xD3: ("CMD_TIME_SPEED", self.decode_cmd_arg_none), + 0xD4: ("CMD_OWL_WARP", self.decode_cmd_arg_none), + 0xD5: ("CMD_INPUT_LOTTERY_CODE", self.decode_cmd_arg_none), + 0xD6: ("CMD_SPIDER_HOUSE_MASK_CODE", self.decode_cmd_arg_none), + 0xD7: ("CMD_STRAY_FAIRIES_LEFT_WOODFALL", self.decode_cmd_arg_none), + 0xD8: ("CMD_STRAY_FAIRIES_LEFT_SNOWHEAD", self.decode_cmd_arg_none), + 0xD9: ("CMD_STRAY_FAIRIES_LEFT_GREAT_BAY", self.decode_cmd_arg_none), + 0xDA: ("CMD_STRAY_FAIRIES_LEFT_STONE_TOWER", self.decode_cmd_arg_none), + 0xDB: ("CMD_POINTS_BOAT_ARCHERY", self.decode_cmd_arg_none), + 0xDC: ("CMD_LOTTERY_CODE", self.decode_cmd_arg_none), + 0xDD: ("CMD_LOTTERY_CODE_GUESS", self.decode_cmd_arg_none), + 0xDE: ("CMD_HELD_ITEM_PRICE", self.decode_cmd_arg_none), + 0xDF: ("CMD_BOMBER_CODE", self.decode_cmd_arg_none), + 0xE0: ("CMD_EVENT2", self.decode_cmd_arg_none), + 0xE1: ("CMD_SPIDER_HOUSE_MASK_CODE_1", self.decode_cmd_arg_none), + 0xE2: ("CMD_SPIDER_HOUSE_MASK_CODE_2", self.decode_cmd_arg_none), + 0xE3: ("CMD_SPIDER_HOUSE_MASK_CODE_3", self.decode_cmd_arg_none), + 0xE4: ("CMD_SPIDER_HOUSE_MASK_CODE_4", self.decode_cmd_arg_none), + 0xE5: ("CMD_SPIDER_HOUSE_MASK_CODE_5", self.decode_cmd_arg_none), + 0xE6: ("CMD_SPIDER_HOUSE_MASK_CODE_6", self.decode_cmd_arg_none), + 0xE7: ("CMD_HOURS_UNTIL_MOON_CRASH", self.decode_cmd_arg_none), + 0xE8: ("CMD_TIME_UNTIL_NEW_DAY", self.decode_cmd_arg_none), + 0xF0: ("CMD_HS_POINTS_BANK_RUPEES", self.decode_cmd_arg_none), + 0xF1: ("CMD_HS_POINTS_UNK_1", self.decode_cmd_arg_none), + 0xF2: ("CMD_HS_POINTS_FISHING", self.decode_cmd_arg_none), + 0xF3: ("CMD_HS_TIME_BOAT_ARCHERY", self.decode_cmd_arg_none), + 0xF4: ("CMD_HS_TIME_HORSE_BACK_BALLOON", self.decode_cmd_arg_none), + 0xF5: ("CMD_HS_TIME_LOTTERY_GUESS", self.decode_cmd_arg_none), + 0xF6: ("CMD_HS_TOWN_SHOOTING_GALLERY", self.decode_cmd_arg_none), + 0xF7: ("CMD_HS_UNK_1", self.decode_cmd_arg_none), + 0xF8: ("CMD_HS_UNK_3_LOWER", self.decode_cmd_arg_none), + 0xF9: ("CMD_HS_HORSE_BACK_BALLOON", self.decode_cmd_arg_none), + 0xFA: ("CMD_HS_DEKU_PLAYGROUND_DAY_1", self.decode_cmd_arg_none), + 0xFB: ("CMD_HS_DEKU_PLAYGROUND_DAY_2", self.decode_cmd_arg_none), + 0xFC: ("CMD_HS_DEKU_PLAYGROUND_DAY_3", self.decode_cmd_arg_none), + 0xFD: ("CMD_DEKU_PLAYGROUND_NAME_DAY_1", self.decode_cmd_arg_none), + 0xFE: ("CMD_DEKU_PLAYGROUND_NAME_DAY_2", self.decode_cmd_arg_none), + 0xFF: ("CMD_DEKU_PLAYGROUND_NAME_DAY_3", self.decode_cmd_arg_none) + } + if self.decodedText != "": + return + + prevText = False + prevNewline = True + prevCmd = False + self.decodePos = 0 + textLen = len(self.text) + while self.decodePos < textLen: + char = self.text[self.decodePos] + self.decodePos += 1 + + if char >= 0x20 and char <= 0xBB: # Characters + if prevCmd: + self.decodedText += ' "' + elif prevNewline: + self.decodedText += '"' + + if char == 0x22: # Handle escaping " + self.decodedText += '\\"' + elif char >= 0xB0: # Button characters + self.decodedText += f'{MessageNES.BUTTONMAP[char]}' + else: + self.decodedText += chr(char) + + prevText = True + prevNewline = False + prevCmd = False + elif char == 0x11: # New line + if prevCmd: + self.decodedText += ' "' + elif prevNewline: + self.decodedText += '"' + + self.decodedText += f'\\n"\n' + + prevText = False + prevNewline = True + prevCmd = False + elif char == 0x10 or char == 0x12 or char == 0x1B: # Box Breaks add automatic newlines + if prevText: + self.decodedText += '"' + + cmd, decoder = CMDMAP[char] + self.decodedText += f'\n{decoder(cmd)}\n' + + prevText = False + prevNewline = True + prevCmd = False + elif char == 0xBF: # End command, do nothing + if prevText: + self.decodedText += '"' + else: # Control Codes (see message_data_fmt_nes.h) + if prevText: + self.decodedText += '" ' + elif prevCmd: + self.decodedText += ' ' + + cmd, decoder = CMDMAP[char] + self.decodedText += decoder(cmd) + + prevText = False + prevNewline = False + prevCmd = True + +def parseTable(start): + table = {} + with open("baserom/code","rb") as f: + f.seek(start) + buf = f.read(8) + textId, typePos, segment = struct.unpack(">HBxI", buf) + while textId != 0xFFFF: + table[segment] = (textId, typePos, segment) + buf = f.read(8) + textId, typePos, segment = struct.unpack(">HBxI", buf) + + return table + +NES_MESSAGE_TABLE_ADDR = 0x1210D8 # Location of NES message table in baserom/code +NES_SEGMENT_ADDR = 0x08000000 + +def main(outfile): + msgTable = parseTable(NES_MESSAGE_TABLE_ADDR) + + buf = [] + with open("baserom/message_data_static", "rb") as f: + buf = f.read() + + bufLen = len(buf) + i = 0 + messages = [] + while i + 12 < bufLen: # Next message must be able to fill a header + 1 at minimum + addr = NES_SEGMENT_ADDR + i + + unk11F08, itemId, nextTextId, unk1206C, unk12070, unk12074 = struct.unpack(">HBHHHH", buf[i:i+11]) + i += 11 + hdr = MessageHeaderNES(unk11F08, itemId, nextTextId, unk1206C, unk12070, unk12074) + + start = i + while i < bufLen and buf[i] != 0xBF: + i += 1 + i += 1 + + if i >= bufLen: + break + + id, typePos, segment = msgTable[addr] + msg = MessageNES(id, typePos, segment, hdr, buf[start:i]) + + messages.append(msg) + + i = (i + 3) & ~0x3 # Next message starts on a 0x4 byte boundary + + if outfile is None: + for msg in messages: + sys.stdout.write(msg.macro()) + sys.stdout.write("\n") + else: + with open(outfile, "w") as f: + for msg in messages: + f.write(msg.macro()) + f.write("\n") + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description="Extract message_data_static text") + parser.add_argument('-o', '--outfile', help='output file to write to. None for stdout') + args = parser.parse_args() + + main(args.outfile) diff --git a/tools/msg/nes/msgencNES.py b/tools/msg/nes/msgencNES.py new file mode 100755 index 0000000000..ae5e18d75e --- /dev/null +++ b/tools/msg/nes/msgencNES.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +# +# message_data_static text encoder +# + +import argparse +import re +import sys + +CHAR_REGEX = r'(?P\\n|\[.*?\])' + +# From https://stackoverflow.com/questions/241327/remove-c-and-c-comments-using-python +def remove_comments(text): + def replacer(match): + s = match.group(0) + if s.startswith('/'): + return " " # note: a space and not an empty string + else: + return s + + pattern = re.compile( + r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"', + re.DOTALL | re.MULTILINE + ) + return re.sub(pattern, replacer, text) + +def parse_char(m): + CHARMAP = { + '\\n' : 0x11, + + '[A]' : 0xB0, + '[B]' : 0xB1, + '[C]' : 0xB2, + '[L]' : 0xB3, + '[R]' : 0xB4, + '[Z]' : 0xB5, + '[C-Up]' : 0xB6, + '[C-Down]' : 0xB7, + '[C-Left]' : 0xB8, + '[C-Right]' : 0xB9, + '▼' : 0xBA, + '[Control-Pad]' : 0xBB, + } + return f'{chr(CHARMAP[m.group(0)])}' + +def cvt_str(m): + if m.group('chr'): + return parse_char(m) + else: + print(f"Error Unknown match {m}", file=sys.stderr) + return m.group(0) # Just return the string back + +def encode(text): + string_regex = re.compile(f'{CHAR_REGEX}') + + # Collapse escaped newlines + text = text.replace("\\\n", "") + + # Encode + text = re.sub(string_regex, cvt_str, text) + + return text + +def main(infile, outfile): + text = "" + with open(infile, "r") as f: + text = f.read() + + text = remove_comments(text) + text = encode(text) + + if outfile is None: + sys.stdout.reconfigure(encoding='raw_unicode_escape') + sys.stdout.write(text) + else: + with open(outfile, "w", encoding="raw_unicode_escape") as f: + f.write(text) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Encode message_data_static text headers") + parser.add_argument("infile", help="path to file to be encoded") + parser.add_argument("-o", "--outfile", help="encoded file. None for stdout") + args = parser.parse_args() + + main(args.infile, args.outfile) diff --git a/tools/msg/staff/msgdisStaff.py b/tools/msg/staff/msgdisStaff.py new file mode 100755 index 0000000000..3b51793b52 --- /dev/null +++ b/tools/msg/staff/msgdisStaff.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python3 + +import argparse +import sys +import struct + +class MessageCredits: + def __init__(self, id, typePos, addr, text): + self.id = id + self.typePos = typePos + self.addr = addr + self.text = text + self.decodedText = "" + self.decodePos = 0 + + def __str__(self): + return (f' Message 0x{self.id:04X}:\n' + f' Segment: 0x{self.addr:08X}\n' + f' TypePos: 0x{self.typePos:02X}\n' + f' Text: {self.text}\n' + f' Decoded:\n{self.decodedText}') + + def macro(self): + self.decode() + return ( + f"DEFINE_MESSAGE(0x{self.id:04X}, 0x{self.typePos:02X},\n" + f"{self.decodedText}\n)\n" + ) + + def decode_cmd_arg_none(self, cmd): + return f'{cmd}' + + def decode_cmd_arg_1byte(self, cmd): + arg = self.text[self.decodePos] + self.decodePos += 1 + return f'{cmd}("\\x{arg:02X}")' + + def decode_cmd_arg_2byte(self, cmd): + arg1 = self.text[self.decodePos] + arg2 = self.text[self.decodePos + 1] + self.decodePos += 2 + return f'{cmd}("\\x{arg1:02X}\\x{arg2:02X}")' + + def decode_cmd_color(self, cmd): + COLORS = { + 0: "DEFAULT", + 1: "RED", + 2: "ADJUSTABLE", + 3: "BLUE", + 4: "LIGHTBLUE", + 5: "PURPLE", + 6: "YELLOW", + 7: "BLACK" + } + color = self.text[self.decodePos] + self.decodePos += 1 + return f'{cmd}({COLORS[color]}) ' + + def decode_cmd_background(self, cmd): + arg1 = self.text[self.decodePos] + arg2 = self.text[self.decodePos + 1] + arg3 = self.text[self.decodePos + 2] + self.decodePos += 3 + return f'{cmd}("\\x{arg1:02X}","\\x{arg2:02X}","\\x{arg3:02X}")' + + def decode_cmd_highscore(self, cmd): + HIGHSCORES = { + 0: "HS_BANK_RUPEES", + 1: "HS_UNK_1", + 2: "HS_FISHING", + 3: "HS_BOAT_ARCHERY", + 4: "HS_HORSE_BACK_BALLOON", + 6: "HS_SHOOTING_GALLERY" + } + highscore = self.text[self.decodePos] + self.decodePos += 1 + return f'{cmd}({HIGHSCORES[highscore]})' + + def decode(self): + CMDMAP = { + 0x00: ("CMD_COLOR_DEFAULT", self.decode_cmd_arg_none), + 0x04: ("CMD_BOX_BREAK", self.decode_cmd_arg_none), + 0x05: ("CMD_COLOR", self.decode_cmd_color), + 0X06: ("CMD_SHIFT", self.decode_cmd_arg_1byte), + 0x07: ("CMD_TEXTID", self.decode_cmd_arg_2byte), + 0x08: ("CMD_QUICKTEXT_ENABLE", self.decode_cmd_arg_none), + 0x09: ("CMD_QUICKTEXT_DISABLE", self.decode_cmd_arg_none), + 0x0A: ("CMD_PERSISTENT", self.decode_cmd_arg_none), + 0x0B: ("CMD_EVENT", self.decode_cmd_arg_none), + 0x0C: ("CMD_BOX_BREAK_DELAY", self.decode_cmd_arg_2byte), + 0x0D: ("CMD_WAIT_INPUT", self.decode_cmd_arg_none), + 0x0E: ("CMD_FADE", self.decode_cmd_arg_1byte), + 0x0F: ("CMD_NAME", self.decode_cmd_arg_none), + 0x10: ("CMD_OCARINA", self.decode_cmd_arg_none), + 0x11: ("CMD_FADE2", self.decode_cmd_arg_2byte), + 0x12: ("CMD_SFX", self.decode_cmd_arg_2byte), + 0x13: ("CMD_ITEM_ICON", self.decode_cmd_arg_1byte), + 0x14: ("CMD_TEXT_SPEED", self.decode_cmd_arg_1byte), + 0x15: ("CMD_BACKGROUND", self.decode_cmd_background), + 0x16: ("CMD_MARATHONTIME", self.decode_cmd_arg_none), + 0x17: ("CMD_RACETIME", self.decode_cmd_arg_none), + 0x18: ("CMD_POINTS", self.decode_cmd_arg_none), + 0x1A: ("CMD_UNSKIPPABLE", self.decode_cmd_arg_none), + 0x1B: ("CMD_TWO_CHOICE", self.decode_cmd_arg_none), + 0x1C: ("CMD_THREE_CHOICE", self.decode_cmd_arg_none), + 0x1D: ("CMD_FISH_INFO", self.decode_cmd_arg_none), + 0x1E: ("CMD_HIGHSCORE", self.decode_cmd_highscore), + 0x1F: ("CMD_TIME", self.decode_cmd_arg_none), + } + if self.decodedText != "": + return + + prevText = False + prevNewline = True + prevCmd = False + self.decodePos = 0 + textLen = len(self.text) + while self.decodePos < textLen: + char = self.text[self.decodePos] + self.decodePos += 1 + + if char >= 0x20 and char <= 0xAF: # Regular Characters + if prevCmd: + self.decodedText += ' "' + elif prevNewline: + self.decodedText += '"' + + if char == 0x22: # Handle escaping " + self.decodedText += '\\"' + else: + self.decodedText += chr(char) + + prevText = True + prevNewline = False + prevCmd = False + elif char == 0x1: # New line + if prevCmd: + self.decodedText += ' "' + elif prevNewline: + self.decodedText += '"' + + self.decodedText += f'\\n"\n' + + prevText = False + prevNewline = True + prevCmd = False + elif char == 0x04 or char == 0x0C: # Box Breaks add automatic newlines + if prevText: + self.decodedText += '"' + + cmd, decoder = CMDMAP[char] + self.decodedText += f'\n{decoder(cmd)}\n' + + prevText = False + prevNewline = True + prevCmd = False + elif char == 0x02: # End command, do nothing + if prevText: + self.decodedText += '"' + else: # Control Codes (see message_data_fmt_staff.h) + if prevText: + self.decodedText += '" ' + elif prevCmd: + self.decodedText += ' ' + + cmd, decoder = CMDMAP[char] + self.decodedText += decoder(cmd) + + prevText = False + prevNewline = False + prevCmd = True + +def parseTable(start): + table = {} + with open("baserom/code","rb") as f: + f.seek(start) + buf = f.read(8) + textId, typePos, segment = struct.unpack(">HBxI", buf) + while textId != 0xFFFF: + table[segment] = (textId, typePos, segment) + buf = f.read(8) + textId, typePos, segment = struct.unpack(">HBxI", buf) + + return table + +STAFF_MESSAGE_TABLE_ADDR = 0x12A048 # Location of Staff message table in baserom/code +STAFF_SEGMENT_ADDR = 0x07000000 + +def main(outfile): + msgTable = parseTable(STAFF_MESSAGE_TABLE_ADDR) + + buf = [] + with open("baserom/staff_message_data_static", "rb") as f: + buf = f.read() + + bufLen = len(buf) + i = 0 + messages = [] + while i < bufLen: + addr = STAFF_SEGMENT_ADDR + i + + start = i + while i < bufLen and buf[i] != 0x2: + i += 1 + i += 1 + + if i >= bufLen: + break + + id, typePos, segment = msgTable[addr] + msg = MessageCredits(id, typePos, segment, buf[start:i]) + messages.append(msg) + + i = (i + 3) & ~0x3 # Next message starts on a 0x4 byte boundary + + if outfile is None: + for msg in messages: + sys.stdout.write(msg.macro()) + sys.stdout.write("\n") + else: + with open(outfile, "w") as f: + for msg in messages: + f.write(msg.macro()) + f.write("\n") + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description="Extract staff_message_data_static text") + parser.add_argument('-o', '--outfile', help='output file to write to. None for stdout') + args = parser.parse_args() + + main(args.outfile) diff --git a/tools/msg/staff/msgencStaff.py b/tools/msg/staff/msgencStaff.py new file mode 100755 index 0000000000..bf719a6489 --- /dev/null +++ b/tools/msg/staff/msgencStaff.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python3 +# +# message_data_static text encoder +# + +import argparse +import re +import sys + +CHAR_REGEX = r'(?P\\n|\[.*?\])' + +# From https://stackoverflow.com/questions/241327/remove-c-and-c-comments-using-python +def remove_comments(text): + def replacer(match): + s = match.group(0) + if s.startswith('/'): + return " " # note: a space and not an empty string + else: + return s + + pattern = re.compile( + r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"', + re.DOTALL | re.MULTILINE + ) + return re.sub(pattern, replacer, text) + +def parse_char(m): + CHARMAP = { + '\\n' : 0x1, + } + return f'{chr(CHARMAP[m.group(0)])}' + +def cvt_str(m): + if m.group('chr'): + return parse_char(m) + else: + print(f"Error Unknown match {m}", file=sys.stderr) + return m.group(0) # Just return the string back + +def encode(text): + string_regex = re.compile(f'{CHAR_REGEX}') + + # Collapse escaped newlines + text = text.replace("\\\n", "") + + # Encode + text = re.sub(string_regex, cvt_str, text) + + return text + +def main(infile, outfile): + text = "" + with open(infile, "r") as f: + text = f.read() + + text = remove_comments(text) + text = encode(text) + + if outfile is None: + sys.stdout.reconfigure(encoding='raw_unicode_escape') + sys.stdout.write(text) + else: + with open(outfile, "w", encoding="raw_unicode_escape") as f: + f.write(text) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Encode staff_message_data_static text headers") + parser.add_argument("infile", help="path to file to be encoded") + parser.add_argument("-o", "--outfile", help="encoded file. None for stdout") + args = parser.parse_args() + + main(args.infile, args.outfile) diff --git a/tools/namefixer.py b/tools/namefixer.py index 4ca67e53c1..a77063608d 100755 --- a/tools/namefixer.py +++ b/tools/namefixer.py @@ -1392,6 +1392,16 @@ wordReplace = { "COLPOLY_SURFACE_SNOW": "SURFACE_MATERIAL_SNOW", "CS_STATE_0": "CS_STATE_IDLE", + "TEXT_STATE_1": "TEXT_STATE_NEXT", + "TEXT_STATE_3": "TEXT_STATE_FADING", + "TEXT_STATE_5": "TEXT_STATE_EVENT", + "TEXT_STATE_7": "TEXT_STATE_SONG_DEMO_DONE", + "TEXT_STATE_10": "TEXT_STATE_AWAITING_NEXT", + "TEXT_STATE_14": "TEXT_STATE_INPUT_RUPEES", + "TEXT_STATE_15": "TEXT_STATE_INPUT_BOMBER_CODE", + "TEXT_STATE_16": "TEXT_STATE_PAUSE_MENU", + "TEXT_STATE_17": "TEXT_STATE_INPUT_LOTTERY_CODE", + # Example of custom behaviour: # "PLAYER": ("GET_PLAYER(play)", {"ignore": (-1, '"PLAYER"')}), # ignore "PLAYER" in sSoundBankNames } diff --git a/tools/progress.py b/tools/progress.py index 0626e9b651..255cf6130f 100755 --- a/tools/progress.py +++ b/tools/progress.py @@ -103,12 +103,16 @@ def GetFunctionSizes(mapFileList): def CalculateNonNamedAssets(mapFileList, assetsTracker): for mapFile in mapFileList: - if mapFile["section"] != ".data": + if mapFile["section"] != ".data" and mapFile["section"] != ".rodata": continue if not mapFile["name"].startswith("build/assets/"): continue - assetCat = mapFile["name"].split("/")[2] + if mapFile["name"].startswith("build/assets/c"): + assetCat = mapFile["name"].split("/")[3] + else: + assetCat = mapFile["name"].split("/")[2] + for symbol in mapFile["symbols"]: symbolName = symbol["name"] @@ -228,9 +232,12 @@ for line in map_file: if srcCat in asmTracker: asmTracker[srcCat]["totalSize"] += file_size - if section == ".data": + if section == ".data" or section == ".rodata": if obj_file.startswith("build/assets/"): - assetCat = obj_file.split("/")[2] + if obj_file.startswith("build/assets/c"): + assetCat = obj_file.split("/")[3] + else: + assetCat = obj_file.split("/")[2] if assetCat in assetsTracker: assetsTracker[assetCat]["currentSize"] += file_size elif assetCat in ignoredAssets: diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 599ac754e2..fbf83d6454 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -2359,7 +2359,7 @@ asm/non_matchings/code/z_message/Message_LoadItemIcon.s,Message_LoadItemIcon,0x8 asm/non_matchings/code/z_message/Message_LoadChar.s,Message_LoadChar,0x8014CC14,0x28 asm/non_matchings/code/z_message/func_8014CCB4.s,func_8014CCB4,0x8014CCB4,0x4F asm/non_matchings/code/z_message/Message_GetTimerDigits.s,Message_GetTimerDigits,0x8014CDF0,0x7B -asm/non_matchings/code/z_message/Message_SetupLoadItemIcon.s,Message_SetupLoadItemIcon,0x8014CFDC,0xCA +asm/non_matchings/code/z_message/Message_DecodeHeader.s,Message_DecodeHeader,0x8014CFDC,0xCA asm/non_matchings/code/z_message/Message_LoadTime.s,Message_LoadTime,0x8014D304,0xCA asm/non_matchings/code/z_message/Message_LoadOwlWarpText.s,Message_LoadOwlWarpText,0x8014D62C,0x62 asm/non_matchings/code/z_message/Message_Decode.s,Message_Decode,0x8014D7B4,0xCB4