Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions config/RSBE01_02/rels/sora_enemy/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,23 @@ mo_enemy/sora_enemy/wnem/wn_em_heap_module_impl.cpp:
.data start:0x00006CD8 end:0x00006D50
.bss start:0x00000260 end:0x00000280

mo_enemy/sora_enemy/killer/em_killer_param_accesser.cpp:
.text start:0x00037464 end:0x000376F4
.ctors start:0x00000038 end:0x0000003C
.rodata start:0x00000EA0 end:0x00000EA8
.data start:0x000084B8 end:0x00008518
.bss start:0x000002F0 end:0x00000308

mo_enemy/sora_enemy/wnem/wn_em_report.cpp:
.text start:0x0004833C end:0x0004838C

mo_enemy/sora_enemy/faulong/em_faulong_param_accesser.cpp:
.text start:0x0004FEA0 end:0x00050108
.ctors start:0x000000AC end:0x000000B0
.rodata start:0x000010A8 end:0x000010B0
.data start:0x00012DC0 end:0x00012E20
.bss start:0x00000628 end:0x00000640

mo_enemy/mo_enemy.cpp:
.text start:0x0006B760 end:0x0006B7FC
.data start:0x0001FE78 end:0x0001FE85
Expand Down
32 changes: 16 additions & 16 deletions config/RSBE01_02/rels/sora_enemy/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1519,12 +1519,12 @@ fn_41_37210 = .text:0x00037210; // type:function size:0x48
__ct__8emKillerFUlP8emCreate = .text:0x00037258; // type:function size:0x140
fn_41_37398 = .text:0x00037398; // type:function size:0xC4
fn_41_3745C = .text:0x0003745C; // type:function size:0x8
fn_41_37464 = .text:0x00037464; // type:function size:0x48
fn_41_374AC = .text:0x000374AC; // type:function size:0x84
fn_41_37530 = .text:0x00037530; // type:function size:0x80
fn_41_375B0 = .text:0x000375B0; // type:function size:0xA0
fn_41_37650 = .text:0x00037650; // type:function size:0x5C
fn_41_376AC = .text:0x000376AC; // type:function size:0x48
__ct__21emKillerParamAccesserFv = .text:0x00037464; // type:function size:0x48
getParamFloat__21emKillerParamAccesserFP16soModuleAccesserl = .text:0x000374AC; // type:function size:0x84
getParamInt__21emKillerParamAccesserFP16soModuleAccesserl = .text:0x00037530; // type:function size:0x80
getParamIndefinite__21emKillerParamAccesserFP16soModuleAccesserl = .text:0x000375B0; // type:function size:0xA0
__dt__21emKillerParamAccesserFv = .text:0x00037650; // type:function size:0x5C
__sinit_\em_killer_param_accesser_cpp = .text:0x000376AC; // type:function size:0x48 scope:local
__ct__10emPopperamFUlP8emCreate = .text:0x000376F4; // type:function size:0x1F0
fn_41_378E4 = .text:0x000378E4; // type:function size:0x60
fn_41_37944 = .text:0x00037944; // type:function size:0x6C
Expand Down Expand Up @@ -2057,12 +2057,12 @@ fn_41_4FC64 = .text:0x0004FC64; // type:function size:0x48
__ct__9emFaulongFUlP8emCreate = .text:0x0004FCAC; // type:function size:0x134
fn_41_4FDE0 = .text:0x0004FDE0; // type:function size:0xB8
fn_41_4FE98 = .text:0x0004FE98; // type:function size:0x8
fn_41_4FEA0 = .text:0x0004FEA0; // type:function size:0x48
fn_41_4FEE8 = .text:0x0004FEE8; // type:function size:0x70
fn_41_4FF58 = .text:0x0004FF58; // type:function size:0x6C
fn_41_4FFC4 = .text:0x0004FFC4; // type:function size:0xA0
fn_41_50064 = .text:0x00050064; // type:function size:0x5C
fn_41_500C0 = .text:0x000500C0; // type:function size:0x48
__ct__22emFaulongParamAccesserFv = .text:0x0004FEA0; // type:function size:0x48
getParamFloat__22emFaulongParamAccesserFP16soModuleAccesserl = .text:0x0004FEE8; // type:function size:0x70
getParamInt__22emFaulongParamAccesserFP16soModuleAccesserl = .text:0x0004FF58; // type:function size:0x6C
getParamIndefinite__22emFaulongParamAccesserFP16soModuleAccesserl = .text:0x0004FFC4; // type:function size:0xA0
__dt__22emFaulongParamAccesserFv = .text:0x00050064; // type:function size:0x5C
__sinit_\em_faulong_param_accesser_cpp = .text:0x000500C0; // type:function size:0x48 scope:local
__ct__7emBitanFUlP8emCreate = .text:0x00050108; // type:function size:0x134
fn_41_5023C = .text:0x0005023C; // type:function size:0xB8
fn_41_502F4 = .text:0x000502F4; // type:function size:0x58
Expand Down Expand Up @@ -3496,10 +3496,10 @@ lbl_41_data_8268 = .data:0x00008268; // type:object size:0x1A0
lbl_41_data_8408 = .data:0x00008408; // type:object size:0xC
lbl_41_data_8414 = .data:0x00008414; // type:object size:0x9C
lbl_41_data_84B0 = .data:0x000084B0; // type:object size:0x8
lbl_41_data_84B8 = .data:0x000084B8; // type:object size:0x24
__vt__21emKillerParamAccesser = .data:0x000084B8; // type:object size:0x24
lbl_41_data_84DC = .data:0x000084DC; // type:object size:0x18
lbl_41_data_84F4 = .data:0x000084F4; // type:object size:0x1C
lbl_41_data_8510 = .data:0x00008510; // type:object size:0x8
__RTTI__21emKillerParamAccesser = .data:0x00008510; // type:object size:0x8
lbl_41_data_8518 = .data:0x00008518; // type:object size:0x24
lbl_41_data_853C = .data:0x0000853C; // type:object size:0x1A0
lbl_41_data_86DC = .data:0x000086DC; // type:object size:0xC
Expand Down Expand Up @@ -4135,10 +4135,10 @@ lbl_41_data_12B70 = .data:0x00012B70; // type:object size:0x1A0
lbl_41_data_12D10 = .data:0x00012D10; // type:object size:0xC
lbl_41_data_12D1C = .data:0x00012D1C; // type:object size:0x9C
lbl_41_data_12DB8 = .data:0x00012DB8; // type:object size:0x8
lbl_41_data_12DC0 = .data:0x00012DC0; // type:object size:0x24
__vt__22emFaulongParamAccesser = .data:0x00012DC0; // type:object size:0x24
lbl_41_data_12DE4 = .data:0x00012DE4; // type:object size:0x18
lbl_41_data_12DFC = .data:0x00012DFC; // type:object size:0x1C
lbl_41_data_12E18 = .data:0x00012E18; // type:object size:0x8
__RTTI__22emFaulongParamAccesser = .data:0x00012E18; // type:object size:0x8
lbl_41_data_12E20 = .data:0x00012E20; // type:object size:0x1A0
lbl_41_data_12FC0 = .data:0x00012FC0; // type:object size:0x8 data:string
lbl_41_data_12FC8 = .data:0x00012FC8; // type:object size:0x9C
Expand Down
2 changes: 2 additions & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,9 @@ def MatchingFor(*versions):
Object(Matching, "mo_enemy/sora_enemy/em_extend_param_accesser.cpp"),
Object(Matching, "mo_enemy/sora_enemy/wnem/wn_em_resource_module_impl.cpp"),
Object(Matching, "mo_enemy/sora_enemy/wnem/wn_em_heap_module_impl.cpp"),
Object(Matching, "mo_enemy/sora_enemy/killer/em_killer_param_accesser.cpp"),
Object(Matching, "mo_enemy/sora_enemy/wnem/wn_em_report.cpp"),
Object(Matching, "mo_enemy/sora_enemy/faulong/em_faulong_param_accesser.cpp"),
Object(Matching, "mo_enemy/mo_enemy.cpp"),
],
},
Expand Down
47 changes: 47 additions & 0 deletions src/mo_enemy/sora_enemy/faulong/em_faulong_param_accesser.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#include <em/em_create.h>
#include <em/faulong/em_faulong_param_accesser.h>
#include <em/resource/em_resource_module_impl.h>

