[Ohrrpgce] [ohrrpgce/ohrrpgce] Distribute Game fragility; breakage due to gfx_sdl2 becoming default (#1185)

Ralph Versteegen notifications at github.com
Thu Nov 26 22:26:19 PST 2020


The Distribute Game options are very fragile, and now breaking. (Needs fixing before hróðvitnir). They download builds of either the latest stable release or latest nightly, and make assumptions about what files are in them and what builds they are. This means that when we change anything, it breaks all previous versions of the engine! This comes to a point now that gfx_sdl2 has become the default on Windows and Linux.

Wrong version downloaded
------------------------

The first problem is that they download a different version from what the user has, without even a warning. We don't have perfect back-compatibility, so we should at least warn. We could upload a .txt file with the name and date of the latest release.

But the "player"/"minimal" (warning: inconsistent naming, on Windows "minimal" includes Custom) downloads used by the distribmenu are archived at http://hamsterrepublic.com/ohrrpgce/archive/ anyway, so we *could* download the correct stable release instead of the latest one. Or easily give people the choice.

For nightlies I think it's acceptable to just download the latest nightly, or they could get the next stable release after their current nightly, if we had a list of releases in a .txt (or check the archive directory listing).

Build assumptions
-----------------

For Windows, distribmenu assumes which dlls are in the .zip and need to be included.
`get_windows_gameplayer` is hardcoded to extract SDL2.dll and SDL2_mixer.dll from the zip; `find_required_dlls` also needs changing. `write_innosetup_script` just includes whichever .dlls were extracted from the zip. If we simply change them all to just include all the files in the .zip that seems good enough.

For Linux, distribmenu assumes to know what the dependencies for .deb files are. (Currently still wrongly set to sdl 1.2.)
I suggest we put a .txt/ini in the download that lists the current dependencies.
(In future if we include libsdl2.so and libsdl2_mixer.so and package them in tarballs (but not .debs) then things change again; can't just include all files.)

For Mac distribmenu doesn't assume what the build is, so switching to gfx_sdl2 won't break anything, but it does make assumptions about how to put an .rpg and .icns inside, which might change some day.

On all platforms, I suggest we put a .txt (or .ini) in the downloads containing a "package format version" number and other meta information, so old versions of Custom can display "You need to download a more recent engine version" if we change anything.


Currently, once hróðvitnir is released, distributing for Windows will break in all previous stable releases (when game.exe needs to be downloaded). The URL should be changed.
I fixed this for nightly builds already by uploading ohrrpgce-player-win-wip-sdl2.zip instead of ohrrpgce-player-win-wip.zip.


Stable releases download

ohrrpgce-player-win.zip
ohrrpgce-player-linux-bin-minimal.zip
ohrrpgce-player-linux-bin-minimal-x86_64.zip
ohrrpgce-mac-minimal-x86.tar.gz
ohrrpgce-mac-minimal-x86_64.tar.gz
from
http://hamsterrepublic.com/dl/

Nightly releases download

ohrrpgce-player-win-wip-sdl2.zip  (previously ohrrpgce-player-win-wip.zip)
ohrrpgce-player-linux-bin-minimal.zip
ohrrpgce-player-linux-bin-minimal-x86_64.zip
ohrrpgce-mac-minimal-x86.tar.gz
ohrrpgce-mac-minimal-x86_64.tar.gz
from
http://hamsterrepublic.com/ohrrpgce/nightly/

I suggest we give people the choice of gfx_sdl 32-bit linux builds or gfx_sdl2 64-bit linux builds, and put the gfx_sdl2 builds at ohrrpgce-player-linux-bin-minimal-x86_64-sdl2.zip, so old releases can continue to download gfx_sdl builds from the old URLs and produce correct .debs.
(Or rename both linux zips, to make the naming more consistent at the same time!)


New/Reorganised Distribute Options
----------------------

Because gfx_sdl2 is Win XP+, we should add an "Export .zip for Obsolete Windows" option in the Menu for Win 95+ which packages using a gfx_sdl build.

I want to reorganise the menu into two halves: main export options (WindowsXP+ zip/installer, 64-bit Mac, 64-bit Linux tarball/deb), and options for obsolete OSes (gfx_sdl builds for Windows, 32-bit Mac and 32-bit Linux).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/ohrrpgce/ohrrpgce/issues/1185
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20201126/d1ae1a57/attachment.html>


More information about the Ohrrpgce mailing list