Skip to content

Commit d3e9175

Browse files
authored
d_a_e_pz equivalent (#2330)
* d_a_e_pz equivalent * rename var * match f_pc closer to debug * hopefully fix decompctx * sdk done * remove unneeded file
1 parent 58ba86b commit d3e9175

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+4773
-2871
lines changed

config/GZ2E01/splits.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1433,7 +1433,7 @@ d/d_k_wpillar.cpp:
14331433
.sdata2 start:0x80454FF0 end:0x80455008
14341434

14351435
PowerPC_EABI_Support/Runtime/Src/__mem.c:
1436-
.init start:0x80003458 end:0x800035E4
1436+
.init start:0x80003458 end:0x80003590
14371437

14381438
DynamicLink.cpp:
14391439
.text start:0x802621CC end:0x802631D4
@@ -3601,7 +3601,7 @@ TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/flush_cache.
36013601
.text start:0x8036F548 end:0x8036F580
36023602

36033603
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/mem_TRK.c:
3604-
.init start:0x800035E4 end:0x80005544
3604+
.init start:0x80003590 end:0x800035E4
36053605
.text start:0x8036F580 end:0x8036F638
36063606

36073607
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c:
@@ -3610,13 +3610,17 @@ TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c:
36103610
.data start:0x803D3238 end:0x803D3268
36113611
.bss start:0x8044F290 end:0x8044F810
36123612

3613-
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Export/targsupp.c:
3613+
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Export/targsupp.s:
36143614
.text start:0x803711D0 end:0x803711F0
36153615

36163616
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/mpc_7xx_603e.c:
36173617
.text start:0x803711F0 end:0x80371560
36183618

3619+
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/exception.s:
3620+
.init start:0x800035E4 end:0x80005518
3621+
36193622
TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk.c:
3623+
.init start:0x80005518 end:0x80005544
36203624
.text start:0x80371560 end:0x80371B9C
36213625
.data start:0x803D3268 end:0x803D32A8
36223626
.bss start:0x8044F810 end:0x8044F818

configure.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@
212212
"-i src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include",
213213
"-i src/PowerPC_EABI_Support/Runtime/Inc",
214214
"-i src/PowerPC_EABI_Support/MetroTRK",
215-
"-Iinclude/dolphin",
215+
"-i include/dolphin",
216216
f"-DVERSION={version_num}",
217217
"-D__GEKKO__",
218218
]
@@ -245,7 +245,6 @@
245245
*cflags_base,
246246
"-use_lmw_stmw on",
247247
"-str reuse,pool,readonly",
248-
"-gccinc",
249248
"-common off",
250249
"-char signed",
251250
]
@@ -291,7 +290,7 @@
291290
"-i src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include",
292291
"-i src/PowerPC_EABI_Support/Runtime/Inc",
293292
"-i src/PowerPC_EABI_Support/MetroTRK",
294-
"-Iinclude/dolphin",
293+
"-i include/dolphin",
295294
f"-DVERSION={version_num}",
296295
"-D__GEKKO__",
297296
"-DSDK_REVISION=2",
@@ -484,6 +483,7 @@ def MatchingFor(*versions):
484483
Object(MatchingFor("GZ2E01"), "f_pc/f_pc_draw.cpp"),
485484
Object(MatchingFor("GZ2E01"), "f_pc/f_pc_fstcreate_req.cpp"),
486485
Object(MatchingFor("GZ2E01"), "f_pc/f_pc_stdcreate_req.cpp"),
486+
Object(NonMatching, "f_pc/f_pc_debug_sv.cpp"),
487487
],
488488
},
489489
{
@@ -1276,10 +1276,10 @@ def MatchingFor(*versions):
12761276
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/__va_arg.c"),
12771277
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/global_destructor_chain.c"),
12781278
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/CPlusLibPPC.cp"),
1279-
Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/NMWException.cp"),
1279+
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/NMWException.cp", extra_cflags=["-Cpp_exceptions on"]),
12801280
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/ptmf.c"),
12811281
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/runtime.c"),
1282-
Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/__init_cpp_exceptions.cpp"),
1282+
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/__init_cpp_exceptions.cpp"),
12831283
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/Gecko_ExceptionPPC.cp"),
12841284
Object(MatchingFor("GZ2E01"), "PowerPC_EABI_Support/Runtime/Src/GCN_Mem_Alloc.c", extra_cflags=["-str reuse,nopool,readonly"]),
12851285
],
@@ -1370,11 +1370,12 @@ def MatchingFor(*versions):
13701370
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/mutex_TRK.c"),
13711371
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/notify.c"),
13721372
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/flush_cache.c"),
1373-
Object(NonMatching, "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/mem_TRK.c"),
1373+
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/mem_TRK.c"),
13741374
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c"),
1375-
Object(NonMatching, "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Export/targsupp.c", extra_cflags=["-func_align 32"]),
1375+
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Export/targsupp.s"),
13761376
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/mpc_7xx_603e.c"),
1377-
Object(NonMatching, "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk.c"),
1377+
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/exception.s"),
1378+
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk.c"),
13781379
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/main_TRK.c"),
13791380
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/dolphin_trk_glue.c"),
13801381
Object(MatchingFor("GZ2E01"), "TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Os/dolphin/targcont.c"),
@@ -1402,12 +1403,12 @@ def MatchingFor(*versions):
14021403
},
14031404
{
14041405
"lib": "odemuexi2",
1405-
"mw_version": MWVersion(config.version),
1406+
"mw_version": "GC/1.2.5n",
14061407
"cflags": cflags_runtime,
14071408
"progress_category": "sdk",
14081409
"host": False,
14091410
"objects": [
1410-
Object(NonMatching, "odemuexi2/DebuggerDriver.c"),
1411+
Object(MatchingFor("GZ2E01"), "odemuexi2/DebuggerDriver.c"),
14111412
],
14121413
},
14131414
{
@@ -1431,7 +1432,7 @@ def MatchingFor(*versions):
14311432
"objects": [
14321433
Object(MatchingFor("GZ2E01"), "REL/executor.c"),
14331434
Object(
1434-
NonMatching,
1435+
MatchingFor("GZ2E01"),
14351436
"REL/global_destructor_chain.c",
14361437
source="PowerPC_EABI_Support/Runtime/Src/global_destructor_chain.c",
14371438
),
@@ -1658,7 +1659,7 @@ def MatchingFor(*versions):
16581659
ActorRel(MatchingFor("GZ2E01"), "d_a_e_ph"),
16591660
ActorRel(NonMatching, "d_a_e_pm"),
16601661
ActorRel(NonMatching, "d_a_e_po"),
1661-
ActorRel(NonMatching, "d_a_e_pz"),
1662+
ActorRel(Equivalent, "d_a_e_pz", extra_cflags=['-pragma "nosyminline off"']), # weak func order, inline issue
16621663
ActorRel(NonMatching, "d_a_e_rb"),
16631664
ActorRel(NonMatching, "d_a_e_rdb"),
16641665
ActorRel(NonMatching, "d_a_e_rdy"),

include/d/actor/d_a_alink.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4904,14 +4904,14 @@ class daAlinkHIO_wallCatch_c0 {
49044904

49054905
class daAlinkHIO_wallHang_c1 {
49064906
public:
4907-
/* 0x00 */ s16 field_0x0;
4908-
/* 0x02 */ s16 field_0x2;
4909-
/* 0x04 */ f32 field_0x4;
4910-
/* 0x08 */ f32 field_0x8;
4911-
/* 0x0C */ f32 field_0xC;
4912-
/* 0x10 */ f32 field_0x10;
4913-
/* 0x14 */ f32 field_0x14;
4914-
/* 0x18 */ f32 field_0x18;
4907+
/* 0x00 */ s16 small_jump_input_time;
4908+
/* 0x02 */ s16 grab_input_time;
4909+
/* 0x04 */ f32 auto_walk_height;
4910+
/* 0x08 */ f32 small_jump_height;
4911+
/* 0x0C */ f32 climb_height;
4912+
/* 0x10 */ f32 jump_climb_height;
4913+
/* 0x14 */ f32 jump_hang_height;
4914+
/* 0x18 */ f32 hang_foot_pos_height;
49154915
}; // Size: 0x1C
49164916

49174917
class daAlinkHIO_wallHang_c0 {

include/d/actor/d_a_e_pz.h

Lines changed: 95 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
#define D_A_E_PZ_H
33

44
#include "f_op/f_op_actor_mng.h"
5+
#include "d/d_bg_s_acch.h"
6+
#include "d/d_cc_d.h"
7+
#include "d/d_cc_uty.h"
58

69
/**
710
* @ingroup actors-enemies
@@ -13,15 +16,24 @@
1316
*/
1417
class daE_PZ_c : public fopEn_enemy_c {
1518
public:
16-
void onBombArrowHit() { field_0x845 = 1; }
19+
enum Action_e {
20+
ACTION_SEARCH_POINT_e,
21+
ACTION_OPENING_DEMO_e,
22+
ACTION_WAIT_e,
23+
ACTION_ATTACK_e,
24+
ACTION_DAMAGE_e,
25+
ACTION_DEAD_e,
26+
};
1727

18-
/* 807585BC */ void draw();
28+
void onBombArrowHit() { mBombArrowHit = true; }
29+
30+
/* 807585BC */ int draw();
1931
/* 80758800 */ void setBck(int, u8, f32, f32);
2032
/* 807588AC */ void setActionMode(int, int);
2133
/* 807588B8 */ void mEntrySUB(bool);
22-
/* 80758A94 */ void mPzScaleSet(bool);
34+
/* 80758A94 */ bool mPzScaleSet(bool);
2335
/* 80758BA0 */ void mEnemyScaleSet();
24-
/* 80758D44 */ void getCutType();
36+
/* 80758D44 */ u8 getCutType();
2537
/* 80758DA4 */ void mSetFirePos();
2638
/* 80758E04 */ void damage_check();
2739
/* 807592F4 */ void executeSearchPoint();
@@ -38,23 +50,93 @@ class daE_PZ_c : public fopEn_enemy_c {
3850
/* 8075F578 */ void fire_mtx_set();
3951
/* 8075F734 */ void mtx_set();
4052
/* 8075F7E8 */ void cc_set();
41-
/* 8075F964 */ void execute();
42-
/* 8075FA88 */ void _delete();
43-
/* 8075FB4C */ void CreateHeap();
44-
/* 8076010C */ void create();
53+
/* 8075F964 */ int execute();
54+
/* 8075FA88 */ int _delete();
55+
/* 8075FB4C */ int CreateHeap();
56+
/* 8076010C */ int create();
4557
/* 807607EC */ daE_PZ_c();
4658

47-
private:
48-
/* 0x5AC */ u8 field_0x5ac[0x845 - 0x5ac];
49-
/* 0x845 */ u8 field_0x845;
50-
/* 0x846 */ u8 field_0x846[0xef8 - 0x846];
59+
/* 0x5AC */ request_of_phase_process_class mPhase;
60+
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
61+
/* 0x5B8 */ mDoExt_McaMorfSO* mpBallModelMorf;
62+
/* 0x5BC */ J3DModel* mpPortalModel;
63+
/* 0x5C0 */ mDoExt_btkAnm* mpPortalBtk;
64+
/* 0x5C4 */ mDoExt_brkAnm* mpPortalBrk[2];
65+
/* 0x5CC */ mDoExt_brkAnm* mpBallBrk;
66+
/* 0x5D0 */ mDoExt_btkAnm* mpPzBtk;
67+
/* 0x5D4 */ mDoExt_brkAnm* mpPzBrk;
68+
/* 0x5D8 */ int field_0x5d8;
69+
/* 0x5DC */ Z2CreatureEnemy field_0x5dc;
70+
/* 0x680 */ int mActionMode;
71+
/* 0x684 */ int mMoveMode;
72+
/* 0x688 */ u32 mShadowKey;
73+
/* 0x68C */ int mAnm;
74+
/* 0x690 */ cXyz mPointPos[10];
75+
/* 0x708 */ cXyz field_0x708[10];
76+
/* 0x780 */ u8 field_0x780[10];
77+
/* 0x78A */ u8 mPointNum;
78+
/* 0x78B */ u8 mCurrentPoint;
79+
/* 0x78C */ u8 field_0x78c;
80+
/* 0x790 */ cXyz field_0x790;
81+
/* 0x79C */ cXyz mPzScale;
82+
/* 0x7A8 */ cXyz field_0x7a8;
83+
/* 0x7B4 */ u8 field_0x7B4[0x7BC - 0x7B4];
84+
/* 0x7BC */ f32 field_0x7bc;
85+
/* 0x7C0 */ f32 field_0x7c0;
86+
/* 0x7C4 */ f32 field_0x7c4;
87+
/* 0x7C8 */ f32 field_0x7c8;
88+
/* 0x7CC */ f32 field_0x7cc;
89+
/* 0x7D0 */ u8 field_0x7d0;
90+
/* 0x7D1 */ u8 field_0x7d1;
91+
/* 0x7D2 */ u8 field_0x7d2;
92+
/* 0x7D3 */ u8 field_0x7d3;
93+
/* 0x7D4 */ u8 arg0;
94+
/* 0x7D5 */ u8 arg1;
95+
/* 0x7D6 */ u8 bitSw;
96+
/* 0x7D7 */ u8 field_0x7d7;
97+
/* 0x7D8 */ u8 field_0x7d8;
98+
/* 0x7DC */ fpc_ProcID field_0x7dc[25];
99+
/* 0x840 */ u8 field_0x840;
100+
/* 0x841 */ u8 field_0x841;
101+
/* 0x842 */ u8 field_0x842;
102+
/* 0x843 */ u8 field_0x843;
103+
/* 0x844 */ u8 field_0x844;
104+
/* 0x845 */ u8 mBombArrowHit;
105+
/* 0x846 */ u8 field_0x846;
106+
/* 0x847 */ u8 field_0x847;
107+
/* 0x848 */ u8 field_0x848;
108+
/* 0x84C */ int field_0x84c;
109+
/* 0x850 */ dBgS_AcchCir mAcchCir;
110+
/* 0x890 */ dBgS_ObjAcch mAcch;
111+
/* 0xA68 */ u32 field_0xa68[3];
112+
/* 0xA74 */ u32 field_0xa74[2];
113+
/* 0xA7C */ u8 field_0xA7C[0xAB4 - 0xA7C];
114+
/* 0xAB4 */ u32 field_0xab4[2];
115+
/* 0xABC */ cXyz mDemoCameraEye;
116+
/* 0xAC8 */ cXyz mDemoCameraCenter;
117+
/* 0xAD4 */ dCcD_Stts mColliderStts;
118+
/* 0xB10 */ dCcD_Cyl mCylCollider;
119+
/* 0xC4C */ dCcD_Cyl mWarpCylCollider;
120+
/* 0xD88 */ dCcD_Sph mBulletAtCollider;
121+
/* 0xEC0 */ dCcU_AtInfo mAtInfo;
122+
/* 0xEE4 */ u8 mInitHIO;
123+
/* 0xEE5 */ u8 field_0xee5[0xEF8 - 0xEE5];
51124
};
52125

53126
STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8);
54127

55128
class daE_PZ_HIO_c {
129+
public:
56130
/* 8075856C */ daE_PZ_HIO_c();
57-
/* 80760C60 */ ~daE_PZ_HIO_c();
131+
/* 80760C60 */ virtual ~daE_PZ_HIO_c() {}
132+
133+
/* 0x04 */ s8 no;
134+
/* 0x08 */ f32 body_model_size;
135+
/* 0x0C */ f32 portal_model_size;
136+
/* 0x10 */ f32 bullet_speed;
137+
/* 0x14 */ f32 weapon_hit_warp_speed;
138+
/* 0x18 */ s16 after_attack_wait_time;
139+
/* 0x1A */ s16 blur_start_timing;
58140
};
59141

60142

include/d/actor/d_a_player.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,7 @@ class daPy_py_c : public fopAc_ac_c {
10391039
void offPressedDamage() { offNoResetFlg2(FLG2_PRESSED_DAMAGE); }
10401040
void onForceSubjectCancel() { onEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL); }
10411041
void onEnemyDead() { onEndResetFlg0(ERFLG0_ENEMY_DEAD); }
1042+
void offDkCaught2() { offNoResetFlg0(FLG0_UNK_20000); }
10421043

10431044
u32 checkBoarSingleBattle() const { return checkNoResetFlg2(daPy_FLG2(FLG2_UNK_1000000 | FLG2_BOAR_SINGLE_BATTLE)); }
10441045
u32 checkWolfDashAutoJump() const { return checkNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); }

include/f_pc/f_pc_base.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,6 @@ int fpcBs_Delete(base_process_class* i_proc);
4545
base_process_class* fpcBs_Create(s16 i_profname, fpc_ProcID i_procID, void* i_append);
4646
int fpcBs_SubCreate(base_process_class* i_proc);
4747

48+
extern int g_fpcBs_type;
49+
4850
#endif

include/f_pc/f_pc_create_req.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ typedef struct create_request {
2929
/* 0x44 */ layer_class* layer;
3030
} create_request; // Size: 0x48
3131

32-
bool fpcCtRq_isCreatingByID(create_tag* i_createTag, fpc_ProcID* i_id);
32+
BOOL fpcCtRq_isCreatingByID(create_tag* i_createTag, fpc_ProcID* i_id);
3333
BOOL fpcCtRq_IsCreatingByID(fpc_ProcID i_id);
3434
void fpcCtRq_CreateQTo(create_request* i_request);
3535
void fpcCtRq_ToCreateQ(create_request* i_request);
3636
BOOL fpcCtRq_Delete(create_request* i_request);
3737
BOOL fpcCtRq_Cancel(create_request* i_request);
3838
BOOL fpcCtRq_IsDoing(create_request* i_request);
39-
void fpcCtRq_Handler();
39+
int fpcCtRq_Handler();
4040
create_request* fpcCtRq_Create(layer_class* i_layer, u32 i_size,
4141
create_request_method_class* i_methods);
4242

include/f_pc/f_pc_creator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ typedef struct base_process_class base_process_class;
99
BOOL fpcCt_IsCreatingByID(fpc_ProcID id);
1010
BOOL fpcCt_IsDoing(base_process_class* pProc);
1111
BOOL fpcCt_Abort(base_process_class* pProc);
12-
void fpcCt_Handler();
12+
int fpcCt_Handler();
1313

1414
#endif

include/f_pc/f_pc_debug_sv.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
#ifndef F_PC_DEBUG_SV_H_
3+
#define F_PC_DEBUG_SV_H_
4+
5+
#include <dolphin.h>
6+
7+
#ifdef DEBUG
8+
9+
char* fpcDbSv_getNameString(s16 i_name);
10+
11+
typedef void (*fpcDbSv_callback)(void* i_process);
12+
extern const fpcDbSv_callback g_fpcDbSv_service[50];
13+
14+
#endif
15+
16+
#endif

include/f_pc/f_pc_layer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ s32 fpcLy_ToQueue(layer_class* i_layer, int treeListIdx, create_tag_class* i_cre
4242
s32 fpcLy_QueueTo(layer_class* i_layer, create_tag_class* i_createTag);
4343

4444
int fpcLy_Cancel(layer_class* i_layer);
45-
bool fpcLy_CancelMethod(process_method_tag_class* i_layer);
45+
BOOL fpcLy_CancelMethod(process_method_tag_class* i_layer);
4646

4747
void fpcLy_CancelQTo(process_method_tag_class* i_methods);
4848
s32 fpcLy_ToCancelQ(layer_class* i_layer, process_method_tag_class* i_methods);

0 commit comments

Comments
 (0)