From fbe20325c2f477c682992dd49676024f4aca61c2 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Fri, 13 Sep 2024 23:57:18 -0500 Subject: [PATCH] PAL: match core1/ba/marker.c --- decompressed.pal.yaml | 14 +++--- include/enums.h | 21 +++++--- manual_syms.pal.txt | 108 ++++++++++++++++++++++++++++++++++++++++-- src/core2/ba/marker.c | 14 +++--- 4 files changed, 132 insertions(+), 25 deletions(-) diff --git a/decompressed.pal.yaml b/decompressed.pal.yaml index 94d23624..887e2727 100644 --- a/decompressed.pal.yaml +++ b/decompressed.pal.yaml @@ -512,8 +512,8 @@ segments: - [0xF7BA60, c, ba/anim] - [0xF7C650, c, snackerctl] - [0xF7CBA0, c, code_39D0] - - [0xF7D990, bin, core2_untouched_text] - # - [0xF5A120, c, ba/marker] #DONE + - [0xF7D990, c, ba/marker] + - [0xF7FD00, bin, core2_untouched_text] # - [0xF5C490, c, code_6B30] #DONE # - [0xF5C9C0, c, code_7060] #DONE # - [0xF5E700, c, code_8DA0] #DONE @@ -902,8 +902,8 @@ segments: - [0x1055E50, .data, code_1550] - [0x1055E70, .data, ba/anim] - [0x1055EA0, .data, snackerctl] - - [0x1055EC0, bin, core2_untouched_data] - # - [0x1032000, .data, ba/marker] + - [0x1055EC0, .data, ba/marker] + - [0x1055F20, bin, core2_untouched_data] # - [0x1032060, .data, code_7060] # - [0x10320A0, .data, code_90E0] # - [0x1032150, .data, ba/model] @@ -1126,8 +1126,8 @@ segments: - [0x10667F0, .rodata, ba/anim] - [0x1066860, .rodata, snackerctl] - [0x1066870, .rodata, code_39D0] - - [0x1066910, bin, core2_untouched_rodata] - # - [0x1042940, .rodata, ba/marker] + - [0x1066910, .rodata, ba/marker] + - [0x1066D40, bin, core2_untouched_rodata] # - [0x1042D70, .rodata, code_6B30] # - [0x1042E60, .rodata, code_7060] # - [0x1042F90, .rodata, code_9450] @@ -1379,7 +1379,7 @@ segments: - [0x0106C980, .bss, ba/anim] - [0x0106C980, .bss, snackerctl] - [0x0106C980, .bss, code_39D0] - # - [0x0106C980, .bss, ba/marker] + - [0x0106C980, .bss, ba/marker] # - [0x0106C980, .bss, code_6B30] # - [0x0106C980, .bss, code_7060] # - [0x0106C980, .bss, code_8DA0] diff --git a/include/enums.h b/include/enums.h index 9b331ff7..962df97f 100644 --- a/include/enums.h +++ b/include/enums.h @@ -3975,14 +3975,16 @@ enum asset_e ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED = 0xa17, - ASSET_A1F_DIALOG_SHOCKJUMP_LEARN = 0xa1f, + ASSET_A1F_DIALOG_SHOCKJUMP_LEARN = VER_SELECT(0xa1f, 0x91f, 0, 0), ASSET_A20_DIALOG_FLY_LEARN, - - ASSET_A22_DIALOG_FLY_REFRESHER = 0xa22, + ASSET_A21_DIALOG_BLUBBER_MEET, + ASSET_A22_DIALOG_FLY_REFRESHER, ASSET_A23_DIALOG_SHOCKJUMP_REFRESHER, - - ASSET_A27_TEXT_BOTTLES_ALL_TTC_MOVES_LEARNED = 0xA27, - ASSET_A28_TEXT_LEAKY_DONE = 0xA28, + ASSET_A24_DIALOG_JUMP_PAD_DISCOVERED, + ASSET_A25_DIALOG_FLY_DISC_DISCOVERED, + ASSET_A26_DIALOG_NEED_RED_FEATHERS_TO_FLY, + ASSET_A27_TEXT_BOTTLES_ALL_TTC_MOVES_LEARNED, + ASSET_A28_TEXT_LEAKY_DONE, ASSET_A6F_TEXT_CHARMER_MEET = 0xA6F, ASSET_A70_TEXT_CHARMER_HELPED, @@ -4019,7 +4021,7 @@ enum asset_e ASSET_B3B_TEXT_CONGA_ORANGE_PAD_JIGGY, ASSET_B3C_TEXT_CONGA_MEET, - ASSET_B3E_TEXT_CONGA_MEET_AS_TERMITE = 0xb3e, + ASSET_B3E_TEXT_CONGA_MEET_AS_TERMITE = VER_SELECT(0xb3e, 0x95c, 0, 0), ASSET_B3F_DIALOG_CHIMPY_MEET, ASSET_B40_DIALOG_CHIMPY_COMPLETE, ASSET_B41_DIALOG_TERMITE_COOL_SHORTS, @@ -4123,6 +4125,9 @@ enum asset_e ASSET_DB0_DIALOG_MUMBO_MISTAKE_0, ASSET_DB1_DIALOG_MUMBO_MISTAKE_1, ASSET_DB2_DIALOG_MUMBO_MISTAKE_2, + ASSET_DB3_DIALOG_SNS_EGG_1_TEXT = VER_SELECT(0xdb3, 0xa31, 0, 0), + ASSET_DB4_DIALOG_SNS_EGG_2_TEXT, + ASSET_DB5_DIALOG_ICE_KEY_TEXT, ASSET_DF3_TEXT_BOTTLES_INTRODUCTION = 0xDF3, ASSET_DF4_TEXT_BOTTLES_CAMERA_CONTROL_LEARN, @@ -4167,6 +4172,8 @@ enum asset_e ASSET_E37_TEXT_BOTTLES_STOP_WASTING_TIME_AFTER_FURNACE_FUN = 0xE37, // Talk to bottles after beating furnace fun + ASSET_E57_DIALOG_FIRST_JIGGY = VER_SELECT(0xF57, 0xabd, 0, 0), + ASSET_F5B_DIALOG_MUMBO_MAGIC_GET_WEAK_FULL = 0xF5b, ASSET_F5C_DIALOG_MUMBO_MAGIC_GET_WEAK_ABREV, ASSET_F5D_DIALOG_MUMBO_MAGIC_RUN_OUT_FULL, diff --git a/manual_syms.pal.txt b/manual_syms.pal.txt index 46763f5f..f50b8b46 100644 --- a/manual_syms.pal.txt +++ b/manual_syms.pal.txt @@ -34,24 +34,37 @@ boot_func_8023DA20 = func_8023DA20; /* Temporary*/ /* Temporary Correct*/ +player_getActiveHitbox = 0x8028e58c; player_getTransformation = 0x8028e5ec; func_8028E964 = 0x8028e784; player_getPosition = 0x8028e7c4; +func_8028E9C4 = 0x8028e7e4; player_getPosition_s32 = 0x8028e95c; player_getYaw = 0x8028e9c4; func_8028ECAC = 0x8028eacc; player_getWaterState = 0x8028eca4; +func_8028F170 = 0x8028ef90; +ability_isUnlocked = 0x8028efb0; player_is_present = 0x8028eff4; +func_8028F1E0 = 0x8028f000; func_8028F22C = 0x8028f04c; func_8028F25C = 0x8028f07c; +func_8028F428 = 0x8028f248; +func_8028F55C = 0x8028f37c; func_8028F918 = 0x8028f738; func_8028F94C = 0x8028f76c; func_8028FB88 = 0x8028f9a8; - +func_8029151C = 0x8029133c; +func_80291610 = 0x80291430; +func_80291634 = 0x80291454; stateTimer_isActive = 0x802914b8; +baModel_80291AAC = 0x802918cc; +baModel_80292284 = 0x802920a4; bafalldamage_get_damage = 0x80292ffc; miscFlag_isTrue = 0x802931e0; miscFlag_isFalse = 0x802931f0; +miscFlag_set = 0x80293208; +miscFlag_clear = 0x8029321c; func_80294438 = 0x80294258; func_80294500 = 0x80294320; @@ -59,22 +72,44 @@ func_80294548 = 0x80294368; func_80294554 = 0x80294374; func_80294610 = 0x80294430; get_slope_timer = 0x802947f4; +set_turbo_duration = 0x80294908; + ability_hasLearned = 0x80295618; +func_80296CB4 = 0x80296af4; +func_80296CC0 = 0x80296b00; +baphysics_set_type = 0x8029771c; +baphysics_set_target_horizontal_velocity = 0x802977b0; baphysics_get_velocity = 0x802978c8; baphysics_get_vertical_velocity = 0x802978ec; +func_80297C6C = 0x80297aac; _player_getPosition = 0x80298314; player_getYPosition = 0x80298338; - +yaw_setUpdateState = 0x80298fe8; +yaw_setIdeal = 0x80298ff4; yaw_get = 0x8029905c; yaw_getIdeal = 0x80299068; -bs_getState = 0x8029a608; +func_8029957C = 0x802993bc; +bs_getState = 0x8029a608; +bs_checkInterrupt = 0x8029a65c; +bsStoredState_getTransformation = 0x8029a734; +func_8029B41C = 0x8029b25c; func_8029C0D0 = 0x8029bf10; +func_8029CDA0 = 0x8029cbe0; func_8029CF20 = 0x8029cd60; func_8029D66C = 0x8029d4ac; bsant_inSet = 0x8029e3d8; +func_802A02B4 = 0x802a00f4; +func_802A6388 = 0x802a61c8; + +__spawnQueue_add_1 = 0x802c3b08; +chtrainers_canUse = 0x802ca8c8; +chtrainers_getDuration = 0x802ca908; +chtrainers_pickup = 0x802ca910; + bspumpkin_inSet = 0x802b2154; +func_802BAFE4 = 0x802bae54; func_802BB360 = 0x802bb1d0; func_802BB378 = 0x802bb1e8; func_802BB3AC = 0x802bb21c; @@ -82,14 +117,30 @@ func_802BB3C4 = 0x802bb234; func_802BB3DC = 0x802bb24c; ncFirstPersonCamera_getZoomedInRotation = 0x802c295c; ncFirstPersonCamera_getState = 0x802c2980; + spawnQueue_func_802C3A18 = 0x802C3898; spawnQueue_flush = 0x802c38b8; +__spawnQueue_add_4 = 0x802c3d84; +func_802C418C = 0x802c400c; func_802C5A30 = 0x802c5b20; +chjiggy_getJiggyId = 0x802c8248; +func_802C9C14 = 0x802c9dd4; +func_802CA1C4 = 0x802ca384; +func_802CA1CC = 0x802ca38c; mapSpecificFlags_get = 0x802caeb8; +mapSpecificFlags_set = 0x802caf80; mapSpecificFlags_validateCRC1 = 0x802cb1cc; +func_802D6264 = 0x802d6444; func_802D686C = 0x802d6a4c; +func_802D6924 = 0x802d6b0c; +chwadingboots_802D6E0C = 0x802d6fec; +chwadingboots_802D6E4C = 0x802d702c; +chwadingboots_802D6E54 = 0x802d7034; +chCollectible_collectEgg = 0x802d8fd0; +chCollectible_collectGoldFeather = 0x802d90bc; +chCollectible_collectRedFeather = 0x802d9048; chmole_learnedAllSpiralMountainAbilities = 0x802da678; -chOverlayNoController_spawn = 0x802dd1e8; +chOverlayNoController_spawn = 0x802dd1e8; chOverlayNoController_func_802DD040 = 0x802dd220; chBottlesBonus_getPuzzleIndex = 0x802de5fc; chsnacker_setControlState = 0x802e1bf4; @@ -123,12 +174,22 @@ freelist_free = 0x802ede44; freelist_new = 0x802ede64; freelist_freeElement = 0x802edebc; freelist_defrag = 0x802edee0; +func_802EE354 = 0x802ee534; +func_802EE6CC = 0x802ee8ac; func_802F1294 = 0x802f1474; +fxSparkle_emptyHoneycomb = 0x802f38bc; +fxSparkle_honeycomb = 0x802f391c; +fxSparkle_musicNote = 0x802f397c; +fxSparkle_extraLife = 0x802f3d1c; + printbuffer_defrag = 0x802f560c; func_802F9AA8 = 0x802f9c88; func_802F9F80 = 0x802fa160; func_802F9FD0 = 0x802fa1b0; func_802FA060 = 0x802fa240; +func_802FADD4 = 0x802fafb4; +cubeList_findNodePropByActorId = 0x80304b6c; +nodeprop_getPosition_s32 = 0x80304eec; func_80309B48 = 0x80309ce8; func_80309D58 = 0x80309ef8; func_8030A850 = 0x8030a9f0; @@ -144,11 +205,17 @@ sfxsource_setSfxId = 0x8030dc20; sfxsource_setSampleRate = 0x8030dc5c; func_8030DBB4 = 0x8030dd54; func_8030E2C4 = 0x8030e464; +func_8030E484 = 0x8030e624; func_8030E58C = 0x8030e72c; +func_8030E624 = 0x8030e7c4; func_8030E6A4 = 0x8030e844; +func_8030E6D4 = 0x8030e874; func_8030ED70 = 0x8030ef10; func_8030E394 = 0x8030e534; +func_803012F8 = 0x803014d8; +fxairscore_count_to_time = 0x80301f5c; func_80311480 = 0x803116cc; +gcpausemenu_80314AC8 = 0x80314e1c; func_8031B908 = 0x8031bce8; func_8031C44C = 0x8031c82c; @@ -156,14 +223,21 @@ func_8031C5AC = 0x8031c98c; func_8031C5D4 = 0x8031c9b4; func_8031C618 = 0x8031c9f8; func_8031C638 = 0x8031ca18; +fileProgressFlag_get = 0x8032030c; +fileProgressFlag_set = 0x803203f4; dummy_func_80320240 = 0x80320630; volatileFlag_get = 0x803207ec; +volatileFlag_getAndSet = 0x80320844; volatileFlag_set = 0x803208d4; func_8032056C = 0x8032095C; func_80320B98 = 0x80320f88; func_80320C94 = 0x80321084; func_80320DB0 = 0x803211a0; +func_80320ED8 = 0x803212c8; jiggyscore_isCollected = 0x803213d0; +jiggyscore_setCollected = 0x8032147c; +jiggyscore_total = 0x8032162c; +honeycombscore_set = 0x80321754; level_get = 0x80321cf0; func_8032190C = 0x80321cfc; func_80321960 = 0x80321d50; @@ -173,12 +247,24 @@ levelSpecificFlags_validateCRC1 = 0x8032243c; func_8032274C = 0x80322b4c; func_80322758 = 0x80322b58; func_80323240 = 0x80323690; +func_80324DBC = 0x8032520c; timedFunc_set_1 = 0x80325334; timedFunc_set_2 = 0x80325370; timedFunc_set_3 = 0x803253b4; +func_8032811C = 0x80328574; +marker_despawn = 0x8032874c; marker_getActor = 0x80329db0; func_8032AD7C = 0x8032b1d4; +func_8032B258 = 0x8032b6b0; +marker_free = 0x8032f880; +func_8032F528 = 0x8032f978; +func_8032F64C = 0x8032fa9c; +func_8032FBE4 = 0x80330034; +marker_callCollisionFunc = 0x80330444; +marker_setCollisionScripts = 0x803304f8; +func_803300B8 = 0x80330508; func_803306C8 = 0x80330b18; +func_80332790 = 0x80332be0; map_get = 0x80334d10; func_80335134 = 0x80335584; sfxInstruments_init = 0x80335670; @@ -201,18 +287,32 @@ func_8033BD6C = 0x8033C1BC; func_8033BD8C = 0x8033c1dc; savedata_8033CA9C = 0x8033ceec; savedata_8033CE40 = 0x8033d15c; +func_8033D2F4 = 0x8033d744; +func_8033D410 = 0x8033d860; +func_8033D564 = 0x8033d9b4; +func_8033D574 = 0x8033d9c4; +func_8033D594 = 0x8033d9e4; +func_8033D5A4 = 0x8033d9f4; func_8033DD04 = 0x8033e154; func_8033DD90 = 0x8033e1e0; time_getDelta = 0x8033e1ec; allocUnusedBlock = 0x8033f3a8; func_8033EFB0 = 0x8033f400; func_8033F000 = 0x8033f450; +item_inc = 0x80346374; +item_getCount = 0x803463f0; +item_adjustByDiffWithHud = 0x80346824; +item_adjustByDiffWithoutHud = 0x80346844; demo_readInput = 0x8034a334; randf = 0x8034a7e0; func_8034B9BC = 0x8034be20; func_8034BB48 = 0x8034bfac; func_8034C630 = 0x8034ca90; func_8034E698 = 0x8034eaf8; +func_8035644C = 0x803568ac; +func_8035646C = 0x803568cc; +volatileFlag_setAndTriggerDialog_4 = 0x803569a0; + core2_TEXT_END = 0x80363a00; core2_DATA_START = 0x80363a00; diff --git a/src/core2/ba/marker.c b/src/core2/ba/marker.c index 9411c17e..a3f7c6a6 100644 --- a/src/core2/ba/marker.c +++ b/src/core2/ba/marker.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" #include "core2/ba/physics.h" - +#include "version.h" #include "prop.h" #include "SnS.h" @@ -113,10 +113,10 @@ void __baMarker_8028B7F4(void){ void __baMarker_8028B848(void){ s32 s0 = 0; if(map_get() == MAP_69_GL_MM_LOBBY){ - s0 = 0xf57; + s0 = ASSET_E57_DIALOG_FIRST_JIGGY; } else if(map_get() == MAP_2_MM_MUMBOS_MOUNTAIN){ - s0 = 0xb45; + s0 = ASSET_B45_TEXT_JIGGY_COLLECT_10; } if(s0){ @@ -657,7 +657,7 @@ void __baMarker_resolveCollision(Prop *other_prop){ tmp1 = sns_get_item_state(SNS_ITEM_EGG_YELLOW, 0) + sns_get_item_state(SNS_ITEM_EGG_RED, 0) + sns_get_item_state(SNS_ITEM_EGG_GREEN, 0) + sns_get_item_state(SNS_ITEM_EGG_BLUE, 0) + sns_get_item_state(SNS_ITEM_EGG_PINK, 0) + sns_get_item_state(SNS_ITEM_EGG_CYAN, 0); if(tmp1 < 3){ - func_80324DBC(2.5f, 0xDB2 + tmp1, 0x20, 0, 0, 0, 0); + func_80324DBC(2.5f, ASSET_DB3_DIALOG_SNS_EGG_1_TEXT + tmp1 - 1, 0x20, 0, 0, 0, 0); } marker_despawn(marker); @@ -666,7 +666,7 @@ void __baMarker_resolveCollision(Prop *other_prop){ case MARKER_168_ICE_KEY: //L8028CC7C sns_set_item_and_update_payload(SNS_ITEM_ICE_KEY, 0, 1); comusic_playTrack(COMUSIC_88_BIG_SNS_FANFARE); - func_80324DBC(2.5f, 0xDB5, 0x20, 0, 0, 0, 0); + func_80324DBC(2.5f, ASSET_DB5_DIALOG_ICE_KEY_TEXT, 0x20, 0, 0, 0, 0); marker_despawn(marker); break; @@ -717,7 +717,7 @@ void __baMarker_resolveCollision(Prop *other_prop){ miscFlag_set(MISC_FLAG_2_ON_SPRING_PAD); }else{ if(!volatileFlag_getAndSet(VOLATILE_FLAG_C_HAS_SEEN_SPRING_PAD, 1)){ - func_80311480(0xA24, 4, 0, 0, 0, 0); + func_80311480(ASSET_A24_DIALOG_JUMP_PAD_DISCOVERED, 4, 0, 0, 0, 0); } } break; @@ -729,7 +729,7 @@ void __baMarker_resolveCollision(Prop *other_prop){ miscFlag_set(MISC_FLAG_1_ON_FLIGHT_PAD); } else if(! volatileFlag_getAndSet(VOLATILE_FLAG_D_HAS_SEEN_FLIGHT_PAD, 1)){ - func_80311480(0xA25, 4, 0, 0, 0, 0); + func_80311480(ASSET_A25_DIALOG_FLY_DISC_DISCOVERED, 4, 0, 0, 0, 0); } break;