diff --git a/common.gradle b/common.gradle index d332cba6d..40098b7a6 100644 --- a/common.gradle +++ b/common.gradle @@ -206,7 +206,7 @@ tasks.withType(Sign) { } checkstyle { - toolVersion '9.3' + toolVersion '10.20.1' configFile file("${gradle.rootProject.rootDir}/config/checkstyle/checkstyle.xml") } diff --git a/jme3-android-examples/src/main/AndroidManifest.xml b/jme3-android-examples/src/main/AndroidManifest.xml index cf9cc7c2d..9ad8d1f7c 100644 --- a/jme3-android-examples/src/main/AndroidManifest.xml +++ b/jme3-android-examples/src/main/AndroidManifest.xml @@ -42,7 +42,7 @@ android:normalScreens="true" android:smallScreens="true"/> - + diff --git a/jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java b/jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java index c0e6815eb..a6a2d87e5 100644 --- a/jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java +++ b/jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java @@ -99,46 +99,44 @@ public class AndroidAssetInfo extends AssetInfo { this.resourceId = resourceId; } + private android.content.res.Resources getAndroidResources() { + return JmeAndroidSystem.getView().getContext().getResources(); + } + + private InputStream getResourceAsStream(String assetPath, int resourceId) throws AssetLoadException { + android.content.res.Resources androidResources = getAndroidResources(); + try { + if (resourceId == 0) { + return androidResources.getAssets().open(assetPath); + } else { + return androidResources.openRawResource(resourceId); + } + } catch (IOException | Resources.NotFoundException ex) { + throw new AssetLoadException("Failed to open asset " + assetPath, ex); + } + } + @Override public InputStream openStream() { - if (in != null){ - // Reuse the already existing stream (only once) + if (in != null) { InputStream in2 = in; in = null; return in2; - }else{ - // Create a new stream for subsequent invocations. - android.content.res.Resources androidResources = JmeAndroidSystem.getView().getContext().getResources(); - if (resourceId == 0) { - try { - return androidResources.getAssets().open(assetPath); - } catch (IOException ex) { - throw new AssetLoadException(AssetOpenError + assetPath, ex); - } - } else { - try { - return androidResources.openRawResource(resourceId); - } catch (Resources.NotFoundException ex) { - throw new AssetLoadException(AssetOpenError + assetPath, ex); - } - } + } else { + return getResourceAsStream(assetPath, resourceId); } } public AssetFileDescriptor openFileDescriptor() { - android.content.res.Resources androidResources = JmeAndroidSystem.getView().getContext().getResources(); - if (resourceId == 0) { - try { + android.content.res.Resources androidResources = getAndroidResources(); + try { + if (resourceId == 0) { return androidResources.getAssets().openFd(assetPath); - } catch (IOException ex) { - throw new AssetLoadException(AssetOpenError + assetPath, ex); - } - } else { - try { + } else { return androidResources.openRawResourceFd(resourceId); - } catch (Resources.NotFoundException ex) { - throw new AssetLoadException(AssetOpenError + assetPath, ex); } + } catch (IOException | Resources.NotFoundException ex) { + throw new AssetLoadException("Failed to open asset " + assetPath, ex); } } } diff --git a/jme3-android/src/main/java/com/jme3/input/android/AndroidGestureProcessor.java b/jme3-android/src/main/java/com/jme3/input/android/AndroidGestureProcessor.java index c680302fb..280087148 100644 --- a/jme3-android/src/main/java/com/jme3/input/android/AndroidGestureProcessor.java +++ b/jme3-android/src/main/java/com/jme3/input/android/AndroidGestureProcessor.java @@ -84,13 +84,15 @@ public boolean onSingleTapUp(MotionEvent event) { @Override public void onShowPress(MotionEvent event) { - float jmeX = touchInput.getJmeX(event.getX()); - float jmeY = touchInput.invertY(touchInput.getJmeY(event.getY())); - prepareTouchEvent(TouchEvent.Type.SHOWPRESS, event, jmeX, jmeY); + pressEventHandler(event, TouchEvent.Type.SHOWPRESS); } @Override public void onLongPress(MotionEvent event) { + pressEventHandler(event, TouchEvent.Type.LONGPRESSED); + } + + private void pressEventHandler(MotionEvent event, TouchEvent.Type eventType) { float jmeX = touchInput.getJmeX(event.getX()); float jmeY = touchInput.invertY(touchInput.getJmeY(event.getY())); prepareTouchEvent(TouchEvent.Type.LONGPRESSED, event, jmeX, jmeY); diff --git a/jme3-android/src/main/java/com/jme3/input/android/AndroidJoystickJoyInput14.java b/jme3-android/src/main/java/com/jme3/input/android/AndroidJoystickJoyInput14.java index 2fc7cc651..a033917e1 100644 --- a/jme3-android/src/main/java/com/jme3/input/android/AndroidJoystickJoyInput14.java +++ b/jme3-android/src/main/java/com/jme3/input/android/AndroidJoystickJoyInput14.java @@ -252,7 +252,11 @@ public boolean onKey(KeyEvent event) { return consumed; } - + private void logRemap(String original, String logicalId) { + if (logger.isLoggable(Level.FINE) && !Objects.equals(logicalId, original)) { + logger.log(Level.FINE, "Remapped: {0} to: {1}", new Object[]{original, logicalId}); + } + } protected class AndroidJoystick extends AbstractJoystick { private JoystickAxis nullAxis; @@ -335,13 +339,8 @@ protected JoystickButton addButton( int keyCode ) { original = JoystickButton.BUTTON_11; } -// String logicalId = JoystickCompatibilityMappings.remapButton( getName(), original ); -// if (logger.isLoggable(Level.FINE) && !Objects.equals(logicalId, original)) { -// logger.log(Level.FINE, "Remapped: {0} to: {1}", -// new Object[]{original, logicalId}); -// } - String logicalId = JoystickCompatibilityMappings.remapButton(getName(), original); - logRemappingIfNeeded(original, logicalId, logger); + String logicalId = JoystickCompatibilityMappings.remapButton( getName(), original ); + logRemap(original, logicalId); JoystickButton button = new DefaultJoystickButton( getInputManager(), this, getButtonCount(), name, logicalId ); @@ -350,6 +349,7 @@ protected JoystickButton addButton( int keyCode ) { return button; } + protected JoystickAxis addAxis(MotionRange motionRange) { String name = MotionEvent.axisToString(motionRange.getAxis()); @@ -368,10 +368,8 @@ protected JoystickAxis addAxis(MotionRange motionRange) { } else if (motionRange.getAxis() == MotionEvent.AXIS_HAT_Y) { original = JoystickAxis.POV_Y; } - - String logicalId = JoystickCompatibilityMappings.remapAxis(getName(), original); - logRemappingIfNeeded(original, logicalId, logger); - + String logicalId = JoystickCompatibilityMappings.remapAxis( getName(), original ); + logRemap(original, logicalId); JoystickAxis axis = new DefaultJoystickAxis(getInputManager(), this, getAxisCount(), diff --git a/jme3-android/src/main/java/com/jme3/renderer/android/RendererUtil.java b/jme3-android/src/main/java/com/jme3/renderer/android/RendererUtil.java index ef8d2163d..011f84a72 100644 --- a/jme3-android/src/main/java/com/jme3/renderer/android/RendererUtil.java +++ b/jme3-android/src/main/java/com/jme3/renderer/android/RendererUtil.java @@ -157,6 +157,6 @@ public static void checkGLError() { if (!ENABLE_ERROR_CHECKING) { return; } - checkAndThrowGLError(); + checkGLErrorForced(); } } diff --git a/jme3-android/src/main/java/com/jme3/system/android/AndroidConfigChooser.java b/jme3-android/src/main/java/com/jme3/system/android/AndroidConfigChooser.java index a0c75a065..81186148c 100644 --- a/jme3-android/src/main/java/com/jme3/system/android/AndroidConfigChooser.java +++ b/jme3-android/src/main/java/com/jme3/system/android/AndroidConfigChooser.java @@ -164,18 +164,12 @@ private EGLConfig[] getConfigs(EGL10 egl, EGLDisplay display) { { // Get back to openGL ES 2 configSpec[1]=EGL_OPENGL_ES2_BIT; - if (!egl.eglChooseConfig(display, configSpec, null, 0, num_config)) { - RendererUtil.checkEGLError(egl); - throw new AssertionError(); - } + checkEGL(egl.eglChooseConfig(display, configSpec, null, 0, num_config), egl); } int numConfigs = num_config[0]; EGLConfig[] configs = new EGLConfig[numConfigs]; - if (!egl.eglChooseConfig(display, configSpec, configs, numConfigs, num_config)) { - RendererUtil.checkEGLError(egl); - throw new AssertionError(); - } + checkEGL(egl.eglChooseConfig(display, configSpec, configs, numConfigs, num_config), egl); logger.fine("--------------Display Configurations---------------"); for (EGLConfig eGLConfig : configs) { @@ -186,6 +180,13 @@ private EGLConfig[] getConfigs(EGL10 egl, EGLDisplay display) { return configs; } + private static void checkEGL(boolean isEGL, EGL10 egl10) { + if (!isEGL) { + RendererUtil.checkEGLError(egl10); + throw new AssertionError(); + } + } + private EGLConfig chooseConfig( EGL10 egl, EGLDisplay display, EGLConfig[] configs, Config requestedConfig, boolean higherRGB, boolean higherAlpha, diff --git a/jme3-desktop/src/main/java/com/jme3/app/AppletHarness.java b/jme3-desktop/src/main/java/com/jme3/app/AppletHarness.java index 73ebaf414..65034a781 100644 --- a/jme3-desktop/src/main/java/com/jme3/app/AppletHarness.java +++ b/jme3-desktop/src/main/java/com/jme3/app/AppletHarness.java @@ -47,6 +47,7 @@ import java.util.HashMap; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; +import java.util.logging.*; /** * @author Kirill Vainer @@ -71,6 +72,7 @@ public static Applet getApplet(Application app){ @SuppressWarnings("unchecked") private void createCanvas(){ AppSettings settings = new AppSettings(true); + Logger logger = Logger.getLogger(this.getClass().getName()); // load app cfg if (appCfg != null){ @@ -80,6 +82,9 @@ private void createCanvas(){ settings.load(in); in.close(); } catch (IOException ex){ + // Log the exception securely + logger.log(Level.SEVERE, "Error loading applet configuration", ex); + // Called before application has been created .... // Display error message through AWT JOptionPane.showMessageDialog(this, "An error has occurred while " @@ -87,7 +92,6 @@ private void createCanvas(){ + ex.getMessage(), "jME3 Applet", JOptionPane.ERROR_MESSAGE); - ex.printStackTrace(); } finally { if (in != null) try { diff --git a/jme3-lwjgl3/src/main/java/com/jme3/input/lwjgl/GlfwKeyMap.java b/jme3-lwjgl3/src/main/java/com/jme3/input/lwjgl/GlfwKeyMap.java index 51baafbda..7fc0e3984 100644 --- a/jme3-lwjgl3/src/main/java/com/jme3/input/lwjgl/GlfwKeyMap.java +++ b/jme3-lwjgl3/src/main/java/com/jme3/input/lwjgl/GlfwKeyMap.java @@ -48,127 +48,123 @@ private static void reg(final int jmeKey, final int glfwKey) { GLFW_TO_JME_KEY_MAP[glfwKey] = jmeKey; } + private static void registerKeys() { + int[][] keyMappings = { + {KEY_ESCAPE, GLFW_KEY_ESCAPE}, + {KEY_1, GLFW_KEY_1}, + {KEY_2, GLFW_KEY_2}, + {KEY_3, GLFW_KEY_3}, + {KEY_4, GLFW_KEY_4}, + {KEY_5, GLFW_KEY_5}, + {KEY_6, GLFW_KEY_6}, + {KEY_7, GLFW_KEY_7}, + {KEY_8, GLFW_KEY_8}, + {KEY_9, GLFW_KEY_9}, + {KEY_0, GLFW_KEY_0}, + {KEY_MINUS, GLFW_KEY_MINUS}, + {KEY_EQUALS, GLFW_KEY_EQUAL}, + {KEY_BACK, GLFW_KEY_BACKSPACE}, + {KEY_TAB, GLFW_KEY_TAB}, + {KEY_Q, GLFW_KEY_Q}, + {KEY_W, GLFW_KEY_W}, + {KEY_E, GLFW_KEY_E}, + {KEY_R, GLFW_KEY_R}, + {KEY_T, GLFW_KEY_T}, + {KEY_Y, GLFW_KEY_Y}, + {KEY_U, GLFW_KEY_U}, + {KEY_I, GLFW_KEY_I}, + {KEY_O, GLFW_KEY_O}, + {KEY_P, GLFW_KEY_P}, + {KEY_LBRACKET, GLFW_KEY_LEFT_BRACKET}, + {KEY_RBRACKET, GLFW_KEY_RIGHT_BRACKET}, + {KEY_RETURN, GLFW_KEY_ENTER}, + {KEY_LCONTROL, GLFW_KEY_LEFT_CONTROL}, + {KEY_A, GLFW_KEY_A}, + {KEY_S, GLFW_KEY_S}, + {KEY_D, GLFW_KEY_D}, + {KEY_F, GLFW_KEY_F}, + {KEY_G, GLFW_KEY_G}, + {KEY_H, GLFW_KEY_H}, + {KEY_J, GLFW_KEY_J}, + {KEY_K, GLFW_KEY_K}, + {KEY_L, GLFW_KEY_L}, + {KEY_SEMICOLON, GLFW_KEY_SEMICOLON}, + {KEY_APOSTROPHE, GLFW_KEY_APOSTROPHE}, + {KEY_GRAVE, GLFW_KEY_GRAVE_ACCENT}, + {KEY_LSHIFT, GLFW_KEY_LEFT_SHIFT}, + {KEY_BACKSLASH, GLFW_KEY_BACKSLASH}, + {KEY_Z, GLFW_KEY_Z}, + {KEY_X, GLFW_KEY_X}, + {KEY_C, GLFW_KEY_C}, + {KEY_V, GLFW_KEY_V}, + {KEY_B, GLFW_KEY_B}, + {KEY_N, GLFW_KEY_N}, + {KEY_M, GLFW_KEY_M}, + {KEY_COMMA, GLFW_KEY_COMMA}, + {KEY_PERIOD, GLFW_KEY_PERIOD}, + {KEY_SLASH, GLFW_KEY_SLASH}, + {KEY_RSHIFT, GLFW_KEY_RIGHT_SHIFT}, + {KEY_MULTIPLY, GLFW_KEY_KP_MULTIPLY}, + {KEY_LMENU, GLFW_KEY_LEFT_ALT}, + {KEY_SPACE, GLFW_KEY_SPACE}, + {KEY_CAPITAL, GLFW_KEY_CAPS_LOCK}, + {KEY_F1, GLFW_KEY_F1}, + {KEY_F2, GLFW_KEY_F2}, + {KEY_F3, GLFW_KEY_F3}, + {KEY_F4, GLFW_KEY_F4}, + {KEY_F5, GLFW_KEY_F5}, + {KEY_F6, GLFW_KEY_F6}, + {KEY_F7, GLFW_KEY_F7}, + {KEY_F8, GLFW_KEY_F8}, + {KEY_F9, GLFW_KEY_F9}, + {KEY_F10, GLFW_KEY_F10}, + {KEY_NUMLOCK, GLFW_KEY_NUM_LOCK}, + {KEY_SCROLL, GLFW_KEY_SCROLL_LOCK}, + {KEY_NUMPAD7, GLFW_KEY_KP_7}, + {KEY_NUMPAD8, GLFW_KEY_KP_8}, + {KEY_NUMPAD9, GLFW_KEY_KP_9}, + {KEY_SUBTRACT, GLFW_KEY_KP_SUBTRACT}, + {KEY_NUMPAD4, GLFW_KEY_KP_4}, + {KEY_NUMPAD5, GLFW_KEY_KP_5}, + {KEY_NUMPAD6, GLFW_KEY_KP_6}, + {KEY_ADD, GLFW_KEY_KP_ADD}, + {KEY_NUMPAD1, GLFW_KEY_KP_1}, + {KEY_NUMPAD2, GLFW_KEY_KP_2}, + {KEY_NUMPAD3, GLFW_KEY_KP_3}, + {KEY_NUMPAD0, GLFW_KEY_KP_0}, + {KEY_DECIMAL, GLFW_KEY_KP_DECIMAL}, + {KEY_F11, GLFW_KEY_F11}, + {KEY_F12, GLFW_KEY_F12}, + {KEY_F13, GLFW_KEY_F13}, + {KEY_F14, GLFW_KEY_F14}, + {KEY_F15, GLFW_KEY_F15}, + {KEY_NUMPADENTER, GLFW_KEY_KP_ENTER}, + {KEY_RCONTROL, GLFW_KEY_RIGHT_CONTROL}, + {KEY_DIVIDE, GLFW_KEY_KP_DIVIDE}, + {KEY_SYSRQ, GLFW_KEY_PRINT_SCREEN}, + {KEY_RMENU, GLFW_KEY_RIGHT_ALT}, + {KEY_PAUSE, GLFW_KEY_PAUSE}, + {KEY_HOME, GLFW_KEY_HOME}, + {KEY_UP, GLFW_KEY_UP}, + {KEY_PRIOR, GLFW_KEY_PAGE_UP}, + {KEY_LEFT, GLFW_KEY_LEFT}, + {KEY_RIGHT, GLFW_KEY_RIGHT}, + {KEY_END, GLFW_KEY_END}, + {KEY_DOWN, GLFW_KEY_DOWN}, + {KEY_NEXT, GLFW_KEY_PAGE_DOWN}, + {KEY_INSERT, GLFW_KEY_INSERT}, + {KEY_DELETE, GLFW_KEY_DELETE}, + {KEY_LMETA, GLFW_KEY_LEFT_SUPER}, + {KEY_RMETA, GLFW_KEY_RIGHT_SUPER} + }; + + for (int[] mapping : keyMappings) { + reg(mapping[0], mapping[1]); + } + } + static { - reg(KEY_ESCAPE, GLFW_KEY_ESCAPE); - reg(KEY_1, GLFW_KEY_1); - reg(KEY_2, GLFW_KEY_2); - reg(KEY_3, GLFW_KEY_3); - reg(KEY_4, GLFW_KEY_4); - reg(KEY_5, GLFW_KEY_5); - reg(KEY_6, GLFW_KEY_6); - reg(KEY_7, GLFW_KEY_7); - reg(KEY_8, GLFW_KEY_8); - reg(KEY_9, GLFW_KEY_9); - reg(KEY_0, GLFW_KEY_0); - reg(KEY_MINUS, GLFW_KEY_MINUS); - reg(KEY_EQUALS, GLFW_KEY_EQUAL); - reg(KEY_BACK, GLFW_KEY_BACKSPACE); - reg(KEY_TAB, GLFW_KEY_TAB); - reg(KEY_Q, GLFW_KEY_Q); - reg(KEY_W, GLFW_KEY_W); - reg(KEY_E, GLFW_KEY_E); - reg(KEY_R, GLFW_KEY_R); - reg(KEY_T, GLFW_KEY_T); - reg(KEY_Y, GLFW_KEY_Y); - reg(KEY_U, GLFW_KEY_U); - reg(KEY_I, GLFW_KEY_I); - reg(KEY_O, GLFW_KEY_O); - reg(KEY_P, GLFW_KEY_P); - reg(KEY_LBRACKET, GLFW_KEY_LEFT_BRACKET); - reg(KEY_RBRACKET, GLFW_KEY_RIGHT_BRACKET); - reg(KEY_RETURN, GLFW_KEY_ENTER); - reg(KEY_LCONTROL, GLFW_KEY_LEFT_CONTROL); - reg(KEY_A, GLFW_KEY_A); - reg(KEY_S, GLFW_KEY_S); - reg(KEY_D, GLFW_KEY_D); - reg(KEY_F, GLFW_KEY_F); - reg(KEY_G, GLFW_KEY_G); - reg(KEY_H, GLFW_KEY_H); - reg(KEY_J, GLFW_KEY_J); - reg(KEY_K, GLFW_KEY_K); - reg(KEY_L, GLFW_KEY_L); - reg(KEY_SEMICOLON, GLFW_KEY_SEMICOLON); - reg(KEY_APOSTROPHE, GLFW_KEY_APOSTROPHE); - reg(KEY_GRAVE, GLFW_KEY_GRAVE_ACCENT); - reg(KEY_LSHIFT, GLFW_KEY_LEFT_SHIFT); - reg(KEY_BACKSLASH, GLFW_KEY_BACKSLASH); - reg(KEY_Z, GLFW_KEY_Z); - reg(KEY_X, GLFW_KEY_X); - reg(KEY_C, GLFW_KEY_C); - reg(KEY_V, GLFW_KEY_V); - reg(KEY_B, GLFW_KEY_B); - reg(KEY_N, GLFW_KEY_N); - reg(KEY_M, GLFW_KEY_M); - reg(KEY_COMMA, GLFW_KEY_COMMA); - reg(KEY_PERIOD, GLFW_KEY_PERIOD); - reg(KEY_SLASH, GLFW_KEY_SLASH); - reg(KEY_RSHIFT, GLFW_KEY_RIGHT_SHIFT); - reg(KEY_MULTIPLY, GLFW_KEY_KP_MULTIPLY); - reg(KEY_LMENU, GLFW_KEY_LEFT_ALT); - reg(KEY_SPACE, GLFW_KEY_SPACE); - reg(KEY_CAPITAL, GLFW_KEY_CAPS_LOCK); - reg(KEY_F1, GLFW_KEY_F1); - reg(KEY_F2, GLFW_KEY_F2); - reg(KEY_F3, GLFW_KEY_F3); - reg(KEY_F4, GLFW_KEY_F4); - reg(KEY_F5, GLFW_KEY_F5); - reg(KEY_F6, GLFW_KEY_F6); - reg(KEY_F7, GLFW_KEY_F7); - reg(KEY_F8, GLFW_KEY_F8); - reg(KEY_F9, GLFW_KEY_F9); - reg(KEY_F10, GLFW_KEY_F10); - reg(KEY_NUMLOCK, GLFW_KEY_NUM_LOCK); - reg(KEY_SCROLL, GLFW_KEY_SCROLL_LOCK); - reg(KEY_NUMPAD7, GLFW_KEY_KP_7); - reg(KEY_NUMPAD8, GLFW_KEY_KP_8); - reg(KEY_NUMPAD9, GLFW_KEY_KP_9); - reg(KEY_SUBTRACT, GLFW_KEY_KP_SUBTRACT); - reg(KEY_NUMPAD4, GLFW_KEY_KP_4); - reg(KEY_NUMPAD5, GLFW_KEY_KP_5); - reg(KEY_NUMPAD6, GLFW_KEY_KP_6); - reg(KEY_ADD, GLFW_KEY_KP_ADD); - reg(KEY_NUMPAD1, GLFW_KEY_KP_1); - reg(KEY_NUMPAD2, GLFW_KEY_KP_2); - reg(KEY_NUMPAD3, GLFW_KEY_KP_3); - reg(KEY_NUMPAD0, GLFW_KEY_KP_0); - reg(KEY_DECIMAL, GLFW_KEY_KP_DECIMAL); - reg(KEY_F11, GLFW_KEY_F11); - reg(KEY_F12, GLFW_KEY_F12); - reg(KEY_F13, GLFW_KEY_F13); - reg(KEY_F14, GLFW_KEY_F14); - reg(KEY_F15, GLFW_KEY_F15); - //reg(KEY_KANA, GLFW_KEY_); - //reg(KEY_CONVERT, GLFW_KEY_); - //reg(KEY_NOCONVERT, GLFW_KEY_); - //reg(KEY_YEN, GLFW_KEY_); - //reg(KEY_NUMPADEQUALS, GLFW_KEY_); - //reg(KEY_CIRCUMFLEX, GLFW_KEY_); - //reg(KEY_AT, GLFW_KEY_); - //reg(KEY_COLON, GLFW_KEY_); - //reg(KEY_UNDERLINE, GLFW_KEY_); - //reg(KEY_KANJI, GLFW_KEY_); - //reg(KEY_STOP, GLFW_KEY_); - //reg(KEY_AX, GLFW_KEY_); - //reg(KEY_UNLABELED, GLFW_KEY_); - reg(KEY_NUMPADENTER, GLFW_KEY_KP_ENTER); - reg(KEY_RCONTROL, GLFW_KEY_RIGHT_CONTROL); - //reg(KEY_NUMPADCOMMA, GLFW_KEY_); - reg(KEY_DIVIDE, GLFW_KEY_KP_DIVIDE); - reg(KEY_SYSRQ, GLFW_KEY_PRINT_SCREEN); - reg(KEY_RMENU, GLFW_KEY_RIGHT_ALT); - reg(KEY_PAUSE, GLFW_KEY_PAUSE); - reg(KEY_HOME, GLFW_KEY_HOME); - reg(KEY_UP, GLFW_KEY_UP); - reg(KEY_PRIOR, GLFW_KEY_PAGE_UP); - reg(KEY_LEFT, GLFW_KEY_LEFT); - reg(KEY_RIGHT, GLFW_KEY_RIGHT); - reg(KEY_END, GLFW_KEY_END); - reg(KEY_DOWN, GLFW_KEY_DOWN); - reg(KEY_NEXT, GLFW_KEY_PAGE_DOWN); - reg(KEY_INSERT, GLFW_KEY_INSERT); - reg(KEY_DELETE, GLFW_KEY_DELETE); - reg(KEY_LMETA, GLFW_KEY_LEFT_SUPER); - reg(KEY_RMETA, GLFW_KEY_RIGHT_SUPER); + registerKeys(); } /** @@ -179,7 +175,6 @@ public static int toJmeKeyCode(final int glfwKey) { return GLFW_TO_JME_KEY_MAP[glfwKey]; } - /** * Returns the glfw keycode that matches the specified jme keycode or * GLFW_KEY_UNKNOWN if there isn't any match. @@ -192,5 +187,4 @@ public static int fromJmeKeyCode(final int jmeKey) { } return GLFW_KEY_UNKNOWN; } - } diff --git a/jme3-plugins/src/xml/java/com/jme3/export/xml/XMLImporter.java b/jme3-plugins/src/xml/java/com/jme3/export/xml/XMLImporter.java index 4a9d98f19..373ed4855 100644 --- a/jme3-plugins/src/xml/java/com/jme3/export/xml/XMLImporter.java +++ b/jme3-plugins/src/xml/java/com/jme3/export/xml/XMLImporter.java @@ -110,7 +110,6 @@ public Savable load(InputStream f) throws IOException { DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(f); - domIn = new DOMInputCapsule(doc, this); return domIn.readSavable(null, null); } catch (SAXException | ParserConfigurationException e) {