papermario/src/animation_script.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

50 lines
1.1 KiB
C
Raw Normal View History

#ifndef ANIMATION_SCRIPT_H
#define ANIMATION_SCRIPT_H
#include "common.h"
typedef s16 AnimScript[];
enum {
AS_END,
AS_WAIT,
AS_OP_2,
AS_END_LOOP,
AS_OP_4,
AS_SET_ROTATION,
AS_ADD_ROTATION,
AS_OP_7,
AS_SET_POS,
AS_OP_9,
AS_LOOP,
AS_OP_11,
AS_OP_12,
AS_OP_13,
AS_SET_FLAGS,
AS_SET_NODE_FLAGS,
AS_CLEAR_NODE_FLAGS,
AS_SET_SCALE,
AS_SET_RENDER_MODE,
AS_OP_19,
};
#define _AS_ROUND(x) ((int) (x < 0 ? x - 0.5 : x + 0.5))
#define AS_F(x) (_AS_ROUND((x) * 32767.0 / 180.0))
#define as_End AS_END,
#define as_Wait(time) AS_WAIT, time,
#define as_EndLoop AS_END_LOOP,
#define as_Restart AS_END_LOOP,
#define as_Loop AS_LOOP,
#define as_SetRotation(node, x, y, z) AS_SET_ROTATION, node, AS_F(x), AS_F(y), AS_F(z),
#define as_SetPos(node, x, y, z) AS_SET_POS, node, x, y, z,
#define as_SetScale(node, x, y, z) AS_SET_SCALE, node, AS_F(x), AS_F(y), AS_F(z),
#define as_DisableMirroring AS_OP_19,
#define AS_MODEL_ID(modelID) ((modelID) + 1)
#define AS_NULL_MODEL 0
// used in entity models
#define ENTITY_ANIM_NULL (void*)(0xFFFFFFFF)
#endif