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
5 changes: 5 additions & 0 deletions config/RSBE01_02/rels/sora_melee/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ mo_melee/sora_melee/ft/ft_class_info.cpp:
.data start:0x00029210 end:0x000292A0
.bss start:0x00003040 end:0x00003138

mo_melee/sora_melee/ft/ft_extend_param_accesser.cpp:
.text start:0x00149C70 end:0x00149E1C
.data start:0x0002BC00 end:0x0002BCA0
.bss start:0x00004568 end:0x00004648

mo_melee/mo_melee.cpp:
.text start:0x003CBCBC end:0x003CBE40
.ctors start:0x00000514 end:0x00000518
Expand Down
18 changes: 9 additions & 9 deletions config/RSBE01_02/rels/sora_melee/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12432,11 +12432,11 @@ fn_27_149B70 = .text:0x00149B70; // type:function size:0xC
fn_27_149B7C = .text:0x00149B7C; // type:function size:0x1C
fn_27_149B98 = .text:0x00149B98; // type:function size:0x40
fn_27_149BD8 = .text:0x00149BD8; // type:function size:0x98
fn_27_149C70 = .text:0x00149C70; // type:function size:0x9C
fn_27_149D0C = .text:0x00149D0C; // type:function size:0x58
fn_27_149D64 = .text:0x00149D64; // type:function size:0x14
fn_27_149D78 = .text:0x00149D78; // type:function size:0x9C
fn_27_149E14 = .text:0x00149E14; // type:function size:0x8
__ct__21ftExtendParamAccesserFQ28Fighters13ftFighterKind = .text:0x00149C70; // type:function size:0x9C
__dt__21ftExtendParamAccesserFv = .text:0x00149D0C; // type:function size:0x58
getAccesser__21ftExtendParamAccesserFQ28Fighters13ftFighterKind = .text:0x00149D64; // type:function size:0x14
isExistAccesser__21ftExtendParamAccesserFQ28Fighters13ftFighterKind = .text:0x00149D78; // type:function size:0x9C
getParamIndefinite__21ftExtendParamAccesserFP16soModuleAccesserl = .text:0x00149E14; // type:function size:0x8
fn_27_149E1C = .text:0x00149E1C; // type:function size:0x40
fn_27_149E5C = .text:0x00149E5C; // type:function size:0x34
fn_27_149E90 = .text:0x00149E90; // type:function size:0xA28
Expand Down Expand Up @@ -32180,10 +32180,10 @@ lbl_27_data_2BBF0 = .data:0x0002BBF0; // type:object size:0x8
lbl_27_data_2BBF8 = .data:0x0002BBF8; // type:object size:0x8
lbl_27_data_2BC00 = .data:0x0002BC00; // type:object size:0x1B data:string
lbl_27_data_2BC20 = .data:0x0002BC20; // type:object size:0x20 data:string
lbl_27_data_2BC40 = .data:0x0002BC40; // type:object size:0x28
__vt__21ftExtendParamAccesser = .data:0x0002BC40; // type:object size:0x28
lbl_27_data_2BC68 = .data:0x0002BC68; // type:object size:0x16 data:string
lbl_27_data_2BC80 = .data:0x0002BC80; // type:object size:0x18
lbl_27_data_2BC98 = .data:0x0002BC98; // type:object size:0x8
__RTTI__21ftExtendParamAccesser = .data:0x0002BC98; // type:object size:0x8
jumptable_27_data_2BCA0 = .data:0x0002BCA0; // type:object size:0x94 scope:local
jumptable_27_data_2BD34 = .data:0x0002BD34; // type:object size:0x78 scope:local
jumptable_27_data_2BDAC = .data:0x0002BDAC; // type:object size:0x1C scope:local
Expand Down Expand Up @@ -39168,8 +39168,8 @@ lbl_27_bss_320C = .bss:0x0000320C; // type:object size:0x4
lbl_27_bss_3210 = .bss:0x00003210; // type:object size:0x298 data:4byte
lbl_27_bss_34A8 = .bss:0x000034A8; // type:object size:0x1088 data:4byte
lbl_27_bss_4530 = .bss:0x00004530; // type:object size:0x38
lbl_27_bss_4568 = .bss:0x00004568; // type:object size:0x1 data:byte
lbl_27_bss_456C = .bss:0x0000456C; // type:object size:0xDC
g_ftExtendParamAccesserTableInit = .bss:0x00004568; // type:object size:0x1 scope:local data:byte
g_ftExtendParamAccesserTable = .bss:0x0000456C; // type:object size:0xDC scope:local
lbl_27_bss_4648 = .bss:0x00004648; // type:object size:0x10
lbl_27_bss_4658 = .bss:0x00004658; // type:object size:0x8 data:4byte
lbl_27_bss_4660 = .bss:0x00004660; // type:object size:0xC data:4byte
Expand Down
1 change: 1 addition & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -814,6 +814,7 @@ def MatchingFor(*versions):
Object(Matching, "mo_melee/sora_melee/so/so_photo_call_back.cpp"),
Object(Matching, "mo_melee/sora_melee/so/so_common_data_accesser.cpp"),
Object(Matching, "mo_melee/sora_melee/ft/ft_class_info.cpp"),
Object(Matching, "mo_melee/sora_melee/ft/ft_extend_param_accesser.cpp"),
Object(Matching, "mo_melee/mo_melee.cpp"),
],
},
Expand Down
6 changes: 2 additions & 4 deletions src/mo_melee/sora_melee/ft/ft_class_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,14 @@
#include <so/so_null.h>
#include <types.h>

