74 lines
2.0 KiB
C++
74 lines
2.0 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL.h>
|
|
#include "const.h"
|
|
#include "utils.h"
|
|
#include "screen.h"
|
|
#include "smartsprite.h"
|
|
#include "writer.h"
|
|
#include "jail_audio.h"
|
|
|
|
#ifndef INTRO_H
|
|
#define INTRO_H
|
|
|
|
// Cantidad de eventos de la intro
|
|
#define INTRO_TOTAL_BITMAPS 6
|
|
#define INTRO_TOTAL_TEXTS 9
|
|
const int INTRO_TOTAL_EVENTS = INTRO_TOTAL_BITMAPS + INTRO_TOTAL_TEXTS;
|
|
|
|
// Relaciones de Id con nombres
|
|
#define BITMAP0 0
|
|
#define BITMAP1 1
|
|
#define BITMAP2 2
|
|
#define BITMAP3 3
|
|
#define BITMAP4 4
|
|
#define BITMAP5 5
|
|
#define TEXT0 6
|
|
#define TEXT1 7
|
|
#define TEXT2 8
|
|
#define TEXT3 9
|
|
#define TEXT4 10
|
|
#define TEXT5 11
|
|
#define TEXT6 12
|
|
#define TEXT7 13
|
|
#define TEXT8 14
|
|
|
|
// Clase Intro
|
|
class Intro
|
|
{
|
|
private:
|
|
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
|
Screen *mScreen; // Objeto encargado de dibujar en pantalla
|
|
LTexture *mBitmapTexture; // Textura con los graficos
|
|
LTexture *mTextTexture; // Textura con los caracteres de texto
|
|
SDL_Event *mEventHandler; // Manejador de eventos
|
|
std::string *mFileList; // Lista de ficheros
|
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
|
section_t mSection; // Estado del bucle principal para saber si continua o se sale
|
|
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
|
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
|
SmartSprite *mBitmap[INTRO_TOTAL_BITMAPS]; // Vector con los sprites inteligentes para los dibujos de la intro
|
|
Writer *mWriter[INTRO_TOTAL_TEXTS]; // Textos de la intro
|
|
Text *mText; // Textos de la intro
|
|
Uint8 mEvents[INTRO_TOTAL_EVENTS]; // Vector para coordinar los eventos de la intro
|
|
JA_Music mMusic; // Musica para la intro
|
|
|
|
// Carga los recursos
|
|
bool loadMedia();
|
|
|
|
public:
|
|
// Constructor
|
|
Intro(SDL_Renderer *renderer, Screen *screen, std::string *fileList, Lang *lang);
|
|
|
|
// Destructor
|
|
~Intro();
|
|
|
|
// Inicializa las variables
|
|
void init();
|
|
|
|
// Bucle principal
|
|
section_t run();
|
|
};
|
|
|
|
#endif
|