blobwarsAttrition/src/defs.h

221 lines
3.7 KiB
C
Raw Normal View History

2018-01-21 10:31:38 +01:00
/*
Copyright (C) 2018 Parallel Realities
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef REVISION
#define REVISION 0
#endif
#ifndef DATA_DIR
#define DATA_DIR ""
#endif
#define _(string) getTranslatedString(string)
#define PI 3.14159265358979323846
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))
#define STRNCPY(dest, src, n) strncpy(dest, src, n); dest[n - 1] = '\0'
#define TO_RAIDANS(angleDegrees) (angleDegrees * PI / 180.0)
#define TO_DEGREES(angleRadians) (angleRadians * 180.0 / PI)
#define SAVE_FILENAME "game.save"
#define CONFIG_FILENAME "config.json"
#define SCREEN_WIDTH 1280
#define SCREEN_HEIGHT 720
#define MAX_KEYBOARD_KEYS 350
#define MAX_MOUSE_BUTTONS 6
#define FPS 60
#define LOGIC_RATE (1000.0 / FPS)
#define MAX_FONTS 64
#define NUM_TEXT_BUCKETS 64
#define TEXT_TTL (1000 * 20)
#define MAX_NAME_LENGTH 32
#define MAX_DESCRIPTION_LENGTH 512
#define MAX_LINE_LENGTH 1024
#define MAX_FILENAME_LENGTH 1024
2018-01-24 08:16:52 +01:00
#define NUM_TEXTURE_BUCKETS 32
2018-01-21 10:31:38 +01:00
2018-01-21 12:12:49 +01:00
#define MAP_WIDTH 200
#define MAP_HEIGHT 200
#define MAP_TILE_SIZE 64
#define MAP_TILE_AIR 0
#define MAP_TILE_WATER 1
#define MAP_TILE_SLIME 2
#define MAP_TILE_LAVA 3
#define MAP_TILE_SOLID 4
#define MAP_TILE_NON_SOLID 200
#define MAP_TILE_ANIMATED_WATER 240
#define MAP_TILE_ANIMATED_SLIME 245
#define MAP_TILE_ANIMATED_LAVA 250
#define MAP_TILE_OUTSIDE 255
#define MAP_TILE_MAX 256
2018-01-24 08:44:45 +01:00
#define MAX_SPRITE_FRAMES 8
2018-01-21 17:50:14 +01:00
#define JUMP_POWER 1
2018-01-24 08:16:52 +01:00
#define MAX_KEY_TYPES 12
2018-01-21 17:50:14 +01:00
2018-01-21 13:57:01 +01:00
#define ET_ENEMY 0
#define ET_KEY 1
#define ET_MIA 2
2018-01-22 08:44:15 +01:00
#define ET_BOB 3
#define ET_DESTRUCTABLE 4
#define ET_BOSS 5
2018-01-21 13:57:01 +01:00
#define EF_NONE 0
#define EF_HEART_CELL (2 << 0)
2018-01-21 17:50:14 +01:00
#define EF_WEIGHTLESS (2 << 1)
2018-01-22 08:44:15 +01:00
#define EF_BOMB_SHIELD (2 << 2)
#define EF_IMMUNE (2 << 3)
2018-01-21 17:50:14 +01:00
enum
{
FACING_RIGHT,
FACING_LEFT
};
2018-01-21 13:57:01 +01:00
2018-01-22 09:27:08 +01:00
enum
{
WPN_PISTOL,
WPN_PLASMA,
WPN_SPREAD,
WPN_LASER,
WPN_GRENADES,
WPN_ANY,
WPN_AIMED_PISTOL,
WPN_MACHINE_GUN,
WPN_SHOTGUN,
WPN_MISSILE
};
2018-01-21 13:57:01 +01:00
enum
{
ALIVE_ALIVE
};
2018-01-21 10:31:38 +01:00
enum
{
CONTROL_LEFT,
CONTROL_RIGHT,
CONTROL_UP,
CONTROL_DOWN,
CONTROL_FIRE,
CONTROL_JUMP,
CONTROL_JETPACK,
CONTROL_SCREENSHOT,
CONTROL_MAX
};
enum
{
TA_LEFT,
TA_RIGHT,
TA_CENTER
};
2018-01-21 13:57:01 +01:00
enum
{
2018-01-24 08:16:52 +01:00
MS_INCOMPLETE,
MS_PARTIAL,
MS_MISSING_HEART_CELL,
MS_COMPLETE
2018-01-21 13:57:01 +01:00
};
2018-01-23 08:42:13 +01:00
enum
{
PLANE_BACKGROUND,
PLANE_FOREGROUND
};
enum
{
PT_LINE,
PT_POINT,
PT_TEXTURED
};
2018-01-21 12:26:02 +01:00
enum
{
MSG_STANDARD,
MSG_GAMEPLAY,
MSG_PROGRESS,
MSG_OBJECTIVE
};
2018-01-22 08:44:15 +01:00
enum
{
2018-01-23 09:04:25 +01:00
SND_SELECT,
SND_BACK,
2018-01-22 22:47:04 +01:00
SND_PISTOL,
SND_MACHINE_GUN,
SND_PLASMA,
SND_THROW,
2018-01-23 09:04:25 +01:00
SND_SPREAD,
2018-01-22 22:47:04 +01:00
SND_SHOTGUN,
2018-01-23 09:04:25 +01:00
SND_LASER,
SND_MISSILE,
SND_RICO_1,
SND_RICO_2,
SND_GRENADE_BOUNCE,
SND_EXPLOSION,
SND_FLESH_HIT,
SND_METAL_HIT,
SND_DEATH_1,
SND_DEATH_2,
SND_DEATH_3,
SND_SPLAT,
SND_DROID_DIE_1,
SND_DROID_DIE_2,
SND_PRESSURE_PLATE,
SND_DOOR_START,
SND_DOOR_FINISH,
SND_CHERRY,
SND_ITEM,
SND_KEY,
SND_WEAPON,
SND_TELEPORT,
SND_APPEAR,
SND_MIA,
SND_WATER_IN,
SND_WATER_OUT,
SND_SLIME,
SND_DROWN,
SND_DENIED,
SND_CONFIRMED,
SND_MISSION_COMPLETE,
SND_HEART_CELL,
SND_MAX
2018-01-22 08:44:15 +01:00
};
2018-01-21 10:31:38 +01:00
enum
{
CH_PLAYER,
2018-01-22 08:44:15 +01:00
CH_EXPLODE,
2018-01-22 22:47:04 +01:00
CH_WEAPON,
2018-01-21 10:31:38 +01:00
CH_MAX
};