Commit graph

114 commits

Author SHA1 Message Date
Eugene Sandulenko
fb7095f5a4
COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Die4Ever
cdb33c9d19
GROOVIE: fix autosave for demos 2022-02-16 14:49:37 -06:00
Die4Ever
970d1b987c
GROOVIE: Clan fix bricks puzzle graphics 2022-02-14 16:04:42 -06:00
Die4Ever
dcda662540
GROOVIE: debug logging for logic puzzles 2022-01-23 00:03:42 -06:00
Die4Ever
640d5a730a
GROOVIE: adjust script timer ticks
ScummVM 2.5.1 was 200ms per tick, I feel like 1000ms per tick is too slow but 200ms is too fast. This makes the biggest difference in T7G puzzles like the cake and knights.

Official releases differ and are not consistent. For example, Clandestiny on iOS uses a timer based on the OS suggested audio buffer size. Windows 95 T7G runs the timer incredibly fast, all of the queens dialog will play before you can even click anything.
2022-01-11 02:26:01 -06:00
Die4Ever
8cd1755a91
GROOVIE: debugging possible savegame bug 2022-01-04 20:40:34 -06:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Coen Rampen
9bcda8ee1b GROOVIE: Fix intro music and move autosave slot
This commit fixes problems with commit acad766 which disabled the open house
savegame in The 7th Guest and The 11th Hour. These games use slot 0 to write a
special savegame when the game has been completed. This conflicts with ScummVM
autosave functionality, which also uses slot 0 by default. To fix this, the
autosave slot has been moved to slot 24, the last available save slot. The
workaround from commit acad766 for saving in slot 0 has been removed.
The intro music is now fixed by checking for a load of slot 0 and not stopping
the music in this case.
2021-11-19 21:06:43 +01:00
Orgad Shaneh
0909948281 GROOVIE: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Filippos Karapetis
8cf46e2f7f GROOVIE: Restructure game-specific logic code and video code 2021-09-16 09:25:47 +03:00
Filippos Karapetis
8f3d07b05e GROOVIE: Initial work on UHP. 7/13 mini-tames are currently functional
From the 12+1 mini-games:
- Crypts (T7G) works
- Cake (T7G) works
- Spiders (T7G) works
- High Lights (T7G) works
- Blood and Honey / beehive (11H) misses game logic
- The Amazing Labyrinth / mousetrap (11H) misses game logic
- Book Checkers (11H) works
- SwitchBoard (11H) works
- Cursed Coins (Clan) misses game logic
- Trade Winds (Clan) crashes with missing resources
- Statue Paths (Clan) crashes with missing resources
- Leap Frogs (Clan) works
- The final puzzle is not accessible yet
2021-09-16 00:07:40 +03:00
Die4Ever
9b490a0864 GROOVIE: unset _waitingForInput and cleanup
Unset _waitingForInput to make the game more responsive. Also some cleanup of old commented out code.
2021-09-15 19:13:57 +03:00
Die4Ever
b09a330921 GROOVIE: tweak _waitingForInput loop
fixes the end of The 11th Hour where there's supposed to be a timeout but it didn't actually trigger until you moved the mouse

also the script timer has been further slowed down to 1000ms because that appears to be what T7G uses, both from looking at the exe and also from observing the game
2021-09-15 19:13:57 +03:00
Die4Ever
f6c50c7238 GROOVIE: updates to detection and adding demos 2021-09-15 19:13:57 +03:00
Die4Ever
5d4303566b GROOVIE: tweak script timer 2021-09-15 19:13:57 +03:00
Die4Ever
328a47dffa GROOVIE: improve cursor/fades fps
Improves the fps of mouse cursor movements without messing up the animation speed of the cursors. Also improves the fps of fade ins and fade outs.
2021-09-15 19:13:57 +03:00
Die4Ever
70386000b6 GROOVIE: detection updates and cleanup
added The 11th Hour demos and mac versions
2021-09-15 19:13:57 +03:00
Die4Ever
f3337a4cd2 GROOVIE: cleanup detection.cpp
cleaning up detection.cpp by removing all references to the disk.1 file and using AD_ENTRY2s

for Groovie v2 games, make sure to search for a file in the GROOVIE folder and also a file in the MEDIA folder, in order to ensure the user is adding the root game directory and not a subfolder, this also ensures that Mass Add Games works correctly without broken duplicates

also improved the error message in resource.cpp for when a file from a different disk is not found
2021-09-15 19:13:57 +03:00
Die4Ever
cfd928f296 GROOVIE: cleanup signed/unsigned compiler warnings 2021-09-15 19:13:57 +03:00
Die4Ever
a72ac69b4e GROOVIE: right click to fast forward
For videos that don't have a _videoSkipAddress this allows you to fast forward through them. Also allows you to skip audio files like in T11H the riddles and hints.
2021-09-15 19:13:57 +03:00
Die4Ever
038758a7f2 GROOVIE: Clandestiny music
Clandestiny uses a hardcoded lookup table for song filenames
2021-09-15 19:13:57 +03:00
Die4Ever
8da84fdda9 GROOVIE: added background sound effects
For The 11th Hour, this means things like clock chimes and wind sounds. This also fixes the end of the game where you have until the clock chimes 12 to choose a door.

