Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
moving_texture.h
Go to the documentation of this file.
1 #ifndef _MOVING_TEXTURE_H
2 #define _MOVING_TEXTURE_H
3 
4 #include "types.h"
5 
6 #define ROTATE_CLOCKWISE 0
7 #define ROTATE_COUNTER_CLOCKWISE 1
8 
11 {
20 };
21 
23 
24 // Moving texture mesh ids have for bits 8-16 a course identifier.
25 // This corresponds to the numbers used in debug level select, except they are
26 // re-interpreted as hexadecimal numbers. TTM is course 36, so the id is 0x36
27 // and the first water quad collection in TTM has id 0x3601.
28 #define MOVTEX_AREA_BBH (0x04 << 8)
29 #define MOVTEX_AREA_CCM (0x05 << 8)
30 #define MOVTEX_AREA_INSIDE_CASTLE (0x06 << 8)
31 #define MOVTEX_AREA_HMC (0x07 << 8)
32 #define MOVTEX_AREA_SSL (0x08 << 8)
33 #define MOVTEX_AREA_SL (0x10 << 8)
34 #define MOVTEX_AREA_WDW (0x11 << 8)
35 #define MOVTEX_AREA_JRB (0x12 << 8)
36 #define MOVTEX_AREA_THI (0x13 << 8)
37 #define MOVTEX_AREA_TTC (0x14 << 8)
38 #define MOVTEX_AREA_CASTLE_GROUNDS (0x16 << 8)
39 #define MOVTEX_AREA_BITFS (0x19 << 8)
40 #define MOVTEX_AREA_LLL (0x22 << 8)
41 #define MOVTEX_AREA_DDD (0x23 << 8)
42 #define MOVTEX_AREA_WF (0x24 << 8)
43 #define MOVTEX_AREA_CASTLE_COURTYARD (0x26 << 8)
44 #define MOVTEX_AREA_COTMC (0x28 << 8)
45 #define MOVTEX_AREA_TTM (0x36 << 8)
46 
47 // Quad collections
48 #define BBH_MOVTEX_MERRY_GO_ROUND_WATER_ENTRANCE ( 0 | MOVTEX_AREA_BBH)
49 #define BBH_MOVTEX_MERRY_GO_ROUND_WATER_SIDE ( 1 | MOVTEX_AREA_BBH)
50 #define CCM_MOVTEX_PENGUIN_PUDDLE_WATER ( 1 | MOVTEX_AREA_CCM)
51 #define INSIDE_CASTLE_MOVTEX_GREEN_ROOM_WATER ( 0 | MOVTEX_AREA_INSIDE_CASTLE)
52 #define INSIDE_CASTLE_MOVTEX_MOAT_WATER (0x12 | MOVTEX_AREA_INSIDE_CASTLE)
53 #define HMC_MOVTEX_DORRIE_POOL_WATER ( 1 | MOVTEX_AREA_HMC)
54 #define HMC_MOVTEX_TOXIC_MAZE_MIST ( 2 | MOVTEX_AREA_HMC)
55 #define SSL_MOVTEX_PUDDLE_WATER ( 1 | MOVTEX_AREA_SSL)
56 #define SSL_MOVTEX_TOXBOX_QUICKSAND_MIST (0x51 | MOVTEX_AREA_SSL)
57 #define SL_MOVTEX_WATER ( 1 | MOVTEX_AREA_SL)
58 #define WDW_MOVTEX_AREA1_WATER ( 1 | MOVTEX_AREA_WDW)
59 #define WDW_MOVTEX_AREA2_WATER ( 2 | MOVTEX_AREA_WDW)
60 #define JRB_MOVTEX_WATER ( 1 | MOVTEX_AREA_JRB)
61 #define JRB_MOVTEX_INTIAL_MIST ( 5 | MOVTEX_AREA_JRB)
62 #define JRB_MOVTEX_SINKED_BOAT_WATER ( 2 | MOVTEX_AREA_JRB)
63 #define THI_MOVTEX_AREA1_WATER ( 1 | MOVTEX_AREA_THI)
64 #define THI_MOVTEX_AREA2_WATER ( 2 | MOVTEX_AREA_THI)
65 #define CASTLE_GROUNDS_MOVTEX_WATER ( 1 | MOVTEX_AREA_CASTLE_GROUNDS)
66 #define LLL_MOVTEX_VOLCANO_FLOOR_LAVA ( 2 | MOVTEX_AREA_LLL)
67 #define DDD_MOVTEX_AREA1_WATER ( 1 | MOVTEX_AREA_DDD)
68 #define DDD_MOVTEX_AREA2_WATER ( 2 | MOVTEX_AREA_DDD)
69 #define WF_MOVTEX_WATER ( 1 | MOVTEX_AREA_WF)
70 #define CASTLE_COURTYARD_MOVTEX_STAR_STATUE_WATER ( 1 | MOVTEX_AREA_CASTLE_COURTYARD)
71 #define TTM_MOVTEX_PUDDLE ( 1 | MOVTEX_AREA_TTM)
72 
73 // Non-colored, unique movtex meshes (drawn in level geo)
74 #define MOVTEX_PYRAMID_SAND_PATHWAY_FRONT (1 | MOVTEX_AREA_SSL)
75 #define MOVTEX_PYRAMID_SAND_PATHWAY_FLOOR (2 | MOVTEX_AREA_SSL)
76 #define MOVTEX_PYRAMID_SAND_PATHWAY_SIDE (3 | MOVTEX_AREA_SSL)
77 #define MOVTEX_CASTLE_WATERFALL (1 | MOVTEX_AREA_CASTLE_GROUNDS)
78 #define MOVTEX_BITFS_LAVA_FIRST (1 | MOVTEX_AREA_BITFS)
79 #define MOVTEX_BITFS_LAVA_SECOND (2 | MOVTEX_AREA_BITFS)
80 #define MOVTEX_BITFS_LAVA_FLOOR (3 | MOVTEX_AREA_BITFS)
81 #define MOVTEX_LLL_LAVA_FLOOR (1 | MOVTEX_AREA_LLL)
82 #define MOVTEX_VOLCANO_LAVA_FALL (2 | MOVTEX_AREA_LLL)
83 #define MOVTEX_COTMC_WATER (1 | MOVTEX_AREA_COTMC)
84 #define MOVTEX_TTM_BEGIN_WATERFALL (1 | MOVTEX_AREA_TTM)
85 #define MOVTEX_TTM_END_WATERFALL (2 | MOVTEX_AREA_TTM)
86 #define MOVTEX_TTM_BEGIN_PUDDLE_WATERFALL (3 | MOVTEX_AREA_TTM)
87 #define MOVTEX_TTM_END_PUDDLE_WATERFALL (4 | MOVTEX_AREA_TTM)
88 #define MOVTEX_TTM_PUDDLE_WATERFALL (5 | MOVTEX_AREA_TTM)
89 
90 // Colored, unique movtex meshes (drawn in level geo)
91 #define MOVTEX_SSL_PYRAMID_SIDE (1 | MOVTEX_AREA_SSL)
92 #define MOVTEX_SSL_PYRAMID_CORNER (2 | MOVTEX_AREA_SSL)
93 #define MOVTEX_SSL_COURSE_EDGE (3 | MOVTEX_AREA_SSL)
94 
95 // Shared movtex meshes (drawn in object geo)
96 #define MOVTEX_SSL_SAND_PIT_OUTSIDE (1 | MOVTEX_AREA_SSL)
97 #define MOVTEX_SSL_SAND_PIT_PYRAMID (2 | MOVTEX_AREA_SSL)
98 #define MOVTEX_TREADMILL_BIG (0 | MOVTEX_AREA_TTC)
99 #define MOVTEX_TREADMILL_SMALL (1 | MOVTEX_AREA_TTC)
100 
101 #endif /* _MOVING_TEXTURE_H */
Definition: moving_texture.h:14
Definition: moving_texture.h:12
f32 gPaintingMarioYEntry
The height at which Mario entered the last painting. Used for Wet-Dry World only. ...
Definition: moving_texture.c:116
MovtexRectTextureId
Ids for textures used for moving textures.
Definition: moving_texture.h:10
Definition: moving_texture.h:16
Definition: moving_texture.h:15
float f32
Definition: ultratypes.h:29
Definition: moving_texture.h:13
Definition: moving_texture.h:19
Definition: moving_texture.h:18
Definition: moving_texture.h:17