selliott4 Posted June 6, 2021 I created a pull request that adds a script and build targets to test for and fix errors that have to do with vanilla compliance. That is, it flags things that may be at risk of working differently for various source ports, or may simply be different than the style of the original IWADs from the 90s. For any field of any element in any lump that has a discrete set of values where it was possible to determine the vanilla set the script flags values that are outside of that set. For example, for the THINGS lump only the lower editor lumbers listed here are allowed. In some cases errors can be fixed in an automated way. For example, for the original IWADs from the 90s the goal was for angles to be a multiple of 45°, and in range [0°, 360°). The script fixes angles by rounding to the nearest multiple of 45°, changing the angle by at most 22°, which shouldn't be very noticeable in most cases. For whatever reason a common issue in Freedoom is angles set to 360°, which gets safely mapped to 0°. Although there are currently 456 errors after the fixes there are only 38 errors four of which are slopes (type 340) on E2M1, leaving only 34 errors to go through. However, I'm not submitting those fixes with this pull request, just the script itself. Ideally I think this would be combined with fixing errors flagged by map editors, which is why I added such as a suggestion to the documentation in README.adoc. I've had good luck with Eureka (the Check / All menu) which is why I suggested it, but other map editors will work. I know there are APIs that may have made this easier (omgifol comes to mind), but I wanted to avoid dependencies and licensing issues, and I had fun writing it anyway. I actually created a small test suite in another branch for test-vanilla-compliance, just in case that's interesting to anyone, but that small test suite is not part of the merge request. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.