Commit Graph
319 Commits
Author SHA1 Message Date
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
Willem Jan Palenstijn dde259f068 COMMON: Remove BitStream base class to allow inlining calls
All users of BitStream were in fact using a specific, hardcoded variant,
so we can hardcode that variant, removing the need for virtual calls,
and enabling inlining.
2017-08-24 19:46:59 +02:00
Eugene Sandulenko dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +02:00
Eugene Sandulenko fa07121155 GROOVIE: Move debug channel registration to the top of the engine constructor 2016-07-28 11:38:05 +03:00
Eugene Sandulenko 829e62a9fe GROOVIE: Clean initialization for few classes 2016-05-28 15:26:31 +02:00
Eugene Sandulenko 33abb6118f ALL: Change main engine header guard defines to <directory>_<engine>_H
Recently we started to use this as new semantics, although in the past
we used simly <engine>_H. Now these guard defines are consistent with
rest of the files which are used in the engines.
2016-05-17 18:21:30 +02: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
Johannes Schickel 0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Eugene Sandulenko 23d74fddb4 CONFIGURE: Introduced new engine dependency: highres
Some backends like GCW0 do no support graphics >320x240 due to
the hardware limitation (downscaling is possible but it will ruin
the pixel hunting which is often part of the gameplay).

Instead of manually updating the list of engines, we now introduce
a new dependency.

