mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-10-20 12:12:39 +00:00
102 lines
5 KiB
C
102 lines
5 KiB
C
|
#ifndef _MOVING_TEXTURE_H
|
||
|
#define _MOVING_TEXTURE_H
|
||
|
|
||
|
#include "types.h"
|
||
|
|
||
|
#define ROTATE_CLOCKWISE 0
|
||
|
#define ROTATE_COUNTER_CLOCKWISE 1
|
||
|
|
||
|
/// Ids for textures used for moving textures
|
||
|
enum MovtexRectTextureId
|
||
|
{
|
||
|
TEXTURE_WATER,
|
||
|
TEXTURE_MIST,
|
||
|
TEXTURE_JRB_WATER,
|
||
|
TEXTURE_UNK_WATER,
|
||
|
TEXTURE_LAVA,
|
||
|
TEX_QUICKSAND_SSL,
|
||
|
TEX_PYRAMID_SAND_SSL,
|
||
|
TEX_YELLOW_TRI_TTC
|
||
|
};
|
||
|
|
||
|
extern f32 gPaintingMarioYEntry;
|
||
|
|
||
|
// Moving texture mesh ids have for bits 8-16 a course identifier.
|
||
|
// This corresponds to the numbers used in debug level select, except they are
|
||
|
// re-interpreted as hexadecimal numbers. TTM is course 36, so the id is 0x36
|
||
|
// and the first water quad collection in TTM has id 0x3601.
|
||
|
#define MOVTEX_AREA_BBH (0x04 << 8)
|
||
|
#define MOVTEX_AREA_CCM (0x05 << 8)
|
||
|
#define MOVTEX_AREA_INSIDE_CASTLE (0x06 << 8)
|
||
|
#define MOVTEX_AREA_HMC (0x07 << 8)
|
||
|
#define MOVTEX_AREA_SSL (0x08 << 8)
|
||
|
#define MOVTEX_AREA_SL (0x10 << 8)
|
||
|
#define MOVTEX_AREA_WDW (0x11 << 8)
|
||
|
#define MOVTEX_AREA_JRB (0x12 << 8)
|
||
|
#define MOVTEX_AREA_THI (0x13 << 8)
|
||
|
#define MOVTEX_AREA_TTC (0x14 << 8)
|
||
|
#define MOVTEX_AREA_CASTLE_GROUNDS (0x16 << 8)
|
||
|
#define MOVTEX_AREA_BITFS (0x19 << 8)
|
||
|
#define MOVTEX_AREA_LLL (0x22 << 8)
|
||
|
#define MOVTEX_AREA_DDD (0x23 << 8)
|
||
|
#define MOVTEX_AREA_WF (0x24 << 8)
|
||
|
#define MOVTEX_AREA_CASTLE_COURTYARD (0x26 << 8)
|
||
|
#define MOVTEX_AREA_COTMC (0x28 << 8)
|
||
|
#define MOVTEX_AREA_TTM (0x36 << 8)
|
||
|
|
||
|
// Quad collections
|
||
|
#define BBH_MOVTEX_MERRY_GO_ROUND_WATER_ENTRANCE ( 0 | MOVTEX_AREA_BBH)
|
||
|
#define BBH_MOVTEX_MERRY_GO_ROUND_WATER_SIDE ( 1 | MOVTEX_AREA_BBH)
|
||
|
#define CCM_MOVTEX_PENGUIN_PUDDLE_WATER ( 1 | MOVTEX_AREA_CCM)
|
||
|
#define INSIDE_CASTLE_MOVTEX_GREEN_ROOM_WATER ( 0 | MOVTEX_AREA_INSIDE_CASTLE)
|
||
|
#define INSIDE_CASTLE_MOVTEX_MOAT_WATER (0x12 | MOVTEX_AREA_INSIDE_CASTLE)
|
||
|
#define HMC_MOVTEX_DORRIE_POOL_WATER ( 1 | MOVTEX_AREA_HMC)
|
||
|
#define HMC_MOVTEX_TOXIC_MAZE_MIST ( 2 | MOVTEX_AREA_HMC)
|
||
|
#define SSL_MOVTEX_PUDDLE_WATER ( 1 | MOVTEX_AREA_SSL)
|
||
|
#define SSL_MOVTEX_TOXBOX_QUICKSAND_MIST (0x51 | MOVTEX_AREA_SSL)
|
||
|
#define SL_MOVTEX_WATER ( 1 | MOVTEX_AREA_SL)
|
||
|
#define WDW_MOVTEX_AREA1_WATER ( 1 | MOVTEX_AREA_WDW)
|
||
|
#define WDW_MOVTEX_AREA2_WATER ( 2 | MOVTEX_AREA_WDW)
|
||
|
#define JRB_MOVTEX_WATER ( 1 | MOVTEX_AREA_JRB)
|
||
|
#define JRB_MOVTEX_INTIAL_MIST ( 5 | MOVTEX_AREA_JRB)
|
||
|
#define JRB_MOVTEX_SINKED_BOAT_WATER ( 2 | MOVTEX_AREA_JRB)
|
||
|
#define THI_MOVTEX_AREA1_WATER ( 1 | MOVTEX_AREA_THI)
|
||
|
#define THI_MOVTEX_AREA2_WATER ( 2 | MOVTEX_AREA_THI)
|
||
|
#define CASTLE_GROUNDS_MOVTEX_WATER ( 1 | MOVTEX_AREA_CASTLE_GROUNDS)
|
||
|
#define LLL_MOVTEX_VOLCANO_FLOOR_LAVA ( 2 | MOVTEX_AREA_LLL)
|
||
|
#define DDD_MOVTEX_AREA1_WATER ( 1 | MOVTEX_AREA_DDD)
|
||
|
#define DDD_MOVTEX_AREA2_WATER ( 2 | MOVTEX_AREA_DDD)
|
||
|
#define WF_MOVTEX_WATER ( 1 | MOVTEX_AREA_WF)
|
||
|
#define CASTLE_COURTYARD_MOVTEX_STAR_STATUE_WATER ( 1 | MOVTEX_AREA_CASTLE_COURTYARD)
|
||
|
#define TTM_MOVTEX_PUDDLE ( 1 | MOVTEX_AREA_TTM)
|
||
|
|
||
|
// Non-colored, unique movtex meshes (drawn in level geo)
|
||
|
#define MOVTEX_PYRAMID_SAND_PATHWAY_FRONT (1 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_PYRAMID_SAND_PATHWAY_FLOOR (2 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_PYRAMID_SAND_PATHWAY_SIDE (3 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_CASTLE_WATERFALL (1 | MOVTEX_AREA_CASTLE_GROUNDS)
|
||
|
#define MOVTEX_BITFS_LAVA_FIRST (1 | MOVTEX_AREA_BITFS)
|
||
|
#define MOVTEX_BITFS_LAVA_SECOND (2 | MOVTEX_AREA_BITFS)
|
||
|
#define MOVTEX_BITFS_LAVA_FLOOR (3 | MOVTEX_AREA_BITFS)
|
||
|
#define MOVTEX_LLL_LAVA_FLOOR (1 | MOVTEX_AREA_LLL)
|
||
|
#define MOVTEX_VOLCANO_LAVA_FALL (2 | MOVTEX_AREA_LLL)
|
||
|
#define MOVTEX_COTMC_WATER (1 | MOVTEX_AREA_COTMC)
|
||
|
#define MOVTEX_TTM_BEGIN_WATERFALL (1 | MOVTEX_AREA_TTM)
|
||
|
#define MOVTEX_TTM_END_WATERFALL (2 | MOVTEX_AREA_TTM)
|
||
|
#define MOVTEX_TTM_BEGIN_PUDDLE_WATERFALL (3 | MOVTEX_AREA_TTM)
|
||
|
#define MOVTEX_TTM_END_PUDDLE_WATERFALL (4 | MOVTEX_AREA_TTM)
|
||
|
#define MOVTEX_TTM_PUDDLE_WATERFALL (5 | MOVTEX_AREA_TTM)
|
||
|
|
||
|
// Colored, unique movtex meshes (drawn in level geo)
|
||
|
#define MOVTEX_SSL_PYRAMID_SIDE (1 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_SSL_PYRAMID_CORNER (2 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_SSL_COURSE_EDGE (3 | MOVTEX_AREA_SSL)
|
||
|
|
||
|
// Shared movtex meshes (drawn in object geo)
|
||
|
#define MOVTEX_SSL_SAND_PIT_OUTSIDE (1 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_SSL_SAND_PIT_PYRAMID (2 | MOVTEX_AREA_SSL)
|
||
|
#define MOVTEX_TREADMILL_BIG (0 | MOVTEX_AREA_TTC)
|
||
|
#define MOVTEX_TREADMILL_SMALL (1 | MOVTEX_AREA_TTC)
|
||
|
|
||
|
#endif /* _MOVING_TEXTURE_H */
|