85 lines
2.7 KiB
C
Executable file
85 lines
2.7 KiB
C
Executable file
/*
|
|
FreeCS Project
|
|
Copyright (C) 2016, 2017 Marco "eukara" Hladik
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
/*
|
|
=================
|
|
m_init
|
|
|
|
Precaches and loading for the menu system
|
|
=================
|
|
*/
|
|
void Menu_Configuration_Init( void );
|
|
void m_init( void ) {
|
|
precache_pic( "gfx/shell/splash" );
|
|
precache_pic( "gfx/shell/btns_main" );
|
|
|
|
Menu_Configuration_Init();
|
|
|
|
// Index all the maps... TODO: Filter out /valve/ to avoid useless junk from being cached.
|
|
searchhandle shMaps = search_begin( "maps/*.bsp", TRUE, TRUE );
|
|
iMapCount = search_getsize( shMaps );
|
|
sMapList = memalloc( sizeof( string ) * iMapCount );
|
|
|
|
for ( int i = 0; i < iMapCount; i++ ) {
|
|
sMapList[ i ] = substring( search_getfilename( shMaps, i ), 5, strlen( search_getfilename( shMaps, i ) ) - 9 );
|
|
}
|
|
|
|
search_end( shMaps );
|
|
FONT_MENU = loadfont( "menu", "gfx/menuchars", "32", -1 );
|
|
|
|
vMenuButtonsSize = drawgetimagesize( "gfx/shell/btns_main" );
|
|
|
|
// For those peeps who don't read or don't want to follow the instructions
|
|
if ( whichpack( "sound/items/9mmclip1.wav" ) ) {
|
|
iHLContent = TRUE;
|
|
}
|
|
|
|
// Initialize all the spraylogos
|
|
searchhandle shSprays = search_begin( "logos/*.bmp", TRUE, TRUE );
|
|
sLogos = memalloc( sizeof( string ) * search_getsize( shSprays ) );
|
|
for ( int i = 0; i < search_getsize( shSprays ); i++ ) {
|
|
string sShadername;
|
|
string sShortname = search_getfilename( shSprays, i );
|
|
precache_pic( sShortname );
|
|
sShortname = substring( sShortname, 6, strlen( sShortname ) - 10 );
|
|
sLogos[ i ] = sShortname;
|
|
sShadername = sprintf( "spray_%s", sShortname );
|
|
if ( substring( sShortname, 0, 1 ) == "#" ) {
|
|
shaderforname( sShadername, sprintf("{\ncull disable\npolygonOffset\n{\nmap %s\n}\n}\n", search_getfilename( shSprays, i ) ) );
|
|
} else {
|
|
shaderforname( sShadername, sprintf("{\ncull disable\npolygonOffset\n{\nmap %s\nblendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR\n\nrgbgen vertex\n}\n}\n", search_getfilename( shSprays, i ) ) );
|
|
}
|
|
iLogos += 1;
|
|
}
|
|
search_end( shSprays );
|
|
|
|
drawfont = loadfont( "font", "", "12", -1 );
|
|
}
|
|
|
|
/*
|
|
=================
|
|
m_shutdown
|
|
|
|
I can see the curtain... the ending.
|
|
=================
|
|
*/
|
|
void m_shutdown( void ) {
|
|
|
|
}
|