Trabajando en la INTRO
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 71 KiB |
BIN
data/gfx/title_bg_tile.png
Normal file
BIN
data/gfx/title_bg_tile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 899 B |
BIN
data/gfx/title_coffee.png
Normal file
BIN
data/gfx/title_coffee.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
BIN
data/gfx/title_crisis.png
Normal file
BIN
data/gfx/title_crisis.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
9
data/gfx/title_dust.ani
Normal file
9
data/gfx/title_dust.ani
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
frameWidth=16
|
||||||
|
frameHeight=16
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
name=default
|
||||||
|
speed=8
|
||||||
|
loop=-1
|
||||||
|
frames=0,1,2,3,4,5,6
|
||||||
|
[/animation]
|
||||||
BIN
data/gfx/title_dust.png
Normal file
BIN
data/gfx/title_dust.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 212 B |
BIN
data/gfx/title_gradient.png
Normal file
BIN
data/gfx/title_gradient.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 67 KiB |
109
data/menu/options.men
Normal file
109
data/menu/options.men
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_cancel=menu_cancel.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
|
||||||
|
name=TITLE
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
isCenteredOnY=true
|
||||||
|
centerY=96
|
||||||
|
|
||||||
|
selector_color=229,28,35,0
|
||||||
|
selector_text_color=255,180,0
|
||||||
|
|
||||||
|
defaultActionWhenCancel=13
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=DIFFICULTY
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAYER 1 CONTROLS
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=true
|
||||||
|
greyed=false
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=KEYBOARD
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=PLAYER 2 CONTROLS
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=true
|
||||||
|
greyed=false
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=GAME CONTROLLER
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=LANGUAGE
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=DISPLAY MODE
|
||||||
|
hPaddingDown=2
|
||||||
|
selectable=true
|
||||||
|
greyed=false
|
||||||
|
linkedDown=true
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=WINDOW
|
||||||
|
hPaddingDown=7
|
||||||
|
selectable=false
|
||||||
|
greyed=false
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=WINDOW SIZE
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=FILTER
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=VSYNC
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=HOW TO PLAY
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=ACCEPT
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=CANCEL
|
||||||
|
[/item]
|
||||||
40
data/menu/title.men
Normal file
40
data/menu/title.men
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
font_png=smb2.png
|
||||||
|
font_txt=smb2.txt
|
||||||
|
|
||||||
|
sound_cancel=menu_cancel.wav
|
||||||
|
sound_accept=menu_select.wav
|
||||||
|
sound_move=menu_move.wav
|
||||||
|
|
||||||
|
name=TITLE
|
||||||
|
x=0
|
||||||
|
y=116
|
||||||
|
backgroundType=0
|
||||||
|
backgroundColor=48,48,64,192
|
||||||
|
|
||||||
|
areElementsCenteredOnX=true
|
||||||
|
isCenteredOnX=true
|
||||||
|
centerX=128
|
||||||
|
|
||||||
|
selector_color=229,28,35,0
|
||||||
|
selector_text_color=255,180,0
|
||||||
|
|
||||||
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=1 PLAYER
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=2 PLAYERS
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=OPTIONS
|
||||||
|
hPaddingDown=7
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=QUIT
|
||||||
|
[/item]
|
||||||
@@ -196,15 +196,23 @@ bool Director::setFileList()
|
|||||||
asset->add("data/gfx/intro.png", t_bitmap);
|
asset->add("data/gfx/intro.png", t_bitmap);
|
||||||
asset->add("data/gfx/items.png", t_bitmap);
|
asset->add("data/gfx/items.png", t_bitmap);
|
||||||
asset->add("data/gfx/logo.png", t_bitmap);
|
asset->add("data/gfx/logo.png", t_bitmap);
|
||||||
asset->add("data/gfx/player1_body.png", t_bitmap);
|
|
||||||
asset->add("data/gfx/player1_death.png", t_bitmap);
|
asset->add("data/gfx/title_bg_tile.png", t_bitmap);
|
||||||
asset->add("data/gfx/player1_legs.png", t_bitmap);
|
asset->add("data/gfx/title_coffee.png", t_bitmap);
|
||||||
asset->add("data/gfx/title.png", t_bitmap);
|
asset->add("data/gfx/title_crisis.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/title_dust.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/title_dust.ani", t_data);
|
||||||
|
asset->add("data/gfx/title_gradient.png", t_bitmap);
|
||||||
|
|
||||||
asset->add("data/gfx/player1_head.png", t_bitmap);
|
asset->add("data/gfx/player1_head.png", t_bitmap);
|
||||||
asset->add("data/gfx/player2_body.png", t_bitmap);
|
asset->add("data/gfx/player1_body.png", t_bitmap);
|
||||||
asset->add("data/gfx/player2_death.png", t_bitmap);
|
asset->add("data/gfx/player1_legs.png", t_bitmap);
|
||||||
asset->add("data/gfx/player2_legs.png", t_bitmap);
|
asset->add("data/gfx/player1_death.png", t_bitmap);
|
||||||
|
|
||||||
asset->add("data/gfx/player2_head.png", t_bitmap);
|
asset->add("data/gfx/player2_head.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/player2_body.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/player2_legs.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/player2_death.png", t_bitmap);
|
||||||
|
|
||||||
// Fuentes
|
// Fuentes
|
||||||
asset->add("data/font/8bithud.png", t_font);
|
asset->add("data/font/8bithud.png", t_font);
|
||||||
@@ -225,6 +233,11 @@ bool Director::setFileList()
|
|||||||
asset->add("data/lang/en_UK.txt", t_lang);
|
asset->add("data/lang/en_UK.txt", t_lang);
|
||||||
asset->add("data/lang/ba_BA.txt", t_lang);
|
asset->add("data/lang/ba_BA.txt", t_lang);
|
||||||
|
|
||||||
|
// Menus
|
||||||
|
asset->add("data/menu/title.men", t_data);
|
||||||
|
asset->add("data/menu/options.men", t_data);
|
||||||
|
|
||||||
|
|
||||||
return asset->check();
|
return asset->check();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,16 +4,55 @@
|
|||||||
// Constructor
|
// Constructor
|
||||||
Menu::Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file)
|
Menu::Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file)
|
||||||
{
|
{
|
||||||
|
// Copia punteros
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->input = input;
|
this->input = input;
|
||||||
|
|
||||||
|
// Inicializa punteros
|
||||||
soundMove = nullptr;
|
soundMove = nullptr;
|
||||||
soundAccept = nullptr;
|
soundAccept = nullptr;
|
||||||
soundCancel = nullptr;
|
soundCancel = nullptr;
|
||||||
|
|
||||||
init();
|
// Inicializa variables
|
||||||
|
name = "";
|
||||||
|
selector.index = 0;
|
||||||
|
itemSelected = MENU_NO_OPTION;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
rectBG.rect = {0, 0, 0, 0};
|
||||||
|
rectBG.color = {0, 0, 0};
|
||||||
|
rectBG.a = 0;
|
||||||
|
backgroundType = MENU_BACKGROUND_SOLID;
|
||||||
|
isCenteredOnX = false;
|
||||||
|
isCenteredOnY = false;
|
||||||
|
areElementsCenteredOnX = false;
|
||||||
|
centerX = 0;
|
||||||
|
centerY = 0;
|
||||||
|
widestItem = 0;
|
||||||
|
colorGreyed = {128, 128, 128};
|
||||||
|
defaultActionWhenCancel = 0;
|
||||||
|
font_png = "";
|
||||||
|
font_txt = "";
|
||||||
|
|
||||||
|
// Selector
|
||||||
|
selector.originY = 0;
|
||||||
|
selector.targetY = 0;
|
||||||
|
selector.despY = 0;
|
||||||
|
selector.originH = 0;
|
||||||
|
selector.targetH = 0;
|
||||||
|
selector.incH = 0;
|
||||||
|
selector.y = 0.0f;
|
||||||
|
selector.h = 0.0f;
|
||||||
|
selector.numJumps = 8;
|
||||||
|
selector.moving = false;
|
||||||
|
selector.resizing = false;
|
||||||
|
selector.rect = {0, 0, 0, 0};
|
||||||
|
selector.color = {0, 0, 0};
|
||||||
|
selector.itemColor = {0, 0, 0};
|
||||||
|
selector.a = 255;
|
||||||
|
|
||||||
|
// Inicializa las variables desde un fichero
|
||||||
if (file != "")
|
if (file != "")
|
||||||
{
|
{
|
||||||
load(file);
|
load(file);
|
||||||
@@ -129,7 +168,7 @@ bool Menu::load(std::string file_path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Reorganiza el menu con los valores recien cargados
|
// Reorganiza el menu con los valores recien cargados
|
||||||
//reorganize();
|
// reorganize();
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
@@ -315,43 +354,6 @@ bool Menu::setVars(std::string var, std::string value)
|
|||||||
// Inicializa las variables
|
// Inicializa las variables
|
||||||
void Menu::init()
|
void Menu::init()
|
||||||
{
|
{
|
||||||
// Inicia variables
|
|
||||||
name = "";
|
|
||||||
selector.index = 0;
|
|
||||||
itemSelected = MENU_NO_OPTION;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
rectBG.rect = {0, 0, 0, 0};
|
|
||||||
rectBG.color = {0, 0, 0};
|
|
||||||
rectBG.a = 0;
|
|
||||||
backgroundType = MENU_BACKGROUND_SOLID;
|
|
||||||
isCenteredOnX = false;
|
|
||||||
isCenteredOnY = false;
|
|
||||||
areElementsCenteredOnX = false;
|
|
||||||
centerX = 0;
|
|
||||||
centerY = 0;
|
|
||||||
widestItem = 0;
|
|
||||||
colorGreyed = {128, 128, 128};
|
|
||||||
defaultActionWhenCancel = 0;
|
|
||||||
font_png = "";
|
|
||||||
font_txt = "";
|
|
||||||
|
|
||||||
// Selector
|
|
||||||
selector.originY = 0;
|
|
||||||
selector.targetY = 0;
|
|
||||||
selector.despY = 0;
|
|
||||||
selector.originH = 0;
|
|
||||||
selector.targetH = 0;
|
|
||||||
selector.incH = 0;
|
|
||||||
selector.y = 0.0f;
|
|
||||||
selector.h = 0.0f;
|
|
||||||
selector.numJumps = 8;
|
|
||||||
selector.moving = false;
|
|
||||||
selector.resizing = false;
|
|
||||||
selector.rect = {0, 0, 0, 0};
|
|
||||||
selector.color = {0, 0, 0};
|
|
||||||
selector.itemColor = {0, 0, 0};
|
|
||||||
selector.a = 255;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Carga los ficheros de audio
|
// Carga los ficheros de audio
|
||||||
@@ -736,14 +738,13 @@ void Menu::centerMenuElementsOnX()
|
|||||||
void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool greyed, bool linkedDown)
|
void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool greyed, bool linkedDown)
|
||||||
{
|
{
|
||||||
item_t temp;
|
item_t temp;
|
||||||
// Si es el primer item coge la posición en el eje Y del propio menu
|
|
||||||
if (item.size() == 0)
|
if (item.size() == 0)
|
||||||
{
|
{// Si es el primer item coge la posición en el eje Y del propio menu
|
||||||
temp.rect.y = y;
|
temp.rect.y = y;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
// En caso contrario, coge la posición en el eje Y a partir del elemento anterior
|
{// En caso contrario, coge la posición en el eje Y a partir del elemento anterior
|
||||||
{
|
|
||||||
temp.rect.y = item.back().rect.y + item.back().rect.h + item.back().hPaddingDown;
|
temp.rect.y = item.back().rect.y + item.back().rect.h + item.back().hPaddingDown;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -754,6 +755,7 @@ void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool gre
|
|||||||
temp.linkedDown = linkedDown;
|
temp.linkedDown = linkedDown;
|
||||||
|
|
||||||
item.push_back(temp);
|
item.push_back(temp);
|
||||||
|
|
||||||
setItemCaption(item.size() - 1, text);
|
setItemCaption(item.size() - 1, text);
|
||||||
|
|
||||||
if (item.size() > 0)
|
if (item.size() > 0)
|
||||||
|
|||||||
982
source/title.cpp
982
source/title.cpp
File diff suppressed because it is too large
Load Diff
@@ -42,36 +42,42 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Objetos
|
// Objetos
|
||||||
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
||||||
Screen *mScreen; // Objeto encargado de dibujar en pantalla
|
Screen *mScreen; // Objeto encargado de dibujar en pantalla
|
||||||
Asset *mAsset; // Objeto que gestiona todos los ficheros de recursos
|
Asset *mAsset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
Input *mInput; // Objeto para leer las entradas de teclado o mando
|
Input *mInput; // Objeto para leer las entradas de teclado o mando
|
||||||
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
SDL_Event *mEventHandler; // Manejador de eventos
|
Instructions *mInstructions; // Objeto para la sección de las instrucciones
|
||||||
|
Game *mDemoGame; // Objeto para lanzar la demo del juego
|
||||||
|
SDL_Event *mEventHandler; // Manejador de eventos
|
||||||
|
|
||||||
|
LTexture *dustTexture; // Textura con los graficos del polvo
|
||||||
|
LTexture *coffeeTexture; // Textura con los graficos de la palabra coffee
|
||||||
|
LTexture *crisisTexture; // Textura con los graficos de la plabra crisis
|
||||||
|
LTexture *gradientTexture; // Textura con los graficos para el degradado del fondo del titulo
|
||||||
|
|
||||||
|
SDL_Rect mBackgroundWindow; // Ventana visible para la textura de fondo del titulo
|
||||||
|
SDL_Texture *mBackground; // Textura dibujar el fondo del titulo
|
||||||
|
|
||||||
AnimatedSprite *mDustBitmapL; // Sprite con la el polvo que aparece al colisionar el texto de la pantalla de titulo
|
AnimatedSprite *mDustBitmapL; // Sprite con la el polvo que aparece al colisionar el texto de la pantalla de titulo
|
||||||
AnimatedSprite *mDustBitmapR; // Sprite con la el polvo que aparece al colisionar el texto de la pantalla de titulo
|
AnimatedSprite *mDustBitmapR; // Sprite con la el polvo que aparece al colisionar el texto de la pantalla de titulo
|
||||||
LTexture *mItemsTexture; // Textura con los gráficos de los items para las instrucciones
|
|
||||||
LTexture *mTitleTexture; // Textura con los graficos para el titulo
|
SmartSprite *mCoffeeBitmap; // Sprite con la palabra COFFEE para la pantalla de titulo
|
||||||
SDL_Rect mBackgroundWindow; // Ventana visible para la textura de fondo del titulo
|
SmartSprite *mCrisisBitmap; // Sprite con la palabra CRISIS para la pantalla de titulo
|
||||||
SDL_Texture *mBackground; // Textura dibujar el fondo del titulo
|
|
||||||
SmartSprite *mCoffeeBitmap; // Sprite con la palabra COFFEE para la pantalla de titulo
|
Sprite *mGradient; // Sprite para dibujar el degradado del titulo
|
||||||
SmartSprite *mCrisisBitmap; // Sprite con la palabra CRISIS para la pantalla de titulo
|
|
||||||
Sprite *mTile; // Sprite para dibujar el fondo de pantalla del título
|
Text *mText; // Objeto de texto para poder escribir textos en pantalla
|
||||||
Sprite *mGradient; // Sprite para dibujar el degradado del titulo
|
Text *mText2; // Objeto de texto para poder escribir textos en pantalla
|
||||||
Text *mText; // Objeto de texto para poder escribir textos en pantalla
|
Fade *mFade; // Objeto para realizar fundidos en pantalla
|
||||||
Text *mText2; // Objeto de texto para poder escribir textos en pantalla
|
|
||||||
Fade *mFade; // Objeto para realizar fundidos en pantalla
|
|
||||||
Instructions *mInstructions; // Objeto para la sección de las instrucciones
|
|
||||||
Game *mDemoGame; // Objeto para lanzar la demo del juego
|
|
||||||
|
|
||||||
// Variable
|
// Variable
|
||||||
JA_Music mMusic; // Musica para el titulo
|
JA_Music mMusic; // Musica para el titulo
|
||||||
JA_Sound mSound; // Sonido con el impacto del título
|
JA_Sound mSound; // Sonido con el impacto del título
|
||||||
int mBackgroundCounter; // Temporizador para el fondo de tiles de la pantalla de titulo
|
int mBackgroundCounter; // Temporizador para el fondo de tiles de la pantalla de titulo
|
||||||
int mCounter; // Temporizador para la pantalla de titulo
|
int mCounter; // Temporizador para la pantalla de titulo
|
||||||
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
Uint8 mBackgroundMode; // Variable para almacenar el tipo de efecto que hará el fondo de la pantalla de titulo
|
Uint8 mBackgroundMode; // Variable para almacenar el tipo de efecto que hará el fondo de la pantalla de titulo
|
||||||
Uint8 mEvents[TITLE_TOTAL_EVENTS]; // Vector para coordinar los eventos de la pantalla de titulo
|
|
||||||
float mSin[360]; // Vector con los valores del seno precalculados
|
float mSin[360]; // Vector con los valores del seno precalculados
|
||||||
bool mMenuVisible; // Indicador para saber si se muestra el menu del titulo o la frase intermitente
|
bool mMenuVisible; // Indicador para saber si se muestra el menu del titulo o la frase intermitente
|
||||||
bool mDemo; // Indica si el modo demo estará activo
|
bool mDemo; // Indica si el modo demo estará activo
|
||||||
@@ -85,6 +91,18 @@ private:
|
|||||||
std::vector<input_t> mAvailableInputDevices; // Vector con todos los metodos de control disponibles
|
std::vector<input_t> mAvailableInputDevices; // Vector con todos los metodos de control disponibles
|
||||||
int mDeviceIndex[2]; // Indice para el jugador [i] del vector de dispositivos de entrada disponibles
|
int mDeviceIndex[2]; // Indice para el jugador [i] del vector de dispositivos de entrada disponibles
|
||||||
|
|
||||||
|
// Actualiza las variables del objeto
|
||||||
|
void update();
|
||||||
|
|
||||||
|
// Dibuja el objeto en pantalla
|
||||||
|
void render();
|
||||||
|
|
||||||
|
// Comprueba los eventos
|
||||||
|
void checkEventHandler();
|
||||||
|
|
||||||
|
//Actualiza el tileado de fondo
|
||||||
|
void updateBG();
|
||||||
|
|
||||||
// Cambia el valor de la variable de modo de pantalla completa
|
// Cambia el valor de la variable de modo de pantalla completa
|
||||||
void switchFullScreenModeVar();
|
void switchFullScreenModeVar();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user