DEADSOFTWARE

map ray tracer now using grid instead of tree
[d2df-sdl.git] / src / game / g_options.pas
index 5caaf40f9520fe1659381f53515e480b10f11934..e4dd8875eadb7b4bc62597bf1b4690f950978a10 100644 (file)
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *)
-{$MODE DELPHI}
+{$INCLUDE ../shared/a_modes.inc}
 unit g_options;
 
 interface
 
 uses
-  g_language;
+  g_language, g_weapons;
 
 type
   TPlayerControl = record
@@ -33,7 +33,7 @@ type
     KeyPrevWeapon: Word;
     KeyOpen:       Word;
     KeyStrafe:     Word;
-    KeyWeapon:     array [0..9] of Word;
+    KeyWeapon:     array [WP_FIRST..WP_LAST] of Word;
 
     KeyRight2:      Word;
     KeyLeft2:       Word;
@@ -45,7 +45,7 @@ type
     KeyPrevWeapon2: Word;
     KeyOpen2:       Word;
     KeyStrafe2:     Word;
-    KeyWeapon2:     array [0..9] of Word;
+    KeyWeapon2:     array [WP_FIRST..WP_LAST] of Word;
   end;
 
   TGameControls = record
@@ -71,6 +71,8 @@ procedure g_Options_Write_Gameplay_Net(FileName: String);
 procedure g_Options_Write_Net_Server(FileName: String);
 procedure g_Options_Write_Net_Client(FileName: String);
 
+const DF_Default_Megawad_Start = 'megawads/DOOM2D.WAD:\MAP01';
+
 var
   gGameControls: TControls;
   gScreenWidth: Word          = 800;
@@ -126,12 +128,13 @@ var
   gsSDLBufferSize: Integer    = 2048;
   gSFSDebug: Boolean          = False;
   gSFSFastMode: Boolean       = False;
+  gDefaultMegawadStart: AnsiString = DF_Default_Megawad_Start;
 
 implementation
 
 uses
   e_log, e_input, g_window, g_sound, g_gfx, g_player, Math,
-  g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, g_main, e_textures,
+  g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, g_main, e_texture,
   g_items, GL, GLExt, wadreader, e_graphics;
 
 procedure g_Options_SetDefault();
@@ -432,6 +435,7 @@ begin
   gSFSFastMode := config.ReadBool('Game', 'SFSFastMode', False);
   wadoptFast := gSFSFastMode;
   e_FastScreenshots := config.ReadBool('Game', 'FastScreenshots', True);
+  gDefaultMegawadStart := config.ReadStr('Game', 'DefaultMegawadStart', 'megawads/DOOM2D.WAD:\MAP01');
 
 // Ãåéìïëåé â ñâîåé èãðå
   gcMap := config.ReadStr('GameplayCustom', 'Map', '');
@@ -668,6 +672,7 @@ begin
   config.WriteBool('Game', 'SFSDebug', gSFSDebug);
   config.WriteBool('Game', 'SFSFastMode', gSFSFastMode);
   config.WriteBool('Game', 'FastScreenshots', e_FastScreenshots);
+  config.WriteStr('Game', 'DefaultMegawadStart', gDefaultMegawadStart);
 
   config.WriteStr ('GameplayCustom', 'Map', gcMap);
   config.WriteStr ('GameplayCustom', 'GameMode', gcGameMode);