mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-01-23 13:35:11 +03:00
a bunch of graphics related functions and data importation (#31)
* graphics? * more stuff * missed one * headers * data import and such
This commit is contained in:
parent
d6fc56adc0
commit
0205789a28
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -40,6 +40,8 @@
|
|||||||
"dfee30.h": "c",
|
"dfee30.h": "c",
|
||||||
"df4260.h": "c",
|
"df4260.h": "c",
|
||||||
"symbol_addrs_overlays": "cpp",
|
"symbol_addrs_overlays": "cpp",
|
||||||
|
"string.h": "c",
|
||||||
|
"stdarg.h": "c",
|
||||||
"fox_option.h": "c",
|
"fox_option.h": "c",
|
||||||
"cstdlib": "c",
|
"cstdlib": "c",
|
||||||
"typeinfo": "c",
|
"typeinfo": "c",
|
||||||
|
@ -10,6 +10,8 @@ void Controller_ReadData(void);
|
|||||||
void Save_ReadData(void);
|
void Save_ReadData(void);
|
||||||
void Save_WriteData(void);
|
void Save_WriteData(void);
|
||||||
void Controller_Rumble(void);
|
void Controller_Rumble(void);
|
||||||
|
|
||||||
|
s32 Lib_vsPrintf(char* dst, const char* fmt, va_list args);
|
||||||
void Lib_Perspective(Gfx** dList);
|
void Lib_Perspective(Gfx** dList);
|
||||||
void Lib_Ortho(Gfx** dList);
|
void Lib_Ortho(Gfx** dList);
|
||||||
void Lib_DmaRead(void* src, void* dst, s32 size);
|
void Lib_DmaRead(void* src, void* dst, s32 size);
|
||||||
@ -117,7 +119,7 @@ f32 func_8001FBC8(f32);
|
|||||||
|
|
||||||
void RdRam_CheckIPL3(void);
|
void RdRam_CheckIPL3(void);
|
||||||
void Mio0_Decompress(void* header, u8* dst);
|
void Mio0_Decompress(void* header, u8* dst);
|
||||||
s32 vsprintf(char* dst, char* fmt, va_list args);
|
s32 vsprintf(char* dst, const char* fmt, va_list args);
|
||||||
|
|
||||||
f32 Math_FAtanF(f32);
|
f32 Math_FAtanF(f32);
|
||||||
f32 Math_FAtan2F(f32, f32);
|
f32 Math_FAtan2F(f32, f32);
|
||||||
@ -257,25 +259,6 @@ s32 func_8009092C(Object_2F4*);
|
|||||||
s32 func_800915FC(Object_2F4*);
|
s32 func_800915FC(Object_2F4*);
|
||||||
void func_80092D48(Object_2F4 *);
|
void func_80092D48(Object_2F4 *);
|
||||||
void func_80094D20(f32, f32);
|
void func_80094D20(f32, f32);
|
||||||
s32 func_800998FC(Vec3f*, Vec3f*, s32, s32, Vec3f*, Vec3f*);
|
|
||||||
void func_8009A72C(s32, void*, Vec3f*, OverrideLimbDraw, PostLimbDraw, s32*, Matrix*);
|
|
||||||
void func_8009AA20(void*, s32, Vec3f*);
|
|
||||||
s16 func_8009ACDC(s16 *);
|
|
||||||
f32 func_8009BC2C(f32*, f32, f32, f32, f32);
|
|
||||||
f32 func_8009BD38(f32*, f32, f32, f32, f32);
|
|
||||||
void func_8009C320(Gfx **, void *, void *, u32, u32, f32, f32, f32, f32);
|
|
||||||
void func_8009D0BC(Gfx**, void*, void*, u32, u32, f32, f32, f32, f32);
|
|
||||||
void func_8009D418(Gfx**, void*, u32, u32, f32, f32, f32, f32);
|
|
||||||
void func_8009D994(Gfx**, void*, u32, u32, f32, f32, f32, f32);
|
|
||||||
void func_8009E4B0(Gfx**, void*, u32, u32, f32, f32, f32, f32);
|
|
||||||
void func_8009F574(Gfx **, s32, s32, s32, s32, u8, u8, u8, u8);
|
|
||||||
void func_8009F6CC(Vec3f*, f32, f32, f32);
|
|
||||||
f32 func_8009F768(f32);
|
|
||||||
void func_8009FC0C(s32, s32, s32);
|
|
||||||
void func_8009FEA0(s32, s32, s32);
|
|
||||||
void func_800A0094(s32, s32, f32, f32, u8 *);
|
|
||||||
void func_800A1200(s32, s32, f32, f32, char*);
|
|
||||||
s32 func_800A13EC(s8*);
|
|
||||||
void func_800A18B0(void);
|
void func_800A18B0(void);
|
||||||
void func_800A1980(void);
|
void func_800A1980(void);
|
||||||
s32 func_800A1B6C(void);
|
s32 func_800A1B6C(void);
|
||||||
|
@ -1,9 +1,25 @@
|
|||||||
#ifndef GFX_H
|
#ifndef GFX_H
|
||||||
#define GFX_H
|
#define GFX_H
|
||||||
|
|
||||||
|
#include "libultra/ultra64.h"
|
||||||
|
#include "sf64math.h"
|
||||||
|
|
||||||
#define SCREEN_WIDTH 320
|
#define SCREEN_WIDTH 320
|
||||||
#define SCREEN_HEIGHT 240
|
#define SCREEN_HEIGHT 240
|
||||||
|
|
||||||
|
#define RGBA16_RED(color16) (((color16) >> 0xB) & 0x1F)
|
||||||
|
#define RGBA16_GRN(color16) (((color16) >> 6) & 0x1F)
|
||||||
|
#define RGBA16_BLU(color16) (((color16) >> 1) & 0x1F)
|
||||||
|
// unclear what the right macro for this is
|
||||||
|
// #define RGBA16_PACK(r, g, b, a) (((u16) ((r) * 0x800) & 0xF800) | ((u16) ((g) * 0x40) & 0x7C0) | ((u16) ((b) * 2) & 0x3E) | ((a) & 1))
|
||||||
|
|
||||||
|
#define gSPSetOtherModeHi(pkt, settings) gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)
|
||||||
|
#define gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)
|
||||||
|
|
||||||
|
#define VTX(x,y,z,s,t,crnx,cgny,cbnz,a) { { { x, y, z }, 0, { s, t }, { crnx, cgny, cbnz, a } } }
|
||||||
|
|
||||||
|
#define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } }
|
||||||
|
|
||||||
typedef enum SetupDL {
|
typedef enum SetupDL {
|
||||||
/* 0x00 */ SETUPDL_0,
|
/* 0x00 */ SETUPDL_0,
|
||||||
/* 0x01 */ SETUPDL_1,
|
/* 0x01 */ SETUPDL_1,
|
||||||
@ -98,6 +114,80 @@ typedef enum SetupDL {
|
|||||||
|
|
||||||
extern Gfx gSetupDLs[SETUPDL_MAX][9]; // 0x800D31B0
|
extern Gfx gSetupDLs[SETUPDL_MAX][9]; // 0x800D31B0
|
||||||
|
|
||||||
|
typedef s32 (*OverrideLimbDraw)(s32, Gfx**, Vec3f*, Vec3f*, void*);
|
||||||
|
typedef void (*PostLimbDraw)(s32, Vec3f*, void*);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x0 */ u16 xLen;
|
||||||
|
/* 0x2 */ u16 x;
|
||||||
|
/* 0x4 */ u16 yLen;
|
||||||
|
/* 0x6 */ u16 y;
|
||||||
|
/* 0x8 */ u16 zLen;
|
||||||
|
/* 0xA */ u16 z;
|
||||||
|
} JointKey; // size = 0xC
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x00 */ s16 frameCount;
|
||||||
|
/* 0x02 */ s16 limbCount;
|
||||||
|
/* 0x04 */ u16* frameData;
|
||||||
|
/* 0x08 */ JointKey* jointKey;
|
||||||
|
} AnimationHeader; // size = 0xC
|
||||||
|
|
||||||
|
typedef struct Limb {
|
||||||
|
/* 0x000 */ Gfx* dList;
|
||||||
|
/* 0x004 */ Vec3f trans;
|
||||||
|
/* 0x010 */ Vec3s rot;
|
||||||
|
/* 0x018 */ struct Limb* sibling;
|
||||||
|
/* 0x01C */ struct Limb* child;
|
||||||
|
} Limb; // size = 0x20
|
||||||
|
|
||||||
|
char* func_80099980(char *buf, s32 fill, s32 len);
|
||||||
|
s32 func_800999D8(const char *fmt, ...);
|
||||||
|
void func_80099A2C(void *texture, s32 width, s32 height, u8 mode);
|
||||||
|
void func_80099E28(void *dst, void *src, u8 mode);
|
||||||
|
s32 func_8009A400(Limb* limb, Limb** skeleton);
|
||||||
|
void func_8009A440(s32 mode, Limb * limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
|
||||||
|
void func_8009A72C(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data, Matrix* transform);
|
||||||
|
s16 func_8009AA20(AnimationHeader *animationSegmemt, s32 frame, Vec3f *frameTable);
|
||||||
|
s16 func_8009ACDC(AnimationHeader *animationSegment);
|
||||||
|
void func_8009AD18(Gfx* dList, s32 len, Vec3f *min, Vec3f *max, s32 *vtxFound, s32 *vtxCount, Vtx* *vtxList);
|
||||||
|
void func_8009B74C(Gfx *dList, s32 len, Vec3f *min, Vec3f *max);
|
||||||
|
void func_8009B784(Limb **skeletonSegment, AnimationHeader *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
|
||||||
|
f32 func_8009BC2C(f32 *value, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||||
|
f32 func_8009BD38(f32 *angle, f32 target, f32 scale, f32 maxStep, f32 minStep);
|
||||||
|
void func_8009BEEC(Vec3f *src, Vec3f *dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep);
|
||||||
|
s32 func_8009C124(Vec3f *pos, Vec3f *target, Vec3f *rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist);
|
||||||
|
void func_8009C320(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009C674(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009C9C8(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009CD3C(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009D0BC(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009D418(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009D6CC(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009D994(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009DC4C(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009DF14(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009E1E8(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009E4B0(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009E784(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009EA38(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009ED04(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009EFDC(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009F2C0(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||||
|
void func_8009F574(Gfx **gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a);
|
||||||
|
void func_8009F6CC(Vec3f *step, f32 xRot, f32 yRot, f32 stepsize);
|
||||||
|
f32 func_8009F768(f32 rAngle);
|
||||||
|
s32* func_8009F7B4(Gfx **gfxPtr, u8 width, u8 height);
|
||||||
|
void func_8009FC0C(s32 xPos, s32 yPos, s32 number);
|
||||||
|
void func_8009FEA0(s32 xPos, s32 yPos, s32 number);
|
||||||
|
void func_800A0094(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||||
|
s32 func_800A06F8(char *text);
|
||||||
|
void func_800A100C(s32 xPos, s32 yPos, s32 number);
|
||||||
|
void func_800A1200(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char *text);
|
||||||
|
s32 func_800A13EC(char *text);
|
||||||
|
void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||||
|
void func_800A1558(f32 weight, u16 size, void *src1, void *src2, void *dst);
|
||||||
|
|
||||||
void func_800B8DD0(Gfx** gfxP, s16 i);
|
void func_800B8DD0(Gfx** gfxP, s16 i);
|
||||||
void func_800B8E14(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
void func_800B8E14(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
||||||
void func_800B8F18(void);
|
void func_800B8F18(void);
|
||||||
|
@ -35,29 +35,27 @@ void func_8008DC34(void);
|
|||||||
void func_8008E5E8(void);
|
void func_8008E5E8(void);
|
||||||
s32 func_80090E8C(Object_2F4* arg0);
|
s32 func_80090E8C(Object_2F4* arg0);
|
||||||
s32 func_800910C0(Object_2F4* arg0);
|
s32 func_800910C0(Object_2F4* arg0);
|
||||||
void func_8009D0BC(Gfx**, void*, void*, u32, u32, f32, f32, f32, f32);
|
|
||||||
void func_8009E1E8(Gfx**, u16*, s32, s32, f32, f32, f32, f32);
|
|
||||||
|
|
||||||
// Weird addresses, assets maybe?
|
// Weird addresses, assets maybe?
|
||||||
extern u16 D_1000E80[];
|
extern u16 D_1000E80[];
|
||||||
extern u16 D_1002280[];
|
extern u16 D_1002280[];
|
||||||
extern u16 D_10030D0[];
|
extern u16 D_10030D0[];
|
||||||
extern s32 D_1011280;
|
extern s32 D_1011280[];
|
||||||
extern s32 D_10116A0;
|
extern s32 D_10116A0[];
|
||||||
extern s32 D_10116B0;
|
extern s32 D_10116B0[];
|
||||||
extern s32 D_1011730;
|
extern s32 D_1011730[];
|
||||||
extern s32 D_1011AC0;
|
extern s32 D_1011AC0[];
|
||||||
extern s32 D_1011B90;
|
extern s32 D_1011B90[];
|
||||||
extern s32 D_1011BB0;
|
extern s32 D_1011BB0[];
|
||||||
extern s32 D_1011C80;
|
extern s32 D_1011C80[];
|
||||||
extern s32 D_1011CA0;
|
extern s32 D_1011CA0[];
|
||||||
extern s32 D_1011D70;
|
extern s32 D_1011D70[];
|
||||||
extern s32 D_1011D90;
|
extern s32 D_1011D90[];
|
||||||
extern s32 D_1011E60;
|
extern s32 D_1011E60[];
|
||||||
extern s32 D_1013170[];
|
extern s32 D_1013170[];
|
||||||
extern s32 D_1013570[];
|
extern s32 D_1013570[];
|
||||||
extern s32 D_1013580;
|
extern s32 D_1013580[];
|
||||||
extern s32 D_1013700;
|
extern s32 D_1013700[];
|
||||||
extern s32 D_20031B0[];
|
extern s32 D_20031B0[];
|
||||||
extern s32 D_2010A30[];
|
extern s32 D_2010A30[];
|
||||||
extern u16 D_3000B20[];
|
extern u16 D_3000B20[];
|
||||||
|
@ -9,6 +9,12 @@ typedef struct {
|
|||||||
/* 0x8 */ f32 z;
|
/* 0x8 */ f32 z;
|
||||||
} Vec3f; // size = 0xC
|
} Vec3f; // size = 0xC
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x0 */ s16 x;
|
||||||
|
/* 0x2 */ s16 y;
|
||||||
|
/* 0x4 */ s16 z;
|
||||||
|
} Vec3s; // size = 0x6;
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
float m[4][4];
|
float m[4][4];
|
||||||
struct {
|
struct {
|
||||||
|
@ -6,9 +6,6 @@
|
|||||||
|
|
||||||
#define UNK_TYPE s32
|
#define UNK_TYPE s32
|
||||||
|
|
||||||
typedef s32 (*OverrideLimbDraw)(s32, Gfx**, Vec3f*, Vec3f*, s32*);
|
|
||||||
typedef void (*PostLimbDraw)(s32, Vec3f*, s32*);
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
s32 unk0;
|
s32 unk0;
|
||||||
u16* unk4;
|
u16* unk4;
|
||||||
@ -43,8 +40,9 @@ typedef struct {
|
|||||||
/* 0x30 */ s32 value;
|
/* 0x30 */ s32 value;
|
||||||
} TimerTask; // size = 0x38, 0x8 aligned
|
} TimerTask; // size = 0x38, 0x8 aligned
|
||||||
|
|
||||||
typedef struct {
|
typedef union {
|
||||||
u16 data[240 * 320];
|
u16 data[240 * 320];
|
||||||
|
u16 array[240][320];
|
||||||
} FrameBuffer; // size = 0x25800
|
} FrameBuffer; // size = 0x25800
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -84,8 +82,8 @@ typedef struct{
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ union {
|
/* 0x00 */ union {
|
||||||
SaveData data;
|
u8 raw[sizeof(SaveData)];
|
||||||
u8 raw[sizeof(SaveData)];
|
SaveData data;
|
||||||
};
|
};
|
||||||
/* 0xFE */ u16 checksum;
|
/* 0xFE */ u16 checksum;
|
||||||
} Save; // size = 0x100
|
} Save; // size = 0x100
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#define VARIABLES_H
|
#define VARIABLES_H
|
||||||
|
|
||||||
#include "structs.h"
|
#include "structs.h"
|
||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
extern u64 __rspboot_start[];
|
extern u64 __rspboot_start[];
|
||||||
extern u64 __rspboot_end[];
|
extern u64 __rspboot_end[];
|
||||||
@ -100,7 +101,7 @@ extern Gfx* gMasterDisp;
|
|||||||
extern Gfx* gUnkDisp2;
|
extern Gfx* gUnkDisp2;
|
||||||
extern Lightsn* gLight;
|
extern Lightsn* gLight;
|
||||||
extern FrameBuffer *gFrameBuffer;
|
extern FrameBuffer *gFrameBuffer;
|
||||||
extern s32* D_80137E74;
|
extern u16* D_80137E74;
|
||||||
|
|
||||||
// some sort of struct?
|
// some sort of struct?
|
||||||
extern u8 D_80137E78;
|
extern u8 D_80137E78;
|
||||||
@ -179,7 +180,7 @@ extern Gfx* D_800CFC40[];
|
|||||||
extern Gfx* D_800CFC50[];
|
extern Gfx* D_800CFC50[];
|
||||||
extern Gfx* D_800CFC64[];
|
extern Gfx* D_800CFC64[];
|
||||||
extern Gfx* D_800CFC7C[];
|
extern Gfx* D_800CFC7C[];
|
||||||
extern f32 D_800CFC98[];
|
extern f32 D_800CFCA0[];
|
||||||
extern Vec3f D_800CFCC0; // initializer in sf_5A240
|
extern Vec3f D_800CFCC0; // initializer in sf_5A240
|
||||||
extern f32 D_800CFCCC[];
|
extern f32 D_800CFCCC[];
|
||||||
extern Vec3f D_800CFCEC;
|
extern Vec3f D_800CFCEC;
|
||||||
@ -189,8 +190,8 @@ extern Vec3f D_800CFD10;
|
|||||||
extern Vec3f D_800CFD1C;
|
extern Vec3f D_800CFD1C;
|
||||||
extern Vec3f D_800CFD28;
|
extern Vec3f D_800CFD28;
|
||||||
extern Vec3f D_800CFD34;
|
extern Vec3f D_800CFD34;
|
||||||
extern ObjectInit* D_800CFDA0[];
|
|
||||||
extern Gfx D_800CFD80[];
|
extern Gfx D_800CFD80[];
|
||||||
|
extern ObjectInit* D_800CFDA0[];
|
||||||
extern s32 D_800CFDF4[];
|
extern s32 D_800CFDF4[];
|
||||||
extern f32 D_800CFE5C[];
|
extern f32 D_800CFE5C[];
|
||||||
extern Vec3f D_800CFEC4[6];
|
extern Vec3f D_800CFEC4[6];
|
||||||
@ -218,13 +219,9 @@ extern s32 D_800D2884[];
|
|||||||
extern s32 D_800D2894[];
|
extern s32 D_800D2894[];
|
||||||
extern s32 D_800D28A4[];
|
extern s32 D_800D28A4[];
|
||||||
extern s32 D_800D28B4[];
|
extern s32 D_800D28B4[];
|
||||||
extern u8 D_800D2908;
|
|
||||||
extern u8 D_800D290C;
|
|
||||||
extern u8 D_800D2910;
|
|
||||||
extern u8 D_800D2914;
|
|
||||||
extern u8 D_800D3180[0x1E];
|
extern u8 D_800D3180[0x1E];
|
||||||
extern s32 D_800D4A70;
|
extern s32 D_800D4A70;
|
||||||
extern Save D_800D4D10;
|
extern Save gDefaultSave;
|
||||||
|
|
||||||
extern s32 D_8015F924;
|
extern s32 D_8015F924;
|
||||||
extern s32 D_8015F928;
|
extern s32 D_8015F928;
|
||||||
@ -266,6 +263,7 @@ extern s32 D_801617B0;
|
|||||||
extern s32 D_801617B4;
|
extern s32 D_801617B4;
|
||||||
extern s32 D_801617B8;
|
extern s32 D_801617B8;
|
||||||
extern s32 D_80161810[];
|
extern s32 D_80161810[];
|
||||||
|
extern char D_801619A0[100];
|
||||||
extern f32 D_80161A10;
|
extern f32 D_80161A10;
|
||||||
extern f32 D_80161A14;
|
extern f32 D_80161A14;
|
||||||
extern u8 D_80161A2C;
|
extern u8 D_80161A2C;
|
||||||
@ -474,6 +472,7 @@ extern u16 D_Tex_800D99F8[];
|
|||||||
extern u16 D_Tex_800DBA20[];
|
extern u16 D_Tex_800DBA20[];
|
||||||
extern Gfx D_Gfx_800DBAA0[];
|
extern Gfx D_Gfx_800DBAA0[];
|
||||||
extern Gfx D_Gfx_800DAC20[];
|
extern Gfx D_Gfx_800DAC20[];
|
||||||
|
extern Gfx D_Gfx_800D9688[];
|
||||||
|
|
||||||
extern DmaEntry gDmaTable[]; // 178A70
|
extern DmaEntry gDmaTable[]; // 178A70
|
||||||
extern u8 D_80179010[][16 * 13 / 2];
|
extern u8 D_80179010[][16 * 13 / 2];
|
||||||
@ -698,7 +697,6 @@ extern Gfx D_60148D0[];
|
|||||||
extern Gfx D_60148B0[];
|
extern Gfx D_60148B0[];
|
||||||
extern Gfx D_601AE40[];
|
extern Gfx D_601AE40[];
|
||||||
extern Gfx D_6023AC0[];
|
extern Gfx D_6023AC0[];
|
||||||
extern s16 D_6029528[];
|
|
||||||
extern Gfx D_602A720[];
|
extern Gfx D_602A720[];
|
||||||
extern Gfx D_602DA20[];
|
extern Gfx D_602DA20[];
|
||||||
extern Gfx D_602E380[];
|
extern Gfx D_602E380[];
|
||||||
@ -724,7 +722,7 @@ extern Gfx D_6036840[];
|
|||||||
extern Gfx D_6036CD0[];
|
extern Gfx D_6036CD0[];
|
||||||
extern Gfx D_6022920[];
|
extern Gfx D_6022920[];
|
||||||
extern Gfx D_6020B40[];
|
extern Gfx D_6020B40[];
|
||||||
extern UNK_TYPE D_6029674;
|
extern Limb* D_6029674[];
|
||||||
extern ObjectInit* D_6010088[];
|
extern ObjectInit* D_6010088[];
|
||||||
extern u8 D_6010090[];
|
extern u8 D_6010090[];
|
||||||
extern u8 D_60106B0[];
|
extern u8 D_60106B0[];
|
||||||
@ -732,13 +730,13 @@ extern u8 D_6010FA0[];
|
|||||||
extern u8 D_6013470[];
|
extern u8 D_6013470[];
|
||||||
extern u16 D_601B4B0[];
|
extern u16 D_601B4B0[];
|
||||||
extern Gfx D_601D1F0[];
|
extern Gfx D_601D1F0[];
|
||||||
|
extern AnimationHeader D_6029528;
|
||||||
extern u8 D_601D750[];
|
extern u8 D_601D750[];
|
||||||
extern u16 D_601DB50[];
|
extern u16 D_601DB50[];
|
||||||
extern s16 D_6029528[];
|
|
||||||
extern ObjectInit* D_602B148[];
|
extern ObjectInit* D_602B148[];
|
||||||
extern ObjectInit* D_602F18C[];
|
extern ObjectInit* D_602F18C[];
|
||||||
extern UNK_TYPE D_601E8C4;
|
extern AnimationHeader D_601E8C4;
|
||||||
extern UNK_TYPE D_601E9D0;
|
extern Limb* D_601E9D0[];
|
||||||
extern Gfx D_6018C00[];
|
extern Gfx D_6018C00[];
|
||||||
extern Gfx D_6018D40[];
|
extern Gfx D_6018D40[];
|
||||||
extern Gfx D_6024B60[];
|
extern Gfx D_6024B60[];
|
||||||
@ -763,7 +761,6 @@ extern u8 D_8003A70[];
|
|||||||
extern u8 D_8003AB8[];
|
extern u8 D_8003AB8[];
|
||||||
extern u8 D_8003AE0[];
|
extern u8 D_8003AE0[];
|
||||||
extern u8 D_8003B28[];
|
extern u8 D_8003B28[];
|
||||||
|
|
||||||
extern u8 D_800D070[];
|
extern u8 D_800D070[];
|
||||||
extern u8 D_800D170[];
|
extern u8 D_800D170[];
|
||||||
|
|
||||||
@ -772,7 +769,6 @@ extern Gfx D_9010FD0[];
|
|||||||
extern Gfx D_9023290[];
|
extern Gfx D_9023290[];
|
||||||
extern Gfx D_90234D0[];
|
extern Gfx D_90234D0[];
|
||||||
|
|
||||||
extern ObjectInit* D_C0356A4[];
|
|
||||||
extern ObjectInit* D_C0356A4[];
|
extern ObjectInit* D_C0356A4[];
|
||||||
extern Gfx D_C017440[];
|
extern Gfx D_C017440[];
|
||||||
|
|
||||||
|
@ -17,11 +17,14 @@ gDmaTable = 0x80178A70;
|
|||||||
D_800D3180 = 0x800D3180; // size:0x1E
|
D_800D3180 = 0x800D3180; // size:0x1E
|
||||||
gSetupDLs = 0x800D31B0; // size:0x18C0
|
gSetupDLs = 0x800D31B0; // size:0x18C0
|
||||||
|
|
||||||
|
D_800CFCA0 = 0x800CFCA0;
|
||||||
|
|
||||||
D_800DD900 = 0x800DD900; // size:0x1A0
|
D_800DD900 = 0x800DD900; // size:0x1A0
|
||||||
|
|
||||||
D_800CBDD4 = 0x800CBDD4; //size:0x98
|
D_800CBDD4 = 0x800CBDD4; //size:0x98
|
||||||
|
|
||||||
|
D_800D55D0 = 0x800D55D0; //type:f32
|
||||||
|
|
||||||
Save_Checksum = 0x800C2FB0;
|
Save_Checksum = 0x800C2FB0;
|
||||||
Save_Write = 0x800C3084;
|
Save_Write = 0x800C3084;
|
||||||
Save_Read = 0x800C3194;
|
Save_Read = 0x800C3194;
|
||||||
|
48
linker_scripts/us/symbol_addrs_engine.txt
Normal file
48
linker_scripts/us/symbol_addrs_engine.txt
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
func_80099980 = 0x80099980;
|
||||||
|
func_800999D8 = 0x800999D8;
|
||||||
|
func_80099A2C = 0x80099A2C;
|
||||||
|
func_80099E28 = 0x80099E28;
|
||||||
|
func_8009A400 = 0x8009A400;
|
||||||
|
func_8009A440 = 0x8009A440;
|
||||||
|
func_8009A72C = 0x8009A72C;
|
||||||
|
func_8009AA20 = 0x8009AA20;
|
||||||
|
func_8009ACDC = 0x8009ACDC;
|
||||||
|
func_8009AD18 = 0x8009AD18;
|
||||||
|
func_8009B74C = 0x8009B74C;
|
||||||
|
func_8009B784 = 0x8009B784;
|
||||||
|
func_8009BC2C = 0x8009BC2C;
|
||||||
|
func_8009BD38 = 0x8009BD38;
|
||||||
|
func_8009BEEC = 0x8009BEEC;
|
||||||
|
func_8009C124 = 0x8009C124;
|
||||||
|
func_8009C320 = 0x8009C320;
|
||||||
|
func_8009C674 = 0x8009C674;
|
||||||
|
func_8009C9C8 = 0x8009C9C8;
|
||||||
|
func_8009CD3C = 0x8009CD3C;
|
||||||
|
func_8009D0BC = 0x8009D0BC;
|
||||||
|
func_8009D418 = 0x8009D418;
|
||||||
|
func_8009D6CC = 0x8009D6CC;
|
||||||
|
func_8009D994 = 0x8009D994;
|
||||||
|
func_8009DC4C = 0x8009DC4C;
|
||||||
|
func_8009DF14 = 0x8009DF14;
|
||||||
|
func_8009E1E8 = 0x8009E1E8;
|
||||||
|
func_8009E4B0 = 0x8009E4B0;
|
||||||
|
func_8009E784 = 0x8009E784;
|
||||||
|
func_8009EA38 = 0x8009EA38;
|
||||||
|
func_8009ED04 = 0x8009ED04;
|
||||||
|
func_8009EFDC = 0x8009EFDC;
|
||||||
|
func_8009F2C0 = 0x8009F2C0;
|
||||||
|
func_8009F574 = 0x8009F574;
|
||||||
|
func_8009F6CC = 0x8009F6CC;
|
||||||
|
func_8009F768 = 0x8009F768;
|
||||||
|
func_8009F7B4 = 0x8009F7B4;
|
||||||
|
func_8009FC0C = 0x8009FC0C;
|
||||||
|
func_8009FEA0 = 0x8009FEA0;
|
||||||
|
func_800A0094 = 0x800A0094;
|
||||||
|
func_800A06F8 = 0x800A06F8;
|
||||||
|
func_800A100C = 0x800A100C;
|
||||||
|
func_800A1200 = 0x800A1200;
|
||||||
|
func_800A13EC = 0x800A13EC;
|
||||||
|
func_800A1540 = 0x800A1540;
|
||||||
|
func_800A1558 = 0x800A1558;
|
||||||
|
|
||||||
|
gDefaultSave = 0x800D4D10;
|
@ -1,5 +1,7 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
|
#include "fox_rcp_setup.c"
|
||||||
|
|
||||||
void func_800B8DD0(Gfx** gfxP, s16 i) {
|
void func_800B8DD0(Gfx** gfxP, s16 i) {
|
||||||
gSPDisplayList((*gfxP)++, &((Gfx*) gSetupDLs)[i * 9]);
|
gSPDisplayList((*gfxP)++, &((Gfx*) gSetupDLs)[i * 9]);
|
||||||
}
|
}
|
||||||
|
1180
src/main/fox_rcp_setup.c
Normal file
1180
src/main/fox_rcp_setup.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,27 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
SaveFile gSaveFile;
|
SaveFile gSaveFile;
|
||||||
|
Save gDefaultSave = {
|
||||||
|
{
|
||||||
|
// Replace with SaveData once that struct is complete
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||||
|
0x02, 0x03, 0x04, 0x00, 0x63, 0x63, 0x63, 0x46, 0x4F, 0x58, 0x50, 0x45, 0x50, 0x53, 0x4C, 0x50, 0x46,
|
||||||
|
0x41, 0x4C, 0x57, 0x4C, 0x46, 0x4C, 0x4F, 0x4E, 0x50, 0x49, 0x47, 0x41, 0x4E, 0x52, 0x42, 0x49, 0x4C,
|
||||||
|
0x4B, 0x41, 0x54, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x90, 0x09, 0x57, 0x09, 0xB7, 0x09, 0x87,
|
||||||
|
0x09, 0x37, 0x09, 0x17, 0x09, 0xF7, 0x5A, 0x90, 0x09, 0x54, 0x09, 0x64, 0x09, 0xD4, 0x09, 0x74, 0x09,
|
||||||
|
0x14, 0x09, 0xF4, 0x50, 0x90, 0x09, 0x02, 0x09, 0xC2, 0x09, 0x42, 0x09, 0xA2, 0x09, 0x22, 0x09, 0xE2,
|
||||||
|
0x46, 0x90, 0x09, 0x01, 0x09, 0xC1, 0x09, 0x41, 0x09, 0xA1, 0x09, 0x21, 0x09, 0xE1, 0x3C, 0x90, 0x09,
|
||||||
|
0x05, 0x09, 0xC5, 0x09, 0x45, 0x09, 0xA5, 0x09, 0x25, 0x09, 0xE5, 0x32, 0x90, 0x04, 0x03, 0x09, 0xC3,
|
||||||
|
0x09, 0x43, 0x09, 0xA3, 0x09, 0x23, 0x09, 0xE3, 0x28, 0x90, 0x01, 0x06, 0x02, 0xC6, 0x09, 0x46, 0x09,
|
||||||
|
0xA6, 0x09, 0x26, 0x09, 0xE6, 0x1E, 0x90, 0x01, 0x02, 0x01, 0xC4, 0x01, 0x47, 0x08, 0xA5, 0x09, 0x23,
|
||||||
|
0x09, 0xE6, 0x14, 0x90, 0x01, 0x03, 0x01, 0xC5, 0x01, 0x47, 0x01, 0xA4, 0x06, 0x22, 0x09, 0xE1, 0x0A,
|
||||||
|
0x90, 0x01, 0x07, 0x01, 0xC4, 0x01, 0x44, 0x01, 0xA2, 0x01, 0x21, 0x04, 0xE5, 0xFF, 0x09, 0x01, 0x02,
|
||||||
|
0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
|
||||||
|
},
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
|
||||||
u16 Save_Checksum(Save* arg0) {
|
u16 Save_Checksum(Save* arg0) {
|
||||||
u16 var_v1;
|
u16 var_v1;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
s32 Lib_vsPrintf(char* dst, char* fmt, va_list args) {
|
s32 Lib_vsPrintf(char* dst, const char* fmt, va_list args) {
|
||||||
return vsprintf(dst, fmt, args);
|
return vsprintf(dst, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ Gfx* gMasterDisp;
|
|||||||
Gfx* gUnkDisp2;
|
Gfx* gUnkDisp2;
|
||||||
Lightsn* gLight;
|
Lightsn* gLight;
|
||||||
FrameBuffer* gFrameBuffer;
|
FrameBuffer* gFrameBuffer;
|
||||||
s32* D_80137E74;
|
u16* D_80137E74;
|
||||||
|
|
||||||
u8 D_80137E78;
|
u8 D_80137E78;
|
||||||
u32 gFrameCounter;
|
u32 gFrameCounter;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
|
char D_800CF970[] = "$Id: fox_edisplay.c,v 1.196 1997/05/08 08:31:50 morita Exp $";
|
||||||
|
|
||||||
void func_800596C0(void) {
|
void func_800596C0(void) {
|
||||||
Matrix_RotateZ(gGfxMatrix, D_80177DB0 * 13.0f * M_DTOR, 1);
|
Matrix_RotateZ(gGfxMatrix, D_80177DB0 * 13.0f * M_DTOR, 1);
|
||||||
Matrix_Scale(gGfxMatrix, 1.02f, 0.98f, 1.0f, 1);
|
Matrix_Scale(gGfxMatrix, 1.02f, 0.98f, 1.0f, 1);
|
||||||
@ -48,6 +50,17 @@ void func_800599A4(s32 arg0, Vec3f* arg1, s32* arg2) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
f32 D_800CF9B0[] = {
|
||||||
|
-12.32422638f, -12.00849533f, -11.08310699f, -9.561470032f, -7.440753937f, -4.713317871f, -1.393303037f,
|
||||||
|
2.485869884f, 6.872662067f, 11.66899109f, 16.7521019f, 21.98126984f, 27.19302368f, 32.21533966f,
|
||||||
|
36.87569427f, 41.0078125f, 44.46230316f, 47.09422302f, 48.7610054f, 49.34596634f, 47.64530182f,
|
||||||
|
42.98818588f, 36.06262207f, 27.66272163f, 18.64647293f, 9.883304596f, 2.113918066f, -4.157948017f,
|
||||||
|
-8.673706055f, -11.39522171f, -12.32422638f,
|
||||||
|
};
|
||||||
|
f32 D_800CFA2C[] = {
|
||||||
|
1.0f, 1.0f, 0.95f, 0.9f, 0.85f, 0.8f, 0.75f, 0.7f, 0.65f, 0.6f,
|
||||||
|
};
|
||||||
|
|
||||||
void func_80059A24(Object_2F4* arg0) {
|
void func_80059A24(Object_2F4* arg0) {
|
||||||
Vec3f sp30[30];
|
Vec3f sp30[30];
|
||||||
f32 temp = D_800CF9B0[arg0->unk_0B6] - 114.0f;
|
f32 temp = D_800CF9B0[arg0->unk_0B6] - 114.0f;
|
||||||
@ -63,7 +76,7 @@ void func_80059AEC(Object_80* arg0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_80059B20(Object_80* arg0) {
|
void func_80059B20(Object_80* arg0) {
|
||||||
if (arg0->obj.id == 0x1D) {
|
if (arg0->obj.id == 29) {
|
||||||
gSPDisplayList(gMasterDisp++, D_7007350);
|
gSPDisplayList(gMasterDisp++, D_7007350);
|
||||||
} else {
|
} else {
|
||||||
func_8005980C(D_800CF9B0[arg0->obj.id + 2]);
|
func_8005980C(D_800CF9B0[arg0->obj.id + 2]);
|
||||||
@ -153,17 +166,78 @@ void func_8005A07C(void* arg0) {
|
|||||||
void func_8005A088(void* arg0) {
|
void func_8005A088(void* arg0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Gfx* D_800CFA54[] = {
|
||||||
|
0x06027960, 0x060273A0, 0x060183B0, 0x060121E0, 0x0602A2E0, 0x0602A720, 0x0602B8F0,
|
||||||
|
0x0602A8C0, 0x06028E70, 0x0602E0A0, 0x0602DE70, 0x0602DC40, 0x0602D830, 0x0602D340,
|
||||||
|
0x06031280, 0x06031130, 0x06030850, 0x06030FD0, 0x0602DD40, 0x06033AF0, 0x060186E0,
|
||||||
|
0x06024160, 0x06033290, 0x06017F10, 0x060074E0, 0x06007590, 0x06007730, 0x06005CC0,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFAC4[] = {
|
||||||
|
0x060176D0, 0x06017810, 0x06017770, 0x06016D90, 0x06016E30, 0x060178B0,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFADC[] = {
|
||||||
|
0x06023690, 0x06021BB0, 0x06021C50, 0x06021CE0, 0x06021D80, 0x06016350,
|
||||||
|
0x06021E20, 0x060222A0, 0x06022BE0, 0x06022D70, 0x06022F00,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFB08[] = {
|
||||||
|
0x06020F10,
|
||||||
|
0x06021100,
|
||||||
|
0x060214B0,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFB14[] = {
|
||||||
|
0x060163E0, 0x060165D0, 0x06016880, 0x06016B50, 0x06000C40,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFB28[] = {
|
||||||
|
0x06018E80, 0x0601F620, 0x0601F420, 0x06018C80, 0x0601F940, 0x0601F260,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFB40[] = {
|
||||||
|
0x06014DB0, 0x060146D0, 0x06014B80, 0x06014470, 0x06014930, 0x060138A0, 0x060151A0, 0x0600F750, 0x06015810,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFB64[] = {
|
||||||
|
0x0600D4A0, 0x0600D720, 0x0600D810, 0x0600CFF0, 0x0600BD20, 0x0600D390, 0x0600E150, 0x06007160, 0x0600D900,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFB88[] = {
|
||||||
|
0x0600A8E0, 0x0600A840, 0x0600A480, 0x0600A720, 0x0600A970, 0x06007D70, 0x0600A520, 0x06009990,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFBA8[] = {
|
||||||
|
0x06026460, 0x060266B0, 0x06026950, 0x060276F0, 0x06027810, 0x06027330, 0x060273C0, 0x06026E30,
|
||||||
|
0x06026EC0, 0x06026DA0, 0x06026D10, 0x06026C80, 0x06026BF0, 0x06027460, 0x06026F60,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFBE4[] = {
|
||||||
|
0x060040F0, 0x06027C90, 0x06027FA0, 0x06003350, 0x06028240,
|
||||||
|
0x06028550, 0x06004DB0, 0x06027930, 0x0600F030, 0x060050F0,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFC0C[] = {
|
||||||
|
0x060294A0, 0x060291B0, 0x060287F0, 0x06029330, 0x06029240, 0x06029790, 0x06029900,
|
||||||
|
0x06028F50, 0x060290C0, 0x06029530, 0x060296A0, 0x06028A80, 0x06028910,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFC40[] = {
|
||||||
|
0x06014FD0,
|
||||||
|
0x06014FD0,
|
||||||
|
0x06014FD0,
|
||||||
|
0x06014FD0,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFC50[] = {
|
||||||
|
0x0601EDE0, 0x0601F2F0, 0x0601F830, 0x0601FD70, 0x0601D110,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFC64[] = {
|
||||||
|
0x06023940, 0x06023D70, 0x060249C0, 0x06023EB0, 0x060249C0, 0x06023B80,
|
||||||
|
};
|
||||||
|
Gfx* D_800CFC7C[] = {
|
||||||
|
0x0601B570, 0x0601B710, 0x060209B0, 0x06020B70, 0x06020D50, 0x0601B8F0, 0x0601B3B0, 0x0601B1C0, 0x06011660,
|
||||||
|
};
|
||||||
|
|
||||||
void func_8005A094(Object_2F4* arg0) {
|
void func_8005A094(Object_2F4* arg0) {
|
||||||
switch (arg0->unk_0B8) {
|
switch (arg0->unk_0B8) {
|
||||||
case 0:
|
case 0:
|
||||||
Matrix_Translate(gGfxMatrix, 18.0f, 15.0f, -15.0f, 1);
|
Matrix_Translate(gGfxMatrix, 18.0f, 15.0f, -15.0f, 1);
|
||||||
Matrix_RotateY(gGfxMatrix, M_PI, 1U);
|
Matrix_RotateY(gGfxMatrix, M_PI, 1);
|
||||||
Matrix_SetGfxMtx(&gMasterDisp);
|
Matrix_SetGfxMtx(&gMasterDisp);
|
||||||
gSPDisplayList(gMasterDisp++, D_3016660);
|
gSPDisplayList(gMasterDisp++, D_3016660);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
Matrix_Translate(gGfxMatrix, -18.0f, 15.0f, -15.0f, 1);
|
Matrix_Translate(gGfxMatrix, -18.0f, 15.0f, -15.0f, 1);
|
||||||
Matrix_RotateY(gGfxMatrix, M_PI, 1U);
|
Matrix_RotateY(gGfxMatrix, M_PI, 1);
|
||||||
Matrix_SetGfxMtx(&gMasterDisp);
|
Matrix_SetGfxMtx(&gMasterDisp);
|
||||||
gSPDisplayList(gMasterDisp++, D_3015D80);
|
gSPDisplayList(gMasterDisp++, D_3015D80);
|
||||||
break;
|
break;
|
||||||
@ -396,13 +470,17 @@ void func_8005ADAC(Object_2F4* arg0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
f32 D_800CFCA0[] = {
|
||||||
|
1.7f, 1.8f, 2.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f,
|
||||||
|
};
|
||||||
|
|
||||||
void func_8005B1E8(Object_2F4* arg0, s32 arg1) {
|
void func_8005B1E8(Object_2F4* arg0, s32 arg1) {
|
||||||
f32 var_fv0;
|
f32 var_fv0;
|
||||||
|
|
||||||
if ((arg0->unk_07C != 0) && (arg0->obj.status == 2)) {
|
if ((arg0->unk_07C != 0) && (arg0->obj.status == 2)) {
|
||||||
var_fv0 = 0.63f;
|
var_fv0 = 0.63f;
|
||||||
if (arg0->unk_07C >= 2) {
|
if (arg0->unk_07C >= 2) {
|
||||||
var_fv0 = D_800CFC98[arg0->unk_07C] * 0.45f;
|
var_fv0 = D_800CFCA0[arg0->unk_07C - 2] * 0.45f;
|
||||||
}
|
}
|
||||||
if (D_80177DB0 & 1) {
|
if (D_80177DB0 & 1) {
|
||||||
var_fv0 *= 1.2f;
|
var_fv0 *= 1.2f;
|
||||||
@ -421,7 +499,7 @@ void func_8005B1E8(Object_2F4* arg0, s32 arg1) {
|
|||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
void func_8005B388(Object_2F4* arg0) {
|
void func_8005B388(Object_2F4* arg0) {
|
||||||
Vec3f sp3C = D_800CFCC0;
|
Vec3f sp3C = { 0.0f, 0.0f, 0.0f };
|
||||||
Vec3f sp30;
|
Vec3f sp30;
|
||||||
|
|
||||||
Matrix_MultVec3f(gGfxMatrix, &sp3C, &sp30);
|
Matrix_MultVec3f(gGfxMatrix, &sp3C, &sp30);
|
||||||
@ -465,6 +543,7 @@ void func_8005B388(Object_2F4* arg0) {
|
|||||||
func_8005ADAC(arg0);
|
func_8005ADAC(arg0);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Vec3f D_800CFCC0 = { 0.0f, 0.0f, 0.0f };
|
||||||
void func_8005B388(Object_2F4*);
|
void func_8005B388(Object_2F4*);
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005B388.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005B388.s")
|
||||||
#endif
|
#endif
|
||||||
@ -514,8 +593,8 @@ void func_8005B848(Object_2F4* arg0) {
|
|||||||
|
|
||||||
void func_8005B9A4(Object_2F4* arg0) {
|
void func_8005B9A4(Object_2F4* arg0) {
|
||||||
Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, 1);
|
Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, 1);
|
||||||
func_8009AA20(D_6029528, arg0->unk_0B6, &arg0->unk_18C);
|
func_8009AA20(&D_6029528, arg0->unk_0B6, &arg0->unk_18C);
|
||||||
func_8009A72C(1, &D_6029674, &arg0->unk_18C, NULL, NULL, (s32*) arg0, &gIdentityMatrix);
|
func_8009A72C(1, D_6029674, &arg0->unk_18C, NULL, NULL, (s32*) arg0, &gIdentityMatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8005BA30(Object_2F4* arg0) {
|
void func_8005BA30(Object_2F4* arg0) {
|
||||||
@ -529,6 +608,10 @@ void func_8005BA30(Object_2F4* arg0) {
|
|||||||
void func_8005BAAC(void) {
|
void func_8005BAAC(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
f32 D_800CFCCC[] = {
|
||||||
|
0.0f, 0.05f, 0.03f, 0.02f, 0.01f, 0.05f, 0.0f, 0.02f,
|
||||||
|
};
|
||||||
|
|
||||||
void func_8005BAB4(s32 arg0, s32 arg1) {
|
void func_8005BAB4(s32 arg0, s32 arg1) {
|
||||||
f32 temp_fv0;
|
f32 temp_fv0;
|
||||||
f32 temp1;
|
f32 temp1;
|
||||||
@ -899,7 +982,7 @@ void func_8005D8B8(Object_4C* arg0, s32 arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8005D954(Object_2F4* arg0) {
|
void func_8005D954(Object_2F4* arg0) {
|
||||||
Vec3f sp34 = D_800CFCEC;
|
Vec3f sp34 = { 0.0f, 0.0f, 0.0f };
|
||||||
|
|
||||||
if (arg0->unk_01C.unk_00 != NULL) {
|
if (arg0->unk_01C.unk_00 != NULL) {
|
||||||
switch (arg0->obj.id) {
|
switch (arg0->obj.id) {
|
||||||
@ -947,7 +1030,7 @@ void func_8005D954(Object_2F4* arg0) {
|
|||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
void func_8005DBC0(Object_2F4* arg0) {
|
void func_8005DBC0(Object_2F4* arg0) {
|
||||||
s32 var_v1;
|
s32 var_v1;
|
||||||
Vec3f sp50 = D_800CFCF8;
|
Vec3f sp50 = { 0.0f, 0.0f, 0.0f };
|
||||||
f32 var_fa1;
|
f32 var_fa1;
|
||||||
f32 var_ft5;
|
f32 var_ft5;
|
||||||
f32 var_fv0;
|
f32 var_fv0;
|
||||||
@ -1029,6 +1112,7 @@ void func_8005DBC0(Object_2F4* arg0) {
|
|||||||
arg0->unk_0B0 = D_801615EC;
|
arg0->unk_0B0 = D_801615EC;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Vec3f D_800CFCF8 = { 0.0f, 0.0f, 0.0f };
|
||||||
void func_8005DBC0(Object_2F4* arg0);
|
void func_8005DBC0(Object_2F4* arg0);
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005DBC0.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005DBC0.s")
|
||||||
#endif
|
#endif
|
||||||
@ -1040,7 +1124,7 @@ void func_8005E1B8(Object_408* arg0, s32 arg1) {
|
|||||||
f32 var_fv0;
|
f32 var_fv0;
|
||||||
f32 var_fv1;
|
f32 var_fv1;
|
||||||
f32 sp3C;
|
f32 sp3C;
|
||||||
Vec3f sp30 = D_800CFD04;
|
Vec3f sp30 = { 0.0f, 0.0f, 0.0f };
|
||||||
|
|
||||||
if (arg0->unk_01C.unk_19 != 0) {
|
if (arg0->unk_01C.unk_19 != 0) {
|
||||||
arg0->obj.pos.y += arg0->unk_068 + D_8017847C;
|
arg0->obj.pos.y += arg0->unk_068 + D_8017847C;
|
||||||
@ -1094,6 +1178,7 @@ void func_8005E1B8(Object_408* arg0, s32 arg1) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Vec3f D_800CFD04 = { 0.0f, 0.0f, 0.0f };
|
||||||
void func_8005E1B8(Object_408* arg0, s32 arg1);
|
void func_8005E1B8(Object_408* arg0, s32 arg1);
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E1B8.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E1B8.s")
|
||||||
#endif
|
#endif
|
||||||
@ -1118,7 +1203,7 @@ void func_8005E454(Object_8C* arg0, s32 arg1) {
|
|||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
void func_8005E538(Object_8C* arg0) {
|
void func_8005E538(Object_8C* arg0) {
|
||||||
Vec3f sp4C = D_800CFD10;
|
Vec3f sp4C = { 0.0f, 0.0f, 0.0f };
|
||||||
Vec3f sp40;
|
Vec3f sp40;
|
||||||
f32 var_fv0;
|
f32 var_fv0;
|
||||||
u8 sp3B = 0;
|
u8 sp3B = 0;
|
||||||
@ -1151,13 +1236,14 @@ void func_8005E538(Object_8C* arg0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Vec3f D_800CFD10 = { 0.0f, 0.0f, 0.0f };
|
||||||
void func_8005E538(Object_8C* arg0);
|
void func_8005E538(Object_8C* arg0);
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E538.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E538.s")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
void func_8005E7B8(Object_6C* arg0, s32 arg1) {
|
void func_8005E7B8(Object_6C* arg0, s32 arg1) {
|
||||||
Vec3f sp44 = D_800CFD1C;
|
Vec3f sp44 = { 0.0f, 0.0f, 0.0f };
|
||||||
Vec3f sp38;
|
Vec3f sp38;
|
||||||
u8 var_v0;
|
u8 var_v0;
|
||||||
|
|
||||||
@ -1185,6 +1271,7 @@ void func_8005E7B8(Object_6C* arg0, s32 arg1) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Vec3f D_800CFD1C = { 0.0f, 0.0f, 0.0f };
|
||||||
void func_8005E7B8(Object_6C* arg0, s32 arg1);
|
void func_8005E7B8(Object_6C* arg0, s32 arg1);
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E7B8.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E7B8.s")
|
||||||
#endif
|
#endif
|
||||||
@ -1298,7 +1385,7 @@ void func_8005F0E8(Vec3f* arg0, Vec3f* arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8005F1EC(Vec3f* arg0) {
|
void func_8005F1EC(Vec3f* arg0) {
|
||||||
Vec3f sp2C = D_800CFD28;
|
Vec3f sp2C = { 0.0f, 0.0f, 0.0f };
|
||||||
Vec3f sp20;
|
Vec3f sp20;
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
@ -1330,7 +1417,7 @@ void func_8005F290(Vec3f* arg0, Vec3f* arg1) {
|
|||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
void func_8005F2F4(Object_58* arg0) {
|
void func_8005F2F4(Object_58* arg0) {
|
||||||
Vec3f sp54 = D_800CFD34;
|
Vec3f sp54 = { 0.0f, 0.0f, 0.0f };
|
||||||
Vec3f sp48;
|
Vec3f sp48;
|
||||||
f32 sp44 = 1000.0f;
|
f32 sp44 = 1000.0f;
|
||||||
f32 sp40 = -12000.0f;
|
f32 sp40 = -12000.0f;
|
||||||
@ -1375,6 +1462,7 @@ void func_8005F2F4(Object_58* arg0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Vec3f D_800CFD34 = { 0.0f, 0.0f, 0.0f };
|
||||||
void func_8005F2F4(Object_58*);
|
void func_8005F2F4(Object_58*);
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005F2F4.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005F2F4.s")
|
||||||
#endif
|
#endif
|
||||||
@ -1662,6 +1750,18 @@ void func_8006089C(u8 arg0) {
|
|||||||
D_80161410 = 1;
|
D_80161410 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vtx D_800CFD40[] = {
|
||||||
|
VTX(1, 0, 0, 0, 0, 255, 255, 255, 255),
|
||||||
|
VTX(-1, 0, 0, 0, 0, 255, 255, 255, 255),
|
||||||
|
VTX(-1, 0, -1, 0, 0, 255, 255, 255, 255),
|
||||||
|
VTX(1, 0, -1, 0, 0, 255, 255, 255, 255),
|
||||||
|
};
|
||||||
|
Gfx D_800CFD80[] = {
|
||||||
|
gsSPVertex(D_800CFD40, 4, 0),
|
||||||
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
||||||
|
gsSPEndDisplayList(),
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef NON_MATCHING
|
#ifdef NON_MATCHING
|
||||||
void func_80060968(void) {
|
void func_80060968(void) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
@ -1,5 +1,30 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
|
ObjectInit* D_800CFDA0[] = {
|
||||||
|
0x060371A4, 0x06026CC4, 0x0602A164, 0x06023F64, 0x060287A4, 0x0602E4F4, 0x06007E74,
|
||||||
|
0x0601F234, 0x06026714, 0x0C035154, 0x06006AA4, 0x06031000, 0x06006C60, 0x0602E5C8,
|
||||||
|
0x0600EAD4, NULL, 0x06011044, 0x0600FF74, 0x06006EB4, 0x06014D94, 0x0302DE3C,
|
||||||
|
};
|
||||||
|
s32 D_800CFDF4[] = {
|
||||||
|
0, 0x144, 0x144, 0x144, 0x144, 0x147, 0x147, 0x147, 0x147, 0x142, 0x142, 0x142, 0x142,
|
||||||
|
0x14F, 0x150, 0x150, 0x150, 0x150, 0x150, 0x142, 0x147, 0x144, 0x144, 0x151, 0, 0x145,
|
||||||
|
};
|
||||||
|
f32 D_800CFE5C[] = {
|
||||||
|
0.0f, 1.0f, 0.5f, 0.33f, 0.25f, 1.0f, 0.5f, 0.33f, 0.25f, 1.0f, 0.5f, 0.33f, 0.25f,
|
||||||
|
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 0.1f, 1.0f, 1.0f, 1.0f,
|
||||||
|
};
|
||||||
|
Vec3f D_800CFEC4[6] = {
|
||||||
|
{ 0.0f, 0.0f, 50.0f }, { -50.0f, 0.0f, 0.0f }, { 50.0f, 0.0f, 0.0f },
|
||||||
|
{ 0.0f, 50.0f, 0.0f }, { 0.0f, 0.0f, -50.0f }, { 0.0f, -50.0f, 0.0f },
|
||||||
|
};
|
||||||
|
Vec3f D_800CFF0C[6] = {
|
||||||
|
{ 0.0f, 0.0f, 0.0f }, { 0.0f, -90.0f, 0.0f }, { 0.0f, 90.0f, 0.0f },
|
||||||
|
{ -90.0f, 0.0f, 0.0f }, { 0.0f, 180.0f, 0.0f }, { 90.0f, 0.0f, 0.0f },
|
||||||
|
};
|
||||||
|
u32 D_800CFF54[9] = {
|
||||||
|
0x19404038, 0x19404139, 0x1940423A, 0x1940433B, 0x1940443C, 0x1940453D, 0x1940463E, 0x1940463E, 0x1940463E,
|
||||||
|
};
|
||||||
|
|
||||||
void func_80060F30(Vec3f* arg0, u32 arg1, s32 arg2) {
|
void func_80060F30(Vec3f* arg0, u32 arg1, s32 arg2) {
|
||||||
if (D_801778E8 == 0) {
|
if (D_801778E8 == 0) {
|
||||||
func_80019218(arg1, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
func_80019218(arg1, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
||||||
@ -1643,7 +1668,7 @@ void func_8006654C(Object_2F4* arg0) {
|
|||||||
arg0->unk_114 = arg0->unk_114 + 0.5f;
|
arg0->unk_114 = arg0->unk_114 + 0.5f;
|
||||||
}
|
}
|
||||||
arg0->unk_0B6++;
|
arg0->unk_0B6++;
|
||||||
if (func_8009ACDC(D_6029528) < arg0->unk_0B6) {
|
if (func_8009ACDC(&D_6029528) < arg0->unk_0B6) {
|
||||||
arg0->unk_0B6 = 0;
|
arg0->unk_0B6 = 0;
|
||||||
}
|
}
|
||||||
if ((arg0->obj.rot.z < 15.0f) && (arg0->unk_0B6 < 0x14)) {
|
if ((arg0->obj.rot.z < 15.0f) && (arg0->unk_0B6 < 0x14)) {
|
||||||
|
@ -10,7 +10,23 @@ void func_800843FC(s32 arg0) {
|
|||||||
func_8009F574(&gMasterDisp, 0, SCREEN_HEIGHT - arg0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 255);
|
func_8009F574(&gMasterDisp, 0, SCREEN_HEIGHT - arg0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_84F70/func_80084488.s")
|
void func_80084488(s32 arg0) {
|
||||||
|
s32 var_s1;
|
||||||
|
|
||||||
|
func_800B8FA8();
|
||||||
|
Matrix_Push(&gGfxMatrix);
|
||||||
|
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -150.0f, 0);
|
||||||
|
for (var_s1 = 0; var_s1 < MIN(360, arg0 * 15); var_s1 += 0xF) {
|
||||||
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, MIN((arg0 - (var_s1 / 15)) * 15, 255));
|
||||||
|
Matrix_Push(&gGfxMatrix);
|
||||||
|
Matrix_RotateZ(gGfxMatrix, var_s1 * M_DTOR, 1);
|
||||||
|
Matrix_Scale(gGfxMatrix, 0.53f, 1.0f, 1.0f, 1);
|
||||||
|
Matrix_SetGfxMtx(&gMasterDisp);
|
||||||
|
gSPDisplayList(gMasterDisp++, D_Gfx_800D9688);
|
||||||
|
Matrix_Pop(&gGfxMatrix);
|
||||||
|
}
|
||||||
|
Matrix_Pop(&gGfxMatrix);
|
||||||
|
}
|
||||||
|
|
||||||
void func_80084688(s32 arg0, s32 arg1) {
|
void func_80084688(s32 arg0, s32 arg1) {
|
||||||
if (arg1 != 0) {
|
if (arg1 != 0) {
|
||||||
@ -18,18 +34,149 @@ void func_80084688(s32 arg0, s32 arg1) {
|
|||||||
case 0:
|
case 0:
|
||||||
func_80084488(arg1);
|
func_80084488(arg1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
func_80084370(arg1);
|
func_80084370(arg1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
func_800843FC(arg1);
|
func_800843FC(arg1);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
(void) "そのような フェード は ない (%d)\n"; // There is no such fade
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_84F70/func_800846F0.s")
|
#ifdef NON_MATCHING
|
||||||
|
// pretty sure this is equivalent, but it's almost certainly not implemented this way. Raw m2c included for those who
|
||||||
|
// want to try.
|
||||||
|
void func_800846F0(FrameBuffer* arg0) {
|
||||||
|
s32 sp70;
|
||||||
|
s32 sp6C;
|
||||||
|
s32 sp68;
|
||||||
|
s32 sp64;
|
||||||
|
s32 sp60;
|
||||||
|
s32 sp5C;
|
||||||
|
s32 sp58;
|
||||||
|
s32 sp54;
|
||||||
|
s32 sp50;
|
||||||
|
s32 sp4C;
|
||||||
|
s32 sp48;
|
||||||
|
s32 sp44;
|
||||||
|
s32 sp40;
|
||||||
|
s32 sp3C;
|
||||||
|
s32 sp38;
|
||||||
|
s32 sp30;
|
||||||
|
s32 sp2C;
|
||||||
|
s32 sp28;
|
||||||
|
s32 sp24;
|
||||||
|
s32 sp20;
|
||||||
|
s32 temp_t3;
|
||||||
|
s32 temp_t3_2;
|
||||||
|
s32 temp_t4;
|
||||||
|
s32 temp_t4_2;
|
||||||
|
s32 temp_t5_2;
|
||||||
|
s32 temp_t6;
|
||||||
|
s32 temp_t6_2;
|
||||||
|
s32 temp_t7;
|
||||||
|
s32 temp_t7_2;
|
||||||
|
s32 temp_t7_3;
|
||||||
|
s32 temp_t8;
|
||||||
|
s32 temp_t9;
|
||||||
|
s32 temp_t9_2;
|
||||||
|
s32 var_t2;
|
||||||
|
u16* var_v0;
|
||||||
|
u16 temp_t5;
|
||||||
|
u32 var_a0;
|
||||||
|
u32 var_t0;
|
||||||
|
u32 var_t1;
|
||||||
|
u32 var_v1;
|
||||||
|
s32 i;
|
||||||
|
s32 j;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_84F70/D_800D76F0.s")
|
for (i = 0; i < gFrameCounter % 240U; i++) {
|
||||||
|
for (j = 0; j < gFrameCounter % 320U; j++) {
|
||||||
|
sp64 = RGBA16_RED(arg0->array[i][j]);
|
||||||
|
sp50 = RGBA16_GRN(arg0->array[i][j]);
|
||||||
|
sp3C = RGBA16_BLU(arg0->array[i][j]);
|
||||||
|
|
||||||
|
sp68 = RGBA16_RED(arg0->array[i][j + 1]);
|
||||||
|
sp54 = RGBA16_GRN(arg0->array[i][j + 1]);
|
||||||
|
sp40 = RGBA16_BLU(arg0->array[i][j + 1]);
|
||||||
|
|
||||||
|
sp6C = RGBA16_RED(arg0->array[i + 1][j]);
|
||||||
|
sp58 = RGBA16_GRN(arg0->array[i + 1][j]);
|
||||||
|
sp44 = RGBA16_BLU(arg0->array[i + 1][j]);
|
||||||
|
|
||||||
|
sp70 = RGBA16_RED(arg0->array[i + 1][j + 1]);
|
||||||
|
sp5C = RGBA16_GRN(arg0->array[i + 1][j + 1]);
|
||||||
|
sp48 = RGBA16_BLU(arg0->array[i + 1][j + 1]);
|
||||||
|
|
||||||
|
sp60 = (sp64 + sp68 + sp6C + sp70) / 4;
|
||||||
|
sp4C = (sp50 + sp54 + sp58 + sp5C) / 4;
|
||||||
|
sp38 = (sp3C + sp40 + sp44 + sp48) / 4;
|
||||||
|
|
||||||
|
arg0->array[i][j] = RGBA16_PACK(sp60, sp4C, sp38, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// var_t1 = 0;
|
||||||
|
// var_t0 = (u32) gFrameCounter % 240U;
|
||||||
|
// if (var_t0 != 0) {
|
||||||
|
// var_a0 = (u32) gFrameCounter % 320U;
|
||||||
|
// var_t2 = 0;
|
||||||
|
// do {
|
||||||
|
// var_v0 = (var_t2 * 2) + arg0;
|
||||||
|
// var_v1 = 0;
|
||||||
|
// if (var_a0 != 0) {
|
||||||
|
// do {
|
||||||
|
// temp_t5 = *var_v0;
|
||||||
|
// var_v1 += 1;
|
||||||
|
// var_v0 += 2;
|
||||||
|
// temp_t3 = ((s32) temp_t5 >> 0xB) & 0x1F;
|
||||||
|
// sp64 = temp_t3;
|
||||||
|
// temp_t4 = ((s32) var_v0->unk-2 >> 6) & 0x1F;
|
||||||
|
// sp50 = temp_t4;
|
||||||
|
// temp_t9 = ((s32) var_v0->unk-2 >> 1) & 0x1F;
|
||||||
|
// sp3C = temp_t9;
|
||||||
|
// temp_t7 = ((s32) var_v0->unk0 >> 0xB) & 0x1F;
|
||||||
|
// sp68 = temp_t7;
|
||||||
|
// temp_t6 = ((s32) var_v0->unk0 >> 6) & 0x1F;
|
||||||
|
// sp54 = temp_t6;
|
||||||
|
// temp_t5_2 = ((s32) var_v0->unk0 >> 1) & 0x1F;
|
||||||
|
// sp40 = temp_t5_2;
|
||||||
|
// sp20 = temp_t3;
|
||||||
|
// temp_t3_2 = ((s32) var_v0->unk27E >> 0xB) & 0x1F;
|
||||||
|
// sp6C = temp_t3_2;
|
||||||
|
// sp24 = temp_t4;
|
||||||
|
// temp_t4_2 = ((s32) var_v0->unk27E >> 6) & 0x1F;
|
||||||
|
// sp58 = temp_t4_2;
|
||||||
|
// sp28 = temp_t9;
|
||||||
|
// temp_t9_2 = ((s32) var_v0->unk27E >> 1) & 0x1F;
|
||||||
|
// sp44 = temp_t9_2;
|
||||||
|
// sp2C = temp_t7;
|
||||||
|
// temp_t7_2 = ((s32) var_v0->unk280 >> 0xB) & 0x1F;
|
||||||
|
// sp70 = temp_t7_2;
|
||||||
|
// sp30 = temp_t6;
|
||||||
|
// temp_t6_2 = ((s32) var_v0->unk280 >> 6) & 0x1F;
|
||||||
|
// sp5C = temp_t6_2;
|
||||||
|
// sp48 = ((s32) var_v0->unk280 >> 1) & 0x1F;
|
||||||
|
// sp60 = (s32) (temp_t7_2 + sp20 + temp_t7 + temp_t3_2) / 4;
|
||||||
|
// temp_t8 = (s32) (temp_t6_2 + sp24 + sp30 + temp_t4_2) / 4;
|
||||||
|
// sp4C = temp_t8;
|
||||||
|
// temp_t7_3 = (s32) (sp48 + sp28 + temp_t5_2 + temp_t9_2) / 4;
|
||||||
|
// sp38 = temp_t7_3;
|
||||||
|
// var_v0->unk-2 = (u16) ((temp_t7_3 * 2) | (sp60 << 0xB) | (temp_t8 << 6));
|
||||||
|
// var_a0 = (u32) gFrameCounter % 320U;
|
||||||
|
// } while (var_v1 < var_a0);
|
||||||
|
// var_t0 = (u32) gFrameCounter % 240U;
|
||||||
|
// }
|
||||||
|
// var_t1 += 1;
|
||||||
|
// var_t2 += 0x140;
|
||||||
|
// } while (var_t1 < var_t0);
|
||||||
|
// }
|
||||||
|
osWritebackDCacheAll();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_84F70/func_800846F0.s")
|
||||||
|
#endif
|
||||||
|
1205
src/main/sf_9A580.c
1205
src/main/sf_9A580.c
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,17 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
extern void func_80187520(s32, void*);
|
extern void func_80187520(s32, void*);
|
||||||
#define RGBA16_RED(color16) ((((color16) >> 0xB) & 0x1F) * 8)
|
|
||||||
#define RGBA16_GREEN(color16) ((((color16) >> 6) & 0x1F) * 8)
|
s32 D_800D2860[4] = { 1, 1, 1, 1 };
|
||||||
#define RGBA16_BLUE(color16) ((((color16) >> 1) & 0x1F) * 8)
|
s32 D_800D2870 = 0;
|
||||||
|
s32 D_800D2874[] = { 0, 160, 0, 160 };
|
||||||
|
s32 D_800D2884[] = { 159, 319, 159, 319 };
|
||||||
|
s32 D_800D2894[] = { 0, 0, 120, 120 };
|
||||||
|
s32 D_800D28A4[] = { 119, 119, 239, 239 };
|
||||||
|
s32 D_800D28B4[] = {
|
||||||
|
0x05, 0x06, 0x08, 0x0A, 0x0C, 0x0D, 0x12, 0x0E, 0x0F, 0x10, 0x11,
|
||||||
|
0x15, 0x07, 0x09, 0x0B, 0x00, 0x13, 0x16, 0x17, 0x18, 0x32,
|
||||||
|
};
|
||||||
|
|
||||||
void func_800A18B0(void) {
|
void func_800A18B0(void) {
|
||||||
Memory_FreeAll();
|
Memory_FreeAll();
|
||||||
@ -74,12 +82,11 @@ void func_800A1980(void) {
|
|||||||
func_8001D400(0);
|
func_8001D400(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DATA_IMPORT_PENDING
|
|
||||||
s32 func_800A1B6C(void) {
|
s32 func_800A1B6C(void) {
|
||||||
static u8 D_800D2908 = 5;
|
static u8 D_800D2908 = 0;
|
||||||
static u8 D_800D290C = 5;
|
static u8 D_800D290C = 99;
|
||||||
static u8 D_800D2910 = 5;
|
static u8 D_800D2910 = 99;
|
||||||
static u8 D_800D2914 = 5;
|
static u8 D_800D2914 = 99;
|
||||||
|
|
||||||
if (D_801774F8 != D_800D2910) {
|
if (D_801774F8 != D_800D2910) {
|
||||||
D_800D2908 = 2;
|
D_800D2908 = 2;
|
||||||
@ -97,10 +104,6 @@ s32 func_800A1B6C(void) {
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A24B0/func_800A1B6C.s")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void func_800A1C14(Gfx** arg0) {
|
void func_800A1C14(Gfx** arg0) {
|
||||||
gSPDisplayList((*arg0)++, D_Gfx_800DBAA0);
|
gSPDisplayList((*arg0)++, D_Gfx_800DBAA0);
|
||||||
@ -116,8 +119,8 @@ void func_800A1C14(Gfx** arg0) {
|
|||||||
gDPSetCycleType((*arg0)++, G_CYC_1CYCLE);
|
gDPSetCycleType((*arg0)++, G_CYC_1CYCLE);
|
||||||
gDPSetCombineMode((*arg0)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
gDPSetCombineMode((*arg0)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||||
gDPSetRenderMode((*arg0)++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
gDPSetRenderMode((*arg0)++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, RGBA16_RED(D_80161A36), RGBA16_GREEN(D_80161A36),
|
gDPSetPrimColor((*arg0)++, 0x00, 0x00, RGBA16_RED(D_80161A36) * 8, RGBA16_GRN(D_80161A36) * 8,
|
||||||
RGBA16_BLUE(D_80161A36), D_80161A38);
|
RGBA16_BLU(D_80161A36) * 8, D_80161A38);
|
||||||
} else {
|
} else {
|
||||||
gDPSetFillColor((*arg0)++, (((D_80161A36 | 1) << 0x10) | (D_80161A36 | 1)));
|
gDPSetFillColor((*arg0)++, (((D_80161A36 | 1) << 0x10) | (D_80161A36 | 1)));
|
||||||
}
|
}
|
||||||
@ -315,7 +318,7 @@ void func_800A26C0(void) {
|
|||||||
break;
|
break;
|
||||||
case 0x67:
|
case 0x67:
|
||||||
if (Save_Read() != 0) {
|
if (Save_Read() != 0) {
|
||||||
gSaveFile = *((SaveFile*) &D_800D4D10);
|
gSaveFile = *((SaveFile*) &gDefaultSave);
|
||||||
Save_Write();
|
Save_Write();
|
||||||
}
|
}
|
||||||
D_80177834++;
|
D_80177834++;
|
||||||
|
@ -121,27 +121,27 @@ void func_80084E78(Gfx** gfxP, void* arg1, void* arg2, u32 arg3, u32 arg4, f32 a
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_800853A4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
void func_800853A4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
func_8009D0BC(&gMasterDisp, &D_1013170, &D_1013570, 24, 17, arg0, arg1, arg2, arg3);
|
func_8009D0BC(&gMasterDisp, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80085404(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
void func_80085404(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
func_8009C320(&gMasterDisp, &D_1011280, &D_10116A0, 48, 44, arg0, arg1, arg2, arg3);
|
func_8009C320(&gMasterDisp, D_1011280, D_10116A0, 48, 44, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80085464(f32 arg0, f32 arg1) {
|
void func_80085464(f32 arg0, f32 arg1) {
|
||||||
func_8009C320(&gMasterDisp, &D_1011AC0, &D_1011B90, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
func_8009C320(&gMasterDisp, D_1011AC0, D_1011B90, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800854BC(f32 arg0, f32 arg1) {
|
void func_800854BC(f32 arg0, f32 arg1) {
|
||||||
func_8009C320(&gMasterDisp, &D_1011BB0, &D_1011C80, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
func_8009C320(&gMasterDisp, D_1011BB0, D_1011C80, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80085514(f32 arg0, f32 arg1) {
|
void func_80085514(f32 arg0, f32 arg1) {
|
||||||
func_8009C320(&gMasterDisp, &D_1011CA0, &D_1011D70, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
func_8009C320(&gMasterDisp, D_1011CA0, D_1011D70, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8008556C(f32 arg0, f32 arg1) {
|
void func_8008556C(f32 arg0, f32 arg1) {
|
||||||
func_8009C320(&gMasterDisp, &D_1011D90, &D_1011E60, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
func_8009C320(&gMasterDisp, D_1011D90, D_1011E60, 16, 26, arg0, arg1, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_800855C4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
void func_800855C4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
@ -178,9 +178,9 @@ void func_800857DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
|||||||
|
|
||||||
void func_80085890(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
void func_80085890(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
if (D_801778E8 != 0) {
|
if (D_801778E8 != 0) {
|
||||||
func_8009D0BC(&gMasterDisp, &D_300D350, &D_300D398, 24, 3, arg0, arg1, arg2, arg3);
|
func_8009D0BC(&gMasterDisp, D_300D350, D_300D398, 24, 3, arg0, arg1, arg2, arg3);
|
||||||
} else {
|
} else {
|
||||||
func_8009D0BC(&gMasterDisp, &D_10127D0, &D_1012898, 40, 5, arg0, arg1, arg2, arg3);
|
func_8009D0BC(&gMasterDisp, D_10127D0, D_1012898, 40, 5, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1123,7 +1123,7 @@ void func_8008D0DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_8008D1F0(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
void func_8008D1F0(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
func_8009C320(&gMasterDisp, &D_10116B0, &D_1011730, 16, 16, arg0, arg1, arg2, arg3);
|
func_8009C320(&gMasterDisp, D_10116B0, D_1011730, 16, 16, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef IMPORT_DATA_PENDING
|
#ifdef IMPORT_DATA_PENDING
|
||||||
@ -1401,7 +1401,7 @@ void func_8008E2C8(f32 arg0, f32 arg1, s32* arg2, f32 arg3) {
|
|||||||
if (i & 1) {
|
if (i & 1) {
|
||||||
func_800BA4F0();
|
func_800BA4F0();
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
func_8009C320(&gMasterDisp, &D_1011E80, &D_1011EC0, 0x10, 8, (var_fs0 * arg3) + arg0, arg1, arg3, arg3);
|
func_8009C320(&gMasterDisp, D_1011E80, D_1011EC0, 0x10, 8, (var_fs0 * arg3) + arg0, arg1, arg3, arg3);
|
||||||
} else {
|
} else {
|
||||||
func_800BA490();
|
func_800BA490();
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
|
char D_800C7C80[] = "$Id: sprintf.c,v 1.5 1997/03/19 02:28:53 hayakawa Exp $";
|
||||||
|
|
||||||
void* proutSprintf(void* dst, const char* fmt, size_t size) {
|
void* proutSprintf(void* dst, const char* fmt, size_t size) {
|
||||||
return (void*) ((uintptr_t) memcpy(dst, fmt, size) + size);
|
return (void*) ((uintptr_t) memcpy(dst, fmt, size) + size);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 vsprintf(char* dst, char* fmt, va_list args) {
|
s32 vsprintf(char* dst, const char* fmt, va_list args) {
|
||||||
s32 ret = _Printf(proutSprintf, dst, fmt, args);
|
s32 ret = _Printf(proutSprintf, dst, fmt, args);
|
||||||
|
|
||||||
if (ret > -1) {
|
if (ret > -1) {
|
||||||
|
@ -935,7 +935,7 @@ void func_EBFBE0_801962A4(void) {
|
|||||||
if (temp_fv0 == 0.0f) {
|
if (temp_fv0 == 0.0f) {
|
||||||
D_EBFBE0_801B91CC = 3;
|
D_EBFBE0_801B91CC = 3;
|
||||||
|
|
||||||
gSaveFile = *(SaveFile*) &D_800D4D10;
|
gSaveFile = *(SaveFile*) &gDefaultSave;
|
||||||
|
|
||||||
Save_Write();
|
Save_Write();
|
||||||
|
|
||||||
@ -1165,7 +1165,7 @@ void func_EBFBE0_801973C0(void) {
|
|||||||
func_EBFBE0_8019C824(&D_EBFBE0_801B93F0);
|
func_EBFBE0_8019C824(&D_EBFBE0_801B93F0);
|
||||||
temp_t0 = D_EBFBE0_801B93F0;
|
temp_t0 = D_EBFBE0_801B93F0;
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_t0, temp_t0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_t0, temp_t0, 255);
|
||||||
func_8009D994(&gMasterDisp, &D_7004010, 8, 8, 70.0f, (D_EBFBE0_801B93E4 * 17.0f) + 55.0f, 1.0f, 1.0f);
|
func_8009D994(&gMasterDisp, D_7004010, 8, 8, 70.0f, (D_EBFBE0_801B93E4 * 17.0f) + 55.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
func_800B8DD0(&gMasterDisp, 0x53);
|
func_800B8DD0(&gMasterDisp, 0x53);
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||||
@ -1220,7 +1220,7 @@ void func_EBFBE0_8019752C(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8009D994(&gMasterDisp, &D_800D070, 16, 16, 150.0f, 44.0f, 1.0f, 1.0f);
|
func_8009D994(&gMasterDisp, D_800D070, 16, 16, 150.0f, 44.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
if (D_EBFBE0_801B91D4 <= -1055.0f) {
|
if (D_EBFBE0_801B91D4 <= -1055.0f) {
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 32, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 32, 255);
|
||||||
@ -1230,7 +1230,7 @@ void func_EBFBE0_8019752C(void) {
|
|||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8009E4B0(&gMasterDisp, &D_800D070, 0x10, 0x10, 150.0f, 200.0f, 1.0f, 1.0f);
|
func_8009E4B0(&gMasterDisp, D_800D070, 0x10, 0x10, 150.0f, 200.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019752C.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019752C.s")
|
||||||
@ -1243,7 +1243,7 @@ void func_EBFBE0_80197914(void) {
|
|||||||
|
|
||||||
func_800B8DD0(&gMasterDisp, 0);
|
func_800B8DD0(&gMasterDisp, 0);
|
||||||
|
|
||||||
for (i = 0, vec1 = &D_EBFBE0_801AF100, vec2 = &D_EBFBE0_801AF118; i < 2; i++, vec1++, vec2++) {
|
for (i = 0, vec1 = D_EBFBE0_801AF100, vec2 = D_EBFBE0_801AF118; i < 2; i++, vec1++, vec2++) {
|
||||||
Matrix_Push(&gGfxMatrix);
|
Matrix_Push(&gGfxMatrix);
|
||||||
Matrix_Translate(gGfxMatrix, vec1->x, vec1->y, -500.0f, 1);
|
Matrix_Translate(gGfxMatrix, vec1->x, vec1->y, -500.0f, 1);
|
||||||
Matrix_Scale(gGfxMatrix, vec2->x, vec2->y, 1.0f, 1);
|
Matrix_Scale(gGfxMatrix, vec2->x, vec2->y, 1.0f, 1);
|
||||||
@ -1289,7 +1289,7 @@ void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) {
|
void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) {
|
||||||
u8 temp[4];
|
char temp[4];
|
||||||
|
|
||||||
func_800B8DD0(&gMasterDisp, 0x53);
|
func_800B8DD0(&gMasterDisp, 0x53);
|
||||||
|
|
||||||
@ -1298,7 +1298,7 @@ void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) {
|
|||||||
temp[0] = gSaveFile.save.data.unk_18[arg0][0] & 0xFF;
|
temp[0] = gSaveFile.save.data.unk_18[arg0][0] & 0xFF;
|
||||||
temp[1] = gSaveFile.save.data.unk_18[arg0][1] & 0xFF;
|
temp[1] = gSaveFile.save.data.unk_18[arg0][1] & 0xFF;
|
||||||
temp[2] = gSaveFile.save.data.unk_18[arg0][2] & 0xFF;
|
temp[2] = gSaveFile.save.data.unk_18[arg0][2] & 0xFF;
|
||||||
temp[3] = 0;
|
temp[3] = '\0';
|
||||||
|
|
||||||
func_800A0094(arg1, arg2, 1.0f, 1.0f, temp);
|
func_800A0094(arg1, arg2, 1.0f, 1.0f, temp);
|
||||||
}
|
}
|
||||||
@ -1306,7 +1306,7 @@ void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) {
|
|||||||
void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) {
|
void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) {
|
||||||
func_800B8DD0(&gMasterDisp, 0x53);
|
func_800B8DD0(&gMasterDisp, 0x53);
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170);
|
||||||
func_8009D994(&gMasterDisp, &D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f);
|
func_8009D994(&gMasterDisp, D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f);
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
||||||
func_800A1200(arg1, arg2, 1.0f, 1.0f, "TOTAL HITS");
|
func_800A1200(arg1, arg2, 1.0f, 1.0f, "TOTAL HITS");
|
||||||
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
||||||
|
@ -18,6 +18,7 @@ options:
|
|||||||
|
|
||||||
symbol_addrs_path:
|
symbol_addrs_path:
|
||||||
- linker_scripts/us/symbol_addrs.txt
|
- linker_scripts/us/symbol_addrs.txt
|
||||||
|
- linker_scripts/us/symbol_addrs_engine.txt
|
||||||
- linker_scripts/us/symbol_addrs_libultra.txt
|
- linker_scripts/us/symbol_addrs_libultra.txt
|
||||||
- linker_scripts/us/symbol_addrs_nlib_funcs.txt
|
- linker_scripts/us/symbol_addrs_nlib_funcs.txt
|
||||||
- linker_scripts/us/symbol_addrs_nlib_vars.txt
|
- linker_scripts/us/symbol_addrs_nlib_vars.txt
|
||||||
|
@ -200,7 +200,7 @@
|
|||||||
- [0xC5220, .data, matrix]
|
- [0xC5220, .data, matrix]
|
||||||
- [0xC52F0, .data, fault]
|
- [0xC52F0, .data, fault]
|
||||||
- [0xC54D0, data, audio]
|
- [0xC54D0, data, audio]
|
||||||
- [0xC8880, data, sprintf]
|
- [0xC8880, .data, sprintf]
|
||||||
|
|
||||||
# DATA - Libultra
|
# DATA - Libultra
|
||||||
- [0xC88C0, data, ../libultra/io/controller]
|
- [0xC88C0, data, ../libultra/io/controller]
|
||||||
@ -253,31 +253,28 @@
|
|||||||
- [0xCA650, rodata, ../libultra/rmon/rmonrcp]
|
- [0xCA650, rodata, ../libultra/rmon/rmonrcp]
|
||||||
|
|
||||||
# DATA - game engine
|
# DATA - game engine
|
||||||
- [0xCA690, data, engine]
|
|
||||||
# - [0xCA690, data, sf_2F300]
|
- [0xCA690, data, sf_2F300]
|
||||||
# - [0xCA7C0, data, sf_36930]
|
- [0xCA7C0, data, sf_36930]
|
||||||
# - [0xCAA90, data, ???]
|
- [0xCAA90, data, sf_43AC0]
|
||||||
# - [0xCAB00, data, sf_43E80]
|
- [0xCAB00, data, sf_43E80]
|
||||||
# - [0xCAB60, data, sf_496C0]
|
- [0xCAB60, data, sf_496C0]
|
||||||
# - [0xCAE20, data, sf_52730]
|
- [0xCAE20, data, sf_52730]
|
||||||
# - [0xCAFB0, data, sf_59780]
|
- [0xCAFB0, data, sf_59780]
|
||||||
# - [0xCCA70, data, ???]
|
- [0xCCA70, data, sf_50AF0]
|
||||||
# - [0xD05B0, data, sf_5A2C0]
|
- [0xD0570, .data, sf_5A2C0]
|
||||||
# - [0xD09A0, data, sf_61B30]
|
- [0xD09A0, .data, sf_61B30]
|
||||||
# - [0xD0B80, data, sf_6B3B0]
|
- [0xD0B80, data, sf_6B3B0]
|
||||||
# - [0xD20E0, data, sf_77E40]
|
- [0xD20E0, data, sf_77E40]
|
||||||
# - [0xD2570, data, sf_hud]
|
- [0xD2570, data, sf_hud]
|
||||||
# # - [0xD31D0, data, sf_97F80] splits from here on are unclear
|
- [0xD31D0, .data, sf_9A580]
|
||||||
# - [0xD31D0, data, sf_9A580]
|
- [0xD3460, .data, sf_A24B0]
|
||||||
# - [0xD3460, data, sf_A24B0]
|
- [0xD3520, data, sf_A48A0]
|
||||||
# - [0xD3520, data, sf_A4290]
|
- [0xD3B50, data, sf_A4B50]
|
||||||
# # - [0x, data, sf_A48A0]
|
- [0xD3DB0, .data, fox_rcp]
|
||||||
# - [0xD3B50, data, sf_A4B50]
|
- [0xD5670, data, sf_BB360]
|
||||||
# - [0xD3D80, data, ???]
|
- [0xD5690, data, sf_versus]
|
||||||
# - [0xD3DB0, data, fox_rcp]
|
- [0xD5910, .data, fox_save]
|
||||||
# - [0xD5670, data, sf_BB360]
|
|
||||||
# - [0xD5690, data, sf_versus]
|
|
||||||
# - [0xD5910, data, sf_C3BB0]
|
|
||||||
|
|
||||||
# RODATA - game engine
|
# RODATA - game engine
|
||||||
- [0xD5A10, .rodata, sf_2F300]
|
- [0xD5A10, .rodata, sf_2F300]
|
||||||
|
Loading…
Reference in New Issue
Block a user