mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
popobear - fix for colours on Game Over screen
I've also marked it as working, the remaining issues (wrong animation speed / music speed) are cosmetic, it seems to work otherwise. so.. New Working Game ---------------- PoPo Bear [Angelo Salese, David Haywood]
This commit is contained in:
parent
6aad8b5410
commit
8b96b441e7
@ -2,7 +2,7 @@
|
||||
|
||||
Popo Bear (c) 2000 BMC
|
||||
|
||||
preliminary driver by Angelo Salese
|
||||
driver by Angelo Salese, David Haywood
|
||||
|
||||
TODO:
|
||||
- auto-animation speed is erratic (way too fast);
|
||||
@ -281,6 +281,34 @@ void popobear_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
|
||||
|
||||
if (param&0xf000) color_bank = (machine().rand() & 0x3);
|
||||
|
||||
|
||||
|
||||
int add_it = 0;
|
||||
|
||||
// this isn't understood, not enough evidence.
|
||||
switch (param & 3)
|
||||
{
|
||||
case 0x0: // not used?
|
||||
color_bank = (machine().rand() & 0x3);
|
||||
add_it = color_bank*0x40;
|
||||
break;
|
||||
|
||||
case 0x1: // butterflies in intro, enemy characters, line of characters, stage start text
|
||||
//color_bank = (machine().rand() & 0x3);
|
||||
add_it = color_bank*0x40;
|
||||
break;
|
||||
|
||||
case 0x2: // characters in intro, main player, powerups, timer, large dancing chars between levels (0x3f?)
|
||||
//color_bank = (machine().rand() & 0x3);
|
||||
add_it = color_bank*0x40;
|
||||
break;
|
||||
|
||||
case 0x3: // letters on GAME OVER need this..
|
||||
add_it = color_bank*0x40;
|
||||
add_it += 0x20;
|
||||
break;
|
||||
}
|
||||
|
||||
if(param == 0)
|
||||
continue;
|
||||
|
||||
@ -303,10 +331,10 @@ void popobear_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
|
||||
// see scores when you colect an item, must be at least steps of 0x40 or one of the female panda gfx between levels breaks.. might depend on lower bits?
|
||||
// granularity also means colour bank is applied *0x40
|
||||
// and we have 2 more possible colour bank bits
|
||||
// colours on game over screen are still wrong
|
||||
// colours on game over screen are still wrong without the weird param kludge above
|
||||
if (pix&0x3f)
|
||||
{
|
||||
bitmap.pix16(y_draw, x_draw) = machine().pens[((pix+(color_bank*0x40))&0xff)+0x100];
|
||||
bitmap.pix16(y_draw, x_draw) = machine().pens[((pix+(add_it))&0xff)+0x100];
|
||||
}
|
||||
}
|
||||
|
||||
@ -644,4 +672,4 @@ ROM_START( popobear )
|
||||
ROM_LOAD( "popobear_ta-a-901.u9", 0x00000, 0x40000, CRC(f1e94926) SHA1(f4d6f5b5811d90d0069f6efbb44d725ff0d07e1c) )
|
||||
ROM_END
|
||||
|
||||
GAME( 2000, popobear, 0, popobear, popobear, driver_device, 0, ROT0, "BMC", "PoPo Bear", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
|
||||
GAME( 2000, popobear, 0, popobear, popobear, driver_device, 0, ROT0, "BMC", "PoPo Bear", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
|
||||
|
Loading…
Reference in New Issue
Block a user