- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
00944 | Graphics | Minor | Have not tried | Feb 7, 2008, 10:39 | Sep 4, 2010, 22:17 |
Tester | Fujix | View Status | Public | Platform | |
Assigned To | robiza | Resolution | Fixed | OS | |
Status [?] | Resolved | Driver | |||
Version | 0.37b9 | Fixed in Version | 0.139u3 | Build | |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 00944: ghox: There are gfx glitches on the background in the ending scene. | ||||
Description | There are gfx glitches on the background in the ending scene. Also there's a small bit of garbage on the ranking screen. | ||||
Steps To Reproduce | |||||
Additional Information | |||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | ghox | ||||
Attached Files
|
ghox save state 0.128u2.7z (76,745 bytes) Nov 10, 2008, 17:03
| ||||
170485-ghox.png (48,441 bytes) Nov 10, 2008, 17:04
| |||||
ghox_multisprite1.png (17,496 bytes) Sep 4, 2010, 22:13
| |||||
Relationships
There are no relationship linked to this issue. |
Notes
3
No.03022
Tafoid Administrator
Nov 10, 2008, 17:05
|
Added save state and screenshot made by ShimaPong and posted here: http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=170485 |
---|---|
No.03963
robiza Developer
Mar 15, 2009, 08:41
|
the wrong gfx are sprites |
No.03964
robiza Developer
Mar 15, 2009, 10:42
edited on: Sep 4, 2010, 22:17 |
it's necessary to implement a multi sprite bit in the drawing routine (fix submitted) [code] Modified: trunk/src/mame/video/toaplan2.c =================================================================== --- trunk/src/mame/video/toaplan2.c 2009-03-15 07:07:02 UTC (rev 4819) +++ trunk/src/mame/video/toaplan2.c 2009-03-15 10:40:26 UTC (rev 4820) @@ -72,7 +72,7 @@ ---- xxxx ---- ---- = Priority (0 - Fh) ---x ---- ---- ---- = Flip X --x- ---- ---- ---- = Flip Y - -?-- ---- ---- ---- = unknown / unused + -x-- ---- ---- ---- = Multi-sprite x--- ---- ---- ---- = Show sprite ? 1 @@ -1315,13 +1315,16 @@ { const gfx_element *gfx = machine->gfx[ ((controller*2)+1) ]; - int offs; + int offs, old_x, old_y; UINT16 *source = (UINT16 *)(spriteram16_n[controller]); priority_to_display <<= 8; + old_x = (-(sprite_scrollx[controller]+xoffset[3])) & 0x1ff; + old_y = (-(sprite_scrolly[controller]+yoffset[3])) & 0x1ff; + for (offs = 0; offs < (TOAPLAN2_SPRITERAM_SIZE/2); offs += 4) { int attrib, sprite, color, priority, flipx, flipy, sx, sy; @@ -1350,9 +1353,18 @@ sprite_sizey = ((source[offs + 3] & 0x0f) + 1) * 8; /***** find position to display sprite *****/ - sx_base = ((source[offs + 2] >> 7) - (sprite_scrollx[controller]+xoffset[3])) & 0x1ff; - sy_base = ((source[offs + 3] >> 7) - (sprite_scrolly[controller]+yoffset[3])) & 0x1ff; + if (!(attrib & 0x4000)) + { + sx_base = ((source[offs + 2] >> 7) - (sprite_scrollx[controller]+xoffset[3])) & 0x1ff; + sy_base = ((source[offs + 3] >> 7) - (sprite_scrolly[controller]+yoffset[3])) & 0x1ff; + } else { + sx_base = (old_x + (source[offs + 2] >> 7)) & 0x1ff; + sy_base = (old_y + (source[offs + 3] >> 7)) & 0x1ff; + } + old_x = sx_base; + old_y = sy_base; + flipx = attrib & TOAPLAN2_SPRITE_FLIPX; flipy = attrib & TOAPLAN2_SPRITE_FLIPY; [/code] |