mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-18 04:48:21 -04:00
started copying code over to new disasm
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user