[1.0] What the Hack?! v1.2 - last update: May 30, 2019

Started by Roolo, September 07, 2018, 03:25:51 PM

Previous topic - Next topic

2.71828

Since "Sleeeper" doesn't report back, I started a fresh colony with my normal modlist and got myself an "output_log.txt" with the exception on map load, that WTH throws, the "curve has start/end point with y != 0" one:

https://git.io/fhuTX

Roolo

Quote from: temple_wing on January 19, 2019, 07:59:46 AM
Patch Operation Failed.
https://git.io/fhE7J
[...]
This is because "Building_TurretGun" is removed by combat extended. So this is actually compatibility problem between WTH and CE.

I'm currently working with NoImageAvailable to make sure What the Hack and Combat Extended are fully compatible. This error will certainly be resolved by the time CE releases officially.

Quote from: 2.71828 on January 19, 2019, 06:10:15 PM
Since "Sleeeper" doesn't report back, I started a fresh colony with my normal modlist and got myself an "output_log.txt" with the exception on map load, that WTH throws, the "curve has start/end point with y != 0" one:

https://git.io/fhuTX

I took a look at that log, and I have to say, I'm puzzled. The strange thing is that what the hack doesn't patch the method that throws the error at all. It does call it at some point in the code, but only when raids spawn in, so it should definitely not be called on map load. So for me it's really strange to see what the hack turning up in that error.

I did notice that Jecstools and Alienraces patch some of the methods in the stack trace of the error, so maybe one of those mods has a hand in it. But that also doesn't make a lot of sense, since so many people (almost any mod user) use those mods, and I never get complaints (aside from the report by Sleeeper and yours). I also run both those mods without problems with what the hack.

So with such a thin lead there's not much I can do. What you could do however is to make sure Jecstools and Alienraces are updated to their latest version if they aren't already. 

2.71828

Quote from: Roolo on January 20, 2019, 04:25:22 AM

[...]

Quote from: 2.71828 on January 19, 2019, 06:10:15 PM
Since "Sleeeper" doesn't report back, I started a fresh colony with my normal modlist and got myself an "output_log.txt" with the exception on map load, that WTH throws, the "curve has start/end point with y != 0" one:

https://git.io/fhuTX

I took a look at that log, and I have to say, I'm puzzled. The strange thing is that what the hack doesn't patch the method that throws the error at all. It does call it at some point in the code, but only when raids spawn in, so it should definitely not be called on map load. So for me it's really strange to see what the hack turning up in that error.

I did notice that Jecstools and Alienraces patch some of the methods in the stack trace of the error, so maybe one of those mods has a hand in it. But that also doesn't make a lot of sense, since so many people (almost any mod user) use those mods, and I never get complaints (aside from the report by Sleeeper and yours). I also run both those mods without problems with what the hack.

So with such a thin lead there's not much I can do. What you could do however is to make sure Jecstools and Alienraces are updated to their latest version if they aren't already.

Thanks for looking into it! Could this be a Linux issue (someone patching some virtual method, or something), again, maybe not on your end (this time :D)? The "Jecstools" and "Alienraces" should be updated though, since I exclusively use Workshop mods (at the moment).

Anyway, if the only thing this error does is write a few lines to the log, than it probably doesn't matter, although I haven't really seen WTH in action, yet. It's in my modlist, but I have not managed to touch it and wasn't visited by any mechanoids, yet. Do you think I should report this to Jecrell or erdelf?




BTW, is there an easy method for someone with almost no C#-knowledge to check a mod for "virtual method patching" if one has access to the source code?

Roolo

Quote from: 2.71828 on January 20, 2019, 09:18:38 AM
[...]

I don't think it has anything to do with methods being virtual or not. The "curve has start/end point with y != 0" seems like some method didn't get appropriate input somehow, but it could literally be anything. I don't think reporting it to Jecrell or Erdelf is necessary, as the lead is too thin. If the error doesn't affect your game, I wouldn't be worried about it.

QuoteBTW, is there an easy method for someone with almost no C#-knowledge to check a mod for "virtual method patching" if one has access to the source code?
Sadly no, even for people with good C# knowlegde there isn't. The isn't any information about methods being virtual or not in the harmony patch itself. The only way to find out is to look at each patched method's signature in the original disassembled Rimworld code. An experienced programmer could write a script that does this automatically, but there's really no point in doing that. It's not even sure the RunAndGun issue you seem to be referring to, that seemed to be caused by a virtual method being patched, really had anything to do with methods being virtual or not. It was just a hypothesis, and just patching another method solved the issue, but that didn't really proof much. Anyhow, this is way off topic, since the error you're having now doesn't seem related.

