mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-30 00:46:24 -04:00
Decompile graph.c (#274)
* Decompiled, 1 non-matching, add some bss reordering helpers * Document stuff * Review suggestions * graphutil.c -> graphalloc.c * Try to fix fault callback warnings * Remove extra comments in GfxMasterList * char pad -> u32 pad Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix gameState Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Other suggestions Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
#include "global.h"
|
||||
|
||||
Gfx* Graph_GfxPlusOne(Gfx* gfx) {
|
||||
return &gfx[1];
|
||||
}
|
||||
|
||||
Gfx* Graph_BranchDlist(Gfx* gfx, Gfx* dst) {
|
||||
gSPBranchList(gfx, dst);
|
||||
return dst;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allocates a structure of `size` into the display list buffer`gfx`,
|
||||
* returning a pointer to the start of the buffer.
|
||||
* Since the alloc may not itself be display list commands, a BranchList
|
||||
* command is used to step over this region.
|
||||
*/
|
||||
void* Graph_DlistAlloc(Gfx** gfx, size_t size) {
|
||||
u8* start;
|
||||
Gfx* end;
|
||||
|
||||
size = ALIGN8(size);
|
||||
start = (u8*)&(*gfx)[1];
|
||||
end = (Gfx*)(start + size);
|
||||
gSPBranchList(*gfx, end);
|
||||
|
||||
*gfx = end;
|
||||
return start;
|
||||
}
|
||||
Reference in New Issue
Block a user