Commit Graph
377 Commits
Author SHA1 Message Date
Cameron Cawley 28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Eugene Sandulenko fb7095f5a4 COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Vladimir Serbinenko c5373134d2 COMMON: Uplift rnc decoder from toon to common
Toon has a RNC implementation with 2 differences from the one taken from SKY:

1. Protection against overread. Add it to common version and adjust callers
   in sky.
2. Lack of key parameter for obfuscation. We ignore it anyway and don't
   support obfuscation, so delete it in common version as well
2022-11-29 04:30:36 +01:00
Le Philousophe ae898f3316 TOON: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
antoniou79 e55490a8ba TOON: Fix music, sfx muted by default when adding the game 2022-08-02 15:44:35 +03:00
Cameron Cawley f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
Filippos Karapetis aff5abd1d9 TOON: Require onetime.pak to be present in the German demo
The German demo has an installer that copies part of the game's
resources, but omits all the files that are needed to actually run it.
Thus, require onetime.pak to be present (a required resource), which
will ignore directories that the demo installer has created
2022-07-04 10:17:32 +03:00
antoniou79 e442fa9731 TOON: Don't walk to flux when clicking on him
This is the behavior in the original game too
2022-06-28 19:42:28 +03:00
antoniou79 1380d40161 TOON: Don't display cutscene subtitles when text is OFF
Cutscene subtitles support is implemented but subtitles are still work in progress

I was able to test with subtitles provided by rzil (BLooperZ) in this PR:
https://github.com/scummvm/scummvm/pull/1887
2022-06-12 15:15:55 +02:00
antoniou79 8dec0798f5 TOON: Fix click on Play to resume resulting in Drew walking
If the player clicked and holded the left mouse button down on Play button, in-game Drew would walk to that spot
2022-06-12 15:15:55 +02:00
antoniou79 2db6be1038 TOON: Synch and persist game config with ConfMan properly 2022-06-12 15:15:55 +02:00
antoniou79 0a004da866 TOON: Fix comment mentioning up to 16 audio channel id 2022-06-12 15:15:55 +02:00
antoniou79 6e444fe3ff TOON: Adjust movie volume to max of other sound type volumes
The original game seems to do something similar to this
2022-06-12 15:15:55 +02:00
antoniou79 e8791aba9e TOON: Mute music now works in intro main menu
Pressing hotkey M now mutes the music as it should
2022-06-12 15:15:55 +02:00
antoniou79 41d4d4df3d TOON: Store textSpeed value and fix sound volume slider needle
The fix is for keeping the volume needle indicator at the same position upon resuming the Options Menu
2022-06-12 15:15:55 +02:00
antoniou79 cc89609e07 TOON: Do not allow disable speech and subtitles at the same time
The original deals with this by activating the subtitles (Font 1) when deactivating speech

The original also has the bug whereby on some edge cases (eg using the hotkeys to mute dialogue and disable text while in-game) both text and speech get disabled, which results in behavior like the actors are stuck doing nothing when examing an item or such. We fix this bug here.
2022-06-12 15:15:55 +02:00
antoniou79 d3ded0e6ec TOON: Handle hotkeys and related animations in menus 2022-06-12 15:15:55 +02:00
antoniou79 e70d636c50 TOON: Various fixes for Options and Main Menu
These bring them closer to the original behavior

Changes include:
- Proper sounds for buttons and switches
- Button clicking is effected in mouse down (not mouse up)
- A confirmation dialogue before quiting the game
- Button and slider animations in Options Menu (Main Menu has no button animations, just two frames)
- Reduced frequency of checking and updating a control's state
- (Demo) do not allow selection of middle Text option, which does not exist in Demo
- (Full Game) The text option dial now rotates towards the area clicked.
- Moving the mouse around while holding the left mouse button down affects at most one control (the selected one)
2022-06-12 15:15:55 +02:00
Cameron Cawley b852af46c2 VIDEO: Add generic support for Smacker videos with custom signatures 2022-06-05 21:30:06 +02:00
Donovan Watteau 5b1ec56f96 JANITORIAL: Fix some lost or outdated URLs in comments 2022-05-19 07:57:31 +03:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 3919f53326 ENGINES: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
Orgad Shaneh fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.

Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.

