Commit Graph
100 Commits
Author SHA1 Message Date
Alejandro Marzini 9136724110 SDL/OPENGL: Fix backend initialization when building with ENABLE_VKEYBD.
svn-id: r52503
2010-09-03 04:23:01 +00:00
Alejandro Marzini 30cbd35e74 OPENGL: Fix enable aspect ratio feature.
svn-id: r52502
2010-09-03 03:47:05 +00:00
Alejandro Marzini 19bf2b9eb6 OPENGL: Improve scaling, aspect ratio correction and display(GFX) modes.
Now the previous aspect ratio modes are handled as GFX modes. The previous
GFX modes were for scaling, but are removed now. A new 4/3 display mode
added. Added Ctrl-Shift-A for backward switching through display modes, and
Ctrl-Alt-<number key> for switching to a specific GFX mode.
Window resizing now is available for all display modes, and will
automatically change the scale factor as well as maintain the aspect ratio
when needed.

svn-id: r52501
2010-09-03 03:23:46 +00:00
Alejandro Marzini 27beca0e8c OPENGL: Add Ctrl-Shift-Enter hotkey for backward switching fullscreen modes.
svn-id: r52310
2010-08-23 20:28:04 +00:00
Alejandro Marzini 5c392df447 SDL/OPENGL: Fix segfault when using -g command line option.
svn-id: r52307
2010-08-23 19:44:39 +00:00
Alejandro Marzini 0df6bdde1c AMIGAOS: Fix build.
svn-id: r52306
2010-08-23 19:40:18 +00:00
Alejandro Marzini f27a4df548 AMIGAOS: Again, fix build.
svn-id: r52304
2010-08-23 18:52:10 +00:00
Alejandro Marzini 6164d1c0cb AMIGAOS: Fix build.
svn-id: r52303
2010-08-23 18:37:17 +00:00
Alejandro Marzini 942e104e33 OPENGL: Fix issue with resize events generated after going out of fullscreen mode.
svn-id: r52248
2010-08-20 22:56:13 +00:00
Alejandro Marzini b0409d6739 Merge trunk, from r51777 to r52105
svn-id: r52108
2010-08-16 00:21:07 +00:00
Alejandro Marzini 503578ac10 OPENGL: Restrict window scaling if current desktop resolution is not big enough.
svn-id: r52057
2010-08-13 05:26:23 +00:00
Alejandro Marzini 610f041930 OPENGL: Remove unnecessary best fullscreen mode detection code.
svn-id: r52056
2010-08-13 05:16:42 +00:00
Alejandro Marzini d84428e678 OPENGL: Disable resizable window when not using an aspect ratio correction.
svn-id: r52055
2010-08-13 05:00:38 +00:00
Alejandro Marzini a3711160ef OPENGL: Remove unnecessary aspect ratio corrections, and add "Original Size" correction. Rename _transactionDetails.needHotswap to _transactionDetails.needRefresh.
svn-id: r52054
2010-08-13 04:48:58 +00:00
Alejandro Marzini e18c9a1890 Fix for AmigaOS build.
KEYCODE_LESS and KEYCODE_GREATER are defined in AmigaOS SDK, but they are defined also in common/keyboard.h

