If I'm not mistaken was used as a workaround back then when the MI2 difficulty
screen wouldn't show up; after some time it had been commented out, and it
remained like that ever since. Thanks to einstein95 for pointing that out!
That will make sure that Windows disk references will be cleaned up.
Used in mcluhan-win startup where it calls getNthFileNameInFolder("C:\prefs\Notes", 1)
The color values went inverted, but in several places they left
untouched.
In general, it is not a good idea to have this hardcoded, but at least
now we have this addressed.
The engine is capable of rendering to any 16 bit or 32 bit format,
but the format conversion has a cost. This commit assumes that any
conversion that the backend may need to do would be at least as
efficient as the conversion that would be done in the engine, so
we select the best format for the engine that is supported by the
backend. There are three categories of formats:
1. The one used internally by the engine. When also used for the
backend we can do direct rendering.
2. For 32 bit games, two additional formats for which there is
an optimized color conversion.
3. Any other 16 bit or 32 bit pixel format, for which we have
generic color conversion.
Profiling with two games shows the following improvments:
- If we can use the internal engine format, we gain between 3%
and 5% compared to the next best formats, and between 11% and
14% with other formats.
- Otherwise if we can use the next best formats we still gain
between 6% and 11% over other formats.
This enables some game engines only supporting 32 bit color formats,
e.g. 11th hour and Broken Sword 2.5.
Add support for the pixel formats RGBA8888 and ABGR8888. The pixel
formats are defined in big endian while iOS utilizes little endian,
thus requiring converting some formats to get correct color
representation.
Use the Apple Accelerate framework converting the format requiring
to minimize the CPU load since this is done every frame.
Add Apple Accelerate framework to iOS and tvOS targets. The framework
utilizes NEON extensions on the ARM chip to accelerate calculations.
This will come to use when processing texture data.
The lexer originally had a rule mandating that "go" was followed by a
space, with an optional "to" afterwards. The rule has been changed so
that "go" can be immediately followed by a string.
Fixes the script compilation error on the second screen of Wrath of the
Gods.
In D3, when "go to" is invoked in a Score script, the context is frozen
and "on stepMovie" is called, then the frozen context is finished, then
the next frame's Score script gets called with an "enterFrame" event.
In D4, you're allowed to freeze and recurse "enterFrame" scripts to a
depth of 2; any deeper and "enterFrame" events will no longer be thrown.
Fixes Lingo freeze recursion loop in Wrath of the Gods.
Score::update() has several branches that quit early, e.g. if the frame
is waiting for a click or a sound. All of these should try to unfreeze
any contexts that are waiting.
Fixes opening the inventory screen in Hell Cab.
Director 4 has a cast member field to set a palette for a bitmap. If
this field differs from the current movie palette, Director will try and
do nearest-neighbour colour remapping of the bitmap to the movie palette.
Director 3 and below have a cast member field to set a palette for a
bitmap, but it doesn't appear to be used for rendering. You can have an
entirely different palette set there, and it will ignore it and use the
movie palette instead.
Fixes the inventory bar icons in Hell Cab.