1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +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_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_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_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_scoreboardJ (1<<4) //Copy data from RDRAM to auxilary frame buffer. Scoreboard in Mario Tennis (J).
#define hack_subscreen (1<<5) //Fix subscreen delay in Zelda OOT #define hack_pilotWings (1<<5) //Special blend mode for PilotWings.
#define hack_legoRacers (1<<6) //LEGO racers course map #define hack_subscreen (1<<6) //Fix subscreen delay in Zelda OOT
#define hack_blastCorps (1<<7) //Blast Corps black polygons #define hack_legoRacers (1<<7) //LEGO racers course map
#define hack_blastCorps (1<<8) //Blast Corps black polygons
extern Config config; extern Config config;

View File

@ -281,7 +281,9 @@ void FrameBufferList::setBufferChanged()
bool FrameBufferList::_isMarioTennisScoreboard() 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() void FrameBufferList::correctHeight()

View File

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