HPM Data Check
[*]It is smart
Changes: Hello Plugin Developers!
- I begin by thanking ai4rei for bringing this to our attention
- HELLOOOO, WHAT?!
This introduces automatic data integrity insurance between plugins and the core, allowing the core to reject loading plugins whose data structures mismatch those in the core thus preventing potential crashes and loose data read/write, it goes a long way towards making this issue being inexistent. - In short: its a feature that enables the core to reject "outdated" plugins, "outdated" meaning that a data struct used by the plugin has been modified in the core while the plugin was not recompiled to reflect the change.
[*]It is smart
- Thanks to Haru's design the feature is able to identify the files which the plugin relies on, therefore even if data structs in the core have been modified the plugin will only fail load if its a data struct from a file it actually includes
Changes: Hello Plugin Developers!
- Plugins are now required to include the HPMDataCheck file, plugins without it will not pass loading validation, to include use:#include "../common/HPMDataCheck.h"it should be the last file included, if it isn't the last it'll render the plugin uncompilable (intentionally).
- ...and thats it, it stands on its own afterwards.
- the HPMHookGen has been updated so that the data HPMDataCheck relies on is always up to date
- HPMHookGen has been sped up.
- Thanks to HPMDataCheck enabling the core to know which files the plugin relies on there are many enhancements we can (and intend to) add, for example, drop GET_SYMBOL entirely and have the core load the interfaces automatically
- Haru
- ai4rei
Last edited by a moderator: