summaryrefslogtreecommitdiffhomepage
path: root/src/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.c')
-rw-r--r--src/core.c88
1 files changed, 44 insertions, 44 deletions
diff --git a/src/core.c b/src/core.c
index 2f130555..b1eaf0f9 100644
--- a/src/core.c
+++ b/src/core.c
@@ -221,33 +221,33 @@
#include <android/window.h> // Defines AWINDOW_FLAG_FULLSCREEN and others
#include <android_native_app_glue.h> // Defines basic app state struct and manages activity
- #include <EGL/egl.h> // Khronos EGL library - Native platform display device control functions
- #include <GLES2/gl2.h> // Khronos OpenGL ES 2.0 library
+ #include <EGL/egl.h> // Khronos EGL library - Native platform display device control functions
+ #include <GLES2/gl2.h> // Khronos OpenGL ES 2.0 library
#endif
#if defined(PLATFORM_RPI)
- #include <fcntl.h> // POSIX file control definitions - open(), creat(), fcntl()
- #include <unistd.h> // POSIX standard function definitions - read(), close(), STDIN_FILENO
- #include <termios.h> // POSIX terminal control definitions - tcgetattr(), tcsetattr()
- #include <pthread.h> // POSIX threads management (inputs reading)
- #include <dirent.h> // POSIX directory browsing
+ #include <fcntl.h> // POSIX file control definitions - open(), creat(), fcntl()
+ #include <unistd.h> // POSIX standard function definitions - read(), close(), STDIN_FILENO
+ #include <termios.h> // POSIX terminal control definitions - tcgetattr(), tcsetattr()
+ #include <pthread.h> // POSIX threads management (inputs reading)
+ #include <dirent.h> // POSIX directory browsing
- #include <sys/ioctl.h> // UNIX System call for device-specific input/output operations - ioctl()
- #include <linux/kd.h> // Linux: KDSKBMODE, K_MEDIUMRAM constants definition
- #include <linux/input.h> // Linux: Keycodes constants definition (KEY_A, ...)
- #include <linux/joystick.h> // Linux: Joystick support library
+ #include <sys/ioctl.h> // UNIX System call for device-specific input/output operations - ioctl()
+ #include <linux/kd.h> // Linux: KDSKBMODE, K_MEDIUMRAM constants definition
+ #include <linux/input.h> // Linux: Keycodes constants definition (KEY_A, ...)
+ #include <linux/joystick.h> // Linux: Joystick support library
- #include "bcm_host.h" // Raspberry Pi VideoCore IV access functions
+ #include "bcm_host.h" // Raspberry Pi VideoCore IV access functions
- #include "EGL/egl.h" // Khronos EGL library - Native platform display device control functions
- #include "EGL/eglext.h" // Khronos EGL library - Extensions
- #include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
+ #include "EGL/egl.h" // Khronos EGL library - Native platform display device control functions
+ #include "EGL/eglext.h" // Khronos EGL library - Extensions
+ #include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
#endif
#if defined(PLATFORM_UWP)
- #include "EGL/egl.h" // Khronos EGL library - Native platform display device control functions
- #include "EGL/eglext.h" // Khronos EGL library - Extensions
- #include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
+ #include "EGL/egl.h" // Khronos EGL library - Native platform display device control functions
+ #include "EGL/eglext.h" // Khronos EGL library - Extensions
+ #include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
#endif
#if defined(PLATFORM_WEB)
@@ -299,22 +299,22 @@
//----------------------------------------------------------------------------------
#if defined(PLATFORM_RPI)
typedef struct {
- pthread_t threadId; // Event reading thread id
- int fd; // File descriptor to the device it is assigned to
- int eventNum; // Number of 'event<N>' device
- Rectangle absRange; // Range of values for absolute pointing devices (touchscreens)
- int touchSlot; // Hold the touch slot number of the currently being sent multitouch block
- bool isMouse; // True if device supports relative X Y movements
- bool isTouch; // True if device supports absolute X Y movements and has BTN_TOUCH
- bool isMultitouch; // True if device supports multiple absolute movevents and has BTN_TOUCH
- bool isKeyboard; // True if device has letter keycodes
- bool isGamepad; // True if device has gamepad buttons
+ pthread_t threadId; // Event reading thread id
+ int fd; // File descriptor to the device it is assigned to
+ int eventNum; // Number of 'event<N>' device
+ Rectangle absRange; // Range of values for absolute pointing devices (touchscreens)
+ int touchSlot; // Hold the touch slot number of the currently being sent multitouch block
+ bool isMouse; // True if device supports relative X Y movements
+ bool isTouch; // True if device supports absolute X Y movements and has BTN_TOUCH
+ bool isMultitouch; // True if device supports multiple absolute movevents and has BTN_TOUCH
+ bool isKeyboard; // True if device has letter keycodes
+ bool isGamepad; // True if device has gamepad buttons
} InputEventWorker;
-typedef struct{
- int Contents[8];
- char Head;
- char Tail;
+typedef struct {
+ int contents[8]; // Key events FIFO contents (8 positions)
+ char head; // Key events FIFO head position
+ char tail; // Key events FIFO tail position
} KeyEventFifo;
#endif
@@ -2198,7 +2198,7 @@ void SaveStorageValue(int position, int value)
int dataSize = 0;
unsigned char *fileData = LoadFileData(path, &dataSize);
-
+
if (fileData != NULL)
{
if (dataSize <= (position*sizeof(int)))
@@ -2215,7 +2215,7 @@ void SaveStorageValue(int position, int value)
int *dataPtr = (int *)fileData;
dataPtr[position] = value;
}
-
+
SaveFileData(path, fileData, dataSize);
RL_FREE(fileData);
}
@@ -2225,7 +2225,7 @@ void SaveStorageValue(int position, int value)
fileData = (unsigned char *)RL_MALLOC(dataSize);
int *dataPtr = (int *)fileData;
dataPtr[position] = value;
-
+
SaveFileData(path, fileData, dataSize);
RL_FREE(fileData);
}
@@ -2249,7 +2249,7 @@ int LoadStorageValue(int position)
int dataSize = 0;
unsigned char *fileData = LoadFileData(path, &dataSize);
-
+
if (fileData != NULL)
{
if (dataSize < (position*4)) TRACELOG(LOG_WARNING, "Storage position could not be found");
@@ -2258,7 +2258,7 @@ int LoadStorageValue(int position)
int *dataPtr = (int *)fileData;
value = dataPtr[position];
}
-
+
RL_FREE(fileData);
}
#endif
@@ -3598,12 +3598,12 @@ static void PollInputEvents(void)
for (int i = 0; i < 512; i++)CORE.Input.Keyboard.previousKeyState[i] = CORE.Input.Keyboard.currentKeyState[i];
// Grab a keypress from the evdev fifo if avalable
- if (CORE.Input.Keyboard.lastKeyPressed.Head != CORE.Input.Keyboard.lastKeyPressed.Tail)
+ if (CORE.Input.Keyboard.lastKeyPressed.head != CORE.Input.Keyboard.lastKeyPressed.tail)
{
- CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = CORE.Input.Keyboard.lastKeyPressed.Contents[CORE.Input.Keyboard.lastKeyPressed.Tail]; // Read the key from the buffer
+ CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = CORE.Input.Keyboard.lastKeyPressed.contents[CORE.Input.Keyboard.lastKeyPressed.tail]; // Read the key from the buffer
CORE.Input.Keyboard.keyPressedQueueCount++;
- CORE.Input.Keyboard.lastKeyPressed.Tail = (CORE.Input.Keyboard.lastKeyPressed.Tail + 1) & 0x07; // Increment the tail pointer forwards and binary wraparound after 7 (fifo is 8 elements long)
+ CORE.Input.Keyboard.lastKeyPressed.tail = (CORE.Input.Keyboard.lastKeyPressed.tail + 1) & 0x07; // Increment the tail pointer forwards and binary wraparound after 7 (fifo is 8 elements long)
}
// Register previous mouse states
@@ -4767,8 +4767,8 @@ static void InitEvdevInput(void)
}
// Reset keypress buffer
- CORE.Input.Keyboard.lastKeyPressed.Head = 0;
- CORE.Input.Keyboard.lastKeyPressed.Tail = 0;
+ CORE.Input.Keyboard.lastKeyPressed.head = 0;
+ CORE.Input.Keyboard.lastKeyPressed.tail = 0;
// Reset keyboard key state
for (int i = 0; i < 512; i++) CORE.Input.Keyboard.currentKeyState[i] = 0;
@@ -5131,8 +5131,8 @@ static void *EventThread(void *arg)
if (event.value > 0)
{
// Add the key int the fifo
- CORE.Input.Keyboard.lastKeyPressed.Contents[CORE.Input.Keyboard.lastKeyPressed.Head] = keycode; // Put the data at the front of the fifo snake
- CORE.Input.Keyboard.lastKeyPressed.Head = (CORE.Input.Keyboard.lastKeyPressed.Head + 1) & 0x07; // Increment the head pointer forwards and binary wraparound after 7 (fifo is 8 elements long)
+ CORE.Input.Keyboard.lastKeyPressed.contents[CORE.Input.Keyboard.lastKeyPressed.head] = keycode; // Put the data at the front of the fifo snake
+ CORE.Input.Keyboard.lastKeyPressed.head = (CORE.Input.Keyboard.lastKeyPressed.head + 1) & 0x07; // Increment the head pointer forwards and binary wraparound after 7 (fifo is 8 elements long)
// TODO: This fifo is not fully threadsafe with multiple writers, so multiple keyboards hitting a key at the exact same time could miss a key (double write to head before it was incremented)
}
*/