Colin Snover
f99c83c0a0
DREAMWEB: Fix out-of-bounds read of frame animation data
...
The game reads until it sees 0xFF, which is not until frame 14 for
some animations in the first interactive room of the game. This
happened to work previously because the struct is packed so it
would read into the b31.. members, but this was still technically
an out-of-bounds read.
2017-11-11 16:19:23 -06:00
Johannes Schickel
aaff7b1736
DREAMWEB: Make GPL headers consistent in themselves.
2014-02-18 02:39:34 +01:00
Alyssa Milburn
6e70f77289
DREAMWEB: Dynamically allocate GraphicsFile::_frames.
...
This avoids extra memory usage due to the previous commit.
2012-02-23 22:37:21 +01:00
Willem Jan Palenstijn
3fc8b7227b
DREAMWEB: Fix missing subtitle lines in speech+subtitle mode
...
This is done by adding a (very ugly) way to force the previous timed-temp
line off screen, so the next one can be shown.
2012-02-12 23:57:09 +01:00
Willem Jan Palenstijn
ea6546ae25
DREAMWEB: Clean up checkCoords
2011-12-28 19:55:06 +01:00
Max Horn
13e252ebd0
DREAMWEB: Add 'packed' attribute to structs that need it
...
... and probably also to some that don't need it; since it seems better to
err on the wrong side here for now, I did not check every struct as to whether
it really needs this. On the long run, it would be better if the code did not
rely on any kind of packing anyway.
2011-12-28 16:36:18 +01:00
Max Horn
ca7da4cffc
DREAMWEB: Rename a member of SetObject & DynObject to objId
...
SetObject::name and DynObject::id are stored at the exact same offset,
and have the exact same meaning (see also objectMatches()). Now they
also have the same name, objId.
2011-12-28 16:36:16 +01:00
Willem Jan Palenstijn
77b8491b8b
DREAMWEB: Remove unused Sprite fields
2011-12-28 15:19:59 +01:00
Willem Jan Palenstijn
4e207dbc7a
DREAMWEB: Clean up Sprite::_updateCallback
2011-12-28 15:19:59 +01:00
Filippos Karapetis
279746fcf0
DREAMWEB: Completely remove all of the runtime, and move everything into DreamWebEngine
...
Also, remove dead code (allocateMem/deallocateMem)
2011-12-28 15:07:17 +02:00
Willem Jan Palenstijn
57e940f678
DREAMWEB: Move all saved variables to a GameVars struct
...
The data segment is now completely unused.
2011-12-28 13:12:22 +01:00
Willem Jan Palenstijn
914bf3d519
DREAMWEB: Remove setdat, freedat segments
2011-12-27 23:05:27 +01:00
Willem Jan Palenstijn
f729742f87
DREAMWEB: Convert exText into TextFile
2011-12-27 23:02:33 +01:00
Willem Jan Palenstijn
90cb52b7f6
DREAMWEB: Streamline graphics file access
2011-12-27 23:01:58 +01:00
Willem Jan Palenstijn
08be0411b1
DREAMWEB: Streamline text file handling
2011-12-27 18:40:25 +01:00
Willem Jan Palenstijn
df7bb24184
DREAMWEB: Create MapFlags struct, remove backdrops segment
2011-12-27 18:01:33 +01:00
Filippos Karapetis
4c9a600618
DREAMWEB: Remove dead code
2011-12-27 10:43:44 +02:00
Filippos Karapetis
bda312b61b
DREAMWEB: Remove more unused/unnecessary variables
2011-12-27 10:16:06 +02:00
Willem Jan Palenstijn
c86a830c4a
DREAMWEB: Move openInvList, ryanInvList out of buffers
2011-12-26 17:42:19 +01:00
Filippos Karapetis
7945a0fbb0
DREAMWEB: Cleaned up findFirstPath(), fixed a regression and moved it to DreamBase
2011-12-26 02:50:02 +02:00
Filippos Karapetis
3802b21183
DREAMWEB: Move some functions to DreamBase
2011-12-25 15:07:56 +02:00
Filippos Karapetis
652403021d
DREAMWEB: Convert 'checkobjectsize' to C++
...
Also, renamed getOpenedSizeCPP() to getSlotCount(). Special thanks to
wjp for his help and for examining the behavior of a fallback case.
2011-12-25 04:53:26 +02:00
Willem Jan Palenstijn
8e79608a1d
DREAMWEB: Move sprite table out of buffers
2011-12-23 23:46:38 +01:00
Willem Jan Palenstijn
814793de49
DREAMWEB: Move rainlist out of buffers
2011-12-23 23:46:38 +01:00
Willem Jan Palenstijn
0f36350e03
DREAMWEB: Fix regression from moving ReelRoutines out of data
...
The struct People still had an old-style pointer to a ReelRoutine.
Fix this by converting People to use a real ReelRoutine * and moving
the PeopleList from the buffers segment to a Common::List.
Thanks to digitall for the assistance with tracking this down.
2011-12-23 19:15:25 +01:00
Max Horn
cdc6bc421b
DREAMWEB: Turn RectWithCallback into template
...
Also moves checkCoords to DreamBase, adding a nasty cast to it. This is a
temporary HACK, which allows moving functions that use checkCoords to
DreamBase one at a time, instead of all at once (and at the same time as
checkCoords). This can be undone once everything using checkCoords has been
moved to DreamBase.
2011-12-23 03:39:44 +02:00
Willem Jan Palenstijn
60ece632b8
DREAMWEB: Remove reelRoutines from data blob
2011-12-18 16:54:16 +01:00
Filippos Karapetis
421c8cd262
DREAMWEB: Port 'setpickup' to C++ and added an enum for the object types
2011-12-18 11:26:19 +02:00
Willem Jan Palenstijn
46caa77164
DREAMWEB: Add disabled reelRoutine conversion work
2011-12-17 22:28:54 +01:00
Willem Jan Palenstijn
5958d2d29a
DREAMWEB: Name some DynObject/SetObject fields
...
Also change getAnyAd() behaviour to be consistent between Free/Ex and
Set objects, diverging from the original.
2011-12-17 21:02:31 +01:00
Filippos Karapetis
71362cc35d
DREAMWEB: Remove a lot of unused variables
2011-12-12 17:23:32 +02:00
Max Horn
0193ef590d
DREAMWEB: Cleanup end of namespace comments
2011-12-06 21:49:41 +01:00
Willem Jan Palenstijn
585bd7b0ef
DREAMWEB: Untangle namespaces
2011-12-05 19:26:46 +01:00
Bertrand Augereau
87ac82db27
DREAMWEB: kIcons1 and kIcons2 ownership transferred from the VM to the engine
2011-12-04 18:23:30 +01:00
Willem Jan Palenstijn
69301e4f63
DREAMWEB: Convert 'atmospheres'
2011-12-03 19:54:05 +01:00
Bertrand Augereau
f6f47d13cc
DREAMWEB: CR at last line
2011-12-03 18:06:24 +01:00
Willem Jan Palenstijn
a64c89e7dd
DREAMWEB: Don't use Madeuproomdat as a global when not necessary
2011-12-03 16:07:48 +01:00
Willem Jan Palenstijn
15856843a4
DREAMWEB: Create and use FileHeader struct
2011-12-03 15:47:33 +01:00
Willem Jan Palenstijn
908ba272f8
DREAMWEB: Move roomData out of opaque data segment
2011-12-03 14:55:54 +01:00
Bertrand Augereau
24c355e04f
DREAMWEB: Ported 'sparky' to C++
2011-12-01 18:33:05 +01:00
Bertrand Augereau
dc38524c91
DREAMWEB: Naming of ReelRoutine members
2011-12-01 12:18:04 +01:00
Willem Jan Palenstijn
3f30105fff
DREAMWEB: Add utility function ObjPos::contains
2011-11-27 18:56:37 +01:00
Willem Jan Palenstijn
139a868d37
DREAMWEB: Fix Room struct
...
Room::name is a zero terminated 8.3 filename, so 13 bytes long.
2011-11-26 20:18:56 +01:00
Bertrand Augereau
21d787d065
DREAMWEB: Ceaning in 'startloading'
2011-11-26 12:29:09 +01:00
Bertrand Augereau
e51bcdbb53
DREAMWEB: Sound structure
2011-11-22 17:00:22 +01:00
Willem Jan Palenstijn
f4be01b1c1
DREAMWEB: Add some sprite-related comments and names
2011-11-18 22:34:46 +01:00
Bertrand Augereau
fc7a36d911
DREAMWEB: Cleaning in room loading
2011-11-17 12:38:17 +01:00
Willem Jan Palenstijn
81c16d12c8
DREAMWEB: Clean up 'dodoor'
2011-11-16 23:29:17 +01:00
Willem Jan Palenstijn
b53a299790
DREAMWEB: Unhardcode checkcoords tables
...
This patch makes __dispatch_call (even more) superfluous,
but does not yet remove it.
2011-11-14 21:44:10 +01:00
Bertrand Augereau
98a6b339af
DREAMWEB: 'checkpathison' ported to C++
2011-09-02 07:57:18 +02:00