I have a Qt-based library for dfhack clients I could publish too if you are interested.
Yes please!
By the way, with this Qt application you could recreate Dwarf Therapist entirely in DFHack, isn't?.
No need for .ini files, etc.
Just curious why you still keep using the original way
Here it is. I tried to write some documentation (in README and headers), not sure if it is clear. It is also missing pkg-config or cmake find_package stuff so you'll have to add the compile and link flags manually. There is nothing special though, simply add the usual include path (-I/install/path/include), lib path (-L/install/path/lib) and link flags (-ldfhack-client-qt).
It is not much tested and the API may need improvements. Don't hesitate to report issues or make suggestions or improve it yourself.
Thanks!!
I continued some time ago just where you finished with this repo.
I parse codegen,out.xml from DFHack and generate automatically a proto file and a remote C++ object for each df structure, so you write something like this
rdf::DF_Instance d;
d.connect();
auto& global = *d.global();
auto& world = global.world();
auto& units = world.units();
auto& units_all = units.all();
auto& a_unit_pointer = units_all[0];
auto& a_unit = *a_unit_pointer;
auto& unit_name = a_unit.name();
But I fell in love with your qt.widget dfhack plugin. It's a wonderful solution to the problem of creating graphical DF tools. You just access the DF data directly from the plugin.
My solution works, but it's overengineered, used a lot of disk space and compilation times were atrocious.
I'm working in a graphical viewer for df structures (like gui-gm editor). I made it work in linux using my library, but, for the reasons mentioned above, I didn't publish it.
This changes now with your plugin. I can generate automatically a QAbstractItemModel and custom nodes for each df structure/field and recreate the graphical viewer easily without the overhead of my library.
So, again, thanks for your work and I hope that soon I could publish the plugin.