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 ... 45 46 [47] 48 49 50
691
Utilities and 3rd Party Applications / Re: DFHack 0.43.05-r2
« on: September 19, 2017, 06:26:13 am »
I have a problem with the devel/export-dt-ini script. I get the wrong size for the structure "squad_schedule_entry" ("sched_size" in DT's world) using 0.43.05-r2 win32.

The line is:
Code: [Select]
value('sched_size',df.squad_schedule_entry:sizeof())
I get 0x40 instead of 0x34. I assume df-structures is good since it is what I used to get the correct size. I am not sure where the error comes from (C++ code generation or the script itself?).

692
@PatrikLundell

Does changing "sched_size" to 0x34 in "[squad_offsets]" section solves your issue? Disable the updater, it overwrites the changes.

693
Thanks, I can reproduce the bug.

694
"Only parts of a ReadProcessMemory- or WriteProcessMemory-request has been completed." [E:/projects/Dwarf-Therapist/src/dfinstancewindows.cpp:138] (read_raw)

There are dangerous reinterpret_cast in this function, it might be the cause. I should fix that anyway.

Edit: can you upload your df installation or save?

Edit2: using "-trace" option could help if it happens while reading a vector.

695
New repository and new release version

I created a new repository at https://github.com/Dwarf-Therapist/Dwarf-Therapist, you can submit issues and pull request there. If an issue from the old repo is still valid, feel free to repost it.

New version: 38.0.0

Changelog:
  • added support for 64 bits Dwarf Fortress
  • added memory layouts for DF 43.05 (only for Windows 32 bits and 64 bits, and Linux 64 bits)
  • dropped Qt4 support, requires Qt5
  • a C++14 compiler is required
  • various changes and fixes from Hello71
  • fixed random crash when switching tabs
  • fixed uncovered legs and body warnings inversion
  • fixed reading dwarves during embark when filtering non-citizens

Notes:
  • You need to use the same architecture (32 bits or 64 bits) with Dwarf Therapist and Dwarf Fortress. Theoretically, I think DT 64 bits should be able to read DF 32 bits, but this would requires a few changes (mostly de-hardcoding the size of a pointer and the base address).
  • I did not merge the whole Hello71 branch, instead I cherry-picked what I could. Some fixes from the latest Hello71 version may be missing.
  • 32 bits has only been tested for basic functionality (and only on Windows). Porting to 64 bits may have broken more advanced features.
  • OSX was not tested and the memory layout for 0.43.05 is missing. Help is needed to make Dwarf Therapist works on OSX.

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

696
Assuming you are using Windows 64 bits, you can use the link from this post: http://www.bay12forums.com/smf/index.php?topic=122968.msg7560111#msg7560111

I will make a proper release with long-lived links very soon.

About your problem, it may be a LNP bug. DT may crash but you usually have a chance to interact with it before it happens.

698
Already? I thought they were for two month, but they look dead to me too. I'll make a new build and upload it soon. I did not change much since last time. I think I only fixed a few compilation warnings (I was compiling without -Wall). I tried to merge with Hello71, but I got discouraged.

699
As I said I understand the benefits but I don't think they are worth breaking everything.

1) support for new versions can be added fast enough thanks to the dfhack script for generating DT inis.
2) I don't know about OSX, but on Linux you don't need root permission if you run DT as the parent of DF. But it is annoying as DT cannot be restarted without restarting DF at the same time.

It not possible keep current state and simple add new backend,
all classes use QPointer and memory vector for direct read-write in memory
for support both backend in the same time we need for first will do big refactoring and cut working with memory in separate module
but for me it's unnecessary work which will gone in trash soon.

QPointer are not related to DF memory, VIRTADDR is used for holding pointers to DF memory. But, yes, it is tightly coupled, and I am not fond of this. But since you need to refactor everything anyway, you might as well try to do it properly.

700
Clément, what do think about merge all changes in one repository?

That exactly what I wanted to do, but I was waiting for news from people like you. What branch are you based on? Different branches have been diverging for a while and merging won't be simple.

I have some problem with running you branch on osx64 =)

I don't have OSX, I cannot compile or test it. I only have Linux and Windows, so that was expected, and your help is welcome.

as fix I started refactoring DT from memory patching to use DFHack as backend.

All communication over network in protobuf protocol.
I already implemented connection, load units, animals, basic information about world, etc.

My build it's pretty unstable now, but I think I can fix this problem soon.

Main benefit it's unification DT for work on all platforms without magic with Authorization and requirement admin permissions

Are you adding a new backend or replacing the current one? I perfectly understand the benefits, but there will also be drawbacks: this adds a dependency on DFHack, I personally do use DFHack, but does every DT user do? and we can expect regressions for a while. If it replaces the current method, it would be best to keep it in a separate branch until it works perfectly while taking care to keep it and the main branch as close as possible (i.e. refactoring the main branch to prepare for the switch).

701
You are making a lot of changes for someone who can hardly bother to work on it.

I will see what I do when have the time and motivation to deal with that.

702
Hello71, are you still reading this thread? While trying to merge everything, I discovered that you added some commits since I made my patches based on fd5d9a0. I cannot rebase my patches because db7016a broke the whole repo. You should really be more careful with your commits (and be more descriptive in the commit messages because they are really not helpful either). I was going to create a new upstream repo but I will wait for you tell me your plans for this project before going any further.

703
I am getting too many development branches, I need an upstream to merge them. If no one has objections, I will create a new repo with a github organization (so it is easier to pass on or add maintainers). Is that okay to use Hello71's branch as a base? I see there are several branches based on splinterz's.

704
It may cover the legs for protection but the test is meant for nudity bad thoughts.

By the way, I have doubts about the foot test.
Code: [Select]
    //for shoes, compare how many they're wearing compared to how many legs they've still got
    process_uncovered(SHOES,tr("Feet Uncovered!"),shoes_count,m_unit_health.limb_count());
If I understand correctly, socks count as "SHOES" type, so, if a dwarf wears only one sock and one shoe/boot on the same foot and nothing on the other, he would pass the test. But, he would still have a bad thought because of the naked other foot, wouldn't he?

705
Code: [Select]
    process_uncovered(PANTS,tr("Legs Uncovered!"),(has_shirt ? 1 : 0),1);
    process_uncovered(ARMOR,tr("Torso Uncovered!"),(has_pants ? 1 : 0),1);
A simple variable inversion, it should be "Legs Uncovered!".

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