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]