forked from jaildesigner-jailgames/jaildoctors_dilemma
linter
This commit is contained in:
@@ -36,16 +36,16 @@ void Audio::update() {
|
||||
|
||||
// Reproduce la música
|
||||
void Audio::playMusic(const std::string& name, const int loop) {
|
||||
bool newLoop = (loop != 0);
|
||||
bool new_loop = (loop != 0);
|
||||
|
||||
// Si ya está sonando exactamente la misma pista y mismo modo loop, no hacemos nada
|
||||
if (music_.state == MusicState::PLAYING && music_.name == name && music_.loop == newLoop) {
|
||||
if (music_.state == MusicState::PLAYING && music_.name == name && music_.loop == new_loop) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Intentar obtener recurso; si falla, no tocar estado
|
||||
auto* resource = Resource::get()->getMusic(name);
|
||||
if (!resource) {
|
||||
if (resource == nullptr) {
|
||||
// manejo de error opcional
|
||||
return;
|
||||
}
|
||||
@@ -60,7 +60,7 @@ void Audio::playMusic(const std::string& name, const int loop) {
|
||||
|
||||
// Actualizar estado y metadatos después de iniciar con éxito
|
||||
music_.name = name;
|
||||
music_.loop = newLoop;
|
||||
music_.loop = new_loop;
|
||||
music_.state = MusicState::PLAYING;
|
||||
}
|
||||
|
||||
|
||||
@@ -277,7 +277,8 @@ bool Input::checkAxisInput(InputAction input, int controller_index, bool repeat)
|
||||
// Transición de inactivo a activo
|
||||
binding.axis_active = true;
|
||||
return true;
|
||||
} else if (!axis_active_now && binding.axis_active) {
|
||||
}
|
||||
if (!axis_active_now && binding.axis_active) {
|
||||
// Transición de activo a inactivo
|
||||
binding.axis_active = false;
|
||||
}
|
||||
|
||||
@@ -76,17 +76,17 @@ class Gif {
|
||||
|
||||
// Carga el stream GIF; devuelve un vector con los datos de imagen sin comprimir y
|
||||
// asigna el ancho y alto mediante referencias.
|
||||
std::vector<uint8_t> loadGif(const uint8_t* buffer, uint16_t& w, uint16_t& h);
|
||||
static std::vector<uint8_t> loadGif(const uint8_t* buffer, uint16_t& w, uint16_t& h);
|
||||
|
||||
private:
|
||||
// Lee los sub-bloques de datos y los acumula en un std::vector<uint8_t>.
|
||||
static std::vector<uint8_t> readSubBlocks(const uint8_t*& buffer);
|
||||
|
||||
// Procesa el Image Descriptor y retorna el vector de datos sin comprimir.
|
||||
std::vector<uint8_t> processImageDescriptor(const uint8_t*& buffer, const std::vector<RGB>& gct, int resolution_bits);
|
||||
static std::vector<uint8_t> processImageDescriptor(const uint8_t*& buffer, const std::vector<RGB>& gct, int resolution_bits);
|
||||
|
||||
// Procesa el stream completo del GIF y devuelve los datos sin comprimir.
|
||||
std::vector<uint8_t> processGifStream(const uint8_t* buffer, uint16_t& w, uint16_t& h);
|
||||
static std::vector<uint8_t> processGifStream(const uint8_t* buffer, uint16_t& w, uint16_t& h);
|
||||
};
|
||||
|
||||
} // namespace GIF
|
||||
|
||||
@@ -441,7 +441,7 @@ void OpenGLShader::render() {
|
||||
// Restaurar estados OpenGL
|
||||
glUseProgram(old_program);
|
||||
glBindTexture(GL_TEXTURE_2D, old_texture);
|
||||
if (was_texture_enabled == 0u) {
|
||||
if (was_texture_enabled == 0U) {
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
}
|
||||
glBindVertexArray(old_vao);
|
||||
|
||||
@@ -52,7 +52,7 @@ Screen::Screen()
|
||||
|
||||
// Crea la textura donde se dibujan los graficos del juego
|
||||
game_texture_ = SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, Options::game.width, Options::game.height);
|
||||
if (!game_texture_) {
|
||||
if (game_texture_ == nullptr) {
|
||||
// Registrar el error si está habilitado
|
||||
if (Options::console) {
|
||||
std::cerr << "Error: game_texture_ could not be created!\nSDL Error: " << SDL_GetError() << std::endl;
|
||||
@@ -61,8 +61,8 @@ Screen::Screen()
|
||||
SDL_SetTextureScaleMode(game_texture_, SDL_SCALEMODE_NEAREST);
|
||||
|
||||
// Crea la textura donde se dibuja el borde que rodea el area de juego
|
||||
border_texture_ = SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, Options::game.width + Options::video.border.width * 2, Options::game.height + Options::video.border.height * 2);
|
||||
if (!border_texture_) {
|
||||
border_texture_ = SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, Options::game.width + (Options::video.border.width * 2), Options::game.height + (Options::video.border.height * 2));
|
||||
if (border_texture_ == nullptr) {
|
||||
// Registrar el error si está habilitado
|
||||
if (Options::console) {
|
||||
std::cerr << "Error: border_texture_ could not be created!\nSDL Error: " << SDL_GetError() << std::endl;
|
||||
@@ -76,7 +76,7 @@ Screen::Screen()
|
||||
game_surface_->clear(static_cast<Uint8>(PaletteColor::BLACK));
|
||||
|
||||
// Crea la surface para el borde de colores
|
||||
border_surface_ = std::make_shared<Surface>(Options::game.width + Options::video.border.width * 2, Options::game.height + Options::video.border.height * 2);
|
||||
border_surface_ = std::make_shared<Surface>(Options::game.width + (Options::video.border.width * 2), Options::game.height + (Options::video.border.height * 2));
|
||||
border_surface_->setPalette(readPalFile(palettes_.at(current_palette_)));
|
||||
border_surface_->clear(border_color_);
|
||||
|
||||
@@ -143,7 +143,7 @@ void Screen::toggleVideoMode() {
|
||||
|
||||
// Reduce el tamaño de la ventana
|
||||
bool Screen::decWindowZoom() {
|
||||
if (Options::video.fullscreen == 0) {
|
||||
if (static_cast<int>(Options::video.fullscreen) == 0) {
|
||||
const int PREVIOUS_ZOOM = Options::window.zoom;
|
||||
--Options::window.zoom;
|
||||
Options::window.zoom = std::max(Options::window.zoom, 1);
|
||||
@@ -159,7 +159,7 @@ bool Screen::decWindowZoom() {
|
||||
|
||||
// Aumenta el tamaño de la ventana
|
||||
bool Screen::incWindowZoom() {
|
||||
if (Options::video.fullscreen == 0) {
|
||||
if (static_cast<int>(Options::video.fullscreen) == 0) {
|
||||
const int PREVIOUS_ZOOM = Options::window.zoom;
|
||||
++Options::window.zoom;
|
||||
Options::window.zoom = std::min(Options::window.zoom, Options::window.max_zoom);
|
||||
@@ -187,7 +187,7 @@ void Screen::toggleBorder() {
|
||||
}
|
||||
|
||||
// Dibuja las notificaciones
|
||||
void Screen::renderNotifications() {
|
||||
void Screen::renderNotifications() const {
|
||||
if (notifications_enabled_) {
|
||||
Notifier::get()->render();
|
||||
}
|
||||
@@ -212,15 +212,17 @@ void Screen::adjustWindowSize() {
|
||||
window_height_ = Options::game.height + (Options::video.border.enabled ? Options::video.border.height * 2 : 0);
|
||||
|
||||
// Establece el nuevo tamaño
|
||||
if (Options::video.fullscreen == 0) {
|
||||
int old_width, old_height;
|
||||
if (static_cast<int>(Options::video.fullscreen) == 0) {
|
||||
int old_width;
|
||||
int old_height;
|
||||
SDL_GetWindowSize(window_, &old_width, &old_height);
|
||||
|
||||
int old_pos_x, old_pos_y;
|
||||
int old_pos_x;
|
||||
int old_pos_y;
|
||||
SDL_GetWindowPosition(window_, &old_pos_x, &old_pos_y);
|
||||
|
||||
const int NEW_POS_X = old_pos_x + (old_width - (window_width_ * Options::window.zoom)) / 2;
|
||||
const int NEW_POS_Y = old_pos_y + (old_height - (window_height_ * Options::window.zoom)) / 2;
|
||||
const int NEW_POS_X = old_pos_x + ((old_width - (window_width_ * Options::window.zoom)) / 2);
|
||||
const int NEW_POS_Y = old_pos_y + ((old_height - (window_height_ * Options::window.zoom)) / 2);
|
||||
|
||||
SDL_SetWindowSize(window_, window_width_ * Options::window.zoom, window_height_ * Options::window.zoom);
|
||||
SDL_SetWindowPosition(window_, std::max(NEW_POS_X, WINDOWS_DECORATIONS), std::max(NEW_POS_Y, 0));
|
||||
@@ -327,7 +329,7 @@ size_t Screen::findPalette(const std::string& name) {
|
||||
|
||||
// Muestra información por pantalla
|
||||
void Screen::renderInfo() {
|
||||
if (show_debug_info_ && Resource::get()) {
|
||||
if (show_debug_info_ && (Resource::get() != nullptr)) {
|
||||
auto text = Resource::get()->getText("smb2");
|
||||
auto color = static_cast<Uint8>(PaletteColor::YELLOW);
|
||||
|
||||
@@ -382,11 +384,11 @@ std::vector<uint8_t> loadData(const std::string& filepath) {
|
||||
return {};
|
||||
}
|
||||
|
||||
std::streamsize fileSize = file.tellg();
|
||||
std::streamsize file_size = file.tellg();
|
||||
file.seekg(0, std::ios::beg);
|
||||
|
||||
std::vector<uint8_t> data(fileSize);
|
||||
if (!file.read(reinterpret_cast<char*>(data.data()), fileSize)) {
|
||||
std::vector<uint8_t> data(file_size);
|
||||
if (!file.read(reinterpret_cast<char*>(data.data()), file_size)) {
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -398,13 +400,13 @@ void Screen::loadShaders() {
|
||||
if (vertex_shader_source_.empty()) {
|
||||
// Detectar si necesitamos OpenGL ES (Raspberry Pi)
|
||||
// Intentar cargar versión ES primero si existe
|
||||
std::string VERTEX_FILE = "crtpi_vertex_es.glsl";
|
||||
auto data = loadData(Asset::get()->get(VERTEX_FILE));
|
||||
std::string vertex_file = "crtpi_vertex_es.glsl";
|
||||
auto data = loadData(Asset::get()->get(vertex_file));
|
||||
|
||||
if (data.empty()) {
|
||||
// Si no existe versión ES, usar versión Desktop
|
||||
VERTEX_FILE = "crtpi_vertex.glsl";
|
||||
data = loadData(Asset::get()->get(VERTEX_FILE));
|
||||
vertex_file = "crtpi_vertex.glsl";
|
||||
data = loadData(Asset::get()->get(vertex_file));
|
||||
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
|
||||
"Usando shaders OpenGL Desktop 3.3");
|
||||
} else {
|
||||
@@ -418,13 +420,13 @@ void Screen::loadShaders() {
|
||||
}
|
||||
if (fragment_shader_source_.empty()) {
|
||||
// Intentar cargar versión ES primero si existe
|
||||
std::string FRAGMENT_FILE = "crtpi_fragment_es.glsl";
|
||||
auto data = loadData(Asset::get()->get(FRAGMENT_FILE));
|
||||
std::string fragment_file = "crtpi_fragment_es.glsl";
|
||||
auto data = loadData(Asset::get()->get(fragment_file));
|
||||
|
||||
if (data.empty()) {
|
||||
// Si no existe versión ES, usar versión Desktop
|
||||
FRAGMENT_FILE = "crtpi_fragment.glsl";
|
||||
data = loadData(Asset::get()->get(FRAGMENT_FILE));
|
||||
fragment_file = "crtpi_fragment.glsl";
|
||||
data = loadData(Asset::get()->get(fragment_file));
|
||||
}
|
||||
|
||||
if (!data.empty()) {
|
||||
@@ -536,8 +538,8 @@ auto Screen::initSDLVideo() -> bool {
|
||||
#endif
|
||||
|
||||
// Crear ventana
|
||||
const auto WINDOW_WIDTH = Options::video.border.enabled ? Options::game.width + Options::video.border.width * 2 : Options::game.width;
|
||||
const auto WINDOW_HEIGHT = Options::video.border.enabled ? Options::game.height + Options::video.border.height * 2 : Options::game.height;
|
||||
const auto WINDOW_WIDTH = Options::video.border.enabled ? Options::game.width + (Options::video.border.width * 2) : Options::game.width;
|
||||
const auto WINDOW_HEIGHT = Options::video.border.enabled ? Options::game.height + (Options::video.border.height * 2) : Options::game.height;
|
||||
#ifdef __APPLE__
|
||||
SDL_WindowFlags window_flags = SDL_WINDOW_METAL;
|
||||
#else
|
||||
|
||||
@@ -93,7 +93,7 @@ class Screen {
|
||||
#endif
|
||||
|
||||
// Dibuja las notificaciones
|
||||
void renderNotifications();
|
||||
void renderNotifications() const;
|
||||
|
||||
// Calcula el tamaño de la ventana
|
||||
void adjustWindowSize();
|
||||
@@ -172,13 +172,13 @@ class Screen {
|
||||
void setBorderColor(Uint8 color);
|
||||
|
||||
// Establece el tamaño del borde
|
||||
void setBorderWidth(int width);
|
||||
static void setBorderWidth(int width);
|
||||
|
||||
// Establece el tamaño del borde
|
||||
void setBorderHeight(int height);
|
||||
static void setBorderHeight(int height);
|
||||
|
||||
// Establece si se ha de ver el borde en el modo ventana
|
||||
void setBorderEnabled(bool value);
|
||||
static void setBorderEnabled(bool value);
|
||||
|
||||
// Cambia entre borde visible y no visible
|
||||
void toggleBorder();
|
||||
|
||||
@@ -35,8 +35,7 @@ Palette loadPalette(const std::string& file_path) {
|
||||
}
|
||||
|
||||
// Cargar la paleta usando los datos del buffer
|
||||
GIF::Gif gif;
|
||||
std::vector<uint32_t> pal = gif.loadPalette(buffer.data());
|
||||
std::vector<uint32_t> pal = GIF::Gif::loadPalette(buffer.data());
|
||||
if (pal.empty()) {
|
||||
throw std::runtime_error("No palette found in GIF file: " + file_path);
|
||||
}
|
||||
@@ -435,7 +434,7 @@ void Surface::copyToTexture(SDL_Renderer* renderer, SDL_Texture* texture) {
|
||||
throw std::runtime_error("Renderer or texture is null.");
|
||||
}
|
||||
|
||||
if (surface_data_->width <= 0 || surface_data_->height <= 0 || (surface_data_->data.get() == nullptr)) {
|
||||
if (surface_data_->width <= 0 || surface_data_->height <= 0 || (surface_data_->data == nullptr)) {
|
||||
throw std::runtime_error("Invalid surface dimensions or data.");
|
||||
}
|
||||
|
||||
@@ -474,7 +473,7 @@ void Surface::copyToTexture(SDL_Renderer* renderer, SDL_Texture* texture, SDL_FR
|
||||
throw std::runtime_error("Renderer or texture is null.");
|
||||
}
|
||||
|
||||
if (surface_data_->width <= 0 || surface_data_->height <= 0 || (surface_data_->data.get() == nullptr)) {
|
||||
if (surface_data_->width <= 0 || surface_data_->height <= 0 || (surface_data_->data == nullptr)) {
|
||||
throw std::runtime_error("Invalid surface dimensions or data.");
|
||||
}
|
||||
|
||||
|
||||
@@ -18,16 +18,16 @@ struct JA_Music_t; // lines 17-17
|
||||
struct JA_Sound_t; // lines 18-18
|
||||
|
||||
// [SINGLETON] Hay que definir las variables estáticas, desde el .h sólo la hemos declarado
|
||||
Resource* Resource::resource_ = nullptr;
|
||||
Resource* Resource::resource = nullptr;
|
||||
|
||||
// [SINGLETON] Crearemos el objeto screen con esta función estática
|
||||
void Resource::init() { Resource::resource_ = new Resource(); }
|
||||
void Resource::init() { Resource::resource = new Resource(); }
|
||||
|
||||
// [SINGLETON] Destruiremos el objeto screen con esta función estática
|
||||
void Resource::destroy() { delete Resource::resource_; }
|
||||
void Resource::destroy() { delete Resource::resource; }
|
||||
|
||||
// [SINGLETON] Con este método obtenemos el objeto screen y podemos trabajar con él
|
||||
Resource* Resource::get() { return Resource::resource_; }
|
||||
Resource* Resource::get() { return Resource::resource; }
|
||||
|
||||
// Constructor
|
||||
Resource::Resource() { load(); }
|
||||
@@ -155,7 +155,7 @@ std::vector<int>& Resource::getTileMap(const std::string& name) {
|
||||
auto it = std::find_if(tile_maps_.begin(), tile_maps_.end(), [&name](const auto& t) { return t.name == name; });
|
||||
|
||||
if (it != tile_maps_.end()) {
|
||||
return it->tileMap;
|
||||
return it->tile_map;
|
||||
}
|
||||
|
||||
std::cerr << "Error: Mapa de tiles no encontrado " << name << std::endl;
|
||||
@@ -300,14 +300,14 @@ void Resource::loadRooms() {
|
||||
void Resource::createText() {
|
||||
struct ResourceInfo {
|
||||
std::string key; // Identificador del recurso
|
||||
std::string textureFile; // Nombre del archivo de textura
|
||||
std::string textFile; // Nombre del archivo de texto
|
||||
std::string texture_file; // Nombre del archivo de textura
|
||||
std::string text_file; // Nombre del archivo de texto
|
||||
|
||||
// Constructor para facilitar la creación de objetos ResourceInfo
|
||||
ResourceInfo(const std::string& k, const std::string& tFile, const std::string& txtFile)
|
||||
ResourceInfo(const std::string& k, const std::string& t_file, const std::string& txt_file)
|
||||
: key(k),
|
||||
textureFile(tFile),
|
||||
textFile(txtFile) {}
|
||||
texture_file(t_file),
|
||||
text_file(txt_file) {}
|
||||
};
|
||||
|
||||
std::cout << "\n>> CREATING TEXT_OBJECTS" << std::endl;
|
||||
@@ -320,7 +320,7 @@ void Resource::createText() {
|
||||
{"8bithud", "8bithud.gif", "8bithud.txt"}};
|
||||
|
||||
for (const auto& resource : resources) {
|
||||
texts_.emplace_back(ResourceText(resource.key, std::make_shared<Text>(getSurface(resource.textureFile), getTextFile(resource.textFile))));
|
||||
texts_.emplace_back(ResourceText(resource.key, std::make_shared<Text>(getSurface(resource.texture_file), getTextFile(resource.text_file))));
|
||||
printWithDots("Text : ", resource.key, "[ DONE ]");
|
||||
}
|
||||
}
|
||||
@@ -329,7 +329,7 @@ void Resource::createText() {
|
||||
void Resource::clearSounds() {
|
||||
// Itera sobre el vector y libera los recursos asociados a cada JA_Sound_t
|
||||
for (auto& sound : sounds_) {
|
||||
if (sound.sound) {
|
||||
if (sound.sound != nullptr) {
|
||||
JA_DeleteSound(sound.sound);
|
||||
sound.sound = nullptr;
|
||||
}
|
||||
@@ -341,7 +341,7 @@ void Resource::clearSounds() {
|
||||
void Resource::clearMusics() {
|
||||
// Itera sobre el vector y libera los recursos asociados a cada JA_Music_t
|
||||
for (auto& music : musics_) {
|
||||
if (music.music) {
|
||||
if (music.music != nullptr) {
|
||||
JA_DeleteMusic(music.music);
|
||||
music.music = nullptr;
|
||||
}
|
||||
@@ -351,7 +351,7 @@ void Resource::clearMusics() {
|
||||
|
||||
// Calcula el numero de recursos para cargar
|
||||
void Resource::calculateTotal() {
|
||||
std::vector<AssetType> assetTypes = {
|
||||
std::vector<AssetType> asset_types = {
|
||||
AssetType::SOUND,
|
||||
AssetType::MUSIC,
|
||||
AssetType::BITMAP,
|
||||
@@ -362,8 +362,8 @@ void Resource::calculateTotal() {
|
||||
AssetType::ROOM};
|
||||
|
||||
size_t total = 0;
|
||||
for (const auto& assetType : assetTypes) {
|
||||
auto list = Asset::get()->getListByType(assetType);
|
||||
for (const auto& asset_type : asset_types) {
|
||||
auto list = Asset::get()->getListByType(asset_type);
|
||||
total += list.size();
|
||||
}
|
||||
|
||||
@@ -375,17 +375,17 @@ void Resource::renderProgress() {
|
||||
constexpr float X_PADDING = 10;
|
||||
constexpr float Y_PADDING = 10;
|
||||
constexpr float BAR_HEIGHT = 10;
|
||||
const float bar_position = Options::game.height - BAR_HEIGHT - Y_PADDING;
|
||||
const float BAR_POSITION = Options::game.height - BAR_HEIGHT - Y_PADDING;
|
||||
Screen::get()->start();
|
||||
Screen::get()->clearSurface(static_cast<Uint8>(PaletteColor::BLACK));
|
||||
|
||||
auto surface = Screen::get()->getRendererSurface();
|
||||
const float WIRED_BAR_WIDTH = Options::game.width - (X_PADDING * 2);
|
||||
SDL_FRect rect_wired = {X_PADDING, bar_position, WIRED_BAR_WIDTH, X_PADDING};
|
||||
SDL_FRect rect_wired = {X_PADDING, BAR_POSITION, WIRED_BAR_WIDTH, X_PADDING};
|
||||
surface->drawRectBorder(&rect_wired, static_cast<Uint8>(PaletteColor::WHITE));
|
||||
|
||||
const float FULL_BAR_WIDTH = WIRED_BAR_WIDTH * count_.getPercentage();
|
||||
SDL_FRect rect_full = {X_PADDING, bar_position, FULL_BAR_WIDTH, X_PADDING};
|
||||
SDL_FRect rect_full = {X_PADDING, BAR_POSITION, FULL_BAR_WIDTH, X_PADDING};
|
||||
surface->fillRect(&rect_full, static_cast<Uint8>(PaletteColor::WHITE));
|
||||
|
||||
Screen::get()->render();
|
||||
|
||||
@@ -91,12 +91,12 @@ struct ResourceAnimation {
|
||||
// Estructura para almacenar ficheros con el mapa de tiles de una habitación y su nombre
|
||||
struct ResourceTileMap {
|
||||
std::string name; // Nombre del mapa de tiles
|
||||
std::vector<int> tileMap; // Vector con los indices del mapa de tiles
|
||||
std::vector<int> tile_map; // Vector con los indices del mapa de tiles
|
||||
|
||||
// Constructor
|
||||
ResourceTileMap(const std::string& name, const std::vector<int>& tileMap)
|
||||
ResourceTileMap(const std::string& name, const std::vector<int>& tile_map)
|
||||
: name(name),
|
||||
tileMap(tileMap) {}
|
||||
tile_map(tile_map) {}
|
||||
};
|
||||
|
||||
// Estructura para almacenar habitaciones y su nombre
|
||||
@@ -131,7 +131,7 @@ struct ResourceCount {
|
||||
}
|
||||
|
||||
// Obtiene el porcentaje de recursos cargados
|
||||
float getPercentage() {
|
||||
float getPercentage() const {
|
||||
return static_cast<float>(loaded) / static_cast<float>(total);
|
||||
}
|
||||
};
|
||||
@@ -139,7 +139,7 @@ struct ResourceCount {
|
||||
class Resource {
|
||||
private:
|
||||
// [SINGLETON] Objeto resource privado para Don Melitón
|
||||
static Resource* resource_;
|
||||
static Resource* resource;
|
||||
|
||||
std::vector<ResourceSound> sounds_; // Vector con los sonidos
|
||||
std::vector<ResourceMusic> musics_; // Vector con las musicas
|
||||
@@ -198,8 +198,8 @@ class Resource {
|
||||
// Muestra el progreso de carga
|
||||
void renderProgress();
|
||||
|
||||
// Comprueba los eventos
|
||||
void checkEvents();
|
||||
// Comprueba los eventosstatic
|
||||
static void checkEvents();
|
||||
|
||||
// Actualiza el progreso de carga
|
||||
void updateLoadingProgress(int steps = 5);
|
||||
|
||||
@@ -243,45 +243,45 @@ bool Director::setFileList() {
|
||||
#ifdef MACOS_BUNDLE
|
||||
const std::string prefix = "/../Resources";
|
||||
#else
|
||||
const std::string prefix = "";
|
||||
const std::string PREFIX;
|
||||
#endif
|
||||
|
||||
// Texto
|
||||
Asset::get()->add(prefix + "/data/font/smb2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/font/smb2.txt", AssetType::FONT);
|
||||
Asset::get()->add(prefix + "/data/font/debug.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/font/debug.txt", AssetType::FONT);
|
||||
Asset::get()->add(prefix + "/data/font/gauntlet.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/font/gauntlet.txt", AssetType::FONT);
|
||||
Asset::get()->add(prefix + "/data/font/subatomic.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/font/subatomic.txt", AssetType::FONT);
|
||||
Asset::get()->add(prefix + "/data/font/8bithud.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/font/8bithud.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/smb2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/smb2.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/debug.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/debug.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/gauntlet.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/gauntlet.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/subatomic.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/subatomic.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/8bithud.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/8bithud.txt", AssetType::FONT);
|
||||
|
||||
// Paletas
|
||||
Asset::get()->add(prefix + "/data/palette/zx-spectrum.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/zx-spectrum-adjusted.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/zxarne-5-2.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/black-and-white.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/green-phosphor.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/orange-screen.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/ruzx-spectrum.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/ruzx-spectrum-revision-2.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/pico-8.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/sweetie-16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/island-joy-16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/lost-century.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/na16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(prefix + "/data/palette/steam-lords.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/zx-spectrum.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/zx-spectrum-adjusted.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/zxarne-5-2.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/black-and-white.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/green-phosphor.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/orange-screen.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/ruzx-spectrum.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/ruzx-spectrum-revision-2.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/pico-8.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/sweetie-16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/island-joy-16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/lost-century.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/na16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/steam-lords.pal", AssetType::PALETTE);
|
||||
|
||||
// Shaders
|
||||
Asset::get()->add(prefix + "/data/shaders/crtpi_vertex.glsl", AssetType::DATA);
|
||||
Asset::get()->add(prefix + "/data/shaders/crtpi_fragment.glsl", AssetType::DATA);
|
||||
Asset::get()->add(prefix + "/data/shaders/crtpi_vertex_es.glsl", AssetType::DATA);
|
||||
Asset::get()->add(prefix + "/data/shaders/crtpi_fragment_es.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_vertex.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_fragment.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_vertex_es.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_fragment_es.glsl", AssetType::DATA);
|
||||
|
||||
// Datos
|
||||
Asset::get()->add(prefix + "/data/input/gamecontrollerdb.txt", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/input/gamecontrollerdb.txt", AssetType::DATA);
|
||||
|
||||
// Ficheros de sistema
|
||||
Asset::get()->add(system_folder_ + "/config.txt", AssetType::DATA, false, true);
|
||||
@@ -292,182 +292,182 @@ bool Director::setFileList() {
|
||||
// Tilemaps y Rooms
|
||||
for (int i = 1; i <= 60; ++i) {
|
||||
std::string index = (i < 10 ? "0" : "") + std::to_string(i);
|
||||
Asset::get()->add(prefix + "/data/room/" + index + ".tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/" + index + ".room", AssetType::ROOM);
|
||||
Asset::get()->add(PREFIX + "/data/room/" + index + ".tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(PREFIX + "/data/room/" + index + ".room", AssetType::ROOM);
|
||||
}
|
||||
|
||||
// Tilesets
|
||||
Asset::get()->add(prefix + "/data/tilesets/standard.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/tilesets/standard.gif", AssetType::BITMAP);
|
||||
|
||||
// Enemigos
|
||||
Asset::get()->add(prefix + "/data/enemies/abad_bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/abad_bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/abad.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/abad.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/amstrad_cs.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/amstrad_cs.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/flying_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/flying_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/stopped_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/stopped_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/walking_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/walking_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/arounders_door.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/arounders_door.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/arounders_machine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/arounders_machine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/bat.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/bat.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/batman_bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/batman_bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/batman_fire.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/batman_fire.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/batman.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/batman.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/bin.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/bin.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/bird.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/bird.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/breakout.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/breakout.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/bry.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/bry.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/chip.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/chip.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/code.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/code.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/congo.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/congo.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/crosshair.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/crosshair.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/demon.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/demon.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/dimallas.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/dimallas.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/floppy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/floppy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/dong.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/dong.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/guitar.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/guitar.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/heavy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/heavy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailer_#1.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailer_#1.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailer_#2.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailer_#2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailer_#3.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailer_#3.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailbattle_alien.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailbattle_alien.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailbattle_human.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/jailbattle_human.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/jeannine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/jeannine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/lamp.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/lamp.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/lord_abad.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/lord_abad.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/matatunos.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/matatunos.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/mummy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/mummy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/paco.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/paco.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/elsa.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/elsa.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/qvoid.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/qvoid.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/robot.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/robot.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/sam.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/sam.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/shock.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/shock.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/sigmasua.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/sigmasua.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/spark.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/spark.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/aerojailer.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/aerojailer.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/pepe_rosita_job.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/pepe_rosita_job.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/shooting_star.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/special/shooting_star.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/spider.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/spider.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/tree_thing.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/tree_thing.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/tuno.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/tuno.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/tv_panel.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/tv_panel.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/tv.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/tv.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/upv_student.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/upv_student.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/wave.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/wave.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/enemies/z80.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/enemies/z80.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad_bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad_bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/amstrad_cs.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/amstrad_cs.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/flying_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/flying_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/stopped_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/stopped_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/walking_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/walking_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_door.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_door.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_machine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_machine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bat.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bat.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_fire.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_fire.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bin.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bin.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bird.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bird.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/breakout.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/breakout.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bry.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bry.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/chip.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/chip.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/code.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/code.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/congo.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/congo.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/crosshair.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/crosshair.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/demon.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/demon.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dimallas.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dimallas.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/floppy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/floppy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dong.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dong.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/guitar.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/guitar.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/heavy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/heavy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#1.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#1.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#2.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#3.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#3.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_alien.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_alien.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_human.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_human.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jeannine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jeannine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lamp.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lamp.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lord_abad.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lord_abad.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/matatunos.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/matatunos.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/mummy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/mummy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/paco.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/paco.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/elsa.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/elsa.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/qvoid.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/qvoid.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/robot.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/robot.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sam.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sam.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/shock.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/shock.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sigmasua.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sigmasua.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spark.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spark.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/aerojailer.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/aerojailer.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/pepe_rosita_job.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/pepe_rosita_job.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/shooting_star.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/shooting_star.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spider.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spider.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tree_thing.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tree_thing.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tuno.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tuno.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv_panel.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv_panel.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/upv_student.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/upv_student.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/wave.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/wave.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/z80.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/z80.gif", AssetType::BITMAP);
|
||||
|
||||
// Jugador
|
||||
Asset::get()->add(prefix + "/data/player/player.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/player/player.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/player/player2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/player/player2.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(prefix + "/data/player/player_game_over.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/player/player_game_over.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/player/player.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/player/player.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/player/player2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/player/player2.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/player/player_game_over.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/player/player_game_over.ani", AssetType::ANIMATION);
|
||||
|
||||
// Items
|
||||
Asset::get()->add(prefix + "/data/items/items.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/items/items.gif", AssetType::BITMAP);
|
||||
|
||||
// Musicas
|
||||
Asset::get()->add(prefix + "/data/music/title.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/game.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/loading_sound1.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/loading_sound2.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/loading_sound3.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/ending1.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/ending2.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(prefix + "/data/music/game_over.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/title.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/game.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/loading_sound1.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/loading_sound2.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/loading_sound3.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/ending1.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/ending2.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/game_over.ogg", AssetType::MUSIC);
|
||||
|
||||
// Efectos de sonido
|
||||
Asset::get()->add(prefix + "/data/sound/item.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/death.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/notify.wav", AssetType::SOUND);
|
||||
Asset::get()->add(PREFIX + "/data/sound/item.wav", AssetType::SOUND);
|
||||
Asset::get()->add(PREFIX + "/data/sound/death.wav", AssetType::SOUND);
|
||||
Asset::get()->add(PREFIX + "/data/sound/notify.wav", AssetType::SOUND);
|
||||
|
||||
// Efectos de sonido para el salto
|
||||
for (int i = 1; i <= 24; ++i) {
|
||||
std::string jump_index = std::to_string(i);
|
||||
Asset::get()->add(prefix + "/data/sound/jump" + jump_index + ".wav", AssetType::SOUND);
|
||||
Asset::get()->add(PREFIX + "/data/sound/jump" + jump_index + ".wav", AssetType::SOUND);
|
||||
}
|
||||
|
||||
// Logo
|
||||
Asset::get()->add(prefix + "/data/logo/jailgames.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/logo/since_1998.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/logo/jailgames.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/logo/since_1998.gif", AssetType::BITMAP);
|
||||
|
||||
// Loading
|
||||
Asset::get()->add(prefix + "/data/loading/loading_screen_bn.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/loading/loading_screen_color.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/loading/loading_screen_bn.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/loading/loading_screen_color.gif", AssetType::BITMAP);
|
||||
|
||||
// Title
|
||||
Asset::get()->add(prefix + "/data/title/title_logo.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/title/title_logo.gif", AssetType::BITMAP);
|
||||
|
||||
// Ending
|
||||
Asset::get()->add(prefix + "/data/ending/ending1.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/ending/ending2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/ending/ending3.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/ending/ending4.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/ending/ending5.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending1.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending3.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending4.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending5.gif", AssetType::BITMAP);
|
||||
|
||||
// Credits
|
||||
Asset::get()->add(prefix + "/data/credits/shine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/credits/shine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/credits/shine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/credits/shine.ani", AssetType::ANIMATION);
|
||||
|
||||
return Asset::get()->check();
|
||||
}
|
||||
@@ -480,8 +480,8 @@ void Director::runLogo() {
|
||||
|
||||
// Ejecuta la seccion de juego de la pantalla de carga
|
||||
void Director::runLoadingScreen() {
|
||||
auto loadingScreen = std::make_unique<LoadingScreen>();
|
||||
loadingScreen->run();
|
||||
auto loading_screen = std::make_unique<LoadingScreen>();
|
||||
loading_screen->run();
|
||||
}
|
||||
|
||||
// Ejecuta la seccion de juego con el titulo y los menus
|
||||
@@ -516,8 +516,8 @@ void Director::runEnding2() {
|
||||
|
||||
// Ejecuta la seccion del final de la partida
|
||||
void Director::runGameOver() {
|
||||
auto gameOver = std::make_unique<GameOver>();
|
||||
gameOver->run();
|
||||
auto game_over = std::make_unique<GameOver>();
|
||||
game_over->run();
|
||||
}
|
||||
|
||||
// Ejecuta la seccion de juego donde se juega
|
||||
|
||||
@@ -8,25 +8,25 @@ class Director {
|
||||
public:
|
||||
Director(int argc, const char* argv[]); // Constructor
|
||||
~Director(); // Destructor
|
||||
int run(); // Bucle principal
|
||||
static int run(); // Bucle principal
|
||||
|
||||
private:
|
||||
// --- Variables ---
|
||||
std::string executable_path_; // Path del ejecutable
|
||||
std::string system_folder_; // Carpeta del sistema donde guardar datos
|
||||
std::string checkProgramArguments(int argc, const char* argv[]); // Comprueba los parametros del programa
|
||||
static std::string checkProgramArguments(int argc, const char* argv[]); // Comprueba los parametros del programa
|
||||
|
||||
// --- Funciones ---
|
||||
void createSystemFolder(const std::string& folder); // Crea la carpeta del sistema donde guardar datos
|
||||
void initInput(); // Inicializa el objeto Input
|
||||
static void initInput(); // Inicializa el objeto Input
|
||||
bool setFileList(); // Crea el indice de ficheros
|
||||
void runLogo(); // Ejecuta la seccion de juego con el logo
|
||||
void runLoadingScreen(); // Ejecuta la seccion de juego de la pantalla de carga
|
||||
void runTitle(); // Ejecuta la seccion de juego con el titulo y los menus
|
||||
void runCredits(); // Ejecuta la seccion de los creditos del juego
|
||||
void runDemo(); // Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||
void runEnding(); // Ejecuta la seccion del final del juego
|
||||
void runEnding2(); // Ejecuta la seccion del final del juego
|
||||
void runGameOver(); // Ejecuta la seccion del final de la partida
|
||||
void runGame(); // Ejecuta la seccion de juego donde se juega
|
||||
static void runLogo(); // Ejecuta la seccion de juego con el logo
|
||||
static void runLoadingScreen(); // Ejecuta la seccion de juego de la pantalla de carga
|
||||
static void runTitle(); // Ejecuta la seccion de juego con el titulo y los menus
|
||||
static void runCredits(); // Ejecuta la seccion de los creditos del juego
|
||||
static void runDemo(); // Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||
static void runEnding(); // Ejecuta la seccion del final del juego
|
||||
static void runEnding2(); // Ejecuta la seccion del final del juego
|
||||
static void runGameOver(); // Ejecuta la seccion del final de la partida
|
||||
static void runGame(); // Ejecuta la seccion de juego donde se juega
|
||||
};
|
||||
Reference in New Issue
Block a user