diff --git a/include/splice/frame.h b/include/splice/frame.h index 4cf7336d..d7be0e83 100644 --- a/include/splice/frame.h +++ b/include/splice/frame.h @@ -11,4 +11,11 @@ class CFrame // todo Implement class. }; +// ... + +/** + * @brief Deletes the frame. + */ +void DeleteFrame(CFrame *pframe); + #endif // SPLICE_FRAME_H diff --git a/include/splice/pair.h b/include/splice/pair.h index a2ef7a26..3a2742b3 100644 --- a/include/splice/pair.h +++ b/include/splice/pair.h @@ -21,7 +21,7 @@ class CPair void CloneTo(CPair* ppairClone, CFrame* pframeClone); }; -static CPair* PpairNew(); -static void DeletePair(CPair* ppair); +CPair* PpairNew(); +void DeletePair(CPair* ppair); #endif // SPLICE_PAIR_H diff --git a/include/splice/splotheap.h b/include/splice/splotheap.h index fac6344a..1393d332 100644 --- a/include/splice/splotheap.h +++ b/include/splice/splotheap.h @@ -23,9 +23,10 @@ class CSplotheap SPLOT *m_psplotFree; SPLOT *m_psplotAlloc; SPLOT *m_psplotRecyclable; - PFNDELETE m_pfndelete; public: + PFNDELETE m_pfndelete; + void Startup(int cb, int c); void Shutdown(); int PvAllocUnsafe(); diff --git a/src/P2/splice/spliceutils.cpp b/src/P2/splice/spliceutils.cpp index e910eaad..0e7cc6f5 100644 --- a/src/P2/splice/spliceutils.cpp +++ b/src/P2/splice/spliceutils.cpp @@ -7,19 +7,24 @@ extern CGc g_gc; -// todo: fix blocked references +// todo: match and fix blocked references INCLUDE_ASM(const s32, "P2/splice/spliceutils", StartupSplice__Fv); // void StartupSplice() // { // g_gc.Startup(); + // g_splotheapPair.Startup(0xc, 0x2000); // g_splotheapPair.m_pfndelete = reinterpret_cast(DeletePair); + // g_splotheapFrame.Startup(0x1c, 0x190); // g_splotheapFrame.m_pfndelete = reinterpret_cast(DeleteFrame); + // g_splotheapUnk1.Startup(0x10, 0x800); -// g_splotheapUnk1.m_pfndelete = func_0011C4E8; +// g_splotheapUnk1.m_pfndelete = reinterpret_cast(0x11C4E8); + // g_splotheapProc.Startup(0x14, 0x800); // StartupSpliceStructuredTypeFactories(); + // g_splotheapMethod.Startup(0xc,0x80); // }