svn-id: r52030
2010-08-12 06:45:13 +00:00
Alejandro Marzini 58d256c15e SDL: Make use of SDL_BACKEND instead of platform specific defines.
svn-id: r52029
2010-08-12 06:30:26 +00:00
Alejandro Marzini 83de12820b CREATE_MSVC: Add SDL_BACKEND to defines.
svn-id: r52028
2010-08-12 06:21:43 +00:00
Alejandro Marzini a16ca00113 OPENGL: Fix problem when switching between SDL and OpenGL Graphics Managers.
svn-id: r52025
2010-08-12 04:12:37 +00:00
Alejandro Marzini 234aa49f17 Fix dc build.
svn-id: r51814
2010-08-06 23:33:44 +00:00
Alejandro Marzini 7b898648bc OPENGL: Add 5/3 and 5/4 aspect ratio corrections.
svn-id: r51806
2010-08-06 21:39:54 +00:00
Alejandro Marzini 33e40e1a20 Merged from trunk, from r51495 to r51775
svn-id: r51776
2010-08-06 03:21:21 +00:00
Alejandro Marzini f97809a9a6 OPENGL: Improve aspect ratio correction mode selection.
svn-id: r51752
2010-08-05 06:20:44 +00:00
Alejandro Marzini 4b5138483e OPENGL: Fix USE_OPENGL redefinition warnings.
svn-id: r51750
2010-08-05 03:35:46 +00:00
Alejandro Marzini 7968374e27 OPENGL: Fix compiling for GLES.
svn-id: r51721
2010-08-04 04:23:00 +00:00
Alejandro Marzini eff862290b OPENGL: Improved OpenGL auto detection.
svn-id: r51720
2010-08-04 03:42:53 +00:00
Alejandro Marzini 6786c2a714 OPENGL: Add basic configure detection.
svn-id: r51676
2010-08-03 03:14:35 +00:00
Alejandro Marzini 498c17655d OPENGL: Refresh OpenGL textures on all loadGFX() calls.
OpenGL context may be destroyed after calling SDL_SetVideoMode, so it is better to always recreate the textures.

svn-id: r51675
2010-08-03 02:30:36 +00:00
Alejandro Marzini 5439b173b3 OPENGL: Prioritize desktop resolution as default fullscreen mode.
svn-id: r51674
2010-08-03 02:10:55 +00:00
Alejandro Marzini d542648a89 OPENGL: Add missing header.
svn-id: r51605
2010-08-02 03:38:35 +00:00
Alejandro Marzini 905ec1104e OPENGL: Save last fullscreen mode size to config file.
svn-id: r51604
2010-08-02 03:17:12 +00:00
Alejandro Marzini 4d8f8195b8 OPENGL: Improve fullscreen mode selection. Add warpMouse adjusting.
svn-id: r51603
2010-08-02 03:03:28 +00:00
Alejandro Marzini 41204282ec OPENGL: By default only enable None, Conserve and 4/3 aspect ratio corrections.
svn-id: r51599
2010-08-01 22:53:18 +00:00
Alejandro Marzini b816849c78 Fix warnings.
svn-id: r51592
2010-08-01 20:49:13 +00:00
Alejandro Marzini 7f8e7fc29d OPENGL: Remove use of floats for aspect ratio correction. Improved fullscreen toggling default mode selection.
Floats can lead to calculation errors because, now uints are used and aspect ratio values are handled with a x 10000 scale.
When entering fullscreen, it will be looked for the fullscreen mode with the smallest metric that mantains the game screen aspect ratio.

svn-id: r51563
2010-08-01 02:26:20 +00:00
Alejandro Marzini dd7bcc051f OPENGL: Switch to native resolution fullscreen as default.
svn-id: r51560
2010-07-31 23:50:54 +00:00
Alejandro Marzini 7dbe257da8 OPENGL: Add support for BGR and rgb(a) reversed formats (Not available for GLES). General cleanup and commenting.
svn-id: r51559
2010-07-31 22:54:10 +00:00
Alejandro Marzini c93adcbd29 OPENGL: For GLES, add glOrthox and do not use GL_BGR.
svn-id: r51552
2010-07-31 20:58:14 +00:00
Alejandro Marzini 6d6756b46a Add OpenGL dependencies to MinGW configure.
svn-id: r51551
2010-07-31 19:57:54 +00:00
Alejandro Marzini fc94a3246a OPENGL: Fix texture updating.
svn-id: r51549
2010-07-31 19:20:33 +00:00
Alejandro Marzini fb4086cadb Merged from trunk, from Rev 50841 to HEAD
svn-id: r51495
2010-07-30 05:28:09 +00:00
Alejandro Marzini 7b070bbef8 SDL/OPENGL: Add ability to switch between SDL and OpenGL graphics managers.
OSystem_SDL will create a merged list of all graphics modes from SDL and OpenGL. When the user changes the graphics mode in options and restarts ScummVM should switch to that graphics mode in the corresponding graphics manager.

