started copying code over to new disasm

This commit is contained in:
lepelog
2021-03-30 02:45:32 +02:00
parent a868b6ae56
commit e756e1760e
35 changed files with 687 additions and 793 deletions
+4
View File
@@ -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] = {
+47 -97
View File
@@ -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
+10 -45
View File
@@ -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
+14 -60
View File
@@ -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];
+1 -1
View File
@@ -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"
+76 -140
View File
@@ -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
+25 -43
View File
@@ -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
+63 -65
View File
@@ -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
+35 -58
View File
@@ -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
+61 -116
View File
@@ -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
+4 -42
View File
@@ -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
+18 -70
View File
@@ -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
+20 -48
View File
@@ -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