X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fg_console.pas;h=64b08642029b320c93a0377ae8a56526b94eb821;hp=3dd754c56b0e24a2860d1bc4ecb3d494eb904b27;hb=51998d817120cd3833df7bae3d355642fd4abde5;hpb=847038a14751d192fcc4af172d7a963e28144c72 diff --git a/src/game/g_console.pas b/src/game/g_console.pas index 3dd754c..64b0864 100644 --- a/src/game/g_console.pas +++ b/src/game/g_console.pas @@ -74,7 +74,11 @@ function conGetBoolArg (p: SSArray; idx: Integer): Integer; function conParseFloat (var res: Single; const s: AnsiString): Boolean; const - defaultConfigScript = 'dfconfig.cfg'; + {$IFDEF HEADLESS} + defaultConfigScript = 'dfserver.cfg'; + {$ELSE} + defaultConfigScript = 'dfconfig.cfg'; + {$ENDIF} var gConsoleShow: Boolean = false; // True - êîíñîëü îòêðûòà èëè îòêðûâàåòñÿ @@ -91,7 +95,7 @@ implementation uses g_textures, g_main, e_graphics, e_input, g_game, g_gfx, g_player, g_items, SysUtils, g_basic, g_options, Math, g_touch, e_res, - g_menu, g_gui, g_language, g_net, g_netmsg, e_log, conbuf; + g_menu, g_gui, g_language, g_net, g_netmsg, e_log, conbuf, g_weapons; const autoexecScript = 'autoexec.cfg'; @@ -1032,6 +1036,36 @@ begin AddCommand('p2_model', PlayerSettingsCVars); AddCommand('p1_team', PlayerSettingsCVars); AddCommand('p2_team', PlayerSettingsCVars); + AddCommand('p1_autoswitch', PlayerSettingsCVars); + AddCommand('p2_autoswitch', PlayerSettingsCVars); + AddCommand('p1_switch_empty', PlayerSettingsCVars); + AddCommand('p2_switch_empty', PlayerSettingsCVars); + AddCommand('p1_skip_fist', PlayerSettingsCVars); + AddCommand('p2_skip_fist', PlayerSettingsCVars); + AddCommand('p1_priority_kastet', PlayerSettingsCVars); + AddCommand('p2_priority_kastet', PlayerSettingsCVars); + AddCommand('p1_priority_saw', PlayerSettingsCVars); + AddCommand('p2_priority_saw', PlayerSettingsCVars); + AddCommand('p1_priority_pistol', PlayerSettingsCVars); + AddCommand('p2_priority_pistol', PlayerSettingsCVars); + AddCommand('p1_priority_shotgun1', PlayerSettingsCVars); + AddCommand('p2_priority_shotgun1', PlayerSettingsCVars); + AddCommand('p1_priority_shotgun2', PlayerSettingsCVars); + AddCommand('p2_priority_shotgun2', PlayerSettingsCVars); + AddCommand('p1_priority_chaingun', PlayerSettingsCVars); + AddCommand('p2_priority_chaingun', PlayerSettingsCVars); + AddCommand('p1_priority_rocketlauncher', PlayerSettingsCVars); + AddCommand('p2_priority_rocketlauncher', PlayerSettingsCVars); + AddCommand('p1_priority_plasma', PlayerSettingsCVars); + AddCommand('p2_priority_plasma', PlayerSettingsCVars); + AddCommand('p1_priority_bfg', PlayerSettingsCVars); + AddCommand('p2_priority_bfg', PlayerSettingsCVars); + AddCommand('p1_priority_super', PlayerSettingsCVars); + AddCommand('p2_priority_super', PlayerSettingsCVars); + AddCommand('p1_priority_flamethrower', PlayerSettingsCVars); + AddCommand('p2_priority_flamethrower', PlayerSettingsCVars); + AddCommand('p1_priority_berserk', PlayerSettingsCVars); + AddCommand('p2_priority_berserk', PlayerSettingsCVars); AddCommand('g_max_particles', GameCVars); AddCommand('g_max_shells', GameCVars); @@ -1046,8 +1080,11 @@ begin AddCommand('g_allow_exit', GameCVars); AddCommand('g_dm_keys', GameCVars); AddCommand('g_allow_monsters', GameCVars); + AddCommand('g_allow_dropflag', GameCVars); + AddCommand('g_throw_flag', GameCVars); AddCommand('g_bot_vsmonsters', GameCVars); AddCommand('g_bot_vsplayers', GameCVars); + AddCommand('g_max_bots', GameCVars); // intentionally not whitelisted AddCommand('g_scorelimit', GameCVars); AddCommand('g_timelimit', GameCVars); AddCommand('g_maxlives', GameCVars); @@ -1073,6 +1110,8 @@ begin AddCommand('bot_removeall', GameCommands); AddCommand('chat', GameCommands); AddCommand('teamchat', GameCommands); + AddCommand('announce', GameCommands); + AddCommand('an', GameCommands); AddCommand('game', GameCommands); AddCommand('host', GameCommands); AddCommand('map', GameCommands); @@ -1110,12 +1149,17 @@ begin AddCommand('weapnext', GameCommands); AddCommand('weapprev', GameCommands); AddCommand('weapon', GameCommands); + AddCommand('dropflag', GameCommands); AddCommand('p1_weapnext', GameCommands); AddCommand('p1_weapprev', GameCommands); AddCommand('p1_weapon', GameCommands); + AddCommand('p1_weapbest', GameCommands); + AddCommand('p1_dropflag', GameCommands); AddCommand('p2_weapnext', GameCommands); AddCommand('p2_weapprev', GameCommands); AddCommand('p2_weapon', GameCommands); + AddCommand('p2_weapbest', GameCommands); + AddCommand('p2_dropflag', GameCommands); AddCommand('god', GameCheats); AddCommand('notarget', GameCheats); @@ -1990,6 +2034,7 @@ begin g_Console_BindKey(IK_ALT, '+p1_strafe', '-p1_strafe'); g_Console_BindKey(IK_E, 'p1_weapnext', '', True); g_Console_BindKey(IK_Q, 'p1_weapprev', '', True); + g_Console_BindKey(IK_R, 'p1_dropflag', ''); g_Console_BindKey(IK_1, 'p1_weapon 1'); g_Console_BindKey(IK_2, 'p1_weapon 2'); g_Console_BindKey(IK_3, 'p1_weapon 3'); @@ -2154,6 +2199,8 @@ begin WriteFlag('g_friendly_hit_projectile ', GAME_OPTION_TEAMHITPROJECTILE); WriteFlag('g_allow_exit ', GAME_OPTION_ALLOWEXIT); WriteFlag('g_allow_monsters ', GAME_OPTION_MONSTERS); + WriteFlag('g_allow_dropflag ', GAME_OPTION_ALLOWDROPFLAG); + WriteFlag('g_throw_flag ', GAME_OPTION_THROWFLAG); WriteFlag('g_dm_keys ', GAME_OPTION_DMKEYS); WriteFlag('g_weaponstay ', GAME_OPTION_WEAPONSTAY); WriteFlag('g_bot_vsmonsters ', GAME_OPTION_BOTVSMONSTER); @@ -2166,6 +2213,21 @@ begin WriteLn(f, 'p1_color ', Color.R, ' ', Color.G, ' ', Color.B); WriteLn(f, 'p1_model ', QuoteStr(Model)); WriteLn(f, 'p1_team ', FormatTeam(Team)); + WriteLn(f, 'p1_autoswitch ', WeaponSwitch); + WriteLn(f, 'p1_switch_empty ', SwitchToEmpty); + WriteLn(f, 'p1_priority_kastet ', Max(0, WeaponPreferences[WEAPON_KASTET])); + WriteLn(f, 'p1_priority_saw ', Max(0, WeaponPreferences[WEAPON_SAW])); + WriteLn(f, 'p1_priority_pistol ', Max(0, WeaponPreferences[WEAPON_PISTOL])); + WriteLn(f, 'p1_priority_shotgun1 ', Max(0, WeaponPreferences[WEAPON_SHOTGUN1])); + WriteLn(f, 'p1_priority_shotgun2 ', Max(0, WeaponPreferences[WEAPON_SHOTGUN2] )); + WriteLn(f, 'p1_priority_chaingun ', Max(0, WeaponPreferences[WEAPON_CHAINGUN])); + WriteLn(f, 'p1_priority_rocketlauncher ', Max(0, WeaponPreferences[WEAPON_ROCKETLAUNCHER])); + WriteLn(f, 'p1_priority_plasma ', Max(0, WeaponPreferences[WEAPON_PLASMA])); + WriteLn(f, 'p1_priority_bfg ', Max(0, WeaponPreferences[WEAPON_BFG])); + WriteLn(f, 'p1_priority_super ', Max(0, WeaponPreferences[WEAPON_SUPERPULEMET])); + WriteLn(f, 'p1_priority_flamethrower ', Max(0, WeaponPreferences[WEAPON_FLAMETHROWER])); + WriteLn(f, 'p1_priority_berserk ', Max(0, WeaponPreferences[WP_LAST+1])); + // end; with gPlayer2Settings do begin @@ -2173,6 +2235,20 @@ begin WriteLn(f, 'p2_color ', Color.R, ' ', Color.G, ' ', Color.B); WriteLn(f, 'p2_model ', QuoteStr(Model)); WriteLn(f, 'p2_team ', FormatTeam(Team)); + WriteLn(f, 'p2_autoswitch ', WeaponSwitch); + WriteLn(f, 'p2_switch_empty ', SwitchToEmpty); + WriteLn(f, 'p2_priority_kastet ', Max(0, WeaponPreferences[WEAPON_KASTET])); + WriteLn(f, 'p2_priority_saw ', Max(0, WeaponPreferences[WEAPON_SAW])); + WriteLn(f, 'p2_priority_pistol ', Max(0, WeaponPreferences[WEAPON_PISTOL])); + WriteLn(f, 'p2_priority_shotgun1 ', Max(0, WeaponPreferences[WEAPON_SHOTGUN1])); + WriteLn(f, 'p2_priority_shotgun2 ', Max(0, WeaponPreferences[WEAPON_SHOTGUN1])); + WriteLn(f, 'p2_priority_chaingun ', Max(0, WeaponPreferences[WEAPON_CHAINGUN])); + WriteLn(f, 'p2_priority_rocketlauncher ', Max(0, WeaponPreferences[WEAPON_ROCKETLAUNCHER])); + WriteLn(f, 'p2_priority_plasma ', Max(0, WeaponPreferences[WEAPON_PLASMA])); + WriteLn(f, 'p2_priority_bfg ', Max(0, WeaponPreferences[WEAPON_BFG])); + WriteLn(f, 'p2_priority_super ', Max(0, WeaponPreferences[WEAPON_SUPERPULEMET])); + WriteLn(f, 'p2_priority_flamethrower ', Max(0, WeaponPreferences[WEAPON_FLAMETHROWER])); + WriteLn(f, 'p2_priority_berserk ', Max(0, WeaponPreferences[WP_LAST+1])); end; // all cvars