mirror of
https://github.com/zeldaret/oot
synced 2026-06-23 09:19:53 -04:00
Decompile speed_meter.c and add VIEWPORT_INIT macro (#127)
* Decompile speed_meter.c and add VIEWPORT_INIT macro - speed_meter.c: OK - Add VIEWPORT_INIT(viewport, by, rx, ty, lx) macro * get rid of some magic numbers * use early return instead of a big if block in SpeedMeter_DrawTimeEntries
This commit is contained in:
+7
-7
@@ -1602,13 +1602,13 @@ void PadMgr_Init(PadMgr* padmgr, OSMesgQueue* siIntMsgQ, UNK_TYPE arg2, OSId id,
|
||||
// ? func_800C95F8(?);
|
||||
void func_800C9644(u32 a0);
|
||||
// ? func_800C9874(?);
|
||||
// ? func_800C9940(?);
|
||||
// ? func_800C9998(?);
|
||||
// ? func_800C99BC(?);
|
||||
// ? func_800C99C4(?);
|
||||
// ? func_800C9E08(?);
|
||||
// ? func_800C9E44(?);
|
||||
// ? func_800CA104(?);
|
||||
void SpeedMeter_InitImpl(SpeedMeter* this, u32 arg1, u32 y);
|
||||
void SpeedMeter_Init(SpeedMeter* this);
|
||||
void SpeedMeter_Destroy(SpeedMeter* this);
|
||||
void SpeedMeter_DrawTimeEntries(SpeedMeter* this, GraphicsContext* gfxCtx);
|
||||
void SpeedMeter_InitAllocEntry(SpeedMeterAllocEntry* entry, u32 maxval, u32 val, u16 backColor, u16 foreColor, u32 ulx, u32 lrx, u32 uly, u32 lry);
|
||||
void SpeedMeter_DrawAllocEntry(SpeedMeterAllocEntry* this, GraphicsContext* gfxCtx);
|
||||
void SpeedMeter_DrawAllocEntries(SpeedMeter* meter, GraphicsContext* gfxCtx, GameState* state);
|
||||
void SysCfb_Init(s32 n64dd);
|
||||
u32 SysCfb_GetFbPtr(s32 idx);
|
||||
u32 SysCfb_GetFbEnd();
|
||||
|
||||
@@ -69,4 +69,10 @@
|
||||
*/
|
||||
#define VTX(x,y,z,s,t,crnx,cgny,cbnz,a) { { { x, y, z }, 0, { s, t }, { crnx, cgny, cbnz, a }, }, }
|
||||
|
||||
#define VIEWPORT_INIT(viewport, by, rx, ty, lx) \
|
||||
viewport.bottomY = by; \
|
||||
viewport.rightX = rx; \
|
||||
viewport.topY = ty; \
|
||||
viewport.leftX = lx;
|
||||
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -624,12 +624,12 @@ extern s32 gScreenWidth;
|
||||
extern s32 gScreenHeight;
|
||||
extern u32 gSystemHeapSize;
|
||||
extern volatile u32 D_8012D290;
|
||||
//extern ? D_8012D2A0;
|
||||
extern Mtx gMtxClear;
|
||||
extern MtxF gMtxFClear;
|
||||
extern u8 D_8012DBB0;
|
||||
extern u32 D_8012DBC0;
|
||||
extern volatile u32 gIrqMgrResetStatus;
|
||||
extern volatile OSTime gIrqMgrRetraceTime;
|
||||
extern u32 D_8012DBA0;
|
||||
extern u32 D_8012DBA4;
|
||||
extern s32 gDebugArenaLogSeverity;
|
||||
@@ -3488,7 +3488,7 @@ extern u8 D_801610DA;
|
||||
//extern ? D_80161360;
|
||||
extern s32 gTrnsnUnkState;
|
||||
extern Color_RGBA8 D_801614B0;
|
||||
//extern ? D_801664D0;
|
||||
extern SpeedMeter gSpeedMeter;
|
||||
//extern ? D_801664F0;
|
||||
//extern ? D_80166500;
|
||||
//extern ? D_80166510;
|
||||
@@ -3528,7 +3528,7 @@ extern volatile OSTime D_8016A568;
|
||||
//extern ? D_8016A570;
|
||||
//extern ? D_8016A574;
|
||||
extern volatile OSTime D_8016A580;
|
||||
//extern ? D_8016A588;
|
||||
extern SpeedMeterTimeEntry* gSpeedMeterTimeEntryPtr;
|
||||
//extern ? D_8016A590;
|
||||
//extern ? D_8016A594;
|
||||
//extern ? D_8016A598;
|
||||
|
||||
@@ -1720,4 +1720,28 @@ typedef struct {
|
||||
SkelAnime skelAnime;
|
||||
} PSkinAwb; // size = 0x90
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x18];
|
||||
/* 0x18 */ s32 unk_18;
|
||||
/* 0x1C */ s32 y;
|
||||
} SpeedMeter; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 maxval;
|
||||
/* 0x04 */ s32 val;
|
||||
/* 0x08 */ u16 backColor;
|
||||
/* 0x0A */ u16 foreColor;
|
||||
/* 0x0C */ s32 ulx;
|
||||
/* 0x10 */ s32 lrx;
|
||||
/* 0x14 */ s32 uly;
|
||||
/* 0x18 */ s32 lry;
|
||||
} SpeedMeterAllocEntry; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSTime* time;
|
||||
/* 0x04 */ u8 x;
|
||||
/* 0x05 */ u8 y;
|
||||
/* 0x06 */ u16 color;
|
||||
} SpeedMeterTimeEntry; // size = 0x08
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user