svn-id: r51493
2010-07-30 03:31:05 +00:00
Alejandro Marzini 9daa1c7f93 OSYSTEM: Add resetGraphicsScale() method.
This fixes a hack for resetting the graphics scale to x1 when starting games that have a large screen size. The SDL graphics manager should now scale back to x1 without changing the current scaler in use, as well as the OpenGL graphics manager.

svn-id: r51492
2010-07-30 03:06:57 +00:00
Alejandro Marzini 37f7748a4a OPENGL: Fix crash on Broken Sword 2 when refreshing screen.
I must admit that I do not know why it does crash, but it seems that updating row by row is safer and does not makes problems.

svn-id: r51491
2010-07-30 02:58:35 +00:00
Alejandro Marzini ffb5868ac5 SDL: Add SDL backend subfolders paths to makefile MODULE_DIRS.
This should fix subfolders sources not recompiling after a header change.

svn-id: r51489
2010-07-30 00:48:10 +00:00
Alejandro Marzini 2636ac4f36 OPENGL: Implement aspect ratio support and toggling. Improve fullscreen switching. Fix cursor scaling bug.
Now the hotkey Ctrl-Alt-Enter will switch between all available fullscreen modes. Alt-Enter will only switch to the best mode available, and exit fullscreen mode if already on it.
The different aspect ratios can be switched with Ctrl-Alt-A. The normal mode will stretch the contents to the screen, while other modes will stretch only one dimension to the screen size, and maintain the aspect ratio for the other dimension.

svn-id: r51346
2010-07-27 07:30:56 +00:00
Alejandro Marzini 591b371f2b OPENGL: Add shake effect.
svn-id: r51344
2010-07-27 03:16:10 +00:00
Alejandro Marzini 126fe84d3d OPENGL: Fix cursor scaling in overlay.
svn-id: r51339
2010-07-27 00:31:36 +00:00
Alejandro Marzini f7220cfea7 OPENGL: Commenting.
svn-id: r51338
2010-07-27 00:30:37 +00:00
Alejandro Marzini 141e101841 Formatted spaces.
svn-id: r51300
2010-07-26 06:58:33 +00:00
Alejandro Marzini 738a9e78d8 OPENGL: Implement saveScreenshot().
svn-id: r51299
2010-07-26 06:52:58 +00:00
Alejandro Marzini 856c6a18af OPENGL: Add OSD message.
svn-id: r51295
2010-07-26 06:03:55 +00:00
Alejandro Marzini 37cdff9277 OPENGL: Do not allow changing to a not supported scale while on fullscreen.
svn-id: r51292
2010-07-26 04:40:00 +00:00
Alejandro Marzini 19ce960868 OPENGL: Add cursor scaling.
svn-id: r51291
2010-07-26 04:17:37 +00:00
Alejandro Marzini c5037d7c6c OPENGL: Fixed alpha problem with overlay RGBA5551 format.
svn-id: r51290
2010-07-26 02:16:10 +00:00
Alejandro Marzini b89412d7e4 OPENGL: Redesign blitting system. Add basics for aspect correction.
Removed the extra surface in GLTexture. Now there are copies of the texture data in their original format (so engine can get the original data when lockScreen or grabOverlay is called). This copies will be updated when the engine calls a function that modifies the game screen/overlay, and the textures will be marked as dirty. When updating screen, the textures will be updated from the copies data if they are dirty.

