Menu: Added some fancy menu guff, enjoy it while it lasts

This commit is contained in:
Marco Cawthorne 2020-03-30 14:46:55 +02:00
parent 01364e488d
commit 576547f249
7 changed files with 48 additions and 9 deletions

View File

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
var int autocvar_menu_intro = FALSE;
var int autocvar_menu_intro = TRUE;
#define KEY_UNKNOWN -1
#define KEY_GAME 0

View File

@ -81,6 +81,10 @@ void m_init(void)
Colors_Init();
Strings_Init();
g_initialized = TRUE;
if (cvar_string("game") != "valve") {
m_intro_skip();
}
}
void m_shutdown(void)
@ -206,6 +210,7 @@ float m_consolecommand(string cmd)
switch (argv(0)) {
case "menu_customgame":
g_menupage = PAGE_CUSTOMGAME;
m_intro_skip();
break;
case "togglemenu":
m_display();

View File

@ -35,6 +35,7 @@ void create_btnok_start(void)
{
static string startmap;
static void create_btnok_end(void) {
localcmd("stopmusic\n");
localcmd(sprintf("hostname %s\n", create_tbHostname.m_text));
localcmd(sprintf("sv_playerslots %s\n", create_tbMaxplayers.m_text));
localcmd(sprintf("password %s\n", create_tbPassword.m_text));

View File

@ -23,6 +23,7 @@ void createinet_btnok_start(void)
{
static string startmap;
static void createinet_btnok_end(void) {
localcmd("stopmusic\n");
localcmd(sprintf("hostname %s\n", create_tbHostname.m_text));
localcmd(sprintf("sv_playerslots %s\n", create_tbMaxplayers.m_text));
localcmd(sprintf("password %s\n", create_tbPassword.m_text));

View File

@ -14,20 +14,47 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#define INTRO_TIME 6
enum {
INTRO_START,
INTRO_FADETOWHITE,
INTRO_FADETOMENU,
INTRO_DONE
};
#define INTRO_TIME 8
float g_intro_progress;
int g_intro_stage;
void m_intro_skip(void)
{
g_intro_progress = INTRO_TIME;
}
void m_intro_draw(void)
{
if (clientstate() == 2) {
g_intro_progress = INTRO_TIME;
g_intro_stage = INTRO_DONE;
}
if (g_intro_progress > 5.0f) {
if (g_intro_progress > 7.0f) {
float alpha = (8 - g_intro_progress);
drawfill([0,0], [g_vidsize[0],g_vidsize[1]], [1,1,1], alpha);
if (g_intro_stage != INTRO_FADETOMENU) {
g_intro_stage = INTRO_FADETOMENU;
}
} else if (g_intro_progress > 5.0f) {
float alpha = (6 - g_intro_progress);
drawpic([g_menuofs[0],g_menuofs[1]], g_bmp[SPLASH8BIT],
[640,480], [1,1,1], alpha, 0);
[640,480], [1,1,1], 1.0f, 0);
drawfill([0,0], [g_vidsize[0],g_vidsize[1]], [1,1,1], 1.0 - alpha);
if (g_intro_stage != INTRO_FADETOWHITE) {
localcmd("play debris/beamstart5.wav\n");
localcmd("music music/track03.flac\n");
g_intro_stage = INTRO_FADETOWHITE;
}
} else {
drawpic([g_menuofs[0],g_menuofs[1]], g_bmp[SPLASH8BIT],
[640,480], [1,1,1], 1.0f);
@ -40,14 +67,15 @@ void m_intro_draw(void)
g_intro_progress += frametime;
}
void m_intro_input(float evtype, float scanx, float chary, float devid)
{
{
if (evtype == IE_KEYDOWN) {
if (scanx == K_ESCAPE) {
g_intro_progress = INTRO_TIME;
m_intro_skip();
} else if (scanx == K_ENTER) {
g_intro_progress = INTRO_TIME;
m_intro_skip();
} else if (scanx == K_SPACE) {
m_intro_skip();
}
}
}

View File

@ -71,6 +71,7 @@ void btn_newgame_start(void)
}
void btn_training(void)
{
localcmd("stopmusic\n");
localcmd("maxplayers 1\n");
localcmd(sprintf("map %s\n", games[gameinfo_current].trainingmap));
}

View File

@ -25,6 +25,7 @@ void ng_btneasy_start(void)
{
static void ng_btneasy_end(void) {
g_menupage = PAGE_MAIN;
localcmd("stopmusic\n");
localcmd("set skill 1; maxplayers 1\n");
localcmd(sprintf("map %s\n", games[gameinfo_current].startmap));
}
@ -40,6 +41,7 @@ void ng_btnnormal_start(void)
{
static void ng_btnnormal_end(void) {
g_menupage = PAGE_MAIN;
localcmd("stopmusic\n");
localcmd("set skill 2; maxplayers 1\n");
localcmd(sprintf("map %s\n", games[gameinfo_current].startmap));
}
@ -55,6 +57,7 @@ void ng_btnhard_start(void)
{
static void ng_btnhard_end(void) {
g_menupage = PAGE_MAIN;
localcmd("stopmusic\n");
localcmd("set skill 3; maxplayers 1\n");
localcmd(sprintf("map %s\n", games[gameinfo_current].startmap));
}