Commit Graph
65 Commits
Author SHA1 Message Date
D G Turner e53e1e70d4 LASTEXPRESS: Fix Engine Specific ADPCM to work using odd sized buffers 2022-03-31 02:09:57 +01: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
Orgad Shaneh 3919f53326 ENGINES: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
djsrv 7eb4841065 ALL: Use Path type in Archive functions 2021-08-07 10:44:37 +02: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 b7b5fbbad2 LASTEXPRESS: support for looped sounds 2018-10-17 23:03:00 +03:00
Evgeny Grechnikov d561fd8a83 LASTEXPRESS: dynamic adjusting of sound volume
Now it works just like in the original game,
including fading where it is applicable
(e.g. in a passengers list if closing the list while a sound is playing).

By the way, p2s sequence is known as http://oeis.org/A000265 ,
p1s is 4 - A007814, and p2s[i]/2**p1s[i] is just i/16.
It is time to get rid of these arrays.
2018-10-16 23:57:25 +03:00
D G Turner cc5d858169 LASTEXPRESS: Remove Engine Specific All Debug Level.
This is replaced by the global "all" option for debugflags and defining
this triggers a warning about the conflict at runtime.
2018-10-16 18:25:03 +01:00
Evgeny Grechnikov 8162309212 LASTEXPRESS: fix race condition in sound code
SoundEntry::play() calls StreamedSound::setFilterId(),
StreamSound::setFilterId() requires the underlying reference to be alive.
SoundQueue::handleTimer() checks that the stream is still alive
by calling SoundEntry::isFinished(). However, if the stream is finalized
just between calls to SoundEntry::isFinished() and SoundEntry::play(),
the sound mixer frees the stream leading to use-after-free in setFilterId().

Turn off the automatical disposing, delete the stream in SoundEntry::~SoundEntry().
2018-10-16 00:49:07 +03:00
Matthew Hoops 030e4d0608 AUDIO: Make Rewindable- and SeekableAudioStream inherit virtually 2015-08-30 19:53:53 -04:00
Max Horn 4d02f67bd1 ALL: Resolve multiple clang warnings 2014-03-30 14:38:02 +02:00
Johannes Schickel 3d4f409572 LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Littleboy a20bf7cb60 LASTEXPRESS: Fix uninitialized scalar field (CID1002849) 2013-09-05 22:51:35 -04:00
Johannes Schickel bcc4a3d0b8 LASTEXRPESS: Take advantage of Surface::getPixels. 2013-08-03 04:02:51 +02:00
Johannes Schickel 786ad6cea0 LASTEXPRESS: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:32 +02:00
Littleboy 275aded0b0 LASTEXPRESS: Remove unnecessary casts 2012-08-27 21:49:40 -04:00
Littleboy cd5e750a7f LASTEXPRESS: Fix analysis warnings 2012-08-27 21:49:33 -04:00
Littleboy 1bfd55535f LASTEXPRESS: Disable sound filter reset on each decoded block
The filter id should be computed from the sound entry status for each decoded block. The current code was resulting in blocks being skipped.
2012-07-28 00:58:34 -04:00
Littleboy d8acba294d LASTEXPRESS: Add IgnoreSubtype option to AnimFrame 2012-07-27 16:09:35 -04:00
Julien 552e8d45b2 LASTEXPRESS: Switch some warnings to debug console output 2012-07-27 00:15:00 -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 43d3b2f378 LASTEXPRESS: Remove strange casts 2012-07-16 23:51:23 -04:00
Littleboy 13c00d4048 LASTEXPRESS: Fix sound in animated sequences 2012-07-14 14:26:22 -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
Johannes Schickel 1cda4f903b LASTEXPRESS: Get rid of casts on CursorManager::replaceCursor calls. 2012-06-16 03:28:43 +02:00
Johannes Schickel 2e97e043fb LASTEXPRESS: Get rid of casts on OSystem::copyRectToScreen calls. 2012-06-16 02:38:59 +02:00
Johannes Schickel a401f0a19e ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.

Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00
Andrea Corna a6ec4f70da COMMON: Make more members of Archive constant. 2011-12-13 17:55:57 +01:00
Christoph Mallon e578cb8976 ALL: Remove unnecessary forward declarations. 2011-11-21 15:59:19 +01:00
anotherguest 31201f93d8 Last Express: CLIP should use a <int> template to compile correctly. 2011-10-11 09:33:37 +02:00
Littleboy 63e2fe7e7b LASTEXPRESS: Have LastExpress_ADPCMStream inherit directly from Audio::ADPCMStream (as suggested by clone2727) 2011-07-08 22:03:28 -04:00
Littleboy af2bdfcb59 LASTEXPRESS: Replace existing decodeIMA calls by code using our custom set of IMA and step tables 2011-07-08 06:25:29 -04:00
Littleboy 1a71cd1e21 LASTEXPRESS: Fix typo in filter table 2011-07-08 06:25:27 -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 2788cb8bf7 LASTEXPRESS: Update sound timer and sound entry playing
- Move filtering to SoundEntry class
 - Make some methods of SoundEntry class private
 - Add methods to check if a StreamedSound/AppendableSound is done playing
2011-06-29 11:07:28 -04:00
Littleboy b4ac4988cc LASTEXPRESS: Cleanup comments 2011-06-28 22:54:51 -04:00
Max Horn aec2ea9661 ENGINES: Remove some uses of g_engine 2011-06-03 18:21:58 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel 71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Ori Avtalion cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Matthew Hoops 9d8874c707 AUDIO: Cleanup MS IMA handling
- Split The Last Express' ADPCM to the engine. Using the MS IMA routine was really a hack.
- Fixed stereo MS IMA ADPCM, the old routine was completely wrong.
2011-04-24 23:14:14 -04:00
Johannes Schickel 14d4964001 LASTEXPRESS: Use RGB555 PixelFormat for surfaces instead of screen format.
This makes the code a bit more readable, thanks to fuzzie for pointing that
out.
2011-04-17 22:17:09 +02:00
Johannes Schickel 6d1d31d0f9 LASTEXPRESS: Prefer Surface::create taking a PixelFormat over the one taking a byte depth.
I am not sure whether the engine really uses only surfaces with the exat same
format as the screen. The engine maintainer should review this commit and fix
it in case the surfaces use a different pixel format.
2011-04-17 16:28:05 +02:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Julien Templier 6b477ee33e LASTEXPRESS: Refactor inventory handling
- Rewrite menu icon part of Inventory::handleMouseEvent()
 - Add proper support for icon brightness
 - Add drawItem method in place of macro

svn-id: r55846
2011-02-09 00:23:35 +00:00