mNo edit summary |
No edit summary |
||
Line 37: | Line 37: | ||
CPU Action enum at address 0x143442734 on 4.20 patch. | CPU Action enum at address 0x143442734 on 4.20 patch. | ||
===== | ===== HitPoint ===== | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
class | class HitPoint | ||
{ | { | ||
public: | public: | ||
Line 47: | Line 47: | ||
float SequenceId; //0x000C | float SequenceId; //0x000C | ||
}; //Size: 0x0010 | }; //Size: 0x0010 | ||
static_assert(sizeof( | static_assert(sizeof(HitPoint) == 0x10); | ||
</syntaxhighlight> | </syntaxhighlight>Sequence of these hit points form hit lines used for collision detection. Use in the CharacterEntity. | ||
===== | ===== HurtCylinder ===== | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
class | class HurtCylinder | ||
{ | { | ||
public: | public: | ||
Line 64: | Line 64: | ||
char pad_001C[4]; //0x001C | char pad_001C[4]; //0x001C | ||
}; //Size: 0x0020 | }; //Size: 0x0020 | ||
static_assert(sizeof( | static_assert(sizeof(HurtCylinder) == 0x20); | ||
</syntaxhighlight> | </syntaxhighlight>Hurt cylinder on the CharacterEntity. | ||
===== CollisionSphereStruct ===== | ===== CollisionSphereStruct ===== | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
class | class CollisionSphere | ||
{ | { | ||
public: | public: | ||
Line 81: | Line 81: | ||
float N00001C01; //0x001C | float N00001C01; //0x001C | ||
}; //Size: 0x0020 | }; //Size: 0x0020 | ||
static_assert(sizeof( | static_assert(sizeof(CollisionSphere) == 0x20); | ||
</syntaxhighlight> | </syntaxhighlight>Collision sphere used to detect collision between actors inside the world and fix overlapping(put them away). | ||
===== CharacterEntity ===== | ===== CharacterEntity ===== | ||
Line 145: | Line 145: | ||
InputDirection InputDirection; //0x0D9C | InputDirection InputDirection; //0x0D9C | ||
char pad_0DA0[112]; //0x0DA0 | char pad_0DA0[112]; //0x0DA0 | ||
class | class HitPoint HitPointsArray[12]; //0x0E10 | ||
class | class HurtCylinder HurtCylindersArray[14]; //0x0ED0 | ||
class | class CollisionSphere CollisionSpheresArray[9]; //0x1090 | ||
char pad_11B0[608]; //0x11B0 | char pad_11B0[608]; //0x11B0 | ||
float Distance; //0x1410 | float Distance; //0x1410 |
Revision as of 08:41, 5 July 2021
VideoMode
enum class VideoModeType : __int32 {
Fullscreen = 0,
Borderless = 1,
Windowed = 2
};
class VideoMode {
public:
int Width;
int Height;
VideoModeType VideoModeType;
};
Video mode at address 0x143478DE0 on 4.20 patch.
CPUAction
enum class CPUAction : __int32 {
Stand = 0,
StandingGuard = 1,
StandAndApproach = 2,
Crouch = 3,
CrouchingGuard = 4,
CrouchAndFollow = 5,
GuardAll = 6,
RandomGuard = 9,
Jump = 10,
NeutralGuard = 7,
Controller = 8,
Mimic = 11,
CPU = 12,
RepeatAction = 13
};
CPU Action enum at address 0x143442734 on 4.20 patch.
HitPoint
class HitPoint
{
public:
float Position1; //0x0000
float Position2; //0x0004
float Position3; //0x0008
float SequenceId; //0x000C
}; //Size: 0x0010
static_assert(sizeof(HitPoint) == 0x10);
Sequence of these hit points form hit lines used for collision detection. Use in the CharacterEntity.
HurtCylinder
class HurtCylinder
{
public:
float Position1; //0x0000
float Position2; //0x0004
float Position3; //0x0008
float SizeModifier; //0x000C
float Height; //0x0010
char pad_0014[4]; //0x0014
float Radius; //0x0018
char pad_001C[4]; //0x001C
}; //Size: 0x0020
static_assert(sizeof(HurtCylinder) == 0x20);
Hurt cylinder on the CharacterEntity.
CollisionSphereStruct
class CollisionSphere
{
public:
float Position1; //0x0000
float Position2; //0x0004
float Position3; //0x0008
float SizeModifier; //0x000C
float Radius; //0x0010
float N00001BF8; //0x0014
float N00001CFE; //0x0018
float N00001C01; //0x001C
}; //Size: 0x0020
static_assert(sizeof(CollisionSphere) == 0x20);
Collision sphere used to detect collision between actors inside the world and fix overlapping(put them away).
CharacterEntity
class CharacterEntity
{
public:
char pad_0000[216]; //0x0000
int32_t CharacterId; //0x00D8
char pad_00DC[4]; //0x00DC
float PositionX; //0x00E0
char pad_00E4[4]; //0x00E4
float PositionY; //0x00E8
char pad_00EC[116]; //0x00EC
float RestartPositionX; //0x0160
char pad_0164[4]; //0x0164
float RestartPositionY; //0x0168
char pad_016C[68]; //0x016C
float FloorZ; //0x01B0
char pad_01B4[32]; //0x01B4
int32_t MoveFrame; //0x01D4
char pad_01D8[64]; //0x01D8
class Move *CurrentMovePointer; //0x0218
int32_t CurrentMovePointer; //0x0220
char pad_0224[4]; //0x0224
int32_t PreviousMovePointer; //0x0228
char pad_022C[244]; //0x022C
int32_t OpponentComboCounter; //0x0320
int32_t AttackDamage; //0x0324
int32_t AttackType; //0x0328
char pad_032C[4]; //0x032C
int64_t N0000088F; //0x0330
char pad_0338[24]; //0x0338
int32_t MoveId; //0x0350
char pad_0354[72]; //0x0354
int32_t TotalFrames; //0x039C
char pad_03A0[56]; //0x03A0
HitOutcome HitOutcome; //0x03D8
char pad_03DC[76]; //0x03DC
SimpleMoveState SimpleMoveState; //0x0428
char pad_042C[36]; //0x042C
int32_t ThrowTech; //0x0450
char pad_0454[20]; //0x0454
int32_t ThrowFlag; //0x0468
char pad_046C[4]; //0x046C
ComplexMoveState ComplexMoveState; //0x0470
char pad_0474[588]; //0x0474
int32_t PowerCrush; //0x06C0
char pad_06C4[136]; //0x06C4
float Distance2; //0x074C
char pad_0750[56]; //0x0750
uint32_t CancelWindow; //0x0788
char pad_078C[20]; //0x078C
int32_t DamageTaken; //0x07A0
char pad_07A4[408]; //0x07A4
int32_t OpponentDamageComboCounter; //0x093C
char pad_0940[304]; //0x0940
int32_t GameStateCount; //0x0A70
char pad_0A74[396]; //0x0A74
int32_t RageFlag; //0x0C00
char pad_0C04[408]; //0x0C04
InputDirection InputDirection; //0x0D9C
char pad_0DA0[112]; //0x0DA0
class HitPoint HitPointsArray[12]; //0x0E10
class HurtCylinder HurtCylindersArray[14]; //0x0ED0
class CollisionSphere CollisionSpheresArray[9]; //0x1090
char pad_11B0[608]; //0x11B0
float Distance; //0x1410
char pad_1414[120]; //0x1414
int32_t IsRightSide?; //0x148C
char pad_1490[22]; //0x1490
int16_t Health; //0x14A6
char pad_14A8[40]; //0x14A8
class MovesetHeader *motbin_ptr; //0x14D0
char pad_14D8[1332]; //0x14D8
uint32_t InputAttack; //0x1A0C
InputDirection InputDirection; //0x1A10
char pad_1A14[7180]; //0x1A14
}; //Size: 0x3620
static_assert(sizeof(CharacterEntity) == 0x3620);
CharacterEntity struct with offsets for 4.20 patch.