Jump to content

[SP] jagamex86.dll Proxy DLL


Recommended Posts

Posted

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

Posted

First screenshot!

shot0000-10.jpg

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
Posted

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?)

Posted (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 by afiNity
Posted

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)

Posted

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)

shot0006-3.jpg

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...