4543 Commits

Author SHA1 Message Date
dhewg
5b94159f40 ANDROID: Clear fake palette after allocating
Gets rid of funky gfx artifacts on the overlay
2011-03-14 19:35:36 +01:00
dhewg
f587b6ee04 ANDROID: Implement grabOverlay() 2011-03-14 19:35:36 +01:00
dhewg
e1575e57f8 ANDROID: Extend clearScreen to take care of all cases
Hopefully that'll help me to not forget about the double buffering.
This fixes some gfx leftovers when not running games in fullscreen
mode.
2011-03-14 19:35:35 +01:00
dhewg
57635fe75c ANDROID: Update screen rects on surface changes
Fixes regression introduced with 4267011e
2011-03-14 19:35:35 +01:00
dhewg
4b6e5e7b06 ANDROID: Clip mouse coordinates 2011-03-13 23:45:52 +01:00
dhewg
f82121d2a2 ANDROID: Don't merge mouse move events
Breaks more than it solves
2011-03-13 23:31:07 +01:00
dhewg
ecd265b539 ANDROID: Center mouse on overlay visibility changes 2011-03-13 23:31:04 +01:00
dhewg
df9167c6b3 ANDROID: Add graphics mode for linear filtering 2011-03-13 23:30:17 +01:00
dhewg
c63c2a9e59 ANDROID: Fix texture clear color 2011-03-13 23:30:17 +01:00
dhewg
2dd669d808 ANDROID: Remove leftover TODO
Resolved with a93229c and 2721e28
2011-03-13 23:30:17 +01:00
dhewg
79d991081d ANDROID: Add support for video feature flags
kFeatureFullscreenMode and kFeatureAspectRatioCorrection are supported
now. The former prevents scaling to the full display - it scales one
axis and keeps the game AR.
2011-03-13 23:30:16 +01:00
dhewg
4267011e3a ANDROID: Some texture convinience functions 2011-03-13 23:30:15 +01:00
dhewg
787b27a4b1 ANDROID: Add missing updateScreen() calls 2011-03-13 16:50:48 +01:00
dhewg
fa51d82639 ANDROID: Prevent unnecessary reallocs 2011-03-13 16:50:48 +01:00
dhewg
2721e287e5 ANDROID: Buffer 16bit texture contents
Same issue as in the last commit: glTexSubImage2D is slow, so cache
all copyRect*() calls in a buffer, and update the dirty rect once
when drawing. Reduces CPU usage on 16bit games significantly.
Also, lockScreen() returns now pixel data for non-CLUT8 games instead
of asserting.
2011-03-13 16:50:47 +01:00
dhewg
a93229cae5 ANDROID: Don't use compressed textures for the game screen
Some GLES drivers suck so much that uploading data to the GPU takes
ages. CLUT8 games now use a faked paletted texture, which internally
uses a RGB565 hardware texture (Android's native pixel format).
This seems to be the only way to efficiently implement constant
changing textures with GLES1 - at the cost of extra buffers.
Then again, we can now use glTexSubImage2D to only update the dirty
rects, which wasn't possible before because glCompressedTexSubImage2D
is only usable on GLES2. This commit does exactly that.
Overall, the CPU usage is massively reduced for CLUT8 games.
2011-03-13 16:50:43 +01:00
dhewg
429b091ed1 ANDROID: Convinience make target for testing 2011-03-12 09:36:23 +01:00
dhewg
0cdaff65c1 ANDROID: Use 16bit pixel formats on CLUT8 textures
This reduces the CPU usage on 640x480 games by ~5% on my droid when
reuploading the textures to the GPU
2011-03-12 09:36:23 +01:00
dhewg
caf21a357b ANDROID: Cleanup 2011-03-12 09:36:22 +01:00
dhewg
2259f922f8 ANDROID: Remove redundant variable 2011-03-12 09:36:22 +01:00
dhewg
7fe487f9cc ANDROID: Add more paletted texture types 2011-03-12 09:36:22 +01:00
dhewg
99c0d82541 ANDROID: Cleanup paletted textures 2011-03-12 09:36:22 +01:00
dhewg
4afa2c62b9 ANDROID: Get rid of ugly casts 2011-03-12 09:36:22 +01:00
Johannes Schickel
ff9653ddea ALSA: Fix formatting. 2011-03-10 04:45:06 +01:00
Johannes Schickel
601a09e417 ALSA: Work around a firmware bug in USB-MIDI cables.
Thanks to waltervn (and wjp) for their investigation on this and Walter's SCI
specific workaround which I more or less just copied here so it will apply for
all engines.
2011-03-10 04:40:30 +01:00
Johannes Schickel
40e9374679 ALSA: Strip trailing spaces in device name.
This might fix odd problems when storing the device name in the config file,
when the name ends with a space by chance.
2011-03-10 02:54:32 +01:00
Johannes Schickel
bd82ebd080 WINCE: Run astyle over WinCE source files. 2011-03-09 03:02:46 +01:00
Johannes Schickel
438f2b2e1b WINCE: Cleanup WinCE event source a bit. 2011-03-09 02:49:22 +01:00
Johannes Schickel
b0cd614fd5 WINCE: Silence/fix some warnings. 2011-03-08 20:23:31 +01:00
Johannes Schickel
aebd9c6ea0 WINCE: Run astyle over WinCE related event and graphics source files. 2011-03-08 19:49:10 +01:00
Johannes Schickel
fe89ffe80a WINCE: Add -fno-inline-functions to compiler arguments.
WinCE is using -O3 by default, which includes -finline-functions, which in turn
breaks SCI. By disabling that opimization we get SCI working fine again.
2011-03-08 18:16:36 +01:00
Max Horn
aa452d3aeb WINCE: Make scummvm compile and run again for WinCE platform (patch #3202337) 2011-03-08 12:53:41 +01:00
dhewg
905d5e76b4 ANDROID: Move misplaced assert
Leftover from the recently introduced 16bit support
2011-03-07 23:42:20 +01:00
dhewg
e71fb5b0eb ANDROID: Move the overlay initialization
There's no point in doing that in initSize() every time
2011-03-07 23:42:20 +01:00
dhewg
1f90d232e3 ANDROID: Save the game when the process is paused
The OS can kill the activity at will after onPause() or onStop()
to free up memory for other application. Provide a parachute when
the engine allows it.
2011-03-07 19:56:29 +01:00
dhewg
42c6a785c7 ANDROID: Texture cleanup 2011-03-07 19:56:29 +01:00
dhewg
0b24fc3acc OPENGL: Fix compilation for --disable-16bit 2011-03-06 16:59:20 +01:00
dhewg
433429dcf4 ANDROID: Fix warning 2011-03-05 23:56:25 +01:00
dhewg
12fb817751 ANDROID: Fix 16bit cursors
I hate this code
2011-03-05 23:08:42 +01:00
dhewg
53ee7c5513 ANDROID: Proper fillBuffer() for non CLUT8 colors 2011-03-05 23:08:41 +01:00
dhewg
a2c02367f7 ANDROID: Rename function for less confusion 2011-03-05 23:08:41 +01:00
dhewg
d2dd614996 ANDROID: Clear screen on initSize() 2011-03-05 18:47:05 +01:00
dhewg
94db3403a3 ANDROID: Add initial 16bit gfx support
Supported pixel formats: 565, 5551, 4444
Missing: 555 (doesn't exist on GLES)
2011-03-05 18:47:05 +01:00
dhewg
83b00526d0 ANDROID: Reduce mem usage of fillBuffer() 2011-03-05 11:00:36 +01:00
dhewg
4ee0a9f43a ANDROID: Merge updateTexture() 2011-03-05 11:00:36 +01:00
dhewg
68378150be ANDROID: Remove some vtable overhead on textures 2011-03-05 11:00:36 +01:00
dhewg
a913d360f2 ANDROID: Clear game texture on initSize()
Gets rid of leftovers
2011-03-04 21:41:55 +01:00
dhewg
f639466ab2 ANDROID: Cleanup 2011-03-04 21:36:48 +01:00
dhewg
1b0d4724f4 ANDROID: Fix slightly off while loop
CursorMan allows to push cursors with a width/height of zero. If such a
cursor is restored, we don't need to call glTexSubImage2D() 0xffffffff
times... This fixes delays of multiple minutes when closing GMM
on groovie and sword.
Also, I want that last hour of my life back.
2011-03-04 21:35:30 +01:00
dhewg
ce9796baa3 ANDROID: Don't wipe paletted textures on reinit
The content of a paletted texture is in _surface.pixels. When recreating
the surface, don't wipe its data unnecessarily. This fixes gfx garbage
on CLUT8 games/cursors when leaving and going back to ScummVM
2011-03-03 21:29:47 +01:00