Commit Graph

23 Commits

Author SHA1 Message Date
Colin Snover
d087c9605f BASE: Remove bad casts between incompatible Plugin types
Previously, a C-style cast was used to convert a
Common::Array<Plugin *>, populated with pointers to StaticPlugin
and DynamicPlugin instances, to a
Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a
*sibling* class to StaticPlugin/DynamicPlugin, so this cast was
invalid and the results undefined. The methods for retrieving
subclasses of plugins can't be easily changed to just generate an
array of temporary wrapper objects that expose an identical API
which dereferences to the preferred PluginObject subclass because
pointers to these objects are retained by other parts of ScummVM,
so the wrappers would needed to be persisted or they would need to
just re-expose the underlying Plugin object again. This indicated
that a way to solve this problem is to have the callers receive
Plugin objects and get the PluginObject from the Plugin by
explicitly stating their desired type, in a similar manner to
std::get(std::variant), so that the pattern used by this patch to
solve the problem.

Closes gh-1051.
2017-12-03 20:26:38 -06:00
Johannes Schickel
452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Max Horn
215b41b244 COMMON: Move RenderMode and GUIOptions functionality into separate files 2012-02-26 15:19:31 +01:00
athrxx
9f19bace44 COMMON: remove unnecessary commas 2012-02-21 21:48:34 +01:00
Johannes Schickel
3a196478c6 ALL: Reduce assignment of "" to Common::String.
When clearing an existant object clear() should be used.

When constructing objects (or using default values for parameters) the
constructor of String without any argument should be used.

This changes only a few instances I noticed while looking over some recent
commit logs.
2011-10-23 20:04:03 +02:00
Eugene Sandulenko
77c65648b1 AD: Swtich GUI options to a char array.
This eliminates nasty limitation of caping number of flags to 31.
Current code has limitation of 255 flags, though.

Only SCUMM engine is converted, rest do not even compile.
Detection of fan talkie MI is broken as it has to be implemented
differently.
2011-10-23 17:53:13 +01:00
Jordi Vilalta Prat
c72f31f5c8 I18N: Split some original messages to allow translation reusability. 2011-08-18 11:08:00 +02:00
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
athrxx
6c1e565db9 AUDIO: fix issue in detectDevice when config manager setting is missing 2011-07-04 08:32:20 +02:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Max Horn
bdad493f3f AUDIO: Remove dead code 2011-06-10 22:15:39 +02:00
athrxx
d6e23ac67b AUDIO: improved warnings in detectDevice()
Silent fallback would occur if the user expressly selected a formerly available audio device which now has become unavailable (switched off, disconnected, no longer compiled in, etc.). A warning dialogue will now be displayed, before the fallback takes place.
2011-06-07 18:28:28 +02:00
athrxx
40422441af AUDIO: some more text tweaks 2011-06-06 17:26:36 +02:00
Alyssa Milburn
4af3045188 I18N: Make MidiDriver detection errors translatable. 2011-06-06 12:44:28 +02:00
athrxx
506bd3c3a6 AUDIO: cleanup MidiDriver::detectDevice()
(wrong enum usage)
2011-06-06 01:15:59 +02:00
athrxx
8d23f692f2 AUDIO: replaced kDriverName in MidiDriver::detectDevice()
(This is irrelevant for the MT-32 emulator, but makes sense for plugins which really have more than one device)
2011-06-06 00:20:05 +02:00
athrxx
6d80255cec AUDIO: replace GUIErrorMessage()
GUIErrorMessage() shouldn't be used since it changes the window caption and resets the graphics mode.
2011-06-05 22:05:37 +02:00
athrxx
43075248aa AUDIO: fix device detection (missing rom files for MT-32 emu)
This is an attempt to fix the problem Max described in his devel mail.
The presence of the rom files will now be checked in detectDevice().
In case of failure there will be fallback attempts.
The user will get notified of the detection failure if he has expressly selected the device that failed.

Please test with your platform / engine (with or without rom files).
2011-06-05 18:29:13 +02:00
athrxx
d61dc2574b AUDIO: fix some typos in comments 2011-06-02 12:10:51 +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
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00