Files
thepool/source/m_menu.cpp
Raimon Zamora e009aef341 - [CHG] Retocat el mòdul JAudio per a adaptar-se a les necesitats del joc.
- [NEW] audio::getCurrentMusic()
- [NEW] audio::stopAllChannels()
- [FIX] El JAudio i JInput han de inicialitzarse abans de entrar al Init del joc
- Afegides músiques i alguns sons
- Comence a fer que sone cada musica i so en el seu lloc
- [TOFIX] LAG EN EL AUDIO!
2024-10-03 13:09:44 +02:00

102 lines
4.4 KiB
C++

#include "m_menu.h"
#include "jgame.h"
#include "jinput.h"
#include "jdraw.h"
#include "config.h"
#include <SDL2/SDL.h>
#include "jaudio.h"
namespace modules
{
namespace menu
{
draw::surface *surf;
int anim_pos=0;
int retras=4;
int selected_option = OPTION_JUGAR;
void init()
{
if (audio::getCurrentMusic() != "mus_menu.ogg") audio::playMusic("mus_menu.ogg");
selected_option = OPTION_JUGAR;
::game::setUpdateTicks(64);
draw::loadPalette("test.gif");
surf = draw::getSurface("test.gif");
draw::restorecol(2);
}
int loop()
{
if (input::keyPressed(SDL_SCANCODE_ESCAPE)) {
return OPTION_EIXIR;
}
if (input::keyPressed(SDL_SCANCODE_DOWN) || input::keyPressed(config::getKey(KEY_DOWN)))
selected_option++; if (selected_option==5) selected_option=0;
if (input::keyPressed(SDL_SCANCODE_UP) || input::keyPressed(config::getKey(KEY_UP)))
selected_option--; if (selected_option<0) selected_option=4;
if (input::keyPressed(SDL_SCANCODE_SPACE) || input::keyPressed(SDL_SCANCODE_RETURN) ||
input::keyPressed(config::getKey(KEY_JUMP)) || input::keyPressed(config::getKey(KEY_PICK))) {
return selected_option;
}
draw::cls(2);
draw::color(1);
draw::swapcol(1, WHITE);
draw::setSource(surf);
draw::draw(150,56,20,32,64+anim_pos*20,32);
retras--;
if (retras==0) {retras=4; anim_pos=(anim_pos+1)&1; }
draw::print2("THE POOL", 16, 3, TEAL, FONT_ZOOM_VERTICAL);
switch (selected_option)
{
case OPTION_JUGAR:
draw::print2("fg JUGAR AL JOC", 11, 14, YELLOW, FONT_ZOOM_VERTICAL);
draw::print2("de REDEFINIR TECLES", 11, 17, GREEN, FONT_ZOOM_NONE);
draw::print2("de REDEFINIR GAMEPAD", 11, 19, GREEN, FONT_ZOOM_NONE);
draw::print2("de CONFIGURAR AUDIO", 11, 21, GREEN, FONT_ZOOM_NONE);
draw::print2("de EIXIR", 11, 23, GREEN, FONT_ZOOM_NONE);
break;
case OPTION_TECLES:
draw::print2("de JUGAR AL JOC", 11, 14, GREEN, FONT_ZOOM_NONE);
draw::print2("fg REDEFINIR TECLES", 11, 16, YELLOW, FONT_ZOOM_VERTICAL);
draw::print2("de REDEFINIR GAMEPAD", 11, 19, GREEN, FONT_ZOOM_NONE);
draw::print2("de CONFIGURAR AUDIO", 11, 21, GREEN, FONT_ZOOM_NONE);
draw::print2("de EIXIR", 11, 23, GREEN, FONT_ZOOM_NONE);
break;
case OPTION_GAMEPAD:
draw::print2("de JUGAR AL JOC", 11, 14, GREEN, FONT_ZOOM_NONE);
draw::print2("de REDEFINIR TECLES", 11, 16, GREEN, FONT_ZOOM_NONE);
draw::print2("fg REDEFINIR GAMEPAD", 11, 18, YELLOW, FONT_ZOOM_VERTICAL);
draw::print2("de CONFIGURAR AUDIO", 11, 21, GREEN, FONT_ZOOM_NONE);
draw::print2("de EIXIR", 11, 23, GREEN, FONT_ZOOM_NONE);
break;
case OPTION_AUDIO:
draw::print2("de JUGAR AL JOC", 11, 14, GREEN, FONT_ZOOM_NONE);
draw::print2("de REDEFINIR TECLES", 11, 16, GREEN, FONT_ZOOM_NONE);
draw::print2("de REDEFINIR GAMEPAD", 11, 18, GREEN, FONT_ZOOM_NONE);
draw::print2("fg CONFIGURAR AUDIO", 11, 20, YELLOW, FONT_ZOOM_VERTICAL);
draw::print2("de EIXIR", 11, 23, GREEN, FONT_ZOOM_NONE);
break;
case OPTION_EIXIR:
draw::print2("de JUGAR AL JOC", 11, 14, GREEN, FONT_ZOOM_NONE);
draw::print2("de REDEFINIR TECLES", 11, 16, GREEN, FONT_ZOOM_NONE);
draw::print2("de REDEFINIR GAMEPAD", 11, 18, GREEN, FONT_ZOOM_NONE);
draw::print2("de CONFIGURAR AUDIO", 11, 20, GREEN, FONT_ZOOM_NONE);
draw::print2("fg EIXIR", 11, 22, YELLOW, FONT_ZOOM_VERTICAL);
break;
};
draw::print2("(C) JAILDOCTOR 2024", 11, 28, TEAL, FONT_ZOOM_NONE);
draw::render();
return OPTION_NONE;
}
}
}