diff options
author | nullableVoidPtr <30564701+nullableVoidPtr@users.noreply.github.com> | 2018-11-20 13:17:30 +0800 |
---|---|---|
committer | nullableVoidPtr <30564701+nullableVoidPtr@users.noreply.github.com> | 2018-11-20 15:04:02 +0800 |
commit | c7045ae3694f677b634f3908c1ea935c2998727e (patch) | |
tree | b4aa509751cfa3d71897ae9442c39875db8cbc21 /src/memory.c | |
parent | f4ef62bb4134498a4b4a9c4d61b99bda24c98680 (diff) |
Identify, split, decompile m4a, and more
ResetSprites, gCharMemCursor, gSpriteCount; analysed subheaps; identified more file pointers
Diffstat (limited to 'src/memory.c')
-rw-r--r-- | src/memory.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/memory.c b/src/memory.c index 0d282d5..05c89a2 100644 --- a/src/memory.c +++ b/src/memory.c @@ -113,7 +113,7 @@ void DoInitHeap(struct HeapDescriptor *descriptor, struct HeapSettings *settings descriptor->start = settings->start; descriptor->size = aligned_size; descriptor->unk0 = 2; - descriptor->unk4 = 0; + descriptor->parentHeap = NULL; descriptor->freeList = freeList; descriptor->freeCount = 1; descriptor->freeListLength = freeListLength; @@ -126,7 +126,7 @@ void DoInitHeap(struct HeapDescriptor *descriptor, struct HeapSettings *settings freeList->grp = 0; } -void InitSubHeap(struct HeapDescriptor *parentHeap, struct HeapFreeListElement *start, u32 freeListMax) +void InitSubHeap(struct HeapDescriptor *parentHeap, struct HeapMemoryBlock *block, u32 freeListMax) { u32 freeListSize; u32 aligned_size; @@ -137,9 +137,9 @@ void InitSubHeap(struct HeapDescriptor *parentHeap, struct HeapFreeListElement * freeListSize = freeListMax * 3; alignment = ~3; freeListSize *= 8; - aligned_size = (start->atb - freeListSize) & alignment; //possible struct misalignment? - freeList = (struct HeapFreeListElement *)start->unk_atb; - settings.start = &((u8 *)start->unk_atb)[freeListSize]; + aligned_size = (block->size - freeListSize) & alignment; + freeList = (struct HeapFreeListElement *)block->start; + settings.start = &((u8 *)block->start)[freeListSize]; settings.size = aligned_size; DoInitHeap(parentHeap, &settings, freeList, freeListMax); -}
\ No newline at end of file +} |