The do-version handling for Userdef is outside file reading, which makes it needed to store the file version in UserDef, so it gets the correct version to handle. Thanks Antonis R. for pointing at the omission! Also removed the mindboggling define. If you do such, then make it like "MAIN_VERSION_OLDER_THAN() or so. In general version hacking could be limited much better... ask me before even thinking to add one, most optimal is to do it in a way it's not depending on a version ever - forward/backward compatible.