Commit graph

254 commits

Author SHA1 Message Date
Filippos Karapetis
4760b533d1 GOB: Add version fallback from our detection tables - bug #14857
If the VERSION file is missing, we now provide a fallback. Version
files exist in gob3 and inca2, so this should cover all known cases
2024-11-18 20:17:55 +02:00
Benjamin Funke
d9fd34b4c3 GOB: JANITORIAL: fix just typo 2024-08-08 19:11:59 +03:00
Benjamin Funke
6b56a0d630 GOB: merge kGameTypeDynastyWood in kGameTypeDynasty case
Since kGameTypeDynastyWood and kGameTypeDynasty use all the same classes, we can merge them together. Look like as an example Playtoons/Bambou
2024-07-01 17:42:19 +03:00
Eugene Sandulenko
5dcdfd2600
GOB: Dual-license the gob engine under LGPL
The major contributors provided their consent:
DrMcCoy, Strangerke, sdelamarre, sev.

The goal is to allow the re-release of this code under
Switch, which is incompatible with pure GPL
2024-01-08 01:44:04 +01:00
Simon Delamarre
2022f871a2 GOB: Mark Adibou1 CD as 640x400 instead of 640x480
The game is mostly scaled from the 320x200 version and never makes use of the space beyond height 400, so we can get rid of it.
2023-08-17 06:51:51 +02:00
Simon Delamarre
b369beab94 GOB: adjust Adi2 game parts
Should be closer to Adibou1 than Adibou2/Adi4.
2023-05-06 00:01:31 +02:00
Simon Delamarre
c1913a29ac GOB: one Adibou1 version must be marked explicitly as using 16 colors
Exception to the usual rules based on platform and video mode, that would have classified it as 256 colors (see initVideo).
That version was previously abusively marked "EGA" as a workaround to this issue.
2023-05-03 23:59:35 +02:00
Simon Delamarre
de7e342970 GOB: remove game type kGameTypeAJWorld, duplicated with kGameTypeAdibou1
A.J.'s World of Discovery is the name of the US localization of Adibou 1.
The only file listed in SaveLoad_AJWorld ("menu.inf") has been moved to SaveLoad_Adibou1.
2023-04-29 12:17:53 +02:00
Simon Delamarre
830e6b9465 GOB: implement Adibou1 opcodes related to application selection
This makes possible to select and play "Read/Count 4-5 years" (aka L5, C5) and "Read/Count 6-7 years" (aka L6, C6) applications, by clicking on the door of Adibou's house.

Remove also related previous Adibou1 stubs in inter_v2.
2023-04-05 23:29:11 +02:00
Simon Delamarre
988d4882a2
GOB: fix a few cursor glitches in Adibou2
Try to mimic more closely what is done in the executable.

Fixes black squares sometimes blinking around the cursor (just after selecting the character, when hoovering seeds bags in the vegetable garden...), and fix a temporarily disappearing "waiting" cursor in some "change CD" screens.
2022-12-02 11:44:34 +01:00
Simon Delamarre
680077d92b
GOB: add save handler stubs for Adibou1
Remove a blocking "floppy disk error" screen on some versions.
2022-12-02 11:44:30 +01:00
Simon Delamarre
da2d5c731f
GOB: temp workaround to enable cake decoration in Adibou2
Rely on DRAW_PUTPIXEL with pattern OxFF ; only mock the variable update at the end for now.
+ use Draw_Playtoons for Adibou2
2022-12-02 11:44:26 +01:00
Simon Delamarre
24b6eeb0a0
GOB: Adibou2 characters animations 2022-12-02 11:44:24 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
8d91d66a15 GOB: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
trembyle
82ca7e7e32 GOB: Add detection for more demos
Ween demo has both interactive and non-interactive portions. The title
is Ween: The Prophecy, and so language code EN_GRB is used.
https://archive.org/details/TheProphecy_1020

Dynasty demo plays a single VMD from a small SCN file.
https://archive.org/details/dynasty_zip

Combined demo from CD-ROM Today # 11 (1995) plays the above Dynasty
demo followed by the already known Woodruff demo. In the spirit of the
combined demos in the SCUMM engine, we can create a new game ID.

All of the above play without issue in ScummVM.

