Commit Graph
137148 Commits
Author SHA1 Message Date
Martin Gerhardy f1255de484 TWINE: fixed mixed x and y vars (just by name) 2020-12-15 23:12:36 +01:00
Martin Gerhardy 520859a18d TWINE: renamed member var 2020-12-15 23:12:36 +01:00
Martin Gerhardy 5af7875b0f TWINE: renamed member var 2020-12-15 23:12:36 +01:00
Martin Gerhardy a74eed6cae TWINE: introduced enum for updateProgressiveText return values 2020-12-15 23:12:35 +01:00
miller-alex 58f28d2a35 KYRA: adlib driver fixes (#2679)
* KYRA: Clear program queue in AdLibDriver::stopAllChannels()

* KYRA: Fix starting sounds when program queue is full

AdLibDriver::setupPrograms() returns early when the sound program
queue is completely full instead of starting the first sound in
the queue. A crude workaround in startSound() is needed to prevent
the queue to become stuck.

Fix the check so it can distinguish between full and empty queue.

* KYRA: Remove workaround overflowing program queue in EoB

The bug that prevented sounds from starting when the queue
was full and caused the queue to become stuck has been fixed
in the previous commit, so the workaround in startSound()
that simply overflows the queue shouldn't be necessary any
more.

The warning for dropped tracks is still suppressed in EoB
since it seems to be common there.

* KYRA: Simplify queue handling code a bit

* KYRA: Add some safety checks to AdLib driver

Check validity of data read from the sound files to avoid illegal
memory access or undefined behavior:

* Validate channel number before indexing _channels array in
  several methods.

* Since baseNote can be anything, adjusting note by 12 may not be
  enough in setupNote(). Use division/modulo.

* Clip rawNote and pitchBend to valid range before indexing
  _pitchBendTables[] in setupNote().

* Avoid undefined left shift of a negative value (frequency unk1)
  in primaryEffect1().

* Ensure valid target address for jumps and similar instructions.

* Catch stack overflow in update_jumpToSubroutine() and underflow
  in update_returnFromSubroutine().

* Check location of effect data in update_setupSecondaryEffect1().

* Verify index for _unkTable2[] in updateCallback46().

Also fix debug messages in update_setupRhythmSection() and add a
missing space in a comment.

* KYRA: Safety check for programs running past end of data

Add a safety check that prevents sound channel programs from
running past the end of _soundData (in case the sound file is
truncated or contains malicious data). This is done in a central
place in AdLibDriver::executePrograms() in order to avoid adding
checks to every update* method.

This is achieved by adding a new field to the parser opcode table
which holds the number of bytes an opcode needs for its arguments,
so executePrograms() knows how much data is needed.

* KYRA: Check data size setting up sound program or instrument

* KYRA: Add safety check to PCSoundDriver::getProgram()

* KYRA: Clip a shift exponent to valid range in noteOn()
2020-12-15 21:45:11 +01:00
antoniou79 819793bd49 BLADERUNNER: Describe Chew and Gaff animations 2020-12-15 20:51:25 +02:00
Lothar Serra Mari c494346147 NEWS: Update German NEWS file 2020-12-15 19:44:49 +01:00
Lothar Serra Mari 5a2661d1c2 NEWS: Fix typo in latest COMI news 2020-12-15 18:58:24 +01:00
antoniou79 f962fcaf67 BLADERUNNER: Describe more character animations
EarlyQBartender, Hanoi, Hawker's barkeeper, Holloway, Moraji, Photographer, Rajif, Sgt Walls, Tyrell

Also described shooshine man's animations but he is unused as of yet.
2020-12-15 16:24:22 +02:00
Martin Gerhardy 2b112dbb40 TWINE: format the code 2020-12-15 12:46:07 +01:00
Martin Gerhardy 510ef40a9d TWINE: missing newlines to console output 2020-12-15 12:46:07 +01:00
Martin Gerhardy 2d42bcfb62 GUI: added new debugger command to execute a file line by line 2020-12-15 12:46:07 +01:00
Martin Gerhardy 09859f0e34 TWINE: debug output 2020-12-15 12:17:43 +01:00
Paul Gilbert 05579a40ff GLK: COMPREHEND: Special opcode for switching to graphics mode 2020-12-14 20:58:33 -08:00
Paul Gilbert 509edd7b47 GLK: COMPREHEND: Separate execution of action functions & special opcodes 2020-12-14 19:09:40 -08:00
Paul Gilbert e87ae74a43 GLK: COMPREHEND: Fix Talisman turn operation 2020-12-14 19:09:40 -08:00
Paul Gilbert 7ade799d29 GLK: COMPREHEND: Added actionSelected engine method 2020-12-14 19:09:40 -08:00
Paul Gilbert 13c6d25c05 GLK: COMPREHEND: Implementing Talisman beforePrompt/afterPrompt 2020-12-14 19:09:40 -08:00
Eugene Sandulenko 5540b1c03b NEWS: Mention COMI enhancement 2020-12-15 01:51:42 +01:00
Lothar Serra Mari 8626677d6c NEWS: Update German NEWS file 2020-12-14 22:18:29 +01:00
Martin Gerhardy 0c99d01b5a TWINE: new debug command for hero posisions and gameflags 2020-12-14 17:22:39 +01:00
Le Philousophe b65d187123 STARTREK: Remove comma at end of enumerator list
Old compilers don't like it
2020-12-14 12:15:59 +01:00
Filippos Karapetis d8b76a2dfc STARTREK: Add some bridge sequences 2020-12-14 03:48:52 +02:00
Filippos Karapetis 2b8ea5c7e3 STARTREK: Some work on supporting the demo and floppy versions of st25 2020-12-14 03:48:52 +02:00
Filippos Karapetis 7db4b674b0 STARTREK: Fix some rounding issues with doubles 2020-12-14 03:48:52 +02:00
Filippos Karapetis 9c25f9ee64 STARTREK: Add support for loading actors into dynamically assigned slots 2020-12-14 03:48:51 +02:00
athrxx ad57f8a026 NEWS: mention LOK Hebrew support 2020-12-13 22:47:19 +01:00
athrxx 2bc7c271d3 KYRA: (LOK/Hebrew) - update kyra.dat 2020-12-13 22:47:19 +01:00
Niv BaehrandBLooperZ 52ebbfebc9 KYRA: support hebrew fan translation (#2683)
* KYRA: add hebrew to kyra.dat

* KYRA: add hebrew detection entry + fix kallak text

* KYRA: fix rigth align text for hebrew

* KYRA: restore lines lost in rebase

* KYRA: convert non-ascii to escape sequence

* KYRA: bump kyra.dat version

* KYRA: update renamed variable

* KYRA: use memset and rename variables

* KYRA: translate remaining hebrew strings

Co-authored-by: BLooperZ <blooperz@users.noreply.github.com>
2020-12-13 22:27:16 +01:00
sluicebox 4a72486279 SCI: Disable LSL3 speed test
Fixes bug #11967
2020-12-13 10:54:36 -10:00
antoniou79 694de1c8b1 BLADERUNNER: RESTOREDCONTENT: Better positioning for Patron3 2020-12-13 22:38:46 +02:00
antoniou79 1ddb99296c BLADERUNNER: RESTOREDCONTENT: Restore HysteriaPatron3 dancer
For the time being both dancers will be shown in NR05

One needs to start a new (restored content) game to get the second dancer,
because her positioning code is in her Initialize() (as in HysteriaPatron2).
Maybe in the future we will allow only one dancer to appear there
choosing them with a random chance.
2020-12-13 22:14:39 +02:00
antoniou79 970c54ff58 BLADERUNNER: Describe Mia Murray animations 2020-12-13 20:13:36 +02:00
antoniou79 e536f50b34 BLADERUNNER: Describe more animations
Izo, Sadik, Twins, EarlyQ, Leon, Sebastian, Leary, Grayford, Hanoi, Clerk, HowieLee, Isabella, FishDealer, InsectDealer

Also restored a talk animation for Hanoi, which looked to be omitted due to an original bug
2020-12-13 19:06:27 +02:00
VAN-Gluon 1c27295acd I18N: Update translation (Japanese)
Currently translated at 51.4% (824 of 1603 strings)
2020-12-13 14:57:27 +00:00
Paul Gilbert 14da53647c GLK: COMPREHEND: Add further string loading 2020-12-12 11:04:17 -08:00
Paul Gilbert 4665c65d84 GLK: COMPREHEND: Implement CALL_FUNC2 opcode 2020-12-12 11:04:17 -08:00
Thierry Crozat ebda08e764 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2020-12-12 18:32:46 +00:00
VAN-Gluon 2461384696 I18N: Update translation (Japanese)
Currently translated at 50.4% (809 of 1603 strings)
2020-12-12 18:32:41 +00:00
rsn8887 8b4cb4f745 BACKENDS: Fix GUI RGB cursor on PSP 2020-12-12 12:31:14 -06:00
Thierry Crozat c0175f7749 I18N: Update translations templates 2020-12-12 14:54:36 +00:00
Thierry Crozat 31e4d3e589 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2020-12-12 14:54:35 +00:00
VAN-Gluon c4692b09f5 I18N: Update translation (Japanese)
Currently translated at 49.8% (799 of 1603 strings)
2020-12-12 14:54:30 +00:00
Ori Avtalion b293226fd5 SKY: Remove duplicate include 2020-12-12 16:53:54 +02:00
Thierry Crozat bd77c5d241 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2020-12-12 11:01:28 +00:00
VAN-Gluon 91d4069957 I18N: Update translation (Japanese)
Currently translated at 47.5% (762 of 1603 strings)
2020-12-12 11:01:22 +00:00
Martin Gerhardy 9b4d72151e TWINE: reverted "only load the entity data once"
This reverts commit ab8aab37c0 and fixes a regression
in switching to the attack mode animation
2020-12-12 12:01:05 +01:00
Thierry Crozat a3ee7e586b I18N: Update translations templates 2020-12-12 06:06:30 +00:00
Thierry Crozat 7fb53d1b2d I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2020-12-12 06:06:29 +00:00
Paul Gilbert 24ddba7652 GLK: COMPREHEND: Fix display of I don't understand for unrecognised inputs 2020-12-11 22:06:14 -08:00