Commit Graph

871 Commits

Author SHA1 Message Date
Tarek Soliman
3f6d549b0e KEYMAPPER: Move F7 and F8 handling to DefaultEventMapper 2012-02-20 06:49:22 -06:00
Max Horn
658080deed ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
2012-02-15 16:51:37 +01:00
Tarek Soliman
5cf932198e KEYMAPPER: Fix Action ctor args in most keymaps 2012-02-13 23:24:59 -06:00
Tarek Soliman
705761011d KEYMAPPER: Allow ports to define their own global keymap 2012-02-12 13:28:13 -06:00
Johannes Schickel
1adc7f0bdd BASE: Remove unneeded code in PluginManagerUncached.
Thanks to Yotam for confirming that this isn't needed anymore.
2012-02-10 01:45:16 +01:00
Tarek Soliman
da4b03139d KEYMAPPER: Added Toggle FullScreen action 2012-02-04 19:53:57 -06:00
Tarek Soliman
a488556dcd KEYMAPPER: Handle EVENT_MAINMENU directly 2012-02-02 19:10:01 -06:00
Alyssa Milburn
31d1ae6530 Revert "BASE: Get rid of unecessary friend in PluginManagerUncached."
This reverts commit 1e0de79cf5.
The only available constructor for PluginManagerUncached is
protected, so this broke the builds using it.
2012-02-01 21:54:40 +01:00
Johannes Schickel
1e0de79cf5 BASE: Get rid of unecessary friend in PluginManagerUncached. 2012-02-01 19:38:27 +01:00
Johannes Schickel
843b9f9665 GRAPHICS: Add a TTF font class using FreeType2. 2012-01-29 16:26:20 +01:00
Tarek Soliman
d143872be6 KEYMAPPER: Constantify global keymap name 2012-01-07 21:20:29 -06:00
Tarek Soliman
40b68b41c7 KEYMAPPER: Make engine keymap init and cleanup more generic 2011-12-30 12:36:11 -06:00
Johannes Schickel
debd94fbaa BASE: Implement a command to list all available audio devices on the shell. 2011-11-23 17:01:04 +01:00
Alex Bevilacqua
4c60382604 TOLTECS: integrate engine 2011-11-20 22:43:12 +01:00
Paul Gilbert
b0611f3189 M4: Removed the M4/MADS engine from trunk 2011-11-20 12:14:10 +11:00
Tarek Soliman
b708d6de79 Revert "KEYMAPPER: Make global keymap that is always active"
This reverts commit ac85d134b3.
2011-11-02 10:16:16 -05:00
Tarek Soliman
ac85d134b3 KEYMAPPER: Make global keymap that is always active
Keymapper now has a global keymap outside the active keymap stack.
That global keymap is always checked after the active stack has been checked.
2011-10-27 10:46:22 -05:00
Tarek Soliman
a69340bd59 BASE: Make global keymap inherit 2011-10-27 10:46:22 -05:00
Eugene Sandulenko
2c73500842 RELEASE: This is 1.5.0git 2011-10-20 12:39:29 +01:00
Johannes Schickel
8d0a88e7f4 BASE: Slight cleanup. 2011-10-06 00:29:22 +02:00
Johannes Schickel
880594eb76 BASE: Add another whitespace before "Starting $gamedescription".
This was removed by accident in 59739a7a0e.
2011-10-06 00:29:22 +02:00
Alyssa Milburn
84063dc972 Merge remote-tracking branch 'origin/master' into soltys_wip2 2011-08-22 20:03:05 +02:00
Sven Hesse
4da83afa5a BASE: Fix indentation 2011-08-22 09:48:42 +02:00
Chris Warren-Smith
8a2243ff36 BADA: Remove BADA defined check. Was a temp fix for simulator build 2011-08-21 16:39:08 +10:00
Chris Warren-Smith
1370e65de9 BADA: For some unknown reason the format string "%s\n" causes a core-dump 2011-08-21 16:39:00 +10:00
Chris Warren-Smith
59739a7a0e BADA: Initial BADA port implementation 2011-08-21 16:37:06 +10:00
Johannes Schickel
14c8df76ea BASE: Remove leftover include for testing. 2011-08-19 01:08:29 +02:00
Bertrand Augereau
ff98725172 COMMON: intLog2 uses _BitScanReverse on MSVC 2011-08-19 01:05:37 +02:00
eriktorbjorn
a6e638de6e MAIN: Avoid adding the same extra path twice
This doesn't make any practical difference, since the search
manager already guards against duplicate paths, but it does get rid
of a slightly confusing warning message when you have a global
extra path configured.
2011-08-14 11:01:10 +02:00
Eugene Sandulenko
a4029a8e94 RECORDER: Restore event recorder functionality.
It was badly broken after refactoring into EventObserver.

