eezstreet Posted July 2, 2012 Posted July 2, 2012 Hello all. I'm working on a DLL which allows people to perform code mods of their own in SP. This is heavily WIP, but I'll explain how it works:You place the proxy DLL in your Gamedata folder (and the original in the base folder). The game will load this DLL, which will look first in your fs_game directory (and then in your base folder) for a new jagamex86.dll to springboard off of for content. Optionally, you can flag your DLL, which will make it not load the entire thing in place of the original SP module (because we don't have 100% coverage of the original DLL as it stands). What can you do with this?So far, we have coverage over the vmMain function, which allows us to modify top-level functions and code operations, and perform very remedial stuff (so far). However, when we get really going on this, you can expect code support backing major SP modifications.For you coders, here is what we have access to so far:- syscall/trap functions (not mapped out yet, but there)- vmMain + all calls from it are known (yay!)- GetGameAPI (serverside equivalent of vmMain) How easy will it be to make modifications to SP over MP?At first, very hard. But once we have all the major structs and functions added, it will be only slightly harder than making mods to MP Will you release sauce to us?Yes, at some point. The base DLL will be made available, but the proxy DLL will be mostly closed source (unless you really really want it...doubtful though) Will this have a tech demo?Eventually, yes. How can I build my own code mods with this?As I told you before, the system relies on a proxy DLL which communicates with another DLL in your gamedata folder. Your DLL will be in the gamedata folder and will receive calls from the proxy dll
eezstreet Posted July 2, 2012 Author Posted July 2, 2012 First screenshot!Not much to show here, but basically the text in green is showing that my SP code edits are working. Pretty nifty eh? Link and afi like this
eezstreet Posted July 4, 2012 Author Posted July 4, 2012 I made some recent changes that allow you to play back missions from JK2 in their entirety. So far, I've only noticed a few bugs (other than derpy animations).So far I've confirmed that kejim_base is fully playable without cinematic skips. (and best of all, only two derpy animations in cinematics!) Bugs list:- Derpy animations (obviously...they're just missing- The platform in kejim_post disappears before you can walk across it (in the tunnel)- Checkpoint in kejim_post causes game to hang (elevator doesn't get activated. quicksaves seem fine?)
afi Posted July 4, 2012 Posted July 4, 2012 (edited) I'm not sure how legal this is, but it seems cool. Good job!Btw: If you can do this with the jasp-game, why not also with the game engine? 8) Edited July 4, 2012 by afiNity
Scooper Posted July 4, 2012 Posted July 4, 2012 It has been done with the game engine, and it's a lot easier. Many mods use the same underlying methods to apply bug fixes to the game engine. Or create features that would otherwise not be possible. And there's some that use the exact same proxy method to modify existing mods in MP. Like @spior's proxymod for makermod. (Which I helped him make. Don't even try to pretend otherwise spior =p)
eezstreet Posted July 5, 2012 Author Posted July 5, 2012 While I'm in the process of doing these SP edits, I figured I might as well do something useful I've gotten most of the JK2 missions to work with 95% accuracy (excluding some derpiness in the animations). I've also done this:- Concussion rifle and Flechette can now spawn on gun racks (I've got it in artus_topside, via map modding)- Fixed several waypoint glitches in JK2 (and sometimes, lord have mercy, BASE jka missions..)- Galak will now spawn properly- Most items can now be picked up (except bactas for some weird reason..some other, more nasty glitches remain)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now