Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dwarf Therapist Crashes Reading Extinct Civilisation Embarks #199

Closed
TheTimtam97 opened this issue Mar 24, 2020 · 4 comments · Fixed by #201
Closed

Dwarf Therapist Crashes Reading Extinct Civilisation Embarks #199

TheTimtam97 opened this issue Mar 24, 2020 · 4 comments · Fixed by #201

Comments

@TheTimtam97
Copy link

TheTimtam97 commented Mar 24, 2020

Dwarf therapist (DT) crashes when reading from dwarf fortresses (DF) that have adult dwarves that are younger than they should be.

The reason why this is possible is because DF magics up dwarves at that age when starting on a dead civilisation.

The reason why I believe this is the issue is because the crash can be avoided by hiding children and babies in DT. However, I have done this multiple times before and I never ran into this issue. So it's definitely possible that I am misattributing the issue, that or something changed recently.

I tried looking into logs, but I can't find anything that would help solidify the issue.

@cvuchener
Copy link
Contributor

Do you have a reliable way to create this kind of world ? Or could you upload the save ?

@TheTimtam97
Copy link
Author

I just set the max No. Dwarven Civilisations to 1, the maxage of dwarves to 1:1 and then ran a script called "slabciv" before I started creating the world, that created a single dwarven civ that died out almost immediately. If you're going to try replicate it though, you're going to want to edit the maxage of the dwarves back to default in the save itself, else everyone drops dead.

Here's a link to the save on my onedrive, just in-case it isn't as easy to replicate as I first thought (I apologise that it's onedrive, it's too large to attach here and it's the online storage media I know best). The DF version I'm running is 47.03 for 64x Windows, using DFHack 0.47.03 Beta 1 and DT 41.1.5 for Win 64x

@TheTimtam97
Copy link
Author

So enabling the "cheat" option; allow labor setting on anyone, seems to be a functional workaround for the issue. That just seems to reinforce my theory that it's not liking the 1yr old adult paradox. The save that I linked isn't the one I'm currently on, however it should demonstrate the issue in any case.

@cvuchener
Copy link
Contributor

I think I found it. Ratings are computed based labor capable dwarves stats. And DT thinks you don't have any labor capable dwarf. But then it still tries to compute attribute ratings for other dwarves and crashes because of uninitialized pointers.

So I see two things that need fixing:

  • Handle ratings when there is no stats (for preventing the crash, easy)
  • Fix "adult" definition, so DT recognize them for the labor capable dwarves they are (so DT can be useful, harder).

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 a pull request may close this issue.

2 participants