Is stonesense maintained by anybody? There seems to be an issue where constructed walls & floors are using the sprite for smoothed stone walls & floors, rather than the sprite for constructed walls.
I always dread questions that start out like that, because the question usually contains "Stonesense is crashing" and the answer is usually "no". This is probably one of the most benign issues I've heard of with it. But unfortunately, we don't have anyone around who's familiar with Stonesense any more, and I don't really know how to fix that either. (Stonesense is pretty broken on macOS, and even more so on newer versions due to Stonesense's architectural choices, so I don't have a good way to develop it or test fixes.)
@bloop_bleep: Firstly, why do you perform all of these narrowing type conversions, rather than keep the original types?
Haha, believe me, I tried. It usually happens in the case where I’m dividing two values, and I can’t seem to be able to find the right combination of types such that the division is allowed and works as expected while also the end result matches the type desired by DF.
I mean, on principle, I don't want to tell you how to disable warnings, because you should fix the warnings instead. What types specifically are you trying to divide? What's the warning you're getting? Can you give an example (or all) of the code you're trying to compile?
As for explicit typecasting, I might do that, but honestly sometimes I just can’t be bothered. Besides, it produces the same effect, and probably hurts readability.
Yeah, I was about to suggest typecasting everything as an ugly solution.
If you know, is there any way to set compiler options globally (i.e. for the entire DFHack build)?
Absolutely, but it requires recompiling literally
everything.
Additionally, could I have the username of the person who wrote steam-engine.cpp, so I could message them.
You can answer this with "git log" or on GitHub: go to
https://github.com/DFHack/dfhack/blob/master/plugins/steam-engine.cpp, click "History", and go to the end. That takes me
here. (Angavrilov = ag on the forums, although he hasn't been active in a long time.)
I can try to ask questions about steam-engine... are they about the code in general or specific features of the plugin?
Edit: if it's this:
I have two questions.
- df::item::addWear takes three arguments, an int16_t (which I assume is the amount of wear) and two other Booleans. What do these last two arguments mean? I ask because steam-engine.cpp seems to use both the (true, false) and (true, true) combinations, and neither of these seem to actually change the wear value when inspected with lua.
the answer is in
df.items.xml in df-structures:
<vmethod ret-type='bool' name='addWear'>
<int32_t name='delta'/> <bool name='simple'/> <bool name='lose_masterwork'/>
</vmethod>
Vmethod parameter names don't get transferred to the generated headers like field names do, unfortunately.