Until now, the TinselV* defines were used for discerning between
engine versions. The define TinselV2 was true for both v2 and v3.
Sticking to the old scheme would lead to confusion when more
special paths for v3 are implemented.
This allows us to merge different code paths for Tinsel V1 - V3 and
simplify the relevant code.
- Images are now obtained as a copy via GetImage(), which handles
endianess internally
- The GetImageFromFilm() / GetImageFromReel() wrappers have been removed
- Direct setting of the image palette has been removed in favor of
PokeInPalette(). This allows us to make image pointers const
- Struct packing has been removed from the IMAGE class, as we no
longer cast raw data to image pointers
- There is now a single IMAGE class for all Tinsel versions
This introduces a new helper method, GetFont(), which loads font data
using a memory stream and handles endianess reads internally. This
simplifies font loading and endianess handling considerably, and allows
for the usage of a common font struct for all engine versions
I'm not sure of the underlying cause, but as a suitable
workaround, when playing the Mac version it'll simply use
the tooltip font instead, which is at least properly visible
This is the second attempt. All the BE resources of DW1 Mac are
handled correctly now. Added READ_16, READ_32, FROM_16, FROM_32 and
TO_32 to handle all of the different cases where endianess is
already handled. Note that the game scripts are LE, so these
haven't been changed
This was added in commit 3fdddd53b2.
However, having handling for both BE and LE resource complicates
the engine code unnecessarily. Thus, a different approach will be
done.
Refer to bug #3110936
This is still work in progress, but it doesn't affect the rest
of the LE versions of DW1. Both the Mac demo and the full
version still crash. The music in the Mac version is skipped for
now, as it isn't MIDI
Use of global vars is what prevents RTL from working in Tinsel (and
probably in other engines). More specifically, the fact that many
global vars are not explicitly inited when the engine is (re)launched.
svn-id: r54262