Commit Graph

5102 Commits

Author SHA1 Message Date
Johannes Schickel
5ae958bcf3 IPHONE: Let iPhoneView and OSystem_IPHONE share the same VideoContext.
This allows for better sharing between the current video state in the view and
the OSystem implementation.

This also gets rid of most C interface functions for calling ObjC code.
2012-02-23 03:18:00 +01:00
Johannes Schickel
e00fc73eb8 IPHONE: Silence a few signed/unsigned integer comparison warnings. 2012-02-23 02:26:54 +01:00
Johannes Schickel
99ffbfedbc IPHONE: Use VideoContext in OSystem_IPHONE. 2012-02-23 02:25:26 +01:00
Johannes Schickel
ab15435ad0 IPHONE: Move overlay visibility status to VideoContext. 2012-02-23 02:09:27 +01:00
Johannes Schickel
e1edb20fed IPHONE: Move VideoContext definition to iphone_common.h. 2012-02-23 02:04:40 +01:00
Johannes Schickel
e83e31c2cc IPHONE: Move mouse coordinate conversion code to iPhoneView. 2012-02-23 02:02:14 +01:00
Johannes Schickel
c5ccb32b48 IPHONE: Move graphics related OSystem code to a ObjC++ file. 2012-02-23 01:52:50 +01:00
Johannes Schickel
04f9fc3e18 IPHONE: Move projection setup code to its own method. 2012-02-23 01:27:38 +01:00
Johannes Schickel
174127c1dd IPHONE: Remove some more dead code. 2012-02-23 01:19:34 +01:00
Johannes Schickel
26405be48f IPHONE: Move setFilterModeForTexture to iPhoneView. 2012-02-23 01:14:39 +01:00
Johannes Schickel
def1471fff IPHONE: Slight formatting fix. 2012-02-23 01:08:48 +01:00
Johannes Schickel
833ce4f348 IPHONE: Fix scale offset addition in the mouse coordinate code.
Formerly the overlay and game screen offset was swapped.
2012-02-23 01:08:47 +01:00
Johannes Schickel
f4579aab9b IPHONE: Create a struct for shared video context variables. 2012-02-23 01:08:47 +01:00
Tarek Soliman
dbdfc13819 KEYMAPPER: Fix a signed/unsigned comparison warning 2012-02-22 15:16:52 -06:00
Tarek Soliman
92aabb6868 KEYMAPPER: Change HardwareKey id to Common::String 2012-02-22 07:44:59 -06:00
Johannes Schickel
6c64fdf4f2 IPHONE: Very minor cleanup. 2012-02-22 02:49:14 +01:00
Johannes Schickel
0e182a9587 IPHONE: Use #include instead of #import. 2012-02-22 02:47:16 +01:00
Johannes Schickel
66199978e2 IPHONE: Silence some warnings. 2012-02-22 02:44:25 +01:00
Johannes Schickel
e79f6a6314 IPHONE: Move ObjC code files (.m) to ObjC++ files (.mm). 2012-02-22 02:30:44 +01:00
Johannes Schickel
1b26346fc8 IPHONE: Implement setShakeOffset.
This should fix bug #3374656 "IPHONE: setShakePos not implemented".
2012-02-22 01:53:20 +01:00
Tarek Soliman
e1e9bd5c0e KEYMAPPER: Clean up more dead code
More automapper related dead code
2012-02-21 13:39:05 -06:00
Johannes Schickel
80b3439817 IPHONE: Rewrite video screen rotation.
Now it should be a little bit more sane. Formerly the width and height
was swapped in rotation mode, which resulted in the x coordinate falling
into the range 0..height in landscape mode for example.

