Previous Post

Project: PhysicsFS 3.0

Next Post
Project: PhysicsFS 3.0
DESCRIPTION

I'm working on PhysicsFS as part of this month's Patreon work, with the goal of getting this to a 3.0 release.

Expect there to be a bunch of commits in a fairly short time.

Here's where I am so far:

- The 2.1 API (which will lock down to a 3.0 release) is almost ready. There are new functions, but generally you can take a program written for PhysicsFS 1.0 and safely compile it against 3.0 and it'll still do the right thing. You only need to use newer APIs if you want better functionality, but generally the 1.0 and 2.0 APIs are still not even deprecated. Bug fixes are still made to the stable-2.0 branch (stable-1.0 is probably done now), but since it's generally safe to update to the 3.0 library, you probably should, even if you don't specifically use 3.0 APIs, since things tend to improve behind the scenes beyond simple bug fixes.

- I've restored OS/2 support. I know, eye-roll, I know, but...ArcaOS 5.0 was released, making this no-longer a "dead" OS, most of the code was written already in revision control anyway and I've always had a special place in my heart for OS/2, to be honest. I don't expect this to be a massive userbase or anything, but having a few OSes that aren't so Unixy helps clean assumptions out of the library, which makes it worthwhile in any case, so I cleaned it up and added Unicode support. This work is ready to go now and is pushed to Mercurial.

- We have a buildbot! We now automatically build every commit to revision control across 16 targets in about 60 seconds, so I can see if I broke the build right away. As the waterfall is a sea of red failure notices across the board right now, this was apparently a necessary tool to have spent the time on.

You can see the waterfall of builds here:

https://physfs-buildbot.icculus.org/waterfall

The current builds are:

* Linux/amd64

* Linux/x86

* Visual Studio 2010 (x86-32 and x86-64)

* MingW64 (x86-32 and x86-64)

* Cygwin

* Emscripten

* macOS

* Raspberry Pi

* FreeBSD (with GCC and Clang)

* Haiku (the modern BeOS)

* Debian/kFreeBSD

* OpenBSD

* OS/2

These targets will change over time; it's probably already time to drop FreeBSD/gcc, for example, and there are others to get in there still like iOS, Android, WinRT.

- Symlinks work as expected on Windows again (did you know NTFS supports symlinks?! Win32 has a API for this since Windows Vista. PhysicsFS uses it now. The library should still work back to WinNT 3.x, though, and if you are willing to use UNICOWS.DLL, it'll probably work on the original retail build of Windows 95...just no symlinks on those platforms.)

There's more to be done, but I think this will be ready this month if everything works out. If you have a patch or bug report pending that I've forgotten about (because I do that all the time), please let me know!

Ryan C. Gordon PATREON 3 favs
VIEWS1
FILES1 file
POSTEDJul 9, 2017
ARCHIVEDJul 9, 2017