by mh » Tue Dec 28, 2010 10:22 am
I don't think that this is reasonable; there is just no way that I agree with it.
As an engine coder you have to assume that any content you're being fed has already survived a round-trip through the standard content creation tools and that the creator has actually tested it. Otherwise you're going deep into the silly world of "trust nothing, sanity check everything", and in the end it's the PLAYER who suffers because instead of getting newer and better engine features he's getting nothing but fixes for crap like "if you change the 3,276th byte of start.bsp to 0x7a you get a crash".
This is a counterproductive tunnel. Let's not go down there.
There is no way on earth that this map was able to compile successfully - it's reporting over 800,000,000 miptex, which is why - when we multiply things out - we start getting negative numbers in Hunk_Alloc.
Sometimes, believe it or not, crashing is the only good thing to do. If you have a crash condition - more often than not - by definition your memory is in an undefined state, your stack has been trampled over and is now garbage, your register contents are worthless, you can't even trust the address of an error handling routine.
One could just as easily say "mappers: please make your content more fault tolerant and safe to use".
Or how about - radical concept! - engine coders and mappers working together for the greater good of the community on things that actually matter to both?