From 91a7ea3cade8e6da37c3702649a6e0d3477891f6 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Mon, 15 Aug 2022 16:45:08 -0500 Subject: [PATCH] core2/code_83D70.c done --- include/bsint.h | 73 ++++++++++-- include/enums.h | 18 ++- include/functions.h | 6 +- progress/progress_core2.svg | 4 +- progress/progress_total.svg | 4 +- src/BGS/ch/mrvile.c | 2 +- src/BGS/code_3420.c | 4 +- src/CCW/code_3310.c | 2 +- src/CCW/code_5540.c | 2 +- src/FP/code_0.c | 2 +- src/FP/code_3E00.c | 10 +- src/FP/code_4770.c | 6 +- src/FP/code_4D0.c | 2 +- src/GV/code_7FF0.c | 4 +- src/GV/code_9130.c | 2 +- src/GV/code_9DB0.c | 4 +- src/MM/ch/lmonkey.c | 2 +- src/MMM/ch/loggo.c | 2 +- src/MMM/code_3D50.c | 2 +- src/MMM/code_47D0.c | 2 +- src/TTC/code_10A0.c | 2 +- src/TTC/code_3E30.c | 2 +- src/core2/bs/bFlap.c | 2 +- src/core2/bs/bFly.c | 2 +- src/core2/bs/bPeck.c | 2 +- src/core2/bs/bSwim.c | 2 +- src/core2/bs/bTrot.c | 2 +- src/core2/bs/carry.c | 9 +- src/core2/bs/climb.c | 2 +- src/core2/bs/jig.c | 20 ++-- src/core2/bs/jump.c | 6 +- src/core2/bs/rest.c | 2 +- src/core2/bs/sled.c | 24 ++-- src/core2/bs/stand.c | 4 +- src/core2/bs/surf.c | 2 +- src/core2/bs/swim.c | 4 +- src/core2/bs/throw.c | 4 +- src/core2/bs/walrus.c | 16 +-- src/core2/bsList.c | 14 +-- src/core2/code_11460.c | 4 +- src/core2/code_11870.c | 8 +- src/core2/code_13780.c | 4 +- src/core2/code_14420.c | 40 +++---- src/core2/code_16010.c | 5 +- src/core2/code_3480.c | 2 +- src/core2/code_39D0.c | 24 ++-- src/core2/code_47C0.c | 28 ++--- src/core2/code_4C020.c | 2 +- src/core2/code_6B30.c | 16 +-- src/core2/code_7060.c | 52 ++++----- src/core2/code_7AF80.c | 4 +- src/core2/code_83D70.c | 224 ++++++++++++++++++++++++++++++------ src/core2/code_9B180.c | 2 +- src/core2/code_AD5B0.c | 2 +- src/core2/code_BEF20.c | 4 +- src/core2/code_C3F0.c | 4 +- src/core2/code_D800.c | 2 +- src/core2/code_D9B0.c | 8 +- src/core2/code_E910.c | 4 +- src/core2/code_EF50.c | 180 ++++++++++++++--------------- src/core2/done/bs/talk.c | 2 +- src/core2/done/climb.c | 4 +- src/lair/code_0.c | 2 +- src/lair/code_42A0.c | 4 +- src/lair/code_5ED0.c | 2 +- subyaml/core2.us.v10.yaml | 6 +- 66 files changed, 575 insertions(+), 338 deletions(-) diff --git a/include/bsint.h b/include/bsint.h index 3257bab6..184502c3 100644 --- a/include/bsint.h +++ b/include/bsint.h @@ -7,6 +7,65 @@ typedef void (*bsStateMethod)(void); +enum bs_interrupt_e { + BS_INTR_0_NONE, + BS_INTR_1, + BS_INTR_2, + BS_INTR_3, + BS_INTR_4, + BS_INTR_5, + BS_INTR_6, + BS_INTR_7, //something with carried objects + BS_INTR_8, //something with carried objects + BS_INTR_9, //bsbfly?? + BS_INTR_A, //wishy_washy? + BS_INTR_B, + BS_INTR_C_CLIMB, //bsclimb? + BS_INTR_D_SURF, + BS_INTR_E, + BS_INTR_F, //gv matching game, mr. vile (lose?) + BS_INTR_10, + BS_INTR_11_DROWN, + BS_INTR_12, //something with carried objects + BS_INTR_13, //ff death square? + BS_INTR_14, //gv matching game?, forces jump state + BS_INTR_15, + BS_INTR_16_THROW_CARRIED_OBJ, //carry_object_throw_volume + BS_INTR_17, //eat yumblie? + BS_INTR_18_CROC_ATE_WRONG, //ate wrong yumblie type? + BS_INTR_19, + BS_INTR_1A, //turbo_talon_trainers? + BS_INTR_1B, //wading_boots + BS_INTR_1C, + BS_INTR_1D, + BS_INTR_1E, + BS_INTR_1F, + BS_INTR_20, + BS_INTR_21, + BS_INTR_22, + BS_INTR_23, + BS_INTR_24, + BS_INTR_25, + BS_INTR_26, //bsjig_jiggy + BS_INTR_27_BANJO_SLED, + BS_INTR_28, //bs_sled + BS_INTR_27_WALRUS_SLED, //bs_walrus_sled??? + BS_INTR_2A, //boggy race text? + BS_INTR_2B, //boggy race? + BS_INTR_2C, + BS_INTR_2D, + BS_INTR_2E, + BS_INTR_2F_LOGGO, //loggo flush? + BS_INTR_30, + BS_INTR_31, //takes damage + BS_INTR_32, + BS_INTR_33, + BS_INTR_34, + BS_INTR_35, //notedoor? + BS_INTR_36_DINGPOT, //dingpot + BS_INTR_37 +}; + typedef struct bs_state_s{ bsStateMethod init_func; bsStateMethod update_func; @@ -21,11 +80,11 @@ typedef struct bs_map_s{ void bsList_clearAll(void); void bsList_setInitMethod(enum bs_e i, bsStateMethod func); -void bsList_setUpdateMethod(s32 i, bsStateMethod func); -void bsList_setEndMethod(s32 i, bsStateMethod func); -void bsList_setInterruptMethod(s32 i, bsStateMethod func); -bsStateMethod bsList_getInitMethod(s32 i); -bsStateMethod bsList_getUpdateMethod(s32 i); -bsStateMethod bsList_getEndMethod(s32 i); -bsStateMethod bsList_getInterruptMethod(s32 i); +void bsList_setUpdateMethod(enum bs_e i, bsStateMethod func); +void bsList_setEndMethod(enum bs_e i, bsStateMethod func); +void bsList_setInterruptMethod(enum bs_e i, bsStateMethod func); +bsStateMethod bsList_getInitMethod(enum bs_e i); +bsStateMethod bsList_getUpdateMethod(enum bs_e i); +bsStateMethod bsList_getEndMethod(enum bs_e i); +bsStateMethod bsList_getInterruptMethod(enum bs_e i); #endif diff --git a/include/enums.h b/include/enums.h index 17a24389..13a0de0e 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1865,11 +1865,11 @@ enum bs_e BS_3A_CARRY_IDLE, BS_CARRY_WALK = 0x3B, BS_3C, - BS_3D_FALL_TUMBLING = 0x3D, - BS_3E_ANT_OW = 0x3E, + BS_3D_FALL_TUMBLING, + BS_3E_ANT_OW, BS_3F, - //BS_PUMPKIN_unk40, - BS_41_DIE = 0x41, + BS_40_PUMPKIN_FLUSH, + BS_41_DIE, BS_42_DINGPOT, BS_43_ANT_DIE, BS_44_JIG_JIGGY, @@ -1935,7 +1935,7 @@ enum bs_e BS_7D_WALRUS_SLED, BS_7E_WALRUS_SLED, BS_7F_DIVE_OW = 0x7F, - //BS_7D_WALRUS_SLED_LOSE = 0x80, + BS_80_WALRUS_SLED_LOSE, BS_81_WALRUS_SLED_LOCKED = 0x81, BS_82_WALRUS_SLED_LOSE_IN_AIR, @@ -3898,10 +3898,18 @@ enum misc_flag_e{ MISC_FLAG_1_ON_FLIGHT_PAD = 0x1, MISC_FLAG_2_ON_SPRING_PAD, + MISC_FLAG_5_HAS_PECKED = 0x5, + MISC_FLAG_E_TOUCHING_WADING_BOOTS = 0xE, MISC_FLAG_10_TOUCHING_TURBO_TRAINERS = 0x10, + //0x12 has used flap + MISC_FLAG_12_HAS_FLAPPED = 0x12, + //0x13 in difficult terrain (mud) + MISC_FLAG_14_LOSE_BOGGY_RACE = 0x14, + //0x15 touching loadzone? + MISC_FLAG_1B_TRANSFORMING = 0x1B }; diff --git a/include/functions.h b/include/functions.h index ae488a54..61778f3f 100644 --- a/include/functions.h +++ b/include/functions.h @@ -17,6 +17,8 @@ #include "ml/mtx.h" #include "bs_funcs.h" +#include "bsint.h" + extern f32 fabsf(f32); #pragma intrinsic (fabsf) @@ -132,9 +134,9 @@ s32 bs_getPrevState(void); s32 bs_getState(void); s32 bs_getNextState(void); void bs_updateState(void); -s32 bs_checkInterrupt(s32 arg0); +s32 bs_checkInterrupt(enum bs_interrupt_e arg0); void func_8029A86C(s32 arg0); -s32 bs_getInterruptType(void); +enum bs_interrupt_e bs_getInterruptType(void); /* vla - variable length array*/ void vector_clear(VLA *this); diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg index 8fb52ced..bc4c6576 100644 --- a/progress/progress_core2.svg +++ b/progress/progress_core2.svg @@ -17,7 +17,7 @@ core2 - 79.6919% - 79.6919% + 79.7336% + 79.7336% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index e5339b2c..b36f55a5 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 83.3305% - 83.3305% + 83.3544% + 83.3544% \ No newline at end of file diff --git a/src/BGS/ch/mrvile.c b/src/BGS/ch/mrvile.c index fedc905d..db8c9883 100644 --- a/src/BGS/ch/mrvile.c +++ b/src/BGS/ch/mrvile.c @@ -81,7 +81,7 @@ void func_8038BB40(ActorMarker * arg0){ local = (ActorLocal_MrVile *)&this->local; if(func_8038A9E0(local->game_marker) >= 3){ item_set(ITEM_14_HEALTH, 0); - func_8028F66C(0xF); + func_8028F66C(BS_INTR_F); } else{ item_dec(ITEM_14_HEALTH); diff --git a/src/BGS/code_3420.c b/src/BGS/code_3420.c index e5945c62..ea6dd00e 100644 --- a/src/BGS/code_3420.c +++ b/src/BGS/code_3420.c @@ -378,9 +378,9 @@ void chvilegame_player_consume_piece(Actor *this) { timedFunc_set_1(0.5f, func_802FDCB8, 0x1A); timedFunc_set_1(1.0f, func_802FDCB8, 0x1A); } - func_8028F6B8(0x17, (i_ptr->type != YUMBLIE) ? 0x3F7 : 0x3F6); + func_8028F6B8(BS_INTR_17, (i_ptr->type != YUMBLIE) ? ASSET_3F7_MODEL_GRUMBLIE : ASSET_3F6_MODEL_YUMBLIE); if (!is_correct_type) { - func_8028F66C(0x18); + func_8028F66C(BS_INTR_18_CROC_ATE_WRONG); } func_8038B684(i_ptr->marker); return; diff --git a/src/CCW/code_3310.c b/src/CCW/code_3310.c index a3ed445b..26b84407 100644 --- a/src/CCW/code_3310.c +++ b/src/CCW/code_3310.c @@ -222,7 +222,7 @@ void func_80389BFC(Actor *this) { } if ((local->unk0->map_id != MAP_43_CCW_SPRING) && ((this->position[0] + 500.0f) < sp4C[0])) { func_8028F364(this->position, 1110.0f, 200.0f, ACTOR_2A2_CATERPILLAR, &this); - if ((local->unk0->unkE != 0) && (func_8028E8C0() == ACTOR_2A2_CATERPILLAR) && (ml_vec3f_distance(this->position, sp4C) < 1010.0f) && (func_8028FC34() != 0)) { + if ((local->unk0->unkE != 0) && (carriedObj_getActorId() == ACTOR_2A2_CATERPILLAR) && (ml_vec3f_distance(this->position, sp4C) < 1010.0f) && (func_8028FC34() != 0)) { func_8028FA54(D_8038FDE0); if ((local->unk0->map_id == MAP_44_CCW_SUMMER) && (local->unk4 == 0)) { func_80311480(0xCD8, 4, NULL, NULL, NULL, NULL); diff --git a/src/CCW/code_5540.c b/src/CCW/code_5540.c index 790fb676..fdac9959 100644 --- a/src/CCW/code_5540.c +++ b/src/CCW/code_5540.c @@ -143,7 +143,7 @@ void chnabnut_update(Actor *this) { } if (this->unk138_24 && !func_803114B0()) { func_8028F364(this->position, 500.0f, 200.0f, ACTOR_2A9_ACORN, &this); - if ((func_8028E8C0() == ACTOR_2A9_ACORN) && (ml_vec3f_distance(this->position, sp30) < 300.0f) && func_8028FC34()) { + if ((carriedObj_getActorId() == ACTOR_2A9_ACORN) && (ml_vec3f_distance(this->position, sp30) < 300.0f) && func_8028FC34()) { func_8028FA54(D_8038F350); local->returned_acorn_count++; if (local->returned_acorn_count == 6) { diff --git a/src/FP/code_0.c b/src/FP/code_0.c index 786f30a0..cdd28a6c 100644 --- a/src/FP/code_0.c +++ b/src/FP/code_0.c @@ -46,7 +46,7 @@ void func_803864F4(ActorMarker *this_marker, ActorMarker *other_marker){ if(this->state != 1) return; if(player_getTransformation() != TRANSFORM_1_BANJO) return; - if(func_8028F68C(0x27, this->marker)) + if(func_8028F68C(BS_INTR_27_BANJO_SLED, this->marker)) func_803863F0(this, 2); } diff --git a/src/FP/code_3E00.c b/src/FP/code_3E00.c index f98cba88..0ae08547 100644 --- a/src/FP/code_3E00.c +++ b/src/FP/code_3E00.c @@ -41,17 +41,17 @@ ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB f32 D_80391E74[3] = {-5.0f, 180.0f, 1.0f}; Struct_FP_3E00 D_80391E80[] ={ - {0x11, 0x1FD, 0x1ED, 0x1EE}, - {0x12, 0x1FE, 0x1EF, 0x1F0}, - {0x13, 0x1FF, 0x1F1, 0x1F2} + {0x11, MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, 0x1EE}, + {0x12, MARKER_1FE_GREEN_PRESENT_COLLECTABLE, ACTOR_1EF_GREEN_PRESENT_COLLECTABLE, 0x1F0}, + {0x13, MARKER_1FF_RED_PRESENT_COLLECTABLE, ACTOR_1F1_RED_PRESENT_COLLECTABLE, 0x1F2} }; /* .code */ -void func_8038A1F0(Actor **this_ptr, s32 arg1, enum actor_e actor_id, s32 arg3){ +void func_8038A1F0(Actor **this_ptr, enum marker_e carried_obj_marker_id, enum actor_e actor_id, enum actor_e arg3){ func_8028F31C((*this_ptr)->position, 600.0f, actor_id, this_ptr); if(!func_80329530(*this_ptr, 400)) return; - if(func_8028E88C() != arg1) return; + if(carriedObj_getMarkerId() != carried_obj_marker_id) return; if(!func_8028FC34()) return; func_8028FA34(arg3, *this_ptr); diff --git a/src/FP/code_4770.c b/src/FP/code_4770.c index fe5e40d9..5ae534e7 100644 --- a/src/FP/code_4770.c +++ b/src/FP/code_4770.c @@ -198,7 +198,7 @@ void func_8038B130(enum jiggy_e jiggy_id){ } void func_8038B190(void){ - func_8028F66C(0x2B); + func_8028F66C(BS_INTR_2B); mapSpecificFlags_set(4, FALSE); func_8028F918(0); } @@ -223,7 +223,7 @@ void func_8038B268(void){ timedFunc_set_0(0.0f, func_8038AEA0); timedFunc_set_0(0.0f, func_8038B0B8); func_8028FA14(map_get(), 0x11); - func_8028F66C(0x2A); + func_8028F66C(BS_INTR_2A); } void func_8038B2C8(ActorMarker *caller, enum asset_e text_id, s32 arg2){ @@ -252,7 +252,7 @@ void func_8038B2C8(ActorMarker *caller, enum asset_e text_id, s32 arg2){ case 0xc10: //8038B358 func_8038ABDC(); func_8028FA14(map_get(), 0x11); - func_8028F66C(0x2A); + func_8028F66C(BS_INTR_2A); timedFunc_set_0(0.0f, func_8038B1C4); break; }//L8038B38C diff --git a/src/FP/code_4D0.c b/src/FP/code_4D0.c index f31b5551..ae60c4ec 100644 --- a/src/FP/code_4D0.c +++ b/src/FP/code_4D0.c @@ -58,7 +58,7 @@ void func_803869FC(ActorMarker *this_marker, ActorMarker *other_marker){ if( this->position_y + 20.0f < plyr_pos[1] && func_8028F20C() && player_getTransformation() == TRANSFORM_4_WALRUS - && func_8028F68C(0x29, this->marker) + && func_8028F68C(BS_INTR_27_WALRUS_SLED, this->marker) ){ func_80386920(this, 3); //start_race } diff --git a/src/GV/code_7FF0.c b/src/GV/code_7FF0.c index ce83fcb1..74082cc3 100644 --- a/src/GV/code_7FF0.c +++ b/src/GV/code_7FF0.c @@ -191,7 +191,7 @@ void func_8038E4DC(Actor *this){ } if(!this->unk16C_4){ this->unk16C_4 = TRUE; - if(func_803348CC() == 3){ + if(exit_get() == 3){ if(0.65 < this->unk48 && this->unk48 < 0.95){ func_80343E20(0x6a, 0x7ff8, 0.32842f, 0x34); } @@ -291,7 +291,7 @@ void func_8038E97C(Actor *this){ if(!this->unk16C_4){ this->unk16C_4 = TRUE; - if(func_803348CC() == 7){ + if(exit_get() == 7){ this->position_z += 117.0; this->position_y += 130.0; this->unk38_31 = 30; diff --git a/src/GV/code_9130.c b/src/GV/code_9130.c index a848d59f..3db2e63f 100644 --- a/src/GV/code_9130.c +++ b/src/GV/code_9130.c @@ -117,7 +117,7 @@ void __chmazectrl_setState(Actor *this, s32 next_state){ FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 0.6f, 32750); FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 32725); func_8030E6D4(SFX_7F_HEAVYDOOR_SLAM); - func_8028F66C(0x26); + func_8028F66C(BS_INTR_26); } if(next_state == 6){ diff --git a/src/GV/code_9DB0.c b/src/GV/code_9DB0.c index 8ea912f8..8c0005ae 100644 --- a/src/GV/code_9DB0.c +++ b/src/GV/code_9DB0.c @@ -85,7 +85,7 @@ void func_80390270(s32 next_state){ func_803204E4(5, 0); } else{ - func_8028F66C(0xf); + func_8028F66C(BS_INTR_F); } } @@ -199,7 +199,7 @@ void func_803904A8(void){ player_getPosition(sp38); sp48 = func_8033F3E8(func_80309744(0), sp38, 0x190, 0x1a0); if(sp48 == D_80391AE0.tile1_0->unk0 || sp48 == D_80391AE0.tile2_4->unk0){ - func_8028F66C(0x14); + func_8028F66C(BS_INTR_14); } D_80391AE0.tile1_0 = D_80391AE0.tile2_4 = NULL; } diff --git a/src/MM/ch/lmonkey.c b/src/MM/ch/lmonkey.c index ff7684b2..12617ffd 100644 --- a/src/MM/ch/lmonkey.c +++ b/src/MM/ch/lmonkey.c @@ -33,7 +33,7 @@ ActorInfo chlmonkeyInfo = { MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHI void func_80388300(Actor **arg0){ func_8028F31C((*arg0)->position, 800.0f, ACTOR_29_ORANGE_COLLECTABLE, arg0); if( func_80329530(*arg0, 0x159) - && func_8028E88C() == 0x36 + && carriedObj_getMarkerId() == MARKER_36_ORANGE_COLLECTABLE && func_8028FC34() ){ func_8028FA34(0xc6, *arg0); diff --git a/src/MMM/ch/loggo.c b/src/MMM/ch/loggo.c index 04473b51..1c30df97 100644 --- a/src/MMM/ch/loggo.c +++ b/src/MMM/ch/loggo.c @@ -109,7 +109,7 @@ void chLoggo_update(Actor *this){ FUNC_8030E8B4(SFX_92_TOILET_FLUSH, 1.0f, 32000, this->position, 600, 1500); levelSpecificFlags_set(0x33, TRUE); ml_vec3f_assign(sp38, this->position_x - 50.0f, this->position_y + 50.0f, this->position_z); - func_8028F6E4(0x2F, sp38); + func_8028F6E4(BS_INTR_2F_LOGGO, sp38); } if(0.0 < this->unk60){ diff --git a/src/MMM/code_3D50.c b/src/MMM/code_3D50.c index fe8c81cd..d544be36 100644 --- a/src/MMM/code_3D50.c +++ b/src/MMM/code_3D50.c @@ -89,7 +89,7 @@ void func_8038A140(UNK_TYPE(s32) arg0) { mapSpecificFlags_set(4, 1); } if (arg0 == 4) { - func_8028F66C(0xF); + func_8028F66C(BS_INTR_F); } D_8038C510.unk8 = arg0; } diff --git a/src/MMM/code_47D0.c b/src/MMM/code_47D0.c index 8d638f12..bb8e3146 100644 --- a/src/MMM/code_47D0.c +++ b/src/MMM/code_47D0.c @@ -125,7 +125,7 @@ void func_8038AF90(Struct_MMM_47D0_0 *arg0, Struct68s *arg1, f32 arg2) { func_8024E71C(0, sp40); sp3C = func_8038AD4C(arg0, arg1); if (sp3C) { - func_8028F66C(0xD); + func_8028F66C(BS_INTR_D_SURF); } if (sp3C && ((sp40[0] != 0.0f) || (sp40[1] != 0.0f))) { func_8024C764(sp70); diff --git a/src/TTC/code_10A0.c b/src/TTC/code_10A0.c index 434f22e9..f31f9e8a 100644 --- a/src/TTC/code_10A0.c +++ b/src/TTC/code_10A0.c @@ -106,7 +106,7 @@ void func_80387774(Actor **this_ptr){ func_8028F364(local->throw_target_position, local->throw_target_radius, 100.0f, ACTOR_2A_GOLD_BULLION, this_ptr); if( func_80329530(*this_ptr, 200) - && func_8028E88C() == 0x37 + && carriedObj_getMarkerId() == MARKER_37_GOLD_BULLION && func_8028FC34() ){ func_8028FA34(!mapSpecificFlags_get(0)? 0x149 : 0x14a, *this_ptr); diff --git a/src/TTC/code_3E30.c b/src/TTC/code_3E30.c index ca7d486f..b7680019 100644 --- a/src/TTC/code_3E30.c +++ b/src/TTC/code_3E30.c @@ -461,7 +461,7 @@ void func_8038B2F0(void) { func_803204E4(3, FALSE); func_803204E4(5, FALSE); } else { - func_8028F66C(0xF); + func_8028F66C(BS_INTR_F); } } if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) { diff --git a/src/core2/bs/bFlap.c b/src/core2/bs/bFlap.c index ac810dec..c5f722a2 100644 --- a/src/core2/bs/bFlap.c +++ b/src/core2/bs/bFlap.c @@ -29,7 +29,7 @@ void bsbflap_init(void) { player_setYVelocity(0.0f); gravity_set(D_80364A14); func_8029E070(1); - miscflag_set(0x12); + miscflag_set(MISC_FLAG_12_HAS_FLAPPED); func_8029E3C0(0, 2.5f); D_8037D30C = func_8030D90C(); func_80299BD4(); diff --git a/src/core2/bs/bFly.c b/src/core2/bs/bFly.c index f694ee4d..ae8c5803 100644 --- a/src/core2/bs/bFly.c +++ b/src/core2/bs/bFly.c @@ -779,7 +779,7 @@ void func_802A503C(void){ } void func_802A505C(void){ - if(bs_getInterruptType() == 9){ + if(bs_getInterruptType() == BS_INTR_9){ func_8029A86C(2); miscflag_set(7); func_8029CCC4(); diff --git a/src/core2/bs/bPeck.c b/src/core2/bs/bPeck.c index da78adb0..020e4d58 100644 --- a/src/core2/bs/bPeck.c +++ b/src/core2/bs/bPeck.c @@ -63,7 +63,7 @@ void func_802A664C(void){ sp1C = 1.32f; break; } - miscflag_set(5); + miscflag_set(MISC_FLAG_5_HAS_PECKED); func_8030E58C(SFX_42_KAZOOIE_RAH, sp1C); player_setYVelocity(D_80364A64); D_8037D375++; diff --git a/src/core2/bs/bSwim.c b/src/core2/bs/bSwim.c index bd637a30..dd683575 100644 --- a/src/core2/bs/bSwim.c +++ b/src/core2/bs/bSwim.c @@ -66,7 +66,7 @@ bool func_802A73BC(void) { } void func_802A744C(void) { - if (func_8028B148() && bs_getState() != BS_4C_LANDING_IN_WATER) { + if (player_isInRBB() && bs_getState() != BS_4C_LANDING_IN_WATER) { func_8035644C(0xAC); } roll_setAngularVelocity(30.0f, 0.9f); diff --git a/src/core2/bs/bTrot.c b/src/core2/bs/bTrot.c index b6cd4773..be8a65af 100644 --- a/src/core2/bs/bTrot.c +++ b/src/core2/bs/bTrot.c @@ -118,7 +118,7 @@ void func_802A8AD8(void){ if(func_802916CC(3)){ if(func_8029DFE0()){ func_8029E0DC(0); - if(miscflag_isFalse(0x14)) + if(miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE)) func_8030E484(0x3eb); func_803219F4(1); } diff --git a/src/core2/bs/carry.c b/src/core2/bs/carry.c index 24b892bb..6ba2ada5 100644 --- a/src/core2/bs/carry.c +++ b/src/core2/bs/carry.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "bsint.h" /* .data */ const f32 D_80364AF0 = 30.0f; @@ -43,7 +44,7 @@ void bscarry_idle_update(void){ if(func_8029B300() > 0) sp1C = BS_CARRY_WALK; - if(func_802948EC() == 0) + if(carriedobj_getMarker() == NULL) sp1C = BS_1_IDLE; bs_setState(sp1C); @@ -72,7 +73,7 @@ void bscarry_walk_update(void){ if(func_8029B300() == 0 && func_80297C04(1.0f)) sp1C = BS_3A_CARRY_IDLE; - if(!func_802948EC()) + if(carriedobj_getMarker() == NULL) sp1C = BS_1_IDLE; bs_setState(sp1C); @@ -94,12 +95,12 @@ void bscarry_interrupt(void){ break; case 8: func_8029A86C(2); - bs_setState(0x3C); + bs_setState(BS_3C); break; case 0x12: func_8028DE6C(carriedObject_getActorID()); break; - case 0x16: + case BS_INTR_16_THROW_CARRIED_OBJ: if(func_802916CC(1)){ bs_setState(BS_CARRY_THROW); func_8029A86C(2); diff --git a/src/core2/bs/climb.c b/src/core2/bs/climb.c index b4d732cd..78f5dec5 100644 --- a/src/core2/bs/climb.c +++ b/src/core2/bs/climb.c @@ -213,7 +213,7 @@ void func_802ABD40(void){ //bsclimb_interrupt void func_802ABD60(void){ s32 next_state = 0; - if(bs_getInterruptType() == 0xC){ + if(bs_getInterruptType() == BS_INTR_C_CLIMB){ D_8037D3D8 = TRUE; } else{ diff --git a/src/core2/bs/jig.c b/src/core2/bs/jig.c index 7f11e4c3..5902a7c2 100644 --- a/src/core2/bs/jig.c +++ b/src/core2/bs/jig.c @@ -6,7 +6,7 @@ u8 D_8037D4B0; u8 D_8037D4B1; u8 D_8037D4B2; -ActorMarker *D_8037D4B4; +ActorMarker *bsjig_gJiggyMarker; /* .code */ int bsjig_inJiggyJig(enum bs_e state){ @@ -14,7 +14,7 @@ int bsjig_inJiggyJig(enum bs_e state){ } void bsjig_setJiggyMarkerPtr(ActorMarker * jiggyMarkerPtr){ - D_8037D4B4 = jiggyMarkerPtr; + bsjig_gJiggyMarker = jiggyMarkerPtr; } void bsjig_jiggy_init(void){ @@ -43,13 +43,13 @@ void bsjig_jiggy_init(void){ miscflag_clear(7); miscflag_clear(0xf); func_8028D5DC(); - func_802C82C0(marker_getActor(D_8037D4B4), 1); + func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 1); D_8037D4B0 = 0; } void func_802B0BA8(void){ - if(D_8037D4B4){ - func_802C82C0(marker_getActor(D_8037D4B4), 4); + if(bsjig_gJiggyMarker){ + func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 4); } } @@ -83,9 +83,9 @@ void bsjig_jiggy_update(void){ } void func_802B0CD8(void){ - if(D_8037D4B4){ - func_802C82C0(marker_getActor(D_8037D4B4), 5); - D_8037D4B4 = NULL; + if(bsjig_gJiggyMarker){ + func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 5); + bsjig_gJiggyMarker = NULL; } } @@ -94,7 +94,7 @@ void bsjig_jiggy_end(void){ s32 sp28 = 4; int sp24; sp2C = 0; - sp24 = marker_getActor(D_8037D4B4)->unk38_31; + sp24 = marker_getActor(bsjig_gJiggyMarker)->unk38_31; if(D_8037D4B0 == 0) item_inc(ITEM_E_JIGGY); @@ -139,7 +139,7 @@ void bsjig_jiggy_end(void){ } void bsjig_jiggy_interrupt(void){ - if(bs_getInterruptType() == 0x26) + if(bs_getInterruptType() == BS_INTR_26) func_80296608(); } diff --git a/src/core2/bs/jump.c b/src/core2/bs/jump.c index bc2fe9ff..e315ff2e 100644 --- a/src/core2/bs/jump.c +++ b/src/core2/bs/jump.c @@ -95,7 +95,7 @@ void bsjump_update(void){ } _get_velocity(&velocity); - if((button_released(BUTTON_A) && 0.0f < velocity[1] && !D_8037D4C2) || !func_8028AB48()){ + if((button_released(BUTTON_A) && 0.0f < velocity[1] && !D_8037D4C2) || !can_control_jump_height()){ gravity_reset(); } @@ -216,7 +216,7 @@ void bsjump_fall_update(void){ if(func_8028B424()) sp2C = BS_3D_FALL_TUMBLING; - if(should_flap() && miscflag_isFalse(5)) + if(should_flap() && miscflag_isFalse(MISC_FLAG_5_HAS_PECKED)) sp2C = BS_BFLAP; if(should_peck()) @@ -230,7 +230,7 @@ void bsjump_fall_update(void){ } else if(player_inWater()){ func_8029CCC4(); - if(miscflag_isTrue(6) || miscflag_isTrue(0x14)){ + if(miscflag_isTrue(6) || miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)){ sp2C = BS_D_TIMEOUT; } diff --git a/src/core2/bs/rest.c b/src/core2/bs/rest.c index 2b91c83a..f66d4717 100644 --- a/src/core2/bs/rest.c +++ b/src/core2/bs/rest.c @@ -159,7 +159,7 @@ void func_802B3E64(void) { if (func_802B3BB0()) { next_state = bs_getIdleState(); } - if (map_get() == MAP_27_FP_FREEZEEZY_PEAK && miscflag_isTrue(0x14)) { + if (map_get() == MAP_27_FP_FREEZEEZY_PEAK && miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { next_state = func_8029CA94(next_state); } bs_setState(next_state); diff --git a/src/core2/bs/sled.c b/src/core2/bs/sled.c index 31b41b5f..2734b743 100644 --- a/src/core2/bs/sled.c +++ b/src/core2/bs/sled.c @@ -2,23 +2,23 @@ #include "functions.h" #include "variables.h" -ActorMarker *D_8037D510; +ActorMarker *bssled_gSledMarker; /* .code */ void func_802B3F20(void){ - Actor *actor; + Actor *sled; - D_8037D510 = func_80296554(); - actor = marker_getActor(D_8037D510); - actor->unk138_20 = TRUE; + bssled_gSledMarker = func_80296554(); + sled = marker_getActor(bssled_gSledMarker); + sled->unk138_20 = TRUE; } void func_802B3F60(void){ - Actor *actor; - if(D_8037D510 != NULL){ - actor = marker_getActor(D_8037D510); - actor->unk138_20 = FALSE; - D_8037D510 = NULL; + Actor *sled; + if(bssled_gSledMarker != NULL){ + sled = marker_getActor(bssled_gSledMarker); + sled->unk138_20 = FALSE; + bssled_gSledMarker = NULL; } } @@ -33,7 +33,7 @@ void bssled_init(void){ void bssled_update(void){ s32 state = 0; - if(D_8037D510 == NULL) + if(bssled_gSledMarker == NULL) state = BS_2F_FALL; bs_setState(state); } @@ -47,7 +47,7 @@ void bssled_end(void){ } void bssled_interrupt(void){ - if(bs_getInterruptType() == 0x28){ + if(bs_getInterruptType() == BS_INTR_28){ func_802B3F60(); func_8029A86C(2); } diff --git a/src/core2/bs/stand.c b/src/core2/bs/stand.c index a8bdc867..8b584592 100644 --- a/src/core2/bs/stand.c +++ b/src/core2/bs/stand.c @@ -308,7 +308,7 @@ void bsstand_landing_update(void){ ///BREAK??? void func_802B5350(void){ s32 sp1C = bs_getInterruptType(); - if(sp1C == 0xd){ + if(sp1C == BS_INTR_D_SURF){ bs_setState(0x52); } if(sp1C == 0x7){ @@ -328,7 +328,7 @@ void func_802B5350(void){ } else if(sp1C == 0x8){//L802B5438 func_8029A86C(2); - bs_setState(0x3C); + bs_setState(BS_3C); }else{ func_802948E0(); func_80296608(); diff --git a/src/core2/bs/surf.c b/src/core2/bs/surf.c index f6668f56..a3cb13db 100644 --- a/src/core2/bs/surf.c +++ b/src/core2/bs/surf.c @@ -40,7 +40,7 @@ void func_802B6064(void) { void func_802B60D0(void){} void func_802B60D8(void) { - if (bs_getInterruptType() == 0xD) { + if (bs_getInterruptType() == BS_INTR_D_SURF) { D_8037D560 = 1; func_8029A86C(2); return; diff --git a/src/core2/bs/swim.c b/src/core2/bs/swim.c index b7265c4f..a0f0dbad 100644 --- a/src/core2/bs/swim.c +++ b/src/core2/bs/swim.c @@ -176,7 +176,7 @@ void func_802B5950(void) { if (func_80294524() && button_pressed(BUTTON_A)) { next_state = BS_5_JUMP; } - if (miscflag_isTrue(6) || miscflag_isTrue(0x14)) { + if (miscflag_isTrue(6) || miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { next_state = BS_D_TIMEOUT; } bs_setState(next_state); @@ -253,7 +253,7 @@ void func_802B5C40(void) { if (func_80294524() && button_pressed(BUTTON_A)) { next_state = BS_5_JUMP; } - if (miscflag_isTrue(6) || miscflag_isTrue(0x14)) { + if (miscflag_isTrue(6) || miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { next_state = BS_D_TIMEOUT; } bs_setState(next_state); diff --git a/src/core2/bs/throw.c b/src/core2/bs/throw.c index 0c22182a..925b79f2 100644 --- a/src/core2/bs/throw.c +++ b/src/core2/bs/throw.c @@ -30,7 +30,7 @@ void bsthrow_update(void){ f32 sp34[3]; f32 sp28[3]; f32 sp24; - ActorMarker *sp20 = func_802948EC(); + ActorMarker *sp20 = carriedobj_getMarker(); if(D_8037D580 == 0 && sp20 != NULL) func_802948F8(sp20); @@ -60,7 +60,7 @@ void bsthrow_end(void){ } void bsthrow_interrupt(void){ - if(bs_getInterruptType() == 0x12){ + if(bs_getInterruptType() == BS_INTR_12){ if(D_8037D580 == 0){ func_8028DE6C(carriedObject_getActorID()); } diff --git a/src/core2/bs/walrus.c b/src/core2/bs/walrus.c index 18284f0e..3aaeb955 100644 --- a/src/core2/bs/walrus.c +++ b/src/core2/bs/walrus.c @@ -5,7 +5,7 @@ extern void func_8029AD68(f32, s32); extern f32 ml_vec3f_dot_product(f32[3], f32[3]); -int func_802B81F0(enum bs_e state); +int bswalrus_inSet(enum bs_e state); /* .data */ f32 D_80364DC0 = 30.0f; @@ -87,7 +87,7 @@ void func_802B7F28(void) { } void func_802B8048(void){ - if(!func_802B81F0(bs_getNextState())){ + if(!bswalrus_inSet(bs_getNextState())){ pitch_setIdeal(0.0f); roll_setIdeal(0.0f); func_8029B0C0(); @@ -101,7 +101,7 @@ void func_802B8048(void){ } void func_802B80D0(void) { - if (func_802B8190(bs_getNextState()) == 0) { + if (bswalrus_inSledSet(bs_getNextState()) == 0) { func_802B8048(); func_8029E0E8(0); } @@ -112,14 +112,14 @@ void func_802B8110(void){ } void func_802B813C(void) { - if (func_802B8190(bs_getPrevState()) == 0) { + if (!bswalrus_inSledSet(bs_getPrevState())) { D_8037D5C0 = 0.0f; func_8029E0E8(1); func_8029CF48(4, 1, 0.15f); } } -int func_802B8190(enum bs_e state){ +int bswalrus_inSledSet(enum bs_e state){ return state == 0x81 || state == BS_7D_WALRUS_SLED || state == BS_7E_WALRUS_SLED @@ -128,7 +128,7 @@ int func_802B8190(enum bs_e state){ || state == BS_9C_WALRUS_SLED_DRONE; } -int func_802B81F0(enum bs_e state){ +int bswalrus_inSet(enum bs_e state){ return state == BS_67_WALRUS_IDLE || state == BS_WALRUS_WALK || state == BS_WALRUS_JUMP @@ -136,7 +136,7 @@ int func_802B81F0(enum bs_e state){ || state == BS_WALRUS_OW || state == BS_WALRUS_DIE || state == BS_95_WALRUS_DRONE - || func_802B8190(state); + || bswalrus_inSledSet(state); } void bswalrus_idle_init(void){ @@ -754,7 +754,7 @@ void func_802B9880(void) { } void func_802B98C0(void) { - if (bs_getInterruptType() == 0x2B) { + if (bs_getInterruptType() == BS_INTR_2B) { func_8029A86C(2); bs_setState(BS_67_WALRUS_IDLE); return; diff --git a/src/core2/bsList.c b/src/core2/bsList.c index a91b677b..94103f61 100644 --- a/src/core2/bsList.c +++ b/src/core2/bsList.c @@ -24,30 +24,30 @@ void bsList_setInitMethod(enum bs_e i, bsStateMethod func){ D_8037C700[i].init_func = func; } -void bsList_setUpdateMethod(s32 i, bsStateMethod func){ +void bsList_setUpdateMethod(enum bs_e i, bsStateMethod func){ D_8037C700[i].update_func = func; } -void bsList_setEndMethod(s32 i, bsStateMethod func){ +void bsList_setEndMethod(enum bs_e i, bsStateMethod func){ D_8037C700[i].end_func = func; } -void bsList_setInterruptMethod(s32 i, bsStateMethod func){ +void bsList_setInterruptMethod(enum bs_e i, bsStateMethod func){ D_8037C700[i].interrupt_func = func; } -bsStateMethod bsList_getInitMethod(s32 i){ +bsStateMethod bsList_getInitMethod(enum bs_e i){ return D_8037C700[i].init_func; } -bsStateMethod bsList_getUpdateMethod(s32 i){ +bsStateMethod bsList_getUpdateMethod(enum bs_e i){ return D_8037C700[i].update_func; } -bsStateMethod bsList_getEndMethod(s32 i){ +bsStateMethod bsList_getEndMethod(enum bs_e i){ return D_8037C700[i].end_func; } -bsStateMethod bsList_getInterruptMethod(s32 i){ +bsStateMethod bsList_getInterruptMethod(enum bs_e i){ return D_8037C700[i].interrupt_func; } diff --git a/src/core2/code_11460.c b/src/core2/code_11460.c index f945cbf8..515e38be 100644 --- a/src/core2/code_11460.c +++ b/src/core2/code_11460.c @@ -4,8 +4,8 @@ /* .bss */ f32 player_position[3]; -f32 D_8037C5B0[3]; -f32 D_8037C5C0[3]; +f32 D_8037C5B0[3]; //player_ideal position? +f32 D_8037C5C0[3]; //player_position_offset /* .code */ void func_802983F0(void){ diff --git a/src/core2/code_11870.c b/src/core2/code_11870.c index 732b5ee9..1c985061 100644 --- a/src/core2/code_11870.c +++ b/src/core2/code_11870.c @@ -54,19 +54,19 @@ void func_80298970(s32 arg0){ int val = 0; switch(arg0){ case 1: - if(bs_checkInterrupt(0x1E) == 2) + if(bs_checkInterrupt(BS_INTR_1E) == 2) val = 1; break; case 2: - if(bs_checkInterrupt(0x1C) == 2) + if(bs_checkInterrupt(BS_INTR_1C) == 2) val = 1; break; case 3: - if(bs_checkInterrupt(0x1D) == 2) + if(bs_checkInterrupt(BS_INTR_1D) == 2) val = 1; break; case 4: - if(bs_checkInterrupt(0x25) == 2) + if(bs_checkInterrupt(BS_INTR_25) == 2) val = 1; break; default: diff --git a/src/core2/code_13780.c b/src/core2/code_13780.c index 46ae681b..fb8c2f63 100644 --- a/src/core2/code_13780.c +++ b/src/core2/code_13780.c @@ -51,7 +51,7 @@ void bs_updateState(void){ bsList_getUpdateMethod(D_8037D164)(); } -s32 bs_checkInterrupt(s32 arg0){ +s32 bs_checkInterrupt(enum bs_interrupt_e arg0){ D_8037D16C = arg0; D_8037D170 = 0; if(bsList_getInterruptMethod(D_8037D164) != NULL) @@ -63,6 +63,6 @@ void func_8029A86C(s32 arg0){ D_8037D170 = arg0; } -s32 bs_getInterruptType(void){ +enum bs_interrupt_e bs_getInterruptType(void){ return D_8037D16C; } diff --git a/src/core2/code_14420.c b/src/core2/code_14420.c index 82d02215..6e4b699d 100644 --- a/src/core2/code_14420.c +++ b/src/core2/code_14420.c @@ -178,8 +178,8 @@ Struct_core2_13FC0 D_803648F0[14] = { // extern struct { // s32 map_id; // s32 exit_id; -// }D_8037D1E0; -s32 D_8037D1E0[2]; +// }gVoidOutReturnLocation; +s32 gVoidOutReturnLocation[2]; u8 D_8037D1E8; /* .code */ @@ -219,7 +219,7 @@ enum bs_e func_8029B458(void){ return BS_61_CROC_FALL; case TRANSFORM_4_WALRUS: - if(func_802B8190(sp1C)) + if(bswalrus_inSledSet(sp1C)) return BS_82_WALRUS_SLED_LOSE_IN_AIR; return BS_6A_WALRUS_FALL; @@ -287,7 +287,7 @@ void func_8029B62C(void){ } } else{ - func_802E4048(D_8037D1E0[0], D_8037D1E0[1], 1); + func_802E4048(gVoidOutReturnLocation[0], gVoidOutReturnLocation[1], 1); } } @@ -296,7 +296,7 @@ void func_8029B6F0(void){ func_8029B62C(); } else{ - func_802E4078(D_8037D1E0[0], D_8037D1E0[1], 1); + func_802E4078(gVoidOutReturnLocation[0], gVoidOutReturnLocation[1], 1); } } @@ -422,7 +422,7 @@ enum bs_14420_e func_8029BAF0(void){ return BS14420_2_CROC; case TRANSFORM_4_WALRUS://L8029BB44 - if (func_802B8190(state_id)) { + if (bswalrus_inSledSet(state_id)) { return BS14420_A_WALRUS_SLED; } return BS14420_3_WALRUS; @@ -695,21 +695,21 @@ void func_8029C5E8(void){ func_8029AE1C(); } -void func_8029C608(void) { +void update_void_return_Location(void) { enum level_e level_id; - enum map_e sp18; - s32 phi_v0; + enum map_e map_id; + s32 exit_id; level_id = level_get(); if ((level_id == 0) || (level_id == LEVEL_6_LAIR)) { - sp18 = map_get(); - phi_v0 = func_803348CC(); + map_id = map_get(); + exit_id = exit_get(); } else { - sp18 = func_8030ADD8(level_id); - phi_v0 = func_8030AE24(level_id); + map_id = level_get_main_map(level_id); + exit_id = level_get_main_exit(level_id); } - D_8037D1E0[1] = phi_v0; - D_8037D1E0[0] = sp18; + gVoidOutReturnLocation[1] = exit_id; + gVoidOutReturnLocation[0] = map_id; } void func_8029C674(void) { @@ -769,8 +769,8 @@ void func_8029C7F4(s32 arg0, s32 arg1, s32 arg2, s32 arg3){ } void func_8029C834(enum map_e map_id, s32 exit_id){ - D_8037D1E0[0] = map_id; - D_8037D1E0[1] = exit_id; + gVoidOutReturnLocation[0] = map_id; + gVoidOutReturnLocation[1] = exit_id; } void func_8029C848(AnimCtrl *arg0) { @@ -862,8 +862,8 @@ s32 func_8029CA94(s32 arg0){ if(miscflag_isTrue(0x7)) arg0 = BS_44_JIG_JIGGY; - if(miscflag_isTrue(0x14)) - arg0 = (player_getTransformation() == TRANSFORM_4_WALRUS) ? 0x80 : 0x53; + if(miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) + arg0 = (player_getTransformation() == TRANSFORM_4_WALRUS) ? BS_80_WALRUS_SLED_LOSE : BS_53_TIMEOUT; miscflag_clear(0xF); @@ -905,7 +905,7 @@ void func_8029CCC4(void){ if(miscflag_isFalse(7)) return; if( miscflag_isTrue(0xF) && miscflag_isFalse(6) - && miscflag_isFalse(20) + && miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE) ){ miscflag_clear(0xF); } diff --git a/src/core2/code_16010.c b/src/core2/code_16010.c index 2fb9f5db..1eebae44 100644 --- a/src/core2/code_16010.c +++ b/src/core2/code_16010.c @@ -67,6 +67,7 @@ void func_8029D194(void) { D_8037D224 = 0.0f; } +/* plays ground damage sound effect */ void func_8029D230(void) { switch (map_get()) { case MAP_12_GV_GOBIS_VALLEY: //L8029D2C0 @@ -263,7 +264,7 @@ void func_8029D968(void){ func_8029E1A8(4); if(sp24){ if(map_get() == MAP_8E_GL_FURNACE_FUN){ - if(bs_checkInterrupt(0x13)){ + if(bs_checkInterrupt(BS_INTR_13)){ func_8029D230(); } } @@ -276,7 +277,7 @@ void func_8029D968(void){ func_80250D94(1.0f, 0.5f, 0.4f); } if(item_empty(ITEM_14_HEALTH)){ - bs_checkInterrupt(0x13); + bs_checkInterrupt(BS_INTR_13); } }//L8029DAD0 diff --git a/src/core2/code_3480.c b/src/core2/code_3480.c index b0dfb297..e78ac1c6 100644 --- a/src/core2/code_3480.c +++ b/src/core2/code_3480.c @@ -18,7 +18,7 @@ s32 D_8037BF50; /* .code */ //snacker_clearState -void func_8028A410(void){ +void snacker_reset(void){ D_8037BF50 = 0; } diff --git a/src/core2/code_39D0.c b/src/core2/code_39D0.c index 7095bf84..2c482093 100644 --- a/src/core2/code_39D0.c +++ b/src/core2/code_39D0.c @@ -26,7 +26,7 @@ s32 can_beak_bust(void){ return ability_hasLearned(ABILITY_2_BEAK_BUSTER); } -s32 func_8028A9C0(void){ +s32 can_control_camera(void){ return ability_hasLearned(ABILITY_3_CAMERA_CONTROL); } @@ -34,7 +34,7 @@ s32 can_claw(void){ return ability_hasLearned(ABILITY_4_BEAR_PUNCH); } -s32 func_8028AA00(void){ +s32 can_climb(void){ return ability_hasLearned(ABILITY_5_CLIMB); } @@ -49,8 +49,8 @@ s32 can_egg(void){ } int can_flap(void){ - return miscflag_isFalse(0x12) - && miscflag_isFalse(0x5) + return miscflag_isFalse(MISC_FLAG_12_HAS_FLAPPED) + && miscflag_isFalse(MISC_FLAG_5_HAS_PECKED) && ability_hasLearned(ABILITY_7_FLAP); } @@ -58,22 +58,22 @@ s32 can_flip(void){ return ability_hasLearned(ABILITY_8_FLIP); } -s32 func_8028AB28(void){ +s32 can_fly(void){ return ability_hasLearned(ABILITY_9_FLY); } -s32 func_8028AB48(void){ +s32 can_control_jump_height(void){ return ability_hasLearned(ABILITY_A_HOLD_A_JUMP_HIGHER); } int can_peck(void){ - return miscflag_isFalse(0x5) - && miscflag_isFalse(0x12) + return miscflag_isFalse(MISC_FLAG_5_HAS_PECKED) + && miscflag_isFalse(MISC_FLAG_12_HAS_FLAPPED) && ability_hasLearned(ABILITY_B_RATATAT_RAP); } int func_8028ABB8(void){ - if(miscflag_isTrue(0x14) || miscflag_isTrue(0x19)) + if(miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE) || miscflag_isTrue(0x19)) return 0; if(bs_getState() == BS_56_RECOIL) return 0; @@ -84,11 +84,11 @@ s32 can_roll(void){ return ability_hasLearned(ABILITY_C_ROLL); } -s32 func_8028AC38(void){ +s32 can_shock_jump(void){ return ability_hasLearned(ABILITY_D_SHOCK_JUMP); } -s32 func_8028AC58(void){ +s32 can_use_wading_boots(void){ return ability_hasLearned(ABILITY_E_WADING_BOOTS); } @@ -185,7 +185,7 @@ int func_8028B128(void){ return miscflag_isTrue(0x13); } -int func_8028B148(void){ +bool player_isInRBB(void){ return level_get() == LEVEL_9_RUSTY_BUCKET_BAY; } diff --git a/src/core2/code_47C0.c b/src/core2/code_47C0.c index 7ea210fc..2d5ad13b 100644 --- a/src/core2/code_47C0.c +++ b/src/core2/code_47C0.c @@ -21,7 +21,7 @@ extern void func_8035646C(s32 arg0); extern void func_80291634(ActorMarker *, ActorMarker *); extern void func_80291610(ActorMarker *, ActorMarker *); extern void func_80291AAC(void); -extern void func_8028D7B8(s32 arg0, ActorMarker *arg1, s32 arg2); +extern void func_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags); extern void func_802EE6CC(f32[3], s32, s32[4], s32, f32, f32, s32,s32,s32); extern void func_80320ED8(ActorMarker *, f32, s32); @@ -145,7 +145,7 @@ void func_8028B904(s32 arg0, s32 arg1, s32 arg2, s32 arg3){ func_8029CDA0(); } else{ - if(bs_checkInterrupt(9) == 1){ + if(bs_checkInterrupt(BS_INTR_9) == 1){ func_8029CDA0(); } @@ -746,7 +746,7 @@ void func_8028BCA0(Prop *prop){ miscflag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS); func_802A6388(chwadingboots_802D6E4C(actor)); - bs_checkInterrupt(0x1B); + bs_checkInterrupt(BS_INTR_1B); func_802C3F04(func_802C418C, 0x4E, reinterpret_cast(u32, prop->actorProp.x), reinterpret_cast(u32, prop->actorProp.y), reinterpret_cast(u32, prop->actorProp.z)); chwadingboots_802D6E54(actor); break; @@ -770,7 +770,7 @@ void func_8028BCA0(Prop *prop){ miscflag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS); func_80294AE8(chtrainers_802CA748(actor)); - bs_checkInterrupt(0x1A); + bs_checkInterrupt(BS_INTR_1A); func_802C3F04(func_802C418C, 0x4E, reinterpret_cast(u32, prop->actorProp.x), reinterpret_cast(u32, prop->actorProp.y), reinterpret_cast(u32, prop->actorProp.z)); chtrainers_802CA750(actor); break; @@ -1008,32 +1008,32 @@ void func_8028D71C(void){ } -void func_8028D7B8(s32 arg0, ActorMarker *arg1, s32 arg2){ +void func_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags){ s32 sp24; - s32 sp20 = func_8033D594(arg2); + s32 sp20 = func_8033D594(collision_flags); s32 sp1C = 0; - Actor *ideal_yaw = marker_getActor(arg1); + Actor *actor = marker_getActor(arg1); s32 tmp_v0; - if(func_8033D5A4(arg2)) + if(func_8033D5A4(collision_flags)) miscflag_set(8); if((func_80297C6C() != 3 && func_8028F1E0()) || !sp20){ if(!func_8028F25C()){ - sp24 = func_8033D564(arg2); + sp24 = func_8033D564(collision_flags); if(0 < sp24 && sp24 < 6){ sp1C = 2; sp20 = MAX(0, sp20 - 1); }//L8028D884 if(6 < sp24 && sp24 < 0xC){ - if(!(1 < func_8033D5A4(arg2)) || (func_8033D574(arg2) != -1 && ideal_yaw->unk164[func_8033D574(arg2)])){ + if(!(1 < func_8033D5A4(collision_flags)) || (func_8033D574(collision_flags) != -1 && actor->unk164[func_8033D574(collision_flags)])){ sp1C = 1; }//L8028D8E8 }//L8028D8E8 if(sp20){ - if(func_8033D594(arg2) == 3){ + if(func_8033D594(collision_flags) == 3){ func_803463D4(ITEM_14_HEALTH, -item_getCount(ITEM_14_HEALTH)); } else{//L8028D92C @@ -1047,17 +1047,17 @@ void func_8028D7B8(s32 arg0, ActorMarker *arg1, s32 arg2){ switch(sp1C){ case 1://L8028D98C - sp24 = (7 < ((sp24 < 0xb) ? sp24 : 0xb)) ? ((sp24 < 0xb) ? sp24 : 0xb): 0x7; + sp24 = MAX(MIN(sp24, 0xb), 7); sp24 -= 7; func_8028F428(sp24 +8, arg1); func_80250D94(0.8f, sp24 + 0.2, 0.3f); break; case 2://L8028DA10 - sp24 = (1 < ((sp24 < 5) ? sp24 : 5)) ? ((sp24 < 5) ? sp24 : 5): 1; + sp24 = MAX(MIN(sp24, 5), 1); sp24--; func_8028F55C(sp24 + 3, arg1); func_80250D94(1.0f, sp24 + 0.3, 0.5f); - if(ideal_yaw->unk16C_2 || ideal_yaw->unk16C_1){ + if(actor->unk16C_2 || actor->unk16C_1){ func_8028D71C(); } break; diff --git a/src/core2/code_4C020.c b/src/core2/code_4C020.c index 1f49d56c..3aa3d0a2 100644 --- a/src/core2/code_4C020.c +++ b/src/core2/code_4C020.c @@ -227,7 +227,7 @@ void func_802D3DA4(Actor *this) { this->unk38_31 = 1; } if ((this->unk38_31 == 1) && (phi_v0 == 1) - && func_8028F20C() && (func_8028F66C(0x37) == 2)) { + && func_8028F20C() && (func_8028F66C(BS_INTR_37) == 2)) { this->unk38_31 = 2; } } diff --git a/src/core2/code_6B30.c b/src/core2/code_6B30.c index ddf85b36..82292769 100644 --- a/src/core2/code_6B30.c +++ b/src/core2/code_6B30.c @@ -93,7 +93,7 @@ bool func_8028DD60(enum actor_e actor_id, Actor **arg1){ Actor *actor; m1 = (*arg1)->marker; - m2 = func_802948EC(); + m2 = carriedobj_getMarker(); if(m2){ actor = marker_getActor(m2); } @@ -102,8 +102,8 @@ bool func_8028DD60(enum actor_e actor_id, Actor **arg1){ return 0; carriedObject_setActorID(actor_id); - if(!item_empty(func_80346CF4(actor_id))){ - func_8028F66C(0x12); + if(!item_empty(carriedobj_actorId2ItemId(actor_id))){ + func_8028F66C(BS_INTR_12); } *arg1 = marker_getActor(m1); return 1; @@ -124,7 +124,7 @@ void func_8028DE6C(enum actor_e actor_id){ ActorMarker *marker; Actor *actor; - marker = func_802948EC(); + marker = carriedobj_getMarker(); if(marker){ actor = marker_getActor(marker); } @@ -145,23 +145,23 @@ void func_8028DEEC(enum actor_e actor_id, Actor *actor){ } void func_8028DF20(enum actor_e actor_id){ - item_inc(func_80346CF4(actor_id)); + item_inc(carriedobj_actorId2ItemId(actor_id)); } void func_8028DF48(enum actor_e actor_id){ ActorMarker *marker; Actor* actor; - marker = func_802948EC(); + marker = carriedobj_getMarker(); if(marker) actor = marker_getActor(marker); if(marker && actor->modelCacheIndex == actor_id){ func_802948E0(); } - item_dec(func_80346CF4(actor_id)); + item_dec(carriedobj_actorId2ItemId(actor_id)); } void func_8028DFB8(enum actor_e actor_id){ - func_803463D4(func_80346CF4(actor_id), 0); + func_803463D4(carriedobj_actorId2ItemId(actor_id), 0); } diff --git a/src/core2/code_7060.c b/src/core2/code_7060.c index 35736e93..eb84419b 100644 --- a/src/core2/code_7060.c +++ b/src/core2/code_7060.c @@ -183,7 +183,7 @@ void func_8028E4B0(void) { D_8037BFBA = TRUE; D_8037BFB9 = FALSE; func_80295914(); - sp20 = func_803348CC(); + sp20 = exit_get(); D_8037BFB8 = 0; player_setPosition(D_803636C0); if (func_803203FC(0xE) || func_802D686C() || (sp20 == 0x65)){ @@ -283,26 +283,26 @@ void func_8028E84C(f32 arg0[3]){ } ActorMarker *func_8028E86C(void){ - return func_802948EC(); + return carriedobj_getMarker(); } -s32 func_8028E88C(void){ +enum marker_e carriedObj_getMarkerId(void){ ActorMarker *marker; - marker = func_802948EC(); + marker = carriedobj_getMarker(); if(marker){ return marker->unk14_20; } return 0; } -enum actor_e func_8028E8C0(void){ +enum actor_e carriedObj_getActorId(void){ ActorMarker *marker; Actor *actor; - marker = func_802948EC(); + marker = carriedobj_getMarker(); - if(marker){ + if(marker != NULL){ actor = marker_getActor(marker); return actor->modelCacheIndex; } @@ -454,7 +454,7 @@ enum bsgroup_e func_8028ECAC(void) { if (bsclimb_inSet(state_id)) { return BSGROUP_5_CLIMB; } - if (func_802B8190(state_id)) { + if (bswalrus_inSledSet(state_id)) { return BSGROUP_C_WALRUS_SLED; } if (miscflag_isTrue(9) != 0) { @@ -689,13 +689,13 @@ void func_8028F408(f32 arg0[3]){ bool func_8028F428(s32 arg0, ActorMarker *marker) { func_80296CB4(arg0); func_80296CA8(marker); - return bs_checkInterrupt(0x24) == 2; + return bs_checkInterrupt(BS_INTR_24) == 2; } bool func_8028F45C(s32 arg0, f32 arg1[3]) { func_80296CB4(arg0); func_80296CC0(arg1); - return bs_checkInterrupt(0x23) == 2; + return bs_checkInterrupt(BS_INTR_23) == 2; } bool func_8028F490(f32 arg0[3]){ @@ -707,35 +707,35 @@ bool func_8028F4B8(f32 arg0[3], f32 arg1, f32 arg2) { func_80296C9C(arg2); func_80296CB4(0xE); func_80296CC0(arg0); - return bs_checkInterrupt(0x2D) == 2; + return bs_checkInterrupt(BS_INTR_2D) == 2; } bool func_8028F504(s32 arg0) { func_80296CB4(arg0); - return bs_checkInterrupt(0x1f) == 2; + return bs_checkInterrupt(BS_INTR_1F) == 2; } bool func_8028F530(s32 arg0) { func_80296CB4(arg0); - return bs_checkInterrupt(0x31) == 2; + return bs_checkInterrupt(BS_INTR_31) == 2; } bool func_8028F55C(s32 arg0, ActorMarker *marker) { func_80296CB4(arg0); func_80296CA8(marker); - return bs_checkInterrupt(0x21) == 2; + return bs_checkInterrupt(BS_INTR_21) == 2; } bool func_8028F590(s32 arg0, ActorMarker *marker) { func_80296CB4(arg0); func_80296CA8(marker); - return bs_checkInterrupt(0x33) == 2; + return bs_checkInterrupt(BS_INTR_33) == 2; } bool func_8028F5C4(s32 arg0, f32 arg1[3]) { func_80296CB4(arg0); func_80296CC0(arg1); - return bs_checkInterrupt(0x20) == 2; + return bs_checkInterrupt(BS_INTR_20) == 2; } bool func_8028F5F8(f32 arg0[3]){ @@ -747,24 +747,24 @@ bool func_8028F620(f32 arg0[3], f32 arg1, f32 arg2) { func_80296C9C(arg2); func_80296CB4(0x10); func_80296CC0(arg0); - return bs_checkInterrupt(0x2E) == 2; + return bs_checkInterrupt(BS_INTR_2E) == 2; } -s32 func_8028F66C(s32 arg0){ +s32 func_8028F66C(enum bs_interrupt_e arg0){ return bs_checkInterrupt(arg0); } -s32 func_8028F68C(s32 arg0, ActorMarker *marker){ +s32 func_8028F68C(enum bs_interrupt_e arg0, ActorMarker *marker){ func_80296CA8(marker); return bs_checkInterrupt(arg0); } -s32 func_8028F6B8(s32 arg0, s32 arg1){ - func_80296CB4(arg1); +s32 func_8028F6B8(enum bs_interrupt_e arg0, enum asset_e model_id){ + func_80296CB4(model_id); return bs_checkInterrupt(arg0); } -s32 func_8028F6E4(s32 arg0, f32 arg1[3]){ +s32 func_8028F6E4(enum bs_interrupt_e arg0, f32 arg1[3]){ func_80296CC0(arg1); return bs_checkInterrupt(arg0); } @@ -870,7 +870,7 @@ void func_8028FA14(enum map_e map_id, s32 exit_id){ func_8029C834(map_id, exit_id); } -void func_8028FA34(s32 arg0, Actor *arg1){ +void func_8028FA34(enum actor_e arg0, Actor *arg1){ func_8028DEEC(arg0, arg1); } @@ -919,7 +919,7 @@ bool func_8028FB88(enum transformation_e xform_id) { xform_id = TRANSFORM_7_WISHWASHY; } func_80294AF4(xform_id); - return bs_checkInterrupt(0xA) == 2; + return bs_checkInterrupt(BS_INTR_A) == 2; } bool func_8028FBD4(f32 arg0[3]) { @@ -929,12 +929,12 @@ bool func_8028FBD4(f32 arg0[3]) { if (arg0 != NULL) { func_80294A98(arg0); } - return bs_checkInterrupt(8) == 2; + return bs_checkInterrupt(BS_INTR_8) == 2; } bool func_8028FC34(void){ if (func_8028E86C() && bscarry_inSet(bs_getState())) - return bs_checkInterrupt(0x16) == 2; + return bs_checkInterrupt(BS_INTR_16_THROW_CARRIED_OBJ) == 2; return FALSE; } diff --git a/src/core2/code_7AF80.c b/src/core2/code_7AF80.c index 67a51e8f..2bf35153 100644 --- a/src/core2/code_7AF80.c +++ b/src/core2/code_7AF80.c @@ -902,12 +902,12 @@ NodeProp *func_80304C38(enum actor_e actor_id, Actor *arg1){ s32 vec[3]; s32 *phi_a1; - if (arg1 != 0) { + if (arg1 != NULL) { vec[0] = arg1->position_x; vec[1] = arg1->position_y; vec[2] = arg1->position_z; } - if (arg1 == 0) { + if (arg1 == NULL) { phi_a1 = NULL; } else { phi_a1 = vec; diff --git a/src/core2/code_83D70.c b/src/core2/code_83D70.c index eb4e677f..42c97bce 100644 --- a/src/core2/code_83D70.c +++ b/src/core2/code_83D70.c @@ -5,100 +5,260 @@ typedef struct { s16 level_id; - s16 unk2; - s16 unk4; + s16 map_id; + s16 exit_id; }Struct_core2_83D70_1; typedef struct map_info{ s16 map_id; s16 level_id; - u8* name; + char* name; }MapInfo; /* .data */ -extern MapInfo D_8036B818[]; -extern Struct_core2_83D70_1 D_8036BCE8[]; +MapInfo D_8036B810[0x9B] ={ + {0x0000, 0, "(gcSectionMin)"}, + {MAP_1_SM_SPIRAL_MOUNTAIN, LEVEL_B_SPIRAL_MOUNTAIN, "Training - Spiral Mountain"}, + {MAP_2_MM_MUMBOS_MOUNTAIN, LEVEL_1_MUMBOS_MOUNTAIN, "Jungle"}, + {MAP_5_TTC_BLUBBERS_SHIP, LEVEL_2_TREASURE_TROVE_COVE, "Beach - Pirate Ship Hold"}, + {MAP_6_TTC_NIPPERS_SHELL, LEVEL_2_TREASURE_TROVE_COVE, "Beach - Crab Shell"}, + {MAP_7_TTC_TREASURE_TROVE_COVE, LEVEL_2_TREASURE_TROVE_COVE, "Beach"}, + {MAP_8F_TTC_SHARKFOOD_ISLAND, LEVEL_2_TREASURE_TROVE_COVE, "Beach - Sea Castle"}, + {MAP_A_TTC_SANDCASTLE, LEVEL_2_TREASURE_TROVE_COVE, "Beach - Sand Castle"}, + {MAP_B_CC_CLANKERS_CAVERN, LEVEL_3_CLANKERS_CAVERN, "Whale"}, + {MAP_C_MM_TICKERS_TOWER, LEVEL_1_MUMBOS_MOUNTAIN, "Jungle - Termite Hill"}, + {MAP_D_BGS_BUBBLEGLOOP_SWAMP, LEVEL_4_BUBBLEGLOOP_SWAMP, "Swamp"}, + {MAP_E_MM_MUMBOS_SKULL, LEVEL_1_MUMBOS_MOUNTAIN, "Jungle - Shamen Hut"}, + {MAP_10_BGS_MR_VILE, LEVEL_4_BUBBLEGLOOP_SWAMP, "Swamp - Crocodile Head"}, + {MAP_11_BGS_TIPTUP, LEVEL_4_BUBBLEGLOOP_SWAMP, "Swamp - Turtle"}, + {MAP_12_GV_GOBIS_VALLEY, LEVEL_7_GOBIS_VALLEY, "Desert"}, + {MAP_13_GV_MEMORY_GAME, LEVEL_7_GOBIS_VALLEY, "Desert - Pyramid 1 (Match the pairs)"}, + {MAP_14_GV_SANDYBUTTS_MAZE, LEVEL_7_GOBIS_VALLEY, "Desert - Pyramid 2 (Maze)"}, + {MAP_15_GV_WATER_PYRAMID, LEVEL_7_GOBIS_VALLEY, "Desert - Pyramid 3 (Water)"}, + {MAP_16_GV_RUBEES_CHAMBER, LEVEL_7_GOBIS_VALLEY, "Desert - Pyramid 4 (Snake)"}, + {MAP_1A_GV_INSIDE_JINXY, LEVEL_7_GOBIS_VALLEY, "Desert - Sphinx"}, + {MAP_92_GV_SNS_CHAMBER, LEVEL_7_GOBIS_VALLEY, "Desert - Secret Chamber"}, + {MAP_1B_MMM_MAD_MONSTER_MANSION, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House"}, + {MAP_1C_MMM_CHURCH, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Organ"}, + {MAP_1D_MMM_CELLAR, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Cellar"}, + {MAP_1E_CS_START_NINTENDO, LEVEL_D_CUTSCENE, "Intro - Start - Nintendo"}, + {MAP_1F_CS_START_RAREWARE, LEVEL_D_CUTSCENE, "Intro - Start - Rareware"}, + {MAP_20_CS_END_NOT_100, LEVEL_D_CUTSCENE, "Intro - End Scene 2 : Not 100 "}, + {MAP_7B_CS_INTRO_GL_DINGPOT_1, LEVEL_D_CUTSCENE, "Intro - Grunties Lair 1 - Scene 1"}, + {MAP_81_CS_INTRO_GL_DINGPOT_2, LEVEL_D_CUTSCENE, "Intro - Grunties Lair 2"}, + {MAP_82_CS_ENTERING_GL_MACHINE_ROOM,LEVEL_D_CUTSCENE, "Intro - Grunties Lair 3 - Machine 1"}, + {MAP_83_CS_GAME_OVER_MACHINE_ROOM, LEVEL_D_CUTSCENE, "Intro - Grunties Lair 4 - Game Over"}, + {MAP_84_CS_UNUSED_MACHINE_ROOM, LEVEL_D_CUTSCENE, "Intro - Grunties Lair 5"}, + {MAP_7C_CS_INTRO_BANJOS_HOUSE_1, LEVEL_D_CUTSCENE, "Intro - Inside Banjo's Cave 1 - Scenes 3,7"}, + {MAP_89_CS_INTRO_BANJOS_HOUSE_2, LEVEL_D_CUTSCENE, "Intro - Inside Banjo's Cave 2"}, + {MAP_8A_CS_INTRO_BANJOS_HOUSE_3, LEVEL_D_CUTSCENE, "Intro - Inside Banjo's Cave 3"}, + {MAP_7D_CS_SPIRAL_MOUNTAIN_1, LEVEL_D_CUTSCENE, "Intro - Spiral 'A' - Scenes 2,4"}, + {MAP_7E_CS_SPIRAL_MOUNTAIN_2, LEVEL_D_CUTSCENE, "Intro - Spiral 'B' - Scenes 5,6"}, + {MAP_85_CS_SPIRAL_MOUNTAIN_3, LEVEL_D_CUTSCENE, "Intro - Spiral 'C'"}, + {MAP_86_CS_SPIRAL_MOUNTAIN_4, LEVEL_D_CUTSCENE, "Intro - Spiral 'D'"}, + {MAP_87_CS_SPIRAL_MOUNTAIN_5, LEVEL_D_CUTSCENE, "Intro - Spiral 'E'"}, + {MAP_88_CS_SPIRAL_MOUNTAIN_6, LEVEL_D_CUTSCENE, "Intro - Spiral 'F'"}, + {MAP_94_CS_INTRO_SPIRAL_7, LEVEL_D_CUTSCENE, "Intro - Spiral 'G'"}, + {MAP_95_CS_END_ALL_100, LEVEL_D_CUTSCENE, "Intro - End Scene 3 : All 100"}, + {MAP_98_CS_END_SPIRAL_MOUNTAIN_1, LEVEL_D_CUTSCENE, "Intro - Grunty Threat 1"}, + {MAP_99_CS_END_SPIRAL_MOUNTAIN_2, LEVEL_D_CUTSCENE, "Intro - Grunty Threat 2"}, + {MAP_96_CS_END_BEACH_1, LEVEL_D_CUTSCENE, "Intro - End Scene"}, + {MAP_97_CS_END_BEACH_2, LEVEL_D_CUTSCENE, "Intro - End Scene 4"}, + {MAP_21_CC_WITCH_SWITCH_ROOM, LEVEL_3_CLANKERS_CAVERN, "Whale - Inside A"}, + {MAP_22_CC_INSIDE_CLANKER, LEVEL_3_CLANKERS_CAVERN, "Whale - Inside B"}, + {MAP_23_CC_GOLDFEATHER_ROOM, LEVEL_3_CLANKERS_CAVERN, "Whale - Inside C"}, + {MAP_24_MMM_TUMBLARS_SHED, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Ouija Board"}, + {MAP_25_MMM_WELL, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Well"}, + {MAP_26_MMM_NAPPERS_ROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Dining Room"}, + {MAP_28_MMM_EGG_ROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Room 1"}, + {MAP_29_MMM_NOTE_ROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Room 2"}, + {MAP_2A_MMM_FEATHER_ROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Room 3 : Fireplace"}, + {MAP_2B_MMM_SECRET_CHURCH_ROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Church"}, + {MAP_2C_MMM_BATHROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Room 4 : Bathroom"}, + {MAP_2D_MMM_BEDROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Room 5 : Bedroom"}, + {MAP_2E_MMM_HONEYCOMB_ROOM, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Room 6 : Floorboards"}, + {MAP_2F_MMM_WATERDRAIN_BARREL, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Barrel"}, + {MAP_30_MMM_MUMBOS_SKULL, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Shamen Hut"}, + {MAP_8D_MMM_INSIDE_LOGGO, LEVEL_A_MAD_MONSTER_MANSION, "Haunted House - Septic Tank"}, + {MAP_31_RBB_RUSTY_BUCKET_BAY, LEVEL_9_RUSTY_BUCKET_BAY, "Ship"}, + {MAP_8B_RBB_ANCHOR_ROOM, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Anchor room"}, + {MAP_34_RBB_ENGINE_ROOM, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Prop Room"}, + {MAP_35_RBB_WAREHOUSE, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Warehouse 1"}, + {MAP_36_RBB_BOATHOUSE, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Warehouse 2"}, + {MAP_37_RBB_CONTAINER_1, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Container 1"}, + {MAP_38_RBB_CONTAINER_3, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Container 3"}, + {MAP_39_RBB_CREW_CABIN, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Crew Cabin"}, + {MAP_3A_RBB_BOSS_BOOM_BOX, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Hold"}, + {MAP_3B_RBB_STORAGE_ROOM, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Store Room"}, + {MAP_3C_RBB_KITCHEN, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Galley"}, + {MAP_3D_RBB_NAVIGATION_ROOM, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Navigation Room"}, + {MAP_3E_RBB_CONTAINER_2, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Container 2"}, + {MAP_3F_RBB_CAPTAINS_CABIN, LEVEL_9_RUSTY_BUCKET_BAY, "Ship - Captain's Cabin"}, + {MAP_40_CCW_HUB, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Start"}, + {MAP_43_CCW_SPRING, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Main (Spring)"}, + {MAP_44_CCW_SUMMER, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Main (Summer)"}, + {MAP_45_CCW_AUTUMN, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Main (Autumn)"}, + {MAP_46_CCW_WINTER, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Main (Winter)"}, + {MAP_47_BGS_MUMBOS_SKULL, LEVEL_4_BUBBLEGLOOP_SWAMP, "Swamp - Shamen Hut"}, + {MAP_4A_CCW_SPRING_MUMBOS_SKULL, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Shamen Hut (Spring)"}, + {MAP_4B_CCW_SUMMER_MUMBOS_SKULL, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Shamen Hut (Summer)"}, + {MAP_4C_CCW_AUTUMN_MUMBOS_SKULL, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Shamen Hut (Autumn)"}, + {MAP_4D_CCW_WINTER_MUMBOS_SKULL, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Shamen Hut (Winter)"}, + {MAP_53_FP_CHRISTMAS_TREE, LEVEL_5_FREEZEEZY_PEAK, "Snow - Inside Xmas Tree"}, + {MAP_41_FP_BOGGYS_IGLOO, LEVEL_5_FREEZEEZY_PEAK, "Snow - Igloo"}, + {MAP_27_FP_FREEZEEZY_PEAK, LEVEL_5_FREEZEEZY_PEAK, "Snow"}, + {MAP_48_FP_MUMBOS_SKULL, LEVEL_5_FREEZEEZY_PEAK, "Snow - Shamen Hut"}, + {MAP_5A_CCW_SUMMER_ZUBBA_HIVE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Wasp Hive (Summer)"}, + {MAP_5B_CCW_SPRING_ZUBBA_HIVE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Wasp Hive (Spring)"}, + {MAP_5C_CCW_AUTUMN_ZUBBA_HIVE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Wasp Hive (Autumn)"}, + {MAP_5E_CCW_SPRING_NABNUTS_HOUSE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel House (Spring)"}, + {MAP_5F_CCW_SUMMER_NABNUTS_HOUSE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel House (Summer)"}, + {MAP_60_CCW_AUTUMN_NABNUTS_HOUSE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel House (Autumn)"}, + {MAP_61_CCW_WINTER_NABNUTS_HOUSE, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel House (Winter)"}, + {MAP_62_CCW_WINTER_HONEYCOMB_ROOM, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel Room 1 (Winter)"}, + {MAP_63_CCW_AUTUMN_NABNUTS_WATER_SUPPLY, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel Room 2 (Autumn)"}, + {MAP_64_CCW_WINTER_NABNUTS_WATER_SUPPLY, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Squirrel Room 2 (Winter)"}, + {MAP_65_CCW_SPRING_WHIPCRACK_ROOM, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Top (Spring)"}, + {MAP_66_CCW_SUMMER_WHIPCRACK_ROOM, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Top (Summer)"}, + {MAP_67_CCW_AUTUMN_WHIPCRACK_ROOM, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Top (Autumn)"}, + {MAP_68_CCW_WINTER_WHIPCRACK_ROOM, LEVEL_8_CLICK_CLOCK_WOOD, "Tree - Top (Winter)"}, + {MAP_69_GL_MM_LOBBY, LEVEL_6_LAIR, "Witch - Flr 1, Area 1 : Mumbo"}, + {MAP_6A_GL_TTC_AND_CC_PUZZLE, LEVEL_6_LAIR, "Witch - Flr 1, Area 2"}, + {MAP_6B_GL_180_NOTE_DOOR, LEVEL_6_LAIR, "Witch - Flr 1, Area 3"}, + {MAP_6C_GL_RED_CAULDRON_ROOM, LEVEL_6_LAIR, "Witch - Flr 1, Area 3a : Cauldron"}, + {MAP_6D_GL_TTC_LOBBY, LEVEL_6_LAIR, "Witch - Flr 1, Area 4 : Pirate ship"}, + {MAP_70_GL_CC_LOBBY, LEVEL_6_LAIR, "Witch - Flr 1, Area 5 : Pipes room"}, + {MAP_71_GL_STATUE_ROOM, LEVEL_6_LAIR, "Witch - Flr 1, Area 6 : Witch statue"}, + {MAP_72_GL_BGS_LOBBY, LEVEL_6_LAIR, "Witch - Flr 1, Area 7 : Swamp/Snow"}, + {MAP_6E_GL_GV_LOBBY, LEVEL_6_LAIR, "Witch - Flr 2, Area 1 : Sand Chamber"}, + {MAP_6F_GL_FP_LOBBY, LEVEL_6_LAIR, "Witch - Flr 2, Area 2 : Spooky/Advent"}, + {MAP_74_GL_GV_PUZZLE, LEVEL_6_LAIR, "Witch - Flr 2, Area 4 : Dark room"}, + {MAP_75_GL_MMM_LOBBY, LEVEL_6_LAIR, "Witch - Flr 2, Area 5 : Crypt outside"}, + {MAP_7A_GL_CRYPT, LEVEL_6_LAIR, "Witch - Flr 2, Area 5a : Crypt inside"}, + {MAP_76_GL_640_NOTE_DOOR, LEVEL_6_LAIR, "Witch - Flr 3, Area 1"}, + {MAP_77_GL_RBB_LOBBY, LEVEL_6_LAIR, "Witch - Flr 3, Area 2 : Ship side"}, + {MAP_78_GL_RBB_AND_MMM_PUZZLE, LEVEL_6_LAIR, "Witch - Flr 3, Area 3"}, + {MAP_79_GL_CCW_LOBBY, LEVEL_6_LAIR, "Witch - Flr 3, Area 4 : Tree trunks"}, + {MAP_80_GL_FF_ENTRANCE, LEVEL_6_LAIR, "Witch - Flr 3, Area 4a"}, + {MAP_8E_GL_FURNACE_FUN, LEVEL_6_LAIR, "Witch - Flr 4, Area 1 : Quiz Room"}, + {MAP_93_GL_DINGPOT, LEVEL_6_LAIR, "Witch - Flr 5, Area 1 : Gruntie's rooms"}, + {MAP_90_GL_BATTLEMENTS, LEVEL_C_BOSS, "Witch - Battlements"}, + {MAP_7F_FP_WOZZAS_CAVE, LEVEL_5_FREEZEEZY_PEAK, "Snow - Wozza Cave"}, + {MAP_8C_SM_BANJOS_HOUSE, LEVEL_B_SPIRAL_MOUNTAIN, "Training - Banjo Cave"}, + {MAP_91_FILE_SELECT, LEVEL_B_SPIRAL_MOUNTAIN, "Training - Banjo Cave Save"}, + {0, 0, "(gcSectionMax)"} +}; -/* .rodata */ -extern u8 D_80378430[]; -extern u8 D_80378434[]; +Struct_core2_83D70_1 D_8036BCE8[] = { + {LEVEL_1_MUMBOS_MOUNTAIN, MAP_2_MM_MUMBOS_MOUNTAIN, 0x5}, + {LEVEL_2_TREASURE_TROVE_COVE, MAP_7_TTC_TREASURE_TROVE_COVE, 0x4}, + {LEVEL_3_CLANKERS_CAVERN, MAP_B_CC_CLANKERS_CAVERN, 0x5}, + {LEVEL_4_BUBBLEGLOOP_SWAMP, MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x2}, + {LEVEL_5_FREEZEEZY_PEAK, MAP_27_FP_FREEZEEZY_PEAK, 0x1}, + {LEVEL_7_GOBIS_VALLEY, MAP_12_GV_GOBIS_VALLEY, 0x8}, + {LEVEL_8_CLICK_CLOCK_WOOD, MAP_40_CCW_HUB, 0x7}, + {LEVEL_9_RUSTY_BUCKET_BAY, MAP_31_RBB_RUSTY_BUCKET_BAY, 0x10}, + {LEVEL_A_MAD_MONSTER_MANSION, MAP_1B_MMM_MAD_MONSTER_MANSION, 0x14}, + {LEVEL_B_SPIRAL_MOUNTAIN, MAP_1_SM_SPIRAL_MOUNTAIN, 0x12}, + {LEVEL_D_CUTSCENE, MAP_7B_CS_INTRO_GL_DINGPOT_1, 0x0}, + {LEVEL_6_LAIR, MAP_69_GL_MM_LOBBY, 0x0}, + {LEVEL_C_BOSS, MAP_90_GL_BATTLEMENTS, 0x0} +}; /* .bss */ char D_803823A0[0x70]; /* .data */ -#ifndef NONMATCHING -MapInfo * func_8030AD00(enum map_e map_id); -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_83D70/func_8030AD00.s") -#else MapInfo * func_8030AD00(enum map_e map_id){ MapInfo *phi_v1; - for(phi_v1 = D_8036B818; phi_v1->map_id != 0; phi_v1++){ + for(phi_v1 = &D_8036B810[1]; phi_v1->map_id != 0; phi_v1++){ if (map_id == phi_v1->map_id) { return phi_v1; } } return NULL; } -#endif enum level_e map_getLevel(enum map_e map){ return func_8030AD00(map)->level_id; }; /* returns string containing the map name and index */ -u8 *func_8030AD6C(enum map_e map){ +char *gcsection_getName(enum map_e map){ MapInfo *map_info = func_8030AD00(map); D_803823A0[0] = 0; strcat(D_803823A0, map_info->name); - strcat(D_803823A0, D_80378430); + strcat(D_803823A0, " ("); strIToA(D_803823A0, map); - strcat(D_803823A0, D_80378434); + strcat(D_803823A0, ")"); return D_803823A0; } -s32 func_8030ADD8(enum level_e level_id) { +enum map_e level_get_main_map(enum level_e level_id) { Struct_core2_83D70_1 *phi_v1; for(phi_v1 = D_8036BCE8; phi_v1->level_id != 0; phi_v1++){ if (level_id == phi_v1->level_id) { - return phi_v1->unk2; + return phi_v1->map_id; } } return 0; } -s32 func_8030AE24(enum level_e level_id) { +s32 level_get_main_exit(enum level_e level_id) { Struct_core2_83D70_1 *phi_v1; for(phi_v1 = D_8036BCE8; phi_v1->level_id != 0; phi_v1++){ if (level_id == phi_v1->level_id) { - return phi_v1->unk4; + return phi_v1->exit_id; } } return 0; } -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_83D70/func_8030AE70.s") - -#ifndef NONMATCHING -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_83D70/func_8030AF58.s") -#else -bool func_8030AF58(s32 arg0) { - Struct_core2_83D70_0 *phi_v0; +void func_8030AE70(s32 *arg0) { + MapInfo *var_v0; + s16 var_v1; + s32 *var_s0; + s32 *var_s0_2; + s32 temp_t1; + s32 temp_v0; + s32 var_s1; s32 i; - for(i = 0; D_8036B818[i].unk0 != 0; i++) { - phi_v0 = &D_8036B818[i]; - if(phi_v0->unk0 == arg0){ + var_v0 = D_8036B810 + 1; + var_s1 = 0; + while(var_v0->map_id != 0) { + arg0[var_s1] = var_v0->map_id; + var_s1++; + var_v0++; + } + arg0[var_s1] = 0; + var_s1 = 0; + while(arg0[var_s1 + 1] != 0){ + if (strcmp(func_8030AD00(arg0[var_s1])->name, func_8030AD00(arg0[var_s1 + 1])->name) > 0) { + temp_v0 = arg0[var_s1]; + arg0[var_s1] = arg0[var_s1 + 1]; + arg0[var_s1 + 1] = temp_v0; + var_s1 = 0; + } else { + var_s1++; + } + } +} + +bool func_8030AF58(enum map_e arg0) { + MapInfo *phi_v0; + + for(phi_v0 = &D_8036B810[1]; phi_v0->map_id != 0; phi_v0++) { + if(phi_v0->map_id == arg0){ return TRUE; } } return FALSE; } -#endif void func_8030AFA0(enum map_e arg0){ s32 level = map_getLevel(arg0); diff --git a/src/core2/code_9B180.c b/src/core2/code_9B180.c index f8c7f30b..10182a64 100644 --- a/src/core2/code_9B180.c +++ b/src/core2/code_9B180.c @@ -37,7 +37,7 @@ void func_80322130(Struct_core2_9B180_0 *arg0) { player_getPosition(sp1C); if (sp1C[1] < D_80383334) { - if (func_8028F66C(0x2C) == 2) { + if (func_8028F66C(BS_INTR_2C) == 2) { arg0->unk4 = 0; FUNC_8030E624(SFX_96_HOTSAND_EEL_HISS, 1.0f, 32000); FUNC_8030E624(SFX_A_BANJO_LANDING_05, 1.0f, 32000); diff --git a/src/core2/code_AD5B0.c b/src/core2/code_AD5B0.c index 5b6f4224..d53bda71 100644 --- a/src/core2/code_AD5B0.c +++ b/src/core2/code_AD5B0.c @@ -106,7 +106,7 @@ enum map_e map_get(void){ return D_803835D0.map_4; } -s32 func_803348CC(){ +s32 exit_get(){ return D_803835D0.unk8; } diff --git a/src/core2/code_BEF20.c b/src/core2/code_BEF20.c index a839511c..277670b6 100644 --- a/src/core2/code_BEF20.c +++ b/src/core2/code_BEF20.c @@ -124,7 +124,7 @@ s32 func_80345FB4(enum item_e item, s32 diff, s32 arg2){\ sp30 = func_80301D24(oldVal); sp2C = func_80301D24(newVal); if(sp3C){ - bs_checkInterrupt(0x11); + bs_checkInterrupt(BS_INTR_11_DROWN); D_80385FE4 = 1; } if(sp2C && sp30 != sp2C ){ @@ -354,7 +354,7 @@ void func_80346CE8(void){ D_80385FE4 = FALSE; } -enum item_e func_80346CF4(enum actor_e actor_id){ +enum item_e carriedobj_actorId2ItemId(enum actor_e actor_id){ switch(actor_id){ case ACTOR_29_ORANGE_COLLECTABLE: return ITEM_19_ORANGE; case ACTOR_2A9_ACORN: return ITEM_23_ACORNS; diff --git a/src/core2/code_C3F0.c b/src/core2/code_C3F0.c index 04022ee9..55172bcd 100644 --- a/src/core2/code_C3F0.c +++ b/src/core2/code_C3F0.c @@ -15,11 +15,11 @@ void miscflag_clearAll(void){ } } -int miscflag_isTrue(s32 arg0){ +bool miscflag_isTrue(enum misc_flag_e arg0){ return D_8037C1D0[arg0]; } -int miscflag_isFalse(s32 arg0){ +bool miscflag_isFalse(enum misc_flag_e arg0){ return !D_8037C1D0[arg0]; } diff --git a/src/core2/code_D800.c b/src/core2/code_D800.c index c090ac11..8ba408fa 100644 --- a/src/core2/code_D800.c +++ b/src/core2/code_D800.c @@ -63,7 +63,7 @@ void func_802948E0(void){ D_8037C298 = NULL; } -ActorMarker *func_802948EC(void){ +ActorMarker *carriedobj_getMarker(void){ return D_8037C298; } diff --git a/src/core2/code_D9B0.c b/src/core2/code_D9B0.c index 5007b065..65e8eb87 100644 --- a/src/core2/code_D9B0.c +++ b/src/core2/code_D9B0.c @@ -184,13 +184,13 @@ void func_80294E60(void){ } if(func_8028B2E8() || bsclimb_inSet(bs_getState())){ - miscflag_clear(5); - miscflag_clear(0x12); + miscflag_clear(MISC_FLAG_5_HAS_PECKED); + miscflag_clear(MISC_FLAG_12_HAS_FLAPPED); } if(player_inWater()){ - miscflag_clear(5); - miscflag_clear(0x12); + miscflag_clear(MISC_FLAG_5_HAS_PECKED); + miscflag_clear(MISC_FLAG_12_HAS_FLAPPED); } func_80294BDC(); diff --git a/src/core2/code_E910.c b/src/core2/code_E910.c index e2e54e34..f8daa4ca 100644 --- a/src/core2/code_E910.c +++ b/src/core2/code_E910.c @@ -183,9 +183,9 @@ void func_802958A0(void){ void func_80295914(void){ D_80363820 = 1; D_8037C3B0 = NULL; - func_8029C608(); + update_void_return_Location(); func_802983F0(); - func_8028A410(); + snacker_reset(); func_80291910(); func_8029279C(); func_802932AC(); diff --git a/src/core2/code_EF50.c b/src/core2/code_EF50.c index cedede20..175d4cbd 100644 --- a/src/core2/code_EF50.c +++ b/src/core2/code_EF50.c @@ -28,7 +28,7 @@ struct_EE40 D_8037C400[5]; /* .code */ enum bs_e func_80295EE0(enum bs_e arg0){ - int sp34; + int current_state; f32 pad30; s32 sp2C; s32 sp28; @@ -37,11 +37,11 @@ enum bs_e func_80295EE0(enum bs_e arg0){ sp2C = 0; sp28 = 0; - sp34 = bs_getState(); + current_state = bs_getState(); if(player_getTransformation() != TRANSFORM_1_BANJO || func_8028EE84() != BSWATERGROUP_0_NONE){ sp2C = 1; } - if(bsjig_inJiggyJig(sp34)){ + if(bsjig_inJiggyJig(current_state)){ sp28 = 1; } @@ -284,157 +284,157 @@ void func_80296590(void){ void func_80296608(void){ s32 sp2C; - s32 sp28; - s32 sp24; + enum bs_e current_state; + enum bs_e next_state; s32 sp1C; sp2C = 1; - sp24 = 0; - sp28 = bs_getState(); + next_state = 0; + current_state = bs_getState(); switch(bs_getInterruptType()){ - case 0x18: //L80296654 + case BS_INTR_18_CROC_ATE_WRONG: //L80296654 func_802AD318(); sp2C = 2; break; - case 0xa: //L8029666C + case BS_INTR_A: //L8029666C sp2C = 2; if(func_8028B2E8()){ - sp24 = func_80292738(); + next_state = func_80292738(); } else{ miscflag_set(0x19); - sp24 = func_8029B504(); + next_state = func_8029B504(); } break; - case 0x36: //L802966A8 - sp24 = BS_42_DINGPOT; + case BS_INTR_36_DINGPOT: //L802966A8 + next_state = BS_42_DINGPOT; sp2C = 2; break; - case 0x24: //L802966B8 + case BS_INTR_24: //L802966B8 func_802960C4(0); - sp24 = func_80296038(); + next_state = func_80296038(); sp2C = 2; break; - case 0x23: //L802966D8 + case BS_INTR_23: //L802966D8 func_802960C4(1); - sp24 = func_80296038(); + next_state = func_80296038(); sp2C = 2; break; - case 0x2d: //L802966F8 + case BS_INTR_2D: //L802966F8 func_802960C4(3); - sp24 = func_80296038(); + next_state = func_80296038(); sp2C = 2; break; - case 0x5: //L80296718 + case BS_INTR_5: //L80296718 func_802961B4(0); - sp24 = func_80296038(); + next_state = func_80296038(); sp2C = 2; break; - case 0x2c: //L80296738 + case BS_INTR_2C: //L80296738 item_set(ITEM_14_HEALTH, 0); func_80291930(1); sp2C = 2; break; - case 0x13: //L80296760 + case BS_INTR_13: //L80296760 item_set(ITEM_14_HEALTH, 0); /* missing break ? */ - case 0xb: //L8029676C + case BS_INTR_B: //L8029676C func_8029622C(); - sp24 = func_802962BC(0); + next_state = func_802962BC(0); sp2C = 2; break; - case 0x26: //L8029678C + case BS_INTR_26: //L8029678C item_set(ITEM_14_HEALTH, 0); func_8029B930(); func_8029B890(); sp2C = 2; break; - case 0x19: //L802967BC - sp24 = func_8029B504(); + case BS_INTR_19: //L802967BC + next_state = func_8029B504(); sp2C = 2; break; - case 0x11: //L802967D4 - sp24 = BS_54_SWIM_DIE; + case BS_INTR_11_DROWN: //L802967D4 + next_state = BS_54_SWIM_DIE; sp2C = 2; break; - case 0x17: //L802967E4 + case BS_INTR_17: //L802967E4 func_80294A58(D_8037C3E0.unk18); - sp24 = BS_70_CROC_EAT_GOOD; + next_state = BS_70_CROC_EAT_GOOD; sp2C = 2; break; - case 0x2f: //L80296800 - sp24 = 0x40; + case BS_INTR_2F_LOGGO: //L80296800 + next_state = BS_40_PUMPKIN_FLUSH; sp2C = 2; break; - case 0x9: //L80296810 + case BS_INTR_9: //L80296810 sp2C = 2; - sp24 = func_80295EE0(0); + next_state = func_80295EE0(0); break; - case 0x1a: //L80296828 - if(!bsbtrot_inSet(sp28)){ - sp24 = func_8029B504(); + case BS_INTR_1A: //L80296828 + if(!bsbtrot_inSet(current_state)){ + next_state = func_8029B504(); } sp2C = 2; break; - case 0x1b: //L80296850 - sp24 = func_8029B504(); + case BS_INTR_1B: //L80296850 + next_state = func_8029B504(); sp2C = 2; break; - case 0x1f: //L80296868 + case BS_INTR_1F: //L80296868 if(func_80297C6C() != 3 && func_8028D60C()){ - case 0x31: //L8029688C + case BS_INTR_31: //L8029688C func_802960C4(2); item_dec(ITEM_14_HEALTH); - sp24 = func_802962BC(0); + next_state = func_802962BC(0); sp2C = 2; } break; - case 0x21: //L802968B4 + case BS_INTR_21: //L802968B4 if(func_80297C6C() != 3){ - case 0x33: //L802968C8 + case BS_INTR_33: //L802968C8 func_802960C4(0); item_dec(ITEM_14_HEALTH); - sp24 = func_802962BC(0); + next_state = func_802962BC(0); sp2C = 2; } break; - case 0x20: //L802968F0 + case BS_INTR_20: //L802968F0 if(func_80297C6C() != 3){ func_802960C4(1); item_dec(ITEM_14_HEALTH); - sp24 = func_802962BC(0); + next_state = func_802962BC(0); sp2C = 2; } break; - case 0x2e: //L8029692C + case BS_INTR_2E: //L8029692C func_802960C4(3); item_dec(ITEM_14_HEALTH); - sp24 = func_802962BC(0); + next_state = func_802962BC(0); sp2C = 2; break; - case 0x4: //L80296954 + case BS_INTR_4: //L80296954 func_802961B4(1); - sp24 = func_802962BC(0); + next_state = func_802962BC(0); sp2C = 2; break; - case 0x14: //L80296974 - sp24 = BS_5_JUMP; + case BS_INTR_14: //L80296974 + next_state = BS_5_JUMP; sp2C = 2; break; - case 0x35: //L80296984 + case BS_INTR_35: //L80296984 miscflag_set(0x1a); - sp24 = func_8029B504(); + next_state = func_8029B504(); sp2C = 2; break; - case 0x34: //L802969A4 - sp24 = func_802926E8(); + case BS_INTR_34: //L802969A4 + next_state = func_802926E8(); sp2C = 2; break; - case 0x27: //L802969BC - sp24 = 0x7C; + case BS_INTR_27_BANJO_SLED: //L802969BC + next_state = BS_7C_SLED; sp2C = 2; break; - case 0xc: //L802969CC + case BS_INTR_C_CLIMB: //L802969CC sp1C = player_getTransformation(); sp1C = !((sp1C == TRANSFORM_1_BANJO) || (sp1C == TRANSFORM_7_WISHWASHY)); if( @@ -443,47 +443,47 @@ void func_80296608(void){ && !miscflag_isTrue(0xf) && !func_8028B2E8() ){ - sp24 = BS_4F_CLIMB_IDLE; + next_state = BS_4F_CLIMB_IDLE; sp2C = 2; } break; - case 0x1e: //L80296A44 + case BS_INTR_1E: //L80296A44 if(func_8028ABB8()){ sp2C = 2; - sp24 = func_8029BE5C(); + next_state = func_8029BE5C(); } break; - case 0x1d: //L80296A68 + case BS_INTR_1D: //L80296A68 if(func_8028ABB8()){ sp2C = 2; - sp24 = func_8029BF4C(); + next_state = func_8029BF4C(); } break; - case 0x1c: //L80296A8C + case BS_INTR_1C: //L80296A8C if(func_8028ABB8()){ sp2C = 2; - sp24 = func_8029BED4(); + next_state = func_8029BED4(); } break; - case 0x15: //L80296AB0 + case BS_INTR_15: //L80296AB0 sp2C = 2; - if(bsbfly_inSet(sp28)){ - sp24 = BS_24_FLY; + if(bsbfly_inSet(current_state)){ + next_state = BS_24_FLY; } else{ switch(func_8028EE84()){ case BSWATERGROUP_1_SURFACE: - sp24 = BS_2D_SWIM_IDLE; + next_state = BS_2D_SWIM_IDLE; break; case BSWATERGROUP_2_UNDERWATER: - sp24 = BS_2B_DIVE_IDLE; + next_state = BS_2B_DIVE_IDLE; break; case BSWATERGROUP_0_NONE://L80296B0C if(func_8028B2E8()) - sp24 = bs_getIdleState(); + next_state = bs_getIdleState(); else - sp24 = func_8029BA80(); + next_state = func_8029BA80(); break; } @@ -491,39 +491,39 @@ void func_80296608(void){ func_80297970(0.0f); func_80297A0C(0); break; - case 0x25: //L80296B54 + case BS_INTR_25: //L80296B54 sp2C = 2; - sp24 = func_8029BED4(); + next_state = func_8029BED4(); break; - case 0xf: //L80296B68 + case BS_INTR_F: //L80296B68 miscflag_set(6); - sp24 = func_8029B504(); + next_state = func_8029B504(); sp2C = 2; break; - case 0x30: //L80296B88 + case BS_INTR_30: //L80296B88 item_set(ITEM_14_HEALTH, 0); miscflag_set(6); - sp24 = func_8029B504(); + next_state = func_8029B504(); sp2C = 2; break; - case 0x37: //L80296BB4 - sp24 = func_80292710(); + case BS_INTR_37: //L80296BB4 + next_state = func_80292710(); sp2C = 2; break; - case 0x2a: //L80296BCC + case BS_INTR_2A: //L80296BCC sp2C = 2; - sp24 = func_8029B504(); - miscflag_set(0x14); + next_state = func_8029B504(); + miscflag_set(MISC_FLAG_14_LOSE_BOGGY_RACE); break; - case 0x29: //L80296BEC + case BS_INTR_27_WALRUS_SLED: //L80296BEC if(player_getTransformation() == TRANSFORM_4_WALRUS){ - sp24 = BS_7D_WALRUS_SLED; + next_state = BS_7D_WALRUS_SLED; sp2C = 2; } break; }//L80296C0C func_8029A86C(sp2C); - bs_setState(sp24); + bs_setState(next_state); } void func_80296C30(void){ diff --git a/src/core2/done/bs/talk.c b/src/core2/done/bs/talk.c index 2669fb5b..8c37c7e4 100644 --- a/src/core2/done/bs/talk.c +++ b/src/core2/done/bs/talk.c @@ -41,7 +41,7 @@ void func_802B61E0(void){ void func_802B6218(void){} void func_802B6220(void){ - if(bs_getInterruptType() == 8){ + if(bs_getInterruptType() == BS_INTR_8){ D_8037D570 = 1; func_8029A86C(2); } diff --git a/src/core2/done/climb.c b/src/core2/done/climb.c index 7be4c979..9a82c4b4 100644 --- a/src/core2/done/climb.c +++ b/src/core2/done/climb.c @@ -2,6 +2,8 @@ #include "functions.h" #include "variables.h" +#include "bsint.h" + /* .bss */ f32 climbPoleBottom[3]; f32 climbPoleTop[3]; @@ -55,7 +57,7 @@ climbSet(f32 bottom[3], f32 top[3], f32 radius, u32 arg3){ void func_80298344(void){ //climbUpdateRegrab D_8037C58C = max_f(D_8037C58C - time_getDelta(), 0.0f); if(D_8037C590 && ability_hasLearned(ABILITY_5_CLIMB)){ - bs_checkInterrupt(0xC); + bs_checkInterrupt(BS_INTR_C); } D_8037C590 = 0; } diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 9ad02f5e..b13e5728 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -682,7 +682,7 @@ void func_80387730(Actor *this) { func_80320004(this->unkF4_8 + 0x39, TRUE); marker_despawn(this->marker); func_8028F918(0); - func_8028F66C(0x35); + func_8028F66C(BS_INTR_35); return; } if (this->marker->unk14_21) { diff --git a/src/lair/code_42A0.c b/src/lair/code_42A0.c index ddd67213..1cd4bec6 100644 --- a/src/lair/code_42A0.c +++ b/src/lair/code_42A0.c @@ -220,7 +220,7 @@ void func_8038AE2C(Actor *this) { && (func_802D67AC(-1) == MAP_16_GV_RUBEES_CHAMBER) && (func_802D680C(-1) == this->unkF4_8) ) - || (func_803348CC() == D_80393620[this->unkF4_8 - 1].unk2) + || (exit_get() == D_80393620[this->unkF4_8 - 1].unk2) ) { func_8028F85C(this->position); this->unk10_12 = 1; @@ -331,7 +331,7 @@ void func_8038AE2C(Actor *this) { func_8028FCAC(); nodeprop_getPosition(func_80304C38(D_80393620[this->unkF4_8 - 1].unk6, this), sp54); if (this->unkF4_8 == 7) { - func_8028F66C(0x36); + func_8028F66C(BS_INTR_36_DINGPOT); func_802BAFE4(0x82); } else { func_8028F4B8(sp54, 1620.0f, -4100.0f); diff --git a/src/lair/code_5ED0.c b/src/lair/code_5ED0.c index 8f231530..b5a3f798 100644 --- a/src/lair/code_5ED0.c +++ b/src/lair/code_5ED0.c @@ -709,7 +709,7 @@ void func_8038D670(enum FF_Action next_state) { func_8028F5F8(sp30); } else { func_8038D548(0); - func_8028F66C(0x13); + func_8028F66C(BS_INTR_13); } func_8030E6D4(SFX_125_AUDIENCE_CHEERING_2); } else { diff --git a/subyaml/core2.us.v10.yaml b/subyaml/core2.us.v10.yaml index fed75631..822b7982 100644 --- a/subyaml/core2.us.v10.yaml +++ b/subyaml/core2.us.v10.yaml @@ -287,7 +287,7 @@ segments: - [0x7AF80, c, code_7AF80] - [0x82000, c, code_82000] - [0x83340, c, code_83340] - - [0x83D70, c, code_83D70] + - [0x83D70, c, code_83D70] #DONE - [0x840D0, c, code_840D0] #DONE - [0x84470, c, gc/transition] #DONE - [0x851D0, c, code_851D0] @@ -539,6 +539,8 @@ segments: - [0xE3A20, bin, data_E3A20] - [0xE3C50, .data, code_82000] - [0xE4870, bin, data_E4870] + - [0xE4880, .data, code_83D70] + - [0xE4DB0, bin, data_E4DB0] - [0xE5730, .data, gc/zoombox] - [0xE69B0, bin, data_E69B0] - [0xE7330, .data, code_9B990] @@ -755,6 +757,8 @@ segments: - [0xF0520, .rodata, code_7AF80] # - [0xF0540, bin, data_F0540] - [0xF05E0, bin, data_F05E0] + - [0xF07B0, .rodata, code_83D70] + - [0xF14B0, bin, data_F14B0] - [0xF14C0, .rodata, gc/transition] - [0xF1520, .rodata, code_85800] - [0xF1540, .rodata, code_87E30]