From bd0dfb3ea5e991e20b1d08fdf627386b3cde2e25 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Wed, 10 Aug 2022 16:06:32 -0500 Subject: [PATCH] core2 .data defininitions --- include/enums.h | 98 +++++++++++++++--------- progress/progress_core2.svg | 4 +- progress/progress_total.svg | 6 +- src/core2/bs/ant.c | 8 +- src/core2/bs/bFly.c | 8 +- src/core2/bs/bLongLeg.c | 10 +-- src/core2/bs/bSwim.c | 2 +- src/core2/bs/bTrot.c | 4 +- src/core2/bs/bWhirl.c | 6 +- src/core2/bs/climb.c | 8 +- src/core2/bs/croc.c | 4 +- src/core2/bs/dronegoto.c | 2 +- src/core2/bs/rest.c | 6 +- src/core2/bs/swim.c | 2 +- src/core2/bs/walk.c | 2 +- src/core2/bs/walrus.c | 4 +- src/core2/code_12F30.c | 84 +++++++++++++++++++- src/core2/code_14420.c | 148 +++++++++++++++++++++++++++++++++--- src/core2/code_79C80.c | 128 ++++++++++++++++++++++++++++--- src/core2/code_7A760.c | 13 +++- src/core2/code_90E0.c | 24 +++++- src/core2/code_E910.c | 18 ++--- subyaml/core2.us.v10.yaml | 14 ++-- 23 files changed, 486 insertions(+), 117 deletions(-) diff --git a/include/enums.h b/include/enums.h index a6d3b47a..8ae21be7 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1844,7 +1844,7 @@ enum bs_e BS_CROC_WALK = 0x5F, BS_CROC_JUMP = 0x60, BS_61_CROC_FALL = 0x61, - BS_LONGLEG_UNK62 = 0x62, + BS_62_LONGLEG_LOCKED = 0x62, BS_CROC_OW = 0x63, BS_CROC_DIE = 0x64, @@ -1853,6 +1853,7 @@ enum bs_e BS_WALRUS_WALK = 0x68, BS_WALRUS_JUMP = 0x69, BS_6A_WALRUS_FALL = 0x6A, + BS_6B_BEE_LOCKED, //unk0x6B //[107] = "Locked", -- Bee, Mumbo Transform Cutscene BS_WALRUS_OW = 0x6C, BS_WALRUS_DIE = 0x6D, @@ -1861,22 +1862,25 @@ enum bs_e BS_70_CROC_EAT_GOOD = 0x70, BS_71_BTROT_FALL = 0x71, BS_SPLAT = 0x72, //get up after fall damage + BS_73_UNKNOWN = 0x73, + BS_74_UNKNOWN = 0x74, + BS_75_UNKNOWN = 0x75, //0x73 locked_cutscene //0x74 locked jiggypad, xform, bottles //0x75 locked bottles - BS_BFLY_UNK76 = 0x76, - BS_77 = 0x77, //0x77 locked swim - BS_78 = 0x78,//0x78 locked dive - //0x79 locked holding jiggy in tt - BS_WALK_MUD = 0x7A, - BS_BTROT_OW = 0x7B, + BS_76_BFLY_LOCKED = 0x76, + BS_77_SWIM_LOCKED = 0x77, //0x77 locked swim + BS_78_DIVE_LOCKED = 0x78,//0x78 locked dive + BS_79_BTROT_LOCKED, + BS_WALK_MUD, + BS_BTROT_OW, BS_7C_SLED, BS_7D_WALRUS_SLED, BS_7E_WALRUS_SLED, BS_7F_DIVE_OW = 0x7F, //BS_7D_WALRUS_SLED_LOSE = 0x80, - //BS_7D_WALRUS_SLED_LOCKED = 0x81, - BS_82_WALRUS_SLED_LOSE_IN_AIR = 0x82, + BS_81_WALRUS_SLED_LOCKED = 0x81, + BS_82_WALRUS_SLED_LOSE_IN_AIR, BS_85_BEE_IDLE = 0x85, BS_BEE_WALK = 0x86, @@ -1886,23 +1890,24 @@ enum bs_e BS_BEE_DIE = 0x8A, BS_BEE_FLY = 0x8c, - BS_CROC_LOCKED = 0x8D, - //0x8E, //[142] = "Locked", -- Jiggy podium, Bottles' text outside Mumbo's + BS_8D_CROC_LOCKED = 0x8D, + BS_8E_ANT_LOCKED = 0x8E, //"Locked", -- Jiggy podium, Bottles' text outside Mumbo's BS_8F_PUMPKIN_LOCKED = 0x8F, + BS_FLY_OW = 0x91, - BS_ANT_DRONE = 0x92, - BS_93_PUMPKIN_DRONE = 0x93,//0x93 BS_8F_PUMPKIN_LOCKED_2? - BS_CROC_DRONE = 0x94, - BS_WALRUS_DRONE = 0x95, - BS_96_SWIM_LOCKED = 0x96, - BS_97_DIVE_LOCKED = 0x97, - BS_WALK_DRONE = 0x98, - BS_BFLY_UNK99= 0x99, - BS_BTROT_DRONE = 0x9A, - BS_LONGLEG_DRONE = 0x9B, - BS_7D_WALRUS_SLED_DRONE = 0x9C, - BS_BEE_DRONE = 0x9D, - BS_9E_CLIMB_UNKOWN_9E, + BS_92_ANT_DRONE, + BS_93_PUMPKIN_DRONE, + BS_94_CROC_DRONE, + BS_95_WALRUS_DRONE, + BS_96_SWIM_LOCKED, + BS_97_DIVE_LOCKED, + BS_98_WALK_DRONE, + BS_99_BFLY_DRONE, + BS_9A_BTROT_DRONE, + BS_9B_LONGLEG_DRONE = 0x9B, + BS_9C_WALRUS_SLED_DRONE = 0x9C, + BS_9D_BEE_DRONE = 0x9D, + BS_9E_CLIMB_LOCKED, BS_ANT_BOUNCE = 0x9F, BS_PUMPKIN_BOUNCE = 0xA0, BS_CROC_BOUNCE = 0xA1, @@ -1987,7 +1992,7 @@ enum asset_e { ANIM_BANJO_CROUCH_ENTER = 0x1, ANIM_BANJO_WALK_CREEP = 0x2, - ANIM_BANJO_WALK = 0x3, + ASSET_3_ANIM_BANJO_WALK = 0x3, ANIM_BANJO_BTROT_EXIT = 0x7, ANIM_BANJO_JUMP = 0x8, @@ -1999,10 +2004,10 @@ enum asset_e ANIM_BANJO_TURN = 0xe, ASSET_10_ANIM_BIGBUTT_RUN = 0x10, - ANIM_BANJO_WONDERWING_WALK = 0x11, + ASSET_11_ANIM_BSWONDERWING_WALK, - - ANIM_BANJO_LONGLEG_ENTER_AS_BEAR = 0x16, + ANIM_15_ANIM_BTROT_WALK = 0x15, + ANIM_BANJO_LONGLEG_ENTER_AS_BEAR, ANIM_BANJO_BFLAP = 0x17, ANIM_BANJO_BPECK_ENTER = 0x19, @@ -2013,9 +2018,9 @@ enum asset_e ASSET_21_ANIM_BIGBUTT_SLIDE = 0x21, ANIM_BANJO_WONDERWING_EXIT = 0x22, - ANIM_BANJO_WONDERWING_IDLE = 0x23, + ASSET_23_ANIM_BSWONDERWING_IDLE, - ANIM_BANJO_BTROT_IDLE = 0x26, + ASSET_26_ANIM_BTROT_IDLE = 0x26, ANIM_BANJO_BTROT_JUMP = 0x27, ANIM_TERMITE_OW = 0x28, ANIM_TERMITE_DIE = 0x29, @@ -2028,13 +2033,14 @@ enum asset_e ASSET_35_ANIM_BIGBUTT_ALERT, ASSET_36_ANIM_BIGBUTT_WALK, - ANIM_BANJO_FLY = 0x38, + ASSET_38_BANJO_FLY = 0x38, + ASSET_39_ANIM_BSSWIM_SWIM, ANIM_BANJO_LONGLEG_JUMP = 0x3D, ANIM_BANJO_LONGLEG_ENTER_AS_BIRD = 0x40, - ANIM_BANJO_LONGLEG_IDLE = 0x41, - ANIM_BANJO_LONGLEG_WALK = 0x42, + ASSET_41_ANIM_BSLONGLEG_IDLE, + ASSET_42_ANIM_BSLONGLEG_WALK, ASSET_43_ANIM_BANJO_BEAKBOMB_START, ANIM_BANJO_FLY_ENTER = 0x45, @@ -2054,20 +2060,26 @@ enum asset_e ASSET_54_ANIM_CONGA_THROW, ASSET_55_ANIM_CONGA_BEAT_CHEST, ASSET_56_ANIM_CONGA_RAISE_ARMS, + ASSET_57_ANIM_BSSWIM_IDLE, ANIM_BANJO_SLIDE_BACK = 0x59, ANIM_BANJO_SLIDE_FRONT = 0x5A, - ANIM_TERMITE_IDLE = 0x5E, - ANIM_TERMITE_WALK = 0x5F, + ASSET_5E_ANIM_BSANT_IDLE = 0x5E, + ASSET_5F_ANIM_BSANT_WALK = 0x5F, ANIM_TERMITE_JUMP = 0x60, ASSET_65_ANIM_BEEHIVE_DIE = 0x65, + ASSET_6F_ANIM_BSSTAND_IDLE = 0x6F, + ASSET_70_ANIM_BANJO_DIVE_IDLE, + ASSET_71_ANIM_BANJO_BSDIVE_SWIM_SLOW, + ASSET_94_ANIM_GRUBLIN_DIE = 0x94, ASSET_9E_ANIM_TEEHEE_IDLE = 0x9E, ASSET_9F_ANIM_TEEHEE_ALERTED, + ASSET_A0_ANIM_BSPUMPKIN_WALK, ASSET_A3_ANIM_NAPPER_SLEEPING = 0xA3, ASSET_A4_ANIM_NAPPER_AWAKE, @@ -2076,8 +2088,8 @@ enum asset_e ASSET_AC_ANIM_TEEHEE_CHASE = 0xAC, - ASSET_B1_ANIM_BANJO_CLIMB_IDLE_1 = 0xb1, - ASSET_B2_ANIM_BANJO_CLIMB_IDLE_2, + ASSET_B1_ANIM_BSCLIMB_IDLE_1 = 0xb1, + ASSET_B2_ANIM_BSCLIMB_IDLE_2, ASSET_C3_ANIM_CLANKER_IDLE = 0xC3, ASSET_C4_ANIM_CLANKER_BITE, @@ -2099,6 +2111,9 @@ enum asset_e ASSET_DC_ANIM_GOBI_ROPE_PULLING, ASSET_DD_ANIM_GOBI_ROPE, + ASSET_E0_ANIM_BSCROC_WALK = 0xE0, + ASSET_E1_ANIM_BSCROC_IDLE = 0xE1, + // ASSET_E5_ANIM_SLAPPA_APPEAR = 0xE5, // ASSET_E6_ANIM_SLAPPA_IDLE, // ASSET_E7_ANIM_SLAPPA_HIDE, @@ -2132,6 +2147,9 @@ enum asset_e ANIM_BANJO_CROUCH_NOINPUT = 0x116, + ASSET_11F_ANIM_BSWALRUS_IDLE = 0x11F, + ASSET_120_ANIM_BSWALRUS_WALK = 0x120, + ASSET_125_ANIM_YUMBLIE_APPEAR = 0x125, ASSET_126_ANIM_YUMBLIE_HIDE, ASSET_127_ANIM_YUMBLIE_IDLE, @@ -2159,6 +2177,8 @@ enum asset_e ASSET_147_ANIM_BOOMBOX_MOVE, ASSET_148_ANIM_BOOMBOX_DIE, + ASSET_14A_ANIM_BANJO_LISTENING = 0x14A, + ASSET_153_ANIM_BURIED_TREASURE_APPEAR = 0x153, ASSET_15A_ANIM_GRILL_CHOMPA_ATTACK = 0x15A, @@ -2193,6 +2213,10 @@ enum asset_e ASSET_18E_ANIM_CATERPILLAR_IDLE = 0x18E, + ASSET_19B_ANIM_UNKNOWN = 0x19B, + + ASSET_19E_ANIM_BSWALRUS_SLED = 0x19E, + ASSET_1A1_ANIM_SLED = 0x1A1, ASSET_1A2_ANIM_NABNUT_SLEEP, diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg index 433ce22d..81c638cf 100644 --- a/progress/progress_core2.svg +++ b/progress/progress_core2.svg @@ -17,7 +17,7 @@ core2 - 78.5048% - 78.5048% + 78.6359% + 78.6359% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index 0f36be65..b1d05fa6 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 82.6493% - 82.6493% + 82.7246% + 82.7246% \ No newline at end of file diff --git a/src/core2/bs/ant.c b/src/core2/bs/ant.c index aea37da6..6930f589 100644 --- a/src/core2/bs/ant.c +++ b/src/core2/bs/ant.c @@ -71,12 +71,12 @@ int bsant_inSet(s32 move_indx){ || (move_indx == BS_3E_ANT_OW) || (move_indx == BS_43_ANT_DIE) || (move_indx == 0x8e) - || (move_indx == BS_ANT_DRONE); + || (move_indx == BS_92_ANT_DRONE); } void bsant_idle_init(void){ func_8029E554(); - func_8028A010(ANIM_TERMITE_IDLE, 1.2f); + func_8028A010(ASSET_5E_ANIM_BSANT_IDLE, 1.2f); func_8029C7F4(1,1,1,2); func_80297970(0.0f); pitch_setAngVel(1000.0f, 12.0f); @@ -112,7 +112,7 @@ void bsant_idle_end(void){ void bsant_walk_init(void){ func_8029E554(); - func_8028A010(ANIM_TERMITE_WALK, 0.8f); + func_8028A010(ASSET_5F_ANIM_BSANT_WALK, 0.8f); func_8029C7F4(2,1,1,2); func_80289EC8(D_80364960, D_80364964, D_80364968, D_8036496C); func_802900B4(); @@ -447,7 +447,7 @@ void bsant_die_end(void){ void func_8029F398(void){ func_8029E554(); - func_8028A010(ANIM_TERMITE_IDLE, 2.0f); + func_8028A010(ASSET_5E_ANIM_BSANT_IDLE, 2.0f); func_8029C7F4(1,1,3,2); func_80297970(0.0f); func_8029C674(); diff --git a/src/core2/bs/bFly.c b/src/core2/bs/bFly.c index c9da9736..f694ee4d 100644 --- a/src/core2/bs/bFly.c +++ b/src/core2/bs/bFly.c @@ -123,9 +123,9 @@ int bsbfly_inSet(enum bs_e arg0){ || arg0 == BS_18_FLY_KNOCKBACK || arg0 == BS_59_BFLY_UNK59 || arg0 == BS_FLY_OW - || arg0 == BS_BFLY_UNK76 + || arg0 == BS_76_BFLY_LOCKED || arg0 == BS_24_FLY - || arg0 == BS_BFLY_UNK99; + || arg0 == BS_99_BFLY_DRONE; } int func_802A37F8(void){ @@ -177,7 +177,7 @@ void bsbfly_enter_end(void){ } void bsbfly_init(void){ - func_8028A010(ANIM_BANJO_FLY, 0.62f); + func_8028A010(ASSET_38_BANJO_FLY, 0.62f); func_8029C7F4(1,1,3,3); if(miscflag_isTrue(9)){ func_80297970(0.0f); @@ -754,7 +754,7 @@ void func_802A4F44(void){ } void func_802A4F74(void) { - func_8028A010(ANIM_BANJO_FLY, 0.62f); + func_8028A010(ASSET_38_BANJO_FLY, 0.62f); func_8029C7F4(1, 1, 3, 7); func_8029E070(1); func_802914CC(4); diff --git a/src/core2/bs/bLongLeg.c b/src/core2/bs/bLongLeg.c index 7688aeea..a2d31047 100644 --- a/src/core2/bs/bLongLeg.c +++ b/src/core2/bs/bLongLeg.c @@ -46,8 +46,8 @@ int bslongleg_inSet(s32 move_indx){ || (move_indx == BS_LONGLEG_JUMP) || (move_indx == BS_LONGLEG_EXIT) || (move_indx == BS_LONGLEG_SLIDE) - || (move_indx == BS_LONGLEG_DRONE) - || (move_indx == BS_LONGLEG_UNK62); + || (move_indx == BS_9B_LONGLEG_DRONE) + || (move_indx == BS_62_LONGLEG_LOCKED); } void func_802A531C(void){ @@ -151,7 +151,7 @@ void bsblongleg_enter_end(void){ } void bsblongleg_stand_enter(void){ - func_8028A010(ANIM_BANJO_LONGLEG_IDLE, 1.0f); + func_8028A010(ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f); func_8029C7F4(1,1,1,2); func_80297970(0.0f); func_80292090(2); @@ -195,7 +195,7 @@ void bsblongleg_walk_init(void){ AnimCtrl *aCtrl = _player_getAnimCtrlPtr(); animctrl_reset(aCtrl); - animctrl_setIndex(aCtrl, ANIM_BANJO_LONGLEG_WALK); + animctrl_setIndex(aCtrl, ASSET_42_ANIM_BSLONGLEG_WALK); animctrl_setPlaybackType(aCtrl, ANIMCTRL_LOOP); func_802875AC(aCtrl, "bsblongleg.c", 0x1a1); func_8029C7F4(2,1,1,2); @@ -458,7 +458,7 @@ void func_802A6388(f32 arg0){ } void func_802A6394(void){ - func_8028A010(ANIM_BANJO_LONGLEG_IDLE, 1.0f); + func_8028A010(ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f); func_8029C7F4(1,1,3,2); func_80297970(0.0f); func_802A5374(); diff --git a/src/core2/bs/bSwim.c b/src/core2/bs/bSwim.c index 44adf4f1..bd637a30 100644 --- a/src/core2/bs/bSwim.c +++ b/src/core2/bs/bSwim.c @@ -86,7 +86,7 @@ bool bsbswim_inSet(enum bs_e move_id){ || move_id == BS_2C_DIVE_B || move_id == BS_39_DIVE_A || move_id == BS_30_DIVE_ENTER - || move_id == BS_78 + || move_id == BS_78_DIVE_LOCKED || move_id == BS_7F_DIVE_OW || move_id == BS_54_SWIM_DIE || move_id == BS_97_DIVE_LOCKED diff --git a/src/core2/bs/bTrot.c b/src/core2/bs/bTrot.c index f845d178..b6cd4773 100644 --- a/src/core2/bs/bTrot.c +++ b/src/core2/bs/bTrot.c @@ -238,7 +238,7 @@ void bsbtrot_enter_end(void){ } void bsbtrot_stand_init(void){ - func_8028A010(ANIM_BANJO_BTROT_IDLE, 1.2f); + func_8028A010(ASSET_26_ANIM_BTROT_IDLE, 1.2f); func_8029C7F4(1,1,1,2); func_80297970(0.0f); func_802A8A40(); @@ -675,7 +675,7 @@ void bsbtrot_fall_end(void){ } void bsbtrot_unk79_init(void){ - func_8028A010(ANIM_BANJO_BTROT_IDLE, 1.2f); + func_8028A010(ASSET_26_ANIM_BTROT_IDLE, 1.2f); func_8029C7F4(1,1,3,2); func_80297970(0.0f); func_802A8A40(); diff --git a/src/core2/bs/bWhirl.c b/src/core2/bs/bWhirl.c index 7940f61b..f7f51bd2 100644 --- a/src/core2/bs/bWhirl.c +++ b/src/core2/bs/bWhirl.c @@ -104,7 +104,7 @@ void bsbwhirl_enter_end(void){ } void bsbwhirl_stand_init(void){ - func_8028A010(ANIM_BANJO_WONDERWING_IDLE, 1.0f); + func_8028A010(ASSET_23_ANIM_BSWONDERWING_IDLE, 1.0f); func_8029C7F4(1,1,1,2); func_80297970(0.0f); } @@ -130,7 +130,7 @@ void bsbwhirl_stand_end(void){ } void bsbwhirl_walk_init(void){ - func_8028A010(ANIM_BANJO_WONDERWING_WALK, 0.53f); + func_8028A010(ASSET_11_ANIM_BSWONDERWING_WALK, 0.53f); func_80289EC8(D_80364AD0, D_80364AD4, D_80364AD8, D_80364ADC); func_8029C7F4(2,1,1,2); @@ -282,7 +282,7 @@ void bsbwhirl_drone_end(void){ } void func_802AADBC(void){ - func_8028A010(ANIM_BANJO_WONDERWING_IDLE, 1.0f); + func_8028A010(ASSET_23_ANIM_BSWONDERWING_IDLE, 1.0f); func_8029C7F4(1,1,3,2); func_80297970(0.0f); func_8029C674(); diff --git a/src/core2/bs/climb.c b/src/core2/bs/climb.c index a90f5e7e..b4d732cd 100644 --- a/src/core2/bs/climb.c +++ b/src/core2/bs/climb.c @@ -77,7 +77,7 @@ void bsclimb_idle_init(void){ yaw_applyIdeal(); } ability_use(4); - func_8028A010(ASSET_B2_ANIM_BANJO_CLIMB_IDLE_2, 2.64f); + func_8028A010(ASSET_B2_ANIM_BSCLIMB_IDLE_2, 2.64f); func_80289F10(1); func_802AB654(); @@ -94,13 +94,13 @@ void bsclimb_idle_update(void){ case 0: D_8037D3D4 -= time_getDelta(); if(D_8037D3D4 <= 0.0f){ - func_8028A180(ASSET_B1_ANIM_BANJO_CLIMB_IDLE_1, 2.96f); + func_8028A180(ASSET_B1_ANIM_BSCLIMB_IDLE_1, 2.96f); D_8037D3D0 = 1; } break; case 1: if(animctrl_isStopped(anim_ctrl)){ - func_8028A010(ASSET_B2_ANIM_BANJO_CLIMB_IDLE_2, 2.64f); + func_8028A010(ASSET_B2_ANIM_BSCLIMB_IDLE_2, 2.64f); func_802AB750(3.0f, 4.0f); D_8037D3D0 = 0; } @@ -190,7 +190,7 @@ void bsclimb_move_end(void){ //bsclimb_unknown_9E_init void func_802ABCCC(void){ - func_8028A010(ASSET_B2_ANIM_BANJO_CLIMB_IDLE_2, 2.64f); + func_8028A010(ASSET_B2_ANIM_BSCLIMB_IDLE_2, 2.64f); func_80289F10(1); func_802AB654(); func_802978DC(7); diff --git a/src/core2/bs/croc.c b/src/core2/bs/croc.c index 4373bb32..01402e9b 100644 --- a/src/core2/bs/croc.c +++ b/src/core2/bs/croc.c @@ -96,8 +96,8 @@ int bscroc_inSet(enum bs_e state){ || state == BS_6E_CROC_BITE || state == BS_CROC_EAT_BAD || state == BS_70_CROC_EAT_GOOD - || state == BS_CROC_LOCKED - || state == BS_CROC_DRONE; + || state == BS_8D_CROC_LOCKED + || state == BS_94_CROC_DRONE; } void bscroc_idle_init(void){ diff --git a/src/core2/bs/dronegoto.c b/src/core2/bs/dronegoto.c index d31f83e2..bbb957d0 100644 --- a/src/core2/bs/dronegoto.c +++ b/src/core2/bs/dronegoto.c @@ -70,7 +70,7 @@ void func_802AECE4(void){ } if( 250.0f <= gu_sqrtf(sp20[0]*sp20[0] + sp20[2]*sp20[2]) - && animctrl_getIndex(aCtrl) == ANIM_BANJO_WALK + && animctrl_getIndex(aCtrl) == ASSET_3_ANIM_BANJO_WALK ){ animctrl_reset(aCtrl); animctrl_setIndex(aCtrl, ANIM_BANJO_RUN); diff --git a/src/core2/bs/rest.c b/src/core2/bs/rest.c index c8d98581..2b91c83a 100644 --- a/src/core2/bs/rest.c +++ b/src/core2/bs/rest.c @@ -100,7 +100,7 @@ void func_802B3D1C(void) { next_state = 0; if (player_inWater() != 0) { - next_state = BS_77; + next_state = BS_77_SWIM_LOCKED; } if (func_802B3BB0() != 0) { next_state = bs_getIdleState(); @@ -126,7 +126,7 @@ void func_802B3DBC(void) { next_state = 0; if (player_inWater() != 0) { - next_state = BS_77; + next_state = BS_77_SWIM_LOCKED; } if (func_802B3BB0() != 0) { next_state = bs_getIdleState(); @@ -154,7 +154,7 @@ void func_802B3E64(void) { next_state = 0; func_8029C6D0(); if (player_inWater()) { - next_state = BS_77; + next_state = BS_77_SWIM_LOCKED; } if (func_802B3BB0()) { next_state = bs_getIdleState(); diff --git a/src/core2/bs/swim.c b/src/core2/bs/swim.c index 67464ed1..b7265c4f 100644 --- a/src/core2/bs/swim.c +++ b/src/core2/bs/swim.c @@ -97,7 +97,7 @@ bool bsswim_inset(enum bs_e state_id){ return state_id == BS_2D_SWIM_IDLE || state_id == BS_2E_SWIM || state_id == BS_4C_LANDING_IN_WATER - || state_id == BS_77 + || state_id == BS_77_SWIM_LOCKED || state_id == BS_96_SWIM_LOCKED ; } diff --git a/src/core2/bs/walk.c b/src/core2/bs/walk.c index a3f27bba..7802e4c5 100644 --- a/src/core2/bs/walk.c +++ b/src/core2/bs/walk.c @@ -199,7 +199,7 @@ void bswalk_slow_init(void){ sp20 = 0.0f; } animctrl_reset(s0); - animctrl_setIndex(s0, ANIM_BANJO_WALK); + animctrl_setIndex(s0, ASSET_3_ANIM_BANJO_WALK); animctrl_setDuration(s0, 0.43f); func_8028774C(s0, sp20); animctrl_setPlaybackType(s0, ANIMCTRL_LOOP); diff --git a/src/core2/bs/walrus.c b/src/core2/bs/walrus.c index 909af4a6..18284f0e 100644 --- a/src/core2/bs/walrus.c +++ b/src/core2/bs/walrus.c @@ -125,7 +125,7 @@ int func_802B8190(enum bs_e state){ || state == BS_7E_WALRUS_SLED || state == 0x82 || state == 0x80 - || state == BS_7D_WALRUS_SLED_DRONE; + || state == BS_9C_WALRUS_SLED_DRONE; } int func_802B81F0(enum bs_e state){ @@ -135,7 +135,7 @@ int func_802B81F0(enum bs_e state){ || state == BS_6A_WALRUS_FALL || state == BS_WALRUS_OW || state == BS_WALRUS_DIE - || state == BS_WALRUS_DRONE + || state == BS_95_WALRUS_DRONE || func_802B8190(state); } diff --git a/src/core2/code_12F30.c b/src/core2/code_12F30.c index 98f3fdd3..58f184c2 100644 --- a/src/core2/code_12F30.c +++ b/src/core2/code_12F30.c @@ -4,8 +4,88 @@ extern f32 func_80294404(void); -extern s16 D_80364580[]; +/* .data */ +s16 D_80364580[] = { + MAP_7_TTC_TREASURE_TROVE_COVE, + MAP_2_MM_MUMBOS_MOUNTAIN, + MAP_1B_MMM_MAD_MONSTER_MANSION, + MAP_B_CC_CLANKERS_CAVERN, + MAP_21_CC_WITCH_SWITCH_ROOM, + MAP_22_CC_INSIDE_CLANKER, + MAP_23_CC_GOLDFEATHER_ROOM, + MAP_28_MMM_EGG_ROOM, + MAP_29_MMM_NOTE_ROOM, + MAP_2A_MMM_FEATHER_ROOM, + MAP_2C_MMM_BATHROOM, + MAP_2D_MMM_BEDROOM, + MAP_2E_MMM_HONEYCOMB_ROOM, + MAP_2B_MMM_SECRET_CHURCH_ROOM, + MAP_26_MMM_NAPPERS_ROOM, + MAP_1C_MMM_CHURCH, + MAP_1D_MMM_CELLAR, + MAP_31_RBB_RUSTY_BUCKET_BAY, + MAP_34_RBB_ENGINE_ROOM, + MAP_35_RBB_WAREHOUSE, + MAP_36_RBB_BOATHOUSE, + MAP_3A_RBB_BOSS_BOOM_BOX, + MAP_37_RBB_CONTAINER_1, + MAP_3E_RBB_CONTAINER_2, + MAP_38_RBB_CONTAINER_3, + MAP_39_RBB_CREW_CABIN, + MAP_3F_RBB_CAPTAINS_CABIN, + MAP_3B_RBB_STORAGE_ROOM, + MAP_3C_RBB_KITCHEN, + MAP_3D_RBB_NAVIGATION_ROOM, + MAP_8B_RBB_ANCHOR_ROOM, + MAP_43_CCW_SPRING, + MAP_44_CCW_SUMMER, + MAP_45_CCW_AUTUMN, + MAP_46_CCW_WINTER, + MAP_5A_CCW_SUMMER_ZUBBA_HIVE, + MAP_5B_CCW_SPRING_ZUBBA_HIVE, + MAP_5C_CCW_AUTUMN_ZUBBA_HIVE, + MAP_5E_CCW_SPRING_NABNUTS_HOUSE, + MAP_5F_CCW_SUMMER_NABNUTS_HOUSE, + MAP_60_CCW_AUTUMN_NABNUTS_HOUSE, + MAP_61_CCW_WINTER_NABNUTS_HOUSE, + MAP_62_CCW_WINTER_HONEYCOMB_ROOM, + MAP_63_CCW_AUTUMN_NABNUTS_WATER_SUPPLY, + MAP_64_CCW_WINTER_NABNUTS_WATER_SUPPLY, + MAP_65_CCW_SPRING_WHIPCRACK_ROOM, + MAP_66_CCW_SUMMER_WHIPCRACK_ROOM, + MAP_67_CCW_AUTUMN_WHIPCRACK_ROOM, + MAP_68_CCW_WINTER_WHIPCRACK_ROOM, + MAP_11_BGS_TIPTUP, + MAP_10_BGS_MR_VILE, + MAP_C_MM_TICKERS_TOWER, + MAP_8F_TTC_SHARKFOOD_ISLAND, + MAP_8D_MMM_INSIDE_LOGGO, + MAP_69_GL_MM_LOBBY, + MAP_6A_GL_TTC_AND_CC_PUZZLE, + MAP_6B_GL_180_NOTE_DOOR, + MAP_6C_GL_RED_CAULDRON_ROOM, + MAP_6D_GL_TTC_LOBBY, + MAP_70_GL_CC_LOBBY, + MAP_71_GL_STATUE_ROOM, + MAP_72_GL_BGS_LOBBY, + MAP_6E_GL_GV_LOBBY, + MAP_6F_GL_FP_LOBBY, + MAP_74_GL_GV_PUZZLE, + MAP_75_GL_MMM_LOBBY, + MAP_7A_GL_CRYPT, + MAP_76_GL_640_NOTE_DOOR, + MAP_77_GL_RBB_LOBBY, + MAP_78_GL_RBB_AND_MMM_PUZZLE, + MAP_79_GL_CCW_LOBBY, + MAP_80_GL_FF_ENTRANCE, + MAP_90_GL_BATTLEMENTS, + MAP_93_GL_DINGPOT, + MAP_92_GV_SNS_CHAMBER, + MAP_8C_SM_BANJOS_HOUSE, + 0 +}; +/* .rodata */ extern f32 D_80374CF0; extern f64 D_80374CF8; extern f64 D_80374D00; @@ -147,7 +227,7 @@ void func_8029A4D0(void){ D_8037C6F0.unk4[0] = 255.0f; D_8037C6F0.unk4[1] = 255.0f; D_8037C6F0.unk4[2] = 255.0f; - for(i = 0; D_80364580[i]; i++){ + for(i = 0; D_80364580[i] != 0; i++){ if(map_id == D_80364580[i]){ D_8037C6F0.unk0 = 1; break; diff --git a/src/core2/code_14420.c b/src/core2/code_14420.c index 18ae23b3..9bf09709 100644 --- a/src/core2/code_14420.c +++ b/src/core2/code_14420.c @@ -38,15 +38,141 @@ enum bs_14420_e{ /* .data */ s32 D_80364620 = 0; -s16 D_80364624[14] = {0}; -u8 D_80364640[16] = {0}; -Struct_core2_13FC0 D_80364650[14] = {0}; -Struct_core2_13FC0 D_803646C0[14] = {0}; -Struct_core2_13FC0 D_80364730[14] = {0}; -Struct_core2_13FC0 D_803647A0[14] = {0}; -Struct_core2_13FC0 D_80364810[14] = {0}; -Struct_core2_13FC0 D_80364880[14] = {0}; -Struct_core2_13FC0 D_803648F0[14] = {0}; +s16 D_80364624[14] = { + BS_35_ANT_IDLE, + BS_48_PUMPKIN_IDLE, + BS_5E_CROC_IDLE, + BS_67_WALRUS_IDLE, + BS_2D_SWIM_IDLE, + BS_2B_DIVE_IDLE, + BS_1_IDLE, + BS_24_FLY, + BS_15_BTROT_IDLE, + BS_26_LONGLEG_IDLE, + BS_7D_WALRUS_SLED, + BS_85_BEE_IDLE, + BS_4F_CLIMB_IDLE, + BS_1B_WONDERWING_IDLE +}; + +u8 D_80364640[14] = {1, 1, 1, 1, 0, 0, 1, 0 , 1, 1, 1, 1, 0, 1}; +Struct_core2_13FC0 D_80364650[14] = { + {BS_92_ANT_DRONE, ASSET_5F_ANIM_BSANT_WALK, 0.4f}, + {BS_93_PUMPKIN_DRONE, ASSET_A0_ANIM_BSPUMPKIN_WALK, 0.4f}, + {BS_94_CROC_DRONE, ASSET_E0_ANIM_BSCROC_WALK, 0.6f}, + {BS_95_WALRUS_DRONE, ASSET_120_ANIM_BSWALRUS_WALK, 0.7f}, + {BS_96_SWIM_LOCKED, ASSET_39_ANIM_BSSWIM_SWIM, 0.8f}, + {BS_97_DIVE_LOCKED, ASSET_71_ANIM_BANJO_BSDIVE_SWIM_SLOW, 0.75f}, + {BS_98_WALK_DRONE, ASSET_3_ANIM_BANJO_WALK, 0.43f}, + {BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f}, + {BS_9A_BTROT_DRONE, ANIM_15_ANIM_BTROT_WALK, 0.53f}, + {BS_9B_LONGLEG_DRONE, ASSET_42_ANIM_BSLONGLEG_WALK, 0.8f}, + {BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f}, + {BS_9D_BEE_DRONE, ASSET_1DC_ANIM_BEE_FLY, 0.38f}, + {BS_98_WALK_DRONE, ASSET_3_ANIM_BANJO_WALK, 0.43f}, + {BS_A4_WONDERWING_DRONE, ASSET_11_ANIM_BSWONDERWING_WALK, 0.53f} +}; + +Struct_core2_13FC0 D_803646C0[14] = { + {BS_92_ANT_DRONE, ASSET_5E_ANIM_BSANT_IDLE, 1.2f}, + {BS_93_PUMPKIN_DRONE, ASSET_A0_ANIM_BSPUMPKIN_WALK, 0.8f}, + {BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f}, + {BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f}, + {BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f}, + {BS_97_DIVE_LOCKED, ASSET_70_ANIM_BANJO_DIVE_IDLE, 2.0f}, + {BS_98_WALK_DRONE, ASSET_19B_ANIM_UNKNOWN, 4.5f}, + {BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f}, + {BS_9A_BTROT_DRONE, ASSET_26_ANIM_BTROT_IDLE, 1.2f}, + {BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f}, + {BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f}, + {BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f}, + {BS_98_WALK_DRONE, ASSET_B2_ANIM_BSCLIMB_IDLE_2, 2.64f}, + {BS_A4_WONDERWING_DRONE, ASSET_23_ANIM_BSWONDERWING_IDLE, 1.0f}, +}; + +Struct_core2_13FC0 D_80364730[14] = { + {BS_92_ANT_DRONE, ASSET_5E_ANIM_BSANT_IDLE, 1.2f}, + {BS_93_PUMPKIN_DRONE, ASSET_A0_ANIM_BSPUMPKIN_WALK, 0.8f}, + {BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f}, + {BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f}, + {BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f}, + {BS_97_DIVE_LOCKED, ASSET_70_ANIM_BANJO_DIVE_IDLE, 2.0f}, + {BS_98_WALK_DRONE, ASSET_19B_ANIM_UNKNOWN, 4.5f}, + {BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f}, + {BS_9A_BTROT_DRONE, ASSET_26_ANIM_BTROT_IDLE, 1.2f}, + {BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f}, + {BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f}, + {BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f}, + {BS_98_WALK_DRONE, ASSET_B2_ANIM_BSCLIMB_IDLE_2, 2.64f}, + {BS_A4_WONDERWING_DRONE, ASSET_23_ANIM_BSWONDERWING_IDLE, 1.0f}, +}; + +Struct_core2_13FC0 D_803647A0[14] = { + {BS_92_ANT_DRONE, ASSET_5E_ANIM_BSANT_IDLE, 1.2f}, + {BS_93_PUMPKIN_DRONE, ASSET_A0_ANIM_BSPUMPKIN_WALK, 0.8f}, + {BS_94_CROC_DRONE, ASSET_E1_ANIM_BSCROC_IDLE, 1.0f}, + {BS_95_WALRUS_DRONE, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f}, + {BS_96_SWIM_LOCKED, ASSET_57_ANIM_BSSWIM_IDLE, 1.2f}, + {BS_97_DIVE_LOCKED, ASSET_70_ANIM_BANJO_DIVE_IDLE, 2.0f}, + {BS_98_WALK_DRONE, ASSET_6F_ANIM_BSSTAND_IDLE, 5.5f}, + {BS_99_BFLY_DRONE, ASSET_38_BANJO_FLY, 0.62f}, + {BS_9A_BTROT_DRONE, ASSET_26_ANIM_BTROT_IDLE, 1.2f}, + {BS_9B_LONGLEG_DRONE, ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f}, + {BS_9C_WALRUS_SLED_DRONE, ASSET_19E_ANIM_BSWALRUS_SLED, 0.8f}, + {BS_9D_BEE_DRONE, ASSET_1DE_ANIM_BEE_IDLE, 3.0f}, + {BS_98_WALK_DRONE, ASSET_B2_ANIM_BSCLIMB_IDLE_2, 2.64f}, + {BS_A4_WONDERWING_DRONE, ASSET_23_ANIM_BSWONDERWING_IDLE, 1.0f} +}; + +Struct_core2_13FC0 D_80364810[14] = { + {BS_8E_ANT_LOCKED, 0, 0.0f}, + {BS_8F_PUMPKIN_LOCKED, 0, 0.0f}, + {BS_8D_CROC_LOCKED, 0, 0.0f}, + {BS_73_UNKNOWN, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f}, + {BS_77_SWIM_LOCKED, 0, 0.0f}, + {BS_78_DIVE_LOCKED, 0, 0.0f}, + {BS_73_UNKNOWN, ASSET_14A_ANIM_BANJO_LISTENING, 11.4f}, + {BS_76_BFLY_LOCKED, 0, 0.0f}, + {BS_79_BTROT_LOCKED, 0, 0.0f}, + {BS_62_LONGLEG_LOCKED, 0, 0.0f}, + {BS_81_WALRUS_SLED_LOCKED, 0, 0.0f}, + {BS_6B_BEE_LOCKED, 0, 0.0f}, + {BS_9E_CLIMB_LOCKED, 0, 0.0f}, + {BS_A5_WONDERWING_UNKA5, 0, 0.0f}, +}; + +Struct_core2_13FC0 D_80364880[14] = { + {BS_8E_ANT_LOCKED, 0, 0.0f}, + {BS_8F_PUMPKIN_LOCKED, 0, 0.0f}, + {BS_8D_CROC_LOCKED, 0, 0.0f}, + {BS_74_UNKNOWN, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f}, + {BS_77_SWIM_LOCKED, 0, 0.0f}, + {BS_78_DIVE_LOCKED, 0, 0.0f}, + {BS_74_UNKNOWN, ASSET_6F_ANIM_BSSTAND_IDLE, 5.5f}, + {BS_76_BFLY_LOCKED, 0, 0.0f}, + {BS_79_BTROT_LOCKED, 0, 0.0f}, + {BS_62_LONGLEG_LOCKED, 0, 0.0f}, + {BS_81_WALRUS_SLED_LOCKED, 0, 0.0f}, + {BS_6B_BEE_LOCKED, 0, 0.0f}, + {BS_9E_CLIMB_LOCKED, 0, 0.0f}, + {BS_A5_WONDERWING_UNKA5, 0, 0.0f} +}; +Struct_core2_13FC0 D_803648F0[14] = { + {BS_8E_ANT_LOCKED, 0, 0.0f}, + {BS_8F_PUMPKIN_LOCKED, 0, 0.0f}, + {BS_8D_CROC_LOCKED, 0, 0.0f}, + {BS_75_UNKNOWN, ASSET_11F_ANIM_BSWALRUS_IDLE, 4.0f}, + {BS_77_SWIM_LOCKED, 0, 0.0f}, + {BS_78_DIVE_LOCKED, 0, 0.0f}, + {BS_75_UNKNOWN, ASSET_14A_ANIM_BANJO_LISTENING, 11.4f}, + {BS_76_BFLY_LOCKED, 0, 0.0f}, + {BS_79_BTROT_LOCKED, 0, 0.0f}, + {BS_62_LONGLEG_LOCKED, 0, 0.0f}, + {BS_81_WALRUS_SLED_LOCKED, 0, 0.0f}, + {BS_6B_BEE_LOCKED, 0, 0.0f}, + {BS_9E_CLIMB_LOCKED, 0, 0.0f}, + {BS_A5_WONDERWING_UNKA5, 0, 0.0f} +}; /* .bss */ // extern struct { @@ -379,7 +505,7 @@ enum bs_e func_8029BDBC(void) { return D_80364624[func_8029BAF0()]; } -enum bs_e func_8029BDE8(void) { +bool func_8029BDE8(void) { return D_80364640[func_8029BAF0()]; } @@ -654,7 +780,7 @@ void func_8029C834(enum map_e map_id, s32 exit_id){ void func_8029C848(AnimCtrl *arg0) { switch(_player_getTransformation()) { case TRANSFORM_2_TERMITE: //L8029C880 - animctrl_setIndex(arg0, ANIM_TERMITE_IDLE); + animctrl_setIndex(arg0, ASSET_5E_ANIM_BSANT_IDLE); animctrl_setDuration(arg0, 2.0f); break; diff --git a/src/core2/code_79C80.c b/src/core2/code_79C80.c index b6c0ea6f..1da24b30 100644 --- a/src/core2/code_79C80.c +++ b/src/core2/code_79C80.c @@ -5,11 +5,19 @@ extern s32 D_80276588; extern s32 D_8027658C; -extern BKSprite * D_8036A910; -extern BKSprite * D_8036A914; -extern Gfx D_8036A918[]; - -extern f32 D_80377480; +/* .data */ +BKSprite * D_8036A910 = NULL; +BKSprite * D_8036A914 = NULL; +Gfx D_8036A918[] = { + gsDPPipeSync(), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), + gsSPSetGeometryMode(G_SHADE | G_TEXTURE_GEN_LINEAR | G_SHADING_SMOOTH), + gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), + gsSPEndDisplayList(), +}; /* .bss */ s32 D_80381EF0; @@ -35,12 +43,24 @@ void func_80300C10(void) { } } +void func_80300C70(enum item_e item_id, struct8s *arg1){ + s32 temp_a0; + s32 temp_a0_2; -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_80300C70.s") + if (D_8036A910 != 0) { + func_8033BD4C(D_8036A910); + D_8036A910 = 0; + } + if (D_8036A914 != 0) { + func_8033BD4C(D_8036A914); + D_8036A914 = 0; + } + func_80300C10(); +} struct7s *func_80300CD8(enum item_e item_id){ func_80300C10(); - D_80381EFC = D_80377480; + D_80381EFC = 0.68f; return &D_80381F30; } @@ -122,8 +142,96 @@ void func_80300D0C(enum item_e item_id, struct8s *arg1, Gfx **gfx, Mtx **mtx, Vt } #endif -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_803012B8.s") +bool func_803012B8(f32 arg0, s32 arg1, s32 arg2){ + if(arg1 == 0) + return TRUE; + + return (arg0 < D_80381F08[arg1 - 1]); +} -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_803012F8.s") +void func_803012F8(void) { + D_80381EF0 = 1; + D_80381F28 = 0.0f; + func_803463D4(ITEM_14_HEALTH, 0); + D_80381F04 = (f32) item_getCount(ITEM_14_HEALTH); +} -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_80301348.s") + +void func_80301348(enum item_e item_id, struct8s *arg1) { + f32 temp_f20; + s32 var_s0; + s32 sp2C; + + + temp_f20 = time_getDelta(); + sp2C = func_802FB0D4(arg1); + if (item_getCount(ITEM_15_HEALTH_TOTAL) >= 9) { + D_80381F00 = 8; + } else { + D_80381F00 = item_getCount(ITEM_15_HEALTH_TOTAL); + } + + switch (D_80381EF0) { + case 0: + D_80381F04 = (f32) itemPrint_getValue(item_id); + break; + + case 1: + D_80381F04 += temp_f20 * 10.0f; + if (D_80381F00 <= D_80381F04) { + D_80381F04 = D_80381F04 - D_80381F00; + } + D_80381F28 += temp_f20; + if (D_80381F28 > 2.5) { + D_80381EF0 = 2; + } + func_803463D4(ITEM_14_HEALTH, 0); + break; + + case 2: + if (sp2C != 1) { + D_80381F04 += temp_f20 * 10.0f; + if (D_80381F00 <= D_80381F04) { + D_80381F04 = D_80381F04 - D_80381F00; + } + } + if (randf2(0.0f, 1.0f) < (1.0 / D_80381F00)) { + if (D_80381F04 < 1.0f) { + D_80381F04 =D_80381F04 + 1.0; + } + if (item_getCount(ITEM_14_HEALTH) < D_80381F04) { + func_8025A6EC(COMUSIC_2B_DING_B, 22000); + } + if (D_80381F04 < (f32) item_getCount(ITEM_14_HEALTH)) { + func_8025A6EC(COMUSIC_2C_BUZZER, 22000); + } + item_set(ITEM_14_HEALTH, (s32) D_80381F04); + D_80381EF0 = 0; + } + break; + } + switch (sp2C) { + case 2: + break; + + case 1: + if (D_8036A910 == NULL) { + D_8036A910 = assetcache_get(ASSET_7DD_SPRITE_HEALTH); + } + if (D_8036A914 == NULL) { + D_8036A914 = assetcache_get(0x7EA); + } + break; + + case 0: + func_80300C70(item_id, arg1); + break; + } + if (sp2C) { + for(var_s0 = 0; var_s0 < D_80381F00; var_s0++){ + if (func_803012B8(-15.0f, var_s0, D_80381F00)) { + D_80381F08[var_s0] = D_80381F08[var_s0] * 0.6; + } + } + } +} \ No newline at end of file diff --git a/src/core2/code_7A760.c b/src/core2/code_7A760.c index 8bf3e39b..cb835305 100644 --- a/src/core2/code_7A760.c +++ b/src/core2/code_7A760.c @@ -2,7 +2,18 @@ #include "functions.h" #include "variables.h" -extern BKSprite *D_8036A960; +/* .data */ +BKSprite *D_8036A960 = NULL; +Gfx D_8036A968[] ={ + gsDPPipeSync(), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), + gsSPSetGeometryMode(G_SHADE | G_TEXTURE_GEN_LINEAR | G_SHADING_SMOOTH), + gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineLERP(0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0), + gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), + gsSPEndDisplayList(), +}; /* .rodata */ extern f64 D_803774A0; diff --git a/src/core2/code_90E0.c b/src/core2/code_90E0.c index cfb19f0d..15bea115 100644 --- a/src/core2/code_90E0.c +++ b/src/core2/code_90E0.c @@ -12,8 +12,24 @@ typedef struct { } Struct_core2_7060_0; /* .data */ -extern Struct_core2_7060_0 D_803636D0; -extern Struct_core2_7060_0 D_80363754; +Struct_core2_7060_0 D_803636D0[] = { + {2.0f, 1, 0.1f}, + {0.034f, 0, 0.1f}, + {5.0f, 1, 0.06f}, + {0.034f, 0, 0.06f}, + {0.2f, 1, 0.09f}, + {0.034f, 0, 0.09f}, + {1.0f, 1, 0.1f}, + {0.034f, 0, 0.1f}, + {5.0f, 1, 0.1f}, + {0.034f, 0, 0.1f}, + {1.0f, 4, 0.0f} +}; +Struct_core2_7060_0 D_80363754[] = { + {0.0f, 1, 0.1f}, + {0.034f, 0, 0.1f}, + {0.0f, 4, 0.0f} +}; /* .bss */ struct{ @@ -39,11 +55,11 @@ void func_80290090(Struct_core2_7060_0 *arg0){ } void func_802900B4(void){ - func_80290090(&D_803636D0); + func_80290090(D_803636D0); } void func_802900D8(void){ - func_80290090(&D_80363754); + func_80290090(D_80363754); } void func_802900FC(void){ diff --git a/src/core2/code_E910.c b/src/core2/code_E910.c index 675dbb81..e2e54e34 100644 --- a/src/core2/code_E910.c +++ b/src/core2/code_E910.c @@ -98,7 +98,7 @@ bsMap D_80363824[] ={ {BS_CROC_WALK, bscroc_walk_init, bscroc_walk_update, bscroc_walk_end, func_802B5350}, {BS_CROC_JUMP, bscroc_jump_init, bscroc_jump_update, bscroc_jump_end, func_802B5350}, {BS_61_CROC_FALL, bscroc_fall_init, bscroc_fall_update, bscroc_fall_end, func_802B5350}, - {BS_LONGLEG_UNK62, func_802A6394, func_802A63F0, func_802A6450, func_80296608}, + {BS_62_LONGLEG_LOCKED, func_802A6394, func_802A63F0, func_802A6450, func_80296608}, {BS_CROC_OW, bscroc_ow_init, bscroc_ow_update, bscroc_ow_end, func_80296590}, {BS_CROC_DIE, bscroc_die_init, bscroc_die_update, bscroc_die_end, func_80296590}, {BS_67_WALRUS_IDLE, bswalrus_idle_init, bswalrus_idle_update, bswalrus_idle_end, func_802B5350}, @@ -137,22 +137,22 @@ bsMap D_80363824[] ={ {BS_BEE_DIE, bsbeemain_die_init, func_802A1DD8, func_802A1F2C, func_80296590}, {0x0000008B, func_802A0590, func_802A0630, func_802A0704, func_802B5350}, {BS_BEE_FLY, bsbeefly_enter, bsbeefly_update, bsbeefly_end, func_802B5350}, - {BS_CROC_LOCKED, func_802AD56C, func_802AD5C0, func_802AD614, func_802B5350}, + {BS_8D_CROC_LOCKED, func_802AD56C, func_802AD5C0, func_802AD614, func_802B5350}, {0x0000008E, func_8029F398, func_8029F3F4, func_8029F440, func_802B5350}, {BS_8F_PUMPKIN_LOCKED, func_802B34A0, func_802B34F8, func_802B353C, func_802B5350}, {BS_FLY_OW, func_802A4D30, func_802A4D50, func_802A4D70, func_802A505C}, - {BS_ANT_DRONE, bsant_drone_init, bsant_drone_update, bsant_drone_end, bsdrone_interrupt}, + {BS_92_ANT_DRONE, bsant_drone_init, bsant_drone_update, bsant_drone_end, bsdrone_interrupt}, {BS_93_PUMPKIN_DRONE, bspumpkin_drone_init, bspumpkin_drone_update, bspumpkin_drone_end, bsdrone_interrupt}, - {BS_CROC_DRONE, bscroc_drone_init, bscroc_drone_update, bscroc_drone_end, bsdrone_interrupt}, - {BS_WALRUS_DRONE, bswalrus_drone_init, bswalrus_drone_update, bswalrus_drone_end, bsdrone_interrupt}, + {BS_94_CROC_DRONE, bscroc_drone_init, bscroc_drone_update, bscroc_drone_end, bsdrone_interrupt}, + {BS_95_WALRUS_DRONE, bswalrus_drone_init, bswalrus_drone_update, bswalrus_drone_end, bsdrone_interrupt}, {BS_96_SWIM_LOCKED, func_802B5F58, func_802B5F80, func_802B5FA0, bsdrone_interrupt}, {BS_97_DIVE_LOCKED, func_802A874C, func_802A8774, func_802A8794, bsdrone_interrupt}, - {BS_WALK_DRONE, bswalk_drone_init, bswalk_drone_update, bswalk_drone_end, bsdrone_interrupt}, + {BS_98_WALK_DRONE, bswalk_drone_init, bswalk_drone_update, bswalk_drone_end, bsdrone_interrupt}, {0x00000099, func_802A50B0, func_802A50D8, func_802A50F8, bsdrone_interrupt}, - {BS_BTROT_DRONE, bsbtrot_drone_init, bsbtrot_drone_update, bsbtrot_drone_end, bsdrone_interrupt}, - {BS_LONGLEG_DRONE, bsblongleg_drone_init, bsblongleg_drone_update, bsblongleg_drone_end, bsdrone_interrupt}, + {BS_9A_BTROT_DRONE, bsbtrot_drone_init, bsbtrot_drone_update, bsbtrot_drone_end, bsdrone_interrupt}, + {BS_9B_LONGLEG_DRONE, bsblongleg_drone_init, bsblongleg_drone_update, bsblongleg_drone_end, bsdrone_interrupt}, {0x0000009C, bswalrus_sled_drone_init, bswalrus_sled_drone_update, bswalrus_sled_drone_end, bsdrone_interrupt}, - {BS_BEE_DRONE, bsbee_drone_init, bsbee_drone_update, bsbee_drone_end, bsdrone_interrupt}, + {BS_9D_BEE_DRONE, bsbee_drone_init, bsbee_drone_update, bsbee_drone_end, bsdrone_interrupt}, {0x0000009E, func_802ABCCC, func_802ABD0C, func_802ABD40, func_802ABD60}, {BS_ANT_BOUNCE, bsant_bounce_init, bsant_bounce_update, bsant_bounce_end, func_80296590}, {BS_PUMPKIN_BOUNCE, func_802B303C, func_802B305C, func_802B307C, func_80296590}, diff --git a/subyaml/core2.us.v10.yaml b/subyaml/core2.us.v10.yaml index ac16d593..c10e5c0f 100644 --- a/subyaml/core2.us.v10.yaml +++ b/subyaml/core2.us.v10.yaml @@ -425,7 +425,7 @@ segments: - [0xDC680, .data, code_3480] - [0xDC6A0, .data, code_47C0] - [0xDC700, .data, code_7060] - - [0xDC740, bin, data_DC740] #.data, code_90E0 + - [0xDC740, .data, code_90E0] - [0xDC7F0, .data, code_AA60] - [0xDC7F0, .data, code_B850] - [0xDC810, .data, code_BB50] @@ -434,7 +434,8 @@ segments: - [0xDD4B0, .data, code_FD60] - [0xDD4C0, .data, code_117D0] - [0xDD5D0, .data, code_126C0] - - [0xDD5F0, bin, data_DD5F0] + - [0xDD5F0, .data, code_12F30] + - [0xDD690, .data, code_14420] - [0xDD9D0, .data, bs/ant] - [0xDDA00, .data, bs/bbuster] - [0xDDA20, .data, bs/beeFly] @@ -532,8 +533,10 @@ segments: - [0xE2790, .data, code_74090] - [0xE2840, .data, code_74290] - [0xE2870, bin, data_E2870] - - [0xE3320,.data, fxcommon3score] - - [0xE3980, bin, data_E3980] + - [0xE3320, .data, fxcommon3score] + - [0xE3980, .data, code_79C80] + - [0xE39D0, .data, code_7A760] + - [0xE3A20, bin, data_E3A20] - [0xE3C50, .data, code_82000] - [0xE4870, bin, data_E4870] - [0xE5730, .data, gc/zoombox] @@ -745,7 +748,8 @@ segments: - [0xF0470, bin, data_F0470] #.rodata, code_78100] - [0xF04A0, .rodata, code_78100] - [0xF04D0, .rodata, fxcommon3score] - - [0xF04F0, bin, data_F04F0] + - [0xF04F0, .rodata, code_79C80] + - [0xF0500, bin, data_F0500] - [0xF0520, .rodata, code_7AF80] - [0xF0540, bin, data_F0540] - [0xF14C0, .rodata, gc/transition]