Files
2026-01-22 19:27:07 -03:00

140 lines
4.7 KiB
C

#ifndef __TRANSFORM_IDS_H__
#define __TRANSFORM_IDS_H__
#include "PR/ultratypes.h"
#include "rt64_extended_gbi.h"
typedef struct {
u32 frameCount;
u32 modelId;
u32 floatStart;
} ModelSkinningData;
#define MARKER_TRANSFORM_ID_COUNT 256 // Number of transform IDs for each ActorMarker.
// Projections: 0x00001000 - 0x00001FFF
#define PROJECTION_GAMEPLAY_TRANSFORM_ID 0x00001000
#define PROJECTION_SKYBOX_TRANSFORM_ID 0x00001001
#define PROJECTION_TRANSITION_TRANSFORM_ID 0x00001002
#define PROJECTION_PRESS_START_TRANSFORM_ID 0x00001003
#define PROJECTION_HUD_TRANSFORM_ID 0x00001004
#define PROJECTION_BK_LOGO_TRANSFORM_ID 0x00001005
#define PROJECTION_COPYRIGHT_TRANSFORM_ID 0x00001006
#define PROJECTION_GAME_OVER_TRANSFORM_ID 0x00001007
#define PROJECTION_THE_END_TRANSFORM_ID 0x00001008
#define PROJECTION_PILLARBOX_TRANSFORM_ID 0x00001009
#define PROJECTION_PORTRAIT_TRANSFORM_ID_START 0x00001100 // 1 for each portrait ID
// Map models: 0x00400000 - 0x00EFFFFF
#define MAP_MODEL_OPA_TRANSFORM_ID_START 0x00400000
#define MAP_MODEL_XLU_TRANSFORM_ID_START 0x00800000
// Transition model: 0x00F00000 - 0x00F1FFFF
#define TRANSITION_MODEL_TRANSFORM_ID_START 0x00F00000
// Skybox: 0x00F20000 - 0x00F2FFFF
#define SKYBOX_MODEL_TRANSFORM_ID_COUNT 256
#define SKYBOX_TRANSFORM_ID_START 0x00F20000
// Zoombox: 0x00F30000 - 0x00F31FFFF
#define ZOOMBOX_TRANSFORM_ID_START 0x00F30000
#define ZOOMBOX_PORTRAIT_TRANSFORM_ID_START 0x00F31000
// Projectiles: 0x00F32000 - 0x00F33FFF
#define PROJECTILE_TRANSFORM_ID_START 0x00F32000
// HUD Honeycomb: 0x00F34000 - 0x00F3400F
#define HUD_HONEYCOMB_TRANSFORM_ID_START 0x00F34000
// HUD Life Score: 0x00F34010 - 0x00F34017
#define HUD_LIFESCORE_TRANSFORM_PRINT_ID_START 0x00F34010
// HUD Life Score: 0x00F34018 - 0x00F3401F
#define HUD_LIFESCORE_TRANSFORM_ID_START 0x00F34018
// HUD Health Score: 0x00F34020 - 0x00F3402F
#define HUD_HEALTHSCORE_TRANSFORM_ID_START 0x00F34020
// HUD Air Score: 0x00F34030 - 0x00F3403F
#define HUD_AIRSCORE_TRANSFORM_ID_START 0x00F34030
// HUD Jinjo Score: 0x00F34040 - 0x00F3404F
#define HUD_JINJOSCORE_TRANSFORM_ID_START 0x00F34040
// HUD Score 2 Print: 0x00F34050 - 0x00F3414F
#define HUD_SCORE2_TRANSFORM_PRINT_ID_START 0x00F34050
#define HUD_SCORE2_TRANSFORM_PRINT_ID_COUNT 4
// HUD Score 2: 0x00F34150 - 0x00F3424F
#define HUD_SCORE2_TRANSFORM_ID_START 0x00F34150
// HUD Score 3 Print: 0x00F34250 - 0x00F3434F
#define HUD_SCORE3_TRANSFORM_PRINT_ID_START 0x00F34250
#define HUD_SCORE3_TRANSFORM_PRINT_ID_COUNT 4
// HUD score item depth rects: 0x00F34350 - 0x00F343FF
#define HUD_SCORE3_DEPTH_RECT_TRANSFORM_ID_START 0x00F34350
// HUD Score 3: 0x00F34400 - 0x00F3FFFF
#define HUD_SCORE3_TRANSFORM_ID_START 0x00F34400
// Lens flare: 0x00F40000 - 0x00F40FFF
#define LENS_FLARE_TRANSFORM_ID_START 0x00F40000
#define LENS_FLARE_TRANSFORM_ID_COUNT 256
// Snow: 0x00F41000 - 0x00F410FF
#define SNOW_TRANSFORM_ID_START 0x00F41000
// Clanker: 0x00F42000 - 0x00F420FF
#define CLANKER_TRANSFORM_ID_START 0x00F42000
// HUD Totals Print: 0x00F42100 - 0x00F421FF
#define HUD_TOTALS_PRINT_TRANSFORM_ID_START 0x00F42100
// Zoombox Print: 0x00F42200 - 0x00F520FF
#define ZOOMBOX_PRINT_TRANSFORM_ID_START 0x00F42200
#define ZOOMBOX_PRINT_TRANSFORM_ID_COUNT 256
// Parade Print: 0x00F60000 - 0x00F600FF
#define PARADE_PRINT_TRANSFORM_ID_START 0x00F60000
// Normal Particles: 0x01000000 - 0x01FFFFFF
#define NORMAL_PARTICLE_TRANSFORM_ID_START 0x01000000
#define NORMAL_PARTICLE_ID_MAX 0x01000000
// Model Particles: 0x02000000 - 0x03FFFFFF
#define MODEL_PARTICLE_TRANSFORM_ID_START 0x02000000
#define MODEL_PARTICLE_TRANSFORM_ID_COUNT 0x02000000
#define MODEL_PARTICLE_ID_MAX (MODEL_PARTICLE_TRANSFORM_ID_COUNT / MARKER_TRANSFORM_ID_COUNT)
// Weather Particles: 0x30000000 - 0x30800000
#define WEATHER_PARTICLE_TRANSFORM_ID_START 0x30000000
#define WEATHER_PARTICLE_ID_COUNT 256
#define WEATHER_PARTICLE_ID_MAX 0x8000
// Rain Particles: 0x30800000 - 0x31000000
#define RAIN_PARTICLE_TRANSFORM_ID_START 0x30800000
#define RAIN_PARTICLE_ID_COUNT 256
#define RAIN_PARTICLE_ID_MAX 0x8000
// Pillarbox Rectangles: 0x31000000 - 0x31000010
#define PILLARBOX_RECTANGLE_TRANSFORM_ID_START 0x31000000
// Markers: 0x10000000 - 0x1FFFFFFF
#define BANJO_TRANSFORM_ID_START 0x10000000
#define MARKER_TRANSFORM_ID_START (BANJO_TRANSFORM_ID_START + MARKER_TRANSFORM_ID_COUNT)
// Props: 0x20000000 - 0x2FFFFFFF
#define PROP_TRANSFORM_ID_COUNT 256
#define PROP_TRANSFORM_ID_START 0x20000000
void reset_projection_ids();
extern s32 cur_drawn_model_is_map;
extern s32 cur_drawn_model_transform_id;
extern s32 cur_drawn_model_skip_interpolation;
extern s32 cur_perspective_projection_transform_id;
extern s32 cur_ortho_projection_transform_id;
#endif