Commit Graph
142 Commits
Author SHA1 Message Date
Le Philousophe abb4c3cd6c LASTEXPRESS: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Donovan Watteau bf5e489567 JANITORIAL: Fix "to to" and "if if" typos in some comments 2022-09-11 17:45:25 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh f8881f661b LASTEXPRESS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Paul Gilbert 005561d305 COMMON: Increase Stream pos, seek, size from int32 to int64 2021-07-08 18:24:28 -07:00
Bastien Bouclet 1e6640ab33 LASTEXPRESS: Add override keywords 2020-02-09 12:43:15 +01:00
Eugene Sandulenko 074e1d19fc LASTEXPRESS: Fix conflicting enums 2020-01-31 16:29:50 +01:00
Evgeny Grechnikov af580eaa85 LASTEXPRESS: save/load sound state
Warning: breaks compatibility with previous savefiles.
They were mostly broken anyway, locking any NPC who
waited for kActionEndSound when savefile was created.
2018-10-20 16:35:23 +03:00
Evgeny Grechnikov 54562554f9 LASTEXPRESS: better names in sound code
Refactoring, no changes in behaviour.
2018-10-18 00:38:01 +03:00
Evgeny Grechnikov 53cd6616c9 LASTEXPRESS: refactor sound flags
Merge SoundFlag and SoundStatus into a single enum;
SoundEntry::setupStatus just casts one to another.

Keep only definitions of bits in SoundFlag; drop compound flags
like kFlagSteam = kSoundTypeAmbient | kSoundFlagLooped | kVolume7,
use ORed simple flags in calls; change the signature
of SoundManager::playSoundWithSubtitles to use uint32
instead of SoundFlag to avoid excess casting.

Add meaningful names to flags; add some comments.

Get rid of endian-unsafe SoundStatusUnion.

Fixes an issue with big-endian hosts.
No changes in behaviour on little-endian hosts.
2018-10-14 20:08:32 +03:00
Evgeny Grechnikov f771fa40ad LASTEXPRESS: multiple fixes in NPC logic
Checked the logic against the original game
(to be precise, DOS English version from GOG, although I think
AI logic has no significant differences with other versions).
Fixed a *lot* of errors with varying visibility for the user.

Also, save+exit+load sometimes resulted in memory corruption like
((EntityParametersSSII*)(new EntityParametersIIII))->param8 = 0;
load operation did not restore the correct type of NPC logic context,
the default one was used (which also has the smallest sizeof).
Should be fixed now. Save+load is still unusable because it locks
everybody waiting for kActionEndSound (the sound state is not restored),
but, at least, it should not corrupt the memory. Hopefully.
2018-08-26 12:09:43 +02:00
Torbjörn Andersson 70a2ca8b7d JANITORIAL: Silence more GCC 7 warnings
All these fall through were marked as deliberate, so again I've only
changed the comment to silence GCC.
2017-08-06 13:30:51 +02:00
Eugene Sandulenko 866baf1d9a LASTEXPRESS: Removing excess check 2015-11-27 22:34:26 +01:00
Littleboy ae12264c5f LASTEXPRESS: Fix potential out-of-bounds read. CID 1003992 2014-06-16 18:46:32 -04:00
Littleboy 5aad09213b LASTEXPRESS: Replace useless checks by asserts. CID 1004086, 1004090 2014-06-16 18:46:24 -04:00
Littleboy 71a703d8bb LASTEXPRESS: Update SavePoint::push/call interface and check for string size. CID 1003261, 1003262 2014-06-16 18:46:23 -04:00
Littleboy 5310d49e53 LASTEXPRESS: Rename Server* classes to Waiter* 2014-06-16 18:46:13 -04:00
Johannes Schickel 3d4f409572 LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Littleboy a434de35ff LASTEXPRESS: Update documentation for savegame format 2013-12-10 01:54:58 -05:00
Littleboy 2279464218 LASTEXPRESS: Rename InventoryItem properties 2013-12-10 01:54:57 -05:00
Littleboy 1314c5c128 LASTEXPRESS: Rename Object properties 2013-12-10 01:54:56 -05:00
Littleboy f8c45b93a3 LASTEXPRESS: Rename several action functions 2013-12-10 01:54:55 -05:00
Littleboy a2e9585400 LASTEXPRESS: Rename Anna logic functions
Fix wrong call in
2013-12-10 01:54:55 -05:00
Littleboy a4b21cf436 LASTEXPRESS: Rename Abbot logic functions 2013-12-10 01:54:53 -05:00
Strangerke a8de5dfad8 LASTEXPRESS: Janitorial - Fix spacing errors 2013-11-24 19:28:54 +01:00
Eugene Sandulenko 8ccf02dcaf LASTEXPRESS: Redo d71b48 and use variable instead of commenting it 2013-10-12 09:16:58 +03:00
Eugene Sandulenko d71b48b120 LASTEXPRESS: Comment out unused variable 2013-10-08 00:11:18 +03:00
Littleboy 041aa50cb5 LASTEXPRESS: Remove unneeded check for loaded sequence (CID1003911)
The sequence loading helper should already check if the sequence is loaded and clean up the instance if not
2013-09-05 22:51:32 -04:00
Littleboy 3591f559ab LASTEXPRESS: Fix uninitialized scalar field (CID1002847) 2013-09-05 22:51:30 -04:00
Littleboy 6ab8db638e LASTEXPRESS: Implement more savegame loading
- Rename existing function to load the last saved game
 - Remove loadgame debugger command
