Skip to content

Commit aac8938

Browse files
authored
Match ft_class_info.cpp (#106)
1 parent 9368225 commit aac8938

5 files changed

Lines changed: 58 additions & 16 deletions

File tree

config/RSBE01_02/rels/sora_melee/splits.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ mo_melee/sora_melee/so/so_common_data_accesser.cpp:
7070
.ctors start:0x0000004C end:0x00000050
7171
.bss start:0x00002CD0 end:0x00002E58
7272

73+
mo_melee/sora_melee/ft/ft_class_info.cpp:
74+
.text start:0x001254D4 end:0x001257EC
75+
.ctors start:0x0000005C end:0x00000060
76+
.data start:0x00029210 end:0x000292A0
77+
.bss start:0x00003040 end:0x00003138
78+
7379
mo_melee/mo_melee.cpp:
7480
.text start:0x003CBCBC end:0x003CBE40
7581
.ctors start:0x00000514 end:0x00000518

config/RSBE01_02/rels/sora_melee/symbols.txt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11924,13 +11924,13 @@ fn_27_1254B4 = .text:0x001254B4; // type:function size:0x8
1192411924
fn_27_1254BC = .text:0x001254BC; // type:function size:0x8
1192511925
fn_27_1254C4 = .text:0x001254C4; // type:function size:0x8
1192611926
fn_27_1254CC = .text:0x001254CC; // type:function size:0x8
11927-
fn_27_1254D4 = .text:0x001254D4; // type:function size:0x11C
11928-
fn_27_1255F0 = .text:0x001255F0; // type:function size:0x40
11929-
fn_27_125630 = .text:0x00125630; // type:function size:0x14
11930-
fn_27_125644 = .text:0x00125644; // type:function size:0x14
11931-
fn_27_125658 = .text:0x00125658; // type:function size:0x8
11932-
fn_27_125660 = .text:0x00125660; // type:function size:0x40
11933-
fn_27_1256A0 = .text:0x001256A0; // type:function size:0x14C
11927+
__ct__11ftClassInfoFb = .text:0x001254D4; // type:function size:0x11C
11928+
__dt__11ftClassInfoFv = .text:0x001255F0; // type:function size:0x40
11929+
getClassInfo__11ftClassInfoFQ28Fighters13ftFighterKind = .text:0x00125630; // type:function size:0x14
11930+
setClassInfo__11ftClassInfoFQ28Fighters13ftFighterKindP11ftClassInfo = .text:0x00125644; // type:function size:0x14
11931+
create__15ftClassInfoNullCFv = .text:0x00125658; // type:function size:0x8
11932+
__dt__15ftClassInfoNullFv = .text:0x00125660; // type:function size:0x40
11933+
__sinit_\ft_class_info_cpp = .text:0x001256A0; // type:function size:0x14C scope:local
1193411934
fn_27_1257EC = .text:0x001257EC; // type:function size:0x578
1193511935
fn_27_125D64 = .text:0x00125D64; // type:function size:0xBC
1193611936
fn_27_125E20 = .text:0x00125E20; // type:function size:0x64C
@@ -31969,14 +31969,14 @@ lbl_27_data_291C0 = .data:0x000291C0; // type:object size:0x8
3196931969
lbl_27_data_291C8 = .data:0x000291C8; // type:object size:0x2E data:string
3197031970
lbl_27_data_291F8 = .data:0x000291F8; // type:object size:0x10
3197131971
lbl_27_data_29208 = .data:0x00029208; // type:object size:0x8
31972-
lbl_27_data_29210 = .data:0x00029210; // type:object size:0x20
31972+
__vt__15ftClassInfoNull = .data:0x00029210; // type:object size:0x1C
3197331973
lbl_27_data_29230 = .data:0x00029230; // type:object size:0x10 data:string
31974-
lbl_27_data_29240 = .data:0x00029240; // type:object size:0x18
31975-
lbl_27_data_29258 = .data:0x00029258; // type:object size:0x8
31976-
lbl_27_data_29260 = .data:0x00029260; // type:object size:0x1C
31974+
lbl_27_data_29240 = .data:0x00029240; // type:object size:0x14
31975+
__RTTI__15ftClassInfoNull = .data:0x00029258; // type:object size:0x8
31976+
__vt__11ftClassInfo = .data:0x00029260; // type:object size:0x1C
3197731977
lbl_27_data_2927C = .data:0x0002927C; // type:object size:0xC data:string
31978-
lbl_27_data_29288 = .data:0x00029288; // type:object size:0x10
31979-
lbl_27_data_29298 = .data:0x00029298; // type:object size:0x8
31978+
lbl_27_data_29288 = .data:0x00029288; // type:object size:0xC
31979+
__RTTI__11ftClassInfo = .data:0x00029298; // type:object size:0x8
3198031980
lbl_27_data_292A0 = .data:0x000292A0; // type:object size:0x14 data:byte
3198131981
lbl_27_data_292B4 = .data:0x000292B4; // type:object size:0x7 data:string
3198231982
jumptable_27_data_292BC = .data:0x000292BC; // type:object size:0x9C scope:local
@@ -39140,8 +39140,9 @@ g_ftSlotManager = .bss:0x00002E90; // type:object size:0x8 data:4byte
3914039140
lbl_27_bss_2E98 = .bss:0x00002E98; // type:object size:0x10
3914139141
lbl_27_bss_2EA8 = .bss:0x00002EA8; // type:object size:0xC
3914239142
g_ftInstanceManager = .bss:0x00002EB4; // type:object size:0x18C data:4byte
39143-
lbl_27_bss_3040 = .bss:0x00003040; // type:object size:0xEC data:4byte
39144-
lbl_27_bss_312C = .bss:0x0000312C; // type:object size:0xC data:4byte
39143+
g_ftClassInfoTable = .bss:0x00003040; // type:object size:0xDC scope:local data:4byte
39144+
g_ftClassInfoTableInit = .bss:0x0000311C; // type:object size:0x1 scope:local
39145+
g_ftClassInfoNull = .bss:0x0000312C; // type:object size:0xC data:4byte
3914539146
lbl_27_bss_3138 = .bss:0x00003138; // type:object size:0x8 data:4byte
3914639147
lbl_27_bss_3140 = .bss:0x00003140; // type:object size:0x8 data:4byte
3914739148
lbl_27_bss_3148 = .bss:0x00003148; // type:object size:0x8 data:4byte

configure.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,7 @@ def MatchingFor(*versions):
813813
Object(Matching, "mo_melee/sora_melee/so/anim/so_anim_cmd_interpreter_effect.cpp"),
814814
Object(Matching, "mo_melee/sora_melee/so/so_photo_call_back.cpp"),
815815
Object(Matching, "mo_melee/sora_melee/so/so_common_data_accesser.cpp"),
816+
Object(Matching, "mo_melee/sora_melee/ft/ft_class_info.cpp"),
816817
Object(Matching, "mo_melee/mo_melee.cpp"),
817818
],
818819
},
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#include <ft/ft_class_info.h>
2+
#include <gm/gm_lib.h>
3+
#include <so/so_null.h>
4+
#include <types.h>
5+
6+
static const u32 FtClassInfoTableSize = 55;
7+
8+
static ftClassInfo* g_ftClassInfoTable[FtClassInfoTableSize];
9+
static bool g_ftClassInfoTableInit;
10+
ftClassInfoNull g_ftClassInfoNull;
11+
12+
ftClassInfo::ftClassInfo(bool isNull) : soNullable(isNull) {
13+
if (!g_ftClassInfoTableInit) {
14+
g_ftClassInfoTableInit = true;
15+
for (u32 i = 0; i < FtClassInfoTableSize; i++)
16+
g_ftClassInfoTable[i] = &g_ftClassInfoNull;
17+
}
18+
}
19+
20+
ftClassInfo::~ftClassInfo() { }
21+
22+
ftClassInfo* ftClassInfo::getClassInfo(Fighters::ftFighterKind kind) {
23+
return g_ftClassInfoTable[kind];
24+
}
25+
26+
void ftClassInfo::setClassInfo(Fighters::ftFighterKind kind, ftClassInfo* info) {
27+
g_ftClassInfoTable[kind] = info;
28+
}
29+
30+
ftClassInfo* ftClassInfoNull::create() const {
31+
return nullptr;
32+
}
33+
34+
ftClassInfoNull::~ftClassInfoNull() { }

0 commit comments

Comments
 (0)