Quasar
Moderator

Posts: 4615
Registered: 08-00 |
fraggle said:
This is correct. However, this doesn't take into account dehacked patches loaded from the command line with -deh.
I just tried the Batman Doom example from my previous post with the latest SVN version of Eternity and I get the Freedoom strings for everything, not the Batman Doom ones. Presumably the IWAD's internal DEHACKED lump is being loaded after the one from batman.de
It gets tricky. All-in-all there are tons of ways for EE to load DeHackEd/BEX patches:
- IWADs
- -file PWADs and drag-n-drop "loose" wad files
- PWADs loaded through the base/game/autoload directory
- PWADs loaded from a GFS script
- -deh / -bex files and drag-n-drop "loose" .deh/.bex files
- DEH/BEX in the base/game/autoload directory
- DEH/BEX specified via GFS files
- Legacy MBF autoloaded DEH/BEX configuration settings (up to two)
I can see some arguments for why any should be loaded before OR after certain others. For example some patches may only work right if they get the first shot at modifying data that exists in a singular instance, such as the mobjinfo and states. Once other patches modify them, the assumptions they make may break. They're really things that were never meant to be arbitrarily combined in this manner.
fraggle said:
Indeed, I just checked and confirmed this. It looks like Lee Killough already fixed this way back in MBF. Prboom/Prboom+ still don't have the fix though.
Nope, not to my knowledge - I remember fixing this myself in Eternity when you pointed out to me that it was broken one time, using a patch someone had submitted to Chocolate Doom for regression testing of your own DeHackEd parser - the patch exchanged the SPOS and POSS sprite names, and Eternity failed when using the raw BOOM string replacement semantics because after the first replacement was done, the second had no match left in the string table :>
fraggle said:
Yes, this is what is already being used - although it's actually for legal / purity reasons (go back earlier in the thread and read some of the boring trademark law comments if you're curious why).
Right and I remember seeing some of those. I just wanted to stress the point that DEH style string replacement is terrible and is better not used except when vanilla compatibility is at stake ;)
Last edited by Quasar on 07-27-11 at 04:40
|