initial test with porting d_base

This commit is contained in:
elijah-thomas774
2023-08-09 12:00:45 -04:00
parent 42880ec9ae
commit 5e2c18896d
9 changed files with 678 additions and 61 deletions
+2
View File
@@ -9,3 +9,5 @@ tools/mwcc_compiler/*
.ninja_log
objdiff.json
/tools/objdiff.exe
.vscode/c_cpp_properties.json
tools/dtk
+4
View File
@@ -1,3 +1,7 @@
d/d_base.cpp:
.text start:0x80050800 end:0x80050A14
.data start:0x80503380 end:0x805033CC
unk_flag_stuff.cpp:
.text start:0x800BEF90 end:0x800BF200
+63 -60
View File
@@ -1028,7 +1028,7 @@ fn_8002C250 = .text:0x8002C250; // type:function size:0xB8
fn_8002C310 = .text:0x8002C310; // type:function size:0x90
fn_8002C3A0 = .text:0x8002C3A0; // type:function size:0x8
fn_8002C3B0 = .text:0x8002C3B0; // type:function size:0x178
fn_8002C530 = .text:0x8002C530; // type:function size:0x58
__dt__7dBase_cFv = .text:0x8002C530; // type:function size:0x58
fn_8002C590 = .text:0x8002C590; // type:function size:0xB4
fn_8002C650 = .text:0x8002C650; // type:function size:0x34
fn_8002C690 = .text:0x8002C690; // type:function size:0x78
@@ -2092,18 +2092,18 @@ fn_800506E0 = .text:0x800506E0; // type:function size:0x88
fn_80050770 = .text:0x80050770; // type:function size:0x30
fn_800507A0 = .text:0x800507A0; // type:function size:0x30
fn_800507D0 = .text:0x800507D0; // type:function size:0x30
fn_80050800 = .text:0x80050800; // type:function size:0x54
fn_80050860 = .text:0x80050860; // type:function size:0x28
fn_80050890 = .text:0x80050890; // type:function size:0x60
fn_800508F0 = .text:0x800508F0; // type:function size:0x28
fn_80050920 = .text:0x80050920; // type:function size:0x60
fn_80050980 = .text:0x80050980; // type:function size:0x14
fn_800509A0 = .text:0x800509A0; // type:function size:0x14
fn_800509C0 = .text:0x800509C0; // type:function size:0x8
fn_800509D0 = .text:0x800509D0; // type:function size:0x4
fn_800509E0 = .text:0x800509E0; // type:function size:0x1C
fn_80050A00 = .text:0x80050A00; // type:function size:0x4
fn_80050A10 = .text:0x80050A10; // type:function size:0x4
__ct__7dBase_cFv = .text:0x80050800; // type:function size:0x54
postDraw__7dBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x80050860; // type:function size:0x28
preExecute__7dBase_cFv = .text:0x80050890; // type:function size:0x60
postExecute__7dBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x800508F0; // type:function size:0x28
preDraw__7dBase_cFv = .text:0x80050920; // type:function size:0x60
resetFlags__7dBase_cFv = .text:0x80050980; // type:function size:0x14
isActorPlayer__7dBase_cFR7dBase_c = .text:0x800509A0; // type:function size:0x14
loadAsyncCallback__7dBase_cFv = .text:0x800509C0; // type:function size:0x8
unloadCallback__7dBase_cFv = .text:0x800509D0; // type:function size:0x4
initLoader__7dBase_cFv = .text:0x800509E0; // type:function size:0x1C
createBase__7dBase_cFUsP7dBase_cUlUc = .text:0x80050A00; // type:function size:0x4
createRoot__7dBase_cFUsUlUc = .text:0x80050A10; // type:function size:0x4
fn_80050A20 = .text:0x80050A20; // type:function size:0x118
fn_80050B40 = .text:0x80050B40; // type:function size:0x80
fn_80050BC0 = .text:0x80050BC0; // type:function size:0xB4
@@ -17312,48 +17312,48 @@ fn_802E1100 = .text:0x802E1100; // type:function size:0x40
fn_802E1140 = .text:0x802E1140; // type:function size:0x8C
fn_802E11D0 = .text:0x802E11D0; // type:function size:0xBC
fn_802E1290 = .text:0x802E1290; // type:function size:0x58
fn_802E12F0 = .text:0x802E12F0; // type:function size:0x190
fn_802E1480 = .text:0x802E1480; // type:function size:0x78
fn_802E1500 = .text:0x802E1500; // type:function size:0xB4
fn_802E15C0 = .text:0x802E15C0; // type:function size:0x8
fn_802E15D0 = .text:0x802E15D0; // type:function size:0x8
fn_802E15E0 = .text:0x802E15E0; // type:function size:0x90
fn_802E1670 = .text:0x802E1670; // type:function size:0x8
fn_802E1680 = .text:0x802E1680; // type:function size:0xA8
fn_802E1730 = .text:0x802E1730; // type:function size:0x68
fn_802E17A0 = .text:0x802E17A0; // type:function size:0xBC
fn_802E1860 = .text:0x802E1860; // type:function size:0xA8
fn_802E1910 = .text:0x802E1910; // type:function size:0x8
fn_802E1920 = .text:0x802E1920; // type:function size:0x28
fn_802E1950 = .text:0x802E1950; // type:function size:0x4
fn_802E1960 = .text:0x802E1960; // type:function size:0x12C
fn_802E1A90 = .text:0x802E1A90; // type:function size:0x8
fn_802E1AA0 = .text:0x802E1AA0; // type:function size:0x28
fn_802E1AD0 = .text:0x802E1AD0; // type:function size:0x4
fn_802E1AE0 = .text:0x802E1AE0; // type:function size:0xA8
fn_802E1B90 = .text:0x802E1B90; // type:function size:0x4
fn_802E1BA0 = .text:0x802E1BA0; // type:function size:0x25C
fn_802E1E00 = .text:0x802E1E00; // type:function size:0x74
__ct__7fBase_cFv = .text:0x802E12F0; // type:function size:0x190
__dt__7fBase_cFv = .text:0x802E1480; // type:function size:0x78
commonPack__7fBase_cFM7fBase_cFPCvPv_iM7fBase_cFPCvPv_iM7fBase_cFPCvPvQ27fBase_c12MAIN_STATE_e_v = .text:0x802E1500; // type:function size:0xB4
create__7fBase_cFv = .text:0x802E15C0; // type:function size:0x8
preCreate__7fBase_cFv = .text:0x802E15D0; // type:function size:0x8
postCreate__7fBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x802E15E0; // type:function size:0x90
doDelete__7fBase_cFv = .text:0x802E1670; // type:function size:0x8
createPack__7fBase_cFv = .text:0x802E1680; // type:function size:0xA8
preDelete__7fBase_cFv = .text:0x802E1730; // type:function size:0x68
postDelete__7fBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x802E17A0; // type:function size:0xBC
deletePack__7fBase_cFv = .text:0x802E1860; // type:function size:0xA8
execute__7fBase_cFv = .text:0x802E1910; // type:function size:0x8
preExecute__7fBase_cFv = .text:0x802E1920; // type:function size:0x28
postExecute__7fBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x802E1950; // type:function size:0x4
executePack__7fBase_cFv = .text:0x802E1960; // type:function size:0x12C
draw__7fBase_cFv = .text:0x802E1A90; // type:function size:0x8
preDraw__7fBase_cFv = .text:0x802E1AA0; // type:function size:0x28
postDraw__7fBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x802E1AD0; // type:function size:0x4
drawPack__7fBase_cFv = .text:0x802E1AE0; // type:function size:0xA8
deleteReady__7fBase_cFv = .text:0x802E1B90; // type:function size:0x4
connectProc__7fBase_cFv = .text:0x802E1BA0; // type:function size:0x25C
deleteRequest__7fBase_cFv = .text:0x802E1E00; // type:function size:0x74
fn_802E1E80 = .text:0x802E1E80; // type:function size:0x8C
fn_802E1F10 = .text:0x802E1F10; // type:function size:0x20
fn_802E1F30 = .text:0x802E1F30; // type:function size:0x54
fn_802E1F90 = .text:0x802E1F90; // type:function size:0x1C
fn_802E1FB0 = .text:0x802E1FB0; // type:function size:0x1C
fn_802E1FD0 = .text:0x802E1FD0; // type:function size:0x1C
getConnectParent__7fBase_cCFv = .text:0x802E1F90; // type:function size:0x1C
getConnectChild__7fBase_cCFv = .text:0x802E1FB0; // type:function size:0x1C
getConnectBrNext__7fBase_cCFv = .text:0x802E1FD0; // type:function size:0x1C
fn_802E1FF0 = .text:0x802E1FF0; // type:function size:0x98
fn_802E2090 = .text:0x802E2090; // type:function size:0x50
fn_802E20E0 = .text:0x802E20E0; // type:function size:0x1FC
fn_802E22E0 = .text:0x802E22E0; // type:function size:0xC0
fn_802E23A0 = .text:0x802E23A0; // type:function size:0x8
fn_802E23B0 = .text:0x802E23B0; // type:function size:0x5C
fn_802E2410 = .text:0x802E2410; // type:function size:0xC
fn_802E2420 = .text:0x802E2420; // type:function size:0x78
fn_802E24A0 = .text:0x802E24A0; // type:function size:0x70
entryFrmHeap__7fBase_cFUlPQ23EGG4Heap = .text:0x802E20E0; // type:function size:0x1FC
entryFrmHeapNonAdjust__7fBase_cFUlPQ23EGG4Heap = .text:0x802E22E0; // type:function size:0xC0
createHeap__7fBase_cFv = .text:0x802E23A0; // type:function size:0x8
__nw__7fBase_cFUl = .text:0x802E23B0; // type:function size:0x5C
__dl__7fBase_cFPv = .text:0x802E2410; // type:function size:0xC
runCreate__7fBase_cFv = .text:0x802E2420; // type:function size:0x78
getChildProcessCreateState__7fBase_cCFv = .text:0x802E24A0; // type:function size:0x70
fn_802E2510 = .text:0x802E2510; // type:function size:0x2C
fn_802E2540 = .text:0x802E2540; // type:function size:0x1C
fn_802E2560 = .text:0x802E2560; // type:function size:0x98
fn_802E2600 = .text:0x802E2600; // type:function size:0x3C
fn_802E2640 = .text:0x802E2640; // type:function size:0x14
setTmpCtData__7fBase_cFUsP9fTrNdBa_cUlUc = .text:0x802E2540; // type:function size:0x1C
fBase_make__7fBase_cFUsP9fTrNdBa_cUlUc = .text:0x802E2560; // type:function size:0x98
createChild__7fBase_cFUsP7fBase_cUlUc = .text:0x802E2600; // type:function size:0x3C
createRoot__7fBase_cFUsUlUc = .text:0x802E2640; // type:function size:0x14
fn_802E2660 = .text:0x802E2660; // type:function size:0x14
fn_802E2680 = .text:0x802E2680; // type:function size:0x60
fn_802E26E0 = .text:0x802E26E0; // type:function size:0x74
@@ -29923,7 +29923,7 @@ lbl_805014E8 = .data:0x805014E8; // type:object size:0x18
lbl_80501500 = .data:0x80501500; // type:object size:0x28
lbl_80501528 = .data:0x80501528; // type:object size:0x10
lbl_80501538 = .data:0x80501538; // type:object size:0xC data:string
lbl_80501544 = .data:0x80501544; // type:object size:0x74
__vt__9dAcBase_c = .data:0x80501544; // type:object size:0x74
lbl_805015B8 = .data:0x805015B8; // type:object size:0x80
lbl_80501638 = .data:0x80501638; // type:object size:0xC
lbl_80501644 = .data:0x80501644; // type:object size:0xC data:4byte
@@ -30066,7 +30066,7 @@ lbl_80502E70 = .data:0x80502E70; // type:object size:0x3D8
lbl_80503248 = .data:0x80503248; // type:object size:0x30
lbl_80503278 = .data:0x80503278; // type:object size:0x9C
lbl_80503314 = .data:0x80503314; // type:object size:0x6C
lbl_80503380 = .data:0x80503380; // type:object size:0x50
__vt__7dBase_c = .data:0x80503380; // type:object size:0x50
lbl_805033D0 = .data:0x805033D0; // type:object size:0x10
lbl_805033E0 = .data:0x805033E0; // type:object size:0x10
lbl_805033F0 = .data:0x805033F0; // type:object size:0x10
@@ -35677,7 +35677,7 @@ lbl_80541A40 = .data:0x80541A40; // type:object size:0x30
lbl_80541A70 = .data:0x80541A70; // type:object size:0x808
lbl_80542278 = .data:0x80542278; // type:object size:0xB4 data:4byte
lbl_8054232C = .data:0x8054232C; // type:object size:0x30
lbl_8054235C = .data:0x8054235C; // type:object size:0x4C
__vt__7fBase_c = .data:0x8054235C; // type:object size:0x4C
lbl_805423A8 = .data:0x805423A8; // type:object size:0x40 data:4byte
lbl_805423E8 = .data:0x805423E8; // type:object size:0x20
lbl_80542408 = .data:0x80542408; // type:object size:0x18
@@ -39017,7 +39017,7 @@ lbl_80573FA0 = .sdata:0x80573FA0; // type:object size:0x8
lbl_80573FA8 = .sdata:0x80573FA8; // type:object size:0x8
lbl_80573FB0 = .sdata:0x80573FB0; // type:object size:0x4 data:4byte
lbl_80573FB4 = .sdata:0x80573FB4; // type:object size:0x4 data:4byte
lbl_80573FB8 = .sdata:0x80573FB8; // type:object size:0x8 data:4byte
m_rootUniqueID__7fBase_c = .sdata:0x80573FB8; // type:object size:0x8 data:4byte
lbl_80573FC0 = .sdata:0x80573FC0; // type:object size:0x8 data:4byte
lbl_80573FC8 = .sdata:0x80573FC8; // type:object size:0x8 data:4byte
lbl_80573FD0 = .sdata:0x80573FD0; // type:object size:0x4
@@ -39679,9 +39679,9 @@ lbl_805750A0 = .sbss:0x805750A0; // type:object size:0x8 data:4byte
lbl_805750A8 = .sbss:0x805750A8; // type:object size:0x8 data:4byte
lbl_805750B0 = .sbss:0x805750B0; // type:object size:0x8 data:2byte
lbl_805750B8 = .sbss:0x805750B8; // type:object size:0x8 data:byte
lbl_805750C0 = .sbss:0x805750C0; // type:object size:0x4 data:4byte
lbl_805750C4 = .sbss:0x805750C4; // type:object size:0x4 data:4byte
lbl_805750C8 = .sbss:0x805750C8; // type:object size:0x8 data:4byte
ACTOR_SHOULD_UPDATE_FLAGS = .sbss:0x805750C0; // type:object size:0x4 data:4byte
ACTOR_SHOULD_DRAW_FLAGS = .sbss:0x805750C4; // type:object size:0x4 data:4byte
ACTOR_SHOULD_UNK_FLAGS = .sbss:0x805750C8; // type:object size:0x8 data:4byte
lbl_805750D0 = .sbss:0x805750D0; // type:object size:0x8 data:4byte
lbl_805750D8 = .sbss:0x805750D8; // type:object size:0x8 data:4byte
lbl_805750E0 = .sbss:0x805750E0; // type:object size:0x4 data:4byte
@@ -40235,10 +40235,10 @@ lbl_80575B98 = .sbss:0x80575B98; // type:object size:0x4 data:4byte
lbl_80575B9C = .sbss:0x80575B9C; // type:object size:0x4 data:4byte
lbl_80575BA0 = .sbss:0x80575BA0; // type:object size:0x8 data:4byte
lbl_80575BA8 = .sbss:0x80575BA8; // type:object size:0x8 data:4byte
lbl_80575BB0 = .sbss:0x80575BB0; // type:object size:0x4 data:4byte
lbl_80575BB4 = .sbss:0x80575BB4; // type:object size:0x4 data:4byte
sLoadAsyncCallback__7fBase_c = .sbss:0x80575BB0; // type:object size:0x4 data:4byte
sUnloadCallback__7fBase_c = .sbss:0x80575BB4; // type:object size:0x4 data:4byte
lbl_80575BB8 = .sbss:0x80575BB8; // type:object size:0x8 data:4byte
lbl_80575BC0 = .sbss:0x80575BC0; // type:object size:0x8 data:4byte
DAT_ACTOR_ALLOCATION_FUNCTIONS = .sbss:0x80575BC0; // type:object size:0x8 data:4byte
lbl_80575BC8 = .sbss:0x80575BC8; // type:object size:0x4 data:4byte
lbl_80575BCC = .sbss:0x80575BCC; // type:object size:0x1 data:byte
lbl_80575BD0 = .sbss:0x80575BD0; // type:object size:0x4 data:4byte
@@ -49032,7 +49032,10 @@ lbl_805B83A0 = .bss:0x805B83A0; // type:object size:0x100
lbl_805B84A0 = .bss:0x805B84A0; // type:object size:0x10 data:4byte
lbl_805B84B0 = .bss:0x805B84B0; // type:object size:0xC
lbl_805B84BC = .bss:0x805B84BC; // type:object size:0xC
lbl_805B84C8 = .bss:0x805B84C8; // type:object size:0x10 data:2byte
m_tmpCtProfName__7fBase_c = .bss:0x805B84C8; // type:object size:0x4 data:2byte
m_tmpCtConnectParent__7fBase_c = .bss:0x805B84CC; // type:object size:0x4 data:4byte
m_tmpCtParam__7fBase_c = .bss:0x805B84D0; // type:object size:0x4 data:4byte
m_tmpCtGroupType__7fBase_c = .bss:0x805B84D4; // type:object size:0x4 data:byte
lbl_805B84D8 = .bss:0x805B84D8; // type:object size:0x10 data:4byte
lbl_805B84E8 = .bss:0x805B84E8; // type:object size:0x14 data:4byte
lbl_805B84FC = .bss:0x805B84FC; // type:object size:0x14 data:4byte
+2 -1
View File
@@ -7,7 +7,8 @@ LIBS = [
"host": False,
"objects": [
["Runtime/__init_cpp_exceptions.cpp", False],
["unk_flag_stuff.cpp", True]
["unk_flag_stuff.cpp", True],
["d/d_base.cpp", False]
],
},
]
+293
View File
@@ -0,0 +1,293 @@
#include <d/a/d_a_base.h>
// .sdata
/* 0x80571920 */ u32 dAcBase_c::s_Create_RoomId = -1;
/* 0x80571924 */ u32 dAcBase_c::s_Create_Params2 = -1;
/* 0x80571928 */ u16 dAcBase_c::s_Create_UnkFlags = -1;
/* 0x8057192A */ u8 dAcBase_c::s_Create_ViewClipIdx = -1;
// .sbss
/* 0x80575080 */ Vec3f* dAcBase_c::s_Create_Position;
/* 0x80575084 */ Vec3s* dAcBase_c::s_Create_Rotation;
/* 0x80575088 */ Vec3f* dAcBase_c::s_Create_Scale;
/* 0x8057508C */ dAcBase_c* dAcBase_c::s_Create_Parent;
/* 0x80575090 */ ObjInfoPtr* dAcBase_c::s_Create_ObjInfo;
/* 0x80575094 */ u8 dAcBase_c::s_Create_Subtype;
/* 8002c3a0 */
bool dAcBase_c::createHeap() {
return true;
}
/* 8002c3b0 */
dAcBase_c::dAcBase_c() {}
/* 8002c530 */ // dont know how this got here
dBase_c::~dBase_c() {}
/* 8002c590 */
dAcBase_c::~dAcBase_c() {}
/* 8002c650 */
void dAcBase_c::setTempCreateParams( \
Vec3f* pos, Vec3s* rot, Vec3f* scale, \
s32 roomId, u32 params2, dAcBase_c* parent, \
u8 subtype, s16 unkFlag, u8 viewClipIdx,\
ObjInfoPtr* objInfo )
{
s_Create_Position = pos;
s_Create_Rotation = rot;
s_Create_Scale = scale;
s_Create_RoomId = roomId;
s_Create_Params2 = params2;
s_Create_Parent = parent;
s_Create_Subtype = subtype;
s_Create_UnkFlags = unkFlag;
s_Create_ViewClipIdx = viewClipIdx;
s_Create_ObjInfo = objInfo;
}
/* 8002c690 */
void* dAcBase_c::FUN_8002c690() {}
/* 8002c710 */
int dAcBase_c::initAllocatorWork1Heap(int size, char* name) {
initAllocator(size, name, dHeap::work1Heap);
}
extern "C" int FUN_802ee510(mAllocator*, int size, EGG::Heap* heap, char* name, int align, int unk);
/* 8002c720 */
int dAcBase_c::initAllocator(int size, char* name, EGG::Heap* heap) {
if (FUN_802ee510(&mHeapAllocator, size, heap, name, 0x20, 0) == 0){
return 0;
}
soundRelated = FUN_8002c690();
int success = createHeap();
mHeapAllocator.adjustFrmHeapRestoreCurrent();
return success;
}
/* 8002c7b0 */
bool dAcBase_c::addActorToRoom(s32 roomId) {}
/* 8002c840 */
void dAcBase_c::setBit_field_0xE8(s32) {}
/* 8002c860 */ // virt func, initiates the allocator
int dAcBase_c::actorCreate() {}
/* 8002c870 */ // virt func
int dAcBase_c::actorReCreate() {}
/* 8002c880 */
int dAcBase_c::create() {}
/* 8002c8f0 */
void dAcBase_c::postCreate(fBase_c::MAIN_STATE_e state) {}
/* 8002c940 */
int dAcBase_c::preDelete() {}
/* 8002cb10 */
int dAcBase_c::preExecute() {}
/* 8002cc10 */
int dAcBase_c::execute() {}
/* 8002cca0 */
int dAcBase_c::actorExecute() {}
/* 8002ccb0 */
int dAcBase_c::actorExecuteInEvent() {}
/* 8002ccc0 */
void dAcBase_c::postExecute(fBase_c::MAIN_STATE_e state) {}
/* 8002ce90 */
void dAcBase_c::unkVirtFunc_0x5C() { return; }
/* 8002cea0 */
void dAcBase_c::unkVirtFunc_0x60() { return; }
/* 8002ceb0 */
bool dAcBase_c::restorePosRotFromCopy() {}
/* 8002cf10 */
u32 dAcBase_c::itemDroppingAndGivingRelated(Vec3f* spawnPos, int subtype) {}
/* 8002cf90 */
void dAcBase_c::fillUpperParams2Byte() {}
/* 8002cfa0 */
u32 dAcBase_c::getParams2_ignoreLower() {}
/* 8002cfb0 */
void dAcBase_c::setParams2Upper_ignoreLower(u32 val) {}
/* 8002cfc0 */
u8 dAcBase_c::getParams2UpperByte() {}
/* 8002cfd0 */
void dAcBase_c::setParams2UpperByte(u32 val) {}
/* 8002cff0 */
u32 dAcBase_c::buildParams2(u32 lower, u8 upper) {}
/* 8002d010 */
u32 dAcBase_c::getParams2Lower() {}
/* 8002d020 */
dAcBase_c* dAcBase_c::findActor(char* objName, dAcBase_c* parent) {}
/* 8002d0a0 */ // searches for actor based on groupType
dAcBase_c* dAcBase_c::searchActor(dAcBase_c& optionalParent) {}
/* 8002d130 */
void dAcBase_c::forEachActor(void*, dAcBase_c&) {}
/* 8002d190 */
void dAcBase_c::getXZAngleToPlayer(s16&, dAcBase_c&) {}
/* 8002d1d0 */
bool dAcBase_c::getDistanceToActor(dAcBase_c& actor, f32 distThresh, f32* outDist) {}
/* 8002d290 */
bool dAcBase_c::getDistanceAndAngleToActor( \
dAcBase_c& actor, f32 distThresh, s16 yAngle, s16 xAngle, \
f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX)
{
}
/* 8002d3e0 */
bool dAcBase_c::isWithinPlayerRadius(f32 radius) {}
/* 8002d440 */
bool dAcBase_c::getDistanceAndAngleToPlayer( \
f32 distThresh, s16 yAngle, s16 xAngle, \
f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX)
{
// return getDistanceAndAngleToActor(PLAYER, distThresh, yAngle, xAngle, outDist, outDiffAngleY, outDiffAngleX);
}
/* 8002d470 */
f32 dAcBase_c::getDistToPlayer() {}
/* 8002d4a0 */
f32 dAcBase_c::getSquareDistToPlayer() {}
/* 8002d4b0 */
void dAcBase_c::updateRoomId(f32 yOffs) {}
/* 8002d540 */ // currently named Global__isRoomFlags_6not0
bool dAcBase_c::isRoomFlags_0x6_Set() {}
/* 8002d590 */
void dAcBase_c::FUN_8002d590() {}
/* 8002d5b0 */
void dAcBase_c::FUN_8002d5b0() {}
/* 8002d5d0*/
void dAcBase_c::playSound() {}
/* 8002d600 */
void dAcBase_c::FUN_8002d600() {}
/* 8002d630 */
void dAcBase_c::FUN_8002d630() {}
/* 8002d6d0 */
void dAcBase_c::FUN_8002d6d0() {}
/* 8002d710 */ // currently named ActorBase__playSoundEffect1
void dAcBase_c::playSoundEffect1() {}
/* 8002d740 */
void dAcBase_c::FUN_8002d740() {}
/* 8002d770 */
void dAcBase_c::FUN_8002d770() {}
/* 8002d7a0 */
void dAcBase_c::FUN_8002d7a0() {}
/* 8002d7d0 */
void dAcBase_c::FUN_8002d7d0() {}
/* 8002d7f0 */
void dAcBase_c::FUN_8002d7f0() {}
/* 8002d810 */
void dAcBase_c::FUN_8002d810() {}
/* 8002d830 */
void dAcBase_c::FUN_8002d830() {}
/* 8002d860 */
void dAcBase_c::FUN_8002d860() {}
/* 8002d880 */
void dAcBase_c::FUN_8002d880() {}
/* 8002d890 */ // first param is not dAcBase_c
void dAcBase_c::FUN_8002d890() {}
/* 8002d920 */ // current name is Global__setActorRef
void dAcBase_c::setActorRef(dBase_c&) {}
/* 8002d930 */ // May not be only purpose
void dAcBase_c::setUnkFlag() {}
/* 8002d940 */
void dAcBase_c::FUN_8002d940() {}
/* 8002d960 */
void dAcBase_c::FUN_8002d960() {}
/* 8002d980 */ // spawns GroupType2 (ACTOR)
dAcBase_c dAcBase_c::createActor( \
ProfileName actorId, u32 params1, \
Vec3f* pos, Vec3s* rot, Vec3f* scale, \
u32 params2, s32 roomId, dBase_c* ref) {}
/* 8002da80 */ // spawns GroupType3 (TG_FORCE_LINE ? )
dAcBase_c dAcBase_c::createActorUnkGroup3( \
ProfileName actorId, u32 params1, \
Vec3f* pos, Vec3s* rot, Vec3f* scale, \
u32 params2, s32 roomId, dBase_c* ref) {}
/* 8002db80 */
void* dAcBase_c::getCurrentEventActor() {}
/* 8002db90 */
void dAcBase_c::unkVirtFunc_0x6C() {}
/* 8002dba0 */
void dAcBase_c::doInteraction(s32) {}
/* 8002dc20 */
void dAcBase_c::FUN_8002dc20(s16*, s16*) {}
/* 8002dc50 */
void dAcBase_c::incrementKillCounter() {}
/* 8002dcd0 */
void dAcBase_c::FUN_8002dcd0() {}
/* 8002dd10 */
void dAcBase_c::FUN_8002dd10() {}
/* 8002dd50 */
void dAcBase_c::FUN_8002dd50() {}
/* 8002dd90 */
void dAcBase_c::FUN_8002dd90() {}
/* 8002ddd0 */
void dAcBase_c::FUN_8002ddd0() {}
/* 8002de30 */
void dAcBase_c::FUN_8002de30() {}
+81
View File
@@ -0,0 +1,81 @@
#include <d/d_base.h>
extern "C" fProfile::fBaseProfile_c** DAT_ACTOR_ALLOCATION_FUNCTIONS;
extern "C" /* 805750c0 */ u32 ACTOR_SHOULD_UPDATE_FLAGS;
extern "C" /* 805750c4 */ u32 ACTOR_SHOULD_DRAW_FLAGS;
extern "C" /* 805750c0 */ u32 ACTOR_SHOULD_UNK_FLAGS;
dBase_c::dBase_c() : fBase_c() {
baseProperties = DAT_ACTOR_ALLOCATION_FUNCTIONS[mProfName]->mBaseProperties;
}
void dBase_c::postDraw(fBase_c::MAIN_STATE_e status) {
if (status != CANCELED) {
baseProperties |= 0x100;
} else {
baseProperties &= ~0x100;
}
fBase_c::postDraw(status);
}
int dBase_c::preExecute() {
if (fBase_c::preExecute() == 0) {
return NOT_READY;
}
if (ACTOR_SHOULD_UPDATE_FLAGS && !isProcControlFlag(ACTOR_SHOULD_UPDATE_FLAGS)) {
return NOT_READY;
}
return SUCCEEDED;
}
void dBase_c::postExecute(fBase_c::MAIN_STATE_e status) {
if (status != CANCELED) {
baseProperties |= 0x4;
} else {
baseProperties &= ~0x4;
}
fBase_c::postExecute(status);
}
int dBase_c::preDraw() {
if (fBase_c::preDraw() == NOT_READY) {
return NOT_READY;
}
if (ACTOR_SHOULD_DRAW_FLAGS && !isProcControlFlag(ACTOR_SHOULD_DRAW_FLAGS)) {
return NOT_READY;
}
return SUCCEEDED;
}
void dBase_c::resetFlags() {
ACTOR_SHOULD_UPDATE_FLAGS = 0;
ACTOR_SHOULD_DRAW_FLAGS = 0;
ACTOR_SHOULD_UNK_FLAGS = 0;
}
bool dBase_c::isActorPlayer(dBase_c& base) {
return base.mProfName == fProfile::PLAYER;
}
int dBase_c::loadAsyncCallback() {
return 2;
}
void dBase_c::unloadCallback() {
return;
}
void dBase_c::initLoader() {
fBase_c::sLoadAsyncCallback = loadAsyncCallback;
fBase_c::sUnloadCallback = unloadCallback;
}
dBase_c* dBase_c::createBase(ProfileName profName, dBase_c* parent, unsigned long param, u8 grouptype) {
return static_cast<dBase_c*>(fBase_c::createChild(profName, parent, param, grouptype));
}
dBase_c* dBase_c::createRoot(ProfileName profName, unsigned long param, u8 groupType) {
return static_cast<dBase_c*>(fBase_c::createRoot(profName, param, groupType));
}
// dBase_c::~dBase_c() {}
+145
View File
@@ -0,0 +1,145 @@
#include <f/f_base.h>
/*
.text File Range:
[802e12f0 - 802e2680]
*/
// This file will be ported from https://github.com/NSMBW-Community/NSMBW-Decomp/blob/master/source/dol/framework/f_base.cpp
fBaseID_e fBase_c::m_rootUniqueID = FIRST_ID;
ProfileName fBase_c::m_tmpCtProfName;
u32 fBase_c::m_tmpCtParam;
u8 fBase_c::m_tmpCtGroupType;
fTrNdBa_c *fBase_c::m_tmpCtConnectParent;
// 0x80575bb0: sLoadAsyncCallback__7fBase_c
// 0x80575bb4: sUnloadCallback__7fBase_c
int (*fBase_c::sLoadAsyncCallback)();
void (*fBase_c::sUnloadCallback)();
/* 802e12f0 */
fBase_c::fBase_c() : mMng(this) {}
/* 802e1480 */
fBase_c::~fBase_c() {}
/* 802e1500 */
int fBase_c::commonPack(int (fBase_c::*doFunc)(), int (fBase_c::*preFunc)(), void (fBase_c::*postFunc)(MAIN_STATE_e)) {}
/* 802e15c0 */
int fBase_c::create() {}
/* 802e15d0 */
int fBase_c::preCreate() {}
/* 802e15e0 */
void fBase_c::postCreate(MAIN_STATE_e state) {}
/* 802e1670 */
int fBase_c::doDelete() {}
/* 802e1680 */
int fBase_c::createPack() {}
/* 802e1730 */
int fBase_c::preDelete() {}
/* 802e17a0 */
void fBase_c::postDelete(MAIN_STATE_e state) {}
/* 802e15d0 */
int fBase_c::deletePack() {}
/* 802e1910 */
int fBase_c::execute() {}
/* 802e1920 */
int fBase_c::preExecute() {}
/* 802e1950 */
void fBase_c::postExecute(MAIN_STATE_e state) {}
/* 802e1960 */
int fBase_c::executePack() {}
/* 802e1a90 */
int fBase_c::draw() {}
/* 802e1aa0 */
int fBase_c::preDraw() {}
/* 802e1ad0 */
void fBase_c::postDraw(MAIN_STATE_e state) {}
/* 802e1ae0 */
int fBase_c::drawPack() {}
/* 802e1b90 */
void fBase_c::deleteReady() {}
/* 802e1ba0 */
int fBase_c::connectProc() {}
/* 802e1e00 */
void fBase_c::deleteRequest() {}
/* 802e1e80 */
// addNewActorToDrawList
/* 802e1f10 */
// getFirstActor
/* 802e1f30 */
// getNextActor
/* 802e1f90 */
fBase_c* fBase_c::getConnectParent() const {}
/* 802e1fb0 */
fBase_c* fBase_c::getConnectChild() const {}
/* 802e1fd0 */
fBase_c* fBase_c::getConnectBrNext() const {}
/* 802e1ff0 */
// FUN_802e1ff0
/* 802e2090 */
// addActorToRoom
/* 802e20e0 */
bool fBase_c::entryFrmHeap(unsigned long size, EGG::Heap *parentHeap) {}
/* 802e22e0 */
bool fBase_c::entryFrmHeapNonAdjust(unsigned long size, EGG::Heap *parentHeap) {}
/* 802e23a0 */
bool fBase_c::createHeap() {}
/* 802e23b0 */
void* fBase_c::operator new(size_t) {}
/* 802e2410 */
void fBase_c::operator delete(void*) {}
/* 802e2420 */
void fBase_c::runCreate() {}
/* 802e24a0 */
fBase_c* fBase_c::getChildProcessCreateState() const {}
/* 802e2510 */
bool fBase_c::checkChildProcessCreateState() const {}
/* 802e2540 */
void fBase_c::setTmpCtData(ProfileName profName, fTrNdBa_c *connectParent, unsigned long param, u8 groupType) {}
/* 802e2560 */
fBase_c* fBase_c::fBase_make(ProfileName profName, fTrNdBa_c *connectParent, unsigned long param, u8 groupType) {}
/* 802e2600 */
fBase_c* fBase_c::createChild(ProfileName profName, fBase_c *parent, unsigned long param, u8 groupType) {}
/* 802e2640 */
fBase_c* fBase_c::createRoot(ProfileName profName, unsigned long param, u8 groupType) {}
+88
View File
@@ -0,0 +1,88 @@
#include <toBeSorted/save_file.h>
// 0x800099b0 getStoryFlags0__8SaveFileFv
u16* SaveFile::getStoryFlags0() {
return story_flags;
}
// 0x800099c0 getStoryFlags1__8SaveFileFv
u16* SaveFile::getStoryFlags1() {
return story_flags;
}
// 0x800099d0 getItemFlags0__8SaveFileFv
u16* SaveFile::getItemFlags0() {
return item_flags;
}
// 0x800099e0 getItemFlags1__8SaveFileFv
u16* SaveFile::getItemFlags1() {
return item_flags;
}
// 0x800099F0 getDungeonFlags0__8SaveFileFv
u16* SaveFile::getDungeonFlags0() {
return dungeon_flags[0];
}
// 0x80009A00 getDungeonFlags1__8SaveFileFv
u16* SaveFile::getDungeonFlags1() {
return dungeon_flags[0];
}
// 0x80009A10 getSceneFlags0__8SaveFileFv
u16* SaveFile::getSceneFlags0() {
return scene_flags;
}
// 0x80009A20 getSceneFlags1__8SaveFileFv
u16* SaveFile::getSceneFlags1() {
return scene_flags;
}
// 0x80009A30 getTboxFlags0__8SaveFileFv
u16* SaveFile::getTboxFlags0() {
return tbox_flags;
}
// 0x80009A40 getTboxFlags1__8SaveFileFv
u16* SaveFile::getTboxFlags1() {
return tbox_flags;
}
// 0x80009A50 getTempFlags0__8SaveFileFv
u16* SaveFile::getTempFlags0() {
return temp_flags;
}
// 0x80009A60 getTempFlags1__8SaveFileFv
u16* SaveFile::getTempFlags1() {
return temp_flags;
}
// 0x80009A70 getZoneFlags0__8SaveFileFv
u16* SaveFile::getZoneFlags0() {
return zone_flags;
}
// 0x80009A80 getZoneFlags1__8SaveFileFv
u16* SaveFile::getZoneFlags1() {
return zone_flags;
}
// 0x80009A90 getUnkFlags0__8SaveFileFv
u16* SaveFile::getUnkFlags0() {
return unk_flags;
}
// 0x80009AA0 getUnkFlags1__8SaveFileFv
u16* SaveFile::getUnkFlags1() {
return unk_flags;
}
// 0x80009AB0 getPlayerName__8SaveFileFv
s16* SaveFile::getPlayerName() {
return player_name;
} // using Shift JIS i assume
// 0x80009AC0 setAreaT1__8SaveFileFv
void SaveFile::setAreaT1() {}
// 0x80009BE0 getAreaT1__8SaveFileFv
s8* SaveFile::getAreaT1() {
return area_t1;
}
// 0x80009BF0 setAreaT2__8SaveFileFv
void SaveFile::setAreaT2() {
}
// 0x80009D10 getAreaT2__8SaveFileFv
s8* SaveFile::getAreaT2() {
return area_t2;
}
// 0x80009D20 getAreaT3__8SaveFileFv
s8* SaveFile::getAreaT3() {
return area_t3;
}
BIN
View File
Binary file not shown.