88 lines
2.6 KiB
C++
88 lines
2.6 KiB
C++
#pragma once
|
|
#include <SDL2/SDL.h>
|
|
#include <string>
|
|
#include "utils.h"
|
|
|
|
#ifndef CONST_H
|
|
#define CONST_H
|
|
|
|
// Textos
|
|
#define WINDOW_CAPTION "Pepe el Cazavampiros"
|
|
#define TEXT_COPYRIGHT "@2021 JailDesigner (v0.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 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 = SCREEN_HEIGHT - (4 * BLOCK);
|
|
const int PLAY_AREA_LEFT = (0 * BLOCK);
|
|
const int PLAY_AREA_RIGHT = SCREEN_WIDTH - (0 * 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;
|
|
|
|
// Anclajes de pantalla
|
|
const int SCREEN_CENTER_X = SCREEN_WIDTH / 2;
|
|
const int SCREEN_FIRST_QUARTER_X = SCREEN_WIDTH / 4;
|
|
const int SCREEN_THIRD_QUARTER_X = (SCREEN_WIDTH / 4) * 3;
|
|
const int SCREEN_CENTER_Y = SCREEN_HEIGHT / 2;
|
|
const int SCREEN_FIRST_QUARTER_Y = SCREEN_HEIGHT / 4;
|
|
const int SCREEN_THIRD_QUARTER_Y = (SCREEN_HEIGHT / 4) * 3;
|
|
|
|
// Secciones del programa
|
|
#define PROG_SECTION_LOGO 0
|
|
#define PROG_SECTION_INTRO 1
|
|
#define PROG_SECTION_TITLE 2
|
|
#define PROG_SECTION_GAME 3
|
|
#define PROG_SECTION_QUIT 4
|
|
|
|
// Subsecciones
|
|
#define GAME_SECTION_PLAY_1P 0
|
|
#define GAME_SECTION_PLAY_2P 1
|
|
#define GAME_SECTION_PAUSE 2
|
|
#define GAME_SECTION_GAMEOVER 3
|
|
#define TITLE_SECTION_1 3
|
|
#define TITLE_SECTION_2 4
|
|
#define TITLE_SECTION_3 5
|
|
#define TITLE_SECTION_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 NO_INPUT 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 |