The macOS progress keeps on coming.
Yesterday I was working on a bug in our macOS build process.
It manifested as a problem with one of the library bundles used by the game. It would work perfectly when I cross-built it from my Windows machine, but not when it came from our build server.
I took the server build and replaced the problem library with the one from my local build, and it worked fine. So something was going on there.
I did a diff on the libraries, and all the changes detected were differences in line endings. How strange.
Now I've run into line-ending issues before, and so I had a suspicion it was related to git. Git has some settings for handling line endings when files are committed or checked out. One is
core.autocrlf, which, if set to
true, converts all line endings to Windows style on checkout, so this was definitely a candidate.
I confirmed that our repo was all Unix line endings (using
git ls-files --eol) and that my local machine didn't have
core.autocrlf set to
git config --list) and then Borodust checked the windows build agent.
It turns out the build agent did indeed have
core.autocrlf set to
true, ace. So he corrected it, but the next build still had the same problem. In fact, on inspection, it turned out the files still had the wrong line endings. Dangit.
After a little head-scratching, we realized the issue. Changing the setting naturally doesn't fix the already checked-out files, and each build only needed to check out the changed files. The library in question hadn't changed, so it was still checked out incorrectly.
We forced the build agent to pull a fresh copy of the repositories, and bam! Working macOS build on Steam!
Of course, that's not all the release blocking issues, but the list is quickly shrinking. As always intimated by the disclaimer at the bottom of my posts, I'm not the only one working on these issues. Ree has been fixing mac specific UI, creature control, and settings issues. Borodust's helping on the backend, and Chairmander in testing, all while working on their own tasks. It is very motivating, and this is just talking about macOS. Things are moving steadily in the right direction.
Next up for me is probably looking into our handling of settings so we can have the game pick sensible defaults for different platforms.
That's for another dev-log though :)
Disclaimer: This DevLog is from the perspective of one developer. It doesn't reflect everything going on with the team
 and back to Unix line endings on commit