Skip to content

Conversation

@zephyris
Copy link
Contributor

@zephyris zephyris commented Dec 8, 2025

Versions were hard-coded in various places, problematic as overlooking one can mess up versioning. Versioning used an integer version for the internal version of basesets and NewGRFs (1, 2, 3, ..., 8), and a user-facing semantic version (0.1, 0.2, 0.3, ..., 0.8).

This series of changes:

  1. Expands the makefile to generate an automatic and continuously increasing internal version, using days past 2000-01-01. Additionally, copies the logic from OpenGFX(1) to record repo version data in makefile.vcs, which can be used as a dependency for outputs which depend on these versions for naming.
  2. Updates the baseset obg generating Python script to use the internal and user-facing versions passed from the makefile.
  3. [Fixes a bug in the nml preprocessing Python script]
  4. Updates the NewGRF nml preprocessing Python script to use the internal version passed from the makefile.
  5. Updates the release docs given that internal version is now automatic, and a user-facing semantic version now only needs to be set in one place in the makefile.

The makefile variables and rules for the versions used by the CDN upload prep rules are unchanged.

Cache repo version information in makefile.vcs, including generation of a BASESET_VERSION which is guaranteed to increase day-by-day
Passes manually set user-facing version and automatically determined baseset version to the obg-generating Python script (fixes #222)
For lines directly from a pnml, rather than an included pnml, the result from checking for alternate sprites for a line was not used.
Passes automatically determined baseset version as newgrf version to the nml preprocessing Python script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants