82 Commits

Author SHA1 Message Date
Julien Templier
82b0a9b003 LASTEXPRESS: Add macro for end of entities logic functions
svn-id: r55343
2011-01-20 04:57:06 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Julien Templier
9e5b554dc3 LASTEXPRESS: Poll events when loading savegames to prevent freezing the application
svn-id: r54368
2010-11-19 10:55:56 +00:00
Julien Templier
2687c987eb LASTEXPRESS: Add missing queue reset in Entitites::resetSequences
svn-id: r54367
2010-11-19 10:55:38 +00:00
Julien Templier
2a6519ca2e LASTEXPRESS: Simplify current frame calculation in Animation::process
(per Max suggestion)

svn-id: r54366
2010-11-19 10:55:21 +00:00
Max Horn
a0df86955f ALL: Push down deps on stream.h from .h to .cpp files
svn-id: r54358
2010-11-19 01:37:04 +00:00
Max Horn
5ea4b576c3 LASTEXPRESS: Include common/events.h instead of common/EventRecorder.h
svn-id: r54356
2010-11-19 00:49:16 +00:00
Max Horn
ee4770ffb6 ENGINES: Change 'colour' to 'color'
Only changed this in engines where 'color' was/is already used
almost exclusively

svn-id: r54288
2010-11-17 12:22:08 +00:00
Julien Templier
da90fa1405 LASTEXPRESS: Fix SequenceFrame leak in Entities code
- Add EntityCallData destructor to dispose of frames & Sequences
 - Properly dispose of frames in Entities::resetSequences()

svn-id: r54270
2010-11-16 14:06:59 +00:00
Julien Templier
396bec13f9 LASTEXPRESS: Use Common::StackLock instead of mutex lock/unlock in Sound class
svn-id: r54247
2010-11-15 15:48:39 +00:00
Julien Templier
7d9c43d22b LASTEXPRESS: Fix frame leak in Entities::processFrame()
When not keeping the previous frame, the current frame was overwritten.
We now delete it before assigning a new value.

svn-id: r54246
2010-11-15 15:48:20 +00:00
Julien Templier
a4d9d03601 LASTEXPRESS: Update Animation::process()
- Use Common::Rational to compute the current frame
 - Added check for _currentChunk != NULL
 - Add constructor to Chunk structure

svn-id: r54245
2010-11-15 15:48:08 +00:00
Matthew Hoops
dbb3e1dded LASTEXPRESS: Don't use NULL in arithmetic (silences a warning)
svn-id: r54244
2010-11-15 15:20:48 +00:00
Julien Templier
8664535029 LASTEXPRESS: Protect sound queue accesses with mutex
Sound entries were being streamed before the data was fully loaded
and queue addition/removal could happen while the sound timer was
going through the queue (reported by digitall).

svn-id: r54241
2010-11-15 12:48:54 +00:00
Max Horn
bc09acfef1 LASTEXPRESS: Silence potential warnings about extra semicolons
svn-id: r54207
2010-11-11 18:22:55 +00:00
Johannes Schickel
cc84c2dcfb LASTEXPRESS: Remove superflous if check in SAFE_DELETE.
svn-id: r54203
2010-11-11 16:44:28 +00:00
Julien Templier
521f228ced LASTEXPRESS: Use SAFE_DELETE for class variables
svn-id: r54201
2010-11-11 14:19:44 +00:00
Julien Templier
6711c5a8cf LASTEXPRESS: Fix more memory leaks
- Missing deallocation of queued frames in SceneManager
 - Leaking functor on each call to entity setup functions
 - Add SoundEntry destructor & better Entity cleanup

as reported by digitall

svn-id: r54196
2010-11-11 06:18:23 +00:00
Julien Templier
3b66e53bbe LASTEXPRESS: Fix some memory leaks
- Reading past the end of file in SaveLoad::init
 - Missing deallocation of cache in SoundManager
 - Missing deallocation of coords in SceneHotspot
 - Missing deallocation of event handlers in LastExpressEngine::setEventHandlers
 - Missing deallocation of InSaveFile in SaveLoad::isSavegameValid
 - Missing deallocation of frames in Menu

as reported by digitall

svn-id: r54193
2010-11-11 03:25:35 +00:00
Max Horn
4d3a07b494 COMMON: Rename and tweak MD5 functions
* names now comply to our naming conventions
* the function computeStreamMD5AsString which computes the MD5
  as a hex string now returns it as a Common::String
* add doxygen comments

svn-id: r54121
2010-11-07 17:16:59 +00:00
Max Horn
a984fb17c2 GUI: Add GCC_PRINTF to GUI::Debugger::DebugPrintf & fix resulting warnings
svn-id: r54007
2010-11-01 16:03:35 +00:00
Max Horn
e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Max Horn
064bdebd55 LASTEXPRESS: Use const_iterator to iterate over a const array
svn-id: r53967
2010-10-30 22:44:57 +00:00
Torbjörn Andersson
4089b9fe2c JANITORIAL: Remove unnecessary semicolons
svn-id: r53889
2010-10-27 19:48:54 +00:00
Torbjörn Andersson
8dbe052ca2 LASTEXPRESS: Rename variable to silence GCC warning
svn-id: r53888
2010-10-27 19:43:35 +00:00
Julien Templier
5a336830a0 LASTEXPRESS: Use Common::Rational when adjusting menu clock
Also fix the wrong check that set the time directly to the target time

