Enable -Wint-conversion warning (#1266)

* fixing some warnings

* more pointer fixing

* Use `-Wno-int-conversion` on audio files

* more progress

* fix

* more pointer fixes

* kinda progress

* Fix remaining casts

* Format

* fix merge

* fix warnings

* fix parameter

* use SEGMENT_ROM_START_OFFSET a bit more

* format

* fix audio warnings

* some more fixes

* fix en_go

* review

* review

* whoops, missing cast

* review

* review

* ->data

* format

* review

* fix

* asPtr

* fix

* Update src/code/sched.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

* fix in EnDnh

* improve format

* engo

* format

* fix

* format

* Update include/z64.h

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* TexturePtr

* fix warnings

* fix warnings

* format

* fix

* review

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
Anghelo Carvajal
2023-11-01 20:07:38 -03:00
committed by GitHub
parent 42e1c438e1
commit f276d2b0e6
53 changed files with 1753 additions and 1350 deletions
+4 -4
View File
@@ -32,7 +32,7 @@ void* THA_GetTail(TwoHeadArena* tha) {
void* THA_AllocHead(TwoHeadArena* tha, size_t size) {
void* start = tha->head;
tha->head = (u8*)tha->head + size;
tha->head = (void*)((uintptr_t)tha->head + size);
return start;
}
@@ -102,8 +102,8 @@ void* THA_AllocTailAlign(TwoHeadArena* tha, size_t size, uintptr_t mask) {
*
* @return Remaining size. A negative number indicates an overflow.
*/
s32 THA_GetRemaining(TwoHeadArena* tha) {
return (s32)((u8*)tha->tail - (u8*)tha->head);
ptrdiff_t THA_GetRemaining(TwoHeadArena* tha) {
return (uintptr_t)tha->tail - (uintptr_t)tha->head;
}
/**
@@ -115,7 +115,7 @@ u32 THA_IsCrash(TwoHeadArena* tha) {
void THA_Reset(TwoHeadArena* tha) {
tha->head = tha->start;
tha->tail = (u8*)tha->start + tha->size;
tha->tail = (void*)((uintptr_t)tha->start + tha->size);
}
/**
+3 -3
View File
@@ -44,7 +44,7 @@ void Graph_SetNextGfxPool(GraphicsContext* gfxCtx) {
GfxPool* pool = &gGfxPools[gfxCtx->gfxPoolIdx % 2];
gGfxMasterDL = &pool->master;
gSegments[0x0E] = gGfxMasterDL;
gSegments[0x0E] = (uintptr_t)gGfxMasterDL;
pool->headMagic = GFXPOOL_HEAD_MAGIC;
pool->tailMagic = GFXPOOL_TAIL_MAGIC;
@@ -62,7 +62,7 @@ void Graph_SetNextGfxPool(GraphicsContext* gfxCtx) {
gfxCtx->debugBuffer = pool->debugBuffer;
gfxCtx->curFrameBuffer = SysCfb_GetFramebuffer(gfxCtx->framebufferIndex % 2);
gSegments[0x0F] = gfxCtx->curFrameBuffer;
gSegments[0x0F] = (uintptr_t)gfxCtx->curFrameBuffer;
gfxCtx->zbuffer = SysCfb_GetZBuffer();
@@ -180,7 +180,7 @@ retry:
task->dramStack = (u64*)gGfxSPTaskStack;
task->dramStackSize = sizeof(gGfxSPTaskStack);
task->outputBuff = gGfxSPTaskOutputBufferPtr;
task->outputBuffSize = gGfxSPTaskOutputBufferEnd;
task->outputBuffSize = (void*)gGfxSPTaskOutputBufferEnd;
task->dataPtr = (u64*)gGfxMasterDL;
task->dataSize = 0;
task->yieldDataPtr = (u64*)gGfxSPTaskYieldBuffer;
+2 -2
View File
@@ -53,10 +53,10 @@ void Main(void* arg) {
Check_RegionIsSupported();
Check_ExpansionPak();
sysHeap = gSystemHeap;
sysHeap = (intptr_t)gSystemHeap;
fb = 0x80780000;
gSystemHeapSize = fb - sysHeap;
SystemHeap_Init(sysHeap, gSystemHeapSize);
SystemHeap_Init((void*)sysHeap, gSystemHeapSize);
Regs_Init();
+15 -12
View File
@@ -95,8 +95,9 @@ void Sched_HandleAudioCancel(SchedContext* sched) {
// AUDIO SP seems to be stopped
osSyncPrintf("AUDIO SP止まっているようです\n");
}
send_mesg:
osSendMesg(&sched->interruptQ, RSP_DONE_MSG, OS_MESG_NOBLOCK);
osSendMesg(&sched->interruptQ, (OSMesg)RSP_DONE_MSG, OS_MESG_NOBLOCK);
return;
}
@@ -157,8 +158,9 @@ void Sched_HandleGfxCancel(SchedContext* sched) {
// GRAPH SP seems to be stopped
osSyncPrintf("GRAPH SP止まっているようです\n");
}
send_mesg:
osSendMesg(&sched->interruptQ, RSP_DONE_MSG, OS_MESG_NOBLOCK);
osSendMesg(&sched->interruptQ, (OSMesg)RSP_DONE_MSG, OS_MESG_NOBLOCK);
goto halt_rdp;
}
@@ -186,8 +188,8 @@ halt_rdp:
if (dpTask->type == M_GFXTASK) {
// Try to stop DP
osSyncPrintf("DP止めようとします\n");
bzero(dpTask->outputBuff, (u32)dpTask->outputBuffSize - (u32)dpTask->outputBuff);
osSendMesg(&sched->interruptQ, RDP_DONE_MSG, OS_MESG_NOBLOCK);
bzero(dpTask->outputBuff, (uintptr_t)dpTask->outputBuffSize - (uintptr_t)dpTask->outputBuff);
osSendMesg(&sched->interruptQ, (OSMesg)RDP_DONE_MSG, OS_MESG_NOBLOCK);
}
}
}
@@ -503,7 +505,7 @@ void Sched_HandleRDPDone(SchedContext* sched) {
* been sent down the command queue.
*/
void Sched_SendEntryMsg(SchedContext* sched) {
osSendMesg(&sched->interruptQ, ENTRY_MSG, OS_MESG_BLOCK);
osSendMesg(&sched->interruptQ, (OSMesg)ENTRY_MSG, OS_MESG_BLOCK);
}
/**
@@ -511,7 +513,7 @@ void Sched_SendEntryMsg(SchedContext* sched) {
* to stop the last dispatched audio task.
*/
void Sched_SendAudioCancelMsg(SchedContext* sched) {
osSendMesg(&sched->interruptQ, RDP_AUDIO_CANCEL_MSG, OS_MESG_BLOCK);
osSendMesg(&sched->interruptQ, (OSMesg)RDP_AUDIO_CANCEL_MSG, OS_MESG_BLOCK);
}
/**
@@ -519,7 +521,7 @@ void Sched_SendAudioCancelMsg(SchedContext* sched) {
* to stop the last dispatched gfx task.
*/
void Sched_SendGfxCancelMsg(SchedContext* sched) {
osSendMesg(&sched->interruptQ, RSP_GFX_CANCEL_MSG, OS_MESG_BLOCK);
osSendMesg(&sched->interruptQ, (OSMesg)RSP_GFX_CANCEL_MSG, OS_MESG_BLOCK);
}
/**
@@ -554,14 +556,14 @@ void Sched_FaultClient(void* param1, void* param2) {
* threads or the OS.
*/
void Sched_ThreadEntry(void* arg) {
OSMesg msg = NULL;
s32 msg = 0;
SchedContext* sched = (SchedContext*)arg;
while (true) {
osRecvMesg(&sched->interruptQ, &msg, OS_MESG_BLOCK);
osRecvMesg(&sched->interruptQ, (OSMesg*)&msg, OS_MESG_BLOCK);
// Check if it's a message from another thread or the OS
switch ((s32)msg) {
switch (msg) {
case RDP_AUDIO_CANCEL_MSG:
Sched_HandleAudioCancel(sched);
continue;
@@ -582,6 +584,7 @@ void Sched_ThreadEntry(void* arg) {
Sched_HandleRDPDone(sched);
continue;
}
// Check if it's a message from the IrqMgr
switch (((OSScMsg*)msg)->type) {
case OS_SC_RETRACE_MSG:
@@ -611,8 +614,8 @@ void Sched_Init(SchedContext* sched, void* stack, OSPri pri, u8 viModeType, UNK_
osCreateMesgQueue(&sched->interruptQ, sched->intBuf, ARRAY_COUNT(sched->intBuf));
osCreateMesgQueue(&sched->cmdQ, sched->cmdMsgBuf, ARRAY_COUNT(sched->cmdMsgBuf));
osSetEventMesg(OS_EVENT_SP, &sched->interruptQ, RSP_DONE_MSG);
osSetEventMesg(OS_EVENT_DP, &sched->interruptQ, RDP_DONE_MSG);
osSetEventMesg(OS_EVENT_SP, &sched->interruptQ, (OSMesg)RSP_DONE_MSG);
osSetEventMesg(OS_EVENT_DP, &sched->interruptQ, (OSMesg)RDP_DONE_MSG);
IrqMgr_AddClient(irqMgr, &sched->irqClient, &sched->interruptQ);
Fault_AddClient(&sSchedFaultClient, Sched_FaultClient, sched, NULL);
osCreateThread(&sched->thread, Z_THREAD_ID_SCHED, Sched_ThreadEntry, sched, stack, pri);
+5 -5
View File
@@ -43,9 +43,9 @@ void func_80178AC0(u16* src, void* dst, size_t size) {
}
}
void CmpDma_GetFileInfo(u8* segmentRom, s32 id, uintptr_t* outFileRom, size_t* size, s32* flag) {
u32 dataStart;
u32 refOff;
void CmpDma_GetFileInfo(uintptr_t segmentRom, s32 id, uintptr_t* outFileRom, size_t* size, s32* flag) {
uintptr_t dataStart;
uintptr_t refOff;
DmaMgr_DmaRomToRam(segmentRom, &sDmaBuffer.dataStart, sizeof(sDmaBuffer.dataStart));
@@ -53,12 +53,12 @@ void CmpDma_GetFileInfo(u8* segmentRom, s32 id, uintptr_t* outFileRom, size_t* s
refOff = id * sizeof(u32);
// if id is >= idMax
if (refOff > (dataStart - 4)) {
if (refOff > (dataStart - sizeof(u32))) {
*outFileRom = segmentRom;
*size = 0;
} else if (refOff == 0) {
// get offset start of next file, i.e. size of first file
DmaMgr_DmaRomToRam(segmentRom + 4, &sDmaBuffer.dataSize, sizeof(sDmaBuffer.dataSize));
DmaMgr_DmaRomToRam(segmentRom + sizeof(u32), &sDmaBuffer.dataSize, sizeof(sDmaBuffer.dataSize));
*outFileRom = segmentRom + dataStart;
*size = sDmaBuffer.dataSize;
} else {
+2 -2
View File
@@ -206,12 +206,12 @@ void SysFlashrom_ThreadEntry(void* arg) {
switch (req->requestType) {
case FLASHROM_REQUEST_WRITE:
req->response = SysFlashrom_WriteData(req->addr, req->pageNum, req->pageCount);
osSendMesg(&req->messageQueue, req->response, OS_MESG_BLOCK);
osSendMesg(&req->messageQueue, (OSMesg)req->response, OS_MESG_BLOCK);
break;
case FLASHROM_REQUEST_READ:
req->response = SysFlashrom_ReadData(req->addr, req->pageNum, req->pageCount);
osSendMesg(&req->messageQueue, req->response, OS_MESG_BLOCK);
osSendMesg(&req->messageQueue, (OSMesg)req->response, OS_MESG_BLOCK);
break;
}
}
+10 -8
View File
@@ -8,15 +8,17 @@ void Overlay_LoadGameState(GameStateOverlay* overlayEntry) {
if (overlayEntry->loadedRamAddr != NULL) {
return;
}
vramStart = overlayEntry->vramStart;
if (vramStart == NULL) {
overlayEntry->unk_28 = 0;
return;
}
overlayEntry->loadedRamAddr = Overlay_AllocateAndLoad(overlayEntry->vromStart, overlayEntry->vromEnd,
(uintptr_t)vramStart, (uintptr_t)overlayEntry->vramEnd);
if (overlayEntry->loadedRamAddr != NULL) {
overlayEntry->loadedRamAddr =
Overlay_AllocateAndLoad(overlayEntry->vromStart, overlayEntry->vromEnd, vramStart, overlayEntry->vramEnd);
if (overlayEntry->loadedRamAddr != NULL) {
overlayEntry->unk_14 = (void*)(uintptr_t)((overlayEntry->unk_14 != NULL)
? (void*)((uintptr_t)overlayEntry->unk_14 -
(intptr_t)((uintptr_t)overlayEntry->vramStart -
@@ -69,11 +71,11 @@ void Overlay_FreeGameState(GameStateOverlay* overlayEntry) {
(uintptr_t)overlayEntry->loadedRamAddr))
: NULL);
overlayEntry->destroy = (uintptr_t)((overlayEntry->destroy != NULL)
? (void*)((uintptr_t)overlayEntry->destroy +
(intptr_t)((uintptr_t)overlayEntry->vramStart -
(uintptr_t)overlayEntry->loadedRamAddr))
: NULL);
overlayEntry->destroy = (void*)(uintptr_t)((overlayEntry->destroy != NULL)
? (void*)((uintptr_t)overlayEntry->destroy +
(intptr_t)((uintptr_t)overlayEntry->vramStart -
(uintptr_t)overlayEntry->loadedRamAddr))
: NULL);
overlayEntry->unk_20 = (void*)(uintptr_t)((overlayEntry->unk_20 != NULL)
? (void*)((uintptr_t)overlayEntry->unk_20 +
+1 -1
View File
@@ -477,7 +477,7 @@ PlayerMeleeWeaponState func_800CBAAC(Camera* camera) {
}
}
s32 Camera_GetFocalActorPos(Vec3f* dst, Camera* camera) {
Vec3f* Camera_GetFocalActorPos(Vec3f* dst, Camera* camera) {
PosRot focalPosRot;
Actor* focalActor = camera->focalActor;
+3 -4
View File
@@ -9,13 +9,13 @@ void Font_LoadCharNES(PlayState* play, u8 codePointIndex, s32 offset) {
Font* font = &msgCtx->font;
DmaMgr_SendRequest0(&font->charBuf[font->unk_11D88][offset],
&((u8*)SEGMENT_ROM_START(nes_font_static))[(codePointIndex - ' ') * FONT_CHAR_TEX_SIZE],
SEGMENT_ROM_START_OFFSET(nes_font_static, (codePointIndex - ' ') * FONT_CHAR_TEX_SIZE),
FONT_CHAR_TEX_SIZE);
}
void Font_LoadMessageBoxEndIcon(Font* font, u16 icon) {
DmaMgr_SendRequest0(&font->iconBuf,
&((u8*)SEGMENT_ROM_START(message_static))[5 * 0x1000 + icon * FONT_CHAR_TEX_SIZE],
SEGMENT_ROM_START_OFFSET(message_static, 5 * 0x1000 + icon * FONT_CHAR_TEX_SIZE),
FONT_CHAR_TEX_SIZE);
}
@@ -39,8 +39,7 @@ void Font_LoadOrderedFont(Font* font) {
loadOffset = 0;
}
DmaMgr_SendRequest0(writeLocation, (uintptr_t)SEGMENT_ROM_START(nes_font_static) + loadOffset,
FONT_CHAR_TEX_SIZE);
DmaMgr_SendRequest0(writeLocation, SEGMENT_ROM_START(nes_font_static) + loadOffset, FONT_CHAR_TEX_SIZE);
if (sFontOrdering[codePointIndex] == 0x8C) {
break;
}
+5 -5
View File
@@ -715,11 +715,11 @@ void* Lib_SegmentedToVirtualNull(void* ptr) {
* 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) {
uintptr_t Lib_VirtualToPhysical(void* ptr) {
if (ptr == NULL) {
return NULL;
return 0;
} else {
return (void*)OS_K0_TO_PHYSICAL(ptr);
return OS_K0_TO_PHYSICAL(ptr);
}
}
@@ -728,8 +728,8 @@ void* Lib_VirtualToPhysical(void* ptr) {
* 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) {
void* Lib_PhysicalToVirtual(uintptr_t ptr) {
if (ptr == 0) {
return NULL;
} else {
return OS_PHYSICAL_TO_K0(ptr);
+9 -9
View File
@@ -2275,8 +2275,8 @@ void Message_Decode(PlayState* play) {
spC0 += playerNameLen * (16.0f * msgCtx->textCharScale);
} else if (curChar == 0x201) {
DmaMgr_SendRequest0(msgCtx->textboxSegment + 0x1000, SEGMENT_ROM_START(message_texture_static), 0x900);
DmaMgr_SendRequest0(msgCtx->textboxSegment + 0x1900,
(uintptr_t)SEGMENT_ROM_START(message_texture_static) + 0x900, 0x900);
DmaMgr_SendRequest0(msgCtx->textboxSegment + 0x1900, SEGMENT_ROM_START(message_texture_static) + 0x900,
0x900);
spE0 = 2;
spD2 = 2;
msgCtx->unk12012 = msgCtx->textboxY + 8;
@@ -3049,7 +3049,7 @@ void func_80150A84(PlayState* play) {
if (D_801CFC78[textBoxType] != 14) {
DmaMgr_SendRequest0(msgCtx->textboxSegment,
&SEGMENT_ROM_START(message_static)[D_801CFC78[textBoxType] * 0x1000], 0x1000);
SEGMENT_ROM_START(message_static) + D_801CFC78[textBoxType] * 0x1000, 0x1000);
if (!play->pauseCtx.bombersNotebookOpen) {
if ((textBoxType == TEXTBOX_TYPE_0) || (textBoxType == TEXTBOX_TYPE_6) || (textBoxType == TEXTBOX_TYPE_A) ||
@@ -3176,17 +3176,17 @@ void Message_OpenText(PlayState* play, u16 textId) {
if (msgCtx->textIsCredits) {
Message_FindCreditsMessage(play, textId);
msgCtx->msgLength = font->messageEnd;
DmaMgr_SendRequest0(&font->msgBuf, &SEGMENT_ROM_START(staff_message_data_static)[font->messageStart],
DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(staff_message_data_static) + font->messageStart,
font->messageEnd);
} else if (gSaveContext.options.language == LANGUAGE_JPN) {
Message_FindMessage(play, textId);
msgCtx->msgLength = font->messageEnd;
DmaMgr_SendRequest0(&font->msgBuf, &SEGMENT_ROM_START(message_data_static)[font->messageStart],
DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart,
font->messageEnd);
} else {
Message_FindMessageNES(play, textId);
msgCtx->msgLength = font->messageEnd;
DmaMgr_SendRequest0(&font->msgBuf, &SEGMENT_ROM_START(message_data_static)[font->messageStart],
DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart,
font->messageEnd);
}
@@ -3275,12 +3275,12 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2) {
if (gSaveContext.options.language == LANGUAGE_JPN) {
Message_FindMessage(play, arg1);
msgCtx->msgLength = font->messageEnd;
DmaMgr_SendRequest0(&font->msgBuf, &SEGMENT_ROM_START(message_data_static)[font->messageStart],
DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart,
font->messageEnd);
} else {
Message_FindMessageNES(play, arg1);
msgCtx->msgLength = font->messageEnd;
DmaMgr_SendRequest0(&font->msgBuf, &SEGMENT_ROM_START(message_data_static)[font->messageStart],
DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart,
font->messageEnd);
}
msgCtx->choiceNum = 0;
@@ -3295,7 +3295,7 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2) {
msgCtx->textBoxPos = arg2;
msgCtx->unk11F0C = msgCtx->unk11F08 & 0xF;
msgCtx->textUnskippable = true;
DmaMgr_SendRequest0(msgCtx->textboxSegment, &SEGMENT_ROM_START(message_static)[D_801CFC78[0] << 12], 0x1000);
DmaMgr_SendRequest0(msgCtx->textboxSegment, SEGMENT_ROM_START(message_static) + (D_801CFC78[0] << 12), 0x1000);
msgCtx->textboxColorRed = 0;
msgCtx->textboxColorGreen = 0;
msgCtx->textboxColorBlue = 0;
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -19,7 +19,7 @@ void* TransitionOverlay_VramToRam(TransitionOverlay* overlayEntry, void* vramAdd
void* loadedRamAddr = Lib_PhysicalToVirtual(overlayEntry->loadInfo.addr);
if ((loadedRamAddr != NULL) && (vramAddr >= overlayEntry->vramStart) && (vramAddr < overlayEntry->vramEnd)) {
return ((uintptr_t)loadedRamAddr - (uintptr_t)overlayEntry->vramStart) + (uintptr_t)vramAddr;
return (void*)(((uintptr_t)loadedRamAddr - (uintptr_t)overlayEntry->vramStart) + (uintptr_t)vramAddr);
}
return vramAddr;
}
+4 -3
View File
@@ -916,8 +916,8 @@ void Interface_NewDay(PlayState* play, s32 day) {
}
// Loads day number from week_static for the three-day clock
DmaMgr_SendRequest0((u32)play->interfaceCtx.doActionSegment + 0x780,
(u32)SEGMENT_ROM_START(week_static) + i * 0x510, 0x510);
DmaMgr_SendRequest0((void*)(play->interfaceCtx.doActionSegment + 0x780),
SEGMENT_ROM_START_OFFSET(week_static, i * 0x510), 0x510);
// i is used to store sceneId
for (i = 0; i < ARRAY_COUNT(gSaveContext.save.saveInfo.permanentSceneFlags); i++) {
@@ -7121,7 +7121,8 @@ void Interface_Init(PlayState* play) {
interfaceCtx->doActionSegment = THA_AllocTailAlign16(&play->state.tha, 0xC90);
DmaMgr_SendRequest0(interfaceCtx->doActionSegment, SEGMENT_ROM_START(do_action_static), 0x300);
DmaMgr_SendRequest0(interfaceCtx->doActionSegment + 0x300, SEGMENT_ROM_START(do_action_static) + 0x480, 0x180);
DmaMgr_SendRequest0(interfaceCtx->doActionSegment + 0x300, SEGMENT_ROM_START_OFFSET(do_action_static, 0x480),
0x180);
Interface_NewDay(play, CURRENT_DAY);
+4 -1
View File
@@ -2329,7 +2329,10 @@ void Play_Init(GameState* thisx) {
THA_GetRemaining(&this->state.tha);
zAllocSize = THA_GetRemaining(&this->state.tha);
zAlloc = (uintptr_t)THA_AllocTailAlign16(&this->state.tha, zAllocSize);
ZeldaArena_Init(((zAlloc + 8) & ~0xF), (zAllocSize - ((zAlloc + 8) & ~0xF)) + zAlloc); //! @bug: Incorrect ALIGN16s
//! @bug: Incorrect ALIGN16s
ZeldaArena_Init((void*)((zAlloc + 8) & ~0xF), (zAllocSize - ((zAlloc + 8) & ~0xF)) + zAlloc);
Actor_InitContext(this, &this->actorCtx, this->linkActorEntry);
while (!Room_HandleLoadCallbacks(this, &this->roomCtx)) {}
+2 -2
View File
@@ -1037,7 +1037,7 @@ Gfx* sPlayerFirstPersonRightShoulderDLs[PLAYER_FORM_MAX] = {
Gfx* sPlayerFirstPersonRightHandDLs[PLAYER_FORM_MAX] = {
gLinkFierceDeityRightHandDL,
//! @bug This is in the middle of a texture in the link_goron object. It has the same offset as a link_nuts dlist
0x060038C0,
(Gfx*)0x060038C0,
gLinkZoraRightHandOpenDL,
gLinkDekuRightHandDL,
object_link_child_DL_018490,
@@ -1046,7 +1046,7 @@ Gfx* sPlayerFirstPersonRightHandDLs[PLAYER_FORM_MAX] = {
Gfx* sPlayerFirstPersonRightHandHookshotDLs[PLAYER_FORM_MAX] = {
gLinkFierceDeityRightHandDL,
//! @bug This is in the middle of a texture in the link_goron object. It has the same offset as a link_nuts dlist
0x060038C0,
(Gfx*)0x060038C0,
gLinkZoraRightHandOpenDL,
gLinkDekuRightHandDL,
object_link_child_DL_017B40,
+2 -2
View File
@@ -1449,8 +1449,8 @@ void func_8012CF0C(GraphicsContext* gfxCtx, s32 clearFb, s32 clearZb, u8 r, u8 g
s32 i;
gSegments[0x00] = 0;
gSegments[0x0F] = gfxCtx->curFrameBuffer;
gSegments[0x0E] = gGfxMasterDL;
gSegments[0x0F] = (uintptr_t)gfxCtx->curFrameBuffer;
gSegments[0x0E] = (uintptr_t)gGfxMasterDL;
zbuffer = gfxCtx->zbuffer;
+1 -1
View File
@@ -26,7 +26,7 @@ s32 Object_SpawnPersistent(ObjectContext* objectCtx, s16 id) {
if (objectCtx->numEntries < ARRAY_COUNT(objectCtx->slots) - 1) {
objectCtx->slots[objectCtx->numEntries + 1].segment =
ALIGN16((u32)objectCtx->slots[objectCtx->numEntries].segment + size);
(void*)ALIGN16((uintptr_t)objectCtx->slots[objectCtx->numEntries].segment + size);
}
objectCtx->numEntries++;
+2 -2
View File
@@ -1007,11 +1007,11 @@ void AnimationContext_SetLoadFrame(PlayState* play, PlayerAnimationHeader* anima
if (entry != NULL) {
PlayerAnimationHeader* playerAnimHeader = Lib_SegmentedToVirtual(animation);
void* ram = (void*)frameTable;
s32 pad;
osCreateMesgQueue(&entry->data.load.msgQueue, entry->data.load.msg, ARRAY_COUNT(entry->data.load.msg));
DmaMgr_SendRequestImpl(
&entry->data.load.req, ram,
&entry->data.load.req, frameTable,
LINK_ANIMETION_OFFSET(playerAnimHeader->linkAnimSegment, (sizeof(Vec3s) * limbCount + sizeof(s16)) * frame),
sizeof(Vec3s) * limbCount + sizeof(s16), 0, &entry->data.load.msgQueue, NULL);
}