Quasar Posted October 19, 2014 Decompiling, modifying, and then recompiling a vanilla Strife dialog with USDC does not result in 1:1 output, and even worse, generates a lump which crashes the game. The "giveitem" field is not written correctly. As an example, the script for MAP23 has the giveitem for Richter's 3rd dialog set to 304, or LE hex 30 01 00 00 @ offset 17052. Recompiling the script results in the value 30 30 30 30 being written at this offset, which the game interprets as a GIGANTIC integer, causing massive corruption and a crash. This is sort of fundamentally broken, in a way that should take anybody 5 minutes to find, so forgive my obvious extreme aggravation. I could not find any official place to report bugs for this program so I'm leaving it here. 0 Share this post Link to post
Gez Posted October 20, 2014 Quasar said:I could not find any official place to report bugs for this program so I'm leaving it here. Here I guess 0 Share this post Link to post
Blzut3 Posted October 20, 2014 Gez said:Here I guess Yep. I did test some scripts against chocolate strife and vanilla, but only when people told me something was wrong. I believe I did try to use recompiling as a test case, but I think some of the IWAD scripts have garbage at the end of strings so a byte for byte comparison wouldn't work. I could be wrong there though, it has been awhile. In any case, I'll look into that. 0 Share this post Link to post
RjY Posted October 20, 2014 giveitem=304 turned into 0x30303030 due to improperly bracketed macro expansion in blocks.cpp. I guess Quasar forgot to update his thread :) 0 Share this post Link to post
Quasar Posted October 21, 2014 RjY said:giveitem=304 turned into 0x30303030 due to improperly bracketed macro expansion in blocks.cpp. I guess Quasar forgot to update his thread :) Very busy ;) 0 Share this post Link to post