Do not call glGetError within Glide64::UpdateScreen to check for GL errors generated from Glitch64 functions, as Glitch64 does all the OpenGL handling (even if it is statically linked) and contains code that could be called from a different thread than gfx spec function `UpdateScreen`.
The Project64 recompiler is mostly to get games running at full speed for playability, but this is not a game, and implementing memory address range prediction in the recompiler to prevent missing the branch weighs would possibly not be worth it for a demo which should run fast enough with the interpreter.
With these changes, games such as RE2 now use Fixed Audio timing with appropriate VI\AI values, and now have near-perfect audio that will no longer bug out randomly, due to low framerates, or when loading save-states. Infernal Machine no longer has crackling audio. San Francisco Rush 2049 seems improved. Rogue Squadron\Naboo have fixed sound. Tarzan, Rugrats, and other games using Factor 5 tech were adjusted. Some ran fine on vanilla settings for some reason.
I disabled "Start Changed" for Naboo and Infernal Machine, since having it enabled causes significant stuttering in some menus.
FYI, MORT is the name of the speech codec used by Factor 5 games.
I decided on VI=2200 and AI=785 for most titles because those values hit a sweet spot between stopping crackle and keeping sound in synch. (Some games were happy with AI=400.) Some further tweaking might provide better results.
Changing to CF1 fixes the jeep handling and some nasty stuttering.
Disabling Fast SP fixed some crashes with recompiler. Also seems to fix environment flicker?
Plus some other tweaks.
The game seems stable on a custom build (with the Factor 5 hack) with CPU recompiler and cxd4 RSP interpreter during testing except for the end of levels, when Indy's Trading Post causes the game to crash without Interpreter. The game appears to be far more stable in PJ64 than mupen64plus, however the game's audio timings are off, and the sound crackles. But I was able to drive Indy's jeep round in circles for 15 minutes without a single lockup.
- Installer.iss: Removed a non longer maintained input plugin.
- package_zip.bat: Output directory will be cleaned before start to copy
files, also removed copy line for two .chm files that are outdated.
- Added few Desc where missing.
- Added a Missing String in English main lang file.
- Fixed some typos in the original english strings.
- Removed few Unused Strings.
- Sorted Strings by IDs.