Commit Graph
452 Commits
Author SHA1 Message Date
D G Turner 8b9d4348f8 SDL: Fix bug where config file path could exceed maximum path length.
The fix is the change in the MAXPATHLEN check, but have also migrated
this to Common::String to make the fix easier.

Thanks to klusark for pointing out this problem.
2013-11-14 18:35:03 +00:00
Kirben 3950dad947 SDL: Remove misleading comments, based on incomplete information at MSDN. GetLocalInfo is supported on Windows 95 onwards, but MSDN fails to mention older Windows versions. 2013-11-11 23:53:53 +11:00
Johannes Schickel 919e577ba6 SDL: Fix invalid memory access in getSystemLanguage.
A call to setlocale can invalidate the string a previous setlocale call
returned. Instead of saving a pointer we copy the returned string now. This,
for example, fixes invalid memory access on my system.

See de8da01b0e for the commit introducing the
invalid memory access.
2013-11-03 18:47:03 +01:00
D G Turner de8da01b0e SDL: Remove side effect of setlocale() call to get Language.
This is to fix bug #3615148 -  "ALL: sscanf("%f"), atof() etc. not
portable due to Locale"

The side effect of setlocale("") is to change the active locale
from the default of "C" to the detected system locale, but this
changes the behaviour of sscanf() and several other functions
in a system dependent and non-portable way. This has caused
bugs in the ZVISION engine when running Zork Nemesis.

The solution is to restore the default "C" locale after the call
to get the language.

Thanks to criezy for working out this fix.
2013-11-03 17:10:18 +00:00
Johannes Schickel 092d36f392 SDL: Reduce code duplication a bit.
Now instead of initializing this in OSystem_SDL::initSDL (and in subclasses
overwriting this) we simply initialize it in OSystem_SDL::init.
2013-10-23 22:59:13 +02:00
Johannes Schickel c323dedf3c SDL: Fix default graphics mode for switchable case.
The former code (incorrectly) assumed that the getDefaultGraphicsMode returns
the index in the table returned by getSupportedGraphicsModes. Now the correct
ID is searched and then used.
2013-10-23 22:59:09 +02:00
Johannes Schickel d34c9d5bcb SDL: Do not require a static graphics mode list in OpenGL and SurfaceSDL. 2013-10-23 22:59:06 +02:00
Johannes Schickel a9cb67df08 SDL: Only allow switching of SurfaceSDL <-> OpenGL when no custom manager is used. 2013-10-23 22:59:02 +02:00
Johannes Schickel 38543f772c SDL: Make setupGraphicsModes non-virtual.
The logic of switching the managers is pretty much fixed at the same level
and cannot be easily overwritten.
2013-10-23 22:58:57 +02:00
Johannes Schickel 17cb26b93c SDL: Simplify initial graphics manager selection for OpenGL. 2013-10-23 22:58:53 +02:00
Johannes Schickel 4080a7a3f6 SDL: Get rid of _glModesCount. 2013-10-23 22:58:50 +02:00
Johannes Schickel c5e2b5158c SDL: Get rid of loop in OSystem_SDL::setGraphicsMode. 2013-10-23 22:58:46 +02:00
Johannes Schickel e91300f70c SDL: Clean up graphics mode handling for OpenGL backend.
Instead of custom memory management Common::Array is used now.
2013-10-23 22:58:42 +02:00
Johannes Schickel 1a56b521b5 SDL: Always initialize video subsystem in initSDL. 2013-10-23 22:58:38 +02:00
Johannes Schickel 6e46e9dfaf SDL: Clean up graphics manager switching slighty.
Sadly this also requires us to extend GraphicsManager for this SDL specific
feature. However, since that's only used in the SDL backend and Tizen it
should be fine for now...
2013-10-23 22:58:34 +02:00
Johannes Schickel 5ce830b976 SDL: Add a OpenGL SDL backend and hook it into the SDL backend.
The hooking code is nearly exactly the old hooking code. Only the OpenGL SDL
creation has been adapted since it uses a different constructor now.
2013-10-19 22:14:24 +02:00
Johannes Schickel 8a6e57cba1 BACKENDS: Remove OpenGL and OpenGL SDL backend.
This breaks our Tizen port.
2013-10-05 00:20:02 +02:00
Matthew Hoops 4a7e4e5b22 ALL: Don't use EventRecorder at all when not compiled in 2013-07-06 23:54:45 -04:00
Eugene Sandulenko 49210a803a Merge pull request #331 from sev-/gsoc2012-eventsrecorder
GSoC2012: Event Recorder (reworked)
2013-07-04 04:58:54 -07:00
Johannes Schickel 93fc260885 SDL: Fix compilation by moving getMixerManager out of USE_OPENGL guard. 2013-07-04 14:47:25 +03:00
Johannes Schickel 86c656a75b SDL: Fix compilation on Solaris 10.
This replaces a dummy FILE definition before including the SDL headers with
simply using the toolchain's definition on Solaris. This is pretty harmless
because we only allow FILE to be used in the SDL headers by this.

Fixes bug #3614514 "#define FILE FAKE_FILE doesn't work on Solaris (w/ patch)".

