You've already forked PrimeRemasterStructs
mirror of
https://github.com/PrimeDecomp/PrimeRemasterStructs.git
synced 2026-03-31 14:23:23 -07:00
93 lines
1.9 KiB
Plaintext
93 lines
1.9 KiB
Plaintext
//--------------------------------------
|
|
//--- 010 Editor v5.0 Binary Template
|
|
//
|
|
// File:
|
|
// Author:
|
|
// Revision:
|
|
// Purpose:
|
|
//--------------------------------------
|
|
|
|
enum EParmType {
|
|
kPT_Int32,
|
|
kPT_Uint32,
|
|
kPT_Real32,
|
|
kPT_Bool,
|
|
kPT_Enum
|
|
};
|
|
|
|
enum EWeightFunction {
|
|
kWF_ExactMatch,
|
|
kWF_PercentError,
|
|
kWF_AngularPercent,
|
|
kWF_NoWeight,
|
|
};
|
|
|
|
struct CPASParmInfo {
|
|
EParmType type;
|
|
EWeightFunction weightFunction;
|
|
float weight;
|
|
switch(type)
|
|
{
|
|
case kPT_Int32:
|
|
int min;
|
|
int max;
|
|
break;
|
|
case kPT_Uint32:
|
|
uint min;
|
|
uint max;
|
|
break;
|
|
case kPT_Real32:
|
|
float min;
|
|
float max;
|
|
break;
|
|
case kPT_Bool:
|
|
byte min;
|
|
byte max;
|
|
break;
|
|
case kPT_Enum:
|
|
uint min;
|
|
uint max;
|
|
break;
|
|
}
|
|
};
|
|
|
|
struct CPASAnimState {
|
|
uint stateId;
|
|
uint parmInfoCount;
|
|
uint animInfoCount;
|
|
CPASParmInfo parmInfo[parmInfoCount] <optimize = false>;
|
|
local uint i;
|
|
struct PASAnimInfo
|
|
{
|
|
uint animId;
|
|
for (i = 0; i < parmInfoCount; i++)
|
|
{
|
|
switch(parmInfo[i].type)
|
|
{
|
|
case kPT_Int32:
|
|
int val;
|
|
break;
|
|
case kPT_Uint32:
|
|
uint val;
|
|
break;
|
|
case kPT_Real32:
|
|
float val;
|
|
break;
|
|
case kPT_Bool:
|
|
byte val;
|
|
break;
|
|
case kPT_Enum:
|
|
uint val;
|
|
break;
|
|
}
|
|
}
|
|
} animInfo[animInfoCount] <optimize = false>;
|
|
};
|
|
|
|
struct CPASDatabase {
|
|
uint magic;
|
|
uint animStateCount;
|
|
uint defaultState;
|
|
|
|
CPASAnimState animStates[animStateCount] <optimize = false>;
|
|
}; |