Bay 12 Games Forum

Please login or register.

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

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

danaris

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #930 on: September 18, 2014, 06:29:59 am »

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'm pretty sure the main reason Toady's fixed so many of the dfhack-fixable bugs in this cycle is because Quietust and ag have done a yeoman's job of figuring out exactly what those bugs are, where they are located, and what would be necessary to fix them, and provided that information in the bug notes.
Logged

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #931 on: September 18, 2014, 06:38:42 am »

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'm pretty sure the main reason Toady's fixed so many of the dfhack-fixable bugs in this cycle is because Quietust and ag have done a yeoman's job of figuring out exactly what those bugs are, where they are located, and what would be necessary to fix them, and provided that information in the bug notes.
Actually it's even more impresive than that. Some bug had code snippets (e.g. "i think you did for(int x=0;x<t;t++)... where you meant for(int x=0;x<t;x++)) with approximate location where to find it.

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #932 on: September 18, 2014, 07:00:24 am »

Some bugs had code snippets (e.g. "i think you did for(int x=0;x<t;t++)... where you meant for(int x=0;x<t;x++)) with approximate location where to find it.
:o
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

indyofcomo

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #933 on: September 18, 2014, 08:25:12 am »

I have recently downloaded the LNP for 40.12 and it of course comes with DFHack. Previously I started using DFHack on my last few 34.11 games and I don't use it for much. I like digx, cleanowned, fix/dead-units(?), and a few of the UI things (filters and cursor sticking).

Anyways, I started a new game with this latest version, and there is a new thing going on. I am getting some kind of intermediate display while I'm queueing work from workshops. This has happened in my kitchen, still, masonry, and carpentry workshops. If I recall correctly, it says something about the workshop not being assigned to a dwarf, and has an arrow on it pointing to the item I'm trying to build.

Again, it's not in front of me right now, so XXdescriptionXX and xaccuracyx, sorry. But if anyone could point me in the direction of a mod/fix/UI piece this might be, I'd appreciate it.
Logged

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: DFHack 0.40.12-r1
« Reply #934 on: September 18, 2014, 08:56:24 am »

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 actually did a test about 2 years ago to see how much slower it would be to implement reveal as a script instead of a plugin. The script version took almost an entire minute to run, compared to the plugin which was pretty much instantaneous. It's made even worse by the fact that the script wasn't doing the extra work of saving unreveal information or avoiding revealing HFS - adding that would have made it even slower.

Most of the "fix" scripts also take a noticeable amount of time to run, and rewriting them as plugins would probably drop their execution times down to a few hundred milliseconds.
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

Nopenope

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #935 on: September 18, 2014, 09:20:17 am »

I have recently downloaded the LNP for 40.12 and it of course comes with DFHack. Previously I started using DFHack on my last few 34.11 games and I don't use it for much. I like digx, cleanowned, fix/dead-units(?), and a few of the UI things (filters and cursor sticking).

Anyways, I started a new game with this latest version, and there is a new thing going on. I am getting some kind of intermediate display while I'm queueing work from workshops. This has happened in my kitchen, still, masonry, and carpentry workshops. If I recall correctly, it says something about the workshop not being assigned to a dwarf, and has an arrow on it pointing to the item I'm trying to build.

Again, it's not in front of me right now, so XXdescriptionXX and xaccuracyx, sorry. But if anyone could point me in the direction of a mod/fix/UI piece this might be, I'd appreciate it.

DFHack has this issue when you alt-tab out of the game, it still thinks you pressed alt and alt-r brings out a room gui. You probably set a workshop order to [r]epeat and it brought out this menu. Simply press alt again to resolve it.

Or something like that.
« Last Edit: September 18, 2014, 09:30:52 am by Nopenope »
Logged

indyofcomo

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #936 on: September 18, 2014, 10:12:00 am »

DFHack has this issue when you alt-tab out of the game, it still thinks you pressed alt and alt-r brings out a room gui. You probably set a workshop order to [r]epeat and it brought out this menu. Simply press alt again to resolve it.
Yes, I am having this problem. I found it through google-fu on why I couldn't access my (m)ilitary screen.

Is this seen as a DFHack bug that's being looked at? (Is there a link where I could have answered that question myself?)
Logged

expwnent

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #937 on: September 18, 2014, 10:16:43 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.   :(

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.

I have recently downloaded the LNP for 40.12 and it of course comes with DFHack. Previously I started using DFHack on my last few 34.11 games and I don't use it for much. I like digx, cleanowned, fix/dead-units(?), and a few of the UI things (filters and cursor sticking).

Anyways, I started a new game with this latest version, and there is a new thing going on. I am getting some kind of intermediate display while I'm queueing work from workshops. This has happened in my kitchen, still, masonry, and carpentry workshops. If I recall correctly, it says something about the workshop not being assigned to a dwarf, and has an arrow on it pointing to the item I'm trying to build.

Again, it's not in front of me right now, so XXdescriptionXX and xaccuracyx, sorry. But if anyone could point me in the direction of a mod/fix/UI piece this might be, I'd appreciate it.

If you could make bug reports here that would be useful for keeping track of bugs. I have my personal todo list but I generally stay away from plugins other people wrote when I don't know how they work.

There have been multiple issues with forum-dwarves before and I updated that one so I'll fix that when I get to it but I don't know about the others.
Logged

Dirst

  • Bay Watcher
  • [EASILY_DISTRA
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #938 on: September 18, 2014, 10:51:09 am »

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?
The project could go to a 30-component version numbering scheme, but that seems stupid.  Maybe some meta-structure that holds version numbers for the DF structures, and use that to register dependencies.

Depending on what CMake can do, maybe sourcecode macros can be used to specify allowed version numbers for specific plug-ins.

A much more ambitious path is to include a plugin wrapper for experimental builds.  It would check the version string and throw up an obvious console warning in the event of a mis-match. 

********************************************************************
WARNING!
The plugin twbt.dll was compiled for DFHack version 0.40.12.r1
You are running DFHack version 0.40.13.i-cant-live-without-digv
********************************************************************
How do you want to proceed?
1. Do not load the plug-in (as if the DLL did not exist)
2. Load the plug-in this time
3. Load the plug-in and remember this decision (affects onLoad.init)


In any case, there are absolutely no guarantees about the behavior of a plug-in not designed specifically for that version.  It turns out that .12 stuff would run fine under .11, but some .13 stuff would cause magma to ooze out of your USB ports.  If someone is mucking around the sourcecode to make this compile, they should be aware of the risks.
Logged
Just got back, updating:
(0.42 & 0.43) The Earth Strikes Back! v2.15 - Pay attention...  It's a mine!  It's-a not yours!
(0.42 & 0.43) Appearance Tweaks v1.03 - Tease those hippies about their pointy ears.
(0.42 & 0.43) Accessibility Utility v1.04 - Console tools to navigate the map

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #939 on: September 18, 2014, 10:55:24 am »

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 actually did a test about 2 years ago to see how much slower it would be to implement reveal as a script instead of a plugin. The script version took almost an entire minute to run, compared to the plugin which was pretty much instantaneous. It's made even worse by the fact that the script wasn't doing the extra work of saving unreveal information or avoiding revealing HFS - adding that would have made it even slower.

Most of the "fix" scripts also take a noticeable amount of time to run, and rewriting them as plugins would probably drop their execution times down to a few hundred milliseconds.
As a counter argument I would provide an example of rendermax lighting mod. First implementation was in lua  yes verrrrryyyy slow, but I had something almost nice in matter of minutes. The c++ engine ( though to be fair a lot more complex) took way longer and with help from other people.
So in the end: quick iterations- lua/ruby. Best performance - c++

fricy

  • Bay Watcher
  • [DFHACK:ZEALOT]
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #940 on: September 18, 2014, 11:35:08 am »

@Dirst: Twbt is a bad example, as it doesn't (only?) depend on symbols.xml, but uses hard-coded memory adresses. So that's one that needs to be recompiled for every df version.

@Warmist: speaking of rendermax: any plans to update to 40.x?

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #941 on: September 18, 2014, 11:50:02 am »


A much more ambitious path is to include a plugin wrapper for experimental builds.  It would check the version string and throw up an obvious console warning in the event of a mis-match. 

********************************************************************
WARNING!
The plugin twbt.dll was compiled for DFHack version 0.40.12.r1
You are running DFHack version 0.40.13.i-cant-live-without-digv
********************************************************************
How do you want to proceed?
1. Do not load the plug-in (as if the DLL did not exist)
2. Load the plug-in this time
3. Load the plug-in and remember this decision (affects onLoad.init)


In any case, there are absolutely no guarantees about the behavior of a plug-in not designed specifically for that version.  It turns out that .12 stuff would run fine under .11, but some .13 stuff would cause magma to ooze out of your USB ports.  If someone is mucking around the sourcecode to make this compile, they should be aware of the risks.
*peep*
Just an end user on this project, though I am aware of the difficulties which can arise from doing stuff like that, but those sort of "just making sure you're informed before you bone everything up anyways" alerts are too often overlooked, and mostly appreciated by people who already know what they're getting into, sadly.
Logged

salithus

  • Bay Watcher
  • gottagofast
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #942 on: September 18, 2014, 12:06:47 pm »


A much more ambitious path is to include a plugin wrapper for experimental builds.  It would check the version string and throw up an obvious console warning in the event of a mis-match. 

********************************************************************
WARNING!
The plugin twbt.dll was compiled for DFHack version 0.40.12.r1
You are running DFHack version 0.40.13.i-cant-live-without-digv
********************************************************************
How do you want to proceed?
1. Do not load the plug-in (as if the DLL did not exist)
2. Load the plug-in this time
3. Load the plug-in and remember this decision (affects onLoad.init)


In any case, there are absolutely no guarantees about the behavior of a plug-in not designed specifically for that version.  It turns out that .12 stuff would run fine under .11, but some .13 stuff would cause magma to ooze out of your USB ports.  If someone is mucking around the sourcecode to make this compile, they should be aware of the risks.
*peep*
Just an end user on this project, though I am aware of the difficulties which can arise from doing stuff like that, but those sort of "just making sure you're informed before you bone everything up anyways" alerts are too often overlooked, and mostly appreciated by people who already know what they're getting into, sadly.
That and the goal isn't to make plugins work with unofficial builds, but:

1) find a way to let a stable release of DFHack be updated to the latest DF version without needing to wait on the DFHack team to put together a new release
2) find a way to let plugins identify what they are compatible with structure-wise so that they don't have to be recompiled with each DFHack release

