Commit Graph
32 Commits
Author SHA1 Message Date
Donovan Watteau 0a873f738c LASTEXPRESS: Fix MSVC C4309 enum sign warning 2022-11-29 01:37:55 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Evgeny Grechnikov 54562554f9 LASTEXPRESS: better names in sound code
Refactoring, no changes in behaviour.
2018-10-18 00:38:01 +03:00
Thierry Crozat 457c4ee8ac LASTEXPRESS: Fix compilation with some compilers 2018-10-14 22:00:13 +01: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 0cb6b30f67 LASTEXPRESS: more fixes in NPC logic 2018-09-11 23:14:30 +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
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 1314c5c128 LASTEXPRESS: Rename Object properties 2013-12-10 01:54:56 -05: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 0181a464eb LASTEXPRESS: Use filter 16 as default filter for NIS animations
This makes sure the sound is at the correct volume
2012-07-16 23:51:32 -04:00
Littleboy bc298a58f5 LASTEXPRESS: Simplify SoundQueue::updateQueue()
- Remove useless cache code
 - Use helper function to get the proper sound entry
 - Fix crash on using an invalid entry
2011-07-08 22:03:34 -04:00
Littleboy 47e9a6ccdc LASTEXPRESS: Move sound filtering to base Sound class
- Rename kSoundStatusRemoved to kSoundStatusClosed
 - Rename kSoundStatusClear2 to kSoundStatusCached
 - Remove sound cache handling
2011-07-04 14:26:31 -04:00
Littleboy 3385fd37b9 LASTEXPRESS: Hook up preliminary sound filtering
- Add debug checks in soundFilter()
 - Rename kSoundStatusClear1 to kSoundStatusFilterVariant
2011-06-29 12:06:33 -04:00
Littleboy 4526bbb5b6 LASTEXPRESS: Move SoundStatus to shared header 2011-06-29 11:07:26 -04:00
Littleboy 6eace0ca75 LASTEXPRESS: Move sound queue related functions to a separate class
- Implement missing queue reset function
 - Cleanup SoundManager::playLoopingSound()
2011-06-28 22:13:40 -04:00
Littleboy 5d020fffad LASTEXPRESS: Refactor Sound class
- Move entry-related functions to separate class
 - Move enumeration to shared header and rename FlagType to SoundFlag
2011-06-24 10:56:49 -04:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02: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
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 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
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