Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6 ... 13

Author Topic: Kloker was Cavern Keeper was Manipulator. Detailed and automatic labor control.  (Read 66702 times)

paperchamomiles

  • Bay Watcher
    • View Profile

I'm really sorry to have caused anyone any bother, I absolutely didn't mean to.

Also, when the crashes happen I still have Cavern Keeper open, and really I should have said 'a few moments later' not a few minutes, sorry. 

And after further testing, it seems that when a migrant wave has just arrived, such that they still have 'new arrival' as their action, it crashes immediately upon opening Cavern Keeper, but when they don't have that as their action anymore it takes a few moments after opening Cavern Keeper
Logged

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

heh oh right, sounds like ive introduced a bug with the latest tweaks.

If you like papercamomiles you could try this version which is more tested. Very little obvious difference just less optimised 'sort rating' and a couple of description words changed. It will need that math.h #include though. I think it should work but maybe there is something new in 44.09 that chokes the description maker...

Note to self dont recommend untested revisions! Im actually too distracted to be playing at the moment, im saving up for a session when the next packs come out.

cheers : )
« Last Edit: April 05, 2018, 08:47:48 am by strainer »
Logged
Klok the Kloker !

lethosor

  • Bay Watcher
    • View Profile

I just caused plenty of crashes with CK in development

Its a broad  kind crash which i dont recall CK generating before.

These two statements disagree with each other. A segfault is a fairly common type of crash. It's possible that it didn't literally say "segmentation fault" on whatever system you're developing on, but undefined behavior can cause different types of crashes unpredictably, and the end result is the same. "bus error" and "abort trap" are two other messages you might have seen, but they can often be due to the same issues that cause segfaults.

Anyway, I'm glad the issue has been clarified. I don't recall many significant changes between 0.44.05 and 0.44.09, especially not related to units.
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

If I said Id causes plenty of kinds of crashes, they'd disagree  :P
Logged
Klok the Kloker !

paperchamomiles

  • Bay Watcher
    • View Profile

Thanks!  It was kinda weird playing without it, I had gotten used to it so quickly
Logged

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

Try compiling the previous version then, I tested it for a few years months and the other players didnt report a problem with it.
« Last Edit: January 06, 2019, 09:29:23 pm by strainer »
Logged
Klok the Kloker !

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

Oh. I have to warn you though. Lethosor doesnt believe this can happen, but when its crashes it can actually bork the saved game (even though it doesnt write anything differently than manipulator)
So the game may not play even without CK. srrrry.
Backup saves if you have them will be ok.
Logged
Klok the Kloker !

lethosor

  • Bay Watcher
    • View Profile

Yeah, that's impossible, unless it crashes when writing something important to disk. Are you saying it doesn't write anything different to disk from manipulator, or to memory? I guess you could try disabling/removing cavern keeper and then loading a game to see if it still happens.

If I said Id causes plenty of kinds of crashes, they'd disagree  :P
The crashes are probably due to undefined behavior, which causes undefined types of crashes. Just because you never saw the "segmentation fault" message doesn't mean that someone who does see that is experiencing a crash caused by a different thing. I'm not sure how to explain it better, but you should never treat someone reporting a segfault differently from someone reporting a crash, unless there is very specific information tied to only one of the reports (e.g. a thrown exception).
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

Division by zero and null pointer exceptions are the crashes Im familiar with.

Ill get to the bottom of the save borking behaviour for the next release. Maybe World::savePersistentData causes a partial update of the saved game, I can delay saving the plugins mode settings until screen exit to see if that stops it occurring. 
Logged
Klok the Kloker !

lethosor

  • Bay Watcher
    • View Profile

"Null pointer exceptions" sound like a Java thing to me. If you're seeing something like "access violation" or "null pointer dereferenced", that's the same thing as a segfault.

Anyway, World::savePersistentData only stores stuff in memory. More specifically, it adds/edits fake historical figures, which are then saved when the game is saved, meaning the only way they can end up in the region folder (and possibly cause future crashes) is if the game is saved successfully. If DF crashes, anything saved with savePersistentData after the last time that world was saved is gone, just like any game progress.
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

I understand thats what it does but its my only lead on that issue, which is real (but doesnt to my knowledge occur in the released versions).
Beside that all I can do to figure it out is try disabling chunks of keeper and force game borking exceptions until a disabled chunk stops its happening.. and look at a filemonitor i guess.. make sure it doesnt crash..
Logged
Klok the Kloker !

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

Did some more testing for 44.09 - opened Cavern Keeper on a game with 2473 goblins in it (nervously).It analyzed and displayed them with almost no delay. Scrolling, tabs and all the sorts worked instantly. I tried a few other saved games, played a fresh embark for 3 years and breached hell to examine its horde.

Seems to be stable as can be.
Logged
Klok the Kloker !

Llamageddon

  • Bay Watcher
    • View Profile

Any chance of making Cavern Keeper able to look at your dwarves on embark? Would be cool if you could quickly see which of your random dwarves were best suited to different roles before embarking. I hate having to look up their descriptions repeatedly if I want to fine tune their skills at embark. Great plugin by the way.
Logged

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

I couldnt find a way to do it in the embark screen, however:
If you open Keeper in the game and press shift-T a few times (which cycles backward through the highlighting modes) a message should appear saying "qw: Knapped points > 0pts"  Then you can take skill points away by pressing q, and they can be added elsewhere by pressing w. The points are counted in the same way they are in embark so its not really cheating when done at the beginning of a game.

If you were to keep pressing shift-T a dozen times there is a deeper cheatmode called "Armoks Thirst" which allows unlimited skills and mind and body stats to be added, but it stains part of theme red for the rest of the game so its not to be entered lightly.
« Last Edit: August 27, 2019, 08:43:37 pm by strainer »
Logged
Klok the Kloker !

strainer

  • Bay Watcher
  • Goatherd
    • View Profile

New Cavern Keeper compiles are up for the 44.09-r1 starter packs.

The download and install instructions are here.

Some minor changes to Keeper:
  • Pregnancies are now listed in the notices list.
  • Secret curses are now hidden in the notices list unless the option is set.
  • Role-class sorts are slightly improved (by medic, martial etc.)
A few of trait words were !tweaked!

Emotional Obsessive was: clingy / independent is now doting / independent
Orderliness was: orderly / messy now tidy / messy
Discord trait was: unruly / compliant now boisterous / cordial
Dutifulness was: dutiful / rebellious now dutiful / unruly

Thinking behind those !tweaks! is:
The "Discord" trait seems most related to rebelliousness.
The "Orderly" trait seems just concerned with tidiness.


O=[:::::::>    this way for the Caverns    <:::::::]=O                               
« Last Edit: April 13, 2018, 01:00:06 pm by strainer »
Logged
Klok the Kloker !
Pages: 1 2 3 [4] 5 6 ... 13