EDIT: I couldn't resist trying the system NSPR since it's so easy to switch with everything as pacman packages. The JS library built fine with it as did Oolite. The game seems to work fine too. What are your thoughts on using the standard MSYS2 MinGW64 package instead of building it from my copy of your repo?
Whatever feels easier for you is fine as long as it all works.
Regarding installers, we need one more installer for generating Test Release builds. The one we have generates Deployment configurations only. Alternatively we need a converter mini-installer to be able to go from Deployment to TR in one click. But in any case being able to generate TR installers for any reason the developers may consider appropriate is desirable.
As far as your inclusion to the dev team, I am currently out on business trip and can't do it just yet. Will be done upon returning to base.
Currently the release uses make target pkg-win-deployment while the GitHub Actions test build workflow uses the pkg-win target. Is pkg-win or pkg-win-snapshot a test release build? Do we need three types of release or are two sufficient? If two, I could simplify to one Release workflow that is started automatically when you create a new release in GitHub and which attaches artifacts to the release. It could use pkg-win (or pkg-win-snapshot if you prefer) for a pre-release and pkg-win-deployment for release. If the complexity warrants 3 types of release, I could set up the separate test release workflow that is manually run and produces a zip of all artifacts in the workflow run with pkg-win-snapshot. It would sit alongside the Release workflow with pkg-win for a pre-release and pkg-win-deployment for release.
BTW, do you have the original clean repo off which your Spidermonkey repo was based (as I seem to recall you saying it was based off a beta version rather than https://github.com/OoliteProject/spidermonkey-ff4)? Currently it feels like "there be dragons" to me with regard to that repo. It would be useful to be able to diff the modified and original to establish the specific set of changes needed to make the Spidermonkey library work properly with Oolite on Windows. Also assuming it was a beta version, it would be helpful to know if that version is a newer or older version than spidermonkey-ff4 eg. is it ff4 beta or ff5 beta?
You don't need three release types. pkg-win and pkg-win-snapshot have only one difference and that is the watermark with the version tag on the top right of the screen that is present in the snapshot version. Still, when a release is made both deployment and test release should be produced, the latter being suitable for expansion developers and the former for standard players.
As for JS I don't have the original checkout anymore. It was FF4 beta though.
You don't need three release types. pkg-win and pkg-win-snapshot have only one difference and that is the watermark with the version tag on the top right of the screen that is present in the snapshot version. Still, when a release is made both deployment and test release should be produced, the latter being suitable for expansion developers and the former for standard players.
As for JS I don't have the original checkout anymore. It was FF4 beta though.
Should the test release use pkg-win or pkg-win-snapshot?
I found the source code for various Firefox 4 betas here: https://ftp.mozilla.org/pub/firefox/releases/. There are multiple beta versions. Do you happen to know which beta it was based off?
Should the test release use pkg-win or pkg-win-snapshot?
pkg-win
I found the source code for various Firefox 4 betas here: https://ftp.mozilla.org/pub/firefox/releases/. There are multiple beta versions. Do you happen to know which beta it was based off?
Not at first glance, no. Possibly one of the 4.0 late betas or release candidates but can't be sure. Maybe there is a version reference in the headers somewhere, not sure.
Should the test release use pkg-win or pkg-win-snapshot?
pkg-win
I found the source code for various Firefox 4 betas here: https://ftp.mozilla.org/pub/firefox/releases/. There are multiple beta versions. Do you happen to know which beta it was based off?
Not at first glance, no. Possibly one of the 4.0 late betas or release candidates but can't be sure. Maybe there is a version reference in the headers somewhere, not sure.
There is a file js/src/config/milestone.txt. In your repo it says 2.0. It is only in the release candidates and final release that it says 2.0. The betas have 2.0bN in them. So it's probably 4.0RC1 or 4.0RC2. Are there any other clues on your machine?
Some potentially helpful historical data: the switch to the FF4 Spidermonkey 4.0b8 (first ECMA 1.85 version used by Oolite) happened around December 19 2010 and nightly builds started using it on December 31 2010. I cloned the Spidermonkey repo for the first time on December 19 2010 and was using its code to support the Windows port of the game as Jens was adding JS features almost daily. Spidermonkey 4.0b10 was used from February 07 2011 onwards until February 18 2011 when it was replaced by 4.0b11. Oolite 1.75 beta was released with the RC1 version of Spidermonkey in March 13 2011. By Oolite 1.75.2 beta (May 08 2011), FF4 had already gone stable (March 22 2011 was the date it happened) and I think that's when I updated the repo that ended up in Windows dependencies and built the binaries that were used from Oolite v1.76 onwards.
So you should be looking at either RC1 or stable FF4. More likely stable FF4.
Edit: Looking at the files in the repo, I find that the latest date I can see is 19/03/2011. That's after FF4 RC2 (10/03/2011 according to CoPilot) and just a few days before official FF4 stable, so I am pretty sure what we have here is the actual FF4 stable.
Some potentially helpful historical data: the switch to the FF4 Spidermonkey 4.0b8 (first ECMA 1.85 version used by Oolite) happened around December 19 2010 and nightly builds started using it on December 31 2010. I cloned the Spidermonkey repo for the first time on December 19 2010 and was using its code to support the Windows port of the game as Jens was adding JS features almost daily. Spidermonkey 4.0b10 was used from February 07 2011 onwards until February 18 2011 when it was replaced by 4.0b11. Oolite 1.75 beta was released with the RC1 version of Spidermonkey in March 13 2011. By Oolite 1.75.2 beta (May 08 2011), FF4 had already gone stable (March 22 2011 was the date it happened) and I think that's when I updated the repo that ended up in Windows dependencies and built the binaries that were used from Oolite v1.76 onwards.
So you should be looking at either RC1 or stable FF4. More likely stable FF4.
Edit: Looking at the files in the repo, I find that the latest date I can see is 19/03/2011. That's after FF4 RC2 (10/03/2011 according to CoPilot) and just a few days before official FF4 stable, so I am pretty sure what we have here is the actual FF4 stable.
Yes, this is fine. The (un)installers work and the game runs perfectly from what little I could test with no obvious bugs.
The only observation I have is that the female spoken messages voice is very rough. Try copying the parameters from the f2 voice of the standard binary distribution, I had adjusted it to a much sweeter tone back when we introduced espeak to Oolite.
Yes, this is fine. The (un)installers work and the game runs perfectly from what little I could test with no obvious bugs.
The only observation I have is that the female spoken messages voice is very rough. Try copying the parameters from the f2 voice of the standard binary distribution, I had adjusted it to a much sweeter tone back when we introduced espeak to Oolite.
I'll look into this.
I need to learn about Flatpak to do something similar to the Windows build for Linux (just as I had to learn how to make pacman packages etc. for MinGW64).
I just realised that although I'm a member of OolteProject, I don't have the rights to transfer repos. Please can you take a look.
The only observation I have is that the female spoken messages voice is very rough. Try copying the parameters from the f2 voice of the standard binary distribution, I had adjusted it to a much sweeter tone back when we introduced espeak to Oolite.