Commit Graph

526 Commits

Author SHA1 Message Date
D G Turner
9dcfe2c09e TEENAGENT: Fix GCC-9 -Wclass-memaccess Warning
This is another case of a warning from using memset to clear a non-trivial
data structure.
2019-12-10 03:52:20 +00:00
D G Turner
0b0c7145f2 TEENAGENT: Use Advanced Detector LISTEND Macro in Detection Entries 2019-12-04 04:35:17 +00:00
sluicebox
b8390fa161 GRAPHICS: Add interface for horizontal shake 2019-11-19 00:20:40 +01:00
D G Turner
e4a874c6b8 TEENAGENT: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-14 03:28:11 +00:00
Bastien Bouclet
9c8bd056d6 ENGINES: Stop using 'single id' 2019-11-03 11:43:00 +01:00
Bastien Bouclet
4b42112721 ENGINES: Add an engine ID to all the engines 2019-11-03 11:43:00 +01:00
Henrik "Henke37" Andersson
7b09d4a4d9 TEENAGENT: This game uses PAULA audio, not MIDI. Mark it as such. 2019-09-29 19:34:16 +03:00
Cameron Cawley
837ac7e7ec TEENAGENT: Add debug commands to play voices and sound effects 2019-08-02 00:08:58 +01:00
Cameron Cawley
c7307774ba TEENAGENT: Add the music directory to the search path
Needed by the GOG CD version.
2019-08-01 23:56:37 +01:00
Adrian Frühwirth
00e59a3122 ALL: Load savegame thumbnail only when necessary
This commit introduces the following changes:

1. Graphics::loadThumbnail()

   Now returns a boolean and takes a new argument skipThumbnail which
   defaults to false. In case of true, loadThumbnail() reads past the
   thumbnail data in the input stream instead of actually loading the
   thumbnail. This simplifies savegame handling where, up until now,
   many engines always read the whole savegame metadata (including
   the thumbnail) and then threw away the thumbnail when not needed
   (which is in almost all cases, the most common exception being
   MetaEngine::querySaveMetaInfos() which is responsible for loading
   savegame metadata for displaying it in the GUI launcher.

2. readSavegameHeader()

   Engines which already implement such a method (name varies) now take
   a new argument skipThumbnail (default: true) which is passed
   through to loadThumbnail(). This means that the default case for
   readSavegameHeader() is now _not_ loading the thumbnail from a
   savegame and just reading past it. In those cases, e.g.
   querySaveMetaInfos(), where we actually are interested in loading
   the thumbnail readSavegameHeader() needs to explicitely be called
   with skipThumbnail == false.

   Engines whose readSavegameHeader() (name varies) already takes an
   argument loadThumbnail have been adapted to have a similar
   prototype and semantics.
   I.e. readSaveHeader(in, loadThumbnail, header) now is
   readSaveHeader(in, header, skipThumbnail).

3. Error handling

   Engines which previously did not check the return value of
   readSavegameHeader() (name varies) now do so ensuring that possibly
   broken savegames (be it a broken thumbnail or something else) don't
   make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +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
fcad0fe307 TEENAGENT: Fix fall through case statements 2017-08-11 21:30:13 +02:00
Ben Castricum
ebaab44cd1 ALL: Leave out instructions for engine data issues 2016-12-08 13:38:56 +01:00
Ben Castricum
55512414dd ALL: Change instructions for engine data file issues
The engine data files should be included in the package, so downloading
may not be the best suggestion. Instead refer to the README.
2016-12-06 14:16:37 +01:00
Ben Castricum
e1ec91b69a ALL: Unify 'missing engine data' message 2016-12-05 21:04:50 +01: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
Eugene Sandulenko
8cf10f0a5a TEENAGENT: Proper initialization for Object structure. 2016-05-03 20:13:08 +02:00
Eugene Sandulenko
0ec2acba20 TEENAGENT: Renames and cleanup 2016-05-03 12:41:36 +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
e9441aa809 TEENAGENT: Ensure openCD() is called 2016-03-13 13:53:14 +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
Johannes Schickel
525e5edd30 TEENAGENT: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
73286d94c1 TEENAGENT: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Strangerke
701f7d5707 TEENAGENT: Remove dead code: s cannot be null at this point 2014-06-07 09:48:53 +02: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
Strangerke
9c82cf4844 TEENAGENT: Some British to American English 2014-02-19 21:45:26 +01:00
Johannes Schickel
47b6111033 TEENAGENT: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel
859536dd3a TEENAGENT: Indent REGISTER_PLUGIN_* for consistency. 2014-02-17 23:02:38 +01:00
D G Turner
4df249b9ce TEENAGENT: Fix two more missing callbacks.
This fixes bug #6494 "TEENAGENT: Yet another unimplemented callback".
2014-01-13 03:26:43 +00:00
D G Turner
570379bc54 TEENAGENT: Fix missing callback for examining first haystack.
This fixes bug #6492 "TEENAGENT: Engine abort when using hay."
2014-01-10 23:51:44 +00:00
D G Turner
11b320a6ee TEENAGENT: Add missing getDebugger() for engine API. 2013-12-07 01:32:53 +00: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
378387c903 I18N: Move specification of engine specific files to enginedir/POTFILES.
This allows to keep the engines to specfiy the files for translation close to
the engine sources itself.

Thanks to criezy for his suggestion on this approach.
2013-08-12 17:54:31 +02:00
Johannes Schickel
4ddace8a7a TEENAGENT: Take advantage of Surface::getPixels. 2013-08-03 04:02:52 +02:00
Johannes Schickel
509f96dff3 TEENAGENT: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:34 +02:00
Torbjörn Andersson
71ed35502e TEENAGENT: Add missing "break"s to switch cases
I think this is the correct thing to do, and that it won't have
any noticeable effect whatsoever.

Cases 29 and 30 happen in the first half of the game, in the
cantine, while case 42 happens in the second half of the game. By
the time you reach the point where case 42 does something, I don't
think it's possible to get back to cases 29 and 30, so when case
29 falls through neither 30 nor 42 will do anything.

CID 1003730, 1003731
2013-07-19 20:49:15 +02:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
D G Turner
80af0e2394 TEENAGENT: Convert Dialog text color symbols to an enum. 2012-10-10 14:43:19 +01:00
D G Turner
115593a6c1 TEENAGENT: Convert Inventory item ids to an enum. 2012-10-10 14:42:21 +01:00
D G Turner
c92ff8db33 TEENAGENT: Fix constant naming to comply with Coding Conventions.
Adding missing CamelCase k-prefixes.
2012-10-09 09:14:44 +01:00
D G Turner
e8f9c61065 TEENAGENT: Modify callback comment into readable FIXME. 2012-10-02 05:08:33 +01:00
D G Turner
30dfaa7c34 TEENAGENT: Cleanup TeenagentEngine class.
This removes the underscores in various variables as per project
coding standard.
2012-09-26 02:15:25 +01:00
D G Turner
5d1143a9e0 TEENAGENT: Cleanup Surface class.
This removes the underscores in various variables as per project coding
standard.
2012-09-24 16:10:06 +01:00