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

Correct Mario Tennis scoreboard hack for (J) rom.

Fixed issue #424
This commit is contained in:
Sergey Lipskiy 2015-04-25 17:49:59 +06:00
parent a8f047fea7
commit 96aab6c9ad
3 changed files with 10 additions and 5 deletions

View File

@ -106,10 +106,11 @@ struct Config
#define hack_noDepthFrameBuffers (1<<1) //Do not use depth buffers as texture
#define hack_blurPauseScreen (1<<2) //Game copies frame buffer to depth buffer area, CPU blurs it. That image is used as background for pause screen.
#define hack_scoreboard (1<<3) //Copy data from RDRAM to auxilary frame buffer. Scoreboard in Mario Tennis.
#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
#define hack_scoreboardJ (1<<4) //Copy data from RDRAM to auxilary frame buffer. Scoreboard in Mario Tennis (J).
#define hack_pilotWings (1<<5) //Special blend mode for PilotWings.
#define hack_subscreen (1<<6) //Fix subscreen delay in Zelda OOT
#define hack_legoRacers (1<<7) //LEGO racers course map
#define hack_blastCorps (1<<8) //Blast Corps black polygons
extern Config config;

View File

@ -281,7 +281,9 @@ void FrameBufferList::setBufferChanged()
bool FrameBufferList::_isMarioTennisScoreboard()
{
return (config.generalEmulation.hacks&hack_scoreboard) != 0 && m_pCurrent != NULL && (m_pCurrent->m_startAddress == 0x13ba50 || m_pCurrent->m_startAddress == 0x264430);
if ((config.generalEmulation.hacks&hack_scoreboard) != 0)
return m_pCurrent != NULL && (m_pCurrent->m_startAddress == 0x13ba50 || m_pCurrent->m_startAddress == 0x264430);
return (config.generalEmulation.hacks&hack_scoreboardJ) != 0 && m_pCurrent != NULL && (m_pCurrent->m_startAddress == 0x134080 || m_pCurrent->m_startAddress == 0x1332f8);
}
void FrameBufferList::correctHeight()

View File

@ -309,6 +309,8 @@ void RSP_Init()
strstr(RSP.romname, (const char *)"MICKEY USA") != NULL
)
config.generalEmulation.hacks |= hack_blurPauseScreen;
else if (strstr(RSP.romname, (const char *)"MarioTennis64") != NULL)
config.generalEmulation.hacks |= hack_scoreboardJ;
else if (strstr(RSP.romname, (const char *)"MarioTennis") != NULL)
config.generalEmulation.hacks |= hack_scoreboard;
else if (strstr(RSP.romname, (const char *)"Pilot Wings64") != NULL)