#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