diff --git a/include/RED4ext/Dump/Reflection-inl.hpp b/include/RED4ext/Dump/Reflection-inl.hpp index 15926cbec..0f352cbfc 100644 --- a/include/RED4ext/Dump/Reflection-inl.hpp +++ b/include/RED4ext/Dump/Reflection-inl.hpp @@ -47,6 +47,10 @@ RED4EXT_INLINE void Dump(std::filesystem::path aOutPath, std::filesystem::path a { if (aInput.size() > exception.size() && aInput.starts_with(exception)) { + if(exception == "GpuWrapApi") + { + return aInput.substr(0, exception.size()); + } i = exception.size(); } } diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexLayoutDesc.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexLayoutDesc.hpp new file mode 100644 index 000000000..5a765e257 --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexLayoutDesc.hpp @@ -0,0 +1,31 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +#include +#include +#include + +namespace RED4ext +{ +namespace GpuWrapApi +{ +struct VertexLayoutDesc +{ + static constexpr const char* NAME = "GpuWrapApiVertexLayoutDesc"; + static constexpr const char* ALIAS = NAME; + + StaticArray elements; // 00 + StaticArray slotStrides; // A4 + uint32_t slotMask; // B0 + uint32_t hash; // B4 +}; +RED4EXT_ASSERT_SIZE(VertexLayoutDesc, 0xB8); +} // namespace GpuWrapApi +using GpuWrapApiVertexLayoutDesc = GpuWrapApi::VertexLayoutDesc; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingEStreamType.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingEStreamType.hpp new file mode 100644 index 000000000..70c82d0de --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingEStreamType.hpp @@ -0,0 +1,22 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class VertexPackingEStreamType : uint8_t +{ + ST_PerVertex = 0, + ST_PerInstance = 1, + ST_Max = 2, + ST_Invalid = 255, +}; +} // namespace GpuWrapApi +using GpuWrapApiVertexPackingEStreamType = GpuWrapApi::VertexPackingEStreamType; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingPackingElement.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingPackingElement.hpp new file mode 100644 index 000000000..d6f0805b0 --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingPackingElement.hpp @@ -0,0 +1,33 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +#include +#include +#include +#include + +namespace RED4ext +{ +namespace GpuWrapApi +{ +struct VertexPackingPackingElement +{ + static constexpr const char* NAME = "GpuWrapApiVertexPackingPackingElement"; + static constexpr const char* ALIAS = NAME; + + GpuWrapApi::VertexPackingePackingType type; // 00 + GpuWrapApi::VertexPackingePackingUsage usage; // 01 + uint8_t usageIndex; // 02 + uint8_t streamIndex; // 03 + GpuWrapApi::VertexPackingEStreamType streamType; // 04 +}; +RED4EXT_ASSERT_SIZE(VertexPackingPackingElement, 0x5); +} // namespace GpuWrapApi +using GpuWrapApiVertexPackingPackingElement = GpuWrapApi::VertexPackingPackingElement; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingePackingType.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingePackingType.hpp new file mode 100644 index 000000000..8053098f0 --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingePackingType.hpp @@ -0,0 +1,51 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class VertexPackingePackingType : uint8_t +{ + PT_Float1 = 0, + PT_Float2 = 1, + PT_Float3 = 2, + PT_Float4 = 3, + PT_Float16_2 = 4, + PT_Float16_4 = 5, + PT_UShort1 = 6, + PT_UShort2 = 7, + PT_UShort4 = 8, + PT_UShort4N = 9, + PT_Short1 = 10, + PT_Short2 = 11, + PT_Short4 = 12, + PT_Short4N = 13, + PT_UInt1 = 14, + PT_UInt2 = 15, + PT_UInt3 = 16, + PT_UInt4 = 17, + PT_Int1 = 18, + PT_Int2 = 19, + PT_Int3 = 20, + PT_Int4 = 21, + PT_Color = 22, + PT_UByte1 = 23, + PT_UByte1F = 24, + PT_UByte4 = 25, + PT_UByte4N = 26, + PT_Byte4N = 27, + PT_Dec4 = 28, + PT_Index16 = 29, + PT_Index32 = 30, + PT_Max = 31, + PT_Invalid = 255, +}; +} // namespace GpuWrapApi +using GpuWrapApiVertexPackingePackingType = GpuWrapApi::VertexPackingePackingType; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingePackingUsage.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingePackingUsage.hpp new file mode 100644 index 000000000..2408ddcb2 --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/VertexPackingePackingUsage.hpp @@ -0,0 +1,44 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class VertexPackingePackingUsage : uint8_t +{ + PS_SysPosition = 0, + PS_Position = 1, + PS_Normal = 2, + PS_Tangent = 3, + PS_Binormal = 4, + PS_TexCoord = 5, + PS_Color = 6, + PS_SkinIndices = 7, + PS_SkinWeights = 8, + PS_DestructionIndices = 9, + PS_MultilayerPaint = 10, + PS_InstanceTransform = 11, + PS_InstanceLODParams = 12, + PS_InstanceSkinningData = 13, + PS_PatchSize = 14, + PS_PatchBias = 15, + PS_ExtraData = 16, + PS_VehicleDmgNormal = 17, + PS_VehicleDmgPosition = 18, + PS_PositionDelta = 19, + PS_LightBlockerIntensity = 20, + PS_BoneIndex = 21, + PS_Padding = 22, + PS_PatchOffset = 23, + PS_Max = 24, + PS_Invalid = 255, +}; +} // namespace GpuWrapApi +using GpuWrapApiVertexPackingePackingUsage = GpuWrapApi::VertexPackingePackingUsage; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eIndexBufferChunkType.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eIndexBufferChunkType.hpp new file mode 100644 index 000000000..a74b98b3d --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eIndexBufferChunkType.hpp @@ -0,0 +1,21 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class eIndexBufferChunkType : uint8_t +{ + IBCT_IndexUInt = 0, + IBCT_IndexUShort = 1, + IBCT_Max = 2, +}; +} // namespace GpuWrapApi +using GpuWrapApieIndexBufferChunkType = GpuWrapApi::eIndexBufferChunkType; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureFormat.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureFormat.hpp new file mode 100644 index 000000000..a442ac3ee --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureFormat.hpp @@ -0,0 +1,85 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class eTextureFormat : uint8_t +{ + TEXFMT_A8_Unorm = 0, + TEXFMT_R8_Unorm = 1, + TEXFMT_L8_Unorm = 2, + TEXFMT_R8G8_Unorm = 3, + TEXFMT_R8G8B8X8_Unorm = 4, + TEXFMT_R8G8B8A8_Unorm = 5, + TEXFMT_R8G8B8A8_Snorm = 6, + TEXFMT_R16_Unorm = 7, + TEXFMT_R16_Uint = 8, + TEXFMT_R32_Uint = 9, + TEXFMT_R32G32B32A32_Uint = 10, + TEXFMT_R32G32_Uint = 11, + TEXFMT_R16G16B16A16_Unorm = 12, + TEXFMT_R16G16B16A16_Uint = 14, + TEXFMT_R16G16_Uint = 15, + TEXFMT_R10G10B10A2_Unorm = 16, + TEXFMT_R16G16B16A16_Float = 17, + TEXFMT_R11G11B10_Float = 18, + TEXFMT_R16G16_Float = 19, + TEXFMT_R32G32_Float = 20, + TEXFMT_R32G32B32A32_Float = 21, + TEXFMT_R32_Float = 22, + TEXFMT_R16_Float = 23, + TEXFMT_D24S8 = 24, + TEXFMT_D32FS8 = 25, + TEXFMT_D32F = 27, + TEXFMT_D16U = 28, + TEXFMT_BC1 = 29, + TEXFMT_BC2 = 30, + TEXFMT_BC3 = 31, + TEXFMT_BC4 = 32, + TEXFMT_BC5 = 33, + TEXFMT_BC6H_UNSIGNED = 34, + TEXFMT_BC6H_SIGNED = 35, + TEXFMT_BC7 = 36, + TEXFMT_BC7_SRGB = 37, + TEXFMT_R8_Uint = 38, + TEXFMT_R8G8B8A8_Unorm_SRGB = 40, + TEXFMT_BC1_SRGB = 41, + TEXFMT_BC2_SRGB = 42, + TEXFMT_BC3_SRGB = 43, + TEXFMT_R16G16_Unorm = 44, + TEXFMT_R16G16_Sint = 45, + TEXFMT_R16G16_Snorm = 46, + TEXFMT_B5G6R5_Unorm = 47, + TEXFMT_R16_Snorm = 49, + TEXFMT_B8G8R8A8 = 50, + TEXFMT_B8G8R8A8_SRGB = 51, + TEXFMT_A8 = TEXFMT_A8_Unorm, + TEXFMT_BC6H = TEXFMT_BC6H_UNSIGNED, + TEXFMT_Float_R11G11B10 = TEXFMT_R11G11B10_Float, + TEXFMT_Float_R16 = TEXFMT_R16_Float, + TEXFMT_Float_R16G16 = TEXFMT_R16G16_Float, + TEXFMT_Float_R16G16B16A16 = TEXFMT_R16G16B16A16_Float, + TEXFMT_Float_R32 = TEXFMT_R32_Float, + TEXFMT_Float_R32G32 = TEXFMT_R32G32_Float, + TEXFMT_Float_R32G32B32A32 = TEXFMT_R32G32B32A32_Float, + TEXFMT_L8 = TEXFMT_L8_Unorm, + TEXFMT_R10G10B10A2 = TEXFMT_R10G10B10A2_Unorm, + TEXFMT_R8 = TEXFMT_R8_Unorm, + TEXFMT_R8G8 = TEXFMT_R8G8_Unorm, + TEXFMT_R8G8B8A8 = TEXFMT_R8G8B8A8_Unorm_SRGB, + TEXFMT_R8G8B8X8 = TEXFMT_R8G8B8X8_Unorm, + TEXFMT_Uint_16 = TEXFMT_R16_Uint, + TEXFMT_Uint_16_norm = TEXFMT_R16_Unorm, + TEXFMT_Uint_32 = TEXFMT_R32_Uint, + TEXFMT_Uint_R32G32B32A32 = TEXFMT_R16G16B16A16_Uint, +}; +} // namespace GpuWrapApi +using GpuWrapApieTextureFormat = GpuWrapApi::eTextureFormat; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureGroup.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureGroup.hpp new file mode 100644 index 000000000..2fc234d7a --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureGroup.hpp @@ -0,0 +1,30 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class eTextureGroup : uint8_t +{ + TEXG_Generic_Color = 1, + TEXG_Generic_Grayscale = 2, + TEXG_Generic_Normal = 3, + TEXG_Generic_Data = 4, + TEXG_Generic_UI = 5, + TEXG_Generic_Font = 6, + TEXG_Generic_LUT = 7, + TEXG_Generic_MorphBlend = 8, + TEXG_Multilayer_Color = 9, + TEXG_Multilayer_Normal = 10, + TEXG_Multilayer_Grayscale = 11, + TEXG_Multilayer_Microblend = 12, +}; +} // namespace GpuWrapApi +using GpuWrapApieTextureGroup = GpuWrapApi::eTextureGroup; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureType.hpp b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureType.hpp new file mode 100644 index 000000000..61cf44a6b --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/GpuWrapApi/eTextureType.hpp @@ -0,0 +1,22 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +namespace RED4ext +{ +namespace GpuWrapApi { +enum class eTextureType : uint8_t +{ + TEXTYPE_2D = 0, + TEXTYPE_CUBE = 1, + TEXTYPE_ARRAY = 2, + TEXTYPE_3D = 3, +}; +} // namespace GpuWrapApi +using GpuWrapApieTextureType = GpuWrapApi::eTextureType; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/PSODescRenderTargetSetup.hpp b/include/RED4ext/Scripting/Natives/Generated/PSODescRenderTargetSetup.hpp index d0e31b70d..12badf384 100644 --- a/include/RED4ext/Scripting/Natives/Generated/PSODescRenderTargetSetup.hpp +++ b/include/RED4ext/Scripting/Natives/Generated/PSODescRenderTargetSetup.hpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace RED4ext { @@ -16,8 +16,8 @@ struct PSODescRenderTargetSetup static constexpr const char* NAME = "PSODescRenderTargetSetup"; static constexpr const char* ALIAS = NAME; - StaticArray rtFormats; // 00 - GpuWrapApieTextureFormat dsFormat; // 0C + StaticArray rtFormats; // 00 + GpuWrapApi::eTextureFormat dsFormat; // 0C uint8_t unk0D[0x10 - 0xD]; // D }; RED4EXT_ASSERT_SIZE(PSODescRenderTargetSetup, 0x10); diff --git a/include/RED4ext/Scripting/Natives/Generated/STextureGroupSetup.hpp b/include/RED4ext/Scripting/Natives/Generated/STextureGroupSetup.hpp index 9edfbf341..f6dfc0810 100644 --- a/include/RED4ext/Scripting/Natives/Generated/STextureGroupSetup.hpp +++ b/include/RED4ext/Scripting/Natives/Generated/STextureGroupSetup.hpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include namespace RED4ext { @@ -19,7 +19,7 @@ struct STextureGroupSetup ETextureCompression compression; // 00 ETextureRawFormat rawFormat; // 04 - GpuWrapApieTextureGroup group; // 08 + GpuWrapApi::eTextureGroup group; // 08 uint8_t platformMipBiasPC; // 09 uint8_t platformMipBiasConsole; // 0A bool isStreamable; // 0B diff --git a/include/RED4ext/Scripting/Natives/Generated/ex/EntitySpawner.hpp b/include/RED4ext/Scripting/Natives/Generated/ex/EntitySpawner.hpp new file mode 100644 index 000000000..c48336606 --- /dev/null +++ b/include/RED4ext/Scripting/Natives/Generated/ex/EntitySpawner.hpp @@ -0,0 +1,26 @@ +#pragma once + +// clang-format off + +// This file is generated from the Game's Reflection data + +#include +#include +#include + +namespace RED4ext +{ +namespace ex +{ +struct EntitySpawner : game::IGameSystem +{ + static constexpr const char* NAME = "exEntitySpawner"; + static constexpr const char* ALIAS = NAME; + +}; +RED4EXT_ASSERT_SIZE(EntitySpawner, 0x48); +} // namespace ex +using exEntitySpawner = ex::EntitySpawner; +} // namespace RED4ext + +// clang-format on diff --git a/include/RED4ext/Scripting/Natives/Generated/quest/ICharacterConditionType.hpp b/include/RED4ext/Scripting/Natives/Generated/quest/ICharacterConditionType.hpp index 54e2b6a82..39603550c 100644 --- a/include/RED4ext/Scripting/Natives/Generated/quest/ICharacterConditionType.hpp +++ b/include/RED4ext/Scripting/Natives/Generated/quest/ICharacterConditionType.hpp @@ -27,7 +27,7 @@ struct ICharacterConditionType : quest::IConditionType static constexpr const char* NAME = "questICharacterConditionType"; static constexpr const char* ALIAS = NAME; - game::EntityReference puppetRef; // 38 + game::EntityReference attackerRef; // 38 bool isPlayer; // 70 uint8_t unk71[0x78 - 0x71]; // 71 }; diff --git a/include/RED4ext/Scripting/Natives/Generated/rend/IndexBufferChunk.hpp b/include/RED4ext/Scripting/Natives/Generated/rend/IndexBufferChunk.hpp index 02d0be349..7eb01f6be 100644 --- a/include/RED4ext/Scripting/Natives/Generated/rend/IndexBufferChunk.hpp +++ b/include/RED4ext/Scripting/Natives/Generated/rend/IndexBufferChunk.hpp @@ -6,7 +6,7 @@ #include #include -#include +#include namespace RED4ext { @@ -17,7 +17,7 @@ struct IndexBufferChunk static constexpr const char* NAME = "rendIndexBufferChunk"; static constexpr const char* ALIAS = NAME; - GpuWrapApieIndexBufferChunkType pe; // 00 + GpuWrapApi::eIndexBufferChunkType pe; // 00 uint8_t unk01[0x4 - 0x1]; // 1 uint32_t teOffset; // 04 }; diff --git a/include/RED4ext/Scripting/Natives/Generated/rend/RenderTextureBlobTextureInfo.hpp b/include/RED4ext/Scripting/Natives/Generated/rend/RenderTextureBlobTextureInfo.hpp index 2ee924742..a7b1b0441 100644 --- a/include/RED4ext/Scripting/Natives/Generated/rend/RenderTextureBlobTextureInfo.hpp +++ b/include/RED4ext/Scripting/Natives/Generated/rend/RenderTextureBlobTextureInfo.hpp @@ -6,7 +6,7 @@ #include #include -#include +#include namespace RED4ext { @@ -17,7 +17,7 @@ struct RenderTextureBlobTextureInfo static constexpr const char* NAME = "rendRenderTextureBlobTextureInfo"; static constexpr const char* ALIAS = NAME; - GpuWrapApieTextureType type; // 00 + GpuWrapApi::eTextureType type; // 00 uint8_t unk01[0x4 - 0x1]; // 1 uint32_t textureDataSize; // 04 uint32_t sliceSize; // 08 diff --git a/include/RED4ext/Scripting/Natives/Generated/rend/VertexBufferChunk.hpp b/include/RED4ext/Scripting/Natives/Generated/rend/VertexBufferChunk.hpp index 7acfa13f3..a707f5099 100644 --- a/include/RED4ext/Scripting/Natives/Generated/rend/VertexBufferChunk.hpp +++ b/include/RED4ext/Scripting/Natives/Generated/rend/VertexBufferChunk.hpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace RED4ext { @@ -18,7 +18,7 @@ struct VertexBufferChunk static constexpr const char* NAME = "rendVertexBufferChunk"; static constexpr const char* ALIAS = NAME; - GpuWrapApiVertexLayoutDesc vertexLayout; // 00 + GpuWrapApi::VertexLayoutDesc vertexLayout; // 00 StaticArray byteOffsets; // B8 }; RED4EXT_ASSERT_SIZE(VertexBufferChunk, 0xD0);