Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCUMM: Fix the Nazis' uniforms in the corridors of Castle Brunwald (FM-TOWNS) #3930

Conversation

dwatteau
Copy link
Contributor

@dwatteau dwatteau commented May 31, 2022

This is a small, non-critical oversight from the original game. This PR can be put on hold for the 2.6.0 freeze.

Context

The 256-color versions of Indy3 are "interesting" in that they have various color problems… sometimes the FM-TOWNS version fixed some of them while the PC VGA version didn't, or vice versa. (And some problems were never fixed anywhere.)

Anyway, I don't have the FM-TOWNS version (crazy crazy prices) but ATMachine had a very interesting analysis:
https://web.archive.org/web/20111015233333/http://home.comcast.net/~ervind/ij3misc.html

One particular point struck me: "Also in the FM Towns version, a similar error happens with the Nazis in the Castle Brunwald corridors: the game scripts change their green uniforms to grey."

The problem is that it is a continuity error, then:
https://www.youtube.com/watch?v=ahOrPF1PjcY&t=200s
https://web.archive.org/web/20131210202142im_/http://i20.photobucket.com/albums/b241/ATMachine/lecmisc/ij3towns7.png

In the corridors, the guards (and Biff) wear gray, but if you fight them one second later they wear green. They're also always in green when you are in the zeppelin maze. So yes, indeed, it looks like the FM-TOWNS porters forgot to turn off the palette override for these costumes in the corridor view.

So, if there's any SO_PALETTE override given to ActorOps() for these costumes in the corridor rooms, the following PR will just ignore it, since it was just meant for the EGA version, and the PC VGA version doesn't have it anymore.

But… I don't have the FM-TOWNS version of Indy 3, so I couldn't test this! I just made a guess and tried to emulate this condition by tweaking my PC VGA version.

So it'd be better not to merge this until someone with an FM-TOWNS Indy3 can tell if this works ⚠️. Thanks in advance!

How to test

  1. Launch the FM-TOWNS version of Indy 3
  2. Explore all the corridors of Castle Brunwald. All the Nazi guards (and Biff) in the corridor view (= top-down perspective) should wear green as they do when you meet them. (Higher officials are not supposed to wear green, as far as I know.)

…M-TOWNS)

In Indy 3, some palette overrides were sometimes necessary to deal
with the 16-color limitation of EGA. When porting the game to the
FM-TOWNS, the palette overrides for the Nazis guards in the corridors
of Castle Brunwald weren't removed, and so their uniforms would be
gray there, although they were properly colored in green in all the
other rooms, including the zeppelin maze.

The PC VGA version doesn't have this problem, since they did remove
this palette override there.
@dwatteau dwatteau force-pushed the fix/indy3-uniform-color-brunwald-corridors-fmtowns branch from 6598b3d to 6726363 Compare May 31, 2022
@einstein95
Copy link
Contributor

@einstein95 einstein95 commented May 31, 2022

Seems to work fine
image

FM-Towns version doesn't seem to use costume 29 tho

room-20-200     setVarRange(Var[128],2,[28,28]);
room-28-200     setVarRange(Var[128],2,[28,28]);
room-32-200     setVarRange(Var[128],3,[28,23,28]);

@AndywinXp
Copy link
Contributor

@AndywinXp AndywinXp commented May 31, 2022

I'm honestly loving these, keep 'em coming!

@dwatteau
Copy link
Contributor Author

@dwatteau dwatteau commented May 31, 2022

Seems to work fine

[...]

FM-Towns version doesn't seem to use costume 29 tho

room-20-200     setVarRange(Var[128],2,[28,28]);
room-28-200     setVarRange(Var[128],2,[28,28]);
room-32-200     setVarRange(Var[128],3,[28,23,28]);

Thanks for your test! Happy to see that it seems to work :)

As for costume 29, yes, I didn't see it either while exploring the corridors, and my first commit didn't have it. In the PC VGA version it looks like a complete duplicate of costume 28 (the resource appears identical). Strangely, costume 29 is part of room 39 (first zeppelin room, which isn't in top-down view). So it's maybe just a costume leftover, as often happens in the games.

I could either keep it or remove it from this workaround.

@bluegr
Copy link
Member

@bluegr bluegr commented Jun 14, 2022

Nice work, thanks!

@bluegr bluegr merged commit 74d4cb8 into scummvm:master Jun 14, 2022
8 checks passed
@dwatteau dwatteau deleted the fix/indy3-uniform-color-brunwald-corridors-fmtowns branch Jun 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants