Opened 8 months ago

Closed 8 months ago

Last modified 8 months ago

#13529 closed defect (fixed)

SCI: Character models and faces don't render on CD Version of Jones in the Fast Lane if using OpenGL mode on MacOS and iOS

Reported by: Purduecoz Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: Jones in the Fast Lane

Description (last modified by Purduecoz)

Using ScummVM 2.5.1 (MacOS/Apple Silicon) and Jones in the Fast Lane CD version, character models and faces do not appear in the game if using Default/OpenGL graphics mode. All other graphics and sounds appear to be unaffected. This problem does not occur if using SDL Surface graphics mode. The issue does also occur on iOS/iPadOS 15.5 running on a 5th General iPad Pro (M1 chip) with the latest build of ScummVM 2.6.0git - there doesn't appear to be an alternate graphics mode option on iPad/iOS. Oddly, this issue does not seem to be present in the iOS port of the ScummVM 2.5.1 release.

Attachments (2)

Screen Shot 2022-05-30 at 8.45.35 PM.png (213.6 KB ) - added by Purduecoz 8 months ago.
Screen Shot 2022-05-30 at 8.45.55 PM.png (1.6 MB ) - added by Purduecoz 8 months ago.

Download all attachments as: .zip

Change History (14)

comment:1 by Purduecoz, 8 months ago

Description: modified (diff)
Keywords: opengl added

comment:2 by Purduecoz, 8 months ago

Summary: Character models and faces don't render (CD Version, MacOS Apple Silicon and iOS affected)Character models and faces don't render on CD Version of Jones in the Fast Lane if using OpenGL mode on MacOS and iOS

comment:3 by Purduecoz, 8 months ago

Description: modified (diff)

comment:4 by Purduecoz, 8 months ago

No longer convinced this has to do with OpenGL. I have been able to reproduce this with Surface SDL too. I've also had the models draw properly with both OpenGL and Surface SDL modes. I cannot determine what causes the models to draw properly sometimes and yet not others, but am able to reproduce the issue quite frequently. It does not draw properly more often than it does. This is with ScummVM release 2.5.1 on Apple Silicon.

comment:5 by Purduecoz, 8 months ago

I've done some more troubleshooting, and this problem only gets stranger. I am unable to reproduce the issue on my iMac, which is running an M1 chip. I can reproduce this problem almost every time on my MacBook Pro, which is running an M1 Pro chip. Potential issue with number of graphics cores?

I have found a way to mitigate the problem though. If I choose "Watch Demo" from the main menu, the first time Jones starts playing, his image is not drawn, just as with the 'human' player images. If I immediately click again to end the demo, and then choose "Watch Demo" again, Jones's image is drawn, as are the other character models. The models then are drawn properly until the next time I exit and run the game. Both the iMac and iMac Pro are running ScummVM 2.5.1 (Apple Silicon binary) and MacOS 12.4 (Monterey) on fresh installations.

Not sure how best to help someone narrow this down, but glad to do whatever I can. Thanks.

comment:6 by Purduecoz, 8 months ago

Component: Port: Mac OS XEngine: SCI
Description: modified (diff)
Summary: Character models and faces don't render on CD Version of Jones in the Fast Lane if using OpenGL mode on MacOS and iOSSCI: Character models and faces don't render on CD Version of Jones in the Fast Lane if using OpenGL mode on MacOS and iOS

comment:7 by Purduecoz, 8 months ago

Confirmed same behavior still exists in nightly 2.6.0git build.

comment:8 by sluicebox, 8 months ago

Thanks for reporting this and helping narrow it down. It took be a few combinations but I can occasionally reproduce this:

  • Macbook air m1
  • Buildbot nightly m1 build
  • Watch the demo, no animations appear in the middle area

When I can reproduce this, it always happens until I start changing settings and remove/re-add game. The relationship between the video settings for launcher vs. video settings for the game might be relevant too. Next time I get it to happen I'll backup the config.

It didn't matter if I selected DOS or Windows when adding the game; both broke.

Last edited 8 months ago by sluicebox (previous) (diff)

comment:9 by sluicebox, 8 months ago

Keywords: sci opengl jones macos apple silicon removed
Owner: set to sluicebox
Resolution: fixed
Status: newclosed

Fixed in https://github.com/scummvm/scummvm/commit/3c3ed549f1097c7550d53be06454c81a4e4e3fbd

Your computers are too fast! =)

The game failed its own speed test because it sometimes got such a high score that it interpreted it as a negative number. I've patched out the test so that it always passes.

You can work around this in earlier versions by going to Options \ Graphics Detail Level in the game's menubar and setting the detail back to highest.

Thanks again for reporting!

comment:10 by Purduecoz, 8 months ago

You'll have to excuse just how impressed I am that you were able to identify and remediate this issue based solely upon the rambling and quite un-scientific testing and problem description that I was able to offer! Thanks so much for your (and really all of the contibutors') efforts.

comment:11 by sluicebox, 8 months ago

Aw, thanks! That's very kind of you. This was a fun one. Like so many of them, I would never have guessed where this was going. (Also I've stopped guessing at these because I'm always wrong.) Although now I'm thinking I need a Memento tattoo: ITS ALWAYS THE SPEED TEST

Your descriptions were great! By time I noticed the ticket, you'd amassed a lot of details and I was able to rule a lot of things out. It's pretty funny that a speed test for a DOS game is finally able to cram over 32,767 game cycles into a second and break thanks to Apple. If I didn't have an M1 available this would have taken... longer. Also this was the first time I've ever "played" Jones in the Fast Lane, so it's a good thing all I had to do was click Watch Demo! =)

Also don't worry, you shouldn't expect "M1's are too fast!" to be a recurring theme here. We throttle the Sierra games to a constant stable speed that's glacial compared to what any computer from the last 20 years can do, but the speed tests are the one exception to that so that they'll get good scores and enable everything. That said, I should probably just go through and audit all the remaining ones that haven't been explicitly patched out yet and do so. (They're all a little different)

Last edited 8 months ago by sluicebox (previous) (diff)

comment:12 by sluicebox, 8 months ago

Update: I've applied this fix to all remaining SCI16 games.

https://github.com/scummvm/scummvm/commit/ea48986006a1d85b5302f0c3d2ac828e29a66813

Note: See TracTickets for help on using tickets.