mirror of https://github.com/zeldaret/mm.git
z_overlay and z_fbdemo_dlftbls (Transition overlay handling), clean up a lot of u32s used to store pointers (#1073)
* overlay matches * prototypes * fbdemo too * virtual to physical * names, cleanup, etc * bss reordering * uintptr stuff * fixed now? * one fix * headers and such * fixes'n'stuff * XXX action * docs of a sort * useless error codes * n * format * header? I barely know her! Co-authored-by: petrie911 <petrie911@users.noreply.github.com>
This commit is contained in:
parent
8cd48db087
commit
2006a65ba6
|
@ -7,12 +7,12 @@ void bootproc(void);
|
|||
void Idle_ThreadEntry(void* arg);
|
||||
void ViConfig_UpdateVi(u32 mode);
|
||||
void ViConfig_UpdateBlack(void);
|
||||
s32 DmaMgr_DmaRomToRam(u32 rom, void* ram, size_t size);
|
||||
s32 DmaMgr_DmaRomToRam(uintptr_t rom, void* ram, size_t size);
|
||||
s32 DmaMgr_DmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction);
|
||||
DmaEntry* DmaMgr_FindDmaEntry(u32 vrom);
|
||||
u32 DmaMgr_TranslateVromToRom(u32 vrom);
|
||||
s32 DmaMgr_FindDmaIndex(u32 vrom);
|
||||
const char* func_800809F4(u32 param_1);
|
||||
DmaEntry* DmaMgr_FindDmaEntry(uintptr_t vrom);
|
||||
u32 DmaMgr_TranslateVromToRom(uintptr_t vrom);
|
||||
s32 DmaMgr_FindDmaIndex(uintptr_t vrom);
|
||||
const char* func_800809F4(uintptr_t param_1);
|
||||
void DmaMgr_ProcessMsg(DmaRequest* req);
|
||||
void DmaMgr_ThreadEntry(void* arg);
|
||||
s32 DmaMgr_SendRequestImpl(DmaRequest* request, void* vramStart, uintptr_t vromStart, size_t size, UNK_TYPE4 unused, OSMesgQueue* queue, void* msg);
|
||||
|
@ -22,7 +22,7 @@ void DmaMgr_Stop(void);
|
|||
void* Yaz0_FirstDMA(void);
|
||||
void* Yaz0_NextDMA(void* curSrcPos);
|
||||
s32 Yaz0_DecompressImpl(u8* src, u8* dst);
|
||||
void Yaz0_Decompress(u32 romStart, void* dst, size_t size);
|
||||
void Yaz0_Decompress(uintptr_t romStart, void* dst, size_t size);
|
||||
void IrqMgr_AddClient(IrqMgr* irqmgr, IrqMgrClient* client, OSMesgQueue* msgQueue);
|
||||
void IrqMgr_RemoveClient(IrqMgr* irqmgr, IrqMgrClient* remove);
|
||||
void IrqMgr_SendMesgForClient(IrqMgr* irqmgr, OSMesg msg);
|
||||
|
@ -256,7 +256,7 @@ s32 __osSpRawStartDma(s32 direction, void* devAddr, void* dramAddr, size_t size)
|
|||
s32 __osSiRawStartDma(s32 direction, void* dramAddr);
|
||||
s32 osEPiLinkHandle(OSPiHandle* handle);
|
||||
void osViBlack(u8 active);
|
||||
s32 __osSiRawReadIo(u32 devAddr, u32* data);
|
||||
s32 __osSiRawReadIo(uintptr_t devAddr, u32* data);
|
||||
OSId osGetThreadId(OSThread* t);
|
||||
void osSpTaskYield(void);
|
||||
s32 __osPfsGetNextPage(OSPfs* pfs, u8* bank, __OSInode* inode, __OSInodeUnit* page);
|
||||
|
@ -280,7 +280,7 @@ void __osPiGetAccess(void);
|
|||
void __osPiRelAccess(void);
|
||||
void __osDevMgrMain(void* arg);
|
||||
// void func_8008C640(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7, UNK_TYPE1 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14, UNK_TYPE4 param_15, UNK_TYPE4 param_16, UNK_TYPE4 param_17, UNK_TYPE4 param_18);
|
||||
s32 __osPiRawStartDma(s32 direction, u32 devAddr, void* dramAddr, size_t size);
|
||||
s32 __osPiRawStartDma(s32 direction, uintptr_t devAddr, void* dramAddr, size_t size);
|
||||
u16 __osSumcalc(u8* ptr, s32 length);
|
||||
s32 __osIdCheckSum(u16* ptr, u16* checkSum, u16* idSum);
|
||||
s32 __osRepairPackId(OSPfs* pfs, __OSPackId* badid, __OSPackId* newid);
|
||||
|
@ -322,11 +322,11 @@ s32 __osSiDeviceBusy(void);
|
|||
s32 osJamMesg(OSMesgQueue* mq, OSMesg msg, s32 flag);
|
||||
void osSetThreadPri(OSThread* t, OSPri p);
|
||||
OSPri osGetThreadPri(OSThread* t);
|
||||
s32 __osEPiRawReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
|
||||
s32 __osEPiRawReadIo(OSPiHandle* handle, uintptr_t devAddr, u32* data);
|
||||
void osViSwapBuffer(void* frameBufPtr);
|
||||
void guPositionF(float mf[4][4], f32 rot, f32 pitch, f32 yaw, f32 scale, f32 x, f32 y, f32 z);
|
||||
void guPosition(Mtx* m, f32 rot, f32 pitch, f32 yaw, f32 scale, f32 x, f32 y, f32 z);
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, uintptr_t cartAddr, void* dramAddr, size_t size);
|
||||
OSYieldResult osSpTaskYielded(OSTask* task);
|
||||
s32 bcmp(void* __s1, void* __s2, size_t __n);
|
||||
OSTime osGetTime(void);
|
||||
|
@ -359,7 +359,7 @@ void __osViInit(void);
|
|||
void __osViSwapContext(void);
|
||||
OSMesgQueue* osPiGetCmdQueue(void);
|
||||
f32 cosf(f32 __x);
|
||||
s32 osEPiReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
|
||||
s32 osEPiReadIo(OSPiHandle* handle, uintptr_t devAddr, u32* data);
|
||||
void osViSetSpecialFeatures(u32 func);
|
||||
s16 coss(u16 x);
|
||||
void osSetTime(OSTime ticks);
|
||||
|
@ -380,13 +380,13 @@ u32 __osGetFpcCsr(void);
|
|||
// void __osPfsCheckRamArea(void);
|
||||
// void osPfsChecker(void);
|
||||
u32 osAiGetLength(void);
|
||||
s32 osEPiWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
||||
s32 osEPiWriteIo(OSPiHandle* handle, uintptr_t devAddr, u32 data);
|
||||
void osMapTLBRdb(void);
|
||||
void osYieldThread(void);
|
||||
void guTranslate(Mtx* mtx, f32 x, f32 y, f32 z);
|
||||
u32 __osGetCause(void);
|
||||
s32 __osContRamWrite(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer, s32 force);
|
||||
s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
||||
s32 __osEPiRawWriteIo(OSPiHandle* handle, uintptr_t devAddr, u32 data);
|
||||
s32 osSetTimer(OSTimer* t, OSTime value, OSTime interval, OSMesgQueue* mq, OSMesg msg);
|
||||
void _Ldtob(_Pft* args, u8 type);
|
||||
// void _Ldunscale(void);
|
||||
|
@ -394,7 +394,7 @@ void _Genld(_Pft* px, u8 code, u8* p, s16 nsig, s16 xexp);
|
|||
ldiv_t ldiv(long numer, long denom);
|
||||
lldiv_t lldiv(long long numer, long long denom);
|
||||
void _Litob(_Pft* args, u8 type);
|
||||
s32 __osSiRawWriteIo(u32 devAddr, u32 data);
|
||||
s32 __osSiRawWriteIo(uintptr_t devAddr, u32 data);
|
||||
u32 __osSpGetStatus(void);
|
||||
void __osSpSetStatus(u32 data);
|
||||
void osCreateViManager(OSPri pri);
|
||||
|
@ -1576,8 +1576,8 @@ f32 Math_Vec3f_StepTo(Vec3f* start, Vec3f* target, f32 speed);
|
|||
void Lib_Nop801004FC(void);
|
||||
void* Lib_SegmentedToVirtual(void* ptr);
|
||||
void* Lib_SegmentedToVirtualNull(void* ptr);
|
||||
void* Lib_VirtualToPhysical(void* ptr);
|
||||
void* Lib_PhysicalToVirtual(void* ptr);
|
||||
void* Lib_PhysicalToVirtualNull(void* ptr);
|
||||
void LifeMeter_Init(PlayState* play);
|
||||
void LifeMeter_UpdateColors(PlayState* play);
|
||||
s32 LifeMeter_SaveInterfaceHealth(PlayState* play);
|
||||
|
@ -2401,8 +2401,8 @@ void KaleidoScopeCall_Init(PlayState* play);
|
|||
void KaleidoScopeCall_Destroy(PlayState* play);
|
||||
void KaleidoScopeCall_Update(PlayState* play);
|
||||
void KaleidoScopeCall_Draw(PlayState* play);
|
||||
// void func_80163C90(void);
|
||||
// void func_80163D80(void);
|
||||
void Transition_Init(TransitionContext* transitionCtx);
|
||||
void Transition_Destroy(TransitionContext* transitionCtx);
|
||||
// void func_80163DC0(void);
|
||||
// void func_8016418C(void);
|
||||
// void func_8016424C(void);
|
||||
|
@ -2420,6 +2420,8 @@ void* TransitionFade_Init(void* param_1);
|
|||
// void TransitionFade_IsDone(void);
|
||||
// void TransitionFade_SetColor(void);
|
||||
// void TransitionFade_SetType(void);
|
||||
void TransitionOverlay_ClearLoadInfo(TransitionOverlay *overlayEntry);
|
||||
void TransitionOverlay_SetSegment(TransitionOverlay *overlayEntry, void* vramStart, void* vramEnd, uintptr_t vromStart, uintptr_t vromEnd);
|
||||
void TransitionCircle_Start(void* thisx);
|
||||
void* TransitionCircle_Init(void* thisx);
|
||||
void TransitionCircle_Destroy(void* thisx);
|
||||
|
@ -2430,10 +2432,10 @@ void TransitionCircle_LoadAndSetTexture(Gfx** gfxp, TexturePtr texture, s32 fmt,
|
|||
f32 arg6);
|
||||
void TransitionCircle_Draw(void* thisx, Gfx** gfxp);
|
||||
s32 TransitionCircle_IsDone(void* thisx);
|
||||
// void func_801651B0(void);
|
||||
// void func_80165224(void);
|
||||
// void func_80165288(void);
|
||||
// void func_8016537C(void);
|
||||
void* TransitionOverlay_VramToRam(TransitionOverlay *overlayEntry, void* vramAddr);
|
||||
void TransitionOverlay_VramToRamArray(TransitionOverlay *overlayEntry, void** vramAddrs, s32 count);
|
||||
s32 TransitionOverlay_Load(TransitionOverlay *overlayEntry);
|
||||
s32 TransitionOverlay_Free(TransitionOverlay *overlayEntry);
|
||||
void func_80165438(UNK_PTR param_1);
|
||||
// void func_80165444(s32 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5);
|
||||
// void func_80165460(void);
|
||||
|
|
|
@ -610,4 +610,12 @@ extern ActorInit Oceff_Wipe7_InitVars;
|
|||
extern ActorInit Shot_Sun_InitVars;
|
||||
extern ActorInit TG_Sw_InitVars;
|
||||
|
||||
extern TransitionInit TransitionFade_InitVars;
|
||||
extern TransitionInit TransitionTriforce_InitVars;
|
||||
extern TransitionInit TransitionWipe1_InitVars;
|
||||
extern TransitionInit TransitionWipe3_InitVars;
|
||||
extern TransitionInit TransitionWipe4_InitVars;
|
||||
extern TransitionInit TransitionCircle_InitVars;
|
||||
extern TransitionInit TransitionWipe5_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
10
include/os.h
10
include/os.h
|
@ -47,7 +47,7 @@ typedef struct {
|
|||
/* 0x04 */ u16 transferMode;
|
||||
/* 0x06 */ u16 blockNum;
|
||||
/* 0x08 */ s32 sectorNum;
|
||||
/* 0x0C */ u32 devAddr;
|
||||
/* 0x0C */ uintptr_t devAddr;
|
||||
/* 0x10 */ u32 bmCtlShadow;
|
||||
/* 0x14 */ u32 seqCtlShadow;
|
||||
/* 0x18 */ __OSBlockInfo block[2];
|
||||
|
@ -62,7 +62,7 @@ typedef struct OSPiHandle {
|
|||
/* 0x07 */ u8 relDuration;
|
||||
/* 0x08 */ u8 pulse;
|
||||
/* 0x09 */ u8 domain;
|
||||
/* 0x0C */ u32 baseAddress;
|
||||
/* 0x0C */ uintptr_t baseAddress;
|
||||
/* 0x10 */ u32 speed;
|
||||
/* 0x14 */ __OSTranxInfo transferInfo;
|
||||
} OSPiHandle; // size = 0x74
|
||||
|
@ -70,7 +70,7 @@ typedef struct OSPiHandle {
|
|||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x4 */ u32 address;
|
||||
/* 0x4 */ uintptr_t address;
|
||||
} OSPiInfo; // size = 0x8
|
||||
|
||||
|
||||
|
@ -97,8 +97,8 @@ typedef struct {
|
|||
/* 0x08 */ OSMesgQueue* cmdQueue;
|
||||
/* 0x0C */ OSMesgQueue* evtQueue;
|
||||
/* 0x10 */ OSMesgQueue* acsQueue;
|
||||
/* 0x14 */ s32 (*piDmaCallback)(s32, u32, void*, size_t);
|
||||
/* 0x18 */ s32 (*epiDmaCallback)(OSPiHandle*, s32, u32, void*, size_t);
|
||||
/* 0x14 */ s32 (*piDmaCallback)(s32, uintptr_t, void*, size_t);
|
||||
/* 0x18 */ s32 (*epiDmaCallback)(OSPiHandle*, s32, uintptr_t, void*, size_t);
|
||||
} OSDevMgr; // size = 0x1C
|
||||
|
||||
typedef u64 OSTime;
|
||||
|
|
|
@ -12,8 +12,8 @@ typedef struct {
|
|||
/* 0x08 */ OSMesgQueue* cmdQueue;
|
||||
/* 0x0C */ OSMesgQueue* eventQueue;
|
||||
/* 0x10 */ OSMesgQueue* accessQueue;
|
||||
/* 0x14 */ s32 (*piDmaCallback)(s32, u32, void*, size_t);
|
||||
/* 0x18 */ s32 (*epiDmaCallback)(OSPiHandle*, s32, u32, void*, size_t);
|
||||
/* 0x14 */ s32 (*piDmaCallback)(s32, uintptr_t, void*, size_t);
|
||||
/* 0x18 */ s32 (*epiDmaCallback)(OSPiHandle*, s32, uintptr_t, void*, size_t);
|
||||
} OSMgrArgs; // size = 0x1C
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1471,9 +1471,7 @@ extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
|
|||
// extern UNK_TYPE4 D_801D0BB0;
|
||||
// extern UNK_TYPE1 D_801D0C80;
|
||||
// extern UNK_TYPE1 D_801D0CB0;
|
||||
extern const TransitionInit TransitionFade_InitVars;
|
||||
extern Gfx D_801D0D00[];
|
||||
extern const TransitionInit TransitionCircle_InitVars;
|
||||
extern s32 gDbgCamEnabled;
|
||||
// extern UNK_TYPE1 D_801D0D54;
|
||||
// extern UNK_TYPE2 D_801D0D58;
|
||||
|
|
|
@ -105,8 +105,8 @@ typedef enum {
|
|||
} AllocType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x00 */ uintptr_t vromStart;
|
||||
/* 0x04 */ uintptr_t vromEnd;
|
||||
/* 0x08 */ void* vramStart;
|
||||
/* 0x0C */ void* vramEnd;
|
||||
/* 0x10 */ void* loadedRamAddr; // original name: "allocp"
|
||||
|
|
|
@ -4,21 +4,21 @@
|
|||
#include "ultra64.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromAddr; // VROM address (source)
|
||||
/* 0x04 */ void* dramAddr; // DRAM address (destination)
|
||||
/* 0x08 */ u32 size; // File Transfer size
|
||||
/* 0x0C */ char* filename; // Filename for debugging
|
||||
/* 0x10 */ s32 line; // Line for debugging
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x00 */ uintptr_t vromAddr; // VROM address (source)
|
||||
/* 0x04 */ void* dramAddr; // DRAM address (destination)
|
||||
/* 0x08 */ u32 size; // File Transfer size
|
||||
/* 0x0C */ char* filename; // Filename for debugging
|
||||
/* 0x10 */ s32 line; // Line for debugging
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ OSMesgQueue* notifyQueue; // Message queue for the notification message
|
||||
/* 0x1C */ OSMesg notifyMsg; // Completion notification message
|
||||
/* 0x1C */ OSMesg notifyMsg; // Completion notification message
|
||||
} DmaRequest; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 vromStart;
|
||||
/* 0x4 */ u32 vromEnd;
|
||||
/* 0x8 */ u32 romStart;
|
||||
/* 0xC */ u32 romEnd;
|
||||
/* 0x0 */ uintptr_t vromStart;
|
||||
/* 0x4 */ uintptr_t vromEnd;
|
||||
/* 0x8 */ uintptr_t romStart;
|
||||
/* 0xC */ uintptr_t romEnd;
|
||||
} DmaEntry; // size = 0x10
|
||||
|
||||
#endif
|
||||
|
|
|
@ -248,8 +248,8 @@ typedef struct {
|
|||
} EffectSsInit; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x00 */ uintptr_t vromStart;
|
||||
/* 0x04 */ uintptr_t vromEnd;
|
||||
/* 0x08 */ void* vramStart;
|
||||
/* 0x0C */ void* vramEnd;
|
||||
/* 0x10 */ void* loadedRamAddr;
|
||||
|
|
|
@ -17,13 +17,42 @@ typedef struct {
|
|||
/* 0x20 */ s32 (*isDone)(void* transition);
|
||||
} TransitionInit; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
struct {
|
||||
/* 0x00 */ u32 count : 8;
|
||||
/* 0x00 */ uintptr_t addr : 24;
|
||||
};
|
||||
/* 0x00 */ u32 word;
|
||||
} loadInfo;
|
||||
/* 0x04 */ void* vramStart;
|
||||
/* 0x08 */ void* vramEnd;
|
||||
/* 0x0C */ uintptr_t vromStart;
|
||||
/* 0x10 */ uintptr_t vromEnd;
|
||||
/* 0x14 */ TransitionInit* initInfo;
|
||||
/* 0x18 */ size_t size;
|
||||
} TransitionOverlay;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ s16 transitionType;
|
||||
/* 0x002 */ s8 fbdemoType;
|
||||
/* 0x003 */ char unk_003[0x22B];
|
||||
/* 0x230 */ void* (*init)(void* transition);
|
||||
/* 0x234 */ void (*destroy)(void* transition);
|
||||
/* 0x238 */ void (*update)(void* transition, s32 updateRate);
|
||||
/* 0x23C */ void (*draw)(void* transition, Gfx** gfxP);
|
||||
/* 0x240 */ void (*start)(void* transition);
|
||||
/* 0x244 */ void (*setType)(void* transition, s32 type);
|
||||
/* 0x248 */ void (*setColor)(void* transition, u32 color);
|
||||
/* 0x24C */ void (*setEnvColor)(void* transition, u32 color);
|
||||
/* 0x250 */ s32 (*isDone)(void* transition);
|
||||
/* 0x254 */ char unk_254[0x4];
|
||||
} TransitionContext; // size = 0x258
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ char unk_0[0xC];
|
||||
} TransitionFade; // size = 0xC
|
||||
|
||||
extern const TransitionInit TransitionFade_InitVars;
|
||||
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ TRANSITION_CIRCLE_IN,
|
||||
/* 1 */ TRANSITION_CIRCLE_OUT,
|
||||
|
@ -40,7 +69,6 @@ typedef struct {
|
|||
/* 0x14 */ u8 direction; // Direction the circle is transitioning ( In / Out )
|
||||
/* 0x15 */ u8 maskType; // Positive / Negative mask type. Value of 0 will create a black circle
|
||||
/* 0x16 */ u8 isDone; // Signals when Transition is done updating
|
||||
/* 0x17 */ UNK_TYPE1 pad_17; // struct padding
|
||||
/* 0x18 */ TexturePtr texture;
|
||||
/* 0x1C */ u8 masks;
|
||||
/* 0x1D */ u8 maskt;
|
||||
|
@ -48,6 +76,4 @@ typedef struct {
|
|||
/* 0x1F */ s8 unk_1F; // Set to 0 and never used
|
||||
} TransitionCircle; // size = 0x20
|
||||
|
||||
extern const TransitionInit TransitionCircle_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
1
spec
1
spec
|
@ -549,7 +549,6 @@ beginseg
|
|||
include "build/src/code/z_kaleido_manager.o"
|
||||
include "build/src/code/z_kaleido_scope_call.o"
|
||||
include "build/src/code/z_fbdemo_dlftbls.o"
|
||||
include "build/data/code/code_801D0BB0.data.o"
|
||||
include "build/src/code/z_fbdemo.o"
|
||||
include "build/data/code/z_fbdemo.data.o"
|
||||
include "build/src/code/z_fbdemo_fade.o"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
u8 sYaz0DataBuffer[0x400];
|
||||
u8* sYaz0CurDataEnd;
|
||||
u32 sYaz0CurRomStart;
|
||||
uintptr_t sYaz0CurRomStart;
|
||||
u32 sYaz0CurSize;
|
||||
u8* sYaz0MaxPtr;
|
||||
u8* D_8009BE20;
|
||||
|
@ -123,7 +123,7 @@ s32 Yaz0_DecompressImpl(u8* src, u8* dst) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void Yaz0_Decompress(u32 romStart, void* dst, size_t size) {
|
||||
void Yaz0_Decompress(uintptr_t romStart, void* dst, size_t size) {
|
||||
s32 status;
|
||||
u32 pad;
|
||||
char sp80[0x50];
|
||||
|
|
|
@ -60,7 +60,7 @@ s32 DmaMgr_DmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) {
|
|||
return osEPiStartDma(pihandle, mb, direction);
|
||||
}
|
||||
|
||||
DmaEntry* DmaMgr_FindDmaEntry(u32 vrom) {
|
||||
DmaEntry* DmaMgr_FindDmaEntry(uintptr_t vrom) {
|
||||
DmaEntry* curr;
|
||||
|
||||
for (curr = dmadata; curr->vromEnd != 0; curr++) {
|
||||
|
@ -77,7 +77,7 @@ DmaEntry* DmaMgr_FindDmaEntry(u32 vrom) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
u32 DmaMgr_TranslateVromToRom(u32 vrom) {
|
||||
u32 DmaMgr_TranslateVromToRom(uintptr_t vrom) {
|
||||
DmaEntry* entry = DmaMgr_FindDmaEntry(vrom);
|
||||
|
||||
if (entry != NULL) {
|
||||
|
@ -95,7 +95,7 @@ u32 DmaMgr_TranslateVromToRom(u32 vrom) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
s32 DmaMgr_FindDmaIndex(u32 vrom) {
|
||||
s32 DmaMgr_FindDmaIndex(uintptr_t vrom) {
|
||||
DmaEntry* entry = DmaMgr_FindDmaEntry(vrom);
|
||||
|
||||
if (entry != NULL) {
|
||||
|
|
|
@ -1060,7 +1060,7 @@ void Actor_SetScale(Actor* actor, f32 scale) {
|
|||
}
|
||||
|
||||
void Actor_SetObjectDependency(PlayState* play, Actor* actor) {
|
||||
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[actor->objBankIndex].segment);
|
||||
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[actor->objBankIndex].segment);
|
||||
}
|
||||
|
||||
void Actor_Init(Actor* actor, PlayState* play) {
|
||||
|
|
|
@ -50,7 +50,7 @@ void EffectSs_DrawGEffect(PlayState* play, EffectSs* this, TexturePtr texture) {
|
|||
SkinMatrix_SetScale(&mfScale, scale, scale, scale);
|
||||
SkinMatrix_MtxFMtxFMult(&mfTrans, &play->billboardMtxF, &mfTrans11DA0);
|
||||
SkinMatrix_MtxFMtxFMult(&mfTrans11DA0, &mfScale, &mfResult);
|
||||
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(object);
|
||||
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(object);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x06, object);
|
||||
|
||||
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &mfResult);
|
||||
|
|
|
@ -84,7 +84,7 @@ EnDoor* EnHy_FindNearestDoor(Actor* actor, PlayState* play) {
|
|||
}
|
||||
|
||||
void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex) {
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[enHy->animObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[enHy->animObjIndex].segment);
|
||||
EnHy_ChangeAnim(&enHy->skelAnime, animIndex);
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ s32 EnHy_UpdateSkelAnime(EnHy* enHy, PlayState* play) {
|
|||
s32 isUpdated = false;
|
||||
|
||||
if (enHy->actor.draw != NULL) {
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[enHy->animObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[enHy->animObjIndex].segment);
|
||||
SkelAnime_Update(&enHy->skelAnime);
|
||||
isUpdated = true;
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ s32 EnHy_Init(EnHy* enHy, PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg
|
|||
enHy->actor.objBankIndex = enHy->skelLowerObjIndex;
|
||||
isInitialized = true;
|
||||
ActorShape_Init(&enHy->actor.shape, 0.0f, NULL, 0.0f);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[enHy->actor.objBankIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[enHy->actor.objBankIndex].segment);
|
||||
SkelAnime_InitFlex(play, &enHy->skelAnime, skeletonHeaderSeg, NULL, enHy->jointTable, enHy->morphTable,
|
||||
ENHY_LIMB_MAX);
|
||||
EnHy_ChangeObjectAndAnim(enHy, play, animIndex);
|
||||
|
|
|
@ -13,7 +13,7 @@ Gfx D_801D0D00[] = {
|
|||
};
|
||||
|
||||
//! @bug: TransitionCircle_Update should take an additional argument `s32 updateRate`
|
||||
const TransitionInit TransitionCircle_InitVars = {
|
||||
TransitionInit TransitionCircle_InitVars = {
|
||||
TransitionCircle_Init, TransitionCircle_Destroy, (void*)TransitionCircle_Update, TransitionCircle_Draw,
|
||||
TransitionCircle_Start, TransitionCircle_SetType, TransitionCircle_SetColor, NULL,
|
||||
TransitionCircle_IsDone,
|
||||
|
|
|
@ -1,5 +1,54 @@
|
|||
#include "global.h"
|
||||
#include "initvars.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_dlftbls/func_80163C90.s")
|
||||
#define TRANSITION_OVERLAY(name, filename) \
|
||||
{ \
|
||||
{ 0, 0 }, SEGMENT_START(ovl_##filename), SEGMENT_END(ovl_##filename), SEGMENT_ROM_START(ovl_##filename), \
|
||||
SEGMENT_ROM_END(ovl_##filename), &name##_InitVars, sizeof(name) \
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_dlftbls/func_80163D80.s")
|
||||
#define TRANSITION_OVERLAY_INTERNAL(name) \
|
||||
{ { 0, 0 }, NULL, NULL, 0, 0, &name##_InitVars, sizeof(name) }
|
||||
|
||||
#define TRANSITION_OVERLAY_UNSET \
|
||||
{ 0 }
|
||||
|
||||
TransitionOverlay gTransitionOverlayTable[] = {
|
||||
TRANSITION_OVERLAY_INTERNAL(TransitionFade), TRANSITION_OVERLAY(TransitionTriforce, fbdemo_triforce),
|
||||
TRANSITION_OVERLAY(TransitionWipe1, fbdemo_wipe1), TRANSITION_OVERLAY(TransitionWipe3, fbdemo_wipe3),
|
||||
TRANSITION_OVERLAY(TransitionWipe4, fbdemo_wipe4), TRANSITION_OVERLAY_INTERNAL(TransitionCircle),
|
||||
TRANSITION_OVERLAY(TransitionWipe5, fbdemo_wipe5),
|
||||
};
|
||||
|
||||
void Transition_Init(TransitionContext* transitionCtx) {
|
||||
TransitionOverlay* overlayEntry;
|
||||
ptrdiff_t relocOffset;
|
||||
TransitionInit* initInfo[1];
|
||||
|
||||
overlayEntry = &gTransitionOverlayTable[transitionCtx->fbdemoType];
|
||||
TransitionOverlay_Load(overlayEntry);
|
||||
|
||||
relocOffset = (uintptr_t)Lib_PhysicalToVirtual(overlayEntry->loadInfo.addr) - (uintptr_t)overlayEntry->vramStart;
|
||||
initInfo[0] = NULL;
|
||||
initInfo[0] = (overlayEntry->initInfo != NULL) ? (TransitionInit*)((uintptr_t)overlayEntry->initInfo + relocOffset)
|
||||
: initInfo[0];
|
||||
|
||||
transitionCtx->init = initInfo[0]->init;
|
||||
transitionCtx->destroy = initInfo[0]->destroy;
|
||||
transitionCtx->start = initInfo[0]->start;
|
||||
transitionCtx->isDone = initInfo[0]->isDone;
|
||||
transitionCtx->draw = initInfo[0]->draw;
|
||||
transitionCtx->update = initInfo[0]->update;
|
||||
transitionCtx->setType = initInfo[0]->setType;
|
||||
transitionCtx->setColor = initInfo[0]->setColor;
|
||||
transitionCtx->setEnvColor = initInfo[0]->setEnvColor;
|
||||
}
|
||||
|
||||
void Transition_Destroy(TransitionContext* transitionCtx) {
|
||||
TransitionOverlay_Free(&gTransitionOverlayTable[transitionCtx->fbdemoType]);
|
||||
}
|
||||
|
|
|
@ -704,11 +704,29 @@ void* Lib_SegmentedToVirtual(void* ptr) {
|
|||
void* Lib_SegmentedToVirtualNull(void* ptr) {
|
||||
if (((uintptr_t)ptr >> 28) == 0) {
|
||||
return ptr;
|
||||
} else {
|
||||
return SEGMENTED_TO_VIRTUAL(ptr);
|
||||
}
|
||||
|
||||
return SEGMENTED_TO_VIRTUAL(ptr);
|
||||
}
|
||||
|
||||
/*
|
||||
* Converts a 32-bit virtual address (0x80XXXXXX) to a 24-bit physical address (0xXXXXXX). The NULL case accounts for
|
||||
* the NULL virtual address being 0x00000000 and not 0x80000000. Used by transition overlays, which store their
|
||||
* addresses in 24-bit fields.
|
||||
*/
|
||||
void* Lib_VirtualToPhysical(void* ptr) {
|
||||
if (ptr == NULL) {
|
||||
return NULL;
|
||||
} else {
|
||||
return (void*)VIRTUAL_TO_PHYSICAL(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Converts a 24-bit physical address (0xXXXXXX) to a 32-bit virtual address (0x80XXXXXX). The NULL case accounts for
|
||||
* the NULL virtual address being 0x00000000 and not 0x80000000. Used by transition overlays, which store their
|
||||
* addresses in 24-bit fields.
|
||||
*/
|
||||
void* Lib_PhysicalToVirtual(void* ptr) {
|
||||
if (ptr == NULL) {
|
||||
return NULL;
|
||||
|
@ -716,11 +734,3 @@ void* Lib_PhysicalToVirtual(void* ptr) {
|
|||
return (void*)PHYSICAL_TO_VIRTUAL(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
void* Lib_PhysicalToVirtualNull(void* ptr) {
|
||||
if (ptr == NULL) {
|
||||
return NULL;
|
||||
} else {
|
||||
return (void*)PHYSICAL_TO_VIRTUAL(ptr);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,103 @@
|
|||
/**
|
||||
* @file z_overlay.c
|
||||
*
|
||||
* Functions for handling transition overlays in memory
|
||||
*
|
||||
* Status codes returned from TransitionOverlay_Load and TransitionOverlay_Free:
|
||||
*
|
||||
* -1 : failed allocation or null reference
|
||||
* 0 : successfully loaded/freed overlay
|
||||
* 1 : successfully added/removed instance
|
||||
* 2 : overlay is loaded but has no instances (?) TODO: Figure out why this exists
|
||||
* 3 : internal overlay, so always loaded
|
||||
*/
|
||||
|
||||
#include "global.h"
|
||||
#include "z64load.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_801651B0.s")
|
||||
void* TransitionOverlay_VramToRam(TransitionOverlay* overlayEntry, void* vramAddr) {
|
||||
void* loadedRamAddr = Lib_PhysicalToVirtual(overlayEntry->loadInfo.addr);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165224.s")
|
||||
if ((loadedRamAddr != NULL) && (vramAddr >= overlayEntry->vramStart) && (vramAddr < overlayEntry->vramEnd)) {
|
||||
return ((uintptr_t)loadedRamAddr - (uintptr_t)overlayEntry->vramStart) + (uintptr_t)vramAddr;
|
||||
}
|
||||
return vramAddr;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165288.s")
|
||||
void TransitionOverlay_VramToRamArray(TransitionOverlay* overlayEntry, void** vramAddrs, s32 count) {
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_8016537C.s")
|
||||
for (i = 0; i < count; i++) {
|
||||
vramAddrs[i] = TransitionOverlay_VramToRam(overlayEntry, vramAddrs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165438.s")
|
||||
s32 TransitionOverlay_Load(TransitionOverlay* overlayEntry) {
|
||||
s32 count;
|
||||
void* loadedRamAddr;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165444.s")
|
||||
if (overlayEntry->vromStart == 0) {
|
||||
return 3;
|
||||
}
|
||||
if (Lib_PhysicalToVirtual(overlayEntry->loadInfo.addr) == NULL) {
|
||||
loadedRamAddr = ZeldaArena_Malloc(VRAM_PTR_SIZE(overlayEntry));
|
||||
|
||||
if (loadedRamAddr == NULL) {
|
||||
return -1;
|
||||
}
|
||||
Load2_LoadOverlay(overlayEntry->vromStart, overlayEntry->vromEnd, overlayEntry->vramStart,
|
||||
overlayEntry->vramEnd, loadedRamAddr);
|
||||
overlayEntry->loadInfo.addr = Lib_VirtualToPhysical(loadedRamAddr);
|
||||
overlayEntry->loadInfo.count = 1;
|
||||
return 0;
|
||||
} else {
|
||||
count = overlayEntry->loadInfo.count;
|
||||
if (count != 0) {
|
||||
count++;
|
||||
overlayEntry->loadInfo.count = count;
|
||||
if (count == 0) {
|
||||
return 2;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
s32 TransitionOverlay_Free(TransitionOverlay* overlayEntry) {
|
||||
s32 count;
|
||||
void* loadedRamAddr;
|
||||
|
||||
if (overlayEntry->vromStart == 0) {
|
||||
return 3;
|
||||
}
|
||||
loadedRamAddr = Lib_PhysicalToVirtual(overlayEntry->loadInfo.addr);
|
||||
if (loadedRamAddr != NULL) {
|
||||
count = overlayEntry->loadInfo.count;
|
||||
if (count != 0) {
|
||||
count--;
|
||||
overlayEntry->loadInfo.count = count;
|
||||
if (count == 0) {
|
||||
ZeldaArena_Free(loadedRamAddr);
|
||||
overlayEntry->loadInfo.addr = Lib_VirtualToPhysical(NULL);
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void TransitionOverlay_ClearLoadInfo(TransitionOverlay* overlayEntry) {
|
||||
overlayEntry->loadInfo.word = 0; // Equivalent to overlayEntry->loadInfo.count = 0, overlayEntry->loadInfo.addr = 0;
|
||||
}
|
||||
|
||||
void TransitionOverlay_SetSegment(TransitionOverlay* overlayEntry, void* vramStart, void* vramEnd, uintptr_t vromStart,
|
||||
uintptr_t vromEnd) {
|
||||
overlayEntry->vramStart = vramStart;
|
||||
overlayEntry->vramEnd = vramEnd;
|
||||
overlayEntry->vromStart = vromStart;
|
||||
overlayEntry->vromEnd = vromEnd;
|
||||
}
|
||||
|
|
|
@ -1107,7 +1107,7 @@ void Player_DrawGetItemImpl(PlayState* play, Player* player, Vec3f* refPos, s32
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(player->giObjectSegment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(player->giObjectSegment);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, player->giObjectSegment);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x06, player->giObjectSegment);
|
||||
|
@ -1187,7 +1187,7 @@ void func_80127488(PlayState* play, Player* player, u8 alpha) {
|
|||
}
|
||||
|
||||
void Player_DrawCouplesMask(PlayState* play, Player* player) {
|
||||
gSegments[0xA] = PHYSICAL_TO_VIRTUAL(player->maskObjectSegment);
|
||||
gSegments[0xA] = VIRTUAL_TO_PHYSICAL(player->maskObjectSegment);
|
||||
AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_meoto_Matanimheader_001CD8));
|
||||
}
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ s32 Room_HandleLoadCallbacks(PlayState* play, RoomContext* roomCtx) {
|
|||
roomCtx->unk31 = 0;
|
||||
roomCtx->curRoom.segment = roomCtx->activeRoomVram;
|
||||
// TODO: Segment number enum
|
||||
gSegments[0x03] = PHYSICAL_TO_VIRTUAL(roomCtx->activeRoomVram);
|
||||
gSegments[0x03] = VIRTUAL_TO_PHYSICAL(roomCtx->activeRoomVram);
|
||||
|
||||
Scene_ProcessHeader(play, (SceneCmd*)roomCtx->curRoom.segment);
|
||||
func_80123140(play, GET_PLAYER(play));
|
||||
|
@ -130,7 +130,7 @@ s32 Room_HandleLoadCallbacks(PlayState* play, RoomContext* roomCtx) {
|
|||
void Room_Draw(PlayState* play, Room* room, u32 flags) {
|
||||
if (room->segment != NULL) {
|
||||
// TODO: Segment number enum
|
||||
gSegments[0x03] = PHYSICAL_TO_VIRTUAL(room->segment);
|
||||
gSegments[0x03] = VIRTUAL_TO_PHYSICAL(room->segment);
|
||||
roomDrawFuncs[room->mesh->type0.type](play, room, flags);
|
||||
}
|
||||
return;
|
||||
|
|
|
@ -52,7 +52,7 @@ void Object_InitBank(GameState* gameState, ObjectContext* objectCtx) {
|
|||
objectCtx->spaceEnd = (void*)((u32)objectCtx->spaceStart + spaceSize);
|
||||
objectCtx->mainKeepIndex = Object_Spawn(objectCtx, GAMEPLAY_KEEP);
|
||||
|
||||
gSegments[0x04] = PHYSICAL_TO_VIRTUAL(objectCtx->status[objectCtx->mainKeepIndex].segment);
|
||||
gSegments[0x04] = VIRTUAL_TO_PHYSICAL(objectCtx->status[objectCtx->mainKeepIndex].segment);
|
||||
}
|
||||
|
||||
void Object_UpdateBank(ObjectContext* objectCtx) {
|
||||
|
@ -108,7 +108,7 @@ s32 Object_IsLoaded(ObjectContext* objectCtx, s32 index) {
|
|||
void Object_LoadAll(ObjectContext* objectCtx) {
|
||||
s32 i;
|
||||
s32 id;
|
||||
u32 vromSize;
|
||||
uintptr_t vromSize;
|
||||
|
||||
for (i = 0; i < objectCtx->num; i++) {
|
||||
id = objectCtx->status[i].id;
|
||||
|
@ -124,7 +124,7 @@ void Object_LoadAll(ObjectContext* objectCtx) {
|
|||
|
||||
void* func_8012F73C(ObjectContext* objectCtx, s32 iParm2, s16 id) {
|
||||
u32 addr;
|
||||
u32 vromSize;
|
||||
uintptr_t vromSize;
|
||||
RomFile* fileTableEntry;
|
||||
|
||||
objectCtx->status[iParm2].id = -id;
|
||||
|
@ -224,7 +224,7 @@ void Scene_HeaderCmdSpecialFiles(PlayState* play, SceneCmd* cmd) {
|
|||
if (cmd->specialFiles.subKeepIndex != 0) {
|
||||
play->objectCtx.subKeepIndex = Object_Spawn(&play->objectCtx, cmd->specialFiles.subKeepIndex);
|
||||
// TODO: Segment number enum?
|
||||
gSegments[0x05] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[play->objectCtx.subKeepIndex].segment);
|
||||
gSegments[0x05] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[play->objectCtx.subKeepIndex].segment);
|
||||
}
|
||||
|
||||
if (cmd->specialFiles.cUpElfMsgNum != 0) {
|
||||
|
@ -350,7 +350,7 @@ void Scene_LoadAreaTextures(PlayState* play, s32 fileIndex) {
|
|||
{ SEGMENT_ROM_START(scene_texture_07), SEGMENT_ROM_END(scene_texture_07) },
|
||||
{ SEGMENT_ROM_START(scene_texture_08), SEGMENT_ROM_END(scene_texture_08) },
|
||||
};
|
||||
u32 vromStart = sceneTextureFiles[fileIndex].vromStart;
|
||||
uintptr_t vromStart = sceneTextureFiles[fileIndex].vromStart;
|
||||
size_t size = sceneTextureFiles[fileIndex].vromEnd - vromStart;
|
||||
|
||||
if (size != 0) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size) {
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, uintptr_t cartAddr, void* dramAddr, size_t size) {
|
||||
s32 status;
|
||||
OSPiHandle* curHandle;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 __osSiRawReadIo(u32 devAddr, u32* data) {
|
||||
s32 __osSiRawReadIo(uintptr_t devAddr, u32* data) {
|
||||
if (__osSiDeviceBusy()) {
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 __osSiRawWriteIo(u32 devAddr, u32 data) {
|
||||
s32 __osSiRawWriteIo(uintptr_t devAddr, u32 data) {
|
||||
if (__osSiDeviceBusy() != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
* - Effect Update/Draw
|
||||
* - Seaweed
|
||||
*/
|
||||
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "z_boss_03.h"
|
||||
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
|
||||
|
@ -2156,7 +2155,7 @@ void Boss03_SetObject(PlayState* play, s16 objectId) {
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[objectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[objectIndex].segment);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.status[objectIndex].segment);
|
||||
|
|
|
@ -311,7 +311,7 @@ void DmStk_LoadObjectForAnimation(DmStk* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (objectIndex >= 0) {
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[objectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1909,13 +1909,13 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
|
|||
(this->objectStk2ObjectIndex >= 0)) {
|
||||
Matrix_Push();
|
||||
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->objectStk2ObjectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objectStk2ObjectIndex].segment);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->objectStk2ObjectIndex].segment);
|
||||
|
||||
AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gSkullKidMajorasMaskCurseOverlayTexAnim));
|
||||
Gfx_DrawDListOpa(play, gSkullKidMajorasMaskCurseOverlayDL);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->objectStkObjectIndex].segment);
|
||||
|
||||
|
@ -2027,7 +2027,7 @@ void DmStk_Draw(Actor* thisx, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
|
|
|
@ -262,8 +262,8 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
|||
if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.headObjIndex].segment);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
|
@ -298,7 +298,7 @@ void EnBba01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
|
|||
if (limbIndex == BBA_LIMB_HEAD) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
|
||||
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
|
||||
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
|
|
|
@ -252,9 +252,9 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
|||
if (limbIndex == CNE_LIMB_HEAD) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.headObjIndex].segment);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
|
||||
*dList = gCneHeadBrownHairDL;
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
if (limbIndex == CNE_LIMB_HEAD) {
|
||||
|
@ -290,7 +290,7 @@ void EnCne01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
|
|||
if (limbIndex == CNE_LIMB_RIGHT_FOOT) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
|
||||
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
|
||||
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
|
|
|
@ -171,7 +171,7 @@ s32 func_80A515C4(EnDnk* this) {
|
|||
|
||||
void func_80A51648(EnDnk* this, PlayState* play) {
|
||||
if (SubS_IsObjectLoaded(this->unk_28E, play) == true) {
|
||||
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->unk_28E].segment);
|
||||
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->unk_28E].segment);
|
||||
this->actor.draw = func_80A52018;
|
||||
this->actor.objBankIndex = this->unk_28E;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 18.0f);
|
||||
|
|
|
@ -242,14 +242,14 @@ void EnNwc_CheckFound(EnNwc* this, PlayState* play) {
|
|||
|
||||
void EnNwc_LoadNiwSkeleton(EnNwc* this, PlayState* play) {
|
||||
if (Object_IsLoaded(&play->objectCtx, this->niwObjectIndex)) {
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->niwObjectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->niwObjectIndex].segment);
|
||||
|
||||
SkelAnime_InitFlex(play, &this->niwSkeleton, &gNiwSkeleton, &gNiwIdleAnim, this->jointTable, this->morphTable,
|
||||
NIW_LIMB_MAX);
|
||||
Animation_Change(&this->niwSkeleton, &gNiwIdleAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gNiwIdleAnim),
|
||||
ANIMMODE_LOOP, 0.0f);
|
||||
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->nwcObjectIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->nwcObjectIndex].segment);
|
||||
this->state = NWC_STATE_NIW_LOADED;
|
||||
EnNwc_ToggleState(this);
|
||||
}
|
||||
|
|
|
@ -788,7 +788,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
|
|||
if (((EnJg*)this->otherGoron)->flags & 1) {
|
||||
this->loadedObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_TAISOU);
|
||||
if (this->loadedObjIndex >= 0) {
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->loadedObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
|
||||
this->animInfoIndex = EN_S_GORO_ANIM_TAISOU_CHEER;
|
||||
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
|
||||
return true;
|
||||
|
@ -797,7 +797,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
|
|||
} else if ((this->animInfoIndex == EN_S_GORO_ANIM_TAISOU_CHEER) && !(((EnJg*)this->otherGoron)->flags & 1)) {
|
||||
this->loadedObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_OF1D_MAP);
|
||||
if (this->loadedObjIndex >= 0) {
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->loadedObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
|
||||
this->animInfoIndex = EN_S_GORO_ANIM_IDLE_STAND;
|
||||
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
|
||||
this->skelAnime.curFrame = this->skelAnime.endFrame;
|
||||
|
@ -1329,7 +1329,7 @@ void EnSGoro_Update(Actor* thisx, PlayState* play) {
|
|||
|
||||
this->actionFunc(this, play);
|
||||
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, 5);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->loadedObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
if (this->animInfoIndex != EN_S_GORO_ANIM_SLEEPY) {
|
||||
EnSGoro_UpdateAttentionTarget(this, play);
|
||||
|
|
|
@ -1305,7 +1305,7 @@ void EnSob1_Blink(EnSob1* this) {
|
|||
}
|
||||
|
||||
void EnSob1_ChangeObject(EnSob1* this, PlayState* play) {
|
||||
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
|
||||
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
|
||||
}
|
||||
|
||||
s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
|
||||
|
@ -1323,7 +1323,7 @@ s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
|
|||
|
||||
void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, ZORA_LIMB_MAX);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
|
||||
Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim),
|
||||
ANIMMODE_LOOP, 0.0f);
|
||||
this->actor.draw = EnSob1_ZoraShopkeeper_Draw;
|
||||
|
@ -1332,7 +1332,7 @@ void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
|
|||
|
||||
void EnSob1_GoronShopkeeper_Init(EnSob1* this, PlayState* play) {
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable, GORON_LIMB_MAX);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
|
||||
Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim),
|
||||
ANIMMODE_LOOP, 0.0f);
|
||||
this->actor.draw = EnSob1_GoronShopkeeper_Draw;
|
||||
|
|
|
@ -37,7 +37,7 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
|
|||
if ((objIndex >= 0) && (Object_IsLoaded(&play->objectCtx, objIndex))) {
|
||||
void* segBackup = gSegments[6];
|
||||
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(play->objectCtx.status[objIndex].segment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
|
||||
|
||||
this->pos = params->pos;
|
||||
this->velocity = params->velocity;
|
||||
|
@ -66,7 +66,7 @@ void EffectSsExtra_Draw(PlayState* play, u32 index, EffectSs* this) {
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(storedSegment);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(storedSegment);
|
||||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x06, storedSegment);
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ void TransitionTriforce_SetType(void* thisx, s32 type);
|
|||
void TransitionTriforce_SetColor(void* thisx, u32 color);
|
||||
s32 TransitionTriforce_IsDone(void* thisx);
|
||||
|
||||
const TransitionInit TransitionTriforce_InitVars = {
|
||||
TransitionInit TransitionTriforce_InitVars = {
|
||||
TransitionTriforce_Init, TransitionTriforce_Destroy, TransitionTriforce_Update, TransitionTriforce_Draw,
|
||||
TransitionTriforce_Start, TransitionTriforce_SetType, TransitionTriforce_SetColor, NULL,
|
||||
TransitionTriforce_IsDone,
|
||||
|
|
|
@ -28,6 +28,4 @@ typedef struct {
|
|||
/* 0x060 */ Mtx modelView[2][3];
|
||||
} TransitionTriforce; // size = 0x1E0
|
||||
|
||||
extern const TransitionInit TransitionTriforce_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -17,7 +17,7 @@ void TransitionWipe1_SetEnvColor(void* thisx, u32 color);
|
|||
s32 TransitionWipe1_IsDone(void* thisx);
|
||||
|
||||
#if 0
|
||||
const TransitionInit TransitionWipe1_InitVars = {
|
||||
TransitionInit TransitionWipe1_InitVars = {
|
||||
TransitionWipe1_Init,
|
||||
TransitionWipe1_Destroy,
|
||||
TransitionWipe1_Update,
|
||||
|
|
|
@ -7,6 +7,4 @@ typedef struct {
|
|||
/* 0x0000 */ char unk_0[0x218];
|
||||
} TransitionWipe1; // size = 0x218
|
||||
|
||||
extern const TransitionInit TransitionWipe1_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -17,7 +17,7 @@ void TransitionWipe3_SetEnvColor(void* thisx, u32 color);
|
|||
s32 TransitionWipe3_IsDone(void* thisx);
|
||||
|
||||
#if 0
|
||||
const TransitionInit TransitionWipe3_InitVars = {
|
||||
TransitionInit TransitionWipe3_InitVars = {
|
||||
TransitionWipe3_Init,
|
||||
TransitionWipe3_Destroy,
|
||||
TransitionWipe3_Update,
|
||||
|
|
|
@ -7,6 +7,4 @@ typedef struct {
|
|||
/* 0x0000 */ char unk_0[0x120];
|
||||
} TransitionWipe3; // size = 0x120
|
||||
|
||||
extern const TransitionInit TransitionWipe3_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -17,7 +17,7 @@ void TransitionWipe4_SetEnvColor(void* thisx, u32 color);
|
|||
s32 TransitionWipe4_IsDone(void* thisx);
|
||||
|
||||
#if 0
|
||||
const TransitionInit TransitionWipe4_InitVars = {
|
||||
TransitionInit TransitionWipe4_InitVars = {
|
||||
TransitionWipe4_Init,
|
||||
TransitionWipe4_Destroy,
|
||||
TransitionWipe4_Update,
|
||||
|
|
|
@ -7,6 +7,4 @@ typedef struct {
|
|||
/* 0x0000 */ char unk_0[0x28];
|
||||
} TransitionWipe4; // size = 0x28
|
||||
|
||||
extern const TransitionInit TransitionWipe4_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -17,7 +17,7 @@ void TransitionWipe5_SetEnvColor(void* thisx, u32 color);
|
|||
s32 TransitionWipe5_IsDone(void* thisx);
|
||||
|
||||
#if 0
|
||||
const TransitionInit TransitionWipe5_InitVars = {
|
||||
TransitionInit TransitionWipe5_InitVars = {
|
||||
TransitionWipe5_Init,
|
||||
TransitionWipe5_Destroy,
|
||||
TransitionWipe5_Update,
|
||||
|
|
|
@ -7,6 +7,4 @@ typedef struct {
|
|||
/* 0x0000 */ char unk_0[0x14];
|
||||
} TransitionWipe5; // size = 0x14
|
||||
|
||||
extern const TransitionInit TransitionWipe5_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1854,8 +1854,8 @@
|
|||
0x801004FC:("Lib_Nop801004FC",),
|
||||
0x80100504:("Lib_SegmentedToVirtual",),
|
||||
0x8010053C:("Lib_SegmentedToVirtualNull",),
|
||||
0x80100584:("Lib_PhysicalToVirtual",),
|
||||
0x801005A0:("Lib_PhysicalToVirtualNull",),
|
||||
0x80100584:("Lib_VirtualToPhysical",),
|
||||
0x801005A0:("Lib_PhysicalToVirtual",),
|
||||
0x801005C0:("LifeMeter_Init",),
|
||||
0x8010069C:("LifeMeter_UpdateColors",),
|
||||
0x80100A80:("func_80100A80",),
|
||||
|
@ -2936,8 +2936,8 @@
|
|||
0x80163A38:("KaleidoScopeCall_Destroy",),
|
||||
0x80163A58:("KaleidoScopeCall_Update",),
|
||||
0x80163C0C:("KaleidoScopeCall_Draw",),
|
||||
0x80163C90:("func_80163C90",),
|
||||
0x80163D80:("func_80163D80",),
|
||||
0x80163C90:("Transition_Init",),
|
||||
0x80163D80:("Transition_Destroy",),
|
||||
0x80163DC0:("func_80163DC0",),
|
||||
0x8016418C:("func_8016418C",),
|
||||
0x8016424C:("func_8016424C",),
|
||||
|
@ -2964,12 +2964,12 @@
|
|||
0x80164C14:("func_80164C14",),
|
||||
0x80165044:("TransitionCircle_Draw",),
|
||||
0x80165198:("TransitionCircle_IsDone",),
|
||||
0x801651B0:("func_801651B0",),
|
||||
0x80165224:("func_80165224",),
|
||||
0x80165288:("func_80165288",),
|
||||
0x8016537C:("func_8016537C",),
|
||||
0x80165438:("func_80165438",),
|
||||
0x80165444:("func_80165444",),
|
||||
0x801651B0:("TransitionOverlay_VramToRam",),
|
||||
0x80165224:("TransitionOverlay_VramToRamArray",),
|
||||
0x80165288:("TransitionOverlay_Load",),
|
||||
0x8016537C:("TransitionOverlay_Free",),
|
||||
0x80165438:("TransitionOverlay_ClearLoadInfo",),
|
||||
0x80165444:("TransitionOverlay_SetSegment",),
|
||||
0x80165460:("func_80165460",),
|
||||
0x80165608:("func_80165608",),
|
||||
0x80165630:("func_80165630",),
|
||||
|
|
|
@ -1368,8 +1368,8 @@ asm/non_matchings/code/z_lib/Math_Vec3f_StepTo.s,Math_Vec3f_StepTo,0x80100448,0x
|
|||
asm/non_matchings/code/z_lib/Lib_Nop801004FC.s,Lib_Nop801004FC,0x801004FC,0x2
|
||||
asm/non_matchings/code/z_lib/Lib_SegmentedToVirtual.s,Lib_SegmentedToVirtual,0x80100504,0xE
|
||||
asm/non_matchings/code/z_lib/Lib_SegmentedToVirtualNull.s,Lib_SegmentedToVirtualNull,0x8010053C,0x12
|
||||
asm/non_matchings/code/z_lib/Lib_PhysicalToVirtual.s,Lib_PhysicalToVirtual,0x80100584,0x7
|
||||
asm/non_matchings/code/z_lib/Lib_PhysicalToVirtualNull.s,Lib_PhysicalToVirtualNull,0x801005A0,0x8
|
||||
asm/non_matchings/code/z_lib/Lib_VirtualToPhysical.s,Lib_VirtualToPhysical,0x80100584,0x7
|
||||
asm/non_matchings/code/z_lib/Lib_PhysicalToVirtual.s,Lib_PhysicalToVirtual,0x801005A0,0x8
|
||||
asm/non_matchings/code/z_lifemeter/LifeMeter_Init.s,LifeMeter_Init,0x801005C0,0x37
|
||||
asm/non_matchings/code/z_lifemeter/LifeMeter_UpdateColors.s,LifeMeter_UpdateColors,0x8010069C,0xF9
|
||||
asm/non_matchings/code/z_lifemeter/func_80100A80.s,func_80100A80,0x80100A80,0x8
|
||||
|
@ -2450,8 +2450,8 @@ asm/non_matchings/code/z_kaleido_scope_call/func_801639EC.s,func_801639EC,0x8016
|
|||
asm/non_matchings/code/z_kaleido_scope_call/func_80163A38.s,func_80163A38,0x80163A38,0x8
|
||||
asm/non_matchings/code/z_kaleido_scope_call/func_80163A58.s,func_80163A58,0x80163A58,0x6D
|
||||
asm/non_matchings/code/z_kaleido_scope_call/func_80163C0C.s,func_80163C0C,0x80163C0C,0x21
|
||||
asm/non_matchings/code/z_fbdemo_dlftbls/func_80163C90.s,func_80163C90,0x80163C90,0x3C
|
||||
asm/non_matchings/code/z_fbdemo_dlftbls/func_80163D80.s,func_80163D80,0x80163D80,0x10
|
||||
asm/non_matchings/code/z_fbdemo_dlftbls/Transition_Init.s,Transition_Init,0x80163C90,0x3C
|
||||
asm/non_matchings/code/z_fbdemo_dlftbls/Transition_Destroy.s,Transition_Destroy,0x80163D80,0x10
|
||||
asm/non_matchings/code/z_fbdemo/func_80163DC0.s,func_80163DC0,0x80163DC0,0xF3
|
||||
asm/non_matchings/code/z_fbdemo/func_8016418C.s,func_8016418C,0x8016418C,0x30
|
||||
asm/non_matchings/code/z_fbdemo/func_8016424C.s,func_8016424C,0x8016424C,0x23
|
||||
|
@ -2478,12 +2478,12 @@ asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_SetType.s,TransitionCirc
|
|||
asm/non_matchings/code/z_fbdemo_circle/func_80164C14.s,func_80164C14,0x80164C14,0x10C
|
||||
asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Draw.s,TransitionCircle_Draw,0x80165044,0x55
|
||||
asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_IsDone.s,TransitionCircle_IsDone,0x80165198,0x6
|
||||
asm/non_matchings/code/z_overlay/func_801651B0.s,func_801651B0,0x801651B0,0x1D
|
||||
asm/non_matchings/code/z_overlay/func_80165224.s,func_80165224,0x80165224,0x19
|
||||
asm/non_matchings/code/z_overlay/func_80165288.s,func_80165288,0x80165288,0x3D
|
||||
asm/non_matchings/code/z_overlay/func_8016537C.s,func_8016537C,0x8016537C,0x2F
|
||||
asm/non_matchings/code/z_overlay/func_80165438.s,func_80165438,0x80165438,0x3
|
||||
asm/non_matchings/code/z_overlay/func_80165444.s,func_80165444,0x80165444,0x7
|
||||
asm/non_matchings/code/z_overlay/TransitionOverlay_VramToRam.s,TransitionOverlay_VramToRam,0x801651B0,0x1D
|
||||
asm/non_matchings/code/z_overlay/TransitionOverlay_VramToRamArray.s,TransitionOverlay_VramToRamArray,0x80165224,0x19
|
||||
asm/non_matchings/code/z_overlay/TransitionOverlay_Load.s,TransitionOverlay_Load,0x80165288,0x3D
|
||||
asm/non_matchings/code/z_overlay/TransitionOverlay_Free.s,TransitionOverlay_Free,0x8016537C,0x2F
|
||||
asm/non_matchings/code/z_overlay/TransitionOverlay_ClearLoadInfo.s,TransitionOverlay_ClearLoadInfo,0x80165438,0x3
|
||||
asm/non_matchings/code/z_overlay/TransitionOverlay_SetSegment.s,TransitionOverlay_SetSegment,0x80165444,0x7
|
||||
asm/non_matchings/code/z_play/func_80165460.s,func_80165460,0x80165460,0x6A
|
||||
asm/non_matchings/code/z_play/func_80165608.s,func_80165608,0x80165608,0xA
|
||||
asm/non_matchings/code/z_play/func_80165630.s,func_80165630,0x80165630,0xA
|
||||
|
|
|
Loading…
Reference in New Issue