mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-02 16:23:57 +03:00
More decomp, organization of variables.h (#21)
* threads galore * something's up * try this * I don't even * who knows * I can't stop it * let's try data for fun * ok I think I've gone far enough * well maybe a little more * visual assets somewhat documented * just keeps going * forgot formatting * let 's try bss * too much? * one fix * even more things * one quick thing * oh come on * graph complete? * format and such * decomp and such * small cleanup
This commit is contained in:
parent
59475cd4f6
commit
8f695918e3
@ -44,7 +44,7 @@ void Matrix_GetXYZAngles(Matrix*, Vec3f*);
|
||||
void Matrix_LookAt(Matrix*, f32, f32, f32, f32, f32, f32, f32, f32, f32, u8);
|
||||
void Matrix_SetGfxMtx(Gfx**);
|
||||
|
||||
s32 func_80006FD8(u64 arg0, void* arg2, s32 arg3, s32 arg4);
|
||||
s32 func_80006FD8(u64 arg0, void* arg2, s32* arg3, s32 arg4);
|
||||
|
||||
void func_80006F20(void);
|
||||
void* func_80006F38(s32);
|
||||
@ -172,8 +172,8 @@ void func_80094D20(f32, f32);
|
||||
void func_8009F574(Gfx **, s32, s32, s32, s32, u8, u8, u8, u8);
|
||||
f32 func_8009BC2C(f32*, f32, f32, f32, f32);
|
||||
f32 func_8009BD38(f32*, 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_8009D418(Gfx**, u16*, u32, u32, f32, f32, f32, f32);
|
||||
void func_8009D994(Gfx**, u16*, u32, u32, f32, f32, f32, f32);
|
||||
void func_8009F6CC(Vec3f*, f32, f32, f32);
|
||||
void func_8009FC0C(s32, s32, s32);
|
||||
f32 func_8009F768(f32);
|
||||
@ -208,7 +208,7 @@ void func_800B9358(void);
|
||||
void func_800C1ED4(void);
|
||||
void func_800C20B0(void);
|
||||
void func_800C2190(void);
|
||||
s32 func_800C2890(u16*);
|
||||
u16 func_800C2890(u16*);
|
||||
s32 func_800C2F30(u16*, s32);
|
||||
s32 func_800C3084(void);
|
||||
s32 func_800C3194(void);
|
||||
|
@ -36,7 +36,6 @@ s32 func_80090E8C(UnkStruct_func_80090A00* arg0);
|
||||
s32 func_800910C0(UnkStruct_func_80090A00* arg0);
|
||||
void func_8009C320(Gfx**, void*, void*, s32, s32, f32, f32, f32, f32);
|
||||
void func_8009D0BC(Gfx**, void*, void*, u32, u32, f32, f32, f32, f32);
|
||||
void func_8009D994(Gfx**, void*, u32, u32, f32, f32, f32, f32);
|
||||
void func_8009E1E8(Gfx**, s32*, s32, s32, f32, f32, f32, f32);
|
||||
|
||||
// Weird addresses, assets maybe?
|
||||
|
@ -4,6 +4,11 @@
|
||||
#include "global.h"
|
||||
#include "sf64math.h"
|
||||
|
||||
typedef struct {
|
||||
s32 unk0;
|
||||
u16* unk4;
|
||||
} UnkStruct_D_80185CBC;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ void* start;
|
||||
/* 0x4 */ void* end;
|
||||
@ -23,13 +28,13 @@ typedef struct {
|
||||
/* 0xC */ s32 compFlag;
|
||||
} DmaEntry; // size = 0x10;
|
||||
|
||||
typedef void (*unkFunc_80007088)(s32, s32);
|
||||
typedef void (*unkFunc_80007088)(s32*, s32);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk0;
|
||||
/* 0x08 */ OSTimer unk8;
|
||||
/* 0x28 */ unkFunc_80007088 unk28;
|
||||
/* 0x2C */ s32 unk2C;
|
||||
/* 0x2C */ s32* unk2C;
|
||||
/* 0x30 */ s32 unk30;
|
||||
} UnkStruct_func_80007088; // size = 0x38, 0x8 aligned
|
||||
|
||||
@ -126,7 +131,8 @@ typedef struct UnkStruct_D_80178280 {
|
||||
/* 0x1C8 */ s32 unk_1C8;
|
||||
/* 0x1CC */ char pad_1CC[0x44];
|
||||
/* 0x210 */ s32 unk_210;
|
||||
/* 0x214 */ char pad_214[0x14];
|
||||
/* 0x214 */ char pad_214[0x10];
|
||||
/* 0x224 */ s32 unk_224;
|
||||
/* 0x228 */ s32 unk_228;
|
||||
/* 0x22C */ char pad_22C[0x38];
|
||||
/* 0x264 */ s32 unk_264;
|
||||
|
@ -6,30 +6,20 @@
|
||||
extern u64 __rspboot_start[];
|
||||
extern u64 __rspboot_end[];
|
||||
extern u64 __f3dex_start[];
|
||||
extern u8 D_80281000[0x400];
|
||||
extern u8 D_80281400[0xC00];
|
||||
extern u8 D_802A7800;
|
||||
extern u8 D_802D7800;
|
||||
extern u8 gF3dexData;
|
||||
|
||||
extern s32 D_800C45D0;
|
||||
|
||||
extern f32 D_800C45E0[];
|
||||
|
||||
extern Mtx gIdentityMtx; // 800C4620
|
||||
extern Matrix gIdentityMatrix; //800C4660
|
||||
extern Vec3f D_800C46A0;
|
||||
extern Vec3f D_800C46AC;
|
||||
extern Vec3f D_800C46B8;
|
||||
extern Vec3f D_800C46C4;
|
||||
extern Vec3f D_800C46D0;
|
||||
extern Vec3f D_800C46DC;
|
||||
|
||||
extern u8 sFaultCharIndex[];
|
||||
extern s32 sFaultCharPixelFlags[];
|
||||
extern const char* D_800C4870[];
|
||||
extern const char* D_800C48B8[];
|
||||
|
||||
extern f32 D_800C5D28[];
|
||||
extern f32 D_800C5D34;
|
||||
extern s8 D_800C5D3C;
|
||||
extern s8 D_800C7C50;
|
||||
@ -41,40 +31,16 @@ extern OSMesgQueue* D_800C7C64;
|
||||
|
||||
extern char D_800C7C80[];
|
||||
|
||||
extern u8 D_800CA3B0;
|
||||
|
||||
extern OverlayInit D_800CA3B4[];
|
||||
extern OverlayInit D_800CA44C[];
|
||||
extern OverlayInit D_800CA7DC[];
|
||||
extern OverlayInit D_800CA874[];
|
||||
extern OverlayInit D_800CA90C[];
|
||||
extern OverlayInit D_800CA9A4[];
|
||||
extern OverlayInit D_800CAA3C[];
|
||||
extern OverlayInit D_800CAAD4[];
|
||||
extern OverlayInit D_800CAC04[];
|
||||
extern OverlayInit D_800CAF94[];
|
||||
extern OverlayInit D_800CB0C4[];
|
||||
extern OverlayInit D_800CB15C[];
|
||||
extern OverlayInit D_800CB1F4[];
|
||||
extern OverlayInit D_800CB28C[];
|
||||
extern OverlayInit D_800CB3BC[];
|
||||
extern OverlayInit D_800CB454[];
|
||||
extern OverlayInit D_800CB4EC[];
|
||||
extern OverlayInit D_800CB584[];
|
||||
extern OverlayInit D_800CB61C[];
|
||||
extern OverlayInit D_800CB6B4[];
|
||||
extern OverlayInit D_800CB74C[];
|
||||
extern OverlayInit D_800CB87C[];
|
||||
extern OverlayInit D_800CB914[];
|
||||
extern OverlayInit D_800CB9AC[];
|
||||
extern OverlayInit D_800CBA44[];
|
||||
extern OverlayInit D_800CBB74[];
|
||||
extern OverlayInit D_800CBC0C[];
|
||||
|
||||
extern UnkStruct_90A00_1C D_800CC124[400];
|
||||
|
||||
extern u16 D_800DD8AA;
|
||||
extern s32 D_800D4A70;
|
||||
extern OSContPad D_800DD880[4];
|
||||
extern OSContPad D_800DD898[4];
|
||||
extern u8 D_800DD8B0[4];
|
||||
extern s32 D_800DD8B4;
|
||||
extern u8 D_800DD8B8[4];
|
||||
extern u8 D_800DD8BC[4]; // Fake symbol. Only exists as loop terminator for D_800DD8B8
|
||||
// extern OSContPad D_800DD8C0[4];
|
||||
// extern OSContPad D_800DD8D8[4];
|
||||
// extern OSContStatus D_800DD8F0[4];
|
||||
// extern OSPfs D_800DD900[4];
|
||||
|
||||
extern u8 gAudioThreadStack[0x1000]; // 800DDAA0
|
||||
extern OSThread gGraphicsThread; // 800DEAA0
|
||||
@ -122,6 +88,8 @@ extern void *D_800E2350[16];
|
||||
extern OSMesgQueue D_800E2390;
|
||||
extern void *D_800E23A8[1];
|
||||
|
||||
extern GfxPool gGfxPools[2]; // 800E23B0
|
||||
|
||||
extern GfxPool* gGfxPool;
|
||||
extern SPTask* gGfxTask;
|
||||
extern Vp* gViewport;
|
||||
@ -142,37 +110,17 @@ extern u8 D_80137E84[4];
|
||||
extern u16 D_80137E88;
|
||||
extern u16 D_80137E8A;
|
||||
|
||||
extern DmaEntry gDmaTable[];
|
||||
|
||||
extern s32 D_80178580;
|
||||
extern s32 *D_80178710;
|
||||
extern s32 D_80178728;
|
||||
extern s32 D_8017872C;
|
||||
extern f32 D_80178730;
|
||||
extern f32 D_80178734;
|
||||
extern f32 D_80178738;
|
||||
extern f32 D_8017873C;
|
||||
extern f32 D_80178740;
|
||||
extern s32 D_80387800;
|
||||
extern u16 D_8038F080[];
|
||||
extern u16 D_8038F300[];
|
||||
|
||||
extern FrameBuffer D_80282000; // z buffer
|
||||
extern FrameBuffer gFrameBuffers[3]; // 8038F800
|
||||
extern Gfx D_Gfx_800DBAA0[];
|
||||
extern GfxPool gGfxPools[2]; // 800E23B0
|
||||
|
||||
extern Matrix* D_8013B3C0;
|
||||
extern Matrix D_8013B3C8[0x20];
|
||||
extern Matrix* D_8013BBC8;
|
||||
extern Matrix D_8013BBD0[0x20];
|
||||
|
||||
extern OSThread sIdleThread; // 80138E90
|
||||
extern u8 sIdleThreadStack[0x1000]; // 801390A0
|
||||
extern OSThread gMainThread; // 8013A040
|
||||
extern u8 sMainThreadStack[0x1000]; // 8013A1F0
|
||||
extern OSThread gAudioThread; //8013B1F0
|
||||
|
||||
extern Matrix* D_8013B3C0;
|
||||
extern Matrix D_8013B3C8[0x20];
|
||||
extern Matrix* D_8013BBC8;
|
||||
extern Matrix D_8013BBD0[0x20];
|
||||
|
||||
extern SaveFile D_80144F60;
|
||||
extern SaveFile D_80145160;
|
||||
extern FaultMgr gFaultMgr;
|
||||
@ -181,9 +129,37 @@ extern OSMesg D_80156600[1];
|
||||
extern OSMesg D_80156608[4];
|
||||
extern OSMesg D_80156618[1];
|
||||
extern OSMesg D_8015661C[1];
|
||||
extern s32 D_8015F928;
|
||||
|
||||
|
||||
extern u8 D_800CA3B0;
|
||||
extern OverlayInit D_800CA3B4[1]; // sets segment 15 with no overlay
|
||||
extern OverlayInit D_800CA44C[6]; // overlay EF0260
|
||||
extern OverlayInit D_800CA7DC[1]; // EBFBE0
|
||||
extern OverlayInit D_800CA874[1]; // EBFBE0
|
||||
extern OverlayInit D_800CA90C[1]; // EBFBE0
|
||||
extern OverlayInit D_800CA9A4[1]; // EBFBE0
|
||||
extern OverlayInit D_800CAA3C[1]; // DF4260
|
||||
extern OverlayInit D_800CAAD4[2]; // E08400
|
||||
extern OverlayInit D_800CAC04[6]; // E6A810
|
||||
extern OverlayInit D_800CAF94[2]; // E08400
|
||||
extern OverlayInit D_800CB0C4[1]; // E51970
|
||||
extern OverlayInit D_800CB15C[1]; // E16C50
|
||||
extern OverlayInit D_800CB1F4[1]; // E16C50
|
||||
extern OverlayInit D_800CB28C[2]; // E51970
|
||||
extern OverlayInit D_800CB3BC[1]; // E16C50
|
||||
extern OverlayInit D_800CB454[1]; // E9F1D0
|
||||
extern OverlayInit D_800CB4EC[1]; // E16C50
|
||||
extern OverlayInit D_800CB584[1]; // E16C50
|
||||
extern OverlayInit D_800CB61C[1]; // DF4260
|
||||
extern OverlayInit D_800CB6B4[1]; // E9F1D0
|
||||
extern OverlayInit D_800CB74C[2]; // E9F1D0
|
||||
extern OverlayInit D_800CB87C[1]; // E08400
|
||||
extern OverlayInit D_800CB914[1]; // E51970
|
||||
extern OverlayInit D_800CB9AC[1]; // E51970
|
||||
extern OverlayInit D_800CBA44[2]; // E6A810
|
||||
extern OverlayInit D_800CBB74[1]; // DF4260
|
||||
extern OverlayInit D_800CBC0C[1]; // E08400
|
||||
extern OverlayInit D_800CBD3C[1]; // EFFA40
|
||||
extern UnkStruct_90A00_1C D_800CC124[400];
|
||||
extern s32 D_800CFF90;
|
||||
extern f32 D_800D19AC[];
|
||||
extern f32 D_800D19E0[];
|
||||
@ -196,32 +172,30 @@ extern s32 D_800D2180[];
|
||||
extern s32 D_800D2190[];
|
||||
extern f32 D_800D21A0;
|
||||
extern f32 D_800D21A4;
|
||||
extern s32 D_800D2860[];
|
||||
extern s32 D_800D2870;
|
||||
extern s32 D_800D2874[];
|
||||
extern s32 D_800D2884[];
|
||||
extern s32 D_800D2894[];
|
||||
extern s32 D_800D28A4[];
|
||||
extern s32 D_800D28B4[];
|
||||
extern u8 D_800D2908;
|
||||
extern u8 D_800D290C;
|
||||
extern u8 D_800D2910;
|
||||
extern u8 D_800D2914;
|
||||
extern u16 D_Tex_800D99F8[];
|
||||
|
||||
extern OSContPad D_800DD880[4];
|
||||
extern OSContPad D_800DD898[4];
|
||||
extern u8 D_800DD8B0[4];
|
||||
extern s32 D_800DD8B4;
|
||||
extern u8 D_800DD8B8[4];
|
||||
extern u8 D_800DD8BC[4]; // Fake symbol. Only exists as loop terminator for D_800DD8B8
|
||||
// extern OSContPad D_800DD8C0[4];
|
||||
// extern OSContPad D_800DD8D8[4];
|
||||
// extern OSContStatus D_800DD8F0[4];
|
||||
// extern OSPfs D_800DD900[4];
|
||||
extern u8 D_800D3180[0x1E];
|
||||
extern s32 D_800D4A70;
|
||||
extern Save D_800D4D10;
|
||||
|
||||
extern s32 D_8015F924;
|
||||
extern s32 D_8015F928;
|
||||
extern s32 D_80161690;
|
||||
extern f32 D_801616BC;
|
||||
extern f32 D_801616C0;
|
||||
extern f32 D_801616C4;
|
||||
extern f32 D_801616C8;
|
||||
extern s32 D_80161708;
|
||||
extern s32 D_8016170C;
|
||||
extern s32 D_80161730;
|
||||
extern s32 D_80161734;
|
||||
extern s32 D_80161788;
|
||||
@ -240,41 +214,53 @@ extern s32 D_801617B8;
|
||||
extern s32 D_80161810[];
|
||||
extern f32 D_80161A10;
|
||||
extern f32 D_80161A14;
|
||||
extern u8 D_80161A2C;
|
||||
extern u16 D_80161A2E;
|
||||
extern u16 D_80161A30;
|
||||
extern u16 D_80161A32;
|
||||
extern s16 D_80161A34;
|
||||
extern u16 D_80161A34;
|
||||
extern u16 D_80161A36;
|
||||
extern u8 D_80161A38;
|
||||
extern s8 D_80161A39;
|
||||
extern u8 D_80161A39;
|
||||
extern f32 D_80161A3C;
|
||||
extern f32 D_80161A40;
|
||||
extern f32 D_80161A44;
|
||||
extern s32 D_80161A5C;
|
||||
extern u8 D_80161A90[];
|
||||
extern s16 D_80161AA0[];
|
||||
extern UnkStruct_func_80090A00 D_80163FE0[60];
|
||||
extern UnkStruct_D_8016F110 D_8016F110[];
|
||||
|
||||
extern UnkStruct_D_80175A10 D_80175A10[];
|
||||
extern UnkStruct_D_80178280* D_80178280;
|
||||
|
||||
extern s32 D_801774F8;
|
||||
extern s32 D_80177820;
|
||||
extern s32 D_80177824;
|
||||
extern s32 D_8017782C;
|
||||
extern u8 D_80177830;
|
||||
extern s32 D_80177834;
|
||||
extern s32 D_80177838;
|
||||
extern s32 D_8017783C;
|
||||
extern s32 D_80177840;
|
||||
extern s32 D_80177848;
|
||||
extern s32 D_8017784C;
|
||||
extern s32 D_80177854;
|
||||
extern s32 D_80177858[];
|
||||
extern s32 D_80177868;
|
||||
extern s32 D_80177870[];
|
||||
extern s32 D_80177898;
|
||||
extern s32 D_8017789C;
|
||||
extern s32 D_801778A0;
|
||||
extern s32 D_801778A4;
|
||||
extern s32 D_801778A8;
|
||||
extern u8 D_801778AB;
|
||||
extern s32 D_801778B0[];
|
||||
extern s32 D_801778B8;
|
||||
extern s32 D_801778E8;
|
||||
extern u16 D_80177908[];
|
||||
extern u16 D_80177928[];
|
||||
extern u16 D_80177938[];
|
||||
extern f32 D_80177940;
|
||||
extern u16 D_80177948[];
|
||||
extern f32 D_80177958[];
|
||||
extern f32 D_80177978;
|
||||
extern UnkStruct_D_8017797C* D_8017797C;
|
||||
extern f32 D_80177980;
|
||||
@ -283,16 +269,28 @@ extern f32 D_801779A0;
|
||||
extern f32 D_801779B8;
|
||||
extern f32 D_801779C0;
|
||||
extern s32 D_801779F8;
|
||||
extern s32 D_80177A80;
|
||||
extern s32 D_80177AE0;
|
||||
extern s32 D_80177AF8;
|
||||
extern s32 D_80177B40;
|
||||
extern s32 D_80177C50;
|
||||
extern u8 D_80177C74;
|
||||
extern s32 D_80177C80[];
|
||||
extern s32 D_80177C94;
|
||||
extern u8 D_80177C98;
|
||||
extern s32 D_80177C9C;
|
||||
extern s32 D_80177CA4;
|
||||
extern s32 D_80177CAC;
|
||||
extern s32 D_80177CB4;
|
||||
extern s32 D_80177CBC;
|
||||
extern s32 D_80177CC4;
|
||||
extern f32 D_80177D08;
|
||||
extern f32 D_80177D20;
|
||||
extern f32 D_80177D50;
|
||||
extern f32 D_80177D68;
|
||||
extern s32 D_80177DA0[];
|
||||
extern s32 D_80177DB0;
|
||||
extern UnkStruct_D_80178280* D_80178280;
|
||||
extern s32 D_80178234;
|
||||
extern s32 D_8017827C;
|
||||
extern s32 D_8017829C;
|
||||
@ -308,7 +306,10 @@ extern s32 D_80178340;
|
||||
extern s32 D_80178348;
|
||||
extern s32 D_80178350;
|
||||
extern s32 D_80178354;
|
||||
extern s32 D_80178380;
|
||||
extern s32 D_80178380[];
|
||||
extern s32 D_80178390[];
|
||||
extern s32 D_801783A0[];
|
||||
extern s32 D_801783B0[];
|
||||
extern s32 D_80178410;
|
||||
extern f32 D_80178420;
|
||||
extern f32 D_80178424;
|
||||
@ -320,7 +321,26 @@ extern s32 D_80178550;
|
||||
extern s32 D_80178554;
|
||||
extern s32 D_80178558;
|
||||
extern s32 D_8017855C;
|
||||
extern s32 D_80178580;
|
||||
extern s32 *D_80178710;
|
||||
extern s32 D_80178728;
|
||||
extern s32 D_8017872C;
|
||||
extern f32 D_80178730;
|
||||
extern f32 D_80178734;
|
||||
extern f32 D_80178738;
|
||||
extern f32 D_8017873C;
|
||||
extern f32 D_80178740;
|
||||
extern s32 D_80178754;
|
||||
extern s32 D_80178758;
|
||||
extern SaveFile D_80178870;
|
||||
|
||||
extern u16 D_Tex_800D99F8[];
|
||||
extern u16 D_Tex_800DBA20[];
|
||||
extern Gfx D_Gfx_800DBAA0[];
|
||||
|
||||
extern DmaEntry gDmaTable[]; // 178A70
|
||||
extern u8 D_80179010[][16 * 13 / 2];
|
||||
extern UnkStruct_D_80185CBC D_80185CBC[];
|
||||
extern u16 D_80183630[];
|
||||
extern u16 D_8018366C[];
|
||||
extern u16 D_80183690[];
|
||||
@ -377,12 +397,20 @@ extern f32 D_801B905C;
|
||||
extern f32 D_801B9060;
|
||||
extern f32 D_801B9064;
|
||||
|
||||
extern f32 D_800C5D28[];
|
||||
|
||||
extern char D_801ADA44_EE6104[];
|
||||
extern s32 D_801ADA84_EE6144[];
|
||||
extern s32 D_801ADA94_EE6154;
|
||||
|
||||
extern u8 D_80281000[0x400];
|
||||
extern u8 D_80281400[0xC00];
|
||||
extern FrameBuffer D_80282000; // z buffer
|
||||
extern u8 D_802A7800;
|
||||
extern u8 D_802D7800;
|
||||
extern s32 D_80387800;
|
||||
extern u16 D_8038F080[];
|
||||
extern u16 D_8038F300[];
|
||||
extern FrameBuffer gFrameBuffers[3]; // 8038F800
|
||||
|
||||
extern u16 D_1002040[];
|
||||
extern u16 D_10050E0[];
|
||||
extern u16 D_100BAC0[];
|
||||
@ -408,7 +436,6 @@ extern u8 D_1024A58[];
|
||||
extern Gfx D_102A8A0[];
|
||||
extern Gfx D_1024AC0[];
|
||||
|
||||
|
||||
extern Gfx D_2000000[];
|
||||
extern Gfx D_2000890[];
|
||||
extern Gfx D_2001090[];
|
||||
@ -462,6 +489,11 @@ extern Gfx D_6004570[];
|
||||
extern Gfx D_D0098B0[];
|
||||
extern Gfx D_F014180[];
|
||||
|
||||
extern u16 D_F000000[];
|
||||
extern u16 D_F000800[];
|
||||
extern u16 D_F001000[];
|
||||
extern u16 D_F001800[];
|
||||
extern u16 D_F002000[];
|
||||
|
||||
#endif // VARIABLES_H
|
||||
|
||||
|
@ -45,6 +45,7 @@ D_80163FE0 = 0x80163FE0; //size:0xB130
|
||||
|
||||
gDmaTable = 0x80178A70;
|
||||
|
||||
D_800D3180 = 0x800D3180; // size:0x1E
|
||||
gSetupDLs = 0x800D31B0; // size:0x18C0
|
||||
|
||||
D_800DD880 = 0x800DD880; // size:0x18
|
||||
|
@ -13,7 +13,7 @@ UnkStruct_func_80007088* func_80006F60(void) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
s32 func_80006FD8(u64 arg0, void* arg2, s32 arg3, s32 arg4) {
|
||||
s32 func_80006FD8(u64 arg0, void* arg2, s32* arg3, s32 arg4) {
|
||||
UnkStruct_func_80007088* temp_v0;
|
||||
|
||||
temp_v0 = func_80006F60();
|
||||
|
@ -48,4 +48,4 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2F300/func_80035448.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2F300/D_800D4D20.s")
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2F300/D_800D4E10.s")
|
||||
|
@ -174,7 +174,6 @@ u8 func_80058F14(u8 arg0, u8 arg1) {
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
extern DmaEntry D_80179010[];
|
||||
extern u8 D_DE480[];
|
||||
extern u8 D_DE5D50[];
|
||||
extern u8 D_DEA20[];
|
||||
|
@ -1,6 +1,9 @@
|
||||
#include "global.h"
|
||||
|
||||
extern void func_80187520(s32, void*);
|
||||
#define RGBA16_RED(color16) ((((color16) >> 0xB) & 0x1F) * 8)
|
||||
#define RGBA16_GREEN(color16) ((((color16) >> 6) & 0x1F) * 8)
|
||||
#define RGBA16_BLUE(color16) ((((color16) >> 1) & 0x1F) * 8)
|
||||
|
||||
void func_800A18B0(void) {
|
||||
func_80006F20();
|
||||
@ -23,7 +26,7 @@ void func_800A18B0(void) {
|
||||
void func_800A1980(void) {
|
||||
u16 temp;
|
||||
D_80161A14 = D_80161A10;
|
||||
temp = D_80161A32;
|
||||
temp = D_80161A32; // fake?
|
||||
|
||||
switch (temp) {
|
||||
case 7:
|
||||
@ -62,7 +65,7 @@ void func_800A1980(void) {
|
||||
func_8001DBD0(1);
|
||||
}
|
||||
D_80178340 = 0xFF;
|
||||
D_80178380 = 0;
|
||||
D_80178380[0] = 0;
|
||||
D_8017829C = 0;
|
||||
D_80178428 = 0.0f;
|
||||
D_80161A38 = 0xFF;
|
||||
@ -100,8 +103,6 @@ s32 func_800A1B6C(void) {
|
||||
#endif
|
||||
|
||||
void func_800A1C14(Gfx** arg0) {
|
||||
s32 temp_t9;
|
||||
|
||||
gSPDisplayList((*arg0)++, D_Gfx_800DBAA0);
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
gDPSetDepthImage((*arg0)++, &D_80282000);
|
||||
@ -115,8 +116,8 @@ void func_800A1C14(Gfx** arg0) {
|
||||
gDPSetCycleType((*arg0)++, G_CYC_1CYCLE);
|
||||
gDPSetCombineMode((*arg0)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||
gDPSetRenderMode((*arg0)++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, (u8) (D_80161A36 >> 0xB) * 8, (u8) (D_80161A36 >> 6) * 8,
|
||||
(u8) (D_80161A36 >> 1) * 8, D_80161A38);
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, RGBA16_RED(D_80161A36), RGBA16_GREEN(D_80161A36),
|
||||
RGBA16_BLUE(D_80161A36), D_80161A38);
|
||||
} else {
|
||||
gDPSetFillColor((*arg0)++, (((D_80161A36 | 1) << 0x10) | (D_80161A36 | 1)));
|
||||
}
|
||||
@ -136,9 +137,9 @@ void func_800A1E68(Gfx** arg0) {
|
||||
}
|
||||
|
||||
void func_800A1F44(void) {
|
||||
gViewport->vp.vscale[0] = gViewport->vp.vtrans[0] = 0x280;
|
||||
gViewport->vp.vscale[1] = gViewport->vp.vtrans[1] = 0x1E0;
|
||||
gViewport->vp.vscale[2] = gViewport->vp.vtrans[2] = 0x1FF;
|
||||
gViewport->vp.vscale[0] = gViewport->vp.vtrans[0] = 640;
|
||||
gViewport->vp.vscale[1] = gViewport->vp.vtrans[1] = 480;
|
||||
gViewport->vp.vscale[2] = gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = gViewport->vp.vtrans[3] = 0;
|
||||
}
|
||||
|
||||
@ -148,44 +149,44 @@ void func_800A1FB0(Gfx** arg0, u8 arg1, u8 arg2) {
|
||||
case 0:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = 0x1FF;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[2] = 0x1FF;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, 160, 120);
|
||||
break;
|
||||
case 1:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = 0x1FF;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[1] = (2.0f - D_80161A14) * 240 * 2;
|
||||
gViewport->vp.vtrans[2] = 0x1FF;
|
||||
gViewport->vp.vtrans[1] = 240 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 160, 8, 312, 120);
|
||||
break;
|
||||
case 2:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = 0x1FF;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * (2.0f - D_80161A14) * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[2] = 0x1FF;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 120, 160, 232);
|
||||
break;
|
||||
case 3:
|
||||
gViewport->vp.vscale[0] = 320 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[1] = 240 * (D_80161A14 - 1.0f) * 2;
|
||||
gViewport->vp.vscale[2] = 0x1FF;
|
||||
gViewport->vp.vscale[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vscale[3] = 0;
|
||||
gViewport->vp.vtrans[0] = 320 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[1] = 240 * D_80161A14 * 2;
|
||||
gViewport->vp.vtrans[2] = 0x1FF;
|
||||
gViewport->vp.vtrans[2] = G_MAXZ / 2;
|
||||
gViewport->vp.vtrans[3] = 0;
|
||||
gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 160, 120, 312, 232);
|
||||
break;
|
||||
@ -258,7 +259,7 @@ void func_800A25DC(void) {
|
||||
D_80177820 = 0;
|
||||
return;
|
||||
case 6:
|
||||
D_801774F8 = 0x32;
|
||||
D_801774F8 = 50;
|
||||
break;
|
||||
case 7:
|
||||
D_801774F8 = D_800D28B4[D_80178234];
|
||||
@ -273,7 +274,229 @@ void func_800A25DC(void) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A24B0/func_800A26C0.s")
|
||||
void func_800A26C0(void) {
|
||||
s32 i;
|
||||
u8 spBB;
|
||||
u16 var_v0_3;
|
||||
|
||||
func_800A1980();
|
||||
if (D_80161A39 != 0) {
|
||||
func_800A1E68(&gUnkDisp1);
|
||||
D_80161A39 = 0;
|
||||
return;
|
||||
}
|
||||
func_800A1C14(&gUnkDisp1);
|
||||
func_800A25DC();
|
||||
if (func_800A1B6C() != 1) {
|
||||
func_8000316C(&gUnkDisp1);
|
||||
func_800A1FB0(&gUnkDisp1, D_801778AB, 0);
|
||||
if (D_8017783C != 0) {
|
||||
D_8017783C--;
|
||||
}
|
||||
switch (D_80177834) {
|
||||
case 0x64:
|
||||
D_8017783C = 2;
|
||||
D_80177834++;
|
||||
break;
|
||||
case 0x65:
|
||||
if (D_8017783C == 0) {
|
||||
D_80177834++;
|
||||
}
|
||||
break;
|
||||
case 0x66:
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
func_8009D994(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f);
|
||||
D_80177834++;
|
||||
break;
|
||||
case 0x67:
|
||||
if (func_800C3194() != 0) {
|
||||
D_80178870 = *((SaveFile*) &D_800D4D10);
|
||||
func_800C3084();
|
||||
}
|
||||
D_80177834++;
|
||||
func_80006FD8(MSEC_TO_CYCLES(1000), func_80007068, &D_80177834, 1);
|
||||
case 0x68:
|
||||
func_800B8DD0(&gMasterDisp, 0x4C);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
func_8009D994(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f);
|
||||
func_8009D994(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
case 0x69:
|
||||
D_80177834 = 1;
|
||||
D_801774F8 = 0;
|
||||
D_80177820 = 0;
|
||||
break;
|
||||
case 0x1:
|
||||
D_80177834 = 2;
|
||||
D_80177AE0 = 1;
|
||||
D_80177824 = 1;
|
||||
func_80006F20();
|
||||
func_800A6148();
|
||||
D_801778A8 = 1;
|
||||
D_80161AA0[0] = 2;
|
||||
D_80177D20 = 0.0f;
|
||||
D_8016170C = D_80177A80 = D_80177830 = D_80177838 = D_80177840 = D_80178754 = D_801778E8 = D_80177AE0 =
|
||||
D_80178410 = D_80177B40 = D_80177854 = D_8017784C = D_80177898 = D_80161734 = D_80161A2C =
|
||||
D_80161A36 = D_80178340 = 0;
|
||||
D_80161A32 = D_80177C94 = D_80177CAC = D_80177CB4 = D_80177CBC = D_80177CC4 = D_80177C9C = D_80177CA4 =
|
||||
D_80161A5C = D_80161A34 = 0;
|
||||
for (i = 0; i < 4; i++) {
|
||||
D_80177908[i] = 2;
|
||||
D_80177928[i] = 4;
|
||||
D_80177938[i] = 0x8000;
|
||||
D_80177948[i] = 0x4000;
|
||||
|
||||
D_80177958[i] = 1.0f;
|
||||
|
||||
D_80177858[i] = 3;
|
||||
D_80177870[i] = 0;
|
||||
D_800D2860[i] = 1;
|
||||
D_80178380[i] = 0;
|
||||
}
|
||||
D_8017789C = 0;
|
||||
D_801778A4 = 3;
|
||||
D_80161A38 = 0xFF;
|
||||
for (i = 0; i < 30; i++) {
|
||||
D_800D3180[i] = 0;
|
||||
}
|
||||
D_801779F8 = 0;
|
||||
D_80177C74 = D_80178870.raw[0x14];
|
||||
switch (D_80177C74) {
|
||||
case 0:
|
||||
var_v0_3 = 0;
|
||||
break;
|
||||
case 1:
|
||||
var_v0_3 = 3;
|
||||
break;
|
||||
case 2:
|
||||
var_v0_3 = 1;
|
||||
break;
|
||||
default:
|
||||
D_80177C74 = 0;
|
||||
var_v0_3 = 0;
|
||||
break;
|
||||
}
|
||||
func_800182F4(var_v0_3 | 0xE0000000);
|
||||
D_80177C80[0] = D_80178870.raw[0x15];
|
||||
D_80177C80[1] = D_80178870.raw[0x16];
|
||||
D_80177C80[2] = D_80178870.raw[0x17];
|
||||
if (D_80177C80[0] > 99) {
|
||||
D_80177C80[0] = 99;
|
||||
}
|
||||
if (D_80177C80[1] > 99) {
|
||||
D_80177C80[1] = 99;
|
||||
}
|
||||
if (D_80177C80[2] > 99) {
|
||||
D_80177C80[2] = 99;
|
||||
}
|
||||
func_8001D8A8(0, D_80177C80[0]);
|
||||
func_8001D8A8(1, D_80177C80[1]);
|
||||
func_8001D8A8(2, D_80177C80[2]);
|
||||
break;
|
||||
case 0x2:
|
||||
func_80187520(0x67, NULL);
|
||||
break;
|
||||
case 0x3:
|
||||
func_80187520(0x6B, NULL);
|
||||
break;
|
||||
case 0x4:
|
||||
func_8019E8D0();
|
||||
break;
|
||||
case 0x6:
|
||||
func_800C20B0();
|
||||
break;
|
||||
case 0x7:
|
||||
func_800B86CC();
|
||||
break;
|
||||
case 0x5:
|
||||
func_80187520(0x6D, NULL);
|
||||
break;
|
||||
case 0x8:
|
||||
D_80177898 = 8;
|
||||
func_8018A96C();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
func_800A24DC(0);
|
||||
if (D_801778A8 == 2) {
|
||||
func_800A1FB0(&gMasterDisp, D_801778A8, 1);
|
||||
func_800A24DC(1);
|
||||
gDPPipeSync(gMasterDisp++);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
} else if ((D_801778A8 == 4) && (D_80177898 != 0)) {
|
||||
func_800A1FB0(&gMasterDisp, D_801778A8, 3);
|
||||
func_800A24DC(3);
|
||||
func_800A1FB0(&gMasterDisp, D_801778AB, 2);
|
||||
func_800A24DC(2);
|
||||
func_800A1FB0(&gMasterDisp, D_801778AB, 1);
|
||||
func_800A24DC(1);
|
||||
gDPPipeSync(gMasterDisp++);
|
||||
gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, 312, 232);
|
||||
gDPSetColorDither(gMasterDisp++, G_CD_NOISE);
|
||||
gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE);
|
||||
gDPSetCycleType(gMasterDisp++, G_CYC_1CYCLE);
|
||||
gDPSetCombineMode(gMasterDisp++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
|
||||
gDPSetRenderMode(gMasterDisp++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 0);
|
||||
gDPFillRectangle(gMasterDisp++, 157, 8, 162, 232);
|
||||
gDPFillRectangle(gMasterDisp++, 8, 117, 312, 122);
|
||||
|
||||
if (D_80177C98 == 0) {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 0, 0, 0, 255);
|
||||
} else {
|
||||
gDPSetPrimColor(gMasterDisp++, 0x00, 0x0, 100, 100, 255, 255);
|
||||
}
|
||||
gDPFillRectangle(gMasterDisp++, 158, 8, 161, 232);
|
||||
gDPFillRectangle(gMasterDisp++, 8, 118, 312, 121);
|
||||
|
||||
func_8008CB8C();
|
||||
}
|
||||
spBB = 0;
|
||||
if (D_801778A8 == 1) {
|
||||
func_8009F574(&gMasterDisp, 0, 0, 319, 239, D_80178390[0], D_801783A0[0], D_801783B0[0], D_80178380[0]);
|
||||
if ((D_80177898 == 4) || (D_80177898 == 8)) {
|
||||
func_800BB5D0();
|
||||
if (D_80161A2C != 0) {
|
||||
func_8008FA84();
|
||||
func_8008CA44();
|
||||
}
|
||||
func_8008DE68();
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < D_801778A8; i++) {
|
||||
if (D_80178280[i].unk_224 != 0) {
|
||||
|
||||
func_8009F574(&gMasterDisp, D_800D2874[i], D_800D2894[i], D_800D2884[i], D_800D28A4[i], D_80178348,
|
||||
D_80178350, D_80178354, D_80178340);
|
||||
spBB = 1;
|
||||
} else {
|
||||
func_8009F574(&gMasterDisp, D_800D2874[i], D_800D2894[i], D_800D2884[i], D_800D28A4[i],
|
||||
D_80178390[i], D_801783A0[i], D_801783B0[i], D_80178380[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
func_80040CDC();
|
||||
func_8008865C();
|
||||
func_8002E548();
|
||||
if ((D_80177834 == 7) && (D_801778E8 != 0)) {
|
||||
func_800C1ED4();
|
||||
}
|
||||
func_80084688(0, D_80177C50);
|
||||
if (spBB == 0) {
|
||||
func_8009F574(&gMasterDisp, 0, 0, 0x13F, 0xEF, D_80178348, D_80178350, D_80178354, D_80178340);
|
||||
}
|
||||
func_80016A50();
|
||||
}
|
||||
}
|
||||
|
||||
UnkStruct_func_80090A00* func_800A3608(s32 arg0) {
|
||||
UnkStruct_func_80090A00* var_a2 = D_80163FE0;
|
||||
|
@ -1,17 +1,189 @@
|
||||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2830.s")
|
||||
u16* func_800C2830(u16 arg0) {
|
||||
s32 i;
|
||||
UnkStruct_D_80185CBC* ptr = D_80185CBC;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2890.s")
|
||||
while (ptr->unk0 != -1) {
|
||||
if (ptr->unk0 == arg0) {
|
||||
return ptr->unk4;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C28DC.s")
|
||||
u16 func_800C2890(u16* arg0) {
|
||||
s32 i;
|
||||
UnkStruct_D_80185CBC* ptr = D_80185CBC;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2928.s")
|
||||
while (ptr->unk4 != NULL) {
|
||||
if (ptr->unk4 == arg0) {
|
||||
return ptr->unk0;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C295C.s")
|
||||
s32 func_800C28DC(u16* arg0) {
|
||||
s32 var_v1 = 0;
|
||||
u16* ptr = arg0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2AF0.s")
|
||||
while (*ptr != 0) {
|
||||
if (*ptr > 15 || *ptr == 12) {
|
||||
var_v1++;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2D3C.s")
|
||||
s32 func_800C2928(u16* arg0) {
|
||||
s32 var_v1 = 0;
|
||||
u16* ptr = arg0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2F30.s")
|
||||
while (*ptr != 0) {
|
||||
var_v1++;
|
||||
ptr++;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void func_800C295C(Gfx** arg0, u16 arg1, s32 arg2, s32 arg3) {
|
||||
gDPLoadTextureBlock_4b((*arg0)++, D_80179010[arg1 >> 2], G_IM_FMT_CI, 16, 13, arg1 & 3, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle((*arg0)++, arg2 << 2, arg3 << 2, (arg2 + 13) << 2, (arg3 + 13) << 2, G_TX_RENDERTILE, 0x40, 0,
|
||||
0x400, 0x400);
|
||||
}
|
||||
|
||||
s32 func_800C2AF0(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
s32 var_s2 = arg2;
|
||||
s32 var_s4 = arg3;
|
||||
s32 i;
|
||||
s32 var_v1;
|
||||
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
gDPSetTextureLUT((*arg0)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT((*arg0)++, 64, 0x100, D_Tex_800DBA20);
|
||||
|
||||
// bug: if the for loop is skipped, var_v1 is never initialized
|
||||
for (i = 0; arg1[i] != 0 && i < arg4; i++) {
|
||||
var_v1 = 0;
|
||||
switch (arg1[i]) {
|
||||
case 1:
|
||||
var_s2 = arg2;
|
||||
var_s4 += 13;
|
||||
break;
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
case 19:
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, 255, 255, 0, 255);
|
||||
func_800C295C(arg0, arg1[i], var_s2, var_s4);
|
||||
var_s2 += 14;
|
||||
var_v1 = 1;
|
||||
gDPSetPrimColor((*arg0)++, 0x00, 0x00, 255, 255, 255, 255);
|
||||
break;
|
||||
case 12:
|
||||
default:
|
||||
func_800C295C(arg0, arg1[i], var_s2, var_s4);
|
||||
var_s2 += 7;
|
||||
var_v1 = 1;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void func_800C2D3C(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) {
|
||||
s32 var_s2 = arg2;
|
||||
s32 var_s4 = arg3;
|
||||
s32 i;
|
||||
s32 var_v1;
|
||||
|
||||
gDPSetTextureLUT((*arg0)++, G_TT_RGBA16);
|
||||
gDPLoadTLUT((*arg0)++, 64, 0x100, D_Tex_800DBA20);
|
||||
|
||||
for (i = 0; arg1[i] != 0 && i < arg6; i++) {
|
||||
switch (arg1[i]) {
|
||||
case 1:
|
||||
var_s2 = arg2;
|
||||
var_s4 += 15;
|
||||
break;
|
||||
case 13:
|
||||
var_s2 += 2;
|
||||
break;
|
||||
case 14:
|
||||
var_s2 += 3;
|
||||
break;
|
||||
case 12:
|
||||
var_s2 += 7;
|
||||
break;
|
||||
default:
|
||||
if ((arg5 < var_s4) && (var_s4 < arg4)) {
|
||||
func_800C295C(arg0, arg1[i], var_s2, var_s4);
|
||||
}
|
||||
var_s2 += 7;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 15:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800C2F30(u16* arg0, s32 arg1) {
|
||||
s32 i;
|
||||
s32 var_v1;
|
||||
|
||||
// bug: if the for loop is skipped, var_v1 is never initialized
|
||||
for (i = 0; arg0[i] != 0 && i < arg1; i++) {
|
||||
var_v1 = 0;
|
||||
switch (arg0[i]) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
break;
|
||||
default:
|
||||
var_v1 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
@ -33,8 +33,8 @@ def calculate_crcs(buffer: bytearray, seed=0xF8CA4DDC, start=0x1000, end=0x10100
|
||||
|
||||
def mio0_comp_bytes(decomp_bytes, mio0):
|
||||
#possibly replace with a python implementation later
|
||||
decomp_path = os.path.dirname(mio0) + 'TempComp.bin.mio0'
|
||||
comp_path = os.path.dirname(mio0) + 'TempComp.bin'
|
||||
decomp_path = os.path.dirname(mio0) + '/TempComp.bin.mio0'
|
||||
comp_path = os.path.dirname(mio0) + '/TempComp.bin'
|
||||
|
||||
with open(decomp_path, 'wb') as decomp_file:
|
||||
decomp_file.write(decomp_bytes)
|
||||
@ -50,8 +50,8 @@ def mio0_comp_bytes(decomp_bytes, mio0):
|
||||
|
||||
def mio0_dec_bytes(comp_bytes, mio0):
|
||||
#possibly replace with a python implementation later
|
||||
decomp_path = os.path.dirname(mio0) + 'TempComp.bin.mio0'
|
||||
comp_path = os.path.dirname(mio0) + 'TempComp.bin'
|
||||
decomp_path = os.path.dirname(mio0) + '/TempComp.bin.mio0'
|
||||
comp_path = os.path.dirname(mio0) + '/TempComp.bin'
|
||||
|
||||
with open(comp_path, 'wb') as comp_file:
|
||||
comp_file.write(comp_bytes)
|
||||
|
Binary file not shown.
@ -276,10 +276,10 @@
|
||||
# - [0xD3DB0, data, fox_rcp]
|
||||
# - [0xD5670, data, sf_BB360]
|
||||
# - [0xD5690, data, sf_versus]
|
||||
# - [0xD5910, data, ???]
|
||||
# - [0xD5910, data, sf_C3BB0]
|
||||
|
||||
# RODATA - game engine
|
||||
- [0xD5920, .rodata, sf_2F300]
|
||||
- [0xD5A10, .rodata, sf_2F300]
|
||||
- [0xD5CF0, .rodata, sf_36930]
|
||||
- [0xD61D0, .rodata, sf_43AC0]
|
||||
- [0xD61F0, .rodata, sf_43E80]
|
||||
|
Loading…
Reference in New Issue
Block a user