diff --git a/src/asset_loading.c b/src/asset_loading.c index 6a194238..83240201 100644 --- a/src/asset_loading.c +++ b/src/asset_loading.c @@ -5,7 +5,6 @@ #include "memory.h" //#include "assets.h" -#include "types.h" #include "macros.h" #include "ultra64.h" @@ -23,16 +22,12 @@ s32 *gAssetsLookupTable; // These are both defined in the generated dkr.ld file. extern u8 __ASSETS_LUT_START, __ASSETS_LUT_END; // __ASSETS_LUT_START = 0xECB60, _END = 0xECC30 - -void *allocate_from_main_pool_safe(s32, s32); -s32 func_80071478(s32*); -void dmacopy(u32 romOffset, u8 *ramAddress, s32 numBytes); void func_80076BA0(void) { u32 assetTableSize; osCreateMesgQueue(&D_80124278, &D_80124238, 16); osCreateMesgQueue(&D_80124220, &D_80124218, 1); - osCreatePiManager(150, &D_80124278, &D_80124238, 16); + osCreatePiManager((OSPri) 150, &D_80124278, &D_80124238, 16); assetTableSize = &__ASSETS_LUT_END - &__ASSETS_LUT_START; gAssetsLookupTable = (s32*)allocate_from_main_pool_safe(assetTableSize, COLOR_TAG_GRAY); func_80071478(gAssetsLookupTable); @@ -180,8 +175,8 @@ s32 get_size_of_asset_section(u32 assetIndex) { /** * Copies data from the game cartridge to a ram address. */ -void dmacopy(u32 romOffset, u8 *ramAddress, s32 numBytes) { - s32 sp4C; +void dmacopy(u32 romOffset, u32 ramAddress, s32 numBytes) { + OSMesg *sp4C; s32 numBytesToDMA; osInvalDCache(ramAddress, numBytes); diff --git a/src/asset_loading.h b/src/asset_loading.h index 142c49f5..140bb0bc 100644 --- a/src/asset_loading.h +++ b/src/asset_loading.h @@ -1,4 +1,14 @@ #ifndef _UNKNOWN_0777A0_H_ #define _UNKNOWN_0777A0_H_ +#include "types.h" + +void func_80076BA0(void); +s32 *load_asset_section_from_rom(u32 assetIndex); +s32 load_asset_section_from_rom_to_address(u32 assetIndex, s32 *address); +s32 load_asset_to_address(u32 assetIndex, s32 *address, s32 assetOffset, s32 size); +u8 *get_rom_offset_of_asset(u32 assetIndex, s32 assetOffset); +s32 get_size_of_asset_section(u32 assetIndex); +void dmacopy(u32 romOffset, u32 ramAddress, s32 numBytes); + #endif diff --git a/src/audio.c b/src/audio.c index bc50c3af..0c63e8f9 100644 --- a/src/audio.c +++ b/src/audio.c @@ -124,7 +124,6 @@ typedef struct audioMgrConfig_s{ void func_80000968(s32 arg0); ALCSPlayer *func_80002224(s32, s32); void func_8000B010(ALCSPlayer*, u8); -void *allocate_from_main_pool_safe(u32, u32); void *load_asset_section_from_rom(u32); void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size); diff --git a/src/memory.h b/src/memory.h index ed5cb8d2..76cb6fbf 100644 --- a/src/memory.h +++ b/src/memory.h @@ -1,6 +1,8 @@ #ifndef _MEMORY_H_ #define _MEMORY_H_ +#include "types.h" + // Animation related? #define COLOR_TAG_RED 0xFF0000FF // Object related? @@ -22,4 +24,7 @@ // ??? #define COLOR_TAG_BLACK 0x000000FF +void *allocate_from_main_pool_safe(s32 size, u32 colorTag); +s32 func_80071478(u8 *address); + #endif diff --git a/src/unknown_06B2B0.c b/src/unknown_06B2B0.c index 9d75072f..1b12387e 100644 --- a/src/unknown_06B2B0.c +++ b/src/unknown_06B2B0.c @@ -209,7 +209,6 @@ s32 is_in_tracks_mode(void); s32 *load_asset_section_from_rom(s32); void load_asset_to_address(u32, s32*, s32, s32); void free_from_memory_pool(s32*); -void *allocate_from_main_pool_safe(s32, s32); void func_8006C1AC(s32 arg0, s32 arg1, s32 arg2, s32 arg3); void func_8006C2E4(void); s16 func_8006C2F0(void);