mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
started copying code over to new disasm
This commit is contained in:
@@ -175,6 +175,10 @@ extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451158-80451160 0008+00 s=0 e=1 z=0 None .sbss None */
|
||||
u8 data_80451158[8];
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C3748-803C3778 0030+00 s=1 e=2 z=0 None .data __vt__4cCcS */
|
||||
SECTION_DATA void* __vt__4cCcS[12] = {
|
||||
|
||||
@@ -7,120 +7,70 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_list_class {};
|
||||
|
||||
struct node_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
static void cLs_Init(node_list_class*);
|
||||
void cLs_SingleCut(node_class*);
|
||||
void cLs_Addition(node_list_class*, node_class*);
|
||||
void cLs_Insert(node_list_class*, int, node_class*);
|
||||
void cLs_GetFirst(node_list_class*);
|
||||
void cLs_Create(node_list_class*);
|
||||
|
||||
extern "C" static void cLs_Init__FP15node_list_class();
|
||||
extern "C" void cLs_SingleCut__FP10node_class();
|
||||
extern "C" void cLs_Addition__FP15node_list_classP10node_class();
|
||||
extern "C" void cLs_Insert__FP15node_list_classiP10node_class();
|
||||
extern "C" void cLs_GetFirst__FP15node_list_class();
|
||||
extern "C" void cLs_Create__FP15node_list_class();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
void cNd_LengthOf(node_class*);
|
||||
void cNd_First(node_class*);
|
||||
void cNd_Last(node_class*);
|
||||
void cNd_Order(node_class*, int);
|
||||
void cNd_SingleCut(node_class*);
|
||||
void cNd_Addition(node_class*, node_class*);
|
||||
void cNd_Insert(node_class*, node_class*);
|
||||
void cNd_SetObject(node_class*, void*);
|
||||
void cNd_ClearObject(node_class*);
|
||||
|
||||
extern "C" void cNd_LengthOf__FP10node_class();
|
||||
extern "C" void cNd_First__FP10node_class();
|
||||
extern "C" void cNd_Last__FP10node_class();
|
||||
extern "C" void cNd_Order__FP10node_classi();
|
||||
extern "C" void cNd_SingleCut__FP10node_class();
|
||||
extern "C" void cNd_Addition__FP10node_classP10node_class();
|
||||
extern "C" void cNd_Insert__FP10node_classP10node_class();
|
||||
extern "C" void cNd_SetObject__FP10node_classPv();
|
||||
extern "C" void cNd_ClearObject__FP10node_class();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80265E64-80265E78 0014+00 s=1 e=0 z=0 None .text cLs_Init__FP15node_list_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm static void cLs_Init(node_list_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list/cLs_Init__FP15node_list_class.s"
|
||||
void cLs_Init(node_list_class* pList) {
|
||||
pList->mpHead = NULL;
|
||||
pList->mpTail = NULL;
|
||||
pList->mSize = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80265E78-80265EFC 0084+00 s=1 e=4 z=0 None .text cLs_SingleCut__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLs_SingleCut(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list/cLs_SingleCut__FP10node_class.s"
|
||||
int cLs_SingleCut(node_class* pNode) {
|
||||
node_list_class* pList = (node_list_class*)pNode->mpData;
|
||||
if (pNode == pList->mpHead)
|
||||
pList->mpHead = pNode->mpNextNode;
|
||||
if (pNode == pList->mpTail)
|
||||
pList->mpTail = pNode->mpPrevNode;
|
||||
cNd_SingleCut(pNode);
|
||||
cNd_ClearObject(pNode);
|
||||
int newSize = pList->mSize - 1;
|
||||
pList->mSize = newSize;
|
||||
return newSize > 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80265EFC-80265F70 0074+00 s=1 e=4 z=0 None .text
|
||||
* cLs_Addition__FP15node_list_classP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLs_Addition(node_list_class* param_0, node_class* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list/cLs_Addition__FP15node_list_classP10node_class.s"
|
||||
int cLs_Addition(node_list_class* pList, node_class* pNode) {
|
||||
if (pList->mpTail == NULL) {
|
||||
pList->mpHead = pNode;
|
||||
} else {
|
||||
cNd_Addition(pList->mpTail, pNode);
|
||||
}
|
||||
|
||||
pList->mpTail = cNd_Last(pNode);
|
||||
cNd_SetObject(pNode, pList);
|
||||
pList->mSize = cNd_LengthOf(pList->mpHead);
|
||||
return pList->mSize;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80265F70-80265FF8 0088+00 s=0 e=1 z=0 None .text cLs_Insert__FP15node_list_classiP10node_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLs_Insert(node_list_class* param_0, int param_1, node_class* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list/cLs_Insert__FP15node_list_classiP10node_class.s"
|
||||
int cLs_Insert(node_list_class* pList, int idx, node_class* pNode) {
|
||||
node_class* pExisting = cNd_Order(pList->mpHead, idx);
|
||||
if (pExisting == NULL) {
|
||||
return cLs_Addition(pList, pNode);
|
||||
} else {
|
||||
cNd_SetObject(pNode, pList);
|
||||
cNd_Insert(pExisting, pNode);
|
||||
pList->mpHead = cNd_First(pNode);
|
||||
pList->mSize = cNd_LengthOf(pList->mpHead);
|
||||
return pList->mSize;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80265FF8-80266040 0048+00 s=0 e=1 z=0 None .text cLs_GetFirst__FP15node_list_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLs_GetFirst(node_list_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list/cLs_GetFirst__FP15node_list_class.s"
|
||||
node_class* cLs_GetFirst(node_list_class* pList) {
|
||||
if (pList->mSize != 0) {
|
||||
node_class* pHead = pList->mpHead;
|
||||
cLs_SingleCut(pHead);
|
||||
return pHead;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266040-80266060 0020+00 s=0 e=4 z=0 None .text cLs_Create__FP15node_list_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLs_Create(node_list_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list/cLs_Create__FP15node_list_class.s"
|
||||
void cLs_Create(node_list_class* pList) {
|
||||
cLs_Init(pList);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -7,56 +7,21 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_list_class {};
|
||||
|
||||
struct node_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cLsIt_Method(node_list_class*, int (*)(node_class*, void*), void*);
|
||||
void cLsIt_Judge(node_list_class*, void* (*)(node_class*, void*), void*);
|
||||
|
||||
extern "C" void cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv();
|
||||
extern "C" void cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
void cNdIt_Method(node_class*, int (*)(node_class*, void*), void*);
|
||||
void cNdIt_Judge(node_class*, void* (*)(node_class*, void*), void*);
|
||||
|
||||
extern "C" void cNdIt_Method__FP10node_classPFP10node_classPv_iPv();
|
||||
extern "C" void cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80266060-80266098 0038+00 s=0 e=5 z=0 None .text
|
||||
* cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLsIt_Method(node_list_class* param_0, int (*)(node_class*, void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list_iter/cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv.s"
|
||||
int cLsIt_Method(node_list_class* pList, cNdIt_MethodFunc pMethod, void* pUserData) {
|
||||
if (pList->mSize > 0)
|
||||
return cNdIt_Method(pList->mpHead, pMethod, pUserData);
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266098-802660D0 0038+00 s=0 e=4 z=0 None .text
|
||||
* cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cLsIt_Judge(node_list_class* param_0, void* (*)(node_class*, void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_list_iter/cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv.s"
|
||||
void* cLsIt_Judge(node_list_class* pList, cNdIt_JudgeFunc pJudge, void* pUserData) {
|
||||
if (pList->mSize > 0)
|
||||
return cNdIt_Judge(pList->mpHead, pJudge, pUserData);
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -7,75 +7,29 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JKRHeap {
|
||||
/* 802CE4D4 */ void alloc(u32, int);
|
||||
/* 802CE548 */ void free(void*);
|
||||
};
|
||||
|
||||
struct cMl {
|
||||
/* 80263220 */ void init(JKRHeap*);
|
||||
/* 80263228 */ void memalignB(int, u32);
|
||||
/* 80263260 */ void free(void*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void init__3cMlFP7JKRHeap();
|
||||
extern "C" void memalignB__3cMlFiUl();
|
||||
extern "C" void free__3cMlFPv();
|
||||
extern "C" extern u8 data_80451158[8];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void alloc__7JKRHeapFUli();
|
||||
extern "C" void free__7JKRHeapFPv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451150-80451158 0004+04 s=3 e=0 z=0 None .sbss Heap__3cMl */
|
||||
static u8 Heap__3cMl[4 + 4 /* padding */];
|
||||
JKRHeap *cMl::Heap;
|
||||
|
||||
/* 80263220-80263228 0008+00 s=0 e=1 z=0 None .text init__3cMlFP7JKRHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cMl::init(JKRHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_malloc/init__3cMlFP7JKRHeap.s"
|
||||
void cMl::init(JKRHeap* heap) {
|
||||
Heap = heap;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80263228-80263260 0038+00 s=0 e=8 z=0 None .text memalignB__3cMlFiUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cMl::memalignB(int param_0, u32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_malloc/memalignB__3cMlFiUl.s"
|
||||
void* cMl::memalignB(int alignment, unsigned long size) {
|
||||
if (size == 0) {
|
||||
return NULL;
|
||||
} else {
|
||||
return Heap->alloc(size, alignment);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80263260-8026328C 002C+00 s=0 e=4 z=0 None .text free__3cMlFPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cMl::free(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_malloc/free__3cMlFPv.s"
|
||||
void cMl::free(void* ptr) {
|
||||
if (ptr != NULL) {
|
||||
Heap->free(ptr);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451158-80451160 0008+00 s=0 e=1 z=0 None .sbss None */
|
||||
u8 data_80451158[8];
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// Translation Unit: c_math
|
||||
//
|
||||
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
// #include "SSystem/SComponent/c_math.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
|
||||
@@ -7,182 +7,118 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
static void cNd_Join(node_class*, node_class*);
|
||||
void cNd_LengthOf(node_class*);
|
||||
void cNd_First(node_class*);
|
||||
void cNd_Last(node_class*);
|
||||
void cNd_Order(node_class*, int);
|
||||
void cNd_SingleCut(node_class*);
|
||||
static void cNd_Cut(node_class*);
|
||||
void cNd_Addition(node_class*, node_class*);
|
||||
void cNd_Insert(node_class*, node_class*);
|
||||
void cNd_SetObject(node_class*, void*);
|
||||
void cNd_ClearObject(node_class*);
|
||||
void cNd_ForcedClear(node_class*);
|
||||
void cNd_Create(node_class*, void*);
|
||||
|
||||
extern "C" static void cNd_Join__FP10node_classP10node_class();
|
||||
extern "C" void cNd_LengthOf__FP10node_class();
|
||||
extern "C" void cNd_First__FP10node_class();
|
||||
extern "C" void cNd_Last__FP10node_class();
|
||||
extern "C" void cNd_Order__FP10node_classi();
|
||||
extern "C" void cNd_SingleCut__FP10node_class();
|
||||
extern "C" static void cNd_Cut__FP10node_class();
|
||||
extern "C" void cNd_Addition__FP10node_classP10node_class();
|
||||
extern "C" void cNd_Insert__FP10node_classP10node_class();
|
||||
extern "C" void cNd_SetObject__FP10node_classPv();
|
||||
extern "C" void cNd_ClearObject__FP10node_class();
|
||||
extern "C" void cNd_ForcedClear__FP10node_class();
|
||||
extern "C" void cNd_Create__FP10node_classPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802660D0-802660DC 000C+00 s=1 e=0 z=0 None .text cNd_Join__FP10node_classP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm static void cNd_Join(node_class* param_0, node_class* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Join__FP10node_classP10node_class.s"
|
||||
void cNd_Join(node_class* pA, node_class* pB) {
|
||||
pA->mpNextNode = pB;
|
||||
pB->mpPrevNode = pA;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802660DC-8026610C 0030+00 s=0 e=2 z=0 None .text cNd_LengthOf__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_LengthOf(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_LengthOf__FP10node_class.s"
|
||||
int cNd_LengthOf(node_class* pNode) {
|
||||
int count = 0;
|
||||
while (pNode) {
|
||||
count++;
|
||||
pNode = NODE_GET_NEXT(pNode);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026610C-8026613C 0030+00 s=0 e=1 z=0 None .text cNd_First__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_First(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_First__FP10node_class.s"
|
||||
node_class* cNd_First(node_class* pNode) {
|
||||
node_class* pRet = NULL;
|
||||
while (pNode) {
|
||||
pRet = pNode;
|
||||
pNode = NODE_GET_PREV(pNode);
|
||||
}
|
||||
return pRet;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026613C-8026616C 0030+00 s=1 e=1 z=0 None .text cNd_Last__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_Last(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Last__FP10node_class.s"
|
||||
node_class* cNd_Last(node_class* pNode) {
|
||||
node_class* pRet = NULL;
|
||||
while (pNode) {
|
||||
pRet = pNode;
|
||||
pNode = NODE_GET_NEXT(pNode);
|
||||
}
|
||||
return pRet;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026616C-802661BC 0050+00 s=0 e=1 z=0 None .text cNd_Order__FP10node_classi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_Order(node_class* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Order__FP10node_classi.s"
|
||||
node_class* cNd_Order(node_class* pNode, int idx) {
|
||||
node_class* pRet = NULL;
|
||||
int i = 0;
|
||||
while (i < idx && pNode) {
|
||||
pRet = pNode;
|
||||
i++;
|
||||
pNode = NODE_GET_NEXT(pNode);
|
||||
}
|
||||
if (i < idx)
|
||||
return pRet;
|
||||
return NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802661BC-802661F0 0034+00 s=0 e=1 z=0 None .text cNd_SingleCut__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_SingleCut(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_SingleCut__FP10node_class.s"
|
||||
void cNd_SingleCut(node_class* pNode) {
|
||||
node_class* pPrev = pNode->mpPrevNode;
|
||||
node_class* pNext = pNode->mpNextNode;
|
||||
|
||||
if (pPrev)
|
||||
pPrev->mpNextNode = pNode->mpNextNode;
|
||||
if (pNext)
|
||||
pNext->mpPrevNode = pNode->mpPrevNode;
|
||||
pNode->mpPrevNode = NULL;
|
||||
pNode->mpNextNode = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802661F0-80266210 0020+00 s=1 e=0 z=0 None .text cNd_Cut__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm static void cNd_Cut(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Cut__FP10node_class.s"
|
||||
void cNd_Cut(node_class* pNode) {
|
||||
if (pNode->mpPrevNode)
|
||||
pNode->mpPrevNode->mpNextNode = NULL;
|
||||
pNode->mpPrevNode = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266210-80266244 0034+00 s=1 e=1 z=0 None .text cNd_Addition__FP10node_classP10node_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_Addition(node_class* param_0, node_class* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Addition__FP10node_classP10node_class.s"
|
||||
void cNd_Addition(node_class* pA, node_class* pB) {
|
||||
node_class* pLast = cNd_Last(pA);
|
||||
cNd_Join(pLast, pB);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266244-802662B0 006C+00 s=0 e=1 z=0 None .text cNd_Insert__FP10node_classP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_Insert(node_class* param_0, node_class* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Insert__FP10node_classP10node_class.s"
|
||||
void cNd_Insert(node_class* pA, node_class* pB) {
|
||||
node_class* pPrev = pA->mpPrevNode;
|
||||
if (pPrev == NULL) {
|
||||
cNd_Addition(pB, pA);
|
||||
} else {
|
||||
cNd_Cut(pA);
|
||||
cNd_Addition(pPrev, pB);
|
||||
cNd_Addition(pB, pA);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802662B0-802662D8 0028+00 s=1 e=2 z=0 None .text cNd_SetObject__FP10node_classPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_SetObject(node_class* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_SetObject__FP10node_classPv.s"
|
||||
void cNd_SetObject(node_class* pNode, void* pData) {
|
||||
while (pNode) {
|
||||
pNode->mpData = pData;
|
||||
pNode = NODE_GET_NEXT(pNode);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802662D8-802662FC 0024+00 s=0 e=1 z=0 None .text cNd_ClearObject__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_ClearObject(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_ClearObject__FP10node_class.s"
|
||||
void cNd_ClearObject(node_class* pNode) {
|
||||
cNd_SetObject(pNode, NULL);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802662FC-80266310 0014+00 s=0 e=1 z=0 None .text cNd_ForcedClear__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_ForcedClear(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_ForcedClear__FP10node_class.s"
|
||||
void cNd_ForcedClear(node_class* pNode) {
|
||||
pNode->mpPrevNode = NULL;
|
||||
pNode->mpNextNode = NULL;
|
||||
pNode->mpData = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266310-80266324 0014+00 s=0 e=2 z=0 None .text cNd_Create__FP10node_classPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNd_Create(node_class* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node/cNd_Create__FP10node_classPv.s"
|
||||
void cNd_Create(node_class* pNode, void* pData) {
|
||||
pNode->mpPrevNode = NULL;
|
||||
pNode->mpNextNode = NULL;
|
||||
pNode->mpData = pData;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -7,53 +7,35 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cNdIt_Method(node_class*, int (*)(node_class*, void*), void*);
|
||||
void cNdIt_Judge(node_class*, void* (*)(node_class*, void*), void*);
|
||||
|
||||
extern "C" void cNdIt_Method__FP10node_classPFP10node_classPv_iPv();
|
||||
extern "C" void cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80266324-802663B4 0090+00 s=0 e=1 z=0 None .text
|
||||
* cNdIt_Method__FP10node_classPFP10node_classPv_iPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNdIt_Method(node_class* param_0, int (*)(node_class*, void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node_iter/cNdIt_Method__FP10node_classPFP10node_classPv_iPv.s"
|
||||
int cNdIt_Method(node_class* pNode, cNdIt_MethodFunc pMethod, void* pUserData) {
|
||||
int ret = 1;
|
||||
node_class* pNext = NODE_GET_NEXT(pNode);
|
||||
|
||||
while (pNode) {
|
||||
int methodRet = pMethod(pNode, pUserData);
|
||||
if (!methodRet)
|
||||
ret = 0;
|
||||
pNode = pNext;
|
||||
pNext = NODE_GET_NEXT(pNext);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802663B4-80266440 008C+00 s=0 e=1 z=0 None .text
|
||||
* cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cNdIt_Judge(node_class* param_0, void* (*)(node_class*, void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_node_iter/cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv.s"
|
||||
void* cNdIt_Judge(node_class* pNode, cNdIt_JudgeFunc pJudge, void* pUserData) {
|
||||
node_class* pNext = NODE_GET_NEXT(pNode);
|
||||
|
||||
while (pNode) {
|
||||
void* pJudgeRet = pJudge(pNode, pUserData);
|
||||
if (pJudgeRet != NULL)
|
||||
return pJudgeRet;
|
||||
pNode = pNext;
|
||||
pNext = NODE_GET_NEXT(pNext);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -7,31 +7,9 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cPhs_Reset(request_of_phase_process_class*);
|
||||
void cPhs_Set(request_of_phase_process_class*, int (**)(void*));
|
||||
static void cPhs_UnCompleate(request_of_phase_process_class*);
|
||||
static void cPhs_Compleate(request_of_phase_process_class*);
|
||||
static void cPhs_Next(request_of_phase_process_class*);
|
||||
void cPhs_Do(request_of_phase_process_class*, void*);
|
||||
void cPhs_Handler(request_of_phase_process_class*, int (**)(void*), void*);
|
||||
|
||||
extern "C" void cPhs_Reset__FP30request_of_phase_process_class();
|
||||
extern "C" void cPhs_Set__FP30request_of_phase_process_classPPFPv_i();
|
||||
extern "C" static void cPhs_UnCompleate__FP30request_of_phase_process_class();
|
||||
extern "C" static void cPhs_Compleate__FP30request_of_phase_process_class();
|
||||
extern "C" static void cPhs_Next__FP30request_of_phase_process_class();
|
||||
extern "C" void cPhs_Do__FP30request_of_phase_process_classPv();
|
||||
extern "C" void cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
@@ -43,77 +21,97 @@ extern "C" void cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv();
|
||||
|
||||
/* 80266624-80266630 000C+00 s=1 e=2 z=0 None .text
|
||||
* cPhs_Reset__FP30request_of_phase_process_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cPhs_Reset(request_of_phase_process_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_Reset__FP30request_of_phase_process_class.s"
|
||||
void cPhs_Reset(request_of_phase_process_class* pPhase) {
|
||||
pPhase->mPhaseStep = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266630-80266640 0010+00 s=0 e=3 z=0 None .text
|
||||
* cPhs_Set__FP30request_of_phase_process_classPPFPv_i */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cPhs_Set(request_of_phase_process_class* param_0, int (**)(void*)) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_Set__FP30request_of_phase_process_classPPFPv_i.s"
|
||||
void cPhs_Set(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable) {
|
||||
pPhase->mpHandlerTable = pHandlerTable;
|
||||
pPhase->mPhaseStep = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266640-80266668 0028+00 s=1 e=0 z=0 None .text
|
||||
* cPhs_UnCompleate__FP30request_of_phase_process_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm static void cPhs_UnCompleate(request_of_phase_process_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_UnCompleate__FP30request_of_phase_process_class.s"
|
||||
void cPhs_UnCompleate(request_of_phase_process_class* pPhase) {
|
||||
pPhase->mpHandlerTable = NULL;
|
||||
cPhs_Reset(pPhase);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266668-80266678 0010+00 s=2 e=0 z=0 None .text
|
||||
* cPhs_Compleate__FP30request_of_phase_process_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm static void cPhs_Compleate(request_of_phase_process_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_Compleate__FP30request_of_phase_process_class.s"
|
||||
int cPhs_Compleate(request_of_phase_process_class* pPhase) {
|
||||
pPhase->mpHandlerTable = NULL;
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266678-802666D8 0060+00 s=1 e=0 z=0 None .text cPhs_Next__FP30request_of_phase_process_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm static void cPhs_Next(request_of_phase_process_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_Next__FP30request_of_phase_process_class.s"
|
||||
int cPhs_Next(request_of_phase_process_class* pPhase) {
|
||||
if (const cPhs__Handler* handlerTable = pPhase->mpHandlerTable) {
|
||||
pPhase->mPhaseStep++;
|
||||
cPhs__Handler handler = handlerTable[pPhase->mPhaseStep];
|
||||
|
||||
// Double null check here actually matters for emitted assembly.
|
||||
// Wee old compilers.
|
||||
if (handler == NULL || handler == NULL) {
|
||||
return cPhs_Compleate(pPhase);
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802666D8-802667AC 00D4+00 s=1 e=3 z=0 None .text cPhs_Do__FP30request_of_phase_process_classPv
|
||||
*/
|
||||
#if NON_MATCHING
|
||||
int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) {
|
||||
if (const cPhs__Handler* pHandlerTable = pPhase->mpHandlerTable) {
|
||||
// the load of pUserData seems to be slightly scrambled..
|
||||
const cPhs__Handler pHandler = pHandlerTable[pPhase->mPhaseStep];
|
||||
const int newStep = pHandler(pUserData);
|
||||
|
||||
switch (newStep) {
|
||||
case 1:
|
||||
return cPhs_Next(pPhase);
|
||||
case 2: {
|
||||
const int step2 = cPhs_Next(pPhase);
|
||||
return step2 == 1 ? 2 : cPhs_COMPLEATE_e;
|
||||
}
|
||||
case cPhs_COMPLEATE_e:
|
||||
return cPhs_Compleate(pPhase);
|
||||
case 3: {
|
||||
cPhs_UnCompleate(pPhase);
|
||||
return 3;
|
||||
}
|
||||
case cPhs_ERROR_e:
|
||||
cPhs_UnCompleate(pPhase);
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
return newStep;
|
||||
} else {
|
||||
return cPhs_Compleate(pPhase);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cPhs_Do(request_of_phase_process_class* param_0, void* param_1) {
|
||||
asm int cPhs_Do(request_of_phase_process_class* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_Do__FP30request_of_phase_process_classPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802667AC-802667D4 0028+00 s=0 e=2 z=0 None .text
|
||||
* cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cPhs_Handler(request_of_phase_process_class* param_0, int (**)(void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_phase/cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv.s"
|
||||
int cPhs_Handler(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable,
|
||||
void* pUserData) {
|
||||
pPhase->mpHandlerTable = pHandlerTable;
|
||||
return cPhs_Do(pPhase, pUserData);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -11,32 +11,28 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct csXyz {
|
||||
/* 80018BD0 */ ~csXyz();
|
||||
/* 802673F4 */ csXyz(s16, s16, s16);
|
||||
/* 80267404 */ void operator+(csXyz&);
|
||||
/* 8026745C */ void operator+=(csXyz&);
|
||||
/* 80267490 */ void operator-(csXyz&);
|
||||
/* 802674E8 */ void operator*(f32);
|
||||
struct SVec {
|
||||
s16 mX, mY, mZ;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__5csXyzFsss();
|
||||
extern "C" void __pl__5csXyzFR5csXyz();
|
||||
extern "C" void __apl__5csXyzFR5csXyz();
|
||||
extern "C" void __mi__5csXyzFR5csXyz();
|
||||
extern "C" void __ml__5csXyzFf();
|
||||
extern "C" void __sinit_c_sxyz_cpp();
|
||||
extern "C" extern u8 Zero__5csXyz[4];
|
||||
extern "C" extern u8 data_80451164[4];
|
||||
class csXyz : public SVec {
|
||||
public:
|
||||
static const csXyz Zero;
|
||||
/* 80018BD0 */ ~csXyz() {}
|
||||
/* inline */ csXyz() {}
|
||||
/* inline */ csXyz(const csXyz& other) : SVec(other){};
|
||||
/* 802673F4 */ csXyz(s16, s16, s16);
|
||||
/* 80267404 */ csXyz operator+(csXyz&);
|
||||
/* 8026745C */ void operator+=(csXyz&);
|
||||
/* 80267490 */ csXyz operator-(csXyz&);
|
||||
/* 802674E8 */ csXyz operator*(f32);
|
||||
};
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__5csXyzFsss();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
@@ -45,58 +41,37 @@ extern "C" void __register_global_object();
|
||||
//
|
||||
|
||||
/* 802673F4-80267404 0010+00 s=4 e=19 z=119 None .text __ct__5csXyzFsss */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm csXyz::csXyz(s16 param_0, s16 param_1, s16 param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_sxyz/__ct__5csXyzFsss.s"
|
||||
csXyz::csXyz(s16 param_0, s16 param_1, s16 param_2) {
|
||||
mX = param_0;
|
||||
mY = param_1;
|
||||
mZ = param_2;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80267404-8026745C 0058+00 s=0 e=0 z=3 None .text __pl__5csXyzFR5csXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void csXyz::operator+(csXyz& param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_sxyz/__pl__5csXyzFR5csXyz.s"
|
||||
csXyz csXyz::operator+(csXyz& param_0) {
|
||||
return csXyz(mX + param_0.mX, mY + param_0.mY, mZ + param_0.mZ);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026745C-80267490 0034+00 s=0 e=2 z=11 None .text __apl__5csXyzFR5csXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void csXyz::operator+=(csXyz& param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_sxyz/__apl__5csXyzFR5csXyz.s"
|
||||
void csXyz::operator+=(csXyz& param_0) {
|
||||
mX += param_0.mX;
|
||||
mY += param_0.mY;
|
||||
mZ += param_0.mZ;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80267490-802674E8 0058+00 s=0 e=0 z=1 None .text __mi__5csXyzFR5csXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void csXyz::operator-(csXyz& param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_sxyz/__mi__5csXyzFR5csXyz.s"
|
||||
csXyz csXyz::operator-(csXyz& param_0) {
|
||||
return csXyz(mX - param_0.mX, mY - param_0.mY, mZ - param_0.mZ);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804550A0-804550A8 0008+00 s=1 e=0 z=0 None .sdata2 @151 */
|
||||
SECTION_SDATA2 static f64 lit_151 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 802674E8-8026758C 00A4+00 s=0 e=0 z=1 None .text __ml__5csXyzFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void csXyz::operator*(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_sxyz/__ml__5csXyzFf.s"
|
||||
csXyz csXyz::operator*(f32 param_0) {
|
||||
return csXyz(mX* param_0, mY * param_0, mZ * param_0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
csXyz Zero__5csXyz = csXyz(0,0,0);
|
||||
#else
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80430DA8-80430DB8 000C+04 s=1 e=0 z=0 None .bss @262 */
|
||||
@@ -117,3 +92,5 @@ extern "C" asm void __sinit_c_sxyz_cpp() {
|
||||
#include "asm/SSystem/SComponent/c_sxyz/__sinit_c_sxyz_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,149 +4,94 @@
|
||||
//
|
||||
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
#include "SSystem/SComponent/c_tree.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_lists_tree_class {};
|
||||
|
||||
struct node_list_class {};
|
||||
|
||||
struct node_class {};
|
||||
|
||||
struct create_tag_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cTg_IsUse(create_tag_class*);
|
||||
void cTg_SingleCutFromTree(create_tag_class*);
|
||||
void cTg_AdditionToTree(node_lists_tree_class*, int, create_tag_class*);
|
||||
void cTg_InsertToTree(node_lists_tree_class*, int, create_tag_class*, int);
|
||||
void cTg_GetFirst(node_list_class*);
|
||||
void cTg_SingleCut(create_tag_class*);
|
||||
void cTg_Addition(node_list_class*, create_tag_class*);
|
||||
void cTg_Create(create_tag_class*, void*);
|
||||
|
||||
extern "C" void cTg_IsUse__FP16create_tag_class();
|
||||
extern "C" void cTg_SingleCutFromTree__FP16create_tag_class();
|
||||
extern "C" void cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class();
|
||||
extern "C" void cTg_InsertToTree__FP21node_lists_tree_classiP16create_tag_classi();
|
||||
extern "C" void cTg_GetFirst__FP15node_list_class();
|
||||
extern "C" void cTg_SingleCut__FP16create_tag_class();
|
||||
extern "C" void cTg_Addition__FP15node_list_classP16create_tag_class();
|
||||
extern "C" void cTg_Create__FP16create_tag_classPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
void cLs_SingleCut(node_class*);
|
||||
void cLs_Addition(node_list_class*, node_class*);
|
||||
void cLs_GetFirst(node_list_class*);
|
||||
void cNd_Create(node_class*, void*);
|
||||
void cTr_SingleCut(node_class*);
|
||||
void cTr_Addition(node_lists_tree_class*, int, node_class*);
|
||||
void cTr_Insert(node_lists_tree_class*, int, node_class*, int);
|
||||
|
||||
extern "C" void cLs_SingleCut__FP10node_class();
|
||||
extern "C" void cLs_Addition__FP15node_list_classP10node_class();
|
||||
extern "C" void cLs_GetFirst__FP15node_list_class();
|
||||
extern "C" void cNd_Create__FP10node_classPv();
|
||||
extern "C" void cTr_SingleCut__FP10node_class();
|
||||
extern "C" void cTr_Addition__FP21node_lists_tree_classiP10node_class();
|
||||
extern "C" void cTr_Insert__FP21node_lists_tree_classiP10node_classi();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80266880-8026688C 000C+00 s=0 e=3 z=0 None .text cTg_IsUse__FP16create_tag_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_IsUse(create_tag_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_IsUse__FP16create_tag_class.s"
|
||||
int cTg_IsUse(create_tag_class* pTag) {
|
||||
return pTag->mbIsUse;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026688C-802668CC 0040+00 s=0 e=4 z=0 None .text cTg_SingleCutFromTree__FP16create_tag_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_SingleCutFromTree(create_tag_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_SingleCutFromTree__FP16create_tag_class.s"
|
||||
int cTg_SingleCutFromTree(create_tag_class* pTag) {
|
||||
if (pTag->mbIsUse == true) {
|
||||
pTag->mbIsUse = false;
|
||||
cTr_SingleCut(&pTag->mpNode);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802668CC-8026691C 0050+00 s=0 e=3 z=0 None .text
|
||||
* cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_AdditionToTree(node_lists_tree_class* param_0, int param_1,
|
||||
create_tag_class* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class.s"
|
||||
int cTg_AdditionToTree(node_lists_tree_class* pTree, int listIdx, create_tag_class* pTag) {
|
||||
if (!pTag->mbIsUse) {
|
||||
int ret = cTr_Addition(pTree, listIdx, &pTag->mpNode);
|
||||
if (ret) {
|
||||
pTag->mbIsUse = true;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026691C-8026696C 0050+00 s=0 e=1 z=0 None .text
|
||||
* cTg_InsertToTree__FP21node_lists_tree_classiP16create_tag_classi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_InsertToTree(node_lists_tree_class* param_0, int param_1, create_tag_class* param_2,
|
||||
int param_3) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_InsertToTree__FP21node_lists_tree_classiP16create_tag_classi.s"
|
||||
int cTg_InsertToTree(node_lists_tree_class* pTree, int listIdx, create_tag_class* pTag, int idx) {
|
||||
if (!pTag->mbIsUse) {
|
||||
int ret = cTr_Insert(pTree, listIdx, &pTag->mpNode, idx);
|
||||
if (ret) {
|
||||
pTag->mbIsUse = true;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8026696C-802669A4 0038+00 s=0 e=1 z=0 None .text cTg_GetFirst__FP15node_list_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_GetFirst(node_list_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_GetFirst__FP15node_list_class.s"
|
||||
node_class* cTg_GetFirst(node_list_class* pList) {
|
||||
create_tag_class* pTag = (create_tag_class*)cLs_GetFirst(pList);
|
||||
if (pTag != NULL) {
|
||||
pTag->mbIsUse = false;
|
||||
} else {
|
||||
pTag = NULL;
|
||||
}
|
||||
return &pTag->mpNode;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802669A4-802669E4 0040+00 s=0 e=7 z=0 None .text cTg_SingleCut__FP16create_tag_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_SingleCut(create_tag_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_SingleCut__FP16create_tag_class.s"
|
||||
int cTg_SingleCut(create_tag_class* pTag) {
|
||||
if (pTag->mbIsUse == 1) {
|
||||
pTag->mbIsUse = false;
|
||||
cLs_SingleCut(&pTag->mpNode);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802669E4-80266A34 0050+00 s=0 e=7 z=0 None .text
|
||||
* cTg_Addition__FP15node_list_classP16create_tag_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_Addition(node_list_class* param_0, create_tag_class* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_Addition__FP15node_list_classP16create_tag_class.s"
|
||||
int cTg_Addition(node_list_class* pList, create_tag_class* pTag) {
|
||||
if (!pTag->mbIsUse) {
|
||||
int ret = cLs_Addition(pList, &pTag->mpNode);
|
||||
if (ret) {
|
||||
pTag->mbIsUse = true;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266A34-80266A7C 0048+00 s=0 e=10 z=0 None .text cTg_Create__FP16create_tag_classPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTg_Create(create_tag_class* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag/cTg_Create__FP16create_tag_classPv.s"
|
||||
void cTg_Create(create_tag_class* pTag, void* pData) {
|
||||
cNd_Create(&pTag->mpNode, NULL);
|
||||
pTag->mpTagData = pData;
|
||||
pTag->mbIsUse = false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -7,52 +7,14 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct method_filter {};
|
||||
|
||||
struct judge_filter {};
|
||||
|
||||
struct create_tag_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cTgIt_MethodCall(create_tag_class*, method_filter*);
|
||||
void cTgIt_JudgeFilter(create_tag_class*, judge_filter*);
|
||||
|
||||
extern "C" void cTgIt_MethodCall__FP16create_tag_classP13method_filter();
|
||||
extern "C" void cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80266A7C-80266AB0 0034+00 s=0 e=4 z=0 None .text
|
||||
* cTgIt_MethodCall__FP16create_tag_classP13method_filter */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTgIt_MethodCall(create_tag_class* param_0, method_filter* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag_iter/cTgIt_MethodCall__FP16create_tag_classP13method_filter.s"
|
||||
int cTgIt_MethodCall(create_tag_class* pTag, method_filter* pMethodFilter) {
|
||||
return pMethodFilter->mpMethodFunc((node_class*)pTag->mpTagData, pMethodFilter->mpUserData);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266AB0-80266AE4 0034+00 s=0 e=5 z=0 None .text
|
||||
* cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTgIt_JudgeFilter(create_tag_class* param_0, judge_filter* param_1) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tag_iter/cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter.s"
|
||||
void* cTgIt_JudgeFilter(create_tag_class* pTag, judge_filter* pJudgeFilter) {
|
||||
return pJudgeFilter->mpJudgeFunc((node_class*)pTag->mpTagData, pJudgeFilter->mpUserData);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -7,87 +7,35 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_lists_tree_class {};
|
||||
|
||||
struct node_list_class {};
|
||||
|
||||
struct node_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cTr_SingleCut(node_class*);
|
||||
void cTr_Addition(node_lists_tree_class*, int, node_class*);
|
||||
void cTr_Insert(node_lists_tree_class*, int, node_class*, int);
|
||||
void cTr_Create(node_lists_tree_class*, node_list_class*, int);
|
||||
|
||||
extern "C" void cTr_SingleCut__FP10node_class();
|
||||
extern "C" void cTr_Addition__FP21node_lists_tree_classiP10node_class();
|
||||
extern "C" void cTr_Insert__FP21node_lists_tree_classiP10node_classi();
|
||||
extern "C" void cTr_Create__FP21node_lists_tree_classP15node_list_classi();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
void cLs_SingleCut(node_class*);
|
||||
void cLs_Addition(node_list_class*, node_class*);
|
||||
void cLs_Insert(node_list_class*, int, node_class*);
|
||||
void cLs_Create(node_list_class*);
|
||||
|
||||
extern "C" void cLs_SingleCut__FP10node_class();
|
||||
extern "C" void cLs_Addition__FP15node_list_classP10node_class();
|
||||
extern "C" void cLs_Insert__FP15node_list_classiP10node_class();
|
||||
extern "C" void cLs_Create__FP15node_list_class();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80266440-80266460 0020+00 s=0 e=1 z=0 None .text cTr_SingleCut__FP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTr_SingleCut(node_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tree/cTr_SingleCut__FP10node_class.s"
|
||||
int cTr_SingleCut(node_class* pNode) {
|
||||
return cLs_SingleCut(pNode);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80266460-802664A4 0044+00 s=0 e=1 z=0 None .text
|
||||
* cTr_Addition__FP21node_lists_tree_classiP10node_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTr_Addition(node_lists_tree_class* param_0, int param_1, node_class* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tree/cTr_Addition__FP21node_lists_tree_classiP10node_class.s"
|
||||
int cTr_Addition(node_lists_tree_class* pTree, int listIdx, node_class* pNode) {
|
||||
if (listIdx >= pTree->mNumLists)
|
||||
return 0;
|
||||
|
||||
return cLs_Addition(&pTree->mpLists[listIdx], pNode);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802664A4-802664E8 0044+00 s=0 e=1 z=0 None .text
|
||||
* cTr_Insert__FP21node_lists_tree_classiP10node_classi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTr_Insert(node_lists_tree_class* param_0, int param_1, node_class* param_2, int param_3) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tree/cTr_Insert__FP21node_lists_tree_classiP10node_classi.s"
|
||||
int cTr_Insert(node_lists_tree_class* pTree, int listIdx, node_class* pNode, int idx) {
|
||||
if (listIdx >= pTree->mNumLists)
|
||||
return 0;
|
||||
|
||||
return cLs_Insert(&pTree->mpLists[listIdx], idx, pNode);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802664E8-80266540 0058+00 s=0 e=2 z=0 None .text
|
||||
* cTr_Create__FP21node_lists_tree_classP15node_list_classi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTr_Create(node_lists_tree_class* param_0, node_list_class* param_1, int param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tree/cTr_Create__FP21node_lists_tree_classP15node_list_classi.s"
|
||||
void cTr_Create(node_lists_tree_class* pTree, node_list_class* pLists, int numLists) {
|
||||
pTree->mpLists = pLists;
|
||||
pTree->mNumLists = numLists;
|
||||
|
||||
while (numLists-- > 0)
|
||||
cLs_Create(pLists++);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -4,65 +4,37 @@
|
||||
//
|
||||
|
||||
#include "SSystem/SComponent/c_tree_iter.h"
|
||||
#include "SSystem/SComponent/c_list_iter.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct node_lists_tree_class {};
|
||||
|
||||
struct node_list_class {};
|
||||
|
||||
struct node_class {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
void cTrIt_Method(node_lists_tree_class*, int (*)(node_class*, void*), void*);
|
||||
void cTrIt_Judge(node_lists_tree_class*, void* (*)(node_class*, void*), void*);
|
||||
|
||||
extern "C" void cTrIt_Method__FP21node_lists_tree_classPFP10node_classPv_iPv();
|
||||
extern "C" void cTrIt_Judge__FP21node_lists_tree_classPFP10node_classPv_PvPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
void cLsIt_Method(node_list_class*, int (*)(node_class*, void*), void*);
|
||||
void cLsIt_Judge(node_list_class*, void* (*)(node_class*, void*), void*);
|
||||
|
||||
extern "C" void cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv();
|
||||
extern "C" void cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80266540-802665B4 0074+00 s=0 e=2 z=0 None .text
|
||||
* cTrIt_Method__FP21node_lists_tree_classPFP10node_classPv_iPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTrIt_Method(node_lists_tree_class* param_0, int (*)(node_class*, void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tree_iter/cTrIt_Method__FP21node_lists_tree_classPFP10node_classPv_iPv.s"
|
||||
int cTrIt_Method(node_lists_tree_class* pTree, cNdIt_MethodFunc pMethod, void* pUserData) {
|
||||
node_list_class* pList = pTree->mpLists;
|
||||
int i = pTree->mNumLists;
|
||||
int ret = 1;
|
||||
while (i-- > 0) {
|
||||
int sub = cLsIt_Method(pList++, pMethod, pUserData);
|
||||
if (sub == 0)
|
||||
ret = 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802665B4-80266624 0070+00 s=0 e=2 z=0 None .text
|
||||
* cTrIt_Judge__FP21node_lists_tree_classPFP10node_classPv_PvPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cTrIt_Judge(node_lists_tree_class* param_0, void* (*)(node_class*, void*), void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/SSystem/SComponent/c_tree_iter/cTrIt_Judge__FP21node_lists_tree_classPFP10node_classPv_PvPv.s"
|
||||
void* cTrIt_Judge(node_lists_tree_class* pTree, cNdIt_JudgeFunc pJudge, void* pUserData) {
|
||||
node_list_class* pList = pTree->mpLists;
|
||||
int i = pTree->mNumLists;
|
||||
while (i-- > 0) {
|
||||
void* pJudgeRet = cLsIt_Judge(pList++, pJudge, pUserData);
|
||||
if (pJudgeRet != NULL)
|
||||
return pJudgeRet;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
Reference in New Issue
Block a user