This also fixes the cursor offset in the modern theme.
2012-02-21 18:54:26 +01:00
Johannes Schickel
f6edcbde8e IPHONE: Move _overlayPortraitRatio from global scope to local scope. 2012-02-21 18:54:26 +01:00
Johannes Schickel
cc8a6cc993 IPHONE: Add _overlayRect, which describes the overlay screen rect. 2012-02-21 18:54:26 +01:00
Tarek Soliman
aa42d78658 KEYMAPPER: Remove automapping dead code 2012-02-21 08:20:40 -06:00
Willem Jan Palenstijn
297d15e122 OPENGL: Don't force alpha to 1
This was likely a hack to work around an alpha blending bug in the
gui vector renderer.
2012-02-20 22:17:33 +01:00
Johannes Schickel
6cc5b83bba IPHONE: Default to portrait mode in case the orientation could not be determined. 2012-02-20 21:17:19 +01:00
Johannes Schickel
d8531a939e IPHONE: Move OpenGL ES context generation to its own method. 2012-02-20 21:15:14 +01:00
Johannes Schickel
cf44d49d19 IPHONE: Precalculate vertex/tex coordinates for game screen/overlay. 2012-02-20 19:43:51 +01:00
Tarek Soliman
56e517fdad KEYMAPPER: Add some comments 2012-02-20 12:26:25 -06:00
Johannes Schickel
7957cc956e IPHONE: Use render buffer size instead of application frame size for video size calculations.
These match as far as I can tell, but in case they don't match, the render
buffer size should be the correct thing to use.
2012-02-20 18:39:57 +01:00
Johannes Schickel
d91268c4c1 IPHONE: Rename _screenRect to _gameScreenRect. 2012-02-20 18:39:57 +01:00
Johannes Schickel
87fb115def IPHONE: Rename _backing[Width,Height] to _renderBuffer[Width,Height]. 2012-02-20 18:39:57 +01:00
Johannes Schickel
624d5547dc IPHONE: Don't overwrite orientation when the OpenGL ES context is created. 2012-02-20 18:39:57 +01:00
Johannes Schickel
d4c167414d IPHONE: Refactor event code a bit.
Now mouse x/y coordinates are passed as int.
2012-02-20 18:39:57 +01:00
Johannes Schickel
5cc3d754f7 IPHONE: Even more slight formatting fixes. 2012-02-20 18:39:57 +01:00
Tarek Soliman
6c4d65e53f KEYMAPPER: Change how keymaps are displayed in the remap dialog
This makes it so that there's 2 groups:
1 - The keymap stack
2 - The loaded keymaps

The first group displays which keymaps are active and which keymaps
are completely blocked due to an opaque keymap on top.

The second group displays which loaded keymaps store their mappings
globally and which ones store their mappings per-target.
2012-02-20 10:52:50 -06:00
Johannes Schickel
a291679445 IPHONE: Slight game screen texture related variable renaming. 2012-02-20 15:37:24 +01:00
Johannes Schickel
46e622c0fe IPHONE: Slight cleanup. 2012-02-20 15:37:24 +01:00
Johannes Schickel
76be031ed4 IPHONE: Remove some unused variables. 2012-02-20 15:37:23 +01:00
Tarek Soliman
3f6d549b0e KEYMAPPER: Move F7 and F8 handling to DefaultEventMapper 2012-02-20 06:49:22 -06:00
Tarek Soliman
cfe91c8d44 KEYMAPPER: Move CTRL-F5 handling to DefaultEventMapper 2012-02-20 06:49:22 -06:00
Tarek Soliman
a0ba4eb569 KEYMAPPER: Rewrite the EventMapper API 2012-02-20 06:49:22 -06:00
Tarek Soliman
5c3e48fddf KEYMAPPER: Create a DefaultEventMapper when Keymapper isn't enabled
This allows migration to unconditional mapping
2012-02-20 06:49:22 -06:00
Tarek Soliman
e7ade8ae05 KEYMAPPER: EventMapper must now eat all events 2012-02-20 06:49:21 -06:00
Johannes Schickel
ae992bebe3 IPHONE: More formatting fixes. 2012-02-20 13:48:09 +01:00
Johannes Schickel
d77253fbe5 IPHONE: Add support for unfiltered upscaling. 2012-02-20 02:32:10 +01:00
Johannes Schickel
8102e7e645 IPHONE: Implement cursor palette support. 2012-02-20 01:32:48 +01:00
Johannes Schickel
65cda4cd6b IPHONE: Fix some mismatching malloc/delete calls. 2012-02-20 00:36:13 +01:00
Johannes Schickel
1b9c4f3845 IPHONE: Remove some dead code. 2012-02-20 00:35:44 +01:00
Johannes Schickel
723a38c699 IPHONE: Rename screen related buffers a bit. 2012-02-20 00:35:14 +01:00
Johannes Schickel
93d80793b4 IPHONE: Implement cursor visibility change again. 2012-02-20 00:29:08 +01:00
Johannes Schickel
438bc50115 IPHONE: Fix cursor hotspots. 2012-02-20 00:25:48 +01:00
Johannes Schickel
68bbe973bd IPHONE: Always use the mouse texture.
Formerly the mouse texture was only used when the overlay was visible. When
only the game screen was visible, the code rendered the mouse cursor on the
game screen texture.

