mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
97F80, A4290, and A48B0 matching, started bss import on engine. (#47)
* stuff * three whole files * format * format and such * one cleanup
This commit is contained in:
+6
-3
@@ -85,6 +85,7 @@ void func_8001AF40(s32);
|
||||
void func_8001D1C8(s32, s32);
|
||||
void func_8001D400(s32);
|
||||
void func_8001D444(u8, u16, u8, u8);
|
||||
void func_8001D638(u8);
|
||||
void func_8001DA90(u8);
|
||||
void func_8001DBD0(s32);
|
||||
void func_8001DC6C(u8, u16);
|
||||
@@ -471,7 +472,9 @@ void func_80094954(Object_8C*);
|
||||
void func_80094BBC(Object_8C*);
|
||||
void func_80094D20(f32, f32);
|
||||
|
||||
// sf_97F80
|
||||
// fox_97F80
|
||||
void func_80098860(Plane *plane, Vec3f *point, Vec3f *normal);
|
||||
s32 func_800988B4(Vec3f *vec, Plane *plane);
|
||||
s32 func_800998FC(Vec3f*, Vec3f*, Vec3f*, s32, Vec3f*, f32*);
|
||||
|
||||
// fox_A24B0
|
||||
@@ -488,9 +491,9 @@ void func_800A25DC(void);
|
||||
Object_2F4 *func_800A3608(s32);
|
||||
|
||||
// fox_A4290
|
||||
s32 func_800A3690(Vec3f*, Vec3f*, s32, Vec3f*);
|
||||
bool func_800A3690(Vec3f*, Vec3f*, s32, Vec3f*);
|
||||
|
||||
// sf_A48A0
|
||||
// fox_A48A0
|
||||
void func_800A3CA0(void);
|
||||
|
||||
// sf_A4B50
|
||||
|
||||
+3
-1
@@ -7,9 +7,11 @@
|
||||
#define SEGMENTED_TO_VIRTUAL(segment) ((void*)OS_PHYSICAL_TO_K0(gSegments[((uintptr_t)(segment)<<4)>>0x1C]+(((uintptr_t)(segment))&0xFFFFFF)))
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
#define SQ(x) ((x) * (x))
|
||||
|
||||
#define SIGN_OF(x) (((x) > 0) ? 1 : ((x) == 0) ? 0 : -1)
|
||||
#define SQ(x) ((x) * (x))
|
||||
#define VEC3F_SQ(vec) (SQ((vec).x) + SQ((vec).y) + SQ((vec).z))
|
||||
#define DOT_XYZ(a, b) ((a).x * (b).x + (a).y * (b).y + (a).z * (b).z)
|
||||
|
||||
#define USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate/15625LL))/(1000000LL/15625LL))
|
||||
#define MSEC_TO_CYCLES(n) (USEC_TO_CYCLES((n) * 1000LL))
|
||||
|
||||
+34
-8
@@ -6,6 +6,34 @@
|
||||
|
||||
#define UNK_TYPE s32
|
||||
|
||||
typedef struct {
|
||||
Vec3f normal;
|
||||
f32 dist;
|
||||
} Plane;
|
||||
|
||||
typedef struct {
|
||||
s16 vtx[3];
|
||||
s16 unk_06;
|
||||
Vec3s normal;
|
||||
s32 dist;
|
||||
} CollisionPoly;
|
||||
|
||||
typedef struct {
|
||||
Vec3f min;
|
||||
Vec3f max;
|
||||
s32 polyCount;
|
||||
CollisionPoly* polys;
|
||||
Vec3s* mesh;
|
||||
} CollisionHeader; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
Vec3f min;
|
||||
Vec3f max;
|
||||
s32 polyCount;
|
||||
s16 (*polys)[3];
|
||||
Vec3f* mesh;
|
||||
} CollisionHeader2; // size = 0x24
|
||||
|
||||
typedef void (*TimerAction)(s32*, s32);
|
||||
|
||||
typedef struct {
|
||||
@@ -315,17 +343,15 @@ typedef struct {
|
||||
/* 0x10 */ Vec3f rot;
|
||||
} Object; // size = 0x1C
|
||||
|
||||
typedef void (*ObjectFunc)(Object*);
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
/* 0x00 */ void* drawVoid; // Have the first option be a void type to silence warnings about the wrong type in the initialization of this object.
|
||||
/* 0x00 */ void (*draw)(Object*); // argument must have object type.
|
||||
/* 0x00 */ Gfx* drawGfx; //Can be dlist.
|
||||
/* 0x00 */ union {
|
||||
ObjectFunc draw;
|
||||
Gfx* dList;
|
||||
};
|
||||
/* 0x00 */ u8 drawType;
|
||||
union {
|
||||
/* 0x08 */ void* actionVoid; // Have the first option be a void type to silence warnings about the wrong type in the initialization of this object.
|
||||
/* 0x08 */ void (*action)(Object*); // argument must have object type. But it can be one of many different types of objects.
|
||||
};
|
||||
/* 0x08 */ ObjectFunc action; // argument must have object type.
|
||||
/* 0x0C */ f32* unk_0C; // some sort of script?
|
||||
/* 0x10 */ f32 unk_10; // z coordinate of something
|
||||
/* 0x14 */ s16 unk_14; // can be -1, 0, 1
|
||||
|
||||
+10
-8
@@ -203,6 +203,8 @@ extern s32 D_800D2884[];
|
||||
extern s32 D_800D2894[];
|
||||
extern s32 D_800D28A4[];
|
||||
extern s32 D_800D28B4[];
|
||||
extern CollisionHeader D_800D2B38[];
|
||||
extern CollisionHeader2 D_800D2CA0[];
|
||||
extern u8 D_800D3180[0x1E]; // might be bigger? at least 0x21
|
||||
extern s32 D_800D4A70;
|
||||
extern Save gDefaultSave;
|
||||
@@ -226,7 +228,7 @@ extern s32 D_801613A0;
|
||||
|
||||
// fox_52730
|
||||
extern Vec3f D_801613B0[];
|
||||
extern Vec3f D_801613E0[2];
|
||||
extern Vec3f D_801613E0[];
|
||||
extern s16 D_80161410;
|
||||
extern Matrix D_80161418[4];
|
||||
extern Vec3f D_80161518[4];
|
||||
@@ -276,10 +278,7 @@ extern s32 D_801617B8;
|
||||
extern s32 D_80161810[];
|
||||
extern s32 D_80161900[];
|
||||
|
||||
extern s32 D_80161910[0x10]; // part of previous or next?
|
||||
|
||||
// sf_97F80
|
||||
extern f32 D_80161950;
|
||||
extern s32 D_80161910[0x10]; // part of sf_hud or fox_97F80?
|
||||
|
||||
// fox_display
|
||||
extern char D_801619A0[100];
|
||||
@@ -425,6 +424,7 @@ extern f32 D_80177D08;
|
||||
extern s32 D_80177D10[];
|
||||
extern f32 D_80177D20;
|
||||
extern s32 D_80177D28[];
|
||||
extern f32 D_80177D38;
|
||||
extern s32 D_80177D40[];
|
||||
extern f32 D_80177D50;
|
||||
extern s32 D_80177D58[];
|
||||
@@ -453,6 +453,8 @@ extern u32* D_80178298;
|
||||
extern s32 D_8017829C;
|
||||
extern s32 D_801782A4;
|
||||
extern Object_58 *D_801782A8;
|
||||
extern s32 D_801782AC;
|
||||
extern s32 D_801782B4;
|
||||
extern s32 D_801782B8;
|
||||
extern s32 D_801782BC;
|
||||
extern s32 D_801782C0;
|
||||
@@ -543,9 +545,9 @@ extern s32 D_80178570;
|
||||
extern s32 D_80178574;
|
||||
extern s32 D_80178578;
|
||||
|
||||
// file split -- part of radio? rcp?
|
||||
extern s32 D_80178580;
|
||||
extern s32 *D_80178710;
|
||||
// fox_rcp?
|
||||
extern u8 D_80178580[];
|
||||
extern void *D_80178710;
|
||||
|
||||
//fox_radio
|
||||
extern u16** D_80178720;
|
||||
|
||||
@@ -13,6 +13,11 @@ gFrameBuffers = 0x8038F800;
|
||||
gDmaTable = 0x80178A70; //size:0x5A0
|
||||
D_80178A70 = 0x80178A78; //ignore:true
|
||||
|
||||
D_80161A18 = 0x80161A18;//size:0x10
|
||||
D_801615D0 = 0x801615D0;//size:0xC
|
||||
D_801615E0 = 0x801615E0;//size:0xC
|
||||
|
||||
D_80161578 = 0x80161578;//size:0x30
|
||||
D_80161AA8 = 0x80161AA8;//size:0x10
|
||||
D_800CA23C = 0x800CA23C;//size:0x18
|
||||
D_800CA26C = 0x800CA26C;//size:0x20
|
||||
@@ -44,6 +49,33 @@ D_800CBDD4 = 0x800CBDD4; //size:0x98
|
||||
|
||||
D_800D55D0 = 0x800D55D0; //type:f32
|
||||
|
||||
// vec97_0 = 0x80161950; //type:Vec3f size:0xC
|
||||
// vec97_1 = 0x8016195C; //type:Vec3f size:0xC
|
||||
// __vtx0_ = 0x80161968; //type:Vec3f size:0xC
|
||||
// __vtx1_ = 0x80161974; //type:Vec3f size:0xC
|
||||
// __vtx2_ = 0x80161980; //type:Vec3f size:0xC
|
||||
// __vtx3_ = 0x8016198C; //type:Vec3f size:0xC
|
||||
__dx1 = 0x80161950;
|
||||
__dx2 = 0x80161954;
|
||||
__dy1 = 0x80161958;
|
||||
__dy2 = 0x8016195C;
|
||||
__dz1 = 0x80161960;
|
||||
__dz2 = 0x80161964;
|
||||
__vtx0_x = 0x80161968;
|
||||
__vtx0_y = 0x8016196C;
|
||||
__vtx0_z = 0x80161970;
|
||||
__vtx1_x = 0x80161974;
|
||||
__vtx1_y = 0x80161978;
|
||||
__vtx1_z = 0x8016197C;
|
||||
__vtx2_x = 0x80161980;
|
||||
__vtx2_y = 0x80161984;
|
||||
__vtx2_z = 0x80161988;
|
||||
__vtx3_x = 0x8016198C;
|
||||
__vtx3_y = 0x80161990;
|
||||
__vtx3_z = 0x80161994;
|
||||
__pos_x = 0x80161998;//type:f32
|
||||
__pos_z = 0x8016199C;//type:f32
|
||||
|
||||
Save_Checksum = 0x800C2FB0;
|
||||
Save_Write = 0x800C3084;
|
||||
Save_Read = 0x800C3194;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#include "global.h"
|
||||
|
||||
#define D_3016CC0 0x03016CC0
|
||||
#define D_3003CE0 0x03003CE0
|
||||
#define D_3001C90 0x03001C90
|
||||
#define D_1024570 0x01024570
|
||||
#define D_10246D0 0x010246D0
|
||||
#define D_1024410 0x01024410
|
||||
#define D_D000000 0x0D000000
|
||||
#define D_D00B5C0 0x0D00B5C0
|
||||
#define D_D00B720 0x0D00B720
|
||||
Vec3f D_801613B0[4];
|
||||
Vec3f D_801613E0[4];
|
||||
s16 D_80161410;
|
||||
Matrix D_80161418[4];
|
||||
Vec3f D_80161518[4];
|
||||
Vec3f D_80161548[4];
|
||||
Vec3f D_80161578[4];
|
||||
f32 D_801615A8[4];
|
||||
f32 D_801615B8[4];
|
||||
|
||||
s32 D_800CA220 = 0;
|
||||
u8 D_800CA224[] = { 0, 0, 0, 0 };
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,22 @@
|
||||
|
||||
extern void func_80187520(s32, void*);
|
||||
|
||||
f32 D_80161A10;
|
||||
f32 D_80161A14;
|
||||
s32 D_80161A18[4];
|
||||
s32 D_80161A28;
|
||||
u8 D_80161A2C;
|
||||
u16 D_80161A2E;
|
||||
u16 D_80161A30;
|
||||
u16 D_80161A32;
|
||||
u16 D_80161A34;
|
||||
u16 D_80161A36;
|
||||
u8 D_80161A38;
|
||||
u8 D_80161A39;
|
||||
f32 D_80161A3C;
|
||||
f32 D_80161A40;
|
||||
f32 D_80161A44;
|
||||
|
||||
s32 D_800D2860[4] = { 1, 1, 1, 1 };
|
||||
s32 D_800D2870 = 0;
|
||||
s32 D_800D2874[] = { 0, 160, 0, 160 };
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
#include "global.h"
|
||||
|
||||
#include "fox_A4290_colheaders.c"
|
||||
|
||||
bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3);
|
||||
bool func_800A3A74(Vec3f*, Vec3f** arg1, Vec3f*);
|
||||
|
||||
bool func_800A3690(Vec3f* arg0, Vec3f* arg1, s32 arg2, Vec3f* arg3) {
|
||||
return func_800A36FC(arg0, arg1, SEGMENTED_TO_VIRTUAL(&D_800D2CA0[arg2]), arg3);
|
||||
}
|
||||
|
||||
bool func_800A36FC(Vec3f* arg0, Vec3f* arg1, CollisionHeader2* arg2, Vec3f* arg3) {
|
||||
Vec3f sp7C;
|
||||
Plane sp6C;
|
||||
s32 var_v1;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f* sp54[3];
|
||||
Vec3f sp48;
|
||||
Vec3f sp3C;
|
||||
s32 sp38 = false;
|
||||
s32 sp34;
|
||||
s16(*sp30)[3];
|
||||
Vec3f* sp2C;
|
||||
|
||||
sp7C.x = arg0->x - arg1->x;
|
||||
sp7C.y = arg0->y - arg1->y;
|
||||
sp7C.z = arg0->z - arg1->z;
|
||||
if ((sp7C.x < arg2->min.x) || (sp7C.y < arg2->min.y) || (sp7C.z < arg2->min.z) || (arg2->max.x < sp7C.x) ||
|
||||
(arg2->max.y < sp7C.y) || (arg2->max.z < sp7C.z)) {
|
||||
return false;
|
||||
}
|
||||
var_v1 = false;
|
||||
sp34 = arg2->polyCount;
|
||||
sp30 = SEGMENTED_TO_VIRTUAL(arg2->polys);
|
||||
sp2C = SEGMENTED_TO_VIRTUAL(arg2->mesh);
|
||||
for (i = 0; i < sp34; i++, sp30++) {
|
||||
for (j = 0; j < 3; j++) {
|
||||
sp54[j] = &sp2C[(*sp30)[j]];
|
||||
}
|
||||
var_v1 = func_800A3A74(&sp7C, sp54, &sp48);
|
||||
if (var_v1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_v1) {
|
||||
sp3C.x = sp54[0]->x;
|
||||
sp3C.y = sp54[0]->y;
|
||||
sp3C.z = sp54[0]->z;
|
||||
func_80098860(&sp6C, &sp3C, &sp48);
|
||||
arg3->y = func_800988B4(&sp7C, &sp6C);
|
||||
if (sp6C.normal.x != 0.0f) {
|
||||
sp48.x = -sp6C.dist / sp6C.normal.x;
|
||||
} else {
|
||||
sp48.x = 0.0f;
|
||||
}
|
||||
if (sp6C.normal.y != 0.0f) {
|
||||
sp48.y = -sp6C.dist / sp6C.normal.y;
|
||||
} else {
|
||||
sp48.y = 0.0f;
|
||||
}
|
||||
if (sp6C.normal.z != 0.0f) {
|
||||
sp48.z = -sp6C.dist / sp6C.normal.z;
|
||||
} else {
|
||||
sp48.z = 0.0f;
|
||||
}
|
||||
arg3->x = Math_Atan2F_XY(sp48.y, sp48.z);
|
||||
if (sp48.z != 0.0f) {
|
||||
arg3->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(sp48.y, sp48.z)) * sp48.z, sp48.x);
|
||||
} else if (arg3->x >= 3.1415927f) {
|
||||
arg3->z = Math_Atan2F_XY(sp48.y, sp48.x);
|
||||
} else {
|
||||
arg3->z = -Math_Atan2F_XY(sp48.y, sp48.x);
|
||||
}
|
||||
if ((arg0->y <= arg3->y) || (D_80178234 == 11)) {
|
||||
sp38 = true;
|
||||
}
|
||||
}
|
||||
return sp38;
|
||||
}
|
||||
|
||||
s32 func_800A3A74(Vec3f* arg0, Vec3f** arg1, Vec3f* arg2) {
|
||||
s32 pad;
|
||||
f32 temp1;
|
||||
s32 var_v1;
|
||||
f32 temp_fv0;
|
||||
Vec3f sp44;
|
||||
Vec3f sp38;
|
||||
Vec3f sp2C;
|
||||
f32 sp28;
|
||||
f32 sp24;
|
||||
|
||||
var_v1 = 0;
|
||||
sp44.x = (*arg1)->x;
|
||||
sp44.y = (*arg1)->y;
|
||||
sp44.z = (*arg1)->z;
|
||||
arg1++;
|
||||
sp38.x = (*arg1)->x;
|
||||
sp38.y = (*arg1)->y;
|
||||
sp38.z = (*arg1)->z;
|
||||
arg1++;
|
||||
sp2C.x = (*arg1)->x;
|
||||
sp2C.y = (*arg1)->y;
|
||||
sp2C.z = (*arg1)->z;
|
||||
arg1++;
|
||||
|
||||
sp28 = arg0->x;
|
||||
sp24 = arg0->z;
|
||||
temp1 = ((sp38.z - sp44.z) * (sp28 - sp38.x)) - ((sp38.x - sp44.x) * (sp24 - sp38.z));
|
||||
if (temp1 >= 0.0f) {
|
||||
if (((sp2C.x - sp38.x) * (sp24 - sp2C.z)) <= ((sp2C.z - sp38.z) * (sp28 - sp2C.x))) {
|
||||
if (((sp44.x - sp2C.x) * (sp24 - sp44.z)) <= ((sp44.z - sp2C.z) * (sp28 - sp44.x))) {
|
||||
var_v1 = 1;
|
||||
arg2->x = ((sp38.y - sp44.y) * (sp2C.z - sp38.z)) - ((sp38.z - sp44.z) * (sp2C.y - sp38.y));
|
||||
arg2->y = ((sp38.z - sp44.z) * (sp2C.x - sp38.x)) - ((sp38.x - sp44.x) * (sp2C.z - sp38.z));
|
||||
arg2->z = ((sp38.x - sp44.x) * (sp2C.y - sp38.y)) - ((sp38.y - sp44.y) * (sp2C.x - sp38.x));
|
||||
if ((arg2->x != 0.0f) || (arg2->y != 0.0f) || (arg2->z != 0.0f)) {
|
||||
temp_fv0 = sqrtf(SQ(arg2->x) + SQ(arg2->y) + SQ(arg2->z));
|
||||
if (temp_fv0 != 0) {
|
||||
arg2->x = (arg2->x / temp_fv0) * 127.0f;
|
||||
arg2->y = (arg2->y / temp_fv0) * 127.0f;
|
||||
arg2->z = (arg2->z / temp_fv0) * 127.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
#include "structs.h"
|
||||
|
||||
static Vec3f D_800D2920[16] = {
|
||||
{ 1075.0f, 0.0f, 0.0f }, { 746.0f, 0.0f, -746.0f }, { 202.0f, 361.0f, -202.0f }, { 0.0f, 0.0f, -1075.0f },
|
||||
{ 291.0f, 558.0f, 0.0f }, { 0.0f, 354.0f, -291.0f }, { 202.0f, 594.0f, 202.0f }, { 772.0f, 0.0f, 622.0f },
|
||||
{ 0.0f, 473.0f, 291.0f }, { 144.0f, 0.0f, 1075.0f }, { -202.0f, 461.0f, 202.0f }, { -515.0f, 0.0f, 746.0f },
|
||||
{ -291.0f, 453.0f, 0.0f }, { -372.0f, 390.0f, -281.0f }, { -951.0f, 0.0f, 0.0f }, { -746.0f, 0.0f, -746.0f },
|
||||
};
|
||||
static s16 D_800D29E0[22][3] = {
|
||||
{ 0, 1, 2 }, { 2, 1, 3 }, { 4, 2, 5 }, { 3, 5, 2 }, { 2, 4, 0 }, { 4, 6, 7 },
|
||||
{ 7, 0, 4 }, { 6, 4, 5 }, { 7, 6, 8 }, { 8, 9, 7 }, { 8, 10, 11 }, { 10, 8, 6 },
|
||||
{ 11, 9, 8 }, { 12, 10, 6 }, { 6, 13, 12 }, { 14, 12, 13 }, { 10, 12, 14 }, { 14, 11, 10 },
|
||||
{ 5, 13, 6 }, { 5, 3, 15 }, { 15, 13, 5 }, { 13, 15, 14 },
|
||||
};
|
||||
static s16 D_800D2A64[13][3] = {
|
||||
{ 0, 1, 2 }, { 2, 3, 4 }, { 2, 5, 0 }, { 4, 5, 2 }, { 4, 3, 6 }, { 4, 7, 5 }, { 8, 7, 4 },
|
||||
{ 4, 6, 8 }, { 7, 8, 9 }, { 0, 7, 9 }, { 5, 7, 0 }, { 9, 10, 0 }, { 10, 1, 0 },
|
||||
};
|
||||
static Vec3f D_800D2AB4[11] = {
|
||||
{ -218.0f, 131.0f, 0.0f }, { -435.0f, 0.0f, 0.0f }, { -336.0f, 0.0f, 218.0f }, { 0.0f, 0.0f, 435.0f },
|
||||
{ 0.0f, 160.0f, 218.0f }, { -168.0f, 131.0f, 109.0f }, { 336.0f, 0.0f, 218.0f }, { 0.0f, 174.0f, 0.0f },
|
||||
{ 435.0f, 0.0f, -204.0f }, { 0.0f, 0.0f, -435.0f }, { -318.0f, 0.0f, -218.0f },
|
||||
};
|
||||
|
||||
CollisionHeader D_800D2B38[10] = {
|
||||
{
|
||||
{ -1128.0f, -1835.0f, -1202.0f },
|
||||
{ 997.0f, 139.0f, 1360.0f },
|
||||
79,
|
||||
0x0602FA9C,
|
||||
0x060300C8,
|
||||
},
|
||||
{
|
||||
{ -3006.0f, -2274.0f, -4530.0f },
|
||||
{ 3015.0f, 3348.0f, 5246.0f },
|
||||
236,
|
||||
0x060305DC,
|
||||
0x0603184C,
|
||||
},
|
||||
{
|
||||
{ -152.0f, -200.0f, -152.0f },
|
||||
{ 165.0f, 204.0f, 181.0f },
|
||||
42,
|
||||
0x06030208,
|
||||
0x06030550,
|
||||
},
|
||||
{
|
||||
{ -1704.0f, -1006.0f, -4751.0f },
|
||||
{ 1704.0f, 1030.0f, 4842.0f },
|
||||
174,
|
||||
0x06033070,
|
||||
0x06033E08,
|
||||
},
|
||||
{
|
||||
{ -1308.0f, 0.0f, -1460.0f },
|
||||
{ 1310.0f, 666.0f, 807.0f },
|
||||
93,
|
||||
0x0600F60C,
|
||||
0x0600FD50,
|
||||
},
|
||||
{
|
||||
{ -951.0f, 0.0f, -1075.0f },
|
||||
{ 1075.0f, 1014.0f, 1075.0f },
|
||||
22,
|
||||
0x0600F3F4,
|
||||
0x0600F5AC,
|
||||
},
|
||||
{
|
||||
{ -951.0f, 0.0f, -1075.0f },
|
||||
{ 1075.0f, 384.0f, 1075.0f },
|
||||
22,
|
||||
0x0600F1DC,
|
||||
0x0600F394,
|
||||
},
|
||||
{
|
||||
{ -1554.0f, -2.0f, -1401.0f },
|
||||
{ 1554.0f, 590.0f, 1401.0f },
|
||||
262,
|
||||
0x06010294,
|
||||
0x0601170C,
|
||||
},
|
||||
{
|
||||
{ -1386.0f, -696.0f, -2274.0f },
|
||||
{ 1386.0f, 1033.0f, 1833.0f },
|
||||
316,
|
||||
0x06007558,
|
||||
0x06008E08,
|
||||
},
|
||||
{
|
||||
{ -671.0f, 0.0f, -671.0f },
|
||||
{ 671.0f, 648.0f, 671.0f },
|
||||
250,
|
||||
0x06014FEC,
|
||||
0x06016374,
|
||||
},
|
||||
};
|
||||
|
||||
CollisionHeader2 D_800D2CA0[19] = {
|
||||
{
|
||||
{ -951.0f, 0.0f, -1075.0f },
|
||||
{ 1075.0f, 594.0f, 1075.0f },
|
||||
22,
|
||||
D_800D29E0,
|
||||
D_800D2920,
|
||||
},
|
||||
{
|
||||
{ -1220.0f, 0.0f, -1315.0f },
|
||||
{ 1403.0f, 174.0f, 1308.0f },
|
||||
13,
|
||||
0x0603F338,
|
||||
0x0603F388,
|
||||
},
|
||||
{
|
||||
{ -1311.0f, 0.0f, -1120.0f },
|
||||
{ 1266.0f, 1465.0f, 1266.0f },
|
||||
36,
|
||||
0x0603F40C,
|
||||
0x0603F4E4,
|
||||
},
|
||||
{
|
||||
{ -435.0f, -10.0f, -435.0f },
|
||||
{ 435.0f, 174.0f, 435.0f },
|
||||
13,
|
||||
D_800D2A64,
|
||||
D_800D2AB4,
|
||||
},
|
||||
{
|
||||
{ -498.0f, -10.0f, -498.0f },
|
||||
{ 498.0f, 705.0f, 498.0f },
|
||||
4,
|
||||
0x0302EEE8,
|
||||
0x0302EF00,
|
||||
},
|
||||
{
|
||||
{ -1494.0f, -30.0f, -1494.0f },
|
||||
{ 1494.0f, 2115.0f, 1494.0f },
|
||||
4,
|
||||
0x0302EF6C,
|
||||
0x0302EF84,
|
||||
},
|
||||
{
|
||||
{ -623.0f, -10.0f, -623.0f },
|
||||
{ 623.0f, 200.0f, 623.0f },
|
||||
4,
|
||||
0x0302EFF0,
|
||||
0x0302F008,
|
||||
},
|
||||
{
|
||||
{ -488.0f, 0.0f, -568.0f },
|
||||
{ 488.0f, 148.0f, 567.0f },
|
||||
30,
|
||||
0x0602CACC,
|
||||
0x0602CB80,
|
||||
},
|
||||
{
|
||||
{ -900.0f, -110.0f, -1900.0f },
|
||||
{ 900.0f, 190.0f, 100.0f },
|
||||
2,
|
||||
0x06030E74,
|
||||
0x06030E80,
|
||||
},
|
||||
{
|
||||
{ -900.0f, -100.0f, -1000.0f },
|
||||
{ 900.0f, 250.0f, 100.0f },
|
||||
2,
|
||||
0x06030EB0,
|
||||
0x06030EBC,
|
||||
},
|
||||
{
|
||||
{ -900.0f, -190.0f, -1900.0f },
|
||||
{ 900.0f, 100.0f, 100.0f },
|
||||
2,
|
||||
0x06030EEC,
|
||||
0x06030EF8,
|
||||
},
|
||||
{
|
||||
{ -500.0f, -250.0f, -1010.0f },
|
||||
{ 500.0f, 100.0f, 100.0f },
|
||||
2,
|
||||
0x06030F28,
|
||||
0x06030F34,
|
||||
},
|
||||
{
|
||||
{ -1200.0f, 0.0f, -1800.0f },
|
||||
{ 0.0f, 900.0f, 1500.0f },
|
||||
4,
|
||||
0x06030F64,
|
||||
0x06030F7C,
|
||||
},
|
||||
{
|
||||
{ -400.0f, 0.0f, -900.0f },
|
||||
{ 400.0f, 0.0f, 0.0f },
|
||||
2,
|
||||
0x06030FC4,
|
||||
0x06030FD0,
|
||||
},
|
||||
{
|
||||
{ -74.0f, 0.0f, -84.0f },
|
||||
{ 74.0f, 125.0f, 84.0f },
|
||||
30,
|
||||
0x060320B8,
|
||||
0x0603216C,
|
||||
},
|
||||
{
|
||||
{ -1200.0f, 0.0f, -1315.0f },
|
||||
{ 1403.0f, 200.0f, 1308.0f },
|
||||
8,
|
||||
0x06031FB0,
|
||||
0x06031FE0,
|
||||
},
|
||||
{
|
||||
{ -600.0f, 0.0f, -657.0f },
|
||||
{ 701.0f, 100.0f, 654.0f },
|
||||
8,
|
||||
0x06031FB0,
|
||||
0x0603204C,
|
||||
},
|
||||
{
|
||||
{ -2965.0f, -16.0f, -2965.0f },
|
||||
{ 2965.0f, 544.0f, 2965.0f },
|
||||
14,
|
||||
0x0302F044,
|
||||
0x0302F098,
|
||||
},
|
||||
{
|
||||
{ -814.0f, 0.0f, -691.0f },
|
||||
{ 814.0f, 752.0f, 691.0f },
|
||||
28,
|
||||
0x06032388,
|
||||
0x06032430,
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,47 @@
|
||||
#include "global.h"
|
||||
|
||||
void func_800A3CA0(void) {
|
||||
Matrix_Push(&gGfxMatrix);
|
||||
Matrix_LookAt(gGfxMatrix, D_80177978, D_80177980, D_80177988, D_801779A0, D_801779B8, D_801779C0, 0.0f, 1.0f, 0.0f,
|
||||
1);
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -200.0f, 1);
|
||||
Matrix_RotateY(gGfxMatrix, gChangedInput[D_801778A0].stick_x * 0.017453292f, 1);
|
||||
Matrix_RotateX(gGfxMatrix, gChangedInput[D_801778A0].stick_y * 0.017453292f, 1);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
RCP_SetupDL_23();
|
||||
Matrix_Pop(&gGfxMatrix);
|
||||
}
|
||||
|
||||
void func_800A3E00(void) {
|
||||
switch (D_80177868) {
|
||||
case 0:
|
||||
if (D_8017783C == 0) {
|
||||
D_80177868 = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
D_80177868 = 2;
|
||||
D_80177898 = 7;
|
||||
D_801779B8 = 0.0f;
|
||||
D_801779A0 = D_801779B8;
|
||||
D_80177988 = D_801779A0;
|
||||
D_80177980 = D_80177988;
|
||||
D_80177978 = D_80177980;
|
||||
D_801779C0 = -10.0f;
|
||||
break;
|
||||
case 2:
|
||||
if ((gChangedInput[0].button & START_BUTTON) || (gChangedInput[1].button & START_BUTTON)) {
|
||||
func_8001D638(0);
|
||||
D_80177868 = 3;
|
||||
D_80177898 = 0;
|
||||
func_800A5844();
|
||||
D_8017783C = 0;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (D_8017783C == 0) {
|
||||
D_80177854 = 2;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "global.h"
|
||||
|
||||
char D_801619A0[100];
|
||||
|
||||
char* Graphics_ClearPrintBuffer(char* buf, s32 fill, s32 len) {
|
||||
s32 i;
|
||||
char* ptr = buf;
|
||||
|
||||
+400
-400
File diff suppressed because it is too large
Load Diff
+13
-6
@@ -1,5 +1,12 @@
|
||||
#include "global.h"
|
||||
|
||||
Vec3f D_801615D0;
|
||||
Vec3f D_801615E0;
|
||||
s32 D_801615EC;
|
||||
Matrix D_801615F0;
|
||||
UnkStruct_D_80161630 D_80161630;
|
||||
s32 D_80161670[4];
|
||||
|
||||
char D_800CF970[] = "$Id: fox_edisplay.c,v 1.196 1997/05/08 08:31:50 morita Exp $";
|
||||
|
||||
void func_800596C0(void) {
|
||||
@@ -937,7 +944,7 @@ void func_8005D654(Object_80* arg0, s32 arg1) {
|
||||
if (arg1 < 0) {
|
||||
func_800596C0();
|
||||
}
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.draw);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList);
|
||||
RCP_SetupDL_29(D_80178320, D_80178328, D_80178330, D_80178338, D_801783D8, D_801783DC);
|
||||
} else {
|
||||
if (arg0->obj.id == 8) {
|
||||
@@ -950,7 +957,7 @@ void func_8005D654(Object_80* arg0, s32 arg1) {
|
||||
if (arg1 < 0) {
|
||||
func_800596C0();
|
||||
}
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.draw);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList);
|
||||
if (arg0->obj.id == 8) {
|
||||
RCP_SetupDL_29(D_80178320, D_80178328, D_80178330, D_80178338, D_801783D8, D_801783DC);
|
||||
}
|
||||
@@ -967,7 +974,7 @@ void func_8005D8B8(Object_4C* arg0, s32 arg1) {
|
||||
func_8005D008(&arg0->obj, 0);
|
||||
arg0->obj.pos.y -= D_8017847C;
|
||||
if (arg0->unk_1C.drawType == 0) {
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.draw);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList);
|
||||
} else if (arg0->unk_1C.draw != NULL) {
|
||||
arg0->unk_1C.draw(&arg0->obj);
|
||||
}
|
||||
@@ -1000,7 +1007,7 @@ void func_8005D954(Object_2F4* arg0) {
|
||||
func_8005D008(&arg0->obj, arg0->unk_01C.drawType);
|
||||
}
|
||||
if (arg0->unk_01C.drawType == 0) {
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_01C.draw);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_01C.dList);
|
||||
func_8005F1EC(&arg0->unk_100);
|
||||
} else {
|
||||
arg0->unk_01C.draw(&arg0->obj);
|
||||
@@ -1251,7 +1258,7 @@ void func_8005E7B8(Object_6C* arg0, s32 arg1) {
|
||||
Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
if (arg0->unk_1C.drawType == 0) {
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.draw);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList);
|
||||
} else {
|
||||
arg0->unk_1C.draw(&arg0->obj);
|
||||
}
|
||||
@@ -1450,7 +1457,7 @@ void func_8005F2F4(Object_58* arg0) {
|
||||
} else {
|
||||
Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1);
|
||||
Matrix_SetGfxMtx(&gMasterDisp);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.draw);
|
||||
gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+16
-13
@@ -1,5 +1,8 @@
|
||||
#include "global.h"
|
||||
|
||||
s32 D_80161680;
|
||||
u8 D_80161684;
|
||||
|
||||
ObjectInit* D_800CFDA0[] = {
|
||||
0x060371A4, 0x06026CC4, 0x0602A164, 0x06023F64, 0x060287A4, 0x0602E4F4, 0x06007E74,
|
||||
0x0601F234, 0x06026714, 0x0C035154, 0x06006AA4, 0x06031000, 0x06006C60, 0x0602E5C8,
|
||||
@@ -707,23 +710,23 @@ s32 func_8006326C(Vec3f* arg0, Vec3f* arg1, s32 arg2, Object* arg3) {
|
||||
sp50.x = arg3->pos.x;
|
||||
sp50.y = arg3->pos.y;
|
||||
sp50.z = arg3->pos.z;
|
||||
if ((arg2 == 0xB4) || (arg2 == 0x95) || (arg2 == 0x96) || (arg2 == 0x134) || (arg2 == 0x139) ||
|
||||
(arg2 == 0x138) || (arg2 == 0x135) || (arg2 == 0x27)) {
|
||||
if ((arg2 == 180) || (arg2 == 149) || (arg2 == 150) || (arg2 == 308) || (arg2 == 313) || (arg2 == 312) ||
|
||||
(arg2 == 309) || (arg2 == 39)) {
|
||||
var_s1 = 0;
|
||||
if (arg2 == 0x138) {
|
||||
if (arg2 == 312) {
|
||||
var_s1 = 9;
|
||||
}
|
||||
if (arg2 == 0x27) {
|
||||
if (arg2 == 39) {
|
||||
var_s1 = 1;
|
||||
} else if (arg2 == 0x134) {
|
||||
} else if (arg2 == 308) {
|
||||
var_s1 = 4;
|
||||
} else if (arg2 == 0x135) {
|
||||
} else if (arg2 == 309) {
|
||||
var_s1 = 7;
|
||||
} else if (arg2 == 0x95) {
|
||||
} else if (arg2 == 149) {
|
||||
var_s1 = 5;
|
||||
} else if (arg2 == 0x96) {
|
||||
} else if (arg2 == 150) {
|
||||
var_s1 = 6;
|
||||
} else if (arg2 == 0x139) {
|
||||
} else if (arg2 == 313) {
|
||||
var_s1 = 8;
|
||||
}
|
||||
if (func_800998FC(&sp5C, &sp50, arg1, var_s1, &sp44, &sp30) > 0) {
|
||||
@@ -737,14 +740,14 @@ s32 func_8006326C(Vec3f* arg0, Vec3f* arg1, s32 arg2, Object* arg3) {
|
||||
if (arg2 == 3) {
|
||||
var_s1 = 3;
|
||||
}
|
||||
if (arg2 == 0x8C) {
|
||||
if (arg2 == 140) {
|
||||
var_s1 = 4;
|
||||
}
|
||||
if (arg2 == 0x8D) {
|
||||
if (arg2 == 141) {
|
||||
var_s1 = 6;
|
||||
}
|
||||
if (arg2 == 0x75) {
|
||||
var_s1 = 0xE;
|
||||
if (arg2 == 117) {
|
||||
var_s1 = 14;
|
||||
} else if ((arg2 == 4) || (arg2 == 5)) {
|
||||
var_s1 = 1;
|
||||
}
|
||||
|
||||
+12
-6
@@ -1,10 +1,16 @@
|
||||
#include "global.h"
|
||||
|
||||
extern f32 D_80177D38;
|
||||
extern s32 D_801782AC;
|
||||
extern s32 D_801782B4;
|
||||
extern s32 D_80178744;
|
||||
extern s32 D_80178748;
|
||||
u16** D_80178720;
|
||||
s32 D_80178724;
|
||||
s32 D_80178728;
|
||||
s32 D_8017872C;
|
||||
f32 D_80178730;
|
||||
f32 D_80178734;
|
||||
f32 D_80178738;
|
||||
f32 D_8017873C;
|
||||
f32 D_80178740;
|
||||
s32 D_80178744;
|
||||
s32 D_80178748;
|
||||
|
||||
s32 D_800D4A70 = 0;
|
||||
|
||||
@@ -700,7 +706,7 @@ void func_800BB5D0(void) {
|
||||
}
|
||||
}
|
||||
#else
|
||||
extern s32 D_8017874C;
|
||||
s32 D_8017874C;
|
||||
void func_800BB5D0(void);
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_radio/func_800BB5D0.s")
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
#include "fox_rcp_setup.c"
|
||||
|
||||
u8 D_80178580[0x190];
|
||||
void* D_80178710;
|
||||
|
||||
void RCP_SetupDL(Gfx** gfxP, s16 i) {
|
||||
gSPDisplayList((*gfxP)++, &((Gfx*) gSetupDLs)[i * 9]);
|
||||
}
|
||||
|
||||
+1
-1
@@ -242,7 +242,7 @@ void Graphics_InitializeTask(u32 frameCount) {
|
||||
gGfxMatrix = &sGfxMatrixStack[0];
|
||||
gCalcMatrix = &sCalcMatrixStack[0];
|
||||
|
||||
D_80178710 = &D_80178580;
|
||||
D_80178710 = &D_80178580[0];
|
||||
}
|
||||
|
||||
void Main_SetVIMode(void) {
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80097380.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80097558.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80097730.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_800978C4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_800979E8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80097C88.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_8009808C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_800985CC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80098860.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_800988B4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_800988F8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_8009893C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80098980.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_80099254.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_97F80/func_800998FC.s")
|
||||
@@ -1,7 +0,0 @@
|
||||
#include "common.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A4290/func_800A3690.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A4290/func_800A36FC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A4290/func_800A3A74.s")
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user