blob: e4c83f1042634d83a0966c7841c370beec377688 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#ifndef EVW_ANIME_H
#define EVW_ANIME_H
#include "ultra64.h"
struct Game;
typedef struct EvwAnimeScroll {
/* 0x0 */ s8 x; /* x (s) texture position */
/* 0x1 */ s8 y; /* y (t) texture position */
/* 0x2 */ u8 width; /* texture width */
/* 0x3 */ u8 height; /* texture height */
} EvwAnimeScroll; // size = 0x4
typedef struct EvwAnimeColPrim {
/* 0x0 */ u8 r;
/* 0x1 */ u8 g;
/* 0x2 */ u8 b;
/* 0x3 */ u8 a;
/* 0x4 */ u8 l;
} EvwAnimeColPrim; // size = 0x5
typedef struct EvwAnimeColEnv {
/* 0x0 */ u8 r;
/* 0x1 */ u8 g;
/* 0x2 */ u8 b;
/* 0x3 */ u8 a;
} EvwAnimeColEnv; // size = 0x4
typedef struct EvwAnimeColReg {
/* 0x0 */ u16 frameCount;
/* 0x2 */ u16 keyframeCount;
/* 0x4 */ EvwAnimeColPrim* prim;
/* 0x8 */ EvwAnimeColEnv* env;
/* 0xC */ u16* keyframes;
} EvwAnimeColReg; // size = 0x10
typedef struct EvwAnimeTexAnime {
/* 0x0 */ u16 frameCount; /* total frames in the animation */
/* 0x2 */ u16 keyframeCount; /* number of animation keyframes */
/* 0x4 */ void** textureTable; /* list of each texture */
/* 0x8 */ u8* animationPattern; /* list of which texture to use per keyframe (runs at 30 FPS) */
/* 0xC */ u16* keyframes; /* list of keyframe frame indices */
} EvwAnimeTexAnime; // size = 0x10
typedef struct EvwAnimeData {
/* 0x0 */ s8 segment; /* Negative segments signal the end of the animation data array */
/* 0x2 */ s16 type;
/* 0x4 */ void* dataPtr;
} EvwAnimeData; // size = 0x8
// void func_800549C0_jp();
// void func_80054A28_jp();
// void func_80054A94_jp();
// void func_80054B44_jp();
// void func_80054BB0_jp();
// void func_80054C88_jp();
// void morf_calc();
// void func_80054D3C_jp();
// void func_80054F10_jp();
// void func_80055214_jp();
// void func_80055248_jp();
// void func_800554D8_jp();
void Evw_Anime_Set(struct Game*,EvwAnimeData*);
#endif
|