476 Commits

Author SHA1 Message Date
Paweł Kołodziejski
20cb0ae228
ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Cameron Cawley
f01c5321c4 STARK: Don't exit immediately if modded assets are enabled but not supported 2021-12-20 23:18:36 +01:00
Paweł Kołodziejski
50f9fa3df6
STARK: Fixed minor coverity warnings 2021-12-20 19:22:39 +01:00
Orgad Shaneh
ee57380de7 ENGINES: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:32:04 +02:00
Paweł Kołodziejski
a3c99a3e1b
STARK: Move lights pre-calculation to top of lights setup 2021-10-19 21:18:33 +02:00
antoniou79
74a15b8233 STARK: Fix bad subtitle for Cortez in theater
Fix for bug https://bugs.scummvm.org/ticket/12967
2021-10-01 20:55:07 +02:00
Paul Gilbert
baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
SupSuper
70dc08f46e JANITORIAL: Cleanup inconsistent includes 2021-02-22 10:54:07 +00:00
Henrik "Henke37" Andersson
218f66d1e0 STARK: Use getValOrDefault 2021-02-12 00:41:23 +01:00
Paweł Kołodziejski
e2cd2e6ed7 COMMON: Rename Common::Debug to Common::StreamDebug 2020-10-16 21:47:16 +02:00
Eugene Sandulenko
4f0fa0005e STARK: Mark another set of class vars public 2020-10-15 14:09:20 +02:00
Eugene Sandulenko
d89e0a2430 STARK: Help confused compilers with nested classes 2020-10-15 12:56:45 +02:00
Eugene Sandulenko
8a038f1942 STARK: Attempt to fix GP2x compilation 2020-10-15 12:08:31 +02:00
Paweł Kołodziejski
35b9cccbde ALL: Merge ResidualVM 2020-10-09 19:44:13 +02:00
Pawel Kolodziejski
27e12d8a96 ALL: Eliminate LOCAL_PI macro 2020-09-23 23:20:23 +02:00
Bastien Bouclet
d538a8679f STARK: A sound resource can only be playing once at a given time
Fixes the rubber duck air leak sound being still playing after
completing the puzzle. The game scripts were starting the sound twice
but stopping it only once.

Refs #1586.
2019-12-11 20:57:19 +01:00
Bastien Bouclet
afb8f4e2f3 STARK: Fix incorrect title for inventory items in the action menu
Fixes #1567.
2019-08-10 11:32:15 +02:00
Bastien Bouclet
ae1a7fbf6f STARK: Fixes for text in the computer archive database
* Add a workaround so the white cardinal hotspot always matches the text
* Add a workaround so the main menu link does not wrap in the French
   version
* When the screen resolution changes reset all text visuals, even those
   not currently visible

Fixes #1551.
2019-06-06 20:28:44 +02:00
Bastien Bouclet
722f662247 STARK: Shadows can be disabled at the scene level
Fixes #1552.
2019-06-03 20:27:32 +02:00
Bastien Bouclet
c95f711a8e STARK: Add support for loading modded textures 2019-06-02 17:15:50 +02:00
Bastien Bouclet
db33fb3e41 STARK: Fix the file extension when extracting textures 2019-06-02 17:13:14 +02:00
Bastien Bouclet
c5ea4db2c9 STARK: Only 3d model items should be used for collision checks
Previously the fact machine was checked when Zak was entering his room
in the border house.

Fixes #1549.
2019-06-02 09:34:53 +02:00
Bastien Bouclet
d524d0e999 STARK: Fix Speech::isPlaying
Fixes #1549.
2019-06-01 22:51:46 +02:00
Bastien Bouclet
1425f4e487 STARK: Only play idle animations while the game is interactive
Fixes #1549.
2019-06-01 22:51:46 +02:00
Bastien Bouclet
ed21430414 STARK: Add a console command to dump model textures as png files 2019-06-01 13:56:55 +02:00
Bastien Bouclet
d40a433fdf STARK: Reset the fade level when entering new locations
Previously the fade level was only reset in locations with a Camera
entity. Now we do it in all cases. This fixes accessing the book of
secrets immediately after winning the game (the fade level would still
be zero from the fade to black right before the end game credits).
2019-05-28 21:25:55 +02:00
Bastien Bouclet
651eac1d47 STARK: Implement background sound playback
Fixes #1544.
2019-05-23 06:52:37 +02:00
Bastien Bouclet
6e0f5c1c3f STARK: Fix the position of some items beoing incorrect in the game files
Based on a list provided by Faberman
2019-05-16 20:02:30 +02:00
Bastien Bouclet
b91c4cdf71 STARK: Fix crash when showing exits for items with no animation set
Fixes #1531.
2019-04-08 21:07:01 +02:00
Bastien Bouclet
5c24080eab STARK: Fix incorrectly placed shelves in April's room 2019-02-28 19:50:47 +01:00
Bastien Bouclet
832d7dffca STARK: Ignore face index 0 when looking up the closest face to a ray
Fixes April being able to go behind the newspaper man in the subway
train.