Amends 7adad5aaf5.
2021-10-24 16:46:06 +02:00
Coen Rampen 570482a075 TOON: Remove English demo unstable flag 2021-09-13 20:59:17 +02:00
Coen Rampen c786c75695 TOON: Implement sparkles on English demo options screen
This adds the random sparkle animation on the options screen of the English
demo.
2021-09-13 20:59:16 +02:00
Coen Rampen 389fe44dda TOON: Implement English demo font rendering
The English demo uses a different font format than the other versions of the
game. This implements text rendering using this format.
2021-09-13 20:59:16 +02:00
Coen Rampen f2185bfb35 TOON: Fix English demo options menu
The options menu of the English demo has less animations and no sound effects.
2021-09-13 20:59:16 +02:00
Coen Rampen aff1e60597 TOON: Fix English demo invalid additional Rif data
In the English demo a location (Wacme interior) has invalid additional Rif data
which causes an overflow of the Hotspots _items array. Disabling loading of the
data fixes this issue; the data does not seem to be necessary (the location
works fine without it).
2021-09-13 20:59:16 +02:00
Coen Rampen 01daf7d22b TOON: Fix English demo inventory
In the English demo you start with less items than the German demo.
2021-09-13 20:59:16 +02:00
Coen Rampen 8ac072c265 TOON: Fix array out of bounds access in killAmbientSFX
The channel on the data of an ambient SFX is set to -1 when it is removed, but
this was not checked in killAmbientSFX, causing an access to
_channels[0xFFFFFFFF]. Fixed this by adding the missing check.
2021-09-13 20:59:16 +02:00
Coen Rampen aff2f12440 TOON: Fix English demo Drew walking animation
The English demo has 3 frames for Drew's standing "animations" instead of 2.
2021-09-13 20:59:16 +02:00
Coen Rampen 7dd628083a TOON: Fix English demo Flux idle anmiations
The English demo only has part of Flux' idle animations; the others are blank
or do not exist (crashing the game).
2021-09-13 20:59:16 +02:00
Coen Rampen 8a17747ea3 TOON: Add English demo character animation table
The English demo uses a different character animation table than the other
versions of the game.
2021-09-13 20:59:16 +02:00
Coen Rampen 0bf7c87361 TOON: Restore demo flag for English demo 2021-09-05 23:16:52 +02:00
Coen Rampen e92cd24d82 TOON: Added some comments on demo differences 2021-09-02 22:17:18 +02:00
Coen Rampen 0905638e4a TOON: Mark English demo as unstable
There seem to be some differences in the data structures between the English
demo and the other versions of the game, which causes ScummVM to reference
invalid animations, hotspots and fonts. Marked it as unstable for now.
2021-09-02 22:17:18 +02:00
Coen Rampen 9e4ddd10c1 TOON: Add "Demo" to demo version descriptions 2021-08-30 22:33:05 +02:00
Coen Rampen 4425437ad2 TOON: Skip main menu for demo
The demo version of the game does not have a main menu; it immediately starts a
new game.
2021-08-30 22:33:05 +02:00
Coen Rampen 78b66ad14f TOON: Make Virgin logo movie optional for demo
Not all demo versions seem to include the Virgin logo movie, so skip playing it
if it does not exist.
2021-08-30 22:33:04 +02:00
Max Horn 2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
2021-08-05 00:01:46 +02:00
sluicebox 8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
ysj1173886760 7af3a3f84c ENGINES: introduce ADDectedGameExtraInfo to ADGameDetector, add extra info as parameter for fallback detect. 2021-06-13 14:15:45 +02:00
ysj1173886760 b50b2251a4 TOON: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Eugene Sandulenko 5e7fe2dc57 JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Eugene Sandulenko 4c06cbcf90 TOON: Fix flag setting in sys_Cmd_Play_Flux_Anim() 2021-03-28 03:34:27 +02:00
Eugene Sandulenko 4b24dce35f TOON: Implement sys_Cmd_Play_Flux_Anim()
This should fix #6867
2021-03-27 22:30:31 +01:00
Cameron Cawley 4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Eugene Sandulenko 7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Eugene Sandulenko 7ea6781043 PLUGINS: PLUGIN_TYPE_METAENGINE -> PLUGIN_TYPE_ENGINE_DETECTION 2020-10-11 23:12:32 +02:00
aryanrawlani28 d26bbe521c ENGINES: ALL: Finish renaming ME & AME classes
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00