Skip to content

Add "new" JAMP engine functionality for OpenJK support#33

Merged
thecybermind merged 12 commits intomainfrom
dev_issue32
Mar 5, 2026
Merged

Add "new" JAMP engine functionality for OpenJK support#33
thecybermind merged 12 commits intomainfrom
dev_issue32

Conversation

@thecybermind
Copy link
Owner

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.

@thecybermind thecybermind self-assigned this Mar 5, 2026
@thecybermind thecybermind added enhancement New feature or request topic:game api Dealing with the game-specific engine API labels Mar 5, 2026
@thecybermind thecybermind linked an issue Mar 5, 2026 that may be closed by this pull request
…_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
@thecybermind thecybermind merged commit 36f642b into main Mar 5, 2026
2 checks passed
@thecybermind thecybermind deleted the dev_issue32 branch March 5, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request topic:game api Dealing with the game-specific engine API

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add "new" JAMP engine functionality for OpenJK support

1 participant