if ( !( rflags & ( DRAW_RF_SEL_OUTLINE | DRAW_RF_SEL_FILL | DRAW_RF_XY ) ) ) {
if ( state & DRAW_GL_TEXTURE_2D ) {
+ bool bTrans = ( pShader->getFlags() & QER_TRANS ) == QER_TRANS;
+ bool bDrawBlend = ( state & DRAW_GL_BLEND ) == DRAW_GL_BLEND;
+ //only draw transparent stuff when in transparent stuff pass and vice versa
+ if(bTrans != bDrawBlend) {
+ return;
+ }
g_QglTable.m_pfn_qglBindTexture( GL_TEXTURE_2D, pShader->getTexture()->texture_number );
if ( ( rflags & DRAW_RF_CAM ) && ( pShader->getFlags() & QER_ALPHAFUNC ) ) {
int nFunc = 0;
float fRef = 0.f;
- g_QglTable.m_pfn_qglColor4f( 1.f, 1.f, 1.f, 1.f ); // identity
+ g_QglTable.m_pfn_qglColor4f( 1.f, 1.f, 1.f, pShader->getTrans() ); // transparency
g_QglTable.m_pfn_qglEnable( GL_ALPHA_TEST );
// end new prefs dialog
-void PrefsDlg::LoadTexdefPref( texdef_t* pTexdef, char* pName ){
+void PrefsDlg::LoadTexdefPref( texdef_t* pTexdef, const char* pName ){
char buffer[256];
memset( pTexdef, 0, sizeof( texdef_t ) );
if(CheckFile(gameFilePath) != PATH_DIRECTORY) {
radCreateDirectory(gameFilePath);
}
- gameFilePath += m_strName.GetBuffer();
- gameFilePath += ".game";
+
+ switch ( m_availGames[ m_nComboSelect ] ) {
+ case GAME_Q2:
+ gameFilePath += "q2.game";
+ break;
+ case GAME_Q3:
+ gameFilePath += "q3.game";
+ break;
+ case GAME_URT:
+ gameFilePath += "urt.game";
+ break;
+ case GAME_UFOAI:
+ gameFilePath += "ufoai.game";
+ break;
+ case GAME_Q2W:
+ gameFilePath += "q2w.game";
+ break;
+ case GAME_WARSOW:
+ gameFilePath += "warsow.game";
+ break;
+ case GAME_NEXUIZ:
+ gameFilePath += "nexuiz.game";
+ break;
+ case GAME_TREMULOUS:
+ gameFilePath += "tremulous.game";
+ break;
+ case GAME_JA:
+ gameFilePath += "ja.game";
+ break;
+ case GAME_REACTION:
+ gameFilePath += "reaction.game";
+ break;
+ }
+
Sys_Printf( "game file: %s\n", gameFilePath.GetBuffer() );
FILE * fg = fopen( gameFilePath.GetBuffer(), "w" );