svn-id: r53885
2010-10-27 19:22:05 +00:00
Julien Templier
44ba44297d LASTEXPRESS: Hide menu elements after a game has been loaded
svn-id: r53884
2010-10-27 19:21:52 +00:00
Julien Templier
cdfcaa4d48 LASTEXPRESS: Implement game loading (last save entry only)
svn-id: r53883
2010-10-27 19:20:20 +00:00
Julien Templier
5688a393b4 LASTEXPRESS: Do not try to show intro when loading a game
svn-id: r53882
2010-10-27 19:19:57 +00:00
Julien Templier
d5e4ab6b20 LASTEXPRESS: Cleanup game saving
- Move loading of game stream to separate function
 - Add checks for NULL in functions using _savegame
 - Add expected saved size for sound & savepoints

svn-id: r53881
2010-10-27 19:19:38 +00:00
Julien Templier
dba75791d9 LASTEXPRESS: Add some missing casts and const qualifiers
svn-id: r53880
2010-10-27 19:19:22 +00:00
Willem Jan Palenstijn
d3523a6040 LASTEXPRESS: Read savegame in blocks instead of bytes
svn-id: r53854
2010-10-26 20:14:17 +00:00
Julien Templier
5323be5f84 LASTEXPRESS: Fix GCC warnings
svn-id: r53850
2010-10-26 12:49:32 +00:00
Julien Templier
8622ee1ef1 LASTEXPRESS: Turn dummy action error into a warning
svn-id: r53849
2010-10-26 12:11:06 +00:00
Julien Templier
0b5cc5b9ff LASTEXPRESS: Fix forward/backward in the menu
svn-id: r53848
2010-10-26 12:10:49 +00:00
Julien Templier
6bc59c0bb0 LASTEXPRESS: Implement loading of savegame entry headers
svn-id: r53847
2010-10-26 12:10:38 +00:00
Julien Templier
bdbd0c1417 LASTEXPRESS: Do not delete Clock & TrainLine frames in clear() functions
svn-id: r53846
2010-10-26 12:09:38 +00:00
Julien Templier
dc4a22ed7d LASTEXPRESS: More savegame work
- Implement SaveLoad::writeEntry
 - Implement missing saveLoadWithSerializer functions for all serialized classes & structs
 - Add stub for SaveLoad::computePadding

svn-id: r53845
2010-10-26 06:55:34 +00:00
Julien Templier
fd8af7ba6e LASTEXPRESS: Make GameState::time of type TimeValue
svn-id: r53844
2010-10-26 06:55:17 +00:00
Torbjörn Andersson
f663a736dd LASTEXPRESS: Silence GCC warning
svn-id: r53843
2010-10-26 05:19:24 +00:00
Julien Templier
ae2c4b7cd2 LASTEXPRESS: Savegame support update
- Implement Menu::startGame() properly
 - Add stubs functions for game restart
 - Made savegame headers serializable and moved validity checks inside struct definition
 - Implement create/init savegame functions
 - Add SavegameStream to be able to read/write to the same memory stream
 - Add stubs for setup, writeEntry & loadEntry functions

svn-id: r53841
2010-10-26 00:41:42 +00:00
Julien Templier
f370ba174a LASTEXPRESS: Add Date-time comments for US & FR Broderbund releases
svn-id: r53833
2010-10-25 22:14:53 +00:00
David Turner
816ef5708f LASTEXPRESS: Adding Date-Time Comments To UK Broderbund Detection Entry
As per Littleboy's request.

svn-id: r53784
2010-10-25 00:50:51 +00:00
Matthew Hoops
4f37c92602 LASTEXPRESS: Don't use NULL in arithmetic
svn-id: r53783
2010-10-25 00:16:38 +00:00
Julien Templier
859c1c2c08 LASTEXPRESS: Fix issues when copying debugger commands
- Properly free allocated memory in resetCommand()
 - Make sure _commandParams strings are null-terminated

svn-id: r53778
2010-10-24 22:15:36 +00:00
Julien Templier
e4dc5336db LASTEXPRESS: Fix crash in subtitle handling
svn-id: r53777
2010-10-24 22:15:25 +00:00
Julien Templier
f37252e6cf LASTEXPRESS: Change detection entries platform to kPlatformUnknown
All full versions of the game are multiplatform Dos/Win/Mac
and the demo is Dos/Win

svn-id: r53770
2010-10-24 19:10:13 +00:00
Julien Templier
f812f88c10 LASTEXPRESS: Add new dump command to dump the list of files in the archives (with size & md5)
svn-id: r53749
2010-10-23 22:02:52 +00:00
Julien Templier
4e9cae8ca8 LASTEXPRESS: Output human readable time in the show game state debug command
svn-id: r53745
2010-10-23 20:07:06 +00:00
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00