mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-07 21:10:53 -04:00
[n64-jp-1.1] __osMalloc.c matched (#1845)
* match osmalloc * some names * format * Breakup osFree checks and move strings around * misc changes
This commit is contained in:
@@ -4,19 +4,32 @@
|
||||
#include "ultra64.h"
|
||||
#include "stddef.h"
|
||||
|
||||
#include "unk.h"
|
||||
#include "versions.h"
|
||||
|
||||
struct Arena;
|
||||
|
||||
typedef struct ArenaNode {
|
||||
/* 0x0 */ s16 magic; // Should always be 0x7373
|
||||
/* 0x2 */ s16 isFree;
|
||||
/* 0x4 */ size_t size;
|
||||
/* 0x8 */ struct ArenaNode* next;
|
||||
/* 0xC */ struct ArenaNode* prev;
|
||||
} ArenaNode; // size = 0x10
|
||||
#if MM_VERSION <= N64_JP_1_1
|
||||
/* 0x10 */ const char* filename;
|
||||
/* 0x14 */ int line;
|
||||
/* 0x18 */ OSId threadId;
|
||||
/* 0x1C */ struct Arena *arena;
|
||||
/* 0x20 */ OSTime time;
|
||||
/* 0x28 */ UNK_TYPE1 unk_28[0x8];
|
||||
#endif
|
||||
} ArenaNode; // size = 0x10 N64 US, size = 0x30 N64 JP 1.1
|
||||
|
||||
typedef struct Arena {
|
||||
/* 0x00 */ ArenaNode* head;
|
||||
/* 0x04 */ void* start;
|
||||
/* 0x08 */ OSMesgQueue lock;
|
||||
/* 0x20 */ u8 unk20;
|
||||
/* 0x20 */ u8 allocFailures;
|
||||
/* 0x21 */ u8 isInit;
|
||||
/* 0x22 */ u8 flag;
|
||||
} Arena; // size = 0x24
|
||||
@@ -31,4 +44,14 @@ void* __osRealloc(Arena* arena, void* ptr, size_t newSize);
|
||||
void __osGetSizes(Arena* arena, size_t* outMaxFree, size_t* outFree, size_t* outAlloc);
|
||||
s32 __osCheckArena(Arena* arena);
|
||||
|
||||
#if MM_VERSION <= N64_JP_1_1
|
||||
void *__osMallocDebug(Arena *arena, size_t size, const char* file, int line);
|
||||
void *__osMallocRDebug(Arena *arena, size_t size, const char* file, int line);
|
||||
void __osFreeDebug(Arena* arena, void* ptr, const char* file, int line);
|
||||
void *__osReallocDebug(Arena* arena, void* ptr, size_t newSize, const char* file, int line);
|
||||
u8 ArenaImpl_GetAllocFailures(Arena* arena);
|
||||
|
||||
extern s32 gTotalAllocFailures;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user