Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 26 27 [28] 29 30 ... 87

Author Topic: Dwarf Therapist v42.1.7 | DF 50.14  (Read 423468 times)

Clément

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #405 on: May 01, 2018, 02:00:56 pm »

Was your issue with libstdc++? It was fixed in 39.3.0.

Portable builds cannot work with appimage, since it requires the application directory to be writable. But you can achieve something similar by tweaking the XDG_* vars.
Logged

strainer

  • Bay Watcher
  • Goatherd
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #406 on: May 01, 2018, 03:55:31 pm »

Yes it was the issue with libstdc++.
All the directories in the LinuxLNP are writable here, dfhack plugins can create their own directories, so Im missing something about DTs writing issue... No problem ill tweak the XDG_ if a need arises.

I couldnt use DT last year because of very poor eyesight but had treatment a while ago so its great to see it in good shape :)
Logged
Klok the Kloker !

Clément

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #407 on: May 02, 2018, 05:52:47 am »

Appimage and apple bundle are actually disk images. In this case the application directory is actually inside the appimage (it will be mounted in a temp directory), not in LinuxLNP directory.

More test builds:
Logged

Clément

  • Bay Watcher
    • View Profile
Logged

Saiko Kila

  • Bay Watcher
  • Dwarven alchemist
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #409 on: May 07, 2018, 12:33:30 pm »

What is the latest version which would work with Vista x64? Version 39.0.0 works (with DF 0.44.10), while version 39.3.1 doesn't (it requires a kernel function implemented in Win7). I suppose a compiler was changed in meantime. It would be nice to get the latest version before this change...
Logged

Clément

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #410 on: May 07, 2018, 12:41:35 pm »

Yes the compiler was changed from GCC to MSVC2015.

As I said before, it is a matter of using an older version of Qt (5.6 works with XP), and the right compiler. And I've just discovered there is an optional MSVC2015 component for XP support.

MSVC2015 (v140_xp) 32bits build with Qt 5.6

Tested in a WinXP VM.

I expect this should work with vista too, but it is 32 bits.

I don't know what I should do for vista 64, I did not see any "vista support" package in MSVC. And it is not a Qt version issue since 39.0.0 was already using Qt 5.9.

Edit: Try this. I used the same parameter than the xp build but with 64 bits. I don't know what are the disadvantages of this kind of build. Or why Microsoft make it so hard to find it if there are none.
« Last Edit: May 07, 2018, 03:07:43 pm by Clément »
Logged

Saiko Kila

  • Bay Watcher
  • Dwarven alchemist
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #411 on: May 07, 2018, 03:19:22 pm »

Yes the compiler was changed from GCC to MSVC2015.

As I said before, it is a matter of using an older version of Qt (5.6 works with XP), and the right compiler. And I've just discovered there is an optional MSVC2015 component for XP support.

MSVC2015 (v140_xp) 32bits build with Qt 5.6

Tested in a WinXP VM.

I expect this should work with vista too, but it is 32 bits.

I don't know what I should do for vista 64, I did not see any "vista support" package in MSVC. And it is not a Qt version issue since 39.0.0 was already using Qt 5.9.

Thank you! Yes, this version does indeed works in Vista x64 (so it should also work in native x86 too). And you are right, the reason the new versions of DT do not work in Vista is apparently not related to Qt, at least not directly. The "offender" is one function used by DwarfTherapist.exe (both 32-bot and 64-bit), which is imported from KERNEL32.DLL, and named "K32GetModuleFileNameExW". Your modified for XP DwarfTherapist.exe doesn't use that function (it uses GetModuleFileNameExW from PSAPI.DLL instead).