Fitst, deinit() method was never called which lead to bad record
files. Then, the concept of counting pollEvent() calls was ignored.

Introduced dispatchPoll() method of EventObserver which is implemented
in EventRecorder. It counts calls so is able to inject events at
more proper time.

Additionally now event times are recorded.
2011-08-08 20:01:07 +01:00
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Alyssa Milburn
40a6c232e9 COMPOSER: Add a first attempt at an engine. 2011-07-14 20:08:06 +02:00
Alyssa Milburn
66e81d633f Merge remote-tracking branch 'origin/master' into soltys_wip2 2011-07-07 09:24:10 +02:00
athrxx
19fd9c066c AUDIO: add registerDefault for music_driver 2011-07-04 17:19:22 +02:00
Johannes Schickel
09501be85b ENGINES: Clean up SaveStateDescriptor.
Now SaveStateDescriptor no longer subclasses HashMap. Instead all possible
saved meta data is included directly into SaveStateDescriptor.

This is slightly less flexible, but we never needed that flexibility so far.
On the other hand it should reduce the memory usage. At least on my system
(Linux/amd64) the old SaveStateDescriptor had a size of 928 and the new
SaveStateDescriptor has a size of 200.
2011-07-02 21:07:55 +02:00
Ori Avtalion
aa0f307e06 ALL: Require DECLARE_SINGLETON to be used in the Common namepsace
Silences the clang warning:

  static data member specialization of '_singleton' must
  originally be declared in namespace 'Common'; accepted as a C++0x
  extension [-Wc++0x-extensions]

Wrapping "namespace Common {}" around the macro assignment causes clang
to complain about a spurious semicolon, and removing the semicolon at
the end of the macro causes some editors to misbehave.

Changing the requirement of using the macro in one namespace (the
global) to another (Common) seems a small price to pay to
silence a warning.
2011-06-30 22:41:41 +03:00
Travis Howell
eae06884b6 WIN32: Add option to disable the console window, keeping the current default of enabling the console window. 2011-06-30 11:17:58 +10:00
Strangerke
b0c9c9122f Merge branch 'master' of github.com:scummvm/scummvm into soltys_wip2 2011-06-29 16:15:41 +02:00
Alyssa Milburn
1b6453dff4 BASE: Mess with strtol error handling some more.
WinCE's strtol can't actually do proper error handling because it is
lacking errno, so just check the bounds instead. If you really have
some need to pass LONG_MIN/LONG_MAX as command-line parameters then
it could always be #ifdeffed, but I'm assuming no-one cares.
2011-06-24 19:07:03 +02:00
Christoph Mallon
52ebc0da38 BASE: Correct usage of strtol().
- endptr needs not be initialised before calling strtol(), it is always set by strtol().
- endptr is never a null pointer after calling strtol().
- There is no need to rely on strtol() setting EINVAL (which is not guaranteed).
  Testing whether strtol() parsed till the end of the string is sufficient (it is guaranteed that the string is not empty at this point).
- It is sufficient to just test for ERANGE without inspecting the return value, because a successful call to strtol() does not change errno.

Signed-off-by: Alyssa Milburn <fuzzie@fuzzie.org>
2011-06-23 17:17:11 +02:00
Littleboy
b694a78f62 ANALYSIS: Add static casts to is* functions
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
Alyssa Milburn
92f4b7c611 BASE: Fix build, and error handling in DO_OPTION_INT.
This fixes the logic of 979fc29b (I hope) and includes some missing
headers.
2011-06-23 10:28:43 +02:00
Julien
979fc29be6 BASE: Check return value from strtol in DO_OPTION_INT macro 2011-06-23 15:11:36 +08: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
Tarek Soliman
4d0bba314d ENGINES: Warn user about games marked with ADGF_UNSTABLE flags
ADGF_UNSTABLE is always warned about.
ADGF_TESTING is only warned about when running
configure with --enable-relase.

Both warnings are subject to the enable_wip_game_warning
config option.
2011-06-16 13:37:13 -05:00
Tarek Soliman
71759eab53 BASE: add TAINTED feature to gScummVMFeatures
When configure enables a WIP/unstable engine, the about box and
scummvm --version will now display TAINTED in the
"features compiled in" list
2011-06-16 10:17:19 -05:00
Vladimir
52a89174ab DREAMWEB: added autogenerated source 2011-06-15 17:29:05 +02:00
Strangerke
c545ebd0d5 CGE: Add minimal engine and detection 2011-09-10 17:50:47 +02:00
clone2727
49a8f7675f Merge pull request #20 from scott-t/t7g-ios
T7G iOS support
2011-06-01 07:04:05 -07:00
Max Horn
a4610df482 Merge branch 'branch-1-3-0' into master
I manually resolved all conflicts, and inspected every single change.
Many were due to the version string mismatch and thus easily resolved.
The MSVC project files add in the 1-3-0 branch were not merged,
neither where the changes to gui/themes/translations.dat.

Conflicts:
	NEWS
	backends/base-backend.cpp
	backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
	backends/module.mk
	backends/platform/ds/arm9/makefile
	backends/platform/psp/README.PSP
	backends/platform/samsungtv/main.cpp
	backends/platform/samsungtv/samsungtv.cpp
	backends/saves/posix/posix-saves.cpp
	base/commandLine.cpp
	base/internal_version.h
	base/main.cpp
	common/array.h
	configure
	devtools/create_project/create_project.cpp
	dists/android/AndroidManifest.xml
	dists/android/plugin-manifest.xml
	dists/iphone/Info.plist
	dists/irix/scummvm.spec
	dists/macosx/Info.plist
	dists/redhat/scummvm-tools.spec
	dists/redhat/scummvm.spec
	dists/scummvm.rc
	dists/slackware/scummvm.SlackBuild
	dists/wii/meta.xml
	engines/sci/parser/vocabulary.cpp
	engines/tinsel/handle.cpp
	gui/themes/translations.dat
2011-06-01 15:15:31 +02:00
Matthew Hoops
aa49b38c5a Merge remote branch 'upstream/master' into t7g-ios
Conflicts:
	engines/groovie/script.cpp
2011-05-31 14:16:29 -04:00
D G Turner
5a2e6e4f3f BUILD: Fix compilation when --enable-plugins is enabled. 2011-05-31 04:44:12 +01:00
Max Horn
20cad6e8b6 COMMON: Modify Base::processSettings, get rid of Common::kArgumentNotProcessed
Instead of defining a hacked up Common::Error code, split the return
value of processSettings into two parts: An error code, and a value
which indicates whether the specified command was completely handled
by processSettings or not.
2011-05-23 19:39:25 +02:00
Max Horn
590c6ede63 BACKENDS: Move SCUMMVM_SAVEPATH env var handling to POSIX savefile manager 2011-05-23 19:12:26 +02:00
agent-q
92a71f7452 DS: Port of changes from branch-1-2-0 that I should really have moved into the trunk.
"DS: Prevent the command line help string from being included in the binary."
5f3a90a5f6911188b8d1ded08dbdf6d233e9eb7b

"GUI: Allow disabling of Mass Add dialog.  Saves a few Kb of binary size on the DS, and is not particularly useful on that platform."
240ff87cf4472538d25a1c5628c8d15f1791ab1c

"GUI: Don't search for theme zip files on startup when running on the DS.  Themes aren't supported anyway, and the search severely delays startup."
fe3b18ce0df03117081e83d99f4a2cbd864d3286
2011-05-21 15:45:51 +01:00
athrxx
5c34e33c2c FM-TOWNS AUDIO: Some more midi driver code for FM-TOWNS monkey2 and indy4 2011-05-17 20:24:24 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops
a1d41da096 Merge remote branch 'upstream/master' into t7g-ios
Conflicts:
	audio/decoders/qdm2.h
	common/util.cpp
	engines/groovie/music.cpp
	engines/groovie/resource.h
	video/qt_decoder.cpp
	video/qt_decoder.h
