summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--arm7/Makefile2
-rw-r--r--arm9/Makefile4
-rw-r--r--arm9/lib/include/SND_main.h2
-rw-r--r--arm9/lib/src/SND_alarm.c1
-rw-r--r--arm9/lib/src/SND_bank.c1
-rw-r--r--arm9/lib/src/SND_command.c46
-rw-r--r--arm9/lib/src/SND_interface.c12
-rw-r--r--arm9/lib/src/SND_main.c3
-rw-r--r--arm9/src/filesystem.c54
-rw-r--r--arm9/src/unk_02006234.c8
11 files changed, 75 insertions, 60 deletions
diff --git a/Makefile b/Makefile
index ef64ee92..76993668 100644
--- a/Makefile
+++ b/Makefile
@@ -180,7 +180,7 @@ OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
ASFLAGS = -proc arm5te
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -ir include -ir include-mw -ir arm9/lib/include
+CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -ir include -ir include-mw -ir arm9/lib/include -W all
LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
####################### Other Tools #########################
diff --git a/arm7/Makefile b/arm7/Makefile
index 8e1dc1d0..08f8d64c 100644
--- a/arm7/Makefile
+++ b/arm7/Makefile
@@ -83,7 +83,7 @@ OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm7_thumb.s -o arm7.o
ASFLAGS = -proc arm4t -i ..
-CFLAGS = -O4,p -proc v4t -fp soft -lang c99 -Cpp_exceptions off -ir ../include -ir ../include-mw -ir ../arm9/lib/include # temporary fix while arm7 libos hasn't been decomped
+CFLAGS = -O4,p -proc v4t -fp soft -lang c99 -Cpp_exceptions off -ir ../include -ir ../include-mw -ir ../arm9/lib/include -W all # temporary fix while arm7 libos hasn't been decomped
LDFLAGS = -map -nodead -w off -proc v4t -interworking -map -symtab -m _start
####################### Other Tools #########################
diff --git a/arm9/Makefile b/arm9/Makefile
index b15d1b51..b61bc889 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -184,8 +184,8 @@ OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
ASFLAGS = -proc arm5te -i ..
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -ir ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
-CXXFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -ir ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
+CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -ir ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
+CXXFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -ir ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
####################### Other Tools #########################
diff --git a/arm9/lib/include/SND_main.h b/arm9/lib/include/SND_main.h
index 7412c1ae..e35f1ee1 100644
--- a/arm9/lib/include/SND_main.h
+++ b/arm9/lib/include/SND_main.h
@@ -19,7 +19,7 @@ struct SNDBinaryFileHeader {
typedef struct SNDBinaryBlockHeader {
u32 type; // 0x0
u32 size; // 0x4
-}; // size = 0x8
+} SNDBinaryBlockHeader; // size = 0x8
struct SNDWaveParam {
u8 format; // 0x0
diff --git a/arm9/lib/src/SND_alarm.c b/arm9/lib/src/SND_alarm.c
index b6178c8d..e216c02c 100644
--- a/arm9/lib/src/SND_alarm.c
+++ b/arm9/lib/src/SND_alarm.c
@@ -4,6 +4,7 @@ struct AlarmCallback {
SNDAlarmCallback cb;
void *data;
u8 id;
+ u8 padding[3];
};
static struct AlarmCallback sCallbackTable[SND_ALARM_COUNT];
diff --git a/arm9/lib/src/SND_bank.c b/arm9/lib/src/SND_bank.c
index bc339234..7f5bd94a 100644
--- a/arm9/lib/src/SND_bank.c
+++ b/arm9/lib/src/SND_bank.c
@@ -95,6 +95,7 @@ ARM_FUNC void SND_DestroyWaveArc(struct SNDWaveArc *waveArc) {
}
ARM_FUNC struct SNDInstPos SND_GetFirstInstDataPos(const struct SNDBankData *bankData) {
+#pragma unused (bankData)
struct SNDInstPos retval;
retval.program = 0;
retval.index = 0;
diff --git a/arm9/lib/src/SND_command.c b/arm9/lib/src/SND_command.c
index 4a867ce3..11622761 100644
--- a/arm9/lib/src/SND_command.c
+++ b/arm9/lib/src/SND_command.c
@@ -21,6 +21,7 @@ static struct SNDCommand *sFreeList;
extern s32 PXI_SendWordByFifo(u32, u32, u32);
extern void PXI_SetFifoRecvCallback(u32, void (*)(s32, s32));
extern BOOL PXI_IsCallbackReady(u32, u32);
+extern void DC_FlushRange(void*, u32);
static void InitPXI(void);
static void RequestCommandProc(void);
@@ -52,7 +53,7 @@ ARM_FUNC void SND_CommandInit(void) {
cmd->id = SND_CMD_SET_SHARED_WORK;
cmd->arg[0] = (u32)SNDi_SharedWork;
SND_PushCommand(cmd);
- SND_FlushCommand(SND_CMD_FLAG_BLOCK);
+ (void)SND_FlushCommand(SND_CMD_FLAG_BLOCK);
}
ARM_FUNC const struct SNDCommand *SND_RecvCommandReply(u32 flags) {
@@ -61,7 +62,7 @@ ARM_FUNC const struct SNDCommand *SND_RecvCommandReply(u32 flags) {
if (flags & SND_CMD_FLAG_BLOCK) {
u32 tag = SNDi_GetFinishedCommandTag();
while (sFinishedTag == tag) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
OS_SpinWait(100);
oldirq = OS_DisableInterrupts();
tag = SNDi_GetFinishedCommandTag();
@@ -69,7 +70,7 @@ ARM_FUNC const struct SNDCommand *SND_RecvCommandReply(u32 flags) {
} else {
u32 tag = SNDi_GetFinishedCommandTag();
if (sFinishedTag == tag) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return NULL;
}
}
@@ -93,7 +94,7 @@ ARM_FUNC const struct SNDCommand *SND_RecvCommandReply(u32 flags) {
sWaitingCommandListCount--;
sFinishedTag++;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return queueRead;
}
@@ -116,13 +117,13 @@ ARM_FUNC struct SNDCommand *SND_AllocCommand(u32 flags) {
if (cmd != NULL)
return cmd;
} else {
- SND_FlushCommand(SND_CMD_FLAG_BLOCK);
+ (void)SND_FlushCommand(SND_CMD_FLAG_BLOCK);
}
RequestCommandProc();
do {
- SND_RecvCommandReply(SND_CMD_FLAG_BLOCK);
+ (void)SND_RecvCommandReply(SND_CMD_FLAG_BLOCK);
cmd = AllocCommand();
} while (cmd == NULL);
return cmd;
@@ -142,25 +143,25 @@ ARM_FUNC void SND_PushCommand(struct SNDCommand *cmd) {
cmd->llNext = NULL;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
}
ARM_FUNC BOOL SND_FlushCommand(u32 flags) {
OSIntrMode oldirq = OS_DisableInterrupts();
if (sReserveList == NULL) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return TRUE;
}
if (sWaitingCommandListCount >= SND_CMD_WAIT_QUEUE_COUNT) {
if ((flags & SND_CMD_FLAG_BLOCK) == 0) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return FALSE;
}
do {
- SND_RecvCommandReply(SND_CMD_FLAG_BLOCK);
+ (void)SND_RecvCommandReply(SND_CMD_FLAG_BLOCK);
} while (sWaitingCommandListCount >= SND_CMD_WAIT_QUEUE_COUNT);
}
@@ -169,13 +170,13 @@ ARM_FUNC BOOL SND_FlushCommand(u32 flags) {
s32 result = PXI_SendWordByFifo(7, (u32)sReserveList, 0);
if (result < 0) {
if ((flags & SND_CMD_FLAG_BLOCK) == 0) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return FALSE;
}
result = PXI_SendWordByFifo(7, (u32)sReserveList, 0);
while (result < 0) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
OS_SpinWait(100);
oldirq = OS_DisableInterrupts();
result = PXI_SendWordByFifo(7, (u32)sReserveList, 0);
@@ -197,7 +198,7 @@ ARM_FUNC BOOL SND_FlushCommand(u32 flags) {
sWaitingCommandListCount++;
sCurrentTag++;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return TRUE;
}
@@ -216,7 +217,7 @@ ARM_FUNC void SND_WaitForCommandProc(u32 tag) {
return;
do {
- SND_RecvCommandReply(SND_CMD_FLAG_BLOCK);
+ (void)SND_RecvCommandReply(SND_CMD_FLAG_BLOCK);
} while (SND_IsFinishedCommandTag(tag) == 0);
}
@@ -229,7 +230,7 @@ ARM_FUNC u32 SND_GetCurrentCommandTag(void) {
else
retval = sCurrentTag;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return retval;
}
@@ -249,7 +250,7 @@ ARM_FUNC BOOL SND_IsFinishedCommandTag(u32 tag) {
result = FALSE;
}
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return result;
}
@@ -260,7 +261,7 @@ ARM_FUNC s32 SND_CountFreeCommand(void) {
for (struct SNDCommand *cmd = sFreeList; cmd != NULL; cmd = cmd->llNext)
count++;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return count;
}
@@ -271,7 +272,7 @@ ARM_FUNC s32 SND_CountReservedCommand(void) {
for (struct SNDCommand *cmd = sReserveList; cmd != NULL; cmd = cmd->llNext)
count++;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return count;
}
@@ -280,9 +281,10 @@ ARM_FUNC s32 SND_CountWaitingCommand(void) {
}
ARM_FUNC static void PxiFifoCallback(s32 a, s32 b) {
+#pragma unused (a)
OSIntrMode oldirq = OS_DisableInterrupts();
SNDi_CallAlarmHandler(b);
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
}
ARM_FUNC static void InitPXI(void) {
@@ -306,7 +308,7 @@ ARM_FUNC static void RequestCommandProc(void) {
ARM_FUNC static struct SNDCommand *AllocCommand(void) {
OSIntrMode oldirq = OS_DisableInterrupts();
if (sFreeList == NULL) {
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return NULL;
}
@@ -315,7 +317,7 @@ ARM_FUNC static struct SNDCommand *AllocCommand(void) {
sFreeList = sFreeList->llNext;
if (sFreeList == NULL)
sFreeListEnd = NULL;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return retval;
}
@@ -328,6 +330,6 @@ ARM_FUNC static BOOL IsCommandAvailable(void) {
// is this some kind of debug or ensata register?
*(vu32 *)0x4FFF200 = 0x10;
u32 resp = *(vu32 *)0x4FFF200;
- OS_RestoreInterrupts(oldirq);
+ (void)OS_RestoreInterrupts(oldirq);
return resp != 0;
}
diff --git a/arm9/lib/src/SND_interface.c b/arm9/lib/src/SND_interface.c
index e8369477..42b5ff42 100644
--- a/arm9/lib/src/SND_interface.c
+++ b/arm9/lib/src/SND_interface.c
@@ -30,11 +30,11 @@ ARM_FUNC void SND_PauseSeq(s32 player, BOOL flag) {
// ARM_FUNC void SND_SetPlayerTempoRatio(s32 player, s32 ratio) { }
ARM_FUNC void SND_SetPlayerVolume(s32 player, s32 volume) {
- SNDi_SetPlayerParam(player, 6, volume, 2);
+ SNDi_SetPlayerParam(player, 6, (u32)volume, 2);
}
ARM_FUNC void SND_SetPlayerChannelPriority(s32 player, s32 prio) {
- SNDi_SetPlayerParam(player, 4, prio, 1);
+ SNDi_SetPlayerParam(player, 4, (u32)prio, 1);
}
// ARM_FUNC void SND_SetPlayerLocalVariable(s32 player, s32 varNo, s16 var) { }
@@ -44,11 +44,11 @@ ARM_FUNC void SND_SetPlayerChannelPriority(s32 player, s32 prio) {
// ARM_FUNC void SND_SetTrackVolume(s32 player, u32 trackBitMask, s32 volume) { }
ARM_FUNC void SND_SetTrackPitch(s32 player, u32 trackBitMask, s32 pitch) {
- SNDi_SetTrackParam(player, trackBitMask, 12, pitch, 2);
+ SNDi_SetTrackParam(player, trackBitMask, 12, (u32)pitch, 2);
}
ARM_FUNC void SND_SetTrackPan(s32 player, u32 trackBitMask, s32 pan) {
- SNDi_SetTrackParam(player, trackBitMask, 9, pan, 1);
+ SNDi_SetTrackParam(player, trackBitMask, 9, (u32)pan, 1);
}
ARM_FUNC void SND_SetTrackAllocatableChannel(s32 player, u32 trackBitMask, u32 chnBitMask) {
@@ -65,7 +65,7 @@ ARM_FUNC void SND_StopTimer(u32 chnBitMask, u32 capBitMask, u32 alarmBitMask, u3
while (i < SND_ALARM_COUNT && tmpMask != 0) {
if (tmpMask & 1)
- SNDi_IncAlarmId(i);
+ SNDi_IncAlarmId((u32)i);
i++;
tmpMask >>= 1;
}
@@ -79,7 +79,7 @@ ARM_FUNC void SND_SetupCapture(s32 capture, s32 format, void *bufferPtr, u32 len
}
ARM_FUNC void SND_SetupAlarm(s32 alarm, u32 tick, u32 period, SNDAlarmCallback cb, void *userData) {
- PushCmd4(SND_CMD_SETUP_ALARM, alarm, tick, period, SNDi_SetAlarmHandler(alarm, cb, userData));
+ PushCmd4(SND_CMD_SETUP_ALARM, alarm, tick, period, SNDi_SetAlarmHandler((u32)alarm, cb, userData));
}
// ARM_FUNC void SND_SetTrackMute(s32 player, u32 trackBitMask, BOOL flag) { }
diff --git a/arm9/lib/src/SND_main.c b/arm9/lib/src/SND_main.c
index f533b87c..34b839b1 100644
--- a/arm9/lib/src/SND_main.c
+++ b/arm9/lib/src/SND_main.c
@@ -1,4 +1,6 @@
#include "SND_main.h"
+#include "SND_command.h"
+#include "SND_alarm.h"
#include "global.h"
#include "OS_mutex.h"
@@ -7,6 +9,7 @@ static struct OSMutex sSndMutex;
static s32 sSndInitialized;
// TODO remove these declarations once we have the functions in the headers
+void OS_InitMutex(struct OSMutex *);
void OS_UnlockMutex(struct OSMutex *);
void OS_LockMutex(struct OSMutex *);
diff --git a/arm9/src/filesystem.c b/arm9/src/filesystem.c
index 16258195..3775b0b8 100644
--- a/arm9/src/filesystem.c
+++ b/arm9/src/filesystem.c
@@ -172,27 +172,27 @@ THUMB_FUNC void ReadFromNarcMemberByPathAndId(void * dest, const char * path, s3
FS_SeekFile(&file, 12, FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 2);
chunk_starts[0] = chunk_size;
- FS_SeekFile(&file, chunk_starts[0] + 4, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[0] + 4), FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 4);
FS_ReadFile(&file, &num_files, 2);
if (num_files <= file_idx)
ErrorHandling();
chunk_starts[1] = chunk_starts[0] + chunk_size;
- FS_SeekFile(&file, chunk_starts[1] + 4, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[1] + 4), FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 4);
btnf_size = chunk_size;
- FS_SeekFile(&file, chunk_starts[0] + 12 + 8 * file_idx, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[0] + 12 + 8 * file_idx), FS_SEEK_SET);
FS_ReadFile(&file, &file_start, 4);
FS_ReadFile(&file, &file_end, 4);
chunk_starts[2] = chunk_starts[1] + btnf_size;
- FS_SeekFile(&file, chunk_starts[2] + 8 + file_start + offset, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[2] + 8 + file_start + offset), FS_SEEK_SET);
if (size == 0)
chunk_size = file_end - file_start;
else
chunk_size = size;
if (chunk_size == 0)
ErrorHandling();
- FS_ReadFile(&file, dest, chunk_size);
+ FS_ReadFile(&file, dest, (s32)chunk_size);
FS_CloseFile(&file);
}
@@ -213,20 +213,20 @@ THUMB_FUNC void * AllocAndReadFromNarcMemberByPathAndId(const char * path, s32 f
FS_SeekFile(&file, 12, FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 2);
chunk_starts[0] = chunk_size;
- FS_SeekFile(&file, chunk_starts[0] + 4, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[0] + 4), FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 4);
FS_ReadFile(&file, &num_files, 2);
if (num_files <= file_idx)
ErrorHandling();
chunk_starts[1] = chunk_starts[0] + chunk_size;
- FS_SeekFile(&file, chunk_starts[1] + 4, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[1] + 4), FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 4);
btnf_size = chunk_size;
- FS_SeekFile(&file, chunk_starts[0] + 12 + 8 * file_idx, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[0] + 12 + 8 * file_idx), FS_SEEK_SET);
FS_ReadFile(&file, &file_start, 4);
FS_ReadFile(&file, &file_end, 4);
chunk_starts[2] = chunk_starts[1] + btnf_size;
- FS_SeekFile(&file, chunk_starts[2] + 8 + file_start + offset, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[2] + 8 + file_start + offset), FS_SEEK_SET);
if (size == 0)
chunk_size = file_end - file_start;
else
@@ -242,7 +242,7 @@ THUMB_FUNC void * AllocAndReadFromNarcMemberByPathAndId(const char * path, s32 f
dest = AllocFromHeapAtEnd(heap_id, chunk_size);
break;
}
- FS_ReadFile(&file, dest, chunk_size);
+ FS_ReadFile(&file, dest, (s32)chunk_size);
FS_CloseFile(&file);
return dest;
}
@@ -293,20 +293,20 @@ THUMB_FUNC u32 GetNarcMemberSizeByIdPair(NarcId narc_id, s32 file_idx)
FS_SeekFile(&file, 12, FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 2);
chunk_starts[0] = chunk_size;
- FS_SeekFile(&file, chunk_starts[0] + 4, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[0] + 4), FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 4);
FS_ReadFile(&file, &num_files, 2);
if (num_files <= file_idx)
ErrorHandling();
chunk_starts[1] = chunk_starts[0] + chunk_size;
- FS_SeekFile(&file, chunk_starts[1] + 4, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[1] + 4), FS_SEEK_SET);
FS_ReadFile(&file, &chunk_size, 4);
btnf_size = chunk_size;
- FS_SeekFile(&file, chunk_starts[0] + 12 + 8 * file_idx, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[0] + 12 + 8 * file_idx), FS_SEEK_SET);
FS_ReadFile(&file, &file_start, 4);
FS_ReadFile(&file, &file_end, 4);
chunk_starts[2] = chunk_starts[1] + btnf_size;
- FS_SeekFile(&file, chunk_starts[2] + 8 + file_start + 0, FS_SEEK_SET);
+ FS_SeekFile(&file, (s32)(chunk_starts[2] + 8 + file_start + 0), FS_SEEK_SET);
chunk_size = file_end - file_start;
if (chunk_size == 0)
ErrorHandling();
@@ -326,11 +326,11 @@ THUMB_FUNC NARC * NARC_ctor(NarcId narc_id, u32 heap_id)
FS_OpenFile(&narc->file, sNarcFileList[narc_id]);
FS_SeekFile(&narc->file, 12, FS_SEEK_SET);
FS_ReadFile(&narc->file, &narc->btaf_start, 2);
- FS_SeekFile(&narc->file, narc->btaf_start + 4, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(narc->btaf_start + 4), FS_SEEK_SET);
FS_ReadFile(&narc->file, &chunk_size, 4);
FS_ReadFile(&narc->file, &narc->num_files, 2);
btnf_start = narc->btaf_start + chunk_size;
- FS_SeekFile(&narc->file, btnf_start + 4, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(btnf_start + 4), FS_SEEK_SET);
FS_ReadFile(&narc->file, &chunk_size, 4);
narc->gmif_start = btnf_start + chunk_size;
}
@@ -350,14 +350,14 @@ THUMB_FUNC void * NARC_AllocAndReadWholeMember(NARC * narc, u32 file_id, u32 hea
void * dest;
if (narc->num_files <= file_id)
ErrorHandling();
- FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(narc->btaf_start + 12 + 8 * file_id), FS_SEEK_SET);
FS_ReadFile(&narc->file, &file_start, 4);
FS_ReadFile(&narc->file, &file_end, 4);
- FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(narc->gmif_start + 8 + file_start), FS_SEEK_SET);
dest = AllocFromHeap(heap_id, file_end - file_start);
if (dest != NULL)
{
- FS_ReadFile(&narc->file, dest, file_end - file_start);
+ FS_ReadFile(&narc->file, dest, (s32)(file_end - file_start));
}
return dest;
}
@@ -368,11 +368,11 @@ THUMB_FUNC void NARC_ReadWholeMember(NARC * narc, u32 file_id, void * dest)
u32 file_end;
if (narc->num_files <= file_id)
ErrorHandling();
- FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(narc->btaf_start + 12 + 8 * file_id), FS_SEEK_SET);
FS_ReadFile(&narc->file, &file_start, 4);
FS_ReadFile(&narc->file, &file_end, 4);
- FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start, FS_SEEK_SET);
- FS_ReadFile(&narc->file, dest, file_end - file_start);
+ FS_SeekFile(&narc->file, (s32)(narc->gmif_start + 8 + file_start), FS_SEEK_SET);
+ FS_ReadFile(&narc->file, dest, (s32)(file_end - file_start));
}
THUMB_FUNC u32 NARC_GetMemberSize(NARC * narc, u32 file_id)
@@ -381,7 +381,7 @@ THUMB_FUNC u32 NARC_GetMemberSize(NARC * narc, u32 file_id)
u32 file_end;
if (narc->num_files <= file_id)
ErrorHandling();
- FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(narc->btaf_start + 12 + 8 * file_id), FS_SEEK_SET);
FS_ReadFile(&narc->file, &file_start, 4);
FS_ReadFile(&narc->file, &file_end, 4);
return file_end - file_start;
@@ -392,15 +392,15 @@ THUMB_FUNC void NARC_ReadFromMember(NARC * narc, u32 file_id, u32 pos, u32 size,
u32 file_start;
if (narc->num_files <= file_id)
ErrorHandling();
- FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
+ FS_SeekFile(&narc->file, (s32)(narc->btaf_start + 12 + 8 * file_id), FS_SEEK_SET);
FS_ReadFile(&narc->file, &file_start, 4);
- FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start + pos, FS_SEEK_SET);
- FS_ReadFile(&narc->file, dest, size);
+ FS_SeekFile(&narc->file, (s32)(narc->gmif_start + 8 + file_start + pos), FS_SEEK_SET);
+ FS_ReadFile(&narc->file, dest, (s32)size);
}
THUMB_FUNC void NARC_ReadFile(NARC * narc, u32 size, void * dest)
{
- FS_ReadFile(&narc->file, dest, size);
+ FS_ReadFile(&narc->file, dest, (s32)size);
}
THUMB_FUNC u16 NARC_GetFileCount(NARC * narc)
diff --git a/arm9/src/unk_02006234.c b/arm9/src/unk_02006234.c
index 8915ab83..af93ed3e 100644
--- a/arm9/src/unk_02006234.c
+++ b/arm9/src/unk_02006234.c
@@ -3,6 +3,14 @@
#include "poke_overlay.h"
#include "heap.h"
+struct UnkStruct_02006234 * FUN_02006234(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id); //todo header?
+void FUN_02006260(struct UnkStruct_02006234 * a0);
+void * FUN_02006268(struct UnkStruct_02006234 * a0, u32 size, u32 heap_id);
+void * FUN_02006278(struct UnkStruct_02006234 * a0);
+void FUN_0200627C(struct UnkStruct_02006234 * a0);
+int * FUN_0200628C(struct UnkStruct_02006234 * a0);
+BOOL FUN_02006290(struct UnkStruct_02006234 * a0);
+
THUMB_FUNC struct UnkStruct_02006234 * FUN_02006234(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id)
{
struct UnkStruct_02006234 * ret = (struct UnkStruct_02006234 *)AllocFromHeap(heap_id, sizeof(struct UnkStruct_02006234));