I think the only way most (if not all) of these problems could be fixed would be by somehow going around the hardcoded parts of the game- and I don't know if this is possible or if it can be done. :(