#include #include "functions.h" #include "variables.h" #include "prop.h" extern ActorInfo D_80390D20; extern ActorInfo D_80390050; extern ActorInfo D_80390200; extern ActorInfo D_80390270; extern ActorInfo D_80390D50; extern ActorInfo D_803906E0; extern ActorInfo D_80390738; extern ActorInfo D_803907D0; extern ActorInfo D_803907F4; extern ActorInfo D_80390818; extern ActorInfo D_8039083C; extern ActorInfo D_803904C0; extern ActorInfo D_803904E4; extern ActorInfo D_80390508; extern ActorInfo D_803903B0; extern ActorInfo D_803903D4; extern ActorInfo D_803903F8; extern ActorInfo D_80390640; extern ActorInfo D_80390664; extern ActorInfo D_80390688; extern ActorInfo D_803906B0; extern ActorInfo D_803908C0; extern ActorInfo D_803908E4; extern ActorInfo D_80390908; extern ActorInfo D_803909B0; extern ActorInfo D_803909D4; extern ActorInfo RBB_D_803909F8; extern ActorInfo D_80390A50; extern ActorInfo D_80390380; extern ActorInfo D_80390A80; //anchorswitch extern ActorInfo RBB_D_80390AB0; //dolphin extern ActorInfo RBB_D_80390AE0; //anchor extern ActorInfo RBB_D_80390B10; extern ActorInfo D_80390B40; //rarewareflag extern ActorInfo RBB_D_80390BD0; extern ActorInfo D_80390BF4; extern ActorInfo D_80390C18; extern ActorInfo RBB_D_80390C3C; extern ActorInfo RBB_D_80390CF0; extern ActorInfo D_80390D88; extern ActorInfo D_80390DAC; //TNTpart_IDStruct; extern ActorInfo RBB_D_80390E00; extern ActorInfo D_80390E34; extern ActorInfo D_80390E58; extern ActorInfo D_803900E0; extern ActorInfo D_80390104; //captcabinwooddoor extern ActorInfo D_80390128; extern ActorInfo D_8039014C; extern ActorInfo D_803901B8; extern ActorInfo D_803901DC; extern ActorInfo D_80390170;//skylight extern ActorInfo D_80390194;//honeycombswitch extern void func_802D3D54(Actor *); void func_80386A7C(Actor *); void func_80386BF8(Actor *arg0); Actor *func_80386B9C(ActorMarker *marker, Gfx **gdl, Mtx **mptr, s32 arg3); /* .data */ ActorAnimationInfo D_803900C0[4] = { {0, 0.0f}, {0, 0.0f}, {0xD4, 0.15f}, {0xD5, 0.5f} }; ActorInfo D_803900E0 = { 0x107, 0x21D, 0x493, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0 }; ActorInfo D_80390104 = { 0x108, 0x21C, 0x492, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0 }; ActorInfo D_80390128 = { 0x22D, 0x266, 0x4BA, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0 }; ActorInfo D_8039014C = { 0x22E, 0x267, 0x4BB, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0 }; ActorInfo D_80390170 = { 0x235, 0x23F, 0x4E2, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0 }; ActorInfo D_80390194 = { 0x15F, 0x18F, 0x42F, 0x1, D_803900C0, func_80386BF8, func_80326224, func_80325888, 0, 0, 0.0f, 0 }; ActorInfo D_803901B8 = { 0x22F, 0x263, 0x4DB, 0x1, NULL, func_80386A7C, func_80326224, func_80386B9C, 0, 0, 0.0f, 0 }; ActorInfo D_803901DC = { 0x230, 0x264, 0x4DE, 0x1, NULL, func_80386A7C, func_80326224, func_80386B9C, 0, 0, 0.0f, 0 }; /* .code */ s32 func_80386A30(f32 (*arg0)[3]){ s32 r; r = ((*arg0)[0] < 0.0f)? 0 : 1; return (((*arg0)[2] < 0.0f)? 0 : 2) + r; } void func_80386A7C(Actor *this){ f32 sp2C[3]; s32 sp28; s32 temp_v0; func_802D3D74(this); this->unk124_9 = 1; func_8024C5CC(&sp2C); sp28 = func_80386A30(&this->position); temp_v0 = func_80386A30(&sp2C); this->unk38_0 = 0; if(sp2C[0] + 8000.0f < this->position_x || this->position_x < sp2C[0] - 8000.0f) return; if( !( (sp28 ^ temp_v0) & 2 && (-5000.0f < sp2C[0] && sp2C[0] < 6000.0f) && (sp2C[2] < -600.0f || 600.0f < sp2C[2]) ) && ( sp28 ^ temp_v0) != 3 ){ this->unk38_0 = 1; } } Actor *func_80386B9C(ActorMarker *marker, Gfx **gdl, Mtx **mptr, s32 arg3){ Actor *actor = marker_getActor(marker); return (actor->unk38_0) ? func_80325E78(marker, gdl, mptr, arg3): NULL; } void func_80386BF8(Actor *arg0){ if(!mapSpecificFlags_get(0) && honeycombscore_get(HONEYCOMB_F_RBB_BOAT_HOUSE)) mapSpecificFlags_set(0, TRUE); func_802D4A9C(arg0, 0); } void RBB_func_80386C48(void){ spawnableActorList_add(&D_80390D20, actor_new, 0x4880); spawnableActorList_add(&D_80390050, actor_new, 0); spawnableActorList_add(&D_80390200, actor_new, 0x80); spawnableActorList_add(&D_80390270, actor_new, 0x80); spawnableActorList_add(&D_80390D50, actor_new, 0x8004480); spawnableActorList_add(&D_803906E0, actor_new, 0x80); spawnableActorList_add(&D_80390738, actor_new, 0x80); spawnableActorList_add(&D_803907D0, actor_new, 0x6488); spawnableActorList_add(&D_803907F4, actor_new, 0x6488); spawnableActorList_add(&D_80390818, actor_new, 0x6488); spawnableActorList_add(&D_8039083C, actor_new, 0x6488); spawnableActorList_add(&D_803904C0, actor_new, 0x6408); spawnableActorList_add(&D_803904E4, actor_new, 0x6408); spawnableActorList_add(&D_80390508, actor_new, 0x6408); spawnableActorList_add(&D_803903B0, actor_new, 0x6408); spawnableActorList_add(&D_803903D4, actor_new, 0x6408); spawnableActorList_add(&D_803903F8, actor_new, 0x6408); spawnableActorList_add(&D_80390640, actor_new, 0x400); spawnableActorList_add(&D_80390664, actor_new, 0x400); spawnableActorList_add(&D_80390688, actor_new, 0x400); spawnableActorList_add(&D_803906B0, actor_new, 0); spawnableActorList_add(&D_803908C0, actor_new, 0x80); spawnableActorList_add(&D_803908E4, actor_new, 0x80); spawnableActorList_add(&D_80390908, actor_new, 0x80); spawnableActorList_add(&D_803909B0, actor_new, 0x880); spawnableActorList_add(&D_803909D4, actor_new, 0x880); spawnableActorList_add(&RBB_D_803909F8, actor_new, 0x880); spawnableActorList_add(&D_80390A50, actor_new, 0x80); spawnableActorList_add(&D_80390380, actor_new, 0x9aa); spawnableActorList_add(&D_80390A80, actor_new, 0x80); //anchorswitch spawnableActorList_add(&RBB_D_80390AB0, actor_new, 0x8C8); //dolphin spawnableActorList_add(&RBB_D_80390AE0, actor_new, 0xC80); //anchor spawnableActorList_add(&RBB_D_80390B10, actor_new, 0x80); spawnableActorList_add(&D_80390B40, actor_new, 0x880); //rarewareflag spawnableActorList_add(&RBB_D_80390BD0, actor_new, 0xc2c); spawnableActorList_add(&D_80390BF4, actor_new, 0xc2c); spawnableActorList_add(&D_80390C18, actor_new, 0xc2c); spawnableActorList_add(&RBB_D_80390C3C, actor_new, 0xc2c); spawnableActorList_add(&RBB_D_80390CF0, actor_new, 0x80); spawnableActorList_add(&D_80390D88, actor_new, 0x2000889); spawnableActorList_add(&D_80390DAC, actor_new, 0x2000889); spawnableActorList_add(&RBB_D_80390E00, actor_new, 0x80); spawnableActorList_add(&D_80390E34, actor_new, 0x80); spawnableActorList_add(&D_80390E58, actor_new, 0x80); spawnableActorList_add(&D_803900E0, actor_new, 0); spawnableActorList_add(&D_80390104, actor_new, 0x8600); //captcabinwooddoor spawnableActorList_add(&D_80390128, actor_new, 0); spawnableActorList_add(&D_8039014C, actor_new, 0); spawnableActorList_add(&D_803901B8, actor_new, 0x8600); spawnableActorList_add(&D_803901DC, actor_new, 0x8600); spawnableActorList_add(&D_80390170, actor_new, 0x8600); //skylight spawnableActorList_add(&D_80390194, actor_new, 0x8); //honeycombswitch }