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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
53 changed files with 1753 additions and 1350 deletions

View File

@ -108,7 +108,7 @@ endif
# Check code syntax with host compiler
ifneq ($(RUN_CC_CHECK),0)
CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-label -Wno-sign-compare -Wno-tautological-compare
CHECK_WARNINGS := -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-unused-but-set-variable -Wno-unused-label -Wno-sign-compare -Wno-tautological-compare
CC_CHECK := gcc -fno-builtin -fsyntax-only -funsigned-char -fdiagnostics-color -std=gnu89 -D _LANGUAGE_C -D NON_MATCHING $(IINC) -nostdinc $(CHECK_WARNINGS)
ifneq ($(WERROR), 0)
CC_CHECK += -Werror

View File

@ -248,7 +248,7 @@ typedef enum {
* @param sfxState
*/
#define AUDIOCMD_CHANNEL_SET_SFX_STATE(seqPlayerIndex, channelIndex, sfxState) \
AudioThread_QueueCmdS32(AUDIO_MK_CMD(AUDIOCMD_OP_CHANNEL_SET_SFX_STATE, seqPlayerIndex, channelIndex, 0), sfxState)
AudioThread_QueueCmdS32(AUDIO_MK_CMD(AUDIOCMD_OP_CHANNEL_SET_SFX_STATE, seqPlayerIndex, channelIndex, 0), (s32)sfxState)
/**
* Set the reverb index.
@ -493,7 +493,7 @@ typedef enum {
* @param functionPtr
*/
#define AUDIOCMD_GLOBAL_SET_CUSTOM_FUNCTION(functionType, functionPtr) \
AudioThread_QueueCmdS32(AUDIO_MK_CMD(AUDIOCMD_OP_GLOBAL_SET_CUSTOM_FUNCTION, 0, 0, functionType), functionPtr)
AudioThread_QueueCmdS32(AUDIO_MK_CMD(AUDIOCMD_OP_GLOBAL_SET_CUSTOM_FUNCTION, 0, 0, functionType), (s32)functionPtr)
/**
* Do something related to the unloaded-type audio data in the heap.
@ -514,7 +514,7 @@ typedef enum {
* @param data
*/
#define AUDIOCMD_GLOBAL_SET_REVERB_DATA(reverbIndex, dataType, data) \
AudioThread_QueueCmdS32(AUDIO_MK_CMD(AUDIOCMD_OP_GLOBAL_SET_REVERB_DATA, dataType, reverbIndex, 0), data)
AudioThread_QueueCmdS32(AUDIO_MK_CMD(AUDIOCMD_OP_GLOBAL_SET_REVERB_DATA, dataType, reverbIndex, 0), (s32)data)
/**
* Change the sound mode of audio

View File

@ -541,8 +541,8 @@ void Color_RGB8_Lerp(Color_RGB8* from, Color_RGB8* to, f32 lerp, Color_RGB8* dst
void Lib_Nop801004FC(void);
void* Lib_SegmentedToVirtual(void* ptr);
void* Lib_SegmentedToVirtualNull(void* ptr);
void* Lib_VirtualToPhysical(void* ptr);
void* Lib_PhysicalToVirtual(void* ptr);
uintptr_t Lib_VirtualToPhysical(void* ptr);
void* Lib_PhysicalToVirtual(uintptr_t ptr);
void LifeMeter_Init(PlayState* play);
void LifeMeter_UpdateColors(PlayState* play);
s32 LifeMeter_SaveInterfaceHealth(PlayState* play);

View File

@ -36,7 +36,7 @@ typedef struct OverlayRelocationSection {
} OverlayRelocationSection; // size >= 0x18
// Fragment overlay load functions
size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart, uintptr_t vramEnd, void* allocatedRamAddr);
void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart, uintptr_t vramEnd);
size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, void* ramStart, void* ramEnd, void* allocatedRamAddr);
void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd);
#endif

View File

@ -9,7 +9,7 @@ extern s32 gScreenWidth;
extern s32 gScreenHeight;
extern size_t gSystemHeapSize;
extern u32 gSegments[NUM_SEGMENTS];
extern uintptr_t gSegments[NUM_SEGMENTS];
extern SchedContext gSchedContext;
extern OSThread gGraphThread;
extern PadMgr gPadMgr;

View File

@ -24,9 +24,11 @@
#define SEGMENT_END(segment) (_ ## segment ## SegmentEnd)
#define SEGMENT_SIZE(segment) ((uintptr_t)SEGMENT_END(segment) - (uintptr_t)SEGMENT_START(segment))
#define SEGMENT_ROM_START(segment) (_ ## segment ## SegmentRomStart)
#define SEGMENT_ROM_END(segment) (_ ## segment ## SegmentRomEnd)
#define SEGMENT_ROM_SIZE(segment) ((uintptr_t)SEGMENT_ROM_END(segment) - (uintptr_t)SEGMENT_ROM_START(segment))
#define SEGMENT_ROM_START(segment) ((uintptr_t) _ ## segment ## SegmentRomStart)
#define SEGMENT_ROM_START_OFFSET(segment, offset) ((uintptr_t) (( _ ## segment ## SegmentRomStart ) + (offset)))
#define SEGMENT_ROM_END(segment) ((uintptr_t) _ ## segment ## SegmentRomEnd)
#define SEGMENT_ROM_SIZE(segment) (SEGMENT_ROM_END(segment) - SEGMENT_ROM_START(segment))
#define SEGMENT_ROM_SIZE_ALT(segment) ((size_t)( _ ## segment ## SegmentRomEnd - _ ## segment ## SegmentRomStart ))
#define SEGMENT_BSS_START(segment) (_ ## segment ## SegmentBssStart)
#define SEGMENT_BSS_END(segment) (_ ## segment ## SegmentBssEnd)

View File

@ -5,7 +5,7 @@
typedef struct {
/* 0x00 */ s32 requestType;
/* 0x04 */ OSMesg response;
/* 0x04 */ s32 response;
/* 0x08 */ void* addr;
/* 0x0C */ s32 pageNum;
/* 0x10 */ s32 pageCount;

View File

@ -3,6 +3,7 @@
#include "ultra64.h"
#include "libc/stdint.h"
#include "libc/stddef.h"
typedef struct TwoHeadArena {
/* 0x0 */ size_t size;
@ -19,7 +20,7 @@ void* THA_AllocHeadByte(TwoHeadArena* tha);
void* THA_AllocTail(TwoHeadArena* tha, size_t size);
void* THA_AllocTailAlign16(TwoHeadArena* tha, size_t size);
void* THA_AllocTailAlign(TwoHeadArena* tha, size_t size, uintptr_t mask);
s32 THA_GetRemaining(TwoHeadArena* tha);
ptrdiff_t THA_GetRemaining(TwoHeadArena* tha);
u32 THA_IsCrash(TwoHeadArena* tha);
void THA_Reset(TwoHeadArena* tha);
void THA_Init(TwoHeadArena* tha, void* start, size_t size);

View File

@ -597,6 +597,7 @@ typedef struct {
/* 0x4 */ s8 asSbyte;
/* 0x4 */ u8 asUbyte;
/* 0x4 */ u32 asUInt;
/* 0x4 */ void* asPtr;
};
} AudioCmd; // size = 0x8
@ -931,7 +932,7 @@ typedef struct {
typedef void (*AudioCustomUpdateFunction)(void);
typedef u32 (*AudioCustomSeqFunction)(s8 value, SequenceChannel* channel);
typedef s32 (*AudioCustomReverbFunction)(Sample*, s32, s8, s32);
typedef void* (*AudioCustomReverbFunction)(Sample*, s32, s8, s32);
typedef Acmd* (*AudioCustomSynthFunction)(Acmd*, s32, s32);
extern OSVoiceHandle gVoiceHandle;

View File

@ -199,8 +199,8 @@ typedef struct {
u16 wchar[640]; // msgBufWide
u64 force_structure_alignment_msg;
} msgBuf;
/* 0x11D80 */ u32 messageStart;
/* 0x11D84 */ u32 messageEnd;
/* 0x11D80 */ uintptr_t messageStart;
/* 0x11D84 */ uintptr_t messageEnd;
/* 0x11D88 */ u8 unk_11D88; // current Char Buffer ?
} Font; // size = 0x11D90

View File

@ -1441,7 +1441,7 @@ void AudioHeap_ApplySampleBankCacheInternal(s32 apply, s32 sampleBankId) {
sampleBankTable = gAudioCtx.sampleBankTable;
numFonts = gAudioCtx.soundFontTable->numEntries;
change.oldAddr = AudioHeap_SearchCaches(SAMPLE_TABLE, CACHE_EITHER, sampleBankId);
change.oldAddr = (uintptr_t)AudioHeap_SearchCaches(SAMPLE_TABLE, CACHE_EITHER, sampleBankId);
if (change.oldAddr == 0) {
return;
}

View File

@ -32,7 +32,7 @@ typedef struct {
void AudioLoad_DiscardFont(s32 fontId);
s32 AudioLoad_SyncInitSeqPlayerInternal(s32 playerIndex, s32 seqId, s32 arg2);
u8* AudioLoad_SyncLoadSeq(s32 seqId);
u32 AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad);
uintptr_t AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad);
SoundFontData* AudioLoad_SyncLoadFont(u32 fontId);
void* AudioLoad_SyncLoad(s32 tableType, u32 id, s32* didAllocate);
u32 AudioLoad_GetRealTableIndex(s32 tableType, u32 id);
@ -414,7 +414,7 @@ void AudioLoad_SyncLoadSeqParts(s32 seqId, s32 arg1, s32 arg2, OSMesgQueue* arg3
AudioLoad_SyncLoadSeq(seqId);
}
if (arg2 != 0) {
osSendMesg(arg3, arg2 << 0x18, OS_MESG_NOBLOCK);
osSendMesg(arg3, (OSMesg)(arg2 << 0x18), OS_MESG_NOBLOCK);
}
}
}
@ -431,10 +431,10 @@ s32 AudioLoad_SyncLoadSample(Sample* sample, s32 fontId) {
}
if (sample->medium == MEDIUM_UNK) {
AudioLoad_SyncDmaUnkMedium(sample->sampleAddr, sampleAddr, sample->size,
AudioLoad_SyncDmaUnkMedium((uintptr_t)sample->sampleAddr, sampleAddr, sample->size,
gAudioCtx.sampleBankTable->unkMediumParam);
} else {
AudioLoad_SyncDma(sample->sampleAddr, sampleAddr, sample->size, sample->medium);
AudioLoad_SyncDma((uintptr_t)sample->sampleAddr, sampleAddr, sample->size, sample->medium);
}
sample->medium = MEDIUM_RAM;
sample->sampleAddr = sampleAddr;
@ -471,7 +471,7 @@ s32 AudioLoad_SyncLoadInstrument(s32 fontId, s32 instId, s32 drumId) {
void AudioLoad_AsyncLoad(s32 tableType, s32 id, s32 nChunks, s32 retData, OSMesgQueue* retQueue) {
if (AudioLoad_AsyncLoadInner(tableType, id, nChunks, retData, retQueue) == NULL) {
osSendMesg(retQueue, 0xFFFFFFFF, OS_MESG_NOBLOCK);
osSendMesg(retQueue, (OSMesg)0xFFFFFFFF, OS_MESG_NOBLOCK);
}
}
@ -632,11 +632,11 @@ u8* AudioLoad_SyncLoadSeq(s32 seqId) {
return AudioLoad_SyncLoad(SEQUENCE_TABLE, seqId, &didAllocate);
}
u32 AudioLoad_GetSampleBank(u32 sampleBankId, u32* outMedium) {
uintptr_t AudioLoad_GetSampleBank(u32 sampleBankId, u32* outMedium) {
return AudioLoad_TrySyncLoadSampleBank(sampleBankId, outMedium, true);
}
u32 AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad) {
uintptr_t AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad) {
void* addr;
AudioTable* sampleBankTable;
u32 realTableId = AudioLoad_GetRealTableIndex(SAMPLE_TABLE, sampleBankId);
@ -651,7 +651,7 @@ u32 AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad
}
*outMedium = MEDIUM_RAM;
return addr;
return (uintptr_t)addr;
}
cachePolicy = sampleBankTable->entries[sampleBankId].cachePolicy;
@ -664,7 +664,7 @@ u32 AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad
addr = AudioLoad_SyncLoad(SAMPLE_TABLE, sampleBankId, &noLoad);
if (addr != NULL) {
*outMedium = MEDIUM_RAM;
return addr;
return (uintptr_t)addr;
}
*outMedium = sampleBankTable->entries[sampleBankId].medium;
@ -785,7 +785,7 @@ void* AudioLoad_SyncLoad(s32 tableType, u32 id, s32* didAllocate) {
size -= 0x10;
}
bcopy(romAddr, ramAddr, size);
bcopy((void*)romAddr, ramAddr, size);
} else if (medium2 == mediumUnk) {
AudioLoad_SyncDmaUnkMedium(romAddr, ramAddr, size, (s16)table->unkMediumParam);
} else {
@ -867,7 +867,7 @@ AudioTable* AudioLoad_GetLoadTable(s32 tableType) {
* @param sampleBankReloc information on the sampleBank containing raw audio samples
*/
void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, SampleBankRelocInfo* sampleBankReloc) {
uintptr_t soundOffset;
void* soundOffset;
uintptr_t soundListOffset;
Instrument* inst;
Drum* drum;
@ -876,7 +876,7 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample
s32 numDrums = gAudioCtx.soundFontList[fontId].numDrums;
s32 numInstruments = gAudioCtx.soundFontList[fontId].numInstruments;
s32 numSfx = gAudioCtx.soundFontList[fontId].numSfx;
u32* fontData = (u32*)fontDataStartAddr;
uintptr_t* fontData = (uintptr_t*)fontDataStartAddr;
// Relocate an offset (relative to the start of the font data) to a pointer (a ram address)
#define RELOC_TO_RAM(x) (void*)((uintptr_t)(x) + (uintptr_t)(fontDataStartAddr))
@ -889,7 +889,7 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample
// If the soundFont has drums
if ((soundListOffset != 0) && (numDrums != 0)) {
fontData[0] = RELOC_TO_RAM(soundListOffset);
fontData[0] = (uintptr_t)RELOC_TO_RAM(soundListOffset);
// Loop through the drum offsets
for (i = 0; i < numDrums; i++) {
@ -897,7 +897,7 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample
soundOffset = ((Drum**)fontData[0])[i];
// Some drum data entries are empty, represented by an offset of 0 in the list of drum offsets
if (soundOffset == 0) {
if (soundOffset == NULL) {
continue;
}
soundOffset = RELOC_TO_RAM(soundOffset);
@ -925,7 +925,7 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample
// If the soundFont has sound effects
if ((soundListOffset != 0) && (numSfx != 0)) {
fontData[1] = RELOC_TO_RAM(soundListOffset);
fontData[1] = (uintptr_t)RELOC_TO_RAM(soundListOffset);
// Loop through the sound effects
for (i = 0; i < numSfx; i++) {
@ -955,7 +955,7 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample
for (i = 2; i <= 2 + numInstruments - 1; i++) {
// Some instrument data entries are empty, represented by an offset of 0 in the list of instrument offsets
if (fontData[i] != 0) {
fontData[i] = RELOC_TO_RAM(fontData[i]);
fontData[i] = (uintptr_t)RELOC_TO_RAM(fontData[i]);
inst = (Instrument*)fontData[i];
// The instrument may be in the list multiple times and already relocated
@ -1097,7 +1097,7 @@ void* AudioLoad_AsyncLoadInner(s32 tableType, s32 id, s32 nChunks, s32 retData,
ramAddr = AudioLoad_SearchCaches(tableType, realId);
if (ramAddr != NULL) {
loadStatus = LOAD_STATUS_COMPLETE;
osSendMesg(retQueue, MK_ASYNC_MSG(retData, 0, 0, LOAD_STATUS_NOT_LOADED), OS_MESG_NOBLOCK);
osSendMesg(retQueue, (OSMesg)MK_ASYNC_MSG(retData, 0, 0, LOAD_STATUS_NOT_LOADED), OS_MESG_NOBLOCK);
} else {
table = AudioLoad_GetLoadTable(tableType);
size = table->entries[realId].size;
@ -1376,7 +1376,7 @@ s32 AudioLoad_SlowLoadSample(s32 fontId, s32 instId, s8* isDone) {
slowLoad->status = LOAD_STATUS_START;
slowLoad->bytesRemaining = ALIGN16(sample->size);
slowLoad->ramAddr = slowLoad->curRamAddr;
slowLoad->curDevAddr = sample->sampleAddr;
slowLoad->curDevAddr = (uintptr_t)sample->sampleAddr;
slowLoad->medium = sample->medium;
slowLoad->seqOrFontId = fontId;
slowLoad->instId = instId;
@ -1464,7 +1464,7 @@ void AudioLoad_ProcessSlowLoads(s32 resetStatus) {
if (slowLoad->medium == MEDIUM_UNK) {
size_t size = slowLoad->bytesRemaining;
AudioLoad_DmaSlowCopyUnkMedium(slowLoad->curDevAddr, slowLoad->curRamAddr, size,
AudioLoad_DmaSlowCopyUnkMedium(slowLoad->curDevAddr, (uintptr_t)slowLoad->curRamAddr, size,
slowLoad->unkMediumParam);
} else {
AudioLoad_DmaSlowCopy(slowLoad, slowLoad->bytesRemaining);
@ -1472,7 +1472,7 @@ void AudioLoad_ProcessSlowLoads(s32 resetStatus) {
slowLoad->bytesRemaining = 0;
} else {
if (slowLoad->medium == MEDIUM_UNK) {
AudioLoad_DmaSlowCopyUnkMedium(slowLoad->curDevAddr, slowLoad->curRamAddr, 0x400,
AudioLoad_DmaSlowCopyUnkMedium(slowLoad->curDevAddr, (uintptr_t)slowLoad->curRamAddr, 0x400,
slowLoad->unkMediumParam);
} else {
AudioLoad_DmaSlowCopy(slowLoad, 0x400);
@ -1671,7 +1671,7 @@ void AudioLoad_FinishAsyncLoad(AudioAsyncLoad* asyncLoad) {
break;
}
doneMsg = asyncLoad->retMsg;
doneMsg = (OSMesg)asyncLoad->retMsg;
if (1) {}
asyncLoad->status = LOAD_STATUS_WAITING;
osSendMesg(asyncLoad->retQueue, doneMsg, OS_MESG_NOBLOCK);
@ -1743,7 +1743,7 @@ void AudioLoad_AsyncDmaRamUnloaded(AudioAsyncLoad* asyncLoad, size_t size) {
size = ALIGN16(size);
Audio_InvalDCache(asyncLoad->curRamAddr, size);
osCreateMesgQueue(&asyncLoad->msgQueue, &asyncLoad->msg, 1);
bcopy(asyncLoad->curDevAddr, asyncLoad->curRamAddr, size);
bcopy((void*)asyncLoad->curDevAddr, asyncLoad->curRamAddr, size);
osSendMesg(&asyncLoad->msgQueue, NULL, OS_MESG_NOBLOCK);
}

View File

@ -500,12 +500,12 @@ Acmd* AudioSynth_SaveResampledReverbSamples(Acmd* cmd, SynthesisReverb* reverb,
aResample(cmd++, reverb->resampleFlags, entry->saveResamplePitch, reverb->leftSaveResampleBuf);
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, DMEM_WET_SCRATCH, entry->size,
&reverb->leftReverbBuf[entry->startPos]);
(uintptr_t)&reverb->leftReverbBuf[entry->startPos]);
if (entry->wrappedSize != 0) {
// Ring buffer wrapped
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, entry->size + DMEM_WET_SCRATCH, entry->wrappedSize,
reverb->leftReverbBuf);
(uintptr_t)reverb->leftReverbBuf);
}
// Right Resample
@ -514,12 +514,12 @@ Acmd* AudioSynth_SaveResampledReverbSamples(Acmd* cmd, SynthesisReverb* reverb,
aResample(cmd++, reverb->resampleFlags, entry->saveResamplePitch, reverb->rightSaveResampleBuf);
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, DMEM_WET_SCRATCH, entry->size,
&reverb->rightReverbBuf[entry->startPos]);
(uintptr_t)&reverb->rightReverbBuf[entry->startPos]);
if (entry->wrappedSize != 0) {
// Ring buffer wrapped
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, entry->size + DMEM_WET_SCRATCH, entry->wrappedSize,
reverb->rightReverbBuf);
(uintptr_t)reverb->rightReverbBuf);
}
return cmd;
@ -716,16 +716,16 @@ Acmd* AudioSynth_SaveReverbSamples(Acmd* cmd, SynthesisReverb* reverb, s16 updat
if (entry->size != 0) {
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, DMEM_WET_LEFT_CH, entry->size,
&reverb->leftReverbBuf[entry->startPos]);
(uintptr_t)&reverb->leftReverbBuf[entry->startPos]);
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, DMEM_WET_RIGHT_CH, entry->size,
&reverb->rightReverbBuf[entry->startPos]);
(uintptr_t)&reverb->rightReverbBuf[entry->startPos]);
}
if (entry->wrappedSize != 0) {
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, entry->size + DMEM_WET_LEFT_CH, entry->wrappedSize,
reverb->leftReverbBuf);
(uintptr_t)reverb->leftReverbBuf);
cmd = AudioSynth_SaveResampledReverbSamplesImpl(cmd, entry->size + DMEM_WET_RIGHT_CH, entry->wrappedSize,
reverb->rightReverbBuf);
(uintptr_t)reverb->rightReverbBuf);
}
}
@ -1170,7 +1170,7 @@ Acmd* AudioSynth_ProcessSample(s32 noteIndex, NoteSampleState* sampleState, Note
} else {
// This medium is not in ram, so dma the requested sample into ram
samplesToLoadAddr =
AudioLoad_DmaSampleData(sampleAddr + (zeroOffset + sampleAddrOffset),
AudioLoad_DmaSampleData((uintptr_t)(sampleAddr + (zeroOffset + sampleAddrOffset)),
ALIGN16((numFramesToDecode * frameSize) + SAMPLES_PER_FRAME), flags,
&synthState->sampleDmaIndex, sample->medium);
}

View File

@ -47,7 +47,7 @@ AudioTask* AudioThread_UpdateImpl(void) {
return NULL;
}
osSendMesg(gAudioCtx.taskStartQueueP, gAudioCtx.totalTaskCount, OS_MESG_NOBLOCK);
osSendMesg(gAudioCtx.taskStartQueueP, (OSMesg)gAudioCtx.totalTaskCount, OS_MESG_NOBLOCK);
gAudioCtx.rspTaskIndex ^= 1;
gAudioCtx.curAiBufferIndex++;
gAudioCtx.curAiBufferIndex %= 3;
@ -96,7 +96,7 @@ AudioTask* AudioThread_UpdateImpl(void) {
if (gAudioCtx.resetStatus != 0) {
if (AudioHeap_ResetStep() == 0) {
if (gAudioCtx.resetStatus == 0) {
osSendMesg(gAudioCtx.audioResetQueueP, gAudioCtx.specId, OS_MESG_NOBLOCK);
osSendMesg(gAudioCtx.audioResetQueueP, (OSMesg)(uintptr_t)gAudioCtx.specId, OS_MESG_NOBLOCK);
}
sWaitingAudioTask = NULL;
@ -146,7 +146,7 @@ AudioTask* AudioThread_UpdateImpl(void) {
}
if (gAudioSPDataPtr == (u64*)gAudioCtx.curAbiCmdBuf) {
return -1;
return (void*)-1;
}
gAudioCtx.curAbiCmdBuf =
@ -297,16 +297,16 @@ void AudioThread_ProcessGlobalCmd(AudioCmd* cmd) {
break;
case AUDIOCMD_OP_GLOBAL_SET_CUSTOM_UPDATE_FUNCTION:
gAudioCustomUpdateFunction = cmd->asUInt;
gAudioCustomUpdateFunction = cmd->asPtr;
break;
case AUDIOCMD_OP_GLOBAL_SET_CUSTOM_FUNCTION:
if (cmd->arg2 == AUDIO_CUSTOM_FUNCTION_REVERB) {
gAudioCustomReverbFunction = cmd->asUInt;
gAudioCustomReverbFunction = cmd->asPtr;
} else if (cmd->arg2 == AUDIO_CUSTOM_FUNCTION_SYNTH) {
gAudioCustomSynthFunction = cmd->asUInt;
gAudioCustomSynthFunction = cmd->asPtr;
} else {
gAudioCtx.customSeqFunctions[cmd->arg2] = cmd->asUInt;
gAudioCtx.customSeqFunctions[cmd->arg2] = cmd->asPtr;
}
break;
@ -314,7 +314,7 @@ void AudioThread_ProcessGlobalCmd(AudioCmd* cmd) {
case AUDIOCMD_OP_GLOBAL_SET_SFX_FONT:
case AUDIOCMD_OP_GLOBAL_SET_INSTRUMENT_FONT:
if (AudioPlayback_SetFontInstrument(cmd->op - AUDIOCMD_OP_GLOBAL_SET_DRUM_FONT, cmd->arg1, cmd->arg2,
cmd->asInt)) {}
cmd->asPtr)) {}
break;
case AUDIOCMD_OP_GLOBAL_DISABLE_ALL_SEQPLAYERS: {
@ -791,13 +791,13 @@ void AudioThread_ProcessChannelCmd(SequenceChannel* channel, AudioCmd* cmd) {
break;
case AUDIOCMD_OP_CHANNEL_SET_SFX_STATE:
channel->sfxState = cmd->asUInt;
channel->sfxState = cmd->asPtr;
break;
case AUDIOCMD_OP_CHANNEL_SET_FILTER:
filterCutoff = cmd->arg2;
if (cmd->asUInt != 0) {
channel->filter = cmd->asUInt;
if (cmd->asPtr != NULL) {
channel->filter = cmd->asPtr;
}
if (channel->filter != NULL) {
AudioHeap_LoadFilter(channel->filter, filterCutoff >> 4, filterCutoff & 0xF);

View File

@ -135,10 +135,10 @@ void Fragment_Relocate(void* allocatedRamAddr, OverlayRelocationSection* ovlRelo
}
}
size_t Fragment_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart, void* allocatedRamAddr,
size_t Fragment_Load(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* allocatedRamAddr,
size_t allocatedBytes) {
size_t size = vromEnd - vromStart;
void* end;
uintptr_t end;
s32 pad;
OverlayRelocationSection* ovlRelocs;
@ -148,7 +148,7 @@ size_t Fragment_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart
end = (uintptr_t)allocatedRamAddr + size;
DmaMgr_SendRequest0(allocatedRamAddr, vromStart, size);
ovlRelocs = (OverlayRelocationSection*)((uintptr_t)end - ((s32*)end)[-1]);
ovlRelocs = (OverlayRelocationSection*)(end - ((s32*)end)[-1]);
if (gLoadLogSeverity >= 3) {}
@ -161,11 +161,11 @@ size_t Fragment_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart
if (gLoadLogSeverity >= 3) {}
Fragment_Relocate(allocatedRamAddr, ovlRelocs, vramStart);
Fragment_Relocate(allocatedRamAddr, ovlRelocs, (uintptr_t)vramStart);
if (ovlRelocs->bssSize != 0) {
if (gLoadLogSeverity >= 3) {}
bzero(end, ovlRelocs->bssSize);
bzero((void*)end, ovlRelocs->bssSize);
}
osWritebackDCache(allocatedRamAddr, allocatedBytes);
@ -176,9 +176,9 @@ size_t Fragment_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart
return allocatedBytes;
}
void* Fragment_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart) {
void* Fragment_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart) {
size_t size = vromEnd - vromStart;
void* end;
uintptr_t end;
void* allocatedRamAddr;
uintptr_t ovlOffset;
OverlayRelocationSection* ovlRelocs;
@ -195,8 +195,8 @@ void* Fragment_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t
if (gLoadLogSeverity >= 3) {}
ovlOffset = (uintptr_t)end - 4;
ovlRelocs = (OverlayRelocationSection*)((uintptr_t)end - ((s32*)end)[-1]);
ovlOffset = end - sizeof(s32);
ovlRelocs = (OverlayRelocationSection*)(end - ((s32*)end)[-1]);
if (1) {}
@ -212,15 +212,15 @@ void* Fragment_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t
}
end = (uintptr_t)allocatedRamAddr + size;
ovlRelocs = (OverlayRelocationSection*)((uintptr_t)end - *(uintptr_t*)ovlOffset);
ovlRelocs = (OverlayRelocationSection*)(end - *(uintptr_t*)ovlOffset);
if (gLoadLogSeverity >= 3) {}
Fragment_Relocate(allocatedRamAddr, ovlRelocs, vramStart);
Fragment_Relocate(allocatedRamAddr, ovlRelocs, (uintptr_t)vramStart);
if (ovlRelocs->bssSize != 0) {
if (gLoadLogSeverity >= 3) {}
bzero(end, ovlRelocs->bssSize);
bzero((void*)end, ovlRelocs->bssSize);
}
osInvalICache(allocatedRamAddr, allocatedBytes);

View File

@ -131,11 +131,11 @@ void Overlay_Relocate(void* allocatedRamAddr, OverlayRelocationSection* ovlReloc
}
}
size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart, uintptr_t vramEnd,
void* allocatedRamAddr) {
s32 pad[2];
size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, void* ramStart, void* ramEnd, void* allocatedRamAddr) {
uintptr_t vramStart = (uintptr_t)ramStart;
uintptr_t vramEnd = (uintptr_t)ramEnd;
s32 size = vromEnd - vromStart;
void* end;
uintptr_t end;
OverlayRelocationSection* ovlRelocs;
if (gOverlayLogSeverity >= 3) {}
@ -144,7 +144,7 @@ size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart,
end = (uintptr_t)allocatedRamAddr + size;
DmaMgr_SendRequest0(allocatedRamAddr, vromStart, size);
ovlRelocs = (OverlayRelocationSection*)((uintptr_t)end - ((s32*)end)[-1]);
ovlRelocs = (OverlayRelocationSection*)(end - ((s32*)end)[-1]);
if (gOverlayLogSeverity >= 3) {}
if (gOverlayLogSeverity >= 3) {}
@ -153,7 +153,7 @@ size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart,
if (ovlRelocs->bssSize != 0) {
if (gOverlayLogSeverity >= 3) {}
bzero(end, ovlRelocs->bssSize);
bzero((void*)end, ovlRelocs->bssSize);
}
size = vramEnd - vramStart;
@ -166,8 +166,8 @@ size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart,
return size;
}
void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, uintptr_t vramStart, uintptr_t vramEnd) {
void* allocatedRamAddr = SystemArena_MallocR(vramEnd - vramStart);
void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd) {
void* allocatedRamAddr = SystemArena_MallocR((uintptr_t)vramEnd - (uintptr_t)vramStart);
if (allocatedRamAddr != NULL) {
Overlay_Load(vromStart, vromEnd, vramStart, vramEnd, allocatedRamAddr);

View File

@ -8,9 +8,9 @@
#include "global.h"
#include "system_malloc.h"
typedef void (*BlockFunc)(void*);
typedef void (*BlockFunc1)(void*, u32);
typedef void (*BlockFunc8)(void*, u32, u32, u32, u32, u32, u32, u32, u32);
typedef void (*BlockFunc)(uintptr_t);
typedef void (*BlockFunc1)(uintptr_t, u32);
typedef void (*BlockFunc8)(uintptr_t, u32, u32, u32, u32, u32, u32, u32, u32);
typedef struct InitFunc {
/* 0x0 */ uintptr_t nextOffset;
@ -41,7 +41,7 @@ void SystemHeap_Free(void* ptr) {
}
void SystemHeap_RunBlockFunc(void* blk, size_t nBlk, size_t blkSize, BlockFunc blockFunc) {
uintptr_t pos = blk;
uintptr_t pos = (uintptr_t)blk;
for (; pos < (uintptr_t)blk + (nBlk * blkSize); pos += (blkSize & ~0)) {
blockFunc(pos);
@ -49,7 +49,7 @@ void SystemHeap_RunBlockFunc(void* blk, size_t nBlk, size_t blkSize, BlockFunc b
}
void SystemHeap_RunBlockFunc1(void* blk, size_t nBlk, size_t blkSize, BlockFunc1 blockFunc) {
uintptr_t pos = blk;
uintptr_t pos = (uintptr_t)blk;
for (; pos < (uintptr_t)blk + (nBlk * blkSize); pos += (blkSize & ~0)) {
blockFunc(pos, 2);
@ -62,7 +62,7 @@ void* SystemHeap_RunBlockFunc8(void* blk, size_t nBlk, size_t blkSize, BlockFunc
}
if ((blk != NULL) && (blockFunc != NULL)) {
uintptr_t pos = blk;
uintptr_t pos = (uintptr_t)blk;
for (; pos < (uintptr_t)blk + (nBlk * blkSize); pos += (blkSize & ~0)) {
blockFunc(pos, 0, 0, 0, 0, 0, 0, 0, 0);
@ -82,7 +82,7 @@ void SystemHeap_RunBlockFunc1Reverse(void* blk, size_t nBlk, size_t blkSize, Blo
}
if (blockFunc != NULL) {
start = blk;
start = (uintptr_t)blk;
maskedBlkSize = (blkSize & ~0);
pos = (uintptr_t)start + (nBlk * blkSize);

View File

@ -68,8 +68,8 @@ void Main_Init(void) {
prevSize = gDmaMgrDmaBuffSize;
gDmaMgrDmaBuffSize = 0;
DmaMgr_SendRequestImpl(&dmaReq, SEGMENT_START(code), SEGMENT_ROM_START(code),
SEGMENT_ROM_END(code) - SEGMENT_ROM_START(code), 0, &mq, NULL);
DmaMgr_SendRequestImpl(&dmaReq, SEGMENT_START(code), SEGMENT_ROM_START(code), SEGMENT_ROM_SIZE_ALT(code), 0, &mq,
NULL);
Main_InitScreen();
Main_InitMemory();
osRecvMesg(&mq, NULL, OS_MESG_BLOCK);

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);
}
/**

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;

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();

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);

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 {

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;
}
}

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 +

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;

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;
}

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);

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

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;
}

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);

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)) {}

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,

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;

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++;

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);
}

View File

@ -33,7 +33,7 @@ void osSpTaskLoad(OSTask* intp) {
intp->t.flags &= ~OS_TASK_YIELDED;
if (tp->t.flags & OS_TASK_LOADABLE) {
tp->t.ucode = IO_READ((uintptr_t)intp->t.yieldDataPtr + OS_YIELD_DATA_SIZE - 4);
tp->t.ucode = (void*)IO_READ((uintptr_t)intp->t.yieldDataPtr + OS_YIELD_DATA_SIZE - 4);
}
}

View File

@ -9,9 +9,9 @@ void osCreateThread(OSThread* thread, OSId id, void* entry, void* arg, void* sp,
thread->next = NULL;
thread->queue = NULL;
thread->context.pc = (u32)entry;
thread->context.a0 = arg;
thread->context.a0 = (intptr_t)arg;
thread->context.sp = (u64)(s32)sp - 16;
thread->context.ra = __osCleanupThread;
thread->context.ra = (intptr_t)__osCleanupThread;
mask = OS_IM_ALL;
thread->context.sr = (mask & (SR_IMASK | SR_IE)) | SR_EXL;

View File

@ -14,7 +14,7 @@ typedef struct EnDnh {
/* 0x144 */ EnDnhActionFunc actionFunc;
/* 0x148 */ SkelAnime skelAnime;
/* 0x18C */ u16 unk18C;
/* 0x190 */ s32 msgEventScript;
/* 0x190 */ s32* msgEventScript;
/* 0x194 */ s32 unk194;
/* 0x198 */ s16 unk198;
/* 0x19A */ UNK_TYPE1 pad19A[0x2];

View File

@ -1112,15 +1112,15 @@ void func_80B2ADB0(EnFish2* this, Vec3f* vec, s16 arg2) {
for (i = 0; i < ARRAY_COUNT(this->unk_3F8); i++, ptr++) {
if (!ptr->unk_00) {
TexturePtr phi_v0;
TexturePtr texture;
if (Rand_ZeroOne() < 0.5f) {
phi_v0 = gEffBubble2Tex;
texture = gEffBubble2Tex;
} else {
phi_v0 = gEffBubble1Tex;
texture = gEffBubble1Tex;
}
ptr->unk_20 = OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(phi_v0));
ptr->unk_20 = (TexturePtr)OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(texture));
ptr->unk_00 = true;
ptr->unk_04 = *vec;
ptr->unk_04.x += Rand_CenteredFloat(ptr->unk_00 + (this->unk_330 * 4000.0f));

View File

@ -15,7 +15,7 @@ typedef struct {
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ s16 unk_1C;
/* 0x20 */ void* unk_20;
/* 0x20 */ TexturePtr unk_20;
} EnFish2UnkStruct; // size = 0x24
typedef struct EnFish2 {

View File

@ -2318,7 +2318,7 @@ void EnGo_Snowball(EnGo* this, PlayState* play) {
* Return the MsgEvent script appropriate for the actor.
*/
s32* EnGo_GetMsgEventScript(EnGo* this, PlayState* play) {
static s32 sMsgScriptGraveyard[] = {
static s32* sMsgScriptGraveyard[] = {
sMsgScriptGoronGravemaker,
sMsgScriptGoronFrozen,
};

View File

@ -155,7 +155,7 @@ void func_80BC1A68(EnJa* this) {
}
}
s32 func_80BC1AE0(EnJa* this, PlayState* play) {
Actor* func_80BC1AE0(EnJa* this, PlayState* play) {
Actor* ja = SubS_FindNearestActor(&this->actor, play, ACTORCAT_NPC, ACTOR_EN_JA);
Vec3f sp30;
Vec3f sp24;
@ -256,7 +256,7 @@ void func_80BC1E40(EnJa* this, PlayState* play) {
s32 func_80BC1FC8(EnJa* this, PlayState* play, ScheduleOutput* scheduleOutput) {
s32 ret = false;
if (func_80BC1AE0(this, play)) {
if (func_80BC1AE0(this, play) != NULL) {
SubS_SetOfferMode(&this->unk_340, SUBS_OFFER_MODE_ONSCREEN, SUBS_OFFER_MODE_MASK);
this->unk_340 |= 0x10;
EnJa_ChangeAnim(this, ENJA_ANIM_5);
@ -269,7 +269,7 @@ s32 func_80BC1FC8(EnJa* this, PlayState* play, ScheduleOutput* scheduleOutput) {
s32 func_80BC203C(EnJa* this, PlayState* play, ScheduleOutput* scheduleOutput) {
s32 ret = false;
if (func_80BC1AE0(this, play)) {
if (func_80BC1AE0(this, play) != NULL) {
if (ENJA_GET_3(&this->actor) == 0) {
EnJa_ChangeAnim(this, ENJA_ANIM_1);
} else {

View File

@ -556,7 +556,7 @@ void EnMag_DrawImageRGBA32(Gfx** gfxp, s16 centerX, s16 centerY, TexturePtr sour
Gfx_SetupDL56_Ptr(&gfx);
curTexture = source;
curTexture = (uintptr_t)source;
rectLeft = centerX - (width / 2);
rectTop = centerY - (height / 2);
textureHeight = TMEM_SIZE / (width << 2);

View File

@ -101,9 +101,10 @@ void EnRz_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
ActorShape_Init(&this->actor.shape, 0.0f, EnRz_ActorShadowFunc, 20.0f);
// @bug this alignment is because of player animations, but should be using ALIGN16
//! @bug this alignment is because of player animations, but should be using ALIGN16
SkelAnime_InitFlex(play, &this->skelAnime, &object_rz_Skel_00D8D8, &gRosaSistersStandingAnim,
(uintptr_t)this->jointTable & ~0xF, (uintptr_t)this->morphTable & ~0xF, OBJECT_RZ_LIMB_MAX);
(void*)((uintptr_t)this->jointTable & ~0xF), (void*)((uintptr_t)this->morphTable & ~0xF),
OBJECT_RZ_LIMB_MAX);
Animation_PlayLoop(&this->skelAnime, &gRosaSistersStandingAnim);
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);

View File

@ -87,9 +87,10 @@ void EnYb_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
ActorShape_Init(&this->actor.shape, 0.0f, EnYb_ActorShadowFunc, 20.0f);
// @bug this alignment is because of player animations, but should be using ALIGN16
SkelAnime_InitFlex(play, &this->skelAnime, &gYbSkel, &object_yb_Anim_000200, (uintptr_t)this->jointTable & ~0xF,
(uintptr_t)this->morphTable & ~0xF, YB_LIMB_MAX);
//! @bug this alignment is because of player animations, but should be using ALIGN16
SkelAnime_InitFlex(play, &this->skelAnime, &gYbSkel, &object_yb_Anim_000200,
(void*)((uintptr_t)this->jointTable & ~0xF), (void*)((uintptr_t)this->morphTable & ~0xF),
YB_LIMB_MAX);
Animation_PlayLoop(&this->skelAnime, &object_yb_Anim_000200);

View File

@ -16715,9 +16715,9 @@ void func_80851F18(PlayState* play, Player* this) {
temp_v0 = &this->unk_B10[this->unk_B86[i]];
AnimationContext_SetLoadFrame(play, temp->unk_4, *temp_v0, this->skelAnime.limbCount,
ALIGN16((uintptr_t)this->blendTableBuffer));
(void*)ALIGN16((uintptr_t)this->blendTableBuffer));
AnimationContext_SetCopyTrue(play, this->skelAnime.limbCount, this->skelAnime.jointTable,
ALIGN16((uintptr_t)this->blendTableBuffer), D_8085BA20);
(void*)ALIGN16((uintptr_t)this->blendTableBuffer), D_8085BA20);
}
temp_v0 = this->unk_B10;

View File

@ -34,7 +34,7 @@ u32 EffectSsBubble_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
{
TexturePtr tex = (Rand_ZeroOne() < 0.5f) ? gEffBubble1Tex : gEffBubble2Tex;
this->gfx = OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(tex));
this->gfx = (void*)OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(tex));
}
this->pos.x = ((Rand_ZeroOne() - 0.5f) * initParams->xzPosRandScale) + initParams->pos.x;

View File

@ -50,7 +50,7 @@ u32 EffectSsDtBubble_Init(PlayState* play, u32 index, EffectSs* this, void* init
{
TexturePtr tex = (Rand_ZeroOne() < 0.5f) ? gEffBubble1Tex : gEffBubble2Tex;
this->gfx = OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(tex));
this->gfx = (void*)OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(tex));
}
Math_Vec3f_Copy(&this->pos, &initParams->pos);

View File

@ -34,8 +34,8 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
s32 objectSlot;
objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT);
if ((objectSlot > OBJECT_SLOT_NONE) && (Object_IsLoaded(&play->objectCtx, objectSlot))) {
void* segBackup = gSegments[6];
if ((objectSlot > OBJECT_SLOT_NONE) && Object_IsLoaded(&play->objectCtx, objectSlot)) {
uintptr_t segBackup = gSegments[6];
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);

View File

@ -40,7 +40,7 @@ u32 EffectSsSibuki_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
{
TexturePtr tex = (KREG(2) != 0) ? gEffBubble2Tex : gEffBubble1Tex;
this->gfx = OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(tex));
this->gfx = (void*)OS_K0_TO_PHYSICAL(SEGMENTED_TO_K0(tex));
}
this->life = ((s32)((Rand_ZeroOne() * (500.0f + KREG(64))) * 0.01f)) + KREG(65) + 10;

View File

@ -7,6 +7,7 @@
#include "z_kaleido_scope.h"
#include "z64view.h"
#include "overlays/gamestates/ovl_opening/z_opening.h"
#include "archives/icon_item_static/icon_item_static_yar.h"
#include "interface/icon_item_gameover_static/icon_item_gameover_static.h"
#include "interface/icon_item_jpn_static/icon_item_jpn_static.h"
@ -2858,7 +2859,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->iconItemSegment = (void*)ALIGN16((uintptr_t)play->objectCtx.spaceStart);
size0 = SEGMENT_ROM_SIZE(icon_item_static_syms);
CmpDma_LoadAllFiles((uintptr_t)SEGMENT_ROM_START(icon_item_static_yar), pauseCtx->iconItemSegment, size0);
CmpDma_LoadAllFiles(SEGMENT_ROM_START(icon_item_static_yar), pauseCtx->iconItemSegment, size0);
gSegments[0x08] = OS_K0_TO_PHYSICAL(pauseCtx->iconItemSegment);
@ -2870,8 +2871,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->iconItem24Segment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemSegment + size0);
size1 = SEGMENT_ROM_SIZE(icon_item_24_static_syms);
CmpDma_LoadAllFiles((uintptr_t)SEGMENT_ROM_START(icon_item_24_static_yar), pauseCtx->iconItem24Segment,
size1);
CmpDma_LoadAllFiles(SEGMENT_ROM_START(icon_item_24_static_yar), pauseCtx->iconItem24Segment, size1);
pauseCtx->iconItemAltSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItem24Segment + size1);
if (func_8010A0A4(play)) {
@ -2886,7 +2886,7 @@ void KaleidoScope_Update(PlayState* play) {
sInDungeonScene = false;
size = SEGMENT_ROM_SIZE(icon_item_field_static);
DmaMgr_SendRequest0(pauseCtx->iconItemAltSegment, _icon_item_field_staticSegmentRomStart, size);
DmaMgr_SendRequest0(pauseCtx->iconItemAltSegment, SEGMENT_ROM_START(icon_item_field_static), size);
iconItemLangSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemAltSegment + size);
}