2011-05-11 00:30:28 -04:00
Max Horn
b2748520bb BASE: Suppress pointless warning message (fixes bug #3291522) 2011-05-05 17:44:49 +02:00
Max Horn
f9868c807d BASE: Suppress pointless warning message (fixes bug #3291522) 2011-05-05 17:43:33 +02:00
Max Horn
59e77ed667 ALL: Mark printf and various other symbols as forbidden
Right now, a few places in the frontend code still use printf and
consorts. We mark the affected files with a FIXME for now, and
add a dedicated exception for each. To be fixed!

Also tweak FORBIDDEN_SYMBOL_REPLACEMENT to hopefully really always
enforce a compiler error
2011-05-02 16:31:31 +02:00
Eugene Sandulenko
40df14a755 RELEASE: Tag branch-1-3-0 and set version 2011-05-01 14:43:36 +03:00
Eugene Sandulenko
204a9c2e51 RELEASE: This is 1.4.0git 2011-05-01 14:44:20 +03: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
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Johannes Schickel
aee0fa34bf BASE: Remove unused variable in DO_OPTION_INT. 2011-04-25 15:26:23 +02:00
Littleboy
11b907ebf4 CREATE_PROJECT: Update revision number support (fixes bug #3280881)
Replace existing environment variable based revision number support by a file-based method
 - Generate a special header file in the build output folder with the current revision number
 - Include the new header file from internal_version.h when a specific define is set
 - Update create_project to define SCUMMVM_INTERNAL_REVISION as needed and add the build output folder to the include path
 - Remove support for git-svn clones in the revision script (not useful anymore after the switch to git)
2011-04-24 16:59:46 -04:00
Max Horn
3a574199b0 COMMON: Cleanup names/handling of some error codes 2011-04-18 18:22:04 +02:00
Max Horn
cd2fcaf4ca COMMON: Remove kInvalidPathError 2011-04-18 18:22:03 +02:00
Max Horn
73f04118f3 COMMON: Rename Error to ErrorCode, introduce new Error class 2011-04-18 18:22:02 +02:00
Matthew Hoops
6d153f311c Merge remote branch 'upstream/master' into t7g-ios
Conflicts:
	video/qt_decoder.cpp
2011-04-13 16:04:29 -04:00
Paul Gilbert
e6090415b6 Merge remote branch 'remotes/dreammaster/tsage' 2011-04-13 21:08:05 +10:00
Matthew Hoops
78f17f290a BASE: Add AAC to the version string when compiled in 2011-04-11 21:37:44 -04:00
dhewg
0e6cdfd675 ANDROID: Experimental MIDI Driver
Based on the SONiVOX® Embedded Audio Synthesis (EAS™) library, which is
part of the base Android OS.

CPU stats (Cortex A8 1GHz, monkey1 intro, peak values):
MAME OPL: 30%
DosBox OPL: 26%
EAS: 19%
2011-03-25 14:43:52 +01:00
md5
e99dcac2f6 AUDIO: Set default values for the MT-32 and GM device settings
This fixes the case where an MT-32 music type is erroneously returned with
the default GUI audio settings if an engine specifies MDT_PREFER_MT32. Many
thanks to wjp and fuzzie for their help and work on this
2011-03-01 12:22:19 +02:00
Paul Gilbert
7042d95cfe TSAGE: Added the engine in a separate branch 2011-02-14 20:37:27 +11:00
dhewg
d794bfc4fa GIT: use git for describing the version. 2011-02-12 19:03:36 +01:00
Jordi Vilalta Prat
a422763833 BUILD: Remove explicit references to SVN in revision variable names.
svn-id: r55898
2011-02-12 16:43:57 +00:00
Ori Avtalion
84a8bdc86b JANITORIAL: Remove duplicate #include's
svn-id: r55889
2011-02-12 10:00:52 +00:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Yotam Barnoy
c4095aabc5 PLUGINS: for uncached plugins, first check the loaded plugin before looking elsewhere
There are some calls to EngineManager::findGame() from within games, such as when loading saved games. It's critical not to unload the plugin from memory or other threads may crash. Therefore, we first scan using any plugin that's already in memory.

svn-id: r55089
2011-01-02 10:08:02 +00:00
Yotam Barnoy
7558331550 PLUGINS: rename ONE_PLUGIN_AT_A_TIME define to UNCACHED_PLUGINS
ONE_PLUGIN_AT_A_TIME is too long.

svn-id: r55064
2010-12-30 08:01:58 +00:00
Florian Kagerer
5e88223e8e PLUGINS: fixed MSVC build
svn-id: r55062
2010-12-29 15:37:57 +00:00
Yotam Barnoy
8f36a5f887 PLUGINS: single plugin model now saves plugin filename to config file
After searching for the right plugin once, the filename will be saved to the config file under the domain 'plugin_files'. The key is the gameid and the value is the plugin file. The backup mechanism is searching plugin by plugin.

svn-id: r55061
2010-12-29 15:25:21 +00:00
Yotam Barnoy
10b96eb94d PLUGINS: PluginManager minor cleanups
svn-id: r55027
2010-12-23 14:37:03 +00:00
Yotam Barnoy
ee2b1092ab PLUGINS: switched plugin manager to inheritance rather than #defines
The reason for this was that I found issues where the wrong functions were called in EngineManager for single plugin operation. Rather than inserting more messy #defines, I preferred to change the PluginManager to use virtual functions, which also makes EngineManager simpler.

svn-id: r55024
2010-12-23 13:38:37 +00:00
Yotam Barnoy
81dd62f3cb PLUGINS: don't fully load each plugins at startup for single plugin method
The reason to load each plugin was to figure out if it's a sound or engine plugin. Since all our plugin files are currently engines, there's no reason to load every file. If we get dynamic sound plugins, it'd be a good idea to make a quick and easy way to know which kind of plugin it is (e.g. a prefix or suffix in the filename).

svn-id: r55021
2010-12-23 07:54:54 +00:00
Johannes Schickel
16483fcf34 BASE: Only clear debug channels after destructing the engine object in runGame.
This should fix missing debugC output when the engine object uses debugC etc.
in its destructor (or functions called from there).
In theory all the engines should do that themselves, but to avoid any issues
because of them not doing it we still do it here to be safe.

svn-id: r54757
2010-12-04 02:50:27 +00:00
Jordi Vilalta Prat
8393bc5b5f I18N: Don't build TranslationManager when translation is disabled.
svn-id: r54684
2010-11-30 18:50:19 +00:00
Torbjörn Andersson
1857076d76 MAIN: Fix --gfx-mode regression
We cannot check for supported graphics mode until after the backend has
been initialised, or there won't be a graphics manager to ask.

svn-id: r54534
2010-11-28 17:26:27 +00:00
Johannes Schickel
0f26184f8d BUILD: Revert r53427.
create_project will now use a different approach than recreating
base/internal_version.h. This is also because recreating this file might
result in accidental commits of the modified file and thus "screw up" the
version string on different systems.

svn-id: r54383
2010-11-19 16:47:03 +00:00
Yotam Barnoy
dde4f2211c MAIN: initialized more singletons early to prevent fragmentation.
svn-id: r54315
2010-11-18 11:31:46 +00:00
Yotam Barnoy
3631a5f90b MAIN: added early call to getAudioCdManager to prevent late allocation
This reduces fragmentation.

svn-id: r54310
2010-11-18 07:17:28 +00:00
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
abe1959d36 COMMON: Simplify DECLARE_SINGLETON macro
This makes it possible to write
  DECLARE_SINGLETON(foo);
instead of
  DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.

svn-id: r54258
2010-11-16 08:23:13 +00:00
Yotam Barnoy
fdc2a2cd81 CONFIGMAN: added defragmentation methods for one-plugin-at-a-time
One-plugin-at-a-time can have fragmentation caused by the ConfigManager if a game changes any configuration value. By reallocating and copying over the ConfigManager, we avoid this problem.

svn-id: r54243
2010-11-15 13:37:06 +00:00
Yotam Barnoy
457127d2a6 PLUGINS: moved plugin-at-a-time unload to be after deleting the engine.
Calling the Engine's destructor after unloading the plugin caused crashes.

svn-id: r54242
2010-11-15 13:36:34 +00:00
Max Horn
82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Yotam Barnoy
a6bee87990 PLUGINS: improved one-at-a-time plugin code
I reduced memory fragmentation using 2 principles: Plugins should be loaded for as little time as possible, and long lasting memory allocations should be allocated before plugins are loaded. There might still be a little fragmentation left.
Note that command line settings that require plugins to be loaded don't work yet, but they didn't work (properly) before either.

svn-id: r54097
2010-11-05 13:24:57 +00:00
Filippos Karapetis
2416cbf75b COMMON/GUI/SCI: Changes to the EGA dithering checkbox
- Changed the new dithering checkbox to be more generic (i.e. relevant for all engines that may support such a feature in the future)
- Changed the checkbox to be unchecked by default. As discussed on -devel, game enhancements in ScummVM should be off by default, and opt-in
- Changed the option from "sci_undither" to "disable_dithering"
- Changed theme version style to X.Y.Z and bumped it to 0.8.2

svn-id: r54090
2010-11-05 10:53:37 +00:00