CC overlay 100%, BGS documentation

This commit is contained in:
Banjo Kazooie 2022-09-21 15:28:41 -05:00
parent 2085d08c65
commit 20e086e554
21 changed files with 264 additions and 205 deletions

View File

@ -1,4 +1,4 @@
# banjo (87.6959%)
# banjo (87.7724%)
<img src="./progress/progress_total.svg">

View File

@ -1467,6 +1467,9 @@ enum honeycomb_e
enum actor_e
{
ACTOR_1_UNKNOWN = 0x1,
ACTOR_2_UNKNOWN,
ACTOR_4_BIGBUTT = 0x4,
ACTOR_6_GRUBLIN = 0x6,
@ -1485,6 +1488,7 @@ enum actor_e
//ACTOR_13_SINKING_BOBBER
ACTOR_14_ORANGE_PROJECTILE = 0x14,
ACTOR_15_UNKNOWN,
ACTOR_17_PLAYER_SHADOW = 0x17,
@ -1514,8 +1518,8 @@ enum actor_e
ACTOR_40_CLANKER_SAWBLADE_PROPELLOR_4,
ACTOR_41_CLANKER_SAWBLADE_PROPELLOR_5,
ACTOR_42_CLANKER_SAWBLADE_PROPELLOR_6,
ACTOR_44_CLANKER_TOKEN_TOOTH_EXTERIOR = 0x44,
ACTOR_43_CLACKER_SCREW,
ACTOR_44_CLANKER_TOKEN_TOOTH_EXTERIOR,
ACTOR_45_CLANKER_JIGGY_TOOTH_EXTERIOR,
ACTOR_46_JIGGY,
ACTOR_47_EMPTY_HONEYCOMB,
@ -1550,6 +1554,21 @@ enum actor_e
ACTOR_6D_GV_BANJO_DOOR = 0x6D,
ACTOR_72_UNKNOWN = 0x72,
ACTOR_73_UNKNOWN,
ACTOR_74_UNKNOWN,
ACTOR_75_UNKNOWN,
ACTOR_76_UNKNOWN,
ACTOR_77_UNKNOWN,
ACTOR_78_UNKNOWN,
ACTOR_79_UNKNOWN,
ACTOR_7A_UNKNOWN,
ACTOR_7B_UNKNOWN,
ACTOR_7C_UNKNOWN,
ACTOR_7D_UNKNOWN,
ACTOR_7E_UNKNOWN,
ACTOR_7F_UNKNOWN,
ACTOR_C5_CHIMPY_STUMP = 0xC5,
ACTOR_C7_RIPPER = 0xC7,
@ -1561,7 +1580,11 @@ enum actor_e
ACTOR_E6_GLOOP = 0xE6,
ACTOR_E7_GLOOP_BUBBLE,
ACTOR_E8_TANKTUP,
ACTOR_E9_TANKTUP_LEG_FL,
ACTOR_EA_TANKTUP_LEG_BL,
ACTOR_EB_TANKTUP_LEG_FR,
ACTOR_EC_TANKTUP_LEG_BR,
ACTOR_ED_PINK_EGG_LARGE = 0xED,
ACTOR_EE_PINK_EGG_MEDIUM,
ACTOR_EF_PINK_EGG_SMALL,
@ -1575,6 +1598,11 @@ enum actor_e
ACTOR_101_CLANKER_TOKEN_TOOTH = 0x101,
ACTOR_102_CLANKER_JIGGY_TOOTH,
ACTOR_103_UNKNOWN,
ACTOR_104_UNKNOWN,
ACTOR_105_UNKNOWN,
ACTOR_106_UNKNOWN,
ACTOR_107_UNKNOWN,
ACTOR_114_CHURCH_DOOR = 0x114,
ACTOR_115_BLUBBER,
@ -1610,10 +1638,10 @@ enum actor_e
ACTOR_135_GOBI_3,
ACTOR_136_YELLOW_FLIBBIT_CONTROLLER,
ACTOR_137_FLIBBIT_YELLOW,
actor_yumblie = 0x139,
ACTOR_13B_FLOTSAM = 0x13B,
ACTOR_138_VILE_GAME_CTRL,
ACTOR_139_YUMBLIE,
ACTOR_13A_MR_VILE,
ACTOR_13B_FLOTSAM,
ACTOR_13E_LIGHTHOUSE_DOOR = 0x13E,
ACTOR_13F_GV_SUN_SWITCH,
@ -1626,12 +1654,19 @@ enum actor_e
ACTOR_146_GV_KAZOOIE_TARGET,
ACTOR_147_ANCIENT_ONE,
ACTOR_14F_DESTROYED_JIGGY = 0x14f,
ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH = 0x14E,
ACTOR_14F_DESTROYED_JIGGY,
ACTOR_151_LOCKUP_SLOW = 0x151,
ACTOR_152_LOCKUP_MEDIUM,
ACTOR_153_LOCKUP_FAST,
ACTOR_158_UNKNOWN = 0x158,
ACTOR_15A_UNKNOWN = 0x15A,
ACTOR_15C_UNKNOWN = 0x15C,
ACTOR_15F_XMAS_TREE = 0x15F,
ACTOR_160_BOGGY_1,
@ -1657,6 +1692,14 @@ enum actor_e
ACTOR_1C6_GRIMLET = 0x1C6,
ACTOR_1CC_GRILL_CHOMPA = 0x1CC,
ACTOR_1CD_UNKNOWN,
ACTOR_1CE_UNKNOWN,
ACTOR_1CF_UNKNOWN,
ACTOR_1D0_UNKNOWN,
ACTOR_1D1_UNKNOWN,
ACTOR_1D2_UNKNOWN,
ACTOR_1D3_UNKNOWN,
ACTOR_1D4_UNKNOWN,
ACTOR_1DB_GAME_OVER = 0x1DB,
@ -1679,6 +1722,7 @@ enum actor_e
ACTOR_1F7_JINXY = 0x1F7,
ACTOR_1FA_CROCTUS = 0x1FA,
ACTOR_1FB_BGS_MAZE_SWITCH = 0x1FB,
ACTOR_204_MM_WITCH_SWITCH = 0x204,
@ -1717,7 +1761,14 @@ enum actor_e
ACTOR_25D_ICE_KEY,
ACTOR_25E_SNS_EGG,
ACTOR_281_BOSS_BOOM_BOX_LARGEST = 0x281,
ACTOR_27A_TIPTUP = 0x27A,
ACTOR_27B_CHOIR_TURTLE_YELLOW,
ACTOR_27C_CHOIR_TURTLE_CYAN,
ACTOR_27D_CHOIR_TURTLE_BLUE,
ACTOR_27E_CHOIR_TURTLE_RED,
ACTOR_27F_CHOIR_TURTLE_PINK,
ACTOR_280_CHOIR_TURTLE_PURPLE,
ACTOR_281_BOSS_BOOM_BOX_LARGEST,
ACTOR_282_BOSS_BOOM_BOX_LARGE,
ACTOR_283_BOSS_BOOM_BOX_MEDIUM,
ACTOR_284_BOSS_BOOM_BOX_SMALL,
@ -1755,6 +1806,8 @@ enum actor_e
ACTOR_31D_SANDYBUTT_PYRAMID = 0x31D,
ACTOR_31E_PALM_TREE,
ACTOR_32B_UNKNOWN = 0x32B, //something with Tanktup
ACTOR_332_TWINKLY_BLUE = 0x332,
ACTOR_333_TWINKLY_GREEN,
ACTOR_334_TWINKLY_ORANGE,
@ -1790,7 +1843,8 @@ enum actor_e
ACTOR_375_GRUBLIN_HOOD = 0x375,
ACTOR_37A_BOTTLES = 0x37a,
ACTOR_379_UNKNOWN = 0x379,
ACTOR_37A_BOTTLES,
ACTOR_37D_ICECUBE_A = 0x37d,
@ -2236,6 +2290,9 @@ enum asset_e
ASSET_12A_ANIM_GRUMBLIE_IDLE,
ASSET_12B_ANIM_TIPTUP_IDLE,
ASSET_12C_ANIM_TIPTUP_TAPPING,
ASSET_12D_ANIM_CHOIR_TURTLE_IDLE,
ASSET_12E_ANIM_CHOIR_TURTLE_SING,
ASSET_12F_ANIM_CHOIR_TURTLE_HURT,
ASSET_132_ANIM_FLOTSAM_MOVE = 0x132,
@ -2404,7 +2461,7 @@ enum asset_e
ASSET_30A_MODEL_CLANKER_JIGGY_TOOTH_EXTERIOR,
// Unused
// Unused
// 30d BGS Leaf Pad
ASSET_30D_MODEL_LEAFBOAT = 0x30D,
// 30e (Wood Pipe?)
// Unused
// Unused
@ -2507,7 +2564,7 @@ enum asset_e
ASSET_370_MODEL_BLUBBER,
ASSET_371_MODEL_GRABBA,
ASSET_372_MODEL_GLOOP,
// 373 Mr Vile
ASSET_373_MODEL_MR_VILE,
ASSET_374_MODEL_BANJO_CROC = 0x374,
ASSET_375_MODEL_FLIBBIT_RED,
ASSET_376_MODEL_SLAPPA,
@ -2546,6 +2603,7 @@ enum asset_e
// 395 Ticker Body
// 396 Ticker Eye
// 397 BGS Large Alligator Head
ASSET_397_MODEL_BIG_ALLIGATOR = 0x397,
// 398 Concert Ant
// Unused
// Unused
@ -2632,19 +2690,20 @@ enum asset_e
ASSET_3EA_MODEL_RED_X,
ASSET_3EB_MODEL_RED_QUESTION_MARK,
// 3ec Shrapnel
ASSET_3ED_MODEL_BUZZBOMB,
// 3ee BGS Tanktup Head & Shell
// 3ef BGS Tanktup Leg 1
// 3f0 BGS Tanktup Leg 2
// 3f1 BGS Tanktup Leg 3
// 3f2 BGS Tanktup Leg 4
ASSET_3F3_MODEL_GOBI_SPIT = 0x3F3,
ASSET_3ED_MODEL_BUZZBOMB = 0x3ED,
ASSET_3EE_TANKTUP,
ASSET_3EF_MODEL_TANKTUP_LEG_FL,
ASSET_3F0_MODEL_TANKTUP_LEG_BL,
ASSET_3F1_MODEL_TANKTUP_LEG_FR,
ASSET_3F2_MODEL_TANKTUP_LEG_BR,
ASSET_3F3_MODEL_GOBI_SPIT,
// Unused
// 3f5 BGS Green Jiggy Switch
ASSET_3F6_MODEL_YUMBLIE = 0x3F6,
ASSET_3F5_BGS_JIGGY_SWITCH = 0x3F5,
ASSET_3F6_MODEL_YUMBLIE,
ASSET_3F7_MODEL_GRUMBLIE,
// 3f8 BGS Tip-tup
// 3f9 BGS Choir Turtle
ASSET_3F8_MODEL_TIPTUP,
ASSET_3F9_MODEL_CHOIR_TURTLE,
// Unused
// Unused
// Unused
@ -3533,7 +3592,8 @@ enum asset_e
ASSET_88E_MODEL_CLANKER_CHAIN = 0x88e,
ASSET_891_MODEL_CLANKER_TOKEN_TOOTH_OPEN = 0x891,
ASSET_890_MODEL_SCREW = 0x890,
ASSET_891_MODEL_CLANKER_TOKEN_TOOTH_OPEN,
ASSET_892_MODEL_CLANKER_TOKEN_TOOTH_CLOSED,
ASSET_893_MODEL_CLANKER_JIGGY_TOOTH_OPEN,
ASSET_894_MODEL_CLANKER_JIGGY_TOOTH_CLOSED,
@ -3654,8 +3714,8 @@ enum marker_e{
MARKER_48_NAPPER = 0x48,
MARKER_49_MOTZHAND,
MARKER_4A_CC_KEY,
MARKER_4C_CLANKER_TOKEN_TOOTH_EXT = 0x4C,
MARKER_4B_CC_SCREW,
MARKER_4C_CLANKER_TOKEN_TOOTH_EXT,
MARKER_4D_CLANKER_JIGGY_TOOTH_EXT,
MARKER_51_MM_HUT = 0x51,
@ -3677,7 +3737,9 @@ enum marker_e{
MARKER_69_CHUMP_FISH = 0x69,
MARKER_6A_GLOOP = 0x6A,
MARKER_6E_PINK_EGG_LARGEST = 0x6E,
MARKER_6C_TANKTUP = 0x6C,
MARKER_6D_TANKTUP_LEG,
MARKER_6E_PINK_EGG_LARGEST,
MARKER_95_CHIMPY_STUMP = 0x95,
MARKER_96_RIPPER,
@ -3713,19 +3775,22 @@ enum marker_e{
MARKER_C1_FLIBBIT_RED,
MARKER_C2_BUZZBOMB,
MARKER_C3_GOBI_3,
MARKER_C4_YELLOW_FLIBBIT_CTRL,
MARKER_C5_FLIBBIT_YELLOW,
MARKER_C6_VILE_GAME_CTRL,
MARKER_C7_YUMBLIE,
MARKER_C8_MR_VILE,
MARKER_C9_FLOTSAM,
MARKER_C5_FLIBBIT_YELLOW = 0xC5,
MARKER_C9_FLOTSAM = 0xC9,
MARKER_D6_PINK_EGG_LARGE = 0xD6,
MARKER_D5_BGS_MUD_HUT = 0xD5,
MARKER_D6_PINK_EGG_LARGE,
MARKER_D7_PINK_EGG_MEDIUM,
MARKER_D8_PINK_EGG_SMALL,
MARKER_D9_PINK_EGG_SMALLEST,
MARKER_DB_BURIED_TREASURE = 0xDB,
MARKER_DD_BLACK_SNIPPET = 0xDD,
MARKER_DA_LEAFBOAT,
MARKER_DB_BURIED_TREASURE,
MARKER_DC_BIG_ALLIGATOR,
MARKER_DD_BLACK_SNIPPET,
MARKER_EA_LIGHTHOUSE_DOOR = 0xEA,
MARKER_EB_GV_BANJO_DOOR,
@ -3738,15 +3803,15 @@ enum marker_e{
MARKER_F2_HONEYCOMB_SWITCH,
MARKER_F3_GV_KAZOOIE_TARGET,
MARKER_F4_ANCIENT_ONE,
MARKER_F6_LOCKUP_MEDIUM = 0xF6,
MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH,
MARKER_F6_LOCKUP_MEDIUM,
MARKER_F7_LOCKUP_FAST,
MARKER_F8_GV_KAZOOIE_DOOR,
MARKER_F9_JINXY,
MARKER_FC_CROCTUS = 0xFC,
MARKER_FE_MMM_CLOCK_SWITCH = 0xFE,
MARKER_FD_BGS_MAZE_SWITCH,
MARKER_FE_MMM_CLOCK_SWITCH,
MARKER_103_MM_WITCH_SWITCH = 0x103,
MARKER_104_MMM_WITCH_SWITCH,
@ -3788,7 +3853,14 @@ enum marker_e{
MARKER_192_ENGINE_ROOM_PROPELLOR_2,
MARKER_193_ENGINE_ROOM_PROPELLOR_3,
MARKER_1A1_BOSS_BOOM_BOX_LARGEST = 0x1A1,
MARKER_19A_TIPTUP = 0x19A,
MARKER_19B_CHOIR_TURTLE_YELLOW,
MARKER_19C_CHOIR_TURTLE_CYAN,
MARKER_19D_CHOIR_TURTLE_BLUE,
MARKER_19E_CHOIR_TURTLE_RED,
MARKER_19F_CHOIR_TURTLE_PINK,
MARKER_1A0_CHOIR_TURTLE_PURPLE,
MARKER_1A1_BOSS_BOOM_BOX_LARGEST,
MARKER_1A2_BOSS_BOOM_BOX_LARGE,
MARKER_1A3_BOSS_BOOM_BOX_MEDIUM ,
MARKER_1A4_BOSS_BOOM_BOX_SMALL,

View File

@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="91" height="20">
<svg xmlns="http://www.w3.org/2000/svg" width="98" height="20">
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="anybadge_1">
<rect width="91" height="20" rx="3" fill="#fff"/>
<rect width="98" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h24v20H0z"/>
<path fill="#23e000" d="M24 0h67v20H24z"/>
<path fill="url(#b)" d="M0 0h91v20H0z"/>
<path fill="#00e000" d="M24 0h74v20H24z"/>
<path fill="url(#b)" d="M0 0h98v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="13.0" y="15" fill="#010101" fill-opacity=".3">CC</text>
<text x="12.0" y="14">CC</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="58.5" y="15" fill="#010101" fill-opacity=".3">92.1429%</text>
<text x="57.5" y="14">92.1429%</text>
<text x="62.0" y="15" fill="#010101" fill-opacity=".3">100.0000%</text>
<text x="61.0" y="14">100.0000%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="22.0" y="14">core2</text>
</g>
<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">86.8047%</text>
<text x="77.5" y="14">86.8047%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">86.8162%</text>
<text x="77.5" y="14">86.8162%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g>
<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">87.6959%</text>
<text x="183.5" y="14">87.6959%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">87.7724%</text>
<text x="183.5" y="14">87.7724%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -22,7 +22,7 @@ Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, u32 arg3);
/* .data section */
u8 D_80390DA0[6] = {0, 0, 0, 1, 1, 1};
ActorInfo D_80390DA8 = {0xDA, ACTOR_F1_LEAFBOAT, 0x30D,
ActorInfo D_80390DA8 = {MARKER_DA_LEAFBOAT, ACTOR_F1_LEAFBOAT, ASSET_30D_MODEL_LEAFBOAT,
0x01, NULL,
func_8038FD9C, func_8038FD9C, func_8038FD10,
0, 0, 0.0f, 0

View File

@ -29,7 +29,7 @@ typedef struct chmrvile_s{
} ActorLocal_MrVile;
/* .data */
ActorInfo D_80390A70 = {0xC8, 0x13A, 0x373, 0x00, NULL,
ActorInfo D_80390A70 = {MARKER_C8_MR_VILE, ACTOR_13A_MR_VILE, ASSET_373_MODEL_MR_VILE, 0x00, NULL,
chvile_update, NULL, chvile_draw,
0, 0, 0.0f, 0
};

View File

@ -14,6 +14,13 @@ extern void func_802C3E10(void(*arg0)(void), ActorMarker *, s32, s32);
void func_8038F6A4(Actor *);
/* .data */
enum chtanktup_leg_e {
TANKTUP_LEG_FRONT_LEFT,
TANKTUP_LEG_BACK_LEFT,
TANKTUP_LEG_FRONT_RIGHT,
TANKTUP_LEG_BACK_RIGHT,
};
ActorAnimationInfo D_80390C20[] = {
{0, 0.0f},
{0x101, 7.5f},
@ -21,16 +28,16 @@ ActorAnimationInfo D_80390C20[] = {
{0x107, 1.75f}
};
ActorInfo D_80390C40 = {0x6C, 0xE8, 0x3EE, 0x01, D_80390C20,
ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, D_80390C20,
func_8038F6A4, func_80326224, func_80325888,
0, 0x80, 0.0f, 0
};
/* .code */
void func_8038F470(ActorMarker *this, s32 arg1, s32 arg2){
void func_8038F470(ActorMarker *this, s32 arg1, enum chtanktup_leg_e leg_id){
Actor* thisActor;
f32 pad;
Actor* sp24;
Actor* leg;
f32 sp18[3];
thisActor = marker_getActor(this);
@ -39,14 +46,14 @@ void func_8038F470(ActorMarker *this, s32 arg1, s32 arg2){
sp18[2] = thisActor->position_z;
sp18[1] += 50.0f;
sp24 = func_8032813C(arg2 + 0xe9, sp18, (s32)thisActor->yaw);
func_80328B8C(sp24, arg1 + 1, 0, -1);
sp24->unk10_12 = arg2;
leg = func_8032813C(leg_id + ACTOR_E9_TANKTUP_LEG_FL, sp18, (s32)thisActor->yaw);
func_80328B8C(leg, arg1 + 1, 0, -1);
leg->unk10_12 = leg_id;
}
void func_8038F51C(Actor *this){
Actor * spawnPtr;
spawnPtr = func_80326D68(this->position, 0xe8, -1, 0);
spawnPtr = func_80326D68(this->position, ACTOR_E8_TANKTUP, -1, 0);
spawnPtr->tanktup.unk0[this->unk10_12] = 1;
spawnPtr->tanktup.unk10 = 1;
}
@ -58,7 +65,7 @@ s32 func_8038F570(s16 *arg0){
pos[0] = (f32)arg0[0];
pos[1] = (f32)arg0[1];
pos[2] = (f32)arg0[2];
spawnPtr = func_80326D68(pos, 0xe8, -1, 0);
spawnPtr = func_80326D68(pos, ACTOR_E8_TANKTUP, -1, 0);
return spawnPtr->state == 3;
@ -99,7 +106,7 @@ void func_8038F6A4(Actor *this) {
if(!this->initialized){
temp_v0 = func_80304C38(0x32B, this);
temp_v0 = func_80304C38(ACTOR_32B_UNKNOWN, this);
if (temp_v0 == NULL) {
local->unk18[0] = 3672.0f;
local->unk18[1] = 100.0f;

View File

@ -28,7 +28,7 @@ void chyumblie_update(Actor *);
Actor *chyumblie_draw(ActorMarker *this, Gfx **gfx, Mtx** mtx, Vtx **vtx);
/* .data */
ActorInfo D_80390A40 = {0xC7, actor_yumblie, 0x3F6, 0x00, NULL,
ActorInfo D_80390A40 = {MARKER_C7_YUMBLIE, ACTOR_139_YUMBLIE, ASSET_3F6_MODEL_YUMBLIE, 0x00, NULL,
chyumblie_update, NULL, chyumblie_draw,
0, 0, 0.0f, 0
};
@ -157,7 +157,7 @@ void chyumblie_update(Actor *this){
}
if(s0->game_marker == NULL){
s0->game_marker = func_80326D68(this->position, 0x138, -1, &sp48)->marker;
s0->game_marker = func_80326D68(this->position, ACTOR_138_VILE_GAME_CTRL, -1, &sp48)->marker;
}
sp50 = func_80335684(this->unk148);
if(this->state == YUMBLIE_STATE_1_UNDER_GROUND){

View File

@ -4,7 +4,7 @@
typedef struct{
s32 unk0;
ActorMarker *unk4; //tiptup_marker
ActorMarker *tiptup_marker; //tiptup_marker
f32 unk8;
s32 unkC;
}ActorLocal_BGS_3030;
@ -13,12 +13,12 @@ void func_80389668(Actor *this);
Actor *func_80389610(ActorMarker *marker, Gfx **, Mtx **, Vtx**);
/* .data */
ActorInfo D_80390880 = { 0x019B, 0x27B, 0x3F9, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908A4 = { 0x019C, 0x27C, 0x3F9, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908C8 = { 0x019D, 0x27D, 0x3F9, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908EC = { 0x019E, 0x27E, 0x3F9, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390910 = { 0x019F, 0x27F, 0x3F9, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390934 = { 0x01A0, 0x280, 0x3F9, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390880 = { MARKER_19B_CHOIR_TURTLE_YELLOW, ACTOR_27B_CHOIR_TURTLE_YELLOW, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908A4 = { MARKER_19C_CHOIR_TURTLE_CYAN, ACTOR_27C_CHOIR_TURTLE_CYAN, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908C8 = { MARKER_19D_CHOIR_TURTLE_BLUE, ACTOR_27D_CHOIR_TURTLE_BLUE, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908EC = { MARKER_19E_CHOIR_TURTLE_RED, ACTOR_27E_CHOIR_TURTLE_RED, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390910 = { MARKER_19F_CHOIR_TURTLE_PINK, ACTOR_27F_CHOIR_TURTLE_PINK, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390934 = { MARKER_1A0_CHOIR_TURTLE_PURPLE, ACTOR_280_CHOIR_TURTLE_PURPLE, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0};
/* .code */
void func_80389420(ActorMarker *marker) {
@ -33,19 +33,19 @@ void func_80389488(Actor *this, s32 next_state) {
local = (ActorLocal_BGS_3030 *)&this->local;
if (next_state == 1) {
func_80335924(this->unk148, 0x12D, 0.2f, randf2(2.0f, 2.5f));
func_80335924(this->unk148, ASSET_12D_ANIM_CHOIR_TURTLE_IDLE, 0.2f, randf2(2.0f, 2.5f));
func_80335A74(this->unk148, randf2(0.0f, 1.0f));
}
if (next_state == 2) {
func_80335924(this->unk148, 0x12E, 0.1f, 1.6666666f);
func_80335924(this->unk148, ASSET_12E_ANIM_CHOIR_TURTLE_SING, 0.1f, 1.6666666f);
timed_playSfx(0.8333333, SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
}
if (next_state == 3) {
func_8030E6A4(SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
func_80335924(this->unk148, 0x12F, 0.1f, 1.75f);
func_80335924(this->unk148, ASSET_12F_ANIM_CHOIR_TURTLE_HURT, 0.1f, 1.75f);
func_80335800(this->unk148, 0.9f, func_80389420, (s32)this->marker);
if (local->unk4 != NULL) {
func_80388E94(local->unk4, local->unk0);
if (local->tiptup_marker != NULL) {
func_80388E94(local->tiptup_marker, local->unk0);
}
}
this->state = next_state;
@ -68,7 +68,7 @@ Actor *func_80389610(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
void func_80389668(Actor *this) {
ActorLocal_BGS_3030 *local;
f32 sp30;
Actor *temp_v0_2;
Actor *tiptup;
local = (ActorLocal_BGS_3030 *)&this->local;
if (!this->unk16C_4) {
@ -77,7 +77,7 @@ void func_80389668(Actor *this) {
marker_setCollisionScripts(this->marker, NULL, func_803895D0, NULL);
local->unk0 = 1;
local->unkC = 0;
local->unk4 = NULL;
local->tiptup_marker = NULL;
local->unk8 = 1.0f;
func_80389488(this, 1);
if (jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !func_803203FC(2) && !func_803203FC(1)) {
@ -88,14 +88,14 @@ void func_80389668(Actor *this) {
local->unkC++;
if (local->unkC == 2) {
temp_v0_2 = func_80326D68(this->position, 0x27A, -1, &sp30);
local->unk4 = (temp_v0_2 != NULL) ? temp_v0_2->marker : NULL;
if (local->unk4 != NULL) {
func_80388FFC(local->unk4, &local->unk0, &local->unk8);
tiptup = func_80326D68(this->position, ACTOR_27A_TIPTUP, -1, &sp30);
local->tiptup_marker = (tiptup != NULL) ? tiptup->marker : NULL;
if (local->tiptup_marker != NULL) {
func_80388FFC(local->tiptup_marker, &local->unk0, &local->unk8);
}
}
if (this->state == 1) {
if (local->unk4 != NULL && (func_80388E70(local->unk4) == local->unk0)) {
if (local->tiptup_marker != NULL && (func_80388E70(local->tiptup_marker) == local->unk0)) {
func_80389488(this, 2);
}
}

View File

@ -36,7 +36,7 @@ void func_8038A068(Actor *this, s32 next_state);
void chvilegame_update(Actor *this);
/* .data */
ActorInfo D_80390960 = {0xC6, 0x138, 0, 0, NULL, chvilegame_update, NULL, func_80325340, 0, 0, 0.0f, 0};
ActorInfo D_80390960 = {MARKER_C6_VILE_GAME_CTRL, ACTOR_138_VILE_GAME_CTRL, 0, 0, NULL, chvilegame_update, NULL, func_80325340, 0, 0, 0.0f, 0};
enum asset_e D_80390984[] = { 0, 0xC66, 0xC68, 0xC6A, 0xC92, 0xC93, 0xC94, 0};
enum asset_e D_803909A4[] = { 0, 0xC67, 0xC69, 0, 0xC95, 0xC96, 0xC97};
enum asset_e D_803909C0[] = { 0, 0xC6E, 0xC6F, 0, 0xC95, 0xC96, 0xC97};

View File

@ -16,7 +16,7 @@ ActorAnimationInfo D_80390C70[3] = {
{0x103, 0.75f}
};
ActorInfo D_80390C88 = {0x6D, 0xE9, 0x3EF, 0x01, D_80390C70,
ActorInfo D_80390C88 = {MARKER_6D_TANKTUP_LEG, ACTOR_E9_TANKTUP_LEG_FL, ASSET_3EF_MODEL_TANKTUP_LEG_FL, 0x01, D_80390C70,
func_8038FBF8, func_80326224, func_80325888,
0, 0x166, 0.0f, 0
};
@ -28,7 +28,7 @@ ActorAnimationInfo D_80390CB0[3] = {
{0x104, 0.75f}
};
ActorInfo D_80390CC8 = {0x6D, 0xEA, 0x3F0, 0x01, D_80390CB0,
ActorInfo D_80390CC8 = {MARKER_6D_TANKTUP_LEG, ACTOR_EA_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL, 0x01, D_80390CB0,
func_8038FBF8, func_80326224, func_80325888,
0, 0x166, 0.0f, 0
};
@ -40,7 +40,7 @@ ActorAnimationInfo D_80390CF0[3] = {
{0x105, 0.75f}
};
ActorInfo D_80390D08 = {0x6D, 0xEB, 0x3F1, 0x01, D_80390CF0,
ActorInfo D_80390D08 = {MARKER_6D_TANKTUP_LEG, ACTOR_EB_TANKTUP_LEG_FR, ASSET_3F1_MODEL_TANKTUP_LEG_FR, 0x01, D_80390CF0,
func_8038FBF8, func_80326224, func_80325888,
0, 0x166, 0.0f, 0
};
@ -52,7 +52,7 @@ ActorAnimationInfo D_80390C30[3] = {
{0x106, 0.75f}
};
ActorInfo D_80390D48 = {0x6D, 0xEC, 0x3F2, 0x01, D_80390C30,
ActorInfo D_80390D48 = {MARKER_6D_TANKTUP_LEG, ACTOR_EC_TANKTUP_LEG_BR, ASSET_3F2_MODEL_TANKTUP_LEG_BR, 0x01, D_80390C30,
func_8038FBF8, func_80326224, func_80325888,
0, 0x166, 0.0f, 0
};

View File

@ -9,7 +9,7 @@
void func_8038FCB0(Actor *);
/* .data */
ActorInfo D_80390D70 = {0xDC, ACTOR_F6_BIG_ALLIGATOR, 0x397, 0x01, NULL,
ActorInfo D_80390D70 = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL,
func_8038FCB0, func_80326224, func_80325888,
0, 0, 0.0f, 0
};

View File

@ -23,7 +23,7 @@ void func_80389080(Actor *this);
Actor *func_80325888(ActorMarker *, Gfx **, Mtx **, Vtx **);
ActorInfo D_80390830 = {
0x19A, 0x27A, 0x3F8,
MARKER_19A_TIPTUP, ACTOR_27A_TIPTUP, ASSET_3F8_MODEL_TIPTUP,
0, NULL,
func_80389080, NULL, func_80325888,
0, 0, 2.5f, 0

View File

@ -9,7 +9,7 @@ void func_8025A58C(u32, u32);
void func_80324E88(f32);
ActorInfo D_80390AB0 = {0xC4, ACTOR_136_YELLOW_FLIBBIT_CONTROLLER, 0x00, 0x00, NULL,
ActorInfo D_80390AB0 = {MARKER_C4_YELLOW_FLIBBIT_CTRL, ACTOR_136_YELLOW_FLIBBIT_CONTROLLER, 0x00, 0x00, NULL,
func_8038CEE8, NULL, func_80325340,
0, 0, 0.0f, 0
};

View File

@ -18,15 +18,15 @@ ActorAnimationInfo D_80390B90[] = {
{0xD5, 0.5f},
{0xD5, 1e+8f}
};
ActorInfo D_80390BD8 = {0xF5, 0x14E, 0x3F5, 1, D_80390B90, func_8038EEA4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80390BFC = {0xFD, 0x1FB, 0x3F5, 1, D_80390B90, func_8038F06C, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, func_80326224, func_80325888, 0, 0, 0.0f, 0};
void func_8038EE50(void){
f32 sp24[3];
if(func_80304E24(0x14d, sp24)){
jiggySpawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24);
func_802C3F04(func_802C4140, 0x4C, *((u32 *) &sp24[0]), *((u32 *) &sp24[1]), *((u32 *) &sp24[2]));
func_802C3F04(func_802C4140, ACTOR_4C_STEAM, *((u32 *) &sp24[0]), *((u32 *) &sp24[1]), *((u32 *) &sp24[2]));
}
}
@ -35,7 +35,7 @@ void func_8038EEA4(Actor *this){
if(mapSpecificFlags_get(7)){
mapSpecificFlags_set(7, 0);
if(!mapSpecificFlags_get(3) || (item_getCount(0) > 0)){
func_802D68F0(0x2D);
func_802D68F0(45);
}
}
if(!mapSpecificFlags_get(5)){
@ -55,7 +55,7 @@ void func_8038EEA4(Actor *this){
} //L8038EFB4
if( this->velocity_x != 0.0f && !mapSpecificFlags_get(3) && func_802BB270()){
mapSpecificFlags_set(3,1);
func_802D68F0(0x2D);
func_802D68F0(45);
item_set(ITEM_6_HOURGLASS,1);
} //L8038EFB4
}
@ -65,7 +65,7 @@ void func_8038F018(void){
if(func_80304E24(0x1fc, sp24)){
jiggySpawn(JIGGY_25_BGS_MAZE, sp24);
func_802C3F04(func_802C4140, 0x4C, *((u32 *) &sp24[0]), *((u32 *) &sp24[1]), *((u32 *) &sp24[2]));
func_802C3F04(func_802C4140, ACTOR_4C_STEAM, *((u32 *) &sp24[0]), *((u32 *) &sp24[1]), *((u32 *) &sp24[2]));
}
}
@ -74,7 +74,7 @@ void func_8038F06C(Actor *this){
if(mapSpecificFlags_get(8)){
mapSpecificFlags_set(8, 0);
if(!mapSpecificFlags_get(0xC) || (item_getCount(0) > 0)){
func_802D68F0(0xA);
func_802D68F0(10);
}
}
if(!mapSpecificFlags_get(9)){
@ -94,7 +94,7 @@ void func_8038F06C(Actor *this){
} //L8038EFB4
if( this->velocity_x != 0.0f && !mapSpecificFlags_get(0xC) && func_802BB270()){
mapSpecificFlags_set(0xC,1);
func_802D68F0(0xA);
func_802D68F0(10);
item_set(ITEM_6_HOURGLASS,1);
} //L8038EFB4
}

View File

@ -23,7 +23,7 @@ ActorAnimationInfo D_80390B30[4] = {
u32 D_80390B50[6] = {0xA, 0xA, 0xB, 0xA, 0xA, 0xC};
ActorInfo D_80390B68 = {0xD5, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_MM_HUT_TOP, 0x01, D_80390B30,
ActorInfo D_80390B68 = {MARKER_D5_BGS_MUD_HUT, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_MM_HUT_TOP, 0x01, D_80390B30,
func_8038EB8C, func_80326224, func_8038EAD0,
0, 0, 0.0f, 0
};

View File

@ -14,28 +14,11 @@ void func_803864D4(Actor *this);
/* .data */
ActorInfo D_80389AA0 = {
0x4B, 0x43, 0x890, 0, NULL,
MARKER_4B_CC_SCREW, ACTOR_43_CLACKER_SCREW, ASSET_890_MODEL_SCREW, 0, NULL,
func_803864D4, func_80326224 , func_80325888,
0, 0, 0.0f, 0
};
/* .rodata */
extern f32 D_80389EB0;
extern f32 D_80389EB4;
extern f64 D_80389EB8;
extern f64 D_80389EC0;
extern f64 D_80389EC8;
extern f64 D_80389ED0;
extern f64 D_80389ED8;
extern f64 D_80389EE0;
extern f64 D_80389EE8;
extern f64 D_80389EF0;
// 0000 3AC0: 45B1F800 3D4CCCCD 3FE3333333333333
// 0000 3AD0: 4056800000000000 4066800000000000
// 0000 3AE0: 400921FB54524550 3FB999999999999A
// 0000 3AF0: 4056800000000000 4066800000000000
// 0000 3B00: 400921FB54524550 0000000000000000
/* .code */
void func_803863F0(Actor *this, s32 next_state){
ActorLocal_CC_0 * local = (ActorLocal_CC_0 *)this->local;
@ -59,9 +42,6 @@ void func_803863F0(Actor *this, s32 next_state){
}
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/CC/code_0/func_803864D4.s")
#else
void func_803864D4(Actor *this){
ActorMarker *marker = this->marker;//sp5C;
ActorLocal_CC_0 * local = (ActorLocal_CC_0 *)this->local;
@ -100,43 +80,44 @@ void func_803864D4(Actor *this){
func_803863F0(this, 4);
}
if(this->state == 2){
if(1.0 <= local->unk8)
if((this->state == 2) && (1.0 <= local->unk8)){
func_803863F0(this, 3);
}//L803866B4
if(this->state == 4){
if(1.0 <= local->unk8)
if((this->state == 4) && (1.0 <= local->unk8)){
func_803863F0(this, 1);
}//L80386714
if(this->state == 1){
TUPLE_COPY(this->position, sp4C);
this->position[0] = sp4C[0];
this->position[1] = sp4C[1];
this->position[2] = sp4C[2];
}
else if(this->state == 2)
{//L80386734
sp2C = local->unk8*(f64)1;
sp2C = local->unk8/1.0;
if(local->unkC && 0.6 < sp2C){
FUNC_8030E8B4(SFX_91_METALLIC_SOUND, 1.0f, 32000, this->position, 100, 6000);
FUNC_8030E8B4(SFX_91_METALLIC_SOUND, 1.0, 32000, this->position, 100, 6000);
local->unkC = 0;
}//L80386798
sin_result = sinf(((sp2C*90.0)/180.0)*M_PI);
this->position_x = (sp40[0] - sp4C[0])*sin_result + sp4C[0];
this->position_y = (sp40[1] - sp4C[1])*sin_result + sp4C[1];
this->position_z = (sp40[2] - sp4C[2])*sin_result + sp4C[2];
sin_result = sinf(((sp2C*90.0)/180.0)*BAD_PI);
this->position_x = sp4C[0] + (sp40[0] - sp4C[0])*sin_result;
this->position_y = sp4C[1] + (sp40[1] - sp4C[1])*sin_result;
this->position_z = sp4C[2] + (sp40[2] - sp4C[2])*sin_result;
}//L80386818
else if(this->state == 3){
TUPLE_COPY(this->position, sp40);
this->position[0] = sp40[0];
this->position[1] = sp40[1];
this->position[2] = sp40[2];
}
else if(this->state == 4){
sp2C = 1 - local->unk8*(f64)1;
sp2C = 1 - local->unk8/1.0;
if(local->unkC && sp2C < 0.1){
local->unkC = 0;
}//L8038688C
sin_result = sinf(((sp2C*90.0)/180.0)*M_PI);
this->position_x = (sp40[0] - sp4C[0])*sin_result + sp4C[0];
this->position_y = (sp40[1] - sp4C[1])*sin_result + sp4C[1];
this->position_z = (sp40[2] - sp4C[2])*sin_result + sp4C[2];
sin_result = sinf(((sp2C*90.0)/180.0)*BAD_PI);
this->position_x = sp4C[0] + (sp40[0] - sp4C[0])*sin_result;
this->position_y = sp4C[1] + (sp40[1] - sp4C[1])*sin_result;
this->position_z = sp4C[2] + (sp40[2] - sp4C[2])*sin_result;
}//L80386904
}
#endif

View File

@ -35,7 +35,7 @@ extern ActorInfo D_80367130 = {
0, NULL,
func_802CCC5C, NULL, func_802CCA7C,
0, 0, 1.0f, 0
};
};
/* .code */

View File

@ -104,9 +104,7 @@ s32 pad_80382138;
s32 D_8038213C;
s32 D_80382140;
s32 D_80382144;
s32 D_80382148;
s16 D_80382150[0x48];
u32 D_803821E0[0x5B];
/* .code */
@ -598,15 +596,15 @@ void * func_80303800(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3)
//Struct66s *
#ifndef NONMATCHING
void * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 arg5);
Struct66s * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags);
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80303960.s")
#else
void * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 arg5) {
Struct66s * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags) {
s32 cube_indx[3];
s32 min[3];
s32 max[3];
void *temp_v0;
void *var_s5;
Struct66s *temp_v0;
Struct66s *var_s5;
var_s5 = NULL;
cube_volumeToIndices(min, max, volume_p1, volume_p2, radius + D_80381FA0.unk4);
@ -629,12 +627,12 @@ void * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3]
#endif
//Struct66s *
void * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) {
Struct66s * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) {
s32 cube_indx[3];
s32 min[3];
s32 max[3];
void *temp_v0;
void *var_s5;
Struct66s *temp_v0;
Struct66s *var_s5;
var_s5 = NULL;
cube_volumeToIndices(min, max, position, position, radius + D_80381FA0.unk4);
@ -712,31 +710,24 @@ void func_80303F6C(s32 indx, s32 arg1){
D_80381FE8[indx] = arg1;
}
#ifndef NONMATCHING
Prop *func_80303F7C(ActorMarker *arg0, f32 arg1, s32 arg2, s32 arg3);
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80303F7C.s")
#else
ActorProp *func_80303F7C(ActorMarker *arg0, f32 arg1, s32 arg2, s32 arg3) {
s32 temp_v1;
s32 phi_a0;
static s32 D_80382148;
// phi_a0 = D_80382148;
if (arg3 == 0) {
func_80303D78(arg0, arg1, arg2);
D_80382148 = 0;
return 0;
}
else{
phi_a0 = D_80382148;
temp_v1 = *(&D_803820B8 + phi_a0);
phi_a0++;
temp_v1 = D_803820B8[D_80382148];
if (temp_v1 != 0) {
D_80382148 = phi_a0;
D_80382148++;
}
return temp_v1;
}
}
#endif
ActorProp *func_80303FE4(ActorMarker *arg0, f32 arg1, s32 arg2) {
func_80303D78(arg0, arg1, arg2);
@ -1040,10 +1031,10 @@ s32 func_80304DB8(NodeProp *arg0) {
return arg0->unkC_22;
}
s32 func_80304DD0(s32 arg0, s32 *arg1) {
s32 func_80304DD0(enum actor_e actor_id, s32 *arg1) {
NodeProp *temp_v0;
temp_v0 = func_803049CC(arg0, 0);
temp_v0 = func_803049CC(actor_id, 0);
if (temp_v0 != 0) {
arg1[0] = (s32) temp_v0->x;
arg1[1] = (s32) temp_v0->y;
@ -1384,11 +1375,11 @@ void func_80305D38(void){
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80305D94.s")
// void func_80305D94(void){
// Struct_core2_7AF80_1 * i;
// s32 j;
// u32 j;
// s32 k;
// if(D_8036A9BC != NULL){
// for(i = D_8036A9BC; i < D_8036A9BC + D_8036A9B8; i++){
// free(i->unk8);
// for(j = 0; j < D_8036A9B8; j++){
// free((D_8036A9BC + j)->unk8);
// }
// free(D_8036A9BC);
// D_8036A9BC = NULL;
@ -1397,7 +1388,7 @@ void func_80305D38(void){
// if(D_8036A9C8 != NULL){
// for(j = 0; j < D_8036A9C4; j++){
// free(D_8036A9C8[j].unk8);
// free((D_8036A9C8 + j)->unk8);
// }
// free(D_8036A9C8);
// D_8036A9C8 = NULL;
@ -1405,12 +1396,12 @@ void func_80305D38(void){
// }
// if(D_8036A9D4 != NULL){
// for(k = 0; k < (u32)D_8036A9D0; k++){
// free(D_8036A9D4[k].unk8);
// for(j = 0; j < D_8036A9D0; j++){
// free((D_8036A9D4 + j)->unk8);
// }
// free(D_8036A9D4);
// D_8036A9D4 = NULL;
// D_8036A9D0 = 0;
// D_8036A9D4 = NULL;
// }
// }
@ -2176,43 +2167,43 @@ bool func_803082D8(Cube *arg0, s32 *arg1, bool arg2, bool arg3) {
// goto loop_7;
// }
s32 func_803084F0(s32 arg0){
enum actor_e func_803084F0(s32 arg0){
s32 var_v1;
switch (arg0) {
case 1: var_v1 = 1; break;
case 0x2: var_v1 = 2; break;
case 0x3: var_v1 = 0x15; break;
case 0x4: var_v1 = 0x76; break;
case 0x5: var_v1 = 0x77; break;
case 0x6: var_v1 = 0x78; break;
case 0x7: var_v1 = 0x79; break;
case 0x8: var_v1 = 0x7A; break;
case 0x9: var_v1 = 0x7B; break;
case 0xA: var_v1 = 0x7C; break;
case 0xB: var_v1 = 0x7D; break;
case 0xC: var_v1 = 0x7E; break;
case 0xD: var_v1 = 0x7F; break;
case 0xE: var_v1 = 0x75; break;
case 0xF: var_v1 = 0x74; break;
case 0x10: var_v1 = 0x73; break;
case 0x11: var_v1 = 0x72; break;
case 0x12: var_v1 = 0x103; break;
case 0x13: var_v1 = 0x104; break;
case 0x14: var_v1 = 0x105; break;
case 0x15: var_v1 = 0x106; break;
case 0x16: var_v1 = 0x107; break;
case 0x17: var_v1 = 0x158; break;
case 0x18: var_v1 = 0x15A; break;
case 0x19: var_v1 = 0x15C; break;
case 0x5B: var_v1 = 0x1CD; break;
case 0x5C: var_v1 = 0x1CE; break;
case 0x5D: var_v1 = 0x1CF; break;
case 0x5E: var_v1 = 0x1D0; break;
case 0x5F: var_v1 = 0x1D1; break;
case 0x60: var_v1 = 0x1D2; break;
case 0x61: var_v1 = 0x1D3; break;
case 0x62: var_v1 = 0x1D4; break;
case 0x65: var_v1 = 0x379; break;
case 1: var_v1 = ACTOR_1_UNKNOWN; break;
case 0x2: var_v1 = ACTOR_2_UNKNOWN; break;
case 0x3: var_v1 = ACTOR_15_UNKNOWN; break;
case 0x4: var_v1 = ACTOR_76_UNKNOWN; break;
case 0x5: var_v1 = ACTOR_77_UNKNOWN; break;
case 0x6: var_v1 = ACTOR_78_UNKNOWN; break;
case 0x7: var_v1 = ACTOR_79_UNKNOWN; break;
case 0x8: var_v1 = ACTOR_7A_UNKNOWN; break;
case 0x9: var_v1 = ACTOR_7B_UNKNOWN; break;
case 0xA: var_v1 = ACTOR_7C_UNKNOWN; break;
case 0xB: var_v1 = ACTOR_7D_UNKNOWN; break;
case 0xC: var_v1 = ACTOR_7E_UNKNOWN; break;
case 0xD: var_v1 = ACTOR_7F_UNKNOWN; break;
case 0xE: var_v1 = ACTOR_75_UNKNOWN; break;
case 0xF: var_v1 = ACTOR_74_UNKNOWN; break;
case 0x10: var_v1 = ACTOR_73_UNKNOWN; break;
case 0x11: var_v1 = ACTOR_72_UNKNOWN; break;
case 0x12: var_v1 = ACTOR_103_UNKNOWN; break;
case 0x13: var_v1 = ACTOR_104_UNKNOWN; break;
case 0x14: var_v1 = ACTOR_105_UNKNOWN; break;
case 0x15: var_v1 = ACTOR_106_UNKNOWN; break;
case 0x16: var_v1 = ACTOR_107_UNKNOWN; break;
case 0x17: var_v1 = ACTOR_158_UNKNOWN; break;
case 0x18: var_v1 = ACTOR_15A_UNKNOWN; break;
case 0x19: var_v1 = ACTOR_15C_UNKNOWN; break;
case 0x5B: var_v1 = ACTOR_1CD_UNKNOWN; break;
case 0x5C: var_v1 = ACTOR_1CE_UNKNOWN; break;
case 0x5D: var_v1 = ACTOR_1CF_UNKNOWN; break;
case 0x5E: var_v1 = ACTOR_1D0_UNKNOWN; break;
case 0x5F: var_v1 = ACTOR_1D1_UNKNOWN; break;
case 0x60: var_v1 = ACTOR_1D2_UNKNOWN; break;
case 0x61: var_v1 = ACTOR_1D3_UNKNOWN; break;
case 0x62: var_v1 = ACTOR_1D4_UNKNOWN; break;
case 0x65: var_v1 = ACTOR_379_UNKNOWN; break;
default: case 0: var_v1 = 0;
}
@ -2305,6 +2296,10 @@ bool func_803088C8(s32 arg0) {
return (D_8036ABAC[i] == -1) ? FALSE : TRUE;
}
/* .bss */ //must be defined AFTER func_80303F7C for local static alignment
s16 D_80382150[0x48];
/* .code */
void func_8030895C(s32 arg0){
D_80382150[D_8036ABD4] = arg0;
D_8036ABD4++;
@ -2391,6 +2386,10 @@ void func_80308D2C(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
func_8032F464(0);
}
/* .bss */
u32 D_803821E0[0x5B];
/* .code */
void func_80308EC8(void){
s32 i;
for(i = 0; i < 0x5B; i++){

View File

@ -53,7 +53,7 @@ segments:
- [0x00003810, .data, code_1F70]
- [0x00003840, bin, ch/sawblade]
- [0x00003A50, .data, code_3400]
- [0x00003AC0, bin, rodata_0] # - [0x00003AC0, .rodata, code_0]
- [0x00003AC0, .rodata, code_0]
- [0x00003B10, .rodata, code_530]
- [0x00003B20, .rodata, ch/tooth]
- [0x00003B30, .rodata, code_1B90]