diff --git a/config/eu/symbols.txt b/config/eu/symbols.txt index 5f84fbfb..3fa4277b 100644 --- a/config/eu/symbols.txt +++ b/config/eu/symbols.txt @@ -41111,13 +41111,13 @@ lbl_8055EE80 = .data:0x8055B7A0; // type:object size:0x14 scope:local align:8 da lbl_8055EEB8 = .data:0x8055B7D8; // type:object size:0x14 scope:local align:4 data:string lbl_8055EECC = .data:0x8055B7EC; // type:object size:0x10 scope:local align:4 data:string lbl_8055EEDC = .data:0x8055B7FC; // type:object size:0x1C scope:local align:4 data:string -lbl_8055EEF8 = .data:0x8055B818; // type:object size:0x48 scope:local align:4 data:string -lbl_8055EF40 = .data:0x8055B860; // type:object size:0xC scope:local align:8 data:string -lbl_8055EF4C = .data:0x8055B86C; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF58 = .data:0x8055B878; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF64 = .data:0x8055B884; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF70 = .data:0x8055B890; // type:object size:0xC scope:local align:8 data:string -lbl_8055EF7C = .data:0x8055B89C; // type:object size:0xC scope:local align:4 data:string +@723 = .data:0x8055B818; // type:object size:0x45 scope:local align:4 data:string +@731 = .data:0x8055B860; // type:object size:0x9 scope:local align:8 data:string +@740 = .data:0x8055B86C; // type:object size:0x9 scope:local align:4 data:string +@744 = .data:0x8055B878; // type:object size:0x9 scope:local align:4 data:string +@745 = .data:0x8055B884; // type:object size:0x9 scope:local align:4 data:string +@746 = .data:0x8055B890; // type:object size:0x9 scope:local align:8 data:string +@747 = .data:0x8055B89C; // type:object size:0x9 scope:local align:4 data:string NameAndIDTbl = .data:0x8055B8A8; // type:object size:0x128 scope:global align:8 data:4byte jumptable_8055F0B0 = .data:0x8055B9D0; // type:object size:0x28 scope:global align:8 ProductAreaAndStringTbl = .data:0x8055B9F8; // type:object size:0x46 scope:global align:4 data:byte @@ -43585,39 +43585,39 @@ lbl_80665BB0 = .sdata:0x80663280; // type:object size:0x8 scope:local align:8 da AnalogMode = .sdata:0x80663288; // type:object size:0x4 scope:global align:4 data:4byte Spec = .sdata:0x8066328C; // type:object size:0x4 scope:global align:4 data:4byte __SCVersion = .sdata:0x80663290; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80665BC4 = .sdata:0x80663294; // type:object size:0x8 scope:local align:4 data:string -lbl_80665BCC = .sdata:0x8066329C; // type:object size:0xC scope:local align:4 data:string -lbl_80665BD8 = .sdata:0x806632A8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BE0 = .sdata:0x806632B0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BE8 = .sdata:0x806632B8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BF0 = .sdata:0x806632C0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BF8 = .sdata:0x806632C8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C00 = .sdata:0x806632D0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C08 = .sdata:0x806632D8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C10 = .sdata:0x806632E0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C18 = .sdata:0x806632E8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C20 = .sdata:0x806632F0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C28 = .sdata:0x806632F8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C30 = .sdata:0x80663300; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C38 = .sdata:0x80663308; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C40 = .sdata:0x80663310; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C48 = .sdata:0x80663318; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C50 = .sdata:0x80663320; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C58 = .sdata:0x80663328; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C60 = .sdata:0x80663330; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C68 = .sdata:0x80663338; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C70 = .sdata:0x80663340; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C78 = .sdata:0x80663348; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C80 = .sdata:0x80663350; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C88 = .sdata:0x80663358; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C90 = .sdata:0x80663360; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C98 = .sdata:0x80663368; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CA0 = .sdata:0x80663370; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CA8 = .sdata:0x80663378; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CB0 = .sdata:0x80663380; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CB8 = .sdata:0x80663388; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CC0 = .sdata:0x80663390; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CC8 = .sdata:0x80663398; // type:object size:0x5 scope:local align:8 data:string +@724 = .sdata:0x80663294; // type:object size:0x7 scope:local align:4 data:string +@725 = .sdata:0x8066329C; // type:object size:0x7 scope:local align:4 data:string +@726 = .sdata:0x806632A8; // type:object size:0x8 scope:local align:8 data:string +@727 = .sdata:0x806632B0; // type:object size:0x7 scope:local align:8 data:string +@728 = .sdata:0x806632B8; // type:object size:0x8 scope:local align:8 data:string +@729 = .sdata:0x806632C0; // type:object size:0x7 scope:local align:8 data:string +@730 = .sdata:0x806632C8; // type:object size:0x8 scope:local align:8 data:string +@732 = .sdata:0x806632D0; // type:object size:0x8 scope:local align:8 data:string +@733 = .sdata:0x806632D8; // type:object size:0x8 scope:local align:8 data:string +@734 = .sdata:0x806632E0; // type:object size:0x8 scope:local align:8 data:string +@735 = .sdata:0x806632E8; // type:object size:0x8 scope:local align:8 data:string +@736 = .sdata:0x806632F0; // type:object size:0x8 scope:local align:8 data:string +@737 = .sdata:0x806632F8; // type:object size:0x7 scope:local align:8 data:string +@738 = .sdata:0x80663300; // type:object size:0x8 scope:local align:8 data:string +@739 = .sdata:0x80663308; // type:object size:0x8 scope:local align:8 data:string +@741 = .sdata:0x80663310; // type:object size:0x8 scope:local align:8 data:string +@742 = .sdata:0x80663318; // type:object size:0x8 scope:local align:8 data:string +@743 = .sdata:0x80663320; // type:object size:0x8 scope:local align:8 data:string +@748 = .sdata:0x80663328; // type:object size:0x8 scope:local align:8 data:string +@749 = .sdata:0x80663330; // type:object size:0x8 scope:local align:8 data:string +@750 = .sdata:0x80663338; // type:object size:0x8 scope:local align:8 data:string +@751 = .sdata:0x80663340; // type:object size:0x8 scope:local align:8 data:string +@752 = .sdata:0x80663348; // type:object size:0x8 scope:local align:8 data:string +@753 = .sdata:0x80663350; // type:object size:0x8 scope:local align:8 data:string +@754 = .sdata:0x80663358; // type:object size:0x8 scope:local align:8 data:string +@755 = .sdata:0x80663360; // type:object size:0x8 scope:local align:8 data:string +@756 = .sdata:0x80663368; // type:object size:0x7 scope:local align:8 data:string +@757 = .sdata:0x80663370; // type:object size:0x7 scope:local align:8 data:string +@758 = .sdata:0x80663378; // type:object size:0x8 scope:local align:8 data:string +@759 = .sdata:0x80663380; // type:object size:0x8 scope:local align:8 data:string +@760 = .sdata:0x80663388; // type:object size:0x8 scope:local align:8 data:string +@2137 = .sdata:0x80663390; // type:object size:0x5 scope:local align:8 data:string +@2138 = .sdata:0x80663398; // type:object size:0x5 scope:local align:8 data:string @846 = .sdata:0x806633A0; // type:object size:0x5 scope:local align:4 data:string @863 = .sdata:0x806633A8; // type:object size:0x5 scope:local align:4 data:string __SIVersion = .sdata:0x806633B0; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/jp/symbols.txt b/config/jp/symbols.txt index 448c34b3..665d3aad 100644 --- a/config/jp/symbols.txt +++ b/config/jp/symbols.txt @@ -18608,8 +18608,8 @@ func_800987F8 = .text:0x800987F8; // type:function size:0x8 scope:global align:4 func_80098800 = .text:0x80098800; // type:function size:0x8 scope:global align:4 func_80098808 = .text:0x80098808; // type:function size:0x8 scope:global align:4 func_80098810 = .text:0x80098810; // type:function size:0x1E4 scope:global align:4 -func_800989F4 = .text:0x800989F4; // type:function size:0x8 scope:global align:4 -func_800989FC = .text:0x800989FC; // type:function size:0x8 scope:global align:4 +vtableFunc3__Q22cf12CAttackParamFv = .text:0x800989F4; // type:function size:0x8 scope:global align:4 +vtableFunc2__Q22cf12CAttackParamFv = .text:0x800989FC; // type:function size:0x8 scope:global align:4 func_80098A04 = .text:0x80098A04; // type:function size:0xEC scope:global align:4 func_80098AF0 = .text:0x80098AF0; // type:function size:0x74 scope:global align:4 func_80098B64 = .text:0x80098B64; // type:function size:0x8 scope:global align:4 @@ -18980,7 +18980,7 @@ func_800AD858__Q22cf11CfObjectEffFv = .text:0x800AD858; // type:function size:0x func_800AD860__FPv = .text:0x800AD860; // type:function size:0x28 scope:global align:4 __ct__cf_CfObjectEne = .text:0x800AD888; // type:function size:0xA0 scope:global align:4 __dt__Q22cf13CfObjectActorFv = .text:0x800AD928; // type:function size:0x80 scope:global align:4 -__dt__800AD9A8 = .text:0x800AD9A8; // type:function size:0x60 scope:global align:4 +__dt__Q22cf9CAIActionFv = .text:0x800AD9A8; // type:function size:0x60 scope:global align:4 __dt__800ADA08 = .text:0x800ADA08; // type:function size:0x4C scope:global align:4 __dt__Q22cf11CfObjectEneFv = .text:0x800ADA54; // type:function size:0xD8 scope:global align:4 func_800ADB2C__Q22cf11CfObjectEneFv = .text:0x800ADB2C; // type:function size:0xA8 scope:global align:4 @@ -19776,7 +19776,7 @@ __ct__800D10DC = .text:0x800D10DC; // type:function size:0xD4 scope:global align func_800D11B0 = .text:0x800D11B0; // type:function size:0xB4C scope:global align:4 func_800D1CFC = .text:0x800D1CFC; // type:function size:0x210 scope:global align:4 func_800D1F0C = .text:0x800D1F0C; // type:function size:0xAD8 scope:global align:4 -func_800D29E4 = .text:0x800D29E4; // type:function size:0x78 scope:global align:4 +vtableFunc4__Q22cf12CAttackParamFv = .text:0x800D29E4; // type:function size:0x78 scope:global align:4 func_800D2A5C = .text:0x800D2A5C; // type:function size:0x308 scope:global align:4 func_800D2D64 = .text:0x800D2D64; // type:function size:0x770 scope:global align:4 func_800D34D4 = .text:0x800D34D4; // type:function size:0x4C4 scope:global align:4 @@ -20815,7 +20815,7 @@ func_80145A90 = .text:0x80145A90; // type:function size:0x8 scope:global align:4 func_80145A98 = .text:0x80145A98; // type:function size:0x8 scope:global align:4 func_80145AA0 = .text:0x80145AA0; // type:function size:0x8 scope:global align:4 func_80145AA8 = .text:0x80145AA8; // type:function size:0x74 scope:global align:4 -__ct__cf_CBattleState = .text:0x80145B1C; // type:function size:0xA8 scope:global align:4 +__ct__Q22cf12CBattleStateFv = .text:0x80145B1C; // type:function size:0xA8 scope:global align:4 func_80145BC4 = .text:0x80145BC4; // type:function size:0x3C scope:global align:4 func_80145C00 = .text:0x80145C00; // type:function size:0x1BC scope:global align:4 func_80145DBC = .text:0x80145DBC; // type:function size:0x1BC scope:global align:4 @@ -20898,14 +20898,14 @@ func_801522C4 = .text:0x801522C4; // type:function size:0x151C scope:global alig func_801537E0 = .text:0x801537E0; // type:function size:0x10 scope:global align:4 func_801537F0 = .text:0x801537F0; // type:function size:0x17C scope:global align:4 func_8015396C = .text:0x8015396C; // type:function size:0x280 scope:global align:4 -__ct__cf__sArtsSet = .text:0x80153BEC; // type:function size:0x44 scope:global align:4 -func_80153C30 = .text:0x80153C30; // type:function size:0x18 scope:global align:4 +__ct__Q22cf9_sArtsSetFv = .text:0x80153BEC; // type:function size:0x44 scope:global align:4 +vtableFunc1__Q22cf9_sArtsSetFv = .text:0x80153C30; // type:function size:0x18 scope:global align:4 func_80153C48 = .text:0x80153C48; // type:function size:0x18 scope:global align:4 func_80153C60 = .text:0x80153C60; // type:function size:0x18 scope:global align:4 func_80153C78 = .text:0x80153C78; // type:function size:0x34 scope:global align:4 func_80153CAC = .text:0x80153CAC; // type:function size:0x34 scope:global align:4 func_80153CE0 = .text:0x80153CE0; // type:function size:0x1C scope:global align:4 -func_80153CFC = .text:0x80153CFC; // type:function size:0x9C scope:global align:4 +vtableFunc1__Q22cf8CArtsSetFv = .text:0x80153CFC; // type:function size:0x9C scope:global align:4 func_80153D98 = .text:0x80153D98; // type:function size:0x18 scope:global align:4 func_80153DB0 = .text:0x80153DB0; // type:function size:0x1C scope:global align:4 func_80153DCC = .text:0x80153DCC; // type:function size:0x70 scope:global align:4 @@ -20913,8 +20913,8 @@ func_80153E3C = .text:0x80153E3C; // type:function size:0x18 scope:global align: func_80153E54 = .text:0x80153E54; // type:function size:0x34 scope:global align:4 func_80153E88 = .text:0x80153E88; // type:function size:0x68 scope:global align:4 func_80153EF0 = .text:0x80153EF0; // type:function size:0x10 scope:global align:4 -__ct__CAttackParam = .text:0x80153F00; // type:function size:0x54 scope:global align:4 -func_80153F54 = .text:0x80153F54; // type:function size:0xE8 scope:global align:4 +__ct__Q22cf12CAttackParamFv = .text:0x80153F00; // type:function size:0x54 scope:global align:4 +vtableFunc1__Q22cf12CAttackParamFv = .text:0x80153F54; // type:function size:0xE8 scope:global align:4 func_8015403C = .text:0x8015403C; // type:function size:0x1C scope:global align:4 func_80154058 = .text:0x80154058; // type:function size:0x34 scope:global align:4 func_8015408C = .text:0x8015408C; // type:function size:0x34 scope:global align:4 @@ -20926,11 +20926,11 @@ func_801541B0 = .text:0x801541B0; // type:function size:0xD0 scope:global align: func_80154280 = .text:0x80154280; // type:function size:0x1254 scope:global align:4 CActorParam_vtableFunc3__Q22cf11CActorParamFv = .text:0x801554D4; // type:function size:0x8 scope:global align:4 func_801554DC = .text:0x801554DC; // type:function size:0x30 scope:global align:4 -__ct__8015550C = .text:0x8015550C; // type:function size:0x74 scope:global align:4 -func_80155580 = .text:0x80155580; // type:function size:0x34 scope:global align:4 -func_801555B4 = .text:0x801555B4; // type:function size:0x14 scope:global align:4 -func_801555C8 = .text:0x801555C8; // type:function size:0x1C scope:global align:4 -sinit_801555E4 = .text:0x801555E4; // type:function size:0x7C scope:global align:4 +__ct__Q22cf10CArtsParamFv = .text:0x8015550C; // type:function size:0x74 scope:global align:4 +vtableFunc1__Q22cf10CArtsParamFv = .text:0x80155580; // type:function size:0x34 scope:global align:4 +vtableFunc3__Q22cf10CArtsParamFUc = .text:0x801555B4; // type:function size:0x14 scope:global align:4 +vtableFunc2__Q22cf10CArtsParamFv = .text:0x801555C8; // type:function size:0x1C scope:global align:4 +__sinit_\CArtsParam_cpp = .text:0x801555E4; // type:function size:0x7C scope:global align:4 func_80155660 = .text:0x80155660; // type:function size:0x1F4 scope:global align:4 func_80155854 = .text:0x80155854; // type:function size:0x60 scope:global align:4 func_801558B4 = .text:0x801558B4; // type:function size:0x14C scope:global align:4 @@ -21474,7 +21474,7 @@ func_80174B4C = .text:0x80174B4C; // type:function size:0xD8 scope:global align: func_80174C24 = .text:0x80174C24; // type:function size:0x74 scope:global align:4 func_80174C98 = .text:0x80174C98; // type:function size:0x544 scope:global align:4 func_801751DC = .text:0x801751DC; // type:function size:0x88 scope:global align:4 -__ct__Q22cf11CActorParamFv = .text:0x80175264; // type:function size:0x7EC scope:global align:4 +__ct__Q22cf11CActorParamFPvPv = .text:0x80175264; // type:function size:0x7EC scope:global align:4 func_80175A50 = .text:0x80175A50; // type:function size:0xB40 scope:global align:4 CActorParam_vtableFunc1__Q22cf11CActorParamFv = .text:0x80176590; // type:function size:0x14 scope:global align:4 func_801765A4 = .text:0x801765A4; // type:function size:0x544 scope:global align:4 @@ -40917,15 +40917,15 @@ lbl_8055EE80 = .data:0x8055EE80; // type:object size:0x14 scope:local align:8 da lbl_8055EEB8 = .data:0x8055EEB8; // type:object size:0x14 scope:local align:4 data:string lbl_8055EECC = .data:0x8055EECC; // type:object size:0x10 scope:local align:4 data:string lbl_8055EEDC = .data:0x8055EEDC; // type:object size:0x1C scope:local align:4 data:string -lbl_8055EEF8 = .data:0x8055EEF8; // type:object size:0x48 scope:local align:4 data:string -lbl_8055EF40 = .data:0x8055EF40; // type:object size:0xC scope:local align:8 data:string -lbl_8055EF4C = .data:0x8055EF4C; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF58 = .data:0x8055EF58; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF64 = .data:0x8055EF64; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF70 = .data:0x8055EF70; // type:object size:0xC scope:local align:8 data:string -lbl_8055EF7C = .data:0x8055EF7C; // type:object size:0xC scope:local align:4 data:string +@723 = .data:0x8055EEF8; // type:object size:0x45 scope:local align:4 data:string +@731 = .data:0x8055EF40; // type:object size:0x9 scope:local align:8 data:string +@740 = .data:0x8055EF4C; // type:object size:0x9 scope:local align:4 data:string +@744 = .data:0x8055EF58; // type:object size:0x9 scope:local align:4 data:string +@745 = .data:0x8055EF64; // type:object size:0x9 scope:local align:4 data:string +@746 = .data:0x8055EF70; // type:object size:0x9 scope:local align:8 data:string +@747 = .data:0x8055EF7C; // type:object size:0x9 scope:local align:4 data:string NameAndIDTbl = .data:0x8055EF88; // type:object size:0x128 scope:global align:8 data:4byte -jumptable_8055F0B0 = .data:0x8055F0B0; // type:object size:0x28 scope:global align:8 +@2480 = .data:0x8055F0B0; // type:object size:0x28 scope:local align:8 ProductAreaAndStringTbl = .data:0x8055F0D8; // type:object size:0x46 scope:global align:4 data:byte ProductGameRegionAndStringTbl = .data:0x8055F120; // type:object size:0x18 scope:global align:8 data:byte lbl_8055F138 = .data:0x8055F138; // type:object size:0x48 scope:local align:4 data:string @@ -43590,39 +43590,39 @@ lbl_80665BB0 = .sdata:0x80665BB0; // type:object size:0x8 scope:local align:8 da AnalogMode = .sdata:0x80665BB8; // type:object size:0x4 scope:global align:4 data:4byte Spec = .sdata:0x80665BBC; // type:object size:0x4 scope:global align:4 data:4byte __SCVersion = .sdata:0x80665BC0; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80665BC4 = .sdata:0x80665BC4; // type:object size:0x8 scope:local align:4 data:string -lbl_80665BCC = .sdata:0x80665BCC; // type:object size:0xC scope:local align:4 data:string -lbl_80665BD8 = .sdata:0x80665BD8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BE0 = .sdata:0x80665BE0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BE8 = .sdata:0x80665BE8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BF0 = .sdata:0x80665BF0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BF8 = .sdata:0x80665BF8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C00 = .sdata:0x80665C00; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C08 = .sdata:0x80665C08; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C10 = .sdata:0x80665C10; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C18 = .sdata:0x80665C18; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C20 = .sdata:0x80665C20; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C28 = .sdata:0x80665C28; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C30 = .sdata:0x80665C30; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C38 = .sdata:0x80665C38; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C40 = .sdata:0x80665C40; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C48 = .sdata:0x80665C48; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C50 = .sdata:0x80665C50; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C58 = .sdata:0x80665C58; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C60 = .sdata:0x80665C60; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C68 = .sdata:0x80665C68; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C70 = .sdata:0x80665C70; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C78 = .sdata:0x80665C78; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C80 = .sdata:0x80665C80; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C88 = .sdata:0x80665C88; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C90 = .sdata:0x80665C90; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C98 = .sdata:0x80665C98; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CA0 = .sdata:0x80665CA0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CA8 = .sdata:0x80665CA8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CB0 = .sdata:0x80665CB0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CB8 = .sdata:0x80665CB8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CC0 = .sdata:0x80665CC0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CC8 = .sdata:0x80665CC8; // type:object size:0x5 scope:local align:8 data:string +@724 = .sdata:0x80665BC4; // type:object size:0x7 scope:local align:4 data:string +@725 = .sdata:0x80665BCC; // type:object size:0x7 scope:local align:4 data:string +@726 = .sdata:0x80665BD8; // type:object size:0x8 scope:local align:8 data:string +@727 = .sdata:0x80665BE0; // type:object size:0x7 scope:local align:8 data:string +@728 = .sdata:0x80665BE8; // type:object size:0x8 scope:local align:8 data:string +@729 = .sdata:0x80665BF0; // type:object size:0x7 scope:local align:8 data:string +@730 = .sdata:0x80665BF8; // type:object size:0x8 scope:local align:8 data:string +@732 = .sdata:0x80665C00; // type:object size:0x8 scope:local align:8 data:string +@733 = .sdata:0x80665C08; // type:object size:0x8 scope:local align:8 data:string +@734 = .sdata:0x80665C10; // type:object size:0x8 scope:local align:8 data:string +@735 = .sdata:0x80665C18; // type:object size:0x8 scope:local align:8 data:string +@736 = .sdata:0x80665C20; // type:object size:0x8 scope:local align:8 data:string +@737 = .sdata:0x80665C28; // type:object size:0x7 scope:local align:8 data:string +@738 = .sdata:0x80665C30; // type:object size:0x8 scope:local align:8 data:string +@739 = .sdata:0x80665C38; // type:object size:0x8 scope:local align:8 data:string +@741 = .sdata:0x80665C40; // type:object size:0x8 scope:local align:8 data:string +@742 = .sdata:0x80665C48; // type:object size:0x8 scope:local align:8 data:string +@743 = .sdata:0x80665C50; // type:object size:0x8 scope:local align:8 data:string +@748 = .sdata:0x80665C58; // type:object size:0x8 scope:local align:8 data:string +@749 = .sdata:0x80665C60; // type:object size:0x8 scope:local align:8 data:string +@750 = .sdata:0x80665C68; // type:object size:0x8 scope:local align:8 data:string +@751 = .sdata:0x80665C70; // type:object size:0x8 scope:local align:8 data:string +@752 = .sdata:0x80665C78; // type:object size:0x8 scope:local align:8 data:string +@753 = .sdata:0x80665C80; // type:object size:0x8 scope:local align:8 data:string +@754 = .sdata:0x80665C88; // type:object size:0x8 scope:local align:8 data:string +@755 = .sdata:0x80665C90; // type:object size:0x8 scope:local align:8 data:string +@756 = .sdata:0x80665C98; // type:object size:0x7 scope:local align:8 data:string +@757 = .sdata:0x80665CA0; // type:object size:0x7 scope:local align:8 data:string +@758 = .sdata:0x80665CA8; // type:object size:0x8 scope:local align:8 data:string +@759 = .sdata:0x80665CB0; // type:object size:0x8 scope:local align:8 data:string +@760 = .sdata:0x80665CB8; // type:object size:0x8 scope:local align:8 data:string +@2137 = .sdata:0x80665CC0; // type:object size:0x5 scope:local align:8 data:string +@2138 = .sdata:0x80665CC8; // type:object size:0x5 scope:local align:8 data:string @846 = .sdata:0x80665CD0; // type:object size:0x5 scope:local align:4 data:string @863 = .sdata:0x80665CD8; // type:object size:0x5 scope:local align:4 data:string __SIVersion = .sdata:0x80665CE0; // type:object size:0x4 scope:global align:4 data:4byte @@ -48524,7 +48524,7 @@ float_8066C2B4 = .sdata2:0x8066C2B4; // type:object size:0x4 scope:local align:4 float_8066C2B8 = .sdata2:0x8066C2B8; // type:object size:0x4 scope:local align:4 data:float float_8066C2BC = .sdata2:0x8066C2BC; // type:object size:0x4 scope:local align:4 data:float float_8066C2C0 = .sdata2:0x8066C2C0; // type:object size:0x8 scope:local align:8 data:float -float_8066C2C8 = .sdata2:0x8066C2C8; // type:object size:0x8 scope:local align:8 data:float +@5854 = .sdata2:0x8066C2C8; // type:object size:0x4 scope:local align:8 data:float double_8066C2D0 = .sdata2:0x8066C2D0; // type:object size:0x8 scope:local align:8 data:double float_8066C2D8 = .sdata2:0x8066C2D8; // type:object size:0x4 scope:local align:4 data:float float_8066C2DC = .sdata2:0x8066C2DC; // type:object size:0x4 scope:local align:4 data:float @@ -48537,11 +48537,11 @@ double_8066C2F8 = .sdata2:0x8066C2F8; // type:object size:0x8 scope:local align: float_8066C300 = .sdata2:0x8066C300; // type:object size:0x4 scope:local align:4 data:float float_8066C304 = .sdata2:0x8066C304; // type:object size:0x4 scope:local align:4 data:float float_8066C308 = .sdata2:0x8066C308; // type:object size:0x8 scope:local align:8 data:float -float_8066C310 = .sdata2:0x8066C310; // type:object size:0x8 scope:local align:8 data:float +@5770 = .sdata2:0x8066C310; // type:object size:0x4 scope:local align:8 data:float double_8066C318 = .sdata2:0x8066C318; // type:object size:0x8 scope:local align:8 data:double -float_8066C320 = .sdata2:0x8066C320; // type:object size:0x8 scope:local align:8 data:float +@5976 = .sdata2:0x8066C320; // type:object size:0x4 scope:local align:8 data:float double_8066C328 = .sdata2:0x8066C328; // type:object size:0x8 scope:local align:8 data:double -float_8066C330 = .sdata2:0x8066C330; // type:object size:0x8 scope:local align:8 data:float +@5795 = .sdata2:0x8066C330; // type:object size:0x4 scope:local align:8 data:float double_8066C338 = .sdata2:0x8066C338; // type:object size:0x8 scope:local align:8 data:double det_epsilon__Q34nw4r3g3d6detail = .sdata2:0x8066C340; // type:object size:0x8 scope:global align:8 float_8066C348 = .sdata2:0x8066C348; // type:object size:0x4 scope:local align:4 data:float diff --git a/config/us/symbols.txt b/config/us/symbols.txt index 5f84fbfb..3fa4277b 100644 --- a/config/us/symbols.txt +++ b/config/us/symbols.txt @@ -41111,13 +41111,13 @@ lbl_8055EE80 = .data:0x8055B7A0; // type:object size:0x14 scope:local align:8 da lbl_8055EEB8 = .data:0x8055B7D8; // type:object size:0x14 scope:local align:4 data:string lbl_8055EECC = .data:0x8055B7EC; // type:object size:0x10 scope:local align:4 data:string lbl_8055EEDC = .data:0x8055B7FC; // type:object size:0x1C scope:local align:4 data:string -lbl_8055EEF8 = .data:0x8055B818; // type:object size:0x48 scope:local align:4 data:string -lbl_8055EF40 = .data:0x8055B860; // type:object size:0xC scope:local align:8 data:string -lbl_8055EF4C = .data:0x8055B86C; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF58 = .data:0x8055B878; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF64 = .data:0x8055B884; // type:object size:0xC scope:local align:4 data:string -lbl_8055EF70 = .data:0x8055B890; // type:object size:0xC scope:local align:8 data:string -lbl_8055EF7C = .data:0x8055B89C; // type:object size:0xC scope:local align:4 data:string +@723 = .data:0x8055B818; // type:object size:0x45 scope:local align:4 data:string +@731 = .data:0x8055B860; // type:object size:0x9 scope:local align:8 data:string +@740 = .data:0x8055B86C; // type:object size:0x9 scope:local align:4 data:string +@744 = .data:0x8055B878; // type:object size:0x9 scope:local align:4 data:string +@745 = .data:0x8055B884; // type:object size:0x9 scope:local align:4 data:string +@746 = .data:0x8055B890; // type:object size:0x9 scope:local align:8 data:string +@747 = .data:0x8055B89C; // type:object size:0x9 scope:local align:4 data:string NameAndIDTbl = .data:0x8055B8A8; // type:object size:0x128 scope:global align:8 data:4byte jumptable_8055F0B0 = .data:0x8055B9D0; // type:object size:0x28 scope:global align:8 ProductAreaAndStringTbl = .data:0x8055B9F8; // type:object size:0x46 scope:global align:4 data:byte @@ -43585,39 +43585,39 @@ lbl_80665BB0 = .sdata:0x80663280; // type:object size:0x8 scope:local align:8 da AnalogMode = .sdata:0x80663288; // type:object size:0x4 scope:global align:4 data:4byte Spec = .sdata:0x8066328C; // type:object size:0x4 scope:global align:4 data:4byte __SCVersion = .sdata:0x80663290; // type:object size:0x4 scope:global align:4 data:4byte -lbl_80665BC4 = .sdata:0x80663294; // type:object size:0x8 scope:local align:4 data:string -lbl_80665BCC = .sdata:0x8066329C; // type:object size:0xC scope:local align:4 data:string -lbl_80665BD8 = .sdata:0x806632A8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BE0 = .sdata:0x806632B0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BE8 = .sdata:0x806632B8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BF0 = .sdata:0x806632C0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665BF8 = .sdata:0x806632C8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C00 = .sdata:0x806632D0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C08 = .sdata:0x806632D8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C10 = .sdata:0x806632E0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C18 = .sdata:0x806632E8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C20 = .sdata:0x806632F0; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C28 = .sdata:0x806632F8; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C30 = .sdata:0x80663300; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C38 = .sdata:0x80663308; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C40 = .sdata:0x80663310; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C48 = .sdata:0x80663318; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C50 = .sdata:0x80663320; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C58 = .sdata:0x80663328; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C60 = .sdata:0x80663330; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C68 = .sdata:0x80663338; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C70 = .sdata:0x80663340; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C78 = .sdata:0x80663348; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C80 = .sdata:0x80663350; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C88 = .sdata:0x80663358; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C90 = .sdata:0x80663360; // type:object size:0x8 scope:local align:8 data:string -lbl_80665C98 = .sdata:0x80663368; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CA0 = .sdata:0x80663370; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CA8 = .sdata:0x80663378; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CB0 = .sdata:0x80663380; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CB8 = .sdata:0x80663388; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CC0 = .sdata:0x80663390; // type:object size:0x8 scope:local align:8 data:string -lbl_80665CC8 = .sdata:0x80663398; // type:object size:0x5 scope:local align:8 data:string +@724 = .sdata:0x80663294; // type:object size:0x7 scope:local align:4 data:string +@725 = .sdata:0x8066329C; // type:object size:0x7 scope:local align:4 data:string +@726 = .sdata:0x806632A8; // type:object size:0x8 scope:local align:8 data:string +@727 = .sdata:0x806632B0; // type:object size:0x7 scope:local align:8 data:string +@728 = .sdata:0x806632B8; // type:object size:0x8 scope:local align:8 data:string +@729 = .sdata:0x806632C0; // type:object size:0x7 scope:local align:8 data:string +@730 = .sdata:0x806632C8; // type:object size:0x8 scope:local align:8 data:string +@732 = .sdata:0x806632D0; // type:object size:0x8 scope:local align:8 data:string +@733 = .sdata:0x806632D8; // type:object size:0x8 scope:local align:8 data:string +@734 = .sdata:0x806632E0; // type:object size:0x8 scope:local align:8 data:string +@735 = .sdata:0x806632E8; // type:object size:0x8 scope:local align:8 data:string +@736 = .sdata:0x806632F0; // type:object size:0x8 scope:local align:8 data:string +@737 = .sdata:0x806632F8; // type:object size:0x7 scope:local align:8 data:string +@738 = .sdata:0x80663300; // type:object size:0x8 scope:local align:8 data:string +@739 = .sdata:0x80663308; // type:object size:0x8 scope:local align:8 data:string +@741 = .sdata:0x80663310; // type:object size:0x8 scope:local align:8 data:string +@742 = .sdata:0x80663318; // type:object size:0x8 scope:local align:8 data:string +@743 = .sdata:0x80663320; // type:object size:0x8 scope:local align:8 data:string +@748 = .sdata:0x80663328; // type:object size:0x8 scope:local align:8 data:string +@749 = .sdata:0x80663330; // type:object size:0x8 scope:local align:8 data:string +@750 = .sdata:0x80663338; // type:object size:0x8 scope:local align:8 data:string +@751 = .sdata:0x80663340; // type:object size:0x8 scope:local align:8 data:string +@752 = .sdata:0x80663348; // type:object size:0x8 scope:local align:8 data:string +@753 = .sdata:0x80663350; // type:object size:0x8 scope:local align:8 data:string +@754 = .sdata:0x80663358; // type:object size:0x8 scope:local align:8 data:string +@755 = .sdata:0x80663360; // type:object size:0x8 scope:local align:8 data:string +@756 = .sdata:0x80663368; // type:object size:0x7 scope:local align:8 data:string +@757 = .sdata:0x80663370; // type:object size:0x7 scope:local align:8 data:string +@758 = .sdata:0x80663378; // type:object size:0x8 scope:local align:8 data:string +@759 = .sdata:0x80663380; // type:object size:0x8 scope:local align:8 data:string +@760 = .sdata:0x80663388; // type:object size:0x8 scope:local align:8 data:string +@2137 = .sdata:0x80663390; // type:object size:0x5 scope:local align:8 data:string +@2138 = .sdata:0x80663398; // type:object size:0x5 scope:local align:8 data:string @846 = .sdata:0x806633A0; // type:object size:0x5 scope:local align:4 data:string @863 = .sdata:0x806633A8; // type:object size:0x5 scope:local align:4 data:string __SIVersion = .sdata:0x806633B0; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/src/kyoshin/appgame/cf/CArtsParam.cpp b/src/kyoshin/appgame/cf/CArtsParam.cpp new file mode 100644 index 00000000..4d0a3b87 --- /dev/null +++ b/src/kyoshin/appgame/cf/CArtsParam.cpp @@ -0,0 +1,34 @@ +#include "kyoshin/appgame/cf/CArtsSet.hpp" + +namespace cf { + CArtsParam lbl_80577580; + + CAttackParam::CAttackParam(){ + unk0 = 0; + unk20 = 0; + unk78 = 0; + vtableFunc1(); + } + + CArtsParam::CArtsParam(){ + vtableFunc1(); + } + + void CArtsParam::vtableFunc1(){ + CAttackParam::vtableFunc1(); + unk88 = 0; + } + + void CArtsParam::vtableFunc3(u8 r4){ + if(unk88 != nullptr){ + unk0 = r4; + } + } + + u8 CArtsParam::vtableFunc2(){ + if(unk88 != nullptr){ + return *(u8*)unk88; + } + return unk2A; + } +} diff --git a/src/kyoshin/appgame/cf/CArtsSet.cpp b/src/kyoshin/appgame/cf/CArtsSet.cpp new file mode 100644 index 00000000..7b04de01 --- /dev/null +++ b/src/kyoshin/appgame/cf/CArtsSet.cpp @@ -0,0 +1,15 @@ +#include "kyoshin/appgame/cf/CArtsSet.hpp" + +namespace cf { + _sArtsSet::_sArtsSet(){ + vtableFunc1(); + } + + void CArtsSet::vtableFunc1(){ + _sArtsSet::vtableFunc1(); + + for(int i = 0; i < 24; i++){ + artsParams[i].vtableFunc1(); + } + } +} diff --git a/src/kyoshin/appgame/cf/CArtsSet.hpp b/src/kyoshin/appgame/cf/CArtsSet.hpp new file mode 100644 index 00000000..01cfcca2 --- /dev/null +++ b/src/kyoshin/appgame/cf/CArtsSet.hpp @@ -0,0 +1,157 @@ +#pragma once + +#include "types.h" +#include + +namespace cf { + + //size: 0x88 + class CAttackParam { + public: + u8 unk0; + u8 unk4[0x20 - 0x4]; + u32 unk20; + u32 unk24; + u16 unk28; + u8 unk2A; + u8 unk2B; + float unk2C; + float unk30; + u16 unk34; + u16 unk36; + u8 unk38[4]; + u16 unk3C; + u8 unk3E; + u8 unk3F; //padding? + u16 unk40; + u8 unk42; + u8 unk43; + u8 unk44; + u16 unk46; + u16 unk48; + u16 unk4A; + u16 unk4C; + float unk50; + float unk54; + u16 unk58; + u16 unk5A; + u16 unk5C; + u16 unk5E; + float unk60; + u16 unk64; + u8 unk66; + u8 unk67; + u16 unk68; + u16 unk6A; + u8 unk6C[5]; + u8 unk71; //filler? + u16 unk72; + u16 unk74; + u8 unk76; //filler? + u8 unk77; + u32 unk78; + float unk7C; + float unk80; + //0x84: vtable + + CAttackParam(); + + virtual void vtableFunc1(){ //0x8 + unk0 = 0; + unk20 = 0; + unk24 = 0; + unk28 = 0; + unk2A = 1; + unk2B = 0; + unk2C = 0; + unk30 = 0; + unk34 = 0; + unk36 = 0; + unk3C = 0; + unk3E = 0; + unk40 = 0; + unk42 = 0; + unk43 = 0; + unk44 = 0; + unk46 = 0; + unk48 = 0; + unk4A = 0; + unk4C = 0; + unk50 = 0; + unk54 = 0; + unk58 = 0; + unk5A = 0; + unk5C = 0; + unk5E = 0; + unk60 = 0; + unk64 = 0; + unk66 = 0; + unk67 = 0; + unk68 = 0; + unk6A = 0; + unk72 = 0; + unk74 = 0; + unk77 = 0; + unk7C = 0; + unk80 = 0; + + std::memset(unk38, 0, sizeof(unk38)); + std::memset(unk6C, 0, sizeof(unk6C)); + } + virtual u8 vtableFunc2(); //0xC + virtual void vtableFunc3(u8 r4); //0x10 + virtual void vtableFunc4(); //0x14 + + }; + + struct _sAttackSet { + }; + + //size: 0x334 + class CAttackSet : _sAttackSet { + public: + CAttackSet(){} + virtual void func_80153E88(); + + //0x0: vtable + CAttackParam mAttackParams[6]; //0x4 + }; + + //size: 0x8C + class CArtsParam : public CAttackParam { + public: + //0x0: vtable + //0x0-0x88: CAttackParam + UNKTYPE* unk88; + + CArtsParam(); + virtual void vtableFunc1(); + virtual u8 vtableFunc2(); + virtual void vtableFunc3(u8 r4); + }; + + //size: 0x38 + struct _sArtsSet { + u16 unk0; + u8 unk2[2]; + u8 unk4[0x30]; + //0x34: vtable + + _sArtsSet(); + virtual void vtableFunc1(){ //0x8 + unk0 = 0; + std::memset(unk4, 0, sizeof(unk4)); + } + }; + + //size: 0xD58 + class CArtsSet : _sArtsSet { + public: + CArtsSet(){} + virtual void vtableFunc1(); //0x8 + + //0x0: vtable + //0x0-38: _sArtsSet + CArtsParam artsParams[24]; //0x38 + }; +}; diff --git a/src/kyoshin/appgame/cf/CBattleManager.cpp b/src/kyoshin/appgame/cf/CBattleManager.cpp index 8b3f0235..ab158de9 100644 --- a/src/kyoshin/appgame/cf/CBattleManager.cpp +++ b/src/kyoshin/appgame/cf/CBattleManager.cpp @@ -23,11 +23,12 @@ namespace cf{ 0x1B9 }; + //Plays attack sound effects when a player character hits an enemy? void func_800D7A04(CfObjectPc* pObjectPc, CfObjectEne* pObjectEne){ CActorParam_UnkStruct1* r3 = pObjectPc->CActorParam_vtableFunc129(); - u32 flags = r3->unk74; + u32 flags = r3->mFlagsArray[0].flags; - if(flags & 0x2){ + if(flags & CActorParam_UnkStruct1::FLAG_BIT_1){ CfSoundMan::func_801BFC38(0, 0x192, 0, 0, 0.6f); CfSoundMan::func_801BFC38(0, 0x191, 0, 0, 0.6f); }else if(flags & 0x2000){ @@ -36,24 +37,25 @@ namespace cf{ CActorParam_UnkStruct2* r30 = r3->unk50; if(r30 != nullptr){ - if(r30->unk78 & 0x1000000){ + if(r30->unk78 & CActorParam_UnkStruct1::FLAG_BIT_24){ if(pObjectEne->CActorParam_vtableFunc19() == 1 || pObjectEne->CActorParam_vtableFunc19() == 2){ - if(!(r30->unk78 & 0x200)){ + if(!(r30->unk78 & CActorParam_UnkStruct1::FLAG_BIT_9)){ CfSoundMan::func_801BFC38(0, 0x1B4, 0, 0, 0.6f); return; } - }else if(!(r30->unk78 & 0x200)){ + }else if(!(r30->unk78 & CActorParam_UnkStruct1::FLAG_BIT_9)){ CfSoundMan::func_801BFC38(0, 0x1B5, 0, 0, 0.6f); return; } - }else if((r30->unk78 & 0x2000000) && !(r30->unk78 & 0x200)){ + }else if((r30->unk78 & CActorParam_UnkStruct1::FLAG_BIT_25) + && !(r30->unk78 & CActorParam_UnkStruct1::FLAG_BIT_9)){ CfSoundMan::func_801BFC38(0, 0x1B5, 0, 0, 0.6f); return; } if((s32)r30->unk40 == 1){ - if(flags & 0x100){ + if(flags & CActorParam_UnkStruct1::FLAG_BIT_8){ CfSoundMan::func_801BFC38(0, 0x1AF, 0, 0, 0.6f); }else{ //likely an inline @@ -70,7 +72,7 @@ namespace cf{ } } }else if((s32)r30->unk40 == 2){ - if(flags & 0x100){ + if(flags & CActorParam_UnkStruct1::FLAG_BIT_8){ CfSoundMan::func_801BFC38(0, 0x1AC, 0, 0, 0.6f); }else{ //likely an inline @@ -140,7 +142,7 @@ namespace cf{ unk8C = 0; unk90 = 0; mVision.unk261C4.unk70 = 0; - std::memset(unk94.unk0, 0, sizeof(unk94.unk0)); + unk94.clear(); func_80085220(2, 0); } diff --git a/src/kyoshin/appgame/cf/CBattleManager.hpp b/src/kyoshin/appgame/cf/CBattleManager.hpp index fea74c29..c3ab841c 100644 --- a/src/kyoshin/appgame/cf/CBattleManager.hpp +++ b/src/kyoshin/appgame/cf/CBattleManager.hpp @@ -28,17 +28,23 @@ namespace cf{ }; struct CBattleManager_Struct1 { - u32 unk0[64]; - CBattleManager_Struct1(){ - u32* r31 = (u32*)((u32)unk0 + sizeof(unk0)); - u32* r30 = unk0; - do{ - std::memset(r30, 0, sizeof(u32) * 2); - r30 += 2; - } while(r30 < r31); std::memset(unk0, 0, sizeof(unk0)); } + + u8 unk0[8]; + }; + + struct CBattleManager_Struct2 { + CBattleManager_Struct2(){ + clear(); + } + + void clear(){ + std::memset(unk0, 0, sizeof(unk0)); + } + + CBattleManager_Struct1 unk0[32]; }; //size: 0x283D8 @@ -72,7 +78,7 @@ namespace cf{ float unk88; u32 unk8C; float unk90; - CBattleManager_Struct1 unk94; + CBattleManager_Struct2 unk94; UnkClass_8018C5FC unk194; //0x194 UnkClass_80192BF4 unk19C; //0x19C CChain mChain; //0x1A8 diff --git a/src/kyoshin/appgame/cf/object/CAIAction.hpp b/src/kyoshin/appgame/cf/object/CAIAction.hpp index 5bcc002a..b786ae7c 100644 --- a/src/kyoshin/appgame/cf/object/CAIAction.hpp +++ b/src/kyoshin/appgame/cf/object/CAIAction.hpp @@ -2,12 +2,16 @@ #include "types.h" -namespace cf{ - class CAIAction{ +namespace cf { + + //size: 0xB1C? + class CAIAction { public: + CAIAction(); virtual void CAIAction_vtableFunc1(); //0x8 virtual void CAIAction_vtableFunc2(); //0xC - u8 unk3384[0xB18]; //temporary + //0x0: vtable + u8 unk4[0xB18]; //temporary }; } diff --git a/src/kyoshin/appgame/cf/object/CActorParam.cpp b/src/kyoshin/appgame/cf/object/CActorParam.cpp new file mode 100644 index 00000000..f3f12432 --- /dev/null +++ b/src/kyoshin/appgame/cf/object/CActorParam.cpp @@ -0,0 +1,68 @@ +#include "kyoshin/appgame/cf/object/CActorParam.hpp" +#include "monolib/Math.hpp" +#include "kyoshin/appgame/cf/object/CfObjectActor.hpp" + +namespace cf { + CActorParam::CActorParam(UNKTYPE* r4, UNKTYPE* r5) : CActorState(r4), + unk15DC(r4), unk15E0(r5), unk1648(0), unk164A(0), unk164C(0) { + *(u32*)((u32)unk3298.unk8 + 4) = 0; + std::memset(unk335C, 0, sizeof(unk335C)); + *(u32*)((u32)unk3298.unk8 + 8) = 0; + unk3358 = 0; + unk335A = 2; + + float idk = 2.0f * (ml::pi/3.0f); + + unk3364 = 0; + unk3368 = 0; + unk3374 = 0; + + unk15FC = 0; + unk15E4 = 2; + unk15E8 = 1; + unk15EC = 0; + unk15F0 = 0; + unk1600 = 0; + unk1604 = 0; + unk1608 = 0; + unk1610 = 0; + unk160E = 0; + unk160C = 0; + unk1618 = 0; + unk1616 = 0; //r0 + unk1614 = 0; //r0 + unk1650.unk44 = 2; + unk1650.unk4C = idk; + unk161C = 0; + unk1620 = 40; + unk1624 = idk; + unk1628 = 0; + unk1630 = 3; + + unk2A80 = 0; + unk336C = 0; + + unk1629 = 0; + unk162A = 0; + unk162B = 0; + unk162C = 0; + unk1634 = 0; + unk1638 = 0; + unk163C = 0; + unk1640 = 0; + unk1644 = 0; + + unk3370 = 0; + + unk3298.init(); + std::memset(unk2A84, 0, sizeof(unk2A84)); //lol sure, go ahead and wipe everything + unk31DC.init(); + + unk3354 = 0; + unk337C = 0; + + for(int i = 0; i < LENGTHOF(unk1928); i++){ + unk1928[i].init(); + } + } +} diff --git a/src/kyoshin/appgame/cf/object/CActorParam.hpp b/src/kyoshin/appgame/cf/object/CActorParam.hpp index cfe4299a..ec3b8e05 100644 --- a/src/kyoshin/appgame/cf/object/CActorParam.hpp +++ b/src/kyoshin/appgame/cf/object/CActorParam.hpp @@ -4,8 +4,12 @@ #include "kyoshin/appgame/cf/object/CDebugState.hpp" #include "kyoshin/appgame/cf/object/CBattleState.hpp" #include "kyoshin/appgame/cf/object/CActorState.hpp" +#include "kyoshin/appgame/cf/CArtsSet.hpp" +#include -namespace cf{ +namespace cf { + + //size: 0x7C struct CActorParam_UnkStruct2 { u8 unk0[0x40]; u16 unk40; @@ -13,15 +17,234 @@ namespace cf{ u32 unk78; }; + //might be fake? + struct CActorParam_UnkStruct6 { + CActorParam_UnkStruct6(){ + unk0 = 0; + } + + u8 unk0; + }; + + struct CActorParam_UnkStruct7 { + CActorParam_UnkStruct7(){ + unk0 = 0; + } + + u32 unk0; + }; + + struct CActorParam_Bitflags { + CActorParam_Bitflags(){ + flags = 0; + } + + u32 flags; + }; + + //size: 0xBC struct CActorParam_UnkStruct1 { - u8 unk0[0x50]; + CActorParam_UnkStruct1() { + unk0 = 0; + unk4 = 0; + unk48 = 0; + unk4C = -1; + unk50 = 0; + unk54 = 0; + unk58 = 0; + unk5C = 0; + unk60 = 0; + unk64 = 0; + unk64 = 0; + unk7C = 0; + unk80 = 0; + unkB8 = 0; + unk68 = 0; + unk6C = 0; + unk70 = 0; + unk72 = 0; + std::memset(unk8, 0, sizeof(unk8)); + std::memset(unk84, 0, sizeof(unk84)); + mFlagsArray[0].flags = 0; + mFlagsArray[1].flags = 0; + } + + u32 unk0; + u32 unk4; + u8 unk8[0x48 - 0x8]; + u32 unk48; + int unk4C; CActorParam_UnkStruct2* unk50; - u8 unk54[0x74 - 0x54]; + float unk54; + float unk58; + float unk5C; + float unk60; + float unk64; + float unk68; + float unk6C; + u16 unk70; + u16 unk72; + CActorParam_Bitflags mFlagsArray[2]; //0x74 + u32 unk7C; + u16 unk80; + u8 unk82[2]; + u8 unk84[0xB8 - 0x84]; + u32 unkB8; + + enum Flags_74 { + FLAG_BIT_0 = (1 << 0), + FLAG_BIT_1 = (1 << 1), + FLAG_BIT_2 = (1 << 2), + FLAG_BIT_3 = (1 << 3), + FLAG_BIT_4 = (1 << 4), + FLAG_BIT_5 = (1 << 5), + FLAG_BIT_6 = (1 << 6), + FLAG_BIT_7 = (1 << 7), + FLAG_BIT_8 = (1 << 8), + FLAG_BIT_9 = (1 << 9), + FLAG_BIT_10 = (1 << 10), + FLAG_BIT_11 = (1 << 11), + FLAG_BIT_12 = (1 << 12), + FLAG_BIT_13 = (1 << 13), + FLAG_BIT_14 = (1 << 14), + FLAG_BIT_15 = (1 << 15), + FLAG_BIT_16 = (1 << 16), + FLAG_BIT_17 = (1 << 17), + FLAG_BIT_18 = (1 << 18), + FLAG_BIT_19 = (1 << 19), + FLAG_BIT_20 = (1 << 20), + FLAG_BIT_21 = (1 << 21), + FLAG_BIT_22 = (1 << 22), + FLAG_BIT_23 = (1 << 23), + FLAG_BIT_24 = (1 << 24), + FLAG_BIT_25 = (1 << 25), + FLAG_BIT_26 = (1 << 26), + FLAG_BIT_27 = (1 << 27), + FLAG_BIT_28 = (1 << 28), + FLAG_BIT_29 = (1 << 29), + FLAG_BIT_30 = (1 << 30), + FLAG_BIT_31 = (1 << 31), + }; + }; + + //size: 0x52 + struct CActorParam_UnkStruct4 { + CActorParam_UnkStruct4() { + std::memset(this, 0, sizeof(*this)); //wtf?? + } + + u8 unk0[0x4E]; + CActorParam_UnkStruct6 unk4E[4]; + }; + + //inherits CActorParam_UnkStruct4? + //size: 0x78 + struct CActorParam_UnkStruct3 { + CActorParam_UnkStruct3() { + unk74 = 0; + + std::memset(this, 0, sizeof(*this)); //wtf?? + + unk5C = 1.0f; + unk38 = 5; + unk3A = 5; + } + + u8 unk0[0x38]; + u16 unk38; + u16 unk3A; + u8 unk3C[0x44 - 0x3C]; + float unk44; + u8 unk48[4]; + float unk4C; + u8 unk50[0x5C - 0x50]; + float unk5C; + u8 unk60[0x70 - 0x60]; + CActorParam_UnkStruct6 unk70[4]; u32 unk74; }; - class CActorParam : public CActorState, public CBattleState, public CDebugState{ + //size: 0x18 + struct CActorParam_UnkStruct5 { + CActorParam_UnkStruct5(){ + std::memset(this, 0, sizeof(*this)); //wtf?? + } + + void init(){ + unk14 = 0; + unk4 = 0; + unk0 = 0; + unkC = 0; + unk8 = 0; + unk10 = 0; + } + + float unk0; + float unk4; + float unk8; + float unkC; + float unk10; + u32 unk14; + }; + + //size: 0xB8 + struct CActorParam_UnkStruct10 { + CActorParam_UnkStruct10(){ + init(); + } + + void init(){ + unk0 = 0; + unk4 = 0; + unk48 = 0; + unk4C = -1; + unk50 = 0; + unk54 = 0; + unk58 = 0; + unk5C = 0; + unk60 = 0; + unk64 = 0; + unk78 = 0; + unk7C = 0; + unkB4 = 0; + unk68 = 0; + unk6C = 0; + unk70 = 0; + unk72 = 0; + std::memset(unk8, 0, 0x40); + std::memset(unk80, 0, 0x34); + + unk74[0].unk0 = 0; + unk74[1].unk0 = 0; + } + + u32 unk0; + u32 unk4; + u8 unk8[0x40]; + u32 unk48; + int unk4C; + u32 unk50; + float unk54; + float unk58; + float unk5C; + float unk60; + float unk64; + float unk68; + float unk6C; + u16 unk70; + u16 unk72; + CActorParam_UnkStruct7 unk74[2]; + u32 unk78; + u16 unk7C; + u8 unk7E[2]; + u8 unk80[0x34]; + u32 unkB4; + }; + + //size: 0x3384 + class CActorParam : public CActorState, public CBattleState, public CDebugState { public: + #pragma region vtable virtual void CActorParam_vtableFunc1(); //0x98 virtual void CActorParam_vtableFunc2(); //0x9C virtual void CActorParam_vtableFunc3(); //0xA0 @@ -203,7 +426,73 @@ namespace cf{ virtual void CActorParam_vtableFunc179(); //0x360 virtual void CActorParam_vtableFunc180(); //0x364 virtual void CActorParam_vtableFunc181(); //0x368 + #pragma endregion + + CActorParam(UNKTYPE* r4, UNKTYPE* r5); - u8 unk15E0[0x3384 - 0x15E0]; //temporary + UNKTYPE* unk15DC; + UNKTYPE* unk15E0; + u32 unk15E4; + float unk15E8; + u32 unk15EC; + u32 unk15F0; + u8 unk15F4[8]; + float unk15FC; + u32 unk1600; + u32 unk1604; + u32 unk1608; + u16 unk160C; + u16 unk160E; + float unk1610; + u16 unk1614; + u16 unk1616; + float unk1618; + u32 unk161C; + float unk1620; + float unk1624; + u8 unk1628; + u8 unk1629; + u8 unk162A; + u8 unk162B; + u8 unk162C; + float unk1630; + u32 unk1634; + u32 unk1638; + u32 unk163C; + u32 unk1640; + u32 unk1644; + u16 unk1648; + u16 unk164A; + u16 unk164C; + u8 unk164E[2]; + CActorParam_UnkStruct3 unk1650; + CActorParam_UnkStruct3 unk16C8; + CActorParam_UnkStruct4 unk1740; + CActorParam_UnkStruct4 unk1792; + CActorParam_UnkStruct3 unk17E4; + CActorParam_UnkStruct3 unk185C; + CActorParam_UnkStruct4 unk18D4; + u8 unk1926[2]; //filler? + CActorParam_UnkStruct5 unk1928[8]; + CArtsSet mArtsSet; //0x19E8 + u8 unk2740[0xC]; + CAttackSet mAttackSet; //0x274C + u32 unk2A80; //probably not here + CActorParam_UnkStruct1 unk2A84[10]; + CActorParam_UnkStruct10 unk31DC; + CActorParam_UnkStruct10 unk3298; + u8 unk3354; + u8 unk3355[3]; //padding? + u16 unk3358; + u16 unk335A; + u8 unk335C[5]; + u8 unk3361[3]; //padding? + float unk3364; + float unk3368; + u32 unk336C; + u32 unk3370; + u32 unk3374; + u8 unk3378[4]; + float unk337C; }; } diff --git a/src/kyoshin/appgame/cf/object/CActorState.hpp b/src/kyoshin/appgame/cf/object/CActorState.hpp index 57c8f75d..49af5113 100644 --- a/src/kyoshin/appgame/cf/object/CActorState.hpp +++ b/src/kyoshin/appgame/cf/object/CActorState.hpp @@ -2,11 +2,15 @@ #include "types.h" -namespace cf{ - class CActorState{ +namespace cf { + class CActorState { public: virtual void CActorState_vtableFunc1(); //0x8 - u32 unk4; + CActorState(UNKTYPE* r4){ + unk4 = r4; + } + + UNKTYPE* unk4; }; } diff --git a/src/kyoshin/appgame/cf/object/CBattleState.hpp b/src/kyoshin/appgame/cf/object/CBattleState.hpp index 4a7198b1..f3f78ff9 100644 --- a/src/kyoshin/appgame/cf/object/CBattleState.hpp +++ b/src/kyoshin/appgame/cf/object/CBattleState.hpp @@ -39,6 +39,8 @@ namespace cf { virtual void CBattleState_vtableFunc32(); //0x84 virtual void CBattleState_vtableFunc33(); //0x88 + CBattleState(); + u8 unkC[0x15DC - 0xC]; }; } diff --git a/src/kyoshin/appgame/cf/object/CDebugState.hpp b/src/kyoshin/appgame/cf/object/CDebugState.hpp index 0c50afe1..a67dc78b 100644 --- a/src/kyoshin/appgame/cf/object/CDebugState.hpp +++ b/src/kyoshin/appgame/cf/object/CDebugState.hpp @@ -2,8 +2,8 @@ #include "types.h" -namespace cf{ - class CDebugState{ +namespace cf { + class CDebugState { }; } diff --git a/src/kyoshin/appgame/cf/object/CObjectParam.hpp b/src/kyoshin/appgame/cf/object/CObjectParam.hpp index c733cb3a..650e669b 100644 --- a/src/kyoshin/appgame/cf/object/CObjectParam.hpp +++ b/src/kyoshin/appgame/cf/object/CObjectParam.hpp @@ -3,9 +3,9 @@ #include "types.h" #include "kyoshin/appgame/cf/object/CObjectState.hpp" -namespace cf{ +namespace cf { //min size: 0x38 - class CObjectParam : public CObjectState{ + class CObjectParam : public CObjectState { public: virtual void CObjectParam_vtableFunc1(); //0x3C virtual void CObjectParam_vtableFunc2(); //0x40 diff --git a/src/kyoshin/appgame/cf/object/CObjectState.hpp b/src/kyoshin/appgame/cf/object/CObjectState.hpp index 5d862b04..e24c1baf 100644 --- a/src/kyoshin/appgame/cf/object/CObjectState.hpp +++ b/src/kyoshin/appgame/cf/object/CObjectState.hpp @@ -2,9 +2,9 @@ #include "types.h" -namespace cf{ +namespace cf { //min size: 0x10 - class CObjectState{ + class CObjectState { public: virtual void CObjectState_vtableFunc1(); //0x8 virtual void CObjectState_vtableFunc2(); //0xC diff --git a/src/kyoshin/appgame/cf/object/CfObjectActor.cpp b/src/kyoshin/appgame/cf/object/CfObjectActor.cpp new file mode 100644 index 00000000..0a0c0630 --- /dev/null +++ b/src/kyoshin/appgame/cf/object/CfObjectActor.cpp @@ -0,0 +1,10 @@ +#include "kyoshin/appgame/cf/object/CfObjectActor.hpp" + +namespace cf { + /* TODO: find out what base class the static cast is + casting down to */ + CfObjectActor::CfObjectActor() : + CActorParam(static_cast(this), nullptr) { + + } +} diff --git a/src/kyoshin/appgame/cf/object/CfObjectActor.hpp b/src/kyoshin/appgame/cf/object/CfObjectActor.hpp index de862c0e..2212757b 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectActor.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectActor.hpp @@ -9,6 +9,7 @@ namespace cf { //min size: 0x45BC class CfObjectActor : public CActorParam, public CAIAction, public CfObjectMove { public: + CfObjectActor(); //vtable 4 (CfObjectActor) virtual ~CfObjectActor(); //0x5A0 virtual void CfObjectActor_vtableFunc2(); //0x5A4 @@ -25,7 +26,9 @@ namespace cf { virtual void CfObjectActor_vtableFunc13(); //0x5D0 //0x0: vtable 1 - //0x0-3e98: CActorParam/CAIAction + //0x0-3380: CActorParam + //0x3380: vtable 2 + //0x3380-3e9c: CAIAction //0x3e9c: vtable 3 //0x3e9c-45b4: CfObjectMove u8 unk45B4[0x8]; diff --git a/src/kyoshin/appgame/cf/object/CfObjectEff.hpp b/src/kyoshin/appgame/cf/object/CfObjectEff.hpp index 44b95852..baa7baa2 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectEff.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectEff.hpp @@ -3,9 +3,9 @@ #include "types.h" #include "kyoshin/appgame/cf/object/CfObject.hpp" -namespace cf{ +namespace cf { //size: 0xC0 - class CfObjectEff : public CfObject{ + class CfObjectEff : public CfObject { public: //0x0: vtable //0x0-70: CfObject diff --git a/src/kyoshin/appgame/cf/object/CfObjectMap.hpp b/src/kyoshin/appgame/cf/object/CfObjectMap.hpp index 03c16a47..d0e1648e 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectMap.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectMap.hpp @@ -3,9 +3,9 @@ #include "types.h" #include "kyoshin/appgame/cf/object/CfObjectModel.hpp" -namespace cf{ +namespace cf { //size: 0x2F50 - class CfObjectMap : public CfObjectModel{ + class CfObjectMap : public CfObjectModel { public: //0x0: vtable //0x0-BE: CfObjectModel diff --git a/src/kyoshin/appgame/cf/object/CfObjectMove.hpp b/src/kyoshin/appgame/cf/object/CfObjectMove.hpp index 5041af09..4ffa52eb 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectMove.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectMove.hpp @@ -7,6 +7,7 @@ namespace cf { //min size: 0x715 class CfObjectMove : public CfObjectModel { public: + CfObjectMove(); //vtable 1 (CfObject) virtual ~CfObjectMove(); //vtable 1 (CfObjectMove) diff --git a/src/kyoshin/appgame/cf/object/CfObjectNpc.hpp b/src/kyoshin/appgame/cf/object/CfObjectNpc.hpp index 11282ac5..67dfbd1d 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectNpc.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectNpc.hpp @@ -3,9 +3,9 @@ #include "types.h" #include "kyoshin/appgame/cf/object/CfObjectMove.hpp" -namespace cf{ +namespace cf { //size: 0x71C - class CfObjectNpc : public CfObjectMove{ + class CfObjectNpc : public CfObjectMove { public: //0x0: vtable //0x0-718: CfObjectMove diff --git a/src/kyoshin/appgame/cf/object/CfObjectObj.hpp b/src/kyoshin/appgame/cf/object/CfObjectObj.hpp index 96f3b74a..573f9aec 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectObj.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectObj.hpp @@ -3,9 +3,9 @@ #include "types.h" #include "kyoshin/appgame/cf/object/CfObjectMove.hpp" -namespace cf{ +namespace cf { //size 0x718 - class CfObjectObj : public CfObjectMove{ + class CfObjectObj : public CfObjectMove { public: //0x0: vtable 1 //0x0-718: CfObjectMove diff --git a/src/kyoshin/appgame/cf/object/CfObjectPc.hpp b/src/kyoshin/appgame/cf/object/CfObjectPc.hpp index 54e491f0..7c767674 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectPc.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectPc.hpp @@ -7,9 +7,9 @@ extern UNKTYPE* func_800B708C(BOOL r3); extern UNKTYPE* func_800AD860(UNKTYPE* r3); extern UNKTYPE* func_800C1228(UNKTYPE* r3); -namespace cf{ +namespace cf { //size: 0x45C0 - class CfObjectPc : public CfObjectActor{ + class CfObjectPc : public CfObjectActor { public: virtual ~CfObjectPc(); virtual void func_800BFF20(); //0x5D4 diff --git a/src/kyoshin/appgame/cf/object/CfObjectTbox.hpp b/src/kyoshin/appgame/cf/object/CfObjectTbox.hpp index 8638706b..3ac1b018 100644 --- a/src/kyoshin/appgame/cf/object/CfObjectTbox.hpp +++ b/src/kyoshin/appgame/cf/object/CfObjectTbox.hpp @@ -3,9 +3,9 @@ #include "types.h" #include "kyoshin/appgame/cf/object/CfObjectObj.hpp" -namespace cf{ +namespace cf { //size: 0x738 - class CfObjectTbox : public CfObjectObj{ + class CfObjectTbox : public CfObjectObj { public: //0x0: vtable //0x0-718: CfObjectObj diff --git a/src/kyoshin/appgame/cf/object/IObjectInfo.hpp b/src/kyoshin/appgame/cf/object/IObjectInfo.hpp index 24c6ac20..215bca23 100644 --- a/src/kyoshin/appgame/cf/object/IObjectInfo.hpp +++ b/src/kyoshin/appgame/cf/object/IObjectInfo.hpp @@ -2,8 +2,8 @@ #include "types.h" -namespace cf{ - class IObjectInfo{ +namespace cf { + class IObjectInfo { public: virtual ~IObjectInfo(){} virtual void IObjectInfo_vtableFunc1() = 0; //not sure if this exists diff --git a/src/kyoshin/appgame/cf/object/TBoxInfo.hpp b/src/kyoshin/appgame/cf/object/TBoxInfo.hpp index feb8b5ff..5c99fe73 100644 --- a/src/kyoshin/appgame/cf/object/TBoxInfo.hpp +++ b/src/kyoshin/appgame/cf/object/TBoxInfo.hpp @@ -2,8 +2,8 @@ #include "types.h" -namespace cf{ - class TBoxInfo{ +namespace cf { + class TBoxInfo { }; }