emFaulongParamAccesser g_emTrowlonParamAccesser;

emFaulongParamAccesser::emFaulongParamAccesser()
: emExtendParamAccesser(Enemy_Trowlon) { }

float emFaulongParamAccesser::getParamFloat(soModuleAccesser* acc, s32 p2) {
UnkParamAccesser* ptr = dynamic_cast<emResourceModuleImpl&>(
acc->getResourceModule()).unk2C;
switch (p2) {
case 4000:
return ptr->unk330;
default:
return 0.0f;
}
}

s32 emFaulongParamAccesser::getParamInt(soModuleAccesser* acc, s32 p2) {
UnkParamAccesser* ptr = dynamic_cast<emResourceModuleImpl&>(
acc->getResourceModule()).unk2C;
switch (p2) {
case 24000:
return ptr->unk32C;
default:
return 0;
}
}

void* emFaulongParamAccesser::getParamIndefinite(soModuleAccesser* acc, s32 p2) {
UnkParamAccesser* ptr = dynamic_cast<emResourceModuleImpl&>(
acc->getResourceModule()).unk2C;
switch (p2) {
case 44000:
return ptr;
case 44001:
return &ptr->unk280;
case 44002:
return &ptr->unk2EC;
default:
return nullptr;
}
}

emFaulongParamAccesser::~emFaulongParamAccesser() { }
51 changes: 51 additions & 0 deletions src/mo_enemy/sora_enemy/killer/em_killer_param_accesser.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#include <em/em_create.h>
#include <em/killer/em_killer_param_accesser.h>
#include <em/resource/em_resource_module_impl.h>

