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

Resurrect the i586 build by polyfilling the C++ standard library #58

Open
nmlgc opened this issue Feb 28, 2024 · 0 comments
Open

Resurrect the i586 build by polyfilling the C++ standard library #58

nmlgc opened this issue Feb 28, 2024 · 0 comments
Labels
Vintage Only necessary to keep the game working on the old Windows 9x systems that it originally targeted. ~≤0.33 pushes Projected number of pushes needed. Might turn out to get more expensive!

Comments

@nmlgc
Copy link
Owner

nmlgc commented Feb 28, 2024

The P0275 build started using std::jthread and std::filesystem around the .DAT file loading code, which Visual Studio 2022's CRT implements using several Win32 API functions that are only available on Vista and later. Since these functions are not covered by KernelEx and Kstub822.zip, I no longer ship an i586 build because I couldn't easily test such a build anymore.

Note that this issue is different from #53. That issue offers a choice between porting SDL 2 or just writing new DirectSound and DirectInput backend code, whereas this one necessarily involves new platform interfaces for threads and the filesystem, which would be unnecessary otherwise. Shouldn't be all too difficult though, and is very likely to fall on the lower end between 0.1 and 0.33 pushes in terms of effort.

@nmlgc nmlgc added ~≤0.33 pushes Projected number of pushes needed. Might turn out to get more expensive! Vintage Only necessary to keep the game working on the old Windows 9x systems that it originally targeted. labels Feb 28, 2024
nmlgc added a commit that referenced this issue Mar 9, 2024
This delivery will introduce `std::filesystem` and `std::jthread` to
core parts of game code. The Visual Studio CRT implements these with
Win32 API functions that aren't available on Windows 98, even with the
most available KernelEx version. Let's drop this build until someone
actually funds #53 and #58, since I'm going to be unable to test it.

Part of P0270, funded by Ember2528.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Vintage Only necessary to keep the game working on the old Windows 9x systems that it originally targeted. ~≤0.33 pushes Projected number of pushes needed. Might turn out to get more expensive!
Projects
None yet
Development

No branches or pull requests

1 participant