Also added file sizes to some existing detection entries and added the
missing demo flags to the Inca2 and Woodruff demos.
2021-09-19 14:52:46 +02: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
ysj1173886760
3f74a19d81 GOB: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Eugene Sandulenko
fb837acee0 GOB: Fixes to Russian Bargon Attack 2020-10-17 16:41:26 +02:00
Eugene Sandulenko
bd52fc354b GOB: Fix for Russian Woodruff subtitles 2020-10-16 21:29:09 +02:00
Paul Gilbert
c99c187983 GOB: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
Bastien Bouclet
0ee30278fc GOB: Add override keywords 2020-02-09 12:43:15 +01:00
Colin Snover
6e157429b7 BACKENDS: Fix window sizing of games that switch between multiple resolutions 2017-10-07 12:30:29 -05: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
cf89cc04cc GOB: Move debug channel registration to the top of the engine constructor 2016-07-28 11:37:06 +03:00
Sven Hesse
aca13f7ba9 GOB: Work around broken resource sizes in Gobliiins EGA
The EGA version of Gobliiins, similar to Little Red Riding Hood,
claims a few resources are larger than they actually are. The original
happily reads past the resource structure, but we'll instead fix
the size of the resource after loading.

This fixes bug #7162.
2016-07-20 21:59:22 +02:00
Ori Avtalion
064df1ff27 GOB: Reduce audio header dependencies 2016-04-14 17:18:33 +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
Walter van Niftrik
e31da911c9 GOB: Implement custom AdLib volume control 2015-07-07 20:19:45 -04:00
Johannes Schickel
ea21bc939a GOB: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Sven Hesse
ca861961a9 GOB: Add a game type and detection table for Croustibat 2014-01-31 12:04:08 +01:00
Sven Hesse
4fc3a88c5f GOB: Add support for different methods of handling Endianness
The Once Upon A Time games handle endianness different in ANI, DEC
and RXY files than Geisha does. We need to support both approaches.
2012-07-30 01:44:42 +02:00
Sven Hesse
4819468d9a GOB: Add PreGob stubs for the Once Upon A Time games 2012-07-30 01:44:42 +02:00
Sven Hesse
099a76ea20 GOB: Don't crash when there's no _inter object 2012-07-30 01:24:18 +02:00
Sven Hesse
dd35e72a7e GOB: Return proper errors in GobEngine::run() 2012-07-30 01:24:17 +02:00
Sven Hesse
026ef70b87 GOB: Add a SaveLoad class for AJ's World
Only contains a temp sprite handler ("menu.inf") for now.
This fixes the graphical glitch after clicking on the cloud.
2012-06-16 15:23:31 +02:00
Sven Hesse
6d01b51755 GOB: Add a proper GameType for AJ's World 2012-06-16 15:08:10 +02:00
Sven Hesse
5961609a56 GOB: Add a resource size workaround for Little Red
This fixes the missing resources in the screen where Little Red
has to find the animals' homes for them.
2012-06-15 15:09:01 +02:00
Sven Hesse
f16cc050e9 GOB: Add class Inter_LittleRed
This fixes the crash when selecting an animal in the "Languages"
screen.

Interestingly, the German names of the animals are partially
wrong... And for "Das Schmetterling" (sic!), even the recorded
speech sample is wrong.
2012-06-15 01:14:49 +02:00
Sven Hesse
59b2a84552 GOB: Add a proper GameType for Little Red 2012-06-15 00:51:03 +02:00
Sven Hesse
2f7ae1109b GOB: Add a cheat debug command
- Cheat the Diving minigame to a win
- Get the mastermind solution
2012-01-29 00:10:11 +01:00
Sven Hesse
dfe9fc05aa GOB: Implement saving/loading for Geisha 2011-08-29 01:37:57 +02:00
Sven Hesse
e20b90543d GOB: Fix the Geisha cursor 2011-08-26 06:09:56 +02:00
Sven Hesse
24929c9990 GOB: Add inter_geisha.cpp and implement oGeisha_loadSound
Geisha's intro shows now (with glitches, palette animation fail?) and
the game is playable.
2011-08-26 04:10:46 +02:00
Max Horn
4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +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
dhewg
3eda4c16ac GOB: Init volume levels on startup 2011-03-19 16:04:52 +01:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00