2012-08-27 23:30:23 -04:00
Littleboy ee8581b778 LASTEXPRESS: Cleanup savegame
- Check for valid stream in readValue/writeValue functions
 - Properly initialize/clear members
2012-08-27 21:49:43 -04:00
Littleboy 275aded0b0 LASTEXPRESS: Remove unnecessary casts 2012-08-27 21:49:40 -04:00
Littleboy bc4e10dabc LASTEXPRESS: Remove some unreachable code 2012-08-27 21:49:39 -04:00
Littleboy 2c0033c7ba LASTEXPRESS: Add const modifiers 2012-08-27 21:49:38 -04:00
Littleboy cec57e0918 LASTEXPRESS: Reduce header interdependency 2012-08-27 21:49:37 -04:00
Littleboy 86febf3d1d LASTEXPRESS: Check for valid data in Beetle::invertDirection() 2012-08-27 21:49:36 -04:00
Littleboy 4ad7d48fe9 LASTEXPRESS: Remove unused code and move functor definition to only file using it 2012-08-01 13:55:55 -04:00
Littleboy 7f05e1413c LASTEXPRESS: Remove use of skip from savegame functions when loading
We cannot accurately skip over compressed data as it is not know before decoding how much data will be used
2012-08-01 02:58:55 -04:00
Littleboy eb6c60cec0 LASTEXPRESS: Implement savegame read compression 2012-08-01 02:39:51 -04:00
Littleboy acd4cf82e2 LASTEXPRESS: Implement savegame write compression 2012-07-31 01:19:05 -04:00
Littleboy 4728505db2 LASTEXPRESS: Switch savegame reading to use new read method
- Disable savegame compression
2012-07-30 18:36:26 -04:00
Littleboy 5df2bd8962 LASTEXPRESS: Fix regression with Logic::resetState() 2012-07-29 21:09:35 -04:00
Littleboy 65565c8914 LASTEXPRESS: Replace REDRAW_CURSOR macro by function 2012-07-29 21:09:34 -04:00
Littleboy c8df89e6b2 LASTEXPRESS: Reorganize savegame code to prepare for compressed savegames support 2012-07-29 21:09:34 -04:00
Littleboy 7bf0bfb122 LASTEXPRESS: Implement menu egg blinking 2012-07-28 17:51:43 -04:00
Littleboy 839ad1303f LASTEXPRESS: Fix some formatting issues 2012-07-27 20:07:03 -04:00
Littleboy 94e2ea10cd LASTEXPRESS: Add menu-related warnings and turn some warnings into errors 2012-07-27 13:42:06 -04:00
Littleboy 7423885f69 LASTEXPRESS: Remove entity include in savepoint.h 2012-07-27 01:14:30 -04:00
Littleboy 6aeda2638b LASTEXPRESS: More include re-organization 2012-07-27 00:54:24 -04:00
Julien 3d6807b359 LASTEXPRESS: Implement Logic::resetState() 2012-07-27 00:15:05 -04:00