Commit Graph
5295 Commits
Author SHA1 Message Date
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
dhewg 7157454e9b ANDROID: Implement surface resizes
Split surface code into helper functions to avoid code duplication, and
distinguish between screen resizes and surface recreation. The former
happens when toggling the softkeyb, where we just have to reset the
viewport. Fixes garbled textures in those cases.
2011-03-03 21:29:15 +01:00
dhewg 3df060b656 ANDROID: Rename member vars according to our style 2011-03-03 20:47:32 +01:00
dhewg a7a7542d1d ANDROID: Remove an indirection when pausing 2011-03-03 20:47:27 +01:00
dhewg 1e3c96b3ef ANDROID: Formatting/whitespaces 2011-03-03 20:46:49 +01:00
dhewg 719d22918d ANDROID: Respect the pause level. 2011-03-02 23:41:59 +01:00
dhewg 2d4a64d184 ANDROID: Properly release texture resources
When calling glDeleteTextures() we need a valid surface.
2011-03-02 23:18:36 +01:00
dhewg c2d4cce429 ANDROID: On pause, put all threads in a coma
Since not every engine respects pauseEngine(), or they're in a state
where it simply gets ignored, put all threads in a group coma. Without
this, code still kept looping and wasting cpu cycles, while the user
might want to do use her/his droid for something else.
2011-03-02 23:18:35 +01:00
dhewg 25ef065a41 ANDROID: Implement pause/resume
Don't just kill the whole process when the Activity is stopped. Instead,
use its events to pause or resume audio and the running engine (if any).
Of course not every engines implements that... but at least an incoming
call doesn't kill the game now (lol).
2011-03-02 23:18:35 +01:00
dhewg ccfe427eb5 ANDROID: Check for a surface in updateScreen() 2011-03-02 23:18:35 +01:00
dhewg d6e838e1b3 ANDROID: Merge FIND_METHODs 2011-03-02 23:18:35 +01:00
dhewg 82a9beff2b ANDROID: Move swapBuffers to the native side 2011-03-02 23:18:34 +01:00
dhewg bd7e3e9bb2 ANDROID: cleanup 2011-03-02 23:18:34 +01:00
dhewg 2333a32697 ANDROID: Untangle JNI interweaving
- make the startup sequence more linear
- use SurfaceHolder events
- get rid of the surface lock
- remove unnecessary JNI calls
- make the ScummVM class implement Runnable
- cleanup
2011-03-02 23:18:34 +01:00
dhewg 2f008d0cd6 ANDROID: Don't use warning() in JNI functions 2011-03-02 23:18:33 +01:00
dhewg 807971f8af ANDROID: Don't use warning()/error() in a thread 2011-03-02 23:18:33 +01:00
Johannes Schickel 5ffecd85b3 OPENGL: Limit maximum cursor scale.
This avoids too big cursors when the screen resolution is really high.
2011-03-01 05:45:56 +01:00
Johannes Schickel 4841079075 OPENGL(SDL): Use the whole window/screen size for the overlay.
This makes the overlay looking nicer in fullscreen mode.
2011-03-01 05:32:14 +01:00
dhewg 24a332bd22 ANDROID: Prevent AudioTrack unpause on startup 2011-02-27 14:15:47 +01:00
dhewg 72889ee24f ANDROID: Remove dead code 2011-02-27 14:15:47 +01:00
dhewg a73b2ec972 ANDROID: Remove unnecessary code 2011-02-27 09:04:38 +01:00
dhewg d4c0501d1f ANDROID: Check audio buffer for silence
Most games register a music channel, and when there is no music,
they still stream silence (and run through all the Converter::flow
code!). Scan the buffer for that to pause the AudioTrack. Ugly, but
worth it - reduces CPU usage on many games and hence saves battery life.
2011-02-27 09:04:37 +01:00
dhewg 0e869a5cf0 ANDROID: Pause the AudioTrack when possible
Only works in situations without any registered channels (or all paused)
at the mixer (like on the launcher or GMM).

CPU usage before (Galaxy Tab):
~5% scummvm
~15% mediaserver

After:
~2% scummvm
0% mediaserver

