mirror of
https://github.com/zeldaret/mm.git
synced 2026-06-20 15:41:10 -04:00
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:
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
+1553
-1164
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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)) {}
|
||||
|
||||
@@ -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
@@ -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
@@ -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++;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user