The game's installer can be opened as an archive.
You can extract specific parts of it:
jre
game files
vmparams
Game releases often have a number of hotfix patches in the following month, which all require full installs that replace vmparams and jre folders, which a user usually doesn't want.
Feature:
(note: this is only for an in-place update. mention that a new install should simply use the installer itself, and provide a link to it).
On launch, check for a game update (scrape website?).
If there's a newer version, notify user.
On user action, download game installer.
Ask user which components they want to update (see above list).
If it's more than an RC change, include jre and vmparams by default, otherwise only preselect game files.
Make sure game isn't running.
Extract new components, move older to a folder called backup in the game folder (delete any existing there first), move in the new.
Remember to change the "last version read from log file" in app state since that'll now be wrong.
Add a Starsector updater.
The game's installer can be opened as an archive. You can extract specific parts of it:
Game releases often have a number of hotfix patches in the following month, which all require full installs that replace vmparams and jre folders, which a user usually doesn't want.
Feature: (note: this is only for an in-place update. mention that a new install should simply use the installer itself, and provide a link to it).
RC
change, include jre and vmparams by default, otherwise only preselect game files.backup
in the game folder (delete any existing there first), move in the new.