summaryrefslogtreecommitdiffhomepage
path: root/src/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.c')
-rw-r--r--src/core.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/core.c b/src/core.c
index 98ed82e7..457d3b72 100644
--- a/src/core.c
+++ b/src/core.c
@@ -119,15 +119,15 @@
#include "config.h" // Defines module configuration flags
#endif
-#include "utils.h" // Required for: TRACELOG macros
+#include "utils.h" // TRACELOG macros
#if (defined(__linux__) || defined(PLATFORM_WEB)) && _POSIX_C_SOURCE < 199309L
#undef _POSIX_C_SOURCE
- #define _POSIX_C_SOURCE 199309L // Required for CLOCK_MONOTONIC if compiled with c99 without gnu ext.
+ #define _POSIX_C_SOURCE 199309L // Required for: CLOCK_MONOTONIC if compiled with c99 without gnu ext.
#endif
-#define RAYMATH_IMPLEMENTATION // Define external out-of-line implementation of raymath here
-#include "raymath.h" // Required for: Vector3 and Matrix functions
+#define RAYMATH_IMPLEMENTATION // Define external out-of-line implementation
+#include "raymath.h" // Vector3, Quaternion and Matrix functionality
#define RLGL_IMPLEMENTATION
#include "rlgl.h" // raylib OpenGL abstraction layer to OpenGL 1.1, 3.3+ or ES2
@@ -143,19 +143,20 @@
#endif
#if defined(SUPPORT_GIF_RECORDING)
- //#define MSF_GIF_MALLOC RL_MALLOC
- //#define MSF_GIF_FREE RL_FREE
+ #define MSF_GIF_MALLOC(contextPointer, newSize) RL_MALLOC(newSize)
+ #define MSF_GIF_REALLOC(contextPointer, oldMemory, oldSize, newSize) RL_REALLOC(oldMemory, newSize)
+ #define MSF_GIF_FREE(contextPointer, oldMemory, oldSize) RL_FREE(oldMemory)
#define MSF_GIF_IMPL
- #include "external/msf_gif.h" // Support GIF recording
+ #include "external/msf_gif.h" // GIF recording functionality
#endif
#if defined(SUPPORT_COMPRESSION_API)
#define SINFL_IMPLEMENTATION
- #include "external/sinfl.h"
+ #include "external/sinfl.h" // Deflate (RFC 1951) decompressor
#define SDEFL_IMPLEMENTATION
- #include "external/sdefl.h"
+ #include "external/sdefl.h" // Deflate (RFC 1951) compressor
#endif
#include <stdlib.h> // Required for: srand(), rand(), atexit()
@@ -179,7 +180,7 @@
#include <direct.h> // Required for: _getch(), _chdir()
#define GETCWD _getcwd // NOTE: MSDN recommends not to use getcwd(), chdir()
#define CHDIR _chdir
- #include <io.h> // Required for _access() [Used in FileExists()]
+ #include <io.h> // Required for: _access() [Used in FileExists()]
#else
#include <unistd.h> // Required for: getch(), chdir() (POSIX), access()
#define GETCWD getcwd
@@ -220,9 +221,9 @@
#endif
#if defined(PLATFORM_ANDROID)
- //#include <android/sensor.h> // Android sensors functions (accelerometer, gyroscope, light...)
- #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 <android/sensor.h> // Required for: Android sensors functions (accelerometer, gyroscope, light...)
+ #include <android/window.h> // Required for: AWINDOW_FLAG_FULLSCREEN definition and others
+ #include <android_native_app_glue.h> // Required for: android_app struct and activity management
#include <EGL/egl.h> // Native platform windowing system interface
//#include <GLES2/gl2.h> // OpenGL ES 2.0 library (not required in this module, only in rlgl)
@@ -235,7 +236,7 @@
#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 <sys/ioctl.h> // Required for: ioctl() - UNIX System call for device-specific input/output operations
#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
@@ -256,10 +257,10 @@
#if defined(PLATFORM_WEB)
#define GLFW_INCLUDE_ES2 // GLFW3: Enable OpenGL ES 2.0 (translated to WebGL)
- #include "GLFW/glfw3.h" // GLFW3 library: Windows, OpenGL context and Input management
+ #include "GLFW/glfw3.h" // GLFW3: Windows, OpenGL context and Input management
#include <sys/time.h> // Required for: timespec, nanosleep(), select() - POSIX
- #include <emscripten/emscripten.h> // Emscripten library - LLVM to JavaScript compiler
+ #include <emscripten/emscripten.h> // Emscripten functionality for C
#include <emscripten/html5.h> // Emscripten HTML5 library
#endif
@@ -655,7 +656,7 @@ static void PlayAutomationEvent(unsigned int frame); // Play frame events
#if defined(_WIN32)
// NOTE: We declare Sleep() function symbol to avoid including windows.h (kernel32.lib linkage required)
-void __stdcall Sleep(unsigned long msTimeout); // Required for WaitTime()
+void __stdcall Sleep(unsigned long msTimeout); // Required for: WaitTime()
#endif
//----------------------------------------------------------------------------------
@@ -808,11 +809,9 @@ void InitWindow(int width, int height, const char *title)
#endif
#if defined(PLATFORM_WEB)
- // Check fullscreen change events(note this is done on the window since most
- // browsers don't support this on #canvas)
+ // Check fullscreen change events(note this is done on the window since most browsers don't support this on #canvas)
emscripten_set_fullscreenchange_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenResizeCallback);
- // Check Resize event (note this is done on the window since most browsers
- // don't support this on #canvas)
+ // Check Resize event (note this is done on the window since most browsers don't support this on #canvas)
emscripten_set_resize_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenResizeCallback);
// Trigger this once to get initial window sizing
EmscriptenResizeCallback(EMSCRIPTEN_EVENT_RESIZE, NULL, NULL);
@@ -4794,7 +4793,7 @@ EM_JS(int, GetCanvasHeight, (), { return canvas.clientHeight; });
static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent *e, void *userData)
{
// Don't resize non-resizeable windows
- if ((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) == 0) return true;
+ if ((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) == 0) return 1;
// This event is called whenever the window changes sizes,
// so the size of the canvas object is explicitly retrieved below
@@ -4808,13 +4807,15 @@ static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent *
CORE.Window.currentFbo.height = height;
CORE.Window.resizedLastFrame = true;
- if (IsWindowFullscreen()) return true;
+ if (IsWindowFullscreen()) return 1;
// Set current screen size
CORE.Window.screen.width = width;
CORE.Window.screen.height = height;
// NOTE: Postprocessing texture is not scaled to new size
+
+ return 0;
}
#endif