Skip to content

Commit

Permalink
Update RTTI types for 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
wopss committed Sep 24, 2023
1 parent ea5ff76 commit 2abbb31
Show file tree
Hide file tree
Showing 2,137 changed files with 24,211 additions and 6,288 deletions.
6 changes: 6 additions & 0 deletions include/RED4ext/Dump/Reflection-inl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ RED4EXT_INLINE void Dump(std::filesystem::path aOutPath, std::filesystem::path a
i = 2;
}

// Special case of "in", this will break directory layout for "ink", "interop", etc..
if (aInput.starts_with("inGame"))
{
return "";
}

for (; i < aInput.size(); ++i)
{
if (isupper(aInput[i]))
Expand Down
4 changes: 2 additions & 2 deletions include/RED4ext/Scripting/Natives/Generated/AI/CAgent.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ struct CAgent : game::Component
static constexpr const char* NAME = "AICAgent";
static constexpr const char* ALIAS = "AIComponent";

uint8_t unkA8[0x4E8 - 0xA8]; // A8
uint8_t unkA8[0x4F0 - 0xA8]; // A8
};
RED4EXT_ASSERT_SIZE(CAgent, 0x4E8);
RED4EXT_ASSERT_SIZE(CAgent, 0x4F0);
} // namespace AI
using AICAgent = AI::CAgent;
using AIComponent = AI::CAgent;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/Scripting/IScriptable.hpp>

