resource.pack

This commit is contained in:
2026-04-15 23:26:43 +02:00
parent c3534ace9c
commit 0faa605ad9
35 changed files with 1537 additions and 1851 deletions

View File

@@ -15,6 +15,7 @@
#include "jail_audio.hpp" // for JA_StopMusic, JA_GetMusicState, JA_Play...
#include "lang.h" // for Lang, ba_BA, en_UK, es_ES
#include "menu.h" // for Menu
#include "resource.h"
#include "screen.h" // for Screen, FILTER_LINEAL, FILTER_NEAREST
#include "smartsprite.h" // for SmartSprite
#include "sprite.h" // for Sprite
@@ -36,28 +37,29 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset,
eventHandler = new SDL_Event();
fade = new Fade(renderer);
dustTexture = new Texture(renderer, asset->get("title_dust.png"));
coffeeTexture = new Texture(renderer, asset->get("title_coffee.png"));
crisisTexture = new Texture(renderer, asset->get("title_crisis.png"));
gradientTexture = new Texture(renderer, asset->get("title_gradient.png"));
Resource *R = Resource::get();
dustTexture = R->getTexture("title_dust.png");
coffeeTexture = R->getTexture("title_coffee.png");
crisisTexture = R->getTexture("title_crisis.png");
gradientTexture = R->getTexture("title_gradient.png");
coffeeBitmap = new SmartSprite(coffeeTexture, renderer);
crisisBitmap = new SmartSprite(crisisTexture, renderer);
dustBitmapL = new AnimatedSprite(dustTexture, renderer, asset->get("title_dust.ani"));
dustBitmapR = new AnimatedSprite(dustTexture, renderer, asset->get("title_dust.ani"));
dustBitmapL = new AnimatedSprite(dustTexture, renderer, "", &R->getAnimationLines("title_dust.ani"));
dustBitmapR = new AnimatedSprite(dustTexture, renderer, "", &R->getAnimationLines("title_dust.ani"));
gradient = new Sprite({0, 0, 256, 192}, gradientTexture, renderer);
text1 = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
text2 = new Text(asset->get("8bithud.png"), asset->get("8bithud.txt"), renderer);
text1 = R->getText("smb2");
text2 = R->getText("8bithud");
#ifdef GAME_CONSOLE
menu.title = new Menu(renderer, asset, input, asset->get("title_gc.men"));
menu.options = new Menu(renderer, asset, input, asset->get("options_gc.men"));
menu.title = R->getMenu("title_gc");
menu.options = R->getMenu("options_gc");
#else
menu.title = new Menu(renderer, asset, input, asset->get("title.men"));
menu.options = new Menu(renderer, asset, input, asset->get("options.men"));
menu.title = R->getMenu("title");
menu.options = R->getMenu("options");
#endif
menu.playerSelect = new Menu(renderer, asset, input, asset->get("player_select.men"));
menu.playerSelect = R->getMenu("player_select");
#ifdef __EMSCRIPTEN__
// En la versión web no se puede cerrar el programa: ocultamos la opción QUIT del menú de título
@@ -65,11 +67,9 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset,
menu.title->setSelectable(3, false);
#endif
// Sonidos
crashSound = JA_LoadSound(asset->get("title.wav").c_str());
// Musicas
titleMusic = JA_LoadMusic(asset->get("title.ogg").c_str());
// Sonidos y música (handles compartidos)
crashSound = R->getSound("title.wav");
titleMusic = R->getMusic("title.ogg");
// Inicializa los valores
init();
@@ -80,34 +80,14 @@ Title::~Title() {
delete eventHandler;
delete fade;
dustTexture->unload();
delete dustTexture;
coffeeTexture->unload();
delete coffeeTexture;
crisisTexture->unload();
delete crisisTexture;
gradientTexture->unload();
delete gradientTexture;
// Las texturas, Text, Menu, sonido y música son propiedad de Resource —
// no se liberan aquí. Solo los sprites que posee esta escena.
delete coffeeBitmap;
delete crisisBitmap;
delete dustBitmapL;
delete dustBitmapR;
delete gradient;
delete text1;
delete text2;
delete menu.title;
delete menu.options;
delete menu.playerSelect;
JA_DeleteSound(crashSound);
JA_DeleteMusic(titleMusic);
SDL_DestroyTexture(background);
}