2006-03-20 17:12:09 +00:00
/*
2014-06-01 17:55:23 +00:00
* Portions of this file are copyright Rebirth contributors and licensed as
* described in COPYING . txt .
* Portions of this file are copyright Parallax Software and licensed
* according to the Parallax license below .
* See COPYING . txt for license details .
2006-03-20 17:12:09 +00:00
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
SOFTWARE CORPORATION ( " PARALLAX " ) . PARALLAX , IN DISTRIBUTING THE CODE TO
END - USERS , AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN , GRANTS A
ROYALTY - FREE , PERPETUAL LICENSE TO SUCH END - USERS FOR USE BY SUCH END - USERS
IN USING , DISPLAYING , AND CREATING DERIVATIVE WORKS THEREOF , SO LONG AS
SUCH USE , DISPLAY OR CREATION IS FOR NON - COMMERCIAL , ROYALTY OR REVENUE
FREE PURPOSES . IN NO EVENT SHALL THE END - USER USE THE COMPUTER CODE
CONTAINED HEREIN FOR REVENUE - BEARING PURPOSES . THE END - USER UNDERSTANDS
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE .
COPYRIGHT 1993 - 1999 PARALLAX SOFTWARE CORPORATION . ALL RIGHTS RESERVED .
*/
/*
*
* contains routine ( s ) to read in the configuration file which contains
* game configuration stuff like detail level , sound card , etc
*
*/
2014-07-05 16:58:47 +00:00
# include <memory>
2006-03-20 17:12:09 +00:00
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <ctype.h>
2010-09-17 10:44:21 +00:00
2008-04-06 20:23:28 +00:00
# include "config.h"
2006-03-20 17:12:09 +00:00
# include "pstypes.h"
# include "game.h"
2010-06-14 08:13:16 +00:00
# include "songs.h"
2006-03-20 17:12:09 +00:00
# include "kconfig.h"
# include "palette.h"
# include "args.h"
# include "player.h"
2015-07-25 23:10:45 +00:00
# include "digi.h"
2006-03-20 17:12:09 +00:00
# include "mission.h"
2013-12-26 04:18:28 +00:00
# include "u_mem.h"
2006-03-20 17:12:09 +00:00
# include "physfsx.h"
2014-12-22 04:35:47 +00:00
# include "nvparse.h"
2020-05-02 21:18:43 +00:00
# include <memory>
2014-08-16 04:15:16 +00:00
2016-01-29 04:05:47 +00:00
namespace dcx {
CCfg CGameCfg ;
}
2015-12-13 18:00:48 +00:00
2015-12-13 18:00:49 +00:00
namespace dsx {
2015-12-13 18:00:48 +00:00
Cfg GameCfg ;
2006-03-20 17:12:09 +00:00
2014-12-20 04:36:11 +00:00
# define DigiVolumeStr "DigiVolume"
# define MusicVolumeStr "MusicVolume"
# define ReverseStereoStr "ReverseStereo"
# define OrigTrackOrderStr "OrigTrackOrder"
# define MusicTypeStr "MusicType"
# define CMLevelMusicPlayOrderStr "CMLevelMusicPlayOrder"
# define CMLevelMusicTrack0Str "CMLevelMusicTrack0"
# define CMLevelMusicTrack1Str "CMLevelMusicTrack1"
# define CMLevelMusicPathStr "CMLevelMusicPath"
# define CMMiscMusic0Str "CMMiscMusic0"
# define CMMiscMusic1Str "CMMiscMusic1"
# define CMMiscMusic2Str "CMMiscMusic2"
# define CMMiscMusic3Str "CMMiscMusic3"
# define CMMiscMusic4Str "CMMiscMusic4"
# define GammaLevelStr "GammaLevel"
# define LastPlayerStr "LastPlayer"
# define LastMissionStr "LastMission"
# define ResolutionXStr "ResolutionX"
# define ResolutionYStr "ResolutionY"
# define AspectXStr "AspectX"
# define AspectYStr "AspectY"
# define WindowModeStr "WindowMode"
# define TexFiltStr "TexFilt"
2016-08-29 18:53:10 +00:00
# define TexAnisStr "TexAnisotropy"
2013-03-03 01:03:33 +00:00
# if defined(DXX_BUILD_DESCENT_II)
2014-12-20 04:36:11 +00:00
# define MovieTexFiltStr "MovieTexFilt"
# define MovieSubtitlesStr "MovieSubtitles"
2013-03-03 01:03:33 +00:00
# endif
2018-10-18 02:18:56 +00:00
# if DXX_USE_ADLMIDI
# define ADLMIDINumChipsStr "ADLMIDI_NumberOfChips"
# define ADLMIDIBankStr "ADLMIDI_Bank"
# define ADLMIDIEnabledStr "ADLMIDI_Enabled"
# endif
2014-12-20 04:36:11 +00:00
# define VSyncStr "VSync"
# define MultisampleStr "Multisample"
# define FPSIndicatorStr "FPSIndicator"
# define GrabinputStr "GrabInput"
2006-03-20 17:12:09 +00:00
int ReadConfigFile ( )
{
2008-04-06 20:23:28 +00:00
// set defaults
GameCfg . DigiVolume = 8 ;
2008-05-24 08:59:35 +00:00
GameCfg . MusicVolume = 8 ;
2008-04-06 20:23:28 +00:00
GameCfg . ReverseStereo = 0 ;
2010-06-14 08:13:16 +00:00
GameCfg . OrigTrackOrder = 0 ;
2019-10-24 17:39:08 +00:00
# if DXX_USE_SDL_REDBOOK_AUDIO && defined(__APPLE__) && defined(__MACH__)
2010-11-21 12:02:58 +00:00
GameCfg . MusicType = MUSIC_TYPE_REDBOOK ;
# else
GameCfg . MusicType = MUSIC_TYPE_BUILTIN ;
# endif
2020-05-31 23:04:25 +00:00
CGameCfg . CMLevelMusicPlayOrder = LevelMusicPlayOrder : : Continuous ;
2016-08-06 19:55:25 +00:00
CGameCfg . CMLevelMusicTrack [ 0 ] = - 1 ;
CGameCfg . CMLevelMusicTrack [ 1 ] = - 1 ;
2016-08-06 19:55:25 +00:00
CGameCfg . CMLevelMusicPath = { } ;
2016-08-06 19:55:25 +00:00
CGameCfg . CMMiscMusic = { } ;
2010-09-17 10:14:37 +00:00
# if defined(__APPLE__) && defined(__MACH__)
2016-08-06 19:55:25 +00:00
const auto userdir = PHYSFS_getUserDir ( ) ;
2010-09-17 10:14:37 +00:00
GameCfg . OrigTrackOrder = 1 ;
2013-03-03 01:03:33 +00:00
# if defined(DXX_BUILD_DESCENT_I)
2020-05-31 23:04:25 +00:00
CGameCfg . CMLevelMusicPlayOrder = LevelMusicPlayOrder : : Level ;
2016-08-06 19:55:25 +00:00
CGameCfg . CMLevelMusicPath = " descent.m3u " ;
2016-08-06 19:55:25 +00:00
snprintf ( CGameCfg . CMMiscMusic [ SONG_TITLE ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_TITLE ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Insanity/Descent/02 Primitive Rage.mp3 " ) ;
snprintf ( CGameCfg . CMMiscMusic [ SONG_CREDITS ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_CREDITS ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Insanity/Descent/05 The Darkness Of Space.mp3 " ) ;
2013-03-03 01:03:33 +00:00
# elif defined(DXX_BUILD_DESCENT_II)
2016-08-06 19:55:25 +00:00
CGameCfg . CMLevelMusicPath = " descent2.m3u " ;
2016-08-06 19:55:25 +00:00
snprintf ( CGameCfg . CMMiscMusic [ SONG_TITLE ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_TITLE ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Redbook Soundtrack/Descent II, Macintosh CD-ROM/02 Title.mp3 " ) ;
snprintf ( CGameCfg . CMMiscMusic [ SONG_CREDITS ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_CREDITS ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Redbook Soundtrack/Descent II, Macintosh CD-ROM/03 Crawl.mp3 " ) ;
2013-03-03 01:03:33 +00:00
# endif
2016-08-06 19:55:25 +00:00
snprintf ( CGameCfg . CMMiscMusic [ SONG_BRIEFING ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_BRIEFING ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Insanity/Descent/03 Outerlimits.mp3 " ) ;
snprintf ( CGameCfg . CMMiscMusic [ SONG_ENDLEVEL ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_ENDLEVEL ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Insanity/Descent/04 Close Call.mp3 " ) ;
snprintf ( CGameCfg . CMMiscMusic [ SONG_ENDGAME ] . data ( ) , CGameCfg . CMMiscMusic [ SONG_ENDGAME ] . size ( ) , " %s%s " , userdir , " Music/iTunes/iTunes Music/Insanity/Descent/14 Insanity.mp3 " ) ;
2010-09-17 10:14:37 +00:00
# endif
2008-04-06 20:23:28 +00:00
GameCfg . GammaLevel = 0 ;
2015-09-29 02:41:22 +00:00
GameCfg . LastPlayer = { } ;
2016-08-06 19:55:25 +00:00
CGameCfg . LastMission = " " ;
2008-04-06 20:23:28 +00:00
GameCfg . ResolutionX = 640 ;
GameCfg . ResolutionY = 480 ;
GameCfg . AspectX = 3 ;
GameCfg . AspectY = 4 ;
2015-12-18 04:08:23 +00:00
CGameCfg . WindowMode = false ;
2015-12-18 04:08:23 +00:00
CGameCfg . TexFilt = 0 ;
2016-08-29 18:53:10 +00:00
CGameCfg . TexAnisotropy = 0 ;
2013-03-03 01:03:33 +00:00
# if defined(DXX_BUILD_DESCENT_II)
2010-09-02 13:55:28 +00:00
GameCfg . MovieTexFilt = 0 ;
GameCfg . MovieSubtitles = 0 ;
2013-03-03 01:03:33 +00:00
# endif
2015-07-18 03:49:47 +00:00
CGameCfg . VSync = false ;
2016-10-02 19:35:33 +00:00
CGameCfg . Multisample = 0 ;
2016-10-02 19:35:33 +00:00
CGameCfg . FPSIndicator = 0 ;
2015-07-18 21:01:56 +00:00
CGameCfg . Grabinput = true ;
2010-06-14 08:13:16 +00:00
2006-03-20 17:12:09 +00:00
2015-01-17 18:31:42 +00:00
auto infile = PHYSFSX_openReadBuffered ( " descent.cfg " ) ;
2015-01-17 18:31:42 +00:00
if ( ! infile )
{
2006-03-20 17:12:09 +00:00
return 1 ;
}
2007-07-26 23:57:29 +00:00
2014-09-07 19:48:10 +00:00
// to be fully safe, assume the whole cfg consists of one big line
2015-10-09 02:46:11 +00:00
for ( PHYSFSX_gets_line_t < 0 > line ( PHYSFS_fileLength ( infile ) + 1 ) ; const char * const eol = PHYSFSX_fgets ( line , infile ) ; )
2006-03-20 17:12:09 +00:00
{
2014-12-22 04:35:47 +00:00
const auto lb = line . begin ( ) ;
if ( eol = = line . end ( ) )
continue ;
auto eq = std : : find ( lb , eol , ' = ' ) ;
if ( eq = = eol )
continue ;
auto value = std : : next ( eq ) ;
if ( cmp ( lb , eq , DigiVolumeStr ) )
convert_integer ( GameCfg . DigiVolume , value ) ;
else if ( cmp ( lb , eq , MusicVolumeStr ) )
convert_integer ( GameCfg . MusicVolume , value ) ;
else if ( cmp ( lb , eq , ReverseStereoStr ) )
convert_integer ( GameCfg . ReverseStereo , value ) ;
else if ( cmp ( lb , eq , OrigTrackOrderStr ) )
convert_integer ( GameCfg . OrigTrackOrder , value ) ;
else if ( cmp ( lb , eq , MusicTypeStr ) )
convert_integer ( GameCfg . MusicType , value ) ;
else if ( cmp ( lb , eq , CMLevelMusicPlayOrderStr ) )
2020-05-31 23:04:25 +00:00
{
unsigned CMLevelMusicPlayOrder ;
if ( convert_integer ( CMLevelMusicPlayOrder , value ) & & CMLevelMusicPlayOrder < = static_cast < unsigned > ( LevelMusicPlayOrder : : Random ) )
CGameCfg . CMLevelMusicPlayOrder = static_cast < LevelMusicPlayOrder > ( CMLevelMusicPlayOrder ) ;
}
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMLevelMusicTrack0Str ) )
2016-08-06 19:55:25 +00:00
convert_integer ( CGameCfg . CMLevelMusicTrack [ 0 ] , value ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMLevelMusicTrack1Str ) )
2016-08-06 19:55:25 +00:00
convert_integer ( CGameCfg . CMLevelMusicTrack [ 1 ] , value ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMLevelMusicPathStr ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . CMLevelMusicPath , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMMiscMusic0Str ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . CMMiscMusic [ SONG_TITLE ] , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMMiscMusic1Str ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . CMMiscMusic [ SONG_BRIEFING ] , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMMiscMusic2Str ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . CMMiscMusic [ SONG_ENDLEVEL ] , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMMiscMusic3Str ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . CMMiscMusic [ SONG_ENDGAME ] , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , CMMiscMusic4Str ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . CMMiscMusic [ SONG_CREDITS ] , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , GammaLevelStr ) )
{
convert_integer ( GameCfg . GammaLevel , value ) ;
gr_palette_set_gamma ( GameCfg . GammaLevel ) ;
}
else if ( cmp ( lb , eq , LastPlayerStr ) )
GameCfg . LastPlayer . copy_lower ( value , std : : distance ( value , eol ) ) ;
else if ( cmp ( lb , eq , LastMissionStr ) )
2016-08-06 19:55:25 +00:00
convert_string ( CGameCfg . LastMission , value , eol ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , ResolutionXStr ) )
convert_integer ( GameCfg . ResolutionX , value ) ;
else if ( cmp ( lb , eq , ResolutionYStr ) )
convert_integer ( GameCfg . ResolutionY , value ) ;
else if ( cmp ( lb , eq , AspectXStr ) )
convert_integer ( GameCfg . AspectX , value ) ;
else if ( cmp ( lb , eq , AspectYStr ) )
convert_integer ( GameCfg . AspectY , value ) ;
else if ( cmp ( lb , eq , WindowModeStr ) )
2015-12-18 04:08:23 +00:00
convert_integer ( CGameCfg . WindowMode , value ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , TexFiltStr ) )
2015-12-18 04:08:23 +00:00
convert_integer ( CGameCfg . TexFilt , value ) ;
2016-08-29 18:53:10 +00:00
else if ( cmp ( lb , eq , TexAnisStr ) )
convert_integer ( CGameCfg . TexAnisotropy , value ) ;
2013-03-03 01:03:33 +00:00
# if defined(DXX_BUILD_DESCENT_II)
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , MovieTexFiltStr ) )
convert_integer ( GameCfg . MovieTexFilt , value ) ;
else if ( cmp ( lb , eq , MovieSubtitlesStr ) )
convert_integer ( GameCfg . MovieSubtitles , value ) ;
2018-10-18 02:18:56 +00:00
# endif
# if DXX_USE_ADLMIDI
else if ( cmp ( lb , eq , ADLMIDINumChipsStr ) )
convert_integer ( CGameCfg . ADLMIDI_num_chips , value ) ;
else if ( cmp ( lb , eq , ADLMIDIBankStr ) )
convert_integer ( CGameCfg . ADLMIDI_bank , value ) ;
else if ( cmp ( lb , eq , ADLMIDIEnabledStr ) )
convert_integer ( CGameCfg . ADLMIDI_enabled , value ) ;
2013-03-03 01:03:33 +00:00
# endif
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , VSyncStr ) )
2015-07-18 03:49:47 +00:00
convert_integer ( CGameCfg . VSync , value ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , MultisampleStr ) )
2016-10-02 19:35:33 +00:00
convert_integer ( CGameCfg . Multisample , value ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , FPSIndicatorStr ) )
2016-10-02 19:35:33 +00:00
convert_integer ( CGameCfg . FPSIndicator , value ) ;
2014-12-22 04:35:47 +00:00
else if ( cmp ( lb , eq , GrabinputStr ) )
2015-07-18 21:01:56 +00:00
convert_integer ( CGameCfg . Grabinput , value ) ;
2006-03-20 17:12:09 +00:00
}
2008-04-06 20:23:28 +00:00
if ( GameCfg . DigiVolume > 8 ) GameCfg . DigiVolume = 8 ;
2008-05-24 08:59:35 +00:00
if ( GameCfg . MusicVolume > 8 ) GameCfg . MusicVolume = 8 ;
2006-03-20 17:12:09 +00:00
2008-04-06 20:23:28 +00:00
if ( GameCfg . ResolutionX > = 320 & & GameCfg . ResolutionY > = 200 )
2015-05-14 02:23:13 +00:00
{
Game_screen_mode . width = GameCfg . ResolutionX ;
Game_screen_mode . height = GameCfg . ResolutionY ;
}
2006-03-20 17:12:09 +00:00
return 0 ;
}
int WriteConfigFile ( )
{
2008-04-06 20:23:28 +00:00
GameCfg . GammaLevel = gr_palette_get_gamma ( ) ;
2010-06-14 08:13:16 +00:00
2015-01-17 18:31:42 +00:00
auto infile = PHYSFSX_openWriteBuffered ( " descent.cfg " ) ;
2015-01-17 18:31:42 +00:00
if ( ! infile )
{
2006-03-20 17:12:09 +00:00
return 1 ;
}
2008-04-06 20:23:28 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , DigiVolumeStr , GameCfg . DigiVolume ) ;
2008-05-24 08:59:35 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , MusicVolumeStr , GameCfg . MusicVolume ) ;
2008-04-06 20:23:28 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , ReverseStereoStr , GameCfg . ReverseStereo ) ;
2009-05-06 12:19:28 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , OrigTrackOrderStr , GameCfg . OrigTrackOrder ) ;
2010-06-14 08:13:16 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , MusicTypeStr , GameCfg . MusicType ) ;
2020-05-31 23:04:25 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , CMLevelMusicPlayOrderStr , static_cast < int > ( CGameCfg . CMLevelMusicPlayOrder ) ) ;
2016-08-06 19:55:25 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , CMLevelMusicTrack0Str , CGameCfg . CMLevelMusicTrack [ 0 ] ) ;
PHYSFSX_printf ( infile , " %s=%d \n " , CMLevelMusicTrack1Str , CGameCfg . CMLevelMusicTrack [ 1 ] ) ;
2016-08-06 19:55:25 +00:00
PHYSFSX_printf ( infile , " %s=%s \n " , CMLevelMusicPathStr , CGameCfg . CMLevelMusicPath . data ( ) ) ;
2016-08-06 19:55:25 +00:00
PHYSFSX_printf ( infile , " %s=%s \n " , CMMiscMusic0Str , CGameCfg . CMMiscMusic [ SONG_TITLE ] . data ( ) ) ;
PHYSFSX_printf ( infile , " %s=%s \n " , CMMiscMusic1Str , CGameCfg . CMMiscMusic [ SONG_BRIEFING ] . data ( ) ) ;
PHYSFSX_printf ( infile , " %s=%s \n " , CMMiscMusic2Str , CGameCfg . CMMiscMusic [ SONG_ENDLEVEL ] . data ( ) ) ;
PHYSFSX_printf ( infile , " %s=%s \n " , CMMiscMusic3Str , CGameCfg . CMMiscMusic [ SONG_ENDGAME ] . data ( ) ) ;
PHYSFSX_printf ( infile , " %s=%s \n " , CMMiscMusic4Str , CGameCfg . CMMiscMusic [ SONG_CREDITS ] . data ( ) ) ;
2008-04-06 20:23:28 +00:00
PHYSFSX_printf ( infile , " %s=%d \n " , GammaLevelStr , GameCfg . GammaLevel ) ;
2019-07-07 22:00:02 +00:00
PHYSFSX_printf ( infile , " %s=%s \n " , LastPlayerStr , static_cast < const char * > ( InterfaceUniqueState . PilotName ) ) ;
2016-08-06 19:55:25 +00:00
PHYSFSX_printf ( infile , " %s=%s \n " , LastMissionStr , static_cast < const char * > ( CGameCfg . LastMission ) ) ;
2008-04-06 20:23:28 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , ResolutionXStr , SM_W ( Game_screen_mode ) ) ;
PHYSFSX_printf ( infile , " %s=%i \n " , ResolutionYStr , SM_H ( Game_screen_mode ) ) ;
PHYSFSX_printf ( infile , " %s=%i \n " , AspectXStr , GameCfg . AspectX ) ;
PHYSFSX_printf ( infile , " %s=%i \n " , AspectYStr , GameCfg . AspectY ) ;
2015-12-18 04:08:23 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , WindowModeStr , CGameCfg . WindowMode ) ;
2015-12-18 04:08:23 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , TexFiltStr , CGameCfg . TexFilt ) ;
2016-08-29 18:53:10 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , TexAnisStr , CGameCfg . TexAnisotropy ) ;
2013-03-03 01:03:33 +00:00
# if defined(DXX_BUILD_DESCENT_II)
2010-09-02 13:55:28 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , MovieTexFiltStr , GameCfg . MovieTexFilt ) ;
PHYSFSX_printf ( infile , " %s=%i \n " , MovieSubtitlesStr , GameCfg . MovieSubtitles ) ;
2018-10-18 02:18:56 +00:00
# endif
# if DXX_USE_ADLMIDI
PHYSFSX_printf ( infile , " %s=%i \n " , ADLMIDINumChipsStr , CGameCfg . ADLMIDI_num_chips ) ;
PHYSFSX_printf ( infile , " %s=%i \n " , ADLMIDIBankStr , CGameCfg . ADLMIDI_bank ) ;
PHYSFSX_printf ( infile , " %s=%i \n " , ADLMIDIEnabledStr , CGameCfg . ADLMIDI_enabled ) ;
2013-03-03 01:03:33 +00:00
# endif
2015-07-18 03:49:47 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , VSyncStr , CGameCfg . VSync ) ;
2016-10-02 19:35:33 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , MultisampleStr , CGameCfg . Multisample ) ;
2016-10-02 19:35:33 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , FPSIndicatorStr , CGameCfg . FPSIndicator ) ;
2015-07-18 21:01:56 +00:00
PHYSFSX_printf ( infile , " %s=%i \n " , GrabinputStr , CGameCfg . Grabinput ) ;
2006-03-20 17:12:09 +00:00
return 0 ;
}
2015-12-13 18:00:48 +00:00
}