Additional include and library directories can now be added.
This is most useful to Xcode Mac projects where a vanilla Homebrew setup
requires manually adding five directories through the Xcode UI and then
repeating that every time the project needs to be regenerated.
Now create_project can be scripted to regenerate a working Mac project
without any extra Xcode steps.
Prevents extra speed throttling from being applied when a script queries
the restart flag. Some rooms such as the KQ6 caves and the QFG4 caves do
this on every game cycle. In practice, this extra throttling didn't seem
to have much effect, but the intent is to only throttle game loops and
the script patches that fix inner loops.
Updated script patches to call kGameIsRestarting like game loops.
We have several SCI32 script patches that replace kGetTime spin loops
with calls to kWait for the intended delay. This prevents blocking
the main thread and allows ScummVM to be responsive and update the
screen. But kWait isn't a simple sleep, it's a throttling function,
and the duration that it sleeps (if any) is determined by the time
since it was last called. kWait was only in SCI16 interpreters so it
had to be restored to SCI32 and this required a further workaround
for Phant2 compatibility.
Now we have a dedicated custom kernel function, kScummVMSleep, which
does a simple sleep so that SCI32 script patch delays are consistent
and the Phant2 workaround isn't needed. This approach is similar to
kScummVMSaveLoad.
Restore object names in QFG1VGA workarounds that were removed to
accommodate the Mac version. Instead, don't match object names
on games that are known to not have them, since there are several.
Fixes workarounds not being applied to HOYLE4 Mac and LSL6 Mac.
When the subtitle toggle controls are disabled for a game, don't
read the value and then set config values based on it.
This caused "Override global audio settings" to always set "subtitles"
and "mute_speech" even when the controls were disabled.
Fixes bug #13007 where "Override global audio settings" always
mutes the speech clips in Hoyle4.
SSCI doesn't return zero; it doesn't return anything. This shouldn't
affect any games since no scripts should depend on a non-existent
return value, but this discrepancy came up while investigating a
fan script that accidentally relies on this.
Should fix bug #13072
The code for Leary's AI script ChangeAnimationMode() was re-checked against the c file produced from our dissassembly of the AI-ACT1-23 dll.
"engineid" isn't present on all games. Games that predate the "engineid"
feature and haven't been run since it was introduced don't have it yet.
Fixes bug #13038
When the MUSIC_DEFAULT flag was removed, the logic for looping music was
accidentally inverted: Instead of everything except tracks 13 and 19
defaulting to looping, now only tracks 13 and 19 would default to
looping.
See b14a2599bc (SAGA: Get rid of the MUSIC_DEFAULT flag, 2014-07-20)
OD Beta is a mips linux OS based on buildroot, that runs on ingenic gaming handhelds
like the gcw0, rg350 and many more.
There was a previous GCW0 port, that was running on legacy opendingux, but that
OS is not maintained since 2014 and has an outdated kernel and toolchain.
Od Beta on the other hand, runs with linux 5.15, has a GCC 10 toolchain and
an active developpment community.
This adds support for 3 flavors :
gcw0 that runs on all jz4770 cpus
lepus that runs on all jz4760 cpus
rg99 which is a jz4725 device
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>