wrathplaces - MacSourcePorts/MSPBuildSystem GitHub Wiki
Information
Source Port | wrathplaces |
Game(s) | WRATH: Aeon of Ruin |
Homepage | https://github.com/atsb/wrathplaces |
Source Code | https://github.com/atsb/wrathplaces |
Build Type: | Mac Source Ports Fork |
Mac Source Ports Fork: | https://github.com/macsourceports/wrathplaces |
Port Type | Original Source Code |
Project Build Strategy | Project doesn’t do Mac builds |
Source Code Strategy | Source available |
Projct Release Strategy | Versioned releases |
Mac Support Status | Project uses our builds |
Project Status | Active |
Build System | Make |
Programming Language(s) | C/C++ |
Data Situation | Needs to have the kp1 directory from WRATH in the same directory as wrathplaces.app |
Homebrew Requirements | brew install sdl2 ogg vorbis vorbisfile vorbisenc freetype libpng libjpeg |
Notes
Had to do a little tweaking for this one.
First, semi-unique to this port is that while it needs things like libvorbis, libogg, etc. it doesn't use them linked in to the main executable, it loads them itself, meaning they have to be in an accessible location it can find, etc. And the same folder as the executable within the app bundle wasn't cutting it. I put them in the Resources
directory and used the SDL_GetBasePath
method to get the locations. Not best practice but it works. Also, it loads them up a few at a time and for some reason if it loaded vorbisfile
before ogg
, then it would fail to load vorbisfile
, except it would try vorbisfile
before ogg
, so I had to make it load ogg
at a different place. It's weird.
Also this whole concept broke when I started doing the hardened runtime so I had to make an entitlements file to get around it.
Finally, this is all for an early access game which is unfinished so I need to monitor the situation in case more changes are necessary to get the final thing running.
UPDATE: between the time I wrote the above and now, the final, full 1.0 version of the game has been released, and the official source code has been moved to https://github.com/Official3DRealms/wrath-darkplaces (it looks like there was some drama behind the scenes when the original developer proved unable to finish the game and another team was brought in to finish it). The original wrathplaces project has not updated so I figured out the differences and applied them, since the existing build would no longer run the full game. I then updated to the 1.12 version of the code (current latest version).
The game runs, though there is apparently a late game enemy that causes the occasional crash. I'm not sure what to do about this since this is ideally something the developers fix, but they don't officially support the Mac, so the fact that it causes an issue is not really their problem. This is something unusual to this project and just a few others since they're modern, actively supported games. I don't want to dig in and fix it only to discover a later version of the code/data conflicts.
MSP Fork differences:
These were the changes needed to build/run on the Mac, at least as I built it. There are numerous others as a result of grafting in the official code changes but for posterity these were the original changes
jpeg.c
makefile
makefile.inc
snd_ogg.c
sys.h
sys_sdl.c
sys_shared.h