static const u32 FtClassInfoTableSize = 55;

static ftClassInfo* g_ftClassInfoTable[FtClassInfoTableSize];
static ftClassInfo* g_ftClassInfoTable[Fighters::Count];
static bool g_ftClassInfoTableInit;
ftClassInfoNull g_ftClassInfoNull;

ftClassInfo::ftClassInfo(bool isNull) : soNullable(isNull) {
if (!g_ftClassInfoTableInit) {
g_ftClassInfoTableInit = true;
for (u32 i = 0; i < FtClassInfoTableSize; i++)
for (u32 i = 0; i < Fighters::Count; i++)
g_ftClassInfoTable[i] = &g_ftClassInfoNull;
}
}
Expand Down
33 changes: 33 additions & 0 deletions src/mo_melee/sora_melee/ft/ft_extend_param_accesser.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include <cstring>
#include <ft/ft_extend_param_accesser.h>
#include <gm/gm_lib.h>
#include <revolution/OS/OSError.h>
#include <types.h>

static bool g_ftExtendParamAccesserTableInit;
static ftExtendParamAccesser* g_ftExtendParamAccesserTable[Fighters::Count];

ftExtendParamAccesser::ftExtendParamAccesser(Fighters::ftFighterKind kind) {
if (!g_ftExtendParamAccesserTableInit) {
std::memset(g_ftExtendParamAccesserTable, 0, sizeof(g_ftExtendParamAccesserTable));
g_ftExtendParamAccesserTableInit = true;
}
g_ftExtendParamAccesserTable[kind] = this;
m_kind = kind;
}

ftExtendParamAccesser::~ftExtendParamAccesser() {
g_ftExtendParamAccesserTable[m_kind] = 0;
}

ftExtendParamAccesser* ftExtendParamAccesser::getAccesser(Fighters::ftFighterKind kind) {
return g_ftExtendParamAccesserTable[kind];
}

bool ftExtendParamAccesser::isExistAccesser(Fighters::ftFighterKind kind) {
if (!g_ftExtendParamAccesserTable[kind])
OSReport("_Accessers[ %d ] == NULL \n", kind);
if (!g_ftExtendParamAccesserTableInit)
OSReport("_InitializeAccessers == false \n");
return (g_ftExtendParamAccesserTable[kind] && g_ftExtendParamAccesserTableInit);
}
Loading