1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-14 05:19:36 +00:00
oot/include/z64animation_legacy.h
Dragorn421 da2e8a8f2c
Skelanime/Animation header cleanup (#1434)
* Skelanime/Animation header cleanup

* touch up names of the two existing moveFlags macros

* formatter is a dum dum D:
2022-11-30 18:46:12 +01:00

40 lines
1.1 KiB
C

#ifndef Z64_ANIMATION_LEGACY_H
#define Z64_ANIMATION_LEGACY_H
#include "ultra64.h"
#include "z64math.h"
typedef struct LegacyLimb {
/* 0x000 */ Gfx* dList;
/* 0x004 */ Vec3f trans;
/* 0x010 */ Vec3s rot;
/* 0x018 */ struct LegacyLimb* sibling;
/* 0x01C */ struct LegacyLimb* child;
} LegacyLimb; // size = 0x20
typedef struct {
/* 0x00 */ s16 xMax;
/* 0x02 */ s16 x;
/* 0x04 */ s16 yMax;
/* 0x06 */ s16 y;
/* 0x08 */ s16 zMax;
/* 0x0A */ s16 z;
} LegacyJointKey; // size = 0x0C
// ZAPD compatibility typedefs
// TODO: Remove when ZAPD adds support for them
typedef LegacyJointKey JointKey;
typedef struct {
/* 0x00 */ s16 frameCount;
/* 0x02 */ s16 limbCount;
/* 0x04 */ s16* frameData;
/* 0x08 */ LegacyJointKey* jointKey;
} LegacyAnimationHeader; // size = 0xC
s32 SkelAnime_GetFrameDataLegacy(LegacyAnimationHeader* animation, s32 frame, Vec3s* frameTable);
s16 Animation_GetLimbCountLegacy(LegacyAnimationHeader* animation);
s16 Animation_GetLengthLegacy(LegacyAnimationHeader* animation);
s16 Animation_GetLastFrameLegacy(LegacyAnimationHeader* animation);
#endif