Logged

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: DFHack 0.40.12-r1
« Reply #943 on: September 18, 2014, 12:08:06 pm »

@Dirst: Twbt is a bad example, as it doesn't (only?) depend on symbols.xml, but uses hard-coded memory adresses. So that's one that needs to be recompiled for every df version.
Indeed - if you tried editing the version string on TWBT to run it in a newer version than whatever it was compiled for, it would either refuse to run or crash the game entirely, neither of which are in any way useful. It also appears to contain a bunch of hardcoded binary patches, all of which were likely designed solely for version 0.34.11 and are thus nonfunctional in the current version anyways.

Needless to say, that plugin will never be accepted into the DFHack codebase in that state.
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

breadman

  • Bay Watcher
    • View Profile
Re: DFHack 0.40.12-r1
« Reply #944 on: September 18, 2014, 01:31:39 pm »

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.

That's probably my fault, unless you're using an unofficial DFHack release, or there's another structure change that we haven't noticed yet.  I'll fix it once I can reproduce the issue.  Which platform (OS, DF version, and DFHack version) are you using?  Could you upload an affected save for me?
Logged
Quote from: Kevin Wayne, in r.g.r.n
Is a "diety" the being pictured by one of those extremely skinny aboriginal statues?
Pages: 1 ... 61 62 [63] 64 65 ... 360