Merge pull request #290 from ericwa/quake1

Quake 1 Support
This commit is contained in:
Timothee "TTimo" Besset 2015-05-29 08:03:53 -05:00
commit d9d76af697
3 changed files with 23 additions and 0 deletions

View file

@ -164,6 +164,7 @@ static void vfsInitPakFile( const char *filename ){
strcpy( wadname,wadnameptr ); strcpy( wadname,wadnameptr );
wadname[strlen( wadname ) - 4] = 0; // ditch the .wad so everthing looks nice! wadname[strlen( wadname ) - 4] = 0; // ditch the .wad so everthing looks nice!
strlwr( wadname );
g_wadFiles = g_slist_append( g_wadFiles, wf ); // store the wadfile handle g_wadFiles = g_slist_append( g_wadFiles, wf ); // store the wadfile handle

View file

@ -3384,6 +3384,9 @@ void CGameInstall::BuildDialog() {
int iGame = 0; int iGame = 0;
while ( m_availGames[ iGame ] != GAME_NONE ) { while ( m_availGames[ iGame ] != GAME_NONE ) {
switch ( m_availGames[ iGame ] ) { switch ( m_availGames[ iGame ] ) {
case GAME_Q1:
gtk_combo_box_append_text( GTK_COMBO_BOX( game_select_combo ), _( "Quake" ) );
break;
case GAME_Q2: case GAME_Q2:
gtk_combo_box_append_text( GTK_COMBO_BOX( game_select_combo ), _( "Quake II" ) ); gtk_combo_box_append_text( GTK_COMBO_BOX( game_select_combo ), _( "Quake II" ) );
break; break;
@ -3516,6 +3519,10 @@ void CGameInstall::Run() {
} }
switch ( m_availGames[ m_nComboSelect ] ) { switch ( m_availGames[ m_nComboSelect ] ) {
case GAME_Q1:
gamePack = Q1_PACK;
gameFilePath += Q1_GAME;
break;
case GAME_Q2: case GAME_Q2:
gamePack = Q2_PACK; gamePack = Q2_PACK;
gameFilePath += Q2_GAME; gameFilePath += Q2_GAME;
@ -3606,6 +3613,15 @@ void CGameInstall::Run() {
} }
switch ( m_availGames[ m_nComboSelect ] ) { switch ( m_availGames[ m_nComboSelect ] ) {
case GAME_Q1: {
fprintf( fg, " idtech2=\"true\"\n" );
fprintf( fg, " prefix=\".quake1\"\n" );
fprintf( fg, " basegame=\"id1\"\n" );
fprintf( fg, " no_patch=\"true\"\n" );
fprintf( fg, " default_scale=\"1.0\"\n" );
break;
}
case GAME_Q2: { case GAME_Q2: {
fprintf( fg, " idtech2=\"true\"\n" ); fprintf( fg, " idtech2=\"true\"\n" );
fprintf( fg, " prefix=\".quake2\"\n" ); fprintf( fg, " prefix=\".quake2\"\n" );
@ -3811,6 +3827,9 @@ void CGameInstall::ScanGames() {
if ( stricmp( dirname, WOLF_PACK ) == 0) { if ( stricmp( dirname, WOLF_PACK ) == 0) {
m_availGames[ iGame++ ] = GAME_WOLF; m_availGames[ iGame++ ] = GAME_WOLF;
} }
if ( stricmp( dirname, Q1_PACK ) == 0 ) {
m_availGames[ iGame++ ] = GAME_Q1;
}
} }
Sys_Printf( "No installable games found in: %s\n", Sys_Printf( "No installable games found in: %s\n",
pakPaths.GetBuffer() ); pakPaths.GetBuffer() );

View file

@ -216,6 +216,7 @@ void Dump();
#define QL_GAME "ql.game" #define QL_GAME "ql.game"
#define STVEF_GAME "stvef.game" #define STVEF_GAME "stvef.game"
#define WOLF_GAME "wolf.game" #define WOLF_GAME "wolf.game"
#define Q1_GAME "q1.game"
#define Q3_PACK "Q3Pack" #define Q3_PACK "Q3Pack"
#define URT_PACK "UrTPack" #define URT_PACK "UrTPack"
@ -231,6 +232,7 @@ void Dump();
#define QL_PACK "QLPack" #define QL_PACK "QLPack"
#define STVEF_PACK "STVEFPack" #define STVEF_PACK "STVEFPack"
#define WOLF_PACK "WolfPack" #define WOLF_PACK "WolfPack"
#define Q1_PACK "Q1Pack"
class CGameInstall : public Dialog { class CGameInstall : public Dialog {
public: public:
@ -259,6 +261,7 @@ public:
GAME_QL, GAME_QL,
GAME_STVEF, GAME_STVEF,
GAME_WOLF, GAME_WOLF,
GAME_Q1,
GAME_COUNT GAME_COUNT
}; };