It would be nice to have option to remove names of broken functions from the lookup table to make game literally uncompilable if it uses them. This will help not only to debug them but also to show much more production-ready error messages, especially in case of dynamic code execution (execute_string() etc).
For example, with DirectPlay patch it will remove mplay_* functions, and with scheduler patch it will remove functions that depend on the changed DLL import. Maybe it also should remove joystick_* functions as well with joystick patch.
Please note that for Delphi strings it's not enough to set first string byte to '\0', but the Pascal string header should be edited too. Or, if they're being added at run-time on initialization, we could just NOP these calls.
It would be nice to have option to remove names of broken functions from the lookup table to make game literally uncompilable if it uses them. This will help not only to debug them but also to show much more production-ready error messages, especially in case of dynamic code execution (
execute_string() etc).For example, with DirectPlay patch it will remove
mplay_*functions, and with scheduler patch it will remove functions that depend on the changed DLL import. Maybe it also should removejoystick_*functions as well with joystick patch.Please note that for Delphi strings it's not enough to set first string byte to
'\0', but the Pascal string header should be edited too. Or, if they're being added at run-time on initialization, we could just NOP these calls.