DEADSOFTWARE

Game: Use proper syntax of sets for game options instead of raw bitwise operations
[d2df-sdl.git] / src / game / g_console.pas
index aece4fe94369c7fea6d9b3446fad4938e81a534d..f7998c78544fed57150e8bebd5d64513c5900d32 100644 (file)
@@ -1064,10 +1064,10 @@ begin
   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_skip_ironfist', PlayerSettingsCVars);
+  AddCommand('p2_skip_ironfist', PlayerSettingsCVars);
+  AddCommand('p1_priority_ironfist', PlayerSettingsCVars);
+  AddCommand('p2_priority_ironfist', PlayerSettingsCVars);
   AddCommand('p1_priority_saw', PlayerSettingsCVars);
   AddCommand('p2_priority_saw', PlayerSettingsCVars);
   AddCommand('p1_priority_pistol', PlayerSettingsCVars);
@@ -1084,8 +1084,8 @@ begin
   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_superchaingun', PlayerSettingsCVars);
+  AddCommand('p2_priority_superchaingun', PlayerSettingsCVars);
   AddCommand('p1_priority_flamethrower', PlayerSettingsCVars);
   AddCommand('p2_priority_flamethrower', PlayerSettingsCVars);
   AddCommand('p1_priority_berserk', PlayerSettingsCVars);
@@ -1118,6 +1118,10 @@ begin
   AddCommand('g_spawn_invul', GameCVars);
   AddCommand('g_item_respawn_time', GameCVars);
   AddCommand('g_item_time_random', GameCVars);
+  AddCommand('g_items_all_respawn_random', GameCVars);
+  AddCommand('g_items_help_respawn_random', GameCVars);
+  AddCommand('g_items_ammo_respawn_random', GameCVars);
+  AddCommand('g_items_weapon_respawn_random', GameCVars);
   AddCommand('g_powerup_randomize_respawn', GameCVars);
   AddCommand('g_powerup_respawn_time', GameCVars);
   AddCommand('g_powerup_time_random', GameCVars);
@@ -1251,6 +1255,10 @@ begin
   WhitelistCommand('g_spawn_invul');
   WhitelistCommand('g_item_respawn_time');
   WhitelistCommand('g_item_time_random');
+  WhitelistCommand('g_items_all_respawn_random');
+  WhitelistCommand('g_items_help_respawn_random');
+  WhitelistCommand('g_items_ammo_respawn_random');
+  WhitelistCommand('g_items_weapon_respawn_random');
   WhitelistCommand('g_powerup_randomize_respawn');
   WhitelistCommand('g_powerup_respawn_time');
   WhitelistCommand('g_powerup_time_random');
@@ -2181,9 +2189,9 @@ end;
 procedure g_Console_WriteConfig (filename: String);
   var f: TextFile; i, j: Integer;
 
-  procedure WriteFlag(name: string; flag: LongWord);
+  procedure WriteFlag(name: string; flag: TGameOption);
   begin
-    WriteLn(f, name, IfThen(LongBool(gsGameFlags and flag), 1, 0));
+    WriteLn(f, name, Ord(flag in gsGameFlags));
   end;
 
   function FormatTeam(team: Byte): string;
@@ -2243,23 +2251,27 @@ begin
   WriteLn(f, 'g_maxlives ', gsMaxLives);
   WriteLn(f, 'g_item_respawn_time ', gsItemRespawnTime);
   WriteLn(f, 'g_item_time_random ', gsItemRespawnRandom);
-  WriteLn(f, 'g_powerup_respawn_time ', gsRulezRespawnTime);
-  WriteLn(f, 'g_powerup_time_random ', gsRulezRespawnRandom);
+  WriteLn(f, 'g_powerup_respawn_time ', gsPowerupRespawnTime);
+  WriteLn(f, 'g_powerup_time_random ', gsPowerupRespawnRandom);
   WriteLn(f, 'g_spawn_invul ', gsSpawnInvul);
   WriteLn(f, 'g_warmup_time ', gsWarmupTime);
 
-  WriteFlag('g_friendlyfire ', GAME_OPTION_TEAMDAMAGE);
-  WriteFlag('g_friendly_hit_trace ', GAME_OPTION_TEAMHITTRACE);
-  WriteFlag('g_friendly_hit_projectile ', GAME_OPTION_TEAMHITPROJECTILE);
-  WriteFlag('g_powerup_randomize_respawn ', GAME_OPTION_RULEZRANDOM);
-  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);
-  WriteFlag('g_bot_vsplayers ', GAME_OPTION_BOTVSPLAYER);
+  WriteFlag('g_friendlyfire ', TGameOption.TEAM_DAMAGE);
+  WriteFlag('g_friendly_hit_trace ', TGameOption.TEAM_HIT_TRACE);
+  WriteFlag('g_friendly_hit_projectile ', TGameOption.TEAM_HIT_PROJECTILE);
+  WriteFlag('g_powerup_randomize_respawn ', TGameOption.POWERUP_RANDOM);
+  WriteFlag('g_items_all_respawn_random ', TGameOption.ITEM_ALL_RANDOM);
+  WriteFlag('g_items_help_respawn_random ', TGameOption.ITEM_LIFE_RANDOM);
+  WriteFlag('g_items_ammo_respawn_random ', TGameOption.ITEM_AMMO_RANDOM);
+  WriteFlag('g_items_weapon_respawn_random ', TGameOption.ITEM_WEAPON_RANDOM);
+  WriteFlag('g_allow_exit ', TGameOption.ALLOW_EXIT);
+  WriteFlag('g_allow_monsters ', TGameOption.MONSTERS);
+  WriteFlag('g_allow_dropflag ', TGameOption.ALLOW_DROP_FLAG);
+  WriteFlag('g_throw_flag ', TGameOption.THROW_FLAG);
+  WriteFlag('g_dm_keys ', TGameOption.DM_KEYS);
+  WriteFlag('g_weaponstay ', TGameOption.WEAPONS_STAY);
+  WriteFlag('g_bot_vsmonsters ', TGameOption.BOTS_VS_MONSTERS);
+  WriteFlag('g_bot_vsplayers ', TGameOption.BOTS_VS_PLAYERS);
 
   // players
   with gPlayer1Settings do
@@ -2270,19 +2282,18 @@ begin
     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_ironfist ', Max(0, WeaponPreferences[WEAPON_IRONFIST]));
     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_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_superchaingun ', Max(0, WeaponPreferences[WEAPON_SUPERCHAINGUN]));                         
     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
@@ -2292,16 +2303,16 @@ begin
     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_ironfist ', Max(0, WeaponPreferences[WEAPON_IRONFIST]));
     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_shotgun2 ', Max(0, WeaponPreferences[WEAPON_SHOTGUN2]));
     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_superchaingun ', Max(0, WeaponPreferences[WEAPON_SUPERCHAINGUN]));
     WriteLn(f, 'p2_priority_flamethrower ', Max(0, WeaponPreferences[WEAPON_FLAMETHROWER]));
     WriteLn(f, 'p2_priority_berserk ', Max(0, WeaponPreferences[WP_LAST+1]));       
   end;