core2/code_83D70.c done
This commit is contained in:
@@ -7,6 +7,65 @@
|
|||||||
|
|
||||||
typedef void (*bsStateMethod)(void);
|
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{
|
typedef struct bs_state_s{
|
||||||
bsStateMethod init_func;
|
bsStateMethod init_func;
|
||||||
bsStateMethod update_func;
|
bsStateMethod update_func;
|
||||||
@@ -21,11 +80,11 @@ typedef struct bs_map_s{
|
|||||||
|
|
||||||
void bsList_clearAll(void);
|
void bsList_clearAll(void);
|
||||||
void bsList_setInitMethod(enum bs_e i, bsStateMethod func);
|
void bsList_setInitMethod(enum bs_e i, bsStateMethod func);
|
||||||
void bsList_setUpdateMethod(s32 i, bsStateMethod func);
|
void bsList_setUpdateMethod(enum bs_e i, bsStateMethod func);
|
||||||
void bsList_setEndMethod(s32 i, bsStateMethod func);
|
void bsList_setEndMethod(enum bs_e i, bsStateMethod func);
|
||||||
void bsList_setInterruptMethod(s32 i, bsStateMethod func);
|
void bsList_setInterruptMethod(enum bs_e i, bsStateMethod func);
|
||||||
bsStateMethod bsList_getInitMethod(s32 i);
|
bsStateMethod bsList_getInitMethod(enum bs_e i);
|
||||||
bsStateMethod bsList_getUpdateMethod(s32 i);
|
bsStateMethod bsList_getUpdateMethod(enum bs_e i);
|
||||||
bsStateMethod bsList_getEndMethod(s32 i);
|
bsStateMethod bsList_getEndMethod(enum bs_e i);
|
||||||
bsStateMethod bsList_getInterruptMethod(s32 i);
|
bsStateMethod bsList_getInterruptMethod(enum bs_e i);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1865,11 +1865,11 @@ enum bs_e
|
|||||||
BS_3A_CARRY_IDLE,
|
BS_3A_CARRY_IDLE,
|
||||||
BS_CARRY_WALK = 0x3B,
|
BS_CARRY_WALK = 0x3B,
|
||||||
BS_3C,
|
BS_3C,
|
||||||
BS_3D_FALL_TUMBLING = 0x3D,
|
BS_3D_FALL_TUMBLING,
|
||||||
BS_3E_ANT_OW = 0x3E,
|
BS_3E_ANT_OW,
|
||||||
BS_3F,
|
BS_3F,
|
||||||
//BS_PUMPKIN_unk40,
|
BS_40_PUMPKIN_FLUSH,
|
||||||
BS_41_DIE = 0x41,
|
BS_41_DIE,
|
||||||
BS_42_DINGPOT,
|
BS_42_DINGPOT,
|
||||||
BS_43_ANT_DIE,
|
BS_43_ANT_DIE,
|
||||||
BS_44_JIG_JIGGY,
|
BS_44_JIG_JIGGY,
|
||||||
@@ -1935,7 +1935,7 @@ enum bs_e
|
|||||||
BS_7D_WALRUS_SLED,
|
BS_7D_WALRUS_SLED,
|
||||||
BS_7E_WALRUS_SLED,
|
BS_7E_WALRUS_SLED,
|
||||||
BS_7F_DIVE_OW = 0x7F,
|
BS_7F_DIVE_OW = 0x7F,
|
||||||
//BS_7D_WALRUS_SLED_LOSE = 0x80,
|
BS_80_WALRUS_SLED_LOSE,
|
||||||
BS_81_WALRUS_SLED_LOCKED = 0x81,
|
BS_81_WALRUS_SLED_LOCKED = 0x81,
|
||||||
BS_82_WALRUS_SLED_LOSE_IN_AIR,
|
BS_82_WALRUS_SLED_LOSE_IN_AIR,
|
||||||
|
|
||||||
@@ -3898,10 +3898,18 @@ enum misc_flag_e{
|
|||||||
MISC_FLAG_1_ON_FLIGHT_PAD = 0x1,
|
MISC_FLAG_1_ON_FLIGHT_PAD = 0x1,
|
||||||
MISC_FLAG_2_ON_SPRING_PAD,
|
MISC_FLAG_2_ON_SPRING_PAD,
|
||||||
|
|
||||||
|
MISC_FLAG_5_HAS_PECKED = 0x5,
|
||||||
|
|
||||||
MISC_FLAG_E_TOUCHING_WADING_BOOTS = 0xE,
|
MISC_FLAG_E_TOUCHING_WADING_BOOTS = 0xE,
|
||||||
|
|
||||||
MISC_FLAG_10_TOUCHING_TURBO_TRAINERS = 0x10,
|
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
|
MISC_FLAG_1B_TRANSFORMING = 0x1B
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
#include "ml/mtx.h"
|
#include "ml/mtx.h"
|
||||||
#include "bs_funcs.h"
|
#include "bs_funcs.h"
|
||||||
|
|
||||||
|
#include "bsint.h"
|
||||||
|
|
||||||
extern f32 fabsf(f32);
|
extern f32 fabsf(f32);
|
||||||
#pragma intrinsic (fabsf)
|
#pragma intrinsic (fabsf)
|
||||||
|
|
||||||
@@ -132,9 +134,9 @@ s32 bs_getPrevState(void);
|
|||||||
s32 bs_getState(void);
|
s32 bs_getState(void);
|
||||||
s32 bs_getNextState(void);
|
s32 bs_getNextState(void);
|
||||||
void bs_updateState(void);
|
void bs_updateState(void);
|
||||||
s32 bs_checkInterrupt(s32 arg0);
|
s32 bs_checkInterrupt(enum bs_interrupt_e arg0);
|
||||||
void func_8029A86C(s32 arg0);
|
void func_8029A86C(s32 arg0);
|
||||||
s32 bs_getInterruptType(void);
|
enum bs_interrupt_e bs_getInterruptType(void);
|
||||||
|
|
||||||
/* vla - variable length array*/
|
/* vla - variable length array*/
|
||||||
void vector_clear(VLA *this);
|
void vector_clear(VLA *this);
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
<text x="22.0" y="14">core2</text>
|
<text x="22.0" y="14">core2</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">79.6919%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">79.7336%</text>
|
||||||
<text x="77.5" y="14">79.6919%</text>
|
<text x="77.5" y="14">79.7336%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -17,7 +17,7 @@
|
|||||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">83.3305%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">83.3544%</text>
|
||||||
<text x="183.5" y="14">83.3305%</text>
|
<text x="183.5" y="14">83.3544%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -81,7 +81,7 @@ void func_8038BB40(ActorMarker * arg0){
|
|||||||
local = (ActorLocal_MrVile *)&this->local;
|
local = (ActorLocal_MrVile *)&this->local;
|
||||||
if(func_8038A9E0(local->game_marker) >= 3){
|
if(func_8038A9E0(local->game_marker) >= 3){
|
||||||
item_set(ITEM_14_HEALTH, 0);
|
item_set(ITEM_14_HEALTH, 0);
|
||||||
func_8028F66C(0xF);
|
func_8028F66C(BS_INTR_F);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
item_dec(ITEM_14_HEALTH);
|
item_dec(ITEM_14_HEALTH);
|
||||||
|
@@ -378,9 +378,9 @@ void chvilegame_player_consume_piece(Actor *this) {
|
|||||||
timedFunc_set_1(0.5f, func_802FDCB8, 0x1A);
|
timedFunc_set_1(0.5f, func_802FDCB8, 0x1A);
|
||||||
timedFunc_set_1(1.0f, 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) {
|
if (!is_correct_type) {
|
||||||
func_8028F66C(0x18);
|
func_8028F66C(BS_INTR_18_CROC_ATE_WRONG);
|
||||||
}
|
}
|
||||||
func_8038B684(i_ptr->marker);
|
func_8038B684(i_ptr->marker);
|
||||||
return;
|
return;
|
||||||
|
@@ -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])) {
|
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);
|
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);
|
func_8028FA54(D_8038FDE0);
|
||||||
if ((local->unk0->map_id == MAP_44_CCW_SUMMER) && (local->unk4 == 0)) {
|
if ((local->unk0->map_id == MAP_44_CCW_SUMMER) && (local->unk4 == 0)) {
|
||||||
func_80311480(0xCD8, 4, NULL, NULL, NULL, NULL);
|
func_80311480(0xCD8, 4, NULL, NULL, NULL, NULL);
|
||||||
|
@@ -143,7 +143,7 @@ void chnabnut_update(Actor *this) {
|
|||||||
}
|
}
|
||||||
if (this->unk138_24 && !func_803114B0()) {
|
if (this->unk138_24 && !func_803114B0()) {
|
||||||
func_8028F364(this->position, 500.0f, 200.0f, ACTOR_2A9_ACORN, &this);
|
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);
|
func_8028FA54(D_8038F350);
|
||||||
local->returned_acorn_count++;
|
local->returned_acorn_count++;
|
||||||
if (local->returned_acorn_count == 6) {
|
if (local->returned_acorn_count == 6) {
|
||||||
|
@@ -46,7 +46,7 @@ void func_803864F4(ActorMarker *this_marker, ActorMarker *other_marker){
|
|||||||
if(this->state != 1) return;
|
if(this->state != 1) return;
|
||||||
if(player_getTransformation() != TRANSFORM_1_BANJO) 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);
|
func_803863F0(this, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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};
|
f32 D_80391E74[3] = {-5.0f, 180.0f, 1.0f};
|
||||||
Struct_FP_3E00 D_80391E80[] ={
|
Struct_FP_3E00 D_80391E80[] ={
|
||||||
{0x11, 0x1FD, 0x1ED, 0x1EE},
|
{0x11, MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, 0x1EE},
|
||||||
{0x12, 0x1FE, 0x1EF, 0x1F0},
|
{0x12, MARKER_1FE_GREEN_PRESENT_COLLECTABLE, ACTOR_1EF_GREEN_PRESENT_COLLECTABLE, 0x1F0},
|
||||||
{0x13, 0x1FF, 0x1F1, 0x1F2}
|
{0x13, MARKER_1FF_RED_PRESENT_COLLECTABLE, ACTOR_1F1_RED_PRESENT_COLLECTABLE, 0x1F2}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .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);
|
func_8028F31C((*this_ptr)->position, 600.0f, actor_id, this_ptr);
|
||||||
|
|
||||||
if(!func_80329530(*this_ptr, 400)) return;
|
if(!func_80329530(*this_ptr, 400)) return;
|
||||||
if(func_8028E88C() != arg1) return;
|
if(carriedObj_getMarkerId() != carried_obj_marker_id) return;
|
||||||
if(!func_8028FC34()) return;
|
if(!func_8028FC34()) return;
|
||||||
|
|
||||||
func_8028FA34(arg3, *this_ptr);
|
func_8028FA34(arg3, *this_ptr);
|
||||||
|
@@ -198,7 +198,7 @@ void func_8038B130(enum jiggy_e jiggy_id){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8038B190(void){
|
void func_8038B190(void){
|
||||||
func_8028F66C(0x2B);
|
func_8028F66C(BS_INTR_2B);
|
||||||
mapSpecificFlags_set(4, FALSE);
|
mapSpecificFlags_set(4, FALSE);
|
||||||
func_8028F918(0);
|
func_8028F918(0);
|
||||||
}
|
}
|
||||||
@@ -223,7 +223,7 @@ void func_8038B268(void){
|
|||||||
timedFunc_set_0(0.0f, func_8038AEA0);
|
timedFunc_set_0(0.0f, func_8038AEA0);
|
||||||
timedFunc_set_0(0.0f, func_8038B0B8);
|
timedFunc_set_0(0.0f, func_8038B0B8);
|
||||||
func_8028FA14(map_get(), 0x11);
|
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){
|
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
|
case 0xc10: //8038B358
|
||||||
func_8038ABDC();
|
func_8038ABDC();
|
||||||
func_8028FA14(map_get(), 0x11);
|
func_8028FA14(map_get(), 0x11);
|
||||||
func_8028F66C(0x2A);
|
func_8028F66C(BS_INTR_2A);
|
||||||
timedFunc_set_0(0.0f, func_8038B1C4);
|
timedFunc_set_0(0.0f, func_8038B1C4);
|
||||||
break;
|
break;
|
||||||
}//L8038B38C
|
}//L8038B38C
|
||||||
|
@@ -58,7 +58,7 @@ void func_803869FC(ActorMarker *this_marker, ActorMarker *other_marker){
|
|||||||
if( this->position_y + 20.0f < plyr_pos[1]
|
if( this->position_y + 20.0f < plyr_pos[1]
|
||||||
&& func_8028F20C()
|
&& func_8028F20C()
|
||||||
&& player_getTransformation() == TRANSFORM_4_WALRUS
|
&& 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
|
func_80386920(this, 3); //start_race
|
||||||
}
|
}
|
||||||
|
@@ -191,7 +191,7 @@ void func_8038E4DC(Actor *this){
|
|||||||
}
|
}
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
if(func_803348CC() == 3){
|
if(exit_get() == 3){
|
||||||
if(0.65 < this->unk48 && this->unk48 < 0.95){
|
if(0.65 < this->unk48 && this->unk48 < 0.95){
|
||||||
func_80343E20(0x6a, 0x7ff8, 0.32842f, 0x34);
|
func_80343E20(0x6a, 0x7ff8, 0.32842f, 0x34);
|
||||||
}
|
}
|
||||||
@@ -291,7 +291,7 @@ void func_8038E97C(Actor *this){
|
|||||||
|
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
if(func_803348CC() == 7){
|
if(exit_get() == 7){
|
||||||
this->position_z += 117.0;
|
this->position_z += 117.0;
|
||||||
this->position_y += 130.0;
|
this->position_y += 130.0;
|
||||||
this->unk38_31 = 30;
|
this->unk38_31 = 30;
|
||||||
|
@@ -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.6f, 32750);
|
||||||
FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 32725);
|
FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 32725);
|
||||||
func_8030E6D4(SFX_7F_HEAVYDOOR_SLAM);
|
func_8030E6D4(SFX_7F_HEAVYDOOR_SLAM);
|
||||||
func_8028F66C(0x26);
|
func_8028F66C(BS_INTR_26);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next_state == 6){
|
if(next_state == 6){
|
||||||
|
@@ -85,7 +85,7 @@ void func_80390270(s32 next_state){
|
|||||||
func_803204E4(5, 0);
|
func_803204E4(5, 0);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
func_8028F66C(0xf);
|
func_8028F66C(BS_INTR_F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@ void func_803904A8(void){
|
|||||||
player_getPosition(sp38);
|
player_getPosition(sp38);
|
||||||
sp48 = func_8033F3E8(func_80309744(0), sp38, 0x190, 0x1a0);
|
sp48 = func_8033F3E8(func_80309744(0), sp38, 0x190, 0x1a0);
|
||||||
if(sp48 == D_80391AE0.tile1_0->unk0 || sp48 == D_80391AE0.tile2_4->unk0){
|
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;
|
D_80391AE0.tile1_0 = D_80391AE0.tile2_4 = NULL;
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@ ActorInfo chlmonkeyInfo = { MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHI
|
|||||||
void func_80388300(Actor **arg0){
|
void func_80388300(Actor **arg0){
|
||||||
func_8028F31C((*arg0)->position, 800.0f, ACTOR_29_ORANGE_COLLECTABLE, arg0);
|
func_8028F31C((*arg0)->position, 800.0f, ACTOR_29_ORANGE_COLLECTABLE, arg0);
|
||||||
if( func_80329530(*arg0, 0x159)
|
if( func_80329530(*arg0, 0x159)
|
||||||
&& func_8028E88C() == 0x36
|
&& carriedObj_getMarkerId() == MARKER_36_ORANGE_COLLECTABLE
|
||||||
&& func_8028FC34()
|
&& func_8028FC34()
|
||||||
){
|
){
|
||||||
func_8028FA34(0xc6, *arg0);
|
func_8028FA34(0xc6, *arg0);
|
||||||
|
@@ -109,7 +109,7 @@ void chLoggo_update(Actor *this){
|
|||||||
FUNC_8030E8B4(SFX_92_TOILET_FLUSH, 1.0f, 32000, this->position, 600, 1500);
|
FUNC_8030E8B4(SFX_92_TOILET_FLUSH, 1.0f, 32000, this->position, 600, 1500);
|
||||||
levelSpecificFlags_set(0x33, TRUE);
|
levelSpecificFlags_set(0x33, TRUE);
|
||||||
ml_vec3f_assign(sp38, this->position_x - 50.0f, this->position_y + 50.0f, this->position_z);
|
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){
|
if(0.0 < this->unk60){
|
||||||
|
@@ -89,7 +89,7 @@ void func_8038A140(UNK_TYPE(s32) arg0) {
|
|||||||
mapSpecificFlags_set(4, 1);
|
mapSpecificFlags_set(4, 1);
|
||||||
}
|
}
|
||||||
if (arg0 == 4) {
|
if (arg0 == 4) {
|
||||||
func_8028F66C(0xF);
|
func_8028F66C(BS_INTR_F);
|
||||||
}
|
}
|
||||||
D_8038C510.unk8 = arg0;
|
D_8038C510.unk8 = arg0;
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ void func_8038AF90(Struct_MMM_47D0_0 *arg0, Struct68s *arg1, f32 arg2) {
|
|||||||
func_8024E71C(0, sp40);
|
func_8024E71C(0, sp40);
|
||||||
sp3C = func_8038AD4C(arg0, arg1);
|
sp3C = func_8038AD4C(arg0, arg1);
|
||||||
if (sp3C) {
|
if (sp3C) {
|
||||||
func_8028F66C(0xD);
|
func_8028F66C(BS_INTR_D_SURF);
|
||||||
}
|
}
|
||||||
if (sp3C && ((sp40[0] != 0.0f) || (sp40[1] != 0.0f))) {
|
if (sp3C && ((sp40[0] != 0.0f) || (sp40[1] != 0.0f))) {
|
||||||
func_8024C764(sp70);
|
func_8024C764(sp70);
|
||||||
|
@@ -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);
|
func_8028F364(local->throw_target_position, local->throw_target_radius, 100.0f, ACTOR_2A_GOLD_BULLION, this_ptr);
|
||||||
if( func_80329530(*this_ptr, 200)
|
if( func_80329530(*this_ptr, 200)
|
||||||
&& func_8028E88C() == 0x37
|
&& carriedObj_getMarkerId() == MARKER_37_GOLD_BULLION
|
||||||
&& func_8028FC34()
|
&& func_8028FC34()
|
||||||
){
|
){
|
||||||
func_8028FA34(!mapSpecificFlags_get(0)? 0x149 : 0x14a, *this_ptr);
|
func_8028FA34(!mapSpecificFlags_get(0)? 0x149 : 0x14a, *this_ptr);
|
||||||
|
@@ -461,7 +461,7 @@ void func_8038B2F0(void) {
|
|||||||
func_803204E4(3, FALSE);
|
func_803204E4(3, FALSE);
|
||||||
func_803204E4(5, FALSE);
|
func_803204E4(5, FALSE);
|
||||||
} else {
|
} else {
|
||||||
func_8028F66C(0xF);
|
func_8028F66C(BS_INTR_F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) {
|
if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) {
|
||||||
|
@@ -29,7 +29,7 @@ void bsbflap_init(void) {
|
|||||||
player_setYVelocity(0.0f);
|
player_setYVelocity(0.0f);
|
||||||
gravity_set(D_80364A14);
|
gravity_set(D_80364A14);
|
||||||
func_8029E070(1);
|
func_8029E070(1);
|
||||||
miscflag_set(0x12);
|
miscflag_set(MISC_FLAG_12_HAS_FLAPPED);
|
||||||
func_8029E3C0(0, 2.5f);
|
func_8029E3C0(0, 2.5f);
|
||||||
D_8037D30C = func_8030D90C();
|
D_8037D30C = func_8030D90C();
|
||||||
func_80299BD4();
|
func_80299BD4();
|
||||||
|
@@ -779,7 +779,7 @@ void func_802A503C(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A505C(void){
|
void func_802A505C(void){
|
||||||
if(bs_getInterruptType() == 9){
|
if(bs_getInterruptType() == BS_INTR_9){
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
miscflag_set(7);
|
miscflag_set(7);
|
||||||
func_8029CCC4();
|
func_8029CCC4();
|
||||||
|
@@ -63,7 +63,7 @@ void func_802A664C(void){
|
|||||||
sp1C = 1.32f;
|
sp1C = 1.32f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
miscflag_set(5);
|
miscflag_set(MISC_FLAG_5_HAS_PECKED);
|
||||||
func_8030E58C(SFX_42_KAZOOIE_RAH, sp1C);
|
func_8030E58C(SFX_42_KAZOOIE_RAH, sp1C);
|
||||||
player_setYVelocity(D_80364A64);
|
player_setYVelocity(D_80364A64);
|
||||||
D_8037D375++;
|
D_8037D375++;
|
||||||
|
@@ -66,7 +66,7 @@ bool func_802A73BC(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802A744C(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);
|
func_8035644C(0xAC);
|
||||||
}
|
}
|
||||||
roll_setAngularVelocity(30.0f, 0.9f);
|
roll_setAngularVelocity(30.0f, 0.9f);
|
||||||
|
@@ -118,7 +118,7 @@ void func_802A8AD8(void){
|
|||||||
if(func_802916CC(3)){
|
if(func_802916CC(3)){
|
||||||
if(func_8029DFE0()){
|
if(func_8029DFE0()){
|
||||||
func_8029E0DC(0);
|
func_8029E0DC(0);
|
||||||
if(miscflag_isFalse(0x14))
|
if(miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE))
|
||||||
func_8030E484(0x3eb);
|
func_8030E484(0x3eb);
|
||||||
func_803219F4(1);
|
func_803219F4(1);
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "bsint.h"
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
const f32 D_80364AF0 = 30.0f;
|
const f32 D_80364AF0 = 30.0f;
|
||||||
@@ -43,7 +44,7 @@ void bscarry_idle_update(void){
|
|||||||
if(func_8029B300() > 0)
|
if(func_8029B300() > 0)
|
||||||
sp1C = BS_CARRY_WALK;
|
sp1C = BS_CARRY_WALK;
|
||||||
|
|
||||||
if(func_802948EC() == 0)
|
if(carriedobj_getMarker() == NULL)
|
||||||
sp1C = BS_1_IDLE;
|
sp1C = BS_1_IDLE;
|
||||||
|
|
||||||
bs_setState(sp1C);
|
bs_setState(sp1C);
|
||||||
@@ -72,7 +73,7 @@ void bscarry_walk_update(void){
|
|||||||
if(func_8029B300() == 0 && func_80297C04(1.0f))
|
if(func_8029B300() == 0 && func_80297C04(1.0f))
|
||||||
sp1C = BS_3A_CARRY_IDLE;
|
sp1C = BS_3A_CARRY_IDLE;
|
||||||
|
|
||||||
if(!func_802948EC())
|
if(carriedobj_getMarker() == NULL)
|
||||||
sp1C = BS_1_IDLE;
|
sp1C = BS_1_IDLE;
|
||||||
|
|
||||||
bs_setState(sp1C);
|
bs_setState(sp1C);
|
||||||
@@ -94,12 +95,12 @@ void bscarry_interrupt(void){
|
|||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
bs_setState(0x3C);
|
bs_setState(BS_3C);
|
||||||
break;
|
break;
|
||||||
case 0x12:
|
case 0x12:
|
||||||
func_8028DE6C(carriedObject_getActorID());
|
func_8028DE6C(carriedObject_getActorID());
|
||||||
break;
|
break;
|
||||||
case 0x16:
|
case BS_INTR_16_THROW_CARRIED_OBJ:
|
||||||
if(func_802916CC(1)){
|
if(func_802916CC(1)){
|
||||||
bs_setState(BS_CARRY_THROW);
|
bs_setState(BS_CARRY_THROW);
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
|
@@ -213,7 +213,7 @@ void func_802ABD40(void){
|
|||||||
//bsclimb_interrupt
|
//bsclimb_interrupt
|
||||||
void func_802ABD60(void){
|
void func_802ABD60(void){
|
||||||
s32 next_state = 0;
|
s32 next_state = 0;
|
||||||
if(bs_getInterruptType() == 0xC){
|
if(bs_getInterruptType() == BS_INTR_C_CLIMB){
|
||||||
D_8037D3D8 = TRUE;
|
D_8037D3D8 = TRUE;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
u8 D_8037D4B0;
|
u8 D_8037D4B0;
|
||||||
u8 D_8037D4B1;
|
u8 D_8037D4B1;
|
||||||
u8 D_8037D4B2;
|
u8 D_8037D4B2;
|
||||||
ActorMarker *D_8037D4B4;
|
ActorMarker *bsjig_gJiggyMarker;
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
int bsjig_inJiggyJig(enum bs_e state){
|
int bsjig_inJiggyJig(enum bs_e state){
|
||||||
@@ -14,7 +14,7 @@ int bsjig_inJiggyJig(enum bs_e state){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsjig_setJiggyMarkerPtr(ActorMarker * jiggyMarkerPtr){
|
void bsjig_setJiggyMarkerPtr(ActorMarker * jiggyMarkerPtr){
|
||||||
D_8037D4B4 = jiggyMarkerPtr;
|
bsjig_gJiggyMarker = jiggyMarkerPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bsjig_jiggy_init(void){
|
void bsjig_jiggy_init(void){
|
||||||
@@ -43,13 +43,13 @@ void bsjig_jiggy_init(void){
|
|||||||
miscflag_clear(7);
|
miscflag_clear(7);
|
||||||
miscflag_clear(0xf);
|
miscflag_clear(0xf);
|
||||||
func_8028D5DC();
|
func_8028D5DC();
|
||||||
func_802C82C0(marker_getActor(D_8037D4B4), 1);
|
func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 1);
|
||||||
D_8037D4B0 = 0;
|
D_8037D4B0 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802B0BA8(void){
|
void func_802B0BA8(void){
|
||||||
if(D_8037D4B4){
|
if(bsjig_gJiggyMarker){
|
||||||
func_802C82C0(marker_getActor(D_8037D4B4), 4);
|
func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,9 +83,9 @@ void bsjig_jiggy_update(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802B0CD8(void){
|
void func_802B0CD8(void){
|
||||||
if(D_8037D4B4){
|
if(bsjig_gJiggyMarker){
|
||||||
func_802C82C0(marker_getActor(D_8037D4B4), 5);
|
func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 5);
|
||||||
D_8037D4B4 = NULL;
|
bsjig_gJiggyMarker = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ void bsjig_jiggy_end(void){
|
|||||||
s32 sp28 = 4;
|
s32 sp28 = 4;
|
||||||
int sp24;
|
int sp24;
|
||||||
sp2C = 0;
|
sp2C = 0;
|
||||||
sp24 = marker_getActor(D_8037D4B4)->unk38_31;
|
sp24 = marker_getActor(bsjig_gJiggyMarker)->unk38_31;
|
||||||
if(D_8037D4B0 == 0)
|
if(D_8037D4B0 == 0)
|
||||||
item_inc(ITEM_E_JIGGY);
|
item_inc(ITEM_E_JIGGY);
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@ void bsjig_jiggy_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsjig_jiggy_interrupt(void){
|
void bsjig_jiggy_interrupt(void){
|
||||||
if(bs_getInterruptType() == 0x26)
|
if(bs_getInterruptType() == BS_INTR_26)
|
||||||
func_80296608();
|
func_80296608();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -95,7 +95,7 @@ void bsjump_update(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
_get_velocity(&velocity);
|
_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();
|
gravity_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,7 +216,7 @@ void bsjump_fall_update(void){
|
|||||||
if(func_8028B424())
|
if(func_8028B424())
|
||||||
sp2C = BS_3D_FALL_TUMBLING;
|
sp2C = BS_3D_FALL_TUMBLING;
|
||||||
|
|
||||||
if(should_flap() && miscflag_isFalse(5))
|
if(should_flap() && miscflag_isFalse(MISC_FLAG_5_HAS_PECKED))
|
||||||
sp2C = BS_BFLAP;
|
sp2C = BS_BFLAP;
|
||||||
|
|
||||||
if(should_peck())
|
if(should_peck())
|
||||||
@@ -230,7 +230,7 @@ void bsjump_fall_update(void){
|
|||||||
}
|
}
|
||||||
else if(player_inWater()){
|
else if(player_inWater()){
|
||||||
func_8029CCC4();
|
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;
|
sp2C = BS_D_TIMEOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -159,7 +159,7 @@ void func_802B3E64(void) {
|
|||||||
if (func_802B3BB0()) {
|
if (func_802B3BB0()) {
|
||||||
next_state = bs_getIdleState();
|
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);
|
next_state = func_8029CA94(next_state);
|
||||||
}
|
}
|
||||||
bs_setState(next_state);
|
bs_setState(next_state);
|
||||||
|
@@ -2,23 +2,23 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
ActorMarker *D_8037D510;
|
ActorMarker *bssled_gSledMarker;
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_802B3F20(void){
|
void func_802B3F20(void){
|
||||||
Actor *actor;
|
Actor *sled;
|
||||||
|
|
||||||
D_8037D510 = func_80296554();
|
bssled_gSledMarker = func_80296554();
|
||||||
actor = marker_getActor(D_8037D510);
|
sled = marker_getActor(bssled_gSledMarker);
|
||||||
actor->unk138_20 = TRUE;
|
sled->unk138_20 = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802B3F60(void){
|
void func_802B3F60(void){
|
||||||
Actor *actor;
|
Actor *sled;
|
||||||
if(D_8037D510 != NULL){
|
if(bssled_gSledMarker != NULL){
|
||||||
actor = marker_getActor(D_8037D510);
|
sled = marker_getActor(bssled_gSledMarker);
|
||||||
actor->unk138_20 = FALSE;
|
sled->unk138_20 = FALSE;
|
||||||
D_8037D510 = NULL;
|
bssled_gSledMarker = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ void bssled_init(void){
|
|||||||
|
|
||||||
void bssled_update(void){
|
void bssled_update(void){
|
||||||
s32 state = 0;
|
s32 state = 0;
|
||||||
if(D_8037D510 == NULL)
|
if(bssled_gSledMarker == NULL)
|
||||||
state = BS_2F_FALL;
|
state = BS_2F_FALL;
|
||||||
bs_setState(state);
|
bs_setState(state);
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ void bssled_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bssled_interrupt(void){
|
void bssled_interrupt(void){
|
||||||
if(bs_getInterruptType() == 0x28){
|
if(bs_getInterruptType() == BS_INTR_28){
|
||||||
func_802B3F60();
|
func_802B3F60();
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
}
|
}
|
||||||
|
@@ -308,7 +308,7 @@ void bsstand_landing_update(void){
|
|||||||
///BREAK???
|
///BREAK???
|
||||||
void func_802B5350(void){
|
void func_802B5350(void){
|
||||||
s32 sp1C = bs_getInterruptType();
|
s32 sp1C = bs_getInterruptType();
|
||||||
if(sp1C == 0xd){
|
if(sp1C == BS_INTR_D_SURF){
|
||||||
bs_setState(0x52);
|
bs_setState(0x52);
|
||||||
}
|
}
|
||||||
if(sp1C == 0x7){
|
if(sp1C == 0x7){
|
||||||
@@ -328,7 +328,7 @@ void func_802B5350(void){
|
|||||||
}
|
}
|
||||||
else if(sp1C == 0x8){//L802B5438
|
else if(sp1C == 0x8){//L802B5438
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
bs_setState(0x3C);
|
bs_setState(BS_3C);
|
||||||
}else{
|
}else{
|
||||||
func_802948E0();
|
func_802948E0();
|
||||||
func_80296608();
|
func_80296608();
|
||||||
|
@@ -40,7 +40,7 @@ void func_802B6064(void) {
|
|||||||
void func_802B60D0(void){}
|
void func_802B60D0(void){}
|
||||||
|
|
||||||
void func_802B60D8(void) {
|
void func_802B60D8(void) {
|
||||||
if (bs_getInterruptType() == 0xD) {
|
if (bs_getInterruptType() == BS_INTR_D_SURF) {
|
||||||
D_8037D560 = 1;
|
D_8037D560 = 1;
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
return;
|
return;
|
||||||
|
@@ -176,7 +176,7 @@ void func_802B5950(void) {
|
|||||||
if (func_80294524() && button_pressed(BUTTON_A)) {
|
if (func_80294524() && button_pressed(BUTTON_A)) {
|
||||||
next_state = BS_5_JUMP;
|
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;
|
next_state = BS_D_TIMEOUT;
|
||||||
}
|
}
|
||||||
bs_setState(next_state);
|
bs_setState(next_state);
|
||||||
@@ -253,7 +253,7 @@ void func_802B5C40(void) {
|
|||||||
if (func_80294524() && button_pressed(BUTTON_A)) {
|
if (func_80294524() && button_pressed(BUTTON_A)) {
|
||||||
next_state = BS_5_JUMP;
|
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;
|
next_state = BS_D_TIMEOUT;
|
||||||
}
|
}
|
||||||
bs_setState(next_state);
|
bs_setState(next_state);
|
||||||
|
@@ -30,7 +30,7 @@ void bsthrow_update(void){
|
|||||||
f32 sp34[3];
|
f32 sp34[3];
|
||||||
f32 sp28[3];
|
f32 sp28[3];
|
||||||
f32 sp24;
|
f32 sp24;
|
||||||
ActorMarker *sp20 = func_802948EC();
|
ActorMarker *sp20 = carriedobj_getMarker();
|
||||||
|
|
||||||
if(D_8037D580 == 0 && sp20 != NULL)
|
if(D_8037D580 == 0 && sp20 != NULL)
|
||||||
func_802948F8(sp20);
|
func_802948F8(sp20);
|
||||||
@@ -60,7 +60,7 @@ void bsthrow_end(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bsthrow_interrupt(void){
|
void bsthrow_interrupt(void){
|
||||||
if(bs_getInterruptType() == 0x12){
|
if(bs_getInterruptType() == BS_INTR_12){
|
||||||
if(D_8037D580 == 0){
|
if(D_8037D580 == 0){
|
||||||
func_8028DE6C(carriedObject_getActorID());
|
func_8028DE6C(carriedObject_getActorID());
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
extern void func_8029AD68(f32, s32);
|
extern void func_8029AD68(f32, s32);
|
||||||
extern f32 ml_vec3f_dot_product(f32[3], f32[3]);
|
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 */
|
/* .data */
|
||||||
f32 D_80364DC0 = 30.0f;
|
f32 D_80364DC0 = 30.0f;
|
||||||
@@ -87,7 +87,7 @@ void func_802B7F28(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802B8048(void){
|
void func_802B8048(void){
|
||||||
if(!func_802B81F0(bs_getNextState())){
|
if(!bswalrus_inSet(bs_getNextState())){
|
||||||
pitch_setIdeal(0.0f);
|
pitch_setIdeal(0.0f);
|
||||||
roll_setIdeal(0.0f);
|
roll_setIdeal(0.0f);
|
||||||
func_8029B0C0();
|
func_8029B0C0();
|
||||||
@@ -101,7 +101,7 @@ void func_802B8048(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802B80D0(void) {
|
void func_802B80D0(void) {
|
||||||
if (func_802B8190(bs_getNextState()) == 0) {
|
if (bswalrus_inSledSet(bs_getNextState()) == 0) {
|
||||||
func_802B8048();
|
func_802B8048();
|
||||||
func_8029E0E8(0);
|
func_8029E0E8(0);
|
||||||
}
|
}
|
||||||
@@ -112,14 +112,14 @@ void func_802B8110(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802B813C(void) {
|
void func_802B813C(void) {
|
||||||
if (func_802B8190(bs_getPrevState()) == 0) {
|
if (!bswalrus_inSledSet(bs_getPrevState())) {
|
||||||
D_8037D5C0 = 0.0f;
|
D_8037D5C0 = 0.0f;
|
||||||
func_8029E0E8(1);
|
func_8029E0E8(1);
|
||||||
func_8029CF48(4, 1, 0.15f);
|
func_8029CF48(4, 1, 0.15f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int func_802B8190(enum bs_e state){
|
int bswalrus_inSledSet(enum bs_e state){
|
||||||
return state == 0x81
|
return state == 0x81
|
||||||
|| state == BS_7D_WALRUS_SLED
|
|| state == BS_7D_WALRUS_SLED
|
||||||
|| state == BS_7E_WALRUS_SLED
|
|| state == BS_7E_WALRUS_SLED
|
||||||
@@ -128,7 +128,7 @@ int func_802B8190(enum bs_e state){
|
|||||||
|| state == BS_9C_WALRUS_SLED_DRONE;
|
|| 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
|
return state == BS_67_WALRUS_IDLE
|
||||||
|| state == BS_WALRUS_WALK
|
|| state == BS_WALRUS_WALK
|
||||||
|| state == BS_WALRUS_JUMP
|
|| state == BS_WALRUS_JUMP
|
||||||
@@ -136,7 +136,7 @@ int func_802B81F0(enum bs_e state){
|
|||||||
|| state == BS_WALRUS_OW
|
|| state == BS_WALRUS_OW
|
||||||
|| state == BS_WALRUS_DIE
|
|| state == BS_WALRUS_DIE
|
||||||
|| state == BS_95_WALRUS_DRONE
|
|| state == BS_95_WALRUS_DRONE
|
||||||
|| func_802B8190(state);
|
|| bswalrus_inSledSet(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bswalrus_idle_init(void){
|
void bswalrus_idle_init(void){
|
||||||
@@ -754,7 +754,7 @@ void func_802B9880(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_802B98C0(void) {
|
void func_802B98C0(void) {
|
||||||
if (bs_getInterruptType() == 0x2B) {
|
if (bs_getInterruptType() == BS_INTR_2B) {
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
bs_setState(BS_67_WALRUS_IDLE);
|
bs_setState(BS_67_WALRUS_IDLE);
|
||||||
return;
|
return;
|
||||||
|
@@ -24,30 +24,30 @@ void bsList_setInitMethod(enum bs_e i, bsStateMethod func){
|
|||||||
D_8037C700[i].init_func = 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;
|
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;
|
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;
|
D_8037C700[i].interrupt_func = func;
|
||||||
}
|
}
|
||||||
|
|
||||||
bsStateMethod bsList_getInitMethod(s32 i){
|
bsStateMethod bsList_getInitMethod(enum bs_e i){
|
||||||
return D_8037C700[i].init_func;
|
return D_8037C700[i].init_func;
|
||||||
}
|
}
|
||||||
|
|
||||||
bsStateMethod bsList_getUpdateMethod(s32 i){
|
bsStateMethod bsList_getUpdateMethod(enum bs_e i){
|
||||||
return D_8037C700[i].update_func;
|
return D_8037C700[i].update_func;
|
||||||
}
|
}
|
||||||
|
|
||||||
bsStateMethod bsList_getEndMethod(s32 i){
|
bsStateMethod bsList_getEndMethod(enum bs_e i){
|
||||||
return D_8037C700[i].end_func;
|
return D_8037C700[i].end_func;
|
||||||
}
|
}
|
||||||
|
|
||||||
bsStateMethod bsList_getInterruptMethod(s32 i){
|
bsStateMethod bsList_getInterruptMethod(enum bs_e i){
|
||||||
return D_8037C700[i].interrupt_func;
|
return D_8037C700[i].interrupt_func;
|
||||||
}
|
}
|
||||||
|
@@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
f32 player_position[3];
|
f32 player_position[3];
|
||||||
f32 D_8037C5B0[3];
|
f32 D_8037C5B0[3]; //player_ideal position?
|
||||||
f32 D_8037C5C0[3];
|
f32 D_8037C5C0[3]; //player_position_offset
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_802983F0(void){
|
void func_802983F0(void){
|
||||||
|
@@ -54,19 +54,19 @@ void func_80298970(s32 arg0){
|
|||||||
int val = 0;
|
int val = 0;
|
||||||
switch(arg0){
|
switch(arg0){
|
||||||
case 1:
|
case 1:
|
||||||
if(bs_checkInterrupt(0x1E) == 2)
|
if(bs_checkInterrupt(BS_INTR_1E) == 2)
|
||||||
val = 1;
|
val = 1;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if(bs_checkInterrupt(0x1C) == 2)
|
if(bs_checkInterrupt(BS_INTR_1C) == 2)
|
||||||
val = 1;
|
val = 1;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if(bs_checkInterrupt(0x1D) == 2)
|
if(bs_checkInterrupt(BS_INTR_1D) == 2)
|
||||||
val = 1;
|
val = 1;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if(bs_checkInterrupt(0x25) == 2)
|
if(bs_checkInterrupt(BS_INTR_25) == 2)
|
||||||
val = 1;
|
val = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@@ -51,7 +51,7 @@ void bs_updateState(void){
|
|||||||
bsList_getUpdateMethod(D_8037D164)();
|
bsList_getUpdateMethod(D_8037D164)();
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 bs_checkInterrupt(s32 arg0){
|
s32 bs_checkInterrupt(enum bs_interrupt_e arg0){
|
||||||
D_8037D16C = arg0;
|
D_8037D16C = arg0;
|
||||||
D_8037D170 = 0;
|
D_8037D170 = 0;
|
||||||
if(bsList_getInterruptMethod(D_8037D164) != NULL)
|
if(bsList_getInterruptMethod(D_8037D164) != NULL)
|
||||||
@@ -63,6 +63,6 @@ void func_8029A86C(s32 arg0){
|
|||||||
D_8037D170 = arg0;
|
D_8037D170 = arg0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 bs_getInterruptType(void){
|
enum bs_interrupt_e bs_getInterruptType(void){
|
||||||
return D_8037D16C;
|
return D_8037D16C;
|
||||||
}
|
}
|
||||||
|
@@ -178,8 +178,8 @@ Struct_core2_13FC0 D_803648F0[14] = {
|
|||||||
// extern struct {
|
// extern struct {
|
||||||
// s32 map_id;
|
// s32 map_id;
|
||||||
// s32 exit_id;
|
// s32 exit_id;
|
||||||
// }D_8037D1E0;
|
// }gVoidOutReturnLocation;
|
||||||
s32 D_8037D1E0[2];
|
s32 gVoidOutReturnLocation[2];
|
||||||
u8 D_8037D1E8;
|
u8 D_8037D1E8;
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
@@ -219,7 +219,7 @@ enum bs_e func_8029B458(void){
|
|||||||
return BS_61_CROC_FALL;
|
return BS_61_CROC_FALL;
|
||||||
|
|
||||||
case TRANSFORM_4_WALRUS:
|
case TRANSFORM_4_WALRUS:
|
||||||
if(func_802B8190(sp1C))
|
if(bswalrus_inSledSet(sp1C))
|
||||||
return BS_82_WALRUS_SLED_LOSE_IN_AIR;
|
return BS_82_WALRUS_SLED_LOSE_IN_AIR;
|
||||||
return BS_6A_WALRUS_FALL;
|
return BS_6A_WALRUS_FALL;
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ void func_8029B62C(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
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();
|
func_8029B62C();
|
||||||
}
|
}
|
||||||
else{
|
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;
|
return BS14420_2_CROC;
|
||||||
|
|
||||||
case TRANSFORM_4_WALRUS://L8029BB44
|
case TRANSFORM_4_WALRUS://L8029BB44
|
||||||
if (func_802B8190(state_id)) {
|
if (bswalrus_inSledSet(state_id)) {
|
||||||
return BS14420_A_WALRUS_SLED;
|
return BS14420_A_WALRUS_SLED;
|
||||||
}
|
}
|
||||||
return BS14420_3_WALRUS;
|
return BS14420_3_WALRUS;
|
||||||
@@ -695,21 +695,21 @@ void func_8029C5E8(void){
|
|||||||
func_8029AE1C();
|
func_8029AE1C();
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8029C608(void) {
|
void update_void_return_Location(void) {
|
||||||
enum level_e level_id;
|
enum level_e level_id;
|
||||||
enum map_e sp18;
|
enum map_e map_id;
|
||||||
s32 phi_v0;
|
s32 exit_id;
|
||||||
|
|
||||||
level_id = level_get();
|
level_id = level_get();
|
||||||
if ((level_id == 0) || (level_id == LEVEL_6_LAIR)) {
|
if ((level_id == 0) || (level_id == LEVEL_6_LAIR)) {
|
||||||
sp18 = map_get();
|
map_id = map_get();
|
||||||
phi_v0 = func_803348CC();
|
exit_id = exit_get();
|
||||||
} else {
|
} else {
|
||||||
sp18 = func_8030ADD8(level_id);
|
map_id = level_get_main_map(level_id);
|
||||||
phi_v0 = func_8030AE24(level_id);
|
exit_id = level_get_main_exit(level_id);
|
||||||
}
|
}
|
||||||
D_8037D1E0[1] = phi_v0;
|
gVoidOutReturnLocation[1] = exit_id;
|
||||||
D_8037D1E0[0] = sp18;
|
gVoidOutReturnLocation[0] = map_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8029C674(void) {
|
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){
|
void func_8029C834(enum map_e map_id, s32 exit_id){
|
||||||
D_8037D1E0[0] = map_id;
|
gVoidOutReturnLocation[0] = map_id;
|
||||||
D_8037D1E0[1] = exit_id;
|
gVoidOutReturnLocation[1] = exit_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8029C848(AnimCtrl *arg0) {
|
void func_8029C848(AnimCtrl *arg0) {
|
||||||
@@ -862,8 +862,8 @@ s32 func_8029CA94(s32 arg0){
|
|||||||
if(miscflag_isTrue(0x7))
|
if(miscflag_isTrue(0x7))
|
||||||
arg0 = BS_44_JIG_JIGGY;
|
arg0 = BS_44_JIG_JIGGY;
|
||||||
|
|
||||||
if(miscflag_isTrue(0x14))
|
if(miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE))
|
||||||
arg0 = (player_getTransformation() == TRANSFORM_4_WALRUS) ? 0x80 : 0x53;
|
arg0 = (player_getTransformation() == TRANSFORM_4_WALRUS) ? BS_80_WALRUS_SLED_LOSE : BS_53_TIMEOUT;
|
||||||
|
|
||||||
miscflag_clear(0xF);
|
miscflag_clear(0xF);
|
||||||
|
|
||||||
@@ -905,7 +905,7 @@ void func_8029CCC4(void){
|
|||||||
if(miscflag_isFalse(7)) return;
|
if(miscflag_isFalse(7)) return;
|
||||||
if( miscflag_isTrue(0xF)
|
if( miscflag_isTrue(0xF)
|
||||||
&& miscflag_isFalse(6)
|
&& miscflag_isFalse(6)
|
||||||
&& miscflag_isFalse(20)
|
&& miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE)
|
||||||
){
|
){
|
||||||
miscflag_clear(0xF);
|
miscflag_clear(0xF);
|
||||||
}
|
}
|
||||||
|
@@ -67,6 +67,7 @@ void func_8029D194(void) {
|
|||||||
D_8037D224 = 0.0f;
|
D_8037D224 = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* plays ground damage sound effect */
|
||||||
void func_8029D230(void) {
|
void func_8029D230(void) {
|
||||||
switch (map_get()) {
|
switch (map_get()) {
|
||||||
case MAP_12_GV_GOBIS_VALLEY: //L8029D2C0
|
case MAP_12_GV_GOBIS_VALLEY: //L8029D2C0
|
||||||
@@ -263,7 +264,7 @@ void func_8029D968(void){
|
|||||||
func_8029E1A8(4);
|
func_8029E1A8(4);
|
||||||
if(sp24){
|
if(sp24){
|
||||||
if(map_get() == MAP_8E_GL_FURNACE_FUN){
|
if(map_get() == MAP_8E_GL_FURNACE_FUN){
|
||||||
if(bs_checkInterrupt(0x13)){
|
if(bs_checkInterrupt(BS_INTR_13)){
|
||||||
func_8029D230();
|
func_8029D230();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -276,7 +277,7 @@ void func_8029D968(void){
|
|||||||
func_80250D94(1.0f, 0.5f, 0.4f);
|
func_80250D94(1.0f, 0.5f, 0.4f);
|
||||||
}
|
}
|
||||||
if(item_empty(ITEM_14_HEALTH)){
|
if(item_empty(ITEM_14_HEALTH)){
|
||||||
bs_checkInterrupt(0x13);
|
bs_checkInterrupt(BS_INTR_13);
|
||||||
}
|
}
|
||||||
}//L8029DAD0
|
}//L8029DAD0
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ s32 D_8037BF50;
|
|||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
//snacker_clearState
|
//snacker_clearState
|
||||||
void func_8028A410(void){
|
void snacker_reset(void){
|
||||||
D_8037BF50 = 0;
|
D_8037BF50 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,7 +26,7 @@ s32 can_beak_bust(void){
|
|||||||
return ability_hasLearned(ABILITY_2_BEAK_BUSTER);
|
return ability_hasLearned(ABILITY_2_BEAK_BUSTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028A9C0(void){
|
s32 can_control_camera(void){
|
||||||
return ability_hasLearned(ABILITY_3_CAMERA_CONTROL);
|
return ability_hasLearned(ABILITY_3_CAMERA_CONTROL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ s32 can_claw(void){
|
|||||||
return ability_hasLearned(ABILITY_4_BEAR_PUNCH);
|
return ability_hasLearned(ABILITY_4_BEAR_PUNCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028AA00(void){
|
s32 can_climb(void){
|
||||||
return ability_hasLearned(ABILITY_5_CLIMB);
|
return ability_hasLearned(ABILITY_5_CLIMB);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,8 +49,8 @@ s32 can_egg(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int can_flap(void){
|
int can_flap(void){
|
||||||
return miscflag_isFalse(0x12)
|
return miscflag_isFalse(MISC_FLAG_12_HAS_FLAPPED)
|
||||||
&& miscflag_isFalse(0x5)
|
&& miscflag_isFalse(MISC_FLAG_5_HAS_PECKED)
|
||||||
&& ability_hasLearned(ABILITY_7_FLAP);
|
&& ability_hasLearned(ABILITY_7_FLAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,22 +58,22 @@ s32 can_flip(void){
|
|||||||
return ability_hasLearned(ABILITY_8_FLIP);
|
return ability_hasLearned(ABILITY_8_FLIP);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028AB28(void){
|
s32 can_fly(void){
|
||||||
return ability_hasLearned(ABILITY_9_FLY);
|
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);
|
return ability_hasLearned(ABILITY_A_HOLD_A_JUMP_HIGHER);
|
||||||
}
|
}
|
||||||
|
|
||||||
int can_peck(void){
|
int can_peck(void){
|
||||||
return miscflag_isFalse(0x5)
|
return miscflag_isFalse(MISC_FLAG_5_HAS_PECKED)
|
||||||
&& miscflag_isFalse(0x12)
|
&& miscflag_isFalse(MISC_FLAG_12_HAS_FLAPPED)
|
||||||
&& ability_hasLearned(ABILITY_B_RATATAT_RAP);
|
&& ability_hasLearned(ABILITY_B_RATATAT_RAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
int func_8028ABB8(void){
|
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;
|
return 0;
|
||||||
if(bs_getState() == BS_56_RECOIL)
|
if(bs_getState() == BS_56_RECOIL)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -84,11 +84,11 @@ s32 can_roll(void){
|
|||||||
return ability_hasLearned(ABILITY_C_ROLL);
|
return ability_hasLearned(ABILITY_C_ROLL);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028AC38(void){
|
s32 can_shock_jump(void){
|
||||||
return ability_hasLearned(ABILITY_D_SHOCK_JUMP);
|
return ability_hasLearned(ABILITY_D_SHOCK_JUMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028AC58(void){
|
s32 can_use_wading_boots(void){
|
||||||
return ability_hasLearned(ABILITY_E_WADING_BOOTS);
|
return ability_hasLearned(ABILITY_E_WADING_BOOTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ int func_8028B128(void){
|
|||||||
return miscflag_isTrue(0x13);
|
return miscflag_isTrue(0x13);
|
||||||
}
|
}
|
||||||
|
|
||||||
int func_8028B148(void){
|
bool player_isInRBB(void){
|
||||||
return level_get() == LEVEL_9_RUSTY_BUCKET_BAY;
|
return level_get() == LEVEL_9_RUSTY_BUCKET_BAY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -21,7 +21,7 @@ extern void func_8035646C(s32 arg0);
|
|||||||
extern void func_80291634(ActorMarker *, ActorMarker *);
|
extern void func_80291634(ActorMarker *, ActorMarker *);
|
||||||
extern void func_80291610(ActorMarker *, ActorMarker *);
|
extern void func_80291610(ActorMarker *, ActorMarker *);
|
||||||
extern void func_80291AAC(void);
|
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_802EE6CC(f32[3], s32, s32[4], s32, f32, f32, s32,s32,s32);
|
||||||
extern void func_80320ED8(ActorMarker *, f32, 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();
|
func_8029CDA0();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(bs_checkInterrupt(9) == 1){
|
if(bs_checkInterrupt(BS_INTR_9) == 1){
|
||||||
func_8029CDA0();
|
func_8029CDA0();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -746,7 +746,7 @@ void func_8028BCA0(Prop *prop){
|
|||||||
|
|
||||||
miscflag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
|
miscflag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
|
||||||
func_802A6388(chwadingboots_802D6E4C(actor));
|
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));
|
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);
|
chwadingboots_802D6E54(actor);
|
||||||
break;
|
break;
|
||||||
@@ -770,7 +770,7 @@ void func_8028BCA0(Prop *prop){
|
|||||||
|
|
||||||
miscflag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
|
miscflag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
|
||||||
func_80294AE8(chtrainers_802CA748(actor));
|
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));
|
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);
|
chtrainers_802CA750(actor);
|
||||||
break;
|
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 sp24;
|
||||||
s32 sp20 = func_8033D594(arg2);
|
s32 sp20 = func_8033D594(collision_flags);
|
||||||
s32 sp1C = 0;
|
s32 sp1C = 0;
|
||||||
Actor *ideal_yaw = marker_getActor(arg1);
|
Actor *actor = marker_getActor(arg1);
|
||||||
s32 tmp_v0;
|
s32 tmp_v0;
|
||||||
|
|
||||||
if(func_8033D5A4(arg2))
|
if(func_8033D5A4(collision_flags))
|
||||||
miscflag_set(8);
|
miscflag_set(8);
|
||||||
|
|
||||||
if((func_80297C6C() != 3 && func_8028F1E0()) || !sp20){
|
if((func_80297C6C() != 3 && func_8028F1E0()) || !sp20){
|
||||||
if(!func_8028F25C()){
|
if(!func_8028F25C()){
|
||||||
sp24 = func_8033D564(arg2);
|
sp24 = func_8033D564(collision_flags);
|
||||||
if(0 < sp24 && sp24 < 6){
|
if(0 < sp24 && sp24 < 6){
|
||||||
sp1C = 2;
|
sp1C = 2;
|
||||||
sp20 = MAX(0, sp20 - 1);
|
sp20 = MAX(0, sp20 - 1);
|
||||||
}//L8028D884
|
}//L8028D884
|
||||||
|
|
||||||
if(6 < sp24 && sp24 < 0xC){
|
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;
|
sp1C = 1;
|
||||||
}//L8028D8E8
|
}//L8028D8E8
|
||||||
}//L8028D8E8
|
}//L8028D8E8
|
||||||
|
|
||||||
if(sp20){
|
if(sp20){
|
||||||
if(func_8033D594(arg2) == 3){
|
if(func_8033D594(collision_flags) == 3){
|
||||||
func_803463D4(ITEM_14_HEALTH, -item_getCount(ITEM_14_HEALTH));
|
func_803463D4(ITEM_14_HEALTH, -item_getCount(ITEM_14_HEALTH));
|
||||||
}
|
}
|
||||||
else{//L8028D92C
|
else{//L8028D92C
|
||||||
@@ -1047,17 +1047,17 @@ void func_8028D7B8(s32 arg0, ActorMarker *arg1, s32 arg2){
|
|||||||
|
|
||||||
switch(sp1C){
|
switch(sp1C){
|
||||||
case 1://L8028D98C
|
case 1://L8028D98C
|
||||||
sp24 = (7 < ((sp24 < 0xb) ? sp24 : 0xb)) ? ((sp24 < 0xb) ? sp24 : 0xb): 0x7;
|
sp24 = MAX(MIN(sp24, 0xb), 7);
|
||||||
sp24 -= 7;
|
sp24 -= 7;
|
||||||
func_8028F428(sp24 +8, arg1);
|
func_8028F428(sp24 +8, arg1);
|
||||||
func_80250D94(0.8f, sp24 + 0.2, 0.3f);
|
func_80250D94(0.8f, sp24 + 0.2, 0.3f);
|
||||||
break;
|
break;
|
||||||
case 2://L8028DA10
|
case 2://L8028DA10
|
||||||
sp24 = (1 < ((sp24 < 5) ? sp24 : 5)) ? ((sp24 < 5) ? sp24 : 5): 1;
|
sp24 = MAX(MIN(sp24, 5), 1);
|
||||||
sp24--;
|
sp24--;
|
||||||
func_8028F55C(sp24 + 3, arg1);
|
func_8028F55C(sp24 + 3, arg1);
|
||||||
func_80250D94(1.0f, sp24 + 0.3, 0.5f);
|
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();
|
func_8028D71C();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@@ -227,7 +227,7 @@ void func_802D3DA4(Actor *this) {
|
|||||||
this->unk38_31 = 1;
|
this->unk38_31 = 1;
|
||||||
}
|
}
|
||||||
if ((this->unk38_31 == 1) && (phi_v0 == 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;
|
this->unk38_31 = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -93,7 +93,7 @@ bool func_8028DD60(enum actor_e actor_id, Actor **arg1){
|
|||||||
Actor *actor;
|
Actor *actor;
|
||||||
|
|
||||||
m1 = (*arg1)->marker;
|
m1 = (*arg1)->marker;
|
||||||
m2 = func_802948EC();
|
m2 = carriedobj_getMarker();
|
||||||
if(m2){
|
if(m2){
|
||||||
actor = marker_getActor(m2);
|
actor = marker_getActor(m2);
|
||||||
}
|
}
|
||||||
@@ -102,8 +102,8 @@ bool func_8028DD60(enum actor_e actor_id, Actor **arg1){
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
carriedObject_setActorID(actor_id);
|
carriedObject_setActorID(actor_id);
|
||||||
if(!item_empty(func_80346CF4(actor_id))){
|
if(!item_empty(carriedobj_actorId2ItemId(actor_id))){
|
||||||
func_8028F66C(0x12);
|
func_8028F66C(BS_INTR_12);
|
||||||
}
|
}
|
||||||
*arg1 = marker_getActor(m1);
|
*arg1 = marker_getActor(m1);
|
||||||
return 1;
|
return 1;
|
||||||
@@ -124,7 +124,7 @@ void func_8028DE6C(enum actor_e actor_id){
|
|||||||
ActorMarker *marker;
|
ActorMarker *marker;
|
||||||
Actor *actor;
|
Actor *actor;
|
||||||
|
|
||||||
marker = func_802948EC();
|
marker = carriedobj_getMarker();
|
||||||
if(marker){
|
if(marker){
|
||||||
actor = marker_getActor(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){
|
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){
|
void func_8028DF48(enum actor_e actor_id){
|
||||||
ActorMarker *marker;
|
ActorMarker *marker;
|
||||||
Actor* actor;
|
Actor* actor;
|
||||||
|
|
||||||
marker = func_802948EC();
|
marker = carriedobj_getMarker();
|
||||||
if(marker)
|
if(marker)
|
||||||
actor = marker_getActor(marker);
|
actor = marker_getActor(marker);
|
||||||
|
|
||||||
if(marker && actor->modelCacheIndex == actor_id){
|
if(marker && actor->modelCacheIndex == actor_id){
|
||||||
func_802948E0();
|
func_802948E0();
|
||||||
}
|
}
|
||||||
item_dec(func_80346CF4(actor_id));
|
item_dec(carriedobj_actorId2ItemId(actor_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8028DFB8(enum actor_e actor_id){
|
void func_8028DFB8(enum actor_e actor_id){
|
||||||
func_803463D4(func_80346CF4(actor_id), 0);
|
func_803463D4(carriedobj_actorId2ItemId(actor_id), 0);
|
||||||
}
|
}
|
||||||
|
@@ -183,7 +183,7 @@ void func_8028E4B0(void) {
|
|||||||
D_8037BFBA = TRUE;
|
D_8037BFBA = TRUE;
|
||||||
D_8037BFB9 = FALSE;
|
D_8037BFB9 = FALSE;
|
||||||
func_80295914();
|
func_80295914();
|
||||||
sp20 = func_803348CC();
|
sp20 = exit_get();
|
||||||
D_8037BFB8 = 0;
|
D_8037BFB8 = 0;
|
||||||
player_setPosition(D_803636C0);
|
player_setPosition(D_803636C0);
|
||||||
if (func_803203FC(0xE) || func_802D686C() || (sp20 == 0x65)){
|
if (func_803203FC(0xE) || func_802D686C() || (sp20 == 0x65)){
|
||||||
@@ -283,26 +283,26 @@ void func_8028E84C(f32 arg0[3]){
|
|||||||
}
|
}
|
||||||
|
|
||||||
ActorMarker *func_8028E86C(void){
|
ActorMarker *func_8028E86C(void){
|
||||||
return func_802948EC();
|
return carriedobj_getMarker();
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028E88C(void){
|
enum marker_e carriedObj_getMarkerId(void){
|
||||||
ActorMarker *marker;
|
ActorMarker *marker;
|
||||||
|
|
||||||
marker = func_802948EC();
|
marker = carriedobj_getMarker();
|
||||||
if(marker){
|
if(marker){
|
||||||
return marker->unk14_20;
|
return marker->unk14_20;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum actor_e func_8028E8C0(void){
|
enum actor_e carriedObj_getActorId(void){
|
||||||
ActorMarker *marker;
|
ActorMarker *marker;
|
||||||
Actor *actor;
|
Actor *actor;
|
||||||
|
|
||||||
marker = func_802948EC();
|
marker = carriedobj_getMarker();
|
||||||
|
|
||||||
if(marker){
|
if(marker != NULL){
|
||||||
actor = marker_getActor(marker);
|
actor = marker_getActor(marker);
|
||||||
return actor->modelCacheIndex;
|
return actor->modelCacheIndex;
|
||||||
}
|
}
|
||||||
@@ -454,7 +454,7 @@ enum bsgroup_e func_8028ECAC(void) {
|
|||||||
if (bsclimb_inSet(state_id)) {
|
if (bsclimb_inSet(state_id)) {
|
||||||
return BSGROUP_5_CLIMB;
|
return BSGROUP_5_CLIMB;
|
||||||
}
|
}
|
||||||
if (func_802B8190(state_id)) {
|
if (bswalrus_inSledSet(state_id)) {
|
||||||
return BSGROUP_C_WALRUS_SLED;
|
return BSGROUP_C_WALRUS_SLED;
|
||||||
}
|
}
|
||||||
if (miscflag_isTrue(9) != 0) {
|
if (miscflag_isTrue(9) != 0) {
|
||||||
@@ -689,13 +689,13 @@ void func_8028F408(f32 arg0[3]){
|
|||||||
bool func_8028F428(s32 arg0, ActorMarker *marker) {
|
bool func_8028F428(s32 arg0, ActorMarker *marker) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
func_80296CA8(marker);
|
func_80296CA8(marker);
|
||||||
return bs_checkInterrupt(0x24) == 2;
|
return bs_checkInterrupt(BS_INTR_24) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F45C(s32 arg0, f32 arg1[3]) {
|
bool func_8028F45C(s32 arg0, f32 arg1[3]) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
func_80296CC0(arg1);
|
func_80296CC0(arg1);
|
||||||
return bs_checkInterrupt(0x23) == 2;
|
return bs_checkInterrupt(BS_INTR_23) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F490(f32 arg0[3]){
|
bool func_8028F490(f32 arg0[3]){
|
||||||
@@ -707,35 +707,35 @@ bool func_8028F4B8(f32 arg0[3], f32 arg1, f32 arg2) {
|
|||||||
func_80296C9C(arg2);
|
func_80296C9C(arg2);
|
||||||
func_80296CB4(0xE);
|
func_80296CB4(0xE);
|
||||||
func_80296CC0(arg0);
|
func_80296CC0(arg0);
|
||||||
return bs_checkInterrupt(0x2D) == 2;
|
return bs_checkInterrupt(BS_INTR_2D) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F504(s32 arg0) {
|
bool func_8028F504(s32 arg0) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
return bs_checkInterrupt(0x1f) == 2;
|
return bs_checkInterrupt(BS_INTR_1F) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F530(s32 arg0) {
|
bool func_8028F530(s32 arg0) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
return bs_checkInterrupt(0x31) == 2;
|
return bs_checkInterrupt(BS_INTR_31) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F55C(s32 arg0, ActorMarker *marker) {
|
bool func_8028F55C(s32 arg0, ActorMarker *marker) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
func_80296CA8(marker);
|
func_80296CA8(marker);
|
||||||
return bs_checkInterrupt(0x21) == 2;
|
return bs_checkInterrupt(BS_INTR_21) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F590(s32 arg0, ActorMarker *marker) {
|
bool func_8028F590(s32 arg0, ActorMarker *marker) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
func_80296CA8(marker);
|
func_80296CA8(marker);
|
||||||
return bs_checkInterrupt(0x33) == 2;
|
return bs_checkInterrupt(BS_INTR_33) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F5C4(s32 arg0, f32 arg1[3]) {
|
bool func_8028F5C4(s32 arg0, f32 arg1[3]) {
|
||||||
func_80296CB4(arg0);
|
func_80296CB4(arg0);
|
||||||
func_80296CC0(arg1);
|
func_80296CC0(arg1);
|
||||||
return bs_checkInterrupt(0x20) == 2;
|
return bs_checkInterrupt(BS_INTR_20) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028F5F8(f32 arg0[3]){
|
bool func_8028F5F8(f32 arg0[3]){
|
||||||
@@ -747,24 +747,24 @@ bool func_8028F620(f32 arg0[3], f32 arg1, f32 arg2) {
|
|||||||
func_80296C9C(arg2);
|
func_80296C9C(arg2);
|
||||||
func_80296CB4(0x10);
|
func_80296CB4(0x10);
|
||||||
func_80296CC0(arg0);
|
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);
|
return bs_checkInterrupt(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028F68C(s32 arg0, ActorMarker *marker){
|
s32 func_8028F68C(enum bs_interrupt_e arg0, ActorMarker *marker){
|
||||||
func_80296CA8(marker);
|
func_80296CA8(marker);
|
||||||
return bs_checkInterrupt(arg0);
|
return bs_checkInterrupt(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8028F6B8(s32 arg0, s32 arg1){
|
s32 func_8028F6B8(enum bs_interrupt_e arg0, enum asset_e model_id){
|
||||||
func_80296CB4(arg1);
|
func_80296CB4(model_id);
|
||||||
return bs_checkInterrupt(arg0);
|
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);
|
func_80296CC0(arg1);
|
||||||
return bs_checkInterrupt(arg0);
|
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);
|
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);
|
func_8028DEEC(arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -919,7 +919,7 @@ bool func_8028FB88(enum transformation_e xform_id) {
|
|||||||
xform_id = TRANSFORM_7_WISHWASHY;
|
xform_id = TRANSFORM_7_WISHWASHY;
|
||||||
}
|
}
|
||||||
func_80294AF4(xform_id);
|
func_80294AF4(xform_id);
|
||||||
return bs_checkInterrupt(0xA) == 2;
|
return bs_checkInterrupt(BS_INTR_A) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028FBD4(f32 arg0[3]) {
|
bool func_8028FBD4(f32 arg0[3]) {
|
||||||
@@ -929,12 +929,12 @@ bool func_8028FBD4(f32 arg0[3]) {
|
|||||||
if (arg0 != NULL) {
|
if (arg0 != NULL) {
|
||||||
func_80294A98(arg0);
|
func_80294A98(arg0);
|
||||||
}
|
}
|
||||||
return bs_checkInterrupt(8) == 2;
|
return bs_checkInterrupt(BS_INTR_8) == 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_8028FC34(void){
|
bool func_8028FC34(void){
|
||||||
if (func_8028E86C() && bscarry_inSet(bs_getState()))
|
if (func_8028E86C() && bscarry_inSet(bs_getState()))
|
||||||
return bs_checkInterrupt(0x16) == 2;
|
return bs_checkInterrupt(BS_INTR_16_THROW_CARRIED_OBJ) == 2;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -902,12 +902,12 @@ NodeProp *func_80304C38(enum actor_e actor_id, Actor *arg1){
|
|||||||
s32 vec[3];
|
s32 vec[3];
|
||||||
s32 *phi_a1;
|
s32 *phi_a1;
|
||||||
|
|
||||||
if (arg1 != 0) {
|
if (arg1 != NULL) {
|
||||||
vec[0] = arg1->position_x;
|
vec[0] = arg1->position_x;
|
||||||
vec[1] = arg1->position_y;
|
vec[1] = arg1->position_y;
|
||||||
vec[2] = arg1->position_z;
|
vec[2] = arg1->position_z;
|
||||||
}
|
}
|
||||||
if (arg1 == 0) {
|
if (arg1 == NULL) {
|
||||||
phi_a1 = NULL;
|
phi_a1 = NULL;
|
||||||
} else {
|
} else {
|
||||||
phi_a1 = vec;
|
phi_a1 = vec;
|
||||||
|
@@ -5,100 +5,260 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
s16 level_id;
|
s16 level_id;
|
||||||
s16 unk2;
|
s16 map_id;
|
||||||
s16 unk4;
|
s16 exit_id;
|
||||||
}Struct_core2_83D70_1;
|
}Struct_core2_83D70_1;
|
||||||
|
|
||||||
typedef struct map_info{
|
typedef struct map_info{
|
||||||
s16 map_id;
|
s16 map_id;
|
||||||
s16 level_id;
|
s16 level_id;
|
||||||
u8* name;
|
char* name;
|
||||||
}MapInfo;
|
}MapInfo;
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
extern MapInfo D_8036B818[];
|
MapInfo D_8036B810[0x9B] ={
|
||||||
extern Struct_core2_83D70_1 D_8036BCE8[];
|
{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 */
|
Struct_core2_83D70_1 D_8036BCE8[] = {
|
||||||
extern u8 D_80378430[];
|
{LEVEL_1_MUMBOS_MOUNTAIN, MAP_2_MM_MUMBOS_MOUNTAIN, 0x5},
|
||||||
extern u8 D_80378434[];
|
{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 */
|
/* .bss */
|
||||||
char D_803823A0[0x70];
|
char D_803823A0[0x70];
|
||||||
|
|
||||||
/* .data */
|
/* .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 * func_8030AD00(enum map_e map_id){
|
||||||
MapInfo *phi_v1;
|
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) {
|
if (map_id == phi_v1->map_id) {
|
||||||
return phi_v1;
|
return phi_v1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
enum level_e map_getLevel(enum map_e map){
|
enum level_e map_getLevel(enum map_e map){
|
||||||
return func_8030AD00(map)->level_id;
|
return func_8030AD00(map)->level_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* returns string containing the map name and index */
|
/* 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);
|
MapInfo *map_info = func_8030AD00(map);
|
||||||
D_803823A0[0] = 0;
|
D_803823A0[0] = 0;
|
||||||
strcat(D_803823A0, map_info->name);
|
strcat(D_803823A0, map_info->name);
|
||||||
strcat(D_803823A0, D_80378430);
|
strcat(D_803823A0, " (");
|
||||||
strIToA(D_803823A0, map);
|
strIToA(D_803823A0, map);
|
||||||
strcat(D_803823A0, D_80378434);
|
strcat(D_803823A0, ")");
|
||||||
return 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;
|
Struct_core2_83D70_1 *phi_v1;
|
||||||
|
|
||||||
for(phi_v1 = D_8036BCE8; phi_v1->level_id != 0; phi_v1++){
|
for(phi_v1 = D_8036BCE8; phi_v1->level_id != 0; phi_v1++){
|
||||||
if (level_id == phi_v1->level_id) {
|
if (level_id == phi_v1->level_id) {
|
||||||
return phi_v1->unk2;
|
return phi_v1->map_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
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;
|
Struct_core2_83D70_1 *phi_v1;
|
||||||
|
|
||||||
for(phi_v1 = D_8036BCE8; phi_v1->level_id != 0; phi_v1++){
|
for(phi_v1 = D_8036BCE8; phi_v1->level_id != 0; phi_v1++){
|
||||||
if (level_id == phi_v1->level_id) {
|
if (level_id == phi_v1->level_id) {
|
||||||
return phi_v1->unk4;
|
return phi_v1->exit_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_83D70/func_8030AE70.s")
|
void func_8030AE70(s32 *arg0) {
|
||||||
|
MapInfo *var_v0;
|
||||||
#ifndef NONMATCHING
|
s16 var_v1;
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_83D70/func_8030AF58.s")
|
s32 *var_s0;
|
||||||
#else
|
s32 *var_s0_2;
|
||||||
bool func_8030AF58(s32 arg0) {
|
s32 temp_t1;
|
||||||
Struct_core2_83D70_0 *phi_v0;
|
s32 temp_v0;
|
||||||
|
s32 var_s1;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for(i = 0; D_8036B818[i].unk0 != 0; i++) {
|
var_v0 = D_8036B810 + 1;
|
||||||
phi_v0 = &D_8036B818[i];
|
var_s1 = 0;
|
||||||
if(phi_v0->unk0 == arg0){
|
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 TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void func_8030AFA0(enum map_e arg0){
|
void func_8030AFA0(enum map_e arg0){
|
||||||
s32 level = map_getLevel(arg0);
|
s32 level = map_getLevel(arg0);
|
||||||
|
@@ -37,7 +37,7 @@ void func_80322130(Struct_core2_9B180_0 *arg0) {
|
|||||||
|
|
||||||
player_getPosition(sp1C);
|
player_getPosition(sp1C);
|
||||||
if (sp1C[1] < D_80383334) {
|
if (sp1C[1] < D_80383334) {
|
||||||
if (func_8028F66C(0x2C) == 2) {
|
if (func_8028F66C(BS_INTR_2C) == 2) {
|
||||||
arg0->unk4 = 0;
|
arg0->unk4 = 0;
|
||||||
FUNC_8030E624(SFX_96_HOTSAND_EEL_HISS, 1.0f, 32000);
|
FUNC_8030E624(SFX_96_HOTSAND_EEL_HISS, 1.0f, 32000);
|
||||||
FUNC_8030E624(SFX_A_BANJO_LANDING_05, 1.0f, 32000);
|
FUNC_8030E624(SFX_A_BANJO_LANDING_05, 1.0f, 32000);
|
||||||
|
@@ -106,7 +106,7 @@ enum map_e map_get(void){
|
|||||||
return D_803835D0.map_4;
|
return D_803835D0.map_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_803348CC(){
|
s32 exit_get(){
|
||||||
return D_803835D0.unk8;
|
return D_803835D0.unk8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -124,7 +124,7 @@ s32 func_80345FB4(enum item_e item, s32 diff, s32 arg2){\
|
|||||||
sp30 = func_80301D24(oldVal);
|
sp30 = func_80301D24(oldVal);
|
||||||
sp2C = func_80301D24(newVal);
|
sp2C = func_80301D24(newVal);
|
||||||
if(sp3C){
|
if(sp3C){
|
||||||
bs_checkInterrupt(0x11);
|
bs_checkInterrupt(BS_INTR_11_DROWN);
|
||||||
D_80385FE4 = 1;
|
D_80385FE4 = 1;
|
||||||
}
|
}
|
||||||
if(sp2C && sp30 != sp2C ){
|
if(sp2C && sp30 != sp2C ){
|
||||||
@@ -354,7 +354,7 @@ void func_80346CE8(void){
|
|||||||
D_80385FE4 = FALSE;
|
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){
|
switch(actor_id){
|
||||||
case ACTOR_29_ORANGE_COLLECTABLE: return ITEM_19_ORANGE;
|
case ACTOR_29_ORANGE_COLLECTABLE: return ITEM_19_ORANGE;
|
||||||
case ACTOR_2A9_ACORN: return ITEM_23_ACORNS;
|
case ACTOR_2A9_ACORN: return ITEM_23_ACORNS;
|
||||||
|
@@ -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];
|
return D_8037C1D0[arg0];
|
||||||
}
|
}
|
||||||
|
|
||||||
int miscflag_isFalse(s32 arg0){
|
bool miscflag_isFalse(enum misc_flag_e arg0){
|
||||||
return !D_8037C1D0[arg0];
|
return !D_8037C1D0[arg0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -63,7 +63,7 @@ void func_802948E0(void){
|
|||||||
D_8037C298 = NULL;
|
D_8037C298 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ActorMarker *func_802948EC(void){
|
ActorMarker *carriedobj_getMarker(void){
|
||||||
return D_8037C298;
|
return D_8037C298;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -184,13 +184,13 @@ void func_80294E60(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(func_8028B2E8() || bsclimb_inSet(bs_getState())){
|
if(func_8028B2E8() || bsclimb_inSet(bs_getState())){
|
||||||
miscflag_clear(5);
|
miscflag_clear(MISC_FLAG_5_HAS_PECKED);
|
||||||
miscflag_clear(0x12);
|
miscflag_clear(MISC_FLAG_12_HAS_FLAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player_inWater()){
|
if(player_inWater()){
|
||||||
miscflag_clear(5);
|
miscflag_clear(MISC_FLAG_5_HAS_PECKED);
|
||||||
miscflag_clear(0x12);
|
miscflag_clear(MISC_FLAG_12_HAS_FLAPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_80294BDC();
|
func_80294BDC();
|
||||||
|
@@ -183,9 +183,9 @@ void func_802958A0(void){
|
|||||||
void func_80295914(void){
|
void func_80295914(void){
|
||||||
D_80363820 = 1;
|
D_80363820 = 1;
|
||||||
D_8037C3B0 = NULL;
|
D_8037C3B0 = NULL;
|
||||||
func_8029C608();
|
update_void_return_Location();
|
||||||
func_802983F0();
|
func_802983F0();
|
||||||
func_8028A410();
|
snacker_reset();
|
||||||
func_80291910();
|
func_80291910();
|
||||||
func_8029279C();
|
func_8029279C();
|
||||||
func_802932AC();
|
func_802932AC();
|
||||||
|
@@ -28,7 +28,7 @@ struct_EE40 D_8037C400[5];
|
|||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
enum bs_e func_80295EE0(enum bs_e arg0){
|
enum bs_e func_80295EE0(enum bs_e arg0){
|
||||||
int sp34;
|
int current_state;
|
||||||
f32 pad30;
|
f32 pad30;
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
s32 sp28;
|
s32 sp28;
|
||||||
@@ -37,11 +37,11 @@ enum bs_e func_80295EE0(enum bs_e arg0){
|
|||||||
|
|
||||||
sp2C = 0;
|
sp2C = 0;
|
||||||
sp28 = 0;
|
sp28 = 0;
|
||||||
sp34 = bs_getState();
|
current_state = bs_getState();
|
||||||
if(player_getTransformation() != TRANSFORM_1_BANJO || func_8028EE84() != BSWATERGROUP_0_NONE){
|
if(player_getTransformation() != TRANSFORM_1_BANJO || func_8028EE84() != BSWATERGROUP_0_NONE){
|
||||||
sp2C = 1;
|
sp2C = 1;
|
||||||
}
|
}
|
||||||
if(bsjig_inJiggyJig(sp34)){
|
if(bsjig_inJiggyJig(current_state)){
|
||||||
sp28 = 1;
|
sp28 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,157 +284,157 @@ void func_80296590(void){
|
|||||||
|
|
||||||
void func_80296608(void){
|
void func_80296608(void){
|
||||||
s32 sp2C;
|
s32 sp2C;
|
||||||
s32 sp28;
|
enum bs_e current_state;
|
||||||
s32 sp24;
|
enum bs_e next_state;
|
||||||
s32 sp1C;
|
s32 sp1C;
|
||||||
|
|
||||||
sp2C = 1;
|
sp2C = 1;
|
||||||
sp24 = 0;
|
next_state = 0;
|
||||||
sp28 = bs_getState();
|
current_state = bs_getState();
|
||||||
switch(bs_getInterruptType()){
|
switch(bs_getInterruptType()){
|
||||||
case 0x18: //L80296654
|
case BS_INTR_18_CROC_ATE_WRONG: //L80296654
|
||||||
func_802AD318();
|
func_802AD318();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0xa: //L8029666C
|
case BS_INTR_A: //L8029666C
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
if(func_8028B2E8()){
|
if(func_8028B2E8()){
|
||||||
sp24 = func_80292738();
|
next_state = func_80292738();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
miscflag_set(0x19);
|
miscflag_set(0x19);
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x36: //L802966A8
|
case BS_INTR_36_DINGPOT: //L802966A8
|
||||||
sp24 = BS_42_DINGPOT;
|
next_state = BS_42_DINGPOT;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x24: //L802966B8
|
case BS_INTR_24: //L802966B8
|
||||||
func_802960C4(0);
|
func_802960C4(0);
|
||||||
sp24 = func_80296038();
|
next_state = func_80296038();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x23: //L802966D8
|
case BS_INTR_23: //L802966D8
|
||||||
func_802960C4(1);
|
func_802960C4(1);
|
||||||
sp24 = func_80296038();
|
next_state = func_80296038();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x2d: //L802966F8
|
case BS_INTR_2D: //L802966F8
|
||||||
func_802960C4(3);
|
func_802960C4(3);
|
||||||
sp24 = func_80296038();
|
next_state = func_80296038();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x5: //L80296718
|
case BS_INTR_5: //L80296718
|
||||||
func_802961B4(0);
|
func_802961B4(0);
|
||||||
sp24 = func_80296038();
|
next_state = func_80296038();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x2c: //L80296738
|
case BS_INTR_2C: //L80296738
|
||||||
item_set(ITEM_14_HEALTH, 0);
|
item_set(ITEM_14_HEALTH, 0);
|
||||||
func_80291930(1);
|
func_80291930(1);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x13: //L80296760
|
case BS_INTR_13: //L80296760
|
||||||
item_set(ITEM_14_HEALTH, 0);
|
item_set(ITEM_14_HEALTH, 0);
|
||||||
/* missing break ? */
|
/* missing break ? */
|
||||||
case 0xb: //L8029676C
|
case BS_INTR_B: //L8029676C
|
||||||
func_8029622C();
|
func_8029622C();
|
||||||
sp24 = func_802962BC(0);
|
next_state = func_802962BC(0);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x26: //L8029678C
|
case BS_INTR_26: //L8029678C
|
||||||
item_set(ITEM_14_HEALTH, 0);
|
item_set(ITEM_14_HEALTH, 0);
|
||||||
func_8029B930();
|
func_8029B930();
|
||||||
func_8029B890();
|
func_8029B890();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x19: //L802967BC
|
case BS_INTR_19: //L802967BC
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x11: //L802967D4
|
case BS_INTR_11_DROWN: //L802967D4
|
||||||
sp24 = BS_54_SWIM_DIE;
|
next_state = BS_54_SWIM_DIE;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x17: //L802967E4
|
case BS_INTR_17: //L802967E4
|
||||||
func_80294A58(D_8037C3E0.unk18);
|
func_80294A58(D_8037C3E0.unk18);
|
||||||
sp24 = BS_70_CROC_EAT_GOOD;
|
next_state = BS_70_CROC_EAT_GOOD;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x2f: //L80296800
|
case BS_INTR_2F_LOGGO: //L80296800
|
||||||
sp24 = 0x40;
|
next_state = BS_40_PUMPKIN_FLUSH;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x9: //L80296810
|
case BS_INTR_9: //L80296810
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
sp24 = func_80295EE0(0);
|
next_state = func_80295EE0(0);
|
||||||
break;
|
break;
|
||||||
case 0x1a: //L80296828
|
case BS_INTR_1A: //L80296828
|
||||||
if(!bsbtrot_inSet(sp28)){
|
if(!bsbtrot_inSet(current_state)){
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
}
|
}
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x1b: //L80296850
|
case BS_INTR_1B: //L80296850
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x1f: //L80296868
|
case BS_INTR_1F: //L80296868
|
||||||
if(func_80297C6C() != 3 && func_8028D60C()){
|
if(func_80297C6C() != 3 && func_8028D60C()){
|
||||||
case 0x31: //L8029688C
|
case BS_INTR_31: //L8029688C
|
||||||
func_802960C4(2);
|
func_802960C4(2);
|
||||||
item_dec(ITEM_14_HEALTH);
|
item_dec(ITEM_14_HEALTH);
|
||||||
sp24 = func_802962BC(0);
|
next_state = func_802962BC(0);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x21: //L802968B4
|
case BS_INTR_21: //L802968B4
|
||||||
if(func_80297C6C() != 3){
|
if(func_80297C6C() != 3){
|
||||||
case 0x33: //L802968C8
|
case BS_INTR_33: //L802968C8
|
||||||
func_802960C4(0);
|
func_802960C4(0);
|
||||||
item_dec(ITEM_14_HEALTH);
|
item_dec(ITEM_14_HEALTH);
|
||||||
sp24 = func_802962BC(0);
|
next_state = func_802962BC(0);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x20: //L802968F0
|
case BS_INTR_20: //L802968F0
|
||||||
if(func_80297C6C() != 3){
|
if(func_80297C6C() != 3){
|
||||||
func_802960C4(1);
|
func_802960C4(1);
|
||||||
item_dec(ITEM_14_HEALTH);
|
item_dec(ITEM_14_HEALTH);
|
||||||
sp24 = func_802962BC(0);
|
next_state = func_802962BC(0);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x2e: //L8029692C
|
case BS_INTR_2E: //L8029692C
|
||||||
func_802960C4(3);
|
func_802960C4(3);
|
||||||
item_dec(ITEM_14_HEALTH);
|
item_dec(ITEM_14_HEALTH);
|
||||||
sp24 = func_802962BC(0);
|
next_state = func_802962BC(0);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x4: //L80296954
|
case BS_INTR_4: //L80296954
|
||||||
func_802961B4(1);
|
func_802961B4(1);
|
||||||
sp24 = func_802962BC(0);
|
next_state = func_802962BC(0);
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x14: //L80296974
|
case BS_INTR_14: //L80296974
|
||||||
sp24 = BS_5_JUMP;
|
next_state = BS_5_JUMP;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x35: //L80296984
|
case BS_INTR_35: //L80296984
|
||||||
miscflag_set(0x1a);
|
miscflag_set(0x1a);
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x34: //L802969A4
|
case BS_INTR_34: //L802969A4
|
||||||
sp24 = func_802926E8();
|
next_state = func_802926E8();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x27: //L802969BC
|
case BS_INTR_27_BANJO_SLED: //L802969BC
|
||||||
sp24 = 0x7C;
|
next_state = BS_7C_SLED;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0xc: //L802969CC
|
case BS_INTR_C_CLIMB: //L802969CC
|
||||||
sp1C = player_getTransformation();
|
sp1C = player_getTransformation();
|
||||||
sp1C = !((sp1C == TRANSFORM_1_BANJO) || (sp1C == TRANSFORM_7_WISHWASHY));
|
sp1C = !((sp1C == TRANSFORM_1_BANJO) || (sp1C == TRANSFORM_7_WISHWASHY));
|
||||||
if(
|
if(
|
||||||
@@ -443,47 +443,47 @@ void func_80296608(void){
|
|||||||
&& !miscflag_isTrue(0xf)
|
&& !miscflag_isTrue(0xf)
|
||||||
&& !func_8028B2E8()
|
&& !func_8028B2E8()
|
||||||
){
|
){
|
||||||
sp24 = BS_4F_CLIMB_IDLE;
|
next_state = BS_4F_CLIMB_IDLE;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x1e: //L80296A44
|
case BS_INTR_1E: //L80296A44
|
||||||
if(func_8028ABB8()){
|
if(func_8028ABB8()){
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
sp24 = func_8029BE5C();
|
next_state = func_8029BE5C();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x1d: //L80296A68
|
case BS_INTR_1D: //L80296A68
|
||||||
if(func_8028ABB8()){
|
if(func_8028ABB8()){
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
sp24 = func_8029BF4C();
|
next_state = func_8029BF4C();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x1c: //L80296A8C
|
case BS_INTR_1C: //L80296A8C
|
||||||
if(func_8028ABB8()){
|
if(func_8028ABB8()){
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
sp24 = func_8029BED4();
|
next_state = func_8029BED4();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x15: //L80296AB0
|
case BS_INTR_15: //L80296AB0
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
if(bsbfly_inSet(sp28)){
|
if(bsbfly_inSet(current_state)){
|
||||||
sp24 = BS_24_FLY;
|
next_state = BS_24_FLY;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
switch(func_8028EE84()){
|
switch(func_8028EE84()){
|
||||||
case BSWATERGROUP_1_SURFACE:
|
case BSWATERGROUP_1_SURFACE:
|
||||||
sp24 = BS_2D_SWIM_IDLE;
|
next_state = BS_2D_SWIM_IDLE;
|
||||||
break;
|
break;
|
||||||
case BSWATERGROUP_2_UNDERWATER:
|
case BSWATERGROUP_2_UNDERWATER:
|
||||||
sp24 = BS_2B_DIVE_IDLE;
|
next_state = BS_2B_DIVE_IDLE;
|
||||||
break;
|
break;
|
||||||
case BSWATERGROUP_0_NONE://L80296B0C
|
case BSWATERGROUP_0_NONE://L80296B0C
|
||||||
if(func_8028B2E8())
|
if(func_8028B2E8())
|
||||||
sp24 = bs_getIdleState();
|
next_state = bs_getIdleState();
|
||||||
else
|
else
|
||||||
sp24 = func_8029BA80();
|
next_state = func_8029BA80();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -491,39 +491,39 @@ void func_80296608(void){
|
|||||||
func_80297970(0.0f);
|
func_80297970(0.0f);
|
||||||
func_80297A0C(0);
|
func_80297A0C(0);
|
||||||
break;
|
break;
|
||||||
case 0x25: //L80296B54
|
case BS_INTR_25: //L80296B54
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
sp24 = func_8029BED4();
|
next_state = func_8029BED4();
|
||||||
break;
|
break;
|
||||||
case 0xf: //L80296B68
|
case BS_INTR_F: //L80296B68
|
||||||
miscflag_set(6);
|
miscflag_set(6);
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x30: //L80296B88
|
case BS_INTR_30: //L80296B88
|
||||||
item_set(ITEM_14_HEALTH, 0);
|
item_set(ITEM_14_HEALTH, 0);
|
||||||
miscflag_set(6);
|
miscflag_set(6);
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x37: //L80296BB4
|
case BS_INTR_37: //L80296BB4
|
||||||
sp24 = func_80292710();
|
next_state = func_80292710();
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
break;
|
break;
|
||||||
case 0x2a: //L80296BCC
|
case BS_INTR_2A: //L80296BCC
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
sp24 = func_8029B504();
|
next_state = func_8029B504();
|
||||||
miscflag_set(0x14);
|
miscflag_set(MISC_FLAG_14_LOSE_BOGGY_RACE);
|
||||||
break;
|
break;
|
||||||
case 0x29: //L80296BEC
|
case BS_INTR_27_WALRUS_SLED: //L80296BEC
|
||||||
if(player_getTransformation() == TRANSFORM_4_WALRUS){
|
if(player_getTransformation() == TRANSFORM_4_WALRUS){
|
||||||
sp24 = BS_7D_WALRUS_SLED;
|
next_state = BS_7D_WALRUS_SLED;
|
||||||
sp2C = 2;
|
sp2C = 2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}//L80296C0C
|
}//L80296C0C
|
||||||
func_8029A86C(sp2C);
|
func_8029A86C(sp2C);
|
||||||
bs_setState(sp24);
|
bs_setState(next_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80296C30(void){
|
void func_80296C30(void){
|
||||||
|
@@ -41,7 +41,7 @@ void func_802B61E0(void){
|
|||||||
void func_802B6218(void){}
|
void func_802B6218(void){}
|
||||||
|
|
||||||
void func_802B6220(void){
|
void func_802B6220(void){
|
||||||
if(bs_getInterruptType() == 8){
|
if(bs_getInterruptType() == BS_INTR_8){
|
||||||
D_8037D570 = 1;
|
D_8037D570 = 1;
|
||||||
func_8029A86C(2);
|
func_8029A86C(2);
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
#include "bsint.h"
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
f32 climbPoleBottom[3];
|
f32 climbPoleBottom[3];
|
||||||
f32 climbPoleTop[3];
|
f32 climbPoleTop[3];
|
||||||
@@ -55,7 +57,7 @@ climbSet(f32 bottom[3], f32 top[3], f32 radius, u32 arg3){
|
|||||||
void func_80298344(void){ //climbUpdateRegrab
|
void func_80298344(void){ //climbUpdateRegrab
|
||||||
D_8037C58C = max_f(D_8037C58C - time_getDelta(), 0.0f);
|
D_8037C58C = max_f(D_8037C58C - time_getDelta(), 0.0f);
|
||||||
if(D_8037C590 && ability_hasLearned(ABILITY_5_CLIMB)){
|
if(D_8037C590 && ability_hasLearned(ABILITY_5_CLIMB)){
|
||||||
bs_checkInterrupt(0xC);
|
bs_checkInterrupt(BS_INTR_C);
|
||||||
}
|
}
|
||||||
D_8037C590 = 0;
|
D_8037C590 = 0;
|
||||||
}
|
}
|
||||||
|
@@ -682,7 +682,7 @@ void func_80387730(Actor *this) {
|
|||||||
func_80320004(this->unkF4_8 + 0x39, TRUE);
|
func_80320004(this->unkF4_8 + 0x39, TRUE);
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
func_8028F918(0);
|
func_8028F918(0);
|
||||||
func_8028F66C(0x35);
|
func_8028F66C(BS_INTR_35);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this->marker->unk14_21) {
|
if (this->marker->unk14_21) {
|
||||||
|
@@ -220,7 +220,7 @@ void func_8038AE2C(Actor *this) {
|
|||||||
&& (func_802D67AC(-1) == MAP_16_GV_RUBEES_CHAMBER)
|
&& (func_802D67AC(-1) == MAP_16_GV_RUBEES_CHAMBER)
|
||||||
&& (func_802D680C(-1) == this->unkF4_8)
|
&& (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);
|
func_8028F85C(this->position);
|
||||||
this->unk10_12 = 1;
|
this->unk10_12 = 1;
|
||||||
@@ -331,7 +331,7 @@ void func_8038AE2C(Actor *this) {
|
|||||||
func_8028FCAC();
|
func_8028FCAC();
|
||||||
nodeprop_getPosition(func_80304C38(D_80393620[this->unkF4_8 - 1].unk6, this), sp54);
|
nodeprop_getPosition(func_80304C38(D_80393620[this->unkF4_8 - 1].unk6, this), sp54);
|
||||||
if (this->unkF4_8 == 7) {
|
if (this->unkF4_8 == 7) {
|
||||||
func_8028F66C(0x36);
|
func_8028F66C(BS_INTR_36_DINGPOT);
|
||||||
func_802BAFE4(0x82);
|
func_802BAFE4(0x82);
|
||||||
} else {
|
} else {
|
||||||
func_8028F4B8(sp54, 1620.0f, -4100.0f);
|
func_8028F4B8(sp54, 1620.0f, -4100.0f);
|
||||||
|
@@ -709,7 +709,7 @@ void func_8038D670(enum FF_Action next_state) {
|
|||||||
func_8028F5F8(sp30);
|
func_8028F5F8(sp30);
|
||||||
} else {
|
} else {
|
||||||
func_8038D548(0);
|
func_8038D548(0);
|
||||||
func_8028F66C(0x13);
|
func_8028F66C(BS_INTR_13);
|
||||||
}
|
}
|
||||||
func_8030E6D4(SFX_125_AUDIENCE_CHEERING_2);
|
func_8030E6D4(SFX_125_AUDIENCE_CHEERING_2);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -287,7 +287,7 @@ segments:
|
|||||||
- [0x7AF80, c, code_7AF80]
|
- [0x7AF80, c, code_7AF80]
|
||||||
- [0x82000, c, code_82000]
|
- [0x82000, c, code_82000]
|
||||||
- [0x83340, c, code_83340]
|
- [0x83340, c, code_83340]
|
||||||
- [0x83D70, c, code_83D70]
|
- [0x83D70, c, code_83D70] #DONE
|
||||||
- [0x840D0, c, code_840D0] #DONE
|
- [0x840D0, c, code_840D0] #DONE
|
||||||
- [0x84470, c, gc/transition] #DONE
|
- [0x84470, c, gc/transition] #DONE
|
||||||
- [0x851D0, c, code_851D0]
|
- [0x851D0, c, code_851D0]
|
||||||
@@ -539,6 +539,8 @@ segments:
|
|||||||
- [0xE3A20, bin, data_E3A20]
|
- [0xE3A20, bin, data_E3A20]
|
||||||
- [0xE3C50, .data, code_82000]
|
- [0xE3C50, .data, code_82000]
|
||||||
- [0xE4870, bin, data_E4870]
|
- [0xE4870, bin, data_E4870]
|
||||||
|
- [0xE4880, .data, code_83D70]
|
||||||
|
- [0xE4DB0, bin, data_E4DB0]
|
||||||
- [0xE5730, .data, gc/zoombox]
|
- [0xE5730, .data, gc/zoombox]
|
||||||
- [0xE69B0, bin, data_E69B0]
|
- [0xE69B0, bin, data_E69B0]
|
||||||
- [0xE7330, .data, code_9B990]
|
- [0xE7330, .data, code_9B990]
|
||||||
@@ -755,6 +757,8 @@ segments:
|
|||||||
- [0xF0520, .rodata, code_7AF80]
|
- [0xF0520, .rodata, code_7AF80]
|
||||||
# - [0xF0540, bin, data_F0540]
|
# - [0xF0540, bin, data_F0540]
|
||||||
- [0xF05E0, bin, data_F05E0]
|
- [0xF05E0, bin, data_F05E0]
|
||||||
|
- [0xF07B0, .rodata, code_83D70]
|
||||||
|
- [0xF14B0, bin, data_F14B0]
|
||||||
- [0xF14C0, .rodata, gc/transition]
|
- [0xF14C0, .rodata, gc/transition]
|
||||||
- [0xF1520, .rodata, code_85800]
|
- [0xF1520, .rodata, code_85800]
|
||||||
- [0xF1540, .rodata, code_87E30]
|
- [0xF1540, .rodata, code_87E30]
|
||||||
|
Reference in New Issue
Block a user