fix rad rally

This commit is contained in:
dinkc64 2021-03-07 10:32:57 -05:00
parent 3cdd8cf09f
commit 008bf442d9

View File

@ -170,6 +170,7 @@ static INT32 Radm_analog_target = 0;
// forwards
static void RadmAnalogTick();
static INT32 MultiScreenCheck();
static INT32 SingleScreenModeChangeCheck();
static INT32 has_gun = 0;
static INT32 clr_opposites = 0;
@ -2006,6 +2007,8 @@ static INT32 DrvDoReset()
if (is_multi32) {
MultiScreenCheck();
} else {
SingleScreenModeChangeCheck();
}
BurnRandomSetSeed(0xbeef1eaf);
@ -4105,15 +4108,8 @@ static void draw_screen(INT32 which)
mix_all_layers(which, 0, cliprect, enablemask);
}
static INT32 DrvDraw()
static INT32 SingleScreenModeChangeCheck()
{
if (DrvRecalc) {
for (INT32 i = 0; i < 0x8000; i++) {
DrvPalette[i] = BurnHighCol(pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i), 0);
}
DrvRecalc = 0;
}
// widescreen (416px) mode is used to display the disclaimer as the game
// boots up (sonic, dbzvrvs + orunnersj), after the disclaimer, it switches
// to 320px and stays there until switched off and restarted again. To
@ -4139,6 +4135,22 @@ static INT32 DrvDraw()
return 1; // don't draw this time around
}
return 0;
}
static INT32 DrvDraw()
{
if (DrvRecalc) {
for (INT32 i = 0; i < 0x8000; i++) {
DrvPalette[i] = BurnHighCol(pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i), 0);
}
DrvRecalc = 0;
}
if (SingleScreenModeChangeCheck()) {
return 1; // if mode changed, don't draw this time around
}
draw_screen(0);
if (screen_vflip) {