;)
2011-02-27 09:04:37 +01:00
dhewg 25d895b859 ANDROID: Rework audio system
Move the audio thread to the bright side
2011-02-27 09:04:36 +01:00
dhewg 983e16b36a ANDROID: Formatting 2011-02-27 09:04:31 +01:00
dhewg 6b1c575d1d ANDROID: Remove another weird workaround 2011-02-27 09:04:31 +01:00
dhewg 3fb85835a1 ANDROID: Allow softkeybd on all devices 2011-02-26 11:20:23 +01:00
dhewg 8add05f9b3 BASEBACKEND: Remove resetGraphicsScale() hack
All backends that derive from BaseBackend are consoles and/or portables
without any connection from graphics modes to scalers.
The default implementation of resetGraphicsScale() is now a noop, which
seems correct for all current backends.
This fixes unwanted mode changes since 93fdcbfa.
2011-02-26 10:55:27 +01:00
dhewg f26707e353 OPENGL: Fix 16bit cursors 2011-02-26 08:56:49 +01:00
dhewg a441069a49 OPENGL: Reset the scale on mode changes
Resets defaultTo1XScaler when going back to the launcher
2011-02-25 20:49:48 +01:00
Johannes Schickel 63cc9de1df OPENGL: Cleanup cursor refresh code a bit. 2011-02-25 04:04:56 +01:00
Johannes Schickel f1b16fe084 OPENGL: Implement support for non CLUT8 cursor.
Currently all the cursor data is converted to RGBA8888 to allow for
easy colorkeying.
2011-02-25 04:01:37 +01:00
Johannes Schickel 4f3a244f16 OPENGLSDL: Add RGB555 to the supported format list. 2011-02-25 03:36:45 +01:00
Johannes Schickel 972cdaea35 OPENGL: Add support for RGB555 output format. 2011-02-25 03:35:55 +01:00
dhewg e06b7431e8 ANDROID: Remove weird workaround in clearScreen()
This resulted in flickering all over the GUI
2011-02-25 00:10:42 +01:00
dhewg a636d41ca8 ANDROID: Check thread origin when debugging GL 2011-02-24 23:18:34 +01:00
dhewg 36135443b9 ANDROID: Disable zoning for now 2011-02-24 23:18:33 +01:00
dhewg d8acbc0311 ANDROID: Deuglify overlay gfx
Use the native surface resolution of the device if its not too big.
If it is, use a clean scale factor of 2 to prevent eyecancer.
2011-02-24 23:18:33 +01:00
dhewg 867fa2696d ANDROID: Let's not do that on the stack 2011-02-24 23:18:33 +01:00
dhewg 0e9b4f3c50 ANDROID: We are not a text editor
This was probably set to ensure onCreateInputConnection() gets called,
but it is regardless of this flag. Now the soft keyboard doesn't show
up on startup on devices without physical keyboard, which prevents
unnecessary surface changes.
2011-02-24 23:18:32 +01:00
dhewg 53b5808d4f ANDROID: Move rest of everything JNI 2011-02-24 23:18:32 +01:00
dhewg f80d993860 ANDROID: Wrap JNI code in a class 2011-02-24 23:18:32 +01:00
dhewg c4706733d4 ANDROID: Move the global back reference to jni.cpp 2011-02-24 23:18:32 +01:00
dhewg 4af28f96ab ANDROID: Remove unused jmethod Object.wait() 2011-02-24 23:18:31 +01:00
dhewg 257913676d ANDROID: Split code into multiple files
And get rid of unnecessary JNI calls to get a pointer to g_system
2011-02-24 23:18:31 +01:00
Johannes Schickel f3ea868cf6 SDL: Prevent graphics manager hotswapping on startup. (This time for real) 2011-02-24 23:04:34 +01:00
dhewg 273a324a71 SDL: Prevent unnecessary gfx manager hotswap 2011-02-24 20:24:58 +01:00
anotherguest 3194d2dac6 SYMBIAN: Changed sound path to audio.
Signed-off-by: anotherguest
2011-02-24 18:55:10 +01:00
Johannes Schickel 020a413247 OPENGL: Set _gameTexture to 0 after deleting it.
This fixes a segfault when trying to use the OpenGL backend with 16bpp games,
however this does not make Last Express nor Loom PC-Engine Japanese work for
me. They now fail with a "Pixel format not supported" error.
2011-02-24 18:36:57 +01:00