Finally, I can offer something to test / play with.
There are two archives available:
-
https://mikro.naprvyraz.sk/private/scummvm.zip
-
https://mikro.naprvyraz.sk/private/scummvm030.zip
Please refer to readme.txt (
"Slim" vs. "Fat" version paragraph). Only the ttp files are different, theoretically you could just copy the .ttp from scummvm030 to scummvm but I don't recommend it. It can create some weird / confusing scenarios.
The list of changes is rather long although mostly code-wise than to list them. ;)
- latest upstream code
- mohawk, sherlock, tsage engines worked around (the usual gfx corruption)
- verstatile xbios code for video and sound; theoretically CTPCI/graphics card could be supported with the restriction that ScummVM must be started in the required resolution (say 8bpp chunky pixels)
- support for games with non-standard resolution (Maniac Mansion NES, Myst, ...)
- TT compatibility
- more compatible IKBD handling
- kyra2 cursor fixed
- fixed cursor in non-builtin theme + small scale (btw the checkboxes are fixed from upstream, too)
- timestamps, some profiling messages (start scummvm.ttp with "-d6")
- optimised overlay drawing code, especially the tooltips... however the tooltips are a "bit" broken, you'll see. ;) I'm aware, just too frustrated to fix it, it nearly looks like a random behaviour, couldn't find a stable repro. There is still room for more overlay optimisations, e.g. the middle buffer still hasn't been removed.
- some optimisations and fixes
Please note that I have enabled the debug output so games like Toonstruck will suffer (otherwise time-based profiling wouldn't be possible).
When I was adding the timestamps, I couldn't resist and took a look what on earth takes so long to show up the launcher. The first discovery wasn't so surprising (theme loading / xml parsing in ThemeEngine::loadTheme()) but the second one... there's LauncherChooser::genGameList() which asks all engines for the name of their supported games and creates a map out of it (ID -> pretty name). Currently the number of supported games/variations is about 8000, so that alone takes about 10 seconds (!) to construct (the used C++ code isn't exactly optimal).
Btw SuperVidel support is hopelessly broken, don't even try it. If testing on TT, don't forget to install STFA as mentioned in readme.txt.
Oh and both TTPs are not stripped although I didn't include full debug info as previously (400 MB vs 40 MB...). If you discover Eero that this is not enough, I'll re-enable full debug symbols.