Thanks to lblume for his patch!
2013-07-04 01:25:46 +02:00
Eugene Sandulenko f59512c47e RECORDER: Implement Events Recorder 2013-05-17 00:18:09 +03:00
Thierry Crozat 67493394b3 OSX: Remove use of deprecated methods
FSRef and FSPathMakeRef have been deprecated in OS X 10.8. So we
use CFURLRef instead.
2012-11-18 01:29:09 +00:00
Max Horn a49f55878a OSX: Improve native OS X browser dialog
Signed-off-by: Thierry Crozat <criezy@scummvm.org>
2012-11-18 01:29:08 +00: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
Alyssa Milburn 2bed1ece7f SDL: Remove main.cpp.
Backends have to provide their own main, instantiating OSystem_SDL
directly is unsupported.
2012-09-24 09:41:21 +02:00
Matthew Hoops b2f5721e58 COMMON: Add tm_wday to our TimeDate struct
Did not adapt bada or ps2 backends as I'm not sure how they should be handled
2012-06-09 20:21:48 -04:00
Christoph Mallon 9f827e3392 JANITORIAL: Remove +x from files, which should not be executable. 2012-03-17 22:43:32 +01:00
Tarek Soliman 477c1b9a87 KEYMAPPER: HardwareInputSet now has defaults
Ports can add additional special keys.
SDL no longer carries the static tables.
Default behavior unchanged: HardwareInputSet() still gives an empty one.
2012-02-28 06:45:35 -06:00
Tarek Soliman 6afac4e01e KEYMAPPER: Rename HardwareKey to HardwareInput 2012-02-27 13:00:56 -06:00
Tarek Soliman aa42d78658 KEYMAPPER: Remove automapping dead code 2012-02-21 08:20:40 -06:00
Tarek Soliman a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Johannes Schickel 57e3388197 SDL: Get rid of unneeded forwards. 2012-02-13 01:25:25 +01:00
Johannes Schickel d811240a9d ALL: Enable Keymapper specific OSystem API only when the Keymapper is enabled. 2012-02-13 01:20:02 +01:00
Tarek Soliman 52da780fbc KEYMAPPER: Refactor HardwareKeySet generation 2012-02-12 13:28:13 -06:00
Travis Howell 8701e0a382 WINDOWS: Add default save paths for Windows NT4 onwards 2012-01-23 23:18:21 +11:00
Oystein Eftevaag 09ce3407b1 OSX: Avoid use of NSString:stringWithCString, for OS X 10.2 and 10.3 compatibility 2012-01-14 11:04:58 -05:00
Filippos Karapetis 5eb592a1c9 WIN32: Fix build by adapting to the latest Archive changes 2011-12-13 22:47:46 +02:00
Johannes Schickel d085f4f4e2 WIN32: (Hopefully) fix compilation by adapting to latest Archive changes. 2011-12-13 18:29:40 +01:00
Thierry Crozat e3d7606188 MACOSX: Detect system preferred language when starting bundle
This reimplement getSystemLanguage() for MacOS X because
setlocale() only works if the application is started from the terminal.
Instead we use CFBundleCopyPreferredLocalizationsFromArray() which
requires the translations to be listed in the bundle plist file (this had
already been committed). This fixes bug #3394080.
2011-10-03 23:53:22 +01:00
Tarek Soliman 09b9fbfba9 MAEMO: Add basic platform backend with stubbed keymapper 2011-09-22 22:07:44 -05:00
Paul Gilbert 7ef6c73d61 SDL: Previous commit broke compilation on MSVC
Including cursorman.cpp rather than cursorman.h resulted in the CursorManager class being present in multiple .obj files, resulting in linking errors.
2011-08-11 22:30:46 +10:00
Johannes Schickel 0f6e231356 SDL: Implement a hellish workaround to fix bug #3368143.
The bug in question is "SDL/OpenGL: Crash when switching renderer backend". To
fix it I added a stupid graphics state copying to the SDL backend, in case the
graphics manager is switched. The implementation of this is considered a pure
workaround, no one should ever do it like this in reality... I just want to
die when looking at this... Not sure why I actually committed it.

Anyway it at least makes the OpenGL backend testable for those who do not
want to fiddle with the config file directly.
2011-08-11 04:28:44 +02:00
Johannes Schickel 04ab0e58b4 SDL: Take advantage of SdlGraphicsManager.
This gets rid of the hacks, where SdlEventSource added events with custom type
numbers to pass SDL_VIDEOEXPOSE and SDL_VIDEORESIZE to the graphics manager.

Furthermore it get rids of the uninituitive and hard to trace way of assigning
the proper mouse coordinates to mouse related events. Formerly it passed the
real screen coordinates through the even dispatching api to the graphics
manager (at least hopefully ;-) and let that handle creating a new event with
the proper coordinates. Now instead SdlEventSource handles the proper
coordinate setup itself.

Since this is a behavior change and I can not test all the SDL based small
devices ports this commit might break compilation for them and more serve it
might also break mouse position behavior. If any of that occurs I am sorry
about it.
2011-08-09 00:03:11 +02:00
Johannes Schickel 0630a88a04 SDL: Let SDL based graphics managers inherit from SdlGraphicsManager.
This also adapts port I can not test (not even the compilation). So if this
breaks anything I am sorry about it.
2011-08-09 00:03:11 +02:00
Eugene Sandulenko baf65bc872 RECORDER: Added stub for delayMillis() processing 2011-08-06 11:31:12 +01:00
Oystein Eftevaag 7e7e606919 MACOSX: Turned update support off by default, simplified and cleaned the pull request 2011-08-02 21:00:57 -04:00
CeRiAl 828f1884b4 MACOSX: Add Sparkle support 2011-07-19 21:33:01 +02:00
Littleboy da60ff3ded JANITORIAL: Fix MSVC warnings
- Conversion from double to float
 - Unary minus operator applied to unsigned type
 - ARRAYSIZE redefinition
2011-07-19 14:12:07 -04:00
Matthew Hoops 5825ccc168 BACKENDS: Fix spelling of 'Mac OS X' 2011-07-13 09:47:03 -04:00