From a7175c18d4eaafcc06e5b93df8f9b0ebbb9c6e13 Mon Sep 17 00:00:00 2001 From: mparisi20 Date: Fri, 27 Dec 2024 13:16:55 -0500 Subject: [PATCH] Match mo_melee.cpp - rel_strip_partial has been restored to True - HomeBtnIcon and stStarfox::create are now FORCEACTIVE symbols - mo_melee.cpp has been decompiled --- config/RSBE01_02/config.yml | 126 +++++++++++++++++++ config/RSBE01_02/rels/sora_melee/splits.txt | 6 + config/RSBE01_02/rels/sora_melee/symbols.txt | 36 +++--- config/RSBE01_02/symbols.txt | 4 +- configure.py | 6 +- include/lib/BrawlHeaders | 2 +- src/mo_melee/mo_melee.cpp | 72 +++++++++++ 7 files changed, 231 insertions(+), 21 deletions(-) create mode 100644 src/mo_melee/mo_melee.cpp diff --git a/config/RSBE01_02/config.yml b/config/RSBE01_02/config.yml index 0e6d41d..0f0f62a 100644 --- a/config/RSBE01_02/config.yml +++ b/config/RSBE01_02/config.yml @@ -16,503 +16,629 @@ modules: hash: 2169e33d22603a88ce2b088b435ce8235d9556a6 splits: config/RSBE01_02/rels/sora_scene/splits.txt symbols: config/RSBE01_02/rels/sora_scene/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_main.rel hash: 468b91c4db3ff2c4de13e599549545f1e634f20d splits: config/RSBE01_02/rels/sora_menu_main/splits.txt symbols: config/RSBE01_02/rels/sora_menu_main/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_tour.rel hash: f43a1e3a1d3e9f1d2595843b58014571b929f6a1 splits: config/RSBE01_02/rels/sora_menu_tour/splits.txt symbols: config/RSBE01_02/rels/sora_menu_tour/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_qm.rel hash: 58f11601c1b8f49366cb358a0c81533a88ff662f splits: config/RSBE01_02/rels/sora_menu_qm/splits.txt symbols: config/RSBE01_02/rels/sora_menu_qm/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_edit.rel hash: 637dbdb38b8133a3e8f6587ed962a01802379f00 splits: config/RSBE01_02/rels/sora_menu_edit/splits.txt symbols: config/RSBE01_02/rels/sora_menu_edit/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_collect_viewer.rel hash: 611661e903d6eff155a09feef672fb4834fc058a splits: config/RSBE01_02/rels/sora_menu_collect_viewer/splits.txt symbols: config/RSBE01_02/rels/sora_menu_collect_viewer/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_replay.rel hash: fffdbaa4eb81a1917f6ca78a37826f67fba1a0c2 splits: config/RSBE01_02/rels/sora_menu_replay/splits.txt symbols: config/RSBE01_02/rels/sora_menu_replay/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_snap_shot.rel hash: b599699b09a0bd10835e1024c1a7fd560bfbd5a7 splits: config/RSBE01_02/rels/sora_menu_snap_shot/splits.txt symbols: config/RSBE01_02/rels/sora_menu_snap_shot/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_event.rel hash: 29cc747889cd5ea18829f30fa5a91602a67aa139 splits: config/RSBE01_02/rels/sora_menu_event/splits.txt symbols: config/RSBE01_02/rels/sora_menu_event/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_sel_char.rel hash: c65dc24b6cae04fd62b62b5639e47f502cc2e885 splits: config/RSBE01_02/rels/sora_menu_sel_char/splits.txt symbols: config/RSBE01_02/rels/sora_menu_sel_char/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_sel_stage.rel hash: f9661b7dd7a1b9bce3980724b60839437a2856fd splits: config/RSBE01_02/rels/sora_menu_sel_stage/splits.txt symbols: config/RSBE01_02/rels/sora_menu_sel_stage/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_game_over.rel hash: d69a2995f0fe4bc562920253a944c9f172060f77 splits: config/RSBE01_02/rels/sora_menu_game_over/splits.txt symbols: config/RSBE01_02/rels/sora_menu_game_over/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_intro.rel hash: 13d3b19632f29fb24c75fbcf882c513a17f994c9 splits: config/RSBE01_02/rels/sora_menu_intro/splits.txt symbols: config/RSBE01_02/rels/sora_menu_intro/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_friend_list.rel hash: a496366e245622d9c9673aa9fd057a921efaa553 splits: config/RSBE01_02/rels/sora_menu_friend_list/splits.txt symbols: config/RSBE01_02/rels/sora_menu_friend_list/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_watch.rel hash: f5b8c7bde878f6686cfcb0c0625ec49fe3bf17ae splits: config/RSBE01_02/rels/sora_menu_watch/splits.txt symbols: config/RSBE01_02/rels/sora_menu_watch/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_name.rel hash: 28e2264d5c4d3d32073d68924d0ed5865e305695 splits: config/RSBE01_02/rels/sora_menu_name/splits.txt symbols: config/RSBE01_02/rels/sora_menu_name/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_sel_char_access.rel hash: 64dea329f48dfd6eae45be867bf3915a6f14c5bf splits: config/RSBE01_02/rels/sora_menu_sel_char_access/splits.txt symbols: config/RSBE01_02/rels/sora_menu_sel_char_access/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_rule.rel hash: ba63514bba17cafcdcf4712a993f1e0d13ea03ee splits: config/RSBE01_02/rels/sora_menu_rule/splits.txt symbols: config/RSBE01_02/rels/sora_menu_rule/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_simple_ending.rel hash: ca8586b900e6c7a35e7fc3a261256fd1c15a6429 splits: config/RSBE01_02/rels/sora_menu_simple_ending/splits.txt symbols: config/RSBE01_02/rels/sora_menu_simple_ending/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_minigame.rel hash: 3fd3b941986369707632a0b775bf5828b6b3fe13 splits: config/RSBE01_02/rels/sora_minigame/splits.txt symbols: config/RSBE01_02/rels/sora_minigame/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_time_result.rel hash: bd2ee147b9f3ad103064fa9817806189ebe1c609 splits: config/RSBE01_02/rels/sora_menu_time_result/splits.txt symbols: config/RSBE01_02/rels/sora_menu_time_result/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_boot.rel hash: 97b93e30fb198093a0a7d4c2c5e3fe938cbc11c7 splits: config/RSBE01_02/rels/sora_menu_boot/splits.txt symbols: config/RSBE01_02/rels/sora_menu_boot/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_challenger.rel hash: 29bab78eb11b4ddd3bc2e199837758edaa965d0a splits: config/RSBE01_02/rels/sora_menu_challenger/splits.txt symbols: config/RSBE01_02/rels/sora_menu_challenger/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_title.rel hash: 3d6aaa9096b0970225579716dd1a1393a4f2e6f3 splits: config/RSBE01_02/rels/sora_menu_title/splits.txt symbols: config/RSBE01_02/rels/sora_menu_title/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_title_sunset.rel hash: d955fe36747dbf1d2f2895b6221f4a68466d2b44 splits: config/RSBE01_02/rels/sora_menu_title_sunset/splits.txt symbols: config/RSBE01_02/rels/sora_menu_title_sunset/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_menu_fig_get_demo.rel hash: 8e065d4adedecc735ce8841b201f2a3118fe47ea splits: config/RSBE01_02/rels/sora_menu_fig_get_demo/splits.txt symbols: config/RSBE01_02/rels/sora_menu_fig_get_demo/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_melee.rel hash: 0a07201ba849db974c7c4675ca92e39091b57044 splits: config/RSBE01_02/rels/sora_melee/splits.txt symbols: config/RSBE01_02/rels/sora_melee/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_name.rel hash: 3374586cb627245058a49987866e5037df4b2584 splits: config/RSBE01_02/rels/sora_adv_menu_name/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_name/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_visual.rel hash: c1412dfea8cea037a871c1aeadd19340ab59b274 splits: config/RSBE01_02/rels/sora_adv_menu_visual/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_visual/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_sel_char.rel hash: 6389fd60404245df577d65c78d74cbab8e96dc6f splits: config/RSBE01_02/rels/sora_adv_menu_sel_char/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_sel_char/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_sel_map.rel hash: 967f20d132cd59ca135aaffaf0e2e8487932d0c8 splits: config/RSBE01_02/rels/sora_adv_menu_sel_map/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_sel_map/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_difficulty.rel hash: 781a464b464ae33c848197656f8332eea22d7b10 splits: config/RSBE01_02/rels/sora_adv_menu_difficulty/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_difficulty/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_game_over.rel hash: f0d0f5b2a32dfeb8966d6f3b78702736482c8440 splits: config/RSBE01_02/rels/sora_adv_menu_game_over/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_game_over/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_result.rel hash: 1732923b24235a3a07fcb140860034b4d286a1be splits: config/RSBE01_02/rels/sora_adv_menu_result/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_result/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_save_load.rel hash: c30c412ae50c9db5f51b4ef0a0f55ae44e33a40b splits: config/RSBE01_02/rels/sora_adv_menu_save_load/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_save_load/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_seal.rel hash: 9410c56589190cb5438b0fc2c00104535a61e4a0 splits: config/RSBE01_02/rels/sora_adv_menu_seal/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_seal/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_ending.rel hash: 352c046fbd5ee0dec7dd53d6178cbec163b3d593 splits: config/RSBE01_02/rels/sora_adv_menu_ending/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_ending/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_telop.rel hash: d89603a2bf85fd278b60c20a18633d247b7e881a splits: config/RSBE01_02/rels/sora_adv_menu_telop/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_telop/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_menu_save_point.rel hash: 987b58f342d7c95d04de4060129dd41f357ff5e8 splits: config/RSBE01_02/rels/sora_adv_menu_save_point/splits.txt symbols: config/RSBE01_02/rels/sora_adv_menu_save_point/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_adv_stage.rel hash: c87eda88b933d9651c3c710134ba40bc8c8db2e9 splits: config/RSBE01_02/rels/sora_adv_stage/splits.txt symbols: config/RSBE01_02/rels/sora_adv_stage/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/sora_enemy.rel hash: ce739ab85fe4358c5a041b3ae1146a1bf6f15878 splits: config/RSBE01_02/rels/sora_enemy/splits.txt symbols: config/RSBE01_02/rels/sora_enemy/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_battles.rel hash: 4696ac66a14c7e023bbe4c47bd997055a3107138 splits: config/RSBE01_02/rels/st_battles/splits.txt symbols: config/RSBE01_02/rels/st_battles/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_battle.rel hash: 6c23a264cc9732f0f411a8b4611e647e27e3690c splits: config/RSBE01_02/rels/st_battle/splits.txt symbols: config/RSBE01_02/rels/st_battle/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_config.rel hash: 06c4022b10b50735dfd29f768f19b9a8d122c85e splits: config/RSBE01_02/rels/st_config/splits.txt symbols: config/RSBE01_02/rels/st_config/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_final.rel hash: 06ddc8f1c6e28cec63304ab53c4da979a1f362cc splits: config/RSBE01_02/rels/st_final/splits.txt symbols: config/RSBE01_02/rels/st_final/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dolpic.rel hash: b1ac03ca812bf92ae4ff1cefdbce698ffd7e6bce splits: config/RSBE01_02/rels/st_dolpic/splits.txt symbols: config/RSBE01_02/rels/st_dolpic/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_mansion.rel hash: 7409ec3d270eabce43a404556045cbce0a6893c7 splits: config/RSBE01_02/rels/st_mansion/splits.txt symbols: config/RSBE01_02/rels/st_mansion/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_mariopast.rel hash: 9aeffe387f5cb131a5e6db6bb946a39260714beb splits: config/RSBE01_02/rels/st_mariopast/splits.txt symbols: config/RSBE01_02/rels/st_mariopast/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_kart.rel hash: 5deafa2600ba5d8cfb462580ee64868b6878d67f splits: config/RSBE01_02/rels/st_kart/splits.txt symbols: config/RSBE01_02/rels/st_kart/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_donkey.rel hash: 1a190609184122d1446bd2e0e5d6a55a6f25929b splits: config/RSBE01_02/rels/st_donkey/splits.txt symbols: config/RSBE01_02/rels/st_donkey/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_jungle.rel hash: a924c53c6aac5f1f794e0e9935430535b8dc0e2c splits: config/RSBE01_02/rels/st_jungle/splits.txt symbols: config/RSBE01_02/rels/st_jungle/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_pirates.rel hash: 4e77bb3c9396c79b2adb1f56fa79abd2dd5c5a0c splits: config/RSBE01_02/rels/st_pirates/splits.txt symbols: config/RSBE01_02/rels/st_pirates/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_oldin.rel hash: 905f78be9ff518c881f446ef8c9d667252db0782 splits: config/RSBE01_02/rels/st_oldin/splits.txt symbols: config/RSBE01_02/rels/st_oldin/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_norfair.rel hash: 65aa8e5ce277269516787a200cecda1413d81d91 splits: config/RSBE01_02/rels/st_norfair/splits.txt symbols: config/RSBE01_02/rels/st_norfair/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_orpheon.rel hash: 31b9ebf71205ecd6ecfb2995376fe36b95fb1d6e splits: config/RSBE01_02/rels/st_orpheon/splits.txt symbols: config/RSBE01_02/rels/st_orpheon/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_crayon.rel hash: 7fd36b8eb8301bdc877ca981b4f4909c49d593d5 splits: config/RSBE01_02/rels/st_crayon/splits.txt symbols: config/RSBE01_02/rels/st_crayon/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_halberd.rel hash: e7df6fbddda7e802034539f8020a1c295dd3ed6a splits: config/RSBE01_02/rels/st_halberd/splits.txt symbols: config/RSBE01_02/rels/st_halberd/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_starfox.rel hash: 89ea4079253db2b581aefb20095451a833f75bb6 splits: config/RSBE01_02/rels/st_starfox/splits.txt symbols: config/RSBE01_02/rels/st_starfox/symbols.txt + force_active: [create__9stStarfoxFv, HomeBtnIcon] - object: files/module/st_stadium.rel hash: 5826f3ad9e6d7e09d17d6d37f7f27210172fa9a4 splits: config/RSBE01_02/rels/st_stadium/splits.txt symbols: config/RSBE01_02/rels/st_stadium/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_tengan.rel hash: 839c8054988ecf7f32862da78fc429daea8833b1 splits: config/RSBE01_02/rels/st_tengan/splits.txt symbols: config/RSBE01_02/rels/st_tengan/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_fzero.rel hash: 2b0aede9f2bc1c5d5087778de76d0e1f60aeefec splits: config/RSBE01_02/rels/st_fzero/splits.txt symbols: config/RSBE01_02/rels/st_fzero/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_ice.rel hash: 79f6186a6e4a587526ffab78fd0be6e756c76768 splits: config/RSBE01_02/rels/st_ice/splits.txt symbols: config/RSBE01_02/rels/st_ice/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_gw.rel hash: a1f3c02410fbf64281d28528091494292a7e9a2a splits: config/RSBE01_02/rels/st_gw/splits.txt symbols: config/RSBE01_02/rels/st_gw/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_emblem.rel hash: fb2ff7f1b949ee36289fc8433a6becc83c9ecb68 splits: config/RSBE01_02/rels/st_emblem/splits.txt symbols: config/RSBE01_02/rels/st_emblem/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_madein.rel hash: 8e6034b5a04ea2716eefa2af44f09042371fd994 splits: config/RSBE01_02/rels/st_madein/splits.txt symbols: config/RSBE01_02/rels/st_madein/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_earth.rel hash: 55e020c875248633a9d149ccca67cc0a9dc47144 splits: config/RSBE01_02/rels/st_earth/splits.txt symbols: config/RSBE01_02/rels/st_earth/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_palutena.rel hash: d72919bcc6560eb155748009e836082c2408cda6 splits: config/RSBE01_02/rels/st_palutena/splits.txt symbols: config/RSBE01_02/rels/st_palutena/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_famicom.rel hash: b1f4d63d7e8a2cc3b0763ce2d8886400475a5752 splits: config/RSBE01_02/rels/st_famicom/splits.txt symbols: config/RSBE01_02/rels/st_famicom/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_newpork.rel hash: 10254ec9bf1766222a2a44b73adead39e46c3b4b splits: config/RSBE01_02/rels/st_newpork/splits.txt symbols: config/RSBE01_02/rels/st_newpork/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_village.rel hash: 6a7542fa75617d921da42df6a08ce598d2b3051b splits: config/RSBE01_02/rels/st_village/splits.txt symbols: config/RSBE01_02/rels/st_village/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_metalgear.rel hash: 1f7777a6e338948f1984fe50476167abd349de12 splits: config/RSBE01_02/rels/st_metalgear/splits.txt symbols: config/RSBE01_02/rels/st_metalgear/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_greenhill.rel hash: 1b1bd2e86ff46d41bad1263cde6bb056fe0bd448 splits: config/RSBE01_02/rels/st_greenhill/splits.txt symbols: config/RSBE01_02/rels/st_greenhill/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_pictchat.rel hash: 90899f1122cdf5c10f2aed3ad7718c094c59ebe3 splits: config/RSBE01_02/rels/st_pictchat/splits.txt symbols: config/RSBE01_02/rels/st_pictchat/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_plankton.rel hash: 3b72ff4cbccaa788478bc3af515335ad17f9bc98 splits: config/RSBE01_02/rels/st_plankton/splits.txt symbols: config/RSBE01_02/rels/st_plankton/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxshrine.rel hash: d19a1281ccc2b68b0e7f5c1df7c79c13aa50c4c6 splits: config/RSBE01_02/rels/st_dxshrine/splits.txt symbols: config/RSBE01_02/rels/st_dxshrine/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxyorster.rel hash: 8cfb4ca5c1c7a0eb83237eb0edb893cbd3b83532 splits: config/RSBE01_02/rels/st_dxyorster/splits.txt symbols: config/RSBE01_02/rels/st_dxyorster/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxgarden.rel hash: 9a219966c8e0e2ffd7faaf9b15386349ca8f7070 splits: config/RSBE01_02/rels/st_dxgarden/splits.txt symbols: config/RSBE01_02/rels/st_dxgarden/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxonett.rel hash: babb129435fc4ef716395030c0c97fcd53e01066 splits: config/RSBE01_02/rels/st_dxonett/splits.txt symbols: config/RSBE01_02/rels/st_dxonett/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxgreens.rel hash: 873352706f34abb161668a36ceeda4520f51802f splits: config/RSBE01_02/rels/st_dxgreens/splits.txt symbols: config/RSBE01_02/rels/st_dxgreens/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxrcruise.rel hash: 86e22c8fb2b4f8bc692a4010714b3b3c544be6cb splits: config/RSBE01_02/rels/st_dxrcruise/splits.txt symbols: config/RSBE01_02/rels/st_dxrcruise/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxbigblue.rel hash: 5695b3367d19f8cc98c2a6582c0cd3fd34c20f74 splits: config/RSBE01_02/rels/st_dxbigblue/splits.txt symbols: config/RSBE01_02/rels/st_dxbigblue/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxcorneria.rel hash: 25c690f6087997c46e791bf8d4365a38a22d9dc1 splits: config/RSBE01_02/rels/st_dxcorneria/splits.txt symbols: config/RSBE01_02/rels/st_dxcorneria/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxpstadium.rel hash: 291a6f9d7a31ae084e77dcfb548144b2c7e60680 splits: config/RSBE01_02/rels/st_dxpstadium/splits.txt symbols: config/RSBE01_02/rels/st_dxpstadium/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_dxzebes.rel hash: a129355ef535dd2f90a4f7dd008a0c9464ad1543 splits: config/RSBE01_02/rels/st_dxzebes/splits.txt symbols: config/RSBE01_02/rels/st_dxzebes/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_stageedit.rel hash: 004797ffb413e7ff2243ee8f7104ed293ce03dd5 splits: config/RSBE01_02/rels/st_stageedit/splits.txt symbols: config/RSBE01_02/rels/st_stageedit/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_otrain.rel hash: 2f5b228dee95a6c79f2fc51d02233410cee2d0e2 splits: config/RSBE01_02/rels/st_otrain/splits.txt symbols: config/RSBE01_02/rels/st_otrain/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_heal.rel hash: c5e0b6cf84f676e01b240c59d4b6f31e14cc16eb splits: config/RSBE01_02/rels/st_heal/splits.txt symbols: config/RSBE01_02/rels/st_heal/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_homerun.rel hash: e09d4be8b2c07ec94ef0b75dad06e5dd1b23ad24 splits: config/RSBE01_02/rels/st_homerun/splits.txt symbols: config/RSBE01_02/rels/st_homerun/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_tbreak.rel hash: 211a30aa65a40682c4cdccff9b9a81459b14fb51 splits: config/RSBE01_02/rels/st_tbreak/splits.txt symbols: config/RSBE01_02/rels/st_tbreak/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/st_croll.rel hash: 96b1c892afff8a08f99b8f51f5ae902ab286ed98 splits: config/RSBE01_02/rels/st_croll/splits.txt symbols: config/RSBE01_02/rels/st_croll/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_mario.rel hash: 0d70854560b6d334c16ba2159bd5a61e4c27d8a2 splits: config/RSBE01_02/rels/ft_mario/splits.txt symbols: config/RSBE01_02/rels/ft_mario/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_donkey.rel hash: b4d81d29f8c5384d694f8ff4f127c5f918b2dfd6 splits: config/RSBE01_02/rels/ft_donkey/splits.txt symbols: config/RSBE01_02/rels/ft_donkey/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_link.rel hash: cf0f6e708b6cfec180edcb614036f405d5861570 splits: config/RSBE01_02/rels/ft_link/splits.txt symbols: config/RSBE01_02/rels/ft_link/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_samus.rel hash: df44ee4f743420534530d94f61108d8bdc38d89d splits: config/RSBE01_02/rels/ft_samus/splits.txt symbols: config/RSBE01_02/rels/ft_samus/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_yoshi.rel hash: 6f54577cb5f33bee71040499e6a04cdf98cace88 splits: config/RSBE01_02/rels/ft_yoshi/splits.txt symbols: config/RSBE01_02/rels/ft_yoshi/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_kirby.rel hash: 926fc722766d613455a7dfa0e065c0dfe0c41ae3 splits: config/RSBE01_02/rels/ft_kirby/splits.txt symbols: config/RSBE01_02/rels/ft_kirby/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_fox.rel hash: b9ca4254ef441eb9ccd45e7fa00345b6e1990d0b splits: config/RSBE01_02/rels/ft_fox/splits.txt symbols: config/RSBE01_02/rels/ft_fox/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_pikachu.rel hash: 6a72e0dc89b94a23a867e18ad99499cea6e844fa splits: config/RSBE01_02/rels/ft_pikachu/splits.txt symbols: config/RSBE01_02/rels/ft_pikachu/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_luigi.rel hash: 2617ddef4734da80fa2c6f9f0a7ff84d3a456635 splits: config/RSBE01_02/rels/ft_luigi/splits.txt symbols: config/RSBE01_02/rels/ft_luigi/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_captain.rel hash: 8f52685f06de477d0d128fe8e01c1bf0c13f5e4c splits: config/RSBE01_02/rels/ft_captain/splits.txt symbols: config/RSBE01_02/rels/ft_captain/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_ness.rel hash: e61788578d9f18bc36bfb7349c43826cdf4f34d8 splits: config/RSBE01_02/rels/ft_ness/splits.txt symbols: config/RSBE01_02/rels/ft_ness/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_koopa.rel hash: a0e39d38237f0130545a0e5b33575f0cf15f4b46 splits: config/RSBE01_02/rels/ft_koopa/splits.txt symbols: config/RSBE01_02/rels/ft_koopa/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_peach.rel hash: 2f7b2a42b2aa1f1955740d19efb3fd651addcb60 splits: config/RSBE01_02/rels/ft_peach/splits.txt symbols: config/RSBE01_02/rels/ft_peach/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_zelda.rel hash: 0ef622629357fdd9a0e8e4897a9ecf84d2f322ef splits: config/RSBE01_02/rels/ft_zelda/splits.txt symbols: config/RSBE01_02/rels/ft_zelda/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_iceclimber.rel hash: 3f3b2e86a7e99bf59a2016ddf63b883140705db3 splits: config/RSBE01_02/rels/ft_iceclimber/splits.txt symbols: config/RSBE01_02/rels/ft_iceclimber/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_marth.rel hash: 4481da553b34f121d9aeec01565f4606a61c720b splits: config/RSBE01_02/rels/ft_marth/splits.txt symbols: config/RSBE01_02/rels/ft_marth/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_gamewatch.rel hash: dbc1033e161ae04343a20f88b0825735f8ac49b8 splits: config/RSBE01_02/rels/ft_gamewatch/splits.txt symbols: config/RSBE01_02/rels/ft_gamewatch/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_falco.rel hash: 497dc7138429e38c2ad49dc96b5e6ffd8ec9a612 splits: config/RSBE01_02/rels/ft_falco/splits.txt symbols: config/RSBE01_02/rels/ft_falco/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_ganon.rel hash: 4381318840ec62b9abb2cc7d09a15f537b420f69 splits: config/RSBE01_02/rels/ft_ganon/splits.txt symbols: config/RSBE01_02/rels/ft_ganon/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_wario.rel hash: f018230fb32c70363e48529e0d27b1c82276cda3 splits: config/RSBE01_02/rels/ft_wario/splits.txt symbols: config/RSBE01_02/rels/ft_wario/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_metaknight.rel hash: 6a88d88fdf8dda6a2a719ac92d176e0cd6f79670 splits: config/RSBE01_02/rels/ft_metaknight/splits.txt symbols: config/RSBE01_02/rels/ft_metaknight/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_pit.rel hash: 80e6015eb3c8df3c0e14783c1c6a48a5340e67a2 splits: config/RSBE01_02/rels/ft_pit/splits.txt symbols: config/RSBE01_02/rels/ft_pit/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_pikmin.rel hash: 34728350c52e0f3cbbebb7b28ab3e5c2e0eb5c69 splits: config/RSBE01_02/rels/ft_pikmin/splits.txt symbols: config/RSBE01_02/rels/ft_pikmin/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_lucas.rel hash: e66ee839135920d7c10298109b7e566ae7bb7eb3 splits: config/RSBE01_02/rels/ft_lucas/splits.txt symbols: config/RSBE01_02/rels/ft_lucas/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_diddy.rel hash: 2c96ead17a00574df5f75c6b50dd5314a6d090ab splits: config/RSBE01_02/rels/ft_diddy/splits.txt symbols: config/RSBE01_02/rels/ft_diddy/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_poke.rel hash: b27b2fd98cd4445892164d7af2bc94447ba458e6 splits: config/RSBE01_02/rels/ft_poke/splits.txt symbols: config/RSBE01_02/rels/ft_poke/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_dedede.rel hash: a6978416df878081c94afc45b487030cdbbe5371 splits: config/RSBE01_02/rels/ft_dedede/splits.txt symbols: config/RSBE01_02/rels/ft_dedede/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_lucario.rel hash: 6ccd7614c616f5ccfb3656b6fe73277d7a1893d8 splits: config/RSBE01_02/rels/ft_lucario/splits.txt symbols: config/RSBE01_02/rels/ft_lucario/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_ike.rel hash: 2e7487b6b09ced85613bd79482dcd24a0efde1c3 splits: config/RSBE01_02/rels/ft_ike/splits.txt symbols: config/RSBE01_02/rels/ft_ike/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_robot.rel hash: 47f6c38e9fdf6f03f25579cb5ca36aca372ea315 splits: config/RSBE01_02/rels/ft_robot/splits.txt symbols: config/RSBE01_02/rels/ft_robot/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_toonlink.rel hash: 2db7d5a697422f38af09f1b9a565c5bd174229ef splits: config/RSBE01_02/rels/ft_toonlink/splits.txt symbols: config/RSBE01_02/rels/ft_toonlink/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_snake.rel hash: f76f44366adf6a7b8137f611bdb5f48460e62286 splits: config/RSBE01_02/rels/ft_snake/splits.txt symbols: config/RSBE01_02/rels/ft_snake/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_sonic.rel hash: 46d66bfecda1ddea18230aed23c805d508a6a5b6 splits: config/RSBE01_02/rels/ft_sonic/splits.txt symbols: config/RSBE01_02/rels/ft_sonic/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_purin.rel hash: c6ac72041a64e8c7c6016acd156475d6fe9ce04d splits: config/RSBE01_02/rels/ft_purin/splits.txt symbols: config/RSBE01_02/rels/ft_purin/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_wolf.rel hash: 4f4f1b17b10793f20ab396f7a2fe6981e1a89b46 splits: config/RSBE01_02/rels/ft_wolf/splits.txt symbols: config/RSBE01_02/rels/ft_wolf/symbols.txt + force_active: [HomeBtnIcon] - object: files/module/ft_zako.rel hash: e6b54e689289fe46adb06f1f33b9cd1727ece791 splits: config/RSBE01_02/rels/ft_zako/splits.txt symbols: config/RSBE01_02/rels/ft_zako/symbols.txt + force_active: [HomeBtnIcon] diff --git a/config/RSBE01_02/rels/sora_melee/splits.txt b/config/RSBE01_02/rels/sora_melee/splits.txt index 915fc6e..791d7b1 100644 --- a/config/RSBE01_02/rels/sora_melee/splits.txt +++ b/config/RSBE01_02/rels/sora_melee/splits.txt @@ -6,5 +6,11 @@ Sections: .data type:data align:32 .bss type:bss align:8 +mo_melee/mo_melee.cpp: + .text start:0x003CBCBC end:0x003CBE40 + .ctors start:0x00000514 end:0x00000518 + .data start:0x000A3D58 end:0x000A3DA8 + .bss start:0x00008CC0 end:0x00008CE8 + home_button_icon.cpp: .data start:0x000A3DC0 end:0x000A5680 diff --git a/config/RSBE01_02/rels/sora_melee/symbols.txt b/config/RSBE01_02/rels/sora_melee/symbols.txt index 1eae511..768fac5 100644 --- a/config/RSBE01_02/rels/sora_melee/symbols.txt +++ b/config/RSBE01_02/rels/sora_melee/symbols.txt @@ -6516,7 +6516,7 @@ fn_27_AECC8 = .text:0x000AECC8; // type:function size:0x8 fn_27_AECD0 = .text:0x000AECD0; // type:function size:0x8 fn_27_AECD8 = .text:0x000AECD8; // type:function size:0x8 fn_27_AECE0 = .text:0x000AECE0; // type:function size:0x8 -fn_27_AECE8 = .text:0x000AECE8; // type:function size:0x324 +create__24soDisposeInstanceManagerFv = .text:0x000AECE8; // type:function size:0x324 fn_27_AF00C = .text:0x000AF00C; // type:function size:0x40 fn_27_AF04C = .text:0x000AF04C; // type:function size:0x40 fn_27_AF08C = .text:0x000AF08C; // type:function size:0x10 @@ -20251,7 +20251,7 @@ fn_27_232664 = .text:0x00232664; // type:function size:0x18C fn_27_2327F0 = .text:0x002327F0; // type:function size:0x124 fn_27_232914 = .text:0x00232914; // type:function size:0x1FC fn_27_232B10 = .text:0x00232B10; // type:function size:0xC8 -fn_27_232BD8 = .text:0x00232BD8; // type:function size:0x40 +__dt__10gfCallBackFv = .text:0x00232BD8; // type:function size:0x40 scope:weak fn_27_232C18 = .text:0x00232C18; // type:function size:0xB8 fn_27_232CD0 = .text:0x00232CD0; // type:function size:0x7C setTriggerFlag__12stTriggerMngFP13stTriggerData = .text:0x00232D4C; // type:function size:0x1DC @@ -26655,12 +26655,12 @@ fn_27_3CBC9C = .text:0x003CBC9C; // type:function size:0x8 fn_27_3CBCA4 = .text:0x003CBCA4; // type:function size:0x8 fn_27_3CBCAC = .text:0x003CBCAC; // type:function size:0x8 fn_27_3CBCB4 = .text:0x003CBCB4; // type:function size:0x8 -fn_27_3CBCBC = .text:0x003CBCBC; // type:function size:0x18 +userProc__23moMeleeDrawDownCallbackFv = .text:0x003CBCBC; // type:function size:0x18 _prolog = .text:0x003CBCD4; // type:function size:0x64 scope:global _epilog = .text:0x003CBD38; // type:function size:0x60 scope:global _unresolved = .text:0x003CBD98; // type:function size:0xC scope:global -fn_27_3CBDA4 = .text:0x003CBDA4; // type:function size:0x40 -fn_27_3CBDE4 = .text:0x003CBDE4; // type:function size:0x5C +__dt__23moMeleeDrawDownCallbackFv = .text:0x003CBDA4; // type:function size:0x40 scope:weak +__sinit_\mo_melee_cpp = .text:0x003CBDE4; // type:function size:0x5C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte __destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global @@ -34749,8 +34749,9 @@ lbl_27_data_4BEF8 = .data:0x0004BEF8; // type:object size:0x64 lbl_27_data_4BF5C = .data:0x0004BF5C; // type:object size:0x10 lbl_27_data_4BF6C = .data:0x0004BF6C; // type:object size:0xC lbl_27_data_4BF78 = .data:0x0004BF78; // type:object size:0x30 -lbl_27_data_4BFA8 = .data:0x0004BFA8; // type:object size:0x10 -lbl_27_data_4BFB8 = .data:0x0004BFB8; // type:object size:0x260 +lbl_27_data_4BFA8 = .data:0x0004BFA8; // type:object size:0xB data:string +__RTTI__10gfCallBack = .data:0x0004BFB8; // type:object size:0x8 scope:weak align:8 +lbl_27_data_4BFC0 = .data:0x0004BFC0; // type:object size:0x258 lbl_27_data_4C218 = .data:0x0004C218; // type:object size:0x1C lbl_27_data_4C234 = .data:0x0004C234; // type:object size:0x1C lbl_27_data_4C250 = .data:0x0004C250; // type:object size:0x20 data:string @@ -34777,7 +34778,7 @@ lbl_27_data_4C458 = .data:0x0004C458; // type:object size:0x8 lbl_27_data_4C460 = .data:0x0004C460; // type:object size:0x10 lbl_27_data_4C470 = .data:0x0004C470; // type:object size:0x10 lbl_27_data_4C480 = .data:0x0004C480; // type:object size:0x8 -lbl_27_data_4C488 = .data:0x0004C488; // type:object size:0x10 +__vt__10gfCallBack = .data:0x0004C488; // type:object size:0x10 scope:weak lbl_27_data_4C498 = .data:0x0004C498; // type:object size:0x20 lbl_27_data_4C4B8 = .data:0x0004C4B8; // type:object size:0x18 data:string lbl_27_data_4C4D0 = .data:0x0004C4D0; // type:object size:0x18 @@ -38683,11 +38684,11 @@ lbl_27_data_A3CC8 = .data:0x000A3CC8; // type:object size:0x44 lbl_27_data_A3D0C = .data:0x000A3D0C; // type:object size:0x14 lbl_27_data_A3D20 = .data:0x000A3D20; // type:object size:0x8 lbl_27_data_A3D28 = .data:0x000A3D28; // type:object size:0x30 -lbl_27_data_A3D58 = .data:0x000A3D58; // type:object size:0x10 -lbl_27_data_A3D68 = .data:0x000A3D68; // type:object size:0x10 -lbl_27_data_A3D78 = .data:0x000A3D78; // type:object size:0x18 data:string -lbl_27_data_A3D90 = .data:0x000A3D90; // type:object size:0x10 -lbl_27_data_A3DA0 = .data:0x000A3DA0; // type:object size:0x20 +@99 = .data:0x000A3D58; // type:object size:0xD scope:local data:string +__vt__23moMeleeDrawDownCallback = .data:0x000A3D68; // type:object size:0x10 scope:weak align:8 +@64 = .data:0x000A3D78; // type:object size:0x18 scope:local data:string +@65 = .data:0x000A3D90; // type:object size:0xC scope:local +__RTTI__23moMeleeDrawDownCallback = .data:0x000A3DA0; // type:object size:0x8 scope:weak align:8 HomeBtnIcon = .data:0x000A3DC0; // type:object size:0x18C0 scope:global align:32 __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global lbl_27_bss_8 = .bss:0x00000008; // type:object size:0x8 data:4byte @@ -39089,7 +39090,8 @@ lbl_27_bss_1B7C = .bss:0x00001B7C; // type:object size:0x24 data:4byte lbl_27_bss_1BA0 = .bss:0x00001BA0; // type:object size:0xFD0 data:byte lbl_27_bss_2B70 = .bss:0x00002B70; // type:object size:0x8 data:4byte lbl_27_bss_2B78 = .bss:0x00002B78; // type:object size:0x8 data:4byte -lbl_27_bss_2B80 = .bss:0x00002B80; // type:object size:0x8 data:4byte +g_soDisposeInstanceManager = .bss:0x00002B80; // type:object size:0x4 data:4byte +lbl_27_bss_2B84 = .bss:0x00002B84; // type:object size:0x4 data:4byte lbl_27_bss_2B88 = .bss:0x00002B88; // type:object size:0x8 data:4byte lbl_27_bss_2B90 = .bss:0x00002B90; // type:object size:0x8 data:4byte lbl_27_bss_2B98 = .bss:0x00002B98; // type:object size:0xC @@ -40155,5 +40157,7 @@ lbl_27_bss_8C88 = .bss:0x00008C88; // type:object size:0x10 data:4byte lbl_27_bss_8C98 = .bss:0x00008C98; // type:object size:0xC lbl_27_bss_8CA4 = .bss:0x00008CA4; // type:object size:0xC lbl_27_bss_8CB0 = .bss:0x00008CB0; // type:object size:0x10 data:4byte -lbl_27_bss_8CC0 = .bss:0x00008CC0; // type:object size:0x20 data:4byte -lbl_27_bss_8CE0 = .bss:0x00008CE0; // type:object size:0x8 data:4byte +bss_loc_8cc0__22@unnamed@mo_melee_cpp@ = .bss:0x00008CC0; // type:object size:0x8 data:4byte +bss_loc_8cc8__22@unnamed@mo_melee_cpp@ = .bss:0x00008CC8; // type:object size:0x8 data:4byte +@42 = .bss:0x00008CD0; // type:object size:0xC scope:local data:4byte +bss_loc_8ce0 = .bss:0x00008CE0; // type:object size:0x8 align:16 data:4byte diff --git a/config/RSBE01_02/symbols.txt b/config/RSBE01_02/symbols.txt index a8727aa..43b7224 100644 --- a/config/RSBE01_02/symbols.txt +++ b/config/RSBE01_02/symbols.txt @@ -2299,8 +2299,8 @@ fn_80019FEC = .text:0x80019FEC; // type:function size:0x11C fn_8001A108 = .text:0x8001A108; // type:function size:0x8C fn_8001A194 = .text:0x8001A194; // type:function size:0x210 fn_8001A3A4 = .text:0x8001A3A4; // type:function size:0x8 -fn_8001A3AC = .text:0x8001A3AC; // type:function size:0x30 -fn_8001A3DC = .text:0x8001A3DC; // type:function size:0x64 +add__14gfCallBackListFP10gfCallBack = .text:0x8001A3AC; // type:function size:0x30 +remove__14gfCallBackListFP10gfCallBack = .text:0x8001A3DC; // type:function size:0x64 fn_8001A440 = .text:0x8001A440; // type:function size:0x4C fn_8001A48C = .text:0x8001A48C; // type:function size:0x134 gfDrawSetVtxPosColorPrimEnvironment__Fv = .text:0x8001A5C0; // type:function size:0x1EC diff --git a/configure.py b/configure.py index 6ee9dbf..41e07d6 100755 --- a/configure.py +++ b/configure.py @@ -243,7 +243,7 @@ ] # REL flags -config.rel_strip_partial = False +config.rel_strip_partial = True cflags_rel = [ *cflags_common, "-sdata 0", @@ -642,7 +642,9 @@ def MatchingFor(*versions): "mw_version": config.linker_version, "cflags": cflags_rel, "host": False, - "objects": [], + "objects": [ + Object(Matching, "mo_melee/mo_melee.cpp") + ], }, { "lib": "sora_menu_boot", diff --git a/include/lib/BrawlHeaders b/include/lib/BrawlHeaders index 5e6d2b3..1e36b04 160000 --- a/include/lib/BrawlHeaders +++ b/include/lib/BrawlHeaders @@ -1 +1 @@ -Subproject commit 5e6d2b36bd7a053c02acf28f58c2953ad4263e7f +Subproject commit 1e36b04d38518756f631a637a8c33f0b7bfd0f5c diff --git a/src/mo_melee/mo_melee.cpp b/src/mo_melee/mo_melee.cpp new file mode 100644 index 0000000..74d1419 --- /dev/null +++ b/src/mo_melee/mo_melee.cpp @@ -0,0 +1,72 @@ +#include +#include +#include +#include +#include +#include + +struct bss_loc_8cc0_t { + u32 unk0; + s32 unk4; +public: + bss_loc_8cc0_t(s32 p2) { + unk0 = 0xFF; + unk4 = p2; + } + bss_loc_8cc0_t() { } +}; + +namespace { + const bss_loc_8cc0_t bss_loc_8cc0(0); + const bss_loc_8cc0_t bss_loc_8cc8(1); +} + +class moMeleeDrawDownCallback : public gfCallBack { +public: + moMeleeDrawDownCallback() : gfCallBack() { } + virtual void userProc(); + virtual ~moMeleeDrawDownCallback() { } +}; +static_assert(sizeof(moMeleeDrawDownCallback) == 0x8, "Class is wrong size!"); + +void moMeleeDrawDownCallback::userProc() { + g_soDisposeInstanceManager->notifyDrawDone(); +} + +moMeleeDrawDownCallback bss_loc_8ce0; + +extern "C" { +typedef void (*PFN_voidfunc)(); +__declspec(section ".init") extern PFN_voidfunc _ctors[]; +__declspec(section ".init") extern PFN_voidfunc _dtors[]; + +void _prolog(); +void _epilog(); +void _unresolved(); +} + +void _prolog() { + // Run global constructors + PFN_voidfunc* ctor; + for (ctor = _ctors; *ctor; ctor++) + { + (*ctor)(); + } + soDisposeInstanceManager::create(); + g_gfGameApplication->m_114.add(&bss_loc_8ce0); +} + +void _epilog() { + g_gfGameApplication->m_114.remove(&bss_loc_8ce0); + + // Run global destructors + PFN_voidfunc* dtor; + for (dtor = _dtors; *dtor; dtor++) + { + (*dtor)(); + } +} + +void _unresolved() { + moUnResolvedMessage("mo_melee.cpp"); +}