- also renamed the stub ops functions

- sound effect volume setting for Groovie 2 games

- stop sound effects when playing an FMV (an interlaced video)
2021-09-15 19:13:57 +03:00
Die4Ever
87e98d1e86 GROOVIE: stubs for T11H AI puzzles
This is enough to get through the whole game, although you have to use the GameBook to solve mouse trap, chapel, and cake. Modern art has rudimentary AI. Beehive and Pente both auto-solve. Updated o2_stub49 so the player can choose an ending.
2021-09-15 19:13:57 +03:00
Die4Ever
c7e4c851f6 GROOVIE: some cleanup 2021-09-15 19:13:57 +03:00
Die4Ever
7e53331044 GROOVIE: Codacy and formatting 2021-09-15 19:13:57 +03:00
Die4Ever
7465118de6 GROOVIE: fix T7G regression with intro and outro songs (track2.ogg) 2021-09-15 19:13:57 +03:00
Die4Ever
21449e3e5a GROOVIE: fix duplicated debug channels 2021-09-15 19:13:57 +03:00
Christian Lindemann
6525123663 GROOVIE: TLC Music / Small Bugfixes / Better Comments 2021-09-15 19:13:57 +03:00
Christian Lindemann
1a006ea3e3 GROOVIE: Add support for TLC 2021-09-15 19:13:57 +03:00
Christian Lindemann
1e2c395d12 GROOVIE: Add printfunction opcode for V2 engine 2021-09-15 19:13:57 +03:00
Christian Lindemann
b5e62ffdaf GROOVIE: Update game detection. Add TLC-DE and engine can differ between each game 2021-09-15 19:13:57 +03:00
antoniou79
04642eef8a ENGINES: Replace checkCD with isolated partial methods
This is PR #3018 "rebased" on the current HEAD, after the conflicts with PR #3003 and me botching the rebase in that PR

Old PR is here: https://github.com/scummvm/scummvm/pull/3018
2021-07-27 20:51:57 +02:00
Coen Rampen
b68b31422b GROOVIE: Fix AdLib emulator volume affected by speech volume
This changes the audio mixer sound type used for movie audio from plain to
speech. The engine would apply speech volume to the plain sound type, but this
sound type is also used by the AdLib emulator. Volume control of the movie and
AdLib emulator audio is now independent.
2021-07-13 22:11:58 +02:00
ysj1173886760
2bb220f545 GROOVIE: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Cameron Cawley
d1d305d1b9
GRIM/GROOVIE: Move StuffIt archive code to Common (#2509) 2020-10-11 22:01:00 +02:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28
509fd69827 GROOVIE: Solve missing header dependencies. 2020-10-03 14:56:36 +02:00
NMIError
5da83d8ea0 GROOVIE: Pause music when ScummVM menu is open
The MIDI music would keep playing while the ScummVM menu was open. This would
cause the music for cutscenes to go out of sync. I've added pausing to the
MusicPlayerMidi to fix this.
2020-07-25 00:35:47 +02:00
mataniko
581a6ec7d6 JANITORIAL: Rename kSupportsRTL to kSupportsReturnToLauncher 2020-05-12 10:36:38 +02:00
Paul Gilbert
a00e44ba6c ENGINES: Merge saveGameState virtual methods into a single one 2020-02-16 15:44:28 -08:00
Paul Gilbert
be402cfac9 GROOVIE: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
D G Turner
9ac4df52a1 GROOVIE: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-19 19:53:15 +01:00
Scott Thomas
75c6f2fd60 GROOVIE: Fix GMM loads, block saves in a puzzle
Loading and returning from subscripts alters the _variables
used, thus are not guaranteed to create a valid save state.
Loading a save should be valid at any time, as long as the
active script being run is restored to the base game script.
2018-11-03 15:15:32 +00:00
David Fioramonti
de1a35a9d9 GROOVIE: Allow saving via GMM and increase save slots to 25
If the user enters in an invalid description for the save then it will be
simplified by the saved name cache process in Script::savegame.

I checked this with t7g, but not with the 11th guest or any other Groovie game.

The original in-game loading/saving can still only access the first 10 save
slots (0-9).

Its possible to saving via the GMM when the game is interactive.

Loading a game saved via the gui using the original in-game load menu
works fine.

Saving via the GMM with timestamp works, but only only saves the characters
up to the first non-alpha non-letter characer.
2018-08-03 14:53:43 +02:00
Colin Snover
432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Eugene Sandulenko
fa07121155 GROOVIE: Move debug channel registration to the top of the engine constructor 2016-07-28 11:38:05 +03:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Matthew Hoops
aa6ff44440 BACKENDS: Only expose one set of functions for AudioCDManager
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
2016-03-13 13:57:19 +01:00
Matthew Hoops
fb6fe1332a BACKENDS: Move to an openCD() without parameters as the public API 2016-03-13 13:52:24 +01:00