namespace RED4ext
{
namespace AI
{
struct DriveCommandUpdate : IScriptable
{
static constexpr const char* NAME = "AIDriveCommandUpdate";
static constexpr const char* ALIAS = "DriveCommandUpdate";

float minSpeed; // 40
float maxSpeed; // 44
bool clearTrafficOnPath; // 48
uint8_t unk49[0x50 - 0x49]; // 49
};
RED4EXT_ASSERT_SIZE(DriveCommandUpdate, 0x50);
} // namespace AI
using AIDriveCommandUpdate = AI::DriveCommandUpdate;
using DriveCommandUpdate = AI::DriveCommandUpdate;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/Scripting/Natives/Generated/AI/DriveCommandUpdate.hpp>

namespace RED4ext
{
namespace AI
{
struct DrivePatrolUpdate : AI::DriveCommandUpdate
{
static constexpr const char* NAME = "AIDrivePatrolUpdate";
static constexpr const char* ALIAS = "DrivePatrolUpdate";

uint32_t numPatrolLoops; // 50
bool emergencyPatrol; // 54
uint8_t unk55[0x58 - 0x55]; // 55
};
RED4EXT_ASSERT_SIZE(DrivePatrolUpdate, 0x58);
} // namespace AI
using AIDrivePatrolUpdate = AI::DrivePatrolUpdate;
using DrivePatrolUpdate = AI::DrivePatrolUpdate;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/Scripting/Natives/Generated/AI/DriveCommandUpdate.hpp>
#include <RED4ext/Scripting/Natives/Generated/Vector4.hpp>

namespace RED4ext
{
namespace AI
{
struct DriveToPointAutonomousUpdate : AI::DriveCommandUpdate
{
static constexpr const char* NAME = "AIDriveToPointAutonomousUpdate";
static constexpr const char* ALIAS = "DriveToPointAutonomousUpdate";

Vector4 targetPosition; // 50
float minimumDistanceToTarget; // 60
bool driveDownTheRoadIndefinitely; // 64
uint8_t unk65[0x70 - 0x65]; // 65
};
RED4EXT_ASSERT_SIZE(DriveToPointAutonomousUpdate, 0x70);
} // namespace AI
using AIDriveToPointAutonomousUpdate = AI::DriveToPointAutonomousUpdate;
using DriveToPointAutonomousUpdate = AI::DriveToPointAutonomousUpdate;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/Handle.hpp>
#include <RED4ext/Scripting/Natives/Generated/Vector4.hpp>

namespace RED4ext
{
namespace ent { struct Entity; }

namespace AI
{
struct DroppedThreatData
{
static constexpr const char* NAME = "AIDroppedThreatData";
static constexpr const char* ALIAS = "DroppedThreatData";

uint8_t unk00[0x40 - 0x0]; // 0
WeakHandle<ent::Entity> threat; // 40
Vector4 position; // 50
uint8_t unk60[0x70 - 0x60]; // 60
};
RED4EXT_ASSERT_SIZE(DroppedThreatData, 0x70);
} // namespace AI
using AIDroppedThreatData = AI::DroppedThreatData;
using DroppedThreatData = AI::DroppedThreatData;
} // namespace RED4ext

// clang-format on
19 changes: 19 additions & 0 deletions include/RED4ext/Scripting/Natives/Generated/AI/FiniteRoleType.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
namespace RED4ext
{
namespace AI {
enum class FiniteRoleType : uint32_t
{
Patrol = 0,
};
} // namespace AI
using AIFiniteRoleType = AI::FiniteRoleType;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ struct GuardAreaManager : AI::IGuardAreaManager
static constexpr const char* NAME = "AIGuardAreaManager";
static constexpr const char* ALIAS = "RestrictMovementAreaManager";

uint8_t unk48[0x160 - 0x48]; // 48
uint8_t unk48[0x1C8 - 0x48]; // 48
};
RED4EXT_ASSERT_SIZE(GuardAreaManager, 0x160);
RED4EXT_ASSERT_SIZE(GuardAreaManager, 0x1C8);
} // namespace AI
using AIGuardAreaManager = AI::GuardAreaManager;
using RestrictMovementAreaManager = AI::GuardAreaManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/NativeTypes.hpp>
#include <RED4ext/Scripting/Natives/Generated/ent/EntityID.hpp>

namespace RED4ext
{
namespace AI
{
struct GuardAreaSavedData
{
static constexpr const char* NAME = "AIGuardAreaSavedData";
static constexpr const char* ALIAS = NAME;

ent::EntityID puppetId; // 00
NodeRef nodeRef; // 08
};
RED4EXT_ASSERT_SIZE(GuardAreaSavedData, 0x10);
} // namespace AI
using AIGuardAreaSavedData = AI::GuardAreaSavedData;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/DynArray.hpp>
#include <RED4ext/ISerializable.hpp>
#include <RED4ext/Scripting/Natives/Generated/AI/GuardAreaSavedData.hpp>
#include <RED4ext/Scripting/Natives/Generated/ent/EntityID.hpp>

namespace RED4ext
{
namespace AI
{
struct GuardAreasSavedState : ISerializable
{
static constexpr const char* NAME = "AIGuardAreasSavedState";
static constexpr const char* ALIAS = NAME;

DynArray<AI::GuardAreaSavedData> data; // 30
DynArray<ent::EntityID> cleared; // 40
};
RED4EXT_ASSERT_SIZE(GuardAreasSavedState, 0x50);
} // namespace AI
using AIGuardAreasSavedState = AI::GuardAreasSavedState;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ struct HumanComponent : AI::CAgent
static constexpr const char* NAME = "AIHumanComponent";
static constexpr const char* ALIAS = NAME;

TweakDBID movementParamsRecord; // 4E8
uint8_t unk4F0[0x598 - 0x4F0]; // 4F0
TweakDBID movementParamsRecord; // 4F0
uint8_t unk4F8[0x5A8 - 0x4F8]; // 4F8
};
RED4EXT_ASSERT_SIZE(HumanComponent, 0x598);
RED4EXT_ASSERT_SIZE(HumanComponent, 0x5A8);
} // namespace AI
using AIHumanComponent = AI::HumanComponent;
} // namespace RED4ext
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/Scripting/Natives/Generated/game/IGameSystem.hpp>

namespace RED4ext
{
namespace AI
{
struct IVehicleCoversSystem : game::IGameSystem
{
static constexpr const char* NAME = "AIIVehicleCoversSystem";
static constexpr const char* ALIAS = NAME;

};
RED4EXT_ASSERT_SIZE(IVehicleCoversSystem, 0x48);
} // namespace AI
using AIIVehicleCoversSystem = AI::IVehicleCoversSystem;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/Scripting/Natives/Generated/AI/MoveCommand.hpp>

namespace RED4ext
{
namespace AI
{
struct JoinCrowdCommand : AI::MoveCommand
{
static constexpr const char* NAME = "AIJoinCrowdCommand";
static constexpr const char* ALIAS = NAME;

};
RED4EXT_ASSERT_SIZE(JoinCrowdCommand, 0x68);
} // namespace AI
using AIJoinCrowdCommand = AI::JoinCrowdCommand;
} // namespace RED4ext

// clang-format on
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ struct JoinTrafficEvent : AI::AIEvent
static constexpr const char* NAME = "AIJoinTrafficEvent";
static constexpr const char* ALIAS = "JoinTrafficEvent";

uint8_t unk50[0xF8 - 0x50]; // 50
uint8_t unk50[0x100 - 0x50]; // 50
};
RED4EXT_ASSERT_SIZE(JoinTrafficEvent, 0xF8);
RED4EXT_ASSERT_SIZE(JoinTrafficEvent, 0x100);
} // namespace AI
using AIJoinTrafficEvent = AI::JoinTrafficEvent;
using JoinTrafficEvent = AI::JoinTrafficEvent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,18 @@ struct MoveOnSplineCommand : AI::MoveCommand
bool teleportToCompanion; // B9
bool useMatchForSpeedForPlayer; // BA
bool startFromClosestPoint; // BB
bool ignoreNavigation; // BC
bool snapToTerrain; // BD
bool ignoreLineOfSightCheck; // BE
bool useAlertedState; // BF
bool useStart; // C0
bool useStop; // C1
bool useCombatState; // C2
bool reverse; // C3
bool useOMLReservation; // C4
uint8_t unkC5[0xC8 - 0xC5]; // C5
bool splineRecalculation; // BC
bool ignoreNavigation; // BD
bool snapToTerrain; // BE
bool ignoreLineOfSightCheck; // BF
bool useAlertedState; // C0
bool useStart; // C1
bool useStop; // C2
bool useCombatState; // C3
bool reverse; // C4
bool useOMLReservation; // C5
bool disableFootIK; // C6
bool allowCrowdOnPath; // C7
WeakHandle<game::Object> lookAtTarget; // C8
float minSearchAngle; // D8
float maxSearchAngle; // DC
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#pragma once

// clang-format off

// This file is generated from the Game's Reflection data

#include <cstdint>
namespace RED4ext
{
namespace AI {
enum class PatrolContinuationPolicy : uint32_t
{
FromNextControlPoint = 0,
FromClosestPoint = 1,
FromBeginning = 2,
};
} // namespace AI
using AIPatrolContinuationPolicy = AI::PatrolContinuationPolicy;
} // namespace RED4ext

// clang-format on
Loading

0 comments on commit 2abbb31

Please sign in to comment.