This seems like a bug in the original engine we are now copying.
2019-02-24 11:23:51 +01:00
Bastien Bouclet
5807e4ce46 STARK: Disabled floor faces block casted rays
Fixes being able to go behind the Roma gallery facade.
2019-02-12 20:32:30 +01:00
Bastien Bouclet
479fc65e32 STARK: Remove superfluous warnings 2019-02-06 20:44:25 +01:00
Bastien Bouclet
f7df0d3f12 STARK: Initial version of the collision avoidance movement 2019-02-06 20:44:25 +01:00
Bastien Bouclet
85c669b35d STARK: Add basic collision handling, used by NPCs 2019-02-06 20:44:25 +01:00
Bastien Bouclet
ef87472cc8 STARK: Change animation scripts to use the script suspend system
Animation scripts now work the same way as video and skeleton animations
now.

Fixes #1517.
2019-02-01 08:58:56 +01:00
Bastien Bouclet
9bbaa69dba STARK: Make the text color endian-safe 2019-01-28 21:23:14 +01:00
Bastien Bouclet
0dc8726136 STARK: Game view user interface refinements
* Implement the mouse item description delay
* Implement inventory auto close
* Implement action menu auto close
* Implement the action menu item description
2019-01-25 21:02:02 +01:00
Bastien Bouclet
2b9242c8ea STARK: Delay playing FMVs until all the location change scripts are done
This ensures no sound is started by the scripts after the game has
already been paused. In-game sounds no longer play during FMVs.
2019-01-25 21:02:02 +01:00
Bastien Bouclet
0607e8c7a7 STARK: Implement retrieving path positions for commands 2019-01-25 09:48:31 +01:00
Bastien Bouclet
c46beaafc6 STARK: Add an infinite loop protection to AnimScript 2019-01-25 09:48:31 +01:00
Bastien Bouclet
cfcf10a0fd STARK: Add a small pause after each speech line 2019-01-25 09:48:31 +01:00
Bastien Bouclet
e3c6748a7f STARK: Rework skeletal animation blending control
The previous animation blending system had some flows. The
AnimationHandler was owned by the model which was incorrect, since it's
possible to change models during an animation sequence. The
AnimationHandler is now owned by the item, ensuring there is only one
per character instance.

We now ignore animation change requests for one frame. This is because
the scripts often cause an animation change, and request another one the
very next frame. This used to cause issues because we were blending the
latest animation with the previous one which was only active for one
frame, causing a discontinuity. This new solution is kind of a hack.
Hopefully it is good enough and there is no need to implement animation
blending for more than two animations at once.
2019-01-25 09:48:31 +01:00
Bastien Bouclet
5885634c60 STARK: Rework how scripts wait for action animations to complete
Previously scripts were paused for the duration of the animation. This
could lead to issues where scripts would wake up one frame too late or
too early, resulting in animation glitches.

Now, scripts are suspended until the animation is done playing. This
makes sure scripts select the new animation in the same frame as the one
they were waiting for.

Fixes incorrect frames sometimes being visible before or after video
animation. Reduces a bit the animation blending issues for skeletal
animations. More work is still needed to improve skeletal animation
blending for the remaining glitches to be fixed.
2019-01-24 12:38:03 +01:00
Bastien Bouclet
c02152d006 STARK: Allow loading modded replacements for the Smacker animations
The replacements can be encoded either in Smacker or Bink.
2019-01-24 12:37:42 +01:00
Bastien Bouclet
45c5cf0c80 STARK: Add loading of replacement PNG files for the background images
The replacement PNG files can have larger dimensions when compared to
the original XMG images, enabling the creation of a high resolution mod.

The game looks for the replacement files in the game directory and then
in the xarc subdirectory of the directory containing the archive in
which the xmg picture to be replaced is located. For instance:
'1e/00/xarc/fountain_layercenter.png' should be used for the Venice park
background.
2019-01-16 19:43:22 +01:00
Bastien Bouclet
7e38335d95 STARK: Fix crash when cycling through items with an empty inventory 2019-01-03 07:59:13 +01:00