core2/code_49A70.c done

This commit is contained in:
Banjo Kazooie
2022-09-30 13:31:14 -05:00
parent 54dee725cf
commit 983a333365
10 changed files with 260 additions and 74 deletions

View File

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

View File

@@ -1537,8 +1537,8 @@ enum actor_e
ACTOR_53_RED_ARROW, ACTOR_53_RED_ARROW,
ACTOR_54_RED_QUESTION_MARK, ACTOR_54_RED_QUESTION_MARK,
ACTOR_55_RED_X, ACTOR_55_RED_X,
ACTOR_56_SHRAPNEL,
ACTOR_57_ORANGE_PAD = 0x57, ACTOR_57_ORANGE_PAD,
ACTOR_59_JUJU = 0x59, ACTOR_59_JUJU = 0x59,
ACTOR_5A_JIGGY_IN_HAND, ACTOR_5A_JIGGY_IN_HAND,
@@ -2689,8 +2689,8 @@ enum asset_e
ASSET_3E9_MODEL_RED_ARROW, ASSET_3E9_MODEL_RED_ARROW,
ASSET_3EA_MODEL_RED_X, ASSET_3EA_MODEL_RED_X,
ASSET_3EB_MODEL_RED_QUESTION_MARK, ASSET_3EB_MODEL_RED_QUESTION_MARK,
// 3ec Shrapnel ASSET_3EC_MODEL_SHRAPNEL,
ASSET_3ED_MODEL_BUZZBOMB = 0x3ED, ASSET_3ED_MODEL_BUZZBOMB,
ASSET_3EE_TANKTUP, ASSET_3EE_TANKTUP,
ASSET_3EF_MODEL_TANKTUP_LEG_FL, ASSET_3EF_MODEL_TANKTUP_LEG_FL,
ASSET_3F0_MODEL_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL,
@@ -3024,9 +3024,9 @@ enum asset_e
// 537 Flight Pad Yellow Fragment // 537 Flight Pad Yellow Fragment
// 538 Jiggy Podium (Beta?) // 538 Jiggy Podium (Beta?)
// 539 Brentilda // 539 Brentilda
// 53a Shrapnel Eye (Upon Death) ASSET_53A_MODEL_SHRAPNAL_PIECE_EYE = 0x53A,
// 53b Shrapnel Spike (Upon Death) ASSET_53B_MODEL_SHRAPNAL_PIECE_SPIKE,
// 53c Shrapnel Metal Plate (Upon Death) ASSET_53C_MODEL_SHRAPNAL_PIECE_PLATE,
// 53d Gruntilda On Broomstick // 53d Gruntilda On Broomstick
// 53e Gnawty's Bed // 53e Gnawty's Bed
// 53f Gnawty's Shelves // 53f Gnawty's Shelves
@@ -3730,8 +3730,8 @@ enum marker_e{
MARKER_62_RED_ARROW, MARKER_62_RED_ARROW,
MARKER_63_RED_QUESTION_MARK, MARKER_63_RED_QUESTION_MARK,
MARKER_64_RED_X, MARKER_64_RED_X,
MARKER_65_SHRAPNEL,
MARKER_66_ORANGE_PAD = 0x66, MARKER_66_ORANGE_PAD,
MARKER_67_JUJU = 0x67, MARKER_67_JUJU = 0x67,
MARKER_69_CHUMP_FISH = 0x69, MARKER_69_CHUMP_FISH = 0x69,

View File

@@ -9,7 +9,7 @@
</mask> </mask>
<g mask="url(#anybadge_1)"> <g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/> <path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#36e000" d="M44 0h67v20H44z"/> <path fill="#35e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/> <path fill="url(#b)" d="M0 0h111v20H0z"/>
</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">
@@ -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">87.8758%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">88.1647%</text>
<text x="77.5" y="14">87.8758%</text> <text x="77.5" y="14">88.1647%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -9,7 +9,7 @@
</mask> </mask>
<g mask="url(#anybadge_1)"> <g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h150v20H0z"/> <path fill="#555" d="M0 0h150v20H0z"/>
<path fill="#31e000" d="M150 0h67v20H150z"/> <path fill="#30e000" d="M150 0h67v20H150z"/>
<path fill="url(#b)" d="M0 0h217v20H0z"/> <path fill="url(#b)" d="M0 0h217v20H0z"/>
</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">
@@ -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">89.0203%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">89.1860%</text>
<text x="183.5" y="14">89.0203%</text> <text x="183.5" y="14">89.1860%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -7,48 +7,128 @@
extern f32 func_80309B24(f32[3]); extern f32 func_80309B24(f32[3]);
/* .h */ /* .h */
void func_802D10A4(Actor *this); void chshrapnel_update(Actor *this);
typedef struct { typedef struct {
s32 unk0; s32 unk0;
}ActorLocal_core2_49A70; }ActorLocal_core2_49A70;
/* .data */ /* .data */
extern ActorAnimationInfo D_803673C0[]; ActorAnimationInfo D_803673C0[] = {
extern ActorInfo D_80367404 = { {0, 0.0f},
0x65, 0x56, 0x3EC, {0x1F4, 1.0f},
0x1, D_803673C0, {0x1F4, 1.0f},
func_802D10A4, func_80326224, func_80325888, {0x92, 0.75f},
2500, 0x333, 0.0f, 0 {0x92, 0.75f},
{0x1F4, 1.0f},
{0x1F4, 1.0f}
}; };
/* .rodata */ s32 D_803673F8[3] = {0xDE, 0xA7, 0x71};
extern f32 D_80376640;
extern f64 D_80376648; ActorInfo D_80367404 = {
extern f64 D_80376650; MARKER_65_SHRAPNEL, ACTOR_56_SHRAPNEL, ASSET_3EC_MODEL_SHRAPNEL,
extern f64 D_80376658; 0x1, D_803673C0,
chshrapnel_update, func_80326224, func_80325888,
2500, 0x333, 0.0f, 0
};
/* .code */ /* .code */
void func_802D0A00(Actor *this) { void func_802D0A00(Actor *this) {
this->unk28 = randf2(1.5f, 2.3f); this->unk28 = randf2(1.5f, 2.3f);
} }
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0A38.s") void func_802D0A38(Actor *this){
if(this->unk38_31 != 0){
this->unk38_31--;
}
else{
if(func_80329530(this, 600) && func_803292E0(this)){
this->unk28 = 0.0f;
func_80328B8C(this, 2, 0.0f, 1);
}
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0AB8.s") void func_802D0AB8(Actor *this) {
func_80328B8C(this, 1, 0.0f, 0);
func_802D0A00(this);
func_80328CEC(this, (s32) this->yaw_moving, 0x87, 0xAF);
this->unk38_31 = 0x1E;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0B24.s") void func_802D0B24(s32 arg0){
Actor *this = reinterpret_cast(Actor *, arg0);
func_8032813C(0xF3, this->unk1C, 0);
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0B54.s") void func_802D0B54(Actor *this) {
ParticleEmitter *temp_v0;
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0CB4.s") func_802BB3DC(0, 60.0f, 0.9f);
temp_v0 = partEmitList_pushNew(1U);
particleEmitter_setSprite(temp_v0, ASSET_4A0_SPRITE_EXPLOSION);
func_802EFA5C(temp_v0, 0.1f, 0.2f);
func_802EFA70(temp_v0, 8);
particleEmitter_setStartingFrameRange(temp_v0, 0, 0);
particleEmitter_setParticleFramerateRange(temp_v0, 4.0f, 4.0f);
particleEmitter_setParticleSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f);
particleEmitter_setPosition(temp_v0, this->position);
func_802EFB70(temp_v0, 3.0f, 3.0f);
func_802EFB84(temp_v0, 8.0f, 8.0f);
func_802EFEC0(temp_v0, 0.5f, 0.5f);
particleEmitter_setParticleVelocityRange(temp_v0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
particleEmitter_emitN(temp_v0, 1);
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0DDC.s")
extern void func_802D0F30(ActorMarker *marker, ActorMarker *other_marker); void func_802D0CB4(Actor *this) {
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D0F30.s") ParticleEmitter *temp_v0;
temp_v0 = partEmitList_pushNew(6U);
particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2);
func_802EFA5C(temp_v0, 0.05f, 0.1f);
particleEmitter_setStartingFrameRange(temp_v0, 0, 7);
particleEmitter_setPosition(temp_v0, this->position);
func_802EFB70(temp_v0, 1.0f, 1.5f);
func_802EFB84(temp_v0, 2.0f, 3.0f);
particleEmitter_setParticleSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f);
particleEmitter_setParticleVelocityRange(temp_v0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f);
func_802EFFA8(temp_v0, &D_803673F8);
func_802EFEC0(temp_v0, 3.0f, 4.0f);
particleEmitter_emitN(temp_v0, 6);
}
void func_802D0DDC(Actor *this, enum model_e model_id, s32 n) {
ParticleEmitter *temp_v0;
temp_v0 = partEmitList_pushNew(n);
particleEmitter_setParticleAccelerationRange(temp_v0, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f);
func_802EF9F8(temp_v0, 0.6f);
func_802EFA18(temp_v0, 1);
particleEmitter_setModel(temp_v0, model_id);
particleEmitter_setPosition(temp_v0, this->position);
func_802EFB70(temp_v0, 0.05f, 2.0f);
func_802EFE24(temp_v0, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
particleEmitter_setSpawnIntervalRange(temp_v0, 0.0f, 0.01f);
func_802EFEC0(temp_v0, 10.0f, 10.0f);
particleEmitter_setParticleVelocityRange(temp_v0, -500.0f, 400.0f, -500.0f, 500.0f, 800.0f, 500.0f);
particleEmitter_emitN(temp_v0, n);
}
void func_802D0F30(ActorMarker *marker, ActorMarker *other_marker) {
Actor *this;
this = marker_getActor(marker);
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32736, this->position, 1250, 2500);
func_802C3C88((GenMethod_1)func_802D0B24, reinterpret_cast(s32, this));
func_802D0B54(this);
func_802D0CB4(this);
func_802D0DDC(this, ASSET_53A_MODEL_SHRAPNAL_PIECE_EYE, 2);
func_802D0DDC(this, ASSET_53B_MODEL_SHRAPNAL_PIECE_SPIKE, 8);
func_802D0DDC(this, ASSET_53C_MODEL_SHRAPNAL_PIECE_PLATE, 8);
marker_despawn(marker);
}
void func_802D0FC8(Actor *this) { void func_802D0FC8(Actor *this) {
this->unk4C += time_getDelta(); this->unk4C += time_getDelta();
@@ -64,13 +144,9 @@ void func_802D0FC8(Actor *this) {
} }
} }
#ifndef NONMATCHING void chshrapnel_update(Actor *this) {
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_49A70/func_802D10A4.s")
#else
void func_802D10A4(Actor *this) {
f32 tick; f32 tick;
f32 player_position[3]; f32 player_position[3];
f32 var_f2;
tick = time_getDelta(); tick = time_getDelta();
if (!this->initialized) { if (!this->initialized) {
@@ -99,8 +175,7 @@ void func_802D10A4(Actor *this) {
this->yaw_moving = (f32) func_80329784(this); this->yaw_moving = (f32) func_80329784(this);
func_80328FB0(this, 4.0f); func_80328FB0(this, 4.0f);
if (func_80329480(this)) { if (func_80329480(this)) {
var_f2 = ABS(player_position[1] - this->unk1C[1]); if (250.0 > ABS(player_position[1] - this->unk1C[1])) {
if (250.0 > var_f2) {
func_80328A84(this, 3); func_80328A84(this, 3);
actor_loopAnimation(this); actor_loopAnimation(this);
FUNC_8030E8B4(SFX_C4_TWINKLY_MUNCHER_GRR, 0.6f, 32750, this->position, 1250, 2500); FUNC_8030E8B4(SFX_C4_TWINKLY_MUNCHER_GRR, 0.6f, 32750, this->position, 1250, 2500);
@@ -113,8 +188,7 @@ void func_802D10A4(Actor *this) {
this->yaw_moving = (f32) func_80329784(this); this->yaw_moving = (f32) func_80329784(this);
func_80328FB0(this, this->unk28 / 2); func_80328FB0(this, this->unk28 / 2);
this->unk28 = MIN( 50.0, (this->unk28 + tick)); this->unk28 = MIN( 50.0, (this->unk28 + tick));
var_f2 = ABS(player_position[1] - this->unk1C[1]); if ((250.0 <= ABS(player_position[1] - this->unk1C[1])) || !func_80329054(this, 0)) {
if ((250.0 <= var_f2) || !func_80329054(this, 0)) {
func_802D0AB8(this); func_802D0AB8(this);
} }
break; break;
@@ -126,4 +200,3 @@ void func_802D10A4(Actor *this) {
break; break;
} }
} }
#endif

View File

@@ -1158,13 +1158,13 @@ void func_80328478(f32 arg0[3], f32 arg1, f32 arg2){
#ifndef NONMATCHING #ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_9E370/func_80328508.s") #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_9E370/func_80328508.s")
#else #else
bool func_80328508(Actor * arg0, u32 arg1){ bool func_80328508(Actor * arg0, s32 arg1){
ActorAnimationInfo *animInfo; ActorAnimationInfo *animInfo;
arg0->state = arg1; arg0->state = arg1;
if(arg0->unk18 == NULL) if(arg0->unk18 != NULL)
return 0; return 0;
animInfo = &arg0->unk18[arg1]; animInfo = &arg0->unk18[arg1];
if(animInfo->index != NULL){ if(animInfo->index != NULL){

View File

@@ -12,12 +12,17 @@ extern void func_80347CF4(Struct81s *);
extern void func_80347DD0(Struct81s *, Gfx **, Mtx **, Vtx **); extern void func_80347DD0(Struct81s *, Gfx **, Mtx **, Vtx **);
extern void func_80347DE4(Struct81s *); extern void func_80347DE4(Struct81s *);
void func_80347E34(Struct81s*);
void func_80347E60(Struct81s*);
void func_80347FA4(Struct81s *, Gfx**, Mtx **, Vtx **);
void func_80347FB8(Struct81s*);
typedef struct { typedef struct {
void (*unk0)(void **); void (*unk0)(Struct81s *);
void (*unk4)(void **); void (*unk4)(Struct81s *);
void (*unk8)(void **, Gfx**, Mtx **, Vtx **); void (*unk8)(Struct81s *, Gfx**, Mtx **, Vtx **);
void (*unkC)(void **); void (*unkC)(Struct81s *);
Struct81s unk10; Struct81s unk10;
}Struct_core2_ABC00_0; }Struct_core2_ABC00_0;
@@ -25,8 +30,109 @@ void func_803331D8(enum jiggy_e, f32[3]);
void func_803332D0(Actor *); void func_803332D0(Actor *);
/* .data */ /* .data */
extern u8 D_8036E830; u8 D_8036E830 = 0;
extern Struct_core2_ABC00_0 D_8036E834[]; Struct_core2_ABC00_0 D_8036E834[] = {
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x7, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x4, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x4, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x7, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x15, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x4, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x7, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347CC8, func_80347CF4, func_80347DD0, func_80347DE4, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0xC, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x7, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0xC, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x9, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x8, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x9, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x7, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x12, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0x1E, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0xC, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0xC, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0xC, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0xC, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x7, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x8, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x8, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347E34, func_80347E60, func_80347FA4, func_80347FB8, {0x4, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
{func_80347B54, func_80347B80, func_80347C5C, func_80347C70, {0, NULL, {0.0f, 0.0f, 0.0f}, NULL, NULL}},
};
/* .bss */ /* .bss */
s32 D_80383560; s32 D_80383560;
@@ -166,9 +272,19 @@ void func_80333270(enum jiggy_e jiggy_id, f32 position[3], void (*method)(Actor
ptr->unk10.unk18 = other_marker; ptr->unk10.unk18 = other_marker;
} }
#ifndef NONMATCHING
void func_803332D0(Actor *); void func_803332D0(Actor *);
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_ABC00/func_803332D0.s") #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_ABC00/func_803332D0.s")
#else
void func_803332D0(Actor * arg0){
// s32 indx = func_802C8088(arg0) - 1;
// s32 size = 0x2C;
Struct_core2_ABC00_0 *ptr = D_8036E834 + (func_802C8088(arg0) - 1);
Struct81s *sp18 = &ptr->unk10;
ptr->unkC(sp18);
sp18->marker = NULL;
}
#endif
void func_80333334(enum jiggy_e jiggy_id) { void func_80333334(enum jiggy_e jiggy_id) {
Struct_core2_ABC00_0 *temp_v0; Struct_core2_ABC00_0 *temp_v0;

View File

@@ -22,9 +22,6 @@ typedef struct struct_22_s{
u8 pad35[0x3]; u8 pad35[0x3];
} Struct_core2_AC520_0;//size 0x38 } Struct_core2_AC520_0;//size 0x38
/* .data */
extern s32 D_8036F970[3];
/* .bss */ /* .bss */
struct { struct {
vector(Struct_core2_AC520_0) *unk0; vector(Struct_core2_AC520_0) *unk0;
@@ -225,6 +222,7 @@ s32 func_80333C78(s32 arg0){
} }
void func_80333D48(BKVertexList *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, BKVertexList *arg5) { void func_80333D48(BKVertexList *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, BKVertexList *arg5) {
static s32 D_8036F970[3] = {0, 0, 0};
Vtx *i_ptr; Vtx *i_ptr;
Vtx *end_ptr; Vtx *end_ptr;
Vtx *ref_ptr; Vtx *ref_ptr;

View File

@@ -31,9 +31,6 @@ void func_8033CE14(s32 gamenum){
func_8033CD90(D_80383F00[gamenum]); func_8033CD90(D_80383F00[gamenum]);
} }
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B5E00/func_8033CE40.s")
#else
void func_8033CE40(void) { void func_8033CE40(void) {
s32 i; s32 i;
s32 var_s0; s32 var_s0;
@@ -41,16 +38,18 @@ void func_8033CE40(void) {
D_80383F04 = -1; D_80383F04 = -1;
sp48[3] = 0; sp48[3] = i = 0;
for(i = 0; i < 3; i++){ if (sp48[3] < 3) {
D_80383F00[i] = -1; for(i = i; i < 3; i++) {
sp48[i] = 0; D_80383F00[i] = -1;
sp48[i] = 0;
i++; i--; //do nothing
}
} }
// sp48[3] = 0; // sp48[3] = 0;
// D_80383F00[3] = -1; // D_80383F00[3] = -1;
for(var_s0 = 0; var_s0 < 4; var_s0++){ for(var_s0 = 0; var_s0 < 4; var_s0++){
if( (func_8033CD90(var_s0) == 0) if( (func_8033CD90(var_s0) == 0) && (D_80383F00[D_80383D20[var_s0].unk1 - 1] == -1)) {
&& (D_80383F00[D_80383D20[var_s0].unk1 - 1] == -1)) {
D_80383F00[D_80383D20[var_s0].unk1 - 1] = var_s0; D_80383F00[D_80383D20[var_s0].unk1 - 1] = var_s0;
sp48[var_s0] = 1; sp48[var_s0] = 1;
} else { } else {
@@ -67,7 +66,6 @@ void func_8033CE40(void) {
} }
} }
} }
#endif
s32 func_8033CFD4(s32 gamenum){ s32 func_8033CFD4(s32 gamenum){
s32 next; s32 next;

View File

@@ -325,7 +325,7 @@ segments:
- [0xA4D00, c, code_A4D00] #DONE - [0xA4D00, c, code_A4D00] #DONE
- [0xA5BC0, c, code_A5BC0] - [0xA5BC0, c, code_A5BC0]
- [0xABC00, c, code_ABC00] - [0xABC00, c, code_ABC00]
- [0xAC520, c, code_AC520] - [0xAC520, c, code_AC520] #DONE
- [0xAD110, c, code_AD110] #DONE - [0xAD110, c, code_AD110] #DONE
- [0xAD5B0, c, code_AD5B0] #DONE - [0xAD5B0, c, code_AD5B0] #DONE
- [0xAE290, c, code_AE290] #DONE - [0xAE290, c, code_AE290] #DONE
@@ -335,7 +335,7 @@ segments:
- [0xB3580, c, code_B3580] #DONE - [0xB3580, c, code_B3580] #DONE
- [0xB3A80, c, code_B3A80] - [0xB3A80, c, code_B3A80]
- [0xB5040, c, code_B5040] #DONE - [0xB5040, c, code_B5040] #DONE
- [0xB5E00, c, code_B5E00] - [0xB5E00, c, code_B5E00] #DONE
- [0xB62B0, c, code_B62B0] #DONE - [0xB62B0, c, code_B62B0] #DONE
- [0xB6640, c, code_B6640] #DONE - [0xB6640, c, code_B6640] #DONE
- [0xB66D0, c, string] #DONE - [0xB66D0, c, string] #DONE
@@ -485,7 +485,7 @@ segments:
- [0xE0330, .data, ch/beehive] - [0xE0330, .data, ch/beehive]
- [0xE0380, bin, data_E0380] - [0xE0380, bin, data_E0380]
- [0xE03B0, .data, ch/soundsource] - [0xE03B0, .data, ch/soundsource]
- [0xE0430, bin, data_E0430] - [0xE0430, .data, code_49A70]
- [0xE04A0, .data, ch/gloop] - [0xE04A0, .data, ch/gloop]
- [0xE0500, bin, data_E0500] - [0xE0500, bin, data_E0500]
- [0xE05A0, .data, code_4BD70] - [0xE05A0, .data, code_4BD70]
@@ -562,7 +562,8 @@ segments:
- [0xE7640, .data, code_A4D00] - [0xE7640, .data, code_A4D00]
- [0xE7820, bin, data_E7820] - [0xE7820, bin, data_E7820]
- [0xE7870, .data, code_A5BC0] - [0xE7870, .data, code_A5BC0]
- [0xE78A0, bin, data_E78A0] - [0xE78A0, .data, code_ABC00]
- [0xE89E0, .data, code_AC520]
- [0xE89F0, bin, data_E89F0] # .data, code_AD110] - [0xE89F0, bin, data_E89F0] # .data, code_AD110]
- [0xE92C0, bin, data_E92C0] - [0xE92C0, bin, data_E92C0]
- [0xE9B30, .data, code_B62B0] - [0xE9B30, .data, code_B62B0]