mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 14:13:27 -04:00
j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress * finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data * rename more data * remove asm / progress * match all of d_pane_class * fixes / some dKankyo doc * bunch of j2d work. d_drawlist / d_attention cleanup * progress / asm * cleanup wip * decompile JStage * setup some more JStudio structs * set up d_demo classes * some d_demo work * cleanup dolphin os stuff * some initial dEvent documentation * some At collision documentation * match JUTConsole::doDraw * dbgs work / split up some of d_a_alink into .inc files * d_a_alink_spinner work
This commit is contained in:
@@ -10,11 +10,13 @@ public:
|
||||
friend class JKRExpHeap;
|
||||
|
||||
public:
|
||||
void initiate(CMemBlock*, CMemBlock*, u32, u8, u8);
|
||||
JKRExpHeap::CMemBlock* allocFore(u32, u8, u8, u8, u8);
|
||||
JKRExpHeap::CMemBlock* allocBack(u32, u8, u8, u8, u8);
|
||||
int free(JKRExpHeap*);
|
||||
static CMemBlock* getHeapBlock(void*);
|
||||
void initiate(CMemBlock* prev, CMemBlock* next, u32 size, u8 groupId, u8 alignment);
|
||||
JKRExpHeap::CMemBlock* allocFore(u32 size, u8 groupId1, u8 alignment1, u8 groupId2,
|
||||
u8 alignment2);
|
||||
JKRExpHeap::CMemBlock* allocBack(u32 size, u8 groupId1, u8 alignment1, u8 groupId2,
|
||||
u8 alignment2);
|
||||
int free(JKRExpHeap* heap);
|
||||
static CMemBlock* getHeapBlock(void* ptr);
|
||||
|
||||
void newGroupId(u8 groupId) { this->mGroupId = groupId; }
|
||||
bool isValid() const { return this->mMagic == 'HM'; }
|
||||
@@ -38,46 +40,46 @@ public:
|
||||
friend class CMemBlock;
|
||||
|
||||
protected:
|
||||
JKRExpHeap(void*, u32, JKRHeap*, bool);
|
||||
JKRExpHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
virtual ~JKRExpHeap();
|
||||
|
||||
void* allocFromHead(u32, int);
|
||||
void* allocFromHead(u32);
|
||||
void* allocFromTail(u32, int);
|
||||
void* allocFromTail(u32);
|
||||
void appendUsedList(CMemBlock*);
|
||||
void setFreeBlock(CMemBlock*, CMemBlock*, CMemBlock*);
|
||||
void removeFreeBlock(CMemBlock*);
|
||||
void removeUsedBlock(CMemBlock*);
|
||||
void recycleFreeBlock(CMemBlock*);
|
||||
void joinTwoBlocks(CMemBlock*);
|
||||
void* allocFromHead(u32 size, int align);
|
||||
void* allocFromHead(u32 size);
|
||||
void* allocFromTail(u32 size, int align);
|
||||
void* allocFromTail(u32 size);
|
||||
void appendUsedList(CMemBlock* newblock);
|
||||
void setFreeBlock(CMemBlock* block, CMemBlock* prev, CMemBlock* next);
|
||||
void removeFreeBlock(CMemBlock* block);
|
||||
void removeUsedBlock(CMemBlock* block);
|
||||
void recycleFreeBlock(CMemBlock* block);
|
||||
void joinTwoBlocks(CMemBlock* block);
|
||||
|
||||
public:
|
||||
s32 getUsedSize(u8) const;
|
||||
s32 getUsedSize(u8 groupId) const;
|
||||
s32 getTotalUsedSize(void) const;
|
||||
CMemBlock* getHeadUsedList() const { return mHeadUsedList; }
|
||||
|
||||
public:
|
||||
/* vt[04] */ virtual u32 getHeapType(); /* override */
|
||||
/* vt[05] */ virtual bool check(); /* override */
|
||||
/* vt[06] */ virtual bool dump_sort(); /* override */
|
||||
/* vt[07] */ virtual bool dump(); /* override */
|
||||
/* vt[08] */ virtual void do_destroy(); /* override */
|
||||
/* vt[09] */ virtual void* do_alloc(u32 size, int alignment); /* override */
|
||||
/* vt[10] */ virtual void do_free(void* ptr); /* override */
|
||||
/* vt[11] */ virtual void do_freeAll(); /* override */
|
||||
/* vt[12] */ virtual void do_freeTail(); /* override */
|
||||
/* vt[13] */ virtual void do_fillFreeArea(); /* override */
|
||||
/* vt[14] */ virtual s32 do_resize(void* ptr, u32 size); /* override */
|
||||
/* vt[15] */ virtual s32 do_getSize(void* ptr); /* override */
|
||||
/* vt[16] */ virtual s32 do_getFreeSize(); /* override */
|
||||
/* vt[17] */ virtual void* do_getMaxFreeBlock(); /* override */
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize(); /* override */
|
||||
/* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID); /* override */
|
||||
/* vt[20] */ virtual u8 do_getCurrentGroupId(); /* override */
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState*, u32) const; /* override */
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const&,
|
||||
JKRHeap::TState const&) const; /* override */
|
||||
/* vt[04] */ virtual u32 getHeapType(); /* override */
|
||||
/* vt[05] */ virtual bool check(); /* override */
|
||||
/* vt[06] */ virtual bool dump_sort(); /* override */
|
||||
/* vt[07] */ virtual bool dump(); /* override */
|
||||
/* vt[08] */ virtual void do_destroy(); /* override */
|
||||
/* vt[09] */ virtual void* do_alloc(u32 size, int alignment); /* override */
|
||||
/* vt[10] */ virtual void do_free(void* ptr); /* override */
|
||||
/* vt[11] */ virtual void do_freeAll(); /* override */
|
||||
/* vt[12] */ virtual void do_freeTail(); /* override */
|
||||
/* vt[13] */ virtual void do_fillFreeArea(); /* override */
|
||||
/* vt[14] */ virtual s32 do_resize(void* ptr, u32 size); /* override */
|
||||
/* vt[15] */ virtual s32 do_getSize(void* ptr); /* override */
|
||||
/* vt[16] */ virtual s32 do_getFreeSize(); /* override */
|
||||
/* vt[17] */ virtual void* do_getMaxFreeBlock(); /* override */
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize(); /* override */
|
||||
/* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID); /* override */
|
||||
/* vt[20] */ virtual u8 do_getCurrentGroupId(); /* override */
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState* p, u32 id) const; /* override */
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const& r1,
|
||||
JKRHeap::TState const& r2) const; /* override */
|
||||
|
||||
u8 field_0x6c;
|
||||
u8 mCurrentGroupId;
|
||||
@@ -92,9 +94,9 @@ private:
|
||||
CMemBlock* mTailUsedList;
|
||||
|
||||
public:
|
||||
static JKRExpHeap* createRoot(int, bool);
|
||||
static JKRExpHeap* create(u32, JKRHeap*, bool);
|
||||
static JKRExpHeap* create(void*, u32, JKRHeap*, bool);
|
||||
static JKRExpHeap* createRoot(int maxHeaps, bool errorFlag);
|
||||
static JKRExpHeap* create(u32 size, JKRHeap* parent, bool errorFlag);
|
||||
static JKRExpHeap* create(void* ptr, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
};
|
||||
|
||||
inline JKRExpHeap* JKRCreateExpHeap(u32 size, JKRHeap* parent, bool errorFlag) {
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
};
|
||||
|
||||
public:
|
||||
JKRHeap(void*, u32, JKRHeap*, bool);
|
||||
JKRHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
virtual ~JKRHeap();
|
||||
|
||||
JKRHeap* becomeSystemHeap();
|
||||
@@ -77,9 +77,9 @@ public:
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize() = 0;
|
||||
/* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID);
|
||||
/* vt[20] */ virtual u8 do_getCurrentGroupId();
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState*, unsigned long) const;
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const;
|
||||
/* vt[23] */ virtual void state_dump(JKRHeap::TState const&) const;
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState* p, u32 id) const;
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const& r1, JKRHeap::TState const& r2) const;
|
||||
/* vt[23] */ virtual void state_dump(JKRHeap::TState const& p) const;
|
||||
|
||||
void setDebugFill(bool debugFill) { mDebugFill = debugFill; }
|
||||
bool getDebugFill() const { return mDebugFill; }
|
||||
@@ -123,7 +123,7 @@ protected:
|
||||
/* 0x6A */ u8 padding_0x6a[2];
|
||||
|
||||
public:
|
||||
static bool initArena(char**, u32*, int);
|
||||
static bool initArena(char** memory, u32* size, int maxHeaps);
|
||||
static void* alloc(u32 size, int alignment, JKRHeap* heap);
|
||||
static void free(void* ptr, JKRHeap* heap);
|
||||
static s32 resize(void* ptr, u32 size, JKRHeap* heap);
|
||||
@@ -212,7 +212,7 @@ inline void JKRFreeToSysHeap(void* ptr) {
|
||||
systemHeap->free(ptr);
|
||||
}
|
||||
|
||||
inline void JKRFree(void* ptr) {
|
||||
inline void i_JKRFree(void* ptr) {
|
||||
JKRHeap::free(ptr, NULL);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user