Add "new" JAMP engine functionality for OpenJK support#33
Merged
thecybermind merged 12 commits intomainfrom Mar 5, 2026
Merged
Add "new" JAMP engine functionality for OpenJK support#33thecybermind merged 12 commits intomainfrom
thecybermind merged 12 commits intomainfrom
Conversation
…dle JAMP_mod_load based on how the game was loaded.
…_EXPORT entries for all the import/export functions
…it know how it's being loaded. re-organize mod_load, remove s_mod_load_vmmain and s_mod_load_getgameapi functions.
…ifferent things based on which is set of orig_vmMain/orig_export and orig_syscall/orig_import.Print. the previous separated method did not work if QMM was loaded with the new OpenJK API, but the mod was loaded with original/legacy API. also remove G_SV_REGISTER_SHARED_MEMORY, as that is actually the already-existing G_SET_SHARED_BUFFER
…nction that always returns false
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JAMP in OpenJK works currently using the "legacy" system, and can load "legacy" mods.
Need to handle being loaded with the new system, but also be able to load "legacy" mods.
The new system is just a GetGameAPI format, but called "GetModuleAPI", and uses the same functions as the legacy system, so the enums are already defined.
Need to adjust mod.cpp to fallback to attempting dllEntry loading if GetGameAPI fails. Also, check "GetModuleAPI" first if "GetGameAPI" isn't found.
Finally, game_jamp.cpp needs to add a JAMP_GetGameAPI handler along with game_export_t/game_import_t structs like other GGA games.