mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
legionna.cpp: kludge a few weird Godzilla collision checks [Angelo Salese]
This commit is contained in:
parent
56b9e79ef0
commit
b38b7c9dff
@ -2641,7 +2641,17 @@ DRIVER_INIT_MEMBER(legionna_state,legiongfx)
|
||||
descramble_legionnaire_gfx(memregion("gfx5")->base() );
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(legionna_state,godzilla)
|
||||
{
|
||||
uint16_t *ROM = (uint16_t *)memregion("maincpu")->base();
|
||||
// TODO: some game elements doesn't collide properly, @see seibucop.cpp
|
||||
ROM[(0xbe0e + 0x0a)/2] = 0xb000;
|
||||
ROM[(0xbe0e + 0x1a)/2] = 0xb800;
|
||||
ROM[(0xbb0a + 0x0a)/2] = 0xb000;
|
||||
ROM[(0xbb0a + 0x1a)/2] = 0xb800;
|
||||
// patch ROM checksum
|
||||
ROM[0x3fffe/2] = 0x61ba;
|
||||
}
|
||||
|
||||
GAME( 1992, legionna, 0, legionna, legionna, legionna_state, legiongfx, ROT0, "TAD Corporation", "Legionnaire (World)", 0 )
|
||||
GAME( 1992, legionnau,legionna, legionna, legionna, legionna_state, legiongfx, ROT0, "TAD Corporation (Fabtek license)", "Legionnaire (US)", 0 )
|
||||
@ -2653,7 +2663,7 @@ GAME( 1992, heatbrlo, heatbrl, heatbrl, heatbrl, legionna_state, 0, R
|
||||
GAME( 1992, heatbrlu, heatbrl, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation", "Heated Barrel (US)", 0 )
|
||||
GAME( 1992, heatbrle, heatbrl, heatbrl, heatbrl, legionna_state, 0, ROT0, "TAD Corporation (Electronic Devices license)", "Heated Barrel (Electronic Devices license)", 0 )
|
||||
|
||||
GAME( 1993, godzilla, 0, godzilla, godzilla, legionna_state, 0, ROT0, "Banpresto", "Godzilla (Japan)", 0 )
|
||||
GAME( 1993, godzilla, 0, godzilla, godzilla, legionna_state, godzilla, ROT0, "Banpresto", "Godzilla (Japan)", 0 )
|
||||
GAME( 1993, grainbow, 0, grainbow, grainbow, legionna_state, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki (Japan)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
|
||||
GAME( 1993, grainbowk,grainbow, grainbow, grainbow, legionna_state, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki (Korea)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
|
||||
GAME( 1993, denjinmk, 0, denjinmk, denjinmk, legionna_state, 0, ROT0, "Winkysoft (Banpresto license)", "Denjin Makai", 0 )
|
||||
|
@ -70,6 +70,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(palette_swap_w);
|
||||
|
||||
DECLARE_DRIVER_INIT(legiongfx);
|
||||
DECLARE_DRIVER_INIT(godzilla);
|
||||
DECLARE_DRIVER_INIT(cupsoc_debug);
|
||||
DECLARE_DRIVER_INIT(cupsoc);
|
||||
DECLARE_DRIVER_INIT(cupsocs);
|
||||
|
@ -45,6 +45,10 @@
|
||||
- (fixed) level 3+ boss movements looks wrong;
|
||||
- stage 3 "homing" missiles doesn't seem to like our 6200 hookup here, except it's NOT 6200!?
|
||||
- (fixed) barrels seen in later levels seems to fail an axis aligned bounding box, not unlike Legionnaire.
|
||||
Godzilla
|
||||
- few elements doesn't collide properly (i.e. Super X missiles, Tokyo's tower in stage 1),
|
||||
Z axis check makes no sense whatsoever.
|
||||
Kludged to work in per-game driver_init.
|
||||
SD Gundam
|
||||
- stage 3 mid-boss still has the sprite garbage bug;
|
||||
- stage 4: has sprite stuck on bottom-left of screen;
|
||||
@ -530,6 +534,10 @@ int raiden2cop_device::find_trigger_match(uint16_t triggerval, uint16_t mask)
|
||||
|
||||
if (triggerval == 0xa180 || triggerval == 0xa980 || triggerval == 0xb100 || triggerval == 0xb900) /* collisions */
|
||||
otherlog = 0;
|
||||
|
||||
// TODO: disable Z axis in driver code.
|
||||
if (triggerval == 0xb000 || triggerval == 0xb800)
|
||||
otherlog = 0;
|
||||
}
|
||||
else if (!strcmp(machine().system().name, "grainbow"))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user