#pragma once #include #include #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 REAL_SCREEN_WIDTH 320 #define REAL_SCREEN_HEIGHT 240 // Tamaño de la pantalla virtual #define SCREEN_WIDTH 256 #define SCREEN_HEIGHT 192 // Tamaño de la pantalla que se muestra const int VIEW_WIDTH = REAL_SCREEN_WIDTH * 3; const int VIEW_HEIGHT = REAL_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