svn-id: r51234
2010-07-24 05:54:51 +00:00
Alejandro Marzini bbdb87a831 OPENGL: Add basic game screen drawing. Changed Overlay PixelFormat to RGBA5551.
svn-id: r51193
2010-07-23 06:57:23 +00:00
Alejandro Marzini ef880dd5da OPENGL: Add antialiasing, hotkey: ctrl+alt+f. Fixed minor bugs.
svn-id: r51146
2010-07-22 15:36:50 +00:00
Alejandro Marzini 302400a701 OPENGL: Implement fullscreen mode.
svn-id: r51049
2010-07-20 04:32:31 +00:00
Alejandro Marzini 014d7b791c OPENGL: Fix SDL OpenGL context not resizing well on Linux.
svn-id: r51047
2010-07-20 00:21:17 +00:00
Alejandro Marzini f6e04fe03b OPENGL: Fix adjustment of mouse coordinates when screen is resized and scaled.
svn-id: r51046
2010-07-19 23:58:48 +00:00
Alejandro Marzini 6f70a303bc OPENGL: Add basic scaler handle.
svn-id: r51016
2010-07-19 05:36:10 +00:00
Alejandro Marzini 38b4098f67 SDL: Hack to handle special SDL events.
svn-id: r51015
2010-07-19 05:33:58 +00:00
Alejandro Marzini 6215f2b6d4 OPENGL: Fix issue when GFX changes.
svn-id: r51013
2010-07-19 02:36:43 +00:00
Alejandro Marzini 7ad017bde0 OPENGL: Fix palette issues.
svn-id: r51012
2010-07-19 02:32:36 +00:00
Alejandro Marzini 03d66c4012 Fixed rect size when drawing npot textures. Added OpenGL attr for SDL.
svn-id: r50979
2010-07-18 05:32:44 +00:00
Alejandro Marzini 492569a7a2 Improved cursor drawing.
svn-id: r50976
2010-07-18 03:25:58 +00:00
Alejandro Marzini 0e748c5a97 Added basic cursor drawing.
svn-id: r50954
2010-07-16 23:50:46 +00:00
Alejandro Marzini cfe85d6b9f Added basic screen drawing (only overlay working).
svn-id: r50930
2010-07-16 04:45:47 +00:00
Alejandro Marzini fc8b60abda Fixed header for OS X, and added OpenGL feature to configure script. (Patch by clone2727)
svn-id: r50908
2010-07-15 05:04:44 +00:00
Alejandro Marzini 25f1980dad Optimized nextHigher2.
svn-id: r50907
2010-07-15 04:20:21 +00:00
Alejandro Marzini 36583ff888 Fixed problem with OpenGL headers and windows.
svn-id: r50906
2010-07-15 04:05:20 +00:00
Alejandro Marzini 9ef2fc4744 Fixed doing OpenGL calls before a graphical context was created.
svn-id: r50905
2010-07-15 04:01:41 +00:00
Alejandro Marzini d677ba5a11 Replaced nextHigher2, so CHAR_BIT define is not needed.
svn-id: r50904
2010-07-15 02:49:59 +00:00
Alejandro Marzini e47c64dd34 Fixed compile error.
svn-id: r50901
2010-07-15 01:46:02 +00:00
Alejandro Marzini f53028d4a2 Replaced the extra SDL functions added to GraphicsManager with an EventObserver in SdlGraphicsManager.
svn-id: r50900
2010-07-15 01:21:20 +00:00
Alejandro Marzini 84ceae9328 Check if USE_OPENGL is defined for compiling OpenGL code.
svn-id: r50842
2010-07-13 05:38:10 +00:00
Alejandro Marzini 5f86d11275 Added OpenGL feature to Create MSVC tool.
svn-id: r50841
2010-07-13 04:57:31 +00:00
Alejandro Marzini 609e08d5db Merged from trunk, from Rev 49499 to HEAD
svn-id: r50840
2010-07-13 04:31:15 +00:00
Alejandro Marzini 8b6a670391 OpenGL manager: Implemented PixelFormat functions. Implemented GFX methods. Changed how GLTexture determines its format.
svn-id: r50811
2010-07-12 06:00:19 +00:00
Alejandro Marzini 4dca7c7e02 Moved getGraphicsManager() from OSystem_SDL to ModularBackend. Moved public SDL graphics manager functions to graphics manager (Allowing OpenGLSdlGraphicsMaanger to be used with other SDL managers easily). Removed BaseSdlGraphicsManager. Implemented in the opengl manager basic screen functions.
svn-id: r50796
2010-07-11 04:32:24 +00:00
Alejandro Marzini 85034dc730 Added BaseSdlGraphicsManager. Added GLTexture.
svn-id: r50795
2010-07-10 22:47:29 +00:00
Alejandro Marzini 386785e2b8 Added OpenGLSDLGraphicsManager.
svn-id: r50768
2010-07-09 19:45:56 +00:00
Alejandro Marzini 8b6d49ce42 Implemented CHECK_GL_ERROR macro for debugging OpenGL calls.
svn-id: r50731
2010-07-07 01:05:32 +00:00
Alejandro Marzini 30136589f0 Base class for OpenGL graphics manager.
svn-id: r50668
2010-07-05 03:21:48 +00:00
Alejandro Marzini 3c607ef289 Cleanup and documentation.
svn-id: r50667
2010-07-05 01:10:29 +00:00
Alejandro Marzini 86fbe02933 Fixed "declared class seen before as struct" warning on MSVC.
svn-id: r50611
2010-07-03 00:44:05 +00:00
Alejandro Marzini 4e50b23005 Cleanup and documentation.
svn-id: r50610
2010-07-03 00:25:06 +00:00
Alejandro Marzini fda9416cc8 Cleanup and documentation.
svn-id: r50609
2010-07-03 00:13:45 +00:00
Alejandro Marzini f9c3a4547c Cleanup and documentation.
svn-id: r50589
2010-07-02 06:44:42 +00:00
Alejandro Marzini 055fc3282f Added WIN32 define for makefile conditions.
svn-id: r50585
2010-07-01 23:50:32 +00:00
Alejandro Marzini a35db656d3 Modularized GP2X backend. Renamed GP2XWIZSdlEventManager to GP2XSdlEventManager, and added GP2X code.
svn-id: r50542
2010-07-01 06:07:24 +00:00
Alejandro Marzini 1bc87e3bee Removed static mapKey function.
svn-id: r50539
2010-06-30 19:30:36 +00:00
Alejandro Marzini c174d5327b Modularized GP2XWIZ backend.
svn-id: r50514
2010-06-30 04:46:55 +00:00
Alejandro Marzini afd2a2c01d Renamed Samsung TV SDL Event Manager class and file for constancy, and added initialization for it on Samsung TV backend.
svn-id: r50481
2010-06-29 05:00:44 +00:00
Alejandro Marzini 06290230d5 Updated makefile. Fixed compile errors.
svn-id: r50475
2010-06-29 01:21:30 +00:00
Alejandro Marzini fd77e4b09c Modularized Linuxmoto port.
svn-id: r50474
2010-06-29 01:08:36 +00:00
Alejandro Marzini 494755cc36 Renamed BufferingSDLMixerManager to DoubleBufferSDLMixerManager.
svn-id: r50458
2010-06-28 20:41:08 +00:00
Alejandro Marzini c2bc48a772 Fixed String conversion error.
svn-id: r50370
2010-06-27 06:10:09 +00:00
Alejandro Marzini 936f558579 Improved getDefaultConfigFileName(). Code cleanup.
svn-id: r50364
2010-06-27 05:12:37 +00:00
Alejandro Marzini 62ac3982aa Modularized Symbian port.
svn-id: r50356
2010-06-26 23:05:37 +00:00