Starting from the given revision it's impossible to play Knee-Deep in ZDoom. Loading is stopped on the following error:
Code: Select all
Script error, "kdizd_11.pk3:decorate/decorations.txt" line 996:
SC_GetFloat: Bad numeric constant "0.4´".
As you may noticed there is an unexpected character with code 0xB4 in float constant. Before r4179 character type in the script parser was signed and everything was worked fine. In r4179 character type became unsigned introducing this issue.
I guess it can be fixed by adding some hack (or let's better call it work-around

) to FScanner::OpenFile() in order to replace the wrong character with zero. That is to check include filename, lump size, MD5 and an actual character with the fixed offset and then change it to '0'.
Is there a better way to solve such a compatibility problem?