Puppytine
Slayed dreamer
- Posts
- 2,237
- Likes
- 1,493
I finally just updated my MBII installation to 1.6.2, and turned out I can't play Movie Battles anymore.
I'm on WinXP, and game doesn't start, either via jamp or MBII Client.
When launching via jamp, it crashes with "VM_Create on UI failed", MBII Client displays "The Procedure entry point K32GetModuleBaseNameA could not be located in the dynamic link library KERNEL32.dll" multiple times, then goes to base Jedi Academy.
Dependency Worker shows that all three MBII dlls (cgamex86.dll, jampgamex86.dll, uix86.dll) are using K32GetModuleBaseNameA from Kernel32.dll. That function doesn't exist in Kernel32.dll from Windows XP.
I was able to start up MBII without visible issues (I only did a very short test on tR Deathstar 2 so far) after manually editing import tables of all those mentioned dynamic libraries, replacing a entry for K32GetModuleBaseNameA with a function that is actually exist in XP's Kernel32.dll.
I assume that K32GetModuleBaseNameA is only used to generate crash dumps, and since I did replace it with a pretty different function (GetModuleFileNameA), I think Movie Battles will have very hard times when it will try to generate a crash dump on my PC
I uploaded patched files to this post. Here's an instruction for everybody who are on XP:
Dear MBII devs, I firmly ask you to fix this bug ASAP, so all Windows XP users could play MBII again, without necessary to mess with patched dlls.
It should be pretty easy to fix: just put this:
Somewhere before this:
... And then rebuild MBII dlls.
Surely Movie Battles will work perfectly fine with GetModuleBaseNameA from Psapi.dll, just like it did all earlier versions. K32GetModuleBaseNameA from Kernel32.dll isn't that necessary, really.
More information: Entry point not found-The procedure entry point K32GetModuleBaseNameA could not be located in the dynamic link library kernel32.dll
Screenshots:
I'm on WinXP, and game doesn't start, either via jamp or MBII Client.
When launching via jamp, it crashes with "VM_Create on UI failed", MBII Client displays "The Procedure entry point K32GetModuleBaseNameA could not be located in the dynamic link library KERNEL32.dll" multiple times, then goes to base Jedi Academy.
Dependency Worker shows that all three MBII dlls (cgamex86.dll, jampgamex86.dll, uix86.dll) are using K32GetModuleBaseNameA from Kernel32.dll. That function doesn't exist in Kernel32.dll from Windows XP.
I was able to start up MBII without visible issues (I only did a very short test on tR Deathstar 2 so far) after manually editing import tables of all those mentioned dynamic libraries, replacing a entry for K32GetModuleBaseNameA with a function that is actually exist in XP's Kernel32.dll.
I assume that K32GetModuleBaseNameA is only used to generate crash dumps, and since I did replace it with a pretty different function (GetModuleFileNameA), I think Movie Battles will have very hard times when it will try to generate a crash dump on my PC
I uploaded patched files to this post. Here's an instruction for everybody who are on XP:
- Download the attachment
- Unzip its contest into "Jedi Academy\GameData\MBII", overwriting existing file.
- Delete these files from MBII directory: cgamex86.dll, jampgamex86.dll, uix86.dll.
- You'll need to repeat overwriting every time you repair installation via Launcher, since Launcher replaces fixed files with those aren't compatible with WinXP.
Dear MBII devs, I firmly ask you to fix this bug ASAP, so all Windows XP users could play MBII again, without necessary to mess with patched dlls.
It should be pretty easy to fix: just put this:
Code:
#define PSAPI_VERSION 1
Code:
#include <psapi.h>
Surely Movie Battles will work perfectly fine with GetModuleBaseNameA from Psapi.dll, just like it did all earlier versions. K32GetModuleBaseNameA from Kernel32.dll isn't that necessary, really.
More information: Entry point not found-The procedure entry point K32GetModuleBaseNameA could not be located in the dynamic link library kernel32.dll
Screenshots:
Last edited by a moderator: