mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2026-06-17 18:52:12 +00:00
refactor: make menu hud and controls console friendly
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
init()
|
||||
{
|
||||
level.bw_version = "2.3.0";
|
||||
level.bw_version = "2.3.0-xenon";
|
||||
|
||||
if ( getdvar( "bots_main" ) == "" )
|
||||
{
|
||||
|
||||
+72
-54
@@ -164,12 +164,14 @@ watchDisconnect()
|
||||
}
|
||||
}
|
||||
|
||||
if ( isdefined( self.menuversionhud ) )
|
||||
{
|
||||
self.menuversionhud destroyFixed();
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( isdefined( self.menuversionhud ) )
|
||||
{
|
||||
self.menuversionhud destroyFixed();
|
||||
}
|
||||
|
||||
self MenuHudClose();
|
||||
}
|
||||
}
|
||||
|
||||
doGreetings()
|
||||
{
|
||||
@@ -254,7 +256,7 @@ LeftMenu()
|
||||
self endon ( "disconnect" );
|
||||
self endon ( "bots_kill_menu" );
|
||||
|
||||
self notifyonplayercommand( "bots_left", "+moveleft" );
|
||||
self notifyonplayercommand( "bots_left", "+speed_throw" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
@@ -280,7 +282,7 @@ RightMenu()
|
||||
self endon ( "disconnect" );
|
||||
self endon ( "bots_kill_menu" );
|
||||
|
||||
self notifyonplayercommand( "bots_right", "+moveright" );
|
||||
self notifyonplayercommand( "bots_right", "+attack" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
@@ -306,7 +308,7 @@ UpMenu()
|
||||
self endon ( "disconnect" );
|
||||
self endon ( "bots_kill_menu" );
|
||||
|
||||
self notifyonplayercommand( "bots_up", "+forward" );
|
||||
self notifyonplayercommand( "bots_up", "+speed_throw" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
@@ -332,7 +334,7 @@ DownMenu()
|
||||
self endon ( "disconnect" );
|
||||
self endon ( "bots_kill_menu" );
|
||||
|
||||
self notifyonplayercommand( "bots_down", "+back" );
|
||||
self notifyonplayercommand( "bots_down", "+attack" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
@@ -395,23 +397,23 @@ OpenSub( menu, menu2 )
|
||||
self.menuversionhud destroyFixed();
|
||||
}
|
||||
|
||||
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
||||
{
|
||||
self.menutext[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.menutext[ i ] setpoint( "CENTER", "CENTER", -300 + ( i * 100 ), -226 );
|
||||
self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
|
||||
if ( logOldi )
|
||||
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
||||
{
|
||||
self.menutext[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.menutext[ i ] setpoint( "CENTER", "CENTER", -300 + ( i * 260 ), -226 );
|
||||
self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
|
||||
if ( logOldi )
|
||||
{
|
||||
self.oldi = i;
|
||||
}
|
||||
|
||||
if ( self.menutext[ i ].x > 300 )
|
||||
{
|
||||
logOldi = false;
|
||||
x = i - self.oldi;
|
||||
self.menutext[ i ] setpoint( "CENTER", "CENTER", ( ( ( -300 ) - ( i * 100 ) ) + ( i * 100 ) ) + ( x * 100 ), -196 );
|
||||
}
|
||||
if ( self.menutext[ i ].x > 300 )
|
||||
{
|
||||
logOldi = false;
|
||||
x = i - self.oldi;
|
||||
self.menutext[ i ] setpoint( "CENTER", "CENTER", -300 + ( x * 260 ), -196 );
|
||||
}
|
||||
|
||||
self.menutext[ i ].alpha = 1;
|
||||
self.menutext[ i ].sort = 999;
|
||||
@@ -430,15 +432,20 @@ OpenSub( menu, menu2 )
|
||||
|
||||
self CursMove( "X" );
|
||||
|
||||
self.menuversionhud = initHudElem( "Bot Warfare " + level.bw_version, 0, 0 );
|
||||
|
||||
self.menuopen = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isdefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0 ; i < self.menutexty.size ; i++ )
|
||||
controlstext = "[{+gostand}] select - [{+speed_throw}]/[{+attack}] move - [{+actionslot 2}] back";
|
||||
brandingtext = " Bot Warfare " + level.bw_version;
|
||||
self.menuversionhud = initHudElem( controlstext + "\n" + brandingtext, 0, 15 );
|
||||
|
||||
self.menuopen = true;
|
||||
self MenuHudOpen();
|
||||
}
|
||||
else
|
||||
{
|
||||
menuY = -160;
|
||||
|
||||
if ( isdefined( self.menutexty ) )
|
||||
{
|
||||
for ( i = 0 ; i < self.menutexty.size ; i++ )
|
||||
{
|
||||
if ( isdefined( self.menutexty[ i ] ) )
|
||||
{
|
||||
@@ -447,13 +454,13 @@ OpenSub( menu, menu2 )
|
||||
}
|
||||
}
|
||||
|
||||
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
||||
{
|
||||
self.menutexty[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.menutexty[ i ] setpoint( "CENTER", "CENTER", self.menutext[ self.curs[ "Main" ][ "X" ] ].x, -160 + ( i * 20 ) );
|
||||
self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
self.menutexty[ i ].alpha = 1;
|
||||
self.menutexty[ i ].sort = 999;
|
||||
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
||||
{
|
||||
self.menutexty[ i ] = self createfontstring( "default", 1.6 );
|
||||
self.menutexty[ i ] setpoint( "CENTER", "CENTER", self.menutext[ self.curs[ "Main" ][ "X" ] ].x, menuY + ( i * 20 ) );
|
||||
self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
||||
self.menutexty[ i ].alpha = 1;
|
||||
self.menutexty[ i ].sort = 999;
|
||||
}
|
||||
|
||||
self CursMove( "Y" );
|
||||
@@ -534,8 +541,8 @@ ShowOptionOn( variable )
|
||||
self freezecontrols( true );
|
||||
}
|
||||
|
||||
self setclientdvar( "r_blur", "5" );
|
||||
self setclientdvar( "sc_blur", "15" );
|
||||
self setclientdvar( "r_blur", "5" );
|
||||
self setclientdvar( "sc_blur", "4" );
|
||||
self addOptions();
|
||||
|
||||
if ( self.submenu == "Main" )
|
||||
@@ -668,24 +675,35 @@ ExitMenu()
|
||||
|
||||
self.menuopen = false;
|
||||
self notify( "exit" );
|
||||
|
||||
self setclientdvar( "r_blur", "0" );
|
||||
self setclientdvar( "sc_blur", "2" );
|
||||
}
|
||||
|
||||
initHudElem( txt, xl, yl )
|
||||
{
|
||||
hud = newclienthudelem( self );
|
||||
|
||||
self setclientdvar( "r_blur", "0" );
|
||||
self setclientdvar( "sc_blur", "2" );
|
||||
self MenuHudClose();
|
||||
}
|
||||
|
||||
MenuHudOpen()
|
||||
{
|
||||
self setclientdvar( "compassSize", "0.001" );
|
||||
}
|
||||
|
||||
MenuHudClose()
|
||||
{
|
||||
self setclientdvar( "compassSize", "1" );
|
||||
}
|
||||
|
||||
initHudElem( txt, xl, yl )
|
||||
{
|
||||
hud = newclienthudelem( self );
|
||||
hud settext( txt );
|
||||
hud.alignx = "center";
|
||||
hud.aligny = "bottom";
|
||||
hud.horzalign = "center";
|
||||
hud.vertalign = "bottom";
|
||||
hud.x = xl;
|
||||
hud.y = yl;
|
||||
hud.foreground = true;
|
||||
hud.fontscale = 1;
|
||||
hud.font = "objective";
|
||||
hud.x = xl;
|
||||
hud.y = yl;
|
||||
hud.foreground = true;
|
||||
hud.fontscale = 1.4;
|
||||
hud.font = "objective";
|
||||
hud.alpha = 1;
|
||||
hud.glow = 0;
|
||||
hud.glowcolor = ( 0, 0, 0 );
|
||||
|
||||
Reference in New Issue
Block a user