Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Clément

Pages: 1 ... 44 45 [46] 47 48 ... 50
676
Excuse the double post, but a couple of minor issues I've not noticed before with gridviews: in order of ascending nuisance. (Using linux-64 version that I built yesterday with the offset fix.)
I think double posting is required for me to receive the notification. It is not even the same day anyway.

a) The gridview Socail & Cultural (as displayed in tab) is called Social && Cultural in the Grid Views dock.
In some Qt texts the ampersand is used for keyboard shortcuts (the underlined letter you often see in menus), it needs to be doubled to actually display. I would need to encode the string in these cases, but I don't know a Qt function that does that.

b)
Quote
2017-Oct.-24 03:14:19.743 WARNING   core   unidentified column type in set "Other Social" ! [/home/hope/Desktop/Dwarf-Therapist/src/viewcolumnset.cpp:153] (ViewColumnSet)
Does this refer to the old 'Socai-Alt'?

c)
Quote
2017-Oct.-24 03:14:19.748 WARNING   core   gridview "UNKNOWN" was not loaded because a view with this name already exists [/home/hope/Desktop/Dwarf-Therapist/src/viewmanager.cpp:185] (load_views)
Checking gridviews shows there is a default gridview by name UNKNOWN that appears empty.  Since it is default user cannot delete.  Additionally it seems DT is trying to write a second copy of the gridview on connection to DF.
Typos I made in default_gridviews.dtg, that is what you get for editing this kind of file with a text editor (game_data.ini is even worse with some part out of order). I should find a better way to edit them.

677
The string change is easy enough. But, from my recent experience with reworking material names, it can be hard to make proper strings for every case. For example, wood material preferences add a "wood" suffix, this lead to string like "rubber wood wood" (in DF). My current code doesn't add it any more, but I am thinking of re-adding it in the tool-tip only, to avoid confusion between words like "oak" (the material) and "oaks" (the trees). The other places display the preference category so there is no confusion. The tool-tip would have a repetition in some cases but that would mimic the game strings.

Although removing the "of" from the tool-tip string would fix the grammar, I think should try to fix the form name instead. For example, when I see "The Evisceration of Dominion" in game, DT displays "Of evisceration". With the proper form name, the "of" from the tool-tip will be needed ("the words of " + "The Evisceration of Dominion"). I think there is code for that in df-structures, I need to learn how this work (edit: DT seems to actually use the same algorithm).

Edit2: There was a hard-coded offset that is different on 32 and 64 bits platforms. Quick and dirty fix here, but I should really de-hardcode that.

678
I think it is already cached, it is only needed once anyway. What I could do is only load it when the dialog is first displayed, so it would not slow done other users.

There seem to be lists of items, materials, creatures, ... for civilization entities. It could be an easy way to make a own civilization only preference list.

679
I tried to fill the half implemented creature materials category in the custom role dialog, but it added too many materials (~17000) and it was really slow. I then filtered them to keep only leathers, it is much better but still a little slow. I am going through all races and and race materials to find those with a LEATHER flag, so I am still loading every creature material in the game even if I am not adding them in the dialog. Is there a better way to find them?

I am still not sure how to match parchment preferences. Is using the material id (should be "PARCHMENT" if I understand correctly) the only way?

680
I think I've been looking for too complex solutions. It is probably hard-coded in DF, so it should be hard-coded in DT. I'll add a special case for plant material based on the THREAD_PLANT flag.

Parchments have their own material (I have a dwarf with <material 37:247 CREATURE:FISH_STINGRAY:PARCHMENT>), but I don't see any flag that could help make a general category (there is only IMPLIES_ANIMAL_KILL).

681
My issue is not reading dwarf preferences, it is finding the list of all possible preferences (for the custom role dialog). A material preference is a material (mattype + matindex) and a material state (mat_state). There is a global list of materials that is currently used by DT. But for each material, I don't know if I should care about mat_state and, if I do, what are the meaningful values. There don't seem to be any global list of preferences where dwarves would pick from (in df-structures, unit_preference is on used in unit/soul).

@PatrikLundell I think thread and cloth use the same material, in the same state. When a dwarf likes linen, he will like linen thread, linen cloth, linen clothes, ...

