-
Notifications
You must be signed in to change notification settings - Fork 5
/
playerhitdata.h
551 lines (445 loc) · 22 KB
/
playerhitdata.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
#pragma once
#include <prism/actorhandler.h>
#include "mugenstatereader.h"
#include "mugensound.h"
struct DreamPlayer;
typedef enum {
MUGEN_ATTACK_CLASS_NORMAL,
MUGEN_ATTACK_CLASS_SPECIAL,
MUGEN_ATTACK_CLASS_HYPER,
} MugenAttackClass;
enum MugenAttackClassFlags : uint32_t {
MUGEN_ATTACK_CLASS_NORMAL_FLAG = (1 << 0),
MUGEN_ATTACK_CLASS_SPECIAL_FLAG = (1 << 1),
MUGEN_ATTACK_CLASS_HYPER_FLAG = (1 << 2),
MUGEN_ATTACK_CLASS_ALL_FLAG = (MUGEN_ATTACK_CLASS_NORMAL_FLAG | MUGEN_ATTACK_CLASS_SPECIAL_FLAG | MUGEN_ATTACK_CLASS_HYPER_FLAG),
};
typedef enum {
MUGEN_ATTACK_TYPE_ATTACK,
MUGEN_ATTACK_TYPE_THROW,
MUGEN_ATTACK_TYPE_PROJECTILE,
} MugenAttackType;
typedef enum {
MUGEN_ATTACK_HEIGHT_LOW,
MUGEN_ATTACK_HEIGHT_HIGH,
MUGEN_ATTACK_HEIGHT_TRIP,
MUGEN_ATTACK_HEIGHT_HEAVY,
MUGEN_ATTACK_HEIGHT_NONE,
} MugenAttackHeight;
typedef enum {
MUGEN_HIT_ANIMATION_TYPE_LIGHT,
MUGEN_HIT_ANIMATION_TYPE_MEDIUM,
MUGEN_HIT_ANIMATION_TYPE_HARD,
MUGEN_HIT_ANIMATION_TYPE_BACK,
MUGEN_HIT_ANIMATION_TYPE_UP,
MUGEN_HIT_ANIMATION_TYPE_DIAGONAL_UP,
MUGEN_HIT_ANIMATION_TYPE_HEAVY,
} MugenHitAnimationType;
typedef enum {
MUGEN_AFFECT_TEAM_BOTH,
MUGEN_AFFECT_TEAM_ENEMY,
MUGEN_AFFECT_TEAM_FRIENDLY,
} MugenAffectTeam;
typedef enum {
MUGEN_HIT_PRIORITY_DODGE,
MUGEN_HIT_PRIORITY_HIT,
MUGEN_HIT_PRIORITY_MISS,
} MugenHitPriorityType;
typedef struct {
int mIsActive;
std::string mFlag1;
std::vector<std::string> mFlag2;
int mNow;
int mTime;
int mIsHitBy;
} DreamHitDefAttributeSlot;
typedef struct {
int mIsActive;
DreamHitDefAttributeSlot mReversalAttribute;
int mPlayer1PauseTime;
int mPlayer2PauseTime;
int mIsSparkInPlayerFile;
int mSparkNumber;
Vector2DI mSparkXY;
int mIsHitSoundInPlayerFile;
DreamMugenSound mHitSound;
int mHasPlayer1StateNumber;
int mPlayer1StateNumber;
int mHasPlayer2StateNumber;
int mPlayer2StateNumber;
} ReversalDef;
typedef struct {
int mIsActive;
DreamPlayer* mPlayer;
int mCoordinateP;
DreamMugenStateType mType;
MugenAttackClass mAttackClass;
MugenAttackType mAttackType;
char mHitFlag[10];
char mGuardFlag[10];
MugenAffectTeam mAffectTeam;
MugenHitAnimationType mAnimationType;
MugenHitAnimationType mAirAnimationType;
MugenHitAnimationType mFallAnimationType;
int mPriority;
MugenHitPriorityType mPriorityType;
int mDamage;
int mGuardDamage;
int mPlayer1PauseTime;
int mPlayer2ShakeTime;
int mGuardPlayer1PauseTime;
int mGuardPlayer2ShakeTime;
int mIsSparkInPlayerFile;
int mSparkNumber;
int mIsGuardSparkInPlayerFile;
int mGuardSparkNumber;
Position2D mSparkOffset;
int mIsHitSoundInPlayerFile;
DreamMugenSound mHitSound;
int mIsGuardSoundInPlayerFile;
DreamMugenSound mGuardSound;
MugenAttackHeight mGroundType;
MugenAttackHeight mAirType;
int mGroundSlideTime;
int mGuardSlideTime;
int mGroundHitTime;
int mGuardHitTime;
int mAirHitTime;
int mGuardControlTime;
int mGuardDistance;
double mVerticalAcceleration;
Vector2D mGroundVelocity;
double mGuardVelocity;
Vector2D mAirVelocity;
Vector2D mAirGuardVelocity;
double mGroundCornerPushVelocityOffset;
double mAirCornerPushVelocityOffset;
double mDownCornerPushVelocityOffset;
double mGuardCornerPushVelocityOffset;
double mAirGuardCornerPushVelocityOffset;
int mAirGuardControlTime;
int mAirJugglePoints;
int mHasMinimumDistance;
Vector2DI mMinimumDistance;
int mHasMaximumDistance;
Vector2DI mMaximumDistance;
int mHasSnap;
Vector2DI mSnap;
int mPlayer1DrawingPriority;
int mPlayer2DrawingPriority;
int mIsPlayer1TurningAround;
int mPlayer1ChangeFaceDirectionRelativeToPlayer2;
int mPlayer2ChangeFaceDirectionRelativeToPlayer1;
int mPlayer1StateNumber;
int mPlayer2StateNumber;
int mCanPlayer2GetPlayer1State;
int mIsForcingPlayer2ToStandingPosition;
int mFall;
Vector2D mFallVelocity;
int mCanRecoverFall;
int mFallRecoveryTime;
int mFallDamage;
int mAirFall;
int mForcePlayer2OutOfFallState;
Vector2D mDownVelocity;
int mDownHitTime;
int mDownDoesBounce;
int mHitID;
int mChainID;
Vector2DI mNoChainIDs;
int mDoesOnlyHitOneEnemy;
int mCanKill;
int mCanGuardKill;
int mCanFallKill;
int mNumberOfHitsForComboCounter;
int mGetPlayer1Power;
int mGetPlayer1GuardPower;
int mGivePlayer2Power;
int mGivePlayer2GuardPower;
int mPaletteEffectTime;
Vector3D mPaletteEffectMultiplication;
Vector3D mPaletteEffectAddition;
int mEnvironmentShakeTime;
double mEnvironmentShakeFrequency;
int mEnvironmentShakeAmplitude;
double mEnvironmentShakePhase;
int mFallEnvironmentShakeTime;
double mFallEnvironmentShakeFrequency;
int mFallEnvironmentShakeAmplitude;
double mFallEnvironmentShakePhase;
Vector2D mVelocity;
int mIsFacingRight;
ReversalDef mReversalDef;
} PlayerHitData;
typedef struct {
int mIsActive;
DreamMugenStateTypeFlags mStateTypeFlags;
std::vector<std::pair<MugenAttackClassFlags, MugenAttackType>> mAttackClassTypePairs;
int mStateNo;
int mSlot;
int mNow;
int mDuration;
int mDoesForceAir;
} HitOverride;
typedef struct {
HitOverride mHitOverrides[8];
} PlayerHitOverrides;
void updatePlayerHitData(DreamPlayer* tPlayer);
void initPlayerHitData(DreamPlayer* tPlayer);
void setPlayerHitDataCoordinateP(DreamPlayer* tPlayer);
void clearPlayerHitData(DreamPlayer* tPlayer);
void copyHitDataToActive(DreamPlayer* tPlayer, void* tHitData);
int isReceivedHitDataActive(void* tHitData);
int isHitDataActive(DreamPlayer* tPlayer);
int isActiveHitDataActive(DreamPlayer* tPlayer);
void setHitDataActive(DreamPlayer* tPlayer);
void setReceivedHitDataInactive(void* tHitData);
void setHitDataInactive(DreamPlayer* tPlayer);
void setActiveHitDataInactive(DreamPlayer* tPlayer);
int getActiveHitDataCoordinateP(DreamPlayer* tPlayer);
void* getPlayerHitDataReference(DreamPlayer* tPlayer);
DreamPlayer* getReceivedHitDataPlayer(void* tHitData);
DreamPlayer* getActiveHitDataPlayer(DreamPlayer* tPlayer);
DreamMugenStateType getHitDataType(DreamPlayer* tPlayer);
void setHitDataType(DreamPlayer* tPlayer, DreamMugenStateType tType);
MugenAttackClass getHitDataAttackClass(DreamPlayer* tPlayer);
MugenAttackClass getActiveHitDataAttackClass(DreamPlayer* tPlayer);
void setHitDataAttackClass(DreamPlayer* tPlayer, MugenAttackClass tClass);
MugenAttackType getHitDataAttackType(DreamPlayer* tPlayer);
MugenAttackType getActiveHitDataAttackType(DreamPlayer* tPlayer);
void setHitDataAttackType(DreamPlayer* tPlayer, MugenAttackType tType);
void setHitDataHitFlag(DreamPlayer* tPlayer, const char* tFlag);
char* getActiveHitDataGuardFlag(DreamPlayer* tPlayer);
void setHitDataGuardFlag(DreamPlayer* tPlayer, const char* tFlag);
MugenAffectTeam getHitDataAffectTeam(DreamPlayer* tPlayer);
void setHitDataAffectTeam(DreamPlayer* tPlayer, MugenAffectTeam tAffectTeam);
MugenHitAnimationType getActiveHitDataAnimationType(DreamPlayer* tPlayer);
MugenHitAnimationType getHitDataAnimationType(DreamPlayer* tPlayer);
void setHitDataAnimationType(DreamPlayer* tPlayer, MugenHitAnimationType tAnimationType);
MugenHitAnimationType getHitDataAirAnimationType(DreamPlayer* tPlayer);
void setHitDataAirAnimationType(DreamPlayer* tPlayer, MugenHitAnimationType tAnimationType);
void setHitDataFallAnimationType(DreamPlayer* tPlayer, MugenHitAnimationType tAnimationType);
void setHitDataPriority(DreamPlayer* tPlayer, int tPriority, MugenHitPriorityType tPriorityType);
int getActiveHitDataDamage(DreamPlayer* tPlayer);
int getActiveHitDataGuardDamage(DreamPlayer* tPlayer);
int getHitDataDamage(DreamPlayer* tPlayer);
void setHitDataDamage(DreamPlayer* tPlayer, int tDamage, int tGuardDamage);
int getActiveHitDataPlayer1PauseTime(DreamPlayer* tPlayer);
int getActiveHitDataPlayer1GuardPauseTime(DreamPlayer* tPlayer);
int getHitDataPlayer1PauseTime(DreamPlayer* tPlayer);
int getActiveHitDataPlayer2PauseTime(DreamPlayer* tPlayer);
int getActiveHitDataPlayer2GuardPauseTime(DreamPlayer* tPlayer);
int getHitDataPlayer2PauseTime(DreamPlayer* tPlayer);
void setHitDataPauseTime(DreamPlayer* tPlayer, int tPlayer1PauseTime, int tPlayer2PauseTime);
void setHitDataGuardPauseTime(DreamPlayer* tPlayer, int tPlayer1PauseTime, int tPlayer2PauseTime);
int getActiveHitDataPlayerHitShakeTime(DreamPlayer* tPlayer);
int isActiveHitDataSparkInPlayerFile(DreamPlayer* tPlayer);
int isActiveHitDataGuardSparkInPlayerFile(DreamPlayer* tPlayer);
int isHitDataSparkInPlayerFile(DreamPlayer* tPlayer);
int getActiveHitDataSparkNumber(DreamPlayer* tPlayer);
int getActiveHitDataGuardSparkNumber(DreamPlayer* tPlayer);
int getHitDataGuardSparkNumber(DreamPlayer * tPlayer);
int getHitDataSparkNumber(DreamPlayer* tPlayer);
void setHitDataSparkNumber(DreamPlayer* tPlayer, int tIsInPlayerFile, int tNumber);
void setHitDataGuardSparkNumber(DreamPlayer* tPlayer, int tIsInPlayerFile, int tNumber);
Position2D getActiveHitDataSparkXY(DreamPlayer* tPlayer);
Position2D getHitDataSparkXY(DreamPlayer* tPlayer);
void setHitDataSparkXY(DreamPlayer* tPlayer, int tX, int tY);
void getActiveHitDataHitSound(DreamPlayer* tPlayer, int* oIsInPlayerFile, Vector2DI* oSound);
void setHitDataHitSound(DreamPlayer* tPlayer, int tIsInPlayerFile, int tGroup, int tItem);
void getActiveHitDataGuardSound(DreamPlayer* tPlayer, int* oIsInPlayerFile, Vector2DI* oSound);
void setHitDataGuardSound(DreamPlayer* tPlayer, int tIsInPlayerFile, int tGroup, int tItem);
MugenAttackHeight getActiveHitDataGroundType(DreamPlayer* tPlayer);
MugenAttackHeight getHitDataGroundType(DreamPlayer* tPlayer);
void setHitDataGroundType(DreamPlayer* tPlayer, MugenAttackHeight tType);
MugenAttackHeight getActiveHitDataAirType(DreamPlayer* tPlayer);
MugenAttackHeight getHitDataAirType(DreamPlayer* tPlayer);
void setHitDataAirType(DreamPlayer* tPlayer, MugenAttackHeight tType);
int getActiveHitDataGroundHitTime(DreamPlayer* tPlayer);
int getHitDataGroundHitTime(DreamPlayer* tPlayer);
void setHitDataGroundHitTime(DreamPlayer* tPlayer, int tHitTime);
int getActiveHitDataGroundSlideTime(DreamPlayer* tPlayer);
int getHitDataGroundSlideTime(DreamPlayer* tPlayer);
void setHitDataGroundSlideTime(DreamPlayer* tPlayer, int tSlideTime);
int getActiveHitDataGuardHitTime(DreamPlayer* tPlayer);
int getHitDataGuardHitTime(DreamPlayer* tPlayer);
void setHitDataGuardHitTime(DreamPlayer* tPlayer, int tHitTime);
int getActiveHitDataGuardSlideTime(DreamPlayer* tPlayer);
int getHitDataGuardSlideTime(DreamPlayer* tPlayer);
void setHitDataGuardSlideTime(DreamPlayer* tPlayer, int tSlideTime);
int getActiveHitDataAirHitTime(DreamPlayer* tPlayer);
void setHitDataAirHitTime(DreamPlayer* tPlayer, int tHitTime);
int getActiveHitDataGuardControlTime(DreamPlayer* tPlayer);
int getHitDataGuardControlTime(DreamPlayer* tPlayer);
void setHitDataGuardControlTime(DreamPlayer* tPlayer, int tControlTime);
int getHitDataGuardDistance(DreamPlayer* tPlayer);
void setHitDataGuardDistance(DreamPlayer* tPlayer, int tDistance);
double getActiveHitDataYAccel(DreamPlayer* tPlayer);
double getHitDataYAccel(DreamPlayer* tPlayer);
void setHitDataYAccel(DreamPlayer* tPlayer, double YAccel);
double getActiveHitDataGroundVelocityX(DreamPlayer* tPlayer);
double getHitDataGroundVelocityX(DreamPlayer* tPlayer);
double getActiveHitDataGroundVelocityY(DreamPlayer* tPlayer);
double getHitDataGroundVelocityY(DreamPlayer* tPlayer);
void setHitDataGroundVelocity(DreamPlayer* tPlayer, double tX, double tY);
double getActiveHitDataGuardVelocity(DreamPlayer* tPlayer);
double getHitDataGuardVelocity(DreamPlayer* tPlayer);
void setHitDataGuardVelocity(DreamPlayer* tPlayer, double tX);
double getActiveHitDataAirVelocityX(DreamPlayer* tPlayer);
double getHitDataAirVelocityX(DreamPlayer* tPlayer);
double getActiveHitDataAirVelocityY(DreamPlayer* tPlayer);
double getHitDataAirVelocityY(DreamPlayer* tPlayer);
void setHitDataAirVelocity(DreamPlayer* tPlayer, double tX, double tY);
void setHitDataAirGuardVelocity(DreamPlayer* tPlayer, double tX, double tY);
double getActiveGroundCornerPushVelocityOffset(DreamPlayer* tPlayer);
double getGroundCornerPushVelocityOffset(DreamPlayer* tPlayer);
void setGroundCornerPushVelocityOffset(DreamPlayer* tPlayer, double tX);
double getActiveAirCornerPushVelocityOffset(DreamPlayer* tPlayer);
void setAirCornerPushVelocityOffset(DreamPlayer* tPlayer, double tX);
double getActiveDownCornerPushVelocityOffset(DreamPlayer* tPlayer);
void setDownCornerPushVelocityOffset(DreamPlayer* tPlayer, double tX);
double getActiveGuardCornerPushVelocityOffset(DreamPlayer* tPlayer);
double getGuardCornerPushVelocityOffset(DreamPlayer* tPlayer);
void setGuardCornerPushVelocityOffset(DreamPlayer* tPlayer, double tX);
double getActiveAirGuardCornerPushVelocityOffset(DreamPlayer* tPlayer);
void setAirGuardCornerPushVelocityOffset(DreamPlayer* tPlayer, double tX);
int getActiveHitDataAirGuardControlTime(DreamPlayer* tPlayer);
void setHitDataAirGuardControlTime(DreamPlayer* tPlayer, int tControlTime);
void setHitDataAirJuggle(DreamPlayer* tPlayer, int tJuggle);
int getActiveHitDataHasMinimumDistance(DreamPlayer* tPlayer);
Vector2DI getActiveHitDataMinimumDistance(DreamPlayer* tPlayer);
void setHitDataMinimumDistanceInactive(DreamPlayer* tPlayer);
void setHitDataMinimumDistance(DreamPlayer* tPlayer, int x, int y);
int getActiveHitDataHasMaximumDistance(DreamPlayer* tPlayer);
Vector2DI getActiveHitDataMaximumDistance(DreamPlayer* tPlayer);
void setHitDataMaximumDistanceInactive(DreamPlayer* tPlayer);
void setHitDataMaximumDistance(DreamPlayer* tPlayer, int x, int y);
int getActiveHitDataHasSnap(DreamPlayer* tPlayer);
Vector2DI getActiveHitDataSnap(DreamPlayer* tPlayer);
void setHitDataSnapInactive(DreamPlayer* tPlayer);
void setHitDataSnap(DreamPlayer* tPlayer, int x, int y);
void setHitDataPlayer1SpritePriority(DreamPlayer* tPlayer, int tPriority);
void setHitDataPlayer2SpritePriority(DreamPlayer* tPlayer, int tPriority);
void setHitDataPlayer1FaceDirection(DreamPlayer* tPlayer, int tFaceDirection);
void setHitDataPlayer1ChangeFaceDirectionRelativeToPlayer2(DreamPlayer* tPlayer, int tFaceDirection);
int getActiveHitDataPlayer2ChangeFaceDirectionRelativeToPlayer1(DreamPlayer* tPlayer);
void setHitDataPlayer2ChangeFaceDirectionRelativeToPlayer1(DreamPlayer* tPlayer, int tFaceDirection);
int getHitDataPlayer1StateNumber(DreamPlayer* tPlayer);
int getActiveHitDataPlayer1StateNumber(DreamPlayer* tPlayer);
void setPlayer1StateNumber(DreamPlayer* tPlayer, int tStateNumber);
int getActiveHitDataPlayer2StateNumber(DreamPlayer* tPlayer);
void setPlayer2StateNumber(DreamPlayer* tPlayer, int tStateNumber);
int getHitDataPlayer2CapableOfGettingPlayer1State(DreamPlayer* tPlayer);
int getActiveHitDataPlayer2CapableOfGettingPlayer1State(DreamPlayer* tPlayer);
void setHitDataPlayer2CapableOfGettingPlayer1State(DreamPlayer* tPlayer, int tVal);
int getActiveHitDataForceStanding(DreamPlayer* tPlayer);
void setHitDataForceStanding(DreamPlayer* tPlayer, int tIsForcedToStand);
int getActiveHitDataFall(DreamPlayer* tPlayer);
int getHitDataFall(DreamPlayer* tPlayer);
void setActiveHitDataFall(DreamPlayer* tPlayer, int tIsCausingPlayer2ToFall);
void setHitDataFall(DreamPlayer* tPlayer, int tIsCausingPlayer2ToFall);
double getActiveHitDataFallXVelocity(DreamPlayer* tPlayer);
double getHitDataFallXVelocity(DreamPlayer* tPlayer);
void setActiveHitDataFallXVelocity(DreamPlayer* tPlayer, double tX, int tCoordinateP);
void setHitDataFallXVelocity(DreamPlayer* tPlayer, double tX);
double getActiveHitDataFallYVelocity(DreamPlayer* tPlayer);
double getHitDataFallYVelocity(DreamPlayer* tPlayer);
void setActiveHitDataFallYVelocity(DreamPlayer* tPlayer, double tY, int tCoordinateP);
void setHitDataFallYVelocity(DreamPlayer* tPlayer, double tY);
int getActiveHitDataFallRecovery(DreamPlayer* tPlayer);
int getHitDataFallRecovery(DreamPlayer* tPlayer);
void setHitDataFallRecovery(DreamPlayer* tPlayer, int tCanRecover);
int getActiveHitDataFallRecoveryTime(DreamPlayer* tPlayer);
void setHitDataFallRecoveryTime(DreamPlayer* tPlayer, int tRecoverTime);
int getActiveHitDataFallDamage(DreamPlayer* tPlayer);
void setHitDataFallDamage(DreamPlayer* tPlayer, int tDamage);
int getActiveHitDataAirFall(DreamPlayer* tPlayer);
void setActiveHitDataAirFall(DreamPlayer* tPlayer, int tIsCausingPlayer2ToFall);
void setHitDataAirFall(DreamPlayer* tPlayer, int tIsCausingPlayer2ToFall);
int getActiveHitDataForceNoFall(DreamPlayer* tPlayer);
void setHitDataForceNoFall(DreamPlayer* tPlayer, int tForcePlayer2NotToFall);
void setHitDataDownVelocity(DreamPlayer* tPlayer, double tX, double tY);
void setHitDataDownHitTime(DreamPlayer* tPlayer, int tHitTime);
void setHitDataDownBounce(DreamPlayer* tPlayer, int tDoesBounce);
int getActiveHitDataHitID(DreamPlayer* tPlayer);
void setHitDataHitID(DreamPlayer* tPlayer, int tID);
int getActiveHitDataChainID(DreamPlayer* tPlayer);
void setHitDataChainID(DreamPlayer* tPlayer, int tID);
void setHitDataNoChainID(DreamPlayer* tPlayer, int tID1, int tID2);
void setHitDataHitOnce(DreamPlayer* tPlayer, int tIsOnlyAffectingOneOpponent);
void setHitDataKill(DreamPlayer* tPlayer, int tCanKill);
void setHitDataGuardKill(DreamPlayer* tPlayer, int tCanKill);
int getActiveHitDataFallKill(DreamPlayer* tPlayer);
void setHitDataFallKill(DreamPlayer* tPlayer, int tCanKill);
void setHitDataNumberOfHits(DreamPlayer* tPlayer, int tNumberOfHits);
int getActiveHitDataPlayer1PowerAdded(DreamPlayer* tPlayer);
int getActiveHitDataPlayer1GuardPowerAdded(DreamPlayer* tPlayer);
int getHitDataPlayer1PowerAdded(DreamPlayer* tPlayer);
void setHitDataGetPower(DreamPlayer* tPlayer, int tPlayer1PowerAdded, int tPlayer1PowerAddedWhenGuarded);
int getActiveHitDataPlayer2PowerAdded(DreamPlayer* tPlayer);
int getActiveHitDataPlayer2GuardPowerAdded(DreamPlayer* tPlayer);
int getHitDataPlayer2PowerAdded(DreamPlayer* tPlayer);
void setHitDataGivePower(DreamPlayer* tPlayer, int tPlayer2PowerAdded, int tPlayer2PowerAddedWhenGuarded);
int getActiveHitDataPaletteEffectTime(DreamPlayer* tPlayer);
void setHitDataPaletteEffectTime(DreamPlayer* tPlayer, int tEffectTime);
Vector3D getActiveHitDataPaletteEffectMultiplication(DreamPlayer* tPlayer);
void setHitDataPaletteEffectMultiplication(DreamPlayer* tPlayer, int tR, int tG, int tB);
Vector3D getActiveHitDataPaletteEffectAddition(DreamPlayer* tPlayer);
void setHitDataPaletteEffectAddition(DreamPlayer* tPlayer, int tR, int tG, int tB);
int getActiveHitDataEnvironmentShakeTime(DreamPlayer* tPlayer);
void setHitDataEnvironmentShakeTime(DreamPlayer* tPlayer, int tTime);
double getActiveHitDataEnvironmentShakeFrequency(DreamPlayer* tPlayer);
double getHitDataEnvironmentShakeFrequency(DreamPlayer* tPlayer);
void setHitDataEnvironmentShakeFrequency(DreamPlayer* tPlayer, double tFrequency);
int getActiveHitDataEnvironmentShakeAmplitude(DreamPlayer* tPlayer);
int getHitDataEnvironmentShakeAmplitude(DreamPlayer* tPlayer);
void setHitDataEnvironmentShakeAmplitude(DreamPlayer* tPlayer, int tAmplitude);
double getActiveHitDataEnvironmentShakePhase(DreamPlayer* tPlayer);
void setHitDataEnvironmentShakePhase(DreamPlayer* tPlayer, double tPhase);
int getActiveHitDataFallEnvironmentShakeTime(DreamPlayer* tPlayer);
void setActiveHitDataFallEnvironmentShakeTime(DreamPlayer* tPlayer, int tTime);
void setHitDataFallEnvironmentShakeTime(DreamPlayer* tPlayer, int tTime);
double getActiveHitDataFallEnvironmentShakeFrequency(DreamPlayer* tPlayer);
double getHitDataFallEnvironmentShakeFrequency(DreamPlayer* tPlayer);
void setHitDataFallEnvironmentShakeFrequency(DreamPlayer* tPlayer, double tFrequency);
int getActiveHitDataFallEnvironmentShakeAmplitude(DreamPlayer* tPlayer);
void setHitDataFallEnvironmentShakeAmplitude(DreamPlayer* tPlayer, int tAmplitude);
double getActiveHitDataFallEnvironmentShakePhase(DreamPlayer* tPlayer);
void setHitDataFallEnvironmentShakePhase(DreamPlayer* tPlayer, double tPhase);
double getActiveHitDataVelocityX(DreamPlayer* tPlayer);
double getHitDataVelocityX(DreamPlayer* tPlayer);
void setActiveHitDataVelocityX(DreamPlayer* tPlayer, double x, int tCoordinateP);
void setHitDataVelocityX(DreamPlayer* tPlayer, double x);
double getActiveHitDataVelocityY(DreamPlayer* tPlayer);
double getHitDataVelocityY(DreamPlayer* tPlayer);
void setActiveHitDataVelocityY(DreamPlayer* tPlayer, double y, int tCoordinateP);
void setHitDataVelocityY(DreamPlayer* tPlayer, double y);
int getActiveHitDataIsFacingRight(DreamPlayer* tPlayer);
void setHitDataIsFacingRight(DreamPlayer* tPlayer, int tIsFacingRight);
int isHitDataReversalDefActive(DreamPlayer* tPlayer);
void setHitDataReversalDefActive(DreamPlayer* tPlayer);
DreamHitDefAttributeSlot* getHitDataReversalDefReversalAttribute(DreamPlayer* tPlayer);
void setHitDataReversalDefFlag1(DreamPlayer* tPlayer, const char* tFlag);
void addHitDataReversalDefFlag2(DreamPlayer* tPlayer, const char* tFlag);
int getReversalDefPlayer1PauseTime(DreamPlayer* tPlayer);
int getReversalDefPlayer2PauseTime(DreamPlayer* tPlayer);
void setReversalDefPauseTime(DreamPlayer* tPlayer, int tPlayer1PauseTime, int tPlayer2PauseTime);
int isReversalDefSparkInPlayerFile(DreamPlayer* tPlayer);
int getReversalDefSparkNumber(DreamPlayer* tPlayer);
void setReversalDefSparkNumber(DreamPlayer* tPlayer, int tIsInPlayerFile, int tNumber);
Vector2DI getReversalDefSparkXY(DreamPlayer* tPlayer);
void setReversalDefSparkXY(DreamPlayer* tPlayer, int tX, int tY);
void getReversalDefHitSound(DreamPlayer* tPlayer, int* oIsInPlayerFile, Vector2DI* oHitSound);
void setReversalDefHitSound(DreamPlayer* tPlayer, int tIsInPlayerFile, int tGroup, int tItem);
int hasReversalDefP1StateNo(DreamPlayer* tPlayer);
int getReversalDefP1StateNo(DreamPlayer* tPlayer);
void setReversalDefP1StateNo(DreamPlayer* tPlayer, int hasP1StateNo, int p1StateNo = 0);
int hasReversalDefP2StateNo(DreamPlayer* tPlayer);
int getReversalDefP2StateNo(DreamPlayer* tPlayer);
void setReversalDefP2StateNo(DreamPlayer* tPlayer, int hasP2StateNo, int p2StateNo = 0);
void setPlayerHitOverride(DreamPlayer* tPlayer, DreamMugenStateTypeFlags tStateTypeFlags, const std::vector<std::pair<MugenAttackClassFlags, MugenAttackType>>& tAttackClassTypePairs, int tStateNo, int tSlot, int tDuration, int tDoesForceAir);
int hasMatchingHitOverride(DreamPlayer* tPlayer, DreamPlayer * tOtherPlayer);
int isIgnoredBecauseOfHitOverride(DreamPlayer* tPlayer, DreamPlayer* tOtherPlayer);
void getMatchingHitOverrideStateNoAndForceAir(DreamPlayer* tPlayer, DreamPlayer * tOtherPlayer, int* oStateNo, int* oDoesForceAir);
std::string copyOverCleanHitDefAttributeFlag(const char* tSrc);
MugenAttackClassFlags convertMugenAttackClassToFlag(MugenAttackClass tAttackClass);