D G Turner
2a4fa26d52
CRUISE: Fix Possible Invalid Thumbnail Pointer Access.
2018-07-31 09:22:26 +01:00
Adrian Frühwirth
00e59a3122
ALL: Load savegame thumbnail only when necessary
...
This commit introduces the following changes:
1. Graphics::loadThumbnail()
Now returns a boolean and takes a new argument skipThumbnail which
defaults to false. In case of true, loadThumbnail() reads past the
thumbnail data in the input stream instead of actually loading the
thumbnail. This simplifies savegame handling where, up until now,
many engines always read the whole savegame metadata (including
the thumbnail) and then threw away the thumbnail when not needed
(which is in almost all cases, the most common exception being
MetaEngine::querySaveMetaInfos() which is responsible for loading
savegame metadata for displaying it in the GUI launcher.
2. readSavegameHeader()
Engines which already implement such a method (name varies) now take
a new argument skipThumbnail (default: true) which is passed
through to loadThumbnail(). This means that the default case for
readSavegameHeader() is now _not_ loading the thumbnail from a
savegame and just reading past it. In those cases, e.g.
querySaveMetaInfos(), where we actually are interested in loading
the thumbnail readSavegameHeader() needs to explicitely be called
with skipThumbnail == false.
Engines whose readSavegameHeader() (name varies) already takes an
argument loadThumbnail have been adapted to have a similar
prototype and semantics.
I.e. readSaveHeader(in, loadThumbnail, header) now is
readSaveHeader(in, header, skipThumbnail).
3. Error handling
Engines which previously did not check the return value of
readSavegameHeader() (name varies) now do so ensuring that possibly
broken savegames (be it a broken thumbnail or something else) don't
make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +02:00
Strangerke
51184eab9d
CRUISE: Remove some useless variables, use a boolean for a variable
2014-06-10 07:25:35 +02:00
Strangerke
ff93aef6ec
CRUISE: Initialize some variables in the contractor, change some variables to boolean
2014-06-09 17:53:27 +02:00
Johannes Schickel
9e4dfe556e
CRUISE: Directly use assert.
...
This fixes an ASSERT macro redefinition when compiling the Symbian port.
See bug #6622 "SYMBIAN: CRUISE: warning: `ASSERT' redefined".
2014-06-08 17:57:02 +02:00
Strangerke
ec17a7ece6
CRUISE: disable more efficiently some code
2014-06-06 07:19:56 +02:00
Strangerke
1dbcd74988
CRUISE: Reduce the scope of variables used in the for loops
2014-06-01 01:21:32 +02:00
Max Horn
4d02f67bd1
ALL: Resolve multiple clang warnings
2014-03-30 14:38:02 +02:00
Johannes Schickel
00b6dfe9cf
CRUISE: Make GPL headers consistent in themselves.
2014-02-18 02:39:33 +01:00
Tarek Soliman
a4798602d7
JANITORIAL: Fix missing whitespace in pointer cast
...
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'
This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Paul Gilbert
1e80ac0885
CRUISE: Added explicit freeing of thumbnail surface pixels
2011-11-21 19:38:52 +11:00
Christoph Mallon
e35b4f20c1
GRAPHICS: Simplify the interface of Graphics::loadThumbnail().
...
Now it returns the Surface, so the caller does not need to create one and pass it.
2011-08-07 15:19:09 +02:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2
JANITORIAL: Reduce header dependencies in shared code
...
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn
a905682cf8
LURE: Convert printf to debug/warning
...
Exception: The "decompiler" code still uses fopen/fprintf etc.
but it is disabled by default, hence I am ignoring it for now.
svn-id: r54108
2010-11-07 01:03:58 +00:00
Eugene Sandulenko
15b881386a
CRUISE: Eliminate global constructors
...
svn-id: r51936
2010-08-09 10:30:40 +00:00
Paul Gilbert
a57445e847
Put in a warning in case there is ever too long a background resource name when saving a game
...
svn-id: r48095
2010-02-20 10:37:08 +00:00
Johannes Schickel
aed02365ec
Strip trailing spaces/tabs.
...
svn-id: r47541
2010-01-25 01:39:44 +00:00
Torbjörn Andersson
72eb9ec9ea
Fixed a bunch of cppcheck warnings. Mostly about checking if a pointer is null
...
before freeing it, which isn't necessary.
svn-id: r46941
2010-01-03 19:37:43 +00:00
Max Horn
51933629d1
Changed foo(void) to foo() in almost all non-backend source files
...
svn-id: r45616
2009-11-02 21:54:57 +00:00
Paul Gilbert
a4fbc73ee6
Fixed memory leaks in savegame restoring
...
svn-id: r44863
2009-10-10 05:08:56 +00:00
Paul Gilbert
857a35f748
Fixed all memory leaks as far as the initial title screen
...
svn-id: r44814
2009-10-09 10:32:33 +00:00
Paul Gilbert
8694b48ae3
Set up a basic tracing system for all memory allocations to help track down memory leaks
...
svn-id: r44808
2009-10-09 08:15:30 +00:00
Paul Gilbert
3190bf68f2
Bugfix for loading savegames where the active resource file database isn't completely filled
...
svn-id: r42047
2009-07-03 06:19:20 +00:00
Paul Gilbert
4f622ab295
Added proper saving of music state to savegames so music resumes when a savegame is loaded.
...
svn-id: r41702
2009-06-20 08:15:01 +00:00
Paul Gilbert
2f3e5f11cb
Beginnings of music support for Cruise, based on the cine engine sound code (note that the music played isn't yet correct, though)
...
svn-id: r41506
2009-06-14 03:39:30 +00:00
Paul Gilbert
f2c1b18242
Added variable to savegame format so that savegames can be correctly loaded from the ScummVM launcher
...
svn-id: r41423
2009-06-10 12:15:50 +00:00
Paul Gilbert
5bb449b2bf
Removed the remaining two FIXME's - my analysis of the data indicates no issues with structure packing, and all multi-byte data accesses are wrapped using loadShort/saveShort, which is endian safe
...
svn-id: r41096
2009-06-01 08:46:39 +00:00
Paul Gilbert
4269c3a4ea
Converted the saving of perso structure data to proper endian-safe serialisation
...
svn-id: r41093
2009-06-01 03:27:54 +00:00
Paul Gilbert
f0e69a7d0b
Replaced the original implementation of walk box handling with a cleaner, structure array based one
...
svn-id: r40954
2009-05-28 08:49:56 +00:00
Johannes Schickel
b3c6751b9b
Strip trailing whitespaces in the whole code base.
...
svn-id: r40867
2009-05-24 15:17:42 +00:00
Max Horn
65b5d31814
COMMON: Removed Stream::ioFailed() and clearIOFailed(), as they are deprecated; however, retained ioFailed in SeekableReadStream and File for now (so for now this mainly affects WriteStream subclasses)
...
svn-id: r40725
2009-05-19 11:42:14 +00:00
Max Horn
42cd218400
Improved Common::Serializer in several ways:
...
* Added support versioned serialization
* Added a convenience API for handling 'magic IDs' transparently
* Exposed the err()/clearErr() methods of the underlying streams
* Added a basic unit test for versioned loading (more should be added, in particular for saving)
* Removed the syncString(char *, uint16) alias for syncBytes(byte *buf, uint32 size)
svn-id: r40723
2009-05-19 11:23:13 +00:00
Paul Gilbert
dcca3197fc
Properly named the script structure offset field, and fixed an endian bug
...
svn-id: r40634
2009-05-17 06:59:19 +00:00
Paul Gilbert
358be385b5
Replaced value with proper constant, and named a previously un-named structure field
...
svn-id: r40616
2009-05-16 04:03:37 +00:00
Paul Gilbert
adaa0472c5
Bugfix to saving the width of a cached background area - the previous code was, for some reason, saving the width divided by 2.. this was causing corruptions during reload for cached areas with an odd horizontal width
...
svn-id: r40595
2009-05-15 07:03:56 +00:00
Paul Gilbert
464b8cc7f3
Corrected saving/loading of cached background areas
...
svn-id: r40594
2009-05-15 06:46:56 +00:00
Paul Gilbert
15252ad83c
Added support for the global menu save/loading, and changed the savegame format to store the savegame name and thumbnail
...
svn-id: r39979
2009-04-18 10:16:08 +00:00
Paul Gilbert
07fb7735b5
Replaced all occurrences of the constant '257' with the existing constant 'NUM_FILE_ENTRIES'
...
svn-id: r39824
2009-04-04 01:21:25 +00:00
Paul Gilbert
d42d6122d9
Laid the basics for music handling
...
svn-id: r39786
2009-04-01 10:43:24 +00:00
Max Horn
48d73ff6bf
CRUISE: Fixed bug when loading backgroundIncrustStruct::saveWidth (don't divide by 2, rather *multiply* by 2); also some cleanup
...
svn-id: r39657
2009-03-24 11:30:37 +00:00
Paul Gilbert
57b0038e5e
Converted the Cruise engine to use the new Common::Serializer class
...
svn-id: r39443
2009-03-16 09:17:49 +00:00
Paul Gilbert
41eaf2c575
Removed deprecated method
...
svn-id: r36258
2009-02-11 09:02:30 +00:00
Paul Gilbert
7238358e6e
Changed the save/load process to use a common serialiser
...
svn-id: r36253
2009-02-09 11:30:18 +00:00
Max Horn
ac59693be2
A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
...
svn-id: r36127
2009-01-29 05:26:12 +00:00
Max Horn
4c5efaecf4
Code formatting fixes, automatically performed by astyle
...
svn-id: r35870
2009-01-16 02:43:41 +00:00
Max Horn
42c46aa5a1
Mark cruise save/load code as not endian safe
...
svn-id: r35869
2009-01-16 01:48:55 +00:00
Eugene Sandulenko
297d4228d3
Patch #2054467 : CRUISE: 64bits fixes
...
svn-id: r34622
2008-09-21 10:23:22 +00:00
Jordi Vilalta Prat
66e9d4f5e8
Removed trailing spaces.
...
svn-id: r30664
2008-01-27 19:47:41 +00:00
Vincent Hamm
f953ed4dde
Early pathfinding
...
svn-id: r30012
2007-12-27 12:05:43 +00:00