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
Julien
7974b62b71
LASTEXPRESS: Reduce nesting in Entities::processEntity()
2012-07-27 00:15:01 -04:00
Julien
552e8d45b2
LASTEXPRESS: Switch some warnings to debug console output
2012-07-27 00:15:00 -04:00
Littleboy
be94a24fd2
LASTEXPRESS: Replace INVERT_Y macro
2012-07-16 23:51:31 -04:00
Littleboy
3cf7e8ccf3
LASTEXPRESS: Replace INCREMENT_DIRECTION_COUNTER macro
2012-07-16 23:51:30 -04:00
Littleboy
43d3b2f378
LASTEXPRESS: Remove strange casts
2012-07-16 23:51:23 -04:00
Littleboy
0635d99ec7
LASTEXPRESS: Cleanup
...
- Add missing initializer/destructors
- Add some const modifiers
- Remove some unneeded casts
- Use enumeration values in switch constructs
2012-07-14 14:26:00 -04:00
Littleboy
732a2c80dd
LASTEXPRESS: Remove duplicated include statements
2012-07-14 13:23:54 -04:00