mirror of
https://github.com/PrimeDecomp/PrimeRemasterStructs.git
synced 2026-07-12 18:18:58 -07:00
CCharInfo: Minor fixes, import CPASDatabase.bt
This commit is contained in:
+20
-15
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <CEvalSystem.bt>
|
||||
#include <CTransform4f.bt>
|
||||
#include <CPASDatabase.bt>
|
||||
|
||||
local int charinfoi <hidden=true> = 0;
|
||||
|
||||
@@ -71,8 +72,10 @@ struct CAssetHeader
|
||||
struct NameHashList
|
||||
{
|
||||
uint count;
|
||||
uint hash[count] <format = hex>;
|
||||
uint stringIDs[count];
|
||||
if (count > 0) {
|
||||
uint hash[count] <format = hex>;
|
||||
uint stringIDs[count];
|
||||
}
|
||||
};
|
||||
|
||||
struct StringList
|
||||
@@ -112,12 +115,15 @@ struct SRenderContext {
|
||||
uint16 unk3;
|
||||
uint16 unk4;
|
||||
int32 unk5;
|
||||
local int start = FTell();
|
||||
union {
|
||||
struct {
|
||||
ushort unk[unk1];
|
||||
ushort unk2[unk2];
|
||||
ushort unk3[unk3];
|
||||
if (unk2 > 0) {
|
||||
ushort unk2[unk2];
|
||||
}
|
||||
if (unk3 > 0) {
|
||||
ushort unk3[unk3];
|
||||
}
|
||||
ushort segIDs[unk4];
|
||||
CTransform4f xfs[unk1 + 1];
|
||||
CTransform4f xfs2[unk4];
|
||||
@@ -320,22 +326,21 @@ struct SSubCharData {
|
||||
struct SAnimParamNode {
|
||||
CGuid guid;
|
||||
uint unk1;
|
||||
// CPASDatabase
|
||||
CPASDatabase pasDatabase;
|
||||
};
|
||||
|
||||
struct CAnimCollisionPrimSet {
|
||||
CStringFixed something; // CStringHashedCase
|
||||
uint unk1;
|
||||
CStringFixed strings[unk1]; // CStringHashedCase
|
||||
CStringFixed strings[unk1] <optimize = false>; // CStringHashedCase
|
||||
};
|
||||
struct CAnimCollisionPrim {
|
||||
uint unk1;
|
||||
uint unk2;
|
||||
char unk3[unk2];
|
||||
CStringFixed name;
|
||||
uint evalDataLen;
|
||||
CEvalId evalId;
|
||||
CGuid guid;
|
||||
char evalData[evalDataLen];
|
||||
char evalData[unk1];
|
||||
};
|
||||
|
||||
struct SObjectTag {
|
||||
@@ -346,11 +351,11 @@ struct SObjectTag {
|
||||
struct CAnimCollisionPrimData {
|
||||
uint primCount;
|
||||
if (primCount) {
|
||||
CAnimCollisionPrim prims[primCount];
|
||||
CAnimCollisionPrim prims[primCount] <optimize = false>;
|
||||
}
|
||||
uint setCount;
|
||||
if (setCount) {
|
||||
CAnimCollisionPrimSet collisionPrimSet[setCount];
|
||||
CAnimCollisionPrimSet collisionPrimSet[setCount] <optimize = false>;
|
||||
}
|
||||
|
||||
uint unk1;
|
||||
@@ -416,8 +421,8 @@ struct CActionData {
|
||||
}
|
||||
|
||||
if (unk4) {
|
||||
char unk[unk4 * 4];
|
||||
char unk[unk2];
|
||||
uint unk10[unk4];
|
||||
CString strings[unk4] <optimize = false>;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -601,7 +606,7 @@ struct CCharInfo
|
||||
uchar unkData3[unk14 * 8];
|
||||
uchar unkData4[unk15];
|
||||
if (unk7) {
|
||||
SAnimParamNode paramNodes[unk7];
|
||||
SAnimParamNode paramNodes[unk7] <optimize = false>;
|
||||
}
|
||||
if (unk6) {
|
||||
CGuid guids[unk6];
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//--------------------------------------
|
||||
//--- 010 Editor v5.0 Binary Template
|
||||
//
|
||||
// File:
|
||||
// Author:
|
||||
// Revision:
|
||||
// Purpose:
|
||||
//--------------------------------------
|
||||
|
||||
enum EParmType
|
||||
{
|
||||
Int32,
|
||||
Uint32,
|
||||
Real32,
|
||||
Bool,
|
||||
Enum
|
||||
};
|
||||
|
||||
struct CPASParmInfo
|
||||
{
|
||||
EParmType type;
|
||||
uint unknown1;
|
||||
float unknown2;
|
||||
switch(type)
|
||||
{
|
||||
case Int32:
|
||||
int val[2];
|
||||
break;
|
||||
case Uint32:
|
||||
uint val[2];
|
||||
break;
|
||||
case Real32:
|
||||
float val[2];
|
||||
break;
|
||||
case Bool:
|
||||
byte val[2];
|
||||
break;
|
||||
case Enum:
|
||||
uint val[2];
|
||||
}
|
||||
};
|
||||
|
||||
struct CPASAnimState
|
||||
{
|
||||
uint unknown1;
|
||||
uint parmInfoCount;
|
||||
uint animInfoCount;
|
||||
CPASParmInfo parmInfo[parmInfoCount] <optimize = false>;
|
||||
local uint i;
|
||||
struct PASAnimInfo
|
||||
{
|
||||
uint unknown1;
|
||||
for (i = 0; i < parmInfoCount; i++)
|
||||
{
|
||||
switch(parmInfo[i].type)
|
||||
{
|
||||
case Int32:
|
||||
int val;
|
||||
break;
|
||||
case Uint32:
|
||||
uint val;
|
||||
break;
|
||||
case Real32:
|
||||
float val;
|
||||
break;
|
||||
case Bool:
|
||||
byte val;
|
||||
break;
|
||||
case Enum:
|
||||
uint val;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} animInfo[animInfoCount] <optimize = false>;
|
||||
};
|
||||
|
||||
struct CPASDatabase
|
||||
{
|
||||
uint magic;
|
||||
uint animStateCount;
|
||||
uint defaultState;
|
||||
|
||||
CPASAnimState animStates[animStateCount] <optimize = false>;
|
||||
};
|
||||
Reference in New Issue
Block a user