This simplifies the drawing pipeline a bit.
2012-02-20 00:08:42 +01:00
Johannes Schickel
87d85a7b20 IPHONE: Use the proper RGBA5551 palette for the mouse cursor.
Formerly the overlay cursor was using a RGB565 palette, even though the
texture is really set up as RGBA5551.
2012-02-19 22:19:38 +01:00
Johannes Schickel
ceae3dd191 IPHONE: Rename _palette to _gamePalette. 2012-02-19 22:16:38 +01:00
Johannes Schickel
6a31dadfea IPHONE: Use include instead of import for all of our headers. 2012-02-19 22:10:08 +01:00
Johannes Schickel
13358c541d IPHONE: Add include guards. 2012-02-19 21:44:37 +01:00
Johannes Schickel
3d0316ccd2 IPHONE: Formatting fixes. 2012-02-19 21:30:53 +01:00
Johannes Schickel
4244663020 IPHONE: Remove dead code. 2012-02-19 20:33:53 +01:00
Thierry Crozat
7a3df4681b NULL: Fix compiler errors when using the NullGraphicsManager
The errors fixed are inaccessible base class when trying to set the
_graphicsManager and a pure virtual function when trying to create
the NullGraphicsManager instance.
2012-02-19 18:41:49 +00:00
Thierry Crozat
f6b8fec0f1 NULL: Fix compiler error when using NullMutexManager
The compiler error fixed (when trying to set the _mutexManager) is:
error: ‘MutexManager’ is an inaccessible base of ‘NullMutexManager’
2012-02-19 18:38:28 +00:00
Johannes Schickel
ab4420b3ca IPHONE: Take advantage of Common::EVENT_INVALID. 2012-02-19 05:21:17 +01:00
Johannes Schickel
ffaa8612c3 IPHONE: Change F5 (menu) gesture to open up the GMM.
Thanks to tsoliman for this patch.
2012-02-19 05:21:10 +01:00
Tarek Soliman
53d6ef1209 MAEMO: Fix building without keymapper enabled 2012-02-17 14:42:39 -06:00
Tarek Soliman
b6e5e4fe1e MAEMO: Remove pointless copy ctor call
Thanks LordHoto
2012-02-15 17:56:09 -06:00
Tarek Soliman
85c8c84804 KEYMAPPER: Add more warning signs 2012-02-15 17:22:41 -06:00
Tarek Soliman
e55914c51b MAEMO: Register Keymapper Keymap Action default bindings 2012-02-15 17:12:52 -06:00
Tarek Soliman
cce5be67dc KEYMAPPER: Allow ports to define default Keymap Action bindings 2012-02-15 17:07:52 -06:00
Tarek Soliman
974f5eb7b8 MAEMO: Drop the hardcoded keymap in favor of the keymapper 2012-02-15 17:07:52 -06:00
Tarek Soliman
7ae7e80739 MAEMO: Rename hasHwKeyboard and add hasMenuKey 2012-02-15 16:38:53 -06:00
Tarek Soliman
856744aa6a MAEMO: Use bitshifting in ModelType 2012-02-15 15:26:51 -06:00
Tarek Soliman
ea325909cf MAEMO: Fix wrong assert 2012-02-15 12:40:49 -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
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Tarek Soliman
dbcd177606 KEYMAPPER: Make some parameters const 2012-02-15 10:07:08 -06:00
Johannes Schickel
37e5b209a7 OPENGL: More formatting fixes. 2012-02-15 02:23:54 +01:00
Johannes Schickel
b6f7d69709 OPENGLSDL: Remove HACK in fullscreen toggle mode.
Altering the fullscreen state will automatically force a refresh now.
2012-02-15 02:23:47 +01:00
Johannes Schickel
5b3ebdf43d OPENGL: Prevent access to a few more members in the SDL OpenGL code. 2012-02-15 02:23:37 +01:00
Johannes Schickel
05af37c08e OPENGL: Use tabs instead of spaces for indentation. 2012-02-15 02:23:22 +01:00
Johannes Schickel
97760ff101 OPENGLSDL: Don't cast EventType into int for switch. 2012-02-15 02:23:14 +01:00
Johannes Schickel
1f01fb330c OPENGL: Use C-style casts. 2012-02-15 02:23:08 +01:00
Johannes Schickel
e5d48797d9 OPENGL: Let getGlErrStr return a Common::String.
This also makes getGlErrStr use Common::String::format instead of snprintf.
2012-02-15 02:23:01 +01:00
Johannes Schickel
beab93e746 OPENGL: Slight formatting fixes. 2012-02-15 02:22:54 +01:00
Johannes Schickel
864eec8cd2 OPENGL: Make all GLTexture members private. 2012-02-15 02:22:45 +01:00
Johannes Schickel
93435b2e3f OPENGL: Unvirtualize all GLTexture methods. 2012-02-15 02:22:37 +01:00
Johannes Schickel
56971f11d1 OPENGL: Remove redundant check in adjustMousePosition. 2012-02-15 02:22:30 +01:00
Tarek Soliman
5cf932198e KEYMAPPER: Fix Action ctor args in most keymaps 2012-02-13 23:24:59 -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
c2640ed33a MAEMO: Use custom event Click Mode keymap action 2012-02-12 13:28:13 -06:00
Tarek Soliman
d90d4d10a0 MAEMO: Refactor toggle click mode 2012-02-12 13:28:13 -06:00
Tarek Soliman
8c245af35c MAEMO: Define platform global keymap 2012-02-12 13:28:13 -06:00
Tarek Soliman
705761011d KEYMAPPER: Allow ports to define their own global keymap 2012-02-12 13:28:13 -06:00
Tarek Soliman
e52f75eaa4 MAEMO: Define HardwareKeySet 2012-02-12 13:28:13 -06:00
Tarek Soliman
52da780fbc KEYMAPPER: Refactor HardwareKeySet generation 2012-02-12 13:28:13 -06:00
Tarek Soliman
edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
Tarek Soliman
06b5299461 KEYMAPPER: Fix re-selecting the top keymap
Re-selecting the top entry would always populate the actions
from the GUI keymap since it is the active keymap (the remap
dialog itself is GUI)

The top keymap was correct during RemapDialog::open() because
the gui keymap had not been pushed to the stack yet.
2012-02-09 02:49:21 -06:00
Tarek Soliman
38dea529e8 KEYMAPPER: Display active keymap stack in remap dialog popup list
This should make it clear what keymaps are on the stack and in
what order.

Also renamed the label of the top "special" entry in the list to
"(Effective)" since it displays the top keymap's action and also
displays reachable mapped actions from other active keymaps.
2012-02-09 02:15:35 -06:00
Tarek Soliman
9de279b2ab KEYMAPPER: Fix active keymap name displayed in remap dialog
This workaround no longer applies and is in fact causing a bug
in the name of active keymap
2012-02-05 19:01:51 -06:00