General Cleanup (#1529)

* Cleanup

* vi define cleanup

* kdebugserver

* osmotor

* Remove sqrtf.c

* Move osFlash out of libultra

* PadUtils_Destroy

* BOOT_ADDRESS_ULTRA

* Fault

* Format

* viconfig.h

* More small cleanups

* gfx cleanup

* Format

* Forgot to save

* variables.h

* dListTable -> dListSides

* Fix header includes
This commit is contained in:
Derek Hensley 2024-01-14 15:03:13 -08:00 committed by GitHub
parent 663834cbc0
commit 6412ddad50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
56 changed files with 395 additions and 433 deletions

View File

@ -216,8 +216,6 @@ build/src/libultra/io/%.o: OPTFLAGS := -O2
build/src/libultra/libc/%.o: OPTFLAGS := -O2
build/src/libultra/gu/%.o: OPTFLAGS := -O2
build/src/libultra/rmon/%.o: OPTFLAGS := -O2
build/src/libultra/flash/%.o: OPTFLAGS := -g
build/src/libultra/flash/%.o: MIPS_VERSION := -mips1
build/src/audio/%.o: OPTFLAGS := -O2
@ -233,6 +231,10 @@ build/src/code/jpegdecoder.o: OPTFLAGS := -O2
build/src/code/jpegutils.o: CC := $(CC_OLD)
build/src/code/jpegdecoder.o: CC := $(CC_OLD)
build/src/code/osFlash.o: OPTFLAGS := -g
build/src/code/osFlash.o: MIPS_VERSION := -mips1
build/src/code/osFlash.o: CC := $(CC_OLD)
build/src/libultra/libc/ll.o: OPTFLAGS := -O1
build/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32
build/src/libultra/libc/llcvt.o: OPTFLAGS := -O1

View File

@ -35,4 +35,12 @@
#define OS_MIN_STACKSIZE 72
/*
* Boot addresses
*/
#define BOOT_ADDRESS_ULTRA 0x80000400
#define BOOT_ADDRESS_COSIM 0x80002000
#define BOOT_ADDRESS_EMU 0x20010000
#define BOOT_ADDRESS_INDY 0x88100000
#endif

View File

@ -4,27 +4,17 @@
#include "PR/ultratypes.h"
#include "PR/os_message.h"
/* Special Features */
#define OS_VI_GAMMA_ON (1 << 0)
#define OS_VI_GAMMA_OFF (1 << 1)
#define OS_VI_GAMMA_DITHER_ON (1 << 2)
#define OS_VI_GAMMA_DITHER_OFF (1 << 3)
#define OS_VI_DIVOT_ON (1 << 4)
#define OS_VI_DIVOT_OFF (1 << 5)
#define OS_VI_DITHER_FILTER_ON (1 << 6)
#define OS_VI_DITHER_FILTER_OFF (1 << 7)
#define OS_VI_GAMMA 0x08
#define OS_VI_GAMMA_DITHER 0x04
#define OS_VI_DIVOT 0x10
#define OS_VI_DITHER_FILTER 0x10000
#define OS_VI_UNK1 0x1
#define OS_VI_UNK2 0x2
#define OS_VI_UNK40 0x40
#define OS_VI_UNK100 0x100
#define OS_VI_UNK200 0x200
#define OS_VI_UNK1000 0x1000
#define OS_VI_UNK2000 0x2000
/*
* Video Interface (VI) special features
*/
#define OS_VI_GAMMA_ON 0x0001
#define OS_VI_GAMMA_OFF 0x0002
#define OS_VI_GAMMA_DITHER_ON 0x0004
#define OS_VI_GAMMA_DITHER_OFF 0x0008
#define OS_VI_DIVOT_ON 0x0010
#define OS_VI_DIVOT_OFF 0x0020
#define OS_VI_DITHER_FILTER_ON 0x0040
#define OS_VI_DITHER_FILTER_OFF 0x0080
typedef struct {
/* 0x00 */ u32 ctrl;

View File

@ -3,10 +3,6 @@
#include "z64.h"
void bootproc(void);
void ViConfig_UpdateVi(u32 black);
void ViConfig_UpdateBlack(void);
void IrqMgr_AddClient(IrqMgr* irqmgr, IrqMgrClient* client, OSMesgQueue* msgQueue);
void IrqMgr_RemoveClient(IrqMgr* irqmgr, IrqMgrClient* remove);
void IrqMgr_SendMesgForClient(IrqMgr* irqmgr, OSMesg msg);
@ -20,35 +16,6 @@ void IrqMgr_HandleRetrace(IrqMgr* irqmgr);
void IrqMgr_ThreadEntry(IrqMgr* irqmgr);
void IrqMgr_Init(IrqMgr* irqmgr, void* stack, OSPri pri, u8 retraceCount);
void osSyncPrintfUnused(const char* fmt, ...);
void rmonPrintf(const char* fmt, ...);
void RcpUtils_PrintRegisterStatus(void);
void RcpUtils_Reset(void);
void PadUtils_Init(Input* input);
void func_80085150(void);
void PadUtils_ResetPressRel(Input* input);
u32 PadUtils_CheckCurExact(Input* input, u16 value);
u32 PadUtils_CheckCur(Input* input, u16 key);
u32 PadUtils_CheckPressed(Input* input, u16 key);
u32 PadUtils_CheckReleased(Input* input, u16 key);
u16 PadUtils_GetCurButton(Input* input);
u16 PadUtils_GetPressButton(Input* input);
s8 PadUtils_GetCurX(Input* input);
s8 PadUtils_GetCurY(Input* input);
void PadUtils_SetRelXY(Input* input, s32 x, s32 y);
s8 PadUtils_GetRelXImpl(Input* input);
s8 PadUtils_GetRelYImpl(Input* input);
s8 PadUtils_GetRelX(Input* input);
s8 PadUtils_GetRelY(Input* input);
void PadUtils_UpdateRelXY(Input* input);
void MtxConv_F2L(Mtx* mtx, MtxF* mf);
void MtxConv_L2F(MtxF* mtx, Mtx* mf);
s32 func_80086620(OSMesgQueue* param_1, PadMgr* param_2, OSContStatus* param_3);
// void EnItem00_SetObject(EnItem00* this, PlayState* play, f32* shadowOffset, f32* shadowScale);
// void EnItem00_Init(Actor* thisx, PlayState* play);
@ -241,8 +208,8 @@ void func_800BDAA0(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overr
void Actor_ChangeAnimationByInfo(SkelAnime* skelAnime, AnimationInfo* animInfo, s32 animIndex);
void Actor_Noop(Actor* actor, PlayState* play);
void Gfx_DrawDListOpa(PlayState* play, Gfx* dlist);
void Gfx_DrawDListXlu(PlayState* play, Gfx* dlist);
void Gfx_DrawDListOpa(PlayState* play, Gfx* dList);
void Gfx_DrawDListXlu(PlayState* play, Gfx* dList);
Actor* Actor_FindNearby(PlayState* play, Actor* inActor, s16 actorId, u8 actorCategory, f32 distance);
s32 func_800BE184(PlayState* play, Actor* actor, f32 xzDist, s16 arg3, s16 arg4, s16 arg5);

View File

@ -11,4 +11,7 @@ typedef struct Input {
/* 0x12 */ OSContPad rel; // X/Y store adjusted
} Input; // size = 0x18
void PadUtils_UpdateRelXY(Input* input);
#endif

View File

@ -6,21 +6,6 @@
#include "macros.h"
// data
// extern UNK_TYPE1 sGfxPrintFontTLUT;
// extern UNK_TYPE1 sGfxPrintRainbowTLUT;
// extern UNK_TYPE1 sGfxPrintRainbowData;
// extern UNK_TYPE1 sGfxPrintFontData;
// extern UNK_TYPE4 D_80097524;
extern u8 sYaz0DataBuffer[0x400];
extern u8* sYaz0CurDataEnd;
extern u32 sYaz0CurRomStart;
extern u32 sYaz0CurSize;
extern u8* sYaz0MaxPtr;
extern void* gYaz0DecompressDstEnd;
// extern UNK_TYPE4 D_8009CD10;
// extern UNK_TYPE4 sArenaLockMsg;
// extern UNK_TYPE1 D_80186028;
extern u8 sDropTable[DROP_TABLE_SIZE * DROP_TABLE_NUMBER];

9
include/viconfig.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef VICONFIG_H
#define VICONFIG_H
#include "ultra64.h"
void ViConfig_UpdateVi(u32 black);
void ViConfig_UpdateBlack(void);
#endif

View File

@ -5,4 +5,6 @@
void Yaz0_Decompress(uintptr_t romStart, void* dst, size_t size);
extern void* gYaz0DecompressDstEnd;
#endif

View File

@ -1419,7 +1419,7 @@ s32 func_80126440(struct PlayState* play, ColliderQuad* collider, WeaponInfo* we
void Player_DrawGetItem(struct PlayState* play, Player* player);
void func_80126B8C(struct PlayState* play, Player* player);
s32 func_80127438(struct PlayState* play, Player* player, s32 currentMask);
s32 func_80128640(struct PlayState* play, Player* player, Gfx* dlist);
s32 func_80128640(struct PlayState* play, Player* player, Gfx* dList);
void Player_SetFeetPos(struct PlayState* play, Player* player, s32 limbIndex);
void Player_PostLimbDrawGameplay(struct PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dList2, Vec3s* rot, Actor* actor);

View File

@ -45,7 +45,7 @@ typedef struct {
/* 0x0 */ u16 totalVtxCount; // total vertex count for all modif entries
/* 0x2 */ u16 limbModifCount; // count of limbModifCount
/* 0x4 */ SkinLimbModif* limbModifications;
/* 0x8 */ Gfx* dlist;
/* 0x8 */ Gfx* dList;
} SkinAnimatedLimbData; // size = 0xC
#define SKIN_LIMB_TYPE_ANIMATED 4
@ -82,7 +82,7 @@ typedef s32 (*SkinOverrideLimbDraw)(struct Actor* thisx, struct PlayState* play,
void Skin_UpdateVertices(MtxF* mtx, SkinVertex* skinVertices, SkinLimbModif* modifEntry, Vtx* vtxBuf, Vec3f* pos);
void Skin_ApplyLimbModifications(struct GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s32 arg3);
void Skin_DrawAnimatedLimb(struct GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s32 arg3, s32 drawFlags);
void Skin_DrawLimb(struct GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dListOverride, s32 drawFlags);
void Skin_DrawLimb(struct GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dList, s32 drawFlags);
void func_80138228(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw, s32 setTranslation);
void func_80138258(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw, SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation);
void func_8013828C(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw, SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6);

8
spec
View File

@ -85,8 +85,8 @@ beginseg
include "build/asm/boot/setsr.text.o"
include "build/asm/boot/writebackdcache.text.o"
include "build/src/libultra/os/initialize.o"
include "build/src/libultra/os/threadsave.o"
pad_text
include "build/src/libultra/debug/kdebugserver.o"
pad_text // These pads are from src/libultra/os/parameters.o
pad_text
pad_text
pad_text
@ -125,7 +125,7 @@ beginseg
include "build/src/libultra/os/getmemsize.o"
include "build/src/libultra/io/pfssearchfile.o"
include "build/src/libultra/os/seteventmesg.o"
include "build/src/libultra/gu/sqrtf.o"
include "build/asm/boot/sqrtf.text.o"
include "build/src/libultra/os/afterprenmi.o"
include "build/src/libultra/io/contquery.o"
include "build/src/libultra/gu/lookathil.o"
@ -581,7 +581,7 @@ beginseg
include "build/src/code/sys_slowly.o"
include "build/src/code/sys_flashrom.o"
include "build/asm/code/code_80185F90.text.o" // handwritten
include "build/src/libultra/flash/osFlash.o"
include "build/src/code/osFlash.o"
pad_text
pad_text
pad_text

View File

@ -4,7 +4,7 @@ void PadUtils_Init(Input* input) {
bzero(input, sizeof(Input));
}
void func_80085150(void) {
void PadUtils_Destroy(void) {
}
void PadUtils_ResetPressRel(Input* input) {

View File

@ -99,7 +99,7 @@ void Fault_AddClient(FaultClient* client, FaultClientCallback callback, void* ar
OSIntMask mask;
u32 alreadyExists = false;
mask = osSetIntMask(1);
mask = osSetIntMask(OS_IM_NONE);
// Ensure the client is not already registered
{
@ -137,7 +137,7 @@ void Fault_RemoveClient(FaultClient* client) {
OSIntMask mask;
u32 listIsEmpty = false;
mask = osSetIntMask(1);
mask = osSetIntMask(OS_IM_NONE);
while (iter) {
if (iter == client) {
@ -148,7 +148,7 @@ void Fault_RemoveClient(FaultClient* client) {
if (sFaultInstance->clients) {
sFaultInstance->clients = client->next;
} else {
listIsEmpty = 1;
listIsEmpty = true;
}
}
break;
@ -179,7 +179,7 @@ void Fault_AddAddrConvClient(FaultAddrConvClient* client, FaultAddrConvClientCal
OSIntMask mask;
s32 alreadyExists = false;
mask = osSetIntMask(1);
mask = osSetIntMask(OS_IM_NONE);
{
FaultAddrConvClient* iter = sFaultInstance->addrConvClients;
@ -212,7 +212,7 @@ void Fault_RemoveAddrConvClient(FaultAddrConvClient* client) {
OSIntMask mask;
s32 listIsEmpty = false;
mask = osSetIntMask(1);
mask = osSetIntMask(OS_IM_NONE);
while (iter) {
if (iter == client) {
@ -350,9 +350,9 @@ void Fault_DrawCornerRec(u16 color) {
void Fault_PrintFReg(s32 index, f32* value) {
u32 raw = *(u32*)value;
s32 v0 = ((raw & 0x7F800000) >> 0x17) - 0x7F;
s32 exp = ((raw & 0x7F800000) >> 0x17) - 0x7F;
if ((v0 >= -0x7E && v0 < 0x80) || raw == 0) {
if (((exp > -0x7F) && (exp <= 0x7F)) || (raw == 0)) {
FaultDrawer_Printf("F%02d:%14.7e ", index, *value);
} else {
// Print subnormal floats as their IEEE-754 hex representation
@ -360,20 +360,20 @@ void Fault_PrintFReg(s32 index, f32* value) {
}
}
void Fault_LogFReg(s32 idx, f32* value) {
void Fault_LogFReg(s32 index, f32* value) {
u32 raw = *(u32*)value;
s32 v0 = ((raw & 0x7F800000) >> 0x17) - 0x7F;
s32 exp = ((raw & 0x7F800000) >> 0x17) - 0x7F;
if ((v0 >= -0x7E && v0 < 0x80) || raw == 0) {
osSyncPrintf("F%02d:%14.7e ", idx, *value);
if (((exp > -0x7F) && (exp <= 0x7F)) || (raw == 0)) {
osSyncPrintf("F%02d:%14.7e ", index, *value);
} else {
osSyncPrintf("F%02d: %08x(16) ", idx, *(u32*)value);
osSyncPrintf("F%02d: %08x(16) ", index, *(u32*)value);
}
}
void Fault_PrintFPCR(u32 value) {
void Fault_PrintFPCSR(u32 value) {
s32 i;
u32 flag = 0x20000;
u32 flag = FPCSR_CE;
FaultDrawer_Printf("FPCSR:%08xH ", value);
@ -391,7 +391,7 @@ void Fault_PrintFPCR(u32 value) {
void Fault_LogFPCSR(u32 value) {
s32 i;
u32 flag = 0x20000;
u32 flag = FPCSR_CE;
osSyncPrintf("FPCSR:%08xH ", value);
for (i = 0; i < ARRAY_COUNT(sFpuExceptions); i++) {
@ -403,15 +403,17 @@ void Fault_LogFPCSR(u32 value) {
}
}
#define EXC(code) (EXC_##code >> CAUSE_EXCSHIFT)
void Fault_PrintThreadContext(OSThread* thread) {
__OSThreadContext* threadCtx;
s16 causeStrIdx = _SHIFTR((u32)thread->context.cause, 2, 5);
s16 causeStrIndex = _SHIFTR((u32)thread->context.cause, 2, 5);
if (causeStrIdx == 23) { // Watchpoint
causeStrIdx = 16;
if (causeStrIndex == EXC(WATCH)) { // Watchpoint
causeStrIndex = 16;
}
if (causeStrIdx == 31) { // Virtual coherency on data
causeStrIdx = 17;
if (causeStrIndex == EXC(VCED)) { // Virtual coherency on data
causeStrIndex = 17;
}
FaultDrawer_FillScreen();
@ -419,7 +421,7 @@ void Fault_PrintThreadContext(OSThread* thread) {
FaultDrawer_SetCursor(22, 20);
threadCtx = &thread->context;
FaultDrawer_Printf("THREAD:%d (%d:%s)\n", thread->id, causeStrIdx, sCpuExceptions[causeStrIdx]);
FaultDrawer_Printf("THREAD:%d (%d:%s)\n", thread->id, causeStrIndex, sCpuExceptions[causeStrIndex]);
FaultDrawer_SetCharPad(-1, 0);
FaultDrawer_Printf("PC:%08xH SR:%08xH VA:%08xH\n", (u32)threadCtx->pc, (u32)threadCtx->sr,
@ -435,7 +437,7 @@ void Fault_PrintThreadContext(OSThread* thread) {
FaultDrawer_Printf("T9:%08xH GP:%08xH SP:%08xH\n", (u32)threadCtx->t9, (u32)threadCtx->gp, (u32)threadCtx->sp);
FaultDrawer_Printf("S8:%08xH RA:%08xH LO:%08xH\n\n", (u32)threadCtx->s8, (u32)threadCtx->ra, (u32)threadCtx->lo);
Fault_PrintFPCR(threadCtx->fpcsr);
Fault_PrintFPCSR(threadCtx->fpcsr);
FaultDrawer_Printf("\n");
Fault_PrintFReg(0, &threadCtx->fp0.f.f_even);
Fault_PrintFReg(2, &threadCtx->fp2.f.f_even);
@ -470,18 +472,18 @@ void Fault_PrintThreadContext(OSThread* thread) {
void osSyncPrintfThreadContext(OSThread* thread) {
__OSThreadContext* threadCtx;
s16 causeStrIdx = _SHIFTR((u32)thread->context.cause, 2, 5);
s16 causeStrIndex = _SHIFTR((u32)thread->context.cause, 2, 5);
if (causeStrIdx == 23) { // Watchpoint
causeStrIdx = 16;
if (causeStrIndex == EXC(WATCH)) { // Watchpoint
causeStrIndex = 16;
}
if (causeStrIdx == 31) { // Virtual coherency on data
causeStrIdx = 17;
if (causeStrIndex == EXC(VCED)) { // Virtual coherency on data
causeStrIndex = 17;
}
threadCtx = &thread->context;
osSyncPrintf("\n");
osSyncPrintf("THREAD ID:%d (%d:%s)\n", thread->id, causeStrIdx, sCpuExceptions[causeStrIdx]);
osSyncPrintf("THREAD ID:%d (%d:%s)\n", thread->id, causeStrIndex, sCpuExceptions[causeStrIndex]);
osSyncPrintf("PC:%08xH SR:%08xH VA:%08xH\n", (u32)threadCtx->pc, (u32)threadCtx->sr, (u32)threadCtx->badvaddr);
osSyncPrintf("AT:%08xH V0:%08xH V1:%08xH\n", (u32)threadCtx->at, (u32)threadCtx->v0, (u32)threadCtx->v1);
@ -824,7 +826,7 @@ void Fault_DrawStackTrace(OSThread* thread, u32 flags) {
FaultDrawer_DrawText(36, 24, "SP PC (VPC)");
for (line = 1; (line < 22) && (((ra != 0) || (sp != 0)) && (pc != (uintptr_t)__osCleanupThread)); line++) {
FaultDrawer_DrawText(0x24, line * 8 + 24, "%08x %08x", sp, pc);
FaultDrawer_DrawText(36, line * 8 + 24, "%08x %08x", sp, pc);
if (flags & 1) {
// Try to convert the relocated program counter to the corresponding unrelocated virtual address
@ -905,13 +907,13 @@ void Fault_DisplayFrameBuffer(void) {
*/
void Fault_ProcessClients(void) {
FaultClient* client = sFaultInstance->clients;
s32 idx = 0;
s32 index = 0;
while (client != NULL) {
if (client->callback != NULL) {
Fault_FillScreenBlack();
FaultDrawer_SetCharPad(-2, 0);
FaultDrawer_Printf(FAULT_COLOR(DARK_GRAY) "CallBack (%d) %08x %08x %08x\n" FAULT_COLOR(WHITE), idx++,
FaultDrawer_Printf(FAULT_COLOR(DARK_GRAY) "CallBack (%d) %08x %08x %08x\n" FAULT_COLOR(WHITE), index++,
client, client->arg0, client->arg1);
FaultDrawer_SetCharPad(0, 0);
client->callback(client->arg0, client->arg1);
@ -922,10 +924,10 @@ void Fault_ProcessClients(void) {
}
}
void Fault_SetOptionsFromController3(void) {
void Fault_SetOptions(void) {
static u32 faultCustomOptions;
Input* input3 = &sFaultInstance->inputs[3];
u32 pad;
s32 pad;
uintptr_t pc;
uintptr_t ra;
uintptr_t sp;
@ -949,17 +951,17 @@ void Fault_SetOptionsFromController3(void) {
osSyncPrintf("GRAPH PC=%08x RA=%08x STACK=%08x\n", pc, ra, sp);
}
if (CHECK_BTN_ALL(input3->cur.button, BTN_B)) {
FaultDrawer_SetDrawerFrameBuffer(osViGetNextFramebuffer(), 0x140, 0xF0);
Fault_DrawRec(0, 0xD7, 0x140, 9, 1);
FaultDrawer_SetDrawerFrameBuffer(osViGetNextFramebuffer(), SCREEN_WIDTH, SCREEN_HEIGHT);
Fault_DrawRec(0, 215, 320, 9, 1);
FaultDrawer_SetCharPad(-2, 0);
FaultDrawer_DrawText(0x20, 0xD8, "GRAPH PC %08x RA %08x SP %08x", pc, ra, sp);
FaultDrawer_DrawText(32, 216, "GRAPH PC %08x RA %08x SP %08x", pc, ra, sp);
}
}
}
void Fault_UpdatePad(void) {
Fault_UpdatePadImpl();
Fault_SetOptionsFromController3();
Fault_SetOptions();
}
#define FAULT_MSG_CPU_BREAK ((OSMesg)1)
@ -968,7 +970,7 @@ void Fault_UpdatePad(void) {
void Fault_ThreadEntry(void* arg) {
OSMesg msg;
u32 pad;
s32 pad;
OSThread* faultedThread;
// Direct OS event messages to the fault event queue

View File

@ -4,6 +4,7 @@
#include "main.h"
#include "stack.h"
#include "stackcheck.h"
#include "viconfig.h"
#include "z64thread.h"
// Variables are put before most headers as a hacky way to bypass bss reordering
@ -50,7 +51,7 @@ void Main_InitScreen(void) {
}
void Main_InitMemory(void) {
void* memStart = (void*)0x80000400;
void* memStart = (void*)BOOT_ADDRESS_ULTRA;
void* memEnd = OS_PHYSICAL_TO_K0(osMemSize);
Main_ClearMemory(memStart, SEGMENT_START(framebuffer_lo));

View File

@ -1,3 +1,5 @@
#include "viconfig.h"
#include "libc/stdbool.h"
#include "idle.h"

View File

@ -1,27 +1,28 @@
#include "yaz0.h"
#include "global.h"
#include "fault.h"
#include "libc64/sprintf.h"
#include "libc64/sleep.h"
#include "z64dma.h"
// Variables are put before most headers as a hacky way to bypass bss reordering
u8 sYaz0DataBuffer[0x400] ALIGNED(16);
u8* sYaz0CurDataEnd;
u8* sYaz0DataBufferEnd;
uintptr_t sYaz0CurRomStart;
u32 sYaz0CurSize;
size_t sYaz0CurSize;
u8* sYaz0MaxPtr;
void* gYaz0DecompressDstEnd;
#include "yaz0.h"
void* Yaz0_FirstDMA(void) {
u32 pad0;
u32 dmaSize;
u32 curSize;
s32 pad;
size_t dmaSize;
size_t bufferSize;
sYaz0MaxPtr = sYaz0CurDataEnd - 0x19;
sYaz0MaxPtr = sYaz0DataBufferEnd - 0x19;
curSize = (u32)sYaz0CurDataEnd - (u32)sYaz0DataBuffer;
dmaSize = (curSize > sYaz0CurSize) ? sYaz0CurSize : curSize;
bufferSize = sYaz0DataBufferEnd - sYaz0DataBuffer;
dmaSize = (bufferSize > sYaz0CurSize) ? sYaz0CurSize : bufferSize;
DmaMgr_DmaRomToRam(sYaz0CurRomStart, sYaz0DataBuffer, dmaSize);
sYaz0CurRomStart += dmaSize;
@ -29,18 +30,17 @@ void* Yaz0_FirstDMA(void) {
return sYaz0DataBuffer;
}
void* Yaz0_NextDMA(void* curSrcPos) {
void* Yaz0_NextDMA(u8* curSrcPos) {
u8* dst;
u32 restSize;
u32 dmaSize;
size_t restSize;
size_t dmaSize;
OSPri oldPri;
restSize = (u32)sYaz0CurDataEnd - (u32)curSrcPos;
restSize = sYaz0DataBufferEnd - curSrcPos;
dst = (restSize & 7) ? (sYaz0DataBuffer - (restSize & 7)) + 8 : sYaz0DataBuffer;
bcopy(curSrcPos, dst, restSize);
dmaSize = ((u32)sYaz0CurDataEnd - (u32)dst) - restSize;
dmaSize = sYaz0DataBufferEnd - dst - restSize;
if (sYaz0CurSize < dmaSize) {
dmaSize = sYaz0CurSize;
}
@ -49,12 +49,13 @@ void* Yaz0_NextDMA(void* curSrcPos) {
DmaMgr_DmaRomToRam(sYaz0CurRomStart, dst + restSize, dmaSize);
sYaz0CurRomStart += dmaSize;
sYaz0CurSize -= dmaSize;
if (!sYaz0CurSize) {
if (sYaz0CurSize == 0) {
sYaz0MaxPtr = dst + restSize + dmaSize;
}
} else {
oldPri = osGetThreadPri(NULL);
osSetThreadPri(NULL, OS_PRIORITY_APPMAX);
// Compression/decompression error
osSyncPrintf("圧縮展開異常\n");
osSetThreadPri(NULL, oldPri);
}
@ -62,26 +63,24 @@ void* Yaz0_NextDMA(void* curSrcPos) {
return dst;
}
#define YAZ0_MAGIC 0x59617A30 // 'Yaz0'
typedef struct {
/* 0x0 */ u32 magic; // Yaz0
/* 0x0 */ u32 magic;
/* 0x4 */ u32 decSize;
/* 0x8 */ u32 compInfoOffset; // only used in mio0
/* 0xC */ u32 uncompDataOffset; // only used in mio0
} Yaz0Header; // size = 0x10
#define YAZ0_MAGIC 0x59617A30 // "Yaz0"
s32 Yaz0_DecompressImpl(u8* src, u8* dst) {
u32 bitIdx = 0;
u32 bitIndex = 0;
u8* dstEnd;
u32 chunkHeader = 0;
u32 nibble;
u8* backPtr;
s32 chunkSize;
size_t chunkSize;
u32 off;
u32 magic;
magic = ((Yaz0Header*)src)->magic;
u32 magic = ((Yaz0Header*)src)->magic;
if (magic != YAZ0_MAGIC) {
return -1;
@ -91,13 +90,13 @@ s32 Yaz0_DecompressImpl(u8* src, u8* dst) {
src += sizeof(Yaz0Header);
do {
if (bitIdx == 0) {
if (bitIndex == 0) {
if ((sYaz0MaxPtr < src) && (sYaz0CurSize != 0)) {
src = Yaz0_NextDMA(src);
}
chunkHeader = *src++;
bitIdx = 8;
bitIndex = 8;
}
if (chunkHeader & (1 << 7)) { // uncompressed
@ -105,14 +104,15 @@ s32 Yaz0_DecompressImpl(u8* src, u8* dst) {
dst++;
src++;
} else { // compressed
off = ((*src & 0xF) << 8 | *(src + 1));
off = ((*src & 0xF) << 8) | *(src + 1);
nibble = *src >> 4;
backPtr = dst - off;
src += 2;
chunkSize = (nibble == 0) // N = chunkSize; B = back offset
? (u32)(*src++ + 0x12) // 3 bytes 0B BB NN
: nibble + 2; // 2 bytes NB BB
// N = chunkSize; B = back offset
// 3 bytes 0B BB NN
// 2 bytes NB BB
chunkSize = (nibble == 0) ? *src++ + 0x12 : nibble + 2;
do {
*dst++ = *(backPtr++ - 1);
@ -120,7 +120,7 @@ s32 Yaz0_DecompressImpl(u8* src, u8* dst) {
} while (chunkSize != 0);
}
chunkHeader <<= 1;
bitIdx--;
bitIndex--;
} while (dst != dstEnd);
gYaz0DecompressDstEnd = dstEnd;
@ -130,26 +130,26 @@ s32 Yaz0_DecompressImpl(u8* src, u8* dst) {
void Yaz0_Decompress(uintptr_t romStart, void* dst, size_t size) {
s32 status;
u32 pad;
char sp80[0x50];
char sp30[0x50];
s32 pad;
char exp1[80];
char exp2[80];
if (sYaz0CurDataEnd != NULL) {
while (sYaz0CurDataEnd != NULL) {
if (sYaz0DataBufferEnd != NULL) {
while (sYaz0DataBufferEnd != NULL) {
usleep(10);
}
}
sYaz0CurDataEnd = sYaz0DataBuffer + sizeof(sYaz0DataBuffer);
sYaz0DataBufferEnd = sYaz0DataBuffer + sizeof(sYaz0DataBuffer);
sYaz0CurRomStart = romStart;
sYaz0CurSize = size;
status = Yaz0_DecompressImpl(Yaz0_FirstDMA(), dst);
if (status != 0) {
sprintf(sp80, "slidma slidstart_szs ret=%d", status);
sprintf(sp30, "src:%08lx dst:%08lx siz:%08lx", romStart, dst, size);
Fault_AddHungupAndCrashImpl(sp80, sp30);
sprintf(exp1, "slidma slidstart_szs ret=%d", status);
sprintf(exp2, "src:%08lx dst:%08lx siz:%08lx", romStart, dst, size);
Fault_AddHungupAndCrashImpl(exp1, exp2);
}
sYaz0CurDataEnd = NULL;
sYaz0DataBufferEnd = NULL;
}

View File

@ -1,6 +1,7 @@
#include "fault.h"
#include "idle.h"
#include "libc64/sleep.h"
#include "viconfig.h"
#include "z64.h"
// Variables are put before most headers as a hacky way to bypass bss reordering

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "libc64/malloc.h"
#include "yaz0.h"
#include "yaz0.h"
#include "z64dma.h"

View File

@ -91,7 +91,7 @@ void ActorShape_Init(ActorShape* actorShape, f32 yOffset, ActorShadowFunc shadow
actorShape->shadowAlpha = 255;
}
void ActorShadow_Draw(Actor* actor, Lights* lights, PlayState* play, Gfx* dlist, Color_RGBA8* color) {
void ActorShadow_Draw(Actor* actor, Lights* lights, PlayState* play, Gfx* dList, Color_RGBA8* color) {
if (actor->floorPoly != NULL) {
f32 dy = actor->world.pos.y - actor->floorHeight;
@ -122,7 +122,7 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, PlayState* play, Gfx* dlist,
func_800C0094(actor->floorPoly, actor->world.pos.x, actor->floorHeight, actor->world.pos.z, &mtx);
Matrix_Put(&mtx);
if ((dlist != gCircleShadowDL) || (actor->scale.x != actor->scale.z)) {
if ((dList != gCircleShadowDL) || (actor->scale.x != actor->scale.z)) {
Matrix_RotateYS(actor->shape.rot.y, MTXMODE_APPLY);
}
@ -130,7 +130,7 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, PlayState* play, Gfx* dlist,
Matrix_Scale(actor->scale.x * shadowScale, 1.0f, actor->scale.z * shadowScale, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD);
gSPDisplayList(POLY_OPA_DISP++, dlist);
gSPDisplayList(POLY_OPA_DISP++, dList);
CLOSE_DISPS(play->state.gfxCtx);
}
@ -1742,7 +1742,7 @@ void Actor_UpdateBgCheckInfo(PlayState* play, Actor* actor, f32 wallCheckHeight,
}
}
Gfx* Hilite_Draw(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx, Gfx* dl, Hilite** hiliteP) {
Gfx* Hilite_Draw(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx, Gfx* gfx, Hilite** hiliteP) {
LookAt* lookAt = GRAPH_ALLOC(gfxCtx, sizeof(LookAt));
f32 correctedEyeX = (eye->x == object->x) && (eye->z == object->z) ? eye->x + 0.001f : eye->x;
@ -1752,10 +1752,10 @@ Gfx* Hilite_Draw(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gf
0.0f, 1.0f, 0.0f, lightDir->x, lightDir->y, lightDir->z, lightDir->x, lightDir->y, lightDir->z, 0x10,
0x10);
gSPLookAt(dl++, lookAt);
gDPSetHilite1Tile(dl++, 1, *hiliteP, 0x10, 0x10);
gSPLookAt(gfx++, lookAt);
gDPSetHilite1Tile(gfx++, 1, *hiliteP, 0x10, 0x10);
return dl;
return gfx;
}
Hilite* Hilite_DrawOpa(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx) {

View File

@ -3,18 +3,18 @@
/**
* Draws a display list to the opaque display buffer
*/
void Gfx_DrawDListOpa(PlayState* play, Gfx* dlist) {
Gfx* dl;
void Gfx_DrawDListOpa(PlayState* play, Gfx* dList) {
Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx);
dl = POLY_OPA_DISP;
gfx = POLY_OPA_DISP;
gSPDisplayList(&dl[0], gSetupDLs[SETUPDL_25]);
gSPMatrix(&dl[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dl[2], dlist);
gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]);
gSPMatrix(&gfx[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[2], dList);
POLY_OPA_DISP = &dl[3];
POLY_OPA_DISP = &gfx[3];
CLOSE_DISPS(play->state.gfxCtx);
}
@ -22,18 +22,18 @@ void Gfx_DrawDListOpa(PlayState* play, Gfx* dlist) {
/**
* Draws a display list to the translucent display buffer
*/
void Gfx_DrawDListXlu(PlayState* play, Gfx* dlist) {
Gfx* dl;
void Gfx_DrawDListXlu(PlayState* play, Gfx* dList) {
Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx);
dl = POLY_XLU_DISP;
gfx = POLY_XLU_DISP;
gSPDisplayList(&dl[0], gSetupDLs[SETUPDL_25]);
gSPMatrix(&dl[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dl[2], dlist);
gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]);
gSPMatrix(&gfx[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[2], dList);
POLY_XLU_DISP = &dl[3];
POLY_XLU_DISP = &gfx[3];
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -3301,24 +3301,24 @@ void Environment_Draw(PlayState* play) {
}
void Environment_DrawSkyboxStars(PlayState* play) {
Gfx* nextOpa;
Gfx* opa;
Gfx* gfx;
Gfx* gfxHead;
if (sSkyboxStarsDList != NULL) {
OPEN_DISPS(play->state.gfxCtx);
opa = POLY_OPA_DISP;
nextOpa = Graph_GfxPlusOne(opa);
gfxHead = POLY_OPA_DISP;
gfx = Graph_GfxPlusOne(gfxHead);
gSPDisplayList(sSkyboxStarsDList, nextOpa);
gSPDisplayList(sSkyboxStarsDList, gfx);
Environment_DrawSkyboxStarsImpl(play, &nextOpa);
Environment_DrawSkyboxStarsImpl(play, &gfx);
gSPEndDisplayList(nextOpa++);
gSPEndDisplayList(gfx++);
Graph_BranchDlist(opa, nextOpa);
Graph_BranchDlist(gfxHead, gfx);
POLY_OPA_DISP = nextOpa;
POLY_OPA_DISP = gfx;
sSkyboxStarsDList = NULL;
CLOSE_DISPS(play->state.gfxCtx);

View File

@ -135,7 +135,7 @@ void Lights_BindPoint(Lights* lights, LightParams* params, PlayState* play) {
f32 radiusF = params->point.radius;
Vec3f posF;
Vec3f adjustedPos;
u32 pad;
s32 pad;
if (radiusF > 0) {
posF.x = params->point.x;
@ -415,21 +415,21 @@ void Lights_GlowCheck(PlayState* play) {
}
void Lights_DrawGlow(PlayState* play) {
Gfx* dl;
Gfx* gfx;
LightPoint* params;
LightNode* light = play->lightCtx.listHead;
if (light != NULL) {
OPEN_DISPS(play->state.gfxCtx);
dl = Gfx_SetupDL65_NoCD(POLY_XLU_DISP);
gfx = Gfx_SetupDL65_NoCD(POLY_XLU_DISP);
gDPSetDither(dl++, G_CD_NOISE);
gDPSetDither(gfx++, G_CD_NOISE);
gDPSetCombineLERP(dl++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE,
gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE,
0);
gSPDisplayList(dl++, gameplay_keep_DL_029CB0);
gSPDisplayList(gfx++, gameplay_keep_DL_029CB0);
do {
if (light->info->type == LIGHT_POINT_GLOW) {
@ -437,21 +437,21 @@ void Lights_DrawGlow(PlayState* play) {
if (params->drawGlow) {
f32 scale = SQ((f32)params->radius) * 2e-6f;
gDPSetPrimColor(dl++, 0, 0, params->color[0], params->color[1], params->color[2], 50);
gDPSetPrimColor(gfx++, 0, 0, params->color[0], params->color[1], params->color[2], 50);
Matrix_Translate(params->x, params->y, params->z, MTXMODE_NEW);
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
gSPMatrix(dl++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gfx++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(dl++, gameplay_keep_DL_029CF0);
gSPDisplayList(gfx++, gameplay_keep_DL_029CF0);
}
}
light = light->next;
} while (light != NULL);
POLY_XLU_DISP = dl;
POLY_XLU_DISP = gfx;
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -5092,23 +5092,23 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
}
void Message_Draw(PlayState* play) {
Gfx* nextDisplayList;
Gfx* polyOpa;
Gfx* gfx;
Gfx* gfxHead;
GraphicsContext* gfxCtx = play->state.gfxCtx;
OPEN_DISPS(gfxCtx);
polyOpa = POLY_OPA_DISP;
nextDisplayList = Graph_GfxPlusOne(polyOpa);
gSPDisplayList(OVERLAY_DISP++, nextDisplayList);
gfxHead = POLY_OPA_DISP;
gfx = Graph_GfxPlusOne(gfxHead);
gSPDisplayList(OVERLAY_DISP++, gfx);
if ((play->msgCtx.currentTextId != 0x5E6) || !Play_InCsMode(play)) {
Message_DrawMain(play, &nextDisplayList);
Message_DrawMain(play, &gfx);
}
gSPEndDisplayList(nextDisplayList++);
Graph_BranchDlist(polyOpa, nextDisplayList);
POLY_OPA_DISP = nextDisplayList;
gSPEndDisplayList(gfx++);
Graph_BranchDlist(gfxHead, gfx);
POLY_OPA_DISP = gfx;
CLOSE_DISPS(gfxCtx);
}

View File

@ -1105,23 +1105,23 @@ void Play_PostWorldDraw(PlayState* this) {
// Shrink the whole screen display (at the end of First and Second Day by default)
if (gSaveContext.screenScaleFlag) {
Gfx* nextOpa;
Gfx* opa;
Gfx* gfx;
Gfx* gfxHead;
GraphicsContext* gfxCtx = this->state.gfxCtx;
sPlayVisFbufInstance->scale = gSaveContext.screenScale / 1000.0f;
OPEN_DISPS(gfxCtx);
opa = POLY_OPA_DISP;
nextOpa = Graph_GfxPlusOne(opa);
gSPDisplayList(OVERLAY_DISP++, nextOpa);
gfxHead = POLY_OPA_DISP;
gfx = Graph_GfxPlusOne(gfxHead);
gSPDisplayList(OVERLAY_DISP++, gfx);
VisFbuf_Draw(sPlayVisFbufInstance, &nextOpa, this->unk_18E60);
VisFbuf_Draw(sPlayVisFbufInstance, &gfx, this->unk_18E60);
gSPEndDisplayList(nextOpa++);
Graph_BranchDlist(opa, nextOpa);
POLY_OPA_DISP = nextOpa;
gSPEndDisplayList(gfx++);
Graph_BranchDlist(gfxHead, gfx);
POLY_OPA_DISP = gfx;
CLOSE_DISPS(gfxCtx);
}

View File

@ -1979,7 +1979,7 @@ void func_8012536C(void) {
void Player_DrawZoraShield(PlayState* play, Player* player) {
u8* phi_a0;
Vtx* vtx;
Gfx* dList;
Gfx* gfx;
f32 scale = player->unk_B62 * (10.0f / 51.0f);
s32 i;
@ -2000,12 +2000,12 @@ void Player_DrawZoraShield(PlayState* play, Player* player) {
phi_a0++;
}
dList = POLY_XLU_DISP;
gfx = POLY_XLU_DISP;
gSPMatrix(&dList[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dList[1], object_link_zora_DL_011760);
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[1], object_link_zora_DL_011760);
POLY_XLU_DISP = &dList[2];
POLY_XLU_DISP = &gfx[2];
CLOSE_DISPS(play->state.gfxCtx);
}
@ -3263,7 +3263,7 @@ void Player_DrawGreatFairysMask(PlayState* play, Player* player) {
CLOSE_DISPS(play->state.gfxCtx);
}
s32 func_80128640(PlayState* play, Player* player, Gfx* dlist) {
s32 func_80128640(PlayState* play, Player* player, Gfx* dList) {
s32 temp_v1 = player->skelAnime.animation == &gPlayerAnim_cl_maskoff;
f32 temp_f0;
@ -3334,7 +3334,7 @@ s32 func_80128640(PlayState* play, Player* player, Gfx* dlist) {
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx);
} else if (dlist == object_link_zora_DL_00E2A0) { // zora guitar
} else if (dList == object_link_zora_DL_00E2A0) { // zora guitar
s16 sp26 = Math_SinS(player->unk_B86[0]) * (ABS_ALT(player->upperLimbRot.x) * ((f32)(IREG(52) + 20)) / 100.0f);
s16 sp24 = Math_SinS(player->unk_B86[1]) * (ABS_ALT(player->upperLimbRot.y) * ((f32)(IREG(53) + 15)) / 100.0f);

View File

@ -1,4 +1,5 @@
#include "global.h"
#include "viconfig.h"
#include "z_prenmi.h"
void PreNMI_Stop(PreNMIState* this) {

View File

@ -70,7 +70,7 @@ void Room_DrawCullable(PlayState* play, Room* room, u32 flags) {
RoomShapeCullableEntryLinked* head = NULL;
RoomShapeCullableEntryLinked* tail = NULL;
RoomShapeCullableEntryLinked* iter;
Gfx* displayList;
Gfx* dList;
RoomShapeCullableEntryLinked* insert;
f32 entryBoundsNearZ;
s32 i;
@ -119,31 +119,31 @@ void Room_DrawCullable(PlayState* play, Room* room, u32 flags) {
(i <= R_ROOM_CULL_DEBUG_TARGET)) ||
((R_ROOM_CULL_DEBUG_MODE == ROOM_CULL_DEBUG_MODE_ONLY_TARGET) && (i == R_ROOM_CULL_DEBUG_TARGET))) {
if (flags & ROOM_DRAW_OPA) {
displayList = roomShapeCullableEntry->opa;
if (displayList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, displayList);
dList = roomShapeCullableEntry->opa;
if (dList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, dList);
}
}
if (flags & ROOM_DRAW_XLU) {
displayList = roomShapeCullableEntry->xlu;
if (displayList != NULL) {
gSPDisplayList(POLY_XLU_DISP++, displayList);
dList = roomShapeCullableEntry->xlu;
if (dList != NULL) {
gSPDisplayList(POLY_XLU_DISP++, dList);
}
}
}
} else {
if (flags & ROOM_DRAW_OPA) {
displayList = roomShapeCullableEntry->opa;
if (displayList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, displayList);
dList = roomShapeCullableEntry->opa;
if (dList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, dList);
}
}
if (flags & ROOM_DRAW_XLU) {
displayList = roomShapeCullableEntry->xlu;
if (displayList != NULL) {
gSPDisplayList(POLY_XLU_DISP++, displayList);
dList = roomShapeCullableEntry->xlu;
if (dList != NULL) {
gSPDisplayList(POLY_XLU_DISP++, dList);
}
}
}
@ -240,15 +240,15 @@ void Room_DrawCullable(PlayState* play, Room* room, u32 flags) {
((R_ROOM_CULL_DEBUG_MODE == ROOM_CULL_DEBUG_MODE_ONLY_TARGET) &&
(i == R_ROOM_CULL_DEBUG_TARGET))) {
displayList = roomShapeCullableEntry->opa;
if (displayList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, displayList);
dList = roomShapeCullableEntry->opa;
if (dList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, dList);
}
}
} else {
displayList = roomShapeCullableEntry->opa;
if (displayList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, displayList);
dList = roomShapeCullableEntry->opa;
if (dList != NULL) {
gSPDisplayList(POLY_OPA_DISP++, dList);
}
}
}
@ -260,9 +260,9 @@ void Room_DrawCullable(PlayState* play, Room* room, u32 flags) {
f32 temp_fv1;
roomShapeCullableEntry = tail->entry;
displayList = roomShapeCullableEntry->xlu;
dList = roomShapeCullableEntry->xlu;
if (displayList != NULL) {
if (dList != NULL) {
if (roomShapeCullableEntry->boundsSphereRadius & 1) {
temp_fv0 = tail->boundsNearZ - (f32)(iREG(93) + 0xBB8);
@ -275,10 +275,10 @@ void Room_DrawCullable(PlayState* play, Room* room, u32 flags) {
var_a1 = 255 - (s32)((temp_fv0 / temp_fv1) * 255.0f);
}
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, var_a1);
gSPDisplayList(POLY_XLU_DISP++, displayList);
gSPDisplayList(POLY_XLU_DISP++, dList);
}
} else {
gSPDisplayList(POLY_XLU_DISP++, displayList);
gSPDisplayList(POLY_XLU_DISP++, dList);
}
}
}

View File

@ -54,12 +54,12 @@ void SkelAnime_DrawLimbLod(PlayState* play, s32 limbIndex, void** skeleton, Vec3
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (dList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], dList);
POLY_OPA_DISP = &polyTemp[2];
gSPDisplayList(&gfx[1], dList);
POLY_OPA_DISP = &gfx[2];
}
}
@ -111,13 +111,13 @@ void SkelAnime_DrawLod(PlayState* play, void** skeleton, Vec3s* jointTable, Over
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &dList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (dList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], dList);
gSPDisplayList(&gfx[1], dList);
POLY_OPA_DISP = &polyTemp[2];
POLY_OPA_DISP = &gfx[2];
}
}
@ -231,11 +231,11 @@ void SkelAnime_DrawFlexLod(PlayState* play, void** skeleton, Vec3s* jointTable,
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (newDList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_ToMtx(mtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], newDList);
POLY_OPA_DISP = &polyTemp[2];
gSPMatrix(&gfx[0], Matrix_ToMtx(mtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], newDList);
POLY_OPA_DISP = &gfx[2];
mtx++;
} else if (limbDList != NULL) {
Matrix_ToMtx(mtx);
@ -282,11 +282,11 @@ void SkelAnime_DrawLimbOpa(PlayState* play, s32 limbIndex, void** skeleton, Vec3
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (dList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], dList);
POLY_OPA_DISP = &polyTemp[2];
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], dList);
POLY_OPA_DISP = &gfx[2];
}
}
@ -337,11 +337,11 @@ void SkelAnime_DrawOpa(PlayState* play, void** skeleton, Vec3s* jointTable, Over
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &dList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (dList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], dList);
POLY_OPA_DISP = &polyTemp[2];
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], dList);
POLY_OPA_DISP = &gfx[2];
}
}
@ -450,11 +450,11 @@ void SkelAnime_DrawFlexOpa(PlayState* play, void** skeleton, Vec3s* jointTable,
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (newDList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_ToMtx(mtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], newDList);
POLY_OPA_DISP = &polyTemp[2];
gSPMatrix(&gfx[0], Matrix_ToMtx(mtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], newDList);
POLY_OPA_DISP = &gfx[2];
mtx++;
} else {
if (limbDList != NULL) {
@ -508,11 +508,11 @@ void SkelAnime_DrawTransformFlexLimbOpa(PlayState* play, s32 limbIndex, void** s
transformLimbDraw(play, limbIndex, actor);
if (newDList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_ToMtx(*mtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], newDList);
POLY_OPA_DISP = &polyTemp[2];
gSPMatrix(&gfx[0], Matrix_ToMtx(*mtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], newDList);
POLY_OPA_DISP = &gfx[2];
(*mtx)++;
} else {
if (limbDList != NULL) {
@ -590,11 +590,11 @@ void SkelAnime_DrawTransformFlexOpa(PlayState* play, void** skeleton, Vec3s* joi
transformLimbDraw(play, 1, actor);
if (newDList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
Gfx* gfx = POLY_OPA_DISP;
gSPMatrix(&polyTemp[0], Matrix_ToMtx(mtx), G_MTX_LOAD);
gSPDisplayList(&polyTemp[1], newDList);
POLY_OPA_DISP = &polyTemp[2];
gSPMatrix(&gfx[0], Matrix_ToMtx(mtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], newDList);
POLY_OPA_DISP = &gfx[2];
mtx++;
} else {
if (limbDList != NULL) {

View File

@ -149,7 +149,7 @@ void Skin_DrawAnimatedLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s
Skin_ApplyLimbModifications(gfxCtx, skin, limbIndex, arg3);
}
gSPDisplayList(POLY_OPA_DISP++, data->dlist);
gSPDisplayList(POLY_OPA_DISP++, data->dList);
CLOSE_DISPS(gfxCtx);
}
@ -157,24 +157,24 @@ void Skin_DrawAnimatedLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s
/**
* Draw a limb of type SKIN_LIMB_TYPE_NORMAL, of the skeleton `skin` at index `limbIndex`
*/
void Skin_DrawLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dListOverride, s32 drawFlags) {
Gfx* gfx = dListOverride;
void Skin_DrawLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dList, s32 drawFlags) {
Gfx* limbDList = dList;
SkinLimb** skeleton;
OPEN_DISPS(gfxCtx);
skeleton = Lib_SegmentedToVirtual(skin->skeletonHeader->segment);
if (dListOverride == NULL) {
gfx = ((SkinLimb*)Lib_SegmentedToVirtual(skeleton[limbIndex]))->segment;
if (dList == NULL) {
limbDList = ((SkinLimb*)Lib_SegmentedToVirtual(skeleton[limbIndex]))->segment;
}
if (gfx != NULL) {
if (limbDList != NULL) {
Mtx* mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &gSkinLimbMatrices[limbIndex]);
if (mtx != NULL) {
gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gfx);
gSPDisplayList(POLY_OPA_DISP++, limbDList);
gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW);
gDPPipeSync(POLY_OPA_DISP++);
}

View File

@ -108,7 +108,7 @@ Gfx* SubS_DrawTransformFlex(PlayState* play, void** skeleton, Vec3s* jointTable,
TransformLimbDraw transformLimbDraw, Actor* actor, Gfx* gfx) {
StandardLimb* rootLimb;
s32 pad;
Gfx* newDlist;
Gfx* newDList;
Gfx* limbDList;
Vec3f pos;
Vec3s rot;
@ -125,19 +125,19 @@ Gfx* SubS_DrawTransformFlex(PlayState* play, void** skeleton, Vec3s* jointTable,
pos.y = jointTable[LIMB_ROOT_POS].y;
pos.z = jointTable[LIMB_ROOT_POS].z;
rot = jointTable[LIMB_ROOT_ROT];
newDlist = rootLimb->dList;
newDList = rootLimb->dList;
limbDList = rootLimb->dList;
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDlist, &pos, &rot, actor, &gfx)) {
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDList, &pos, &rot, actor, &gfx)) {
Matrix_TranslateRotateZYX(&pos, &rot);
Matrix_Push();
transformLimbDraw(play, 1, actor, &gfx);
if (newDlist != NULL) {
if (newDList != NULL) {
Matrix_ToMtx(mtx);
gSPMatrix(gfx++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, newDlist);
gSPDisplayList(gfx++, newDList);
mtx++;
} else if (limbDList != NULL) {
Matrix_ToMtx(mtx);

View File

@ -77,9 +77,9 @@ void ViMode_Configure(OSViMode* viMode, s32 type, s32 tvType, s32 loRes, s32 ant
yScaleHiOddField = modeF ? (loResInterlaced ? 0x3000000 : 0x2000000) : 0;
viMode->type = type;
viMode->comRegs.ctrl = OS_VI_UNK2000 | OS_VI_UNK1000 | OS_VI_GAMMA | OS_VI_GAMMA_DITHER |
(!loResDeinterlaced ? OS_VI_UNK40 : 0) | (antialiasOn ? OS_VI_DIVOT : 0) |
(fb32Bit ? OS_VI_UNK2 | OS_VI_UNK1 : OS_VI_UNK2);
viMode->comRegs.ctrl = VI_CTRL_PIXEL_ADV_3 | VI_CTRL_GAMMA_ON | VI_CTRL_GAMMA_DITHER_ON |
(!loResDeinterlaced ? VI_CTRL_SERRATE_ON : 0) | (antialiasOn ? VI_CTRL_DIVOT_ON : 0) |
(fb32Bit ? VI_CTRL_TYPE_32 : VI_CTRL_TYPE_16);
if (modeLAN1) {
// Anti-aliased, fetch extra lines as-needed
@ -246,22 +246,22 @@ void ViMode_ConfigureFeatures(ViMode* viMode, s32 viFeatures) {
u32 ctrl = viMode->customViMode.comRegs.ctrl;
if (viFeatures & OS_VI_GAMMA_ON) {
ctrl |= OS_VI_GAMMA;
ctrl |= VI_CTRL_GAMMA_ON;
}
if (viFeatures & OS_VI_GAMMA_OFF) {
ctrl &= ~OS_VI_GAMMA;
ctrl &= ~VI_CTRL_GAMMA_ON;
}
if (viFeatures & OS_VI_GAMMA_DITHER_ON) {
ctrl |= OS_VI_GAMMA_DITHER;
ctrl |= VI_CTRL_GAMMA_DITHER_ON;
}
if (viFeatures & OS_VI_GAMMA_DITHER_OFF) {
ctrl &= ~OS_VI_GAMMA_DITHER;
ctrl &= ~VI_CTRL_GAMMA_DITHER_ON;
}
if (viFeatures & OS_VI_DIVOT_ON) {
ctrl |= OS_VI_DIVOT;
ctrl |= VI_CTRL_DIVOT_ON;
}
if (viFeatures & OS_VI_DIVOT_OFF) {
ctrl &= ~OS_VI_DIVOT;
ctrl &= ~VI_CTRL_DIVOT_ON;
}
viMode->customViMode.comRegs.ctrl = ctrl;
}

View File

@ -1,9 +0,0 @@
#include "ultra64.h"
#ifndef __GNUC__
#define __builtin_sqrtf sqrtf
#endif
f32 sqrtf(f32 f) {
return __builtin_sqrtf(f);
}

View File

@ -50,7 +50,7 @@ s32 __osMotorAccess(OSPfs* pfs, s32 flag) {
return ret;
}
void _MakeMotorData(s32 channel, OSPifRam* mdata) {
void __osMakeMotorData(s32 channel, OSPifRam* mdata) {
u8* ptr = (u8*)mdata->ramarray;
__OSContRamReadFormat ramreadformat;
s32 i;
@ -117,7 +117,7 @@ s32 osMotorInit(OSMesgQueue* mq, OSPfs* pfs, s32 channel) {
return PFS_ERR_DEVICE;
}
if (!(pfs->status & PFS_MOTOR_INITIALIZED)) {
_MakeMotorData(channel, &__MotorDataBuf[channel]);
__osMakeMotorData(channel, &__MotorDataBuf[channel]);
}
pfs->status = PFS_MOTOR_INITIALIZED;
return 0;

View File

@ -4,34 +4,34 @@ void osViSetSpecialFeatures(u32 func) {
register u32 saveMask = __osDisableInt();
if (func & OS_VI_GAMMA_ON) {
__osViNext->features |= OS_VI_GAMMA;
__osViNext->features |= VI_CTRL_GAMMA_ON;
}
if (func & OS_VI_GAMMA_OFF) {
__osViNext->features &= ~OS_VI_GAMMA;
__osViNext->features &= ~VI_CTRL_GAMMA_ON;
}
if (func & OS_VI_GAMMA_DITHER_ON) {
__osViNext->features |= OS_VI_GAMMA_DITHER;
__osViNext->features |= VI_CTRL_GAMMA_DITHER_ON;
}
if (func & OS_VI_GAMMA_DITHER_OFF) {
__osViNext->features &= ~OS_VI_GAMMA_DITHER;
__osViNext->features &= ~VI_CTRL_GAMMA_DITHER_ON;
}
if (func & OS_VI_DIVOT_ON) {
__osViNext->features |= OS_VI_DIVOT;
__osViNext->features |= VI_CTRL_DIVOT_ON;
}
if (func & OS_VI_DIVOT_OFF) {
__osViNext->features &= ~OS_VI_DIVOT;
__osViNext->features &= ~VI_CTRL_DIVOT_ON;
}
if (func & OS_VI_DITHER_FILTER_ON) {
__osViNext->features |= OS_VI_DITHER_FILTER;
__osViNext->features &= ~(OS_VI_UNK100 | OS_VI_UNK200);
__osViNext->features |= VI_CTRL_DITHER_FILTER_ON;
__osViNext->features &= ~VI_CTRL_ANTIALIAS_MASK;
}
if (func & OS_VI_DITHER_FILTER_OFF) {
__osViNext->features &= ~OS_VI_DITHER_FILTER;
__osViNext->features |= __osViNext->modep->comRegs.ctrl & (OS_VI_UNK100 | OS_VI_UNK200);
__osViNext->features &= ~VI_CTRL_DITHER_FILTER_ON;
__osViNext->features |= __osViNext->modep->comRegs.ctrl & VI_CTRL_ANTIALIAS_MASK;
}
__osViNext->state |= 8;
__osViNext->state |= VI_STATE_CTRL_UPDATED;
__osRestoreInt(saveMask);
}

View File

@ -45,7 +45,7 @@ u32 sBgF40SwitchLastUpdateFrame;
void BgF40Switch_CheckAll(BgF40Switch* this, PlayState* play) {
if (play->gameplayFrames != sBgF40SwitchLastUpdateFrame) {
u32 pressedSwitchFlags[4] = { 0 };
u32 pad;
s32 pad;
s32 switchFlag;
s32 isPressed;
Actor* actor;

View File

@ -62,13 +62,13 @@ void BgIknvObj_Init(Actor* thisx, PlayState* play) {
this->actionFunc = BgIknvObj_DoNothing;
switch (IKNV_OBJ_TYPE(this)) {
case IKNV_OBJ_WATERWHEEL:
this->displayListPtr = object_iknv_obj_DL_013058;
this->dList = object_iknv_obj_DL_013058;
this->actionFunc = BgIknvObj_UpdateWaterwheel;
this->dyna.actor.flags |= ACTOR_FLAG_100000;
this->dyna.actor.flags |= ACTOR_FLAG_10;
break;
case IKNV_OBJ_RAISED_DOOR:
this->displayListPtr = object_iknv_obj_DL_011880;
this->dList = object_iknv_obj_DL_011880;
DynaPolyActor_Init(&this->dyna, 0);
CollisionHeader_GetVirtual(&object_iknv_obj_Colheader_0119D4, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
@ -76,7 +76,7 @@ void BgIknvObj_Init(Actor* thisx, PlayState* play) {
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + 120.0f;
break;
case IKNV_OBJ_SAKON_DOOR:
this->displayListPtr = object_iknv_obj_DL_0129C8;
this->dList = object_iknv_obj_DL_0129C8;
this->actionFunc = BgIknvObj_UpdateSakonDoor;
DynaPolyActor_Init(&this->dyna, 0);
CollisionHeader_GetVirtual(&object_iknv_obj_Colheader_012CA4, &colHeader);
@ -214,7 +214,7 @@ void BgIknvObj_Draw(Actor* thisx, PlayState* play) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
Gfx_SetupDL25_Opa(play->state.gfxCtx);
gSPDisplayList(POLY_OPA_DISP++, this->displayListPtr);
gSPDisplayList(POLY_OPA_DISP++, this->dList);
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -12,7 +12,7 @@ typedef void (*BgIknvObjActionFunc)(struct BgIknvObj*, PlayState*);
typedef struct BgIknvObj {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ ColliderCylinder collider;
/* 0x1A8 */ Gfx* displayListPtr;
/* 0x1A8 */ Gfx* dList;
/* 0x1AC */ BgIknvObjActionFunc actionFunc;
} BgIknvObj; // size = 0x1B0

View File

@ -153,7 +153,7 @@ void DmAl_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
void DmAl_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
}
static Gfx* sDlists[] = {
static Gfx* sDLists[] = {
gMadameAromaShawlMiddleDL, gMadameAromaShawlUpperDL,
gMadameAromaShawlLeftLowerMiddleDL, gMadameAromaShawlLeftLowerDL,
gMadameAromaShawlRightLowerMiddleDL, gMadameAromaShawlRightLowerDL,
@ -172,7 +172,7 @@ void DmAl_Draw(Actor* thisx, PlayState* play) {
for (i = 0; i < ARRAY_COUNT(this->shawlMatrices); i++) {
Matrix_Put(&this->shawlMatrices[i]);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, sDlists[i]);
gSPDisplayList(POLY_OPA_DISP++, sDLists[i]);
}
CLOSE_DISPS(play->state.gfxCtx);

View File

@ -59,7 +59,7 @@ void EnBu_Draw(Actor* thisx, PlayState* play) {
Matrix_RotateXS(this->actor.shape.rot.x, MTXMODE_APPLY);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, this->displayListPtr);
gSPDisplayList(POLY_OPA_DISP++, this->dList);
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -11,7 +11,7 @@ typedef struct EnBu {
/* 0x000 */ Actor actor;
/* 0x144 */ EnBuActionFunc actionFunc;
/* 0x148 */ UNK_TYPE1 unk148[0x44];
/* 0x18C */ Gfx* displayListPtr;
/* 0x18C */ Gfx* dList;
} EnBu; // size = 0x190
#endif // Z_EN_BU_H

View File

@ -152,7 +152,7 @@ void EnDnb_Update(Actor* thisx, PlayState* play) {
void func_80A50510(EnDnb* this, PlayState* play) {
s32 i;
Gfx** gfx = Lib_SegmentedToVirtual(object_hanareyama_obj_DLArray_004638);
Gfx** dLists = Lib_SegmentedToVirtual(object_hanareyama_obj_DLArray_004638);
OPEN_DISPS(play->state.gfxCtx);
@ -166,7 +166,7 @@ void func_80A50510(EnDnb* this, PlayState* play) {
Matrix_RotateZS(this->effects[i].unk_18.z, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gfx[i]);
gSPDisplayList(POLY_XLU_DISP++, dLists[i]);
Matrix_Pop();
}
@ -176,7 +176,7 @@ void func_80A50510(EnDnb* this, PlayState* play) {
void func_80A5063C(EnDnb* this, PlayState* play) {
s32 i;
Gfx** gfx = Lib_SegmentedToVirtual(object_hanareyama_obj_DLArray_004638);
Gfx** dLists = Lib_SegmentedToVirtual(object_hanareyama_obj_DLArray_004638);
OPEN_DISPS(play->state.gfxCtx);
@ -190,7 +190,7 @@ void func_80A5063C(EnDnb* this, PlayState* play) {
Matrix_RotateZS(this->effects[i].unk_18.z, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gfx[i]);
gSPDisplayList(POLY_OPA_DISP++, dLists[i]);
Matrix_Pop();
}

View File

@ -656,9 +656,7 @@ s32 EnDoor_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
EnDoor* this = THIS;
if (limbIndex == DOOR_LIMB_4) {
Gfx** dl = D_808679A4[this->knobDoor.dlIndex];
s16 temp;
s32 dlIndex;
Gfx** sideDLists = D_808679A4[this->knobDoor.dlIndex];
transitionEntry = NULL;
@ -668,19 +666,19 @@ s32 EnDoor_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
rot->z += this->knobDoor.dyna.actor.world.rot.y;
if ((this->doorType == ENDOOR_TYPE_7) || (play->roomCtx.prevRoom.num >= 0) ||
(transitionEntry->sides[0].room == transitionEntry->sides[1].room)) {
s32 pad;
temp =
s16 temp =
(this->knobDoor.dyna.actor.shape.rot.y + this->knobDoor.skelAnime.jointTable[DOOR_LIMB_3].z + rot->z) -
Math_Vec3f_Yaw(&play->view.eye, &this->knobDoor.dyna.actor.world.pos);
*dList = (ABS_ALT(temp) < 0x4000) ? dl[0] : dl[1];
*dList = (ABS_ALT(temp) < 0x4000) ? sideDLists[0] : sideDLists[1];
} else {
dlIndex = 0;
s32 index = 0;
if (transitionEntry->sides[0].room != this->knobDoor.dyna.actor.room) {
dlIndex = 1;
index = 1;
}
*dList = dl[dlIndex];
*dList = sideDLists[index];
}
}
return false;

View File

@ -822,18 +822,18 @@ void EnFamos_DrawDebris(EnFamos* this, PlayState* play) {
s32 i;
if (this->debrisTimer > 0) {
Gfx* dispOpa;
Gfx* gfx;
EnFamosRock* rock;
OPEN_DISPS(play->state.gfxCtx);
dispOpa = POLY_OPA_DISP;
gfx = POLY_OPA_DISP;
gSPDisplayList(&dispOpa[0], gSetupDLs[SETUPDL_25]);
gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]);
gDPSetPrimColor(&dispOpa[1], 0, 0x80, 255, 255, 255, 255);
gDPSetPrimColor(&gfx[1], 0, 0x80, 255, 255, 255, 255);
gDPSetEnvColor(&dispOpa[2], 255, 255, 255, 255);
gDPSetEnvColor(&gfx[2], 255, 255, 255, 255);
rock = &this->rocks[0];
for (i = 0; i < ARRAY_COUNT(this->rocks); i++, rock++) {
@ -841,13 +841,12 @@ void EnFamos_DrawDebris(EnFamos* this, PlayState* play) {
Matrix_SetTranslateRotateYXZ(rock->pos.x, rock->pos.y, rock->pos.z, &rock->rot);
Matrix_Scale(rock->scale, rock->scale, rock->scale, MTXMODE_APPLY);
gSPMatrix(&dispOpa[3 + i * 2], Matrix_NewMtx(play->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(&gfx[3 + i * 2], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dispOpa[4 + i * 2], &gameplay_keep_DL_06AB30); // greenish brown rock DL
gSPDisplayList(&gfx[4 + i * 2], &gameplay_keep_DL_06AB30); // greenish brown rock DL
}
POLY_OPA_DISP = &dispOpa[3 + (ARRAY_COUNT(this->rocks) * 2)];
POLY_OPA_DISP = &gfx[3 + (ARRAY_COUNT(this->rocks) * 2)];
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -3,7 +3,7 @@
* Overlay: ovl_En_Fishing
* Description: Fishing Pond Elements (Owner, Fish, Props, Effects...)
*/
#include "prevent_bss_reordering.h"
#include "z_en_fishing.h"
#include "z64rumble.h"
#include "z64shrink_window.h"

View File

@ -319,30 +319,30 @@ void EnHoll_Update(Actor* thisx, PlayState* play) {
void EnHoll_Draw(Actor* thisx, PlayState* play) {
EnHoll* this = THIS;
Gfx* dList;
Gfx* gfx;
u32 setupDListIndex;
if (this->alpha != 0) {
OPEN_DISPS(play->state.gfxCtx);
if (this->alpha == 255) {
dList = POLY_OPA_DISP;
gfx = POLY_OPA_DISP;
setupDListIndex = SETUPDL_37;
} else {
dList = POLY_XLU_DISP;
gfx = POLY_XLU_DISP;
setupDListIndex = SETUPDL_0;
}
dList = Gfx_SetupDL(dList, setupDListIndex);
gfx = Gfx_SetupDL(gfx, setupDListIndex);
if (this->playerSide == EN_HOLL_BEHIND) {
Matrix_RotateYF(M_PI, MTXMODE_APPLY);
}
gSPMatrix(dList++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(dList++, 0, 0, 0, 0, 0, this->alpha);
gSPDisplayList(dList++, gEnHollCentralPlaneDL);
gSPMatrix(gfx++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gfx++, 0, 0, 0, 0, 0, this->alpha);
gSPDisplayList(gfx++, gEnHollCentralPlaneDL);
if (this->alpha == 255) {
POLY_OPA_DISP = dList;
POLY_OPA_DISP = gfx;
} else {
POLY_XLU_DISP = dList;
POLY_XLU_DISP = gfx;
}
CLOSE_DISPS(play->state.gfxCtx);

View File

@ -1018,7 +1018,7 @@ static s8 sLimbToBodyParts[IRON_KNUCKLE_LIMB_MAX] = {
void EnIk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnIk* this = THIS;
s32 armorBodyPart = sLimbToArmorBodyParts[limbIndex];
Gfx* xlu;
Gfx* gfx;
IronKnuckleEffect* ikEffect;
s16 sp76;
Vec3f vtxC;
@ -1078,11 +1078,11 @@ void EnIk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
(sIronKnuckleArmorMarkings[armorBodyPart].unk00 != NULL))) {
OPEN_DISPS(play->state.gfxCtx);
xlu = POLY_XLU_DISP;
gfx = POLY_XLU_DISP;
gSPMatrix(&xlu[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&xlu[1], sIronKnuckleArmorMarkings[armorBodyPart].unk00);
POLY_XLU_DISP = &xlu[2];
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[1], sIronKnuckleArmorMarkings[armorBodyPart].unk00);
POLY_XLU_DISP = &gfx[2];
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -489,21 +489,21 @@ void EnNwc_Update(Actor* thisx, PlayState* play) {
void EnNwc_Draw(Actor* thisx, PlayState* play) {
TexturePtr eyeTextures[] = { gNwcEyeOpenTex, gNwcEyeClosedTex };
EnNwc* this = THIS;
Gfx* dispHead;
Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL25_Opa(play->state.gfxCtx);
dispHead = POLY_OPA_DISP;
gfx = POLY_OPA_DISP;
gSPSegment(&dispHead[0], 0x08, Lib_SegmentedToVirtual(eyeTextures[this->blinkState]));
gSPSegment(&gfx[0], 0x08, Lib_SegmentedToVirtual(eyeTextures[this->blinkState]));
gSPMatrix(&dispHead[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(&gfx[1], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dispHead[2], &gNwcBodyDL);
gSPDisplayList(&gfx[2], &gNwcBodyDL);
POLY_OPA_DISP = &dispHead[3];
POLY_OPA_DISP = &gfx[3];
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -644,7 +644,7 @@ void EnPoComposer_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3
void EnPoComposer_Draw(Actor* thisx, PlayState* play) {
EnPoComposer* this = THIS;
s32 pad;
Gfx* dl;
Gfx* gfx;
Color_RGBA8* clothingColor;
Color_RGBA8* var_t0;
Vec3f lightOffset;
@ -706,29 +706,29 @@ void EnPoComposer_Draw(Actor* thisx, PlayState* play) {
if (this->lightColor.a == 255) {
Scene_SetRenderModeXlu(play, 0, 1);
dl = POLY_OPA_DISP;
gfx = POLY_OPA_DISP;
} else {
Scene_SetRenderModeXlu(play, 1, 2);
dl = POLY_XLU_DISP;
gfx = POLY_XLU_DISP;
}
gDPPipeSync(&dl[0]);
gDPSetEnvColor(&dl[1], this->envColor.r, this->envColor.g, this->envColor.b, this->lightColor.a);
gDPPipeSync(&gfx[0]);
gDPSetEnvColor(&gfx[1], this->envColor.r, this->envColor.g, this->envColor.b, this->lightColor.a);
Matrix_Put(&this->lanternMtxF);
gSPMatrix(&dl[2], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(&gfx[2], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dl[3], gPoeComposerLanternBaseDL);
gSPDisplayList(&dl[4], gPoeComposerLanternGlassDL);
gSPDisplayList(&gfx[3], gPoeComposerLanternBaseDL);
gSPDisplayList(&gfx[4], gPoeComposerLanternGlassDL);
gDPPipeSync(&dl[5]);
gDPSetEnvColor(&dl[6], clothingColor->r, clothingColor->g, clothingColor->b, this->lightColor.a);
gSPDisplayList(&dl[7], gPoeComposerLanternTopDL);
gDPPipeSync(&gfx[5]);
gDPSetEnvColor(&gfx[6], clothingColor->r, clothingColor->g, clothingColor->b, this->lightColor.a);
gSPDisplayList(&gfx[7], gPoeComposerLanternTopDL);
if (this->lightColor.a == 255) {
POLY_OPA_DISP = &dl[8];
POLY_OPA_DISP = &gfx[8];
} else {
POLY_XLU_DISP = &dl[8];
POLY_XLU_DISP = &gfx[8];
}
}

View File

@ -373,22 +373,22 @@ void ObjChan_Update(Actor* thisx, PlayState* play) {
void ObjChan_Draw(Actor* thisx, PlayState* play) {
s32 pad;
ObjChan* this = THIS;
Gfx* opa;
Gfx* xlu;
Gfx* gfxOpa;
Gfx* gfxXlu;
OPEN_DISPS(play->state.gfxCtx);
Matrix_RotateYS(this->rotation, MTXMODE_APPLY);
opa = Gfx_SetupDL(POLY_OPA_DISP, SETUPDL_25);
gSPMatrix(&opa[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&opa[1], gChandelierCenterDL);
POLY_OPA_DISP = &opa[2];
gfxOpa = Gfx_SetupDL(POLY_OPA_DISP, SETUPDL_25);
gSPMatrix(&gfxOpa[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&gfxOpa[1], gChandelierCenterDL);
POLY_OPA_DISP = &gfxOpa[2];
xlu = Gfx_SetupDL71(POLY_XLU_DISP);
gSPMatrix(&xlu[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&xlu[1], gChandelierPotHolderDL);
POLY_XLU_DISP = &xlu[2];
gfxXlu = Gfx_SetupDL71(POLY_XLU_DISP);
gSPMatrix(&gfxXlu[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&gfxXlu[1], gChandelierPotHolderDL);
POLY_XLU_DISP = &gfxXlu[2];
CLOSE_DISPS(play->state.gfxCtx);
@ -402,14 +402,14 @@ void ObjChan_Draw(Actor* thisx, PlayState* play) {
void ObjChan_DrawPot(Actor* thisx, PlayState* play) {
ObjChan* this = THIS;
s32 pad;
Gfx* dl;
Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx);
dl = Gfx_SetupDL(POLY_OPA_DISP, SETUPDL_25);
gSPMatrix(&dl[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&dl[1], gChandelierPotDL);
POLY_OPA_DISP = &dl[2];
gfx = Gfx_SetupDL(POLY_OPA_DISP, SETUPDL_25);
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPDisplayList(&gfx[1], gChandelierPotDL);
POLY_OPA_DISP = &gfx[2];
CLOSE_DISPS(play->state.gfxCtx);
@ -420,7 +420,7 @@ void ObjChan_DrawPot(Actor* thisx, PlayState* play) {
void ObjChan_DrawFire(ObjChan* this, PlayState* play) {
u32 sp4C;
Gfx* dl;
Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx);
@ -432,13 +432,13 @@ void ObjChan_DrawFire(ObjChan* this, PlayState* play) {
sObjChanFlameSize[OBJCHAN_SUBTYPE(&this->actor)].y * this->flameSize, 1.0f, MTXMODE_APPLY);
Matrix_Translate(0.0f, sObjChanFlameYOffset[OBJCHAN_SUBTYPE(&this->actor)], 0.0f, MTXMODE_APPLY);
dl = Gfx_SetupDL71(POLY_XLU_DISP);
gSPMatrix(&dl[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPSegment(&dl[1], 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0, -sp4C * 20, 32, 128));
gDPSetPrimColor(&dl[2], 128, 128, 255, 255, 0, 255);
gDPSetEnvColor(&dl[3], 255, 0, 0, 0);
gSPDisplayList(&dl[4], gEffFire1DL);
POLY_XLU_DISP = &dl[5];
gfx = Gfx_SetupDL71(POLY_XLU_DISP);
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_LOAD);
gSPSegment(&gfx[1], 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0, -sp4C * 20, 32, 128));
gDPSetPrimColor(&gfx[2], 128, 128, 255, 255, 0, 255);
gDPSetEnvColor(&gfx[3], 255, 0, 0, 0);
gSPDisplayList(&gfx[4], gEffFire1DL);
POLY_XLU_DISP = &gfx[5];
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -968,16 +968,16 @@ void ObjSwitch_DrawFloorSwitch(ObjSwitch* this, PlayState* play) {
s32 pad[2];
if (OBJ_SWITCH_GET_SUBTYPE(&this->dyna.actor) == OBJSWITCH_SUBTYPE_ONCE) {
Gfx* opa;
Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx);
opa = POLY_OPA_DISP;
gSPDisplayList(opa++, gSetupDLs[SETUPDL_25]);
gSPMatrix(opa++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(opa++, 0, 0x80, this->color.r, this->color.g, this->color.b, 255);
gSPDisplayList(opa++, gFloorSwitch1DL);
POLY_OPA_DISP = opa;
gfx = POLY_OPA_DISP;
gSPDisplayList(gfx++, gSetupDLs[SETUPDL_25]);
gSPMatrix(gfx++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gfx++, 0, 0x80, this->color.r, this->color.g, this->color.b, 255);
gSPDisplayList(gfx++, gFloorSwitch1DL);
POLY_OPA_DISP = gfx;
CLOSE_DISPS(play->state.gfxCtx);
} else {

View File

@ -331,7 +331,7 @@
0x8009CED0 : "controller",
0x8009CF60 : "voicegetreaddata",
0x8009CF70 : "initialize",
0x8009CF80 : "threadsave",
0x8009CF80 : "kdebugserver",
0x8009D130 : "pimgr",
0x8009E3F0 : "piacs",
0x8009E410 : "contpfs",

View File

@ -66,7 +66,7 @@
0x80082180:("Fault_DrawCornerRec",),
0x800821D4:("Fault_PrintFReg",),
0x80082280:("Fault_LogFReg",),
0x80082330:("Fault_PrintFPCR",),
0x80082330:("Fault_PrintFPCSR",),
0x800823D4:("Fault_LogFPCSR",),
0x8008246C:("Fault_PrintThreadContext",),
0x800827BC:("osSyncPrintfThreadContext",),
@ -81,7 +81,7 @@
0x80083450:("Fault_ResumeThread",),
0x800834CC:("Fault_DisplayFrameBuffer",),
0x8008358C:("Fault_ProcessClients",),
0x80083670:("Fault_SetOptionsFromController3",),
0x80083670:("Fault_SetOptions",),
0x800837E4:("Fault_UpdatePad",),
0x80083828:("Fault_ThreadEntry",),
0x80083B70:("Fault_SetFrameBuffer",),
@ -116,7 +116,7 @@
0x8008501C:("Overlay_Load",),
0x800850C8:("Overlay_AllocateAndLoad",),
0x80085130:("PadUtils_Init",),
0x80085150:("func_80085150",),
0x80085150:("PadUtils_Destroy",),
0x80085158:("PadUtils_ResetPressRel",),
0x80085164:("PadUtils_CheckCurExact",),
0x8008517C:("PadUtils_CheckCur",),
@ -281,7 +281,7 @@
0x80089580:("__osVoiceCheckResult",),
0x80089630:("bzero",),
0x800896D0:("__osMotorAccess",),
0x80089838:("_MakeMotorData",),
0x80089838:("__osMakeMotorData",),
0x80089944:("osMotorInit",),
0x80089AA0:("__osSiCreateAccessQueue",),
0x80089AF0:("__osSiGetAccess",),

View File

@ -304,7 +304,7 @@
0x8009B358:("sDmaMgrThread","OSThread","",0x1b0),
0x8009B508:("sDmaMgrStack","u8","[1280]",0x500),
0x8009BA10:("sYaz0DataBuffer","u8","[1024]",0x400),
0x8009BE10:("sYaz0CurDataEnd","u8*","",0x4),
0x8009BE10:("sYaz0DataBufferEnd","u8*","",0x4),
0x8009BE14:("sYaz0CurRomStart","u32","",0x4),
0x8009BE18:("sYaz0CurSize","u32","",0x4),
0x8009BE1C:("sYaz0MaxPtr","u8*","",0x4),

View File

@ -63,7 +63,7 @@ asm/non_matchings/boot/fault/Fault_FillScreenRed.s,Fault_FillScreenRed,0x8008212
asm/non_matchings/boot/fault/Fault_DrawCornerRec.s,Fault_DrawCornerRec,0x80082180,0x15
asm/non_matchings/boot/fault/Fault_PrintFReg.s,Fault_PrintFReg,0x800821D4,0x2B
asm/non_matchings/boot/fault/Fault_LogFReg.s,Fault_LogFReg,0x80082280,0x2C
asm/non_matchings/boot/fault/Fault_PrintFPCR.s,Fault_PrintFPCR,0x80082330,0x29
asm/non_matchings/boot/fault/Fault_PrintFPCSR.s,Fault_PrintFPCSR,0x80082330,0x29
asm/non_matchings/boot/fault/Fault_LogFPCSR.s,Fault_LogFPCSR,0x800823D4,0x26
asm/non_matchings/boot/fault/Fault_PrintThreadContext.s,Fault_PrintThreadContext,0x8008246C,0xD4
asm/non_matchings/boot/fault/osSyncPrintfThreadContext.s,osSyncPrintfThreadContext,0x800827BC,0xBF
@ -78,7 +78,7 @@ asm/non_matchings/boot/fault/Fault_LogStackTrace.s,Fault_LogStackTrace,0x800832D
asm/non_matchings/boot/fault/Fault_ResumeThread.s,Fault_ResumeThread,0x80083450,0x1F
asm/non_matchings/boot/fault/Fault_DisplayFrameBuffer.s,Fault_DisplayFrameBuffer,0x800834CC,0x30
asm/non_matchings/boot/fault/Fault_ProcessClients.s,Fault_ProcessClients,0x8008358C,0x39
asm/non_matchings/boot/fault/Fault_SetOptionsFromController3.s,Fault_SetOptionsFromController3,0x80083670,0x5D
asm/non_matchings/boot/fault/Fault_SetOptions.s,Fault_SetOptions,0x80083670,0x5D
asm/non_matchings/boot/fault/Fault_UpdatePad.s,Fault_UpdatePad,0x800837E4,0x11
asm/non_matchings/boot/fault/Fault_ThreadEntry.s,Fault_ThreadEntry,0x80083828,0xD2
asm/non_matchings/boot/fault/Fault_SetFrameBuffer.s,Fault_SetFrameBuffer,0x80083B70,0x15
@ -113,7 +113,7 @@ asm/non_matchings/boot/loadfragment2/Overlay_Relocate.s,Overlay_Relocate,0x80084
asm/non_matchings/boot/loadfragment2/Overlay_Load.s,Overlay_Load,0x8008501C,0x2B
asm/non_matchings/boot/loadfragment2/Overlay_AllocateAndLoad.s,Overlay_AllocateAndLoad,0x800850C8,0x1A
asm/non_matchings/boot/padutils/PadUtils_Init.s,PadUtils_Init,0x80085130,0x8
asm/non_matchings/boot/padutils/func_80085150.s,func_80085150,0x80085150,0x2
asm/non_matchings/boot/padutils/PadUtils_Destroy.s,PadUtils_Destroy,0x80085150,0x2
asm/non_matchings/boot/padutils/PadUtils_ResetPressRel.s,PadUtils_ResetPressRel,0x80085158,0x3
asm/non_matchings/boot/padutils/PadUtils_CheckCurExact.s,PadUtils_CheckCurExact,0x80085164,0x6
asm/non_matchings/boot/padutils/PadUtils_CheckCur.s,PadUtils_CheckCur,0x8008517C,0x7
@ -278,7 +278,7 @@ asm/non_matchings/boot/destroythread/osDestroyThread.s,osDestroyThread,0x8008947
asm/non_matchings/boot/voicecheckresult/__osVoiceCheckResult.s,__osVoiceCheckResult,0x80089580,0x2C
asm/non_matchings/boot/bzero/bzero.s,bzero,0x80089630,0x28
asm/non_matchings/boot/rumblepak/__osMotorAccess.s,__osMotorAccess,0x800896D0,0x5A
asm/non_matchings/boot/rumblepak/_MakeMotorData.s,_MakeMotorData,0x80089838,0x43
asm/non_matchings/boot/rumblepak/__osMakeMotorData.s,__osMakeMotorData,0x80089838,0x43
asm/non_matchings/boot/rumblepak/osMotorInit.s,osMotorInit,0x80089944,0x57
asm/non_matchings/boot/siacs/__osSiCreateAccessQueue.s,__osSiCreateAccessQueue,0x80089AA0,0x14
asm/non_matchings/boot/siacs/__osSiGetAccess.s,__osSiGetAccess,0x80089AF0,0x11

1 asm/non_matchings/boot/boot_main/bootproc.s bootproc 0x80080060 0x3C
63 asm/non_matchings/boot/fault/Fault_DrawCornerRec.s Fault_DrawCornerRec 0x80082180 0x15
64 asm/non_matchings/boot/fault/Fault_PrintFReg.s Fault_PrintFReg 0x800821D4 0x2B
65 asm/non_matchings/boot/fault/Fault_LogFReg.s Fault_LogFReg 0x80082280 0x2C
66 asm/non_matchings/boot/fault/Fault_PrintFPCR.s asm/non_matchings/boot/fault/Fault_PrintFPCSR.s Fault_PrintFPCR Fault_PrintFPCSR 0x80082330 0x29
67 asm/non_matchings/boot/fault/Fault_LogFPCSR.s Fault_LogFPCSR 0x800823D4 0x26
68 asm/non_matchings/boot/fault/Fault_PrintThreadContext.s Fault_PrintThreadContext 0x8008246C 0xD4
69 asm/non_matchings/boot/fault/osSyncPrintfThreadContext.s osSyncPrintfThreadContext 0x800827BC 0xBF
78 asm/non_matchings/boot/fault/Fault_ResumeThread.s Fault_ResumeThread 0x80083450 0x1F
79 asm/non_matchings/boot/fault/Fault_DisplayFrameBuffer.s Fault_DisplayFrameBuffer 0x800834CC 0x30
80 asm/non_matchings/boot/fault/Fault_ProcessClients.s Fault_ProcessClients 0x8008358C 0x39
81 asm/non_matchings/boot/fault/Fault_SetOptionsFromController3.s asm/non_matchings/boot/fault/Fault_SetOptions.s Fault_SetOptionsFromController3 Fault_SetOptions 0x80083670 0x5D
82 asm/non_matchings/boot/fault/Fault_UpdatePad.s Fault_UpdatePad 0x800837E4 0x11
83 asm/non_matchings/boot/fault/Fault_ThreadEntry.s Fault_ThreadEntry 0x80083828 0xD2
84 asm/non_matchings/boot/fault/Fault_SetFrameBuffer.s Fault_SetFrameBuffer 0x80083B70 0x15
113 asm/non_matchings/boot/loadfragment2/Overlay_Load.s Overlay_Load 0x8008501C 0x2B
114 asm/non_matchings/boot/loadfragment2/Overlay_AllocateAndLoad.s Overlay_AllocateAndLoad 0x800850C8 0x1A
115 asm/non_matchings/boot/padutils/PadUtils_Init.s PadUtils_Init 0x80085130 0x8
116 asm/non_matchings/boot/padutils/func_80085150.s asm/non_matchings/boot/padutils/PadUtils_Destroy.s func_80085150 PadUtils_Destroy 0x80085150 0x2
117 asm/non_matchings/boot/padutils/PadUtils_ResetPressRel.s PadUtils_ResetPressRel 0x80085158 0x3
118 asm/non_matchings/boot/padutils/PadUtils_CheckCurExact.s PadUtils_CheckCurExact 0x80085164 0x6
119 asm/non_matchings/boot/padutils/PadUtils_CheckCur.s PadUtils_CheckCur 0x8008517C 0x7
278 asm/non_matchings/boot/voicecheckresult/__osVoiceCheckResult.s __osVoiceCheckResult 0x80089580 0x2C
279 asm/non_matchings/boot/bzero/bzero.s bzero 0x80089630 0x28
280 asm/non_matchings/boot/rumblepak/__osMotorAccess.s __osMotorAccess 0x800896D0 0x5A
281 asm/non_matchings/boot/rumblepak/_MakeMotorData.s asm/non_matchings/boot/rumblepak/__osMakeMotorData.s _MakeMotorData __osMakeMotorData 0x80089838 0x43
282 asm/non_matchings/boot/rumblepak/osMotorInit.s osMotorInit 0x80089944 0x57
283 asm/non_matchings/boot/siacs/__osSiCreateAccessQueue.s __osSiCreateAccessQueue 0x80089AA0 0x14
284 asm/non_matchings/boot/siacs/__osSiGetAccess.s __osSiGetAccess 0x80089AF0 0x11