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 joystickTouchPoints[MAX_JOYSTICKS*2];
|
||||
|
||||
static void R_DumpOpenGlState(void);
|
||||
|
||||
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);
|
||||
#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);
|
||||
glClientActiveTexture(GL_TEXTURE0);
|
||||
|
||||
@@ -153,8 +166,17 @@ static inline void beginDrawingTex()
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glEnable(GL_BLEND);
|
||||
glDisable(GL_CULL_FACE);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
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()
|
||||
@@ -1187,3 +1209,97 @@ int SDL_ANDROID_SetScreenKeyboardHintMesage(const char * hint)
|
||||
SDL_ANDROID_CallJavaSetScreenKeyboardHintMessage(hint);
|
||||
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
|
||||
==================================
|
||||
|
||||
- OpenArena: Smooth camera rotation in aim under finger mode.
|
||||
|
||||
- OpenArena: fix and enable renderer_oa.
|
||||
|
||||
- OpenArena: chat text input should be faster.
|
||||
|
||||
- OpenArena: Shift and Ctrl keys on USB keyboard do not work for text input.
|
||||
|
||||
Reference in New Issue
Block a user