So in summary:
DT 39.0.0 doesn't use this function, and uses Qt v5.9.2.0 (and works for me)
DT 39.3.1 does use this function, and uses Qt v5.9.4.0 (doesn't run on Vista)
DT 39.3.1 XP doesn't use this function, and uses Qt v5.6.3.0 (and works for me)

I've found this on Microsoft's site:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms683198(v=vs.85).aspx

"Programs that must run on earlier versions of Windows as well as Windows 7 and later versions should always call this function as GetModuleFileNameEx. To ensure correct resolution of symbols, add Psapi.lib to the TARGETLIBS macro and compile the program with -DPSAPI_VERSION=1. To use run-time dynamic linking, load Psapi.dll."

I can speculate, that by enabling the XP compatibility for QT5.6, the one setting quoted above was also set, to ensure that the function is called "GetModuleFileNameExW" instead of "K32GetModuleFileNameExW" (the "W" at the end means it's Unicode variant, I don't think it's important).

If you feel like it and have some time, could you maybe make the changes mentioned in MSDN article, so I would check if it is enough to run it on Vista? After all Dwarf Fortress is made with MSVC2015 (or so I've heard) and it works with older Windows versions, so it could be theoretically possible.
Logged

Clément

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #412 on: May 07, 2018, 04:04:45 pm »

DT already uses the GetModuleFileNameExW. But thanks for the tip, I'll try forcing the PSAPI version.

While you were writing all this, I edited my message and added a link. I may just use that in the future so DT would also be compatible with Windows XP x64.
Logged

Saiko Kila

  • Bay Watcher
  • Dwarven alchemist
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #413 on: May 08, 2018, 04:00:06 am »

DT already uses the GetModuleFileNameExW. But thanks for the tip, I'll try forcing the PSAPI version.

While you were writing all this, I edited my message and added a link. I may just use that in the future so DT would also be compatible with Windows XP x64.

Thank you very much. This x64 version works in Vista x64, for both 32-bit and 64-bit versions of DF.

As for GetModuleFileNameExW function, although you use this name in your code, apparently MSVC2015 forces the kernel32 version instead, unless explicitly told not to do so. That's probably because of MS policy and assumption that you want to compile for Win7+ (in future this assumption will change to Win10+, I'm sure).

I've noticed other difference. The programs store settings (Dwarf Therapist.ini) in different places. XP 32-bit version and older versions (like 39.0.0 or 37.0.0) store it in "\AppData\Roaming\UDP Software\", while XP 64-bit in "\AppData\Roaming\Dwarf Therapist\". At first I was baffled why the different settings, because until now they were preserved across the years. Incidentally, I like the new settings better than my old ones :)
Logged

Clément

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #414 on: May 08, 2018, 04:20:22 am »

As for GetModuleFileNameExW function, although you use this name in your code, apparently MSVC2015 forces the kernel32 version instead, unless explicitly told not to do so. That's probably because of MS policy and assumption that you want to compile for Win7+ (in future this assumption will change to Win10+, I'm sure).
I could not find what changed with PSAPI v2, it seems to be an ABI-only change. It is not clear if there was a technical justification, or if it is just a way to push users to update Windows (older application working on newer Windows is important to Microsoft but not the other way). I wonder the same about the optional winxp compatility, all the differences I read was about debugging. But I only make release versions with MSVC, I am more used to GDB for debugging.

I've noticed other difference. The programs store settings (Dwarf Therapist.ini) in different places. XP 32-bit version and older versions (like 39.0.0 or 37.0.0) store it in "\AppData\Roaming\UDP Software\", while XP 64-bit in "\AppData\Roaming\Dwarf Therapist\". At first I was baffled why the different settings, because until now they were preserved across the years. Incidentally, I like the new settings better than my old ones :)
This is not DT 39.3.1, it is an almost 40.0.0 version with the file paths changes and preference columns merged (like the links above). The settings file format did not change, you can move the old file if you want to keep your previous settings.
Logged

Saiko Kila

  • Bay Watcher
  • Dwarven alchemist
    • View Profile
Re: Dwarf Therapist (Really Maintained Branch) v.39.3 | DF 44.09
« Reply #415 on: May 08, 2018, 11:26:08 am »

I could not find what changed with PSAPI v2, it seems to be an ABI-only change. It is not clear if there was a technical justification, or if it is just a way to push users to update Windows (older application working on newer Windows is important to Microsoft but not the other way). I wonder the same about the optional winxp compatility, all the differences I read was about debugging. But I only make release versions with MSVC, I am more used to GDB for debugging.

That's mostly to help convince people to update. I've found that formally the reason stated in SDK for Windows 7 was that moving these functions to kernel32 was to fix performance bug... Hardly believable IMO.

If you compile/link with PSAPI version 1 then when you run your executable on never systems a wrapper uses the same function as it would with PSAPI version 2 anyway.

This is not DT 39.3.1, it is an almost 40.0.0 version with the file paths changes and preference columns merged (like the links above). The settings file format did not change, you can move the old file if you want to keep your previous settings.

Oh, so that's why this looked different. Great!
Logged

Clément

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist v.40.0 | DF 44.10
« Reply #416 on: May 10, 2018, 03:46:52 am »

New version released: 40.0.0

The main new feature is the possibility to add preference columns in gridviews (similar to role preferences). The data and settings file organization has changed so it more standard and consistent and to make sure DT saves downloaded memory layouts in a proper location.

Thanks to ifreund for the macOS patches.

Changelog:
  • added memory layouts for DF 0.44.10
  • changed data directory paths and priority (using Qt's standard paths)
  • added a "portable" mode that only uses and stores files in the application directory
  • changed settings directory from "UDP Software" to "Dwarf Therapist"
  • added a shortcut to the data directory in the file menu
  • changed exported custom role extension to dtr (instead of dtp)
  • added preference columns
  • fixed reading item type on macOS
  • fixed writing files as root on macOS (drop root privileges when not read DF memory)
  • fixed unassignable dwarves being assigned to military in multiple selection
  • fixed caste detection for modded player race
  • fixed some tool names missing their adjective

The configuration file location has changed, you need to move it if you want to keep your old settings:
  • Linux: "~/.config/UDP Software/Dwarf Therapist.ini" to "~/.config/dwarftherapist/dwarftherapist.ini"
  • macOS: "~/.config/UDP Software/Dwarf Therapist.ini" to "~/.config/Dwarf Therapist/Dwarf Therapist.ini" (I would like a confirmation for this one)
  • Windows: "C:\Users\<username>\AppData\Roaming\UDP Software\Dwarf Therapist.ini" to "C:\Users\<username>\AppData\Roaming\Dwarf Therapist\Dwarf Therapist.ini"

Custom roles using "Pots" preference require updating to use "Large Pots" instead.

Windows builds are also available on DFFD (win32, win64).
Logged

jecowa

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist v.40.0 | DF 44.10
« Reply #417 on: May 12, 2018, 11:11:11 pm »

Oh, nice! Mac fixes!
Logged

Camstantine

  • Escaped Lunatic
    • View Profile
Re: Dwarf Therapist v.40.0 | DF 44.10
« Reply #418 on: May 18, 2018, 08:51:52 pm »

I downloaded the .40.0 version of Dwarf Therapist, but I keep getting an error message:

The program can't start because api-ms-win-crt-math-l1-1-0.ddl is missing from your computer. Try reinstalling the program to fix this problem.

I've tried reinstalling Dwarf Therapist, tried downloading separate copies of the .dll file, tried googling every and any solution, until I figured I might as well bother someone here.  :D

Perhaps a solution could be found?
Logged

lethosor

  • Bay Watcher
    • View Profile
Re: Dwarf Therapist v.40.0 | DF 44.10
« Reply #419 on: May 18, 2018, 10:59:16 pm »

Does the message really refer to "api-ms-win-crt-math-l1-1-0.ddl"? It should be "dll". Also, is that the file you downloaded? Make sure you downloaded the right architecture - 64-bit for 64-bit DT (regardless of DF), etc.. Where did you put the DLL?
Reinstalling DT is likely pointless - that's a dumb system error message that assumes the program in question has an installer that's supposed to install DLLs, which is not the case with DT.
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.
Pages: 1 ... 26 27 [28] 29 30 ... 87