Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 60 61 [62] 63 64 ... 360

Author Topic: DFHack 0.43.03-r1  (Read 1123943 times)

salithus

  • Bay Watcher
  • gottagofast
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #915 on: September 17, 2014, 08:08:36 pm »

It really comes down to how you want people who are compiling themselves to do it. When I did it with .40.12, I just followed the step by step instructions because it was my first time. With .40.13, I did the master branch thinking it'd prove more of a point about how close the DF code was across the 3 releases and I didn't want to unknowingly include active development that might address an issue I wasn't aware of. Whichever I should be compiling against, that's the one I recommend not have an official version string as the default. (Might even be worth taking those lines out of source control entirely somehow [addmittedly no idea how CMake works], so that it always has to be specified by whoever is doing the compiling to make sure it's done correctly.)

uhh through IRC? kinda find the idea that if anyone willingly set on building dfhack and compiling a (dev/branch/copy/early access) build should hang out with the devs and listen to them discuss builds and plugins.
like you cross the step from being a user of dfhack to being a developer and drank the darkspawn blood and finally become a Git Warden, now shall wait out your continuous life in Freenode dusting the giant ruins of DF to unearth more stuff for the wizards of the camp to craft wonderful spells or trinkets of either entertainment or ease of use. This quest is a long and repeating one that has it's ups and downs, but's thats the life of a git warden. jokes aside that sounds like alot of effort to do in the middle of a dev cycle that updates around in weeks and that whole dfhack shouldn't cause people to wait out for the new update of DFH to play the new update of DF.

then again this is a opinion from a guy who writes scripts(lua) all day and too lazy or/and incompetent to write a solution that doesn't end with rewriting everything. Take with a grain of salt.
throw in some Zolgar and count me in.
Logged

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: DFHack 0.40.12-r1
« Reply #916 on: September 17, 2014, 09:32:21 pm »

despite being the same original source (master branch of DFHack), previous DLLs would not work (aside from the version string issue), due to those changes?

Most of them will because they don't use changed structures.

salithus

  • Bay Watcher
  • gottagofast
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #917 on: September 17, 2014, 10:04:54 pm »

despite being the same original source (master branch of DFHack), previous DLLs would not work (aside from the version string issue), due to those changes?

Most of them will because they don't use changed structures.
Sanity check - if I understand what you said:

Let's say there are 30 structures total and that 2 of them changed. Most of the DLLs could work, because those 2 structures aren't ones "typically" used?

So phase 1 would be: if 0 of the structures changed, we're ok to use all the same plugins from before. Versioning would need to be based off identifying a specific changeset used from the symbols project.

Phase 2 would be figuring out a registration system, or some other method to see what specific structures are used, and identify the specific changeset AND structure used, which would require stricter handling on the plugin side, but looser coupling on the DFHack side.

Does that make sense?
Logged

Rose

  • Bay Watcher
  • Resident Elf
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #918 on: September 17, 2014, 10:06:47 pm »

I have an idea:

Anybody that does an unofficial DFHack build that intends to release it should change the version number to reflect that.

So instead of being DFHack 40.12.r1, which is only for official builds, or 40.12.r0, which is ambiguous, it should be something like 40.12.whiny-and-impatient-noobs-version, to avoid confusion with the official releases.
Logged

LeoCean

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #919 on: September 17, 2014, 10:08:43 pm »

I have an idea:

Anybody that does an unofficial DFHack build that intends to release it should change the version number to reflect that.

So instead of being DFHack 40.12.r1, which is only for official builds, or 40.12.r0, which is ambiguous, it should be something like 40.12.whiny-and-impatient-noobs-version, to avoid confusion with the official releases.

Then they couldn't use twbt so they'd throw a r1 on it.
Logged

salithus

  • Bay Watcher
  • gottagofast
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #920 on: September 17, 2014, 10:18:34 pm »

I have an idea:

Anybody that does an unofficial DFHack build that intends to release it should change the version number to reflect that.

So instead of being DFHack 40.12.r1, which is only for official builds, or 40.12.r0, which is ambiguous, it should be something like 40.12.whiny-and-impatient-noobs-version, to avoid confusion with the official releases.
That doesn't really solve the problem presented though does it? The idea is to make the default that would be grabbed by anyone not paying close enough attention be something that's easily distinguishable from a supported build, given the advice when waiting for official releases is and has been:

you'll have to wait or compile it on your own

If that's going to be the stance, you've either got to accept the casualties from defaulting to a supported build number (admittedly a bad idea) or safeguard yourself from it.

What about CMake's capabilities - can you have it prompt the user each time?
Logged

Nopenope

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #921 on: September 17, 2014, 11:25:12 pm »

Forgive me if it's obvious, but it seems the problem at hand is the necessity to recompile every plugin every time the version number changes. However there doesn't seem to be this problem with scripts; is there any dfhack magic involved (save for that of laziness which I understand perfectly, mind you) that would prevent people from rewriting said plugins into lua/ruby scripts?

Toady's gone a bit farther than that; he provides the guarantee of a complete absence of guarantee. He's said before that he doesn't want to have to keep 3rd party programs in mind when he writes Dwarf Fortress; it's pretty much the same problem as a UI API.
This is interesting; the way he releases a new version in a matter of hours after each dfhack release and focuses on dfhack-fixable bugs first makes me wonder if he doesn't want people to get used too much to dfhack magic.

I have an idea:

Anybody that does an unofficial DFHack build that intends to release it should change the version number to reflect that.

So instead of being DFHack 40.12.r1, which is only for official builds, or 40.12.r0, which is ambiguous, it should be something like 40.12.whiny-and-impatient-noobs-version, to avoid confusion with the official releases.
That's unfair, there are many legitimate reasons one would wish to compile from source, if one wants to add a port to Gentoo or a bleeding-edge package to the AUR. Maybe the version should be .40.12r1u2 (second unofficial build from the first dfhack release from the .40.12 version), .40.13r0u1 (first unofficial build from the .40.13 version) or even .34.11r5e1u1 for experimental builds expwnent has been known to release.
« Last Edit: September 17, 2014, 11:33:49 pm by Nopenope »
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #922 on: September 17, 2014, 11:52:36 pm »

Forgive me if it's obvious, but it seems the problem at hand is the necessity to recompile every plugin every time the version number changes. However there doesn't seem to be this problem with scripts; is there any dfhack magic involved (save for that of laziness which I understand perfectly, mind you) that would prevent people from rewriting said plugins into lua/ruby scripts?

Can't interpose vmethods in Lua; you need C++ to access events related to those.

salithus

  • Bay Watcher
  • gottagofast
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #923 on: September 17, 2014, 11:54:56 pm »

Forgive me if it's obvious, but it seems the problem at hand is the necessity to recompile every plugin every time the version number changes. However there doesn't seem to be this problem with scripts; is there any dfhack magic involved (save for that of laziness which I understand perfectly, mind you) that would prevent people from rewriting said plugins into lua/ruby scripts?

Can't interpose vmethods in Lua; you need C++ to access events related to those.
Plus as I understand it, there's a noticeable performance hit from running it as a Lua script instead of a compiled plugin, because it's compiled each time it's run + the abstraction to the memory addresses.
Logged

Nopenope

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #924 on: September 18, 2014, 12:04:55 am »

Can't interpose vmethods in Lua; you need C++ to access events related to those.

From what I understand some events (the onSomething thingies) have been exported to lua, making it possible to use them in scripts, isn't that right?

Plus as I understand it, there's a noticeable performance hit from running it as a Lua script instead of a compiled plugin, because it's compiled each time it's run + the abstraction to the memory addresses.
I don't know if it's "noticeable", and I don't know whether performance is paramount when dealing with a script that will only be punctually used (such as a gui or various hack magic). There's only that much stuff that runs continuously along the game (like emigration, rendermax or twbt).
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #925 on: September 18, 2014, 12:12:44 am »

Yes, it's possible. That's what I meant by needing C++ to access them. I'm fairly sure that that needs to be recompiled on later versions.

salithus

  • Bay Watcher
  • gottagofast
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #926 on: September 18, 2014, 12:15:28 am »

Can't interpose vmethods in Lua; you need C++ to access events related to those.

From what I understand some events (the onSomething thingies) have been exported to lua, making it possible to use them in scripts, isn't that right?

Plus as I understand it, there's a noticeable performance hit from running it as a Lua script instead of a compiled plugin, because it's compiled each time it's run + the abstraction to the memory addresses.
I don't know if it's "noticeable", and I don't know whether performance is paramount when dealing with a script that will only be punctually used (such as a gui or various hack magic). There's only that much stuff that runs continuously along the game (like emigration, rendermax or twbt).
I don't have any first-hand knowledge here, just relaying what I took away from Quietust's posts.
Logged

vjek

  • Bay Watcher
  • If it didn't work, change the world so it does.
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #927 on: September 18, 2014, 12:31:06 am »

Regarding 0.40.12-r1 'forum-dwarves' script included with the release version, in vanilla df 0.40.12:
Spoiler (click to show/hide)
That's just from trying to use it to output the details of any object (in this case, cave spider silk trousers).
I don't know how to fix the problem, or I would.   :(

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #928 on: September 18, 2014, 01:03:37 am »

It looks like the "text" object there should be interpreted by Lua as a Lua string instead of the weird userdata C char[] or whatever it is now.

Malorn

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #929 on: September 18, 2014, 02:39:29 am »

Seems like the stockflow is bugged.  Had a hard lockup when my recordkeeper went to update his records.  Crash does not occur if I insure there are no stockpiles with stockflow settings.  Nothing is printed to stdout or stderr.
Logged
Pages: 1 ... 60 61 [62] 63 64 ... 360