1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00

Add hack to remove black polygons in Blast Corps:

don't show polygons which use texturing when texturing is off.

Fixed issue #125
This commit is contained in:
Sergey Lipskiy 2015-04-08 23:06:45 +06:00
parent ce07d2be5a
commit 0c5872897d
3 changed files with 6 additions and 0 deletions

View File

@ -100,6 +100,7 @@ struct Config
#define hack_pilotWings (1<<4) //Special blend mode for PilotWings.
#define hack_subscreen (1<<5) //Fix subscreen delay in Zelda OOT
#define hack_legoRacers (1<<6) //LEGO racers course map
#define hack_blastCorps (1<<7) //Blast Corps black polygons
extern Config config;

View File

@ -566,6 +566,9 @@ void OGLRender::_setBlendMode() const
} else if ((config.generalEmulation.hacks & hack_pilotWings) != 0 && (gDP.otherMode.l & 0x80) != 0) { //CLR_ON_CVG without FORCE_BL
glEnable(GL_BLEND);
glBlendFunc(GL_ZERO, GL_ONE);
} else if ((config.generalEmulation.hacks & hack_blastCorps) != 0 && gSP.texture.on == 0 && currentCombiner()->usesTex()) { // Blast Corps
glEnable(GL_BLEND);
glBlendFunc(GL_ZERO, GL_ONE);
} else {
glDisable( GL_BLEND );
}

View File

@ -329,6 +329,8 @@ void RSP_Init()
config.generalEmulation.hacks |= hack_subscreen;
else if (strstr(RSP.romname, (const char *)"LEGORacers") != NULL)
config.generalEmulation.hacks |= hack_legoRacers;
else if (strstr(RSP.romname, (const char *)"Blast") != NULL)
config.generalEmulation.hacks |= hack_blastCorps;
api().FindPluginPath(RSP.pluginpath);