core2/code_7A760.c done
This commit is contained in:
@@ -1614,6 +1614,8 @@ enum actor_e
|
||||
|
||||
ACTOR_1CC_GRILL_CHOMPA = 0x1CC,
|
||||
|
||||
ACTOR_1DB_GAME_OVER = 0x1DB,
|
||||
|
||||
ACTOR_1E4_TOOTS = 0x1E4,
|
||||
|
||||
ACTOR_1EA_POLAR_BEAR_CUB_BLUE = 0x1EA,
|
||||
@@ -2896,7 +2898,7 @@ enum asset_e
|
||||
// 549 GL Gold Feather Refill Pillow
|
||||
// 54a Gruntling (Red Cloak)
|
||||
// 54b (Big Fireball?)
|
||||
// 54c Game Over Sign
|
||||
ASSET_54C_MODEL_GAME_OVER = 0x54C,
|
||||
// 54d Banjo-Kazooie Sign
|
||||
// 54e Copyright Info (Title Screen)
|
||||
// 54f Cheato
|
||||
@@ -3633,6 +3635,8 @@ enum marker_e{
|
||||
MARKER_168_ICE_KEY,
|
||||
MARKER_169_SNS_EGG,
|
||||
|
||||
MARKER_174_GAME_OVER = 0x174,
|
||||
|
||||
MARKER_182_RBB_EGG_TOLL = 0x182,
|
||||
|
||||
MARKER_1AE_ZUBBA = 0x1AE,
|
||||
|
@@ -210,7 +210,7 @@ void func_80300C70(enum item_e, struct8s *);
|
||||
|
||||
struct7s *func_8030179C(s32);
|
||||
void func_80301DE4(enum item_e, struct7s *);
|
||||
void func_803017D0(s32, struct8s *, Gfx**, Mtx**, s32);
|
||||
void func_803017D0(enum item_e, struct8s *, Gfx**, Mtx**, Vtx **);
|
||||
void func_80301754(s32, struct8s *);
|
||||
|
||||
|
||||
|
@@ -108,7 +108,8 @@ typedef struct {
|
||||
s16 unkC[3];
|
||||
u8 unk12[3];
|
||||
u8 unk15;
|
||||
u8 pad16[2];
|
||||
s8 unk16;
|
||||
u8 pad17[1];
|
||||
}BKModelUnk14_0;
|
||||
|
||||
typedef struct {
|
||||
@@ -117,7 +118,8 @@ typedef struct {
|
||||
s16 unk4[3];
|
||||
u8 unkA[3];
|
||||
u8 unkD;
|
||||
u8 padE[2];
|
||||
s8 unkE;
|
||||
u8 padF[1];
|
||||
}BKModelUnk14_1;
|
||||
|
||||
typedef struct {
|
||||
@@ -130,7 +132,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
s16 cnt0; //number of BKModelUnk14_0 structs
|
||||
s16 cnt2; //number of BKModelUnk14_1 structs
|
||||
s16 unk4;
|
||||
s16 unk4; //number of BKModelUnk14_2 structs
|
||||
s16 unk6;
|
||||
//BKModelUnk14_0[]
|
||||
//BKModelUnk14_1[]
|
||||
|
@@ -324,11 +324,11 @@ typedef struct {
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 z;
|
||||
u16 unk6_15: 9; //selector_value
|
||||
u16 unk6_15: 9; //selector_value //volume??? diameter
|
||||
u16 unk6_6: 6; //category
|
||||
u16 unk6_0: 1;
|
||||
u16 unk8;
|
||||
u8 unkA;
|
||||
u8 unkA; //marker_id
|
||||
u8 padB[1];
|
||||
u32 unkC_31:9;
|
||||
u32 unkC_22:23;
|
||||
@@ -347,7 +347,7 @@ typedef struct cude_s{
|
||||
s32 z:5;
|
||||
u32 prop1Cnt:6;
|
||||
u32 prop2Cnt:6;
|
||||
u32 unk0_4:5;
|
||||
u32 unk0_4:5; //node_prop_count
|
||||
NodeProp *prop1Ptr;
|
||||
Prop *prop2Ptr;
|
||||
}Cube;
|
||||
|
@@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||
<path fill="#60e000" d="M44 0h67v20H44z"/>
|
||||
<path fill="#5ee000" d="M44 0h67v20H44z"/>
|
||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||
</g>
|
||||
<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>
|
||||
</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">78.6359%</text>
|
||||
<text x="77.5" y="14">78.6359%</text>
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">78.9639%</text>
|
||||
<text x="77.5" y="14">78.9639%</text>
|
||||
</g>
|
||||
</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>
|
||||
</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">82.7246%</text>
|
||||
<text x="183.5" y="14">82.7246%</text>
|
||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">82.9127%</text>
|
||||
<text x="183.5" y="14">82.9127%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -49,16 +49,16 @@ int func_80388B30(Actor *this, float arg1){
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_80388BEC(s16 *arg0, ActorMarker *arg1){
|
||||
void func_80388BEC(NodeProp *arg0, ActorMarker *arg1){
|
||||
f32 sp34;
|
||||
Actor *sp30;
|
||||
Actor *temp_v0;
|
||||
f32 sp20[3];
|
||||
|
||||
|
||||
sp20[0] = (f32)arg0[0];
|
||||
sp20[1] = (f32)arg0[1];
|
||||
sp20[2] = (f32)arg0[2];
|
||||
sp20[0] = (f32)arg0->x;
|
||||
sp20[1] = (f32)arg0->y;
|
||||
sp20[2] = (f32)arg0->z;
|
||||
sp30 = func_80326D68(sp20, 0x11, -1, &sp34);
|
||||
if( sp30 != NULL
|
||||
&& !( sp34 > 500.0f )
|
||||
|
@@ -180,7 +180,7 @@ Struct_core2_13FC0 D_803648F0[14] = {
|
||||
// s32 exit_id;
|
||||
// }D_8037D1E0;
|
||||
s32 D_8037D1E0[2];
|
||||
extern u8 D_8037D1E8;
|
||||
u8 D_8037D1E8;
|
||||
|
||||
/* .code */
|
||||
f32 func_8029B3B0(f32 arg0) {
|
||||
@@ -695,9 +695,6 @@ void func_8029C5E8(void){
|
||||
func_8029AE1C();
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_14420/func_8029C608.s")
|
||||
#else
|
||||
void func_8029C608(void) {
|
||||
enum level_e level_id;
|
||||
enum map_e sp18;
|
||||
@@ -714,7 +711,6 @@ void func_8029C608(void) {
|
||||
D_8037D1E0[1] = phi_v0;
|
||||
D_8037D1E0[0] = sp18;
|
||||
}
|
||||
#endif
|
||||
|
||||
void func_8029C674(void) {
|
||||
f32 sp1C[3];
|
||||
|
@@ -11,7 +11,7 @@ void func_802DC45C(Actor *this);
|
||||
/* .data */
|
||||
f32 D_80368040[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_8036804C = {
|
||||
0x174, 0x1DB, 0x54C,
|
||||
MARKER_174_GAME_OVER, ACTOR_1DB_GAME_OVER, ASSET_54C_MODEL_GAME_OVER,
|
||||
0x1, NULL,
|
||||
func_802DC45C, func_80326224, func_802DC320,
|
||||
0, 0, 0.0f, 0
|
||||
@@ -74,7 +74,7 @@ void func_802DC45C(Actor *this){
|
||||
void func_802DC4C4(void) {
|
||||
Actor *actor;
|
||||
if (D_8037DE40 == 0) {
|
||||
actor = func_8032813C(0x1DB, D_80368040, 0);
|
||||
actor = func_8032813C(ACTOR_1DB_GAME_OVER, D_80368040, 0);
|
||||
D_8037DE40 = actor->marker;
|
||||
func_8025A58C(0, 5000);
|
||||
func_8025AB00();
|
||||
@@ -82,7 +82,7 @@ void func_802DC4C4(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_802DC528(s32 arg0, s32 arg1){
|
||||
void func_802DC528(NodeProp *arg0, ActorMarker *arg1){
|
||||
if(D_8037DE40 == NULL){
|
||||
func_802C3BF8(func_802DC4C4);
|
||||
}
|
||||
@@ -91,7 +91,7 @@ void func_802DC528(s32 arg0, s32 arg1){
|
||||
void func_802DC560(s32 arg0, s32 arg1){
|
||||
if(D_8037DE40 != NULL){
|
||||
comusic_8025AB44(COMUSIC_31_GAME_OVER, 0, 200);
|
||||
func_8025AABC(0x31);
|
||||
func_8025AABC(COMUSIC_31_GAME_OVER);
|
||||
func_80326310(marker_getActor(D_8037DE40));
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@
|
||||
|
||||
extern void func_80252C08(f32[3], f32[3], f32, f32[3]);
|
||||
extern void func_80252CC4(f32[3], f32[3], f32, s32);
|
||||
extern void func_802524F0(f32[3], f32, f32, f32);
|
||||
|
||||
/* .bss */
|
||||
Mtx D_80380880;
|
||||
@@ -122,15 +123,194 @@ s32 func_802EAB34(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32
|
||||
}
|
||||
#endif
|
||||
|
||||
s32 func_802EAD5C(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, f32 arg5[3], f32 arg6) {
|
||||
BKModelUnk14_0 *t0_ptr;
|
||||
BKModelUnk14_1 *t1_ptr;
|
||||
f32 sp5C[3];
|
||||
f32 temp_f20;
|
||||
f32 sp4C[3];
|
||||
BKModelUnk14_2 *end_ptr;
|
||||
BKModelUnk14_2 *var_s0;
|
||||
f32 pad40;
|
||||
f32 sp34[3];
|
||||
|
||||
s32 func_802EAD5C(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, f32 arg6[3], f32 arg7);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_637D0/func_802EAD5C.s")
|
||||
mlMtxIdent();
|
||||
func_80252CC4(position, rotation, scale, arg4);
|
||||
func_8025235C(sp5C, arg5);
|
||||
t0_ptr = (BKModelUnk14_0 *)(arg0 + 1);
|
||||
t1_ptr = (BKModelUnk14_1 *)(t0_ptr + arg0->cnt0);
|
||||
var_s0 = (BKModelUnk14_2 *)(t1_ptr + arg0->cnt2);
|
||||
end_ptr = var_s0 + arg0->unk4;
|
||||
for(var_s0 = var_s0; var_s0 < end_ptr; var_s0++) {
|
||||
sp4C[0] = (f32) var_s0->unk2[0];
|
||||
sp4C[1] = (f32) var_s0->unk2[1];
|
||||
sp4C[2] = (f32) var_s0->unk2[2];
|
||||
|
||||
temp_f20 = (f32)var_s0->unk0;
|
||||
sp34[0] = sp4C[0] - sp5C[0];
|
||||
sp34[1] = sp4C[1] - sp5C[1];
|
||||
sp34[2] = sp4C[2] - sp5C[2];
|
||||
if (!( gu_sqrtf(sp34[0]*sp34[0] + sp34[1]*sp34[1] + sp34[2]*sp34[2]) >= ((arg6 / scale) + temp_f20))) {
|
||||
return var_s0->unk8;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
s32 func_802EAED4(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, s32 arg5, f32 arg6[3], f32 arg7);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_637D0/func_802EAED4.s")
|
||||
#else
|
||||
s32 func_802EAED4(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, struct58s *arg5, f32 arg6[3], f32 arg7) {
|
||||
f32 spF4[3];
|
||||
f32 spE8[3];
|
||||
f32 spDC[3];
|
||||
f32 spD0[3];
|
||||
BKModelUnk14_0 *end_ptr;
|
||||
BKModelUnk14_0 *var_s0;
|
||||
f32 spBC[3];
|
||||
f32 spB0[3];
|
||||
f32 spA4[3];
|
||||
f32 sp98[3];
|
||||
f32 sp8C[3];
|
||||
f32 sp80[3];
|
||||
f32 sp74[3];
|
||||
f32 sp68[3];
|
||||
f32 sp5C[3];
|
||||
|
||||
var_s0 = (BKModelUnk14_0 *)(arg0 + 1);
|
||||
end_ptr = var_s0 + arg0->cnt0;
|
||||
for(var_s0 = var_s0; var_s0 < end_ptr; var_s0++){
|
||||
spF4[0] = (f32) var_s0->unkC[0];
|
||||
spF4[1] = (f32) var_s0->unkC[1];
|
||||
spF4[2] = (f32) var_s0->unkC[2];
|
||||
|
||||
spE8[0] = (f32) var_s0->unk0[0];
|
||||
spE8[1] = (f32) var_s0->unk0[1];
|
||||
spE8[2] = (f32) var_s0->unk0[2];
|
||||
|
||||
spDC[0] = (f32) var_s0->unk6[0];
|
||||
spDC[1] = (f32) var_s0->unk6[1];
|
||||
spDC[2] = (f32) var_s0->unk6[2];
|
||||
|
||||
spD0[0] = (f32)var_s0->unk12[0];
|
||||
spD0[1] = (f32)var_s0->unk12[1];
|
||||
spD0[2] = (f32)var_s0->unk12[2];
|
||||
spD0[0] *= 2;
|
||||
spD0[1] *= 2;
|
||||
spD0[2] *= 2;
|
||||
func_802519C8(&D_80380880, func_802EA110(arg5, var_s0->unk16));
|
||||
func_80252E4C(spF4, spD0);
|
||||
func_802524F0(spB0, spE8[0], spE8[1], spE8[2]);
|
||||
func_802524F0(sp98, spE8[0], spE8[1], spDC[2]);
|
||||
spBC[0] = spB0[0] - sp98[0];
|
||||
spBC[1] = spB0[1] - sp98[1];
|
||||
spBC[2] = spB0[2] - sp98[2];
|
||||
ml_vec3f_normalize(spBC);
|
||||
spA4[0] = arg6[0] - spB0[0];
|
||||
spA4[1] = arg6[1] - spB0[1];
|
||||
spA4[2] = arg6[2] - spB0[2];
|
||||
if ((arg7 <= ((spA4[0]*spBC[0]) + (spA4[1]*spBC[1]) + (spA4[2]*spBC[2])))) {
|
||||
sp8C[0] = arg6[0] - sp98[0];
|
||||
sp8C[1] = arg6[1] - sp98[1];
|
||||
sp8C[2] = arg6[2] - sp98[2];
|
||||
if (!(arg7 <= -((sp8C[0]*spBC[0]) + (sp8C[1]*spBC[1]) + (sp8C[2]*spBC[2])))) {
|
||||
func_802524F0(sp80, spDC[0], spE8[1], spE8[2]);
|
||||
spBC[0] = spB0[0] - sp80[0];
|
||||
spBC[1] = spB0[1] - sp80[1];
|
||||
spBC[2] = spB0[2] - sp80[2];
|
||||
ml_vec3f_normalize(spBC);
|
||||
if (!(arg7 <= ((spA4[0]*spBC[0]) + (spA4[1]*spBC[1]) + (spA4[2]*spBC[2])))) {
|
||||
sp74[0] = arg6[0] - sp80[0];
|
||||
sp74[1] = arg6[1] - sp80[1];
|
||||
sp74[2] = arg6[2] - sp80[2];
|
||||
if (!(arg7 <= -((sp74[0]*spBC[0]) + (sp74[1]*spBC[1]) + (sp74[2]*spBC[2])))) {
|
||||
func_802524F0(sp68, spE8[0], spDC[1], spE8[2]);
|
||||
spBC[0] = spB0[0] - sp68[0];
|
||||
spBC[1] = spB0[1] - sp68[1];
|
||||
spBC[2] = spB0[2] - sp68[2];
|
||||
ml_vec3f_normalize(spBC);
|
||||
if (!(arg7 <= ((spA4[0]*spBC[0]) + (spA4[1]*spBC[1]) + (spA4[2]*spBC[2])))) {
|
||||
sp5C[0] = arg6[0] - sp68[0];
|
||||
sp5C[1] = arg6[1] - sp68[1];
|
||||
sp5C[2] = arg6[2] - sp68[2];
|
||||
if (!(arg7 <= -((sp5C[0]*spBC[0]) + (sp5C[1]*spBC[1]) + (sp5C[2]*spBC[2])))) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
mlMtxPop();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NONMATCHING
|
||||
s32 func_802EB458(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, s32 arg5, f32 arg6[3], f32 arg7);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_637D0/func_802EB458.s")
|
||||
#else
|
||||
s32 func_802EB458(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, s32 arg5, f32 arg6[3], f32 arg7) {
|
||||
BKModelUnk14_0 *ptr_t0;
|
||||
f32 spB8[3];
|
||||
f32 spAC[3];
|
||||
f32 sp98[3];
|
||||
f32 sp8C[3];
|
||||
f32 sp80[3];
|
||||
f32 sp74[3];
|
||||
f32 sp68[3];
|
||||
f32 temp_f0;
|
||||
f32 temp_f20;
|
||||
BKModelUnk14_1 *temp_s2;
|
||||
BKModelUnk14_1 *var_s0;
|
||||
|
||||
ptr_t0 = (BKModelUnk14_0 *)(arg0 + 1);
|
||||
var_s0 = (BKModelUnk14_1 *)(ptr_t0 + arg0->cnt0);
|
||||
temp_s2 = var_s0 + arg0->cnt2;
|
||||
for(var_s0 = var_s0; var_s0 < temp_s2; var_s0++){
|
||||
spB8[0] = (f32) var_s0->unk4[0];
|
||||
spB8[1] = (f32) var_s0->unk4[1];
|
||||
spB8[2] = (f32) var_s0->unk4[2];
|
||||
spAC[0] = (f32) (var_s0->unkA[0] * 2);
|
||||
spAC[1] = (f32) (var_s0->unkA[1] * 2);
|
||||
spAC[2] = (f32) (var_s0->unkA[2] * 2);
|
||||
func_802519C8(&D_80380880, func_802EA110(arg5, var_s0->unkE));
|
||||
func_80252D8C(spB8, spAC);
|
||||
func_802524F0(sp98, 0.0f, 0.0f, (f32) (-var_s0->unk2 / 2));
|
||||
func_802524F0(sp8C, 0.0f, 0.0f, (f32) (var_s0->unk2 / 2));
|
||||
func_802524F0(sp68, (f32) var_s0->unk0, 0.0f, (f32) (-var_s0->unk2 / 2));
|
||||
sp68[0] -= sp98[0];
|
||||
sp68[1] -= sp98[1];
|
||||
sp68[2] -= sp98[2];
|
||||
sp80[0] = sp98[0] - sp8C[0];
|
||||
sp80[1] = sp98[1] - sp8C[1];
|
||||
sp80[2] = sp98[2] - sp8C[2];
|
||||
ml_vec3f_normalize(sp80);
|
||||
sp74[0] = arg6[0] - sp98[0];
|
||||
sp74[1] = arg6[1] - sp98[1];
|
||||
sp74[2] = arg6[2] - sp98[2];
|
||||
temp_f0 = sp80[0]*sp74[0] + sp80[1]*sp74[1] + sp80[2]*sp74[2];
|
||||
if (!(arg7 < temp_f0)) {
|
||||
sp74[0] = arg6[0] - sp8C[0];
|
||||
sp74[1] = arg6[1] - sp8C[1];
|
||||
sp74[2] = arg6[2] - sp8C[2];
|
||||
if (!(arg7 < -(sp80[0]*sp74[0] + sp80[1]*sp74[1] + sp80[2]*sp74[2]))) {
|
||||
sp74[0] = arg6[0] - (sp98[0] + (sp80[0]*temp_f0));
|
||||
sp74[1] = arg6[1] - (sp98[1] + (sp80[1]*temp_f0));
|
||||
sp74[2] = arg6[2] - (sp98[2] + (sp80[2]*temp_f0));
|
||||
temp_f20 = gu_sqrtf(sp74[0]*sp74[0] + sp74[1]*sp74[1] + sp74[2]*sp74[2]);
|
||||
if (!((temp_f20 - arg7) > gu_sqrtf(sp68[0]*sp68[0] + sp68[1]*sp68[1] + sp68[2]*sp68[2]))) {
|
||||
return var_s0->unkD;
|
||||
}
|
||||
}
|
||||
}
|
||||
mlMtxPop();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
s32 func_802EB8A0(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32 scale, s32 arg4, s32 arg5, f32 arg6[3], f32 arg7);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_637D0/func_802EB8A0.s")
|
||||
|
@@ -2,6 +2,8 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern f32 func_802FB0E4(struct8s *);
|
||||
|
||||
/* .data */
|
||||
BKSprite *D_8036A960 = NULL;
|
||||
Gfx D_8036A968[] ={
|
||||
@@ -15,9 +17,6 @@ Gfx D_8036A968[] ={
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
/* .rodata */
|
||||
extern f64 D_803774A0;
|
||||
|
||||
/* .bss */
|
||||
s32 D_80381F50;
|
||||
f32 D_80381F54;
|
||||
@@ -28,24 +27,104 @@ f32 D_80381F68[6];
|
||||
struct7s D_80381F80;
|
||||
|
||||
/* .code */
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_803016F0.s")
|
||||
void func_803016F0(void) {
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_80301754.s")
|
||||
D_80381F58 = -272.0f;
|
||||
D_80381F54 = 1.0f;
|
||||
D_80381F50 = 0;
|
||||
for(i = 0; i < 6; i++){
|
||||
D_80381F68[i] = -64.0f;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_8030179C.s")
|
||||
void func_80301754(s32 arg0, struct8s *arg1) {
|
||||
if (D_8036A960 != NULL) {
|
||||
func_8033BD4C(D_8036A960);
|
||||
D_8036A960 = NULL;
|
||||
}
|
||||
func_803016F0();
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_803017D0.s")
|
||||
struct7s *func_8030179C(s32 arg0) {
|
||||
func_803016F0();
|
||||
D_80381F5C = 0.68f;
|
||||
return &D_80381F80;
|
||||
}
|
||||
|
||||
bool func_80301CE0(f32, s32, s32);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_80301CE0.s")
|
||||
void func_803017D0(enum item_e item_id, struct8s *arg1, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
f32 temp_f16;
|
||||
f32 var_f14;
|
||||
s32 spD4;
|
||||
s32 spD0;
|
||||
s32 var_s4;
|
||||
s32 var_s6;
|
||||
s32 var_s7;
|
||||
s32 var_v0;
|
||||
s32 var_v1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_80301D24.s")
|
||||
if (D_8036A960 != 0) {
|
||||
gSPDisplayList((*gfx)++, D_8036A968);
|
||||
func_80347FC0(gfx, D_8036A960, 0, 0, 0, 0, 0, 2, 2, &spD4, &spD0);
|
||||
func_8024C7B8(gfx, mtx);
|
||||
for(var_s4 = 0; var_s4 < 6; var_s4++){
|
||||
var_s7 = var_s4 & 1;
|
||||
if ((var_s4 != 0) && (var_s4 != 5)) {
|
||||
var_s6 = (var_s7) ? var_s4 + 1 : var_s4 - 1;
|
||||
} else {
|
||||
var_s6 = var_s4;
|
||||
}
|
||||
gDPPipeSync((*gfx)++);
|
||||
if ((f32) (5 - var_s4) < D_80381F60) {
|
||||
gDPSetPrimColor((*gfx)++, 0, 0, 0x00, 0x00, 0x00, 0xFF);
|
||||
} else {
|
||||
gDPSetPrimColor((*gfx)++, 0, 0, 0x00, 0x00, 0x00, 0x78);
|
||||
}
|
||||
temp_f16 = func_802FB0E4(arg1);
|
||||
temp_f16 = (-40.0f + temp_f16);
|
||||
var_f14 = (temp_f16 + D_80381F68[var_s6]) - ((f32) D_80276588 / 2);
|
||||
temp_f16 = (((var_s4 * 15.5) + 78.0) - ((f32) D_8027658C / 2));
|
||||
var_f14 = (var_s7) ? var_f14 + 5.0f : var_f14 - 5.0f;
|
||||
gSPVertex((*gfx)++, *vtx, 4, 0);
|
||||
for(var_v1 = 0; var_v1 < 2; var_v1++){
|
||||
for(var_v0 = 0; var_v0 < 2; var_v0++){
|
||||
(*vtx)->v.ob[0] = ((((spD4 * D_80381F5C) * (f32) var_v0) - ((spD4 * D_80381F5C) / 2)) + var_f14) * 4.0f;
|
||||
(*vtx)->v.ob[1] = ((((spD0 * D_80381F5C) / 2) - ((spD0 * D_80381F5C) * ((f32)var_v1))) + temp_f16) * 4.0f;
|
||||
(*vtx)->v.ob[2] = -0x14;
|
||||
(*vtx)->v.tc[0] = ((spD4 - 1) * var_v0) << 6;
|
||||
(*vtx)->v.tc[1] = ((spD0 - 1) * var_v1) << 6;
|
||||
(*vtx)++;
|
||||
}
|
||||
}
|
||||
gSP1Quadrangle((*gfx)++, 0, 1, 3, 2, 0);
|
||||
}
|
||||
gDPPipeSync((*gfx)++);
|
||||
gDPSetTextureLUT((*gfx)++, G_TT_NONE);
|
||||
gDPPipelineMode((*gfx)++, G_PM_NPRIMITIVE);
|
||||
func_8024C904(gfx, mtx);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_80301DBC.s")
|
||||
bool func_80301CE0(f32 arg0, s32 arg1, s32 arg2){
|
||||
if(arg1 == 5)
|
||||
return TRUE;
|
||||
|
||||
return arg0 < D_80381F68[arg1 + 1];
|
||||
}
|
||||
|
||||
s32 func_80301D24(s32 time) {
|
||||
s32 minutes;
|
||||
s32 var_v0;
|
||||
|
||||
var_v0 = (time != 0) ? 1 : 0;
|
||||
minutes = (((s32) (6*time) / 60) / 60) + var_v0;
|
||||
return MIN(6, minutes);
|
||||
}
|
||||
|
||||
s32 func_80301DBC(s32 minutes) {
|
||||
return (s32) (minutes * 60 * 60) / 6;
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING //probably just need .rodata defined
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7A760/func_80301DE4.s")
|
||||
#else
|
||||
void func_80301DE4(enum item_e arg0, struct7s *arg1) {
|
||||
s32 temp_s0;
|
||||
s32 var_s0;
|
||||
@@ -69,9 +148,8 @@ void func_80301DE4(enum item_e arg0, struct7s *arg1) {
|
||||
if (temp_s0 != 0) {
|
||||
for(var_s0 = 5; var_s0 >= 0; var_s0--){
|
||||
if (func_80301CE0(-15.0f, var_s0, 6)) {
|
||||
D_80381F68[var_s0] *= D_803774A0;
|
||||
D_80381F68[var_s0] *= 0.6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@@ -91,7 +91,7 @@ struct {
|
||||
} D_80381FA0;
|
||||
|
||||
u8 D_80381FE8[0x50];
|
||||
s32 D_80382038[0x20];
|
||||
Cube *D_80382038[0x20];
|
||||
s32 D_803820B8[0x20]; //ActorProp *, (maybe Prop *)
|
||||
s32 pad_80382138;
|
||||
s32 D_8038213C;
|
||||
@@ -1493,9 +1493,44 @@ bool func_80307390(s32 arg0, s32 arg1) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_803077FC.s")
|
||||
|
||||
Cube *func_80307948(s32 arg0[3]);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307948.s")
|
||||
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307CA0.s")
|
||||
// void func_80307CA0(ActorMarker *marker) {
|
||||
// s32 sp58[3];
|
||||
// s32 sp40[3];
|
||||
// Cube **var_s2;
|
||||
// Cube *var_a0;
|
||||
// NodeProp *temp_v0_2;
|
||||
// s32 temp_v0_3;
|
||||
// u32 var_s0;
|
||||
// u8 temp_s4;
|
||||
// s32 i;
|
||||
|
||||
// temp_s4 = D_8036A9E4[marker->unk14_20];
|
||||
// if ((temp_s4 != 0xFF) && (func_802CAF70(D_8036A9E0, temp_s4) == 1)) {
|
||||
// func_8032E010(marker->propPtr, sp58);
|
||||
// var_s2 = func_80307948(sp58);
|
||||
// var_a0 = *var_s2;
|
||||
// for(i = 0; var_s2[i] != NULL; i++) {
|
||||
// for(var_s0 = 0; var_s0 < var_s2[i]->unk0_4; var_s0++){
|
||||
// temp_v0_2 = func_8032E02C(var_a0, var_s0);
|
||||
// if (func_80330F74(temp_v0_2) == temp_s4) {
|
||||
// temp_v0_3 = func_80330F94(temp_v0_2, sp40);
|
||||
// if( ((sp40[0] - temp_v0_3) < sp58[0]) && (sp58[0] < (sp40[0] + temp_v0_3))
|
||||
// && ((sp40[1] - temp_v0_3) < sp58[1]) && (sp58[1] < (sp40[1] + temp_v0_3))
|
||||
// && ((sp40[2] - temp_v0_3) < sp58[2]) && (sp58[2] < (sp40[2] + temp_v0_3))
|
||||
// ) {
|
||||
// func_80334448(temp_v0_2, marker);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
u32 func_80307E1C(void) {
|
||||
Cube *phi_v0;
|
||||
@@ -1540,6 +1575,7 @@ void func_80308230(s32 arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_803083B0.s")
|
||||
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_803084F0.s")
|
||||
|
||||
void func_80308658(Struct_core2_7AF80_1 *arg0, s32 arg1) {
|
||||
|
@@ -458,9 +458,19 @@ ActorMarker *func_8032DCAC(void){
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032DFF4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032E010.s")
|
||||
void func_8032E010(ActorProp *prop, s32 dst[3]){
|
||||
dst[0] = prop->x;
|
||||
dst[1] = prop->y;
|
||||
dst[2] = prop->z;
|
||||
}
|
||||
|
||||
NodeProp *func_8032E02C(Cube *cube, s32 prop_index) {
|
||||
if ((prop_index < 0) || (prop_index >= cube->prop1Cnt)) {
|
||||
return NULL;
|
||||
}
|
||||
return &cube->prop1Ptr[prop_index];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032E02C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032E070.s")
|
||||
|
||||
@@ -1137,13 +1147,24 @@ BKSprite *func_80330F50(ActorMarker * marker){
|
||||
return sp1C;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330F74.s")
|
||||
s32 func_80330F74(NodeProp *arg0){
|
||||
return arg0->unkA; //marker_id
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330F7C.s")
|
||||
s32 func_80330F7C(NodeProp *arg0){
|
||||
return arg0->unk6_6;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330F8C.s")
|
||||
s32 func_80330F8C(NodeProp *arg0){
|
||||
return arg0->unk8;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330F94.s")
|
||||
s32 func_80330F94(NodeProp *arg0, s32 arg1[3]){
|
||||
arg1[0] = arg0->x;
|
||||
arg1[1] = arg0->y;
|
||||
arg1[2] = arg0->z;
|
||||
return arg0->unk6_15;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330FBC.s")
|
||||
|
||||
|
@@ -551,10 +551,10 @@ void func_80334430(s32 arg0, s32 arg1){}
|
||||
|
||||
void func_8033443C(s32 arg0, s32 arg1){}
|
||||
|
||||
void func_80334448(s32 arg0, s32 arg1) {
|
||||
void func_80334448(NodeProp *arg0, ActorMarker *arg1) {
|
||||
s32 sp24;
|
||||
|
||||
switch(func_80330F7C()) {
|
||||
switch(func_80330F7C(arg0)) {
|
||||
case 3: //L80334480
|
||||
sp24 = func_8023DB5C();
|
||||
if ((func_80330FC4(arg0) + 1) != sp24) {
|
||||
|
@@ -2,13 +2,17 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern int func_80258424(f32 vec[3], f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, f32 maxZ);
|
||||
extern f32 func_8031C5D4(struct0*);
|
||||
extern void func_8031C5AC(struct0 *, f32 *);
|
||||
extern f32 func_8031C5E4(struct0*);
|
||||
extern void func_8031C5FC(struct0 *, f32);
|
||||
extern f32 func_80255D70(f32 arg0);
|
||||
extern s32 func_8029463C(void);
|
||||
extern int func_80258424(f32 vec[3], f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, f32 maxZ);
|
||||
extern f32 func_8031C5D4(struct0*);
|
||||
extern void func_8031C5AC(struct0 *, f32 *);
|
||||
extern f32 func_8031C5E4(struct0*);
|
||||
extern void func_8031C5FC(struct0 *, f32);
|
||||
extern void func_80244FC0(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3, s32 arg4, u32 arg5);
|
||||
extern s32 func_80244E54(f32[3], f32[3], f32 [3], u32, f32, f32);
|
||||
extern Struct66s *func_802457C4(f32[3], f32[3], f32, f32, f32[3], s32, u32);
|
||||
extern f32 func_80255D70(f32 arg0);
|
||||
extern s32 func_8029463C(void);
|
||||
extern Struct66s *func_80320C94(f32[3], f32[3], f32, f32[3], s32, u32);
|
||||
|
||||
void func_80294378(s32 arg0);
|
||||
void func_80294384(s32 arg0);
|
||||
@@ -17,12 +21,24 @@ void func_80294390(void);
|
||||
typedef struct {
|
||||
f32 unk0[3];
|
||||
f32 unkC[3];
|
||||
u8 pad18[0x78];
|
||||
Struct66s *unk18;
|
||||
f32 unk1C[3];
|
||||
f32 unk28[3];
|
||||
f32 unk34[3];
|
||||
s32 unk40;
|
||||
f32 unk44[3];
|
||||
u8 pad50[0x18];
|
||||
f32 unk68[3];
|
||||
u8 pad74[0x18];
|
||||
s32 unk8C;
|
||||
}Struct_core2_C4B0_0;
|
||||
|
||||
/* .rodata */
|
||||
extern f64 D_80374760;
|
||||
extern f64 D_80374768;
|
||||
extern f64 D_80374770;
|
||||
extern f64 D_80374778;
|
||||
extern f64 D_80374780;
|
||||
|
||||
/* .bss */
|
||||
f32 D_8037C1F0[2];
|
||||
@@ -84,13 +100,13 @@ void func_8029350C(f32 *arg0) {
|
||||
func_8031C5AC(D_8037C200, sp3C);
|
||||
temp_v0 = D_8037C279;
|
||||
D_8037C279 = FALSE;
|
||||
if (!(sp3C[1] < D_80374760)) {
|
||||
if (!(sp3C[1] < 0.432)) {
|
||||
if (arg0[1] <= sp38) {
|
||||
arg0[1] = sp38;
|
||||
D_8037C279 = TRUE;
|
||||
}
|
||||
else if ((temp_v0 != 0) && (D_8037C238[1] < 0.0f)) {
|
||||
if (sp3C[1] < D_80374768) {
|
||||
if (sp3C[1] < 0.9) {
|
||||
if (arg0[1] < (sp38 + 30.0f)) {
|
||||
arg0[1] = sp38;
|
||||
D_8037C279 = TRUE;
|
||||
@@ -103,8 +119,142 @@ void func_8029350C(f32 *arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C4B0/func_80293668.s")
|
||||
#else
|
||||
void func_80293668(void) {
|
||||
f32 sp3AC[3];
|
||||
f32 sp3A0[3];
|
||||
f32 temp_f0;
|
||||
f32 sp390[3];
|
||||
f32 sp38C;
|
||||
f32 sp380[3];
|
||||
f32 sp374[3];
|
||||
s32 i;
|
||||
f32 sp364[3];
|
||||
Struct_core2_C4B0_0 *var_s1;
|
||||
Struct_core2_C4B0_0 sp90[5];
|
||||
u32 temp_s7;
|
||||
s32 temp_v0;
|
||||
|
||||
temp_v0 = func_8028D694();
|
||||
func_80244FC0(D_8037C228, sp390, D_8037C1F8[1], D_8037C1F8[0], 1, temp_v0 | 0x1E0000);
|
||||
temp_s7 = temp_v0 | 0x1E0000;
|
||||
for(i = 0; i < 5; i++){
|
||||
var_s1 = (i != 0) ? &sp90[i - 1] : NULL;
|
||||
|
||||
if (i != 0) {
|
||||
ml_vec3f_copy(sp90[i].unk0, var_s1->unk0);
|
||||
ml_vec3f_copy(sp90[i].unkC, var_s1->unkC);
|
||||
} else {
|
||||
ml_vec3f_copy(sp90[i].unk0, D_8037C218);
|
||||
ml_vec3f_copy(sp90[i].unkC, D_8037C228);
|
||||
}
|
||||
ml_vec3f_copy(sp364, sp90[i].unk0);
|
||||
ml_vec3f_diff_copy(sp380, sp90[i].unk0, sp90[i].unkC);
|
||||
temp_f0 = ((D_8037C1F8[1] * 2) - 4.0f);
|
||||
if ((sp380[0]*sp380[0] + sp380[1]*sp380[1] + sp380[2]*sp380[2]) > (temp_f0 * temp_f0)) {
|
||||
sp38C = sp90[i].unk0[1];
|
||||
sp90[i].unk40 = func_80244E54(sp90[i].unkC, sp90[i].unk0, sp90[i].unk44, temp_s7, D_8037C1F8[1] - 1.0f, D_8037C1F8[0]);
|
||||
if (sp90[i].unk40 != 0) {
|
||||
ml_vec3f_normalize(sp380);
|
||||
if ((sp380[0]*sp90[i].unk44[0] + sp380[1]*sp90[i].unk44[1] + sp380[2]*sp90[i].unk44[2]) > 0.0f) {
|
||||
sp90[i].unk40 = 0;
|
||||
ml_vec3f_copy(sp90[i].unk0, sp364);
|
||||
}
|
||||
}
|
||||
if (sp90[i].unk40 != 0) {
|
||||
if ((sp90[i].unk44[1] >= 0.0) && (sp90[i].unk44[1] < D_80374770)) {
|
||||
sp90[i].unk0[1] = sp38C;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sp90[i].unk40 = 0;
|
||||
}
|
||||
func_8029350C(sp90[i].unk0);
|
||||
sp90[i].unk8C = D_8037C279;
|
||||
sp90[i].unk34[0] = sp90[i].unkC[0];
|
||||
sp90[i].unk34[1] = sp90[i].unkC[1];
|
||||
sp90[i].unk34[2] = sp90[i].unkC[2];
|
||||
sp90[i].unk34[1] +=D_8037C1F8[0];
|
||||
|
||||
sp90[i].unk28[0] = sp90[i].unk0[0];
|
||||
sp90[i].unk28[1] = sp90[i].unk0[1];
|
||||
sp90[i].unk28[2] = sp90[i].unk0[2];
|
||||
sp90[i].unk28[1] +=D_8037C1F8[0];
|
||||
|
||||
sp90[i].unk18 = func_80320C94(sp90[i].unk34, sp90[i].unk28, D_8037C1F8[1], sp90[i].unk1C, 3, temp_s7);
|
||||
if (sp90[i].unk18 != NULL) {
|
||||
D_8037C27D++;
|
||||
D_8037C204 = sp90[i].unk18;
|
||||
ml_vec3f_copy(D_8037C258, sp90[i].unk1C);
|
||||
if (i == 2) {
|
||||
if ((sp90[i].unk18 == sp90[0].unk18) && (var_s1->unk18 != sp90[0].unk18)) {
|
||||
ml_vec3f_add(sp380, sp90[i].unk1C, var_s1->unk1C);
|
||||
ml_vec3f_normalize(sp380);
|
||||
ml_vec3f_copy(sp90[i].unk1C, sp380);
|
||||
}
|
||||
}
|
||||
if (i == 2) {
|
||||
if (sp90[i].unk18 == sp90[0].unk18) {
|
||||
if ((var_s1->unk18 == sp90[i].unk18) && func_802946FC(sp90[i].unk68, sp90[i].unk18)) {
|
||||
func_802578A4(sp380, sp90[i].unk0, sp90[i].unk68);
|
||||
ml_vec3f_diff_copy(sp3A0, sp90[i].unk0, sp380);
|
||||
ml_vec3f_set_length_copy(sp3A0, sp3A0, D_8037C1F8[1] + 1.0f);
|
||||
sp380[0] += sp3A0[0];
|
||||
sp380[1] += sp3A0[1];
|
||||
sp380[2] += sp3A0[2];
|
||||
if (!(sp90[i].unk18->unk8 & 0x00010000)) {
|
||||
sp90[i].unk18 = func_802457C4(sp380, sp90[i].unk0, D_8037C1F8[0], D_8037C1F8[1], sp90[i].unk1C, 3, temp_s7);
|
||||
} else {
|
||||
ml_vec3f_copy(sp90[i].unk0, sp380);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((sp90[i].unk8C == 0) && (sp90[i].unk18 != NULL) && (D_8037C238[1] < 0.0f)) {
|
||||
if( (mlAbsF(sp90[i].unk1C[1]) < D_80374778) && func_802946FC(sp90[i].unk68, sp90[i].unk18)) {
|
||||
func_802578A4(sp380, sp90[i].unk0, sp90[i].unk68);
|
||||
ml_vec3f_scale_copy(sp3A0, sp90[i].unk1C, D_8037C1F8[1] + 1.0f);
|
||||
ml_vec3f_add(sp374, sp380, sp3A0);
|
||||
sp90[i].unk18 = func_802457C4(sp374, sp380, D_8037C1F8[0], D_8037C1F8[1], sp90[i].unk1C, 3, temp_s7);
|
||||
sp90[i].unk0[0] = sp380[0];
|
||||
sp90[i].unk0[2] = sp380[2];
|
||||
}
|
||||
}
|
||||
if ((D_80374780 < sp90[i].unk1C[1]) && func_802946FC(sp90[i].unk68, sp90[i].unk18)) {
|
||||
func_8025778C(sp3AC, sp90[i].unk0, sp90[i].unk68);
|
||||
sp380[0] = sp90[i].unk0[0] - sp3AC[0];
|
||||
sp380[1] = 0.0f;
|
||||
sp380[2] = sp90[i].unk0[2] - sp3AC[2];
|
||||
ml_vec3f_set_length_copy(sp380, sp380, D_8037C1F8[1] + 1.0f);
|
||||
sp380[0] = sp380[0] + sp3AC[0];
|
||||
sp380[1] = sp380[1] + sp3AC[1];
|
||||
sp380[2] = sp380[2] + sp3AC[2];
|
||||
sp90[i].unk0[0] = sp380[0];
|
||||
sp90[i].unk0[2] = sp380[2];
|
||||
} else if (func_80258368(sp90[i].unk1C)) {
|
||||
func_802450DC(sp90[i].unkC, sp90[i].unk0, sp90[i].unk34, sp90[i].unk28, sp90[i].unk1C);
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((i == 5) && (D_8037C279 == 0) && (D_8037C204 != 0) && (D_8037C218[1] < D_8037C228[1])) {
|
||||
D_8037C27C = 1;
|
||||
}
|
||||
|
||||
if (i == 5) {
|
||||
ml_vec3f_copy(D_8037C218, sp390);
|
||||
}
|
||||
else{
|
||||
ml_vec3f_copy(D_8037C218, sp90[i].unk0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void func_80293D2C(f32 *arg0, f32 * arg1){
|
||||
*arg0 = D_8037C1F8[0];
|
||||
@@ -120,21 +270,13 @@ void func_80293D48(f32 arg0, f32 arg1){
|
||||
|
||||
void func_80293D74(void){ func_80293D48(80.0f, 35.0f);}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C4B0/func_80293DA4.s")
|
||||
#else
|
||||
void func_80293DA4(void){
|
||||
D_8037C278 = 0;
|
||||
D_8037C279 = 0;
|
||||
D_8037C27B = 0;
|
||||
D_8037C27C = 0;
|
||||
D_8037C27E = 0;
|
||||
D_8037C280 = 0;
|
||||
D_8037C278 = D_8037C279 = D_8037C27B = D_8037C27E = D_8037C27C = D_8037C280 = 0;
|
||||
D_8037C200 = func_8031B9D8();
|
||||
ml_vec3f_clear(&D_8037C268);
|
||||
ml_vec3f_clear(&D_8037C218);
|
||||
ml_vec3f_clear(&D_8037C228);
|
||||
ml_vec3f_clear(&D_8037C258);
|
||||
ml_vec3f_clear(D_8037C268);
|
||||
ml_vec3f_clear(D_8037C218);
|
||||
ml_vec3f_clear(D_8037C228);
|
||||
ml_vec3f_clear(D_8037C258);
|
||||
D_8037C204 = 0;
|
||||
D_8037C27F = 0;
|
||||
func_80293D74();
|
||||
@@ -145,7 +287,6 @@ void func_80293DA4(void){
|
||||
D_8037C274 = 0;
|
||||
func_80294378(1);
|
||||
}
|
||||
#endif
|
||||
|
||||
void func_80293E88(void){
|
||||
func_8031BA9C(D_8037C200);
|
||||
@@ -198,7 +339,7 @@ void func_80293F0C(void){
|
||||
player_setYVelocity(1.0f);
|
||||
}
|
||||
func_80293668();
|
||||
player_setPosition(&D_8037C218);
|
||||
player_setPosition(D_8037C218);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
|
@@ -283,7 +283,7 @@ segments:
|
||||
- [0x78E50, c, code_78E50]
|
||||
- [0x79830, c, fxcommon3score] #DONE
|
||||
- [0x79C80, c, code_79C80]
|
||||
- [0x7A760, c, code_7A760]
|
||||
- [0x7A760, c, code_7A760] #DONE
|
||||
- [0x7AF80, c, code_7AF80]
|
||||
- [0x82000, c, code_82000]
|
||||
- [0x83340, c, code_83340]
|
||||
@@ -596,7 +596,8 @@ segments:
|
||||
- [0xED770, .rodata, code_B850]
|
||||
- [0xED790, .rodata, code_BD20]
|
||||
- [0xED7B0, .rodata, code_C0E0]
|
||||
- [0xED7D0, bin, data_ED7D0]
|
||||
- [0xED7D0, .rodata, code_C4B0]
|
||||
- [0xED7E0, bin, data_ED7E0] #.rodata, code_C4B0]
|
||||
- [0xED7F0, bin, data_ED7F0] #.rodata, code_C4B0]
|
||||
- [0xED810, .rodata, code_D9B0]
|
||||
- [0xED820, .rodata, code_E680]
|
||||
@@ -749,7 +750,7 @@ segments:
|
||||
- [0xF04A0, .rodata, code_78100]
|
||||
- [0xF04D0, .rodata, fxcommon3score]
|
||||
- [0xF04F0, .rodata, code_79C80]
|
||||
- [0xF0500, bin, data_F0500]
|
||||
- [0xF0500, .rodata, code_7A760]
|
||||
- [0xF0520, .rodata, code_7AF80]
|
||||
- [0xF0540, bin, data_F0540]
|
||||
- [0xF14C0, .rodata, gc/transition]
|
||||
|
Reference in New Issue
Block a user