abstract glfw keys

This commit is contained in:
Bixilon 2021-12-17 15:26:52 +01:00
parent c84a859bd9
commit cf2eef8cd7
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
5 changed files with 284 additions and 154 deletions

View File

@ -41,8 +41,6 @@ class DirectoryAssetsManager(
private val ResourceLocation.filePath: String
get() = "$basePath/$namespace/$path"
// ToDo: Load properties
private fun scanDirectory(directory: File) {
for (file in directory.listFiles() ?: return) {
if (file.isDirectory) {

View File

@ -20,7 +20,7 @@ object ResourcesAssetsUtil {
val zip = URLDecoder.decode(jarPath, StandardCharsets.UTF_8)
ZipAssetsManager(zip, canUnload = canUnload)
}
else -> TODO("Can not read resources: $rootResources")
else -> throw IllegalStateException("Can not read resources: $rootResources")
}
}
}

View File

@ -1,6 +1,6 @@
/*
* Minosoft
* Copyright (C) 2020 Moritz Zwerger
* Copyright 2020 Moritz Zwerger
*
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
@ -13,151 +13,146 @@
package de.bixilon.minosoft.config.key
import org.lwjgl.glfw.GLFW.*
import java.util.*
// ToDo: Replace glfwKeyIds
enum class KeyCodes(
@Deprecated("GLFW specific -> abstraction layer")
val glfwKeyId: Int,
) {
KEY_UNKNOWN(GLFW_KEY_UNKNOWN),
KEY_SPACE(GLFW_KEY_SPACE),
KEY_APOSTROPHE(GLFW_KEY_APOSTROPHE),
KEY_COMMA(GLFW_KEY_COMMA),
KEY_MINUS(GLFW_KEY_MINUS),
KEY_PERIOD(GLFW_KEY_PERIOD),
KEY_SLASH(GLFW_KEY_SLASH),
KEY_0(GLFW_KEY_0),
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_SEMICOLON(GLFW_KEY_SEMICOLON),
KEY_EQUAL(GLFW_KEY_EQUAL),
KEY_A(GLFW_KEY_A),
KEY_B(GLFW_KEY_B),
KEY_C(GLFW_KEY_C),
KEY_D(GLFW_KEY_D),
KEY_E(GLFW_KEY_E),
KEY_F(GLFW_KEY_F),
KEY_G(GLFW_KEY_G),
KEY_H(GLFW_KEY_H),
KEY_I(GLFW_KEY_I),
KEY_J(GLFW_KEY_J),
KEY_K(GLFW_KEY_K),
KEY_L(GLFW_KEY_L),
KEY_M(GLFW_KEY_M),
KEY_N(GLFW_KEY_N),
KEY_O(GLFW_KEY_O),
KEY_P(GLFW_KEY_P),
KEY_Q(GLFW_KEY_Q),
KEY_R(GLFW_KEY_R),
KEY_S(GLFW_KEY_S),
KEY_T(GLFW_KEY_T),
KEY_U(GLFW_KEY_U),
KEY_V(GLFW_KEY_V),
KEY_W(GLFW_KEY_W),
KEY_X(GLFW_KEY_X),
KEY_Y(GLFW_KEY_Y),
KEY_Z(GLFW_KEY_Z),
KEY_LEFT_BRACKET(GLFW_KEY_LEFT_BRACKET),
KEY_BACKSLASH(GLFW_KEY_BACKSLASH),
KEY_RIGHT_BRACKET(GLFW_KEY_RIGHT_BRACKET),
KEY_GRAVE_ACCENT(GLFW_KEY_GRAVE_ACCENT),
KEY_WORLD_1(GLFW_KEY_WORLD_1),
KEY_WORLD_2(GLFW_KEY_WORLD_2),
enum class KeyCodes {
KEY_UNKNOWN,
KEY_SPACE,
KEY_APOSTROPHE,
KEY_COMMA,
KEY_MINUS,
KEY_PERIOD,
KEY_SLASH,
KEY_0,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_SEMICOLON,
KEY_EQUAL,
KEY_A,
KEY_B,
KEY_C,
KEY_D,
KEY_E,
KEY_F,
KEY_G,
KEY_H,
KEY_I,
KEY_J,
KEY_K,
KEY_L,
KEY_M,
KEY_N,
KEY_O,
KEY_P,
KEY_Q,
KEY_R,
KEY_S,
KEY_T,
KEY_U,
KEY_V,
KEY_W,
KEY_X,
KEY_Y,
KEY_Z,
KEY_LEFT_BRACKET,
KEY_BACKSLASH,
KEY_RIGHT_BRACKET,
KEY_GRAVE_ACCENT,
KEY_WORLD_1,
KEY_WORLD_2,
KEY_ESCAPE(GLFW_KEY_ESCAPE),
KEY_ENTER(GLFW_KEY_ENTER),
KEY_TAB(GLFW_KEY_TAB),
KEY_BACKSPACE(GLFW_KEY_BACKSPACE),
KEY_INSERT(GLFW_KEY_INSERT),
KEY_DELETE(GLFW_KEY_DELETE),
KEY_RIGHT(GLFW_KEY_RIGHT),
KEY_LEFT(GLFW_KEY_LEFT),
KEY_DOWN(GLFW_KEY_DOWN),
KEY_UP(GLFW_KEY_UP),
KEY_PAGE_UP(GLFW_KEY_PAGE_UP),
KEY_PAGE_DOWN(GLFW_KEY_PAGE_DOWN),
KEY_HOME(GLFW_KEY_HOME),
KEY_END(GLFW_KEY_END),
KEY_CAPS_LOCK(GLFW_KEY_CAPS_LOCK),
KEY_SCROLL_LOCK(GLFW_KEY_SCROLL_LOCK),
KEY_NUM_LOCK(GLFW_KEY_NUM_LOCK),
KEY_PRINT_SCREEN(GLFW_KEY_PRINT_SCREEN),
KEY_PAUSE(GLFW_KEY_PAUSE),
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_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_F16(GLFW_KEY_F16),
KEY_F17(GLFW_KEY_F17),
KEY_F18(GLFW_KEY_F18),
KEY_F19(GLFW_KEY_F19),
KEY_F20(GLFW_KEY_F20),
KEY_F21(GLFW_KEY_F21),
KEY_F22(GLFW_KEY_F22),
KEY_F23(GLFW_KEY_F23),
KEY_F24(GLFW_KEY_F24),
KEY_F25(GLFW_KEY_F25),
KEY_KP_0(GLFW_KEY_KP_0),
KEY_KP_1(GLFW_KEY_KP_1),
KEY_KP_2(GLFW_KEY_KP_2),
KEY_KP_3(GLFW_KEY_KP_3),
KEY_KP_4(GLFW_KEY_KP_4),
KEY_KP_5(GLFW_KEY_KP_5),
KEY_KP_6(GLFW_KEY_KP_6),
KEY_KP_7(GLFW_KEY_KP_7),
KEY_KP_8(GLFW_KEY_KP_8),
KEY_KP_9(GLFW_KEY_KP_9),
KEY_KP_DECIMAL(GLFW_KEY_KP_DECIMAL),
KEY_KP_DIVIDE(GLFW_KEY_KP_DIVIDE),
KEY_KP_MULTIPLY(GLFW_KEY_KP_MULTIPLY),
KEY_KP_SUBTRACT(GLFW_KEY_KP_SUBTRACT),
KEY_KP_ADD(GLFW_KEY_KP_ADD),
KEY_KP_ENTER(GLFW_KEY_KP_ENTER),
KEY_KP_EQUAL(GLFW_KEY_KP_EQUAL),
KEY_LEFT_SHIFT(GLFW_KEY_LEFT_SHIFT),
KEY_LEFT_CONTROL(GLFW_KEY_LEFT_CONTROL),
KEY_LEFT_ALT(GLFW_KEY_LEFT_ALT),
KEY_LEFT_SUPER(GLFW_KEY_LEFT_SUPER),
KEY_RIGHT_SHIFT(GLFW_KEY_RIGHT_SHIFT),
KEY_RIGHT_CONTROL(GLFW_KEY_RIGHT_CONTROL),
KEY_RIGHT_ALT(GLFW_KEY_RIGHT_ALT),
KEY_RIGHT_SUPER(GLFW_KEY_RIGHT_SUPER),
KEY_MENU(GLFW_KEY_MENU),
KEY_LAST(GLFW_KEY_LAST),
KEY_ESCAPE,
KEY_ENTER,
KEY_TAB,
KEY_BACKSPACE,
KEY_INSERT,
KEY_DELETE,
KEY_RIGHT,
KEY_LEFT,
KEY_DOWN,
KEY_UP,
KEY_PAGE_UP,
KEY_PAGE_DOWN,
KEY_HOME,
KEY_END,
KEY_CAPS_LOCK,
KEY_SCROLL_LOCK,
KEY_NUM_LOCK,
KEY_PRINT_SCREEN,
KEY_PAUSE,
KEY_F1,
KEY_F2,
KEY_F3,
KEY_F4,
KEY_F5,
KEY_F6,
KEY_F7,
KEY_F8,
KEY_F9,
KEY_F10,
KEY_F11,
KEY_F12,
KEY_F13,
KEY_F14,
KEY_F15,
KEY_F16,
KEY_F17,
KEY_F18,
KEY_F19,
KEY_F20,
KEY_F21,
KEY_F22,
KEY_F23,
KEY_F24,
KEY_F25,
KEY_KP_0,
KEY_KP_1,
KEY_KP_2,
KEY_KP_3,
KEY_KP_4,
KEY_KP_5,
KEY_KP_6,
KEY_KP_7,
KEY_KP_8,
KEY_KP_9,
KEY_KP_DECIMAL,
KEY_KP_DIVIDE,
KEY_KP_MULTIPLY,
KEY_KP_SUBTRACT,
KEY_KP_ADD,
KEY_KP_ENTER,
KEY_KP_EQUAL,
KEY_LEFT_SHIFT,
KEY_LEFT_CONTROL,
KEY_LEFT_ALT,
KEY_LEFT_SUPER,
KEY_RIGHT_SHIFT,
KEY_RIGHT_CONTROL,
KEY_RIGHT_ALT,
KEY_RIGHT_SUPER,
KEY_MENU,
KEY_LAST,
MOUSE_BUTTON_1(GLFW_MOUSE_BUTTON_1),
MOUSE_BUTTON_2(GLFW_MOUSE_BUTTON_2),
MOUSE_BUTTON_3(GLFW_MOUSE_BUTTON_3),
MOUSE_BUTTON_4(GLFW_MOUSE_BUTTON_4),
MOUSE_BUTTON_5(GLFW_MOUSE_BUTTON_5),
MOUSE_BUTTON_6(GLFW_MOUSE_BUTTON_6),
MOUSE_BUTTON_7(GLFW_MOUSE_BUTTON_7),
MOUSE_BUTTON_8(GLFW_MOUSE_BUTTON_8),
MOUSE_BUTTON_LAST(GLFW_MOUSE_BUTTON_LAST),
MOUSE_BUTTON_LEFT(GLFW_MOUSE_BUTTON_LEFT),
MOUSE_BUTTON_RIGHT(GLFW_MOUSE_BUTTON_RIGHT),
MOUSE_BUTTON_MIDDLE(GLFW_MOUSE_BUTTON_MIDDLE),
MOUSE_BUTTON_1,
MOUSE_BUTTON_2,
MOUSE_BUTTON_3,
MOUSE_BUTTON_4,
MOUSE_BUTTON_5,
MOUSE_BUTTON_6,
MOUSE_BUTTON_7,
MOUSE_BUTTON_8,
MOUSE_BUTTON_LAST,
MOUSE_BUTTON_LEFT,
MOUSE_BUTTON_RIGHT,
MOUSE_BUTTON_MIDDLE,
;
@ -167,19 +162,15 @@ enum class KeyCodes(
companion object {
val VALUES = values()
val KEY_CODE_MAP: Map<String, KeyCodes>
val KEY_CODE_GLFW_ID_MAP: Map<Int, KeyCodes>
init {
val keyCodeMap: MutableMap<String, KeyCodes> = mutableMapOf()
val keyCodeGLFWIdMap: MutableMap<Int, KeyCodes> = mutableMapOf()
for (keyCode in VALUES) {
keyCodeMap[keyCode.keyName.uppercase(Locale.getDefault()).replace(' ', '_')] = keyCode
keyCodeGLFWIdMap[keyCode.glfwKeyId] = keyCode
keyCodeMap[keyCode.keyName.uppercase().replace(' ', '_')] = keyCode
}
KEY_CODE_MAP = keyCodeMap.toMap()
KEY_CODE_GLFW_ID_MAP = keyCodeGLFWIdMap.toMap()
}
}
}

View File

@ -29,7 +29,6 @@ import de.bixilon.minosoft.gui.rendering.system.window.BaseWindow.Companion.DEFA
import de.bixilon.minosoft.gui.rendering.system.window.BaseWindow.Companion.DEFAULT_WINDOW_SIZE
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2dUtil.EMPTY
import de.bixilon.minosoft.modding.event.master.AbstractEventMaster
import de.bixilon.minosoft.terminal.RunConfiguration
import de.bixilon.minosoft.util.OSUtil
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
@ -152,7 +151,7 @@ class GLFWWindow(
override fun init(profile: RenderingProfile) {
GLFWErrorCallback.createPrint(System.err).set()
check(glfwInit()) { "Unable to initialize GLFW" }
check(glfwInit()) { "Unable to KeyCodes.initialize GLFW" }
glfwDefaultWindowHints()
if (renderWindow.preferQuads) {
@ -166,7 +165,7 @@ class GLFWWindow(
window = glfwCreateWindow(size.x, size.y, "Minosoft", MemoryUtil.NULL, MemoryUtil.NULL)
if (window == MemoryUtil.NULL) {
destroy()
throw RuntimeException("Failed to create the GLFW window")
throw RuntimeException("Failed to KeyCodes.create the GLFW window")
}
glfwMakeContextCurrent(window)
@ -272,7 +271,7 @@ class GLFWWindow(
if (window != this.window) {
return
}
val keyCode = KeyCodes.KEY_CODE_GLFW_ID_MAP[key] ?: KeyCodes.KEY_UNKNOWN
val keyCode = KEY_CODE_MAPPING[key] ?: KeyCodes.KEY_UNKNOWN
val keyAction = when (action) {
GLFW_PRESS -> KeyChangeTypes.PRESS
@ -332,6 +331,145 @@ class GLFWWindow(
}
companion object {
val KEY_CODE_MAPPING = mapOf(
GLFW_KEY_UNKNOWN to KeyCodes.KEY_UNKNOWN,
GLFW_KEY_SPACE to KeyCodes.KEY_SPACE,
GLFW_KEY_APOSTROPHE to KeyCodes.KEY_APOSTROPHE,
GLFW_KEY_COMMA to KeyCodes.KEY_COMMA,
GLFW_KEY_MINUS to KeyCodes.KEY_MINUS,
GLFW_KEY_PERIOD to KeyCodes.KEY_PERIOD,
GLFW_KEY_SLASH to KeyCodes.KEY_SLASH,
GLFW_KEY_0 to KeyCodes.KEY_0,
GLFW_KEY_1 to KeyCodes.KEY_1,
GLFW_KEY_2 to KeyCodes.KEY_2,
GLFW_KEY_3 to KeyCodes.KEY_3,
GLFW_KEY_4 to KeyCodes.KEY_4,
GLFW_KEY_5 to KeyCodes.KEY_5,
GLFW_KEY_6 to KeyCodes.KEY_6,
GLFW_KEY_7 to KeyCodes.KEY_7,
GLFW_KEY_8 to KeyCodes.KEY_8,
GLFW_KEY_9 to KeyCodes.KEY_9,
GLFW_KEY_SEMICOLON to KeyCodes.KEY_SEMICOLON,
GLFW_KEY_EQUAL to KeyCodes.KEY_EQUAL,
GLFW_KEY_A to KeyCodes.KEY_A,
GLFW_KEY_B to KeyCodes.KEY_B,
GLFW_KEY_C to KeyCodes.KEY_C,
GLFW_KEY_D to KeyCodes.KEY_D,
GLFW_KEY_E to KeyCodes.KEY_E,
GLFW_KEY_F to KeyCodes.KEY_F,
GLFW_KEY_G to KeyCodes.KEY_G,
GLFW_KEY_H to KeyCodes.KEY_H,
GLFW_KEY_I to KeyCodes.KEY_I,
GLFW_KEY_J to KeyCodes.KEY_J,
GLFW_KEY_K to KeyCodes.KEY_K,
GLFW_KEY_L to KeyCodes.KEY_L,
GLFW_KEY_M to KeyCodes.KEY_M,
GLFW_KEY_N to KeyCodes.KEY_N,
GLFW_KEY_O to KeyCodes.KEY_O,
GLFW_KEY_P to KeyCodes.KEY_P,
GLFW_KEY_Q to KeyCodes.KEY_Q,
GLFW_KEY_R to KeyCodes.KEY_R,
GLFW_KEY_S to KeyCodes.KEY_S,
GLFW_KEY_T to KeyCodes.KEY_T,
GLFW_KEY_U to KeyCodes.KEY_U,
GLFW_KEY_V to KeyCodes.KEY_V,
GLFW_KEY_W to KeyCodes.KEY_W,
GLFW_KEY_X to KeyCodes.KEY_X,
GLFW_KEY_Y to KeyCodes.KEY_Y,
GLFW_KEY_Z to KeyCodes.KEY_Z,
GLFW_KEY_LEFT_BRACKET to KeyCodes.KEY_LEFT_BRACKET,
GLFW_KEY_BACKSLASH to KeyCodes.KEY_BACKSLASH,
GLFW_KEY_RIGHT_BRACKET to KeyCodes.KEY_RIGHT_BRACKET,
GLFW_KEY_GRAVE_ACCENT to KeyCodes.KEY_GRAVE_ACCENT,
GLFW_KEY_WORLD_1 to KeyCodes.KEY_WORLD_1,
GLFW_KEY_WORLD_2 to KeyCodes.KEY_WORLD_2,
GLFW_KEY_ESCAPE to KeyCodes.KEY_ESCAPE,
GLFW_KEY_ENTER to KeyCodes.KEY_ENTER,
GLFW_KEY_TAB to KeyCodes.KEY_TAB,
GLFW_KEY_BACKSPACE to KeyCodes.KEY_BACKSPACE,
GLFW_KEY_INSERT to KeyCodes.KEY_INSERT,
GLFW_KEY_DELETE to KeyCodes.KEY_DELETE,
GLFW_KEY_RIGHT to KeyCodes.KEY_RIGHT,
GLFW_KEY_LEFT to KeyCodes.KEY_LEFT,
GLFW_KEY_DOWN to KeyCodes.KEY_DOWN,
GLFW_KEY_UP to KeyCodes.KEY_UP,
GLFW_KEY_PAGE_UP to KeyCodes.KEY_PAGE_UP,
GLFW_KEY_PAGE_DOWN to KeyCodes.KEY_PAGE_DOWN,
GLFW_KEY_HOME to KeyCodes.KEY_HOME,
GLFW_KEY_END to KeyCodes.KEY_END,
GLFW_KEY_CAPS_LOCK to KeyCodes.KEY_CAPS_LOCK,
GLFW_KEY_SCROLL_LOCK to KeyCodes.KEY_SCROLL_LOCK,
GLFW_KEY_NUM_LOCK to KeyCodes.KEY_NUM_LOCK,
GLFW_KEY_PRINT_SCREEN to KeyCodes.KEY_PRINT_SCREEN,
GLFW_KEY_PAUSE to KeyCodes.KEY_PAUSE,
GLFW_KEY_F1 to KeyCodes.KEY_F1,
GLFW_KEY_F2 to KeyCodes.KEY_F2,
GLFW_KEY_F3 to KeyCodes.KEY_F3,
GLFW_KEY_F4 to KeyCodes.KEY_F4,
GLFW_KEY_F5 to KeyCodes.KEY_F5,
GLFW_KEY_F6 to KeyCodes.KEY_F6,
GLFW_KEY_F7 to KeyCodes.KEY_F7,
GLFW_KEY_F8 to KeyCodes.KEY_F8,
GLFW_KEY_F9 to KeyCodes.KEY_F9,
GLFW_KEY_F10 to KeyCodes.KEY_F10,
GLFW_KEY_F11 to KeyCodes.KEY_F11,
GLFW_KEY_F12 to KeyCodes.KEY_F12,
GLFW_KEY_F13 to KeyCodes.KEY_F13,
GLFW_KEY_F14 to KeyCodes.KEY_F14,
GLFW_KEY_F15 to KeyCodes.KEY_F15,
GLFW_KEY_F16 to KeyCodes.KEY_F16,
GLFW_KEY_F17 to KeyCodes.KEY_F17,
GLFW_KEY_F18 to KeyCodes.KEY_F18,
GLFW_KEY_F19 to KeyCodes.KEY_F19,
GLFW_KEY_F20 to KeyCodes.KEY_F20,
GLFW_KEY_F21 to KeyCodes.KEY_F21,
GLFW_KEY_F22 to KeyCodes.KEY_F22,
GLFW_KEY_F23 to KeyCodes.KEY_F23,
GLFW_KEY_F24 to KeyCodes.KEY_F24,
GLFW_KEY_F25 to KeyCodes.KEY_F25,
GLFW_KEY_KP_0 to KeyCodes.KEY_KP_0,
GLFW_KEY_KP_1 to KeyCodes.KEY_KP_1,
GLFW_KEY_KP_2 to KeyCodes.KEY_KP_2,
GLFW_KEY_KP_3 to KeyCodes.KEY_KP_3,
GLFW_KEY_KP_4 to KeyCodes.KEY_KP_4,
GLFW_KEY_KP_5 to KeyCodes.KEY_KP_5,
GLFW_KEY_KP_6 to KeyCodes.KEY_KP_6,
GLFW_KEY_KP_7 to KeyCodes.KEY_KP_7,
GLFW_KEY_KP_8 to KeyCodes.KEY_KP_8,
GLFW_KEY_KP_9 to KeyCodes.KEY_KP_9,
GLFW_KEY_KP_DECIMAL to KeyCodes.KEY_KP_DECIMAL,
GLFW_KEY_KP_DIVIDE to KeyCodes.KEY_KP_DIVIDE,
GLFW_KEY_KP_MULTIPLY to KeyCodes.KEY_KP_MULTIPLY,
GLFW_KEY_KP_SUBTRACT to KeyCodes.KEY_KP_SUBTRACT,
GLFW_KEY_KP_ADD to KeyCodes.KEY_KP_ADD,
GLFW_KEY_KP_ENTER to KeyCodes.KEY_KP_ENTER,
GLFW_KEY_KP_EQUAL to KeyCodes.KEY_KP_EQUAL,
GLFW_KEY_LEFT_SHIFT to KeyCodes.KEY_LEFT_SHIFT,
GLFW_KEY_LEFT_CONTROL to KeyCodes.KEY_LEFT_CONTROL,
GLFW_KEY_LEFT_ALT to KeyCodes.KEY_LEFT_ALT,
GLFW_KEY_LEFT_SUPER to KeyCodes.KEY_LEFT_SUPER,
GLFW_KEY_RIGHT_SHIFT to KeyCodes.KEY_RIGHT_SHIFT,
GLFW_KEY_RIGHT_CONTROL to KeyCodes.KEY_RIGHT_CONTROL,
GLFW_KEY_RIGHT_ALT to KeyCodes.KEY_RIGHT_ALT,
GLFW_KEY_RIGHT_SUPER to KeyCodes.KEY_RIGHT_SUPER,
GLFW_KEY_MENU to KeyCodes.KEY_MENU,
GLFW_KEY_LAST to KeyCodes.KEY_LAST,
GLFW_MOUSE_BUTTON_1 to KeyCodes.MOUSE_BUTTON_1,
GLFW_MOUSE_BUTTON_2 to KeyCodes.MOUSE_BUTTON_2,
GLFW_MOUSE_BUTTON_3 to KeyCodes.MOUSE_BUTTON_3,
GLFW_MOUSE_BUTTON_4 to KeyCodes.MOUSE_BUTTON_4,
GLFW_MOUSE_BUTTON_5 to KeyCodes.MOUSE_BUTTON_5,
GLFW_MOUSE_BUTTON_6 to KeyCodes.MOUSE_BUTTON_6,
GLFW_MOUSE_BUTTON_7 to KeyCodes.MOUSE_BUTTON_7,
GLFW_MOUSE_BUTTON_8 to KeyCodes.MOUSE_BUTTON_8,
GLFW_MOUSE_BUTTON_LAST to KeyCodes.MOUSE_BUTTON_LAST,
GLFW_MOUSE_BUTTON_LEFT to KeyCodes.MOUSE_BUTTON_LEFT,
GLFW_MOUSE_BUTTON_RIGHT to KeyCodes.MOUSE_BUTTON_RIGHT,
GLFW_MOUSE_BUTTON_MIDDLE to KeyCodes.MOUSE_BUTTON_MIDDLE,
)
val CursorModes.glfw: Int
get() {
return when (this) {
@ -348,5 +486,9 @@ class GLFWWindow(
false -> GLFW_FALSE
}
}
init {
val keyCodes: Map<Int, KeyCodes>
}
}
}

View File

@ -25,7 +25,6 @@ object LightUtil {
val EMPTY_LIGHT_ARRAY = ByteArray(ProtocolDefinition.BLOCKS_PER_SECTION / 2)
fun readLightPacket(buffer: PlayInByteBuffer, skyLightMask: BitSet, blockLightMask: BitSet, dimension: DimensionProperties): ChunkData {
// ToDo
val skyLight = if (dimension.hasSkyLight || buffer.versionId > V_1_16) { // ToDo: find out version
readLightArray(buffer, skyLightMask, dimension)
} else {