This isn't the first time I've had a "default/aisettler" problem, but it is the first time it's happened in v3.0. And it doesn't happen with every test. Can anyone figure out what's gone wrong?in cityresult_fill() [../../../../../ai/default/aisettler.c::452]: assertion 'result->remaining >= 0' failed.
"default/aisettler" sanity checks
-
FriendAtArms
- Veteran
- Posts: 51
- Joined: Thu Apr 16, 2026 9:35 pm
"default/aisettler" sanity checks
It's been a couple of months, and my ruleset is chugging along as I find time for it. Every couple of test games, this message appears about Turn 20 or so:
Re: "default/aisettler" sanity checks
Can you provide the ruleset for me to debug this?
-
FriendAtArms
- Veteran
- Posts: 51
- Joined: Thu Apr 16, 2026 9:35 pm
Re: "default/aisettler" sanity checks
I've been pushing ahead with other aspects of the ruleset, so it's not going to work for...probably the next few weeks. Buildings with effects I haven't written yet, units with no sprites, sprites with no units, etc. When I've got a testable version again, I'll post it. (It'll still be incomplete of course; this is really turning into a total overhaul as much as an ordinary ruleset.)
-
FriendAtArms
- Veteran
- Posts: 51
- Joined: Thu Apr 16, 2026 9:35 pm
Re: "default/aisettler" sanity checks
Okay, finally! The current age/tech-tier is only about half done, but at least it's possible to test the ruleset again.
At least on my machine. I remember there was some kind of file corruption the last time I tried posting it here. This time, I've uploaded the files as a standard ZIP archive instead of a 7z. Hopefully that helps. Also, keep in mind I am working with 3.0 instead of the current version; I don't know if that affects matters.
Incidentally, I didn't get any sanity checks on my last test. I'd love to believe it's because I accidentally solved the problem, but since it doesn't happen consistently, there's no way I can tell.
At least on my machine. I remember there was some kind of file corruption the last time I tried posting it here. This time, I've uploaded the files as a standard ZIP archive instead of a 7z. Hopefully that helps. Also, keep in mind I am working with 3.0 instead of the current version; I don't know if that affects matters.
Incidentally, I didn't get any sanity checks on my last test. I'd love to believe it's because I accidentally solved the problem, but since it doesn't happen consistently, there's no way I can tell.
- Attachments
-
- nineages_test.zip
- (559.99 KiB) Downloaded 8 times
Re: "default/aisettler" sanity checks
Before I started autogame testing to see if I can reproduce the issue you've seen, I tried loading the ruleset to a server running with the "--warnings" command line option, and tileset and soundset to a client running with the same option. Those gave some warnings:
> freeciv-server -r /fast/freeciv/rulesets/3rd/S3_0/data/nineages.serv --warnings
...
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/buildings.ruleset: unused entry: building_lighthouse.reqs1.range,1
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/buildings.ruleset: unused entry: building_lighthouse.reqs2.range,1
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/buildings.ruleset: unused entry: building_pharos_lighthouse.reqs1.range,1
...
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: ruledit.description_
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.bombard_max_range
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.force_bombard
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.force_capture_units
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.force_explode_nuclear
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.force_trade_route
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.poison_empties_food_stock
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_disband_unit
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_recycle_unit
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_upgrade_unit
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_home_city
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_found_city
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_join_city
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_help_wonder
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_investigate_city
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_establish_embassy_stay
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_establish_trade_route
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_targeted_steal_tech_escape
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_bribe_unit
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_poison_city_escape
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_targeted_sabotage_city_escape
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_attack
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_conquer_city
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_bombard
1: /fast/freeciv/rulesets/3rd/S3_0/data/nineages/game.ruleset: unused entry: auto_attack.ui_name_explode_nuclear
...
> freeciv-gtk3.22 -t nineages -S nineages --warnings
...
1: warning: nineages already has a sprite for "unit.hp_100".
1: warning: nineages already has a sprite for "unit.hp_90".
1: warning: nineages already has a sprite for "unit.hp_80".
1: warning: nineages already has a sprite for "unit.hp_70".
1: warning: nineages already has a sprite for "unit.hp_60".
1: warning: nineages already has a sprite for "unit.hp_50".
1: warning: nineages already has a sprite for "unit.hp_40".
1: warning: nineages already has a sprite for "unit.hp_30".
1: warning: nineages already has a sprite for "unit.hp_20".
1: warning: nineages already has a sprite for "unit.hp_10".
1: warning: nineages already has a sprite for "unit.hp_0".
1: warning: nineages already have a sprite for "b.colossus".
1: warning: nineages already have a sprite for "b.great_wall".
1: warning: nineages already have a sprite for "b.hanging_gardens".
1: warning: nineages already have a sprite for "b.lighthouse".
1: warning: nineages already have a sprite for "b.mausoleum".
1: warning: nineages already have a sprite for "b.pyramids".
1: warning: nineages already have a sprite for "b.statue_of_zeus".
1: warning: nineages already have a sprite for "b.temple_of_artemis".
Re: "default/aisettler" sanity checks
You have a file named "README.nineages.txt".
game.ruleset refers to "README.nineages" (without the ".txt"). Also, for the about.description you are not using content of the file, but name of the file, which I guess is not your intention.
game.ruleset refers to "README.nineages" (without the ".txt"). Also, for the about.description you are not using content of the file, but name of the file, which I guess is not your intention.