mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-04 16:26:53 +00:00
SCUMM: Hack around Mac Loom text glitch
When using Straw To Gold (either on Loom island or in the Blacksmiths's cell), the "gold" / "straw" texts overlap each other. This does not happen in the original. Normally, script 8 would be responsible for erasing that part of the screen, I think, but the Mac version does things differently than the DOS version and I can't figure out how to get it to work properly. Maybe it's all down to differences in how we implement the high-resolution text rendering in ScummVM? I'm adding a hack to fix it for now, but if anyone has a better solution I'd be happy to see it go. Fortunately, only two games use this, and the hack only affects one of them. I've played through the game - again - without seeing any regressions.
This commit is contained in:
parent
88aaf2ce4d
commit
9d9b6be671
@ -1277,6 +1277,15 @@ void ScummEngine::setVerbObject(uint room, uint object, uint verb) {
|
||||
if (whereIsObject(object) == WIO_FLOBJECT)
|
||||
error("Can't grab verb image from flobject");
|
||||
|
||||
// HACK: When the straw changes to gold, or the other way around, the
|
||||
// object image changes, but the text is not undrawn. This causes the
|
||||
// two object names to overlap each other. The text can be undrawn by
|
||||
// script 8, but the logic for it is more convoluted in the Mac version
|
||||
// than in the EGA DOS version, and I can't figure out how to bend it
|
||||
// to my will. So hard-code the clearing here.
|
||||
if (_game.id == GID_LOOM && verb == 53 && _game.platform == Common::kPlatformMacintosh)
|
||||
drawBox(232, 152, 312, 192, 0);
|
||||
|
||||
if (_game.features & GF_OLD_BUNDLE) {
|
||||
for (i = (_numLocalObjects-1); i > 0; i--) {
|
||||
if (_objs[i].obj_nr == object) {
|
||||
|
Loading…
Reference in New Issue
Block a user