16#define GGXXACPR_ABI_VERSION "1.1.0"
17#define GGXXACPR_ABI_VERSION_NUM 0x010100
28#define UNKNOWN_FIELD(label) _unknown_##label
30#define PAD(num_bytes, label) uint8_t _padding_##label[num_bytes]
32static_assert(
sizeof(float) == 4,
"float size must be 32-bit");
33static_assert(
sizeof(
void*) == 4,
"pointer size must be 32-bit");
38enum GGXXACPR_GameVersion {
39 GAME_VERSION_ACCENT_CORE = 0,
44enum GGXXACPR_MainMenuItem {
45 MAIN_MENU_ITEM_ARCADE = 0,
47 MAIN_MENU_ITEM_VERSUS,
48 MAIN_MENU_ITEM_ONLINE,
49 MAIN_MENU_ITEM_VS_CPU,
50 MAIN_MENU_ITEM_TEAM_VERSUS,
51 MAIN_MENU_ITEM_TEAM_VS_CPU,
52 MAIN_MENU_ITEM_TRAINING,
53 MAIN_MENU_ITEM_SURVIVAL,
54 MAIN_MENU_ITEM_MISSION,
56 MAIN_MENU_ITEM_GALLERY,
57 MAIN_MENU_ITEM_REPLAY_THEATER,
58 MAIN_MENU_ITEM_SOUND_TEST
62enum GGXXACPR_JobMode {
63 JOB_MODE_AUTO_LOAD = 0x0,
64 JOB_MODE_AUTO_SAVE = 0x1,
65 JOB_MODE_TITLE_SCREEN = 0x2,
66 JOB_MODE_INIT_GAME_INFO = 0x3,
67 JOB_MODE_GAME_INIT = 0x5,
68 JOB_MODE_BATTLE = 0x6,
70 JOB_MODE_TITLE_MAIN = 0x9,
72 JOB_MODE_LOAD_CHAR_SELECT = 0xF,
73 JOB_MODE_LOAD_STAGE_SELECT = 0x10,
74 JOB_MODE_LOAD_VERSUS_SCREEN = 0x11,
75 JOB_MODE_LOAD_STORY_MODE_SPLASH_SCREEN = 0x12,
76 JOB_MODE_LOAD_WIN_SCREEN = 0x14,
77 JOB_MODE_LOAD_STORY_ENDING = 0x16,
78 JOB_MODE_OPTION_MENU = 0x19,
79 JOB_MODE_DEBUG_SOUND_MENU = 0x21,
80 JOB_MODE_MISSION_MENU = 0x24,
81 JOB_MODE_STORY_INIT = 0x29,
82 JOB_MODE_SREXEC = 0x2B,
83 JOB_MODE_CREXEC = 0x2C,
84 JOB_MODE_MOVIE_EXECUTE = 0x2D,
86 JOB_MODE_MISSION_WIN = 0x2F,
87 JOB_MODE_SURVIVAL_START = 0x30,
88 JOB_MODE_GALLERY_MAIN = 0x31,
89 JOB_MODE_SURVIVAL = 0x32,
90 JOB_MODE_TEAM_VS = 0x33,
91 JOB_MODE_FRAMERATE_TEST = 0x34,
92 JOB_MODE_REPLAY_SELECT = 0x35,
93 JOB_MODE_SOUND_MODE_EXECUTE = 0x38,
94 JOB_MODE_VERSUS_SPLASH = 0x41
98enum GGXXACPR_GameModeFeatureFlags {
99 GAME_MODE_FEATURE_FLAGS_NONE = 0x0,
100 GAME_MODE_FEATURE_FLAGS_P1_CONTROL = 0x1,
101 GAME_MODE_FEATURE_FLAGS_P2_CONTROL = 0x2,
102 GAME_MODE_FEATURE_FLAGS_TRAINING = 0x0100,
103 GAME_MODE_FEATURE_FLAGS_SURVIVAL = 0x0200,
104 GAME_MODE_FEATURE_FLAGS_DEMO = 0x0400,
105 GAME_MODE_FEATURE_FLAGS_VERSUS = 0x800,
106 GAME_MODE_FEATURE_FLAGS_VERSUS_CPU = 0x2000,
107 GAME_MODE_FEATURE_FLAGS_STORY = 0x4000,
108 GAME_MODE_FEATURE_FLAGS_MISSION = 0x8000,
109 GAME_MODE_FEATURE_FLAGS_WATCH = 0x10000,
110 GAME_MODE_FEATURE_FLAGS_FREE_PLAY = 0x20000,
111 GAME_MODE_FEATURE_FLAGS_TEAM_VERSUS = 0x40000,
115enum GGXXACPR_EntityId {
120 ENTITY_ID_MILLIA = 4,
122 ENTITY_ID_POTEMKIN = 6,
125 ENTITY_ID_BAIKEN = 9,
126 ENTITY_ID_FAUST = 10,
127 ENTITY_ID_TESTAMENT = 11,
130 ENTITY_ID_JOHNNY = 14,
131 ENTITY_ID_VENOM = 15,
132 ENTITY_ID_DIZZY = 16,
133 ENTITY_ID_SLAYER = 17,
135 ENTITY_ID_ZAPPA = 19,
136 ENTITY_ID_BRIDGET = 20,
137 ENTITY_ID_ROBO_KY = 21,
139 ENTITY_ID_ORDER_SOL = 23,
140 ENTITY_ID_KLIFF = 24,
141 ENTITY_ID_JUSTICE = 25,
142 ENTITY_ID_DIZZY_ENTITY_1 = 0x20,
143 ENTITY_ID_MILLIA_ENTITY_1 = 0x21,
144 ENTITY_ID_VENOM_ENTITY_1 = 0x22,
145 ENTITY_ID_EDDIE_ENTITY_SHADOW = 0x23,
146 ENTITY_ID_KY_ENTITY = 0x29,
147 ENTITY_ID_FAUST_ENTITY_1 = 0x2B,
148 ENTITY_ID_SOL_ENTITY = 0x2C,
149 ENTITY_ID_MILLIA_ENTITY_2 = 0x2E,
150 ENTITY_ID_JAM_ENTITY = 0x2F,
151 ENTITY_ID_VENOM_ENTITY_2 = 0x31,
152 ENTITY_ID_VENOM_ENTITY_3 = 0x32,
153 ENTITY_ID_MILLIA_ENTITY_3 = 0x34,
154 ENTITY_ID_MAY_ENTITY_INSTANT_KILL_1 = 0x37,
155 ENTITY_ID_BAIKEN_ENTITY = 0x39,
156 ENTITY_ID_BAIKEN_ENTITY_INSTANT_KILL = 0x3A,
157 ENTITY_ID_CHIPP_ENTITY = 0x3B,
158 ENTITY_ID_POTEMKIN_ENTITY = 0x3D,
159 ENTITY_ID_JOHNNY_ENTITY = 0x3F,
160 ENTITY_ID_FAUST_ENTITY_2 = 0x40,
161 ENTITY_ID_EDDIE_ENTITY = 0x41,
162 ENTITY_ID_DIZZY_ENTITY_2 = 0x43,
163 ENTITY_ID_MAY_ENTITY_1 = 0x44,
164 ENTITY_ID_MAY_ENTITY_2 = 0x46,
165 ENTITY_ID_MAY_ENTITY_3 = 0x48,
166 ENTITY_ID_FAUST_ENTITY_3 = 0x4A,
167 ENTITY_ID_MAY_ENTITY_INSTANT_KILL_2 = 0x4B,
168 ENTITY_ID_ANJI_ENTITY = 0x4C,
169 ENTITY_ID_AXL_ENTITY_1 = 0x4D,
170 ENTITY_ID_ANJI_ENTITY_BUTTERFLY = 0x4E,
171 ENTITY_ID_TESTAMENT_ENTITY_1 = 0x4F,
172 ENTITY_ID_TESTAMENT_ENTITY_2 = 0x50,
173 ENTITY_ID_AXL_ENTITY_2 = 0x51,
174 ENTITY_ID_TESTAMENT_ENTITY_CROW = 0x52,
175 ENTITY_ID_JOHNNY_ENTITY_COIN = 0x55,
176 ENTITY_ID_I_NO_ENTITY = 0x56,
177 ENTITY_ID_ZAPPA_ENTITY_RAOU = 0x57,
178 ENTITY_ID_SLAYER_ENTITY = 0x58,
179 ENTITY_ID_ZAPPA_ENTITY = 0x59,
180 ENTITY_ID_ZAPPA_ENTITY_TRIPLETS = 0x5B,
181 ENTITY_ID_BRIDGET_ENTITY_1 = 0x5C,
182 ENTITY_ID_ZAPPA_ENTITY_SWORD = 0x5D,
183 ENTITY_ID_BRIDGET_ENTITY_2 = 0x5E,
184 ENTITY_ID_ZAPPA_ENTITY_DOG = 0x60,
185 ENTITY_ID_ROBO_KY_ENTITY_1 = 0x62,
186 ENTITY_ID_ROBO_KY_ENTITY_2 = 0x63,
187 ENTITY_ID_ABA_ENTITY = 0x64,
188 ENTITY_ID_ORDER_SOL_ENTITY_1 = 0x67,
189 ENTITY_ID_ORDER_SOL_ENTITY_2 = 0x68,
190 ENTITY_ID_KLIFF_ENTITY = 0x6C,
191 ENTITY_ID_JUSTICE_ENTITY_1 = 0x6E,
192 ENTITY_ID_JUSTICE_ENTITY_2 = 0x6F,
193 ENTITY_ID_BURST_ENTITY = 0x84,
196enum GGXXACPR_StageId {
211 STAGE_ID_PHANTOM_CITY,
219 STAGE_ID_LONDON_RELOAD = 21,
220 STAGE_ID_COLONY_RELOAD,
221 STAGE_ID_RUSSIA_RELOAD,
222 STAGE_ID_CHINA_RELOAD,
223 STAGE_ID_MAY_SHIP_RELOAD,
224 STAGE_ID_ZEPP_RELOAD,
225 STAGE_ID_NIRVANA_RELOAD,
226 STAGE_ID_PARIS_RELOAD,
227 STAGE_ID_HELL_RELOAD,
228 STAGE_ID_GROVE_RELOAD,
229 STAGE_ID_VERDANT_RELOAD,
230 STAGE_ID_CASTLE_RELOAD,
231 STAGE_ID_BABYLON_RELOAD,
232 STAGE_ID_PHANTOM_CITY_RELOAD,
233 STAGE_ID_UNKNOWN_RELOAD,
234 STAGE_ID_FRASCO_RELOAD,
235 STAGE_ID_AD2172_RELOAD,
236 STAGE_ID_GRAVE_RELOAD,
237 STAGE_ID_HEAVEN_RELOAD,
238 STAGE_ID_KOREA_RELOAD,
240 STAGE_ID_LONDON_SLASH = 41,
241 STAGE_ID_COLONY_SLASH,
242 STAGE_ID_RUSSIA_SLASH,
243 STAGE_ID_CHINA_SLASH,
244 STAGE_ID_MAY_SHIP_SLASH,
246 STAGE_ID_NIRVANA_SLASH,
247 STAGE_ID_PARIS_SLASH,
249 STAGE_ID_GROVE_SLASH,
250 STAGE_ID_VERDANT_SLASH,
251 STAGE_ID_CASTLE_SLASH,
252 STAGE_ID_BABYLON_SLASH,
253 STAGE_ID_PHANTOM_CITY_SLASH,
254 STAGE_ID_UNKNOWN_SLASH,
255 STAGE_ID_FRASCO_SLASH,
256 STAGE_ID_AD2172_SLASH,
257 STAGE_ID_GRAVE_SLASH,
258 STAGE_ID_HEAVEN_SLASH,
259 STAGE_ID_KOREA_SLASH,
262enum GGXXACPR_ColliderId {
265 COLLIDER_ID_HURT_BOX,
268 COLLIDER_ID_USE_EXTRA,
271 COLLIDER_ID_ADJUST_PUSH,
274 COLLIDER_ID_UNKNOWN_6,
277enum GGXXACPR_ActionState {
278 ACTION_STATE_NONE = 0x0,
279 ACTION_STATE_IS_ENTITY = 0x1,
280 ACTION_STATE_COLLIDES_WITH_P2 = 0x2,
281 ACTION_STATE_COLLIDES_WITH_P1 = 0x4,
282 ACTION_STATE_DRAW_SPRITE = 0x8,
283 ACTION_STATE_IS_AIRBORNE = 0x10,
284 ACTION_STATE_IS_IN_HITSTUN = 0x20,
285 ACTION_STATE_DISABLE_HITBOXES = 0x40,
286 ACTION_STATE_DISABLE_HURTBOXES = 0x80,
287 ACTION_STATE_KNOCKED_DOWN = 0x100,
288 ACTION_STATE_IS_IN_BLOCKSTUN = 0x200,
289 ACTION_STATE_IS_CROUCHING = 0x400,
290 ACTION_STATE_IS_CORNERED = 0x800,
291 ACTION_STATE_LANDING_FLAG = 0x1000,
292 ACTION_STATE_IS_AT_SCREEN_LIMIT = 0x2000,
293 ACTION_STATE_PROJECTILE_INVULN = 0x4000,
294 ACTION_STATE_WAKEUP = 0x8000,
295 ACTION_STATE_DISABLE_WAKEUP = 0x10000,
296 ACTION_STATE_STRIKE_INVULN = 0x20000,
297 ACTION_STATE_IS_IDLE = 0x40000,
298 ACTION_STATE_SUPER_FLASH = 0x80000,
299 ACTION_STATE_NO_COLLISION = 0x100000,
300 ACTION_STATE_GRAVITY = 0x200000,
301 ACTION_STATE_UNKNOWN_BIT_22 = 0x400000,
302 ACTION_STATE_THROW_INVULN = 0x800000,
303 ACTION_STATE_UNKNOWN_BIT_24 = 0x1000000,
304 ACTION_STATE_UNKNOWN_BIT_25 = 0x2000000,
305 ACTION_STATE_UNKNOWN_BIT_26 = 0x4000000,
306 ACTION_STATE_UNKNOWN_BIT_27 = 0x8000000,
307 ACTION_STATE_UNKNOWN_BIT_28 = 0x10000000,
308 ACTION_STATE_UNKNOWN_BIT_29 = 0x20000000,
309 ACTION_STATE_IGNORE_RECEIVED_HIT_EFFECTS = 0x40000000,
310 ACTION_STATE_DESPAWN = 0x80000000,
313enum GGXXACPR_AttackState {
314 ATTACK_STATE_NONE = 0x0,
315 ATTACK_STATE_IS_ATTACK = 0x1,
316 ATTACK_STATE_UNKNOWN_BIT_1 = 0x2,
317 ATTACK_STATE_UNKNOWN_BIT_2 = 0x4,
318 ATTACK_STATE_UNKNOWN_BIT_3 = 0x8,
319 ATTACK_STATE_IN_GATLING_WINDOW = 0x10,
320 ATTACK_STATE_SPECIAL_CANCEL_OKAY = 0x20,
321 ATTACK_STATE_UNKNOWN_BIT_6 = 0x40,
322 ATTACK_STATE_UNKNOWN_BIT_7 = 0x80,
323 ATTACK_STATE_HOMING_JUMP_OKAY = 0x100,
324 ATTACK_STATE_KARA_FD_OKAY = 0x200,
325 ATTACK_STATE_NO_SPECIAL_CANCEL = 0x400,
326 ATTACK_STATE_IN_RECOVERY = 0x800,
327 ATTACK_STATE_HAS_CONNECTED = 0x1000,
328 ATTACK_STATE_UNKNOWN_BIT_13 = 0x2000,
329 ATTACK_STATE_UNKNOWN_BIT_14 = 0x4000,
330 ATTACK_STATE_UNKNOWN_BIT_15 = 0x8000,
331 ATTACK_STATE_JUMP_CANCELABLE = 0x10000,
332 ATTACK_STATE_HAS_HIT_OPPONENT = 0x20000,
333 ATTACK_STATE_UNKNOWN_BIT_18 = 0x40000,
334 ATTACK_STATE_UNKNOWN_BIT_19 = 0x80000,
335 ATTACK_STATE_UNKNOWN_BIT_20 = 0x100000,
336 ATTACK_STATE_UNKNOWN_BIT_21 = 0x200000,
337 ATTACK_STATE_UNKNOWN_BIT_22 = 0x400000,
338 ATTACK_STATE_UNKNOWN_BIT_23 = 0x800000
345enum GGXXACPR_CommandState {
346 COMMAND_STATE_NONE = 0x0,
347 COMMAND_STATE_NO_NEUTRAL = 0x1,
348 COMMAND_STATE_NO_FORWARD = 0x2,
349 COMMAND_STATE_NO_BACKWARD = 0x4,
350 COMMAND_STATE_NO_CROUCH = 0x8,
351 COMMAND_STATE_NO_JUMP = 0x10,
352 COMMAND_STATE_UNKNOWN_BIT_5 = 0x20,
353 COMMAND_STATE_NO_ATTACK = 0x40,
354 COMMAND_STATE_UNKNOWN_BIT_7 = 0x80,
355 COMMAND_STATE_GUARD = 0x100,
356 COMMAND_STATE_UNKNOWN_BIT_9 = 0x200,
357 COMMAND_STATE_AIR_DASH = 0x400,
358 COMMAND_STATE_UKEMI = 0x800,
359 COMMAND_STATE_PREJUMP = 0x1000,
360 COMMAND_STATE_DISABLE_THROW = 0x2000,
361 COMMAND_STATE_FAUST_CRAWL_FORWARD = 0x4000,
362 COMMAND_STATE_FAUST_CRAWL_BACKWARD = 0x8000,
365enum GGXXACPR_GuardState {
366 GUARD_STATE_NONE = 0,
367 GUARD_STATE_STAND_BLOCKING = 0x1,
368 GUARD_STATE_CROUCH_BLOCKING = 0x2,
369 GUARD_STATE_AIR_BLOCKING = 0x4,
370 GUARD_STATE_FAULTLESS_DEFENSE = 0x8,
371 GUARD_STATE_UNKNOWN_BIT_4 = 0x10,
372 GUARD_STATE_UNKNOWN_BIT_5 = 0x20,
373 GUARD_STATE_IN_BLOCKSTUN = 0x40,
374 GUARD_STATE_UNKNOWN_BIT_7 = 0x80,
375 GUARD_STATE_UNKNOWN_BIT_8 = 0x100,
376 GUARD_STATE_GUARD_POINT = 0x200,
377 GUARD_STATE_ARMOR = 0x400,
378 GUARD_STATE_PARRY_1 = 0x800,
379 GUARD_STATE_PARRY_2 = 0x1000,
380 GUARD_STATE_UNKNOWN_BIT_13 = 0x2000,
381 GUARD_STATE_UNKNOWN_BIT_14 = 0x4000,
382 GUARD_STATE_UNKNOWN_BIT_15 = 0x8000,
385enum GGXXACPR_BackgroundState {
386 BACKGROUND_STATE_NONE = 0,
387 BACKGROUND_STATE_UNKNOWN_BIT_0 = 0x1,
388 BACKGROUND_STATE_HUD_OFF = 0x2,
389 BACKGROUND_STATE_DEFAULT = 0x4,
390 BACKGROUND_STATE_BLACK_BACKGROUND = 0x8,
391 BACKGROUND_STATE_POST_FLASH_DIM = 0x10,
392 BACKGROUND_STATE_UNKNOWN_BIT_5 = 0x20,
393 BACKGROUND_STATE_UNKNOWN_BIT_6 = 0x40,
394 BACKGROUND_STATE_UNKNOWN_BIT_7 = 0x80,
395 BACKGROUND_STATE_UNKNOWN_BIT_8 = 0x100,
396 BACKGROUND_STATE_UNKNOWN_BIT_9 = 0x200,
397 BACKGROUND_STATE_UNKNOWN_BIT_10 = 0x400,
398 BACKGROUND_STATE_SUPER_FLASH = 0x800,
399 BACKGROUND_STATE_UNKNOWN_BIT_12 = 0x1000,
400 BACKGROUND_STATE_UNKNOWN_BIT_13 = 0x2000,
401 BACKGROUND_STATE_FORCE_BREAK_SUPER_FLASH = 0x4000,
402 BACKGROUND_STATE_LIGHTNING = 0x8000,
405enum GGXXACPR_SpriteRenderState {
406 SPRITE_RENDER_STATE_NONE = 0x0,
407 SPRITE_RENDER_STATE_IGNORE_UNIVERSAL_Y_OFFSET = 0x8,
408 SPRITE_RENDER_STATE_DEAD_ANGLE_OR_FRC_FLASH = 0x200,
409 SPRITE_RENDER_STATE_STROBE = 0x400,
410 SPRITE_RENDER_STATE_FIRE = 0x1000,
411 SPRITE_RENDER_STATE_INSTALL_FLASH = 0x4000,
412 SPRITE_RENDER_STATE_INVISIBLE = 0x8000,
413 SPRITE_RENDER_STATE_SILHOUETTE = 0x10000,
414 SPRITE_RENDER_STATE_MOROHA_MODE_FLASH = 0x80000,
415 SPRITE_RENDER_STATE_POISON_FLASH = 0x100000,
416 SPRITE_RENDER_STATE_INSTANT_BLOCK_FLASH = 0x800000,
417 SPRITE_RENDER_STATE_COUNTER_HIT_FLASH = 0x1000000,
418 SPRITE_RENDER_STATE_EASY_FRC_FLASH = 0x4000000,
419 SPRITE_RENDER_STATE_LIGHT_GREEN_FLASH = 0x8000000,
420 SPRITE_RENDER_STATE_LIGHT_YELLOW_FLASH = 0x10000000,
421 SPRITE_RENDER_STATE_LIGHT_BLUE_FLASH = 0x20000000
424enum GGXXACPR_DrawSpriteAttributes {
425 ACPR_DRAW_SPRITE_ALIGN_LEFT = 0x1,
426 ACPR_DRAW_SPRITE_ALIGN_X_CENTER = 0x2,
427 ACPR_DRAW_SPRITE_ALIGN_TOP = 0x4,
428 ACPR_DRAW_SPRITE_ALIGN_Y_CENTER = 0x8,
429 ACPR_DRAW_SPRITE_FLIP_TEXTURE_U = 0x10,
430 ACPR_DRAW_SPRITE_FLIP_TEXTURE_Y = 0x20,
431 ACPR_DRAW_SPRITE_ROTATE_CCW_90 = 0x1000,
432 ACPR_DRAW_SPRITE_ROTATE_180 = 0x2000,
435enum GGXXACPR_RawControllerInput {
449 INPUT_TOP_FACE = 0x1000,
450 INPUT_RIGHT_FACE = 0x2000,
451 INPUT_BOTTOM_FACE = 0x4000,
452 INPUT_LEFT_FACE = 0x8000,
455enum GGXXACPR_Language {
471 uint8_t Buffer[0x600];
479 int32_t UNKNOWN_FIELD(0x0C);
481 int32_t UNKNOWN_FIELD(0x14);
492 uint32_t InputPress1;
493 uint32_t InputPress2;
494 uint32_t InputRelease;
495 int32_t SelectCharge;
507 int32_t TopFaceCharge;
508 int32_t RightFaceCharge;
509 int32_t BottomFaceCharge;
510 int32_t LeftFaceCharge;
528 uint32_t ActHeaderFlags;
535 int16_t launchVelocityX;
536 int16_t launchVelocityY;
538 int16_t counterHitLaunchVelocityX;
539 int16_t counterHitLaunchVelocityY;
541 int16_t cleanHitCheckXDist;
542 int16_t cleanHitCheckYDist;
543 int16_t cleanHitCheckHalfWidth;
544 int16_t cleanHitCheckHalfHeight;
545 int16_t cleanHitCheckScale;
546 uint8_t forceCleanHit;
558 int16_t downUkemiTime;
560 uint16_t UNKNOWN_FIELD(0xA);
564 uint16_t hitSetParamNo;
565 uint16_t hitSetParamFlag;
566 uint16_t GuardSetParamNo;
567 uint16_t GuardSetParamFlag;
572 int16_t UNKNOWN_FIELD(0x20);
573 int16_t UNKNOWN_FIELD(0x22);
574 int16_t UNKNOWN_FIELD(0x24);
575 int16_t UNKNOWN_FIELD(0x26);
576 int16_t UNKNOWN_FIELD(0x28);
577 int16_t UNKNOWN_FIELD(0x2A);
594 float UNKNOWN_FIELD(0x0);
598 int32_t cameraXPos_stageCopy;
599 int32_t cameraYPos_stageCopy;
600 uint32_t cameraWidth_2;
603 int32_t anchorYPosMinus40000;
604 uint32_t cameraWidth_3;
605 uint32_t cameraHeight;
606 float minPlayerYPosFloat;
609 uint32_t cameraWidth_actual;
612 float zoomBackgroundScale;
613 float zoomSpriteScale;
614 uint32_t cameraFlags;
618 int32_t minPlayerYPos;
619 int32_t UNKNOWN_FIELD(0x64);
620 int32_t UNKNOWN_FIELD(0x68);
621 int32_t UNKNOWN_FIELD(0x6C);
623 float playerCenterPointX;
624 int32_t cameraXPos_actual;
625 int32_t cameraYPos_actual;
627 int32_t cameraXPos_spriteCopy;
628 int32_t cameraYPos_spriteCopy;
629 uint32_t cameraWidth_4;
640 int16_t DragonInstallTimer;
642 int16_t DragonInstallSecond;
646 uint16_t RestiveRollingLimit;
660 uint16_t LustShakerMash;
672 uint16_t RensenState;
676 uint8_t GiganticBulletInputted;
680 int16_t LandBreakActOverride;
682 int16_t InvisibilityTimer;
685 int16_t FastShuriken;
687 int16_t InvisibilityLevel;
700 uint8_t DefenderChest;
701 uint8_t AttackerChest;
711 int16_t CurseAttacks;
713 int32_t CurseSequence;
718 uint8_t CardSpecialChainsRemaining;
720 uint8_t RyuujinCards;
721 uint8_t GekirinCards;
722 uint8_t KenroukakuCards;
724 uint8_t ParryBufferTime;
726 uint8_t JumpFlagOverride;
727 uint8_t UnknownOverride;
731 int16_t GuardPointCancelTimer;
732 int16_t GuardPointCancelOkay;
736 int16_t MistFinerLevel;
738 uint8_t EXMistFinerTimer;
743 uint8_t BilliardLaunchAngle;
744 uint8_t ChargedBilliardTimer;
745 uint8_t BilliardHealth;
746 uint8_t BilliardBounceFlags;
748 uint8_t EXObjectBallStocks;
752 uint8_t FishActQueue[4];
753 uint8_t KnifeReleased;
755 uint8_t EXKnifeStandby;
757 uint16_t EXNecroInstallTimer;
765 int16_t ChatterCooldown;
766 int16_t DogGatlingLimitReached;
767 uint16_t DogActionBuffer;
769 uint8_t AirDarknessAnthemUsesRemaining;
770 uint16_t RaouDuration;
776 uint16_t YoYoSetupTimer;
778 uint16_t RollingMovementUsesRemaining;
779 uint16_t ThrowDirection;
780 uint16_t Unknown_0xC;
781 uint16_t Unknown_0xE;
782 int32_t ThrowXVelocity;
783 int32_t ThrowYVelocity;
792 int16_t RisKyHitboxIndex;
796 uint16_t InstallMode;
797 uint16_t BloodBagCount;
799 uint16_t HealthReduction;
802 uint16_t InstallMode_2;
803 uint16_t InstallAnimationTimer;
807 uint16_t ChargeLevelFreezeTimer;
809 uint16_t ChargeLevelActual;
810 uint16_t DragonInstallFollowUp;
811 uint16_t DragonInstallTimer;
812 uint16_t ChargeLevelTarget;
816 uint16_t ScaleRipperTimer;
820 uint16_t InstallTimer;
821 uint16_t AirMichaelSwordUsesRemaining;
876 uint8_t staggerShakeTime;
877 uint8_t backStepInvalid;
878 uint16_t currentGlobalProration;
879 int16_t negativePenaltyTimer;
880 int16_t counterRedTime;
881 uint16_t homingJumpFlag;
882 int32_t homingJumpTimer;
885 int16_t throwProtectionTimer;
889 uint16_t homingJumpDir;
894 uint8_t whiteOutTime;
895 uint8_t invulnCounter;
896 uint8_t airDashRecoveryTimer;
898 uint8_t downBoundDamage;
900 int16_t tensionGainPenaltyTimer;
902 uint8_t frcLockoutTimer;
903 int32_t UNKNOWN_FIELD(0x34);
904 int16_t UNKNOWN_FIELD(0x38);
905 int16_t UNKNOWN_FIELD(0x3A);
906 uint8_t UNKNOWN_FIELD(0x3C);
907 uint8_t instantBlockTimer;
908 int16_t instantBlockLockoutTimer;
912 uint32_t getChainDataTableFunc;
917 int16_t heavySlashKey;
922 int16_t recPlayerKey;
924 int16_t playMemoryKey;
926 int16_t enemyWalkKey;
927 int16_t enemyJumpKey;
928 int16_t punchAndKickKey;
929 int16_t punchAndDustKey;
933 int16_t lifeLengthDamage;
935 uint8_t airDashCount;
940 int16_t dizzyBuildup;
941 int16_t dizzyDuration;
945 uint32_t exCommandFunc;
946 uint8_t jumpDirection;
949 uint8_t dizzyThreshold;
952 uint32_t hitstunFlags;
953 uint32_t UNKNOWN_FIELD(0xB0);
954 uint32_t atkHitInterrupt;
955 uint32_t atkGuardInterrupt;
956 uint32_t damageInterrupt;
960 uint32_t landInterrupt;
961 uint32_t actChangeInterrupt;
963 uint32_t getUpInterrupt;
964 uint32_t guardCheckInterrupt;
965 uint32_t posByEnemyAddr;
966 uint8_t overKillFlag;
969 uint8_t afterImageIndex;
971 int16_t healthVisual;
972 int16_t tensionPulse;
973 int16_t tensionSideTime;
974 int16_t tensionPassivityCounter;
987 uint8_t UNKNOWN_FIELD(0xFA);
988 uint8_t throwCounterThing;
989 uint8_t UNKNOWN_FIELD(0xFC);
990 uint8_t UNKNOWN_FIELD(0xFD);
991 int16_t comboCounter;
995 int16_t comboCounterVisual;
996 uint8_t UNKNOWN_FIELD(0x102);
997 uint8_t UNKNOWN_FIELD(0x103);
1002 uint8_t heavySlashSeal;
1004 uint8_t UNKNOWN_FIELD(0x10A);
1005 uint8_t slashBackActiveWindow;
1006 uint8_t slashBackGuardLockoutTimer;
1007 uint8_t slashBackGuardstunTimer;
1008 uint8_t slashBackLockoutOnWakeupTimer;
1009 uint8_t slashBackFollowupTimer;
1010 int16_t throwTechFlags;
1011 uint8_t UNKNOWN_FIELD(0x112);
1012 uint8_t UNKNOWN_FIELD(0x113);
1013 int32_t throwTechColorCounter;
1014 int32_t UNKNOWN_FIELD(0x118);
1015 int32_t cleanHitCounter;
1016 int32_t UNKNOWN_FIELD(0x120);
1017 int32_t UNKNOWN_FIELD(0x124);
1018 int32_t UNKNOWN_FIELD(0x128);
1019 int32_t UNKNOWN_FIELD(0x12C);
1020 int32_t UNKNOWN_FIELD(0x130);
1021 int32_t UNKNOWN_FIELD(0x134);
1022 int32_t tensionCopy;
1023 int32_t UNKNOWN_FIELD(0x13C);
1027 int32_t tensionRefill;
1028 int32_t UNKNOWN_FIELD(0x144);
1047 uint8_t bIsFacingRight;
1048 uint8_t bIsLeftSide;
1059 uint32_t actionState;
1060 uint16_t bufferedActionId;
1061 uint16_t bufferFlag;
1062 uint16_t bufferedActionIdTemp;
1063 uint16_t bufferFlagTemp;
1069 uint16_t actionIdSv;
1071 uint8_t playerIndex;
1072 uint16_t parentFlag;
1073 uint16_t guardState;
1076 uint32_t graphicFunction;
1077 uint32_t attackState;
1078 uint32_t commandFlags;
1084 uint16_t lastCellNo;
1086 uint16_t lastImageNo;
1096 uint8_t hurtboxFlag;
1098 uint32_t tensionAddByHit;
1107 int16_t UNKNOWN_FIELD(0x7C);
1108 int16_t UNKNOWN_FIELD(0x7E);
1112 int16_t displayVar1;
1113 int16_t displayVar2;
1115 int8_t hitboxSetIterationVar;
1117 uint32_t hitParamPtr;
1118 uint32_t damParamPtr;
1119 uint32_t colliHitInterrupt;
1120 uint32_t paletteProcedurePtr;
1122 uint8_t localPalette;
1123 uint8_t paletteFlag;
1125 int16_t spriteIdTop;
1126 int16_t fbSpriteIdTop;
1127 int16_t spriteIdMax;
1131 uint8_t spriteIdIdx;
1133 uint32_t spriteFlag;
1150 int16_t drawPriority;
1157 uint16_t animationNo;
1158 uint16_t animationTime;
1159 uint8_t animationRate;
1160 uint8_t hitstopTime;
1161 uint8_t animationTimeMax;
1169 uint16_t airDashFlags;
1170 uint16_t airDashFlags2;
1172 uint32_t throwFlags;
1183enum GGXXACPR_TrainingState {
1184 ACPR_TRAINING_STATE_DEFAULT,
1185 ACPR_TRAINING_STATE_SWITCH,
1186 ACPR_TRAINING_STATE_RECORDING_STANDBY,
1187 ACPR_TRAINING_STATE_RECORDING_RECORD,
1188 ACPR_TRAINING_STATE_RECORDING_PLAYBACK,
1189 ACPR_TRAINING_STATE_PRACTICE_UNUSED,
1195 uint8_t UNKNOWN_FIELD(0x0);
1196 uint8_t UNKNOWN_FIELD(0x1);
1197 uint16_t PlaybackTimer;
1199 int32_t InstantStartIndex;
1200 int32_t RecordingSize;
1208 uint16_t PlaybackTimer;
1209 int16_t UNKNOWN_FIELD(0x4);
1211 int32_t Recordings[4500][4];
1212 int32_t UNKNOWN_FIELD(0x11948);
1213 int32_t InstantStartIndices[4];
1214 int32_t RecordingSizes[4];
1215 int32_t UNKNOWN_FIELD(0x1196C);
1216 int32_t UNKNOWN_FIELD(0x11970);
1217 int32_t UNKNOWN_FIELD(0x11974);
1218 int32_t UNKNOWN_FIELD(0x11978);
1220 uint32_t InputArray[4][2];
1226#if defined(D3DCOLOR_DEFINED) && defined(D3DVECTOR_DEFINED)
1228 typedef D3DCOLOR GGXXACPR_Color;
1234 typedef uint32_t GGXXACPR_Color;
1239 GGXXACPR_Color Color;
1249 float u0, v0, u1, v1;
1255 int32_t offset_color;
Definition ggxxacpr_c.h:593
Definition ggxxacpr_c.h:795
Definition ggxxacpr_c.h:730
Definition ggxxacpr_c.h:670
Definition ggxxacpr_c.h:773
Definition ggxxacpr_c.h:679
Definition ggxxacpr_c.h:751
Definition ggxxacpr_c.h:690
Definition ggxxacpr_c.h:698
Definition ggxxacpr_c.h:716
Definition ggxxacpr_c.h:735
Definition ggxxacpr_c.h:819
Definition ggxxacpr_c.h:815
Definition ggxxacpr_c.h:645
uint16_t HoopDolphinType
Definition ggxxacpr_c.h:656
uint16_t RestiveRollingDirection
Definition ggxxacpr_c.h:651
Definition ggxxacpr_c.h:659
uint8_t SecretGardenQueue[4]
Definition ggxxacpr_c.h:667
Definition ggxxacpr_c.h:806
Definition ggxxacpr_c.h:675
Definition ggxxacpr_c.h:786
Definition ggxxacpr_c.h:639
Definition ggxxacpr_c.h:706
Definition ggxxacpr_c.h:742
Definition ggxxacpr_c.h:760
Definition ggxxacpr_c.h:517
Definition ggxxacpr_c.h:1237
Definition ggxxacpr_c.h:554
Definition ggxxacpr_c.h:1245
Training mode dummy recording struct.
Definition ggxxacpr_c.h:1206
Definition ggxxacpr_c.h:1045
Definition ggxxacpr_c.h:475
Definition ggxxacpr_c.h:534
Definition ggxxacpr_c.h:468
Definition ggxxacpr_c.h:873
Training mode dummy reversal recording struct.
Definition ggxxacpr_c.h:1194
Definition ggxxacpr_c.h:581
Definition ggxxacpr_c.h:1230
Definition ggxxacpr_c.h:847