mirror of
https://github.com/holub/mame
synced 2025-06-27 22:54:42 +03:00
gstriker.cpp: added rotation to mb60553 core, used by V Goal Soccer during display of football field [Angelo Salese]
This commit is contained in:
parent
a11923f598
commit
6af2a1ff60
@ -270,31 +270,32 @@ void mb60553_zooming_tilemap_device::draw( screen_device &screen, bitmap_ind16&
|
||||
{
|
||||
// int scrollx;
|
||||
// int scrolly;
|
||||
|
||||
uint32_t startx,starty;
|
||||
uint32_t incxx,incyy;
|
||||
int32_t incxx,incyy;
|
||||
int32_t incxy,incyx;
|
||||
float xoffset;
|
||||
|
||||
|
||||
incxx = m_lineram[(line)*8+0]<<4;
|
||||
incyy = m_lineram[(line)*8+3]<<4;
|
||||
// confirmed on how ROZ is used
|
||||
incyy = ((int16_t)m_lineram[(line)*8+0])<<4;
|
||||
incxx = ((int16_t)m_lineram[(line)*8+3])<<4;
|
||||
|
||||
// startx has an offset based off current x zoom value
|
||||
// This is confirmed by Tecmo World Cup '94 startx being 0xff40 (-192) when showing footballer pics on attract mode (incxx is 0x800)
|
||||
// TODO: slightly offset?
|
||||
xoffset = ((float)incxx/(float)0x10000) * 384.0;
|
||||
xoffset = ((float)incyy/(float)0x10000) * 384.0;
|
||||
|
||||
startx = m_regs[0] + (uint32_t)xoffset;
|
||||
startx = m_regs[0] + (int32_t)xoffset;
|
||||
starty = m_regs[1];
|
||||
|
||||
// TODO: what's this? Used by Grand Striker playfield
|
||||
// startx -= m_lineram[(line)*8+7]/2;
|
||||
|
||||
incyx = ((int16_t)m_lineram[(line)*8+7])<<4;
|
||||
// V Goal Soccer rotation
|
||||
incxy = ((int16_t)m_lineram[(line)*8+4])<<4;
|
||||
|
||||
clip.min_y = clip.max_y = line;
|
||||
|
||||
draw_roz_core(screen, bitmap, clip, startx<<12,starty<<12,
|
||||
incxx,0,0,incyy,
|
||||
incxx,incxy,-incyx,incyy,
|
||||
1
|
||||
);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user