-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Union mod support is absolutely possible #195
Comments
Hi, @illnyang ! I love your enthusiasm, yet there a bit more problems with UNION:
In short UNION implementation will require full x86-windows32 emulation with extra hooks in memory-mapping-unit. |
Thanks for the clarification :) I will try to address the aforementioned issues to the best of my abilities:
In the end, it seems that reverse-engineering UNION plugins/mods and recoding them from scratch is much more feasible. How does OpenGothic compare to UNION, feature-wise? |
Afaik UNION is a plugin system to original game, and OpenGothic - is a new engine/ I'm not aware of what technical decisions we made in vanilla game, so there is 99% change that's code-base is non-compatible at all. |
And what about the NINJA packet compatibility? |
There is nothing to add for Ninja compatibility. Most Patches use Ikarus (and often LeGo) which by itself is not that big of an issue. OpenGothic could try to make atleast some parts of LeGo work, by providing it's own implementation of Ikarus. it'll be better to focus OpenGothic more towards scriptability of all the game mechanics (e.g. Toggling a "barrier", customizing each stage of Damage calculation as well as target acquisition for area of effect spells (and melee/ranged hits...?) so that new mods could take advantage of running in OpenGothic. |
Sorry for late answer, but yeah - I'm not completely sure how Ninja. By then look of things - it's not just a loader, but a proper DMA wrapped with *.dll. Probably won't work.
Basically, yes - plan is to implement a LeGo/Ikarus entry-points, maybe a faked virtual memory heap, but not state access
Proposals, with C++ implementation are welcome ;) |
This is how OpenMW (and also Daggerfall Unity AFAIK) went, they also have issues supporting all the original mods. The remakes had to get to a rather complete state first, but now they're very much superior to the originals and so it makes sense for the modders to focus on them. |
Union exposes its own API as C-style exports. Your
README.md
states that Union mods are impossible to support, which is not true — it's perfectly possible, but tedious to do. You 'just' need to reimplement the entirety of Union API, which in turn means reverse-engineering their modified engine binaries. You could add a note toREADME.md
acknowledging this; Maybe one day someone crazy enough will read that note and send you a pull request — no one will even consider this possibility if you keep README as is.The text was updated successfully, but these errors were encountered: