Merge pull request #188 from UberGames/STVEFSupport

STVEF support
This commit is contained in:
Timothee "TTimo" Besset 2013-06-30 09:35:25 -07:00
commit 06582069d5
3 changed files with 35 additions and 2 deletions

View file

@ -382,7 +382,8 @@ void Eclass_Init(){
if ( !strcmp( ValueForKey( g_qeglobals.d_project_entity, "gamemode" ), "sp" ) ) { if ( !strcmp( ValueForKey( g_qeglobals.d_project_entity, "gamemode" ), "sp" ) ) {
// SP mapping, ignore mp_*.def // SP mapping, ignore mp_*.def
char *name = (char *)pFile->data; char *name = (char *)pFile->data;
if ( name[0] == 'm' && name[1] == 'p' && name[2] == '_' ) { if ( name[0] == 'm' && name[1] == 'p' && name[2] == '_'
|| name[0] == 'h' && name[1] == 'm' && name[2] == '_' ) {
Sys_Printf( "Single Player mapping mode. Ignoring '%s'\n", name ); Sys_Printf( "Single Player mapping mode. Ignoring '%s'\n", name );
pFile = pFile->next; pFile = pFile->next;
continue; continue;
@ -392,7 +393,7 @@ void Eclass_Init(){
{ {
// HM mapping, ignore sp_*.def // HM mapping, ignore sp_*.def
char *name = (char *)pFile->data; char *name = (char *)pFile->data;
if ( name[0] == 'h' && name[1] == 'm' && name[2] == '_' ) { if ( name[0] == 's' && name[1] == 'p' && name[2] == '_' ) {
Sys_Printf( "HoloMatch mapping mode. Ignoring '%s'\n", name ); Sys_Printf( "HoloMatch mapping mode. Ignoring '%s'\n", name );
pFile = pFile->next; pFile = pFile->next;
continue; continue;

View file

@ -3376,6 +3376,9 @@ void CGameInstall::BuildDialog() {
case GAME_QL: case GAME_QL:
gtk_combo_box_append_text( GTK_COMBO_BOX( combo ), _( "Quake Live" ) ); gtk_combo_box_append_text( GTK_COMBO_BOX( combo ), _( "Quake Live" ) );
break; break;
case GAME_STVEF:
gtk_combo_box_append_text( GTK_COMBO_BOX( combo ), _( "Star Trek - Voyager: Elite Force" ) );
break;
} }
iGame++; iGame++;
} }
@ -3490,6 +3493,9 @@ void CGameInstall::Run() {
case GAME_QL: case GAME_QL:
gameFilePath += "ql.game"; gameFilePath += "ql.game";
break; break;
case GAME_STVEF:
gameFilePath += "stvef.game";
break;
} }
Sys_Printf( "game file: %s\n", gameFilePath.GetBuffer() ); Sys_Printf( "game file: %s\n", gameFilePath.GetBuffer() );
@ -3685,6 +3691,27 @@ void CGameInstall::Run() {
fprintf( fg, " basegame=\"baseq3\"\n" ); fprintf( fg, " basegame=\"baseq3\"\n" );
break; break;
} }
case GAME_STVEF: {
fprintf( fg, " "TOOLS_ATTRIBUTE "=\"%sinstalls/"STVEF_PACK "/game\"\n", g_strAppPath.GetBuffer() );
fprintf( fg, " prefix=\".stvef\"\n" );
Str source = g_strAppPath.GetBuffer();
source += "installs/";
source += STVEF_PACK;
source += "/install/";
Str dest = m_strEngine.GetBuffer();
radCopyTree( source.GetBuffer(), dest.GetBuffer() );
// Hardcoded fix for "missing" shaderlist in gamepack
dest += "/base/scripts/shaderlist.txt";
if(CheckFile(dest.GetBuffer()) != PATH_FILE) {
source += "base/scripts/default_shaderlist.txt";
radCopyFile(source.GetBuffer(),dest.GetBuffer());
}
fprintf( fg, " basegame=\"baseEF\"\n" );
fprintf( fg, " shaderpath=\"scripts\"\n" );
fprintf( fg, " default_scale=\"0.25\"\n" );
fprintf( fg, " caulk_shader=\"textures/common/caulk\"\n" );
break;
}
} }
fprintf( fg, "/>\n" ); fprintf( fg, "/>\n" );
fclose( fg ); fclose( fg );
@ -3740,6 +3767,9 @@ void CGameInstall::ScanGames() {
if ( stricmp( dirname, QL_PACK ) == 0 ) { if ( stricmp( dirname, QL_PACK ) == 0 ) {
m_availGames[ iGame++ ] = GAME_QL; m_availGames[ iGame++ ] = GAME_QL;
} }
if ( stricmp( dirname, STVEF_PACK ) == 0 ) {
m_availGames[ iGame++ ] = GAME_STVEF;
}
} }
Sys_Printf( "No installable games found in: %s\n", Sys_Printf( "No installable games found in: %s\n",
pakPaths.GetBuffer() ); pakPaths.GetBuffer() );

View file

@ -213,6 +213,7 @@ void Dump();
#define REACTION_PACK "ReactionPack" #define REACTION_PACK "ReactionPack"
#define ET_PACK "ETPack" #define ET_PACK "ETPack"
#define QL_PACK "QLPack" #define QL_PACK "QLPack"
#define STVEF_PACK "STVEFPack"
class CGameInstall : public Dialog { class CGameInstall : public Dialog {
public: public:
@ -238,6 +239,7 @@ enum gameType_e {
GAME_REACTION, GAME_REACTION,
GAME_ET, GAME_ET,
GAME_QL, GAME_QL,
GAME_STVEF,
GAME_COUNT GAME_COUNT
}; };