custom tilespec, leave game, crash

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
Post Reply
Dino the Dinosore
Hardened
Posts: 193
Joined: Sun Dec 31, 2017 3:41 am

custom tilespec, leave game, crash

Post by Dino the Dinosore »

I'm updating my custom ruleset "dino" to 3.1 and have found I can use it to crash the client. My game.ruleset contains

Code: Select all

[tileset]
preferred="dino"
which loads the "dino.tilespec" file. That file contains

Code: Select all

for_ruleset = "dino"
All this is patterned after what the "alien" ruleset does. After starting a game in the client using the "dino" ruleset, the client ouputs to stdout -
3: Loading tileset "dino".
In the game, when I do help "About Current Tilespec" it says -
dino 3.1
Tileset to be used with dino ruleset.
Then I do "Leave game", start another game with a normal ruleset like "Classic" and crash happens. What's interesting is the difference between this and what happens when I choose the "alien" ruleset, then the client ouputs to stdout -
3: Loading tileset "alio".
3: Loading tileset "amplio2".
and help "About Current Tilespec" says -
Amplio2
and I can "Leave game", start another game with a normal ruleset and no crash.

Maybe there's a real bug here, or maybe I'm missing something? What causes the "alien" ruleset to load the tileset "amplio2" after loading "alio"?
cazfi
Elite
Posts: 3335
Joined: Tue Jan 29, 2013 6:54 pm

Re: custom tilespec, leave game, crash

Post by cazfi »

Dino the Dinosore wrote: Sun Feb 09, 2025 3:23 amWhat causes the "alien" ruleset to load the tileset "amplio2" after loading "alio"?
Likely a map topology. Alio is a hex tileset, so if you try to play on a square based map it does not work, but the client looks for a square tileset.
Dino the Dinosore
Hardened
Posts: 193
Joined: Sun Dec 31, 2017 3:41 am

Re: custom tilespec, leave game, crash

Post by Dino the Dinosore »

Dug into this some more - I think my saved client prefs file may have been corrupt, when I did a refresh back to default settings everything worked differently and more normally.

There is a bug where leaving a game and starting a new game leaves the messages from the previous game in the messages window.

I found it is possible to have mismatched ruleset/tileset - you can play classic ruleset with alio tilespec, or play alien ruleset with hexemplio tilespec. Don't even need to leave a game, just change the ruleset choice in the "Start New Game" dlog.

The qt5 client is different than the gtk3.22 client. To get my custom ruleset working I have to change the local client options Graphics tab Tileset (Square) to my tilespec first, otherwise it crashes. In gtk3.22 client I don't have to do that.
Post Reply