Files
Diddy-Kong-Racing/include/enums.h
T

262 lines
6.8 KiB
C

#ifndef ENUMS_H
#define ENUMS_H
#include "sound_ids.h"
#include "sequence_ids.h"
/* All the enums defined here can be used in asset files */
typedef enum MapId {
/* 0x00 */ MAP_ID_OVERWORLD,
/* 0x01 */ MAP_ID_BLUEY1,
/* 0x02 */ MAP_ID_DRAGON_FOREST,
/* 0x03 */ MAP_ID_FOSSIL_CANYON,
/* 0x04 */ MAP_ID_PIRATE_LAGOON,
/* 0x05 */ MAP_ID_ANCIENT_LAKE,
/* 0x06 */ MAP_ID_WALRUS_COVE,
/* 0x07 */ MAP_ID_HOT_TOP_VOLCANO,
/* 0x08 */ MAP_ID_WHALE_BAY,
/* 0x09 */ MAP_ID_SNOWBALL_VALLEY,
/* 0x0A */ MAP_ID_CRESCENT_ISLAND,
/* 0x0B */ MAP_ID_FIRE_MOUNTAIN,
/* 0x0C */ MAP_ID_DINO_DOMAIN,
/* 0x0D */ MAP_ID_EVERFROST_PEAK,
/* 0x0E */ MAP_ID_SHERBET_ISLAND,
/* 0x0F */ MAP_ID_SPACEPORT_ALPHA,
/* 0x10 */ MAP_ID_HORSESHOE_GULTCH,
/* 0x11 */ MAP_ID_SPACEDUST_ALLEY,
/* 0x12 */ MAP_ID_GREENWOOD_VILLAGE,
/* 0x13 */ MAP_ID_BOULDER_CANYON,
/* 0x14 */ MAP_ID_WINDMILL_PLAINS,
/* 0x15 */ MAP_ID_INTRO_CUTSCENE1,
/* 0x16 */ MAP_ID_CHARACTER_SELECT,
/* 0x17 */ MAP_ID_INTRO_CUTSCENE2,
/* 0x18 */ MAP_ID_SNOWFLAKE_MOUNTAIN,
/* 0x19 */ MAP_ID_SMOKEY_CASTLE,
/* 0x1A */ MAP_ID_DARKWATER_BEACH,
/* 0x1B */ MAP_ID_ICICLE_PYRAMID,
/* 0x1C */ MAP_ID_FROSTY_VILLAGE,
/* 0x1D */ MAP_ID_JUNGLE_FALLS,
/* 0x1E */ MAP_ID_TREASURE_CAVES,
/* 0x1F */ MAP_ID_HAUNTED_WOODS,
/* 0x20 */ MAP_ID_DARKMOON_CAVERNS,
/* 0x21 */ MAP_ID_STAR_CITY,
/* 0x22 */ MAP_ID_TROPHY_RACE_DISPLAY,
/* 0x23 */ MAP_ID_FUTURE_FUN_LAND,
/* 0x24 */ MAP_ID_OVERWORLD_CUTSCENE_AREA,
/* 0x25 */ MAP_ID_WIZPIG1,
/* 0x26 */ MAP_ID_TRICKY1,
/* 0x27 */ MAP_ID_MAIN_MENU,
/* 0x28 */ MAP_ID_BUBBLER1,
/* 0x29 */ MAP_ID_SMOKEY1,
/* 0x2A */ MAP_ID_WIZPIG_MOUTH_CUTSCENE,
/* 0x2B */ MAP_ID_WIZPIG_AMULET_CUTSCENE,
/* 0x2C */ MAP_ID_TT_AMULET_CUTSCENE,
/* 0x2D */ MAP_ID_LIGHTHOUSE_CUTSCENE,
/* 0x2E */ MAP_ID_TRICKY2,
/* 0x2F */ MAP_ID_DINO_TROPHY_CUTSCENE,
/* 0x30 */ MAP_ID_SNOWFLAKE_TROPHY_CUTSCENE,
/* 0x31 */ MAP_ID_SHERBET_TROPY_CUTSCENE,
/* 0x32 */ MAP_ID_DRAGON_TROPHY_CUTSCENE,
/* 0x33 */ MAP_ID_FFL_TROPHY_CUTSCENE,
/* 0x34 */ MAP_ID_BLUEY2,
/* 0x35 */ MAP_ID_BUBBLER2,
/* 0x36 */ MAP_ID_SMOKEY2,
/* 0x37 */ MAP_ID_WIZPIG2,
/* 0x38 */ MAP_ID_PARTY_CUTSCENE,
/* 0x39 */ MAP_ID_TRICKY_CUTSCENE,
/* 0x3A */ MAP_ID_SMOKEY_CUTSCENE,
/* 0x3B */ MAP_ID_BLUEY_CUTSCENE,
/* 0x3C */ MAP_ID_WIZPIG1_CUTSCENE,
/* 0x3D */ MAP_ID_BUBBLER_CUTSCENE,
/* 0x3E */ MAP_ID_WIZPIG2_CUTSCENE,
/* 0x3F */ MAP_ID_FINAL_CUTSCENE1,
/* 0x40 */ MAP_ID_FINAL_CUTSCENE2,
} MapId;
// There are a few instances of comparing AssetLevelHeadersEnums with special, negative values.
typedef enum SpecialMapId {
SPECIAL_MAP_ID_UNK_NEG10 = -10,
SPECIAL_MAP_ID_UNK_NEG2 = -2,
SPECIAL_MAP_ID_UNK_NEG1 = -1,
} SpecialMapId;
typedef enum Vehicle {
VEHICLE_CAR,
VEHICLE_HOVERCRAFT,
VEHICLE_PLANE,
NUMBER_OF_VEHICLE_TYPES
} Vehicle;
typedef enum CameraMode {
CAMERA_CAR,
CAMERA_PLANE,
CAMERA_UNUSED,
CAMERA_FIXED,
CAMERA_HOVERCRAFT,
CAMERA_FINISH_CHALLENGE,
CAMERA_LOOP,
CAMERA_FINISH_RACE
} CameraMode;
typedef enum Language {
LANGUAGE_ENGLISH,
LANGUAGE_GERMAN,
LANGUAGE_FRENCH,
LANGUAGE_JAPANESE
} Language;
typedef enum World {
WORLD_NONE = -1, // This enum starts at -1 instead of 0.
WORLD_CENTRAL_AREA,
WORLD_DINO_DOMAIN,
WORLD_SHERBET_ISLAND,
WORLD_SNOWFLAKE_MOUNTAIN,
WORLD_DRAGON_FOREST,
WORLD_FUTURE_FUN_LAND
} World;
typedef enum RaceType {
RACETYPE_DEFAULT = 0,
RACETYPE_HORSESHOE_GULCH = 3,
RACETYPE_HUBWORLD = 5,
RACETYPE_CUTSCENE_1 = 6, // Not sure what the difference between these two are.
RACETYPE_CUTSCENE_2 = 7,
RACETYPE_BOSS = 8,
RACETYPE_CHALLENGE = 64, // For masking
RACETYPE_CHALLENGE_BATTLE = 64,
RACETYPE_CHALLENGE_BANANAS = 65,
RACETYPE_CHALLENGE_EGGS = 66
} RaceType;
typedef enum HorizontalAlignmentFlags {
HORZ_ALIGN_LEFT = 0,
HORZ_ALIGN_RIGHT = 1,
HORZ_ALIGN_CENTER = 4
} HorizontalAlignmentFlags;
typedef enum VerticalAlignmentFlags {
VERT_ALIGN_TOP = 0,
VERT_ALIGN_BOTTOM = 2,
VERT_ALIGN_MIDDLE = 8
} VerticalAlignmentFlags;
typedef enum AlignmentFlags {
ALIGN_TOP_LEFT = VERT_ALIGN_TOP | HORZ_ALIGN_LEFT,
ALIGN_TOP_CENTER = VERT_ALIGN_TOP | HORZ_ALIGN_CENTER,
ALIGN_TOP_RIGHT = VERT_ALIGN_TOP | HORZ_ALIGN_RIGHT,
ALIGN_MIDDLE_LEFT = VERT_ALIGN_MIDDLE | HORZ_ALIGN_LEFT,
ALIGN_MIDDLE_CENTER = VERT_ALIGN_MIDDLE | HORZ_ALIGN_CENTER,
ALIGN_MIDDLE_RIGHT = VERT_ALIGN_MIDDLE | HORZ_ALIGN_RIGHT,
ALIGN_BOTTOM_LEFT = VERT_ALIGN_BOTTOM | HORZ_ALIGN_LEFT,
ALIGN_BOTTOM_CENTER = VERT_ALIGN_BOTTOM | HORZ_ALIGN_CENTER,
ALIGN_BOTTOM_RIGHT = VERT_ALIGN_BOTTOM | HORZ_ALIGN_RIGHT
} AlignmentFlags;
typedef enum MiscAsset {
MISC_ASSET_UNK00,
MISC_ASSET_UNK01,
MISC_ASSET_UNK02,
MISC_ASSET_UNK03,
MISC_ASSET_UNK04,
MISC_ASSET_UNK05,
MISC_ASSET_UNK06,
MISC_ASSET_UNK07,
MISC_ASSET_UNK08,
MISC_RACER_WEIGHT,
MISC_RACER_HANDLING,
MISC_ASSET_UNK0B,
MISC_ASSET_UNK0C,
MISC_ASSET_UNK0D,
MISC_ASSET_UNK0E,
MISC_ASSET_UNK0F,
MISC_ASSET_UNK10,
MISC_ASSET_UNK11,
MISC_ASSET_UNK12,
MISC_ASSET_UNK13,
MISC_ASSET_UNK14,
MISC_ASSET_SHIELD_DATA,
MISC_ASSET_MAGNET_DATA,
MISC_ASSET_UNK17,
MISC_ASSET_UNK18,
MISC_ASSET_UNK19,
MISC_ASSET_UNK1A,
MISC_ASSET_UNK1B,
MISC_ASSET_UNK1C,
MISC_ASSET_UNK1D,
MISC_ASSET_UNK1E,
MISC_ASSET_UNK1F,
MISC_ASSET_UNK20,
MISC_ASSET_UNK21,
MISC_ASSET_UNK22,
MISC_ASSET_UNK23,
MISC_ASSET_UNK24,
MISC_ASSET_UNK25,
MISC_ASSET_UNK26,
MISC_ASSET_UNK27,
MISC_ASSET_UNK28,
MISC_ASSET_UNK29,
MISC_ASSET_UNK2A,
MISC_ASSET_UNK2B,
MISC_ASSET_UNK2C,
MISC_ASSET_UNK2D,
MISC_ASSET_UNK2E,
MISC_ASSET_UNK2F,
MISC_ASSET_UNK30,
MISC_ASSET_UNK31,
MISC_ASSET_UNK32,
MISC_ASSET_UNK33,
MISC_ASSET_UNK34,
MISC_ASSET_UNK35,
MISC_ASSET_UNK36,
MISC_ASSET_UNK37,
MISC_ASSET_UNK38,
MISC_ASSET_UNK39,
MISC_ASSET_UNK3A,
MISC_ASSET_UNK3B,
MISC_ASSET_UNK3C,
MISC_ASSET_UNK3D,
MISC_ASSET_UNK3E,
MISC_ASSET_UNK3F,
MISC_ASSET_UNK40,
MISC_ASSET_UNK41,
MISC_ASSET_UNK42,
MISC_ASSET_UNK43,
MISC_ASSET_UNK44,
MISC_ASSET_UNK45,
MISC_ASSET_UNK46,
MISC_ASSET_UNK47,
MISC_ASSET_UNK48,
MISC_ASSET_UNK49,
MISC_ASSET_UNK4A,
MISC_ASSET_UNK4B,
MISC_ASSET_UNK4C
} MiscAsset;
typedef enum SurfaceType {
SURFACE_DEFAULT,
SURFACE_GRASS,
SURFACE_SAND,
SURFACE_UNK03,
SURFACE_STONE,
SURFACE_UNK05,
SURFACE_UNK06,
SURFACE_UNK07,
SURFACE_UNK08,
SURFACE_UNK09,
SURFACE_FROZEN_WATER,
SURFACE_UNK0B,
SURFACE_TAJ_PAD,
SURFACE_SNOW,
SURFACE_UNK0E,
SURFACE_UNK0F,
SURFACE_UNK10,
SURFACE_INVIS_WALL,
SURFACE_UNK12,
SURFACE_NONE = 255
} SurfaceType;
#endif