97 lines
2.8 KiB
C++
97 lines
2.8 KiB
C++
#pragma once
|
|
#include <SDL2/SDL.h>
|
|
#include <string>
|
|
#include "utils.h"
|
|
|
|
#ifndef CONST_H
|
|
#define CONST_H
|
|
|
|
// Textos
|
|
#define WINDOW_CAPTION "JailDoctor's Dilemma"
|
|
#define TEXT_COPYRIGHT "@2022 JailDesigner"
|
|
#define VERSION "0.1"
|
|
|
|
// Tamaño de bloque
|
|
#define BLOCK 8
|
|
#define HALF_BLOCK 4
|
|
|
|
// Tamaño de la pantalla real
|
|
#define SCREEN_WIDTH 256
|
|
#define SCREEN_HEIGHT 192
|
|
|
|
// Tamaño de la pantalla virtual
|
|
#define GAMECANVAS_WIDTH 256
|
|
#define GAMECANVAS_HEIGHT 192
|
|
|
|
// Tamaño de la pantalla que se muestra
|
|
const int VIEW_WIDTH = SCREEN_WIDTH * 3;
|
|
const int VIEW_HEIGHT = SCREEN_HEIGHT * 3;
|
|
|
|
// Zona de juego
|
|
const int PLAY_AREA_TOP = (0 * BLOCK);
|
|
const int PLAY_AREA_BOTTOM = (16 * BLOCK);
|
|
const int PLAY_AREA_LEFT = (0 * BLOCK);
|
|
const int PLAY_AREA_RIGHT = (32 * BLOCK);
|
|
const int PLAY_AREA_WIDTH = PLAY_AREA_RIGHT - PLAY_AREA_LEFT;
|
|
const int PLAY_AREA_HEIGHT = PLAY_AREA_BOTTOM - PLAY_AREA_TOP;
|
|
const int PLAY_AREA_CENTER_X = PLAY_AREA_LEFT + (PLAY_AREA_WIDTH / 2);
|
|
const int PLAY_AREA_CENTER_FIRST_QUARTER_X = (PLAY_AREA_WIDTH / 4);
|
|
const int PLAY_AREA_CENTER_THIRD_QUARTER_X = (PLAY_AREA_WIDTH / 4) * 3;
|
|
const int PLAY_AREA_CENTER_Y = PLAY_AREA_TOP + (PLAY_AREA_HEIGHT / 2);
|
|
const int PLAY_AREA_FIRST_QUARTER_Y = PLAY_AREA_HEIGHT / 4;
|
|
const int PLAY_AREA_THIRD_QUARTER_Y = (PLAY_AREA_HEIGHT / 4) * 3;
|
|
|
|
#define BORDER_TOP 0
|
|
#define BORDER_RIGHT 1
|
|
#define BORDER_BOTTOM 2
|
|
#define BORDER_LEFT 3
|
|
|
|
// Anclajes de pantalla
|
|
const int GAMECANVAS_CENTER_X = GAMECANVAS_WIDTH / 2;
|
|
const int GAMECANVAS_FIRST_QUARTER_X = GAMECANVAS_WIDTH / 4;
|
|
const int GAMECANVAS_THIRD_QUARTER_X = (GAMECANVAS_WIDTH / 4) * 3;
|
|
const int GAMECANVAS_CENTER_Y = GAMECANVAS_HEIGHT / 2;
|
|
const int GAMECANVAS_FIRST_QUARTER_Y = GAMECANVAS_HEIGHT / 4;
|
|
const int GAMECANVAS_THIRD_QUARTER_Y = (GAMECANVAS_HEIGHT / 4) * 3;
|
|
|
|
// Secciones del programa
|
|
#define SECTION_PROG_LOGO 0
|
|
#define SECTION_PROG_INTRO 1
|
|
#define SECTION_PROG_TITLE 2
|
|
#define SECTION_PROG_GAME 3
|
|
#define SECTION_PROG_QUIT 4
|
|
|
|
// Subsecciones
|
|
#define SECTION_GAME_PLAY 0
|
|
#define SECTION_GAME_PAUSE 1
|
|
#define SECTION_GAME_GAMEOVER 2
|
|
#define SECTION_TITLE_1 3
|
|
#define SECTION_TITLE_2 4
|
|
#define SECTION_TITLE_3 5
|
|
#define SECTION_TITLE_INSTRUCTIONS 6
|
|
|
|
// Estados de cada elemento que pertenece a un evento
|
|
#define EVENT_WAITING 1
|
|
#define EVENT_RUNNING 2
|
|
#define EVENT_COMPLETED 3
|
|
|
|
// Estados de entrada
|
|
#define INPUT_NULL 0
|
|
#define INPUT_FIRE_LEFT 7
|
|
#define INPUT_FIRE_UP 8
|
|
#define INPUT_FIRE_RIGHT 9
|
|
#define INPUT_PAUSE 10
|
|
|
|
// Zona muerta del mando analógico
|
|
#define JOYSTICK_DEAD_ZONE 8000
|
|
|
|
// Colores
|
|
const color_t bgColor = {0x27, 0x27, 0x36};
|
|
const color_t noColor = {0xFF, 0xFF, 0xFF};
|
|
const color_t shdwTxtColor = {0x43, 0x43, 0x4F};
|
|
|
|
// Tipo de filtro
|
|
#define FILTER_NEAREST 0
|
|
#define FILTER_LINEAL 1
|
|
|
|
#endif |