Fixed on-screen keys disappearing in OpenArena
This commit is contained in:
Submodule project/jni/application/openarena/engine updated: a98ce32e83...d9bfbb1770
@@ -93,6 +93,7 @@ enum { MOUSE_POINTER_W = 32, MOUSE_POINTER_H = 32, MOUSE_POINTER_X = 5, MOUSE_PO
|
|||||||
static int sunTheme = 0;
|
static int sunTheme = 0;
|
||||||
static int joystickTouchPoints[MAX_JOYSTICKS*2];
|
static int joystickTouchPoints[MAX_JOYSTICKS*2];
|
||||||
|
|
||||||
|
static void R_DumpOpenGlState(void);
|
||||||
|
|
||||||
static inline int InsideRect(const SDL_Rect * r, int x, int y)
|
static inline int InsideRect(const SDL_Rect * r, int x, int y)
|
||||||
{
|
{
|
||||||
@@ -136,6 +137,18 @@ static inline void beginDrawingTex()
|
|||||||
glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE, &oldGlState.clientTexunitId);
|
glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE, &oldGlState.clientTexunitId);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//R_DumpOpenGlState();
|
||||||
|
|
||||||
|
/*
|
||||||
|
glActiveTexture(GL_TEXTURE1);
|
||||||
|
glClientActiveTexture(GL_TEXTURE1);
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
glDisableClientState(GL_COLOR_ARRAY);
|
||||||
|
glDisableClientState(GL_NORMAL_ARRAY);
|
||||||
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
*/
|
||||||
|
|
||||||
glActiveTexture(GL_TEXTURE0);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
glClientActiveTexture(GL_TEXTURE0);
|
glClientActiveTexture(GL_TEXTURE0);
|
||||||
|
|
||||||
@@ -153,8 +166,17 @@ static inline void beginDrawingTex()
|
|||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
glDisableClientState(GL_COLOR_ARRAY);
|
glDisableClientState(GL_COLOR_ARRAY);
|
||||||
|
//static const GLfloat color[] = { 1.0f, 1.0f, 1.0f, 1.0f };
|
||||||
|
//glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, color);
|
||||||
|
//glDisable(GL_DEPTH_TEST);
|
||||||
|
//glDisable(GL_ALPHA_TEST);
|
||||||
|
//glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
|
||||||
|
//glDisableClientState(GL_NORMAL_ARRAY);
|
||||||
|
//glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
|
//glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void endDrawingTex()
|
static inline void endDrawingTex()
|
||||||
@@ -1187,3 +1209,97 @@ int SDL_ANDROID_SetScreenKeyboardHintMesage(const char * hint)
|
|||||||
SDL_ANDROID_CallJavaSetScreenKeyboardHintMessage(hint);
|
SDL_ANDROID_CallJavaSetScreenKeyboardHintMessage(hint);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Dumps OpenGL state for debugging - typically every capability set with glEnable().
|
||||||
|
*/
|
||||||
|
void R_DumpOpenGlState(void)
|
||||||
|
{
|
||||||
|
#define CAPABILITY( X ) {GL_ ## X, # X}
|
||||||
|
/* List taken from here: http://www.khronos.org/opengles/sdk/1.1/docs/man/glIsEnabled.xml */
|
||||||
|
const struct { GLenum idx; const char * text; } openGLCaps[] = {
|
||||||
|
CAPABILITY(ALPHA_TEST),
|
||||||
|
CAPABILITY(BLEND),
|
||||||
|
CAPABILITY(COLOR_ARRAY),
|
||||||
|
CAPABILITY(COLOR_LOGIC_OP),
|
||||||
|
CAPABILITY(COLOR_MATERIAL),
|
||||||
|
CAPABILITY(CULL_FACE),
|
||||||
|
CAPABILITY(DEPTH_TEST),
|
||||||
|
CAPABILITY(DITHER),
|
||||||
|
CAPABILITY(FOG),
|
||||||
|
CAPABILITY(LIGHTING),
|
||||||
|
CAPABILITY(LINE_SMOOTH),
|
||||||
|
CAPABILITY(MULTISAMPLE),
|
||||||
|
CAPABILITY(NORMAL_ARRAY),
|
||||||
|
CAPABILITY(NORMALIZE),
|
||||||
|
CAPABILITY(POINT_SMOOTH),
|
||||||
|
CAPABILITY(POLYGON_OFFSET_FILL),
|
||||||
|
CAPABILITY(RESCALE_NORMAL),
|
||||||
|
CAPABILITY(SAMPLE_ALPHA_TO_COVERAGE),
|
||||||
|
CAPABILITY(SAMPLE_ALPHA_TO_ONE),
|
||||||
|
CAPABILITY(SAMPLE_COVERAGE),
|
||||||
|
CAPABILITY(SCISSOR_TEST),
|
||||||
|
CAPABILITY(STENCIL_TEST),
|
||||||
|
CAPABILITY(VERTEX_ARRAY)
|
||||||
|
};
|
||||||
|
#undef CAPABILITY
|
||||||
|
|
||||||
|
char s[1024] = "";
|
||||||
|
GLint i;
|
||||||
|
GLint maxTexUnits = 0;
|
||||||
|
GLint activeTexUnit = 0;
|
||||||
|
GLint activeClientTexUnit = 0;
|
||||||
|
GLint activeTexId = 0;
|
||||||
|
GLfloat texEnvMode = 0;
|
||||||
|
const char * texEnvModeStr = "UNKNOWN";
|
||||||
|
GLfloat color[4];
|
||||||
|
|
||||||
|
for (i = 0; i < sizeof(openGLCaps) / sizeof(openGLCaps[0]); i++) {
|
||||||
|
if (glIsEnabled(openGLCaps[i].idx)) {
|
||||||
|
strcat(s, openGLCaps[i].text);
|
||||||
|
strcat(s, " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
glGetFloatv(GL_CURRENT_COLOR, color);
|
||||||
|
|
||||||
|
__android_log_print(ANDROID_LOG_INFO, "libSDL", "OpenGL enabled caps: %s color %f %f %f %f \n", s, color[0], color[1], color[2], color[3]);
|
||||||
|
|
||||||
|
glGetIntegerv(GL_ACTIVE_TEXTURE, &activeTexUnit);
|
||||||
|
glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE, &activeClientTexUnit);
|
||||||
|
|
||||||
|
glGetIntegerv(GL_MAX_TEXTURE_UNITS, &maxTexUnits);
|
||||||
|
for (i = GL_TEXTURE0; i < GL_TEXTURE0 + maxTexUnits; i++) {
|
||||||
|
glActiveTexture(i);
|
||||||
|
glClientActiveTexture(i);
|
||||||
|
|
||||||
|
strcpy(s, "");
|
||||||
|
if (glIsEnabled (GL_TEXTURE_2D))
|
||||||
|
strcat(s, "enabled, ");
|
||||||
|
if (glIsEnabled (GL_TEXTURE_COORD_ARRAY))
|
||||||
|
strcat(s, "with texcoord array, ");
|
||||||
|
if (i == activeTexUnit)
|
||||||
|
strcat(s, "active, ");
|
||||||
|
if (i == activeClientTexUnit)
|
||||||
|
strcat(s, "client active, ");
|
||||||
|
|
||||||
|
glGetIntegerv(GL_TEXTURE_BINDING_2D, &activeTexId);
|
||||||
|
glGetTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, &texEnvMode);
|
||||||
|
if (fabs(texEnvMode - GL_ADD) < 0.1f)
|
||||||
|
texEnvModeStr = "ADD";
|
||||||
|
if (fabs(texEnvMode - GL_MODULATE) < 0.1f)
|
||||||
|
texEnvModeStr = "MODULATE";
|
||||||
|
if (fabs(texEnvMode - GL_DECAL) < 0.1f)
|
||||||
|
texEnvModeStr = "DECAL";
|
||||||
|
if (fabs(texEnvMode - GL_BLEND) < 0.1f)
|
||||||
|
texEnvModeStr = "BLEND";
|
||||||
|
if (fabs(texEnvMode - GL_REPLACE) < 0.1f)
|
||||||
|
texEnvModeStr = "REPLACE";
|
||||||
|
if (fabs(texEnvMode - GL_COMBINE) < 0.1f)
|
||||||
|
texEnvModeStr = "COMBINE";
|
||||||
|
|
||||||
|
__android_log_print(ANDROID_LOG_INFO, "libSDL", "Texunit: %d texID %d %s texEnv mode %s\n", i - GL_TEXTURE0, activeTexId, s, texEnvModeStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
glActiveTexture(activeTexUnit);
|
||||||
|
glClientActiveTexture(activeClientTexUnit);
|
||||||
|
}
|
||||||
|
|||||||
4
todo.txt
4
todo.txt
@@ -24,10 +24,6 @@ Requested features, might never get implemented
|
|||||||
TODO, which will get actually done
|
TODO, which will get actually done
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
- OpenArena: Smooth camera rotation in aim under finger mode.
|
|
||||||
|
|
||||||
- OpenArena: fix and enable renderer_oa.
|
|
||||||
|
|
||||||
- OpenArena: chat text input should be faster.
|
- OpenArena: chat text input should be faster.
|
||||||
|
|
||||||
- OpenArena: Shift and Ctrl keys on USB keyboard do not work for text input.
|
- OpenArena: Shift and Ctrl keys on USB keyboard do not work for text input.
|
||||||
|
|||||||
Reference in New Issue
Block a user