Commit Graph

127 Commits

Author SHA1 Message Date
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
David Turner
3e657c1bf9 LASTEXPRESS: Add md5sums of UK Broderbund TLE.
svn-id: r53733
2010-10-23 14:37:26 +00:00
Julien Templier
3a90af96f5 LASTEXPRESS: Update namespace comment with latest engine status
svn-id: r53716
2010-10-22 22:06:59 +00:00
Julien Templier
90974937a3 LASTEXPRESS: Reorganize and enhance some debug commands
Add "time" command to convert between in-game and human-readable forms
Rename "dump" command to "show" and use named parameters instead of index
Add progress and flags options to show command

svn-id: r53715
2010-10-22 22:00:27 +00:00
Torbjörn Andersson
04cd1c1c11 LASTEXPRESS: Add some documentation for the kTime constants
svn-id: r53703
2010-10-22 18:09:49 +00:00
Julien Templier
fed894aeee LASTEXPRESS: Add missing casts, fix warnings and correct typos
svn-id: r53694
2010-10-22 01:30:18 +00:00
Julien Templier
06d9de0a9b LASTEXPRESS: Fix GCC errors & warnings (missing stricmp & parentheses)
svn-id: r53693
2010-10-22 00:35:37 +00:00
Julien Templier
a54783c414 LASTEXPRESS: Merge several TIME_CHECK* macros together
svn-id: r53692
2010-10-21 23:46:00 +00:00
Julien Templier
002557fbd2 LASTEXPRESS: Rename CURRENT_PARAMS to CURRENT_PARAM
svn-id: r53691
2010-10-21 23:44:59 +00:00
Julien Templier
4466e2a20d LASTEXPRESS: Simplify some entity callback code
svn-id: r53690
2010-10-21 23:44:27 +00:00
Julien Templier
af36047c71 LASTEXPRESS: Rename LOBYTE macro
svn-id: r53689
2010-10-21 23:43:57 +00:00
Julien Templier
3abbcfd780 LASTEXPRESS: Implement remaining AI logic functions for MmeBoutarel
svn-id: r53688
2010-10-21 23:43:36 +00:00
Julien Templier
a3d4181e00 LASTEXPRESS: Implement remaining AI logic functions for Coudert
svn-id: r53687
2010-10-21 23:43:04 +00:00
Julien Templier
f22c915a91 LASTEXPRESS: Implement remaining AI logic functions for Anna
svn-id: r53686
2010-10-21 23:42:31 +00:00
Julien Templier
21a25a99f5 LASTEXPRESS: Implement remaining AI logic functions for Tatiana
svn-id: r53685
2010-10-21 23:41:56 +00:00
Julien Templier
def40a625a LASTEXPRESS: Implement remaining AI logic functions for Kahina and Kronos
svn-id: r53684
2010-10-21 23:41:22 +00:00
Julien Templier
08f905fe56 LASTEXPRESS: Implement remaining AI logic functions for August
svn-id: r53683
2010-10-21 23:40:47 +00:00
Julien Templier
b347156e78 LASTEXPRESS: Implement remaining AI logic functions for Francois, Gendarmes and Milos
svn-id: r53682
2010-10-21 23:40:14 +00:00
Julien Templier
c35d23aa95 LASTEXPRESS: Implement 7 AI logic functions
svn-id: r53681
2010-10-21 23:39:48 +00:00
Julien Templier
a621302a71 LASTEXPRESS: Implement 10 more AI logic functions
svn-id: r53680
2010-10-21 23:38:35 +00:00
Torbjörn Andersson
f4a0633d8a LASTEXPRESS: Fix debug message.
svn-id: r53676
2010-10-21 19:24:22 +00:00
Julien Templier
c105e05a02 LASTEXPRESS: Fix typo in Mertens::function42()
This caused Mertens to invite you to Kronos's car, even before you've been
to Whitney's compartment, changed jacket and assumed his identity
(reported by eriktorbjorn)

svn-id: r53659
2010-10-20 22:36:50 +00:00
Jordi Vilalta Prat
59c054938a LASTEXPRESS: Fix some space formatting.
svn-id: r53629
2010-10-19 22:34:26 +00:00
Julien Templier
3feab382bc LASTEXPRESS: Fix corpse disappearing when hiding the body in the bed
The setItemLocation action had a typo that prevented it from setting the item location.
The "corpse moved" event was not set and it broke the scene progression.

Also clean up the pickCorpse code and add better comments.

svn-id: r53624
2010-10-19 20:53:43 +00:00
Torbjörn Andersson
490d4aef0e LASTEXPRESS: Changed some spaces to tabs
svn-id: r53618
2010-10-19 19:54:15 +00:00
Max Horn
f020ec9077 LASTEXPRESS: Fix warning about empty loop body
svn-id: r53605
2010-10-19 09:43:08 +00:00
Julien Templier
fdaa1b9c61 LASTEXPRESS: Merge parameter creation into resetCurrentParameters()
svn-id: r53599
2010-10-19 01:42:00 +00:00
Julien Templier
01669d8de0 LASTEXPRESS: Rewrite resetCurrentParameters to use a temporary var
Per LordHoto suggestion, to see if it fixes compilation on motoezx & PS2

svn-id: r53598
2010-10-19 00:45:53 +00:00
Johannes Schickel
f82ee445d3 LASTEXPRESS: Add md5sums of German TLE.
svn-id: r53596
2010-10-18 23:40:36 +00:00
Julien Templier
9cbae5252f LASTEXPRESS: Check for a valid sequence in SequenceFrame::getName
This allows the demo to fail gracefully to the debugger instead of crashing

svn-id: r53595
2010-10-18 23:06:52 +00:00
Julien Templier
0c72b1800d LASTEXPRESS: Fix GCC warnings
svn-id: r53588
2010-10-18 21:03:28 +00:00
Julien Templier
6a67bfd85d LASTEXPRESS: Implement 3 more AI logic functions
svn-id: r53587
2010-10-18 20:39:54 +00:00
Eugene Sandulenko
86d650926f LASTEXPRESS: Merge in the engine.
svn-id: r53579
2010-10-18 19:17:38 +00:00