Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Quasar

USDC 1.5 does not generate valid compiled lumps

Recommended Posts

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.

Share this post


Link to post
Gez said:

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.

Share this post


Link to post

giveitem=304 turned into 0x30303030 due to improperly bracketed macro expansion in blocks.cpp.

I guess Quasar forgot to update his thread :)

Share this post


Link to post
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 ;)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×