Repository navigation
Version 0.3.1
LEGO Marvel Super Heroes for Android 0.3.1
Tag: v0.3.1 · versionCode 31 · arm64-v8a · Android 9+ · Vulkan 1.1
This is the first release since 0.2.7. Changes are listed against 0.2.7.
New
- Launcher. The app now opens on a start screen, like the LEGO Batman and Skyrim ports.
- Pick the folder that holds your LEGO Marvel Super Heroes install (anywhere on internal storage or the SD card), then press Play.
- The launcher checks the folder before you play:
LEGOMARVEL.exe, theGAME*.DATfiles, andD3DX9_43.dll/D3DCompiler_43.dll(in the folder itself or inredist). It also warns you if yourLEGOMARVEL.exeisn't the Steam build the port was made from. - Files the port writes now live in
<game folder>/port: saves and settings inport/save, pluslog.txtandlast_exit.txt. The first launch copies your saves across from the oldAndroid/data/com.tj.legomarvel/files/save, and an install still inAndroid/data/com.tj.legomarvel/files/gameis filled in for you.
- Custom GPU drivers. The launcher's GPU driver section installs driver zips in the format emulators use (Turnip, Mr. Purple's Adreno builds, or anything with a
meta.json). Pick a driver or the system driver before pressing Play. The drivers are loaded with libadrenotools. - Decode textures on the CPU. A launcher test switch that decodes DXT textures on the CPU instead of the GPU. Loading is slower and memory use is higher, but it might fix Mali GPUs.
Fixes
- Crash: "unimplemented instruction maskmovdqu at 0089abcf" no longer happens. The port was also missing 12 other MMX instructions, and those are now implemented too.
- Graphics: shaders now follow D3D9's maths rules (DXVK float emulation), so a zero-length vector gives 0 instead of an invalid value.
Performance
- The recompiled game code is now built with full optimisation (
-O2), tuned for the phone's CPU. - Fixed a race in the indirect-call cache, where one thread could be handed another thread's function.
- The game's threads use every CPU core again. Fixing that race made multicore stable in testing. To pin them to one core (as in 0.2.7), create an empty
singlecore.txtinport/save. The oldmulticore.txtswitch is gone.
| File | Effect |
|---|---|
singlecore.txt |
Pins the game's threads to one core, as in 0.2.7. |
cpu_textures.txt |
Decodes textures on the CPU. This is the launcher's "Decode textures on the CPU" box. |
serial_shaders.txt |
Compiles shaders one at a time, with an on-screen status line. |
async_shaders.txt |
Draws while shaders compile, so objects pop in as they finish. |
dxvk_user.conf |
Not an empty file: any DXVK settings you put here are applied at launch. |
Asset
| File | SHA-1 |
|---|---|
LegoMarvel-0.3.1.apk |
7c876cfd5a0d55d4fda7b442fad8fd35eb9fff06 |
The APK is debug-signed. It contains no game data: use your own copy of the PC game, as described in the README.