I could be totally wrong, as always, but I don't remember seeing preferences for plant thread or animal fabric.  Dwarfs definitely get preferences for plant cloth (fabric) and yarn (animal wool thread).  The wiki http://dwarffortresswiki.org/index.php/Preferences seems to suggest this as well.  I can't check any big forts right now as I've got my stuff strung out over three machines (in different location, at that).  So no help there.   :-\

Interesting wiki page, but it looks outdated: it is missing plant paper (and parchment, and maybe others).

682
I started a fix for the cloth/paper bug: https://github.com/Dwarf-Therapist/Dwarf-Therapist/pull/9

The custom role dialog material preferences list need fixing too: adding a cloth preference from there will also match paper (and you cannot select paper preferences either).
The problem is that it generates the list from the game material list but I don't how to get the valid material states from there. Maybe from "material_common.state_name"? Getting interesting material preferences using it does not look easy. If I look with DFHack at a few of one dwarf preferred materials, I get:
Code: [Select]
<material 0:82 INORGANIC:JASPER OPAL>
ITEMS_HARD
IS_GEM
ITEMS_QUERN
Solid jasper opal
Liquid magma
Gas boiling magma
Powder jasper opal
Paste jasper opal
Pressed jasper opal

<material 38:343 CREATURE:GIANT_CHEETAH:LEATHER>
ITEMS_LEATHER
IMPLIES_ANIMAL_KILL
LEATHER
Solid leather
Liquid n/a
Gas n/a
Powder leather
Paste leather
Pressed leather

<material 37:476 CREATURE:SPIDER_PHANTOM:SILK>
ITEMS_SOFT
SILK
Solid silk
Liquid n/a
Gas n/a
Powder silk
Paste silk
Pressed silk

<material 425:29 PLANT:HEMP:THREAD>
ITEMS_SOFT
THREAD_PLANT
STOCKPILE_GLOB_PASTE
Solid hemp
Liquid none
Gas none
Powder fiber
Paste hemp slurry
Pressed hemp paper

I see both "none" and "n/a" for invalid states, and some material states use generic names (e.g. silk, leather, fiber, magma). I don't know how I should process that.

I hope this is becoming clearer.  I can post tomorrow but then will not be able to for some time.

Yes, I understand now. I did not know how the value were calculated.

Looking forward to custom role dialogue improvements.  8)  In a couple of weeks time I could make some suggestion if you are interested.

Not really a redesign, more internal stuff you might not see: memory leaks and the way it loads data from the game. Still, suggestions are welcome.

683
Sounds like you've got it covered for the paper/fabric distinction.  :)  (Fallback workaround could be to check the text strings of preferences for 'paper' or 'cloth' matches, but that is so ugly...).
No, I don't think partially matching strings would be simpler.

For b) no, I have not been clear.  The roles calculation spits out a number between 0 and 100 for how well each dwarf is suited for each role.  Problems arise when adding custom roles.  Say I add a role Carpenter+, which is a revision of the attributes, preferences, skill(s) I want in finding a carpenterdwarf.  Now the data set for suitability includes both Carpenter and Carpenter+ and that has knock on effects as to the reported suitability for other roles - basically if the roles are minimally different then the weight of that role as a data point has just been doubled.  (The calculation has always been opaque to me but includes various processes of 'normalisation' 'shaping' etc.)  I would like to be able to specify which roles are to be used for the roles calculation.  So following the example above I could tell DT not to use Carpenter as part of the data set for roles calculation but only Carpenter+.  Or to put it another way (since I often struggle with clarity of expression):  can we get the feature to ask DT to consider the suitability of dwarfs with respect to a limited - user specified - set of roles?  Taking a concrete example (not that I would use it this way...) - lets say we have just embarked and know we want 7 jobs done and don't care whatsoever about future plans.  We want a Miner, a Mason, a Woodcutter, a Fisher, a Herbalist, a Carpenter, and an Animal Trainer.  So we want tell DT to limit the roles calculation to just those 7 roles (and not be worried by how suitable the various dwarfs are as Strand Extractors or Potters).
I am even more confused now. I am not a advanced role user, so I may be missing something. The places I look for role suitability are dwarf details or the role tab (grid view). For dwarf details, a global filter list could be added in the options. For the role tab, you can replace it with a custom grid view with only the columns you are interested in. Or do you want a new dialog or dock?

Anyway, I need to look more at how the roles work internally. And the custom role dialog looks like it needs some improvements.

It would be good to include a note on the github page about the availability of the manual from within DT (or even a link to the download on dffd) so that new users compiling it for themselves don't feel obligated to install latex just to get the manual.

I added the DFFD link in the Readme. As for the "Manual" button, it is clearly visible in the tool bar (and the help menu), and the best place to explain it would be... the manual (sections 5.5 and 5.7 are missing it).

684
a) preferences for cloth and paper are currently not distinguishable in the roles, e.g. a dwarf with a preference for kenaf paper will be considered a better clothesmaker
When not doing exact matches, DT only compares material flags. A dwarf that likes linen paper has material PLANT:FLAX:THREAD (flags ITEMS_SOFT, THREAD_PLANT, STOCKPILE_GLOB_PASTE), the same as a dwarf that likes linen fabric. I think the material state need to be included in the comparison (PRESSED for the paper, SOLID for the fabric).

b) the role suitability calculations currently use every role.  can we get the option/ability to specify which roles to use?

You want the ability to specify the list of roles used in a dwarf details/tool-tip, did I understand correctly?

In the meantime I built a linux-64 version of DT from your git repository. At least for the basics of connecting and reading dwarfs from an old save there were no problems.  When I find time to play again I'll give more feedback.  But I wonder about the LaTeX?  I did not build the manual since 400mb roughly for the software seems excessive to me (and I already have a copy).  Would it not be easier to just include a PDF of the manual - or what am I missing?  (You may already know - the author is still around and has dropped by a couple of times checking on how it's going, if there is some thought of an updated version...)

I re-added the manual compilation after the last release, I will include it in the builds for the next release (but I don't provide any linux build, so that won't make a difference for you). The manual is available as a stand-alone download on DFFD (clicking the "manual" button in DT opens this url). I don't know of any changes (according to git there was no change for 3 years), the version number matches at least.

685
They are skills not roles. The names are from the game, there is not much to debate (but I could have made a mistake while copying them).

I did not add any role related to this (and I don't think there is currently any). You can make detailed suggestions when you have the time. I did not play enough with this to know which roles would be useful.

Edit: Since you are speaking of naturalists, I see I am missing the tracker skill. I dismissed it as an adventure skill, but it is also used for scholars.
Edit2: Is "reader" of any use in Fortress mode?

686
I also split the social skills using the Wiki categories. I posted a screenshot in the pull request comments. Does that look good?

687
I'll use the list from here. That add "Speaker" too.

688
It is easy to add them, the question is where. A new tab for each ? Or add them both in an existing tab (e.g. Social) ?

To make sure I don't forget anything. Performer skills are:
  • Dance
  • Music
  • Singing
  • Keyboard instrument
  • Stringed instrument
  • Wind instrument
  • Percussion instrument
Scholar skills are:
  • Critical thinking
  • Logic
  • Mathematics
  • Astronomy
  • Chemistry
  • Geography
  • Optics engineering
  • Fluid engineering
Anything else to add?

689
Edit: After your post in the DFHack thread I decided to compare this entry with the corresponding one in my old DT (37.0.0) layout file, and it's 0x40 in that file as well, without that version crashing. I don't know how to interpret that, though...

Not every invalid value makes DT crash or hang, sometimes it detects absurd values and ignore them, sometimes invalid values look good and it just display the invalid values in the interface.

But now I see there is actually a big issue with the auto-updater. Anyone who used splintermind version before will have DT configured to fetch memory layouts on splintermind repo where there is an invalid one for 0.43.05 win32.

Important message to anyone who has used Dwarf Therapist before this release:

You need to check the settings for the automatic updates. In "Options" -> "General" tab -> "Updates", click on "Restore Default". Otherwise DT will fetch files from a repository that can no longer be updated.

690
Utilities and 3rd Party Applications / Re: DFHack 0.43.05-r2
« on: September 19, 2017, 01:21:56 pm »
Sorry, all is right (for DFHack). DFhack gives the correct value (0x34). The ini I generated the first time was sneakily replaced by DT's auto-updater with a faulty one from the splintermind repo.

Pages: 1 ... 44 45 [46] 47 48 ... 50