Add the definition of SCUMMVM_NEON in create_project for the iOS
and tvOS targets. Do not add the same definition to corresponding
simulators since they can run on x86_64 hosts, which for obvious
reasons lacks support for NEON.
More fields needed to be added to each nancy game's entry
in nancy.dat. Since this would've required bumping up the
file version anyway, the opportunity was taken to rework
its structure so future changes are smoother.
The new format is based around sections, each with a tag
denoting its contents, and an offset for easy skipping.
Conditions for dialogue, goodbyes, and hints have an
additional type field, with the newly-added difficulty type
being required by nancy5's data. Data for sound
channel types has also been added, since nancy4 and up
changed the structure of the channel data. And lastly, files
that were incorrectly using spaces for indentation have been
switched to tabs.
As found by BLooperZ, the original French EGA release of Monkey1 can be
made to work with the DISK09.LEC file from the "Roland Update" that
Disney still hosts to this day, as long as the index is patched to use
proper offsets. A French release of DISK09.LEC possibly existed back
then, but if it did it appears to be completely lost to time today, so
using the file from the English EGA release is just way easier.
It's possible for ScummVM to fix this on-the-fly while loading the
resource, but some users prefer patching the 000.LFL index file instead,
which is required if one wants to use MT-32 with the original
interpreter (through DOSBox or DREAMM, for example).
Win95 scrollbar loading is refactored to use existing `borders` array
in `datafiles.cpp`, Added no-border scrollbar for MacOS, Win95.
This is to support scrollable text cast members in Director, which
will be used by `totaldistortion-win` game.
--start-movie="ATD\HD\bbTWRFL2.DXR@392" totaldistortion-win
Like more foreign versions on the same section of the md5 table,
the version was erroneously set to HE 98. Setting it to HE 99 fixes
the issue and correctly allows the game to run without crashing.
The GRIM define was incorrectly spelled GRIME which cause no shader
files to be included to the project preventing the game to start.
The freescape shader file freescape_triange.vertex also contained
a spelling error preventing the game to start.
Delete the old graphic handling in the IOS7 backend which is not
used anymore after implementing iOSGraphicsManager.
The Accelerate framework is not used anymore. The OpenGLGraphics
manager handles the different color formats.
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.
Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.
destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.
refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.
This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.
Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.