TerryCavanagh/VVVVVV

Support for Windows XP 32-bit apparently dropped

Closed this issue · 7 comments

This can probably be quickly closed as "not worth the effort to support OS versions this dinosaur", but since the Windows version is apparently still compiled with VS2010, I don't immediately see what made it incompatible...

Source: a comment on https://terrycavanagh.itch.io/vvvvvv

itch.io message

(It's kind of an entitled remark, for an OS we're probably one of the last apps to even still have supported in the first place, and I don't think anyone would blame us for not supporting it anymore except for this person 😛)

It might be SDL that stopped working, I dunno... I know we recently patched SDL3 with fixes for XP, but I don't have a setup to test with. They're welcome to build from source to see what's wrong, I'd be okay with patching stuff in since there's hardly any OS stuff in the game anyway...

So I tested it on Windows XP just now:

Can't find GetFileInformationByHandleEx in SHELL32.dll

It's a PhysFS issue. It seems like if the compiler supports Vista+, a Vista+ function will be used and thus the compiled program will not run on XP?

EDIT: This seems relevant: icculus/physfs#7

Ah, yeah you're right - if the relevant upstream commit doesn't fix this we should revive that ticket. (At the same time they should probably backport the fix to a stable release if it does work...)

Seems like what recently got merged was a fix for a similar Windows 7/8 split, so XP is still not supported unless we explicitly set _WIN32_WINNT to signal XP as a minimum target version.

Just checked the 2.4.1 Steam build on XP and that also doesn't work.

I'm pretty sure it doesn't require any code patches - we just need to define _WIN32_WINNT to 0x0501 for PhysFS, to make it not use any Vista+ only APIs.

Need to rebuild the nonSteam packages anyhow, so I'll do that today. (Will skip Steam since they don't even support <10 anymore...)

Refrigerator approved!

2.4.1 on XP