I marked all relevant engines, but some, like tinsel, require more
work with putting their relevant high-res games under USE_HIGHRES
define.
2016-03-05 14:25:56 +01:00
Alexandre Detiste 6c298e964f JANITORIAL: Typos detected with lintian & grep 2016-02-15 18:27:02 +01:00
Matthew Hoops 030e4d0608 AUDIO: Make Rewindable- and SeekableAudioStream inherit virtually 2015-08-30 19:53:53 -04:00
Martin Kiewitz bf180101a6 GROOVIE: add support for TIMB chunk
also fix MT32 instrument filename (which was "fatFAT.MT" by accident)
2015-06-30 16:11:26 +02:00
Matthew Hoops 30de61dcce GROOVIE: Silence a gcc warning 2015-06-28 20:05:24 -04:00
Martin Kiewitz 7ecf553e24 GROOVIE: add support for Miles Audio MIDI driver
- currently optional, to enable set milesAudioEnabled to true
2015-06-28 01:16:43 +02:00
Filippos Karapetis 9f2c3d794e GROOVIE: Do not play audio in V2 games when only one frame is shown 2014-11-07 12:11:33 +02:00
Filippos Karapetis 028238ed54 GROOVIE: Handle transparency in Gamepad videos in the 11th Hour 2014-11-04 12:57:58 +02:00
Filippos Karapetis c9a60233d5 GROOVIE: More bugfixes for V2 puzzle overlay videos 2014-11-04 12:40:08 +02:00
Filippos Karapetis d8e650b4cb GROOVIE: Handle flag 2 for V2 games (show a whole overlay video) 2014-11-04 11:52:09 +02:00
Filippos Karapetis 70fe89b92d GROOVIE: More work on transparency in the puzzle scenes for V2 games
This fixes most of the transparency issues in the puzzle screens.
They are still not correct, as the relevant videos play completely,
instead of showing a single frame. This also fixes issues with commit
2d42ab8
2014-11-04 11:51:13 +02:00
Filippos Karapetis 2d42ab88b7 GROOVIE: Fix video transparency in V2 games 2014-11-03 12:41:37 +02:00
Filippos Karapetis 35577ab71e GROOVIE: Initial implementation of direct game load for the 11th Hour 2014-11-03 11:40:38 +02:00
Filippos Karapetis 5dc03107fd GROOVIE: Add a stub for opcode 42 in V2 games
This was o_cellmove in T7G (the Microscope puzzle)
2014-11-03 11:40:38 +02:00
Filippos Karapetis a82740516c GROOVIE: Implement o2_copyscreentobg and o2_copybgtoscreen 2014-11-03 11:40:38 +02:00
Filippos Karapetis 9d6437c01e GROOVIE: Add initial full screen functionality for V2 games 2014-11-03 11:40:37 +02:00
Filippos Karapetis f733498388 GROOVIE: Finish implementation of o_hotspot_outrect
This is needed by the main menu in the 11th Hour
2014-11-03 11:40:36 +02:00
D G Turner 025556d9a5 GROOVIE: Use debugC() and debugCN() functions directly in script debug.
This removes the debugScript() wrapper, which can now be implemented
directly using the relevant debug function. This avoids the variadic
debug functions being wrapped in a second layer of variadic function
which is probably causing a significant overhead.
2014-06-05 03:32:55 +01:00
D G Turner d8751516cc GROOVIE: Remove engine-specific "all" debugflag. Minor naming cleanup.
This is now uneeded as the GUI debugger superclass implements the same
functionality and this removes a bunch of complexity from the Groovie
engine debug calls. Also, removed groovie prefix from the debug flag
naming as unecessary as these are within the Groovie namespace.
2014-06-05 03:01:12 +01:00
D G Turner 86b3a075d4 GROOVIE: Add sanity checks and range limits to copyRect opcode param.
This prevents segfault crashes in "The 11th Hour" when you open the
Gamebook palmtop from the top of the screen. The opcode needs some
work on the changes from 7th Guest, but this will prevent crashes
while this is being worked on.
2014-06-02 22:09:53 +01:00
Matthew Hoops 98dbb8070b GROOVIE: Only compile ROQ when groovie2 is enabled 2014-06-02 06:44:53 -04:00
Matthew Hoops 3c287aad18 GROOVIE: Switch to 32bpp only in groovie2
Needed for alpha
2014-06-01 22:08:28 -04:00
Matthew Hoops c0a172bc71 GROOVIE: Fix various roq glitches
They should now all decode correctly
2014-06-01 22:08:28 -04:00
Matthew Hoops 3638f1191c GROOVIE: Switch roq decoding to do YUV decoding on codebook load 2014-06-01 22:08:28 -04:00
Matthew Hoops 5d4fd2e154 GROOVIE: Remove groovie2 8bpp mode
It didn't work properly, it's not what the original did, and spooky mode needs to be implemented completely differently
2014-06-01 22:08:28 -04:00
Johannes Schickel ae4ffe01f0 ALL: Rename Debugger::DCmd_Register to Debugger::registerCmd. 2014-05-27 02:04:08 +02:00
Johannes Schickel daa8d57a86 ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
Max Horn 4d02f67bd1 ALL: Resolve multiple clang warnings 2014-03-30 14:38:02 +02:00
Strangerke 72a548c8bc GROOVIE: Remove two useless variables 2014-03-09 22:12:52 +01:00
Matthew Hoops 740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel 8f55aed475 GROOVIE: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Johannes Schickel 0e017f007a Merge pull request #375 from digitall/engineAutoPlug
RFC: Pluggable Engines #2 (No Python, just evolution of current configure shell and make code)
2013-11-26 02:27:11 -08:00
D G Turner ef85456859 BUILD: Remove need for engine.mk in each engine directory.
Each engine now only has to provide a single configure.engine file
adding the engine into the configure script, which then produces the
required other files automatically.
2013-11-24 00:48:01 +00:00
D G Turner 1ac01d2333 BUILD: Remove need for engine-plugin.h in engines.
This is now generated automatically by the configure script from the
engine directory names.
2013-11-24 00:48:01 +00:00
D G Turner 00c27a28f9 BUILD: Split engines/plugins_table header down to a file per engine.
This is the third and final commit enabling fully pluggable engines.

Now providing an engine folder contains a configure.engine, engine.mk
and engine-plugin.h file, it will be picked up automatically by the
configure script.
2013-11-24 00:48:01 +00:00
D G Turner d77cf95a18 BUILD: Split engines.mk down to a single file per engine.
This is the second part of allowing engines to be added dynamically.
Each folder in engines/ which must contain a file named "engine.mk"
containing the make definitions for that engine.
2013-11-24 00:48:01 +00:00
D G Turner aa947c9474 BUILD: Split configure.engines down to a single file per engine.
This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
2013-11-24 00:45:38 +00:00
Johannes Schickel afa3f50b8a GRAPHICS: Let Font take uint32 as character codes.
This is required to support UTF-32 strings but does not make them work
automatically!
2013-11-23 21:34:54 +01:00
Matthew Hoops b882939141 GROOVIE: Fix ROQ JPEG decoding 2013-09-16 20:56:59 -04:00