Commit Graph

316 Commits

Author SHA1 Message Date
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
Johannes Schickel
46a69c89f4 Merge pull request #376 from lordhoto/libjpeg
GRAPHICS: Implement JPEGDecoder based on libjpeg.
2013-09-16 17:10:57 -07:00
Johannes Schickel
4809294b43 GRAPHICS: Make JPEGDecoder request RGB output from libjpeg by default.
This fixes loading of JPEG files which contain RGB color space instead of YUV.
It is a pretty odd extension of JPEG files by Adobe which is indicated by this:
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/JPEG.html#Adobe

To still support Groovie's need for YUV data I added some possibility to
request direct YUV output.
2013-09-16 19:54:19 +02:00
Johannes Schickel
ac66cc9219 GRAPHICS: Implement JPEGDecoder based on libjpeg. 2013-09-16 15:55:36 +02:00