Jump to content

QVM Changer


Recommended Posts

Posted

Hi all, I'm new in this community.

 

After the release of JK source code, and because i was a loyal JK2 player, i want to make some changes on client to try to make people return to game. I'm talking about JK2, not JKA, on 1.03 version.

 

My intention is to toggle between 1.02, 1.03 and 1.04 with a single client, having the three versions unified. I managed to told the game which .qvm has to load, but i have a problem:

First, i open the game in 1.03 version. At this part, you only have loaded the ui module of the game. I created a command to change to 1.02 version of the interface, and this command does:

 

- Sets a variable to know what version has to load.
- Calls CL_Vid_Restart_f; to unload all modules and load interface again.

- The "CL_InitUI" function gets this variable and calls: uivm = VM_Create( "ui", CL_UISystemCalls, interpret ); with the desired vm and system calls. In this case should be uivm = VM_Create( "ui_102", CL_UISystemCalls_102, interpret );

 

At this point the game crashes. I'm stuck at this for several days and dunno how to continue. I debugged step by step and the game crashes exactly at his point in "vm_x86.cpp" (VM_CallCompiled):

call    entryPoint

I supposed that the memory pointers to the module are wrong.

 

Any ideas?

 

Thanks!

Posted

Check the pointer to uivm and make sure it's legitimate. If so, the VM in question might not have an entry point defined or exported properly. Make sure it has a DllEntry function which should be Q_EXPORT

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...