Skip to content

Commit

Permalink
Decoded Rig.hpp properties (#114)
Browse files Browse the repository at this point in the history
  • Loading branch information
Mozz3d authored May 11, 2024
1 parent ee81545 commit 1c283c3
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 2 deletions.
18 changes: 16 additions & 2 deletions include/RED4ext/Scripting/Natives/Generated/anim/Rig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,20 @@

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

#include <RED4ext/Scripting/Natives/Rig.hpp>

namespace RED4ext
{
namespace anim { struct IRigIkSetup; }

namespace anim
{
RED4EXT_ASSERT_SIZE(Rig, 0x180);
} // namespace anim
using animRig = anim::Rig;
} // namespace RED4ext

/*
#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/CName.hpp>
Expand All @@ -29,7 +43,7 @@ struct Rig : CResource
static constexpr const char* NAME = "animRig";
static constexpr const char* ALIAS = NAME;
uint8_t unk40[0x50 - 0x40]; // 40
uint8_t unk40[0x50 - 0x40]; //40
DynArray<CName> boneNames; // 50
DynArray<QsTransform> referencePoseMS; // 60
DynArray<int16_t> levelOfDetailStartIndices; // 70
Expand All @@ -54,6 +68,6 @@ struct Rig : CResource
RED4EXT_ASSERT_SIZE(Rig, 0x180);
} // namespace anim
using animRig = anim::Rig;
} // namespace RED4ext
} // namespace RED4ext*/

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

#include <cstdint>
#include <RED4ext/Common.hpp>
#include <RED4ext/CName.hpp>
#include <RED4ext/DynArray.hpp>
#include <RED4ext/Handle.hpp>
#include <RED4ext/Scripting/Natives/Generated/CResource.hpp>
#include <RED4ext/Scripting/Natives/Generated/QsTransform.hpp>
#include <RED4ext/Scripting/Natives/Generated/anim/FloatTrackInfo.hpp>
#include <RED4ext/Scripting/Natives/Generated/anim/RigPart.hpp>
#include <RED4ext/Scripting/Natives/Generated/anim/RigRetarget.hpp>
#include <RED4ext/Scripting/Natives/Generated/physics/RagdollBodyInfo.hpp>
#include <RED4ext/Scripting/Natives/Generated/physics/RagdollBodyNames.hpp>
#include <RED4ext/Scripting/Natives/Generated/red/TagList.hpp>

namespace RED4ext
{
namespace anim { struct IRigIkSetup; }

namespace anim
{
struct Rig : CResource
{
static constexpr const char* NAME = "animRig";
static constexpr const char* ALIAS = NAME;

// parentIndeces(0x40) and referencePoseLS(0x48) share size with boneNames(0x50)
int16_t* parentIndeces; // 40
QsTransform* referencePoseLS; // 48
DynArray<CName> boneNames; // 50
DynArray<QsTransform> referencePoseMS; // 60
DynArray<int16_t> levelOfDetailStartIndices; // 70
DynArray<int16_t> distanceCategoryToLodMap; // 80
int32_t turnOffLOD; // 90
bool turningOffUpdateAndSample; // 94
uint8_t unk95[0xB8 - 0x95]; // 95
DynArray<QsTransform> aPoseLS; // B8
DynArray<QsTransform> aPoseMS; // C8
DynArray<CName> boneMetaNames; // D8
DynArray<CName> trackNames; // E8
DynArray<float> referenceTracks; // F8
DynArray<anim::FloatTrackInfo> rigExtraTracks; // 108
uint64_t hash; // 118
red::TagList tags; // 120
DynArray<anim::RigPart> parts; // 130
DynArray<anim::RigRetarget> retargets; // 140
DynArray<Handle<anim::IRigIkSetup>> ikSetups; // 150
DynArray<physics::RagdollBodyInfo> ragdollDesc; // 160
DynArray<physics::RagdollBodyNames> ragdollNames; // 170
};
RED4EXT_ASSERT_SIZE(Rig, 0x180);
} // namespace anim
using animRig = anim::Rig;
} // namespace RED4ext

0 comments on commit 1c283c3

Please sign in to comment.