mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
ddragon3_v: small cleanup to source code spacing
This commit is contained in:
parent
6783d93bd3
commit
57f6141e41
@ -1172,7 +1172,7 @@ bool screen_device::update_partial(int scanline)
|
||||
}
|
||||
|
||||
// skip if we already rendered this frame
|
||||
// this can happen if the executing cpu timeslice is in the previous frame while scanline 0 already started
|
||||
// this can happen if a cpu timeslice that called update_partial is in the previous frame while scanline 0 already started
|
||||
if (m_last_partial_scan == 0 && m_last_partial_reset > machine().time())
|
||||
{
|
||||
LOG_PARTIAL_UPDATES(("skipped because frame was already rendered\n"));
|
||||
@ -1290,7 +1290,7 @@ void screen_device::update_now()
|
||||
}
|
||||
|
||||
// skip if we already rendered this frame
|
||||
// this can happen if the executing cpu timeslice is in the previous frame while scanline 0 already started
|
||||
// this can happen if a cpu timeslice that called update_now is in the previous frame while scanline 0 already started
|
||||
if (m_last_partial_scan == 0 && m_partial_scan_hpos == 0 && m_last_partial_reset > machine().time())
|
||||
{
|
||||
LOG_PARTIAL_UPDATES(("skipped because frame was already rendered\n"));
|
||||
|
@ -234,7 +234,6 @@ void wwfwfest_state::wwfwfest_irq_ack_w(offs_t offset, uint16_t data)
|
||||
{
|
||||
if (offset == 0)
|
||||
m_maincpu->set_input_line(3, CLEAR_LINE);
|
||||
|
||||
else
|
||||
m_maincpu->set_input_line(2, CLEAR_LINE);
|
||||
}
|
||||
|
@ -13,14 +13,14 @@ void ddragon3_state::ddragon3_scroll_w(offs_t offset, uint16_t data, uint16_t me
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0: COMBINE_DATA(&m_fg_scrollx); break; // Scroll X, BG1
|
||||
case 1: COMBINE_DATA(&m_fg_scrolly); break; // Scroll Y, BG1
|
||||
case 2: COMBINE_DATA(&m_bg_scrollx); break; // Scroll X, BG0
|
||||
case 3: COMBINE_DATA(&m_bg_scrolly); break; // Scroll Y, BG0
|
||||
case 4: break; // Unknown write
|
||||
case 5: flip_screen_set(data & 0x01); break; // Flip Screen
|
||||
case 0: COMBINE_DATA(&m_fg_scrollx); break; // Scroll X, BG1
|
||||
case 1: COMBINE_DATA(&m_fg_scrolly); break; // Scroll Y, BG1
|
||||
case 2: COMBINE_DATA(&m_bg_scrollx); break; // Scroll X, BG0
|
||||
case 3: COMBINE_DATA(&m_bg_scrolly); break; // Scroll Y, BG0
|
||||
case 4: break; // Unknown write
|
||||
case 5: flip_screen_set(data & 0x01); break; // Flip Screen
|
||||
case 6:
|
||||
COMBINE_DATA(&m_bg_tilebase); // BG Tile Base
|
||||
COMBINE_DATA(&m_bg_tilebase); // BG Tile Base
|
||||
m_bg_tilebase &= 0x1ff;
|
||||
m_bg_tilemap->mark_all_dirty();
|
||||
break;
|
||||
@ -63,23 +63,15 @@ void ddragon3_state::ddragon3_bg_videoram_w(offs_t offset, uint16_t data, uint16
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(ddragon3_state::get_fg_tile_info)
|
||||
{
|
||||
uint16_t *tilebase;
|
||||
int tileno,colbank;
|
||||
uint16_t *tilebase = &m_fg_videoram[tile_index * 2];
|
||||
int tileno = (tilebase[1] & 0x1fff);
|
||||
int colbank = (tilebase[0] & 0x000f);
|
||||
|
||||
tilebase = &m_fg_videoram[tile_index*2];
|
||||
tileno = (tilebase[1] & 0x1fff);
|
||||
colbank = (tilebase[0] & 0x000f);
|
||||
tileinfo.set(1,
|
||||
tileno,
|
||||
colbank,
|
||||
TILE_FLIPYX((tilebase[0] & 0x00c0) >> 6));
|
||||
tileinfo.set(1, tileno, colbank, TILE_FLIPYX((tilebase[0] & 0x00c0) >> 6));
|
||||
}
|
||||
|
||||
|
||||
@ -92,30 +84,23 @@ void ddragon3_state::ddragon3_fg_videoram_w(offs_t offset, uint16_t data, uint16
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************************************************************************************/
|
||||
/* 8x8 text layer - wwfwfest only */
|
||||
|
||||
TILE_GET_INFO_MEMBER(wwfwfest_state::get_fg0_tile_info)
|
||||
{
|
||||
uint16_t *tilebase;
|
||||
int tileno;
|
||||
int colbank;
|
||||
tilebase = &m_fg0_videoram[tile_index*2];
|
||||
tileno = (tilebase[0] & 0x00ff) | ((tilebase[1] & 0x000f) << 8);
|
||||
colbank = (tilebase[1] & 0x00f0) >> 4;
|
||||
tileinfo.set(3,
|
||||
tileno,
|
||||
colbank,
|
||||
0);
|
||||
uint16_t *tilebase = &m_fg0_videoram[tile_index * 2];
|
||||
int tileno = (tilebase[0] & 0x00ff) | ((tilebase[1] & 0x000f) << 8);
|
||||
int colbank = (tilebase[1] & 0x00f0) >> 4;
|
||||
|
||||
tileinfo.set(3, tileno, colbank, 0);
|
||||
}
|
||||
|
||||
void wwfwfest_state::wwfwfest_fg0_videoram_w(offs_t offset, uint16_t data)
|
||||
{
|
||||
/* Videoram is 8 bit, upper & lower byte writes end up in the same place due to m68k byte smearing */
|
||||
m_fg0_videoram[offset]=data&0xff;
|
||||
|
||||
m_fg0_tilemap->mark_tile_dirty(offset/2);
|
||||
// Videoram is 8 bit, upper & lower byte writes end up in the same place due to m68k byte smearing
|
||||
m_fg0_videoram[offset] = data & 0xff;
|
||||
m_fg0_tilemap->mark_tile_dirty(offset / 2);
|
||||
}
|
||||
|
||||
/*****************************************************************************************************************************************************/
|
||||
@ -138,7 +123,7 @@ void wwfwfest_state::video_start()
|
||||
{
|
||||
ddragon3_state::video_start();
|
||||
|
||||
m_fg0_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wwfwfest_state::get_fg0_tile_info)), TILEMAP_SCAN_ROWS, 8, 8,64,32);
|
||||
m_fg0_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wwfwfest_state::get_fg0_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
m_fg0_tilemap->set_transparent_pen(0);
|
||||
|
||||
}
|
||||
@ -179,52 +164,54 @@ void ddragon3_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
int length = m_spriteram->bytes();
|
||||
gfx_element *gfx = m_gfxdecode->gfx(2);
|
||||
uint16_t *source = buffered_spriteram16;
|
||||
uint16_t *finish = source + length/2;
|
||||
uint16_t *finish = source + length / 2;
|
||||
|
||||
while( source<finish )
|
||||
while (source < finish)
|
||||
{
|
||||
int xpos, ypos, colourbank, flipx, flipy, chain, enable, number, count;
|
||||
|
||||
enable = (source[1] & 0x0001);
|
||||
|
||||
if (enable) {
|
||||
xpos = +(source[5] & 0x00ff) | (source[1] & 0x0004) << 6;
|
||||
if (xpos>512-16) xpos -=512;
|
||||
if (source[1] & 0x0001)
|
||||
{
|
||||
int xpos = (source[5] & 0x00ff) | (source[1] & 0x0004) << 6;
|
||||
if (xpos > 512 - 16) xpos -= 512;
|
||||
xpos += m_sprite_xoff;
|
||||
ypos = (source[0] & 0x00ff) | (source[1] & 0x0002) << 7;
|
||||
ypos = (256 - ypos) & 0x1ff;
|
||||
ypos -= 16 ;
|
||||
flipx = (source[1] & 0x0010) >> 4;
|
||||
flipy = (source[1] & 0x0008) >> 3;
|
||||
chain = (source[1] & 0x00e0) >> 5;
|
||||
chain += 1;
|
||||
number = (source[2] & 0x00ff) | (source[3] & 0x00ff) << 8;
|
||||
colourbank = (source[4] & 0x000f);
|
||||
|
||||
if (flip_screen()) {
|
||||
if (flipy) flipy=0; else flipy=1;
|
||||
if (flipx) flipx=0; else flipx=1;
|
||||
ypos=240-ypos-m_sprite_xoff;
|
||||
xpos=304-xpos;
|
||||
int ypos = (source[0] & 0x00ff) | (source[1] & 0x0002) << 7;
|
||||
ypos = (256 - ypos) & 0x1ff;
|
||||
ypos -= 16;
|
||||
|
||||
int flipx = (source[1] & 0x0010) >> 4;
|
||||
int flipy = (source[1] & 0x0008) >> 3;
|
||||
int chain = (source[1] & 0x00e0) >> 5;
|
||||
int number = (source[2] & 0x00ff) | (source[3] & 0x00ff) << 8;
|
||||
int colourbank = (source[4] & 0x000f);
|
||||
|
||||
if (flip_screen())
|
||||
{
|
||||
flipy = !flipy;
|
||||
flipx = !flipx;
|
||||
ypos = 240 - ypos - m_sprite_xoff;
|
||||
xpos = 304 - xpos;
|
||||
}
|
||||
|
||||
for (count=0;count<chain;count++) {
|
||||
if (flip_screen()) {
|
||||
if (!flipy) {
|
||||
gfx->transpen(bitmap,cliprect,number+count,colourbank,flipx,flipy,xpos,ypos+(16*(chain-1))-(16*count),0);
|
||||
} else {
|
||||
gfx->transpen(bitmap,cliprect,number+count,colourbank,flipx,flipy,xpos,ypos+16*count,0);
|
||||
}
|
||||
} else {
|
||||
if (flipy) {
|
||||
gfx->transpen(bitmap,cliprect,number+count,colourbank,flipx,flipy,xpos,ypos-(16*(chain-1))+(16*count),0);
|
||||
} else {
|
||||
gfx->transpen(bitmap,cliprect,number+count,colourbank,flipx,flipy,xpos,ypos-16*count,0);
|
||||
}
|
||||
for (int count = 0; count <= chain; count++)
|
||||
{
|
||||
if (flip_screen())
|
||||
{
|
||||
if (!flipy)
|
||||
gfx->transpen(bitmap, cliprect, number + count, colourbank, flipx, flipy, xpos, ypos + (16 * chain) - (16 * count), 0);
|
||||
else
|
||||
gfx->transpen(bitmap, cliprect, number + count, colourbank, flipx, flipy, xpos, ypos + 16 * count, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (flipy)
|
||||
gfx->transpen(bitmap, cliprect, number + count, colourbank, flipx, flipy, xpos, ypos - (16 * chain) + (16 * count), 0);
|
||||
else
|
||||
gfx->transpen(bitmap, cliprect, number + count, colourbank, flipx, flipy, xpos, ypos - 16 * count, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
source+=8;
|
||||
|
||||
source += 8;
|
||||
}
|
||||
}
|
||||
|
||||
@ -232,8 +219,6 @@ void ddragon3_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
|
||||
/*****************************************************************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
uint32_t ddragon3_state::screen_update_ddragon3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
m_bg_tilemap->set_scrollx(0, m_bg_scrollx);
|
||||
@ -269,7 +254,7 @@ uint32_t ddragon3_state::screen_update_ctribe(screen_device &screen, bitmap_ind1
|
||||
m_fg_tilemap->set_scrollx(0, m_fg_scrollx);
|
||||
m_fg_tilemap->set_scrolly(0, m_fg_scrolly);
|
||||
|
||||
if(m_vreg & 8)
|
||||
if (m_vreg & 8)
|
||||
{
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||
draw_sprites(bitmap, cliprect);
|
||||
@ -287,39 +272,44 @@ uint32_t ddragon3_state::screen_update_ctribe(screen_device &screen, bitmap_ind1
|
||||
|
||||
uint32_t wwfwfest_state::screen_update_wwfwfest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
if (m_pri == 0x78) {
|
||||
m_fg_tilemap->set_scrolly(0, m_fg_scrolly );
|
||||
m_fg_tilemap->set_scrollx(0, m_fg_scrollx + m_bg0_dx);
|
||||
m_bg_tilemap->set_scrolly(0, m_bg_scrolly );
|
||||
m_bg_tilemap->set_scrollx(0, m_bg_scrollx + m_bg1_dx[0]);
|
||||
} else {
|
||||
m_bg_tilemap->set_scrolly(0, m_fg_scrolly );
|
||||
m_bg_tilemap->set_scrollx(0, m_fg_scrollx + m_bg1_dx[1]);
|
||||
m_fg_tilemap->set_scrolly(0, m_bg_scrolly );
|
||||
m_fg_tilemap->set_scrollx(0, m_bg_scrollx + m_bg0_dx);
|
||||
if (m_pri == 0x78)
|
||||
{
|
||||
m_fg_tilemap->set_scrolly(0, m_fg_scrolly);
|
||||
m_fg_tilemap->set_scrollx(0, m_fg_scrollx + m_bg0_dx);
|
||||
m_bg_tilemap->set_scrolly(0, m_bg_scrolly);
|
||||
m_bg_tilemap->set_scrollx(0, m_bg_scrollx + m_bg1_dx[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_bg_tilemap->set_scrolly(0, m_fg_scrolly);
|
||||
m_bg_tilemap->set_scrollx(0, m_fg_scrollx + m_bg1_dx[1]);
|
||||
m_fg_tilemap->set_scrolly(0, m_bg_scrolly);
|
||||
m_fg_tilemap->set_scrollx(0, m_bg_scrollx + m_bg0_dx);
|
||||
}
|
||||
|
||||
/* todo : which bits of pri are significant to the order */
|
||||
|
||||
if (m_pri == 0x7b) {
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE,0);
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
draw_sprites(bitmap,cliprect);
|
||||
// TODO: which bits of pri are significant to the order
|
||||
if (m_pri == 0x7b)
|
||||
{
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
draw_sprites(bitmap, cliprect);
|
||||
}
|
||||
|
||||
if (m_pri == 0x7c) {
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE,0);
|
||||
draw_sprites(bitmap,cliprect);
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
if (m_pri == 0x7c)
|
||||
{
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||
draw_sprites(bitmap, cliprect);
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
}
|
||||
|
||||
if (m_pri == 0x78) {
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE,0);
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
draw_sprites(bitmap,cliprect);
|
||||
if (m_pri == 0x78)
|
||||
{
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
draw_sprites(bitmap, cliprect);
|
||||
}
|
||||
|
||||
m_fg0_tilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
m_fg0_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user