emKillerParamAccesser g_emBulletBillParamAccesser;

emKillerParamAccesser::emKillerParamAccesser()
: emExtendParamAccesser(Enemy_BulletBill) { }

float emKillerParamAccesser::getParamFloat(soModuleAccesser* acc, s32 p2) {
UnkParamAccesser* ptr = dynamic_cast<emResourceModuleImpl&>(
acc->getResourceModule()).unk2C;
switch (p2) {
case 4000:
return ptr->unk2F4;
case 4001:
return ptr->unk2F8;
default:
return 0.0f;
}
}

s32 emKillerParamAccesser::getParamInt(soModuleAccesser* acc, s32 p2) {
UnkParamAccesser* ptr = dynamic_cast<emResourceModuleImpl&>(
acc->getResourceModule()).unk2C;
switch (p2) {
case 24000:
return ptr->unk2EC;
case 24001:
return ptr->unk2F0;
default:
return 0;
}
}

void* emKillerParamAccesser::getParamIndefinite(soModuleAccesser* acc, s32 p2) {
UnkParamAccesser* ptr = dynamic_cast<emResourceModuleImpl&>(
acc->getResourceModule()).unk2C;
switch (p2) {
case 44000:
return ptr;
case 44001:
return &ptr->unk240;
case 44002:
return &ptr->unk2AC;
default:
return nullptr;
}
}

emKillerParamAccesser::~emKillerParamAccesser() { }
3 changes: 2 additions & 1 deletion src/mo_enemy/sora_enemy/resource/em_resource_module_impl.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include <em/em_create.h>
#include <em/em_info.h>
#include <em/enemy.h>
#include <em/resource/em_resource_module_impl.h>
Expand Down Expand Up @@ -63,7 +64,7 @@ emResourceModuleImpl::emResourceModuleImpl(
unk20 = addr;
unk24 = ((void**)addr)[6];
unk30 = ((void**)addr)[7];
unk34 = ((void**)addr)[8];
unk34 = ((UnkParamAccesser**)addr)[8];

ModifyParam(create);
emInfo::getInstance()->getExParamModifyFuncPtr(m_kind)(this, create);
Expand Down