1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-02-03 18:14:01 +00:00
Aquaria/Aquaria/GameEnums.h

488 lines
8.2 KiB
C

#ifndef GAMEENUMS_H
#define GAMEENUMS_H
#include "EngineEnums.h"
// Note: although this is a bitmask, only one of these values may be set at a time!
// This is because GridRender and most Lua scripts check via ==, not for bits set (Lua 5.1 doesn't have bit ops)
enum ObsType
{
OT_EMPTY = 0x00,
// immutable
OT_BLACK = 0x01,
OT_BLACKINVIS = 0x02, // same as OT_BLACK, but not drawn
OT_MASK_BLACK = OT_BLACK | OT_BLACKINVIS,
// set by tiles
OT_INVISIBLE = 0x04,
OT_INVISIBLEIN = 0x08,
OT_HURT = 0x10,
// set by entities
OT_INVISIBLEENT = 0x20,
// mask for all bits that block
OT_BLOCKING = OT_MASK_BLACK | OT_INVISIBLE | OT_INVISIBLEIN | OT_HURT | OT_INVISIBLEENT,
// free for use, not colliding by default
OT_USER1 = 0x40,
OT_USER2 = 0x80,
OT_USER_MASK = OT_USER1 | OT_USER2,
OT_OUTOFBOUNDS = 0xff
};
enum WorldMapRevealMethod
{
REVEAL_UNSPECIFIED = -1,
REVEAL_DEFAULT = 0,
REVEAL_PARTIAL = 1 // Not visited areas have zero alpha (invisible)
};
enum CursorType
{
CURSOR_NONE = -1,
CURSOR_NORMAL = 0,
CURSOR_SWIM = 1,
CURSOR_BURST = 2,
CURSOR_SING = 3,
CURSOR_LOOK = 4
};
enum AquariaActions // Keep in sync with GameEnums.cpp
{
ACTION_PRIMARY,
ACTION_SECONDARY,
ACTION_ESC,
ACTION_TOGGLESCENEEDITOR,
ACTION_TOGGLEWORLDMAP,
ACTION_TOGGLEGRID,
// Automatically sent on either ACTION_SWIM* or sufficient analog controller input
ACTION_MENULEFT,
ACTION_MENURIGHT,
ACTION_MENUUP,
ACTION_MENUDOWN,
ACTION_PREVPAGE,
ACTION_NEXTPAGE,
ACTION_COOKFOOD,
ACTION_FOODLEFT,
ACTION_FOODRIGHT,
ACTION_FOODDROP,
ACTION_TOGGLEMENU,
// ------------------------
ACTION_SWIMUP = 100,
ACTION_SWIMDOWN,
ACTION_SWIMLEFT,
ACTION_SWIMRIGHT,
ACTION_SINGUP,
ACTION_SINGDOWN,
ACTION_SINGLEFT,
ACTION_SINGRIGHT,
ACTION_SONGSLOT1,
ACTION_SONGSLOT2,
ACTION_SONGSLOT3,
ACTION_SONGSLOT4,
ACTION_SONGSLOT5,
ACTION_SONGSLOT6,
ACTION_SONGSLOT7,
ACTION_SONGSLOT8,
ACTION_SONGSLOT9,
ACTION_SONGSLOT10,
ACTION_SONGSLOTEND,
ACTION_ROLL,
ACTION_SLOW, // currently unused
ACTION_REVERT,
// ------------------------
ACTION_ZOOMIN = 200,
ACTION_ZOOMOUT,
ACTION_CAMLEFT,
ACTION_CAMRIGHT,
ACTION_CAMUP,
ACTION_CAMDOWN,
ACTION_BONELEFT,
ACTION_BONERIGHT,
ACTION_BONEUP,
ACTION_BONEDOWN,
ACTION_BGLAYER1,
ACTION_BGLAYER2,
ACTION_BGLAYER3,
ACTION_BGLAYER4,
ACTION_BGLAYER5,
ACTION_BGLAYER6,
ACTION_BGLAYER7,
ACTION_BGLAYER8,
ACTION_BGLAYER9,
ACTION_BGLAYER10,
ACTION_BGLAYER11,
ACTION_BGLAYER12,
ACTION_BGLAYER13,
ACTION_BGLAYER14,
ACTION_BGLAYER15,
ACTION_BGLAYER16,
ACTION_BGLAYEREND,
ACTION_MULTISELECT ,
ACTION_TOGGLEWORLDMAPEDITOR ,
ACTION_LOOK ,
ACTION_TOGGLEHELPSCREEN,
ACTION_PLACE_AVATAR,
ACTION_SCREENSHOT,
ACTION_MAX
};
const char *EnumName(AquariaActions a);
enum AuraType
{
AURA_NONE = -1,
AURA_SHIELD = 0,
AURA_THING = 1,
AURA_HEAL = 2
};
enum SongType
{
SONG_NONE = -1,
SONG_HEAL = 0,
SONG_ENERGYFORM = 1,
SONG_SONGDOOR1 = 2,
SONG_SPIRITFORM = 3,
SONG_BIND = 4,
SONG_NATUREFORM = 5,
SONG_BEASTFORM = 6,
SONG_SHIELDAURA = 7,
SONG_SONGDOOR2 = 8,
SONG_DUALFORM = 9,
SONG_FISHFORM = 10,
SONG_SUNFORM = 11,
SONG_LI = 12,
SONG_TIME = 13,
SONG_LANCE = 14,
SONG_MAP = 15,
SONG_ANIMA = 16,
SONG_MAX
};
const int numForms = 7;
enum FormType
{
FORM_NONE = -1,
FORM_NORMAL = 0,
FORM_ENERGY ,
FORM_BEAST ,
FORM_NATURE ,
FORM_SPIRIT ,
FORM_DUAL ,
FORM_FISH ,
FORM_SUN ,
FORM_MAX
};
enum FormUpgradeType
{
FORMUPGRADE_ENERGY1 =0,
FORMUPGRADE_ENERGY2 ,
FORMUPGRADE_BEAST ,
FORMUPGRADE_MAX
};
enum EmoteType
{
EMOTE_NAIJAEVILLAUGH = 0,
EMOTE_NAIJAGIGGLE = 1,
EMOTE_NAIJALAUGH = 2,
EMOTE_NAIJASADSIGH = 3,
EMOTE_NAIJASIGH = 4,
EMOTE_NAIJAWOW = 5,
EMOTE_NAIJAUGH = 6,
EMOTE_NAIJALOW = 7,
EMOTE_NAIJALI = 8
};
enum WorldType
{
WT_NONE = -1,
WT_NORMAL = 0,
WT_SPIRIT = 1
};
enum VisualEffectsType
{
VFX_NONE = -1,
VFX_SHOCK = 0,
VFX_RIPPLE = 1,
VFX_SHOCKHIT = 2,
VFX_MAX = 3
};
enum Layers // keep in sync with GameEnums.cpp
{
// GAME WILL CLEAR THESE
LR_ZERO = 0,
LR_BACKDROP ,
LR_BACKGROUND ,
LR_SCENEBACKGROUNDIMAGE ,
LR_BACKDROP_ELEMENTS1 ,
LR_BACKDROP_ELEMENTS2 ,
LR_ENTITIES_MINUS4_PLACEHOLDER ,
LR_BACKDROP_ELEMENTS3 ,
LR_BACKDROP_ELEMENTS4 ,
LR_BACKDROP_ELEMENTS5 ,
LR_BACKDROP_ELEMENTS6 ,
LR_BACKGROUND_ELEMENTS1 ,
LR_BACKGROUND_ELEMENTS2 ,
LR_ENTITIES_MINUS3_PLACEHOLDER ,
LR_BACKGROUND_ELEMENTS3 ,
LR_ENTITIES_MINUS2_PLACEHOLDER ,
LR_BLACKGROUND ,
LR_UPDATE_ELEMENTS_BG ,
LR_ELEMENTS1 ,
LR_ELEMENTS2 ,
LR_ELEMENTS3 ,
LR_ELEMENTS4 ,
LR_ELEMENTS5 ,
LR_ELEMENTS6 ,
LR_ELEMENTS7 ,
LR_ELEMENTS8 ,
LR_ELEMENTS9 ,
LR_ELEMENTS10 ,
LR_ELEMENTS11 ,
LR_ELEMENTS12 ,
LR_ELEMENTS13 ,
LR_ELEMENTS14 ,
LR_ELEMENTS15 ,
LR_ELEMENTS16 ,
LR_UPDATE_ELEMENTS_FG ,
LR_ENTITIES_MINUS4 ,
LR_ENTITIES_MINUS3 ,
LR_ENTITIES_MINUS2 ,
LR_ENTITIES00 ,
LR_ENTITIES0 ,
LR_ENTITIES ,
LR_ENTITIES2 ,
LR_WATERSURFACE ,
LR_WATERSURFACE2 ,
LR_DARK_LAYER ,
LR_PROJECTILES ,
LR_LIGHTING ,
LR_PARTICLES ,
LR_PARTICLES2 ,
LR_FOREGROUND_ELEMENTS1 ,
LR_FOREGROUND_ELEMENTS2 ,
LR_PARTICLES_TOP ,
LR_AFTER_EFFECTS ,
LR_SCENE_COLOR ,
LR_MENU ,
LR_MENU2 ,
LR_HUD ,
LR_HUD2 ,
LR_HUD3 ,
LR_HUDUNDERLAY ,
LR_MINIMAP ,
LR_RECIPES ,
LR_WORLDMAP ,
LR_WORLDMAPHUD ,
LR_REGISTER_TEXT ,
LR_DAMAGESPRITE ,
LR_HELP ,
LR_TRANSITION ,
LR_OVERLAY ,
LR_FILEMENU ,
LR_CONFIRM ,
LR_CURSOR , /* hidden for screenshot */
LR_SUBTITLES ,
LR_PROGRESS ,
LR_DEBUG_TEXT ,
LR_BLACKBARS ,
LR_MAX
};
const char *EnumName(Layers lr);
enum IngredientType
{
IT_NONE = -1,
IT_LEAF = 0,
IT_MEAT ,
IT_EGG ,
IT_OIL ,
IT_BERRY ,
IT_MUSHROOM ,
IT_BULB ,
IT_TENTACLE ,
IT_ICECHUNK ,
IT_PART ,
IT_SHELL ,
IT_BONE ,
IT_INGREDIENTSEND ,
IT_FOOD = 100,
IT_SOUP = 101,
IT_CAKE = 103,
IT_ICECREAM = 105,
IT_LOAF = 107,
IT_PEROGI = 108,
IT_POULTICE = 109,
IT_ROLL = 110,
IT_ANYTHING = 200,
IT_MAX
};
enum IngredientEffectType
{
IET_NONE = -1,
IET_HP = 0,
IET_DEFENSE = 1,
IET_SPEED = 2,
IET_RANDOM = 3,
IET_MAXHP = 4,
IET_INVINCIBLE = 5,
IET_TRIP = 6,
IET_REGEN = 7,
IET_LI = 8,
IET_FISHPOISON = 9,
IET_BITE = 10,
IET_EAT = 11,
IET_LIGHT = 12,
IET_YUM = 13,
IET_PETPOWER = 14,
IET_WEB = 15,
IET_ENERGY = 16,
IET_POISON = 17,
IET_BLIND = 18,
IET_ALLSTATUS = 19,
IET_SCRIPT = 20,
IET_MAX
};
enum FoodSortType
{
FOODSORT_BYTYPE = 0,
FOODSORT_BYHEAL = 1,
FOODSORT_BYINGREDIENT = 2,
MAX_FOODSORT
};
enum GameSaveFlags
{
FLAG_LI = 1000,
FLAG_LICOMBAT = 1001,
FLAG_COOKS = 21,
FLAG_PET_ACTIVE = 600,
FLAG_PET_NAMESTART = 601,
FLAG_UPGRADE_WOK = 620,
FLAG_SEALOAFANNOYANCE = 801,
FLAG_SECRET01 = 234,
FLAG_SECRET02 = 235,
FLAG_SECRET03 = 236,
FLAG_COLLECTIBLE_START = 500,
FLAG_COLLECTIBLE_END = 600,
MAX_FLAGS = 1024
};
enum EV
{
EV_WALLOUT = 0,
EV_WALLTRANS = 1,
EV_CLAMPING = 2,
EV_SWITCHCLAMP = 3,
EV_CLAMPTRANSF = 4,
EV_MOVEMENT = 5,
EV_COLLIDE = 6,
EV_TOUCHDMG = 7,
EV_FRICTION = 8,
EV_LOOKAT = 9,
EV_CRAWLING = 10,
EV_ENTITYDIED = 11,
EV_TYPEID = 12,
EV_COLLIDELEVEL = 13,
EV_BONELOCKED = 14,
EV_FLIPTOPATH = 15,
EV_NOINPUTNOVEL = 16,
EV_VINEPUSH = 17,
EV_BEASTBURST = 18, // if 1: will not collide with beast on touchAvatarDamage, if 0: will
EV_MINIMAP = 19, // should the entity show up on the minimap?
EV_SOULSCREAMRADIUS = 20, // 0-n: size of radius for naija's dual form scream attack, -1: always hit
EV_WEBSLOW = 21, // 100 by default, multiplied by dt and then divided into vel
EV_NOAVOID = 22, // if 1: doEntityAvoidance() will ignore this entity
EV_MAX = 23
};
enum EatType
{
EAT_NONE = -1,
EAT_DEFAULT = 0,
EAT_FILE = 1,
EAT_MAX
};
enum ObsCheck
{
OBSCHECK_RANGE = 0,
OBSCHECK_4DIR = 1,
OBSCHECK_DOWN = 2,
OBSCHECK_8DIR = 3
};
enum EntityType
{
ET_NOTYPE =-1,
ET_AVATAR =0,
ET_ENEMY =1,
ET_PET =2,
ET_FLOCK =3,
ET_NEUTRAL =4,
ET_INGREDIENT =5
};
enum EntityProperty
{
EP_SOLID =0,
EP_MOVABLE =1,
EP_BATTERY =2,
EP_BLOCKER =3,
EP_MAX =4
};
enum BounceType
{
BOUNCE_NONE = -1,
BOUNCE_SIMPLE = 0,
BOUNCE_REAL = 1
};
#endif