For now, just enjoy the game and let me know when unusual things start to happen. It's probably just fine :).

Roolo

Tiny update:
v1.1.5
- Updated to new versioning system.
- Fixed error on load when using Combat Extended.
- Updated Chinese translations.

jager666

Quote from: Roolo on January 08, 2019, 03:56:23 AM
"Is it intentional". - I can hardly have intentions for some other mod that's not released yet.

Once combat extended officially releases for 1.0, I'll release a patch, at least for the ammo. Until that time it might not be such a good idea to use what the hack with CE.

Hi, since CE has been released recently for 1.0, can you look into it? Or it's rather a matter of CE specific patch?

Roolo

#111
Quote from: jager666 on January 23, 2019, 10:39:24 AM
Quote from: Roolo on January 08, 2019, 03:56:23 AM
"Is it intentional". - I can hardly have intentions for some other mod that's not released yet.

Once combat extended officially releases for 1.0, I'll release a patch, at least for the ammo. Until that time it might not be such a good idea to use what the hack with CE.

Hi, since CE has been released recently for 1.0, can you look into it? Or it's rather a matter of CE specific patch?

Yes there will be a patch, hopefully integrated into what the hack, but I do need some time to implement that.

Edit: by the way, you can already run both mods together safely since the last update. The only thing still missing is a way to let hacked mechs regain ammo, so they'll run out at some point.

Roolo

Update
v1.1.6
- Added a fully integrated Combat Extended compatibility patch. When using CE, mechs will automatically re-supply their ammo when they're out.
- Chance mechanoids die when they're incapacitated can now be configured in the mod options.
- When the health of mechanoids goes below the threshold they'd normally die at, there's now a chance they are downed instead.
- Chance mechanoids are downed instead of dying when their death threshold is reached can also be configured in the mod options.

Ever had trouble downing mechanoids from certain mods? The new mechanic described above makes sure any mechanoid, modded or not has a reasonable chance to get downed.
Also, Combat Extended is fully compatible now, and you don't need to install a separate patch as it's all integrated. It's like magic :).


Roolo

I'm sorry, there was a problem in the previous release, hence this update:

v1.1.7
- Removed option to set death on downed chance, as that was causing issues.

I recommend updating to this version if you downloaded the previous update.

jager666

Thanks a lot Roolo for the CE patch! You're the king :D

whyareuhere

Yes! Thanks you so much. It used to be that What the Hack would also interfere with the Psychology mod for some reason, obscuring the newly created Psyche tab to go with it.

Roolo

Quote from: whyareuhere on February 04, 2019, 01:55:16 PM
Yes! Thanks you so much. It used to be that What the Hack would also interfere with the Psychology mod for some reason, obscuring the newly created Psyche tab to go with it.

Yeah, not sure if that issue is still a thing, but placing What the Hack above psychology in the load order always fixed it.

TKCaesar

#117
How do you extract brain data? I have a medkit, advanced mech chip and a prisoner medical bed for him to lay in, but it still says I lack the materials. I have every station this mod has to offer as well.

Edit: Also, my Hiveship hacking facility has been hibernating at least 10 days how do I get it to not do that?

Roolo

Quote from: TKCaesar on February 13, 2019, 09:32:55 PM
How do you extract brain data? I have a medkit, advanced mech chip and a prisoner medical bed for him to lay in, but it still says I lack the materials. I have every station this mod has to offer as well.

Edit: Also, my Hiveship hacking facility has been hibernating at least 10 days how do I get it to not do that?

Strange, it should be working when you have the advanced mech chip and 1 medicine. Maybe your hacking facility was occupied? The operation takes place there. Though I don't think you'll get the message that you're lacking materials in that case, but let's just rule out possibilities.

QuoteEdit: Also, my Hiveship hacking facility has been hibernating at least 10 days how do I get it to not do that?

Hibernating means it's just in a resting stage and not doing anything. Why do you want to cancel that? You can activate it if you want?



TKCaesar

Oh when it says days until hack I thought it was a countdown I see now that you activate it and it leaves hibernation. As far as the me needing the materials I'm not sure why its not working but its fine since I can use the hacking facility to get data. I guess my prisoners get to keep their brains.