Commit graph

240 commits

Author SHA1 Message Date
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
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
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
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
dhewg
90fa5087dc ANDROID: Fix cursor scaling 2011-02-19 23:25:05 +01:00
dhewg
6c123974c0 ANDROID: Fix cursor when hotspot coords > 0 2011-02-19 23:24:59 +01:00
Johannes Schickel
e21d6e0d11 Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into master
Conflicts:
	backends/platform/android/android.cpp
	engines/sci/graphics/screen.cpp
	engines/sci/graphics/transitions.cpp
2011-02-19 21:46:45 +01:00
dhewg
adf2225eb4 ANDROID: Move helper defines in a new header file
- added a few macros for convinience
- use them
- replaced CHECK_GL_ERROR with GLCALL
- spam GLCALL
2011-02-19 20:15:51 +01:00
dhewg
229e3ca5bf ANDROID: inline some GLESTexture members 2011-02-19 20:15:51 +01:00