Tidy up model skeletons

This commit is contained in:
Ryan Dwyer
2021-12-21 18:49:57 +10:00
parent fcba7f272a
commit d305a4d4f9
36 changed files with 3931 additions and 4042 deletions
+86 -81
View File
@@ -731,12 +731,17 @@
#define EXPLOSIONTYPE_1 1
#define EXPLOSIONTYPE_2 2
#define EXPLOSIONTYPE_3 3
#define EXPLOSIONTYPE_4 4
#define EXPLOSIONTYPE_5 5
#define EXPLOSIONTYPE_6 6
#define EXPLOSIONTYPE_7 7
#define EXPLOSIONTYPE_8 8
#define EXPLOSIONTYPE_9 9
#define EXPLOSIONTYPE_11 11
#define EXPLOSIONTYPE_12 12
#define EXPLOSIONTYPE_13 13
#define EXPLOSIONTYPE_14 14
#define EXPLOSIONTYPE_16 16
#define EXPLOSIONTYPE_17 17
#define EXPLOSIONTYPE_18 18
#define EXPLOSIONTYPE_21 21
@@ -2284,87 +2289,6 @@
#define MODELPART_0066 0x0066
#define MODELPART_0067 0x0067
#define MODELTYPE_BASIC 0x02
#define MODELTYPE_CHRGUN 0x03
#define MODELTYPE_JOYPAD 0x04
#define MODELTYPE_UZI 0x05
#define MODELTYPE_06 0x06
#define MODELTYPE_CLASSICGUN 0x07
#define MODELTYPE_CASING 0x08
#define MODELTYPE_CHR 0x09
#define MODELTYPE_0A 0x0a
#define MODELTYPE_0B 0x0b
#define MODELTYPE_0C 0x0c
#define MODELTYPE_HEAD 0x0d
#define MODELTYPE_CCTV 0x0f
#define MODELTYPE_WINDOWEDDOOR 0x10
#define MODELTYPE_11 0x11
#define MODELTYPE_12 0x12
#define MODELTYPE_13 0x13
#define MODELTYPE_TERMINAL 0x14
#define MODELTYPE_CIHUB 0x15
#define MODELTYPE_AUTOGUN 0x16
#define MODELTYPE_17 0x17
#define MODELTYPE_18 0x18
#define MODELTYPE_19 0x19
#define MODELTYPE_LIFT 0x1b
#define MODELTYPE_SKEDAR 0x1c
#define MODELTYPE_LOGO 0x1d
#define MODELTYPE_PDLOGO 0x1e
#define MODELTYPE_HOVERBIKE 0x1f
#define MODELTYPE_20 0x20
#define MODELTYPE_21 0x21
#define MODELTYPE_22 0x22
#define MODELTYPE_LAPTOPGUN 0x23
#define MODELTYPE_K7AVENGER 0x24
#define MODELTYPE_FALCON2 0x25
#define MODELTYPE_KNIFE 0x26
#define MODELTYPE_CHOPPER 0x27
#define MODELTYPE_DRCAROLL 0x28
#define MODELTYPE_ROPE 0x29
#define MODELTYPE_HUDPIECE 0x2a
#define MODELTYPE_RARELOGO 0x2c
#define MODELTYPE_JUMPSHIP 0x32
#define MODELTYPE_BANNER 0x33
#define MODELTYPE_ROBOT 0x34
#define MODELTYPE_CABLECAR 0x3c
#define MODELTYPE_SUBMARINE 0x43
#define MODELTYPE_MAIANUFO 0x44
#define MODELTYPE_SKSHUTTLE 0x45
#define MODELTYPE_CMP150 0x46
#define MODELTYPE_DRAGON 0x47
#define MODELTYPE_SUPERDRAGON 0x48
#define MODELTYPE_ROCKET 0x49
#define MODELTYPE_4A 0x4a
#define MODELTYPE_SHOTGUN 0x4b
#define MODELTYPE_FARSIGHT 0x4c
#define MODELTYPE_4D 0x4d
#define MODELTYPE_REAPER 0x4e
#define MODELTYPE_DROPSHIP 0x4f
#define MODELTYPE_MAULER 0x64
#define MODELTYPE_DEVASTATOR 0x65
#define MODELTYPE_PISTOL 0x66
#define MODELTYPE_AR34 0x67
#define MODELTYPE_MAGNUM 0x68
#define MODELTYPE_SLAYERROCKET 0x69
#define MODELTYPE_CYCLONE 0x6a
#define MODELTYPE_SNIPERRIFLE 0x6b
#define MODELTYPE_TRANQUILIZER 0x6c
#define MODELTYPE_CROSSBOW 0x6d
#define MODELTYPE_TIMEDPROXYMINE 0x6e
#define MODELTYPE_PHOENIX 0x6f
#define MODELTYPE_CALLISTO 0x70
#define MODELTYPE_RCP120 0x71
#define MODELTYPE_LASER 0x72
#define MODELTYPE_GRENADE 0x73
#define MODELTYPE_ECMMINE 0x74
#define MODELTYPE_UPLINK 0x75
#define MODELTYPE_REMOTEMINE 0x76
#define MODELTYPE_TARGET 0x8c
#define MODELTYPE_BB 0xbb
#define MODELTYPE_WIREFENCE 0xc8
#define MODELTYPE_HAND 0xfa
#define MODFILE_GAME 1
#define MODFILE_MPSETUP 2
#define MODFILE_BOSS 4
@@ -3406,6 +3330,87 @@
#define SIMTYPE_TURTLE 11
#define SIMTYPE_VENGE 12
#define SKEL_BASIC 0x02
#define SKEL_CHRGUN 0x03
#define SKEL_JOYPAD 0x04
#define SKEL_UZI 0x05
#define SKEL_06 0x06
#define SKEL_CLASSICGUN 0x07
#define SKEL_CASING 0x08
#define SKEL_CHR 0x09
#define SKEL_0A 0x0a
#define SKEL_0B 0x0b
#define SKEL_0C 0x0c
#define SKEL_HEAD 0x0d
#define SKEL_CCTV 0x0f
#define SKEL_WINDOWEDDOOR 0x10
#define SKEL_11 0x11
#define SKEL_12 0x12
#define SKEL_13 0x13
#define SKEL_TERMINAL 0x14
#define SKEL_CIHUB 0x15
#define SKEL_AUTOGUN 0x16
#define SKEL_17 0x17
#define SKEL_18 0x18
#define SKEL_19 0x19
#define SKEL_LIFT 0x1b
#define SKEL_SKEDAR 0x1c
#define SKEL_LOGO 0x1d
#define SKEL_PDLOGO 0x1e
#define SKEL_HOVERBIKE 0x1f
#define SKEL_20 0x20
#define SKEL_21 0x21
#define SKEL_22 0x22
#define SKEL_LAPTOPGUN 0x23
#define SKEL_K7AVENGER 0x24
#define SKEL_FALCON2 0x25
#define SKEL_KNIFE 0x26
#define SKEL_CHOPPER 0x27
#define SKEL_DRCAROLL 0x28
#define SKEL_ROPE 0x29
#define SKEL_HUDPIECE 0x2a
#define SKEL_RARELOGO 0x2c
#define SKEL_JUMPSHIP 0x32
#define SKEL_BANNER 0x33
#define SKEL_ROBOT 0x34
#define SKEL_CABLECAR 0x3c
#define SKEL_SUBMARINE 0x43
#define SKEL_MAIANUFO 0x44
#define SKEL_SKSHUTTLE 0x45
#define SKEL_CMP150 0x46
#define SKEL_DRAGON 0x47
#define SKEL_SUPERDRAGON 0x48
#define SKEL_ROCKET 0x49
#define SKEL_4A 0x4a
#define SKEL_SHOTGUN 0x4b
#define SKEL_FARSIGHT 0x4c
#define SKEL_4D 0x4d
#define SKEL_REAPER 0x4e
#define SKEL_DROPSHIP 0x4f
#define SKEL_MAULER 0x64
#define SKEL_DEVASTATOR 0x65
#define SKEL_PISTOL 0x66
#define SKEL_AR34 0x67
#define SKEL_MAGNUM 0x68
#define SKEL_SLAYERROCKET 0x69
#define SKEL_CYCLONE 0x6a
#define SKEL_SNIPERRIFLE 0x6b
#define SKEL_TRANQUILIZER 0x6c
#define SKEL_CROSSBOW 0x6d
#define SKEL_TIMEDPROXYMINE 0x6e
#define SKEL_PHOENIX 0x6f
#define SKEL_CALLISTO 0x70
#define SKEL_RCP120 0x71
#define SKEL_LASER 0x72
#define SKEL_GRENADE 0x73
#define SKEL_ECMMINE 0x74
#define SKEL_UPLINK 0x75
#define SKEL_REMOTEMINE 0x76
#define SKEL_TARGET 0x8c
#define SKEL_BB 0xbb
#define SKEL_WIREFENCE 0xc8
#define SKEL_HAND 0xfa
#define SKJUMPSTATE_TAKEOFF 0
#define SKJUMPSTATE_AIRBORNE 1
+80 -80
View File
@@ -320,88 +320,88 @@ extern u8 unregistered_function1[];
extern u8 unregistered_function2[];
extern u8 unregistered_function3[];
extern struct ailist g_GlobalAilists[];
extern struct modeltype g_ModelTypeDropship;
extern struct modeltype g_ModelTypeSkShuttle;
extern struct modeltype g_ModelTypeLift;
extern struct modeltype g_ModelTypeCctv;
extern struct modeltype g_ModelTypeTerminal;
extern struct modeltype g_ModelTypeCiHub;
extern struct modeltype g_ModelType19;
extern struct modeltype g_ModelTypeAutogun;
extern struct modeltype g_ModelType11;
extern struct modeltype g_ModelType13;
extern struct modeltype g_ModelType18;
extern struct modeltype g_ModelType12;
extern struct modeltype g_ModelTypeWindowedDoor;
extern struct modeltype g_ModelType17;
extern struct modeltype g_ModelType0C;
extern struct modeltype g_ModelTypeLogo;
extern struct modeltype g_ModelTypePdLogo;
extern struct modeltype g_ModelTypeHoverbike;
extern struct modeltype g_ModelTypeJumpship;
extern struct modeltype g_ModelTypeChopper;
extern struct modeltype g_ModelTypeRope;
extern struct modeltype g_ModelTypeBanner;
extern struct modeltype g_ModelTypeMaianUfo;
extern struct modeltype g_ModelTypeCableCar;
extern struct modeltype g_ModelTypeSubmarine;
extern struct modeltype g_ModelTypeTarget;
extern struct modeltype g_ModelTypeRareLogo;
extern struct modeltype g_ModelTypeWireFence;
extern struct modeltype g_ModelTypeBB;
extern struct skeleton g_SkelDropship;
extern struct skeleton g_SkelSkShuttle;
extern struct skeleton g_SkelLift;
extern struct skeleton g_SkelCctv;
extern struct skeleton g_SkelTerminal;
extern struct skeleton g_SkelCiHub;
extern struct skeleton g_Skel19;
extern struct skeleton g_SkelAutogun;
extern struct skeleton g_Skel11;
extern struct skeleton g_Skel13;
extern struct skeleton g_Skel18;
extern struct skeleton g_Skel12;
extern struct skeleton g_SkelWindowedDoor;
extern struct skeleton g_Skel17;
extern struct skeleton g_Skel0C;
extern struct skeleton g_SkelLogo;
extern struct skeleton g_SkelPdLogo;
extern struct skeleton g_SkelHoverbike;
extern struct skeleton g_SkelJumpship;
extern struct skeleton g_SkelChopper;
extern struct skeleton g_SkelRope;
extern struct skeleton g_SkelBanner;
extern struct skeleton g_SkelMaianUfo;
extern struct skeleton g_SkelCableCar;
extern struct skeleton g_SkelSubmarine;
extern struct skeleton g_SkelTarget;
extern struct skeleton g_SkelRareLogo;
extern struct skeleton g_SkelWireFence;
extern struct skeleton g_SkelBB;
extern struct modelstate g_ModelStates[441];
extern u8 propexplosiontypes[];
extern struct modeltype g_ModelTypeBasic;
extern struct modeltype g_ModelTypeChrGun;
extern struct modeltype g_ModelType0B;
extern u8 g_PropExplosionTypes[];
extern struct skeleton g_SkelBasic;
extern struct skeleton g_SkelChrGun;
extern struct skeleton g_Skel0B;
extern struct modelfiledata g_PlayerModelFileData;
extern struct modeltype g_ModelType0A;
extern struct modeltype g_ModelType20;
extern struct modeltype g_ModelTypeClassicGun;
extern struct modeltype g_ModelTypeCasing;
extern struct modeltype g_ModelType06;
extern struct modeltype g_ModelTypeUzi;
extern struct modeltype g_ModelTypeJoypad;
extern struct modeltype g_ModelType21;
extern struct modeltype g_ModelTypeLaptopGun;
extern struct modeltype g_ModelTypeK7Avenger;
extern struct modeltype g_ModelTypeFalcon2;
extern struct modeltype g_ModelTypeKnife;
extern struct modeltype g_ModelTypeCmp150;
extern struct modeltype g_ModelTypeDragon;
extern struct modeltype g_ModelTypeSuperDragon;
extern struct modeltype g_ModelTypeRocket;
extern struct modeltype g_ModelType4A;
extern struct modeltype g_ModelTypeShotgun;
extern struct modeltype g_ModelTypeFarsight;
extern struct modeltype g_ModelType4D;
extern struct modeltype g_ModelTypeReaper;
extern struct modeltype g_ModelTypeMauler;
extern struct modeltype g_ModelTypeDevastator;
extern struct modeltype g_ModelTypePistol;
extern struct modeltype g_ModelTypeAr34;
extern struct modeltype g_ModelTypeMagnum;
extern struct modeltype g_ModelTypeSlayerRocket;
extern struct modeltype g_ModelTypeCyclone;
extern struct modeltype g_ModelTypeSniperRifle;
extern struct modeltype g_ModelTypeTranquilizer;
extern struct modeltype g_ModelTypeCrossbow;
extern struct modeltype g_ModelTypeTimedProxyMine;
extern struct modeltype g_ModelTypePhoenix;
extern struct modeltype g_ModelTypeCallisto;
extern struct modeltype g_ModelTypeRcp120;
extern struct modeltype g_ModelTypeHudPiece;
extern struct modeltype g_ModelTypeHand;
extern struct modeltype g_ModelTypeLaser;
extern struct modeltype g_ModelTypeGrenade;
extern struct modeltype g_ModelTypeEcmMine;
extern struct modeltype g_ModelTypeUplink;
extern struct modeltype g_ModelTypeRemoteMine;
extern struct modeltype g_ModelTypeChr;
extern struct modeltype g_ModelTypeSkedar;
extern struct modeltype g_ModelTypeDrCaroll;
extern struct modeltype g_ModelType22;
extern struct modeltype g_ModelTypeRobot;
extern struct skeleton g_Skel0A;
extern struct skeleton g_Skel20;
extern struct skeleton g_SkelClassicGun;
extern struct skeleton g_SkelCasing;
extern struct skeleton g_Skel06;
extern struct skeleton g_SkelUzi;
extern struct skeleton g_SkelJoypad;
extern struct skeleton g_Skel21;
extern struct skeleton g_SkelLaptopGun;
extern struct skeleton g_SkelK7Avenger;
extern struct skeleton g_SkelFalcon2;
extern struct skeleton g_SkelKnife;
extern struct skeleton g_SkelCmp150;
extern struct skeleton g_SkelDragon;
extern struct skeleton g_SkelSuperDragon;
extern struct skeleton g_SkelRocket;
extern struct skeleton g_Skel4A;
extern struct skeleton g_SkelShotgun;
extern struct skeleton g_SkelFarsight;
extern struct skeleton g_Skel4D;
extern struct skeleton g_SkelReaper;
extern struct skeleton g_SkelMauler;
extern struct skeleton g_SkelDevastator;
extern struct skeleton g_SkelPistol;
extern struct skeleton g_SkelAr34;
extern struct skeleton g_SkelMagnum;
extern struct skeleton g_SkelSlayerRocket;
extern struct skeleton g_SkelCyclone;
extern struct skeleton g_SkelSniperRifle;
extern struct skeleton g_SkelTranquilizer;
extern struct skeleton g_SkelCrossbow;
extern struct skeleton g_SkelTimedProxyMine;
extern struct skeleton g_SkelPhoenix;
extern struct skeleton g_SkelCallisto;
extern struct skeleton g_SkelRcp120;
extern struct skeleton g_SkelHudPiece;
extern struct skeleton g_SkelHand;
extern struct skeleton g_SkelLaser;
extern struct skeleton g_SkelGrenade;
extern struct skeleton g_SkelEcmMine;
extern struct skeleton g_SkelUplink;
extern struct skeleton g_SkelRemoteMine;
extern struct skeleton g_SkelChr;
extern struct skeleton g_SkelSkedar;
extern struct skeleton g_SkelDrCaroll;
extern struct skeleton g_Skel22;
extern struct skeleton g_SkelRobot;
extern struct headorbody g_HeadsAndBodies[];
extern struct hatposition var8007dae4[1][6];
extern f32 var8007db80;
+3 -3
View File
@@ -19,9 +19,9 @@ void anim00023d0c(void);
void anim00023d38(s16 animnum);
u32 anim00023f50(u8 *arg0, u8 arg1, u32 arg2);
u32 anim00023fe0(u8 *arg0, u8 arg1, u32 arg2);
void anim00024050(s32 arg0, s32 arg1, struct modeltype *arg2, s32 animnum, u32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7);
u32 anim0002485c(s32 arg0, s32 arg1, struct modeltype *arg2, s16 animnum, s32 loopframe, s16 *arg5, s32 arg6);
f32 anim00024b64(u32 arg0, u32 arg1, struct modeltype *arg2, s16 animnum, u32 arg4, struct coord *coord, u32 arg6);
void anim00024050(s32 arg0, s32 arg1, struct skeleton *skel, s32 animnum, u32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7);
u32 anim0002485c(s32 arg0, s32 arg1, struct skeleton *skel, s16 animnum, s32 loopframe, s16 *arg5, s32 arg6);
f32 anim00024b64(u32 arg0, u32 arg1, struct skeleton *skel, s16 animnum, u32 arg4, struct coord *coord, u32 arg6);
f32 anim00024c14(s32 arg0, s16 animnum, u8 arg2);
#endif
+4 -4
View File
@@ -535,10 +535,10 @@ struct anim {
/*0x88*/ f32 animscale;
};
struct modeltype {
s16 type;
struct skeleton {
s16 skel;
u16 numthings;
u16 *things;
u8 (*things)[2];
};
struct modelrodata_chrinfo { // type 0x01
@@ -704,7 +704,7 @@ struct modelnode {
struct modelfiledata {
struct modelnode *rootnode;
struct modeltype *type;
struct skeleton *skel;
// This is a pointer to a variable length array of pointers to modelnodes,
// but the array is followed by an s16 array of part numbers.