SpaceCadetPinball icon indicating copy to clipboard operation
SpaceCadetPinball copied to clipboard

Scoring Table Problem

Open bubenator opened this issue 3 years ago • 6 comments

Hi. I'm a n00b, just tried the x86 game for fun. There seems to be a problem with writing to the high score table. If you play with multiple players, only the first player who achieves a high score gets their score recorded. If another player (of the multiple) has an even higher score, the game won't recognize the high score. Just highlighting a bug. Thanks for going to the effort in making the game work again!

bubenator avatar Mar 14 '22 02:03 bubenator

Hello. No problem, this game did not deserve to be lost in obscurity.

To fix this, I need to know which version/release of the game you are using? Bugs like this are kind of expected, as I did not test the hotseat functionality at all)

k4zmu2a avatar Mar 14 '22 07:03 k4zmu2a

I'm running the Windows x86 version - v. 2.0.1 on a 64-bit Windows 10 system.

I tried the 64-bit version of Space Cadet first, but it puts up a System Error mesage stating VCRUNTIME140_1.dll was not found. Since I don't know where to find such a file, I tried the x86 version instead. Upon intial startup, the x86 version puts up an error message indicating a .DAT file is missing. I copied my original Windows XP Pinball .DAT files (FONT.DAT and PINBALL.DAT) into the directory and the program played fine with exception of the scoring issue.

Just for reference, the original Windows XP version of 3D Pinball runs on my Windows 10 64-bit machine, but the ball movement isn't smooth and there's a recurring bug where the ball falls through the flippers on occasion. It's actually that bug which led me to finding your project.

bubenator avatar Mar 14 '22 15:03 bubenator

Ok, I will take a look at the scoring issue.

VCRUNTIME140_1.dll is part of Microsoft Visual C++ Redistributable, the game is linked with that runtime. You probably have only x86 runtime installed, you can download x64 runtime here: https://aka.ms/vs/17/release/vc_redist.x64.exe.

Original game is known for its loose frame timing, no surprises here. It also suffers from image tearing. I addressed all these issues in my project and made frame pacing customizable in the options.

My project also supports game data from Full Tilt pinball (cadet table only for now), a commercial version of 3D pinball. It has high resolution sprites that scale better for modern display resolutions.

k4zmu2a avatar Mar 15 '22 05:03 k4zmu2a

I can reproduce this bug, version 2.0.1 with Full Tilt! game files, on 64 bit linux (gentoo)

NicolaSmaniotto avatar Mar 15 '22 10:03 NicolaSmaniotto

This problem is caused by async nature of ImGui dialogs. 3DPB high score code expects the dialog to run synchronously as it was in v1. It works for one player, for two players and up all high score calls end up collapsed into the last one. I will fix it with a high score queue when I get some free time.

k4zmu2a avatar Apr 01 '22 05:04 k4zmu2a

This bug is now fixed in v2, no action needed for v1.

k4zmu2a avatar Apr 11 '22 07:04 k4zmu2a

Released in V2.1.0

k4zmu2a avatar Oct 16 '23 07:10 k4zmu2a