EvilEngine/CCRV: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
(format)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 16: Line 16:
struct zCameraCurveAsset : xBaseAsset
struct zCameraCurveAsset : xBaseAsset
{
{
private:
uint8 mVersion;
uint8 pad[3];
unsigned char mVersion;
int32 mCameraType;
unsigned char pad[3];
uint32 mFlags;
int mCameraType;
int32 mTransitionType;
unsigned int mFlags;
float32 mTransitionTime;
int mTransitionType;
uint32 mCurveID[2];
float mTransitionTime;
int32 mNumBeads;
unsigned int mCurveID[2];
int mNumBeads;
};
};
</source>
</source>
Line 31: Line 32:
! Offset !! Type !! Variable !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x08 || uint8 || '''mVersion''' ||
| 0x08 || u8 || '''mVersion''' ||
|-
|-
| 0x09 || uint8[3] || '''padding''' ||
| 0x09 || u8[3] || '''padding''' ||
|-
|-
| 0x0C || int32 || '''mCameraType''' ||
| 0x0C || s32 || '''mCameraType''' ||
|-
|-
| 0x10 || uint32 || '''mFlags''' ||
| 0x10 || u32 || '''mFlags''' ||
|-
|-
| 0x14 || int32 || '''mTransitionType''' ||
| 0x14 || s32 || '''mTransitionType''' ||
|-
|-
| 0x18 || float32 || '''mTransitionTime''' ||
| 0x18 || f32 || '''mTransitionTime''' ||
|-
|-
| 0x1C || uint32 || '''mCurveID1''' ||
| 0x1C || [[AssetID]] || '''mCurveID1''' ||
|-
|-
| 0x20 || uint32 || '''mCurveID2''' ||
| 0x20 || [[AssetID]] || '''mCurveID2''' ||
|-
|-
| 0x24 || int32 || '''mNumBeads''' ||
| 0x24 || s32 || '''mNumBeads''' ||
|}
|}


Line 53: Line 54:
struct zCameraCurveBead
struct zCameraCurveBead
{
{
float32 mCurveU[2];
float mCurveU[2];
float32 mDistanceAdjust;
float mDistanceAdjust;
float32 mPitchOffset;
float mPitchOffset;
float32 mTargetRadius;
float mTargetRadius;
float32 mTargetMarginAngle;
float mTargetMarginAngle;
float32 mLeadOffset;
float mLeadOffset;
float32 mYOffset;
float mYOffset;
float32 mNearWallAdjust;
float mNearWallAdjust
float32 mFarWallAdjust;
float mFarWallAdjust;
};
};
</source>
</source>
Line 69: Line 70:
! Offset !! Type !! Variable !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x28 || float32 || '''mCurveU1''' ||
| 0x00 || f32 || '''mCurveU1''' ||
|-
|-
| 0x2C || float32 || '''mCurveU2''' ||
| 0x04 || f32 || '''mCurveU2''' ||
|-
|-
| 0x30 || float32 || '''mDistanceAdjust''' ||
| 0x08 || f32 || '''mDistanceAdjust''' ||
|-
|-
| 0x34 || float32 || '''mPitchOffset''' ||
| 0x0C || f32 || '''mPitchOffset''' ||
|-
|-
| 0x38 || float32 || '''mTargetRadius''' ||
| 0x10 || f32 || '''mTargetRadius''' ||
|-
|-
| 0x3C || float32 || '''mTargetMarginAngle''' ||
| 0x14 || f32 || '''mTargetMarginAngle''' ||
|-
|-
| 0x40 || float32 || '''mLeadOffset''' ||
| 0x18 || f32 || '''mLeadOffset''' ||
|-
|-
| 0x44 || float32 || '''mYOffset''' ||
| 0x1C || f32 || '''mYOffset''' ||
|-
|-
| 0x48 || float32 || '''mNearWallAdjust''' ||
| 0x20 || f32 || '''mNearWallAdjust''' ||
|-
|-
| 0x4C || float32 || '''mFarWallAdjust''' ||
| 0x24 || f32 || '''mFarWallAdjust''' ||
|}
|}



Latest revision as of 19:14, 12 October 2023

CCRV
Camera Curve
TypeBase
Base Type0x8D
Games usedRise of the Underminer
Ratatouille Prototype

Format

CCRV are base assets, so they start with their 0x8 byte header, then are followed by:

struct zCameraCurveAsset : xBaseAsset
{
private:
    unsigned char mVersion;
    unsigned char pad[3];
    int mCameraType;
    unsigned int mFlags;
    int mTransitionType;
    float mTransitionTime;
    unsigned int mCurveID[2];
    int mNumBeads;
};

zCameraCurveAsset

Offset Type Variable Description
0x08 u8 mVersion
0x09 u8[3] padding
0x0C s32 mCameraType
0x10 u32 mFlags
0x14 s32 mTransitionType
0x18 f32 mTransitionTime
0x1C AssetID mCurveID1
0x20 AssetID mCurveID2
0x24 s32 mNumBeads
struct zCameraCurveBead
{
    float mCurveU[2];
    float mDistanceAdjust;
    float mPitchOffset;
    float mTargetRadius;
    float mTargetMarginAngle;
    float mLeadOffset;
    float mYOffset;
    float mNearWallAdjust
    float mFarWallAdjust;
};

zCameraCurveBead

Offset Type Variable Description
0x00 f32 mCurveU1
0x04 f32 mCurveU2
0x08 f32 mDistanceAdjust
0x0C f32 mPitchOffset
0x10 f32 mTargetRadius
0x14 f32 mTargetMarginAngle
0x18 f32 mLeadOffset
0x1C f32 mYOffset
0x20 f32 mNearWallAdjust
0x24 f32 mFarWallAdjust