Here are various changes I made.

I'm not sure why it's showing so many changes to boosthacktables.c  I have the exact same file as yours except the multiplier for the WGDCmax tables is 1.0f now to fix that bug.

Also Boosthacks.c is identical to yours except for the unsigned chars and I deleted out the WGDC locks.  Not sure if that was for your testing or a future implementation or what, but that isn't used on an actual build as-is.

I also found that in blendandswitch.c that defaults didn't work with the undefined portion omitted.  I don't know if you are thinking that undefined should be pulled as an option and replacing it with default in the enums or not.  This is just how I got it to stop blending between maps 1 and 2 for me.

That's all that's changed in these files.