カテゴリ | 重要度 | ステータス | 解決状況 | 登録日時 | 最終更新 |
---|---|---|---|---|---|
グラフィック | 中 | 解決済み | 修正済み | 2010-02-10 07:29 | 2019-01-21 15:41 |
テスター | Oliver_A | 担当者 | smf | ソース | nintendo/popeye.cpp |
バージョン | 0.136u2 | 発生バージョン | 修正バージョン | 0.194 | |
修正コミット | プルリク | ||||
フラグ | 実機・資料検証済み | ||||
セット | popeye | ||||
セット詳細 |
popeye - ポパイ (revision D)
| ||||
概 要 | スプライト描画のプライオリティなどが実機と異なる。 | ||||
詳 細 | On the real Popeye hardware, sprite colour 0 is not transparent with respect to overlapping sprites. It's only transparent with respect to the background graphics. When two sprites overlap in Popeye, the sprite with the highest priority COMPLETELY overdraws the sprite underlying it, including the transparent area (pixel with colour value 0). The result is that instead of proper sprite prioritzing, overlapping sprites are overdrawn like chunky blocks. The sprite rendering code in MAME wrongly treats sprite colour 0 as transparent, which is the case in almost all games with hardware sprites, but NOT Popeye. | ||||
再現手順 | Play the original Popeye PCB, and see what happens when two sprites overlap. For instance, let Popeye run into Brutus. You'll see that when Popeye overlaps Brutus, he completely overdraws him, with no pixel of Britus visible below the Popeye sprite block. | ||||
追加情報 | I have included screenshots from my original Nintendo Popeye PCB which show the issue. The falling Popeye, when losing a life, completely overdraws the Bluto sprite. Note that it's quite hard to photograph, but anyone else owning a real Popeye will confirm it. The PCB is 100% working, this is no hardware glitch. It's the way how the sprite hardware is designed to cope with high resolution sprites. | ||||
添付ファイル | Popeye_Sprite.zip (2010-02-10 07:29) | ||||
popeye_pens.zip (2010-02-10 09:05) | |||||
101_9901.JPG (2010-02-10 21:14) | |||||
popeye1.jpg (2010-02-11 03:14) | |||||
popeye2.jpg (2010-02-11 03:14) | |||||
popeye3.jpg (2010-02-11 03:15) | |||||
popeye.c (2010-02-11 08:27) |