From 4facc03a64bece341c553a53c92c19a27137c1ab Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 25 Jul 2016 08:50:40 +0200 Subject: [PATCH 001/102] Upload ptheads Win32 DLL --- .gitignore | 2 +- src/external/pthread/lib/pthreadGC2.dll | Bin 0 -> 119888 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/external/pthread/lib/pthreadGC2.dll diff --git a/.gitignore b/.gitignore index 8b584cf1a..add60fa17 100644 --- a/.gitignore +++ b/.gitignore @@ -75,4 +75,4 @@ src/libraylib.bc !src/external/glfw3/lib/win32/glfw3.dll !src/external/openal_soft/lib/win32/OpenAL32.dll !src/external/OculusSDK/LibOVR/LibOVRRT32_1.dll -!src/external/pthread/pthreadGC2.dll +!src/external/pthread/lib/pthreadGC2.dll diff --git a/src/external/pthread/lib/pthreadGC2.dll b/src/external/pthread/lib/pthreadGC2.dll new file mode 100644 index 0000000000000000000000000000000000000000..67b9289dfd9f6f1ad12c1d137f4e57ad1a54271c GIT binary patch literal 119888 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 D*YY=? literal 0 HcmV?d00001 From a94b553aff00563fb54fe634e02f59d81d2a1007 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 25 Jul 2016 18:36:43 +0200 Subject: [PATCH 002/102] Updated release headers --- release/android/raylib.h | 10 +- release/html5/raylib.h | 10 +- release/linux/raylib.h | 10 +- release/osx/raylib.h | 915 +++++++++++++++++++++++++++++++++++++++ release/win32/raylib.h | 10 +- 5 files changed, 943 insertions(+), 12 deletions(-) create mode 100644 release/osx/raylib.h diff --git a/release/android/raylib.h b/release/android/raylib.h index 19c677123..fee6aa910 100644 --- a/release/android/raylib.h +++ b/release/android/raylib.h @@ -268,9 +268,13 @@ //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include #endif #endif diff --git a/release/html5/raylib.h b/release/html5/raylib.h index 19c677123..fee6aa910 100644 --- a/release/html5/raylib.h +++ b/release/html5/raylib.h @@ -268,9 +268,13 @@ //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include #endif #endif diff --git a/release/linux/raylib.h b/release/linux/raylib.h index 19c677123..fee6aa910 100644 --- a/release/linux/raylib.h +++ b/release/linux/raylib.h @@ -268,9 +268,13 @@ //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include #endif #endif diff --git a/release/osx/raylib.h b/release/osx/raylib.h new file mode 100644 index 000000000..fee6aa910 --- /dev/null +++ b/release/osx/raylib.h @@ -0,0 +1,915 @@ +/********************************************************************************************** +* +* raylib 1.5.0 (www.raylib.com) +* +* A simple and easy-to-use library to learn videogames programming +* +* Features: +* Library written in plain C code (C99) +* Uses C# PascalCase/camelCase notation +* Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0) +* Unique OpenGL abstraction layer (usable as standalone module): [rlgl] +* Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF) +* Multiple textures support, including compressed formats and mipmaps generation +* Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps +* Materials (diffuse, normal, specular) and Lighting (point, directional, spot) support +* Powerful math module for Vector, Matrix and Quaternion operations [raymath] +* Audio loading and playing with streaming support and mixing channels (WAV, OGG, XM, MOD) +* VR stereo rendering support with configurable HMD device parameters +* Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi, HTML5 and Oculus Rift CV1 +* Custom color palette for fancy visuals on raywhite background +* Minimal external dependencies (GLFW3, OpenGL, OpenAL) +* +* Used external libs: +* GLFW3 (www.glfw.org) for window/context management and input +* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) +* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA, PSD, GIF, HDR, PIC) +* stb_image_write (Sean Barret) for image writting (PNG) +* stb_vorbis (Sean Barret) for ogg audio loading +* stb_truetype (Sean Barret) for ttf fonts loading +* jar_xm (Joshua Reisenauer) for XM audio module loading +* jar_mod (Joshua Reisenauer) for MOD audio module loading +* OpenAL Soft for audio device/context management +* tinfl for data decompression (DEFLATE algorithm) +* +* Some design decisions: +* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte) +* One custom default font is loaded automatically when InitWindow() +* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads +* If using OpenGL 3.3 or ES2, two default shaders are loaded automatically (internally defined) +* +* -- LICENSE -- +* +* raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software: +* +* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef RAYLIB_H +#define RAYLIB_H + +// Choose your platform here or just define it at compile time: -DPLATFORM_DESKTOP +//#define PLATFORM_DESKTOP // Windows, Linux or OSX +//#define PLATFORM_ANDROID // Android device +//#define PLATFORM_RPI // Raspberry Pi +//#define PLATFORM_WEB // HTML5 (emscripten, asm.js) +//#define RLGL_OCULUS_SUPPORT // Oculus Rift CV1 (complementary to PLATFORM_DESKTOP) + +// Security check in case no PLATFORM_* defined +#if !defined(PLATFORM_DESKTOP) && !defined(PLATFORM_ANDROID) && !defined(PLATFORM_RPI) && !defined(PLATFORM_WEB) + #define PLATFORM_DESKTOP +#endif + +#if defined(PLATFORM_ANDROID) + typedef struct android_app; // Define android_app struct (android_native_app_glue.h) +#endif + +//---------------------------------------------------------------------------------- +// Some basic Defines +//---------------------------------------------------------------------------------- +#ifndef PI + #define PI 3.14159265358979323846 +#endif + +#define DEG2RAD (PI/180.0f) +#define RAD2DEG (180.0f/PI) + +// raylib Config Flags +#define FLAG_FULLSCREEN_MODE 1 +#define FLAG_SHOW_LOGO 2 +#define FLAG_SHOW_MOUSE_CURSOR 4 +#define FLAG_CENTERED_MODE 8 +#define FLAG_MSAA_4X_HINT 16 +#define FLAG_VSYNC_HINT 32 + +// Keyboard Function Keys +#define KEY_SPACE 32 +#define KEY_ESCAPE 256 +#define KEY_ENTER 257 +#define KEY_BACKSPACE 259 +#define KEY_RIGHT 262 +#define KEY_LEFT 263 +#define KEY_DOWN 264 +#define KEY_UP 265 +#define KEY_F1 290 +#define KEY_F2 291 +#define KEY_F3 292 +#define KEY_F4 293 +#define KEY_F5 294 +#define KEY_F6 295 +#define KEY_F7 296 +#define KEY_F8 297 +#define KEY_F9 298 +#define KEY_F10 299 +#define KEY_F11 300 +#define KEY_F12 301 +#define KEY_LEFT_SHIFT 340 +#define KEY_LEFT_CONTROL 341 +#define KEY_LEFT_ALT 342 +#define KEY_RIGHT_SHIFT 344 +#define KEY_RIGHT_CONTROL 345 +#define KEY_RIGHT_ALT 346 + +// Keyboard Alpha Numeric Keys +#define KEY_ZERO 48 +#define KEY_ONE 49 +#define KEY_TWO 50 +#define KEY_THREE 51 +#define KEY_FOUR 52 +#define KEY_FIVE 53 +#define KEY_SIX 54 +#define KEY_SEVEN 55 +#define KEY_EIGHT 56 +#define KEY_NINE 57 +#define KEY_A 65 +#define KEY_B 66 +#define KEY_C 67 +#define KEY_D 68 +#define KEY_E 69 +#define KEY_F 70 +#define KEY_G 71 +#define KEY_H 72 +#define KEY_I 73 +#define KEY_J 74 +#define KEY_K 75 +#define KEY_L 76 +#define KEY_M 77 +#define KEY_N 78 +#define KEY_O 79 +#define KEY_P 80 +#define KEY_Q 81 +#define KEY_R 82 +#define KEY_S 83 +#define KEY_T 84 +#define KEY_U 85 +#define KEY_V 86 +#define KEY_W 87 +#define KEY_X 88 +#define KEY_Y 89 +#define KEY_Z 90 + +// Mouse Buttons +#define MOUSE_LEFT_BUTTON 0 +#if defined(PLATFORM_WEB) + #define MOUSE_RIGHT_BUTTON 2 + #define MOUSE_MIDDLE_BUTTON 1 +#else + #define MOUSE_RIGHT_BUTTON 1 + #define MOUSE_MIDDLE_BUTTON 2 +#endif + +// Touch points registered +#define MAX_TOUCH_POINTS 2 + +// Gamepad Number +#define GAMEPAD_PLAYER1 0 +#define GAMEPAD_PLAYER2 1 +#define GAMEPAD_PLAYER3 2 // Not supported +#define GAMEPAD_PLAYER4 3 // Not supported + +// Gamepad Buttons +// NOTE: Adjusted for a PS3 USB Controller +#define GAMEPAD_BUTTON_A 2 +#define GAMEPAD_BUTTON_B 1 +#define GAMEPAD_BUTTON_X 3 +#define GAMEPAD_BUTTON_Y 4 +#define GAMEPAD_BUTTON_R1 7 +#define GAMEPAD_BUTTON_R2 5 +#define GAMEPAD_BUTTON_L1 6 +#define GAMEPAD_BUTTON_L2 8 +#define GAMEPAD_BUTTON_SELECT 9 +#define GAMEPAD_BUTTON_START 10 + +// Xbox360 USB Controller Buttons +#define GAMEPAD_XBOX_BUTTON_A 0 +#define GAMEPAD_XBOX_BUTTON_B 1 +#define GAMEPAD_XBOX_BUTTON_X 2 +#define GAMEPAD_XBOX_BUTTON_Y 3 +#define GAMEPAD_XBOX_BUTTON_LB 4 +#define GAMEPAD_XBOX_BUTTON_RB 5 +#define GAMEPAD_XBOX_BUTTON_SELECT 6 +#define GAMEPAD_XBOX_BUTTON_START 7 + +#if defined(PLATFORM_RPI) + #define GAMEPAD_XBOX_AXIS_DPAD_X 7 + #define GAMEPAD_XBOX_AXIS_DPAD_Y 6 + #define GAMEPAD_XBOX_AXIS_RIGHT_X 3 + #define GAMEPAD_XBOX_AXIS_RIGHT_Y 4 + #define GAMEPAD_XBOX_AXIS_LT 2 + #define GAMEPAD_XBOX_AXIS_RT 5 +#else + #define GAMEPAD_XBOX_BUTTON_UP 10 + #define GAMEPAD_XBOX_BUTTON_DOWN 12 + #define GAMEPAD_XBOX_BUTTON_LEFT 13 + #define GAMEPAD_XBOX_BUTTON_RIGHT 11 + #define GAMEPAD_XBOX_AXIS_RIGHT_X 4 + #define GAMEPAD_XBOX_AXIS_RIGHT_Y 3 + #define GAMEPAD_XBOX_AXIS_LT_RT 2 +#endif + +#define GAMEPAD_XBOX_AXIS_LEFT_X 0 +#define GAMEPAD_XBOX_AXIS_LEFT_Y 1 + +// Android Physic Buttons +#define ANDROID_BACK 4 +#define ANDROID_MENU 82 +#define ANDROID_VOLUME_UP 24 +#define ANDROID_VOLUME_DOWN 25 + +// Some Basic Colors +// NOTE: Custom raylib color palette for amazing visuals on WHITE background +#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray +#define GRAY (Color){ 130, 130, 130, 255 } // Gray +#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray +#define YELLOW (Color){ 253, 249, 0, 255 } // Yellow +#define GOLD (Color){ 255, 203, 0, 255 } // Gold +#define ORANGE (Color){ 255, 161, 0, 255 } // Orange +#define PINK (Color){ 255, 109, 194, 255 } // Pink +#define RED (Color){ 230, 41, 55, 255 } // Red +#define MAROON (Color){ 190, 33, 55, 255 } // Maroon +#define GREEN (Color){ 0, 228, 48, 255 } // Green +#define LIME (Color){ 0, 158, 47, 255 } // Lime +#define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green +#define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue +#define BLUE (Color){ 0, 121, 241, 255 } // Blue +#define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue +#define PURPLE (Color){ 200, 122, 255, 255 } // Purple +#define VIOLET (Color){ 135, 60, 190, 255 } // Violet +#define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple +#define BEIGE (Color){ 211, 176, 131, 255 } // Beige +#define BROWN (Color){ 127, 106, 79, 255 } // Brown +#define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown + +#define WHITE (Color){ 255, 255, 255, 255 } // White +#define BLACK (Color){ 0, 0, 0, 255 } // Black +#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) +#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta +#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +#ifndef __cplusplus +// Boolean type + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include + #endif +#endif + +// byte type +typedef unsigned char byte; + +// Vector2 type +typedef struct Vector2 { + float x; + float y; +} Vector2; + +// Vector3 type +typedef struct Vector3 { + float x; + float y; + float z; +} Vector3; + +// Matrix type (OpenGL style 4x4 - right handed, column major) +typedef struct Matrix { + float m0, m4, m8, m12; + float m1, m5, m9, m13; + float m2, m6, m10, m14; + float m3, m7, m11, m15; +} Matrix; + +// Color type, RGBA (32bit) +typedef struct Color { + unsigned char r; + unsigned char g; + unsigned char b; + unsigned char a; +} Color; + +// Rectangle type +typedef struct Rectangle { + int x; + int y; + int width; + int height; +} Rectangle; + +// Image type, bpp always RGBA (32bit) +// NOTE: Data stored in CPU memory (RAM) +typedef struct Image { + void *data; // Image raw data + int width; // Image base width + int height; // Image base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (TextureFormat) +} Image; + +// Texture2D type, bpp always RGBA (32bit) +// NOTE: Data stored in GPU memory +typedef struct Texture2D { + unsigned int id; // OpenGL texture id + int width; // Texture base width + int height; // Texture base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (TextureFormat) +} Texture2D; + +// RenderTexture2D type, for texture rendering +typedef struct RenderTexture2D { + unsigned int id; // Render texture (fbo) id + Texture2D texture; // Color buffer attachment texture + Texture2D depth; // Depth buffer attachment texture +} RenderTexture2D; + +// SpriteFont type, includes texture and charSet array data +typedef struct SpriteFont { + Texture2D texture; // Font texture + int size; // Base size (default chars height) + int numChars; // Number of characters + int *charValues; // Characters values array + Rectangle *charRecs; // Characters rectangles within the texture + Vector2 *charOffsets; // Characters offsets (on drawing) + int *charAdvanceX; // Characters x advance (on drawing) +} SpriteFont; + +// Camera type, defines a camera position/orientation in 3d space +typedef struct Camera { + Vector3 position; // Camera position + Vector3 target; // Camera target it looks-at + Vector3 up; // Camera up vector (rotation over its axis) + float fovy; // Camera field-of-view apperture in Y (degrees) +} Camera; + +// Camera2D type, defines a 2d camera +typedef struct Camera2D { + Vector2 offset; // Camera offset (displacement from target) + Vector2 target; // Camera target (rotation and zoom origin) + float rotation; // Camera rotation in degrees + float zoom; // Camera zoom (scaling), should be 1.0f by default +} Camera2D; + +// Bounding box type +typedef struct BoundingBox { + Vector3 min; // minimum vertex box-corner + Vector3 max; // maximum vertex box-corner +} BoundingBox; + +// Vertex data definning a mesh +typedef struct Mesh { + int vertexCount; // number of vertices stored in arrays + int triangleCount; // number of triangles stored (indexed or not) + float *vertices; // vertex position (XYZ - 3 components per vertex) (shader-location = 0) + float *texcoords; // vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + float *texcoords2; // vertex second texture coordinates (useful for lightmaps) (shader-location = 5) + float *normals; // vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + float *tangents; // vertex tangents (XYZ - 3 components per vertex) (shader-location = 4) + unsigned char *colors; // vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + unsigned short *indices;// vertex indices (in case vertex data comes indexed) + + unsigned int vaoId; // OpenGL Vertex Array Object id + unsigned int vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) +} Mesh; + +// Shader type (generic shader) +typedef struct Shader { + unsigned int id; // Shader program id + + // Vertex attributes locations (default locations) + int vertexLoc; // Vertex attribute location point (default-location = 0) + int texcoordLoc; // Texcoord attribute location point (default-location = 1) + int texcoord2Loc; // Texcoord2 attribute location point (default-location = 5) + int normalLoc; // Normal attribute location point (default-location = 2) + int tangentLoc; // Tangent attribute location point (default-location = 4) + int colorLoc; // Color attibute location point (default-location = 3) + + // Uniform locations + int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) + int tintColorLoc; // Diffuse color uniform location point (fragment shader) + + // Texture map locations (generic for any kind of map) + int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) + int mapTexture1Loc; // Map texture uniform location point (default-texture-unit = 1) + int mapTexture2Loc; // Map texture uniform location point (default-texture-unit = 2) +} Shader; + +// Material type +typedef struct Material { + Shader shader; // Standard shader (supports 3 map textures) + + Texture2D texDiffuse; // Diffuse texture (binded to shader mapTexture0Loc) + Texture2D texNormal; // Normal texture (binded to shader mapTexture1Loc) + Texture2D texSpecular; // Specular texture (binded to shader mapTexture2Loc) + + Color colDiffuse; // Diffuse color + Color colAmbient; // Ambient color + Color colSpecular; // Specular color + + float glossiness; // Glossiness level (Ranges from 0 to 1000) +} Material; + +// Model type +typedef struct Model { + Mesh mesh; // Vertex data buffers (RAM and VRAM) + Matrix transform; // Local transform matrix + Material material; // Shader and textures data +} Model; + +// Light type +typedef struct LightData { + unsigned int id; // Light unique id + bool enabled; // Light enabled + int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT + + Vector3 position; // Light position + Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) + float radius; // Light attenuation radius light intensity reduced with distance (world distance) + + Color diffuse; // Light diffuse color + float intensity; // Light intensity level + + float coneAngle; // Light cone max angle: LIGHT_SPOT +} LightData, *Light; + +// Light types +typedef enum { LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT } LightType; + +// Ray type (useful for raycast) +typedef struct Ray { + Vector3 position; // Ray position (origin) + Vector3 direction; // Ray direction +} Ray; + +// Sound source type +typedef struct Sound { + unsigned int source; // Sound audio source id + unsigned int buffer; // Sound audio buffer id +} Sound; + +// Wave type, defines audio wave data +typedef struct Wave { + void *data; // Buffer data pointer + unsigned int dataSize; // Data size in bytes + unsigned int sampleRate; // Samples per second to be played + short bitsPerSample; // Sample size in bits + short channels; +} Wave; + +// Texture formats +// NOTE: Support depends on OpenGL version and platform +typedef enum { + UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) + UNCOMPRESSED_GRAY_ALPHA, // 16 bpp (2 channels) + UNCOMPRESSED_R5G6B5, // 16 bpp + UNCOMPRESSED_R8G8B8, // 24 bpp + UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) + UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) + UNCOMPRESSED_R8G8B8A8, // 32 bpp + COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) + COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) + COMPRESSED_DXT3_RGBA, // 8 bpp + COMPRESSED_DXT5_RGBA, // 8 bpp + COMPRESSED_ETC1_RGB, // 4 bpp + COMPRESSED_ETC2_RGB, // 4 bpp + COMPRESSED_ETC2_EAC_RGBA, // 8 bpp + COMPRESSED_PVRT_RGB, // 4 bpp + COMPRESSED_PVRT_RGBA, // 4 bpp + COMPRESSED_ASTC_4x4_RGBA, // 8 bpp + COMPRESSED_ASTC_8x8_RGBA // 2 bpp +} TextureFormat; + +// Color blending modes (pre-defined) +typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; + +// Gestures type +// NOTE: It could be used as flags to enable only some gestures +typedef enum { + GESTURE_NONE = 0, + GESTURE_TAP = 1, + GESTURE_DOUBLETAP = 2, + GESTURE_HOLD = 4, + GESTURE_DRAG = 8, + GESTURE_SWIPE_RIGHT = 16, + GESTURE_SWIPE_LEFT = 32, + GESTURE_SWIPE_UP = 64, + GESTURE_SWIPE_DOWN = 128, + GESTURE_PINCH_IN = 256, + GESTURE_PINCH_OUT = 512 +} Gestures; + +// Touch action (fingers or mouse) +typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; + +// Gesture events +// NOTE: MAX_TOUCH_POINTS fixed to 2 +typedef struct GestureEvent { + int touchAction; + int pointCount; + int pointerId[MAX_TOUCH_POINTS]; + Vector2 position[MAX_TOUCH_POINTS]; +} GestureEvent; + +// Camera system modes +typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; + +// Head Mounted Display devices +typedef enum { + HMD_DEFAULT_DEVICE = 0, + HMD_OCULUS_RIFT_DK2, + HMD_OCULUS_RIFT_CV1, + HMD_VALVE_HTC_VIVE, + HMD_SAMSUNG_GEAR_VR, + HMD_GOOGLE_CARDBOARD, + HMD_SONY_PLAYSTATION_VR, + HMD_RAZER_OSVR, + HMD_FOVE_VR, +} VrDevice; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//------------------------------------------------------------------------------------ +// Global Variables Definition +//------------------------------------------------------------------------------------ +// It's lonely here... + +//------------------------------------------------------------------------------------ +// Window and Graphics Device Functions (Module: core) +//------------------------------------------------------------------------------------ +#if defined(PLATFORM_ANDROID) +void InitWindow(int width, int height, struct android_app *state); // Init Android Activity and OpenGL Graphics +#elif defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) +void InitWindow(int width, int height, const char *title); // Initialize Window and OpenGL Graphics +#endif + +void CloseWindow(void); // Close Window and Terminate Context +bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed +bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) +void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) +int GetScreenWidth(void); // Get current screen width +int GetScreenHeight(void); // Get current screen height + +void ShowCursor(void); // Shows cursor +void HideCursor(void); // Hides cursor +bool IsCursorHidden(void); // Returns true if cursor is not visible +void EnableCursor(void); // Enables cursor +void DisableCursor(void); // Disables cursor + +void ClearBackground(Color color); // Sets Background Color +void BeginDrawing(void); // Setup drawing canvas to start drawing +void EndDrawing(void); // End canvas drawing and Swap Buffers (Double Buffering) + +void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera +void End2dMode(void); // Ends 2D mode custom camera usage +void Begin3dMode(Camera camera); // Initializes 3D mode for drawing (Camera setup) +void End3dMode(void); // Ends 3D mode and returns to default 2D orthographic mode +void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing +void EndTextureMode(void); // Ends drawing to render texture + +Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position +Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position +Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) + +void SetTargetFPS(int fps); // Set target FPS (maximum) +float GetFPS(void); // Returns current FPS +float GetFrameTime(void); // Returns time in seconds for one frame + +Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value +int GetHexValue(Color color); // Returns hexadecimal value for a Color +float *ColorToFloat(Color color); // Converts Color to float array and normalizes +float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array +float *MatrixToFloat(Matrix mat); // Converts Matrix to float array + +int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) +Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f + +void SetConfigFlags(char flags); // Setup some window configuration flags +void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) + +bool IsFileDropped(void); // Check if a file have been dropped into window +char **GetDroppedFiles(int *count); // Retrieve dropped files into window +void ClearDroppedFiles(void); // Clear dropped files paths buffer + +void StorageSaveValue(int position, int value); // Storage save integer value (to defined position) +int StorageLoadValue(int position); // Storage load integer value (from defined position) + +//------------------------------------------------------------------------------------ +// Input Handling Functions (Module: core) +//------------------------------------------------------------------------------------ +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) +bool IsKeyPressed(int key); // Detect if a key has been pressed once +bool IsKeyDown(int key); // Detect if a key is being pressed +bool IsKeyReleased(int key); // Detect if a key has been released once +bool IsKeyUp(int key); // Detect if a key is NOT being pressed +int GetKeyPressed(void); // Get latest key pressed +void SetExitKey(int key); // Set a custom key to exit program (default is ESC) + +bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available +float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis +bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once +bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed +bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once +bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed +#endif + +bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once +bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed +bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once +bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed +int GetMouseX(void); // Returns mouse position X +int GetMouseY(void); // Returns mouse position Y +Vector2 GetMousePosition(void); // Returns mouse position XY +void SetMousePosition(Vector2 position); // Set mouse position XY +int GetMouseWheelMove(void); // Returns mouse wheel movement Y + +int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) +int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) +Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) + +#if defined(PLATFORM_ANDROID) +bool IsButtonPressed(int button); // Detect if an android physic button has been pressed +bool IsButtonDown(int button); // Detect if an android physic button is being pressed +bool IsButtonReleased(int button); // Detect if an android physic button has been released +#endif + +//------------------------------------------------------------------------------------ +// Gestures and Touch Handling Functions (Module: gestures) +//------------------------------------------------------------------------------------ +void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags +bool IsGestureDetected(int gesture); // Check if a gesture have been detected +void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures +void UpdateGestures(void); // Update gestures detected (called automatically in PollInputEvents()) + +int GetTouchPointsCount(void); // Get touch points count +int GetGestureDetected(void); // Get latest detected gesture +float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds +Vector2 GetGestureDragVector(void); // Get gesture drag vector +float GetGestureDragAngle(void); // Get gesture drag angle +Vector2 GetGesturePinchVector(void); // Get gesture pinch delta +float GetGesturePinchAngle(void); // Get gesture pinch angle + +//------------------------------------------------------------------------------------ +// Camera System Functions (Module: camera) +//------------------------------------------------------------------------------------ +void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) +void UpdateCamera(Camera *camera); // Update camera (player position is ignored) +void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) + +void SetCameraPosition(Vector3 position); // Set internal camera position +void SetCameraTarget(Vector3 target); // Set internal camera target +void SetCameraFovy(float fovy); // Set internal camera field-of-view-y + +void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) +void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) +void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) + +void SetCameraMoveControls(int frontKey, int backKey, + int leftKey, int rightKey, + int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) +void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) + +//------------------------------------------------------------------------------------ +// Basic Shapes Drawing Functions (Module: shapes) +//------------------------------------------------------------------------------------ +void DrawPixel(int posX, int posY, Color color); // Draw a pixel +void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) +void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line +void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) +void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle +void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle +void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) +void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline +void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle +void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle +void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle +void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) +void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline +void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle +void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline +void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) +void DrawPolyEx(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points +void DrawPolyExLines(Vector2 *points, int numPoints, Color color); // Draw polygon lines + +bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles +bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles +bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle +Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision +bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle +bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle +bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle + +//------------------------------------------------------------------------------------ +// Texture Loading and Drawing Functions (Module: textures) +//------------------------------------------------------------------------------------ +Image LoadImage(const char *fileName); // Load an image into CPU memory (RAM) +Image LoadImageEx(Color *pixels, int width, int height); // Load image data from Color array data (RGBA - 32bit) +Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image data from RAW file +Image LoadImageFromRES(const char *rresName, int resId); // Load an image from rRES file (raylib Resource) +Texture2D LoadTexture(const char *fileName); // Load an image as texture into GPU memory +Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); // Load a texture from raw data into GPU memory +Texture2D LoadTextureFromRES(const char *rresName, int resId); // Load an image as texture from rRES file (raylib Resource) +Texture2D LoadTextureFromImage(Image image); // Load a texture from image data +RenderTexture2D LoadRenderTexture(int width, int height); // Load a texture to be used for rendering +void UnloadImage(Image image); // Unload image from CPU memory (RAM) +void UnloadTexture(Texture2D texture); // Unload texture from GPU memory +void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory +Color *GetImageData(Image image); // Get pixel data from image as a Color struct array +Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image +void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) +void ImageFormat(Image *image, int newFormat); // Convert image data to desired format +void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) +Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) +void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle +void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) +void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) +Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) +Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) +void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image +void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) +void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) +void ImageFlipVertical(Image *image); // Flip image vertically +void ImageFlipHorizontal(Image *image); // Flip image horizontally +void ImageColorTint(Image *image, Color color); // Modify image color: tint +void ImageColorInvert(Image *image); // Modify image color: invert +void ImageColorGrayscale(Image *image); // Modify image color: grayscale +void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) +void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) +void GenTextureMipmaps(Texture2D texture); // Generate GPU mipmaps for a texture +void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data + +void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D +void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 +void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters +void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle +void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, // Draw a part of a texture defined by a rectangle with 'pro' parameters + float rotation, Color tint); + +//------------------------------------------------------------------------------------ +// Font Loading and Text Drawing Functions (Module: text) +//------------------------------------------------------------------------------------ +SpriteFont GetDefaultFont(void); // Get the default SpriteFont +SpriteFont LoadSpriteFont(const char *fileName); // Load a SpriteFont image into GPU memory +void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory + +void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) +void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters + int fontSize, int spacing, Color tint); +int MeasureText(const char *text, int fontSize); // Measure string width for default font +Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont + +void DrawFPS(int posX, int posY); // Shows current FPS on top-left corner +const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' +const char *SubText(const char *text, int position, int length); // Get a piece of a text string + +//------------------------------------------------------------------------------------ +// Basic 3d Shapes Drawing Functions (Module: models) +//------------------------------------------------------------------------------------ +void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube +void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) +void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires +void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured +void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere +void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters +void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires +void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone +void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires +void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ +void DrawRay(Ray ray, Color color); // Draw a ray line +void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) +void DrawGizmo(Vector3 position); // Draw simple gizmo +void DrawLight(Light light); // Draw light in 3D world +void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space +void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space +//DrawTorus(), DrawTeapot() are useless... + +//------------------------------------------------------------------------------------ +// Model 3d Loading and Drawing Functions (Module: models) +//------------------------------------------------------------------------------------ +Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) +Model LoadModelEx(Mesh data, bool dynamic); // Load a 3d model (from mesh data) +Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d model from rRES file (raylib Resource) +Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model +Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) +void UnloadModel(Model model); // Unload 3d model from memory + +Material LoadMaterial(const char *fileName); // Load material data (from file) +Material LoadDefaultMaterial(void); // Load default material (uses default models shader) +Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) +void UnloadMaterial(Material material); // Unload material textures from VRAM + +void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) +void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters +void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) +void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters +void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) + +void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture +void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec + +BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits +bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres +bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes +bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere +bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere +bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection +bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box +Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap + // NOTE: Return the normal vector of the impacted surface +//------------------------------------------------------------------------------------ +// Shaders System Functions (Module: rlgl) +// NOTE: This functions are useless when using OpenGL 1.1 +//------------------------------------------------------------------------------------ +Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations +void UnloadShader(Shader shader); // Unload a custom shader from memory + +Shader GetDefaultShader(void); // Get default shader +Shader GetStandardShader(void); // Get standard shader +Texture2D GetDefaultTexture(void); // Get default texture + +int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) +void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int) +void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) + +void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) +void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) + +void BeginShaderMode(Shader shader); // Begin custom shader drawing +void EndShaderMode(void); // End custom shader drawing (use default shader) +void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) +void EndBlendMode(void); // End blending mode (reset to default: alpha blending) + +Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool +void DestroyLight(Light light); // Destroy a light and take it out of the list + +//------------------------------------------------------------------------------------ +// VR experience Functions (Module: rlgl) +// NOTE: This functions are useless when using OpenGL 1.1 +//------------------------------------------------------------------------------------ +void InitVrDevice(int vdDevice); // Init VR device +void CloseVrDevice(void); // Close VR device +void UpdateVrTracking(void); // Update VR tracking (position and orientation) +void BeginVrDrawing(void); // Begin VR drawing configuration +void EndVrDrawing(void); // End VR drawing process (and desktop mirror) +bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) + +//------------------------------------------------------------------------------------ +// Audio Loading and Playing Functions (Module: audio) +//------------------------------------------------------------------------------------ +void InitAudioDevice(void); // Initialize audio device and context +void CloseAudioDevice(void); // Close the audio device and context (and music stream) +bool IsAudioDeviceReady(void); // True if call to InitAudioDevice() was successful and CloseAudioDevice() has not been called yet + +Sound LoadSound(char *fileName); // Load sound to memory +Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data +Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) +void UnloadSound(Sound sound); // Unload sound +void PlaySound(Sound sound); // Play a sound +void PauseSound(Sound sound); // Pause a sound +void StopSound(Sound sound); // Stop playing a sound +bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing +void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) +void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) + +int PlayMusicStream(int index, char *fileName); // Start music playing (open stream) +void UpdateMusicStream(int index); // Updates buffers for music streaming +void StopMusicStream(int index); // Stop music playing (close stream) +void PauseMusicStream(int index); // Pause music playing +void ResumeMusicStream(int index); // Resume playing paused music +bool IsMusicPlaying(int index); // Check if music is playing +void SetMusicVolume(int index, float volume); // Set volume for music (1.0 is max level) +void SetMusicPitch(int index, float pitch); // Set pitch for a music (1.0 is base level) +float GetMusicTimeLength(int index); // Get current music time length (in seconds) +float GetMusicTimePlayed(int index); // Get current music time played (in seconds) +int GetMusicStreamCount(void); // Get number of streams loaded + +#ifdef __cplusplus +} +#endif + +#endif // RAYLIB_H diff --git a/release/win32/raylib.h b/release/win32/raylib.h index 19c677123..fee6aa910 100644 --- a/release/win32/raylib.h +++ b/release/win32/raylib.h @@ -268,9 +268,13 @@ //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include #endif #endif From 020601092e1dd873fbf067743ffaf9214c45341a Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 25 Jul 2016 18:36:58 +0200 Subject: [PATCH 003/102] Added release version for RaspberryPi --- release/rpi/libraylib.a | Bin 0 -> 433560 bytes release/rpi/raylib.h | 915 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 915 insertions(+) create mode 100644 release/rpi/libraylib.a create mode 100644 release/rpi/raylib.h diff --git a/release/rpi/libraylib.a b/release/rpi/libraylib.a new file mode 100644 index 0000000000000000000000000000000000000000..522e02bd506fce0cc6de475ed26e3b2dbb345f41 GIT binary patch literal 433560 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 L>DkH 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 v@&|u+apno*$&1Yr#SlsCp5odO4x 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 W4k#{=&0Da9f#D1&KtY<2%mV<0j`VH- literal 0 HcmV?d00001 diff --git a/release/rpi/raylib.h b/release/rpi/raylib.h new file mode 100644 index 000000000..fee6aa910 --- /dev/null +++ b/release/rpi/raylib.h @@ -0,0 +1,915 @@ +/********************************************************************************************** +* +* raylib 1.5.0 (www.raylib.com) +* +* A simple and easy-to-use library to learn videogames programming +* +* Features: +* Library written in plain C code (C99) +* Uses C# PascalCase/camelCase notation +* Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0) +* Unique OpenGL abstraction layer (usable as standalone module): [rlgl] +* Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF) +* Multiple textures support, including compressed formats and mipmaps generation +* Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps +* Materials (diffuse, normal, specular) and Lighting (point, directional, spot) support +* Powerful math module for Vector, Matrix and Quaternion operations [raymath] +* Audio loading and playing with streaming support and mixing channels (WAV, OGG, XM, MOD) +* VR stereo rendering support with configurable HMD device parameters +* Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi, HTML5 and Oculus Rift CV1 +* Custom color palette for fancy visuals on raywhite background +* Minimal external dependencies (GLFW3, OpenGL, OpenAL) +* +* Used external libs: +* GLFW3 (www.glfw.org) for window/context management and input +* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) +* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA, PSD, GIF, HDR, PIC) +* stb_image_write (Sean Barret) for image writting (PNG) +* stb_vorbis (Sean Barret) for ogg audio loading +* stb_truetype (Sean Barret) for ttf fonts loading +* jar_xm (Joshua Reisenauer) for XM audio module loading +* jar_mod (Joshua Reisenauer) for MOD audio module loading +* OpenAL Soft for audio device/context management +* tinfl for data decompression (DEFLATE algorithm) +* +* Some design decisions: +* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte) +* One custom default font is loaded automatically when InitWindow() +* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads +* If using OpenGL 3.3 or ES2, two default shaders are loaded automatically (internally defined) +* +* -- LICENSE -- +* +* raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software: +* +* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef RAYLIB_H +#define RAYLIB_H + +// Choose your platform here or just define it at compile time: -DPLATFORM_DESKTOP +//#define PLATFORM_DESKTOP // Windows, Linux or OSX +//#define PLATFORM_ANDROID // Android device +//#define PLATFORM_RPI // Raspberry Pi +//#define PLATFORM_WEB // HTML5 (emscripten, asm.js) +//#define RLGL_OCULUS_SUPPORT // Oculus Rift CV1 (complementary to PLATFORM_DESKTOP) + +// Security check in case no PLATFORM_* defined +#if !defined(PLATFORM_DESKTOP) && !defined(PLATFORM_ANDROID) && !defined(PLATFORM_RPI) && !defined(PLATFORM_WEB) + #define PLATFORM_DESKTOP +#endif + +#if defined(PLATFORM_ANDROID) + typedef struct android_app; // Define android_app struct (android_native_app_glue.h) +#endif + +//---------------------------------------------------------------------------------- +// Some basic Defines +//---------------------------------------------------------------------------------- +#ifndef PI + #define PI 3.14159265358979323846 +#endif + +#define DEG2RAD (PI/180.0f) +#define RAD2DEG (180.0f/PI) + +// raylib Config Flags +#define FLAG_FULLSCREEN_MODE 1 +#define FLAG_SHOW_LOGO 2 +#define FLAG_SHOW_MOUSE_CURSOR 4 +#define FLAG_CENTERED_MODE 8 +#define FLAG_MSAA_4X_HINT 16 +#define FLAG_VSYNC_HINT 32 + +// Keyboard Function Keys +#define KEY_SPACE 32 +#define KEY_ESCAPE 256 +#define KEY_ENTER 257 +#define KEY_BACKSPACE 259 +#define KEY_RIGHT 262 +#define KEY_LEFT 263 +#define KEY_DOWN 264 +#define KEY_UP 265 +#define KEY_F1 290 +#define KEY_F2 291 +#define KEY_F3 292 +#define KEY_F4 293 +#define KEY_F5 294 +#define KEY_F6 295 +#define KEY_F7 296 +#define KEY_F8 297 +#define KEY_F9 298 +#define KEY_F10 299 +#define KEY_F11 300 +#define KEY_F12 301 +#define KEY_LEFT_SHIFT 340 +#define KEY_LEFT_CONTROL 341 +#define KEY_LEFT_ALT 342 +#define KEY_RIGHT_SHIFT 344 +#define KEY_RIGHT_CONTROL 345 +#define KEY_RIGHT_ALT 346 + +// Keyboard Alpha Numeric Keys +#define KEY_ZERO 48 +#define KEY_ONE 49 +#define KEY_TWO 50 +#define KEY_THREE 51 +#define KEY_FOUR 52 +#define KEY_FIVE 53 +#define KEY_SIX 54 +#define KEY_SEVEN 55 +#define KEY_EIGHT 56 +#define KEY_NINE 57 +#define KEY_A 65 +#define KEY_B 66 +#define KEY_C 67 +#define KEY_D 68 +#define KEY_E 69 +#define KEY_F 70 +#define KEY_G 71 +#define KEY_H 72 +#define KEY_I 73 +#define KEY_J 74 +#define KEY_K 75 +#define KEY_L 76 +#define KEY_M 77 +#define KEY_N 78 +#define KEY_O 79 +#define KEY_P 80 +#define KEY_Q 81 +#define KEY_R 82 +#define KEY_S 83 +#define KEY_T 84 +#define KEY_U 85 +#define KEY_V 86 +#define KEY_W 87 +#define KEY_X 88 +#define KEY_Y 89 +#define KEY_Z 90 + +// Mouse Buttons +#define MOUSE_LEFT_BUTTON 0 +#if defined(PLATFORM_WEB) + #define MOUSE_RIGHT_BUTTON 2 + #define MOUSE_MIDDLE_BUTTON 1 +#else + #define MOUSE_RIGHT_BUTTON 1 + #define MOUSE_MIDDLE_BUTTON 2 +#endif + +// Touch points registered +#define MAX_TOUCH_POINTS 2 + +// Gamepad Number +#define GAMEPAD_PLAYER1 0 +#define GAMEPAD_PLAYER2 1 +#define GAMEPAD_PLAYER3 2 // Not supported +#define GAMEPAD_PLAYER4 3 // Not supported + +// Gamepad Buttons +// NOTE: Adjusted for a PS3 USB Controller +#define GAMEPAD_BUTTON_A 2 +#define GAMEPAD_BUTTON_B 1 +#define GAMEPAD_BUTTON_X 3 +#define GAMEPAD_BUTTON_Y 4 +#define GAMEPAD_BUTTON_R1 7 +#define GAMEPAD_BUTTON_R2 5 +#define GAMEPAD_BUTTON_L1 6 +#define GAMEPAD_BUTTON_L2 8 +#define GAMEPAD_BUTTON_SELECT 9 +#define GAMEPAD_BUTTON_START 10 + +// Xbox360 USB Controller Buttons +#define GAMEPAD_XBOX_BUTTON_A 0 +#define GAMEPAD_XBOX_BUTTON_B 1 +#define GAMEPAD_XBOX_BUTTON_X 2 +#define GAMEPAD_XBOX_BUTTON_Y 3 +#define GAMEPAD_XBOX_BUTTON_LB 4 +#define GAMEPAD_XBOX_BUTTON_RB 5 +#define GAMEPAD_XBOX_BUTTON_SELECT 6 +#define GAMEPAD_XBOX_BUTTON_START 7 + +#if defined(PLATFORM_RPI) + #define GAMEPAD_XBOX_AXIS_DPAD_X 7 + #define GAMEPAD_XBOX_AXIS_DPAD_Y 6 + #define GAMEPAD_XBOX_AXIS_RIGHT_X 3 + #define GAMEPAD_XBOX_AXIS_RIGHT_Y 4 + #define GAMEPAD_XBOX_AXIS_LT 2 + #define GAMEPAD_XBOX_AXIS_RT 5 +#else + #define GAMEPAD_XBOX_BUTTON_UP 10 + #define GAMEPAD_XBOX_BUTTON_DOWN 12 + #define GAMEPAD_XBOX_BUTTON_LEFT 13 + #define GAMEPAD_XBOX_BUTTON_RIGHT 11 + #define GAMEPAD_XBOX_AXIS_RIGHT_X 4 + #define GAMEPAD_XBOX_AXIS_RIGHT_Y 3 + #define GAMEPAD_XBOX_AXIS_LT_RT 2 +#endif + +#define GAMEPAD_XBOX_AXIS_LEFT_X 0 +#define GAMEPAD_XBOX_AXIS_LEFT_Y 1 + +// Android Physic Buttons +#define ANDROID_BACK 4 +#define ANDROID_MENU 82 +#define ANDROID_VOLUME_UP 24 +#define ANDROID_VOLUME_DOWN 25 + +// Some Basic Colors +// NOTE: Custom raylib color palette for amazing visuals on WHITE background +#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray +#define GRAY (Color){ 130, 130, 130, 255 } // Gray +#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray +#define YELLOW (Color){ 253, 249, 0, 255 } // Yellow +#define GOLD (Color){ 255, 203, 0, 255 } // Gold +#define ORANGE (Color){ 255, 161, 0, 255 } // Orange +#define PINK (Color){ 255, 109, 194, 255 } // Pink +#define RED (Color){ 230, 41, 55, 255 } // Red +#define MAROON (Color){ 190, 33, 55, 255 } // Maroon +#define GREEN (Color){ 0, 228, 48, 255 } // Green +#define LIME (Color){ 0, 158, 47, 255 } // Lime +#define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green +#define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue +#define BLUE (Color){ 0, 121, 241, 255 } // Blue +#define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue +#define PURPLE (Color){ 200, 122, 255, 255 } // Purple +#define VIOLET (Color){ 135, 60, 190, 255 } // Violet +#define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple +#define BEIGE (Color){ 211, 176, 131, 255 } // Beige +#define BROWN (Color){ 127, 106, 79, 255 } // Brown +#define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown + +#define WHITE (Color){ 255, 255, 255, 255 } // White +#define BLACK (Color){ 0, 0, 0, 255 } // Black +#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) +#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta +#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +#ifndef __cplusplus +// Boolean type + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include + #endif +#endif + +// byte type +typedef unsigned char byte; + +// Vector2 type +typedef struct Vector2 { + float x; + float y; +} Vector2; + +// Vector3 type +typedef struct Vector3 { + float x; + float y; + float z; +} Vector3; + +// Matrix type (OpenGL style 4x4 - right handed, column major) +typedef struct Matrix { + float m0, m4, m8, m12; + float m1, m5, m9, m13; + float m2, m6, m10, m14; + float m3, m7, m11, m15; +} Matrix; + +// Color type, RGBA (32bit) +typedef struct Color { + unsigned char r; + unsigned char g; + unsigned char b; + unsigned char a; +} Color; + +// Rectangle type +typedef struct Rectangle { + int x; + int y; + int width; + int height; +} Rectangle; + +// Image type, bpp always RGBA (32bit) +// NOTE: Data stored in CPU memory (RAM) +typedef struct Image { + void *data; // Image raw data + int width; // Image base width + int height; // Image base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (TextureFormat) +} Image; + +// Texture2D type, bpp always RGBA (32bit) +// NOTE: Data stored in GPU memory +typedef struct Texture2D { + unsigned int id; // OpenGL texture id + int width; // Texture base width + int height; // Texture base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (TextureFormat) +} Texture2D; + +// RenderTexture2D type, for texture rendering +typedef struct RenderTexture2D { + unsigned int id; // Render texture (fbo) id + Texture2D texture; // Color buffer attachment texture + Texture2D depth; // Depth buffer attachment texture +} RenderTexture2D; + +// SpriteFont type, includes texture and charSet array data +typedef struct SpriteFont { + Texture2D texture; // Font texture + int size; // Base size (default chars height) + int numChars; // Number of characters + int *charValues; // Characters values array + Rectangle *charRecs; // Characters rectangles within the texture + Vector2 *charOffsets; // Characters offsets (on drawing) + int *charAdvanceX; // Characters x advance (on drawing) +} SpriteFont; + +// Camera type, defines a camera position/orientation in 3d space +typedef struct Camera { + Vector3 position; // Camera position + Vector3 target; // Camera target it looks-at + Vector3 up; // Camera up vector (rotation over its axis) + float fovy; // Camera field-of-view apperture in Y (degrees) +} Camera; + +// Camera2D type, defines a 2d camera +typedef struct Camera2D { + Vector2 offset; // Camera offset (displacement from target) + Vector2 target; // Camera target (rotation and zoom origin) + float rotation; // Camera rotation in degrees + float zoom; // Camera zoom (scaling), should be 1.0f by default +} Camera2D; + +// Bounding box type +typedef struct BoundingBox { + Vector3 min; // minimum vertex box-corner + Vector3 max; // maximum vertex box-corner +} BoundingBox; + +// Vertex data definning a mesh +typedef struct Mesh { + int vertexCount; // number of vertices stored in arrays + int triangleCount; // number of triangles stored (indexed or not) + float *vertices; // vertex position (XYZ - 3 components per vertex) (shader-location = 0) + float *texcoords; // vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + float *texcoords2; // vertex second texture coordinates (useful for lightmaps) (shader-location = 5) + float *normals; // vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + float *tangents; // vertex tangents (XYZ - 3 components per vertex) (shader-location = 4) + unsigned char *colors; // vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + unsigned short *indices;// vertex indices (in case vertex data comes indexed) + + unsigned int vaoId; // OpenGL Vertex Array Object id + unsigned int vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) +} Mesh; + +// Shader type (generic shader) +typedef struct Shader { + unsigned int id; // Shader program id + + // Vertex attributes locations (default locations) + int vertexLoc; // Vertex attribute location point (default-location = 0) + int texcoordLoc; // Texcoord attribute location point (default-location = 1) + int texcoord2Loc; // Texcoord2 attribute location point (default-location = 5) + int normalLoc; // Normal attribute location point (default-location = 2) + int tangentLoc; // Tangent attribute location point (default-location = 4) + int colorLoc; // Color attibute location point (default-location = 3) + + // Uniform locations + int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) + int tintColorLoc; // Diffuse color uniform location point (fragment shader) + + // Texture map locations (generic for any kind of map) + int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) + int mapTexture1Loc; // Map texture uniform location point (default-texture-unit = 1) + int mapTexture2Loc; // Map texture uniform location point (default-texture-unit = 2) +} Shader; + +// Material type +typedef struct Material { + Shader shader; // Standard shader (supports 3 map textures) + + Texture2D texDiffuse; // Diffuse texture (binded to shader mapTexture0Loc) + Texture2D texNormal; // Normal texture (binded to shader mapTexture1Loc) + Texture2D texSpecular; // Specular texture (binded to shader mapTexture2Loc) + + Color colDiffuse; // Diffuse color + Color colAmbient; // Ambient color + Color colSpecular; // Specular color + + float glossiness; // Glossiness level (Ranges from 0 to 1000) +} Material; + +// Model type +typedef struct Model { + Mesh mesh; // Vertex data buffers (RAM and VRAM) + Matrix transform; // Local transform matrix + Material material; // Shader and textures data +} Model; + +// Light type +typedef struct LightData { + unsigned int id; // Light unique id + bool enabled; // Light enabled + int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT + + Vector3 position; // Light position + Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) + float radius; // Light attenuation radius light intensity reduced with distance (world distance) + + Color diffuse; // Light diffuse color + float intensity; // Light intensity level + + float coneAngle; // Light cone max angle: LIGHT_SPOT +} LightData, *Light; + +// Light types +typedef enum { LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT } LightType; + +// Ray type (useful for raycast) +typedef struct Ray { + Vector3 position; // Ray position (origin) + Vector3 direction; // Ray direction +} Ray; + +// Sound source type +typedef struct Sound { + unsigned int source; // Sound audio source id + unsigned int buffer; // Sound audio buffer id +} Sound; + +// Wave type, defines audio wave data +typedef struct Wave { + void *data; // Buffer data pointer + unsigned int dataSize; // Data size in bytes + unsigned int sampleRate; // Samples per second to be played + short bitsPerSample; // Sample size in bits + short channels; +} Wave; + +// Texture formats +// NOTE: Support depends on OpenGL version and platform +typedef enum { + UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) + UNCOMPRESSED_GRAY_ALPHA, // 16 bpp (2 channels) + UNCOMPRESSED_R5G6B5, // 16 bpp + UNCOMPRESSED_R8G8B8, // 24 bpp + UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) + UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) + UNCOMPRESSED_R8G8B8A8, // 32 bpp + COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) + COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) + COMPRESSED_DXT3_RGBA, // 8 bpp + COMPRESSED_DXT5_RGBA, // 8 bpp + COMPRESSED_ETC1_RGB, // 4 bpp + COMPRESSED_ETC2_RGB, // 4 bpp + COMPRESSED_ETC2_EAC_RGBA, // 8 bpp + COMPRESSED_PVRT_RGB, // 4 bpp + COMPRESSED_PVRT_RGBA, // 4 bpp + COMPRESSED_ASTC_4x4_RGBA, // 8 bpp + COMPRESSED_ASTC_8x8_RGBA // 2 bpp +} TextureFormat; + +// Color blending modes (pre-defined) +typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; + +// Gestures type +// NOTE: It could be used as flags to enable only some gestures +typedef enum { + GESTURE_NONE = 0, + GESTURE_TAP = 1, + GESTURE_DOUBLETAP = 2, + GESTURE_HOLD = 4, + GESTURE_DRAG = 8, + GESTURE_SWIPE_RIGHT = 16, + GESTURE_SWIPE_LEFT = 32, + GESTURE_SWIPE_UP = 64, + GESTURE_SWIPE_DOWN = 128, + GESTURE_PINCH_IN = 256, + GESTURE_PINCH_OUT = 512 +} Gestures; + +// Touch action (fingers or mouse) +typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; + +// Gesture events +// NOTE: MAX_TOUCH_POINTS fixed to 2 +typedef struct GestureEvent { + int touchAction; + int pointCount; + int pointerId[MAX_TOUCH_POINTS]; + Vector2 position[MAX_TOUCH_POINTS]; +} GestureEvent; + +// Camera system modes +typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; + +// Head Mounted Display devices +typedef enum { + HMD_DEFAULT_DEVICE = 0, + HMD_OCULUS_RIFT_DK2, + HMD_OCULUS_RIFT_CV1, + HMD_VALVE_HTC_VIVE, + HMD_SAMSUNG_GEAR_VR, + HMD_GOOGLE_CARDBOARD, + HMD_SONY_PLAYSTATION_VR, + HMD_RAZER_OSVR, + HMD_FOVE_VR, +} VrDevice; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//------------------------------------------------------------------------------------ +// Global Variables Definition +//------------------------------------------------------------------------------------ +// It's lonely here... + +//------------------------------------------------------------------------------------ +// Window and Graphics Device Functions (Module: core) +//------------------------------------------------------------------------------------ +#if defined(PLATFORM_ANDROID) +void InitWindow(int width, int height, struct android_app *state); // Init Android Activity and OpenGL Graphics +#elif defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) +void InitWindow(int width, int height, const char *title); // Initialize Window and OpenGL Graphics +#endif + +void CloseWindow(void); // Close Window and Terminate Context +bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed +bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) +void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) +int GetScreenWidth(void); // Get current screen width +int GetScreenHeight(void); // Get current screen height + +void ShowCursor(void); // Shows cursor +void HideCursor(void); // Hides cursor +bool IsCursorHidden(void); // Returns true if cursor is not visible +void EnableCursor(void); // Enables cursor +void DisableCursor(void); // Disables cursor + +void ClearBackground(Color color); // Sets Background Color +void BeginDrawing(void); // Setup drawing canvas to start drawing +void EndDrawing(void); // End canvas drawing and Swap Buffers (Double Buffering) + +void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera +void End2dMode(void); // Ends 2D mode custom camera usage +void Begin3dMode(Camera camera); // Initializes 3D mode for drawing (Camera setup) +void End3dMode(void); // Ends 3D mode and returns to default 2D orthographic mode +void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing +void EndTextureMode(void); // Ends drawing to render texture + +Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position +Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position +Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) + +void SetTargetFPS(int fps); // Set target FPS (maximum) +float GetFPS(void); // Returns current FPS +float GetFrameTime(void); // Returns time in seconds for one frame + +Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value +int GetHexValue(Color color); // Returns hexadecimal value for a Color +float *ColorToFloat(Color color); // Converts Color to float array and normalizes +float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array +float *MatrixToFloat(Matrix mat); // Converts Matrix to float array + +int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) +Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f + +void SetConfigFlags(char flags); // Setup some window configuration flags +void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) + +bool IsFileDropped(void); // Check if a file have been dropped into window +char **GetDroppedFiles(int *count); // Retrieve dropped files into window +void ClearDroppedFiles(void); // Clear dropped files paths buffer + +void StorageSaveValue(int position, int value); // Storage save integer value (to defined position) +int StorageLoadValue(int position); // Storage load integer value (from defined position) + +//------------------------------------------------------------------------------------ +// Input Handling Functions (Module: core) +//------------------------------------------------------------------------------------ +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) +bool IsKeyPressed(int key); // Detect if a key has been pressed once +bool IsKeyDown(int key); // Detect if a key is being pressed +bool IsKeyReleased(int key); // Detect if a key has been released once +bool IsKeyUp(int key); // Detect if a key is NOT being pressed +int GetKeyPressed(void); // Get latest key pressed +void SetExitKey(int key); // Set a custom key to exit program (default is ESC) + +bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available +float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis +bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once +bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed +bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once +bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed +#endif + +bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once +bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed +bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once +bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed +int GetMouseX(void); // Returns mouse position X +int GetMouseY(void); // Returns mouse position Y +Vector2 GetMousePosition(void); // Returns mouse position XY +void SetMousePosition(Vector2 position); // Set mouse position XY +int GetMouseWheelMove(void); // Returns mouse wheel movement Y + +int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) +int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) +Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) + +#if defined(PLATFORM_ANDROID) +bool IsButtonPressed(int button); // Detect if an android physic button has been pressed +bool IsButtonDown(int button); // Detect if an android physic button is being pressed +bool IsButtonReleased(int button); // Detect if an android physic button has been released +#endif + +//------------------------------------------------------------------------------------ +// Gestures and Touch Handling Functions (Module: gestures) +//------------------------------------------------------------------------------------ +void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags +bool IsGestureDetected(int gesture); // Check if a gesture have been detected +void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures +void UpdateGestures(void); // Update gestures detected (called automatically in PollInputEvents()) + +int GetTouchPointsCount(void); // Get touch points count +int GetGestureDetected(void); // Get latest detected gesture +float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds +Vector2 GetGestureDragVector(void); // Get gesture drag vector +float GetGestureDragAngle(void); // Get gesture drag angle +Vector2 GetGesturePinchVector(void); // Get gesture pinch delta +float GetGesturePinchAngle(void); // Get gesture pinch angle + +//------------------------------------------------------------------------------------ +// Camera System Functions (Module: camera) +//------------------------------------------------------------------------------------ +void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) +void UpdateCamera(Camera *camera); // Update camera (player position is ignored) +void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) + +void SetCameraPosition(Vector3 position); // Set internal camera position +void SetCameraTarget(Vector3 target); // Set internal camera target +void SetCameraFovy(float fovy); // Set internal camera field-of-view-y + +void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) +void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) +void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) + +void SetCameraMoveControls(int frontKey, int backKey, + int leftKey, int rightKey, + int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) +void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) + +//------------------------------------------------------------------------------------ +// Basic Shapes Drawing Functions (Module: shapes) +//------------------------------------------------------------------------------------ +void DrawPixel(int posX, int posY, Color color); // Draw a pixel +void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) +void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line +void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) +void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle +void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle +void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) +void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline +void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle +void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle +void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle +void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) +void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline +void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle +void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline +void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) +void DrawPolyEx(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points +void DrawPolyExLines(Vector2 *points, int numPoints, Color color); // Draw polygon lines + +bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles +bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles +bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle +Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision +bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle +bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle +bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle + +//------------------------------------------------------------------------------------ +// Texture Loading and Drawing Functions (Module: textures) +//------------------------------------------------------------------------------------ +Image LoadImage(const char *fileName); // Load an image into CPU memory (RAM) +Image LoadImageEx(Color *pixels, int width, int height); // Load image data from Color array data (RGBA - 32bit) +Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image data from RAW file +Image LoadImageFromRES(const char *rresName, int resId); // Load an image from rRES file (raylib Resource) +Texture2D LoadTexture(const char *fileName); // Load an image as texture into GPU memory +Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); // Load a texture from raw data into GPU memory +Texture2D LoadTextureFromRES(const char *rresName, int resId); // Load an image as texture from rRES file (raylib Resource) +Texture2D LoadTextureFromImage(Image image); // Load a texture from image data +RenderTexture2D LoadRenderTexture(int width, int height); // Load a texture to be used for rendering +void UnloadImage(Image image); // Unload image from CPU memory (RAM) +void UnloadTexture(Texture2D texture); // Unload texture from GPU memory +void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory +Color *GetImageData(Image image); // Get pixel data from image as a Color struct array +Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image +void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) +void ImageFormat(Image *image, int newFormat); // Convert image data to desired format +void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) +Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) +void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle +void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) +void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) +Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) +Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) +void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image +void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) +void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) +void ImageFlipVertical(Image *image); // Flip image vertically +void ImageFlipHorizontal(Image *image); // Flip image horizontally +void ImageColorTint(Image *image, Color color); // Modify image color: tint +void ImageColorInvert(Image *image); // Modify image color: invert +void ImageColorGrayscale(Image *image); // Modify image color: grayscale +void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) +void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) +void GenTextureMipmaps(Texture2D texture); // Generate GPU mipmaps for a texture +void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data + +void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D +void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 +void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters +void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle +void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, // Draw a part of a texture defined by a rectangle with 'pro' parameters + float rotation, Color tint); + +//------------------------------------------------------------------------------------ +// Font Loading and Text Drawing Functions (Module: text) +//------------------------------------------------------------------------------------ +SpriteFont GetDefaultFont(void); // Get the default SpriteFont +SpriteFont LoadSpriteFont(const char *fileName); // Load a SpriteFont image into GPU memory +void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory + +void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) +void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters + int fontSize, int spacing, Color tint); +int MeasureText(const char *text, int fontSize); // Measure string width for default font +Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont + +void DrawFPS(int posX, int posY); // Shows current FPS on top-left corner +const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' +const char *SubText(const char *text, int position, int length); // Get a piece of a text string + +//------------------------------------------------------------------------------------ +// Basic 3d Shapes Drawing Functions (Module: models) +//------------------------------------------------------------------------------------ +void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube +void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) +void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires +void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured +void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere +void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters +void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires +void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone +void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires +void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ +void DrawRay(Ray ray, Color color); // Draw a ray line +void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) +void DrawGizmo(Vector3 position); // Draw simple gizmo +void DrawLight(Light light); // Draw light in 3D world +void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space +void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space +//DrawTorus(), DrawTeapot() are useless... + +//------------------------------------------------------------------------------------ +// Model 3d Loading and Drawing Functions (Module: models) +//------------------------------------------------------------------------------------ +Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) +Model LoadModelEx(Mesh data, bool dynamic); // Load a 3d model (from mesh data) +Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d model from rRES file (raylib Resource) +Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model +Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) +void UnloadModel(Model model); // Unload 3d model from memory + +Material LoadMaterial(const char *fileName); // Load material data (from file) +Material LoadDefaultMaterial(void); // Load default material (uses default models shader) +Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) +void UnloadMaterial(Material material); // Unload material textures from VRAM + +void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) +void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters +void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) +void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters +void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) + +void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture +void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec + +BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits +bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres +bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes +bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere +bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere +bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection +bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box +Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap + // NOTE: Return the normal vector of the impacted surface +//------------------------------------------------------------------------------------ +// Shaders System Functions (Module: rlgl) +// NOTE: This functions are useless when using OpenGL 1.1 +//------------------------------------------------------------------------------------ +Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations +void UnloadShader(Shader shader); // Unload a custom shader from memory + +Shader GetDefaultShader(void); // Get default shader +Shader GetStandardShader(void); // Get standard shader +Texture2D GetDefaultTexture(void); // Get default texture + +int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) +void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int) +void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) + +void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) +void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) + +void BeginShaderMode(Shader shader); // Begin custom shader drawing +void EndShaderMode(void); // End custom shader drawing (use default shader) +void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) +void EndBlendMode(void); // End blending mode (reset to default: alpha blending) + +Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool +void DestroyLight(Light light); // Destroy a light and take it out of the list + +//------------------------------------------------------------------------------------ +// VR experience Functions (Module: rlgl) +// NOTE: This functions are useless when using OpenGL 1.1 +//------------------------------------------------------------------------------------ +void InitVrDevice(int vdDevice); // Init VR device +void CloseVrDevice(void); // Close VR device +void UpdateVrTracking(void); // Update VR tracking (position and orientation) +void BeginVrDrawing(void); // Begin VR drawing configuration +void EndVrDrawing(void); // End VR drawing process (and desktop mirror) +bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) + +//------------------------------------------------------------------------------------ +// Audio Loading and Playing Functions (Module: audio) +//------------------------------------------------------------------------------------ +void InitAudioDevice(void); // Initialize audio device and context +void CloseAudioDevice(void); // Close the audio device and context (and music stream) +bool IsAudioDeviceReady(void); // True if call to InitAudioDevice() was successful and CloseAudioDevice() has not been called yet + +Sound LoadSound(char *fileName); // Load sound to memory +Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data +Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) +void UnloadSound(Sound sound); // Unload sound +void PlaySound(Sound sound); // Play a sound +void PauseSound(Sound sound); // Pause a sound +void StopSound(Sound sound); // Stop playing a sound +bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing +void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) +void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) + +int PlayMusicStream(int index, char *fileName); // Start music playing (open stream) +void UpdateMusicStream(int index); // Updates buffers for music streaming +void StopMusicStream(int index); // Stop music playing (close stream) +void PauseMusicStream(int index); // Pause music playing +void ResumeMusicStream(int index); // Resume playing paused music +bool IsMusicPlaying(int index); // Check if music is playing +void SetMusicVolume(int index, float volume); // Set volume for music (1.0 is max level) +void SetMusicPitch(int index, float pitch); // Set pitch for a music (1.0 is base level) +float GetMusicTimeLength(int index); // Get current music time length (in seconds) +float GetMusicTimePlayed(int index); // Get current music time played (in seconds) +int GetMusicStreamCount(void); // Get number of streams loaded + +#ifdef __cplusplus +} +#endif + +#endif // RAYLIB_H From c604b53f78adc2c96d5f0ee6cd1becb3429c778a Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 25 Jul 2016 19:43:59 +0200 Subject: [PATCH 004/102] Corrected issue with paths on RPI --- examples/Makefile | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 39765f15e..b4bc0411b 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -77,8 +77,27 @@ endif #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_PATH = ../release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_PATH = ../release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_PATH = ../release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_PATH = ../release/html5 +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + RAYLIB_PATH = ../release/rpi +endif + # define any directories containing required header files -INCLUDES = -I. -I../src -I../src/external +INCLUDES = -I. -I../src -I../src/external -I$(RAYLIB_PATH) ifeq ($(PLATFORM),PLATFORM_RPI) INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads @@ -97,7 +116,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif # define library paths containing required libs -LFLAGS = -L. -L../src +LFLAGS = -L. -L../src -L$(RAYLIB_PATH) ifeq ($(PLATFORM),PLATFORM_RPI) LFLAGS += -L/opt/vc/lib From 9e8232d7503e686f49e55eb388c0e8670e247277 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 25 Jul 2016 19:44:21 +0200 Subject: [PATCH 005/102] Redesigned bloom shader to work on RPI --- examples/resources/shaders/glsl100/bloom.fs | 30 +++++++++++---------- examples/resources/shaders/glsl330/bloom.fs | 30 +++++++++++---------- shaders/glsl100/bloom.fs | 28 ++++++++++--------- shaders/glsl330/bloom.fs | 28 ++++++++++--------- 4 files changed, 62 insertions(+), 54 deletions(-) diff --git a/examples/resources/shaders/glsl100/bloom.fs b/examples/resources/shaders/glsl100/bloom.fs index 128736f22..a8e1d20f7 100644 --- a/examples/resources/shaders/glsl100/bloom.fs +++ b/examples/resources/shaders/glsl100/bloom.fs @@ -8,30 +8,32 @@ varying vec4 fragColor; // Input uniform values uniform sampler2D texture0; -uniform vec4 fragTintColor; +uniform vec4 colDiffuse; // NOTE: Add here your custom variables +const vec2 size = vec2(800, 450); // render size +const float samples = 5.0; // pixels per axis; higher = bigger glow, worse performance +const float quality = 2.5; // lower = smaller glow, better quality + void main() { vec4 sum = vec4(0); - vec4 tc = vec4(0); + vec2 sizeFactor = vec2(1)/size*quality; - for (int i = -4; i < 4; i++) + // Texel color fetching from texture sampler + vec4 source = texture2D(texture0, fragTexCoord); + + const int range = 2; // should be = (samples - 1)/2; + + for (int x = -range; x <= range; x++) { - for (int j = -3; j < 3; j++) + for (int y = -range; y <= range; y++) { - sum += texture2D(texture0, fragTexCoord + vec2(j, i)*0.004) * 0.25; + sum += texture2D(texture0, fragTexCoord + vec2(x, y)*sizeFactor); } } - - // Texel color fetching from texture sampler - vec4 texelColor = texture2D(texture0, fragTexCoord); - + // Calculate final fragment color - if (texelColor.r < 0.3) tc = sum*sum*0.012 + texelColor; - else if (texelColor.r < 0.5) tc = sum*sum*0.009 + texelColor; - else tc = sum*sum*0.0075 + texelColor; - - gl_FragColor = tc; + gl_FragColor = ((sum/(samples*samples)) + source)*colDiffuse; } \ No newline at end of file diff --git a/examples/resources/shaders/glsl330/bloom.fs b/examples/resources/shaders/glsl330/bloom.fs index 0307bc06e..333d5b059 100644 --- a/examples/resources/shaders/glsl330/bloom.fs +++ b/examples/resources/shaders/glsl330/bloom.fs @@ -6,33 +6,35 @@ in vec4 fragColor; // Input uniform values uniform sampler2D texture0; -uniform vec4 fragTintColor; +uniform vec4 colDiffuse; // Output fragment color out vec4 finalColor; // NOTE: Add here your custom variables +const vec2 size = vec2(800, 450); // render size +const float samples = 5.0; // pixels per axis; higher = bigger glow, worse performance +const float quality = 2.5; // lower = smaller glow, better quality + void main() { vec4 sum = vec4(0); - vec4 tc = vec4(0); + vec2 sizeFactor = vec2(1)/size*quality; - for (int i = -4; i < 4; i++) + // Texel color fetching from texture sampler + vec4 source = texture(texture0, fragTexCoord); + + const int range = 2; // should be = (samples - 1)/2; + + for (int x = -range; x <= range; x++) { - for (int j = -3; j < 3; j++) + for (int y = -range; y <= range; y++) { - sum += texture(texture0, fragTexCoord + vec2(j, i)*0.004)*0.25; + sum += texture(texture0, fragTexCoord + vec2(x, y)*sizeFactor); } } - - // Texel color fetching from texture sampler - vec4 texelColor = texture(texture0, fragTexCoord); - - // Calculate final fragment color - if (texelColor.r < 0.3) tc = sum*sum*0.012 + texelColor; - else if (texelColor.r < 0.5) tc = sum*sum*0.009 + texelColor; - else tc = sum*sum*0.0075 + texelColor; - finalColor = tc; + // Calculate final fragment color + finalColor = ((sum/(samples*samples)) + source)*colDiffuse; } \ No newline at end of file diff --git a/shaders/glsl100/bloom.fs b/shaders/glsl100/bloom.fs index 82278fc38..a8e1d20f7 100644 --- a/shaders/glsl100/bloom.fs +++ b/shaders/glsl100/bloom.fs @@ -12,26 +12,28 @@ uniform vec4 colDiffuse; // NOTE: Add here your custom variables +const vec2 size = vec2(800, 450); // render size +const float samples = 5.0; // pixels per axis; higher = bigger glow, worse performance +const float quality = 2.5; // lower = smaller glow, better quality + void main() { vec4 sum = vec4(0); - vec4 tc = vec4(0); + vec2 sizeFactor = vec2(1)/size*quality; - for (int i = -4; i < 4; i++) + // Texel color fetching from texture sampler + vec4 source = texture2D(texture0, fragTexCoord); + + const int range = 2; // should be = (samples - 1)/2; + + for (int x = -range; x <= range; x++) { - for (int j = -3; j < 3; j++) + for (int y = -range; y <= range; y++) { - sum += texture2D(texture0, fragTexCoord + vec2(j, i)*0.004) * 0.25; + sum += texture2D(texture0, fragTexCoord + vec2(x, y)*sizeFactor); } } - - // Texel color fetching from texture sampler - vec4 texelColor = texture2D(texture0, fragTexCoord); - + // Calculate final fragment color - if (texelColor.r < 0.3) tc = sum*sum*0.012 + texelColor; - else if (texelColor.r < 0.5) tc = sum*sum*0.009 + texelColor; - else tc = sum*sum*0.0075 + texelColor; - - gl_FragColor = tc; + gl_FragColor = ((sum/(samples*samples)) + source)*colDiffuse; } \ No newline at end of file diff --git a/shaders/glsl330/bloom.fs b/shaders/glsl330/bloom.fs index 102e66052..333d5b059 100644 --- a/shaders/glsl330/bloom.fs +++ b/shaders/glsl330/bloom.fs @@ -13,26 +13,28 @@ out vec4 finalColor; // NOTE: Add here your custom variables +const vec2 size = vec2(800, 450); // render size +const float samples = 5.0; // pixels per axis; higher = bigger glow, worse performance +const float quality = 2.5; // lower = smaller glow, better quality + void main() { vec4 sum = vec4(0); - vec4 tc = vec4(0); + vec2 sizeFactor = vec2(1)/size*quality; - for (int i = -4; i < 4; i++) + // Texel color fetching from texture sampler + vec4 source = texture(texture0, fragTexCoord); + + const int range = 2; // should be = (samples - 1)/2; + + for (int x = -range; x <= range; x++) { - for (int j = -3; j < 3; j++) + for (int y = -range; y <= range; y++) { - sum += texture(texture0, fragTexCoord + vec2(j, i)*0.004)*0.25; + sum += texture(texture0, fragTexCoord + vec2(x, y)*sizeFactor); } } - - // Texel color fetching from texture sampler - vec4 texelColor = texture(texture0, fragTexCoord); - - // Calculate final fragment color - if (texelColor.r < 0.3) tc = sum*sum*0.012 + texelColor; - else if (texelColor.r < 0.5) tc = sum*sum*0.009 + texelColor; - else tc = sum*sum*0.0075 + texelColor; - finalColor = tc; + // Calculate final fragment color + finalColor = ((sum/(samples*samples)) + source)*colDiffuse; } \ No newline at end of file From 6d68c789891b35f06724bea9436db91f3bd17fcf Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 26 Jul 2016 12:44:33 +0200 Subject: [PATCH 006/102] Updated log output info --- src/audio.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/audio.c b/src/audio.c index 38fefd12e..3c618dd24 100644 --- a/src/audio.c +++ b/src/audio.c @@ -482,8 +482,8 @@ Sound LoadSound(char *fileName) // Audio file loading // NOTE: Buffer space is allocated inside function, Wave must be freed - if (strcmp(GetExtension(fileName),"wav") == 0) wave = LoadWAV(fileName); - else if (strcmp(GetExtension(fileName),"ogg") == 0) wave = LoadOGG(fileName); + if (strcmp(GetExtension(fileName), "wav") == 0) wave = LoadWAV(fileName); + else if (strcmp(GetExtension(fileName), "ogg") == 0) wave = LoadOGG(fileName); else { TraceLog(WARNING, "[%s] Sound extension not recognized, it can't be loaded", fileName); @@ -528,7 +528,7 @@ Sound LoadSound(char *fileName) // Attach sound buffer to source alSourcei(source, AL_BUFFER, buffer); - TraceLog(INFO, "[%s] Sound file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", fileName, wave.sampleRate, wave.bitsPerSample, wave.channels); + TraceLog(INFO, "[SND ID %i][BUFR ID %i] Sound file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", source, buffer, wave.sampleRate, wave.bitsPerSample, wave.channels); // Unallocate WAV data UnloadWave(wave); @@ -759,7 +759,7 @@ void UnloadSound(Sound sound) alDeleteSources(1, &sound.source); alDeleteBuffers(1, &sound.buffer); - TraceLog(INFO, "Unloaded sound data"); + TraceLog(INFO, "[SND ID %i][BUFR ID %i] Unloaded sound data from RAM", sound.source, sound.buffer); } // Play a sound @@ -837,7 +837,7 @@ int PlayMusicStream(int index, char *fileName) else if (mixIndex == (MAX_MIX_CHANNELS - 1)) return ERROR_OUT_OF_MIX_CHANNELS; // error } - if (strcmp(GetExtension(fileName),"ogg") == 0) + if (strcmp(GetExtension(fileName), "ogg") == 0) { // Open audio stream musicStreams[index].stream = stb_vorbis_open_filename(fileName, NULL, NULL); @@ -852,14 +852,13 @@ int PlayMusicStream(int index, char *fileName) // Get file info stb_vorbis_info info = stb_vorbis_get_info(musicStreams[index].stream); - TraceLog(INFO, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); - TraceLog(INFO, "[%s] Ogg channels: %i", fileName, info.channels); + TraceLog(DEBUG, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); + TraceLog(DEBUG, "[%s] Ogg channels: %i", fileName, info.channels); TraceLog(DEBUG, "[%s] Temp memory required: %i", fileName, info.temp_memory_required); musicStreams[index].loop = true; // We loop by default musicStreams[index].enabled = true; - musicStreams[index].totalSamplesLeft = (unsigned int)stb_vorbis_stream_length_in_samples(musicStreams[index].stream) * info.channels; musicStreams[index].totalLengthSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[index].stream); @@ -877,7 +876,7 @@ int PlayMusicStream(int index, char *fileName) if (!musicStreams[index].mixc) return ERROR_LOADING_OGG; // error } } - else if (strcmp(GetExtension(fileName),"xm") == 0) + else if (strcmp(GetExtension(fileName), "xm") == 0) { // only stereo is supported for xm if (!jar_xm_create_context_from_file(&musicStreams[index].xmctx, 48000, fileName)) @@ -904,7 +903,7 @@ int PlayMusicStream(int index, char *fileName) return ERROR_LOADING_XM; // error } } - else if (strcmp(GetExtension(fileName),"mod") == 0) + else if (strcmp(GetExtension(fileName), "mod") == 0) { jar_mod_init(&musicStreams[index].modctx); @@ -1369,7 +1368,7 @@ static void UnloadWave(Wave wave) { free(wave.data); - TraceLog(INFO, "Unloaded wave data"); + TraceLog(INFO, "Unloaded wave data from RAM"); } // Some required functions for audio standalone module version From 07a375e2d626428f5a1b9f02907120a4b3b3a08a Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 26 Jul 2016 13:02:25 +0200 Subject: [PATCH 007/102] Corrected issue with HIghDPI display on OSX Well, not tested yet but it should work... --- src/core.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/core.c b/src/core.c index a3253d793..022fbfe9f 100644 --- a/src/core.c +++ b/src/core.c @@ -1614,7 +1614,14 @@ static void InitGraphicsDevice(int width, int height) TraceLog(INFO, "Trying to enable VSYNC"); } - //glfwGetFramebufferSize(window, &renderWidth, &renderHeight); // Get framebuffer size of current window +#ifdef __APPLE__ + // Get framebuffer size of current window + // NOTE: Required to handle HighDPI display correctly + // TODO: Probably should be added for other systems too or managed + // internally by GLFW3 callback: glfwSetFramebufferSizeCallback() + glfwGetFramebufferSize(window, &renderWidth, &renderHeight); +#endif + #endif // defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) #if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) @@ -1765,6 +1772,7 @@ static void InitGraphicsDevice(int width, int height) #endif // defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) // Initialize OpenGL context (states and resources) + // NOTE: screenWidth and screenHeight not used, just stored as globals rlglInit(screenWidth, screenHeight); // Initialize screen viewport (area of the screen that you will actually draw to) From a422e394925e68ab687ef70527c3e207234d8bd7 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 26 Jul 2016 16:55:46 +0200 Subject: [PATCH 008/102] Corrected issue on OSX with High DPI display Many thanks to Marcelo Paez (paezao) --- README.md | 1 + src/core.c | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 71052a0fc..64cfcc530 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,7 @@ contributing (in some way or another) to make raylib project better. Huge thanks - [Chris Hemingway](https://github.com/cHemingway) for improving raylib on OSX build system. - [Emanuele Petriglia](https://github.com/LelixSuper) for working on multiple GNU/Linux improvements and developing [TicTacToe](https://github.com/LelixSuper/TicTacToe) raylib game. - [Joshua Reisenauer](https://github.com/kd7tck) for adding audio modules support (XM, MOD) and reviewing audio system. + - Marcelo Paez (paezao) for his help on OSX to solve High DPI display issue. Thanks Marcelo! [raysan5]: mailto:raysan5@gmail.com "Ramon Santamaria - Ray San" diff --git a/src/core.c b/src/core.c index 022fbfe9f..0008ef2f0 100644 --- a/src/core.c +++ b/src/core.c @@ -1612,16 +1612,7 @@ static void InitGraphicsDevice(int width, int height) { glfwSwapInterval(1); TraceLog(INFO, "Trying to enable VSYNC"); - } - -#ifdef __APPLE__ - // Get framebuffer size of current window - // NOTE: Required to handle HighDPI display correctly - // TODO: Probably should be added for other systems too or managed - // internally by GLFW3 callback: glfwSetFramebufferSizeCallback() - glfwGetFramebufferSize(window, &renderWidth, &renderHeight); -#endif - + } #endif // defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) #if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) @@ -1775,9 +1766,19 @@ static void InitGraphicsDevice(int width, int height) // NOTE: screenWidth and screenHeight not used, just stored as globals rlglInit(screenWidth, screenHeight); +#ifdef __APPLE__ + // Get framebuffer size of current window + // NOTE: Required to handle HighDPI display correctly on OSX because framebuffer + // is automatically reasized to adapt to new DPI. + // When OS does that, it can be detected using GLFW3 callback: glfwSetFramebufferSizeCallback() + int fbWidth, fbHeight; + glfwGetFramebufferSize(window, &fbWidth, &fbHeight); + rlViewport(renderOffsetX/2, renderOffsetY/2, fbWidth - renderOffsetX, fbHeight - renderOffsetY); +#else // Initialize screen viewport (area of the screen that you will actually draw to) // NOTE: Viewport must be recalculated if screen is resized rlViewport(renderOffsetX/2, renderOffsetY/2, renderWidth - renderOffsetX, renderHeight - renderOffsetY); +#endif // Initialize internal projection and modelview matrices // NOTE: Default to orthographic projection mode with top-left corner at (0,0) From a008d49230c0f7543d8921e68f757dea7934a8c5 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Fri, 29 Jul 2016 13:17:50 +0200 Subject: [PATCH 009/102] Corrected some issues to compile with MSC --- src/audio.c | 4 ++++ src/external/jar_xm.h | 2 +- src/rlgl.c | 47 ++++++++++++++++++++++++++++++++++--------- 3 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/audio.c b/src/audio.c index 3c618dd24..3e2d8347b 100644 --- a/src/audio.c +++ b/src/audio.c @@ -78,6 +78,10 @@ #define JAR_MOD_IMPLEMENTATION #include "external/jar_mod.h" // MOD loading functions +#ifdef _MSC_VER + #undef bool +#endif + //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- diff --git a/src/external/jar_xm.h b/src/external/jar_xm.h index f9ddb5117..02463e088 100644 --- a/src/external/jar_xm.h +++ b/src/external/jar_xm.h @@ -1435,7 +1435,7 @@ static void jar_xm_volume_slide(jar_xm_channel_context_t* ch, uint8_t rawval) { } } -static float jar_xm_envelope_lerp(jar_xm_envelope_point_t* restrict a, jar_xm_envelope_point_t* restrict b, uint16_t pos) { +static float jar_xm_envelope_lerp(jar_xm_envelope_point_t* a, jar_xm_envelope_point_t* b, uint16_t pos) { /* Linear interpolation between two envelope points */ if(pos <= a->frame) return a->value; else if(pos >= b->frame) return b->value; diff --git a/src/rlgl.c b/src/rlgl.c index 2b551469c..d027495f9 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -415,14 +415,14 @@ void rlMatrixMode(int mode) } } -void rlFrustum(double left, double right, double bottom, double top, double near, double far) +void rlFrustum(double left, double right, double bottom, double top, double zNear, double zFar) { - glFrustum(left, right, bottom, top, near, far); + glFrustum(left, right, bottom, top, zNear, zFar); } -void rlOrtho(double left, double right, double bottom, double top, double near, double far) +void rlOrtho(double left, double right, double bottom, double top, double zNear, double zFar) { - glOrtho(left, right, bottom, top, near, far); + glOrtho(left, right, bottom, top, zNear, zFar); } void rlPushMatrix(void) { glPushMatrix(); } @@ -1056,8 +1056,13 @@ void rlglInit(int width, int height) // We get a list of available extensions and we check for some of them (compressed textures) // NOTE: We don't need to check again supported extensions but we do (GLAD already dealt with that) glGetIntegerv(GL_NUM_EXTENSIONS, &numExt); - const char *extList[numExt]; +#ifdef _MSC_VER + const char **extList = malloc(sizeof(const char *)*numExt); +#else + const char *extList[numExt]; +#endif + for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i); #elif defined(GRAPHICS_API_OPENGL_ES2) @@ -1137,6 +1142,10 @@ void rlglInit(int width, int height) if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) texCompASTCSupported = true; } +#ifdef _MSC_VER + free(extList); +#endif + #if defined(GRAPHICS_API_OPENGL_ES2) if (vaoSupported) TraceLog(INFO, "[EXTENSION] VAO extension detected, VAO functions initialized successfully"); else TraceLog(WARNING, "[EXTENSION] VAO extension not found, VAO usage not supported"); @@ -2891,11 +2900,18 @@ static unsigned int LoadShaderProgram(const char *vShaderStr, const char *fShade glGetShaderiv(vertexShader, GL_INFO_LOG_LENGTH, &maxLength); +#ifdef _MSC_VER + char *log = malloc(maxLength); +#else char log[maxLength]; - +#endif glGetShaderInfoLog(vertexShader, maxLength, &length, log); TraceLog(INFO, "%s", log); + +#ifdef _MSC_VER + free(log); +#endif } else TraceLog(INFO, "[VSHDR ID %i] Vertex shader compiled successfully", vertexShader); @@ -2912,11 +2928,18 @@ static unsigned int LoadShaderProgram(const char *vShaderStr, const char *fShade glGetShaderiv(fragmentShader, GL_INFO_LOG_LENGTH, &maxLength); +#ifdef _MSC_VER + char *log = malloc(maxLength); +#else char log[maxLength]; - +#endif glGetShaderInfoLog(fragmentShader, maxLength, &length, log); TraceLog(INFO, "%s", log); + +#ifdef _MSC_VER + free(log); +#endif } else TraceLog(INFO, "[FSHDR ID %i] Fragment shader compiled successfully", fragmentShader); @@ -2950,12 +2973,18 @@ static unsigned int LoadShaderProgram(const char *vShaderStr, const char *fShade glGetProgramiv(program, GL_INFO_LOG_LENGTH, &maxLength); +#ifdef _MSC_VER + char *log = malloc(maxLength); +#else char log[maxLength]; - +#endif glGetProgramInfoLog(program, maxLength, &length, log); TraceLog(INFO, "%s", log); - + +#ifdef _MSC_VER + free(log); +#endif glDeleteProgram(program); program = 0; From 8f7cb6fb190834dc07f275e8a4666ec5815c89f6 Mon Sep 17 00:00:00 2001 From: Bil152 Date: Fri, 29 Jul 2016 21:35:57 +0200 Subject: [PATCH 010/102] Code refractoring of music model to be more friendly-user (issue #144) --- src/audio.c | 405 ++++++++++++++++++++++++++++----------------------- src/audio.h | 28 ++-- src/raylib.h | 47 +++--- 3 files changed, 269 insertions(+), 211 deletions(-) diff --git a/src/audio.c b/src/audio.c index 3c618dd24..19a807128 100644 --- a/src/audio.c +++ b/src/audio.c @@ -2,7 +2,7 @@ * * raylib.audio * -* Basic functions to manage Audio: +* Basic functions to manage Audio: * Manage audio device (init/close) * Load and Unload audio files * Play/Stop/Pause/Resume loaded audio @@ -99,8 +99,8 @@ // Types and Structures Definition //---------------------------------------------------------------------------------- -// Used to create custom audio streams that are not bound to a specific file. -// There can be no more than 4 concurrent mixchannels in use. +// Used to create custom audio streams that are not bound to a specific file. +// There can be no more than 4 concurrent mixchannels in use. // This is due to each active mixc being tied to a dedicated mix channel. typedef struct MixChannel { unsigned short sampleRate; // default is 48000 @@ -108,7 +108,7 @@ typedef struct MixChannel { unsigned char mixChannel; // 0-3 or mixA-mixD, each mix channel can receive up to one dedicated audio stream bool floatingPoint; // if false then the short datatype is used instead bool playing; // false if paused - + ALenum alFormat; // OpenAL format specifier ALuint alSource; // OpenAL source ALuint alBuffer[MAX_STREAM_BUFFERS]; // OpenAL sample buffer @@ -121,7 +121,7 @@ typedef struct Music { jar_xm_context_t *xmctx; // XM chiptune context jar_mod_context_t modctx; // MOD chiptune context MixChannel *mixc; // Mix channel - + unsigned int totalSamplesLeft; float totalLengthSeconds; bool loop; @@ -145,7 +145,8 @@ typedef enum { ERROR_UNABLE_TO_OPEN_RRES_FILE = 2048, ERROR_INVALID_RRES_FILE = 4096, ERROR_INVALID_RRES_RESOURCE = 8192, - ERROR_UNINITIALIZED_CHANNELS = 16384 + ERROR_UNINITIALIZED_CHANNELS = 16384, + ERROR_UNINTIALIZED_MUSIC_BUFFER = 32768 } AudioError; #if defined(AUDIO_STANDALONE) @@ -217,7 +218,7 @@ void CloseAudioDevice(void) { for (int index = 0; index < MAX_MUSIC_STREAMS; index++) { - if (musicStreams[index].mixc) StopMusicStream(index); // Stop music streaming and close current stream + if (musicStreams[index].mixc) StopMusicStreamEx(index); // Stop music streaming and close current stream } ALCdevice *device; @@ -236,12 +237,12 @@ void CloseAudioDevice(void) bool IsAudioDeviceReady(void) { ALCcontext *context = alcGetCurrentContext(); - + if (context == NULL) return false; else { ALCdevice *device = alcGetContextsDevice(context); - + if (device == NULL) return false; else return true; } @@ -252,13 +253,13 @@ bool IsAudioDeviceReady(void) //---------------------------------------------------------------------------------- // Init mix channel for streaming -// The mixChannel is what audio muxing channel you want to operate on, 0-3 are the ones available. +// The mixChannel is what audio muxing channel you want to operate on, 0-3 are the ones available. // Each mix channel can only be used one at a time. static MixChannel *InitMixChannel(unsigned short sampleRate, unsigned char mixChannel, unsigned char channels, bool floatingPoint) { if (mixChannel >= MAX_MIX_CHANNELS) return NULL; if (!IsAudioDeviceReady()) InitAudioDevice(); - + if (!mixChannels[mixChannel]) { MixChannel *mixc = (MixChannel *)malloc(sizeof(MixChannel)); @@ -267,7 +268,7 @@ static MixChannel *InitMixChannel(unsigned short sampleRate, unsigned char mixCh mixc->mixChannel = mixChannel; mixc->floatingPoint = floatingPoint; mixChannels[mixChannel] = mixc; - + // Setup OpenAL format if (channels == 1) { @@ -279,17 +280,17 @@ static MixChannel *InitMixChannel(unsigned short sampleRate, unsigned char mixCh if (floatingPoint) mixc->alFormat = AL_FORMAT_STEREO_FLOAT32; else mixc->alFormat = AL_FORMAT_STEREO16; } - + // Create an audio source alGenSources(1, &mixc->alSource); alSourcef(mixc->alSource, AL_PITCH, 1); alSourcef(mixc->alSource, AL_GAIN, 1); alSource3f(mixc->alSource, AL_POSITION, 0, 0, 0); alSource3f(mixc->alSource, AL_VELOCITY, 0, 0, 0); - + // Create Buffer alGenBuffers(MAX_STREAM_BUFFERS, mixc->alBuffer); - + // Fill buffers for (int i = 0; i < MAX_STREAM_BUFFERS; i++) { @@ -305,14 +306,14 @@ static MixChannel *InitMixChannel(unsigned short sampleRate, unsigned char mixCh alBufferData(mixc->alBuffer[i], mixc->alFormat, pcm, MUSIC_BUFFER_SIZE_SHORT*sizeof(short), mixc->sampleRate); } } - + alSourceQueueBuffers(mixc->alSource, MAX_STREAM_BUFFERS, mixc->alBuffer); mixc->playing = true; alSourcePlay(mixc->alSource); - + return mixc; } - + return NULL; } @@ -323,18 +324,18 @@ static void CloseMixChannel(MixChannel *mixc) { alSourceStop(mixc->alSource); mixc->playing = false; - + // Flush out all queued buffers ALuint buffer = 0; int queued = 0; alGetSourcei(mixc->alSource, AL_BUFFERS_QUEUED, &queued); - + while (queued > 0) { alSourceUnqueueBuffers(mixc->alSource, 1, &buffer); queued--; } - + // Delete source and buffers alDeleteSources(1, &mixc->alSource); alDeleteBuffers(MAX_STREAM_BUFFERS, mixc->alBuffer); @@ -350,30 +351,30 @@ static void CloseMixChannel(MixChannel *mixc) static int BufferMixChannel(MixChannel *mixc, void *data, int numberElements) { if (!mixc || (mixChannels[mixc->mixChannel] != mixc)) return 0; // When there is two channels there must be an even number of samples - - if (!data || !numberElements) - { + + if (!data || !numberElements) + { // Pauses audio until data is given if (mixc->playing) { alSourcePause(mixc->alSource); mixc->playing = false; } - + return 0; } else if (!mixc->playing) - { + { // Restart audio otherwise alSourcePlay(mixc->alSource); mixc->playing = true; } ALuint buffer = 0; - + alSourceUnqueueBuffers(mixc->alSource, 1, &buffer); if (!buffer) return 0; - + if (mixc->floatingPoint) { // Process float buffers @@ -386,9 +387,9 @@ static int BufferMixChannel(MixChannel *mixc, void *data, int numberElements) short *ptr = (short *)data; alBufferData(buffer, mixc->alFormat, ptr, numberElements*sizeof(short), mixc->sampleRate); } - + alSourceQueueBuffers(mixc->alSource, 1, &buffer); - + return numberElements; } @@ -435,7 +436,7 @@ int InitRawMixChannel(int sampleRate, int channels, bool floatingPoint) return -1; } } - + if (InitMixChannel(sampleRate, mixIndex, channels, floatingPoint)) return mixIndex; else { @@ -451,13 +452,13 @@ int InitRawMixChannel(int sampleRate, int channels, bool floatingPoint) int BufferRawAudioContext(int ctx, void *data, unsigned short numberElements) { int numBuffered = 0; - + if (ctx >= 0) { MixChannel *mixc = mixChannels[ctx]; numBuffered = BufferMixChannel(mixc, data, numberElements); } - + return numBuffered; } @@ -482,12 +483,12 @@ Sound LoadSound(char *fileName) // Audio file loading // NOTE: Buffer space is allocated inside function, Wave must be freed - if (strcmp(GetExtension(fileName), "wav") == 0) wave = LoadWAV(fileName); - else if (strcmp(GetExtension(fileName), "ogg") == 0) wave = LoadOGG(fileName); + if (strcmp(GetExtension(fileName),"wav") == 0) wave = LoadWAV(fileName); + else if (strcmp(GetExtension(fileName),"ogg") == 0) wave = LoadOGG(fileName); else { TraceLog(WARNING, "[%s] Sound extension not recognized, it can't be loaded", fileName); - + // TODO: Find a better way to register errors (similar to glGetError()) lastAudioError = ERROR_EXTENSION_NOT_RECOGNIZED; } @@ -528,7 +529,7 @@ Sound LoadSound(char *fileName) // Attach sound buffer to source alSourcei(source, AL_BUFFER, buffer); - TraceLog(INFO, "[SND ID %i][BUFR ID %i] Sound file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", source, buffer, wave.sampleRate, wave.bitsPerSample, wave.channels); + TraceLog(INFO, "[%s] Sound file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", fileName, wave.sampleRate, wave.bitsPerSample, wave.channels); // Unallocate WAV data UnloadWave(wave); @@ -602,9 +603,9 @@ Sound LoadSoundFromRES(const char *rresName, int resId) #if defined(AUDIO_STANDALONE) TraceLog(WARNING, "Sound loading from rRES resource file not supported on standalone mode"); #else - + bool found = false; - + char id[4]; // rRES file identifier unsigned char version; // rRES file version and subversion char useless; // rRES header reserved data @@ -758,8 +759,8 @@ void UnloadSound(Sound sound) { alDeleteSources(1, &sound.source); alDeleteBuffers(1, &sound.buffer); - - TraceLog(INFO, "[SND ID %i][BUFR ID %i] Unloaded sound data from RAM", sound.source, sound.buffer); + + TraceLog(INFO, "Unloaded sound data"); } // Play a sound @@ -823,138 +824,182 @@ void SetSoundPitch(Sound sound, float pitch) // Module Functions Definition - Music loading and stream playing (.OGG) //---------------------------------------------------------------------------------- +MusicBuffer LoadMusicBufferStream(char *fileName, int index) +{ + MusicBuffer buffer = { 0 }; + + if(index > MAX_MUSIC_STREAMS) + { + TraceLog("[%s] index is greater than MAX_MUSIC_STREAMS", ERROR); + return; // error + } + + buffer.fileName = fileName; + buffer.index = index; + + + if (musicStreams[buffer.index].stream || musicStreams[buffer.index].xmctx) return; // error + + return buffer; +} + // Start music playing (open stream) // returns 0 on success or error code -int PlayMusicStream(int index, char *fileName) +int PlayMusicStream(MusicBuffer musicBuffer) { + if(musicBuffer.fileName == 0) + { + return ERROR_UNINTIALIZED_MUSIC_BUFFER; + } int mixIndex; - - if (musicStreams[index].stream || musicStreams[index].xmctx) return ERROR_UNINITIALIZED_CHANNELS; // error - for (mixIndex = 0; mixIndex < MAX_MIX_CHANNELS; mixIndex++) // find empty mix channel slot { if (mixChannels[mixIndex] == NULL) break; else if (mixIndex == (MAX_MIX_CHANNELS - 1)) return ERROR_OUT_OF_MIX_CHANNELS; // error } - - if (strcmp(GetExtension(fileName), "ogg") == 0) + + if (strcmp(GetExtension(musicBuffer.fileName),"ogg") == 0) { // Open audio stream - musicStreams[index].stream = stb_vorbis_open_filename(fileName, NULL, NULL); + musicStreams[musicBuffer.index].stream = stb_vorbis_open_filename(musicBuffer.fileName, NULL, NULL); - if (musicStreams[index].stream == NULL) + if (musicStreams[musicBuffer.index].stream == NULL) { - TraceLog(WARNING, "[%s] OGG audio file could not be opened", fileName); + TraceLog(WARNING, "[%s] OGG audio file could not be opened", musicBuffer.fileName); return ERROR_LOADING_OGG; // error } else { // Get file info - stb_vorbis_info info = stb_vorbis_get_info(musicStreams[index].stream); + stb_vorbis_info info = stb_vorbis_get_info(musicStreams[musicBuffer.index].stream); - TraceLog(DEBUG, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); - TraceLog(DEBUG, "[%s] Ogg channels: %i", fileName, info.channels); - TraceLog(DEBUG, "[%s] Temp memory required: %i", fileName, info.temp_memory_required); + TraceLog(INFO, "[%s] Ogg sample rate: %i", musicBuffer.fileName, info.sample_rate); + TraceLog(INFO, "[%s] Ogg channels: %i", musicBuffer.fileName, info.channels); + TraceLog(DEBUG, "[%s] Temp memory required: %i", musicBuffer.fileName, info.temp_memory_required); + + musicStreams[musicBuffer.index].loop = true; // We loop by default + musicStreams[musicBuffer.index].enabled = true; + + + musicStreams[musicBuffer.index].totalSamplesLeft = (unsigned int)stb_vorbis_stream_length_in_samples(musicStreams[musicBuffer.index].stream) * info.channels; + musicStreams[musicBuffer.index].totalLengthSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[musicBuffer.index].stream); - musicStreams[index].loop = true; // We loop by default - musicStreams[index].enabled = true; - - musicStreams[index].totalSamplesLeft = (unsigned int)stb_vorbis_stream_length_in_samples(musicStreams[index].stream) * info.channels; - musicStreams[index].totalLengthSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[index].stream); - if (info.channels == 2) { - musicStreams[index].mixc = InitMixChannel(info.sample_rate, mixIndex, 2, false); - musicStreams[index].mixc->playing = true; + musicStreams[musicBuffer.index].mixc = InitMixChannel(info.sample_rate, mixIndex, 2, false); + musicStreams[musicBuffer.index].mixc->playing = true; } else { - musicStreams[index].mixc = InitMixChannel(info.sample_rate, mixIndex, 1, false); - musicStreams[index].mixc->playing = true; + musicStreams[musicBuffer.index].mixc = InitMixChannel(info.sample_rate, mixIndex, 1, false); + musicStreams[musicBuffer.index].mixc->playing = true; } - - if (!musicStreams[index].mixc) return ERROR_LOADING_OGG; // error + + if (!musicStreams[musicBuffer.index].mixc) return ERROR_LOADING_OGG; // error } } - else if (strcmp(GetExtension(fileName), "xm") == 0) + else if (strcmp(GetExtension(musicBuffer.fileName),"xm") == 0) { // only stereo is supported for xm - if (!jar_xm_create_context_from_file(&musicStreams[index].xmctx, 48000, fileName)) + if (!jar_xm_create_context_from_file(&musicStreams[musicBuffer.index].xmctx, 48000, musicBuffer.fileName)) { - musicStreams[index].chipTune = true; - musicStreams[index].loop = true; - jar_xm_set_max_loop_count(musicStreams[index].xmctx, 0); // infinite number of loops - musicStreams[index].totalSamplesLeft = (unsigned int)jar_xm_get_remaining_samples(musicStreams[index].xmctx); - musicStreams[index].totalLengthSeconds = ((float)musicStreams[index].totalSamplesLeft)/48000.0f; - musicStreams[index].enabled = true; - - TraceLog(INFO, "[%s] XM number of samples: %i", fileName, musicStreams[index].totalSamplesLeft); - TraceLog(INFO, "[%s] XM track length: %11.6f sec", fileName, musicStreams[index].totalLengthSeconds); - - musicStreams[index].mixc = InitMixChannel(48000, mixIndex, 2, true); - - if (!musicStreams[index].mixc) return ERROR_XM_CONTEXT_CREATION; // error - - musicStreams[index].mixc->playing = true; + musicStreams[musicBuffer.index].chipTune = true; + musicStreams[musicBuffer.index].loop = true; + jar_xm_set_max_loop_count(musicStreams[musicBuffer.index].xmctx, 0); // infinite number of loops + musicStreams[musicBuffer.index].totalSamplesLeft = (unsigned int)jar_xm_get_remaining_samples(musicStreams[musicBuffer.index].xmctx); + musicStreams[musicBuffer.index].totalLengthSeconds = ((float)musicStreams[musicBuffer.index].totalSamplesLeft)/48000.0f; + musicStreams[musicBuffer.index].enabled = true; + + TraceLog(INFO, "[%s] XM number of samples: %i", musicBuffer.fileName, musicStreams[musicBuffer.index].totalSamplesLeft); + TraceLog(INFO, "[%s] XM track length: %11.6f sec", musicBuffer.fileName, musicStreams[musicBuffer.index].totalLengthSeconds); + + musicStreams[musicBuffer.index].mixc = InitMixChannel(48000, mixIndex, 2, true); + + if (!musicStreams[musicBuffer.index].mixc) return ERROR_XM_CONTEXT_CREATION; // error + + musicStreams[musicBuffer.index].mixc->playing = true; } else { - TraceLog(WARNING, "[%s] XM file could not be opened", fileName); + TraceLog(WARNING, "[%s] XM file could not be opened", musicBuffer.fileName); return ERROR_LOADING_XM; // error } } - else if (strcmp(GetExtension(fileName), "mod") == 0) + else if (strcmp(GetExtension(musicBuffer.fileName),"mod") == 0) { - jar_mod_init(&musicStreams[index].modctx); - - if (jar_mod_load_file(&musicStreams[index].modctx, fileName)) + jar_mod_init(&musicStreams[musicBuffer.index].modctx); + + if (jar_mod_load_file(&musicStreams[musicBuffer.index].modctx, musicBuffer.fileName)) { - musicStreams[index].chipTune = true; - musicStreams[index].loop = true; - musicStreams[index].totalSamplesLeft = (unsigned int)jar_mod_max_samples(&musicStreams[index].modctx); - musicStreams[index].totalLengthSeconds = ((float)musicStreams[index].totalSamplesLeft)/48000.0f; - musicStreams[index].enabled = true; - - TraceLog(INFO, "[%s] MOD number of samples: %i", fileName, musicStreams[index].totalSamplesLeft); - TraceLog(INFO, "[%s] MOD track length: %11.6f sec", fileName, musicStreams[index].totalLengthSeconds); - - musicStreams[index].mixc = InitMixChannel(48000, mixIndex, 2, false); - - if (!musicStreams[index].mixc) return ERROR_MOD_CONTEXT_CREATION; // error - - musicStreams[index].mixc->playing = true; + musicStreams[musicBuffer.index].chipTune = true; + musicStreams[musicBuffer.index].loop = true; + musicStreams[musicBuffer.index].totalSamplesLeft = (unsigned int)jar_mod_max_samples(&musicStreams[musicBuffer.index].modctx); + musicStreams[musicBuffer.index].totalLengthSeconds = ((float)musicStreams[musicBuffer.index].totalSamplesLeft)/48000.0f; + musicStreams[musicBuffer.index].enabled = true; + + TraceLog(INFO, "[%s] MOD number of samples: %i", musicBuffer.fileName, musicStreams[musicBuffer.index].totalSamplesLeft); + TraceLog(INFO, "[%s] MOD track length: %11.6f sec", musicBuffer.fileName, musicStreams[musicBuffer.index].totalLengthSeconds); + + musicStreams[musicBuffer.index].mixc = InitMixChannel(48000, mixIndex, 2, false); + + if (!musicStreams[musicBuffer.index].mixc) return ERROR_MOD_CONTEXT_CREATION; // error + + musicStreams[musicBuffer.index].mixc->playing = true; } else { - TraceLog(WARNING, "[%s] MOD file could not be opened", fileName); + TraceLog(WARNING, "[%s] MOD file could not be opened", musicBuffer.fileName); return ERROR_LOADING_MOD; // error } } else { - TraceLog(WARNING, "[%s] Music extension not recognized, it can't be loaded", fileName); + TraceLog(WARNING, "[%s] Music extension not recognized, it can't be loaded", musicBuffer.fileName); return ERROR_EXTENSION_NOT_RECOGNIZED; // error } - + return 0; // normal return } // Stop music playing for individual music index of musicStreams array (close stream) -void StopMusicStream(int index) +void StopMusicStream(MusicBuffer musicBuffer) +{ + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) + { + CloseMixChannel(musicStreams[musicBuffer.index].mixc); + + if (musicStreams[musicBuffer.index].xmctx) + jar_xm_free_context(musicStreams[musicBuffer.index].xmctx); + else if (musicStreams[musicBuffer.index].modctx.mod_loaded) + jar_mod_unload(&musicStreams[musicBuffer.index].modctx); + else + stb_vorbis_close(musicStreams[musicBuffer.index].stream); + + musicStreams[musicBuffer.index].enabled = false; + + if (musicStreams[musicBuffer.index].stream || musicStreams[musicBuffer.index].xmctx) + { + musicStreams[musicBuffer.index].stream = NULL; + musicStreams[musicBuffer.index].xmctx = NULL; + } + } +} + +void StopMusicStreamEx(int index) { if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) { CloseMixChannel(musicStreams[index].mixc); - + if (musicStreams[index].xmctx) jar_xm_free_context(musicStreams[index].xmctx); else if (musicStreams[index].modctx.mod_loaded) jar_mod_unload(&musicStreams[index].modctx); else stb_vorbis_close(musicStreams[index].stream); - + musicStreams[index].enabled = false; - + if (musicStreams[index].stream || musicStreams[index].xmctx) { musicStreams[index].stream = NULL; @@ -964,47 +1009,47 @@ void StopMusicStream(int index) } // Update (re-fill) music buffers if data already processed -void UpdateMusicStream(int index) +void UpdateMusicStream(MusicBuffer musicBuffer) { ALenum state; bool active = true; ALint processed = 0; - + // Determine if music stream is ready to be written - alGetSourcei(musicStreams[index].mixc->alSource, AL_BUFFERS_PROCESSED, &processed); - - if (musicStreams[index].mixc->playing && (index < MAX_MUSIC_STREAMS) && musicStreams[index].enabled && musicStreams[index].mixc && (processed > 0)) + alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_BUFFERS_PROCESSED, &processed); + + if (musicStreams[musicBuffer.index].mixc->playing && (musicBuffer.index < MAX_MUSIC_STREAMS) && musicStreams[musicBuffer.index].enabled && musicStreams[musicBuffer.index].mixc && (processed > 0)) { - active = BufferMusicStream(index, processed); - - if (!active && musicStreams[index].loop) + active = BufferMusicStream(musicBuffer.index, processed); + + if (!active && musicStreams[musicBuffer.index].loop) { - if (musicStreams[index].chipTune) + if (musicStreams[musicBuffer.index].chipTune) { - if(musicStreams[index].modctx.mod_loaded) jar_mod_seek_start(&musicStreams[index].modctx); - - musicStreams[index].totalSamplesLeft = musicStreams[index].totalLengthSeconds*48000.0f; + if(musicStreams[musicBuffer.index].modctx.mod_loaded) jar_mod_seek_start(&musicStreams[musicBuffer.index].modctx); + + musicStreams[musicBuffer.index].totalSamplesLeft = musicStreams[musicBuffer.index].totalLengthSeconds*48000.0f; } else { - stb_vorbis_seek_start(musicStreams[index].stream); - musicStreams[index].totalSamplesLeft = stb_vorbis_stream_length_in_samples(musicStreams[index].stream)*musicStreams[index].mixc->channels; + stb_vorbis_seek_start(musicStreams[musicBuffer.index].stream); + musicStreams[musicBuffer.index].totalSamplesLeft = stb_vorbis_stream_length_in_samples(musicStreams[musicBuffer.index].stream)*musicStreams[musicBuffer.index].mixc->channels; } - + // Determine if music stream is ready to be written - alGetSourcei(musicStreams[index].mixc->alSource, AL_BUFFERS_PROCESSED, &processed); - - active = BufferMusicStream(index, processed); + alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_BUFFERS_PROCESSED, &processed); + + active = BufferMusicStream(musicBuffer.index, processed); } if (alGetError() != AL_NO_ERROR) TraceLog(WARNING, "Error buffering data..."); - - alGetSourcei(musicStreams[index].mixc->alSource, AL_SOURCE_STATE, &state); - if (state != AL_PLAYING && active) alSourcePlay(musicStreams[index].mixc->alSource); + alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_SOURCE_STATE, &state); + + if (state != AL_PLAYING && active) alSourcePlay(musicStreams[musicBuffer.index].mixc->alSource); + + if (!active) StopMusicStream(musicBuffer); - if (!active) StopMusicStream(index); - } } @@ -1012,57 +1057,57 @@ void UpdateMusicStream(int index) int GetMusicStreamCount(void) { int musicCount = 0; - + // Find empty music slot for (int musicIndex = 0; musicIndex < MAX_MUSIC_STREAMS; musicIndex++) { if(musicStreams[musicIndex].stream != NULL || musicStreams[musicIndex].chipTune) musicCount++; } - + return musicCount; } // Pause music playing -void PauseMusicStream(int index) +void PauseMusicStream(MusicBuffer musicBuffer) { // Pause music stream if music available! - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc && musicStreams[index].enabled) + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc && musicStreams[musicBuffer.index].enabled) { TraceLog(INFO, "Pausing music stream"); - alSourcePause(musicStreams[index].mixc->alSource); - musicStreams[index].mixc->playing = false; + alSourcePause(musicStreams[musicBuffer.index].mixc->alSource); + musicStreams[musicBuffer.index].mixc->playing = false; } } // Resume music playing -void ResumeMusicStream(int index) +void ResumeMusicStream(MusicBuffer musicBuffer) { // Resume music playing... if music available! ALenum state; - - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) + + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) { - alGetSourcei(musicStreams[index].mixc->alSource, AL_SOURCE_STATE, &state); - + alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_SOURCE_STATE, &state); + if (state == AL_PAUSED) { TraceLog(INFO, "Resuming music stream"); - alSourcePlay(musicStreams[index].mixc->alSource); - musicStreams[index].mixc->playing = true; + alSourcePlay(musicStreams[musicBuffer.index].mixc->alSource); + musicStreams[musicBuffer.index].mixc->playing = true; } } } // Check if any music is playing -bool IsMusicPlaying(int index) +bool IsMusicPlaying(MusicBuffer musicBuffer) { bool playing = false; ALint state; - - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) + + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) { - alGetSourcei(musicStreams[index].mixc->alSource, AL_SOURCE_STATE, &state); - + alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_SOURCE_STATE, &state); + if (state == AL_PLAYING) playing = true; } @@ -1070,57 +1115,57 @@ bool IsMusicPlaying(int index) } // Set volume for music -void SetMusicVolume(int index, float volume) +void SetMusicVolume(MusicBuffer musicBuffer, float volume) { - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) { - alSourcef(musicStreams[index].mixc->alSource, AL_GAIN, volume); + alSourcef(musicStreams[musicBuffer.index].mixc->alSource, AL_GAIN, volume); } } // Set pitch for music -void SetMusicPitch(int index, float pitch) +void SetMusicPitch(MusicBuffer musicBuffer, float pitch) { - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) { - alSourcef(musicStreams[index].mixc->alSource, AL_PITCH, pitch); + alSourcef(musicStreams[musicBuffer.index].mixc->alSource, AL_PITCH, pitch); } } // Get music time length (in seconds) -float GetMusicTimeLength(int index) +float GetMusicTimeLength(MusicBuffer musicBuffer) { float totalSeconds; - - if (musicStreams[index].chipTune) totalSeconds = (float)musicStreams[index].totalLengthSeconds; - else totalSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[index].stream); + + if (musicStreams[musicBuffer.index].chipTune) totalSeconds = (float)musicStreams[musicBuffer.index].totalLengthSeconds; + else totalSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[musicBuffer.index].stream); return totalSeconds; } // Get current music time played (in seconds) -float GetMusicTimePlayed(int index) +float GetMusicTimePlayed(MusicBuffer musicBuffer) { float secondsPlayed = 0.0f; - - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) + + if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) { - if (musicStreams[index].chipTune && musicStreams[index].xmctx) + if (musicStreams[musicBuffer.index].chipTune && musicStreams[musicBuffer.index].xmctx) { uint64_t samples; - jar_xm_get_position(musicStreams[index].xmctx, NULL, NULL, NULL, &samples); - secondsPlayed = (float)samples/(48000.0f*musicStreams[index].mixc->channels); // Not sure if this is the correct value + jar_xm_get_position(musicStreams[musicBuffer.index].xmctx, NULL, NULL, NULL, &samples); + secondsPlayed = (float)samples/(48000.0f*musicStreams[musicBuffer.index].mixc->channels); // Not sure if this is the correct value } - else if(musicStreams[index].chipTune && musicStreams[index].modctx.mod_loaded) + else if(musicStreams[musicBuffer.index].chipTune && musicStreams[musicBuffer.index].modctx.mod_loaded) { - long numsamp = jar_mod_current_samples(&musicStreams[index].modctx); + long numsamp = jar_mod_current_samples(&musicStreams[musicBuffer.index].modctx); secondsPlayed = (float)numsamp/(48000.0f); } else { - int totalSamples = stb_vorbis_stream_length_in_samples(musicStreams[index].stream)*musicStreams[index].mixc->channels; - int samplesPlayed = totalSamples - musicStreams[index].totalSamplesLeft; - secondsPlayed = (float)samplesPlayed/(musicStreams[index].mixc->sampleRate*musicStreams[index].mixc->channels); + int totalSamples = stb_vorbis_stream_length_in_samples(musicStreams[musicBuffer.index].stream)*musicStreams[musicBuffer.index].mixc->channels; + int samplesPlayed = totalSamples - musicStreams[musicBuffer.index].totalSamplesLeft; + secondsPlayed = (float)samplesPlayed/(musicStreams[musicBuffer.index].mixc->sampleRate*musicStreams[musicBuffer.index].mixc->channels); } } @@ -1136,10 +1181,10 @@ static bool BufferMusicStream(int index, int numBuffers) { short pcm[MUSIC_BUFFER_SIZE_SHORT]; float pcmf[MUSIC_BUFFER_SIZE_FLOAT]; - + int size = 0; // Total size of data steamed in L+R samples for xm floats, individual L or R for ogg shorts bool active = true; // We can get more data from stream (not finished) - + if (musicStreams[index].chipTune) // There is no end of stream for xmfiles, once the end is reached zeros are generated for non looped chiptunes. { for (int i = 0; i < numBuffers; i++) @@ -1148,7 +1193,7 @@ static bool BufferMusicStream(int index, int numBuffers) { if (musicStreams[index].totalSamplesLeft >= MUSIC_BUFFER_SIZE_SHORT) size = MUSIC_BUFFER_SIZE_SHORT/2; else size = musicStreams[index].totalSamplesLeft/2; - + jar_mod_fillbuffer(&musicStreams[index].modctx, pcm, size, 0 ); BufferMixChannel(musicStreams[index].mixc, pcm, size*2); } @@ -1156,13 +1201,13 @@ static bool BufferMusicStream(int index, int numBuffers) { if (musicStreams[index].totalSamplesLeft >= MUSIC_BUFFER_SIZE_FLOAT) size = MUSIC_BUFFER_SIZE_FLOAT/2; else size = musicStreams[index].totalSamplesLeft/2; - + jar_xm_generate_samples(musicStreams[index].xmctx, pcmf, size); // reads 2*readlen shorts and moves them to buffer+size memory location BufferMixChannel(musicStreams[index].mixc, pcmf, size*2); } musicStreams[index].totalSamplesLeft -= size; - + if (musicStreams[index].totalSamplesLeft <= 0) { active = false; @@ -1174,13 +1219,13 @@ static bool BufferMusicStream(int index, int numBuffers) { if (musicStreams[index].totalSamplesLeft >= MUSIC_BUFFER_SIZE_SHORT) size = MUSIC_BUFFER_SIZE_SHORT; else size = musicStreams[index].totalSamplesLeft; - + for (int i = 0; i < numBuffers; i++) { int streamedBytes = stb_vorbis_get_samples_short_interleaved(musicStreams[index].stream, musicStreams[index].mixc->channels, pcm, size); BufferMixChannel(musicStreams[index].mixc, pcm, streamedBytes * musicStreams[index].mixc->channels); musicStreams[index].totalSamplesLeft -= streamedBytes * musicStreams[index].mixc->channels; - + if (musicStreams[index].totalSamplesLeft <= 0) { active = false; @@ -1367,8 +1412,8 @@ static Wave LoadOGG(char *fileName) static void UnloadWave(Wave wave) { free(wave.data); - - TraceLog(INFO, "Unloaded wave data from RAM"); + + TraceLog(INFO, "Unloaded wave data"); } // Some required functions for audio standalone module version diff --git a/src/audio.h b/src/audio.h index b68509113..d39162b5b 100644 --- a/src/audio.h +++ b/src/audio.h @@ -2,7 +2,7 @@ * * raylib.audio * -* Basic functions to manage Audio: +* Basic functions to manage Audio: * Manage audio device (init/close) * Load and Unload audio files * Play/Stop/Pause/Resume loaded audio @@ -75,6 +75,11 @@ typedef struct Wave { short channels; } Wave; +typedef struct MusicBuffer { + char *fileName; + int index; // index in musicStreams +} MusicBuffer; + #ifdef __cplusplus extern "C" { // Prevents name mangling of functions #endif @@ -102,16 +107,17 @@ bool IsSoundPlaying(Sound sound); // Check if a so void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) -int PlayMusicStream(int index, char *fileName); // Start music playing (open stream) -void UpdateMusicStream(int index); // Updates buffers for music streaming -void StopMusicStream(int index); // Stop music playing (close stream) -void PauseMusicStream(int index); // Pause music playing -void ResumeMusicStream(int index); // Resume playing paused music -bool IsMusicPlaying(int index); // Check if music is playing -void SetMusicVolume(int index, float volume); // Set volume for music (1.0 is max level) -void SetMusicPitch(int index, float pitch); // Set pitch for a music (1.0 is base level) -float GetMusicTimeLength(int index); // Get music time length (in seconds) -float GetMusicTimePlayed(int index); // Get current music time played (in seconds) +MusicBuffer LoadMusicBufferStream(char *fileName, int index); +int PlayMusicStream(MusicBuffer buffer); // Start music playing (open stream) +void UpdateMusicStream(MusicBuffer buffer); // Updates buffers for music streaming +void StopMusicStream(MusicBuffer buffer); // Stop music playing (close stream) +void PauseMusicStream(MusicBuffer buffer); // Pause music playing +void ResumeMusicStream(MusicBuffer buffer); // Resume playing paused music +bool IsMusicPlaying(MusicBuffer buffer); // Check if music is playing +void SetMusicVolume(MusicBuffer buffer float volume); // Set volume for music (1.0 is max level) +void SetMusicPitch(MusicBuffer buffer, float pitch); // Set pitch for a music (1.0 is base level) +float GetMusicTimeLength(MusicBuffer buffer); // Get music time length (in seconds) +float GetMusicTimePlayed(MusicBuffer buffer); // Get current music time played (in seconds) int GetMusicStreamCount(void); // Get number of streams loaded int InitRawMixChannel(int sampleRate, int channels, bool floatingPoint); // Initialize raw audio mix channel for audio buffering diff --git a/src/raylib.h b/src/raylib.h index fee6aa910..1966f75ed 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -397,7 +397,7 @@ typedef struct Mesh { // Shader type (generic shader) typedef struct Shader { unsigned int id; // Shader program id - + // Vertex attributes locations (default locations) int vertexLoc; // Vertex attribute location point (default-location = 0) int texcoordLoc; // Texcoord attribute location point (default-location = 1) @@ -409,7 +409,7 @@ typedef struct Shader { // Uniform locations int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) int tintColorLoc; // Diffuse color uniform location point (fragment shader) - + // Texture map locations (generic for any kind of map) int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) int mapTexture1Loc; // Map texture uniform location point (default-texture-unit = 1) @@ -423,11 +423,11 @@ typedef struct Material { Texture2D texDiffuse; // Diffuse texture (binded to shader mapTexture0Loc) Texture2D texNormal; // Normal texture (binded to shader mapTexture1Loc) Texture2D texSpecular; // Specular texture (binded to shader mapTexture2Loc) - + Color colDiffuse; // Diffuse color Color colAmbient; // Ambient color Color colSpecular; // Specular color - + float glossiness; // Glossiness level (Ranges from 0 to 1000) } Material; @@ -443,14 +443,14 @@ typedef struct LightData { unsigned int id; // Light unique id bool enabled; // Light enabled int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT - + Vector3 position; // Light position Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) float radius; // Light attenuation radius light intensity reduced with distance (world distance) - + Color diffuse; // Light diffuse color float intensity; // Light intensity level - + float coneAngle; // Light cone max angle: LIGHT_SPOT } LightData, *Light; @@ -478,6 +478,11 @@ typedef struct Wave { short channels; } Wave; +typedef struct MusicBuffer { + char *fileName; + int index; // index in musicStreams +} MusicBuffer; + // Texture formats // NOTE: Support depends on OpenGL version and platform typedef enum { @@ -647,7 +652,7 @@ void SetMousePosition(Vector2 position); // Set mouse position XY int GetMouseWheelMove(void); // Returns mouse wheel movement Y int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) -int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) +int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) #if defined(PLATFORM_ANDROID) @@ -687,8 +692,8 @@ void SetCameraPanControl(int panKey); // Set camera pan ke void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) -void SetCameraMoveControls(int frontKey, int backKey, - int leftKey, int rightKey, +void SetCameraMoveControls(int frontKey, int backKey, + int leftKey, int rightKey, int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) @@ -815,6 +820,7 @@ Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d mod Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) void UnloadModel(Model model); // Unload 3d model from memory +Mesh GenMeshCube(float width, float height, float depth); Material LoadMaterial(const char *fileName); // Load material data (from file) Material LoadDefaultMaterial(void); // Load default material (uses default models shader) @@ -896,16 +902,17 @@ bool IsSoundPlaying(Sound sound); // Check if a so void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) -int PlayMusicStream(int index, char *fileName); // Start music playing (open stream) -void UpdateMusicStream(int index); // Updates buffers for music streaming -void StopMusicStream(int index); // Stop music playing (close stream) -void PauseMusicStream(int index); // Pause music playing -void ResumeMusicStream(int index); // Resume playing paused music -bool IsMusicPlaying(int index); // Check if music is playing -void SetMusicVolume(int index, float volume); // Set volume for music (1.0 is max level) -void SetMusicPitch(int index, float pitch); // Set pitch for a music (1.0 is base level) -float GetMusicTimeLength(int index); // Get current music time length (in seconds) -float GetMusicTimePlayed(int index); // Get current music time played (in seconds) +MusicBuffer LoadMusicBufferStream(char *fileName, int index); +int PlayMusicStream(MusicBuffer buffer); // Start music playing (open stream) +void UpdateMusicStream(MusicBuffer buffer); // Updates buffers for music streaming +void StopMusicStream(MusicBuffer buffer); // Stop music playing (close stream) +void PauseMusicStream(MusicBuffer buffer); // Pause music playing +void ResumeMusicStream(MusicBuffer buffer); // Resume playing paused music +bool IsMusicPlaying(MusicBuffer buffer); // Check if music is playing +void SetMusicVolume(MusicBuffer buffer, float volume); // Set volume for music (1.0 is max level) +void SetMusicPitch(MusicBuffer buffer, float pitch); // Set pitch for a music (1.0 is base level) +float GetMusicTimeLength(MusicBuffer buffer); // Get music time length (in seconds) +float GetMusicTimePlayed(MusicBuffer buffer); // Get current music time played (in seconds) int GetMusicStreamCount(void); // Get number of streams loaded #ifdef __cplusplus From 13ebc745fe05d08c58ae2cfee1b73a05b1f70463 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 30 Jul 2016 10:03:32 +0200 Subject: [PATCH 011/102] Corrected bug on Linux linking --- examples/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Makefile b/examples/Makefile index b4bc0411b..e10b0bb6d 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -139,7 +139,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: # libglfw3-dev libopenal-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -pthread -ldl + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl # on XWindow could require also below libraries, just uncomment #LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else From 02c456432d7f284c41519f6d540ad6c4dfb4a065 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 1 Aug 2016 12:49:17 +0200 Subject: [PATCH 012/102] Complete review of audio system Still some work left... --- examples/audio_module_playing.c | 10 +- examples/audio_music_stream.c | 20 +- src/audio.c | 1129 +++++++++++-------------------- src/audio.h | 36 +- src/external/jar_xm.h | 60 +- src/raylib.h | 32 +- 6 files changed, 483 insertions(+), 804 deletions(-) diff --git a/examples/audio_module_playing.c b/examples/audio_module_playing.c index 6189b866a..07165c762 100644 --- a/examples/audio_module_playing.c +++ b/examples/audio_module_playing.c @@ -57,7 +57,9 @@ int main() // Create a RenderTexture2D to be used for render to texture RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight); - PlayMusicStream(0, "resources/audio/2t2m_spa.xm"); // Play module stream + Music xm = LoadMusicStream("resources/audio/2t2m_spa.xm"); + + PlayMusicStream(xm); float timePlayed = 0.0f; @@ -88,9 +90,9 @@ int main() } // Get timePlayed scaled to bar dimensions - timePlayed = (GetMusicTimePlayed(0)/GetMusicTimeLength(0)*(screenWidth - 40))*2; + timePlayed = (GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40))*2; - UpdateMusicStream(0); // Update music buffer with new stream data + UpdateMusicStream(xm); // Update music buffer with new stream data //---------------------------------------------------------------------------------- // Draw @@ -129,6 +131,8 @@ int main() UnloadShader(shader); // Unload shader UnloadRenderTexture(target); // Unload render texture + UnloadMusicStream(xm); // Unload music stream buffers from RAM + CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) CloseWindow(); // Close window and OpenGL context diff --git a/examples/audio_music_stream.c b/examples/audio_music_stream.c index e135a6e44..b96b85f7d 100644 --- a/examples/audio_music_stream.c +++ b/examples/audio_music_stream.c @@ -24,7 +24,9 @@ int main() InitAudioDevice(); // Initialize audio device - PlayMusicStream(0, "resources/audio/guitar_noodling.ogg"); // Play music stream + Music music = LoadMusicStream("resources/audio/guitar_noodling.ogg"); + + PlayMusicStream(music); int framesCounter = 0; float timePlayed = 0.0f; @@ -58,12 +60,12 @@ int main() SetMusicVolume(volume); } */ - if (IsWindowMinimized()) PauseMusicStream(0); - else ResumeMusicStream(0); + if (IsWindowMinimized()) PauseMusicStream(music); + else ResumeMusicStream(music); - timePlayed = GetMusicTimePlayed(0)/GetMusicTimeLength(0)*100*4; // We scale by 4 to fit 400 pixels - - UpdateMusicStream(0); // Update music buffer with new stream data + timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; // We scale by 4 to fit 400 pixels + + UpdateMusicStream(music); // Update music buffer with new stream data //---------------------------------------------------------------------------------- // Draw @@ -83,9 +85,11 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) + UnloadMusicStream(music); // Unload music stream buffers from RAM - CloseWindow(); // Close window and OpenGL context + CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) + + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; diff --git a/src/audio.c b/src/audio.c index 93987c6e9..94bbb376e 100644 --- a/src/audio.c +++ b/src/audio.c @@ -55,6 +55,7 @@ #include // Required for: strcmp(), strncmp() #include // Required for: FILE, fopen(), fclose(), fread() +// Tokens defined by OpenAL extension: AL_EXT_float32 #ifndef AL_FORMAT_MONO_FLOAT32 #define AL_FORMAT_MONO_FLOAT32 0x10010 #endif @@ -85,55 +86,47 @@ //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- -#define MAX_STREAM_BUFFERS 2 // Number of buffers for each source -#define MAX_MUSIC_STREAMS 2 // Number of simultanious music sources -#define MAX_MIX_CHANNELS 4 // Number of mix channels (OpenAL sources) +#define MAX_STREAM_BUFFERS 2 // Number of buffers for each audio stream -#if defined(PLATFORM_RPI) || defined(PLATFORM_ANDROID) - // NOTE: On RPI and Android should be lower to avoid frame-stalls - #define MUSIC_BUFFER_SIZE_SHORT 4096*2 // PCM data buffer (short) - 16Kb (RPI) - #define MUSIC_BUFFER_SIZE_FLOAT 4096 // PCM data buffer (float) - 16Kb (RPI) -#else - // NOTE: On HTML5 (emscripten) this is allocated on heap, by default it's only 16MB!...just take care... - #define MUSIC_BUFFER_SIZE_SHORT 4096*8 // PCM data buffer (short) - 64Kb - #define MUSIC_BUFFER_SIZE_FLOAT 4096*4 // PCM data buffer (float) - 64Kb -#endif +// NOTE: Music buffer size is defined by number of samples, independent of sample size +// After some math, considering a sampleRate of 48000, a buffer refill rate of 1/60 seconds +// and double-buffering system, I concluded that a 4096 samples buffer should be enough +// In case of music-stalls, just inclease this number +#define AUDIO_BUFFER_SIZE 4096 // PCM data samples (i.e. short: 32Kb) //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- -// Used to create custom audio streams that are not bound to a specific file. -// There can be no more than 4 concurrent mixchannels in use. -// This is due to each active mixc being tied to a dedicated mix channel. -typedef struct MixChannel { - unsigned short sampleRate; // default is 48000 - unsigned char channels; // 1=mono,2=stereo - unsigned char mixChannel; // 0-3 or mixA-mixD, each mix channel can receive up to one dedicated audio stream - bool floatingPoint; // if false then the short datatype is used instead - bool playing; // false if paused +typedef enum { MUSIC_AUDIO_OGG = 0, MUSIC_MODULE_XM, MUSIC_MODULE_MOD } MusicContextType; - ALenum alFormat; // OpenAL format specifier - ALuint alSource; // OpenAL source - ALuint alBuffer[MAX_STREAM_BUFFERS]; // OpenAL sample buffer -} MixChannel; +// Used to create custom audio streams that are not bound to a specific file. +typedef struct AudioStream { + unsigned int sampleRate; // Frequency (samples per second): default is 48000 + unsigned int sampleSize; // BitDepth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels + + ALenum format; // OpenAL format specifier + ALuint source; // OpenAL source + ALuint buffers[MAX_STREAM_BUFFERS]; // OpenAL buffers (double buffering) +} AudioStream; // Music type (file streaming from memory) -// NOTE: Anything longer than ~10 seconds should be streamed into a mix channel... typedef struct Music { - stb_vorbis *stream; - jar_xm_context_t *xmctx; // XM chiptune context - jar_mod_context_t modctx; // MOD chiptune context - MixChannel *mixc; // Mix channel + MusicContextType ctxType; // Type of music context (OGG, XM, MOD) + stb_vorbis *ctxOgg; // OGG audio context + jar_xm_context_t *ctxXm; // XM chiptune context + jar_mod_context_t ctxMod; // MOD chiptune context - unsigned int totalSamplesLeft; - float totalLengthSeconds; - bool loop; - bool chipTune; // chiptune is loaded? - bool enabled; -} Music; + AudioStream stream; // Audio stream -// Audio errors registered + bool loop; // Repeat music after finish (loop) + unsigned int totalSamples; // Total number of samples + unsigned int samplesLeft; // Number of samples left to end +} MusicData, *Music; + +// Audio errors to register +/* typedef enum { ERROR_RAW_CONTEXT_CREATION = 1, ERROR_XM_CONTEXT_CREATION = 2, @@ -152,6 +145,7 @@ typedef enum { ERROR_UNINITIALIZED_CHANNELS = 16384, ERROR_UNINTIALIZED_MUSIC_BUFFER = 32768 } AudioError; +*/ #if defined(AUDIO_STANDALONE) typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; @@ -160,10 +154,7 @@ typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static Music musicStreams[MAX_MUSIC_STREAMS]; // Current music loaded, up to two can play at the same time -static MixChannel *mixChannels[MAX_MIX_CHANNELS]; // Mix channels currently active (from music streams) - -static int lastAudioError = 0; // Registers last audio error +static int lastAudioError = 0; // Registers last audio error //---------------------------------------------------------------------------------- // Module specific Functions Declaration @@ -172,14 +163,11 @@ static Wave LoadWAV(const char *fileName); // Load WAV file static Wave LoadOGG(char *fileName); // Load OGG file static void UnloadWave(Wave wave); // Unload wave data -static bool BufferMusicStream(int index, int numBuffers); // Fill music buffers with data -static void EmptyMusicStream(int index); // Empty music buffers +static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); +static void CloseAudioStream(AudioStream stream); // Frees mix channel +static int BufferAudioStream(AudioStream stream, void *data, int numberElements); // Pushes more audio data into mix channel -static MixChannel *InitMixChannel(unsigned short sampleRate, unsigned char mixChannel, unsigned char channels, bool floatingPoint); -static void CloseMixChannel(MixChannel *mixc); // Frees mix channel -static int BufferMixChannel(MixChannel *mixc, void *data, int numberElements); // Pushes more audio data into mix channel -//static void ResampleShortToFloat(short *shorts, float *floats, unsigned short len); // Pass two arrays of the same legnth in -//static void ResampleByteToFloat(char *chars, float *floats, unsigned short len); // Pass two arrays of same length in +static bool BufferMusicStream(Music music, int numBuffersToProcess); // Fill music buffers with data #if defined(AUDIO_STANDALONE) const char *GetExtension(const char *fileName); // Get the extension for a filename @@ -190,45 +178,44 @@ void TraceLog(int msgType, const char *text, ...); // Outputs a trace log messa // Module Functions Definition - Audio Device initialization and Closing //---------------------------------------------------------------------------------- -// Initialize audio device and mixc +// Initialize audio device void InitAudioDevice(void) { // Open and initialize a device with default settings ALCdevice *device = alcOpenDevice(NULL); if (!device) TraceLog(ERROR, "Audio device could not be opened"); - - ALCcontext *context = alcCreateContext(device, NULL); - - if ((context == NULL) || (alcMakeContextCurrent(context) == ALC_FALSE)) + else { - if (context != NULL) alcDestroyContext(context); + ALCcontext *context = alcCreateContext(device, NULL); - alcCloseDevice(device); + if ((context == NULL) || (alcMakeContextCurrent(context) == ALC_FALSE)) + { + if (context != NULL) alcDestroyContext(context); - TraceLog(ERROR, "Could not setup mix channel"); + alcCloseDevice(device); + + TraceLog(ERROR, "Could not initialize audio context"); + } + else + { + TraceLog(INFO, "Audio device and context initialized successfully: %s", alcGetString(device, ALC_DEVICE_SPECIFIER)); + + // Listener definition (just for 2D) + alListener3f(AL_POSITION, 0, 0, 0); + alListener3f(AL_VELOCITY, 0, 0, 0); + alListener3f(AL_ORIENTATION, 0, 0, -1); + } } - - TraceLog(INFO, "Audio device and context initialized successfully: %s", alcGetString(device, ALC_DEVICE_SPECIFIER)); - - // Listener definition (just for 2D) - alListener3f(AL_POSITION, 0, 0, 0); - alListener3f(AL_VELOCITY, 0, 0, 0); - alListener3f(AL_ORIENTATION, 0, 0, -1); } // Close the audio device for all contexts void CloseAudioDevice(void) { - for (int index = 0; index < MAX_MUSIC_STREAMS; index++) - { - if (musicStreams[index].mixc) StopMusicStreamEx(index); // Stop music streaming and close current stream - } - ALCdevice *device; ALCcontext *context = alcGetCurrentContext(); - if (context == NULL) TraceLog(WARNING, "Could not get current mix channel for closing"); + if (context == NULL) TraceLog(WARNING, "Could not get current audio context for closing"); device = alcGetContextsDevice(context); @@ -252,300 +239,30 @@ bool IsAudioDeviceReady(void) } } -//---------------------------------------------------------------------------------- -// Module Functions Definition - Custom audio output -//---------------------------------------------------------------------------------- - -// Init mix channel for streaming -// The mixChannel is what audio muxing channel you want to operate on, 0-3 are the ones available. -// Each mix channel can only be used one at a time. -static MixChannel *InitMixChannel(unsigned short sampleRate, unsigned char mixChannel, unsigned char channels, bool floatingPoint) -{ - if (mixChannel >= MAX_MIX_CHANNELS) return NULL; - if (!IsAudioDeviceReady()) InitAudioDevice(); - - if (!mixChannels[mixChannel]) - { - MixChannel *mixc = (MixChannel *)malloc(sizeof(MixChannel)); - mixc->sampleRate = sampleRate; - mixc->channels = channels; - mixc->mixChannel = mixChannel; - mixc->floatingPoint = floatingPoint; - mixChannels[mixChannel] = mixc; - - // Setup OpenAL format - if (channels == 1) - { - if (floatingPoint) mixc->alFormat = AL_FORMAT_MONO_FLOAT32; - else mixc->alFormat = AL_FORMAT_MONO16; - } - else if (channels == 2) - { - if (floatingPoint) mixc->alFormat = AL_FORMAT_STEREO_FLOAT32; - else mixc->alFormat = AL_FORMAT_STEREO16; - } - - // Create an audio source - alGenSources(1, &mixc->alSource); - alSourcef(mixc->alSource, AL_PITCH, 1); - alSourcef(mixc->alSource, AL_GAIN, 1); - alSource3f(mixc->alSource, AL_POSITION, 0, 0, 0); - alSource3f(mixc->alSource, AL_VELOCITY, 0, 0, 0); - - // Create Buffer - alGenBuffers(MAX_STREAM_BUFFERS, mixc->alBuffer); - - // Fill buffers - for (int i = 0; i < MAX_STREAM_BUFFERS; i++) - { - // Initialize buffer with zeros by default - if (mixc->floatingPoint) - { - float pcm[MUSIC_BUFFER_SIZE_FLOAT] = { 0.0f }; - alBufferData(mixc->alBuffer[i], mixc->alFormat, pcm, MUSIC_BUFFER_SIZE_FLOAT*sizeof(float), mixc->sampleRate); - } - else - { - short pcm[MUSIC_BUFFER_SIZE_SHORT] = { 0 }; - alBufferData(mixc->alBuffer[i], mixc->alFormat, pcm, MUSIC_BUFFER_SIZE_SHORT*sizeof(short), mixc->sampleRate); - } - } - - alSourceQueueBuffers(mixc->alSource, MAX_STREAM_BUFFERS, mixc->alBuffer); - mixc->playing = true; - alSourcePlay(mixc->alSource); - - return mixc; - } - - return NULL; -} - -// Frees buffer in mix channel -static void CloseMixChannel(MixChannel *mixc) -{ - if (mixc) - { - alSourceStop(mixc->alSource); - mixc->playing = false; - - // Flush out all queued buffers - ALuint buffer = 0; - int queued = 0; - alGetSourcei(mixc->alSource, AL_BUFFERS_QUEUED, &queued); - - while (queued > 0) - { - alSourceUnqueueBuffers(mixc->alSource, 1, &buffer); - queued--; - } - - // Delete source and buffers - alDeleteSources(1, &mixc->alSource); - alDeleteBuffers(MAX_STREAM_BUFFERS, mixc->alBuffer); - mixChannels[mixc->mixChannel] = NULL; - free(mixc); - mixc = NULL; - } -} - -// Pushes more audio data into mix channel, only one buffer per call -// Call "BufferMixChannel(mixc, NULL, 0)" if you want to pause the audio. -// Returns number of samples that where processed. -static int BufferMixChannel(MixChannel *mixc, void *data, int numberElements) -{ - if (!mixc || (mixChannels[mixc->mixChannel] != mixc)) return 0; // When there is two channels there must be an even number of samples - - if (!data || !numberElements) - { - // Pauses audio until data is given - if (mixc->playing) - { - alSourcePause(mixc->alSource); - mixc->playing = false; - } - - return 0; - } - else if (!mixc->playing) - { - // Restart audio otherwise - alSourcePlay(mixc->alSource); - mixc->playing = true; - } - - ALuint buffer = 0; - - alSourceUnqueueBuffers(mixc->alSource, 1, &buffer); - if (!buffer) return 0; - - if (mixc->floatingPoint) - { - // Process float buffers - float *ptr = (float *)data; - alBufferData(buffer, mixc->alFormat, ptr, numberElements*sizeof(float), mixc->sampleRate); - } - else - { - // Process short buffers - short *ptr = (short *)data; - alBufferData(buffer, mixc->alFormat, ptr, numberElements*sizeof(short), mixc->sampleRate); - } - - alSourceQueueBuffers(mixc->alSource, 1, &buffer); - - return numberElements; -} - -/* -// Convert data from short to float -// example usage: -// short sh[3] = {1,2,3};float fl[3]; -// ResampleShortToFloat(sh,fl,3); -static void ResampleShortToFloat(short *shorts, float *floats, unsigned short len) -{ - for (int i = 0; i < len; i++) - { - if (shorts[i] < 0) floats[i] = (float)shorts[i]/32766.0f; - else floats[i] = (float)shorts[i]/32767.0f; - } -} - -// Convert data from float to short -// example usage: -// char ch[3] = {1,2,3};float fl[3]; -// ResampleByteToFloat(ch,fl,3); -static void ResampleByteToFloat(char *chars, float *floats, unsigned short len) -{ - for (int i = 0; i < len; i++) - { - if (chars[i] < 0) floats[i] = (float)chars[i]/127.0f; - else floats[i] = (float)chars[i]/128.0f; - } -} -*/ - -// Initialize raw audio mix channel for audio buffering -// NOTE: Returns mix channel index or -1 if it fails (errors are registered on lastAudioError) -int InitRawMixChannel(int sampleRate, int channels, bool floatingPoint) -{ - int mixIndex; - - for (mixIndex = 0; mixIndex < MAX_MIX_CHANNELS; mixIndex++) // find empty mix channel slot - { - if (mixChannels[mixIndex] == NULL) break; - else if (mixIndex == (MAX_MIX_CHANNELS - 1)) - { - lastAudioError = ERROR_OUT_OF_MIX_CHANNELS; - return -1; - } - } - - if (InitMixChannel(sampleRate, mixIndex, channels, floatingPoint)) return mixIndex; - else - { - lastAudioError = ERROR_RAW_CONTEXT_CREATION; - return -1; - } -} - -// Buffers data directly to raw mix channel -// if 0 is returned, buffers are still full and you need to keep trying with the same data -// otherwise it will return number of samples buffered. -// NOTE: Data could be either be an array of floats or shorts, depending on the created context -int BufferRawAudioContext(int ctx, void *data, unsigned short numberElements) -{ - int numBuffered = 0; - - if (ctx >= 0) - { - MixChannel *mixc = mixChannels[ctx]; - numBuffered = BufferMixChannel(mixc, data, numberElements); - } - - return numBuffered; -} - -// Closes and frees raw mix channel -void CloseRawAudioContext(int ctx) -{ - if (mixChannels[ctx]) CloseMixChannel(mixChannels[ctx]); -} - //---------------------------------------------------------------------------------- // Module Functions Definition - Sounds loading and playing (.WAV) //---------------------------------------------------------------------------------- // Load sound to memory +// NOTE: The entire file is loaded to memory to be played (no-streaming) Sound LoadSound(char *fileName) { - Sound sound = { 0 }; Wave wave = { 0 }; - // NOTE: The entire file is loaded to memory to play it all at once (no-streaming) + if (strcmp(GetExtension(fileName), "wav") == 0) wave = LoadWAV(fileName); + else if (strcmp(GetExtension(fileName), "ogg") == 0) wave = LoadOGG(fileName); + else TraceLog(WARNING, "[%s] Sound extension not recognized, it can't be loaded", fileName); - // Audio file loading - // NOTE: Buffer space is allocated inside function, Wave must be freed - - if (strcmp(GetExtension(fileName),"wav") == 0) wave = LoadWAV(fileName); - else if (strcmp(GetExtension(fileName),"ogg") == 0) wave = LoadOGG(fileName); - else - { - TraceLog(WARNING, "[%s] Sound extension not recognized, it can't be loaded", fileName); - - // TODO: Find a better way to register errors (similar to glGetError()) - lastAudioError = ERROR_EXTENSION_NOT_RECOGNIZED; - } - - if (wave.data != NULL) - { - ALenum format = 0; - // The OpenAL format is worked out by looking at the number of channels and the bits per sample - if (wave.channels == 1) - { - if (wave.bitsPerSample == 8 ) format = AL_FORMAT_MONO8; - else if (wave.bitsPerSample == 16) format = AL_FORMAT_MONO16; - } - else if (wave.channels == 2) - { - if (wave.bitsPerSample == 8 ) format = AL_FORMAT_STEREO8; - else if (wave.bitsPerSample == 16) format = AL_FORMAT_STEREO16; - } - - // Create an audio source - ALuint source; - alGenSources(1, &source); // Generate pointer to audio source - - alSourcef(source, AL_PITCH, 1); - alSourcef(source, AL_GAIN, 1); - alSource3f(source, AL_POSITION, 0, 0, 0); - alSource3f(source, AL_VELOCITY, 0, 0, 0); - alSourcei(source, AL_LOOPING, AL_FALSE); - - // Convert loaded data to OpenAL buffer - //---------------------------------------- - ALuint buffer; - alGenBuffers(1, &buffer); // Generate pointer to buffer - - // Upload sound data to buffer - alBufferData(buffer, format, wave.data, wave.dataSize, wave.sampleRate); - - // Attach sound buffer to source - alSourcei(source, AL_BUFFER, buffer); - - TraceLog(INFO, "[%s] Sound file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", fileName, wave.sampleRate, wave.bitsPerSample, wave.channels); - - // Unallocate WAV data - UnloadWave(wave); - - sound.source = source; - sound.buffer = buffer; - } + Sound sound = LoadSoundFromWave(wave); + + // Sound is loaded, we can unload wave + UnloadWave(wave); return sound; } // Load sound from wave data +// NOTE: Wave data must be unallocated manually Sound LoadSoundFromWave(Wave wave) { Sound sound = { 0 }; @@ -586,10 +303,7 @@ Sound LoadSoundFromWave(Wave wave) // Attach sound buffer to source alSourcei(source, AL_BUFFER, buffer); - // Unallocate WAV data - UnloadWave(wave); - - TraceLog(INFO, "[Wave] Sound file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", wave.sampleRate, wave.bitsPerSample, wave.channels); + TraceLog(INFO, "[SND ID %i][BUFR ID %i] Sound data loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", source, buffer, wave.sampleRate, wave.bitsPerSample, wave.channels); sound.source = source; sound.buffer = buffer; @@ -619,11 +333,7 @@ Sound LoadSoundFromRES(const char *rresName, int resId) FILE *rresFile = fopen(rresName, "rb"); - if (rresFile == NULL) - { - TraceLog(WARNING, "[%s] rRES raylib resource file could not be opened", rresName); - lastAudioError = ERROR_UNABLE_TO_OPEN_RRES_FILE; - } + if (rresFile == NULL) TraceLog(WARNING, "[%s] rRES raylib resource file could not be opened", rresName); else { // Read rres file (basic file check - id) @@ -637,7 +347,6 @@ Sound LoadSoundFromRES(const char *rresName, int resId) if ((id[0] != 'r') && (id[1] != 'R') && (id[2] != 'E') &&(id[3] != 'S')) { TraceLog(WARNING, "[%s] This is not a valid raylib resource file", rresName); - lastAudioError = ERROR_INVALID_RRES_FILE; } else { @@ -681,55 +390,12 @@ Sound LoadSoundFromRES(const char *rresName, int resId) free(data); - // Convert wave to Sound (OpenAL) - ALenum format = 0; - - // The OpenAL format is worked out by looking at the number of channels and the bits per sample - if (wave.channels == 1) - { - if (wave.bitsPerSample == 8 ) format = AL_FORMAT_MONO8; - else if (wave.bitsPerSample == 16) format = AL_FORMAT_MONO16; - } - else if (wave.channels == 2) - { - if (wave.bitsPerSample == 8 ) format = AL_FORMAT_STEREO8; - else if (wave.bitsPerSample == 16) format = AL_FORMAT_STEREO16; - } - - // Create an audio source - ALuint source; - alGenSources(1, &source); // Generate pointer to audio source - - alSourcef(source, AL_PITCH, 1); - alSourcef(source, AL_GAIN, 1); - alSource3f(source, AL_POSITION, 0, 0, 0); - alSource3f(source, AL_VELOCITY, 0, 0, 0); - alSourcei(source, AL_LOOPING, AL_FALSE); - - // Convert loaded data to OpenAL buffer - //---------------------------------------- - ALuint buffer; - alGenBuffers(1, &buffer); // Generate pointer to buffer - - // Upload sound data to buffer - alBufferData(buffer, format, (void*)wave.data, wave.dataSize, wave.sampleRate); - - // Attach sound buffer to source - alSourcei(source, AL_BUFFER, buffer); - - TraceLog(INFO, "[%s] Sound loaded successfully from resource (SampleRate: %i, BitRate: %i, Channels: %i)", rresName, wave.sampleRate, wave.bitsPerSample, wave.channels); - - // Unallocate WAV data + sound = LoadSoundFromWave(wave); + + // Sound is loaded, we can unload wave data UnloadWave(wave); - - sound.source = source; - sound.buffer = buffer; - } - else - { - TraceLog(WARNING, "[%s] Required resource do not seem to be a valid SOUND resource", rresName); - lastAudioError = ERROR_INVALID_RRES_RESOURCE; } + else TraceLog(WARNING, "[%s] Required resource do not seem to be a valid SOUND resource", rresName); } else { @@ -764,7 +430,7 @@ void UnloadSound(Sound sound) alDeleteSources(1, &sound.source); alDeleteBuffers(1, &sound.buffer); - TraceLog(INFO, "Unloaded sound data"); + TraceLog(INFO, "[SND ID %i][BUFR ID %i] Unloaded sound data from RAM", sound.source, sound.buffer); } // Play a sound @@ -794,6 +460,16 @@ void PauseSound(Sound sound) alSourcePause(sound.source); } +// Resume a paused sound +void ResumeSound(Sound sound) +{ + ALenum state; + + alGetSourcei(sound.source, AL_SOURCE_STATE, &state); + + if (state == AL_PAUSED) alSourcePlay(sound.source); +} + // Stop reproducing a sound void StopSound(Sound sound) { @@ -828,349 +504,219 @@ void SetSoundPitch(Sound sound, float pitch) // Module Functions Definition - Music loading and stream playing (.OGG) //---------------------------------------------------------------------------------- -MusicBuffer LoadMusicBufferStream(char *fileName, int index) +// Load music stream from file +Music LoadMusicStream(char *fileName) { - MusicBuffer buffer = { 0 }; + Music music = (MusicData *)malloc(sizeof(MusicData)); - if(index > MAX_MUSIC_STREAMS) + if (strcmp(GetExtension(fileName), "ogg") == 0) { - TraceLog("[%s] index is greater than MAX_MUSIC_STREAMS", ERROR); - return; // error + // Open ogg audio stream + music->ctxOgg = stb_vorbis_open_filename(fileName, NULL, NULL); + + if (music->ctxOgg == NULL) + { + TraceLog(WARNING, "[%s] OGG audio file could not be opened", fileName); + } + else + { + stb_vorbis_info info = stb_vorbis_get_info(music->ctxOgg); // Get Ogg file info + + TraceLog(DEBUG, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); + TraceLog(DEBUG, "[%s] Ogg channels: %i", fileName, info.channels); + TraceLog(DEBUG, "[%s] Temp memory required: %i", fileName, info.temp_memory_required); + + // TODO: Support 32-bit sampleSize OGGs + music->stream = InitAudioStream(info.sample_rate, 16, info.channels); + + music->totalSamples = (unsigned int)stb_vorbis_stream_length_in_samples(music->ctxOgg)*info.channels; + music->samplesLeft = music->totalSamples; + //float totalLengthSeconds = stb_vorbis_stream_length_in_seconds(music->ctxOgg); + + music->ctxType = MUSIC_AUDIO_OGG; + music->loop = true; // We loop by default + } } + else if (strcmp(GetExtension(fileName), "xm") == 0) + { + int result = jar_xm_create_context_from_file(&music->ctxXm, 48000, fileName); + + if (!result) // XM context created successfully + { + jar_xm_set_max_loop_count(music->ctxXm, 0); // Set infinite number of loops - buffer.fileName = fileName; - buffer.index = index; + music->totalSamples = (unsigned int)jar_xm_get_remaining_samples(music->ctxXm); + music->samplesLeft = music->totalSamples; + TraceLog(INFO, "[%s] XM number of samples: %i", fileName, music->totalSamples); + TraceLog(INFO, "[%s] XM track length: %11.6f sec", fileName, (float)music->totalSamples/48000.0f); + + // NOTE: Only stereo is supported for XM + music->stream = InitAudioStream(48000, 32, 2); + + music->ctxType = MUSIC_MODULE_XM; + music->loop = true; + } + else TraceLog(WARNING, "[%s] XM file could not be opened", fileName); + } + else if (strcmp(GetExtension(fileName), "mod") == 0) + { + jar_mod_init(&music->ctxMod); - if (musicStreams[buffer.index].stream || musicStreams[buffer.index].xmctx) return; // error + if (jar_mod_load_file(&music->ctxMod, fileName)) + { + music->totalSamples = (unsigned int)jar_mod_max_samples(&music->ctxMod); + music->samplesLeft = music->totalSamples; - return buffer; + TraceLog(INFO, "[%s] MOD number of samples: %i", fileName, music->samplesLeft); + TraceLog(INFO, "[%s] MOD track length: %11.6f sec", fileName, (float)music->totalSamples/48000.0f); + + music->stream = InitAudioStream(48000, 16, 2); + + music->ctxType = MUSIC_MODULE_MOD; + music->loop = true; + } + else TraceLog(WARNING, "[%s] MOD file could not be opened", fileName); + } + else TraceLog(WARNING, "[%s] Music extension not recognized, it can't be loaded", fileName); + + return music; +} + +// Unload music stream +void UnloadMusicStream(Music music) +{ + CloseAudioStream(music->stream); + + if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_close(music->ctxOgg); + else if (music->ctxType == MUSIC_MODULE_XM) jar_xm_free_context(music->ctxXm); + else if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_unload(&music->ctxMod); + + free(music); } // Start music playing (open stream) -// returns 0 on success or error code -int PlayMusicStream(MusicBuffer musicBuffer) +void PlayMusicStream(Music music) { - if(musicBuffer.fileName == 0) - { - return ERROR_UNINTIALIZED_MUSIC_BUFFER; - } - int mixIndex; - for (mixIndex = 0; mixIndex < MAX_MIX_CHANNELS; mixIndex++) // find empty mix channel slot - { - if (mixChannels[mixIndex] == NULL) break; - else if (mixIndex == (MAX_MIX_CHANNELS - 1)) return ERROR_OUT_OF_MIX_CHANNELS; // error - } - - if (strcmp(GetExtension(musicBuffer.fileName),"ogg") == 0) - { - // Open audio stream - musicStreams[musicBuffer.index].stream = stb_vorbis_open_filename(musicBuffer.fileName, NULL, NULL); - - if (musicStreams[musicBuffer.index].stream == NULL) - { - TraceLog(WARNING, "[%s] OGG audio file could not be opened", musicBuffer.fileName); - return ERROR_LOADING_OGG; // error - } - else - { - // Get file info - stb_vorbis_info info = stb_vorbis_get_info(musicStreams[musicBuffer.index].stream); - - TraceLog(INFO, "[%s] Ogg sample rate: %i", musicBuffer.fileName, info.sample_rate); - TraceLog(INFO, "[%s] Ogg channels: %i", musicBuffer.fileName, info.channels); - TraceLog(DEBUG, "[%s] Temp memory required: %i", musicBuffer.fileName, info.temp_memory_required); - - musicStreams[musicBuffer.index].loop = true; // We loop by default - musicStreams[musicBuffer.index].enabled = true; - - - musicStreams[musicBuffer.index].totalSamplesLeft = (unsigned int)stb_vorbis_stream_length_in_samples(musicStreams[musicBuffer.index].stream) * info.channels; - musicStreams[musicBuffer.index].totalLengthSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[musicBuffer.index].stream); - - if (info.channels == 2) - { - musicStreams[musicBuffer.index].mixc = InitMixChannel(info.sample_rate, mixIndex, 2, false); - musicStreams[musicBuffer.index].mixc->playing = true; - } - else - { - musicStreams[musicBuffer.index].mixc = InitMixChannel(info.sample_rate, mixIndex, 1, false); - musicStreams[musicBuffer.index].mixc->playing = true; - } - - if (!musicStreams[musicBuffer.index].mixc) return ERROR_LOADING_OGG; // error - } - } - else if (strcmp(GetExtension(musicBuffer.fileName),"xm") == 0) - { - // only stereo is supported for xm - if (!jar_xm_create_context_from_file(&musicStreams[musicBuffer.index].xmctx, 48000, musicBuffer.fileName)) - { - musicStreams[musicBuffer.index].chipTune = true; - musicStreams[musicBuffer.index].loop = true; - jar_xm_set_max_loop_count(musicStreams[musicBuffer.index].xmctx, 0); // infinite number of loops - musicStreams[musicBuffer.index].totalSamplesLeft = (unsigned int)jar_xm_get_remaining_samples(musicStreams[musicBuffer.index].xmctx); - musicStreams[musicBuffer.index].totalLengthSeconds = ((float)musicStreams[musicBuffer.index].totalSamplesLeft)/48000.0f; - musicStreams[musicBuffer.index].enabled = true; - - TraceLog(INFO, "[%s] XM number of samples: %i", musicBuffer.fileName, musicStreams[musicBuffer.index].totalSamplesLeft); - TraceLog(INFO, "[%s] XM track length: %11.6f sec", musicBuffer.fileName, musicStreams[musicBuffer.index].totalLengthSeconds); - - musicStreams[musicBuffer.index].mixc = InitMixChannel(48000, mixIndex, 2, true); - - if (!musicStreams[musicBuffer.index].mixc) return ERROR_XM_CONTEXT_CREATION; // error - - musicStreams[musicBuffer.index].mixc->playing = true; - } - else - { - TraceLog(WARNING, "[%s] XM file could not be opened", musicBuffer.fileName); - return ERROR_LOADING_XM; // error - } - } - else if (strcmp(GetExtension(musicBuffer.fileName),"mod") == 0) - { - jar_mod_init(&musicStreams[musicBuffer.index].modctx); - - if (jar_mod_load_file(&musicStreams[musicBuffer.index].modctx, musicBuffer.fileName)) - { - musicStreams[musicBuffer.index].chipTune = true; - musicStreams[musicBuffer.index].loop = true; - musicStreams[musicBuffer.index].totalSamplesLeft = (unsigned int)jar_mod_max_samples(&musicStreams[musicBuffer.index].modctx); - musicStreams[musicBuffer.index].totalLengthSeconds = ((float)musicStreams[musicBuffer.index].totalSamplesLeft)/48000.0f; - musicStreams[musicBuffer.index].enabled = true; - - TraceLog(INFO, "[%s] MOD number of samples: %i", musicBuffer.fileName, musicStreams[musicBuffer.index].totalSamplesLeft); - TraceLog(INFO, "[%s] MOD track length: %11.6f sec", musicBuffer.fileName, musicStreams[musicBuffer.index].totalLengthSeconds); - - musicStreams[musicBuffer.index].mixc = InitMixChannel(48000, mixIndex, 2, false); - - if (!musicStreams[musicBuffer.index].mixc) return ERROR_MOD_CONTEXT_CREATION; // error - - musicStreams[musicBuffer.index].mixc->playing = true; - } - else - { - TraceLog(WARNING, "[%s] MOD file could not be opened", musicBuffer.fileName); - return ERROR_LOADING_MOD; // error - } - } - else - { - TraceLog(WARNING, "[%s] Music extension not recognized, it can't be loaded", musicBuffer.fileName); - return ERROR_EXTENSION_NOT_RECOGNIZED; // error - } - - return 0; // normal return + alSourcePlay(music->stream.source); } -// Stop music playing for individual music index of musicStreams array (close stream) -void StopMusicStream(MusicBuffer musicBuffer) +// Pause music playing +void PauseMusicStream(Music music) { - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) - { - CloseMixChannel(musicStreams[musicBuffer.index].mixc); - - if (musicStreams[musicBuffer.index].xmctx) - jar_xm_free_context(musicStreams[musicBuffer.index].xmctx); - else if (musicStreams[musicBuffer.index].modctx.mod_loaded) - jar_mod_unload(&musicStreams[musicBuffer.index].modctx); - else - stb_vorbis_close(musicStreams[musicBuffer.index].stream); - - musicStreams[musicBuffer.index].enabled = false; - - if (musicStreams[musicBuffer.index].stream || musicStreams[musicBuffer.index].xmctx) - { - musicStreams[musicBuffer.index].stream = NULL; - musicStreams[musicBuffer.index].xmctx = NULL; - } - } + alSourcePause(music->stream.source); } -void StopMusicStreamEx(int index) +// Resume music playing +void ResumeMusicStream(Music music) { - if (index < MAX_MUSIC_STREAMS && musicStreams[index].mixc) - { - CloseMixChannel(musicStreams[index].mixc); + ALenum state; + alGetSourcei(music->stream.source, AL_SOURCE_STATE, &state); - if (musicStreams[index].xmctx) - jar_xm_free_context(musicStreams[index].xmctx); - else if (musicStreams[index].modctx.mod_loaded) - jar_mod_unload(&musicStreams[index].modctx); - else - stb_vorbis_close(musicStreams[index].stream); + if (state == AL_PAUSED) alSourcePlay(music->stream.source); +} - musicStreams[index].enabled = false; - - if (musicStreams[index].stream || musicStreams[index].xmctx) - { - musicStreams[index].stream = NULL; - musicStreams[index].xmctx = NULL; - } - } +// Stop music playing (close stream) +void StopMusicStream(Music music) +{ + alSourceStop(music->stream.source); } // Update (re-fill) music buffers if data already processed -void UpdateMusicStream(MusicBuffer musicBuffer) +void UpdateMusicStream(Music music) { ALenum state; bool active = true; ALint processed = 0; // Determine if music stream is ready to be written - alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_BUFFERS_PROCESSED, &processed); + alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); - if (musicStreams[musicBuffer.index].mixc->playing && (musicBuffer.index < MAX_MUSIC_STREAMS) && musicStreams[musicBuffer.index].enabled && musicStreams[musicBuffer.index].mixc && (processed > 0)) + if (processed > 0) { - active = BufferMusicStream(musicBuffer.index, processed); + active = BufferMusicStream(music, processed); - if (!active && musicStreams[musicBuffer.index].loop) + if (!active && music->loop) { - if (musicStreams[musicBuffer.index].chipTune) - { - if(musicStreams[musicBuffer.index].modctx.mod_loaded) jar_mod_seek_start(&musicStreams[musicBuffer.index].modctx); - - musicStreams[musicBuffer.index].totalSamplesLeft = musicStreams[musicBuffer.index].totalLengthSeconds*48000.0f; - } - else - { - stb_vorbis_seek_start(musicStreams[musicBuffer.index].stream); - musicStreams[musicBuffer.index].totalSamplesLeft = stb_vorbis_stream_length_in_samples(musicStreams[musicBuffer.index].stream)*musicStreams[musicBuffer.index].mixc->channels; - } + // Restart music context (if required) + if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_seek_start(&music->ctxMod); + else if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_seek_start(music->ctxOgg); + + music->samplesLeft = music->totalSamples; // Determine if music stream is ready to be written - alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_BUFFERS_PROCESSED, &processed); + alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); - active = BufferMusicStream(musicBuffer.index, processed); + active = BufferMusicStream(music, processed); } if (alGetError() != AL_NO_ERROR) TraceLog(WARNING, "Error buffering data..."); - alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_SOURCE_STATE, &state); + alGetSourcei(music->stream.source, AL_SOURCE_STATE, &state); - if (state != AL_PLAYING && active) alSourcePlay(musicStreams[musicBuffer.index].mixc->alSource); + if (state != AL_PLAYING && active) alSourcePlay(music->stream.source); - if (!active) StopMusicStream(musicBuffer); - - } -} - -//get number of music channels active at this time, this does not mean they are playing -int GetMusicStreamCount(void) -{ - int musicCount = 0; - - // Find empty music slot - for (int musicIndex = 0; musicIndex < MAX_MUSIC_STREAMS; musicIndex++) - { - if(musicStreams[musicIndex].stream != NULL || musicStreams[musicIndex].chipTune) musicCount++; - } - - return musicCount; -} - -// Pause music playing -void PauseMusicStream(MusicBuffer musicBuffer) -{ - // Pause music stream if music available! - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc && musicStreams[musicBuffer.index].enabled) - { - TraceLog(INFO, "Pausing music stream"); - alSourcePause(musicStreams[musicBuffer.index].mixc->alSource); - musicStreams[musicBuffer.index].mixc->playing = false; - } -} - -// Resume music playing -void ResumeMusicStream(MusicBuffer musicBuffer) -{ - // Resume music playing... if music available! - ALenum state; - - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) - { - alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_SOURCE_STATE, &state); - - if (state == AL_PAUSED) - { - TraceLog(INFO, "Resuming music stream"); - alSourcePlay(musicStreams[musicBuffer.index].mixc->alSource); - musicStreams[musicBuffer.index].mixc->playing = true; - } + if (!active) StopMusicStream(music); } } // Check if any music is playing -bool IsMusicPlaying(MusicBuffer musicBuffer) +bool IsMusicPlaying(Music music) { bool playing = false; ALint state; - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) - { - alGetSourcei(musicStreams[musicBuffer.index].mixc->alSource, AL_SOURCE_STATE, &state); + alGetSourcei(music->stream.source, AL_SOURCE_STATE, &state); - if (state == AL_PLAYING) playing = true; - } + if (state == AL_PLAYING) playing = true; return playing; } // Set volume for music -void SetMusicVolume(MusicBuffer musicBuffer, float volume) +void SetMusicVolume(Music music, float volume) { - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) - { - alSourcef(musicStreams[musicBuffer.index].mixc->alSource, AL_GAIN, volume); - } + alSourcef(music->stream.source, AL_GAIN, volume); } // Set pitch for music -void SetMusicPitch(MusicBuffer musicBuffer, float pitch) +void SetMusicPitch(Music music, float pitch) { - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) - { - alSourcef(musicStreams[musicBuffer.index].mixc->alSource, AL_PITCH, pitch); - } + alSourcef(music->stream.source, AL_PITCH, pitch); } // Get music time length (in seconds) -float GetMusicTimeLength(MusicBuffer musicBuffer) +float GetMusicTimeLength(Music music) { - float totalSeconds; - - if (musicStreams[musicBuffer.index].chipTune) totalSeconds = (float)musicStreams[musicBuffer.index].totalLengthSeconds; - else totalSeconds = stb_vorbis_stream_length_in_seconds(musicStreams[musicBuffer.index].stream); - + float totalSeconds = (float)music->totalSamples/music->stream.sampleRate; + return totalSeconds; } // Get current music time played (in seconds) -float GetMusicTimePlayed(MusicBuffer musicBuffer) +float GetMusicTimePlayed(Music music) { float secondsPlayed = 0.0f; - if (musicBuffer.index < MAX_MUSIC_STREAMS && musicStreams[musicBuffer.index].mixc) + if (music->ctxType == MUSIC_MODULE_XM) { - if (musicStreams[musicBuffer.index].chipTune && musicStreams[musicBuffer.index].xmctx) - { - uint64_t samples; - jar_xm_get_position(musicStreams[musicBuffer.index].xmctx, NULL, NULL, NULL, &samples); - secondsPlayed = (float)samples/(48000.0f*musicStreams[musicBuffer.index].mixc->channels); // Not sure if this is the correct value - } - else if(musicStreams[musicBuffer.index].chipTune && musicStreams[musicBuffer.index].modctx.mod_loaded) - { - long numsamp = jar_mod_current_samples(&musicStreams[musicBuffer.index].modctx); - secondsPlayed = (float)numsamp/(48000.0f); - } - else - { - int totalSamples = stb_vorbis_stream_length_in_samples(musicStreams[musicBuffer.index].stream)*musicStreams[musicBuffer.index].mixc->channels; - int samplesPlayed = totalSamples - musicStreams[musicBuffer.index].totalSamplesLeft; - secondsPlayed = (float)samplesPlayed/(musicStreams[musicBuffer.index].mixc->sampleRate*musicStreams[musicBuffer.index].mixc->channels); - } + uint64_t samplesPlayed; + jar_xm_get_position(music->ctxXm, NULL, NULL, NULL, &samplesPlayed); + + // TODO: Not sure if this is the correct value + secondsPlayed = (float)samplesPlayed/(music->stream.sampleRate*music->stream.channels); + } + else if (music->ctxType == MUSIC_MODULE_MOD) + { + long samplesPlayed = jar_mod_current_samples(&music->ctxMod); + + secondsPlayed = (float)samplesPlayed/music->stream.sampleRate; + } + else if (music->ctxType == MUSIC_AUDIO_OGG) + { + unsigned int samplesPlayed = music->totalSamples - music->samplesLeft; + + secondsPlayed = (float)samplesPlayed/(music->stream.sampleRate*music->stream.channels); } return secondsPlayed; @@ -1180,57 +726,204 @@ float GetMusicTimePlayed(MusicBuffer musicBuffer) // Module specific Functions Definition //---------------------------------------------------------------------------------- -// Fill music buffers with new data from music stream -static bool BufferMusicStream(int index, int numBuffers) +// Init audio stream (to stream audio pcm data) +static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) { - short pcm[MUSIC_BUFFER_SIZE_SHORT]; - float pcmf[MUSIC_BUFFER_SIZE_FLOAT]; + AudioStream stream = { 0 }; + + stream.sampleRate = sampleRate; + stream.sampleSize = sampleSize; + stream.channels = channels; + + // Setup OpenAL format + if (channels == 1) + { + switch (sampleSize) + { + case 8: stream.format = AL_FORMAT_MONO8; break; + case 16: stream.format = AL_FORMAT_MONO16; break; + case 32: stream.format = AL_FORMAT_MONO_FLOAT32; break; + default: TraceLog(WARNING, "Init audio stream: Sample size not supported: %i", sampleSize); break; + } + } + else if (channels == 2) + { + switch (sampleSize) + { + case 8: stream.format = AL_FORMAT_STEREO8; break; + case 16: stream.format = AL_FORMAT_STEREO16; break; + case 32: stream.format = AL_FORMAT_STEREO_FLOAT32; break; + default: TraceLog(WARNING, "Init audio stream: Sample size not supported: %i", sampleSize); break; + } + } + else TraceLog(WARNING, "Init audio stream: Number of channels not supported: %i", channels); + + // Create an audio source + alGenSources(1, &stream.source); + alSourcef(stream.source, AL_PITCH, 1); + alSourcef(stream.source, AL_GAIN, 1); + alSource3f(stream.source, AL_POSITION, 0, 0, 0); + alSource3f(stream.source, AL_VELOCITY, 0, 0, 0); + + // Create Buffers + alGenBuffers(MAX_STREAM_BUFFERS, stream.buffers); + + // Initialize buffer with zeros by default + for (int i = 0; i < MAX_STREAM_BUFFERS; i++) + { + if (stream.sampleSize == 8) + { + unsigned char pcm[AUDIO_BUFFER_SIZE] = { 0 }; + alBufferData(stream.buffers[i], stream.format, pcm, AUDIO_BUFFER_SIZE*sizeof(unsigned char), stream.sampleRate); + } + else if (stream.sampleSize == 16) + { + short pcm[AUDIO_BUFFER_SIZE] = { 0 }; + alBufferData(stream.buffers[i], stream.format, pcm, AUDIO_BUFFER_SIZE*sizeof(short), stream.sampleRate); + } + else if (stream.sampleSize == 32) + { + float pcm[AUDIO_BUFFER_SIZE] = { 0.0f }; + alBufferData(stream.buffers[i], stream.format, pcm, AUDIO_BUFFER_SIZE*sizeof(float), stream.sampleRate); + } + } + + alSourceQueueBuffers(stream.source, MAX_STREAM_BUFFERS, stream.buffers); + + TraceLog(INFO, "[AUD ID %i] Audio stream loaded successfully", stream.source); + + return stream; +} + +// Close audio stream and free memory +static void CloseAudioStream(AudioStream stream) +{ + // Stop playing channel + alSourceStop(stream.source); + + // Flush out all queued buffers + int queued = 0; + alGetSourcei(stream.source, AL_BUFFERS_QUEUED, &queued); + + ALuint buffer = 0; + + while (queued > 0) + { + alSourceUnqueueBuffers(stream.source, 1, &buffer); + queued--; + } + + // Delete source and buffers + alDeleteSources(1, &stream.source); + alDeleteBuffers(MAX_STREAM_BUFFERS, stream.buffers); + + TraceLog(INFO, "[AUD ID %i] Unloaded audio stream data", stream.source); +} + +// Push more audio data into audio stream, only one buffer per call +// NOTE: Returns number of samples that were processed +static int BufferAudioStream(AudioStream stream, void *data, int numberElements) +{ + if (!data || !numberElements) + { + // Pauses audio until data is given + alSourcePause(stream.source); + return 0; + } + + ALuint buffer = 0; + alSourceUnqueueBuffers(stream.source, 1, &buffer); + + if (!buffer) return 0; + + // Reference + //void alBufferData(ALuint bufferName, ALenum format, const ALvoid *data, ALsizei size, ALsizei frequency); + + // ALuint bufferName: buffer id + // ALenum format: Valid formats are + // AL_FORMAT_MONO8, // unsigned char + // AL_FORMAT_MONO16, // short + // AL_FORMAT_STEREO8, + // AL_FORMAT_STEREO16 // stereo data is interleaved: left+right channels sample + // AL_FORMAT_MONO_FLOAT32 (extension) + // AL_FORMAT_STEREO_FLOAT32 (extension) + // ALsizei size: Number of bytes, must be coherent with format + // ALsizei frequency: sample rate + + if (stream.sampleSize == 8) alBufferData(buffer, stream.format, (unsigned char *)data, numberElements*sizeof(unsigned char), stream.sampleRate); + else if (stream.sampleSize == 16) alBufferData(buffer, stream.format, (short *)data, numberElements*sizeof(short), stream.sampleRate); + else if (stream.sampleSize == 32) alBufferData(buffer, stream.format, (float *)data, numberElements*sizeof(float), stream.sampleRate); + + alSourceQueueBuffers(stream.source, 1, &buffer); + + return numberElements; +} + +// Fill music buffers with new data from music stream +static bool BufferMusicStream(Music music, int numBuffersToProcess) +{ + short pcm[AUDIO_BUFFER_SIZE]; + float pcmf[AUDIO_BUFFER_SIZE]; int size = 0; // Total size of data steamed in L+R samples for xm floats, individual L or R for ogg shorts bool active = true; // We can get more data from stream (not finished) - if (musicStreams[index].chipTune) // There is no end of stream for xmfiles, once the end is reached zeros are generated for non looped chiptunes. + if (music->ctxType == MUSIC_MODULE_XM) // There is no end of stream for xmfiles, once the end is reached zeros are generated for non looped chiptunes. { - for (int i = 0; i < numBuffers; i++) + for (int i = 0; i < numBuffersToProcess; i++) { - if (musicStreams[index].modctx.mod_loaded) - { - if (musicStreams[index].totalSamplesLeft >= MUSIC_BUFFER_SIZE_SHORT) size = MUSIC_BUFFER_SIZE_SHORT/2; - else size = musicStreams[index].totalSamplesLeft/2; + if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE/2; + else size = music->samplesLeft/2; - jar_mod_fillbuffer(&musicStreams[index].modctx, pcm, size, 0 ); - BufferMixChannel(musicStreams[index].mixc, pcm, size*2); - } - else if (musicStreams[index].xmctx) - { - if (musicStreams[index].totalSamplesLeft >= MUSIC_BUFFER_SIZE_FLOAT) size = MUSIC_BUFFER_SIZE_FLOAT/2; - else size = musicStreams[index].totalSamplesLeft/2; + // Read 2*shorts and moves them to buffer+size memory location + jar_xm_generate_samples(music->ctxXm, pcmf, size); + + BufferAudioStream(music->stream, pcmf, size*2); - jar_xm_generate_samples(musicStreams[index].xmctx, pcmf, size); // reads 2*readlen shorts and moves them to buffer+size memory location - BufferMixChannel(musicStreams[index].mixc, pcmf, size*2); - } + music->samplesLeft -= size; - musicStreams[index].totalSamplesLeft -= size; - - if (musicStreams[index].totalSamplesLeft <= 0) + if (music->samplesLeft <= 0) { active = false; break; } } } - else + else if (music->ctxType == MUSIC_MODULE_MOD) { - if (musicStreams[index].totalSamplesLeft >= MUSIC_BUFFER_SIZE_SHORT) size = MUSIC_BUFFER_SIZE_SHORT; - else size = musicStreams[index].totalSamplesLeft; - - for (int i = 0; i < numBuffers; i++) + for (int i = 0; i < numBuffersToProcess; i++) { - int streamedBytes = stb_vorbis_get_samples_short_interleaved(musicStreams[index].stream, musicStreams[index].mixc->channels, pcm, size); - BufferMixChannel(musicStreams[index].mixc, pcm, streamedBytes * musicStreams[index].mixc->channels); - musicStreams[index].totalSamplesLeft -= streamedBytes * musicStreams[index].mixc->channels; + if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE/2; + else size = music->samplesLeft/2; - if (musicStreams[index].totalSamplesLeft <= 0) + jar_mod_fillbuffer(&music->ctxMod, pcm, size, 0); + + BufferAudioStream(music->stream, pcm, size*2); + + music->samplesLeft -= size; + + if (music->samplesLeft <= 0) + { + active = false; + break; + } + } + } + else if (music->ctxType == MUSIC_AUDIO_OGG) + { + if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE; + else size = music->samplesLeft; + + for (int i = 0; i < numBuffersToProcess; i++) + { + // NOTE: Returns the number of samples stored per channel + int numSamples = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, size); + + BufferAudioStream(music->stream, pcm, numSamples*music->stream.channels); + + music->samplesLeft -= (numSamples*music->stream.channels); + + if (music->samplesLeft <= 0) { active = false; break; @@ -1241,22 +934,6 @@ static bool BufferMusicStream(int index, int numBuffers) return active; } -// Empty music buffers -static void EmptyMusicStream(int index) -{ - ALuint buffer = 0; - int queued = 0; - - alGetSourcei(musicStreams[index].mixc->alSource, AL_BUFFERS_QUEUED, &queued); - - while (queued > 0) - { - alSourceUnqueueBuffers(musicStreams[index].mixc->alSource, 1, &buffer); - - queued--; - } -} - // Load WAV file into Wave structure static Wave LoadWAV(const char *fileName) { @@ -1382,7 +1059,7 @@ static Wave LoadOGG(char *fileName) TraceLog(DEBUG, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); TraceLog(DEBUG, "[%s] Ogg channels: %i", fileName, info.channels); - int totalSamplesLength = (stb_vorbis_stream_length_in_samples(oggFile) * info.channels); + int totalSamplesLength = (stb_vorbis_stream_length_in_samples(oggFile)*info.channels); wave.dataSize = totalSamplesLength*sizeof(short); // Size must be in bytes @@ -1417,7 +1094,7 @@ static void UnloadWave(Wave wave) { free(wave.data); - TraceLog(INFO, "Unloaded wave data"); + TraceLog(INFO, "Unloaded wave data from RAM"); } // Some required functions for audio standalone module version diff --git a/src/audio.h b/src/audio.h index d39162b5b..c91713397 100644 --- a/src/audio.h +++ b/src/audio.h @@ -75,10 +75,9 @@ typedef struct Wave { short channels; } Wave; -typedef struct MusicBuffer { - char *fileName; - int index; // index in musicStreams -} MusicBuffer; +// Music type (file streaming from memory) +// NOTE: Anything longer than ~10 seconds should be streamed into a mix channel... +typedef struct Music *Music; #ifdef __cplusplus extern "C" { // Prevents name mangling of functions @@ -102,27 +101,24 @@ Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to void UnloadSound(Sound sound); // Unload sound void PlaySound(Sound sound); // Play a sound void PauseSound(Sound sound); // Pause a sound +void ResumeSound(Sound sound); // Resume a paused sound void StopSound(Sound sound); // Stop playing a sound bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) -MusicBuffer LoadMusicBufferStream(char *fileName, int index); -int PlayMusicStream(MusicBuffer buffer); // Start music playing (open stream) -void UpdateMusicStream(MusicBuffer buffer); // Updates buffers for music streaming -void StopMusicStream(MusicBuffer buffer); // Stop music playing (close stream) -void PauseMusicStream(MusicBuffer buffer); // Pause music playing -void ResumeMusicStream(MusicBuffer buffer); // Resume playing paused music -bool IsMusicPlaying(MusicBuffer buffer); // Check if music is playing -void SetMusicVolume(MusicBuffer buffer float volume); // Set volume for music (1.0 is max level) -void SetMusicPitch(MusicBuffer buffer, float pitch); // Set pitch for a music (1.0 is base level) -float GetMusicTimeLength(MusicBuffer buffer); // Get music time length (in seconds) -float GetMusicTimePlayed(MusicBuffer buffer); // Get current music time played (in seconds) -int GetMusicStreamCount(void); // Get number of streams loaded - -int InitRawMixChannel(int sampleRate, int channels, bool floatingPoint); // Initialize raw audio mix channel for audio buffering -int BufferRawMixChannel(int mixc, void *data, unsigned short numberElements); // Buffers data directly to raw mix channel -void CloseRawMixChannel(int mixc); // Closes and frees raw mix channel +Music LoadMusicStream(char *fileName); // Load music stream from file +void UnloadMusicStream(Music music); // Unload music stream +void PlayMusicStream(Music music); // Start music playing (open stream) +void UpdateMusicStream(Music music); // Updates buffers for music streaming +void StopMusicStream(Music music); // Stop music playing (close stream) +void PauseMusicStream(Music music); // Pause music playing +void ResumeMusicStream(Music music); // Resume playing paused music +bool IsMusicPlaying(Music music); // Check if music is playing +void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) +void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) +float GetMusicTimeLength(Music music); // Get music time length (in seconds) +float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) #ifdef __cplusplus } diff --git a/src/external/jar_xm.h b/src/external/jar_xm.h index 02463e088..7f0517df2 100644 --- a/src/external/jar_xm.h +++ b/src/external/jar_xm.h @@ -102,7 +102,7 @@ int jar_xm_create_context_from_file(jar_xm_context_t** ctx, uint32_t rate, const * @deprecated This function is unsafe! * @see jar_xm_create_context_safe() */ -int jar_xm_create_context(jar_xm_context_t**, const char* moddata, uint32_t rate); +int jar_xm_create_context(jar_xm_context_t** ctx, const char* moddata, uint32_t rate); /** Create a XM context. * @@ -114,17 +114,17 @@ int jar_xm_create_context(jar_xm_context_t**, const char* moddata, uint32_t rate * @returns 1 if module data is not sane * @returns 2 if memory allocation failed */ -int jar_xm_create_context_safe(jar_xm_context_t**, const char* moddata, size_t moddata_length, uint32_t rate); +int jar_xm_create_context_safe(jar_xm_context_t** ctx, const char* moddata, size_t moddata_length, uint32_t rate); /** Free a XM context created by jar_xm_create_context(). */ -void jar_xm_free_context(jar_xm_context_t*); +void jar_xm_free_context(jar_xm_context_t* ctx); /** Play the module and put the sound samples in an output buffer. * * @param output buffer of 2*numsamples elements (A left and right value for each sample) * @param numsamples number of samples to generate */ -void jar_xm_generate_samples(jar_xm_context_t*, float* output, size_t numsamples); +void jar_xm_generate_samples(jar_xm_context_t* ctx, float* output, size_t numsamples); /** Play the module, resample from 32 bit to 16 bit, and put the sound samples in an output buffer. * @@ -173,12 +173,12 @@ void jar_xm_generate_samples_8bit(jar_xm_context_t* ctx, char* output, size_t nu * * @param loopcnt maximum number of loops. Use 0 to loop * indefinitely. */ -void jar_xm_set_max_loop_count(jar_xm_context_t*, uint8_t loopcnt); +void jar_xm_set_max_loop_count(jar_xm_context_t* ctx, uint8_t loopcnt); /** Get the loop count of the currently playing module. This value is * 0 when the module is still playing, 1 when the module has looped * once, etc. */ -uint8_t jar_xm_get_loop_count(jar_xm_context_t*); +uint8_t jar_xm_get_loop_count(jar_xm_context_t* ctx); @@ -188,7 +188,7 @@ uint8_t jar_xm_get_loop_count(jar_xm_context_t*); * * @return whether the channel was muted. */ -bool jar_xm_mute_channel(jar_xm_context_t*, uint16_t, bool); +bool jar_xm_mute_channel(jar_xm_context_t* ctx, uint16_t, bool); /** Mute or unmute an instrument. * @@ -197,43 +197,43 @@ bool jar_xm_mute_channel(jar_xm_context_t*, uint16_t, bool); * * @return whether the instrument was muted. */ -bool jar_xm_mute_instrument(jar_xm_context_t*, uint16_t, bool); +bool jar_xm_mute_instrument(jar_xm_context_t* ctx, uint16_t, bool); /** Get the module name as a NUL-terminated string. */ -const char* jar_xm_get_module_name(jar_xm_context_t*); +const char* jar_xm_get_module_name(jar_xm_context_t* ctx); /** Get the tracker name as a NUL-terminated string. */ -const char* jar_xm_get_tracker_name(jar_xm_context_t*); +const char* jar_xm_get_tracker_name(jar_xm_context_t* ctx); /** Get the number of channels. */ -uint16_t jar_xm_get_number_of_channels(jar_xm_context_t*); +uint16_t jar_xm_get_number_of_channels(jar_xm_context_t* ctx); /** Get the module length (in patterns). */ uint16_t jar_xm_get_module_length(jar_xm_context_t*); /** Get the number of patterns. */ -uint16_t jar_xm_get_number_of_patterns(jar_xm_context_t*); +uint16_t jar_xm_get_number_of_patterns(jar_xm_context_t* ctx); /** Get the number of rows of a pattern. * * @note Pattern numbers go from 0 to * jar_xm_get_number_of_patterns(...)-1. */ -uint16_t jar_xm_get_number_of_rows(jar_xm_context_t*, uint16_t); +uint16_t jar_xm_get_number_of_rows(jar_xm_context_t* ctx, uint16_t); /** Get the number of instruments. */ -uint16_t jar_xm_get_number_of_instruments(jar_xm_context_t*); +uint16_t jar_xm_get_number_of_instruments(jar_xm_context_t* ctx); /** Get the number of samples of an instrument. * * @note Instrument numbers go from 1 to * jar_xm_get_number_of_instruments(...). */ -uint16_t jar_xm_get_number_of_samples(jar_xm_context_t*, uint16_t); +uint16_t jar_xm_get_number_of_samples(jar_xm_context_t* ctx, uint16_t); @@ -242,7 +242,7 @@ uint16_t jar_xm_get_number_of_samples(jar_xm_context_t*, uint16_t); * @param bpm will receive the current BPM * @param tempo will receive the current tempo (ticks per line) */ -void jar_xm_get_playing_speed(jar_xm_context_t*, uint16_t* bpm, uint16_t* tempo); +void jar_xm_get_playing_speed(jar_xm_context_t* ctx, uint16_t* bpm, uint16_t* tempo); /** Get the current position in the module being played. * @@ -257,7 +257,7 @@ void jar_xm_get_playing_speed(jar_xm_context_t*, uint16_t* bpm, uint16_t* tempo) * generated samples (divide by sample rate to get seconds of * generated audio) */ -void jar_xm_get_position(jar_xm_context_t*, uint8_t* pattern_index, uint8_t* pattern, uint8_t* row, uint64_t* samples); +void jar_xm_get_position(jar_xm_context_t* ctx, uint8_t* pattern_index, uint8_t* pattern, uint8_t* row, uint64_t* samples); /** Get the latest time (in number of generated samples) when a * particular instrument was triggered in any channel. @@ -265,7 +265,7 @@ void jar_xm_get_position(jar_xm_context_t*, uint8_t* pattern_index, uint8_t* pat * @note Instrument numbers go from 1 to * jar_xm_get_number_of_instruments(...). */ -uint64_t jar_xm_get_latest_trigger_of_instrument(jar_xm_context_t*, uint16_t); +uint64_t jar_xm_get_latest_trigger_of_instrument(jar_xm_context_t* ctx, uint16_t); /** Get the latest time (in number of generated samples) when a * particular sample was triggered in any channel. @@ -276,21 +276,21 @@ uint64_t jar_xm_get_latest_trigger_of_instrument(jar_xm_context_t*, uint16_t); * @note Sample numbers go from 0 to * jar_xm_get_nubmer_of_samples(...,instr)-1. */ -uint64_t jar_xm_get_latest_trigger_of_sample(jar_xm_context_t*, uint16_t instr, uint16_t sample); +uint64_t jar_xm_get_latest_trigger_of_sample(jar_xm_context_t* ctx, uint16_t instr, uint16_t sample); /** Get the latest time (in number of generated samples) when any * instrument was triggered in a given channel. * * @note Channel numbers go from 1 to jar_xm_get_number_of_channels(...). */ -uint64_t jar_xm_get_latest_trigger_of_channel(jar_xm_context_t*, uint16_t); +uint64_t jar_xm_get_latest_trigger_of_channel(jar_xm_context_t* ctx, uint16_t); /** Get the number of remaining samples. Divide by 2 to get the number of individual LR data samples. * * @note This is the remaining number of samples before the loop starts module again, or halts if on last pass. * @note This function is very slow and should only be run once, if at all. */ -uint64_t jar_xm_get_remaining_samples(jar_xm_context_t*); +uint64_t jar_xm_get_remaining_samples(jar_xm_context_t* ctx); #ifdef __cplusplus } @@ -308,7 +308,7 @@ uint64_t jar_xm_get_remaining_samples(jar_xm_context_t*); #include #include -#if JAR_XM_DEBUG +#ifdef JAR_XM_DEBUG #include #define DEBUG(fmt, ...) do { \ fprintf(stderr, "%s(): " fmt "\n", __func__, __VA_ARGS__); \ @@ -638,7 +638,7 @@ int jar_xm_create_context_safe(jar_xm_context_t** ctxp, const char* moddata, siz /* Initialize most of the fields to 0, 0.f, NULL or false depending on type */ memset(mempool, 0, bytes_needed); - ctx = (*ctxp = (jar_xm_context_t*)mempool); + ctx = (*ctxp = (jar_xm_context_t *)mempool); ctx->allocated_memory = mempool; /* Keep original pointer for free() */ mempool += sizeof(jar_xm_context_t); @@ -685,20 +685,18 @@ int jar_xm_create_context_safe(jar_xm_context_t** ctxp, const char* moddata, siz return 0; } -void jar_xm_free_context(jar_xm_context_t* context) { - free(context->allocated_memory); +void jar_xm_free_context(jar_xm_context_t* ctx) { + free(ctx->allocated_memory); } -void jar_xm_set_max_loop_count(jar_xm_context_t* context, uint8_t loopcnt) { - context->max_loop_count = loopcnt; +void jar_xm_set_max_loop_count(jar_xm_context_t* ctx, uint8_t loopcnt) { + ctx->max_loop_count = loopcnt; } -uint8_t jar_xm_get_loop_count(jar_xm_context_t* context) { - return context->loop_count; +uint8_t jar_xm_get_loop_count(jar_xm_context_t* ctx) { + return ctx->loop_count; } - - bool jar_xm_mute_channel(jar_xm_context_t* ctx, uint16_t channel, bool mute) { bool old = ctx->channels[channel - 1].muted; ctx->channels[channel - 1].muted = mute; diff --git a/src/raylib.h b/src/raylib.h index 1966f75ed..f8dd83591 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -478,10 +478,9 @@ typedef struct Wave { short channels; } Wave; -typedef struct MusicBuffer { - char *fileName; - int index; // index in musicStreams -} MusicBuffer; +// Music type (file streaming from memory) +// NOTE: Anything longer than ~10 seconds should be streamed +typedef struct Music *Music; // Texture formats // NOTE: Support depends on OpenGL version and platform @@ -897,23 +896,24 @@ Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to void UnloadSound(Sound sound); // Unload sound void PlaySound(Sound sound); // Play a sound void PauseSound(Sound sound); // Pause a sound +void ResumeSound(Sound sound); // Resume a paused sound void StopSound(Sound sound); // Stop playing a sound bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) -MusicBuffer LoadMusicBufferStream(char *fileName, int index); -int PlayMusicStream(MusicBuffer buffer); // Start music playing (open stream) -void UpdateMusicStream(MusicBuffer buffer); // Updates buffers for music streaming -void StopMusicStream(MusicBuffer buffer); // Stop music playing (close stream) -void PauseMusicStream(MusicBuffer buffer); // Pause music playing -void ResumeMusicStream(MusicBuffer buffer); // Resume playing paused music -bool IsMusicPlaying(MusicBuffer buffer); // Check if music is playing -void SetMusicVolume(MusicBuffer buffer, float volume); // Set volume for music (1.0 is max level) -void SetMusicPitch(MusicBuffer buffer, float pitch); // Set pitch for a music (1.0 is base level) -float GetMusicTimeLength(MusicBuffer buffer); // Get music time length (in seconds) -float GetMusicTimePlayed(MusicBuffer buffer); // Get current music time played (in seconds) -int GetMusicStreamCount(void); // Get number of streams loaded +Music LoadMusicStream(char *fileName); // Load music stream from file +void UnloadMusicStream(Music music); // Unload music stream +void PlayMusicStream(Music music); // Start music playing (open stream) +void UpdateMusicStream(Music music); // Updates buffers for music streaming +void StopMusicStream(Music music); // Stop music playing (close stream) +void PauseMusicStream(Music music); // Pause music playing +void ResumeMusicStream(Music music); // Resume playing paused music +bool IsMusicPlaying(Music music); // Check if music is playing +void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) +void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) +float GetMusicTimeLength(Music music); // Get music time length (in seconds) +float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) #ifdef __cplusplus } From 2dc5f580a6b18345be999bf70dcbfd563459de5d Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 1 Aug 2016 12:58:30 +0200 Subject: [PATCH 013/102] Removed audio errors register --- src/audio.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/src/audio.c b/src/audio.c index 94bbb376e..2ff567372 100644 --- a/src/audio.c +++ b/src/audio.c @@ -125,28 +125,6 @@ typedef struct Music { unsigned int samplesLeft; // Number of samples left to end } MusicData, *Music; -// Audio errors to register -/* -typedef enum { - ERROR_RAW_CONTEXT_CREATION = 1, - ERROR_XM_CONTEXT_CREATION = 2, - ERROR_MOD_CONTEXT_CREATION = 4, - ERROR_MIX_CHANNEL_CREATION = 8, - ERROR_MUSIC_CHANNEL_CREATION = 16, - ERROR_LOADING_XM = 32, - ERROR_LOADING_MOD = 64, - ERROR_LOADING_WAV = 128, - ERROR_LOADING_OGG = 256, - ERROR_OUT_OF_MIX_CHANNELS = 512, - ERROR_EXTENSION_NOT_RECOGNIZED = 1024, - ERROR_UNABLE_TO_OPEN_RRES_FILE = 2048, - ERROR_INVALID_RRES_FILE = 4096, - ERROR_INVALID_RRES_RESOURCE = 8192, - ERROR_UNINITIALIZED_CHANNELS = 16384, - ERROR_UNINTIALIZED_MUSIC_BUFFER = 32768 -} AudioError; -*/ - #if defined(AUDIO_STANDALONE) typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; #endif @@ -154,7 +132,7 @@ typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static int lastAudioError = 0; // Registers last audio error +// ... //---------------------------------------------------------------------------------- // Module specific Functions Declaration From 36cf1f7dfd8865310c21b0f78cf1de9976d9197a Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 1 Aug 2016 18:05:07 +0200 Subject: [PATCH 014/102] Improved support for C++ Added compound literals (C99) alternative for C++ compilers that don't support this feature --- src/raylib.h | 89 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 27 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index f8dd83591..4b9f6ca0b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -235,33 +235,64 @@ // Some Basic Colors // NOTE: Custom raylib color palette for amazing visuals on WHITE background -#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray -#define GRAY (Color){ 130, 130, 130, 255 } // Gray -#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray -#define YELLOW (Color){ 253, 249, 0, 255 } // Yellow -#define GOLD (Color){ 255, 203, 0, 255 } // Gold -#define ORANGE (Color){ 255, 161, 0, 255 } // Orange -#define PINK (Color){ 255, 109, 194, 255 } // Pink -#define RED (Color){ 230, 41, 55, 255 } // Red -#define MAROON (Color){ 190, 33, 55, 255 } // Maroon -#define GREEN (Color){ 0, 228, 48, 255 } // Green -#define LIME (Color){ 0, 158, 47, 255 } // Lime -#define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green -#define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue -#define BLUE (Color){ 0, 121, 241, 255 } // Blue -#define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue -#define PURPLE (Color){ 200, 122, 255, 255 } // Purple -#define VIOLET (Color){ 135, 60, 190, 255 } // Violet -#define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple -#define BEIGE (Color){ 211, 176, 131, 255 } // Beige -#define BROWN (Color){ 127, 106, 79, 255 } // Brown -#define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown +#ifdef __cplusplus + // NOTE: MSC C++ compiler does not support compound literals (C99 feature) + #define LIGHTGRAY Color(200, 200, 200, 255) // Light Gray + #define GRAY Color(130, 130, 130, 255) // Gray + #define DARKGRAY Color(80, 80, 80, 255) // Dark Gray + #define YELLOW Color(253, 249, 0, 255) // Yellow + #define GOLD Color(255, 203, 0, 255) // Gold + #define ORANGE Color(255, 161, 0, 255) // Orange + #define PINK Color(255, 109, 194, 255) // Pink + #define RED Color(230, 41, 55, 255) // Red + #define MAROON Color(190, 33, 55, 255) // Maroon + #define GREEN Color(0, 228, 48, 255) // Green + #define LIME Color(0, 158, 47, 255) // Lime + #define DARKGREEN Color(0, 117, 44, 255) // Dark Green + #define SKYBLUE Color(102, 191, 255, 255) // Sky Blue + #define BLUE Color(0, 121, 241, 255) // Blue + #define DARKBLUE Color(0, 82, 172, 255) // Dark Blue + #define PURPLE Color(200, 122, 255, 255) // Purple + #define VIOLET Color(135, 60, 190, 255) // Violet + #define DARKPURPLE Color(112, 31, 126, 255) // Dark Purple + #define BEIGE Color(211, 176, 131, 255) // Beige + #define BROWN Color(127, 106, 79, 255) // Brown + #define DARKBROWN Color(76, 63, 47, 255) // Dark Brown -#define WHITE (Color){ 255, 255, 255, 255 } // White -#define BLACK (Color){ 0, 0, 0, 255 } // Black -#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) -#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta -#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) + #define WHITE Color(255, 255, 255, 255) // White + #define BLACK Color(0, 0, 0, 255) // Black + #define BLANK Color(0, 0, 0, 0) // Blank (Transparent) + #define MAGENTA Color(255, 0, 255, 255) // Magenta + #define RAYWHITE Color(245, 245, 245, 255) // My own White (raylib logo) +#else + #define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray + #define GRAY (Color){ 130, 130, 130, 255 } // Gray + #define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray + #define YELLOW (Color){ 253, 249, 0, 255 } // Yellow + #define GOLD (Color){ 255, 203, 0, 255 } // Gold + #define ORANGE (Color){ 255, 161, 0, 255 } // Orange + #define PINK (Color){ 255, 109, 194, 255 } // Pink + #define RED (Color){ 230, 41, 55, 255 } // Red + #define MAROON (Color){ 190, 33, 55, 255 } // Maroon + #define GREEN (Color){ 0, 228, 48, 255 } // Green + #define LIME (Color){ 0, 158, 47, 255 } // Lime + #define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green + #define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue + #define BLUE (Color){ 0, 121, 241, 255 } // Blue + #define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue + #define PURPLE (Color){ 200, 122, 255, 255 } // Purple + #define VIOLET (Color){ 135, 60, 190, 255 } // Violet + #define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple + #define BEIGE (Color){ 211, 176, 131, 255 } // Beige + #define BROWN (Color){ 127, 106, 79, 255 } // Brown + #define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown + + #define WHITE (Color){ 255, 255, 255, 255 } // White + #define BLACK (Color){ 0, 0, 0, 255 } // Black + #define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) + #define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta + #define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) +#endif //---------------------------------------------------------------------------------- // Types and Structures Definition @@ -308,6 +339,9 @@ typedef struct Color { unsigned char g; unsigned char b; unsigned char a; +#ifdef __cplusplus + Color(unsigned char cr, unsigned char cg, unsigned char cb, unsigned char ca) : r(cr), g(cg), b(cb), a(ca) { } +#endif } Color; // Rectangle type @@ -819,7 +853,8 @@ Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d mod Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) void UnloadModel(Model model); // Unload 3d model from memory -Mesh GenMeshCube(float width, float height, float depth); + +Mesh GenMeshCube(float width, float height, float depth); // Generate mesh: cube Material LoadMaterial(const char *fileName); // Load material data (from file) Material LoadDefaultMaterial(void); // Load default material (uses default models shader) From 58d2f70b7e11aadb5eab5f9fa1c081b22a59ef91 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 1 Aug 2016 21:37:45 +0200 Subject: [PATCH 015/102] Review audio module and examples --- examples/audio_music_stream.c | 1 - examples/audio_standalone.c | 11 +- src/audio.c | 181 ++++++++------------- templates/android_project/jni/basic_game.c | 8 +- 4 files changed, 76 insertions(+), 125 deletions(-) diff --git a/examples/audio_music_stream.c b/examples/audio_music_stream.c index b96b85f7d..1d86bd1ad 100644 --- a/examples/audio_music_stream.c +++ b/examples/audio_music_stream.c @@ -54,7 +54,6 @@ int main() { volume = 1.0; framesCounter = 0; - PlayMusicStream(1, "resources/audio/another_file.ogg"); } SetMusicVolume(volume); diff --git a/examples/audio_standalone.c b/examples/audio_standalone.c index f6e115db5..c716faedb 100644 --- a/examples/audio_standalone.c +++ b/examples/audio_standalone.c @@ -39,7 +39,8 @@ int main() Sound fxWav = LoadSound("resources/audio/weird.wav"); // Load WAV audio file Sound fxOgg = LoadSound("resources/audio/tanatana.ogg"); // Load OGG audio file - PlayMusicStream(0, "resources/audio/guitar_noodling.ogg"); + Music music = LoadMusicStream("resources/audio/guitar_noodling.ogg"); + PlayMusicStream(music); printf("\nPress s or d to play sounds...\n"); @@ -59,11 +60,13 @@ int main() key = 0; } - UpdateMusicStream(0); + UpdateMusicStream(music); } - UnloadSound(fxWav); // Unload sound data - UnloadSound(fxOgg); // Unload sound data + UnloadSound(fxWav); // Unload sound data + UnloadSound(fxOgg); // Unload sound data + + UnloadMusicStream(music); // Unload music stream data CloseAudioDevice(); diff --git a/src/audio.c b/src/audio.c index 2ff567372..d1c425d5f 100644 --- a/src/audio.c +++ b/src/audio.c @@ -86,13 +86,13 @@ //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- -#define MAX_STREAM_BUFFERS 2 // Number of buffers for each audio stream +#define MAX_STREAM_BUFFERS 2 // Number of buffers for each audio stream // NOTE: Music buffer size is defined by number of samples, independent of sample size // After some math, considering a sampleRate of 48000, a buffer refill rate of 1/60 seconds // and double-buffering system, I concluded that a 4096 samples buffer should be enough -// In case of music-stalls, just inclease this number -#define AUDIO_BUFFER_SIZE 4096 // PCM data samples (i.e. short: 32Kb) +// In case of music-stalls, just increase this number +#define AUDIO_BUFFER_SIZE 4096 // PCM data samples (i.e. short: 32Kb) //---------------------------------------------------------------------------------- // Types and Structures Definition @@ -141,12 +141,12 @@ static Wave LoadWAV(const char *fileName); // Load WAV file static Wave LoadOGG(char *fileName); // Load OGG file static void UnloadWave(Wave wave); // Unload wave data -static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); -static void CloseAudioStream(AudioStream stream); // Frees mix channel -static int BufferAudioStream(AudioStream stream, void *data, int numberElements); // Pushes more audio data into mix channel - static bool BufferMusicStream(Music music, int numBuffersToProcess); // Fill music buffers with data +static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); +static void BufferAudioStream(AudioStream stream, void *data, int numSamples); +static void CloseAudioStream(AudioStream stream); + #if defined(AUDIO_STANDALONE) const char *GetExtension(const char *fileName); // Get the extension for a filename void TraceLog(int msgType, const char *text, ...); // Outputs a trace log message (INFO, ERROR, WARNING) @@ -492,27 +492,23 @@ Music LoadMusicStream(char *fileName) // Open ogg audio stream music->ctxOgg = stb_vorbis_open_filename(fileName, NULL, NULL); - if (music->ctxOgg == NULL) - { - TraceLog(WARNING, "[%s] OGG audio file could not be opened", fileName); - } + if (music->ctxOgg == NULL) TraceLog(WARNING, "[%s] OGG audio file could not be opened", fileName); else { stb_vorbis_info info = stb_vorbis_get_info(music->ctxOgg); // Get Ogg file info - - TraceLog(DEBUG, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); - TraceLog(DEBUG, "[%s] Ogg channels: %i", fileName, info.channels); - TraceLog(DEBUG, "[%s] Temp memory required: %i", fileName, info.temp_memory_required); + //float totalLengthSeconds = stb_vorbis_stream_length_in_seconds(music->ctxOgg); // TODO: Support 32-bit sampleSize OGGs music->stream = InitAudioStream(info.sample_rate, 16, info.channels); - music->totalSamples = (unsigned int)stb_vorbis_stream_length_in_samples(music->ctxOgg)*info.channels; music->samplesLeft = music->totalSamples; - //float totalLengthSeconds = stb_vorbis_stream_length_in_seconds(music->ctxOgg); - music->ctxType = MUSIC_AUDIO_OGG; music->loop = true; // We loop by default + + TraceLog(DEBUG, "[%s] OGG sample rate: %i", fileName, info.sample_rate); + TraceLog(DEBUG, "[%s] OGG channels: %i", fileName, info.channels); + TraceLog(DEBUG, "[%s] OGG memory required: %i", fileName, info.temp_memory_required); + } } else if (strcmp(GetExtension(fileName), "xm") == 0) @@ -523,17 +519,15 @@ Music LoadMusicStream(char *fileName) { jar_xm_set_max_loop_count(music->ctxXm, 0); // Set infinite number of loops - music->totalSamples = (unsigned int)jar_xm_get_remaining_samples(music->ctxXm); - music->samplesLeft = music->totalSamples; - - TraceLog(INFO, "[%s] XM number of samples: %i", fileName, music->totalSamples); - TraceLog(INFO, "[%s] XM track length: %11.6f sec", fileName, (float)music->totalSamples/48000.0f); - // NOTE: Only stereo is supported for XM music->stream = InitAudioStream(48000, 32, 2); - + music->totalSamples = (unsigned int)jar_xm_get_remaining_samples(music->ctxXm); + music->samplesLeft = music->totalSamples; music->ctxType = MUSIC_MODULE_XM; music->loop = true; + + TraceLog(DEBUG, "[%s] XM number of samples: %i", fileName, music->totalSamples); + TraceLog(DEBUG, "[%s] XM track length: %11.6f sec", fileName, (float)music->totalSamples/48000.0f); } else TraceLog(WARNING, "[%s] XM file could not be opened", fileName); } @@ -543,16 +537,14 @@ Music LoadMusicStream(char *fileName) if (jar_mod_load_file(&music->ctxMod, fileName)) { + music->stream = InitAudioStream(48000, 16, 2); music->totalSamples = (unsigned int)jar_mod_max_samples(&music->ctxMod); music->samplesLeft = music->totalSamples; + music->ctxType = MUSIC_MODULE_MOD; + music->loop = true; TraceLog(INFO, "[%s] MOD number of samples: %i", fileName, music->samplesLeft); TraceLog(INFO, "[%s] MOD track length: %11.6f sec", fileName, (float)music->totalSamples/48000.0f); - - music->stream = InitAudioStream(48000, 16, 2); - - music->ctxType = MUSIC_MODULE_MOD; - music->loop = true; } else TraceLog(WARNING, "[%s] MOD file could not be opened", fileName); } @@ -799,42 +791,18 @@ static void CloseAudioStream(AudioStream stream) } // Push more audio data into audio stream, only one buffer per call -// NOTE: Returns number of samples that were processed -static int BufferAudioStream(AudioStream stream, void *data, int numberElements) -{ - if (!data || !numberElements) - { - // Pauses audio until data is given - alSourcePause(stream.source); - return 0; - } - +static void BufferAudioStream(AudioStream stream, void *data, int numSamples) +{ ALuint buffer = 0; alSourceUnqueueBuffers(stream.source, 1, &buffer); - if (!buffer) return 0; - - // Reference - //void alBufferData(ALuint bufferName, ALenum format, const ALvoid *data, ALsizei size, ALsizei frequency); - - // ALuint bufferName: buffer id - // ALenum format: Valid formats are - // AL_FORMAT_MONO8, // unsigned char - // AL_FORMAT_MONO16, // short - // AL_FORMAT_STEREO8, - // AL_FORMAT_STEREO16 // stereo data is interleaved: left+right channels sample - // AL_FORMAT_MONO_FLOAT32 (extension) - // AL_FORMAT_STEREO_FLOAT32 (extension) - // ALsizei size: Number of bytes, must be coherent with format - // ALsizei frequency: sample rate - - if (stream.sampleSize == 8) alBufferData(buffer, stream.format, (unsigned char *)data, numberElements*sizeof(unsigned char), stream.sampleRate); - else if (stream.sampleSize == 16) alBufferData(buffer, stream.format, (short *)data, numberElements*sizeof(short), stream.sampleRate); - else if (stream.sampleSize == 32) alBufferData(buffer, stream.format, (float *)data, numberElements*sizeof(float), stream.sampleRate); + //TraceLog(DEBUG, "Buffer to refill: %i", buffer); + + if (stream.sampleSize == 8) alBufferData(buffer, stream.format, (unsigned char *)data, numSamples*sizeof(unsigned char), stream.sampleRate); + else if (stream.sampleSize == 16) alBufferData(buffer, stream.format, (short *)data, numSamples*sizeof(short), stream.sampleRate); + else if (stream.sampleSize == 32) alBufferData(buffer, stream.format, (float *)data, numSamples*sizeof(float), stream.sampleRate); alSourceQueueBuffers(stream.source, 1, &buffer); - - return numberElements; } // Fill music buffers with new data from music stream @@ -845,70 +813,49 @@ static bool BufferMusicStream(Music music, int numBuffersToProcess) int size = 0; // Total size of data steamed in L+R samples for xm floats, individual L or R for ogg shorts bool active = true; // We can get more data from stream (not finished) - - if (music->ctxType == MUSIC_MODULE_XM) // There is no end of stream for xmfiles, once the end is reached zeros are generated for non looped chiptunes. - { - for (int i = 0; i < numBuffersToProcess; i++) - { - if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE/2; - else size = music->samplesLeft/2; - - // Read 2*shorts and moves them to buffer+size memory location - jar_xm_generate_samples(music->ctxXm, pcmf, size); - - BufferAudioStream(music->stream, pcmf, size*2); - - music->samplesLeft -= size; - - if (music->samplesLeft <= 0) - { - active = false; - break; - } - } - } - else if (music->ctxType == MUSIC_MODULE_MOD) - { - for (int i = 0; i < numBuffersToProcess; i++) - { - if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE/2; - else size = music->samplesLeft/2; - - jar_mod_fillbuffer(&music->ctxMod, pcm, size, 0); - - BufferAudioStream(music->stream, pcm, size*2); - - music->samplesLeft -= size; - - if (music->samplesLeft <= 0) - { - active = false; - break; - } - } - } - else if (music->ctxType == MUSIC_AUDIO_OGG) + + for (int i = 0; i < numBuffersToProcess; i++) { if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE; else size = music->samplesLeft; - for (int i = 0; i < numBuffersToProcess; i++) + switch (music->ctxType) { - // NOTE: Returns the number of samples stored per channel - int numSamples = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, size); - - BufferAudioStream(music->stream, pcm, numSamples*music->stream.channels); - - music->samplesLeft -= (numSamples*music->stream.channels); - - if (music->samplesLeft <= 0) + case MUSIC_AUDIO_OGG: { - active = false; - break; - } + // NOTE: Returns the number of samples to process (should be the same as size) + int numSamples = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, size); + + BufferAudioStream(music->stream, pcm, numSamples*music->stream.channels); + music->samplesLeft -= (numSamples*music->stream.channels); + + } break; + case MUSIC_MODULE_XM: + { + // NOTE: Output buffer is 2*numsamples elements (left and right value for each sample) + jar_xm_generate_samples(music->ctxXm, pcmf, size/2); + BufferAudioStream(music->stream, pcmf, size); // Using 32bit PCM data + music->samplesLeft -= (size/2); + + } break; + case MUSIC_MODULE_MOD: + { + // NOTE: Output buffer size is nbsample*channels (default: 48000Hz, 16bit, Stereo) + jar_mod_fillbuffer(&music->ctxMod, pcm, size/2, 0); + BufferAudioStream(music->stream, pcm, size); + music->samplesLeft -= (size/2); + + } break; + default: break; + } + + if (music->samplesLeft <= 0) + { + active = false; + break; } } - + return active; } diff --git a/templates/android_project/jni/basic_game.c b/templates/android_project/jni/basic_game.c index a1adb2873..4e8bef31e 100644 --- a/templates/android_project/jni/basic_game.c +++ b/templates/android_project/jni/basic_game.c @@ -43,7 +43,8 @@ void android_main(struct android_app *app) int framesCounter = 0; // Used to count frames - PlayMusicStream(0, "ambient.ogg"); + Music ambient = LoadMusicStream("ambient.ogg"); + PlayMusicStream(ambient); SetTargetFPS(60); // Not required on Android, already locked to 60 fps //-------------------------------------------------------------------------------------- @@ -53,7 +54,7 @@ void android_main(struct android_app *app) { // Update //---------------------------------------------------------------------------------- - UpdateMusicStream(0); + UpdateMusicStream(ambient); switch(currentScreen) { @@ -158,7 +159,8 @@ void android_main(struct android_app *app) // TODO: Unload all loaded data (textures, fonts, audio) here! - UnloadSound(fx); // Unload sound data + UnloadSound(fx); // Unload sound data + UnloadMusicStream(ambient); // Unload music stream data CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) From 68d647c1af1b9f0479f680dbd7c4f93586cd51a2 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 2 Aug 2016 17:32:24 +0200 Subject: [PATCH 016/102] Complete review and update Simplified module for Music and AudioStream Added support for raw audio streaming (with example) --- examples/audio_module_playing.c | 2 +- examples/audio_music_stream.c | 3 - examples/audio_raw_stream.c | 106 +++++++++++ examples/audio_sound_loading.c | 1 - examples/resources/audio/2t2m_spa.xm | Bin 2287400 -> 0 bytes examples/resources/audio/chiptun1.mod | Bin 0 -> 2142 bytes examples/resources/audio/mini1111.xm | Bin 0 -> 25676 bytes src/audio.c | 242 +++++++++++++------------- src/audio.h | 27 ++- src/raylib.h | 29 ++- 10 files changed, 283 insertions(+), 127 deletions(-) create mode 100644 examples/audio_raw_stream.c delete mode 100644 examples/resources/audio/2t2m_spa.xm create mode 100644 examples/resources/audio/chiptun1.mod create mode 100644 examples/resources/audio/mini1111.xm diff --git a/examples/audio_module_playing.c b/examples/audio_module_playing.c index 07165c762..fe9ea15ca 100644 --- a/examples/audio_module_playing.c +++ b/examples/audio_module_playing.c @@ -57,7 +57,7 @@ int main() // Create a RenderTexture2D to be used for render to texture RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight); - Music xm = LoadMusicStream("resources/audio/2t2m_spa.xm"); + Music xm = LoadMusicStream("resources/audio/mini1111.xm"); PlayMusicStream(xm); diff --git a/examples/audio_music_stream.c b/examples/audio_music_stream.c index 1d86bd1ad..c552d0304 100644 --- a/examples/audio_music_stream.c +++ b/examples/audio_music_stream.c @@ -59,9 +59,6 @@ int main() SetMusicVolume(volume); } */ - if (IsWindowMinimized()) PauseMusicStream(music); - else ResumeMusicStream(music); - timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; // We scale by 4 to fit 400 pixels UpdateMusicStream(music); // Update music buffer with new stream data diff --git a/examples/audio_raw_stream.c b/examples/audio_raw_stream.c new file mode 100644 index 000000000..37a5b4ff0 --- /dev/null +++ b/examples/audio_raw_stream.c @@ -0,0 +1,106 @@ +/******************************************************************************************* +* +* raylib [audio] example - Raw audio streaming +* +* NOTE: This example requires OpenAL Soft library installed +* +* This example has been created using raylib 1.6 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#include // Required for: malloc(), free() +#include // Required for: sinf() + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw audio streaming"); + + InitAudioDevice(); // Initialize audio device + + AudioStream stream = InitAudioStream(44100, 32, 1); // Init raw audio stream + + // Fill audio stream with some samples (sine wave) + float *data = (float *)malloc(sizeof(float)*44100); + + for (int i = 0; i < 44100; i++) + { + data[i] = sinf(2*PI*(float)i*DEG2RAD); + } + + PlayAudioStream(stream); + + int totalSamples = 44100; + int samplesLeft = totalSamples; + + Vector2 position = { 0, 0 }; + + SetTargetFPS(30); // Set our game to run at 30 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + + // Refill audio stream if required + if (IsAudioBufferProcessed(stream)) + { + int numSamples = 0; + if (samplesLeft >= 4096) numSamples = 4096; + else numSamples = samplesLeft; + + UpdateAudioStream(stream, data + (totalSamples - samplesLeft), numSamples); + + samplesLeft -= numSamples; + + // Reset samples feeding (loop audio) + if (samplesLeft <= 0) samplesLeft = totalSamples; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("SINE WAVE SHOULD BE PLAYING!", 240, 140, 20, LIGHTGRAY); + + // NOTE: Draw a part of the sine wave (only screen width) + for (int i = 0; i < GetScreenWidth(); i++) + { + position.x = i; + position.y = 250 + 50*data[i]; + + DrawPixelV(position, RED); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + free(data); // Unload sine wave data + + CloseAudioStream(stream); // Close raw audio stream and delete buffers from RAM + + CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/audio_sound_loading.c b/examples/audio_sound_loading.c index 8819aad11..f081e8ed3 100644 --- a/examples/audio_sound_loading.c +++ b/examples/audio_sound_loading.c @@ -36,7 +36,6 @@ int main() // Update //---------------------------------------------------------------------------------- if (IsKeyPressed(KEY_SPACE)) PlaySound(fxWav); // Play WAV sound - if (IsKeyPressed(KEY_ENTER)) PlaySound(fxOgg); // Play OGG sound //---------------------------------------------------------------------------------- diff --git a/examples/resources/audio/2t2m_spa.xm b/examples/resources/audio/2t2m_spa.xm deleted file mode 100644 index fa416ef293201e1ceb26d62fa1a23a71de29fc38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2287400 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≦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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%0DA#6s?P+v9S$^p4{C8hoAclyKu|pe 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%0AZ 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 z z`~2?x501aznSS!|aQynm!!9WJ_1lMU3_lqdgv5Bhedgfh=l{hBx_E+>@z0m<@4s`g ze*66C=RZL)?qA=(|6txN_WmiTHU0C)Us1N-9Df*v z1o?h{|M>m;@4vsqM4A5nX60w+Vq*Hu{EwZ7iTT@y_kUS`eP{Ug@vo2oAKUxSOpI)N zg8%>V{{P6p%)t8n=Qnn4M#kUoKYjZBgN5PsZ#H&j=70Yg_(cT%{`&Cy&%5ueA_6R5 ze{%8iurjj$V&!IMVP*RE{`-HXKmUHc`u&ebnEl7!e}BL8@G^4pflk?AVFWb#(4)bfB*XbJ0m-2ypd0g zkCFAyzqc>H|K}57{LR3|%F4~m$-(`fS%CM?-}kS7Gyh~{`1+Qa`wuVo->?4||FZEj zfwKBPuHXOueEY}E@Q>P|d{2VOYY%C1lKYjc8my!MBN6`I7ppzy4e*eYD&B62MJ2MLd zm@p?357YPO&wjG7bF=;Y&BXya7oVBqFPAVo)31+jzcT&!!|?m_7iKn2A@=XTzkm46 z!^!gxbovBnE93V+9H2#UKfnC^^7ZT2Pd~X>ezP$Ni12Z-3v+#a`u5##0p4%_7&zDk z+1U7)elzee{pa}i?)%TbznOl%`}+GAi!cud$JbBa{&Deee*43~%gO*cCg~ps=*F}k zpMQV+^XcVJMmFZ}|JcMu*#Gm0Gyiz^{KH?){|qb)9Bf=X{G6Zx4Ne}$Z(o1?{QjTu z^N(*|7?=fwIT?Qc`NGJ}#Q-{Mn2D8x;m0>dc6KhtpMSpo`SJbTo3G4VjNg8n0KbZb9{QCC!=Wiw+UTz-7U!Q*R@i2fU zTN${xe}7~6$HmUZ^!@WU=D$DRyaL_(_~9=r4?8apry%F|4{zRoV`Bcz!uXp-fS-?r z@yB02ZZ^*EU%r8EDERU7%jZ8#+*~}|3|~L9@o}>LVEpr+la-t0*T284ESeErV! z`^$&7zd4z|{{rnt`pYgX#PR>ji_d?5{o-W$^Y0%YpAhHIf1vw{{{H{>;}__fiT_`I zfEKfIv;AZE%Et8%be7*gK5o!;;J?_JIhj6w{qyVZ?~kwlvHtr5x;uxBnS+amkKx_t zZ=Zkv=4E4G2HhgT20CYxi<|xLx1YbhGckVs{`D^_0|z%B@3(Kinb_Dl|Ns5P#Lv$D z^ULr5%zW&iOX8VXKD>PQ7j&S{FILdmh@1jkY~Q|o`S6#Mll9kER!#vSjz8ZSS-FHb ze*O6jTCMl#_urqazt{u?dA@=UZD-(S|INt2#>UL_>*GIGZg!4upBb1L-aUK&kA>k6 z%dh{;4F6cTh1ePX{rd9dH!BzDs9+W$A<)@u{5(ADpZ(l@Lpwj|bSa~@9fB*EAk%yn*!(VPTreB{w{P^?h>%V`X)51Bp zIr$`hegE)-F6{(w%vX8y~_ z$0N-67-m|Cm^Q|7QOG{nPv3e^`ZhxEO!`{m#G!8mRft$jR~Z;}13=7A9sk z4p4Xc55xE0pIO+y{P_6wAFBxX1pJ@B|Nmn6{+Hn|4<9?z&wsy}xcS)sF#i3`_@C|n z#~pvS8=%80NPKK|a|8ej!|7GFi;{W;U%P*EspBO=xkiY-R!OFwQ z!SVm^-!CjbK*M|t>}(8-{}_I=3$SvsGXMMXkCB1#``^55t?cdKIUznMgg}HeCeEa+3&p)RB-@pFnWMk&~ z|LZTS02k;oo!|dB7=Qlz{^|2~CKet(MkY2+&`yvqEX+ItzkmGr#=*kN3A$(LF9Y-U z?>|5M{Rc{6pMElO3JG!k`vb}q|3AO~&(6ll&iel+D;Ea~7d!K3@aaE4K7RcDgNcom zoq>^)jh*e+|1aOzIXIdAGJRoTVdG%uW&Xwd8+3)yd(ckKZ(o1?`Om?}!^z6@>+LVl zJ#0V!{oxQ~{Kde=!OG3c%J?00Yc0!{kDvbh{=vn=$nl@;|1WOPZF`_2gMR(}#>M@Y zn}dVt4?80R>-R4ofBpUc`^V1@Uzxc?c-VM;e*MSz@7I?fAAhrOaD$k5Z+@|`@c(52&1Z13ef#-`os)(8^G{YbHfB~PW=>E(`1}3y`yc-q{{Hy! z^*b9o2QNRzpD({aoA5xFw{o$u{9$7F!^O+R!^HCAH#_J|vbP z?jHk-0LTANzd1p-;j(fvGqEwVGJgK{_6KOs+n4u0nArJ*g#P|wVEFyx*S8O#n>hcl zvorkv&(6gn$_bkOXJBOg@$vI_rXMUETpT~xc>ewT{*RG~oAKvw4$wWoY#eMHOrR4= zzJCJUZ^7{Y$EUx{|G0&Cnb??r|M>Ow_m8jO4Or}d8F?AG1UQ+${so=)&-wG+_fP+R zv+(`=$p|_&^4Hg2%v`L@e_2?WSwWYyF@f#?{QvXohmYS_n16rz`s)`HFOLA|O2O~! z|G#|u`1>!j0OMa~29|%ET-=<$S^xcDW@7#J=I75Jf7sa=|1dDKakGB={+9!EWDYAE zJ2L}28y7R^>bAc>zJK}jhw;z1|35zdVB!?y;bi&xmx+nx^Uq)38Cf{~{bu;h@Sk0X zgM;b!pP#H;p!?Z=d;{Id^^cL6oBQ9VUu@i<`x`jf*x4CDi{KbpnOPYazP|YQ|NlSM zpI<+JV`t;!`Oo@~mG}40?~LERvx2SwVEy)!nUkB5frI(ye>Tv};Pr*8l%_`9RClSXg7jz8)3oq;MpPxVeWc~Z&%O4JY4#uxP|Fd$j{^R8R z&C2nQnVpO24>J=RgqX8g^{$iT<>=ga3W-+wVPef|3V+aCsYejX+s zK4vCnwm)D0{rdHbf$__CMm9z!ZWhq>qb%&4jQ_rW{rdOI_y3>%2(W|p)%^O;&iIFo z_1|AccHY1LIT+daI9UFE{r36ue-_4XZ@>Tj$;{8n#L2_S$;Hj`?aQA(zkdAv_4(hQ zKcM54*x48v*aTRZe!cqr`}^M??|-v#f$qEb^M{?0nUjV2`&T}8&}0lJ2QLE?+n?`W zzI|u-^#OF(H#-*tGcON2mmt^wAOHV+`}6zLcktcZEF8Q-EWeo;dHDbQ`1a`w6U(=c z|2P@HGcx>T`p3fjmxB{@ks1r=uxutiUeK9g-(P(LT?6>@^T+?7G|$e?At=i7m-)|^ zFF$^M`}6hpcP0*2LH_^jjK5j=*%*F*{Pd6Y&xfxpe_6Sh{{Q^N`u`6zJ1c0DClf2n zA4YCo9wuh?{~tg7`1$Yu|Br8evoZZ=;A3GE;OFFG`}^Vh_g_E1F#P<%^#4Bxy8z#R zP!oxV^~c+<9E|Ti|6*oi;9&jE#P;j+UoJMrpa1`ZZm9VAmxrI7O_1Z;=Rf~Jqj>K= z{$c#e#KX$O&B?*d!}9mb&p*Ez{(k@a;~N75Bd;*aKL*fnBJ0QRtPDTjfBX0QF9#dL zf98LniIKv-C#^0)l_LKVN?T|MKnE|NjhJyv+PuOstGQ{{H*^kLllUhX4P6ar6IYVg3D= zS&;MFcNW$^-@kwP{EL<02k4T^zd!!``oqNZ=N~KQ-~XI!jG)`KSXlpk`^EC--`}sG zBR{|VWo2gP;^5@@|LZsCFhYhu|5$$hWM*dNV`KdKM^NPNFYxl`A8&uKGW=m=(4)29RFAZ**^XJ13E7H+oym3elde?A!X;}Wo2ag_wy?g(@$oW z-@h0ce*fp?`Tv`lix;$`_6HNg*N;JDmpzGzB|9xTP{lmn| z^Y7!&zkfij1IC|!S%3dx`1_ZIlarN`=jUIxU!Otu<^BEl_ML%|{rCU>KmM?AbN*&#WBdP)`}Ysf!8U9Htbc!f`TQSrT>gL1)u0Uje*R%) z;Sk_v_|NbMbg|X%9}K_0{Nfe-_mhe7A1^=XTo|T5KfnF_`4e==5j)e@A1v(ue)Dqt zV&P@^{*#IE4-*#?Guz)kzrOusV+CF6^7HTC&;Phs7u796d*}pM! z{rma(*U!J)O#i?A;^5@^$HWO*Ch_|l+y8fexY+;wW%%=hm4op&3p;4@H_M;jpymI( z+@SlG{B@%8(!U!ct&EZo2UvxBaf=lIX``Qx`g-2Z?5_y@Yx33Lc5+s|(d z|GxcX=J@@a>F;+2UY0*h|Cu>JC;5Xe<@nFT{r?~9f6&dyjLb~mzyAC8|JOHG)<10Q zOut#Ve*R?S=KTHh%h$h*tUv$!XXRk}&&JKp%E9=Pk@55U|EvtZLG4F|f1tS%(B%M3 z%)ftp`^n4%x{L4M&wuQH|1tO=uAk^?jvR{&~|$UP^t3n2Ln4d567SH;N@Oi{~4IRy?e*- z?;8^f7bhn#7vs-g%uN57{(SxNmxbXc=!6h9=6@Ulyo~<^xxamW|LGee)8BvK>%D$6 zgN`=%%f$Bk=T|1Sznq|JEqMO@U}9zd&A|Bi=kK4NKQMA~v$JvYFfsmN;9&pv?cEp9 zHaZs2)^#QZUICET{{8v(?%QwBw$FczpevdGF@Su>!ujLppCAAJa&r7(X6E?!pW`2B zmGHOU|9*b`!_3Oe%)`YEI)Imjlkxk^SEWdtouz)TZ{rH2KlZ}Ck{TBl}VdG-w0A0$<%<=2n zH_&RKpI`oo@G-D(^RqKDfL7T5{PO8L)9>H^e=~qOegdEq-`SW!>tH_p=VD^w<_2Af z^Xn%w=pr@nWc~mDtnA#JoE(e{EUf>({bTs_{@>rX-}waCIM_iq=z-evtUup=`U>*< z*I&$RETG;s=nzb1&flN@G5uxW;bUXuVrTgA4Yc;_$JdX4nLwNV+1R-FSpP9`GXMR@ z^x@?<#^2vSYwtKXS-4m^`ItG_IRCu+_Wsk)U(A15n1BEN2fFHt;TNL-`_FHG82@u{ zGBdLCae!`H{rB_NpFiKfegE;7ll>2?fDqg7|NsB-aQ}Y!o#Fr2FTZ}VvN3bBb8)k? zGjVY+{QCO&%O8gC-~O<%{`$?t_?4OE_kV7_|9}4f`uC5GjhPE{@jMGV>z{8w|9t)M z{nua6N!OhGte^(sU(mt|mR}!1SI_-p=HOvrW@TpM0Apw2d#|w_v`QPZ{NXH&3{nujhUDI?>A<)pMUe{A4w`k)1m|Nj1A`2X$SpAX+bCoi(FGIH{Av4F2v0PUXp&%*o%beTQqJWNjZ zzZ|@vu>SlLbeP(I&?PzG)w{p`a`LhLX5e6F0^OF(0y_ST6?7@hpSM5%gBDDF`^U$} z{`Vi~?lVS4re6&IzW-rh`u7KXNBGabf?S{zdVc(7{Pmad|M$;7SlNDm|NWnZnT6#a zBRALI|13OQZ0tY3|Nr~v#~&up@%G<8|NsB}J1ZY26Eh<#9|sdFsCfDDm4WFu=&meI z=I;z#JX~zt9KU{ot|$Kwx_lh8QRDBA-z@yxEdT#7GqSQXuyC{f`OU!i`#0#2px?j0 z{$>30^(!kU9|yRsWM%vJpZWi2LlrWI}Z8C7@0YFIhYyPK-ai_ z`}6l8%KrWO#mK?N$jbd6 zbVb3>zyH7f{PUmb!~5?Htc+}+Q=~XqIe9_ryuW?<`TyHj=6}CIg&U6`A1CPIxj%my ze|-N9x|!3`WdunlaYg+lY^0! zhYPf<>CabCZ{i=ruW!s8tZaOIpqru?zy19E_s{R2-#`8Uoq6;JbivO5Kdcb!-#>=0|5*QnuHR*5V_^Bi%)#{M^B?BFU*ElY z_m`EClZO{HNW#X>{_oolhX0>GF@a8;WM*RI;$i3G7hw7IkKxOg-~YdT{msC{#P;V4 z6C2B42DU%nelakDb|SEV?hRq$5b{-aP9&Q#EE*{2TzkYxF z`U`w#;6Dad7B)6sAua|6=6^qa{rdU&*T28aOn-lTW8q@`$I1-aqW1k43o8>l8wb~a z1|E)oOuv5oVfgjo{jYC7Ku2A&bFwmW2!Lj|{(??c`pxi%iJ6s`^FK2$4`@NuuU`y5 zzkmDj^Cv6&pFe*=OA(ns3FyZk(3xrs?A-qu*x5Ni=YTRY{`&Uw`{y4_%xui;Yz#ac z|C#?XGX4TBYWn-{&wn;9Hqe>&Jggkde|~-a{_FRj?_d71GyVdduM1ja#rE&#|DS)D ze*a+u--gEmTBFIp{QLXwpWiS(zCa{`_EO{{8b8GdnvIBNH<_=wM<-hM)g_eEP%i_cs$a z3uqY{3-j;)%zv5xfBE%~>CazQ76vvRPF5CnHqg}xf7lqmegZYT{{8yH^q+&9iJ292 zb2G!wUyNMrEPuZ(8J68GkYT1Kk1-+M>_!!`1%iYLFND7Oq^_gzWx34`}YrK7SR4(26nc;p!>){7islr{T~D4Z^l1ASvWugzYKqwe*FP$gk)m)!_4{z)GPZ9nuh?L z>%zeB?>{RC`~UyU><52$bQ{}1R+#s93V z|Ct#WS$}`|$;t-0hU_0B`~ROm{__j``^)$Zbld13W|n`TGiX53|DT2NH^X1h1@FKA zvHk!1<3ATC`)^i0c8>qw|NLhB^ZCbLX6B!NKzG|PF|e@w0+m63LG=gdS|COaj=v0$ z%Z~msG5!Df2ejOgm5H5|h4tV6|37|!Zh!p$b%2I& zKMTX(zu!TJ#QtYyO=qV&Gus zJk=?GFQ}=>NmO%)rdf$il(G`u8*FZbt^j zKVN=>ZpYx}VCLXv|NH09w;%r*|1&dv`2q?bMov!f355UI8Gij_W&@8ov#>L>aU#0nbeVq;?9VEX;z59kuP-%QM)!!$X;hlqe~f&ksX{`ddi zzrUDxc-cUmXf~$bznOl6ZuI%{k%1A^bNl&=g@J*IgNp%lInN)^np!3froZeg3`|Vy zjG*PUfByXW{ugxVHU}FM0}B@i_>`!x-+%pKW%}{`2Ll@qD-$p1GGaF7zu$lS{r%_f z-=E)qgU-|C;$;5M^p^p2BMK`AXtok`U^VF6eb8BP-+zGarw1LO!N$q>?>{>?JnS$P7A-h?(Or z1Na88fB*k||MvGE=y+rX(5NOmD+enB^Iyo7Xg|OF_zz08tQ?>V=s{OT`~+PC{qq-S zT!w{{h2zf;&?T6RjQ=@UIk`c%PcwjqB3Kx{{s7erKmRkaF)}lO=2@B9n11~P9iHD?BrCi44~@b$4}5seHJDr2JnS) zpk=IVEG(={pdBKhv;G*qfBFGB2!oa7|F2)5qh>(on1B|^g2wWG{bl$Mn)n7)%-rA% z!^HUe&+k8=(Sm=VqXQV2+5R&!f=(L-9h3<=$_#Xk*3YkhKv$Lg`~MHL0QoN~=u{gH zHqb?-Y=3`&Zf0cS1g)fHV*?cr{`}?SWcvGyk&}xZbPv{F z#{YkrS(*O-{rUahpFcmpfbMPuZ+B*70j=(5_`}Bb?>A`e%6HHK1fYH*Cp*J`rvD%# zn16l!_U-$BR`5=$K&z@57=Qj^;{e}9^!@v{U!aqWnHWHARdyb3P`M92 zdHwe{&=x>O7Dje{E_UWW4FCWB`pxi~MavAJ!wgxN+1WUle*OOsI&1XbAJC4q zuiyXu`SqWb`OjZw4sK3nCKe_}R+gXNK;yq4AAruo=HvvOdIh>fl;QWc@4rDSr2m52 zvY;I>;Ol8Yr>8QrGc&XPXJ-8Qo;f%CMa$FWdI!@!NTz8C+MuPpWi-! z2EhOPXJ=++X9r&j&jh+7=g;5&|9&&DvT|{QPOXufG{UODP!s{P+nv5`YbKzZo;*f2Kd*e*I(m{g2@f6BiE; z8yhn-6X*zN=D(l6{`vEp3A9t6os;p;U#5Sc%)!L||Ia_rQ8XMJEZ{?o{(k-VlbP}N zx9`jxY)ovNEKHy)SQvhO{qv8Nh3Wq7Xn&mTX3fi?lLvNAETv;P0b z^ykO-e=IDZSuxP5o-AzapzQHHF+uy7eth}}>Q?>-4G6Nb zu(LCR@&)MZm|vh%hCt_DaiKrLs`i7~9K|9<@Z z|MwRIXr~YhsMr9Vh6~z3$iM{N?gqLv=>I=vj(q4bl>`K(ET9bGao?b2DAJI zUC|A`=>c?X4k(mCo3ufl&(6dAgPEJ{=hxq$(=`76{{8RoZw63}_!l$-#SA)|{pU|m<^$bq#0EOH;Qt>6 zb|$cQfBy#E@dnz}20D-XKPV+JF#rF}3_1&k6}(~j*B^#IjDP?B`o#dc2@TY|1>Lg; zYJ7k$@&VoC2r9~%|NR7oG-$ss$fclR4o1d*e;9s)wpuW-vNL@9#m3I?kCC03h2{6J zf4~3z{rUGlF{$cv}hlz#Z_dn2~H0&%)Y@nVTIDN3NvNHbq z&CK-kI~&(OP~iV(W@2RJ03CD#I{f6{-(P?J{rbkh$?)qhBLg!h(_dyb22eZx&-dT| zK*cUI=n5ltHWn5Z_WwV>gZAGtGjVb<{`|oLTKECFQTpd^M#kSi7&&;k7(sy!+GGv7 z$o&rs8)#;b8MMBI6?9cE!}qV>LD%uJvVt!BV&njo#4P_ox7mR_&%(|0i-DQ--+xZf zeX!sIxBmQPWC3Ny-#`8`fle0v_LrIQALxEH&{1OS9KXLYG5-Gb?HA}u5*7}SnV>z( z%q*Y-!~gza{QvDQ8yn;A|DbJ~jBMicV>Z3E&mHTXBBiL z0cbzYpC7;e{rvosiH((&iGhuS1$6x{=xUQ6|Ns5@$-u_&=RXJg-@kttI6xb7*;xL4 z{=~q>#>w*MFX(Ow2Il|Yeu7SyX87@+gY7>PJ3GrC(7?ry{|vvr|7HT+jl;&l$?}(p ziJ6P-*LQ~hKfe6|om&XHvGxyW_u8M|e_6N~{(x>ZvR}sUzd+lSK)11i_UkaS`~zJu58ABG z&cOz{mx1y3@4tWl|Ni{-KWMohBO}v)CRWf@On?7@%Kz^_{((loIJnqA8!1`X+5i0f z|L@1=@1Wzs7(usp{QJ+s#R9st>)-FcKmV|R?lt0M_y)S(p5Z6RkD&5|@gE~QHzzB@ zF9v4D-#>nR|MG{08FWH4DA9w?GG}67{QL3KUxvRwe=&frhW^V8+OP{c3FQAjP}iM- znVaeNpZ|aUF@vsQXJPmSsw^4Vn3*}bS^xe2`|BU`|F0i@GyZ1)-;DVG7b_1B=!#X) zS-_z40)G8vX98{g{Kv$`1iHuJFX&Wk7EYG`|9^e^`Iq_sw{L$KK~o(JER2jSY#g9# zO8zpkG5!4Z8?Uhv0G`~S3ci(@5I_aRTQ>+Z2kt#+`PS9CQ z-+ugO0A-lppc`lznL&HK*+IL*K)c&PmwNvNoe#+h+9k`v^8YVr13LKb!(TuCf$qro z4{A_?&S3`)^!#Vz0$uzBIrU6x7>f1D(;r4B7|F%*4X+_uEe<=0CrF{QCV1d>k|5 zUk1>YQIE~b2c1KnYR(8-) zJfPj(Y#hJ8|7QdpS^n=2s9Xjea>V@q4`@<_8Pt(u{{Qm_1LGf1r}sZ-&oCn+8!KoW zgo)wLkH3tJEdRg#W&z#)z`+ULMf&&upZ{zeEZ|$782w!fB#t7S^j?g%>>@p$q2e`jhX51e^6Tmd{M#wU;o&+nSTEV zb)*=6{$&AOmHziX3*#SV4$yUUpdlU5O}~u4zx@Zb3PG)~zyFxIxEcTcXJ+{Q?bBD# zH4UH};s5>x9gM~HkCC1I&u<1c7ADZp3**1v{~16f5a{@yKff6{I5|KPZ0rnw{(^3l z1?{K@?PX_SU|{9rWB^6~?{A-f{9^(oZP006znM9BK!+%Sy6-G(tgN8PyFdRKet!K6 zy80cobD5cqg@c3f_g{84(CG#LfB*arI*9^wjq87APFBz*-%Kq3e}T_^1s!Pe_xE2$ z7ItO^Ha2$Ve+-Ol+-!dsSQvl&VE`Q;_ZxIP&adyknOPaxSwY7e{{II)w;!|zmEq?f zPWJzxULfc?Z5Gyl-@k$~7-*P->F;kwHn#si896|jSU5Qu{;+`Vums&31?mX=`TP4H z!|y-L9L)ci*;trChw}aS@$(lW3&THVHt={98z=a#uYccvfNr8;1l_a_x&jb%_0WGt zw*SAF*ccc%xIhOZGXDPi=g*HHfBydd3mQw|WCtBz#lgY&|1ZOzFQ0y~GX4dfY|P5a z#Ky+X@`s6o@z>{X-~WP2b5_t9&#as*pgSg5|AAHjF|o3;F|%-iMrQtjhRuKc2HmaA z!pX|`8`KM9`oqBf545`G*FOdZb}kmsCFv~x{xE^O`sK&pe}8^6va$aA1-kZ*jggU^ z`PXmIDiSt!W){$q?f*dC^S?iSFfsl5_KT4Pd^HAW%@hl$2MfAW>+e5C4mQwzu`Hk> zf$8thuRlTih(Wt^DMI%5npP{0Jbvk$Zt8MN2>_dix9&@3|ejxrW5 zZdOpB{Qn2K0G;*Mmv8_6GqN)LWda?F#Ka7`oq-W_3 z{RG`)&&KeVnVtF9HwHFlP|@@kbXEc@J0mk_MBv|_pWpt1uI>2q`!6eafiCFOeb9u! zA4XP&A3s5JoPR(^b25O=jr#YS;oqNs|3Doi&`D2>e?bcXm{|Y+{KL%31lnQD1Zr}# z{rmcpnTe6<@3)_fpyT~O*G#Z*vM@3J{K3HTAJldL?N4O}T^7Z}30my_@AvQD|Jb;g zK`9(`bLrpzEZ|W659mY^`}gx7X#e_u7SOE< zfBv%k{|(x&&J4b;`Oj}AmjD0Q*qQ(TWBl{`Kj_33MivGpkQ~cD(0SAh|Ni`90JUBI zF){rG^{-i&{xh;N{rU@9KlcZ8Y#Gz9|EwTiGBbj%0byeP`GbLp5fqRA{xkpi!^pq_ zIzo>DJQKyr2)h1|1vFp8%Jl08Xg~~fxf;v=UraolOus?Ht)MaFfB%0maI*jV`S(9F zCkHb#JKOKCzd)k}jQ>EFZv6!1C}uXs-~U({e*R@=`42jB4|MS=13UBYKTM#D>p^ov z|NgLYae&4Um_e6!{Q2|aCledv@4t-y7+INE*tuB#f|BKL&=u#PGj_lSpfZ6DNMZop z=*h|oilzU*e=&g8aDm1Ze*ORzAOAqNsWOAE!eIEv02(*~Wzm12I|Eo)Kv#n?{{Q}q zg^dw(yY1h7@G z6KFggRQvn`b(8*baIk>R)c}tYF@T-M$iVpLFX)CGW>(Pc5}<35z-a<>J|Yt{=wKz* z|9_c5^9`VO7U&{wmfyb_|9<`U4|E_c=yF*mMh;LPmX-bQ_doytfi7cZX8-s74<{E3 zD--BUia)>pG5r1k+6u=EI&Tp)SkJ=ppOKB>H)tT9ot+UhZV#HW`}zCdkDs6mX;@g9 zK%2Dwvw&_I|Hts}&ySysY>YpDgN`v`VgQ}V1e$#R1?usz{rmlog_YsgFGkSyOaDQK z<^N^nWd)r*1Ui84FT>w2Uzpkd{r(TWnSzCtof|Yz3_8sTlrVq)`p>}lpOuXXboLe~ z#r^rm%nYhz{B;ua&obP zj#6Ow`{NJe-)~?4vaz#*P7L|a$jHpa4!(NrFX)hScF;Av?4YxQK_}~hc9Q>NU}0xs zU}a_a$M7G#=k>?Gf4~1QgL>s`EDWsdY%I)wzW@09=f{u#Y%C0*31?PD&@G66|1z=s z|NHOfA9gN|zyDY`Sio0=G5r0_$ny95Z&p^&L1c_7Sl2NUR6?O(rteftSI69sfk1L#f!CRQf!aZXGu zOrWMAcvAiU|G$43ng0F)rCb(P2FO*b41a(BX8?7dLDw4mX9g`?;O6)bsyV*@`2L## zG|S1z@cR!FI}4~@W#?k~^&7OPm=Sb~>YtzgnLty^jEqd6$q;6Se@vhg_d!!+e?VuR z{Q(_%47%(Xa+@h5s9OxaK7@hc-w*Ji|7>jkLB}uu1KmH*$_zSl?DyY)ptW;<|1vWF z`wd#;06JanKN~Y>7!Y(<%zw~IRnYO}tjwTT{`Z&h-_LJ9|A7WZL0th*r|aK;4lb5| zppz~^16j-rzd$#j|M>s^_itu!VEqT(;>y6t{1-G>0Xnq;)KOvKU;))cpcCquSebu) z`~C|wA_Ka{1>||Azs#K6pe041!^jy}K{wtq{{Hm`G@8Wn`zHhF+!;0|(7_W7Z0w8- ze?SZFLHCS-+R~sysu}--GSkl=zkdH`Wdz-O^6L+%^~cJ_&dT!dHzOP9*a$|@Dv+O` z5n0fU9-tKkOk8aLAs3^7PKW{}v45b`wm`)u=!BGiEG$eQH$V>c0o{ZLy8VWkjgx}` zv{nJMi03y03p3=DGf>qJYGQ*F>{fpw$b^Ost&D|Cm4nF6^vKpp)7d|AX#-{{N4e4RpL83oB^M?=LI+ej6_{rH;^G=t3uS}4rO$_~1T9u#ii(hJmu1D!F&0`lzt ze?Py2P9OdM``3Tw|KITG z-B|jMffaPZJ|pN-Qcy+!Ej|IA&%wY1n(E{LEv^P#!1wD91M{EXpu4j{9eV~&HU`ic zOQ0cgW)3zs(7fz#P<77m>)T%j&{0#MCFLwEY^X7qkY6;rAaF=6|4tAAcFxKnFa5npOY*GP1I;aB#7M z?rj5=UcY{WFU$JR#Pp8=bgLBT7SKO`z()RMVq^Tvz`_c;AeM#sFKB)NbUG2}#7I!L z57a|tU;rJ?{hyf$Jo?ST_#4!=`St7Pw_l(WL;nB$3%cRrKMO0vpWlD~G5-Jci-C=m z;XmjO1ttatR@Oh?elz^~#Q;v=pi=<<{R3Um@RtcRObnifVFh)xe={=v|MML@PVkF? z>HqKl>};Ui1Uj@Bbduy>(D*Uq-=Cmm9V{%2KmYz`0G*c$I%SWU5wwb&gY*Ai&y_Eq}n=!M27N!0B$H2k@I+^n~ zs5i&V&IOtT2HjNn>ksHqV9*)Le?jBlpwpN@l@Zh5-#@>DZn*!?!VFr@18Q`F*0=m) zWc~+k9e|wA$P8+`GW-M$i2Y^aUe^We=)GIFtM=x|HI7u=Qrre z5zys|OstH*|FN(!g6062n7|nVGg4#u(!|6b`J25hYCKf=~^D%<2H2n`ca1$~$!N3ICLd6QY)(v#R5@^;M zREvXeZv?gP!K<-ASFeDEg+Mn8f*Ky6u^>hU&{76a#~M@x{{^iX`1Kz&)DJq7nDIZT zVF8+h`uhho?E<<|24nyzT7Ulq&AfnaA_JZH#|r98F#ciy9aI1R_fIC!kz@b=f)X-l zzVG{Y24+SE#=oH6Gbr1Gj@|wH2h`Z_EFoJFm{{IWKF8nVu)9*h_ETD-#CeTO} zGwa{)KmPsu2Rf+jAH&~2pq2p>==y@cpdJb6I$O}qd7vZYKqV66@1MUISUFh0C!&Iu z!hqHlg6~&Jtc>9F0lJXx=g*)2KJc>jL>1Rv-Oy5OA|)V%%opM{0#4``YA z|KFf1vj6-6#S1fNxR{v%)Qte$>j^r@5`2C?=v+t!P^S^pP5>Q^$G`x(O$;=b#J~zl z(VznY8JJi(*+FMm{{Hdf_kZxI8{nduotqQ17J=cOHyO8yTz z#uhZI_ZNJ^E%Obc|vJ;VP$AV+}in*<&G1?n&`GX44WpYb09 zD<>N>!#_~<3R=woTCw%}7ifViXo!FT)Jz1Oga|sG5p=~nsC5l$Yk-y_{08+4LC4-P z{QLduFT+33eGC6Uy`uk&Y;2$~1s&xI8ZrRgYW3?kXgLfkXwnKaW(z**j+vQ>0d&Rb zzduZ%wayHn=`v7(3>x?aAI%0jToF9=3c8?|jRSN@7pP&$%nG_Ef$<;Y+S~uXK_`lX z2D?CGsGuVy|FbZIjyD5!)*0B@89}$^g0}rIGl4e$G5!7h_x~Tz8D*fH09p|Wx=-Lg z3mYRd8|akA-#2!OjF~J+QKZ?nC+e=l?(O zl>>kNf{t+g4?66Vi3xN$3h0tg7B)~H?#H)Z|3H^5{{fv{|DP4qp=SjTH-gX6`}615 zZ_xR)%%FA-GczkY!(UK{{sSEi`4_Z$;PikT5~_ITIrrHy7id zU!dOIuV0|ka6wfKXp|Fl8w}`Vb0*OI!>>P}t2kJgKn;G-@kO8!{eORd|M&~)lKlqV z%*Mn3nxY5a)%cGE)C`9-<3VSK{{Hm`bTHz7X7IuQQ2T?4k>SrT(9j}i4FwYm3+TXe z21d}Tq<=qu{9y*wTz~(94!(qrGyebgkAa<&g9$YC0&@1>zrX)6GXDPl^FJe~Pr(Q} z#~Rec{RO_q9a>zog6670gBZX6fYy04GJ!OK4xt4dvkMwa`1hZcll4DnjFAyk8UFnR zIt1zu_&y=f4VR#(1YK7K>O_Fd0+q9%k`O$H@E6p2`^WV6&p+_lyG$&ggE2u(=YK4q zkrU7;1Sm&Sqkc>FoG_F1dYLi7N39)dj~}m=tdsUIgFrg&418h7tqb! zOrYx=K@-HFijswq34Frhe}><`Ky5M5cn{ctj12!7K{WxWkpqe(2GBB>|DbqaU}6TH zmJb?2V*C%fya#-EH|P>SX3)ScXrd5wTH=4u_$O$Q66kVc&;SGr3nM5$fkN*uXapP7 zR019R%LH-*3#jJ<>e7OmJD_?OG`hwF8lnQ-i2xq?U||N$WP-*(|Nr~X_!o3FH4~^s z@(*;gHzR1*A?UPIhQEye|A3ZeGJ-a_fHD}!&!7o7&>euFlS^4am+bro&FK6GEvy8s ztpFc-&cX;Ds0Uq<1{%Kv1uEzs4$u|6;1fqd2Z(}-6wqLb26VJLsJsRZnSvIkfv-0D`}Z%XmjIp$09`xF z$_%=j0+dHV)8xNFVaLG8#LfaLrGJAuAE1~A&835e&p>Bof>!@AFo34ISU@Y|K}%jh zm)nA-jzMVwRNb?&GJ?*K0H44O>O+C@2Qxbx^FPp8$e_gppks|e({i9Hj+qg3w;y=D z@n6v8)}X<&zu+4cKr>ALLA#Mbw_vfcfKHeN9hk`kTJ;UO0_86g8ynMq(4tmG7EnP5 zJ~i5ro zENo0nZ0wNs8EA4Hblo6m0T1|w(tm&cgTm`Ss2TELd<6XUz*AYIs_g( zwDuo#vjyl9R?uOhpiAsPw|%pMPOxPFcNjqTdHw_48Um`}K#L##fg3PP;A_YKf$w$z zwQs=_1fZ)Jgpby22fDtrR2ZvK>${^ba(}{QnOqmw}=ObQ3A4k zHYQM41$00?1L!ED|9?Qkp`fuS(5c>x|3Q1iL5l-HSLZQ+)@^}`KX8zT1iCWf@1MV*rZy-C{QnEObPP0A0~#b^WMTq$ zv_QuygQj2pFo0&589;4cQ1J}fg9*CC4iv#4XEHD`ffn0=R#$^2q5uE+1Db3GEx!RZ z&_M+x6KK^j=mttg(6T`WaI54$XniiI+yE7o;6r!8S5Eu^ZNvKyT7d?-^W{J2HVDxD zWT1ir)ba;iu?DJjKrJpd&_+fU(A68DLu)~!Dxh`)=*)C*O$DkAK@&v3|Ni+0I;|Qs zT?Z;pz>__o>o@=Z`vYnP{ssjVD9eM2lK%|Mj7%(`sR!^(`=8&Sg?FF|8#HPK3K!5o z*Z=?jK}#1v7l1PT`v+Q*#lQr*&ioH(ofs&yfG)KF6?{zWpn3z;)B@e50~(tE1@`Zs zpw=p=#}9HR=+-V!?+kP?C+NB#5Fd1R8|bno&>`*rK*KrU^5WM&rhlMyJD_9t!DC%4 zY%JjX@`v%?pWnZJ{{xu1O%-%y$nPIN z|ADI;(4Z@*X$&gfK_{t$?g;_4vcck@ixC(>n-oCzErO~X&>AdIPa3r3nh7*V%E$`7 zX%)0+1hnb}bZZm1JO!osf1s(+d+bsO|>WA)piRL5%;PQi74;-yhK68R!~aCQx95ZrlQ0{qg5Fs51vz z#0;Q0NI z6*SZfDyBeV7JotY)PK;80ZgC^us|aappqGMKs%@g0nd|yj+AEvnF-n`4w{7l-(3Nk z+W{2|pp*kDPeHRdpp6iqizq-hsQ(64m7pFKGpGds>U#eLEiL)a1iDfIoQ^=PMQ|X3 zYHm=$%>cT)4HQ(Md<=dAL~q{{H&u*FQ#HSuv*1KN-J&`uXeQ4?an89?A0Pj73-NRFic4@ZG5-1f^Uog!eo=0QuOB}AWMlmN>iu6Xejb*8 zzrTO~`Sm9|H`AZLptT}wf)Zlv|Ni}W^Wwvc`>z=}IXM`9{QUJBbm|=UkM}=8<14KE z5;B79oP5l`zJC41Dk#SL|I6oJ>?}V&zkd6N15{lwf;NqT_GB}&{`|(u%gQDsE&!V6 z{QTnXgIB+~SpG7z{r&LnAGZJ>==3?}pPzm*aR`g@3yBEvFus5FgIh$99kh0emGSqN z4A3c5k;>|ZE4o-%TZ-0UAQDg?S zN&o%${F9Z7lTS=mn*Tq@Dt=y;U!X&s{;~Xf_ww^!P@j`%0SaHgftHQ_ z_{Yo7@&|NCz@Ilyz6mNQitzF<{`$wk#mexXfrXog<=_8*pFjTi^9!`5mj$#Wg6ZGS zzbvf(K}TmX{^Jspk&|Tp^7h5cPd~qZ`}O;tk<`v)< zml5Y>{QUki=q!$}pFV#7_51t#kN*XQdD$4gefsq27Y8>JBd4$!KPxjkC+nX-to*zj zpgU83egF35Co{{B@1PkI#vdPl^9Zp2{PgkDk6*vJWfi3OLFZW? z(_hfO@ISwPe*f{84YaoQ$D3!be{t~f^78Qu@UU|*e}4Iejq~5v4=>s1Wm?f1piLteo83 zob0SjKRwU%&qP=O5!gMlK0yG48)V{{H#T#>(*R{hQaX z-+%iLnw(@}XZrE==U;|j-~V$9334zov2(DouyL?)@$&L;GX4GuI#`N}=ileAUq5_f z;1U#I`Tp_KuYcb^d}81e78Mo%?ek;iU}OIC{r$_A@4x-{`G<*vo#EG?e+>V=e)`G4 z&cV&a%F52h2AWUe7UN~+;NkfH_47{#7SP$rpWlA?%PYbS8u0)7KIX6QKYaQ8_SO5p94vo+Gchy$|Ml_X@BhD9`8obGa`Cb=fM&lqxcK;aIT=6` zRScYbtlwU}{KCM_!3ye8{r~gj^~=wU+jH-d?soAuA<4{zUp z{lhLM#>K$Q#?HmV#md3{^Zkb}Up{>J{^!?E(E2vexs<D!BEZ-1~0^0F|4mc6hG2yrqo{QmawU%r4wlS zdD*|ec>eMCA4Yc2X%6fh?3}zpd~AQd|N8UegShxebpfY$2%Vfz35+s|L1SvCfCPEKx)KcBv`2uq0YGJ~f07(th^{{G9t z@b&GxuMF%weB3NQKY#r6<@;YIP7a1&3~Zd-ygWQS?0^3;{`>Og-IwpbKy$RrzrK6} zT^so4*AFHh0WRhrpTDyR2=ejraWed4<>6)qOtpkwUV+1S|reSY`x+dno=E^cmyFYiBp{r-y)bSdFq7H)QC7Cs?`=?KT zIrw=w82^IG-M=gh-+zEtX0fnw@$>U=aDa}P`0(!YZ)S#{pMEg2GyMGa>BHwAOuPcD zpd|jEg_Vtio1LAPkAvYqD;GC62OHC$k8i&GV`Amv=LKct-#e*gUO6SV*P|F7RHoSf_&0wN+@pzSNae*FTq0zq3^etmfN>FZAxZub8_ zzk!O%U;o&-IXJm_+5i4$E8F@v; zgt?gi{rmmvAH%PY@4tdl**{Qv`vp2t19X%kXru367H&QsHfGS&HYcy32+!ZIU%r0( z0~#M>W?%xPXGW%wo|L|MUIpKQ1m#9!}<8KmT(HiwN*=ax(w?`V+JW9WHwP~#GiWdL@BdsvqJq4fEdPFij^O~6C~T}O|9<`W$;iR}@B61u-~WPc z_hb0SEFdn*#R%RQ0J;SC-@m`VzkdDx`^UFmOq?A5KnJ)nvVwMy{QdQZk%>)ELYNIS zlLoq4nt=hdp6B1UZ+}=po8Z5H{rvqOGsDjx|JZm0g?KqZ1N#4e|N8ZxiQ(6eKmY%H z`|$ZMD?8(_pTE9+{l&roI?MLY_aFZ__yu@C2VH;$8vp+O$IQ*c2D&T#9}5@9-!Gp* zyH$RE|M`c3T|iKP1GG2p_s_pfOn-m<{L9Sn{r$%ufBrMEGW`4o+A;i}osawf&!328ttK{hmY-jKF|l)SvNQep_Wd6_7u&xdKR}b)zrTI{@{gT|o0|u8NcYeG%#6Q( z{soP+LZS=2kM-y0Pv03ixY(Kh{`>pu7c(y}2L~TNF9*|~A3uIGae@wK{sGE(%#5Ie zG+3DaeEsz855qr39$|iV7VwZ7Xr7CSmGS4NPhWrh0BxIL{PE%A&%X>z?3^rrfBpgO z8e`?;<>lw&VEhFNZBAAu&}uYR4%YuazW-rn`VBfz;PdA{Y+PJiTpaAItZWRwK->A5 z7=Hf*l}bOE*jfJn{`vLOxBqPHOrWj23`|T+ENtvN!Xn(DBQ}`WIoVnN{`keh30j-Y z3|WQ=N-y94uz;3Ob8&&<4YZpdG_3gZ^XG4%zKKNwk= z|NQ(4It?7O%n>y1`S16i|Eyes5~7@czWwC@l_;RqW#HjN(DH32(5l3b-~NJj(lN5J zvvG29vVi7GL3`BxfBXFT>rc?o^{?+=zJeB2|N6%S9$WhH`4^9bI3GI`=)3`T(1m>e zK>I1!m_aF*os;?Jk6*ujfc7~5{s)RacF-B^f0Fc|XzghVO__;Y)Sy+<;r##WH|U;iW+ukppd$gkef#nI9}6cBH~8Ki z1{N+Zc7~syKm7zvM*jQ%>&v&l|9^e`_J@^+i{azGqZv&6#oZmY=BzGf0?=X_}D>HFAVJboS;S0;4M>sfByh&JpTIe^B*P-PBz9L zU%veXT^`EG!OG0eBftY%D+oHFi3v0@2ioNcx~cWwpWnZ~e)#y4g`J&;pZ)Le|DanS zS(*NV_E&*dhJcnw{`ma<^FMY@(Dn(?;u1D4*8dDFoO}Y@pfzdCpqZtAkR2h6Y@lrq zEPsD~`||124@M3i4$$H~Mph2cnP1;QyKDdb`U#4dKi}Sc`0)>PKluM2Uw`}sUu@36 z%+Afr%>jyT(6y%jK_^`@gLd43uDxbr`VBfG@eeBp8)%2%UsfI-PNu)0EvpQFet-_4 zXZ`#2fi&%7~fi?_U;fUhozvcE(@dzJiVlVr66e{`T#c zU*M%-KfZ&uoHHo&&BXZk$2ZUxHfCmK7FNg#RM2rVOzf<`K7IQ9<1Z-xgC{WlgJ$7D ztGc+j*qA}l$-%+=AF>+p@87?_|FZM(bAxVO_`|>mTAuaq4``t<11kqNHz&*AZ(qLt zW#(XI{Ph*orUZ?6f@Z0H{rvsw`!5Doc20I?MrP276zoh4%uJxIP7Hs)|M*pWP^4LGWK=YaZ{`~pR%)u)p!2a+1*B_vy%F6KVdu*U!Ifd_w#jjK6<=`vDqD z{qytt_wPS`|NZ+DbXL;8zrTKb{{d?DKo%KsvU6~Px9o9&O6PCC7}&YFKnvhNdxb$q z&HQI%`upSiKNdD_etr&69mvGW%Eb8h8>o;0H2^^i?3w=l1hsXT8UKNn2r;v9^RhEB zg31XFw!dFK{rC?$&4CrP(-|}?2P$b9{{8y)?FTcc3ISb={FjlLm6;I~*MEL}`|{<- zZzguuzo3x%1DYrQ2R-$fg@KWsSAd`E-?y)z{pO%BU}0tgt>*sw>n|%OD29JBu<`JK z4*Ue2L%_xYy0rDr?>|4ll{*ut=J*ZTy#QMM1=_dD30iT?%FWNm#RfW*=09i_fR&XM zwCw8Fx1S80Tr7XSe*XH4iJgm^ljZ+E&^|rT%nKvy|DWH!fNJ9ZjQ@ZC`TYyLKJV9$ zp9~ya9L%6aN^Cqre4L;&`+k7-$1yOmadNW!{rdF}Gbaz*Ur@dDpM{kJbi~nL&~c&Q znNr68KfnL@{_V#vzy}-Tz5=|NQv&{XZucJ0s{C zb5LI7Vgt3)89W-cBMX3$bBCMH%;)9K6Czbv3F>I_V*ppEtn|3Itk82|tJ^649B z0}W^}0kquU*O#w98QDRH_JCF#a`N(UbFwjmcC7vW0Xl7*g9*Gpj*W+#<^JBD0A^Np7SP2!OdOmXpyR1|IGKKd z22((X2{3?eEoI~8WM}yO{Re3C^xyxW#yM#5^xuCh>>RAjf4+mx9Q*(4E9gXNMyCIN zLFZe6&-eWG>o)^4XxlBXkN_9UpYK0@{{!VL(7gztH7cM6#_vCW{`~yOzy!K46g)M} z0@~aKKIQ8FzhB=#eH76C4bYYj&~`4+nN*C-pzVNMf`UA3jDLRq{L93~1ujtjfv)~# z0@ZqdKvTS+yHh~(#-M3Ub`H?`DA2^;-@l*%T1HkDhM(WTqsEM&HBX>&%&aV+Gf@76QVQrqDbS)mP`ew{L1717sQwSMCgtb%A3s4?qk|mG zzzVu@{O|vNpslyR88~=_g!nlA{{pqhLAww^YnVaX(V0MpKz;x5^ViS6pbf8}p#?@3 z4$vLS|3D{)G5q@W<=by2&>S$RQO*FGcmmx=`vmO)ADClBd&=OYWe?Py07VZ4`^%FGV_aC%+06abQ`{&QU ztUUYzpwo!|GO&WPDrjW|Gb=kA=q!|fKfiqi)rqW3pu-XwKouf0!@qx^{cQ~YKr8D( zJ9Yko?r8u2|37H<9ken3`_KQN{wF&FXbTT3D;xM8YS8)&@cc2TQ2GJd4Z-*q)C2y< z3_6eY_djOPz!GSY9=MGC_3IC4%@b&uJtHgAzn|YgQw+SIb<}^E**QR402vrSYsEoF zYp}91{rmL;biXb$XfxC2AOBcbK$p*f4pjmzi37DfLHmI~o5sM~8~=jFEq;Oe|17Ma zBnsNt2wDsX+ROo(e`a6?U)&99x&3Db-G=iGboCHut0*H23mZEdGiWszXzeFxo9188 zVWdA8*ts|ue}4P+1GE^Ki=7p8XEG}r8!PDGGbYgDTSgW(E)GyX1GI+-lutkfI_MA~ zCRR2M(4i@y$vhU&Y68%)GvB^^`3X8Gl=Wdf~y`U^Vk zllA}iZ{I-G!9UO~(hQ(IlYc;G;DFZW{Qu7c-sb}vvuF4PIw75rm5ufPZ_rYGP;`JM z9@#+EJqrs9D=T;jC?h*B4+rCqFW>($gM#oEXj?yMh4No;Dq;fdAK~I+`TGmhVrKaH z1=I@%El>UT^ZSqApiT;C^(m-mXXju874e`IF8^4$c|a#UgLbHcYKmXK8JHMAOBw(C z0S&@2GBC4)S|*@c0d%g=m+!y+{0H5={^!>((6*ib;5~3G?4ZD8W#i<8bY|GuLA#$p zrZ9k}_CZ}O(EeJ`lpO;j6KH-3v^*2M>+j#MA78)y1}_x(`}g${`>pa@Bd8f9H7|-22dP;sxHut+MpeX44|d{42+;-TS14O`~j_6{0};r?Kh}T z13K#c7id=`Xl53)G=_zZor8;$gZb~TU!XPSpk>&g>x-E|o5KEpmLC231!`k5gRXZ6 zop%9RjQ^Jzl7@f$_yd}9{tL-e|9*o`u>-Y?SwTHEZqSB4@Mctyp3&}zHCKR|^V6KLhzUr@7%gB7wG6Vwj)^YiOB&^QWcJHemdVBhQWaZ-J=H>$RJ^uV>{_45yCA?a_>Y%2rkjGN#8nV3KaPy7e9B{`WPS3HB7 z7U04jw9E*!Lh;}4pFe(qj%r~BZPH`s;^Sopg%;?%AyC!F0xIP}n~j*j84I*vm*LOP zAAgxRK%H7}$B&hT@z3v{Kfizb{u9(RU;>>K13J1HlqUZCV`Ssx;o}B1#z3QUe}4Z1 zHTgkz*Z%|UmHGSg7b7b>3nOUYhk=O&)Q14Ihgq3H`zn9^`T679mmj|wnVCTypg*7u zm!K8mjI10yp!PKj=l~O@|Db*Pj0~Uv`u`8Kl?b#j8MNB**Y7`nKwCqZSXkLu+1S`v zL1&r${sS6w`~43T6`)A^$H2tO47%wZ+zMx70}b6WftK`wmaBob%KQaICuo+RnHiLL zK!M5(URcM%!phFh!pscH;h>S6-~T|4{PE-0KTv@Nsy;zyQ?NsnffigaffhT17Bhp+ zc4qhwTFA-D%JLU}m4eCgPRo zqbWdZ%0MF)pri}(2O|qR=wws|Miw^E)?UzN1{P+9KcE!Hz{uy7(Nl91+xc2CX>*wc9{l6VS4;-=Hysf6Oe5e?Vmr=&Jeu zjG*JDnEpfD%)$sdzZSGa7_?%F3DiPj1ZRIxq6h620Ij_T9kIX;>Op~qA^-mU^W)nO zNC6HCOGeORZq@OpwHH(B3N0k(Z#RBMURbzrUbeD4@O!XniT@9M50>89_%2fmVVsf-W@p z{`)@zGc#xvKB!^^Rga)+IY42@2&w}?n^b=NWo82{iUMT{&~DUUposnd=g05ApkZC` zaz4;@xPPFE0CaB5Uyu!;EnT2hPmJJN5u}h2w9Er^SoXhvpau>LGiWdlv=p8hbc!8l zHv?$L83Pj|6Q~geO1R)H1)%kKzd$uL2P>$f3)&_JT6q8e?_W>{f(f+ti3MaLXz4N= zBWO!76DTD9GJ-M?3)FlNwZ6p#x+dlQ*h*f_aC3yDB`A3)UyXlWa0p)_bQD)`Kyf1ooGL2H0PZA{R~ zi{Qm>e}97-kKhag3Oz>98aZ&F{{Q!%m6H>603!n5p*ySBWU3rJ7k#{XdgSMMFzUY z3$y|1KO^X53r02$b{5cf1yJe2#0VNW2W=|^HO0Z_K7*EZf_6`U>JBFGei25{vDDyF z4z%?PwE2}0w3-z>5(ZlF32KtDaez(<0qyf;U;vlf|3K%8fRgOL|Np_as(^}zf1st% zY~Vv2K<&MMKYxLS0$4!xE9gWqMvzv}`RJeyFUXmoRh*!y3Q+R;1= zo!g*X^Y<@k0VQZ85Yl`DHP^vA4ME;x23-{Zx}5-$9vGR~LFWR2^EGId?7#n@O~t=K z?eV|=L1hrgE{6Z0lXO6p{C`mUn}wN)k>MXB8$0t~&_Ow%9Wj6Y{AB z00jxCjRIQC585XHs`EkDI{fq;3pECkF zoE_Bd0&Q9Z4Pb)W$>39XL2aae;9e!D@dz5!1vM;~LB%!`6DT@<{`dh}$@lm7FVM-F zOrQcDv<{O2G+hRo2nV(LKo~TP1IognHL~F34LZ9EbYUK7Q78l0@1UVcPzwaq#Q>%C zUq63>cj^BHjb(tA^n)5GVBdf?Ua^68w1L*JGJ%&@f~!-I??I=>{Qbwo%nZ6j0dxij z3kzt%0CZFksE+>)x_#t7sKf_tzXc6Ff(jeZE;nWtRyGz!&=x=j2GEfZprc(_m_aET zTwt+)mNtX-Vu4B>P&@Arr~m6nWpp{Rc5*8Haposv`EE6dA zGIM~Ap#$wB`w!Yr0XjSeRQ-X1AGG@gw9fcH zBghS)v2_+uiO$Ht@E0_32l6W@ApV0ADFf&jRnXy9pj!o4Kt2ZT907H|L2E%ly>4(Q zGJ_HeXrB%!2ZOp~pe^R$%?}{kKpW0LZDdIM^v{1L78X`;c(ZY^F@iSWfd(Lceg6ST zqo7?Mp!fn+cr2i8NubjbIYDbFLEdHnEqZ1IomUE8dC$tm3fj5*mw^d%Vkf9q0qOvP zH}^9A{{vbS0~*5k^#{^s1J%!Zdmgkf6?9}JXoC#sm zP|FFFnpjyuy9+^u_n%+C|A3};euG9*AdSoapmq}IBm)*up#&PR0)-lAJIsGjyNUtS z`~(>fo`C~(5g~goK$#U3T%bkGpxv6kfBpRa{TBmxRWfK(BczUGX9rdGfB%CzrJw-~ zP(*`j6&BDO7g#;GYYu9vfHKK{&|-LS3TFZxmG=9`w;!OM)&KvXS{HncF{sVX21?$b z1{|pU2Pzjq+p)kKt{DFP_yO7h2O7KtE%^l%NuZUF|3OjB2pR$T_5H_p@I*B@v4Dns znLu3t&f6(+6sJ#kO3)=bwE|Niu zj2Rh0jpjeUe*FRMt_E$g0QG)AMFwai322xO)MWv!-GCP0pz$D31qO07VmcT{NgY`WJLS zAE@W~AJh>8&0K&NUjG9fZ14}%m;dz#l;OZTm03XxTv$Mf0Cci9$XowFtu@fl3uq7x zRL6t1wtzN^fx;4$xIp(lg7&w94q^ed(7{C^Xbn2};6cz{0MKo&pbQ7PE0moP)M{g9 z1+_InyB9%Q$-s3TI17WE3u+sKru7*AfL2Q}Fo6daLEEuFMbtmg5d*(LZB5X;1<3E9 z83u5@1Uh^gbhriR77kDo7_^C+0kkIvwEGX#)MN!UPeDZzXwN9<-jqMT!5wc=?U6=0G_J@?Pr73(x7Q4(9j$xia|RTKy$>PAOM{O1r8VRI1gz5&wtRE z>+fHnEp~rEr+0(I9Y444?s9P~G{T;qUKX|Crf1SpI{yLV}7+&=x|_XdWmPgErKHM?;vHn89oDIoLo) z;Qapcp9M7Q3To_wS|6Yqh5>Zb6{s=+H}QWmfsVidwLKUaK?V80zl@-5c}yU4{{I0D z34s>tGlCAt04+&l08Jr*j`#(gx&e-Aa7&*VGzsz_6f&UQC4WKpt%6Q>U<9290?CV@ zP5I!|3aSD@!zbWG4_XNU8e#zng7!gycC7pYU9SL|XZR0x3us#cXm=DuJ!pT+KhPjO z=yU?mkN^{?bq%r@G=l<~u>^H?K^_4W;oy;EQ2GI_{Q+fDPQo zGqpk5!Q(ifCK@P*Fo4GA|1yDwz(LKfz99lps)kgm7wqd zRW7V-pwbsq!-C3l&pvrS z00z>2f~0X)&@tMex)yX1&Ob(GaH0nF`~QRP$M_E#I0v=jK~>*>2G9W&pmqrZsPoDS z8dm{d1^{Z7g2vK84GHkRTF@qI&<0k}2pOoa2HFG&PP?GSBxr9LsFej;(g50j28u*b zg9|h|^zRR7rW-UU^84p6(6)F`UIT5>1syfT3^L}=ufL3-={?XKDX5*n2x{1a8a$u_ z9GF4PZU)fNHlVG}ph;G6L+dx_fIr6npqtr1F##Sm_zS8iK}T~ifOdj1fH&Oy{sWqL zV+GZ0;BFMS{$c=a^941^K=tf@Mo|Bj@$a8MKY#rOCn*L{6$Y{eG^_=_w1Jh48I(dm z3GMgKA3uJAjTmP`rUQ z<1v6LH;{8dL%B?#IRVg7vW$%XfByg-H}MB_Iw)u-6R4nPWdk)_AvHN@7y?{afpWt? z&?yn1?Lpu~1ZwPqCTT$hJ*c1o9d`k01cS!$etrKAIZgvgF+P4p$F|L0X5G+WfUlnf#yR%$$}A7 z41f!9P&omL2hdPB=!^tVj|Y@6K}Ul?hT1_bYH&M=@!v1dup{VfivQp}o}dmcXl?;? z@H6PdboQg2e>l*4eBU?+D_n7 z0W^vM8o>nRh<~7xgbfr^pgA{CQwWsH|AJcIpwo9iC%}Men17&Zij|cGG#ms9Cs1|= zt)K%ndj9_do!|oMG=O3q)OcazU}ygK2Q+8}I^p9#sGj`|I*1I^P6pLIput$sHfK=n z18PEo8&!Wnr55=KTE&9>@jvM!-=88ZiQmC4iRIf)<8>`rP1N zH@JPt1WFE|c`{J74BF!iN(%q~{sA?4K;`y7kemO4GBKz-1X`W}nk@t6BT%Ohba*bP zq5zfhpusK%P+t$!dtwAdDyT&H2TJ|m2|Mug4``Tz8MJ8N59qQ$P+x(G1vF+2nz3U6 zO<922b_|T5ac0mQEGYMb$M-(@%l!u}7UyDT22C7-c6Ec+S%LaMpwb1@-3B$?m_V1tfif|;J_jWM(9Im6 zLIHGU2WTM`=&VdoFo9AeXc!QjJVBMge@HNaYJX5e5OQt?Xh$pP@C-K4fD3e1_h0O{bc~nUVysgpsI`sbYc>y(gUR> zP-PDuRAmEieE$u)*$XuC1gTY6SwJljP{RN;gAA&ALH#<=R5oZi4yaTBUz7k!qM*I- z%%JE5l|}zR%d1#eSwL9_v?&7IbOcoz|3GO8Tup;g6{vUu?YCqA=VZ`uAtPv(Vm2+&`>F;#Sb1O`U^4(G&=~2Q*dPi>U@Ak+5dvh z6JY0HVFZl^{su2c0yz}4a0+y+1IS3wd0QYSgBru2oB^^DTmXPuyr9FdK$#9yAcFEC zs96J22`b7#$DxCcRs!|kLB}kDPV57nSNQW6Xi|%ng#|R=1U{DsT(|uNHPKj@K^F~x zyarkd^cyrN2aY1pF%F=56CCJ&L7TilV_XdXK^HSH`~`L4K!epRpq3cOT2Su_G+hnq z3V=q*K^_NfF$UdV0je_p|M>$t=mnHzK<&DJpivr75&}1OKKRa`0JWeY6T;va1+{HK-42jf!4)y6AOcql;Ql_Sg9zHL{vWiq zh6Qvo2Po};S}36AC+N@yP=W?6fdUU?f@%j)1cLgcpkro0MIxvc0+p%%K=V$Z!Gu4c zNfl58gG*=77zJp3DCpP*P*{PwNTB`?Xp9)tUj?rz`3KtF3>rcQEkXg6AD|`}=#(^2 z=>!UQ&~Pbenh@Ls1r^$$wLhQ@UZ5NZ8dm`|$w4DEpo9xL*8tQ4VFsll$Y{}jumzy~ z@Sy4wR2+a#o&gUnFtaiVJOy0hLmqAOWcY^^?F|wf~?o15oD`)Y1V}WuPu9s3-Lkw2lgtg+NgOI;S0c z{0gW_11;@=3>kpxQE+!2)L;ay5&8!{km5h+{5;S~0Z{uARC0j!w}ZzEKnKWzEC5wU z;Kmsv10k zsImhMmHY*FAtAv69?u0YSpbz9jG(p@sIdC;7Zh*c+zqaX|AV?-EG*z74?ukZP)7X^ z8qET)E(8z1fN~7@LK)Bu2dMSP1S&0=LF+^qL1h)_WJFMx1k!Y30OfGdTplQRKm+@r z^%S6)SxBY?kCuQ20zmaO_&^Mh(?ER)(6OJOQO&=gfjQ8W66p9ID*FdK_wVS4S3WG)J6jhdj0teYCeEQzkdD# zO`CzD1e8udonue{LE7V>B{85q4d6M=A3s1{G*C?k8Z`%*%EAOG7(pYYpz%M@m=oy0 z8PLEisCEW<7}U4}b;&_(a&WE$cOpQk3DjQy3(BmZW3T>$8uyUo0Y0bzRD^&W3~J|r z$|lfRG@z9Q;O-CTU=aq;fC6YiHMq3{niT{s^n)Z&P*n!H2?{g>1R9SApN9b|vOw)O zP(=!=aQ=e!uYiV3KywwKasYG|4-2SF1@%%v(~F>ev!FQ(P-`4i*!%+xr?P^A9yC`2 zibc>ud2mPTH)xR|XuucLAP2RaSlB^FLo+h|2N$8B!6;Brfm1l>#sg5b2s%XrQkj6R z!2=EWfm-AL|1*GUUhsSjs09ojMFdskOiZ9f2h0qhwZ))opFq z2|7*}R4PED2h`942OEe1@--;NL8}l!f}qwMc)S2)H)!A!G)Kq)8gT+0?DPjT69g_o zK|Tc+x*&N_Jb{WmP&XFTaQF{uKY|25xS4}Snw|x85DRF)60}4E zl-)rY5;U+1Dlou3FwixVpdmmO&`1nu)7D>582klA19*7{=+aiuxr5B03<7E6fDUd4 zou2_JY(Pt%KrRO*08kAGYKVZwE^QVXvzSY1#Z}Z4n+aE5Y%i0m6)LMAyD5PJRkr% zMVOThbQ3kCn+&?I71WOhU2_925O6{P83z`rH)!6?)`4@CZ59nkO z@X|5RFea#&0nI;yhDJftKA^+LK&P~V3I?rhrP_zn}^cG_na^8w~D#Lb4>(-_TqPTEPx# zCVP!j@vyboLygZ8U{8uH*e5wsYO5wwaAl$bz;F=%KW6n~(g z1XZh`fC5cffV~Nt24rRiwa`G9E`bV0P{9Bi>4bE_K=Xm%;V#g;9B39AG*SwxufR1p zXj1_wq`)H$ph-ATzZ^7P4e|&hXfPF&!9mN>z#S4$F9#fMpuqr8xPf8`)NTQ-+65iP z4r>2{hTTAOM}I*DI;cPeEyM&hRzN8nlpR2uKS2sX{SQ#P9W+)48meIiO<03gcYq2O z&>2Q-kmKe4{{>YFU>%@90`*ft%M2JmBh`$cbuyq%5@_xYG)M)yDFiZN1=_g>k^vQ? z;1&^R-2r5H3p5Jy2Q;q>x`zpLO8^tNTLrol7Tl`=#VfeS3|jXA9@YnkKR6~q?IF;) zjjZgTGYmodu0YudQbmAAMj1f2GW-S?aNt9eAi)UkK7(3(;HD^eG7Quj2QB>q5Bq?Q zRRVQiLF*n_LAe{$l?L_NeuJhAK{@h2s6YZ=Vgqs>xaI|IIRhPl391`@|NQy;_dn2* z6i}N8X?40LSuKhUr@s73-c`xzNQ^ZKB{Jn*s0Ab)_4od=I;g8U8Y<$_WqDF1^ZoC#Fy zgK`t7yaTNw`SlxA@`92sBO|Cm3o5EWqgJ5$5tPqC3rj&KO@fB4K;MY0PQRQXTd+<3<5fG7<88~ zXsnG9)CT~04xBT=_LegH2Vt5>7c$LsGtT7(}0>}p#CbjZUbd@&=@IbfjDR^ z_8;W*w?81~fCrSp-E+_u9?)Hjpuh!nwEp}C848*g1eFKi5mV4aH8`4?K=W1LvJ=!@ z1=lM789`0Jzu=R{z{NB(_+)x!R(5vqVl>bd4WOYN(3C%DJQ$QQAsRt5E1;U64b;qo zBt1}<0aQ#e{QU!32mB9|ctI05ppGwS4HO%w76%nkpp}oHnHo^L4(w=9V*_-ODl0Q+ z_8-(gWCNvl&;TZ6I0e*T2W`0rr5MnI3{?1mdSak0{@?}Lpe6z%=sFEha|X1gj+F(J>RA{;rho$U4`?+d zXiy$hw}V!Ufa(g+JR39UDkYE;K=btAZ~;vLgXc>?BRrt$3^bwu8tMf39W?d;&bA$%8JNI16V#yv)v2IUJ3-5a3~F6~x^3XB%mm&W!oUC;2?f~>%B|of#GujzG-U#6 zu0hKb&_)9AdPZqL381t0TXb02-HFXCo0egA*jd$MJYJ3gJ(fO?RaqO2Rwld z8Z8AC&Y&WT0W^3IDh3$;{rLr2MGdMUz>y59H$f`@f!4r)sxHuE3}}`YG*${OG9iN^ zpwS)B91*CA4rw_5{|kygke#4z4d{SoP-hdAxIs;MP-y^a6oFblplX5qT|Nm!##|p?p zAaQ5~2U`CDUfl&c)fuD@G}8%61E58!pe3!K@&n{nP^g2NQlK$1(1I3lD*6X@EvU8v zm3E+(2WW&6;#SB=6zHTz&=?k2E2t#`QVgzHKrQG|&o~&jinmg2D!rdO#gk=&S%}$qgjsg3<@5 zT>%<#0u4-q{RQfIfrcDF{U=bv5417{)UW{6V4z_yu%kgO7f`|k4Xc9gL;}r;fKPr0 z*#UA5wAlGJwvjfUHCY9v3vh4r&B~{0VAogOVdCFhTV$c=QfD&;h9;KxF|q-+~4qKue!MApvp) zDD1!?4^9`L^&6m;DtK-gJgp7d0Rc*~pq4Wz5y;3^UneV|R=plTB2 zO;BqHRJ1aJ8*$(@3ZVID$T8MnlR(8Is0{^55una9WcmOU)u3@pu#Z5l1NE~(4FphQ z8C0@@5)Zg{3+vl}Rse%aAJA|CsG0N!w5pl~v?>H#u!7repdmU?$pOl$piU2{)(6Ql zgI5588u)CWo+QX}aF-f93IsZB6m$kEs7C^BJ%ENwKvsh)LeLZssJQ{I&i{i4UO~wN zG;$3toj|D+oOdBTPteNrpT9vF5VUO#T!n+WKj1I`6{4W(1Uw81+R+LcPXQIq;Nf^s z>kf3oGN|4JfpE1=*7t-kpC2egY7y!;3>#0c6b3ChTzYzu0gfcAhhg0`oFcFBNT z^8XL$+UEbDDP!;qH)!sJ1GMZ7lovsBIiLy;w9yMxo`GTpG=vLE4xphOPzZwy7*LNH zv_1u#HbJc(PzMWAV1g18sBQwy8#9CQ8K}erwR6Esnn9cNK#OcZ<4vGO5hyW(5c&`=tv z9s&&&fu{~ZR)a-?V2D<^|OwfoeGiWFSJPHF!jNohl8n^&;JHbO?|3O2@pu!&19s)O9L8%Lri$G-z z=x#Y!fP&gcplS=Wj0V(b2K5X;aS19YL6HPXp?^VB65!q%q(ulSJ3woK7(oRb$P1wC z173XxTH**^O#w=n;HEnhXk!X!K_6&*22`4WmWqLvn1b$n1T`B#4HeK{TJSVMD(Iw+7puKf?5ECTh-K`Spn zZDUZNf~E|?!=j+|grHM4LF;Ki#Wkqd1hw43eJoJ!0L`9&to#LPUxQo-8hr+Z0O*23 z(8Lyq2A_=&T3id7TLA54{|)L_|M~MDvj` z0Vh*%%(H-+f1vaXY7K*i8$k01APtZenxK9!s6h$xKX`lyoQ=S__%CQ(F{lj+iVskl z2bCVMcm%~e6X-fC(1b8(Cl<&^(C{ayR|o3wg60}PSqF5IKd1-+S8$+m7Sy8z4dZ}Z z2O3rdmEfS8MnF>upcDrh*!uSmoJK)e9AXg@$bFD>16rK}I>`alh5;9bpw1eo!U9#+ zAR9pi7qk!rB_i;o4!B+iUG4*Fdw}N5Kp_Ge-(h562CD@(KtWA3(0~u9c>wYkXjlkT z0E3DFP(*`56*RvNy4?%3`vtUb3A_dwG`|g6R|cugK~tiji8D|}0l5&=k_FX-prJ{S zi$L`#s89tZWKdxTswqLGBS;NsupU%?f~QIum_T&}XwL{J+x!D9zydi3G^zt`>U~1O2-Hvq z?@fZtVS|QW!Bruo^$iM7aH|Q_6on7wf?NTLG|-Y~aDxpr6A1Db$UmTN0O(wLP@V(L zb%4SROgSx@6$q7HEki$OE8a4IKQSCO>G<0#yHl(hq2^9-4wdLjj=G`k=-W z$XL+2Bv8i$QV2oZ32HxqTnlQdg4zY3v(+KXpuyn}%IToG2o#Xut}du51EpPbDFLNOurEM?4NA6uL3V>jCqab^sNw)kxqymI&<<}% z&H*)uAm08Bn#%wU0{sU~H-l7wrfwmsz}XSpWCW`PEnEc`(V&qvP)Q03RZs&Pv?3JT z)B(jUWVH*(oe=+nddZ+kIZ$x~T2cvG-wLX2LE{?#K<0u7&<0UZ_5vMn1nOXbx`Lpx z08|2kvLk2+5LB9j>fXPg?S!D}9^?ejXaJ~q05!}($r#i$05>2&ojXtx1-TD2;tNVv zpiVm^s6gg|x&z>{2-dR%^#Gs=9W<;2PGF#2c7H+34MDjK)Yb&GVZdu1K#M{_K?TkZ z;5Y&mexU1rK!$_b6yVee8Y}}%PJ#OxAY(zU1ceT$k^mK3pv@GZRd3A9jG&4f>c0F6_ECbd9|e?gH5 znnq&-4gax%s-}M+8zDd2tfrUxS0&a)2Fh!oZWCx}AZVf%LptVV$7y>Pc z`3))%Kpi^pU@>G;2h@%M83sBbkQKCF8f+kFD-Ec21}!TEr5MoID`R*CW6e#y#7D2kf6%DA;05w}cW`b-2MKicZ0_tsmYB^8~ z2-LI&MF^;10mUk$BLNZx&z6D8AW-TCX2Gy#dPy*#rP{sx|GC(a8Q1=$ptA})u zz*Q7F1 z4Kjd7l)&`~X!|0l#|&!efa+k-qzfppKnqbpQ|h3RPf)88ltCeZ2?}KJ5I<<52RzLQ z+P()_69k&C{{08kyaMGr&`c{x4`|#OWG2K{kd7oMw}4FnooD(Bbh;pDxB-;wK%E!J z1UM*Zfx6tF%n7c)LCsN6QxG&r3UVm8&U zW-Dm5D7eW5PHW(z22{&}cA$Ww6jVrq=Gj0V2W|fcRehlN1WmqxJ@f15FVIp)P$~qM zk)Yk`pxu<%PZEK)*G3X#maQ_k1Gy%0-!GktTpy4mb+%jl?C1}bM z+;#^Sw;)qN_W^+WLZJK(N^*aHfer}-byh%CGiYf9$TOhY5w!9T)Gh^0OMn_Wpk6y@ zpa|5C02P7Yel~dT52%9$UY!T_Iq0~m@85rb=c7T@8mNo{o&E;8rVO<55Hu?YI;rk2 zXkj4ez!6Z@4CxYsDn`f>4$yiw&{8hY0T18?)9+tDet-_#1g|}22F*o*#&JMqF*CD) zuBiqUOQ22#XgKK)Xg(Ue_#Bj9K%?=XE(0t0-~rIUJ-Dy-7j%f;kDri~1j_f2W!miE zof4qa>Oip%DriAdIG|CgUtj<_js?{I1`Qgpffgu$oe3F|Vfg>+2k7VnPy+_kkOR4# z0dx*DXf6+Qycs)a9~Vdzgu%VUU*PH9zo7C4I-CT$dVw7@q6iw00Ugfq8yrQT!7`9r zK>@%7THFg>7YRCi4^ml!Pa*-O;J?3r{`~a|!~&O9phh$JpjkFnu(KiaI*`S^KS8+z zJb?k)`wVW8fDVxW1p&CE1yvBB9ZKNz30m6#PO+f24mc@;hDX^zZBo#ZCD8H|&}2BM z`~oQh&yj(9N}vWlD5Ah69jIUeDFN+v0yVin-C>YNL1#~ZTEn2E3^Ec_h%)~F1Daw7 zEocXqHlWG{q!zU4AG9Epl?`M&s2&2fhrv_(;1wO9q7hVhgNB(Q?JRJ?0BUW5`a$3% z|KlgzrQiVg_xI1wAD}fdpnY_pWBM3Cmx4mnffl)f zR#<>)PtZ6jC~^Gw^&4~u0JzTr&YmC#f>Jy?_+)KJRR&ts@e4G`4?6i1yjUGn-mtN; zfd-PAYb-6*kPG%N%b}mj%keQ&BPYj^* z>3)I|GH47Llu1D)BMWFn1*m5M(gEs{v4G~cL1oSaK(!%g3LiA~0AA1n>S=+N7l9_ZnL%X| zcz_Tz771#%fie>)y@9SJ1!WM>Fczro18RD64)i6MkA2>^*k7v z7+F9U-Gagl98aLq3|!NLr!jtm_PK%vzd`M6a6Jmn#vtc`HdTN&J%R%k6c?aYJ!lLU zG?Wdh%RpTc(4;81)B!a$KR^M4NKn%qR3(E_3aC#3s_H>037n-sljR`yf@U7U zO$<=a5mGXOLJkx#pq0d+MQq@8d|+>Z!WA@}25O0dk_t#Ac4 zNMi)l*#VDafeFw^B51iC$SI)M0I#kE1t_@944RAtwY@;SI#8Pk)U$)69Z>#Y0S^p< zeGUpNuy#;Q0`4+{k}9YL4VwQ41s5ntLCG6b3W571piT&63=Pz80XZHN+Mt<8kYS)a z4_apk>Mwvs$Uw${@+l}d!L9%$Zct|hG&TqhS8&z?&Dnv5KS16AjR=EU%%Ft^;QAIc zoCPXK!QPcMNQ zq@d+jAfJJ1Cr||nn!frCT9^rOCujg0JnRFmn?U)M=|89n1vd!)fzIg!og@V6KZCk8 zpg|(g5tVG9Q94k{1=Tp9+8%U01E{3|n&t;(Kv0SXwRA!4Y)~}<8o>ue6UanR!xhvI z1NA*Y%~3WM(9zGJ^aM&*;5-c~pnih@Xe102TA+>|c#HxxMhK2ma32ObQ~;UF0S!Qb z=J-IX=D`&ysKo<0PLmN-FN1s!u9Lxq8>ndl^%kh#4;o_ukmeZ3rQr2m;64y|1{&lw&=Hg1f)`vrfb$;c1ZGyyDiV+vK#fdLcL};v2c(J- zG;7HLs+2)yg2EJ(GeL?#6&`572Gn-}rz22`29IPy`XZoy3@H7A!Uzg4wkYibD$t~;9*BlZej!< zW6BO1sRFe)SRhM7K}i`@ae^BfzaSHwppi6Cgo1K2$YxMw0_wzpr&fP~8ib&F3}g)` z|9~5q9N<*s8Iqsg#a|E2+HfAXapa63Tj+~OIvURf@W4hW`g>YpzH=Z zIux8XLEGn8K}ia9dL*d018w^SwZp-w9+WDjnxHjp;4v{!E@NR~W@Q5%p9@+X z1satFnfD9S^9J3(4ys>4IgSN%_&2Cg0*X;^Ap))r|NaJr6DU@HgVu?GQY5Iy3)*c3 zI^r9gH$XK!s38uzvIVrG7d)p4YG8sq1By|Q3qT1Pv@Qp<*9f#~7~}{@LmaaE5>$wR zyOf}DJjgIVXcaQ3Z}Ss$Kt8Ah0WG=*jWdILBA^Nfw9OOTZUA`;)L{Jm8`N$G`3KVP zhA09@6S%kn>p4!8C;Bm%MkDg z9w?W9tOun~P!$gzYX#ja1WH$+;Uw_14X6hM8b|gM^C^$2L3NTQA8r-1=mB-+*G0^ZhXz?~^@Dt(yh+bQ^Wvb=4%E^DPp*SaIFa2+CW2tkeCOz0zoYY&~jj~J3%cB&~OuUZUS5*f!2wFDi5&ZK;uH7fCOm; zH9SG-2^2yg13}ksfQPujaS2+k4N6PkLJU;4g6c0&TKWST#0HfOpfCc@VuQR6x?mX8 zrv}A4Xut#1)CEnKf?6ct+z2YmSU?+?KuhsKEord#LB#`TMhesd1EqSfZJ@PbpwI%X zx&j3~Xyyh~6@c2=;N9=wA{0Di4;rNaWg>753kp3@+Ye+fIFW#cZb35OAOLv?)QABk z6lTz|5TFbK8j%BQ14TS&bpvEr8dN)g#)%+HTtSTl(1aamsRpQV0Gbv6#VV+Xfcgf! z0tYnI3Tml9d)QVXb+4T=O%dk~xj zKr4B`Mu3|*prR2}<^VOwKmh~}Ne~0F`vkOS5R{HVQ!x<#gW?}#E-3j! z5)`QW1}ae?K?qtY3-Uck4QPb{C|7{aqyVW0Cu&fc0r3rZofIemfNDF?$_z#(&>$|j z!~q!y4kl110d(*dXfOlRQvppkgBLD>rh=URnXm28DnI3qp3#du}ClGKR1vQdDbq+Xxf(m_*uRsMFXn7rI z4IOxl3KXXx6G3AN;J^f}<$}&vgGRYQhax~qCrJMW+{^)2V&H-t+;M=+-GQQ!4OHQ> zGJ_WSgWBuh+7?tPfX1-F6$E%?Ey%;*)(dFZ5wy;h0aPf0%1}_93{nrOa3F~pbht5e zW*an%0WL~F*pTP4ApoRx%1p*{nfZ_=>q68}XKqEh(3KtaS zpw)Ju(FJgB0=X1aMuG161XWPrF;q~c1!{+IKtQG9AMoG+D9wYK z1)%M-puPeqia==@RE2@+I#5pG}a6<1(X0lWB1_X1eyW^H6B0(IB4#G6*MsbT2cb4J|Sfz zXte}*xDK<0t!KG0%vkfos3Ey%Ut8Xpv!ppqC|gn&w2 zP&*zpe+$YZpr$)mC8$mSFa85JY(c|gpjI*XJSb2}56YmB&IPDB16p_sI_Vaa?LgHl z*ngnOeecsKNvVAvni@>Mw8`12h#58kYi1lY-(D z++zSWIzaUys22k1_d?o?pt2Q`h(S3HWGJ}i1eI~1aZyk{h8PM?BA}oLH3vau8K@)y zwedj1bKuE0P+I`9+!NFg02j!hDh4$C2p-4+t?~jbSOyjQppXDN`Q9iY+-6i1**e^69_ z@;vCwYw+rNQ0RghB#?eFsEr3+VF0@24{Ru?1q5n_!a8f9nQu@?L+Wr)w1fL3poSJ` zPy^Is0j;D3cdJ14Cn(TC-9B({0Te=@wmfLi6jG9d;|SbY1iK2-aR7xVsFDWdZBY3P z)&lB6fa?XYOTmL)poSf2$OW`Q6P!%JBZr`@3ffNy@)@Z5gtU`EW`fcuC^|qRw4gCq zP#l4pY@iqc#Uw}!1Z5oX(i~9V3Ow-)UK0Z%Kn-wEM1qY3*$;{>kRL&(G=O3n z$5OCuTG{g-`JfKPwoR>h(2Gz-+0vF_6aH0Yk42dX^T2OZa6hojo z0aQFe{0~tKaxrLq0>~$jlnQCDgAUIExdJp_3z{bfr6o}D0~$jG_rF2T1xGD(l{u&= z1+Sz76%Zg(!8r;%>IQ1ngR&}kc_%1nKyC#!?!faqpwI=`#0Wae9=v=4pe80H zje-&psD1*qML~5PsK@~2J5X~OG*$rVK!MJ31kJ{PRwaVcAJ{XHDik^o37WG5g*Irx zDyRenB`HW%3TnN93LQ`d4jN+y#}+6TgK{3YX9+6!q0R*Dz6Vu`;Mx|PuRsw1N|zv& z;GtY_{R7SvpgISl5LAqS(hz9T5U36VFM9!RFb4%AsKf^~G9a}mxF`qJp`cCx*i(=} z4e+iyCeVrpu$iE23@%~718ILjL(-rjc2EF=LK4)W1Q&WBZ-Kk)pi~4>0U7`S4|_pc zIiPKjpxOb{dIGJ&00le93t+#12B`jnR>*;>Sx^oFRZO6|5nSPcCc!|x6;K?3syc8M z1%(GFYrHrfm@28{v>Et6>QGiIKP8>hv2>%XsQroH#ql0X6rx=ckt8=sI&n^ zCaC0w7!S_*pdbaMPtY21P|p@LJ^`+PKxG&x-GfGlLHo=>kq;X51BD~FDFn*XpezoK zd`J-ms%5}I3d-Z45)?G#37S&`ej}2leK`_Jb-&aAy@{F363bdIDU-fd=A0 z(Ew@}fQLJo7{Oz`Am4xrC{Xl*Xi(t=@)RghgTz3k0N7|ykbxWtG7-cEB|J!Z3o8FW zVGk-uK>-AIBFF)trXkpJaNdEGNuW>%RY;(w7r4X&wQL~m0dSarLJJgFpmGUh4cJYf z0Y6Zc3@$;zCW3Q3XtNbO8G+mbDs{m-*Fcp5s38IlK1jI?Dse&S3uGT?ybD|jgIojd zvVw9gs7V7VX+i!0>j7=|0EGc0>>;@gypI$r3#vUp7;Gdce}bwIa0q}R5Tpp+2m)0> zAg6-NhNuK}8NhuSxD+UtgNI*0_gI0w3n~afRU&8*1=?B!rFw91g1iO}D3A+4sR8T{ z&}a`RXhCfTP=gtiGC)ZR!IM9CsiUAnQOnAU=Y(P#{4F)(Q4KNC`OXKn?(9bx12uh*g#0kxR;79>^7StF3M>{wsp^gM?hXEyZknf=yKvfUe5unx9pyB}> zZ6Ld$2^TaS2u^z-O`z64C=G*h2xuH0WHo5i0aPV}OaT>H;0?~8t~Y2D4mA7%O8wx_ z0X5-3bqd(!Ape5h0`dZ+p96CesCa<70MwlT1p-(lsPF?Zz;ON>RJ}d(y0!c*R z#y%)VfELDpLl+du^^8#f_gU~7lTSeuya6_2`KcyB|kVkL8Ic}QUR1?K$oh3 zN>7jsNFTUD2c5tG(gPZ+15G!9JPb-g;KmP#1Fr2sOW!~YP#y(`AgCe)dl94rRy=}w zB;d#gg*qtpfO>M^VhY@P0_RN7$}do{3hGvYlH)&6X92X#3lu(}$wQEbK?Z?B2h=nI zHTFPkkhP#<43tbEu>cNvP$mL5T|g-gRAj;@_rTRNXpjaH;GlLUxR?ZIO;Cvk%Hxos zA+VW{umT$c%HSZ6Kw=3LYmmAQM1q?Tph^IgZ$Om;xK;*7IVg(2DI1idA^w558XS|L zSOKlx0u?l%5C%mFD4;-|0-Fb_av>26-tPh`1;Dims5l4t7^E0UAvkq`d<-dMA+<9o zq`>MxSsbJZWDCRtpwbRJ+722)1eF5dZ~+A($VH%GbkLL(s2BsKVNj|8Cp*wy30UzA z>HtA9AH-kaAOi&ysCNTuGK0=L0fhp{8K9;vD0m^mKOoJC z8iWD)58QqQn+h6&0%bB#bq&t>kjfO4HbINxK-m{m_JiUKq#i_rlMZ-yFevIFwJIoc zfYUfQ4S-aF2Eaf?0;q8cPM{!#;8r;(P(W%SW`Pp`Bq%_04WQx)RMCJ{f?^uf{{$5e zAeVp&6iCQ{HVc4)24pBG8-U^g)Di;O2&&CN83CN-L6HQ?iIBBZpp*{^5Rm^tQ^6pI zf)WbIIiQvYc#9h-fWUbUOn`d#pmYdokAi9dkTOu1gM0p|>pn@5cMnFyg2Rhgy zNNEO&5|BJ-ixg;Z0+h)?r4YE90ViWn4-`}kgAx%aUw|_$xTFEqFrXv?YHWcm2iN}K zzy=u!3PI4($Do)8(;)TW!Wz^X2lZt^T{Vz5K%obUW^g_RrDKpvP@)9q2C#u3kAV{~ z$W(|rh(eG}Ag_S>pkSZFntdSOgQ5?j47`vX>~Dy1LA>fL--7oAwV)9LqR=y zP@xEJhJ(hWK~VyVXOJXF3%EE1#Th8f!0`mGmqBKLJp@X$APzW7g0dngS%8u(C>4SI z19Bo*4`@XOD4~F4p`HR83Tjh>axB;waP&bM4yKv^49yn*Hu zK&b^(_&|zk5D(lc1GPXw;R99*awy0PV8g&A9LOV}3=Rqgkg*^igAxkJ7ofTi6cXTs z2?_>~o5AH3$Ux9eYDjhg^fyQaUt#FVBK(>P#EFcepgC3NsK;0-vtq0m31$Hhd z7lQ_}L5U4Cn+CE3tRGxffXoGXA2c`#DX+jW3w9nvCD?pWFBYT;oWnq242o!Qf(2(& zP)Y)O0F)I$>R{OwRC0rZ3Zw^`!yv^1C}2Q>VBRe|bLaH0bVf?^R=jzJSTcwrUDE#O)e zQ~`k^6VzS+2Lrgc0`*ftr3KjOV5`9eAk0XRsh|W3YIK1LA8^(I3xY=zLFR#c0AKmv`#fwX~B0mv+H0D}Au!eAePgA$zG zK&@V=?chz4;PD-B5P+&~XpDnuD$wo%P>6!u4)GPZk^-p*B}9 zAZ1`xpfmt37ePrMJmm=56A!9|z)Hcz1y~`705!Nloh^`=py4G@tb)!~0VRBJjt2!Q zc$E)0W=!Ak#o)0<<#%YMp^9Qt(I^crzO~q(NSR z1}rE(K}|n!5d(^5Sl<&8Hz1Xuf*73n!D$>kS_Q84!66BXW^f4s3Pn&DfKHMGm4Tof z1`1G6jt2V$R2)E@2{9028K_)>8wsicLB$8S_X!Srkn!Ne14?0_6bUjKBnaMt2s0Ao zR!~v}NrDOva9sv!JA=|5$RXg625SQ~=0O=B>}T+v6HvhfN>bo#4a$x`zsHG218K7tZNq}qvdlVev;E(~?4ay{-?g2PhK!FY_lR;)P zfZDpC!V2ULP(J{ar$J5tNrH+*Pzw(v53&&)#UKSBTR@=zx*P+Pz94}LN<+{L3K|6h z=L}G?0a*&t0dga#(1KTJVE=<;Kp5m|P!NGic95l@`XADN03~H`kqrt{P&Nal9*`Dr zM1#`^C@dhZ1C4is`~nJ2Z~+GK46LRCc?;xPP@V_H8`vmF=zvUzm2H zGf?ISVNlZ$9AO~8fCV6N19Af>a3IElLLHQPK%NK11;~3~8$jhSC{#e62c>h6KfyHw zXkr>v2S6}LA4m#p258^_lqo?~3^-LoT?kIBAP+(@GzdWUft(MzYyqSaYz{czfLd>0 zCxg-}D2PC*9NOvxg&IgFI1E4@2WtiU6yzAN-EcXOFjz0tG?1$xO;d0xgh+w0C^46@&TC+3NDbFz(#`AgF*#l3&_hLSx{>NlukirgMt&}9*9wptPjx%5e0<~ zR1GMU!CD~AC{T=pOaplh6po;50F5G0a6xM=P)-3QSa3jsjReIH*hOGRgS-hg0n7lc z005U7;FJT>1M&&jQgBd#^?`yHWCPf-AiW3^K`jG_#h?TOb|)wsft>~Q6{vIv*#+_q zIGQ2;05L(GEs&kyqz*LzG;jgSIUpy1%wzx+NT8Y?i7B5*8$+yjmb5CJwF;&G4;kb@w?pfCjuErCiV&;S`YK%s_#)PpPo zrzuFBfI@QGi0wr{i zH^8YE90Cx#LD>*gh=Tgtprz&@HK2S2swN;9l32hkVQ?c06sREgf?6Elzy^)|ffyjC zLPpd;(jaA^GzWGfIFP`DHQ>$yGw5_!P?G?ZUqFgMi3F_pAE@jA#U&`Yfnp!j%m?`t zWE`l~0dgm3a0iskKzS1sMUbW2ARfr&U{#>Z32L>1Vh9|QphgqO+u#Bb)GdbvCMa+q zs=y%zPE6pwJ2-!UJP)!SR7Zf;VSy4JNHwUM0o^78%6%X;pr8Ud8Eghf0m!|eXa_aC zKv53rc7faqN=~4V2e}`VEkJ`+pr$QI4=6Ms$qba6AT41~Isp3!lr%t%bx^Q_!W3c{ zXqFokq@bY;P`ZVrIFLF}W(FAwN_UW@MWD7L$ZC+0VBdolWr8v>C^>;feZXl0G;<18 z334eU#6Sz|K}JCa06{4U9Hd}BLsWs{5F`f9pr8;1m0aKm29@xjlTP52y$OmCK;+8py5Sk_i+7paKLGtRM^uA8-l* z#U`ki2&=t8`3y8|4oOm=Mjj{xAWFg0@t`6HR2zYkIY=?cG!O zDAj=mt3asDQP_h6CKuiQR&%j9nM1T_tEWd-=fS@c1qCqttC>wy1Jt$H@HiG#e ze}keERE&Uv9;^Y>M**1v9ySCOH(-B(0uE#jsH%hb931N)r+`i(0A(JKqe1R~mH=Rt zAdi7!0c)XD;{XM&U_ z;D81fPoTm9bc`@~-6J@qgOtJ&ASl^`Yy_=C1tn-u3k#H>K#>3*!2+$f1qCZ8!a#*J z$mig42fPdi6ds^h2Q|Y$X&K}xP{@KK9^@U6PeA5_qX3kuK%oe-9F$o>K?QaZSUJcy zpb`%h0pO?y`2nm2RE>cnALJ@f0tLl9s4xfd!65>62Pi*-YDj3K6qG_iu7#Y72eJYj zVW98_WfxGP3Zg+F0Lo7=Gr=we1wJ_GK&Ftua|@tC3OtJfZrp;M0n!J`JfKZKpqoBG z9s|V`IOTzY5r2gD1uyeuTCKL2(M|(16u}DqL`&gW3>~<`^h~ zK!$-r3T!nfd4e#=Zcw@hEtCc46ma1KG7i)v1Z8cIDo}+0337-#K|TkCASks%jD`dm zD9k}A4-`6}{vt>{dvH2dW>yegX$6sCon?S5Q2Gg9$tw3~s)Gy91!!2v{CeHG_vn!4VHBn?U2kmFu9o5tQ@5MG?$-pvnoHH4WtlcCb*pe@-!$m zL3YDD4i0xnQUaw8P{IVQ4Fx4UP@5E5hk)z^Hw!?sp`cs{%3h$*2B`&&x`OgB*lMsx zK&1#Mpg`3GsF(p&w9qmHl#xL01f_aV$^geHsBQ$;P>}uQ|3{=*DTnP$#uu8DyU_(K@29OeP$^-X$L7@aL3PC1;8_l3{8MGx8 zWF$D1!pa1YQgDkJG-d?Kz@S0})UpQE1mN})C=Gx(V3nYZ4Dve2Vh{!e61e;ZsRC;Q z84QX|a0v`C85{v17lMm>P*8!+CITfIu$kZ#1#&Kg0iH7kdl#eV z7bqq`9)pB8D1Cy9d{7brSD7FND2PA}Q?MG4Lm_>C&^S6&E5yT~1Pu-bkm;Zl04nf6 zo&xCsdko}dkUK#wMv%>*WCtp0K?*<^;#QFFKt_O~8=OHvIT|DYYCM3mDJU_434ss$WTtNX0jt5BKf=Vcm{m`@o8mk2@=LK3<*N}Uk1AW~owY%aJy0;MI8!@*X9;{cSeKxq%E5JZ8Z5?qdeR6!Mil!1H!at#=R zd<^yuNHrs9FdY(wpyUAxIFOm3Tn`cjX#fQ(D0Dy;z(XFy0b!6AKn8*w3bqBDHbE&F zlH5Tl282P*2bUWlO&|>M3&w?#WEyFLA3%nm4b>iP_Y3@ zAE3$x)OdlUeNgyA+yKh=;M2oEp#gFLsDTBt5tLX#hrWVs2GtCp#x2xDaCCuEJg6iE z(I5>VTfkiqa6<=@M?oP5>i>g$0;;;fG^i*C`59cAfociS4iuoE^+}+}2S*jC zItN<=3KfV;LB0p~K_HF<1tk=N0ttHDF-Q@pR{_xmNg$wF6w<~4=>+9pP(2H(KtUBa zI0zsLL9G{11r9P6G+qGC!63Du_97^yK)atHV?b&_6+S4IK>h|t61Y7CRtPSaLFGKu zJV==aF3>=E4%8q3jp%?v9TI8aPzSYbLA_sah60-kG7KDK(>Xa0a=A6ycE><1l`0Y0`3 zR8)cd4(j|u%>-8^AP0iX0%c@S6oAVWkT*bMQ;_i_u&kl!KgF_1VoIzje=10NI>(BK5MoI$37hnzs-P(@&M z@Js<7GY7TR!FGdEGh6l5$Y(}CJ8pcsX0?*Tag zl;c5R4-R@zp$jq;)Vu)aBhaoQ(BL3=Kn)xKVCzBM3s3}rf(2wGC``elGav@oeo(lB zm4ZA4E^t7B3NjO-4wO&8)`Lnpkmo^O0v+lDFL1zKheRxBks_!N1cy1K%LK6-FK?P9^ zbtkye0vQX6bx?+fBq)%f5Ys^E2^92@oD6m>$N``kDUdV4=?R?k7{DbmSQ*Is;HUyK zzz5!gdo@Uz1C-}Lxe2TSH0T13O;8Gj1QRH#AWnps2s!F4^j(G99+K#ehQB@R*!ZhS&g zHOT*49iZSL=6fiP<%p?6sR@=*$W9SP%?#vASg9~ zLKVaXn+aAAQVI@qkXJwf2yz8TDJ1GaW`iOLWE#{CP$~y|3dR6)APs1c0TAV&00LED zAfrJ31t|ihQLyn~lR&)yknPaK2P!l`n!p-B1gOCUb`&)BK`{@CSV)QjRdQhSKmiI? z4mAs8J=kZU*$Ie&Aa{V{8>AK#r66BH)j)KCBtR|%H*&$n7|3k65@`Ph$loG+w1d3Ep#|;z+;Iao~GRTb(|AEwin@?a< zLAefAoPkXRc?}d|pyCIl6l63cxIo1-*m6(;09g)}0_8f8dJqPA6O@-gSrgQP02>He zK?Cv*Xp#>!N&<=~@OlDJOo6NiIS-WRKr|>cKnh{m7?fhcB_p`L0o5R2pMi24D1yLs z4#+@I@Pph2vKd^MgA+AqL>OW6Y(4yv0#-T`?V zY&odvhA0E2Cs2rkEe2K0pwbz%JOWhQ!;A#qst6lTf{X=&nh#(RTH>90O>7)Jp_tt(CS~1ks#lJCdeVN2MQ`s z^9qDPNNQ3>kTfHDs#Ji#u6mENFG0`*hD z5f5q%g6s!t2MzXtCzinK!Ipz!4`d`nF=*Q+DCWR12vP(NO;D`^QU^*K;4}vsUp;a0ST%?P zUOx|t8L%V3ZA+*^uz$gc4=Mmk%OHcmtrAeS0A*B=^&oRV*#{i#kRSrra3IAXM}sgp zj6l%{NyVU)1sl-@6-y8=fh__PpnMAsC{Pv!DF#*B;3Nr2d|;y?-UcfJn+j^@gG&Zz z*$q_>@)X!mP|*jDPLQv_?gUv4@;Er-fifJ}OJFr16G0Y$JO%L}DBXc#6kHaALlvwY zl%F8;iy*gxj0Kf)(69$N0h~s_t^}C{4luC6AOhqrkiB3G(g(t@fB~5YY7T+RFQ{Fh zhy^JI`2|vZ3jSeXV_;xn_{YTf@6TW6&+mUSu(GlL`^Co2&hU=~w9Si|orC#53l}rP z-*3OZef#wFFB2CRH^;9p?|yLcvHtwS%*y!dHw*LkZ(n}1uyb?ri;Hsq`}y?h;`s6E)o(6-j(-fC%wK>0W?=vK>BApRAt6oyaS1_Y#=pP+{`m6l?Wg~2oPS#`yW$|35#!y#Mi+m4k^(P((z4`QKj#=KnulePLo`V|f4Q+2=n@>=J4c ztlz%;{Pq9u=P$qhGBU9635f}_|M|wk$?)gvhj0Ix|9^k-^4q7+zxm~41=;_8|I5hq z^ZU>5zkmGW5s;J#>VjV{k#8MEMMPz{QUOCX9g}YDPay4CMM<|pMQM)^5fTk z9!W7FHfC;a4z?f9Uj5?c{Pq3Y*AH($erDj8kmP1!XZ`!_$M@eqKY#klA}S@o&&|Ov zAjI(e=~rfkKi}WJfB*W`>#tnW;sS!a+-!`085kITz5DQkLx4|^la*UWmhI!~PybjM zetdrO_TA%$Z~t)%@bL@tai;IVw;p>OLf+B4H*#zX3rJ4VK`~BzV_kaI>etdlI{^NHaKmF(D<>KaK<=_?M z{qgoEy8zq&f2?9k^1>_(|Ns5?{qO(ZAMYRDd-n9%+aCxc>j=l@ew9`SmXcFUzkV%%akg;zC>; z41azwu`qxC`0mYs#ghWJz1UQ)4Ik}ks{by$W`TEYCm*2j>d-?hshX5xdGY2mZBNM})KmV9{_=Uto zxL7ziIarzguy8YdeRB8d=Wm~1KYP!>$-&6X$-~XU!uaRsKSm}_Au%Cdb`D-14#q!> zeB8g^KY8%(+t+tbU;SWVW@O>uJ^`-(KfeBEW@lkw6_yp_W@6?P5aDNK`1AAo z=XWn(yn6rU?WZ503Y}MgpZ(X@AOBgH{`}{aloa4(VdE1P767dh{q^z9>(_5yy?FEW z$M4_&*!hHbn7@7d$N2x}Z#H2`5gs-sE+G*?el}*t|KC2odGqe&vzH&gegFCEKZl4A z_wSz!jDLTA`^P0JCdkRc$|EAg&&AHc^#AMUkMCbUeevewmv3LcG75+ZF#Tm<{`c$a zcP3sD5nfhi4gn!P9xg5prr&?Qe|Y=+*^BpIzI^=fi(5#5gNcca`OlB9KUf4s_&Jza zc?9_QczJnQ8UFwM{^|A8r>{PLe*5MF12-QpD;ql}^RI7T{%{Hi@UXCO^6~KU@$ho8 zGBf}E_4&o4m!Cepeevo$GY2<2I|mOJ}>3uY@D1N?A-iBq-6FP^;o^z-Z2-^~0X{OtdJ{QC3vKMN-}2Qw2W1lTxu zg+(|Reti4>?Ze9_Pu_j`^y$kVc0nOtw*R2xG#S{qIGGt(`1pC**|&G_pR$dw=8y?OVU zft!zq6I5XQ{Ljw8%J83^hl_)ijZ;Weh>L}Zh2iIimoHv_eE0I@`=87l9K1Z7tbf1% zW?^Gx{LjM0#mUCP!Y=|UgW1>^zkhuF>cfZE&tHP7Sx#O)ZpI(KnOK+@m>5~Px!9PQ zIE6(7c-Yx_*craQd;9*=+ZWGYfBNxG0eEan6%iEVP zU%z?%;SUE74+rxaI-W1XXX*)tY%KqO|N6(y!^QmnKL;-#4>uP-IN$&M`Q_dF_pe?&effovje~=UnS-6_@2_7> zT-mj19WyX!_W86p1ywn>C2bz44mBT|9}5yW(F<40xei! zW#{1L6%ZEWWoKe!VP*LC{`vE_A3uKh_=AOuo$=p)CYJwy!Dn)SF1lmq<`WhX;AUlJ zV`KgQ?d^-#A3nZ&{pl|&8}ok#X6FBYL5E>5gVt5CuyF~Bit=-^v9NNm{r~dj&4&+f zUcC9vzziOHX9O)X0X5;7nHZVbc!b4-c{y0wIeFNBfB5j}$_*qUw``b=MQ*(AKaY$&&15e^#4Bt8^4G!9|tQZ zp8(tcKfk_zdj0(6yU*W${bc}+kAk{_pyOCs82|obz8$_{Z?`!|Ru? z-hrBFpe8FL3uw1A=rS{gKY#yo3JGzuv-1e>va_%-{r~>{)$2F!K7IKGo}6L^Uuy`u z72)5npDcWWeC+I8{JfkT9PBI%Uq8Kj^XA=$Z=iciK;Z*2nTd^!;rEZfocw&89GpD7 zT-+R7oGkx-e17-(^}CNhe*gOO7t(nD$H2>M3@$>J$zl=wB0v+5i9g`Hz*8ot=Y|n}>^smxr5+_1~XQ@7}!o@a5YN(B-wD zR>!Y@>|D%$|NLQOWo2XI;Ns>10bVXvhF>4wzkU1R^LNlG$PCO(e}4XE=3rs``{y6% zpf-?7E^c0KUS3Xark`Ivy?guN3+O(tzs#Uq#K6i5x>yjr^bvHS7Y{GE9Oq#A`StU= zcb~p~`||Y{Bh$a1KmIbYGBJVfbOkA8W9Q`L;o{`x=i}jE{`>92yN_SKeE$6HKNG|6 zU%&q`gKxM8ZI)zaW#!=F=H}$$n@6!V%KG3Ncpu_k6vvP8BvU70r@bC%>a5Mk< z{{8!>_ix{S`}6nDuV0W0MnE?%{QLWxksWjo3}+ftoa~@lL70z&@$cW?-#)zm_!V^P+RtBqnV6aXgDwaD|L4zt zCMFgR4t6#+PJUrf4aUgu`^(2qpTB|5OaAfeA2Tx(==N*yWb%JTc1{jfHVz(PA%0F) z7MA}%L3PKsAHRNm164+h;2U25{%836=MM`9CkrzRhk&pE4;LE;>+f&hK7Ic7Tz{1M#57dU_<>%++<>O)h z_w5_Vz;8c({P_O!_g^N4|Nogl@%oP$boD6%GY1bJFAtx901xY*A3uM5{rdg;&!3=6 z?Ed~^_|L@r@At3Y|3M3c{{3g+;O6D#78DZTX8!;C*SD|Vzy0{}{RikKxqpnzER27D z{Q)f}{r~qL0}DGRCpWK;~O0!@|P+{}1TSJtoF~zyC0Sjy~rW z5EA0$W@Y~SzP%>a*;}H-P;Nxaz{`c$W z_wV1ne*gXZ$G0DU8JU?u=js1r0-Z4bj|p`96&nv9p8y{x2lL;*zd!}qufIRPe*5v4 ziG`Kn?@v%^`~S~BMo@q-@kr*`}*w<6B{$buV4R}ng0Lz z3qB2!iH(z!n~#r=la-PA-!F(OfBpFS^)E9E)1RMz89}%3{bvGQJ;TJx&cP$V&&$OI z%G^IeSMq^E>&IUvrhmVGgZkf~JHVM3LHEhAa`5x>a&xeI(B*{;pxy`Q zx(gQ2F}DAiSh;w4LFt73|F2(v{{Q>=<;zddjb5M;KF}6_aD0NV&SGNch8& z`1OZ@;m@}(KR~B>gA{@P_w|5o7XAP4-|t_48JL+E|NQ*Rz|73V#Lg$g&%??LiroKy ze}nE60v(F^pMe2%cMd3NGXDAnihBlTPJVtqPBvC1#{W$J{`~&=3j{$?13o+Z9|IHf zpI@L87XCA^f+C5Ng9S9+#qj6XPtd9Szd-p1bY1ZuMo?1u1B%!Gj2zsciiVvPG(G+w ze6JA50sj~o{{Q~<2bARAl?;of&0y7VUzy1CX^4lNKa2Pmu{0Ci8z{tYR z&IwY<$;ry_??1!eA78%w{10lT{{{`9{RJJl1zNTG=RX58D+i=v;$UI;%fR^O+ZRy9 z{reZ_9Ql9XlcyO$ML4KzV&mjw=i=t(VrOAwV*2~z>vvEO;pb0~-Qam?X3)-v-@pGd zg08CKjv586xdlyzFn}(UV+8F1;^5=sWMO6lwPk;O|M~aV&mZ4^{RS=c_zN0{1D$H~ z=jUH07A7V(ZayA%7FKpnPS$_FzJo3{1r?&8Wi#L+=|AZH+&_$&^=Y4^7i`=aGAjH=Pxq{E5olJplgu-{byq1U}a|J;N|D$ zU}O6C=g+SnU%&nM@$=We{|tZrGP1F={s&##3OWcAba5&R3nvdBFDEl-p!V0d?>~Qj z|Ni^WzdwKev9Plen3?|n{rM9#Ucti5#LC0Z$Hm6N z0&36w{Q31KC`NyRTCGe>j4aHc7RAp$|CmAd53_Oe@^XQ49mBuhzd%*e@87?E`~tNa zLFe%Q|NrObuRjc+oW{h;!NbeV$qMe1fwIxx-#@>7|MQ=L0d!g}6DY_10gZAqGcvNU zgSwB*j4aImK_&CQzdyfy`vqEt176zA^bdTE0_f;iaHY%*x*d?=->)A(|Nj5;{oBu9 zfBu3-z?oQ>K~*ehQ3WUzSU9+OxY*g)*qHu&|MBbZA5iJ|>)*fspr8RYNI>ZWWaNKP z2Ib=58tl{rvUg2dKpWI+_|Z^2`LfSb+g_ z^D-wl4<{=VXq@~1uOHvO|M>Ca+mAn>bElahm)|h`|NZAbXo?7IKN~A(+0tLIe|~@x z)ZhP1ptKIUF_PiWuYchABo+>CZY~bcl}-OaH(vk#{vC9!@Sp!o%q)zIjI8V|4B*R! z|AT5UE>1SkJtN@aSMpbMYC%P-m3**Q2k zK=)aLZ@2jM`{&oM-@*F^7(l%rCKk|UU(g~1(4~9q?Cc!u%#7e`;r{*p{^iRLuu9OS z0HE3kR1f|8$G{A_Cz+jtlO5E`0Og?{-@bhR1)9kN-;~1)y1bB?;qRZn49uWg6gW6J z*;qj%`~N^KB2ZJ~&#&Kq89Gq_p>oyPPZv>c3yjf)Eu7feh{;Jo-7d`a_PP_lq*=>Sb-fJ#*cR(4JfHqf>V zP>}utoj3mb$M;`ZvRI#d_b9{%^|*Dp|2%gzoyQ=AzT!vFsM0VxC} z%K!iVGlP;iGcyx7kAp_Y*x6V?VxX}2`v=qm0NryBst=h#7oRXO{{I6i4Omz~MuG@X z8xqt&2i=7UTFUsJfeBPPf{yh0^Yh1#|IFYEs=>F|gBm`6{(!okpeu0xf#VO97n%P3 z`SAnPX<%h$X5(N1-Bb?h7J#lf`~|U{iH(hg3Dgbx`|HO~P)nZ$bUi%y$ZW{n)1Yz@ zw9@@QGYczdX$+{1^b?d0KVLH9+0t`=ehHEREW%6iaMEg*G_4B#7V{(^2h0A+g? zaFz!jb_gn5e*gUSj{!7@0$P>!4|Ky2C?r5zpFp>igXU+!xq*@4&yVlFK)obzT?e|{ z`uFeO|3G6Tpj|T{gF%PNgQl|o|NikERL?VlF5Cn4>3{$J4XSiORR?J45;HUCz9>+< zf@0*?KL&=szy5&wstll6Z%`u_d^jNJDqMCBP-l^a`TxJ)zkY&RYQKN}W&qtj0&19m z+Hs&MXV7FFD+d=F=;9>s^<2L}O-oR)f>z&vCY8Zy0@Q5($H21zlAQY7zYfa82^H<4*34{J7_2eR4;)NC`be7jvXd8RwgD^ z4lXV(4p0;GFQ`=f1{xj$Cks$>8KmPsXjGbw8K#gO)Z6&=>(}@1VB0|#h=DBuwQ2tT z2W4tjP7Y2^E>N)p${xQ!mD0~&pawGwsOtm1P3`wzP_q$Kih*WPKwXA^piap5?>~P0 z{QZxKg&EYX1l{Ki8YKah`s{3=aTm}i@_&Z^e?Vj6-@k$S0W6>~UeGdzf1m|KOiZlo ztn3_I++3gw;y|sWAK$)y{rVl$R036Tp#Bx8Oa^UQ0^R%s8W`gM-K@*>_vg3o-@bkS z`u*2mMkdhWdQf@wp8-^3fNl`r;Ns!o2Hls-{QuXFU%$S8{rctmAJE1&(Cjt?DBFQj z6Duri12)jj^nZST`}!5!Ciw;GRxq=$fZ8ui5T&f3aVIWr4i?bh)<2MsKtnG-e*F2z z1Zt-< zaC5MN?xgwu`^UG>pTB(h0vh{Z0L3Wis5(~A*e$3sVPfax=Hy@nRSgV(et!M-<@1-% zU%rF-R**HWpyn#*N(u%BW;W2oE%+ikhTkA}e);nG%eSAPMiwJ9S1^N0b5K*1or9f) znT?H|8C0o!|NiaE=da&?f$n!?fK>A=>};T78+1JzD=R4Pv9U6ODzBg4zk-4kREmM_ znP+BZ1=U)hK^I2Qjc2T&TZ35{{{8^f$KN5I2X*>E6&MQ}2L~ItmB|cp1}ifgD|p!G z_phJdK7aiI>f!taU4p^D#Kz9S0cyd4Fa2f(UD(UU^dB_R@blXj&=}3n@4p#A_kb}l zgRcz)4PJwGp@3>eb{3GzKYxCG{qpt4&tIT^0I0qHp9xg9v#_u*Fn|_EgH*DxfJ%{n ze|~|Qt)NB@sDb(aAIMBL&@N~u@O9&?Y@p`lU(h9gzkmJs@dMO!{S7K+z~eWptf2KR zpderamB^ru1*kj%nfB+`_pjd}#Rn*4*g!h~m{>tqG&6%e{twi!`1|w6?>~Qjd;yK+ zFoM%Cs9gtX7lDpxWMu=5(t?)E{QdR&&+nh0T=(xEs58t6y66m4T`+;%$HdIS25Lrw zYKY&zAPRr}0$<6;0ImqwKzEUYCNG$n*_fIBGl3%>R3Cl+1{xLxRrUWFnL#a2P*j3O z@c)66EHf(y8}q+E{}}%Mf&tx^F*0 z1tNGLmXj5<#+>or@4ui0r=b1?JE$6G00sT$&!4~j0*#$AGP81Uuz?T$0Cm7YM|l2c zVFS0FK#kMi-@ktO{2kPj0{I8jpkrZX0axS<41XEG84H{s{{I0DV|@c9PjG99jRkbQ zJ4oe!&@l&~W-B<#7(k;pp!V%A@O7a~ENm<+pc0Vv(2%P!kMtxge+xWd^s3 zK_Lrj9)iYBe}Tp$!Cebbj~l#@3^Y>544Oas$G{94_Wk|y*Dp}B9n>OWU|?hgB{$G; z5a@J-|DZ(61j#2%pfNX4%>?PEGlB2D0qrUPEvNtc_dh7%GcYo;vay011b_ej{Ph#O zPLBapHh^+FXulKa-oU7}U7{T~_lGoIXH<9t@z8h7r_;VEFg@4+Ar(2@2|x zv49rpftpGG!IcKMg$2r%pmCr7|G-5$Xgw6zTaa~nkmaPH_7Z5a3N*?HT4@OC*?@*o zLED_cT?z3BER3L&n?V~&z^(vw9zh0!dMLj^JrRa~;D!b$%QJ%7GNA4|$QhtHJdo|6e#f8R ze?UDI(3&w&`x%rmL4F0TL1YBYj)3pD`VSgC0T20sMpQtXxIx;%d&WTH0gT|iUZ92{ z$YmfU;M1Bx4Ij|d6%(kb!3YXZCXhEltr}3cg0zF$K@6b!78F{b3;sa84e%*744`R2 z(Dhr4|Ns644}AXl2RaoMG_?o1;_6R0Z*VuF$iXo!jt=n54xif zl%zllC&8ryI0b_`8K6-Tu&0>7n+5*<{sn3@f!DPD{RDZ1MoD{e+wV0J`ZC zROW;70H}NeO^txYT|qtq)w|5#^I$<<`v3p$@4tURY5qSWBY4~eWGgr+gL=74;FFL* zGieO}|NQ|a)4!m|1_^*NDQGqZv^W)9rGZ*%kZm=vECw3(0A&G2(2{!4pbe-q1_}gF zvIQvxb<;tOMo=~el?~t(xFAO|LA(XZL!jyr93>2(EDj0=P$+?RIe`a4Kq^7rXJ%vo z9a;eD1Aw}RAm2iA3@EyoAlKc2)&_%|06HR<0enj{xIBVfI14(2<}YYQA5=$y*3vSA zFG2+y_!o5XGpN-LvL2L9K$GyG1Pd96Vg|($1IS6BCOq1AU_t%?m7kzOfe}OKXRE>huBB-GZDm_4V;j%I_fRgb)&?Lt%P_Giy z?PUP%1qG!wkQUHAt>7jUD6BxUHlWcVP>6zxY)GO6%^)y>3N9w_Fa;|M3n}>0JO1_aH^^#GrNs=I0R-g$uw1Jny)V`XJ$Wdxl>_6KxDGiZA0 z&p#&6dSFnLK=K>tayWL#9n~Nw{rw9XmizwWC#c~Ds#QT98_4=(P{$v1TP~=H!T>s6 z4Aiy-jZggr4IzTEA}HGb{s)CDD`@bP6*OhT1e(nH`2*CY1&yD8Dm>7I1mLO*RBM3l zhh_%1+(3Q3-=O)8A3s5DC(zIUC>+7_CJfBXAb*2abbu}&hD6ejpTB;A$0)$-TtJB& zRJem?^+2sSPy?G4)RY3<d`ZU8mO!+p!(qV?;oI! z@=wr&1gIzl7un3Lpmrsw1P9&V2eKbjPlBcZK`p{Re?fIGXdeWqHx0Uz9CX4tD?6ws z05TJFlk#`als2eU1X=|TDu6*pzJTtBV+Rclg6>oXhyAZ#-+zAp@%`IRP;Cq91%Spx z86cw>pv5a72ZJX0|AG=IXqe#VZ_o*IOst@u?tf6Z%LJa;;$R1*5l|@v${jy`fJeE1 z{{i(bK+Ox#A!`2_SlGEZ*+HoZ)OTfM`2XkEub)4@{rvss&#zygkseSj&jg;c0}sxC zT8E%r7NB88P-^=52TcC{4LWrN6gK}E7(us4v$BFB0HhLh91>{C^Y}n5KtTjr{scPs9kj~j=Pytd3z7j!pk^+Ok0FoF6!puP-fpU;2r z^wfV)(-7S9WCD+&ff{=MK_wGtE{g%Yn+3f30%SEv?(g4!jG%@s*aT2!0=2+EGwq-y zRG`iSD2alC1~j$_THpiZ3ItHo3DhPAo%920 zdxFCJH)xFnI2VB0cc6M5)Ta3hZVZ7E8YroPk_Py8bx0)+Y78=ix*p*DWT0LV$P!Qn z0{IVAXZ(c>wS%r{2UP)oLFp6}O(31%6bi}X|Ni_1jbnluF`yYAP*3IGU(k){pi~ZO zwJ}4ku?5{u`k#>rG%m&r0!$2`_R=5FO_-oT7f_x9UD^$5Nd5T-axkb11R3B5)r;Ut z7UUslo&a5F54xU|0W|)_!paP)KUtW-c^TZs0gdj1N>EVR{`DIi%l|<=e`Zi+&&CX@ zQ9)~qKvUSD5+0P)K=X2-ds;vpYS7FMxG)7Z3PBa)FHlhnDuF=lF-WT&)bfIiBeJox zv$3(VfCeE!6Xm~t|6^bRUmpk>c>WJ+$$`={0~0f75)L$61-``*G)eLYRNVaqwZ(sf z25jP;R9+m{sPH@A`#S<0(JW!^&&GH8wWdRV3HNoPylykLF4zJ3KV?q4d^s-&?ab5 zwF|22Ky4RL#}c$^=QpU#1<#s+x~QO5J*bHZ9Zm(+-r)8I)4$(8!PC0nk{q-+1e69q z{YcON9jGl18u?{qWdqGD{`vJA)F%1)`}ZHvDk9LBJt$eTfR3#LX=4F3iI|xfLCdB< z;)C8&+}8`O3HH3%W&AkdNr zH1@~>o?ikbynmoOiXlCQpFe*70cCs8R350<1GOzdbKBr_!U!rDK}%jhjiT>Az(bMD zph6E+Nq}^)FoTAtIY4zbP)P)-l0a=pCN_3XP{4!ASx{s6_s?(N zKyAFgpc0CO4K$4j8nFcpU$Jp;ae$f{Ow6E&{|#CO`~BPZU!Zw6NDmE^?!d!4;9>-P zu`+1Z9u)DQ#ht&vg&Yez8>ov08kz)+|FN^Nv9N%~iJ2Mxf?AG0zJ2@t6SSroG$79k z9>M_it03(mX7GSK$orsC;qTu;Yt29_&A>?*)M5o)$pfk*L8*j|4OBDz11(AdO+SO0 zKS9ffKv^C%wFnx& z12y}ZKpiYbkas|{A)s;ul;yx(wcp^v4%86=r+H8%%n0faaBzUa0X!uA>nErT1s!z_ ziY3rg6sQISjlD52FtD(L%1~C&Y{YMHhYoc7CTRI3XmkYBvH%T_gGys27BiBxnTS?;r3W@_&$Tz|B`s#~x%9 zC=r4z05#M=^(g4dbx<<`WC|$gL6hm=F%d{(ff=+{0_;lg-RK}^f|i+p0w1*P0Nh#t zHE6(N(2)8LY&EFX{0C||A1=+(2-Z54l)a<*9024 z1C1$z+Har=5?nWdh9E)B2+&v)Xz~qo%Q$%a2~?khs~%8s4c-e29@PLv6=-Y{yc`0& z>=RU@f;Q}e3j+Vif7QQ1o*mnP=5{5XkY~;HPHRqput1XWD_Xkf@0}E=-P46 zDAzwwHwcuIK~u({sv2Y>s8|E_TR<}ypzr`S%s~t8L9J(yZqS4lC;~wB1lUASQwJ2L zpdbN_JAro#gVsO)1{JD|piwYzEd^=-gT@R&V|$=@2I=|xpNWwHwCV!fH2`@IRQ7@^ zU(o10DDQw8e4rrz4{A<j~sXd@VwLys#wCINcjX5~3YsnfO^ku+aZthobq~N*E~qC0O6-3?%@|M%3>^5(psF6!*a4U2 zpaBJN#l*+}+HwFY&B1*yP_Y0CdT=8fX5z13;PEpC&}vlB;sa3Q4b&t94bQQGn_8ek z6VwC$2^w_+1p%lL56b_b+JuD#v~&=x7&IZy0A2|63p61BawT}Z2*`eL(F`hZLA4lo ztuzB@u_&m#2aQC7J1T!b`wl>6f|}Q?AV;!-y6=pTmh10dfBu2i(}RozEsX=M*<@h_ zwJ<>y4ru)tcsU5D-2xe6hZTOHt{P}q0kp;sQi*{kB0y;uRP6s_WB{!m0uM8Q8r%$^ zX~)D&a~ZDC?(12x5AN83yvcOCKk{#NKje=^?^WRevtYb2So~K#PcVpHU1mias^eSpsqD&I~HhN z0jQY?S_%W|eE$CP3p9ib3NBEtWMBYocmOSVU;M&+pmrl@4e}4rQUUNnR8Xq|suH|%iw(3mg^7XT4`_+rcTgMi$1hNG z6r2q~g(4fISOT~5K=c2g_4_}5eEaqlw3Xy9coY@1Z2(l|v4Td9L3tQ5Ck$G+_2c_D z&?+9#1UP8H&3{l%2bHqmO=fItptKKKA_3aO0a6HBLux& z8j|rpXe~RqZvk3?@E2U@g7!}^F))GyAJonP`3cn0`2`x91g*CLwe>*F5m4F$_1QtK zAyDTR)c<7xt!)A?)c)}UwA1J}D80ezEbst38z}U_wGJyvm zSipW^XJ-cu0kD8_C#bIgT7L|(9o+W>RcfF{F*`fRNDlA{GSJ8Q_!1&+?&pt%+B zWGn*%sPG0wC_A{!0ZlW4ilV>2K|Q-);E5Y>>I7Bd;NS$S1r;KoNhnZu1dU^YTBM*Z zAn0ZT(2_Z3R?xsPs8;|Q1Y!ggTmL|1GN=ps7gUFXm*+5nlL%;h0zAn9KKm0?{DKBL zK&uHrYu#Y2OwgDlsAIzl8hQoy{6P&f&`1`jf&on`f;JCt4`?g_6!wge+K>gj-UvKO23jcxIo}ZEeNfQ=ig-}N0@PRqH()?VLW7!f z&`1WY%mQs=0Jj%F3PGI!P%32xO=E+GPyd1rUI4WRV1s_3*aWx77@^HfP@5F8_X9MY z1Zu5-n?m5)5IkeZ_@5E9o{^0O)N=w=rl3j{)Ixwn70Bt}f*TwtkgNgfVljf|pFqh2 z)cgXqMnIkh4QGOy-Xm!K05r%08uS1)ctGw1&qIR;nwdbp z25l4o-G9CxK4C0Zp=i+jw9F;07|dUL4^uvo(|Mx z0wphy6F?VBfIZ6yzRICmYlf0i8(+YTAO_ z0ZPlDwgG4`8yuvd799h)p$uxlfYyD3f&e@a016LKJb=ssnFBHdw4MtzZwhuc$Xd`C zD@X#=7Xl4Ng2DzgL;y>d@d^qw@Ci+zJOS<)f>wQi5*DcC06IJlG#SYZ zQV#AZfqN^U79(h?2;z0fcr3V^0SbL+e;JgeK*2MwTthG9U9_CcWvYUV(jqM&vgXs{X7djrKPsId%M zt`DmF!M%I%WE?AKkONepfw}>p0Y*m9ASK90pn?+AHUo`3fQx$2s26BCCCI7Z+2ntq zi9pci$zR}3E2w-1HI+e4N6=Dv(4s1E5&_Nrf^7#4R)OcYK?5I5ppXJp5TL0SP(XqD z9MCyy&^Qceju$lh47MBGieO~{ogD&-CeZ0@;1mzucmry1{DU-@!CiV*Hqc-%$j_ig zA~-KF{QnKwzxW5-PXosWWOXHY@DDTs0P;FG8~+2(b%ER2pf$Lly%(U`6I4-v2kAkn z2{JtbTJi;6vkW@F4OHy1v9hzWGJ}@9gQg5Yia^^xLEX~7;5|Qo!Bq|;Xt0%y4V<1p zvs2)J2c;-b76Pxr{so$1WB?s_0BVzfYfl!?Mr6?Lt^bfFC8+TV?gD`)O+gFESU_Xv ztgN7sA5dTMA0)5+0uK*@n!%u;055?BEk^@QF0!$)vx7E5g33uyB>wmTY7&F{A0Ur| zN=7CY@N^((03DR{K~?ylpT9susG!Nf-=N`m&_E|Bj6f^O+1Nmn<)Hn&4502NXkjU6 zAQvLC_*TP$mFP-GFBDLCfetJAGI{^%ppZ z{`>~j$Ui}&WZ-oLpzO{H9b*Tr&jZg5{rd+FM$pIysO|h4)LIA4SV0;&pf($L&YM)g16qIp8pQ?`RG_gTP;(Hpo*LAIU}XFUYBqwV(?PupkOpuC4C--$`rM$d zDyV(U1{$va{p-hfP)Y}7G*AN^(#8XoDxe$;as;S-51Qi#FA@0u12Q%T>e_Viph00yQ1%3EA^>gu{sxXu&{zU^77i5Apb>diP}c@Db-~I6T8If+ zc>q!g+O`L3_JEoLpr$jZyTk@ElMPhwg0|oO`T<(l3mTsU4NZdD&7f{ENFAt2#>N5a z2(W=#tzh4SmI;7%4uTpGpt(;_3IWXmfE!w%_8=(Jfd)oFrh@kvf|lBVi*9i17c|}m zE*wDFgb8$v0ca=r7tqeR-=Ic2XuK0N5)4{e2`+G0!KE%pC1}s&*YDt@1nR7U#v`Fk zJJ4zyHg-0UN>E+`&AWs4&4Km;g2re-0|SuJNl@1xR5Y`LX28Ld44~b|pw>00Sqd7p zVgU{HfhKrCo8v&eU+_#6C?`P@JZP~nsO1Bm_XEukgDQFOYy=w{8@LJqH84R9=RcrT zJfOBHs4j+-{h+Z=(BLG<*`PKzc;X1ulLqw`LDM&&)*xtx57Zlll;fbL9;i_PZV!W6 zq@ZdJG(!ts(+6%Cfwo1mfLg-fTnDN-L1iAOdkLyJ|AJbrpb=q^6F^P@=>e5t;58=T z!8*{;ENFxbJj(%UHG_tQL5s^kH5X_M6ja@V4z~a`TEUqU)cOIfe+Lbtf*R1EY8|wM z73369pBvQ31#S2Ojeda=Jb2{`XdxD8mJ_sa0^EoI4Pt;>_Mqs5OlyI6#eqx%x1k_S zAyDBAYVCqL-=KO7)C2+<3K~EIZP5TZ06dBV_BzOFPy~SzC@8!^Lr9>`F{s4=YU_Z; zl))7TXqXM$#sxRAzyo~XHV|lY8mKc0YTkef4RF&1)ZqvD{_j7C%Rw>CzywYCuK*NS$GeN-#-sT1xTm)rN(2^ohM+MZV0nHGB-3sn_gC^`jtu%1C1S(8GLqedo z0jSakuipbT20?KID#k#a5KvbIw3HlFv4g9L|DaVPAdiAtr{ECC^$etqiW#U8&JXn4a|c2b)ZNAdlnSB zpaCCHy8$Et@)F34|3DM?;NSrUnSp%=8iNL<22j%)q!^TPKxaOH+Zdqv7I2vXas{Z-4hn2g)PgW*`T^RAU;=G( z15Lw%3K?sJn{{yAVHN0q%#gGUqBOT;MsX_?+SEA0ca!>lw?5Z0PI~* zmjN{015yg^3W53~APgRb1J%x;&Io8;29y&(Q3_HCO0u99IjE@xYHfhFfqH0hyfUcv1MJ=cx0QJT|Gv%OE2y!P2sM7{g2pMf> z0wr6JI_PW+Xxs=CQw-oel;DXj@L?XH(SOjiA81AZ>}Al1C$!pS26yT~ML%fQ0K`Y2 zMij^&pu7SqQ9)f3ut-(G%E#Kiw7Ed0Q(Il#>1kfM|cqs&En4O&y)Y1aC z6Tk~(K^;TTkoaHF=p(d+56bRLte^%SxJd+xQPA)nD0_fsen6`(K+QtXtQ;u8fm&st z8VuaC1NGiO&2IR;Rw2leVft!7Zv zgA4{u#Dmf@I|m2E`=B%r%1EFkTHqBmpmsTUq65_G0C@>CK*!1gy2}T&iUd?CfC>fB z^bsi4gKB8-94}~u3^YUsT6YhwltC>A&=@jki5SFVpz#{;wh+)hA<%{qkmcYZ6Hu!a z)V~CI3zPxCQ`+D$GSEIyR`3J|Xze4YTn2?Xcz7Q)sthXBz_}ben#altULpso#X+OE zpxFwrzd!>`pn?}vM?t&<+M5L$paEqLP`H2!anNiUC|7~H?BH6Lg$;BF6{v&+k9>d^ z-GE~dRN#P$Ptf=csE%W1W#{7L;9z5CWrCC(pxJa#$bkAx;HjwJpi27he z8z_H)_78#*J$Tn5DC04J*W!ZuYoIO$xF!Kb5vc3}sRJh}&^Q68xB->Le?Yw!kcpth z>L3$AJz!8318Tv8$}muM4jxGaoelyT?giD!pp*n|8iDF9P-zDmMgvWFiK;8!(+wt!&xTOLfOaXVUz(Z)Do;RpL0Lm4h zPzR@FP$L91eh=!1fX44Zc?eXkgKBJ$m484bJZOpuEbOFbi5?1uhZ)fE#(R8W_|t0x1Nw7C<==RK zwg>fn!Q)NfW&^0)0%c3E>p>y#4>WxI=MQ*@02Jb&o+oI*C@2g;?Oaex8e}|ZqWsUV z-@ia73j6^Npn=+hpyCkJ$OI1*f{G?kT!2Q=|A2cVe<0@tfkGUVc0iRer~w8t8`>HK z$2@4P3pCLVI@%n%PXL^Mz#Uyk(1F|xnRNxPmWD(-__PhsfEj3{2-I}|84Nme094X~ zH^7060p|r!sRJs9L8CgL<}SEn0E#Bi1UhIb1*n$}+9?JqeEvcXRRmRtpb!NI6F4)2 z+F1}sfyV+t`a!FMK&O;|X8FNO%E0sd;35&+umr7*0;M0YT2R{u+;0Z;NI|<2!KE0e z7zeNQ0$Bu(KJZX2r~w7)VS?7vfQkrE;{sG0f@U;9odswI4OC%*{12+|Kz$?7W+>3) zBWUOW>|SuFgV(}>9R!LY(BKLyctHfHhX-2M0#1LRIDxePK|uvhji6l!pwl40Wdx|y z2UXtSkp)n-4(<(r-2tx4K`Vto8yZ1X38>`&D#1V|fddiLP6aiJL0J*h+yEsCP;n0G zwSZPGL-GzpDX5zQb}`89pdC2O%%B7S>Jfm7dTQ#e`g^o^xG8r>y6&5H=|NaK$>t8=X<9`1cKpQbZMGvSo0BR0` z#;rh=31~3`sI3lKoCzLu1eZP_gFr(eptY{7phhfcfhDLG`wME4fm#sYQAbc|2P*YI z%}}s2S;1SaL6HRVI;c$q8lD7Y6;M|il8?ZHq~H|A1S(5GIS^aQvy3tB1w zavZ4d4~jKVb^;{>P?H3_P6rgPpryqipMcxKpjrvM&lTJi01YC8nns}d4rDT@;|vUvND0lE1fsF?#^SPL4RV_{_jjn4iD9ZCqQX@7xR1fccUph5yv z@`JWRgZ3_ihTFkY7~nBV(0nau`v>TJ4v;y$aA8Q&4vW zl$gM6QBdvy^)A4}-Qe^N>RNz85u7bS- zb`XNHIB0(iXrdZ4f(%-x53ZFV3lRQ+%LQ(E{p)fr1eJidYgvB(0<8=I^<6;O1ytvP_K!hS zf`+<5B|A9KL5rrK%0OKwP-bKXot*-5Ckwbd1jP`z>;$#OK(PZFCILADR1dJTgMt&( zuLjlIpb`$$)dv+bpa279dx)vv$#T&0RTj|UqoCXdDl$QJ4ah5?ssdC!f%Jiga3Pb+ zkXj356{sKrwYxyk3reCO=Y!e@pvEm|3>CC<4zwBxlypH8wIEM}3^DW09Dx_>%qM{P}>mH6aiP-pw=EJMg9gAT;OSD&?qCM%LZCS2^z?O z6rrGrdQig+WErR}0BS{pGZ@HkATvRA9eAh<96+G%DL8aMwHs*e9JFT|9HXFi0H~$~ z83^$=sPF`ZEU2*$t}(#fdEQT;7S&3J7`u9 zJOKzY^$&On4X7Cp3RZ|yK-~a{{UG(AUSqW zYXuV%ct!)fvSj|_;CqXkmph^^@05auAo4N=KlT#*%k^J4F^Rf$i*PPgO2h5tttXn`JkmjphgL3 zhdsEP2F|zOVg_LXoLCZ10VF_;PfnyZZ%mXO|r%O<%f(HyhBQ{{e zK)oPvyA0fL0*#S_Dn3xQ1g-A{b#XxhiJ;aSXuU3|HU@?fx8UI?a3KmxC!qDRps_Sa)&kcv;I-1Ap%PI06*{m2Q3jeh1r1Ju zN)eFVjG%cu&~PTWRRXHDz!rn52#~ix`)NSY4r(+)C#}IHsCf@sEDy@DpbFv7?;qbm$JqXX4I_fq4}wO{K|uy-Xn{&ZQ1=3Kgb}z^ z2=Y9r5(9S`K(Pf%$DpB1P=JE02Mxc0`vagN2s{lBP8i@JDlh>mk3q`?KsgDl7(7@9 z?$3hE1GU^h%L>4{K!-Ph8o`jhB`D#625~_>E68LgG$n&P1*#rE5ekZS&=NV2La<*z zVGr5@4jKSr1)X^WRSC8mbg%%pAOW=q!Gk5B4kf5f3Mx$@ZEVm{0pNjI(5hU}fF~%J zz=02qO;8gGlruqVv_Vb1U!VpQXoL#Xv;~c~fs#8Yvw#K}Ky7N!m=0*}6ddp1VG;10 zE-2VRdq6;O3aZDzQwE^41ZsKw`v;0b(0&Eblrs28GH~-0R8WAz9W;Cn@)D@!0VLD%w#Sx_D12vjKYZuu-!!RI)pcXE;I}EOPK)p&()Pwq} zpwt9vUW1A`Q27X|F+gQ2s6_%gRq)r(AD{yZK=nLGDR@pDwBQGn)xpIINFm6zkkyvI zKpPuC{a?@lT%hGFpr$y;_n=Y@WI1?b6tZXmJSEBqRS0UqfD$OE^Z_?2K}|@|dQZ>< zJE%wl<#o`p2W+5N2WIn96;+JK$SZp~&H7UVK4^+p16ELVV3TcdiNRT{qzZ~S{5HhGv0L?^zI`*Iv1ss;()&gki0y5SBYK}t2Wk9VVP@xYh z>Of0@!9fTb^#iYC12rW;BhVo8L5)XHK?Z7-f~tH_hY3`@f$Ab~K>#uol*K?*J;>jn zkODahw4oOi)Zp1C(1Hk%LU0ZPtr7wc62sCwIB|e%2i51G#wh5XS7=ays%G%0E_fId zbo>CQ2Lx_lgZi4Fzy!CYK(#8Uy#}x4K$#RAf*@s}@&{DogW6G`90qbIsKNtHm4f00 z6dvHj4>AT+nSdraK^B2pogl@aWeeZ}3Y48dJ^>BzfwnY&6@t3<-~kYDV-^(ipm+oI z06-Rlf)O-r14*oZLF<1(AqPH&55xc^Q&2+^kb(mMWGpB%gC~Q*6Q&?_pkfi^Tu?dzt(O7E4JhV84PwynAE>%dTL+v0!Q~z}9zorENUs6h zo&}|DP)Y|UYbJ;gXlMg81Ou9H0Yw_fMsO7aBA_`HG~Nro!UEiL0}X+I2k=2j4U~+) zu?kux2pw((B@S>*g1Wij4V563;6evvGiZVrgBYMB0xBXvJ_ZfMfLf!Vc^Oav3Lf1DD*|OZP?sOn!2~%Kltv(pXh`n@ z)Juf)gg|Kt6ldV3J0ypKOCQj-Yf$eHnlQklPoQEDQV@U!X+gONT9Jb@AjrL-NP_we zTu^{AF2uE<)+nTX4C*t1(jUlXP)LDN2Pi#(5(vmwpn+%54NahtU69K_=>#-t^#_~_ zz@1G{xH5r83&E8RX!snQfm88q_j?gb-+|^EY_yDyS|3 z1rpfbkm!Q6hC!|bwKl-n7&P4l%H^P_1a&IG-3L&)3rVw}@CUcuLCFNP&=Hh|K*0lQ z5Q3ZGpyC0P9YKBqr#{fYGkDD-D0V=L7(s1eP|^nZ7#uqwAA@o|x~AeGQkgb`FDgVcaB9O#rX@L(Azc|eQ=mt&wn z00k!4Oi=XzDr~@23Unn4sQv&ik^>dHp!fkP09B&kI0w~Ipv((e90P9Of`SVa@Sw$C zp!K+rL=37UK`c=D4R#@@Q~*UhC>4S04v48>UqQN7pas*QOaaPlNNoa8iUS1?IFEw5 z0idc6v@8m|z86w>fMOC{Fo6OUmHAukycyKWfNm1Y`44l+KeR@!v2-LR$ zo$(54<$z)nH2ecfFOb3(6quj_2h?Z+)%xI~5Zo971tqxV0@og(_6jIaL4&T~hyb4y z0&3oa4on2MGe8D{+zBc`Kn-_ru>fv!fKM9%HHAS{BDBQ{DMLVM6J#wY--8-wpix}V zh&*&=1yXc_ix5zVLTV3?*TEB_pe_Tb;|n_I6f|)PQU|IDK*_OoLDtbT(6ttHc z>?6>K8ML_q@d(I?AfJPR1JscRr%mY4066Tyy-JYPfB!)?FoMpo1+N1HZ!-W5kb&Y8 zlsUnDRcJN>9d-gbe+}GW1J!S!HZ`a^0nwnc4w_Cu%0XEllmH>4B%ss@G8N<@C=F>5 zfC3EaT*%NGXe9$E3xoO!paKXy5(O#+L1i>(%?~JvLIzww-6hbNIJm_Nwi;qIxH||+ z&7cAil%ha>200Oww?HHFpw=e?BdC)G9;pE}pFxc_s8Vn)0`Wmj08rHmaw8~mK>-FX zt3X2qARmERupkAXDjM1x0yVF}X$$0jkUijZ3~~S{BEWeGBm-JR1yTkv4#Wb7H>gGc z4Q7Jc51@JjlmWcBJ+MF!8DMULAf1N_<%ZZAk|>2K*0rS4TGvk@Tvt+Y=Nu< zbu2&?IJimydlFJoKt^jogVta{u)qF+^FAo^fm{qq@Sw&pr0@l0D^RflN=%^U2FR`8 zDhE`nf-)*-Ul^$H16AT6BSEV&L8gN82y|U8#8gna2Gu$sUx9)R6iOh4pbP~{H_!|N zjag`rf-)9JF{tbZ1rMmL4{kYvTnQ>ez#SV2=W-Hx(AKtf!Z73^#q`%7$|9gk_EVe0LMD0;0OBw9Os}7`=I(6l$1boV4(IQ z*mkg5uu~x^1T^FZ9@ql;8$2%pnqPz{2Sq9<-aymfVB0|l1%N6kMsVPO8aUvl%RkVm zKHx9|wTqZRXMRE_Zo$irK!b>&5CZL02hH1oGXW@-F)@L*|AP$$?a+cYEFn#BkUPOf zg5w`FCk9%*3UVpPOi*PH9{B?)1_c(V)BvdjcP&6O@t^@`@WElAAOt0LP;i22kgvcA zg$Xo%3mUFrg;b~D1P@jM9?t}|M?tk1D5-%m9V-iHMgr7d0~H#e)(B|m4>XztS$YCi z2TI7Gbr+yK0*Zams%B8T4b=AqhXbe%1r_&Tg`jaA&KexoH#*CwLnIL zQa`Aj1sdfAb?iV13ABd-l#W2XdC(Flkl!E;36Q`4fSPWgxq8T0FL=}mx&j+CS^{!2 z19aRAWIxz9;PGonfdFy=B&UJvJn$43cwqYXZ&0fQw8jzCH3caKwXr~n8r&5EhZ5ND zAkTyB2MvuvYzG%Jpu!)Tt3XYBP-`80t^>$tpu_68ii6aE+yb%!GP@3*VF8&8-ckh0!(cTa1)vxOH+R8}5zxRiXa^8@&ph~; zJdhfQ#o!@y(7+?80Sg|+1mBp|K;6&vWF98i9Tg(JAI1lLAj0#w9>^QVU{$&q{zO1a-bal{v_bpaub`{RpNZf}oLMkg4G8 z463|9>x)3u1*p9UG71u^pl!UMBmxd0P<(?1w?IAxw`;*p0kJ@4f*Taz7=^Sj!L>ao zmcRurL>0uzpi&gn7y?BVXpo8#G-C}aZ$Zs2NYfM)3ZSA4)HMYg1PL^VN>FbQ9Ce_~ z2TB5#ZP&Wb00i_gBID;Ax44?~iKm`vd@IVO)Y(J=u1yv}J3=1k>Kt&q3 zJx(+ znxN2!w2#3xKd4ZH#1e>v7!2x%f}9F69h9>`2R48zdr;E|pf~JhX2_Llf0#uZPiZw_+1r=4G zs0SGf(g+GE&{9KaF9=kwfx`+MnxHNLD5ZjSEr1*cYCnUT&LB1@g@A$^eD)4VHAEpe zErZ6XK$#QNDF%-VgM$Z@?m+7qKng*@4i0f}QwzL74b=StB?(a32wI^6Dm_3QR!|8K zYL$Wdf1pu6@cJ*%Y8#L_pe_5L0VqhZ53(E-Ibda={Z5d40Xm}qyp9D_e}kGspj-h; z8ld(lr~(H~v4D$9&;npkg8)3H2zDbVjj%)eZ6zXo4R!C=RZkKsgB1 zcmR1Gk}SY0eZb)as%b&34bbp4sF($*0ky>uZ5*&NP_Tny8)7>+v4P_UWGpBwK|}0d zHQ=-ZN=Tr_1}MFOIt&m4LF++5`%J;@R8Up`+YQVJ3vL956K<2bSK>*FipyUo}VS!2{=)P&t(jZWFgoX{MzyXyfpmsYbBZ6WR zS}=hIj9_5{T4}-nu4uuQ!$z>d9V$>029!R)1L2?)1U3`w3P`F02Pnv~;N@{3%R$)@ zR4#y0AgH?zvKA4oQ5F7=@Su3N6rB zAjF%X!XDIQ0Ap~jfDmADP;~-Mh9ILs7!*^`fCBj*oQ6R@1BD5wwE|KD^%l7O0I8Be z!4HZkkd0u!f~qPI1LS8=#R!TQkXCS%g8T%=(7F^9=3s^3oCR_{OeshJBYLO^_X+hy=AQL9>xy7eNI;nFUnEgN+3#1SLnX5uo}Bq#AU|H^@zp*aD?_ zNKya=8%P{f;exhlL8@?&2v{YgnGH(MkhlXiaUc~gxcmb}0w@eXlHi5?p!fon|KJP- zTfht&r~-v5IAMSaa0S{DxIzgb~92EGlECe24zc-<)Dy+#26?LAY&kqf*0gYkSxRlAX%_Ja0Gzj zA5`*yn;c+Ifjz(ovJ*Ux4~}}69#G(bybp2&s3QXP0XT#}szK(0JOJu#fzlJW(gU?K zK`9&*>7Y(4r~n3~Q&6~roCNAufL88;#>qg#Dxhi^qz=?H0yRk>Aq?^+SS7e^0B#k5 zt6cCRd{F3s8iEk}Aqfw(RtnT#giKz64FpxYpm6|D@Pd_s`~&hmxOoDKD9|K0L@A`- z2T}!zG*AiwjcS4GJy6*Vt_ncaF39(wxj?X5klmoB0VqB}9tUT8P-KIv4^UnLr8}?# zKqi8fg1dj9Yy}BIh)QNqXBJdkfFwX+32HP$hMd8J7ND{Kl-?k-(V%7ts4NC$eNYJs zwjLZyptJ&N8iCH}0FO?B#}Yw)0@)857X~Qc7vK6&|(+V(gbbQ0JpP1eh1}turooC2?|kA5(U`}ZfZgs z&EWDI+^~ds9X!1cN?+h40$S7nY8-*eeUM+kVF{iHfev7UN1 zD8Yea5)>++WD6=CL0f)7VG3%Gf)-hVx&bhcgVG2jp@Wkj=r}U)3J6fC3{IJ#_1~a{ z@}MpQxSjxq0d#~AJYEIv)q-;yXw@!gLxzU5BNdj z9lT)`Jn{g(z6dlg0J>HO)TstFoIs5%(1DrHGILnkw2gn!(g|9 ztOn;|P&x&5FhB=1fr|-HSq3^24Rm4}C|QAR2erw;>q$Us*FdoVE)_xfMu|_0-FMAz=LZfkdr_dd`18$F@rHEb%46Qpd<}S|KP$LWE>>dL-PqZL4#5>D6xZV z1+|PoJ$q1=2gNd|V1%rf09CUf|A5LwP~8bK5M(VVfr1)GkZJ~8*?~L+%0eJR!Ae0@ z6G$EC&>T?n0%SWle}d8mxQhW&3aT4GwLC~A*fWrpFu3IaN+RH%CCGY^Vvu7&?Mkph zP^%1VCdd(>6LCOuE1)n3O)SBx8c3-OE+jxpT0jX7l;Xhw1YUjtDWM^wSRngA7*x@L zO$Uc3sG|UKB`B02`5znt;D7@A2VD4p#h?ubkk7%YVYMfy6bDr@$SOhQ1E?|t6)W)Y z0ttYMNRYokX$c%Fkf4D$8>A9sG*asU+!_WegbYW4@+!#9-~wqC?ms_f=Uf= z^#aO$pacb}&Opfz6#3vd0B@29B_5F1K=}l2C}_+dEC@0atQO=sP+)l9D z!WNX6Kt@442yrB+$_M2eNYf6~-~xvc*h`>t7!<4^=Yo6#3kQ%xK~V|50RWtsK&C>9 zPjDDP@(SoyG0@Q-p!4P+F$8KtfO84RZJ-ncG8NP;1$BsEb29L@4#+xK4h6*!SU0Fs z4USS!!UMHm!1jaoj)Kc3$cQ8;Z2yDLpa9tm&d=Zo0DBzdTX2p7rDl-1;9voT9f$+k zfCidA2PH2^)PN%g)TIO!Q(*6b)PbT7ln@|AFDS~uu@91mcnZ`y19c}rMIgup;5-E$ z?*QdA@cGf;JP1m%;Lrw}2vP;|9;6%sn*<7dP*6a+88Ev+WeX_zg94{s-qy zkmJA(1qCXoCIuM>Rts@3hy?itWGTo*u&+S@3<`RXTJX|1kScH*1mzKs8zIRGWG2Ls zpp^*VrXVO~fg%g65PUo^Xy^@6N`mCT1B##|1)9VJD+JjJ#vrRfr5MON5Su|wQ4kB% zzW|30xNrcsvOotIgXh*knF2KM2KE!EY6J%fxNv}ULqU!N8Hv;u1tnw9;&o8Mfz-?3 z6QRHf5HzF$awKGo2pl({yan+4GI~MsSw|Qa|pO50yW)0W3!-w7UXSE+XU)hp=CHE^?^!4 zP^}1dDAd&uMWDJH910*QP?&;dp+LR{^Pxcs@)pQ;P&9#j268JTNrSrT1*o6}s{kh{P=OCB_`!C9JOzp@P!NH#4#+T&HV_}A1?nO25Dh3|L4Jmag90B^ zk3kFv_X41a6l5m2WB^+Saw5n?kiQ_+C|CqkSVJ-r*btDJ;0OYREI0u|{SOKz@K6%i zxu6~$B=v!O3o;h02^6wmg`k`dQV6jgtP*4!C?$dA!3L3`T z3*u6cd0?fWa0fXFBn4uFY=#60xFHI1KghG7Xn{BrVk4-P2Qw3-9TX`b?V#Ka(GKz> zSOqxVKqVhIor0nPq!{EGkbxj2pkM=A1PTrC_${cz0BeNd7HDF>?q+W_inf!jhL$3hGR=RS~|K@5Wk51lUZ_JOv~T zgFFr@t-uKk)OP|K3<^(>Gr?|xC|pMa7rNGVtjl4w8y4{{O6jo@$q z#S}QKK#D<{Kr$dhK*0`4Nuc}_?t_978ALbO{gB!Ow+1L=i?KgeKEN&=@k zP*8xBf|}o;x(Sq!L6Hhl4x&NLR#00RWD8gf6qn%E2Gr{yyFeiTZkB*^9LRid4gs49 z8h8UK1*HQ}!T^Oj$fe+h4oDd&1i&gG4MK3T2PF+q%z$znXowgzy8=#^pmYoBB!FWH zWGrZ9IVcT*nvURh7RYv37=Z?R!I=W&OOS6slAtCo#By*q5M(vzA`R#+36NJnsvsEL zYz75CXygSH>TnZ5<3k`9LezmsSP=qN25zu|=3ziSfyjW9DcJX*0TAe{5~%M5P8yK3 z0ct9MQUl05(AWxSD!gW^O=QKrKN?e1q~AI5&Xf3=&6- z;FWA3$AHp0D4fA10Vw5xGBc>m2hpHN0#7o73K3AD3swNCzM#PhDi%Q55|k@JnF7?l zga$n*C4m|ZplAZ+Pq1SkF%P;L8$9XDh!~FQgC|*)Q)5TMLXykc`G89fYS0gyuQd;rK#Acdglh2$OZ z%m64kgK{*;cCdL6#UM9=Q$4802DP1`CW2EH$V||-RnVH7f1oYUAfG}oD0_m7S}+3? z{-9B8&{#7l)IlXEtn32iOOSgZ7?jq)sUKuLXm=?{7@VX*-UV?$r3fg$g8~HX07wLZ zlN>mkfjtH0f|Y?2F1ULKQV8m#gA*LM@4;CJ9G)OmAOaQrGb10s?0!T9w?SU4PJ;Y zkaDnIkP=Y;7^ECzBS;z828aMSa>0%QSps%1hyk()q!QM80jU60OrYWvlmx&r3Ni+) z7*rI1k_{;LfpRpc0tcm3kS{?hK_LYWQjoEbKnB&2pp*cb7yyp~fD!{}7!^G31#%lW zI6#>Xlu1GMf?^odV+M8ZLG4DwKtCikfYpKOTS$!uPGU&;2^0{ZqytJ7Acujuu|E=VzGm;t;E9o(x2 z2O%h-fsz9_4!}DiK(;{Z6;R0oZfSrb0#qY{Dqm0;0cz`l6A~m4K-mveO+k}2$ON#N zAU-4*Kn?<`uIs@BCOqD>od!)Xpk4zkgunp~N_ilY!2SiP2L(S!FJx*8IzTO+nfw;La&X6DVFlQ3`4vgEWFX z4K888Z8MN8r~v`WfZ%~~h>0MlgTfY+PN5kJT26tC1UV7xK~VY!r5kYD1f&j>O+X4k z84@H3PNN{(!A^%n52(5U4Sj+J{y^ynBn`q~r-0Rg{0K@M;E_zwK`5XU11iiw$p~aQ z#AtBXgJKAr?-)VjbfDY;G7GE_6cJEEK_-IY9^8ThmFwWpgVgV!@B{f5WGKippzH%` zMu0FVb3o!9l-$53gKdQbB*;WiatDPH$WTz&fx-opib3i@wt_M)NFBu2p!fk7V^Bju z4N{N}a1?-&2FOxSs|b|uLD>q_4hNNRV1=MM6l^`%K#($UI6~4s*r%Y{2HboAhY~1r zf`*bnvn(Jtf>InLvw_Aa!SlMHhyuqws7wU84s_ZqD7}L)$nD@n0ct#eRYJoD6zCwu zpnf|z=|Ox7^AsqYz=a1WlR=6*sBxft1r9q{O9xcfBMb!v5-4~;X%v+FAhj+ifI!3N z&};(o1t`YB!5H4TL#UL;0OXG6_5nfH^5`;mPgRKTP3czU%v~mIz z#2_Do)q*SssRQLPa4rIC0J#K&!G?lD6v_aJK~#dH9;y};?jQxA5(yOOAU;?XD2zY_ z5NJdLl-xnu!O;N@Ca~3Db)aeU;%K(Pg~2(APaKVS}s0aXrmCDe9ESc2O#pz;IcP>^zvFxYaC zfuOt&3Qkas4sr$57?3(p$by^#aRf*)D0V>#z+nR_l_8-FAwgO|k|5<^Q^A1+5rJp` zn-5AZkZ=QKG*DcD)Pej33KWo?paBnX41i1o2|zLcBw2x)VbF8{QV;PLNFhiE$V71F z2O9^q4wTG5NlBHF<1oZTd=v{4lc|~AX7m;gN$^8 zyJ?_k0eJ%A9H>HYEQ7Rz{0xpOkbgl+K`sD$3ls<-4#+r=a!{!QQVGgM5buIa1-T65 z9jLh=H-ZWiunC}m0mn7SKVT71>_b(8j06=UU;{uE0?15IS^+5pnGE8C3n);OfK-AV z0;;FL@dfq{cnS&Ta*#%lcR=bvxdP;P$l4L`s3W-54ps}&57Q2^5o|Ctt$@Wri2{^M zAgV#;fFcQGF35i%;tu2z|A3$a}Zfn zL6HH9I*>y_Nd-20QWz*odZz`i8*lD1IhkiBf+5qaxuv7 zph_K@ZotJf#9VNIf(Wp?APkTzK%>;4_5mn$gPaLTDe%Mt5(WhlI3z%#;1~rd1jQHF zN|3`qu>g{R4B&ul2U`PmB0PzMECl%qq!*M*K&?iILU61@Tnh3LC@#T+N+5@V?FZ!> za4><2XHb-abwHYKU}M0}0EIkQ3&`CNl_0gCC<6Hayps#$I*`LbNdc7M!P9n-1|c}& z!PPA!*1;(oWFFWDpqK<JpIsAXOmufh`8R4MKpd26^@WKXyh21_vVp z149L)kj$dg6a^#S{IXP#z6M4H4G>Lp?7+an;J_fpV8vj@Aj{yzz`$Sw#cm7?3;_%b z3{eaW3@Ho@40&L;C@^p_XfVhzNH7>NC@|PCC@{D&C@=&tC@@4ZC@`cjC@|zPC@@qo zC@?fJC@`?Hfm%7tte^;FVAu)jDS%BuCESiNFxaeNVBnHsU~pg%Y+ztezzP`nHRYca*Bv&yzX^=1{>^#!>gBZGG6K^?*09|ATg15N|D!MWe*EH{C7Q<=^nS~i zBY%Fe=rR8K_Un5H69eZqmSg_}KH0qa^v{j&21~}T7WPfNX3S>4zWfgO!||QxR}GU2 zuMc;?r*r=~c%^PlcyvfuLh;>?h`%yoVgCX?Mf~$(ulv&UQ-P)7?-|A$Y$n{-I91*T zJUzg9LM@5k>H7`lJ)a{!3;fmi@{XlQxQbKl&j+?Q0&d^`T>bPhO<7Fx0pq5h3SY$@ z+~VA$KJ9nTmxLd$-ZOk%Bc7nLgmuxkJI^mXO8ByeIqTPp-}5BbG2eNWz_LYz<@bk2 zR)2WJZ^*{*&iPVu{ok_*{7)FOK3FknN$(Kf#@6w@;dvVC8{t=9=X~K2SCPtjX7{>^ z#g6p^qXjd=PpOx4*cS<={Mz+}>t_aUkcifgS8v3A|6uy@kB3c4e2Re2pA8>_{PRJQyCR&60TW zV-m*`c{h;*Ofn2Dzbc;mc&POGpU@ALGND#PiE%CZGULOJKYv&cu>=VHkYC2@ z_A!h(?SIfcyNi<^guK}GHATKaeA&NU+>?a!e%ZVU<2K`#ds}p;{hUkxP9FQUPE6;w+B*gY z6OK=!A)girWbu6Ya_Nl#r<16KM3vy1|EIW$ge^Gdsr9J%{9D1uByfW}>E9gzNp1#) z?00ToW_-!}FzN3-){1YpUMeuZ5fJ#AcSY`b1xE+#p|@B5oAEw*w&VVR@2CFP-M{nt z26vZ09HY{Aw=WJ~bwGs`%u!(a5u=Jk8e0#u0nfkxLCjMmE#zN){q`w%frFZ}*a`1kH<561@O zc>>qo&tTfXk@A&|$wRtIDB(@VcQ(d%e}ewYF)#YF;kOmv3U-};9~ggp33|Kc>j_34 zP76*AHapHef(zJAy*%~Y<+I!$7N!Pn4<4C6^Im^?EBB}G-@I>0zZS7f`FHPkz@JW(`7O~IxHScK`TdgEG zvS>y$zQ6NBj*o*?@2$i0U#xcW*SW5Lp7HkDcb5+vUVQi=CFt_!#XFU+0pGg*9N

27xD&-rf1R=|{si1I9A;T|5z7vwlDLSn~fJzu2!6xAWdsDKUx5 zJ=^tw$W0=Xj#N_kEZrv`6CA&wy7UUz@(md}ZN#!n=vBgT3PWoA(*N1vnL0 z*8Dy5yX~tG`xUNTZzjEQ_}jqti1nHPmv94{#NU=LabN8IC@{rw=5hD^`Sa=0FCK0Y zF00=+ezbA)vF>0nU|Gj*#393djZNqC7B(*_rEkk_-1yO;c!Ry-YtY{sk$swO0-rvF z{pb0)<^MDB9HEkLF0WI*xxF^};lOS8tKrKN#u?&CQZbzWKD>DR>_Z4c7t1b|I58fv zNxxUUa(MsjL)PmV90$~G6z?%qe0}%z&`&;wvY&k4&vAbd&f-Y=&Gl31SK9xeKWYpq z42u|Qm=c&+7$yF9{M+_>#_ytkY5yvI&HGot`hm%dA@AS4U#os5{k`*_i9zPyuAd&i zE!bL^ro5`SX7Z;_*6#nTcNI*x1TK7>^kx|wo75qe39q@HBze99KWBi9?P?ze!mKS za(%O4T*kkKt&Z&k-vX{h-#UJN;C17h@w4tN$L~JY1B^?UT?8~(L_R+I6vT0fTZi3_ zDeqU==eS=HJS9A3zhvGV_^kEw#osOLEJAB|)tDaqo$^zF(U0$luoL$#hA+QQ{XF)* z??VmC6yX^xaqlnvwG-44c*S($f8Ixfdr7a(35qGK;_Ud!_2bQVuh;i}>If|m`SrVl zNsZTnQ|*t-^JkAAeAnR)6aK~(^6kWs{eRZ0CqFf~CUNL} zJ@MfT%OOEaUIvEh*N?smaPSD!Ft2-6@~KR`n6LfQm)mNL>jc<-&v+Tad{5xTzm898 zd_tdn&J?`rQe7ce@?PX)(U)%wyZCbWtNu^>ox=R%#}7s}_PY1GKC-c%VQTsy!10Ek z>DGaxMQ?k=@A0kTk>WbWzK(ATcg`1&2TgDH{C@TO%ijs#9N5(4Rro93O?Y#HUFOrH z$6bua)XFPeuIw}9w~i$BXmS?66=Z|X@5;57l`+L6L|MXm_;z| ztqEtDINR?_kJd2nU|sgY?VFcamdpe0Q(O%H9DW<|tl?MsIp;$Pd)}|QPktOJ+yyMl ze%XB8_UDFNj4a0^zxM*%pFW4YQ4w4x=k;#i*Dm%GOkuy1Se7uX`_3V;MBv?vzNZEZ zllY?8`FOJg<2X&en!Jhl(;~W&f9~g3Z!1`)eV+IJ2xp00#m~B@NB-G}R7k5sn&u1) z3{$@waab}iFr0mJ=4T%3yZ?6t^qCnLmfw$K{w>465c%TI#}NK-F-RJC`AO+x#$P4D zY+eYT_f5k?7X~fiCKfrtR89tl@_!z0cd*U*Rq`R>M;OBehC?hetOg(a-l_fi!5$#V zz@hTQ=jA_EFP=@G%HA&cwBsKOmlFFQ4j!R%Ja=Akyg0^@@>k+d4W}1F%##T(%l`7c z^!n-`dPL$F)2rVazaG8b^P`938|NaXAod~#i8r5qS#j-QzV*TFLkq(nZZCc*2`=6R zk0)F{^X8wRh*S^H5!NQQH9uS)_dP3N{J{{xY$4hs67})N1)&?$zHVY%BD_pnOmz-} z)jhi>%YGIxFZuH9?GL^cYF+g_fPg+IlcP#SB$HQV-cGPliBxgpDIKc zH0OO?ckRY+BNegFMXv&c)+zY$&to=YwfPkA@Xgg_uc{PI=yLHF{bFLM<0|1k#`o%5 z%hO%o#rU~|maw^S9%8Tf@a*Q6&nHBgWNY{X_?-TJd6D$x68AZ=GG?0>w^&!{C-4Bn^lYB3&qdFS!2 zPf>yna%DVqU*5d@@_(MZ70))tO#*d)TyEDrxxwl6-$=O4utkXD^{2Z*&m=zG5uBuQ zOjzwN2S*q8zXu0yE&Fzhz2=YDFDrp#%4KpAKRF(_eX{tS@uud@53y+~msl^nxbmEf z;hVUEoCixBqm1~RzZ>p~Jg{Sw_{Z^H?FScsjkpkd(FeY_8I1S%S1~&M^y4;?eZ}6w zX!Tv^!M7Iz|6G`tFlO<7U|92N8p|5dD;z~1x4irCw(6IgaM#~mZ?~~2@W%YK`l%+; z_T$9EDPJP^;(q45dBAo==mTfcN2v!^pQ{8In3nxb`(XDsjCqRi6}A^&Sw4j!)m(gx@A!*;T=~9+DUN3WPY?SSj(6P0-afbi zN_hcXuLP&@Dg0dUsNkms%Y(n)7+TnF{GImW0Ou_pUU3f`{?%U%p(R)IjsamF75@tl)j#MSM<)~ zhlSJ^{f@UTm)`Mx&`9FG_2n903wPeHnD6^ITi95By!#r*nZWj&S*W8Z}Sb8zYi z8nM{1rLjDFDs*4zzmo*dzr638L?mT@e%f+L;FFNp7WNH4UkN>yWnf_bY4lm-d&75` ze}{x3ML=Qo{QbR)?;dXwJf)!rs1jK66rW&A0R zwtc_BpToz%dWQGMKek_Ycu)Ph@l}D_it*H4z8f$8a|nH7WB8HvYtjD=AAa03`TfGc zz-+=tlVkfnrpe6uBKOXMyGG89_szFc&-0!|z1#BY)5kg~2CXFm?_RY%f5k2(oboy0 ztpG!k=svNQUtCX4yy5!t?}gr*34%q^8LZDf|6#1*`^7QuXU~T}93tWzzmz`fd^-2# z5lfeN3hS!}O5gifRNfuAzvtg7z72oO7#A=x{dw_i7txJiPA3&-=cng=G+!sEcH)an{{5r?~g>%a{t6w!- zK8!w}9{u(Z^AO#{^x${hpQ6_uFTtvX&oR0&c`!CG75wY@!17axV*%s2@0XbE#1?SJ ze8_s5_5Tp3nbb8LG|Bs8q< z%U%BW*F#2)i-mOozY3SkySR5DOf6jNSZDkZ`4;zQp5!~hcP~s{pZUFs?E}XPmPdS6 zk}nuN9(X;!$C3B5;^QXKDx-PK8?Gn4u@a8qI`r?G=sqEfZ&isxsLM)FTm67DSBvW)7f76eLHA3;k1PLb7%|GnfD*SAxDrFiBDzh>qA z#P%}bx0#5N(2741-(om#va$c3_cfZIfnno2wkP}k-4LF@8uC`;XMnJTh}XZe?>$`X z>kl9b?;`)2fS0!Kba{NF7fsyi-@AUZu$X-kyBGJ%M(_pKlK*`CI;@YrA7FpOWb@hR)2#n_ ze|7$=aIX1pz*xf?_U9W*2ivFbGVdpSQv03u@4~-JKQI0K!Tf_ei{;)&k@o@21>9PH zc({Iue)zTM#JbC3%rV+aEH?>i-8gpP(w|ve2fjJ6C&;yMH$A@g`3l#8pC4}R`msf* ziPi0g2Jp>D)JY*7oBM+YUY<_P7rxSQ4b}uoiq`_}Rqr=5xyfnU5tR&v-Wd zR{Jf+@qqcnpJPlhTo-;!de8K4-=BZaw|r3I72p(NO_0cwT=3@I*@Pbz%y5-apbqwrzPCK1Y{nk{bXRUVmJowIT>)hW6$`z{S7bIxDZP%k%fN7fLyGSX zw-on>e`c>{y<}pW!`;DHBm6`l=iQ52U)WcOPGe`{T=Y}p$2FE4jJG~!d`jTWk%{4R z`)$X_!gB1Z-!s3@dcquXN<1&v)Oc_FvAJdUCPi$M)SRzx-u>YVkUzzI?qHy zDL;eG?qFb%xxv);`3PG9uhn0s-#Oot{v~iO`4jg=f$^Ad6jud{81EYnvEO1JCVX2W zkRrZ@P2lsZPfPxHvAQu{VmZdq!E}i+g!Kq#1na(!QcqLfsxZC~KP7ic>;k_Y*Oo8W zt~tE=$5_Q=zT0z?Ao6 z*UN2h*ZlBe%;2_CiWg>JaQ(UCk={o;t{Cw?mUEwG{QULf8S_1{PM+u=TrZ`5Zu>mz z%M-3R)%QH0Q2zRp<);`!5c_;q5RZZ3;M*JDYlKvcvN#1H@PTeDeg9zxD+7z)+efc% zu?30z6=Yy|`%Ujn2$K$<6XUFZvsg;LFL`k9RiAjaE(1gJ+g%TuSpKnZ`mVziz`ue| z;lJF6O|P^*NikOO7YUefG5l3{E%GYwFPp#}0il1pKCu1lVOsG2#y=mfJI6MR= z{eJf9z_%7|v;TX31+d=uFzMMWrVY|nKOTIZ+Pwlz%*2FMe!#@a;z&^FBc} zhIcIQI4^w`c)`Fhk4;L)LSolby~`SZB)As|q=;~d?f7PO?b(|k$$JuVKdN5({1=d5 z5;Nhx!y)qe&rOwgRop6kEL>BB_Ob8#EBB-7+pMoCth>Z4ICx&kJyl{_#(zr4Or(JS zAE(&2XOBO9+s8hIE#dDH#s%yh94g#0YZ@ z=fC;$&f7o#x!897xbyKDqXT;y^BoqEe;0m!`WM6Q@hj;Q!#{;zNuO(eKjSH3Fk$kM zN)u%I!1Q3vCyQ@O{;lFo;5TDu`P1_&=Pw8IjDJR77kxkWM}YAj_as3s7N_@OZ*zXM zu~>2Z;xSHd zc+dBXfx&_^MY2n5$G=BU(>_VCB>hbI#K7=MERE^In-+!#5^;V1`F8BzqF)Jr zH!xa=RPZExU-4=Nw9LB07{a!XJ?hWA-#>UdL^T*Qo^nB3BXc-~1ReM){>*!m^zI$Y z24Rc;aUW0pQDJ|;dWzu?!>qqCOnFSRzJ2|K zkC%&8=zR)93s2bpg0Er!*D$X8k;KO&Soe$NO$fsUt_@6e91Oe;tVe#l`tQM5@$JKh z6CX3!cggG%*z)zn#{_N%5v@N}&*puV`?rZDjOT^`3p>+qpFe&~5<)w;T%Pv4*vFj0 z_3nQFXPC$@*1B(MKPuR)I6p85{0RE;=kFwz89X^69eh6DAG~c~iTTIyk%!@vAP0X8 zgUBC`e?d%M%qfg5f8%~DeRg@Zie-&@m+Xt5eXnhP9Qskl5+kU<*YxActD=uu%srx9 zqB;M)-unHp;>=?W_{Z^IhxH!|!@pyU+xRN@@BO>+A?0h{Z>8@hAEx}}ljKs~#OV_&sy^c}Qp-hu#;3_iev6G0$UQ;XI?5&Yb+~-bJxDB`hrbGD3I0nY?oN z$0DjCkjL_YspIFLw^DEN{_#ma5nlCv!n3qrW~>u_y!svXe+3H{j{%R>_eXD*FfU^d z`eFC=7Dp2Y%hwg}C;VQ*zJhHP6ASY%7Ms6mU&_95{Wtn`?M>0QGZNF3FR?^CJn&M4 z;SbxHKUWxzakw!Zcwg}482=QJ3vZX*+VJ6?@DlM3u2&z6o=swuklZ9#^3CDZo3|!E zi&&=#CUA@VO!>*h$iZy!`_t!B{|<0>F?oD!`0(i83#J{y)5K5xVtBmgh0Z@FmI(q@ z!UpW${s=L4FgkoR_;Kv}i%&XS0-`+s%%1jquVY`un#FPEzuE7940l+%ewzIg64d#T za`(o^6j=`We?QdjyS%-|zJ~M2ccN{exG0!5wQ6s_fYG-7rV`WrT_CdWw^?I za{N$XxWTaOU%(%O-&20R`n7@ali(^Dxqm))R=qmF%P0AS#o*hAPYK_%e(&Jy;tOH) z`W*Ksjd{@@mG7Uv?PDn6JHyY$BKD*2+qTap-|haEFkWN%!ou@^({By7cOoX7Q7?Zy zVPIIo()0fUxa2v)6D3miujc!XU+X@1LHj!l40V9H?c-q{LnHIp;qEg9>{a zli4qYKMV{fm@WP=FjVjbN!Wb(^@M?;ieVia$L|Y&85rI$iEycKMR4t6J@G^5wa|AS zrXI!;rQ_G$775CHBwH(I$tE-PZ0HxU-V7mmcZv7qW47Ju=)Mg`jz!>8P}9QyFOfF zoy56~NrZ)kZxLI@w+o-R{(Rzb;R<@U<6#xU9JL_XJB%yd9eefRJ0IHt{v$FqVv9a> zT$=EWN$Lq-%g4Ci4J;Xdr?Bo|Y5B9_XAXM_o5#N>rdNz%3>p8b{>A*w`YZO|<-e6+ zn)JVa^PWe1$q=~1*7Y&y!!cGCfpshn`+T!v ze8ra`{EtWPyV+x|R}5??gm-YXFfRMg!)(&hGgyv^Sp8^txZ-__z%tnqz9~Oe zeR2AGiHYNX&fg}68ysQm_kJ<4t`W2Qcj|%6b1C+H-0L|1@xBw(?si3=DhU zTzIL&H%0UYB!=3rn*{&(m>$In;%T-;&|e||{(x8h=8*!5HE|0ZTG z-e`vYAFDo^eDnBM$9a$2jw$E8(ZeSnEVyS0wy;~VYB9_G=Hd9oe}+Zpuh2)6cgue6 zWBSGr_UF$(zJG0h#F$mM|1tM`Z~8ImZ`j|IUq%c;0tEtheuum@`2OernePQmbND^D zy}l=WyTxF}+a#p-_urF8&(<)gu$}wY#Jxde7lYK(ypIWN9RgjPFFx@-UGlMtdmHZ` z<_XMdOgVoFzRLVQ#A(Fw;!DWe1)udeTtt4bt^3#Z-{iaB>!SB7{=HzGB=}A29J|I# zo2M)OrSa7;YyIkCJoew|cM9_XzFU7XdEXxVp7Z||Qx@|Y_DMVs zScAUEeAM~3neav9w~xRqzL1Y+o;UpG5ZJ@;@BalJAO252UOhPV z_LDH1wA9}T&qTfiFmf;@{rT{}h~0y`h~>w(Nx%D8ef~9lyz^az^Bjxaccx!rd`HBOP7$_yKMs78VB5l;_EqC0(@z5-4Ie+GsKt|iPYpFk<@ z6{Cen3Af8PHE<8ojqwJ{qn`{6Q7j^VCxJ>thBhG%&c63gzA!L2@ErR7@3#fhAI?{Q zAAOy}JVX2*l4-ab&!$`)4EBz|rf4|HGya@n zxWpL6sK&MGx5O(31}#stiN32_IZXkKSFayNjI(&TxQl+D`q1+828RWg z&hH~%MgB9fhy2%Jn#Ie-~gGEI28EYz7>2GVmSAi>&rcEA-PHH-#*rS zu3&n^qQr88G3lqqpC&d3?iFnR{-5~U_3y)vvhOVa_pp8AVqoWCkocqUwdwB#o(XJ= zexLhY#ZtvA#B_)K5bKfODPN6#Cj63O=o5S)7svVP`J#tiKSQ{`2_}h4ac=k+^G=Rc ziT%s(f`4vo%YJV7vQNlKqUclF^(()(2%qA4!}^IwjqTYNu0KqCr-Uy2-SE`yan|1s zp?@4ce_yaRaV4-$`9Ft=g=H7Ru3s|$^LXztX*`?oT#qA1X@O|UKe4x0-ZlMI;nWjU z5_jO@`X=($=i8D$*SOYjuza}jbraVtkvKlJ@AIB-_+E}(Q zUifbz+9w|MeZkX3Y;PEP-d*?|B=CSe;@dX{0l`~B7yi6@TK1OfUmA0Wu#ZB3klibr z`wZWz`0@l2_+l6zy?^jWj_(vl(-(_Rzy9rE*~0LGEr)H(_a9$;*xqri`(XBkNvKc7 zm6?HI^&6o#Mvo8tI;PsK3@WLXy!7~-_CJ8{w-^J%>i5T9{S%$Y&%m(%&7@bmK5b$6 zrRXlq!0_^!*_&5?`FN+v2D30Q#Q!k+yyAD-KR&iEJbsLQpJ)6`;eNy2@$=2+DQx|` zH-BlpoAcuZPbIkgefVk3n`w+~BH>&N49mYh`egTa7grK@-v3=cn!ZG^NeePC%>0z_ zbqD*SzX3l@SavW(F){p0`poe?f@>9D#jh~d5dNM&0Z*@eOA>73$zWl6|K!Q7pPxi4 z#6p^ZhvTBSu*#X87o&$d$aPe`U`*iQwrk^4F z30$XsMf_R8Tf*=3$KcU~mo35%1TtQ4c&Nu(BJ9GgA($dC-3&Wo)->3bp_~-EZ7NZ|e z2>%zhYhNBb|M6Vpn*{q3J_o)G-b?HypY7h1G5GOZ`ziE{=eq;n8-W)L8-70fBJ@*_ zc^>OFE&;9^Utc^u@a`H&^z!_39Lh}(lV z<*&jcw|gufnOIc>vLv4H#(j19-N3;1ul%&mVzP3<{rFzPw<1#Z|K3@d&z{7>Rp!u#Xbzn^j( z3s}A0FnyZFb&U1Wms9@*#11j}e7y86k2Q<=*RO)Vli2?-34K5HBa8c#pa|oF*LEM1 z{`GLp5L?5o^)2g-!e^;(3=CFmErNcG@BS=ffA^#5%`pZ8u^oJKzO%hw0G@68!6n4T z!SLWu%kMg-5_X=y_dc!rW5pXJ((^a#Ssl2fWnhqDDv@X6U-rG}`@63b-k$iwz;Hmc zk9*gja~~o;UHbQip@^xEwS`&Wd&8ece7B^87;_h3N^K7jp>P0T!EoNB(ed zg#4TK>IKt3!4}3Z-{%NE67l&c^lZzQAB+;LK0+_#4Mgv}y>aCccs|cVY>spVTgLBQ zf7%#Q{=NB?@rQ-6i*X8L3}eH8F%~|C51*HP{=pW<6Y=lU{|few{}x}2__Y)`IMZI4 zyq5S~!MKCZPB7zd+tV$dqqx3s{P{hPZJSU7i`CadpEms3#%jXXBb3Bm_wLavj=xP@ z_xQv(w0`Qmka^$5GC|~?_z{6cEbo4r{d)5Az&D#8FaA9EU&nqzBuLoqKhLY6r+ptL zF=h!Z6VT$>B9y}&^5N6NH(z}ibU2&@k8x-HS@u=vUjoA%#$8Nz{wMtw`2U8Hg~@<( z5yzUZ$3AK>-xCaC*7^S6mki4_Mj_@OEc^bQVhm$>^k>({6F)t8E{J{;J@!-R5yyu) z%zwB&ch{nmLo>-R3M8?0x3hp~k)J^01-tL?9c&Jz>zE(Zi_lk{?MJPhVi{D6a9@CF^@7~{H`zB(< z_UpCQi&Otu1S}Y&{znK!NqqZt-S{fO@_@UCZwaRw(~Tc} zf6_QC7{9!?`gDb70#C*_r7vs}S0oKSYur|1FcPU^ar@WAKZkG8#~&{~{nry$5{UYl z@@&l;AY`j73STmr45jxA$Q`OMd?Oev9>r zY&DnlpItAL{<3k~u&Vu<^!*U?Ar8M^LH{@enpqhbqCapwN%+RY;>YI>Y)XGqND)qUK?HvolpGho>1Qgi6GN1gN_af)TJ4OkiV{B0@F&s%O zcfKt88N)K^-?Y~m-_HnK5G&?pVEFy_)|VrH9KNl2{^tvy@DYWzoD2-jU+TW~{k-&F zi}L{cg7d+*Bz zhFRisBo=%*@Qmkg8BgD*fcJX*Vag4xJDx6h^M*Z+@6i8OzkE1bScKlsdw+nBN8r#G zt@i<+&;5DDQo?^iRD@^2mq~B-eYasLW4!d^-_L6dTz`3(9e6r87X6s;>C_jiFH=|! zNij&N{ayC)&UdZPtKQuBZ6qYcy@kc=--YjUes%r)^RtSDfxY3c+{Zaz7`V*DoLJo6 zuK0C_=g@bT_vij!;&u2J#B_{Lj4kLr%QK~Kci8tabTO`wNRW#A{_L*K2dm#k48OP& z#Kjo0ULE*;hfj&a=<}1$GXIL0d>E_PEf_cazVr9p-y84CKJ4N!;tt{z5!k@L>L1g` z4{sN|$ossAWgjOK*Dv8Mq8GlOdbsI%&riQUyO`62pGd{YC9zgK_;Ri7)gVRB+$#m&NVjM?Cm!jos;Yq+Y|-Tv%hkzl#= zA>i92{!@}!tQ8+!J|unV_^9_uf;~$*g5%5gYs`BD_x*Qz!}i7JpB>YiKb!u#u&)vN z!+hrv-xHPp0sL)Z_jv059{HO0C+hc=Z&l15!e7{}UQK$D@p}Sy4zC}l(C=;U_kH`t zrzdpc$E0@#fBaZYewuy#@n->NnTQ_W42GItJAUPT%6U`wv+tkG|9Ko9q7wu!u!#Ns z_CoDh)DI4JCN3e44%R5fh(A4yXE+Z0+Vb6o>B#>JFOPj>k*tvAV&3y+-iHUjr!aFc z_56(c@q_sXp8|UZs}pP2*D0?){G1~g#kJx4wRdkmKl!1<{EN>(a08#+zZ)Nu{$FEt z`?2I*$v+*gRg6b|2>lh~oFueJc-=3j2L{hU`GbMs1y_iql-RakV$T~sS1_#lWCNPF z;kYDUAYk+5*9(o0O3-nRHG(R_F8?2V{_y()$jMFTOoYO`jiu zY89pz0yEf|{_^~I^nJ=7w!bYb5BO}DR=mIQhehrS>yM`#pAT@9u>ShBk4=I%j<1X1 z&htC385l$azpzF9uVTKy)WrJhm&&&}oO}3dzFc_N#F)iz@%_zbH~uB6cQ~fK3-~bW zZ^!>F%v=6PFog)#iTnKd@G$G`K86SeogZcYHi#~ey~mpMO^4wQ=Yj9%-h_PG_G=Q0 z8n1+41y2F%ntvw0M1Exaob>MK)4`z65njei$A3ljsU5J%mQrgt&F zb^cf|`H4LelVe);-tI%kXC{5N>E za0@VR`8w_EvwzE&EdEboixXVNsq(4pX~&0Yj8g0(JP}fE!Yls#`*Mio4d;s=O0V5M zX)$NHi*4q zpYm_hU%6jvK0Wzi$F`5niQ(1X6Re+jR9Mb^Iq`FuxDi*?!yV6^IMnz~{1jo~;XKDO ziJ9Z)fQ{Y(0hz<);Z1cSn}UEg1^o4k2+pNs2+k{|!EZ~It6xHh~xaUtN>2gzN$ zY2Qs)-mzExwqR)c|K@)mL*36UpC^4k_wU}nFaP&&I0?StU-Eat%V#gI{I25^;=0BD zfKle#j`w=ZW!!6ipJPbjbYuPVJLa$6XP?(etn(yKak+ePU^ZgRd)x5o&c7rEuKxnO zUIOn}G=3aFot|y@ry@vj;s#Y|2tkPz3cna!lJ=azep&gFRp`zi$^A+ygRuT=j3 z;fndS;ja|83&V?_B7dha9r(BCTgfMfKXQUOvH|}&E_u9t#PRR{y8pL?R>^GQT=DI| z+iTyO*!&pod^z{|)YpH1k8nNUarl0W(Lkn!d*4I9CtWNrzFzq+r4XiW#&GAU#hY!P zro5{9>>|8FHizfhuO222);n+Z-HTx25p&?W^zV$o0k#9L_r2Wq{mwrD#$$X@Tp_GS znAkr2c`fjF3-1A*9(J*R4zGTFln~e_y6xSvS7%s_*zf&&@#Wj^Ji!|>HcVdkm%LM8 z&tppX?8UxBOoL73d(-c}zkHwc{$FC%U|Yu3@h#)^k^fdAd7LJ{Ui{bj<@Z(Ory7IV z&n2v{q_?ma{K)yk^XJv88z0vR9*{jEDE9Nun?oOe{XFpd)c-2pGPaCQ3cnwS>4~g* z-|%+AzXP0Sm>d2qV{l*#`?KR?-p>y9HGiYt2mNW1juB@2zwEyP%f4UR-duaX@QwL|$pH<(CSXS`O z`n~9F(0@I?Wx_XDTiz{sA;hXC>%^k)wByB#|6G5*vCfdaA` zzei}Dpv6CfZyC&fEQ{VIy}ZJ8NUZPex#u6)wB(w&B);+db>q$W$MlltT^^5u@C3FE zf4{J#@b3A!>vq$dIm`(HA`-WFUVJNh`{hp$cM5j}qud|9-+sSNe9QUr>)$W71-~Bs zeI>L?{J?*YZ+r~D7=AEu{SNrh^yAZi6E-ISE&(>?TR$KC%lq@;ect;$Odb3IJnz`& zaOiO}{QY!)*7FlApSV>RjM!L2=CO7C^82@l?cUEbZ&kkDVq3%J#JrFF7oQf}lAm2) z6h3eHr1tNW&>z8NtT+B0Vu<=)@WJ7i3o9GfCH7ZbF2XEKHqV$|^8B=8`^CA7_Y{vE z*Ak{fZ_d3u^=lKO+W#BuRl-ILZa?1ewn;U;@w$=4xJE94x$QX*!#{~h{3%~weNK6| ze!RD0R})tK8FbIRu` zrb(<}|00;T@qggH^OfcGrC*zvO8%q>of1Cw@6d;UcTYYQu*%4>uw8j2@wZRn9oM?| zN`Erg|NQy%mf@cOj|vYHbJ(B0ug5+t`uyf^kC2sA-v4v2=l%U5b%WRJZO_wpzs@o5 zVM!AFAs-@m>D8xeYu+DX`0!hYqd|Fv;-(+ZUMl@u#3b|H=gR`N8G;@B7D7pE4R207 zi})qMc;|f+L!4rj(yQ;co)&!B#JYlW6_eNB1%G;2W-yB|f8({{dh^lZNz0Eet}`rK z{>x_9blWqD#2UE_~Ccj&voA{eg<(E2&J)zyubFnlVI6DFs}t`yep)bau-;%1 zW8K4gf^`Y26Sp3R+b4-n`~Ft^Hu}8p*EE57V)qypy)*mqfLVxv;cpDD7M~3Z&%ad+ zdH=&~eKY#T@nhRx7Sk}oVwE}U#a0&*=3)9yyyYx?EEoW(jpU=Pc^e*&BgynB9r zdfo9Wi)Y6_ffqME7V%6Ie)WIfmj(ZJu>bje>~qn79!|4gTHj*+Rd5<{MzI$Cium5c zX2EvobHnR^zthg|>%QMP?7O~9`tpc# zn&3C?q`x`emi+ngXWq9rzbEjw@csEY=}XUFpMP>+p8Yt&(!m!exQ8p@+qRcMKh}JU z`dP&rCOVI)>{A^>45t)F1%t-#n$Jz|Tt2_~o5E8d?!d3}PVBV~YaP>;FI_+6__J?}$C)5c=?hDUMs=bJ#PUf6pXm2w?)QaXPkx~Tad|OL`nQCyOt|82 z$IE4(Q~qWAFZs2ONlVB;Q0^DkyMO;}7$jb_u|_DJ6D;@;^kW~xfge@8ZCqX-H@rE( zxlO8r^WUdk?>>A^_;!IYjAIk~8WtNaHGwv+wBM87Pk3+kO@OhEw@cs=W8Bv{KRj3h zSX=&<{Cmc_;IGGT0Y)a4ZvxK*s(zQfocD!;sq1IM-)VeL#97$CeBJb^?r##?IaUWo zK9)STJB)9B9Qi)s$E*KG*#EJt_&e?Y3{E2^i=SM-(*Dn2bmJ)#wE4K=!v=OU=AOTL zOeI`WECIi_eOmK%8}}OVb6k91*L(WvA1jfs_}f`DP#Qg-R0LlwkoE3pQTuj@#}DH zVet5H;`W%cL9mrdWrekJ|f@_!z`j%Whwitlb;9e%I)Bl5HB z?-ULL$jlfLizcH*xTXA8ldMJN{RKCm1xoFJZdGB=C*t zUBh>o|GPK@M2v(P7$v?6{4-#j^HJo*qQ4774)CV^dcdr~A@<|Jn`O*L_|7oy_{+hw ziT};-f1kd5Ncg415yiajuMbNe+k@|Bza9xM;_>>z^&x}JgDK{R#$ORmHIXJJkNbTO zlQ;!b(*%`%1$;I5o%UVf*E{Y#Qa9KdUcPwlz*xd9@ORE{C5aonhh7=HJiz`&u;|~t zAAf$o;M~St^mWtA2|wI;HTa(KwsA##cVbdv-0~>mArC{D*g1|D|GIeCL>7Gf^~mU# zkLU}oC*Q2TX8nKkcLvig-YVu#pF%z;{f_vj#Q8~Z6I;X2u5bJPeq!$Vwd(7y|J(k2 z_%)B&jn{-zfsyTR)31hK&;AH8>aZy>-}(0I?W`{@{{mPfgm{F%FyG2bm-fBLkKiHAYu-v;Il>}jlz{?B4q#A?M-_G{XgY2WVsm0*6tdWNZp zU5SP7jobSWo*+@bPs?6)aq7va@cetX;>D6*e>fg6PWx5FpTwQ<;nv$dEK_(J7%%)^ z!tjH|hpFZDvX=#nRa_dbl@L&1=iN8bO(a)}z z7Vj0^#GVU+`_x!8-x8k$On|1#)1m_6xa76uM`+V;6A(n5z@6iuVc+%lEjiOV~A7j{V!g zYR2&9%cD2TK7RRIBl$sQ)u(0e_OS7ADSWg0*CY_Za^drdw;aDLc#jCWeVg)V0f&${ z)1M7*r~KvMmSYL~U-13IuQU!3ZY}m}3|?QVp1FNt5EKzO@oUMKIZW^V?qgiXRmRx$ z_1zb@zbQVE)BcvQ-edp6X!l3%-MP1$*wh4=c!XGX{7L&c@BblY zyI*-fPO;A6X81nm?GFYK;Xa zHj3en#0o*L&lT_gecSiz%-;!oXLy%=KlJt%<2l|eCM%W>mO~7){;~Y8`5~-uGMNg&GcVNcd}6#I z?#3_h+wX_ee<{XG-x$8mWBVbzhvnLrBfrnFM*Yb7Yrx6Id4pxb-DTugKi;s;W9nnv$9{|T%-3~q6@G4GT_G63 z&h_!gS1EQUjz2${7@u%6u(ACz_%88Rjb#q|C&mZAPW-m{b>g=ayOqGPe?_mBd@_P>Nxj6>x6het9WxA1ofNHLf&#_@#x;rKm?#fNdyd$k{RoO>98{&#RJ;o9}n zQy{-)tQB*ld{YFz;YE@V|~Jg*oNF0K+$CrvEk!ax4#+ zESQh{FZ-(Zj_da`&MK}o?6>}AeO>i;n&=|lS?_{Am@xOShy6Ri@q+oyw+p|wvFzcT z!d1n&?B}dE315~l8?c(O?BS~W|L0rZzY6AOY&onZ{~LbT{gU|mBwBbT{kg!X^WWkv*SA{&^CT-6#NNn#KEtT;OYF}Q{y*X-zdyZKV!Xq% zfalcj6K|G$c*Hn?vx)f&>jHsC0$qQTKEC+o#q^7b@6Uu^e;5uh82mi;ca2~R`;5<1 zzO}ILW3^$Jz_WqV?a#Y!^Zs9A3SpCC|M8LM$&F9z_*nSAF$J(45jNx6@~z-o9n-!4 zQ6Ho}O!||>(<1PWo$r_4&sEGCf5m<%{q18n;l9U~^>5wJbH6nhr2gmq{lGShJM0g~ zFRTAu|GNHqa4iztz+m>V>>D5JB*uat_kOCec5yhcaj~!CN#Z#2?$}c~t{z^7FCX6R z;l9KA;?oB97?A^k5&iz@z{f5o# zS0BS07M;JhzUnZmu%-O%_?g4h#j@Z}-2W)v4?`#tOFx?hV#Zg8G>J?m$UfWiNBPr5#8i9QiK^5@sc>8IJI;o$QJ*z9?}->O%=+x`vxeE_-=gnHOh<(8v3>bg@O1{mx&J;4GAwNWQhqzJ zYYFo)OnUd}{jMMT{(1c0$JE1fLO6u93j1<}@dTs6e;1Y~TrJGoeopvT!ll4g@-ghG&KEnTKF&O` zWqc<-7d#63>czQ%e+7RZBj4{B#uIF_e)s&`@c+}}6Hl%%%LzMh3$eFx=P|ta(e?Ak zAFsc&{!L+-!+D13*1H+cUi?>(-X?bC`=3{v-d_0G$GJ(UhJ)qDiC-aqw*7Ws&|+s` z@cHuRr_BE%W)Y5KtY-fTe);{r@!9IT5{nZn8|Njqr2hv0c6_z^pz>daX9}m%|AOBh zziNJz{PbcnW7PS*>CX}NU&1r^=Y2JM^yZn|&lwyBLTp0&*c*OXef#$N3-g(uQlEoZ z^!QIOPy5pJZx%zz_X(d={_o*_#(w9w&Hos-IscZt^ZPc1vyJP*uYxZ%EM_9R*mu2O z@IKbR$cW_+{xU%@eldDS@cDfa%;HxI^Te}h=GguQs? zyi$90iGzzZ?!N-(AAxzl4t)&z`;X}fml(&cA8H>s{w?CW!l}Wi^R4N}BTg=cb#E4Y z{K6x{r^jT*_U^yYKRu2|d_})3p51$W;g25o58)7rJsd|qEO{CB`xQ$M!?}NNSWMX7 zFcq=1u{`*-<;xMqLrgpV1pW14%3=P(c!%Kyqs8AF-!uM+afR`8F_`^G`W3|Vgsp~c z9PiF zX#M=fXz_o?*9U+9@UG!D`<3#$gzF7=(4U?^X^c&OcD>K~nDW1mM~x@t-;FQd{(a+H z##8tAz|R}ME52!cV&VQF%O!B+UCn!)|11m~--Ldz;|kz=z{vIQ1mmm!i~bz=ao}$d z*Bd6gAA9~@VOHaq!hGm^(1%yw`#8%4S251|TK1>lr_A>=3{CtRyjJW6EL;Aov1a}A zd9mi*p8p1{PZ)G~y!baTJ!0fxRQR^-^{k&VOkzxV+!X>9|L?r>Vki>&z{2!O;k&?y-&4L+{oBWU z@82hm9wCu`8DB3j9pQcUm*I=Y=VKq1{pjQBkt`B%`os6i?F$dfsy|#G?lGzfEfSc* z+Q7Qz--P$4-mGJ?U{m@P#h}NvLtp{tj~{)XzWtcQ@QqpR-=<$?%pIIR{$2aLg3*QB zh`H-GAL}i4gFjEcJ^KFT@0$M+zk~iWaF%fHV_x@X&EE-3C%*6b{Dbie>oSI{e><49 zn0x-p{rvFV?bi;*GOi;2DFT03SA6VwBk*ex^Q50Qeu;4K@VsN_`!|8@71O34Uf-&i z4Y>IJ|9Y?SMT0SoX94G-Ka+m7u$|#F_;Kj_KK3(ge&1$%>S3QJYVa@RWz^4KTzqT` zew<@&5}LsB=yk#`9Ucv~Pha+YKlASp!!%|VmTBw(97Vr+J_#}G5$s_0`S$JqDfU^P z3SJfcYhqPm(qIbW65xHup7+b_vk6NS7sHQ7UmBQ>u}=GX?E5Mv6LtaSS--CQXW~_0 zTl2T*XUzAWKQ^p&jC0;!`^LpBz;D6Pz}>*$b^pefbAm6}_kGY|OyjxrdCu>1d=~7_ zo=bc$;QhuWz`Eq$m!EOJ@|fkA-+edvnDTxTdy^as6UWPp?*hV$7{C2^!owio@NwF+ zX^eANelRpJhOzpvaIx?)dHlWf+vneeUoSqN`)R?{_D_W^i0#8aJ=PwM4ZrrhFXAZU z+wtq#mv_IDSdK6UG0Xg2_4feNvp=tXd9n5Jl>J`t`5nsz-en9-UmO0;V_5R-)h9L9 z3G6B?8Ehw5`Tpbzjo{?_l)$Rlp#`7R6G*Ci3gm z$7lb4@%~`m_4O9xCeBUF5`SJWUt-kxeCsVAlMv4VRy+0{wlfSHzAyMW>Awe?9(&R6 zi1#&LD>zQEPWry(R~|1L-x)?BMkeNS%xeE0eJc84#xUu3(|br~JwI9QR93h=W&zO@evN zuZs6Ue-pT$eYW|&il;?j!|#O82Yw&>&-I_>cNK#Nj~(Zw{{am582x^H`o_T?^XtcZ z3kE&@EOx2iMStIXZ~1qGorn3&KMp1i=7e7^Ul;t@!Rp4~@cqv3I^HnR7YvhL*ZukN zci-16<{%-1zfvz)*erOz{aNvK*?&Lg4Gcz%VZXNg>S24r^XvbKZ&Hjb?8|-%y>0tZ z$2^BQ}kKO-26n0EZl z_+9qTgZUrRlfQ0%99W~6AAP*>c@dKWhtmI5EM9zF{9+twU)3HlJr?`lBFZPYkLkmo z9gH(rXEEjcE&3w!X&vhU{w5ZV-zuy%%uhZF{l3Dw?7zh~HVzJvNz8NJKKW|GbnRaS z+YO#JcDY|A-%kA6!yv)DiJ{?_)UO8iH{#cLXT09?G=t$Bzsk=S-`Lo%an52AVqV7S zz`W!8x6iMB+cDhx<@L9O>lCvIV-oYdUmL!i_%n;`7{{ak^L{k_-15_k1M{)uq1@MUo* z{N3}V?$d#94eWA48cYm7{{36W&ht-(!Hdg`iSP5buN=%>zn1;hVO_(S!Ex;$*H?{i zIse_*UNCq4Rr;^P)bZbpS%{J4&lSc=O!JtIFxCBS`_%QlfqMlh9& z{P-X8YsL4Xzd!zRu|49^`;+tg1@jyRmA|)`Mc7V#7W$&}E9Tz{o;#dZe%<)FhQEP3 z;N7xU2LJk4Km2796p*RlXn1b%bl+DKb_;(~vrtG-lxwqdhiee&lMOMpPtpA+8#7!??~ z-skHIchlKa{B!{v7nE0@p();r(SzW@7W^DBj+PS8c*5bK*i2fn{}yYJ&W#tY0p{+Y2H z5R4JXVtw();RnN4x9>#^PgrBPk8rN|zvX|+-%sEAe*IupV{Q9a_uuND%by@7Cf+H` zb>F;L_puoKJoWR=|4;uIn8O4gF)Vp^>Tiyi1WVtuhA%BVLhMVv#&HNqR`Gs%oAf;3 zhXqdve-8JmU$b62d_BW|NAT76tWO92u48QYB_VJ^N{Q9t?VQ&VU(@~`;+w^n#nA94 zi1`!Kr*CsUEBs^On#H+J4u3t`{Z~W}~tMh*e z!v@wR+(FzG|2#gJ{d~nX=cmK>5@sImW6Zz)MzP-Dee|E{^ODbP-=6$C!o7q4$gdxt zm;ArLZ1dmbzZT1izo!_^F|Ygof^i9x1jDC4Vc&Q@ef!rU5yeyV`Q5jSzj16#oUi_O zy;u4vAdthz_u<-a7ttAPMIW|&ZeUx&{*76RGlkjUJIB{J1}`SFe^37Tv2J3@`DyUy zfzUcWo=<$wIlj(gT*4|Rw2JTBzl={kpAEiD`R60{MIh+sr}qJW4lxw{Kf`u{vxaru z51rRnz8vD1A>hNZ@8_M*44=O-Z4l7n z{?ca|CLNv&oVysJzHodz^~2`xEY^4Y7JTn`tQd4&IXs{AC5q_{r-bM~wz@Zc-~5CQ zh-iJ)d3E7a0pmTkXPlq7)Y#wr{Pyb5E3f}7qPT_z4Q6s-+OF2{7YC_J{0}VV0rOX<--F`HsK>bzx>wWHRJv9x#gYH-z45g zJX5~4e3--}z_91H2WuYBqOVQwv)D64%mk(We|k0P>64#cA{^pd7)?I+eW`l8<(nEe zk7yrP8xtGTnO}Mze7DG9 z_Gh1OeEP!V$9;?G!jA=C{C>(X^03FSocYuDJArKyX9MGd-}k=p{hq>}z_sN2wYLJy zeS!k)PM`LDne(%aVFu?i-b!RQ5n6gOpKbfCC zzn}f-V$9)@;oTC{X54N#~Q`p#}vn* z!+7O?%kN)rV?J%+HWM@ZeeL6$KRm2Um=j69lz%MxxloCb=&uKKmM`H zaR#x7F&tv#VLtS0(WhCz|L`4Pd-BPEA&fhTWyY^4mS6t`zRvqy$GU`T0qcoBVxM39 ztm3@H8u2IW?+3P5oG!nneBHr6hezP!p10q))VSY#J@+Sr{Q{>8At=Fg-*%NWo7WBHrIdWtpcPt?y9 z%yo<*e~++;aF?*(_`Bq%%HJZkFHDo(C4ALmU%;lpCc*uHeZr3=tQ$CGKI^>B;g}+E z>z~ormR}10-~DM}Hem4izJcKtmmV(@$D99g?;YOf@TLfT`XTb_$)8DFA2?DtKe72R z9r|tXGv)6JMzy~=pA-JR;Ywr6VVU+nVEq@<@vQl{1&gxw{8E`1Sb5N^C{`C1;>H^Pncu=m%O$3I*Ug}sOa~Bk5xa` zF>PSG#bm-B#+&hD#)n(~JGj~y*L*Md_2Ty_<}K{&7?=Fo^1qM8tI`PZ$5MUlDIQes*zaF!TK^VtK%C#3c5{ z>_-Z#A5+8cSL~a(Eq?EMUGVrD8-{iNwHR;wy7Ntd=^InT|9K1o zOh;JtSbzO*W71=O@%`MZBVQ-+BnhoyobuV>YZ{Y;;2n;b&mEr|SU<69e9d7F;910Q z??(~y6^2P4ru}Z=UBmX_{epiS0*81a7;SzleV_5=(654jJ%1nl-^5zSw~Vdn&5j=q z{3dJ?A1l5$utohb`5nf5g1v!Jglh`tv9D^MGFVUX{Q9!*Qw;kKeuJO)zM64l@m=`w z=1UOMw7*r~;{MGO@)17wH}1XGuQ~r*nC3Bt{Brr##Cm~C?9ZWpXED*ut3SG5RoU`uFYUi|=>-Ph*H+y2hIH=gHTKf2(*p*v%Z?U zzje6MSY$pQ`qsj&#jf(Z=Fc&%Ev!PnE`6>0rNQRIe&FvShF$DYY%V{)d{Fz^!6daa=h}P5)MLO<_~}@r5x<{M!$iTYH{vVSmKCgI$jI9PfdzGA~}jp@(NJOA~hba=#GC_MSYt|wsk*XExRZxxTm zFRrgSKd$}ZV9et#;oZg5^L5*&N&h!+i7+&M`|xuD>pt!lHa|usmRJ8Heue$+Vfe?b z$0qYW<%8bu5{6x@uLP>NQ+_P^6~;V;ao_i-zcOqqm|T7?_?5$v#dqf4wT~HJ%l?b} zfAi0QErl;ZXd2_4Cv%<_Fw2QHummu$G41%L^IwGX9QT#KTRw?=3;6fwZxqKQ4u@ZN zK5zM}z`2h76Vn2wWlZ0GJN=7bJ;74<^V!#$pO^mTuw`*`u%vxk@MFi{3xD^quy9>r zdGkBx&o_p9|2n>R{XFo02Fn8uCl-$%zdoN}auTp&HG0GLIfYG*rRMKF)(ZmD7+1VD zc_+kX!7Iis#PH#Z*Y{)pa{gcY_kn8>@1Z|MAD;buz!t;e#`K5d9?OqcS|5I}*0Hbp zK85*#$UfG0U)4VI{M7q71kFo6Uqu=Y8cz6~5ulU&Zt&gGVuNs3EuL0|;Kac)5 zvH39X`EBvbi81Bpre7Z12Fz(+xPJEt)v>PmxaH>tJ}EYbF9v@Wu$nL%{CM;I(O);t zBCb#0Q@&U*tYZmau=&HobcOQ}^PyjSe@$3Fuo(PK`liFMf>G_)JVqmCEoLL;4}X9B zlwkcPtoL8*<%ch``1-iAem?rWfw75k+dl@D2MlR{m3~e5?!{yvVkNBhV_A3Oql z9A00NzIU8R{ml7&=D!2WG&Uiou77QRtN!sY7BH>) zoA-4FLkU*~+b-rEOk%(M-Y@&lCh~)mV#H_&D!z{!Q^XJd6l;1yoE%~R%sl;c(vgY@?KMYJxOy@ZD z*k61!d;03v5ur28cHg^rI^-R`y}H-&#Y@nE;~xV9yA8v?_hz3b@azyyV88OS?c28x zd<=Vp{;?kTEccO%;SAR@h8=&(_@8i=e2#h7$GV48joFEP3s=R@XD>s(>#;B3mSg|K zT=3(`$Bw@r_`?KQ{y4oo^{av1hIs|^g@0B5-!O4}6Zm$GQ%xv_A?35cpIiSJ{+9ip z!+wL^?$4wz4u67JVwi;(?AT_px%_4Nae=XeIpk;3PlLaHe>8qSU|Yrefbrdjg5R@P zSpM@dKI5|z)nNPZ-tRHPn*?SiVIkh4Kaak6F=Vmq`*n@kjx*)I$X6bQ8{8G_R{#Az z8ho((Z^xd&a*Xv1zZ1LK=T)zHzUwjNFvqdju{Uu&Vs!a@;@>`=8;lX}AAHeZTgRHk zyyWkkAJ4v3{A2h#?FR#Ii^w4cm-i)%PJCSdyS~aXCUIN+ee>bj?+EUq|5HBg__~6X zg};b*24ldNLvPppe!#87#_@OA{|%gHm>j-ZeVFj`29plwGmbI_t-n%#+}7vyKEL=qi$#Fx4dVf(b4)3WaSVD44gZ_|z5Bm` zA>hxiFVDVTV4A|Qj5Ul!jAhPmt*_gD|6+9da^T-0(Kf!IuL^IUeOvK;6N{4I67CPb z-+l98aA42*KjnMZZ!Ly^e;kazIA<}g_+<3nOuTvh8P? zfD`Mtcl*99;%s8q`%}eoi$jWe-H$`xMVQ}lX)$Ykb9$fm#qIwJ&I3Gt+!t6JzI}U< z_pX3#gG7b!wtqVBnZBhkI{dKtsl#f=9mV$R@2g)+{;Duu`f2fT-roZ}emr0PT=?wv z`wH`>|2r7%*srlKVXXPi_DhY^<^R5qf4-`*3GjSi(_>;_n8hK$EcV9h(+egSj!$ed z95NgW7_`0>eSY)(-oHzn5ge=jbFeb8J^EYnV-Lfd|5e{>etR(6ajfDD0pn4^B4`fl_s>wgoc2ZtGx7`qUs+BdG}EZ>*}UUB99Yx$eQw1W8;g9MWU zJJWBC_dMTEaZM4v!g20v-3P8e4>)Al9RBk#tYT98z3+S1KR0HH|7m|6m<^can4U3x zV|4pB;XecOtiO}KU-|KZ=^hskOUieKuUfy@{)jO42rdy3V~Tk_>+QNfUwC&2g)ypq zUiWJk)15!BzPT{5@%~^s@%hVNCE*R66J9yI{qWz6tAb66br$nC#$yal{}X;r`5y59 z8|#;Ue%~tozhIML5cw|guY>&>^Qqr{|7+M8Sgd|CeEatE9n&O^8*En0zZhry-16$w zs|9R}L@YSMSavagVEppi?pM{HTmKLI&H8QjPlNpv=ZybsU(~*HFeNZ*{aeS$#~s1& z?)#cQ1%KcC?O}@%+$QkgugHrJ?^ZBzv0wQgz-`AX@bTNbC^j$tfFIAkKVk}Fa$>IH zX5&A>eB*Z!paobX?Z&4XhJ%PK|#mKcT!-zI#% z^=l1>65l1}j=wp7FZ^2e(}T5!XUgBE?{@4#LRr6_yjt=@fV<*<*PkBFJ#0$M0Sqtx z$o%;8tKwhF-vl-ru4jx*KiR%5_?y9TfK}^X(H}nMPfYh%WVnv7b$xbte}}Q^f7t(X z?AJJa{#^O(!Y1**?c1DRE7&e@eEaY5?a((fCO`HJhCBb4u<~&*F>Yh%`mOM_;d|Y$ zn*UXtYXl0IH+*^abIGqo-*5bJ;1dzlW7zT`>Zcyt3D%mweLr9QEchMt_X?{Q=N0B7 z|DXK(^TX&<5p$Qw8IA{U-@MIY-o|<3zuON1CNSABRZ^T^oQRJ)9Uk`>LW;rf1?n_LUzFK^E^ecz^2wTz*rf+_X>zHkR&ie6zr%&*~ zKZOr}{#;|>`s?z`h>3&w%`Y#8b1cVL7#KZ%X?*ke9dDRE zx3PZW`u0!fzX?m(zh57-{%+x2!13toif>`;FL+`YD}K*mSogo-*PfpxjA85wToR0@ zK7RXfg<%fohkpfJO#)GW?!9>Tp@Er$BZ&J8Hy2CC*DGH;n0>fh{sw)$_D$s1r2j%} z)3_F~ReZVkYRYc`{vEt0n6y|sSj2uReJJ>Oh~WU+4~{KAJ$~L|m0?d{>jqdxVq{^GpH_JZZlFPX0%Kb@HB znB^G${Au`mhIx;`8^LEkCOqBtdd>e=Y&Og#EUS3Cn74hj`Fw^YfVJ<}4n`^NHuk*V zHNRK=+w-sQPs#s?|9k$kFz@^S=%>lABBpc928?eQ9x+z^Kk`qHMT&9KZ;?NH{wFbf zVtT-Km-J_?@fO`v7ciU`|I-C?e`4^7go9deqY=E z-C*AFkAr0mo6Y}(pU>D7SigP$@u!bHi1oh0Oxu{R{IU6Q zi{S|8Io6Qhpfidt{h9NfjVVuH8E@Xte;;CgJz+Yim=V>GWp_8v~cZzkn|uKRB4Vm>igioPlEsPG>6UG$5AY0~eWH*lF6?4|KYi!>UBR&KzZz2;#|IXtzYTu_Sl<1K`CRdXiK9qx2aDE6 zxi2*w3VaEFo_!19IwxH4wd7sc{~Xqu-wMCfIPVF(Vb%Jz<@c(8RSX?}o_y2z`H7{C zgYTcqKP|ozfs{`?Pg8y}30&axVt&Fti}k@TkFOK{FtBE^1pQs`bHOhg)>rI)-vfTR zvGOnn{R`oE#<$~7$A>-NG8m5h>iM^gD@||%_q0D=pCUf5_SvJ@A+%S zD#h0K^W3{je;#ldusHp`#gNBS!FuieuMaL9XZUOw`Mz8Hx%F4#e*|L(s}1)%jt~D0 ze%O2v`niLDou54?BK!{AKyi#6C;Fh)e3P!jFPKYyO=1 zr^cqky5^tMUoU2*KX<-8`G13R4|~wxqF-izHU7=|X=r2b^1KvhY0fmejENC#wDM$zSRBoVhdpN`2X*Z8}l*N zs_$7JS(q9)7chPJG3DgK}G3ESa`E}sWp8sYH|Cn4DqkhPI{m1-{>ky;YpCkq&#&v&E7;dlx{SWx6@gs=Y zhl7K~gTsyE-!Gl7tG-_OUB&Fhn#1yr>DqsRzsG)``K|ZAhUpRGoxf6lC72$uequ^v zVq%E;9`!AXsfXKyHQ+DDzZDD)KUaKR@n3|ujm_oXoqtRWEWfM1Yy3OI_Jnf*`xfSF z-_yQG{ncSU!;rw}#1{7d*gq|{3Cxqet^2Zv=?FW|f1`hS+>6*w{Ve(Xfo~6fw(;HI`1SMDzZ;B4zEAq}gvpFOg~^8T z55tc?V*lGXxR^M8Z1|zaz{MiK^yt6O|1(SiOai~ve$Du|i-C=igW(KA4wDSyyZ=T1 z?f$F%z4U()>kpQ+zdb)y{^tB<_`cvfXwKyYp9YiL=dPc1Y-LO;zhi#cFf(vHV6pnO z`&q>Ni+37Z%kNje`2NoN`QXPC<`4V^ z90osJzAOBC^z*{+eVo6z_p#k#(O`=C74dD(pN>CSzkC=ja5Zqw`m^S1-Jc@nE{1|X z5v-3mv>4z0pY(6m50S5v7&fu2`L~Z@1#b>V*tc!}Vi>Hx*Zum()5q2J{l-r=<^ZN+ zKNkJUV6kG)_$&6Oii3sk#-Eh$_x_yu`{$1vYZY$^o7|5F9}aw1V+rHQV!!fl8Iu#s zgMX8L_kDN!VemhLZ5MA8*R!8-Zzg;`#QKDfP2dH?vUeWea@hWHI{Z8Lwe1%l^EBpN z+y(qAm_bATMKsys|?EqrfuKvyj=712X6?= ztncrbBLv?3D*N$(C69yWAJ^A&KWo^HIQ9O?ef#rg&+iq#?=jEetYB4Pe#UP1ukFt% z#zTJ`zRNJA@bocp{MPz+=fBBsrJslXCvnB`USR(7{nXD22D$&6eq8t$#MZ!a;@`br z2mZ`rn8GZ=IP0Gh<2A+$|9u!QvG4h3_36ylbBs0IK0G_v=Kb3Be?I8`Fc&K|iiBtFihqvapJ<)G(?ry!w~*d(yW9Ki6MT%6>L{zw&Pen-#|?X0~5!e|gyN{0sS(^GAh)hgIue7sE8xX@8Zz-TTeO zyp2tZ>DjM;Kld=YFyHwZ^Zyt}2us(WGrv3j`2CDv>EL8wwPBsdVhH-J#;n8pg=NZL3+7quPrmoPzx8_!YYMv#O9~F(eJoFaqJJcO#ZI=T=UC{xr5;a z#|yp~RiBWwUj*YF#yt!Q|D^u!V##6p@w4Z<+dn-9k3Tm5Zg4elH~kCx zDfKUdk?GH(A07YyvF7|&`g4cLhRcKL!>6{7ag2IgS*#&{|NOQ1*YHE<>k9@o?q{5{ z7{C3K`Sa&{)AwIL6PUfYbC{3)&ic23g^iKzx4`cOza@Uh{7c|oCNhhC&xZ?d%Kp|d z?fY|&yp(YH76(ti7~T>5+9H_QJnrXog*{}um){+IoC z`Zwv%w!hOD71)`WKm0z&mc#zytI=m8hGT3?7(&?MxE+{ReKq-E@$bv;px;6qWVKMnsn z{$FF*$Gn8qk0t1D+eeX)a*QQ>MrTgQ+|7VPWUl_@eDf)Ukz*6U#Y*}zR&sc?zaF(1zQ#SB+hF; zi{9t`+{T{uKj8N_7C){Z|1Ez1U|q$o@=N5)F{UC8v)?A4)mYSc3|R91bTD}_3;g!` z{)kD8BZBDx!?Qn0zw7>~F?0P}@aGF>2k#*Uolm7z z_Pu~{8_N+UHRi1UJ%0=Szhbaqy!E%@m%*P0?C1~`6t1a#cKC`-Dju&VI0f;2Qap9?PI(3bLh*54i6Gr0AbtA6!-vH85<&k?ROTn?<;SQ)scF=~9h_d(_787?+~JO9^w zJn&P8J&s|)x41t^JV$sMeoB22WB21?`z7(Ii}@Ja5oRWqUyMqBi~i1Gxb$nn4->|B zTpes73{DK^{)qi7`5VA0#HjYm>i-6w8m_$mOMV^sE%yHzgCE0_zX|`un3>r1nEbv* zeLTQiz!Svk!6?RP_s{EB)ZZkAoPRg|zGM5va^%mce;WUce$V;cz$nDr##F`jgnb7? z)c0pUF8rOwIE!J)-vE{woQoK{ey04I^?$~{LrfaX9sk}jton21d(9s;=4Z?djOQ2{ z7-Ql>4wh>ypV;btHN2hnKS{8HkI1y7QSD4zgRf5I8OYG`O@=ShGh$@1xwPuEXFsS3XBThU4DzPWc>c{qle`IQ_CNn z-x5p@*zU2G{pCu21@lkkR zxyCq&h41gGuTHalg)Pp4j-;RKk|NLuy}Bl zF{S-x_@(tXfKiRn=5NLCOMmw;xG?9jIWY$O?D?+pYs$Z4Ojc|TjA8$h7>_VU{EPbi zwnOHD^>$`qko5f2K=`8m-FYwUmM0A76;ZO z)>q6N%u`saew)2L@OcKyFYXdHCDt&8W8dmNZTYj0Z4pNW+qM4({>CufW7zWV6vHm2 zBE~p|7mPocF8urRo#DG5^A0v8h608RwjXRM|9XD7{7qnZ^(TWZhBt&Y>_^WZJJvf4 z_r9(Am&5sik>hU!>k^)OfAl^#{4isl$JoN~f;ECm>i@nk?|w?L)p3|Gn*6Q%uffFg z_rh1Ee{(oDFl&6c_w$Hghv1dJ-@fkpd*)x=UnV9q&LUPF#*Y6n|AKz#eXIL@fq54@ z8+!;d&mWUtM;H#Vs{KCp^A(F0TMy$5#(6A#e}ujX{JO-thHD!0mtO^c*ZfWRdyer6 z%Na(VKV5$}Fl%s4VZZP@;PbU#YU~|<@BED6m?M<%Kj@>^Pq#lMf2T2f@vh(zW4ZS| z>BEQb$C#_wr?J0bO!(XK*XG}aU*CQ&;dsIU>ScdmG-68mr^39BDdSJouSqNs?4MY7 zFw6XT_QU0m9-|9G7K0U24C5yT7v^6~EB@&HH2HspU5kAVqaDL9hHZaMe&ziYVa{R} zW0YX7W6=BO#dwD03PaPsB<5+18-AVowSZ+7`vJxWe_9y)7zO@W{bOO4L=T`uK#=34lr>1 zQ(=6=c8=x6-?~4m82bLS{LuTqgYyzg9&;SWGA64pG2i~N`Z0C=3t-;H=E5NJi|sEP zD;u{DbJSP1?_JC%c$_$<{hjdD>&G#MFRWRNi~a^NA7K0T=g|AKZ%Ldrg0EPU{@wY% zD=!QhE1Fy>_UI*z65>aVMt>QV|~Q(i)qf^H@{t&QW(E6 zByu+IEv*)YE-zEPpFcdL+u*~`YgZT^VnIBc(-uzp`^yK#+1{rQ2 zwgcZ*eYp0$kAaUjh2M`s;1kE6C{CfjOFqo{(ZlhD<=KBNW(STJ{}+7b``p0rhdGDY zjO7p0y8l9dC;WTH_>aNp@2+2dzt%AR;+Ems^{3=((w~z5FaFK@o4}yM+Q%C5Z`rqV zzg;-Lah>|L>f1FICiZFH#Xh;Q^zl|OulNziaE~R9G3k%je~16uejoaI>;Ef`K2C@K z8Q-J+_Oah!68b6d%ZN3LO@(R3U#q_^|AYQB{8M1u_CM~o&>s)h8?15vulzgq?;C?0 ziwbMpzpft=Kezmd`BTM~#>>GX_vg!hHb%MMYkt|WK4RJNyXj{H^FOv3|Bw7?Vm4!x z`JwRZ7E=@RGe$Gc8Gj5uCjI@uEyiH*c^XRzSKYreUzadlU~Kpu#W;_16XS`m+kQ^_ zE5SI0xs0KWVHeXmrXuF1e+l1WzQ!?Iv0nSJ>;D&y2P_MI?)iU+W!hiAZ-0L8VQypT zW0m{A>HECzY5%eqSQw|V=Ws|cJovuiN8c}{zpt1#aed%?^>5lohmS{o?PI#e62tDt znZ{Pd_~+-fuT_6`F(mz4@@E!f7uz;wpI`5OZTq+6uf*>M3?JCGu}ZM8F+BTj^rhop z6=xs21+&oqfPWSLxcu{fJ@M#8Ja^?t8`0fd7~NSuuNY&){0| z_rs@CU;F+o`k%q*$8m!D6;sbog&zlgO8pLD)Z=R4c*Qu6;RVy4AFICF{7++w_{;U* zhm(PQ!M_E+Ui`WC>(|d^jI+2ySl9eM@&6z5j^8n#ME*QsW#D+jB*Hj>A>_Z$pHDyI zek%R3VEMt_#23Wk^^8bv0nS_@$ugGb*vFQ4V-=~FTUG+ZuzzD?~(s(>=$_5Sf~8>^y3q= z6&u69nm_y4WEdSj>;0L+w~uSt7rrlUj7!*B{&_GNaq6&#{PFk|^Y_NTr2qez-mpAj zY+;zgFpJ^E|4;wV{SNwhj!}ng3bPj@9|PB4gFhLJSD0ThZeomKZelv~kL91h{||qo z{;Xh(VLI`D8sk4!71jrT=6p9|JjTYw`0l?Kix}gLZz_LYv20;s`#<6TDMq{h2mVa? zYrw?CdWFI5pWgpT|FRe|n1UGB{Jrv-{7ws zYZmi|ulIg1aES1B{Nwm0_EU-Z1^Wy}zQ3#fefeX;u!#L1$G6`~Uv7N6@LP<{h3^}W z7z@weci%UBs`?zn5W_o(>jAqQ^M{{C-+uhGVn|~A@;BlC3f50-zy6#2e)T_zC4uqB zuY$i-toPWy{1y4O?B|z%A^&GEhjF*?vN5;(Ncnc+_mlq>zbpRR@$KXKz{vFf&mXq0 z6`$VxbYN)U_Tp1uyzoQh-#W&;?{px<$SwV3uW_WjdiWMOCc zU-jj{S3f2;wh*Q`rg!WyTxS@UeLeEY>-&vAhZz2_2k_nCYWe-=^MbD|Kd1doV-e!` z#C(cTjKzlK%U_0{B|qoTVA{@!8P_4m%V4#qt^G3*XM%s#jM zP2%ukzx1DvL5w|%?Z)>fZ#8~SV>DpoV@l$v9^4TJ%8u@PGKtJ3}Zd;Gv|8`^A~op zKbL-Yii+@}!Dog?_znI_szVbcqpAYklKTf|NG39XPu@^Az`Sajc*N>#% z-~O@uU&PVI7sk5o*NUHAf7Sj({M*I0hpXqm$j^e`kN&^<-^1{S=?det-xmM=aBN_& z`R(-i(yuVK58QDq`+k=FV`5ABFY|fc4*~WJ&LqYrrUJG@f7-rT{n+!rinWaO1fvqe zA*K_|AO13Z&-nd<@dLxA|DRYHIQ1BL{>=H!^-qfN+5b&UGVD_Sm446otMKpAUj;@r z))uCcf0J0$xR`z%d)M)M8RtFLjQ^{c{xF9z+5G+RbH|@$|HT-T7y|xnVCLZr_+Rp4 z%HKTZPruoIm@zHj7GrhzrSyx3!H!|tpACQK{NKd1k8#bPw0}G-Y0M0N*?wjH-Ncx~ zFG{FnG9^s|T6i@k(N<-gPKb^ooH z%6|L(I>PXUrGnwXpBaov>~;UMewh5WVfw&O^5@XMNo+=pT|fW)^J4$=U*LNU!v&Ug zOm0kitS4#uGWO@BBTRmQaBhB?1y{V8LZz$C+* z!McS}=!e@zdkVRV4K3A@oxk3G3I~27ybOgkj5m&%)xx; zpV`l}KLyMS{!jUN>fZ@&Hui0Q*nZ9UFTr+>Y2L54UkU$(nC+NXv6TFe`f=zd7o!g& z!=HWsA2I)64Pbrr=hmmLFILQRSj`x&Fzw^8;W+Yp(T5E`_pp9r37>t;|{F}jG!!E`y_uJ;jray1~-23~5p@m81 z|00Gk)(K1<-=cm@VLrwD;LnA>3s}XNYJNZZVeqBh^GEB`hJSB3oEZ0fKJzDq$Ab6EZ=p|8 zKTDW5F{!X=uz&b}rd&ufL8J7%^2+x|8%>M*Zi{P$0a!H+rbpW5$# zOh;G^7`gtG{B8I<>E8;*6D(&K<^CP{U%_0*pz)85h2@{hSDT-USasMJF}`35VliM) z`jz)<)89ADpE!1~J^Q8cU5)7(^Q_-|KV4XyID8m`em4Dn#dwQ#5lhs6jlXgKO8)Zw zdBotsae;BwZxx0f_Be*TpHBa?SUxcY{J-_@(Qh3_0k%VbXZ&?yp2hs{&xJoaj9iRK zjGq|O81DRW`hD$>9HRwW2}cK0((gHpdl+y1`0=}l^%1)PW8Pme#y9_rzApO{#VN)1 z<@<*pJghYw9?V^Tng00wabVzMEMib%5n!Lj81Sm!X6Ft{+R_@ncq z=T{DsA4dbrqQ6G}jhN#YcKvPoKZp4pivr`PA4k4xF!Qk9`&sqv0^2m+K2|n{mOs<} zZuoET{|Mt9CZ>Pues5sh!Xd#tkJkR#$CVX{Mz#O*}pahIaVu96^=y=4}N|6)AHxS@1Xy4n5vjdg;`glIa?JC%te6-5 zS@GY3N#j?}k88|(ICI#xG2HoI@Yn1|#Lz$ z`!|c}5A&vfRsWX!oAfV@A&iNS(dXa2zikZb7|R&km>F2|{?Gc}_M_qdD%J~Z&ln2+ zUt;3=U-j$N@3Q|h{(1b3W8B6e!pZcH>GOdfhnT%sru^+?;_SK3@(3b z{^c++Fv&6O_|x?J*S`uT1EvZF6^0%E1^%}&I559qyz(pR`;UK295pN=|33YTU|RR5 z>u1Y}{hswl?eCWVZp`x-vwolW^MP>|^DhQ5#%KTAeu@1k z`2U7OfU}RG?T^X-u76U$fBZhd=)hRQaDd?+gV6so|3esE{&oD8V_;xw`M2TMjDKZ} zuNdwzPGU0o*YRJ5sq5dpANRg~`}2>Zi=&QNit*T=N#C#iy2T>E((-%VZx@ax)&+k* z{GIUc)^D}n_ZVbYelT(UbNR*ePmQVQzsav#{}VXeSS$Ya{QUO2=kEgsJ*GY;Hs)ze zMSn$pZD0yxdi7o7=PZU0<|+mi)^l7LY&Jg?J|Fv<^7j|>H0A}2JH3bgnujktoU#D{~p5$mPJhK{#O0^^DF1?E9PCCL9Fk-J^3<+ zv4QE@zkC08uwG$~`=9o2+kdNnS-*Aum$9cXefk#h^9Umk+c(BjeOk-r~Gzd3*x=PxbFLbAD{l+`8(s^12!>UC6*;WHGcOn zdi|679mRBkeG0S0KL*BC|9yTl{gPmq!uEpw7t@PB_kLyk{lyRk8joUl!{G6si@A?G zg?-(RijUuZPh&D;dBWPqc7f60cf&6M#wo1F7y^DvupZ-PVA%CZ@8>G^01iHu75@x= zi~QvJCG?+*qk@NlZOWf1e_k+gFlYSH_$~3jh2h!XGR7$!Z#Wqk&;73W%g3PfH|@8; z|5+?sSWmEQVru)h><`QTFHG;4R2cUBw*ZZA|6}_T^FN2Fi>ZuZ*8e1iJjNpos~Gk% zN-)FVq_2J(o2ABU+m=oBeSQq^( z`n~42#qW2&dKe#YUSk*eyX8+8>kJl|9}GWEvCLt+!no~k(7&$#Wq&(<&-fR>+`(+X z*u*lAZO{KFUu?cD`?rjF6;l|~J+?Z|0tT(mZlAdr9auj7+x2%HYXzqfOTllYpFV$` z{_*^>`)9@O#d(JD#orhIjQ-vEUHAJ8LmF$=|8sv&F)d^K@t5mA2Q%OQuKz!n8<>6m zG5neI_s?&IzkW=0Y-P-9|Ga)l{8;lxhhZ9154!<}9V6GTU4KKEI2a!Na{0@|l*8Ec zZ`OZ4CN;)2|Dt}M_;um`3-%876aO9l{rVg5>&y2ThIwqqSW8%5G3ou?@J;Jy&z~9w z5!Mq-S^u9fc(4@x_xbhdj}OB+CIQAL|H@d`v9kP0`sw!n07JviXTR<+E#nYjUGcx< zuiL*Pf2RD9`xC*D$5rre+xI5MI}9B^yM9Ztu4CKwPviGK1`GBkCZQiTzyC1w{k`*B zhv@=47qh^>roUAT84NyuPy9(^+Q;^bLF0$ZpEI0htX^NHedl4?#~e>)gL7~>c|{pDjwVXk9{ z_?z_a(SMac$9|srE5;(gvV&2MQRBbO&rQFAm}QuAm<}+XVe?zgR*9b%zMcBp^8eWHLktD1b6DyaB>wyS4f~Vycita|zhVq6OfIYmEE4}Teop(z z^hfS@&fjm$T^uzmD*tc&mHDspH{^TKj~+G;J`0u~pX0u|FqN?U_{Q|(2h$-gAtf*svV<$MAd6zdl9|rbSFIm|p!=`u^)j5X%Y9WlSA^!kFZk5B&7|sld35 zCFpl%>1))_4~(n+S^X(sX5orqIq=)!cgp{3%!`-bSd-Ypm{$D{Vp{a)*3T={Uv+-{V-8_?@b}Z-5M~ZmjsG0K&iuOb{|eJ3<|#}U{@wb= z0@}aF*u}W){~E?w3?lyz{A>Ep$9U{t!_PUt_*hstU6{80_xQWzN7t`DMl+UG|1FqK zF@IvLV7$ZR^*`%J)XyBo6D+U(KVo>q_~6f#&69t>VAJ**N8Jb$uTkAYc3XVi@sd>xqyX-`O^O^ z<|>wb|I&W&{5E5{!+eAxiy`Fyt3RNX7Q6m;{7zzA#5#xR&A$*v7p89vd;Z_~x9)Gp zU#zdfBqKy?fS{^^V|PBtcw`B{%>Q77v@P!R*Vk+9{oP@`_i8ef4=>j#-hT0 zjp@R#x*u`>LztiaGhtZ5wBg@`@2CEnvF&4?_2=9_Ehe6S9gH;`T`ZfvxO}YoZN^f; z!p3}qWfH3%lgux-pEk^Am=*p!`%(Aj14A226T2PrmER%X5B${ow~l2NrwgmgzdgU_ z{N?()>t7u+6LZjCj$Z=*I+zZyX|SI8-Sea7UmA16e+kA}tT_x0-`u`k_%FxW!{)$N zz>@Lb=a1hXzQ0@ktoR?qbmjk=egZ`}hw~2WRdj^}rZ;o#h{>@{EVPs=E z!*GQ072|||&wl0o@ndpgx%b!Y&jhAE)-EQoe+~cK7-szm`SI(wAM*lMDV8RdlD`q( zU;VnpXu&k^pWFXi3?7WX{y+FXgHei!gTd^-*6#(sdKgof*D$6qeE3`O`^X<5=6|dV zzvaGIF!iy4LU{(qI~JB-`~F<|zm4Gs<1Cgdzdw9w`+bTfjE#eJ7h49ysV{w>S1~PM z+4p}9gB)Yn{}&9W*cY&x{Vn@(;a9@H2nIQ(0%kR)AO9Bp?fZ9&L5VqpY03X@zpwmO zVJczaW7zWd7ULJjIe)Vl-u$ooGvl`d0~f=qziupLTo2emvuZxy7=9c5cVUg;Uc#~B zm)Z}n|7k1>n7%PS`1j<8(?2WLKg>b@zcCpwo%>$%-GF%$_X5^;jC1~T{GRre?^gk< z4DUa#fd5|KfBi9I-1T?MuQ!O^iR-rm!6Om-hS6PoY01Ot)C$n11|O z_9yE9ygwEH7O)>-+x3U%$1VmY)*R-#|4D!1{w!j6!TN%wh>?lGfnnQ^oNu50Kj4_b zy5b+hznWilzs~)?!otKdi)kLq5oVLW=e}+FxsN%GRp|eR|2LTCFuh{9$L#n2);F;q z|ClzhEn+ZWn8SFA@!P+gzi0l2G4L=aFdHz}F)d-pV_5Nj!5^jHYyR1>6tI>tZu=*} zki>A~Uj~B_s}+;d-xGf_7_68%n5O*K`@iV-j9*NQH&`@Sf*7~_Z)5nvVE4c8?}`5x zn4d9+{eSi63d04~Im}vrcK!VHPl##S|0;$9?2lMVekS}jVQBmB^k*9r2U`*I8-`o| z+WuuQ&SKfYr0~b=XB0yLs~zLE-;@5Y`p@!f*?$?1BkV>DMhtcTPJRFL-HKxiZ_VE= zUzYs&#j@f5A%;ziQj9r_E&m$+bTM?XT>8)PGwZJcYXI}2Kc5&cvF`dO@x|=tB-SR* zFANHQVi;~PYyDdFYYmeR^N-(6e;8QuShSd&7-AR%7*_o<`_A*%jxCCP2V=>9tG_Y7 z-F_=E{9#LCH~O#etLV=!1_8#Z|7r|p7#RM^{PSY`#l*lU_SfLI)*mLuG8Q@36RbU~ zBLA~KCwxBjUyl9WKbe0utPJe87?}P^{Xh0A@B6P`LdyM=`4~{9w4p9LMnFTi%aJ%qO_s zG0*tD;HT2RHw;<~^ZxDlckge+|3^$;n71%m{Wbb+^#2S~4dao2_ZYmGq!@1fUS{m%I(!}^A$ZSBFu6y@ny}r_t{W zW(}sI|6%{N7#A^pVhs8h@@pBx7S;*>`2H|4y<^V%>GVs7NrAcH-@4xo3}tLqED8V5 z{44wK^83TDRSf6;_5JH&EMQJ!ZDE!AH}BJ%uURZPoR|Jj`Za@b66=$H_kM;k=&*?} z$^BOQr^W2Uc(F@0c= zU|906>5mL!3tJ2e!>^jJD}E=i7=c#kFkE7t#~k+8@3+OjHUCRMZT5eEezPz*FdHyg z{d@H99qS3^oIksM*Zj}>lkw{oa}R40;{}F3mOKCXeii(k$M}JP>0i%39mWDiK86G) z1*W#YUOzj2doaqd@v!%>eE942E$3UsKR31qtX7O63@VIFe@^|X`Dey_j#-C!7t=Wg zlYgIn{`oP3VG~;b)4iV;{(7-Dai}o_{Hge7^0(>xzMsdKdpLvGA{g@iFJnw%So2Ha z_dS+REDe8j{uHn*Vbl9t^=;K(5w=MzzZfzYiWnySx$#elF^!Rj(TQQtKc9ak3?=`5 z{V`)oV|~IP@JEMHj_no8i~l-*&-|PA=hN4czYo}B*w*~D`>(`o^}mE6fMMOgl>gJ1 zrZFioykac*|K<0-zX}Wnj9g4kEKMv8Ob-7Y{)GI~VR-c?=(ihF0H+qS$lnY9_?WBy zyZyQMkBfN@OBmy^zZd?t{C@D`)1O0ZW}HsULjTYGGhq1ff6ITnzdrxhvCR5^>wD7g z8*DmEdwxv#UBKePdW~@pa|cV+zmD%+zast}``^J(#Zv42M2#D3H;co{FaB|`ig1OodN79ltN3&3FVFuif8+jouv)RS{3`fu z#q^H3dRWUyLx9{hPKNlF~7?l`}7^nTS`xWr-98(2z1ZaoQ-)n!? zu)JU~`g7n%#s3_}TfbZWH!xpfQelu|+{2LdZ{5FZ|GxY?^MB3%hJOKn7yL_L(qbuK z3ScZ@Q2HJ5E#!X{=QlR7KXSi5{0(E6$JEERfu-$_${&w^3mBRhz5ags^MTAuX;bf{cmIC;}l?R`}66i!=Dxg1?DBp=a?2S{QG0|XWqXrOgmWI z{$>5t`q#&t!F1xk784Hx*I$i)U5tJVY5)H)c`yqx?fWnA=hv@u3~B6Y%=3N~{Sf%~ zit!wC4)Z34KYxz>S;C;i@`c5PN#L*A_YJ=-STdO07;Z3p`2XNf6Z0Vsm;Wbz6#QAh z$nk&IzbgzKObo163_8C<{zounF*z{&`xEt#jX8q(&>xxdfFrNCq;@=6TI_6V<-u&!iOkvr_ ze2@7S(}}-1zh3=0#!$v`iCOF4w%@D%wJ{|9^MNo7`YfE z7@8QDF|J??VLHUX@#o*~lK;yX?EYV4@%1cehK`Q zU|q)0@a@B&Q*8g(Uj1A0r|jRY{}KOV{@XC_VCrL#`(O0`(*Jo39sijAocjBQF^$QN z;R90IYD8_<+5B?rwbo;OLFO6XiL*9R`KYYJ+7!_DN z7$5xW`=`M8jq$`kxjz^Fsxjs;STP7NX#L&x%j@4e=2gr&|D^sX{cm7!`yax|39#Ga2B!r`Mcz2)6cYj4_G6ZZT`<=V){St=aXMXj9Zu|?YVXvG&siM)HvMV%Gvl8X%QGgM z-y*+evDR@*F{ym3`n`rJgCXeOKgI~=L;of**!|D@w~6r|L)Jf||0fuiF}`A$$KdnV z;J+DT!aqNTV=TXz^ZtDMwddcv|5pEb7`m8lFoiMdFuY(mz_{-}+wVocBv?dP0{*P~ zyNKljtJ(j6U+ccd{9DAijm_gf+dqf@mwws(s$(|bn#6MEXT$eJf8>~KSVCBSFmnC# z_+#+Dh;au)$^W$f3mDQEKK%XhcNS9%TNBf@-;;hHVTfVS`7g&5#FD{u>TklI6vj79 zJ^%mx`^BK}Z@~|RzYMG;>>1283=Pa{m?!*d`d0Pl5Az?!Jq$6-Nh}f!B7cwkR{H70 zFoT_q<;R~Re`hiN_}|A6#ALu|^0(oi023Qi-v6>cD*w(gtzt0wcZu;C>m0Ttj2*vB zzRmlwlX3EMoTEeuI4vlw^%T=#9w-vYKIHYbLH|92Re7^418`*-LM)2}tZ zXE4Zdyx}POpY%uIf6l+GUkm>3U^&7%fhq0py+7+1nEu=S68lrf%Ef(!wdv1+Uk?9U z{-62b^=B1p99!L=gkMGsXBZp)*Zd1$T)y~azyAFA zJ?n4U|3eIOSm&^+{0;i`<6i(P59>LGM}G_c7crjuv*72Ne+3LZj4{kNnCJbEVa#IN z!f@m7r@w!Gcl^#`&|`^WIK=pmaW`B<*~J@jkdpB?|a{_`+oF-0&e`scy8h4IHJG#?Bm?P z{_fYaFQ5J%`~T)&7gG;=0z=9#3x;FN7ydQ;@Hm27|#8O`6cn^)t{38 zZU0A0u7cr>)HTxa(JLZ28a|p``#t(mg{f_wO!90V> z>-V&8B7d}4o!E_7j{ITyb%9|GQ{BH!zaRXoVBEkYz?#Nn@K@zm-JhoaO$`73yD+3M z9bjttSN40`pA!sE81MX3`nQg;jv?mnwm)JF8BBRhB@BoDTKp^f|L5P4|Bo2#7$5w< z@-OG_y#Ke@MOdqT=lyu_n}cBiqY2}o|4|GoEGBHn80P%^_4CcYX-uCO*D)Sp;9=1D zU-h@>-zA1TMjnPq|3ery{AXbdU}X5e;_oVk8%!Dh>;A3!x9$HAMgtZ;hBrSl{v2W9 zydMlk+k?qgZPxbMFggT?<}fA;-0`2U6Z5R(wY8AdOLq~FVa$uRw5 z4EWE)w17E@@zTFCh6+XormX*Azl#1YVzy#V`Y-e^g<&3p*}sOrR!omr*cfX5onm2Q z()qRJ$GiV07z-Fvn2VSu{jd9b2iAiB9Y5#%`tx6gX%d6We+h;R#y9`N{wDn? z`2UGTkNq5D*3V-n zzl!M(6CZQh|DK;LKUXm~jb}>%)f8vkTe=f$P|2+T17$lfA zn1vWk{@VQB_jdtf7xOJ955{{8pZ+iV*YD2VtV#}#$TWR4h#+dF8sg5 zoWp$LUjmZ^Q`4_c--Q0Du*5JvVEDrHhS`tt#lL`m7XLwaADsKw#8|}ix0$|8p36nC~&{`>pm@ zjkSj5!at9{UH@PO#f8=DlmGnx-nn)`|RHbrmX*u{#7ts_^5@bAb^rAk#h6zx7X7*KONB{{+2#M9|5>bj%-?>^`Wf@@0wV`w z8PhA)C(JUxw|!srTk8L@Kc|=ua2#P>#IWIC(Vu-krulC0 z`fK#}+P`ZI8H_!QyO_9`%>Env_xa!PTj9qY1|?1lHnsn6ei{9q@YjGbicybo1@juF z4gX*Lx$*noZ>zr({;M$OFrWGV=Z_OZ5YwT5&wj7?bM5~mh9m#J{h!6Wi0Rv3jXz8N z1^mlmP-2N-6=HT`Sn;RkXVl*yCLe|?zis}Tv8`kN@Jr%v3hOk6u3rX!elVW<&-IUw z@d0xhBisKdhHngJ|4;ne!*Jq1)Bl41KL79i_hL|E=wjH#P{8<(;oIK{f72KRn3w$1 z`uByogsJP_j=vZFr~PUA#q@s>n+&@aL)33QhBu5l|C0XP_$R@%w|4eK>OisUien&B1V0!ec>DQIN4;UsfIxsh|STN=N4fzxI zFOK2N|84(l7;I+SSAM?vKZE@ayB8zhKasybes}#YV_3qp>;JvK zyZ)bIKF6|;;ok3}-*f&~G0gezz`($`fZ@kKzkfOZ-2OK)$S_qg88OcJFZa*k&xGFw ze@`)NU`}9u!XWZr?Ej2^3V%=iOJFi!&STuhkjIemkLT~A-*vww7y_6Dn6EHaFl78a z^1FZ`hWQS|nm>pBRxtIkPGEfTz3ICFgA!8)V+oTRs{zxMKODbq{PAKIVZHZ{@7I}s zJb2&;3nf2KB-u{>Lx`F|1)+!feH4 z!l?G&?C*^KE==bbj{SM}`^#S~#u%0`76ZnHe>(ql{-64{kHLe<>wnqr8UIw6gP2zR zHTk!M*^T`UQ_@ed9}bM`SVEY@{?B0e#4?N7=TFGbPyb|Cd>A?YH~jBmWMV$R)W!Ji zzs^64Ka+kh`1gRNi%p2>$UifNI)-z9-u>Ri{EvMGL)7mHzmop2{8wOIz}mntgYgM- z0OOY5m;OdE$o#+bw}s&iGXrzYKNirqBU9Tyoj*DMSy*gXYM3mT${3se7W_Q-dl@4a z>o2A+|F``2U|z=(@n7!Ogx@Ea7}%5;tbQ%}zl8DHe<8*u<~uA)m}LHe&c@VXocBND zf7kzg|G1c5u`Xeq@qfwhd4IqCKlDfK{|=UKERPtQ{`dXA^8diUj=z8Y8ZoM{*05$U z&in26+vQ)>e+CvljuhsYAIts}uop1>`IYu(0rL)~d5m!kU;bYCBk)g!fq|)v$%Apx z|1yRX@c6%Q1BQd-VSVg9AeggB~LngVz584DXl@F+TZs z=&#m4oqvxQ%UGS5-2O%V+rc2m#K5A*yzHOf?{9xWrRtr3KNx#hCNZr07sT|5dEft2 zzf68>{pVo(@Nd(loAibp1WVB*FCNm&qSCwg`?le^h=vVqjw1!Z6_v6XPwW z7=|x@{{0hS-oX6o@0lMJf8j1>%S|JD9q```E1=8qmj408&jz`q8DdH+-Xn*CqI(!j#?KkYBqKbF5% ze*~C6u`Xa_`V;g!=MSi~)ndtD^!oqgugpJ<|7;9%{_pw!GV=i1`K6JH{6b8vo<|R{Xv7@5+CN|6l&T`+MjA6UJ=}FaDiiEMtoMANSXR zp@M z{|@|r##qD{_J74+tG{)B_x$H$Y+;!3zkor65wr@FjbR-F1LGFPC;ylIb6|M$cf!w{ z-w&8;SS=WQ{sl3tVlrb~^=Hc;HiknCfBv6gC}2A9-{#MZ-*^7KV4TGC=wH&GFHA-p z5ll5dzWmzp|JL7_zYda{T$nxP#>y%Ppp=e+s`cen&Co zuyXzP`*H5iHI{!Y_x{@aHDJ8LwCA77pDTa*7-X1Y7%u$lV>rjS>%ZT>35-{mTo@<) zJNGx>|EvEt|33ZO!(_%1_uuCCj(^{nmoZ%VEA=<+@3wy;|M&d6#ju9ehIQ4yN533? zFZkENAi*$&;R{m{(}sT^{@(a+^)KRo7*iV)$Nv?7h5rBeFUE9<@!G!)e`frh_x}vT zI>rd5Neo7R?EXw)h+`>Zc4OpV`0($=Kdyg8e}n#KFq^S*F)jPM>i4uiGJiAvpJST9 zBEiu1&xUatwg@}i~liy z-u=sAnZR;_;nLrPe^34y{8RZC!6?Df#nktY>z^1S7t@b_Z~n9}Ft9{1P5JlXp9n+Q z-#vf!G1xI5`FDcBh4mEky}z4&GyJ>tzv3_7|3j>993o7Qes25u?Efm}X^ay8zcJ)7 zvoUJ?UBhsMrHrBA_pZO&m}W6%{G0GUi+KjqvA;ckCou0}%K3Zc_Zo%-CIQAn|DXMP z#i+pYjX~z$jsJ(3Rx$Yf&G=LIe;QK;<@ z986Of8UDNc;ra80;SkHTe-6KI{olj9k9h~vG=_rTOa3fl3}bZr)ARQS(;=n@3^5FL zjH?*$Fhwxl_|x$F!JkY2nV1`xrZDI+YB1IOzwu|ozbF4=7<3rlF)aBv;okwqNz6fv zKK}&%o%uKG-c0}>qrdC^R58wCT*2__zs>)o|Cjz3{NKc&!~B79-XEpEOBhcu zw=f+0Bl33#!#k!JW*wGW%q#vS{A&Bv^(Wx}CZ+(6Z`>{a&wbeQbsh5zHUWk!Od>4j znBM#k`E%@V0^=P9q5n4jW-%;c*~Vb-hvmN?W6po4e>a%YSOOSx{@wcDz>x9p(Vr*= zE0z^3dQ1w8djEd?^7yyw|Be4Qn2K1YF$(LHb}**==>pvV%#!!}*bgHH7PbnelK)H$cNks% z+x%(zvxGr_N#K9izYWa)SVI1)eDC>_#e9pU=l`bPU;gi5{lIkP&%M8gnC|_r`=#_Z zgyj+Al7BY;g_u4t-ud_9&$fSJOf^h-|Gxa%_3s|jum3Cl9bsZ&>-)dqN7L^LrfCe{ z{{3O7V@&uj#Sp~2jVbHzs$UL&*ZdXv$HsVyC4@zUN$>x@-#>o8`p3qo!8nJ3@4v&} zs{aX$JN{ezt@v-je2ZzTlk^56qib&;1wroAK`jgBin>zh(c- zn7o)8{`35c`Cs(U;(ro@!9TnI5zH2>MGPJPe*C}o*XXCtuQ z`rpU2h~e5FpTBPyZ?Vi{5c~D!w-eI@78`~se}xz_nC%#&{xJL&`CrDA!?cenh^6LV z+mB1XL>TozBT3A0%r=Zg{{{Z1{JZy0?!Uxej{iN(9V|coFZ-v*uhB?j zb4(&kTNsQOjTn~v-Szv^{|J_CtjCy2{V?Zu%whcN&uo za}k5e{{V&zhARx){!V=Z9L`FG`y)Bgwme*C`lw}JH+>xuvS z{&X=WFqZs#@b4Z&2ZP@~7KRq)Crn0vSN(d%P{Q_yiRs^yzcP#u7#{s~`g7!e0;>&k z!k=5euQ4uR68rb&-xj6f3jSvNcVK(M*7g6w z&t<iZbXMPL)dG%L|L4&D{=?v2<#yNleejWQgi9wF(3)3s+8;o~;pZU4&-zi28 z#wq{m{--cous&dz_Up?pk^deHY5%`5s4#0Va{Mp&_w1kDf4l$t{+BTJF*`7>`?K!1 z+n+Cgr!izO`7oI%XUCtI|9yW$GD2ohEa~;2tyvjnm=)WqL^N=IWZ>vN&EZlU)Fy;rVFfHOw;}*{F(884`UJ| z8^eSDmlzV5?3mX4TlP1A;TEGEL(9J&hI`DH7;=8^`n`y857RYi``+JDNkLd{GB!)K(4;a4usrr58e+#1oV+ms&lNLkFznuRs7~U~7G2}43 z`~Tse$bSaL9;R6gXa1`E%VFSQob-PULkQCbh8w?oe)}<`vF>8!V*K?t@4v$TXMY<0 zeER>0k%uAb{{rSZ7P0>gzgYg6G4e2c`hS374r2h*8OD%*BEJ{>QDgLDKF4^3!Qy|{ z-_X?4QzqH^w&RElh0x5B<$!aQXM;*MYxl zSf{Y>V0`u`=D!ldj=#(PD*W5`?*c;zixShne;@t}FqHf|_Lqerh=GM+2jd@RJ|=^| zc7L`ph%py1B>bPnIE%^Q|B^rd{wgqPFgY-TPDe;%RAJKkr}mrUzX9_MCN~B%#x%wU zf7N~~{IO$bVs2orVaWP_gt3Ql0mBUjr~m(cYy44RP+?rb_=)KQBisKOf2#gAFHPX?lHzAjC=m>_~*x9^8dv@8KxSRC5-?6-1=SeuY`ez zv5wJ=vEZM`KNH3%W*-KYe-{6?{8M6JVk%(DVBlbI_=M-jPb<(w7(Dj889AUwqv=%;P$uf&$qvi{we*h zV%Wq~#{7XH>95q^8iodjM}KnutzZO=l3n}%i6Mw#7Ngn!FTd9OI`{ttvlnv?!O$O{;gx+U|jK=>rV?4A8XyezCRHRUznFL>HW3(_3rNxrVhpxf6x89#<+{=2Ls!G zBL*|Z7yrEeH2gDQ4Em?_SBjB|^%K*T{}KPs{Xg-?A6 zKhNKN|CTTw_eUz_^6z2a^k9M z`FH1^3R4M_%D<>TVhml3IsfARZ2Hf~tim+mU(eqNh6_wZj7R?2{mWrsU~*%K`j_;d zjWLMf-@l~)84MQ~4lx{JIPm}1zh(ck7;gQ0@K=Jtj4^?s;%~&C4Ge!+YgiZj&-(M? zkI}!7|2hm}3<>`?{4Zj3V!p&Q;oqUZ5sWDe$9}K+Q^g|0D)fKS?+^b%7>yY3FgX1` z^tXs%1B)4h$)BkIA&k%defev_w1P>3LFT^|0}sQBf8YKEF>YZx!T9I@tbeEe8vTv< z_vL>B(<7E6%zg|C|1|zx`?u%+zyC)6Q~qyYIKgy)C64LYACF%j{_rqZF}`CiVzOg6 z!|;dU$N!Xn8vj!M3ou17?_iwtSLaU`!yV=t#;(5_3`MLw%nptYW;x@a*4{f9Dv_Fh=|<`J2Eb!#st7;a|@03;&8(F0e>3iu`Z*f93DH zzg~Rrm=Ymi>Rj zpu-fx5cQ9VQHHVTug#x#|56y67)_YYF`E5<_b1{X$A6`NXZ|~}9AozT=kssI{{#Pi z{W0dP|Fak)KqK#rHyDon{qy_7KQU$xX088g{>=I3 z#bm?u;P0&8692z2mNESJYsavJ$%k2u;mn@{|Bf&|_+Rn&!+$m=wtq$cZv8i70G$%_ z>felCb^m`c-uM^w&xu)%+3T;>-v)*@#tw!POgv2I{@DDg`L~4m5c5CAvj0VYHU4d5 zRAJ)zx8lzN##yW%7{&f-{9W;X(SI$58UHu@KgPI<@y-9Z|8fj77#A=I{r&YvjLX{kzAohH=gRvVRmtLj#1u zAZNrQgd7+I8WnjAs~gm=-d9X5wIe@t^gQ}>k6_utG>>&D5367gXaAr2FW*1^`Vql! zfNLTDd=BB?w?7{E>dny4sQ&Z%C*^N$3~O097y}tsvdOZZV7kx3!k*5-l$qU+TX-zR7&k{>R9)iphn=m3bfI<$nf0Lw{8VIzkihmjZy7K4fFUddg%yDc{tOwb8IVQ6HXH;b9{eR@I z!SAp?(f`{1KKZ5dE9dv6KN{){v|PTGA8`r^FN0%obd>wB#RK+L{%l;>_oMe?_Joq>G@4Y`pe}DW= z{vGfy=zqZ93xBHqzWUqn@9AHkKZ}0v{!_pZ$nuZ*1k)Af8Wu@rHipB0AN(_B3}D#s z_tM{O|63T}G8r;iFkJor^S=%Q6Vp%TMa-s*r~eiIQ~R&{Z~br9-%@{n{WoILX0~U_ zW|;avo8c_Og#VZSKK~Q^@6G>}{}%q8@V}0+kI{?a(ZA|{_W#%ak6`%4xSGj;iGk@n zV=bcylRfhZ&>7msu{%?3m6tMI5XBV{$bqB zq|2nmaO9uNKk0uj{`)ZoF}(P<^Ize=)PKVN=l*~2zw3YE|5g7B{$Km2@L!w3g5kyg zXa9K_*cgNu&M{13TBwK_xJ1m*1h7tS^Q3l<2ds?)*CYIMm?IMYy}_HUfDj0c=_{>rpPSe zIls%_ta-Wi{^6V2U;j&PQrFiqQ+1U%F8W56hwtu>^mpeTpZ*fWYV$4qar{$*w~yak z{CxMz)ORUAO1S%kE7)Sb&Hk~1Wi$Kaf8xKo|D`f3uy5x$$##@on(s09DHaFL5Wxl9 z>;4}9G2@5i@4Ku=1&;DGGMxW?;OqTQU;kBesxf~2-u8v>L(S*rAL7648TN5}<6vgZ zV6osz=T&1e`MU5M6Jygq_D?MzLVg4@Hgi1SG-K-evG42gZy&xF{5bpb$DgTuk307-_PBp0KOTQ`{C@V&YL+GJuI!a; zwyaXj5&wA^Qkky&xA+(E|L(7%?-PIW{e1I>nYEVL_+KpJG?o_T_5auZdimRfv6Fc> z^F9_u=Cl9(|2_M|^Y;P6UFIK*GXH-5x%e-bv5B#q;q!mDe=Gi$|DXOp`)}a?e5QT| z-#^Sh{J%Z?{fLTOuFUq#A`DFol1vvEmoiOdtL2!)x{#si&!XQ7f6x3a z`_uVn-QRld+gs)hCZeirW!^DhV%av{!RVs_3!3?`~T6b#LKdg zNsyucU+uqN|N9vj7-awF{5AX&|L-c37K%Gk^>5a{gZ~*B4>49U$}_P3fBR4BKmUKL|LgxRWH4n6 zWDH@P#UROWlVLrh9MgFwc4jxGFvfEXM;MG4mj7${C&zG}Vd4J=f4BU(^@r(S>c6;u zzW;R@zWguvfAU}7KZgI||5F(lncgsZF>o+EW?*3~WsGF%VlrXsV9a7@{=ew|q5r!7 z9sfW2|K-0kLp{U!|B3(k7>XJE8D9R^{Qv8p>i^XL-~anF2r@MO|N1ZRAJae2f4BY_ z{df4k;QyQd>!QT~J@BSIQ34Pi2hW-7N@7w>+VOD2e@Q?l9 z6V?E3O_m)$KL41;{GRhD_ZwaZfd%~Ec#d$+V`btr6c!dSXKa1*;#J$1Bj3#4&v_^C zG5w9z+xOp}ux9cq^XRZm{rm6x+h6w?gPEn6?=wvJE%8r@U7f3nhe-uM2Wi++3juKlz4|6WEOruWRL97{NNu!b`WGd}zu$b6eQ zk|~+xHiO)+$iHn&cmCh{o$~AQj|0Er{{8=#|KEgJgZ&ZPdDd38Pb`K1Z~pCNkYN1r zH~iP?pWA-&{5j9~hHW*wFRLG8`fr{eQ9ob&naA*)`6$a_rc8!a{}%og{;$gv%Q*F~ z-k;Nd9T;9PJ!FYv`N|;h`_T`(zq=TW8J_>M`SEC6B z?Tn`w^O;zfbQqs7*fAXX|M35o|Ih!|GO#h~FvT;+G2daTU^>Pq!nlWlmqGuZ-JkWp zlYX!Nt@1bGZ_S^de_Z}%{VN$IZ~xQ&XZcT?;T`iyt^&bJe60WWK3#k{`@GhpdCXgcJ$Zz=3j~?? zdincA#6+AWXUR75GyMGeruJ?6m&u>`KA!!k_x{YM0}N}}gIJETKj6B}`tXnE_dCBn z{oL^N)}JX{yh8n=211I=yT9N4-1E`@iz-7ZXDGWp^A-lnAM0O5Jm2*tsMJpcdw z>txR4kmfkgEY0+krIckSqZO+)?|p$yJnuP;*dH+b`ESH}nspW9%zsnA6@Li+?D5&= zQ}+KHE+M8B--Nza{xbek`Ztb6k7L#Ud*4g{T>d-le&E-T!Jho{%ifJ z{Ql|ZqMxGQCV$EK_~}FOH^Xn&KdJnD^Y7u$SwF7)tN!=-&mkrO-b+Gf1-|h;;l0jz zf#n&)zpr}l!oS-7nfzx4qcO*3rj(xtJ}><0%;3pl!O-{j>90AzH*q`?=@8&$QUAg7 z`QEql-2xvVQIV(fDfx!xQ$I9PG?m%;{X=TwhtE*eocU9P=_K29mV=Dv{yY3T`rnbM@PE}WtzYl|zF|~kW8vP-`w>0-_ZXxEi z-_3p|Gx+}R{b~JG_VcB$1>dSZCw?#gz3F!yQxxYPmVHLsvn#XgW>975{44a^ z{O@6AF`ld3DJ=Ocu3VKo=G-e-+P*8j$@mn1)NhUk4>D<#f z`8n*_uCpYw`Y>1gt@^Wp;VbhA=0!~2406A0zC8U@`t{SdXJ4&lE~2@A|9r zFZN&NkNPjdKQ8}q`tQrSoXd|Vm4}(DoVn-s`rqBmMeLbOjSLqV)&8pfe$J4?d4SK1 z|01Ulqskx6UzuMMKk9ux^ZC-}o*z^HZ2VjK|I2?#hHXp&jP8Hff4~0O_Cxs3aprW+ zP?qSQ8^3<~9{#iX-x5w&!Sf=&L_+x!IOhIm{(AJ2@-J^to0R!0TLCl2KaM{Re?)%2 z`8|a(j-{6+mg6Ch1LqsYsegI?{$jeszKrq3_gP>4zo-4M{Wj%Oz~_W-D}K8C+s*Wn z^$5ouwv`M9|K9%N`TOa|>F;ZQSu(M4C-4??@G;vmHZz?2SMdA6Pl>-Zj2oDQn0?tN zau;*W;N;|yP5^EB_a=y=Q#$GvvpL9|wLM_UoHnXhb?2?uQ%V5 z{)ccxGB5w({O#+H!ry#9RlaZfyPZ+#|8xdnwnc2Sn7aR#{N(v-$?}NRoO#zj&R?Ow zrv97oU;8ibzgbMhtRL9z`F;p?a}_f*{?z}{`X%$%7KTmCr{jc)>tiMx!9Qqpe zGlg+FhY9x+wrT%!e+B-0{)d&J?a#dLDL)VV5&QGtN5PN(e;)jo_<#9-H}fX8F7_uJ zZ@4~l?q&}B^XzBjpB)U|EPAZ0tectF{=fCB?Ys8(-d{8S`u%hKFY$lZzZ|AH>^__u zI4-h0`1}9QO6Gkm%lHr7Wizzx?ZGuxCENc>7P| z4~0KIY+0N<4E^7|elalIVmQfA#3uSUH&)w zf8IaIpR!*Szn%E8WDewX~({9Ed8&A(HOvaFKqY#a%! z=l(bS+rt>n{DR4ovEtv#KmPwrm}ar$GdnX@FmbcaU|q~4^e5}*3dXOTi7XO7mwvAN zR`bXH@BW|be!TrH&e+a+p0$YOE9)XwZN|lauly-#g||5lcLtUk=DOudZEj2cYKS@c*ZFf%gm zW|3j9U^~wc^Xt@4`@bjuuKCUTXW^gR-*JBq|CaoD@F&Y(BZjTa_ADzI*#8~*J?E$C zuY-R=7@C>0m|iffW;SArXP?I5#8Jk=#!&XR>Cf)JrVKwAjQ`*Kd+ty5pWFXd{;&G$ z`;UiFnsM3xZGS8N9Q_x_ypNTKEspITn>)+=e|5jN{4HQ8|3BfM*T0>AAN_0k-|^4t zf5iVefA0U@^5_3=li#Ml!hb#ar_UV3qQf?WErlhXN%w#6pW}ax{%`;9$q>&lmnn%& zg#A4m6I(pv!r#3=Ui{8vUCuS1HT18+ueX2J{kQw;`Lp0x?7!*%AO2nQd+jfy-_!m) zV~}Qj$l}NHi^=dW_s;`=PckbovoYNK`}5DKzw?+f*$=Rbur;vUVJiGD@mKJF7Sklg z&cFYDCI0&Tr+{%Hvn0z!=I0Fk|9>#vWxW5l_V>=;D}JZ`+4^VQpXvW47@htu`1R<| zQifg3cbIQ7r2Y&0C;a~xgCEOtwmEFSn6ESJ{r{4&iDezL5QE`AZH83F6Mt3y{Qr0E zzt6vA|K|MP{;%V2?C;I;I-Tzwt&taD1*vP(= zwTVTV>D9k|e=q;d|1;;$y1$)&GJf&>JpI$|Up%Aszn8yu|Jn2Z7h^8-1Ews-75^_Y zR5P0}$1^oDPh`H$WXNL0{OkY9e>@Ba8GkYUVtDw^@bB9{&;D%rdx24vbw9H*qwfEy ze;ogO_fxlA!zW!bJUy^acKixk&{|Yla|9|Q4?cY29T>Jlk;oU#EzwiF+`Xl$Z znlY4pJqIg04{HgtDN6+#FKa!+tbZ*GOPP6C-Z0+!|NbBMzqh}Yf8G4q^i%EUqTgr! zM=*&nKVmHUFZb{J-{5~M7~Gh@Fi9}FF#KW&VC4Nj=WiqfFAF>KrvK0X-(XnuzxuDs z@ABV2|9by7{(s{Ce+C7n*^G7ny%^$|@)8{+AF z|6l#TH$ymc5{o8F4NDJ8IAi(0Gyl*1ulu|0Ps!g0f7uvTF~0l%AFvn8`iGTQ$W{M+$o^}nZ#Uzn~k9b(+ZVE2FPpVHrbf7KZ^n9nmEW9VX7 z&TPW!$~1wYlW`$~>;Lor#Q%N!+xIW<-hH}z3V$#D zb7NFz4q#Sb`pWQtVG$!2b1Tbl<|hn^{~t4SGR|dGWG-i(_W#fC?%#U9b$(C#Gw0u& z|56MK85S{qWm0B}_&@EB$?wiTybL!Ozc9En+-6{5l4WZB|Md^|-)VoH{wDlo`G1x1 z3-e*-NsJN<&W!9#WegAgzW`4{Nd3S1_u0SM3>z7KFcdO&Fdkr>!od80{r`=OSD3%C zu49p6sQz=}x6t1Qe+B=}`*ZlO(*OAXD*w{{ZvMCKf5ra}hP{lcjNy#6OjnsKm=7^4 zvGA~7WffgZ(&elI?v?A zIQ_pFqc8JHrr(VBnbMg07`8ERGk#?F&bX9mF{2&Bfqy^$1pYDqWBGR_!!l-V=1hj9 ze+mCe{;B@G`sen)0)`-lE&sRwoB7Y@f9?MQhM$Z@Os-7l808rr{Nw+B>|fIVKa4Ax z*8b1_+yAeaVHcw(lLoUL^KQoJjJiy=j1~WF|8@Q4`WOHI@PA2$XAEYHXBe6oW;3uc z%=kC?-^%|P|N8$-{Im6M&3`dQRz@|3E&r|li~pbYFXiviKWcyN|5-4cVeDb#W}L*R z!gQKJ>tFs~yZ?5Ks~I0K++_I1$i!sJn91157{_q_{||;DMh3>&45t{TG6pjVGmA2x zWjxIAjA8Eou)lGC-v9por~SXdfA>H6zjysP_wNqFY=#N{rv7dIH=W@&V<6)%hQkaC z{-667_x}Wg2-6EDZsvDPXPA~U#WOu*+|Ag+c$|TOL4-ktVZ(n0hBAiR|6cz-@k{o% z<)5a1AQzwf*Zz<5AOFA0e^dUd{ag9JfI*9~jp;noTt*?La^`Q0o&R%Ta|iT{iLzhkIooX_y$zvlmQ{{sKN|KIgL z?_cR(;lKRi^^!J~2cxeEz@gzt4Z4|EK?L{b$d>!+7rh z;eRpz0{=<;pZedPA)PUtiGw+dIfZ!zb0&)>iyN~mlMdrL21$nO{|Ep7{6F;{>)(h! zn}47GZS=?c&zV2ke=q;7{cpvX&-9YXj%fwMum9GJ3z_;Dzy7=Z*X-Yh{|=1*8KfAJ z8N3-X{~!6M`QL<5ocSfw8OHAn+6)f=^Zw=k?`Py^-1%?n-#dRd{LB2G{eRm3#SGsW z<}h5GpaBxX57P&%m6ZL(f^?TbN)9oBr~l3&&}Y%*ut2^sLOPfNs(z0!@2+G z{)_#8^>@o({eQ;)PW}D&_xC?r27bo>4C@(q8Jhp={P+5I;4k~X_J67j^O$^?r25|LEU|e~bScF+5{f$#|17l5ru! zk^gD`ef}%_FZ;jefB649|JeS|{r`-?h3ONc9fRcmQ~!SbJNKWBf#JW|zt#UD{u}=H z`hWhv1%n|&H^Xd3Jtl6ZEsPzE4vapGe;Di--u#bbn9Z=B!GY17QHsIkzwZC&f4lzj z{d@K|`|tg~6aLNk_wnDN|MCo1|F`_-Vc5dp#(13ZI^zLG1Ey%E(~PE!T8v8>w=kwM zUS(ME-|*kEzaRbz{oWp3wSkGX=pu#Zs|FM62|2_O4$7sW}g3*j&-ha^I z)ph?n{>A-E{=b;vB*UBkxBvGsEMl-^h-28ru!NzDftw-fzxDrL|2HyxVR+5p$`JSe z<-f`QBL4CIfB660|EB-v|Ns2I_;5PFXJgP}`0ziN;R}Nh zqapR27$g{N7|R&W{^w!X#&DD2EW;&+eg-y% zxc^E2cm0q2Z~t%oUxt6p|LXpKVtB^5hjBK8*ZPTmO0fv;WuhZ~ebX|0ev~ z@bBrrTmRPl+xUFOG3=E8|j5dr+jIoSaj7E%~8Fn#TVpznm`#kMxhY#HA%f3;oajfBygE|119)|7-bY{J-OW z@Bgd+?=dtoMli-Q1~4vQ*!bW0f875Q|JfMi7%UmQ8C)5h8H^Zo8R8jI7}y!M{ICAc z`(OC~_W$h+ml?_#-u-v`f9{{w|GocL{15t{{r}K^7lt1Ux{U7_su<4yxBMUepO@h? z0~=!?!^-~!|Ly+^|L6N(_Ftai5W`IdVFru;QvZGar~F^@UydP<;SEDSV+|uOBPXK} z<4p!HhKm1(|AE>xD;Q2ObTMQx$T773SNQ+&pZ5Q~|5+K-7*oKG|KI$3_wVYz!hePTe*81~U;Ce(A(LS- z0|%om<5dPP20I3O1_p-b|9}2p|3C7-%YTLc8UK|SIvKVw{A75+u#n*vLm=Y^hByB` z{~P}g|G(t_oBw%Z^+n*U2O$TNKTf8u}B|Kk5m|9$`e`*-r+ z`+p1mtAcBeRsV1Pmt;_7c=un3;SfU+<8j8>jNy#07|IxQ7}yw|{onn6?*G02AN>FJ zUyLD(!H2<-A^*+)_xzvwpZ$NqzrueH{{{Rn z|1b9c@jtfz&Hs%URxq4k_|L$>c!;5e!IOcFfsbJxLn-5K#uUZ}3{x3$7$!2zW|+#b zh~X&1E(SY>tN+XX7yUo-|Iz<-|6TsS_;>c-g?}&pv4UF_EB?zfWHU@*c*o$)$jZ2p zVG%bv5M*Rw{KxQ|VJ|~613QC1!wLo;h6n%O{r6&6#ITQHB||&dJ>d*$4Au-13=96N z{r~z;_rJ-1$^VM~gZ?-D-}?XD|0Vyk|4;ZY!O+Z5%OJ=w;s4_Q=l*Z|U;e-M|GEF% z3?dA-|G)X~!?2OzKZ7dc7lx?}E({6`_6!RdrZPw}T={?K|BL_04Eq@#FbFX|W^iV> z^Z(%gqyH=Z%l}vZpZtI3|B3(Q|3CU?_kY9x2mgQmH)2R-=ww*WaE0Lw!#sv;25$y& z21SM%hE9gJ|Be4&`Pct1{$K6C#s4_}*Z)ucAO1i4fBXMA|Ih!w^8eR=7ls;!{R{^g zt}t*jGBIvtSjq65!GJNG5wwVV9k}IV!QjbY!EpJ1^?&dGmj9*x`~9E$f9wD9|K9&~ z{~P`H{vZB-?*GsKb}?LKSj;emVI{*>hEEK7j4q7QjGGxm7`*>~{P*G? z|9{c{FaOQ?xA@<~f0qBJ{NMe5#s9+pE&tE`XJBAs`0`(c!G|G&p_E|`!z6}941$dD zj9!cqjPDutFid6WWawb%W$0iy#BiBm55q);NQO`U3;zH6SMg8fpV~j$e}(@}{A2tt z{$KaM&VTd&IsY5}*ZuGMzx)5M|Df61Ck*=;x)>HQ@G!bDRx@s8JjXbLF@w>MQHAjc zLpH;t7lTc6We8(X zXZZOa)a$cnXlJNk@M3Ug@L}*~h+}ABC}0q0IRF3Ae+!0whS}ioOJZmQ)zu8H407Q5 zZo>cg|JncB{@4Bw{IBqz;Xm(x-v7q`8~@M!zxMyH|B(!R3^N!eFid5rWe8)4XUJzr z1J{<^jNci4FdS!?&S1!J@PEXA_5YUtYyRK+|M36T|11Ab{NM3^^?yMILx!vW>;K36 z&-#DjKQF_>|1JMh{&)Ug@&C^MhyN%4Px)W_f7}1({}26N5ANS=VVKJ>o8btn`3-}t}dfAjxTaO&OjA7q9LgAaoq?|3CcC zz@W+y#}L3^#9+yg1uh9J8H5<@8A=$s7-AV@8RQs*8NU4IVbEa^VYu>t-v7G)5&x6_ z*ZrUOf8qZ*{}=!N^*@lIjG>bug~6V|1?*l2hGYgchI9YdgJbK@e{rzAA`IvLm;Lwo z@A^OD|BC+%3>FM_46Y1;49*N33_t#JFsL#ZGXyfYFlaOAFxW9jG5q>3%;3xr!Jx{( z!0-kv&%m(tf9?N>|33da|IYz$fCuFXAqHWFtN*wDzxZE(A(o+l!Hz)~bQlYR7lRK& zKf^j;mv;r20I2H20I1@ zhO7VA|1bX^`akRcwEuJecl@vWU;BT~{}cbu{onKd{(lCBKmRX-%LE;UAOi%s8X3wN zY8a+7tYau=U|=}(fARmd|Ih!w{r}wmTmKmtj2OZhDj1R(>=;xTjKJZ1?*F3y+x|cM zugGA?z`*d}|Hl6l{!jbA>;HrQzy3=x7%@mPNHAD11Tla%t4lDv`2X(zkN;o(-}yiF zf7kyF|IhqqVBlqV0j}AF7pR?8RQsr8LSzy8G0FJF-&48VaQ+zWUylp zXL$Ml;H-W z>;K>R&%hwZV8{^1P{A;n;V8pXhK~$47}hf6Ggvc7F{m&&F$6MrFc>lDFbFd6GVn48 zG6*rSF>o*lGYEp)x^MqK{D1NPivRWh^Zw`kkN@xcKNRfp+yCGFzxw~g{}cb`{a^q8 z>i<3e=l^f{zvTbJ|6l(<`+xrb-Tyocp$r=tJ}^9DIKt4z;LKpiV9wyo;LlLPFoR(q z!)1mm44WA$84?+kKuL$;-TwpsC;u-3mv0;YFa1CD|J?t1{|*1E{x|&Z@jvnZ%>Re~ zANqgl{|)f!DJ=#M23ZDB*oiY3GI%lMGL$l;GlVmQFnBVUGw3j=Fz_%u|Nrto8-oW! z9zz~OEQ1!qum2DJ|M@S=5WrB$FrA^5A(X+EL5ktQ|5g8I{$Kik)&HXZ3jbgJ`}5D? zf8+n9|EK()`G42{pZ~2G{1}`W5*Qj7(in0XLK!?5>KW!RtYTQq(7{m85W?WhpuzwO ziBtbi{@?V!`~S@U%l_~Czvut8|DXS}GYBzoGsrWjFlaI8Fo-iqg6pma|JVMX{D1QQ z>i?Pl9l$lU+5gP{z5iGL-}(R6e|d&DU;92}+27QKi|CfQ=0}}u5{agBP&cD8Yz5f>eoB!|3zaRhf z|F{1?_5a;}HgFr8fkB+Xlp%s4jiI06D8n~~KMXGz)-Yr-xHDKWcrf@d#543WOlFwK zkj!AlAk4tPz{;S?;LG5{;LBjopv}O>@c#d){|ocIdixb|1bU@_`ew(es}+aNP`R2e@1-}%4qf7Snt{~7;F{Y+46pug`9JA@o`;GRQE9GsrTiFnBQJGNd!aGWaogGx#thGPE&FW2j?DX9#1kV=!TmVfg+3 z(*F(rd;d56ulZm5Km5P*f3^Q=|LwpdAO-&?{$Kxp`~Nfl5B@*+|N4J+1|cwf8+nx|Kbc548aVA45i^gO_y4~F#~(L?B7-x7GlMmQ27@94 z8^hQC@BY93|Nj5`|Df;$g+maymnQ@+7k~c$`2WWL6aRPqKllIr|6l*V{r~!(fkBi( zgTaV_pW)g6z5kd0-~RvH{|EnX{=fhK=6}!#^R55)!8U>HgT#pzgAs!zgA;=XLj;2# zgDrzO189GMF1QWj!(hvx#h}a}$-vCOzyNaRx&LSWpZ|aU|EvE`|KIw5>;K{Z`~GkF zzxMx@|Lgv*`oHo2{r{kCb&B8`-Gae^A%r1_!JEOHL56{!;qU)f|6lxn@c-8Tz5nO^ z@B5$gzvh4Y|5g9@{y+c!*MBvJIEFfgW`;_Ja0VR)9tH*mP>N9&cMgO z!|>(*CvY5o`~UL)v;R;2zyAN^|M~yB{?Gs4_kZU9dH?(W&;P&U|Aqfo|3CPD_5Y6l z2mU|*&%?k3&O0m&N(^QU)(k!jF$~2FZ45IQCNb19q%*iNXfx-|&C^{{#Q8{(t@d_kUIfRt5nEK?W5DGib@|#SqO9 z4X!J#8MGM$7(gwwQ~%fgZ~0&FKlH!<|D6B%|2zNh`hV;HM{w$5VEFz2+y5{Bzx`)n zU|Hn<%^Z&2@f8qbb|1bal1)KWt|LOm?{$Kt7@c-@q5B~rD|KUGKWcU9)|M&mD{{O-M zm;WFAzyJT^|KIuNi%RU@G~efNHQof z2s4N=uraVO2!Lyq-~V6#|Mvg=e^A?3fC04qcI*GO|2O>K@c+>Nga6O`zy1H=|Lgxx z|G)G9^?y*0P?^DjAsBR27K0aq6@v;mMui!)7_=EI8B`er7z7wN8UFsi|Nq+m>;E7A zfASx6tuP2PFi11#Gng>=G2}5cGt@KGG30@dFaGfV^#7gz7yfVl-}Qgm|4IKR|DXGR zC%4+ak~yPBbiA(tV7!IHrUY|8Whps|ap|MCC*{+s{T z`ET>z@xS$dNAS4sy#G7?pZWj%|C9d=42lfK40hmlaS%f~Lm@*VLn1>SLm@*lLpnnb z!%~JL3}+cmGOS~0X7FNA0f+2||8M?3{D1QQ-v68bPyS!^KkUEVf5ZPe|Godm{IC5# z@BhmGoBkj9fA0V7|KI;}GRQMnFt{@~Gk7pqGFUM9GsH5aF*GqOW7xuQfMFxUe1>L* zPzECgR)#nK&;H-?fBFAu|J%X!{`~)I|L^>NT_x?Zs|N8&;|6l*JFi0`TG1xJ< zGgvSfGw3sDFsLwyGDtE=F@SQ`_5X+d-}ry+|JnbS|6lxn{r{u?5C6Xf=Q~jbSq4o8 z3kD4a2?hZMNd^%H5e6v+E(T6;&j0oQ?f+;0PyJu@f7<`q|L6Q)@PEtyeg9AXKl}g1 z|JVN?{r~o#72MbKVaR9bWSGmafMF@aT!v1DGzQQJq&UN`|8M@^{lD-3rvFR-ulv9I z|KFzQ(3_&FcC^vlrx3)kv#@qjI z{=fJS@);|*7YAyk@`A(V_kS)1Rt8Z9D~14u2!;>_D+Xl-VFoS+PzeUw;R71kUHpI1 z|6TvD{J;PI&HwxVpMl-a&mh4d%V5Lc%aF^E#*o4g3m)&0W8eqR9bEjs=70D9!v6*T z+y1Zkzv=(B|GWPm`+xcW!~dYti=RP`L4`q$!HU6=A%YEz4lYV9(&skjYTSP|wiL zP{&ZmP{Yv9(8bWi(8^H45W--}Ak6Ub|GodG{;&T({eS9zum1u6BmPJJ5BVSdKkk3r z|MdTr|7-tG{J--5=KmM}KmPyczXXFeg9U>bgEK=ELjpqvLj^-4!&HWu4D%S)GITSP zG9)rsFzA4L6x<9f4B!6W|9|ZNdT<-N=YQY-Y5y1e2OTu<5!|DZ0LQ?`|8M`l`2YAn zsE7OgKcxKl299YF1{nrW?*x=aSiyM`l1s!H1Q__hBR8P7sU-tw3|xspmO&VtzCkja z43gmT^|9Adh{eQ;)N&lDs-}nCzxZnNw|66d}vNG^7$bxHGNdE>@9q}>nGl(+? zGYB(?Gw?I;f%7I0g9x~OF=a3Z_v<+rxEQ|ufA{~z|NCHg0c`4r{}K%944{i>Cg zo8{X77yn=W2kpHAwP=+X6c}U~3>fslwU8-;B7-!89C(C6j6s;;&;O7A@BhF3|JMI| z|F8bv^?&vM)&CFwKk@(g|I7ccgZqG={)0k?fkBW#65Iv?%_C@nM|VK;SRD-W7?v@t zW0=5D!r;Up$Z-At#{bLz&-_2-fBXNI|E2$%{&)Xh{{P7TlmE~Bzxe<7|C9eu{J#Yb z2aqon!EUl<@CT1eX))+AC^E=0s4^%ps4+-0$TDa#STNW!_%j4DI5Jo<$TRSP$6wC< z-}isV|26+t|6l%p{{LD3r~L2wKl}g2|9k&m1Gnq=7!(=w7)%)S7{tI~%F7_mAPp{) zLA?|c23>Hv290}xb_jw(pM?Q5`v;n>`1}9+e~@1#7=#%37(^I&7`VXWV_Xcs|3CeI z4%{|4{Qvs@cmIF?|M>sM|L@?O&dZ?0pb8$H(E^7P9|JSPXRt3{{eSZR$^WO|md4lr zpZ>r8|NQ@ZaQV&4Aj=@npvoY@@a_NG|1bZ){Qn9p&cN{Y|0^&b)II{a4%C*BW6)wS zWH4qhXE0-sVGv_rVEF$3+kenVG8cmw11AFm!#{An^5;LuFQ8WB@BcskgW@05rvaJy z{r?YengF@$6WHY-6W;%S`TzX?v;X)1-|~O^|IPnb{a^Wi$N#hc@BDxI|MUM}|Ns8y zWDsXiWl&}?VsK#aU{lDe^`v05% zuLGL{8czU)zbXSL-GJ)S=l{?Bzx@C5|MUNE{6F^p*#8^PxFz0ODfum8XN|Jwh< z|M&b~`+otrAF|~C`v3d?-vFn!PyfGw%NA8zRvyM4KC$({y+ME+y5Q^cY<5lSN=cx|Nj4{|6B}`40;TD42BGv;GD(J zAj81NAOvp3sDXE{OE5?=NP=57EDS&XfBpaa|DXS#{{Q^{{QtH8$Num5zvKU*|5yLt z`v36%oByCx%fcW5?sw=g=rZUrs56*>$0>9eRKcMRO2Lo*Kly*_|Ly-*z;4<9|MdTB z|DS+;2ukP7;Fc38UP0w1sI>wbtJ7uBWKd@i1?O*2y$W(8Xv_~(t9|$n8aD=wlzae( zy9k3McvKJ+#}EEr|9=5IK6>H*`TrOH-}!$BJU;UCKPcz@_z#LrP?`m;4Fr`f(hMqK z--7A_aRwO%c?JarP+L%(L6m`+;miLo|6l(9_#b2!D866)2c<4h{^Vd_0GIq641fN= z|Nrs-hyP#ye+9Qfp8S9N|LK3wXaWO+7=tW>61Xm~WpH6IWv~a2B}p)V>N-#z|LXt4 z|De9_qyIPmU-*CQ|Ed4i!1I9b|3CZx@c&J4TmJWd4hDG!J#bn!WRPc&V&GxmWZ-6C zX8891_5Yv$fBt6&yM%{|J(n6|1&digUwN3P-4&krvXLq9ETLRKc>lG!l2Kf%b)@7 zXG$>eF@WM8G!Aw0|55Px>;3Hi+ zjSh-42r>wQOVh9apZtFe9kKlko(BV|0i`o`@Vp5(12+Q~12=;Z0~f>J|DaL>WdGOy zpfMa!SbqEe_df#zsO%JH5MdBz;ACJ2L(s?vKLZ;Bs6`1%k6*yC{1iOi_v`X(3Kia>23kZvXhkUCJk1`6Ga;C{`i|5yIs z`~Ud=>;IqsLwpWWEyN(sAjhBz9^Ei!uwbxauxGGk@MQ31aAI&^&}Wci;9&Uo9~5q& zJOS!CpZkCE|FQpD|8M`l^Z%CrXTd2KRFZ?*GRzFj47~8L{0p`Rl;?%PX-tMe0-T;f zq0Y|00i_HipZ83gD4jD+Ut=O$I3jF>tyCr9DmtW`@82LB0P6|DS>Dtk?fvf@`l&|KI=r`=5(} zi-C_p7(C()8VOTkkY`Y4Pz8@gN-}UVeET0xL-dS@3wY0=PG#1RfOujn0DlGs+Aa z;I=O_!-xN`{@?rm?Ej7bXaAr0fAs(9|2M!bHPFZns2l^8&D`Mh2FgQ%4BTLsb1(=p z2!rb>P#ap3L5M+=fdw23%nYFML`d3aVEF(47kF$7)Q^7;9wU75{~>t1>Bs-S|9^u^ zNl+MpN;XjX)nzbYFa!6l7Ql|MdUK|9jwi{rdka|8Iix)(3EZ<>mh;|6l!o z^Z(=jpZ}Q|co=vXKy?f#Ju8BHjQR`~;949sFDSym#PAc`!T^kMwXZu7#Kjl2Bm3G`Nj@59W>J@%^(FHfdZ9e|NetotndCm{eKT! z-&_EX>VZlSP+I)(AJn=8^{4*+X9edAeg;s>3Y14cc@9(?fa(Hq1|e|X69tb6fKnYJ zIOTl@kG_C>`S}0c{}2A(1=npK{{Q^{7aVTP;Jy(v0~a{g@q^oVpb!I%VuI2Gs1E%A zuAkW%IG}BU|Nj{o*ugqLt`GpXQ^Xh~!KDKz&5AGxFn};;X@uz~9g(6|W`!#`-6VPas0)>r@j zGl6qAD0Rv)NHYk4*II!}Z_o(!H*k*q`v1#+P@ewvAEX*o=kPLcFn~@v`t=`_mR|jT z{{Iy?|9u9xJ3#6f7(jM_N)8bQUa;FiW7mSkefkwDM@%-;UC{=^< zFsKv&wW`^`bsay0C<8A8Hv_1~cn==)1*N_-{||%n+?oH^{@(;Esn^SYqXSWrm@YO#UF*WUeq53X&0f?Kvf!Lv1=|ASH*8v{QBCj%=3 zD5WwnfZ_=>#td2;AkQEMuE9X%Auj`{Gz7IKL31z9z%zL-|KIz6A6&Y<`Tri=W(W1a z{{08#3{bxS)an4$X`sF{NH+_#^!fK61VJwO_Wvh%OdV9(3WLLvg8@|H`~tTMSimhl zP6m*xK=B2_OyE5758TTK*#>Io{QLj&Kd24?)enFEL+S!hNdw9&Yz!c~K%)QtgX&pO z8Ntl(@Bjb*%nVH6k{uKlpZv}{tt37Bh>dS3~UUb_5%|GsD1;L8lc$z2`)K6=>%jm2LlHKI|C;J z9|Nc?0lA9{Jkk%Use~AKz##`}Gl6^tYP~=I{{q}@1eLC!k^(f73!1O^{{R1fkO`nN z6_j&8=JJ5+W>Cry2A97=;L!>Z1|e|j0l5t{GXwG&sFnncG=Sn4l*1uxQ0)!M-ym5~ zYYpUPP%QlV{|8);bAZbaQ0>IZzz8lgK`vkgpBe@#1DF{=W$r)lJQ%3A4O&G6DFHz7 z1#&4L*sq{*Ek1Co7*r1Z{SVRsi4l+szWoQ);~;;6Fen5ebs)$_P>KPCmmq@x11Ri3 zt3N74p1zCViZ&-@-T2SaDwYLP+0>q2ee)ZG{*uenLs%U z)b|3VDNq^o_dg_LK&!3Z{eSoW?SD`^3nT^#4^T?|3m(Y;r8kJVpwgNT+=2(y9H24` zlt(~m3=$HczUsgKp!^FeH9;*4kQ+d4AyB#n*$*m*K_w-qt_QW#Kq(S*9@~F#iTm|G zXbk5KxMc)t1%ccFvi<*mP#OeOdttsMQ7PDSij{GeE8cwFm{kZD3H_8>ABy@Bjb*`w#N{um8*p91Kk0 z*az7QatX*qp!5xz0|n(>ND2at=zsbD@jobCfyxq4t^(yAQ0RhkDkzOGF@RDRC~iQb zWT0LoXtw{?{~zFR2H6QJvq0v9N=#6ggKA<>j)SB@kWWD=6BPQOR1WGHgX$nq?*(M@ zkN=>Q^a(r@@#p`a|De>w4qmgy&j8AIpxEFB=SdbY$;AK)KahVJp*{qKIw&uL`dFY= z4JZ^q<6WSc4G0aA0mU#V7l87^-~a#rgD|Xo0MVdW0+l8p8iN0U*D!(VW^M*hDh1Vy z!VIDe{NNM|N*SPZ49XQ>{)5VJP$>$khd`|@(3~`A4*bjiAOArB52#)MwSjoS?Iuw92+HZ~3``85JPoQPK=BXi0fEYX(1;l*zCmqOP+#NE ze~=204WJYaYL9_p2Nd?8c0H)A0!qE0asxEB05X-40aTZO;uf^(;q!mcNC>F^_!C@X zfpQNhrGV-;P;LUH2^I!W=?LmAgWLEKmUiM ze2~vUVG1$>ly*S543rK)H5Vusa4>*)APkBpP&kA90!pJGw}DC(ko!S(9w;Os5CklR3^4oZ2TkOGze%nTr%Ad?|&Pe@7d<3A`* zf%Jg#6R0l@QUwZ4P>6#<6coZB8dR=<$^lS$5Aq2_9Vom&DGd|~ps)m$Eg+YI>MxLq zpt=QAe}O^>lp8_m7-R}0%wcAL{0?#_C>B8eVFK6DpxOnL=0R;5kbY3Cf^>kw5F`%r z2PBq3wt{Q~nGQ-J5S#w~2bl#bX+W)4Pzem`^KmeM!j72%lwUz<9n@9;t;+$WV^BW_ zlrBKw02;RexfB#)pt=F%K2Tm`2G_!%IvviTLTmeptKK)36RSe89=&0brZ<9p!^PM9#!DNsrQrA1JU3-SjjAA>>`RHA^!*FZTL66T&Wpix_pUqIzO#9a_`K<)vF zf&2wZM(L`STxS9>|R#(?Br{qCsT>$Yc7?hep>Oi>;qz@EApmYoJ1;}3@7eL$z zigS?5K^VjaxfSGYkb6Ke12P?yi$LKCiWQJ)AlHCQ1H~l76j0iO)GZ*JKo}$sQVVhg zNET!!#PyI^0l5@pE+`FwTm_K>sRUtA_FNpgkh=W1^6r!LM1xfjkQWKQILE!>27Ze{L^FU^SLIWfQG6kX!A_F2p z;-HuWg)FGH0=WaE2jpWA8>9wOf`h^teUS&)xFc0f!3`2ZA#pm+kMPEZJd{0d6>5IaHf1M)M(9U!wora)W>iWQJ9P$~ks z3giz^XoE1!uOQVBafm2{4{`y>MIduPCVu@`1dv(~hNuO(4&)b*2#5_b8|Hox4H1WsARQnz zAR1yahy?i!68az;An6I@28bL;El3XtgKUSm3Su%S&x1?``2!*X3kR4hK(Y{B5F0>j zNJ}4-@fl?pDT#%bUYGD`@!Vvu+5*Fql_k(N& z$%1H*O(6S0ZUW^_P;7zhftU&MA4mp7gLHy0NHqk5WI!=7K!Je^JSj)qH3m#<3=E6}uQ8DEM)==BNFas>$2A6*z{4X5wa6?z zh6ILJf0zF=WDxx~@BgZQZvVLdZ~9yDuleuhzfFG?{wn;9{nPU&=Fjind;hHXH-%yD z|6~RO1_lNr1_p*C1_lNL@Kp_vgX z1l2c%fq}u0A&J3|!H^+^K_4s+Arlyk7>pP|BuKvz1IR{@J_Cj+VEqu&LGmCueTJzF z3{d@(7>pPa84SU8fJ{hXU|^Vp)#OBmWUw5_%@9{WYygoElR+fN{;6QUf=mVZVlvnl z3}Bald~d`s34C3JAwxLhHFifSR~-ctZO|woav;-?{qYa;@2kH|f1Ca`|DFCj^>_O3 znZKw1KK}dE@1MVC{QmX(=kM4*+JB<|=={$^!(j%9dYBm?J3uDG?3oO9E67zKeN(_TBr_y2909xY2w3(A z1IRT;7(n8a7^Z?<3^F^JA%Wo=1IX{7`~@-T5`;lAAbSlMAbLT*PXxOL#5V-zG*IY* z+yqk30QS*jaIOZK2U?y7DhEKJ2r7d>p#~`-Kqi684p4~$3TcomNCvdb97G#|V;NHB zfP4lj(LiYflp;Vb0NDsBw;*ajsRuO`fmDKYfzr`8hGOP?jtP8wgujSim8t{nB7`Kz z0U(?IrvEnmee!qu@ATg%exLX~U zqW?tyRs0kCR{<^$R{V4OSNU)GKlgt(|A9(_+yBb{-Tb%m-%W6du;QQ1e+bL!|E+)4 z;8FloKG^)v`)~8#3QU4Z0}wy!{{m=PkP9sr^8TOu56b`9|1W}%ZvmAE=l?S>%>U28 zaQ^>1Xt@9?5$2$k3b4Qj)dZmO8o~#q2vF_A0Ish<^#!Qjg49DGaaer>tFJ(*15%HH z>IzV9*8}G$Pzp+frdyC&P+Cr6NCD>)Q0f7tG*JEkrA<&;h2$WR3@B}aau_H@Lu99d zb0MJAhSVv459<17GyW5JOZVEkSr**gH(dd1La&0JqcXafb@XO0hKl&_k(f( zNGHe?P|gC`4k|q$ZU*I0P-zD1m$l~$U$^X0=FSRegK6Ds3Zn0!G?sV0Yfr4 zgg|CPVhZF7NC+D-=rJ%bB!FE9Dhoh49b_9UmxJ7ZC<#C@464fw!F4x;1*ibDH-HUod|ge;CfjDkLq^p6vev zY7sz6fS5|B<^L-F-TJru->QGy|3NJTp8q%g-TBA)|JFaQ|F^)U0;olB>tF7F z?*CTcRsr|_`Tx28&->5)e-8MFj_m)SQsEr9l>licfZ7Ka{)0+`x&P1opa1{-e@I(l z&i_l$wgRYJU|;~144`rX6vi+b#71CHt_JZSG^j-jVnJFEpfm+4H$W{(P^^PW3rOk$ z#XKn8fLe=?)C+0{gIJ*S2vGwfK`9+lcYs)+dJt4oK=LlAJq${t3E=t+l>R|AB`BSN z+6^E+$X-xB0jUJ(2jxXjZiVC~P|E|P3L*o^ClEF$=YjGNM0Og39s{Ti3n@oHIUZCR zfNEQi8c;q1xd-GDh;EQBP<;!M1<8Q;AQ=!1@*Su=GXl3SK&9Vga62856Ct`lxf(gpGZs0Gx?=)?4YiIwFvOF!#2HgR?y4m*wu9LAiCoGF~ioT;3~ zoQFY)Z2)oqpXfiJUI3&o0IL7v{=EHj0Ne%uwFTb&dH3hzABDf~|H%JU`Wx^!`0v|4 zL4O1P27>zrO@Fui_5b_qZ}Z>Azt8?|{JZ7vlfTcvJp|EzlK()xgz|sl|3v?l{}cIF z@lX7p+rL%+D*l!J^Y~W*E&*2jtAMr+KqbM7f876XgG&WaOW?*ozW-eRL1lvVe@Od) z_rLXjtN%9OG66zDS_nD+^Zw`lpZ7l(d@v-a_W&vz=Ki1mfA0VD;6B7$aBl+CTLASS zKrIIl8`N*O_#Z@qdJ&-B1Sldvd=QO_K_vi421JAU5g=JmIgj9j(iEuQ35ov%aK9I% z0+dogH5I5Ffu$uwaBCG(SAa-Rx`m`dP%Z$~Dj;2;RtYGrgK~}$v{wtt|B!kTWELpT zgH(cQ-9+&ABv76J1m!wVeu1e6R&)|4X9Lt=mhy5q!$!| zAhnG(q_L=oP z>nGNJ)_&GlR({Z|Jt%q65xf6`%gN1 zEB;mftM~`%B|yr8mH$@!Tk&rdxI9?#kLy2(1y#vni@fYLRH4@%ei z44_;O8qEOJPoO*uN|%Tl5LDZxFo1e1kemTYy`Xv>VlJp10IUB%c?go;AtuA}HY9I? z@|z*JR{+W@pjsN_7LZRMxdN0IK&=x{YaNt(LAe;B0@Ob-f{xHZYHd(S0a62#XMmdv z69I)GsKfx}EKr*X;wy*?L1itdy#sM8h=ha&ganxjD)C@p2P%m``4=J!@ju9Pko!PA z0hoJXZ3mDTL@lUv0P#RH#LpmigW3?Fz6OX5iZu`o2|-Yp9AQvn)L;x_>|m5-l4h!7 zTF3N|$&uNaxrmvSrIeYKg`FjX0hybklYL!^?L?x<%|4#25#wZ z`Rn!%)Y{+j_vv4dE)Xs9&;8$%zmWV68Xbg~h!_)a1&wAgfW{L+Y|uyosD%J3BS7>#@F)T(|J#6j5};NBXe0q70xBgS{RWUK(AG!Lv9O47 z1yFeaDkDHNs9XTih?0VV0W{VC%E|NoCxLqzAT}}v^&}8{$k-&P1b~Ty*q~GhqCpsx zra?3)Z-Yt&P|5<81faABNrRx01eCTx`5dAGR!V@>!BQ+FWrBM0pwa|l3M9>gau6tw zg31bzdq8;tlx{(}8&b=HQZmRLAl;zS2V@(_y`WqTvIArv$UTs}03so|6-0t^87L>h z>RC{(0*$JITnovyAQd1zkn#@XPl%gA`4m)&fJ!%zC_)X$T!;)v9Hb7tG=PK�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 oe)_@i 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

G=_&)KC`McJy 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

RgnbcrA8Yc_R>o7?la><%kRV;%9z37El|N@ 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�x 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 %KeX>pXI?zE-iKL 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

tAc$UV85NIONgQXMyj0zKZ`j%5hF|x|*TpE17JL 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 a9EjsU&IB8VWI{+$W=Vb?SQLqXDgXck)AN@A diff --git a/examples/resources/audio/chiptun1.mod b/examples/resources/audio/chiptun1.mod new file mode 100644 index 0000000000000000000000000000000000000000..00d16885d4fb8dd15eea1dce67866e4e1a552e64 GIT binary patch literal 2142 zcmYe!$Sf!+%}X_8Kmd(oO@-wAqEv;H)Z)zaJcXQ+6g>t820;b~21W(}ggPuNMl50o zp;1{xSTHb*hQ?@UAcp`ln?TxNtVdQn5NuyPZ#~8}QY;J%Tr3RNWDLMGhz-K~m>0nK zjIvTJ4A+<$7=xi|A@U3$c_u5U*fnM_A0!6BET14W7YkVbJ~aIdEMWC;`&VJ;2g`%Z zz^5ON{iyo?;kTbrmVo^@^uz2YS3k`Exb%a}2l<~d7>E07A>q&HfZhEd^TGOMap-q| z=x5l6rXM*zu1T?g<^Ms|g5n=44>BJVM__r7I2=Rb7c2+T4^oe;9~S?(?1#$3^@GwE zHvO>li|&4O{iNCtQV;VB$o(Mmk?n`dQ_cSi(83?;esG=x*$=W0*?tBV25`JW;~yOU zX!4-2L)H&c4-$i5Sp59``|m#kBNG$D-yfepym|TL@zb}z*agKz1b8^vnEo>`0swgO BVEO<6 literal 0 HcmV?d00001 diff --git a/examples/resources/audio/mini1111.xm b/examples/resources/audio/mini1111.xm new file mode 100644 index 0000000000000000000000000000000000000000..a185c1a2a2b7e514f3a9f5ba36492a79eb61e523 GIT binary patch literal 25676 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 literal 0 HcmV?d00001 diff --git a/src/audio.c b/src/audio.c index d1c425d5f..befed61c7 100644 --- a/src/audio.c +++ b/src/audio.c @@ -100,17 +100,6 @@ typedef enum { MUSIC_AUDIO_OGG = 0, MUSIC_MODULE_XM, MUSIC_MODULE_MOD } MusicContextType; -// Used to create custom audio streams that are not bound to a specific file. -typedef struct AudioStream { - unsigned int sampleRate; // Frequency (samples per second): default is 48000 - unsigned int sampleSize; // BitDepth (bits per sample): 8, 16, 32 (24 not supported) - unsigned int channels; // Number of channels - - ALenum format; // OpenAL format specifier - ALuint source; // OpenAL source - ALuint buffers[MAX_STREAM_BUFFERS]; // OpenAL buffers (double buffering) -} AudioStream; - // Music type (file streaming from memory) typedef struct Music { MusicContextType ctxType; // Type of music context (OGG, XM, MOD) @@ -118,7 +107,7 @@ typedef struct Music { jar_xm_context_t *ctxXm; // XM chiptune context jar_mod_context_t ctxMod; // MOD chiptune context - AudioStream stream; // Audio stream + AudioStream stream; // Audio stream (double buffering) bool loop; // Repeat music after finish (loop) unsigned int totalSamples; // Total number of samples @@ -141,12 +130,6 @@ static Wave LoadWAV(const char *fileName); // Load WAV file static Wave LoadOGG(char *fileName); // Load OGG file static void UnloadWave(Wave wave); // Unload wave data -static bool BufferMusicStream(Music music, int numBuffersToProcess); // Fill music buffers with data - -static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); -static void BufferAudioStream(AudioStream stream, void *data, int numSamples); -static void CloseAudioStream(AudioStream stream); - #if defined(AUDIO_STANDALONE) const char *GetExtension(const char *fileName); // Get the extension for a filename void TraceLog(int msgType, const char *text, ...); // Outputs a trace log message (INFO, ERROR, WARNING) @@ -595,33 +578,89 @@ void StopMusicStream(Music music) // Update (re-fill) music buffers if data already processed void UpdateMusicStream(Music music) { - ALenum state; - bool active = true; ALint processed = 0; // Determine if music stream is ready to be written alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); - + + int numBuffersToProcess = processed; + if (processed > 0) { - active = BufferMusicStream(music, processed); + bool active = true; + short pcm[AUDIO_BUFFER_SIZE]; + float pcmf[AUDIO_BUFFER_SIZE]; + + int numSamples = 0; // Total size of data steamed in L+R samples for xm floats, + // individual L or R for ogg shorts + for (int i = 0; i < numBuffersToProcess; i++) + { + switch (music->ctxType) + { + case MUSIC_AUDIO_OGG: + { + if (music->samplesLeft >= AUDIO_BUFFER_SIZE) numSamples = AUDIO_BUFFER_SIZE; + else numSamples = music->samplesLeft; + + // NOTE: Returns the number of samples to process (should be the same as numSamples -> it is) + int numSamplesOgg = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, numSamples); + + // TODO: Review stereo channels Ogg, not enough samples served! + UpdateAudioStream(music->stream, pcm, numSamples*music->stream.channels); + music->samplesLeft -= (numSamples*music->stream.channels); + + } break; + case MUSIC_MODULE_XM: + { + if (music->samplesLeft >= AUDIO_BUFFER_SIZE/2) numSamples = AUDIO_BUFFER_SIZE/2; + else numSamples = music->samplesLeft; + + // NOTE: Output buffer is 2*numsamples elements (left and right value for each sample) + jar_xm_generate_samples(music->ctxXm, pcmf, numSamples); + UpdateAudioStream(music->stream, pcmf, numSamples*2); // Using 32bit PCM data + music->samplesLeft -= numSamples; + + //TraceLog(INFO, "Samples left: %i", music->samplesLeft); + + } break; + case MUSIC_MODULE_MOD: + { + if (music->samplesLeft >= AUDIO_BUFFER_SIZE/2) numSamples = AUDIO_BUFFER_SIZE/2; + else numSamples = music->samplesLeft; + + // NOTE: Output buffer size is nbsample*channels (default: 48000Hz, 16bit, Stereo) + jar_mod_fillbuffer(&music->ctxMod, pcm, numSamples, 0); + UpdateAudioStream(music->stream, pcm, numSamples*2); + music->samplesLeft -= numSamples; + + } break; + default: break; + } + + if (music->samplesLeft <= 0) + { + active = false; + break; + } + } + + // Reset audio stream for looping if (!active && music->loop) { // Restart music context (if required) + //if (music->ctxType == MUSIC_MODULE_XM) if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_seek_start(&music->ctxMod); else if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_seek_start(music->ctxOgg); + // Reset samples left to total samples music->samplesLeft = music->totalSamples; - - // Determine if music stream is ready to be written - alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); - - active = BufferMusicStream(music, processed); } - if (alGetError() != AL_NO_ERROR) TraceLog(WARNING, "Error buffering data..."); + // This error is registered when UpdateAudioStream() fails + if (alGetError() == AL_INVALID_VALUE) TraceLog(WARNING, "OpenAL: Error buffering data..."); + ALenum state; alGetSourcei(music->stream.source, AL_SOURCE_STATE, &state); if (state != AL_PLAYING && active) alSourcePlay(music->stream.source); @@ -668,36 +707,14 @@ float GetMusicTimePlayed(Music music) { float secondsPlayed = 0.0f; - if (music->ctxType == MUSIC_MODULE_XM) - { - uint64_t samplesPlayed; - jar_xm_get_position(music->ctxXm, NULL, NULL, NULL, &samplesPlayed); - - // TODO: Not sure if this is the correct value - secondsPlayed = (float)samplesPlayed/(music->stream.sampleRate*music->stream.channels); - } - else if (music->ctxType == MUSIC_MODULE_MOD) - { - long samplesPlayed = jar_mod_current_samples(&music->ctxMod); - - secondsPlayed = (float)samplesPlayed/music->stream.sampleRate; - } - else if (music->ctxType == MUSIC_AUDIO_OGG) - { - unsigned int samplesPlayed = music->totalSamples - music->samplesLeft; - - secondsPlayed = (float)samplesPlayed/(music->stream.sampleRate*music->stream.channels); - } + unsigned int samplesPlayed = music->totalSamples - music->samplesLeft; + secondsPlayed = (float)samplesPlayed/(music->stream.sampleRate*music->stream.channels); return secondsPlayed; } -//---------------------------------------------------------------------------------- -// Module specific Functions Definition -//---------------------------------------------------------------------------------- - // Init audio stream (to stream audio pcm data) -static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) +AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) { AudioStream stream = { 0 }; @@ -735,7 +752,7 @@ static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleS alSource3f(stream.source, AL_POSITION, 0, 0, 0); alSource3f(stream.source, AL_VELOCITY, 0, 0, 0); - // Create Buffers + // Create Buffers (double buffering) alGenBuffers(MAX_STREAM_BUFFERS, stream.buffers); // Initialize buffer with zeros by default @@ -766,7 +783,7 @@ static AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleS } // Close audio stream and free memory -static void CloseAudioStream(AudioStream stream) +void CloseAudioStream(AudioStream stream) { // Stop playing channel alSourceStop(stream.source); @@ -790,75 +807,66 @@ static void CloseAudioStream(AudioStream stream) TraceLog(INFO, "[AUD ID %i] Unloaded audio stream data", stream.source); } -// Push more audio data into audio stream, only one buffer per call -static void BufferAudioStream(AudioStream stream, void *data, int numSamples) -{ +// Update audio stream buffers with data +// NOTE: Only one buffer per call +void UpdateAudioStream(AudioStream stream, void *data, int numSamples) +{ ALuint buffer = 0; alSourceUnqueueBuffers(stream.source, 1, &buffer); - //TraceLog(DEBUG, "Buffer to refill: %i", buffer); - - if (stream.sampleSize == 8) alBufferData(buffer, stream.format, (unsigned char *)data, numSamples*sizeof(unsigned char), stream.sampleRate); - else if (stream.sampleSize == 16) alBufferData(buffer, stream.format, (short *)data, numSamples*sizeof(short), stream.sampleRate); - else if (stream.sampleSize == 32) alBufferData(buffer, stream.format, (float *)data, numSamples*sizeof(float), stream.sampleRate); - - alSourceQueueBuffers(stream.source, 1, &buffer); -} - -// Fill music buffers with new data from music stream -static bool BufferMusicStream(Music music, int numBuffersToProcess) -{ - short pcm[AUDIO_BUFFER_SIZE]; - float pcmf[AUDIO_BUFFER_SIZE]; - - int size = 0; // Total size of data steamed in L+R samples for xm floats, individual L or R for ogg shorts - bool active = true; // We can get more data from stream (not finished) - - for (int i = 0; i < numBuffersToProcess; i++) + // Check if any buffer was available for unqueue + if (alGetError() != AL_INVALID_VALUE) { - if (music->samplesLeft >= AUDIO_BUFFER_SIZE) size = AUDIO_BUFFER_SIZE; - else size = music->samplesLeft; - - switch (music->ctxType) - { - case MUSIC_AUDIO_OGG: - { - // NOTE: Returns the number of samples to process (should be the same as size) - int numSamples = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, size); - - BufferAudioStream(music->stream, pcm, numSamples*music->stream.channels); - music->samplesLeft -= (numSamples*music->stream.channels); - - } break; - case MUSIC_MODULE_XM: - { - // NOTE: Output buffer is 2*numsamples elements (left and right value for each sample) - jar_xm_generate_samples(music->ctxXm, pcmf, size/2); - BufferAudioStream(music->stream, pcmf, size); // Using 32bit PCM data - music->samplesLeft -= (size/2); - - } break; - case MUSIC_MODULE_MOD: - { - // NOTE: Output buffer size is nbsample*channels (default: 48000Hz, 16bit, Stereo) - jar_mod_fillbuffer(&music->ctxMod, pcm, size/2, 0); - BufferAudioStream(music->stream, pcm, size); - music->samplesLeft -= (size/2); - - } break; - default: break; - } - - if (music->samplesLeft <= 0) - { - active = false; - break; - } + if (stream.sampleSize == 8) alBufferData(buffer, stream.format, (unsigned char *)data, numSamples*sizeof(unsigned char), stream.sampleRate); + else if (stream.sampleSize == 16) alBufferData(buffer, stream.format, (short *)data, numSamples*sizeof(short), stream.sampleRate); + else if (stream.sampleSize == 32) alBufferData(buffer, stream.format, (float *)data, numSamples*sizeof(float), stream.sampleRate); + + alSourceQueueBuffers(stream.source, 1, &buffer); } - - return active; } +// Check if any audio stream buffers requires refill +bool IsAudioBufferProcessed(AudioStream stream) +{ + ALint processed = 0; + + // Determine if music stream is ready to be written + alGetSourcei(stream.source, AL_BUFFERS_PROCESSED, &processed); + + return (processed > 0); +} + +// Play audio stream +void PlayAudioStream(AudioStream stream) +{ + alSourcePlay(stream.source); +} + +// Play audio stream +void PauseAudioStream(AudioStream stream) +{ + alSourcePause(stream.source); +} + +// Resume audio stream playing +void ResumeAudioStream(AudioStream stream) +{ + ALenum state; + alGetSourcei(stream.source, AL_SOURCE_STATE, &state); + + if (state == AL_PAUSED) alSourcePlay(stream.source); +} + +// Stop audio stream +void StopAudioStream(AudioStream stream) +{ + alSourceStop(stream.source); +} + +//---------------------------------------------------------------------------------- +// Module specific Functions Definition +//---------------------------------------------------------------------------------- + // Load WAV file into Wave structure static Wave LoadWAV(const char *fileName) { diff --git a/src/audio.h b/src/audio.h index c91713397..dbd889393 100644 --- a/src/audio.h +++ b/src/audio.h @@ -76,9 +76,21 @@ typedef struct Wave { } Wave; // Music type (file streaming from memory) -// NOTE: Anything longer than ~10 seconds should be streamed into a mix channel... +// NOTE: Anything longer than ~10 seconds should be streamed typedef struct Music *Music; +// Audio stream type +// NOTE: Useful to create custom audio streams not bound to a specific file +typedef struct AudioStream { + unsigned int sampleRate; // Frequency (samples per second) + unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels (1-mono, 2-stereo) + + int format; // OpenAL audio format specifier + unsigned int source; // OpenAL audio source id + unsigned int buffers[2]; // OpenAL audio buffers (double buffering) +} AudioStream; + #ifdef __cplusplus extern "C" { // Prevents name mangling of functions #endif @@ -93,7 +105,7 @@ extern "C" { // Prevents name mangling of functions //---------------------------------------------------------------------------------- void InitAudioDevice(void); // Initialize audio device and context void CloseAudioDevice(void); // Close the audio device and context (and music stream) -bool IsAudioDeviceReady(void); // Check if device has been initialized successfully +bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully Sound LoadSound(char *fileName); // Load sound to memory Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data @@ -120,6 +132,17 @@ void SetMusicPitch(Music music, float pitch); // Set pitch for float GetMusicTimeLength(Music music); // Get music time length (in seconds) float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) +AudioStream InitAudioStream(unsigned int sampleRate, + unsigned int sampleSize, + unsigned int channels); // Init audio stream (to stream audio pcm data) +void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data +void CloseAudioStream(AudioStream stream); // Close audio stream and free memory +bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill +void PlayAudioStream(AudioStream stream); // Play audio stream +void PauseAudioStream(AudioStream stream); // Pause audio stream +void ResumeAudioStream(AudioStream stream); // Resume audio stream +void StopAudioStream(AudioStream stream); // Stop audio stream + #ifdef __cplusplus } #endif diff --git a/src/raylib.h b/src/raylib.h index 4b9f6ca0b..3ee7a7939 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -499,8 +499,8 @@ typedef struct Ray { // Sound source type typedef struct Sound { - unsigned int source; // Sound audio source id - unsigned int buffer; // Sound audio buffer id + unsigned int source; // OpenAL audio source id + unsigned int buffer; // OpenAL audio buffer id } Sound; // Wave type, defines audio wave data @@ -516,6 +516,18 @@ typedef struct Wave { // NOTE: Anything longer than ~10 seconds should be streamed typedef struct Music *Music; +// Audio stream type +// NOTE: Useful to create custom audio streams not bound to a specific file +typedef struct AudioStream { + unsigned int sampleRate; // Frequency (samples per second) + unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels (1-mono, 2-stereo) + + int format; // OpenAL audio format specifier + unsigned int source; // OpenAL audio source id + unsigned int buffers[2]; // OpenAL audio buffers (double buffering) +} AudioStream; + // Texture formats // NOTE: Support depends on OpenGL version and platform typedef enum { @@ -923,7 +935,7 @@ void ToggleVrMode(void); // Enable/Disable VR experience (dev //------------------------------------------------------------------------------------ void InitAudioDevice(void); // Initialize audio device and context void CloseAudioDevice(void); // Close the audio device and context (and music stream) -bool IsAudioDeviceReady(void); // True if call to InitAudioDevice() was successful and CloseAudioDevice() has not been called yet +bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully Sound LoadSound(char *fileName); // Load sound to memory Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data @@ -950,6 +962,17 @@ void SetMusicPitch(Music music, float pitch); // Set pitch for float GetMusicTimeLength(Music music); // Get music time length (in seconds) float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) +AudioStream InitAudioStream(unsigned int sampleRate, + unsigned int sampleSize, + unsigned int channels); // Init audio stream (to stream audio pcm data) +void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data +void CloseAudioStream(AudioStream stream); // Close audio stream and free memory +bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill +void PlayAudioStream(AudioStream stream); // Play audio stream +void PauseAudioStream(AudioStream stream); // Pause audio stream +void ResumeAudioStream(AudioStream stream); // Resume audio stream +void StopAudioStream(AudioStream stream); // Stop audio stream + #ifdef __cplusplus } #endif From 50ccc39d6b58125912f73cdaa6121935e7bf4794 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 2 Aug 2016 17:55:04 +0200 Subject: [PATCH 017/102] Updated LIBs --- games/makefile | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/games/makefile b/games/makefile index 2d992896e..c48e4d686 100644 --- a/games/makefile +++ b/games/makefile @@ -86,8 +86,6 @@ else # external libraries headers # GLFW3 INCLUDES += -I../external/glfw3/include -# GLEW - Not required any more, replaced by GLAD - #INCLUDES += -I../external/glew/include # OpenAL Soft INCLUDES += -I../external/openal_soft/include endif @@ -103,8 +101,6 @@ else ifneq ($(PLATFORM_OS),OSX) # OpenAL Soft LFLAGS += -L../external/openal_soft/lib/$(LIBPATH) - # GLEW: Not used, replaced by GLAD - #LFLAGS += -L../../external/glew/lib/$(LIBPATH) endif endif @@ -115,9 +111,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -pthread - # on XWindow could require also below libraries, just uncomment - #LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor + LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -lpthread -ldl + # on XWindow could require also below libraries: + LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) # libraries for OS X 10.9 desktop compiling From 8c0bd30fcb62550f71237cce73fc80efacbf8909 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 2 Aug 2016 19:09:07 +0200 Subject: [PATCH 018/102] Corrected issue with Music type --- src/audio.c | 2 +- src/raylib.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/audio.c b/src/audio.c index befed61c7..0896e4ca2 100644 --- a/src/audio.c +++ b/src/audio.c @@ -101,7 +101,7 @@ typedef enum { MUSIC_AUDIO_OGG = 0, MUSIC_MODULE_XM, MUSIC_MODULE_MOD } MusicContextType; // Music type (file streaming from memory) -typedef struct Music { +typedef struct MusicData { MusicContextType ctxType; // Type of music context (OGG, XM, MOD) stb_vorbis *ctxOgg; // OGG audio context jar_xm_context_t *ctxXm; // XM chiptune context diff --git a/src/raylib.h b/src/raylib.h index 3ee7a7939..d9a12cecd 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -514,7 +514,7 @@ typedef struct Wave { // Music type (file streaming from memory) // NOTE: Anything longer than ~10 seconds should be streamed -typedef struct Music *Music; +typedef struct MusicData *Music; // Audio stream type // NOTE: Useful to create custom audio streams not bound to a specific file From d3d9aaceb12111ebe54f55f23cd87dfb43964f1f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 3 Aug 2016 09:26:30 +0200 Subject: [PATCH 019/102] Updated and comments --- examples/audio_raw_stream.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/examples/audio_raw_stream.c b/examples/audio_raw_stream.c index 37a5b4ff0..a372205b0 100644 --- a/examples/audio_raw_stream.c +++ b/examples/audio_raw_stream.c @@ -16,6 +16,8 @@ #include // Required for: malloc(), free() #include // Required for: sinf() +#define MAX_SAMPLES 20000 + int main() { // Initialization @@ -28,19 +30,23 @@ int main() InitAudioDevice(); // Initialize audio device - AudioStream stream = InitAudioStream(44100, 32, 1); // Init raw audio stream + // Init raw audio stream (sample rate: 22050, sample size: 32bit-float, channels: 1-mono) + AudioStream stream = InitAudioStream(22050, 32, 1); // Fill audio stream with some samples (sine wave) - float *data = (float *)malloc(sizeof(float)*44100); + float *data = (float *)malloc(sizeof(float)*MAX_SAMPLES); - for (int i = 0; i < 44100; i++) + for (int i = 0; i < MAX_SAMPLES; i++) { - data[i] = sinf(2*PI*(float)i*DEG2RAD); + data[i] = sinf(((2*PI*(float)i)/2)*DEG2RAD); } + // NOTE: The generated MAX_SAMPLES do not fit to close a perfect loop + // for that reason, there is a clip everytime audio stream is looped + PlayAudioStream(stream); - int totalSamples = 44100; + int totalSamples = MAX_SAMPLES; int samplesLeft = totalSamples; Vector2 position = { 0, 0 }; From 735968e68543bb5141122f181608d0d7ada9a3be Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 3 Aug 2016 21:38:21 +0200 Subject: [PATCH 020/102] [rlua] new module: raylib Lua binding --- examples/core_basic_window.lua | 41 + examples/rlua_execute_file.c | 39 + src/external/lua/include/lauxlib.h | 256 ++ src/external/lua/include/lua.h | 486 ++++ src/external/lua/include/lua.hpp | 9 + src/external/lua/include/luaconf.h | 769 ++++++ src/external/lua/include/lualib.h | 58 + src/external/lua/lib/liblua53.a | Bin 0 -> 322424 bytes src/external/lua/lib/liblua53dll.a | Bin 0 -> 91416 bytes src/rlua.h | 3631 ++++++++++++++++++++++++++++ 10 files changed, 5289 insertions(+) create mode 100644 examples/core_basic_window.lua create mode 100644 examples/rlua_execute_file.c create mode 100644 src/external/lua/include/lauxlib.h create mode 100644 src/external/lua/include/lua.h create mode 100644 src/external/lua/include/lua.hpp create mode 100644 src/external/lua/include/luaconf.h create mode 100644 src/external/lua/include/lualib.h create mode 100644 src/external/lua/lib/liblua53.a create mode 100644 src/external/lua/lib/liblua53dll.a create mode 100644 src/rlua.h diff --git a/examples/core_basic_window.lua b/examples/core_basic_window.lua new file mode 100644 index 000000000..4f2880059 --- /dev/null +++ b/examples/core_basic_window.lua @@ -0,0 +1,41 @@ +-- Initialization +---------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [rlua] example - basic window") + +InitAudioDevice() + +--local pause = false +--local texture = LoadTexture("resources/texture.png") + +SetTargetFPS(60) -- Set target frames-per-second +---------------------------------------------------------------------------------------- + +while not WindowShouldClose() do + -- Update + ------------------------------------------------------------------------------------ + --if (IsKeyPressed(KEY.SPACE)) then + -- pause = not pause + --end + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY) + + EndDrawing() + ------------------------------------------------------------------------------------ +end + +-- De-Initialization +------------------------------------------------------------------------------------ +CloseAudioDevice() -- Close audio device + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------ \ No newline at end of file diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c new file mode 100644 index 000000000..b21a44599 --- /dev/null +++ b/examples/rlua_execute_file.c @@ -0,0 +1,39 @@ +/******************************************************************************************* +* +* raylib [rlua] example - Lua file execution +* +* NOTE: This example requires Lua library (http://luabinaries.sourceforge.net/download.html) +* +* Compile example using: +* gcc -o $(NAME_PART).exe $(FILE_NAME) $(RAYLIB_DIR)\raylib_icon / +* -I../src -I../src/external/lua/include -L../src/external/lua/lib / +* -lraylib -lglfw3 -lopengl32 -lopenal32 -llua53 -lgdi32 -std=c99 +* +* This example has been created using raylib 1.6 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define RLUA_IMPLEMENTATION +#include "rlua.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitLuaDevice(); + //-------------------------------------------------------------------------------------- + + ExecuteLuaFile("core_basic_window.lua"); + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseLuaDevice(); // Close Lua device and free resources + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/src/external/lua/include/lauxlib.h b/src/external/lua/include/lauxlib.h new file mode 100644 index 000000000..ddb7c2283 --- /dev/null +++ b/src/external/lua/include/lauxlib.h @@ -0,0 +1,256 @@ +/* +** $Id: lauxlib.h,v 1.129 2015/11/23 11:29:43 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + + +/* extra error code for 'luaL_load' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + +#define LUAL_NUMSIZES (sizeof(lua_Integer)*16 + sizeof(lua_Number)) + +LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver, size_t sz); +#define luaL_checkversion(L) \ + luaL_checkversion_(L, LUA_VERSION_NUM, LUAL_NUMSIZES) + +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); +LUALIB_API int (luaL_argerror) (lua_State *L, int arg, const char *extramsg); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int arg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int arg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int arg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int arg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int arg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int arg, + lua_Integer def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int arg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int arg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int arg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); +LUALIB_API int (luaL_execresult) (lua_State *L, int stat); + +/* predefined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, + const char *mode); + +#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) + +LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, + const char *name, const char *mode); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + +LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx); + +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, + const char *r); + +LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); + +LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); + +LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, + const char *msg, int level); + +LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, + lua_CFunction openf, int glb); + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + + +#define luaL_newlibtable(L,l) \ + lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) + +#define luaL_newlib(L,l) \ + (luaL_checkversion(L), luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) + +#define luaL_argcheck(L, cond,arg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (arg), (extramsg)))) +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +typedef struct luaL_Buffer { + char *b; /* buffer address */ + size_t size; /* buffer size */ + size_t n; /* number of characters in buffer */ + lua_State *L; + char initb[LUAL_BUFFERSIZE]; /* initial buffer */ +} luaL_Buffer; + + +#define luaL_addchar(B,c) \ + ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ + ((B)->b[(B)->n++] = (c))) + +#define luaL_addsize(B,s) ((B)->n += (s)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); +LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); + +#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) + +/* }====================================================== */ + + + +/* +** {====================================================== +** File handles for IO library +** ======================================================= +*/ + +/* +** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and +** initial structure 'luaL_Stream' (it may contain other fields +** after that initial structure). +*/ + +#define LUA_FILEHANDLE "FILE*" + + +typedef struct luaL_Stream { + FILE *f; /* stream (NULL for incompletely created streams) */ + lua_CFunction closef; /* to close stream (NULL for closed streams) */ +} luaL_Stream; + +/* }====================================================== */ + + + +/* compatibility with old module system */ +#if defined(LUA_COMPAT_MODULE) + +LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, + int sizehint); +LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); + +#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) + +#endif + + +/* +** {================================================================== +** "Abstraction Layer" for basic report of messages and errors +** =================================================================== +*/ + +/* print a string */ +#if !defined(lua_writestring) +#define lua_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) +#endif + +/* print a newline and flush the output */ +#if !defined(lua_writeline) +#define lua_writeline() (lua_writestring("\n", 1), fflush(stdout)) +#endif + +/* print an error message */ +#if !defined(lua_writestringerror) +#define lua_writestringerror(s,p) \ + (fprintf(stderr, (s), (p)), fflush(stderr)) +#endif + +/* }================================================================== */ + + +/* +** {============================================================ +** Compatibility with deprecated conversions +** ============================================================= +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define luaL_checkunsigned(L,a) ((lua_Unsigned)luaL_checkinteger(L,a)) +#define luaL_optunsigned(L,a,d) \ + ((lua_Unsigned)luaL_optinteger(L,a,(lua_Integer)(d))) + +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) + +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#endif +/* }============================================================ */ + + + +#endif + + diff --git a/src/external/lua/include/lua.h b/src/external/lua/include/lua.h new file mode 100644 index 000000000..f78899fc5 --- /dev/null +++ b/src/external/lua/include/lua.h @@ -0,0 +1,486 @@ +/* +** $Id: lua.h,v 1.331 2016/05/30 15:53:28 roberto Exp $ +** Lua - A Scripting Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION_MAJOR "5" +#define LUA_VERSION_MINOR "3" +#define LUA_VERSION_NUM 503 +#define LUA_VERSION_RELEASE "3" + +#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2016 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +#define LUA_SIGNATURE "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** Pseudo-indices +** (-LUAI_MAXSTACK is the minimum valid index; we keep some free empty +** space after that to help overflow detection) +*/ +#define LUA_REGISTRYINDEX (-LUAI_MAXSTACK - 1000) +#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) + + +/* thread status */ +#define LUA_OK 0 +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRGCMM 5 +#define LUA_ERRERR 6 + + +typedef struct lua_State lua_State; + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + +#define LUA_NUMTAGS 9 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* predefined values in the registry */ +#define LUA_RIDX_MAINTHREAD 1 +#define LUA_RIDX_GLOBALS 2 +#define LUA_RIDX_LAST LUA_RIDX_GLOBALS + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + +/* unsigned integer type */ +typedef LUA_UNSIGNED lua_Unsigned; + +/* type for continuation-function contexts */ +typedef LUA_KCONTEXT lua_KContext; + + +/* +** Type for C functions registered with Lua +*/ +typedef int (*lua_CFunction) (lua_State *L); + +/* +** Type for continuation functions +*/ +typedef int (*lua_KFunction) (lua_State *L, int status, lua_KContext ctx); + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void *p, size_t sz, void *ud); + + +/* +** Type for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* +** RCS ident string +*/ +extern const char lua_ident[]; + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +LUA_API const lua_Number *(lua_version) (lua_State *L); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_absindex) (lua_State *L, int idx); +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_rotate) (lua_State *L, int idx, int n); +LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); +LUA_API int (lua_checkstack) (lua_State *L, int n); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isinteger) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API size_t (lua_rawlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** Comparison and arithmetic functions +*/ + +#define LUA_OPADD 0 /* ORDER TM, ORDER OP */ +#define LUA_OPSUB 1 +#define LUA_OPMUL 2 +#define LUA_OPMOD 3 +#define LUA_OPPOW 4 +#define LUA_OPDIV 5 +#define LUA_OPIDIV 6 +#define LUA_OPBAND 7 +#define LUA_OPBOR 8 +#define LUA_OPBXOR 9 +#define LUA_OPSHL 10 +#define LUA_OPSHR 11 +#define LUA_OPUNM 12 +#define LUA_OPBNOT 13 + +LUA_API void (lua_arith) (lua_State *L, int op); + +#define LUA_OPEQ 0 +#define LUA_OPLT 1 +#define LUA_OPLE 2 + +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t len); +LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API int (lua_getglobal) (lua_State *L, const char *name); +LUA_API int (lua_gettable) (lua_State *L, int idx); +LUA_API int (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API int (lua_geti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawget) (lua_State *L, int idx); +LUA_API int (lua_rawgeti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawgetp) (lua_State *L, int idx, const void *p); + +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API int (lua_getuservalue) (lua_State *L, int idx); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_setglobal) (lua_State *L, const char *name); +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_seti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API void (lua_setuservalue) (lua_State *L, int idx); + + +/* +** 'load' and 'call' functions (load and run Lua code) +*/ +LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, + lua_KContext ctx, lua_KFunction k); +#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) + +LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, + lua_KContext ctx, lua_KFunction k); +#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) + +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname, const char *mode); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data, int strip); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yieldk) (lua_State *L, int nresults, lua_KContext ctx, + lua_KFunction k); +LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg); +LUA_API int (lua_status) (lua_State *L); +LUA_API int (lua_isyieldable) (lua_State *L); + +#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) + + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 +#define LUA_GCISRUNNING 9 + +LUA_API int (lua_gc) (lua_State *L, int what, int data); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); +LUA_API void (lua_len) (lua_State *L, int idx); + +LUA_API size_t (lua_stringtonumber) (lua_State *L, const char *s); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_getextraspace(L) ((void *)((char *)(L) - LUA_EXTRASPACE)) + +#define lua_tonumber(L,i) lua_tonumberx(L,(i),NULL) +#define lua_tointeger(L,i) lua_tointegerx(L,(i),NULL) + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) lua_pushstring(L, "" s) + +#define lua_pushglobaltable(L) \ + ((void)lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + +#define lua_insert(L,idx) lua_rotate(L, (idx), 1) + +#define lua_remove(L,idx) (lua_rotate(L, (idx), -1), lua_pop(L, 1)) + +#define lua_replace(L,idx) (lua_copy(L, -1, (idx)), lua_pop(L, 1)) + +/* }============================================================== */ + + +/* +** {============================================================== +** compatibility macros for unsigned conversions +** =============================================================== +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define lua_pushunsigned(L,n) lua_pushinteger(L, (lua_Integer)(n)) +#define lua_tounsignedx(L,i,is) ((lua_Unsigned)lua_tointegerx(L,i,is)) +#define lua_tounsigned(L,i) lua_tounsignedx(L,(i),NULL) + +#endif +/* }============================================================== */ + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILCALL 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debugger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); +LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); +LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); + +LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); +LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, + int fidx2, int n2); + +LUA_API void (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook (lua_gethook) (lua_State *L); +LUA_API int (lua_gethookmask) (lua_State *L); +LUA_API int (lua_gethookcount) (lua_State *L); + + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ + const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + unsigned char nups; /* (u) number of upvalues */ + unsigned char nparams;/* (u) number of parameters */ + char isvararg; /* (u) */ + char istailcall; /* (t) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + struct CallInfo *i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2016 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/src/external/lua/include/lua.hpp b/src/external/lua/include/lua.hpp new file mode 100644 index 000000000..ec417f594 --- /dev/null +++ b/src/external/lua/include/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/src/external/lua/include/luaconf.h b/src/external/lua/include/luaconf.h new file mode 100644 index 000000000..867e9cb18 --- /dev/null +++ b/src/external/lua/include/luaconf.h @@ -0,0 +1,769 @@ +/* +** $Id: luaconf.h,v 1.255 2016/05/01 20:06:09 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef luaconf_h +#define luaconf_h + +#include +#include + + +/* +** =================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +** {==================================================================== +** System Configuration: macros to adapt (if needed) Lua to some +** particular platform, for instance compiling it with 32-bit numbers or +** restricting it to C89. +** ===================================================================== +*/ + +/* +@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. You +** can also define LUA_32BITS in the make file, but changing here you +** ensure that all software connected to Lua will be compiled with the +** same configuration. +*/ +/* #define LUA_32BITS */ + + +/* +@@ LUA_USE_C89 controls the use of non-ISO-C89 features. +** Define it if you want Lua to avoid the use of a few C99 features +** or Windows-specific features on Windows. +*/ +/* #define LUA_USE_C89 */ + + +/* +** By default, Lua on Windows use (some) specific Windows features +*/ +#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ +#endif + + +#if defined(LUA_USE_WINDOWS) +#define LUA_DL_DLL /* enable support for DLL */ +#define LUA_USE_C89 /* broadly, Windows is C89 */ +#endif + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#endif + + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ +#define LUA_USE_READLINE /* needs an extra library: -lreadline */ +#endif + + +/* +@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for +** C89 ('long' and 'double'); Windows always has '__int64', so it does +** not need to use this case. +*/ +#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) +#define LUA_C89_NUMBERS +#endif + + + +/* +@@ LUAI_BITSINT defines the (minimum) number of bits in an 'int'. +*/ +/* avoid undefined shifts */ +#if ((INT_MAX >> 15) >> 15) >= 1 +#define LUAI_BITSINT 32 +#else +/* 'int' always must have at least 16 bits */ +#define LUAI_BITSINT 16 +#endif + + +/* +@@ LUA_INT_TYPE defines the type for Lua integers. +@@ LUA_FLOAT_TYPE defines the type for Lua floats. +** Lua should work fine with any mix of these options (if supported +** by your C compiler). The usual configurations are 64-bit integers +** and 'double' (the default), 32-bit integers and 'float' (for +** restricted platforms), and 'long'/'double' (for C compilers not +** compliant with C99, which may not have support for 'long long'). +*/ + +/* predefined options for LUA_INT_TYPE */ +#define LUA_INT_INT 1 +#define LUA_INT_LONG 2 +#define LUA_INT_LONGLONG 3 + +/* predefined options for LUA_FLOAT_TYPE */ +#define LUA_FLOAT_FLOAT 1 +#define LUA_FLOAT_DOUBLE 2 +#define LUA_FLOAT_LONGDOUBLE 3 + +#if defined(LUA_32BITS) /* { */ +/* +** 32-bit integers and 'float' +*/ +#if LUAI_BITSINT >= 32 /* use 'int' if big enough */ +#define LUA_INT_TYPE LUA_INT_INT +#else /* otherwise use 'long' */ +#define LUA_INT_TYPE LUA_INT_LONG +#endif +#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT + +#elif defined(LUA_C89_NUMBERS) /* }{ */ +/* +** largest types available for C89 ('long' and 'double') +*/ +#define LUA_INT_TYPE LUA_INT_LONG +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE + +#endif /* } */ + + +/* +** default configuration for 64-bit Lua ('long long' and 'double') +*/ +#if !defined(LUA_INT_TYPE) +#define LUA_INT_TYPE LUA_INT_LONGLONG +#endif + +#if !defined(LUA_FLOAT_TYPE) +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE +#endif + +/* }================================================================== */ + + + + +/* +** {================================================================== +** Configuration for Paths. +** =================================================================== +*/ + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +** Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +** C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ + LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ + ".\\?.lua;" ".\\?\\init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" \ + LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ + LUA_CDIR"loadall.dll;" ".\\?.dll;" \ + LUA_CDIR"?53.dll;" ".\\?53.dll" + +#else /* }{ */ + +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ + "./?.lua;" "./?/init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so;" \ + LUA_CDIR"lib?53.so;" "./lib?53.so" +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Marks for exported symbols in the C code +** =================================================================== +*/ + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API +#define LUAMOD_API LUALIB_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +** exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables +** that are not to be exported to outside modules (LUAI_DDEF for +** definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#else /* }{ */ +#define LUAI_FUNC extern +#endif /* } */ + +#define LUAI_DDEC LUAI_FUNC +#define LUAI_DDEF /* empty */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2. +@@ LUA_COMPAT_5_1 controls other macros for compatibility with Lua 5.1. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_5_2) /* { */ + +/* +@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated +** functions in the mathematical library. +*/ +#define LUA_COMPAT_MATHLIB + +/* +@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'. +*/ +#define LUA_COMPAT_BITLIB + +/* +@@ LUA_COMPAT_IPAIRS controls the effectiveness of the __ipairs metamethod. +*/ +#define LUA_COMPAT_IPAIRS + +/* +@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for +** manipulating other integer types (lua_pushunsigned, lua_tounsigned, +** luaL_checkint, luaL_checklong, etc.) +*/ +#define LUA_COMPAT_APIINTCASTS + +#endif /* } */ + + +#if defined(LUA_COMPAT_5_1) /* { */ + +/* Incompatibilities from 5.2 -> 5.3 */ +#define LUA_COMPAT_MATHLIB +#define LUA_COMPAT_APIINTCASTS + +/* +@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. +** You can replace it with 'table.unpack'. +*/ +#define LUA_COMPAT_UNPACK + +/* +@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. +** You can replace it with 'package.searchers'. +*/ +#define LUA_COMPAT_LOADERS + +/* +@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. +** You can call your C function directly (with light C functions). +*/ +#define lua_cpcall(L,f,u) \ + (lua_pushcfunction(L, (f)), \ + lua_pushlightuserdata(L,(u)), \ + lua_pcall(L,1,0,0)) + + +/* +@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. +** You can rewrite 'log10(x)' as 'log(x, 10)'. +*/ +#define LUA_COMPAT_LOG10 + +/* +@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base +** library. You can rewrite 'loadstring(s)' as 'load(s)'. +*/ +#define LUA_COMPAT_LOADSTRING + +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +*/ +#define LUA_COMPAT_MAXN + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +/* +@@ LUA_COMPAT_MODULE controls compatibility with previous +** module functions 'module' (Lua) and 'luaL_register' (C). +*/ +#define LUA_COMPAT_MODULE + +#endif /* } */ + + +/* +@@ LUA_COMPAT_FLOATSTRING makes Lua format integral floats without a +@@ a float mark ('.0'). +** This macro is not on by default even in compatibility mode, +** because this is not really an incompatibility. +*/ +/* #define LUA_COMPAT_FLOATSTRING */ + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Numbers. +** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* +** satisfy your needs. +** =================================================================== +*/ + +/* +@@ LUA_NUMBER is the floating-point type used by Lua. +@@ LUAI_UACNUMBER is the result of an 'usual argument conversion' +@@ over a floating number. +@@ l_mathlim(x) corrects limit name 'x' to the proper float type +** by prefixing it with one of FLT/DBL/LDBL. +@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. +@@ LUA_NUMBER_FMT is the format for writing floats. +@@ lua_number2str converts a float to a string. +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. +@@ l_floor takes the floor of a float. +@@ lua_str2number converts a decimal numeric string to a number. +*/ + + +/* The following definitions are good for most cases here */ + +#define l_floor(x) (l_mathop(floor)(x)) + +#define lua_number2str(s,sz,n) l_sprintf((s), sz, LUA_NUMBER_FMT, (n)) + +/* +@@ lua_numbertointeger converts a float number to an integer, or +** returns 0 if float is not within the range of a lua_Integer. +** (The range comparisons are tricky because of rounding. The tests +** here assume a two-complement representation, where MININTEGER always +** has an exact representation as a float; MAXINTEGER may not have one, +** and therefore its conversion to float may have an ill-defined value.) +*/ +#define lua_numbertointeger(n,p) \ + ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ + (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ + (*(p) = (LUA_INTEGER)(n), 1)) + + +/* now the variable definitions */ + +#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ + +#define LUA_NUMBER float + +#define l_mathlim(n) (FLT_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.7g" + +#define l_mathop(op) op##f + +#define lua_str2number(s,p) strtof((s), (p)) + + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ + +#define LUA_NUMBER long double + +#define l_mathlim(n) (LDBL_##n) + +#define LUAI_UACNUMBER long double + +#define LUA_NUMBER_FRMLEN "L" +#define LUA_NUMBER_FMT "%.19Lg" + +#define l_mathop(op) op##l + +#define lua_str2number(s,p) strtold((s), (p)) + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ + +#define LUA_NUMBER double + +#define l_mathlim(n) (DBL_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.14g" + +#define l_mathop(op) op + +#define lua_str2number(s,p) strtod((s), (p)) + +#else /* }{ */ + +#error "numeric float type not defined" + +#endif /* } */ + + + +/* +@@ LUA_INTEGER is the integer type used by Lua. +** +@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. +** +@@ LUAI_UACINT is the result of an 'usual argument conversion' +@@ over a lUA_INTEGER. +@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. +@@ LUA_INTEGER_FMT is the format for writing integers. +@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. +@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. +@@ lua_integer2str converts an integer to a string. +*/ + + +/* The following definitions are good for most cases here */ + +#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" +#define lua_integer2str(s,sz,n) l_sprintf((s), sz, LUA_INTEGER_FMT, (n)) + +#define LUAI_UACINT LUA_INTEGER + +/* +** use LUAI_UACINT here to avoid problems with promotions (which +** can turn a comparison between unsigneds into a signed comparison) +*/ +#define LUA_UNSIGNED unsigned LUAI_UACINT + + +/* now the variable definitions */ + +#if LUA_INT_TYPE == LUA_INT_INT /* { int */ + +#define LUA_INTEGER int +#define LUA_INTEGER_FRMLEN "" + +#define LUA_MAXINTEGER INT_MAX +#define LUA_MININTEGER INT_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ + +#define LUA_INTEGER long +#define LUA_INTEGER_FRMLEN "l" + +#define LUA_MAXINTEGER LONG_MAX +#define LUA_MININTEGER LONG_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ + +/* use presence of macro LLONG_MAX as proxy for C99 compliance */ +#if defined(LLONG_MAX) /* { */ +/* use ISO C99 stuff */ + +#define LUA_INTEGER long long +#define LUA_INTEGER_FRMLEN "ll" + +#define LUA_MAXINTEGER LLONG_MAX +#define LUA_MININTEGER LLONG_MIN + +#elif defined(LUA_USE_WINDOWS) /* }{ */ +/* in Windows, can use specific Windows types */ + +#define LUA_INTEGER __int64 +#define LUA_INTEGER_FRMLEN "I64" + +#define LUA_MAXINTEGER _I64_MAX +#define LUA_MININTEGER _I64_MIN + +#else /* }{ */ + +#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ + or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" + +#endif /* } */ + +#else /* }{ */ + +#error "numeric integer type not defined" + +#endif /* } */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Dependencies with C99 and other C details +** =================================================================== +*/ + +/* +@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. +** (All uses in Lua have only one format item.) +*/ +#if !defined(LUA_USE_C89) +#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) +#else +#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) +#endif + + +/* +@@ lua_strx2number converts an hexadecimal numeric string to a number. +** In C99, 'strtod' does that conversion. Otherwise, you can +** leave 'lua_strx2number' undefined and Lua will provide its own +** implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_strx2number(s,p) lua_str2number(s,p) +#endif + + +/* +@@ lua_number2strx converts a float to an hexadecimal numeric string. +** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. +** Otherwise, you can leave 'lua_number2strx' undefined and Lua will +** provide its own implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_number2strx(L,b,sz,f,n) ((void)L, l_sprintf(b,sz,f,n)) +#endif + + +/* +** 'strtof' and 'opf' variants for math functions are not valid in +** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the +** availability of these variants. ('math.h' is already included in +** all files that use these macros.) +*/ +#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) +#undef l_mathop /* variants not available */ +#undef lua_str2number +#define l_mathop(op) (lua_Number)op /* no variant */ +#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) +#endif + + +/* +@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation +** functions. It must be a numerical type; Lua will use 'intptr_t' if +** available, otherwise it will use 'ptrdiff_t' (the nearest thing to +** 'intptr_t' in C89) +*/ +#define LUA_KCONTEXT ptrdiff_t + +#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ + __STDC_VERSION__ >= 199901L +#include +#if defined(INTPTR_MAX) /* even in C99 this type is optional */ +#undef LUA_KCONTEXT +#define LUA_KCONTEXT intptr_t +#endif +#endif + + +/* +@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). +** Change that if you do not want to use C locales. (Code using this +** macro must include header 'locale.h'.) +*/ +#if !defined(lua_getlocaledecpoint) +#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Language Variations +** ===================================================================== +*/ + +/* +@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some +** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from +** numbers to strings. Define LUA_NOCVTS2N to turn off automatic +** coercion from strings to numbers. +*/ +/* #define LUA_NOCVTN2S */ +/* #define LUA_NOCVTS2N */ + + +/* +@@ LUA_USE_APICHECK turns on several consistency checks on the C API. +** Define it as a help when debugging C code. +*/ +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(l,e) assert(e) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Macros that affect the API and must be stable (that is, must be the +** same when you compile Lua and when you compile code that links to +** Lua). You probably do not want/need to change them. +** ===================================================================== +*/ + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +#define LUA_EXTRASPACE (sizeof(void *)) + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +** CHANGE it if it uses too much C-stack space. (For long double, +** 'string.format("%.99f", 1e4932)' needs ~5030 bytes, so a +** smaller buffer would force a memory allocation for each call to +** 'string.format'.) +*/ +#if defined(LUA_FLOAT_LONGDOUBLE) +#define LUAL_BUFFERSIZE 8192 +#else +#define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer))) +#endif + +/* }================================================================== */ + + +/* +@@ LUA_QL describes how error messages quote program elements. +** Lua does not use these macros anymore; they are here for +** compatibility only. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + + + +#endif + diff --git a/src/external/lua/include/lualib.h b/src/external/lua/include/lualib.h new file mode 100644 index 000000000..5165c0fb3 --- /dev/null +++ b/src/external/lua/include/lualib.h @@ -0,0 +1,58 @@ +/* +** $Id: lualib.h,v 1.44 2014/02/06 17:32:33 roberto Exp $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + + +LUAMOD_API int (luaopen_base) (lua_State *L); + +#define LUA_COLIBNAME "coroutine" +LUAMOD_API int (luaopen_coroutine) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUAMOD_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUAMOD_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUAMOD_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUAMOD_API int (luaopen_string) (lua_State *L); + +#define LUA_UTF8LIBNAME "utf8" +LUAMOD_API int (luaopen_utf8) (lua_State *L); + +#define LUA_BITLIBNAME "bit32" +LUAMOD_API int (luaopen_bit32) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUAMOD_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUAMOD_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUAMOD_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#if !defined(lua_assert) +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/src/external/lua/lib/liblua53.a b/src/external/lua/lib/liblua53.a new file mode 100644 index 0000000000000000000000000000000000000000..e51c0c805537bb7611ee9a5066d73c59a5670450 GIT binary patch literal 322424 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 VAH>h;C#IypJcyQz5W?u`2mq+3bQAyp literal 0 HcmV?d00001 diff --git a/src/rlua.h b/src/rlua.h new file mode 100644 index 000000000..6a909c43d --- /dev/null +++ b/src/rlua.h @@ -0,0 +1,3631 @@ +/********************************************************************************************** +* +* rlua - raylib Lua bindings +* +* NOTE 01: +* The following types: +* Color, Vector2, Vector3, Rectangle, Ray, Camera +* are treated as objects with named fields, same as in C. +* +* Lua defines utility functions for creating those objects. +* Usage: +* local cl = Color(255,255,255,255) +* local rec = Rectangle(10, 10, 100, 100) +* local ray = Ray(Vector3(20, 20, 20), Vector3(50, 50, 50)) +* local x2 = rec.x + rec.width +* +* The following types: +* Image, Texture2D, SpriteFont +* are immutable, and you can only read their non-pointer arguments (e.g. sprfnt.size). +* +* All other object types are opaque, that is, you cannot access or +* change their fields directly. +* +* Remember that ALL raylib types have REFERENCE SEMANTICS in Lua. +* There is currently no way to create a copy of an opaque object. +* +* NOTE 02: +* Some raylib functions take a pointer to an array, and the size of that array. +* The equivalent Lua functions take only an array table of the specified type UNLESS +* it's a pointer to a large char array (e.g. for images), then it takes (and potentially returns) +* a Lua string (without the size argument, as Lua strings are sized by default). +* +* NOTE 03: +* Some raylib functions take pointers to objects to modify (e.g. ImageToPOT, etc.) +* In Lua, these functions take values and return a new changed value, instead. +* So, in C: +* ImageToPOT(&img, BLACK); +* In Lua becomes: +* img = ImageToPOT(img, BLACK) +* +* Remember that functions can return multiple values, so: +* UpdateCameraPlayer(&cam, &playerPos); +* Vector3 vec = ResolveCollisionCubicmap(img, mapPos, &playerPos, 5.0); +* becomes: +* cam, playerPos = UpdateCameraPlayer(cam, playerPos) +* vec, playerPos = ResolveCollisionCubicmap(img, mapPos, playerPos, 5) +* +* This is to preserve value semantics of raylib objects. +* +* +* This Lua binding for raylib was originally created by Ghassan Al-Mashareqa (ghassan@ghassan.pl) +* for raylib 1.3 and later on reviewed and updated to raylib 1.6 by Ramon Santamaria. +* +* Copyright (c) 2015-2016 Ghassan Al-Mashareqa and Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#pragma once + +#include "raylib.h" + +#define RLUA_STATIC +#ifdef RLUA_STATIC + #define RLUADEF static // Functions just visible to module including this file +#else + #ifdef __cplusplus + #define RLUADEF extern "C" // Functions visible from other files (no name mangling of functions in C++) + #else + #define RLUADEF extern // Functions visible from other files + #endif +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +RLUADEF void InitLuaDevice(void); // Initialize Lua system +RLUADEF void ExecuteLuaCode(const char *code); // Execute raylib Lua code +RLUADEF void ExecuteLuaFile(const char *filename); // Execute raylib Lua script +RLUADEF void CloseLuaDevice(void); // De-initialize Lua system + +/*********************************************************************************** +* +* RLUA IMPLEMENTATION +* +************************************************************************************/ + +#if defined(RLUA_IMPLEMENTATION) + +#include "raylib.h" +#include "utils.h" +#include "raymath.h" + +#include +#include + +#include +#include +#include + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#define LuaPush_Image(L, img) LuaPushOpaqueTypeWithMetatable(L, img, Image) +#define LuaPush_Texture2D(L, tex) LuaPushOpaqueTypeWithMetatable(L, tex, Texture2D) +#define LuaPush_RenderTexture2D(L, tex) LuaPushOpaqueTypeWithMetatable(L, tex, RenderTexture2D) +#define LuaPush_SpriteFont(L, sf) LuaPushOpaqueTypeWithMetatable(L, sf, SpriteFont) +#define LuaPush_Mesh(L, vd) LuaPushOpaqueType(L, vd) +#define LuaPush_Shader(L, s) LuaPushOpaqueType(L, s) +#define LuaPush_Sound(L, snd) LuaPushOpaqueType(L, snd) +#define LuaPush_Wave(L, wav) LuaPushOpaqueType(L, wav) +#define LuaPush_Music(L, mus) LuaPushOpaqueType(L, mus) + +#define LuaGetArgument_string luaL_checkstring +#define LuaGetArgument_int (int)luaL_checkinteger +#define LuaGetArgument_unsigned (unsigned)luaL_checkinteger +#define LuaGetArgument_char (char)luaL_checkinteger +#define LuaGetArgument_float (float)luaL_checknumber +#define LuaGetArgument_double luaL_checknumber +#define LuaGetArgument_Image(L, img) *(Image*)LuaGetArgumentOpaqueTypeWithMetatable(L, img, "Image") +#define LuaGetArgument_Texture2D(L, tex) *(Texture2D*)LuaGetArgumentOpaqueTypeWithMetatable(L, tex, "Texture2D") +#define LuaGetArgument_RenderTexture2D(L, rtex) *(RenderTexture2D*)LuaGetArgumentOpaqueTypeWithMetatable(L, rtex, "RenderTexture2D") +#define LuaGetArgument_SpriteFont(L, sf) *(SpriteFont*)LuaGetArgumentOpaqueTypeWithMetatable(L, sf, "SpriteFont") +#define LuaGetArgument_Mesh(L, vd) *(Mesh*)LuaGetArgumentOpaqueType(L, vd) +#define LuaGetArgument_Shader(L, s) *(Shader*)LuaGetArgumentOpaqueType(L, s) +#define LuaGetArgument_Sound(L, snd) *(Sound*)LuaGetArgumentOpaqueType(L, snd) +#define LuaGetArgument_Wave(L, wav) *(Wave*)LuaGetArgumentOpaqueType(L, wav) +#define LuaGetArgument_Music(L, mus) *(Music*)LuaGetArgumentOpaqueType(L, mus) + +#define LuaPushOpaqueType(L, str) LuaPushOpaque(L, &str, sizeof(str)) +#define LuaPushOpaqueTypeWithMetatable(L, str, meta) LuaPushOpaqueWithMetatable(L, &str, sizeof(str), #meta) + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +static lua_State* mainLuaState = 0; +static lua_State* L = 0; + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +static void LuaPush_Color(lua_State* L, Color color); +static void LuaPush_Vector2(lua_State* L, Vector2 vec); +static void LuaPush_Vector3(lua_State* L, Vector3 vec); +static void LuaPush_Quaternion(lua_State* L, Quaternion vec); +static void LuaPush_Matrix(lua_State* L, Matrix *matrix); +static void LuaPush_Rectangle(lua_State* L, Rectangle rect); +static void LuaPush_Model(lua_State* L, Model mdl); +static void LuaPush_Ray(lua_State* L, Ray ray); +static void LuaPush_Camera(lua_State* L, Camera cam); + +static Vector2 LuaGetArgument_Vector2(lua_State* L, int index); +static Vector3 LuaGetArgument_Vector3(lua_State* L, int index); +static Quaternion LuaGetArgument_Quaternion(lua_State* L, int index); +static Color LuaGetArgument_Color(lua_State* L, int index); +static Rectangle LuaGetArgument_Rectangle(lua_State* L, int index); +static Camera LuaGetArgument_Camera(lua_State* L, int index); +static Ray LuaGetArgument_Ray(lua_State* L, int index); +static Matrix LuaGetArgument_Matrix(lua_State* L, int index); +static Model LuaGetArgument_Model(lua_State* L, int index); + +//---------------------------------------------------------------------------------- +// rlua Helper Functions +//---------------------------------------------------------------------------------- +static void LuaStartEnum(void) +{ + lua_newtable(L); +} + +static void LuaSetEnum(const char *name, int value) +{ + lua_pushinteger(L, value); + lua_setfield(L, -2, name); +} + +static void LuaSetEnumColor(const char *name, Color color) +{ + LuaPush_Color(L, color); + lua_setfield(L, -2, name); +} + +static void LuaEndEnum(const char *name) +{ + lua_setglobal(L, name); +} + +static void LuaPushOpaque(lua_State* L, void *ptr, size_t size) +{ + void *ud = lua_newuserdata(L, size); + memcpy(ud, ptr, size); +} + +static void LuaPushOpaqueWithMetatable(lua_State* L, void *ptr, size_t size, const char *metatable_name) +{ + void *ud = lua_newuserdata(L, size); + memcpy(ud, ptr, size); + luaL_setmetatable(L, metatable_name); +} + +static void* LuaGetArgumentOpaqueType(lua_State* L, int index) +{ + return lua_touserdata(L, index); +} + +static void* LuaGetArgumentOpaqueTypeWithMetatable(lua_State* L, int index, const char *metatable_name) +{ + return luaL_checkudata(L, index, metatable_name); +} + +//---------------------------------------------------------------------------------- +// LuaIndex* functions +//---------------------------------------------------------------------------------- +static int LuaIndexImage(lua_State* L) +{ + Image img = LuaGetArgument_Image(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "width")) + lua_pushinteger(L, img.width); + else if (!strcmp(key, "height")) + lua_pushinteger(L, img.height); + else if (!strcmp(key, "mipmaps")) + lua_pushinteger(L, img.mipmaps); + else if (!strcmp(key, "format")) + lua_pushinteger(L, img.format); + else + return 0; + return 1; +} + +static int LuaIndexTexture2D(lua_State* L) +{ + Texture2D img = LuaGetArgument_Texture2D(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "width")) + lua_pushinteger(L, img.width); + else if (!strcmp(key, "height")) + lua_pushinteger(L, img.height); + else if (!strcmp(key, "mipmaps")) + lua_pushinteger(L, img.mipmaps); + else if (!strcmp(key, "format")) + lua_pushinteger(L, img.format); + else + return 0; + return 1; +} + +// TODO: RenderTexture2D? + +static int LuaIndexSpriteFont(lua_State* L) +{ + SpriteFont img = LuaGetArgument_SpriteFont(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "size")) + lua_pushinteger(L, img.size); + else if (!strcmp(key, "texture")) + LuaPush_Texture2D(L, img.texture); + else if (!strcmp(key, "numChars")) + lua_pushinteger(L, img.numChars); + else + return 0; + return 1; +} + +static void LuaBuildOpaqueMetatables(void) +{ + luaL_newmetatable(L, "Image"); + lua_pushcfunction(L, &LuaIndexImage); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); + + luaL_newmetatable(L, "Texture2D"); + lua_pushcfunction(L, &LuaIndexTexture2D); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); + + // TODO? + /* + luaL_newmetatable(L, "RenderTexture2D"); + lua_pushcfunction(L, &LuaIndexRenderTexture2D); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); + */ + luaL_newmetatable(L, "SpriteFont"); + lua_pushcfunction(L, &LuaIndexSpriteFont); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); +} + +//---------------------------------------------------------------------------------- +// LuaGetArgument functions +//---------------------------------------------------------------------------------- + +static Vector2 LuaGetArgument_Vector2(lua_State* L, int index) +{ + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector2"); + float x = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector2"); + float y = (float)lua_tonumber(L, -1); + lua_pop(L, 2); + return (Vector2) { x, y }; +} + +static Vector3 LuaGetArgument_Vector3(lua_State* L, int index) +{ + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector3"); + float x = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector3"); + float y = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "z") == LUA_TNUMBER, index, "Expected Vector3"); + float z = (float)lua_tonumber(L, -1); + lua_pop(L, 3); + return (Vector3) { x, y, z }; +} + +static Quaternion LuaGetArgument_Quaternion(lua_State* L, int index) +{ + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Quaternion"); + float x = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Quaternion"); + float y = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "z") == LUA_TNUMBER, index, "Expected Quaternion"); + float z = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "w") == LUA_TNUMBER, index, "Expected Quaternion"); + float w = (float)lua_tonumber(L, -1); + lua_pop(L, 4); + return (Quaternion) { x, y, z, w }; +} + +static Color LuaGetArgument_Color(lua_State* L, int index) +{ + luaL_argcheck(L, lua_getfield(L, index, "r") == LUA_TNUMBER, index, "Expected Color"); + unsigned char r = (unsigned char)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "g") == LUA_TNUMBER, index, "Expected Color"); + unsigned char g = (unsigned char)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "b") == LUA_TNUMBER, index, "Expected Color"); + unsigned char b = (unsigned char)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "a") == LUA_TNUMBER, index, "Expected Color"); + unsigned char a = (unsigned char)lua_tointeger(L, -1); + lua_pop(L, 4); + return (Color) { r, g, b, a }; +} + +static Rectangle LuaGetArgument_Rectangle(lua_State* L, int index) +{ + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Rectangle"); + int x = (int)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Rectangle"); + int y = (int)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "width") == LUA_TNUMBER, index, "Expected Rectangle"); + int w = (int)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "height") == LUA_TNUMBER, index, "Expected Rectangle"); + int h = (int)lua_tointeger(L, -1); + lua_pop(L, 4); + return (Rectangle) { x, y, w, h }; +} + +static Camera LuaGetArgument_Camera(lua_State* L, int index) +{ + Camera result; + luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Camera"); + result.position = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera"); + result.target = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "up") == LUA_TTABLE, index, "Expected Camera"); + result.up = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "fovy") == LUA_TTABLE, index, "Expected Camera"); + result.fovy = LuaGetArgument_float(L, -1); + lua_pop(L, 4); + return result; +} + +static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index) +{ + Camera2D result; + luaL_argcheck(L, lua_getfield(L, index, "offset") == LUA_TTABLE, index, "Expected Camera2D"); + result.offset = LuaGetArgument_Vector2(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera2D"); + result.target = LuaGetArgument_Vector2(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "rotation") == LUA_TTABLE, index, "Expected Camera2D"); + result.rotation = LuaGetArgument_float(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "zoom") == LUA_TTABLE, index, "Expected Camera2D"); + result.zoom = LuaGetArgument_float(L, -1); + lua_pop(L, 4); + return result; +} + +// TODO: +//BoundingBox +//LightData, *Light +//MusicData *Music; +//AudioStream + +// TODO: Review Mesh, Shader + +static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) +{ + BoundingBox result; + luaL_argcheck(L, lua_getfield(L, index, "min") == LUA_TTABLE, index, "Expected BoundingBox"); + result.min = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "max") == LUA_TTABLE, index, "Expected BoundingBox"); + result.max = LuaGetArgument_Vector3(L, -1); + lua_pop(L, 2); + return result; +} + +static Ray LuaGetArgument_Ray(lua_State* L, int index) +{ + Ray result; + luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Ray"); + result.position = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "direction") == LUA_TTABLE, index, "Expected Ray"); + result.direction = LuaGetArgument_Vector3(L, -1); + lua_pop(L, 2); + return result; +} + +static Matrix LuaGetArgument_Matrix(lua_State* L, int index) +{ + Matrix result = { 0 }; + float* ptr = &result.m0; + for (int i = 0; i < 16; i++) + { + lua_geti(L, -1, i+1); + ptr[i] = luaL_checkinteger(L, -1); + } + lua_pop(L, 16); + return result; +} + +static Material LuaGetArgument_Material(lua_State* L, int index) +{ + Material result; + luaL_argcheck(L, lua_getfield(L, index, "shader") == LUA_TUSERDATA, index, "Expected Material"); + result.shader = LuaGetArgument_Shader(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "texDiffuse") == LUA_TUSERDATA, index, "Expected Material"); + result.texDiffuse = LuaGetArgument_Texture2D(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "texNormal") == LUA_TUSERDATA, index, "Expected Material"); + result.texNormal = LuaGetArgument_Texture2D(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "texSpecular") == LUA_TUSERDATA, index, "Expected Material"); + result.texSpecular = LuaGetArgument_Texture2D(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "colDiffuse") == LUA_TUSERDATA, index, "Expected Material"); + result.colDiffuse = LuaGetArgument_Color(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "colAmbient") == LUA_TUSERDATA, index, "Expected Material"); + result.colAmbient = LuaGetArgument_Color(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "colSpecular") == LUA_TUSERDATA, index, "Expected Material"); + result.colSpecular = LuaGetArgument_Color(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "glossiness") == LUA_TUSERDATA, index, "Expected Material"); + result.glossiness = LuaGetArgument_float(L, -1); + lua_pop(L, 8); + return result; +} + +static Model LuaGetArgument_Model(lua_State* L, int index) +{ + Model result; + luaL_argcheck(L, lua_getfield(L, index, "mesh") == LUA_TUSERDATA, index, "Expected Model"); + result.mesh = LuaGetArgument_Mesh(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "transform") == LUA_TTABLE, index, "Expected Model"); + result.transform = LuaGetArgument_Matrix(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "material") == LUA_TTABLE, index, "Expected Model"); + result.material = LuaGetArgument_Material(L, -1); + lua_pop(L, 3); + return result; +} + +//---------------------------------------------------------------------------------- +// LuaPush functions +//---------------------------------------------------------------------------------- +static void LuaPush_Color(lua_State* L, Color color) +{ + lua_createtable(L, 0, 4); + lua_pushinteger(L, color.r); + lua_setfield(L, -2, "r"); + lua_pushinteger(L, color.g); + lua_setfield(L, -2, "g"); + lua_pushinteger(L, color.b); + lua_setfield(L, -2, "b"); + lua_pushinteger(L, color.a); + lua_setfield(L, -2, "a"); +} + +static void LuaPush_Vector2(lua_State* L, Vector2 vec) +{ + lua_createtable(L, 0, 2); + lua_pushnumber(L, vec.x); + lua_setfield(L, -2, "x"); + lua_pushnumber(L, vec.y); + lua_setfield(L, -2, "y"); +} + +static void LuaPush_Vector3(lua_State* L, Vector3 vec) +{ + lua_createtable(L, 0, 3); + lua_pushnumber(L, vec.x); + lua_setfield(L, -2, "x"); + lua_pushnumber(L, vec.y); + lua_setfield(L, -2, "y"); + lua_pushnumber(L, vec.z); + lua_setfield(L, -2, "z"); +} + +static void LuaPush_Quaternion(lua_State* L, Quaternion vec) +{ + lua_createtable(L, 0, 4); + lua_pushnumber(L, vec.x); + lua_setfield(L, -2, "x"); + lua_pushnumber(L, vec.y); + lua_setfield(L, -2, "y"); + lua_pushnumber(L, vec.z); + lua_setfield(L, -2, "z"); + lua_pushnumber(L, vec.w); + lua_setfield(L, -2, "w"); +} + +static void LuaPush_Matrix(lua_State* L, Matrix *matrix) +{ + int i; + lua_createtable(L, 16, 0); + float* num = (&matrix->m0); + for (i = 0; i < 16; i++) + { + lua_pushnumber(L, num[i]); + lua_rawseti(L, -2, i + 1); + } +} + +static void LuaPush_Rectangle(lua_State* L, Rectangle rect) +{ + lua_createtable(L, 0, 4); + lua_pushinteger(L, rect.x); + lua_setfield(L, -2, "x"); + lua_pushinteger(L, rect.y); + lua_setfield(L, -2, "y"); + lua_pushinteger(L, rect.width); + lua_setfield(L, -2, "width"); + lua_pushinteger(L, rect.height); + lua_setfield(L, -2, "height"); +} + +static void LuaPush_Ray(lua_State* L, Ray ray) +{ + lua_createtable(L, 0, 2); + LuaPush_Vector3(L, ray.position); + lua_setfield(L, -2, "position"); + LuaPush_Vector3(L, ray.direction); + lua_setfield(L, -2, "direction"); +} + +static void LuaPush_BoundingBox(lua_State* L, BoundingBox bb) +{ + lua_createtable(L, 0, 2); + LuaPush_Vector3(L, bb.min); + lua_setfield(L, -2, "min"); + LuaPush_Vector3(L, bb.max); + lua_setfield(L, -2, "max"); +} + +static void LuaPush_Camera(lua_State* L, Camera cam) +{ + lua_createtable(L, 0, 4); + LuaPush_Vector3(L, cam.position); + lua_setfield(L, -2, "position"); + LuaPush_Vector3(L, cam.target); + lua_setfield(L, -2, "target"); + LuaPush_Vector3(L, cam.up); + lua_setfield(L, -2, "up"); + lua_pushnumber(L, cam.fovy); + lua_setfield(L, -2, "fovy"); +} + +static void LuaPush_Camera2D(lua_State* L, Camera2D cam) +{ + lua_createtable(L, 0, 3); + LuaPush_Vector2(L, cam.offset); + lua_setfield(L, -2, "offset"); + LuaPush_Vector2(L, cam.target); + lua_setfield(L, -2, "target"); + lua_pushnumber(L, cam.rotation); + lua_setfield(L, -2, "rotation"); + lua_pushnumber(L, cam.zoom); + lua_setfield(L, -2, "zoom"); +} + +static void LuaPush_Material(lua_State* L, Material mat) +{ + lua_createtable(L, 0, 8); + LuaPush_Shader(L, mat.shader); + lua_setfield(L, -2, "shader"); + LuaPush_Texture2D(L, mat.texDiffuse); + lua_setfield(L, -2, "texDiffuse"); + LuaPush_Texture2D(L, mat.texNormal); + lua_setfield(L, -2, "texNormal"); + LuaPush_Texture2D(L, mat.texSpecular); + lua_setfield(L, -2, "texSpecular"); + LuaPush_Color(L, mat.colDiffuse); + lua_setfield(L, -2, "colDiffuse"); + LuaPush_Color(L, mat.colAmbient); + lua_setfield(L, -2, "colAmbient"); + LuaPush_Color(L, mat.colSpecular); + lua_setfield(L, -2, "colSpecular"); + lua_pushnumber(L, mat.glossiness); + lua_setfield(L, -2, "glossiness"); +} + +static void LuaPush_Model(lua_State* L, Model mdl) +{ + lua_createtable(L, 0, 4); + LuaPush_Mesh(L, mdl.mesh); + lua_setfield(L, -2, "mesh"); + LuaPush_Matrix(L, &mdl.transform); + lua_setfield(L, -2, "transform"); + LuaPush_Material(L, mdl.material); + lua_setfield(L, -2, "material"); +} + +//---------------------------------------------------------------------------------- +// raylib Lua Structure constructors +//---------------------------------------------------------------------------------- +static int lua_Color(lua_State* L) +{ + LuaPush_Color(L, (Color) { (unsigned char)luaL_checkinteger(L, 1), (unsigned char)luaL_checkinteger(L, 2), (unsigned char)luaL_checkinteger(L, 3), (unsigned char)luaL_checkinteger(L, 4) }); + return 1; +} + +static int lua_Vector2(lua_State* L) +{ + LuaPush_Vector2(L, (Vector2) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2) }); + return 1; +} + +static int lua_Vector3(lua_State* L) +{ + LuaPush_Vector3(L, (Vector3) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3) }); + return 1; +} + +static int lua_Rectangle(lua_State* L) +{ + LuaPush_Rectangle(L, (Rectangle) { (int)luaL_checkinteger(L, 1), (int)luaL_checkinteger(L, 2), (int)luaL_checkinteger(L, 3), (int)luaL_checkinteger(L, 4) }); + return 1; +} + +static int lua_Ray(lua_State* L) +{ + Vector2 pos = LuaGetArgument_Vector2(L, 1); + Vector2 dir = LuaGetArgument_Vector2(L, 2); + LuaPush_Ray(L, (Ray) { { pos.x, pos.y }, { dir.x, dir.y } }); + return 1; +} + +static int lua_Camera(lua_State* L) +{ + Vector3 pos = LuaGetArgument_Vector3(L, 1); + Vector3 tar = LuaGetArgument_Vector3(L, 2); + Vector3 up = LuaGetArgument_Vector3(L, 3); + float fovy = LuaGetArgument_float(L, 4); + LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, fovy }); + return 1; +} + +static int lua_Camera2D(lua_State* L) +{ + Vector2 off = LuaGetArgument_Vector2(L, 1); + Vector2 tar = LuaGetArgument_Vector2(L, 2); + float rot = LuaGetArgument_float(L, 3); + float zoom = LuaGetArgument_float(L, 4); + LuaPush_Camera2D(L, (Camera2D) { { off.x, off.y }, { tar.x, tar.y }, rot, zoom }); + return 1; +} + + +/************************************************************************************* +* raylib Lua Functions Bindings +**************************************************************************************/ + +//------------------------------------------------------------------------------------ +// raylib [core] module functions - Window and Graphics Device +//------------------------------------------------------------------------------------ +int lua_InitWindow(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + const char* arg3 = LuaGetArgument_string(L, 3); + InitWindow(arg1, arg2, arg3); + return 0; +} + +int lua_CloseWindow(lua_State* L) +{ + CloseWindow(); + return 0; +} + +int lua_WindowShouldClose(lua_State* L) +{ + bool result = WindowShouldClose(); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsWindowMinimized(lua_State* L) +{ + bool result = IsWindowMinimized(); + lua_pushboolean(L, result); + return 1; +} + +int lua_ToggleFullscreen(lua_State* L) +{ + ToggleFullscreen(); + return 0; +} + +int lua_GetScreenWidth(lua_State* L) +{ + int result = GetScreenWidth(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetScreenHeight(lua_State* L) +{ + int result = GetScreenHeight(); + lua_pushinteger(L, result); + return 1; +} + +int lua_ShowCursor(lua_State* L) +{ + ShowCursor(); + return 0; +} + +int lua_HideCursor(lua_State* L) +{ + HideCursor(); + return 0; +} + +int lua_IsCursorHidden(lua_State* L) +{ + bool result = IsCursorHidden(); + lua_pushboolean(L, result); + return 1; +} + +// TODO: +/* +void EnableCursor(void); // Enables cursor +void DisableCursor(void); // Disables cursor +*/ + +int lua_ClearBackground(lua_State* L) +{ + Color arg1 = LuaGetArgument_Color(L, 1); + ClearBackground(arg1); + return 0; +} + +int lua_BeginDrawing(lua_State* L) +{ + BeginDrawing(); + return 0; +} + +int lua_EndDrawing(lua_State* L) +{ + EndDrawing(); + return 0; +} + +// TODO: +//void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera +//void End2dMode(void); // Ends 2D mode custom camera usage + +int lua_Begin3dMode(lua_State* L) +{ + Camera arg1 = LuaGetArgument_Camera(L, 1); + Begin3dMode(arg1); + return 0; +} + +int lua_End3dMode(lua_State* L) +{ + End3dMode(); + return 0; +} + +// TODO: +//void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing +//void EndTextureMode(void); // Ends drawing to render texture + +int lua_GetMouseRay(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Camera arg2 = LuaGetArgument_Camera(L, 2); + Ray result = GetMouseRay(arg1, arg2); + LuaPush_Ray(L, result); + return 1; +} + +// TODO: +//Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position +//Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) + +#if defined(PLATFORM_WEB) + +static int LuaDrawLoopFunc; + +static void LuaDrawLoop() +{ + lua_rawgeti(L, LUA_REGISTRYINDEX, LuaDrawLoopFunc); + lua_call(L, 0, 0); +} + +int lua_SetDrawingLoop(lua_State* L) +{ + luaL_argcheck(L, lua_isfunction(L, 1), 1, "Loop function expected"); + lua_pushvalue(L, 1); + LuaDrawLoopFunc = luaL_ref(L, LUA_REGISTRYINDEX); + SetDrawingLoop(&LuaDrawLoop); + return 0; +} + +#else + +int lua_SetTargetFPS(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + SetTargetFPS(arg1); + return 0; +} +#endif + +int lua_GetFPS(lua_State* L) +{ + float result = GetFPS(); + lua_pushnumber(L, result); + return 1; +} + +int lua_GetFrameTime(lua_State* L) +{ + float result = GetFrameTime(); + lua_pushnumber(L, result); + return 1; +} + +int lua_GetColor(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + Color result = GetColor(arg1); + LuaPush_Color(L, result); + return 1; +} + +int lua_GetHexValue(lua_State* L) +{ + Color arg1 = LuaGetArgument_Color(L, 1); + int result = GetHexValue(arg1); + lua_pushinteger(L, result); + return 1; +} + +// TODO: +/* +float *ColorToFloat(Color color); // Converts Color to float array and normalizes +float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array +float *MatrixToFloat(Matrix mat); // Converts Matrix to float array +*/ + +int lua_GetRandomValue(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int result = GetRandomValue(arg1, arg2); + lua_pushinteger(L, result); + return 1; +} + +int lua_Fade(lua_State* L) +{ + Color arg1 = LuaGetArgument_Color(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Color result = Fade(arg1, arg2); + LuaPush_Color(L, result); + return 1; +} + +int lua_SetConfigFlags(lua_State* L) +{ + char arg1 = LuaGetArgument_char(L, 1); + SetConfigFlags(arg1); + return 0; +} + +int lua_ShowLogo(lua_State* L) +{ + ShowLogo(); + return 0; +} + +int lua_IsFileDropped(lua_State* L) +{ + bool result = IsFileDropped(); + lua_pushboolean(L, result); + return 1; +} +/* +int lua_*GetDroppedFiles(lua_State* L) +{ + int * arg1 = LuaGetArgument_int *(L, 1); + //char * result = *GetDroppedFiles(arg1); + LuaPush_//char *(L, result); + return 1; +} +*/ +int lua_ClearDroppedFiles(lua_State* L) +{ + ClearDroppedFiles(); + return 0; +} + +int lua_StorageSaveValue(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + StorageSaveValue(arg1, arg2); + return 0; +} + +int lua_StorageLoadValue(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int result = StorageLoadValue(arg1); + lua_pushinteger(L, result); + return 1; +} + +//------------------------------------------------------------------------------------ +// raylib [core] module functions - Input Handling +//------------------------------------------------------------------------------------ +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) +int lua_IsKeyPressed(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyPressed(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsKeyDown(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyDown(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsKeyReleased(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyReleased(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsKeyUp(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyUp(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_GetKeyPressed(lua_State* L) +{ + int result = GetKeyPressed(); + lua_pushinteger(L, result); + return 1; +} + +int lua_SetExitKey(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + SetExitKey(arg1); + return 0; +} + +int lua_IsGamepadAvailable(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsGamepadAvailable(arg1); + lua_pushboolean(L, result); + return 1; +} + +// TODO: Review +// float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis +/* +int lua_GetGamepadMovement(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + Vector2 result = GetGamepadMovement(arg1); + LuaPush_Vector2(L, result); + return 1; +} +*/ + +int lua_IsGamepadButtonPressed(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonPressed(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsGamepadButtonDown(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonDown(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsGamepadButtonReleased(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonReleased(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsGamepadButtonUp(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonUp(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} +#endif + +int lua_IsMouseButtonPressed(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonPressed(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsMouseButtonDown(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonDown(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsMouseButtonReleased(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonReleased(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsMouseButtonUp(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonUp(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_GetMouseX(lua_State* L) +{ + int result = GetMouseX(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetMouseY(lua_State* L) +{ + int result = GetMouseY(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetMousePosition(lua_State* L) +{ + Vector2 result = GetMousePosition(); + LuaPush_Vector2(L, result); + return 1; +} + +int lua_SetMousePosition(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + SetMousePosition(arg1); + return 0; +} + +int lua_GetMouseWheelMove(lua_State* L) +{ + int result = GetMouseWheelMove(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetTouchX(lua_State* L) +{ + int result = GetTouchX(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetTouchY(lua_State* L) +{ + int result = GetTouchY(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetTouchPosition(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + Vector2 result = GetTouchPosition(arg1); + LuaPush_Vector2(L, result); + return 1; +} + +// TODO: +/* +#if defined(PLATFORM_ANDROID) +bool IsButtonPressed(int button); // Detect if an android physic button has been pressed +bool IsButtonDown(int button); // Detect if an android physic button is being pressed +bool IsButtonReleased(int button); // Detect if an android physic button has been released +#endif +*/ + +//------------------------------------------------------------------------------------ +// raylib [gestures] module functions - Gestures and Touch Handling +//------------------------------------------------------------------------------------ +int lua_SetGesturesEnabled(lua_State* L) +{ + unsigned arg1 = LuaGetArgument_unsigned(L, 1); + SetGesturesEnabled(arg1); + return 0; +} + +int lua_IsGestureDetected(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsGestureDetected(arg1); + lua_pushboolean(L, result); + return 1; +} + +// TODO: +///void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures + +int lua_UpdateGestures(lua_State* L) +{ + UpdateGestures(); + return 0; +} + +int lua_GetTouchPointsCount(lua_State* L) +{ + int result = GetTouchPointsCount(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetGestureDetected(lua_State* L) +{ + int result = GetGestureDetected(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetGestureHoldDuration(lua_State* L) +{ + int result = GetGestureHoldDuration(); + lua_pushinteger(L, result); + return 1; +} + +int lua_GetGestureDragVector(lua_State* L) +{ + Vector2 result = GetGestureDragVector(); + LuaPush_Vector2(L, result); + return 1; +} + +int lua_GetGestureDragAngle(lua_State* L) +{ + float result = GetGestureDragAngle(); + lua_pushnumber(L, result); + return 1; +} + +int lua_GetGesturePinchVector(lua_State* L) +{ + Vector2 result = GetGesturePinchVector(); + LuaPush_Vector2(L, result); + return 1; +} + +int lua_GetGesturePinchAngle(lua_State* L) +{ + float result = GetGesturePinchAngle(); + lua_pushnumber(L, result); + return 1; +} + +//------------------------------------------------------------------------------------ +// raylib [camera] module functions - Camera System +//------------------------------------------------------------------------------------ +int lua_SetCameraMode(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + SetCameraMode(arg1); + return 0; +} + +int lua_UpdateCamera(lua_State* L) +{ + Camera arg1 = LuaGetArgument_Camera(L, 1); + UpdateCamera(&arg1); + LuaPush_Camera(L, arg1); + return 1; +} + +int lua_UpdateCameraPlayer(lua_State* L) +{ + Camera arg1 = LuaGetArgument_Camera(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + UpdateCameraPlayer(&arg1, &arg2); + LuaPush_Camera(L, arg1); + LuaPush_Vector3(L, arg2); + return 2; +} + +int lua_SetCameraPosition(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + SetCameraPosition(arg1); + return 0; +} + +int lua_SetCameraTarget(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + SetCameraTarget(arg1); + return 0; +} + +int lua_SetCameraFovy(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + SetCameraFovy(arg1); + return 0; +} + +int lua_SetCameraPanControl(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + SetCameraPanControl(arg1); + return 0; +} + +int lua_SetCameraAltControl(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + SetCameraAltControl(arg1); + return 0; +} + +int lua_SetCameraSmoothZoomControl(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + SetCameraSmoothZoomControl(arg1); + return 0; +} + +int lua_SetCameraMoveControls(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + int arg6 = LuaGetArgument_int(L, 6); + SetCameraMoveControls(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_SetCameraMouseSensitivity(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + SetCameraMouseSensitivity(arg1); + return 0; +} + +//------------------------------------------------------------------------------------ +// raylib [shapes] module functions - Basic Shapes Drawing +//------------------------------------------------------------------------------------ +int lua_DrawPixel(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawPixel(arg1, arg2, arg3); + return 0; +} + +int lua_DrawPixelV(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawPixelV(arg1, arg2); + return 0; +} + +int lua_DrawLine(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawLine(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawLineV(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawLineV(arg1, arg2, arg3); + return 0; +} + +int lua_DrawCircle(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawCircle(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawCircleGradient(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCircleGradient(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawCircleV(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawCircleV(arg1, arg2, arg3); + return 0; +} + +int lua_DrawCircleLines(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawCircleLines(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawRectangle(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawRectangle(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawRectangleRec(lua_State* L) +{ + Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawRectangleRec(arg1, arg2); + return 0; +} + +int lua_DrawRectangleGradient(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawRectangleGradient(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_DrawRectangleV(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawRectangleV(arg1, arg2, arg3); + return 0; +} + +int lua_DrawRectangleLines(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawRectangleLines(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawTriangle(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTriangle(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawTriangleLines(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTriangleLines(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawPoly(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawPoly(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +#define GET_TABLE(type, name, index) \ + type* name = 0; \ + size_t name##_size = 0; \ + { \ + size_t sz = 0; \ + luaL_checktype(L, index, LUA_TTABLE); \ + lua_pushnil(L); \ + while (lua_next(L, index)) { \ + LuaGetArgument_##type(L, -1); \ + sz++; \ + lua_pop(L, 1); \ + } \ + lua_pop(L, 1); \ + name = calloc(sz, sizeof(type)); \ + sz = 0; \ + lua_pushnil(L); \ + while (lua_next(L, index)) { \ + name[sz] = LuaGetArgument_##type(L, -1); \ + sz++; \ + lua_pop(L, 1); \ + } \ + lua_pop(L, 1); \ + name##_size = sz; \ + } + + +int lua_DrawPolyEx(lua_State* L) +{ + GET_TABLE(Vector2, arg1, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawPolyEx(arg1, arg1_size, arg2); + free(arg1); + return 0; +} + +int lua_DrawPolyExLines(lua_State* L) +{ + GET_TABLE(Vector2, arg1, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawPolyExLines(arg1, arg1_size, arg2); + free(arg1); + return 0; +} + +int lua_CheckCollisionRecs(lua_State* L) +{ + Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + bool result = CheckCollisionRecs(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionCircles(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + bool result = CheckCollisionCircles(arg1, arg2, arg3, arg4); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionCircleRec(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + bool result = CheckCollisionCircleRec(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; +} + +int lua_GetCollisionRec(lua_State* L) +{ + Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + Rectangle result = GetCollisionRec(arg1, arg2); + LuaPush_Rectangle(L, result); + return 1; +} + +int lua_CheckCollisionPointRec(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + bool result = CheckCollisionPointRec(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionPointCircle(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + bool result = CheckCollisionPointCircle(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionPointTriangle(lua_State* L) +{ + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Vector2 arg4 = LuaGetArgument_Vector2(L, 4); + bool result = CheckCollisionPointTriangle(arg1, arg2, arg3, arg4); + lua_pushboolean(L, result); + return 1; +} + +//------------------------------------------------------------------------------------ +// raylib [textures] module functions - Texture Loading and Drawing +//------------------------------------------------------------------------------------ +int lua_LoadImage(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Image result = LoadImage(arg1); + LuaPush_Image(L, result); + return 1; +} + +int lua_LoadImageEx(lua_State* L) +{ + //Color * arg1 = LuaGetArgument_Color *(L, 1); + GET_TABLE(Color, arg1, 1); + + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + Image result = LoadImageEx(arg1, arg2, arg3); + LuaPush_Image(L, result); + + free(arg1); + return 1; +} + +int lua_LoadImageRaw(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Image result = LoadImageRaw(arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, result); + return 1; +} + +int lua_LoadImageFromRES(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Image result = LoadImageFromRES(arg1, arg2); + LuaPush_Image(L, result); + return 1; +} + +int lua_LoadTexture(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Texture2D result = LoadTexture(arg1); + LuaPush_Texture2D(L, result); + return 1; +} + +// TODO: Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); +int lua_LoadTextureEx(lua_State* L) +{ + void * arg1 = LuaGetArgument_string(L, 1); // TODO: How to get a void * ? + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Texture2D result = LoadTextureEx(arg1, arg2, arg3, arg4); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadTextureFromRES(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Texture2D result = LoadTextureFromRES(arg1, arg2); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadTextureFromImage(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Texture2D result = LoadTextureFromImage(arg1); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadRenderTexture(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + RenderTexture2D result = LoadRenderTexture(arg1, arg2); + LuaPush_RenderTexture2D(L, result); + return 1; +} + +int lua_UnloadImage(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + UnloadImage(arg1); + return 0; +} + +int lua_UnloadTexture(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + UnloadTexture(arg1); + return 0; +} + +int lua_UnloadRenderTexture(lua_State* L) +{ + RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1); + UnloadRenderTexture(arg1); + return 0; +} + +int lua_GetImageData(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Color * result = GetImageData(arg1); + lua_createtable(L, arg1.width*arg1.height, 0); + for (int i = 0; i < arg1.width*arg1.height; i++) + { + LuaPush_Color(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; +} + +int lua_GetTextureData(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Image result = GetTextureData(arg1); + LuaPush_Image(L, result); + return 1; +} + +int lua_ImageToPOT(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + ImageToPOT(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageFormat(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + ImageFormat(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +// TODO: +/* +void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) +Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) +void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle +void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) +void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) +Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) +Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) +void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image +void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) +void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) +void ImageFlipVertical(Image *image); // Flip image vertically +void ImageFlipHorizontal(Image *image); // Flip image horizontally +void ImageColorTint(Image *image, Color color); // Modify image color: tint +void ImageColorInvert(Image *image); // Modify image color: invert +void ImageColorGrayscale(Image *image); // Modify image color: grayscale +void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) +void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) +*/ + +int lua_GenTextureMipmaps(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + GenTextureMipmaps(arg1); + return 0; +} + +// TODO: void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data + +int lua_DrawTexture(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTexture(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawTextureV(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawTextureV(arg1, arg2, arg3); + return 0; +} + +int lua_DrawTextureEx(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawTextureEx(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawTextureRec(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTextureRec(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawTexturePro(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + Vector2 arg4 = LuaGetArgument_Vector2(L, 4); + float arg5 = LuaGetArgument_float(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawTexturePro(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +//------------------------------------------------------------------------------------ +// raylib [text] module functions - Font Loading and Text Drawing +//------------------------------------------------------------------------------------ +int lua_GetDefaultFont(lua_State* L) +{ + SpriteFont result = GetDefaultFont(); + LuaPush_SpriteFont(L, result); + return 1; +} + +int lua_LoadSpriteFont(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + SpriteFont result = LoadSpriteFont(arg1); + LuaPush_SpriteFont(L, result); + return 1; +} + +int lua_UnloadSpriteFont(lua_State* L) +{ + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + UnloadSpriteFont(arg1); + return 0; +} + +int lua_DrawText(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawText(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawTextEx(lua_State* L) +{ + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + const char* arg2 = LuaGetArgument_string(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawTextEx(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_MeasureText(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int result = MeasureText(arg1, arg2); + lua_pushinteger(L, result); + return 1; +} + +int lua_MeasureTextEx(lua_State* L) +{ + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Vector2 result = MeasureTextEx(arg1, arg2, arg3, arg4); + LuaPush_Vector2(L, result); + return 1; +} + +int lua_DrawFPS(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + DrawFPS(arg1, arg2); + return 0; +} + +// TODO: +/* +const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' +const char *SubText(const char *text, int position, int length); // Get a piece of a text string +*/ + +int lua_DrawCube(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCube(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawCubeV(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawCubeV(arg1, arg2, arg3); + return 0; +} + +int lua_DrawCubeWires(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCubeWires(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawCubeTexture(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + float arg5 = LuaGetArgument_float(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawCubeTexture(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_DrawSphere(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawSphere(arg1, arg2, arg3); + return 0; +} + +int lua_DrawSphereEx(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawSphereEx(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawSphereWires(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawSphereWires(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawCylinder(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawCylinder(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_DrawCylinderWires(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawCylinderWires(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_DrawPlane(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawPlane(arg1, arg2, arg3); + return 0; +} + +int lua_DrawRay(lua_State* L) +{ + Ray arg1 = LuaGetArgument_Ray(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawRay(arg1, arg2); + return 0; +} + +int lua_DrawGrid(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + DrawGrid(arg1, arg2); + return 0; +} + +int lua_DrawGizmo(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + DrawGizmo(arg1); + return 0; +} + +// TODO: +/* +void DrawLight(Light light); // Draw light in 3D world +void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space +void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space +*/ + +//------------------------------------------------------------------------------------ +// raylib [models] module functions +//------------------------------------------------------------------------------------ +int lua_LoadModel(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Model result = LoadModel(arg1); + LuaPush_Model(L, result); + return 1; +} + +int lua_LoadModelEx(lua_State* L) +{ + Mesh arg1 = LuaGetArgument_Mesh(L, 1); + bool arg2 = LuaGetArgument_int(L, 2); + Model result = LoadModelEx(arg1, arg2); + LuaPush_Model(L, result); + return 1; +} + +int lua_LoadModelFromRES(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Model result = LoadModelFromRES(arg1, arg2); + LuaPush_Model(L, result); + return 1; +} + +int lua_LoadHeightmap(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Model result = LoadHeightmap(arg1, arg2); + LuaPush_Model(L, result); + return 1; +} + +int lua_LoadCubicmap(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Model result = LoadCubicmap(arg1); + LuaPush_Model(L, result); + return 1; +} + +int lua_UnloadModel(lua_State* L) +{ + Model arg1 = LuaGetArgument_Model(L, 1); + UnloadModel(arg1); + return 0; +} + +// TODO: GenMesh*() + +int lua_LoadMaterial(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Material result = LoadMaterial(arg1); + LuaPush_Material(L, result); + return 1; +} + +int lua_LoadDefaultMaterial(lua_State* L) +{ + Material result = LoadDefaultMaterial(); + LuaPush_Material(L, result); + return 1; +} + +int lua_LoadStandardMaterial(lua_State* L) +{ + Material result = LoadStandardMaterial(); + LuaPush_Material(L, result); + return 1; +} + +int lua_UnloadMaterial(lua_State* L) +{ + Material arg1 = LuaGetArgument_Material(L, 1); + UnloadMaterial(arg1); + return 0; +} + +int lua_DrawModel(lua_State* L) +{ + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawModel(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawModelEx(lua_State* L) +{ + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Vector3 arg5 = LuaGetArgument_Vector3(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawModelEx(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_DrawModelWires(lua_State* L) +{ + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawModelWires(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_DrawModelWiresEx(lua_State* L) +{ + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Vector3 arg5 = LuaGetArgument_Vector3(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawModelWiresEx(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_DrawBillboard(lua_State* L) +{ + Camera arg1 = LuaGetArgument_Camera(L, 1); + Texture2D arg2 = LuaGetArgument_Texture2D(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawBillboard(arg1, arg2, arg3, arg4, arg5); + return 0; +} + +int lua_DrawBillboardRec(lua_State* L) +{ + Camera arg1 = LuaGetArgument_Camera(L, 1); + Texture2D arg2 = LuaGetArgument_Texture2D(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + Vector3 arg4 = LuaGetArgument_Vector3(L, 4); + float arg5 = LuaGetArgument_float(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawBillboardRec(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; +} + +int lua_CalculateBoundingBox(lua_State* L) +{ + Mesh arg1 = LuaGetArgument_Mesh(L, 1); + BoundingBox result = CalculateBoundingBox(arg1); + LuaPush_BoundingBox(L, result); + return 0; +} + +int lua_CheckCollisionSpheres(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + bool result = CheckCollisionSpheres(arg1, arg2, arg3, arg4); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionBoxes(lua_State* L) +{ + BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); + BoundingBox arg2 = LuaGetArgument_BoundingBox(L, 2); + bool result = CheckCollisionBoxes(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionBoxSphere(lua_State* L) +{ + BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 4); + bool result = CheckCollisionBoxSphere(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; +} + +// TODO: +/* +bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere +bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection +bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box +Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap +*/ + +int lua_ResolveCollisionCubicmap(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Vector3 result = ResolveCollisionCubicmap(arg1, arg2, &arg3, arg4); + LuaPush_Vector3(L, result); + LuaPush_Vector3(L, arg3); + return 2; +} + +//------------------------------------------------------------------------------------ +// raylib [raymath] module functions - Shaders +//------------------------------------------------------------------------------------ +int lua_LoadShader(lua_State* L) +{ + char * arg1 = (char*)LuaGetArgument_string(L, 1); + char * arg2 = (char*)LuaGetArgument_string(L, 2); + Shader result = LoadShader(arg1, arg2); + LuaPush_Shader(L, result); + return 1; +} + +int lua_UnloadShader(lua_State* L) +{ + Shader arg1 = LuaGetArgument_Shader(L, 1); + UnloadShader(arg1); + return 0; +} + +int lua_GetDefaultShader(lua_State* L) +{ + Shader result = GetDefaultShader(); + LuaPush_Shader(L, result); + return 1; +} + +int lua_GetStandardShader(lua_State* L) +{ + Shader result = GetStandardShader(); + LuaPush_Shader(L, result); + return 1; +} + +int lua_GetDefaultTexture(lua_State* L) +{ + Texture2D result = GetDefaultTexture(); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_GetShaderLocation(lua_State* L) +{ + Shader arg1 = LuaGetArgument_Shader(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + int result = GetShaderLocation(arg1, arg2); + lua_pushinteger(L, result); + return 1; +} + +int lua_SetShaderValue(lua_State* L) +{ + Shader arg1 = LuaGetArgument_Shader(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + GET_TABLE(float, arg3, 3); + SetShaderValue(arg1, arg2, arg3, arg3_size); + free(arg3); + return 0; +} + +int lua_SetShaderValuei(lua_State* L) +{ + Shader arg1 = LuaGetArgument_Shader(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + GET_TABLE(int, arg3, 3); + SetShaderValuei(arg1, arg2, arg3, arg3_size); + free(arg3); + return 0; +} + +int lua_SetShaderValueMatrix(lua_State* L) +{ + Shader arg1 = LuaGetArgument_Shader(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Matrix arg3 = LuaGetArgument_Matrix(L, 3); + SetShaderValueMatrix(arg1, arg2, arg3); + return 0; +} + +int lua_SetMatrixProjection(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + SetMatrixProjection(arg1); + return 0; +} + +int lua_SetMatrixModelview(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + SetMatrixModelview(arg1); + return 0; +} + +int lua_BeginShaderMode(lua_State* L) +{ + Shader arg1 = LuaGetArgument_Shader(L, 1); + BeginShaderMode(arg1); + return 0; +} + +int lua_EndShaderMode(lua_State* L) +{ + EndShaderMode(); + return 0; +} + +int lua_BeginBlendMode(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + BeginBlendMode(arg1); + return 0; +} + +int lua_EndBlendMode(lua_State* L) +{ + EndBlendMode(); + return 0; +} + +// TODO: +//Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool +//void DestroyLight(Light light); // Destroy a light and take it out of the list + +// TODO: +/* +//------------------------------------------------------------------------------------ +// raylib [rlgl] module functions - VR experience +//------------------------------------------------------------------------------------ +void InitVrDevice(int vdDevice); // Init VR device +void CloseVrDevice(void); // Close VR device +void UpdateVrTracking(void); // Update VR tracking (position and orientation) +void BeginVrDrawing(void); // Begin VR drawing configuration +void EndVrDrawing(void); // End VR drawing process (and desktop mirror) +bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +*/ + +//------------------------------------------------------------------------------------ +// raylib [audio] module functions +//------------------------------------------------------------------------------------ +int lua_InitAudioDevice(lua_State* L) +{ + InitAudioDevice(); + return 0; +} + +int lua_CloseAudioDevice(lua_State* L) +{ + CloseAudioDevice(); + return 0; +} + +int lua_IsAudioDeviceReady(lua_State* L) +{ + bool result = IsAudioDeviceReady(); + lua_pushboolean(L, result); + return 0; +} + +int lua_LoadSound(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Sound result = LoadSound((char*)arg1); + LuaPush_Sound(L, result); + return 1; +} + +int lua_LoadSoundFromWave(lua_State* L) +{ + Wave arg1 = LuaGetArgument_Wave(L, 1); + Sound result = LoadSoundFromWave(arg1); + LuaPush_Sound(L, result); + return 1; +} + +int lua_LoadSoundFromRES(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Sound result = LoadSoundFromRES(arg1, arg2); + LuaPush_Sound(L, result); + return 1; +} + +int lua_UnloadSound(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + UnloadSound(arg1); + return 0; +} + +int lua_PlaySound(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + PlaySound(arg1); + return 0; +} + +int lua_PauseSound(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + PauseSound(arg1); + return 0; +} + +int lua_ResumeSound(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + ResumeSound(arg1); + return 0; +} + +int lua_StopSound(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + StopSound(arg1); + return 0; +} + +int lua_IsSoundPlaying(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + bool result = IsSoundPlaying(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_SetSoundVolume(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + SetSoundVolume(arg1, arg2); + return 0; +} + +int lua_SetSoundPitch(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + SetSoundPitch(arg1, arg2); + return 0; +} + +int lua_LoadMusicStream(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Music result = LoadMusicStream((char *)arg1); + LuaPush_Music(L, result); + return 0; +} + +int lua_UnloadMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + UnloadMusicStream(arg1); + return 0; +} + +int lua_PlayMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + PlayMusicStream(arg1); + return 0; +} + +int lua_UpdateMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + UpdateMusicStream(arg1); + return 0; +} + +int lua_StopMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + StopMusicStream(arg1); + return 0; +} + +int lua_PauseMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + PauseMusicStream(arg1); + return 0; +} + +int lua_ResumeMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + ResumeMusicStream(arg1); + return 0; +} + +int lua_IsMusicPlaying(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + bool result = IsMusicPlaying(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_SetMusicVolume(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + SetMusicVolume(arg1, arg2); + return 0; +} + +int lua_GetMusicTimeLength(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + float result = GetMusicTimeLength(arg1); + lua_pushnumber(L, result); + return 1; +} + +int lua_GetMusicTimePlayed(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + float result = GetMusicTimePlayed(arg1); + lua_pushnumber(L, result); + return 1; +} + +// TODO: +/* +AudioStream InitAudioStream(unsigned int sampleRate, + unsigned int sampleSize, + unsigned int channels); // Init audio stream (to stream audio pcm data) +void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data +void CloseAudioStream(AudioStream stream); // Close audio stream and free memory +bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill +void PlayAudioStream(AudioStream stream); // Play audio stream +void PauseAudioStream(AudioStream stream); // Pause audio stream +void ResumeAudioStream(AudioStream stream); // Resume audio stream +void StopAudioStream(AudioStream stream); // Stop audio stream +*/ + +//---------------------------------------------------------------------------------- +// raylib [utils] module functions +//---------------------------------------------------------------------------------- +int lua_DecompressData(lua_State* L) +{ + unsigned char *arg1 = (unsigned char *)LuaGetArgument_string(L, 1); + unsigned arg2 = (unsigned)LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + unsigned char *result = DecompressData(arg1, arg2, arg3); + lua_pushlstring(L, (const char *)result, arg3); + return 1; +} + +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) +int lua_WriteBitmap(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + unsigned char* arg2 = (unsigned char*)LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + WriteBitmap(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_WritePNG(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + unsigned char* arg2 = (unsigned char*)LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + WritePNG(arg1, arg2, arg3, arg4, arg5); + return 0; +} +#endif + +int lua_TraceLog(lua_State* L) +{ + int num_args = lua_gettop(L) - 1; + int arg1 = LuaGetArgument_int(L, 1); + + /// type, fmt, args... + + lua_rotate(L, 1, -1); /// fmt, args..., type + lua_pop(L, 1); /// fmt, args... + + lua_getglobal(L, "string"); /// fmt, args..., [string] + lua_getfield(L, 1, "format"); /// fmt, args..., [string], format() + lua_rotate(L, 1, 2); /// [string], format(), fmt, args... + lua_call(L, num_args, 1); /// [string], formatted_string + + TraceLog(arg1, "%s", luaL_checkstring(L,-1)); + return 0; +} + +int lua_GetExtension(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + const char* result = GetExtension(arg1); + lua_pushstring(L, result); + return 1; +} + +int lua_GetNextPOT(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int result = GetNextPOT(arg1); + lua_pushinteger(L, result); + return 1; +} + +//---------------------------------------------------------------------------------- +// raylib [raymath] module functions - Vector3 math +//---------------------------------------------------------------------------------- +int lua_VectorAdd(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorAdd(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; +} + +int lua_VectorSubtract(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorSubtract(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; +} + +int lua_VectorCrossProduct(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorCrossProduct(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; +} + +int lua_VectorPerpendicular(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 result = VectorPerpendicular(arg1); + LuaPush_Vector3(L, result); + return 1; +} + +int lua_VectorDotProduct(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float result = VectorDotProduct(arg1, arg2); + lua_pushnumber(L, result); + return 1; +} + +int lua_VectorLength(lua_State* L) +{ + const Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float result = VectorLength(arg1); + lua_pushnumber(L, result); + return 1; +} + +int lua_VectorScale(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + VectorScale(&arg1, arg2); + LuaPush_Vector3(L, arg1); + return 1; +} + +int lua_VectorNegate(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + VectorNegate(&arg1); + LuaPush_Vector3(L, arg1); + return 1; +} + +int lua_VectorNormalize(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + VectorNormalize(&arg1); + LuaPush_Vector3(L, arg1); + return 1; +} + +int lua_VectorDistance(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float result = VectorDistance(arg1, arg2); + lua_pushnumber(L, result); + return 1; +} + +int lua_VectorLerp(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Vector3 result = VectorLerp(arg1, arg2, arg3); + LuaPush_Vector3(L, result); + return 1; +} + +int lua_VectorReflect(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorReflect(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; +} + +int lua_VectorTransform(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + VectorTransform(&arg1, arg2); + LuaPush_Vector3(L, arg1); + return 1; +} + +int lua_VectorZero(lua_State* L) +{ + Vector3 result = VectorZero(); + LuaPush_Vector3(L, result); + return 1; +} + +//---------------------------------------------------------------------------------- +// raylib [raymath] module functions - Matrix math +//---------------------------------------------------------------------------------- +int lua_MatrixDeterminant(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + float result = MatrixDeterminant(arg1); + lua_pushnumber(L, result); + return 1; +} + +int lua_MatrixTrace(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + float result = MatrixTrace(arg1); + lua_pushnumber(L, result); + return 1; +} + +int lua_MatrixTranspose(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + MatrixTranspose(&arg1); + LuaPush_Matrix(L, &arg1); + return 1; +} + +int lua_MatrixInvert(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + MatrixInvert(&arg1); + LuaPush_Matrix(L, &arg1); + return 1; +} + +int lua_MatrixNormalize(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + MatrixNormalize(&arg1); + LuaPush_Matrix(L, &arg1); + return 1; +} + +int lua_MatrixIdentity(lua_State* L) +{ + Matrix result = MatrixIdentity(); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixAdd(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + Matrix result = MatrixAdd(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixSubstract(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + Matrix result = MatrixSubstract(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixTranslate(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Matrix result = MatrixTranslate(arg1, arg2, arg3); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixRotate(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Matrix result = MatrixRotate(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixRotateX(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + Matrix result = MatrixRotateX(arg1); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixRotateY(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + Matrix result = MatrixRotateY(arg1); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixRotateZ(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + Matrix result = MatrixRotateZ(arg1); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixScale(lua_State* L) +{ + float arg1 = LuaGetArgument_float(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Matrix result = MatrixScale(arg1, arg2, arg3); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixMultiply(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + Matrix result = MatrixMultiply(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixFrustum(lua_State* L) +{ + double arg1 = LuaGetArgument_double(L, 1); + double arg2 = LuaGetArgument_double(L, 2); + double arg3 = LuaGetArgument_double(L, 3); + double arg4 = LuaGetArgument_double(L, 4); + double arg5 = LuaGetArgument_double(L, 5); + double arg6 = LuaGetArgument_double(L, 6); + Matrix result = MatrixFrustum(arg1, arg2, arg3, arg4, arg5, arg6); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixPerspective(lua_State* L) +{ + double arg1 = LuaGetArgument_double(L, 1); + double arg2 = LuaGetArgument_double(L, 2); + double arg3 = LuaGetArgument_double(L, 3); + double arg4 = LuaGetArgument_double(L, 4); + Matrix result = MatrixPerspective(arg1, arg2, arg3, arg4); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixOrtho(lua_State* L) +{ + double arg1 = LuaGetArgument_double(L, 1); + double arg2 = LuaGetArgument_double(L, 2); + double arg3 = LuaGetArgument_double(L, 3); + double arg4 = LuaGetArgument_double(L, 4); + double arg5 = LuaGetArgument_double(L, 5); + double arg6 = LuaGetArgument_double(L, 6); + Matrix result = MatrixOrtho(arg1, arg2, arg3, arg4, arg5, arg6); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_MatrixLookAt(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + Matrix result = MatrixLookAt(arg1, arg2, arg3); + LuaPush_Matrix(L, &result); + return 1; +} + +//---------------------------------------------------------------------------------- +// raylib [raymath] module functions - Quaternion math +//---------------------------------------------------------------------------------- +int lua_QuaternionLength(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + float result = QuaternionLength(arg1); + lua_pushnumber(L, result); + return 1; +} + +int lua_QuaternionNormalize(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + QuaternionNormalize(&arg1); + LuaPush_Quaternion(L, arg1); + return 1; +} + +int lua_QuaternionMultiply(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Quaternion arg2 = LuaGetArgument_Quaternion(L, 2); + Quaternion result = QuaternionMultiply(arg1, arg2); + LuaPush_Quaternion(L, result); + return 1; +} + +int lua_QuaternionSlerp(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Quaternion arg2 = LuaGetArgument_Quaternion(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Quaternion result = QuaternionSlerp(arg1, arg2, arg3); + LuaPush_Quaternion(L, result); + return 1; +} + +int lua_QuaternionFromMatrix(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Quaternion result = QuaternionFromMatrix(arg1); + LuaPush_Quaternion(L, result); + return 1; +} + +int lua_QuaternionToMatrix(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Matrix result = QuaternionToMatrix(arg1); + LuaPush_Matrix(L, &result); + return 1; +} + +int lua_QuaternionFromAxisAngle(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Quaternion result = QuaternionFromAxisAngle(arg1, arg2); + LuaPush_Quaternion(L, result); + return 1; +} + +int lua_QuaternionToAxisAngle(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Vector3 arg2; + float arg3 = 0; + QuaternionToAxisAngle(arg1, &arg2, &arg3); + LuaPush_Vector3(L, arg2); + lua_pushnumber(L, arg3); + return 2; +} + +int lua_QuaternionTransform(lua_State* L) +{ + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + QuaternionTransform(&arg1, arg2); + LuaPush_Quaternion(L, arg1); + return 1; +} + + +//---------------------------------------------------------------------------------- +// Functions Registering +//---------------------------------------------------------------------------------- +#define REG(name) { #name, lua_##name }, + +// raylib Functions (and data types) list +static luaL_Reg raylib_functions[] = { + REG(Color) + REG(Vector2) + REG(Vector3) + REG(Rectangle) + REG(Ray) + REG(Camera) + // TODO: Additional structs + + // TODO: Review registered functions + REG(InitWindow) + REG(CloseWindow) + REG(WindowShouldClose) + REG(IsWindowMinimized) + REG(ToggleFullscreen) + + REG(GetScreenWidth) + REG(GetScreenHeight) + REG(ClearBackground) + REG(BeginDrawing) + REG(EndDrawing) + REG(Begin3dMode) + REG(End3dMode) + REG(GetMouseRay) +#if defined(PLATFORM_WEB) + REG(SetDrawingLoop) +#else + REG(SetTargetFPS) +#endif + REG(GetFPS) + REG(GetFrameTime) + REG(GetColor) + REG(GetHexValue) + REG(GetRandomValue) + REG(Fade) + REG(SetConfigFlags) + REG(ShowLogo) + REG(IsFileDropped) + //REG(*GetDroppedFiles) + REG(ClearDroppedFiles) +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) + REG(IsKeyPressed) + REG(IsKeyDown) + REG(IsKeyReleased) + REG(IsKeyUp) + REG(GetKeyPressed) + REG(IsMouseButtonPressed) + REG(IsMouseButtonDown) + REG(IsMouseButtonReleased) + REG(IsMouseButtonUp) + REG(GetMouseX) + REG(GetMouseY) + REG(GetMousePosition) + REG(SetMousePosition) + REG(GetMouseWheelMove) + REG(ShowCursor) + REG(HideCursor) + REG(IsCursorHidden) +#endif + +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) + REG(IsGamepadAvailable) + + REG(IsGamepadButtonPressed) + REG(IsGamepadButtonDown) + REG(IsGamepadButtonReleased) + REG(IsGamepadButtonUp) +#endif + +#if defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB) + REG(GetTouchX) + REG(GetTouchY) + REG(GetTouchPosition) +#if defined(PLATFORM_WEB) + REG(InitGesturesSystem) +#elif defined(PLATFORM_ANDROID) + //REG(InitGesturesSystem) +#endif + REG(UpdateGestures) + REG(IsGestureDetected) + REG(GetGestureType) + REG(SetGesturesEnabled) + REG(GetGestureDragIntensity) + REG(GetGestureDragAngle) + REG(GetGestureDragVector) + REG(GetGestureHoldDuration) + REG(GetGesturePinchDelta) + REG(GetGesturePinchAngle) +#endif + REG(SetCameraMode) + REG(UpdateCamera) + REG(UpdateCameraPlayer) + REG(SetCameraPosition) + REG(SetCameraTarget) + REG(SetCameraPanControl) + REG(SetCameraAltControl) + REG(SetCameraSmoothZoomControl) + REG(SetCameraMoveControls) + REG(SetCameraMouseSensitivity) + REG(DrawPixel) + REG(DrawPixelV) + REG(DrawLine) + REG(DrawLineV) + REG(DrawCircle) + REG(DrawCircleGradient) + REG(DrawCircleV) + REG(DrawCircleLines) + REG(DrawRectangle) + REG(DrawRectangleRec) + REG(DrawRectangleGradient) + REG(DrawRectangleV) + REG(DrawRectangleLines) + REG(DrawTriangle) + REG(DrawTriangleLines) + REG(DrawPoly) + REG(DrawPolyEx) + REG(DrawPolyExLines) + REG(CheckCollisionRecs) + REG(CheckCollisionCircles) + REG(CheckCollisionCircleRec) + REG(GetCollisionRec) + REG(CheckCollisionPointRec) + REG(CheckCollisionPointCircle) + REG(CheckCollisionPointTriangle) + REG(LoadImage) + REG(LoadImageEx) + REG(LoadImageRaw) + REG(LoadImageFromRES) + REG(LoadTexture) + REG(LoadTextureFromRES) + REG(LoadTextureFromImage) + REG(UnloadImage) + REG(UnloadTexture) + REG(GetImageData) + REG(GetTextureData) + REG(ImageToPOT) + REG(ImageFormat) + REG(GenTextureMipmaps) + REG(DrawTexture) + REG(DrawTextureV) + REG(DrawTextureEx) + REG(DrawTextureRec) + REG(DrawTexturePro) + REG(GetDefaultFont) + REG(LoadSpriteFont) + REG(UnloadSpriteFont) + REG(DrawText) + REG(DrawTextEx) + REG(MeasureText) + REG(MeasureTextEx) + REG(DrawFPS) + REG(DrawCube) + REG(DrawCubeV) + REG(DrawCubeWires) + REG(DrawCubeTexture) + REG(DrawSphere) + REG(DrawSphereEx) + REG(DrawSphereWires) + REG(DrawCylinder) + REG(DrawCylinderWires) + REG(DrawPlane) + REG(DrawRay) + REG(DrawGrid) + REG(DrawGizmo) + REG(LoadModel) + REG(LoadModelEx) + REG(LoadHeightmap) + REG(LoadCubicmap) + REG(UnloadModel) + REG(DrawModel) + REG(DrawModelEx) + REG(DrawModelWires) + REG(DrawBillboard) + REG(DrawBillboardRec) + REG(CheckCollisionSpheres) + REG(CheckCollisionBoxes) + REG(CheckCollisionBoxSphere) + REG(ResolveCollisionCubicmap) + REG(LoadShader) + REG(UnloadShader) + REG(GetShaderLocation) + REG(SetShaderValue) + REG(SetShaderValuei) + + REG(BeginBlendMode) + REG(EndBlendMode) + REG(InitAudioDevice) + REG(CloseAudioDevice) + REG(LoadSound) + REG(LoadSoundFromWave) + REG(LoadSoundFromRES) + REG(UnloadSound) + REG(PlaySound) + REG(PauseSound) + REG(StopSound) + REG(IsSoundPlaying) + REG(SetSoundVolume) + REG(SetSoundPitch) + REG(PlayMusicStream) + REG(UpdateMusicStream) + REG(StopMusicStream) + REG(PauseMusicStream) + REG(ResumeMusicStream) + REG(IsMusicPlaying) + REG(SetMusicVolume) + REG(GetMusicTimeLength) + REG(GetMusicTimePlayed) + + /// Math and util + REG(DecompressData) +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) + REG(WriteBitmap) + REG(WritePNG) +#endif + REG(TraceLog) + REG(GetExtension) + REG(GetNextPOT) + REG(VectorAdd) + REG(VectorSubtract) + REG(VectorCrossProduct) + REG(VectorPerpendicular) + REG(VectorDotProduct) + REG(VectorLength) + REG(VectorScale) + REG(VectorNegate) + REG(VectorNormalize) + REG(VectorDistance) + REG(VectorLerp) + REG(VectorReflect) + REG(VectorTransform) + REG(VectorZero) + REG(MatrixDeterminant) + REG(MatrixTrace) + REG(MatrixTranspose) + REG(MatrixInvert) + REG(MatrixNormalize) + REG(MatrixIdentity) + REG(MatrixAdd) + REG(MatrixSubstract) + REG(MatrixTranslate) + REG(MatrixRotate) + REG(MatrixRotateX) + REG(MatrixRotateY) + REG(MatrixRotateZ) + REG(MatrixScale) + REG(MatrixMultiply) + REG(MatrixFrustum) + REG(MatrixPerspective) + REG(MatrixOrtho) + REG(MatrixLookAt) + REG(QuaternionLength) + REG(QuaternionNormalize) + REG(QuaternionMultiply) + REG(QuaternionSlerp) + REG(QuaternionFromMatrix) + REG(QuaternionToMatrix) + REG(QuaternionFromAxisAngle) + REG(QuaternionToAxisAngle) + REG(QuaternionTransform) + + {0,0} +}; + +// Register raylib functionality +static void LuaRegisterRayLib(const char *opt_table) +{ + if (opt_table) lua_createtable(L, 0, sizeof(raylib_functions)/sizeof(raylib_functions[0])); + else lua_pushglobaltable(L); + + luaL_setfuncs(L, raylib_functions, 0); +} + +//---------------------------------------------------------------------------------- +// raylib Lua API +//---------------------------------------------------------------------------------- + +// Initialize Lua system +RLUADEF void InitLuaDevice(void) +{ + mainLuaState = luaL_newstate(); + L = mainLuaState; + + LuaStartEnum(); + LuaSetEnum("FULLSCREEN_MODE", 1); + LuaSetEnum("SHOW_LOGO", 2); + LuaSetEnum("SHOW_MOUSE_CURSOR", 4); + LuaSetEnum("CENTERED_MODE", 8); + LuaSetEnum("MSAA_4X_HINT", 16); + LuaSetEnum("VSYNC_HINT", 32); + LuaEndEnum("FLAG"); + + LuaStartEnum(); + LuaSetEnum("SPACE", 32); + LuaSetEnum("ESCAPE", 256); + LuaSetEnum("ENTER", 257); + LuaSetEnum("BACKSPACE", 259); + LuaSetEnum("RIGHT", 262); + LuaSetEnum("LEFT", 263); + LuaSetEnum("DOWN", 264); + LuaSetEnum("UP", 265); + LuaSetEnum("F1", 290); + LuaSetEnum("F2", 291); + LuaSetEnum("F3", 292); + LuaSetEnum("F4", 293); + LuaSetEnum("F5", 294); + LuaSetEnum("F6", 295); + LuaSetEnum("F7", 296); + LuaSetEnum("F8", 297); + LuaSetEnum("F9", 298); + LuaSetEnum("F10", 299); + LuaSetEnum("LEFT_SHIFT", 340); + LuaSetEnum("LEFT_CONTROL", 341); + LuaSetEnum("LEFT_ALT", 342); + LuaSetEnum("RIGHT_SHIFT", 344); + LuaSetEnum("RIGHT_CONTROL", 345); + LuaSetEnum("RIGHT_ALT", 346); + LuaSetEnum("ZERO", 48); + LuaSetEnum("ONE", 49); + LuaSetEnum("TWO", 50); + LuaSetEnum("THREE", 51); + LuaSetEnum("FOUR", 52); + LuaSetEnum("FIVE", 53); + LuaSetEnum("SIX", 54); + LuaSetEnum("SEVEN", 55); + LuaSetEnum("EIGHT", 56); + LuaSetEnum("NINE", 57); + LuaSetEnum("A", 65); + LuaSetEnum("B", 66); + LuaSetEnum("C", 67); + LuaSetEnum("D", 68); + LuaSetEnum("E", 69); + LuaSetEnum("F", 70); + LuaSetEnum("G", 71); + LuaSetEnum("H", 72); + LuaSetEnum("I", 73); + LuaSetEnum("J", 74); + LuaSetEnum("K", 75); + LuaSetEnum("L", 76); + LuaSetEnum("M", 77); + LuaSetEnum("N", 78); + LuaSetEnum("O", 79); + LuaSetEnum("P", 80); + LuaSetEnum("Q", 81); + LuaSetEnum("R", 82); + LuaSetEnum("S", 83); + LuaSetEnum("T", 84); + LuaSetEnum("U", 85); + LuaSetEnum("V", 86); + LuaSetEnum("W", 87); + LuaSetEnum("X", 88); + LuaSetEnum("Y", 89); + LuaSetEnum("Z", 90); + LuaEndEnum("KEY"); + + LuaStartEnum(); + LuaSetEnum("LEFT_BUTTON", 0); + LuaSetEnum("RIGHT_BUTTON", 1); + LuaSetEnum("MIDDLE_BUTTON", 2); + LuaEndEnum("MOUSE"); + + LuaStartEnum(); + LuaSetEnum("PLAYER1", 0); + LuaSetEnum("PLAYER2", 1); + LuaSetEnum("PLAYER3", 2); + LuaSetEnum("PLAYER4", 3); + + LuaSetEnum("BUTTON_A", 2); + LuaSetEnum("BUTTON_B", 1); + LuaSetEnum("BUTTON_X", 3); + LuaSetEnum("BUTTON_Y", 4); + LuaSetEnum("BUTTON_R1", 7); + LuaSetEnum("BUTTON_R2", 5); + LuaSetEnum("BUTTON_L1", 6); + LuaSetEnum("BUTTON_L2", 8); + LuaSetEnum("BUTTON_SELECT", 9); + LuaSetEnum("BUTTON_START", 10); + LuaEndEnum("GAMEPAD"); + + LuaStartEnum(); + LuaSetEnum("PLAYER1", 0); + LuaSetEnum("PLAYER2", 1); + LuaSetEnum("PLAYER3", 2); + LuaSetEnum("PLAYER4", 3); + + LuaSetEnum("BUTTON_A", 2); + LuaSetEnum("BUTTON_B", 1); + LuaSetEnum("BUTTON_X", 3); + LuaSetEnum("BUTTON_Y", 4); + LuaSetEnum("BUTTON_R1", 7); + LuaSetEnum("BUTTON_R2", 5); + LuaSetEnum("BUTTON_L1", 6); + LuaSetEnum("BUTTON_L2", 8); + LuaSetEnum("BUTTON_SELECT", 9); + LuaSetEnum("BUTTON_START", 10); + LuaEndEnum("GAMEPAD"); + + // TODO: XBOX controller buttons enum + + lua_pushglobaltable(L); + LuaSetEnumColor("LIGHTGRAY", LIGHTGRAY); + LuaSetEnumColor("GRAY", GRAY); + LuaSetEnumColor("DARKGRAY", DARKGRAY); + LuaSetEnumColor("YELLOW", YELLOW); + LuaSetEnumColor("GOLD", GOLD); + LuaSetEnumColor("ORANGE", ORANGE); + LuaSetEnumColor("PINK", PINK); + LuaSetEnumColor("RED", RED); + LuaSetEnumColor("MAROON", MAROON); + LuaSetEnumColor("GREEN", GREEN); + LuaSetEnumColor("LIME", LIME); + LuaSetEnumColor("DARKGREEN", DARKGREEN); + LuaSetEnumColor("SKYBLUE", SKYBLUE); + LuaSetEnumColor("BLUE", BLUE); + LuaSetEnumColor("DARKBLUE", DARKBLUE); + LuaSetEnumColor("PURPLE", PURPLE); + LuaSetEnumColor("VIOLET", VIOLET); + LuaSetEnumColor("DARKPURPLE", DARKPURPLE); + LuaSetEnumColor("BEIGE", BEIGE); + LuaSetEnumColor("BROWN", BROWN); + LuaSetEnumColor("DARKBROWN", DARKBROWN); + LuaSetEnumColor("WHITE", WHITE); + LuaSetEnumColor("BLACK", BLACK); + LuaSetEnumColor("BLANK", BLANK); + LuaSetEnumColor("MAGENTA", MAGENTA); + LuaSetEnumColor("RAYWHITE", RAYWHITE); + lua_pop(L, 1); + + LuaStartEnum(); + LuaSetEnum("UNCOMPRESSED_GRAYSCALE", UNCOMPRESSED_GRAYSCALE); + LuaSetEnum("UNCOMPRESSED_GRAY_ALPHA", UNCOMPRESSED_GRAY_ALPHA); + LuaSetEnum("UNCOMPRESSED_R5G6B5", UNCOMPRESSED_R5G6B5); + LuaSetEnum("UNCOMPRESSED_R8G8B8", UNCOMPRESSED_R8G8B8); + LuaSetEnum("UNCOMPRESSED_R5G5B5A1", UNCOMPRESSED_R5G5B5A1); + LuaSetEnum("UNCOMPRESSED_R4G4B4A4", UNCOMPRESSED_R4G4B4A4); + LuaSetEnum("UNCOMPRESSED_R8G8B8A8", UNCOMPRESSED_R8G8B8A8); + LuaSetEnum("COMPRESSED_DXT1_RGB", COMPRESSED_DXT1_RGB); + LuaSetEnum("COMPRESSED_DXT1_RGBA", COMPRESSED_DXT1_RGBA); + LuaSetEnum("COMPRESSED_DXT3_RGBA", COMPRESSED_DXT3_RGBA); + LuaSetEnum("COMPRESSED_DXT5_RGBA", COMPRESSED_DXT5_RGBA); + LuaSetEnum("COMPRESSED_ETC1_RGB", COMPRESSED_ETC1_RGB); + LuaSetEnum("COMPRESSED_ETC2_RGB", COMPRESSED_ETC2_RGB); + LuaSetEnum("COMPRESSED_ETC2_EAC_RGBA", COMPRESSED_ETC2_EAC_RGBA); + LuaSetEnum("COMPRESSED_PVRT_RGB", COMPRESSED_PVRT_RGB); + LuaSetEnum("COMPRESSED_PVRT_RGBA", COMPRESSED_PVRT_RGBA); + LuaSetEnum("COMPRESSED_ASTC_4x4_RGBA", COMPRESSED_ASTC_4x4_RGBA); + LuaSetEnum("COMPRESSED_ASTC_8x8_RGBA", COMPRESSED_ASTC_8x8_RGBA); + LuaEndEnum("TextureFormat"); + + LuaStartEnum(); + LuaSetEnum("ALPHA", BLEND_ALPHA); + LuaSetEnum("ADDITIVE", BLEND_ADDITIVE); + LuaSetEnum("MULTIPLIED", BLEND_MULTIPLIED); + LuaEndEnum("BlendMode"); + + LuaStartEnum(); + LuaSetEnum("NONE", GESTURE_NONE); + LuaSetEnum("TAP", GESTURE_TAP); + LuaSetEnum("DOUBLETAP", GESTURE_DOUBLETAP); + LuaSetEnum("HOLD", GESTURE_HOLD); + LuaSetEnum("DRAG", GESTURE_DRAG); + LuaSetEnum("SWIPE_RIGHT", GESTURE_SWIPE_RIGHT); + LuaSetEnum("SWIPE_LEFT", GESTURE_SWIPE_LEFT); + LuaSetEnum("SWIPE_UP", GESTURE_SWIPE_UP); + LuaSetEnum("SWIPE_DOWN", GESTURE_SWIPE_DOWN); + LuaSetEnum("PINCH_IN", GESTURE_PINCH_IN); + LuaSetEnum("PINCH_OUT", GESTURE_PINCH_OUT); + LuaEndEnum("Gestures"); + + LuaStartEnum(); + LuaSetEnum("CUSTOM", CAMERA_CUSTOM); + LuaSetEnum("FREE", CAMERA_FREE); + LuaSetEnum("ORBITAL", CAMERA_ORBITAL); + LuaSetEnum("FIRST_PERSON", CAMERA_FIRST_PERSON); + LuaSetEnum("THIRD_PERSON", CAMERA_THIRD_PERSON); + LuaEndEnum("CameraMode"); + + LuaStartEnum(); + LuaSetEnum("HMD_DEFAULT_DEVICE", HMD_DEFAULT_DEVICE); + LuaSetEnum("HMD_OCULUS_RIFT_DK2", HMD_OCULUS_RIFT_DK2); + LuaSetEnum("HMD_OCULUS_RIFT_CV1", HMD_OCULUS_RIFT_CV1); + LuaSetEnum("HMD_VALVE_HTC_VIVE", HMD_VALVE_HTC_VIVE); + LuaSetEnum("HMD_SAMSUNG_GEAR_VR", HMD_SAMSUNG_GEAR_VR); + LuaSetEnum("HMD_GOOGLE_CARDBOARD", HMD_GOOGLE_CARDBOARD); + LuaSetEnum("HMD_SONY_PLAYSTATION_VR", HMD_SONY_PLAYSTATION_VR); + LuaSetEnum("HMD_RAZER_OSVR", HMD_RAZER_OSVR); + LuaSetEnum("HMD_FOVE_VR", HMD_FOVE_VR); + LuaEndEnum("VrDevice"); + + lua_pushglobaltable(L); + LuaSetEnum("INFO", INFO); + LuaSetEnum("ERROR", ERROR); + LuaSetEnum("WARNING", WARNING); + LuaSetEnum("DEBUG", DEBUG); + LuaSetEnum("OTHER", OTHER); + lua_pop(L, 1); + + lua_pushboolean(L, true); +#if defined(PLATFORM_DESKTOP) + lua_setglobal(L, "PLATFORM_DESKTOP"); +#elif defined(PLATFORM_ANDROID) + lua_setglobal(L, "PLATFORM_ANDROID"); +#elif defined(PLATFORM_RPI) + lua_setglobal(L, "PLATFORM_RPI"); +#elif defined(PLATFORM_WEB) + lua_setglobal(L, "PLATFORM_WEB"); +#endif + + luaL_openlibs(L); + LuaBuildOpaqueMetatables(); + + LuaRegisterRayLib(0); +} + +// De-initialize Lua system +RLUADEF void CloseLuaDevice(void) +{ + if (mainLuaState) + { + lua_close(mainLuaState); + mainLuaState = 0; + L = 0; + } +} + +// Execute raylib Lua code +RLUADEF void ExecuteLuaCode(const char *code) +{ + if (!mainLuaState) + { + TraceLog(WARNING, "Lua device not initialized"); + return; + } + + int result = luaL_dostring(L, code); + + switch (result) + { + case LUA_OK: break; + case LUA_ERRRUN: TraceLog(ERROR, "Lua Runtime Error: %s", lua_tostring(L, -1)); break; + case LUA_ERRMEM: TraceLog(ERROR, "Lua Memory Error: %s", lua_tostring(L, -1)); break; + default: TraceLog(ERROR, "Lua Error: %s", lua_tostring(L, -1)); break; + } +} + +// Execute raylib Lua script +RLUADEF void ExecuteLuaFile(const char *filename) +{ + if (!mainLuaState) + { + TraceLog(WARNING, "Lua device not initialized"); + return; + } + + int result = luaL_dofile(L, filename); + + switch (result) + { + case LUA_OK: break; + case LUA_ERRRUN: TraceLog(ERROR, "Lua Runtime Error: %s", lua_tostring(L, -1)); + case LUA_ERRMEM: TraceLog(ERROR, "Lua Memory Error: %s", lua_tostring(L, -1)); + default: TraceLog(ERROR, "Lua Error: %s", lua_tostring(L, -1)); + } +} + +#endif // RLUA_IMPLEMENTATION From 5c30e079f4da0c042248f48e5cc39b48e948ab10 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 3 Aug 2016 21:39:22 +0200 Subject: [PATCH 021/102] [rlua] new module: raylib Lua binding --- src/rlua.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rlua.h b/src/rlua.h index 6a909c43d..d157002dc 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -3628,4 +3628,4 @@ RLUADEF void ExecuteLuaFile(const char *filename) } } -#endif // RLUA_IMPLEMENTATION +#endif // RLUA_IMPLEMENTATION \ No newline at end of file From 70ec517fdaa927ff3dacb60ff0090a9312a22dca Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 3 Aug 2016 23:15:44 +0200 Subject: [PATCH 022/102] Updated some functions --- src/rlua.h | 179 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 105 insertions(+), 74 deletions(-) diff --git a/src/rlua.h b/src/rlua.h index d157002dc..df6eef1c7 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -263,7 +263,7 @@ static int LuaIndexTexture2D(lua_State* L) return 1; } -// TODO: RenderTexture2D? +// TODO: Build opaque metatable for RenderTexture2D? static int LuaIndexSpriteFont(lua_State* L) { @@ -292,7 +292,7 @@ static void LuaBuildOpaqueMetatables(void) lua_setfield(L, -2, "__index"); lua_pop(L, 1); - // TODO? + // TODO: Build opaque metatable for RenderTexture2D? /* luaL_newmetatable(L, "RenderTexture2D"); lua_pushcfunction(L, &LuaIndexRenderTexture2D); @@ -403,13 +403,9 @@ static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index) return result; } -// TODO: -//BoundingBox -//LightData, *Light -//MusicData *Music; -//AudioStream - -// TODO: Review Mesh, Shader +// TODO: LightData, *Light +// TODO: MusicData *Music; +// TODO: AudioStream static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) { @@ -699,7 +695,7 @@ int lua_InitWindow(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); int arg2 = LuaGetArgument_int(L, 2); - const char* arg3 = LuaGetArgument_string(L, 3); + const char * arg3 = LuaGetArgument_string(L, 3); InitWindow(arg1, arg2, arg3); return 0; } @@ -763,11 +759,17 @@ int lua_IsCursorHidden(lua_State* L) return 1; } -// TODO: -/* -void EnableCursor(void); // Enables cursor -void DisableCursor(void); // Disables cursor -*/ +int lua_EnableCursor(lua_State* L) +{ + EnableCursor(); + return 0; +} + +int lua_DisableCursor(lua_State* L) +{ + DisableCursor(); + return 0; +} int lua_ClearBackground(lua_State* L) { @@ -788,9 +790,18 @@ int lua_EndDrawing(lua_State* L) return 0; } -// TODO: -//void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera -//void End2dMode(void); // Ends 2D mode custom camera usage +int lua_Begin2dMode(lua_State* L) +{ + Camera2D arg1 = LuaGetArgument_Camera2D(L, 1); + Begin2dMode(arg1); + return 0; +} + +int lua_End2dMode(lua_State* L) +{ + End2dMode(); + return 0; +} int lua_Begin3dMode(lua_State* L) { @@ -805,9 +816,18 @@ int lua_End3dMode(lua_State* L) return 0; } -// TODO: -//void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing -//void EndTextureMode(void); // Ends drawing to render texture +int lua_BeginTextureMode(lua_State* L) +{ + RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1); + BeginTextureMode(arg1); + return 0; +} + +int lua_EndTextureMode(lua_State* L) +{ + EndTextureMode(); + return 0; +} int lua_GetMouseRay(lua_State* L) { @@ -818,9 +838,22 @@ int lua_GetMouseRay(lua_State* L) return 1; } -// TODO: -//Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position -//Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) +int lua_GetWorldToScreen(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Camera arg2 = LuaGetArgument_Camera(L, 2); + Vector2 result = GetWorldToScreen(arg1, arg2); + LuaPush_Vector2(L, result); + return 1; +} + +int lua_GetCameraMatrix(lua_State* L) +{ + Camera arg1 = LuaGetArgument_Camera(L, 1); + Matrix result = GetCameraMatrix(arg1); + LuaPush_Matrix(L, &result); + return 1; +} #if defined(PLATFORM_WEB) @@ -1014,17 +1047,14 @@ int lua_IsGamepadAvailable(lua_State* L) return 1; } -// TODO: Review -// float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis -/* -int lua_GetGamepadMovement(lua_State* L) +int GetGamepadAxisMovement(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); - Vector2 result = GetGamepadMovement(arg1); - LuaPush_Vector2(L, result); + int arg2 = LuaGetArgument_int(L, 2); + float result = GetGamepadAxisMovement(arg1, arg2); + LuaPush_float(L, result); return 1; } -*/ int lua_IsGamepadButtonPressed(lua_State* L) { @@ -1152,14 +1182,32 @@ int lua_GetTouchPosition(lua_State* L) return 1; } -// TODO: -/* + #if defined(PLATFORM_ANDROID) -bool IsButtonPressed(int button); // Detect if an android physic button has been pressed -bool IsButtonDown(int button); // Detect if an android physic button is being pressed -bool IsButtonReleased(int button); // Detect if an android physic button has been released +int lua_IsButtonPressed(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsButtonPressed(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsButtonDown(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsButtonDown(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_IsButtonReleased(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsButtonReleased(arg1); + lua_pushboolean(L, result); + return 1; +} #endif -*/ //------------------------------------------------------------------------------------ // raylib [gestures] module functions - Gestures and Touch Handling @@ -1179,8 +1227,7 @@ int lua_IsGestureDetected(lua_State* L) return 1; } -// TODO: -///void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures +// TODO: void ProcessGestureEvent(GestureEvent event); int lua_UpdateGestures(lua_State* L) { @@ -1655,10 +1702,9 @@ int lua_LoadTexture(lua_State* L) return 1; } -// TODO: Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); int lua_LoadTextureEx(lua_State* L) { - void * arg1 = LuaGetArgument_string(L, 1); // TODO: How to get a void * ? + void * arg1 = LuaGetArgument_string(L, 1); // NOTE: getting argument as string int arg2 = LuaGetArgument_int(L, 2); int arg3 = LuaGetArgument_int(L, 3); int arg4 = LuaGetArgument_int(L, 4); @@ -1782,7 +1828,13 @@ int lua_GenTextureMipmaps(lua_State* L) return 0; } -// TODO: void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data +int lua_UpdateTexture(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + void * arg2 = LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string + UpdateTexture(arg1, arg2); + return 0; +} int lua_DrawTexture(lua_State* L) { @@ -1875,7 +1927,7 @@ int lua_DrawText(lua_State* L) int lua_DrawTextEx(lua_State* L) { SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); - const char* arg2 = LuaGetArgument_string(L, 2); + const char * arg2 = LuaGetArgument_string(L, 2); Vector2 arg3 = LuaGetArgument_Vector2(L, 3); int arg4 = LuaGetArgument_int(L, 4); int arg5 = LuaGetArgument_int(L, 5); @@ -1912,11 +1964,8 @@ int lua_DrawFPS(lua_State* L) return 0; } -// TODO: -/* -const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' -const char *SubText(const char *text, int position, int length); // Get a piece of a text string -*/ +// TODO: const char *FormatText(const char *text, ...); +// TODO: const char *SubText(const char *text, int position, int length); int lua_DrawCube(lua_State* L) { @@ -2108,7 +2157,7 @@ int lua_UnloadModel(lua_State* L) return 0; } -// TODO: GenMesh*() +// TODO: GenMesh*() functionality (not ready yet on raylib 1.6) int lua_LoadMaterial(lua_State* L) { @@ -2211,7 +2260,7 @@ int lua_CalculateBoundingBox(lua_State* L) Mesh arg1 = LuaGetArgument_Mesh(L, 1); BoundingBox result = CalculateBoundingBox(arg1); LuaPush_BoundingBox(L, result); - return 0; + return 1; } int lua_CheckCollisionSpheres(lua_State* L) @@ -2269,8 +2318,8 @@ int lua_ResolveCollisionCubicmap(lua_State* L) //------------------------------------------------------------------------------------ int lua_LoadShader(lua_State* L) { - char * arg1 = (char*)LuaGetArgument_string(L, 1); - char * arg2 = (char*)LuaGetArgument_string(L, 2); + const char * arg1 = LuaGetArgument_string(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); Shader result = LoadShader(arg1, arg2); LuaPush_Shader(L, result); return 1; @@ -2401,7 +2450,7 @@ void ToggleVrMode(void); // Enable/Disable VR experience (dev */ //------------------------------------------------------------------------------------ -// raylib [audio] module functions +// raylib [audio] module functions - Audio Loading and Playing //------------------------------------------------------------------------------------ int lua_InitAudioDevice(lua_State* L) { @@ -2419,7 +2468,7 @@ int lua_IsAudioDeviceReady(lua_State* L) { bool result = IsAudioDeviceReady(); lua_pushboolean(L, result); - return 0; + return 1; } int lua_LoadSound(lua_State* L) @@ -2511,7 +2560,7 @@ int lua_LoadMusicStream(lua_State* L) const char * arg1 = LuaGetArgument_string(L, 1); Music result = LoadMusicStream((char *)arg1); LuaPush_Music(L, result); - return 0; + return 1; } int lua_UnloadMusicStream(lua_State* L) @@ -3442,24 +3491,6 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("BUTTON_START", 10); LuaEndEnum("GAMEPAD"); - LuaStartEnum(); - LuaSetEnum("PLAYER1", 0); - LuaSetEnum("PLAYER2", 1); - LuaSetEnum("PLAYER3", 2); - LuaSetEnum("PLAYER4", 3); - - LuaSetEnum("BUTTON_A", 2); - LuaSetEnum("BUTTON_B", 1); - LuaSetEnum("BUTTON_X", 3); - LuaSetEnum("BUTTON_Y", 4); - LuaSetEnum("BUTTON_R1", 7); - LuaSetEnum("BUTTON_R2", 5); - LuaSetEnum("BUTTON_L1", 6); - LuaSetEnum("BUTTON_L2", 8); - LuaSetEnum("BUTTON_SELECT", 9); - LuaSetEnum("BUTTON_START", 10); - LuaEndEnum("GAMEPAD"); - // TODO: XBOX controller buttons enum lua_pushglobaltable(L); @@ -3628,4 +3659,4 @@ RLUADEF void ExecuteLuaFile(const char *filename) } } -#endif // RLUA_IMPLEMENTATION \ No newline at end of file +#endif // RLUA_IMPLEMENTATION From 055d50134567474224f050dc014f6158d496026e Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 3 Aug 2016 23:25:39 +0200 Subject: [PATCH 023/102] Corrected bug --- src/rlua.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rlua.h b/src/rlua.h index df6eef1c7..ae8999452 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -1047,12 +1047,12 @@ int lua_IsGamepadAvailable(lua_State* L) return 1; } -int GetGamepadAxisMovement(lua_State* L) +int lua_GetGamepadAxisMovement(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); int arg2 = LuaGetArgument_int(L, 2); float result = GetGamepadAxisMovement(arg1, arg2); - LuaPush_float(L, result); + lua_pushnumber(L, result); return 1; } @@ -2318,8 +2318,8 @@ int lua_ResolveCollisionCubicmap(lua_State* L) //------------------------------------------------------------------------------------ int lua_LoadShader(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - const char * arg2 = LuaGetArgument_string(L, 2); + char * arg1 = (char *)LuaGetArgument_string(L, 1); + char * arg2 = (char *)LuaGetArgument_string(L, 2); Shader result = LoadShader(arg1, arg2); LuaPush_Shader(L, result); return 1; From 80789e6140fd86a8063ff13e4e8db9dccdff804d Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 4 Aug 2016 13:40:53 +0200 Subject: [PATCH 024/102] Updated Lua binding --- src/rlua.h | 692 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 574 insertions(+), 118 deletions(-) diff --git a/src/rlua.h b/src/rlua.h index ae8999452..76a79c7cc 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -15,7 +15,7 @@ * local x2 = rec.x + rec.width * * The following types: -* Image, Texture2D, SpriteFont +* Image, Texture2D, RenderTexture2D, SpriteFont * are immutable, and you can only read their non-pointer arguments (e.g. sprfnt.size). * * All other object types are opaque, that is, you cannot access or @@ -126,9 +126,11 @@ RLUADEF void CloseLuaDevice(void); // De-initialize Lua system #define LuaPush_SpriteFont(L, sf) LuaPushOpaqueTypeWithMetatable(L, sf, SpriteFont) #define LuaPush_Mesh(L, vd) LuaPushOpaqueType(L, vd) #define LuaPush_Shader(L, s) LuaPushOpaqueType(L, s) +#define LuaPush_Light(L, light) LuaPushOpaqueType(L, light) #define LuaPush_Sound(L, snd) LuaPushOpaqueType(L, snd) #define LuaPush_Wave(L, wav) LuaPushOpaqueType(L, wav) #define LuaPush_Music(L, mus) LuaPushOpaqueType(L, mus) +#define LuaPush_AudioStream(L, aud) LuaPushOpaqueType(L, aud) #define LuaGetArgument_string luaL_checkstring #define LuaGetArgument_int (int)luaL_checkinteger @@ -142,9 +144,11 @@ RLUADEF void CloseLuaDevice(void); // De-initialize Lua system #define LuaGetArgument_SpriteFont(L, sf) *(SpriteFont*)LuaGetArgumentOpaqueTypeWithMetatable(L, sf, "SpriteFont") #define LuaGetArgument_Mesh(L, vd) *(Mesh*)LuaGetArgumentOpaqueType(L, vd) #define LuaGetArgument_Shader(L, s) *(Shader*)LuaGetArgumentOpaqueType(L, s) +#define LuaGetArgument_Light(L, light) *(Light*)LuaGetArgumentOpaqueType(L, light) #define LuaGetArgument_Sound(L, snd) *(Sound*)LuaGetArgumentOpaqueType(L, snd) #define LuaGetArgument_Wave(L, wav) *(Wave*)LuaGetArgumentOpaqueType(L, wav) #define LuaGetArgument_Music(L, mus) *(Music*)LuaGetArgumentOpaqueType(L, mus) +#define LuaGetArgument_AudioStream(L, aud) *(AudioStream*)LuaGetArgumentOpaqueType(L, aud) #define LuaPushOpaqueType(L, str) LuaPushOpaque(L, &str, sizeof(str)) #define LuaPushOpaqueTypeWithMetatable(L, str, meta) LuaPushOpaqueWithMetatable(L, &str, sizeof(str), #meta) @@ -263,7 +267,18 @@ static int LuaIndexTexture2D(lua_State* L) return 1; } -// TODO: Build opaque metatable for RenderTexture2D? +static int LuaIndexRenderTexture2D(lua_State* L) +{ + RenderTexture2D img = LuaGetArgument_RenderTexture2D(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "texture")) + LuaPush_Texture2D(L, img.texture); + else if (!strcmp(key, "depth")) + LuaPush_Texture2D(L, img.depth); + else + return 0; + return 1; +} static int LuaIndexSpriteFont(lua_State* L) { @@ -292,13 +307,11 @@ static void LuaBuildOpaqueMetatables(void) lua_setfield(L, -2, "__index"); lua_pop(L, 1); - // TODO: Build opaque metatable for RenderTexture2D? - /* luaL_newmetatable(L, "RenderTexture2D"); lua_pushcfunction(L, &LuaIndexRenderTexture2D); lua_setfield(L, -2, "__index"); lua_pop(L, 1); - */ + luaL_newmetatable(L, "SpriteFont"); lua_pushcfunction(L, &LuaIndexSpriteFont); lua_setfield(L, -2, "__index"); @@ -403,10 +416,6 @@ static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index) return result; } -// TODO: LightData, *Light -// TODO: MusicData *Music; -// TODO: AudioStream - static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) { BoundingBox result; @@ -649,6 +658,23 @@ static int lua_Vector3(lua_State* L) return 1; } +static int lua_Quaternion(lua_State* L) +{ + LuaPush_Quaternion(L, (Quaternion) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4) }); + return 1; +} + +/* +static int lua_Matrix(lua_State* L) +{ + LuaPush_Matrix(L, (Matrix) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4), + (float)luaL_checknumber(L, 5), (float)luaL_checknumber(L, 6), (float)luaL_checknumber(L, 7), (float)luaL_checknumber(L, 8), + (float)luaL_checknumber(L, 9), (float)luaL_checknumber(L, 10), (float)luaL_checknumber(L, 11), (float)luaL_checknumber(L, 12), + (float)luaL_checknumber(L, 13), (float)luaL_checknumber(L, 14), (float)luaL_checknumber(L, 15), (float)luaL_checknumber(L, 16) }); + return 1; +} +*/ + static int lua_Rectangle(lua_State* L) { LuaPush_Rectangle(L, (Rectangle) { (int)luaL_checkinteger(L, 1), (int)luaL_checkinteger(L, 2), (int)luaL_checkinteger(L, 3), (int)luaL_checkinteger(L, 4) }); @@ -663,6 +689,14 @@ static int lua_Ray(lua_State* L) return 1; } +static int lua_BoundingBox(lua_State* L) +{ + Vector3 min = LuaGetArgument_Vector3(L, 1); + Vector3 max = LuaGetArgument_Vector3(L, 2); + LuaPush_BoundingBox(L, (BoundingBox) { { min.x, min.y }, { max.x, max.y } }); + return 1; +} + static int lua_Camera(lua_State* L) { Vector3 pos = LuaGetArgument_Vector3(L, 1); @@ -683,6 +717,22 @@ static int lua_Camera2D(lua_State* L) return 1; } +/* +// NOTE: does it make sense to have this constructor? Probably not... +static int lua_Material(lua_State* L) +{ + Shader sdr = LuaGetArgument_Shader(L, 1); + Texture2D td = LuaGetArgument_Texture2D(L, 2); + Texture2D tn = LuaGetArgument_Texture2D(L, 3); + Texture2D ts = LuaGetArgument_Texture2D(L, 4); + Color cd = LuaGetArgument_Color(L, 5); + Color ca = LuaGetArgument_Color(L, 6); + Color cs = LuaGetArgument_Color(L, 7); + float gloss = LuaGetArgument_float(L, 8); + LuaPush_Material(L, (Material) { sdr, td, tn, ts cd, ca, cs, gloss }); + return 1; +} +*/ /************************************************************************************* * raylib Lua Functions Bindings @@ -914,12 +964,47 @@ int lua_GetHexValue(lua_State* L) return 1; } -// TODO: -/* -float *ColorToFloat(Color color); // Converts Color to float array and normalizes -float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array -float *MatrixToFloat(Matrix mat); // Converts Matrix to float array -*/ +int lua_ColorToFloat(lua_State* L) +{ + Color arg1 = LuaGetArgument_Color(L, 1); + float * result = ColorToFloat(arg1); + lua_createtable(L, 4, 0); + for (int i = 0; i < 4; i++) + { + lua_pushnumber(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; +} + +int lua_VectorToFloat(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float * result = VectorToFloat(arg1); + lua_createtable(L, 3, 0); + for (int i = 0; i < 3; i++) + { + lua_pushnumber(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; +} + +int lua_MatrixToFloat(lua_State* L) +{ + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + float * result = MatrixToFloat(arg1); + lua_createtable(L, 16, 0); + for (int i = 0; i < 16; i++) + { + lua_pushnumber(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; +} int lua_GetRandomValue(lua_State* L) { @@ -1227,8 +1312,6 @@ int lua_IsGestureDetected(lua_State* L) return 1; } -// TODO: void ProcessGestureEvent(GestureEvent event); - int lua_UpdateGestures(lua_State* L) { UpdateGestures(); @@ -1704,7 +1787,7 @@ int lua_LoadTexture(lua_State* L) int lua_LoadTextureEx(lua_State* L) { - void * arg1 = LuaGetArgument_string(L, 1); // NOTE: getting argument as string + void * arg1 = (char *)LuaGetArgument_string(L, 1); // NOTE: getting argument as string int arg2 = LuaGetArgument_int(L, 2); int arg3 = LuaGetArgument_int(L, 3); int arg4 = LuaGetArgument_int(L, 4); @@ -1800,26 +1883,172 @@ int lua_ImageFormat(lua_State* L) return 1; } -// TODO: -/* -void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) -Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) -void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle -void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) -void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) -Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) -Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) -void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image -void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) -void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) -void ImageFlipVertical(Image *image); // Flip image vertically -void ImageFlipHorizontal(Image *image); // Flip image horizontally -void ImageColorTint(Image *image, Color color); // Modify image color: tint -void ImageColorInvert(Image *image); // Modify image color: invert -void ImageColorGrayscale(Image *image); // Modify image color: grayscale -void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) -void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) -*/ +int lua_ImageDither(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + ImageDither(&arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageCopy(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Image result = ImageCopy(arg1); + LuaPush_Image(L, result); + return 1; +} + +int lua_ImageCrop(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + ImageCrop(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageResize(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + ImageResize(&arg1, arg2, arg3); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageResizeNN(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + ImageResizeNN(&arg1, arg2, arg3); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageText(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + Image result = ImageText(arg1, arg2, arg3); + LuaPush_Image(L, result); + return 1; +} + +int lua_ImageTextEx(lua_State* L) +{ + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + Image result = ImageTextEx(arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, result); + return 1; +} + +int lua_ImageDraw(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Image arg2 = LuaGetArgument_Image(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + Rectangle arg4 = LuaGetArgument_Rectangle(L, 4); + ImageDraw(&arg1, arg2, arg3, arg4); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageDrawText(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + const char * arg3 = LuaGetArgument_string(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + ImageDrawText(&arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageDrawTextEx(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + SpriteFont arg3 = LuaGetArgument_SpriteFont(L, 3); + const char * arg4 = LuaGetArgument_string(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + int arg6 = LuaGetArgument_int(L, 6); + Color arg7 = LuaGetArgument_Color(L, 7); + ImageDrawTextEx(&arg1, arg2, arg3, arg4, arg5, arg6, arg7); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageFlipVertical(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + ImageFlipVertical(&arg1); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageFlipHorizontal(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + ImageFlipHorizontal(&arg1); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageColorTint(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + ImageColorTint(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageColorInvert(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + ImageColorInvert(&arg1); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageColorGrayscale(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + ImageColorGrayscale(&arg1); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageColorContrast(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + ImageColorContrast(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageColorBrightness(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + ImageColorBrightness(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} int lua_GenTextureMipmaps(lua_State* L) { @@ -1831,7 +2060,7 @@ int lua_GenTextureMipmaps(lua_State* L) int lua_UpdateTexture(lua_State* L) { Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - void * arg2 = LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string + void * arg2 = (char *)LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string? UpdateTexture(arg1, arg2); return 0; } @@ -2097,12 +2326,27 @@ int lua_DrawGizmo(lua_State* L) return 0; } -// TODO: -/* -void DrawLight(Light light); // Draw light in 3D world -void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space -void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space -*/ +// TODO: DrawLight(Light light); + +int lua_Draw3DLine(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + Draw3DLine(arg1, arg2, arg3); + return 0; +} + +int lua_Draw3DCircle(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Vector3 arg4 = LuaGetArgument_Vector3(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + Draw3DCircle(arg1, arg2, arg3, arg4, arg5); + return 0; +} //------------------------------------------------------------------------------------ // raylib [models] module functions @@ -2287,19 +2531,42 @@ int lua_CheckCollisionBoxSphere(lua_State* L) { BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 4); + float arg3 = LuaGetArgument_float(L, 3); bool result = CheckCollisionBoxSphere(arg1, arg2, arg3); lua_pushboolean(L, result); return 1; } -// TODO: -/* -bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere -bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection -bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box -Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap -*/ +int lua_CheckCollisionRaySphere(lua_State* L) +{ + Ray arg1 = LuaGetArgument_Ray(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + bool result = CheckCollisionRaySphere(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; +} + +int lua_CheckCollisionRaySphereEx(lua_State* L) +{ + Ray arg1 = LuaGetArgument_Ray(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Vector3 arg4 = LuaGetArgument_Vector3(L, 4); + bool result = CheckCollisionRaySphereEx(arg1, arg2, arg3, &arg4); + lua_pushboolean(L, result); + LuaPush_Vector3(L, arg4); + return 2; +} + +int lua_CheckCollisionRayBox(lua_State* L) +{ + Ray arg1 = LuaGetArgument_Ray(L, 1); + BoundingBox arg2 = LuaGetArgument_BoundingBox(L, 2); + bool result = CheckCollisionRayBox(arg1, arg2); + lua_pushboolean(L, result); + return 1; +} int lua_ResolveCollisionCubicmap(lua_State* L) { @@ -2431,23 +2698,55 @@ int lua_EndBlendMode(lua_State* L) return 0; } -// TODO: -//Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool -//void DestroyLight(Light light); // Destroy a light and take it out of the list +// TODO: Light CreateLight(int type, Vector3 position, Color diffuse); +// TODO: void DestroyLight(Light light); -// TODO: -/* //------------------------------------------------------------------------------------ // raylib [rlgl] module functions - VR experience //------------------------------------------------------------------------------------ -void InitVrDevice(int vdDevice); // Init VR device -void CloseVrDevice(void); // Close VR device -void UpdateVrTracking(void); // Update VR tracking (position and orientation) -void BeginVrDrawing(void); // Begin VR drawing configuration -void EndVrDrawing(void); // End VR drawing process (and desktop mirror) -bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready -void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) -*/ +int lua_InitVrDevice(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + InitVrDevice(arg1); + return 0; +} + +int lua_CloseVrDevice(lua_State* L) +{ + CloseVrDevice(); + return 0; +} + +int lua_UpdateVrTracking(lua_State* L) +{ + UpdateVrTracking(); + return 0; +} + +int lua_BeginVrDrawing(lua_State* L) +{ + BeginVrDrawing(); + return 0; +} + +int lua_EndVrDrawing(lua_State* L) +{ + EndVrDrawing(); + return 0; +} + +int lua_IsVrDeviceReady(lua_State* L) +{ + bool result = IsVrDeviceReady(); + lua_pushboolean(L, result); + return 1; +} + +int lua_ToggleVrMode(lua_State* L) +{ + ToggleVrMode(); + return 0; +} //------------------------------------------------------------------------------------ // raylib [audio] module functions - Audio Loading and Playing @@ -2570,6 +2869,13 @@ int lua_UnloadMusicStream(lua_State* L) return 0; } +int lua_UpdateMusicStream(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + UpdateMusicStream(arg1); + return 0; +} + int lua_PlayMusicStream(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); @@ -2577,12 +2883,6 @@ int lua_PlayMusicStream(lua_State* L) return 0; } -int lua_UpdateMusicStream(lua_State* L) -{ - Music arg1 = LuaGetArgument_Music(L, 1); - UpdateMusicStream(arg1); - return 0; -} int lua_StopMusicStream(lua_State* L) { @@ -2621,6 +2921,14 @@ int lua_SetMusicVolume(lua_State* L) return 0; } +int lua_SetMusicPitch(lua_State* L) +{ + Music arg1 = LuaGetArgument_Music(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + SetMusicPitch(arg1, arg2); + return 0; +} + int lua_GetMusicTimeLength(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); @@ -2637,19 +2945,68 @@ int lua_GetMusicTimePlayed(lua_State* L) return 1; } -// TODO: -/* -AudioStream InitAudioStream(unsigned int sampleRate, - unsigned int sampleSize, - unsigned int channels); // Init audio stream (to stream audio pcm data) -void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data -void CloseAudioStream(AudioStream stream); // Close audio stream and free memory -bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill -void PlayAudioStream(AudioStream stream); // Play audio stream -void PauseAudioStream(AudioStream stream); // Pause audio stream -void ResumeAudioStream(AudioStream stream); // Resume audio stream -void StopAudioStream(AudioStream stream); // Stop audio stream -*/ +int lua_InitAudioStream(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + AudioStream result = InitAudioStream(arg1, arg2, arg3); + LuaPush_AudioStream(L, result); + return 1; +} + +int lua_CloseAudioStream(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + CloseAudioStream(arg1); + return 0; +} + +int lua_UpdateAudioStream(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + void * arg2 = (char *)LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + UpdateAudioStream(arg1, arg2, arg3); + return 0; +} + +int lua_IsAudioBufferProcessed(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + bool result = IsAudioBufferProcessed(arg1); + lua_pushboolean(L, result); + return 1; +} + +int lua_PlayAudioStream(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + PlayAudioStream(arg1); + return 0; +} + + +int lua_StopAudioStream(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + StopAudioStream(arg1); + return 0; +} + +int lua_PauseAudioStream(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + PauseAudioStream(arg1); + return 0; +} + +int lua_ResumeAudioStream(lua_State* L) +{ + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + ResumeAudioStream(arg1); + return 0; +} //---------------------------------------------------------------------------------- // raylib [utils] module functions @@ -3114,29 +3471,49 @@ int lua_QuaternionTransform(lua_State* L) // raylib Functions (and data types) list static luaL_Reg raylib_functions[] = { - REG(Color) + + // Register non-opaque data types + REG(Color) REG(Vector2) REG(Vector3) + //REG(Matrix) + REG(Quaternion) REG(Rectangle) REG(Ray) REG(Camera) - // TODO: Additional structs + REG(Camera2D) + REG(BoundingBox) + //REG(Material) - // TODO: Review registered functions + // Register functions REG(InitWindow) REG(CloseWindow) REG(WindowShouldClose) REG(IsWindowMinimized) REG(ToggleFullscreen) - REG(GetScreenWidth) REG(GetScreenHeight) + + REG(ShowCursor) + REG(HideCursor) + REG(IsCursorHidden) + REG(EnableCursor) + REG(DisableCursor) + REG(ClearBackground) REG(BeginDrawing) REG(EndDrawing) + REG(Begin2dMode) + REG(End2dMode) REG(Begin3dMode) REG(End3dMode) + REG(BeginTextureMode) + REG(EndTextureMode) + REG(GetMouseRay) + REG(GetWorldToScreen) + REG(GetCameraMatrix) + #if defined(PLATFORM_WEB) REG(SetDrawingLoop) #else @@ -3144,21 +3521,39 @@ static luaL_Reg raylib_functions[] = { #endif REG(GetFPS) REG(GetFrameTime) + REG(GetColor) REG(GetHexValue) + REG(ColorToFloat) + REG(VectorToFloat) + REG(MatrixToFloat) REG(GetRandomValue) REG(Fade) REG(SetConfigFlags) REG(ShowLogo) + REG(IsFileDropped) //REG(*GetDroppedFiles) REG(ClearDroppedFiles) + REG(StorageSaveValue) + REG(StorageLoadValue) + #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) REG(IsKeyPressed) REG(IsKeyDown) REG(IsKeyReleased) REG(IsKeyUp) REG(GetKeyPressed) + REG(SetExitKey) + + REG(IsGamepadAvailable) + REG(GetGamepadAxisMovement) + REG(IsGamepadButtonPressed) + REG(IsGamepadButtonDown) + REG(IsGamepadButtonReleased) + REG(IsGamepadButtonUp) +#endif + REG(IsMouseButtonPressed) REG(IsMouseButtonDown) REG(IsMouseButtonReleased) @@ -3168,50 +3563,41 @@ static luaL_Reg raylib_functions[] = { REG(GetMousePosition) REG(SetMousePosition) REG(GetMouseWheelMove) - REG(ShowCursor) - REG(HideCursor) - REG(IsCursorHidden) -#endif - -#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) - REG(IsGamepadAvailable) - - REG(IsGamepadButtonPressed) - REG(IsGamepadButtonDown) - REG(IsGamepadButtonReleased) - REG(IsGamepadButtonUp) -#endif - -#if defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB) REG(GetTouchX) REG(GetTouchY) REG(GetTouchPosition) -#if defined(PLATFORM_WEB) - REG(InitGesturesSystem) -#elif defined(PLATFORM_ANDROID) - //REG(InitGesturesSystem) + +#if defined(PLATFORM_ANDROID) + REG(IsButtonPressed) + REG(IsButtonDown) + REG(IsButtonReleased) #endif - REG(UpdateGestures) - REG(IsGestureDetected) - REG(GetGestureType) + REG(SetGesturesEnabled) - REG(GetGestureDragIntensity) - REG(GetGestureDragAngle) - REG(GetGestureDragVector) + REG(IsGestureDetected) + //REG(ProcessGestureEvent) + REG(UpdateGestures) + REG(GetTouchPointsCount) + REG(GetGestureDetected) REG(GetGestureHoldDuration) - REG(GetGesturePinchDelta) + REG(GetGestureDragVector) + REG(GetGestureDragAngle) + REG(GetGesturePinchVector) REG(GetGesturePinchAngle) -#endif + REG(SetCameraMode) REG(UpdateCamera) REG(UpdateCameraPlayer) REG(SetCameraPosition) REG(SetCameraTarget) + REG(SetCameraFovy) + REG(SetCameraPanControl) REG(SetCameraAltControl) REG(SetCameraSmoothZoomControl) REG(SetCameraMoveControls) REG(SetCameraMouseSensitivity) + REG(DrawPixel) REG(DrawPixelV) REG(DrawLine) @@ -3230,6 +3616,7 @@ static luaL_Reg raylib_functions[] = { REG(DrawPoly) REG(DrawPolyEx) REG(DrawPolyExLines) + REG(CheckCollisionRecs) REG(CheckCollisionCircles) REG(CheckCollisionCircleRec) @@ -3237,25 +3624,48 @@ static luaL_Reg raylib_functions[] = { REG(CheckCollisionPointRec) REG(CheckCollisionPointCircle) REG(CheckCollisionPointTriangle) + REG(LoadImage) REG(LoadImageEx) REG(LoadImageRaw) REG(LoadImageFromRES) REG(LoadTexture) + REG(LoadTextureEx) REG(LoadTextureFromRES) REG(LoadTextureFromImage) + REG(LoadRenderTexture) REG(UnloadImage) REG(UnloadTexture) REG(GetImageData) REG(GetTextureData) REG(ImageToPOT) REG(ImageFormat) + REG(ImageDither) + REG(ImageCopy) + REG(ImageCrop) + REG(ImageResize) + REG(ImageResizeNN) + REG(ImageText) + REG(ImageTextEx) + REG(ImageDraw) + REG(ImageDrawText) + REG(ImageDrawTextEx) + REG(ImageFlipVertical) + REG(ImageFlipHorizontal) + REG(ImageColorTint) + REG(ImageColorInvert) + REG(ImageColorGrayscale) + REG(ImageColorContrast) + REG(ImageColorBrightness) REG(GenTextureMipmaps) + REG(UpdateTexture) + REG(DrawTexture) REG(DrawTextureV) REG(DrawTextureEx) REG(DrawTextureRec) REG(DrawTexturePro) + REG(GetDefaultFont) REG(LoadSpriteFont) REG(UnloadSpriteFont) @@ -3264,6 +3674,9 @@ static luaL_Reg raylib_functions[] = { REG(MeasureText) REG(MeasureTextEx) REG(DrawFPS) + //REG(FormatText) + //REG(SubText) + REG(DrawCube) REG(DrawCubeV) REG(DrawCubeWires) @@ -3277,49 +3690,92 @@ static luaL_Reg raylib_functions[] = { REG(DrawRay) REG(DrawGrid) REG(DrawGizmo) + REG(LoadModel) REG(LoadModelEx) + REG(LoadModelFromRES) REG(LoadHeightmap) REG(LoadCubicmap) REG(UnloadModel) + //REG(GenMesh*) // Not ready yet... + REG(DrawModel) REG(DrawModelEx) REG(DrawModelWires) + REG(DrawModelWiresEx) REG(DrawBillboard) REG(DrawBillboardRec) + REG(CalculateBoundingBox) REG(CheckCollisionSpheres) REG(CheckCollisionBoxes) REG(CheckCollisionBoxSphere) + REG(CheckCollisionRaySphere) + REG(CheckCollisionRaySphereEx) + REG(CheckCollisionRayBox) REG(ResolveCollisionCubicmap) + REG(LoadShader) REG(UnloadShader) + REG(GetDefaultShader) + REG(GetStandardShader) + REG(GetDefaultTexture) REG(GetShaderLocation) REG(SetShaderValue) REG(SetShaderValuei) - + REG(SetShaderValueMatrix) + REG(SetMatrixProjection) + REG(SetMatrixModelview) + REG(BeginShaderMode) + REG(EndShaderMode) REG(BeginBlendMode) REG(EndBlendMode) + //REG(CreateLight) + //REG(DestroyLight) + + REG(InitVrDevice) + REG(CloseVrDevice) + REG(UpdateVrTracking) + REG(BeginVrDrawing) + REG(EndVrDrawing) + REG(IsVrDeviceReady) + REG(ToggleVrMode) + REG(InitAudioDevice) REG(CloseAudioDevice) + REG(IsAudioDeviceReady) REG(LoadSound) REG(LoadSoundFromWave) REG(LoadSoundFromRES) REG(UnloadSound) REG(PlaySound) REG(PauseSound) + REG(ResumeSound) REG(StopSound) REG(IsSoundPlaying) REG(SetSoundVolume) REG(SetSoundPitch) - REG(PlayMusicStream) + + REG(LoadMusicStream) + REG(UnloadMusicStream) REG(UpdateMusicStream) + REG(PlayMusicStream) REG(StopMusicStream) REG(PauseMusicStream) REG(ResumeMusicStream) REG(IsMusicPlaying) REG(SetMusicVolume) + REG(SetMusicPitch) REG(GetMusicTimeLength) REG(GetMusicTimePlayed) + + REG(InitAudioStream) + REG(UpdateAudioStream) + REG(CloseAudioStream) + REG(IsAudioBufferProcessed) + REG(PlayAudioStream) + REG(PauseAudioStream) + REG(ResumeAudioStream) + REG(StopAudioStream) /// Math and util REG(DecompressData) From 3d519c7a397f38f4d1d219615ec0ec74b4eaabd3 Mon Sep 17 00:00:00 2001 From: LelixSuper Date: Thu, 4 Aug 2016 15:48:37 +0200 Subject: [PATCH 025/102] Fix install command of src/ makefile --- src/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index c41fe2f5e..1360a9206 100644 --- a/src/Makefile +++ b/src/Makefile @@ -222,10 +222,10 @@ ifeq ($(ROOT),root) # /usr/local/include/) are for libraries that are installed # manually (without a package manager). ifeq ($(SHARED),YES) - cp --update libraylib.so /usr/local/lib/libraylib.so + cp --update $(OUTPUT_PATH)/libraylib.so /usr/local/lib/libraylib.so else cp --update raylib.h /usr/local/include/raylib.h - cp --update libraylib.a /usr/local/lib/libraylib.a + cp --update $(OUTPUT_PATH)/libraylib.a /usr/local/lib/libraylib.a endif @echo "raylib dev files installed/updated!" else From 5f1b4e94745303ab9df87421cdd9ffb9448fee01 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 11:30:34 +0200 Subject: [PATCH 026/102] Updated Lua module --- src/rlua.h | 55 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/src/rlua.h b/src/rlua.h index 76a79c7cc..675edbfc8 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -4,7 +4,7 @@ * * NOTE 01: * The following types: -* Color, Vector2, Vector3, Rectangle, Ray, Camera +* Color, Vector2, Vector3, Rectangle, Ray, Camera, Camera2D * are treated as objects with named fields, same as in C. * * Lua defines utility functions for creating those objects. @@ -178,6 +178,7 @@ static Quaternion LuaGetArgument_Quaternion(lua_State* L, int index); static Color LuaGetArgument_Color(lua_State* L, int index); static Rectangle LuaGetArgument_Rectangle(lua_State* L, int index); static Camera LuaGetArgument_Camera(lua_State* L, int index); +static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index); static Ray LuaGetArgument_Ray(lua_State* L, int index); static Matrix LuaGetArgument_Matrix(lua_State* L, int index); static Model LuaGetArgument_Model(lua_State* L, int index); @@ -594,7 +595,7 @@ static void LuaPush_Camera(lua_State* L, Camera cam) static void LuaPush_Camera2D(lua_State* L, Camera2D cam) { - lua_createtable(L, 0, 3); + lua_createtable(L, 0, 4); LuaPush_Vector2(L, cam.offset); lua_setfield(L, -2, "offset"); LuaPush_Vector2(L, cam.target); @@ -702,8 +703,8 @@ static int lua_Camera(lua_State* L) Vector3 pos = LuaGetArgument_Vector3(L, 1); Vector3 tar = LuaGetArgument_Vector3(L, 2); Vector3 up = LuaGetArgument_Vector3(L, 3); - float fovy = LuaGetArgument_float(L, 4); - LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, fovy }); + //float fovy = LuaGetArgument_float(L, 4); // ??? + LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, (float)luaL_checknumber(L, 4) }); return 1; } @@ -3945,9 +3946,33 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("BUTTON_L2", 8); LuaSetEnum("BUTTON_SELECT", 9); LuaSetEnum("BUTTON_START", 10); - LuaEndEnum("GAMEPAD"); - // TODO: XBOX controller buttons enum + LuaSetEnum("XBOX_BUTTON_A", 0); + LuaSetEnum("XBOX_BUTTON_B", 1); + LuaSetEnum("XBOX_BUTTON_X", 2); + LuaSetEnum("XBOX_BUTTON_Y", 3); + LuaSetEnum("XBOX_BUTTON_LB", 4); + LuaSetEnum("XBOX_BUTTON_RB", 5); + LuaSetEnum("XBOX_BUTTON_SELECT", 6); + LuaSetEnum("XBOX_BUTTON_START", 7); + +#if defined(PLATFORM_RPI) + LuaSetEnum("XBOX_AXIS_DPAD_X", 7); + LuaSetEnum("XBOX_AXIS_DPAD_Y", 6); + LuaSetEnum("XBOX_AXIS_RIGHT_X", 3); + LuaSetEnum("XBOX_AXIS_RIGHT_Y", 4); + LuaSetEnum("XBOX_AXIS_LT", 2); + LuaSetEnum("XBOX_AXIS_RT", 5); +#else + LuaSetEnum("XBOX_BUTTON_UP", 10); + LuaSetEnum("XBOX_BUTTON_DOWN", 12); + LuaSetEnum("XBOX_BUTTON_LEFT", 13); + LuaSetEnum("XBOX_BUTTON_RIGHT", 11); + LuaSetEnum("XBOX_AXIS_RIGHT_X", 4); + LuaSetEnum("XBOX_AXIS_RIGHT_Y", 3); + LuaSetEnum("XBOX_AXIS_LT_RT", 2); +#endif + LuaEndEnum("GAMEPAD"); lua_pushglobaltable(L); LuaSetEnumColor("LIGHTGRAY", LIGHTGRAY); @@ -4028,15 +4053,15 @@ RLUADEF void InitLuaDevice(void) LuaEndEnum("CameraMode"); LuaStartEnum(); - LuaSetEnum("HMD_DEFAULT_DEVICE", HMD_DEFAULT_DEVICE); - LuaSetEnum("HMD_OCULUS_RIFT_DK2", HMD_OCULUS_RIFT_DK2); - LuaSetEnum("HMD_OCULUS_RIFT_CV1", HMD_OCULUS_RIFT_CV1); - LuaSetEnum("HMD_VALVE_HTC_VIVE", HMD_VALVE_HTC_VIVE); - LuaSetEnum("HMD_SAMSUNG_GEAR_VR", HMD_SAMSUNG_GEAR_VR); - LuaSetEnum("HMD_GOOGLE_CARDBOARD", HMD_GOOGLE_CARDBOARD); - LuaSetEnum("HMD_SONY_PLAYSTATION_VR", HMD_SONY_PLAYSTATION_VR); - LuaSetEnum("HMD_RAZER_OSVR", HMD_RAZER_OSVR); - LuaSetEnum("HMD_FOVE_VR", HMD_FOVE_VR); + LuaSetEnum("DEFAULT_DEVICE", HMD_DEFAULT_DEVICE); + LuaSetEnum("OCULUS_RIFT_DK2", HMD_OCULUS_RIFT_DK2); + LuaSetEnum("OCULUS_RIFT_CV1", HMD_OCULUS_RIFT_CV1); + LuaSetEnum("VALVE_HTC_VIVE", HMD_VALVE_HTC_VIVE); + LuaSetEnum("SAMSUNG_GEAR_VR", HMD_SAMSUNG_GEAR_VR); + LuaSetEnum("GOOGLE_CARDBOARD", HMD_GOOGLE_CARDBOARD); + LuaSetEnum("SONY_PLAYSTATION_VR", HMD_SONY_PLAYSTATION_VR); + LuaSetEnum("RAZER_OSVR", HMD_RAZER_OSVR); + LuaSetEnum("FOVE_VR", HMD_FOVE_VR); LuaEndEnum("VrDevice"); lua_pushglobaltable(L); From 00c7e54d3c593dbddb036f2185e614e7e4b22a1f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 11:32:35 +0200 Subject: [PATCH 027/102] Add raylib lua examples --- examples/audio_module_playing.lua | 131 +++++++++++ examples/audio_music_stream.lua | 66 ++++++ examples/audio_raw_stream.lua | 97 ++++++++ examples/audio_sound_loading.lua | 59 +++++ examples/core_2d_camera.lua | 130 +++++++++++ examples/core_3d_camera_first_person.lua | 85 +++++++ examples/core_3d_camera_free.lua | 75 ++++++ examples/core_3d_mode.lua | 64 ++++++ examples/core_3d_picking.lua | 96 ++++++++ examples/core_basic_window.lua | 43 ++-- examples/core_color_select.lua | 82 +++++++ examples/core_drop_files.lua | 63 +++++ examples/core_gestures_detection.lua | 102 ++++++++ examples/core_input_gamepad.lua | 63 +++++ examples/core_input_keys.lua | 51 ++++ examples/core_input_mouse.lua | 54 +++++ examples/core_mouse_wheel.lua | 50 ++++ examples/core_oculus_rift.lua | 73 ++++++ examples/core_random_values.lua | 56 +++++ examples/core_storage_values.lua | 74 ++++++ examples/core_world_screen.lua | 69 ++++++ examples/models_billboard.lua | 65 ++++++ examples/models_box_collisions.lua | 115 ++++++++++ examples/models_cubicmap.lua | 79 +++++++ examples/models_geometric_shapes.lua | 67 ++++++ examples/models_heightmap.lua | 73 ++++++ examples/models_obj_loading.lua | 67 ++++++ examples/rlua_execute_file.c | 53 ++++- examples/shaders_custom_uniform.lua | 115 ++++++++++ examples/shaders_model_shader.lua | 85 +++++++ examples/shaders_postprocessing.lua | 101 ++++++++ examples/shaders_shapes_textures.lua | 101 ++++++++ examples/shaders_standard_lighting.lua | 114 +++++++++ examples/shapes_basic_shapes.lua | 64 ++++++ examples/shapes_colors_palette.lua | 89 +++++++ examples/shapes_logo_raylib.lua | 48 ++++ examples/shapes_logo_raylib_anim.lua | 127 ++++++++++ examples/text_bmfont_ttf.lua | 59 +++++ examples/text_font_select.lua | 143 ++++++++++++ examples/text_format_text.lua | 54 +++++ examples/text_rbmf_fonts.lua | 87 +++++++ examples/text_sprite_fonts.lua | 72 ++++++ examples/text_writing_anim.lua | 52 +++++ examples/textures_formats_loading.lua | 217 ++++++++++++++++++ examples/textures_image_drawing.lua | 70 ++++++ examples/textures_image_loading.lua | 55 +++++ examples/textures_image_processing.lua | 134 +++++++++++ examples/textures_logo_raylib.lua | 49 ++++ .../textures_particles_trail_blending.lua | 122 ++++++++++ examples/textures_raw_data.lua | 83 +++++++ examples/textures_rectangle.lua | 69 ++++++ examples/textures_srcrec_dstrec.lua | 71 ++++++ examples/textures_to_image.lua | 60 +++++ 53 files changed, 4322 insertions(+), 21 deletions(-) create mode 100644 examples/audio_module_playing.lua create mode 100644 examples/audio_music_stream.lua create mode 100644 examples/audio_raw_stream.lua create mode 100644 examples/audio_sound_loading.lua create mode 100644 examples/core_2d_camera.lua create mode 100644 examples/core_3d_camera_first_person.lua create mode 100644 examples/core_3d_camera_free.lua create mode 100644 examples/core_3d_mode.lua create mode 100644 examples/core_3d_picking.lua create mode 100644 examples/core_color_select.lua create mode 100644 examples/core_drop_files.lua create mode 100644 examples/core_gestures_detection.lua create mode 100644 examples/core_input_gamepad.lua create mode 100644 examples/core_input_keys.lua create mode 100644 examples/core_input_mouse.lua create mode 100644 examples/core_mouse_wheel.lua create mode 100644 examples/core_oculus_rift.lua create mode 100644 examples/core_random_values.lua create mode 100644 examples/core_storage_values.lua create mode 100644 examples/core_world_screen.lua create mode 100644 examples/models_billboard.lua create mode 100644 examples/models_box_collisions.lua create mode 100644 examples/models_cubicmap.lua create mode 100644 examples/models_geometric_shapes.lua create mode 100644 examples/models_heightmap.lua create mode 100644 examples/models_obj_loading.lua create mode 100644 examples/shaders_custom_uniform.lua create mode 100644 examples/shaders_model_shader.lua create mode 100644 examples/shaders_postprocessing.lua create mode 100644 examples/shaders_shapes_textures.lua create mode 100644 examples/shaders_standard_lighting.lua create mode 100644 examples/shapes_basic_shapes.lua create mode 100644 examples/shapes_colors_palette.lua create mode 100644 examples/shapes_logo_raylib.lua create mode 100644 examples/shapes_logo_raylib_anim.lua create mode 100644 examples/text_bmfont_ttf.lua create mode 100644 examples/text_font_select.lua create mode 100644 examples/text_format_text.lua create mode 100644 examples/text_rbmf_fonts.lua create mode 100644 examples/text_sprite_fonts.lua create mode 100644 examples/text_writing_anim.lua create mode 100644 examples/textures_formats_loading.lua create mode 100644 examples/textures_image_drawing.lua create mode 100644 examples/textures_image_loading.lua create mode 100644 examples/textures_image_processing.lua create mode 100644 examples/textures_logo_raylib.lua create mode 100644 examples/textures_particles_trail_blending.lua create mode 100644 examples/textures_raw_data.lua create mode 100644 examples/textures_rectangle.lua create mode 100644 examples/textures_srcrec_dstrec.lua create mode 100644 examples/textures_to_image.lua diff --git a/examples/audio_module_playing.lua b/examples/audio_module_playing.lua new file mode 100644 index 000000000..c309c2537 --- /dev/null +++ b/examples/audio_module_playing.lua @@ -0,0 +1,131 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [audio] example - Module playing (streaming) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +MAX_CIRCLES = 64 + +typedef struct { -- TODO: Find a Lua alternative: TABLES? + Vector2 position + float radius + float alpha + float speed + Color color +} CircleWave + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [audio] example - module playing (streaming)") + +InitAudioDevice() -- Initialize audio device + +local colors = { ORANGE, RED, GOLD, LIME, BLUE, VIOLET, BROWN, LIGHTGRAY, PINK, + YELLOW, GREEN, SKYBLUE, PURPLE, BEIGE } + +-- Creates ome circles for visual effect +local circles = {} + +for i = MAX_CIRCLES, 1, -1 do + circles[i].alpha = 0.0 + circles[i].radius = GetRandomValue(10, 40) + circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius) + circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius) + circles[i].speed = (float)GetRandomValue(1, 100)/20000.0 + circles[i].color = colors[GetRandomValue(1, 14)] +end + +-- Load postprocessing bloom shader +local shader = LoadShader("resources/shaders/glsl330/base.vs", + "resources/shaders/glsl330/bloom.fs") + +-- Create a RenderTexture2D to be used for render to texture +local target = LoadRenderTexture(screenWidth, screenHeight) + +local xm = LoadMusicStream("resources/audio/mini1111.xm") + +PlayMusicStream(xm) + +local timePlayed = 0.0 + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + for i = MAX_CIRCLES, 1, -1 do + circles[i].alpha += circles[i].speed + circles[i].radius += circles[i].speed*10.0 + + if (circles[i].alpha > 1.0) then circles[i].speed = circles[i].speed*-1 end + + if (circles[i].alpha <= 0.0) then + circles[i].alpha = 0.0 + circles[i].radius = GetRandomValue(10, 40) + circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius) + circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius) + circles[i].color = colors[GetRandomValue(0, 13)] + circles[i].speed = (float)GetRandomValue(1, 100)/20000.0 + end + end + + -- Get timePlayed scaled to bar dimensions + timePlayed = (GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40))*2 + + UpdateMusicStream(xm) -- Update music buffer with new stream data + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(BLACK) + + BeginTextureMode(target) -- Enable drawing to texture + + for i = MAX_CIRCLES, 1, -1 do + DrawCircleV(circles[i].position, circles[i].radius, Fade(circles[i].color, circles[i].alpha)) + end + + EndTextureMode() -- End drawing to texture (now we have a texture available for next passes) + + BeginShaderMode(shader) + + -- NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom) + DrawTextureRec(target.texture, Rectangle(0, 0, target.texture.width, -target.texture.height), Vector2(0, 0), WHITE) + + EndShaderMode() + + -- Draw time bar + DrawRectangle(20, screenHeight - 20 - 12, screenWidth - 40, 12, LIGHTGRAY) + DrawRectangle(20, screenHeight - 20 - 12, (int)timePlayed, 12, MAROON) + DrawRectangleLines(20, screenHeight - 20 - 12, screenWidth - 40, 12, WHITE) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadShader(shader) -- Unload shader +UnloadRenderTexture(target) -- Unload render texture + +UnloadMusicStream(xm) -- Unload music stream buffers from RAM + +CloseAudioDevice() -- Close audio device (music streaming is automatically stopped) + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- + +return 0 +} \ No newline at end of file diff --git a/examples/audio_music_stream.lua b/examples/audio_music_stream.lua new file mode 100644 index 000000000..33cf335f3 --- /dev/null +++ b/examples/audio_music_stream.lua @@ -0,0 +1,66 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [audio] example - Music playing (streaming) +-- +-- NOTE: This example requires OpenAL Soft library installed +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [audio] example - music playing (streaming)") + +InitAudioDevice() -- Initialize audio device + +local music = LoadMusicStream("resources/audio/guitar_noodling.ogg") + +PlayMusicStream(music) + +local framesCounter = 0 +local timePlayed = 0.0 + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + framesCounter = framesCounter + 1 + + timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4 -- We scale by 4 to fit 400 pixels + + UpdateMusicStream(music) -- Update music buffer with new stream data + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("MUSIC SHOULD BE PLAYING!", 255, 200, 20, LIGHTGRAY) + + DrawRectangle(200, 250, 400, 12, LIGHTGRAY) + DrawRectangle(200, 250, timePlayed//1, 12, MAROON) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadMusicStream(music) -- Unload music stream buffers from RAM + +CloseAudioDevice() -- Close audio device (music streaming is automatically stopped) + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/audio_raw_stream.lua b/examples/audio_raw_stream.lua new file mode 100644 index 000000000..070984f9b --- /dev/null +++ b/examples/audio_raw_stream.lua @@ -0,0 +1,97 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [audio] example - Raw audio streaming +-- +-- NOTE: This example requires OpenAL Soft library installed +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +MAX_SAMPLES = 20000 +DEG2RAD = math.pi/180.0 + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw audio streaming") + +InitAudioDevice() -- Initialize audio device + +-- Init raw audio stream (sample rate: 22050, sample size: 32bit-float, channels: 1-mono) +local stream = InitAudioStream(22050, 32, 1) + +-- Fill audio stream with some samples (sine wave) +local data = {} + +for i = 1, MAX_SAMPLES do + data[i] = math.sin(((2*math.pi*i)/2)*DEG2RAD) +end + +-- NOTE: The generated MAX_SAMPLES do not fit to close a perfect loop +-- for that reason, there is a clip everytime audio stream is looped + +PlayAudioStream(stream) + +local totalSamples = MAX_SAMPLES +local samplesLeft = totalSamples + +local position = Vector2(0, 0) + +SetTargetFPS(30) -- Set our game to run at 30 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + + -- Refill audio stream if required + if (IsAudioBufferProcessed(stream)) then + local numSamples = 0 + + if (samplesLeft >= 4096) then numSamples = 4096 + else numSamples = samplesLeft end + + UpdateAudioStream(stream, data + (totalSamples - samplesLeft), numSamples) + + samplesLeft = samplesLeft - numSamples + + -- Reset samples feeding (loop audio) + if (samplesLeft <= 0) then samplesLeft = totalSamples end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("SINE WAVE SHOULD BE PLAYING!", 240, 140, 20, LIGHTGRAY) + + -- NOTE: Draw a part of the sine wave (only screen width) + for i = 1, GetScreenWidth() do + position.x = (i - 1) + position.y = 250 + 50*data[i] + + DrawPixelV(position, RED) + end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseAudioStream(stream) -- Close raw audio stream and delete buffers from RAM + +CloseAudioDevice() -- Close audio device (music streaming is automatically stopped) + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/audio_sound_loading.lua b/examples/audio_sound_loading.lua new file mode 100644 index 000000000..7107eea4e --- /dev/null +++ b/examples/audio_sound_loading.lua @@ -0,0 +1,59 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [audio] example - Sound loading and playing +-- +-- NOTE: This example requires OpenAL Soft library installed +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound loading and playing") + +InitAudioDevice() -- Initialize audio device + +local fxWav = LoadSound("resources/audio/weird.wav") -- Load WAV audio file +local fxOgg = LoadSound("resources/audio/tanatana.ogg") -- Load OGG audio file + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyPressed(KEY.SPACE)) then PlaySound(fxWav) end -- Play WAV sound + if (IsKeyPressed(KEY.ENTER)) then PlaySound(fxOgg) end -- Play OGG sound + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("Press SPACE to PLAY the WAV sound!", 200, 180, 20, LIGHTGRAY) + + DrawText("Press ENTER to PLAY the OGG sound!", 200, 220, 20, LIGHTGRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadSound(fxWav) -- Unload sound data +UnloadSound(fxOgg) -- Unload sound data + +CloseAudioDevice() -- Close audio device + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_2d_camera.lua b/examples/core_2d_camera.lua new file mode 100644 index 000000000..a7c0515a6 --- /dev/null +++ b/examples/core_2d_camera.lua @@ -0,0 +1,130 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - 2d camera +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +MAX_BUILDINGS = 100 + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - 2d camera") + +local player = Rectangle(400, 280, 40, 40) +local buildings = {} +local buildColors = {} + +local spacing = 0; + +for i = 1, MAX_BUILDINGS do + buildings[i] = Rectangle(0, 0, 0, 0) + buildings[i].width = GetRandomValue(50, 200) + buildings[i].height = GetRandomValue(100, 800) + buildings[i].y = screenHeight - 130 - buildings[i].height + buildings[i].x = -6000 + spacing + + spacing = spacing + buildings[i].width + + buildColors[i] = Color(GetRandomValue(200, 240), GetRandomValue(200, 240), GetRandomValue(200, 250), 255) +end + +local camera = Camera2D(Vector2(0, 0), Vector2(0, 0), 0.0, 1.0) + +camera.target = Vector2(player.x + 20, player.y + 20) +camera.offset = Vector2(0, 0) +camera.rotation = 0.0 +camera.zoom = 1.0 + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyDown(KEY.RIGHT)) then + player.x = player.x + 2 -- Player movement + camera.offset.x = camera.offset.x - 2 -- Camera displacement with player movement + elseif (IsKeyDown(KEY.LEFT)) then + player.x = player.x - 2 -- Player movement + camera.offset.x = camera.offset.x + 2 -- Camera displacement with player movement + end + + -- Camera target follows player + camera.target = Vector2(player.x + 20, player.y + 20) + + -- Camera rotation controls + if (IsKeyDown(KEY.A)) then camera.rotation = camera.rotation - 1 + elseif (IsKeyDown(KEY.S)) then camera.rotation = camera.rotation + 1 + end + + -- Limit camera rotation to 80 degrees (-40 to 40) + if (camera.rotation > 40) then camera.rotation = 40 + elseif (camera.rotation < -40) then camera.rotation = -40 + end + + -- Camera zoom controls + camera.zoom = camera.zoom + (GetMouseWheelMove()*0.05) + + if (camera.zoom > 3.0) then camera.zoom = 3.0 + elseif (camera.zoom < 0.1) then camera.zoom = 0.1 + end + + -- Camera reset (zoom and rotation) + if (IsKeyPressed(KEY.R)) then + camera.zoom = 1.0 + camera.rotation = 0.0 + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin2dMode(camera) -- ERROR: Lua Error: attempt to index a number value (?) + + DrawRectangle(-6000, 320, 13000, 8000, DARKGRAY) + + for i = 1, MAX_BUILDINGS, 1 do DrawRectangleRec(buildings[i], buildColors[i]) end + + DrawRectangleRec(player, RED) + + DrawRectangle(camera.target.x, -500, 1, screenHeight*4, GREEN) + DrawRectangle(-500, camera.target.y, screenWidth*4, 1, GREEN) + + End2dMode() + + DrawText("SCREEN AREA", 640, 10, 20, RED) + + DrawRectangle(0, 0, screenWidth, 5, RED) + DrawRectangle(0, 5, 5, screenHeight - 10, RED) + DrawRectangle(screenWidth - 5, 5, 5, screenHeight - 10, RED) + DrawRectangle(0, screenHeight - 5, screenWidth, 5, RED) + + DrawRectangle( 10, 10, 250, 113, Fade(SKYBLUE, 0.5)) + DrawRectangleLines( 10, 10, 250, 113, BLUE) + + DrawText("Free 2d camera controls:", 20, 20, 10, BLACK) + DrawText("- Right/Left to move Offset", 40, 40, 10, DARKGRAY) + DrawText("- Mouse Wheel to Zoom in-out", 40, 60, 10, DARKGRAY) + DrawText("- A / S to Rotate", 40, 80, 10, DARKGRAY) + DrawText("- R to reset Zoom and Rotation", 40, 100, 10, DARKGRAY) + + EndDrawing(); + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- diff --git a/examples/core_3d_camera_first_person.lua b/examples/core_3d_camera_first_person.lua new file mode 100644 index 000000000..800c3c2a1 --- /dev/null +++ b/examples/core_3d_camera_first_person.lua @@ -0,0 +1,85 @@ +-------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - 3d camera first person +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +-------------------------------------------------------------------------------------------- + +MAX_COLUMNS = 20 + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera first person") + +-- Define the camera to look into our 3d world (position, target, up vector) +local camera = Camera(Vector3(0.0, 10.0, 10.0), Vector3(0.0, 0.0, 0.0), Vector3(0.0, 1.0, 0.0), 60.0) + +-- Generates some random columns +local heights = {} +local positions = {} +local colors = {} + +for i = 1, MAX_COLUMNS do + heights[i] = GetRandomValue(1, 12) + positions[i] = Vector3(GetRandomValue(-15, 15), heights[i]/2, GetRandomValue(-15, 15)) + colors[i] = Color(GetRandomValue(20, 255), GetRandomValue(10, 55), 30, 255) +end + +local playerPosition = Vector3(4.0, 2.0, 4.0) -- Define player position + +SetCameraMode(CameraMode.FIRST_PERSON) -- Set a first person camera mode +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + camera, playerPosition = UpdateCameraPlayer(camera, playerPosition) -- Update camera and player position + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawPlane(Vector3(0.0, 0.0, 0.0), Vector2(32.0, 32.0), LIGHTGRAY) -- Draw ground + DrawCube(Vector3(-16.0, 2.5, 0.0), 1.0, 5.0, 32.0, BLUE) -- Draw a blue wall + DrawCube(Vector3(16.0, 2.5, 0.0), 1.0, 5.0, 32.0, LIME) -- Draw a green wall + DrawCube(Vector3(0.0, 2.5, 16.0), 32.0, 5.0, 1.0, GOLD) -- Draw a yellow wall + + -- Draw some cubes around + for i = 1, MAX_COLUMNS do + DrawCube(positions[i], 2.0, heights[i], 2.0, colors[i]) + DrawCubeWires(positions[i], 2.0, heights[i], 2.0, MAROON) + end + + End3dMode() + + DrawRectangle( 10, 10, 220, 70, Fade(SKYBLUE, 0.5)) + DrawRectangleLines( 10, 10, 220, 70, BLUE) + + DrawText("First person camera default controls:", 20, 20, 10, BLACK) + DrawText("- Move with keys: W, A, S, D", 40, 40, 10, DARKGRAY) + DrawText("- Mouse move to look around", 40, 60, 10, DARKGRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_3d_camera_free.lua b/examples/core_3d_camera_free.lua new file mode 100644 index 000000000..244aad6b8 --- /dev/null +++ b/examples/core_3d_camera_free.lua @@ -0,0 +1,75 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Initialize 3d camera free +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +-------------------------------------------------------------------------------------------- + +-- Initialization +---------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera free") + +-- Define the camera to look into our 3d world +local camera = {} +camera.position = Vector3(0.0, 10.0, 10.0) -- Camera position +camera.target = Vector3(0.0, 0.0, 0.0) -- Camera looking at point +camera.up = Vector3(0.0, 1.0, 0.0) -- Camera up vector (rotation towards target) +camera.fovy = 45.0 -- Camera field-of-view Y + +local cubePosition = Vector3(0.0, 0.0, 0.0) + +SetCameraMode(CameraMode.FREE) -- Set a free camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + camera = UpdateCamera(camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawCube(cubePosition, 2.0, 2.0, 2.0, RED) + DrawCubeWires(cubePosition, 2.0, 2.0, 2.0, MAROON) + + DrawGrid(10, 1.0) + + End3dMode() + + DrawRectangle( 10, 10, 320, 133, Fade(SKYBLUE, 0.5)) + DrawRectangleLines( 10, 10, 320, 133, BLUE) + + DrawText("Free camera default controls:", 20, 20, 10, BLACK) + DrawText("- Mouse Wheel to Zoom in-out", 40, 40, 10, DARKGRAY) + DrawText("- Mouse Wheel Pressed to Pan", 40, 60, 10, DARKGRAY) + DrawText("- Alt + Mouse Wheel Pressed to Rotate", 40, 80, 10, DARKGRAY) + DrawText("- Alt + Ctrl + Mouse Wheel Pressed for Smooth Zoom", 40, 100, 10, DARKGRAY) + DrawText("- Z to zoom to (0, 0, 0)", 40, 120, 10, DARKGRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_3d_mode.lua b/examples/core_3d_mode.lua new file mode 100644 index 000000000..c0f7a038f --- /dev/null +++ b/examples/core_3d_mode.lua @@ -0,0 +1,64 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Initialize 3d mode +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d mode") + +-- Define the camera to look into our 3d world +local camera = {} +camera.position = Vector3(0.0, 10.0, 10.0) -- Camera position +camera.target = Vector3(0.0, 0.0, 0.0) -- Camera looking at point +camera.up = Vector3(0.0, 1.0, 0.0) -- Camera up vector (rotation towards target) +camera.fovy = 45.0 -- Camera field-of-view Y + +local cubePosition = Vector3(0.0, 0.0, 0.0) + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) -- ERROR: Lua Error: attempt to index a number value (?) + + DrawCube(cubePosition, 2.0, 2.0, 2.0, RED) + DrawCubeWires(cubePosition, 2.0, 2.0, 2.0, MAROON) + + DrawGrid(10, 1.0) + + End3dMode() + + DrawText("Welcome to the third dimension!", 10, 40, 20, DARKGRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_3d_picking.lua b/examples/core_3d_picking.lua new file mode 100644 index 000000000..f3f285304 --- /dev/null +++ b/examples/core_3d_picking.lua @@ -0,0 +1,96 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Picking in 3d mode +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d picking") + +-- Define the camera to look into our 3d world +local camera = {} +camera.position = Vector3(0.0, 10.0, 10.0) -- Camera position +camera.target = Vector3(0.0, 0.0, 0.0) -- Camera looking at point +camera.up = Vector3(0.0, 1.0, 0.0) -- Camera up vector (rotation towards target) +camera.fovy = 45.0 -- Camera field-of-view Y + +local cubePosition = Vector3(0.0, 1.0, 0.0) +local cubeSize = Vector3(2.0, 2.0, 2.0) + +local ray = Ray(Vector3(0, 0, 0), Vector3(0, 0, 0)) -- Picking line ray + +local collision = false + +SetCameraMode(CameraMode.FREE) -- Set a free camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(camera) -- Update internal camera and our camera + + if (IsMouseButtonPressed(MOUSE.LEFT_BUTTON)) then + -- NOTE: This function is NOT WORKING properly! + ray = GetMouseRay(GetMousePosition(), camera) + + -- Check collision between ray and box + collision = CheckCollisionRayBox(ray, + (BoundingBox){(Vector3){ cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2 }, + (Vector3){ cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2 }}) + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + if (collision) then + DrawCube(cubePosition, cubeSize.x, cubeSize.y, cubeSize.z, RED) + DrawCubeWires(cubePosition, cubeSize.x, cubeSize.y, cubeSize.z, MAROON) + + DrawCubeWires(cubePosition, cubeSize.x + 0.2, cubeSize.y + 0.2, cubeSize.z + 0.2, GREEN) + else + DrawCube(cubePosition, cubeSize.x, cubeSize.y, cubeSize.z, GRAY) + DrawCubeWires(cubePosition, cubeSize.x, cubeSize.y, cubeSize.z, DARKGRAY) + end + + DrawRay(ray, MAROON) + + DrawGrid(10, 1.0) + + End3dMode() + + DrawText("Try selecting the box with mouse!", 240, 10, 20, DARKGRAY) + + if (collision) then + DrawText("BOX SELECTED", (screenWidth - MeasureText("BOX SELECTED", 30))/2, screenHeight*0.1, 30, GREEN) + end + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_basic_window.lua b/examples/core_basic_window.lua index 4f2880059..ea3337a15 100644 --- a/examples/core_basic_window.lua +++ b/examples/core_basic_window.lua @@ -1,28 +1,33 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Basic window +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + -- Initialization ----------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------- local screenWidth = 800 local screenHeight = 450 -InitWindow(screenWidth, screenHeight, "raylib [rlua] example - basic window") - -InitAudioDevice() - ---local pause = false ---local texture = LoadTexture("resources/texture.png") +InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window") SetTargetFPS(60) -- Set target frames-per-second ----------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------- -while not WindowShouldClose() do +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key -- Update - ------------------------------------------------------------------------------------ - --if (IsKeyPressed(KEY.SPACE)) then - -- pause = not pause - --end - ------------------------------------------------------------------------------------ + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- -- Draw - ------------------------------------------------------------------------------------ + --------------------------------------------------------------------------------------- BeginDrawing() ClearBackground(RAYWHITE) @@ -30,12 +35,10 @@ while not WindowShouldClose() do DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY) EndDrawing() - ------------------------------------------------------------------------------------ + --------------------------------------------------------------------------------------- end -- De-Initialization ------------------------------------------------------------------------------------- -CloseAudioDevice() -- Close audio device - +------------------------------------------------------------------------------------------- CloseWindow() -- Close window and OpenGL context ------------------------------------------------------------------------------------- \ No newline at end of file +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_color_select.lua b/examples/core_color_select.lua new file mode 100644 index 000000000..2d9c7a963 --- /dev/null +++ b/examples/core_color_select.lua @@ -0,0 +1,82 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Color selection by mouse (collision detection) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +NUM_RECTANGLES = 21 + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - color selection (collision detection)") + +local colors = { DARKGRAY, MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, DARKBROWN, + GRAY, RED, GOLD, LIME, BLUE, VIOLET, BROWN, LIGHTGRAY, PINK, YELLOW, + GREEN, SKYBLUE, PURPLE, BEIGE } + +local colorsRecs = {} -- Rectangles array +local selected = {} + +-- Fills colorsRecs data (for every rectangle) +for i = 1, NUM_RECTANGLES do + colorsRecs[i] = Rectangle(0, 0, 0, 0) + colorsRecs[i].x = 20 + 100*((i-1)%7) + 10*((i-1)%7) + colorsRecs[i].y = 60 + 100*((i-1)//7) + 10*((i-1)//7) -- Using floor division: // + colorsRecs[i].width = 100 + colorsRecs[i].height = 100 + selected[i] = false +end + +local mousePoint = Vector2(0, 0) + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + mousePoint = GetMousePosition() + + for i = 1, NUM_RECTANGLES do -- Iterate along all the rectangles + if (CheckCollisionPointRec(mousePoint, colorsRecs[i])) then + colors[i].a = 120 + if (IsMouseButtonPressed(MOUSE.LEFT_BUTTON)) then selected[i] = not selected[i] end + else colors[i].a = 255 end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + for i = 1, NUM_RECTANGLES do -- Draw all rectangles + DrawRectangleRec(colorsRecs[i], colors[i]) + + -- Draw four rectangles around selected rectangle + if (selected[i]) then + DrawRectangle(colorsRecs[i].x, colorsRecs[i].y, 100, 10, RAYWHITE) -- Square top rectangle + DrawRectangle(colorsRecs[i].x, colorsRecs[i].y, 10, 100, RAYWHITE) -- Square left rectangle + DrawRectangle(colorsRecs[i].x + 90, colorsRecs[i].y, 10, 100, RAYWHITE) -- Square right rectangle + DrawRectangle(colorsRecs[i].x, colorsRecs[i].y + 90, 100, 10, RAYWHITE) -- Square bottom rectangle + end + end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_drop_files.lua b/examples/core_drop_files.lua new file mode 100644 index 000000000..0a437422d --- /dev/null +++ b/examples/core_drop_files.lua @@ -0,0 +1,63 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Windows drop files +-- +-- This example only works on platforms that support drag & drop (Windows, Linux, OSX) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - drop files") + +local count = 0 +--char **droppedFiles -- ??? + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsFileDropped()) then droppedFiles = GetDroppedFiles(count) end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + if (count == 0) then DrawText("Drop your files to this window!", 100, 40, 20, DARKGRAY) + else + DrawText("Dropped files:", 100, 40, 20, DARKGRAY) + + for i = 0, count do + if (i%2 == 0) then DrawRectangle(0, 85 + 40*i, screenWidth, 40, Fade(LIGHTGRAY, 0.5)) + else DrawRectangle(0, 85 + 40*i, screenWidth, 40, Fade(LIGHTGRAY, 0.3)) end + + DrawText(droppedFiles[i], 120, 100 + 40*i, 10, GRAY) + end + + DrawText("Drop new files...", 100, 110 + 40*count, 20, DARKGRAY) + end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +ClearDroppedFiles() -- Clear internal buffers + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_gestures_detection.lua b/examples/core_gestures_detection.lua new file mode 100644 index 000000000..9316b9901 --- /dev/null +++ b/examples/core_gestures_detection.lua @@ -0,0 +1,102 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Gestures Detection +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +MAX_GESTURE_STRINGS = 20 + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - gestures detection") + +local touchPosition = Vector2(0, 0) +local touchArea = Rectangle(220, 10, screenWidth - 230, screenHeight - 20) + +local gesturesCount = 0 +local gestureStrings = {} + +for i = 1, MAX_GESTURE_STRINGS do gestureStrings[i] = "" end + +local currentGesture = Gestures.NONE +local lastGesture = Gestures.NONE + +--SetGesturesEnabled(0b0000000000001001) -- Enable only some gestures to be detected + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + lastGesture = currentGesture + currentGesture = GetGestureDetected() + touchPosition = GetTouchPosition(0) + + if (CheckCollisionPointRec(touchPosition, touchArea) and (currentGesture ~= Gestures.NONE)) then + if (currentGesture ~= lastGesture) then + -- Store gesture string + if (currentGesture == Gestures.TAP) then gestureStrings[gesturesCount] = "GESTURE TAP" + elseif (currentGesture == Gestures.DOUBLETAP) then gestureStrings[gesturesCount] = "GESTURE DOUBLETAP" + elseif (currentGesture == Gestures.HOLD) then gestureStrings[gesturesCount] = "GESTURE HOLD" + elseif (currentGesture == Gestures.DRAG) then gestureStrings[gesturesCount] = "GESTURE DRAG" + elseif (currentGesture == Gestures.SWIPE_RIGHT) then gestureStrings[gesturesCount] = "GESTURE SWIPE RIGHT" + elseif (currentGesture == Gestures.SWIPE_LEFT) then gestureStrings[gesturesCount] = "GESTURE SWIPE LEFT" + elseif (currentGesture == Gestures.SWIPE_UP) then gestureStrings[gesturesCount] = "GESTURE SWIPE UP" + elseif (currentGesture == Gestures.SWIPE_DOWN) then gestureStrings[gesturesCount] = "GESTURE SWIPE DOWN" + elseif (currentGesture == Gestures.PINCH_IN) then gestureStrings[gesturesCount] = "GESTURE PINCH IN" + elseif (currentGesture == Gestures.PINCH_OUT) then gestureStrings[gesturesCount] = "GESTURE PINCH OUT" + end + + gesturesCount = gesturesCount + 1 + + -- Reset gestures strings + if (gesturesCount >= MAX_GESTURE_STRINGS) then + for i = 1, MAX_GESTURE_STRINGS do gestureStrings[i] = "\0" end + gesturesCount = 0 + end + end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawRectangleRec(touchArea, GRAY) + DrawRectangle(225, 15, screenWidth - 240, screenHeight - 30, RAYWHITE) + + DrawText("GESTURES TEST AREA", screenWidth - 270, screenHeight - 40, 20, Fade(GRAY, 0.5)) + + for i = 1, gesturesCount do + if ((i - 1)%2 == 0) then DrawRectangle(10, 30 + 20*(i - 1), 200, 20, Fade(LIGHTGRAY, 0.5)) + else DrawRectangle(10, 30 + 20*(i - 1), 200, 20, Fade(LIGHTGRAY, 0.3)) end + + if (i < gesturesCount) then DrawText(gestureStrings[i], 35, 36 + 20*(i - 1), 10, DARKGRAY) + else DrawText(gestureStrings[i], 35, 36 + 20*(i - 1), 10, MAROON) end + end + + DrawRectangleLines(10, 29, 200, screenHeight - 50, GRAY) + DrawText("DETECTED GESTURES", 50, 15, 10, GRAY) + + if (currentGesture ~= GESTURE_NONE) then DrawCircleV(touchPosition, 30, MAROON) end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_input_gamepad.lua b/examples/core_input_gamepad.lua new file mode 100644 index 000000000..eea2532cc --- /dev/null +++ b/examples/core_input_gamepad.lua @@ -0,0 +1,63 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Gamepad input +-- +-- NOTE: This example requires a Gamepad connected to the system +-- raylib is configured to work with Xbox 360 gamepad, check raylib.h for buttons configuration +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - gamepad input") + +local ballPosition = Vector2(screenWidth/2, screenHeight/2) +local gamepadMovement = Vector2(0, 0) + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsGamepadAvailable(GAMEPAD.PLAYER1)) then + gamepadMovement.x = GetGamepadAxisMovement(GAMEPAD.PLAYER1, GAMEPAD.XBOX_AXIS_LEFT_X) + gamepadMovement.y = GetGamepadAxisMovement(GAMEPAD.PLAYER1, GAMEPAD.XBOX_AXIS_LEFT_Y) + + ballPosition.x = ballPosition.x + gamepadMovement.x + ballPosition.y = ballPosition.y - gamepadMovement.y + + if (IsGamepadButtonPressed(GAMEPAD_PLAYER1, GAMEPAD_BUTTON_A)) then + ballPosition.x = screenWidth/2 + ballPosition.y = screenHeight/2 + end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("move the ball with gamepad", 10, 10, 20, DARKGRAY) + + DrawCircleV(ballPosition, 50, MAROON) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_input_keys.lua b/examples/core_input_keys.lua new file mode 100644 index 000000000..523b73175 --- /dev/null +++ b/examples/core_input_keys.lua @@ -0,0 +1,51 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Keyboard input +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window") + +local ballPosition = Vector2(screenWidth/2, screenHeight/2) + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyDown(KEY.RIGHT)) then ballPosition.x = ballPosition.x + 0.8 end + if (IsKeyDown(KEY.LEFT)) then ballPosition.x = ballPosition.x - 0.8 end + if (IsKeyDown(KEY.UP)) then ballPosition.y = ballPosition.y - 0.8 end + if (IsKeyDown(KEY.DOWN)) then ballPosition.y = ballPosition.y + 0.8 end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("move the ball with arrow keys", 10, 10, 20, DARKGRAY) + + DrawCircleV(ballPosition, 50, MAROON) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- diff --git a/examples/core_input_mouse.lua b/examples/core_input_mouse.lua new file mode 100644 index 000000000..35ca8e738 --- /dev/null +++ b/examples/core_input_mouse.lua @@ -0,0 +1,54 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Mouse input +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - mouse input") + +local ballPosition = Vector2(-100.0, -100.0) +local ballColor = DARKBLUE + +SetTargetFPS(60) -- Set target frames-per-second +----------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + ------------------------------------------------------------------------------------ + ballPosition = GetMousePosition() + + if (IsMouseButtonPressed(MOUSE.LEFT_BUTTON)) then ballColor = MAROON + elseif (IsMouseButtonPressed(MOUSE.MIDDLE_BUTTON)) then ballColor = LIME + elseif (IsMouseButtonPressed(MOUSE.RIGHT_BUTTON)) then ballColor = DARKBLUE + end + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawCircleV(ballPosition, 40, ballColor) + + DrawText("move ball with mouse and click mouse button to change color", 10, 10, 20, DARKGRAY) + + EndDrawing() + ------------------------------------------------------------------------------------ +end + +-- De-Initialization +---------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +---------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_mouse_wheel.lua b/examples/core_mouse_wheel.lua new file mode 100644 index 000000000..92e0a160b --- /dev/null +++ b/examples/core_mouse_wheel.lua @@ -0,0 +1,50 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] examples - Mouse wheel +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - mouse wheel") + +local boxPositionY = screenHeight/2 - 40 +local scrollSpeed = 4 -- Scrolling speed in pixels + +SetTargetFPS(60) -- Set target frames-per-second +---------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + ------------------------------------------------------------------------------------ + boxPositionY = boxPositionY - (GetMouseWheelMove()*scrollSpeed) + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawRectangle(screenWidth/2 - 40, boxPositionY, 80, 80, MAROON) + + DrawText("Use mouse wheel to move the cube up and down!", 10, 10, 20, GRAY) + DrawText(string.format("Box position Y: %03i", boxPositionY), 10, 40, 20, LIGHTGRAY) + + EndDrawing() + ------------------------------------------------------------------------------------ +end + +-- De-Initialization +---------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +---------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_oculus_rift.lua b/examples/core_oculus_rift.lua new file mode 100644 index 000000000..2626d1783 --- /dev/null +++ b/examples/core_oculus_rift.lua @@ -0,0 +1,73 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Oculus Rift CV1 +-- +-- NOTE: Example requires linkage with LibOVR +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 1080 +local screenHeight = 600 + +-- NOTE: screenWidth/screenHeight should match VR device aspect ratio + +InitWindow(screenWidth, screenHeight, "raylib [core] example - oculus rift") + +-- NOTE: If device is not available, it fallbacks to default device (simulator) +InitVrDevice(VrDevice.OCULUS_RIFT_CV1) -- Init VR device (Oculus Rift CV1) + +-- Define the camera to look into our 3d world +local camera = {} +camera.position = Vector3(5.0, 5.0, 5.0) -- Camera position +camera.target = Vector3(0.0, 0.0, 0.0) -- Camera looking at point +camera.up = Vector3(0.0, 1.0, 0.0) -- Camera up vector (rotation towards target) +camera.fovy = 60.0 -- Camera field-of-view Y + +local cubePosition = Vector3(0.0, 0.0, 0.0) + +SetTargetFPS(90) -- Set our game to run at 90 frames-per-second +---------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + ------------------------------------------------------------------------------------ + UpdateVrTracking() + + if (IsKeyPressed(KEY.SPACE)) then ToggleVrMode() end + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawCube(cubePosition, 2.0, 2.0, 2.0, RED) + DrawCubeWires(cubePosition, 2.0, 2.0, 2.0, MAROON) + + DrawGrid(10, 1.0) + + End3dMode() + + DrawFPS(10, 10) + + EndDrawing() + ------------------------------------------------------------------------------------ +end + +-- De-Initialization +---------------------------------------------------------------------------------------- +CloseVrDevice() -- Close VR device + +CloseWindow() -- Close window and OpenGL context +---------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_random_values.lua b/examples/core_random_values.lua new file mode 100644 index 000000000..b80ab9e2b --- /dev/null +++ b/examples/core_random_values.lua @@ -0,0 +1,56 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Generate random values +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - generate random values") + +local framesCounter = 0 -- Variable used to count frames + +local randValue = GetRandomValue(-8, 5) -- Get a random integer number between -8 and 5 (both included) + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +---------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + ------------------------------------------------------------------------------------ + framesCounter = framesCounter + 1 + + -- Every two seconds (120 frames) a new random value is generated + if (((framesCounter/120)%2) == 1) then + randValue = GetRandomValue(-8, 5) + framesCounter = 0 + end + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("Every 2 seconds a new random value is generated:", 130, 100, 20, MAROON) + + DrawText(string.format("%i", randValue), 360, 180, 80, LIGHTGRAY) + + EndDrawing() + ------------------------------------------------------------------------------------ +end + +-- De-Initialization +---------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +---------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_storage_values.lua b/examples/core_storage_values.lua new file mode 100644 index 000000000..878b90e40 --- /dev/null +++ b/examples/core_storage_values.lua @@ -0,0 +1,74 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - Storage save/load values +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- NOTE: Storage positions must start with 0, directly related to file memory layout +STORAGE_SCORE = 0 +STORAGE_HISCORE = 1 + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - storage save/load values") + +local score = 0 +local hiscore = 0 + +local framesCounter = 0 + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyPressed(KEY.R)) then + score = GetRandomValue(1000, 2000) + hiscore = GetRandomValue(2000, 4000) + end + + if (IsKeyPressed(KEY.ENTER)) then + StorageSaveValue(STORAGE_SCORE, score) + StorageSaveValue(STORAGE_HISCORE, hiscore) + elseif (IsKeyPressed(KEY.SPACE)) then + -- NOTE: If requested position could not be found, value 0 is returned + score = StorageLoadValue(STORAGE_SCORE) + hiscore = StorageLoadValue(STORAGE_HISCORE) + end + + framesCounter = framesCounter + 1 + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText(string.format("SCORE: %i", score), 280, 130, 40, MAROON) + DrawText(string.format("HI-SCORE: %i", hiscore), 210, 200, 50, BLACK) + + DrawText(string.format("frames: %i", framesCounter), 10, 10, 20, LIME) + + DrawText("Press R to generate random numbers", 220, 40, 20, LIGHTGRAY) + DrawText("Press ENTER to SAVE values", 250, 310, 20, LIGHTGRAY) + DrawText("Press SPACE to LOAD values", 252, 350, 20, LIGHTGRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/core_world_screen.lua b/examples/core_world_screen.lua new file mode 100644 index 000000000..ebad41f87 --- /dev/null +++ b/examples/core_world_screen.lua @@ -0,0 +1,69 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [core] example - World to screen +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera free") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(0.0, 10.0, 10.0), Vector3(0.0, 0.0, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +local cubePosition = Vector3(0.0, 0.0, 0.0) + +local cubeScreenPosition = Vector2(0, 0) + +SetCameraMode(CameraMode.FREE) -- Set a free camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +---------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + ------------------------------------------------------------------------------------ + camera = UpdateCamera(camera) -- Update internal camera and our camera + + -- Calculate cube screen space position (with a little offset to be in top) + cubeScreenPosition = GetWorldToScreen(Vector3(cubePosition.x, cubePosition.y + 2.5, cubePosition.z), camera) + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawCube(cubePosition, 2.0, 2.0, 2.0, RED) + DrawCubeWires(cubePosition, 2.0, 2.0, 2.0, MAROON) + + DrawGrid(10, 1.0) + + End3dMode() + + DrawText("Enemy: 100 / 100", cubeScreenPosition.x - MeasureText("Enemy: 100 / 100", 20)//2, cubeScreenPosition.y, 20, BLACK) + DrawText("Text is always on top of the cube", (screenWidth - MeasureText("Text is always on top of the cube", 20))//2, 25, 20, GRAY) + + EndDrawing() + ------------------------------------------------------------------------------------ +end + +-- De-Initialization +---------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +---------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/models_billboard.lua b/examples/models_billboard.lua new file mode 100644 index 000000000..22f3a6c36 --- /dev/null +++ b/examples/models_billboard.lua @@ -0,0 +1,65 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [models] example - Drawing billboards +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [models] example - drawing billboards") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(5.0, 4.0, 5.0), Vector3(0.0, 2.0, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +local bill = LoadTexture("resources/billboard.png") -- Our texture billboard +local billPosition = Vector3(0.0, 2.0, 0.0) -- Position where draw billboard + +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawBillboard(camera, bill, billPosition, 2.0f, WHITE) + + DrawGrid(10, 1.0f) -- Draw a grid + + End3dMode() + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(bill) -- Unload texture + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/models_box_collisions.lua b/examples/models_box_collisions.lua new file mode 100644 index 000000000..f2cbb154d --- /dev/null +++ b/examples/models_box_collisions.lua @@ -0,0 +1,115 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [models] example - Detect basic 3d collisions (box vs sphere vs box) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [models] example - box collisions") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(0.0, 10.0, 10.0), Vector3(0.0, 0.0, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +local playerPosition = Vector3(0.0, 1.0, 2.0) +local playerSize = Vector3(1.0, 2.0, 1.0) +local playerColor = GREEN + +local enemyBoxPos = Vector3(-4.0, 1.0, 0.0) +local enemyBoxSize = Vector3(2.0, 2.0, 2.0) + +local enemySpherePos = Vector3(4.0, 0.0, 0.0) +local enemySphereSize = 1.5 + +local collision = false + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + + -- Move player + if (IsKeyDown(KEY.RIGHT)) then playerPosition.x = playerPosition.x + 0.2f end + elseif (IsKeyDown(KEY.LEFT)) then playerPosition.x = playerPosition.x - 0.2f end + elseif (IsKeyDown(KEY.DOWN)) then playerPosition.z = playerPosition.z + 0.2f end + elseif (IsKeyDown(KEY.UP)) then playerPosition.z = playerPosition.z - 0.2f end + + collision = false + + -- Check collisions player vs enemy-box + if (CheckCollisionBoxes( + BoundingBox(Vector3(playerPosition.x - playerSize.x/2, + playerPosition.y - playerSize.y/2, + playerPosition.z - playerSize.z/2), + Vector3(playerPosition.x + playerSize.x/2, + playerPosition.y + playerSize.y/2, + playerPosition.z + playerSize.z/2)), + BoundingBox(Vector3(enemyBoxPos.x - enemyBoxSize.x/2, + enemyBoxPos.y - enemyBoxSize.y/2, + enemyBoxPos.z - enemyBoxSize.z/2), + Vector3(enemyBoxPos.x + enemyBoxSize.x/2, + enemyBoxPos.y + enemyBoxSize.y/2, + enemyBoxPos.z + enemyBoxSize.z/2))) then collision = true + end + + -- Check collisions player vs enemy-sphere + if (CheckCollisionBoxSphere( + BoundingBox(Vector3(playerPosition.x - playerSize.x/2, + playerPosition.y - playerSize.y/2, + playerPosition.z - playerSize.z/2), + Vector3(playerPosition.x + playerSize.x/2, + playerPosition.y + playerSize.y/2, + playerPosition.z + playerSize.z/2)), + enemySpherePos, enemySphereSize)) then collision = true + end + + if (collision) then playerColor = RED + else playerColor = GREEN end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + -- Draw enemy-box + DrawCube(enemyBoxPos, enemyBoxSize.x, enemyBoxSize.y, enemyBoxSize.z, GRAY) + DrawCubeWires(enemyBoxPos, enemyBoxSize.x, enemyBoxSize.y, enemyBoxSize.z, DARKGRAY) + + -- Draw enemy-sphere + DrawSphere(enemySpherePos, enemySphereSize, GRAY) + DrawSphereWires(enemySpherePos, enemySphereSize, 16, 16, DARKGRAY) + + -- Draw player + DrawCubeV(playerPosition, playerSize, playerColor) + + DrawGrid(10, 1.0) -- Draw a grid + + End3dMode() + + DrawText("Move player with cursors to collide", 220, 40, 20, GRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/models_cubicmap.lua b/examples/models_cubicmap.lua new file mode 100644 index 000000000..293f1b3a4 --- /dev/null +++ b/examples/models_cubicmap.lua @@ -0,0 +1,79 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [models] example - Cubicmap loading and drawing +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [models] example - cubesmap loading and drawing") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(16.0, 14.0, 16.0), Vector3(0.0, 0.0, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +local image = LoadImage("resources/cubicmap.png") -- Load cubicmap image (RAM) +local cubicmap = LoadTextureFromImage(image) -- Convert image to texture to display (VRAM) +local map = LoadCubicmap(image) -- Load cubicmap model (generate model from image) + +-- NOTE: By default each cube is mapped to one part of texture atlas +local texture = LoadTexture("resources/cubicmap_atlas.png") -- Load map texture +map.material.texDiffuse = texture -- Set map diffuse texture + +local mapPosition = Vector3(-16.0, 0.0, -8.0) -- Set model position + +UnloadImage(image) -- Unload cubesmap image from RAM, already uploaded to VRAM + +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our custom camera position +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawModel(map, mapPosition, 1.0, WHITE) + + End3dMode() + + DrawTextureEx(cubicmap, (Vector2){ screenWidth - cubicmap.width*4 - 20, 20 }, 0.0, 4.0, WHITE) + DrawRectangleLines(screenWidth - cubicmap.width*4 - 20, 20, cubicmap.width*4, cubicmap.height*4, GREEN) + + DrawText("cubicmap image used to", 658, 90, 10, GRAY) + DrawText("generate map 3d model", 658, 104, 10, GRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(cubicmap) -- Unload cubicmap texture +UnloadTexture(texture) -- Unload map texture +UnloadModel(map) -- Unload map model + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/models_geometric_shapes.lua b/examples/models_geometric_shapes.lua new file mode 100644 index 000000000..0ce08e9f9 --- /dev/null +++ b/examples/models_geometric_shapes.lua @@ -0,0 +1,67 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [models] example - Draw some basic geometric shapes (cube, sphere, cylinder...) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [models] example - geometric shapes") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(0.0, 10.0, 10.0), Vector3(0.0, 0.0, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) -- ERROR: Lua Error: attempt to index a number value + + DrawCube(Vector3(-4.0, 0.0, 2.0), 2.0, 5.0, 2.0, RED) + DrawCubeWires(Vector3(-4.0, 0.0, 2.0), 2.0, 5.0, 2.0, GOLD) + DrawCubeWires(Vector3(-4.0, 0.0, -2.0), 3.0, 6.0, 2.0, MAROON) + + DrawSphere(Vector3(-1.0, 0.0, -2.0), 1.0, GREEN) + DrawSphereWires(Vector3(1.0, 0.0, 2.0), 2.0, 16, 16, LIME) + + DrawCylinder(Vector3(4.0, 0.0, -2.0), 1.0, 2.0, 3.0, 4, SKYBLUE) + DrawCylinderWires(Vector3(4.0, 0.0, -2.0), 1.0, 2.0, 3.0, 4, DARKBLUE) + DrawCylinderWires(Vector3(4.5, -1.0, 2.0), 1.0, 1.0, 2.0, 6, BROWN) + + DrawCylinder(Vector3(1.0, 0.0, -4.0), 0.0, 1.5, 3.0, 8, GOLD) + DrawCylinderWires(Vector3(1.0, 0.0, -4.0), 0.0, 1.5, 3.0, 8, PINK) + + DrawGrid(10, 1.0) -- Draw a grid + + End3dMode() + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/models_heightmap.lua b/examples/models_heightmap.lua new file mode 100644 index 000000000..f78e3af55 --- /dev/null +++ b/examples/models_heightmap.lua @@ -0,0 +1,73 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [models] example - Heightmap loading and drawing +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap loading and drawing") + +-- Define our custom camera to look into our 3d world +local camera = Camera(Vector3(18.0, 16.0, 18.0), Vector3(0.0, 0.0, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +local image = LoadImage("resources/heightmap.png") -- Load heightmap image (RAM) +local texture = LoadTextureFromImage(image) -- Convert image to texture (VRAM) +local map = LoadHeightmap(image, Vector3(16, 8, 16) -- Load heightmap model with defined size +map.material.texDiffuse = texture -- Set map diffuse texture +local mapPosition = Vector3(-8.0, 0.0, -8.0) -- Set model position (depends on model scaling!) + +UnloadImage(image) -- Unload heightmap image from RAM, already uploaded to VRAM + +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our custom camera position + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +---------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + -- NOTE: Model is scaled to 1/4 of its original size (128x128 units) + DrawModel(map, mapPosition, 1.0, RED) + + DrawGrid(20, 1.0) + + End3dMode() + + DrawTexture(texture, screenWidth - texture.width - 20, 20, WHITE) + DrawRectangleLines(screenWidth - texture.width - 20, 20, texture.width, texture.height, GREEN) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Unload texture +UnloadModel(map) -- Unload model + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/models_obj_loading.lua b/examples/models_obj_loading.lua new file mode 100644 index 000000000..c534ecae6 --- /dev/null +++ b/examples/models_obj_loading.lua @@ -0,0 +1,67 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [models] example - Load and draw a 3d model (OBJ) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [models] example - obj model loading") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) + +local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model +local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture +dwarf.material.texDiffuse = texture -- Set dwarf model diffuse texture +local position = Vector3(0.0, 0.0, 0.0) -- Set model position + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- ... + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawModel(dwarf, position, 2.0f, WHITE) -- Draw 3d model with texture + + DrawGrid(10, 1.0f) -- Draw a grid + + DrawGizmo(position) -- Draw gizmo + + End3dMode() + + DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, GRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Unload texture +UnloadModel(dwarf) -- Unload model + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index b21a44599..762159f39 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -28,7 +28,58 @@ int main() InitLuaDevice(); //-------------------------------------------------------------------------------------- - ExecuteLuaFile("core_basic_window.lua"); + // ExecuteLuaFile("core_basic_window.lua"); // OK! + // ExecuteLuaFile("core_input_keys.lua"); // OK! + // ExecuteLuaFile("core_input_mouse.lua"); // OK! + // ExecuteLuaFile("core_mouse_wheel.lua"); // OK! + // ExecuteLuaFile("core_input_gamepad.lua"); // OK! + // ExecuteLuaFile("core_random_values.lua"); // OK! + // ExecuteLuaFile("core_color_select.lua"); // OK! + // ExecuteLuaFile("core_drop_files.lua"); // ERROR: GetDroppedFiles() + // ExecuteLuaFile("core_storage_values.lua"); // OK! + // ExecuteLuaFile("core_gestures_detection.lua"); // OK! + // ExecuteLuaFile("core_3d_mode.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode() + // ExecuteLuaFile("core_3d_picking.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_3d_camera_free.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_3d_camera_first_person.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_2d_camera.lua"); // ERROR: Lua Error: attempt to index a number value - Begin2dMode() + // ExecuteLuaFile("core_world_screen.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_oculus_rift.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("shapes_logo_raylib.lua"); // OK! + // ExecuteLuaFile("shapes_basic_shapes.lua"); // OK! + // ExecuteLuaFile("shapes_colors_palette.lua"); // OK! + // ExecuteLuaFile("shapes_logo_raylib_anim.lua"); // OK! NOTE: Use lua string.sub() instead of raylib SubText() + // ExecuteLuaFile("textures_logo_raylib.lua"); // OK! + // ExecuteLuaFile("textures_image_loading.lua"); // OK! + // ExecuteLuaFile("textures_rectangle.lua"); // OK! + // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! + // ExecuteLuaFile("textures_to_image.lua"); // OK! + // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked + // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct + // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() + // ExecuteLuaFile("textures_image_drawing.lua"); // OK! + // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! + // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! + // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value + // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() + // ExecuteLuaFile("text_font_select.lua"); // OK! + // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() + // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) + // ExecuteLuaFile("models_box_collisions.lua"); // + // ExecuteLuaFile("models_billboard.lua"); // + // ExecuteLuaFile("models_obj_loading.lua"); // + // ExecuteLuaFile("models_heightmap.lua"); // + // ExecuteLuaFile("models_cubicmap.lua"); // + // ExecuteLuaFile("shaders_model_shader.lua"); // + // ExecuteLuaFile("shaders_shapes_textures.lua"); // + // ExecuteLuaFile("shaders_custom_uniform.lua"); // + // ExecuteLuaFile("shaders_postprocessing.lua"); // + // ExecuteLuaFile("shaders_standard_lighting.lua"); // + // ExecuteLuaFile("audio_sound_loading.lua"); // OK! + // ExecuteLuaFile("audio_music_stream.lua"); // OK! + // ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct + // ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization //-------------------------------------------------------------------------------------- diff --git a/examples/shaders_custom_uniform.lua b/examples/shaders_custom_uniform.lua new file mode 100644 index 000000000..dbb672e62 --- /dev/null +++ b/examples/shaders_custom_uniform.lua @@ -0,0 +1,115 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shaders] example - Apply a postprocessing shader and connect a custom uniform variable +-- +-- NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +-- OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version. +-- +-- NOTE: Shaders used in this example are #version 330 (OpenGL 3.3), to test this example +-- on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders +-- raylib comes with shaders ready for both versions, check raylib/shaders install folder +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x (if available) + +InitWindow(screenWidth, screenHeight, "raylib [shaders] example - custom uniform variable") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) + +local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model +local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture (diffuse map) +dwarf.material.texDiffuse = texture -- Set dwarf model diffuse texture + +local position = Vector3(0.0, 0.0, 0.0) -- Set model position + +local shader = LoadShader("resources/shaders/glsl330/base.vs", + "resources/shaders/glsl330/swirl.fs") -- Load postpro shader + +-- Get variable (uniform) location on the shader to connect with the program +-- NOTE: If uniform variable could not be found in the shader, function returns -1 +local swirlCenterLoc = GetShaderLocation(shader, "center") + +local swirlCenter = { screenWidth/2, screenHeight/2 } + +-- Create a RenderTexture2D to be used for render to texture +local target = LoadRenderTexture(screenWidth, screenHeight) + +-- Setup orbital camera +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + local mousePosition = GetMousePosition() + + swirlCenter[0] = mousePosition.x + swirlCenter[1] = screenHeight - mousePosition.y + + -- Send new value to the shader to be used on drawing + SetShaderValue(shader, swirlCenterLoc, swirlCenter, 2) + + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + BeginTextureMode(target) -- Enable drawing to texture + + Begin3dMode(camera) + + DrawModel(dwarf, position, 2.0, WHITE) -- Draw 3d model with texture + + DrawGrid(10, 1.0) -- Draw a grid + + End3dMode() + + DrawText("TEXT DRAWN IN RENDER TEXTURE", 200, 10, 30, RED) + + EndTextureMode() -- End drawing to texture (now we have a texture available for next passes) + + BeginShaderMode(shader) + + -- NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom) + DrawTextureRec(target.texture, Rectangle(0, 0, target.texture.width, -target.texture.height), Vector2(0, 0), WHITE) + + EndShaderMode() + + DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, GRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadShader(shader) -- Unload shader +UnloadTexture(texture) -- Unload texture +UnloadModel(dwarf) -- Unload model +UnloadRenderTexture(target) -- Unload render texture + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shaders_model_shader.lua b/examples/shaders_model_shader.lua new file mode 100644 index 000000000..deaca11c9 --- /dev/null +++ b/examples/shaders_model_shader.lua @@ -0,0 +1,85 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shaders] example - Apply a shader to a 3d model +-- +-- NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +-- OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version. +-- +-- NOTE: Shaders used in this example are #version 330 (OpenGL 3.3), to test this example +-- on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders +-- raylib comes with shaders ready for both versions, check raylib/shaders install folder +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x (if available) + +InitWindow(screenWidth, screenHeight, "raylib [shaders] example - model shader") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) + +local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model +local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture +local shader = LoadShader("resources/shaders/glsl330/base.vs", + "resources/shaders/glsl330/grayscale.fs") -- Load model shader + +dwarf.material.shader = shader -- Set shader effect to 3d model +dwarf.material.texDiffuse = texture -- Bind texture to model + +local position = Vector3(0.0, 0.0, 0.0) -- Set model position + +-- Setup orbital camera +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawModel(dwarf, position, 2.0, WHITE) -- Draw 3d model with texture + + DrawGrid(10, 1.0) -- Draw a grid + + End3dMode() + + DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, GRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadShader(shader) -- Unload shader +UnloadTexture(texture) -- Unload texture +UnloadModel(dwarf) -- Unload model + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shaders_postprocessing.lua b/examples/shaders_postprocessing.lua new file mode 100644 index 000000000..9e4dfa006 --- /dev/null +++ b/examples/shaders_postprocessing.lua @@ -0,0 +1,101 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shaders] example - Apply a postprocessing shader to a scene +-- +-- NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +-- OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version. +-- +-- NOTE: Shaders used in this example are #version 330 (OpenGL 3.3), to test this example +-- on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders +-- raylib comes with shaders ready for both versions, check raylib/shaders install folder +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x (if available) + +InitWindow(screenWidth, screenHeight, "raylib [shaders] example - postprocessing shader") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) + +local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model +local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture (diffuse map) +dwarf.material.texDiffuse = texture -- Set dwarf model diffuse texture + +local position = Vector3(0.0, 0.0, 0.0) -- Set model position + +local shader = LoadShader("resources/shaders/glsl330/base.vs", + "resources/shaders/glsl330/bloom.fs") -- Load postpro shader + +-- Create a RenderTexture2D to be used for render to texture +local target = LoadRenderTexture(screenWidth, screenHeight) + +-- Setup orbital camera +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + BeginTextureMode(target) -- Enable drawing to texture + + Begin3dMode(camera) + + DrawModel(dwarf, position, 2.0, WHITE) -- Draw 3d model with texture + + DrawGrid(10, 1.0) -- Draw a grid + + End3dMode() + + DrawText("HELLO POSTPROCESSING!", 70, 190, 50, RED) + + EndTextureMode() -- End drawing to texture (now we have a texture available for next passes) + + BeginShaderMode(shader) + + -- NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom) + DrawTextureRec(target.texture, Rectangle(0, 0, target.texture.width, -target.texture.height), Vector2(0, 0), WHITE) + + EndShaderMode() + + DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, DARKGRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +} + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadShader(shader) -- Unload shader +UnloadTexture(texture) -- Unload texture +UnloadModel(dwarf) -- Unload model +UnloadRenderTexture(target) -- Unload render texture + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shaders_shapes_textures.lua b/examples/shaders_shapes_textures.lua new file mode 100644 index 000000000..0adbefd2e --- /dev/null +++ b/examples/shaders_shapes_textures.lua @@ -0,0 +1,101 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shaders] example - Apply a shader to some shape or texture +-- +-- NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +-- OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version. +-- +-- NOTE: Shaders used in this example are #version 330 (OpenGL 3.3), to test this example +-- on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders +-- raylib comes with shaders ready for both versions, check raylib/shaders install folder +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders") + +local sonic = LoadTexture("resources/texture_formats/sonic.png") + +-- NOTE: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version +local shader = LoadShader("resources/shaders/glsl330/base.vs", + "resources/shaders/glsl330/grayscale.fs") + +-- Shader usage is also different than models/postprocessing, shader is just activated when required + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + -- Start drawing with default shader + + DrawText("USING DEFAULT SHADER", 20, 40, 10, RED) + + DrawCircle(80, 120, 35, DARKBLUE) + DrawCircleGradient(80, 220, 60, GREEN, SKYBLUE) + DrawCircleLines(80, 340, 80, DARKBLUE) + + + -- Activate our custom shader to be applied on next shapes/textures drawings + BeginShaderMode(shader) + + DrawText("USING CUSTOM SHADER", 190, 40, 10, RED) + + DrawRectangle(250 - 60, 90, 120, 60, RED) + DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD) + DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE) + + -- Activate our default shader for next drawings + EndShaderMode() + + DrawText("USING DEFAULT SHADER", 370, 40, 10, RED) + + DrawTriangle(Vector2(430, 80), + Vector2(430 - 60, 150), + Vector2(430 + 60, 150), VIOLET) + + DrawTriangleLines(Vector2(430, 160), + Vector2(430 - 20, 230), + Vector2(430 + 20, 230), DARKBLUE) + + DrawPoly(Vector2(430, 320), 6, 80, 0, BROWN) + + -- Activate our custom shader to be applied on next shapes/textures drawings + BeginShaderMode(shader) + + DrawTexture(sonic, 380, -10, WHITE) -- Using custom shader + + -- Activate our default shader for next drawings + EndShaderMode() + + EndDrawing() + --------------------------------------------------------------------------------------- +} + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadShader(shader) -- Unload shader +UnloadTexture(sonic) -- Unload texture + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shaders_standard_lighting.lua b/examples/shaders_standard_lighting.lua new file mode 100644 index 000000000..e8171a5f4 --- /dev/null +++ b/examples/shaders_standard_lighting.lua @@ -0,0 +1,114 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shaders] example - Standard lighting (materials and lights) +-- +-- NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +-- OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version. +-- +-- NOTE: Shaders used in this example are #version 330 (OpenGL 3.3), to test this example +-- on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders +-- raylib comes with shaders ready for both versions, check raylib/shaders install folder +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x (if available) + +InitWindow(screenWidth, screenHeight, "raylib [shaders] example - model shader") + +-- Define the camera to look into our 3d world +local camera = Camera(Vector3(4.0, 4.0, 4.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) +local position = Vector3(0.0, 0.0, 0.0) -- Set model position + +local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model + +local material = LoadStandardMaterial() + +material.texDiffuse = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model diffuse texture +material.texNormal = LoadTexture("resources/model/dwarf_normal.png") -- Load model normal texture +material.texSpecular = LoadTexture("resources/model/dwarf_specular.png") -- Load model specular texture +material.colDiffuse = WHITE +material.colAmbient = (Color){0, 0, 10, 255} +material.colSpecular = WHITE +material.glossiness = 50.0f + +dwarf.material = material -- Apply material to model + +local spotLight = CreateLight(LIGHT_SPOT, (Vector3){3.0f, 5.0f, 2.0f}, (Color){255, 255, 255, 255}) +spotLight->target = (Vector3){0.0f, 0.0f, 0.0f} +spotLight->intensity = 2.0f +spotLight->diffuse = (Color){255, 100, 100, 255} +spotLight->coneAngle = 60.0f + +local dirLight = CreateLight(LIGHT_DIRECTIONAL, (Vector3){0.0f, -3.0f, -3.0f}, (Color){255, 255, 255, 255}) +dirLight->target = (Vector3){1.0f, -2.0f, -2.0f} +dirLight->intensity = 2.0f +dirLight->diffuse = (Color){100, 255, 100, 255} + +local pointLight = CreateLight(LIGHT_POINT, (Vector3){0.0f, 4.0f, 5.0f}, (Color){255, 255, 255, 255}) +pointLight->intensity = 2.0f +pointLight->diffuse = (Color){100, 100, 255, 255} +pointLight->radius = 3.0f + +-- Setup orbital camera +SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraPosition(camera.position) -- Set internal camera position to match our camera position +SetCameraTarget(camera.target) -- Set internal camera target to match our camera target + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + UpdateCamera(&camera) -- Update internal camera and our camera + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + Begin3dMode(camera) + + DrawModel(dwarf, position, 2.0, WHITE) -- Draw 3d model with texture + + DrawLight(spotLight) -- Draw spot light + DrawLight(dirLight) -- Draw directional light + DrawLight(pointLight) -- Draw point light + + DrawGrid(10, 1.0) -- Draw a grid + + End3dMode() + + DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, GRAY) + + DrawFPS(10, 10) + + EndDrawing() + --------------------------------------------------------------------------------------- +} + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadMaterial(material) -- Unload material and assigned textures +UnloadModel(dwarf) -- Unload model + +-- Destroy all created lights +DestroyLight(pointLight) +DestroyLight(dirLight) +DestroyLight(spotLight) + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shapes_basic_shapes.lua b/examples/shapes_basic_shapes.lua new file mode 100644 index 000000000..cc943ba34 --- /dev/null +++ b/examples/shapes_basic_shapes.lua @@ -0,0 +1,64 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shapes] example - Draw basic shapes 2d (rectangle, circle, line...) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [shapes] example - basic shapes drawing") + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("some basic shapes available on raylib", 20, 20, 20, DARKGRAY) + + DrawLine(18, 42, screenWidth - 18, 42, BLACK) + + DrawCircle(screenWidth/4, 120, 35, DARKBLUE) + DrawCircleGradient(screenWidth/4, 220, 60, GREEN, SKYBLUE) + DrawCircleLines(screenWidth/4, 340, 80, DARKBLUE) + + DrawRectangle(screenWidth/4*2 - 60, 100, 120, 60, RED) + DrawRectangleGradient(screenWidth/4*2 - 90, 170, 180, 130, MAROON, GOLD) + DrawRectangleLines(screenWidth/4*2 - 40, 320, 80, 60, ORANGE) + + DrawTriangle(Vector2(screenWidth/4*3, 80), + Vector2(screenWidth/4*3 - 60, 150), + Vector2(screenWidth/4*3 + 60, 150), VIOLET) + + DrawTriangleLines(Vector2(screenWidth/4*3, 160), + Vector2(screenWidth/4*3 - 20, 230), + Vector2(screenWidth/4*3 + 20, 230), DARKBLUE) + + DrawPoly(Vector2(screenWidth/4*3, 320), 6, 80, 0, BROWN) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shapes_colors_palette.lua b/examples/shapes_colors_palette.lua new file mode 100644 index 000000000..e884cd3ea --- /dev/null +++ b/examples/shapes_colors_palette.lua @@ -0,0 +1,89 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shapes] example - Draw raylib custom color palette +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib color palette") + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("raylib color palette", 28, 42, 20, BLACK) + + DrawRectangle(26, 80, 100, 100, DARKGRAY) + DrawRectangle(26, 188, 100, 100, GRAY) + DrawRectangle(26, 296, 100, 100, LIGHTGRAY) + DrawRectangle(134, 80, 100, 100, MAROON) + DrawRectangle(134, 188, 100, 100, RED) + DrawRectangle(134, 296, 100, 100, PINK) + DrawRectangle(242, 80, 100, 100, ORANGE) + DrawRectangle(242, 188, 100, 100, GOLD) + DrawRectangle(242, 296, 100, 100, YELLOW) + DrawRectangle(350, 80, 100, 100, DARKGREEN) + DrawRectangle(350, 188, 100, 100, LIME) + DrawRectangle(350, 296, 100, 100, GREEN) + DrawRectangle(458, 80, 100, 100, DARKBLUE) + DrawRectangle(458, 188, 100, 100, BLUE) + DrawRectangle(458, 296, 100, 100, SKYBLUE) + DrawRectangle(566, 80, 100, 100, DARKPURPLE) + DrawRectangle(566, 188, 100, 100, VIOLET) + DrawRectangle(566, 296, 100, 100, PURPLE) + DrawRectangle(674, 80, 100, 100, DARKBROWN) + DrawRectangle(674, 188, 100, 100, BROWN) + DrawRectangle(674, 296, 100, 100, BEIGE) + + + DrawText("DARKGRAY", 65, 166, 10, BLACK) + DrawText("GRAY", 93, 274, 10, BLACK) + DrawText("LIGHTGRAY", 61, 382, 10, BLACK) + DrawText("MAROON", 186, 166, 10, BLACK) + DrawText("RED", 208, 274, 10, BLACK) + DrawText("PINK", 204, 382, 10, BLACK) + DrawText("ORANGE", 295, 166, 10, BLACK) + DrawText("GOLD", 310, 274, 10, BLACK) + DrawText("YELLOW", 300, 382, 10, BLACK) + DrawText("DARKGREEN", 382, 166, 10, BLACK) + DrawText("LIME", 420, 274, 10, BLACK) + DrawText("GREEN", 410, 382, 10, BLACK) + DrawText("DARKBLUE", 498, 166, 10, BLACK) + DrawText("BLUE", 526, 274, 10, BLACK) + DrawText("SKYBLUE", 505, 382, 10, BLACK) + DrawText("DARKPURPLE", 592, 166, 10, BLACK) + DrawText("VIOLET", 621, 274, 10, BLACK) + DrawText("PURPLE", 620, 382, 10, BLACK) + DrawText("DARKBROWN", 705, 166, 10, BLACK) + DrawText("BROWN", 733, 274, 10, BLACK) + DrawText("BEIGE", 737, 382, 10, BLACK) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shapes_logo_raylib.lua b/examples/shapes_logo_raylib.lua new file mode 100644 index 000000000..4e7f18c42 --- /dev/null +++ b/examples/shapes_logo_raylib.lua @@ -0,0 +1,48 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shapes] example - Draw raylib logo using basic shapes +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib logo using shapes") + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawRectangle(screenWidth/2 - 128, screenHeight/2 - 128, 256, 256, BLACK) + DrawRectangle(screenWidth/2 - 112, screenHeight/2 - 112, 224, 224, RAYWHITE) + DrawText("raylib", screenWidth/2 - 44, screenHeight/2 + 48, 50, BLACK) + + DrawText("this is NOT a texture!", 350, 370, 10, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shapes_logo_raylib_anim.lua b/examples/shapes_logo_raylib_anim.lua new file mode 100644 index 000000000..c6c449956 --- /dev/null +++ b/examples/shapes_logo_raylib_anim.lua @@ -0,0 +1,127 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [shapes] example - raylib logo animation +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib logo animation") + +local logoPositionX = screenWidth/2 - 128 +local logoPositionY = screenHeight/2 - 128 + +local framesCounter = 0 +local lettersCount = 0 + +local topSideRecWidth = 16 +local leftSideRecHeight = 16 + +local bottomSideRecWidth = 16 +local rightSideRecHeight = 16 + +local state = 0 -- Tracking animation states (State Machine) +local alpha = 1.0 -- Useful for fading + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (state == 0) then -- State 0: Small box blinking + framesCounter = framesCounter + 1 + + if (framesCounter == 120) then + state = 1 + framesCounter = 0 -- Reset counter... will be used later... + end + elseif (state == 1) then -- State 1: Top and left bars growing + topSideRecWidth = topSideRecWidth + 4 + leftSideRecHeight = leftSideRecHeight + 4 + + if (topSideRecWidth == 256) then state = 2 end + elseif (state == 2) then -- State 2: Bottom and right bars growing + bottomSideRecWidth = bottomSideRecWidth + 4 + rightSideRecHeight = rightSideRecHeight + 4 + + if (bottomSideRecWidth == 256) then state = 3 end + elseif (state == 3) then -- State 3: Letters appearing (one by one) + framesCounter = framesCounter + 1 + + if (framesCounter//12 == 1) then -- Every 12 frames, one more letter! + lettersCount = lettersCount + 1 + framesCounter = 0 + end + + if (lettersCount >= 10) then -- When all letters have appeared, just fade out everything + alpha = alpha - 0.02 + + if (alpha <= 0.0) then + alpha = 0.0 + state = 4 + end + end + elseif (state == 4) then -- State 4: Reset and Replay + if (IsKeyPressed(KEY.R)) then + framesCounter = 0 + lettersCount = 0 + + topSideRecWidth = 16 + leftSideRecHeight = 16 + + bottomSideRecWidth = 16 + rightSideRecHeight = 16 + + alpha = 1.0 + state = 0 -- Return to State 0 + end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + if (state == 0) then + if ((framesCounter//15)%2 == 1) then DrawRectangle(logoPositionX, logoPositionY, 16, 16, BLACK) end + elseif (state == 1) then + DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, BLACK) + DrawRectangle(logoPositionX, logoPositionY, 16, leftSideRecHeight, BLACK) + elseif (state == 2) then + DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, BLACK) + DrawRectangle(logoPositionX, logoPositionY, 16, leftSideRecHeight, BLACK) + + DrawRectangle(logoPositionX + 240, logoPositionY, 16, rightSideRecHeight, BLACK) + DrawRectangle(logoPositionX, logoPositionY + 240, bottomSideRecWidth, 16, BLACK) + elseif (state == 3) then + DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, Fade(BLACK, alpha)) + DrawRectangle(logoPositionX, logoPositionY + 16, 16, leftSideRecHeight - 32, Fade(BLACK, alpha)) + + DrawRectangle(logoPositionX + 240, logoPositionY + 16, 16, rightSideRecHeight - 32, Fade(BLACK, alpha)) + DrawRectangle(logoPositionX, logoPositionY + 240, bottomSideRecWidth, 16, Fade(BLACK, alpha)) + + DrawRectangle(screenWidth/2 - 112, screenHeight/2 - 112, 224, 224, Fade(RAYWHITE, alpha)) + + DrawText(string.sub("raylib", 0, lettersCount), screenWidth/2 - 44, screenHeight/2 + 48, 50, Fade(BLACK, alpha)) + elseif (state == 4) then DrawText("[R] REPLAY", 340, 200, 20, GRAY) end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/text_bmfont_ttf.lua b/examples/text_bmfont_ttf.lua new file mode 100644 index 000000000..3b8bf0042 --- /dev/null +++ b/examples/text_bmfont_ttf.lua @@ -0,0 +1,59 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [text] example - BMFont and TTF SpriteFonts loading +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [text] example - bmfont and ttf sprite fonts loading") + +local msgBm = "THIS IS AN AngelCode SPRITE FONT" +local msgTtf = "THIS FONT has been GENERATED from TTF" + +-- NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) +local fontBm = LoadSpriteFont("resources/fonts/bmfont.fnt") -- BMFont (AngelCode) +local fontTtf = LoadSpriteFont("resources/fonts/pixantiqua.ttf") -- TTF font + +local fontPosition = Vector2(0, 0) +fontPosition.x = screenWidth/2 - MeasureTextEx(fontBm, msgBm, fontBm.size, 0).x/2 +fontPosition.y = screenHeight/2 - fontBm.size/2 - 80 + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update variables here... + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTextEx(fontBm, msgBm, fontPosition, fontBm.size, 0, MAROON) + DrawTextEx(fontTtf, msgTtf, Vector2(60.0, 240.0), fontTtf.size, 2, LIME) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadSpriteFont(fontBm) -- AngelCode SpriteFont unloading +UnloadSpriteFont(fontTtf) -- TTF SpriteFont unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/text_font_select.lua b/examples/text_font_select.lua new file mode 100644 index 000000000..e04f60243 --- /dev/null +++ b/examples/text_font_select.lua @@ -0,0 +1,143 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [text] example - Font selector +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [text] example - font selector") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) +local fonts = {} -- SpriteFont array + +fonts[1] = LoadSpriteFont("resources/fonts/alagard.rbmf") -- SpriteFont loading +fonts[2] = LoadSpriteFont("resources/fonts/pixelplay.rbmf") -- SpriteFont loading +fonts[3] = LoadSpriteFont("resources/fonts/mecha.rbmf") -- SpriteFont loading +fonts[4] = LoadSpriteFont("resources/fonts/setback.rbmf") -- SpriteFont loading +fonts[5] = LoadSpriteFont("resources/fonts/romulus.rbmf") -- SpriteFont loading +fonts[6] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf") -- SpriteFont loading +fonts[7] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf") -- SpriteFont loading +fonts[8] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf") -- SpriteFont loading + +local currentFont = 1 -- Selected font + +local colors = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED } + +local fontNames = { "[1] Alagard", "[2] PixelPlay", "[3] MECHA", "[4] Setback", + "[5] Romulus", "[6] PixAntiqua", "[7] Alpha Beta", "[8] Jupiter Crash" } + +local text = "THIS is THE FONT you SELECTED!" -- Main text + +local textSize = MeasureTextEx(fonts[currentFont], text, fonts[currentFont].size*3, 1) + +local mousePoint + +local btnNextOutColor = DARKBLUE -- Button color (outside line) +local btnNextInColor = SKYBLUE -- Button color (inside) + +local framesCounter = 0 -- Useful to count frames button is 'active' = clicked + +local positionY = 180 -- Text selector and button Y position + +local btnNextRec = Rectangle(673, positionY, 109, 44) -- Button rectangle (useful for collision) + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + + -- Keyboard-based font selection (easy) + if (IsKeyPressed(KEY.RIGHT)) then + if (currentFont < 8) then currentFont = currentFont + 1 end + end + + if (IsKeyPressed(KEY.LEFT)) then + if (currentFont > 1) then currentFont = currentFont - 1 end + end + + if (IsKeyPressed(KEY.ZERO)) then currentFont = 0 + elseif (IsKeyPressed(KEY.ONE)) then currentFont = 1 + elseif (IsKeyPressed(KEY.TWO)) then currentFont = 2 + elseif (IsKeyPressed(KEY.THREE)) then currentFont = 3 + elseif (IsKeyPressed(KEY.FOUR)) then currentFont = 4 + elseif (IsKeyPressed(KEY.FIVE)) then currentFont = 5 + elseif (IsKeyPressed(KEY.SIX)) then currentFont = 6 + elseif (IsKeyPressed(KEY.SEVEN)) then currentFont = 7 + end + + -- Mouse-based font selection (NEXT button logic) + mousePoint = GetMousePosition() + + if (CheckCollisionPointRec(mousePoint, btnNextRec)) then + -- Mouse hover button logic + if (framesCounter == 0) then + btnNextOutColor = DARKPURPLE + btnNextInColor = PURPLE + end + + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) then + framesCounter = 20 -- Frames button is 'active' + btnNextOutColor = MAROON + btnNextInColor = RED + end + else + -- Mouse not hover button + btnNextOutColor = DARKBLUE + btnNextInColor = SKYBLUE + end + + if (framesCounter > 0) then framesCounter = framesCounter - 1 end + + if (framesCounter == 1) then -- We change font on frame 1 + currentFont = currentFont + 1 + if (currentFont > 7) then currentFont = 0 end + end + + -- Text measurement for better positioning on screen + textSize = MeasureTextEx(fonts[currentFont], text, fonts[currentFont].size*3, 1) + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("font selector - use arroys, button or numbers", 160, 80, 20, DARKGRAY) + DrawLine(120, 120, 680, 120, DARKGRAY) + + DrawRectangle(18, positionY, 644, 44, DARKGRAY) + DrawRectangle(20, positionY + 2, 640, 40, LIGHTGRAY) + DrawText(fontNames[currentFont], 30, positionY + 13, 20, BLACK) + DrawText("< >", 610, positionY + 8, 30, BLACK) + + DrawRectangleRec(btnNextRec, btnNextOutColor) + DrawRectangle(675, positionY + 2, 105, 40, btnNextInColor) + DrawText("NEXT", 700, positionY + 13, 20, btnNextOutColor) + + DrawTextEx(fonts[currentFont], text, Vector2(screenWidth/2 - textSize.x/2, + 260 + (70 - textSize.y)/2), fonts[currentFont].size*3, + 1, colors[currentFont]) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +for i = 1, 8 do UnloadSpriteFont(fonts[i]) end -- SpriteFont(s) unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/text_format_text.lua b/examples/text_format_text.lua new file mode 100644 index 000000000..ba121db31 --- /dev/null +++ b/examples/text_format_text.lua @@ -0,0 +1,54 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [text] example - Text formatting +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [text] example - text formatting") + +local score = 100020 +local hiscore = 200450 +local lives = 5 + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText(string.format("Score: %08i", score), 200, 80, 20, RED) + + DrawText(string.format("HiScore: %08i", hiscore), 200, 120, 20, GREEN) + + DrawText(string.format("Lives: %02i", lives), 200, 160, 40, BLUE) + + DrawText(string.format("Elapsed Time: %02.02f ms", GetFrameTime()*1000), 200, 220, 20, BLACK) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/text_rbmf_fonts.lua b/examples/text_rbmf_fonts.lua new file mode 100644 index 000000000..d89e40715 --- /dev/null +++ b/examples/text_rbmf_fonts.lua @@ -0,0 +1,87 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [text] example - raylib bitmap font (rbmf) loading and usage +-- +-- NOTE: raylib is distributed with some free to use fonts (even for commercial pourposes!) +-- To view details and credits for those fonts, check raylib license file +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [text] example - rBMF fonts") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) +local fonts = {} + +fonts[1] = LoadSpriteFont("resources/fonts/alagard.rbmf") -- rBMF font loading +fonts[2] = LoadSpriteFont("resources/fonts/pixelplay.rbmf") -- rBMF font loading +fonts[3] = LoadSpriteFont("resources/fonts/mecha.rbmf") -- rBMF font loading +fonts[4] = LoadSpriteFont("resources/fonts/setback.rbmf") -- rBMF font loading +fonts[5] = LoadSpriteFont("resources/fonts/romulus.rbmf") -- rBMF font loading +fonts[6] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf") -- rBMF font loading +fonts[7] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf") -- rBMF font loading +fonts[8] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf") -- rBMF font loading + +local messages = { "ALAGARD FONT designed by Hewett Tsoi", + "PIXELPLAY FONT designed by Aleksander Shevchuk", + "MECHA FONT designed by Captain Falcon", + "SETBACK FONT designed by Brian Kent (AEnigma)", + "ROMULUS FONT designed by Hewett Tsoi", + "PIXANTIQUA FONT designed by Gerhard Grossmann", + "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", + "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" } + +local spacings = { 2, 4, 8, 4, 3, 4, 4, 1 } + +local positions = {} + +for i = 1, 8 do + positions[i] = Vector2(0, 0) + positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].size*2, spacings[i]).x/2 + positions[i].y = 60 + fonts[i].size + 50*i +end + +local colors = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD } + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY) + DrawLine(220, 50, 590, 50, DARKGRAY) + + for i = 1, 8 do + DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].size*2, spacings[i], colors[i]) + end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +for i = 1, 8 do UnloadSpriteFont(fonts[i]) end -- SpriteFont unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/text_sprite_fonts.lua b/examples/text_sprite_fonts.lua new file mode 100644 index 000000000..341e2ffe2 --- /dev/null +++ b/examples/text_sprite_fonts.lua @@ -0,0 +1,72 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [text] example - SpriteFont loading and usage +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [text] example - sprite fonts usage") + +local msg1 = "THIS IS A custom SPRITE FONT..." +local msg2 = "...and this is ANOTHER CUSTOM font..." +local msg3 = "...and a THIRD one! GREAT! :D" + +-- NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) +local font1 = LoadSpriteFont("resources/fonts/custom_mecha.png") -- SpriteFont loading +local font2 = LoadSpriteFont("resources/fonts/custom_alagard.png") -- SpriteFont loading +local font3 = LoadSpriteFont("resources/fonts/custom_jupiter_crash.png") -- SpriteFont loading + +local fontPosition1 = Vector2(0, 0) +local fontPosition2 = Vector2(0, 0) +local fontPosition3 = Vector2(0, 0) + +fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, font1.size, -3).x/2 +fontPosition1.y = screenHeight/2 - font1.size/2 - 80 + +fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, font2.size, -2).x/2 +fontPosition2.y = screenHeight/2 - font2.size/2 - 10 + +fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, font3.size, 2).x/2 +fontPosition3.y = screenHeight/2 - font3.size/2 + 50 + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update variables here... + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTextEx(font1, msg1, fontPosition1, font1.size, -3, WHITE) + DrawTextEx(font2, msg2, fontPosition2, font2.size, -2, WHITE) + DrawTextEx(font3, msg3, fontPosition3, font3.size, 2, WHITE) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadSpriteFont(font1) -- SpriteFont unloading +UnloadSpriteFont(font2) -- SpriteFont unloading +UnloadSpriteFont(font3) -- SpriteFont unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/text_writing_anim.lua b/examples/text_writing_anim.lua new file mode 100644 index 000000000..37f1efbad --- /dev/null +++ b/examples/text_writing_anim.lua @@ -0,0 +1,52 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [text] example - Text Writing Animation +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [text] example - text writing anim") + +local message = "This sample illustrates a text writing\nanimation effect! Check it out! )" + +local framesCounter = 0 + +SetTargetFPS(60) -- Set target frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + framesCounter = framesCounter + 1 + + if (IsKeyPressed(KEY.ENTER)) then framesCounter = 0 end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText(SubText(message, 0, framesCounter/10), 210, 160, 20, MAROON) + + DrawText("PRESS [ENTER] to RESTART!", 240, 280, 20, LIGHTGRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_formats_loading.lua b/examples/textures_formats_loading.lua new file mode 100644 index 000000000..1ce10492d --- /dev/null +++ b/examples/textures_formats_loading.lua @@ -0,0 +1,217 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - texture formats loading (compressed and uncompressed) +-- +-- NOTE: This example requires raylib OpenGL 3.3+ or ES2 versions for compressed textures, +-- OpenGL 1.1 does not support compressed textures, only uncompressed ones. +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +NUM_TEXTURES = 24 + +PNG_R8G8B8A8 = 1 +PVR_GRAYSCALE = 2 +PVR_GRAY_ALPHA = 3 +PVR_R5G6B5 = 4 +PVR_R5G5B5A1 = 5 +PVR_R4G4B4A4 = 6 +DDS_R5G6B5 = 7 +DDS_R5G5B5A1 = 8 +DDS_R4G4B4A4 = 9 +DDS_R8G8B8A8 = 10 +DDS_DXT1_RGB = 11 +DDS_DXT1_RGBA = 12 +DDS_DXT3_RGBA = 13 +DDS_DXT5_RGBA = 14 +PKM_ETC1_RGB = 15 +PKM_ETC2_RGB = 16 +PKM_ETC2_EAC_RGBA = 17 +KTX_ETC1_RGB = 18 +KTX_ETC2_RGB = 19 +KTX_ETC2_EAC_RGBA = 20 +ASTC_4x4_LDR = 21 +ASTC_8x8_LDR = 22 +PVR_PVRT_RGB = 23 +PVR_PVRT_RGBA = 24 + +local formatText = { + "PNG_R8G8B8A8", + "PVR_GRAYSCALE", + "PVR_GRAY_ALPHA", + "PVR_R5G6B5", + "PVR_R5G5B5A1", + "PVR_R4G4B4A4", + "DDS_R5G6B5", + "DDS_R5G5B5A1", + "DDS_R4G4B4A4", + "DDS_R8G8B8A8", + "DDS_DXT1_RGB", + "DDS_DXT1_RGBA", + "DDS_DXT3_RGBA", + "DDS_DXT5_RGBA", + "PKM_ETC1_RGB", + "PKM_ETC2_RGB", + "PKM_ETC2_EAC_RGBA", + "KTX_ETC1_RGB", + "KTX_ETC2_RGB", + "KTX_ETC2_EAC_RGBA", + "ASTC_4x4_LDR", + "ASTC_8x8_LDR", + "PVR_PVRT_RGB", + "PVR_PVRT_RGBA" +} + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture formats loading") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +local sonic = {} + +sonic[PNG_R8G8B8A8] = LoadTexture("resources/texture_formats/sonic.png") + +-- Load UNCOMPRESSED PVR texture data +sonic[PVR_GRAYSCALE] = LoadTexture("resources/texture_formats/sonic_GRAYSCALE.pvr") +sonic[PVR_GRAY_ALPHA] = LoadTexture("resources/texture_formats/sonic_L8A8.pvr") +sonic[PVR_R5G6B5] = LoadTexture("resources/texture_formats/sonic_R5G6B5.pvr") +sonic[PVR_R5G5B5A1] = LoadTexture("resources/texture_formats/sonic_R5G5B5A1.pvr") +sonic[PVR_R4G4B4A4] = LoadTexture("resources/texture_formats/sonic_R4G4B4A4.pvr") + +-- Load UNCOMPRESSED DDS texture data +sonic[DDS_R5G6B5] = LoadTexture("resources/texture_formats/sonic_R5G6B5.dds") +sonic[DDS_R5G5B5A1] = LoadTexture("resources/texture_formats/sonic_A1R5G5B5.dds") +sonic[DDS_R4G4B4A4] = LoadTexture("resources/texture_formats/sonic_A4R4G4B4.dds") +sonic[DDS_R8G8B8A8] = LoadTexture("resources/texture_formats/sonic_A8R8G8B8.dds") + +-- Load COMPRESSED DXT DDS texture data (if supported) +sonic[DDS_DXT1_RGB] = LoadTexture("resources/texture_formats/sonic_DXT1_RGB.dds") +sonic[DDS_DXT1_RGBA] = LoadTexture("resources/texture_formats/sonic_DXT1_RGBA.dds") +sonic[DDS_DXT3_RGBA] = LoadTexture("resources/texture_formats/sonic_DXT3_RGBA.dds") +sonic[DDS_DXT5_RGBA] = LoadTexture("resources/texture_formats/sonic_DXT5_RGBA.dds") + +-- Load COMPRESSED ETC texture data (if supported) +sonic[PKM_ETC1_RGB] = LoadTexture("resources/texture_formats/sonic_ETC1_RGB.pkm") +sonic[PKM_ETC2_RGB] = LoadTexture("resources/texture_formats/sonic_ETC2_RGB.pkm") +sonic[PKM_ETC2_EAC_RGBA] = LoadTexture("resources/texture_formats/sonic_ETC2_EAC_RGBA.pkm") + +sonic[KTX_ETC1_RGB] = LoadTexture("resources/texture_formats/sonic_ETC1_RGB.ktx") +sonic[KTX_ETC2_RGB] = LoadTexture("resources/texture_formats/sonic_ETC2_RGB.ktx") +sonic[KTX_ETC2_EAC_RGBA] = LoadTexture("resources/texture_formats/sonic_ETC2_EAC_RGBA.ktx") + +-- Load COMPRESSED ASTC texture data (if supported) +sonic[ASTC_4x4_LDR] = LoadTexture("resources/texture_formats/sonic_ASTC_4x4_ldr.astc") +sonic[ASTC_8x8_LDR] = LoadTexture("resources/texture_formats/sonic_ASTC_8x8_ldr.astc") + +-- Load COMPRESSED PVR texture data (if supported) +sonic[PVR_PVRT_RGB] = LoadTexture("resources/texture_formats/sonic_PVRT_RGB.pvr") +sonic[PVR_PVRT_RGBA] = LoadTexture("resources/texture_formats/sonic_PVRT_RGBA.pvr") + +local selectedFormat = PNG_R8G8B8A8 + +local selectRecs = {} + +for i = 1, NUM_TEXTURES do + if ((i - 1) < NUM_TEXTURES//2) then selectRecs[i] = Rectangle(40, 30 + 32*(i - 1), 150, 30) + else selectRecs[i] = Rectangle(40 + 152, 30 + 32*((i - 1) - NUM_TEXTURES//2), 150, 30) end +end + +-- Texture sizes in KB +local textureSizes = { + 512*512*32/8/1024, --PNG_R8G8B8A8 (32 bpp) + 512*512*8/8/1024, --PVR_GRAYSCALE (8 bpp) + 512*512*16/8/1024, --PVR_GRAY_ALPHA (16 bpp) + 512*512*16/8/1024, --PVR_R5G6B5 (16 bpp) + 512*512*16/8/1024, --PVR_R5G5B5A1 (16 bpp) + 512*512*16/8/1024, --PVR_R4G4B4A4 (16 bpp) + 512*512*16/8/1024, --DDS_R5G6B5 (16 bpp) + 512*512*16/8/1024, --DDS_R5G5B5A1 (16 bpp) + 512*512*16/8/1024, --DDS_R4G4B4A4 (16 bpp) + 512*512*32/8/1024, --DDS_R8G8B8A8 (32 bpp) + 512*512*4/8/1024, --DDS_DXT1_RGB (4 bpp) -Compressed- + 512*512*4/8/1024, --DDS_DXT1_RGBA (4 bpp) -Compressed- + 512*512*8/8/1024, --DDS_DXT3_RGBA (8 bpp) -Compressed- + 512*512*8/8/1024, --DDS_DXT5_RGBA (8 bpp) -Compressed- + 512*512*4/8/1024, --PKM_ETC1_RGB (4 bpp) -Compressed- + 512*512*4/8/1024, --PKM_ETC2_RGB (4 bpp) -Compressed- + 512*512*8/8/1024, --PKM_ETC2_EAC_RGBA (8 bpp) -Compressed- + 512*512*4/8/1024, --KTX_ETC1_RGB (4 bpp) -Compressed- + 512*512*4/8/1024, --KTX_ETC2_RGB (4 bpp) -Compressed- + 512*512*8/8/1024, --KTX_ETC2_EAC_RGBA (8 bpp) -Compressed- + 512*512*8/8/1024, --ASTC_4x4_LDR (8 bpp) -Compressed- + 512*512*2/8/1024, --ASTC_8x8_LDR (2 bpp) -Compressed- + 512*512*4/8/1024, --PVR_PVRT_RGB (4 bpp) -Compressed- + 512*512*4/8/1024, --PVR_PVRT_RGBA (4 bpp) -Compressed- +} + +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyPressed(KEY.DOWN)) then + selectedFormat = selectedFormat + 1 + if (selectedFormat > NUM_TEXTURES) then selectedFormat = 1 end + elseif (IsKeyPressed(KEY.UP)) then + selectedFormat = selectedFormat - 1 + if (selectedFormat < 1) then selectedFormat = NUM_TEXTURES end + elseif (IsKeyPressed(KEY.RIGHT)) then + if (selectedFormat < NUM_TEXTURES//2) then selectedFormat = selectedFormat + NUM_TEXTURES//2 end + elseif (IsKeyPressed(KEY.LEFT)) then + if (selectedFormat > NUM_TEXTURES//2) then selectedFormat = selectedFormat - NUM_TEXTURES//2 end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + + BeginDrawing() + + ClearBackground(RAYWHITE) + + -- Draw rectangles + for i = 1, NUM_TEXTURES do + if (i == selectedFormat) then + DrawRectangleRec(selectRecs[i], SKYBLUE) + DrawRectangleLines(selectRecs[i].x, selectRecs[i].y, selectRecs[i].width, selectRecs[i].height, BLUE) + DrawText(formatText[i], selectRecs[i].x + selectRecs[i].width/2 - MeasureText(formatText[i], 10)//2, selectRecs[i].y + 11, 10, DARKBLUE) + else + DrawRectangleRec(selectRecs[i], LIGHTGRAY) + DrawRectangleLines(selectRecs[i].x, selectRecs[i].y, selectRecs[i].width, selectRecs[i].height, GRAY) + DrawText(formatText[i], selectRecs[i].x + selectRecs[i].width/2 - MeasureText(formatText[i], 10)//2, selectRecs[i].y + 11, 10, DARKGRAY) + end + end + + -- Draw selected texture + if (sonic[selectedFormat].id ~= 0) then DrawTexture(sonic[selectedFormat], 350, -10, WHITE) + else + DrawRectangleLines(488, 165, 200, 110, DARKGRAY) + DrawText("FORMAT", 550, 180, 20, MAROON) + DrawText("NOT SUPPORTED", 500, 210, 20, MAROON) + DrawText("ON YOUR GPU", 520, 240, 20, MAROON) + end + + DrawText("Select texture format (use cursor keys):", 40, 10, 10, DARKGRAY) + DrawText("Required GPU memory size (VRAM):", 40, 427, 10, DARKGRAY) + DrawText(string.format("%4.0f KB", textureSizes[selectedFormat]), 240, 420, 20, DARKBLUE) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +for i = 1, NUM_TEXTURES do UnloadTexture(sonic[i]) end + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_image_drawing.lua b/examples/textures_image_drawing.lua new file mode 100644 index 000000000..0261b2432 --- /dev/null +++ b/examples/textures_image_drawing.lua @@ -0,0 +1,70 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Image loading and drawing on it +-- +-- NOTE: Images are loaded in CPU memory (RAM) textures are loaded in GPU memory (VRAM) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - image drawing") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +local cat = LoadImage("resources/cat.png") -- Load image in CPU memory (RAM) +cat = ImageCrop(cat, Rectangle(100, 10, 280, 380)) -- Crop an image piece +cat = ImageFlipHorizontal(cat) -- Flip cropped image horizontally +cat = ImageResize(cat, 150, 200) -- Resize flipped-cropped image + +local parrots = LoadImage("resources/parrots.png") -- Load image in CPU memory (RAM) + +-- Draw one image over the other with a scaling of 1.5f +parrots = ImageDraw(parrots, cat, Rectangle(0, 0, cat.width, cat.height), Rectangle(30, 40, cat.width*1.5, cat.height*1.5)) +parrots = ImageCrop(parrots, Rectangle(0, 50, parrots.width, parrots.height - 100)) -- Crop resulting image + +UnloadImage(cat) -- Unload image from RAM + +local texture = LoadTextureFromImage(parrots) -- Image converted to texture, uploaded to GPU memory (VRAM) +UnloadImage(parrots) -- Once image has been converted to texture and uploaded to VRAM, it can be unloaded from RAM + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTexture(texture, screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2 - 40, WHITE) + DrawRectangleLines(screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2 - 40, texture.width, texture.height, DARKGRAY) + + DrawText("We are drawing only one texture from various images composed!", 240, 350, 10, DARKGRAY) + DrawText("Source images have been cropped, scaled, flipped and copied one over the other.", 190, 370, 10, DARKGRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_image_loading.lua b/examples/textures_image_loading.lua new file mode 100644 index 000000000..05dbce7fe --- /dev/null +++ b/examples/textures_image_loading.lua @@ -0,0 +1,55 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Image loading and texture creation +-- +-- NOTE: Images are loaded in CPU memory (RAM) textures are loaded in GPU memory (VRAM) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - image loading") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +local image = LoadImage("resources/raylib_logo.png") -- Loaded in CPU memory (RAM) +local texture = LoadTextureFromImage(image) -- Image converted to texture, GPU memory (VRAM) + +UnloadImage(image) -- Once image has been converted to texture and uploaded to VRAM, it can be unloaded from RAM +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTexture(texture, screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2, WHITE) + + DrawText("this IS a texture loaded from an image!", 300, 370, 10, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_image_processing.lua b/examples/textures_image_processing.lua new file mode 100644 index 000000000..b7304b376 --- /dev/null +++ b/examples/textures_image_processing.lua @@ -0,0 +1,134 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Image processing +-- +-- NOTE: Images are loaded in CPU memory (RAM) textures are loaded in GPU memory (VRAM) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +--#include -- Required for: free() + +NUM_PROCESSES = 8 + +-- enum ImageProcess +local COLOR_NONE = 1 +local COLOR_GRAYSCALE = 2 +local COLOR_TINT = 3 +local COLOR_INVERT = 4 +local COLOR_CONTRAST = 5 +local COLOR_BRIGHTNESS = 6 +local FLIP_VERTICAL = 7 +local FLIP_HORIZONTAL = 8 + +local processText = { + "NO PROCESSING", + "COLOR GRAYSCALE", + "COLOR TINT", + "COLOR INVERT", + "COLOR CONTRAST", + "COLOR BRIGHTNESS", + "FLIP VERTICAL", + "FLIP HORIZONTAL" +} + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - image processing") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +local image = LoadImage("resources/parrots.png") -- Loaded in CPU memory (RAM) +image = ImageFormat(image, TextureFormat.UNCOMPRESSED_R8G8B8A8) -- Format image to RGBA 32bit (required for texture update) +local texture = LoadTextureFromImage(image) -- Image converted to texture, GPU memory (VRAM) + +local currentProcess = COLOR_NONE +local textureReload = false + +local selectRecs = {} + +for i = 1, NUM_PROCESSES do selectRecs[i] = Rectangle(40, 50 + 32*i, 150, 30) end + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyPressed(KEY.DOWN)) then + currentProcess = currentProcess + 1 + if (currentProcess > NUM_PROCESSES) then currentProcess = 1 end + textureReload = true + elseif (IsKeyPressed(KEY.UP)) then + currentProcess = currentProcess - 1 + if (currentProcess < 1) then currentProcess = NUM_PROCESSES end + textureReload = true + end + + if (textureReload) then + UnloadImage(image) -- Unload current image data + image = LoadImage("resources/parrots.png") -- Re-load image data + + -- NOTE: Image processing is a costly CPU process to be done every frame, + -- If image processing is required in a frame-basis, it should be done + -- with a texture and by shaders + if (currentProcess == COLOR_GRAYSCALE) then image = ImageColorGrayscale(image) + elseif (currentProcess == COLOR_TINT) then image = ImageColorTint(image, GREEN) + elseif (currentProcess == COLOR_INVERT) then image = ImageColorInvert(image) + elseif (currentProcess == COLOR_CONTRAST) then image = ImageColorContrast(image, -40) + elseif (currentProcess == COLOR_BRIGHTNESS) then image = ImageColorBrightness(image, -80) + elseif (currentProcess == FLIP_VERTICAL) then image = ImageFlipVertical(image) + elseif (currentProcess == FLIP_HORIZONTAL) then image = ImageFlipHorizontal(image) + end + + local pixels = {} + pixels = GetImageData(image) -- Get pixel data from image (RGBA 32bit) + texture = UpdateTexture(texture, pixels) -- Update texture with new image data + + textureReload = false + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawText("IMAGE PROCESSING:", 40, 30, 10, DARKGRAY) + + -- Draw rectangles + for i = 1, NUM_PROCESSES do + if (i == currentProcess) then + DrawRectangleRec(selectRecs[i], SKYBLUE) + DrawRectangleLines(selectRecs[i].x, selectRecs[i].y, selectRecs[i].width, selectRecs[i].height, BLUE) + DrawText(processText[i], selectRecs[i].x + selectRecs[i].width/2 - MeasureText(processText[i], 10)//2, selectRecs[i].y + 11, 10, DARKBLUE) + else + DrawRectangleRec(selectRecs[i], LIGHTGRAY) + DrawRectangleLines(selectRecs[i].x, selectRecs[i].y, selectRecs[i].width, selectRecs[i].height, GRAY) + DrawText(processText[i], selectRecs[i].x + selectRecs[i].width/2 - MeasureText(processText[i], 10)//2, selectRecs[i].y + 11, 10, DARKGRAY) + end + end + + DrawTexture(texture, screenWidth - texture.width - 60, screenHeight/2 - texture.height/2, WHITE) + DrawRectangleLines(screenWidth - texture.width - 60, screenHeight/2 - texture.height/2, texture.width, texture.height, BLACK) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Unload texture from VRAM +UnloadImage(image) -- Unload image from RAM + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_logo_raylib.lua b/examples/textures_logo_raylib.lua new file mode 100644 index 000000000..3abcd802a --- /dev/null +++ b/examples/textures_logo_raylib.lua @@ -0,0 +1,49 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Texture loading and drawing +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture loading and drawing") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) +local texture = LoadTexture("resources/raylib_logo.png") -- Texture loading +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTexture(texture, screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2, WHITE) + + DrawText("this IS a texture!", 360, 370, 10, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_particles_trail_blending.lua b/examples/textures_particles_trail_blending.lua new file mode 100644 index 000000000..d5ba7841e --- /dev/null +++ b/examples/textures_particles_trail_blending.lua @@ -0,0 +1,122 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib example - particles trail blending +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +MAX_PARTICLES = 200 + +-- Particle structure with basic data +struct.Particle { + position, + color, + alpha, + size, + rotation, + active -- NOTE: Use it to activate/deactive particle +} + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles trail blending") + +-- Particles pool, reuse them! +local mouseTail = {} + +-- Initialize particles +for i = 1, MAX_PARTICLES do + mouseTail[i].position = Vector2(0, 0) + mouseTail[i].color = Color(GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255) + mouseTail[i].alpha = 1.0 + mouseTail[i].size = GetRandomValue(1, 30)/20.0 + mouseTail[i].rotation = GetRandomValue(0, 360) + mouseTail[i].active = false +end + +local gravity = 3.0 + +local smoke = LoadTexture("resources/smoke.png") + +local blending = BLEND.ALPHA + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + + -- Activate one particle every frame and Update active particles + -- NOTE: Particles initial position should be mouse position when activated + -- NOTE: Particles fall down with gravity and rotation... and disappear after 2 seconds (alpha = 0) + -- NOTE: When a particle disappears, active = false and it can be reused. + for i = 1, MAX_PARTICLES do + if (not mouseTail[i].active) then + mouseTail[i].active = true + mouseTail[i].alpha = 1.0 + mouseTail[i].position = GetMousePosition() + i = MAX_PARTICLES + end + end + + for i = 1, MAX_PARTICLES do + if (mouseTail[i].active) then + mouseTail[i].position.y = mouseTail[i].position.y + gravity + mouseTail[i].alpha = mouseTail[i].alpha - 0.01 + + if (mouseTail[i].alpha <= 0.0) then mouseTail[i].active = false end + + mouseTail[i].rotation = mouseTail[i].rotation + 5.0 + end + end + + if (IsKeyPressed(KEY.SPACE)) then + if (blending == BLEND.ALPHA) then blending = BLEND_ADDITIVE + else blending = BLEND.ALPHA end + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(DARKGRAY) + + BeginBlendMode(blending) + + -- Draw active particles + for i = 1, MAX_PARTICLES do + if (mouseTail[i].active) then + DrawTexturePro(smoke, Rectangle(0, 0, smoke.width, smoke.height), + Rectangle(mouseTail[i].position.x, mouseTail[i].position.y, + smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size), + Vector2(smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2), + mouseTail[i].rotation, Fade(mouseTail[i].color, mouseTail[i].alpha)) end + end + + EndBlendMode() + + DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK) + + if (blending == BLEND_ALPHA) then DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK) + else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE) end + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(smoke) + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_raw_data.lua b/examples/textures_raw_data.lua new file mode 100644 index 000000000..16c1c0ad3 --- /dev/null +++ b/examples/textures_raw_data.lua @@ -0,0 +1,83 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Load textures from raw data +-- +-- NOTE: Images are loaded in CPU memory (RAM) textures are loaded in GPU memory (VRAM) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +--#include -- Required for malloc() and free() + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture from raw data") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +-- Load RAW image data (512x512, 32bit RGBA, no file header) +local sonicRaw = LoadImageRaw("resources/texture_formats/sonic_R8G8B8A8.raw", 512, 512, TextureFormat.UNCOMPRESSED_R8G8B8A8, 0) +local sonic = LoadTextureFromImage(sonicRaw) -- Upload CPU (RAM) image to GPU (VRAM) +UnloadImage(sonicRaw) -- Unload CPU (RAM) image data + +-- Generate a checked texture by code (1024x1024 pixels) +local width = 1024 +local height = 1024 + +-- Dynamic memory allocation to store pixels data (Color type) +local pixels = {} + +for y = 1, height do + for x = 1, width do + if (((x/32+y/32)/1)%2 == 0) then pixels[y*height + x] = DARKBLUE + else pixels[y*height + x] = SKYBLUE end + end +end + +-- Load pixels data into an image structure and create texture +local checkedIm = LoadImageEx(pixels, width, height) +local checked = LoadTextureFromImage(checkedIm) +UnloadImage(checkedIm) -- Unload CPU (RAM) image data + +-- Dynamic memory must be freed after using it +--free(pixels) -- Unload CPU (RAM) pixels data +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.3)) + DrawTexture(sonic, 330, -20, WHITE) + + DrawText("CHECKED TEXTURE ", 84, 100, 30, DARKBLUE) + DrawText("GENERATED by CODE", 72, 164, 30, DARKBLUE) + DrawText("and RAW IMAGE LOADING", 46, 226, 30, DARKBLUE) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(sonic) -- Texture unloading +UnloadTexture(checked) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_rectangle.lua b/examples/textures_rectangle.lua new file mode 100644 index 000000000..5f4816799 --- /dev/null +++ b/examples/textures_rectangle.lua @@ -0,0 +1,69 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Texture loading and drawing a part defined by a rectangle +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [texture] example - texture rectangle") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) +local guybrush = LoadTexture("resources/guybrush.png") -- Texture loading + +local position = Vector2(350.0, 240.0) +local frameRec = Rectangle(0, 0, guybrush.width/7, guybrush.height) +local currentFrame = 0 +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + if (IsKeyPressed(KEY.RIGHT)) then + currentFrame = currentFrame + 1 + + if (currentFrame > 6) then currentFrame = 0 end + + frameRec.x = currentFrame*guybrush.width/7 + end + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTexture(guybrush, 35, 40, WHITE) + DrawRectangleLines(35, 40, guybrush.width, guybrush.height, LIME) + + DrawTextureRec(guybrush, frameRec, position, WHITE) -- Draw part of the texture + + DrawRectangleLines(35 + frameRec.x, 40 + frameRec.y, frameRec.width, frameRec.height, RED) + + DrawText("PRESS RIGHT KEY to", 540, 310, 10, GRAY) + DrawText("CHANGE DRAWING RECTANGLE", 520, 330, 10, GRAY) + + DrawText("Guybrush Ulysses Threepwood,", 100, 300, 10, GRAY) + DrawText("main character of the Monkey Island series", 80, 320, 10, GRAY) + DrawText("of computer adventure games by LucasArts.", 80, 340, 10, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(guybrush) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_srcrec_dstrec.lua b/examples/textures_srcrec_dstrec.lua new file mode 100644 index 000000000..f94deb3e9 --- /dev/null +++ b/examples/textures_srcrec_dstrec.lua @@ -0,0 +1,71 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Texture source and destination rectangles +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) +local guybrush = LoadTexture("resources/guybrush.png") -- Texture loading + +local frameWidth = guybrush.width/7 +local frameHeight = guybrush.height + +-- NOTE: Source rectangle (part of the texture to use for drawing) +local sourceRec = Rectangle(0, 0, frameWidth, frameHeight) + +-- NOTE: Destination rectangle (screen rectangle where drawing part of texture) +local destRec = Rectangle(screenWidth/2, screenHeight/2, frameWidth*2, frameHeight*2) + +-- NOTE: Origin of the texture (rotation/scale point), it's relative to destination rectangle size +local origin = Vector2(frameWidth, frameHeight) + +local rotation = 0 + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + rotation = rotation + 1 + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + -- NOTE: Using DrawTexturePro() we can easily rotate and scale the part of the texture we draw + -- sourceRec defines the part of the texture we use for drawing + -- destRec defines the rectangle where our texture part will fit (scaling it to fit) + -- origin defines the point of the texture used as reference for rotation and scaling + -- rotation defines the texture rotation (using origin as rotation point) + DrawTexturePro(guybrush, sourceRec, destRec, origin, rotation, WHITE) + + DrawLine(destRec.x, 0, destRec.x, screenHeight, GRAY) + DrawLine(0, destRec.y, screenWidth, destRec.y, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(guybrush) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/textures_to_image.lua b/examples/textures_to_image.lua new file mode 100644 index 000000000..b7a2d4ed5 --- /dev/null +++ b/examples/textures_to_image.lua @@ -0,0 +1,60 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Retrieve image data from texture: GetTextureData() +-- +-- NOTE: Images are loaded in CPU memory (RAM) textures are loaded in GPU memory (VRAM) +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture to image") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +local image = LoadImage("resources/raylib_logo.png") -- Load image data into CPU memory (RAM) +local texture = LoadTextureFromImage(image) -- Image converted to texture, GPU memory (RAM -> VRAM) +UnloadImage(image) -- Unload image data from CPU memory (RAM) + +image = GetTextureData(texture) -- Retrieve image data from GPU memory (VRAM -> RAM) +UnloadTexture(texture) -- Unload texture from GPU memory (VRAM) + +texture = LoadTextureFromImage(image) -- Recreate texture from retrieved image data (RAM -> VRAM) +UnloadImage(image) -- Unload retrieved image data from CPU memory (RAM) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + -- TODO: Update your variables here + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + DrawTexture(texture, screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2, WHITE) + + DrawText("this IS a texture loaded from an image!", 300, 370, 10, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(texture) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +------------------------------------------------------------------------------------------- \ No newline at end of file From ae70540a964d63e55e9e25c5f836f26ab34ce51e Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 11:32:53 +0200 Subject: [PATCH 028/102] Added example audio_raw_stream --- examples/Makefile | 7 ++++++- examples/audio_raw_stream.c | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index e10b0bb6d..378f5edfd 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -229,6 +229,7 @@ EXAMPLES = \ audio_sound_loading \ audio_music_stream \ audio_module_playing \ + audio_raw_stream \ fix_dylib \ @@ -455,10 +456,14 @@ audio_sound_loading: audio_sound_loading.c audio_music_stream: audio_music_stream.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) -# compile [audio] example - module playing (OGG) +# compile [audio] example - module playing (XM) audio_module_playing: audio_module_playing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) +# compile [audio] example - raw audio streaming +audio_raw_stream: audio_raw_stream.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + # fix dylib install path name for each executable (MAC) fix_dylib: ifeq ($(PLATFORM_OS),OSX) diff --git a/examples/audio_raw_stream.c b/examples/audio_raw_stream.c index a372205b0..c044a7e0a 100644 --- a/examples/audio_raw_stream.c +++ b/examples/audio_raw_stream.c @@ -25,7 +25,6 @@ int main() int screenWidth = 800; int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw audio streaming"); InitAudioDevice(); // Initialize audio device From d5f5f0a9302435945b730e5ec001bda39741f3c7 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 11:33:05 +0200 Subject: [PATCH 029/102] Updated raylib version to 1.6 --- src/core.c | 4 ++-- src/raylib.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core.c b/src/core.c index 0008ef2f0..47463a231 100644 --- a/src/core.c +++ b/src/core.c @@ -293,7 +293,7 @@ static void *GamepadThread(void *arg); // Mouse reading thread // Initialize Window and Graphics Context (OpenGL) void InitWindow(int width, int height, const char *title) { - TraceLog(INFO, "Initializing raylib (v1.5.0)"); + TraceLog(INFO, "Initializing raylib (v1.6.0)"); // Store window title (could be useful...) windowTitle = title; @@ -347,7 +347,7 @@ void InitWindow(int width, int height, const char *title) // Android activity initialization void InitWindow(int width, int height, struct android_app *state) { - TraceLog(INFO, "Initializing raylib (v1.5.0)"); + TraceLog(INFO, "Initializing raylib (v1.6.0)"); app_dummy(); diff --git a/src/raylib.h b/src/raylib.h index d9a12cecd..104d5677c 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1,6 +1,6 @@ /********************************************************************************************** * -* raylib 1.5.0 (www.raylib.com) +* raylib 1.6.0 (www.raylib.com) * * A simple and easy-to-use library to learn videogames programming * From 3b80e2c1e03e0f87d50ca8876b50a11c7df1f56f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 16:32:46 +0200 Subject: [PATCH 030/102] Redesigned gestures module to header-only --- src/Makefile | 6 +- src/core.c | 16 +- src/gestures.c | 423 ------------------------------------------- src/gestures.h | 480 +++++++++++++++++++++++++++++++++++++++++++++---- src/raylib.h | 17 +- src/rlua.h | 10 +- 6 files changed, 458 insertions(+), 494 deletions(-) delete mode 100644 src/gestures.c diff --git a/src/Makefile b/src/Makefile index 1360a9206..e82c2861f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -168,7 +168,7 @@ endif # compile all modules with their prerequisites # compile core module -core.o : core.c raylib.h rlgl.h utils.h raymath.h +core.o : core.c raylib.h rlgl.h utils.h raymath.h gestures.h $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) # compile rlgl module @@ -207,10 +207,6 @@ utils.o : utils.c utils.h camera.o : camera.c raylib.h $(CC) -c $< $(CFLAGS) $(INCLUDES) -#compile gestures module -gestures.o : gestures.c raylib.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) - # It installs generated and needed files to compile projects using raylib. # The installation works manually. # TODO: add other platforms. diff --git a/src/core.c b/src/core.c index 47463a231..4cb34b0ae 100644 --- a/src/core.c +++ b/src/core.c @@ -39,13 +39,15 @@ #include "raylib.h" // raylib main header #include "rlgl.h" // raylib OpenGL abstraction layer to OpenGL 1.1, 3.3+ or ES2 -#include "utils.h" // TraceLog() function - // NOTE: Includes Android fopen map, InitAssetManager() - +#include "utils.h" // Includes Android fopen map, InitAssetManager(), TraceLog() + #define RAYMATH_IMPLEMENTATION // Use raymath as a header-only library (includes implementation) #define RAYMATH_EXTERN_INLINE // Compile raymath functions as static inline (remember, it's a compiler hint) #include "raymath.h" // Required for Vector3 and Matrix functions +#define GESTURES_IMPLEMENTATION +#include "gestures.h" // Gestures detection functionality + #include // Standard input / output lib #include // Declares malloc() and free() for memory management, rand(), atexit() #include // Required for typedef unsigned long long int uint64_t, used by hi-res timer @@ -234,6 +236,9 @@ static bool showLogo = false; // Track if showing logo at init is extern void LoadDefaultFont(void); // [Module: text] Loads default font on InitWindow() extern void UnloadDefaultFont(void); // [Module: text] Unloads default font from GPU memory +extern void ProcessGestureEvent(GestureEvent event); // [Module: gestures] Process gesture event and translate it into gestures +extern void UpdateGestures(void); // [Module: gestures] Update gestures detected (called in PollInputEvents()) + //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- @@ -2052,10 +2057,7 @@ static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, i // NOTE: Before closing window, while loop must be left! } #if defined(PLATFORM_DESKTOP) - else if (key == GLFW_KEY_F12 && action == GLFW_PRESS) - { - TakeScreenshot(); - } + else if (key == GLFW_KEY_F12 && action == GLFW_PRESS) TakeScreenshot(); #endif else { diff --git a/src/gestures.c b/src/gestures.c deleted file mode 100644 index 57b96bd26..000000000 --- a/src/gestures.c +++ /dev/null @@ -1,423 +0,0 @@ -/********************************************************************************************** -* -* raylib Gestures System - Gestures Processing based on input gesture events (touch/mouse) -* -* Initial design by Marc Palau -* Redesigned by Albert Martos and Ian Eito -* Reviewed by Ramon Santamaria (@raysan5) -* -* This software is provided "as-is", without any express or implied warranty. In no event -* will the authors be held liable for any damages arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, including commercial -* applications, and to alter it and redistribute it freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not claim that you -* wrote the original software. If you use this software in a product, an acknowledgment -* in the product documentation would be appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be misrepresented -* as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -**********************************************************************************************/ - -//#define GESTURES_STANDALONE // NOTE: To use the gestures module as standalone lib, just uncomment this line - -#if defined(GESTURES_STANDALONE) - #include "gestures.h" -#else - #include "raylib.h" // Required for: Vector2, Gestures -#endif - -#include // Required for: atan2(), sqrt() -#include // Required for: uint64_t - -#if defined(_WIN32) - // Functions required to query time on Windows - int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount); - int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency); -#elif defined(__linux) - #include // Required for: timespec - #include // Required for: clock_gettime() -#endif - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -#define FORCE_TO_SWIPE 0.0005f // Measured in normalized screen units/time -#define MINIMUM_DRAG 0.015f // Measured in normalized screen units (0.0f to 1.0f) -#define MINIMUM_PINCH 0.005f // Measured in normalized screen units (0.0f to 1.0f) -#define TAP_TIMEOUT 300 // Time in milliseconds -#define PINCH_TIMEOUT 300 // Time in milliseconds -#define DOUBLETAP_RANGE 0.03f // Measured in normalized screen units (0.0f to 1.0f) - -//---------------------------------------------------------------------------------- -// Types and Structures Definition -//---------------------------------------------------------------------------------- -// ... - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- - -// Touch gesture variables -static Vector2 touchDownPosition = { 0.0f, 0.0f }; -static Vector2 touchDownPosition2 = { 0.0f, 0.0f }; -static Vector2 touchDownDragPosition = { 0.0f, 0.0f }; -static Vector2 touchUpPosition = { 0.0f, 0.0f }; -static Vector2 moveDownPosition = { 0.0f, 0.0f }; -static Vector2 moveDownPosition2 = { 0.0f, 0.0f }; -static int numTap = 0; - -static int pointCount = 0; -static int firstTouchId = -1; - -static double eventTime = 0.0; -static double swipeTime = 0.0; - -// Hold gesture variables -static int numHold = 0; -static float timeHold = 0.0f; - -// Drag gesture variables -static Vector2 dragVector = { 0.0f , 0.0f }; // DRAG vector (between initial and current position) -static float dragAngle = 0.0f; // DRAG angle (relative to x-axis) -static float dragDistance = 0.0f; // DRAG distance (from initial touch point to final) (normalized [0..1]) -static float dragIntensity = 0.0f; // DRAG intensity, how far why did the DRAG (pixels per frame) -static bool startMoving = false; // SWIPE used to define when start measuring swipeTime - -// Pinch gesture variables -static Vector2 pinchVector = { 0.0f , 0.0f }; // PINCH vector (between first and second touch points) -static float pinchAngle = 0.0f; // PINCH angle (relative to x-axis) -static float pinchDistance = 0.0f; // PINCH displacement distance (normalized [0..1]) - -// Detected gestures -static int previousGesture = GESTURE_NONE; -static int currentGesture = GESTURE_NONE; - -// Enabled gestures flags, all gestures enabled by default -static unsigned int enabledGestures = 0b0000001111111111; - -//---------------------------------------------------------------------------------- -// Module specific Functions Declaration -//---------------------------------------------------------------------------------- -static float Vector2Angle(Vector2 initialPosition, Vector2 finalPosition); -static float Vector2Distance(Vector2 v1, Vector2 v2); -static double GetCurrentTime(void); - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- - -// Enable only desired getures to be detected -void SetGesturesEnabled(unsigned int gestureFlags) -{ - enabledGestures = gestureFlags; -} - -// Check if a gesture have been detected -bool IsGestureDetected(int gesture) -{ - if ((enabledGestures & currentGesture) == gesture) return true; - else return false; -} - -// Process gesture event and translate it into gestures -void ProcessGestureEvent(GestureEvent event) -{ - // Reset required variables - previousGesture = currentGesture; - - pointCount = event.pointCount; // Required on UpdateGestures() - - if (pointCount < 2) - { - if (event.touchAction == TOUCH_DOWN) - { - numTap++; // Tap counter - - // Detect GESTURE_DOUBLE_TAP - if ((currentGesture == GESTURE_NONE) && (numTap >= 2) && ((GetCurrentTime() - eventTime) < TAP_TIMEOUT) && (Vector2Distance(touchDownPosition, event.position[0]) < DOUBLETAP_RANGE)) - { - currentGesture = GESTURE_DOUBLETAP; - numTap = 0; - } - else // Detect GESTURE_TAP - { - numTap = 1; - currentGesture = GESTURE_TAP; - } - - touchDownPosition = event.position[0]; - touchDownDragPosition = event.position[0]; - - touchUpPosition = touchDownPosition; - eventTime = GetCurrentTime(); - - firstTouchId = event.pointerId[0]; - - dragVector = (Vector2){ 0.0f, 0.0f }; - } - else if (event.touchAction == TOUCH_UP) - { - if (currentGesture == GESTURE_DRAG) touchUpPosition = event.position[0]; - - // NOTE: dragIntensity dependend on the resolution of the screen - dragDistance = Vector2Distance(touchDownPosition, touchUpPosition); - dragIntensity = dragDistance/(float)((GetCurrentTime() - swipeTime)); - - startMoving = false; - - // Detect GESTURE_SWIPE - if ((dragIntensity > FORCE_TO_SWIPE) && firstTouchId == event.pointerId[0]) - { - // NOTE: Angle should be inverted in Y - dragAngle = 360.0f - Vector2Angle(touchDownPosition, touchUpPosition); - - if ((dragAngle < 30) || (dragAngle > 330)) currentGesture = GESTURE_SWIPE_RIGHT; // Right - else if ((dragAngle > 30) && (dragAngle < 120)) currentGesture = GESTURE_SWIPE_UP; // Up - else if ((dragAngle > 120) && (dragAngle < 210)) currentGesture = GESTURE_SWIPE_LEFT; // Left - else if ((dragAngle > 210) && (dragAngle < 300)) currentGesture = GESTURE_SWIPE_DOWN; // Down - else currentGesture = GESTURE_NONE; - } - else - { - dragDistance = 0.0f; - dragIntensity = 0.0f; - dragAngle = 0.0f; - - currentGesture = GESTURE_NONE; - } - - touchDownDragPosition = (Vector2){ 0.0f, 0.0f }; - pointCount = 0; - } - else if (event.touchAction == TOUCH_MOVE) - { - if (currentGesture == GESTURE_DRAG) eventTime = GetCurrentTime(); - - if (!startMoving) - { - swipeTime = GetCurrentTime(); - startMoving = true; - } - - moveDownPosition = event.position[0]; - - if (currentGesture == GESTURE_HOLD) - { - if (numHold == 1) touchDownPosition = event.position[0]; - - numHold = 2; - - // Detect GESTURE_DRAG - if (Vector2Distance(touchDownPosition, moveDownPosition) >= MINIMUM_DRAG) - { - eventTime = GetCurrentTime(); - currentGesture = GESTURE_DRAG; - } - } - - dragVector.x = moveDownPosition.x - touchDownDragPosition.x; - dragVector.y = moveDownPosition.y - touchDownDragPosition.y; - } - } - else // Two touch points - { - if (event.touchAction == TOUCH_DOWN) - { - touchDownPosition = event.position[0]; - touchDownPosition2 = event.position[1]; - - //pinchDistance = Vector2Distance(touchDownPosition, touchDownPosition2); - - pinchVector.x = touchDownPosition2.x - touchDownPosition.x; - pinchVector.y = touchDownPosition2.y - touchDownPosition.y; - - currentGesture = GESTURE_HOLD; - timeHold = GetCurrentTime(); - } - else if (event.touchAction == TOUCH_MOVE) - { - pinchDistance = Vector2Distance(moveDownPosition, moveDownPosition2); - - touchDownPosition = moveDownPosition; - touchDownPosition2 = moveDownPosition2; - - moveDownPosition = event.position[0]; - moveDownPosition2 = event.position[1]; - - pinchVector.x = moveDownPosition2.x - moveDownPosition.x; - pinchVector.y = moveDownPosition2.y - moveDownPosition.y; - - if ((Vector2Distance(touchDownPosition, moveDownPosition) >= MINIMUM_PINCH) || (Vector2Distance(touchDownPosition2, moveDownPosition2) >= MINIMUM_PINCH)) - { - if ((Vector2Distance(moveDownPosition, moveDownPosition2) - pinchDistance) < 0) currentGesture = GESTURE_PINCH_IN; - else currentGesture = GESTURE_PINCH_OUT; - } - else - { - currentGesture = GESTURE_HOLD; - timeHold = GetCurrentTime(); - } - - // NOTE: Angle should be inverted in Y - pinchAngle = 360.0f - Vector2Angle(moveDownPosition, moveDownPosition2); - } - else if (event.touchAction == TOUCH_UP) - { - pinchDistance = 0.0f; - pinchAngle = 0.0f; - pinchVector = (Vector2){ 0.0f, 0.0f }; - pointCount = 0; - - currentGesture = GESTURE_NONE; - } - } -} - -// Update gestures detected (must be called every frame) -void UpdateGestures(void) -{ - // NOTE: Gestures are processed through system callbacks on touch events - - // Detect GESTURE_HOLD - if (((currentGesture == GESTURE_TAP) || (currentGesture == GESTURE_DOUBLETAP)) && (pointCount < 2)) - { - currentGesture = GESTURE_HOLD; - timeHold = GetCurrentTime(); - } - - if (((GetCurrentTime() - eventTime) > TAP_TIMEOUT) && (currentGesture == GESTURE_DRAG) && (pointCount < 2)) - { - currentGesture = GESTURE_HOLD; - timeHold = GetCurrentTime(); - numHold = 1; - } - - // Detect GESTURE_NONE - if ((currentGesture == GESTURE_SWIPE_RIGHT) || (currentGesture == GESTURE_SWIPE_UP) || (currentGesture == GESTURE_SWIPE_LEFT) || (currentGesture == GESTURE_SWIPE_DOWN)) - { - currentGesture = GESTURE_NONE; - } -} - -// Get number of touch points -int GetTouchPointsCount(void) -{ - // NOTE: point count is calculated when ProcessGestureEvent(GestureEvent event) is called - - return pointCount; -} - -// Get latest detected gesture -int GetGestureDetected(void) -{ - // Get current gesture only if enabled - return (enabledGestures & currentGesture); -} - -// Hold time measured in ms -float GetGestureHoldDuration(void) -{ - // NOTE: time is calculated on current gesture HOLD - - float time = 0.0f; - - if (currentGesture == GESTURE_HOLD) time = (float)GetCurrentTime() - timeHold; - - return time; -} - -// Get drag vector (between initial touch point to current) -Vector2 GetGestureDragVector(void) -{ - // NOTE: drag vector is calculated on one touch points TOUCH_MOVE - - return dragVector; -} - -// Get drag angle -// NOTE: Angle in degrees, horizontal-right is 0, counterclock-wise -float GetGestureDragAngle(void) -{ - // NOTE: drag angle is calculated on one touch points TOUCH_UP - - return dragAngle; -} - -// Get distance between two pinch points -Vector2 GetGesturePinchVector(void) -{ - // NOTE: The position values used for pinchDistance are not modified like the position values of [core.c]-->GetTouchPosition(int index) - // NOTE: pinch distance is calculated on two touch points TOUCH_MOVE - - return pinchVector; -} - -// Get angle beween two pinch points -// NOTE: Angle in degrees, horizontal-right is 0, counterclock-wise -float GetGesturePinchAngle(void) -{ - // NOTE: pinch angle is calculated on two touch points TOUCH_MOVE - - return pinchAngle; -} - -//---------------------------------------------------------------------------------- -// Module specific Functions Definition -//---------------------------------------------------------------------------------- - -// Returns angle from two-points vector with X-axis -static float Vector2Angle(Vector2 initialPosition, Vector2 finalPosition) -{ - float angle; - - angle = atan2(finalPosition.y - initialPosition.y, finalPosition.x - initialPosition.x); - angle *= RAD2DEG; - - if (angle < 0) angle += 360.0f; - - return angle; -} - -// Calculate distance between two Vector2 -static float Vector2Distance(Vector2 v1, Vector2 v2) -{ - float result; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - - result = sqrt(dx*dx + dy*dy); - - return result; -} - -// Time measure returned are milliseconds -static double GetCurrentTime(void) -{ - double time = 0; - -#if defined(_WIN32) - unsigned long long int clockFrequency, currentTime; - - QueryPerformanceFrequency(&clockFrequency); - QueryPerformanceCounter(¤tTime); - - time = (double)currentTime/clockFrequency*1000.0f; // Time in miliseconds -#endif - -#if defined(__linux) - // NOTE: Only for Linux-based systems - struct timespec now; - clock_gettime(CLOCK_MONOTONIC, &now); - uint64_t nowTime = (uint64_t)now.tv_sec*1000000000LLU + (uint64_t)now.tv_nsec; // Time in nanoseconds - - time = ((double)nowTime/1000000.0); // Time in miliseconds -#endif - - return time; -} diff --git a/src/gestures.h b/src/gestures.h index 912d0b926..4c59ee398 100644 --- a/src/gestures.h +++ b/src/gestures.h @@ -1,8 +1,21 @@ /********************************************************************************************** * -* raylib Gestures System - Gestures Detection and Usage Functions (Android and HTML5) +* raylib Gestures System - Gestures Processing based on input gesture events (touch/mouse) * -* Copyright (c) 2015 Marc Palau and Ramon Santamaria +* #define GESTURES_IMPLEMENTATION +* Generates the implementation of the library into the included file. +* If not defined, the library is in header only mode and can be included in other headers +* or source files without problems. But only ONE file should hold the implementation. +* +* #define GESTURES_STANDALONE +* If defined, the library can be used as standalone to process gesture events with +* no external dependencies. +* +* NOTE: Memory footprint of this library is aproximately 128 bytes +* +* Initial design by Marc Palau +* Redesigned by Albert Martos and Ian Eito +* Reviewed by Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -28,9 +41,6 @@ #define PI 3.14159265358979323846 #endif -#define DEG2RAD (PI / 180.0f) -#define RAD2DEG (180.0f / PI) - //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -40,33 +50,35 @@ // Types and Structures Definition // NOTE: Below types are required for GESTURES_STANDALONE usage //---------------------------------------------------------------------------------- -#ifndef __cplusplus - // Boolean type - typedef enum { false, true } bool; +#if defined(GESTURES_STANDALONE) + #ifndef __cplusplus + // Boolean type + typedef enum { false, true } bool; + #endif + + // Vector2 type + typedef struct Vector2 { + float x; + float y; + } Vector2; + + // Gestures type + // NOTE: It could be used as flags to enable only some gestures + typedef enum { + GESTURE_NONE = 1, + GESTURE_TAP = 2, + GESTURE_DOUBLETAP = 4, + GESTURE_HOLD = 8, + GESTURE_DRAG = 16, + GESTURE_SWIPE_RIGHT = 32, + GESTURE_SWIPE_LEFT = 64, + GESTURE_SWIPE_UP = 128, + GESTURE_SWIPE_DOWN = 256, + GESTURE_PINCH_IN = 512, + GESTURE_PINCH_OUT = 1024 + } Gestures; #endif -// Vector2 type -typedef struct Vector2 { - float x; - float y; -} Vector2; - -// Gestures type -// NOTE: It could be used as flags to enable only some gestures -typedef enum { - GESTURE_NONE = 1, - GESTURE_TAP = 2, - GESTURE_DOUBLETAP = 4, - GESTURE_HOLD = 8, - GESTURE_DRAG = 16, - GESTURE_SWIPE_RIGHT = 32, - GESTURE_SWIPE_LEFT = 64, - GESTURE_SWIPE_UP = 128, - GESTURE_SWIPE_DOWN = 256, - GESTURE_PINCH_IN = 512, - GESTURE_PINCH_OUT = 1024 -} Gestures; - typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; // Gesture events @@ -90,22 +102,422 @@ extern "C" { // Prevents name mangling of functions //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- -void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags -bool IsGestureDetected(int gesture); // Check if a gesture have been detected void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures void UpdateGestures(void); // Update gestures detected (must be called every frame) -int GetTouchPointsCount(void); // Get touch points count +#if defined(GESTURES_STANDALONE) +void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags +bool IsGestureDetected(int gesture); // Check if a gesture have been detected int GetGestureDetected(void); // Get latest detected gesture +int GetTouchPointsCount(void); // Get touch points count float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds Vector2 GetGestureDragVector(void); // Get gesture drag vector float GetGestureDragAngle(void); // Get gesture drag angle Vector2 GetGesturePinchVector(void); // Get gesture pinch delta float GetGesturePinchAngle(void); // Get gesture pinch angle - +#endif #ifdef __cplusplus } #endif #endif // GESTURES_H + +/*********************************************************************************** +* +* GESTURES IMPLEMENTATION +* +************************************************************************************/ + +#if defined(GESTURES_IMPLEMENTATION) + +#include // Required for: atan2(), sqrt() +#include // Required for: uint64_t + +#if defined(_WIN32) + // Functions required to query time on Windows + int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount); + int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency); +#elif defined(__linux) + #include // Required for: timespec + #include // Required for: clock_gettime() +#endif + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#define FORCE_TO_SWIPE 0.0005f // Measured in normalized screen units/time +#define MINIMUM_DRAG 0.015f // Measured in normalized screen units (0.0f to 1.0f) +#define MINIMUM_PINCH 0.005f // Measured in normalized screen units (0.0f to 1.0f) +#define TAP_TIMEOUT 300 // Time in milliseconds +#define PINCH_TIMEOUT 300 // Time in milliseconds +#define DOUBLETAP_RANGE 0.03f // Measured in normalized screen units (0.0f to 1.0f) + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- + +// Touch gesture variables +static Vector2 touchDownPosition = { 0.0f, 0.0f }; +static Vector2 touchDownPosition2 = { 0.0f, 0.0f }; +static Vector2 touchDownDragPosition = { 0.0f, 0.0f }; +static Vector2 touchUpPosition = { 0.0f, 0.0f }; +static Vector2 moveDownPosition = { 0.0f, 0.0f }; +static Vector2 moveDownPosition2 = { 0.0f, 0.0f }; + +static int pointCount = 0; // Touch points counter +static int firstTouchId = -1; // Touch id for first touch point +static double eventTime = 0.0; // Time stamp when an event happened + +// Tap gesture variables +static int tapCounter = 0; // TAP counter (one tap implies TOUCH_DOWN and TOUCH_UP actions) + +// Hold gesture variables +static bool resetHold = false; // HOLD reset to get first touch point again +static float timeHold = 0.0f; // HOLD duration in milliseconds + +// Drag gesture variables +static Vector2 dragVector = { 0.0f , 0.0f }; // DRAG vector (between initial and current position) +static float dragAngle = 0.0f; // DRAG angle (relative to x-axis) +static float dragDistance = 0.0f; // DRAG distance (from initial touch point to final) (normalized [0..1]) +static float dragIntensity = 0.0f; // DRAG intensity, how far why did the DRAG (pixels per frame) + +// Swipe gestures variables +static bool startMoving = false; // SWIPE used to define when start measuring swipeTime +static double swipeTime = 0.0; // SWIPE time to calculate drag intensity + +// Pinch gesture variables +static Vector2 pinchVector = { 0.0f , 0.0f }; // PINCH vector (between first and second touch points) +static float pinchAngle = 0.0f; // PINCH angle (relative to x-axis) +static float pinchDistance = 0.0f; // PINCH displacement distance (normalized [0..1]) + +static int currentGesture = GESTURE_NONE; // Current detected gesture + +// Enabled gestures flags, all gestures enabled by default +static unsigned int enabledGestures = 0b0000001111111111; + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +static float Vector2Angle(Vector2 initialPosition, Vector2 finalPosition); +static float Vector2Distance(Vector2 v1, Vector2 v2); +static double GetCurrentTime(void); + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- + +// Enable only desired getures to be detected +void SetGesturesEnabled(unsigned int gestureFlags) +{ + enabledGestures = gestureFlags; +} + +// Check if a gesture have been detected +bool IsGestureDetected(int gesture) +{ + if ((enabledGestures & currentGesture) == gesture) return true; + else return false; +} + +// Process gesture event and translate it into gestures +void ProcessGestureEvent(GestureEvent event) +{ + // Reset required variables + pointCount = event.pointCount; // Required on UpdateGestures() + + if (pointCount < 2) + { + if (event.touchAction == TOUCH_DOWN) + { + tapCounter++; // Tap counter + + // Detect GESTURE_DOUBLE_TAP + if ((currentGesture == GESTURE_NONE) && (tapCounter >= 2) && ((GetCurrentTime() - eventTime) < TAP_TIMEOUT) && (Vector2Distance(touchDownPosition, event.position[0]) < DOUBLETAP_RANGE)) + { + currentGesture = GESTURE_DOUBLETAP; + tapCounter = 0; + } + else // Detect GESTURE_TAP + { + tapCounter = 1; + currentGesture = GESTURE_TAP; + } + + touchDownPosition = event.position[0]; + touchDownDragPosition = event.position[0]; + + touchUpPosition = touchDownPosition; + eventTime = GetCurrentTime(); + + firstTouchId = event.pointerId[0]; + + dragVector = (Vector2){ 0.0f, 0.0f }; + } + else if (event.touchAction == TOUCH_UP) + { + if (currentGesture == GESTURE_DRAG) touchUpPosition = event.position[0]; + + // NOTE: dragIntensity dependend on the resolution of the screen + dragDistance = Vector2Distance(touchDownPosition, touchUpPosition); + dragIntensity = dragDistance/(float)((GetCurrentTime() - swipeTime)); + + startMoving = false; + + // Detect GESTURE_SWIPE + if ((dragIntensity > FORCE_TO_SWIPE) && (firstTouchId == event.pointerId[0])) + { + // NOTE: Angle should be inverted in Y + dragAngle = 360.0f - Vector2Angle(touchDownPosition, touchUpPosition); + + if ((dragAngle < 30) || (dragAngle > 330)) currentGesture = GESTURE_SWIPE_RIGHT; // Right + else if ((dragAngle > 30) && (dragAngle < 120)) currentGesture = GESTURE_SWIPE_UP; // Up + else if ((dragAngle > 120) && (dragAngle < 210)) currentGesture = GESTURE_SWIPE_LEFT; // Left + else if ((dragAngle > 210) && (dragAngle < 300)) currentGesture = GESTURE_SWIPE_DOWN; // Down + else currentGesture = GESTURE_NONE; + } + else + { + dragDistance = 0.0f; + dragIntensity = 0.0f; + dragAngle = 0.0f; + + currentGesture = GESTURE_NONE; + } + + touchDownDragPosition = (Vector2){ 0.0f, 0.0f }; + pointCount = 0; + } + else if (event.touchAction == TOUCH_MOVE) + { + if (currentGesture == GESTURE_DRAG) eventTime = GetCurrentTime(); + + if (!startMoving) + { + swipeTime = GetCurrentTime(); + startMoving = true; + } + + moveDownPosition = event.position[0]; + + if (currentGesture == GESTURE_HOLD) + { + if (resetHold) touchDownPosition = event.position[0]; + + resetHold = false; + + // Detect GESTURE_DRAG + if (Vector2Distance(touchDownPosition, moveDownPosition) >= MINIMUM_DRAG) + { + eventTime = GetCurrentTime(); + currentGesture = GESTURE_DRAG; + } + } + + dragVector.x = moveDownPosition.x - touchDownDragPosition.x; + dragVector.y = moveDownPosition.y - touchDownDragPosition.y; + } + } + else // Two touch points + { + if (event.touchAction == TOUCH_DOWN) + { + touchDownPosition = event.position[0]; + touchDownPosition2 = event.position[1]; + + //pinchDistance = Vector2Distance(touchDownPosition, touchDownPosition2); + + pinchVector.x = touchDownPosition2.x - touchDownPosition.x; + pinchVector.y = touchDownPosition2.y - touchDownPosition.y; + + currentGesture = GESTURE_HOLD; + timeHold = GetCurrentTime(); + } + else if (event.touchAction == TOUCH_MOVE) + { + pinchDistance = Vector2Distance(moveDownPosition, moveDownPosition2); + + touchDownPosition = moveDownPosition; + touchDownPosition2 = moveDownPosition2; + + moveDownPosition = event.position[0]; + moveDownPosition2 = event.position[1]; + + pinchVector.x = moveDownPosition2.x - moveDownPosition.x; + pinchVector.y = moveDownPosition2.y - moveDownPosition.y; + + if ((Vector2Distance(touchDownPosition, moveDownPosition) >= MINIMUM_PINCH) || (Vector2Distance(touchDownPosition2, moveDownPosition2) >= MINIMUM_PINCH)) + { + if ((Vector2Distance(moveDownPosition, moveDownPosition2) - pinchDistance) < 0) currentGesture = GESTURE_PINCH_IN; + else currentGesture = GESTURE_PINCH_OUT; + } + else + { + currentGesture = GESTURE_HOLD; + timeHold = GetCurrentTime(); + } + + // NOTE: Angle should be inverted in Y + pinchAngle = 360.0f - Vector2Angle(moveDownPosition, moveDownPosition2); + } + else if (event.touchAction == TOUCH_UP) + { + pinchDistance = 0.0f; + pinchAngle = 0.0f; + pinchVector = (Vector2){ 0.0f, 0.0f }; + pointCount = 0; + + currentGesture = GESTURE_NONE; + } + } +} + +// Update gestures detected (must be called every frame) +void UpdateGestures(void) +{ + // NOTE: Gestures are processed through system callbacks on touch events + + // Detect GESTURE_HOLD + if (((currentGesture == GESTURE_TAP) || (currentGesture == GESTURE_DOUBLETAP)) && (pointCount < 2)) + { + currentGesture = GESTURE_HOLD; + timeHold = GetCurrentTime(); + } + + if (((GetCurrentTime() - eventTime) > TAP_TIMEOUT) && (currentGesture == GESTURE_DRAG) && (pointCount < 2)) + { + currentGesture = GESTURE_HOLD; + timeHold = GetCurrentTime(); + resetHold = true; + } + + // Detect GESTURE_NONE + if ((currentGesture == GESTURE_SWIPE_RIGHT) || (currentGesture == GESTURE_SWIPE_UP) || (currentGesture == GESTURE_SWIPE_LEFT) || (currentGesture == GESTURE_SWIPE_DOWN)) + { + currentGesture = GESTURE_NONE; + } +} + +// Get number of touch points +int GetTouchPointsCount(void) +{ + // NOTE: point count is calculated when ProcessGestureEvent(GestureEvent event) is called + + return pointCount; +} + +// Get latest detected gesture +int GetGestureDetected(void) +{ + // Get current gesture only if enabled + return (enabledGestures & currentGesture); +} + +// Hold time measured in ms +float GetGestureHoldDuration(void) +{ + // NOTE: time is calculated on current gesture HOLD + + float time = 0.0f; + + if (currentGesture == GESTURE_HOLD) time = (float)GetCurrentTime() - timeHold; + + return time; +} + +// Get drag vector (between initial touch point to current) +Vector2 GetGestureDragVector(void) +{ + // NOTE: drag vector is calculated on one touch points TOUCH_MOVE + + return dragVector; +} + +// Get drag angle +// NOTE: Angle in degrees, horizontal-right is 0, counterclock-wise +float GetGestureDragAngle(void) +{ + // NOTE: drag angle is calculated on one touch points TOUCH_UP + + return dragAngle; +} + +// Get distance between two pinch points +Vector2 GetGesturePinchVector(void) +{ + // NOTE: The position values used for pinchDistance are not modified like the position values of [core.c]-->GetTouchPosition(int index) + // NOTE: pinch distance is calculated on two touch points TOUCH_MOVE + + return pinchVector; +} + +// Get angle beween two pinch points +// NOTE: Angle in degrees, horizontal-right is 0, counterclock-wise +float GetGesturePinchAngle(void) +{ + // NOTE: pinch angle is calculated on two touch points TOUCH_MOVE + + return pinchAngle; +} + +//---------------------------------------------------------------------------------- +// Module specific Functions Definition +//---------------------------------------------------------------------------------- + +// Returns angle from two-points vector with X-axis +static float Vector2Angle(Vector2 initialPosition, Vector2 finalPosition) +{ + float angle; + + angle = atan2(finalPosition.y - initialPosition.y, finalPosition.x - initialPosition.x)*(180.0f/PI); + + if (angle < 0) angle += 360.0f; + + return angle; +} + +// Calculate distance between two Vector2 +static float Vector2Distance(Vector2 v1, Vector2 v2) +{ + float result; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + + result = sqrt(dx*dx + dy*dy); + + return result; +} + +// Time measure returned are milliseconds +static double GetCurrentTime(void) +{ + double time = 0; + +#if defined(_WIN32) + unsigned long long int clockFrequency, currentTime; + + QueryPerformanceFrequency(&clockFrequency); + QueryPerformanceCounter(¤tTime); + + time = (double)currentTime/clockFrequency*1000.0f; // Time in miliseconds +#endif + +#if defined(__linux) + // NOTE: Only for Linux-based systems + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + uint64_t nowTime = (uint64_t)now.tv_sec*1000000000LLU + (uint64_t)now.tv_nsec; // Time in nanoseconds + + time = ((double)nowTime/1000000.0); // Time in miliseconds +#endif + + return time; +} + +#endif // GESTURES_IMPLEMENTATION diff --git a/src/raylib.h b/src/raylib.h index 104d5677c..1489546a0 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -570,18 +570,6 @@ typedef enum { GESTURE_PINCH_OUT = 512 } Gestures; -// Touch action (fingers or mouse) -typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; - -// Gesture events -// NOTE: MAX_TOUCH_POINTS fixed to 2 -typedef struct GestureEvent { - int touchAction; - int pointCount; - int pointerId[MAX_TOUCH_POINTS]; - Vector2 position[MAX_TOUCH_POINTS]; -} GestureEvent; - // Camera system modes typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; @@ -711,11 +699,8 @@ bool IsButtonReleased(int button); // Detect if an android //------------------------------------------------------------------------------------ void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags bool IsGestureDetected(int gesture); // Check if a gesture have been detected -void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures -void UpdateGestures(void); // Update gestures detected (called automatically in PollInputEvents()) - -int GetTouchPointsCount(void); // Get touch points count int GetGestureDetected(void); // Get latest detected gesture +int GetTouchPointsCount(void); // Get touch points count float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds Vector2 GetGestureDragVector(void); // Get gesture drag vector float GetGestureDragAngle(void); // Get gesture drag angle diff --git a/src/rlua.h b/src/rlua.h index 675edbfc8..acd0d0371 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -1313,12 +1313,6 @@ int lua_IsGestureDetected(lua_State* L) return 1; } -int lua_UpdateGestures(lua_State* L) -{ - UpdateGestures(); - return 0; -} - int lua_GetTouchPointsCount(lua_State* L) { int result = GetTouchPointsCount(); @@ -3576,10 +3570,8 @@ static luaL_Reg raylib_functions[] = { REG(SetGesturesEnabled) REG(IsGestureDetected) - //REG(ProcessGestureEvent) - REG(UpdateGestures) - REG(GetTouchPointsCount) REG(GetGestureDetected) + REG(GetTouchPointsCount) REG(GetGestureHoldDuration) REG(GetGestureDragVector) REG(GetGestureDragAngle) From 4960e6b6d7b4cba6125cfb8bb2fef043db8e5ba5 Mon Sep 17 00:00:00 2001 From: ghassanpl Date: Sat, 6 Aug 2016 16:58:48 +0200 Subject: [PATCH 031/102] Fixes for some Lua bugs --- examples/audio_module_playing.lua | 17 +- examples/core_3d_picking.lua | 4 +- examples/core_input_gamepad.lua | 2 +- examples/models_billboard.lua | 8 +- examples/models_box_collisions.lua | 8 +- examples/models_cubicmap.lua | 6 +- examples/models_heightmap.lua | 6 +- examples/models_obj_loading.lua | 4 +- examples/rlua_execute_file.c | 42 +-- examples/shaders_custom_uniform.lua | 6 +- examples/shaders_model_shader.lua | 6 +- examples/shaders_postprocessing.lua | 8 +- examples/shaders_shapes_textures.lua | 2 +- examples/shaders_standard_lighting.lua | 38 +-- examples/text_font_select.lua | 2 +- examples/text_rbmf_fonts.lua | 2 +- examples/text_writing_anim.lua | 2 +- .../textures_particles_trail_blending.lua | 18 +- games/arkanoid.lua | 297 ++++++++++++++++++ src/rlua.h | 38 ++- 20 files changed, 413 insertions(+), 103 deletions(-) create mode 100644 games/arkanoid.lua diff --git a/examples/audio_module_playing.lua b/examples/audio_module_playing.lua index c309c2537..38cf9afe2 100644 --- a/examples/audio_module_playing.lua +++ b/examples/audio_module_playing.lua @@ -11,6 +11,7 @@ MAX_CIRCLES = 64 +--[[ typedef struct { -- TODO: Find a Lua alternative: TABLES? Vector2 position float radius @@ -18,6 +19,7 @@ typedef struct { -- TODO: Find a Lua alternative: TABLES? float speed Color color } CircleWave +--]] -- Initialization ------------------------------------------------------------------------------------------- @@ -35,11 +37,13 @@ local colors = { ORANGE, RED, GOLD, LIME, BLUE, VIOLET, BROWN, LIGHTGRAY, PINK, local circles = {} for i = MAX_CIRCLES, 1, -1 do + circles[i] = {} circles[i].alpha = 0.0 circles[i].radius = GetRandomValue(10, 40) + circles[i].position = Vector2(0, 0) circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius) circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius) - circles[i].speed = (float)GetRandomValue(1, 100)/20000.0 + circles[i].speed = GetRandomValue(1, 100)/20000.0 circles[i].color = colors[GetRandomValue(1, 14)] end @@ -64,8 +68,8 @@ while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- for i = MAX_CIRCLES, 1, -1 do - circles[i].alpha += circles[i].speed - circles[i].radius += circles[i].speed*10.0 + circles[i].alpha = circles[i].alpha + circles[i].speed + circles[i].radius = circles[i].radius + circles[i].speed*10.0 if (circles[i].alpha > 1.0) then circles[i].speed = circles[i].speed*-1 end @@ -75,7 +79,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius) circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius) circles[i].color = colors[GetRandomValue(0, 13)] - circles[i].speed = (float)GetRandomValue(1, 100)/20000.0 + circles[i].speed = GetRandomValue(1, 100)/20000.0 end end @@ -108,7 +112,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key -- Draw time bar DrawRectangle(20, screenHeight - 20 - 12, screenWidth - 40, 12, LIGHTGRAY) - DrawRectangle(20, screenHeight - 20 - 12, (int)timePlayed, 12, MAROON) + DrawRectangle(20, screenHeight - 20 - 12, timePlayed, 12, MAROON) DrawRectangleLines(20, screenHeight - 20 - 12, screenWidth - 40, 12, WHITE) EndDrawing() @@ -126,6 +130,3 @@ CloseAudioDevice() -- Close audio device (music streaming is automatically s CloseWindow() -- Close window and OpenGL context ------------------------------------------------------------------------------------------- - -return 0 -} \ No newline at end of file diff --git a/examples/core_3d_picking.lua b/examples/core_3d_picking.lua index f3f285304..2e1dc7c42 100644 --- a/examples/core_3d_picking.lua +++ b/examples/core_3d_picking.lua @@ -49,8 +49,8 @@ while not WindowShouldClose() do -- Detect window close button or ESC -- Check collision between ray and box collision = CheckCollisionRayBox(ray, - (BoundingBox){(Vector3){ cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2 }, - (Vector3){ cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2 }}) + (BoundingBox)((Vector3)(cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2), + (Vector3)(cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2))) end --------------------------------------------------------------------------------------- diff --git a/examples/core_input_gamepad.lua b/examples/core_input_gamepad.lua index eea2532cc..78d9b84e8 100644 --- a/examples/core_input_gamepad.lua +++ b/examples/core_input_gamepad.lua @@ -36,7 +36,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key ballPosition.x = ballPosition.x + gamepadMovement.x ballPosition.y = ballPosition.y - gamepadMovement.y - if (IsGamepadButtonPressed(GAMEPAD_PLAYER1, GAMEPAD_BUTTON_A)) then + if (IsGamepadButtonPressed(GAMEPAD.PLAYER1, GAMEPAD.BUTTON_A)) then ballPosition.x = screenWidth/2 ballPosition.y = screenHeight/2 end diff --git a/examples/models_billboard.lua b/examples/models_billboard.lua index 22f3a6c36..25b005101 100644 --- a/examples/models_billboard.lua +++ b/examples/models_billboard.lua @@ -22,7 +22,7 @@ local camera = Camera(Vector3(5.0, 4.0, 5.0), Vector3(0.0, 2.0, 0.0), Vector3(0. local bill = LoadTexture("resources/billboard.png") -- Our texture billboard local billPosition = Vector3(0.0, 2.0, 0.0) -- Position where draw billboard -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our camera position SetCameraTarget(camera.target) -- Set internal camera target to match our camera target SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y @@ -34,7 +34,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-secon while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw @@ -45,9 +45,9 @@ while not WindowShouldClose() do -- Detect window close button or ESC Begin3dMode(camera) - DrawBillboard(camera, bill, billPosition, 2.0f, WHITE) + DrawBillboard(camera, bill, billPosition, 2.0, WHITE) - DrawGrid(10, 1.0f) -- Draw a grid + DrawGrid(10, 1.0) -- Draw a grid End3dMode() diff --git a/examples/models_box_collisions.lua b/examples/models_box_collisions.lua index f2cbb154d..d8b2e4b54 100644 --- a/examples/models_box_collisions.lua +++ b/examples/models_box_collisions.lua @@ -40,10 +40,10 @@ while not WindowShouldClose() do -- Detect window close button or ESC --------------------------------------------------------------------------------------- -- Move player - if (IsKeyDown(KEY.RIGHT)) then playerPosition.x = playerPosition.x + 0.2f end - elseif (IsKeyDown(KEY.LEFT)) then playerPosition.x = playerPosition.x - 0.2f end - elseif (IsKeyDown(KEY.DOWN)) then playerPosition.z = playerPosition.z + 0.2f end - elseif (IsKeyDown(KEY.UP)) then playerPosition.z = playerPosition.z - 0.2f end + if (IsKeyDown(KEY.RIGHT)) then playerPosition.x = playerPosition.x + 0.2 + elseif (IsKeyDown(KEY.LEFT)) then playerPosition.x = playerPosition.x - 0.2 + elseif (IsKeyDown(KEY.DOWN)) then playerPosition.z = playerPosition.z + 0.2 + elseif (IsKeyDown(KEY.UP)) then playerPosition.z = playerPosition.z - 0.2 end collision = false diff --git a/examples/models_cubicmap.lua b/examples/models_cubicmap.lua index 293f1b3a4..53cb2c12d 100644 --- a/examples/models_cubicmap.lua +++ b/examples/models_cubicmap.lua @@ -31,7 +31,7 @@ local mapPosition = Vector3(-16.0, 0.0, -8.0) -- Set model position UnloadImage(image) -- Unload cubesmap image from RAM, already uploaded to VRAM -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our custom camera position SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y @@ -42,7 +42,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-secon while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw @@ -57,7 +57,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC End3dMode() - DrawTextureEx(cubicmap, (Vector2){ screenWidth - cubicmap.width*4 - 20, 20 }, 0.0, 4.0, WHITE) + DrawTextureEx(cubicmap, (Vector2)(screenWidth - cubicmap.width*4 - 20, 20), 0.0, 4.0, WHITE) DrawRectangleLines(screenWidth - cubicmap.width*4 - 20, 20, cubicmap.width*4, cubicmap.height*4, GREEN) DrawText("cubicmap image used to", 658, 90, 10, GRAY) diff --git a/examples/models_heightmap.lua b/examples/models_heightmap.lua index f78e3af55..6d7f6f3f6 100644 --- a/examples/models_heightmap.lua +++ b/examples/models_heightmap.lua @@ -21,13 +21,13 @@ local camera = Camera(Vector3(18.0, 16.0, 18.0), Vector3(0.0, 0.0, 0.0), Vector3 local image = LoadImage("resources/heightmap.png") -- Load heightmap image (RAM) local texture = LoadTextureFromImage(image) -- Convert image to texture (VRAM) -local map = LoadHeightmap(image, Vector3(16, 8, 16) -- Load heightmap model with defined size +local map = LoadHeightmap(image, Vector3(16, 8, 16)) -- Load heightmap model with defined size map.material.texDiffuse = texture -- Set map diffuse texture local mapPosition = Vector3(-8.0, 0.0, -8.0) -- Set model position (depends on model scaling!) UnloadImage(image) -- Unload heightmap image from RAM, already uploaded to VRAM -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our custom camera position SetTargetFPS(60) -- Set our game to run at 60 frames-per-second @@ -37,7 +37,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-secon while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/models_obj_loading.lua b/examples/models_obj_loading.lua index c534ecae6..7e5c7c4b6 100644 --- a/examples/models_obj_loading.lua +++ b/examples/models_obj_loading.lua @@ -42,9 +42,9 @@ while not WindowShouldClose() do -- Detect window close button or ESC Begin3dMode(camera) - DrawModel(dwarf, position, 2.0f, WHITE) -- Draw 3d model with texture + DrawModel(dwarf, position, 2.0, WHITE) -- Draw 3d model with texture - DrawGrid(10, 1.0f) -- Draw a grid + DrawGrid(10, 1.0) -- Draw a grid DrawGizmo(position) -- Draw gizmo diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index 762159f39..5c2d86540 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -29,8 +29,8 @@ int main() //-------------------------------------------------------------------------------------- // ExecuteLuaFile("core_basic_window.lua"); // OK! - // ExecuteLuaFile("core_input_keys.lua"); // OK! - // ExecuteLuaFile("core_input_mouse.lua"); // OK! + // ExecuteLuaFile("core_input_keys.lua"); // OK! + // ExecuteLuaFile("core_input_mouse.lua"); // OK! // ExecuteLuaFile("core_mouse_wheel.lua"); // OK! // ExecuteLuaFile("core_input_gamepad.lua"); // OK! // ExecuteLuaFile("core_random_values.lua"); // OK! @@ -55,31 +55,31 @@ int main() // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! // ExecuteLuaFile("textures_to_image.lua"); // OK! // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked - // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct - // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() - // ExecuteLuaFile("textures_image_drawing.lua"); // OK! - // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! - // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! - // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value - // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() - // ExecuteLuaFile("text_font_select.lua"); // OK! - // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() - // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) - // ExecuteLuaFile("models_box_collisions.lua"); // - // ExecuteLuaFile("models_billboard.lua"); // - // ExecuteLuaFile("models_obj_loading.lua"); // - // ExecuteLuaFile("models_heightmap.lua"); // + // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked + // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct + // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() + // ExecuteLuaFile("textures_image_drawing.lua"); // OK! + // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! + // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! + // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value + // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() + // ExecuteLuaFile("text_font_select.lua"); // OK! + // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() + // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) + // ExecuteLuaFile("models_box_collisions.lua"); // + // ExecuteLuaFile("models_billboard.lua"); // + // ExecuteLuaFile("models_obj_loading.lua"); // + // ExecuteLuaFile("models_heightmap.lua"); // // ExecuteLuaFile("models_cubicmap.lua"); // - // ExecuteLuaFile("shaders_model_shader.lua"); // - // ExecuteLuaFile("shaders_shapes_textures.lua"); // + // ExecuteLuaFile("shaders_model_shader.lua"); // + // ExecuteLuaFile("shaders_shapes_textures.lua"); // // ExecuteLuaFile("shaders_custom_uniform.lua"); // // ExecuteLuaFile("shaders_postprocessing.lua"); // // ExecuteLuaFile("shaders_standard_lighting.lua"); // // ExecuteLuaFile("audio_sound_loading.lua"); // OK! // ExecuteLuaFile("audio_music_stream.lua"); // OK! - // ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct - // ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() + ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct + ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization //-------------------------------------------------------------------------------------- diff --git a/examples/shaders_custom_uniform.lua b/examples/shaders_custom_uniform.lua index dbb672e62..b4e4d483f 100644 --- a/examples/shaders_custom_uniform.lua +++ b/examples/shaders_custom_uniform.lua @@ -26,7 +26,7 @@ SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x InitWindow(screenWidth, screenHeight, "raylib [shaders] example - custom uniform variable") -- Define the camera to look into our 3d world -local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture (diffuse map) @@ -47,7 +47,7 @@ local swirlCenter = { screenWidth/2, screenHeight/2 } local target = LoadRenderTexture(screenWidth, screenHeight) -- Setup orbital camera -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our camera position SetCameraTarget(camera.target) -- Set internal camera target to match our camera target @@ -66,7 +66,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key -- Send new value to the shader to be used on drawing SetShaderValue(shader, swirlCenterLoc, swirlCenter, 2) - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/shaders_model_shader.lua b/examples/shaders_model_shader.lua index deaca11c9..b31c86092 100644 --- a/examples/shaders_model_shader.lua +++ b/examples/shaders_model_shader.lua @@ -26,7 +26,7 @@ SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x InitWindow(screenWidth, screenHeight, "raylib [shaders] example - model shader") -- Define the camera to look into our 3d world -local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture @@ -39,7 +39,7 @@ dwarf.material.texDiffuse = texture -- Bind texture to model local position = Vector3(0.0, 0.0, 0.0) -- Set model position -- Setup orbital camera -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our camera position SetCameraTarget(camera.target) -- Set internal camera target to match our camera target @@ -50,7 +50,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-pe while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/shaders_postprocessing.lua b/examples/shaders_postprocessing.lua index 9e4dfa006..0913fbbdf 100644 --- a/examples/shaders_postprocessing.lua +++ b/examples/shaders_postprocessing.lua @@ -26,7 +26,7 @@ SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x InitWindow(screenWidth, screenHeight, "raylib [shaders] example - postprocessing shader") -- Define the camera to look into our 3d world -local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) +local camera = Camera(Vector3(3.0, 3.0, 3.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model local texture = LoadTexture("resources/model/dwarf_diffuse.png") -- Load model texture (diffuse map) @@ -41,7 +41,7 @@ local shader = LoadShader("resources/shaders/glsl330/base.vs", local target = LoadRenderTexture(screenWidth, screenHeight) -- Setup orbital camera -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our camera position SetCameraTarget(camera.target) -- Set internal camera target to match our camera target @@ -52,7 +52,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-s while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw @@ -88,7 +88,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key EndDrawing() --------------------------------------------------------------------------------------- -} +end -- De-Initialization ------------------------------------------------------------------------------------------- diff --git a/examples/shaders_shapes_textures.lua b/examples/shaders_shapes_textures.lua index 0adbefd2e..caaeba1a7 100644 --- a/examples/shaders_shapes_textures.lua +++ b/examples/shaders_shapes_textures.lua @@ -90,7 +90,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key EndDrawing() --------------------------------------------------------------------------------------- -} +end -- De-Initialization ------------------------------------------------------------------------------------------- diff --git a/examples/shaders_standard_lighting.lua b/examples/shaders_standard_lighting.lua index e8171a5f4..7c354d543 100644 --- a/examples/shaders_standard_lighting.lua +++ b/examples/shaders_standard_lighting.lua @@ -26,7 +26,7 @@ SetConfigFlags(FLAG.MSAA_4X_HINT) -- Enable Multi Sampling Anti Aliasing 4x InitWindow(screenWidth, screenHeight, "raylib [shaders] example - model shader") -- Define the camera to look into our 3d world -local camera = Camera(Vector3(4.0, 4.0, 4.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0)) +local camera = Camera(Vector3(4.0, 4.0, 4.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) local position = Vector3(0.0, 0.0, 0.0) -- Set model position local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model @@ -37,30 +37,30 @@ material.texDiffuse = LoadTexture("resources/model/dwarf_diffuse.png") -- Load material.texNormal = LoadTexture("resources/model/dwarf_normal.png") -- Load model normal texture material.texSpecular = LoadTexture("resources/model/dwarf_specular.png") -- Load model specular texture material.colDiffuse = WHITE -material.colAmbient = (Color){0, 0, 10, 255} +material.colAmbient = (Color)(0, 0, 10, 255) material.colSpecular = WHITE -material.glossiness = 50.0f +material.glossiness = 50.0 dwarf.material = material -- Apply material to model -local spotLight = CreateLight(LIGHT_SPOT, (Vector3){3.0f, 5.0f, 2.0f}, (Color){255, 255, 255, 255}) -spotLight->target = (Vector3){0.0f, 0.0f, 0.0f} -spotLight->intensity = 2.0f -spotLight->diffuse = (Color){255, 100, 100, 255} -spotLight->coneAngle = 60.0f +local spotLight = CreateLight(LIGHT_SPOT, (Vector3)(3.0, 5.0, 2.0), (Color)(255, 255, 255, 255)) +spotLight.target = (Vector3)(0.0, 0.0, 0.0) +spotLight.intensity = 2.0 +spotLight.diffuse = (Color)(255, 100, 100, 255) +spotLight.coneAngle = 60.0 -local dirLight = CreateLight(LIGHT_DIRECTIONAL, (Vector3){0.0f, -3.0f, -3.0f}, (Color){255, 255, 255, 255}) -dirLight->target = (Vector3){1.0f, -2.0f, -2.0f} -dirLight->intensity = 2.0f -dirLight->diffuse = (Color){100, 255, 100, 255} +local dirLight = CreateLight(LIGHT_DIRECTIONAL, (Vector3)(0.0, -3.0, -3.0), (Color)(255, 255, 255, 255)) +dirLight.target = (Vector3)(1.0, -2.0, -2.0) +dirLight.intensity = 2.0 +dirLight.diffuse = (Color)(100, 255, 100, 255) -local pointLight = CreateLight(LIGHT_POINT, (Vector3){0.0f, 4.0f, 5.0f}, (Color){255, 255, 255, 255}) -pointLight->intensity = 2.0f -pointLight->diffuse = (Color){100, 100, 255, 255} -pointLight->radius = 3.0f +local pointLight = CreateLight(LIGHT_POINT, (Vector3)(0.0, 4.0, 5.0), (Color)(255, 255, 255, 255)) +pointLight.intensity = 2.0 +pointLight.diffuse = (Color)(100, 100, 255, 255) +pointLight.radius = 3.0 -- Setup orbital camera -SetCameraMode(CAMERA.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our camera position SetCameraTarget(camera.target) -- Set internal camera target to match our camera target @@ -71,7 +71,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-s while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(&camera) -- Update internal camera and our camera + UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw @@ -98,7 +98,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key EndDrawing() --------------------------------------------------------------------------------------- -} +end -- De-Initialization ------------------------------------------------------------------------------------------- diff --git a/examples/text_font_select.lua b/examples/text_font_select.lua index e04f60243..f6cea8818 100644 --- a/examples/text_font_select.lua +++ b/examples/text_font_select.lua @@ -87,7 +87,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC btnNextInColor = PURPLE end - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) then + if (IsMouseButtonDown(MOUSE.LEFT_BUTTON)) then framesCounter = 20 -- Frames button is 'active' btnNextOutColor = MAROON btnNextInColor = RED diff --git a/examples/text_rbmf_fonts.lua b/examples/text_rbmf_fonts.lua index d89e40715..0e0e41423 100644 --- a/examples/text_rbmf_fonts.lua +++ b/examples/text_rbmf_fonts.lua @@ -50,7 +50,7 @@ for i = 1, 8 do positions[i].y = 60 + fonts[i].size + 50*i end -local colors = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD } +local colors = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, BLACK } SetTargetFPS(60) -- Set target frames-per-second ------------------------------------------------------------------------------------------- diff --git a/examples/text_writing_anim.lua b/examples/text_writing_anim.lua index 37f1efbad..05195dc44 100644 --- a/examples/text_writing_anim.lua +++ b/examples/text_writing_anim.lua @@ -38,7 +38,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC ClearBackground(RAYWHITE) - DrawText(SubText(message, 0, framesCounter/10), 210, 160, 20, MAROON) + DrawText(string.sub(message, 0, framesCounter/10), 210, 160, 20, MAROON) DrawText("PRESS [ENTER] to RESTART!", 240, 280, 20, LIGHTGRAY) diff --git a/examples/textures_particles_trail_blending.lua b/examples/textures_particles_trail_blending.lua index d5ba7841e..38036bcf2 100644 --- a/examples/textures_particles_trail_blending.lua +++ b/examples/textures_particles_trail_blending.lua @@ -12,15 +12,6 @@ MAX_PARTICLES = 200 -- Particle structure with basic data -struct.Particle { - position, - color, - alpha, - size, - rotation, - active -- NOTE: Use it to activate/deactive particle -} - -- Initialization ------------------------------------------------------------------------------------------- local screenWidth = 800 @@ -33,6 +24,7 @@ local mouseTail = {} -- Initialize particles for i = 1, MAX_PARTICLES do + mouseTail[i] = {} mouseTail[i].position = Vector2(0, 0) mouseTail[i].color = Color(GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255) mouseTail[i].alpha = 1.0 @@ -45,7 +37,7 @@ local gravity = 3.0 local smoke = LoadTexture("resources/smoke.png") -local blending = BLEND.ALPHA +local blending = BlendMode.ALPHA SetTargetFPS(60) ------------------------------------------------------------------------------------------- @@ -80,8 +72,8 @@ while not WindowShouldClose() do -- Detect window close button or ESC end if (IsKeyPressed(KEY.SPACE)) then - if (blending == BLEND.ALPHA) then blending = BLEND_ADDITIVE - else blending = BLEND.ALPHA end + if (blending == BlendMode.ALPHA) then blending = BlendMode.ADDITIVE + else blending = BlendMode.ALPHA end end --------------------------------------------------------------------------------------- @@ -107,7 +99,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK) - if (blending == BLEND_ALPHA) then DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK) + if (blending == BlendMode.ALPHA) then DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK) else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE) end EndDrawing() diff --git a/games/arkanoid.lua b/games/arkanoid.lua new file mode 100644 index 000000000..2dc592470 --- /dev/null +++ b/games/arkanoid.lua @@ -0,0 +1,297 @@ +--[[ + + raylib - sample game: arkanoid + + Sample game Marc Palau and Ramon Santamaria + + This game has been created using raylib v1.3 (www.raylib.com) + raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) + + Copyright (c) 2015 Ramon Santamaria (@raysan5) + + Translated to Lua by Ghassan Al-Mashareqa (ghassan@ghassan.pl) + +--]] + +------------------------------------------------------------------------------------ +-- Some Defines +------------------------------------------------------------------------------------ +PLAYER_MAX_LIFE = 5 +LINES_OF_BRICKS = 5 +BRICKS_PER_LINE = 20 + +------------------------------------------------------------------------------------ +-- Types and Structures Definition +------------------------------------------------------------------------------------ + +GameScreen = { LOGO = 0, TITLE = 1, GAMEPLAY = 2, ENDING = 3 } + +function Player() + return { position = Vector2(0,0), size = Vector2(0,0), life = 0 } +end + +function Ball() + return { position = Vector2(0,0), speed = Vector2(0,0), radius = 0, active = false } +end + +function Brick() + return { position = Vector2(0,0), active = false } +end + +-------------------------------------------------------------------------------------- +-- Global Variables Declaration +-------------------------------------------------------------------------------------- +screenWidth = 800; +screenHeight = 450; + +framesCounter = 0; +gameOver = false; +pause = false; + +player = Player() +ball = Ball() +brick = {}--[LINES_OF_BRICKS][BRICKS_PER_LINE]; +for i = 0, LINES_OF_BRICKS-1 do + brick[i] = {} + for j = 0, BRICKS_PER_LINE-1 do + brick[i][j] = Brick() + end +end +brickSize = Vector2(0,0) + + +-------------------------------------------------------------------------------------- +-- Module Functions Definitions (local) +-------------------------------------------------------------------------------------- + +-- Initialize game variables +function InitGame() + + brickSize = Vector2(GetScreenWidth()/BRICKS_PER_LINE, 40) + + -- Initialize player + player.position = Vector2(screenWidth/2, screenHeight*7/8) + player.size = Vector2(screenWidth/10, 20) + player.life = PLAYER_MAX_LIFE; + + -- Initialize ball + ball.position = Vector2(screenWidth/2, screenHeight*7/8 - 30) + ball.speed = Vector2(0, 0) + ball.radius = 7; + ball.active = false; + + -- Initialize bricks + local initialDownPosition = 50; + + for i = 0, LINES_OF_BRICKS-1 do + for j = 0, BRICKS_PER_LINE-1 do + brick[i][j].position = Vector2(j*brickSize.x + brickSize.x/2, i*brickSize.y + initialDownPosition) + brick[i][j].active = true; + end + end +end + +-- Update game (one frame) +function UpdateGame() + + if (not gameOver) then + if (IsKeyPressed(KEY.P)) then pause = not pause; end + + if (not pause) then + -- Player movement + if (IsKeyDown(KEY.LEFT)) then player.position.x = player.position.x - 5; end + if ((player.position.x - player.size.x/2) <= 0) then player.position.x = player.size.x/2; end + if (IsKeyDown(KEY.RIGHT)) then player.position.x = player.position.x + 5; end + if ((player.position.x + player.size.x/2) >= screenWidth) then player.position.x = screenWidth - player.size.x/2; end + + -- Launch ball + if (not ball.active) then + if (IsKeyPressed(KEY.SPACE)) then + ball.active = true; + ball.speed = Vector2(0, -5) + end + end + + UpdateBall(); + + -- Game over logic + if (player.life <= 0) then + gameOver = true; + else + gameOver = true; + + for i = 0, LINES_OF_BRICKS-1 do + for j = 0, BRICKS_PER_LINE-1 do + if (brick[i][j].active) then gameOver = false; end + end + end + end + end + else + if (IsKeyPressed(KEY.ENTER)) then + InitGame(); + gameOver = false; + end + end + +end + +-- Draw game (one frame) +function DrawGame() + + BeginDrawing(); + + ClearBackground(RAYWHITE); + + if (not gameOver) then + -- Draw player bar + DrawRectangle(player.position.x - player.size.x/2, player.position.y - player.size.y/2, player.size.x, player.size.y, BLACK); + + -- Draw player lives + for i = 0, player.life-1 do + DrawRectangle(20 + 40*i, screenHeight - 30, 35, 10, LIGHTGRAY); + end + + -- Draw ball + DrawCircleV(ball.position, ball.radius, MAROON); + + -- Draw bricks + for i = 0, LINES_OF_BRICKS-1 do + for j = 0, BRICKS_PER_LINE-1 do + if (brick[i][j].active) then + if ((i + j) % 2 == 0) then + DrawRectangle(brick[i][j].position.x - brickSize.x/2, brick[i][j].position.y - brickSize.y/2, brickSize.x, brickSize.y, GRAY); + else + DrawRectangle(brick[i][j].position.x - brickSize.x/2, brick[i][j].position.y - brickSize.y/2, brickSize.x, brickSize.y, DARKGRAY); + end + end + end + end + + if (pause) then + DrawText("GAME PAUSED", screenWidth/2 - MeasureText("GAME PAUSED", 40)/2, screenHeight/2 - 40, 40, GRAY); + end + else + DrawText("PRESS [ENTER] TO PLAY AGAIN", GetScreenWidth()/2 - MeasureText("PRESS [ENTER] TO PLAY AGAIN", 20)/2, GetScreenHeight()/2 - 50, 20, GRAY); + end + + EndDrawing(); +end + +-- Unload game variables +function UnloadGame() + -- TODO: Unload all dynamic loaded data (textures, sounds, models...) +end + +-- Update and Draw (one frame) +function UpdateDrawFrame() + UpdateGame(); + DrawGame(); +end + +---------------------------------------------------------------------------------------- +-- Additional module functions +---------------------------------------------------------------------------------------- +function UpdateBall() + -- Update position + if (ball.active) then + ball.position.x = ball.position.x + ball.speed.x; + ball.position.y = ball.position.y + ball.speed.y; + else + ball.position = Vector2(player.position.x, screenHeight*7/8 - 30); + end + + -- Bounce in x + if (((ball.position.x + ball.radius) >= screenWidth) or ((ball.position.x - ball.radius) <= 0)) + then + ball.speed.x = ball.speed.x * -1; + end + + -- Bounce in y + if ((ball.position.y - ball.radius) <= 0) then + ball.speed.y = ball.speed.y * -1; + end + + -- Ball reaches bottom of the screen + if ((ball.position.y + ball.radius) >= screenHeight) then + ball.speed = Vector2(0, 0); + ball.active = false; + + player.life = player.life - 1; + end + + -- Collision logic: ball vs player + if CheckCollisionCircleRec(ball.position, ball.radius, + Rectangle( + player.position.x - player.size.x/2, + player.position.y - player.size.y/2, + player.size.x, + player.size.y)) then + if (ball.speed.y > 0) then + ball.speed.y = ball.speed.y * -1; + ball.speed.x = (ball.position.x - player.position.x)/(player.size.x/2)*5; + end + end + + -- Collision logic: ball vs bricks + for i = 0,LINES_OF_BRICKS-1 do + for j = 0,BRICKS_PER_LINE-1 do + if (brick[i][j].active) then + -- Hit below + if (((ball.position.y - ball.radius) <= (brick[i][j].position.y + brickSize.y/2)) and + ((ball.position.y - ball.radius) > (brick[i][j].position.y + brickSize.y/2 + ball.speed.y)) and + ((math.abs(ball.position.x - brick[i][j].position.x)) < (brickSize.x/2 + ball.radius*2/3)) and (ball.speed.y < 0)) + then + brick[i][j].active = false; + ball.speed.y = ball.speed.y * -1; + -- Hit above + elseif (((ball.position.y + ball.radius) >= (brick[i][j].position.y - brickSize.y/2)) and + ((ball.position.y + ball.radius) < (brick[i][j].position.y - brickSize.y/2 + ball.speed.y)) and + ((math.abs(ball.position.x - brick[i][j].position.x)) < (brickSize.x/2 + ball.radius*2/3)) and (ball.speed.y > 0)) + then + brick[i][j].active = false; + ball.speed.y = ball.speed.y * -1; + -- Hit left + elseif (((ball.position.x + ball.radius) >= (brick[i][j].position.x - brickSize.x/2)) and + ((ball.position.x + ball.radius) < (brick[i][j].position.x - brickSize.x/2 + ball.speed.x)) and + ((math.abs(ball.position.y - brick[i][j].position.y)) < (brickSize.y/2 + ball.radius*2/3)) and (ball.speed.x > 0)) + then + brick[i][j].active = false; + ball.speed.x = ball.speed.x * -1; + -- Hit right + elseif (((ball.position.x - ball.radius) <= (brick[i][j].position.x + brickSize.x/2)) and + ((ball.position.x - ball.radius) > (brick[i][j].position.x + brickSize.x/2 + ball.speed.x)) and + ((math.abs(ball.position.y - brick[i][j].position.y)) < (brickSize.y/2 + ball.radius*2/3)) and (ball.speed.x < 0)) + then + brick[i][j].active = false; + ball.speed.x = ball.speed.x * -1; + end + end + end + end +end + +InitWindow(screenWidth, screenHeight, "sample game: arkanoid"); + +InitGame(); + +SetTargetFPS(60); +---------------------------------------------------------------------------------------- + +-- Main game loop +while (not WindowShouldClose()) -- Detect window close button or ESC key +do + -- Update + ------------------------------------------------------------------------------------ + UpdateGame(); + ------------------------------------------------------------------------------------ + + -- Draw + ------------------------------------------------------------------------------------ + DrawGame(); + ------------------------------------------------------------------------------------ +end + +UnloadGame(); -- Unload loaded data (textures, sounds, models...) + +CloseWindow(); -- Close window and OpenGL context diff --git a/src/rlua.h b/src/rlua.h index 675edbfc8..ee7766abb 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -325,6 +325,7 @@ static void LuaBuildOpaqueMetatables(void) static Vector2 LuaGetArgument_Vector2(lua_State* L, int index) { + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector2"); float x = (float)lua_tonumber(L, -1); luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector2"); @@ -335,6 +336,7 @@ static Vector2 LuaGetArgument_Vector2(lua_State* L, int index) static Vector3 LuaGetArgument_Vector3(lua_State* L, int index) { + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector3"); float x = (float)lua_tonumber(L, -1); luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector3"); @@ -347,6 +349,7 @@ static Vector3 LuaGetArgument_Vector3(lua_State* L, int index) static Quaternion LuaGetArgument_Quaternion(lua_State* L, int index) { + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Quaternion"); float x = (float)lua_tonumber(L, -1); luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Quaternion"); @@ -361,6 +364,7 @@ static Quaternion LuaGetArgument_Quaternion(lua_State* L, int index) static Color LuaGetArgument_Color(lua_State* L, int index) { + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "r") == LUA_TNUMBER, index, "Expected Color"); unsigned char r = (unsigned char)lua_tointeger(L, -1); luaL_argcheck(L, lua_getfield(L, index, "g") == LUA_TNUMBER, index, "Expected Color"); @@ -375,6 +379,7 @@ static Color LuaGetArgument_Color(lua_State* L, int index) static Rectangle LuaGetArgument_Rectangle(lua_State* L, int index) { + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Rectangle"); int x = (int)lua_tointeger(L, -1); luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Rectangle"); @@ -390,13 +395,14 @@ static Rectangle LuaGetArgument_Rectangle(lua_State* L, int index) static Camera LuaGetArgument_Camera(lua_State* L, int index) { Camera result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Camera"); result.position = LuaGetArgument_Vector3(L, -1); luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera"); result.target = LuaGetArgument_Vector3(L, -1); luaL_argcheck(L, lua_getfield(L, index, "up") == LUA_TTABLE, index, "Expected Camera"); result.up = LuaGetArgument_Vector3(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "fovy") == LUA_TTABLE, index, "Expected Camera"); + luaL_argcheck(L, lua_getfield(L, index, "fovy") == LUA_TNUMBER, index, "Expected Camera"); result.fovy = LuaGetArgument_float(L, -1); lua_pop(L, 4); return result; @@ -405,13 +411,14 @@ static Camera LuaGetArgument_Camera(lua_State* L, int index) static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index) { Camera2D result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "offset") == LUA_TTABLE, index, "Expected Camera2D"); result.offset = LuaGetArgument_Vector2(L, -1); luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera2D"); result.target = LuaGetArgument_Vector2(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "rotation") == LUA_TTABLE, index, "Expected Camera2D"); + luaL_argcheck(L, lua_getfield(L, index, "rotation") == LUA_TNUMBER, index, "Expected Camera2D"); result.rotation = LuaGetArgument_float(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "zoom") == LUA_TTABLE, index, "Expected Camera2D"); + luaL_argcheck(L, lua_getfield(L, index, "zoom") == LUA_TNUMBER, index, "Expected Camera2D"); result.zoom = LuaGetArgument_float(L, -1); lua_pop(L, 4); return result; @@ -420,6 +427,7 @@ static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index) static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) { BoundingBox result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "min") == LUA_TTABLE, index, "Expected BoundingBox"); result.min = LuaGetArgument_Vector3(L, -1); luaL_argcheck(L, lua_getfield(L, index, "max") == LUA_TTABLE, index, "Expected BoundingBox"); @@ -431,6 +439,7 @@ static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) static Ray LuaGetArgument_Ray(lua_State* L, int index) { Ray result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Ray"); result.position = LuaGetArgument_Vector3(L, -1); luaL_argcheck(L, lua_getfield(L, index, "direction") == LUA_TTABLE, index, "Expected Ray"); @@ -443,10 +452,12 @@ static Matrix LuaGetArgument_Matrix(lua_State* L, int index) { Matrix result = { 0 }; float* ptr = &result.m0; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + for (int i = 0; i < 16; i++) { - lua_geti(L, -1, i+1); - ptr[i] = luaL_checkinteger(L, -1); + lua_geti(L, index, i+1); + ptr[i] = luaL_checknumber(L, -1); } lua_pop(L, 16); return result; @@ -455,6 +466,7 @@ static Matrix LuaGetArgument_Matrix(lua_State* L, int index) static Material LuaGetArgument_Material(lua_State* L, int index) { Material result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "shader") == LUA_TUSERDATA, index, "Expected Material"); result.shader = LuaGetArgument_Shader(L, -1); luaL_argcheck(L, lua_getfield(L, index, "texDiffuse") == LUA_TUSERDATA, index, "Expected Material"); @@ -463,13 +475,13 @@ static Material LuaGetArgument_Material(lua_State* L, int index) result.texNormal = LuaGetArgument_Texture2D(L, -1); luaL_argcheck(L, lua_getfield(L, index, "texSpecular") == LUA_TUSERDATA, index, "Expected Material"); result.texSpecular = LuaGetArgument_Texture2D(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "colDiffuse") == LUA_TUSERDATA, index, "Expected Material"); + luaL_argcheck(L, lua_getfield(L, index, "colDiffuse") == LUA_TTABLE, index, "Expected Material"); result.colDiffuse = LuaGetArgument_Color(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "colAmbient") == LUA_TUSERDATA, index, "Expected Material"); + luaL_argcheck(L, lua_getfield(L, index, "colAmbient") == LUA_TTABLE, index, "Expected Material"); result.colAmbient = LuaGetArgument_Color(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "colSpecular") == LUA_TUSERDATA, index, "Expected Material"); + luaL_argcheck(L, lua_getfield(L, index, "colSpecular") == LUA_TTABLE, index, "Expected Material"); result.colSpecular = LuaGetArgument_Color(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "glossiness") == LUA_TUSERDATA, index, "Expected Material"); + luaL_argcheck(L, lua_getfield(L, index, "glossiness") == LUA_TNUMBER, index, "Expected Material"); result.glossiness = LuaGetArgument_float(L, -1); lua_pop(L, 8); return result; @@ -478,6 +490,7 @@ static Material LuaGetArgument_Material(lua_State* L, int index) static Model LuaGetArgument_Model(lua_State* L, int index) { Model result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "mesh") == LUA_TUSERDATA, index, "Expected Model"); result.mesh = LuaGetArgument_Mesh(L, -1); luaL_argcheck(L, lua_getfield(L, index, "transform") == LUA_TTABLE, index, "Expected Model"); @@ -3637,6 +3650,7 @@ static luaL_Reg raylib_functions[] = { REG(LoadRenderTexture) REG(UnloadImage) REG(UnloadTexture) + REG(UnloadRenderTexture) REG(GetImageData) REG(GetTextureData) REG(ImageToPOT) @@ -3698,6 +3712,10 @@ static luaL_Reg raylib_functions[] = { REG(LoadHeightmap) REG(LoadCubicmap) REG(UnloadModel) + REG(LoadMaterial) + REG(LoadDefaultMaterial) + REG(LoadStandardMaterial) + REG(UnloadMaterial) //REG(GenMesh*) // Not ready yet... REG(DrawModel) @@ -3972,6 +3990,8 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("XBOX_AXIS_RIGHT_Y", 3); LuaSetEnum("XBOX_AXIS_LT_RT", 2); #endif + LuaSetEnum("XBOX_AXIS_LEFT_X", 0); + LuaSetEnum("XBOX_AXIS_LEFT_Y", 1); LuaEndEnum("GAMEPAD"); lua_pushglobaltable(L); From 865b216ebef8e62a19f3a264001ddf17601f95c5 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 19:29:58 +0200 Subject: [PATCH 032/102] Updated Lua examples Most of the examples already working! Only some of them still fail, mostly related to data arrays... --- examples/audio_module_playing.lua | 14 +--- examples/core_2d_camera.lua | 2 +- examples/core_3d_picking.lua | 8 ++- examples/core_world_screen.lua | 2 +- examples/models_billboard.lua | 2 +- examples/models_box_collisions.lua | 2 +- examples/models_cubicmap.lua | 8 +-- examples/models_heightmap.lua | 2 +- examples/rlua_execute_file.c | 66 +++++++++---------- examples/shaders_custom_uniform.lua | 2 +- examples/shaders_model_shader.lua | 2 +- examples/shaders_postprocessing.lua | 2 +- examples/shaders_standard_lighting.lua | 24 +++---- examples/text_rbmf_fonts.lua | 2 +- examples/text_writing_anim.lua | 2 +- .../textures_particles_trail_blending.lua | 5 +- examples/textures_raw_data.lua | 2 +- 17 files changed, 69 insertions(+), 78 deletions(-) diff --git a/examples/audio_module_playing.lua b/examples/audio_module_playing.lua index 38cf9afe2..3c5ad6410 100644 --- a/examples/audio_module_playing.lua +++ b/examples/audio_module_playing.lua @@ -11,16 +11,6 @@ MAX_CIRCLES = 64 ---[[ -typedef struct { -- TODO: Find a Lua alternative: TABLES? - Vector2 position - float radius - float alpha - float speed - Color color -} CircleWave ---]] - -- Initialization ------------------------------------------------------------------------------------------- local screenWidth = 800 @@ -78,7 +68,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key circles[i].radius = GetRandomValue(10, 40) circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius) circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius) - circles[i].color = colors[GetRandomValue(0, 13)] + circles[i].color = colors[GetRandomValue(1, 14)] circles[i].speed = GetRandomValue(1, 100)/20000.0 end end @@ -112,7 +102,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key -- Draw time bar DrawRectangle(20, screenHeight - 20 - 12, screenWidth - 40, 12, LIGHTGRAY) - DrawRectangle(20, screenHeight - 20 - 12, timePlayed, 12, MAROON) + DrawRectangle(20, screenHeight - 20 - 12, timePlayed//1, 12, MAROON) DrawRectangleLines(20, screenHeight - 20 - 12, screenWidth - 40, 12, WHITE) EndDrawing() diff --git a/examples/core_2d_camera.lua b/examples/core_2d_camera.lua index a7c0515a6..95302c265 100644 --- a/examples/core_2d_camera.lua +++ b/examples/core_2d_camera.lua @@ -91,7 +91,7 @@ while not WindowShouldClose() do -- Detect window close button or ClearBackground(RAYWHITE) - Begin2dMode(camera) -- ERROR: Lua Error: attempt to index a number value (?) + Begin2dMode(camera) DrawRectangle(-6000, 320, 13000, 8000, DARKGRAY) diff --git a/examples/core_3d_picking.lua b/examples/core_3d_picking.lua index 2e1dc7c42..1adee67c1 100644 --- a/examples/core_3d_picking.lua +++ b/examples/core_3d_picking.lua @@ -41,7 +41,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-secon while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera if (IsMouseButtonPressed(MOUSE.LEFT_BUTTON)) then -- NOTE: This function is NOT WORKING properly! @@ -49,8 +49,10 @@ while not WindowShouldClose() do -- Detect window close button or ESC -- Check collision between ray and box collision = CheckCollisionRayBox(ray, - (BoundingBox)((Vector3)(cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2), - (Vector3)(cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2))) + BoundingBox(Vector3(cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2), + Vector3(cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2))) + + --print("collision check:", collision) end --------------------------------------------------------------------------------------- diff --git a/examples/core_world_screen.lua b/examples/core_world_screen.lua index ebad41f87..51f2cdbf0 100644 --- a/examples/core_world_screen.lua +++ b/examples/core_world_screen.lua @@ -56,7 +56,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key End3dMode() - DrawText("Enemy: 100 / 100", cubeScreenPosition.x - MeasureText("Enemy: 100 / 100", 20)//2, cubeScreenPosition.y, 20, BLACK) + DrawText("Enemy: 100 / 100", cubeScreenPosition.x//1 - MeasureText("Enemy: 100 / 100", 20)//2, cubeScreenPosition.y//1, 20, BLACK) DrawText("Text is always on top of the cube", (screenWidth - MeasureText("Text is always on top of the cube", 20))//2, 25, 20, GRAY) EndDrawing() diff --git a/examples/models_billboard.lua b/examples/models_billboard.lua index 25b005101..457198e61 100644 --- a/examples/models_billboard.lua +++ b/examples/models_billboard.lua @@ -34,7 +34,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-secon while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/models_box_collisions.lua b/examples/models_box_collisions.lua index d8b2e4b54..4a3107b9f 100644 --- a/examples/models_box_collisions.lua +++ b/examples/models_box_collisions.lua @@ -60,7 +60,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC enemyBoxPos.z - enemyBoxSize.z/2), Vector3(enemyBoxPos.x + enemyBoxSize.x/2, enemyBoxPos.y + enemyBoxSize.y/2, - enemyBoxPos.z + enemyBoxSize.z/2))) then collision = true + enemyBoxPos.z + enemyBoxSize.z/2)))) then collision = true end -- Check collisions player vs enemy-sphere diff --git a/examples/models_cubicmap.lua b/examples/models_cubicmap.lua index 53cb2c12d..bae3bac21 100644 --- a/examples/models_cubicmap.lua +++ b/examples/models_cubicmap.lua @@ -32,17 +32,17 @@ local mapPosition = Vector3(-16.0, 0.0, -8.0) -- Set model position UnloadImage(image) -- Unload cubesmap image from RAM, already uploaded to VRAM SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode -SetCameraPosition(camera.position) -- Set internal camera position to match our custom camera position -SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y +SetCameraPosition(camera.position) -- Set internal camera position to match our custom camera position +SetCameraFovy(camera.fovy) -- Set internal camera field-of-view Y -SetTargetFPS(60) -- Set our game to run at 60 frames-per-second +SetTargetFPS(60) -- Set our game to run at 60 frames-per-second ------------------------------------------------------------------------------------------- -- Main game loop while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/models_heightmap.lua b/examples/models_heightmap.lua index 6d7f6f3f6..4240f8b70 100644 --- a/examples/models_heightmap.lua +++ b/examples/models_heightmap.lua @@ -37,7 +37,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-secon while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index 5c2d86540..6050cf149 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -29,8 +29,8 @@ int main() //-------------------------------------------------------------------------------------- // ExecuteLuaFile("core_basic_window.lua"); // OK! - // ExecuteLuaFile("core_input_keys.lua"); // OK! - // ExecuteLuaFile("core_input_mouse.lua"); // OK! + // ExecuteLuaFile("core_input_keys.lua"); // OK! + // ExecuteLuaFile("core_input_mouse.lua"); // OK! // ExecuteLuaFile("core_mouse_wheel.lua"); // OK! // ExecuteLuaFile("core_input_gamepad.lua"); // OK! // ExecuteLuaFile("core_random_values.lua"); // OK! @@ -38,13 +38,13 @@ int main() // ExecuteLuaFile("core_drop_files.lua"); // ERROR: GetDroppedFiles() // ExecuteLuaFile("core_storage_values.lua"); // OK! // ExecuteLuaFile("core_gestures_detection.lua"); // OK! - // ExecuteLuaFile("core_3d_mode.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode() - // ExecuteLuaFile("core_3d_picking.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_3d_camera_free.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_3d_camera_first_person.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_2d_camera.lua"); // ERROR: Lua Error: attempt to index a number value - Begin2dMode() - // ExecuteLuaFile("core_world_screen.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_oculus_rift.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_3d_mode.lua"); // OK! + // ExecuteLuaFile("core_3d_picking.lua"); // ISSUE: CheckCollisionRayBox() returns false despite touching box + // ExecuteLuaFile("core_3d_camera_free.lua"); // OK! + // ExecuteLuaFile("core_3d_camera_first_person.lua"); // OK! + // ExecuteLuaFile("core_2d_camera.lua"); // OK! + // ExecuteLuaFile("core_world_screen.lua"); // OK! + // ExecuteLuaFile("core_oculus_rift.lua"); // OK! // ExecuteLuaFile("shapes_logo_raylib.lua"); // OK! // ExecuteLuaFile("shapes_basic_shapes.lua"); // OK! // ExecuteLuaFile("shapes_colors_palette.lua"); // OK! @@ -54,31 +54,31 @@ int main() // ExecuteLuaFile("textures_rectangle.lua"); // OK! // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! // ExecuteLuaFile("textures_to_image.lua"); // OK! - // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked - // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct - // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() - // ExecuteLuaFile("textures_image_drawing.lua"); // OK! - // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! - // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! - // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value - // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() - // ExecuteLuaFile("text_font_select.lua"); // OK! - // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() - // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) - // ExecuteLuaFile("models_box_collisions.lua"); // - // ExecuteLuaFile("models_billboard.lua"); // - // ExecuteLuaFile("models_obj_loading.lua"); // - // ExecuteLuaFile("models_heightmap.lua"); // - // ExecuteLuaFile("models_cubicmap.lua"); // - // ExecuteLuaFile("shaders_model_shader.lua"); // - // ExecuteLuaFile("shaders_shapes_textures.lua"); // - // ExecuteLuaFile("shaders_custom_uniform.lua"); // - // ExecuteLuaFile("shaders_postprocessing.lua"); // - // ExecuteLuaFile("shaders_standard_lighting.lua"); // + // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: bad argument #2 to 'LoadImageEx' (number expected, got no value) + // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked (not really an issue...) + // ExecuteLuaFile("textures_particles_trail_blending.lua"); // OK! + // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() + // ExecuteLuaFile("textures_image_drawing.lua"); // OK! + // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! + // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! + // ExecuteLuaFile("text_rbmf_fonts.lua"); // OK! + // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() + // ExecuteLuaFile("text_font_select.lua"); // OK! + // ExecuteLuaFile("text_writing_anim.lua"); // OK! + // ExecuteLuaFile("models_geometric_shapes.lua"); // OK! + // ExecuteLuaFile("models_box_collisions.lua"); // OK! + // ExecuteLuaFile("models_billboard.lua"); // OK! + // ExecuteLuaFile("models_obj_loading.lua"); // OK! + // ExecuteLuaFile("models_heightmap.lua"); // OK! + // ExecuteLuaFile("models_cubicmap.lua"); // OK! + // ExecuteLuaFile("shaders_model_shader.lua"); // OK! + // ExecuteLuaFile("shaders_shapes_textures.lua"); // OK! + // ExecuteLuaFile("shaders_custom_uniform.lua"); // ISSUE: SetShaderValue() + // ExecuteLuaFile("shaders_postprocessing.lua"); // OK! + // ExecuteLuaFile("shaders_standard_lighting.lua"); // ERROR: CreateLight() returns an opaque pointer (fields can not be accessed) // ExecuteLuaFile("audio_sound_loading.lua"); // OK! // ExecuteLuaFile("audio_music_stream.lua"); // OK! - ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct + // ExecuteLuaFile("audio_module_playing.lua"); // OK! ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization @@ -86,5 +86,5 @@ int main() CloseLuaDevice(); // Close Lua device and free resources //-------------------------------------------------------------------------------------- - return 0; + return 0; } \ No newline at end of file diff --git a/examples/shaders_custom_uniform.lua b/examples/shaders_custom_uniform.lua index b4e4d483f..fb93adc13 100644 --- a/examples/shaders_custom_uniform.lua +++ b/examples/shaders_custom_uniform.lua @@ -66,7 +66,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC key -- Send new value to the shader to be used on drawing SetShaderValue(shader, swirlCenterLoc, swirlCenter, 2) - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/shaders_model_shader.lua b/examples/shaders_model_shader.lua index b31c86092..d1436a7e5 100644 --- a/examples/shaders_model_shader.lua +++ b/examples/shaders_model_shader.lua @@ -50,7 +50,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-pe while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/shaders_postprocessing.lua b/examples/shaders_postprocessing.lua index 0913fbbdf..f20f31ec5 100644 --- a/examples/shaders_postprocessing.lua +++ b/examples/shaders_postprocessing.lua @@ -52,7 +52,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-s while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/shaders_standard_lighting.lua b/examples/shaders_standard_lighting.lua index 7c354d543..2f3700ffb 100644 --- a/examples/shaders_standard_lighting.lua +++ b/examples/shaders_standard_lighting.lua @@ -27,9 +27,9 @@ InitWindow(screenWidth, screenHeight, "raylib [shaders] example - model shader") -- Define the camera to look into our 3d world local camera = Camera(Vector3(4.0, 4.0, 4.0), Vector3(0.0, 1.5, 0.0), Vector3(0.0, 1.0, 0.0), 45.0) -local position = Vector3(0.0, 0.0, 0.0) -- Set model position local dwarf = LoadModel("resources/model/dwarf.obj") -- Load OBJ model +local position = Vector3(0.0, 0.0, 0.0) -- Set model position local material = LoadStandardMaterial() @@ -37,30 +37,30 @@ material.texDiffuse = LoadTexture("resources/model/dwarf_diffuse.png") -- Load material.texNormal = LoadTexture("resources/model/dwarf_normal.png") -- Load model normal texture material.texSpecular = LoadTexture("resources/model/dwarf_specular.png") -- Load model specular texture material.colDiffuse = WHITE -material.colAmbient = (Color)(0, 0, 10, 255) +material.colAmbient = Color(0, 0, 10, 255) material.colSpecular = WHITE material.glossiness = 50.0 dwarf.material = material -- Apply material to model -local spotLight = CreateLight(LIGHT_SPOT, (Vector3)(3.0, 5.0, 2.0), (Color)(255, 255, 255, 255)) -spotLight.target = (Vector3)(0.0, 0.0, 0.0) +local spotLight = CreateLight(LightType.SPOT, Vector3(3.0, 5.0, 2.0), Color(255, 255, 255, 255)) +spotLight.target = Vector3(0.0, 0.0, 0.0) spotLight.intensity = 2.0 -spotLight.diffuse = (Color)(255, 100, 100, 255) +spotLight.diffuse = Color(255, 100, 100, 255) spotLight.coneAngle = 60.0 -local dirLight = CreateLight(LIGHT_DIRECTIONAL, (Vector3)(0.0, -3.0, -3.0), (Color)(255, 255, 255, 255)) -dirLight.target = (Vector3)(1.0, -2.0, -2.0) +local dirLight = CreateLight(LightType.DIRECTIONAL, Vector3(0.0, -3.0, -3.0), Color(255, 255, 255, 255)) +dirLight.target = Vector3(1.0, -2.0, -2.0) dirLight.intensity = 2.0 -dirLight.diffuse = (Color)(100, 255, 100, 255) +dirLight.diffuse = Color(100, 255, 100, 255) -local pointLight = CreateLight(LIGHT_POINT, (Vector3)(0.0, 4.0, 5.0), (Color)(255, 255, 255, 255)) +local pointLight = CreateLight(LightType.POINT, Vector3(0.0, 4.0, 5.0), Color(255, 255, 255, 255)) pointLight.intensity = 2.0 -pointLight.diffuse = (Color)(100, 100, 255, 255) +pointLight.diffuse = Color(100, 100, 255, 255) pointLight.radius = 3.0 -- Setup orbital camera -SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode +SetCameraMode(CameraMode.ORBITAL) -- Set an orbital camera mode SetCameraPosition(camera.position) -- Set internal camera position to match our camera position SetCameraTarget(camera.target) -- Set internal camera target to match our camera target @@ -71,7 +71,7 @@ SetTargetFPS(60) -- Set our game to run at 60 frames-per-s while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - UpdateCamera(camera) -- Update internal camera and our camera + camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/text_rbmf_fonts.lua b/examples/text_rbmf_fonts.lua index 0e0e41423..31a733f17 100644 --- a/examples/text_rbmf_fonts.lua +++ b/examples/text_rbmf_fonts.lua @@ -47,7 +47,7 @@ local positions = {} for i = 1, 8 do positions[i] = Vector2(0, 0) positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].size*2, spacings[i]).x/2 - positions[i].y = 60 + fonts[i].size + 50*i + positions[i].y = 60 + fonts[i].size + 45*(i - 1) end local colors = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, BLACK } diff --git a/examples/text_writing_anim.lua b/examples/text_writing_anim.lua index 05195dc44..f4af9f58d 100644 --- a/examples/text_writing_anim.lua +++ b/examples/text_writing_anim.lua @@ -38,7 +38,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC ClearBackground(RAYWHITE) - DrawText(string.sub(message, 0, framesCounter/10), 210, 160, 20, MAROON) + DrawText(string.sub(message, 0, framesCounter//10), 210, 160, 20, MAROON) DrawText("PRESS [ENTER] to RESTART!", 240, 280, 20, LIGHTGRAY) diff --git a/examples/textures_particles_trail_blending.lua b/examples/textures_particles_trail_blending.lua index 38036bcf2..d2c2518e0 100644 --- a/examples/textures_particles_trail_blending.lua +++ b/examples/textures_particles_trail_blending.lua @@ -11,7 +11,6 @@ MAX_PARTICLES = 200 --- Particle structure with basic data -- Initialization ------------------------------------------------------------------------------------------- local screenWidth = 800 @@ -56,7 +55,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC mouseTail[i].active = true mouseTail[i].alpha = 1.0 mouseTail[i].position = GetMousePosition() - i = MAX_PARTICLES + break end end @@ -90,7 +89,7 @@ while not WindowShouldClose() do -- Detect window close button or ESC if (mouseTail[i].active) then DrawTexturePro(smoke, Rectangle(0, 0, smoke.width, smoke.height), Rectangle(mouseTail[i].position.x, mouseTail[i].position.y, - smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size), + smoke.width*mouseTail[i].size//1, smoke.height*mouseTail[i].size//1), Vector2(smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2), mouseTail[i].rotation, Fade(mouseTail[i].color, mouseTail[i].alpha)) end end diff --git a/examples/textures_raw_data.lua b/examples/textures_raw_data.lua index 16c1c0ad3..8a955adf3 100644 --- a/examples/textures_raw_data.lua +++ b/examples/textures_raw_data.lua @@ -36,7 +36,7 @@ local pixels = {} for y = 1, height do for x = 1, width do - if (((x/32+y/32)/1)%2 == 0) then pixels[y*height + x] = DARKBLUE + if ((((x - 1)/32+(y - 1)//32)//1)%2 == 0) then pixels[y*height + x] = DARKBLUE else pixels[y*height + x] = SKYBLUE end end end From 58c762baa3738b3e8e326d2f51c96f8b241fcb04 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 19:30:13 +0200 Subject: [PATCH 033/102] Replaced tabs by spaces --- src/rlua.h | 4573 ++++++++++++++++++++++++++-------------------------- 1 file changed, 2289 insertions(+), 2284 deletions(-) diff --git a/src/rlua.h b/src/rlua.h index 77a51ed5a..08ffbca0d 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -188,47 +188,47 @@ static Model LuaGetArgument_Model(lua_State* L, int index); //---------------------------------------------------------------------------------- static void LuaStartEnum(void) { - lua_newtable(L); + lua_newtable(L); } static void LuaSetEnum(const char *name, int value) { - lua_pushinteger(L, value); - lua_setfield(L, -2, name); + lua_pushinteger(L, value); + lua_setfield(L, -2, name); } static void LuaSetEnumColor(const char *name, Color color) { - LuaPush_Color(L, color); - lua_setfield(L, -2, name); + LuaPush_Color(L, color); + lua_setfield(L, -2, name); } static void LuaEndEnum(const char *name) { - lua_setglobal(L, name); + lua_setglobal(L, name); } static void LuaPushOpaque(lua_State* L, void *ptr, size_t size) { - void *ud = lua_newuserdata(L, size); - memcpy(ud, ptr, size); + void *ud = lua_newuserdata(L, size); + memcpy(ud, ptr, size); } static void LuaPushOpaqueWithMetatable(lua_State* L, void *ptr, size_t size, const char *metatable_name) { - void *ud = lua_newuserdata(L, size); - memcpy(ud, ptr, size); - luaL_setmetatable(L, metatable_name); + void *ud = lua_newuserdata(L, size); + memcpy(ud, ptr, size); + luaL_setmetatable(L, metatable_name); } static void* LuaGetArgumentOpaqueType(lua_State* L, int index) { - return lua_touserdata(L, index); + return lua_touserdata(L, index); } static void* LuaGetArgumentOpaqueTypeWithMetatable(lua_State* L, int index, const char *metatable_name) { - return luaL_checkudata(L, index, metatable_name); + return luaL_checkudata(L, index, metatable_name); } //---------------------------------------------------------------------------------- @@ -236,87 +236,87 @@ static void* LuaGetArgumentOpaqueTypeWithMetatable(lua_State* L, int index, cons //---------------------------------------------------------------------------------- static int LuaIndexImage(lua_State* L) { - Image img = LuaGetArgument_Image(L, 1); - const char *key = luaL_checkstring(L, 2); - if (!strcmp(key, "width")) - lua_pushinteger(L, img.width); - else if (!strcmp(key, "height")) - lua_pushinteger(L, img.height); - else if (!strcmp(key, "mipmaps")) - lua_pushinteger(L, img.mipmaps); - else if (!strcmp(key, "format")) - lua_pushinteger(L, img.format); - else - return 0; - return 1; + Image img = LuaGetArgument_Image(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "width")) + lua_pushinteger(L, img.width); + else if (!strcmp(key, "height")) + lua_pushinteger(L, img.height); + else if (!strcmp(key, "mipmaps")) + lua_pushinteger(L, img.mipmaps); + else if (!strcmp(key, "format")) + lua_pushinteger(L, img.format); + else + return 0; + return 1; } static int LuaIndexTexture2D(lua_State* L) { - Texture2D img = LuaGetArgument_Texture2D(L, 1); - const char *key = luaL_checkstring(L, 2); - if (!strcmp(key, "width")) - lua_pushinteger(L, img.width); - else if (!strcmp(key, "height")) - lua_pushinteger(L, img.height); - else if (!strcmp(key, "mipmaps")) - lua_pushinteger(L, img.mipmaps); - else if (!strcmp(key, "format")) - lua_pushinteger(L, img.format); - else - return 0; - return 1; + Texture2D img = LuaGetArgument_Texture2D(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "width")) + lua_pushinteger(L, img.width); + else if (!strcmp(key, "height")) + lua_pushinteger(L, img.height); + else if (!strcmp(key, "mipmaps")) + lua_pushinteger(L, img.mipmaps); + else if (!strcmp(key, "format")) + lua_pushinteger(L, img.format); + else + return 0; + return 1; } static int LuaIndexRenderTexture2D(lua_State* L) { - RenderTexture2D img = LuaGetArgument_RenderTexture2D(L, 1); - const char *key = luaL_checkstring(L, 2); - if (!strcmp(key, "texture")) - LuaPush_Texture2D(L, img.texture); - else if (!strcmp(key, "depth")) - LuaPush_Texture2D(L, img.depth); - else - return 0; - return 1; + RenderTexture2D img = LuaGetArgument_RenderTexture2D(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "texture")) + LuaPush_Texture2D(L, img.texture); + else if (!strcmp(key, "depth")) + LuaPush_Texture2D(L, img.depth); + else + return 0; + return 1; } static int LuaIndexSpriteFont(lua_State* L) { - SpriteFont img = LuaGetArgument_SpriteFont(L, 1); - const char *key = luaL_checkstring(L, 2); - if (!strcmp(key, "size")) - lua_pushinteger(L, img.size); - else if (!strcmp(key, "texture")) - LuaPush_Texture2D(L, img.texture); - else if (!strcmp(key, "numChars")) - lua_pushinteger(L, img.numChars); - else - return 0; - return 1; + SpriteFont img = LuaGetArgument_SpriteFont(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "size")) + lua_pushinteger(L, img.size); + else if (!strcmp(key, "texture")) + LuaPush_Texture2D(L, img.texture); + else if (!strcmp(key, "numChars")) + lua_pushinteger(L, img.numChars); + else + return 0; + return 1; } static void LuaBuildOpaqueMetatables(void) { - luaL_newmetatable(L, "Image"); - lua_pushcfunction(L, &LuaIndexImage); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); + luaL_newmetatable(L, "Image"); + lua_pushcfunction(L, &LuaIndexImage); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); - luaL_newmetatable(L, "Texture2D"); - lua_pushcfunction(L, &LuaIndexTexture2D); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); + luaL_newmetatable(L, "Texture2D"); + lua_pushcfunction(L, &LuaIndexTexture2D); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); luaL_newmetatable(L, "RenderTexture2D"); - lua_pushcfunction(L, &LuaIndexRenderTexture2D); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); + lua_pushcfunction(L, &LuaIndexRenderTexture2D); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); - luaL_newmetatable(L, "SpriteFont"); - lua_pushcfunction(L, &LuaIndexSpriteFont); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); + luaL_newmetatable(L, "SpriteFont"); + lua_pushcfunction(L, &LuaIndexSpriteFont); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); } //---------------------------------------------------------------------------------- @@ -325,180 +325,180 @@ static void LuaBuildOpaqueMetatables(void) static Vector2 LuaGetArgument_Vector2(lua_State* L, int index) { - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector2"); - float x = (float)lua_tonumber(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector2"); - float y = (float)lua_tonumber(L, -1); - lua_pop(L, 2); - return (Vector2) { x, y }; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector2"); + float x = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector2"); + float y = (float)lua_tonumber(L, -1); + lua_pop(L, 2); + return (Vector2) { x, y }; } static Vector3 LuaGetArgument_Vector3(lua_State* L, int index) { - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector3"); - float x = (float)lua_tonumber(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector3"); - float y = (float)lua_tonumber(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "z") == LUA_TNUMBER, index, "Expected Vector3"); - float z = (float)lua_tonumber(L, -1); - lua_pop(L, 3); - return (Vector3) { x, y, z }; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Vector3"); + float x = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Vector3"); + float y = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "z") == LUA_TNUMBER, index, "Expected Vector3"); + float z = (float)lua_tonumber(L, -1); + lua_pop(L, 3); + return (Vector3) { x, y, z }; } static Quaternion LuaGetArgument_Quaternion(lua_State* L, int index) { - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Quaternion"); - float x = (float)lua_tonumber(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Quaternion"); - float y = (float)lua_tonumber(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "z") == LUA_TNUMBER, index, "Expected Quaternion"); - float z = (float)lua_tonumber(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "w") == LUA_TNUMBER, index, "Expected Quaternion"); - float w = (float)lua_tonumber(L, -1); - lua_pop(L, 4); - return (Quaternion) { x, y, z, w }; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Quaternion"); + float x = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Quaternion"); + float y = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "z") == LUA_TNUMBER, index, "Expected Quaternion"); + float z = (float)lua_tonumber(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "w") == LUA_TNUMBER, index, "Expected Quaternion"); + float w = (float)lua_tonumber(L, -1); + lua_pop(L, 4); + return (Quaternion) { x, y, z, w }; } static Color LuaGetArgument_Color(lua_State* L, int index) { - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "r") == LUA_TNUMBER, index, "Expected Color"); - unsigned char r = (unsigned char)lua_tointeger(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "g") == LUA_TNUMBER, index, "Expected Color"); - unsigned char g = (unsigned char)lua_tointeger(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "b") == LUA_TNUMBER, index, "Expected Color"); - unsigned char b = (unsigned char)lua_tointeger(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "a") == LUA_TNUMBER, index, "Expected Color"); - unsigned char a = (unsigned char)lua_tointeger(L, -1); - lua_pop(L, 4); - return (Color) { r, g, b, a }; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "r") == LUA_TNUMBER, index, "Expected Color"); + unsigned char r = (unsigned char)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "g") == LUA_TNUMBER, index, "Expected Color"); + unsigned char g = (unsigned char)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "b") == LUA_TNUMBER, index, "Expected Color"); + unsigned char b = (unsigned char)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "a") == LUA_TNUMBER, index, "Expected Color"); + unsigned char a = (unsigned char)lua_tointeger(L, -1); + lua_pop(L, 4); + return (Color) { r, g, b, a }; } static Rectangle LuaGetArgument_Rectangle(lua_State* L, int index) { - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Rectangle"); - int x = (int)lua_tointeger(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Rectangle"); - int y = (int)lua_tointeger(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "width") == LUA_TNUMBER, index, "Expected Rectangle"); - int w = (int)lua_tointeger(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "height") == LUA_TNUMBER, index, "Expected Rectangle"); - int h = (int)lua_tointeger(L, -1); - lua_pop(L, 4); - return (Rectangle) { x, y, w, h }; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "x") == LUA_TNUMBER, index, "Expected Rectangle"); + int x = (int)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "y") == LUA_TNUMBER, index, "Expected Rectangle"); + int y = (int)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "width") == LUA_TNUMBER, index, "Expected Rectangle"); + int w = (int)lua_tointeger(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "height") == LUA_TNUMBER, index, "Expected Rectangle"); + int h = (int)lua_tointeger(L, -1); + lua_pop(L, 4); + return (Rectangle) { x, y, w, h }; } static Camera LuaGetArgument_Camera(lua_State* L, int index) { - Camera result; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Camera"); - result.position = LuaGetArgument_Vector3(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera"); - result.target = LuaGetArgument_Vector3(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "up") == LUA_TTABLE, index, "Expected Camera"); - result.up = LuaGetArgument_Vector3(L, -1); + Camera result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Camera"); + result.position = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera"); + result.target = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "up") == LUA_TTABLE, index, "Expected Camera"); + result.up = LuaGetArgument_Vector3(L, -1); luaL_argcheck(L, lua_getfield(L, index, "fovy") == LUA_TNUMBER, index, "Expected Camera"); - result.fovy = LuaGetArgument_float(L, -1); - lua_pop(L, 4); - return result; + result.fovy = LuaGetArgument_float(L, -1); + lua_pop(L, 4); + return result; } static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index) { - Camera2D result; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "offset") == LUA_TTABLE, index, "Expected Camera2D"); - result.offset = LuaGetArgument_Vector2(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera2D"); - result.target = LuaGetArgument_Vector2(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "rotation") == LUA_TNUMBER, index, "Expected Camera2D"); - result.rotation = LuaGetArgument_float(L, -1); + Camera2D result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "offset") == LUA_TTABLE, index, "Expected Camera2D"); + result.offset = LuaGetArgument_Vector2(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "target") == LUA_TTABLE, index, "Expected Camera2D"); + result.target = LuaGetArgument_Vector2(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "rotation") == LUA_TNUMBER, index, "Expected Camera2D"); + result.rotation = LuaGetArgument_float(L, -1); luaL_argcheck(L, lua_getfield(L, index, "zoom") == LUA_TNUMBER, index, "Expected Camera2D"); - result.zoom = LuaGetArgument_float(L, -1); - lua_pop(L, 4); - return result; + result.zoom = LuaGetArgument_float(L, -1); + lua_pop(L, 4); + return result; } static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) { - BoundingBox result; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "min") == LUA_TTABLE, index, "Expected BoundingBox"); - result.min = LuaGetArgument_Vector3(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "max") == LUA_TTABLE, index, "Expected BoundingBox"); - result.max = LuaGetArgument_Vector3(L, -1); - lua_pop(L, 2); - return result; + BoundingBox result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "min") == LUA_TTABLE, index, "Expected BoundingBox"); + result.min = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "max") == LUA_TTABLE, index, "Expected BoundingBox"); + result.max = LuaGetArgument_Vector3(L, -1); + lua_pop(L, 2); + return result; } static Ray LuaGetArgument_Ray(lua_State* L, int index) { - Ray result; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Ray"); - result.position = LuaGetArgument_Vector3(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "direction") == LUA_TTABLE, index, "Expected Ray"); - result.direction = LuaGetArgument_Vector3(L, -1); - lua_pop(L, 2); - return result; + Ray result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "position") == LUA_TTABLE, index, "Expected Ray"); + result.position = LuaGetArgument_Vector3(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "direction") == LUA_TTABLE, index, "Expected Ray"); + result.direction = LuaGetArgument_Vector3(L, -1); + lua_pop(L, 2); + return result; } static Matrix LuaGetArgument_Matrix(lua_State* L, int index) { - Matrix result = { 0 }; - float* ptr = &result.m0; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + Matrix result = { 0 }; + float* ptr = &result.m0; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - for (int i = 0; i < 16; i++) - { - lua_geti(L, index, i+1); - ptr[i] = luaL_checknumber(L, -1); - } - lua_pop(L, 16); - return result; + for (int i = 0; i < 16; i++) + { + lua_geti(L, index, i+1); + ptr[i] = luaL_checknumber(L, -1); + } + lua_pop(L, 16); + return result; } static Material LuaGetArgument_Material(lua_State* L, int index) { Material result; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values luaL_argcheck(L, lua_getfield(L, index, "shader") == LUA_TUSERDATA, index, "Expected Material"); - result.shader = LuaGetArgument_Shader(L, -1); + result.shader = LuaGetArgument_Shader(L, -1); luaL_argcheck(L, lua_getfield(L, index, "texDiffuse") == LUA_TUSERDATA, index, "Expected Material"); - result.texDiffuse = LuaGetArgument_Texture2D(L, -1); + result.texDiffuse = LuaGetArgument_Texture2D(L, -1); luaL_argcheck(L, lua_getfield(L, index, "texNormal") == LUA_TUSERDATA, index, "Expected Material"); - result.texNormal = LuaGetArgument_Texture2D(L, -1); + result.texNormal = LuaGetArgument_Texture2D(L, -1); luaL_argcheck(L, lua_getfield(L, index, "texSpecular") == LUA_TUSERDATA, index, "Expected Material"); - result.texSpecular = LuaGetArgument_Texture2D(L, -1); + result.texSpecular = LuaGetArgument_Texture2D(L, -1); luaL_argcheck(L, lua_getfield(L, index, "colDiffuse") == LUA_TTABLE, index, "Expected Material"); - result.colDiffuse = LuaGetArgument_Color(L, -1); + result.colDiffuse = LuaGetArgument_Color(L, -1); luaL_argcheck(L, lua_getfield(L, index, "colAmbient") == LUA_TTABLE, index, "Expected Material"); - result.colAmbient = LuaGetArgument_Color(L, -1); + result.colAmbient = LuaGetArgument_Color(L, -1); luaL_argcheck(L, lua_getfield(L, index, "colSpecular") == LUA_TTABLE, index, "Expected Material"); - result.colSpecular = LuaGetArgument_Color(L, -1); + result.colSpecular = LuaGetArgument_Color(L, -1); luaL_argcheck(L, lua_getfield(L, index, "glossiness") == LUA_TNUMBER, index, "Expected Material"); - result.glossiness = LuaGetArgument_float(L, -1); + result.glossiness = LuaGetArgument_float(L, -1); lua_pop(L, 8); return result; } static Model LuaGetArgument_Model(lua_State* L, int index) { - Model result; - index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values - luaL_argcheck(L, lua_getfield(L, index, "mesh") == LUA_TUSERDATA, index, "Expected Model"); - result.mesh = LuaGetArgument_Mesh(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "transform") == LUA_TTABLE, index, "Expected Model"); - result.transform = LuaGetArgument_Matrix(L, -1); - luaL_argcheck(L, lua_getfield(L, index, "material") == LUA_TTABLE, index, "Expected Model"); - result.material = LuaGetArgument_Material(L, -1); - lua_pop(L, 3); - return result; + Model result; + index = lua_absindex(L, index); // Makes sure we use absolute indices because we push multiple values + luaL_argcheck(L, lua_getfield(L, index, "mesh") == LUA_TUSERDATA, index, "Expected Model"); + result.mesh = LuaGetArgument_Mesh(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "transform") == LUA_TTABLE, index, "Expected Model"); + result.transform = LuaGetArgument_Matrix(L, -1); + luaL_argcheck(L, lua_getfield(L, index, "material") == LUA_TTABLE, index, "Expected Model"); + result.material = LuaGetArgument_Material(L, -1); + lua_pop(L, 3); + return result; } //---------------------------------------------------------------------------------- @@ -506,149 +506,149 @@ static Model LuaGetArgument_Model(lua_State* L, int index) //---------------------------------------------------------------------------------- static void LuaPush_Color(lua_State* L, Color color) { - lua_createtable(L, 0, 4); - lua_pushinteger(L, color.r); - lua_setfield(L, -2, "r"); - lua_pushinteger(L, color.g); - lua_setfield(L, -2, "g"); - lua_pushinteger(L, color.b); - lua_setfield(L, -2, "b"); - lua_pushinteger(L, color.a); - lua_setfield(L, -2, "a"); + lua_createtable(L, 0, 4); + lua_pushinteger(L, color.r); + lua_setfield(L, -2, "r"); + lua_pushinteger(L, color.g); + lua_setfield(L, -2, "g"); + lua_pushinteger(L, color.b); + lua_setfield(L, -2, "b"); + lua_pushinteger(L, color.a); + lua_setfield(L, -2, "a"); } static void LuaPush_Vector2(lua_State* L, Vector2 vec) { - lua_createtable(L, 0, 2); - lua_pushnumber(L, vec.x); - lua_setfield(L, -2, "x"); - lua_pushnumber(L, vec.y); - lua_setfield(L, -2, "y"); + lua_createtable(L, 0, 2); + lua_pushnumber(L, vec.x); + lua_setfield(L, -2, "x"); + lua_pushnumber(L, vec.y); + lua_setfield(L, -2, "y"); } static void LuaPush_Vector3(lua_State* L, Vector3 vec) { - lua_createtable(L, 0, 3); - lua_pushnumber(L, vec.x); - lua_setfield(L, -2, "x"); - lua_pushnumber(L, vec.y); - lua_setfield(L, -2, "y"); - lua_pushnumber(L, vec.z); - lua_setfield(L, -2, "z"); + lua_createtable(L, 0, 3); + lua_pushnumber(L, vec.x); + lua_setfield(L, -2, "x"); + lua_pushnumber(L, vec.y); + lua_setfield(L, -2, "y"); + lua_pushnumber(L, vec.z); + lua_setfield(L, -2, "z"); } static void LuaPush_Quaternion(lua_State* L, Quaternion vec) { - lua_createtable(L, 0, 4); - lua_pushnumber(L, vec.x); - lua_setfield(L, -2, "x"); - lua_pushnumber(L, vec.y); - lua_setfield(L, -2, "y"); - lua_pushnumber(L, vec.z); - lua_setfield(L, -2, "z"); - lua_pushnumber(L, vec.w); - lua_setfield(L, -2, "w"); + lua_createtable(L, 0, 4); + lua_pushnumber(L, vec.x); + lua_setfield(L, -2, "x"); + lua_pushnumber(L, vec.y); + lua_setfield(L, -2, "y"); + lua_pushnumber(L, vec.z); + lua_setfield(L, -2, "z"); + lua_pushnumber(L, vec.w); + lua_setfield(L, -2, "w"); } static void LuaPush_Matrix(lua_State* L, Matrix *matrix) { - int i; - lua_createtable(L, 16, 0); - float* num = (&matrix->m0); - for (i = 0; i < 16; i++) - { - lua_pushnumber(L, num[i]); - lua_rawseti(L, -2, i + 1); - } + int i; + lua_createtable(L, 16, 0); + float* num = (&matrix->m0); + for (i = 0; i < 16; i++) + { + lua_pushnumber(L, num[i]); + lua_rawseti(L, -2, i + 1); + } } static void LuaPush_Rectangle(lua_State* L, Rectangle rect) { - lua_createtable(L, 0, 4); - lua_pushinteger(L, rect.x); - lua_setfield(L, -2, "x"); - lua_pushinteger(L, rect.y); - lua_setfield(L, -2, "y"); - lua_pushinteger(L, rect.width); - lua_setfield(L, -2, "width"); - lua_pushinteger(L, rect.height); - lua_setfield(L, -2, "height"); + lua_createtable(L, 0, 4); + lua_pushinteger(L, rect.x); + lua_setfield(L, -2, "x"); + lua_pushinteger(L, rect.y); + lua_setfield(L, -2, "y"); + lua_pushinteger(L, rect.width); + lua_setfield(L, -2, "width"); + lua_pushinteger(L, rect.height); + lua_setfield(L, -2, "height"); } static void LuaPush_Ray(lua_State* L, Ray ray) { - lua_createtable(L, 0, 2); - LuaPush_Vector3(L, ray.position); - lua_setfield(L, -2, "position"); - LuaPush_Vector3(L, ray.direction); - lua_setfield(L, -2, "direction"); + lua_createtable(L, 0, 2); + LuaPush_Vector3(L, ray.position); + lua_setfield(L, -2, "position"); + LuaPush_Vector3(L, ray.direction); + lua_setfield(L, -2, "direction"); } static void LuaPush_BoundingBox(lua_State* L, BoundingBox bb) { - lua_createtable(L, 0, 2); - LuaPush_Vector3(L, bb.min); - lua_setfield(L, -2, "min"); - LuaPush_Vector3(L, bb.max); - lua_setfield(L, -2, "max"); + lua_createtable(L, 0, 2); + LuaPush_Vector3(L, bb.min); + lua_setfield(L, -2, "min"); + LuaPush_Vector3(L, bb.max); + lua_setfield(L, -2, "max"); } static void LuaPush_Camera(lua_State* L, Camera cam) { - lua_createtable(L, 0, 4); - LuaPush_Vector3(L, cam.position); - lua_setfield(L, -2, "position"); - LuaPush_Vector3(L, cam.target); - lua_setfield(L, -2, "target"); - LuaPush_Vector3(L, cam.up); - lua_setfield(L, -2, "up"); + lua_createtable(L, 0, 4); + LuaPush_Vector3(L, cam.position); + lua_setfield(L, -2, "position"); + LuaPush_Vector3(L, cam.target); + lua_setfield(L, -2, "target"); + LuaPush_Vector3(L, cam.up); + lua_setfield(L, -2, "up"); lua_pushnumber(L, cam.fovy); - lua_setfield(L, -2, "fovy"); + lua_setfield(L, -2, "fovy"); } static void LuaPush_Camera2D(lua_State* L, Camera2D cam) { - lua_createtable(L, 0, 4); - LuaPush_Vector2(L, cam.offset); - lua_setfield(L, -2, "offset"); - LuaPush_Vector2(L, cam.target); - lua_setfield(L, -2, "target"); - lua_pushnumber(L, cam.rotation); - lua_setfield(L, -2, "rotation"); + lua_createtable(L, 0, 4); + LuaPush_Vector2(L, cam.offset); + lua_setfield(L, -2, "offset"); + LuaPush_Vector2(L, cam.target); + lua_setfield(L, -2, "target"); + lua_pushnumber(L, cam.rotation); + lua_setfield(L, -2, "rotation"); lua_pushnumber(L, cam.zoom); - lua_setfield(L, -2, "zoom"); + lua_setfield(L, -2, "zoom"); } static void LuaPush_Material(lua_State* L, Material mat) { - lua_createtable(L, 0, 8); - LuaPush_Shader(L, mat.shader); - lua_setfield(L, -2, "shader"); - LuaPush_Texture2D(L, mat.texDiffuse); - lua_setfield(L, -2, "texDiffuse"); - LuaPush_Texture2D(L, mat.texNormal); - lua_setfield(L, -2, "texNormal"); + lua_createtable(L, 0, 8); + LuaPush_Shader(L, mat.shader); + lua_setfield(L, -2, "shader"); + LuaPush_Texture2D(L, mat.texDiffuse); + lua_setfield(L, -2, "texDiffuse"); + LuaPush_Texture2D(L, mat.texNormal); + lua_setfield(L, -2, "texNormal"); LuaPush_Texture2D(L, mat.texSpecular); - lua_setfield(L, -2, "texSpecular"); + lua_setfield(L, -2, "texSpecular"); LuaPush_Color(L, mat.colDiffuse); - lua_setfield(L, -2, "colDiffuse"); + lua_setfield(L, -2, "colDiffuse"); LuaPush_Color(L, mat.colAmbient); - lua_setfield(L, -2, "colAmbient"); + lua_setfield(L, -2, "colAmbient"); LuaPush_Color(L, mat.colSpecular); - lua_setfield(L, -2, "colSpecular"); + lua_setfield(L, -2, "colSpecular"); lua_pushnumber(L, mat.glossiness); - lua_setfield(L, -2, "glossiness"); + lua_setfield(L, -2, "glossiness"); } static void LuaPush_Model(lua_State* L, Model mdl) { - lua_createtable(L, 0, 4); - LuaPush_Mesh(L, mdl.mesh); - lua_setfield(L, -2, "mesh"); - LuaPush_Matrix(L, &mdl.transform); - lua_setfield(L, -2, "transform"); - LuaPush_Material(L, mdl.material); - lua_setfield(L, -2, "material"); + lua_createtable(L, 0, 4); + LuaPush_Mesh(L, mdl.mesh); + lua_setfield(L, -2, "mesh"); + LuaPush_Matrix(L, &mdl.transform); + lua_setfield(L, -2, "transform"); + LuaPush_Material(L, mdl.material); + lua_setfield(L, -2, "material"); } //---------------------------------------------------------------------------------- @@ -656,95 +656,95 @@ static void LuaPush_Model(lua_State* L, Model mdl) //---------------------------------------------------------------------------------- static int lua_Color(lua_State* L) { - LuaPush_Color(L, (Color) { (unsigned char)luaL_checkinteger(L, 1), (unsigned char)luaL_checkinteger(L, 2), (unsigned char)luaL_checkinteger(L, 3), (unsigned char)luaL_checkinteger(L, 4) }); - return 1; + LuaPush_Color(L, (Color) { (unsigned char)luaL_checkinteger(L, 1), (unsigned char)luaL_checkinteger(L, 2), (unsigned char)luaL_checkinteger(L, 3), (unsigned char)luaL_checkinteger(L, 4) }); + return 1; } static int lua_Vector2(lua_State* L) { - LuaPush_Vector2(L, (Vector2) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2) }); - return 1; + LuaPush_Vector2(L, (Vector2) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2) }); + return 1; } static int lua_Vector3(lua_State* L) { - LuaPush_Vector3(L, (Vector3) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3) }); - return 1; + LuaPush_Vector3(L, (Vector3) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3) }); + return 1; } static int lua_Quaternion(lua_State* L) { - LuaPush_Quaternion(L, (Quaternion) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4) }); - return 1; + LuaPush_Quaternion(L, (Quaternion) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4) }); + return 1; } /* static int lua_Matrix(lua_State* L) { - LuaPush_Matrix(L, (Matrix) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4), + LuaPush_Matrix(L, (Matrix) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4), (float)luaL_checknumber(L, 5), (float)luaL_checknumber(L, 6), (float)luaL_checknumber(L, 7), (float)luaL_checknumber(L, 8), (float)luaL_checknumber(L, 9), (float)luaL_checknumber(L, 10), (float)luaL_checknumber(L, 11), (float)luaL_checknumber(L, 12), (float)luaL_checknumber(L, 13), (float)luaL_checknumber(L, 14), (float)luaL_checknumber(L, 15), (float)luaL_checknumber(L, 16) }); - return 1; + return 1; } */ static int lua_Rectangle(lua_State* L) { - LuaPush_Rectangle(L, (Rectangle) { (int)luaL_checkinteger(L, 1), (int)luaL_checkinteger(L, 2), (int)luaL_checkinteger(L, 3), (int)luaL_checkinteger(L, 4) }); - return 1; + LuaPush_Rectangle(L, (Rectangle) { (int)luaL_checkinteger(L, 1), (int)luaL_checkinteger(L, 2), (int)luaL_checkinteger(L, 3), (int)luaL_checkinteger(L, 4) }); + return 1; } static int lua_Ray(lua_State* L) { - Vector2 pos = LuaGetArgument_Vector2(L, 1); - Vector2 dir = LuaGetArgument_Vector2(L, 2); - LuaPush_Ray(L, (Ray) { { pos.x, pos.y }, { dir.x, dir.y } }); - return 1; + Vector2 pos = LuaGetArgument_Vector2(L, 1); + Vector2 dir = LuaGetArgument_Vector2(L, 2); + LuaPush_Ray(L, (Ray) { { pos.x, pos.y }, { dir.x, dir.y } }); + return 1; } static int lua_BoundingBox(lua_State* L) { - Vector3 min = LuaGetArgument_Vector3(L, 1); - Vector3 max = LuaGetArgument_Vector3(L, 2); - LuaPush_BoundingBox(L, (BoundingBox) { { min.x, min.y }, { max.x, max.y } }); - return 1; + Vector3 min = LuaGetArgument_Vector3(L, 1); + Vector3 max = LuaGetArgument_Vector3(L, 2); + LuaPush_BoundingBox(L, (BoundingBox) { { min.x, min.y }, { max.x, max.y } }); + return 1; } static int lua_Camera(lua_State* L) { - Vector3 pos = LuaGetArgument_Vector3(L, 1); - Vector3 tar = LuaGetArgument_Vector3(L, 2); - Vector3 up = LuaGetArgument_Vector3(L, 3); + Vector3 pos = LuaGetArgument_Vector3(L, 1); + Vector3 tar = LuaGetArgument_Vector3(L, 2); + Vector3 up = LuaGetArgument_Vector3(L, 3); //float fovy = LuaGetArgument_float(L, 4); // ??? - LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, (float)luaL_checknumber(L, 4) }); - return 1; + LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, (float)luaL_checknumber(L, 4) }); + return 1; } static int lua_Camera2D(lua_State* L) { - Vector2 off = LuaGetArgument_Vector2(L, 1); - Vector2 tar = LuaGetArgument_Vector2(L, 2); - float rot = LuaGetArgument_float(L, 3); + Vector2 off = LuaGetArgument_Vector2(L, 1); + Vector2 tar = LuaGetArgument_Vector2(L, 2); + float rot = LuaGetArgument_float(L, 3); float zoom = LuaGetArgument_float(L, 4); - LuaPush_Camera2D(L, (Camera2D) { { off.x, off.y }, { tar.x, tar.y }, rot, zoom }); - return 1; + LuaPush_Camera2D(L, (Camera2D) { { off.x, off.y }, { tar.x, tar.y }, rot, zoom }); + return 1; } /* // NOTE: does it make sense to have this constructor? Probably not... static int lua_Material(lua_State* L) { - Shader sdr = LuaGetArgument_Shader(L, 1); - Texture2D td = LuaGetArgument_Texture2D(L, 2); - Texture2D tn = LuaGetArgument_Texture2D(L, 3); - Texture2D ts = LuaGetArgument_Texture2D(L, 4); - Color cd = LuaGetArgument_Color(L, 5); - Color ca = LuaGetArgument_Color(L, 6); - Color cs = LuaGetArgument_Color(L, 7); + Shader sdr = LuaGetArgument_Shader(L, 1); + Texture2D td = LuaGetArgument_Texture2D(L, 2); + Texture2D tn = LuaGetArgument_Texture2D(L, 3); + Texture2D ts = LuaGetArgument_Texture2D(L, 4); + Color cd = LuaGetArgument_Color(L, 5); + Color ca = LuaGetArgument_Color(L, 6); + Color cs = LuaGetArgument_Color(L, 7); float gloss = LuaGetArgument_float(L, 8); - LuaPush_Material(L, (Material) { sdr, td, tn, ts cd, ca, cs, gloss }); - return 1; + LuaPush_Material(L, (Material) { sdr, td, tn, ts cd, ca, cs, gloss }); + return 1; } */ @@ -757,166 +757,166 @@ static int lua_Material(lua_State* L) //------------------------------------------------------------------------------------ int lua_InitWindow(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - const char * arg3 = LuaGetArgument_string(L, 3); - InitWindow(arg1, arg2, arg3); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + const char * arg3 = LuaGetArgument_string(L, 3); + InitWindow(arg1, arg2, arg3); + return 0; } int lua_CloseWindow(lua_State* L) { - CloseWindow(); - return 0; + CloseWindow(); + return 0; } int lua_WindowShouldClose(lua_State* L) { - bool result = WindowShouldClose(); - lua_pushboolean(L, result); - return 1; + bool result = WindowShouldClose(); + lua_pushboolean(L, result); + return 1; } int lua_IsWindowMinimized(lua_State* L) { - bool result = IsWindowMinimized(); - lua_pushboolean(L, result); - return 1; + bool result = IsWindowMinimized(); + lua_pushboolean(L, result); + return 1; } int lua_ToggleFullscreen(lua_State* L) { - ToggleFullscreen(); - return 0; + ToggleFullscreen(); + return 0; } int lua_GetScreenWidth(lua_State* L) { - int result = GetScreenWidth(); - lua_pushinteger(L, result); - return 1; + int result = GetScreenWidth(); + lua_pushinteger(L, result); + return 1; } int lua_GetScreenHeight(lua_State* L) { - int result = GetScreenHeight(); - lua_pushinteger(L, result); - return 1; + int result = GetScreenHeight(); + lua_pushinteger(L, result); + return 1; } int lua_ShowCursor(lua_State* L) { - ShowCursor(); - return 0; + ShowCursor(); + return 0; } int lua_HideCursor(lua_State* L) { - HideCursor(); - return 0; + HideCursor(); + return 0; } int lua_IsCursorHidden(lua_State* L) { - bool result = IsCursorHidden(); - lua_pushboolean(L, result); - return 1; + bool result = IsCursorHidden(); + lua_pushboolean(L, result); + return 1; } int lua_EnableCursor(lua_State* L) { - EnableCursor(); - return 0; + EnableCursor(); + return 0; } int lua_DisableCursor(lua_State* L) { - DisableCursor(); - return 0; + DisableCursor(); + return 0; } int lua_ClearBackground(lua_State* L) { - Color arg1 = LuaGetArgument_Color(L, 1); - ClearBackground(arg1); - return 0; + Color arg1 = LuaGetArgument_Color(L, 1); + ClearBackground(arg1); + return 0; } int lua_BeginDrawing(lua_State* L) { - BeginDrawing(); - return 0; + BeginDrawing(); + return 0; } int lua_EndDrawing(lua_State* L) { - EndDrawing(); - return 0; + EndDrawing(); + return 0; } int lua_Begin2dMode(lua_State* L) { - Camera2D arg1 = LuaGetArgument_Camera2D(L, 1); - Begin2dMode(arg1); - return 0; + Camera2D arg1 = LuaGetArgument_Camera2D(L, 1); + Begin2dMode(arg1); + return 0; } int lua_End2dMode(lua_State* L) { - End2dMode(); - return 0; + End2dMode(); + return 0; } int lua_Begin3dMode(lua_State* L) { - Camera arg1 = LuaGetArgument_Camera(L, 1); - Begin3dMode(arg1); - return 0; + Camera arg1 = LuaGetArgument_Camera(L, 1); + Begin3dMode(arg1); + return 0; } int lua_End3dMode(lua_State* L) { - End3dMode(); - return 0; + End3dMode(); + return 0; } int lua_BeginTextureMode(lua_State* L) { - RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1); - BeginTextureMode(arg1); - return 0; + RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1); + BeginTextureMode(arg1); + return 0; } int lua_EndTextureMode(lua_State* L) { - EndTextureMode(); - return 0; + EndTextureMode(); + return 0; } int lua_GetMouseRay(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Camera arg2 = LuaGetArgument_Camera(L, 2); - Ray result = GetMouseRay(arg1, arg2); - LuaPush_Ray(L, result); - return 1; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Camera arg2 = LuaGetArgument_Camera(L, 2); + Ray result = GetMouseRay(arg1, arg2); + LuaPush_Ray(L, result); + return 1; } int lua_GetWorldToScreen(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Camera arg2 = LuaGetArgument_Camera(L, 2); - Vector2 result = GetWorldToScreen(arg1, arg2); - LuaPush_Vector2(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Camera arg2 = LuaGetArgument_Camera(L, 2); + Vector2 result = GetWorldToScreen(arg1, arg2); + LuaPush_Vector2(L, result); + return 1; } int lua_GetCameraMatrix(lua_State* L) { - Camera arg1 = LuaGetArgument_Camera(L, 1); - Matrix result = GetCameraMatrix(arg1); - LuaPush_Matrix(L, &result); - return 1; + Camera arg1 = LuaGetArgument_Camera(L, 1); + Matrix result = GetCameraMatrix(arg1); + LuaPush_Matrix(L, &result); + return 1; } #if defined(PLATFORM_WEB) @@ -925,167 +925,167 @@ static int LuaDrawLoopFunc; static void LuaDrawLoop() { - lua_rawgeti(L, LUA_REGISTRYINDEX, LuaDrawLoopFunc); - lua_call(L, 0, 0); + lua_rawgeti(L, LUA_REGISTRYINDEX, LuaDrawLoopFunc); + lua_call(L, 0, 0); } int lua_SetDrawingLoop(lua_State* L) { - luaL_argcheck(L, lua_isfunction(L, 1), 1, "Loop function expected"); - lua_pushvalue(L, 1); - LuaDrawLoopFunc = luaL_ref(L, LUA_REGISTRYINDEX); - SetDrawingLoop(&LuaDrawLoop); - return 0; + luaL_argcheck(L, lua_isfunction(L, 1), 1, "Loop function expected"); + lua_pushvalue(L, 1); + LuaDrawLoopFunc = luaL_ref(L, LUA_REGISTRYINDEX); + SetDrawingLoop(&LuaDrawLoop); + return 0; } #else int lua_SetTargetFPS(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - SetTargetFPS(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + SetTargetFPS(arg1); + return 0; } #endif int lua_GetFPS(lua_State* L) { - float result = GetFPS(); - lua_pushnumber(L, result); - return 1; + float result = GetFPS(); + lua_pushnumber(L, result); + return 1; } int lua_GetFrameTime(lua_State* L) { - float result = GetFrameTime(); - lua_pushnumber(L, result); - return 1; + float result = GetFrameTime(); + lua_pushnumber(L, result); + return 1; } int lua_GetColor(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - Color result = GetColor(arg1); - LuaPush_Color(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + Color result = GetColor(arg1); + LuaPush_Color(L, result); + return 1; } int lua_GetHexValue(lua_State* L) { - Color arg1 = LuaGetArgument_Color(L, 1); - int result = GetHexValue(arg1); - lua_pushinteger(L, result); - return 1; + Color arg1 = LuaGetArgument_Color(L, 1); + int result = GetHexValue(arg1); + lua_pushinteger(L, result); + return 1; } int lua_ColorToFloat(lua_State* L) { - Color arg1 = LuaGetArgument_Color(L, 1); - float * result = ColorToFloat(arg1); - lua_createtable(L, 4, 0); - for (int i = 0; i < 4; i++) - { - lua_pushnumber(L, result[i]); - lua_rawseti(L, -2, i + 1); - } - free(result); - return 1; + Color arg1 = LuaGetArgument_Color(L, 1); + float * result = ColorToFloat(arg1); + lua_createtable(L, 4, 0); + for (int i = 0; i < 4; i++) + { + lua_pushnumber(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; } int lua_VectorToFloat(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float * result = VectorToFloat(arg1); - lua_createtable(L, 3, 0); - for (int i = 0; i < 3; i++) - { - lua_pushnumber(L, result[i]); - lua_rawseti(L, -2, i + 1); - } - free(result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float * result = VectorToFloat(arg1); + lua_createtable(L, 3, 0); + for (int i = 0; i < 3; i++) + { + lua_pushnumber(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; } int lua_MatrixToFloat(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - float * result = MatrixToFloat(arg1); - lua_createtable(L, 16, 0); - for (int i = 0; i < 16; i++) - { - lua_pushnumber(L, result[i]); - lua_rawseti(L, -2, i + 1); - } - free(result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + float * result = MatrixToFloat(arg1); + lua_createtable(L, 16, 0); + for (int i = 0; i < 16; i++) + { + lua_pushnumber(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; } int lua_GetRandomValue(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int result = GetRandomValue(arg1, arg2); - lua_pushinteger(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int result = GetRandomValue(arg1, arg2); + lua_pushinteger(L, result); + return 1; } int lua_Fade(lua_State* L) { - Color arg1 = LuaGetArgument_Color(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Color result = Fade(arg1, arg2); - LuaPush_Color(L, result); - return 1; + Color arg1 = LuaGetArgument_Color(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Color result = Fade(arg1, arg2); + LuaPush_Color(L, result); + return 1; } int lua_SetConfigFlags(lua_State* L) { - char arg1 = LuaGetArgument_char(L, 1); - SetConfigFlags(arg1); - return 0; + char arg1 = LuaGetArgument_char(L, 1); + SetConfigFlags(arg1); + return 0; } int lua_ShowLogo(lua_State* L) { - ShowLogo(); - return 0; + ShowLogo(); + return 0; } int lua_IsFileDropped(lua_State* L) { - bool result = IsFileDropped(); - lua_pushboolean(L, result); - return 1; + bool result = IsFileDropped(); + lua_pushboolean(L, result); + return 1; } /* int lua_*GetDroppedFiles(lua_State* L) { - int * arg1 = LuaGetArgument_int *(L, 1); - //char * result = *GetDroppedFiles(arg1); - LuaPush_//char *(L, result); - return 1; + int * arg1 = LuaGetArgument_int *(L, 1); + //char * result = *GetDroppedFiles(arg1); + LuaPush_//char *(L, result); + return 1; } */ int lua_ClearDroppedFiles(lua_State* L) { - ClearDroppedFiles(); - return 0; + ClearDroppedFiles(); + return 0; } int lua_StorageSaveValue(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - StorageSaveValue(arg1, arg2); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + StorageSaveValue(arg1, arg2); + return 0; } int lua_StorageLoadValue(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); - int result = StorageLoadValue(arg1); - lua_pushinteger(L, result); - return 1; + int result = StorageLoadValue(arg1); + lua_pushinteger(L, result); + return 1; } //------------------------------------------------------------------------------------ @@ -1094,217 +1094,217 @@ int lua_StorageLoadValue(lua_State* L) #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) int lua_IsKeyPressed(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsKeyPressed(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyPressed(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsKeyDown(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsKeyDown(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyDown(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsKeyReleased(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsKeyReleased(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyReleased(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsKeyUp(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsKeyUp(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsKeyUp(arg1); + lua_pushboolean(L, result); + return 1; } int lua_GetKeyPressed(lua_State* L) { - int result = GetKeyPressed(); - lua_pushinteger(L, result); - return 1; + int result = GetKeyPressed(); + lua_pushinteger(L, result); + return 1; } int lua_SetExitKey(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - SetExitKey(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + SetExitKey(arg1); + return 0; } int lua_IsGamepadAvailable(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsGamepadAvailable(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsGamepadAvailable(arg1); + lua_pushboolean(L, result); + return 1; } int lua_GetGamepadAxisMovement(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - float result = GetGamepadAxisMovement(arg1, arg2); - lua_pushnumber(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float result = GetGamepadAxisMovement(arg1, arg2); + lua_pushnumber(L, result); + return 1; } int lua_IsGamepadButtonPressed(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - bool result = IsGamepadButtonPressed(arg1, arg2); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonPressed(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_IsGamepadButtonDown(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - bool result = IsGamepadButtonDown(arg1, arg2); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonDown(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_IsGamepadButtonReleased(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - bool result = IsGamepadButtonReleased(arg1, arg2); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonReleased(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_IsGamepadButtonUp(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - bool result = IsGamepadButtonUp(arg1, arg2); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + bool result = IsGamepadButtonUp(arg1, arg2); + lua_pushboolean(L, result); + return 1; } #endif int lua_IsMouseButtonPressed(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsMouseButtonPressed(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonPressed(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsMouseButtonDown(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsMouseButtonDown(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonDown(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsMouseButtonReleased(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsMouseButtonReleased(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonReleased(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsMouseButtonUp(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsMouseButtonUp(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsMouseButtonUp(arg1); + lua_pushboolean(L, result); + return 1; } int lua_GetMouseX(lua_State* L) { - int result = GetMouseX(); - lua_pushinteger(L, result); - return 1; + int result = GetMouseX(); + lua_pushinteger(L, result); + return 1; } int lua_GetMouseY(lua_State* L) { - int result = GetMouseY(); - lua_pushinteger(L, result); - return 1; + int result = GetMouseY(); + lua_pushinteger(L, result); + return 1; } int lua_GetMousePosition(lua_State* L) { - Vector2 result = GetMousePosition(); - LuaPush_Vector2(L, result); - return 1; + Vector2 result = GetMousePosition(); + LuaPush_Vector2(L, result); + return 1; } int lua_SetMousePosition(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - SetMousePosition(arg1); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + SetMousePosition(arg1); + return 0; } int lua_GetMouseWheelMove(lua_State* L) { - int result = GetMouseWheelMove(); - lua_pushinteger(L, result); - return 1; + int result = GetMouseWheelMove(); + lua_pushinteger(L, result); + return 1; } int lua_GetTouchX(lua_State* L) { - int result = GetTouchX(); - lua_pushinteger(L, result); - return 1; + int result = GetTouchX(); + lua_pushinteger(L, result); + return 1; } int lua_GetTouchY(lua_State* L) { - int result = GetTouchY(); - lua_pushinteger(L, result); - return 1; + int result = GetTouchY(); + lua_pushinteger(L, result); + return 1; } int lua_GetTouchPosition(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); - Vector2 result = GetTouchPosition(arg1); - LuaPush_Vector2(L, result); - return 1; + Vector2 result = GetTouchPosition(arg1); + LuaPush_Vector2(L, result); + return 1; } #if defined(PLATFORM_ANDROID) int lua_IsButtonPressed(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsButtonPressed(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsButtonPressed(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsButtonDown(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsButtonDown(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsButtonDown(arg1); + lua_pushboolean(L, result); + return 1; } int lua_IsButtonReleased(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - bool result = IsButtonReleased(arg1); - lua_pushboolean(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + bool result = IsButtonReleased(arg1); + lua_pushboolean(L, result); + return 1; } #endif @@ -1313,66 +1313,66 @@ int lua_IsButtonReleased(lua_State* L) //------------------------------------------------------------------------------------ int lua_SetGesturesEnabled(lua_State* L) { - unsigned arg1 = LuaGetArgument_unsigned(L, 1); - SetGesturesEnabled(arg1); - return 0; + unsigned arg1 = LuaGetArgument_unsigned(L, 1); + SetGesturesEnabled(arg1); + return 0; } int lua_IsGestureDetected(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); - bool result = IsGestureDetected(arg1); - lua_pushboolean(L, result); - return 1; + bool result = IsGestureDetected(arg1); + lua_pushboolean(L, result); + return 1; } int lua_GetTouchPointsCount(lua_State* L) { - int result = GetTouchPointsCount(); - lua_pushinteger(L, result); - return 1; + int result = GetTouchPointsCount(); + lua_pushinteger(L, result); + return 1; } int lua_GetGestureDetected(lua_State* L) { - int result = GetGestureDetected(); - lua_pushinteger(L, result); - return 1; + int result = GetGestureDetected(); + lua_pushinteger(L, result); + return 1; } int lua_GetGestureHoldDuration(lua_State* L) { - int result = GetGestureHoldDuration(); - lua_pushinteger(L, result); - return 1; + int result = GetGestureHoldDuration(); + lua_pushinteger(L, result); + return 1; } int lua_GetGestureDragVector(lua_State* L) { - Vector2 result = GetGestureDragVector(); - LuaPush_Vector2(L, result); - return 1; + Vector2 result = GetGestureDragVector(); + LuaPush_Vector2(L, result); + return 1; } int lua_GetGestureDragAngle(lua_State* L) { - float result = GetGestureDragAngle(); - lua_pushnumber(L, result); - return 1; + float result = GetGestureDragAngle(); + lua_pushnumber(L, result); + return 1; } int lua_GetGesturePinchVector(lua_State* L) { - Vector2 result = GetGesturePinchVector(); - LuaPush_Vector2(L, result); - return 1; + Vector2 result = GetGesturePinchVector(); + LuaPush_Vector2(L, result); + return 1; } int lua_GetGesturePinchAngle(lua_State* L) { - float result = GetGesturePinchAngle(); - lua_pushnumber(L, result); - return 1; + float result = GetGesturePinchAngle(); + lua_pushnumber(L, result); + return 1; } //------------------------------------------------------------------------------------ @@ -1380,88 +1380,88 @@ int lua_GetGesturePinchAngle(lua_State* L) //------------------------------------------------------------------------------------ int lua_SetCameraMode(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - SetCameraMode(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + SetCameraMode(arg1); + return 0; } int lua_UpdateCamera(lua_State* L) { - Camera arg1 = LuaGetArgument_Camera(L, 1); - UpdateCamera(&arg1); - LuaPush_Camera(L, arg1); - return 1; + Camera arg1 = LuaGetArgument_Camera(L, 1); + UpdateCamera(&arg1); + LuaPush_Camera(L, arg1); + return 1; } int lua_UpdateCameraPlayer(lua_State* L) { - Camera arg1 = LuaGetArgument_Camera(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - UpdateCameraPlayer(&arg1, &arg2); - LuaPush_Camera(L, arg1); - LuaPush_Vector3(L, arg2); - return 2; + Camera arg1 = LuaGetArgument_Camera(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + UpdateCameraPlayer(&arg1, &arg2); + LuaPush_Camera(L, arg1); + LuaPush_Vector3(L, arg2); + return 2; } int lua_SetCameraPosition(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - SetCameraPosition(arg1); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + SetCameraPosition(arg1); + return 0; } int lua_SetCameraTarget(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - SetCameraTarget(arg1); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + SetCameraTarget(arg1); + return 0; } int lua_SetCameraFovy(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - SetCameraFovy(arg1); - return 0; + float arg1 = LuaGetArgument_float(L, 1); + SetCameraFovy(arg1); + return 0; } int lua_SetCameraPanControl(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - SetCameraPanControl(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + SetCameraPanControl(arg1); + return 0; } int lua_SetCameraAltControl(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - SetCameraAltControl(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + SetCameraAltControl(arg1); + return 0; } int lua_SetCameraSmoothZoomControl(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - SetCameraSmoothZoomControl(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + SetCameraSmoothZoomControl(arg1); + return 0; } int lua_SetCameraMoveControls(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - int arg5 = LuaGetArgument_int(L, 5); - int arg6 = LuaGetArgument_int(L, 6); - SetCameraMoveControls(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + int arg6 = LuaGetArgument_int(L, 6); + SetCameraMoveControls(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_SetCameraMouseSensitivity(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - SetCameraMouseSensitivity(arg1); - return 0; + float arg1 = LuaGetArgument_float(L, 1); + SetCameraMouseSensitivity(arg1); + return 0; } //------------------------------------------------------------------------------------ @@ -1469,274 +1469,274 @@ int lua_SetCameraMouseSensitivity(lua_State* L) //------------------------------------------------------------------------------------ int lua_DrawPixel(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawPixel(arg1, arg2, arg3); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawPixel(arg1, arg2, arg3); + return 0; } int lua_DrawPixelV(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - DrawPixelV(arg1, arg2); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawPixelV(arg1, arg2); + return 0; } int lua_DrawLine(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawLine(arg1, arg2, arg3, arg4, arg5); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawLine(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawLineV(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawLineV(arg1, arg2, arg3); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawLineV(arg1, arg2, arg3); + return 0; } int lua_DrawCircle(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawCircle(arg1, arg2, arg3, arg4); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawCircle(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawCircleGradient(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawCircleGradient(arg1, arg2, arg3, arg4, arg5); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCircleGradient(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawCircleV(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawCircleV(arg1, arg2, arg3); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawCircleV(arg1, arg2, arg3); + return 0; } int lua_DrawCircleLines(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawCircleLines(arg1, arg2, arg3, arg4); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawCircleLines(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawRectangle(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawRectangle(arg1, arg2, arg3, arg4, arg5); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawRectangle(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawRectangleRec(lua_State* L) { - Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - DrawRectangleRec(arg1, arg2); - return 0; + Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawRectangleRec(arg1, arg2); + return 0; } int lua_DrawRectangleGradient(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawRectangleGradient(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawRectangleGradient(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_DrawRectangleV(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawRectangleV(arg1, arg2, arg3); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawRectangleV(arg1, arg2, arg3); + return 0; } int lua_DrawRectangleLines(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawRectangleLines(arg1, arg2, arg3, arg4, arg5); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawRectangleLines(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawTriangle(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawTriangle(arg1, arg2, arg3, arg4); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTriangle(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawTriangleLines(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawTriangleLines(arg1, arg2, arg3, arg4); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTriangleLines(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawPoly(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawPoly(arg1, arg2, arg3, arg4, arg5); - return 0; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawPoly(arg1, arg2, arg3, arg4, arg5); + return 0; } #define GET_TABLE(type, name, index) \ - type* name = 0; \ - size_t name##_size = 0; \ - { \ - size_t sz = 0; \ - luaL_checktype(L, index, LUA_TTABLE); \ - lua_pushnil(L); \ - while (lua_next(L, index)) { \ - LuaGetArgument_##type(L, -1); \ - sz++; \ - lua_pop(L, 1); \ - } \ - lua_pop(L, 1); \ - name = calloc(sz, sizeof(type)); \ - sz = 0; \ - lua_pushnil(L); \ - while (lua_next(L, index)) { \ - name[sz] = LuaGetArgument_##type(L, -1); \ - sz++; \ - lua_pop(L, 1); \ - } \ - lua_pop(L, 1); \ - name##_size = sz; \ - } + type* name = 0; \ + size_t name##_size = 0; \ + { \ + size_t sz = 0; \ + luaL_checktype(L, index, LUA_TTABLE); \ + lua_pushnil(L); \ + while (lua_next(L, index)) { \ + LuaGetArgument_##type(L, -1); \ + sz++; \ + lua_pop(L, 1); \ + } \ + lua_pop(L, 1); \ + name = calloc(sz, sizeof(type)); \ + sz = 0; \ + lua_pushnil(L); \ + while (lua_next(L, index)) { \ + name[sz] = LuaGetArgument_##type(L, -1); \ + sz++; \ + lua_pop(L, 1); \ + } \ + lua_pop(L, 1); \ + name##_size = sz; \ + } int lua_DrawPolyEx(lua_State* L) { - GET_TABLE(Vector2, arg1, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - DrawPolyEx(arg1, arg1_size, arg2); - free(arg1); - return 0; + GET_TABLE(Vector2, arg1, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawPolyEx(arg1, arg1_size, arg2); + free(arg1); + return 0; } int lua_DrawPolyExLines(lua_State* L) { - GET_TABLE(Vector2, arg1, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - DrawPolyExLines(arg1, arg1_size, arg2); - free(arg1); - return 0; + GET_TABLE(Vector2, arg1, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawPolyExLines(arg1, arg1_size, arg2); + free(arg1); + return 0; } int lua_CheckCollisionRecs(lua_State* L) { - Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); - Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); - bool result = CheckCollisionRecs(arg1, arg2); - lua_pushboolean(L, result); - return 1; + Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + bool result = CheckCollisionRecs(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionCircles(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - bool result = CheckCollisionCircles(arg1, arg2, arg3, arg4); - lua_pushboolean(L, result); - return 1; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + bool result = CheckCollisionCircles(arg1, arg2, arg3, arg4); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionCircleRec(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); - bool result = CheckCollisionCircleRec(arg1, arg2, arg3); - lua_pushboolean(L, result); - return 1; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + bool result = CheckCollisionCircleRec(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; } int lua_GetCollisionRec(lua_State* L) { - Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); - Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); - Rectangle result = GetCollisionRec(arg1, arg2); - LuaPush_Rectangle(L, result); - return 1; + Rectangle arg1 = LuaGetArgument_Rectangle(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + Rectangle result = GetCollisionRec(arg1, arg2); + LuaPush_Rectangle(L, result); + return 1; } int lua_CheckCollisionPointRec(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); - bool result = CheckCollisionPointRec(arg1, arg2); - lua_pushboolean(L, result); - return 1; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + bool result = CheckCollisionPointRec(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionPointCircle(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - bool result = CheckCollisionPointCircle(arg1, arg2, arg3); - lua_pushboolean(L, result); - return 1; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + bool result = CheckCollisionPointCircle(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionPointTriangle(lua_State* L) { - Vector2 arg1 = LuaGetArgument_Vector2(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - Vector2 arg4 = LuaGetArgument_Vector2(L, 4); - bool result = CheckCollisionPointTriangle(arg1, arg2, arg3, arg4); - lua_pushboolean(L, result); - return 1; + Vector2 arg1 = LuaGetArgument_Vector2(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Vector2 arg4 = LuaGetArgument_Vector2(L, 4); + bool result = CheckCollisionPointTriangle(arg1, arg2, arg3, arg4); + lua_pushboolean(L, result); + return 1; } //------------------------------------------------------------------------------------ @@ -1744,385 +1744,385 @@ int lua_CheckCollisionPointTriangle(lua_State* L) //------------------------------------------------------------------------------------ int lua_LoadImage(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - Image result = LoadImage(arg1); - LuaPush_Image(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + Image result = LoadImage(arg1); + LuaPush_Image(L, result); + return 1; } int lua_LoadImageEx(lua_State* L) { - //Color * arg1 = LuaGetArgument_Color *(L, 1); - GET_TABLE(Color, arg1, 1); + //Color * arg1 = LuaGetArgument_Color *(L, 1); + GET_TABLE(Color, arg1, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - Image result = LoadImageEx(arg1, arg2, arg3); - LuaPush_Image(L, result); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + Image result = LoadImageEx(arg1, arg2, arg3); + LuaPush_Image(L, result); - free(arg1); - return 1; + free(arg1); + return 1; } int lua_LoadImageRaw(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - int arg5 = LuaGetArgument_int(L, 5); - Image result = LoadImageRaw(arg1, arg2, arg3, arg4, arg5); - LuaPush_Image(L, result); - return 1; -} - -int lua_LoadImageFromRES(lua_State* L) -{ - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Image result = LoadImageFromRES(arg1, arg2); - LuaPush_Image(L, result); - return 1; -} - -int lua_LoadTexture(lua_State* L) -{ - const char * arg1 = LuaGetArgument_string(L, 1); - Texture2D result = LoadTexture(arg1); - LuaPush_Texture2D(L, result); - return 1; -} - -int lua_LoadTextureEx(lua_State* L) -{ - void * arg1 = (char *)LuaGetArgument_string(L, 1); // NOTE: getting argument as string - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Texture2D result = LoadTextureEx(arg1, arg2, arg3, arg4); - LuaPush_Texture2D(L, result); - return 1; -} - -int lua_LoadTextureFromRES(lua_State* L) -{ - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Texture2D result = LoadTextureFromRES(arg1, arg2); - LuaPush_Texture2D(L, result); - return 1; -} - -int lua_LoadTextureFromImage(lua_State* L) -{ - Image arg1 = LuaGetArgument_Image(L, 1); - Texture2D result = LoadTextureFromImage(arg1); - LuaPush_Texture2D(L, result); - return 1; -} - -int lua_LoadRenderTexture(lua_State* L) -{ - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - RenderTexture2D result = LoadRenderTexture(arg1, arg2); - LuaPush_RenderTexture2D(L, result); - return 1; -} - -int lua_UnloadImage(lua_State* L) -{ - Image arg1 = LuaGetArgument_Image(L, 1); - UnloadImage(arg1); - return 0; -} - -int lua_UnloadTexture(lua_State* L) -{ - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - UnloadTexture(arg1); - return 0; -} - -int lua_UnloadRenderTexture(lua_State* L) -{ - RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1); - UnloadRenderTexture(arg1); - return 0; -} - -int lua_GetImageData(lua_State* L) -{ - Image arg1 = LuaGetArgument_Image(L, 1); - Color * result = GetImageData(arg1); - lua_createtable(L, arg1.width*arg1.height, 0); - for (int i = 0; i < arg1.width*arg1.height; i++) - { - LuaPush_Color(L, result[i]); - lua_rawseti(L, -2, i + 1); - } - free(result); - return 1; -} - -int lua_GetTextureData(lua_State* L) -{ - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - Image result = GetTextureData(arg1); - LuaPush_Image(L, result); - return 1; -} - -int lua_ImageToPOT(lua_State* L) -{ - Image arg1 = LuaGetArgument_Image(L, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - ImageToPOT(&arg1, arg2); - LuaPush_Image(L, arg1); - return 1; -} - -int lua_ImageFormat(lua_State* L) -{ - Image arg1 = LuaGetArgument_Image(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - ImageFormat(&arg1, arg2); - LuaPush_Image(L, arg1); - return 1; -} - -int lua_ImageDither(lua_State* L) -{ - Image arg1 = LuaGetArgument_Image(L, 1); + const char * arg1 = LuaGetArgument_string(L, 1); int arg2 = LuaGetArgument_int(L, 2); int arg3 = LuaGetArgument_int(L, 3); int arg4 = LuaGetArgument_int(L, 4); int arg5 = LuaGetArgument_int(L, 5); - ImageDither(&arg1, arg2, arg3, arg4, arg5); - LuaPush_Image(L, arg1); - return 1; + Image result = LoadImageRaw(arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, result); + return 1; +} + +int lua_LoadImageFromRES(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Image result = LoadImageFromRES(arg1, arg2); + LuaPush_Image(L, result); + return 1; +} + +int lua_LoadTexture(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Texture2D result = LoadTexture(arg1); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadTextureEx(lua_State* L) +{ + void * arg1 = (char *)LuaGetArgument_string(L, 1); // NOTE: getting argument as string + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Texture2D result = LoadTextureEx(arg1, arg2, arg3, arg4); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadTextureFromRES(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Texture2D result = LoadTextureFromRES(arg1, arg2); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadTextureFromImage(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Texture2D result = LoadTextureFromImage(arg1); + LuaPush_Texture2D(L, result); + return 1; +} + +int lua_LoadRenderTexture(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + RenderTexture2D result = LoadRenderTexture(arg1, arg2); + LuaPush_RenderTexture2D(L, result); + return 1; +} + +int lua_UnloadImage(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + UnloadImage(arg1); + return 0; +} + +int lua_UnloadTexture(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + UnloadTexture(arg1); + return 0; +} + +int lua_UnloadRenderTexture(lua_State* L) +{ + RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1); + UnloadRenderTexture(arg1); + return 0; +} + +int lua_GetImageData(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Color * result = GetImageData(arg1); + lua_createtable(L, arg1.width*arg1.height, 0); + for (int i = 0; i < arg1.width*arg1.height; i++) + { + LuaPush_Color(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + free(result); + return 1; +} + +int lua_GetTextureData(lua_State* L) +{ + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Image result = GetTextureData(arg1); + LuaPush_Image(L, result); + return 1; +} + +int lua_ImageToPOT(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + ImageToPOT(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageFormat(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + ImageFormat(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; +} + +int lua_ImageDither(lua_State* L) +{ + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + ImageDither(&arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageCopy(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Image result = ImageCopy(arg1); - LuaPush_Image(L, result); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Image result = ImageCopy(arg1); + LuaPush_Image(L, result); + return 1; } int lua_ImageCrop(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); - ImageCrop(&arg1, arg2); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + ImageCrop(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageResize(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - ImageResize(&arg1, arg2, arg3); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + ImageResize(&arg1, arg2, arg3); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageResizeNN(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - ImageResizeNN(&arg1, arg2, arg3); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + ImageResizeNN(&arg1, arg2, arg3); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageText(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - Image result = ImageText(arg1, arg2, arg3); - LuaPush_Image(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + Image result = ImageText(arg1, arg2, arg3); + LuaPush_Image(L, result); + return 1; } int lua_ImageTextEx(lua_State* L) { SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); - const char * arg2 = LuaGetArgument_string(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - Image result = ImageTextEx(arg1, arg2, arg3, arg4, arg5); - LuaPush_Image(L, result); - return 1; + const char * arg2 = LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + Image result = ImageTextEx(arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, result); + return 1; } int lua_ImageDraw(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Image arg2 = LuaGetArgument_Image(L, 2); - Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); - Rectangle arg4 = LuaGetArgument_Rectangle(L, 4); - ImageDraw(&arg1, arg2, arg3, arg4); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Image arg2 = LuaGetArgument_Image(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + Rectangle arg4 = LuaGetArgument_Rectangle(L, 4); + ImageDraw(&arg1, arg2, arg3, arg4); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageDrawText(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - const char * arg3 = LuaGetArgument_string(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - ImageDrawText(&arg1, arg2, arg3, arg4, arg5); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + const char * arg3 = LuaGetArgument_string(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + ImageDrawText(&arg1, arg2, arg3, arg4, arg5); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageDrawTextEx(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - SpriteFont arg3 = LuaGetArgument_SpriteFont(L, 3); - const char * arg4 = LuaGetArgument_string(L, 4); - int arg5 = LuaGetArgument_int(L, 5); + Image arg1 = LuaGetArgument_Image(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + SpriteFont arg3 = LuaGetArgument_SpriteFont(L, 3); + const char * arg4 = LuaGetArgument_string(L, 4); + int arg5 = LuaGetArgument_int(L, 5); int arg6 = LuaGetArgument_int(L, 6); - Color arg7 = LuaGetArgument_Color(L, 7); - ImageDrawTextEx(&arg1, arg2, arg3, arg4, arg5, arg6, arg7); - LuaPush_Image(L, arg1); - return 1; + Color arg7 = LuaGetArgument_Color(L, 7); + ImageDrawTextEx(&arg1, arg2, arg3, arg4, arg5, arg6, arg7); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageFlipVertical(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - ImageFlipVertical(&arg1); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + ImageFlipVertical(&arg1); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageFlipHorizontal(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - ImageFlipHorizontal(&arg1); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + ImageFlipHorizontal(&arg1); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageColorTint(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - ImageColorTint(&arg1, arg2); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + ImageColorTint(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageColorInvert(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - ImageColorInvert(&arg1); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + ImageColorInvert(&arg1); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageColorGrayscale(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - ImageColorGrayscale(&arg1); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + ImageColorGrayscale(&arg1); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageColorContrast(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - ImageColorContrast(&arg1, arg2); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + ImageColorContrast(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; } int lua_ImageColorBrightness(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - ImageColorBrightness(&arg1, arg2); - LuaPush_Image(L, arg1); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + ImageColorBrightness(&arg1, arg2); + LuaPush_Image(L, arg1); + return 1; } int lua_GenTextureMipmaps(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - GenTextureMipmaps(arg1); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + GenTextureMipmaps(arg1); + return 0; } int lua_UpdateTexture(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); void * arg2 = (char *)LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string? - UpdateTexture(arg1, arg2); - return 0; + UpdateTexture(arg1, arg2); + return 0; } int lua_DrawTexture(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawTexture(arg1, arg2, arg3, arg4); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTexture(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawTextureV(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawTextureV(arg1, arg2, arg3); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawTextureV(arg1, arg2, arg3); + return 0; } int lua_DrawTextureEx(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawTextureEx(arg1, arg2, arg3, arg4, arg5); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawTextureEx(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawTextureRec(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); - Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawTextureRec(arg1, arg2, arg3, arg4); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawTextureRec(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawTexturePro(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); - Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); - Vector2 arg4 = LuaGetArgument_Vector2(L, 4); - float arg5 = LuaGetArgument_float(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawTexturePro(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Rectangle arg2 = LuaGetArgument_Rectangle(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + Vector2 arg4 = LuaGetArgument_Vector2(L, 4); + float arg5 = LuaGetArgument_float(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawTexturePro(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } //------------------------------------------------------------------------------------ @@ -2130,230 +2130,230 @@ int lua_DrawTexturePro(lua_State* L) //------------------------------------------------------------------------------------ int lua_GetDefaultFont(lua_State* L) { - SpriteFont result = GetDefaultFont(); - LuaPush_SpriteFont(L, result); - return 1; + SpriteFont result = GetDefaultFont(); + LuaPush_SpriteFont(L, result); + return 1; } int lua_LoadSpriteFont(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - SpriteFont result = LoadSpriteFont(arg1); - LuaPush_SpriteFont(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + SpriteFont result = LoadSpriteFont(arg1); + LuaPush_SpriteFont(L, result); + return 1; } int lua_UnloadSpriteFont(lua_State* L) { - SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); - UnloadSpriteFont(arg1); - return 0; + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + UnloadSpriteFont(arg1); + return 0; } int lua_DrawText(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawText(arg1, arg2, arg3, arg4, arg5); - return 0; + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawText(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawTextEx(lua_State* L) { - SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); - const char * arg2 = LuaGetArgument_string(L, 2); - Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - int arg5 = LuaGetArgument_int(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawTextEx(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + Vector2 arg3 = LuaGetArgument_Vector2(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawTextEx(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_MeasureText(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int result = MeasureText(arg1, arg2); - lua_pushinteger(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int result = MeasureText(arg1, arg2); + lua_pushinteger(L, result); + return 1; } int lua_MeasureTextEx(lua_State* L) { - SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); - const char * arg2 = LuaGetArgument_string(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Vector2 result = MeasureTextEx(arg1, arg2, arg3, arg4); - LuaPush_Vector2(L, result); - return 1; + SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Vector2 result = MeasureTextEx(arg1, arg2, arg3, arg4); + LuaPush_Vector2(L, result); + return 1; } int lua_DrawFPS(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - DrawFPS(arg1, arg2); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + DrawFPS(arg1, arg2); + return 0; } -// TODO: const char *FormatText(const char *text, ...); -// TODO: const char *SubText(const char *text, int position, int length); +// NOTE: FormatText() can be replaced by Lua function: string.format() +// NOTE: SubText() can be replaced by Lua function: string.sub() int lua_DrawCube(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawCube(arg1, arg2, arg3, arg4, arg5); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCube(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawCubeV(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawCubeV(arg1, arg2, arg3); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawCubeV(arg1, arg2, arg3); + return 0; } int lua_DrawCubeWires(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawCubeWires(arg1, arg2, arg3, arg4, arg5); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCubeWires(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawCubeTexture(lua_State* L) { - Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - float arg5 = LuaGetArgument_float(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawCubeTexture(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + float arg5 = LuaGetArgument_float(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawCubeTexture(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_DrawSphere(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawSphere(arg1, arg2, arg3); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawSphere(arg1, arg2, arg3); + return 0; } int lua_DrawSphereEx(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawSphereEx(arg1, arg2, arg3, arg4, arg5); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawSphereEx(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawSphereWires(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawSphereWires(arg1, arg2, arg3, arg4, arg5); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawSphereWires(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawCylinder(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - int arg5 = LuaGetArgument_int(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawCylinder(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawCylinder(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_DrawCylinderWires(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - int arg5 = LuaGetArgument_int(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawCylinderWires(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawCylinderWires(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_DrawPlane(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector2 arg2 = LuaGetArgument_Vector2(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - DrawPlane(arg1, arg2, arg3); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector2 arg2 = LuaGetArgument_Vector2(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawPlane(arg1, arg2, arg3); + return 0; } int lua_DrawRay(lua_State* L) { - Ray arg1 = LuaGetArgument_Ray(L, 1); - Color arg2 = LuaGetArgument_Color(L, 2); - DrawRay(arg1, arg2); - return 0; + Ray arg1 = LuaGetArgument_Ray(L, 1); + Color arg2 = LuaGetArgument_Color(L, 2); + DrawRay(arg1, arg2); + return 0; } int lua_DrawGrid(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - DrawGrid(arg1, arg2); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + DrawGrid(arg1, arg2); + return 0; } int lua_DrawGizmo(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - DrawGizmo(arg1); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + DrawGizmo(arg1); + return 0; } // TODO: DrawLight(Light light); int lua_Draw3DLine(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - Draw3DLine(arg1, arg2, arg3); - return 0; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + Draw3DLine(arg1, arg2, arg3); + return 0; } int lua_Draw3DCircle(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); float arg2 = LuaGetArgument_float(L, 2); float arg3 = LuaGetArgument_float(L, 3); - Vector3 arg4 = LuaGetArgument_Vector3(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - Draw3DCircle(arg1, arg2, arg3, arg4, arg5); - return 0; + Vector3 arg4 = LuaGetArgument_Vector3(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + Draw3DCircle(arg1, arg2, arg3, arg4, arg5); + return 0; } //------------------------------------------------------------------------------------ @@ -2361,231 +2361,231 @@ int lua_Draw3DCircle(lua_State* L) //------------------------------------------------------------------------------------ int lua_LoadModel(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - Model result = LoadModel(arg1); - LuaPush_Model(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + Model result = LoadModel(arg1); + LuaPush_Model(L, result); + return 1; } int lua_LoadModelEx(lua_State* L) { - Mesh arg1 = LuaGetArgument_Mesh(L, 1); - bool arg2 = LuaGetArgument_int(L, 2); - Model result = LoadModelEx(arg1, arg2); - LuaPush_Model(L, result); - return 1; + Mesh arg1 = LuaGetArgument_Mesh(L, 1); + bool arg2 = LuaGetArgument_int(L, 2); + Model result = LoadModelEx(arg1, arg2); + LuaPush_Model(L, result); + return 1; } int lua_LoadModelFromRES(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Model result = LoadModelFromRES(arg1, arg2); - LuaPush_Model(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Model result = LoadModelFromRES(arg1, arg2); + LuaPush_Model(L, result); + return 1; } int lua_LoadHeightmap(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Model result = LoadHeightmap(arg1, arg2); - LuaPush_Model(L, result); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Model result = LoadHeightmap(arg1, arg2); + LuaPush_Model(L, result); + return 1; } int lua_LoadCubicmap(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Model result = LoadCubicmap(arg1); - LuaPush_Model(L, result); - return 1; + Image arg1 = LuaGetArgument_Image(L, 1); + Model result = LoadCubicmap(arg1); + LuaPush_Model(L, result); + return 1; } int lua_UnloadModel(lua_State* L) { - Model arg1 = LuaGetArgument_Model(L, 1); - UnloadModel(arg1); - return 0; + Model arg1 = LuaGetArgument_Model(L, 1); + UnloadModel(arg1); + return 0; } // TODO: GenMesh*() functionality (not ready yet on raylib 1.6) int lua_LoadMaterial(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - Material result = LoadMaterial(arg1); - LuaPush_Material(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + Material result = LoadMaterial(arg1); + LuaPush_Material(L, result); + return 1; } int lua_LoadDefaultMaterial(lua_State* L) { - Material result = LoadDefaultMaterial(); - LuaPush_Material(L, result); - return 1; + Material result = LoadDefaultMaterial(); + LuaPush_Material(L, result); + return 1; } int lua_LoadStandardMaterial(lua_State* L) { - Material result = LoadStandardMaterial(); - LuaPush_Material(L, result); - return 1; + Material result = LoadStandardMaterial(); + LuaPush_Material(L, result); + return 1; } int lua_UnloadMaterial(lua_State* L) { - Material arg1 = LuaGetArgument_Material(L, 1); - UnloadMaterial(arg1); - return 0; + Material arg1 = LuaGetArgument_Material(L, 1); + UnloadMaterial(arg1); + return 0; } int lua_DrawModel(lua_State* L) { - Model arg1 = LuaGetArgument_Model(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawModel(arg1, arg2, arg3, arg4); - return 0; + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawModel(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawModelEx(lua_State* L) { - Model arg1 = LuaGetArgument_Model(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); Vector3 arg3 = LuaGetArgument_Vector3(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Vector3 arg5 = LuaGetArgument_Vector3(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawModelEx(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + float arg4 = LuaGetArgument_float(L, 4); + Vector3 arg5 = LuaGetArgument_Vector3(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawModelEx(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_DrawModelWires(lua_State* L) { - Model arg1 = LuaGetArgument_Model(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Color arg4 = LuaGetArgument_Color(L, 4); - DrawModelWires(arg1, arg2, arg3, arg4); - return 0; + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Color arg4 = LuaGetArgument_Color(L, 4); + DrawModelWires(arg1, arg2, arg3, arg4); + return 0; } int lua_DrawModelWiresEx(lua_State* L) { - Model arg1 = LuaGetArgument_Model(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Model arg1 = LuaGetArgument_Model(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); Vector3 arg3 = LuaGetArgument_Vector3(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Vector3 arg5 = LuaGetArgument_Vector3(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawModelWiresEx(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + float arg4 = LuaGetArgument_float(L, 4); + Vector3 arg5 = LuaGetArgument_Vector3(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawModelWiresEx(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_DrawBillboard(lua_State* L) { - Camera arg1 = LuaGetArgument_Camera(L, 1); - Texture2D arg2 = LuaGetArgument_Texture2D(L, 2); - Vector3 arg3 = LuaGetArgument_Vector3(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - DrawBillboard(arg1, arg2, arg3, arg4, arg5); - return 0; + Camera arg1 = LuaGetArgument_Camera(L, 1); + Texture2D arg2 = LuaGetArgument_Texture2D(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawBillboard(arg1, arg2, arg3, arg4, arg5); + return 0; } int lua_DrawBillboardRec(lua_State* L) { - Camera arg1 = LuaGetArgument_Camera(L, 1); - Texture2D arg2 = LuaGetArgument_Texture2D(L, 2); - Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); - Vector3 arg4 = LuaGetArgument_Vector3(L, 4); - float arg5 = LuaGetArgument_float(L, 5); - Color arg6 = LuaGetArgument_Color(L, 6); - DrawBillboardRec(arg1, arg2, arg3, arg4, arg5, arg6); - return 0; + Camera arg1 = LuaGetArgument_Camera(L, 1); + Texture2D arg2 = LuaGetArgument_Texture2D(L, 2); + Rectangle arg3 = LuaGetArgument_Rectangle(L, 3); + Vector3 arg4 = LuaGetArgument_Vector3(L, 4); + float arg5 = LuaGetArgument_float(L, 5); + Color arg6 = LuaGetArgument_Color(L, 6); + DrawBillboardRec(arg1, arg2, arg3, arg4, arg5, arg6); + return 0; } int lua_CalculateBoundingBox(lua_State* L) { - Mesh arg1 = LuaGetArgument_Mesh(L, 1); + Mesh arg1 = LuaGetArgument_Mesh(L, 1); BoundingBox result = CalculateBoundingBox(arg1); - LuaPush_BoundingBox(L, result); - return 1; + LuaPush_BoundingBox(L, result); + return 1; } int lua_CheckCollisionSpheres(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Vector3 arg3 = LuaGetArgument_Vector3(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - bool result = CheckCollisionSpheres(arg1, arg2, arg3, arg4); - lua_pushboolean(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + bool result = CheckCollisionSpheres(arg1, arg2, arg3, arg4); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionBoxes(lua_State* L) { - BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); - BoundingBox arg2 = LuaGetArgument_BoundingBox(L, 2); - bool result = CheckCollisionBoxes(arg1, arg2); - lua_pushboolean(L, result); - return 1; + BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); + BoundingBox arg2 = LuaGetArgument_BoundingBox(L, 2); + bool result = CheckCollisionBoxes(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionBoxSphere(lua_State* L) { - BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - bool result = CheckCollisionBoxSphere(arg1, arg2, arg3); - lua_pushboolean(L, result); - return 1; + BoundingBox arg1 = LuaGetArgument_BoundingBox(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + bool result = CheckCollisionBoxSphere(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionRaySphere(lua_State* L) { - Ray arg1 = LuaGetArgument_Ray(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - bool result = CheckCollisionRaySphere(arg1, arg2, arg3); - lua_pushboolean(L, result); - return 1; + Ray arg1 = LuaGetArgument_Ray(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + bool result = CheckCollisionRaySphere(arg1, arg2, arg3); + lua_pushboolean(L, result); + return 1; } int lua_CheckCollisionRaySphereEx(lua_State* L) { - Ray arg1 = LuaGetArgument_Ray(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); + Ray arg1 = LuaGetArgument_Ray(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); Vector3 arg4 = LuaGetArgument_Vector3(L, 4); - bool result = CheckCollisionRaySphereEx(arg1, arg2, arg3, &arg4); - lua_pushboolean(L, result); + bool result = CheckCollisionRaySphereEx(arg1, arg2, arg3, &arg4); + lua_pushboolean(L, result); LuaPush_Vector3(L, arg4); - return 2; + return 2; } int lua_CheckCollisionRayBox(lua_State* L) { - Ray arg1 = LuaGetArgument_Ray(L, 1); - BoundingBox arg2 = LuaGetArgument_BoundingBox(L, 2); - bool result = CheckCollisionRayBox(arg1, arg2); - lua_pushboolean(L, result); - return 1; + Ray arg1 = LuaGetArgument_Ray(L, 1); + BoundingBox arg2 = LuaGetArgument_BoundingBox(L, 2); + bool result = CheckCollisionRayBox(arg1, arg2); + lua_pushboolean(L, result); + return 1; } int lua_ResolveCollisionCubicmap(lua_State* L) { - Image arg1 = LuaGetArgument_Image(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Vector3 arg3 = LuaGetArgument_Vector3(L, 3); - float arg4 = LuaGetArgument_float(L, 4); - Vector3 result = ResolveCollisionCubicmap(arg1, arg2, &arg3, arg4); - LuaPush_Vector3(L, result); - LuaPush_Vector3(L, arg3); - return 2; + Image arg1 = LuaGetArgument_Image(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + float arg4 = LuaGetArgument_float(L, 4); + Vector3 result = ResolveCollisionCubicmap(arg1, arg2, &arg3, arg4); + LuaPush_Vector3(L, result); + LuaPush_Vector3(L, arg3); + return 2; } //------------------------------------------------------------------------------------ @@ -2593,121 +2593,136 @@ int lua_ResolveCollisionCubicmap(lua_State* L) //------------------------------------------------------------------------------------ int lua_LoadShader(lua_State* L) { - char * arg1 = (char *)LuaGetArgument_string(L, 1); - char * arg2 = (char *)LuaGetArgument_string(L, 2); - Shader result = LoadShader(arg1, arg2); - LuaPush_Shader(L, result); - return 1; + char * arg1 = (char *)LuaGetArgument_string(L, 1); + char * arg2 = (char *)LuaGetArgument_string(L, 2); + Shader result = LoadShader(arg1, arg2); + LuaPush_Shader(L, result); + return 1; } int lua_UnloadShader(lua_State* L) { - Shader arg1 = LuaGetArgument_Shader(L, 1); - UnloadShader(arg1); - return 0; + Shader arg1 = LuaGetArgument_Shader(L, 1); + UnloadShader(arg1); + return 0; } int lua_GetDefaultShader(lua_State* L) { - Shader result = GetDefaultShader(); - LuaPush_Shader(L, result); - return 1; + Shader result = GetDefaultShader(); + LuaPush_Shader(L, result); + return 1; } int lua_GetStandardShader(lua_State* L) { - Shader result = GetStandardShader(); - LuaPush_Shader(L, result); - return 1; + Shader result = GetStandardShader(); + LuaPush_Shader(L, result); + return 1; } int lua_GetDefaultTexture(lua_State* L) { - Texture2D result = GetDefaultTexture(); - LuaPush_Texture2D(L, result); - return 1; + Texture2D result = GetDefaultTexture(); + LuaPush_Texture2D(L, result); + return 1; } int lua_GetShaderLocation(lua_State* L) { - Shader arg1 = LuaGetArgument_Shader(L, 1); - const char * arg2 = LuaGetArgument_string(L, 2); - int result = GetShaderLocation(arg1, arg2); - lua_pushinteger(L, result); - return 1; + Shader arg1 = LuaGetArgument_Shader(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + int result = GetShaderLocation(arg1, arg2); + lua_pushinteger(L, result); + return 1; } int lua_SetShaderValue(lua_State* L) { - Shader arg1 = LuaGetArgument_Shader(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - GET_TABLE(float, arg3, 3); - SetShaderValue(arg1, arg2, arg3, arg3_size); - free(arg3); - return 0; + Shader arg1 = LuaGetArgument_Shader(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + GET_TABLE(float, arg3, 3); + SetShaderValue(arg1, arg2, arg3, arg3_size); + free(arg3); + return 0; } int lua_SetShaderValuei(lua_State* L) { - Shader arg1 = LuaGetArgument_Shader(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - GET_TABLE(int, arg3, 3); - SetShaderValuei(arg1, arg2, arg3, arg3_size); - free(arg3); - return 0; + Shader arg1 = LuaGetArgument_Shader(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + GET_TABLE(int, arg3, 3); + SetShaderValuei(arg1, arg2, arg3, arg3_size); + free(arg3); + return 0; } int lua_SetShaderValueMatrix(lua_State* L) { - Shader arg1 = LuaGetArgument_Shader(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Matrix arg3 = LuaGetArgument_Matrix(L, 3); - SetShaderValueMatrix(arg1, arg2, arg3); - return 0; + Shader arg1 = LuaGetArgument_Shader(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Matrix arg3 = LuaGetArgument_Matrix(L, 3); + SetShaderValueMatrix(arg1, arg2, arg3); + return 0; } int lua_SetMatrixProjection(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - SetMatrixProjection(arg1); - return 0; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + SetMatrixProjection(arg1); + return 0; } int lua_SetMatrixModelview(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - SetMatrixModelview(arg1); - return 0; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + SetMatrixModelview(arg1); + return 0; } int lua_BeginShaderMode(lua_State* L) { - Shader arg1 = LuaGetArgument_Shader(L, 1); - BeginShaderMode(arg1); - return 0; + Shader arg1 = LuaGetArgument_Shader(L, 1); + BeginShaderMode(arg1); + return 0; } int lua_EndShaderMode(lua_State* L) { - EndShaderMode(); - return 0; + EndShaderMode(); + return 0; } int lua_BeginBlendMode(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - BeginBlendMode(arg1); - return 0; + int arg1 = LuaGetArgument_int(L, 1); + BeginBlendMode(arg1); + return 0; } int lua_EndBlendMode(lua_State* L) { - EndBlendMode(); - return 0; + EndBlendMode(); + return 0; +} + +int lua_CreateLight(lua_State* L) +{ + int arg1 = LuaGetArgument_int(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + Light result = CreateLight(arg1, arg2, arg3); + LuaPush_Light(L, result); + return 1; +} + +int lua_DestroyLight(lua_State* L) +{ + Light arg1 = LuaGetArgument_Light(L, 1); + DestroyLight(arg1); + return 0; } -// TODO: Light CreateLight(int type, Vector3 position, Color diffuse); -// TODO: void DestroyLight(Light light); //------------------------------------------------------------------------------------ // raylib [rlgl] module functions - VR experience @@ -2715,45 +2730,33 @@ int lua_EndBlendMode(lua_State* L) int lua_InitVrDevice(lua_State* L) { int arg1 = LuaGetArgument_int(L, 1); - InitVrDevice(arg1); - return 0; + InitVrDevice(arg1); + return 0; } int lua_CloseVrDevice(lua_State* L) { - CloseVrDevice(); - return 0; -} - -int lua_UpdateVrTracking(lua_State* L) -{ - UpdateVrTracking(); - return 0; -} - -int lua_BeginVrDrawing(lua_State* L) -{ - BeginVrDrawing(); - return 0; -} - -int lua_EndVrDrawing(lua_State* L) -{ - EndVrDrawing(); - return 0; + CloseVrDevice(); + return 0; } int lua_IsVrDeviceReady(lua_State* L) { - bool result = IsVrDeviceReady(); - lua_pushboolean(L, result); - return 1; + bool result = IsVrDeviceReady(); + lua_pushboolean(L, result); + return 1; +} + +int lua_UpdateVrTracking(lua_State* L) +{ + UpdateVrTracking(); + return 0; } int lua_ToggleVrMode(lua_State* L) { - ToggleVrMode(); - return 0; + ToggleVrMode(); + return 0; } //------------------------------------------------------------------------------------ @@ -2761,213 +2764,213 @@ int lua_ToggleVrMode(lua_State* L) //------------------------------------------------------------------------------------ int lua_InitAudioDevice(lua_State* L) { - InitAudioDevice(); - return 0; + InitAudioDevice(); + return 0; } int lua_CloseAudioDevice(lua_State* L) { - CloseAudioDevice(); - return 0; + CloseAudioDevice(); + return 0; } int lua_IsAudioDeviceReady(lua_State* L) { - bool result = IsAudioDeviceReady(); + bool result = IsAudioDeviceReady(); lua_pushboolean(L, result); - return 1; + return 1; } int lua_LoadSound(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - Sound result = LoadSound((char*)arg1); - LuaPush_Sound(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + Sound result = LoadSound((char*)arg1); + LuaPush_Sound(L, result); + return 1; } int lua_LoadSoundFromWave(lua_State* L) { - Wave arg1 = LuaGetArgument_Wave(L, 1); - Sound result = LoadSoundFromWave(arg1); - LuaPush_Sound(L, result); - return 1; + Wave arg1 = LuaGetArgument_Wave(L, 1); + Sound result = LoadSoundFromWave(arg1); + LuaPush_Sound(L, result); + return 1; } int lua_LoadSoundFromRES(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - Sound result = LoadSoundFromRES(arg1, arg2); - LuaPush_Sound(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + Sound result = LoadSoundFromRES(arg1, arg2); + LuaPush_Sound(L, result); + return 1; } int lua_UnloadSound(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - UnloadSound(arg1); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + UnloadSound(arg1); + return 0; } int lua_PlaySound(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - PlaySound(arg1); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + PlaySound(arg1); + return 0; } int lua_PauseSound(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - PauseSound(arg1); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + PauseSound(arg1); + return 0; } int lua_ResumeSound(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - ResumeSound(arg1); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + ResumeSound(arg1); + return 0; } int lua_StopSound(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - StopSound(arg1); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + StopSound(arg1); + return 0; } int lua_IsSoundPlaying(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - bool result = IsSoundPlaying(arg1); - lua_pushboolean(L, result); - return 1; + Sound arg1 = LuaGetArgument_Sound(L, 1); + bool result = IsSoundPlaying(arg1); + lua_pushboolean(L, result); + return 1; } int lua_SetSoundVolume(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - SetSoundVolume(arg1, arg2); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + SetSoundVolume(arg1, arg2); + return 0; } int lua_SetSoundPitch(lua_State* L) { - Sound arg1 = LuaGetArgument_Sound(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - SetSoundPitch(arg1, arg2); - return 0; + Sound arg1 = LuaGetArgument_Sound(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + SetSoundPitch(arg1, arg2); + return 0; } int lua_LoadMusicStream(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); + const char * arg1 = LuaGetArgument_string(L, 1); Music result = LoadMusicStream((char *)arg1); - LuaPush_Music(L, result); - return 1; + LuaPush_Music(L, result); + return 1; } int lua_UnloadMusicStream(lua_State* L) { - Music arg1 = LuaGetArgument_Music(L, 1); - UnloadMusicStream(arg1); - return 0; + Music arg1 = LuaGetArgument_Music(L, 1); + UnloadMusicStream(arg1); + return 0; } int lua_UpdateMusicStream(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - UpdateMusicStream(arg1); - return 0; + UpdateMusicStream(arg1); + return 0; } int lua_PlayMusicStream(lua_State* L) { - Music arg1 = LuaGetArgument_Music(L, 1); - PlayMusicStream(arg1); - return 0; + Music arg1 = LuaGetArgument_Music(L, 1); + PlayMusicStream(arg1); + return 0; } int lua_StopMusicStream(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - StopMusicStream(arg1); - return 0; + StopMusicStream(arg1); + return 0; } int lua_PauseMusicStream(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - PauseMusicStream(arg1); - return 0; + PauseMusicStream(arg1); + return 0; } int lua_ResumeMusicStream(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - ResumeMusicStream(arg1); - return 0; + ResumeMusicStream(arg1); + return 0; } int lua_IsMusicPlaying(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - bool result = IsMusicPlaying(arg1); - lua_pushboolean(L, result); - return 1; + bool result = IsMusicPlaying(arg1); + lua_pushboolean(L, result); + return 1; } int lua_SetMusicVolume(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - SetMusicVolume(arg1, arg2); - return 0; + float arg2 = LuaGetArgument_float(L, 2); + SetMusicVolume(arg1, arg2); + return 0; } int lua_SetMusicPitch(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - SetMusicPitch(arg1, arg2); - return 0; + float arg2 = LuaGetArgument_float(L, 2); + SetMusicPitch(arg1, arg2); + return 0; } int lua_GetMusicTimeLength(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - float result = GetMusicTimeLength(arg1); - lua_pushnumber(L, result); - return 1; + float result = GetMusicTimeLength(arg1); + lua_pushnumber(L, result); + return 1; } int lua_GetMusicTimePlayed(lua_State* L) { Music arg1 = LuaGetArgument_Music(L, 1); - float result = GetMusicTimePlayed(arg1); - lua_pushnumber(L, result); - return 1; + float result = GetMusicTimePlayed(arg1); + lua_pushnumber(L, result); + return 1; } int lua_InitAudioStream(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int arg2 = LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); + int arg1 = LuaGetArgument_int(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); AudioStream result = InitAudioStream(arg1, arg2, arg3); - LuaPush_AudioStream(L, result); - return 1; + LuaPush_AudioStream(L, result); + return 1; } int lua_CloseAudioStream(lua_State* L) { - AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); - CloseAudioStream(arg1); - return 0; + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + CloseAudioStream(arg1); + return 0; } int lua_UpdateAudioStream(lua_State* L) @@ -2975,45 +2978,45 @@ int lua_UpdateAudioStream(lua_State* L) AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); void * arg2 = (char *)LuaGetArgument_string(L, 2); int arg3 = LuaGetArgument_int(L, 3); - UpdateAudioStream(arg1, arg2, arg3); - return 0; + UpdateAudioStream(arg1, arg2, arg3); + return 0; } int lua_IsAudioBufferProcessed(lua_State* L) { AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); - bool result = IsAudioBufferProcessed(arg1); - lua_pushboolean(L, result); - return 1; + bool result = IsAudioBufferProcessed(arg1); + lua_pushboolean(L, result); + return 1; } int lua_PlayAudioStream(lua_State* L) { - AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); - PlayAudioStream(arg1); - return 0; + AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); + PlayAudioStream(arg1); + return 0; } int lua_StopAudioStream(lua_State* L) { AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); - StopAudioStream(arg1); - return 0; + StopAudioStream(arg1); + return 0; } int lua_PauseAudioStream(lua_State* L) { AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); - PauseAudioStream(arg1); - return 0; + PauseAudioStream(arg1); + return 0; } int lua_ResumeAudioStream(lua_State* L) { AudioStream arg1 = LuaGetArgument_AudioStream(L, 1); - ResumeAudioStream(arg1); - return 0; + ResumeAudioStream(arg1); + return 0; } //---------------------------------------------------------------------------------- @@ -3021,70 +3024,70 @@ int lua_ResumeAudioStream(lua_State* L) //---------------------------------------------------------------------------------- int lua_DecompressData(lua_State* L) { - unsigned char *arg1 = (unsigned char *)LuaGetArgument_string(L, 1); - unsigned arg2 = (unsigned)LuaGetArgument_int(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - unsigned char *result = DecompressData(arg1, arg2, arg3); - lua_pushlstring(L, (const char *)result, arg3); - return 1; + unsigned char *arg1 = (unsigned char *)LuaGetArgument_string(L, 1); + unsigned arg2 = (unsigned)LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + unsigned char *result = DecompressData(arg1, arg2, arg3); + lua_pushlstring(L, (const char *)result, arg3); + return 1; } #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) int lua_WriteBitmap(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - unsigned char* arg2 = (unsigned char*)LuaGetArgument_string(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - WriteBitmap(arg1, arg2, arg3, arg4); - return 0; + const char * arg1 = LuaGetArgument_string(L, 1); + unsigned char* arg2 = (unsigned char*)LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + WriteBitmap(arg1, arg2, arg3, arg4); + return 0; } int lua_WritePNG(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - unsigned char* arg2 = (unsigned char*)LuaGetArgument_string(L, 2); - int arg3 = LuaGetArgument_int(L, 3); - int arg4 = LuaGetArgument_int(L, 4); - int arg5 = LuaGetArgument_int(L, 5); - WritePNG(arg1, arg2, arg3, arg4, arg5); - return 0; + const char * arg1 = LuaGetArgument_string(L, 1); + unsigned char* arg2 = (unsigned char*)LuaGetArgument_string(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + WritePNG(arg1, arg2, arg3, arg4, arg5); + return 0; } #endif int lua_TraceLog(lua_State* L) { - int num_args = lua_gettop(L) - 1; - int arg1 = LuaGetArgument_int(L, 1); + int num_args = lua_gettop(L) - 1; + int arg1 = LuaGetArgument_int(L, 1); - /// type, fmt, args... + /// type, fmt, args... - lua_rotate(L, 1, -1); /// fmt, args..., type - lua_pop(L, 1); /// fmt, args... + lua_rotate(L, 1, -1); /// fmt, args..., type + lua_pop(L, 1); /// fmt, args... - lua_getglobal(L, "string"); /// fmt, args..., [string] - lua_getfield(L, 1, "format"); /// fmt, args..., [string], format() - lua_rotate(L, 1, 2); /// [string], format(), fmt, args... - lua_call(L, num_args, 1); /// [string], formatted_string - - TraceLog(arg1, "%s", luaL_checkstring(L,-1)); - return 0; + lua_getglobal(L, "string"); /// fmt, args..., [string] + lua_getfield(L, 1, "format"); /// fmt, args..., [string], format() + lua_rotate(L, 1, 2); /// [string], format(), fmt, args... + lua_call(L, num_args, 1); /// [string], formatted_string + + TraceLog(arg1, "%s", luaL_checkstring(L,-1)); + return 0; } int lua_GetExtension(lua_State* L) { - const char * arg1 = LuaGetArgument_string(L, 1); - const char* result = GetExtension(arg1); - lua_pushstring(L, result); - return 1; + const char * arg1 = LuaGetArgument_string(L, 1); + const char* result = GetExtension(arg1); + lua_pushstring(L, result); + return 1; } int lua_GetNextPOT(lua_State* L) { - int arg1 = LuaGetArgument_int(L, 1); - int result = GetNextPOT(arg1); - lua_pushinteger(L, result); - return 1; + int arg1 = LuaGetArgument_int(L, 1); + int result = GetNextPOT(arg1); + lua_pushinteger(L, result); + return 1; } //---------------------------------------------------------------------------------- @@ -3092,123 +3095,123 @@ int lua_GetNextPOT(lua_State* L) //---------------------------------------------------------------------------------- int lua_VectorAdd(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Vector3 result = VectorAdd(arg1, arg2); - LuaPush_Vector3(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorAdd(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; } int lua_VectorSubtract(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Vector3 result = VectorSubtract(arg1, arg2); - LuaPush_Vector3(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorSubtract(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; } int lua_VectorCrossProduct(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Vector3 result = VectorCrossProduct(arg1, arg2); - LuaPush_Vector3(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorCrossProduct(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; } int lua_VectorPerpendicular(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 result = VectorPerpendicular(arg1); - LuaPush_Vector3(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 result = VectorPerpendicular(arg1); + LuaPush_Vector3(L, result); + return 1; } int lua_VectorDotProduct(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float result = VectorDotProduct(arg1, arg2); - lua_pushnumber(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float result = VectorDotProduct(arg1, arg2); + lua_pushnumber(L, result); + return 1; } int lua_VectorLength(lua_State* L) { - const Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float result = VectorLength(arg1); - lua_pushnumber(L, result); - return 1; + const Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float result = VectorLength(arg1); + lua_pushnumber(L, result); + return 1; } int lua_VectorScale(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - VectorScale(&arg1, arg2); - LuaPush_Vector3(L, arg1); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + VectorScale(&arg1, arg2); + LuaPush_Vector3(L, arg1); + return 1; } int lua_VectorNegate(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - VectorNegate(&arg1); - LuaPush_Vector3(L, arg1); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + VectorNegate(&arg1); + LuaPush_Vector3(L, arg1); + return 1; } int lua_VectorNormalize(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - VectorNormalize(&arg1); - LuaPush_Vector3(L, arg1); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + VectorNormalize(&arg1); + LuaPush_Vector3(L, arg1); + return 1; } int lua_VectorDistance(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float result = VectorDistance(arg1, arg2); - lua_pushnumber(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float result = VectorDistance(arg1, arg2); + lua_pushnumber(L, result); + return 1; } int lua_VectorLerp(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Vector3 result = VectorLerp(arg1, arg2, arg3); - LuaPush_Vector3(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Vector3 result = VectorLerp(arg1, arg2, arg3); + LuaPush_Vector3(L, result); + return 1; } int lua_VectorReflect(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Vector3 result = VectorReflect(arg1, arg2); - LuaPush_Vector3(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 result = VectorReflect(arg1, arg2); + LuaPush_Vector3(L, result); + return 1; } int lua_VectorTransform(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Matrix arg2 = LuaGetArgument_Matrix(L, 2); - VectorTransform(&arg1, arg2); - LuaPush_Vector3(L, arg1); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + VectorTransform(&arg1, arg2); + LuaPush_Vector3(L, arg1); + return 1; } int lua_VectorZero(lua_State* L) { - Vector3 result = VectorZero(); - LuaPush_Vector3(L, result); - return 1; + Vector3 result = VectorZero(); + LuaPush_Vector3(L, result); + return 1; } //---------------------------------------------------------------------------------- @@ -3216,176 +3219,176 @@ int lua_VectorZero(lua_State* L) //---------------------------------------------------------------------------------- int lua_MatrixDeterminant(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - float result = MatrixDeterminant(arg1); - lua_pushnumber(L, result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + float result = MatrixDeterminant(arg1); + lua_pushnumber(L, result); + return 1; } int lua_MatrixTrace(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - float result = MatrixTrace(arg1); - lua_pushnumber(L, result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + float result = MatrixTrace(arg1); + lua_pushnumber(L, result); + return 1; } int lua_MatrixTranspose(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - MatrixTranspose(&arg1); - LuaPush_Matrix(L, &arg1); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + MatrixTranspose(&arg1); + LuaPush_Matrix(L, &arg1); + return 1; } int lua_MatrixInvert(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - MatrixInvert(&arg1); - LuaPush_Matrix(L, &arg1); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + MatrixInvert(&arg1); + LuaPush_Matrix(L, &arg1); + return 1; } int lua_MatrixNormalize(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - MatrixNormalize(&arg1); - LuaPush_Matrix(L, &arg1); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + MatrixNormalize(&arg1); + LuaPush_Matrix(L, &arg1); + return 1; } int lua_MatrixIdentity(lua_State* L) { - Matrix result = MatrixIdentity(); - LuaPush_Matrix(L, &result); - return 1; + Matrix result = MatrixIdentity(); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixAdd(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - Matrix arg2 = LuaGetArgument_Matrix(L, 2); - Matrix result = MatrixAdd(arg1, arg2); - LuaPush_Matrix(L, &result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + Matrix result = MatrixAdd(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixSubstract(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - Matrix arg2 = LuaGetArgument_Matrix(L, 2); - Matrix result = MatrixSubstract(arg1, arg2); - LuaPush_Matrix(L, &result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + Matrix result = MatrixSubstract(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixTranslate(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Matrix result = MatrixTranslate(arg1, arg2, arg3); - LuaPush_Matrix(L, &result); - return 1; + float arg1 = LuaGetArgument_float(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Matrix result = MatrixTranslate(arg1, arg2, arg3); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixRotate(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Matrix result = MatrixRotate(arg1, arg2); - LuaPush_Matrix(L, &result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Matrix result = MatrixRotate(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixRotateX(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - Matrix result = MatrixRotateX(arg1); - LuaPush_Matrix(L, &result); - return 1; + float arg1 = LuaGetArgument_float(L, 1); + Matrix result = MatrixRotateX(arg1); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixRotateY(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - Matrix result = MatrixRotateY(arg1); - LuaPush_Matrix(L, &result); - return 1; + float arg1 = LuaGetArgument_float(L, 1); + Matrix result = MatrixRotateY(arg1); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixRotateZ(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - Matrix result = MatrixRotateZ(arg1); - LuaPush_Matrix(L, &result); - return 1; + float arg1 = LuaGetArgument_float(L, 1); + Matrix result = MatrixRotateZ(arg1); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixScale(lua_State* L) { - float arg1 = LuaGetArgument_float(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Matrix result = MatrixScale(arg1, arg2, arg3); - LuaPush_Matrix(L, &result); - return 1; + float arg1 = LuaGetArgument_float(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Matrix result = MatrixScale(arg1, arg2, arg3); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixMultiply(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - Matrix arg2 = LuaGetArgument_Matrix(L, 2); - Matrix result = MatrixMultiply(arg1, arg2); - LuaPush_Matrix(L, &result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + Matrix result = MatrixMultiply(arg1, arg2); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixFrustum(lua_State* L) { - double arg1 = LuaGetArgument_double(L, 1); - double arg2 = LuaGetArgument_double(L, 2); - double arg3 = LuaGetArgument_double(L, 3); - double arg4 = LuaGetArgument_double(L, 4); - double arg5 = LuaGetArgument_double(L, 5); - double arg6 = LuaGetArgument_double(L, 6); - Matrix result = MatrixFrustum(arg1, arg2, arg3, arg4, arg5, arg6); - LuaPush_Matrix(L, &result); - return 1; + double arg1 = LuaGetArgument_double(L, 1); + double arg2 = LuaGetArgument_double(L, 2); + double arg3 = LuaGetArgument_double(L, 3); + double arg4 = LuaGetArgument_double(L, 4); + double arg5 = LuaGetArgument_double(L, 5); + double arg6 = LuaGetArgument_double(L, 6); + Matrix result = MatrixFrustum(arg1, arg2, arg3, arg4, arg5, arg6); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixPerspective(lua_State* L) { - double arg1 = LuaGetArgument_double(L, 1); - double arg2 = LuaGetArgument_double(L, 2); - double arg3 = LuaGetArgument_double(L, 3); - double arg4 = LuaGetArgument_double(L, 4); - Matrix result = MatrixPerspective(arg1, arg2, arg3, arg4); - LuaPush_Matrix(L, &result); - return 1; + double arg1 = LuaGetArgument_double(L, 1); + double arg2 = LuaGetArgument_double(L, 2); + double arg3 = LuaGetArgument_double(L, 3); + double arg4 = LuaGetArgument_double(L, 4); + Matrix result = MatrixPerspective(arg1, arg2, arg3, arg4); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixOrtho(lua_State* L) { - double arg1 = LuaGetArgument_double(L, 1); - double arg2 = LuaGetArgument_double(L, 2); - double arg3 = LuaGetArgument_double(L, 3); - double arg4 = LuaGetArgument_double(L, 4); - double arg5 = LuaGetArgument_double(L, 5); - double arg6 = LuaGetArgument_double(L, 6); - Matrix result = MatrixOrtho(arg1, arg2, arg3, arg4, arg5, arg6); - LuaPush_Matrix(L, &result); - return 1; + double arg1 = LuaGetArgument_double(L, 1); + double arg2 = LuaGetArgument_double(L, 2); + double arg3 = LuaGetArgument_double(L, 3); + double arg4 = LuaGetArgument_double(L, 4); + double arg5 = LuaGetArgument_double(L, 5); + double arg6 = LuaGetArgument_double(L, 6); + Matrix result = MatrixOrtho(arg1, arg2, arg3, arg4, arg5, arg6); + LuaPush_Matrix(L, &result); + return 1; } int lua_MatrixLookAt(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Vector3 arg3 = LuaGetArgument_Vector3(L, 3); - Matrix result = MatrixLookAt(arg1, arg2, arg3); - LuaPush_Matrix(L, &result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Vector3 arg3 = LuaGetArgument_Vector3(L, 3); + Matrix result = MatrixLookAt(arg1, arg2, arg3); + LuaPush_Matrix(L, &result); + return 1; } //---------------------------------------------------------------------------------- @@ -3393,82 +3396,82 @@ int lua_MatrixLookAt(lua_State* L) //---------------------------------------------------------------------------------- int lua_QuaternionLength(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); - float result = QuaternionLength(arg1); - lua_pushnumber(L, result); - return 1; + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + float result = QuaternionLength(arg1); + lua_pushnumber(L, result); + return 1; } int lua_QuaternionNormalize(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); - QuaternionNormalize(&arg1); - LuaPush_Quaternion(L, arg1); - return 1; + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + QuaternionNormalize(&arg1); + LuaPush_Quaternion(L, arg1); + return 1; } int lua_QuaternionMultiply(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); - Quaternion arg2 = LuaGetArgument_Quaternion(L, 2); - Quaternion result = QuaternionMultiply(arg1, arg2); - LuaPush_Quaternion(L, result); - return 1; + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Quaternion arg2 = LuaGetArgument_Quaternion(L, 2); + Quaternion result = QuaternionMultiply(arg1, arg2); + LuaPush_Quaternion(L, result); + return 1; } int lua_QuaternionSlerp(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); - Quaternion arg2 = LuaGetArgument_Quaternion(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Quaternion result = QuaternionSlerp(arg1, arg2, arg3); - LuaPush_Quaternion(L, result); - return 1; + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Quaternion arg2 = LuaGetArgument_Quaternion(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Quaternion result = QuaternionSlerp(arg1, arg2, arg3); + LuaPush_Quaternion(L, result); + return 1; } int lua_QuaternionFromMatrix(lua_State* L) { - Matrix arg1 = LuaGetArgument_Matrix(L, 1); - Quaternion result = QuaternionFromMatrix(arg1); - LuaPush_Quaternion(L, result); - return 1; + Matrix arg1 = LuaGetArgument_Matrix(L, 1); + Quaternion result = QuaternionFromMatrix(arg1); + LuaPush_Quaternion(L, result); + return 1; } int lua_QuaternionToMatrix(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); - Matrix result = QuaternionToMatrix(arg1); - LuaPush_Matrix(L, &result); - return 1; + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Matrix result = QuaternionToMatrix(arg1); + LuaPush_Matrix(L, &result); + return 1; } int lua_QuaternionFromAxisAngle(lua_State* L) { - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - Quaternion result = QuaternionFromAxisAngle(arg1, arg2); - LuaPush_Quaternion(L, result); - return 1; + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + Quaternion result = QuaternionFromAxisAngle(arg1, arg2); + LuaPush_Quaternion(L, result); + return 1; } int lua_QuaternionToAxisAngle(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); Vector3 arg2; - float arg3 = 0; - QuaternionToAxisAngle(arg1, &arg2, &arg3); - LuaPush_Vector3(L, arg2); - lua_pushnumber(L, arg3); - return 2; + float arg3 = 0; + QuaternionToAxisAngle(arg1, &arg2, &arg3); + LuaPush_Vector3(L, arg2); + lua_pushnumber(L, arg3); + return 2; } int lua_QuaternionTransform(lua_State* L) { - Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); - Matrix arg2 = LuaGetArgument_Matrix(L, 2); - QuaternionTransform(&arg1, arg2); - LuaPush_Quaternion(L, arg1); - return 1; + Quaternion arg1 = LuaGetArgument_Quaternion(L, 1); + Matrix arg2 = LuaGetArgument_Matrix(L, 2); + QuaternionTransform(&arg1, arg2); + LuaPush_Quaternion(L, arg1); + return 1; } @@ -3479,174 +3482,174 @@ int lua_QuaternionTransform(lua_State* L) // raylib Functions (and data types) list static luaL_Reg raylib_functions[] = { - + // Register non-opaque data types REG(Color) - REG(Vector2) - REG(Vector3) + REG(Vector2) + REG(Vector3) //REG(Matrix) REG(Quaternion) - REG(Rectangle) - REG(Ray) - REG(Camera) - REG(Camera2D) + REG(Rectangle) + REG(Ray) + REG(Camera) + REG(Camera2D) REG(BoundingBox) //REG(Material) // Register functions - REG(InitWindow) - REG(CloseWindow) - REG(WindowShouldClose) - REG(IsWindowMinimized) - REG(ToggleFullscreen) - REG(GetScreenWidth) - REG(GetScreenHeight) + REG(InitWindow) + REG(CloseWindow) + REG(WindowShouldClose) + REG(IsWindowMinimized) + REG(ToggleFullscreen) + REG(GetScreenWidth) + REG(GetScreenHeight) - REG(ShowCursor) - REG(HideCursor) - REG(IsCursorHidden) - REG(EnableCursor) - REG(DisableCursor) + REG(ShowCursor) + REG(HideCursor) + REG(IsCursorHidden) + REG(EnableCursor) + REG(DisableCursor) - REG(ClearBackground) - REG(BeginDrawing) - REG(EndDrawing) + REG(ClearBackground) + REG(BeginDrawing) + REG(EndDrawing) REG(Begin2dMode) - REG(End2dMode) - REG(Begin3dMode) - REG(End3dMode) + REG(End2dMode) + REG(Begin3dMode) + REG(End3dMode) REG(BeginTextureMode) - REG(EndTextureMode) + REG(EndTextureMode) - REG(GetMouseRay) - REG(GetWorldToScreen) - REG(GetCameraMatrix) + REG(GetMouseRay) + REG(GetWorldToScreen) + REG(GetCameraMatrix) #if defined(PLATFORM_WEB) - REG(SetDrawingLoop) + REG(SetDrawingLoop) #else - REG(SetTargetFPS) + REG(SetTargetFPS) #endif - REG(GetFPS) - REG(GetFrameTime) + REG(GetFPS) + REG(GetFrameTime) - REG(GetColor) - REG(GetHexValue) - REG(ColorToFloat) - REG(VectorToFloat) - REG(MatrixToFloat) - REG(GetRandomValue) - REG(Fade) - REG(SetConfigFlags) - REG(ShowLogo) + REG(GetColor) + REG(GetHexValue) + REG(ColorToFloat) + REG(VectorToFloat) + REG(MatrixToFloat) + REG(GetRandomValue) + REG(Fade) + REG(SetConfigFlags) + REG(ShowLogo) - REG(IsFileDropped) - //REG(*GetDroppedFiles) - REG(ClearDroppedFiles) - REG(StorageSaveValue) - REG(StorageLoadValue) + REG(IsFileDropped) + //REG(*GetDroppedFiles) + REG(ClearDroppedFiles) + REG(StorageSaveValue) + REG(StorageLoadValue) #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) - REG(IsKeyPressed) - REG(IsKeyDown) - REG(IsKeyReleased) - REG(IsKeyUp) - REG(GetKeyPressed) + REG(IsKeyPressed) + REG(IsKeyDown) + REG(IsKeyReleased) + REG(IsKeyUp) + REG(GetKeyPressed) REG(SetExitKey) - REG(IsGamepadAvailable) + REG(IsGamepadAvailable) REG(GetGamepadAxisMovement) - REG(IsGamepadButtonPressed) - REG(IsGamepadButtonDown) - REG(IsGamepadButtonReleased) - REG(IsGamepadButtonUp) + REG(IsGamepadButtonPressed) + REG(IsGamepadButtonDown) + REG(IsGamepadButtonReleased) + REG(IsGamepadButtonUp) #endif - REG(IsMouseButtonPressed) - REG(IsMouseButtonDown) - REG(IsMouseButtonReleased) - REG(IsMouseButtonUp) - REG(GetMouseX) - REG(GetMouseY) - REG(GetMousePosition) - REG(SetMousePosition) - REG(GetMouseWheelMove) - REG(GetTouchX) - REG(GetTouchY) - REG(GetTouchPosition) + REG(IsMouseButtonPressed) + REG(IsMouseButtonDown) + REG(IsMouseButtonReleased) + REG(IsMouseButtonUp) + REG(GetMouseX) + REG(GetMouseY) + REG(GetMousePosition) + REG(SetMousePosition) + REG(GetMouseWheelMove) + REG(GetTouchX) + REG(GetTouchY) + REG(GetTouchPosition) #if defined(PLATFORM_ANDROID) - REG(IsButtonPressed) - REG(IsButtonDown) - REG(IsButtonReleased) + REG(IsButtonPressed) + REG(IsButtonDown) + REG(IsButtonReleased) #endif - REG(SetGesturesEnabled) - REG(IsGestureDetected) - REG(GetGestureDetected) + REG(SetGesturesEnabled) + REG(IsGestureDetected) + REG(GetGestureDetected) REG(GetTouchPointsCount) - REG(GetGestureHoldDuration) - REG(GetGestureDragVector) - REG(GetGestureDragAngle) - REG(GetGesturePinchVector) - REG(GetGesturePinchAngle) + REG(GetGestureHoldDuration) + REG(GetGestureDragVector) + REG(GetGestureDragAngle) + REG(GetGesturePinchVector) + REG(GetGesturePinchAngle) - REG(SetCameraMode) - REG(UpdateCamera) - REG(UpdateCameraPlayer) - REG(SetCameraPosition) - REG(SetCameraTarget) + REG(SetCameraMode) + REG(UpdateCamera) + REG(UpdateCameraPlayer) + REG(SetCameraPosition) + REG(SetCameraTarget) REG(SetCameraFovy) - REG(SetCameraPanControl) - REG(SetCameraAltControl) - REG(SetCameraSmoothZoomControl) - REG(SetCameraMoveControls) - REG(SetCameraMouseSensitivity) + REG(SetCameraPanControl) + REG(SetCameraAltControl) + REG(SetCameraSmoothZoomControl) + REG(SetCameraMoveControls) + REG(SetCameraMouseSensitivity) - REG(DrawPixel) - REG(DrawPixelV) - REG(DrawLine) - REG(DrawLineV) - REG(DrawCircle) - REG(DrawCircleGradient) - REG(DrawCircleV) - REG(DrawCircleLines) - REG(DrawRectangle) - REG(DrawRectangleRec) - REG(DrawRectangleGradient) - REG(DrawRectangleV) - REG(DrawRectangleLines) - REG(DrawTriangle) - REG(DrawTriangleLines) - REG(DrawPoly) - REG(DrawPolyEx) - REG(DrawPolyExLines) + REG(DrawPixel) + REG(DrawPixelV) + REG(DrawLine) + REG(DrawLineV) + REG(DrawCircle) + REG(DrawCircleGradient) + REG(DrawCircleV) + REG(DrawCircleLines) + REG(DrawRectangle) + REG(DrawRectangleRec) + REG(DrawRectangleGradient) + REG(DrawRectangleV) + REG(DrawRectangleLines) + REG(DrawTriangle) + REG(DrawTriangleLines) + REG(DrawPoly) + REG(DrawPolyEx) + REG(DrawPolyExLines) - REG(CheckCollisionRecs) - REG(CheckCollisionCircles) - REG(CheckCollisionCircleRec) - REG(GetCollisionRec) - REG(CheckCollisionPointRec) - REG(CheckCollisionPointCircle) - REG(CheckCollisionPointTriangle) + REG(CheckCollisionRecs) + REG(CheckCollisionCircles) + REG(CheckCollisionCircleRec) + REG(GetCollisionRec) + REG(CheckCollisionPointRec) + REG(CheckCollisionPointCircle) + REG(CheckCollisionPointTriangle) - REG(LoadImage) - REG(LoadImageEx) - REG(LoadImageRaw) - REG(LoadImageFromRES) - REG(LoadTexture) - REG(LoadTextureEx) - REG(LoadTextureFromRES) - REG(LoadTextureFromImage) + REG(LoadImage) + REG(LoadImageEx) + REG(LoadImageRaw) + REG(LoadImageFromRES) + REG(LoadTexture) + REG(LoadTextureEx) + REG(LoadTextureFromRES) + REG(LoadTextureFromImage) REG(LoadRenderTexture) - REG(UnloadImage) - REG(UnloadTexture) - REG(UnloadRenderTexture) - REG(GetImageData) - REG(GetTextureData) - REG(ImageToPOT) - REG(ImageFormat) + REG(UnloadImage) + REG(UnloadTexture) + REG(UnloadRenderTexture) + REG(GetImageData) + REG(GetTextureData) + REG(ImageToPOT) + REG(ImageFormat) REG(ImageDither) REG(ImageCopy) REG(ImageCrop) @@ -3664,192 +3667,188 @@ static luaL_Reg raylib_functions[] = { REG(ImageColorGrayscale) REG(ImageColorContrast) REG(ImageColorBrightness) - REG(GenTextureMipmaps) + REG(GenTextureMipmaps) REG(UpdateTexture) - REG(DrawTexture) - REG(DrawTextureV) - REG(DrawTextureEx) - REG(DrawTextureRec) - REG(DrawTexturePro) + REG(DrawTexture) + REG(DrawTextureV) + REG(DrawTextureEx) + REG(DrawTextureRec) + REG(DrawTexturePro) - REG(GetDefaultFont) - REG(LoadSpriteFont) - REG(UnloadSpriteFont) - REG(DrawText) - REG(DrawTextEx) - REG(MeasureText) - REG(MeasureTextEx) - REG(DrawFPS) - //REG(FormatText) - //REG(SubText) + REG(GetDefaultFont) + REG(LoadSpriteFont) + REG(UnloadSpriteFont) + REG(DrawText) + REG(DrawTextEx) + REG(MeasureText) + REG(MeasureTextEx) + REG(DrawFPS) - REG(DrawCube) - REG(DrawCubeV) - REG(DrawCubeWires) - REG(DrawCubeTexture) - REG(DrawSphere) - REG(DrawSphereEx) - REG(DrawSphereWires) - REG(DrawCylinder) - REG(DrawCylinderWires) - REG(DrawPlane) - REG(DrawRay) - REG(DrawGrid) - REG(DrawGizmo) + REG(DrawCube) + REG(DrawCubeV) + REG(DrawCubeWires) + REG(DrawCubeTexture) + REG(DrawSphere) + REG(DrawSphereEx) + REG(DrawSphereWires) + REG(DrawCylinder) + REG(DrawCylinderWires) + REG(DrawPlane) + REG(DrawRay) + REG(DrawGrid) + REG(DrawGizmo) - REG(LoadModel) - REG(LoadModelEx) + REG(LoadModel) + REG(LoadModelEx) REG(LoadModelFromRES) - REG(LoadHeightmap) - REG(LoadCubicmap) - REG(UnloadModel) - REG(LoadMaterial) - REG(LoadDefaultMaterial) - REG(LoadStandardMaterial) - REG(UnloadMaterial) + REG(LoadHeightmap) + REG(LoadCubicmap) + REG(UnloadModel) + REG(LoadMaterial) + REG(LoadDefaultMaterial) + REG(LoadStandardMaterial) + REG(UnloadMaterial) //REG(GenMesh*) // Not ready yet... - REG(DrawModel) - REG(DrawModelEx) - REG(DrawModelWires) - REG(DrawModelWiresEx) - REG(DrawBillboard) - REG(DrawBillboardRec) + REG(DrawModel) + REG(DrawModelEx) + REG(DrawModelWires) + REG(DrawModelWiresEx) + REG(DrawBillboard) + REG(DrawBillboardRec) REG(CalculateBoundingBox) - REG(CheckCollisionSpheres) - REG(CheckCollisionBoxes) - REG(CheckCollisionBoxSphere) + REG(CheckCollisionSpheres) + REG(CheckCollisionBoxes) + REG(CheckCollisionBoxSphere) REG(CheckCollisionRaySphere) REG(CheckCollisionRaySphereEx) REG(CheckCollisionRayBox) - REG(ResolveCollisionCubicmap) + REG(ResolveCollisionCubicmap) - REG(LoadShader) - REG(UnloadShader) + REG(LoadShader) + REG(UnloadShader) REG(GetDefaultShader) REG(GetStandardShader) REG(GetDefaultTexture) - REG(GetShaderLocation) - REG(SetShaderValue) - REG(SetShaderValuei) - REG(SetShaderValueMatrix) - REG(SetMatrixProjection) - REG(SetMatrixModelview) - REG(BeginShaderMode) - REG(EndShaderMode) - REG(BeginBlendMode) - REG(EndBlendMode) - //REG(CreateLight) - //REG(DestroyLight) + REG(GetShaderLocation) + REG(SetShaderValue) + REG(SetShaderValuei) + REG(SetShaderValueMatrix) + REG(SetMatrixProjection) + REG(SetMatrixModelview) + REG(BeginShaderMode) + REG(EndShaderMode) + REG(BeginBlendMode) + REG(EndBlendMode) + REG(CreateLight) + REG(DestroyLight) - REG(InitVrDevice) - REG(CloseVrDevice) - REG(UpdateVrTracking) - REG(BeginVrDrawing) - REG(EndVrDrawing) - REG(IsVrDeviceReady) - REG(ToggleVrMode) + REG(InitVrDevice) + REG(CloseVrDevice) + REG(IsVrDeviceReady) + REG(UpdateVrTracking) + REG(ToggleVrMode) - REG(InitAudioDevice) - REG(CloseAudioDevice) + REG(InitAudioDevice) + REG(CloseAudioDevice) REG(IsAudioDeviceReady) - REG(LoadSound) - REG(LoadSoundFromWave) - REG(LoadSoundFromRES) - REG(UnloadSound) - REG(PlaySound) - REG(PauseSound) - REG(ResumeSound) - REG(StopSound) - REG(IsSoundPlaying) - REG(SetSoundVolume) - REG(SetSoundPitch) + REG(LoadSound) + REG(LoadSoundFromWave) + REG(LoadSoundFromRES) + REG(UnloadSound) + REG(PlaySound) + REG(PauseSound) + REG(ResumeSound) + REG(StopSound) + REG(IsSoundPlaying) + REG(SetSoundVolume) + REG(SetSoundPitch) - REG(LoadMusicStream) - REG(UnloadMusicStream) - REG(UpdateMusicStream) + REG(LoadMusicStream) + REG(UnloadMusicStream) + REG(UpdateMusicStream) REG(PlayMusicStream) - REG(StopMusicStream) - REG(PauseMusicStream) - REG(ResumeMusicStream) - REG(IsMusicPlaying) - REG(SetMusicVolume) - REG(SetMusicPitch) - REG(GetMusicTimeLength) - REG(GetMusicTimePlayed) + REG(StopMusicStream) + REG(PauseMusicStream) + REG(ResumeMusicStream) + REG(IsMusicPlaying) + REG(SetMusicVolume) + REG(SetMusicPitch) + REG(GetMusicTimeLength) + REG(GetMusicTimePlayed) - REG(InitAudioStream) - REG(UpdateAudioStream) - REG(CloseAudioStream) - REG(IsAudioBufferProcessed) - REG(PlayAudioStream) - REG(PauseAudioStream) - REG(ResumeAudioStream) - REG(StopAudioStream) + REG(InitAudioStream) + REG(UpdateAudioStream) + REG(CloseAudioStream) + REG(IsAudioBufferProcessed) + REG(PlayAudioStream) + REG(PauseAudioStream) + REG(ResumeAudioStream) + REG(StopAudioStream) - /// Math and util - REG(DecompressData) + /// Math and util + REG(DecompressData) #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) - REG(WriteBitmap) - REG(WritePNG) + REG(WriteBitmap) + REG(WritePNG) #endif - REG(TraceLog) - REG(GetExtension) - REG(GetNextPOT) - REG(VectorAdd) - REG(VectorSubtract) - REG(VectorCrossProduct) - REG(VectorPerpendicular) - REG(VectorDotProduct) - REG(VectorLength) - REG(VectorScale) - REG(VectorNegate) - REG(VectorNormalize) - REG(VectorDistance) - REG(VectorLerp) - REG(VectorReflect) - REG(VectorTransform) - REG(VectorZero) - REG(MatrixDeterminant) - REG(MatrixTrace) - REG(MatrixTranspose) - REG(MatrixInvert) - REG(MatrixNormalize) - REG(MatrixIdentity) - REG(MatrixAdd) - REG(MatrixSubstract) - REG(MatrixTranslate) - REG(MatrixRotate) - REG(MatrixRotateX) - REG(MatrixRotateY) - REG(MatrixRotateZ) - REG(MatrixScale) - REG(MatrixMultiply) - REG(MatrixFrustum) - REG(MatrixPerspective) - REG(MatrixOrtho) - REG(MatrixLookAt) - REG(QuaternionLength) - REG(QuaternionNormalize) - REG(QuaternionMultiply) - REG(QuaternionSlerp) - REG(QuaternionFromMatrix) - REG(QuaternionToMatrix) - REG(QuaternionFromAxisAngle) - REG(QuaternionToAxisAngle) - REG(QuaternionTransform) + REG(TraceLog) + REG(GetExtension) + REG(GetNextPOT) + REG(VectorAdd) + REG(VectorSubtract) + REG(VectorCrossProduct) + REG(VectorPerpendicular) + REG(VectorDotProduct) + REG(VectorLength) + REG(VectorScale) + REG(VectorNegate) + REG(VectorNormalize) + REG(VectorDistance) + REG(VectorLerp) + REG(VectorReflect) + REG(VectorTransform) + REG(VectorZero) + REG(MatrixDeterminant) + REG(MatrixTrace) + REG(MatrixTranspose) + REG(MatrixInvert) + REG(MatrixNormalize) + REG(MatrixIdentity) + REG(MatrixAdd) + REG(MatrixSubstract) + REG(MatrixTranslate) + REG(MatrixRotate) + REG(MatrixRotateX) + REG(MatrixRotateY) + REG(MatrixRotateZ) + REG(MatrixScale) + REG(MatrixMultiply) + REG(MatrixFrustum) + REG(MatrixPerspective) + REG(MatrixOrtho) + REG(MatrixLookAt) + REG(QuaternionLength) + REG(QuaternionNormalize) + REG(QuaternionMultiply) + REG(QuaternionSlerp) + REG(QuaternionFromMatrix) + REG(QuaternionToMatrix) + REG(QuaternionFromAxisAngle) + REG(QuaternionToAxisAngle) + REG(QuaternionTransform) - {0,0} + {0,0} }; // Register raylib functionality static void LuaRegisterRayLib(const char *opt_table) { - if (opt_table) lua_createtable(L, 0, sizeof(raylib_functions)/sizeof(raylib_functions[0])); - else lua_pushglobaltable(L); + if (opt_table) lua_createtable(L, 0, sizeof(raylib_functions)/sizeof(raylib_functions[0])); + else lua_pushglobaltable(L); - luaL_setfuncs(L, raylib_functions, 0); + luaL_setfuncs(L, raylib_functions, 0); } //---------------------------------------------------------------------------------- @@ -3859,210 +3858,216 @@ static void LuaRegisterRayLib(const char *opt_table) // Initialize Lua system RLUADEF void InitLuaDevice(void) { - mainLuaState = luaL_newstate(); - L = mainLuaState; + mainLuaState = luaL_newstate(); + L = mainLuaState; - LuaStartEnum(); - LuaSetEnum("FULLSCREEN_MODE", 1); - LuaSetEnum("SHOW_LOGO", 2); - LuaSetEnum("SHOW_MOUSE_CURSOR", 4); - LuaSetEnum("CENTERED_MODE", 8); - LuaSetEnum("MSAA_4X_HINT", 16); - LuaSetEnum("VSYNC_HINT", 32); - LuaEndEnum("FLAG"); + LuaStartEnum(); + LuaSetEnum("FULLSCREEN_MODE", 1); + LuaSetEnum("SHOW_LOGO", 2); + LuaSetEnum("SHOW_MOUSE_CURSOR", 4); + LuaSetEnum("CENTERED_MODE", 8); + LuaSetEnum("MSAA_4X_HINT", 16); + LuaSetEnum("VSYNC_HINT", 32); + LuaEndEnum("FLAG"); - LuaStartEnum(); - LuaSetEnum("SPACE", 32); - LuaSetEnum("ESCAPE", 256); - LuaSetEnum("ENTER", 257); - LuaSetEnum("BACKSPACE", 259); - LuaSetEnum("RIGHT", 262); - LuaSetEnum("LEFT", 263); - LuaSetEnum("DOWN", 264); - LuaSetEnum("UP", 265); - LuaSetEnum("F1", 290); - LuaSetEnum("F2", 291); - LuaSetEnum("F3", 292); - LuaSetEnum("F4", 293); - LuaSetEnum("F5", 294); - LuaSetEnum("F6", 295); - LuaSetEnum("F7", 296); - LuaSetEnum("F8", 297); - LuaSetEnum("F9", 298); - LuaSetEnum("F10", 299); - LuaSetEnum("LEFT_SHIFT", 340); - LuaSetEnum("LEFT_CONTROL", 341); - LuaSetEnum("LEFT_ALT", 342); - LuaSetEnum("RIGHT_SHIFT", 344); - LuaSetEnum("RIGHT_CONTROL", 345); - LuaSetEnum("RIGHT_ALT", 346); - LuaSetEnum("ZERO", 48); - LuaSetEnum("ONE", 49); - LuaSetEnum("TWO", 50); - LuaSetEnum("THREE", 51); - LuaSetEnum("FOUR", 52); - LuaSetEnum("FIVE", 53); - LuaSetEnum("SIX", 54); - LuaSetEnum("SEVEN", 55); - LuaSetEnum("EIGHT", 56); - LuaSetEnum("NINE", 57); - LuaSetEnum("A", 65); - LuaSetEnum("B", 66); - LuaSetEnum("C", 67); - LuaSetEnum("D", 68); - LuaSetEnum("E", 69); - LuaSetEnum("F", 70); - LuaSetEnum("G", 71); - LuaSetEnum("H", 72); - LuaSetEnum("I", 73); - LuaSetEnum("J", 74); - LuaSetEnum("K", 75); - LuaSetEnum("L", 76); - LuaSetEnum("M", 77); - LuaSetEnum("N", 78); - LuaSetEnum("O", 79); - LuaSetEnum("P", 80); - LuaSetEnum("Q", 81); - LuaSetEnum("R", 82); - LuaSetEnum("S", 83); - LuaSetEnum("T", 84); - LuaSetEnum("U", 85); - LuaSetEnum("V", 86); - LuaSetEnum("W", 87); - LuaSetEnum("X", 88); - LuaSetEnum("Y", 89); - LuaSetEnum("Z", 90); - LuaEndEnum("KEY"); + LuaStartEnum(); + LuaSetEnum("SPACE", 32); + LuaSetEnum("ESCAPE", 256); + LuaSetEnum("ENTER", 257); + LuaSetEnum("BACKSPACE", 259); + LuaSetEnum("RIGHT", 262); + LuaSetEnum("LEFT", 263); + LuaSetEnum("DOWN", 264); + LuaSetEnum("UP", 265); + LuaSetEnum("F1", 290); + LuaSetEnum("F2", 291); + LuaSetEnum("F3", 292); + LuaSetEnum("F4", 293); + LuaSetEnum("F5", 294); + LuaSetEnum("F6", 295); + LuaSetEnum("F7", 296); + LuaSetEnum("F8", 297); + LuaSetEnum("F9", 298); + LuaSetEnum("F10", 299); + LuaSetEnum("LEFT_SHIFT", 340); + LuaSetEnum("LEFT_CONTROL", 341); + LuaSetEnum("LEFT_ALT", 342); + LuaSetEnum("RIGHT_SHIFT", 344); + LuaSetEnum("RIGHT_CONTROL", 345); + LuaSetEnum("RIGHT_ALT", 346); + LuaSetEnum("ZERO", 48); + LuaSetEnum("ONE", 49); + LuaSetEnum("TWO", 50); + LuaSetEnum("THREE", 51); + LuaSetEnum("FOUR", 52); + LuaSetEnum("FIVE", 53); + LuaSetEnum("SIX", 54); + LuaSetEnum("SEVEN", 55); + LuaSetEnum("EIGHT", 56); + LuaSetEnum("NINE", 57); + LuaSetEnum("A", 65); + LuaSetEnum("B", 66); + LuaSetEnum("C", 67); + LuaSetEnum("D", 68); + LuaSetEnum("E", 69); + LuaSetEnum("F", 70); + LuaSetEnum("G", 71); + LuaSetEnum("H", 72); + LuaSetEnum("I", 73); + LuaSetEnum("J", 74); + LuaSetEnum("K", 75); + LuaSetEnum("L", 76); + LuaSetEnum("M", 77); + LuaSetEnum("N", 78); + LuaSetEnum("O", 79); + LuaSetEnum("P", 80); + LuaSetEnum("Q", 81); + LuaSetEnum("R", 82); + LuaSetEnum("S", 83); + LuaSetEnum("T", 84); + LuaSetEnum("U", 85); + LuaSetEnum("V", 86); + LuaSetEnum("W", 87); + LuaSetEnum("X", 88); + LuaSetEnum("Y", 89); + LuaSetEnum("Z", 90); + LuaEndEnum("KEY"); - LuaStartEnum(); - LuaSetEnum("LEFT_BUTTON", 0); - LuaSetEnum("RIGHT_BUTTON", 1); - LuaSetEnum("MIDDLE_BUTTON", 2); - LuaEndEnum("MOUSE"); + LuaStartEnum(); + LuaSetEnum("LEFT_BUTTON", 0); + LuaSetEnum("RIGHT_BUTTON", 1); + LuaSetEnum("MIDDLE_BUTTON", 2); + LuaEndEnum("MOUSE"); - LuaStartEnum(); - LuaSetEnum("PLAYER1", 0); - LuaSetEnum("PLAYER2", 1); - LuaSetEnum("PLAYER3", 2); - LuaSetEnum("PLAYER4", 3); + LuaStartEnum(); + LuaSetEnum("PLAYER1", 0); + LuaSetEnum("PLAYER2", 1); + LuaSetEnum("PLAYER3", 2); + LuaSetEnum("PLAYER4", 3); - LuaSetEnum("BUTTON_A", 2); - LuaSetEnum("BUTTON_B", 1); - LuaSetEnum("BUTTON_X", 3); - LuaSetEnum("BUTTON_Y", 4); - LuaSetEnum("BUTTON_R1", 7); - LuaSetEnum("BUTTON_R2", 5); - LuaSetEnum("BUTTON_L1", 6); - LuaSetEnum("BUTTON_L2", 8); - LuaSetEnum("BUTTON_SELECT", 9); - LuaSetEnum("BUTTON_START", 10); + LuaSetEnum("BUTTON_A", 2); + LuaSetEnum("BUTTON_B", 1); + LuaSetEnum("BUTTON_X", 3); + LuaSetEnum("BUTTON_Y", 4); + LuaSetEnum("BUTTON_R1", 7); + LuaSetEnum("BUTTON_R2", 5); + LuaSetEnum("BUTTON_L1", 6); + LuaSetEnum("BUTTON_L2", 8); + LuaSetEnum("BUTTON_SELECT", 9); + LuaSetEnum("BUTTON_START", 10); - LuaSetEnum("XBOX_BUTTON_A", 0); - LuaSetEnum("XBOX_BUTTON_B", 1); - LuaSetEnum("XBOX_BUTTON_X", 2); - LuaSetEnum("XBOX_BUTTON_Y", 3); - LuaSetEnum("XBOX_BUTTON_LB", 4); - LuaSetEnum("XBOX_BUTTON_RB", 5); - LuaSetEnum("XBOX_BUTTON_SELECT", 6); - LuaSetEnum("XBOX_BUTTON_START", 7); + LuaSetEnum("XBOX_BUTTON_A", 0); + LuaSetEnum("XBOX_BUTTON_B", 1); + LuaSetEnum("XBOX_BUTTON_X", 2); + LuaSetEnum("XBOX_BUTTON_Y", 3); + LuaSetEnum("XBOX_BUTTON_LB", 4); + LuaSetEnum("XBOX_BUTTON_RB", 5); + LuaSetEnum("XBOX_BUTTON_SELECT", 6); + LuaSetEnum("XBOX_BUTTON_START", 7); #if defined(PLATFORM_RPI) - LuaSetEnum("XBOX_AXIS_DPAD_X", 7); - LuaSetEnum("XBOX_AXIS_DPAD_Y", 6); - LuaSetEnum("XBOX_AXIS_RIGHT_X", 3); - LuaSetEnum("XBOX_AXIS_RIGHT_Y", 4); - LuaSetEnum("XBOX_AXIS_LT", 2); - LuaSetEnum("XBOX_AXIS_RT", 5); + LuaSetEnum("XBOX_AXIS_DPAD_X", 7); + LuaSetEnum("XBOX_AXIS_DPAD_Y", 6); + LuaSetEnum("XBOX_AXIS_RIGHT_X", 3); + LuaSetEnum("XBOX_AXIS_RIGHT_Y", 4); + LuaSetEnum("XBOX_AXIS_LT", 2); + LuaSetEnum("XBOX_AXIS_RT", 5); #else - LuaSetEnum("XBOX_BUTTON_UP", 10); - LuaSetEnum("XBOX_BUTTON_DOWN", 12); - LuaSetEnum("XBOX_BUTTON_LEFT", 13); - LuaSetEnum("XBOX_BUTTON_RIGHT", 11); - LuaSetEnum("XBOX_AXIS_RIGHT_X", 4); - LuaSetEnum("XBOX_AXIS_RIGHT_Y", 3); - LuaSetEnum("XBOX_AXIS_LT_RT", 2); + LuaSetEnum("XBOX_BUTTON_UP", 10); + LuaSetEnum("XBOX_BUTTON_DOWN", 12); + LuaSetEnum("XBOX_BUTTON_LEFT", 13); + LuaSetEnum("XBOX_BUTTON_RIGHT", 11); + LuaSetEnum("XBOX_AXIS_RIGHT_X", 4); + LuaSetEnum("XBOX_AXIS_RIGHT_Y", 3); + LuaSetEnum("XBOX_AXIS_LT_RT", 2); #endif - LuaSetEnum("XBOX_AXIS_LEFT_X", 0); - LuaSetEnum("XBOX_AXIS_LEFT_Y", 1); - LuaEndEnum("GAMEPAD"); + LuaSetEnum("XBOX_AXIS_LEFT_X", 0); + LuaSetEnum("XBOX_AXIS_LEFT_Y", 1); + LuaEndEnum("GAMEPAD"); - lua_pushglobaltable(L); - LuaSetEnumColor("LIGHTGRAY", LIGHTGRAY); - LuaSetEnumColor("GRAY", GRAY); - LuaSetEnumColor("DARKGRAY", DARKGRAY); - LuaSetEnumColor("YELLOW", YELLOW); - LuaSetEnumColor("GOLD", GOLD); - LuaSetEnumColor("ORANGE", ORANGE); - LuaSetEnumColor("PINK", PINK); - LuaSetEnumColor("RED", RED); - LuaSetEnumColor("MAROON", MAROON); - LuaSetEnumColor("GREEN", GREEN); - LuaSetEnumColor("LIME", LIME); - LuaSetEnumColor("DARKGREEN", DARKGREEN); - LuaSetEnumColor("SKYBLUE", SKYBLUE); - LuaSetEnumColor("BLUE", BLUE); - LuaSetEnumColor("DARKBLUE", DARKBLUE); - LuaSetEnumColor("PURPLE", PURPLE); - LuaSetEnumColor("VIOLET", VIOLET); - LuaSetEnumColor("DARKPURPLE", DARKPURPLE); - LuaSetEnumColor("BEIGE", BEIGE); - LuaSetEnumColor("BROWN", BROWN); - LuaSetEnumColor("DARKBROWN", DARKBROWN); - LuaSetEnumColor("WHITE", WHITE); - LuaSetEnumColor("BLACK", BLACK); - LuaSetEnumColor("BLANK", BLANK); - LuaSetEnumColor("MAGENTA", MAGENTA); - LuaSetEnumColor("RAYWHITE", RAYWHITE); - lua_pop(L, 1); + lua_pushglobaltable(L); + LuaSetEnumColor("LIGHTGRAY", LIGHTGRAY); + LuaSetEnumColor("GRAY", GRAY); + LuaSetEnumColor("DARKGRAY", DARKGRAY); + LuaSetEnumColor("YELLOW", YELLOW); + LuaSetEnumColor("GOLD", GOLD); + LuaSetEnumColor("ORANGE", ORANGE); + LuaSetEnumColor("PINK", PINK); + LuaSetEnumColor("RED", RED); + LuaSetEnumColor("MAROON", MAROON); + LuaSetEnumColor("GREEN", GREEN); + LuaSetEnumColor("LIME", LIME); + LuaSetEnumColor("DARKGREEN", DARKGREEN); + LuaSetEnumColor("SKYBLUE", SKYBLUE); + LuaSetEnumColor("BLUE", BLUE); + LuaSetEnumColor("DARKBLUE", DARKBLUE); + LuaSetEnumColor("PURPLE", PURPLE); + LuaSetEnumColor("VIOLET", VIOLET); + LuaSetEnumColor("DARKPURPLE", DARKPURPLE); + LuaSetEnumColor("BEIGE", BEIGE); + LuaSetEnumColor("BROWN", BROWN); + LuaSetEnumColor("DARKBROWN", DARKBROWN); + LuaSetEnumColor("WHITE", WHITE); + LuaSetEnumColor("BLACK", BLACK); + LuaSetEnumColor("BLANK", BLANK); + LuaSetEnumColor("MAGENTA", MAGENTA); + LuaSetEnumColor("RAYWHITE", RAYWHITE); + lua_pop(L, 1); - LuaStartEnum(); - LuaSetEnum("UNCOMPRESSED_GRAYSCALE", UNCOMPRESSED_GRAYSCALE); - LuaSetEnum("UNCOMPRESSED_GRAY_ALPHA", UNCOMPRESSED_GRAY_ALPHA); - LuaSetEnum("UNCOMPRESSED_R5G6B5", UNCOMPRESSED_R5G6B5); - LuaSetEnum("UNCOMPRESSED_R8G8B8", UNCOMPRESSED_R8G8B8); - LuaSetEnum("UNCOMPRESSED_R5G5B5A1", UNCOMPRESSED_R5G5B5A1); - LuaSetEnum("UNCOMPRESSED_R4G4B4A4", UNCOMPRESSED_R4G4B4A4); - LuaSetEnum("UNCOMPRESSED_R8G8B8A8", UNCOMPRESSED_R8G8B8A8); - LuaSetEnum("COMPRESSED_DXT1_RGB", COMPRESSED_DXT1_RGB); - LuaSetEnum("COMPRESSED_DXT1_RGBA", COMPRESSED_DXT1_RGBA); - LuaSetEnum("COMPRESSED_DXT3_RGBA", COMPRESSED_DXT3_RGBA); - LuaSetEnum("COMPRESSED_DXT5_RGBA", COMPRESSED_DXT5_RGBA); - LuaSetEnum("COMPRESSED_ETC1_RGB", COMPRESSED_ETC1_RGB); - LuaSetEnum("COMPRESSED_ETC2_RGB", COMPRESSED_ETC2_RGB); - LuaSetEnum("COMPRESSED_ETC2_EAC_RGBA", COMPRESSED_ETC2_EAC_RGBA); - LuaSetEnum("COMPRESSED_PVRT_RGB", COMPRESSED_PVRT_RGB); - LuaSetEnum("COMPRESSED_PVRT_RGBA", COMPRESSED_PVRT_RGBA); - LuaSetEnum("COMPRESSED_ASTC_4x4_RGBA", COMPRESSED_ASTC_4x4_RGBA); - LuaSetEnum("COMPRESSED_ASTC_8x8_RGBA", COMPRESSED_ASTC_8x8_RGBA); - LuaEndEnum("TextureFormat"); + LuaStartEnum(); + LuaSetEnum("UNCOMPRESSED_GRAYSCALE", UNCOMPRESSED_GRAYSCALE); + LuaSetEnum("UNCOMPRESSED_GRAY_ALPHA", UNCOMPRESSED_GRAY_ALPHA); + LuaSetEnum("UNCOMPRESSED_R5G6B5", UNCOMPRESSED_R5G6B5); + LuaSetEnum("UNCOMPRESSED_R8G8B8", UNCOMPRESSED_R8G8B8); + LuaSetEnum("UNCOMPRESSED_R5G5B5A1", UNCOMPRESSED_R5G5B5A1); + LuaSetEnum("UNCOMPRESSED_R4G4B4A4", UNCOMPRESSED_R4G4B4A4); + LuaSetEnum("UNCOMPRESSED_R8G8B8A8", UNCOMPRESSED_R8G8B8A8); + LuaSetEnum("COMPRESSED_DXT1_RGB", COMPRESSED_DXT1_RGB); + LuaSetEnum("COMPRESSED_DXT1_RGBA", COMPRESSED_DXT1_RGBA); + LuaSetEnum("COMPRESSED_DXT3_RGBA", COMPRESSED_DXT3_RGBA); + LuaSetEnum("COMPRESSED_DXT5_RGBA", COMPRESSED_DXT5_RGBA); + LuaSetEnum("COMPRESSED_ETC1_RGB", COMPRESSED_ETC1_RGB); + LuaSetEnum("COMPRESSED_ETC2_RGB", COMPRESSED_ETC2_RGB); + LuaSetEnum("COMPRESSED_ETC2_EAC_RGBA", COMPRESSED_ETC2_EAC_RGBA); + LuaSetEnum("COMPRESSED_PVRT_RGB", COMPRESSED_PVRT_RGB); + LuaSetEnum("COMPRESSED_PVRT_RGBA", COMPRESSED_PVRT_RGBA); + LuaSetEnum("COMPRESSED_ASTC_4x4_RGBA", COMPRESSED_ASTC_4x4_RGBA); + LuaSetEnum("COMPRESSED_ASTC_8x8_RGBA", COMPRESSED_ASTC_8x8_RGBA); + LuaEndEnum("TextureFormat"); - LuaStartEnum(); - LuaSetEnum("ALPHA", BLEND_ALPHA); - LuaSetEnum("ADDITIVE", BLEND_ADDITIVE); - LuaSetEnum("MULTIPLIED", BLEND_MULTIPLIED); - LuaEndEnum("BlendMode"); + LuaStartEnum(); + LuaSetEnum("ALPHA", BLEND_ALPHA); + LuaSetEnum("ADDITIVE", BLEND_ADDITIVE); + LuaSetEnum("MULTIPLIED", BLEND_MULTIPLIED); + LuaEndEnum("BlendMode"); + + LuaStartEnum(); + LuaSetEnum("POINT", LIGHT_POINT); + LuaSetEnum("DIRECTIONAL", LIGHT_DIRECTIONAL); + LuaSetEnum("SPOT", LIGHT_SPOT); + LuaEndEnum("LightType"); - LuaStartEnum(); - LuaSetEnum("NONE", GESTURE_NONE); - LuaSetEnum("TAP", GESTURE_TAP); - LuaSetEnum("DOUBLETAP", GESTURE_DOUBLETAP); - LuaSetEnum("HOLD", GESTURE_HOLD); - LuaSetEnum("DRAG", GESTURE_DRAG); - LuaSetEnum("SWIPE_RIGHT", GESTURE_SWIPE_RIGHT); - LuaSetEnum("SWIPE_LEFT", GESTURE_SWIPE_LEFT); - LuaSetEnum("SWIPE_UP", GESTURE_SWIPE_UP); - LuaSetEnum("SWIPE_DOWN", GESTURE_SWIPE_DOWN); - LuaSetEnum("PINCH_IN", GESTURE_PINCH_IN); - LuaSetEnum("PINCH_OUT", GESTURE_PINCH_OUT); - LuaEndEnum("Gestures"); + LuaStartEnum(); + LuaSetEnum("NONE", GESTURE_NONE); + LuaSetEnum("TAP", GESTURE_TAP); + LuaSetEnum("DOUBLETAP", GESTURE_DOUBLETAP); + LuaSetEnum("HOLD", GESTURE_HOLD); + LuaSetEnum("DRAG", GESTURE_DRAG); + LuaSetEnum("SWIPE_RIGHT", GESTURE_SWIPE_RIGHT); + LuaSetEnum("SWIPE_LEFT", GESTURE_SWIPE_LEFT); + LuaSetEnum("SWIPE_UP", GESTURE_SWIPE_UP); + LuaSetEnum("SWIPE_DOWN", GESTURE_SWIPE_DOWN); + LuaSetEnum("PINCH_IN", GESTURE_PINCH_IN); + LuaSetEnum("PINCH_OUT", GESTURE_PINCH_OUT); + LuaEndEnum("Gestures"); - LuaStartEnum(); - LuaSetEnum("CUSTOM", CAMERA_CUSTOM); - LuaSetEnum("FREE", CAMERA_FREE); - LuaSetEnum("ORBITAL", CAMERA_ORBITAL); - LuaSetEnum("FIRST_PERSON", CAMERA_FIRST_PERSON); - LuaSetEnum("THIRD_PERSON", CAMERA_THIRD_PERSON); - LuaEndEnum("CameraMode"); + LuaStartEnum(); + LuaSetEnum("CUSTOM", CAMERA_CUSTOM); + LuaSetEnum("FREE", CAMERA_FREE); + LuaSetEnum("ORBITAL", CAMERA_ORBITAL); + LuaSetEnum("FIRST_PERSON", CAMERA_FIRST_PERSON); + LuaSetEnum("THIRD_PERSON", CAMERA_THIRD_PERSON); + LuaEndEnum("CameraMode"); LuaStartEnum(); LuaSetEnum("DEFAULT_DEVICE", HMD_DEFAULT_DEVICE); @@ -4074,82 +4079,82 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("SONY_PLAYSTATION_VR", HMD_SONY_PLAYSTATION_VR); LuaSetEnum("RAZER_OSVR", HMD_RAZER_OSVR); LuaSetEnum("FOVE_VR", HMD_FOVE_VR); - LuaEndEnum("VrDevice"); + LuaEndEnum("VrDevice"); - lua_pushglobaltable(L); - LuaSetEnum("INFO", INFO); - LuaSetEnum("ERROR", ERROR); - LuaSetEnum("WARNING", WARNING); - LuaSetEnum("DEBUG", DEBUG); - LuaSetEnum("OTHER", OTHER); - lua_pop(L, 1); + lua_pushglobaltable(L); + LuaSetEnum("INFO", INFO); + LuaSetEnum("ERROR", ERROR); + LuaSetEnum("WARNING", WARNING); + LuaSetEnum("DEBUG", DEBUG); + LuaSetEnum("OTHER", OTHER); + lua_pop(L, 1); - lua_pushboolean(L, true); + lua_pushboolean(L, true); #if defined(PLATFORM_DESKTOP) - lua_setglobal(L, "PLATFORM_DESKTOP"); + lua_setglobal(L, "PLATFORM_DESKTOP"); #elif defined(PLATFORM_ANDROID) - lua_setglobal(L, "PLATFORM_ANDROID"); + lua_setglobal(L, "PLATFORM_ANDROID"); #elif defined(PLATFORM_RPI) - lua_setglobal(L, "PLATFORM_RPI"); + lua_setglobal(L, "PLATFORM_RPI"); #elif defined(PLATFORM_WEB) - lua_setglobal(L, "PLATFORM_WEB"); + lua_setglobal(L, "PLATFORM_WEB"); #endif - luaL_openlibs(L); - LuaBuildOpaqueMetatables(); + luaL_openlibs(L); + LuaBuildOpaqueMetatables(); - LuaRegisterRayLib(0); + LuaRegisterRayLib(0); } // De-initialize Lua system RLUADEF void CloseLuaDevice(void) { - if (mainLuaState) - { - lua_close(mainLuaState); - mainLuaState = 0; - L = 0; - } + if (mainLuaState) + { + lua_close(mainLuaState); + mainLuaState = 0; + L = 0; + } } // Execute raylib Lua code RLUADEF void ExecuteLuaCode(const char *code) { - if (!mainLuaState) - { - TraceLog(WARNING, "Lua device not initialized"); - return; - } + if (!mainLuaState) + { + TraceLog(WARNING, "Lua device not initialized"); + return; + } - int result = luaL_dostring(L, code); + int result = luaL_dostring(L, code); - switch (result) - { + switch (result) + { case LUA_OK: break; case LUA_ERRRUN: TraceLog(ERROR, "Lua Runtime Error: %s", lua_tostring(L, -1)); break; case LUA_ERRMEM: TraceLog(ERROR, "Lua Memory Error: %s", lua_tostring(L, -1)); break; default: TraceLog(ERROR, "Lua Error: %s", lua_tostring(L, -1)); break; - } + } } // Execute raylib Lua script RLUADEF void ExecuteLuaFile(const char *filename) { - if (!mainLuaState) - { - TraceLog(WARNING, "Lua device not initialized"); - return; - } + if (!mainLuaState) + { + TraceLog(WARNING, "Lua device not initialized"); + return; + } - int result = luaL_dofile(L, filename); + int result = luaL_dofile(L, filename); - switch (result) - { + switch (result) + { case LUA_OK: break; case LUA_ERRRUN: TraceLog(ERROR, "Lua Runtime Error: %s", lua_tostring(L, -1)); case LUA_ERRMEM: TraceLog(ERROR, "Lua Memory Error: %s", lua_tostring(L, -1)); default: TraceLog(ERROR, "Lua Error: %s", lua_tostring(L, -1)); - } + } } #endif // RLUA_IMPLEMENTATION From 16ac468bdb121cc9539959d7e921b32932f6fc75 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 19:30:41 +0200 Subject: [PATCH 034/102] Remove functions from user exposure --- src/raylib.h | 4 +--- src/rlgl.h | 8 +++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 1489546a0..bbf83ccdb 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -909,10 +909,8 @@ void DestroyLight(Light light); // Destroy a //------------------------------------------------------------------------------------ void InitVrDevice(int vdDevice); // Init VR device void CloseVrDevice(void); // Close VR device -void UpdateVrTracking(void); // Update VR tracking (position and orientation) -void BeginVrDrawing(void); // Begin VR drawing configuration -void EndVrDrawing(void); // End VR drawing process (and desktop mirror) bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +void UpdateVrTracking(void); // Update VR tracking (position and orientation) void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) //------------------------------------------------------------------------------------ diff --git a/src/rlgl.h b/src/rlgl.h index 425871a90..bcb7c24fa 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -332,6 +332,10 @@ Vector3 rlglUnproject(Vector3 source, Matrix proj, Matrix view); // Get world unsigned char *rlglReadScreenPixels(int width, int height); // Read screen pixel data (color buffer) void *rlglReadTexturePixels(Texture2D texture); // Read texture pixel data +// VR functions exposed to core module but not to raylib users +void BeginVrDrawing(void); // Begin VR drawing configuration +void EndVrDrawing(void); // End VR drawing process (and desktop mirror) + // NOTE: There is a set of shader related functions that are available to end user, // to avoid creating function wrappers through core module, they have been directly declared in raylib.h @@ -368,10 +372,8 @@ float *MatrixToFloat(Matrix mat); void InitVrDevice(int vrDevice); // Init VR device void CloseVrDevice(void); // Close VR device -void UpdateVrTracking(void); // Update VR tracking (position and orientation) -void BeginVrDrawing(void); // Begin VR drawing configuration -void EndVrDrawing(void); // End VR drawing process (and desktop mirror) bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +void UpdateVrTracking(void); // Update VR tracking (position and orientation) void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) // Oculus Rift API for direct access the device (no simulator) From 306945fe147ea7742880635e77a5c2656f6e1fdc Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 19:30:56 +0200 Subject: [PATCH 035/102] Added trace on audio device closing --- src/audio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/audio.c b/src/audio.c index 0896e4ca2..32911865c 100644 --- a/src/audio.c +++ b/src/audio.c @@ -183,6 +183,8 @@ void CloseAudioDevice(void) alcMakeContextCurrent(NULL); alcDestroyContext(context); alcCloseDevice(device); + + TraceLog(INFO, "Audio device closed successfully"); } // Check if device has been initialized successfully From 6f27941e286eba9872d1c341b446c9d13272405a Mon Sep 17 00:00:00 2001 From: ghassanpl Date: Sat, 6 Aug 2016 21:51:08 +0200 Subject: [PATCH 036/102] GetDroppedFiles and SetShaderValue in Lua working Exposed Texture2D.id to Lua Lights now have settable/gettable fields --- examples/core_drop_files.lua | 9 ++- examples/shaders_custom_uniform.lua | 6 +- src/rlua.h | 102 ++++++++++++++++++++++++---- 3 files changed, 96 insertions(+), 21 deletions(-) diff --git a/examples/core_drop_files.lua b/examples/core_drop_files.lua index 0a437422d..99ab43258 100644 --- a/examples/core_drop_files.lua +++ b/examples/core_drop_files.lua @@ -28,7 +28,10 @@ SetTargetFPS(60) while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- - if (IsFileDropped()) then droppedFiles = GetDroppedFiles(count) end + if (IsFileDropped()) then + droppedFiles = GetDroppedFiles() + count = #droppedFiles + end --------------------------------------------------------------------------------------- -- Draw @@ -41,11 +44,11 @@ while not WindowShouldClose() do -- Detect window close button or ESC key else DrawText("Dropped files:", 100, 40, 20, DARKGRAY) - for i = 0, count do + for i = 0, count-1 do if (i%2 == 0) then DrawRectangle(0, 85 + 40*i, screenWidth, 40, Fade(LIGHTGRAY, 0.5)) else DrawRectangle(0, 85 + 40*i, screenWidth, 40, Fade(LIGHTGRAY, 0.3)) end - DrawText(droppedFiles[i], 120, 100 + 40*i, 10, GRAY) + DrawText(droppedFiles[i+1], 120, 100 + 40*i, 10, GRAY) end DrawText("Drop new files...", 100, 110 + 40*count, 20, DARKGRAY) diff --git a/examples/shaders_custom_uniform.lua b/examples/shaders_custom_uniform.lua index fb93adc13..3a8bbae5f 100644 --- a/examples/shaders_custom_uniform.lua +++ b/examples/shaders_custom_uniform.lua @@ -60,11 +60,11 @@ while not WindowShouldClose() do -- Detect window close button or ESC key --------------------------------------------------------------------------------------- local mousePosition = GetMousePosition() - swirlCenter[0] = mousePosition.x - swirlCenter[1] = screenHeight - mousePosition.y + swirlCenter[1] = mousePosition.x + swirlCenter[2] = screenHeight - mousePosition.y -- Send new value to the shader to be used on drawing - SetShaderValue(shader, swirlCenterLoc, swirlCenter, 2) + SetShaderValue(shader, swirlCenterLoc, swirlCenter) camera = UpdateCamera(camera) -- Update internal camera and our camera --------------------------------------------------------------------------------------- diff --git a/src/rlua.h b/src/rlua.h index 08ffbca0d..fb3a66984 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -126,7 +126,7 @@ RLUADEF void CloseLuaDevice(void); // De-initialize Lua system #define LuaPush_SpriteFont(L, sf) LuaPushOpaqueTypeWithMetatable(L, sf, SpriteFont) #define LuaPush_Mesh(L, vd) LuaPushOpaqueType(L, vd) #define LuaPush_Shader(L, s) LuaPushOpaqueType(L, s) -#define LuaPush_Light(L, light) LuaPushOpaqueType(L, light) +#define LuaPush_Light(L, light) LuaPushOpaqueTypeWithMetatable(L, light, Light) #define LuaPush_Sound(L, snd) LuaPushOpaqueType(L, snd) #define LuaPush_Wave(L, wav) LuaPushOpaqueType(L, wav) #define LuaPush_Music(L, mus) LuaPushOpaqueType(L, mus) @@ -263,6 +263,8 @@ static int LuaIndexTexture2D(lua_State* L) lua_pushinteger(L, img.mipmaps); else if (!strcmp(key, "format")) lua_pushinteger(L, img.format); + else if (!strcmp(key, "id")) + lua_pushinteger(L, img.id); else return 0; return 1; @@ -296,6 +298,58 @@ static int LuaIndexSpriteFont(lua_State* L) return 1; } +static int LuaIndexLight(lua_State* L) +{ + Light light = LuaGetArgument_Light(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "id")) + lua_pushinteger(L, light->id); + else if (!strcmp(key, "enabled")) + lua_pushboolean(L, light->enabled); + else if (!strcmp(key, "type")) + lua_pushinteger(L, light->type); + else if (!strcmp(key, "position")) + LuaPush_Vector3(L, light->position); + else if (!strcmp(key, "target")) + LuaPush_Vector3(L, light->target); + else if (!strcmp(key, "radius")) + lua_pushnumber(L, light->radius); + else if (!strcmp(key, "diffuse")) + LuaPush_Color(L, light->diffuse); + else if (!strcmp(key, "intensity")) + lua_pushnumber(L, light->intensity); + else if (!strcmp(key, "coneAngle")) + lua_pushnumber(L, light->coneAngle); + else + return 0; + return 1; +} + +static int LuaNewIndexLight(lua_State* L) +{ + Light light = LuaGetArgument_Light(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "id")) + light->id = LuaGetArgument_int(L, 3); + else if (!strcmp(key, "enabled")) + light->enabled = lua_toboolean(L, 3); + else if (!strcmp(key, "type")) + light->type = LuaGetArgument_int(L, 3); + else if (!strcmp(key, "position")) + light->position = LuaGetArgument_Vector3(L, 3); + else if (!strcmp(key, "target")) + light->target = LuaGetArgument_Vector3(L, 3); + else if (!strcmp(key, "radius")) + light->radius = LuaGetArgument_float(L, 3); + else if (!strcmp(key, "diffuse")) + light->diffuse = LuaGetArgument_Color(L, 3); + else if (!strcmp(key, "intensity")) + light->intensity = LuaGetArgument_float(L, 3); + else if (!strcmp(key, "coneAngle")) + light->coneAngle = LuaGetArgument_float(L, 3); + return 0; +} + static void LuaBuildOpaqueMetatables(void) { luaL_newmetatable(L, "Image"); @@ -313,10 +367,17 @@ static void LuaBuildOpaqueMetatables(void) lua_setfield(L, -2, "__index"); lua_pop(L, 1); - luaL_newmetatable(L, "SpriteFont"); - lua_pushcfunction(L, &LuaIndexSpriteFont); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); + luaL_newmetatable(L, "SpriteFont"); + lua_pushcfunction(L, &LuaIndexSpriteFont); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); + + luaL_newmetatable(L, "Light"); + lua_pushcfunction(L, &LuaIndexLight); + lua_setfield(L, -2, "__index"); + lua_pushcfunction(L, &LuaNewIndexLight); + lua_setfield(L, -2, "__newindex"); + lua_pop(L, 1); } //---------------------------------------------------------------------------------- @@ -1057,15 +1118,20 @@ int lua_IsFileDropped(lua_State* L) lua_pushboolean(L, result); return 1; } -/* -int lua_*GetDroppedFiles(lua_State* L) + +int lua_GetDroppedFiles(lua_State* L) { - int * arg1 = LuaGetArgument_int *(L, 1); - //char * result = *GetDroppedFiles(arg1); - LuaPush_//char *(L, result); - return 1; + int count = 0; + char ** result = GetDroppedFiles(&count); + lua_createtable(L, count, 0); + for (int i = 0; i < count; i++) + { + lua_pushstring(L, result[i]); + lua_rawseti(L, -2, i + 1); + } + return 1; } -*/ + int lua_ClearDroppedFiles(lua_State* L) { ClearDroppedFiles(); @@ -1638,7 +1704,6 @@ int lua_DrawPoly(lua_State* L) sz++; \ lua_pop(L, 1); \ } \ - lua_pop(L, 1); \ name = calloc(sz, sizeof(type)); \ sz = 0; \ lua_pushnil(L); \ @@ -2334,7 +2399,12 @@ int lua_DrawGizmo(lua_State* L) return 0; } -// TODO: DrawLight(Light light); +int lua_DrawLight(lua_State* L) +{ + Light arg1 = LuaGetArgument_Light(L, 1); + DrawLight(arg1); + return 0; +} int lua_Draw3DLine(lua_State* L) { @@ -3544,7 +3614,7 @@ static luaL_Reg raylib_functions[] = { REG(ShowLogo) REG(IsFileDropped) - //REG(*GetDroppedFiles) + REG(GetDroppedFiles) REG(ClearDroppedFiles) REG(StorageSaveValue) REG(StorageLoadValue) @@ -3698,6 +3768,8 @@ static luaL_Reg raylib_functions[] = { REG(DrawRay) REG(DrawGrid) REG(DrawGizmo) + + REG(DrawLight) REG(LoadModel) REG(LoadModelEx) From 47b6e627449187f5385e9beafeda3b8517faae26 Mon Sep 17 00:00:00 2001 From: ghassanpl Date: Sat, 6 Aug 2016 22:14:49 +0200 Subject: [PATCH 037/102] Fixed bug with BoundingBox Lua constructor Fixed use-after-free in DestroyLight --- src/rlgl.c | 7 ++++--- src/rlua.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/rlgl.c b/src/rlgl.c index d027495f9..6fb4bf3d0 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -2559,11 +2559,13 @@ void DestroyLight(Light light) { if (light != NULL) { + int light_id = light->id; + // Free dynamic memory allocation - free(lights[light->id]); + free(lights[light_id]); // Remove *obj from the pointers array - for (int i = light->id; i < lightsCount; i++) + for (int i = light_id; i < lightsCount; i++) { // Resort all the following pointers of the array if ((i + 1) < lightsCount) @@ -2571,7 +2573,6 @@ void DestroyLight(Light light) lights[i] = lights[i + 1]; lights[i]->id = lights[i + 1]->id; } - else free(lights[i]); } // Decrease enabled physic objects count diff --git a/src/rlua.h b/src/rlua.h index fb3a66984..858537938 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -768,7 +768,7 @@ static int lua_BoundingBox(lua_State* L) { Vector3 min = LuaGetArgument_Vector3(L, 1); Vector3 max = LuaGetArgument_Vector3(L, 2); - LuaPush_BoundingBox(L, (BoundingBox) { { min.x, min.y }, { max.x, max.y } }); + LuaPush_BoundingBox(L, (BoundingBox) { { min.x, min.y, min.z }, { max.x, max.y, max.z } }); return 1; } From 2c079d7c6ea0a5a252f0d3f93bc39e8f5700e23a Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Aug 2016 11:14:08 +0200 Subject: [PATCH 038/102] Review Lua examples and formatting --- examples/core_drop_files.lua | 8 +-- examples/rlua_execute_file.c | 14 ++--- src/rlgl.c | 8 +-- src/rlua.h | 100 +++++++++++++++++------------------ 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/examples/core_drop_files.lua b/examples/core_drop_files.lua index 99ab43258..1d27e618c 100644 --- a/examples/core_drop_files.lua +++ b/examples/core_drop_files.lua @@ -19,7 +19,7 @@ local screenHeight = 450 InitWindow(screenWidth, screenHeight, "raylib [core] example - drop files") local count = 0 ---char **droppedFiles -- ??? +local droppedFiles = {} SetTargetFPS(60) ------------------------------------------------------------------------------------------- @@ -29,9 +29,9 @@ while not WindowShouldClose() do -- Detect window close button or ESC key -- Update --------------------------------------------------------------------------------------- if (IsFileDropped()) then - droppedFiles = GetDroppedFiles() - count = #droppedFiles - end + droppedFiles = GetDroppedFiles() + count = #droppedFiles + end --------------------------------------------------------------------------------------- -- Draw diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index 6050cf149..717203130 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -35,11 +35,11 @@ int main() // ExecuteLuaFile("core_input_gamepad.lua"); // OK! // ExecuteLuaFile("core_random_values.lua"); // OK! // ExecuteLuaFile("core_color_select.lua"); // OK! - // ExecuteLuaFile("core_drop_files.lua"); // ERROR: GetDroppedFiles() + // ExecuteLuaFile("core_drop_files.lua"); // OK! // ExecuteLuaFile("core_storage_values.lua"); // OK! // ExecuteLuaFile("core_gestures_detection.lua"); // OK! // ExecuteLuaFile("core_3d_mode.lua"); // OK! - // ExecuteLuaFile("core_3d_picking.lua"); // ISSUE: CheckCollisionRayBox() returns false despite touching box + // ExecuteLuaFile("core_3d_picking.lua"); // OK! // ExecuteLuaFile("core_3d_camera_free.lua"); // OK! // ExecuteLuaFile("core_3d_camera_first_person.lua"); // OK! // ExecuteLuaFile("core_2d_camera.lua"); // OK! @@ -54,8 +54,8 @@ int main() // ExecuteLuaFile("textures_rectangle.lua"); // OK! // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! // ExecuteLuaFile("textures_to_image.lua"); // OK! - // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: bad argument #2 to 'LoadImageEx' (number expected, got no value) - // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked (not really an issue...) + // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: LoadImageEx() + // ExecuteLuaFile("textures_formats_loading.lua"); // OK! // ExecuteLuaFile("textures_particles_trail_blending.lua"); // OK! // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() // ExecuteLuaFile("textures_image_drawing.lua"); // OK! @@ -73,13 +73,13 @@ int main() // ExecuteLuaFile("models_cubicmap.lua"); // OK! // ExecuteLuaFile("shaders_model_shader.lua"); // OK! // ExecuteLuaFile("shaders_shapes_textures.lua"); // OK! - // ExecuteLuaFile("shaders_custom_uniform.lua"); // ISSUE: SetShaderValue() + // ExecuteLuaFile("shaders_custom_uniform.lua"); // OK! // ExecuteLuaFile("shaders_postprocessing.lua"); // OK! - // ExecuteLuaFile("shaders_standard_lighting.lua"); // ERROR: CreateLight() returns an opaque pointer (fields can not be accessed) + // ExecuteLuaFile("shaders_standard_lighting.lua"); // OK! // ExecuteLuaFile("audio_sound_loading.lua"); // OK! // ExecuteLuaFile("audio_music_stream.lua"); // OK! // ExecuteLuaFile("audio_module_playing.lua"); // OK! - ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() + // ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization //-------------------------------------------------------------------------------------- diff --git a/src/rlgl.c b/src/rlgl.c index 6fb4bf3d0..68d562c76 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -2559,13 +2559,13 @@ void DestroyLight(Light light) { if (light != NULL) { - int light_id = light->id; + int lightId = light->id; // Free dynamic memory allocation - free(lights[light_id]); - + free(lights[lightId]); + // Remove *obj from the pointers array - for (int i = light_id; i < lightsCount; i++) + for (int i = lightId; i < lightsCount; i++) { // Resort all the following pointers of the array if ((i + 1) < lightsCount) diff --git a/src/rlua.h b/src/rlua.h index 858537938..153f2c37f 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -300,29 +300,29 @@ static int LuaIndexSpriteFont(lua_State* L) static int LuaIndexLight(lua_State* L) { - Light light = LuaGetArgument_Light(L, 1); - const char *key = luaL_checkstring(L, 2); - if (!strcmp(key, "id")) - lua_pushinteger(L, light->id); - else if (!strcmp(key, "enabled")) - lua_pushboolean(L, light->enabled); - else if (!strcmp(key, "type")) - lua_pushinteger(L, light->type); - else if (!strcmp(key, "position")) - LuaPush_Vector3(L, light->position); - else if (!strcmp(key, "target")) - LuaPush_Vector3(L, light->target); - else if (!strcmp(key, "radius")) - lua_pushnumber(L, light->radius); - else if (!strcmp(key, "diffuse")) - LuaPush_Color(L, light->diffuse); - else if (!strcmp(key, "intensity")) - lua_pushnumber(L, light->intensity); - else if (!strcmp(key, "coneAngle")) - lua_pushnumber(L, light->coneAngle); - else - return 0; - return 1; + Light light = LuaGetArgument_Light(L, 1); + const char *key = luaL_checkstring(L, 2); + if (!strcmp(key, "id")) + lua_pushinteger(L, light->id); + else if (!strcmp(key, "enabled")) + lua_pushboolean(L, light->enabled); + else if (!strcmp(key, "type")) + lua_pushinteger(L, light->type); + else if (!strcmp(key, "position")) + LuaPush_Vector3(L, light->position); + else if (!strcmp(key, "target")) + LuaPush_Vector3(L, light->target); + else if (!strcmp(key, "radius")) + lua_pushnumber(L, light->radius); + else if (!strcmp(key, "diffuse")) + LuaPush_Color(L, light->diffuse); + else if (!strcmp(key, "intensity")) + lua_pushnumber(L, light->intensity); + else if (!strcmp(key, "coneAngle")) + lua_pushnumber(L, light->coneAngle); + else + return 0; + return 1; } static int LuaNewIndexLight(lua_State* L) @@ -335,17 +335,17 @@ static int LuaNewIndexLight(lua_State* L) light->enabled = lua_toboolean(L, 3); else if (!strcmp(key, "type")) light->type = LuaGetArgument_int(L, 3); - else if (!strcmp(key, "position")) + else if (!strcmp(key, "position")) light->position = LuaGetArgument_Vector3(L, 3); - else if (!strcmp(key, "target")) + else if (!strcmp(key, "target")) light->target = LuaGetArgument_Vector3(L, 3); - else if (!strcmp(key, "radius")) + else if (!strcmp(key, "radius")) light->radius = LuaGetArgument_float(L, 3); - else if (!strcmp(key, "diffuse")) + else if (!strcmp(key, "diffuse")) light->diffuse = LuaGetArgument_Color(L, 3); - else if (!strcmp(key, "intensity")) + else if (!strcmp(key, "intensity")) light->intensity = LuaGetArgument_float(L, 3); - else if (!strcmp(key, "coneAngle")) + else if (!strcmp(key, "coneAngle")) light->coneAngle = LuaGetArgument_float(L, 3); return 0; } @@ -367,17 +367,17 @@ static void LuaBuildOpaqueMetatables(void) lua_setfield(L, -2, "__index"); lua_pop(L, 1); - luaL_newmetatable(L, "SpriteFont"); - lua_pushcfunction(L, &LuaIndexSpriteFont); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); + luaL_newmetatable(L, "SpriteFont"); + lua_pushcfunction(L, &LuaIndexSpriteFont); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); - luaL_newmetatable(L, "Light"); - lua_pushcfunction(L, &LuaIndexLight); - lua_setfield(L, -2, "__index"); - lua_pushcfunction(L, &LuaNewIndexLight); - lua_setfield(L, -2, "__newindex"); - lua_pop(L, 1); + luaL_newmetatable(L, "Light"); + lua_pushcfunction(L, &LuaIndexLight); + lua_setfield(L, -2, "__index"); + lua_pushcfunction(L, &LuaNewIndexLight); + lua_setfield(L, -2, "__newindex"); + lua_pop(L, 1); } //---------------------------------------------------------------------------------- @@ -1121,14 +1121,14 @@ int lua_IsFileDropped(lua_State* L) int lua_GetDroppedFiles(lua_State* L) { - int count = 0; + int count = 0; char ** result = GetDroppedFiles(&count); - lua_createtable(L, count, 0); - for (int i = 0; i < count; i++) - { - lua_pushstring(L, result[i]); - lua_rawseti(L, -2, i + 1); - } + lua_createtable(L, count, 0); + for (int i = 0; i < count; i++) + { + lua_pushstring(L, result[i]); + lua_rawseti(L, -2, i + 1); + } return 1; } @@ -2401,9 +2401,9 @@ int lua_DrawGizmo(lua_State* L) int lua_DrawLight(lua_State* L) { - Light arg1 = LuaGetArgument_Light(L, 1); - DrawLight(arg1); - return 0; + Light arg1 = LuaGetArgument_Light(L, 1); + DrawLight(arg1); + return 0; } int lua_Draw3DLine(lua_State* L) @@ -3769,7 +3769,7 @@ static luaL_Reg raylib_functions[] = { REG(DrawGrid) REG(DrawGizmo) - REG(DrawLight) + REG(DrawLight) REG(LoadModel) REG(LoadModelEx) From cae209816c11d4e50ad7f807e0138e51b9cbf7df Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 7 Aug 2016 13:38:14 +0200 Subject: [PATCH 039/102] Code tweak to avoid warning --- src/audio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/audio.c b/src/audio.c index 32911865c..4b8641abb 100644 --- a/src/audio.c +++ b/src/audio.c @@ -609,8 +609,8 @@ void UpdateMusicStream(Music music) int numSamplesOgg = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, numSamples); // TODO: Review stereo channels Ogg, not enough samples served! - UpdateAudioStream(music->stream, pcm, numSamples*music->stream.channels); - music->samplesLeft -= (numSamples*music->stream.channels); + UpdateAudioStream(music->stream, pcm, numSamplesOgg*music->stream.channels); + music->samplesLeft -= (numSamplesOgg*music->stream.channels); } break; case MUSIC_MODULE_XM: From f69f930b51d64d8f1dff5cb4d6c810b4a5e7335a Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 7 Aug 2016 13:38:48 +0200 Subject: [PATCH 040/102] Some functions review --- src/raylib.h | 31 +++++++++++++++++-------------- src/text.c | 40 +++++++++++++++++++++++----------------- src/textures.c | 8 ++++---- 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index bbf83ccdb..8045e436c 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -185,17 +185,20 @@ #define GAMEPAD_PLAYER4 3 // Not supported // Gamepad Buttons -// NOTE: Adjusted for a PS3 USB Controller -#define GAMEPAD_BUTTON_A 2 -#define GAMEPAD_BUTTON_B 1 -#define GAMEPAD_BUTTON_X 3 -#define GAMEPAD_BUTTON_Y 4 -#define GAMEPAD_BUTTON_R1 7 -#define GAMEPAD_BUTTON_R2 5 -#define GAMEPAD_BUTTON_L1 6 -#define GAMEPAD_BUTTON_L2 8 -#define GAMEPAD_BUTTON_SELECT 9 -#define GAMEPAD_BUTTON_START 10 + +// PS3 USB Controller +#define GAMEPAD_PS3_BUTTON_A 2 +#define GAMEPAD_PS3_BUTTON_B 1 +#define GAMEPAD_PS3_BUTTON_X 3 +#define GAMEPAD_PS3_BUTTON_Y 4 +#define GAMEPAD_PS3_BUTTON_R1 7 +#define GAMEPAD_PS3_BUTTON_R2 5 +#define GAMEPAD_PS3_BUTTON_L1 6 +#define GAMEPAD_PS3_BUTTON_L2 8 +#define GAMEPAD_PS3_BUTTON_SELECT 9 +#define GAMEPAD_PS3_BUTTON_START 10 + +// TODO: Add PS3 d-pad axis // Xbox360 USB Controller Buttons #define GAMEPAD_XBOX_BUTTON_A 0 @@ -782,10 +785,10 @@ void ImageCrop(Image *image, Rectangle crop); void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) -Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) +Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) -void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) +void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) void ImageFlipVertical(Image *image); // Flip image vertically void ImageFlipHorizontal(Image *image); // Flip image horizontally void ImageColorTint(Image *image, Color color); // Modify image color: tint @@ -812,7 +815,7 @@ void UnloadSpriteFont(SpriteFont spriteFont); void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters - int fontSize, int spacing, Color tint); + float fontSize, int spacing, Color tint); int MeasureText(const char *text, int fontSize); // Measure string width for default font Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont diff --git a/src/text.c b/src/text.c index ec2480e33..d6a44bec9 100644 --- a/src/text.c +++ b/src/text.c @@ -34,7 +34,7 @@ // Following libs are used on LoadTTF() #define STB_TRUETYPE_IMPLEMENTATION -#include "external/stb_truetype.h" // Required for: stbtt_BakeFontBitmap() +#include "external/stb_truetype.h" // Required for: stbtt_BakeFontBitmap() // Rectangle packing functions (not used at the moment) //#define STB_RECT_PACK_IMPLEMENTATION @@ -43,8 +43,7 @@ //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- -#define FONT_FIRST_CHAR 32 -#define MAX_FONTCHARS 128 +#define FONT_FIRST_CHAR 32 // NOTE: Expected first char for a sprite font #define MAX_FORMATTEXT_LENGTH 64 #define MAX_SUBTEXT_LENGTH 64 @@ -72,7 +71,9 @@ static SpriteFont defaultFont; // Default font provided by raylib static SpriteFont LoadImageFont(Image image, Color key, int firstChar); // Load a Image font file (XNA style) static SpriteFont LoadRBMF(const char *fileName); // Load a rBMF font file (raylib BitMap Font) static SpriteFont LoadBMFont(const char *fileName); // Load a BMFont file (AngelCode font file) -static SpriteFont LoadTTF(const char *fileName, int fontSize); // Generate a sprite font image from TTF data (font size required) + +// Generate a sprite font image from TTF data +static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int numChars); extern void LoadDefaultFont(void); extern void UnloadDefaultFont(void); @@ -245,16 +246,20 @@ SpriteFont GetDefaultFont() // Load a SpriteFont image into GPU memory SpriteFont LoadSpriteFont(const char *fileName) { + // Default hardcoded values for ttf file loading + #define DEFAULT_TTF_FONTSIZE 32 // Font first character (32 - space) + #define DEFAULT_TTF_NUMCHARS 95 // ASCII 32..126 is 95 glyphs + SpriteFont spriteFont = { 0 }; // Check file extension if (strcmp(GetExtension(fileName),"rbmf") == 0) spriteFont = LoadRBMF(fileName); - else if (strcmp(GetExtension(fileName),"ttf") == 0) spriteFont = LoadTTF(fileName, 32); + else if (strcmp(GetExtension(fileName),"ttf") == 0) spriteFont = LoadTTF(fileName, DEFAULT_TTF_FONTSIZE, FONT_FIRST_CHAR, DEFAULT_TTF_NUMCHARS); else if (strcmp(GetExtension(fileName),"fnt") == 0) spriteFont = LoadBMFont(fileName); else { Image image = LoadImage(fileName); - if (image.data != NULL) spriteFont = LoadImageFont(image, MAGENTA, 32); + if (image.data != NULL) spriteFont = LoadImageFont(image, MAGENTA, FONT_FIRST_CHAR); UnloadImage(image); } @@ -294,12 +299,12 @@ void DrawText(const char *text, int posX, int posY, int fontSize, Color color) if (fontSize < defaultFontSize) fontSize = defaultFontSize; int spacing = fontSize / defaultFontSize; - DrawTextEx(defaultFont, text, position, fontSize, spacing, color); + DrawTextEx(defaultFont, text, position, (float)fontSize, spacing, color); } // Draw text using SpriteFont // NOTE: chars spacing is NOT proportional to fontSize -void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, int fontSize, int spacing, Color tint) +void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float fontSize, int spacing, Color tint) { int length = strlen(text); int textOffsetX = 0; @@ -309,7 +314,7 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, int f Rectangle rec; - scaleFactor = (float)fontSize/spriteFont.size; + scaleFactor = fontSize/spriteFont.size; // NOTE: Some ugly hacks are made to support Latin-1 Extended characters directly // written in C code files (codified by default as UTF-8) @@ -497,6 +502,9 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) int x = 0; int y = 0; + + // Default number of characters expected supported + #define MAX_FONTCHARS 128 // We allocate a temporal arrays for chars data measures, // once we get the actual number of chars, we copy data to a sized arrays @@ -634,7 +642,7 @@ static SpriteFont LoadRBMF(const char *fileName) spriteFont.numChars = (int)rbmfHeader.numChars; - int numPixelBits = rbmfHeader.imgWidth * rbmfHeader.imgHeight / 32; + int numPixelBits = rbmfHeader.imgWidth*rbmfHeader.imgHeight/32; rbmfFileData = (unsigned int *)malloc(numPixelBits * sizeof(unsigned int)); @@ -843,17 +851,15 @@ static SpriteFont LoadBMFont(const char *fileName) // Generate a sprite font from TTF file data (font size required) // TODO: Review texture packing method and generation (use oversampling) -static SpriteFont LoadTTF(const char *fileName, int fontSize) +static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int numChars) { // NOTE: Generated font uses some hardcoded values #define FONT_TEXTURE_WIDTH 512 // Font texture width #define FONT_TEXTURE_HEIGHT 512 // Font texture height - #define FONT_FIRST_CHAR 32 // Font first character (32 - space) - #define FONT_NUM_CHARS 95 // ASCII 32..126 is 95 glyphs unsigned char *ttfBuffer = (unsigned char *)malloc(1 << 25); unsigned char *dataBitmap = (unsigned char *)malloc(FONT_TEXTURE_WIDTH*FONT_TEXTURE_HEIGHT*sizeof(unsigned char)); // One channel bitmap returned! - stbtt_bakedchar charData[FONT_NUM_CHARS]; // ASCII 32..126 is 95 glyphs + stbtt_bakedchar charData[numChars]; SpriteFont font = { 0 }; @@ -868,7 +874,7 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize) fread(ttfBuffer, 1, 1<<25, ttfFile); // NOTE: Using stb_truetype crappy packing method, no guarante the font fits the image... - stbtt_BakeFontBitmap(ttfBuffer,0, fontSize, dataBitmap, FONT_TEXTURE_WIDTH, FONT_TEXTURE_HEIGHT, FONT_FIRST_CHAR, FONT_NUM_CHARS, charData); + stbtt_BakeFontBitmap(ttfBuffer,0, fontSize, dataBitmap, FONT_TEXTURE_WIDTH, FONT_TEXTURE_HEIGHT, firstChar, numChars, charData); free(ttfBuffer); @@ -898,7 +904,7 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize) UnloadImage(image); // Unloads dataGrayAlpha font.size = fontSize; - font.numChars = FONT_NUM_CHARS; + font.numChars = numChars; font.charValues = (int *)malloc(font.numChars*sizeof(int)); font.charRecs = (Rectangle *)malloc(font.numChars*sizeof(Rectangle)); font.charOffsets = (Vector2 *)malloc(font.numChars*sizeof(Vector2)); @@ -906,7 +912,7 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize) for (int i = 0; i < font.numChars; i++) { - font.charValues[i] = i + FONT_FIRST_CHAR; + font.charValues[i] = i + firstChar; font.charRecs[i].x = (int)charData[i].x0; font.charRecs[i].y = (int)charData[i].y0; diff --git a/src/textures.c b/src/textures.c index f5523a3e9..c6b7e0bba 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1053,7 +1053,7 @@ Image ImageText(const char *text, int fontSize, Color color) } // Create an image from text (custom sprite font) -Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint) +Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint) { int length = strlen(text); int posX = 0; @@ -1091,9 +1091,9 @@ Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Image imText = LoadImageEx(pixels, (int)imSize.x, (int)imSize.y); // Scale image depending on text size - if (fontSize > (int)imSize.y) + if (fontSize > imSize.y) { - float scaleFactor = (float)fontSize/imSize.y; + float scaleFactor = fontSize/imSize.y; TraceLog(INFO, "Scalefactor: %f", scaleFactor); // Using nearest-neighbor scaling algorithm for default font @@ -1114,7 +1114,7 @@ void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, } // Draw text (custom sprite font) within an image (destination) -void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color) +void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color) { Image imText = ImageTextEx(font, text, fontSize, spacing, color); From 7fbd821727228396e03f47786a4db27f00aaebba Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 7 Aug 2016 13:51:01 +0200 Subject: [PATCH 041/102] Some code review tweaks --- examples/textures_raw_data.lua | 4 +- src/rlua.h | 70 ++++++++++------------------------ 2 files changed, 22 insertions(+), 52 deletions(-) diff --git a/examples/textures_raw_data.lua b/examples/textures_raw_data.lua index 8a955adf3..0bad17714 100644 --- a/examples/textures_raw_data.lua +++ b/examples/textures_raw_data.lua @@ -36,8 +36,8 @@ local pixels = {} for y = 1, height do for x = 1, width do - if ((((x - 1)/32+(y - 1)//32)//1)%2 == 0) then pixels[y*height + x] = DARKBLUE - else pixels[y*height + x] = SKYBLUE end + if ((((x - 1)/32+(y - 1)//32)//1)%2 == 0) then pixels[(y - 1)*height + x] = DARKBLUE + else pixels[(y - 1)*height + x] = SKYBLUE end end end diff --git a/src/rlua.h b/src/rlua.h index 153f2c37f..849c1c646 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -138,6 +138,7 @@ RLUADEF void CloseLuaDevice(void); // De-initialize Lua system #define LuaGetArgument_char (char)luaL_checkinteger #define LuaGetArgument_float (float)luaL_checknumber #define LuaGetArgument_double luaL_checknumber + #define LuaGetArgument_Image(L, img) *(Image*)LuaGetArgumentOpaqueTypeWithMetatable(L, img, "Image") #define LuaGetArgument_Texture2D(L, tex) *(Texture2D*)LuaGetArgumentOpaqueTypeWithMetatable(L, tex, "Texture2D") #define LuaGetArgument_RenderTexture2D(L, rtex) *(RenderTexture2D*)LuaGetArgumentOpaqueTypeWithMetatable(L, rtex, "RenderTexture2D") @@ -739,17 +740,6 @@ static int lua_Quaternion(lua_State* L) return 1; } -/* -static int lua_Matrix(lua_State* L) -{ - LuaPush_Matrix(L, (Matrix) { (float)luaL_checknumber(L, 1), (float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4), - (float)luaL_checknumber(L, 5), (float)luaL_checknumber(L, 6), (float)luaL_checknumber(L, 7), (float)luaL_checknumber(L, 8), - (float)luaL_checknumber(L, 9), (float)luaL_checknumber(L, 10), (float)luaL_checknumber(L, 11), (float)luaL_checknumber(L, 12), - (float)luaL_checknumber(L, 13), (float)luaL_checknumber(L, 14), (float)luaL_checknumber(L, 15), (float)luaL_checknumber(L, 16) }); - return 1; -} -*/ - static int lua_Rectangle(lua_State* L) { LuaPush_Rectangle(L, (Rectangle) { (int)luaL_checkinteger(L, 1), (int)luaL_checkinteger(L, 2), (int)luaL_checkinteger(L, 3), (int)luaL_checkinteger(L, 4) }); @@ -777,8 +767,8 @@ static int lua_Camera(lua_State* L) Vector3 pos = LuaGetArgument_Vector3(L, 1); Vector3 tar = LuaGetArgument_Vector3(L, 2); Vector3 up = LuaGetArgument_Vector3(L, 3); - //float fovy = LuaGetArgument_float(L, 4); // ??? - LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, (float)luaL_checknumber(L, 4) }); + float fovy = LuaGetArgument_float(L, 4); + LuaPush_Camera(L, (Camera) { { pos.x, pos.y, pos.z }, { tar.x, tar.y, tar.z }, { up.x, up.y, up.z }, fovy }); return 1; } @@ -792,23 +782,6 @@ static int lua_Camera2D(lua_State* L) return 1; } -/* -// NOTE: does it make sense to have this constructor? Probably not... -static int lua_Material(lua_State* L) -{ - Shader sdr = LuaGetArgument_Shader(L, 1); - Texture2D td = LuaGetArgument_Texture2D(L, 2); - Texture2D tn = LuaGetArgument_Texture2D(L, 3); - Texture2D ts = LuaGetArgument_Texture2D(L, 4); - Color cd = LuaGetArgument_Color(L, 5); - Color ca = LuaGetArgument_Color(L, 6); - Color cs = LuaGetArgument_Color(L, 7); - float gloss = LuaGetArgument_float(L, 8); - LuaPush_Material(L, (Material) { sdr, td, tn, ts cd, ca, cs, gloss }); - return 1; -} -*/ - /************************************************************************************* * raylib Lua Functions Bindings **************************************************************************************/ @@ -1817,14 +1790,11 @@ int lua_LoadImage(lua_State* L) int lua_LoadImageEx(lua_State* L) { - //Color * arg1 = LuaGetArgument_Color *(L, 1); GET_TABLE(Color, arg1, 1); - int arg2 = LuaGetArgument_int(L, 2); int arg3 = LuaGetArgument_int(L, 3); - Image result = LoadImageEx(arg1, arg2, arg3); + Image result = LoadImageEx(arg1, arg2, arg3); // ISSUE: #3 number expected, got no value LuaPush_Image(L, result); - free(arg1); return 1; } @@ -1860,7 +1830,7 @@ int lua_LoadTexture(lua_State* L) int lua_LoadTextureEx(lua_State* L) { - void * arg1 = (char *)LuaGetArgument_string(L, 1); // NOTE: getting argument as string + void * arg1 = (char *)LuaGetArgument_string(L, 1); // NOTE: getting argument as string? int arg2 = LuaGetArgument_int(L, 2); int arg3 = LuaGetArgument_int(L, 3); int arg4 = LuaGetArgument_int(L, 4); @@ -2056,7 +2026,7 @@ int lua_ImageDrawTextEx(lua_State* L) Vector2 arg2 = LuaGetArgument_Vector2(L, 2); SpriteFont arg3 = LuaGetArgument_SpriteFont(L, 3); const char * arg4 = LuaGetArgument_string(L, 4); - int arg5 = LuaGetArgument_int(L, 5); + float arg5 = LuaGetArgument_float(L, 5); int arg6 = LuaGetArgument_int(L, 6); Color arg7 = LuaGetArgument_Color(L, 7); ImageDrawTextEx(&arg1, arg2, arg3, arg4, arg5, arg6, arg7); @@ -2134,7 +2104,7 @@ int lua_UpdateTexture(lua_State* L) { Texture2D arg1 = LuaGetArgument_Texture2D(L, 1); void * arg2 = (char *)LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string? - UpdateTexture(arg1, arg2); + UpdateTexture(arg1, arg2); // ISSUE: #2 string expected, got table -> GetImageData() returns a table! return 0; } @@ -2231,7 +2201,7 @@ int lua_DrawTextEx(lua_State* L) SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); const char * arg2 = LuaGetArgument_string(L, 2); Vector2 arg3 = LuaGetArgument_Vector2(L, 3); - int arg4 = LuaGetArgument_int(L, 4); + float arg4 = LuaGetArgument_float(L, 4); int arg5 = LuaGetArgument_int(L, 5); Color arg6 = LuaGetArgument_Color(L, 6); DrawTextEx(arg1, arg2, arg3, arg4, arg5, arg6); @@ -3911,7 +3881,7 @@ static luaL_Reg raylib_functions[] = { REG(QuaternionToAxisAngle) REG(QuaternionTransform) - {0,0} + {NULL, NULL} // sentinel: end signal }; // Register raylib functionality @@ -4017,16 +3987,16 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("PLAYER3", 2); LuaSetEnum("PLAYER4", 3); - LuaSetEnum("BUTTON_A", 2); - LuaSetEnum("BUTTON_B", 1); - LuaSetEnum("BUTTON_X", 3); - LuaSetEnum("BUTTON_Y", 4); - LuaSetEnum("BUTTON_R1", 7); - LuaSetEnum("BUTTON_R2", 5); - LuaSetEnum("BUTTON_L1", 6); - LuaSetEnum("BUTTON_L2", 8); - LuaSetEnum("BUTTON_SELECT", 9); - LuaSetEnum("BUTTON_START", 10); + LuaSetEnum("PS3_BUTTON_A", 2); + LuaSetEnum("PS3_BUTTON_B", 1); + LuaSetEnum("PS3_BUTTON_X", 3); + LuaSetEnum("PS3_BUTTON_Y", 4); + LuaSetEnum("PS3_BUTTON_R1", 7); + LuaSetEnum("PS3_BUTTON_R2", 5); + LuaSetEnum("PS3_BUTTON_L1", 6); + LuaSetEnum("PS3_BUTTON_L2", 8); + LuaSetEnum("PS3_BUTTON_SELECT", 9); + LuaSetEnum("PS3_BUTTON_START", 10); LuaSetEnum("XBOX_BUTTON_A", 0); LuaSetEnum("XBOX_BUTTON_B", 1); @@ -4040,7 +4010,7 @@ RLUADEF void InitLuaDevice(void) #if defined(PLATFORM_RPI) LuaSetEnum("XBOX_AXIS_DPAD_X", 7); LuaSetEnum("XBOX_AXIS_DPAD_Y", 6); - LuaSetEnum("XBOX_AXIS_RIGHT_X", 3); + LuaSetEnum("XBOX_AXIS_RIGHT_X", 3); LuaSetEnum("XBOX_AXIS_RIGHT_Y", 4); LuaSetEnum("XBOX_AXIS_LT", 2); LuaSetEnum("XBOX_AXIS_RT", 5); From ed387d00aaaee50ef7d4dc2f355123e16c7727ca Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 8 Aug 2016 17:21:46 +0200 Subject: [PATCH 042/102] Corrected issue with VS --- src/text.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/text.c b/src/text.c index d6a44bec9..2f347b5d0 100644 --- a/src/text.c +++ b/src/text.c @@ -859,7 +859,7 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int unsigned char *ttfBuffer = (unsigned char *)malloc(1 << 25); unsigned char *dataBitmap = (unsigned char *)malloc(FONT_TEXTURE_WIDTH*FONT_TEXTURE_HEIGHT*sizeof(unsigned char)); // One channel bitmap returned! - stbtt_bakedchar charData[numChars]; + stbtt_bakedchar *charData = (stbtt_bakedchar *)malloc(sizeof(stbtt_bakedchar)*numChars); SpriteFont font = { 0 }; @@ -922,6 +922,8 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int font.charOffsets[i] = (Vector2){ charData[i].xoff, charData[i].yoff }; font.charAdvanceX[i] = (int)charData[i].xadvance; } + + free(charData); return font; } \ No newline at end of file From 7e367273282f4ce1986b2b95cd86a2b8c8c4a81c Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 8 Aug 2016 17:22:26 +0200 Subject: [PATCH 043/102] Visual Studio 2015 project --- .gitignore | 12 + examples/core_basic_window.cpp | 62 + .../vs2015/examples/core_basic_window.vcxproj | 97 + .../examples/core_basic_window_cpp.vcxproj | 160 + project/vs2015/external/glfw3/COPYING.txt | 22 + .../external/glfw3/include/GLFW/glfw3.h | 4235 +++++++++++++++++ .../external/glfw3/include/GLFW/glfw3native.h | 456 ++ .../vs2015/external/glfw3/lib/win32/glfw3.dll | Bin 0 -> 70656 bytes .../vs2015/external/glfw3/lib/win32/glfw3.lib | Bin 0 -> 240738 bytes .../external/glfw3/lib/win32/glfw3dll.lib | Bin 0 -> 24454 bytes project/vs2015/external/lua/include/lauxlib.h | 256 + project/vs2015/external/lua/include/lua.h | 486 ++ project/vs2015/external/lua/include/lua.hpp | 9 + project/vs2015/external/lua/include/luaconf.h | 769 +++ project/vs2015/external/lua/include/lualib.h | 58 + .../vs2015/external/lua/lib/win32/lua53.dll | Bin 0 -> 232960 bytes .../vs2015/external/lua/lib/win32/lua53.lib | Bin 0 -> 630434 bytes .../external/lua/lib/win32/lua53dll.lib | Bin 0 -> 29652 bytes project/vs2015/external/openal_soft/COPYING | 484 ++ .../external/openal_soft/include/AL/al.h | 656 +++ .../external/openal_soft/include/AL/alc.h | 237 + .../external/openal_soft/include/AL/alext.h | 438 ++ .../openal_soft/include/AL/efx-creative.h | 3 + .../openal_soft/include/AL/efx-presets.h | 402 ++ .../external/openal_soft/include/AL/efx.h | 761 +++ .../openal_soft/lib/win32/OpenAL32.dll | Bin 0 -> 845045 bytes .../openal_soft/lib/win32/OpenAL32.lib | Bin 0 -> 116274 bytes .../openal_soft/lib/win64/OpenAL32.dll | Bin 0 -> 980543 bytes .../openal_soft/lib/win64/OpenAL32.lib | Bin 0 -> 116896 bytes project/vs2015/raylib.sln | 40 + project/vs2015/raylib/ReadMe.txt | 29 + project/vs2015/raylib/raylib.vcxproj | 175 + 32 files changed, 9847 insertions(+) create mode 100644 examples/core_basic_window.cpp create mode 100644 project/vs2015/examples/core_basic_window.vcxproj create mode 100644 project/vs2015/examples/core_basic_window_cpp.vcxproj create mode 100644 project/vs2015/external/glfw3/COPYING.txt create mode 100644 project/vs2015/external/glfw3/include/GLFW/glfw3.h create mode 100644 project/vs2015/external/glfw3/include/GLFW/glfw3native.h create mode 100644 project/vs2015/external/glfw3/lib/win32/glfw3.dll create mode 100644 project/vs2015/external/glfw3/lib/win32/glfw3.lib create mode 100644 project/vs2015/external/glfw3/lib/win32/glfw3dll.lib create mode 100644 project/vs2015/external/lua/include/lauxlib.h create mode 100644 project/vs2015/external/lua/include/lua.h create mode 100644 project/vs2015/external/lua/include/lua.hpp create mode 100644 project/vs2015/external/lua/include/luaconf.h create mode 100644 project/vs2015/external/lua/include/lualib.h create mode 100644 project/vs2015/external/lua/lib/win32/lua53.dll create mode 100644 project/vs2015/external/lua/lib/win32/lua53.lib create mode 100644 project/vs2015/external/lua/lib/win32/lua53dll.lib create mode 100644 project/vs2015/external/openal_soft/COPYING create mode 100644 project/vs2015/external/openal_soft/include/AL/al.h create mode 100644 project/vs2015/external/openal_soft/include/AL/alc.h create mode 100644 project/vs2015/external/openal_soft/include/AL/alext.h create mode 100644 project/vs2015/external/openal_soft/include/AL/efx-creative.h create mode 100644 project/vs2015/external/openal_soft/include/AL/efx-presets.h create mode 100644 project/vs2015/external/openal_soft/include/AL/efx.h create mode 100644 project/vs2015/external/openal_soft/lib/win32/OpenAL32.dll create mode 100644 project/vs2015/external/openal_soft/lib/win32/OpenAL32.lib create mode 100644 project/vs2015/external/openal_soft/lib/win64/OpenAL32.dll create mode 100644 project/vs2015/external/openal_soft/lib/win64/OpenAL32.lib create mode 100644 project/vs2015/raylib.sln create mode 100644 project/vs2015/raylib/ReadMe.txt create mode 100644 project/vs2015/raylib/raylib.vcxproj diff --git a/.gitignore b/.gitignore index add60fa17..bd9ea5eb1 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,15 @@ src/libraylib.bc !src/external/openal_soft/lib/win32/OpenAL32.dll !src/external/OculusSDK/LibOVR/LibOVRRT32_1.dll !src/external/pthread/lib/pthreadGC2.dll + +# Visual Studio project +project/vs2015/*.db +project/vs2015/*.opendb +!project/vs2015/raylib.sln +!project/vs2015/raylib/*.vcxproj +!project/vs2015/examples/*.vcxproj +!project/vs2015/external/glfw3/lib/win32/glfw3.dll +!project/vs2015/external/openal_soft/lib/win32/OpenAL32.dll +!project/vs2015/external/openal_soft/lib/win64/OpenAL32.dll +!project/vs2015/external/lua/lib/win32/lua53.dll + diff --git a/examples/core_basic_window.cpp b/examples/core_basic_window.cpp new file mode 100644 index 000000000..fa12026a0 --- /dev/null +++ b/examples/core_basic_window.cpp @@ -0,0 +1,62 @@ +/******************************************************************************************* +* +* raylib [core] example - Basic window +* +* Welcome to raylib! +* +* To test examples, just press F6 and execute raylib_compile_execute script +* Note that compiled executable is placed in the same folder as .c file +* +* You can find all basic examples on C:\raylib\raylib\examples folder or +* raylib official webpage: www.raylib.com +* +* Enjoy using raylib. :) +* +* This example has been created using raylib 1.0 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2014 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main(int argc, char* argv[]) +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/project/vs2015/examples/core_basic_window.vcxproj b/project/vs2015/examples/core_basic_window.vcxproj new file mode 100644 index 000000000..2ae68c2dd --- /dev/null +++ b/project/vs2015/examples/core_basic_window.vcxproj @@ -0,0 +1,97 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {0981CA98-E4A5-4DF1-987F-A41D09131EFC} + Win32Proj + core_basic_window + 8.1 + core_basic_window + + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)external\glfw3\lib\win32;$(SolutionDir)external\openal_soft\lib\win32;%(AdditionalLibraryDirectories) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;glfw3.lib;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/project/vs2015/examples/core_basic_window_cpp.vcxproj b/project/vs2015/examples/core_basic_window_cpp.vcxproj new file mode 100644 index 000000000..ac0bcb561 --- /dev/null +++ b/project/vs2015/examples/core_basic_window_cpp.vcxproj @@ -0,0 +1,160 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {B655E850-3322-42F7-941D-6AC18FD66CA1} + Win32Proj + raylib_example_cpp + 8.1 + core_basic_window_cpp + + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsCpp + + + Console + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;glfw3.lib;%(AdditionalDependencies) + $(SolutionDir)external\glfw3\lib\win32;%(AdditionalLibraryDirectories) + + + + + + + Level3 + Disabled + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + + + + \ No newline at end of file diff --git a/project/vs2015/external/glfw3/COPYING.txt b/project/vs2015/external/glfw3/COPYING.txt new file mode 100644 index 000000000..ad16462a9 --- /dev/null +++ b/project/vs2015/external/glfw3/COPYING.txt @@ -0,0 +1,22 @@ +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2016 Camilla Berglund + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. + diff --git a/project/vs2015/external/glfw3/include/GLFW/glfw3.h b/project/vs2015/external/glfw3/include/GLFW/glfw3.h new file mode 100644 index 000000000..5a0c45089 --- /dev/null +++ b/project/vs2015/external/glfw3/include/GLFW/glfw3.h @@ -0,0 +1,4235 @@ +/************************************************************************* + * GLFW 3.2 - www.glfw.org + * A library for OpenGL, window and input + *------------------------------------------------------------------------ + * Copyright (c) 2002-2006 Marcus Geelnard + * Copyright (c) 2006-2016 Camilla Berglund + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would + * be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + * + *************************************************************************/ + +#ifndef _glfw3_h_ +#define _glfw3_h_ + +#ifdef __cplusplus +extern "C" { +#endif + + +/************************************************************************* + * Doxygen documentation + *************************************************************************/ + +/*! @file glfw3.h + * @brief The header of the GLFW 3 API. + * + * This is the header file of the GLFW 3 API. It defines all its types and + * declares all its functions. + * + * For more information about how to use this file, see @ref build_include. + */ +/*! @defgroup context Context reference + * + * This is the reference documentation for OpenGL and OpenGL ES context related + * functions. For more task-oriented information, see the @ref context_guide. + */ +/*! @defgroup vulkan Vulkan reference + * + * This is the reference documentation for Vulkan related functions and types. + * For more task-oriented information, see the @ref vulkan_guide. + */ +/*! @defgroup init Initialization, version and error reference + * + * This is the reference documentation for initialization and termination of + * the library, version management and error handling. For more task-oriented + * information, see the @ref intro_guide. + */ +/*! @defgroup input Input reference + * + * This is the reference documentation for input related functions and types. + * For more task-oriented information, see the @ref input_guide. + */ +/*! @defgroup monitor Monitor reference + * + * This is the reference documentation for monitor related functions and types. + * For more task-oriented information, see the @ref monitor_guide. + */ +/*! @defgroup window Window reference + * + * This is the reference documentation for window related functions and types, + * including creation, deletion and event polling. For more task-oriented + * information, see the @ref window_guide. + */ + + +/************************************************************************* + * Compiler- and platform-specific preprocessor work + *************************************************************************/ + +/* If we are we on Windows, we want a single define for it. + */ +#if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)) + #define _WIN32 +#endif /* _WIN32 */ + +/* It is customary to use APIENTRY for OpenGL function pointer declarations on + * all platforms. Additionally, the Windows OpenGL header needs APIENTRY. + */ +#ifndef APIENTRY + #ifdef _WIN32 + #define APIENTRY __stdcall + #else + #define APIENTRY + #endif +#endif /* APIENTRY */ + +/* Some Windows OpenGL headers need this. + */ +#if !defined(WINGDIAPI) && defined(_WIN32) + #define WINGDIAPI __declspec(dllimport) + #define GLFW_WINGDIAPI_DEFINED +#endif /* WINGDIAPI */ + +/* Some Windows GLU headers need this. + */ +#if !defined(CALLBACK) && defined(_WIN32) + #define CALLBACK __stdcall + #define GLFW_CALLBACK_DEFINED +#endif /* CALLBACK */ + +/* Most Windows GLU headers need wchar_t. + * The OS X OpenGL header blocks the definition of ptrdiff_t by glext.h. + * Include it unconditionally to avoid surprising side-effects. + */ +#include +#include + +/* Include the chosen client API headers. + */ +#if defined(__APPLE__) + #if defined(GLFW_INCLUDE_GLCOREARB) + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + #elif !defined(GLFW_INCLUDE_NONE) + #if !defined(GLFW_INCLUDE_GLEXT) + #define GL_GLEXT_LEGACY + #endif + #include + #endif + #if defined(GLFW_INCLUDE_GLU) + #include + #endif +#else + #if defined(GLFW_INCLUDE_GLCOREARB) + #include + #elif defined(GLFW_INCLUDE_ES1) + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + #elif defined(GLFW_INCLUDE_ES2) + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + #elif defined(GLFW_INCLUDE_ES3) + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + #elif defined(GLFW_INCLUDE_ES31) + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + #elif defined(GLFW_INCLUDE_VULKAN) + #include + #elif !defined(GLFW_INCLUDE_NONE) + #include + #if defined(GLFW_INCLUDE_GLEXT) + #include + #endif + #endif + #if defined(GLFW_INCLUDE_GLU) + #include + #endif +#endif + +#if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL) + /* GLFW_DLL must be defined by applications that are linking against the DLL + * version of the GLFW library. _GLFW_BUILD_DLL is defined by the GLFW + * configuration header when compiling the DLL version of the library. + */ + #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined" +#endif + +/* GLFWAPI is used to declare public API functions for export + * from the DLL / shared library / dynamic library. + */ +#if defined(_WIN32) && defined(_GLFW_BUILD_DLL) + /* We are building GLFW as a Win32 DLL */ + #define GLFWAPI __declspec(dllexport) +#elif defined(_WIN32) && defined(GLFW_DLL) + /* We are calling GLFW as a Win32 DLL */ + #define GLFWAPI __declspec(dllimport) +#elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL) + /* We are building GLFW as a shared / dynamic library */ + #define GLFWAPI __attribute__((visibility("default"))) +#else + /* We are building or calling GLFW as a static library */ + #define GLFWAPI +#endif + + +/************************************************************************* + * GLFW API tokens + *************************************************************************/ + +/*! @name GLFW version macros + * @{ */ +/*! @brief The major version number of the GLFW library. + * + * This is incremented when the API is changed in non-compatible ways. + * @ingroup init + */ +#define GLFW_VERSION_MAJOR 3 +/*! @brief The minor version number of the GLFW library. + * + * This is incremented when features are added to the API but it remains + * backward-compatible. + * @ingroup init + */ +#define GLFW_VERSION_MINOR 2 +/*! @brief The revision number of the GLFW library. + * + * This is incremented when a bug fix release is made that does not contain any + * API changes. + * @ingroup init + */ +#define GLFW_VERSION_REVISION 0 +/*! @} */ + +/*! @name Boolean values + * @{ */ +/*! @brief One. + * + * One. Seriously. You don't _need_ to use this symbol in your code. It's + * just semantic sugar for the number 1. You can use `1` or `true` or `_True` + * or `GL_TRUE` or whatever you want. + */ +#define GLFW_TRUE 1 +/*! @brief Zero. + * + * Zero. Seriously. You don't _need_ to use this symbol in your code. It's + * just just semantic sugar for the number 0. You can use `0` or `false` or + * `_False` or `GL_FALSE` or whatever you want. + */ +#define GLFW_FALSE 0 +/*! @} */ + +/*! @name Key and button actions + * @{ */ +/*! @brief The key or mouse button was released. + * + * The key or mouse button was released. + * + * @ingroup input + */ +#define GLFW_RELEASE 0 +/*! @brief The key or mouse button was pressed. + * + * The key or mouse button was pressed. + * + * @ingroup input + */ +#define GLFW_PRESS 1 +/*! @brief The key was held down until it repeated. + * + * The key was held down until it repeated. + * + * @ingroup input + */ +#define GLFW_REPEAT 2 +/*! @} */ + +/*! @defgroup keys Keyboard keys + * + * See [key input](@ref input_key) for how these are used. + * + * These key codes are inspired by the _USB HID Usage Tables v1.12_ (p. 53-60), + * but re-arranged to map to 7-bit ASCII for printable keys (function keys are + * put in the 256+ range). + * + * The naming of the key codes follow these rules: + * - The US keyboard layout is used + * - Names of printable alpha-numeric characters are used (e.g. "A", "R", + * "3", etc.) + * - For non-alphanumeric characters, Unicode:ish names are used (e.g. + * "COMMA", "LEFT_SQUARE_BRACKET", etc.). Note that some names do not + * correspond to the Unicode standard (usually for brevity) + * - Keys that lack a clear US mapping are named "WORLD_x" + * - For non-printable keys, custom names are used (e.g. "F4", + * "BACKSPACE", etc.) + * + * @ingroup input + * @{ + */ + +/* The unknown key */ +#define GLFW_KEY_UNKNOWN -1 + +/* Printable keys */ +#define GLFW_KEY_SPACE 32 +#define GLFW_KEY_APOSTROPHE 39 /* ' */ +#define GLFW_KEY_COMMA 44 /* , */ +#define GLFW_KEY_MINUS 45 /* - */ +#define GLFW_KEY_PERIOD 46 /* . */ +#define GLFW_KEY_SLASH 47 /* / */ +#define GLFW_KEY_0 48 +#define GLFW_KEY_1 49 +#define GLFW_KEY_2 50 +#define GLFW_KEY_3 51 +#define GLFW_KEY_4 52 +#define GLFW_KEY_5 53 +#define GLFW_KEY_6 54 +#define GLFW_KEY_7 55 +#define GLFW_KEY_8 56 +#define GLFW_KEY_9 57 +#define GLFW_KEY_SEMICOLON 59 /* ; */ +#define GLFW_KEY_EQUAL 61 /* = */ +#define GLFW_KEY_A 65 +#define GLFW_KEY_B 66 +#define GLFW_KEY_C 67 +#define GLFW_KEY_D 68 +#define GLFW_KEY_E 69 +#define GLFW_KEY_F 70 +#define GLFW_KEY_G 71 +#define GLFW_KEY_H 72 +#define GLFW_KEY_I 73 +#define GLFW_KEY_J 74 +#define GLFW_KEY_K 75 +#define GLFW_KEY_L 76 +#define GLFW_KEY_M 77 +#define GLFW_KEY_N 78 +#define GLFW_KEY_O 79 +#define GLFW_KEY_P 80 +#define GLFW_KEY_Q 81 +#define GLFW_KEY_R 82 +#define GLFW_KEY_S 83 +#define GLFW_KEY_T 84 +#define GLFW_KEY_U 85 +#define GLFW_KEY_V 86 +#define GLFW_KEY_W 87 +#define GLFW_KEY_X 88 +#define GLFW_KEY_Y 89 +#define GLFW_KEY_Z 90 +#define GLFW_KEY_LEFT_BRACKET 91 /* [ */ +#define GLFW_KEY_BACKSLASH 92 /* \ */ +#define GLFW_KEY_RIGHT_BRACKET 93 /* ] */ +#define GLFW_KEY_GRAVE_ACCENT 96 /* ` */ +#define GLFW_KEY_WORLD_1 161 /* non-US #1 */ +#define GLFW_KEY_WORLD_2 162 /* non-US #2 */ + +/* Function keys */ +#define GLFW_KEY_ESCAPE 256 +#define GLFW_KEY_ENTER 257 +#define GLFW_KEY_TAB 258 +#define GLFW_KEY_BACKSPACE 259 +#define GLFW_KEY_INSERT 260 +#define GLFW_KEY_DELETE 261 +#define GLFW_KEY_RIGHT 262 +#define GLFW_KEY_LEFT 263 +#define GLFW_KEY_DOWN 264 +#define GLFW_KEY_UP 265 +#define GLFW_KEY_PAGE_UP 266 +#define GLFW_KEY_PAGE_DOWN 267 +#define GLFW_KEY_HOME 268 +#define GLFW_KEY_END 269 +#define GLFW_KEY_CAPS_LOCK 280 +#define GLFW_KEY_SCROLL_LOCK 281 +#define GLFW_KEY_NUM_LOCK 282 +#define GLFW_KEY_PRINT_SCREEN 283 +#define GLFW_KEY_PAUSE 284 +#define GLFW_KEY_F1 290 +#define GLFW_KEY_F2 291 +#define GLFW_KEY_F3 292 +#define GLFW_KEY_F4 293 +#define GLFW_KEY_F5 294 +#define GLFW_KEY_F6 295 +#define GLFW_KEY_F7 296 +#define GLFW_KEY_F8 297 +#define GLFW_KEY_F9 298 +#define GLFW_KEY_F10 299 +#define GLFW_KEY_F11 300 +#define GLFW_KEY_F12 301 +#define GLFW_KEY_F13 302 +#define GLFW_KEY_F14 303 +#define GLFW_KEY_F15 304 +#define GLFW_KEY_F16 305 +#define GLFW_KEY_F17 306 +#define GLFW_KEY_F18 307 +#define GLFW_KEY_F19 308 +#define GLFW_KEY_F20 309 +#define GLFW_KEY_F21 310 +#define GLFW_KEY_F22 311 +#define GLFW_KEY_F23 312 +#define GLFW_KEY_F24 313 +#define GLFW_KEY_F25 314 +#define GLFW_KEY_KP_0 320 +#define GLFW_KEY_KP_1 321 +#define GLFW_KEY_KP_2 322 +#define GLFW_KEY_KP_3 323 +#define GLFW_KEY_KP_4 324 +#define GLFW_KEY_KP_5 325 +#define GLFW_KEY_KP_6 326 +#define GLFW_KEY_KP_7 327 +#define GLFW_KEY_KP_8 328 +#define GLFW_KEY_KP_9 329 +#define GLFW_KEY_KP_DECIMAL 330 +#define GLFW_KEY_KP_DIVIDE 331 +#define GLFW_KEY_KP_MULTIPLY 332 +#define GLFW_KEY_KP_SUBTRACT 333 +#define GLFW_KEY_KP_ADD 334 +#define GLFW_KEY_KP_ENTER 335 +#define GLFW_KEY_KP_EQUAL 336 +#define GLFW_KEY_LEFT_SHIFT 340 +#define GLFW_KEY_LEFT_CONTROL 341 +#define GLFW_KEY_LEFT_ALT 342 +#define GLFW_KEY_LEFT_SUPER 343 +#define GLFW_KEY_RIGHT_SHIFT 344 +#define GLFW_KEY_RIGHT_CONTROL 345 +#define GLFW_KEY_RIGHT_ALT 346 +#define GLFW_KEY_RIGHT_SUPER 347 +#define GLFW_KEY_MENU 348 + +#define GLFW_KEY_LAST GLFW_KEY_MENU + +/*! @} */ + +/*! @defgroup mods Modifier key flags + * + * See [key input](@ref input_key) for how these are used. + * + * @ingroup input + * @{ */ + +/*! @brief If this bit is set one or more Shift keys were held down. + */ +#define GLFW_MOD_SHIFT 0x0001 +/*! @brief If this bit is set one or more Control keys were held down. + */ +#define GLFW_MOD_CONTROL 0x0002 +/*! @brief If this bit is set one or more Alt keys were held down. + */ +#define GLFW_MOD_ALT 0x0004 +/*! @brief If this bit is set one or more Super keys were held down. + */ +#define GLFW_MOD_SUPER 0x0008 + +/*! @} */ + +/*! @defgroup buttons Mouse buttons + * + * See [mouse button input](@ref input_mouse_button) for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_MOUSE_BUTTON_1 0 +#define GLFW_MOUSE_BUTTON_2 1 +#define GLFW_MOUSE_BUTTON_3 2 +#define GLFW_MOUSE_BUTTON_4 3 +#define GLFW_MOUSE_BUTTON_5 4 +#define GLFW_MOUSE_BUTTON_6 5 +#define GLFW_MOUSE_BUTTON_7 6 +#define GLFW_MOUSE_BUTTON_8 7 +#define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8 +#define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1 +#define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2 +#define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3 +/*! @} */ + +/*! @defgroup joysticks Joysticks + * + * See [joystick input](@ref joystick) for how these are used. + * + * @ingroup input + * @{ */ +#define GLFW_JOYSTICK_1 0 +#define GLFW_JOYSTICK_2 1 +#define GLFW_JOYSTICK_3 2 +#define GLFW_JOYSTICK_4 3 +#define GLFW_JOYSTICK_5 4 +#define GLFW_JOYSTICK_6 5 +#define GLFW_JOYSTICK_7 6 +#define GLFW_JOYSTICK_8 7 +#define GLFW_JOYSTICK_9 8 +#define GLFW_JOYSTICK_10 9 +#define GLFW_JOYSTICK_11 10 +#define GLFW_JOYSTICK_12 11 +#define GLFW_JOYSTICK_13 12 +#define GLFW_JOYSTICK_14 13 +#define GLFW_JOYSTICK_15 14 +#define GLFW_JOYSTICK_16 15 +#define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16 +/*! @} */ + +/*! @defgroup errors Error codes + * + * See [error handling](@ref error_handling) for how these are used. + * + * @ingroup init + * @{ */ +/*! @brief GLFW has not been initialized. + * + * This occurs if a GLFW function was called that must not be called unless the + * library is [initialized](@ref intro_init). + * + * @analysis Application programmer error. Initialize GLFW before calling any + * function that requires initialization. + */ +#define GLFW_NOT_INITIALIZED 0x00010001 +/*! @brief No context is current for this thread. + * + * This occurs if a GLFW function was called that needs and operates on the + * current OpenGL or OpenGL ES context but no context is current on the calling + * thread. One such function is @ref glfwSwapInterval. + * + * @analysis Application programmer error. Ensure a context is current before + * calling functions that require a current context. + */ +#define GLFW_NO_CURRENT_CONTEXT 0x00010002 +/*! @brief One of the arguments to the function was an invalid enum value. + * + * One of the arguments to the function was an invalid enum value, for example + * requesting [GLFW_RED_BITS](@ref window_hints_fb) with @ref + * glfwGetWindowAttrib. + * + * @analysis Application programmer error. Fix the offending call. + */ +#define GLFW_INVALID_ENUM 0x00010003 +/*! @brief One of the arguments to the function was an invalid value. + * + * One of the arguments to the function was an invalid value, for example + * requesting a non-existent OpenGL or OpenGL ES version like 2.7. + * + * Requesting a valid but unavailable OpenGL or OpenGL ES version will instead + * result in a @ref GLFW_VERSION_UNAVAILABLE error. + * + * @analysis Application programmer error. Fix the offending call. + */ +#define GLFW_INVALID_VALUE 0x00010004 +/*! @brief A memory allocation failed. + * + * A memory allocation failed. + * + * @analysis A bug in GLFW or the underlying operating system. Report the bug + * to our [issue tracker](https://github.com/glfw/glfw/issues). + */ +#define GLFW_OUT_OF_MEMORY 0x00010005 +/*! @brief GLFW could not find support for the requested API on the system. + * + * GLFW could not find support for the requested API on the system. + * + * @analysis The installed graphics driver does not support the requested + * API, or does not support it via the chosen context creation backend. + * Below are a few examples. + * + * @par + * Some pre-installed Windows graphics drivers do not support OpenGL. AMD only + * supports OpenGL ES via EGL, while Nvidia and Intel only support it via + * a WGL or GLX extension. OS X does not provide OpenGL ES at all. The Mesa + * EGL, OpenGL and OpenGL ES libraries do not interface with the Nvidia binary + * driver. Older graphics drivers do not support Vulkan. + */ +#define GLFW_API_UNAVAILABLE 0x00010006 +/*! @brief The requested OpenGL or OpenGL ES version is not available. + * + * The requested OpenGL or OpenGL ES version (including any requested context + * or framebuffer hints) is not available on this machine. + * + * @analysis The machine does not support your requirements. If your + * application is sufficiently flexible, downgrade your requirements and try + * again. Otherwise, inform the user that their machine does not match your + * requirements. + * + * @par + * Future invalid OpenGL and OpenGL ES versions, for example OpenGL 4.8 if 5.0 + * comes out before the 4.x series gets that far, also fail with this error and + * not @ref GLFW_INVALID_VALUE, because GLFW cannot know what future versions + * will exist. + */ +#define GLFW_VERSION_UNAVAILABLE 0x00010007 +/*! @brief A platform-specific error occurred that does not match any of the + * more specific categories. + * + * A platform-specific error occurred that does not match any of the more + * specific categories. + * + * @analysis A bug or configuration error in GLFW, the underlying operating + * system or its drivers, or a lack of required resources. Report the issue to + * our [issue tracker](https://github.com/glfw/glfw/issues). + */ +#define GLFW_PLATFORM_ERROR 0x00010008 +/*! @brief The requested format is not supported or available. + * + * If emitted during window creation, the requested pixel format is not + * supported. + * + * If emitted when querying the clipboard, the contents of the clipboard could + * not be converted to the requested format. + * + * @analysis If emitted during window creation, one or more + * [hard constraints](@ref window_hints_hard) did not match any of the + * available pixel formats. If your application is sufficiently flexible, + * downgrade your requirements and try again. Otherwise, inform the user that + * their machine does not match your requirements. + * + * @par + * If emitted when querying the clipboard, ignore the error or report it to + * the user, as appropriate. + */ +#define GLFW_FORMAT_UNAVAILABLE 0x00010009 +/*! @brief The specified window does not have an OpenGL or OpenGL ES context. + * + * A window that does not have an OpenGL or OpenGL ES context was passed to + * a function that requires it to have one. + * + * @analysis Application programmer error. Fix the offending call. + */ +#define GLFW_NO_WINDOW_CONTEXT 0x0001000A +/*! @} */ + +#define GLFW_FOCUSED 0x00020001 +#define GLFW_ICONIFIED 0x00020002 +#define GLFW_RESIZABLE 0x00020003 +#define GLFW_VISIBLE 0x00020004 +#define GLFW_DECORATED 0x00020005 +#define GLFW_AUTO_ICONIFY 0x00020006 +#define GLFW_FLOATING 0x00020007 +#define GLFW_MAXIMIZED 0x00020008 + +#define GLFW_RED_BITS 0x00021001 +#define GLFW_GREEN_BITS 0x00021002 +#define GLFW_BLUE_BITS 0x00021003 +#define GLFW_ALPHA_BITS 0x00021004 +#define GLFW_DEPTH_BITS 0x00021005 +#define GLFW_STENCIL_BITS 0x00021006 +#define GLFW_ACCUM_RED_BITS 0x00021007 +#define GLFW_ACCUM_GREEN_BITS 0x00021008 +#define GLFW_ACCUM_BLUE_BITS 0x00021009 +#define GLFW_ACCUM_ALPHA_BITS 0x0002100A +#define GLFW_AUX_BUFFERS 0x0002100B +#define GLFW_STEREO 0x0002100C +#define GLFW_SAMPLES 0x0002100D +#define GLFW_SRGB_CAPABLE 0x0002100E +#define GLFW_REFRESH_RATE 0x0002100F +#define GLFW_DOUBLEBUFFER 0x00021010 + +#define GLFW_CLIENT_API 0x00022001 +#define GLFW_CONTEXT_VERSION_MAJOR 0x00022002 +#define GLFW_CONTEXT_VERSION_MINOR 0x00022003 +#define GLFW_CONTEXT_REVISION 0x00022004 +#define GLFW_CONTEXT_ROBUSTNESS 0x00022005 +#define GLFW_OPENGL_FORWARD_COMPAT 0x00022006 +#define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007 +#define GLFW_OPENGL_PROFILE 0x00022008 +#define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009 +#define GLFW_CONTEXT_NO_ERROR 0x0002200A +#define GLFW_CONTEXT_CREATION_API 0x0002200B + +#define GLFW_NO_API 0 +#define GLFW_OPENGL_API 0x00030001 +#define GLFW_OPENGL_ES_API 0x00030002 + +#define GLFW_NO_ROBUSTNESS 0 +#define GLFW_NO_RESET_NOTIFICATION 0x00031001 +#define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002 + +#define GLFW_OPENGL_ANY_PROFILE 0 +#define GLFW_OPENGL_CORE_PROFILE 0x00032001 +#define GLFW_OPENGL_COMPAT_PROFILE 0x00032002 + +#define GLFW_CURSOR 0x00033001 +#define GLFW_STICKY_KEYS 0x00033002 +#define GLFW_STICKY_MOUSE_BUTTONS 0x00033003 + +#define GLFW_CURSOR_NORMAL 0x00034001 +#define GLFW_CURSOR_HIDDEN 0x00034002 +#define GLFW_CURSOR_DISABLED 0x00034003 + +#define GLFW_ANY_RELEASE_BEHAVIOR 0 +#define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001 +#define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002 + +#define GLFW_NATIVE_CONTEXT_API 0x00036001 +#define GLFW_EGL_CONTEXT_API 0x00036002 + +/*! @defgroup shapes Standard cursor shapes + * + * See [standard cursor creation](@ref cursor_standard) for how these are used. + * + * @ingroup input + * @{ */ + +/*! @brief The regular arrow cursor shape. + * + * The regular arrow cursor. + */ +#define GLFW_ARROW_CURSOR 0x00036001 +/*! @brief The text input I-beam cursor shape. + * + * The text input I-beam cursor shape. + */ +#define GLFW_IBEAM_CURSOR 0x00036002 +/*! @brief The crosshair shape. + * + * The crosshair shape. + */ +#define GLFW_CROSSHAIR_CURSOR 0x00036003 +/*! @brief The hand shape. + * + * The hand shape. + */ +#define GLFW_HAND_CURSOR 0x00036004 +/*! @brief The horizontal resize arrow shape. + * + * The horizontal resize arrow shape. + */ +#define GLFW_HRESIZE_CURSOR 0x00036005 +/*! @brief The vertical resize arrow shape. + * + * The vertical resize arrow shape. + */ +#define GLFW_VRESIZE_CURSOR 0x00036006 +/*! @} */ + +#define GLFW_CONNECTED 0x00040001 +#define GLFW_DISCONNECTED 0x00040002 + +#define GLFW_DONT_CARE -1 + + +/************************************************************************* + * GLFW API types + *************************************************************************/ + +/*! @brief Client API function pointer type. + * + * Generic function pointer used for returning client API function pointers + * without forcing a cast from a regular pointer. + * + * @sa @ref context_glext + * @sa glfwGetProcAddress + * + * @since Added in version 3.0. + + * @ingroup context + */ +typedef void (*GLFWglproc)(void); + +/*! @brief Vulkan API function pointer type. + * + * Generic function pointer used for returning Vulkan API function pointers + * without forcing a cast from a regular pointer. + * + * @sa @ref vulkan_proc + * @sa glfwGetInstanceProcAddress + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +typedef void (*GLFWvkproc)(void); + +/*! @brief Opaque monitor object. + * + * Opaque monitor object. + * + * @see @ref monitor_object + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +typedef struct GLFWmonitor GLFWmonitor; + +/*! @brief Opaque window object. + * + * Opaque window object. + * + * @see @ref window_object + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef struct GLFWwindow GLFWwindow; + +/*! @brief Opaque cursor object. + * + * Opaque cursor object. + * + * @see @ref cursor_object + * + * @since Added in version 3.1. + * + * @ingroup cursor + */ +typedef struct GLFWcursor GLFWcursor; + +/*! @brief The function signature for error callbacks. + * + * This is the function signature for error callback functions. + * + * @param[in] error An [error code](@ref errors). + * @param[in] description A UTF-8 encoded string describing the error. + * + * @sa @ref error_handling + * @sa glfwSetErrorCallback + * + * @since Added in version 3.0. + * + * @ingroup init + */ +typedef void (* GLFWerrorfun)(int,const char*); + +/*! @brief The function signature for window position callbacks. + * + * This is the function signature for window position callback functions. + * + * @param[in] window The window that was moved. + * @param[in] xpos The new x-coordinate, in screen coordinates, of the + * upper-left corner of the client area of the window. + * @param[in] ypos The new y-coordinate, in screen coordinates, of the + * upper-left corner of the client area of the window. + * + * @sa @ref window_pos + * @sa glfwSetWindowPosCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWwindowposfun)(GLFWwindow*,int,int); + +/*! @brief The function signature for window resize callbacks. + * + * This is the function signature for window size callback functions. + * + * @param[in] window The window that was resized. + * @param[in] width The new width, in screen coordinates, of the window. + * @param[in] height The new height, in screen coordinates, of the window. + * + * @sa @ref window_size + * @sa glfwSetWindowSizeCallback + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +typedef void (* GLFWwindowsizefun)(GLFWwindow*,int,int); + +/*! @brief The function signature for window close callbacks. + * + * This is the function signature for window close callback functions. + * + * @param[in] window The window that the user attempted to close. + * + * @sa @ref window_close + * @sa glfwSetWindowCloseCallback + * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +typedef void (* GLFWwindowclosefun)(GLFWwindow*); + +/*! @brief The function signature for window content refresh callbacks. + * + * This is the function signature for window refresh callback functions. + * + * @param[in] window The window whose content needs to be refreshed. + * + * @sa @ref window_refresh + * @sa glfwSetWindowRefreshCallback + * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +typedef void (* GLFWwindowrefreshfun)(GLFWwindow*); + +/*! @brief The function signature for window focus/defocus callbacks. + * + * This is the function signature for window focus callback functions. + * + * @param[in] window The window that gained or lost input focus. + * @param[in] focused `GLFW_TRUE` if the window was given input focus, or + * `GLFW_FALSE` if it lost it. + * + * @sa @ref window_focus + * @sa glfwSetWindowFocusCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWwindowfocusfun)(GLFWwindow*,int); + +/*! @brief The function signature for window iconify/restore callbacks. + * + * This is the function signature for window iconify/restore callback + * functions. + * + * @param[in] window The window that was iconified or restored. + * @param[in] iconified `GLFW_TRUE` if the window was iconified, or + * `GLFW_FALSE` if it was restored. + * + * @sa @ref window_iconify + * @sa glfwSetWindowIconifyCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWwindowiconifyfun)(GLFWwindow*,int); + +/*! @brief The function signature for framebuffer resize callbacks. + * + * This is the function signature for framebuffer resize callback + * functions. + * + * @param[in] window The window whose framebuffer was resized. + * @param[in] width The new width, in pixels, of the framebuffer. + * @param[in] height The new height, in pixels, of the framebuffer. + * + * @sa @ref window_fbsize + * @sa glfwSetFramebufferSizeCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +typedef void (* GLFWframebuffersizefun)(GLFWwindow*,int,int); + +/*! @brief The function signature for mouse button callbacks. + * + * This is the function signature for mouse button callback functions. + * + * @param[in] window The window that received the event. + * @param[in] button The [mouse button](@ref buttons) that was pressed or + * released. + * @param[in] action One of `GLFW_PRESS` or `GLFW_RELEASE`. + * @param[in] mods Bit field describing which [modifier keys](@ref mods) were + * held down. + * + * @sa @ref input_mouse_button + * @sa glfwSetMouseButtonCallback + * + * @since Added in version 1.0. + * @glfw3 Added window handle and modifier mask parameters. + * + * @ingroup input + */ +typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int,int); + +/*! @brief The function signature for cursor position callbacks. + * + * This is the function signature for cursor position callback functions. + * + * @param[in] window The window that received the event. + * @param[in] xpos The new cursor x-coordinate, relative to the left edge of + * the client area. + * @param[in] ypos The new cursor y-coordinate, relative to the top edge of the + * client area. + * + * @sa @ref cursor_pos + * @sa glfwSetCursorPosCallback + * + * @since Added in version 3.0. Replaces `GLFWmouseposfun`. + * + * @ingroup input + */ +typedef void (* GLFWcursorposfun)(GLFWwindow*,double,double); + +/*! @brief The function signature for cursor enter/leave callbacks. + * + * This is the function signature for cursor enter/leave callback functions. + * + * @param[in] window The window that received the event. + * @param[in] entered `GLFW_TRUE` if the cursor entered the window's client + * area, or `GLFW_FALSE` if it left it. + * + * @sa @ref cursor_enter + * @sa glfwSetCursorEnterCallback + * + * @since Added in version 3.0. + * + * @ingroup input + */ +typedef void (* GLFWcursorenterfun)(GLFWwindow*,int); + +/*! @brief The function signature for scroll callbacks. + * + * This is the function signature for scroll callback functions. + * + * @param[in] window The window that received the event. + * @param[in] xoffset The scroll offset along the x-axis. + * @param[in] yoffset The scroll offset along the y-axis. + * + * @sa @ref scrolling + * @sa glfwSetScrollCallback + * + * @since Added in version 3.0. Replaces `GLFWmousewheelfun`. + * + * @ingroup input + */ +typedef void (* GLFWscrollfun)(GLFWwindow*,double,double); + +/*! @brief The function signature for keyboard key callbacks. + * + * This is the function signature for keyboard key callback functions. + * + * @param[in] window The window that received the event. + * @param[in] key The [keyboard key](@ref keys) that was pressed or released. + * @param[in] scancode The system-specific scancode of the key. + * @param[in] action `GLFW_PRESS`, `GLFW_RELEASE` or `GLFW_REPEAT`. + * @param[in] mods Bit field describing which [modifier keys](@ref mods) were + * held down. + * + * @sa @ref input_key + * @sa glfwSetKeyCallback + * + * @since Added in version 1.0. + * @glfw3 Added window handle, scancode and modifier mask parameters. + * + * @ingroup input + */ +typedef void (* GLFWkeyfun)(GLFWwindow*,int,int,int,int); + +/*! @brief The function signature for Unicode character callbacks. + * + * This is the function signature for Unicode character callback functions. + * + * @param[in] window The window that received the event. + * @param[in] codepoint The Unicode code point of the character. + * + * @sa @ref input_char + * @sa glfwSetCharCallback + * + * @since Added in version 2.4. + * @glfw3 Added window handle parameter. + * + * @ingroup input + */ +typedef void (* GLFWcharfun)(GLFWwindow*,unsigned int); + +/*! @brief The function signature for Unicode character with modifiers + * callbacks. + * + * This is the function signature for Unicode character with modifiers callback + * functions. It is called for each input character, regardless of what + * modifier keys are held down. + * + * @param[in] window The window that received the event. + * @param[in] codepoint The Unicode code point of the character. + * @param[in] mods Bit field describing which [modifier keys](@ref mods) were + * held down. + * + * @sa @ref input_char + * @sa glfwSetCharModsCallback + * + * @since Added in version 3.1. + * + * @ingroup input + */ +typedef void (* GLFWcharmodsfun)(GLFWwindow*,unsigned int,int); + +/*! @brief The function signature for file drop callbacks. + * + * This is the function signature for file drop callbacks. + * + * @param[in] window The window that received the event. + * @param[in] count The number of dropped files. + * @param[in] paths The UTF-8 encoded file and/or directory path names. + * + * @sa @ref path_drop + * @sa glfwSetDropCallback + * + * @since Added in version 3.1. + * + * @ingroup input + */ +typedef void (* GLFWdropfun)(GLFWwindow*,int,const char**); + +/*! @brief The function signature for monitor configuration callbacks. + * + * This is the function signature for monitor configuration callback functions. + * + * @param[in] monitor The monitor that was connected or disconnected. + * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. + * + * @sa @ref monitor_event + * @sa glfwSetMonitorCallback + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +typedef void (* GLFWmonitorfun)(GLFWmonitor*,int); + +/*! @brief The function signature for joystick configuration callbacks. + * + * This is the function signature for joystick configuration callback + * functions. + * + * @param[in] joy The joystick that was connected or disconnected. + * @param[in] event One of `GLFW_CONNECTED` or `GLFW_DISCONNECTED`. + * + * @sa @ref joystick_event + * @sa glfwSetJoystickCallback + * + * @since Added in version 3.2. + * + * @ingroup input + */ +typedef void (* GLFWjoystickfun)(int,int); + +/*! @brief Video mode type. + * + * This describes a single video mode. + * + * @sa @ref monitor_modes + * @sa glfwGetVideoMode glfwGetVideoModes + * + * @since Added in version 1.0. + * @glfw3 Added refresh rate member. + * + * @ingroup monitor + */ +typedef struct GLFWvidmode +{ + /*! The width, in screen coordinates, of the video mode. + */ + int width; + /*! The height, in screen coordinates, of the video mode. + */ + int height; + /*! The bit depth of the red channel of the video mode. + */ + int redBits; + /*! The bit depth of the green channel of the video mode. + */ + int greenBits; + /*! The bit depth of the blue channel of the video mode. + */ + int blueBits; + /*! The refresh rate, in Hz, of the video mode. + */ + int refreshRate; +} GLFWvidmode; + +/*! @brief Gamma ramp. + * + * This describes the gamma ramp for a monitor. + * + * @sa @ref monitor_gamma + * @sa glfwGetGammaRamp glfwSetGammaRamp + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +typedef struct GLFWgammaramp +{ + /*! An array of value describing the response of the red channel. + */ + unsigned short* red; + /*! An array of value describing the response of the green channel. + */ + unsigned short* green; + /*! An array of value describing the response of the blue channel. + */ + unsigned short* blue; + /*! The number of elements in each array. + */ + unsigned int size; +} GLFWgammaramp; + +/*! @brief Image data. + * + * @sa @ref cursor_custom + * + * @since Added in version 2.1. + * @glfw3 Removed format and bytes-per-pixel members. + */ +typedef struct GLFWimage +{ + /*! The width, in pixels, of this image. + */ + int width; + /*! The height, in pixels, of this image. + */ + int height; + /*! The pixel data of this image, arranged left-to-right, top-to-bottom. + */ + unsigned char* pixels; +} GLFWimage; + + +/************************************************************************* + * GLFW API functions + *************************************************************************/ + +/*! @brief Initializes the GLFW library. + * + * This function initializes the GLFW library. Before most GLFW functions can + * be used, GLFW must be initialized, and before an application terminates GLFW + * should be terminated in order to free any resources allocated during or + * after initialization. + * + * If this function fails, it calls @ref glfwTerminate before returning. If it + * succeeds, you should call @ref glfwTerminate before the application exits. + * + * Additional calls to this function after successful initialization but before + * termination will return `GLFW_TRUE` immediately. + * + * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_PLATFORM_ERROR. + * + * @remark @osx This function will change the current directory of the + * application to the `Contents/Resources` subdirectory of the application's + * bundle, if present. This can be disabled with a + * [compile-time option](@ref compile_options_osx). + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref intro_init + * @sa glfwTerminate + * + * @since Added in version 1.0. + * + * @ingroup init + */ +GLFWAPI int glfwInit(void); + +/*! @brief Terminates the GLFW library. + * + * This function destroys all remaining windows and cursors, restores any + * modified gamma ramps and frees any other allocated resources. Once this + * function is called, you must again call @ref glfwInit successfully before + * you will be able to use most GLFW functions. + * + * If GLFW has been successfully initialized, this function should be called + * before the application exits. If initialization fails, there is no need to + * call this function, as it is called by @ref glfwInit before it returns + * failure. + * + * @errors Possible errors include @ref GLFW_PLATFORM_ERROR. + * + * @remark This function may be called before @ref glfwInit. + * + * @warning The contexts of any remaining windows must not be current on any + * other thread when this function is called. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref intro_init + * @sa glfwInit + * + * @since Added in version 1.0. + * + * @ingroup init + */ +GLFWAPI void glfwTerminate(void); + +/*! @brief Retrieves the version of the GLFW library. + * + * This function retrieves the major, minor and revision numbers of the GLFW + * library. It is intended for when you are using GLFW as a shared library and + * want to ensure that you are using the minimum required version. + * + * Any or all of the version arguments may be `NULL`. + * + * @param[out] major Where to store the major version number, or `NULL`. + * @param[out] minor Where to store the minor version number, or `NULL`. + * @param[out] rev Where to store the revision number, or `NULL`. + * + * @errors None. + * + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref intro_version + * @sa glfwGetVersionString + * + * @since Added in version 1.0. + * + * @ingroup init + */ +GLFWAPI void glfwGetVersion(int* major, int* minor, int* rev); + +/*! @brief Returns a string describing the compile-time configuration. + * + * This function returns the compile-time generated + * [version string](@ref intro_version_string) of the GLFW library binary. It + * describes the version, platform, compiler and any platform-specific + * compile-time options. It should not be confused with the OpenGL or OpenGL + * ES version string, queried with `glGetString`. + * + * __Do not use the version string__ to parse the GLFW library version. The + * @ref glfwGetVersion function provides the version of the running library + * binary in numerical format. + * + * @return The ASCII encoded GLFW version string. + * + * @errors None. + * + * @remark This function may be called before @ref glfwInit. + * + * @pointer_lifetime The returned string is static and compile-time generated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref intro_version + * @sa glfwGetVersion + * + * @since Added in version 3.0. + * + * @ingroup init + */ +GLFWAPI const char* glfwGetVersionString(void); + +/*! @brief Sets the error callback. + * + * This function sets the error callback, which is called with an error code + * and a human-readable description each time a GLFW error occurs. + * + * The error callback is called on the thread where the error occurred. If you + * are using GLFW from multiple threads, your error callback needs to be + * written accordingly. + * + * Because the description string may have been generated specifically for that + * error, it is not guaranteed to be valid after the callback has returned. If + * you wish to use it after the callback returns, you need to make a copy. + * + * Once set, the error callback remains set even after the library has been + * terminated. + * + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set. + * + * @errors None. + * + * @remark This function may be called before @ref glfwInit. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref error_handling + * + * @since Added in version 3.0. + * + * @ingroup init + */ +GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cbfun); + +/*! @brief Returns the currently connected monitors. + * + * This function returns an array of handles for all currently connected + * monitors. The primary monitor is always first in the returned array. If no + * monitors were found, this function returns `NULL`. + * + * @param[out] count Where to store the number of monitors in the returned + * array. This is set to zero if an error occurred. + * @return An array of monitor handles, or `NULL` if no monitors were found or + * if an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is guaranteed to be valid only until the + * monitor configuration changes or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_monitors + * @sa @ref monitor_event + * @sa glfwGetPrimaryMonitor + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI GLFWmonitor** glfwGetMonitors(int* count); + +/*! @brief Returns the primary monitor. + * + * This function returns the primary monitor. This is usually the monitor + * where elements like the task bar or global menu bar are located. + * + * @return The primary monitor, or `NULL` if no monitors were found or if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @remark The primary monitor is always first in the array returned by @ref + * glfwGetMonitors. + * + * @sa @ref monitor_monitors + * @sa glfwGetMonitors + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI GLFWmonitor* glfwGetPrimaryMonitor(void); + +/*! @brief Returns the position of the monitor's viewport on the virtual screen. + * + * This function returns the position, in screen coordinates, of the upper-left + * corner of the specified monitor. + * + * Any or all of the position arguments may be `NULL`. If an error occurs, all + * non-`NULL` position arguments will be set to zero. + * + * @param[in] monitor The monitor to query. + * @param[out] xpos Where to store the monitor x-coordinate, or `NULL`. + * @param[out] ypos Where to store the monitor y-coordinate, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_properties + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos); + +/*! @brief Returns the physical size of the monitor. + * + * This function returns the size, in millimetres, of the display area of the + * specified monitor. + * + * Some systems do not provide accurate monitor size information, either + * because the monitor + * [EDID](https://en.wikipedia.org/wiki/Extended_display_identification_data) + * data is incorrect or because the driver does not report it accurately. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] monitor The monitor to query. + * @param[out] widthMM Where to store the width, in millimetres, of the + * monitor's display area, or `NULL`. + * @param[out] heightMM Where to store the height, in millimetres, of the + * monitor's display area, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark @win32 calculates the returned physical size from the + * current resolution and system DPI instead of querying the monitor EDID data. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_properties + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM); + +/*! @brief Returns the name of the specified monitor. + * + * This function returns a human-readable name, encoded as UTF-8, of the + * specified monitor. The name typically reflects the make and model of the + * monitor and is not guaranteed to be unique among the connected monitors. + * + * @param[in] monitor The monitor to query. + * @return The UTF-8 encoded name of the monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified monitor is + * disconnected or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_properties + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI const char* glfwGetMonitorName(GLFWmonitor* monitor); + +/*! @brief Sets the monitor configuration callback. + * + * This function sets the monitor configuration callback, or removes the + * currently set callback. This is called when a monitor is connected to or + * disconnected from the system. + * + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_event + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun cbfun); + +/*! @brief Returns the available video modes for the specified monitor. + * + * This function returns an array of all video modes supported by the specified + * monitor. The returned array is sorted in ascending order, first by color + * bit depth (the sum of all channel depths) and then by resolution area (the + * product of width and height). + * + * @param[in] monitor The monitor to query. + * @param[out] count Where to store the number of video modes in the returned + * array. This is set to zero if an error occurred. + * @return An array of video modes, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified monitor is + * disconnected, this function is called again for that monitor or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_modes + * @sa glfwGetVideoMode + * + * @since Added in version 1.0. + * @glfw3 Changed to return an array of modes for a specific monitor. + * + * @ingroup monitor + */ +GLFWAPI const GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count); + +/*! @brief Returns the current mode of the specified monitor. + * + * This function returns the current video mode of the specified monitor. If + * you have created a full screen window for that monitor, the return value + * will depend on whether that window is iconified. + * + * @param[in] monitor The monitor to query. + * @return The current mode of the monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified monitor is + * disconnected or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_modes + * @sa glfwGetVideoModes + * + * @since Added in version 3.0. Replaces `glfwGetDesktopMode`. + * + * @ingroup monitor + */ +GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor); + +/*! @brief Generates a gamma ramp and sets it for the specified monitor. + * + * This function generates a 256-element gamma ramp from the specified exponent + * and then calls @ref glfwSetGammaRamp with it. The value must be a finite + * number greater than zero. + * + * @param[in] monitor The monitor whose gamma ramp to set. + * @param[in] gamma The desired exponent. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_gamma + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwSetGamma(GLFWmonitor* monitor, float gamma); + +/*! @brief Returns the current gamma ramp for the specified monitor. + * + * This function returns the current gamma ramp of the specified monitor. + * + * @param[in] monitor The monitor to query. + * @return The current gamma ramp, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned structure and its arrays are allocated and + * freed by GLFW. You should not free them yourself. They are valid until the + * specified monitor is disconnected, this function is called again for that + * monitor or the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_gamma + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI const GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor); + +/*! @brief Sets the current gamma ramp for the specified monitor. + * + * This function sets the current gamma ramp for the specified monitor. The + * original gamma ramp for that monitor is saved by GLFW the first time this + * function is called and is restored by @ref glfwTerminate. + * + * @param[in] monitor The monitor whose gamma ramp to set. + * @param[in] ramp The gamma ramp to use. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark Gamma ramp sizes other than 256 are not supported by all platforms + * or graphics hardware. + * + * @remark @win32 The gamma ramp size must be 256. + * + * @pointer_lifetime The specified gamma ramp is copied before this function + * returns. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref monitor_gamma + * + * @since Added in version 3.0. + * + * @ingroup monitor + */ +GLFWAPI void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp); + +/*! @brief Resets all window hints to their default values. + * + * This function resets all window hints to their + * [default values](@ref window_hints_values). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_hints + * @sa glfwWindowHint + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwDefaultWindowHints(void); + +/*! @brief Sets the specified window hint to the desired value. + * + * This function sets hints for the next call to @ref glfwCreateWindow. The + * hints, once set, retain their values until changed by a call to @ref + * glfwWindowHint or @ref glfwDefaultWindowHints, or until the library is + * terminated. + * + * This function does not check whether the specified hint values are valid. + * If you set hints to invalid values this will instead be reported by the next + * call to @ref glfwCreateWindow. + * + * @param[in] hint The [window hint](@ref window_hints) to set. + * @param[in] value The new value of the window hint. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_hints + * @sa glfwDefaultWindowHints + * + * @since Added in version 3.0. Replaces `glfwOpenWindowHint`. + * + * @ingroup window + */ +GLFWAPI void glfwWindowHint(int hint, int value); + +/*! @brief Creates a window and its associated context. + * + * This function creates a window and its associated OpenGL or OpenGL ES + * context. Most of the options controlling how the window and its context + * should be created are specified with [window hints](@ref window_hints). + * + * Successful creation does not change which context is current. Before you + * can use the newly created context, you need to + * [make it current](@ref context_current). For information about the `share` + * parameter, see @ref context_sharing. + * + * The created window, framebuffer and context may differ from what you + * requested, as not all parameters and hints are + * [hard constraints](@ref window_hints_hard). This includes the size of the + * window, especially for full screen windows. To query the actual attributes + * of the created window, framebuffer and context, see @ref + * glfwGetWindowAttrib, @ref glfwGetWindowSize and @ref glfwGetFramebufferSize. + * + * To create a full screen window, you need to specify the monitor the window + * will cover. If no monitor is specified, the window will be windowed mode. + * Unless you have a way for the user to choose a specific monitor, it is + * recommended that you pick the primary monitor. For more information on how + * to query connected monitors, see @ref monitor_monitors. + * + * For full screen windows, the specified size becomes the resolution of the + * window's _desired video mode_. As long as a full screen window is not + * iconified, the supported video mode most closely matching the desired video + * mode is set for the specified monitor. For more information about full + * screen windows, including the creation of so called _windowed full screen_ + * or _borderless full screen_ windows, see @ref window_windowed_full_screen. + * + * By default, newly created windows use the placement recommended by the + * window system. To create the window at a specific position, make it + * initially invisible using the [GLFW_VISIBLE](@ref window_hints_wnd) window + * hint, set its [position](@ref window_pos) and then [show](@ref window_hide) + * it. + * + * As long as at least one full screen window is not iconified, the screensaver + * is prohibited from starting. + * + * Window systems put limits on window sizes. Very large or very small window + * dimensions may be overridden by the window system on creation. Check the + * actual [size](@ref window_size) after creation. + * + * The [swap interval](@ref buffer_swap) is not set during window creation and + * the initial value may vary depending on driver settings and defaults. + * + * @param[in] width The desired width, in screen coordinates, of the window. + * This must be greater than zero. + * @param[in] height The desired height, in screen coordinates, of the window. + * This must be greater than zero. + * @param[in] title The initial, UTF-8 encoded window title. + * @param[in] monitor The monitor to use for full screen mode, or `NULL` for + * windowed mode. + * @param[in] share The window whose context to share resources with, or `NULL` + * to not share resources. + * @return The handle of the created window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM, @ref GLFW_INVALID_VALUE, @ref GLFW_API_UNAVAILABLE, @ref + * GLFW_VERSION_UNAVAILABLE, @ref GLFW_FORMAT_UNAVAILABLE and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @win32 Window creation will fail if the Microsoft GDI software + * OpenGL implementation is the only one available. + * + * @remark @win32 If the executable has an icon resource named `GLFW_ICON,` it + * will be set as the initial icon for the window. If no such icon is present, + * the `IDI_WINLOGO` icon will be used instead. To set a different icon, see + * @ref glfwSetWindowIcon. + * + * @remark @win32 The context to share resources with must not be current on + * any other thread. + * + * @remark @osx The GLFW window has no icon, as it is not a document + * window, but the dock icon will be the same as the application bundle's icon. + * For more information on bundles, see the + * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) + * in the Mac Developer Library. + * + * @remark @osx The first time a window is created the menu bar is populated + * with common commands like Hide, Quit and About. The About entry opens + * a minimal about dialog with information from the application's bundle. The + * menu bar can be disabled with a + * [compile-time option](@ref compile_options_osx). + * + * @remark @osx On OS X 10.10 and later the window frame will not be rendered + * at full resolution on Retina displays unless the `NSHighResolutionCapable` + * key is enabled in the application bundle's `Info.plist`. For more + * information, see + * [High Resolution Guidelines for OS X](https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html) + * in the Mac Developer Library. The GLFW test and example programs use + * a custom `Info.plist` template for this, which can be found as + * `CMake/MacOSXBundleInfo.plist.in` in the source tree. + * + * @remark @x11 Some window managers will not respect the placement of + * initially hidden windows. + * + * @remark @x11 Due to the asynchronous nature of X11, it may take a moment for + * a window to reach its requested state. This means you may not be able to + * query the final size, position or other attributes directly after window + * creation. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_creation + * @sa glfwDestroyWindow + * + * @since Added in version 3.0. Replaces `glfwOpenWindow`. + * + * @ingroup window + */ +GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, const char* title, GLFWmonitor* monitor, GLFWwindow* share); + +/*! @brief Destroys the specified window and its context. + * + * This function destroys the specified window and its context. On calling + * this function, no further callbacks will be called for that window. + * + * If the context of the specified window is current on the main thread, it is + * detached before being destroyed. + * + * @param[in] window The window to destroy. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @note The context of the specified window must not be current on any other + * thread when this function is called. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_creation + * @sa glfwCreateWindow + * + * @since Added in version 3.0. Replaces `glfwCloseWindow`. + * + * @ingroup window + */ +GLFWAPI void glfwDestroyWindow(GLFWwindow* window); + +/*! @brief Checks the close flag of the specified window. + * + * This function returns the value of the close flag of the specified window. + * + * @param[in] window The window to query. + * @return The value of the close flag. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref window_close + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI int glfwWindowShouldClose(GLFWwindow* window); + +/*! @brief Sets the close flag of the specified window. + * + * This function sets the value of the close flag of the specified window. + * This can be used to override the user's attempt to close the window, or + * to signal that it should be closed. + * + * @param[in] window The window whose flag to change. + * @param[in] value The new value. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref window_close + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value); + +/*! @brief Sets the title of the specified window. + * + * This function sets the window title, encoded as UTF-8, of the specified + * window. + * + * @param[in] window The window whose title to change. + * @param[in] title The UTF-8 encoded window title. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @remark @osx The window title will not be updated until the next time you + * process events. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_title + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title); + +/*! @brief Sets the icon for the specified window. + * + * This function sets the icon of the specified window. If passed an array of + * candidate images, those of or closest to the sizes desired by the system are + * selected. If no images are specified, the window reverts to its default + * icon. + * + * The desired image sizes varies depending on platform and system settings. + * The selected images will be rescaled as needed. Good sizes include 16x16, + * 32x32 and 48x48. + * + * @param[in] window The window whose icon to set. + * @param[in] count The number of images in the specified array, or zero to + * revert to the default window icon. + * @param[in] images The images to create the icon from. This is ignored if + * count is zero. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The specified image data is copied before this function + * returns. + * + * @remark @osx The GLFW window has no icon, as it is not a document + * window, so this function does nothing. The dock icon will be the same as + * the application bundle's icon. For more information on bundles, see the + * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) + * in the Mac Developer Library. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_icon + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowIcon(GLFWwindow* window, int count, const GLFWimage* images); + +/*! @brief Retrieves the position of the client area of the specified window. + * + * This function retrieves the position, in screen coordinates, of the + * upper-left corner of the client area of the specified window. + * + * Any or all of the position arguments may be `NULL`. If an error occurs, all + * non-`NULL` position arguments will be set to zero. + * + * @param[in] window The window to query. + * @param[out] xpos Where to store the x-coordinate of the upper-left corner of + * the client area, or `NULL`. + * @param[out] ypos Where to store the y-coordinate of the upper-left corner of + * the client area, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_pos + * @sa glfwSetWindowPos + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos); + +/*! @brief Sets the position of the client area of the specified window. + * + * This function sets the position, in screen coordinates, of the upper-left + * corner of the client area of the specified windowed mode window. If the + * window is a full screen window, this function does nothing. + * + * __Do not use this function__ to move an already visible window unless you + * have very good reasons for doing so, as it will confuse and annoy the user. + * + * The window manager may put limits on what positions are allowed. GLFW + * cannot and should not override these limits. + * + * @param[in] window The window to query. + * @param[in] xpos The x-coordinate of the upper-left corner of the client area. + * @param[in] ypos The y-coordinate of the upper-left corner of the client area. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_pos + * @sa glfwGetWindowPos + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos); + +/*! @brief Retrieves the size of the client area of the specified window. + * + * This function retrieves the size, in screen coordinates, of the client area + * of the specified window. If you wish to retrieve the size of the + * framebuffer of the window in pixels, see @ref glfwGetFramebufferSize. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] window The window whose size to retrieve. + * @param[out] width Where to store the width, in screen coordinates, of the + * client area, or `NULL`. + * @param[out] height Where to store the height, in screen coordinates, of the + * client area, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_size + * @sa glfwSetWindowSize + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwGetWindowSize(GLFWwindow* window, int* width, int* height); + +/*! @brief Sets the size limits of the specified window. + * + * This function sets the size limits of the client area of the specified + * window. If the window is full screen, the size limits only take effect + * once it is made windowed. If the window is not resizable, this function + * does nothing. + * + * The size limits are applied immediately to a windowed mode window and may + * cause it to be resized. + * + * The maximum dimensions must be greater than or equal to the minimum + * dimensions and all must be greater than or equal to zero. + * + * @param[in] window The window to set limits for. + * @param[in] minwidth The minimum width, in screen coordinates, of the client + * area, or `GLFW_DONT_CARE`. + * @param[in] minheight The minimum height, in screen coordinates, of the + * client area, or `GLFW_DONT_CARE`. + * @param[in] maxwidth The maximum width, in screen coordinates, of the client + * area, or `GLFW_DONT_CARE`. + * @param[in] maxheight The maximum height, in screen coordinates, of the + * client area, or `GLFW_DONT_CARE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @remark If you set size limits and an aspect ratio that conflict, the + * results are undefined. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_sizelimits + * @sa glfwSetWindowAspectRatio + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowSizeLimits(GLFWwindow* window, int minwidth, int minheight, int maxwidth, int maxheight); + +/*! @brief Sets the aspect ratio of the specified window. + * + * This function sets the required aspect ratio of the client area of the + * specified window. If the window is full screen, the aspect ratio only takes + * effect once it is made windowed. If the window is not resizable, this + * function does nothing. + * + * The aspect ratio is specified as a numerator and a denominator and both + * values must be greater than zero. For example, the common 16:9 aspect ratio + * is specified as 16 and 9, respectively. + * + * If the numerator and denominator is set to `GLFW_DONT_CARE` then the aspect + * ratio limit is disabled. + * + * The aspect ratio is applied immediately to a windowed mode window and may + * cause it to be resized. + * + * @param[in] window The window to set limits for. + * @param[in] numer The numerator of the desired aspect ratio, or + * `GLFW_DONT_CARE`. + * @param[in] denom The denominator of the desired aspect ratio, or + * `GLFW_DONT_CARE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * + * @remark If you set size limits and an aspect ratio that conflict, the + * results are undefined. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_sizelimits + * @sa glfwSetWindowSizeLimits + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom); + +/*! @brief Sets the size of the client area of the specified window. + * + * This function sets the size, in screen coordinates, of the client area of + * the specified window. + * + * For full screen windows, this function updates the resolution of its desired + * video mode and switches to the video mode closest to it, without affecting + * the window's context. As the context is unaffected, the bit depths of the + * framebuffer remain unchanged. + * + * If you wish to update the refresh rate of the desired video mode in addition + * to its resolution, see @ref glfwSetWindowMonitor. + * + * The window manager may put limits on what sizes are allowed. GLFW cannot + * and should not override these limits. + * + * @param[in] window The window to resize. + * @param[in] width The desired width, in screen coordinates, of the window + * client area. + * @param[in] height The desired height, in screen coordinates, of the window + * client area. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_size + * @sa glfwGetWindowSize + * @sa glfwSetWindowMonitor + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowSize(GLFWwindow* window, int width, int height); + +/*! @brief Retrieves the size of the framebuffer of the specified window. + * + * This function retrieves the size, in pixels, of the framebuffer of the + * specified window. If you wish to retrieve the size of the window in screen + * coordinates, see @ref glfwGetWindowSize. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] window The window whose framebuffer to query. + * @param[out] width Where to store the width, in pixels, of the framebuffer, + * or `NULL`. + * @param[out] height Where to store the height, in pixels, of the framebuffer, + * or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_fbsize + * @sa glfwSetFramebufferSizeCallback + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height); + +/*! @brief Retrieves the size of the frame of the window. + * + * This function retrieves the size, in screen coordinates, of each edge of the + * frame of the specified window. This size includes the title bar, if the + * window has one. The size of the frame may vary depending on the + * [window-related hints](@ref window_hints_wnd) used to create it. + * + * Because this function retrieves the size of each window frame edge and not + * the offset along a particular coordinate axis, the retrieved values will + * always be zero or positive. + * + * Any or all of the size arguments may be `NULL`. If an error occurs, all + * non-`NULL` size arguments will be set to zero. + * + * @param[in] window The window whose frame size to query. + * @param[out] left Where to store the size, in screen coordinates, of the left + * edge of the window frame, or `NULL`. + * @param[out] top Where to store the size, in screen coordinates, of the top + * edge of the window frame, or `NULL`. + * @param[out] right Where to store the size, in screen coordinates, of the + * right edge of the window frame, or `NULL`. + * @param[out] bottom Where to store the size, in screen coordinates, of the + * bottom edge of the window frame, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_size + * + * @since Added in version 3.1. + * + * @ingroup window + */ +GLFWAPI void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom); + +/*! @brief Iconifies the specified window. + * + * This function iconifies (minimizes) the specified window if it was + * previously restored. If the window is already iconified, this function does + * nothing. + * + * If the specified window is a full screen window, the original monitor + * resolution is restored until the window is restored. + * + * @param[in] window The window to iconify. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_iconify + * @sa glfwRestoreWindow + * @sa glfwMaximizeWindow + * + * @since Added in version 2.1. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwIconifyWindow(GLFWwindow* window); + +/*! @brief Restores the specified window. + * + * This function restores the specified window if it was previously iconified + * (minimized) or maximized. If the window is already restored, this function + * does nothing. + * + * If the specified window is a full screen window, the resolution chosen for + * the window is restored on the selected monitor. + * + * @param[in] window The window to restore. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_iconify + * @sa glfwIconifyWindow + * @sa glfwMaximizeWindow + * + * @since Added in version 2.1. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwRestoreWindow(GLFWwindow* window); + +/*! @brief Maximizes the specified window. + * + * This function maximizes the specified window if it was previously not + * maximized. If the window is already maximized, this function does nothing. + * + * If the specified window is a full screen window, this function does nothing. + * + * @param[in] window The window to maximize. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @par Thread Safety + * This function may only be called from the main thread. + * + * @sa @ref window_iconify + * @sa glfwIconifyWindow + * @sa glfwRestoreWindow + * + * @since Added in GLFW 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwMaximizeWindow(GLFWwindow* window); + +/*! @brief Makes the specified window visible. + * + * This function makes the specified window visible if it was previously + * hidden. If the window is already visible or is in full screen mode, this + * function does nothing. + * + * @param[in] window The window to make visible. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_hide + * @sa glfwHideWindow + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwShowWindow(GLFWwindow* window); + +/*! @brief Hides the specified window. + * + * This function hides the specified window if it was previously visible. If + * the window is already hidden or is in full screen mode, this function does + * nothing. + * + * @param[in] window The window to hide. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_hide + * @sa glfwShowWindow + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwHideWindow(GLFWwindow* window); + +/*! @brief Brings the specified window to front and sets input focus. + * + * This function brings the specified window to front and sets input focus. + * The window should already be visible and not iconified. + * + * By default, both windowed and full screen mode windows are focused when + * initially created. Set the [GLFW_FOCUSED](@ref window_hints_wnd) to disable + * this behavior. + * + * __Do not use this function__ to steal focus from other applications unless + * you are certain that is what the user wants. Focus stealing can be + * extremely disruptive. + * + * @param[in] window The window to give input focus. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_focus + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwFocusWindow(GLFWwindow* window); + +/*! @brief Returns the monitor that the window uses for full screen mode. + * + * This function returns the handle of the monitor that the specified window is + * in full screen on. + * + * @param[in] window The window to query. + * @return The monitor, or `NULL` if the window is in windowed mode or an error + * occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_monitor + * @sa glfwSetWindowMonitor + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window); + +/*! @brief Sets the mode, monitor, video mode and placement of a window. + * + * This function sets the monitor that the window uses for full screen mode or, + * if the monitor is `NULL`, makes it windowed mode. + * + * When setting a monitor, this function updates the width, height and refresh + * rate of the desired video mode and switches to the video mode closest to it. + * The window position is ignored when setting a monitor. + * + * When the monitor is `NULL`, the position, width and height are used to + * place the window client area. The refresh rate is ignored when no monitor + * is specified. + * + * If you only wish to update the resolution of a full screen window or the + * size of a windowed mode window, see @ref glfwSetWindowSize. + * + * When a window transitions from full screen to windowed mode, this function + * restores any previous window settings such as whether it is decorated, + * floating, resizable, has size or aspect ratio limits, etc.. + * + * @param[in] window The window whose monitor, size or video mode to set. + * @param[in] monitor The desired monitor, or `NULL` to set windowed mode. + * @param[in] xpos The desired x-coordinate of the upper-left corner of the + * client area. + * @param[in] ypos The desired y-coordinate of the upper-left corner of the + * client area. + * @param[in] width The desired with, in screen coordinates, of the client area + * or video mode. + * @param[in] height The desired height, in screen coordinates, of the client + * area or video mode. + * @param[in] refreshRate The desired refresh rate, in Hz, of the video mode, + * or `GLFW_DONT_CARE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_monitor + * @sa @ref window_full_screen + * @sa glfwGetWindowMonitor + * @sa glfwSetWindowSize + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowMonitor(GLFWwindow* window, GLFWmonitor* monitor, int xpos, int ypos, int width, int height, int refreshRate); + +/*! @brief Returns an attribute of the specified window. + * + * This function returns the value of an attribute of the specified window or + * its OpenGL or OpenGL ES context. + * + * @param[in] window The window to query. + * @param[in] attrib The [window attribute](@ref window_attribs) whose value to + * return. + * @return The value of the attribute, or zero if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @remark Framebuffer related hints are not window attributes. See @ref + * window_attribs_fb for more information. + * + * @remark Zero is a valid value for many window and context related + * attributes so you cannot use a return value of zero as an indication of + * errors. However, this function should not fail as long as it is passed + * valid arguments and the library has been [initialized](@ref intro_init). + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_attribs + * + * @since Added in version 3.0. Replaces `glfwGetWindowParam` and + * `glfwGetGLVersion`. + * + * @ingroup window + */ +GLFWAPI int glfwGetWindowAttrib(GLFWwindow* window, int attrib); + +/*! @brief Sets the user pointer of the specified window. + * + * This function sets the user-defined pointer of the specified window. The + * current value is retained until the window is destroyed. The initial value + * is `NULL`. + * + * @param[in] window The window whose pointer to set. + * @param[in] pointer The new value. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref window_userptr + * @sa glfwGetWindowUserPointer + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer); + +/*! @brief Returns the user pointer of the specified window. + * + * This function returns the current value of the user-defined pointer of the + * specified window. The initial value is `NULL`. + * + * @param[in] window The window whose pointer to return. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @sa @ref window_userptr + * @sa glfwSetWindowUserPointer + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI void* glfwGetWindowUserPointer(GLFWwindow* window); + +/*! @brief Sets the position callback for the specified window. + * + * This function sets the position callback of the specified window, which is + * called when the window is moved. The callback is provided with the screen + * position of the upper-left corner of the client area of the window. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_pos + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun cbfun); + +/*! @brief Sets the size callback for the specified window. + * + * This function sets the size callback of the specified window, which is + * called when the window is resized. The callback is provided with the size, + * in screen coordinates, of the client area of the window. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_size + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup window + */ +GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun cbfun); + +/*! @brief Sets the close callback for the specified window. + * + * This function sets the close callback of the specified window, which is + * called when the user attempts to close the window, for example by clicking + * the close widget in the title bar. + * + * The close flag is set before this callback is called, but you can modify it + * at any time with @ref glfwSetWindowShouldClose. + * + * The close callback is not triggered by @ref glfwDestroyWindow. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark @osx Selecting Quit from the application menu will trigger the close + * callback for all windows. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_close + * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup window + */ +GLFWAPI GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun cbfun); + +/*! @brief Sets the refresh callback for the specified window. + * + * This function sets the refresh callback of the specified window, which is + * called when the client area of the window needs to be redrawn, for example + * if the window has been exposed after having been covered by another window. + * + * On compositing window systems such as Aero, Compiz or Aqua, where the window + * contents are saved off-screen, this callback may be called only very + * infrequently or never at all. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_refresh + * + * @since Added in version 2.5. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup window + */ +GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun cbfun); + +/*! @brief Sets the focus callback for the specified window. + * + * This function sets the focus callback of the specified window, which is + * called when the window gains or loses input focus. + * + * After the focus callback is called for a window that lost input focus, + * synthetic key and mouse button release events will be generated for all such + * that had been pressed. For more information, see @ref glfwSetKeyCallback + * and @ref glfwSetMouseButtonCallback. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_focus + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun cbfun); + +/*! @brief Sets the iconify callback for the specified window. + * + * This function sets the iconification callback of the specified window, which + * is called when the window is iconified or restored. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_iconify + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GLFWwindowiconifyfun cbfun); + +/*! @brief Sets the framebuffer resize callback for the specified window. + * + * This function sets the framebuffer resize callback of the specified window, + * which is called when the framebuffer of the specified window is resized. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_fbsize + * + * @since Added in version 3.0. + * + * @ingroup window + */ +GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow* window, GLFWframebuffersizefun cbfun); + +/*! @brief Processes all pending events. + * + * This function processes only those events that are already in the event + * queue and then returns immediately. Processing events will cause the window + * and input callbacks associated with those events to be called. + * + * On some platforms, a window move, resize or menu operation will cause event + * processing to block. This is due to how event processing is designed on + * those platforms. You can use the + * [window refresh callback](@ref window_refresh) to redraw the contents of + * your window when necessary during such operations. + * + * On some platforms, certain events are sent directly to the application + * without going through the event queue, causing callbacks to be called + * outside of a call to one of the event processing functions. + * + * Event processing is not required for joystick input to work. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref events + * @sa glfwWaitEvents + * @sa glfwWaitEventsTimeout + * + * @since Added in version 1.0. + * + * @ingroup window + */ +GLFWAPI void glfwPollEvents(void); + +/*! @brief Waits until events are queued and processes them. + * + * This function puts the calling thread to sleep until at least one event is + * available in the event queue. Once one or more events are available, + * it behaves exactly like @ref glfwPollEvents, i.e. the events in the queue + * are processed and the function then returns immediately. Processing events + * will cause the window and input callbacks associated with those events to be + * called. + * + * Since not all events are associated with callbacks, this function may return + * without a callback having been called even if you are monitoring all + * callbacks. + * + * On some platforms, a window move, resize or menu operation will cause event + * processing to block. This is due to how event processing is designed on + * those platforms. You can use the + * [window refresh callback](@ref window_refresh) to redraw the contents of + * your window when necessary during such operations. + * + * On some platforms, certain callbacks may be called outside of a call to one + * of the event processing functions. + * + * If no windows exist, this function returns immediately. For synchronization + * of threads in applications that do not create windows, use your threading + * library of choice. + * + * Event processing is not required for joystick input to work. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref events + * @sa glfwPollEvents + * @sa glfwWaitEventsTimeout + * + * @since Added in version 2.5. + * + * @ingroup window + */ +GLFWAPI void glfwWaitEvents(void); + +/*! @brief Waits with timeout until events are queued and processes them. + * + * This function puts the calling thread to sleep until at least one event is + * available in the event queue, or until the specified timeout is reached. If + * one or more events are available, it behaves exactly like @ref + * glfwPollEvents, i.e. the events in the queue are processed and the function + * then returns immediately. Processing events will cause the window and input + * callbacks associated with those events to be called. + * + * The timeout value must be a positive finite number. + * + * Since not all events are associated with callbacks, this function may return + * without a callback having been called even if you are monitoring all + * callbacks. + * + * On some platforms, a window move, resize or menu operation will cause event + * processing to block. This is due to how event processing is designed on + * those platforms. You can use the + * [window refresh callback](@ref window_refresh) to redraw the contents of + * your window when necessary during such operations. + * + * On some platforms, certain callbacks may be called outside of a call to one + * of the event processing functions. + * + * If no windows exist, this function returns immediately. For synchronization + * of threads in applications that do not create windows, use your threading + * library of choice. + * + * Event processing is not required for joystick input to work. + * + * @param[in] timeout The maximum amount of time, in seconds, to wait. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref events + * @sa glfwPollEvents + * @sa glfwWaitEvents + * + * @since Added in version 3.2. + * + * @ingroup window + */ +GLFWAPI void glfwWaitEventsTimeout(double timeout); + +/*! @brief Posts an empty event to the event queue. + * + * This function posts an empty event from the current thread to the event + * queue, causing @ref glfwWaitEvents to return. + * + * If no windows exist, this function returns immediately. For synchronization + * of threads in applications that do not create windows, use your threading + * library of choice. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref events + * @sa glfwWaitEvents + * + * @since Added in version 3.1. + * + * @ingroup window + */ +GLFWAPI void glfwPostEmptyEvent(void); + +/*! @brief Returns the value of an input option for the specified window. + * + * This function returns the value of an input option for the specified window. + * The mode must be one of `GLFW_CURSOR`, `GLFW_STICKY_KEYS` or + * `GLFW_STICKY_MOUSE_BUTTONS`. + * + * @param[in] window The window to query. + * @param[in] mode One of `GLFW_CURSOR`, `GLFW_STICKY_KEYS` or + * `GLFW_STICKY_MOUSE_BUTTONS`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa glfwSetInputMode + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode); + +/*! @brief Sets an input option for the specified window. + * + * This function sets an input mode option for the specified window. The mode + * must be one of `GLFW_CURSOR`, `GLFW_STICKY_KEYS` or + * `GLFW_STICKY_MOUSE_BUTTONS`. + * + * If the mode is `GLFW_CURSOR`, the value must be one of the following cursor + * modes: + * - `GLFW_CURSOR_NORMAL` makes the cursor visible and behaving normally. + * - `GLFW_CURSOR_HIDDEN` makes the cursor invisible when it is over the client + * area of the window but does not restrict the cursor from leaving. + * - `GLFW_CURSOR_DISABLED` hides and grabs the cursor, providing virtual + * and unlimited cursor movement. This is useful for implementing for + * example 3D camera controls. + * + * If the mode is `GLFW_STICKY_KEYS`, the value must be either `GLFW_TRUE` to + * enable sticky keys, or `GLFW_FALSE` to disable it. If sticky keys are + * enabled, a key press will ensure that @ref glfwGetKey returns `GLFW_PRESS` + * the next time it is called even if the key had been released before the + * call. This is useful when you are only interested in whether keys have been + * pressed but not when or in which order. + * + * If the mode is `GLFW_STICKY_MOUSE_BUTTONS`, the value must be either + * `GLFW_TRUE` to enable sticky mouse buttons, or `GLFW_FALSE` to disable it. + * If sticky mouse buttons are enabled, a mouse button press will ensure that + * @ref glfwGetMouseButton returns `GLFW_PRESS` the next time it is called even + * if the mouse button had been released before the call. This is useful when + * you are only interested in whether mouse buttons have been pressed but not + * when or in which order. + * + * @param[in] window The window whose input mode to set. + * @param[in] mode One of `GLFW_CURSOR`, `GLFW_STICKY_KEYS` or + * `GLFW_STICKY_MOUSE_BUTTONS`. + * @param[in] value The new value of the specified input mode. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa glfwGetInputMode + * + * @since Added in version 3.0. Replaces `glfwEnable` and `glfwDisable`. + * + * @ingroup input + */ +GLFWAPI void glfwSetInputMode(GLFWwindow* window, int mode, int value); + +/*! @brief Returns the localized name of the specified printable key. + * + * This function returns the localized name of the specified printable key. + * This is intended for displaying key bindings to the user. + * + * If the key is `GLFW_KEY_UNKNOWN`, the scancode is used instead, otherwise + * the scancode is ignored. If a non-printable key or (if the key is + * `GLFW_KEY_UNKNOWN`) a scancode that maps to a non-printable key is + * specified, this function returns `NULL`. + * + * This behavior allows you to pass in the arguments passed to the + * [key callback](@ref input_key) without modification. + * + * The printable keys are: + * - `GLFW_KEY_APOSTROPHE` + * - `GLFW_KEY_COMMA` + * - `GLFW_KEY_MINUS` + * - `GLFW_KEY_PERIOD` + * - `GLFW_KEY_SLASH` + * - `GLFW_KEY_SEMICOLON` + * - `GLFW_KEY_EQUAL` + * - `GLFW_KEY_LEFT_BRACKET` + * - `GLFW_KEY_RIGHT_BRACKET` + * - `GLFW_KEY_BACKSLASH` + * - `GLFW_KEY_WORLD_1` + * - `GLFW_KEY_WORLD_2` + * - `GLFW_KEY_0` to `GLFW_KEY_9` + * - `GLFW_KEY_A` to `GLFW_KEY_Z` + * - `GLFW_KEY_KP_0` to `GLFW_KEY_KP_9` + * - `GLFW_KEY_KP_DECIMAL` + * - `GLFW_KEY_KP_DIVIDE` + * - `GLFW_KEY_KP_MULTIPLY` + * - `GLFW_KEY_KP_SUBTRACT` + * - `GLFW_KEY_KP_ADD` + * - `GLFW_KEY_KP_EQUAL` + * + * @param[in] key The key to query, or `GLFW_KEY_UNKNOWN`. + * @param[in] scancode The scancode of the key to query. + * @return The localized name of the key, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the next call to @ref + * glfwGetKeyName, or until the library is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_key_name + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetKeyName(int key, int scancode); + +/*! @brief Returns the last reported state of a keyboard key for the specified + * window. + * + * This function returns the last state reported for the specified key to the + * specified window. The returned state is one of `GLFW_PRESS` or + * `GLFW_RELEASE`. The higher-level action `GLFW_REPEAT` is only reported to + * the key callback. + * + * If the `GLFW_STICKY_KEYS` input mode is enabled, this function returns + * `GLFW_PRESS` the first time you call it for a key that was pressed, even if + * that key has already been released. + * + * The key functions deal with physical keys, with [key tokens](@ref keys) + * named after their use on the standard US keyboard layout. If you want to + * input text, use the Unicode character callback instead. + * + * The [modifier key bit masks](@ref mods) are not key tokens and cannot be + * used with this function. + * + * __Do not use this function__ to implement [text input](@ref input_char). + * + * @param[in] window The desired window. + * @param[in] key The desired [keyboard key](@ref keys). `GLFW_KEY_UNKNOWN` is + * not a valid key for this function. + * @return One of `GLFW_PRESS` or `GLFW_RELEASE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_key + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup input + */ +GLFWAPI int glfwGetKey(GLFWwindow* window, int key); + +/*! @brief Returns the last reported state of a mouse button for the specified + * window. + * + * This function returns the last state reported for the specified mouse button + * to the specified window. The returned state is one of `GLFW_PRESS` or + * `GLFW_RELEASE`. + * + * If the `GLFW_STICKY_MOUSE_BUTTONS` input mode is enabled, this function + * `GLFW_PRESS` the first time you call it for a mouse button that was pressed, + * even if that mouse button has already been released. + * + * @param[in] window The desired window. + * @param[in] button The desired [mouse button](@ref buttons). + * @return One of `GLFW_PRESS` or `GLFW_RELEASE`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_mouse_button + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup input + */ +GLFWAPI int glfwGetMouseButton(GLFWwindow* window, int button); + +/*! @brief Retrieves the position of the cursor relative to the client area of + * the window. + * + * This function returns the position of the cursor, in screen coordinates, + * relative to the upper-left corner of the client area of the specified + * window. + * + * If the cursor is disabled (with `GLFW_CURSOR_DISABLED`) then the cursor + * position is unbounded and limited only by the minimum and maximum values of + * a `double`. + * + * The coordinate can be converted to their integer equivalents with the + * `floor` function. Casting directly to an integer type works for positive + * coordinates, but fails for negative ones. + * + * Any or all of the position arguments may be `NULL`. If an error occurs, all + * non-`NULL` position arguments will be set to zero. + * + * @param[in] window The desired window. + * @param[out] xpos Where to store the cursor x-coordinate, relative to the + * left edge of the client area, or `NULL`. + * @param[out] ypos Where to store the cursor y-coordinate, relative to the to + * top edge of the client area, or `NULL`. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_pos + * @sa glfwSetCursorPos + * + * @since Added in version 3.0. Replaces `glfwGetMousePos`. + * + * @ingroup input + */ +GLFWAPI void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos); + +/*! @brief Sets the position of the cursor, relative to the client area of the + * window. + * + * This function sets the position, in screen coordinates, of the cursor + * relative to the upper-left corner of the client area of the specified + * window. The window must have input focus. If the window does not have + * input focus when this function is called, it fails silently. + * + * __Do not use this function__ to implement things like camera controls. GLFW + * already provides the `GLFW_CURSOR_DISABLED` cursor mode that hides the + * cursor, transparently re-centers it and provides unconstrained cursor + * motion. See @ref glfwSetInputMode for more information. + * + * If the cursor mode is `GLFW_CURSOR_DISABLED` then the cursor position is + * unconstrained and limited only by the minimum and maximum values of + * a `double`. + * + * @param[in] window The desired window. + * @param[in] xpos The desired x-coordinate, relative to the left edge of the + * client area. + * @param[in] ypos The desired y-coordinate, relative to the top edge of the + * client area. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_pos + * @sa glfwGetCursorPos + * + * @since Added in version 3.0. Replaces `glfwSetMousePos`. + * + * @ingroup input + */ +GLFWAPI void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos); + +/*! @brief Creates a custom cursor. + * + * Creates a new custom cursor image that can be set for a window with @ref + * glfwSetCursor. The cursor can be destroyed with @ref glfwDestroyCursor. + * Any remaining cursors are destroyed by @ref glfwTerminate. + * + * The pixels are 32-bit, little-endian, non-premultiplied RGBA, i.e. eight + * bits per channel. They are arranged canonically as packed sequential rows, + * starting from the top-left corner. + * + * The cursor hotspot is specified in pixels, relative to the upper-left corner + * of the cursor image. Like all other coordinate systems in GLFW, the X-axis + * points to the right and the Y-axis points down. + * + * @param[in] image The desired cursor image. + * @param[in] xhot The desired x-coordinate, in pixels, of the cursor hotspot. + * @param[in] yhot The desired y-coordinate, in pixels, of the cursor hotspot. + * @return The handle of the created cursor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The specified image data is copied before this function + * returns. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_object + * @sa glfwDestroyCursor + * @sa glfwCreateStandardCursor + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWcursor* glfwCreateCursor(const GLFWimage* image, int xhot, int yhot); + +/*! @brief Creates a cursor with a standard shape. + * + * Returns a cursor with a [standard shape](@ref shapes), that can be set for + * a window with @ref glfwSetCursor. + * + * @param[in] shape One of the [standard shapes](@ref shapes). + * @return A new cursor ready to use or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_object + * @sa glfwCreateCursor + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWcursor* glfwCreateStandardCursor(int shape); + +/*! @brief Destroys a cursor. + * + * This function destroys a cursor previously created with @ref + * glfwCreateCursor. Any remaining cursors will be destroyed by @ref + * glfwTerminate. + * + * @param[in] cursor The cursor object to destroy. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @reentrancy This function must not be called from a callback. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_object + * @sa glfwCreateCursor + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI void glfwDestroyCursor(GLFWcursor* cursor); + +/*! @brief Sets the cursor for the window. + * + * This function sets the cursor image to be used when the cursor is over the + * client area of the specified window. The set cursor will only be visible + * when the [cursor mode](@ref cursor_mode) of the window is + * `GLFW_CURSOR_NORMAL`. + * + * On some platforms, the set cursor may not be visible unless the window also + * has input focus. + * + * @param[in] window The window to set the cursor for. + * @param[in] cursor The cursor to set, or `NULL` to switch back to the default + * arrow cursor. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_object + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor); + +/*! @brief Sets the key callback. + * + * This function sets the key callback of the specified window, which is called + * when a key is pressed, repeated or released. + * + * The key functions deal with physical keys, with layout independent + * [key tokens](@ref keys) named after their values in the standard US keyboard + * layout. If you want to input text, use the + * [character callback](@ref glfwSetCharCallback) instead. + * + * When a window loses input focus, it will generate synthetic key release + * events for all pressed keys. You can tell these events from user-generated + * events by the fact that the synthetic ones are generated after the focus + * loss event has been processed, i.e. after the + * [window focus callback](@ref glfwSetWindowFocusCallback) has been called. + * + * The scancode of a key is specific to that platform or sometimes even to that + * machine. Scancodes are intended to allow users to bind keys that don't have + * a GLFW key token. Such keys have `key` set to `GLFW_KEY_UNKNOWN`, their + * state is not saved and so it cannot be queried with @ref glfwGetKey. + * + * Sometimes GLFW needs to generate synthetic key events, in which case the + * scancode may be zero. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new key callback, or `NULL` to remove the currently + * set callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_key + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup input + */ +GLFWAPI GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun cbfun); + +/*! @brief Sets the Unicode character callback. + * + * This function sets the character callback of the specified window, which is + * called when a Unicode character is input. + * + * The character callback is intended for Unicode text input. As it deals with + * characters, it is keyboard layout dependent, whereas the + * [key callback](@ref glfwSetKeyCallback) is not. Characters do not map 1:1 + * to physical keys, as a key may produce zero, one or more characters. If you + * want to know whether a specific physical key was pressed or released, see + * the key callback instead. + * + * The character callback behaves as system text input normally does and will + * not be called if modifier keys are held down that would prevent normal text + * input on that platform, for example a Super (Command) key on OS X or Alt key + * on Windows. There is a + * [character with modifiers callback](@ref glfwSetCharModsCallback) that + * receives these events. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_char + * + * @since Added in version 2.4. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup input + */ +GLFWAPI GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun cbfun); + +/*! @brief Sets the Unicode character with modifiers callback. + * + * This function sets the character with modifiers callback of the specified + * window, which is called when a Unicode character is input regardless of what + * modifier keys are used. + * + * The character with modifiers callback is intended for implementing custom + * Unicode character input. For regular Unicode text input, see the + * [character callback](@ref glfwSetCharCallback). Like the character + * callback, the character with modifiers callback deals with characters and is + * keyboard layout dependent. Characters do not map 1:1 to physical keys, as + * a key may produce zero, one or more characters. If you want to know whether + * a specific physical key was pressed or released, see the + * [key callback](@ref glfwSetKeyCallback) instead. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or an + * error occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_char + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmodsfun cbfun); + +/*! @brief Sets the mouse button callback. + * + * This function sets the mouse button callback of the specified window, which + * is called when a mouse button is pressed or released. + * + * When a window loses input focus, it will generate synthetic mouse button + * release events for all pressed mouse buttons. You can tell these events + * from user-generated events by the fact that the synthetic ones are generated + * after the focus loss event has been processed, i.e. after the + * [window focus callback](@ref glfwSetWindowFocusCallback) has been called. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref input_mouse_button + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter and return value. + * + * @ingroup input + */ +GLFWAPI GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun cbfun); + +/*! @brief Sets the cursor position callback. + * + * This function sets the cursor position callback of the specified window, + * which is called when the cursor is moved. The callback is provided with the + * position, in screen coordinates, relative to the upper-left corner of the + * client area of the window. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_pos + * + * @since Added in version 3.0. Replaces `glfwSetMousePosCallback`. + * + * @ingroup input + */ +GLFWAPI GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun cbfun); + +/*! @brief Sets the cursor enter/exit callback. + * + * This function sets the cursor boundary crossing callback of the specified + * window, which is called when the cursor enters or leaves the client area of + * the window. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref cursor_enter + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun cbfun); + +/*! @brief Sets the scroll callback. + * + * This function sets the scroll callback of the specified window, which is + * called when a scrolling device is used, such as a mouse wheel or scrolling + * area of a touchpad. + * + * The scroll callback receives all scrolling input, like that from a mouse + * wheel or a touchpad scrolling area. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new scroll callback, or `NULL` to remove the currently + * set callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref scrolling + * + * @since Added in version 3.0. Replaces `glfwSetMouseWheelCallback`. + * + * @ingroup input + */ +GLFWAPI GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun cbfun); + +/*! @brief Sets the file drop callback. + * + * This function sets the file drop callback of the specified window, which is + * called when one or more dragged files are dropped on the window. + * + * Because the path array and its strings may have been generated specifically + * for that event, they are not guaranteed to be valid after the callback has + * returned. If you wish to use them after the callback returns, you need to + * make a deep copy. + * + * @param[in] window The window whose callback to set. + * @param[in] cbfun The new file drop callback, or `NULL` to remove the + * currently set callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref path_drop + * + * @since Added in version 3.1. + * + * @ingroup input + */ +GLFWAPI GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun cbfun); + +/*! @brief Returns whether the specified joystick is present. + * + * This function returns whether the specified joystick is present. + * + * @param[in] joy The [joystick](@ref joysticks) to query. + * @return `GLFW_TRUE` if the joystick is present, or `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick + * + * @since Added in version 3.0. Replaces `glfwGetJoystickParam`. + * + * @ingroup input + */ +GLFWAPI int glfwJoystickPresent(int joy); + +/*! @brief Returns the values of all axes of the specified joystick. + * + * This function returns the values of all axes of the specified joystick. + * Each element in the array is a value between -1.0 and 1.0. + * + * Querying a joystick slot with no device present is not an error, but will + * cause this function to return `NULL`. Call @ref glfwJoystickPresent to + * check device presence. + * + * @param[in] joy The [joystick](@ref joysticks) to query. + * @param[out] count Where to store the number of axis values in the returned + * array. This is set to zero if an error occurred. + * @return An array of axis values, or `NULL` if the joystick is not present. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified joystick is + * disconnected, this function is called again for that joystick or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_axis + * + * @since Added in version 3.0. Replaces `glfwGetJoystickPos`. + * + * @ingroup input + */ +GLFWAPI const float* glfwGetJoystickAxes(int joy, int* count); + +/*! @brief Returns the state of all buttons of the specified joystick. + * + * This function returns the state of all buttons of the specified joystick. + * Each element in the array is either `GLFW_PRESS` or `GLFW_RELEASE`. + * + * Querying a joystick slot with no device present is not an error, but will + * cause this function to return `NULL`. Call @ref glfwJoystickPresent to + * check device presence. + * + * @param[in] joy The [joystick](@ref joysticks) to query. + * @param[out] count Where to store the number of button states in the returned + * array. This is set to zero if an error occurred. + * @return An array of button states, or `NULL` if the joystick is not present. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified joystick is + * disconnected, this function is called again for that joystick or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_button + * + * @since Added in version 2.2. + * @glfw3 Changed to return a dynamic array. + * + * @ingroup input + */ +GLFWAPI const unsigned char* glfwGetJoystickButtons(int joy, int* count); + +/*! @brief Returns the name of the specified joystick. + * + * This function returns the name, encoded as UTF-8, of the specified joystick. + * The returned string is allocated and freed by GLFW. You should not free it + * yourself. + * + * Querying a joystick slot with no device present is not an error, but will + * cause this function to return `NULL`. Call @ref glfwJoystickPresent to + * check device presence. + * + * @param[in] joy The [joystick](@ref joysticks) to query. + * @return The UTF-8 encoded name of the joystick, or `NULL` if the joystick + * is not present. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the specified joystick is + * disconnected, this function is called again for that joystick or the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_name + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetJoystickName(int joy); + +/*! @brief Sets the joystick configuration callback. + * + * This function sets the joystick configuration callback, or removes the + * currently set callback. This is called when a joystick is connected to or + * disconnected from the system. + * + * @param[in] cbfun The new callback, or `NULL` to remove the currently set + * callback. + * @return The previously set callback, or `NULL` if no callback was set or the + * library had not been [initialized](@ref intro_init). + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref joystick_event + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun cbfun); + +/*! @brief Sets the clipboard to the specified string. + * + * This function sets the system clipboard to the specified, UTF-8 encoded + * string. + * + * @param[in] window The window that will own the clipboard contents. + * @param[in] string A UTF-8 encoded string. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The specified string is copied before this function + * returns. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref clipboard + * @sa glfwGetClipboardString + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string); + +/*! @brief Returns the contents of the clipboard as a string. + * + * This function returns the contents of the system clipboard, if it contains + * or is convertible to a UTF-8 encoded string. If the clipboard is empty or + * if its contents cannot be converted, `NULL` is returned and a @ref + * GLFW_FORMAT_UNAVAILABLE error is generated. + * + * @param[in] window The window that will request the clipboard contents. + * @return The contents of the clipboard as a UTF-8 encoded string, or `NULL` + * if an [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the next call to @ref + * glfwGetClipboardString or @ref glfwSetClipboardString, or until the library + * is terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref clipboard + * @sa glfwSetClipboardString + * + * @since Added in version 3.0. + * + * @ingroup input + */ +GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window); + +/*! @brief Returns the value of the GLFW timer. + * + * This function returns the value of the GLFW timer. Unless the timer has + * been set using @ref glfwSetTime, the timer measures time elapsed since GLFW + * was initialized. + * + * The resolution of the timer is system dependent, but is usually on the order + * of a few micro- or nanoseconds. It uses the highest-resolution monotonic + * time source on each supported platform. + * + * @return The current value, in seconds, or zero if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. Reading and + * writing of the internal timer offset is not atomic, so it needs to be + * externally synchronized with calls to @ref glfwSetTime. + * + * @sa @ref time + * + * @since Added in version 1.0. + * + * @ingroup input + */ +GLFWAPI double glfwGetTime(void); + +/*! @brief Sets the GLFW timer. + * + * This function sets the value of the GLFW timer. It then continues to count + * up from that value. The value must be a positive finite number less than + * or equal to 18446744073.0, which is approximately 584.5 years. + * + * @param[in] time The new value, in seconds. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_VALUE. + * + * @remark The upper limit of the timer is calculated as + * floor((264 - 1) / 109) and is due to implementations + * storing nanoseconds in 64 bits. The limit may be increased in the future. + * + * @thread_safety This function may be called from any thread. Reading and + * writing of the internal timer offset is not atomic, so it needs to be + * externally synchronized with calls to @ref glfwGetTime. + * + * @sa @ref time + * + * @since Added in version 2.2. + * + * @ingroup input + */ +GLFWAPI void glfwSetTime(double time); + +/*! @brief Returns the current value of the raw timer. + * + * This function returns the current value of the raw timer, measured in + * 1 / frequency seconds. To get the frequency, call @ref + * glfwGetTimerFrequency. + * + * @return The value of the timer, or zero if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref time + * @sa glfwGetTimerFrequency + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI uint64_t glfwGetTimerValue(void); + +/*! @brief Returns the frequency, in Hz, of the raw timer. + * + * This function returns the frequency, in Hz, of the raw timer. + * + * @return The frequency of the timer, in Hz, or zero if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref time + * @sa glfwGetTimerValue + * + * @since Added in version 3.2. + * + * @ingroup input + */ +GLFWAPI uint64_t glfwGetTimerFrequency(void); + +/*! @brief Makes the context of the specified window current for the calling + * thread. + * + * This function makes the OpenGL or OpenGL ES context of the specified window + * current on the calling thread. A context can only be made current on + * a single thread at a time and each thread can have only a single current + * context at a time. + * + * By default, making a context non-current implicitly forces a pipeline flush. + * On machines that support `GL_KHR_context_flush_control`, you can control + * whether a context performs this flush by setting the + * [GLFW_CONTEXT_RELEASE_BEHAVIOR](@ref window_hints_ctx) window hint. + * + * The specified window must have an OpenGL or OpenGL ES context. Specifying + * a window without a context will generate a @ref GLFW_NO_WINDOW_CONTEXT + * error. + * + * @param[in] window The window whose context to make current, or `NULL` to + * detach the current context. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref context_current + * @sa glfwGetCurrentContext + * + * @since Added in version 3.0. + * + * @ingroup context + */ +GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window); + +/*! @brief Returns the window whose context is current on the calling thread. + * + * This function returns the window whose OpenGL or OpenGL ES context is + * current on the calling thread. + * + * @return The window whose context is current, or `NULL` if no window's + * context is current. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref context_current + * @sa glfwMakeContextCurrent + * + * @since Added in version 3.0. + * + * @ingroup context + */ +GLFWAPI GLFWwindow* glfwGetCurrentContext(void); + +/*! @brief Swaps the front and back buffers of the specified window. + * + * This function swaps the front and back buffers of the specified window when + * rendering with OpenGL or OpenGL ES. If the swap interval is greater than + * zero, the GPU driver waits the specified number of screen updates before + * swapping the buffers. + * + * The specified window must have an OpenGL or OpenGL ES context. Specifying + * a window without a context will generate a @ref GLFW_NO_WINDOW_CONTEXT + * error. + * + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see `vkQueuePresentKHR` instead. + * + * @param[in] window The window whose buffers to swap. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark __EGL:__ The context of the specified window must be current on the + * calling thread. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref buffer_swap + * @sa glfwSwapInterval + * + * @since Added in version 1.0. + * @glfw3 Added window handle parameter. + * + * @ingroup window + */ +GLFWAPI void glfwSwapBuffers(GLFWwindow* window); + +/*! @brief Sets the swap interval for the current context. + * + * This function sets the swap interval for the current OpenGL or OpenGL ES + * context, i.e. the number of screen updates to wait from the time @ref + * glfwSwapBuffers was called before swapping the buffers and returning. This + * is sometimes called _vertical synchronization_, _vertical retrace + * synchronization_ or just _vsync_. + * + * Contexts that support either of the `WGL_EXT_swap_control_tear` and + * `GLX_EXT_swap_control_tear` extensions also accept negative swap intervals, + * which allow the driver to swap even if a frame arrives a little bit late. + * You can check for the presence of these extensions using @ref + * glfwExtensionSupported. For more information about swap tearing, see the + * extension specifications. + * + * A context must be current on the calling thread. Calling this function + * without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error. + * + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see the present mode of your swapchain instead. + * + * @param[in] interval The minimum number of screen updates to wait for + * until the buffers are swapped by @ref glfwSwapBuffers. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_CURRENT_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark This function is not called during context creation, leaving the + * swap interval set to whatever is the default on that platform. This is done + * because some swap interval extensions used by GLFW do not allow the swap + * interval to be reset to zero once it has been set to a non-zero value. + * + * @remark Some GPU drivers do not honor the requested swap interval, either + * because of a user setting that overrides the application's request or due to + * bugs in the driver. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref buffer_swap + * @sa glfwSwapBuffers + * + * @since Added in version 1.0. + * + * @ingroup context + */ +GLFWAPI void glfwSwapInterval(int interval); + +/*! @brief Returns whether the specified extension is available. + * + * This function returns whether the specified + * [API extension](@ref context_glext) is supported by the current OpenGL or + * OpenGL ES context. It searches both for client API extension and context + * creation API extensions. + * + * A context must be current on the calling thread. Calling this function + * without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error. + * + * As this functions retrieves and searches one or more extension strings each + * call, it is recommended that you cache its results if it is going to be used + * frequently. The extension strings will not change during the lifetime of + * a context, so there is no danger in doing this. + * + * This function does not apply to Vulkan. If you are using Vulkan, see @ref + * glfwGetRequiredInstanceExtensions, `vkEnumerateInstanceExtensionProperties` + * and `vkEnumerateDeviceExtensionProperties` instead. + * + * @param[in] extension The ASCII encoded name of the extension. + * @return `GLFW_TRUE` if the extension is available, or `GLFW_FALSE` + * otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_CURRENT_CONTEXT, @ref GLFW_INVALID_VALUE and @ref + * GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref context_glext + * @sa glfwGetProcAddress + * + * @since Added in version 1.0. + * + * @ingroup context + */ +GLFWAPI int glfwExtensionSupported(const char* extension); + +/*! @brief Returns the address of the specified function for the current + * context. + * + * This function returns the address of the specified OpenGL or OpenGL ES + * [core or extension function](@ref context_glext), if it is supported + * by the current context. + * + * A context must be current on the calling thread. Calling this function + * without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error. + * + * This function does not apply to Vulkan. If you are rendering with Vulkan, + * see @ref glfwGetInstanceProcAddress, `vkGetInstanceProcAddr` and + * `vkGetDeviceProcAddr` instead. + * + * @param[in] procname The ASCII encoded name of the function. + * @return The address of the function, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_CURRENT_CONTEXT and @ref GLFW_PLATFORM_ERROR. + * + * @remark The address of a given function is not guaranteed to be the same + * between contexts. + * + * @remark This function may return a non-`NULL` address despite the + * associated version or extension not being available. Always check the + * context version or extension string first. + * + * @pointer_lifetime The returned function pointer is valid until the context + * is destroyed or the library is terminated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref context_glext + * @sa glfwExtensionSupported + * + * @since Added in version 1.0. + * + * @ingroup context + */ +GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname); + +/*! @brief Returns whether the Vulkan loader has been found. + * + * This function returns whether the Vulkan loader has been found. This check + * is performed by @ref glfwInit. + * + * The availability of a Vulkan loader does not by itself guarantee that window + * surface creation or even device creation is possible. Call @ref + * glfwGetRequiredInstanceExtensions to check whether the extensions necessary + * for Vulkan surface creation are available and @ref + * glfwGetPhysicalDevicePresentationSupport to check whether a queue family of + * a physical device supports image presentation. + * + * @return `GLFW_TRUE` if Vulkan is available, or `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref vulkan_support + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI int glfwVulkanSupported(void); + +/*! @brief Returns the Vulkan instance extensions required by GLFW. + * + * This function returns an array of names of Vulkan instance extensions required + * by GLFW for creating Vulkan surfaces for GLFW windows. If successful, the + * list will always contains `VK_KHR_surface`, so if you don't require any + * additional extensions you can pass this list directly to the + * `VkInstanceCreateInfo` struct. + * + * If Vulkan is not available on the machine, this function returns `NULL` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported + * to check whether Vulkan is available. + * + * If Vulkan is available but no set of extensions allowing window surface + * creation was found, this function returns `NULL`. You may still use Vulkan + * for off-screen rendering and compute work. + * + * @param[out] count Where to store the number of extensions in the returned + * array. This is set to zero if an error occurred. + * @return An array of ASCII encoded extension names, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_API_UNAVAILABLE. + * + * @remarks Additional extensions may be required by future versions of GLFW. + * You should check if any extensions you wish to enable are already in the + * returned array, as it is an error to specify an extension more than once in + * the `VkInstanceCreateInfo` struct. + * + * @pointer_lifetime The returned array is allocated and freed by GLFW. You + * should not free it yourself. It is guaranteed to be valid only until the + * library is terminated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref vulkan_ext + * @sa glfwCreateWindowSurface + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI const char** glfwGetRequiredInstanceExtensions(uint32_t* count); + +#if defined(VK_VERSION_1_0) + +/*! @brief Returns the address of the specified Vulkan instance function. + * + * This function returns the address of the specified Vulkan core or extension + * function for the specified instance. If instance is set to `NULL` it can + * return any function exported from the Vulkan loader, including at least the + * following functions: + * + * - `vkEnumerateInstanceExtensionProperties` + * - `vkEnumerateInstanceLayerProperties` + * - `vkCreateInstance` + * - `vkGetInstanceProcAddr` + * + * If Vulkan is not available on the machine, this function returns `NULL` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported + * to check whether Vulkan is available. + * + * This function is equivalent to calling `vkGetInstanceProcAddr` with + * a platform-specific query of the Vulkan loader as a fallback. + * + * @param[in] instance The Vulkan instance to query, or `NULL` to retrieve + * functions related to instance creation. + * @param[in] procname The ASCII encoded name of the function. + * @return The address of the function, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_API_UNAVAILABLE. + * + * @pointer_lifetime The returned function pointer is valid until the library + * is terminated. + * + * @thread_safety This function may be called from any thread. + * + * @sa @ref vulkan_proc + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI GLFWvkproc glfwGetInstanceProcAddress(VkInstance instance, const char* procname); + +/*! @brief Returns whether the specified queue family can present images. + * + * This function returns whether the specified queue family of the specified + * physical device supports presentation to the platform GLFW was built for. + * + * If Vulkan or the required window surface creation instance extensions are + * not available on the machine, or if the specified instance was not created + * with the required extensions, this function returns `GLFW_FALSE` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref glfwVulkanSupported + * to check whether Vulkan is available and @ref + * glfwGetRequiredInstanceExtensions to check what instance extensions are + * required. + * + * @param[in] instance The instance that the physical device belongs to. + * @param[in] device The physical device that the queue family belongs to. + * @param[in] queuefamily The index of the queue family to query. + * @return `GLFW_TRUE` if the queue family supports presentation, or + * `GLFW_FALSE` otherwise. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_API_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. + * + * @thread_safety This function may be called from any thread. For + * synchronization details of Vulkan objects, see the Vulkan specification. + * + * @sa @ref vulkan_present + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI int glfwGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily); + +/*! @brief Creates a Vulkan surface for the specified window. + * + * This function creates a Vulkan surface for the specified window. + * + * If the Vulkan loader was not found at initialization, this function returns + * `VK_ERROR_INITIALIZATION_FAILED` and generates a @ref GLFW_API_UNAVAILABLE + * error. Call @ref glfwVulkanSupported to check whether the Vulkan loader was + * found. + * + * If the required window surface creation instance extensions are not + * available or if the specified instance was not created with these extensions + * enabled, this function returns `VK_ERROR_EXTENSION_NOT_PRESENT` and + * generates a @ref GLFW_API_UNAVAILABLE error. Call @ref + * glfwGetRequiredInstanceExtensions to check what instance extensions are + * required. + * + * The window surface must be destroyed before the specified Vulkan instance. + * It is the responsibility of the caller to destroy the window surface. GLFW + * does not destroy it for you. Call `vkDestroySurfaceKHR` to destroy the + * surface. + * + * @param[in] instance The Vulkan instance to create the surface in. + * @param[in] window The window to create the surface for. + * @param[in] allocator The allocator to use, or `NULL` to use the default + * allocator. + * @param[out] surface Where to store the handle of the surface. This is set + * to `VK_NULL_HANDLE` if an error occurred. + * @return `VK_SUCCESS` if successful, or a Vulkan error code if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_API_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. + * + * @remarks If an error occurs before the creation call is made, GLFW returns + * the Vulkan error code most appropriate for the error. Appropriate use of + * @ref glfwVulkanSupported and @ref glfwGetRequiredInstanceExtensions should + * eliminate almost all occurrences of these errors. + * + * @thread_safety This function may be called from any thread. For + * synchronization details of Vulkan objects, see the Vulkan specification. + * + * @sa @ref vulkan_surface + * @sa glfwGetRequiredInstanceExtensions + * + * @since Added in version 3.2. + * + * @ingroup vulkan + */ +GLFWAPI VkResult glfwCreateWindowSurface(VkInstance instance, GLFWwindow* window, const VkAllocationCallbacks* allocator, VkSurfaceKHR* surface); + +#endif /*VK_VERSION_1_0*/ + + +/************************************************************************* + * Global definition cleanup + *************************************************************************/ + +/* ------------------- BEGIN SYSTEM/COMPILER SPECIFIC -------------------- */ + +#ifdef GLFW_WINGDIAPI_DEFINED + #undef WINGDIAPI + #undef GLFW_WINGDIAPI_DEFINED +#endif + +#ifdef GLFW_CALLBACK_DEFINED + #undef CALLBACK + #undef GLFW_CALLBACK_DEFINED +#endif + +/* -------------------- END SYSTEM/COMPILER SPECIFIC --------------------- */ + + +#ifdef __cplusplus +} +#endif + +#endif /* _glfw3_h_ */ + diff --git a/project/vs2015/external/glfw3/include/GLFW/glfw3native.h b/project/vs2015/external/glfw3/include/GLFW/glfw3native.h new file mode 100644 index 000000000..30e1a570f --- /dev/null +++ b/project/vs2015/external/glfw3/include/GLFW/glfw3native.h @@ -0,0 +1,456 @@ +/************************************************************************* + * GLFW 3.2 - www.glfw.org + * A library for OpenGL, window and input + *------------------------------------------------------------------------ + * Copyright (c) 2002-2006 Marcus Geelnard + * Copyright (c) 2006-2016 Camilla Berglund + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would + * be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + * + *************************************************************************/ + +#ifndef _glfw3_native_h_ +#define _glfw3_native_h_ + +#ifdef __cplusplus +extern "C" { +#endif + + +/************************************************************************* + * Doxygen documentation + *************************************************************************/ + +/*! @file glfw3native.h + * @brief The header of the native access functions. + * + * This is the header file of the native access functions. See @ref native for + * more information. + */ +/*! @defgroup native Native access + * + * **By using the native access functions you assert that you know what you're + * doing and how to fix problems caused by using them. If you don't, you + * shouldn't be using them.** + * + * Before the inclusion of @ref glfw3native.h, you may define exactly one + * window system API macro and zero or more context creation API macros. + * + * The chosen backends must match those the library was compiled for. Failure + * to do this will cause a link-time error. + * + * The available window API macros are: + * * `GLFW_EXPOSE_NATIVE_WIN32` + * * `GLFW_EXPOSE_NATIVE_COCOA` + * * `GLFW_EXPOSE_NATIVE_X11` + * * `GLFW_EXPOSE_NATIVE_WAYLAND` + * * `GLFW_EXPOSE_NATIVE_MIR` + * + * The available context API macros are: + * * `GLFW_EXPOSE_NATIVE_WGL` + * * `GLFW_EXPOSE_NATIVE_NSGL` + * * `GLFW_EXPOSE_NATIVE_GLX` + * * `GLFW_EXPOSE_NATIVE_EGL` + * + * These macros select which of the native access functions that are declared + * and which platform-specific headers to include. It is then up your (by + * definition platform-specific) code to handle which of these should be + * defined. + */ + + +/************************************************************************* + * System headers and types + *************************************************************************/ + +#if defined(GLFW_EXPOSE_NATIVE_WIN32) + // This is a workaround for the fact that glfw3.h needs to export APIENTRY (for + // example to allow applications to correctly declare a GL_ARB_debug_output + // callback) but windows.h assumes no one will define APIENTRY before it does + #undef APIENTRY + #include +#elif defined(GLFW_EXPOSE_NATIVE_COCOA) + #include + #if defined(__OBJC__) + #import + #else + typedef void* id; + #endif +#elif defined(GLFW_EXPOSE_NATIVE_X11) + #include + #include +#elif defined(GLFW_EXPOSE_NATIVE_WAYLAND) + #include +#elif defined(GLFW_EXPOSE_NATIVE_MIR) + #include +#endif + +#if defined(GLFW_EXPOSE_NATIVE_WGL) + /* WGL is declared by windows.h */ +#endif +#if defined(GLFW_EXPOSE_NATIVE_NSGL) + /* NSGL is declared by Cocoa.h */ +#endif +#if defined(GLFW_EXPOSE_NATIVE_GLX) + #include +#endif +#if defined(GLFW_EXPOSE_NATIVE_EGL) + #include +#endif + + +/************************************************************************* + * Functions + *************************************************************************/ + +#if defined(GLFW_EXPOSE_NATIVE_WIN32) +/*! @brief Returns the adapter device name of the specified monitor. + * + * @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`) + * of the specified monitor, or `NULL` if an [error](@ref error_handling) + * occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor); + +/*! @brief Returns the display device name of the specified monitor. + * + * @return The UTF-8 encoded display device name (for example + * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor); + +/*! @brief Returns the `HWND` of the specified window. + * + * @return The `HWND` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_WGL) +/*! @brief Returns the `HGLRC` of the specified window. + * + * @return The `HGLRC` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_COCOA) +/*! @brief Returns the `CGDirectDisplayID` of the specified monitor. + * + * @return The `CGDirectDisplayID` of the specified monitor, or + * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); + +/*! @brief Returns the `NSWindow` of the specified window. + * + * @return The `NSWindow` of the specified window, or `nil` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_NSGL) +/*! @brief Returns the `NSOpenGLContext` of the specified window. + * + * @return The `NSOpenGLContext` of the specified window, or `nil` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI id glfwGetNSGLContext(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_X11) +/*! @brief Returns the `Display` used by GLFW. + * + * @return The `Display` used by GLFW, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI Display* glfwGetX11Display(void); + +/*! @brief Returns the `RRCrtc` of the specified monitor. + * + * @return The `RRCrtc` of the specified monitor, or `None` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); + +/*! @brief Returns the `RROutput` of the specified monitor. + * + * @return The `RROutput` of the specified monitor, or `None` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.1. + * + * @ingroup native + */ +GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor); + +/*! @brief Returns the `Window` of the specified window. + * + * @return The `Window` of the specified window, or `None` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI Window glfwGetX11Window(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_GLX) +/*! @brief Returns the `GLXContext` of the specified window. + * + * @return The `GLXContext` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window); + +/*! @brief Returns the `GLXWindow` of the specified window. + * + * @return The `GLXWindow` of the specified window, or `None` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_WAYLAND) +/*! @brief Returns the `struct wl_display*` used by GLFW. + * + * @return The `struct wl_display*` used by GLFW, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI struct wl_display* glfwGetWaylandDisplay(void); + +/*! @brief Returns the `struct wl_output*` of the specified monitor. + * + * @return The `struct wl_output*` of the specified monitor, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor); + +/*! @brief Returns the main `struct wl_surface*` of the specified window. + * + * @return The main `struct wl_surface*` of the specified window, or `NULL` if + * an [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_MIR) +/*! @brief Returns the `MirConnection*` used by GLFW. + * + * @return The `MirConnection*` used by GLFW, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI MirConnection* glfwGetMirDisplay(void); + +/*! @brief Returns the Mir output ID of the specified monitor. + * + * @return The Mir output ID of the specified monitor, or zero if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI int glfwGetMirMonitor(GLFWmonitor* monitor); + +/*! @brief Returns the `MirSurface*` of the specified window. + * + * @return The `MirSurface*` of the specified window, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.2. + * + * @ingroup native + */ +GLFWAPI MirSurface* glfwGetMirWindow(GLFWwindow* window); +#endif + +#if defined(GLFW_EXPOSE_NATIVE_EGL) +/*! @brief Returns the `EGLDisplay` used by GLFW. + * + * @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI EGLDisplay glfwGetEGLDisplay(void); + +/*! @brief Returns the `EGLContext` of the specified window. + * + * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window); + +/*! @brief Returns the `EGLSurface` of the specified window. + * + * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an + * [error](@ref error_handling) occurred. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.0. + * + * @ingroup native + */ +GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _glfw3_native_h_ */ + diff --git a/project/vs2015/external/glfw3/lib/win32/glfw3.dll b/project/vs2015/external/glfw3/lib/win32/glfw3.dll new file mode 100644 index 0000000000000000000000000000000000000000..3e2a7f35585dbb3256d0cbe6d3374d0526dd7537 GIT binary patch literal 70656 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
4XVP;z8Y1LujyT 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 literal 0 HcmV?d00001 diff --git a/project/vs2015/external/glfw3/lib/win32/glfw3.lib b/project/vs2015/external/glfw3/lib/win32/glfw3.lib new file mode 100644 index 0000000000000000000000000000000000000000..bec8cfc9ac4745cbd395d60d20339a681f17014a GIT binary patch literal 240738 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 literal 0 HcmV?d00001 diff --git a/project/vs2015/external/lua/include/lauxlib.h b/project/vs2015/external/lua/include/lauxlib.h new file mode 100644 index 000000000..ddb7c2283 --- /dev/null +++ b/project/vs2015/external/lua/include/lauxlib.h @@ -0,0 +1,256 @@ +/* +** $Id: lauxlib.h,v 1.129 2015/11/23 11:29:43 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + + +/* extra error code for 'luaL_load' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + +#define LUAL_NUMSIZES (sizeof(lua_Integer)*16 + sizeof(lua_Number)) + +LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver, size_t sz); +#define luaL_checkversion(L) \ + luaL_checkversion_(L, LUA_VERSION_NUM, LUAL_NUMSIZES) + +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); +LUALIB_API int (luaL_argerror) (lua_State *L, int arg, const char *extramsg); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int arg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int arg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int arg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int arg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int arg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int arg, + lua_Integer def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int arg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int arg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int arg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); +LUALIB_API int (luaL_execresult) (lua_State *L, int stat); + +/* predefined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, + const char *mode); + +#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) + +LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, + const char *name, const char *mode); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + +LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx); + +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, + const char *r); + +LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); + +LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); + +LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, + const char *msg, int level); + +LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, + lua_CFunction openf, int glb); + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + + +#define luaL_newlibtable(L,l) \ + lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) + +#define luaL_newlib(L,l) \ + (luaL_checkversion(L), luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) + +#define luaL_argcheck(L, cond,arg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (arg), (extramsg)))) +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +typedef struct luaL_Buffer { + char *b; /* buffer address */ + size_t size; /* buffer size */ + size_t n; /* number of characters in buffer */ + lua_State *L; + char initb[LUAL_BUFFERSIZE]; /* initial buffer */ +} luaL_Buffer; + + +#define luaL_addchar(B,c) \ + ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ + ((B)->b[(B)->n++] = (c))) + +#define luaL_addsize(B,s) ((B)->n += (s)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); +LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); + +#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) + +/* }====================================================== */ + + + +/* +** {====================================================== +** File handles for IO library +** ======================================================= +*/ + +/* +** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and +** initial structure 'luaL_Stream' (it may contain other fields +** after that initial structure). +*/ + +#define LUA_FILEHANDLE "FILE*" + + +typedef struct luaL_Stream { + FILE *f; /* stream (NULL for incompletely created streams) */ + lua_CFunction closef; /* to close stream (NULL for closed streams) */ +} luaL_Stream; + +/* }====================================================== */ + + + +/* compatibility with old module system */ +#if defined(LUA_COMPAT_MODULE) + +LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, + int sizehint); +LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); + +#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) + +#endif + + +/* +** {================================================================== +** "Abstraction Layer" for basic report of messages and errors +** =================================================================== +*/ + +/* print a string */ +#if !defined(lua_writestring) +#define lua_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) +#endif + +/* print a newline and flush the output */ +#if !defined(lua_writeline) +#define lua_writeline() (lua_writestring("\n", 1), fflush(stdout)) +#endif + +/* print an error message */ +#if !defined(lua_writestringerror) +#define lua_writestringerror(s,p) \ + (fprintf(stderr, (s), (p)), fflush(stderr)) +#endif + +/* }================================================================== */ + + +/* +** {============================================================ +** Compatibility with deprecated conversions +** ============================================================= +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define luaL_checkunsigned(L,a) ((lua_Unsigned)luaL_checkinteger(L,a)) +#define luaL_optunsigned(L,a,d) \ + ((lua_Unsigned)luaL_optinteger(L,a,(lua_Integer)(d))) + +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) + +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#endif +/* }============================================================ */ + + + +#endif + + diff --git a/project/vs2015/external/lua/include/lua.h b/project/vs2015/external/lua/include/lua.h new file mode 100644 index 000000000..f78899fc5 --- /dev/null +++ b/project/vs2015/external/lua/include/lua.h @@ -0,0 +1,486 @@ +/* +** $Id: lua.h,v 1.331 2016/05/30 15:53:28 roberto Exp $ +** Lua - A Scripting Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION_MAJOR "5" +#define LUA_VERSION_MINOR "3" +#define LUA_VERSION_NUM 503 +#define LUA_VERSION_RELEASE "3" + +#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2016 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +#define LUA_SIGNATURE "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** Pseudo-indices +** (-LUAI_MAXSTACK is the minimum valid index; we keep some free empty +** space after that to help overflow detection) +*/ +#define LUA_REGISTRYINDEX (-LUAI_MAXSTACK - 1000) +#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) + + +/* thread status */ +#define LUA_OK 0 +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRGCMM 5 +#define LUA_ERRERR 6 + + +typedef struct lua_State lua_State; + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + +#define LUA_NUMTAGS 9 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* predefined values in the registry */ +#define LUA_RIDX_MAINTHREAD 1 +#define LUA_RIDX_GLOBALS 2 +#define LUA_RIDX_LAST LUA_RIDX_GLOBALS + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + +/* unsigned integer type */ +typedef LUA_UNSIGNED lua_Unsigned; + +/* type for continuation-function contexts */ +typedef LUA_KCONTEXT lua_KContext; + + +/* +** Type for C functions registered with Lua +*/ +typedef int (*lua_CFunction) (lua_State *L); + +/* +** Type for continuation functions +*/ +typedef int (*lua_KFunction) (lua_State *L, int status, lua_KContext ctx); + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void *p, size_t sz, void *ud); + + +/* +** Type for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* +** RCS ident string +*/ +extern const char lua_ident[]; + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +LUA_API const lua_Number *(lua_version) (lua_State *L); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_absindex) (lua_State *L, int idx); +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_rotate) (lua_State *L, int idx, int n); +LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); +LUA_API int (lua_checkstack) (lua_State *L, int n); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isinteger) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API size_t (lua_rawlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** Comparison and arithmetic functions +*/ + +#define LUA_OPADD 0 /* ORDER TM, ORDER OP */ +#define LUA_OPSUB 1 +#define LUA_OPMUL 2 +#define LUA_OPMOD 3 +#define LUA_OPPOW 4 +#define LUA_OPDIV 5 +#define LUA_OPIDIV 6 +#define LUA_OPBAND 7 +#define LUA_OPBOR 8 +#define LUA_OPBXOR 9 +#define LUA_OPSHL 10 +#define LUA_OPSHR 11 +#define LUA_OPUNM 12 +#define LUA_OPBNOT 13 + +LUA_API void (lua_arith) (lua_State *L, int op); + +#define LUA_OPEQ 0 +#define LUA_OPLT 1 +#define LUA_OPLE 2 + +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t len); +LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API int (lua_getglobal) (lua_State *L, const char *name); +LUA_API int (lua_gettable) (lua_State *L, int idx); +LUA_API int (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API int (lua_geti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawget) (lua_State *L, int idx); +LUA_API int (lua_rawgeti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawgetp) (lua_State *L, int idx, const void *p); + +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API int (lua_getuservalue) (lua_State *L, int idx); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_setglobal) (lua_State *L, const char *name); +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_seti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API void (lua_setuservalue) (lua_State *L, int idx); + + +/* +** 'load' and 'call' functions (load and run Lua code) +*/ +LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, + lua_KContext ctx, lua_KFunction k); +#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) + +LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, + lua_KContext ctx, lua_KFunction k); +#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) + +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname, const char *mode); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data, int strip); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yieldk) (lua_State *L, int nresults, lua_KContext ctx, + lua_KFunction k); +LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg); +LUA_API int (lua_status) (lua_State *L); +LUA_API int (lua_isyieldable) (lua_State *L); + +#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) + + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 +#define LUA_GCISRUNNING 9 + +LUA_API int (lua_gc) (lua_State *L, int what, int data); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); +LUA_API void (lua_len) (lua_State *L, int idx); + +LUA_API size_t (lua_stringtonumber) (lua_State *L, const char *s); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_getextraspace(L) ((void *)((char *)(L) - LUA_EXTRASPACE)) + +#define lua_tonumber(L,i) lua_tonumberx(L,(i),NULL) +#define lua_tointeger(L,i) lua_tointegerx(L,(i),NULL) + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) lua_pushstring(L, "" s) + +#define lua_pushglobaltable(L) \ + ((void)lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + +#define lua_insert(L,idx) lua_rotate(L, (idx), 1) + +#define lua_remove(L,idx) (lua_rotate(L, (idx), -1), lua_pop(L, 1)) + +#define lua_replace(L,idx) (lua_copy(L, -1, (idx)), lua_pop(L, 1)) + +/* }============================================================== */ + + +/* +** {============================================================== +** compatibility macros for unsigned conversions +** =============================================================== +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define lua_pushunsigned(L,n) lua_pushinteger(L, (lua_Integer)(n)) +#define lua_tounsignedx(L,i,is) ((lua_Unsigned)lua_tointegerx(L,i,is)) +#define lua_tounsigned(L,i) lua_tounsignedx(L,(i),NULL) + +#endif +/* }============================================================== */ + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILCALL 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debugger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); +LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); +LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); + +LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); +LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, + int fidx2, int n2); + +LUA_API void (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook (lua_gethook) (lua_State *L); +LUA_API int (lua_gethookmask) (lua_State *L); +LUA_API int (lua_gethookcount) (lua_State *L); + + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ + const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + unsigned char nups; /* (u) number of upvalues */ + unsigned char nparams;/* (u) number of parameters */ + char isvararg; /* (u) */ + char istailcall; /* (t) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + struct CallInfo *i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2016 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/project/vs2015/external/lua/include/lua.hpp b/project/vs2015/external/lua/include/lua.hpp new file mode 100644 index 000000000..ec417f594 --- /dev/null +++ b/project/vs2015/external/lua/include/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/project/vs2015/external/lua/include/luaconf.h b/project/vs2015/external/lua/include/luaconf.h new file mode 100644 index 000000000..867e9cb18 --- /dev/null +++ b/project/vs2015/external/lua/include/luaconf.h @@ -0,0 +1,769 @@ +/* +** $Id: luaconf.h,v 1.255 2016/05/01 20:06:09 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef luaconf_h +#define luaconf_h + +#include +#include + + +/* +** =================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +** {==================================================================== +** System Configuration: macros to adapt (if needed) Lua to some +** particular platform, for instance compiling it with 32-bit numbers or +** restricting it to C89. +** ===================================================================== +*/ + +/* +@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. You +** can also define LUA_32BITS in the make file, but changing here you +** ensure that all software connected to Lua will be compiled with the +** same configuration. +*/ +/* #define LUA_32BITS */ + + +/* +@@ LUA_USE_C89 controls the use of non-ISO-C89 features. +** Define it if you want Lua to avoid the use of a few C99 features +** or Windows-specific features on Windows. +*/ +/* #define LUA_USE_C89 */ + + +/* +** By default, Lua on Windows use (some) specific Windows features +*/ +#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ +#endif + + +#if defined(LUA_USE_WINDOWS) +#define LUA_DL_DLL /* enable support for DLL */ +#define LUA_USE_C89 /* broadly, Windows is C89 */ +#endif + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#endif + + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ +#define LUA_USE_READLINE /* needs an extra library: -lreadline */ +#endif + + +/* +@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for +** C89 ('long' and 'double'); Windows always has '__int64', so it does +** not need to use this case. +*/ +#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) +#define LUA_C89_NUMBERS +#endif + + + +/* +@@ LUAI_BITSINT defines the (minimum) number of bits in an 'int'. +*/ +/* avoid undefined shifts */ +#if ((INT_MAX >> 15) >> 15) >= 1 +#define LUAI_BITSINT 32 +#else +/* 'int' always must have at least 16 bits */ +#define LUAI_BITSINT 16 +#endif + + +/* +@@ LUA_INT_TYPE defines the type for Lua integers. +@@ LUA_FLOAT_TYPE defines the type for Lua floats. +** Lua should work fine with any mix of these options (if supported +** by your C compiler). The usual configurations are 64-bit integers +** and 'double' (the default), 32-bit integers and 'float' (for +** restricted platforms), and 'long'/'double' (for C compilers not +** compliant with C99, which may not have support for 'long long'). +*/ + +/* predefined options for LUA_INT_TYPE */ +#define LUA_INT_INT 1 +#define LUA_INT_LONG 2 +#define LUA_INT_LONGLONG 3 + +/* predefined options for LUA_FLOAT_TYPE */ +#define LUA_FLOAT_FLOAT 1 +#define LUA_FLOAT_DOUBLE 2 +#define LUA_FLOAT_LONGDOUBLE 3 + +#if defined(LUA_32BITS) /* { */ +/* +** 32-bit integers and 'float' +*/ +#if LUAI_BITSINT >= 32 /* use 'int' if big enough */ +#define LUA_INT_TYPE LUA_INT_INT +#else /* otherwise use 'long' */ +#define LUA_INT_TYPE LUA_INT_LONG +#endif +#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT + +#elif defined(LUA_C89_NUMBERS) /* }{ */ +/* +** largest types available for C89 ('long' and 'double') +*/ +#define LUA_INT_TYPE LUA_INT_LONG +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE + +#endif /* } */ + + +/* +** default configuration for 64-bit Lua ('long long' and 'double') +*/ +#if !defined(LUA_INT_TYPE) +#define LUA_INT_TYPE LUA_INT_LONGLONG +#endif + +#if !defined(LUA_FLOAT_TYPE) +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE +#endif + +/* }================================================================== */ + + + + +/* +** {================================================================== +** Configuration for Paths. +** =================================================================== +*/ + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +** Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +** C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ + LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ + ".\\?.lua;" ".\\?\\init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" \ + LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ + LUA_CDIR"loadall.dll;" ".\\?.dll;" \ + LUA_CDIR"?53.dll;" ".\\?53.dll" + +#else /* }{ */ + +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ + "./?.lua;" "./?/init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so;" \ + LUA_CDIR"lib?53.so;" "./lib?53.so" +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Marks for exported symbols in the C code +** =================================================================== +*/ + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API +#define LUAMOD_API LUALIB_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +** exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables +** that are not to be exported to outside modules (LUAI_DDEF for +** definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#else /* }{ */ +#define LUAI_FUNC extern +#endif /* } */ + +#define LUAI_DDEC LUAI_FUNC +#define LUAI_DDEF /* empty */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2. +@@ LUA_COMPAT_5_1 controls other macros for compatibility with Lua 5.1. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_5_2) /* { */ + +/* +@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated +** functions in the mathematical library. +*/ +#define LUA_COMPAT_MATHLIB + +/* +@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'. +*/ +#define LUA_COMPAT_BITLIB + +/* +@@ LUA_COMPAT_IPAIRS controls the effectiveness of the __ipairs metamethod. +*/ +#define LUA_COMPAT_IPAIRS + +/* +@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for +** manipulating other integer types (lua_pushunsigned, lua_tounsigned, +** luaL_checkint, luaL_checklong, etc.) +*/ +#define LUA_COMPAT_APIINTCASTS + +#endif /* } */ + + +#if defined(LUA_COMPAT_5_1) /* { */ + +/* Incompatibilities from 5.2 -> 5.3 */ +#define LUA_COMPAT_MATHLIB +#define LUA_COMPAT_APIINTCASTS + +/* +@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. +** You can replace it with 'table.unpack'. +*/ +#define LUA_COMPAT_UNPACK + +/* +@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. +** You can replace it with 'package.searchers'. +*/ +#define LUA_COMPAT_LOADERS + +/* +@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. +** You can call your C function directly (with light C functions). +*/ +#define lua_cpcall(L,f,u) \ + (lua_pushcfunction(L, (f)), \ + lua_pushlightuserdata(L,(u)), \ + lua_pcall(L,1,0,0)) + + +/* +@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. +** You can rewrite 'log10(x)' as 'log(x, 10)'. +*/ +#define LUA_COMPAT_LOG10 + +/* +@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base +** library. You can rewrite 'loadstring(s)' as 'load(s)'. +*/ +#define LUA_COMPAT_LOADSTRING + +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +*/ +#define LUA_COMPAT_MAXN + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +/* +@@ LUA_COMPAT_MODULE controls compatibility with previous +** module functions 'module' (Lua) and 'luaL_register' (C). +*/ +#define LUA_COMPAT_MODULE + +#endif /* } */ + + +/* +@@ LUA_COMPAT_FLOATSTRING makes Lua format integral floats without a +@@ a float mark ('.0'). +** This macro is not on by default even in compatibility mode, +** because this is not really an incompatibility. +*/ +/* #define LUA_COMPAT_FLOATSTRING */ + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Numbers. +** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* +** satisfy your needs. +** =================================================================== +*/ + +/* +@@ LUA_NUMBER is the floating-point type used by Lua. +@@ LUAI_UACNUMBER is the result of an 'usual argument conversion' +@@ over a floating number. +@@ l_mathlim(x) corrects limit name 'x' to the proper float type +** by prefixing it with one of FLT/DBL/LDBL. +@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. +@@ LUA_NUMBER_FMT is the format for writing floats. +@@ lua_number2str converts a float to a string. +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. +@@ l_floor takes the floor of a float. +@@ lua_str2number converts a decimal numeric string to a number. +*/ + + +/* The following definitions are good for most cases here */ + +#define l_floor(x) (l_mathop(floor)(x)) + +#define lua_number2str(s,sz,n) l_sprintf((s), sz, LUA_NUMBER_FMT, (n)) + +/* +@@ lua_numbertointeger converts a float number to an integer, or +** returns 0 if float is not within the range of a lua_Integer. +** (The range comparisons are tricky because of rounding. The tests +** here assume a two-complement representation, where MININTEGER always +** has an exact representation as a float; MAXINTEGER may not have one, +** and therefore its conversion to float may have an ill-defined value.) +*/ +#define lua_numbertointeger(n,p) \ + ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ + (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ + (*(p) = (LUA_INTEGER)(n), 1)) + + +/* now the variable definitions */ + +#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ + +#define LUA_NUMBER float + +#define l_mathlim(n) (FLT_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.7g" + +#define l_mathop(op) op##f + +#define lua_str2number(s,p) strtof((s), (p)) + + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ + +#define LUA_NUMBER long double + +#define l_mathlim(n) (LDBL_##n) + +#define LUAI_UACNUMBER long double + +#define LUA_NUMBER_FRMLEN "L" +#define LUA_NUMBER_FMT "%.19Lg" + +#define l_mathop(op) op##l + +#define lua_str2number(s,p) strtold((s), (p)) + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ + +#define LUA_NUMBER double + +#define l_mathlim(n) (DBL_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.14g" + +#define l_mathop(op) op + +#define lua_str2number(s,p) strtod((s), (p)) + +#else /* }{ */ + +#error "numeric float type not defined" + +#endif /* } */ + + + +/* +@@ LUA_INTEGER is the integer type used by Lua. +** +@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. +** +@@ LUAI_UACINT is the result of an 'usual argument conversion' +@@ over a lUA_INTEGER. +@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. +@@ LUA_INTEGER_FMT is the format for writing integers. +@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. +@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. +@@ lua_integer2str converts an integer to a string. +*/ + + +/* The following definitions are good for most cases here */ + +#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" +#define lua_integer2str(s,sz,n) l_sprintf((s), sz, LUA_INTEGER_FMT, (n)) + +#define LUAI_UACINT LUA_INTEGER + +/* +** use LUAI_UACINT here to avoid problems with promotions (which +** can turn a comparison between unsigneds into a signed comparison) +*/ +#define LUA_UNSIGNED unsigned LUAI_UACINT + + +/* now the variable definitions */ + +#if LUA_INT_TYPE == LUA_INT_INT /* { int */ + +#define LUA_INTEGER int +#define LUA_INTEGER_FRMLEN "" + +#define LUA_MAXINTEGER INT_MAX +#define LUA_MININTEGER INT_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ + +#define LUA_INTEGER long +#define LUA_INTEGER_FRMLEN "l" + +#define LUA_MAXINTEGER LONG_MAX +#define LUA_MININTEGER LONG_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ + +/* use presence of macro LLONG_MAX as proxy for C99 compliance */ +#if defined(LLONG_MAX) /* { */ +/* use ISO C99 stuff */ + +#define LUA_INTEGER long long +#define LUA_INTEGER_FRMLEN "ll" + +#define LUA_MAXINTEGER LLONG_MAX +#define LUA_MININTEGER LLONG_MIN + +#elif defined(LUA_USE_WINDOWS) /* }{ */ +/* in Windows, can use specific Windows types */ + +#define LUA_INTEGER __int64 +#define LUA_INTEGER_FRMLEN "I64" + +#define LUA_MAXINTEGER _I64_MAX +#define LUA_MININTEGER _I64_MIN + +#else /* }{ */ + +#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ + or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" + +#endif /* } */ + +#else /* }{ */ + +#error "numeric integer type not defined" + +#endif /* } */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Dependencies with C99 and other C details +** =================================================================== +*/ + +/* +@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. +** (All uses in Lua have only one format item.) +*/ +#if !defined(LUA_USE_C89) +#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) +#else +#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) +#endif + + +/* +@@ lua_strx2number converts an hexadecimal numeric string to a number. +** In C99, 'strtod' does that conversion. Otherwise, you can +** leave 'lua_strx2number' undefined and Lua will provide its own +** implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_strx2number(s,p) lua_str2number(s,p) +#endif + + +/* +@@ lua_number2strx converts a float to an hexadecimal numeric string. +** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. +** Otherwise, you can leave 'lua_number2strx' undefined and Lua will +** provide its own implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_number2strx(L,b,sz,f,n) ((void)L, l_sprintf(b,sz,f,n)) +#endif + + +/* +** 'strtof' and 'opf' variants for math functions are not valid in +** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the +** availability of these variants. ('math.h' is already included in +** all files that use these macros.) +*/ +#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) +#undef l_mathop /* variants not available */ +#undef lua_str2number +#define l_mathop(op) (lua_Number)op /* no variant */ +#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) +#endif + + +/* +@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation +** functions. It must be a numerical type; Lua will use 'intptr_t' if +** available, otherwise it will use 'ptrdiff_t' (the nearest thing to +** 'intptr_t' in C89) +*/ +#define LUA_KCONTEXT ptrdiff_t + +#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ + __STDC_VERSION__ >= 199901L +#include +#if defined(INTPTR_MAX) /* even in C99 this type is optional */ +#undef LUA_KCONTEXT +#define LUA_KCONTEXT intptr_t +#endif +#endif + + +/* +@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). +** Change that if you do not want to use C locales. (Code using this +** macro must include header 'locale.h'.) +*/ +#if !defined(lua_getlocaledecpoint) +#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Language Variations +** ===================================================================== +*/ + +/* +@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some +** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from +** numbers to strings. Define LUA_NOCVTS2N to turn off automatic +** coercion from strings to numbers. +*/ +/* #define LUA_NOCVTN2S */ +/* #define LUA_NOCVTS2N */ + + +/* +@@ LUA_USE_APICHECK turns on several consistency checks on the C API. +** Define it as a help when debugging C code. +*/ +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(l,e) assert(e) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Macros that affect the API and must be stable (that is, must be the +** same when you compile Lua and when you compile code that links to +** Lua). You probably do not want/need to change them. +** ===================================================================== +*/ + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +#define LUA_EXTRASPACE (sizeof(void *)) + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +** CHANGE it if it uses too much C-stack space. (For long double, +** 'string.format("%.99f", 1e4932)' needs ~5030 bytes, so a +** smaller buffer would force a memory allocation for each call to +** 'string.format'.) +*/ +#if defined(LUA_FLOAT_LONGDOUBLE) +#define LUAL_BUFFERSIZE 8192 +#else +#define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer))) +#endif + +/* }================================================================== */ + + +/* +@@ LUA_QL describes how error messages quote program elements. +** Lua does not use these macros anymore; they are here for +** compatibility only. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + + + +#endif + diff --git a/project/vs2015/external/lua/include/lualib.h b/project/vs2015/external/lua/include/lualib.h new file mode 100644 index 000000000..5165c0fb3 --- /dev/null +++ b/project/vs2015/external/lua/include/lualib.h @@ -0,0 +1,58 @@ +/* +** $Id: lualib.h,v 1.44 2014/02/06 17:32:33 roberto Exp $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + + +LUAMOD_API int (luaopen_base) (lua_State *L); + +#define LUA_COLIBNAME "coroutine" +LUAMOD_API int (luaopen_coroutine) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUAMOD_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUAMOD_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUAMOD_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUAMOD_API int (luaopen_string) (lua_State *L); + +#define LUA_UTF8LIBNAME "utf8" +LUAMOD_API int (luaopen_utf8) (lua_State *L); + +#define LUA_BITLIBNAME "bit32" +LUAMOD_API int (luaopen_bit32) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUAMOD_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUAMOD_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUAMOD_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#if !defined(lua_assert) +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/project/vs2015/external/lua/lib/win32/lua53.dll b/project/vs2015/external/lua/lib/win32/lua53.dll new file mode 100644 index 0000000000000000000000000000000000000000..45300d6ce33074e6f9c1dd94595e709ef9ad74fd GIT binary patch literal 232960 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

nU(8X5FA<_UJ+3lSrw&PQ=^=$T%nwz?4j(b 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 literal 0 HcmV?d00001 diff --git a/project/vs2015/external/lua/lib/win32/lua53.lib b/project/vs2015/external/lua/lib/win32/lua53.lib new file mode 100644 index 0000000000000000000000000000000000000000..e42817773875b363049d3c39a9a614f95cfccf49 GIT binary patch literal 630434 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 v6}fXa1LHCz~KK;36lHJD2aK=}w&4RmP% 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

l6ugM z&|tGrOldt(>J<(ah80;nFV8bDFhClb5HYYcOcyAdNwgj)Z9vxrI`|np>V$9;v_aPV z^M45s$YC8mEHWT>g@O_^#O&rHJOSW@4z>g$_P<0$r_)761L`jc&}GLZppKUWRD`AV zZHXu}ppc#MS`#Atg}`EW85kHKdO`OoLTm#yjUc%VbpI1*P?Zf_(?b#;s1ku(UI=Qx zL+&d9wP+woA9P=yG}z=6MwrR@j0_BrDg`vS2~h_+`WcarK`W6#;~vZmy5M{q4^GV8 zAu1frZ#cRSh4mIN^2;-HaX7S`Ed8l{tTRM~C5s^lR1AX$TEH>-zeGg=8f&0F7{_5y zeu3m1&fNC{JT?SfU4M_!{`t1U^IRQ!; zkXjA2+znJFiZFljG zDgvOJen3SY9X3AM$rs;!DDE(5_)Z2IVMtwP zh@r^i8Hb~xWBCwAf+n#bnE^D`4C%;$P9Q>ben88%K@NuX3qbc#vokcm5dgVe0yOBN z0JRqqHe%quj7t0`enA%%mb)%0EOE_81P+6TEa3`yz_;k!jZqOO6~;2^0yaVb-3ZVu z4aC);rJ0cN2T(l(aW&|CMTDzCi^D-d&B6dGfEXD3z`+g5a^TvNC%n6krTcidABXnA z?l>OnL&d4g|GSTCAGAJH%-m}uX#KN@1ImR|p|Db$qt{I!+>)(CI_p17h^MoTrTa#= z8%L)c^I_1$8ARfL8Atbx|7H+Q^AV9wIgmOx4rVrx8c?qsG?vB20LluG8W!Z23UC1i z%5qg;Rw=wO0g3}qK?$On7`VZ;E~rVt&H(Wd$i6rpn1#J=0?kKwEZIt2!ohV3#2H!t zU>9(LXHlWkv^xK%Bo0>rB8Zv0K&&8Y_^|5t4Bt!IM28Nl0b^jW2<;fyyxu4Ju-x zWf<&=DsW;e6@ZmXpvlz}|Kkn^hl5&+kYu05(0wC|0XiFis427l!RD%)kLa}iFOdQF zj1bCTI+~9tyyk@pHy`2Xtzbk}*nC8w`*?gbq{|CQm7p#o#Ot8OF{B|6N~xfGqeQ@0 z-a}efh+ziMIdBkJP_Nt?9OIz;2Dz82lYxN&A_fWr&~kkc4Vx#41*d56PzvNedT@yh zX(WS&^M0_Fn8CUxNK)9kC!pkpxEa%+yF^7G3^v>Xqaio1+QLi(Pp2wCY=ib}KqiAm zk|BaHePLODAp*@uTtKM|!hspnd_)A?c`XrwtA{86x5~kdiYefN8Z@N^saQbc9FR~3 z&Cno18B)c7*4aZU5zq)EL@y}3A=L@!tWt<6po9sk{zVu-B?ZJhP>%<46A|d*F-S!P znwthS${{zALQDqTu>mn}GkiuG)F6SFa+ZOC0iq6cCn@L}H%OWWbp}B3#{$g?pymGT zpsrYsiU_C_6@ZUIaO6$Zx%n1BTcXnsqi*_xpwWXHe%|NmHp& z`u#S)ybA*ZeC&$@G^_IwG$j`LzZg1B@ZT8JB7~ZEn4|fKL}!eOM6)$R>CU+36aTf3 zLWfqGk8s4tMuS&sKt>orvmIvOW)G-$4H;_$4TeCt-h-a$eTRBl1S2z1>x zBxFFo2W{#A(aa3&;7pzhPQ{?=6`V#vb0FZ-r}+raaTgU1kVjvF)PoiqLt+jz90R)h z0}`sB)Buu)l@y_1^S~vd060{ki4#;Oa2Kl6pP{Z%01YKZABHTd067Ly?tvTwYB54?c!oF-)ar$dCxTiu2(N?oi-4TU482Y+ z4B=Gp+=U3VcI>_Zj&^v-Bhq@HL>tP3I6_73tG{Et{c>e00lG(2E`equmDZuD1s9+Xz&y? z&?5rwd_s~iXvh?j;X#vHkfsr6Aq%942f4fzTp)qQ^FR}UA`GBQfglAtXp$b(1!ZFZ z%?UsT$w1Tf5K};h1+0kIb}Y5-9Ox<4LLG=Z*v(gmvn-5Re2X1!xz zV1N`&UqO8!uo&o4Oo$k$$qz9FLg&8=Ng~D0gdsINhMfVBq^PMg#3eBhggVOX*(H)?bTm1ev zx?NO2d4nG{Met;C!IM_&0rU|NPy|A|H@z+@Dgoi4U`xTZ8-EKZV!98zd$%4a6-QFp zT?1OK!_j>F+v^%c9~+{x*G0t#*#X@yDjv>1D}4Ir}G zE-E7Mqz@WHkwLhar}Y4TtKa|s&>k6*((WD=Py%c|!h_ULZ$452?hHXX>7cq3(n$w( z%0O#HAUCb91V<;RH3CT#ps5c?9RRxV95SN>n&W_!{Ggn+2CM_rI)NlX(8?{yniWvy z2i<1G#sKQ1Lu9WpFfeQa>$taq$bxDhh%Z4lK_($Ui5ucRP~8KO1x=ho zWI>r5(QyZDp#yahSs2v8)eY$0b4WW>p!HjYdoXC35o90^k{F;ZP6(&_*v#%v-9N&@ zp=*c2plJfhSDk_eCqO+j%||%mpkt`bM>3F78mNkdgg0nl=q5P+K$CBv7!hFr%_iIdi-CHgkaz~Q ziXm|TYERq;%Yuqqh%9L81R@LaJE+J7wN98AKsQ1%Fn|gy&=4tPj!`0u1Jc?7J2o70 z4=!}E95mm9?r@cb-ffAb7STYJfHA?taS$b0|6wEi-8m{I-8Vo@EO6t>DAlKldE7u2`{B~%dxP%;25 zg=GU@M+-{YBH(3$f5GZN2?CVJMHoQA2Wb|87Q{gMXP_gJA?=ht1_lO5*AjGL)_1U8 z&^RL`8-oH8G)D~?(1l#b3hI8cGk|(c$Zax6n#f{;dV~c!tPbHrIL${yj1PbpbU-Q- zP|MvCT-AWqkwAw2K&>`Ve2FlCCO;rzpwt1m#2(}vP`?R8gPa7SLBlnWoQFAFQlbZP zCM0b`90*~9x*JdyeB4_HG)L&p(O|()BKp6a1z9YrwB_V5!K2{!s9s180at;g^1bfN z(CQ0YWXJ@=+I@(LJ`qr<&w$#F1x=VmgOe1bxCWKQ6Tuz_Wqn9N0_vDRx_h9&1+{NP z7(jz8pe4W}-~~#MNB}LWoetIun!XePS2my#Mo5r?ro_~s)lo$Sp&luHfLz`a{E2eCH);3|EMB-qIgO+AOfL)xGPcp!sC7(iJMVmYW_ zfv`Zr^rbI7ndsMLjYZ9ra!Bz@3u9i$@wTCH{&oC!c_1tJC-C4u-2 zG=z5zEDNfMA>|6lO3;J|DC;pWfVMhA{0oX@1_n?_uruf}q%p+%_&d6|x-i7M>oI^1 zk1he-x2vvNtj?fXtN^BS6EpJ^k~2#4vJnbwREw=tQ|uV*8B~k87>Y|0ld}~{iV~Ak zlM<7&tr)mC_4M=@f^+gp7`Ql9i>(+`Q>+*iGV>G|xHvWR^z=#+GjkL`2hSGk>FH@Q zBqgROBo?KY=BDPAC@8C@C}^k_Yck|9?ltih4lOq1=V7P;2Z|9r>qnh zKn##jYDH!VLuOuCVoqj?0^~4Qup^)z&M!+XO3TSFhu8!O1eh55HOY`uf)z3nixu+n z6`*I`DT7HoNb=9AtyC2y(B{+6XePgg~U9VOBv$hVW-P7sCqJ}rZJQh zm8LSJCFT^TGJuXl2HRD@0CEQCXi|mJ0`OU=#S8(CexA-&3Z;4QLsu2Rhx~$411Mra z*IN6OCMq}vc!I-`iy=9`C{-abFGV3IGpQ)Cs8S&#u`E>~GY@pJb7DzmQckKuUTH4q zm|TUD%7WBlhTPJelFWjfR0WVZVZOx*DXAsk>#P~dQj3Z~={YyEI5)8*Im1dJv7kUt zAulyGrC32VO$V$4Y+pf9epzNpDoB)pc2`J)RwRJ3Ap#>`9tSFnAQvx!ih3cYFVL%L zkivZLp29_aTSs|pbc1% zOXxu6h;GM$nca(E7le2lAXS%>gZfMm2{U!#$v;9y24TNel81*#rU%@M>f2Q)s* z%m}KsK`B7+*t9xK_kgMcRC9ze%mG!EkSj$%{+iV&0=@DZIo?4XU{rHNG0cHnWDMHo z0*ZHef0cAh_eg-w1wl#A(2LKI!WmRqGc$rZ9w7H%j}TM0WFtd zW(4)mK<23T?2yDX2h=D-H3xdR9+Ekr0S0D9P+kV*qJ`dTFJqbmicM5=pce}wnFDG8 zGc$t5Bta=ag7Iz*ra7Rsn5gDJFRDW_2ec%InGs|fDE%mSMFe1)14`|v=3rhP2P!d` z89`HFpz_Bqb@6LVb3ly~RCAOu;vLi%W@ZG9#)3*KZ+=HCmsf)3BvH*##V`l791wCb z6R2d=JsEo*(>>W8Rj%3VVVQ#gP@wDiD3?CnI$tLXuKKZ zo==wZ|6-a03O!VFv@y&94dpR2f*NulbDpm{+=ponXh9dMIl36;fI8sJjG(>@D1W_H z_@;sOA`Bm;)MYVrB#lWP;)=)$ghlrh7m=MO1T4G0XuClrl4dmPvzZsh|7yuER73 z9GfWRk2!`ppdJV_BPg^%>3QDcT^5+;fc6}ty2ld39MG^JGb3m?3{=~-Z4AGPX%1*{ z0jfFH80LUF1I&z|VFi%C;j-T=*DqMGB4VGgL{ z$jk^DLjk3q8xrx!nC<}`0fuUhFNQgw5N2ismB65U5qo^{QA~3{ts_)({4vY{wG5dV zK_wo@Uj<7)L9eGrj(5<|IjT8<80LV6;g}gg%P~OiF`nXSgy|m43uJ>a%mK|FGBbjf z8Gy{u(|HnxX%1*C3e`QK80LT$I59JVmH>g$Vf=$nSkg0SGzT=& zk7`aThB=@d%FGCwr3JOjdW#qKVwwXQ=0PZqzp47XlhK3fq^09h3G;|b3jW7 zQO(K3FbC9vVrB&8M3BFFB{yMdCx8xBK{Y2E!yM4iI5Q(?A_$az3N_SMVY&x&`5>w} zxftevrkEh@A5eXfsX3j*D9wY~$N3oMfX0v^mz#s?uQ$h>reT@`8bCvJ zPa%dmpcOBTMX~EJC2bC(Q<`iR?16qm$@fWCvdGy=Q+nDYFwT@8DDa9}c zR1zY}ji0xxFJYPk>cya%Q;uN{Xk?w45nMwtFfhD*!)=3UP8B%sAcu1$hB=^?7^GeX zwR`t%nuMkQRfAzpHHJC0U^Sp#At;|N)&InY=^juk3)Nq>80LW1fiN?IViuGRpDlKj z#xw`C_yN_Ndayb1@u@{cd7u;sN>i}Qg+cWNh|i3;^cKVgW00EoG|=5&pz;AE1QAKi z2bBdNKIAgr_%!hN7(@VU4z`Q1!6SDlYCu;;K?R_?pyPXBL9kuvsU@H?4lDpx17d+% z?I0RrJBS5pLx5;ju$uTZ@TGTPNAf~Nic(>Ifan6>xRa9)H5_ag=wj{?P}qV@0*QcV zP)!D+p}LAoit>_kL0J@ZvMOkGEdv7s)DR>QQ2s>d0?s6 z1WaTphy%tjk&R#;h=7TJ7CwOZ2$Ro1xJd2+Es1~#!gPTaM4*a*b}yicfR;s|ihz!- zK@|b5EJ76ltpGw50nHwxih$Pbpo)Md)lo%2D}PW$KubtaML_$fP(?sjG>Dal)b@1blU0PAaIHL`s>DQPhCKf!XI^YW~A`2DC zgp24xMdINiHc$~oxQI7YBpfah2NjWoi{wK^q~RjWUk>hLpEf<-`bT2Q;H!6NbLsU@JEGe|}dB9apio@@k(h(bgP67w>l?kNO|faJ`f z=0HmR`1s_E?BWtoCjnZv#OJ2wCKrHOk08~cGF-*S&j>Uk30f%y?%gn``1pZ_`xrp| z29O9FNCY$}#{im8hl_xQ;25qlFfhPH3_<3AYFUH`Xyg&JUkoAwvNMQ{fdSMf1hG*s z_-+KZAz_814ktS|WDW?VvJ>hrkQ!87pe2>ej4)k_XOwK{Fm8U0Ymp?;~_&Ky`uCpy~oGokE1Xjn=&ggs%BeT_826xdP+cH3sJcL_0}*y*i&c6cblF37fz+Vt0xdd2ghuD1*?$qb5}>+3 zYEX57mJB0Y$Qr5?fY4P3)df<6stdGH?`j)dkw8&&&v# zTLkH9;dCfK=(-No1yX~m3$#KKkv25l>V6}1iGwDe85kHqYEX4e0q06+bTUljXktR> z(ue8-sX^5R+Fr!W2pUHLxv-uGbcY12Jn(_)0;xgO1sW?u=<oQSY%DpVIp4XUo` zC@x&SHv%a|J%Q>1sX^5>1FQ=)asYDS{hG#o2)h_T9bEOb%E5N z>H>}LF*CwD2_R=edyEVW^PsvwYEX574k%@2gvE0436?~JU0b2LKx$BR%>#!aELRHK z@O(z-x(U?P+cH3sJcM=dl2QkW}FjJP6>zV0;xgO1v=gqq07`jO&?)b6I2&S z4XQ5C0f&gP_r)hK6@;!GP+cH3sJcL7iHOip(9Ur{=(-8j1yX~mYc)9JVJ!#dZw(6( zx_&}+fz+VtS_9SvE6YlxIb{*LBtZkL3=9k)HK@8kv(Jc-f5dNp6rsxystcqBRo6PO zU9fUPdh0&u?QEcw;sezMQiG}sbTlL)G&lo3K10}*2-O8rgQ^R(oetqbt=)OY5xVN2 zxEHYqDAz?QT;hW*EOgvkQ!87piQZW zQq;Y`7OB1Q1F8$8236MM87MCMFk^ z#AoIw#eb5oFjJJTR4)T3%d|Sdz*B<|URu zx{qKEbV(*uCaD;F4p}OGwr2PDx)WkfPbWU+eQD$B` zgjNdsW~YSON$cA(^E^3*_jYda#3nxNoq-AQV!Ihywq}3 zucoJ#37~Q7g)Do!a#Ta@)ON6r_R_Ej=LS2WF(kh_NOwP|s zPK2`4Q%k@j7-8T}1DI-0#Br`89A1vh)4^B7GL>UhigL(lG9zO9PcYwSFRZ)_U z93?*Spq1A}Mfs5Eg&K;gBEO&nRRC-;B)LHi%`YfH;e%Bmrv)EyHq9$ZO;1I!3E?@Y z)$sHUNA6N|TU71HOv^s-h^hurw3lERYj2^D<$c zDJV)U00|XmRzdQEPkdrZ3Ti|rrlg=aGchFvQJVS0gK{EDcpwCjOa)m2vKJzhmYJ6V zO`RaskldA4nwJbI%0OZWUQS|hNlt26Y7Rp@C|y7^Pf21rEapH-43c<@QbFc}#u?*5 zBZr_OKQ*s}!681rI5oMnD6^yzl3(JJ^YgPaQyokg?Bo3lKzkR8gG=&@64O&1><#Vh z@zpR64wep<4EFZ%&JOVghCXi2PX4aWz7F;#_9~8!4sZ!iKTjuTCub*zG!$|308hUF zC%*tE2k5>P6j@^z7e^0oKM#M0cy}}d{T*CAoZY=V{R138Ap>%MeA8Tz{ic=~#{_&V6DxCEd`8T-3A2Dm!8gQP$%H$#zia&mC?^6>QX za`bQjmkIW!@Z@Z7jH1-k%f~ao+s)I_!QRZ?+};EXkz>Hb#oyD_JHX4^0kn+=Rj<3N ztE;Dr2Sh741W^q)c6M=g^mTUk28Un@n$;%mUI77ae*PW~_NJM6_NFLiJGnV{xCS_S z`gys-jQ0e)%>=Y($lerG4i`fN>{Xn-Q1!YyID2@xyLx!}I3y*e*qg$(1%d2vc7X)8 zslAG`Cx}^$q2JKe&CS!>$Jxsv55-(FcSk2DXHO?b2grsb6iFw42On2IcV9mjHwTd8 zGV{`r6P9Uyp1mp9F`ykwV29wa-O1m<-QU;S%iqxhkLyeFQB23}88aUbUmq_&XLkq4 z7AO=)2RL}Sd;57h`g%BkcShNp!s>7oWlpXRJ}zF4e*Rvr;Fv77H-&ARvNy0dP0ud@ zd&sRAMVFDchoi5Tvv+_)a1M%uxtp_#hqJqrAJi~t@;3$99oZTGU1Dt)Gz1@8rAgu#?(~QJod(*spQ1$`01?)``8_D2BsI#Yox2vn4hp)4v zLmnumAUn(KO(9#$>`l}1i|kE7^-5}yy=h`j4qT_1zoVOzo42#O17xEaN;sN0x%hZ` zd;9u1fVQ8ZNI5wD;_l+_;o$(;um%oMw_+HD zHF}K$yaSy4oE?1}?DOqae0=Oxd{B!=GiT?307oBhCs4`h2kN(==44}!02d!WcYjdP z?&=6F1(1@Sp|^{3K!Cf4t3wfrb4>z#{hb{>9334%>uyk_jJ#X|+#QONPz239UEQ5M z96dc9AZu_?BuxVReO!E8d_j_lDJW9Tjt=hb0Zy*2?w$^i9eMVqkS%%krkUV4FR?dG z%tJ&xa!T=W@NjVpa103Wa6s(VLowdSDZtak&D|SPE_DqJwl_uE zacFM}ZuEeH4N`-^le&wOgPXgPTY!^?vjb=!ASiTG>`kFN4?#JtEES{;w)YUO(aGDv z#mCRb%frtBw*AoF)TcDj-Zad&*xnSj0}<7k?hdXlJ}v>i9n=_1DC#$nXv*AFf=hUHMKA`H#b8P zR8UYbG%zqTGgDA7G&MCg0ZS!t`7qir6bM9zztv!1I0+gw03AV)Qk0rpQU+h(1={ye z0-bGuDq&#Y5@67S+>#8NI%WXPO)o}M=fEJ~guD|Fq#tzVsx%h^!zAb!Fld(;_?B~| z9Zev0p!2aSco-P&K}WzqvqIR^?POwL*u}@dPz;??1g){hrVey0Nw*LKLl$&^9<-(w zn>x@+*b|}*3`QUe85kHqa|hVeeE^-%A;!Rv0rCLoBwGds25jnnF)%P35@%r81KR4w zz`y{q9;^CK9?m@fRKu5X< zL)C%C=Wv;quE4-h4poQCyweN}42=p53_hUkf1v$Vu=Iz;zvmPg816yU;W7_o-3zE1 zXtIK&XDsG%C^0ZdfELQ*2|rMBS5jhNu!5??=U+c128KAOI$Z7p?J~+xVqjPaRR>Bx zxWezY5(C3)s5-cLSp4x-iGhI?R1o0t2k7h(eq{!RWuUE(3=H7A?Qq$9LY0Bx26Unf zZZBFo1?_x%q{_g+0b)SsJ#d*PqsG9X162n%4~sv{)EF4t(AA;Y3tD*|pvJ&(1gZ`+ zosP?15p@Oz6;Ogj4i_x;>Zvm@*rBUKvlkRk9_kDXzDVkD*&D9Tz>tol4xEp$*juR1 zz|cs9x^8s_hS@}@TdK~$u$2gP`_&m3&ZDbCE5||MdK0P!mXENN&!Fn>Arb08vo3Fl zPzS1pJ`te~6#bmAX<4WPvAGXajOr7i4wTP5iBJbx=9NfFhM^AgHgr&VG95!5 z=56SpVtytO>OjT779!Mv>gDT1r~{>grx@xS9B6%8F=#L|Gf6K$DT~31!A6il3DkrE z9S!g)l7Rt6`(`E={TWYm#m{vgZnX8ne7IbQQ- zu_El^fib&Zbbo3-${5^yjiD29#y(H;3nu;+(Bg&W7mOuhNEUz(1B;DrKEiW2iwRaRjO?<`R<>8??+Xg;D~{k{GI=$fz^F6$TN$6m8^AMO4Z z9spC?d_(|rUKYfKpy@i$J|YnY(0+ca%$G$IV3 z-L4>Svw@H1gUEs!0kjSY zwEj+n0kpCJq*erc93*JP02>47&IZt$J`skSpo7jK?O8?!2GEKJHU`jfaG>>%BH$BG zL3@Hkzz1T3cG`$AfLinr)*wz?Ke`VEgl91Ych;yFz^~!}-C-jEioxzroh2$F*6&MM ztUr|KwtlOTtY>Zh%UC4TeZKi1WAgkl|e zx>FH`rwp*v@)mR*E;t2&`bdz}BFD(U0AYbHw1T7-(2j7>UN#X1(4BM;vF0}_!J(kj z$4tUux0-d|=>C<(9M&15q5z6K@abk*ETD60O*%tVAQzHlvBLN+V0q({tp~Cg`R5-D z>*WD$kYwoeQ3(LcG#}9b6?V=@_mZ_9D1j7QkdwR+C)tCFG+xAsc+i3iqN@1_Pj`-r zMktI2EKx{!N|bS9ik#r&tZL;zX^2OZ|nbhy&9I*+oc-a zr@N0gAN()+|NsAbOBWRhaJsx$1WlLF8>2z4t5K2Z_EAyL{tY^NygNiiMfzs*amMD$ z48{kvk9WGL=zvyRG)Nz|zEGo5&jmWe*V;uzr%VQtz*!(3>-JI60T~veq5@VCq9VcH z4=N~X*sNVtWXkKUFVUmoK z^EZK3m4GhD?LOaqnAt}~K-fh^As`T@4JxW4?4n{45C{()h34b`n=k)wyX`z-S*G~-=Vbh^(n`=~%I z_+O&p0QIhmicRwo1(2!DM?v`>bj7jt;hNp`EY|OfwxY&3^oTo9rc?o6Z3tSn4LLa$ z!UAopW?RNzAjbI`IO zh$)A_8xTOl51<>^Ar%JbynBc#ptF4;ro3igV1StN6T0XdQiOw+W3e%SPA-HL@SrQP zKntMQ7bQ8F$3f;v!wpt8nA1yYWL2WPQ_b-(BgQSkwn9^F4WLsUF^T~s2V zCjoZHsDv~haRAjJ);H=)Ygnw`7Z(P@(?9H3O~@&n%E6&90jPG+L4sfhK&)>*A_8_3 z*e=lZT)i$T8ld(Er0fFSo7#Lt0F*K>Gg#lKnGQ~s6RqEu`dZ&8^`wrq%|}=eZs_g- zM^W<;7I773`c0!f^plUg829FzedNgQ-)1|)HU z&WC^`PEe)*C2ltGE>VaqXu}Ca7L?#1Nf)#e0FnVfE4U%88Bmf3tu|u=w`)NAEkqbV zYr7z|66iE{2~ymrt^J2nQ; z`R$+#DZ&7{+yb=PUxWcvdx2V4A`GCDO+juHVE~;E3^5N>W<$&a?X`rM2Rd>VVjk!K zS%`US85zK5)Qd3eVq{RbqbIv1dv1Z|dQ zF$Z^l=>7#x)!>{^F9d5qb-(C71ZuOt7RX|Tw0pq0O``iy^AQf~A2kB?EY@GkxZ>kt zjSobFu661@t9?%TcNo;65pWnP9P~0Jn{=}2Z44Rfp$BKFo0GoL(&T93~UGslrlkU{n!{DGBAJ( zeh~&x6Nm%7WGsgjUXV*OAU!ll$$?rjqLi5^B_m3i2`?leW#(^)QMk)Y(Cwc;S})av z*9$lQXDkb7y;LJr&(ZiF6brBh2qVl89$5Pg?ASWqEH;DyTrLZ_^p^mi6$@HW4+%-o zNCl+y0F7-xN)OOET#)hsbmA1Gd;oN-&K!Zrf?^XQ z3u=Et$`(+$0>UB;p#3Y57zE|k!{9Ovw1N{-8G_;s;y%#*5D*=pvkM`nfNq5V?Ti4; z20#a4D4-O;c7s-YgC;@PzMxHl+#*uXg#WG@>7XzT`bIvN`T zXx0QYg2V>89h3nSdTih`ctNE#8-oS|0|RIthz%?Q8UbNr0F8%(&PHNm0EI9p4%ir= zYw$Ajic^b97zz@Tvl&YBz*JFcZhl!R1DGhzFDhXG-C!-!U7`Xyw^sy~USYK!IP;fk z{x1PvODO^q##tF6op{a?2fnEll4C$qDUfm&N%AOp&P64rP5n{P8QFoc5-J&bYnTdH9)&edK=%)1F~Vh`*GC}Vie=OKzeF0lwV+F}xRLrM z-AA<#ce<#EH2+}aZ&71nU}*l4QY70QqN34ysYJBjfw~pe+y`7J+fC|ammnI z`yXD4gRkncK_nr#MDr1kQ224~Jl#LK&uSmm23@rx(&?iDx>!fU`e3n0umAr*sH$!s z6_wt2#@9ljz3zP5)7wpyt%Ot@SVirU94={uIQ1cNMW>DWx z!}>0Nlg{7&|3QbBgX%X>n+=k;KzSd+0-b#a$y=aWAJPE;og)Q09YurzbYc>O1=`~a zVS)64PF4{CcN{?H-H3o&H;}Rsw6hA*iU941fv`aRK!_{@e1rgWy$Hx8f=?dqMZ+Kv>flVI8A|a2J3s zUxE0154`IG>I6Y-10C26Vcmw?`x0*NM@9w)h`qnzCJVwlMxYCFA@*uA!R&Q|ccA>> z-KH40SQcDwDVzm5u>!Q$PlRC^69WUJzS#w5U14Hi0PUs}VYtf#*&zw46&M&mGoPT* zbruFbP{ReRkDUQ@jC~2P(9l1q9U<^ zu|yeEJ2Qms2RRk21Xc<(9|5&f;=#(8N|YeV+`&q^kAJ@b%?A)wmS9yZC31LG34<#0lMuVixuu<@GV}TWeSkA0IFpn?Gex^jF9#Sw%!bAL>5$fv4MBLLjn!d&VU3O zsLudtkAUI`A`9B72$2QtSc0Tg&{zp5R3LE&niYlwGvuIm(9T?T2GH%N#+N|XtMO>p zsBj#7&jc^uT~s*YK}{EMy${jJ4hnPz&~8t5=*>%64Ba2V;Rh-g4ly5#17AZAau=jO z2ijc=u^-f;0GR^2krlKTmYv}fzW`_&5Yk%B0JWK#-*9~57i3X^RDfCRuq$k#7rQ`& zn~!LKJ06frVNZY?IiQ9LsF^In019SE2LyDWD(FyNHt^*upw1t}F`y}9kYgAbIKf`( zgD&S_U;r)hfXFa|6C_AIB$z##5va=E^6&qDm@aT- zr-8My)95}9s&)>8TBDG19@Nr=s%4@xSK z@)nd^AbAHgWCqGVYz&~W2}lbNwBr*Z3%XbXVlSdCe+zV31h}sTx?cif$43TOt@0Dj z0_7oyy`XDzAohapLV=hJ8Yh6*tIr7Q$$`#wg2;ldM1++6pqtwuEYO8l5LwWT7Z9;d zM%d6AC@F*1DS&9$6(OKgyjw~j~xB|F8S1Jm&3Us@?2uxTY z{%{yf5vcg}fZk#W?n)o{2j#)iBSaVMTBfXju#23UkJxk{i;D+WIFK{}>IFg41gLKf zi5pPc1i}KH)CysNQVb++Kq&?iH=yDl622f`fl>{KW`?%=LA&fB{syfgL+ zGZ;YqEp`S_S^%|6z{d=L#leTffs6nbJPZsBpn)ie5ugQdpa5lL;07xNb+VBHof;Pky&_(Ni9-~ZAnE_cBs58&Z2#R;mIz;K~ z9sfazj)5V*1lpBmU|?VYAH{>L3slQ8GlJ3)sGjtxw44po1&$_=RSckG{ZQ=!Eiqwc z1SM_Iput-X(Fm9>NR)uIfd&Rpb%D|!Gb5-b1+ny|DL{`;j0bo4L3%(d4-^QdKq@EK{yP(kv(#L_}FOXVhM$mvPD9f1F`=5vE0!2AU3wQx0*e;~yIG`aS z$b|@?oCH+{r9j~eVuIB$=ppF>o!-SINLEE<>2Z@7H6yN_n{*YLP<~Y!(9e4!`>Vcd>;IbAu7l6_TGb5-Q0~+>W zUAq>`0pOscX;94(!7vAu^OzYyJr__uU-PMfy~BY|NKsFFn-O7MJ@sVAm6pyf`e=15_f11cMs89}ZB`Rlll36_gpK<#N% zb7U~g0W}tw89}XVP`MMEx(mxi51;{WRCDAY=A@)1m8PqJ;}leJqpHEYLyisl!v^H{qklWFT;c#)>4|C%^pXoCH-lDrqN>5Xum)rc zGx#8JP^lNF^%z=0BBy6i>OwU~4I_L&!>_1n*dS__aUnSlRBx?YdPEhHfBP(|24!2uS6=@P>b0bK?SRsuH%bh#j^2H^&~hbjUZVnP*}fMN0+3=z?N!4MPnv z2eE>Nslb-Q!_W$p!N5W=_jqB5gkgvzV2I>nh}2<-^kaz3!w^{y6_JCxa354e4BXxT zIrS7&L;@}X8YBbB2!Tc7lXLQuK{L)EA+R~|@g^24YTeY6)ln6{HMw1SLex2dEk~uo{ruZ>R|9kW7dgHVDNa1y&QESXu#V z0*Qb{K)QsXYH%IQh}_x%P3s^I<9c0s#}`s=fXvZ@ngddUTEBzpRm4FzTOLog=LG>(1SKW~bmk@S+gW3gBgQ^R(v>8&Lf^B?Argdd?R7OD%R22~em`U=-EXiK2FKx$BRflk!K zbwu87s4kEiR9&D`H<=khEeene4LqhVL%8rVR2N7MsxDBM8*=>|NSF12YGH&fE>J^( zfq?;}22~g2avV^r6{IWT-n(vuE@!ANkQzva$byQ1)IvmRQAChaxDEIS9Z(GnQvK7X zs|#UrJ5(1)4HE+9#?>f-?F(V4N!xVgJJfQkf&6zKd8&AT}T$MT2qr4D_TH@E`(2Ip}~7#5p#I zqh&yQ^C1Vx_{4(`R)Oxogq`_X z!~i;v1S*yjUzC`alAoJdl^T#)mS4gU4@xKTpjcvvFGwsZ0gntZ#3yIu=NChj;5+&Q za)yVwpNFH9o0|t{LpXR~2a@ohCw%xgxI4Od`+0-*BcCc@o@oZ&q+ny zuI=RE;O6G&=;Y(-=l~nIvNz2yEwMMvPqR0Lj9sBv2imh9;O^n;;q2@H9@DZng>9M# z>3|Pw*_%QRQpn6h-qGvn?CIj^=Hr6A;TSg51<`?#=bStp+`W9A++4jKkjB95O+kZT zpaUpCqhKg5ba8X=_wsUecJcB;oI?PPVDOG#q{AUh6H7o_k5f`Bz%p(r_NJL|*Wx%N z0oM^0PCgE6z=ZXUkKo`WQ$Vu;_c6hzK04j?V=o&hch$ASmm>`g&w7&P7oJxBnQ zln~DIckp)e_IC4hcXR*`#(`|ew>M47Oos$UJo1S$=v$iO!PiMRm>8I+nHwMggT9f4 zIe6nTlpwg%+0qocGa9thnG3wr*_efa0n~K^RRzd{eIP!lnX?4m_yvhD;N0m9n%jk{ z08`j@I)m02dNVOFoP*R*;I0j>oo}F1`30a243HDRJKvDHcOXkZ>+YnO85r83>OjWg zGH*6B1H)>lI$Y*~279(LGcX*1s>5gA4Q2+07f^L@^N%8TiYZGrG>OT{ zP0givTNDEW18CWg0BFuyru*1T?L*<+wG0=3SpTSDv;J4Z|Jte7#C`|JbJidDeLggw z_}}ZtXnYAY&#mzNv-OE`)9z#Z>wojFKO7MLzeGg=grPHj0-dD{(eZJyhe1oDG(Zy) z44|dGU|ASX0?a!DTBQVJNG~tUR*+6~)EkM@zU&aDbD$#nNgiHG`V;v881}}>RvLx~h=*mG* zOJ0NlyA(4Z~CU!Zgh(hQOZ z(V$^OcEn_bYO#VwPG)Xq3FumD)f7zz$N?xw7ivRpq_$E>0(I`-^9BPuUjT|MP~%kn z{{$@8B!Lnb>c|Onlm@BD0O@9C1cfXpV=wQF+lx731{wJWjo-oo4?2>AWDaO77IJ7X z$Q-esE1zSU18QBPx(70X2Z|1mTR}AFA_I^K4B$yKkO*id0wMw$0R)MF=0PALpu!j= z0_nqoSfIreAQ~Y8x{?YZqT=HR>Y9NMP5`+Xe3byGi-#%#zBmB16bTeQU^Srb5_ky) zT*MG01eyc{m1bZyhM?XNXkjNp1Y|Tq1i8lnnXLd7halJ8kNtfX(c=JJ3J4MfsX^@l zff6-jv>7D-;dszFgf7t19grwU4HE-s-v+2H=^I~?pAVYif^dpb!G|6~TC~3L=|%bF ziKP_~u6uk@X&(3#6mYZACB7u1D8C%cc8*Ug&B;kmhV^%xydAv!{5_p~ot%-|3Xs!s zz{h8Sa}(r58jxrT#z|Vv9u7WEZUMf&&H)aP+y*{j2zq}#>^K% zHn4zJ>|lye?QUscU<6jE0IJp4_V}ah4 ziOoFF$|=wZ&YsY*22fD}R)^M_0aZ}_d<+cVq3S@>CD_hm0VS2^uqp@?pbXg0V*wQ| z?}=3Rg$Q+^V)Z8x>Ol7XB|;sjDqsTD1W-SKC{U{mxnKi{f&9xsq&fj2)PcfZf(UgW zd*z8#r%r@AkiGiY)S;z&(2c`p0t^gQP_^)MiZqb{3Kx)cp8x~HJP?Dxxfv@27#MaC zq3)0X1H&aE)ZGzaV0c4>x^Dsu3~ZozR|4)65M*FbAVQs%AOnLH5$aq785lx{P!}i2 zz>tTo4lO=F&HV~N28M@Fb@<}rs~`gdE2ue0z`y)L3=Hx_sM8c;V6a42hvq)edQWE| z28KsS>cHg-mh|#Qh=Jh`k~(m&4~sfBVFm^PEaJLLF#H3k#^T05S-Qv6%-72Xzc}v_G#SDYGPp3g>kM21EL# z;i2Fz;yzIDg7ti*dVGv2T<|7=+Ka_8QjuWVRoy7pv(|m*nyxbPl zWs5uvs^%f9m_gIepzeqW1E~83>Qjm^kZ)b{d4>{pusyGtj1L4rT-1Do11yBwYS889 zkcElOZ+Jjn6$yhnn?L+Or;CaJ*vH`g-6GvJDk9BCSgeoLNP{}w5=h?W{=p6Pb~HAB zgANG+wKE_d2hGhuJPz8}0P#3Qwj2L2rqp&0@OnzfTF&nmvKT;X@FDvd!2#HOMCLH4 zVF+G2BM7vc2b@xxk8lLRSGJ49f!9+)bc4F*5EiHn23b~(ZqD}` z&6gOy-y+61(7FwXai9bRF)kQ1;83F?0^4eu#T4Fsqx%)qVFKMBS})Z^)w8sID+=j8 z3~JFfG@oE7@o2qN!&A@N{7<2XwfXe_*UH_8yRUYi1M325Z$9zg_!5-={lfQ4+&8#i z8NUsMZi;O_!qe-@2uf*(zu$wnJ`5oz0+s-!0f<{cK?q@iwhBTv-h!5mLRg?d7f1ku zHjP32l*I(!CJ_XR9TBj*nvaMa1~oY#W`W9l$R=YX)$p(c?R&$b2~;vdG$HSwg&xk+ z{lXZO4P<&AnHlG|aH$-~a#rdp-Yyjqd)@{i!=dMWp*^_v!D~ zzh46jDt}V`5e6E|Q2}$23k1;SA5be2;(pLD3}}M_q(}hyU4$Wo0k$z2bW~_!^WBAS}=la)__#2|(i{Yz&~z04RS! zwtj+U!_l{Xg32=Vt)C#DLAHK^`Z%B!o(v42IabKlPf+^`vh@=*@&eiV391wzTR%b7 zK4j}BXpWtY0b~}asm#Uzno9+Z=ddw=Hduld>a#I`WIz=*8v|$=HfY?2jRADcG-%Zl z8$$pC19-zY8#oPtDr`1}2nGhQI2!|KD;cP>$i|RZRGg8SR>F{!n3uwkl$T$^kd$A< zkW>L8Kvxzpq*j2=J1=3#f!-0415sa;T9A{NoXSuH6^0r^ejV0*-1rixoWNd7f}$Vf zVNey!$iNA1qk#6jfU-XW18Cd;Sq9YZfXIM)&LF*v3@l(hpa_M?fcmzeb}np@Hz>#< zGN6Eg=mC+Sp)t^+TM!%6uLseL&^7F!;D_h|m7@^TKz)7C;TteLps@vz7$XB0xOE6h z77#t4UNfkN2y+1_;@H9ad3eAT5)U{#8DD}lIXF5)R0Nuz$(I;@=C2D;;n@L751;w# zd{lU}kEQYF9Z2K9d?AfL?^qiD=M!oCuP>(YUkd>bL-RmtG)Vmh%bjtD5#=#xOD-ap zfjR>qPr?@JgNjFpgF*QhBm)X+5DiLI5E;-w21o=JFrXj=@BI zNbC&YNqYsz;phrUsS0_i>4_zoWvLA1nJFb13c01lB_LtQym(nELrGC3=m5Wxe1*j1 z>O#+>VWKUEo3=qz%_j2w0-;Qnx(`*Od=C5&)zNH2;8V7pRD1W`yaI zIk}$?t_xJlfHX0H>Pb{xpbW;$2rE{T{gwa5Dn@QFf)QG7?2OU7p}}g=mNEH zLAtoW>j#l_feH`EYB*4JVO#yR8lo#cDIQeAf;2HeuFFQ&1u8O`8A0VQNY|E!v#!E* zfhu6IE*=cKK%=(IjG&4RRHz-^R;v!t1yT+wyFoNBhAxngnHfQq6DSUzUXrRo=mM=S z2I=C1=t3H10JUS889_N1=68@f28MV@UmVNZ}f^n1!s%2FV}#vq2d#s{@-00;xgO1uF9px;{<0Y=F=OOT8d9sJcLPHsZp)hbz{e zN9Y2zQ9&*MsX^5RDufVrnOpxxTCWE>h6bbyqy|+NXru(OmUBvLQ3S%SgCH#o3=AMO zsJcL1N<TPi8dP1NxJB%DnSJf3Cc-Yz zR!opakQ!87piUOTuKN5kdf42?%v=6FJnQr3)HqlwTl-+4X89gRl|*;26OiYWH$h^U7(Tx)f{#V zb3lDlR5j2!Z6tqz%4$?Kd=PVx1~);CY-UDKTLK);zM9UM;S5^Jf@%&iyEk|sb|JY3 z)SN~&2Xi+GxTatPHT^*G;g4GQ0>CpnE`65psK;#aRMq|nHfPX zDNs!&@V(s{(>Ifo&Fxi&n2uparhK;*;Ww@10kIzch^$O9qSWeu>H?`j z)dgCbfmjuuS#$IQLKo;r5|9f(Y9I!DhEO0u22^uE;~0pN7IiiEU#KpS8YTu&W>AeD zp92Xa`tw1cX9D^a{vuzplC96a(4~z z^YQg`NCLHYQRK{BeZ4(>+`Jqep#DIWb@TCXcX#ynbO1Hi5=&B1WX)WC+}s1)oxB|& zL4+b{?(F00;o|A)72>Gt$I&huC2Hk1c;z#)xma$^L@b0sTaFE0PMwrlVr;|^5AJ{^7NvtO z#Z4>)Wvn9j5*aTC7cUciQaf^@)oaVR>RT^!tfo&8+Bog5&YJJ2dxds9gF4s-!np1mckg9ln$ z3%V%?b}bOjHMGXY&{Z>#wKIfP*_fL^m(YS&*)W4w*_bdfFhCcxFko9{18Zu6b1#U% zvC0N?M>0qnhQX_BkecZraYjZ424i@^3=&~r0Ik9xbFC<7>y|DtYekbm%lN6WS`^}B z1_llgfN>Bs4+|;~g9E6zC>XF}0U!meEMRF-EYhqXd4xp+#G>mWN~E*{>KrpOf>IC2 z;~n?rfkuZwOz^P@5C%vM69cI81uB~|&X&9&rUa% zPQESTH#n~L)E-EaYjsl=j=1xZtPoUG0 z=Qt>^8IC)G2a3Q3fMN|~09b^9fdMo;06Aa{bj)t+?UKB1&>aFfDiY0h45d!JE-Es} z4(&bx8o51L;@|C}BGY=H#JxA*f2SWyr&t%GBmcGooqjCMKmL~(_Bt_kvh_Ot?{s77 zwzIy^@AfFD&4a4Bp1X8Gi#6exGel7+EcF@Qsv?jn+66td@FxW%Yft&{_iI9gmLFR!b6g;^Z z7|ub}fx;G-d5^dm7(PMO;W7{8zCYXy3?-m3R08gs!^6O^2C5F1c_8;~<6&U1292&F zuK`9HdI0$Y)Uo#GWnhShs>5X-=t!DOUIvCuNa}F;cMmTE!x9D%CCW!@Ym28MHD3=CP&@o~`k z$+*lDv1edV0WC1Y<6jp>1_nKQ28JTg$^!6_PtdjHSkm(u2L^^aP<6Q6_lSXk;h6&i z!wKjV9H>;qO<-#@ON`n~{OR$ccerF6bHq0`V*A!oZ*k8pXxqU(f+d z`YsF%XQ1jpH4HBI{c~Yp-~(L-g~vS5)PaO6149>79jKAm5FF!3VTz1bOcOmiX;(XJD8CRfo$w&_a_% z?hFiXpz1)`50`&ID^mnOt5fiVALx8XDGvq)VNgLxz+^J;q&h;F9wEJP<3$gka|#{ln!dGe1WO~@j)2d z+F8(ozF$PB0}W3rfmU*Y41!{8=7A=2e2Gv8D(X{+PzP%56cMSehX{3`>6K+fr~^&a z940~?sI_&U2z8+Hi3PN73L17G%0U40j$n{F9wOC=5UEav2z8)#gbIeb0CMj<1a%s; zh#9RZqkLm8Xqh5U_hHCID&60kkAY?{6&P$m!%gK%MJ%n~N@cn)cb^BZgZacS;G-g8 zd?1Zq|3rLTH2>rShd=QPxTr{^@#}-iXoe!r_&D%-+~~t_A%3t{>s$3~HIJ-+l--Mu zGd>V~7&P;<1bm<@DF1+tFK1%_t#tq$5z7WXJRNjIG`N=pzG52`v{u{#dg3kSRI1F0! z2Xc-G*pZ;aP9aVPwLn2m29-o08gh~EAFycu=w@%IU|}g`9M;+MIr#S*&VWe9W?%M zptKrvw0v^~2XiUgCw>8j*Rs7nDl&l(CqYgWW(7M2oZn<%nX63wI2-7Cnd5FOpi5?2 z-_{$~Xt&-j);$h7h?xOw9a!6OP?g4T+zr(7X=r_0!&A@Fdb@}XqAWfx7OXP*FlhfT zsBtaA5DC9(2ef`lff00-CMc{yT^A6|%D@BmK4^g+Bzb^N5YKQ4Z+%;0*B!xQ{H;5{ zq4jp1QE#n4^C8xTs{ai9+n7o?4?bXFc2SXe&DrgvBGJv#*v-(*Z^>9HD@WErS`1EQIsM+ZaBXooGLZ>VQs=`9xkMQS}LQtNp@r-L_C zv#|7LgGHl3qR~9?d-6D150tv5P3S(>8^GAb;m~rj^r!YA>%%1)*2ha^9GG7)e+UiJ z{-J#Xn$F%aLY*Zo645ZHy?A&{#!>VLSD`gFU0XsBRkD0PPG=WjX52)gcsnZNY_ z=ngIS2T*;@M>t-tVq{>*66^JU5C}3a5Mp5S5s{Y@L3-+6xRi=@yFUP%$jdL_{()c6 z{lQDnHD2BEA3z}t3Up}jf@hXHV^l;sb5vw3b5s)QLVC*|Oz3vwfV!I>nG5 zY_PoO0g50G9?)$AhpkWWH-qlG1l=*{%6t=KSo1ppkh#`5DhV|kntyAQ=XD_K(gQ@XePp(D1{W!+Tv+OqdTtvJ+^LeDe_=Pv(2g#|1ilR3utY)}QQ-Q32g8 zrvo|xA{exN0dnL-^AVocwZZU>37sw~2B51N4hS4~Q31ztr;Cb8_fc@!0&-G!j*3e6 zeUOVln{mK*jxoc0iCp6Jvgo5Z=3nz+m}Aa>906LG+U=sE(aFxg&4H!)ghQu02PjOs zeN+;_xmEkV#fL*L=hSJQfLB zu?pFkaRyWr$bj=TXom;rQU(zQ(Be!83$)$>G?FaBz|6?N01*Qn!44@1LCFSkMEp)h z1_sF04BSi%;Oo0Y7>bx6+tEcBKsO$O?jT@eXkmh!b^#7F2GD>2Xe@wN~EeQr4oesME^ZSi>@Gh2E&=!qg&?vM@ zXgH`?)dA;<&KMPq?idvXerRufqNKR{aPuSn<_G-Nhf3o>xgoOow{R(Yw|sX!%WIh|hF%vH z0q8OC;98-?5_H>6cZ>>8a~%grAz!x}LLqDwE@-43G)yi4I?}}YW+{vHj}irND+?4d z%|FHX+ua!%82Gn=7UnYiR{>X-uyz_qNjJMSTj{xOcNS|mmeOO$GN1Sb*wgs+*ud?e zHOMmm&HkH%!x?!*%V48x}637Zvbr; z$zp{yz<62@l$Lh0b$f8UcIf7}=HqWk1?h@WkpP)s31WLn5H!IUWP(KNN&Xi0|NsAk zEaPwe`|tmM>=yF3JOo|C!1%wICoDVwviiE)nWy=PM7IYA$dE(-{{IJMqt=@sh6MwE z%Z7iTi-5WhLVam`z?v^Uj(^GlFrOc^Rt!|2U4t=k_ZFn z?mGwzR5gHZVqgQ`EDgC`8g$PBXpCBf0dzMo=#B>whFnGl1_%puL@I=}m5~8_bc_hY z4@L$C&>cc-41X9I7}i62>`V*{pxb5Gz)N=^*P3!LF)*wJ%knTWfbWN7V-R3sU;y1( z%*G(X1lJ3?2MxOHlbL}F+z1CPNM~ngd;=;%!n(JpfDV%l@AeaE@KoaH>`?&;gKl_c z>}Kd}QTfBbz|if$)9s+s*`guX;2 z)aEErge3Cr9x%802un9aq8p+A(7_jM{M!z6f9PyckpLM3G56pzmd-6IJfIrShOPTk z^E3O-Eh;RaTJ4{1dDnjx(3MmS2VaRZU*Z>Fxxg>T{<7%*|NjSH@g01`!aN1+NPYn( zka!d*9Xg71PXT+Xo8#b1wu28@n0vr#Ku&fN;TK@+J_S;%2U2_JxH|`EXyM=s@lN*d zhZqjjGw`>F{Qv*I*-?b$B{$d_@#f=YLBVz6;48k)9&m(UcOf^zg%_GD5ss5K zJ`fNd6bP}TyGO+U6o*GdUV>`5AZULKubXFqszZpIyCDw1YF;Kt*&eWmx=(dOq5u}k zFU7lEb_jG^bVJfsCq&uzgRqc33GyK%LA+)Kv7x>Nr8gpcTaWOqQa2l=>;P=8c=QVq0*64w(F<`%#t7?dQ2`Yzom0SNEx7W9mb=YISeo~M zT?;B~L4`mk`*C*;&?t5(OY651V~AgykFW&%-vTxSrW@jSurR1lfT=ss21;P2gF^x&j5RQMKJg21ec~7NQK@(>(d(j8 zff9^b;33Tluo0lJhlb%N{+NTv;TZlMoGC#~l5R-e&SDP-wR%h#85l52X*rN`;u0q) z90=zL)PU3h1*AH7H1dBD%YP$CW`@+go$Q_A@HDyL8zdM(VZiu_U(iLR;I(|Oi%J1X z049LPlnQW$9w;fgsAPacF9Rj?)WAA3KJiE5Oo6iB{{PS7Ku&?+<{yp}`1C84Qy^$y z7n-e05uuO(4uu4iP)Gs$B>`tBK+;eII20mKLIIM7BH(H06Mx)6XgWepL&9JG|Igxn z`4QAMA}(zZS6(((atOn`DAUc@?a9*FqVk4;fuXYp+?eU?Q2|{$^x8a&p|=Ihg!`KZ zbhRXC6Kyv{0_u50LmFgEa}|ehCnV9Aigq(~dx6Y<0x=(y@?NWg4F)mc!2;@%nsoQ5 zfCRf+R6wegAx0=e9p%pg4I*$&1uj89eTHYUEM9P71uAZF6;``Is)-9nkTHbw7}jvS z1Mw#)mv;83JYZm8fQBQ8i8UNS5{PgFY3y!M0T}}gM^L09!Vz?&VP}sD=&EdJID(iM z;Rq7!ZczcL=57Hu__!ghvQ8}Fxa!mY|5(ERN&sCz1Q3XcHGn`87y$$_ z25SHvftU}v1QQxSASOltfdso-R6weYApvBJJAgVr{{NrF|MDsE)g1*X2y`<#wBOU& zqXN495SoHOOw<4Z4G?#?fYl%Z2$WvBTU0>CKm!PrrVuFzbdz^yj|%8^DQEzJm?!~c z*A0>HZczcL4g@sU!DS1Gi5yfVwcRZ$AVG{^0vUlEOp4uH-A*i>Ju0BN#_u;fTU0<}D&T_+ z0s>!t0gVKKN=1+$N|4EPL$q{5GrXeJBX*aR`) zp#f^Irh)4=knmj>m4Le~Dj+7ffeLCffz!_?et{|Ao&|sS?YnbSKpo>x`~p2-2EWF^ zPyCUG()jgnl(Br`k2nP_`akgt@; z8T0)nyjKV=E1>P_s^} z8)85=RQtv6SPf7`a;z{O$9{f^aBQ~|sIZZ0{=rzv+HA#8B4B&~I+EJS{_@Jp|Np`B zUY+cn?i??Vz61vbs029p3KAZHv!Q2NS&7TuOjB& zaDlMSFzn+aNCVf9@sd9;{{QcWj3+_|zFPm6D0e#w9DL5weEb75?E3ZYDd2HC(C8AR zr+4rbUoXp47KR`H868DlZUq?w8*=U51FqN)z7&U!j&SjB0}oN2M~qHF>mn}bF!A-* z$m6d_!>!Puw1x~zmT-c{ux&xMIf`^!bRP$gzF%lLP$C0z^COn#10R?VA-crSKs@-K zua{*n2h_3up2H)r`xM-D@9ZhQzHw0_9KeB$6Maj26;Ax;itz78Efd>INFQh&q} z$b11N;tU#x#|RGcZTS4}|Nnz1Hh^Z4pb^&X&H)+aFA-=xPy$ZBna%bLB?7OLS`U=O zLDI85LrDlY?6?u0hn6D;*MNs@#Sbn4(=3cFU>ag(H-yt2z)=$1dZ}bj^Do9y)@BQa zl1-3lfo}4nq4C-O|E-rwwm1J`)c?Ie*s52n-Z?}Vh_VMNiADAI|2DFLEjR!@p6t^Tjzo1%*>g~6}sJ3pi@`f)D#?6&T8tyWK@BA$HYR z^7pTL^8bIgyMQI6!(FESawb?n1e%5U`#Ycf|6e1}?Ji&qQNrI|{sdGC!^)HHDd2$v zMn@6oU>A5$sngw{Gu-63y9Kzj?)v2a|4;k^?h4=qbKolL6Td*X0KdkGPy7-5Wo&8u z`WIibr19&Y;-7o~G|nK5Vh5w6$R~b5{!jdZ{szb0Ex;A>$Hx%A_xcM!gO|S*)Lv?? z*AOnP>YbvpfPsM_=zqCNuZxPt|8fO*dqJf2KuLJ>9|MN z#k>7MYXucL-9dBaDxK~k$K54BUeXR%koH&U6z}whkDr|c9qs538i8g8x6B}8XcFMo ziUiztaI^Xp3j+hV0+;CZ7wC0Y_{1;Bc-#>@5({3{1sZ%}01v?lyq53vQ4v61+r{6~ z0MicD%W&KQqPHG-U>IZwJJ=A8*Ps(GIpB*0z-};r8N%_2KL+A`XtNJA7!1vl(1yjq zcYM7pTVb_F`J?~;L6Hd!_FjJjQ0?Mqz%S^i0I4(i1>6OK0{I0U1;Y3R*!cw+ktP73 zRRns~1}d4LQ@Y)dN!lL=pR+JSXPoLK82DTMKLpz=aPSo$zaTqOb@uEbylm(Ol|Khz zvmnrX-g=-^pc|B_4*p>AfQelyd^U z$`s<?=?xrTGX?H>7OX&fV6kFKwSn}W1#^p0K=gZw#^3wKw|))t~#U~1g-cI zdiMW6xZ@AntniZM+5i9AjL`IO@CRtj52PGw(7{*Y$0210Xw?I>$kl}S0~*-PFBthf zAZnUl!HVZf-|h?DZZg_#Jl(%QhC%|s`gpxCw7~D~fyM$y_w{Z^0cfKO+SFqH0W}*` zxPvMl;{%xw? zelx`7pb7-kCFK`jYd$6bT~EL-$OzSMeW+&NOY8gp|63p8?=`;v|Np@UEX~I`n15(P zJeD>AGP~bfFVOsovGmhRevljeL|)#$2X-rXSp=k&a`2TnG}&}RYbkMPG(%zt(fn(@ zRKo1_nxi|6NBjE0Uo1i4-Fv`c1`WaHBLd&tl{iXeyZuCLNl6*^K+9Pg zkARkFKo*5TtN^cq!eFL>rm;Y=JmfIwINm()x=hfC3x~k#T+TBxfNzHqVPI!sU;qt$ zi!kKCSy5-u|^372GEK<5r)Zd)?*0< z@KQ|?hOcneLP?koPALY4e6Zi5;jG61_n@(#>UVf!@vMqzAeJ=PX^{ATUi*Z z3C{W_%K*M*O@!f?90LR7fYIM_3=B13JM`sYDSN6s0|RJfwg|&vc?Jg1d7vT;J_-yB zpxt*O45^AR7xXDIfLFYUFdR~3V2}ncK|P@eTON8=k%0kJ)37mIhKt=$WMB{ltGfpm zd!op|06GAGjp2nN0|RK_pN-*-A_K!wa6bQ_$iQ$6%=)6pzyMmb&c^UVk%0j;Pr%0T zN0EU6)V5<|U{GRUI0aV6qQt;(8qDHQVqgHxN3b#QC^0ac1&axQc65SSB1#Ml=fNxq zB?bo2WCk09j1mLGMX;EH5(C2}FiS;=f#D{YrJ=;Ya2w3hQDR^KUGUDvV4%dna0@JE zqQn5c*ouw8LWzOlDp<@$iGkr7nB}0vz;GSRa#3Pn08In2F?c93Fn}hM*cg127#Ki% z2iX_`lo%N9fz^d5F))CxjAvtrP-0*J%|@{?#3(T^JOs-oC^0aAc7L)lq$n{kJO+zp zC^0aAX6V=$a+DYto`S^+lo%MEfmtO=3=Ge~tO_Lt22k6AjiE+~fdMq9$i~p1#K7
    x5K;o20kxGNV*#Kk3q&&z6d54%z&Vw!{s@DSW< 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 Dfu5Th literal 0 HcmV?d00001 diff --git a/project/vs2015/external/lua/lib/win32/lua53dll.lib b/project/vs2015/external/lua/lib/win32/lua53dll.lib new file mode 100644 index 0000000000000000000000000000000000000000..561dc9e321f84da3cc46cc7c3d2e603bcdfde790 GIT binary patch literal 29652 zcmY$iNi0gvu;bEKKm~>-W~QbVrWQuVsNx1tu9=Cs5rmn*#lXO*&cI+S#lT={!@yux zz`&5Z4vJkE7;;@07}Dz?IAjq60|-a>a?s0K(}n7#Kh}&4qyh zgp(F9Fo3ZI14EJp14H5^2u`hFU;yD1I|c?2PTRo10KzHD7#Kh}l!t)@jnKJ%zq3FS(hLY}#Fo3XE69WSX$Dds1_lrg+s42E#(oS8VSWq@p--T=f`K8lf`K9D4itmf z6$}hjeV?2uKgKHlHgM}6Z zo9|;_0AW`J1_lszzQ@1-!qy@T3?S^Xje!A#tv@g@fUt`f0|N+KH!(1Pu+=IC1`xJ2 zVPF7Zn-dHSU>w81U=zc@U^@?jJp>pSK-hf|0|N*<&0$~wVY_<_3?OXp#lQfhVoqslR(@t41Ev6my37<5RUj@x zO>t@o)HsMDWIjSwI+`kEK0;MqYI$jKYEepJNg~8B6aj>~;?$DFoSgjRG>9rBE<#N@ zsv0CNLQPI8)c;@xLOeM?FFCOUVmOSAkj+c2fXYEw2$|HPqWmI=HYgJzm!1rf0MQ81 z;*!LY(qf1VjE#^@Da|c_$U#^LnVkGYXrw?`2$_Q9#GIULh%Oi#A&VplWg_H2F;|>g z1WpKjFOC^R9H$!<|9l3iRNUc zXOy6p99V==^(5uz=cFb=^FK&6TmV&Fa&k_7acL1Wor4r2L{L?x6_*rc=A}bY3rHbc z099QXTpZ+ekV1qAs!DVNVSH3oIWS?Eac}`tb(wi3sp+ZE@(E-uTmV&FUTJO;vN9MS zO;si|Uw}-?191@YCHV#UAj6?{A#st_AjfSljS)BpAzzW3 zUj}tLl!=f_&PYwpE-pz-hPE$|`3O~@`XVna9}+Zh4nn>-wInA$8J6A_ ziV7rmq^FiZc_=C}^7FHk^GoxfbzFLC36cng%G|_asJEaBAp#ic;Qj&`hMZ=KA?8Em z;T(kiN>GCYY6Xmqkj*Rxiy@j+C;|v|MXAN5urv*0BV<996*TssOoUusYB{Kh36)0h zP*lK*VNkxxOD%_S;cD^=QuE@IGE0n&!2U$$qN;&b`8lPDU^P%KT#ZjWIPpLeXgt_3 z3^63t2`b`Y`vn!2RYv@}>9<`WN62p2(9nU8hq94m z5prM_k_^bk%)HE!;>;>YlJ$v46~dwx8dflMNV(G|J~1T)QKBPrk<0;=^Po(XgKR6h zAXfEIn-OZ!?M4au#FP{mAIY@DloaGv2-uBq0VH(=MX3cKFCv8ust}Ue{DKmA6$*}Z zWC0{~;M|C+5>*IEZGJ%stmcLp3F9NF0&9nfgVmvkAgRnRD1mzutPoiMNgY@}s!CKL zbhU|jkO~@Fuzwgk&%pKn!0;u2fgvG~ zfuSdWfk7aZf#F3S14BnR0|Q4g1A~GO1H+yO1_qT#28M0<3=B-g3=CX$3=CY(3=9(- z7#PmEF)*k&FfdrSGcZ(nFfe>`U|?{tVqn;2&%j{d#J~{c$iQ&Sk%7U_lYt@2je+5k zB?Ci-B?H403kHT?t_%!)t_%!X77Psg%o!LITp1YdIWsVbSTiteb75fkV9mhb<-)+w zWX-^^%8G%(#Fl~Kgbf2jj12?BJX;0^0S^X-MeYm?bDS6$?%6Rgc-b>BRM;^vZ1H4Z z_-Dbu@Wg|G!7rbIp|5~};YR@jLtG&P!?8jJh8aZ+3_3*&3?^$@4DAeA45geL z47m*146O`F43ilu7-|@*7|Iz+7>XJ48B!S17+M&b8PXZL8S)r98GIP*82lJS7y=k# z7;G7M7(5sh7z7#k82A~u7*rY58NwMt8NwJ;7y=oB8RQv47}OZN8Q2-*7+e^f8Jrj# z85|g*7`PdP7-AXX7&sVs8H5?M7_=F57z`LR8T1*97z`Qo7&I8%8FU%!8I&267!(=I z86+7b7{nQ(89W&{8KfCx86p^@7=jqY7-Sf{7}yv@83Y(?7%Umg7_1m97_1qL8B7>V z8Qd6L8CV%u7S!1d5k|}mWX#4Ord@Eh z=WwcvZZ@JHi6jGUG9Zf}wP}!qakN-adsj&6aditZdY$NfIwE>f zNY;Qs~3$JSExiO1}#qPI)qv5miB46kAtV*_QuY^2-@84E$r2k{sq zI9LXDF{dZd2P1LJ9-+@DqGy(P)QL*0^QSoGeqb{@@WcWdlt3RXgATGm$LBDVVi|lx znY_X>u83ot5L;dWIS3=TL8GmZ;Wrf5fX8Z4MBww?sG^8@K!kW^G1j5!%wo)9H6HtT zI7R^wk8AWDY5Wl30Mrr)Jd}f+@URpaps_WKVLy-{Vh#XdJo*ec=8Q8a+hdt10SObF zNJH2IQjR6aK*DH~f2evei?eu;9<=!?un=_C3spa6=!4W^1`kLSy|xD1gl%dM+Y}4t z1S~`ZCDB8K3XmfZb1DlqWsdL&L65 zj@d_C^MF{=C(Nn}8LA23 z(GSofD%9pZWSj~y%nRc~3ke7pbyN%1Vh4|`pbvI~HGtX;psWB@foQZtWI?TRcp-@p zf~PTr5Uh!g5COFaQ3o!e^&>(FDA6F>3~h=d6hKo2Y%&Mhq5#Vyj~#*qkel3K0o2Ae zOsE)bJ_a$v1FqP>%0SIzP}rePSb!{mOp`(;CSXwt)`B|d2@^uhjv)_|fn`C#18XqD z1W>~jsgVp;fZ9BU2$dFRpp2A)Y7K}0q)7}`1#S#OStxT>pmG*<(g~CnpotQ!0jbdo z;iIf-Kp7GR%R`&EU^cXI3!3*sG;6^;q@@GMbH|{>2%XIYCqzVgfi+w~y5UV$2nTsx z9enm2eZ3Q;X$sPSNJ8M|C`bsYAqwR}r@Ej#SmP7Qg)}>nIM4gF|vn1@<@RV=At+Y(J%uU4{2>d zq6)%>CJqP(x`G4N0E6l%Mp{t^Y1|+rU^<`;EwBW%i3MUKHLjpsq?C=+pn^&wQZ~XK z#9|7lBD9nWY92wFOi+1v+5|O-Agh8Q9tQCd9U8D|XwwM72Ca01wNxNFkeWjvB`6Ic zhyXOkA*FIWQePY*4T(y)EZPz>kVXrf2WhUrxJV5Zm=Lsy0^@?FhhS_-vjoNiP5i*v@TLe%04XUW zH$Py~;D!f|wcg+r;Cd-JInZetLOWtiEKDIAViXd%d>EM-<_koJvokU)YqaN5t zDxmEnU;%pu28JFm3qd$A2sr6wg32EiBbcZN0|Ucp1_p-vPyuEJ1_lQPg9A`?W>8@U zE(QjMzewsp;tmW72bdTb7z7wNL0kq-xTn+^gaz0c7#KjNfu#5t7#Kc93i)Ox7v&e{ zr`2Ro5 zGLU+Zi6DnDF+jax z1EoPJ1Y|CiW1g58l?8{gANGwEB!`)~2~wCra@A!5VTLDHnL>jHoM=J03dRS~pfH0b zM-vbqgh7e*JcxmWLF%X!w#0;|Gy?;!{V1e{rinQ;Fcm<%_CQ(EhY?gxfvf~={pfMygqz!e6#zXvU&5mv!jMCL0KSiy_tD@kxVL9z+baDf|7hM(}* z#LNJ<3Dzg2kxeXcn?PMQ@T?UjHd$hiCr~zK#jpw7$)dzIJR!&iw++-U0yVoBXk-&R z!X{9MA2ex4iA{JykOS2wX!DICf8nu>6V*0Yv!4>b!Ky5@yd}fHz`%uS8>H=tc5$QH1sY4p&!faHJS8Cys$GyyIova3lp1(SLS9t6z~e&*tKckRLlBRz_)u+v zj6A_DAl+A{u&v-|DFf69<43g%+DC||B)*_4ofOb)69czyVI?nQtOMaGIExD5CkXcw z(m)*C0@A||UtKH&w+l1`2N~W%3Ov&5VmxJrFx)Pb;X_J%h9@73Aln8XnM7CyXAv7? zhS+N_Q3eJEQG{KfF;BSBWW*JYv<_-{i@|LH4GtkJfwPG937$|BN7#{{m;$QxK?AjL z8xTo@SiA6)ND?S^fzn?E!h8gaSex*aNRlWvVKf7&n#!f%cA<=0BZ820+winxq>*id z42jdoCKVHG4hpmRuY z%TVMlqXf1RJ1_lNls4a-q zeiYb)qZ|UY_;lg+fG1oLmXKb%!_U1!9VruMU|`UL+X9`-rNkaQzR`!-0~!v=MkHf0 zN*_Ea+5m0~Xeb1|vkUhcvAGnFe+=O^<>VKqQsf^zv10_c1-hRf?gcW!4Nv|wM%V+M zkw;hqXAv7_cxpNmge?V?NI^!j9e7%Hrf@ruRuRB0AS2Z9_{R)p7kGgJ!V)-(*f7JB z&dgzUpbrO-TnZTD=#vRCFfdraY)Mb1Bwp~e3oPL_z|UcV2NM~wf~S18Lb3@mVUDl} z<Eu@c76Y$sXt;6S(nY_y|uaV1r~6c$S|MdvK%z&={yKnmv%EF$l}xEMh|sPd>Fn zvkScF25tcv;fE)m+9TPONlE&~6Gslnc7RU1pu{hDQnw?LJ&;962#eq>V&ex-T5v+L z2V3KsWV`VA$r;HmitB7V_P8L~gWg#n**|z{Q&(hr@(U_T4phOmm{S`XiRswcuOYRqNfNqJrfn1;;TDkLFFauwfovBQY6(*uZAe8128KvvyHHm@)5v#G zC^lkL8Kmbc9KHjMG({uZ1zNLBiJ$P)O))6;Kz8vVtb((MO^0}Fibb{wBk-tc6X-k$ z(0VrHCG2qXNiUi3lZb#M6!q0 zV`xQ4cF}Tds~FiHnvHFhAlX9Ov8_^Mo2W6ig{PD&gWCn!ItNeFB-cRr)~l8yY(d$S zN4{So#@aAE zHq{_(f{Z~Tdx`Xz!edh{!Y0_JO-kYkPf1>funA)T3T`E_H3pvaP>-+&%kUG)HsPuN z8sIj8_OQZDCb@(#!4qnY$aa8_{h+`eJn5hbW)HLo&rCshgSw+M&1g1(xAY=BMSAMS z)533o*#+GRK#`yD%>1{)?15}Vro=aR>ZCT9E#T30Y%W2#ZKh1vuskK)cC0k!?b3`KH7+JpSrJwhg@Z8WC({3+hK8YUv!1U|+95qJPj0p?x+ literal 0 HcmV?d00001 diff --git a/project/vs2015/external/openal_soft/COPYING b/project/vs2015/external/openal_soft/COPYING new file mode 100644 index 000000000..d0c897869 --- /dev/null +++ b/project/vs2015/external/openal_soft/COPYING @@ -0,0 +1,484 @@ + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + + Copyright (C) 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + diff --git a/project/vs2015/external/openal_soft/include/AL/al.h b/project/vs2015/external/openal_soft/include/AL/al.h new file mode 100644 index 000000000..413b38331 --- /dev/null +++ b/project/vs2015/external/openal_soft/include/AL/al.h @@ -0,0 +1,656 @@ +#ifndef AL_AL_H +#define AL_AL_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#ifndef AL_API + #if defined(AL_LIBTYPE_STATIC) + #define AL_API + #elif defined(_WIN32) + #define AL_API __declspec(dllimport) + #else + #define AL_API extern + #endif +#endif + +#if defined(_WIN32) + #define AL_APIENTRY __cdecl +#else + #define AL_APIENTRY +#endif + + +/** Deprecated macro. */ +#define OPENAL +#define ALAPI AL_API +#define ALAPIENTRY AL_APIENTRY +#define AL_INVALID (-1) +#define AL_ILLEGAL_ENUM AL_INVALID_ENUM +#define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION + +/** Supported AL version. */ +#define AL_VERSION_1_0 +#define AL_VERSION_1_1 + +/** 8-bit boolean */ +typedef char ALboolean; + +/** character */ +typedef char ALchar; + +/** signed 8-bit 2's complement integer */ +typedef signed char ALbyte; + +/** unsigned 8-bit integer */ +typedef unsigned char ALubyte; + +/** signed 16-bit 2's complement integer */ +typedef short ALshort; + +/** unsigned 16-bit integer */ +typedef unsigned short ALushort; + +/** signed 32-bit 2's complement integer */ +typedef int ALint; + +/** unsigned 32-bit integer */ +typedef unsigned int ALuint; + +/** non-negative 32-bit binary integer size */ +typedef int ALsizei; + +/** enumerated 32-bit value */ +typedef int ALenum; + +/** 32-bit IEEE754 floating-point */ +typedef float ALfloat; + +/** 64-bit IEEE754 floating-point */ +typedef double ALdouble; + +/** void type (for opaque pointers only) */ +typedef void ALvoid; + + +/* Enumerant values begin at column 50. No tabs. */ + +/** "no distance model" or "no buffer" */ +#define AL_NONE 0 + +/** Boolean False. */ +#define AL_FALSE 0 + +/** Boolean True. */ +#define AL_TRUE 1 + + +/** + * Relative source. + * Type: ALboolean + * Range: [AL_TRUE, AL_FALSE] + * Default: AL_FALSE + * + * Specifies if the Source has relative coordinates. + */ +#define AL_SOURCE_RELATIVE 0x202 + + +/** + * Inner cone angle, in degrees. + * Type: ALint, ALfloat + * Range: [0 - 360] + * Default: 360 + * + * The angle covered by the inner cone, where the source will not attenuate. + */ +#define AL_CONE_INNER_ANGLE 0x1001 + +/** + * Outer cone angle, in degrees. + * Range: [0 - 360] + * Default: 360 + * + * The angle covered by the outer cone, where the source will be fully + * attenuated. + */ +#define AL_CONE_OUTER_ANGLE 0x1002 + +/** + * Source pitch. + * Type: ALfloat + * Range: [0.5 - 2.0] + * Default: 1.0 + * + * A multiplier for the frequency (sample rate) of the source's buffer. + */ +#define AL_PITCH 0x1003 + +/** + * Source or listener position. + * Type: ALfloat[3], ALint[3] + * Default: {0, 0, 0} + * + * The source or listener location in three dimensional space. + * + * OpenAL, like OpenGL, uses a right handed coordinate system, where in a + * frontal default view X (thumb) points right, Y points up (index finger), and + * Z points towards the viewer/camera (middle finger). + * + * To switch from a left handed coordinate system, flip the sign on the Z + * coordinate. + */ +#define AL_POSITION 0x1004 + +/** + * Source direction. + * Type: ALfloat[3], ALint[3] + * Default: {0, 0, 0} + * + * Specifies the current direction in local space. + * A zero-length vector specifies an omni-directional source (cone is ignored). + */ +#define AL_DIRECTION 0x1005 + +/** + * Source or listener velocity. + * Type: ALfloat[3], ALint[3] + * Default: {0, 0, 0} + * + * Specifies the current velocity in local space. + */ +#define AL_VELOCITY 0x1006 + +/** + * Source looping. + * Type: ALboolean + * Range: [AL_TRUE, AL_FALSE] + * Default: AL_FALSE + * + * Specifies whether source is looping. + */ +#define AL_LOOPING 0x1007 + +/** + * Source buffer. + * Type: ALuint + * Range: any valid Buffer. + * + * Specifies the buffer to provide sound samples. + */ +#define AL_BUFFER 0x1009 + +/** + * Source or listener gain. + * Type: ALfloat + * Range: [0.0 - ] + * + * A value of 1.0 means unattenuated. Each division by 2 equals an attenuation + * of about -6dB. Each multiplicaton by 2 equals an amplification of about + * +6dB. + * + * A value of 0.0 is meaningless with respect to a logarithmic scale; it is + * silent. + */ +#define AL_GAIN 0x100A + +/** + * Minimum source gain. + * Type: ALfloat + * Range: [0.0 - 1.0] + * + * The minimum gain allowed for a source, after distance and cone attenation is + * applied (if applicable). + */ +#define AL_MIN_GAIN 0x100D + +/** + * Maximum source gain. + * Type: ALfloat + * Range: [0.0 - 1.0] + * + * The maximum gain allowed for a source, after distance and cone attenation is + * applied (if applicable). + */ +#define AL_MAX_GAIN 0x100E + +/** + * Listener orientation. + * Type: ALfloat[6] + * Default: {0.0, 0.0, -1.0, 0.0, 1.0, 0.0} + * + * Effectively two three dimensional vectors. The first vector is the front (or + * "at") and the second is the top (or "up"). + * + * Both vectors are in local space. + */ +#define AL_ORIENTATION 0x100F + +/** + * Source state (query only). + * Type: ALint + * Range: [AL_INITIAL, AL_PLAYING, AL_PAUSED, AL_STOPPED] + */ +#define AL_SOURCE_STATE 0x1010 + +/** Source state value. */ +#define AL_INITIAL 0x1011 +#define AL_PLAYING 0x1012 +#define AL_PAUSED 0x1013 +#define AL_STOPPED 0x1014 + +/** + * Source Buffer Queue size (query only). + * Type: ALint + * + * The number of buffers queued using alSourceQueueBuffers, minus the buffers + * removed with alSourceUnqueueBuffers. + */ +#define AL_BUFFERS_QUEUED 0x1015 + +/** + * Source Buffer Queue processed count (query only). + * Type: ALint + * + * The number of queued buffers that have been fully processed, and can be + * removed with alSourceUnqueueBuffers. + * + * Looping sources will never fully process buffers because they will be set to + * play again for when the source loops. + */ +#define AL_BUFFERS_PROCESSED 0x1016 + +/** + * Source reference distance. + * Type: ALfloat + * Range: [0.0 - ] + * Default: 1.0 + * + * The distance in units that no attenuation occurs. + * + * At 0.0, no distance attenuation ever occurs on non-linear attenuation models. + */ +#define AL_REFERENCE_DISTANCE 0x1020 + +/** + * Source rolloff factor. + * Type: ALfloat + * Range: [0.0 - ] + * Default: 1.0 + * + * Multiplier to exaggerate or diminish distance attenuation. + * + * At 0.0, no distance attenuation ever occurs. + */ +#define AL_ROLLOFF_FACTOR 0x1021 + +/** + * Outer cone gain. + * Type: ALfloat + * Range: [0.0 - 1.0] + * Default: 0.0 + * + * The gain attenuation applied when the listener is outside of the source's + * outer cone. + */ +#define AL_CONE_OUTER_GAIN 0x1022 + +/** + * Source maximum distance. + * Type: ALfloat + * Range: [0.0 - ] + * Default: +inf + * + * The distance above which the source is not attenuated any further with a + * clamped distance model, or where attenuation reaches 0.0 gain for linear + * distance models with a default rolloff factor. + */ +#define AL_MAX_DISTANCE 0x1023 + +/** Source buffer position, in seconds */ +#define AL_SEC_OFFSET 0x1024 +/** Source buffer position, in sample frames */ +#define AL_SAMPLE_OFFSET 0x1025 +/** Source buffer position, in bytes */ +#define AL_BYTE_OFFSET 0x1026 + +/** + * Source type (query only). + * Type: ALint + * Range: [AL_STATIC, AL_STREAMING, AL_UNDETERMINED] + * + * A Source is Static if a Buffer has been attached using AL_BUFFER. + * + * A Source is Streaming if one or more Buffers have been attached using + * alSourceQueueBuffers. + * + * A Source is Undetermined when it has the NULL buffer attached using + * AL_BUFFER. + */ +#define AL_SOURCE_TYPE 0x1027 + +/** Source type value. */ +#define AL_STATIC 0x1028 +#define AL_STREAMING 0x1029 +#define AL_UNDETERMINED 0x1030 + +/** Buffer format specifier. */ +#define AL_FORMAT_MONO8 0x1100 +#define AL_FORMAT_MONO16 0x1101 +#define AL_FORMAT_STEREO8 0x1102 +#define AL_FORMAT_STEREO16 0x1103 + +/** Buffer frequency (query only). */ +#define AL_FREQUENCY 0x2001 +/** Buffer bits per sample (query only). */ +#define AL_BITS 0x2002 +/** Buffer channel count (query only). */ +#define AL_CHANNELS 0x2003 +/** Buffer data size (query only). */ +#define AL_SIZE 0x2004 + +/** + * Buffer state. + * + * Not for public use. + */ +#define AL_UNUSED 0x2010 +#define AL_PENDING 0x2011 +#define AL_PROCESSED 0x2012 + + +/** No error. */ +#define AL_NO_ERROR 0 + +/** Invalid name paramater passed to AL call. */ +#define AL_INVALID_NAME 0xA001 + +/** Invalid enum parameter passed to AL call. */ +#define AL_INVALID_ENUM 0xA002 + +/** Invalid value parameter passed to AL call. */ +#define AL_INVALID_VALUE 0xA003 + +/** Illegal AL call. */ +#define AL_INVALID_OPERATION 0xA004 + +/** Not enough memory. */ +#define AL_OUT_OF_MEMORY 0xA005 + + +/** Context string: Vendor ID. */ +#define AL_VENDOR 0xB001 +/** Context string: Version. */ +#define AL_VERSION 0xB002 +/** Context string: Renderer ID. */ +#define AL_RENDERER 0xB003 +/** Context string: Space-separated extension list. */ +#define AL_EXTENSIONS 0xB004 + + +/** + * Doppler scale. + * Type: ALfloat + * Range: [0.0 - ] + * Default: 1.0 + * + * Scale for source and listener velocities. + */ +#define AL_DOPPLER_FACTOR 0xC000 +AL_API void AL_APIENTRY alDopplerFactor(ALfloat value); + +/** + * Doppler velocity (deprecated). + * + * A multiplier applied to the Speed of Sound. + */ +#define AL_DOPPLER_VELOCITY 0xC001 +AL_API void AL_APIENTRY alDopplerVelocity(ALfloat value); + +/** + * Speed of Sound, in units per second. + * Type: ALfloat + * Range: [0.0001 - ] + * Default: 343.3 + * + * The speed at which sound waves are assumed to travel, when calculating the + * doppler effect. + */ +#define AL_SPEED_OF_SOUND 0xC003 +AL_API void AL_APIENTRY alSpeedOfSound(ALfloat value); + +/** + * Distance attenuation model. + * Type: ALint + * Range: [AL_NONE, AL_INVERSE_DISTANCE, AL_INVERSE_DISTANCE_CLAMPED, + * AL_LINEAR_DISTANCE, AL_LINEAR_DISTANCE_CLAMPED, + * AL_EXPONENT_DISTANCE, AL_EXPONENT_DISTANCE_CLAMPED] + * Default: AL_INVERSE_DISTANCE_CLAMPED + * + * The model by which sources attenuate with distance. + * + * None - No distance attenuation. + * Inverse - Doubling the distance halves the source gain. + * Linear - Linear gain scaling between the reference and max distances. + * Exponent - Exponential gain dropoff. + * + * Clamped variations work like the non-clamped counterparts, except the + * distance calculated is clamped between the reference and max distances. + */ +#define AL_DISTANCE_MODEL 0xD000 +AL_API void AL_APIENTRY alDistanceModel(ALenum distanceModel); + +/** Distance model value. */ +#define AL_INVERSE_DISTANCE 0xD001 +#define AL_INVERSE_DISTANCE_CLAMPED 0xD002 +#define AL_LINEAR_DISTANCE 0xD003 +#define AL_LINEAR_DISTANCE_CLAMPED 0xD004 +#define AL_EXPONENT_DISTANCE 0xD005 +#define AL_EXPONENT_DISTANCE_CLAMPED 0xD006 + +/** Renderer State management. */ +AL_API void AL_APIENTRY alEnable(ALenum capability); +AL_API void AL_APIENTRY alDisable(ALenum capability); +AL_API ALboolean AL_APIENTRY alIsEnabled(ALenum capability); + +/** State retrieval. */ +AL_API const ALchar* AL_APIENTRY alGetString(ALenum param); +AL_API void AL_APIENTRY alGetBooleanv(ALenum param, ALboolean *values); +AL_API void AL_APIENTRY alGetIntegerv(ALenum param, ALint *values); +AL_API void AL_APIENTRY alGetFloatv(ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetDoublev(ALenum param, ALdouble *values); +AL_API ALboolean AL_APIENTRY alGetBoolean(ALenum param); +AL_API ALint AL_APIENTRY alGetInteger(ALenum param); +AL_API ALfloat AL_APIENTRY alGetFloat(ALenum param); +AL_API ALdouble AL_APIENTRY alGetDouble(ALenum param); + +/** + * Error retrieval. + * + * Obtain the first error generated in the AL context since the last check. + */ +AL_API ALenum AL_APIENTRY alGetError(void); + +/** + * Extension support. + * + * Query for the presence of an extension, and obtain any appropriate function + * pointers and enum values. + */ +AL_API ALboolean AL_APIENTRY alIsExtensionPresent(const ALchar *extname); +AL_API void* AL_APIENTRY alGetProcAddress(const ALchar *fname); +AL_API ALenum AL_APIENTRY alGetEnumValue(const ALchar *ename); + + +/** Set Listener parameters */ +AL_API void AL_APIENTRY alListenerf(ALenum param, ALfloat value); +AL_API void AL_APIENTRY alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +AL_API void AL_APIENTRY alListenerfv(ALenum param, const ALfloat *values); +AL_API void AL_APIENTRY alListeneri(ALenum param, ALint value); +AL_API void AL_APIENTRY alListener3i(ALenum param, ALint value1, ALint value2, ALint value3); +AL_API void AL_APIENTRY alListeneriv(ALenum param, const ALint *values); + +/** Get Listener parameters */ +AL_API void AL_APIENTRY alGetListenerf(ALenum param, ALfloat *value); +AL_API void AL_APIENTRY alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +AL_API void AL_APIENTRY alGetListenerfv(ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetListeneri(ALenum param, ALint *value); +AL_API void AL_APIENTRY alGetListener3i(ALenum param, ALint *value1, ALint *value2, ALint *value3); +AL_API void AL_APIENTRY alGetListeneriv(ALenum param, ALint *values); + + +/** Create Source objects. */ +AL_API void AL_APIENTRY alGenSources(ALsizei n, ALuint *sources); +/** Delete Source objects. */ +AL_API void AL_APIENTRY alDeleteSources(ALsizei n, const ALuint *sources); +/** Verify a handle is a valid Source. */ +AL_API ALboolean AL_APIENTRY alIsSource(ALuint source); + +/** Set Source parameters. */ +AL_API void AL_APIENTRY alSourcef(ALuint source, ALenum param, ALfloat value); +AL_API void AL_APIENTRY alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +AL_API void AL_APIENTRY alSourcefv(ALuint source, ALenum param, const ALfloat *values); +AL_API void AL_APIENTRY alSourcei(ALuint source, ALenum param, ALint value); +AL_API void AL_APIENTRY alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3); +AL_API void AL_APIENTRY alSourceiv(ALuint source, ALenum param, const ALint *values); + +/** Get Source parameters. */ +AL_API void AL_APIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat *value); +AL_API void AL_APIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +AL_API void AL_APIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetSourcei(ALuint source, ALenum param, ALint *value); +AL_API void AL_APIENTRY alGetSource3i(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3); +AL_API void AL_APIENTRY alGetSourceiv(ALuint source, ALenum param, ALint *values); + + +/** Play, replay, or resume (if paused) a list of Sources */ +AL_API void AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources); +/** Stop a list of Sources */ +AL_API void AL_APIENTRY alSourceStopv(ALsizei n, const ALuint *sources); +/** Rewind a list of Sources */ +AL_API void AL_APIENTRY alSourceRewindv(ALsizei n, const ALuint *sources); +/** Pause a list of Sources */ +AL_API void AL_APIENTRY alSourcePausev(ALsizei n, const ALuint *sources); + +/** Play, replay, or resume a Source */ +AL_API void AL_APIENTRY alSourcePlay(ALuint source); +/** Stop a Source */ +AL_API void AL_APIENTRY alSourceStop(ALuint source); +/** Rewind a Source (set playback postiton to beginning) */ +AL_API void AL_APIENTRY alSourceRewind(ALuint source); +/** Pause a Source */ +AL_API void AL_APIENTRY alSourcePause(ALuint source); + +/** Queue buffers onto a source */ +AL_API void AL_APIENTRY alSourceQueueBuffers(ALuint source, ALsizei nb, const ALuint *buffers); +/** Unqueue processed buffers from a source */ +AL_API void AL_APIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint *buffers); + + +/** Create Buffer objects */ +AL_API void AL_APIENTRY alGenBuffers(ALsizei n, ALuint *buffers); +/** Delete Buffer objects */ +AL_API void AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers); +/** Verify a handle is a valid Buffer */ +AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer); + +/** Specifies the data to be copied into a buffer */ +AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq); + +/** Set Buffer parameters, */ +AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value); +AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values); +AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value); +AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3); +AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values); + +/** Get Buffer parameters. */ +AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value); +AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values); +AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value); +AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3); +AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values); + +/** Pointer-to-function type, useful for dynamically getting AL entry points. */ +typedef void (AL_APIENTRY *LPALENABLE)(ALenum capability); +typedef void (AL_APIENTRY *LPALDISABLE)(ALenum capability); +typedef ALboolean (AL_APIENTRY *LPALISENABLED)(ALenum capability); +typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)(ALenum param); +typedef void (AL_APIENTRY *LPALGETBOOLEANV)(ALenum param, ALboolean *values); +typedef void (AL_APIENTRY *LPALGETINTEGERV)(ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALGETFLOATV)(ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETDOUBLEV)(ALenum param, ALdouble *values); +typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)(ALenum param); +typedef ALint (AL_APIENTRY *LPALGETINTEGER)(ALenum param); +typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)(ALenum param); +typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)(ALenum param); +typedef ALenum (AL_APIENTRY *LPALGETERROR)(void); +typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar *extname); +typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)(const ALchar *fname); +typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)(const ALchar *ename); +typedef void (AL_APIENTRY *LPALLISTENERF)(ALenum param, ALfloat value); +typedef void (AL_APIENTRY *LPALLISTENER3F)(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +typedef void (AL_APIENTRY *LPALLISTENERFV)(ALenum param, const ALfloat *values); +typedef void (AL_APIENTRY *LPALLISTENERI)(ALenum param, ALint value); +typedef void (AL_APIENTRY *LPALLISTENER3I)(ALenum param, ALint value1, ALint value2, ALint value3); +typedef void (AL_APIENTRY *LPALLISTENERIV)(ALenum param, const ALint *values); +typedef void (AL_APIENTRY *LPALGETLISTENERF)(ALenum param, ALfloat *value); +typedef void (AL_APIENTRY *LPALGETLISTENER3F)(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +typedef void (AL_APIENTRY *LPALGETLISTENERFV)(ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETLISTENERI)(ALenum param, ALint *value); +typedef void (AL_APIENTRY *LPALGETLISTENER3I)(ALenum param, ALint *value1, ALint *value2, ALint *value3); +typedef void (AL_APIENTRY *LPALGETLISTENERIV)(ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALGENSOURCES)(ALsizei n, ALuint *sources); +typedef void (AL_APIENTRY *LPALDELETESOURCES)(ALsizei n, const ALuint *sources); +typedef ALboolean (AL_APIENTRY *LPALISSOURCE)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEF)(ALuint source, ALenum param, ALfloat value); +typedef void (AL_APIENTRY *LPALSOURCE3F)(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +typedef void (AL_APIENTRY *LPALSOURCEFV)(ALuint source, ALenum param, const ALfloat *values); +typedef void (AL_APIENTRY *LPALSOURCEI)(ALuint source, ALenum param, ALint value); +typedef void (AL_APIENTRY *LPALSOURCE3I)(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3); +typedef void (AL_APIENTRY *LPALSOURCEIV)(ALuint source, ALenum param, const ALint *values); +typedef void (AL_APIENTRY *LPALGETSOURCEF)(ALuint source, ALenum param, ALfloat *value); +typedef void (AL_APIENTRY *LPALGETSOURCE3F)(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +typedef void (AL_APIENTRY *LPALGETSOURCEFV)(ALuint source, ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETSOURCEI)(ALuint source, ALenum param, ALint *value); +typedef void (AL_APIENTRY *LPALGETSOURCE3I)(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3); +typedef void (AL_APIENTRY *LPALGETSOURCEIV)(ALuint source, ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALSOURCEPLAYV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCESTOPV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCEREWINDV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)(ALsizei n, const ALuint *sources); +typedef void (AL_APIENTRY *LPALSOURCEPLAY)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCESTOP)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEREWIND)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEPAUSE)(ALuint source); +typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint source, ALsizei nb, const ALuint *buffers); +typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint source, ALsizei nb, ALuint *buffers); +typedef void (AL_APIENTRY *LPALGENBUFFERS)(ALsizei n, ALuint *buffers); +typedef void (AL_APIENTRY *LPALDELETEBUFFERS)(ALsizei n, const ALuint *buffers); +typedef ALboolean (AL_APIENTRY *LPALISBUFFER)(ALuint buffer); +typedef void (AL_APIENTRY *LPALBUFFERDATA)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq); +typedef void (AL_APIENTRY *LPALBUFFERF)(ALuint buffer, ALenum param, ALfloat value); +typedef void (AL_APIENTRY *LPALBUFFER3F)(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3); +typedef void (AL_APIENTRY *LPALBUFFERFV)(ALuint buffer, ALenum param, const ALfloat *values); +typedef void (AL_APIENTRY *LPALBUFFERI)(ALuint buffer, ALenum param, ALint value); +typedef void (AL_APIENTRY *LPALBUFFER3I)(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3); +typedef void (AL_APIENTRY *LPALBUFFERIV)(ALuint buffer, ALenum param, const ALint *values); +typedef void (AL_APIENTRY *LPALGETBUFFERF)(ALuint buffer, ALenum param, ALfloat *value); +typedef void (AL_APIENTRY *LPALGETBUFFER3F)(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3); +typedef void (AL_APIENTRY *LPALGETBUFFERFV)(ALuint buffer, ALenum param, ALfloat *values); +typedef void (AL_APIENTRY *LPALGETBUFFERI)(ALuint buffer, ALenum param, ALint *value); +typedef void (AL_APIENTRY *LPALGETBUFFER3I)(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3); +typedef void (AL_APIENTRY *LPALGETBUFFERIV)(ALuint buffer, ALenum param, ALint *values); +typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)(ALfloat value); +typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)(ALfloat value); +typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)(ALfloat value); +typedef void (AL_APIENTRY *LPALDISTANCEMODEL)(ALenum distanceModel); + +#if defined(__cplusplus) +} /* extern "C" */ +#endif + +#endif /* AL_AL_H */ diff --git a/project/vs2015/external/openal_soft/include/AL/alc.h b/project/vs2015/external/openal_soft/include/AL/alc.h new file mode 100644 index 000000000..294e8b33c --- /dev/null +++ b/project/vs2015/external/openal_soft/include/AL/alc.h @@ -0,0 +1,237 @@ +#ifndef AL_ALC_H +#define AL_ALC_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#ifndef ALC_API + #if defined(AL_LIBTYPE_STATIC) + #define ALC_API + #elif defined(_WIN32) + #define ALC_API __declspec(dllimport) + #else + #define ALC_API extern + #endif +#endif + +#if defined(_WIN32) + #define ALC_APIENTRY __cdecl +#else + #define ALC_APIENTRY +#endif + + +/** Deprecated macro. */ +#define ALCAPI ALC_API +#define ALCAPIENTRY ALC_APIENTRY +#define ALC_INVALID 0 + +/** Supported ALC version? */ +#define ALC_VERSION_0_1 1 + +/** Opaque device handle */ +typedef struct ALCdevice_struct ALCdevice; +/** Opaque context handle */ +typedef struct ALCcontext_struct ALCcontext; + +/** 8-bit boolean */ +typedef char ALCboolean; + +/** character */ +typedef char ALCchar; + +/** signed 8-bit 2's complement integer */ +typedef signed char ALCbyte; + +/** unsigned 8-bit integer */ +typedef unsigned char ALCubyte; + +/** signed 16-bit 2's complement integer */ +typedef short ALCshort; + +/** unsigned 16-bit integer */ +typedef unsigned short ALCushort; + +/** signed 32-bit 2's complement integer */ +typedef int ALCint; + +/** unsigned 32-bit integer */ +typedef unsigned int ALCuint; + +/** non-negative 32-bit binary integer size */ +typedef int ALCsizei; + +/** enumerated 32-bit value */ +typedef int ALCenum; + +/** 32-bit IEEE754 floating-point */ +typedef float ALCfloat; + +/** 64-bit IEEE754 floating-point */ +typedef double ALCdouble; + +/** void type (for opaque pointers only) */ +typedef void ALCvoid; + + +/* Enumerant values begin at column 50. No tabs. */ + +/** Boolean False. */ +#define ALC_FALSE 0 + +/** Boolean True. */ +#define ALC_TRUE 1 + +/** Context attribute: Hz. */ +#define ALC_FREQUENCY 0x1007 + +/** Context attribute: Hz. */ +#define ALC_REFRESH 0x1008 + +/** Context attribute: AL_TRUE or AL_FALSE. */ +#define ALC_SYNC 0x1009 + +/** Context attribute: requested Mono (3D) Sources. */ +#define ALC_MONO_SOURCES 0x1010 + +/** Context attribute: requested Stereo Sources. */ +#define ALC_STEREO_SOURCES 0x1011 + +/** No error. */ +#define ALC_NO_ERROR 0 + +/** Invalid device handle. */ +#define ALC_INVALID_DEVICE 0xA001 + +/** Invalid context handle. */ +#define ALC_INVALID_CONTEXT 0xA002 + +/** Invalid enum parameter passed to an ALC call. */ +#define ALC_INVALID_ENUM 0xA003 + +/** Invalid value parameter passed to an ALC call. */ +#define ALC_INVALID_VALUE 0xA004 + +/** Out of memory. */ +#define ALC_OUT_OF_MEMORY 0xA005 + + +/** Runtime ALC version. */ +#define ALC_MAJOR_VERSION 0x1000 +#define ALC_MINOR_VERSION 0x1001 + +/** Context attribute list properties. */ +#define ALC_ATTRIBUTES_SIZE 0x1002 +#define ALC_ALL_ATTRIBUTES 0x1003 + +/** String for the default device specifier. */ +#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 +/** + * String for the given device's specifier. + * + * If device handle is NULL, it is instead a null-char separated list of + * strings of known device specifiers (list ends with an empty string). + */ +#define ALC_DEVICE_SPECIFIER 0x1005 +/** String for space-separated list of ALC extensions. */ +#define ALC_EXTENSIONS 0x1006 + + +/** Capture extension */ +#define ALC_EXT_CAPTURE 1 +/** + * String for the given capture device's specifier. + * + * If device handle is NULL, it is instead a null-char separated list of + * strings of known capture device specifiers (list ends with an empty string). + */ +#define ALC_CAPTURE_DEVICE_SPECIFIER 0x310 +/** String for the default capture device specifier. */ +#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311 +/** Number of sample frames available for capture. */ +#define ALC_CAPTURE_SAMPLES 0x312 + + +/** Enumerate All extension */ +#define ALC_ENUMERATE_ALL_EXT 1 +/** String for the default extended device specifier. */ +#define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012 +/** + * String for the given extended device's specifier. + * + * If device handle is NULL, it is instead a null-char separated list of + * strings of known extended device specifiers (list ends with an empty string). + */ +#define ALC_ALL_DEVICES_SPECIFIER 0x1013 + + +/** Context management. */ +ALC_API ALCcontext* ALC_APIENTRY alcCreateContext(ALCdevice *device, const ALCint* attrlist); +ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent(ALCcontext *context); +ALC_API void ALC_APIENTRY alcProcessContext(ALCcontext *context); +ALC_API void ALC_APIENTRY alcSuspendContext(ALCcontext *context); +ALC_API void ALC_APIENTRY alcDestroyContext(ALCcontext *context); +ALC_API ALCcontext* ALC_APIENTRY alcGetCurrentContext(void); +ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice(ALCcontext *context); + +/** Device management. */ +ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *devicename); +ALC_API ALCboolean ALC_APIENTRY alcCloseDevice(ALCdevice *device); + + +/** + * Error support. + * + * Obtain the most recent Device error. + */ +ALC_API ALCenum ALC_APIENTRY alcGetError(ALCdevice *device); + +/** + * Extension support. + * + * Query for the presence of an extension, and obtain any appropriate + * function pointers and enum values. + */ +ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent(ALCdevice *device, const ALCchar *extname); +ALC_API void* ALC_APIENTRY alcGetProcAddress(ALCdevice *device, const ALCchar *funcname); +ALC_API ALCenum ALC_APIENTRY alcGetEnumValue(ALCdevice *device, const ALCchar *enumname); + +/** Query function. */ +ALC_API const ALCchar* ALC_APIENTRY alcGetString(ALCdevice *device, ALCenum param); +ALC_API void ALC_APIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values); + +/** Capture function. */ +ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize); +ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice(ALCdevice *device); +ALC_API void ALC_APIENTRY alcCaptureStart(ALCdevice *device); +ALC_API void ALC_APIENTRY alcCaptureStop(ALCdevice *device); +ALC_API void ALC_APIENTRY alcCaptureSamples(ALCdevice *device, ALCvoid *buffer, ALCsizei samples); + +/** Pointer-to-function type, useful for dynamically getting ALC entry points. */ +typedef ALCcontext* (ALC_APIENTRY *LPALCCREATECONTEXT)(ALCdevice *device, const ALCint *attrlist); +typedef ALCboolean (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)(ALCcontext *context); +typedef void (ALC_APIENTRY *LPALCPROCESSCONTEXT)(ALCcontext *context); +typedef void (ALC_APIENTRY *LPALCSUSPENDCONTEXT)(ALCcontext *context); +typedef void (ALC_APIENTRY *LPALCDESTROYCONTEXT)(ALCcontext *context); +typedef ALCcontext* (ALC_APIENTRY *LPALCGETCURRENTCONTEXT)(void); +typedef ALCdevice* (ALC_APIENTRY *LPALCGETCONTEXTSDEVICE)(ALCcontext *context); +typedef ALCdevice* (ALC_APIENTRY *LPALCOPENDEVICE)(const ALCchar *devicename); +typedef ALCboolean (ALC_APIENTRY *LPALCCLOSEDEVICE)(ALCdevice *device); +typedef ALCenum (ALC_APIENTRY *LPALCGETERROR)(ALCdevice *device); +typedef ALCboolean (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)(ALCdevice *device, const ALCchar *extname); +typedef void* (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname); +typedef ALCenum (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname); +typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)(ALCdevice *device, ALCenum param); +typedef void (ALC_APIENTRY *LPALCGETINTEGERV)(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values); +typedef ALCdevice* (ALC_APIENTRY *LPALCCAPTUREOPENDEVICE)(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize); +typedef ALCboolean (ALC_APIENTRY *LPALCCAPTURECLOSEDEVICE)(ALCdevice *device); +typedef void (ALC_APIENTRY *LPALCCAPTURESTART)(ALCdevice *device); +typedef void (ALC_APIENTRY *LPALCCAPTURESTOP)(ALCdevice *device); +typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)(ALCdevice *device, ALCvoid *buffer, ALCsizei samples); + +#if defined(__cplusplus) +} +#endif + +#endif /* AL_ALC_H */ diff --git a/project/vs2015/external/openal_soft/include/AL/alext.h b/project/vs2015/external/openal_soft/include/AL/alext.h new file mode 100644 index 000000000..6af581aad --- /dev/null +++ b/project/vs2015/external/openal_soft/include/AL/alext.h @@ -0,0 +1,438 @@ +/** + * OpenAL cross platform audio library + * Copyright (C) 2008 by authors. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * Or go to http://www.gnu.org/copyleft/lgpl.html + */ + +#ifndef AL_ALEXT_H +#define AL_ALEXT_H + +#include +/* Define int64_t and uint64_t types */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include +#endif + +#include "alc.h" +#include "al.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef AL_LOKI_IMA_ADPCM_format +#define AL_LOKI_IMA_ADPCM_format 1 +#define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000 +#define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001 +#endif + +#ifndef AL_LOKI_WAVE_format +#define AL_LOKI_WAVE_format 1 +#define AL_FORMAT_WAVE_EXT 0x10002 +#endif + +#ifndef AL_EXT_vorbis +#define AL_EXT_vorbis 1 +#define AL_FORMAT_VORBIS_EXT 0x10003 +#endif + +#ifndef AL_LOKI_quadriphonic +#define AL_LOKI_quadriphonic 1 +#define AL_FORMAT_QUAD8_LOKI 0x10004 +#define AL_FORMAT_QUAD16_LOKI 0x10005 +#endif + +#ifndef AL_EXT_float32 +#define AL_EXT_float32 1 +#define AL_FORMAT_MONO_FLOAT32 0x10010 +#define AL_FORMAT_STEREO_FLOAT32 0x10011 +#endif + +#ifndef AL_EXT_double +#define AL_EXT_double 1 +#define AL_FORMAT_MONO_DOUBLE_EXT 0x10012 +#define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013 +#endif + +#ifndef AL_EXT_MULAW +#define AL_EXT_MULAW 1 +#define AL_FORMAT_MONO_MULAW_EXT 0x10014 +#define AL_FORMAT_STEREO_MULAW_EXT 0x10015 +#endif + +#ifndef AL_EXT_ALAW +#define AL_EXT_ALAW 1 +#define AL_FORMAT_MONO_ALAW_EXT 0x10016 +#define AL_FORMAT_STEREO_ALAW_EXT 0x10017 +#endif + +#ifndef ALC_LOKI_audio_channel +#define ALC_LOKI_audio_channel 1 +#define ALC_CHAN_MAIN_LOKI 0x500001 +#define ALC_CHAN_PCM_LOKI 0x500002 +#define ALC_CHAN_CD_LOKI 0x500003 +#endif + +#ifndef AL_EXT_MCFORMATS +#define AL_EXT_MCFORMATS 1 +#define AL_FORMAT_QUAD8 0x1204 +#define AL_FORMAT_QUAD16 0x1205 +#define AL_FORMAT_QUAD32 0x1206 +#define AL_FORMAT_REAR8 0x1207 +#define AL_FORMAT_REAR16 0x1208 +#define AL_FORMAT_REAR32 0x1209 +#define AL_FORMAT_51CHN8 0x120A +#define AL_FORMAT_51CHN16 0x120B +#define AL_FORMAT_51CHN32 0x120C +#define AL_FORMAT_61CHN8 0x120D +#define AL_FORMAT_61CHN16 0x120E +#define AL_FORMAT_61CHN32 0x120F +#define AL_FORMAT_71CHN8 0x1210 +#define AL_FORMAT_71CHN16 0x1211 +#define AL_FORMAT_71CHN32 0x1212 +#endif + +#ifndef AL_EXT_MULAW_MCFORMATS +#define AL_EXT_MULAW_MCFORMATS 1 +#define AL_FORMAT_MONO_MULAW 0x10014 +#define AL_FORMAT_STEREO_MULAW 0x10015 +#define AL_FORMAT_QUAD_MULAW 0x10021 +#define AL_FORMAT_REAR_MULAW 0x10022 +#define AL_FORMAT_51CHN_MULAW 0x10023 +#define AL_FORMAT_61CHN_MULAW 0x10024 +#define AL_FORMAT_71CHN_MULAW 0x10025 +#endif + +#ifndef AL_EXT_IMA4 +#define AL_EXT_IMA4 1 +#define AL_FORMAT_MONO_IMA4 0x1300 +#define AL_FORMAT_STEREO_IMA4 0x1301 +#endif + +#ifndef AL_EXT_STATIC_BUFFER +#define AL_EXT_STATIC_BUFFER 1 +typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei); +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq); +#endif +#endif + +#ifndef ALC_EXT_EFX +#define ALC_EXT_EFX 1 +#include "efx.h" +#endif + +#ifndef ALC_EXT_disconnect +#define ALC_EXT_disconnect 1 +#define ALC_CONNECTED 0x313 +#endif + +#ifndef ALC_EXT_thread_local_context +#define ALC_EXT_thread_local_context 1 +typedef ALCboolean (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context); +typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void); +#ifdef AL_ALEXT_PROTOTYPES +ALC_API ALCboolean ALC_APIENTRY alcSetThreadContext(ALCcontext *context); +ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void); +#endif +#endif + +#ifndef AL_EXT_source_distance_model +#define AL_EXT_source_distance_model 1 +#define AL_SOURCE_DISTANCE_MODEL 0x200 +#endif + +#ifndef AL_SOFT_buffer_sub_data +#define AL_SOFT_buffer_sub_data 1 +#define AL_BYTE_RW_OFFSETS_SOFT 0x1031 +#define AL_SAMPLE_RW_OFFSETS_SOFT 0x1032 +typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATASOFTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei); +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length); +#endif +#endif + +#ifndef AL_SOFT_loop_points +#define AL_SOFT_loop_points 1 +#define AL_LOOP_POINTS_SOFT 0x2015 +#endif + +#ifndef AL_EXT_FOLDBACK +#define AL_EXT_FOLDBACK 1 +#define AL_EXT_FOLDBACK_NAME "AL_EXT_FOLDBACK" +#define AL_FOLDBACK_EVENT_BLOCK 0x4112 +#define AL_FOLDBACK_EVENT_START 0x4111 +#define AL_FOLDBACK_EVENT_STOP 0x4113 +#define AL_FOLDBACK_MODE_MONO 0x4101 +#define AL_FOLDBACK_MODE_STEREO 0x4102 +typedef void (AL_APIENTRY*LPALFOLDBACKCALLBACK)(ALenum,ALsizei); +typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTART)(ALenum,ALsizei,ALsizei,ALfloat*,LPALFOLDBACKCALLBACK); +typedef void (AL_APIENTRY*LPALREQUESTFOLDBACKSTOP)(void); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alRequestFoldbackStart(ALenum mode,ALsizei count,ALsizei length,ALfloat *mem,LPALFOLDBACKCALLBACK callback); +AL_API void AL_APIENTRY alRequestFoldbackStop(void); +#endif +#endif + +#ifndef ALC_EXT_DEDICATED +#define ALC_EXT_DEDICATED 1 +#define AL_DEDICATED_GAIN 0x0001 +#define AL_EFFECT_DEDICATED_DIALOGUE 0x9001 +#define AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT 0x9000 +#endif + +#ifndef AL_SOFT_buffer_samples +#define AL_SOFT_buffer_samples 1 +/* Channel configurations */ +#define AL_MONO_SOFT 0x1500 +#define AL_STEREO_SOFT 0x1501 +#define AL_REAR_SOFT 0x1502 +#define AL_QUAD_SOFT 0x1503 +#define AL_5POINT1_SOFT 0x1504 +#define AL_6POINT1_SOFT 0x1505 +#define AL_7POINT1_SOFT 0x1506 + +/* Sample types */ +#define AL_BYTE_SOFT 0x1400 +#define AL_UNSIGNED_BYTE_SOFT 0x1401 +#define AL_SHORT_SOFT 0x1402 +#define AL_UNSIGNED_SHORT_SOFT 0x1403 +#define AL_INT_SOFT 0x1404 +#define AL_UNSIGNED_INT_SOFT 0x1405 +#define AL_FLOAT_SOFT 0x1406 +#define AL_DOUBLE_SOFT 0x1407 +#define AL_BYTE3_SOFT 0x1408 +#define AL_UNSIGNED_BYTE3_SOFT 0x1409 + +/* Storage formats */ +#define AL_MONO8_SOFT 0x1100 +#define AL_MONO16_SOFT 0x1101 +#define AL_MONO32F_SOFT 0x10010 +#define AL_STEREO8_SOFT 0x1102 +#define AL_STEREO16_SOFT 0x1103 +#define AL_STEREO32F_SOFT 0x10011 +#define AL_QUAD8_SOFT 0x1204 +#define AL_QUAD16_SOFT 0x1205 +#define AL_QUAD32F_SOFT 0x1206 +#define AL_REAR8_SOFT 0x1207 +#define AL_REAR16_SOFT 0x1208 +#define AL_REAR32F_SOFT 0x1209 +#define AL_5POINT1_8_SOFT 0x120A +#define AL_5POINT1_16_SOFT 0x120B +#define AL_5POINT1_32F_SOFT 0x120C +#define AL_6POINT1_8_SOFT 0x120D +#define AL_6POINT1_16_SOFT 0x120E +#define AL_6POINT1_32F_SOFT 0x120F +#define AL_7POINT1_8_SOFT 0x1210 +#define AL_7POINT1_16_SOFT 0x1211 +#define AL_7POINT1_32F_SOFT 0x1212 + +/* Buffer attributes */ +#define AL_INTERNAL_FORMAT_SOFT 0x2008 +#define AL_BYTE_LENGTH_SOFT 0x2009 +#define AL_SAMPLE_LENGTH_SOFT 0x200A +#define AL_SEC_LENGTH_SOFT 0x200B + +typedef void (AL_APIENTRY*LPALBUFFERSAMPLESSOFT)(ALuint,ALuint,ALenum,ALsizei,ALenum,ALenum,const ALvoid*); +typedef void (AL_APIENTRY*LPALBUFFERSUBSAMPLESSOFT)(ALuint,ALsizei,ALsizei,ALenum,ALenum,const ALvoid*); +typedef void (AL_APIENTRY*LPALGETBUFFERSAMPLESSOFT)(ALuint,ALsizei,ALsizei,ALenum,ALenum,ALvoid*); +typedef ALboolean (AL_APIENTRY*LPALISBUFFERFORMATSUPPORTEDSOFT)(ALenum); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alBufferSamplesSOFT(ALuint buffer, ALuint samplerate, ALenum internalformat, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data); +AL_API void AL_APIENTRY alBufferSubSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data); +AL_API void AL_APIENTRY alGetBufferSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, ALvoid *data); +AL_API ALboolean AL_APIENTRY alIsBufferFormatSupportedSOFT(ALenum format); +#endif +#endif + +#ifndef AL_SOFT_direct_channels +#define AL_SOFT_direct_channels 1 +#define AL_DIRECT_CHANNELS_SOFT 0x1033 +#endif + +#ifndef ALC_SOFT_loopback +#define ALC_SOFT_loopback 1 +#define ALC_FORMAT_CHANNELS_SOFT 0x1990 +#define ALC_FORMAT_TYPE_SOFT 0x1991 + +/* Sample types */ +#define ALC_BYTE_SOFT 0x1400 +#define ALC_UNSIGNED_BYTE_SOFT 0x1401 +#define ALC_SHORT_SOFT 0x1402 +#define ALC_UNSIGNED_SHORT_SOFT 0x1403 +#define ALC_INT_SOFT 0x1404 +#define ALC_UNSIGNED_INT_SOFT 0x1405 +#define ALC_FLOAT_SOFT 0x1406 + +/* Channel configurations */ +#define ALC_MONO_SOFT 0x1500 +#define ALC_STEREO_SOFT 0x1501 +#define ALC_QUAD_SOFT 0x1503 +#define ALC_5POINT1_SOFT 0x1504 +#define ALC_6POINT1_SOFT 0x1505 +#define ALC_7POINT1_SOFT 0x1506 + +typedef ALCdevice* (ALC_APIENTRY*LPALCLOOPBACKOPENDEVICESOFT)(const ALCchar*); +typedef ALCboolean (ALC_APIENTRY*LPALCISRENDERFORMATSUPPORTEDSOFT)(ALCdevice*,ALCsizei,ALCenum,ALCenum); +typedef void (ALC_APIENTRY*LPALCRENDERSAMPLESSOFT)(ALCdevice*,ALCvoid*,ALCsizei); +#ifdef AL_ALEXT_PROTOTYPES +ALC_API ALCdevice* ALC_APIENTRY alcLoopbackOpenDeviceSOFT(const ALCchar *deviceName); +ALC_API ALCboolean ALC_APIENTRY alcIsRenderFormatSupportedSOFT(ALCdevice *device, ALCsizei freq, ALCenum channels, ALCenum type); +ALC_API void ALC_APIENTRY alcRenderSamplesSOFT(ALCdevice *device, ALCvoid *buffer, ALCsizei samples); +#endif +#endif + +#ifndef AL_EXT_STEREO_ANGLES +#define AL_EXT_STEREO_ANGLES 1 +#define AL_STEREO_ANGLES 0x1030 +#endif + +#ifndef AL_EXT_SOURCE_RADIUS +#define AL_EXT_SOURCE_RADIUS 1 +#define AL_SOURCE_RADIUS 0x1031 +#endif + +#ifndef AL_SOFT_source_latency +#define AL_SOFT_source_latency 1 +#define AL_SAMPLE_OFFSET_LATENCY_SOFT 0x1200 +#define AL_SEC_OFFSET_LATENCY_SOFT 0x1201 +typedef int64_t ALint64SOFT; +typedef uint64_t ALuint64SOFT; +typedef void (AL_APIENTRY*LPALSOURCEDSOFT)(ALuint,ALenum,ALdouble); +typedef void (AL_APIENTRY*LPALSOURCE3DSOFT)(ALuint,ALenum,ALdouble,ALdouble,ALdouble); +typedef void (AL_APIENTRY*LPALSOURCEDVSOFT)(ALuint,ALenum,const ALdouble*); +typedef void (AL_APIENTRY*LPALGETSOURCEDSOFT)(ALuint,ALenum,ALdouble*); +typedef void (AL_APIENTRY*LPALGETSOURCE3DSOFT)(ALuint,ALenum,ALdouble*,ALdouble*,ALdouble*); +typedef void (AL_APIENTRY*LPALGETSOURCEDVSOFT)(ALuint,ALenum,ALdouble*); +typedef void (AL_APIENTRY*LPALSOURCEI64SOFT)(ALuint,ALenum,ALint64SOFT); +typedef void (AL_APIENTRY*LPALSOURCE3I64SOFT)(ALuint,ALenum,ALint64SOFT,ALint64SOFT,ALint64SOFT); +typedef void (AL_APIENTRY*LPALSOURCEI64VSOFT)(ALuint,ALenum,const ALint64SOFT*); +typedef void (AL_APIENTRY*LPALGETSOURCEI64SOFT)(ALuint,ALenum,ALint64SOFT*); +typedef void (AL_APIENTRY*LPALGETSOURCE3I64SOFT)(ALuint,ALenum,ALint64SOFT*,ALint64SOFT*,ALint64SOFT*); +typedef void (AL_APIENTRY*LPALGETSOURCEI64VSOFT)(ALuint,ALenum,ALint64SOFT*); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alSourcedSOFT(ALuint source, ALenum param, ALdouble value); +AL_API void AL_APIENTRY alSource3dSOFT(ALuint source, ALenum param, ALdouble value1, ALdouble value2, ALdouble value3); +AL_API void AL_APIENTRY alSourcedvSOFT(ALuint source, ALenum param, const ALdouble *values); +AL_API void AL_APIENTRY alGetSourcedSOFT(ALuint source, ALenum param, ALdouble *value); +AL_API void AL_APIENTRY alGetSource3dSOFT(ALuint source, ALenum param, ALdouble *value1, ALdouble *value2, ALdouble *value3); +AL_API void AL_APIENTRY alGetSourcedvSOFT(ALuint source, ALenum param, ALdouble *values); +AL_API void AL_APIENTRY alSourcei64SOFT(ALuint source, ALenum param, ALint64SOFT value); +AL_API void AL_APIENTRY alSource3i64SOFT(ALuint source, ALenum param, ALint64SOFT value1, ALint64SOFT value2, ALint64SOFT value3); +AL_API void AL_APIENTRY alSourcei64vSOFT(ALuint source, ALenum param, const ALint64SOFT *values); +AL_API void AL_APIENTRY alGetSourcei64SOFT(ALuint source, ALenum param, ALint64SOFT *value); +AL_API void AL_APIENTRY alGetSource3i64SOFT(ALuint source, ALenum param, ALint64SOFT *value1, ALint64SOFT *value2, ALint64SOFT *value3); +AL_API void AL_APIENTRY alGetSourcei64vSOFT(ALuint source, ALenum param, ALint64SOFT *values); +#endif +#endif + +#ifndef ALC_EXT_DEFAULT_FILTER_ORDER +#define ALC_EXT_DEFAULT_FILTER_ORDER 1 +#define ALC_DEFAULT_FILTER_ORDER 0x1100 +#endif + +#ifndef AL_SOFT_deferred_updates +#define AL_SOFT_deferred_updates 1 +#define AL_DEFERRED_UPDATES_SOFT 0xC002 +typedef ALvoid (AL_APIENTRY*LPALDEFERUPDATESSOFT)(void); +typedef ALvoid (AL_APIENTRY*LPALPROCESSUPDATESSOFT)(void); +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alDeferUpdatesSOFT(void); +AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void); +#endif +#endif + +#ifndef AL_SOFT_block_alignment +#define AL_SOFT_block_alignment 1 +#define AL_UNPACK_BLOCK_ALIGNMENT_SOFT 0x200C +#define AL_PACK_BLOCK_ALIGNMENT_SOFT 0x200D +#endif + +#ifndef AL_SOFT_MSADPCM +#define AL_SOFT_MSADPCM 1 +#define AL_FORMAT_MONO_MSADPCM_SOFT 0x1302 +#define AL_FORMAT_STEREO_MSADPCM_SOFT 0x1303 +#endif + +#ifndef AL_SOFT_source_length +#define AL_SOFT_source_length 1 +/*#define AL_BYTE_LENGTH_SOFT 0x2009*/ +/*#define AL_SAMPLE_LENGTH_SOFT 0x200A*/ +/*#define AL_SEC_LENGTH_SOFT 0x200B*/ +#endif + +#ifndef ALC_SOFT_pause_device +#define ALC_SOFT_pause_device 1 +typedef void (ALC_APIENTRY*LPALCDEVICEPAUSESOFT)(ALCdevice *device); +typedef void (ALC_APIENTRY*LPALCDEVICERESUMESOFT)(ALCdevice *device); +#ifdef AL_ALEXT_PROTOTYPES +ALC_API void ALC_APIENTRY alcDevicePauseSOFT(ALCdevice *device); +ALC_API void ALC_APIENTRY alcDeviceResumeSOFT(ALCdevice *device); +#endif +#endif + +#ifndef AL_EXT_BFORMAT +#define AL_EXT_BFORMAT 1 +#define AL_FORMAT_BFORMAT2D_8 0x20021 +#define AL_FORMAT_BFORMAT2D_16 0x20022 +#define AL_FORMAT_BFORMAT2D_FLOAT32 0x20023 +#define AL_FORMAT_BFORMAT3D_8 0x20031 +#define AL_FORMAT_BFORMAT3D_16 0x20032 +#define AL_FORMAT_BFORMAT3D_FLOAT32 0x20033 +#endif + +#ifndef AL_EXT_MULAW_BFORMAT +#define AL_EXT_MULAW_BFORMAT 1 +#define AL_FORMAT_BFORMAT2D_MULAW 0x10031 +#define AL_FORMAT_BFORMAT3D_MULAW 0x10032 +#endif + +#ifndef ALC_SOFT_HRTF +#define ALC_SOFT_HRTF 1 +#define ALC_HRTF_SOFT 0x1992 +#define ALC_DONT_CARE_SOFT 0x0002 +#define ALC_HRTF_STATUS_SOFT 0x1993 +#define ALC_HRTF_DISABLED_SOFT 0x0000 +#define ALC_HRTF_ENABLED_SOFT 0x0001 +#define ALC_HRTF_DENIED_SOFT 0x0002 +#define ALC_HRTF_REQUIRED_SOFT 0x0003 +#define ALC_HRTF_HEADPHONES_DETECTED_SOFT 0x0004 +#define ALC_HRTF_UNSUPPORTED_FORMAT_SOFT 0x0005 +#define ALC_NUM_HRTF_SPECIFIERS_SOFT 0x1994 +#define ALC_HRTF_SPECIFIER_SOFT 0x1995 +#define ALC_HRTF_ID_SOFT 0x1996 +typedef const ALCchar* (ALC_APIENTRY*LPALCGETSTRINGISOFT)(ALCdevice *device, ALCenum paramName, ALCsizei index); +typedef ALCboolean (ALC_APIENTRY*LPALCRESETDEVICESOFT)(ALCdevice *device, const ALCint *attribs); +#ifdef AL_ALEXT_PROTOTYPES +ALC_API const ALCchar* ALC_APIENTRY alcGetStringiSOFT(ALCdevice *device, ALCenum paramName, ALCsizei index); +ALC_API ALCboolean ALC_APIENTRY alcResetDeviceSOFT(ALCdevice *device, const ALCint *attribs); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/project/vs2015/external/openal_soft/include/AL/efx-creative.h b/project/vs2015/external/openal_soft/include/AL/efx-creative.h new file mode 100644 index 000000000..0a04c982e --- /dev/null +++ b/project/vs2015/external/openal_soft/include/AL/efx-creative.h @@ -0,0 +1,3 @@ +/* The tokens that would be defined here are already defined in efx.h. This + * empty file is here to provide compatibility with Windows-based projects + * that would include it. */ diff --git a/project/vs2015/external/openal_soft/include/AL/efx-presets.h b/project/vs2015/external/openal_soft/include/AL/efx-presets.h new file mode 100644 index 000000000..8539fd517 --- /dev/null +++ b/project/vs2015/external/openal_soft/include/AL/efx-presets.h @@ -0,0 +1,402 @@ +/* Reverb presets for EFX */ + +#ifndef EFX_PRESETS_H +#define EFX_PRESETS_H + +#ifndef EFXEAXREVERBPROPERTIES_DEFINED +#define EFXEAXREVERBPROPERTIES_DEFINED +typedef struct { + float flDensity; + float flDiffusion; + float flGain; + float flGainHF; + float flGainLF; + float flDecayTime; + float flDecayHFRatio; + float flDecayLFRatio; + float flReflectionsGain; + float flReflectionsDelay; + float flReflectionsPan[3]; + float flLateReverbGain; + float flLateReverbDelay; + float flLateReverbPan[3]; + float flEchoTime; + float flEchoDepth; + float flModulationTime; + float flModulationDepth; + float flAirAbsorptionGainHF; + float flHFReference; + float flLFReference; + float flRoomRolloffFactor; + int iDecayHFLimit; +} EFXEAXREVERBPROPERTIES, *LPEFXEAXREVERBPROPERTIES; +#endif + +/* Default Presets */ + +#define EFX_REVERB_PRESET_GENERIC \ + { 1.0000f, 1.0000f, 0.3162f, 0.8913f, 1.0000f, 1.4900f, 0.8300f, 1.0000f, 0.0500f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PADDEDCELL \ + { 0.1715f, 1.0000f, 0.3162f, 0.0010f, 1.0000f, 0.1700f, 0.1000f, 1.0000f, 0.2500f, 0.0010f, { 0.0000f, 0.0000f, 0.0000f }, 1.2691f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ROOM \ + { 0.4287f, 1.0000f, 0.3162f, 0.5929f, 1.0000f, 0.4000f, 0.8300f, 1.0000f, 0.1503f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 1.0629f, 0.0030f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_BATHROOM \ + { 0.1715f, 1.0000f, 0.3162f, 0.2512f, 1.0000f, 1.4900f, 0.5400f, 1.0000f, 0.6531f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 3.2734f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_LIVINGROOM \ + { 0.9766f, 1.0000f, 0.3162f, 0.0010f, 1.0000f, 0.5000f, 0.1000f, 1.0000f, 0.2051f, 0.0030f, { 0.0000f, 0.0000f, 0.0000f }, 0.2805f, 0.0040f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_STONEROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.7079f, 1.0000f, 2.3100f, 0.6400f, 1.0000f, 0.4411f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1003f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_AUDITORIUM \ + { 1.0000f, 1.0000f, 0.3162f, 0.5781f, 1.0000f, 4.3200f, 0.5900f, 1.0000f, 0.4032f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.7170f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CONCERTHALL \ + { 1.0000f, 1.0000f, 0.3162f, 0.5623f, 1.0000f, 3.9200f, 0.7000f, 1.0000f, 0.2427f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.9977f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CAVE \ + { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 1.0000f, 2.9100f, 1.3000f, 1.0000f, 0.5000f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.7063f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_ARENA \ + { 1.0000f, 1.0000f, 0.3162f, 0.4477f, 1.0000f, 7.2400f, 0.3300f, 1.0000f, 0.2612f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.0186f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_HANGAR \ + { 1.0000f, 1.0000f, 0.3162f, 0.3162f, 1.0000f, 10.0500f, 0.2300f, 1.0000f, 0.5000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2560f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CARPETEDHALLWAY \ + { 0.4287f, 1.0000f, 0.3162f, 0.0100f, 1.0000f, 0.3000f, 0.1000f, 1.0000f, 0.1215f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 0.1531f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_HALLWAY \ + { 0.3645f, 1.0000f, 0.3162f, 0.7079f, 1.0000f, 1.4900f, 0.5900f, 1.0000f, 0.2458f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.6615f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_STONECORRIDOR \ + { 1.0000f, 1.0000f, 0.3162f, 0.7612f, 1.0000f, 2.7000f, 0.7900f, 1.0000f, 0.2472f, 0.0130f, { 0.0000f, 0.0000f, 0.0000f }, 1.5758f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ALLEY \ + { 1.0000f, 0.3000f, 0.3162f, 0.7328f, 1.0000f, 1.4900f, 0.8600f, 1.0000f, 0.2500f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.9954f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.9500f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FOREST \ + { 1.0000f, 0.3000f, 0.3162f, 0.0224f, 1.0000f, 1.4900f, 0.5400f, 1.0000f, 0.0525f, 0.1620f, { 0.0000f, 0.0000f, 0.0000f }, 0.7682f, 0.0880f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY \ + { 1.0000f, 0.5000f, 0.3162f, 0.3981f, 1.0000f, 1.4900f, 0.6700f, 1.0000f, 0.0730f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.1427f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_MOUNTAINS \ + { 1.0000f, 0.2700f, 0.3162f, 0.0562f, 1.0000f, 1.4900f, 0.2100f, 1.0000f, 0.0407f, 0.3000f, { 0.0000f, 0.0000f, 0.0000f }, 0.1919f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_QUARRY \ + { 1.0000f, 1.0000f, 0.3162f, 0.3162f, 1.0000f, 1.4900f, 0.8300f, 1.0000f, 0.0000f, 0.0610f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0250f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.7000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PLAIN \ + { 1.0000f, 0.2100f, 0.3162f, 0.1000f, 1.0000f, 1.4900f, 0.5000f, 1.0000f, 0.0585f, 0.1790f, { 0.0000f, 0.0000f, 0.0000f }, 0.1089f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PARKINGLOT \ + { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 1.0000f, 1.6500f, 1.5000f, 1.0000f, 0.2082f, 0.0080f, { 0.0000f, 0.0000f, 0.0000f }, 0.2652f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_SEWERPIPE \ + { 0.3071f, 0.8000f, 0.3162f, 0.3162f, 1.0000f, 2.8100f, 0.1400f, 1.0000f, 1.6387f, 0.0140f, { 0.0000f, 0.0000f, 0.0000f }, 3.2471f, 0.0210f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_UNDERWATER \ + { 0.3645f, 1.0000f, 0.3162f, 0.0100f, 1.0000f, 1.4900f, 0.1000f, 1.0000f, 0.5963f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 7.0795f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 1.1800f, 0.3480f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRUGGED \ + { 0.4287f, 0.5000f, 0.3162f, 1.0000f, 1.0000f, 8.3900f, 1.3900f, 1.0000f, 0.8760f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 3.1081f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DIZZY \ + { 0.3645f, 0.6000f, 0.3162f, 0.6310f, 1.0000f, 17.2300f, 0.5600f, 1.0000f, 0.1392f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.4937f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.8100f, 0.3100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PSYCHOTIC \ + { 0.0625f, 0.5000f, 0.3162f, 0.8404f, 1.0000f, 7.5600f, 0.9100f, 1.0000f, 0.4864f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 2.4378f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 4.0000f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +/* Castle Presets */ + +#define EFX_REVERB_PRESET_CASTLE_SMALLROOM \ + { 1.0000f, 0.8900f, 0.3162f, 0.3981f, 0.1000f, 1.2200f, 0.8300f, 0.3100f, 0.8913f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_SHORTPASSAGE \ + { 1.0000f, 0.8900f, 0.3162f, 0.3162f, 0.1000f, 2.3200f, 0.8300f, 0.3100f, 0.8913f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_MEDIUMROOM \ + { 1.0000f, 0.9300f, 0.3162f, 0.2818f, 0.1000f, 2.0400f, 0.8300f, 0.4600f, 0.6310f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1550f, 0.0300f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_LARGEROOM \ + { 1.0000f, 0.8200f, 0.3162f, 0.2818f, 0.1259f, 2.5300f, 0.8300f, 0.5000f, 0.4467f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1850f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_LONGPASSAGE \ + { 1.0000f, 0.8900f, 0.3162f, 0.3981f, 0.1000f, 3.4200f, 0.8300f, 0.3100f, 0.8913f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_HALL \ + { 1.0000f, 0.8100f, 0.3162f, 0.2818f, 0.1778f, 3.1400f, 0.7900f, 0.6200f, 0.1778f, 0.0560f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_CUPBOARD \ + { 1.0000f, 0.8900f, 0.3162f, 0.2818f, 0.1000f, 0.6700f, 0.8700f, 0.3100f, 1.4125f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 3.5481f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CASTLE_COURTYARD \ + { 1.0000f, 0.4200f, 0.3162f, 0.4467f, 0.1995f, 2.1300f, 0.6100f, 0.2300f, 0.2239f, 0.1600f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0360f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.3700f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_CASTLE_ALCOVE \ + { 1.0000f, 0.8900f, 0.3162f, 0.5012f, 0.1000f, 1.6400f, 0.8700f, 0.3100f, 1.0000f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 0.1380f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 5168.6001f, 139.5000f, 0.0000f, 0x1 } + +/* Factory Presets */ + +#define EFX_REVERB_PRESET_FACTORY_SMALLROOM \ + { 0.3645f, 0.8200f, 0.3162f, 0.7943f, 0.5012f, 1.7200f, 0.6500f, 1.3100f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.1190f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_SHORTPASSAGE \ + { 0.3645f, 0.6400f, 0.2512f, 0.7943f, 0.5012f, 2.5300f, 0.6500f, 1.3100f, 1.0000f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.1350f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_MEDIUMROOM \ + { 0.4287f, 0.8200f, 0.2512f, 0.7943f, 0.5012f, 2.7600f, 0.6500f, 1.3100f, 0.2818f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1740f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_LARGEROOM \ + { 0.4287f, 0.7500f, 0.2512f, 0.7079f, 0.6310f, 4.2400f, 0.5100f, 1.3100f, 0.1778f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.2310f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_LONGPASSAGE \ + { 0.3645f, 0.6400f, 0.2512f, 0.7943f, 0.5012f, 4.0600f, 0.6500f, 1.3100f, 1.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0370f, { 0.0000f, 0.0000f, 0.0000f }, 0.1350f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_HALL \ + { 0.4287f, 0.7500f, 0.3162f, 0.7079f, 0.6310f, 7.4300f, 0.5100f, 1.3100f, 0.0631f, 0.0730f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_CUPBOARD \ + { 0.3071f, 0.6300f, 0.2512f, 0.7943f, 0.5012f, 0.4900f, 0.6500f, 1.3100f, 1.2589f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.1070f, 0.0700f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_COURTYARD \ + { 0.3071f, 0.5700f, 0.3162f, 0.3162f, 0.6310f, 2.3200f, 0.2900f, 0.5600f, 0.2239f, 0.1400f, { 0.0000f, 0.0000f, 0.0000f }, 0.3981f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2900f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_FACTORY_ALCOVE \ + { 0.3645f, 0.5900f, 0.2512f, 0.7943f, 0.5012f, 3.1400f, 0.6500f, 1.3100f, 1.4125f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.1140f, 0.1000f, 0.2500f, 0.0000f, 0.9943f, 3762.6001f, 362.5000f, 0.0000f, 0x1 } + +/* Ice Palace Presets */ + +#define EFX_REVERB_PRESET_ICEPALACE_SMALLROOM \ + { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 0.2818f, 1.5100f, 1.5300f, 0.2700f, 0.8913f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1640f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_SHORTPASSAGE \ + { 1.0000f, 0.7500f, 0.3162f, 0.5623f, 0.2818f, 1.7900f, 1.4600f, 0.2800f, 0.5012f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.1770f, 0.0900f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_MEDIUMROOM \ + { 1.0000f, 0.8700f, 0.3162f, 0.5623f, 0.4467f, 2.2200f, 1.5300f, 0.3200f, 0.3981f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.1860f, 0.1200f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_LARGEROOM \ + { 1.0000f, 0.8100f, 0.3162f, 0.5623f, 0.4467f, 3.1400f, 1.5300f, 0.3200f, 0.2512f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0270f, { 0.0000f, 0.0000f, 0.0000f }, 0.2140f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_LONGPASSAGE \ + { 1.0000f, 0.7700f, 0.3162f, 0.5623f, 0.3981f, 3.0100f, 1.4600f, 0.2800f, 0.7943f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0250f, { 0.0000f, 0.0000f, 0.0000f }, 0.1860f, 0.0400f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_HALL \ + { 1.0000f, 0.7600f, 0.3162f, 0.4467f, 0.5623f, 5.4900f, 1.5300f, 0.3800f, 0.1122f, 0.0540f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0520f, { 0.0000f, 0.0000f, 0.0000f }, 0.2260f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_CUPBOARD \ + { 1.0000f, 0.8300f, 0.3162f, 0.5012f, 0.2239f, 0.7600f, 1.5300f, 0.2600f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1430f, 0.0800f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_COURTYARD \ + { 1.0000f, 0.5900f, 0.3162f, 0.2818f, 0.3162f, 2.0400f, 1.2000f, 0.3800f, 0.3162f, 0.1730f, { 0.0000f, 0.0000f, 0.0000f }, 0.3162f, 0.0430f, { 0.0000f, 0.0000f, 0.0000f }, 0.2350f, 0.4800f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_ICEPALACE_ALCOVE \ + { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 0.2818f, 2.7600f, 1.4600f, 0.2800f, 1.1220f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1610f, 0.0900f, 0.2500f, 0.0000f, 0.9943f, 12428.5000f, 99.6000f, 0.0000f, 0x1 } + +/* Space Station Presets */ + +#define EFX_REVERB_PRESET_SPACESTATION_SMALLROOM \ + { 0.2109f, 0.7000f, 0.3162f, 0.7079f, 0.8913f, 1.7200f, 0.8200f, 0.5500f, 0.7943f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0130f, { 0.0000f, 0.0000f, 0.0000f }, 0.1880f, 0.2600f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_SHORTPASSAGE \ + { 0.2109f, 0.8700f, 0.3162f, 0.6310f, 0.8913f, 3.5700f, 0.5000f, 0.5500f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.1720f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_MEDIUMROOM \ + { 0.2109f, 0.7500f, 0.3162f, 0.6310f, 0.8913f, 3.0100f, 0.5000f, 0.5500f, 0.3981f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0350f, { 0.0000f, 0.0000f, 0.0000f }, 0.2090f, 0.3100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_LARGEROOM \ + { 0.3645f, 0.8100f, 0.3162f, 0.6310f, 0.8913f, 3.8900f, 0.3800f, 0.6100f, 0.3162f, 0.0560f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0350f, { 0.0000f, 0.0000f, 0.0000f }, 0.2330f, 0.2800f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_LONGPASSAGE \ + { 0.4287f, 0.8200f, 0.3162f, 0.6310f, 0.8913f, 4.6200f, 0.6200f, 0.5500f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0310f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2300f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_HALL \ + { 0.4287f, 0.8700f, 0.3162f, 0.6310f, 0.8913f, 7.1100f, 0.3800f, 0.6100f, 0.1778f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0470f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2500f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_CUPBOARD \ + { 0.1715f, 0.5600f, 0.3162f, 0.7079f, 0.8913f, 0.7900f, 0.8100f, 0.5500f, 1.4125f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.7783f, 0.0180f, { 0.0000f, 0.0000f, 0.0000f }, 0.1810f, 0.3100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPACESTATION_ALCOVE \ + { 0.2109f, 0.7800f, 0.3162f, 0.7079f, 0.8913f, 1.1600f, 0.8100f, 0.5500f, 1.4125f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0180f, { 0.0000f, 0.0000f, 0.0000f }, 0.1920f, 0.2100f, 0.2500f, 0.0000f, 0.9943f, 3316.1001f, 458.2000f, 0.0000f, 0x1 } + +/* Wooden Galleon Presets */ + +#define EFX_REVERB_PRESET_WOODEN_SMALLROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.1122f, 0.3162f, 0.7900f, 0.3200f, 0.8700f, 1.0000f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_SHORTPASSAGE \ + { 1.0000f, 1.0000f, 0.3162f, 0.1259f, 0.3162f, 1.7500f, 0.5000f, 0.8700f, 0.8913f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.6310f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_MEDIUMROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.1000f, 0.2818f, 1.4700f, 0.4200f, 0.8200f, 0.8913f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_LARGEROOM \ + { 1.0000f, 1.0000f, 0.3162f, 0.0891f, 0.2818f, 2.6500f, 0.3300f, 0.8200f, 0.8913f, 0.0660f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_LONGPASSAGE \ + { 1.0000f, 1.0000f, 0.3162f, 0.1000f, 0.3162f, 1.9900f, 0.4000f, 0.7900f, 1.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.4467f, 0.0360f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_HALL \ + { 1.0000f, 1.0000f, 0.3162f, 0.0794f, 0.2818f, 3.4500f, 0.3000f, 0.8200f, 0.8913f, 0.0880f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0630f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_CUPBOARD \ + { 1.0000f, 1.0000f, 0.3162f, 0.1413f, 0.3162f, 0.5600f, 0.4600f, 0.9100f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_COURTYARD \ + { 1.0000f, 0.6500f, 0.3162f, 0.0794f, 0.3162f, 1.7900f, 0.3500f, 0.7900f, 0.5623f, 0.1230f, { 0.0000f, 0.0000f, 0.0000f }, 0.1000f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_WOODEN_ALCOVE \ + { 1.0000f, 1.0000f, 0.3162f, 0.1259f, 0.3162f, 1.2200f, 0.6200f, 0.9100f, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 4705.0000f, 99.6000f, 0.0000f, 0x1 } + +/* Sports Presets */ + +#define EFX_REVERB_PRESET_SPORT_EMPTYSTADIUM \ + { 1.0000f, 1.0000f, 0.3162f, 0.4467f, 0.7943f, 6.2600f, 0.5100f, 1.1000f, 0.0631f, 0.1830f, { 0.0000f, 0.0000f, 0.0000f }, 0.3981f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_SQUASHCOURT \ + { 1.0000f, 0.7500f, 0.3162f, 0.3162f, 0.7943f, 2.2200f, 0.9100f, 1.1600f, 0.4467f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.1260f, 0.1900f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_SMALLSWIMMINGPOOL \ + { 1.0000f, 0.7000f, 0.3162f, 0.7943f, 0.8913f, 2.7600f, 1.2500f, 1.1400f, 0.6310f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1790f, 0.1500f, 0.8950f, 0.1900f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_SPORT_LARGESWIMMINGPOOL \ + { 1.0000f, 0.8200f, 0.3162f, 0.7943f, 1.0000f, 5.4900f, 1.3100f, 1.1400f, 0.4467f, 0.0390f, { 0.0000f, 0.0000f, 0.0000f }, 0.5012f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2220f, 0.5500f, 1.1590f, 0.2100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_SPORT_GYMNASIUM \ + { 1.0000f, 0.8100f, 0.3162f, 0.4467f, 0.8913f, 3.1400f, 1.0600f, 1.3500f, 0.3981f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.5623f, 0.0450f, { 0.0000f, 0.0000f, 0.0000f }, 0.1460f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_FULLSTADIUM \ + { 1.0000f, 1.0000f, 0.3162f, 0.0708f, 0.7943f, 5.2500f, 0.1700f, 0.8000f, 0.1000f, 0.1880f, { 0.0000f, 0.0000f, 0.0000f }, 0.2818f, 0.0380f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SPORT_STADIUMTANNOY \ + { 1.0000f, 0.7800f, 0.3162f, 0.5623f, 0.5012f, 2.5300f, 0.8800f, 0.6800f, 0.2818f, 0.2300f, { 0.0000f, 0.0000f, 0.0000f }, 0.5012f, 0.0630f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +/* Prefab Presets */ + +#define EFX_REVERB_PRESET_PREFAB_WORKSHOP \ + { 0.4287f, 1.0000f, 0.3162f, 0.1413f, 0.3981f, 0.7600f, 1.0000f, 1.0000f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PREFAB_SCHOOLROOM \ + { 0.4022f, 0.6900f, 0.3162f, 0.6310f, 0.5012f, 0.9800f, 0.4500f, 0.1800f, 1.4125f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.0950f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PREFAB_PRACTISEROOM \ + { 0.4022f, 0.8700f, 0.3162f, 0.3981f, 0.5012f, 1.1200f, 0.5600f, 0.1800f, 1.2589f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0110f, { 0.0000f, 0.0000f, 0.0000f }, 0.0950f, 0.1400f, 0.2500f, 0.0000f, 0.9943f, 7176.8999f, 211.2000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PREFAB_OUTHOUSE \ + { 1.0000f, 0.8200f, 0.3162f, 0.1122f, 0.1585f, 1.3800f, 0.3800f, 0.3500f, 0.8913f, 0.0240f, { 0.0000f, 0.0000f, -0.0000f }, 0.6310f, 0.0440f, { 0.0000f, 0.0000f, 0.0000f }, 0.1210f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PREFAB_CARAVAN \ + { 1.0000f, 1.0000f, 0.3162f, 0.0891f, 0.1259f, 0.4300f, 1.5000f, 1.0000f, 1.0000f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 1.9953f, 0.0120f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +/* Dome and Pipe Presets */ + +#define EFX_REVERB_PRESET_DOME_TOMB \ + { 1.0000f, 0.7900f, 0.3162f, 0.3548f, 0.2239f, 4.1800f, 0.2100f, 0.1000f, 0.3868f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 1.6788f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.1770f, 0.1900f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PIPE_SMALL \ + { 1.0000f, 1.0000f, 0.3162f, 0.3548f, 0.2239f, 5.0400f, 0.1000f, 0.1000f, 0.5012f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 2.5119f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DOME_SAINTPAULS \ + { 1.0000f, 0.8700f, 0.3162f, 0.3548f, 0.2239f, 10.4800f, 0.1900f, 0.1000f, 0.1778f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0420f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1200f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PIPE_LONGTHIN \ + { 0.2560f, 0.9100f, 0.3162f, 0.4467f, 0.2818f, 9.2100f, 0.1800f, 0.1000f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_PIPE_LARGE \ + { 1.0000f, 1.0000f, 0.3162f, 0.3548f, 0.2239f, 8.4500f, 0.1000f, 0.1000f, 0.3981f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_PIPE_RESONANT \ + { 0.1373f, 0.9100f, 0.3162f, 0.4467f, 0.2818f, 6.8100f, 0.1800f, 0.1000f, 0.7079f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.0000f, 0.0220f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 20.0000f, 0.0000f, 0x0 } + +/* Outdoors Presets */ + +#define EFX_REVERB_PRESET_OUTDOORS_BACKYARD \ + { 1.0000f, 0.4500f, 0.3162f, 0.2512f, 0.5012f, 1.1200f, 0.3400f, 0.4600f, 0.4467f, 0.0690f, { 0.0000f, 0.0000f, -0.0000f }, 0.7079f, 0.0230f, { 0.0000f, 0.0000f, 0.0000f }, 0.2180f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_ROLLINGPLAINS \ + { 1.0000f, 0.0000f, 0.3162f, 0.0112f, 0.6310f, 2.1300f, 0.2100f, 0.4600f, 0.1778f, 0.3000f, { 0.0000f, 0.0000f, -0.0000f }, 0.4467f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_DEEPCANYON \ + { 1.0000f, 0.7400f, 0.3162f, 0.1778f, 0.6310f, 3.8900f, 0.2100f, 0.4600f, 0.3162f, 0.2230f, { 0.0000f, 0.0000f, -0.0000f }, 0.3548f, 0.0190f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_CREEK \ + { 1.0000f, 0.3500f, 0.3162f, 0.1778f, 0.5012f, 2.1300f, 0.2100f, 0.4600f, 0.3981f, 0.1150f, { 0.0000f, 0.0000f, -0.0000f }, 0.1995f, 0.0310f, { 0.0000f, 0.0000f, 0.0000f }, 0.2180f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 4399.1001f, 242.9000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_OUTDOORS_VALLEY \ + { 1.0000f, 0.2800f, 0.3162f, 0.0282f, 0.1585f, 2.8800f, 0.2600f, 0.3500f, 0.1413f, 0.2630f, { 0.0000f, 0.0000f, -0.0000f }, 0.3981f, 0.1000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.3400f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +/* Mood Presets */ + +#define EFX_REVERB_PRESET_MOOD_HEAVEN \ + { 1.0000f, 0.9400f, 0.3162f, 0.7943f, 0.4467f, 5.0400f, 1.1200f, 0.5600f, 0.2427f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0290f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0800f, 2.7420f, 0.0500f, 0.9977f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_MOOD_HELL \ + { 1.0000f, 0.5700f, 0.3162f, 0.3548f, 0.4467f, 3.5700f, 0.4900f, 2.0000f, 0.0000f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1100f, 0.0400f, 2.1090f, 0.5200f, 0.9943f, 5000.0000f, 139.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_MOOD_MEMORY \ + { 1.0000f, 0.8500f, 0.3162f, 0.6310f, 0.3548f, 4.0600f, 0.8200f, 0.5600f, 0.0398f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 1.1220f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.4740f, 0.4500f, 0.9886f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +/* Driving Presets */ + +#define EFX_REVERB_PRESET_DRIVING_COMMENTATOR \ + { 1.0000f, 0.0000f, 0.3162f, 0.5623f, 0.5012f, 2.4200f, 0.8800f, 0.6800f, 0.1995f, 0.0930f, { 0.0000f, 0.0000f, 0.0000f }, 0.2512f, 0.0170f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 1.0000f, 0.2500f, 0.0000f, 0.9886f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_PITGARAGE \ + { 0.4287f, 0.5900f, 0.3162f, 0.7079f, 0.5623f, 1.7200f, 0.9300f, 0.8700f, 0.5623f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0160f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1100f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DRIVING_INCAR_RACER \ + { 0.0832f, 0.8000f, 0.3162f, 1.0000f, 0.7943f, 0.1700f, 2.0000f, 0.4100f, 1.7783f, 0.0070f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0150f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_INCAR_SPORTS \ + { 0.0832f, 0.8000f, 0.3162f, 0.6310f, 1.0000f, 0.1700f, 0.7500f, 0.4100f, 1.0000f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.5623f, 0.0000f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_INCAR_LUXURY \ + { 0.2560f, 1.0000f, 0.3162f, 0.1000f, 0.5012f, 0.1300f, 0.4100f, 0.4600f, 0.7943f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 1.5849f, 0.0100f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10268.2002f, 251.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_DRIVING_FULLGRANDSTAND \ + { 1.0000f, 1.0000f, 0.3162f, 0.2818f, 0.6310f, 3.0100f, 1.3700f, 1.2800f, 0.3548f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 0.1778f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10420.2002f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DRIVING_EMPTYGRANDSTAND \ + { 1.0000f, 1.0000f, 0.3162f, 1.0000f, 0.7943f, 4.6200f, 1.7500f, 1.4000f, 0.2082f, 0.0900f, { 0.0000f, 0.0000f, 0.0000f }, 0.2512f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.0000f, 0.9943f, 10420.2002f, 250.0000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_DRIVING_TUNNEL \ + { 1.0000f, 0.8100f, 0.3162f, 0.3981f, 0.8913f, 3.4200f, 0.9400f, 1.3100f, 0.7079f, 0.0510f, { 0.0000f, 0.0000f, 0.0000f }, 0.7079f, 0.0470f, { 0.0000f, 0.0000f, 0.0000f }, 0.2140f, 0.0500f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 155.3000f, 0.0000f, 0x1 } + +/* City Presets */ + +#define EFX_REVERB_PRESET_CITY_STREETS \ + { 1.0000f, 0.7800f, 0.3162f, 0.7079f, 0.8913f, 1.7900f, 1.1200f, 0.9100f, 0.2818f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 0.1995f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY_SUBWAY \ + { 1.0000f, 0.7400f, 0.3162f, 0.7079f, 0.8913f, 3.0100f, 1.2300f, 0.9100f, 0.7079f, 0.0460f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0280f, { 0.0000f, 0.0000f, 0.0000f }, 0.1250f, 0.2100f, 0.2500f, 0.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY_MUSEUM \ + { 1.0000f, 0.8200f, 0.3162f, 0.1778f, 0.1778f, 3.2800f, 1.4000f, 0.5700f, 0.2512f, 0.0390f, { 0.0000f, 0.0000f, -0.0000f }, 0.8913f, 0.0340f, { 0.0000f, 0.0000f, 0.0000f }, 0.1300f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_CITY_LIBRARY \ + { 1.0000f, 0.8200f, 0.3162f, 0.2818f, 0.0891f, 2.7600f, 0.8900f, 0.4100f, 0.3548f, 0.0290f, { 0.0000f, 0.0000f, -0.0000f }, 0.8913f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 0.1300f, 0.1700f, 0.2500f, 0.0000f, 0.9943f, 2854.3999f, 107.5000f, 0.0000f, 0x0 } + +#define EFX_REVERB_PRESET_CITY_UNDERPASS \ + { 1.0000f, 0.8200f, 0.3162f, 0.4467f, 0.8913f, 3.5700f, 1.1200f, 0.9100f, 0.3981f, 0.0590f, { 0.0000f, 0.0000f, 0.0000f }, 0.8913f, 0.0370f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.1400f, 0.2500f, 0.0000f, 0.9920f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CITY_ABANDONED \ + { 1.0000f, 0.6900f, 0.3162f, 0.7943f, 0.8913f, 3.2800f, 1.1700f, 0.9100f, 0.4467f, 0.0440f, { 0.0000f, 0.0000f, 0.0000f }, 0.2818f, 0.0240f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.2000f, 0.2500f, 0.0000f, 0.9966f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +/* Misc. Presets */ + +#define EFX_REVERB_PRESET_DUSTYROOM \ + { 0.3645f, 0.5600f, 0.3162f, 0.7943f, 0.7079f, 1.7900f, 0.3800f, 0.2100f, 0.5012f, 0.0020f, { 0.0000f, 0.0000f, 0.0000f }, 1.2589f, 0.0060f, { 0.0000f, 0.0000f, 0.0000f }, 0.2020f, 0.0500f, 0.2500f, 0.0000f, 0.9886f, 13046.0000f, 163.3000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_CHAPEL \ + { 1.0000f, 0.8400f, 0.3162f, 0.5623f, 1.0000f, 4.6200f, 0.6400f, 1.2300f, 0.4467f, 0.0320f, { 0.0000f, 0.0000f, 0.0000f }, 0.7943f, 0.0490f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 0.2500f, 0.1100f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x1 } + +#define EFX_REVERB_PRESET_SMALLWATERROOM \ + { 1.0000f, 0.7000f, 0.3162f, 0.4477f, 1.0000f, 1.5100f, 1.2500f, 1.1400f, 0.8913f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 1.4125f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.1790f, 0.1500f, 0.8950f, 0.1900f, 0.9920f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } + +#endif /* EFX_PRESETS_H */ diff --git a/project/vs2015/external/openal_soft/include/AL/efx.h b/project/vs2015/external/openal_soft/include/AL/efx.h new file mode 100644 index 000000000..57766983f --- /dev/null +++ b/project/vs2015/external/openal_soft/include/AL/efx.h @@ -0,0 +1,761 @@ +#ifndef AL_EFX_H +#define AL_EFX_H + + +#include "alc.h" +#include "al.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ALC_EXT_EFX_NAME "ALC_EXT_EFX" + +#define ALC_EFX_MAJOR_VERSION 0x20001 +#define ALC_EFX_MINOR_VERSION 0x20002 +#define ALC_MAX_AUXILIARY_SENDS 0x20003 + + +/* Listener properties. */ +#define AL_METERS_PER_UNIT 0x20004 + +/* Source properties. */ +#define AL_DIRECT_FILTER 0x20005 +#define AL_AUXILIARY_SEND_FILTER 0x20006 +#define AL_AIR_ABSORPTION_FACTOR 0x20007 +#define AL_ROOM_ROLLOFF_FACTOR 0x20008 +#define AL_CONE_OUTER_GAINHF 0x20009 +#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A +#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B +#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C + + +/* Effect properties. */ + +/* Reverb effect parameters */ +#define AL_REVERB_DENSITY 0x0001 +#define AL_REVERB_DIFFUSION 0x0002 +#define AL_REVERB_GAIN 0x0003 +#define AL_REVERB_GAINHF 0x0004 +#define AL_REVERB_DECAY_TIME 0x0005 +#define AL_REVERB_DECAY_HFRATIO 0x0006 +#define AL_REVERB_REFLECTIONS_GAIN 0x0007 +#define AL_REVERB_REFLECTIONS_DELAY 0x0008 +#define AL_REVERB_LATE_REVERB_GAIN 0x0009 +#define AL_REVERB_LATE_REVERB_DELAY 0x000A +#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B +#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C +#define AL_REVERB_DECAY_HFLIMIT 0x000D + +/* EAX Reverb effect parameters */ +#define AL_EAXREVERB_DENSITY 0x0001 +#define AL_EAXREVERB_DIFFUSION 0x0002 +#define AL_EAXREVERB_GAIN 0x0003 +#define AL_EAXREVERB_GAINHF 0x0004 +#define AL_EAXREVERB_GAINLF 0x0005 +#define AL_EAXREVERB_DECAY_TIME 0x0006 +#define AL_EAXREVERB_DECAY_HFRATIO 0x0007 +#define AL_EAXREVERB_DECAY_LFRATIO 0x0008 +#define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009 +#define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A +#define AL_EAXREVERB_REFLECTIONS_PAN 0x000B +#define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C +#define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D +#define AL_EAXREVERB_LATE_REVERB_PAN 0x000E +#define AL_EAXREVERB_ECHO_TIME 0x000F +#define AL_EAXREVERB_ECHO_DEPTH 0x0010 +#define AL_EAXREVERB_MODULATION_TIME 0x0011 +#define AL_EAXREVERB_MODULATION_DEPTH 0x0012 +#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013 +#define AL_EAXREVERB_HFREFERENCE 0x0014 +#define AL_EAXREVERB_LFREFERENCE 0x0015 +#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016 +#define AL_EAXREVERB_DECAY_HFLIMIT 0x0017 + +/* Chorus effect parameters */ +#define AL_CHORUS_WAVEFORM 0x0001 +#define AL_CHORUS_PHASE 0x0002 +#define AL_CHORUS_RATE 0x0003 +#define AL_CHORUS_DEPTH 0x0004 +#define AL_CHORUS_FEEDBACK 0x0005 +#define AL_CHORUS_DELAY 0x0006 + +/* Distortion effect parameters */ +#define AL_DISTORTION_EDGE 0x0001 +#define AL_DISTORTION_GAIN 0x0002 +#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003 +#define AL_DISTORTION_EQCENTER 0x0004 +#define AL_DISTORTION_EQBANDWIDTH 0x0005 + +/* Echo effect parameters */ +#define AL_ECHO_DELAY 0x0001 +#define AL_ECHO_LRDELAY 0x0002 +#define AL_ECHO_DAMPING 0x0003 +#define AL_ECHO_FEEDBACK 0x0004 +#define AL_ECHO_SPREAD 0x0005 + +/* Flanger effect parameters */ +#define AL_FLANGER_WAVEFORM 0x0001 +#define AL_FLANGER_PHASE 0x0002 +#define AL_FLANGER_RATE 0x0003 +#define AL_FLANGER_DEPTH 0x0004 +#define AL_FLANGER_FEEDBACK 0x0005 +#define AL_FLANGER_DELAY 0x0006 + +/* Frequency shifter effect parameters */ +#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 +#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 +#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 + +/* Vocal morpher effect parameters */ +#define AL_VOCAL_MORPHER_PHONEMEA 0x0001 +#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002 +#define AL_VOCAL_MORPHER_PHONEMEB 0x0003 +#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004 +#define AL_VOCAL_MORPHER_WAVEFORM 0x0005 +#define AL_VOCAL_MORPHER_RATE 0x0006 + +/* Pitchshifter effect parameters */ +#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 +#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 + +/* Ringmodulator effect parameters */ +#define AL_RING_MODULATOR_FREQUENCY 0x0001 +#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 +#define AL_RING_MODULATOR_WAVEFORM 0x0003 + +/* Autowah effect parameters */ +#define AL_AUTOWAH_ATTACK_TIME 0x0001 +#define AL_AUTOWAH_RELEASE_TIME 0x0002 +#define AL_AUTOWAH_RESONANCE 0x0003 +#define AL_AUTOWAH_PEAK_GAIN 0x0004 + +/* Compressor effect parameters */ +#define AL_COMPRESSOR_ONOFF 0x0001 + +/* Equalizer effect parameters */ +#define AL_EQUALIZER_LOW_GAIN 0x0001 +#define AL_EQUALIZER_LOW_CUTOFF 0x0002 +#define AL_EQUALIZER_MID1_GAIN 0x0003 +#define AL_EQUALIZER_MID1_CENTER 0x0004 +#define AL_EQUALIZER_MID1_WIDTH 0x0005 +#define AL_EQUALIZER_MID2_GAIN 0x0006 +#define AL_EQUALIZER_MID2_CENTER 0x0007 +#define AL_EQUALIZER_MID2_WIDTH 0x0008 +#define AL_EQUALIZER_HIGH_GAIN 0x0009 +#define AL_EQUALIZER_HIGH_CUTOFF 0x000A + +/* Effect type */ +#define AL_EFFECT_FIRST_PARAMETER 0x0000 +#define AL_EFFECT_LAST_PARAMETER 0x8000 +#define AL_EFFECT_TYPE 0x8001 + +/* Effect types, used with the AL_EFFECT_TYPE property */ +#define AL_EFFECT_NULL 0x0000 +#define AL_EFFECT_REVERB 0x0001 +#define AL_EFFECT_CHORUS 0x0002 +#define AL_EFFECT_DISTORTION 0x0003 +#define AL_EFFECT_ECHO 0x0004 +#define AL_EFFECT_FLANGER 0x0005 +#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006 +#define AL_EFFECT_VOCAL_MORPHER 0x0007 +#define AL_EFFECT_PITCH_SHIFTER 0x0008 +#define AL_EFFECT_RING_MODULATOR 0x0009 +#define AL_EFFECT_AUTOWAH 0x000A +#define AL_EFFECT_COMPRESSOR 0x000B +#define AL_EFFECT_EQUALIZER 0x000C +#define AL_EFFECT_EAXREVERB 0x8000 + +/* Auxiliary Effect Slot properties. */ +#define AL_EFFECTSLOT_EFFECT 0x0001 +#define AL_EFFECTSLOT_GAIN 0x0002 +#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 + +/* NULL Auxiliary Slot ID to disable a source send. */ +#define AL_EFFECTSLOT_NULL 0x0000 + + +/* Filter properties. */ + +/* Lowpass filter parameters */ +#define AL_LOWPASS_GAIN 0x0001 +#define AL_LOWPASS_GAINHF 0x0002 + +/* Highpass filter parameters */ +#define AL_HIGHPASS_GAIN 0x0001 +#define AL_HIGHPASS_GAINLF 0x0002 + +/* Bandpass filter parameters */ +#define AL_BANDPASS_GAIN 0x0001 +#define AL_BANDPASS_GAINLF 0x0002 +#define AL_BANDPASS_GAINHF 0x0003 + +/* Filter type */ +#define AL_FILTER_FIRST_PARAMETER 0x0000 +#define AL_FILTER_LAST_PARAMETER 0x8000 +#define AL_FILTER_TYPE 0x8001 + +/* Filter types, used with the AL_FILTER_TYPE property */ +#define AL_FILTER_NULL 0x0000 +#define AL_FILTER_LOWPASS 0x0001 +#define AL_FILTER_HIGHPASS 0x0002 +#define AL_FILTER_BANDPASS 0x0003 + + +/* Effect object function types. */ +typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*); +typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, const ALuint*); +typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint); +typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint); +typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, const ALint*); +typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat); +typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, const ALfloat*); +typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*); +typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*); +typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*); +typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*); + +/* Filter object function types. */ +typedef void (AL_APIENTRY *LPALGENFILTERS)(ALsizei, ALuint*); +typedef void (AL_APIENTRY *LPALDELETEFILTERS)(ALsizei, const ALuint*); +typedef ALboolean (AL_APIENTRY *LPALISFILTER)(ALuint); +typedef void (AL_APIENTRY *LPALFILTERI)(ALuint, ALenum, ALint); +typedef void (AL_APIENTRY *LPALFILTERIV)(ALuint, ALenum, const ALint*); +typedef void (AL_APIENTRY *LPALFILTERF)(ALuint, ALenum, ALfloat); +typedef void (AL_APIENTRY *LPALFILTERFV)(ALuint, ALenum, const ALfloat*); +typedef void (AL_APIENTRY *LPALGETFILTERI)(ALuint, ALenum, ALint*); +typedef void (AL_APIENTRY *LPALGETFILTERIV)(ALuint, ALenum, ALint*); +typedef void (AL_APIENTRY *LPALGETFILTERF)(ALuint, ALenum, ALfloat*); +typedef void (AL_APIENTRY *LPALGETFILTERFV)(ALuint, ALenum, ALfloat*); + +/* Auxiliary Effect Slot object function types. */ +typedef void (AL_APIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*); +typedef void (AL_APIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei, const ALuint*); +typedef ALboolean (AL_APIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint); +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint); +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, const ALint*); +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat); +typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, const ALfloat*); +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint*); +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*); +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat*); +typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*); + +#ifdef AL_ALEXT_PROTOTYPES +AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects); +AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, const ALuint *effects); +AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect); +AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue); +AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, const ALint *piValues); +AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue); +AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, const ALfloat *pflValues); +AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue); +AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues); +AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue); +AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues); + +AL_API ALvoid AL_APIENTRY alGenFilters(ALsizei n, ALuint *filters); +AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, const ALuint *filters); +AL_API ALboolean AL_APIENTRY alIsFilter(ALuint filter); +AL_API ALvoid AL_APIENTRY alFilteri(ALuint filter, ALenum param, ALint iValue); +AL_API ALvoid AL_APIENTRY alFilteriv(ALuint filter, ALenum param, const ALint *piValues); +AL_API ALvoid AL_APIENTRY alFilterf(ALuint filter, ALenum param, ALfloat flValue); +AL_API ALvoid AL_APIENTRY alFilterfv(ALuint filter, ALenum param, const ALfloat *pflValues); +AL_API ALvoid AL_APIENTRY alGetFilteri(ALuint filter, ALenum param, ALint *piValue); +AL_API ALvoid AL_APIENTRY alGetFilteriv(ALuint filter, ALenum param, ALint *piValues); +AL_API ALvoid AL_APIENTRY alGetFilterf(ALuint filter, ALenum param, ALfloat *pflValue); +AL_API ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues); + +AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots); +AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, const ALuint *effectslots); +AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, const ALint *piValues); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue); +AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, const ALfloat *pflValues); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue); +AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues); +#endif + +/* Filter ranges and defaults. */ + +/* Lowpass filter */ +#define AL_LOWPASS_MIN_GAIN (0.0f) +#define AL_LOWPASS_MAX_GAIN (1.0f) +#define AL_LOWPASS_DEFAULT_GAIN (1.0f) + +#define AL_LOWPASS_MIN_GAINHF (0.0f) +#define AL_LOWPASS_MAX_GAINHF (1.0f) +#define AL_LOWPASS_DEFAULT_GAINHF (1.0f) + +/* Highpass filter */ +#define AL_HIGHPASS_MIN_GAIN (0.0f) +#define AL_HIGHPASS_MAX_GAIN (1.0f) +#define AL_HIGHPASS_DEFAULT_GAIN (1.0f) + +#define AL_HIGHPASS_MIN_GAINLF (0.0f) +#define AL_HIGHPASS_MAX_GAINLF (1.0f) +#define AL_HIGHPASS_DEFAULT_GAINLF (1.0f) + +/* Bandpass filter */ +#define AL_BANDPASS_MIN_GAIN (0.0f) +#define AL_BANDPASS_MAX_GAIN (1.0f) +#define AL_BANDPASS_DEFAULT_GAIN (1.0f) + +#define AL_BANDPASS_MIN_GAINHF (0.0f) +#define AL_BANDPASS_MAX_GAINHF (1.0f) +#define AL_BANDPASS_DEFAULT_GAINHF (1.0f) + +#define AL_BANDPASS_MIN_GAINLF (0.0f) +#define AL_BANDPASS_MAX_GAINLF (1.0f) +#define AL_BANDPASS_DEFAULT_GAINLF (1.0f) + + +/* Effect parameter ranges and defaults. */ + +/* Standard reverb effect */ +#define AL_REVERB_MIN_DENSITY (0.0f) +#define AL_REVERB_MAX_DENSITY (1.0f) +#define AL_REVERB_DEFAULT_DENSITY (1.0f) + +#define AL_REVERB_MIN_DIFFUSION (0.0f) +#define AL_REVERB_MAX_DIFFUSION (1.0f) +#define AL_REVERB_DEFAULT_DIFFUSION (1.0f) + +#define AL_REVERB_MIN_GAIN (0.0f) +#define AL_REVERB_MAX_GAIN (1.0f) +#define AL_REVERB_DEFAULT_GAIN (0.32f) + +#define AL_REVERB_MIN_GAINHF (0.0f) +#define AL_REVERB_MAX_GAINHF (1.0f) +#define AL_REVERB_DEFAULT_GAINHF (0.89f) + +#define AL_REVERB_MIN_DECAY_TIME (0.1f) +#define AL_REVERB_MAX_DECAY_TIME (20.0f) +#define AL_REVERB_DEFAULT_DECAY_TIME (1.49f) + +#define AL_REVERB_MIN_DECAY_HFRATIO (0.1f) +#define AL_REVERB_MAX_DECAY_HFRATIO (2.0f) +#define AL_REVERB_DEFAULT_DECAY_HFRATIO (0.83f) + +#define AL_REVERB_MIN_REFLECTIONS_GAIN (0.0f) +#define AL_REVERB_MAX_REFLECTIONS_GAIN (3.16f) +#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) + +#define AL_REVERB_MIN_REFLECTIONS_DELAY (0.0f) +#define AL_REVERB_MAX_REFLECTIONS_DELAY (0.3f) +#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) + +#define AL_REVERB_MIN_LATE_REVERB_GAIN (0.0f) +#define AL_REVERB_MAX_LATE_REVERB_GAIN (10.0f) +#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN (1.26f) + +#define AL_REVERB_MIN_LATE_REVERB_DELAY (0.0f) +#define AL_REVERB_MAX_LATE_REVERB_DELAY (0.1f) +#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY (0.011f) + +#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f) +#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f) +#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f) + +#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f) +#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f) +#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) + +#define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE +#define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE +#define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE + +/* EAX reverb effect */ +#define AL_EAXREVERB_MIN_DENSITY (0.0f) +#define AL_EAXREVERB_MAX_DENSITY (1.0f) +#define AL_EAXREVERB_DEFAULT_DENSITY (1.0f) + +#define AL_EAXREVERB_MIN_DIFFUSION (0.0f) +#define AL_EAXREVERB_MAX_DIFFUSION (1.0f) +#define AL_EAXREVERB_DEFAULT_DIFFUSION (1.0f) + +#define AL_EAXREVERB_MIN_GAIN (0.0f) +#define AL_EAXREVERB_MAX_GAIN (1.0f) +#define AL_EAXREVERB_DEFAULT_GAIN (0.32f) + +#define AL_EAXREVERB_MIN_GAINHF (0.0f) +#define AL_EAXREVERB_MAX_GAINHF (1.0f) +#define AL_EAXREVERB_DEFAULT_GAINHF (0.89f) + +#define AL_EAXREVERB_MIN_GAINLF (0.0f) +#define AL_EAXREVERB_MAX_GAINLF (1.0f) +#define AL_EAXREVERB_DEFAULT_GAINLF (1.0f) + +#define AL_EAXREVERB_MIN_DECAY_TIME (0.1f) +#define AL_EAXREVERB_MAX_DECAY_TIME (20.0f) +#define AL_EAXREVERB_DEFAULT_DECAY_TIME (1.49f) + +#define AL_EAXREVERB_MIN_DECAY_HFRATIO (0.1f) +#define AL_EAXREVERB_MAX_DECAY_HFRATIO (2.0f) +#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO (0.83f) + +#define AL_EAXREVERB_MIN_DECAY_LFRATIO (0.1f) +#define AL_EAXREVERB_MAX_DECAY_LFRATIO (2.0f) +#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO (1.0f) + +#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN (0.0f) +#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN (3.16f) +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) + +#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY (0.0f) +#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f) +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) + +#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f) + +#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN (0.0f) +#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN (10.0f) +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN (1.26f) + +#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY (0.0f) +#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY (0.1f) +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY (0.011f) + +#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f) + +#define AL_EAXREVERB_MIN_ECHO_TIME (0.075f) +#define AL_EAXREVERB_MAX_ECHO_TIME (0.25f) +#define AL_EAXREVERB_DEFAULT_ECHO_TIME (0.25f) + +#define AL_EAXREVERB_MIN_ECHO_DEPTH (0.0f) +#define AL_EAXREVERB_MAX_ECHO_DEPTH (1.0f) +#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH (0.0f) + +#define AL_EAXREVERB_MIN_MODULATION_TIME (0.04f) +#define AL_EAXREVERB_MAX_MODULATION_TIME (4.0f) +#define AL_EAXREVERB_DEFAULT_MODULATION_TIME (0.25f) + +#define AL_EAXREVERB_MIN_MODULATION_DEPTH (0.0f) +#define AL_EAXREVERB_MAX_MODULATION_DEPTH (1.0f) +#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH (0.0f) + +#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f) +#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f) +#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f) + +#define AL_EAXREVERB_MIN_HFREFERENCE (1000.0f) +#define AL_EAXREVERB_MAX_HFREFERENCE (20000.0f) +#define AL_EAXREVERB_DEFAULT_HFREFERENCE (5000.0f) + +#define AL_EAXREVERB_MIN_LFREFERENCE (20.0f) +#define AL_EAXREVERB_MAX_LFREFERENCE (1000.0f) +#define AL_EAXREVERB_DEFAULT_LFREFERENCE (250.0f) + +#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f) +#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f) +#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) + +#define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE +#define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE +#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE + +/* Chorus effect */ +#define AL_CHORUS_WAVEFORM_SINUSOID (0) +#define AL_CHORUS_WAVEFORM_TRIANGLE (1) + +#define AL_CHORUS_MIN_WAVEFORM (0) +#define AL_CHORUS_MAX_WAVEFORM (1) +#define AL_CHORUS_DEFAULT_WAVEFORM (1) + +#define AL_CHORUS_MIN_PHASE (-180) +#define AL_CHORUS_MAX_PHASE (180) +#define AL_CHORUS_DEFAULT_PHASE (90) + +#define AL_CHORUS_MIN_RATE (0.0f) +#define AL_CHORUS_MAX_RATE (10.0f) +#define AL_CHORUS_DEFAULT_RATE (1.1f) + +#define AL_CHORUS_MIN_DEPTH (0.0f) +#define AL_CHORUS_MAX_DEPTH (1.0f) +#define AL_CHORUS_DEFAULT_DEPTH (0.1f) + +#define AL_CHORUS_MIN_FEEDBACK (-1.0f) +#define AL_CHORUS_MAX_FEEDBACK (1.0f) +#define AL_CHORUS_DEFAULT_FEEDBACK (0.25f) + +#define AL_CHORUS_MIN_DELAY (0.0f) +#define AL_CHORUS_MAX_DELAY (0.016f) +#define AL_CHORUS_DEFAULT_DELAY (0.016f) + +/* Distortion effect */ +#define AL_DISTORTION_MIN_EDGE (0.0f) +#define AL_DISTORTION_MAX_EDGE (1.0f) +#define AL_DISTORTION_DEFAULT_EDGE (0.2f) + +#define AL_DISTORTION_MIN_GAIN (0.01f) +#define AL_DISTORTION_MAX_GAIN (1.0f) +#define AL_DISTORTION_DEFAULT_GAIN (0.05f) + +#define AL_DISTORTION_MIN_LOWPASS_CUTOFF (80.0f) +#define AL_DISTORTION_MAX_LOWPASS_CUTOFF (24000.0f) +#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF (8000.0f) + +#define AL_DISTORTION_MIN_EQCENTER (80.0f) +#define AL_DISTORTION_MAX_EQCENTER (24000.0f) +#define AL_DISTORTION_DEFAULT_EQCENTER (3600.0f) + +#define AL_DISTORTION_MIN_EQBANDWIDTH (80.0f) +#define AL_DISTORTION_MAX_EQBANDWIDTH (24000.0f) +#define AL_DISTORTION_DEFAULT_EQBANDWIDTH (3600.0f) + +/* Echo effect */ +#define AL_ECHO_MIN_DELAY (0.0f) +#define AL_ECHO_MAX_DELAY (0.207f) +#define AL_ECHO_DEFAULT_DELAY (0.1f) + +#define AL_ECHO_MIN_LRDELAY (0.0f) +#define AL_ECHO_MAX_LRDELAY (0.404f) +#define AL_ECHO_DEFAULT_LRDELAY (0.1f) + +#define AL_ECHO_MIN_DAMPING (0.0f) +#define AL_ECHO_MAX_DAMPING (0.99f) +#define AL_ECHO_DEFAULT_DAMPING (0.5f) + +#define AL_ECHO_MIN_FEEDBACK (0.0f) +#define AL_ECHO_MAX_FEEDBACK (1.0f) +#define AL_ECHO_DEFAULT_FEEDBACK (0.5f) + +#define AL_ECHO_MIN_SPREAD (-1.0f) +#define AL_ECHO_MAX_SPREAD (1.0f) +#define AL_ECHO_DEFAULT_SPREAD (-1.0f) + +/* Flanger effect */ +#define AL_FLANGER_WAVEFORM_SINUSOID (0) +#define AL_FLANGER_WAVEFORM_TRIANGLE (1) + +#define AL_FLANGER_MIN_WAVEFORM (0) +#define AL_FLANGER_MAX_WAVEFORM (1) +#define AL_FLANGER_DEFAULT_WAVEFORM (1) + +#define AL_FLANGER_MIN_PHASE (-180) +#define AL_FLANGER_MAX_PHASE (180) +#define AL_FLANGER_DEFAULT_PHASE (0) + +#define AL_FLANGER_MIN_RATE (0.0f) +#define AL_FLANGER_MAX_RATE (10.0f) +#define AL_FLANGER_DEFAULT_RATE (0.27f) + +#define AL_FLANGER_MIN_DEPTH (0.0f) +#define AL_FLANGER_MAX_DEPTH (1.0f) +#define AL_FLANGER_DEFAULT_DEPTH (1.0f) + +#define AL_FLANGER_MIN_FEEDBACK (-1.0f) +#define AL_FLANGER_MAX_FEEDBACK (1.0f) +#define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f) + +#define AL_FLANGER_MIN_DELAY (0.0f) +#define AL_FLANGER_MAX_DELAY (0.004f) +#define AL_FLANGER_DEFAULT_DELAY (0.002f) + +/* Frequency shifter effect */ +#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY (0.0f) +#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY (24000.0f) +#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY (0.0f) + +#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION (0) +#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION (2) +#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0) + +#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN (0) +#define AL_FREQUENCY_SHIFTER_DIRECTION_UP (1) +#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF (2) + +#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0) +#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2) +#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0) + +/* Vocal morpher effect */ +#define AL_VOCAL_MORPHER_MIN_PHONEMEA (0) +#define AL_VOCAL_MORPHER_MAX_PHONEMEA (29) +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA (0) + +#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24) +#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24) +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0) + +#define AL_VOCAL_MORPHER_MIN_PHONEMEB (0) +#define AL_VOCAL_MORPHER_MAX_PHONEMEB (29) +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB (10) + +#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24) +#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24) +#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0) + +#define AL_VOCAL_MORPHER_PHONEME_A (0) +#define AL_VOCAL_MORPHER_PHONEME_E (1) +#define AL_VOCAL_MORPHER_PHONEME_I (2) +#define AL_VOCAL_MORPHER_PHONEME_O (3) +#define AL_VOCAL_MORPHER_PHONEME_U (4) +#define AL_VOCAL_MORPHER_PHONEME_AA (5) +#define AL_VOCAL_MORPHER_PHONEME_AE (6) +#define AL_VOCAL_MORPHER_PHONEME_AH (7) +#define AL_VOCAL_MORPHER_PHONEME_AO (8) +#define AL_VOCAL_MORPHER_PHONEME_EH (9) +#define AL_VOCAL_MORPHER_PHONEME_ER (10) +#define AL_VOCAL_MORPHER_PHONEME_IH (11) +#define AL_VOCAL_MORPHER_PHONEME_IY (12) +#define AL_VOCAL_MORPHER_PHONEME_UH (13) +#define AL_VOCAL_MORPHER_PHONEME_UW (14) +#define AL_VOCAL_MORPHER_PHONEME_B (15) +#define AL_VOCAL_MORPHER_PHONEME_D (16) +#define AL_VOCAL_MORPHER_PHONEME_F (17) +#define AL_VOCAL_MORPHER_PHONEME_G (18) +#define AL_VOCAL_MORPHER_PHONEME_J (19) +#define AL_VOCAL_MORPHER_PHONEME_K (20) +#define AL_VOCAL_MORPHER_PHONEME_L (21) +#define AL_VOCAL_MORPHER_PHONEME_M (22) +#define AL_VOCAL_MORPHER_PHONEME_N (23) +#define AL_VOCAL_MORPHER_PHONEME_P (24) +#define AL_VOCAL_MORPHER_PHONEME_R (25) +#define AL_VOCAL_MORPHER_PHONEME_S (26) +#define AL_VOCAL_MORPHER_PHONEME_T (27) +#define AL_VOCAL_MORPHER_PHONEME_V (28) +#define AL_VOCAL_MORPHER_PHONEME_Z (29) + +#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID (0) +#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE (1) +#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH (2) + +#define AL_VOCAL_MORPHER_MIN_WAVEFORM (0) +#define AL_VOCAL_MORPHER_MAX_WAVEFORM (2) +#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM (0) + +#define AL_VOCAL_MORPHER_MIN_RATE (0.0f) +#define AL_VOCAL_MORPHER_MAX_RATE (10.0f) +#define AL_VOCAL_MORPHER_DEFAULT_RATE (1.41f) + +/* Pitch shifter effect */ +#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12) +#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE (12) +#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE (12) + +#define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50) +#define AL_PITCH_SHIFTER_MAX_FINE_TUNE (50) +#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE (0) + +/* Ring modulator effect */ +#define AL_RING_MODULATOR_MIN_FREQUENCY (0.0f) +#define AL_RING_MODULATOR_MAX_FREQUENCY (8000.0f) +#define AL_RING_MODULATOR_DEFAULT_FREQUENCY (440.0f) + +#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF (0.0f) +#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF (24000.0f) +#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f) + +#define AL_RING_MODULATOR_SINUSOID (0) +#define AL_RING_MODULATOR_SAWTOOTH (1) +#define AL_RING_MODULATOR_SQUARE (2) + +#define AL_RING_MODULATOR_MIN_WAVEFORM (0) +#define AL_RING_MODULATOR_MAX_WAVEFORM (2) +#define AL_RING_MODULATOR_DEFAULT_WAVEFORM (0) + +/* Autowah effect */ +#define AL_AUTOWAH_MIN_ATTACK_TIME (0.0001f) +#define AL_AUTOWAH_MAX_ATTACK_TIME (1.0f) +#define AL_AUTOWAH_DEFAULT_ATTACK_TIME (0.06f) + +#define AL_AUTOWAH_MIN_RELEASE_TIME (0.0001f) +#define AL_AUTOWAH_MAX_RELEASE_TIME (1.0f) +#define AL_AUTOWAH_DEFAULT_RELEASE_TIME (0.06f) + +#define AL_AUTOWAH_MIN_RESONANCE (2.0f) +#define AL_AUTOWAH_MAX_RESONANCE (1000.0f) +#define AL_AUTOWAH_DEFAULT_RESONANCE (1000.0f) + +#define AL_AUTOWAH_MIN_PEAK_GAIN (0.00003f) +#define AL_AUTOWAH_MAX_PEAK_GAIN (31621.0f) +#define AL_AUTOWAH_DEFAULT_PEAK_GAIN (11.22f) + +/* Compressor effect */ +#define AL_COMPRESSOR_MIN_ONOFF (0) +#define AL_COMPRESSOR_MAX_ONOFF (1) +#define AL_COMPRESSOR_DEFAULT_ONOFF (1) + +/* Equalizer effect */ +#define AL_EQUALIZER_MIN_LOW_GAIN (0.126f) +#define AL_EQUALIZER_MAX_LOW_GAIN (7.943f) +#define AL_EQUALIZER_DEFAULT_LOW_GAIN (1.0f) + +#define AL_EQUALIZER_MIN_LOW_CUTOFF (50.0f) +#define AL_EQUALIZER_MAX_LOW_CUTOFF (800.0f) +#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF (200.0f) + +#define AL_EQUALIZER_MIN_MID1_GAIN (0.126f) +#define AL_EQUALIZER_MAX_MID1_GAIN (7.943f) +#define AL_EQUALIZER_DEFAULT_MID1_GAIN (1.0f) + +#define AL_EQUALIZER_MIN_MID1_CENTER (200.0f) +#define AL_EQUALIZER_MAX_MID1_CENTER (3000.0f) +#define AL_EQUALIZER_DEFAULT_MID1_CENTER (500.0f) + +#define AL_EQUALIZER_MIN_MID1_WIDTH (0.01f) +#define AL_EQUALIZER_MAX_MID1_WIDTH (1.0f) +#define AL_EQUALIZER_DEFAULT_MID1_WIDTH (1.0f) + +#define AL_EQUALIZER_MIN_MID2_GAIN (0.126f) +#define AL_EQUALIZER_MAX_MID2_GAIN (7.943f) +#define AL_EQUALIZER_DEFAULT_MID2_GAIN (1.0f) + +#define AL_EQUALIZER_MIN_MID2_CENTER (1000.0f) +#define AL_EQUALIZER_MAX_MID2_CENTER (8000.0f) +#define AL_EQUALIZER_DEFAULT_MID2_CENTER (3000.0f) + +#define AL_EQUALIZER_MIN_MID2_WIDTH (0.01f) +#define AL_EQUALIZER_MAX_MID2_WIDTH (1.0f) +#define AL_EQUALIZER_DEFAULT_MID2_WIDTH (1.0f) + +#define AL_EQUALIZER_MIN_HIGH_GAIN (0.126f) +#define AL_EQUALIZER_MAX_HIGH_GAIN (7.943f) +#define AL_EQUALIZER_DEFAULT_HIGH_GAIN (1.0f) + +#define AL_EQUALIZER_MIN_HIGH_CUTOFF (4000.0f) +#define AL_EQUALIZER_MAX_HIGH_CUTOFF (16000.0f) +#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF (6000.0f) + + +/* Source parameter value ranges and defaults. */ +#define AL_MIN_AIR_ABSORPTION_FACTOR (0.0f) +#define AL_MAX_AIR_ABSORPTION_FACTOR (10.0f) +#define AL_DEFAULT_AIR_ABSORPTION_FACTOR (0.0f) + +#define AL_MIN_ROOM_ROLLOFF_FACTOR (0.0f) +#define AL_MAX_ROOM_ROLLOFF_FACTOR (10.0f) +#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) + +#define AL_MIN_CONE_OUTER_GAINHF (0.0f) +#define AL_MAX_CONE_OUTER_GAINHF (1.0f) +#define AL_DEFAULT_CONE_OUTER_GAINHF (1.0f) + +#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE +#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE +#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE + +#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE +#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE +#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE + +#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE +#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE +#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE + + +/* Listener parameter value ranges and defaults. */ +#define AL_MIN_METERS_PER_UNIT FLT_MIN +#define AL_MAX_METERS_PER_UNIT FLT_MAX +#define AL_DEFAULT_METERS_PER_UNIT (1.0f) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* AL_EFX_H */ diff --git a/project/vs2015/external/openal_soft/lib/win32/OpenAL32.dll b/project/vs2015/external/openal_soft/lib/win32/OpenAL32.dll new file mode 100644 index 0000000000000000000000000000000000000000..1e3bddd566147180385a18f2b99bea51e5fe80e5 GIT binary patch literal 845045 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%0DmC3MDiuh9T7nv=7SKR-fCQ=! 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 RcpEfj0N%6# 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⪻K(v%i3*5@9vWgw}5*KD|0-mhbAyKv@;k z39W>v*ulDhfdNv@h-hg3>vhrKIQWdYvqS|n<_9X3UkGF|Fo4}uz|zg|x)a=g*#{cu z-U|vpkPK)O6=cZxOeUz2Q!*QLz-1>}XC6m)8OuwL|Ns9Ve8%$n3VQjd15yUs8QALv z4PA*BMV~RSQo55HjSmNUEr3i!^0uesslrP#yT<}miKwmA$7>t2?tpt8>J zZ7&bArDZ7}sJ8FUWU;(nFVk5E3O!I3eG&T^9D2~>E_%xtG_Uu%FmrVBs2qIG3_3*t zR93$Do&lOeV(G2;|N5}u+t-Ic1qU?$K+1oa?h+LP(4xfNIswqs%d?OF|9AVbw4SU> zYktYtZDx4sH7B&#!|orMW7z#8a}431Ylhz}B}$pQ3s^u_2!8^(Tn1E-#m62t{Py}4 zxJL!L4`N};g3fGE%=d%tB>w>#;F92PX#x!%LR-?;G8h=(sxq0uXFEtNOn_>OfC$Kd zhJHa)Y@jh~P&j~^sUTx_WPq9@pal^io)t3#!(xz)u=J)0x@H_=(PEI1FC5ZAWv)i& zjp)Om{wZj8?SIh|ptAIc2E1Vn4NqwO4>H*BKj=~=@EpDj|F#3)Z-6?D3m1SoXP^^~ zzu*f04Oh z{%gk4FQBVbuC`>qXa%>^B%%)+-hR#0dAQe^v0J1Sq^k8&>4(=R5$Snh0OaOg_Ro;> zosYAE1VD|c*Hb_d07(xz3*R`kf>z^#Mw~#+F7SyPwtmkXc9-yfzp(g&Q)_nf5gkZw zbWs822}ErXqat7&qayNOlmoOC?=bpG+@8JI0z~voZO`s@wP<18u*d_gC()j;_FMOh$QZdgFJfU0%T6tE1(3&~Ul22jv}F(m#$op(`C z=Uo8Yplm(@8VvxKN1(0N(6p$~3A!$pMdif}c4&VLq7ItT5ck0}+pckH&1M2^125q^ z&I;y$N}L}|C4!(fpEan{0`hG1As&X^1`j&38-IhylILj?Kz)f4rvDe353@i7OWz`^ z2Bl~4dL58R>u3zTZXUIP=L`VE{gq3IpW2g^VRP01{Lj z(x5Esq5>X)?u}7VInJW8#s$W5hoCExWTv%e_Xe;S9)LCzy16XR74daP zu`qjcSf1l=iUBR>Jiyp|h{y6p=_62$E5!k-2|ADSw}7^J_QvEgbnAjlIrx}~@ouLp z$8lFsIn40l69)qWvpeWeVUDl+^nKA?eJ7Zr=hIWtItOGy>G=7Xc-t7fQ*X(#Z#$7s2aC4SI9HYlJvJ2OV_FHh^+njtXdU6jW`1 zrd9ug79?Xc>sk^xMl70tIFzggxpf&hJwSAWtOSiWpqSEp1Y$G1zVlI0fds=#Rp@#+ z17=xhK!Hw|1iK34a8Pmvwd%on3FJud(m-%2sk_{{MxgRyPg3#`b7}t5G0ovue9<&`%}w{Y`e4(5p<<9i!H8zLa%$lUgEhR({h|kS2rZ=O1(Tri z5psX3#xzj%1?u*8%PLH3&jziA*98r6cH4p$QMcYM(EzR20Iik*6;&*q$Npaj4P&={ zE8zfjVog;3U+9kJXuVx}`#6gV#57QU95O-*PBgt`3=37j`KJ_?e?a9wXcPxDUIQEc zk%$MEu!l>WK&1)Puujmhrb?$X%YRXj8y7;I*a>zkOpP2X+H!GNAQ9DSz`33Bv=?@cpz2TDJ}HNgFfVqUigN2eEPh~UMiSn!44C;{{OV&{eKAdXJ3J+E(q#>d{sfC@TL zHSJL(-u#2PloRaS)&r$!u(rWrm`DW@1h_IVl&~5eIGi>it+7Ia zn-MZN0-7HJ)$eJI7QRtX`Pb*520`opu;A_x70^tK0CSKH|Mns_{_Rd8t>1cGm?TQ1 z4Np$!4&br8RnE>Fz+rj0h^P4=WAgzG%a5fmK#SNw=7Z8J=&T)??iv*XP``jV2DFTj zqntaf(H4{&eWOaan~%Wy2@`gJ#9p|8o7N@I7uqm1WcN-0iSci55MgM@=HH&h)*Hhl z(fYQO@AdJt3C+hCn-6PPzAI4!6*8cuC*b2YWmH~FiUy_1(t9Ao??JmEX%m`{$QXW$ z?)(5=Zd;+KS;=GTnPpoWl!<%!al zhTp)ZrcLO)24*1gm*H)={Ut0QA3$t80@@yb0L!ht{xHNcHHdjH!Qs(8qk*9zyY+U-EzoEfGpRBg zLn4sfRqWkPpi2~GTEEr5=&s^vKEe?l*LWPP{6{?0ea%NW4F7|#yN9%s0|RUs1Q-~4 zeN=dgL>pg%*v*^_x*!@XQT|% zFns^mdGxg~B-AWFmDxar4c~T$sIY);G31|m!0=M%!OqLyZ#G|MFg*MHwy}%~;|sxC zu-iZp{YC!0hnhdgce1FIrds=`aFnqbzP0>RybV0H`+9xagw~U#+~C5;@Y45>od-KV zfaznMH#$vJ!0zb&e)D^X3QO~4hVQq*3#Go_0C^5nj5l9m_(Nt!^2W&a0iDI&WTn-g)rytInI=h>8t(QJjy8Nq3EkMe8MSr{!Gdk5WU+^Ze~g85kH^|9AdH1jhHyqn#%V zFMa>od9d?F=lSnnLFLRZaJ6Z9syu^#@2}?X^877z3=9mrL1R>%KRb_V{=WRE^XBEZ zoj)%>;Jn&-6V&4A`~;d}z5J^4=jCUeH!r{7{DADwB7yE46^_oIm!Dc5Ee^K4R_YHb z!2b6-|L=s@1?Czai0=FaD$&5@Tj!0=Q{TTE{)dWLyQpxKaTy-4JjLG(I-Lm|n=k!9 zOWI1*7&>nl{(tERYRN;w1Qs4HDmI`2-R>H2y0vIM09v8bd8qR@Xb2c|(@KpBN2!?Q zzcRnh6P>@le*^jcg5f2I|9_N6@b7)m{8hd*p*u%~#ZpIwzYWwM0y%}h34BpTwwDSizkWYO7`g%4f{~nR){MC5^Y!7IBpxZ_TJOtSJQuE#A zN1Y!#e_Vdi`H~ZKObqCV>CPXW_b)%_{CN3&=Sxswefe?c$IGueUv`2OaNfB52;52k z_1#3J^Wygu6&A~jorgQG7jap-sBjeXTV5>X?!4Z4SUX0AMcPKC^Avd1H;3j8$zPXW zbYAZK*nC9h^5f2zoHs7N0y}9!=V{H)lE*;>5omPor3fNqA>j)S{X;zP0fn0`DlE-! zIA-6hQDNBy+8oIpqQcVn=>K;HhE5Tcn>s2t|J=+`VF4AGU;{wvZyvaD;^vEc4{!du zdGh9GNVx=-oG@Vmnmn2;Se^r{2CB39jm}LM6@$AnDlZ-iGBDhXQIWX`-X)|1F}L}R z&s`UlfSXTe-+z#%%HW!2%fQIrQU08ffq~&J>khy6?E5eI+m#p@7;e70aWbI!4F|}#pwm-X8qV;fb+SPHc@XZ`h?@s* z>mG1w&Axf)#>sn+ZXUVu_} zT~P1)h|giLOTQgqDh<8Ky2h_P`)-Vi#@!edgBO!R7#NN-D1qGMqGAA6cGpEkDiX~HSU^sCcQ-~w;BJfx$BT*(1_qGQW{~k9VU5>oVf|sS(dHox z3=rEO7QhU=8=@j{oJ9pR$bU0NMdKz&ufSbUaD$9h1nF{7(Eu3>Pycss+ljEcsK7{!u>aI9)yJL4QO&=dSg@~_*?2hS@0w%$%6QIMN~R( zfU?Jn=l}lyzxnRw$@?$w-T)@j&$SdH|vXlsiD_6_k0w*$tLASfM(ak7Pt228Ho!E=YR^ z#J>6BwFW$Y+`N19wG^U#aregEo3FX<-h|164Yp1S|)?oIx-KOo(pV)5<`P|&nY zVPs%G%0`lWc)+>JP+29R)jlaNYuB8dh zHc%SlZv{>KV)wKm56si)e?aLEydnweX$}5a2l!nsAnXPuN&Xhl3iXytC2C;tZ%3F) z6u>M<477sc_O$@Wb)Xn~&35<3Yo@z5Zn9ngx%4w+e>lV`Ag3Xc|BK%s>rsCAAswzBDtHaFTiyi$ff+vydY1Xd@Th_A9ruuJo%dE=1ExmgYDC} zc>t6TZa%ziqw+$E3z8Y`odogLa56C5jZyKq>jK8mdg;c^1JG#ZZ_)bu|Nq^aH&5OT zQ89q08&IVtqw?Y%$SiQWQ9<>CK@|@uk?^;C`t$$)-5WO_y!;F~)(oBiKxr0yljKd- z8zBFjy8Y_zE&eVi(5P1{sQ-QU=FML(_kv;uoMcghZ0j$~AOn>cBA}AwBvPcbd<2>B z;D+rPP$cAmIIyA+?1I?8|NpmK;%{B?_y7Nw0T8bu5@L%z$h>zi%|MO^B}Q;JzXcY;s*2FC=XJZkp=6;q%x0a1g3OC(5r4Jwg9^)*JR zln>J9qN4F~87Q<7E@+(ru?DpG`R2)+H7ahP#*Nz+p0rLE6_=YiDlWHUR5)(tsJMaJ zS)2?E3@=lD|NjrF|AL#}fZ{%&J4Ph}?C_f}c7i&Fw_ozlKE&^O5fnBZpw7o_{+0<0 z3=Ggpl@W42Oy{lUM~sl>7ijrG8n{U&2`aS@w%)$^kiP?TyZzmp&A%B-G`<~XQ-+b^g3fkYfdjl*DDmzpjjYd1jGj00BYh+xqIXF22d(O zU~KL6k}OcdC=mgbH&K3@VpilzW2m1CM`uHY8p^?N<)}_H5)9C1(3I5u^*F z{R(QIs(V7>3%6;ImN2M&Dh*ZpG7l7`6Oh`cp!szy{SlkHE-DV-Ab{nC&O;?0U;$8= z*rhf80(D0ggE9-KYT|DJE#Cmw>EJT1imfE~?hR1w07^eMe>ESm0S#0_$2;NXgxzG7 z0R=&fio#uxpMpKWeo{dANdO`ZYr{a>+%Dkm2FD9$sQTATcW;8NfTkx_35Yg@*DFBw zgVNjU`^fp}CaZ#fd-m(okT`9AV{?;C|DL@4vWl&w4z)dm)xS4mRCK-_VY8xa43#`{4-{WpzoD!-V|0vf_C5#wJMqXOED#M5~wt<#z9;46W&&R{0k zOaMe9lmxBE2CW2Y{_&r`r4c+g_m3aEzXi116*L;t9l_Df(H+3j8KWZ69Ra%DSpYQ4 zoMw3P;49Gm3^Lsj0-UEnTXMk54ncPih=J~*>W%;{)>G+@kmz=h>5NeUo$#syo~{6u z@EE_Y_Xz6^Cf zd_V8^!~Z}3|6l5OvqpsrRGDx!Jo(Id17s7|%^Vf37cCH*WZ*$_@G*14llh#7K~t_^ z>p_cSC87_5UHJM7%>3pzpp|5xrIVm(UeHpP7n-1=9lhTVQ~%Q06>0UugbB@We0p8L z8~HgdIJIVjcI5WDfR}`WA}9nj#sXSv3R+@t5VS)4Q1c`9=3i{(>i<=yTKKnTcl)T= zG@fK&_)rfz*uC3F#iG+k1vF6w&3`L6N;n#Qz$bMyfLbu1zAx--e#rfVKk8rKLZly5 zIR=K;`(S2v`>2@oPBaExQ{$szbMTQ!FRLM2h#?0t zxPTn;q5dW4G<`^j+|E&90hbZmTos-*{9`RKxOo8QfCi+aeCOrOlaTQW&}hZsl?+S_ z3?(d}jBt1Ys7hyGVEAC)f9R`5O#dbOyQ~X-wq!$Wx&Pqifq6x;Hy+(QaP#3E*%d!q zvhP1=c;Z^ZdiUndpNH?>xcTvL)kDw#$l(cK9slk>SP2?KDrG!;^Yx7bH&5RD3KRKy z_vX!ihr#iOF`k25Kgg(HsUO0fLG?ofO8pSxPpE!y1nI(BKd?K4%Tf(QS&D8NqJH@8 z1W^mGA7t*js6d+ipq+xv4;V`wZoY#wms}3D94Ixo?V_S_^W@D_pwNakcVQ|OZ=M7< zb7vpo2dh=QdlS?}0B?GLl+WP)BM%~d-39fKIbMW9T)_bu-vOzIB!>xeB03K>eqvxy zU4D^bsa~obgw&Or<=fWmwh5&uO1Nq%_+r$mko8hu{0k5 zp93Le#K6!UCeV4f*8wyV+siW*G&|QD1}bsEOFCb8IDmIbb>4fi4WzbO;PtWzq2Zm^ zL1ALk8=|5CTKNMihQPA->&}}R))@m^@fMm9U+Gw9T4>v!O=Wn$D8Raa% zzt^Q%p!tKmI4Y%+$fn$>wZ8{~ILc?fbi$jP9j`Vut93rd{Z ze?$C{0169m9(=hDG`s>jA0|YFrPoQMJ4m3HXTod#3C#ysjyr%hRQK&eOTr4lVrI~Y`K zf(ni978TIwG03-;mJAHt5Ep{DR=Qv=$nA|sKpurmWI@|U%{^dWalBp!36@UKH6CEM zG#_H@oC5WR10yK0fyRz(3_3$pJdV4lfDTDv;BNt62ssBFMEv_s^aft&t`=zi#o4(B zeE$P~`)^R`76aA+ZgLs^?=5CDy#3k`YJacDe*S$2dTRnMbZ&uIwvVs*Fk|PZ-ZIAC z%nO|-n*Vb0w;uyF^nY{IU2Oi%Uw^IJM@0jqNu;yaCEx<+5X0ApVEu1oSAzn-t@+>o z|2Ck3HL#~p9N+2;8VuX!#Ap-2-_j(+z|ee%(WZjGrCbPc|7+((XdpBnV&vcE^xwvy z$% zch6A)H4nNW@eNIypjCq14jiEH1yy3qhPNB6H27N%i8FvUMnm&Y_a3m$PWJ98;5-33 z+Q=4k#uMab8qgv>DbRLSNapE|5->d3{NP9HZT|TO8BcPaSYg25nhC0rA@VPoKw4c? z3^-qKyQo<3x5z`>2+B;IkbDDj3N%kZ1o-!PFgEi=WA39`1$)2K?%M_#le)nKMcam zVc>5`5@2B9?@M3-AIp&=#@}Bk01myJZjsi8fcEU}7O;h&(Sl4t28Pf4drs^yWnf^? zJkjl=l5-a#%Xp#rhbjNO19y1NHUze3_d*Iuez3P#Kr1D>eN+lS=a4~N1ucEMd%&5Y zdkVNb>|{~tg&6mO?dyNgflaNG|NZ}Oc;F>y1rW6S>paH44N|&l3NtWRIWh9Lf~G4v zb5x*>v#+l?t$3LDTR(%mcz}_An-42P=dqTPr7syjwcdsnPW=10_*?FRuIvfC04h#8 zV^j>9e{q)Uv|j3UW$e7j->MHvDUj^lc@(q>43e(-_jxh)23~0X#aVXcxQj{zD8gTs zgT}6*?&}7{eu#>J<|oEO&A%A<`+o8=FmzsMe!yQM3Jt6~JV!x+1PzMjM<4iG(-;{T zpt6SFdRtU>fNDw^(7Jb?-WHWTpgPh;h2urMJ_7^u7BIiN2dt<&M+KBVLA7h=r%s4e z=Q+)Ht>5ZYL7Tro6&j~JTvz8Bu&&ORaK*hWT-u;(+>Uj&KrY>d7I5%#%<>q2e;g0E zN(9yG-3~04$2wh9BKUiy`4|{FuW24@{>Q-I_YP9A&>IRgo@<8P?#CFidvLLhjqCjGh60*Aml1O4yBA~epR8Spv0%a41<4)jK zf2YLD-JlCM%NV+IR16Hif#MSsJ>V+hrQzF`SAIhGA0GV0()^2`zpp|Nv=(DQPni4j)cLkl_n zeH@)fHLpU;@K?Q#=bL|U@VCE!L^P=S=q+VzehF#^z|KDN=seWRvfuD+uZ`o&*MI*1 z=Wo&d_y0fR$JUdbkhI9(=L;%2AW{AO9xVBF$uKayWCB$UJ}NoQKVNm8;P1HwnwWy* z_3t&IgsMLUReCMI>w^~7~Lm3$OJq{V(?sQR!>2^^mXnw%h*`flvdi3RV zP-#;J>gsBMLncHe0A#L@I=J&50BSX~zAXVQo;CsBbqJN;qY9TdX}wejI$Fg9+`VE^ zc_E+!Ff>;PFm@j0?|TWlkJ&}VpgWf5 zxGQM!Izy)psJvl$@k$-s-02Sjsi;vYX#LOM;s#80d!niA z5;F(>ejRr3MQWg#b{!fynV95;W#;yc;6edVs&ff}Me(gs&5NB9B>m06fCU=I%QP&TjW?67+yqzf*dr^3Q4Km!2+!(`CFS=85nxK{#$zp z)QUGBV&>oLGl7MFZ^&ep=8y8tpX4ns)`1pRMp!~FR_1R7?NM%q6sMr^3~-aSw~PU_ zr2B^gWKiUT0=Onk0W~~Zm>3vZzm)`aLjr&qQVLqSsAQDdf&6)g_d`H?HfSjFhU$}m z_UxMnZ$7yHlE3W@XnqQ`2qgeKzux|fm4V?k%6J^;a8*z-3W`x!qBgt@?$)!YyvTvL z!331n5+H2wAa@AJjXEkXd_ZC~DkY$P2}8F#XrQ+_kYp)jlW|*s9tbUiRra5=zP)bqvFvW zqEf?nPP;_KLGzSliAqErn|6sx1mmY(6LH2vofj;x@%tUK{K4;ky!AjGo8~diLz@yXfl3UZP5Yp%0_xF%Hs`zmUAPVEK6SdN1a$JKypRP24d@0! zkRBHm4b6L?+OJ;?Tprp$ZhzDGeynp8!g)p&XzkO#eB+ zslx!4?-pr-29+NKfL8}Lf$n1mPvf?BL2hqM0hNZ$H7XvA^*o?KdQh7E$_dJQ@C*m4 z5kVOaRII@=+{-SIqZ~v)X^;oRbWyPYr4|QPaFq^fTI>d?NAycTLu)K5FO22D&I2bL zbqE`raHJvZ5>SZo%Q1k8jTh`7F=)eK4>)IAR&en5N`iKbLxsUDVU6Yo%-{of*K>e2 zJuvgPYzH$K`CI-%N*GXb0-3y37VJE5iv!YQLK;JW7B+&QuCfD1Cp)aQy$9T-@8;-r zlt1``wO6FQ^M~d2Vm_oHmqX>BnjgxS@IXeHPIMl;ob|`>(#!Hs|NleVZ!cDJF)(xo z2y{Y|u-AWUZ-H8AtR(_}FCQpGLqN-;`CEh_J^-a?NHYf1Faz=Ur-F`(0^O_k@*b#b z@uIs%B}VhZOHj8Dbe|z)D3nFzg##$X+o(XTZe9ZpNyg?i;D#CFi-j_fVr8ZbIBZ}+ zajYb?jjLT$8#Q} zGwEP>^0f%8z0e)gCDMAEzqJX}g?ga?+R*YtzW!zN55_vFUX!lo7mVF;BA@y9oWA_p z@-Ftf11c`8T8FfjcLg9|(Ysdw^6gh6g~`=1e+p^I)foN&={Ixy$+jlzU$Bw^@Q# zTI^8)9plHpy#-9)JP2BT(xL)dxB;q~Z>|9|Z_iNy%{kp%16I_%18D1_lOgh@)Y~-i=Z5=!6IzcToZ7?UxUJ{Qo}zROV~^`v3oi?j2}-09l8{ z-zM_w|Nm}?7EVax=cPU*t{pmmYaWJ{x!{%7EGjR)$T2WzLTXuPAb0KoH^pDh|ABm; z(g@?rlRy6dH@ppXKQz69hQyCMfC@B*7cbS}{cc!c z0vddHxe;;|Ij9^L=!IlgP-_9&UjQ{2p#=jd)%8M}$e^;N5?to6LA&+PjKJTz{WUmz zK?9Po>$0J(#+P$m|Njq;+-CKE|NnzS#SPS;g{0)}7!?Q2!_B`L_*)Ahy&zC>f4S-x zsEw@l>Hq)lx6nF(kOnWbr3>l+w*3G2|39Q_(s`A??;5DmXH5WgPA(dLgZ3nvUkY>{ zLh6z{Lhh2h5^4Sk?~-g019d4-yChHfyQhGAHk}t#K^hOf5b52*22$5~0bwYjWAYZ( zBk9Zih>~88f@%wJ_rxKnJ^SL{<^znaZ|h&YjQR{70}lYDf|rR94!BHuxe#=?3?#*Z zTJ<3P;COOTfwb!1zyJS#mntZags2#R1{FF_SYG7s-}d4E{~e$cbhSZ?U?H6aP^T!c zJzMi2bfDqo@z4MN^Y>{$ie7Mu2x`NF(!VqV12o}xLlT_k4a3{e&gVm4BcJw}Si%8pGyqyZ{~(;WZ(F4K3tBIS-n#K{-$VIikof{{H_zsQ=Ib$}*rGM*sO+tU;|iNN2Kp3#9FS zs@F~A;4ju*kqMR;ij|w|ME>`>NtB4a6aaOnK)S^Pj&JG_q@XsQf*seiv#! z_5boCZh_7V%?B9yTc3ce0G$sQqY`o44RRN`8+fYrI3x#yk|Z=9Ks}gV7YR_!1j@xb zKvFNIK;>+XiVJAsE#&wA|1X0;VOOK#0-6|e1_?NR|No!y80eA#7ZrmN2gakFB`Oh} zF)9I|fvN5i6^+-Ny*B$9|69H&5eE%xM*MI7%~AKJ`G-LLn_iP`jNe{A?JQBz=mvF> zN>n01BZ0jcjLkndK>GRnFM^snkkP1@8JotN< zf5V;7?If}SG@lF_u)EFQstg)+gP4*IntXi02n|*#((~vFK@vGGbnc>$Cm>nA|1dH3C@&AR=srp z4?a6V`ThU@-H1e9nh*6hR4K@NpdK-Q>l4tSOBEuZqu4z7T_J;0oe=8f3DCJx(D@?h zVHA*x2$Z~ERDlNgAfW}#($HKi_~QS6s6C)adU^K`*y|;r9ql42FPiTE|KIH)&^-lQ zEknyH{=GgO0-YDW-)Mdy-~3VD@?Z%UWQGRRkc1ira`a0R(1BVLCP4R7g7)f#fTpgy zy#*{i1Zvs9Ne?s=8DRJy+C7^Dy5Gb{1vJv2((NhG=^+4GY1Hkb6409|((4U6Rz#-P zL!{eT0CXRBFH0ln(ht!5i%fSYL-RqF=A$glE-ErC-4guU4;_3Zz`yqoPp05$s0LWik!|+Abva6rc^qWQ>GDgh|G~RzLAT~= zSVwS_fEnFBDk_~fKtnQ)0>@ouf)fRJBRcf7yUt^vU;yppf~>}90S#5*U5&8|)VVQH zd7%XgH)qgFI8Y~6pG+V(7msS{jWAJYUDu2+HY9Una$9x z!QXNeRD-#w#28*W4k}4O!$bky68zh|nR=a>d#jlmej1dDg697_kAsS|Z65!d4>30U zG$?uBu(JVV2!AW6VavZQmZ9Y~f6IF|&~e`U7N_}JK}WF~o_s9;?cZ3j@bkB(gPO7j z8Tq%l@G^9sYdKK*vX{l2f15$)NB(WwK*n`|4t)98a+1FVw3VTuMn%S;^LVKYXusic zM*eO5Ae+DPZ@UOm$G>e8NK5A@&=nvpm-wd~;@<{ZeIf$hzwla>e;Yf1;+w0`4n zISN|F7Na7edAQePF38Nz5*3Mtp8@Uef&0{DQIh2YVgY#UIUwK&<+2ogykP@<2n{E-DJm2Sgfb89{T@D*P=GYzz$W z^L3gJFgDb%GBT8Y1D$+kd7r=8jSbvUR$9U+pZWU_F*7iL&!^?@0i6cc?V=I_x{b;@ zfP=qZ5)^bG0S6XK(49TKpsOapdpIR5@A3D?f`YO}C8Rr?r}-BXe@hr>=I<9Xe~UVp z!N}hd2=O84(BKy`d<+aP!ewAB^5!EpJ3vi7@EkcPeZt}vv_=9{>hW)b&NebLLuVU7 zdscc2K#2i#I1K~nct8GaouDx3E&Sj4x#712fBP{|LjZJy7pWHcxeY{>i4A*Xg>SJZ#D*omxl2D8J#~Geh2WkJpK3of5Yzr z{ua=d>(0Zl&_N0{2Nb99; z2Oj>`3!qtk(0xWrLHYRyGk;4rn8C>3VhBq7pg1?^{M`IZ{@`!c=6{Tx_nYtkH@wvO zR3dS_ zbcbByBLhksy#-AC+dM#%q6#m6f<^#9?KzNtc7j?FKbZMjCxJZeqLKg_v1$V~Izb01 zFfhD0#swZ5R5*^(2mq&g2NuxqN_UBhLZ>;%QJw5BR!G8<>y9MQUK4##L_z%zieOOF z)P%+&A%;1MdqamX#K(m%^RJELDfD?Uk^XTCCvv!G-FgGI$cy$ zUe}_9ya{;QXR2=2zL81_~s@4ZJk z#HrW&e|L_G3b-&$+t0|*dE)Y;gFjeXLs}V1R9jE-_l1G-3h4M>&@Ob){Ze8ejr=Wk zObiVBLEQ?lQ=#3Wzf24aj4>(_FK_++{~w$|ptWg8w*wD&Xl^$+Q8DwkfQpmmAB_Ah zpq6#>Y0!*F3@CGTf(~qm0I!y_KwLS%zs*NQ=4B9Qi~oih^~OK#fH6Gx-u*{=F_c{_Fw`aAKI%BPc^#c`)*~p7{I!KPZ1N zyygX!w^lM7{Hyc4<7L3_|Np_a3cSn!T^0=r?3bWH!|%sIO#YUyko>5^ZPEOk zk-v2XX#LznkXVdL0w|YX1NovxMd7$RxN+WHqoQ)09hB8yg0?h*7H_nEE4lY_{m=jZ zEkEygdCKbbc&o zMIGoA2^G+|es`!q=ZW4}k%K>2Eidr*P6F-YWod4HDBo){xswOf;A7!$nE~p3nLy6z z(EI>8@WDle19VVOH%D&(OXrEskC$IqUgvKEZB*+7RY9O5D(-d0sPLps=$7hy*?f$p z`4G$H$Dji`IB#^i{poi41JY6cNE>v;G-xkJj*3ce`0sHw1bPERdS$vSZxw5F zdx#hwXgyiN{aUoQjG>#W^<*he^C6bz0}7Ux%RfXP{>;DUB;$$b!=Sw#6DAm50uOg~ z!q#KZiV(jPuB{u$TO?-jv*`W5O;iVmkpbbeAdcCBO<=GMPj@aZGpz@z#JLW;_ z5u4xGG}wZh()=wSVMPPzoNb2ALkEAcHb0Q>wV4j;)PQ;)z2Pj~4E!$FLF=P?i~c~@ zdB5g@me=6S5y04avH2Ba^Dp_b_YFS{_*<4TfoiV+M#Gb>mpV&S1VHsSDBHr$bMMUn zrCk;N7SKE;|F&5m-?rT5Z|wtBWWN;n+toqNict}fe+XI-KqP#m!z zG%L0nRN8clX`TnQWIJVf#Z`T4X7kjZ2WJhlq1OK)F#@-A@ z&>FcAP^lQB!qfQ`+t>MiEOS%@$|81vw06Gg%u(UcJON78oh2$F z2OltX9tRgwnm;-ZcDpiko`ux+Q7oM=n-8&c-UB=DL#NZ9&Ks9sbTV0ns0frl1fAZ} z4NCAODk7FSDiQq6`Ji&tMI{0j{)bt*ga0%iV6nW{8Stn017z|B6xNo_1 za?}@hvmJcE()^g8^Kj>jPPvy4K-F~JpW|+SK=yT)sPGt`?5t4{0QtA`AOE%hrp^}) zzZA-Opoyg6mqOW>hF=E!t;_!X{|}OHessU#R|J3SG*EM|f?2UQfQjGv(93p^!I1UC zpg8G#!QWN_TKWvJ$nZe(I~H(}{;~ixX7Wq3^L^)6{war=YgBj`K+)3qo4*BgBLZj( zI%p49ca2H_XxYc>PWG3<|Nj4f(e~&6|Cg+PQ61q8;WIbpX5`<;+;#jsO1t-@x*+3e@JBFkwPi zFz7T>k#5l!^V_qVe=(Jmv|cLFZT`hrs?;qDx|-rRWY6pW%TOh6SU_jnzXU1uge+g) z0di71E69M>1Em4ovY?~iK!+MFXwUwCx%my~?05+zc7R@M_KT3^|NkEc>jBkdy)0$D zEJqm@w1bXahMbkx3_2$sba_DY52g}HsO7&H`CC%||NsBG0hYcHX1v}7s(*KYT38Ur zfHX2525;Dt1)W`o%Sn)f*P-b>Jk0O__&&uL6@?d|BT1TnbJpv3+sr*MzdgJ4e@T9` zEy$xx-Qt}hV6jqHn7QDS0zpUK8SevyNaxMV&w53+g3h2l_=@@9BW6&Wo|O+&lXf02 zNr0Nu8PC#L&QY@axI3gyafht^_yMUG4o~Q|eF56Wb`xwQ+`!JCjV}*OYtIH5{F9mS zV&hNHUgq*yy&~5;ML`-~FEBjtdN-*403A&qqoUAyyF|0OnuW7o&+xztc2EuM%mQ@+ z=%nWPpgS>JL4NEME|CU@2xL7qi21Ue7qk#p4U`MfJqwZtZ>)i?rwt7^JPE4NLA&@I zx@%NCx*Y^M{~r7+4=OuB1Jb<_p#F(Vr;Ccf!5<(|k#3f5P^X%I{fF-SXCQeA|4G(Gt}2yIy~%^A$)h=dTjk?hq9j>i~{gweAoV2T;k{S<@r}8fS6>4KKsa zgof|ugfvM7Knhq?UdVx(zXv)Gmss_Bfc67AfLzC;(ks#mDpNsLfYwrgR!F$0u)Od9 zt-b;+#si%P4C-yfs5rdtFg);j24a00|Lu%`Pe`pk){;-5Gyc- z=he>No#$V(gX@>h)7{L?$5;%(BTS%31x3mCv_G8}I}b63s0axAsE9EB5`1a+))LeO zJm2fh(i!-t{6y!E&ikG2pb<g$(~ zgp3mYGN7~OK}!=mZ!|w(=5GZ}OoPU8UbNmW3Fx+M0G%oNpTFf40|Udi!;GcUi157l zyF|C!y!Bg&S?Bj}hZ#%WgBRfFsJu{yB&}m5MW6*FUtfT(zrFao^m6A5*coEr@B$Z> zFWNx;GLR|$&^%bW@i>bLsF3XZ4moiYRF2FCweMJ3Z35e~A@e|>L<$-NV|g+44`@Ly zX!{lD?oZHGS{ZO<0CtUy%8RLx#B!{Yz2p%j3A~;Pv6>rXHPnYCN>Jnp@6f%MCmH_uD7J~u{YQ@ImtRNmJ$r&C1A7uj{4+pK$ zsZj~(JlG97XugJ05sI}nyK?MKd7(VZPi;0?iM@;aTPd!!21PP%kO}<^OdORbUL#% zA7W}f!0-C0y9T@mC;-$=DhGFCCxRvte!zC0LF<#|LoD4+;J(1sPUk;mCsFz34_?J}MmG7MY_!cd&rwh1LV5DhD4iH6Ik|WfANR5f*vPVtKGwqWKj|^9z=4 zDNBix50VF(PcTByw*a;JAtBid8Zdy~w+=ejF`&CdB?OcR5Ut|^S8Kx8mtjK-L3-7M@4$$M0)*24F7}fyaY{1^t!Zy zQlv_^n}FdrP*c2@r5RMz!|Lbe!=Q>~8Lg)K6#t)!wm`^hc=z?PK_{k4Q;qn8V zKS2v2paUb1e!2CP@)Yj>W@2sJpzk=sY6>v)} zKKAeg%YVf=z12TDk2b&M1|415UHzk^ey28Q1Hr-06P+)?XI_e^fDXOvyx1)QIx-)W zJUCA^o&wteI>Gajb%_d3F?)CL7w}P-FE2mmyxwVpYz-nkH^1QSJX#{%`4Z|}!~d5b zAshAjfZ=~A-$n(rkQT|YplTD+pOk@?LZCx>K{vd;2>k|1q5Lg}Ktb`j@!9|X|LYqc z|Nqa=06L@d;46_v@DzRPC4SeNt^Z5yKr5o45q0@>>!sd8h0X{O@OWDZXsFbpcZ%3q z&{{C@?iv-FUEuu`pE|{1CHH6kJ>NlRG`4;#@drm&=UvT@m!Eciag=~^ZMU>fDyzm{Q&Q5gXbG}S@u1)0Hq(D z?idvh_(d_^9MIdYF87A{cOv#2z`0&S_|c)|4T|9{J`rT4l^ zR06tlRAhQX%)c{UwftSDr}>-lH7q~i)_>^h|NoYELFXYu@AUw$KLd5GdUNbJ_k&I) zdcD!`Mdi4 zHaq}2SQTC#g3W{8m(}f}BGMc7zuR8`v|^)V0!wc=bP&n7^B^?6f$F2IKg|bOEH8Iv z{we>U`MWpxHE7(+Wde)ku`)j7{(kup!63g{Q*k9fzmIa^b;uk07~D1(l?;=6)1fHN*{sJ zd!Y0dD7^tnF96e^xpNS1eq*!HVF7rhJoucj)&ro^=t?wio&xpHK!<1DjZsnP3{e4P zLKo0UMWDlMdP7tMK$jw304>V|9oYpsga=&zg2qZ0gA9CG1Rif}eq*!qKoEFSokO<( zco2}aoV}Z8>Yd>B?7I#UAk*(U2!Jhe-~eSvP>;_?1vHVvasjkr&qaj?`C^yL;CdKr zA1DdkeheGA1o1%WXbFn{LP7WYNW55j_1AyUl{_L1*)L{J`~UwWOc!W`W`SL6HmH&W zu|f1GCO!l}J!cRmUI(g5h3Bo=8@9E8!yi?KIG*P7)@+AD^7R`$Z_WM?NWOlv=dIZV z7Ub)88lgwL(n55BZ! zANbmuo$#$So8fzFHp4GaUTLs@z}AwzfUhOHfU70j!LmJ@#i~8~i*cPPGK>6^EpE7IY?vTDbFC?C{xJoo$m|I^H% z#ZnLjd<+Z>pwT+e&0-rR_k%a`Lu5wDoXn*3Z^A3RMG> z3N8i>S6592&%Df%%*33`s#I675?mpzYSEBwV9}5rYSEB=!J;8M!4iQdS~O%YuxQBM z02M!A(U2`*(U85z85P^RG-QJ?NE}4Nu#$5_HV7|uX~=eTY5?B{2XY4}9f4>V2F(b< z*yuEK4^IeXic*S0|O(J%_IU^-pt6rAj-hN zCc?nLB*?(P2vx%jWrNfRGBAS0L2B5A7#NtKYB->5kQz=X8>EJXfsuh3s)iNH2B~2Y zVnB#P*&uN?C>x}gONfDi1*(@D$_A<7fwDnrc!d}kSfOh8plpyDekdEHMnH&xfeorg z5XuIr5rVQoY81go<1h#?h%hiHLD?WR%1|~)jUfXQ=)4lJ8Y3thq{bM^2B{$!_8U;^K_d*p4B&X-0mTcH%`3vdAOcmxCBncU24!=D)Ij44WInFA6Nbhk z$b3d&NL+)=XNIyt=8HnrfXo+%vO(s<;vHl@u6S2sU<9WPkX~3C0IA282EgLbcn5_i zavD&CrWuequ=D^@k1IVWGcbbF3`jjJZGhC{N*kcfdQ-@lvJ=`KYu@02A}-Il+3(zg`(85)S@H> zb=6{ZE(Q%xPfdm(h)6+EYH?}_SVAE$zeFJ|zcep}i$NniTobGrqAUQc3Y#ss#oS%} zT!TEFaVubev=6>NS!idglLBrl1nt;o|F9|q%szX@$JQy~sWq|zi_+1aglZL>!^>Ug0A9d?98O_c1U)+yJAoxh2To-xpyDCTn8dZMa*!Pl$u; zwm*C3j2$do>|RLPq1!9X+hM(1aPgcA@>_#FD2@tkxxnt4V5n}7 z9!JUbfez%vk&kDXr=L4+*OW3%?N}F_v*WtH7{%UzUUSg7ohV{3H^69YZgKYa zb9N01@o>bIk&yEA(@*?hw|G3PaxgYF2D2mEDlpvQl38z`G4U zTi#nd1?O*(bw{Ra{{N=vuAW13T?f>?Ei|jc3=L6poGDN%_r^A;|-Q(VKjQ$1%->F zkB=*6%)mkgL^s%j;sg{fCuUfK?FWU+H;ouD8)P%i+tX!RCS7BHyYF@}oUl<5Z0H%V&8ZJ96qqU;j|Q5JykHV31?6 z;s*Od+b%nhTYeg*f$Kw%TWq<)!S3STs%8s{Lu9S_jV{o9hAaxH<8g%xNM&HCV^9#@ zkU^wfkb6LR8srvO`vqi%^6g5L_z0W-7*vm=q-O>OP*!Z$N1H%DudPy`21-0u?!od4PJ4QPK7B?^&JzPMp4R#H84GQoC-JS~K zVqi0yxprsI_<++cC~QD(;ks_@pc%stPA_i`T(oyeNJVi=?FD}aLyk2lVlX$rXmq!L z!X?zt#Wg70F~k*nLC1hx?!xK-P#i(xput{lxdcWV)1~_n&Nikk*K~V6-A#7b+~N`x z>hA7}dzcMUA3^doC`>@O(3Z`y_4P(@9CbP-V6^#VUb{Kqua6q+(cJ=y5Esv=D16xn z6fU!7N`m9ayi*ZuKiBn6N6i>WyQ-**52MXsf9wyAy0O7tGsfROXvaK^Z~?g`AUM+5 z!#@O1Z><58U%_rEQ3(gTrS8rP&i^2{ zoNZa?%Fw_K?>EBS;^7|@65tpd?C6f(L1_w<{J=s;cboR^^dkW$R)YJs~36p^2 zLr_`)#gU1incd;99^iIe&<;6!5Z@^w6(w9Y&F!~eHv0%lxWK{#M&pSi=g#mqCG5JK;;&C7=XeGJv|c>E^dy_A^t&;I14*a9RSNm z_Tk?4AoqOJxMQD|re-g)Zn-@u4AA2U)Rsa|FK*jD+oI>AS(@3d3=Ui2WgXltI0`$E zTR`I*pm89WTR?dl<`z)6pt}W>rynnsMv0?BTP{0LoPy#C6d#~C!sQlRg&nA#289c< zTdprQaDcf5l%CPcI#3*;=V?A&BaHF|ms@ZZb|AMfFgVzQ+yaUZP&q5IuH7M~p9vgC zpgdi^PaY)2$ps|9{#d}r58{b zpr>6>n;~C_86{jUD%~bJAK@zOKyGP$EeNg~L16<*FOW9F6gyDc4pi1b+TpNJVPF8& zTj*&Blz$#pO+hK^aHU;bg&iopfW|jKX%`kQp!x_FE}%Sv9xk9Xgr29bR=kAvnGkIT zbhmgqy9PM=I6C8Q+JWkTaB#SQ#tuPwc%Az}d#>w;!F^j$+CX;;$bIPj>3Q$fLE(rJ zE(}IaZpOyPoj@T9>XRV31xINI>Z>`RxMhdjQ+tnxyX-Y%`t3mFFuGendHV6v*(hnZ z*51_aP2dic_6u&e;41AvWA1Tqw}9%$Y7ssMP`GeiUu=ghZGhZ@o{vtJ*@4=1M7jl6 zX@_XPfZ_<`7EpSDxdoJtu%uIabhlhoind$l{*YL=;3(}H?03ky!ovj=4%ZhuIKbiv zl%AK(c0q{`P(D9<<_wA$C|tO%D--D!T%}!ueN4X-*e#$i0fmjoy7k~Vis?UOCwua# zt+akDN?8KR_h0^opon$nq>~UXxJtVQa9;>iwt&(ps5}9=4HQQ^RF<+r(2Rl%lg6aZL*n!(pj{dH* zB%i|Db*OH^Ebc&V0kv&GZULo9kXs&Br8t24X&|?N%6s(m0tzeizS>a*1JIZfN*v9? z=N2r*9mp-9wiL2kKzSPG7Em5XZ)bztq8Y=Fl3pZP!t6kOJEFq{OK}IP8$n|x$Zk3O zwZZ|EZbAJLkT`l@4HS0hZt0z#2Wr<5A1+vWvY@sUC~bi3gvAlp^~nyPJ|nI;0+n^! zKL152>phW&(u^EFXd9NI>xh3KvlO06iap`bT?8CZmLlK!hb}=>14_Fh>)gR* z9n38ctEPa*-Eg@Dl(*2`vTU}C9cauN5;oYwCEVZN#T9GG0t<0a`=tTw7Es*-3Lj9o zfZ7Y7xC7aX-nIp$U83e;IVQUzx20fi!7N!Y-2xg10=b2O;Q?q>B)CrvvKPI40i_r8 zJ}fLeU^J+#W5DhfEF}x3TR>?PR40AY*kfzd&xW+~R?fPC;T6gbS9E1=B48 zRoiSqZkaVx6Fesja|@GpJBnLC^#Z#4VBrCy@q`POk_FQ(pl|`jQP7Tmpg9>kP`Ux7 z7xcMBP&)_P_zT2DL_YvW9APP0AUZ*IfiTDo6>}DW!{zLm7zfb&6)apLEVp2Uiz-_q ziWn?BU^Jd^!BVndy5-Xb0r2<~sJsDXa;qO1d@Nl+en6LH?7a(CZ_R z8uUJ_DjTC+OurLKo59%qfvd4`FjBh?6fWRtlHhPpUtdo@_W*x?iIE8p8y+1r#pm{YFsV1--2M5u9uXs!L^~rhw;l(c=gd4G_1uNBa6X24i0|h3LbA z>;;7js1GZ$uHF9ZnKkyHw1HmUgYwp!Kns+-#nvc_G0uQJj@&|hd~hUP@EQV0Jw5&Z z1Y1z}Gcc@hfUG_A0hPbDpf*0pUoZ@+Cn!j}kSrA9=;!B;KKs~U4{N`G{0jyBdI6QYpf~~bVL@UrjIG>77lY+x7>zBxK;07T?BVZ^ZNgFW?OD6)iw(eS zDNvpP`Pt)Pm3>;;GrKo|7IvUECi=QQkQn;fvY7ruwvcf>MBRvy0Tg}_mL@3q=;pcawxINm97kzsMy?DD*TLg;Ae*4! z;_MjY80Ls|!3U_^h2$epTMASsebcyO2U}YKN;Bwb12pD=E(UW0jK-E;T>O1q<3s#? z;f@125CwzQ;&_46OT>z;cA)W>{zI(}pf)|IK3>Lk3^bO3(mr_o=o)B^5{ejT>=3;U zfP~8e_)gKeb}VjL6Z7Lj%8jvzmR+yd%1LdHrF&IhGuLk=C3^a652|Dmra z<8|n60f!5ywHxArb$w92P_rGVP6p*8P#pj&+caZ@9YJ{rxCJy*4&q_Mm~mum%@bpg3Y+0J+7a!Q2K^j)CTS!f>rv1-0w?!EV{W{M-gqAH4~* zZ~%>ug6bnsJL1FgHk5Dyxet`bP`t#@fRSDxc^Xk4`TG02#Cy0phPk504a}ql`|FDf zz;Og>(}B_gsN4mmUr=3*Z5=$QtV3^ig3=4u^~JXDYV;jI`(Z$9<qZAq-vAUY!K|Qp7?4Q_4C+rKcrX?u|0r(wWCv=8 zJrSuz+4BQZKEb|g0a#Xln)_!8rI(RcqrunYwv>6>B+Kv$Z3}W zR1TrH^+0h13S$V(z<}-+P`L|pOMqvHyJHaMDl$-e7c>tG%DbR44CEfrd_c8G9(arl z#0U8a8H3Ub`WQUO4WM`e(IB;;vJN@DfW%;K@$_?c42lnObVgg4c{pX2?OEvBP>{bs z=@-&IV{mAFebEjyev00Q1-Y4+HpAHh1vdtUYH+!W94-*IfO~Ezr7p5tK_Kh;@zLvPY+(fp4;T#!7yNGV35^IvO~jx!1IRv59D&LVP+7M_j@1t24p1Ec3MX{8 zfa+;sMuXjQLCFoacMdtdfJb1kItJkuQ20Q?VX^~gjMvzBvpr~CGrC(q`G^v? zgoOI}xgrmBfE)_OpgO=GT)u$Hc2FM#wAK$)7K6qbK-48tfL| z&|p`b8`cp0Mo^jr;nvrI4xqFGs;59{18pp*0Tg!V^M0Vb2Pq36bpa^tqSw=4xA=HE z1v#STWk{HSNQ7HJ@d4^Pg2u=|>x)788kCRF>SVB6(CbU0-2z?=4_c-QvKt*E+ybhj zL4F3+)3EdcO3!~*7NVqGkQ(&0Tc9+HJkGG~Giu!kk0VDXM?V*TKkUolLG2gFm-~fWm!}5dk zG{`NWvQnxD1>xd~)2xSqb@?RM5j8Ih+w z90RbIDZ>S@#KvBqS9g{EzTbPL7~A6$@#gUt?I@3MaXjgz5zk5!NLAP3@Mq#CHX}q znfZB0@-CjiA^t(2MHmdJ$r<@bGOo@Z{tT&wrQmZwkd1T=40ZJJjB*WPNXtpgOHW0X zbMtZZb9W75$jwhF%}FdlaY~ShxW`mBVZkW=V4LWzE1FCPiGYsO0U7mRQbYFCNe$VClNz#RiNqkaAU&aZsTBpO$t9^N3I#>^ z1*t_Pl~$;y$hfDL1m~9)C8uVZnUpagcu4G&GKOFjRR|uEOj;Spu?!3hJLFnl2kz(t z&5MIY`VW28i0MD{^#?=*w9m$pfuSK@BRkKJfnkd?1H*&=|Np;tWMF7;W%y9<%D|ui z9~T4};9pvzke{aDo0^+nRLS6(SC*KQnWErdkXn=o&L%LCu*96wRJgorUTH3zFkecV{qY#{*R>EMYXQ<%l6YTF6qF|_JXs%}jlXcF|%`MH#EU9D& zN=?kk$xl{DgP+lpnU`FYnpm6)I}1Er?1PSt*}_hZ*+ou`*(aSEvw58xvllxzW?Q*5W_P%mkH%~j&&KS(o{iZzy&AKRcsFL>^J&bM^lQwX?%J5G?cbRF-@h??qg!M44L7WA z0=W&6=F*a$`1cN@Mnpl*a7j)W&Szw8rc;>5bV( zGaIwrG8(g4GaIv2;v2Iw6B@G{Y8taA)ih==scFnUP}7+Gpr$dKp|&wwp|&yGp|&wQ zp|&x*p|&x5L2YC90gzZtV|GGKV|Lp5#_Wo9joIew8neHwZOmT2wlO2fJv$`>xeRX5D*Q&;B>kWy|6bOZy?t3@cKNc#Y^`OD*>Nix zvo9=f%wD#%G247;WA?=*joJN68neBYG-h`%Zp@yzvN8MBqQ>k+iyE_kEo{vGyR9)h zU|VDMifxVAr?)m{yKHUDp1P$myJkycw$7Hu><610vwJo-W}7c=%x>S*m~FMGG5hPr z#%$k>joIHfG-eCzZp^OP)tLQtXJfX-&c^J8I~ubCcQj`I+1{A#xxF#_{HDfi&OMFU zJ9jr`XY6jwPTJd;ExETbd(*z$^UY|? z_M6_A%{{j<`@*!w?6PT%*=o}ovky*f%#NShnEh)?WA>&gjoHyt8ncg0Zp_x3+?ai7 zQe*as360q+Cp2d3PjAfD?r+RqJFziaZenA$#iYjU7rl+yt$mHzdwLqPCv-Pv8+12j z&+Tf={@dA@o!Hr!ZByNty}7?JTeGt^Ciq*_T@yv$wP~W;=B@W+yc_X7e{UX76lj%wEvcnC;cnnEko2G5c0y zWA?$u#%!g=#_Xf@joEAJ8?&$1HD+I{ZOmTZ+?eeQ&Y&gnjy}1?i75rixd;{mHo45) zL=z+l5ErWss04@t6^%q;Mn)zkW@ct)7ARmv18f8UJB6U(Rm1Cs7Y#2P-Zi{$c+>E< z;Zeimh6fD~8=f^hZ+O!1)Zy!auMS@hd~x`G;Jd@O1K%7z9{A|+;lKxn&j&s`d^+%n zVHLwVhD8j^7$*lMJU<{M+%bQ-{XJ8{{_Du{8IRp@N2>E2fr15C;VRU zI!wrTL3_loNFw9`+VA#R1f+2xbf%O6F0@ef;1(pXa z3s@4^71$rJFJMn#Q($|*wt#H|(*&juOc$68m;{&#m;#tKFi&9qz6C@2Hr$cCRWI;=g7+eC$lb|$($(Lg7Eln+LEnO{rEt6WNwajXn*RrT(S<9-H zbuF7(wzceP+1GNg<#5Zva!Sa&j70YXuH!N>i-m$!A`EcZe%f}-hT|OQ8Fk9>FevE;{-A1XgnelGd>m%k$aO#X%ZEBV*+Z_d9p|MvVl^Y6~TH~;?pP3;wV8zv2Im{|Ek`_=>8pA5XdWU5WOALz)%N^!9 z%sI?H%sR|G%x{>^Fs)(gVaj3hVbWpZVS2-OhH(vJ4`T^q3S$VP3!@363Zn=k3*#4t zCk$5@jxcOtSi&%cp@pG>p@1QSA%P)+A%MYy!GXbo!GJ-7L4iSnL4X0&j{qH22QH{V zos<9n|AX1k#yx1#;saFR3?l=B!T3w+KxQ&S zX(os`NFG@|=v+@^4AKJXAA$NnAon55f!OHsAge(AD^MQ_)K3ESg+To(UIqpReg+26 z4I2Od{{R2~_y7O@fBygf|NH;{|G)nK|Nry<|NlS!|NkGP2V@UOAE@61(hKTmf%JpU z4F%l_1Ue!Rdek3-I0FNNBm)Bj=z3Cl2GIG03=FEE)B7117<3sJ7>pPg7(g8)&>{oS z+67Mr1_sc|n+OI52G9*}ppF%&FVe)oz|haYzyP|ecP#@0!#)NEhKta!{L8?=AkN6Z z01B%>Mh1prMh1o%j0_A185tPfF)}bHFflNIZn>Pq#K3TciGe|enSmjPnStRjGXsMP z3j;$R3j+fa=;B~j1_l8(28Pva3=CoH3=BdX3=9uA7#I$7GBE7rVqmzy&A{-Vhk?O| zkAYzqKLdl0AOi!tFayIo5e5b}aR!DENd|^H(hLks(|MiG-SV2jNgMkHf zLSw@RNPml=(Lq6ggN3OP+W!Kd@CdrG7`$>B)B$B+Pyml5{rm6s|9`zV1H*y;|Nq~2 zWMKFQ3SI^Q&{3HT1<3P_AZv)mknUBykH5Q*YnZDK1A_17>Ep^!UV?P`X?{U!o7M_PtAe!hLiL2N>VFI6pBlW3sUn^6p~Ui63a64i*yu} zAc~bhNtGcqFC#H81#~nkE)5FBsU;0K~W}Xv|7JrRt_8R=_L(&9k`%1v8`+Wr8}LNU@a(KY>;O8XHjOBaWs`L6dPzNl8rss{$Wx zTac4j3DU~NfF_ZgSWr@0l*+}BT9KSnnv$A^aE_~+W2jF^Jan8bB{eOvG^a!tIu2J{ zoNCO#07^!QIl9H59==OvQEGBYFz7f)V;2S_9)quMaAa_Zt1m-xMq*xGYECgjXkIZq zeZd4F>8m&~w;(4~7jz0QiYg>=h{Cj@)WXu#yyQv-)zXYA1u(C;L?JmRF}DD6!Y^1n zH#09Yw=|cFp&+#=Ge4ymO2-#xR;4l&g9l`a8H#iAONtqaL8%<&j9{d2FUd$%fCd5V zq+pOPP~t_LDU4S=7lU(ADrkgHAtkjeGdWd3wLk|PL0k+z`S}H)*uhl6#o(Ktm(LJf zl3J9S&k$Iem{OEjkddF4nap6SXQ&WdT2urIa1@S$Mo?;EktTx~vI28tj+3rieo<~> ziGr~UgGOmyc3ysYo&qc$G#RuIf}nWNWME+M%`7ek9SfRRQc{$eR9cc+3{F-#P=`ak z#06KE1~DIWt}=$2jG~e>hP1?-;#7vj(vp1S@f47hLK$d$2@=T+L7+%31{Fh46G2Cg zdIW{IDS*az6H79aa#BG`bre9c&BYK*nUCq%vfrCZ>QAQ))3oaY1Tgc4`qQXTk?Ek(7cw!^HrK9f;1f z(wrQIq{QOPWc1hr%R`idqbW5HR7$77QaV^HC9@bT$iM|^0bW0OIQqE7JNmi%xPq!E*IS}_N zq@;p}D6uI~E#P9%P%Y3@a7oQc1yx-NswoOiU`J{cYhsau950St&Mh;iB((@Emza|b zDM_3mbt{9Tk8`}IUznqhrwhCUfmNd*M=&seT$)^3RFs+rIzM|9|(AaH?LU{(LjRCVh zKM!g<7ef$O1;_~~t_8J&K^W9N24PSe8is>2)ALeO6r3tcQbE-N5)Ud9oRMEtf{=o6 zp>m#iNHQRfTTXsr3B!}Mt=S*ewr2lZ+nUY2t~Fa~U2C@Ly4Gx?b* z0wM?)K!Tu*0tpdtXk_M z6H^c(kn`q?p%t;IAw&jrzC29K3@QdX4;&_D4iy8P9}g2VH7rU^1YK3bz|a868mX`x z9ty6sAYmPlSd^FxYVM+y0*N`v@t_7sa(-S~W;%mgQ7T-!qmMH*hsC?3CI_Xafr<>6 zh-V&H1f(8f0Z0bm#xugOT0A!G$V$9Vq)Ymo0 zF~l|A(Z?s=H6la-SroK69xfIU67TF75E2^X3Q-dg5)Yp*g^Q$Q7ANQD<$*4C02>q$ z67T930hfl9gYh}}$%#4f&;S8Tg0gr-Jk-<4Ir+)iaN&4x9R@NDq$nQVyn%}pB$gJZ zLiLgo3?Kt2^FLniz+H;VO`yI_L`b}&k7Kw3lhqN~l8dAXB zqqEP^0IAgY7ogW<}d>LHz2 z>`FkMag7LZ^#i#&7_0%l$O6m@a&-%G4fX)DgCqT%!3gS1} z6tud>GYBTk07)lcLp)p^T>?D({al0NU0g%Ju@7-2lA2Jz;Lrfj#%EWTcxc3diY;&~ z`Gxv|D=kDaM0Y(r*Fek#Ujy~}&o4NE{5WLT|-=hg5v{RgW^N|JV7Nx zJSg1a!I>N321p=d6g1Glk9YI*0Ui15=z~^DAxn4$#XC9$`v(Pp;tDC~Knot@35KYL z8_4xgXF#k2$C-y)yklsHKd4=V%XY9js4Bc_U}k}v4WKF_9(1Y`IE8xpd4_m8g2v_J z1AH7Kp~))1F*FzwjKLxP0Ra#uB&`L<2Zp+aqKX6r`8&G?Lv=tiI;c#x0C^3GZ)k=l z5DzZvjE&HRA#FNPgAPdsQm!ML2@ydt6(WSiT&M(AlR<8c2ek+>Y(p0XtAw_IV8s%= zXoJ+aIAlS!kVQPGiHBqfNYKy>n<%n3A*#@{p#++#p|gh{vKFuaO2B|cP&ApLYXS?P zXab9%Xfj9F1QtNi1QtQj6y)j{gzP#HA4LmD07VBRoI&kvByS@Gv8If8aO)dMJv7R} z!e}}`L5iUs97GtR;4r`t1$z=h6yy&KL9nwy9T+q>K%Ivy15#=MPgfwGp&1I-*vJje zhv-Krhwza!Km?GrfV_>+0OBDj2XT=VgFJ&!4B{av262%U!Z^kf2>RBbRvOq=^tkNuUT}%n}PB2To~72@on{ zjMWNbmw0Se7`tF8ybuP#tpFtsw4?y%f?^WR0mT%Y1B(G@Gb|n!urNL>ykLBAoebl^ z+q5X6C=J|rxEfSpqy{cR39=wKSmDlumeMebLG~HLCE-?}3L|%t;+;H0KphEqy$*^L zX#XzW(=Ws|$Pd(l1CJxX%>@}3@8jy{9^wHPgSKYSMO~dy6oT8u@u7YJj?UikPCow5 z-tmq;p6-629h-2Y@JfdI!75zP)HSRYMy^(oTDq{-XuO}JFSHT|kF&=^TeNU_Sc4WW z;2!`Q$AUHiF&epHu7044d>nm{`poe`uArMQAZ<*PZfU%We?WkbYY0&xR34+?$m)ig3)&D5C^?`BA*;q1L;|VD5Jc7iZMebOs8Ft7s1LYh1?Bqqhl4jw zfs!7$T^aA;>F$9h1lrC76M||0xAQBuRz->#IiEuS20uXahgdp0W zn_XaDf^uPAf^xw#R!$(dK?M+dV?cvzko_{y%`XT6P((v_v>*h*n^_QC*fte}2-@Zp zgoHC<0}VnDu>}Unb?~uRGWM>3jD~IeiFW}F&xAyRjYbH1y19jdMr}}qVf`j}(10TX z67HyC(11r6=<4hk86V;a$>j*OE?{vFw;<5btf-bjqBfjM3!}N z^>IY=8?tnOBWN@Yu?;HT2Q)SgNeU2?L1O?ovap=+H;Rf$HqlTXkk_4naKsX9VPY|I15^ElAKAygi zt|~Mzk&+oq1UZdC#X#-^IR=RfaW+%{Vmd51Py~_E5L6sFqR|XSmV!qkR2y;}qG>~x zf@p(;4^$`4K!?iX2t24P#BWF;2Ptgg!yUt1K@B}nxIl#hJRHFz#PLu*XhsJ~8j>O$ zePGgVuC6Xlj?UgFN}%}yQGms}y10YuU?d@!|B-}XCAV{Eh`$@SR7R3?4Rm$|wMjrW zp$LOY<#10IXc~9+@Q;UtAE+n-@qB_%`7VyWuz?|P{y_EuSRgnc$kh>CBlyHKH z!2=2=01GJ?A0AXN0c49{VsNLSmfMIOgCOss$-!$cL^z?TK#5m)xgYQE2Mtzuu@5fc zVKIR!iZC1@?(6Ad2r0WjfeYI{84ngl#15KzMBE^2Fv4z*Q9KTFjN-AF0}2T&=75C} z?nl&TV4s2pi_q}THIV(2saqj*{#MBT$qEo(fPtY4#1~*-n6tGtn@NCyVZ+weY-Rxl zhQnK1vsnZf7#?hG&1Mx~VEDSVHCq_87<5}}wvYe=gVDCuY&HP~2FGo!+3W%g4F20% zvpED97^1heW^)QKFr;j2%@z<~U?|xUDr? zn3;j${Wg%hm>5{MgZ6PUF-UI*?bl>tFy7vpJwcLz!DoAG_C!erhQ#fy*`Ryd^S8HV zgXX>KLFz;q7<#w2W`pLp=WTDz2F+=&-`<)Hn#Vo>QZK^5a1Nwign{8H$b1n7hA$v} zA`A>XJ6f|rbNG@wTC+j(_WCkAZ>V3&=dsRpvWev!_ThFc|G@&7LaBz~HsBHG7&Q14Hyq zh&dTMTeBG#Ffdf_Y|Um`z`)SIvo)J}0RzK=ovqm{3m6zS?QG3vUBJL_WM^wOXnpp1 zsJ`n^`TnU|`7G)tb#Kz`#(ot2LWXfPtZHS8F!E00YC+U9H&)0t^hRceQ3K3NSG2 z-PM|{B*4IMVOMLmGAO<5YRy&=U|@K+t2J9yfPvxvuGVZL0R{%i-L2Vb0t^fqyIZpj z1sE6{cDH7$gVN3J)@%&{28PJpt=XCa3=Cw9?(8rCI**1 zpnbqh3>kYs`+J!fdiOxm<=j1xbh%;=Bt38514-X|_q1k<2rw|5*wdOVD!{;SYfo#o zm;eLA`#r7M41x>{|M#?JGYT>=2<&am7GPjxP~Y2{4Z6SHac^rjXdO-P-qvi;8k)4d zt=WPMj12XATeCs;&(Gf5n#~~0z_5OAYc}W(`lBHA!VC-#LF$DW82;}C`InJFWFN?X zj0{@)TC+iGZmd9jAqEETeXZG`yW(T^wPu6X+2rnP%?8~IU%#(4n@5O&VdB2lY|z@8 zMf+N_LHECJ+1HxQFT}ubY+q|OXg$sKeXZG`d){B}Yt0rCVqo~auQeNVw>|g%)@;zd z_A>ihvpIzr74tPq6~}-MNqnTe`~fP10%zt{jJ%c`{#G;Z_NhX zD}Qc(Yc}Y<_$T{Yvy~Va8Gi0>%@$)|WDq>ink~-2$e?`y5`LBkAmQh601|!?2O!~= zaR3r-l?Nc<)_nlt|Ct9`vq9^PRvdu%f5!ocyN?}!xclk>h`XO2fP~BU1CVgxItU3D zxr2~!F*pbb7w3bJa0x#M375=+kZ`Fv2nm-72SNU0Vpw(%y$3=5WMa5^ur=F| zfsx@em}X+&Jk**Ey4POeP;0g^0~3P{n9s-%b_h~FB_D#6Peq4XvzbL180rtTW;2O0 zF!UUPlv8sKLCUE$halzD9*{l}28NR$eIg7D_d)7K7#QAy^ouYsupEYzQv!z}<&^4S zNI7MExHX$ygn_~7aBDV)2m?dF;nr+U5eA0z!>!qj3JeS-hg-9m6c`w44!34AD=;v0 zfXq=~V3+_>ufV{t0;FDnfnm?#)@&{X28K(ATeG1qKGUBam_|=m?}7OF9B6$BK?X%CY7nkaBFs5lA_< z5~OYe1H)#Jx(y5r`#|b8Ffg0~soTK7a06uC0S1OwAaw^A82*9y7Z?}>j<#kqA7Efm zI@+2I+QeXev^AUQ00TqF(bjCn3k(byApQjgh8B>z3k(d?kG5vBTwq|>bhI^_^#TLK z@uRKTY!?_9o`BRhFfe=unFCtqbqrFDiyVWL^XkVS<+v48+zTom1LfyJ`3+G1M5y{D zQ1R^`@dgHlW5*!jauvh}?K=VS8yFaVLDg{|huEWV9F*@F81#>W@;w8C<8e^=#lR4C z98_*GFytQxm0Ju9Eyp3}4Xiy5IcMM$h-P45xPKht?r%`@I8H#!lQ{t~&)@{8oMd3| zH~}gr85ojJfXYb*hPo3Fd*++~m6Hq%yH7yuyKw?y-;Wcm*`Pf-;wM|PLHl$}PPS%) z_WO9B1m#->hUAl=e9FMka1vDhF)%DR2`c9p7!IEVl^+ZYcTR%J4F-lECqd-^1B2u# zP&vTBU~&o)-fpKL?v6SI35U#65O-Idg1Ec?6vW-jPeI&$=oG}=_fA3F{qq#W-4drE z?zT7$ad+5hh`aMnL+oih4Y6n9X^1@wPDAY3a2jII;nNU%E<@EngR1`tRWEi1qF(n5 zM7{eNh`FI>Am*l?ftXtgRo4bpHx;UGB~;xmsJc^7b+@7F-k*Wk&u|uEuFP48xprqE z=0-xrbD?xIRDL#8e$!cq`%a&QxbN{93gEbcu zbCP`%vtf(#oFU6{K?^Dait>|Fi;H1Pa1wKpgCV&h(ueynV6I8o>~GqwIMMl*|XRcwofJiw3F0i6CYKmlS2@r9+i_=9Q$TrxulgxXxIYkU|8Vkyes|Tm}&hE=eo`TMX42T#{da zWKuAArwG^`!Ko$C<%bYIgH*X=5yQQd7wqYv)V!3`BFNSV`2HvGz<6R#GDH$;DNGO& zwgI38f2cx1sl}zasW36nX&>Nl$%Kgnr52}_Ky<@|+*3=S;bmr01{HJ#ubyW}%yEG% znP*7M@hpZ2rZ6Ptz|DoQo$~WRYcfH>jW7(#121)kvR(2^lX6m_9H=IU2~Y<>IAARh zCPW8>4NE0h6A4BdK}#Y&nZ+fkd8tKd42d}~wlOj%4dg7COeV4_WKJeXm3wLlOd-ew zBre!QBtFasY${wj06(TMJ== zY=E%9mO+?Mdq8`pijq@7Mt~v|yeA243Y-Tv2+jkU1?PZ`gY&>9LJSYcNvs5g5`+iJ zI|yD-YI$Z}3W5(#z)0Mj#7el&Ksw?%4us*7Sds|mfI@=#2g3%HrlqAOgLhCu+=1YG7DLz!i8&Ak$Y>}FWG;jWG8D=J34*db z*hG+G1P4V5qy;Voa|f3FB#6MlA?aC+MS>wQ2a71kIoO0j4#Of2aw0ZikaG9b5-d_6 z3vkHb)&#N!yC!h3K$2~6X%Z+WKx+l47^MC~6)R0bt)bwF7F8IQ&#>2ZE}*r`kSzzr zP~$-re`;|tsvsnXr$CiJc*dyQ6j)6LFQQ=bZ~?duxCmSm#K=rD6I3hE1wbciK~=!b zK&XKW8DkNHYXyz#tZB_QP-)6uaicXmz_BTN-;LJn0^6qS3pZM`6KtBYAKhrpzTnc7 z{pCh$_Jm7~*_=09vmZD&Wy{@c%?`NSn5}cOHG6`6Q?~WZ)@%m;rfm0{t=R?gP1&&^ zTCpiR|7L6U1*N9!`kSrU8~B^Ddv3O7J4iNV&j!)A8nZXtY|TEP(Ug7cW^48b&8F;Y zH(RqCw41V@g7oP$Wq$|hb85=wzSWw&;80_>{H@mP4|f`~ZEm$@H|RBGN8f7A4lroS zF1Xd2eZjCPyZKgYwu5m~_Vin=*#f3b*(-0gW*;zX%H9J~FV&QN@m6cLfkb2WEs%K< zjoD8?>LeSpKiq1~W>9U+{&TA}`+;m@HrMUeYzL*rY>C^g*#{IFvsFNR`NnL++pXCJ zl8xDRw_CFxNH=DC-)_xjkZ#NlyWN_tAk~Ul*6f0whHM=Wzo#MF=1yyNLSI9+&z;t6ft3x}k#}0N4VE`# zXM*@^8?sC8v}PZ8+mKxc;=gam?!42Qt-#lqJq0BGx*>ZWNc?R>_R2f0*&kRMv$x!7 z%??=GkbUq@Yxae84cX^G>ee@8-@VhCy%;fb8Ahkj-|tHM@YZF#ZOt|~-H`1F5@&AA_Pg7fz2Hnkb~H%-Ttjx&-PY`YQw`Y_ zcU!X)E;eNM-fhihxZ04t1jN^9$liFjHCsTvA^YIn*6a-t4cU)D z<{C6)zXS0N8?t|b%r|VvX1>>&y}+m;o9|w0wt{g(wj_ve(vYoouQhvvX+yTjz1Hjk zvxaOZkhpn6w*S4>>;$WZ>{yU`>xS&?d#%|FYK_^|_gb?X)EcvUL45Vb>^UI5dSmvQ zd#%|QiW;(ag3K#y$Ub?mHG4uyL-v(>t=S(+8nW+!)R#A8zXZvbH)Mal*P886(UAQQ zq_3hOoBMuic0*-Dw&eZR?0~9ahZnf<_E3W8)O=?=YeS1hU^_6b#e{ammjodKk#eFeh#928nS;*$*DJW*7Wu$o}}SH9O&FLpIZ+ z*6ard8nQ(nwPr6k)R3(Sq7OHKj_Ck*J#%wYQp*wxG8s~e!F$HbGxKtD8S+3|dCL>a zK&Li@zExvUyfCW$P_(%1&C=l&eP0Rs^ESUHSUo6wZ}WSC)q}$E$!RfoI6gTo z2KEz399#H;+>6bfAaPi@L(GSSJ97LnFf_QnStn)3z);}0@Ypoa8Kd^%+b>!$Fw}$2 zLRmSn7VzP|bHf2gQ(i@UV@nxo6#f%y$Kd)^(?G5*Z56(+xC6$JbR%QHAM z_#bu$-4PI08sNHmm6k&q7%W@O?!drsxxLQ*@Lqno%MbLPvN$j>fX;Hw7izX*U|=v| zU}yjxLBybwD)}fveEY?ZVDnBmqMeV*VCwdIMOM>_-w^lwb7Fv>%L8&f=@_!{R-quV zs5n&td@hWYLQ-OiLQZC0D)gWa4Odr9hIG&XNMa6ys*$N_bewIhf~|rQgsl{-#Gs^v zETImOP>)qd7KI3M#WJWP34;Y~V;LB*xg$3*2Xw|nYKlUB0q8JSu%n445K!KMf7 z1%)EWsjP|M0}P*?unF%*?BFgP;!Fa$IBGq^E?FvK%BGx#(3 zF}Q)wG$__r1tA6q=?1n%wHO?npc8_;Q!7EIcz{j}0lR<;a-2_PYB5889_R#KXYfvG z$mk{LJOofgF{D-$q?8tbodc0~E6UGx%gjjyoll$M=mQZ1rH&8Bo3ay*HDw!s=;KY< z6OK1!A2^Pv>v~tz{@H7UEb+Bn&H79`h69G+n;QR z`^7>#IX4|U28Qp>o9&|QrB-dVi(YAO$Kasj!f>G21%BQ!xMW~pa5&qPop81(yWwn8 zw!wv_>;>nVvJaeV%6as@~wM3RAl0i`?$IP8v^UqScG zRDr_*rU8~;--Ary`VLA0FexYvx>o|qWM}}FlQ15L{&2e~Ti|X}_Jx~G*$sD_vOnBv z%1*e`lx=XkDSN@4rtAeE`esx1fg4TP2G^Ui8Ll^FCtL)_C)ful?qy&Am3?4wkl7%N z>fbHSH_m+ze!O({kzXM9GAKA&-}mpGo+s4&6U+zcK*a)&nz9!>Zpu!0)Rf%-Vn1ri ze(SG-U@oZ^|xs-jqGzc~ka<=S|rHFPgF$o-}0( zJZZ{4@T4hQ;Ym~Wh9_Y6fwZH>H&_IfDEQoz{rFQ;cEP8nY=zHF*$$tZvKc`1m!@on zFHPA3Uz)NNzBFYUd}+%5@VP15;A>O%2aw#?rfh+)P1y=xo3bB#Y0576)|CC^Yg2YH zNbFlvw!^okY=&=5*#e)MvJE~pWe0%p*QV?VpPRBbd~V9V@VP1bz?Y`%gfC6m8{Ri% zA9&xCE%2c!`@;LCY=#dY_cu5&Ff`bshcDFi4U7&947?0(&an6g)n`izYVBcskURqe zgS|ZHxNf=D)&J}v=Z|w;UtD0zb$v19ytoBU3=O-nq-m%vpmi?4o3a&tH)T8gZpvo( z-ISg1yD9tf@22bvf10u<{AtQw@TVzz!=I+?1Am&b8~!w92mEWw7Wmhct?;iY+u&bQ zw!^=sY=(bL*Ur_jg)T84BuI6k9j^=CwuIB6nj^^wK zoXyz{9L?FuoXy!RT+P`NIGeK-IGVFJfyB9+vp;Y(XESg&XA5vQXDe_wXB%)gXFG5= zX9sXMXD4tsXBTicXFud>&Q{=U&Yr;2oV|djIeP<7bM^tA=IjeR&DjrlnzKLfG-osL zHfIa)HfJ}2advo>!_U3E`j^=C!kQrRf*$cRuvk!p$1F|3FR@UZh1=i;50@mhi1J>s31XhGO z$l(tP8}#r-PLH7T@Au7@(!Z<1)(8vl(#aAmVSKv(AnDb^iGjhxg@M7tnW4cNe4PMl zdIgouzg!s@sz4Z;Zt<7D52Tv217w=B1tgoZ56CoU8-V!I&DjM~&Dj&Ao3j~YnzJ8B zG-oqNG-nrxHD^1BHD@mn0Q(PI&Z7B`=<*kmzYyi`cW8MC3L|9fpxKN`;Q{c^=s4g_d7XBTKUXHU>>&fcKioP9yNIs1clbGCp^ zbG88pYd2><&}z>9pw*ns020@3&Q{O{xew$z28Jz$&Djcu&Djiw&DjqOnzIiWG-oFm zG-nGKG-p51Z_eJL-<&-`zd1Vv#5Qcsb}(qpc7U=4^qaF67&K=;)@#mgFlf$J&~46c zF>KCG0I4%<&OTt=oV~%gIeUR|bM^$|=IjRJ=IjFF=IjLH=Ij9D=4=P!=4=Dw=4=IH zh*|;T=4=Ki`-4$)_5-8l>DoXud~oSkCYoZVpB zoV~!bIs1TVb9RwQbM^w0=Ije5&Dmc}nzJ96HfJlCHfINzG-tbj)LJxWUodaZeqi35 z{lUCBo57+vTfm|@Tfw3^+rXkZ+rgqaJHVnjJHetkyTGD3`=EJq_5z3I><{+M*$fWN z*#ZvD*$NKL*#-{H*$xiP*#QpC*$EEK*#!>G*$ocO*%KU^vme?wXZxj=D?m;}gdRVp zkOMx2!wS?6hMg6np_-;poSF_JfG#><Oma^vT4`t2S3gyk&0p-ov4doEEC6&$D z8=&k5<;~ewDw?weDw?yuR5WKhR5WKVsBF%@08&%Yob3p@(ZMG(FSQudkN30(^;v}A*&B44vkO4+quZSQ zprkqb0Vq8iHD@OnHD@bCG-ofcXwIIX)0}<4uQ~ewDE?xbvm11pvtQg?W0QOIpH1{- z8{28l-M0Ty%WVqIb=W+5In{>i`eK`9vyWKqDVc07tsiR>@>msg-w!y)qO@-zZCh|T z1j$Vd427V|yTJAoDCdI2X3c~ENPVT?_)^V~V~tGI6Igu(lLxn#85-tL49h_opB&@9XN`2e?PXt4s>S`sE-S}OBy7OR=(SV?pz1?brM&b{q@av z?HL#xKy7Z2QZNR0pVJ`yXOIAL`P1X2Wo!E0!qvU#=YNoU?OsHJj{P+O-G_YkjE~*f zGiU73!zpiZBSu&z3EZ$vv6ifY95m{%)5OCOi*=!f^9aQM$BghTt*wIHJCo>6j zexQPCv6X^NXo#Dx1*9`=2RfD(Ogl48R+^U#>Mn!ta;Z?zNUbQ*Q!uDd zt$^j_u++Si{2~QU7f@eX&!kutij}w+KzE^lMGei0RrO$m5*Gt}ZB4P2YB2(Wy5UIY zOhT?6DN%rg0O*+Byu{p8kb$7Stp;cy!3};IpeUii?4vh#`rA0eqlPD#Uo_{L-8h@F|I)lV8C$f=|%J>F(mv zq?F7en9ceOsth>{#SAc-fdRw77}a7fhTzo1qT~$FXn-o@oKe-BVlIXlEj=v;_xuut zqSWHj9MB1!pd$p6ON)v@Dl_v+@7Eov@r!A27d-; zuvk1p0D~h#2m@$HR1b6;Pf$oeQD#0UfEXa=r9w`&%`d8ixRQZE3e=YcpLq;&HE5m| zG+a;&7Y83imspYr5@krtiBAKC9ccU^xH2~>KL&+L9Y(!!^Y`)AqU~_TnKO5aUa<*1CtZg;jf^EIpl5C?drh{n^ zA0!Tv2dM+82k8Up2blvh4`lB0v+pfeTkW)Z@+r)E+P$;Z$5-gu^eML5T)wx*rgGme zo8#|fY@@WSY`fWlY-im}v}HPzZu?dv*|x1V#J0J?)|UUcf~{~kqpf)K5gV>W-8NeU zENrgG-?etv%(l)vcfm?#IkOeN>^iI29=_K8^~bDPr)k*Cf8S{HU2~^R`H62f{QsqF zh085$FYODk{h*X+`(t;yZQj9T+xj)3wrtAww$|&FYa8{^S3cR8^Ge!I*=J^} zlJ9Sul$2oWurS?rw||Q5$4gbn+X@3Y_$ zTg}^}Wn~r7ZxzXCWPLSxqjkt*Nt=0^g*Fq6*V#P#_{!#;vZ(DkJ7e3n9X__d569VF z@J_ca^-Z;0mjW|w3ZMJh%-;0Z`r7Pn>!!0z)-$Cn ztr}moTCJ|ow7#)^mGxmwQ5z4@Y#aYst8A9DJh!>8BW$~>+|c$}pto(%vshad!F1cB zds1x=3P#!P&UdwaYoKMzS&rfcf7_E4lmb%3@J;wKK9$WF-7T(ddy_n}=JBu&ImZc^Qj6rOW7)TDJ2Ba3G z2c#Ed2FNUsnIN-4c7W^x*$J{6=0Ir=lm|P3KzRj}XFz!el!rih36!Tmc?*=sKzR+6=RkQ6lm|h15tJuE zc@vaJL3tIFXF+)vl!rli8I-3%c^j0+L3tgN=RtWNR0e>`0#KO%DjPs$1gNY4l^LM2 z15}29$`VkS0xDZTWeljSsb3QcE_*;_5U4Byl}Vto2~Z6`5l z*%ou2w3%b%Y?C#=!TQDLOFKADZ`s8zICqz+gUGH)r(1R%+O%s|!#Dd~x;A3gbtytN zY15b3@UIZEO_5Ht_0pMT`|`tn+kI)bZG9V_+dg^s(DwY{)3zn5D{b=)8*B@%=-JvF zx?sb3$JgfUcM>oC~wf;GSyRxnj4i=B^vI1s|T-7EFI^yCC?y?fx%oZT<6FZFy%|*z(PPVDn5o z#YXP@GHVv&E0#0&tl0I;ZRM`5*Nu1GxsbU_EN1(zn=H+{W*9AeeV{6NC=!MO)Rrxjw zv$k08_Li~g5Lmp+`^=hMZ>QMpYGIGxrRcwPS3yh9E*7c9Rw3>WtzD(NZ2tXXu=Sba zV>{tqzwIQ;?Y1r#ui6?)KC`v?{lwO5-6dPg<(q6JS9aNc?{KnpW&das(_L+|;KL#7 z1Iq)gdg|xwa{9l1mv*A(uKgwE?P6+ZMIR%`)QNf=We^j zrPp@emo2tW-LBX&PJRl;AT~%0BnMIhQVY@p(hD*JWERLwkl7$RKz4!b1lbL81IR5P zH-X#+awEvCAUA{D4)O!YFCagG{08zP$gdzjgZvH(15j9i!UPmHpfCc36)4O=VFwCB zP*{S(6co0gFb0J+D9k}&4~hd&T!7*P6gQwa0>u?5&OmVoibGIbg5neux1cx%#Wg6- zL2(aC1E913N)w>80ZJpFv;s;qptJ)@L!h(-N>iY;1xjO}v<6CZptJ`{gP^nsN|T_p z2}+}&v&c?Ohs zKzRt1mq2+6l(#^643yVEc@C8KKzR_97eRRvls7?n6qHv%c@~s+L3tRImqB?Nl(#{7 z9F*5Vc^;JaL1h4_EC7`Wpt1o}Mu5r+P?-TLJ3wU!s4M}MDWI|iRK|eH8c>-7Dtka> z5U4Byl}Vto2~QgXBT#K9)EfXoA#%cI?Dp>|bt*PYpVyE9tO>=s+Du!r}r@}BGmvb*Efci5!oxY#O%Z?@go z!enQdqiDD8qORRJSrxn2itKi>@Ale$iVL@0(Y)9uSJ`5h?^~HYv+7j$yt{m7w?dKo z?#cU|b{$O$uqfHgxU1uw((c)bM|R7;l--kXP;F0xbKvgz`^s$|saxBo@vO65sK#J- z^qaihy7jtt29c_EXX82T&Y2&!oz0nOtKGKIMu|1UvU-NZ9{+yzJ;L9f>^@W)vitL_ z=v_)YoEDKv_jWquitpazv1hl$FR4B2IW_nEyxy>T_uDv|Y}gt@?*PqE~@0&onyCUx9vUgJ;!fp?ctp{eK*TnHycv{P22T#i*2{g{bqaZij3VO zbzM96$?A6Bw(;7@A3SS&U`L5C&W-X=9v1hHE&K_CDzq{La*6t1#nz8Hmchwzs zH|usj-~WEsuCyh)6AT3REY;H8V|(qu?(8^88=sltw%N=xZEe@Sv7MMBY3J&uW9Lz& zY3FcL(9Xu>hHYhLi)~ZRTbuO~6Rg!+824=D(A{$@gK3Y3Xxna)yUTY49htggO_kTq znzB2){1?vI?YoS3kIZJ>J^2ZjcYnUXY*Qf1Z@c3BWZS>+YE~@yYIg8uzTHon^CSTGD6R)b_~s%Ry1Q7u?!l3}S=CKyn~8 zAhjSpAiW?nKxTo=1ep!817sJ-PLSOoH-Ov%audjHAUA^C3UV{Z?I1sZ`~vb5$ZsG& zg8T~dGsy3tFaU)GC`>?M0}3NhSb@R}6n3C61cfCiOhI7_3S&@MgTfpX_MkWb#RVu% zKyd?(qc}+$P@I9{4itx=xCF&1C~iS<42o+|oP**Xlm=0Ir=lm|P3KzRj}XFz!el!rih36!Tmc?*=sKzR+6=RkQ6lm|h1 z5tJuEc@vaJL3tIFXF+)vl!rli8I-3%c^j0+L3tgN=RtWNR0e>`0#KO%DjPs$1gNY4 zl^LM215}29$`VkS0xDZTWeljS0hKwRvIkTKfyyFKnFK1EKxGuDtOAu;pt1{8hJng5 zP?-iQ+dyR;sH_8(d7!cnR0e{|LQt6qDjPv%B&e(em6@Qj6I6zR%2H673MyMcWh|(y z1(ms=vKLeagUVu1nG7nMLu{^C8RckNU+VF&^0Yg(yYz9_p8d_o_IOCP>{%DuXQO91 z$M!Inn4KO< zM$Dc7^W%GdZk)QuFYD9pfOkQbzxy<-Pcyu>GR)_;VtBpL>QRHL_2c4wR!iI_?cVsO zc+b`_<;hCe1z7 zJCE+U`fmQ7csIU1P8VPA>?}~RR_J1|K4z<9HG9fzD=`KIYsI3sRt}yCyCqp;_o#R5 z*~6W-W={cAgSECzifv-Xe_Qq*N4ulVsdg_e#n>H?(za7Pe8P6p7Yd!K$)d#@cl@gLQUH)Ta7yjv%?QI4%+gIxr?B4u--=6#nYxm3# z)!%b<&4pcaJ;bf2oaMK+Tb^tsHMiWVB}v4Z^@f1;Sp$~cDNC&Ocz)ivM>KZ#p4+#q zci$E;wLKyD#CG~gGrNi}iC_$3gTz2`AT=PhAUzY6nCIF1jQvNPC;=Ciepe* zgW?<%_nGzLm*pfm?cd!RH3N{gU0 z2}+xwGzvVoJOauqpgaT0 zJD@xS%1fX;1l$(#zin~x@dX%HVI4w46{1E~k; z1L+5u12PX}?o1oDUHxndyH5T;WfgSkq_yZ=b{hrt#XFt}E#I@fRA#Rq)Ac=0=0diM zGI{N0&MCGtI6J}aUtF!7b)B@Gl(2)XnD_cUU$W%)UdY?G$9EyeZaym}8(W(@*2M*^ z*1Ne`b`>P^?^s#yn;u_Yrdb@V6 zFjm+Vu-SaqI`v#D2j4Z;&GlS1=N#0mxo$P@@hlhF`{6&+-nyctHcNXy*e>u$wu|WO zx0B{+wcG7)V0Y(mi*4Hq-#s%n%kNG1da&o^$4$Efcf7C;UiihjA<)XYA*XAn)hzX0 z=RK@*2ci-BbZE(kW{=DDTqJqBG6NNQ*daCK|I{D3J zm(WQbtNr{lthYsQ+PHc&Ti16*?%5^JyEkhd-`=Z_3~XMkxnj$d9d0-EPOn}2^bWg; z7j5m1Oq*vL-L!r8+fy=oEepTy`Tvq}kJhKN)W2z1F5XnQb22DYo9mxYA;Rw8gIH7S_9to=LMb zeb{WBE68T!V6?{i+##JkFG^YVx@d~;mCWY1p69vKw)BaYooH7#7=zd#F_0Wc4M;6W z4@fV_43JqMGeKs9>;TyXvJ+%C$PFO3fZPOf8_10yw}RXZay!TmAise81o9imk08H- z{0#CtC=5Vh0SXgP*nq+a6jq=x1BD$Z3_)QD3R6(ng2EUS)}Sy4g*_+^Kyd+z6HwfM z;s_L1pg04?9ViY#aS4i3P~3vz7!=o_I0wZ&C=Gzp0w_&@(grAvfYJ&m&4AJlC=G$q z5-3f9(iSLA|&4SV{C=G+sGAK=h(l#iKgVH)E z&4bcDC=Y=00w_;_@&+i6fbt3`&w%m{C=Y@15-3lB@)jtMf$|zC&w=tDC=Y`2A}CLS z@+K&cg7PXT&w}zUC=Y}3GAK`j@-`@sgYr5k&x7(ls0;v=1)wqkR5pOh2vAu8DlnxP+12m^FU=Es0;*^g`hGKR5pUjNKjb`Dl30P)uwlrpY`ET*1grsqxV{#U%UH) zAA{X`gC0AUyKBKThz}A6$%E8^)PwYa^n=U+nFli0#-7FU3sd*5u-zfM{VR^`GMmj{ zv-Dky%_Wn$*2Mjb-3AzXHQ)9tLLOo-e& z_defV36ULEHax913sNO)HvV+n#hDPh`#{0^UD8X>Tg*CCysPh~-|mG)pLV4szqC%g z(QLyt@4R(m_TxPZ<74(_%xv9rO6;bs4NHsNL!Y&F*H=!q%gPe5TeSLxb+2RC-nnWL zdjptX?9^vyvH7f^VzW?AAz6w=3VtWV2;m;9e_f#l6gi zGP{>*H`&}+s&BKx%E&TMB5}8c#I;@dC(oMy2{YN1+3B$RRHfYRqR3s=OpEGmD$j}7 z7?tkclYT8?uk*Lddv+|_WSd@7W*0hdwcW??S$4cDH0)*_US(r-)_d>5wVHePPM)w^ zn77`h_`a3R?Og^|moF#mzWVj$E@{@I+dpQB@9GY**j;&AcXw~%V(ZPXD{Tt9G;9u3 zF5h!>Zs^|VwcqwQew}YC9+GQkAG^wqGiI)x=piG!-#?z&cuaQLd*H0$-j3Z@cdH3k z*x2rHwRtgdo|WGJxZTqj{_Xm8Wa*BUk3V*vo2b8g%Xh2Y9PfIpolS~u!ZWRGBo<8G z)7}`k_pk}~-r6<2w$nZ*+r7EA!md?yfnCgb8@mUWg={%~SnrL@w%ogPCEuRaG5I!9 zQUNx)+g?~*t&iS)goAT;j+5w48~Niqjbqeyd-J;OZZgcXJ~%1cW>%J$jRHf%o}!69 zd+$w?-1};6xh;EAl-*pO<#vjj7TGO2;bxZ|X>7aiv*BLhGKam2J;r<1+)J@3e-~+^ z?kR2EYZJCR;lI%C{m2IXl` z-Uj7yP+kY+c~IU5l>wl#08}P`$_7vw0V*p%Wd^A10F@!2vIJD7fXWt783QV7KxGc7 z>;aWQpt1;5CV|Q(P#Fa(t3YKIsO$ojVW6@MRHlK-Hc%M{D(gUH9;oaCm4TqL5L70D z%0^Hb2`Vc=WhSWX1eKwnvJ_ONg34A<84D_FL1iwe>;;vlf5FaECk_V{+sR!u;=?9r3 z9o4*R%A@ApDGUGZnzzK%iapErMz+k|W6sfHbE&e}X7;PEmYZ%(*uC-ixm}yL zrtWr|9JqVNdUl&_S@Ud;FtJ&QthU>0D;vGHE+Eb}sju3OCFXz~m(~h9`59t%^WnRx#Tr?oJeVwaa^I#BTMxwB6f#-&+gKoNKd5$j16y zuJPWvKB;?uhnd)}iq5xNFm0b*V)Pn2#$aW;iBX(;Uhk{k%lY)e9^3ngHtti}Y(%RW ztThWJ?(XGh-kosIYd1S<#qM0)3)ZG*XWPu1u*|xDwfbKF&fL8b|F~^AKPTB)7VNPL zvD;vmA!A_Y`#Nk_zGKba#sjbR)Nb*zkuvYG@tkOC9r&()_vARi-I9B3c0Vw0-o2(^ zqqU{POq&IAudFB4O7G=on-@B{)pbn|a&8A>5E~>0k^`v$sRii)=>?eqG7DrT$ZU`uAiF?zg6syl0pu2tn?P;@ zxe?@6kefkn2l)Zy7m%MoegpXtE;u;j^ptuL6 z0Z>{1r3p~l0HqO7S^=dQP}%{dAy8TZr72L_0;MrfS_7pyP}&2fK~P!*rAbiQ1f@|> zS_P$9P}&8hVNhBIrD;&w2BmROS_h?hP}&FO0Z?85;;PM1TrKXxbV zRfzK4Yx8xF^*e)QHX7b}*6B?PcDpyf-L=Yahvld37P}g6P2T-xR@|=C#ugi|j`?RY-B&pw02uE zZ?{@6`|ibgYb>KYxOSyH@7>+Am)*0U^c~6_lw7d0WhutJ^Uc1doN_*!E6z%bb4z38YS#7+)CRK9zo`|rn zy=n{Q?wqtL%5JCqIlDRR`|P}WW$Y|wvG1+tuGuToc4GIhgX?UZFRY6nCIF1jQvN zPC;=Ciepe*gW?<%_nsKxqk-ra);6l*T}54V30U zX%CbJL1__`CP8Tvltw{m6_jQ{X&01+L1`J3ra@^Nl*U169hBxlX&;maKzRX_CqQ`v zlt(~$1(at%c?Xn-KzRw2r$BiNl*c}8w*cokP~HROK~P=<Llq+jHG` z#@;K}xow}HoMZR#*K0cv4dR2uLGmDVAoU=9ApIb7KyGVbI%iqeFSL6_!1CS8L-=i; zZ{K4h9yn>w)zj1WrhZ>#^NwkXo$ zox1yyzRhlxSsN`u=7Dgd{NG&+m1}mNkossH`f#63+~U|hH-)C{4Oq%)v!1=%u5rpM zyQ5ue?Oxw&u(jVZW$&C*414Faue8Zl3ANcO-?6*LKX7+m^E9}52`8@Yl6GFdTl3Hn z>&;U8ZT_lB?%At2d9Uj3;N59Y8tn?Ny|7cs-D>wde}QfGq6vFV<_Pb7I(MGULGc`$ z3AzQlJ)F{Z8!SkMo5xVHY1il5>vwDan`vFpve#y>_xjz1Lj8Mgqw?u1>_i`VUzaZR#r zcHCw2KlIG5t^YgsCN4U>r)h1R-HyP=c1!*qw)?IA*!D_&^WM#~EcSlh)M#_(L$}RI z8@b&Pn(e#yET3Qw3Of*Xyq~x$%x3lO^Y2BhKa_2?nQP8$eV?UeZ^#_By(yeNc2Se> z+wGfn%5DP-v)!LXC42c(z4qP?inrM;FwLf9(v4l&u@iQCaDLbUG7E&)_-pL?o4IVa z-Mbl99^UJ1zH6_uwyUn%8@FD4uUMI-or1}2JN9)K?2g_QvGZLWxA$IQ^j_CyGn*Uv z^KFcl1nzP;He>hyX+1kZW`Qu%#TPpz4HxXz{w8dx{cO3-8eUGD`tIz#jvTIg_j9S+ z^;um5V-Oo829g7*0jUM)0qF&q0Wu4OL1u&O0NDky6J$5Y4IsCG+yrtP$c-Skg4_&p zJID_pzkvJ%@*BvHAhSRi|pfnCj>!36bO8cNZ0LlxXJORoZpgaP~E1*0B$~&Mu1jIpgaaL3xq*= z50nQ%c@dN+L3tCDM?rZNlxIPC7nFxVc^Q6MuEzzC9Ml~ z*D`P0kr=n%rsP4q<=sQG_8vCbyt77fuHA1*273?<;)BFN@*s5}^&ou-VrAxPf2Qu9 zE-`c0#8caBswZ|^htHm}w?Zd!k3`-iJH>_#{JrOzk} zUT=>|I}80kc84=}+u3xR+lGBzvX`MWevk9ob2g7$E3Cu)ckEvEop+bntd!jr=Zkl% zte$GKQ#ae@_0#gbS#K=%{`X6^s}}odH*e1oyN!;uwrxsF_ofHV+`~NYyiIq-8f(1` zdv^bi_uaK^i}&tFs(rivJnFD{VAgHJ7MilR@k`X+X-U3zn^eBq{he^uZoT_r+ilg0 z_r9<^vgfkKIU76U`_}mv_w9E4*10R-htclyE9dPN)-JbEJ2}_Jdz1g(XLc2P3l^K( zT~7F5_u~3hJIRSBZNEL5zt@@X!=4LDr)=ckaoTLi*|*z#&W2sghoyEmOj^BL>~*w_ zfd5(>8F#C_UvoS5-ZoIObGrP>&a(Ng-9rD5w(7RC_RiAh+bfrL*hcxAip@d0-MgD3 zZ|$m1XWsplW9x3EGzXjYmv-9tMyc%eFPgOXvIei+uGS}D3}S=CKyn~8AhjSpAiW?n zKxTo=1ep!817sJ-PLSOoH-Ov%audjHAUA^C3UV{Z?I1sZ`~vb5$ZsG&g8T~dGsy3t zFaU)GC`>?M0}3NhSb@R}6n3C61cfCiOhI7_3S&@MgTfpX_MkWb#RVu%Kyd?#BT!s{ z;tUjbpg07@B`8ioaSMuLP+WuJ92EDUGyqBqpfmwW8=y1-N-Ll=14=ufGz3aZpfm+a zTc9)sN^77r2TFUOGzdzIpfm|eo1iobN~@qW3rf47Gz?11pfn9i+n_WKO6#CB4@&!> zJOIiIpgaM}8=yP_$}6Be1Ijy~JOs*1pgaZ2TcA7!%4?uJ2g-Y(JP68*pgal6o1i=j z%B!F}3(C8Tc|Y$uP`rQltGx|2`vRxiEWO{pcOw(W-ukz*?CQ+8>_Ie$4-yB-gVcf4 zgYdB0XP5Mj(_S@gxn1CwC41)BPTKn* zp~mKK1M2yq^ z-_*@^>MM8bR&ScUcVfGf&GXp#HZCCxcbn_$gY{o#jo9^*`P}Y+%ZfH9Po1{8nCP+B zBduw#c~+(!<3@IS$+Z1;|HL$GzEv#VYv{>nQ`EH9#woXZ_tFL4VEr5>{JXY)I=y@U zStgsg*RR@CUe()s!fE2($AA3oVh*s{zubSy?zQ7X8;*A?_x`z(Y<;bEmyLaQ;_m#u zjNQ`TK3OV-&ENTl<@oOE11GIlCf>36!7RGh-)8RKp!;TaTRfQUt9q~6aaY*bx~yBb zcdPz}U29m5*<6^dv^!yE)9$64pIN?sa(c&xIs11r?3-Y{X8L`b8*ShA9L-p^_nwuU zowPrL{py|f?Y_)zvz6-DxHrr6+U~cf&fDx%-?Gc*&V=0(3(i`8I5OMfvCOvJOde*| z2^;R)+&O-D&*sN#_U<=hv-8^g(=Nf_rQJ;Xjkd}@oA%C~?Yc*(^|}qSFVjxnxOux5 z7%sEi#}jAC`eN1YL(7(0S-iYs^EP(Up8aPx>@9eI*LL^4k9HsoVuQp$av(JzwIDqp zy&y9{W`WEEnGLc7WEaRzkli3RfZPId6Uc2KH-g*>ax=*7AU}Zo0`e2cZy-N{{0j0j z$nT&q0EGo8Oh91+3L{Whfx-+FcAzi>g(WCVL17CDV^COw!W0^uI0VHdC{96f3yNbGyzH*pfmzXE1)z3N;{x53`$F& zGzCgqpfmok4odT& zv=7Pypu7Oe6QH~S$|In>0?IR>yaUn?%1fX;1e?TtPyvD+~_aIda* z+Fq4i4{hG%KeO%?J-7R8@dXQz{#oVEEerdX?|%1tqm`-i2bdfvLdElWb|zMBf#pN=|cr@earp3?Zfy%9NwY>tUr*~s?a-o4Oq9lZTLDYJcd zf%(l{{N>MWtOA$s@eJI)_vu@6yPX&L><_#;XUD<#VE4Wmv-YkzzS@TWMx4zu>ASlN zekg#)r$ByaE6?41L)mV(T-QCD^`QxS+E47+yYsQMUDye3d(Ee}?UH6$+eEZ1-K&>6 z!AAK`qm5Gct=+Gj%HaCv1o`Zie%iSEf#hYI2CMhGzZmb|TeyS4?xzBWy@2iuyHnE{ zY@gj(xA)?V1e=dsQ*7ijFYmtWxf-tjCXdc;_LK8=&+0mA^CxM|t}iF{?QJqWYisd@ z*?!lu&vq5tBWz=0x9vS+C~k9q!BU%OpX0l;CqIDe=P~Eq&3nF$d4eug8U5fJ17i5VF3ygP}qRN2ozSJFazlYVNh6t!W0y? zpfCo7H7LwMVGoJ}P+WlG1Qa)*I0D5LD9%87K^PR5%cSq_2E{EXjzMt^igQrhgVF#f zEr8MlC~bh!2q>+9(hNv12!qlRC{2OV7ATE@(i$kufzlo*4T91lC{2RWCMb=9(kdv; zg3>NXKPWAO(ljV-gVH!Ct%K4$DD8vt04Ohj@&qVvfbs|^uYmFlDDQyugYpt6Pl56l zD35{i8Ys_!@*XG;g7P9LPlEC$D35~jDk#r_@~&52-tKF1Uu>);?(ea--mq7qpx>?~ zU(OyxgZLnEkUU78T!{Pbjf-dR&fEXOW_iNAJ$kx(_gaM1+Pz_tvtMDo!0sdK{Jn2q z3GCgf_{T;{M11#}9XY#IAMe;*-Ezz3h_d4zM$ThgL?Vfn_)o!=&5}PBklWbHD?%gXS)@ggbnae)#<{vwzkZCqi%a-r8)jn%; zK}*r5An*2WCB~<_eWJZ=#5y+FJl?W-Z~k>H+qy$6_8<&mgTz2`AT=PhAUzY z6nCIF1jQvNPC;=Ciepe*gW?<%_n zGzLm*pfm?cd!RH3N{gU02}+xwGzvDK@6oUa(I7rZ93&4?_bh40&Lr30yZ5uNwrSX-nZeg9siZ+y{^UX zd%s>{v(1po-o299ba#~O;oUpK?^yG{e`2HiZRg(JfHGT|Gh+6?XMVBsC=lMOI6rqU zXCH^HzBS8kL4~;8T72tw8$9f^mg@Xzvnq4-UUOkqTc^ze_APNt_C3=Y_Q<7m?yZ`~ zZhJ7$c_({9%kGGmGk1T^{9z?_nAvu%@a(-iPrkDDyvu11!XP$C3?v6q15yjp1JVmJ z17sG+Opw_iJ3w}U>;%~jas$XMAUA>B267|Ftspmp+z#>s$S)v2f&2#YBgn5HKZE=Z z3IkABfWib6HlQ#9g%v2wKw$?8Lr_?P!W0y?pfCo9^}3$Dps)wU0Vpm&aRQ1PP#l5c z3KVCcxC6x@C@w*93W{4$9E0K-6z8D02c-c}TG-J#br&dYfYJykt$@-DDD8mK5GXBy z(iA9dfzlW#t%1@UDD8pLASf+@(j+Ktg3>4`t%A}lDD8sMFeoiYZ+g0Wl0%G*qEfw0 zYQeL;4a>^xx>gw3gJ=*RBo2}XsoS3@Yt^;p;_j#R8a9sW*4Z#bJ>DxG;%j%8$H-o@ zaDtugi6?t)-U!$Po#?Q675i=X^nM|$%HZ9*yKLWD3s1OeGmrJo-kFiAb|0+`>>r<4 zYNzw&?%w0vbFIErFShyP$GAsY;j`tuxr=wpwob5a)c#_V_vgaiT+4s9TsFG)2W58K z)sIthSD45AD7AajR{OxTd|M?gcw- zzWsYw7`N}aZg57@a^ug>D(<;EnxeZqkC@#&!1f7KPD>FNHmDZozm7B6{cgH+lTalC5dl${Ru_rm5&mM$9Y>*g84x|R8 z7NiHH7i0#=ERdNXvq5%%>;l;dvK!s zKxqk-ra);6l*T}54V30UX%CbJL1__`CP8Tvltw{m6_jQ{X&01+L1`IuP7mn39?-cx zp!0h`=lFom^8uaf13KRabj}axydST&(er;mXMcds00Er^0y+}}bT$a+j1bUSAxWd> z|BRmhqZMy6dj3y3_$;Z>^M6j*42AQ5(*1OHGwhnTd&l>OyMI0Tz1#Qc;oZ#rLAxv# zvDnzGS!|QFoZYtZnuYDP#AxvOZy*}P2Z@8^LFz#2LHa=YLFRzW1DPv-yL^|On9A-M z9J6+R>%F(z!R62HAJwOJn^`Z~Wq07S^-ig|HerD*whJW8Y`rf;+O9j2ZhQAmjBQ)1 zwe7jeqZ+ZSi!sWBTIVY->z*|G(0^9W3-Thv9(yky`k=>UUOxP{z zb$$0!kw3e4hg{qJM3H^>tM@0Zqhu!7Fqr(dSyyCWE14Z;8x@~!%i9-kyLO9%ZE&}s z?e00-ZA1mtY!1{(S*4||-5qlF$L>_q*SkyCuGxL>yz6e3TXT0EjOW=c@UD9|OX=m^ ziQT_9(^DC)lnrcDDU}O2jrP zXrGPo6hoV{pL(rwelFR)P2~G-!8dPrM>%cW{dl6^?zP`m?&3PfvOC(YeYaub`Q6z& zf9)W1)~-ADg_*`1aDVfUX?TX%mc2;Z$G`z#%$`rXja+x_UYeD#yCUK6uI#ioy8`Z3@8)nnzI(pgkKI!r zzu0Y=mA<>?PMLMY{9KzyiVti|`c-Tb7yH?^rKQ?ly^?Hu$=%ELV6>dA+T=?%^-7^O zP1|*?f8FZXeRTW#-TfE8>^`|}-|ozs%-wmbFYHWFc!Uz;rpfCf49ViSzVF?OTP}qXP7!=l^Fb9P_C=Nhz0g4k)+<@W;6jz`)1H~OE z4nc7Vic?VBg5nqy*Pu8D#XTqufYJgeO@Pt{D2;&93MkEh(hevMfzlEvO@Y!DD2;*A z8Ys_sgVHi6O@q=lD2;>CIw;M9(mp5;fbs$; zPk{0UD35^h3MkJ=&AJWFL!i6_%2S}c13{cqtDnmeJ38+i~ zl`Wt$22|F7${bMH11f_+Wf7=M0+mgmG73~yfyyjU*##=YKxG-IOaql|pfV0r)`7}A zP}v7613_gWs7wTvji53TR91q@OincH1dIzTom7 zM1%MsagaPn9Y{S$A4osQ9FTb+bJxxku&U+bu#)?|XcyE{Ma7t z|LgXAw3FH6cS^x#=4VFRhiqQ9Y}?Xpa|;7(=eO|KhIjkg+)w(l`@+{{d$i1s?|JiZ z)t(by4S8D`+b$mtxcU?85G!b&K|7S{~oi{dDaf zmiy^@Tvk2YU9IqCml@w)%kLLttbVjgS=ISx?0Vz5WVcGE!yfVNbN8g4J+jB~=GHym zylnQIs(5LgYWmLR##<-bg}2je1y#aq759tTGM=om320cen`6)1J-mO9?I}93VUN-A z{5^gz-tGP^#JQU3dqu0dowmE?a?jj-=CsA0U;4B5JX~^kPw~|qdrUgK z_s9wDv%ahU*hWIx-u979n(cwD5w<1UrEOadb=W+xXy2{6cE+Ar^~d&9c5L2repUG% z`Jz9&W3EZ;mYpGw-FvoMNA0<< zJ=uDK;0>E~2G+K+8mYFaV$rterzqG~t4^_*XymkedeG!O%l04L)1bU(&*Zxhmm2-`?tqN7OJ={6p#(m9;UB}n-?zyx3$ey(6JN7(Y)x2k_F3%qB zMOM2nK9jXbzN2k*GegHJckY~>X$-}?`#6>MBy0EYN&LKTPc!d$*gTlLP_O$Q$Uvzkn;Gm(Ftxm4B+-X-Dzq@3y)SjOS-Fvba_wIT2_~4%Tjg5OUm+MYpkY7Q52KgNn2B5G2g$XEZKw$(5D^Qq$!VVOMps)mmDJX0~ zVGIguP?&?l9ux6 zlqNuF1C&NUX$6#KKxqe*hCpcvl%_yw3zWt{X$_R-Kxq$@20>{NlqNxG6O=|lX%(Di zi~j5erD0H72Bm3G+6JX@P+AA2c~II1thP+kG$8BpE<PBndJ1IpW=JPyk1pga%C z`=BxaR2G2B1W?%kDkDH;1*psbl^vim1XPxQ$`nx90xDxbWeupz0hK+VG6+-_fyyLM z*#s)1KxGxE%mS5NpfU_pmVwGNP}v45<3ME{sLTVEeV{TBR2G8DL{QlXDkDKOuNI`a$M^%mbOb zR&2Lr_BBrH(DkdWC6B+g<_qew{t$9@_lwmV_k>z=@6FfZ+8#8uT-)&W}W?6mD z@|fB`D_{Ag)_2w3S_d^ux9+vuxI1|D%02xKoO>U{bMO7D(6dMAe}GLHx2~-fPr7Yl zhO_OvuvIpdTH1SLk2CDGzRSNin*HRS^3y_l7GzjjxAnfZj%(Uyt(2}~op+DPYFhD2 zE5Y)4)?1#ww(ecK*qZg()ZNdgFWhrekbSSO7w_IT+h^=?c%W}%c0$e8S}e`>m$Qd$ zL&q)~MK-=Y2B&}RdGS$TFKhdSJ;q{6d#XQ*Sto_Pw4R!B#JX#?h4n3c2`karSFNt> zoo*e<^U9jz&N}PT)n&VHmd)HVdn3zU{#Sf^t#2;bbN?Kl%`-Oz+nM`PY%iblv0c%7 z%H~PggWZpdKkxZ^TyXED8`t-ooNu`2_?stI%R`@8|7Sa8eOlVp`g5SZ)#=5DtQvkz zu%5d3x%EcAoz`V~&b!@wC+_i6V%odLUSO|N!-hRh+izRTc1zkyu_fEaum##aiM?fW zWc}jZM>=2c>5UcIYybV;o@EJ+dwzbKZpG5_$XX)ty!D&=f!0>u9#(%RZLr#A++`iR z<%zY3=OOEgG{M~l3Y~ktp82=ulDFXA%`0~A`L8?6deRIb+ih2xUgG}H zI;j7Yb<(jzyDGml>?vUUxhIleXzvWaV|y;U7+DJ!bK5Q`i?h`#im-iY`_m@l^Xy%V zSZ?jvc0g$FujV&v@tlt&0V6ti7((TirG8w<^u7v`$aEYc2ll zqV!iZlS%wc^CFbEq1l)mSeHCTNDk(AT~%0BnMIhQVY@p(hD*J zWERLwkl7$RKz4!b1lbL81IR5PH-X#+awEvCAUA{D4)O!YFCagG{08zP$gdzjgZvH( z15j9i!UPmHpfCc36)4O=VFwCBP*{S(6co0gFb0J+D9k}&4~hd&T!7*P6gQwa0>u?5 z&OmVoibGIbg5neux1cx%#Wg6-L2(aC1E913N)w>80ZJpFv;s;qptJ)@L!h(-N>iY; z1xjO}v<6CZptJ`{gP^nsN|T_p2~MNZuHZBaO1q#m3`)zOG!07IpfnCj>!36bO8cNZ z0LlxXJORoZpgaP~E1*0B$~&Mu1jIpgac3YoI&_%6p(Z2+E6~JPFF1pgao7 ztDrm!%DbRE49d%(JpE?-j6I+{4$AAGJP*qIpfUhd7J$kGP}u+~BS2*ZsLTMB9iTD< zRF;6s6j0d$Dq}!p4XDfkl|7&`2vin<$|O+P1S+FIWfiE*0+n5$G7MCffyy*c*#;`( zKxG}M%mbBupfV6t7J|w|P}vA7BSB>)sLTYFouD!lRF;CuR8ZLpDq};fx%Yy~Tu|8y zDuY2~F{n%imCXTP_;xos1n%Nh+-1ExBg-b=w#jDB9$9Nu?;U&WwKez7Uc|rGS?JWR zTe))J@*hNl_#knRJV+f#JxCu&Kgb-Ac_4EGb4zv|P2$;orL}F>!u}Q3%F@X;vp2NZ z)UGJ9R#aKNNB*$dUjJ7jdrwYl-(9>#)OKG}y6wNCYPLZFeO9)QIQO=xY45$^cy!Mm z$!@E|-E}sRPK7oVyl1Q}ck}OhenVh)|NYiog(jT4J*F?*wKHwHbwFyg&5MO?Htz)% zS$Ex-yNCCa^4<^IB=_o-+}?d*0gtWb^fX(!ZF;sh+e)mt*D&vm*{HKO>(9kKZS&Ud z+|^%h<1(k*Cfx0wb^e11J7XAxcF#IAaaUR;>+a?UJ9k~!)MouXDA>kcq{GJH{|W1# z#S`{e?ors=!X~%(!+Wtkc2>-`@%*W_r_If57gb!ep3L@ZPt^(Cz5nv=?U_60`L4R= ze4DFTwKl4IK3M-+H^qErl+f;!vvYTKIWq1xDLB7t-M<{`z3;tj-f(r=c<{WlzQ@?S zM@&t2Z_{=ltk}v#+<@a9waW!<&`6m@I$pniu|PSHxOhYc+Q#n<<^0Hfttx*gTiY-VfSTE)ApFD-nZFikYKz2y0dM&oP$m4r8|2xC+O|n=ksmPyYsVmGaAL%FwJSU zxx>qCvsux=>QB1BZYIucyR3}g@5)^DX_sY-zI9KErH%2FPMiMXwF+KgxSytUTbtABxEZ(`QD-HfjTY(yut+Po?d zu~9Z}w=(|2yStC~(5@-{Pj;EwGweP!S;$&A*uX|ezte_og@(<#Nv3-q1Pbic^wQev zu0C^*){m_==f6eR7F7D%+U9rLaOLjVlaZynx6Y1j@7?bVd!i?}*obJf+gvy&Ytyc= z)2h9dYj^s?v%46xZ|>Uhm38-tD{rk9%BtHOitDgBs%&mkAuGLSS~mAyEh(M7D-~An zd3SAr&GEVrTM!1ZL1G{|kQ$I$kRFg;kQpGeKxTr>2H63!3uGtAZjc*5ZUMOodr%qx zr3Fx$0HqC38UdvhP?`ay9Z(tqr6o|B0;Mfb8Uv*@P?`g!Jy041rA1Jh1f@+-8U>|Q zP?`m$T~HbZrDbrM?tKMLya>vZpu7pnqoBMB%Cn%n3(CWwybQ|Ipu7#rI z?0>yBwe!!|%zS*zTFvkCo)w*Td&}$=?m46S&jxh=3y22sLE<2JkUEfhkUo%pkU1dp zK;~xns9SCM_j>1C*}1z@3x4muZ~b8BnTf47QVHj5zLYZC7%D&7qho5ncV*a)Jt6|n zY~U-8u14(= ziO{sVCpvlOzkQQ-FFx^Sw_E6vT{F*C+Hjelw^=8vWTTyZVUM7k{odG`b9;nM&)R%o zNwcj!Eo!?>HE~bukSG%?^kneqMnOcw;g!5d%EuK-5a_)cU>{m zv{FlC**QC?W4GezKf4>eS$8iJ$*{@NI&UNEZ*Svcvu}^JyWL)qS&#Q5Z`f=TaXi`f zNW6mWw*K+>w=QTFd*m|vhbl%&&a?;t|TceKe5-d`*DlO-? zyrhx7`=i9q-8KSAyO-Q`w&`jyh3ALeYeDcZ5ghTmbmwd$|SyA?UE?N+(>V%Mr%Nh{tz4VJ=3 zf_BgB{<=H)aO-Zx35GVWf1b37o!@3-eXMm)Wv=<&>kNE*-8wyNc3ld${g7{CTPxML zYh|R?-o5OqdsCR7?oN|gXA`=3hYhFGC2PsO$9Ernba%JsU)J4AllZLKS8lQlI%v21 z{;%~jas$XMAUA>B267|Ftspmp+z#>s$S)v2f&2#YBgn5H zKZE=Z3IkABfWib6HlQ#9g%v2wKw$?8Lr_?P!W0y?pfCo7H7LwMVGoJ}P+WlG1Qa)* zI0D5LD9%7}2Z}>bT!P{h6t|!_2E{cf&OvbxN&}#@07?^}v;j&ZptJ%?GoZ8sN<*Nu z1WHq&v;|6IptJ@`bD*>bN`s)Z2uhQnvyba3Zpu7&s^Ps%n;LQpy3qWN8sB8e05umaHRAzw6 z4p12aDoa3R3aD%Wl`){Q22|#N${tV|1S*R_WfG`t0+msqvI!W*IcVAniyhrd@+ir_vl{P)9+ikqXcy=>-aqK<+ z>gJwrC)#aT<8^I8G>8up2g!rffz*Taf%JpSnetxT8f31GJh#@hd-<&o6s)(BUV47VtV6|CeK-BA*EzH7R#TPP zbL_?b-P_*>+Ssk$YqR~okhR#w-+M}4e%s@*$I#|by|!(M#TFZmp6z>NzVh$2Q@XXg z@BeC>)du}GtP{9)tF)@`5$A8+ow}CQdS3S-tNME#J07VATTK=5uwG<-YL~OA_?{Ti zo4aMSZEXU~_uDL+)MveZ#``^4vl;g~EoQVy)Yi1UpnKBhf8UZl4>kzx{hKAUM`qI! zoAAErHv3<erW6(yT|#KW2$rb%$73d#G#g3h?3Hb3=t`&z9vv zHsXKw+1%XEVRP^Gw6oAk7aw5E{pE%UKg{cV%sE}#<*oR z4y#vKRm@b~vsh&3ZpZuEt)?;jv-)*psYT1jAC~7P>Ra#1s@v&S!Lp}UmV1wS(l2X! zm%TO*!qsiWS0353Fp7Wga<_(E>8E6D%a1YG+Ua}m>D3q8du~$09z(GX8^QH!Y?R$p ztdDP1+H*(x)b19iDON`~IIVM>L@jOPk6RkYs97rti&`!W__aIxme8Jc-RG@OwC}QM z@OQC^oVH~Tr@zo%W&4KRuAjwhd!KRG{`xArr)a0>-tT#n_PoDVVe>+NlTC6|nYHa= zxjjb@+}d3-Ez&CCzmWC*XYrQaMKdiAoRzVDBEf8R>fWo}{n3(pjQN*ZOJ3S$W6%V>@;fLDKw$w26HwTI!Uz;rpfCf4 z9ViSzVF?OTP}qXP7!=l^Fb9P_C=Nhz0g4k)+<@W;6jz`)1H~OE4nc7Vic?VBg5nqy z*Pu8D#XTqufYJgeO;l`~WCKbgptJ%?GoZ8sN<*Nu1WHq&v;|6IptJ@`bD*>bN`s)Z z2uhQnv${J9a z11ft!We}(=0+mUivI$g1fy=7*fi|GB3si=I$}&)y1}fV?WgMui1C@E8vJX@Sg33Zr znFuNyL1iSUtOS*rpt2KGhJwmcP?-uUTR~+ksH_E*xuCKaR0e~}Vo;e3Dw_>wTUtvL zC+)W4*V&WW!E04@Vx>*dIzJmO*S&l8{rkPgr(V;>;Dn+rhz9XN;vjjDI*@vhK9GKp zInq(hRjXK8xtZuuF8)~v3xttKyVvYzu?cz4?$jXlW$ zjJp@Unr(BIvB~DgiCKG+KeO$1+1+8SJ44>KcUG%S#+FBW7Vfyc=i)j6o8MiVZ5o+E zttX$<+{3bK=58h>b!)|@M^-IQoUH|y-Pu(#Uv-O6=I<`iFCG zS5~)`^r+Mf4J>vr2}NLfcc{%JKw z+1Z+{e9EqsYKnVmo4a<;o!Mp6eRR5w!Kti0oZLKnmr1bhekvhpdpUTs&C!{M_EbrJ z-LvESH0za%cG#pO9k;%@OL0%8(4pO5=W|)l^yjeN(C%PuRwlnocct{6DSKA$?!Vt) zGiCh(o2W0&d-&ve_bMM;w)?E7h;7gG6E=m`8}`V~_`m1S6DjMLo;z*yn!j1kE|A{S zv+e5ccN`zBju{AB>s#7bH=cRB!^2*5kFLw9-R$zYHoI(B*fjOZ?3roFyEnI;We-aY zpKZmIJ2syx=IrUVW7%79DBR-Lyd5^>=Y?!O&K2JCdH0LmcI%H@t<99Ro}6T6-J-bN z(vFF5Pw9`RyAQR5+sw~eXOnjL7# zZRR$cn_5~nY))Kz)ZhKu?e8+vYTsEk>ofZL)(6jfTXFKR?YXt@-|p#3jyA`PH{0k` z%-TJ30@vP&bCdS;3o+P&Fo+Ej1IdBZfYgHYfb@dQ0GS0c6J$2X4v<|SJ3)4X+yHV5 z$W0)(f!qjkE6B|tw}bou@(ajMAish92=Xh)&mg~p!T=N&pfCZ24JeF2VFd~^P}qUO z5EPc6Fa?DzD2zd24GMEm*n{E#6c?a40mTg{jzDn*iZf8$f#MJpm!LQW#Vsg~L2(U= zb5Pua(f~Lu>{-1Vlr}(V1e8`lX$F*bKxqh+mOyC=l(s-=43ySDX%3Y3Kxq(^7C~te zlr}+W6qHs$X%>`rL1`G2mO*J6l(s=>9F*2UX&#jJL3sd_7eILels7-7Dtka> z5U4Byl}Vto2~w9sA%}u?xd$x1#*mF(2(Wc{kzs)}N^}9pn2<~~Hm20(FQ_8E9uVYab8dGp?m6>$;U1@}5y->I6n zYeI(Rp8qDBcZ&F|w+UFyV8hJwZBN(P#e2TK{A2^dAT~%0BnMIhQVY@p(hD*JWERLw zkl7$RKz4!b1lbL81IR5PH-X#+awEvCAUA{D4)O!YFCagG{08zP$gdzjgZvH(15j9i z!UPmHpfCc36)4O=VFwCBP*{S(6co0gFb0J+D9k}&4~hd&T!7*P6gQwa0>u?5&OmVo zibGIbg5neux1cx%#Wg6-L2(aC1E913N)w>80ZJpFv;s;qptJ)@L!h(-N>iY;1xjO} zv<6CZptJ`{gW$9{hkGw5ZGzG$D6N9hEGX@Q(l973gVHo8ZG+M{D6NCiJSgph@&G6= zfbs+=Z-DX$D6fF>3@Gn_^3dYD@2o+23Y51%c?^`-KzR<7_dt0NlovsH5|lSVc@&ga zL3tLGcR_g=l$Swy8kDy|c^s72L3tjO_d#U${J9a11ft!We}(=0+mUivI$g1fyyf8D~ESx>Zx0cFMqP#>Ye%?hSkwl zCVe|>`VKDMWoO5`w^~cy3RM1qXb>MH4w46{1E~k;Yf#a!2AKnLTLaU%opt>})`Cm8 ztagrw4JnlY-ox^Eg;tIXO6KcApc{;ySdZM)TmPU$_LBL#L()YxE?BhX{L=qJbC=T3Ka zdoP!>{j!qTMwXLj?^fn#yZw*sv@!e9Zf$x)cTZs4@?B3ZTU+NfPlKD6aN?R(LeC+q zS$@KM%y_eRSGTORne6w_`toCzz49Cyd(4kX**=|YZ!ke~-)V_&pcX zL~T7ds%&bkSoa2P58Tskv)N{;&`)a*W1T&5y863Wy1?WA zZt1F{yB+>ax9MMLXS2}l)1KJyu03a`^Vv=|ooQp(_~(9q%VvMK>s0Z&!S|dsgf7-9|~hHfLiKZIoRf@0p{&c+ZJ! zHrusATWrK0e%$lGb=scWyO-D;`($F{ZmhIN#G_;Pt{e|*56%zZ^D02*t?}2e`XOLs zEpYDQ?#k6ndxVZO+PGvi*oa47+H*&9*B-e~KW&tP&)O_s|8NiEyw!W!TV~mO_Xx1* zeJQ!eifiHS{qZi=|EKj>g3JP8ri(8uxBs%SUbbTAZj&_rJsYQI*(4|R+3eb}e@`_3 z`8~TfJ+T2{Fnh=TJs>%d8jxC$9*|y;86dMj7-Tlc4v<|SJ3)4X+yHV5$W0)(f!qjk zE6B|tw}bou@(ajMAish92r>(VL4F5?0Vpg$VFC&pP#A&23KV9bumgo5C@eu?3JP0L z7=ywZ6y~6?2gL!%ED#384JeL4aRrJqP~3sy5EPf7I0eNmD2_pK4T^J6+=J2pC@p}} z1SoBQ(g?^b5C)|kP#OZIB~Y3Ir7chz1En=knggXhP#OfKMNpaqrA<&81*KI`ngyj@ zP#OlA1;U`T4NBvnv<^!1ptKLl1E9PB$`hcx0m>twyaLKIpu7XhL!i6_%2S}c1_dt0NlovsH5|lSVc@&gaL3tLGcR_g=l$Swy8kDy|c^s72L3tjO_d#U<$Se>B zl?|XW0#sIj$_!B10V+d4WeKQE0hKMFG6q!EfXWDsd5}7gdXT;Zv9j$xAH1w5 zUspqCqJP-iJo0ATJ2Q@TkK$bg+w6|Eok8VXdlS8{StpAvusQwj`tAiM zukG$Jai*ULKaVcYINX^B1kwUst`5vew=)?fFu2s-b1Atz^B@ukfA-btRl zNnSKzu87O>ggV< zhqZeGr%BodivG8*ZROp&U*FD3B7TF7>*|)>k|&t=aQ#!UUiF>V%H*trwV9a8?#>R4 zJ&lbHHcu2L+4ve=-g9TdtUXTxg>8c~9c*?l;MuEQAi10U%vPHeM$O%#^ZE9?y(nPa zmb=*M(@Asd^qR-J_B_?uGbvQbMt0FW8!L|edt{`x?Ae^kZ9A{O-X=(#Ywr_{&AZ>4 z?X<~vYT7l~L1K?>!Urp@#fPmlXX;otpKjhId`52%_grS1eRo&bc&M)2Gr{Hb9^u!F zwn{SdY123klYVKJjgSJv-bdvQd(tNEv{~?7!8-iE+Mb2X=~mx9FiD=vY{FF=5C*Y9Vjww?8jxC$9*|y;86dMj zW`fL4o4C^kWEaRzkli3RfZPId6Uc2KH-g*>ax=*7AU}Zo0`e2cZy-N{{0j0j$nT&q z0EGo8Oh91+3L{Whfx-+FcAzi>g(WCVL17CDV^COw!W0^uI0VHdC{96f3yNbGyzH*pfmzXE1)z3N;{x51WHSwGzCgq zpfm!36bO8cNZ z0LlxXJORoZpgaP~E1*0B$~&Mu1jIpgac3YoI&_%6p(Z2+E6~JPFF1pgao7 ztDrm!%DY?HxU6}j-tAD#*57k~vzm=*M6ZqF>34hN?+Wb!<$n+j;)BFN@*s5}^&owq zvdI1ZN2@Fu$d&uVjK(rlZ6wmW;cyF&IT?@+M)@Mq3$Ip=?SbQ~&eGKJl3 zm}_+R%sd~xE8JMh8l>O+}>HkKPS_FOQ#vdieF23Wtxiq%#V4&AVtwpMk|+VgGJF^U^(cpq)p zGgEijo;ZIATb0Nv>(JYrdpXW%*z7;vXe0MlVb6AFh1~@=Ou_m&O!%$5ggC9&ev#eN z`_H7iajo3n-y;DQJTJ!q$+ssuK+rzUaVs~(WgSGUx zPdk;u=35p`Qm{786xm}d+hr+ncc;ys#F{;)?p)s^`-|Q7)>ki^;)%R__spAQt(h^~ zMktVDkCkobZq`Tc)=M`(+xhy*X^SJzjI4VDIrnV7b9|S@j$Jm@k#2i3gx~DhXZ_12 z+^pS3ZUN6;`LnC64&PjA^Wp!y-3IZ?cJ~SUSW7H8yYs`5**o6qI9PMM{kdCTFL3u7 z#+^1CTKs$7-~Y2GI_ROzqSWO!JCAejRa9r%y)|u}&FKlpcYn4#y!%O!kM#n>Wjpur z#O?e)!^3)q^ZniP7tGqNadV5!HK+BvS-DvE?w)+q282OukQhh~qz0rGqz9xIWCqAA zkeMK}L3V)b0@(?&8{`I%TR?6Cxeeq-kXu1+2Du&N2asPteggRo9F*2UX&#jJL3sd_ z7eILels79&>36!Tmc?*=sKzR+6=RkQ6lm|h15tJuEc@vaJL3tIF zXF+*a?tk-64c)`mu4{Pr^cqdKQsLWdlP+^;&&BgG;QSAwL41%nNFJolh|S&_qz`1b ztnL1tk=om=B~LNzv0oj!Yj^Dqn@on4ds4mo_moUfur;|TwkPDljXm`Zt8ChBg027l zk=T=4q;Gw;_yYL+wpr!RcNX?9w^m4cy8F^s-QAO~@3P5a>f6&ZW$m7VcQUs6QL}f? zz58ZQ{;hd7f48o;o}a9=N8-Pv^}GYe!0qv>ssDC{UY>5CqfOfz{XHon z5mv99%HaCv1o>Ehj|tfweuI6F!>Q#qH@3L%W(jB7yNU0EO_6B4jqzumy{j_RZI*N= z+hi}&+p|Jk%<{75YPkNJJUZ4QKgD;y-z&D~%i}pVx1KXwJ+R~0`{~nVn=H-AHs!s% zdsPZvTZd0-w0S3{wP%HZ;;!t;58(QF%z3S|=j_>aRZVHnZJr4>9Tys`bN_Ph4Zg6& z282OukQhh~qz0rGqzB}85C)kAG81Gr$PSQQAUi>JgWLde3&>3%w}IRUax2KqAiW?A z@(ajMAish92=Xh)&mg~p!T=N&pfCZ24JeF2VFd~^kX{f5g(WCVL17CDV^COw!W(p+$A3JR%|8?!z%rz05??E((4-yB-gVY^# zH?U50w%@(`-nZS;7j3m!C=t0Qj(_7G(KH3yUg4NMCC``dIViN-rt09d-QW2Z?OyfL z*7{`l|6O0N^X|#?UT4!8CbcJ^|LmS3HyPWXUV?jeY&x`u>G%$tiT^Bizi>Ld`wyds zwTeUgF1`SnJ-n7nZ0=s%y8DmFvpt5jqP8xAZM*MZxV7i*&rLRE70J84r9a-Cea+We zGs|gb!+Etm%l1sSQG0!V*Gceoyqml{TjzEVP<^nPJa^9e&p4 z%f+q!BBGw8I*Q)jil^@wHf^BM+Q%@upBm)9}u?LIokhF>?yI%*Q%oyI}U zTlMK1?78=>(B{Fm?bgOtTzhwhKDBw$u4i*kgnch#V~+$ZW&Ev8f8~0M~z4sZ5Z1R;^Y{V^8_FRD@%mSGSG8<$E$S#nbAiF_s z0J#O^CXm}eZUng%`4?-#~r@`4!}6kl#UJ0169Gn1I3t6h@%10)-hU z>_A}%3QJI!g2EOQ#-OkUg*hnfL2&?z3s9VZ;sz8)ptu6X87S^RaR`b_P@IC|78J*z zxCX^JDDFXN0F)L$X#$isKxqV&RzPV6ly*RA2$YsUX$q9KKxqt=)<9_vl=eVr5R?`{ zX%dt+L1`3}RzYbNly*UB7?hT~KMGiFJg&BfZ{rdh`L)t}P953+PX8bp#0QCkp@d0uxkI@Vvq|L)2EBy5{$#I$GOs>V zDSS7wJ`k<7r%~M9#-sM4^^6p@y@zW#ZMkn-?mkj~a?i3?yKD-#?b*F_R?zNUlZ34; z7dl&e%P8%soFZ=%^gz+(ODy-^oV!14PTrQWZc}@-=W)n(8;OeM-TljYb|)@Tvz8Y1 zwSLGfzGq9)J8Q@3p*C?nyn7#u-?E7}`(@q3{C&@+BkOH$E3@s6cG|F8Tgu$}+jW2I zdwraHbhpg4zT4DjGwU=0Ir=lm}*3GsoRJmd)TKLuSm&iZM4v!C()wUNc zB_Axev^`&DnJ1)T+3R?~qJhQ6V&Bb;JEkp>+WFx{_D-jWMLU;QpV`S^{&r`5!{43P zZ-3vpYw^vUiFX$7e6iAO=Nq4f?XManEN9kCx2$x$Xz3*O#nR9ApJnFukCw9imo2x= zUuD_mQ)3zYK*LgU{c(%C9BvlZ?yuUB!Ya1Yt}$)r(+Tr;Ch?rwsXg`e&U+$%ciwsZ zW9Jh4J3FskTfQ^4*I}pgk*nMP`0!aSv6yV>;C{}sV9_Vb&3^wZn?ycazQ20a@^186 z%d5{DEdTG(wLIo@-oi36z~ThYk{z{Wf;+jC5_g_IK4+))l;b;fAHUogG5OC<{>MLe z)*ZgL^UmJYJC8?t?YucbbjKTZ7R%hneU?mSr!D7-ezbh&@y{|R{)=U;;0;STkqwqV zS2tU-t}wC;`g6^K^IMd~nuNJK%zp6f{CqlkXV%}DJ1c~b?krY(vD5s|@0~3Nf9;gl zf4Ea%;`*H|d?7oFbscuRNd0V)UE5{J$ali>bpCtG6WaeQPfY)6>F;>UlI_GM%g~}W z%P$MeE%R>Qv)FP!)nfAPX*=$9aqOI2AGTA;X!_0rU59pN1w7k%!vFWqkoMm@6Pq6I z9n`P7aBbE#s-&*o~|7&To_nYO%lslG6HrfX6j8B`gv-;Qmos9)gc1HF6+Bw_g&rZd?Pj^=R z+P1S!GkxdH-mV?Rdrn&XXlS%NTXoRV?dEICj#YmxgU^4rd{=$X@}I&EOBjO)bqq{8G&-Yoj-g2{C z687Dq$*cv0cPt6}zN7V)+fMfLeLGc-?%H{=^})`QXMgMzaQnM+&5M^i^#u0q9V?%hLJ&bIXd8e=O~G{It|)dSt1Pyw|d8)HueP_q2zdPM-zTSDZ>fp{F4UIdC_nh2u zv$xBlPBY!I>en_)#l250XPf-7jOzPk*;w$zvijG4%lNb@mW{T7mWT9MEL&?QfZ|}s zvHQ<lFG&W|Z~cAD({wv*@k-<=E_-|lQWe`Kc=d)v;r^X~09zA4M% z>xx)QzJSe^iA|3!L)w2^p78%|nHBKN@<7)iOC_V}mXqtlEbn!3SWdn@4U~p<}W4R__E+`M|2>Nqv2kQ!> zoj+GM@01hSu(MY1#?GAhFFW6P{M$KK^y5w@v(r0sANTEi!_ETAV;09Fy)5tSU2R!+ z_?{*I|IN`Qvjexs(zuYs&;JPw*@O<>4L2oX+p~zejiH)#nX6 z??$iP`TpwFolPR2cW(Ckx3gf;r=1S&=XNf!n7s3k4TAm+o>P`jC(O6BYfQ6DVHLByc7GM94B8>N{`ijI2O2xud}?-Xo4;zO zZ2#q*ncF|^^t1i9(@E^h&PvCNJ7?BR-}$OR0#wGCzgTHznRsWh<*vmyEwA7HZdu>( z*OI~ft>yCSGnP&fi!499$hMreM9OmC&5fWkbVsk_fgO25Dm!h@m+h2%uzY8=?ZurP z9v^o868X1NwD9ZBLX|5!udSQCvuTkMsEjt7xIxGA#ku*G@7`ate7EVF<(I2}EuBuh zvut{J&ay&wsby_Mq2}cHJM%A-kG~x+otY% zb!6GDq`C#W7RT4`deX6`Hgw^Vrf| zA9gO&$5z~EVnv0P0LE(?Xacj z6BWyMx6YZLSLNCfn5nj7zn8kjQR_Koum7Lf(XBsaC(l>jU7V89yXHAf*kz}(beGcl z#k)?NYTqU7ufA*Xi{CrkPu;QXGEBE>J2cDc`uycq+N)<D#qS{kPt(sWSetP0$fTG_M9aL(dg>pYh3I=QW9 zS5K?iu1OWHI}c6RWqDUH%1Xw0y4C%%(*2}FtyXITn4Q{c@<+ii>nf}yLuprd3T|UU-%-%EG z?;Y0J;jN=b9aj(K@08d3zSIAN`>ul8j$JSJEZn7DzHAr2?ZjQT^<8%@ zHE7%UwUMpdMMx0WK}!J&D*_oba&i4tON3k zdAoej4#9%Zoj=o`?#$)3+jTd%WtV5y{9Q+_m+vZ!p1NzIbMUT8>y(GQS)JV0W3|p> zsg>cJ#a5}6Jysj50<9jbW3kHK+G;uT+X_&c*`A%Ny`wu{3zU}3?;A<&sH?QuDJ*_v zr>C#UuIr2qy9znx?oyete3ya1%w12mCG09cczS2@F-1%D-+ES&zFk&PolC5uvX@w` zO6jxu=@Vu(&4<&9^Ingo@Zw#dG`~H5jV34$fbxPxt1iQi%qD}K|L30G*@47yJ`L4D@vvzeErtfk;b!X?|7r!lp{nf2boNBjHTEE!JPGzapJf{g(oRZO2 zJYRXOy7i}6zW#p(lxMf?_fiMtVT<#sTo&(co!c(@L}jPG+u@z(rfKbxlq}!1+j`b6 zhrZ>z{zcB&wWlF>*Q@1kcU}|PVzISJ-YQqW)#}5}MOK-|mRijfnq;-?ZoE~>av>{= zm9s6`_#S}DoGo`9R6u2r#q>7<7AtSh-+pbLd2Q9E7SYDsmI)#jB8tqKB{S#e#NY&CIaiq-ZcaVs~k#g?My zK7-0kGuCzmP#J15^n_2 z&b7*};I}q1)3okhC1tIm@xW@EN|9CMtS(CnU6!4GN=-YZtpaxbx^--a+uFYE_CixF znncVjfAuz68XvT_+$Jov^Yli?T?*~TcCG&`xciNu=I;CVC3ipmet6gS>ZF}t7EQJ~ zQo&=r{f35h*JK&%vsurqCM>D5k}R2Hne*@2j%j&~J8J^McDDb&ydz(K_4X5aofh{k z^(}uaX|TNh&CT*l_lq5KIm~u#V?D4-w4HzVt0fw{mk7%2uKj;z*MrD;J9{%at-1p_ ztz!Z;tk1;BS;xVj?%|H=yp!8i{c9|myfrL8 zysoq4RSmSvjat8B%Ve!xQuRA`?P2EKttF_jTSQWB_sLUNcO7v(z4IMsomCz)oArhH z>ei0j3f8_GKUv8!_E5A5@8-7?B;(jk{{;%aOHXpHS7#PM-9gd~5#fSUG`pheuVQMU=OcW%Akz%k3>m zmeS=MJ9+~}b{))Kv+Lkq_T7FJYPz?@eRt*3DT5`?L+|DUhuyf*~f}P5aJUi`fYVNSRscE6?$YVKiQGq3=SOG|lIm7?I zJA2~i?>ec?w7cI|W%ufCmEAA%zJbgJ*EX6ZJ1sz7mM5gK=Or$Nr7U91~^?7A~uargPdYP+@j znReHF%K*i(Wor06s}Eo0trNo4tsi7@S+DuJ$?8I=yj6i_p@m9N)XqSznw?qxiaW&{ z(?Ds+{LK4z7DfjXE&a~ag3_49!y5;8$}#rr^4<7pmm{~r?hEtPcjqy)?S98u2TG%s zCr@3q5|Na%))LgP-owmmEmgnMYRhCTtK6vd7QCu~J3qXx+u7u;u~XH*29yWPz2hEQ zEZ2&$d=lLN$|DwP_t))gSk$^Je&(B9XX4~`#{_EZ?hfSK-J8(~%43$b|Ib)05tOlh zwM4^Ow4L928|wk9xg2IzU%FpdT>s{_^T(2go%b#Ecb>@W1m$7#_WzeHY68M6r{y(* z^0K2pK6`^%!qpfbYp@%O`4_wP$uzY)~5UjJFp zTA}@z)#;6nR@;PyER7FZ@BG!)-rcR(N5u$sk`1?zPao5 z5{cc0S(>{a`U~yOn6P{oL%ONO9@~vp)BlNBE0=0opK2Df-c)eeN^5GQRh)YusEps~ zSlhI-vDA6z#pty=_!e&85t^*IJzcQbGEq>zS(Yqv*l z&u+aOlifE0_wH~M(YF5ds>}Mec#pMplB;!P@CvKntLN-EeMxUu`Xsqs0lIxV_p$hI z-S=~wMcVo#i;UpyJKW<|ZdVN|uv{4^YIQ%?#7bS#%Ti-S@2;fz=DX!ib?mg7qE7)mmUfXMJB;jKn@n@^m6Akn2oBwL#n!#o~%7#_t7bSyFElz zcb!Y*wNBmJV$Hj+-`Y?z()!Z%i&pb>Su8JUD(+GV*V;8BeZx-nGWi`3R<5&9-`Zv& z;Jb0h?P`Y|k1rcq_TOW*TFYT!6==KF@`;xJu9jG(-J6y)?PmWxVfVX*VY|;B3f{%_ zo5^~)QcK9mGSuRRvuuA5&u=+FejAhF=vt9PO(z{E28+O~YOx&Fr61Tg6vvHT#whvZ{ zYW3Fl>?T_OD@e7z=J?KPf$s!MrVx=`#U%#20v8_Nx!^+gj_r1fEqEVJwvb=Ga);H) ziXHA^+?M*wzFMwmHMd&j^~mx=n*1)?Z^FBamRIkdbARIQ%$2FTr~jC~%Z>N8)!w*D z>$WWut^0$stvToXv9j2`)AGh%o?VMx80{)_xV-bM!I~Y-vu9ff{GMr%{&vX@CaaDe z`Pm;WH2hv!`d64)9SQnoxwDyLm;D}|-P4N7cCTZdv^#uW&h9Hq*6s3QIcjyypx9dY z`$TI_hC=HfO{~_-mp`!#i)Pv7^~PkE$mM%GzY3k(@nP;Hi>K@6gD{A_;8g}a5nPuzXYpm?_z%h6p|maMZ1pO<63j&+jtw4yR= z`#n6?JDWK`ZrbTzVYW-d@72!y?2jNfgWL}C1IRBs&Kj(-D0H}Nx#)$F)s4M8AV2Tq zobzW_e{lBhwk;EP?~SY6?Z$h1*YqFLtuj}pTF<#Z(Yk1PwYBXxVe1cR@}Mx?xuVs4 zm;SP^JKe>&cUqmS0EIm$4nT3SW5I=Pi@=4)EsIMGte8SXKykM7n&Z1&{|Zuf-?N*z zTT!ikx7W50y9ziPtujO6tZiB*T9^7ZSljDLTeo~O1EqQ1GX{8=K9S9N~2cq z7KT}~f1Y5yX-SiHORSRh6D@yGn%=pV!(vzeJ=R^1FB|T>UF`r$`=C4k$_qQ#%j7L) zq;IfP3D>f^q^StXGdnL`zqrd#GIBTXzW&{*ds}v&OXLORF{`6f{H!NyPq1Ehy~WzH zS=0K(?{rX}+Mx1BcIfb^EQiJZZD8nPp&|xuF46rtA#2 zH`}EcC9v!Ex2T_Rcw(c^L z@Y!u%+q?U(VCU}1MT(#@&T?j%t@X7Zz1DK4I;@lCn_FwF=mnLDJMZV3>{=Npx=S^v zV5fWBO7o21?VvJr$G)H2cI;#EHx1D3vrL~PXLb6L9;nQ-Jf1{ z?RFH=29?nkdO0T69=$!*5p7-8UwiGW9UjaAmFYVJz8UUH6qMSPF4(*?G+EP}Z{c=} z?E79jt{ke|8OJ(pXU}~R%a^(hR&i5yTiv(6XZe#`V)ysMTXr|hf4Dn{al!6-SKXbq z-ZQLce12ekL28%vv9+q!obhvZ+G_3EW%sCUm*peposlyqSn@A!vb=P*#G*7;XvZ-@ ze|EINfFC;=iOx7= zI`raw>*IR+tuJR8TYIJH?p*(V`!0p}-d%BfN_L)+=(0R7++q1YZi0oqCijjxe}8Si zWRtj4;_%#^2A;(hwp}S!3gUaL{0z0NN~(VC3QkvKY{`6XqU9I1{T6nY-fZ6%pSs;E%6;d7 z1q*iy#!TJ5>8`ugq}@BM(vsq>n46F7($t^3``+pMyG{P>+Wj%^;4Tl19P7PvZ(7@~ zI%B=|MT~W$*#yhAVrzE!tIgk)Sa)J)<;r-=HGigB-tW3@@xJlmc9y@_wy7yt?esTa zwDYEX%npY{ODnmF+pQcL%dA{|*6vchI&JqC`+K`vwjS7hJmvMS1HF;ff^)A~ySH4h z-nu2rI$ZvVWlGqxT`WmUc5yvhtO;yH15o*q!NlXZNJPM|TV4a_tt&ce8doc;RqhJj*}2>F_08SVS5EDIc1dpclj*E zefp@E)qAEHyJ9D;-8EN?Zx=tGn5C!Ae9KqfLY50d-M23cbvJ+IEws~9XZ}upKCzv1 z#rUjZC#?nPu{wR!Yu8W4=H1gZuJ1N7KMyh+WQVo%l~dNHuWwoh@9eZ*A6E%-%dTZb z8+ZBV$?Tfe@X;dd!vahFR(VUOy;rxfbM>0{Sg`Jl+c^j1x1H%1|659#tOWVlDsqYJ zuDjV4ySZ4e>~>PU3j;!f$bl5{8=&+6gNA$o;Nm^o+61L1LT>i<-#dNZT2p_nHFNVZP+HzKY4^@uo9?>r5{#K@eqg~uORp$*%Wd(g=609f zn15m0zk~VQL{Q$?`FZf~NSRFt5Z^wB-|J?%BCwA{uyR-YOaUCd+S=rp$ zVqNs=f%Uxj#nwDd4?uZw*II|&yVBjlcE#*sFd}tk< zxYD|$>KCXi*`*-9XP0eP$}R)X;vEu)=UQH}Nwl2v_m{c7Cbz}^xCuMX3wMCZrk!zn zN-P!Pd#%>L-)`lVrfYdQ%Xs&3z5TmGFW%qnZ8ZT@##tprEVs70_Rv~cf4#MPAD8tK zCB9uRP511onqIUkaPj#arKz(l)3)bY9urgsm7x}w&X(-pU)%<X$MMa<;U4)MjO? zwabb#evaj_wW_->NbTA^PFAZ0b0u~&Dn8xyYNN!C>9=gH z=6$lUVl{s7CB+)_7^n7NKaf>fQzG2M2?#e&mbnek1Z}R|^~4PSdT{R!fdQ zwS2&6-4jBQ)W;#S>p<%YRa(JJt7_@49(%+s=dc=UPp;EpNS6!_O-2PS@_;-J*Mb zvQ>mT#&*!Uae<;u+tm-&fp*WW-ZL`op6buFdzS6}owIs$t-faPSj`D~WzH3* zurr-Kb4T^W>lSCUc`Vl-4%(?U$9UJbx7T*+fA6z$IV)$qroGuJ?qTh2MK_^6{2XF? z7HT^0W{%%vU4BKuMsW8p>))F>t)(}A-qoVdzk5SE_pZ~jYF1qyB37c;;w^gH6?Wd; z-?Br&^SH(4NMXyANW-00tMqnx8+_R*&(&ac@V|`pT&8(eD;3jr+pgi;^It-8&usP7 z-K^@1ty8AR+vtfg*(`TauyzlBxa(b~@b35b)pwnDm9=u-A#Ej^xx!*^ru@!j9#eN5 z-Mr1h__>7T5mv#SmVY#Mt#D=EB@>lob)i!}l*~R?a#cFksI7qM6c{}sn(*10E4&RsEBat&9);HV+SR z+35HCf!wg`Lao$pnW!X?+pH}AXjmO#6|^*dF0u3I=50Hcc}xZQ#ZokL#SZ5k(jY(X zdVgQt>RqQW$nRFmT@-ffi81X-nIgZ3Reka9+3Km*|0N`CY}fGFtW-<`h2gG)|7CW| zb2Wg%*3xQ~o>fYuq2=aC;hhSe$9LS_-vWvYOVMlbJGwkXKykEdLprxri#|Un?yP=q z=G-l~``7OBD++s<<2UVIsOfCY&mm@`=q6+n_pla}26nlemD{cVy$_T&EY;>1TdhAF zWO+uLXJ_@q>pRlfGcCBn6fEZiz1sdYgJ;*Q9^GBDZ0}o6_2;sF&&UKygS*BxUIA-|Hfinq{a!#L%THFpY1OBsklc@@ci!V z3%{(2Ci2--RY=&JIWY~C2Y00?DC{m@w+56qE%!25Tb-BavCK~W2+F%V+-_)DoJo-Z z;jcxyH?%1u$wJHaZj_x%iRX55mtsttTruXvNnEY>p*4Tj!EiryB{q%2`U>cjb_+c zdAwW?Dl>Oj@p6L7P;>cM5m1?GG4I>uozrjGg34M8M#ZO~vKLea?=qZobobIkg*|H& zzwYjKm|!WT!(gM%Aa5h3unSa%Th6>8y<2bIbx_%E!F{?Vf(pVvo;BlRdh>XY4xWq+p}<%f;q0&sOW_`}glkSn0a^@O!sieIYqkEMY2E z2}av@bhmo$yuaMcGH>CXoo7uNc4a$hS}ypcZ5P zs)Ws3;1njNO;*Cy>!jGRWfGRm&HE2 zr+@6-wTm;Hc zXX<+@wVn6qZc5tyT#L;{dY!k;?egc=MJ|lHx)S|%znQ*x7uO?KE2bDvtGF~i^E0Ih zJGbRUTmIPAv(t;Ide`Q6sXM#)1g$?Q+gPifX5QVIq_{_@%Wco~nVq{&?)hO|HO9cV6X7wl5E6)1Z%y`FaBQ4!+na}9AyM*ohE}=pN ztLnTst2^ymEDpD(?_BMbW+}GKbmxok{9V<;k9Y1_@Y9Mz(8D@>#e`i_PQrWKWxV%D zMeW#KwCbF7YJiVT`%Z3~Z@&zzmL2lmZPWB*7rQ2x)vd~OE43?Zme1HTc0OazuvELk zw)0kHI!JDpP16&QTI+AW40g5eNWxQ>qoP=${S4;rexqHuo zpCC6_z6j5^65D2Kx!Nmj=i%0L%RB8`c2wuZf!w~UgzdalKBJ$tv~>5*8Sj|)tT^kl zXS4c~-8X#}TJO>Kw7FL+Wm6!2+Uo3mr`^ml?7R8x*IKeaE47-uI?b|NC242khZIZZ zHx4^4MTCIDcGus~omNM0`+>sTa_9B$yQ`-8>^ZsT$L{MhJFSJf+-y3N6m3*bGlSx6 zcNd@F?#=H~Exnkkt$u9lvD}syz4J_If@NG9-*%=LPf*W(?fY+F#;+%^4Uuho~uKA<#fb@bA;-7_S-_J|hngVMA$i>STLynnhjr{6k(()@1i z3Cg>t`aRyBXV_qs)^*VG{u$Sum-~Y(m*kgNq*xe&^3JZOJcU--TRlN}%BueF(cOn` zx$g;8l>p^At2G{0HWwBd+i*-u2Ia}!3qEP@&UVrS=l&qEd6bDe5WThv%WVc|g;~xKm z>Yy^qa`7xZo471nn`W)apfYXunJ%l{pH{!#X)&Y9>iiT=t6RSOI~T6WwB%!3Z4s`O zv#U`ide^#pY}UM+3axb?$nRcg5xA%DO~M`~L(W~d%_D6h|3%pNobB8$7HG2Zu!e@HUbf8HW?)o ztknyGcRS=7>~72WZ>eO|ZM9h--$E>=ZD)JI?JTvgS?sz|(Y>oXZJX8a zYt_~d^mKNuwKUsPf1+^D*PXe$ubbG|^k2xfDY>!C`txj;-K+F$clVv#VrjNzg4Lm) zFD%~jbnRrCEx2Q=yN0EWVT2{~7PVb-|4rPb-8|E3no6~`;nmMO6wGw?JajGHbN%A< z-BFtiYz}1=*!b7(wLTqfyt_x;bN9PQcgxRCQ>~W1Hn7~2(X;b+x95&EZDN)yT5>J_ zCyVT|y)$jsdW$M6<*60cXBy90Zat&8=k12_J(3(dc3VfN*py3`*j#nKV$HZtez&!8 z$nJUe$IR;w&9I8wR$%Gi*}L=P;ies{cClD)t*x`n6lL1=SYg(#U8kL_e!7)d3-_g1 zt>hEm!_Hl~=Rx@O-N`26HtTPc*_`BlZLKnub2p!E+-{|4#hv%XXIt&rIn(k;XV1>c z&P6*W+B~!Pyr|Vu;pP3ECHH3UIwi+zvUlzLa`y0!FJ}*1tYq)9WDnf~lG~*y zxY=^Whcs&|gGW}3w;1+pnpv^uZzw0oOlyVkN}C{F9-E0RYj!zC=~f_w1Yra{Df&Xhlmt-8hh+tWR>k-o5@t*`8z*agd*_ z*|{riR`QA42=}Gz`sr4(d)H|vP#9TdiZWSkt*zU+Y8MMA3@scydoAO(73{1(G-KC1 z`(xX!jYB|TZhh7H%I@;=PyGZw)J?fsIG-2&uyLb1Ytb#pJn+!l{#`>Xa zsf~h}j*a2f&lb~Es&{KQ&jh70E9Na~RyKwaJGZ)PfYKl+Em|J>`C^CJmI=H1PHx$` zO3xOQX01zZEZg0GA$!kt6B|&Pwyr->XtUPR%;tff4k*p6l`UO*f zWm`eyp1%B^J$co}yFxQNZ2I4&+Vnd!SnWAFWjFIt?_KLI?6Uf{b*ZHr_lliA&Iy9| z^MTG3c>Q<2a(&yT9o0!2ckQZtYJTuX zhxIkLJyudv?Dn*qOxokg5x@JXca6=X_8OaND<Fx|xH>WP& z8F6+J+`Rh0iIx{{%-H^ufAy{jirzczn3}EIUou)}WgF}{^I`Iy2gb8^e}9&5v(KX0 z=Gsj&YpJlQyZ3oq*_F6&la<#iajVyJ7w>F)vKww5uXKl{i=K%^N#5dJ+Pg38tjejd zZVFej?ti7Yr}yQQJvP6N?qRz38{(~EdfRqJ zYbwIcTRX?!vO>n)vNFGISI6Rs+}cbsf#cg}rR#ovXyw0s0WVQwAzbkgpLt=)Ufm4iWXV*Np3 zs?7u)VVg}+_PggMW$um(lC+w&YL->tg|j>Ezo~|s_uBBeMd;HxmKSd5gVMmR?6hB2 zkLFIY7OTwNJ!yIS9wyBsP@1vseL2OZ|CORmQ@GOZs+@}5+Pg1UmgFtAa?vx{!7JSX zH?QrYO9MkW|-FpPK28madwi$&8f>R)7=?Bd1zP8>~&VVdZt-dTQTi^ z)Lygasdo)1&sn#dOtO)hVrO&BZO^WQKRR~rs(iY=I%%WT`nF9LtuZs<=B?ctVR8BI z3d_#8OFKm!ckK$?(h17*)}}}1?A@6{cdx=O_isQO=w-ru7!Vlce_V- zfyxl8k6fyjum8^9*}!zp5|o~QoD;Ng<6dF;ZR^sV>n`lt#eCEoR3=&XJ2UL+f0w!^ zG_wO#W?A*+_t>-*MB2Py3fNijb>i-0x7l_@=j^m9`dVrk{e20j?Av~O`U=bV9lg8$ z*>vuznABo@{DX`2rAfhiT(+&+qp&7**PbWKY`ptYZ5F}aVuZD=kG1;-IrJv+1TAHv*GNz zv+LIC>ANlKRjsD2Txpe^)UZ=D%xP!kto@cVgyVNDxUg~8g$ps(cl=wd@7w6@xvRc@ z&(WT~-LIwQ*s!l{wmFhpuq$HO{M`Z1PFf0UZL>PY=)F@-C1GcU-cifG6o*~S_YUl0 z)pxaiId`Ju-MI7Y)s2>oJKc7EtG~VLv)N3mnV}o4*`q6Wi*YOg=>?f#W9hKM zW}fQ;>yotfyWd!z*tJmoj+IaPbW5u{yLK9XU1s^V`t%M}ha0;>r-fS`ciw3IVyDS& z`Cs!uZU_0nX3dn$fb#UkP>9Z`?)_89Jv-r|3 zuLBIAFtWa(|7_Q4)tR8M1BIcD{?D~G8o{qXVY^#zlE`k|>sPEYWPWPU*x>G@E$U6SidYehc(l#&W zPTb9^@4CDB-T|w=6bGvcy`!KsXnBm$8sGh*3%>m#`ZR_tq=_q>*x14_fz zch%S1+_%xQx#Qom`@)5o-3u;kw3;CtZ&f*KKPV4aW+ydRPFuNhmu0;wD34fkcHObE zyH~d763Ze`9_)gl|yDxRmo+ryddDzNj+bWw&lY(uIe{k7dF{x$uKbuag_#M4gx2Lbz z+5PRXWov%d&b4g+cg00(S;@x97ytQ+pnoPuP{%b=*c-Da@wu{?grfT%NlP z4*s-CZ#rvf>3$Jhz8#pf#gg@z_|6^;hTY6ZxUI_~_FEr_R@<{X;LM(h`@(lO{XJyE zKPA^@lgE_ZHmT{m7ubEUT4BXy_5Js4u>M&K7h6_xi0+7f^LN+hz}r^aVvk$bR`KoG z(SK%7{l!hYH!|+EIceHt^Y~`n?)^1QyH|QVvJ$n>x615(4Awtw@kGlh0WB7tIzM(f zo?T#dFzJjn?}@j&=VhJVQy%nVH`Cm$HaTX!HpYwmc0XA@VYmCX^H##Pp;jSz&v#0H z`($}rxy~|qyR0RD&ih>rj)7J@J?E@*XYAkI@#e&y4=-i+h}~RcqrGmrO$)ok?(A=K zcSq;$u-db?+Nw$E`OX;iBiqmKjIgZc%(Z;O`DE9khO?H@Ea$A_k5AgYSo!FlxHP*x z9ETU#?5JO8v#@mAu3F7iyTw!HSUu;TXmv#Q(ay{{9y{J%F}A$&XS(I@^lQ6%m$;gL z`hCiJL#+SqUkV5Iq{PPV3CW&rGr4b-%_EK@J1;P9-95>r+)Co!Vk=(78#^EFoV&wK zOThA~?`BKqm&bN}Jh^e_-sMNF8JmCYGW)S}&(n!jd$v67vWefn$tK9i-m21J-|mYo zI#x*^wp#VgKCzQ^?VTO0YwuX}%|2n7^kM6+i!D04DjoJ&2N~J#ir>Epq!(m{joFW# zHjK@`toANHy8GkFjUc82$Ba)Sl0;tflQdy98Xaw*?+fpM$#BaS1MllxYI z+z#@C%`b%mHXCC7tv~%fwYztT>-OL2*Q~DmnZEPw6=P5sSRB!PWci$b;x6%&IiN7I zURb)#YDfJ-P}qUO&}OmnQJeVVldPjz&h1{*aCYY#&L>vYoVh#C?~DM&fq9eCbIUz@ zt9M1`?%0+6ZLW0-yM(p&y6K>}1I3|D$D0#2xij`#^YonC-QXCwi$CYRRq}S(owt?i zKxtrSNZxZxVcXDM?%U4qda`_iwecc9>m0M*Jxp`Ag3^%nysXnUyeHmTA51#4+wtsz zU7b2VtfmCC?3lI~(q_o)erzdfp}%XT$D>{QYnrSd->kDfY1*`BBja9B8n)iif5xV^ ziqB?S?D5^718?t&e)HF=l0(#D*22Z$H2nSdZOau_T)P(7eb{A_nr^+xV~REZl-xZ{ ze-DB3koE3>Gd2gJ)ojWl_Ji`+?j8*WYu0DtmIo$n0qeJPzi64>batn~!JoVGxIC>3 z?=Q7hRtnpb*mWF~hpkR5J!NARXlFCSbj$9zXsz9A+5TI#=66|ke>=SM&-XVL-(@aX zPCoo&SGcl-)hGG4*3*wm?y;+Ry(i0Z)2^*MU)pFIncKYC|6+HqME@>W1 z9gzpy{q^Mni^_d3Eya#K-SsQyn#HEeZ>{yV{@nd8_Vu274z0T-_@CL_I~!udR{dai z;hw9zD*d>v_Z(~4X*$artpD#j3yVDme_KkPyRb`HVdKtSGOw*2(+=*I%6_>=blaWX z)m0B{R(loMJXN}~TWbRU?t=yb*7KIA?)vuU!JcaoPJ4Qmowq4IJJn|P&UL##3rFw1)gWxmpt!{1%am1c z{mUn_SncxZ-gS$4`>uNh7p+Tg&)Ve}b#qU|^~^m*bw_NHk`~+C?U=e-G`V4SNtvK^ zyhDm*<-!AS{ruvLRtfUyyAr?L*mY3xi1lX1Fw4fb7xswGXx}q`)^?j%`wcc{`3iP( zo}08gcRi1_^_hc~v1(W0`ZL#kvt;YA*fnRymtAXEw_3kAc+e_9=lGsU>@)YA6<%p` z+-i@_w~0EtSC=i>-OI>oJ$Dkf)uycHaQ&OIo?FhH#J#JRkrkxI`rAYu>*H2?Kzc!D z*aYYtw|Q~!Ajs_9b7p+8V(YN5%3Sviu0K}os-^XrgFAEA^MKrFeU`7lI@W#z$n79M z*fhSqV6&MqZ0AA6BfAs7+yMF2ieH>@7bxsOxN_kE%Xo*Boh4<0pfIw&+cDKTDQPh% z>_A~?;}~_*ru6nKt9u0(ci&>(4hn0l<&#<9`oBzBWyzqpWXG)rVNe`d&)&Jty7=r= zP~3sy&?Y+Yfz8_Ide$8?@9gF}-v^3otMWWnxPJTflPz^!+$_`>g+Xb=dg_$J)~{Bz zgVGKt4cYwO^3>+JdbhQy%hTOkzBqu=nw5+n^RB9?|G@3>&q|e+^OmSu9yAaDrBUmr zN>{8`dll`eu6h7U!`4#SFKryt4qES$dA(a%VIwH5TkSdcd*|PG7CS)xH=X5ex#w7m zWu+fCD34gNRX?!4cQ#~?1phNo9rd-Vm*4LGm2+)}*s-TpmHS@q{Q7bM zSbx|Nc}w@Ub(R8iSwMNz>dpQa)|y7gKyYK3=?Y(Mnb5~Ogo2~CEP8)}6);(Wz8>|wy zth2J5B)V(v@627M>mTnDwEk|bzqfaH*JYNy{{t57o*ckx>vLJhW>F{mp0_TnR*%z9 zTWv6q*tOK%Xjk}bmfcgEUsxYmCcm3CglTW7AKRWEY|OTP%L8oc(%APnXZLJRR(ft_ zpdh|0qW0HLM=#;s4~?!{@0p>$%cJSPO6{o~=hU6<2%thcIh z?7AQQX-CIZmE8+>uCr!XEpP1<|8kF2SMQ!54KHo}ex7Ty#plEBOAo&6dN5DS`skle zJ0~)!TTBqp*xlDL!}=9pnYHEKJA1BfUc4vJ^0v)YuJtz4Gj8vGZLYpM@vfZp%Y@TA zZ}nPOK7X&i+iPW`HT#hT)>$jh?J?Bav1i+^Q#N;^_S;N7WWo%zFBZ1J-w<_Jh=d^w?yrJZHmxWC6&m-Ot~vTi@!n*!eQyv}NL5Igp*! z(=%>cU*%d4atp{!HkNzu*u3H^1G#ng1OW}}iA?G{j{f;%`Cy(H$WK;Vd_GwJ{X7@s zSCF4=oZ?^FFszmbg~jfUt18y_qd!?}RpYR_oW=tRGpkJ-|6A7u_JG0?6s9(_qQBT2 zw5s0q`RL)@yuW3wE0d>NCchH2Ql8GRJJMU)s`fDpD2_mJ1&T8pkEXviduHfcJv6$$ z+tEwdI->TMrGbLDRkG6aUC!A(=5=Z8Hh#+kKxqM#CTv(km~4+MleeDQ{9UK z?nar;52P@SD($+LjJt9Mn2=7#&27#3^q-)3O2pFL;SJv?rrTK zt#vkN?KUKwl|-6*)&cO-xK-$sFjCdhtrCrI z9~k$_IrZ*Y{fp0bnqrwvQ73c7R)PU52^nmo* zyjst+NBZLZU1`1I*1c+)yMESdS*i1U*wxgRZ<)VE#D>Ld8OSYr-J}oOtf_irV|L;N z$gR7D-l|wPR4VM6U#MbLwD0V$U!8Y%=C7Bq=|4UJn4(q@`s87M6G$~pDg9Qwd$d*ka&P+0H&=VM{brSNm- z!~{N2TDaRy-<#%u*pS^%X9o7>a)Y`x_7>{78huzO#%o%Muyor1)cj$`lv+Sr?ymMKm`fe*XW*fcr z^Fe7Dl%}nXjl^tqHfULIYyY@g{IRihu<2ckc0C2FZA<~X50&h()|+|MYMH0%-a~7o zcYD9ru;q~nu{xc7XScIMsC8Kk>#hbR-5u>GjI0`3+;)4k&$hPi$+G_XQhu*e*^Aw$ z_iEX4G(=msPyMx9ZEmRbGlnBOeg7QaaciBe)vW@{-37NxtT`uduGJ`#qoM zY1zKXI&SUA$-U=oXMpu`-iV#O|5bM8_d8nssnFcbe$?3d+^0v@8vO!$FHdaQ!`Px> zJK0Lurv1Oz9_e0J>v*FR+aCPO*_mNsZ>8lgzPrKnmDOw+HXHd@Y|vWR)NH%Eq*v$2@X@vI+vu75thr`}D@R^V#6 z&873|d#2RNShLvvwR~xEbm!X^Z7V^ed%Nyjh_RS*Nzq2t^Wh%XM^E>h)DyEkc3`Sa z*G26;&1!$FM0z}|c9gx{*&`%l)ii(0t~Mp}T`tO+Hn(q{*b|$^u=ltDkL{L@^)}1n zb@pf*ZnENC(QWlpn`_rkZ7vXdm$u=iUCZNjY_@c)-*eo6XK!p8gYE5`Cv04lHTSeB znS;!<>JgIJwWI8qzI0yQM&N2W$gg{^e?AWKyN$E4*dA|=j9n^=n60<8o8@{^Hgd7WTUy{L8V7H#%V^ z-Rru${lA#aWGi7%T!G@uMx$TA_S~mOpt#)qr$W;@zu$3J?|&7`<-8G=Z#x5aJ92W{ zyvaJg`|~_4P@1sm{w!h3Ie7ypt?a&4U}=48o$W5)KgTVeF&wc}n;W{jed;f3j)rJZ zS_7pyP};M#?#TkB#oY}pZr1H5j6iABqAZ5h%Gn`w_v!3A);uyHyS(3PfYP+}GEY@o zy_rXM9V*$gdmB@Lb-SLzuF>;$T<(*S_Bz9~P+hnQvRNcyjC)mnrPl(m= zFe9sjiJvX~p53Xn}j%aGQHoj!R||udPV?KVHFiGr zJF~OjT4~ppFyCFRf5LYy-e$SWsqp1aGlh*i0*}qIyu4rDiu;wn)%`7DR`(1otZt<- zTFpA&X36d!Vfnw$W}htPd=s_2^5u^O_qU7Y>Dno1z zv^*`h>r<)sE|uztU0RoHcKN>lypyNw@s7XG`z-YqRa`83s1 z^~oHIgow#IF1YdU`~siV@9r}XtR)2^-oW$=Uow2zV;4Qf(Ll4-p-n9`9^xH z#d(9)9T$vvcbdxx?o3;MWykV64=mo!7Pd4ppri?9+Eb+tMmCt_93x7PBv_H&EBCwzAp z8FK7=J6m|?@;eW9q^-YVVJ;(RdBKR+^1MN-#T)6ZJKoNkyHoH0&n{nkhh5LRB6d~( z^xP%dEVOIKjNF|c_9$DnD6v?DOmMP#{yV}-Da74s%WiQi-)mbe#p)P9VZ7t41MAML zX(Bs4PdwYfTYAodXEwj(1vh@ngow!&s!!(Z`0{D$&PfcMyDC@N?y?h&*i|m)vnzm4 ze3$ggCQuw(&NcgI*?rXBO6Nj^)s7NRt7l%)R^ONGvHZW37nDYJxU(?r{24F0({s|B z9rM*sSO|XPwX_uxv<$ztz{1F;b%%3g-_FzKth@gGvf7nY5xy%y(r=f3h4ik!&-*}W z)WY}uXG^V1HdZRt5mui{y{#-y%URV|9I;I2mbT>nc5(ZaFMoE-`6jyaj@hRjlTID9 z2vFd$Trx+#HF3AabuBK- zg%5=-HLmZpm>8tLBYJ(^&W*CacghBs?s7jJx+``<;I6DE%DZwJmx0O%i#_}9Sr!zV zS@DI0TRj!?w>mRR)k;zAisjiBGfS)2Kev^Ad9%Z6R3={V83g$#Ot1Hhntd#%Uwwy58#d0e1C)3l+Pj(cQitSv$#|SDzE#BN@wG><-YPs9ug2l~u z8@Ic-C+-xP^LpoVH~n2P9l^Wy#)j+)JgB{ELi1iw8EsyF^n|5;g}&9fmQbr$gCMJZ zMIEcl=N?-|UJbI8>ajD=D7dxbpN`nh{wC&~ii_+lZ07h_ruH7OJg54{vVO&ROTM&f zi)|~v?_BNFw(Cjurd_eVt9DI&6SS*#(XH(n+uW^^FE6)BpR?I2S+mQkGK|$~)nuj} z&wEbnTzUJ?&Z$>U?o^13*g2Ccc1OUQv*yxM6fGiH94&(s_FIN<{X`m9+d)t0z;pSY>|fwYqhS&njmB`K_;? zAK00%{&(ljkLPwyFiqJRcd}*&*WVrHiypIDESP3$Sv_&5<;BjQmhW8dSYD3%Xu)&o z;?5V2HM?G9uHO|nVcjml+>Bj4MI1Xn7aCY;8!ocS58rBadB#L5&y@4Ts9uyg*Kz8xlu7n(0ry>8ABp=J5$$!5#%tG-)GAAe}M-ciIdiD&=L z>z9jnZJf1sS3|^xT`$%b?aJS8xAR-Jid7KTd@JJzTdfYsPPNLsqiFT_S(U{H#tl2W zivR4Cn0sR^a|V-s8H|T*g=4aH}2?t8D_r0FULHfO2qQK(+bPld!H;PS-iGvoa|vK{c+|_x#FZ< zLTM{^NtkZlHD9E8*D3RH{Ege_3@0`{VxhtM| z`L1BkExTr|Y2TH6b^Xrbe}655J*QY*m)mAlaeAIroS>c6j64;~d8;PvZ2$dz=hDij zJG0y-?39kazGKzh)n;!OHJB+%{kL$6oMUNw_>E=ltWTELepgsdFwEY$vnF6yMA4F6 z6BW1aS|Z%DtI6=x&NQbdmLVP!tbXs^YSpr3q1C)#cPrH%cT2--?K_3KzV6g-$8!0oRO!pGfvQMSHrXPQT;>z;;6ULp~yG(Z7+A(`qlgqYU>7p}sNv-1s#j)jl zk!C9i)6G^wX)CSdij%CQKh6ZDiJg-yUhk~E_i5*OrxiN`szi2f@XOiW`!a01&$psc1W;K=) zb8lF775}mPz_`Kk@3X2MnRgU-9g>~8%lN_8T|r#)cYVuN0p&5v7we0x8X`7WZJf2% z>iXqkt0bQNpgg%#`uM}0-&cL#`RU2#oeU9LI~S^6-)^#a;r97&`Ydj07g#QQaM|({ z>tD;3ojWYwvN$2sEn`_%+0V0oUqR7Mdo^|7mhVn zJeMwl%9I`NT<+|=*!gp3^~9Y!7fdtVx#%$~s0`X3ce2J}f@zB7&X4CT^VR=azJ7kd zGG_mI(_6Rrc4dC--SuSZmR-{FOLtu}vjLTH7U@@Gt!jJLSjDhzv@*7DvYNj638+lm z@z3ho&JfPuJA)MV?~Gt^+$lXp5mbh5pUD+#p%58iIrYj(%aynPSU&GLVYzBDlSO41 z>#k(Yu3hPKHt$NlynI*2Hg`}NZ9er)kX5YjDyt{io2*tlwOMUj`5jcI@2FpKe&;#W zKRZ)++7rRCRsk3F6 zh@EAs`y7krnW{VM*h6?-|Vx>LJ&w$-#AM(ce_FRdIBBdoTBb?prOn!oGN>XKcP?{MyVccOR412-GX8aHRl zxb9UJY)9mFu2m1;S-3uD$NJ}+EQ6autnLdmS+(#>SSdX`zw?R6pdcB=ac=~7UDP|UL)F*BQjEpJ@|eI* zi@;stJ1esyc1jt{+A%|GvE{GNzE*lOo2&vZD_gmrTeY*SVArmnXP9@3R9@e8&Hm0# z*^g~j2blj_HOPFndgfefwS9)@&edm=cb(y_*)`|2s7J9dLTuyGWl;U-;D%{;ldR$| zeX+U_{@d!|{0UY{<<;AdJPq0PduPM0+w(Mct^8}Sv*(SdC8uz(rON!L7Wa-Z?!2BD zzBAeX$BxxEvMd!2Sy;tIHd%E$J6p}T{C&sT-wSu~-eK4+Gx61~sS>8Up0M~>9s2a% z>g$nzR$o$PTAe)|YT=UYvnzXT`pXVosmY%SKl36usbuYA$lm42~l*DrbZT}I0$gVKtH<;@7o{5Anl8rmV` zmeNA>=)H`4i z_eRhvb!LUt3`=m{v7GcWYgcvXyIuC047>TGCxY^rC6Cqxt43EA>n9?IKzY!zgj>v)X@QxZc=baDSY<9jo(Q7gJ4yVF5>$p*=C9@6b;zu7m&=i;T`Mmi z0+lrub?l**%`;U&Wzdc=5xbq+Or3YWn`UKEe2CHNzE^=&Bx5P4?6RD_&2?9K$Kzf7 ztC@CxG+qiS<1F`^9k806%VM2XdBMsdh8I*8?)2wu*d?(!VVBF3OQ5pS{0~ErWsQLj zs0`h)y24`TK6y`2*=nxq@!9fOO}5qKxJppjYia-0XctfS-CZng%)6y#tOJ$N77J%> zxB4N?VlAnE-Dnp9y3ocoGV3)G0`L<$Lp^Db-vT5AA)hy@kuxMhn_7c>wzQn!5 zYSH4qJFTZ`Tg4sooZIyCZhGxO48R z+x2Z{*0KuABcB#oRqecDmF;3;B{*f~u9LgecWYS*?!GW3dnX6WKdTLOy4Fs|j#+)n zI=WM7<>_5 zan}rOOG}rXv#kU?uUWB|`dZa}>fDufU1hgsrr2)xr-yegGyPzdm8EB`B5~DU$3S#Gb`vTgpF13Nl?w^_8->g+r9!t9{9?{k4j_H_J=!wq4J$>)+ysR_ib6S@V8*WF=Xqu(Ry- z!Ch)a2Y0o;5!@B}ZJDKzkf_y>JxeWTzhE-o{_@}s$%Ruag001OZtD8Av!Ih}S9n0J zg`?EE#guoi+ZM9REcK8TqlljMQqjLw=gL-CFj#Hfbtd!F zF17-bT{}3dEUy}fS*gt2V=4Ga%HpucfgO=nt1NgN?(QgUe!jC)TyPhUlh=;?f(olg ztyitu9VT0KNr>#4d0AxloiBCNYmS91);C%LE$^OOyDLTX+^*s_qI&ACu%kE=y6NU)v*?nZ1?W4_S|F@S$@oIOv)y9>V zt<+D>v1(y>v6JsK|LzBzn!A56^zXXAYJpXst+q8sGMBZF{0d9%#Y=bH)Va7TZm_U`+u7VP@L&~NpCQ`4I7G{1EV!wXCGlXG@$TzPrdtKI1!w^^u% z3tJg^-?fasu+75SbJLDVwtFo!SI6#{c=Y(rlzXBeKkkfPn;fqP#Erd)OvMSenAB&Y%My)1+7Y(pIh=c z+_i|bTD9Y_#{mn$Pf|NnX71T})j$jsM?2XHOsvjip0Z-F+6s!p9ZN<3?qU?t+ijM5 zXxF-JAy)Inl&y=(C9UgiO+aa2*Q4FncFoUf0i}&?3pDwxzIuGLjF`q`*%Y&2hwO!e z7IL??Z{KXaacBE0QBWG&>8!16_08az)zlBWL21z9vd@QI+S~MY*F;^~CHh;>sxnI6 zdi_RO>z%x4mheCO%I z3|7BQ_E?!|9tV{HmMRigcV%Vi?Ota3VVC>U!_rhcDd}F z4Juo9_Ng*jInQUcy6)*@x$jWkj?D)9EY9wlY|b>TZ|Co0g1bU&Pw$j!yl)xTxXnsw zvWlH` zyS`bvxN};~?T)bIn(DnHuWy${koPC^iCoP)Lz4M-Z8E;SGv)DK%i8!2R@T|)L1nPz zCGH)&yaaW2TQsqP%4mzSY24O@Dq7Yx-&TOi@LlEwmv$YzzH%4K={Y<9Y1cWM^OIoyd&N*nY`^Z{{ z-FoHEcHCcMX`MFT-daFxhh?%o%kKSxthjcfQrw-Ky%d`$sDO zu4yis)=a|Q)}Ac(RwpGs>^eW6clT;`;a#Rna;(k>G+Hsw%Cr<&K5gfI_JW;SKa{tZ zUJ|rq?O$ejy;i|u#XtL9d&MT~N>qNigHQIZ)srd_YmMBKmQ1_~yZt8y><+x+zAOKo zymjadf9sUXg|5w-4g z3$|8XJHd)$@}*t-IYf5<5eVFMajl=#)2AI)dVg0~HiftE+{@dxv%rmEhd1L>i=V2C zE$@Urw$Qw#x=S`^(yo2!i*`PbJY@AVQ^IIHj`)t(E7EsH~{cWy82+3CN*V8^qq$1GUH7FgO( z7qUE&DzWQY&7@tt%$Ijc=x(v{2$!^8tDj}1B*(P-Mn=SL@zSlkp6~r{#mydJ?K<~> zRgT|=UAsgicDv`c?{ewTvT~f>XJzo^o~5B(>Q0rwNjp7xQg(a{Uuj`zHplYCEdxun zGhDlV-<-J1pqpXWnaNA7K2DXi{&1|*$|&pIu5*TwyBT!P?=t`S+-kW%q;>7J>sIbv zb9c#VO72cyG;P;*TQRG1T@$P#oqt)HXZh^>F=P79p8~x*ehTzj{FpHvBxV`u{A=gA zt_dKuyV4g;vy#=6w07^BYgK#g`mW^yk-N=*KHtTld*14tVWhQD);p^Y$2xa?oGQ8d z%;cpYH(C9@Inhe(442i5TLwD~&F1X<7`}3cCr^rnO5h}rpDYc&+}r6my$|HqUGBN< zR=Y$btaJP}Sh>zUu#1~LV)ygC|96R(Zne6R5n-()#{>$yT^`|*yCrnDfWp-BTFoS@ z6R8qb_S1!SvWP9%`E2X49sU~(EVdW+fa1h*&xOM~U$FOp;%b+tV1ZRdteABP;~^`J z+beeM77yF)YQPPOV=J?*Vb*hI@POie*UwCe-OnQrfzpJfY|bPr&0DHgcS0ZU_^G;h zr#Iu%9R+R-7JGTyKxxWS@9&D8PoH*x(%P;+0)bZhIYg{ECSS5rUOQn|r(5uD)+eH% zG-_2T9%5}c9h`P|tvxNa`z`AQP@1;%UpUdqO~lxW)pyPg@sOoE)!3LodB8lSpbnHL zEU(S(+j+yP6_i(Y{a`S%S|B56UHRpq)zO54U7<7lcjv#82jwv<|A_(COuP!9ytng7 zmB?;B*}I@TX|Y#qg4K$D_Ey(x6?U-pFWXsqNf4BW&G)kxfbz5@^Q_FBX9OBSd41Pv zc44dY^LedLN_?>LWU=4HB<#I=nu{i=jIe4|^|9XhRs&Ra?EGCOxVyUhC8$g>n|i$0 zs;t?^YI@Ur6N6*Rc1}B`2r7e2OV|=YWs>E_So57ePbzlJx2fFqY03-BDKj~(w|)6z zC0)Hg z8cR?aZE<9+gY}$)7ND}*a%ni{?zsXCyX*ZDc78q6X7!9Y#j5i7dW)m47w;53>9`Yg z22j4{oE;+PS*$MI39*!q%H3tOdCsm$6Tezs5f!wKzc$-yN8smOs=F+A`}}*qvg#-)_gK;yN<>R@0PkHzw4#-G%IhZI;$sQ(mR`Wv+ug8z`PT5W>HbHhpoO{J+ezY#bLLLgy^oDtJJMsUWi+N_@K9| zGF^1H+q%qM2XD1nd71QC9pC$Cd-H3qU1$63cb-X+u>_qRrPKax2k0y*`~UAOMas8W zo~$<8WvjSy*R7Ay79aXqt!KJlwNf!$v&)CiY4`I=|6P*v7Ev#Gq6BsVeOdk*wS(N3CkO5%DY&8 zt=jd(aODn7F9z$<)~8lYmnQ9Eo#nLK)URci|9mm)OfwDZmA9tubp0T_+id@gU3Gj( zR@nz;S-Di-vxw2>+NE%yb|>h}F3{OspfkMAX!Gnemb`8m(s;|#zngy->(s6-Rk6+&tJ-6QySO==c1wvY*wwR}$C{f%-z(ZSoqzW{ zxB57h!J1FXcGu@9husEGcI}E~WU>}`YGUnX`o_ZfA>Zz4t9R|XBxPXLps~a%GO)?g zL!EV(`rWxZ_h!mlg3eAmx_R3U#&Vp0?y#^!)QnQn_V>w9AuAfs+SqU<5gUs65b;xpe2IJdZ zbEjUh5}R%dvJ+(Y?v|xDL2j{p`*EdJqsj%48$oW}Y5ZKm^62Jm7N9fi_GZfORKGhH z~vicn5017iu*zNwi=Q$`WEgwg& zwmLHVJ1C4nVZ9S{<{s$mJV}%KmE-agJ9kWYyc2ZhA?WNw*L2SvptBHTdgCnH1i3+Z zWXF_iQ$TrU7whjft1q&mpuA++U!$;Fa-KXWk6HQfIa#Y1uCbcwes$M}e%9T$K1T1b zRa|Lxvf9i_qg7l;?N3t;@8k zOcw=}1y(LE#CP9Zr4A}1ti)3stiN47VpZIBc-K@_uHCOW+;(15S!T5+#nUR{&)l6a z?S6vF9E->#c8?6!ityEvMBZO zcFEav67F<1(oqTMb5MA0-gB@I{UMK?-q-RU*)XW?xk7SR<77p zvB7Vb#VG& z-Zwv0ptwufkO6!)Q_9^4iv$a4tHiHdmU~_=*fonQcb7898LK_nyw>G>4ZBM0y?2}4 zzqpg>uY>F0j<*#-X{`tS_Xd9Q+60a>*yWYOC_%TUo*M&s&ofcJmR#Sh>H}?q= zv#N6mx0Ftwv8ytyWmjk74y!jd!q#CHPP?2BdhZrx)!U`9-O4)W)n}_1m2114&DeLx zIi9kdlCZ<-lW~w`q`T5CmpT4Bk8oOBa=&ocE*2+Xl`PqBDa6*l>-5eEyP|I`wi13M zZvAZo^RCxty>^S9E!@Q}Y;1l1KAW}U%l*41P37G^Kcw99xAJbQ!@YV8N>$!w?@3miUq1n90YP zQ?hFh!_r+xjucwO&6c&!3%{~GcecxJ&Ye4VML(Cf{w6GE-S6MGYe%d2?gQ^u?f8?o z$I2!2m!-9~#I6HrOLx}vDO=9GylcmjDW5ED7e2SNTNJxX>(ZKC>*u&y*{+wfb~_tw zshw-TTTS!3hvsydgo4dM={Hz z5zlt~t9@X(@z_60En~M`;ewlYJyDUgDw!r{{cpxI%hcBvyZf2G?h<6?ur^jTw2u6t zyX$tC>~7A2n>)Yk-EP&Zsb>}D&$(+);n|(971%6aE3oa{Q+U=g%%2k^x9iK^?YlS& zZd%?BlLhIuGFCO*Ey&CPGSe#cwFStIoh8%cc0W;(1let+W$b3P@z}qe|7suXJR0%L zg56PU=kC=zE$2=Y1i5_||LtA7{>C&~cKnb6`OQjRM`O2YlL*MqR@%AtpfK2JyIyYh z`Z=zku(7gR6l-O>@cGUqQ$FpSd3l#bO`r1418GY^VG0V{oqzK7>^ksnmBo%$aZuP> zeG``39sOJ$6em`>vt2-OWF9wLcK4AZg`l{zI%iV?ip!nL_Au@exzK5GPDpR(``Z&h zaSn?6otn*icI~xazGFR?Feq(U&HW^_`>d=MD9u>S&-4JLAD{dh`ao&RD(XoK zD6Q?hR?fNW_b)YzefLavwzpJ((j+Kt?)!Lr2O8&pPs%8K2}9A`jfht;0f z3qWPb&IAkTT`6}Xz-LS<8!}j)Do_NKJ=?Xvtpk-spfU+mHd#4w?b&5?%XRk|XC6y4 zcTZ3m1}e*TOD?m+7>tBf6*yEXFbcF89mu`;VSwYt4QV^@Cg zwk^ZdbO5u$5bhp7ooS_?@S$;&-$E{75`e#%6_GubbEGoO;&Ba+To@@EKBDHVIiSbvLov z+P7opgCFO2S#s~TY_HI>ej+>5!s9^9?%xzv@`0p4e%b zmJ+dhdi2Cy^(XwSGuf|N311i6-K214*L0C(R{y$Nt(59GcSYa1yK}m_nI+R~K?~3s zT-Cw}7B9XTTJ5Og-uZ3g*_*sm2I_Mc9oTI+}fQz$^yHhuDrJZovj8sW9`L~ydCRyD_UJI z*S6GrxM$awx01Wo?v${0_uFa}Qfaz7ezM^1^4AL1-Pbj&i}Nn+`qC({TO!lNszP&% z)w;yyo!*U-yQZ6Mw*Z~}208<7y4m&}-i?wVIm-&oExRN#T|jz3dab&zYkl6mv&`? z`~>ow)&56PAiskAZ0)k#0Tc$i+K3q}N zEzhoJ@onQ-P#Uv*@y&2owQvIX>_Mj4f;*t zKzRt1mv+qz+6>BDpgac3YoI)5<#8Yelm~aTSLp4w$}8f&IILsP#LhRQYIQyCRm=biU*YumTo0_yR$`vcOBF` z2P#8AWeKQE*|~eYtQBa#w86fho%z9&EpKno0F^ODD%(J1oYn6&db>7cm+V~TA8L8~`J(Nhvyi+_3R=BCzs~aEsx!M< z^{?%m`N7<}VB2oX4W>oAPaX2uX@0xdI;Z2n_Ll$FyG`%9T4qhZYW3hy>CO*ka=Ug0 zXj}d`Cujk38|aKC&{<7$!&t0>4&JqFxp#2a;yH@D*aeNO4|*G0?Ul;gUBw}`>o;Su zHS^46mh$R$yMNnh?|55$$Lh;&mYr1zn!6?}<+lW#83i&Agj-`~?o_pTV;Q%R*{VHl z>#k!>A-jBQw5%`gY_i%gD}6VMYsIc3%k!;|E9qLj3ANk(aOT9F45AOM=J;D|zsYXA zOOpSdMa0=jVE2K{1D$ony62o_%5G7sz^diD-mPlfH)2t4U|#cJFz!dRNcI zOzYK7%~qf4ZFWoRaO~P0^4KcB;ibjD4_3Q4O($D`&fEf-1;V`29Xm~yZLr+_O2uk@ z@Qhu%ZcN*CYMYq#q`-4lH_is{E_!ftS9N!yb*0UEt6%dhc5^6t?8+8?Y$b4}%JTXn zhh49a{4oce2?jC?gh6M8DdbPGJY#BT^-s5B*WCpxcm2M=Wqn`#gVpbYZo2~xFzr77 zBFuUz<1MRwn~Zkb{c7H2VDZ38aMmG9pA{~$(}OxejXWwkut{t8?QmtEID9tjq=7 zcE!za+yOdM4P+Jwubtz+^UrKOOCN1Vt6i(Tcg=1-zU%qI`&KWQM6JJRtM8Wot-1T) zA1mu}QuXBUtf zklI~NN{6hDUR3~@0Wu3@Cdh2-7fhnNpD(-*vJ+&tm5;XLu0ON&cCMY{53YYf=7G+t zi<{qQVJ_$f@&m{(yX;CATX7xK0{Ic-SCF4Uez#6eVBdXx>Tgh(fWpSgdal*3UVeW zW$&Cmt;xFeP}wfW3;MgW-Bwt+^K@AiBm>$k_RTCF=>wmYa#f7hW$&DO6MiR?=7vD*FqNxv0K{amXS3C~@U#^yUk!<;OC z9E;x}csSIm++1SUTK{{yHcPWviwOU-x^9=f`<2kdU81v_t$pWP?=0HqwELJ(rj_XV z^;Uv1w!3&mYrto3b!wm6vEW^Rm88YpohK%|+!ZhU+RDIA(E0~s?CyEJCw7JGZM1Gb zm|`jZ$7A=&xw=+fs}5N0&DY)aI$`0?q{kLkawY;hITJjsf|hmftcw4*Yo_oCs~G`` z*8e?ycFVQ>-K96P#@aDT$!ftvpWT%^Z&^kiIB)epTxwS_-_e~DuQgcC;xXQNBGKOJ zjrQjqCP%*R65h4gYKpkN_55JV-TzjK@1C-#$oj^DR;#^1e!GwURk5@=a>q(rgL&7= z$`?DmS{f~1)cfyz?`&-4{`;wU$mMUlHVM~SbrxA!=OwA^e!50)x9+A?YkT*dRxH-O zyS#j21dP}{&)SVNfRINUJ(zMK6^JSL{myy*TPiO1L`+0ZI zYIfdT@;20ZO37=hqCU^v|JI({8B_V*%HM9S~uB?1vsjb0m zWpm`tuA_fdcJ2-G1BKbHDT|6gVF(IK>nY;;yM=cx-eq#+D=4fjP9)mzn#E&mIq_P< z&SJi!mJh_GtfCH_-&MKu*3JbFeL!&riaSsoTK)I*v7Qm2xO=AXiCtCkA34eC@om-%?GEAT_@-2?h^mw0ZKDFL-sa;(vZ~;##n0uJHg%Y!moFonD7#m z)+`si3)t1Eea=EnC1EG8XpNH7nj(;k%YLc$tCDV6?G)Wl@kH2+EtgvfWmI@+v6LT1}tU1j@sf>NWMCJPpd* zyOk#I1?6?C-xguJTE9l^=-JV+)6PxT$~M`-`>t;XSa)mGFlZ;myPp|6-{slaYwcfPxa)hH#qLWXH>`MO z=vajtas1YEx7xpX}7gQ zOu^1g*{-{fZ#-zVStHhJj%E5TGqXRd{p_&r?iFv_tbd0TTE4vIzk8nKa;u9SZC2a(Gk0kjwpnD(@vs1$fi@{A#B%Be zSF2U^w{|hRMejVbH^$mBg>ARAxBG6ry$#mZl4e#Ld&76jp6{@lv}dlB$hEXx4_EIq zd$@D11?UVm^@D7d^RqqwLOZ^}l==?WJ&>3_OSMS>3;6gRt$Z#=kb zQ?@H8&Ma@5c7x&&6qnXIo&meJUw^RkRQ`9XIol<6*)Z+_#XTquSZda(?+ja*2ud5f zE`{6xr4>+`vGVNf1*IXY7ePVR-VUyyw6*KpVg_p=+3!1rJD%?BknsTbM;?6k-D$Hh z0+cp)uDtYW*Yj*mP@1*UeB294!&ZE^)2xeR%|U5<*S|B&)*O{vKxuy0uI3(a8r~V3 zvy*L}4=8W!Was+{$}6BeV-@Mv1Ij~IlQS!vg_cuF0XF(lR^0N|SVch-xldjd9`ySSxdYgBzxjTEO_1|vmTzRwI0k=AKIV@(k zuID!06=qWjI{yvq_OCA&>;Rob)i)v0idF36u1}@YEdRU@w>I-E+RfaUvCG0^lC}FQ z`Q6_WcI_(B=do7I65F+8*6N+0Gp|5xBhVRGdk+5I*&C8?we;PcUB;fvcI;P8wyu93 zxjS_B{#{pnr&$;Evh9vs@oHB{IiGdypC>y7^KOIAe*@bOI)e*z7T3M*aw~PIW4pXX zAMTu=nPr`sWw%@P3G?pD-=DskRBG;NtgJE~U7nj|VTvM!fpV8g5zTI^9p-?vK zeBPxNReeUgDiv+(RLspSdQ=8N-peG{qN zy>xb)wIS;XOLP0s-A*f>Tj?$izRTP`6r^Y8 z(%Eghzll_W%(9YNp0K;K@GQsxR(I(i`Dsc8N1JwQoJ z#hF#0*>q4Gg5uITZd>l|C3Dq z`9Nvas;HOE`l|0VP#U(Xe;#SQUp0BRvF9?2rSI-o^@il{0-bsI_nif}PYyZ@amlRJ zmWo+oRwep8puA$`{z~53!ebIB4_TRc7Fqv!AHMrj>9n1!Vjr#gCM50xow*1)dl6(m z=q$!Cn@Y=iZc{6V#q6NGYLzQ*W^Mhq86JX6~`R<(0m>$&uGGeCatW`)jScI_07) zKgZTtZFiZx>%`NnT}d3()|3Ay@Amo9yi0B3RBO4Yu-!Y~Puh8mbo+I9p9y~uG%^~OmVlnlIZSPTNYTqj#b|+-!XMp^EpoIKR*k1wUi{8A9VDv zYVW_all#<*U5v7&)+^$E>`HrNwfi#5BI_xvT)Ua}p53*|M$r1>>*!r)vZwA?#bsa> z_QYuCmM4t6gWR&LHD9mVwL~Fy_x$t))(?+e+7+zAw0ni3nDv~0cDp{F(cT%(DQ4w$ z-^1dx1JCZJ#%Sxzb>_R;tgCnbzdPGnkhf=7FN4f(W_t;1(^%al&Zie7f(E<=Z6j z-E$upgVb1^FQ2lzE4T}!*J8H0=Wg~aVQUVNW{}xCIp=p;n#M|7G22V*?q!exxxwoH z-Pya_tgAt8vubLL-hJAE$J*<@$BuALF_0fD=lrv?TA?VmJ6MGYIEpwEe|?+fZ|~LpPz+R&F45labxv5R^58mmIa_V1I3-S#=7d=8OM%;;?!#2(^ya( z@35NEU{#{P0E&An(~l0;>s#i4(u7r%u8VcXw%Xl?R2PEMjFqQ;0VoaaJbb>z>KMn% zT|3`TvXqMovsRlp6_niPU5KEed1{rC{0>@j;#Zw(Vh0!TCKvDp4-*r$h-5F zSGx6P<{nU*wp=6BVC~XZy!-qXE>N1cx_z&Cm*G`wt1o{Z?7ZX+y5FG9TCcotxAoNH zJEuAt(27EIYS z^Tt%`)}0NzPo(Br$;s7QZ8pf?wP*fX%iO;ImW?qBEpE=>-fiC9Xw7q4b$5-?mtAVs z3#@gn746>g;h*IKmc>^0`WtsC%C5ECb>X08Y{fjw_Pt`em&le`Zxa5#>x7s3Zr}3d z))Fh@b~F7FvACmj)T-)d$F5C|%Pfxtv|9RqXSP!0k=wniEycP^d;YEq9|Cq~MX$Ez zHgny*y5Q-~l%G$mKBe^TGVh&XDQ_okxwy^Hs-{PA_paN1*5R|bcRA~n?XEhp+S=rW z+HMQBqFte97_1HR`*ww{YqmVO&A>uEAl!;SR&n=}ou=01hb1ikN_X#O+q}a1gD1=G zn=f|k(&FK@mOa+Jt3=4(QraPK$JB2nR{9%dcW0cHw4US=Y&FAd#_q|=i>%{W_Uu|Z z^ZTy5=fte#bXs@mRdHDARdMW;(`mK3droZk(wX0_;#u}sO;%pCdxqHzkltMxXC-&* zZ4W;x@xw@^<1o z&3k9;{FKsbmGbk+uGIxkExFBHt+S$6@4oOM02H=XyV_EAEAq%$`+sNNbu6HD=O)Kx zJF9+nSlv-Nx{K+T$PS5>an`=&%XgpfQU}GI)e_mV-R*nDtYa(Y?c8*F1 zQ@c*2=I(0U*Z@&088?wce$mteV2Wpjxb#n^DA&QB;x^Uy_)VlUmG> zUyz!Yn4=F8V(`gNOv%hkS5Ph1)6?T((D3xsWGG5vaLzByNm0nlFHry~R!}YGV$g7P z)nsr>%*;tmQ7Fk*C`wICQOHP5Oi3+LNGrsMElEu-Nlj5mNi0cJC{8U=NXswE zO)OC;GvHzf%_}Y~D9A4Y$$JEO1}PM0R;5}gWEKTyR;AjirYLBrf=yOUQAny(P)*U~ zVnET8nv+_VSdy8ar;waqnpa|_kXq&pVxVZ%Y$IGB%)ub15@Szh z5m-OODww-cQgae3i$P{uDL_I&lZzpsC^a{+q_ikiAvG@rKSbr5ROR zptgu(3OJ>t=9LsxDk!NID?#EtEi)$-%;f@`=229VW?+b58ZbDfq_}0~q`HFiG5BWY z1$YD*7(!_Skik%FdMHD2(JlUy|Lq|HFg~LLh~EGb1z`{ejCE2aA4Q07zxdIffuWOm zs~ZOc3j-4aW5WliD&-b;Y4694dF~P1k=>8 zC^fMNE@NuQP*|Fn!cbh2T9lg4kei>E&ybT?nO|B`%%GrZY#1G9r4XwCiaXV0ki%f{ zT2fh%s!*1gQ<|!vu3D_FppjZp0LdMBiMgp(`9&$IMVg?HR)ClWjuLP#ODoMyWXLm4 z0j0%^#Jm)6mIIjv(ui)DTd8lNLVl5gpRo&uX$+xxDEh&6f)g3sEe1LYhB^vHIv^vA zF$_>G)>kcN@XahP1{D&?8Hss$sX1VWGB7Bprjdw}@#{gChVnsyiYRvq5{rsc74i$f z1%Ya@LP1e}L26M+W@<4gk-AnSrxq70q~@gNrskCtD`e&&DMds8IIAPf%uOsw&H$x# zmOWksYBq*x_&Z>m7sz7NB8*bKW&+gM|&z_~# zp1oYFJ$toQd-hhX_Ur>%?b&Cv+Ow}|wP!!nYR`VH)t>!Tt3CU_R(p1EYKb!>QhgH( zz?l}x4Nfg7Er8g<$iTqB#K6G7!oa}5%D}+D&cMLH0g+;W$+6)Ohv@++hp9!^k4+6o zJvJ;RtZlb2)z|LpH3K_z`N~OOY^omGVTgm&>Fie6yFsDX7UTvbGxmYxkTKK@3~`Ve zs2O`fVX=Uvf#6f04<8IKzKPbO=vu?FZYkq?fULf~+ zZPvu<50D%TgW_%$_Y^yo#$|g|%g$n`pSjav-!hj;dtvI4Y4Gceo> zH3LH&$qcIH-!{3AcJu7_?%Vlj6Na0Gni=+{Yvf@K`v$j{yHAOm>;>gtBr`DF3^fC5 z_(ILVDhKi_E{qg*7;c7!9fml_ticxkptO$^b{KAkh8^DU2bEh$X3!=4pRsJUQ#&#T zj6vawj?MqS#~Y`h`U}Yn3^#+!Gyne{tG_{VAPlN|pl0j?xdkMKjtQ9oO1nsA;Bp6E zzo6Sm4F5BWDXcXQqlwW5R|5(^Bs2EICFsBawHrROY$eOx)Nmdr*bs0(3d|yh0JX6p z`p7qj8)5*IB+ncksBQ#Bx;aX0f%X^PIopHc>s zANv`1S;4(ekUf$m8S9;|Z@vrbpUNp0J9d4&_niT(!olHGri$m?J<|Q?@-TiGYYeCD zjJvH6^$ZMsT*B2$n?5gQ0_$JkaG@`iJIE^OJWTzZ$IoW?{|#OVk%o&> zixYDTa#D*J3i31aN*MC;^HLddGV{QF-ORjX6Nci+GK&>bQVWVwlM_o)Q*;zc!Tm#!MiVXujqq?y_-F{+R?uJq7eiuBsb^khiEm~_ zY7yA^4R&Xh>kU545d(z+IB!7sYz_NOZEi)mh27sE!hkPE!hqRE!hPIE!hxT5##~=mTUpN zmTUvPmh1q%mh1w(mh1_7E!i9NTCxx5wPat=Ysr29GTWdfI{}OS0;87f1ml+M2BVhj z2}Uj11;(g$1Q@quD;T$AI~cWOGZ?pI2Y}QYwPb%VYRP_J)RKL{s3rS=QA_p)qn7Li zAT{g1Wa18516-PE10xoFEDS(zF^*x?U%3MUs_U7S^{e z0yJ_88^wVQP(VjORZ~DY3LNZ3smb|8DGZQ7U;l#CJVzge;QX`_h5S4P2KW3Dg_P8? z%w)(&osNR1i-Kw?bhx)Xu`Jay52QsQ4LrPS1(pK|`<6wb*$?bnvM<=TWG}F9$!@T3$quk@$uL$qw*q$!-A2S+`_wux-gsux!Z=ux!b8ux!azux!a@ux!bGV9}C&0Hg+N zDS|*xAE;R%sWdGuwMZd3v7i_nu{jmcq=8UYkds)c08s~5!oa`~o|swUmR}T{nU|iE z>YtRAnq1;qp^#cslwSl_<^(Z4C%?EvN1-USxFo+QGcO%7qz@{M;quAZFrBK(ASZy+ zF?du|p}4ZRBsEu|xF9t#8{|^(*caRe1_oDEl5c$NyQXr0L@r{LJ5?-pc$oD0W=W- z9iC22;bKTB23e_>l9Pizs*RB0VnA}8b5UwyNh-34E7TjQ;mD%U^oyw+DuJY{xFo*- z)A`_n4pSJMD?vF4Z>Dq)^>k5CQq2L4)@y(!VhDvfD8Ya-7nZ;@1&p(VQ^s3kigs3qGWs3ltgWCn`w z7#Jpi^vAViPl#>FZisEkW(aP{-VoH1y&$M1dqPl4c0o`}c0f=|wn0!!wg49Wh&lpP zhhV7*z;g#U>Lo175$0j5a~P1a7B~hK5=&Du^A(bFGE+g5Z}6OqD8C@eN-{uGgIo*@ z&iSC0US?uWW>u<&U#O3dCT7OKUuG60f~TCoWsm{5*dV4XL^udimVzfEk<38I7o{d9 zmt>ZK3L=7@12s}|Gb=#zHQ<>sxc`ynSP+2>nl=Dc{|dUg;94B)cn0J!P0mP7&W4%> zn|ecXB#PR!%)AtZM3}176sR^N<%qaUttd&&E6z;HNmYP4rx?Q_2-VP-FD^~e1x;{( zyLX^+DgZL8QW;#5UxcNU2Dk9tQ%l0Yvs;d!gyEW(0`6ACyX6<uWQL>sB6hSUel6&pr$1|sktQ^6u!vyKqzEZQUOw?DflJkrZT|8 z79tq$R+O2Vmy%NnlEe&FXfA>_0TFHlg-2d$MTtTIs3Bbfop48_T;%i!QVXjSAfbos zBZQensX3{M#i{Tr8dI%mF@ml0|bb8_-QomaS9 zK@BEoO5kEBnbMN2G^Hi`!sM205W8R^gx)-*B^z9sV>YQ#DsF^5u=Y|aH2J1N^9iIC z2r1PNszEM?Hqw0UApvN#$a|a9>V-J}9$*Ivp@4tClKg zLjfy-@Zbmk@IrYgXbI%xR> zs+k4(#U;>~MG6OyiIBJghd-9ApOO*}v4J5ywFJtH&rD$eH_@Pca0e|nHzlvKMrm;qHMT(CtH3_+f5ZVcg$ zVXh2mxg`n=pv6_t{w>US$Ra9;F3|8qVp%FQOTfE1AS+>F;FJPNK*)k%|H9HUvIN-E zpg1|OttH!FZ%g)ty)D@Sdt0&{_Tq^{keWR$*$;NNWC!eT$u`*Dk}a^WC0hYRZ*R$F z*xr);VOvY~gKaI@7q+!zGczzSD6(G`Y;!qr@Du|Bc&!F9A0*GfAi&VTz_5zJVs;^D zZUmVho>-Qu09v`F5MGoCTG;|M1LSUOxM6C0cEhCh>;>0bvVAl2(#v(r%}f-EO7lQ5 z3r-KEMX6R?p!HxyphY^W1qvC7ptgZRW^Q77s%~*=GH6i`gMva>W>HCLVoqRbYEdOv zBc#a-TDX){S&~|;kXWLSn34iD1>_dEo`9l!&=N$LuJTOq;=PnqP%FHGfk8n5*4ip4 zPAyFVEn@^X13;?^3yShf@{{v(6v|SIia`RZDSDtX8lN6e0|c~;Q30wJKE5EoJQKtMsR!u;scon)&ddXwQ(RaC8X^O+|3l1es0WFqfwX|_0PCrL z@S`RB(~p*Hg`X|iraxPcG_DqCxJKWME*Z#if8K@ek0nssfsqVPIg0gwPKC5W3?qgwFZ_rW;!HK1J;Zn-`kOsAeb3!)X`7ce<7FfhC*^Dqa|i>65BIx#RfJe^~($ccerg4~fk*PIv_ zOw_(+^Efj!JTR|3?C8v};6`h>NtrXl3BUB*gR7kxY$ql>iFoMj(6hBdcD<-e!23tn zo=ADSOuFjJcK$|B~6?!q-UF;HO7BJIku|lpvA?GMd_uW z6^#lh`MHUid61^9f`*H~ucN1*CIeg=G!0jplUS5lQmLR3?CI{O$-v-WmRgjSlV7e- zl$e(eZ51nM_=mX$x%v2qYchmnq=JTwOLIy{F1~Rg`E82V$k~J;>`5C%(Tp8P$xn`BgDr)I9QW`Apq2M!Ko?$s)~W( zPf&ZdbZ~pNMR0p|L~widgy8n9`}ku0V$5*3ai%I{5_iPtQB|ach3p)J=ER`>*<2zaeC;lr^)%!M1GQ&wk6du(G9D z>t!e%+Sm5U;DP&m)r5;O*JCuM-Boq8dcf@1U+^HZw!wN1YuD@F@Af&lH268p&2bfd zxv$Cim~rI=k69;Lf4l9|zbk#lXHrsXt4~|_#qvo(O4|es&mZD*JLtdjLYEBBoFjWb z@O&)aYMbV{Rbl&4|I2aL4i_7Dbnd?>xX+Y>!EB=xb8xlk6wOl=-p%V?{43!U_CNo5 z#Rg;N)!rS&GN)zMF6lm)VWPX-Y@72MmCGOWZzfdLY`HC{x|G{tUc*v1(FGF@XiV{Y zvS)9*=Yp9Icls}dK5tF_S$OU4Wse01*Rj3W5c-?TV*15Ot`oisjNf+X=r8o16D4z} z>%~3ar3({&Xeq4wUK)DAD!e1WV^X=`j_BKcoSz?UIiR?!*u8g`aokC_*WJpeH!5Ug z?)2M!Wmzu6g_?JZxrDCnay#nMq z);K-Ei|$oALJyc`F(=FU?Od45-=I3_=!&e%Yo$snT^FTY%MW5Yv)kbK2j98(AA3y< zUX|VSvNCEa^SwR#Pix%zY>$LbnwY7VurF*L|Izb;vve31oaCBtPOzq_@44|o?@dlU zHy0k-%p&B(y3W+pz@_=^RmN3m4bL7VzAh?iV|Jcc`svBBZoQi0YuF2zj4leUy2Q{B ze^8x|S4!uD;=Taqjt#}>f2O^+Nzmz4cx9C-u;@AmgSLUe+*aKrwy=x@m)?gfBo(*F zc;_Enx3O6{$YaCHes0-g*}fsm?rYYs{NTP{ZJy)rDIGVHHe^L!+9K*SzvQLBY_7)O z^FM@cPGc7J?C|^T6l*lay0w1Vj&%`k{_{7*R&uVo3P9pNWrA zWbf_|jvbHRE-q9|ZFyMu*)yhRj_)k%kY!Evfi?^xpj9pm3xKEl-zR4+dT`Ba%ezNHjCL!$Uw-{}x=}`u6bYY1ge%52NRIYnqs=xID|q3G$zESLffQ^!GdYIt3Uy+ie`z z?(z7#RdDlq&yVUS4u)#@PL2zIQnT)6v7c(p5}Esd{TdX~FS@M=cmS&FBWKygUVX{n zy=?D)lmCIK9&Mj~8ny)dbK0(;&6G0JJXvg~WE;za8@{vCZoSBFNSoog@V@HBSTpyn zt6waxj&5wfwd34Mx3j-pR(3P3&%EcR+*N43w}EZ0Z`Y=Wm$s~F$dy$6vzo(9%V)|f zacRD*ZmYje-MB=x>4tlQ&|F8e>1~e;CuK;@ES}}pKXbeM%(8MmR&#G?m>%c4nWN}3gUzQO^J{j;zO=aHFx}I?i*J4kf8fn~d#WW^efOOC{!}vI zP{ffBm+H6wTkP8?{`mLXBdJa2Z4!%r-L7)4urK=`9&6ANI0XJy+i^^LYWphxr<2s&w;C$BMyBgZHpRVN%ehn1ZKmhf>#}ROPe1zm z`(wh&RLA)p0cn+j=cWlIe+}Nh?SkNxPYerA%Kh%-shPWG%DLiY zjt%pZlXod@saqymG51Mboo7c!U=-^I<&+zSF@YxEZN(P+6BcK!T=V9;E~<9VmSsF?_FUlq%#F(IJ}WQA z7_nV<+~Uh`w@ZA-6o*9@uO?SMTk!dIb|oLLz%}k@J&oT* z!#;6)-Kvl4+5cji*R0lMkF0uzy=R=3iW)*rV2`u=u@4*_^v}ep}N5erj4I zH8{4$syJIJxol7sUf%Mpa{J#aEY`JxBTr{qbJhJ<-YjywR!(1NiJ>RMhUnpp* z&NPmm`@+I^mD{}9-!+$heoW_huK&x=f89dgF78Fv3XalDg`US1efO0t;5Uwq&{o&K zn{jT5pkGV7`IINZvA@K5FW!HB^{#7s)hv^{7h{?#+4db5*U0pp%M>^(xbDI+M@^CY zpB3)=&GMSleEGWg#g?eMx`k17&J(q6bN5uV8yPCFy)xnZ=s!F6wLqk?gNFOIqdfNy zn!9yM-8&p(*xGEvG*d`p50`)Ao6DL}y^XPx`VP*rS*7l`nVoT+xj~`kwjP@)lk?S` z*0#S~{O=9N#T$n>J3=>JaoTf>*CZ@(<86ath6kNr-#RT}jJ+-Jy!G<(q)!=&-!dI` zF7+r8oBhaU!(`1IkA8WNJ;xaCsynS>i?}|?TO}&cV@W|{Y{j~VlBX7x#U6N}@37EV zF~U_SLYybe?H2>!9E4nJ#y&%f2r%l!-X9x^uc~pZ1(N zt6liA^H&?FC@fv%GL7;3C+k3yjjM#hma2R^=Cs7Qc>0Bu1OCO!OuwfoH25z#diNdA z$NjO#O^aN5vkv(5smxnnurp6v#Ny8GmlDY?U7;7J8`ZcTuqZO#*Tn1QxH7@t-1ADo zahC&oTw8BEa&BXN$9L>ycI5H*za8f4sroK#<@wuMvg?@3>IFg?|5o~M-s_$6#WP{q z?ALE^oS!}Pb}Z1Qrp7K@6o~|&F*}FKR!S{&P`yOmHX-lhKuaAM} zpJIEP(&f^rey;i_-{#m!Uwme~weE0P@zbg8WcAlohWC{?n&-&4EU4sta-LyMbr7Sr zZ%l2sXU8KGli*2fISbC6FjHgGG4tt()3N=JKN6p z+7BE%k8O?R)STwSQp^{mtCGRbH!1wb=psEd^0htS8|fJnDXs|-}7Gr25Z|OqUJS z#;+@))+`84V_TlnyTV~2-@>onEytgxt-AR;cdai8VpJEx7!jvKk7 z1g9^qNKu+Qb;81HJ3ZG=-t(e$t#P#O`P)tDXOBAUzcXJd=B!)t(#=QuGBOT%>?`#* zaM{vN&7h z^l9z7_?=>K)F^41f%@!P`iIXnX|*P%8t`hGIbD7YqLPyz?s8Wm2nX zO7JpgnIbg42by{AXncM&zA74jg3~9fX*}ly7n}#R`M7pW(S9}M%*zL!2mZfHIn^IM zfivpEqDAUko%Zmp5wrU;cQ$A|1JvAuwfVNqXIg4vb5U^4OojvgJ7=s)*}L|H-17w< zOYTX;SjJoy_gTAB=GSc_pN$oVzGf_E-t=e9luvGk%`VILuf4PUP{N}NCtp?m+;vW{ zr-@+|gZE1A^=~g~+1}XdG3!3_?T7P&_kMA_Xp?1gNpR09h6DaLHE(ZV`RX(6-UY#K zdxixk1z$WpBz;0qPUx!N&Ldk4_J({q00~V*crIl0__I>`yx<~DhE)u<#X)D$>^q3Y z|LM1U)$_hcw~m`XjEC`dn{~~j>jqZEGBR4{1lK-gSjFH{ZmS6jJkTf{gmx2tfZB!@LgO=( z$rO5IUliQJ%&>}Kr`E?#*NuxyCa&=8T+Fs`o%ZbIoF3n1r9`OtELS-Ay@w<3@q!~9 z0>WkI1!sL^P*|T=^u+-!zM))rdhFjcZR3_*QUcrNFsx!Qk!1&OxH(rU1Yi^q(t|b=SeUf&i<0QZ7$?4uJi`_Kz z7M7lnZQa2et@qk}633+;qbSDfZD{UkLE}F`v+oNUf5C%4d&J*d5bPCTSa6bGU2@+# zL5_Cr5TAKPAwAzb8MC#}+<$71()J8LX@Nz17*;VjxEDAWe^9CokrwDn8OM(l&Gc?4v_HSgkx3>T}yadtmODkG>X-DJ#Q0rKcFVXI~>fS4!_x<}{JmfCm z+cx*2;KFmD@QM{?MstsosN{u^N)FFGY@5uu_qpz3K(p@?TKZ!`)6as&KY^a!4nN;K z{rx$?*(X8eZy%#8?}Nnu{Rw`P{8G)gi3#0(EPq4SX2nY1#Rl#wb4{WbvZ9%1jmEb` z6Pe>|AeyriOG@W;Q1KYFfjA-h?6Guq-p9L+x%|3Paypf9coH1qM)f$_O ze1(mlWRUZV!zp#cJePBVji#XTd`IAh)`|6#P9Jq{SUE|(%D+0~!jql_s=rpdY^^!I z@v!oPoq^)hQcO7xIQRd%TGkfKmy&S$*52^4b?z;$m+Yj@H?5O|I3HeK)gb1K<`7wZr@9St+5OV9ITVmMA8>DdsN=ZxsK5ICX;H7*G!D(_ zyK_l!;{`~0_BC+Xf$lAr1h>9rNSJ=C?b`;`=Vwozk#wC{XB1oXYs)#N{-ttJS7jYH z%$t|GMlm7!Qprghrp;!)Ywg%>+GobvGd=jWuVjUkKsRWN#DHftGa8>u;G18^`U`?H z+(7=DIoTC0emK7Hub(TV;63pJ(_ZBp%|UKx^3iDg3&p<=TD@81y;Z2^_QdvW7w0#e zIUlR}!fE~=CvW2;?ayvrw60ody4in8`j?(HrjIUMLM!i2&!6xA<-u!@?W=$3tu%|- z!gXR>_#qP}w>@fU3-pf`246q73yTXceee$;`++p zHlE9l*FE%8iE!Mi_waCU?GKl2clpXU`{q8GyG3Qk8l^prCzl4lCteo@5u)|wXcL6 z4pT%+Zx7JI;~^STM05tn5!;5bTr#rN{k8UZbghg2sP? z#(#{)e~QNcfX07^#(#^(e~!j~fyRH2#{YQzgKYXH4c~47p+`ncOOH%IEB|2=Cb074 zQcBoLk!hy>%iZqvZZi{q2B{qp@hOWIp3G?c^JwYy+1F1um=cpc=BruEaw~g(?<`A4 z*!9yF1ZRkW;#0Cn3{8Ky*zGOX3*tQb?D9`X#YiymqsiCDpIYiJ(e67ZdSWZ*_dr<% zH2Hf%p9|kQPjGB0e;J(JWXio*sEJ8^+e`P3u!Byip?>~1)*Y|m)7<0P>3YyX=A=PR z#Byuhcg9zpc2~!n7~aUKxR!eC=chxGKKqTEm9CrW2ewvTpL}C;i%YXay3XANOy~H$ z6ACv>PjPQ8*B5@-C8D(a#<_4WdmZP=0S2F3n!o%1n5ua*?tGco{>WFC=PlYu7i8r?o9`J3AOZ|2hiLW&DP#&J^viS&Y_R7DS65IW)co8ebEQFM-BCjaL6j zqse!m)z_V9{G(|4kE8LAq4CAh%ojuB3#0MRgek~;iIW!SKEbex!OmJ!5>38gt0K+H73&{Kpm%TcX`66ig zlWs^|yqEUHcYlt2nBvT=kH*FCKKyw$+kL+3iiATZi~CGYNcL8CToi16394U?UAd6? z^{REGl)%fuTv(BOM z&!F)crEU0UHWoYXs+bYcq?TV*`#Z*h$B)f%qF&E$A4z%F1>7@2SDBs{+*Sxlf5$dX z?U3Ih|AnSpSjtBwGGB zyeKHbAoZf)w#5t#KT4~A-dZ;+z%uNj;I@SjekiX+k#_H5=T>3uyw4&gFR!A7k3x6R z>9+6Z1ShR!SjDj1=fZ-B>np|G&I?Zc1MM$psfQxRPZL`FbnOxUxl6jjWs$4&J?7U_ z4A;i+Tf|9!a%zZ8uD?9#vRuT~%KT||o~{co)|Ot<=n#4P_ELCK0H4D~_Skim|H7C3 zVJZCfQ|qtWW?dB<5th#vFC3gNKl`wncVj)HWcprN^>!O+H_B6Xwsatty>0 zQNnTN_1l{`PMk?wJVE|OSmSq>wHi^o+Zl{X-mxAm{y&%9YlltUe@z~>yk<1_AF$f9 zY}M^^f^#23+V=-nu3p~Ud0wzzfuSK@=R(Tv8538%Iiu^o@2%vLZ^iai#V_99ot~ND zw@=M-oAKIxLg&mj9dCGdL2yPqxINw!!^&RlwJFo4~d<=ej4$@6+z z~E8@RX_-28B%{DAse;4ykO`bDOrC(aN`t)1t)n=>}Lqus4B{ML2y4W z!zzXy_b+*(#jgt*-y{pwygz7s$<_rCCsa&5w=~(`P&T&mS3}d!&|A^Uo^e5NhXAPm z%JxP8&AkRz#XK@d<4<;I`VTq;=9-n96KpU6^*=d(Jwgkw7ij!vX#AdUpC(JoUKU); z2MW*C7oVcZ%jGsXOFVz)v?p}oqr}72|1NKsUpIduyYp(j*%AqcJd<;m+ih!=&v#uo z$3t}9uh#C$?t^>8cImq`9O;TY%;RRgZ*tiG2Ra_UTaP+4)=Hh-`73Xkpq_=4>m(C7 zKB4ypt?$t6Teszr>*0+T1b6C#(vQ%?pJ?(g(fAMcKKYa3-Qe9fr$o&#s<`7p_30es z@O+G>zG2?ujtbNBg6lx_rJhg{BcFE3GZATliGGm!;9zg`#)ro*2(~patYX-Ey09B9 z|J<5&(Pycuk=N$!Ce`nvA7_KskAb2LmY!kfCBXQgHD}23scGE*PCeM^xv)YzW=rp+ zrMLcObls6x@acK&nC857nQDS9_x*mP@hc^eW~B6c1ugzzXY#@9Ge%QygvJN0VFL-l z)T@FxNaj1C&CyTw)J?G3INNDio}}p$e`oQDzolMj%xm+W@N(Y#uDJK>XB@XZa&hV_ z?+FIGXFi%?CB<=k?zFO)i-Nsv3=BV5HiYYWM?b#BaL{|cu*Dw1uUEv^edFF!fz*C6 zy1Uk6sf~)`>c?A`s~T=%7eE`YU`FHXp}Ch4OZ6!N7o%fx-f!3c7`_=a8@4*76zVywnE4dn9Ttkz;ipHO|Oz*&%HaXAP z$|aUwEG{de`KNX0J5~EN2p2mBHy%FR>V6_vwdJVqbm^zPb0mLm3uxTt=rcjwZ^5o5 z77}`fz#yQ)z|dg8 zz_7rGfkD8Lf#HD<1H%J91_lApq7_g_$B=+522gDc{5;PbX9)vM4Tqt5-5Ln5;utAoAAwZ6SK|qFqVS@|3 zU}#`wWGG-{WJtKk!0_N41H*&!3=9j-FfcTnWnf^q%D}MUJp;pqj|>b4-ZC&K@G&wR zc+J2d@STAn;U@#b2hgOtIwQjY4JHPMTZ{}BbeI@EXfiQ0XfrWPuxDa0P+?-Y;KIak z!H|i;!I+8Rfin}sgiDMJ7nGP782FhO8l;#Q93+_-3KW?bHt;hs2$(W4EI7o-P$195 z(4fb}@Zk<4Lx3X_L%?N5h5}nAh5!R5h683y3>%!77!qul7{a%4GURRJWN6#Q$uM^t zC&SiloD2uHaWb6V#>sGF8z;k?ZJZ1Y+c_D;w{tQmZs%ms+0Myeww;r~aXTkN$aYSK z!tI<4joUdHCT{0sSh$^&VdHjAhTYpa8BTBKWVpSZli}@lPKNK>IT@ICa5C`h;A9Zr z!O5VogOfpP2PcE+4o(L99h?kaJ2)9qc5pHj?%-so+ri1uy@Qis#tu$~O*=Rl&hFr3 zc)o*^foUfv1OHA=2HBmQ4B9(687y~lG6d}8WQg6#$&kI1lc8cKCqvs#PKHT4IT_~f z4F3yEqwm zcXKjG@8)FC-_6P3u$z-1Xg4QA{BBN$+})fERl7MEdUta&EZoh>uzoiu!|vUj43~Fv zGThtE$?#`4Cj?4<|$69!`eZJ)8_( zdpH^9@8M)vw}+Eq=N?XmBYQX*uI}Mvc)W*`;nN;YhW~pw8F=?{GAQlkWH8*z$>6w` zlfiE`b z81`{8i0Eu08M^mzGR)t{$*^S~C&S5ooD4Vj zaWXvJ$I0+(A14FneohAI{hSOM`#Bk`_H#1$?dN1j+0V()yq}X{?tV^&&HFhS4({h< zxV)c};l+MVhTr=+8Tb!?PV;1BU}9iqU}0coU}Ios;9%fn;9}rr;9=lp;A7xt5MU5w z5MmH!5MdBy5MvN$kYJExkYbQ#kYSKzkYkW%P+(AGP-0MKP+?GIP-9SM&|uJH&|=VL z&|%PJ&|}bNFkmobFk&!fFkvudFk>)huwbxcuwt-guwk%euw$@iaA0s`aAI&~aA9y| zaAR<1@L=#{@M7?0@L}*}@MG|22w(_g2x16k2w@0i2xACmh+v3hh+>Flh+&9jh+~Ln zNMJ~0NMcB4NMT52NMlH6$Y981$YRK5$YIE3$YaQ7C}1dLC}JpPC}AjNC}SvRs9>mM zsA8yQs9~sOsAH&SXkch$Xkut)Xkln&Xk%z+=wRq%=wj$*=waw(=ws+-n7}ZRVG_e+ zhA9kF8KyBzXPCh-lVKLaY=$`u{spOdjy}dldY}`;5_23&D>8F36N@Tc)6ziandRh{ zq%mL@F2gRKi9;Bq9I`Fm7-S-p2~rJVx+In)G9>0eIM7qBg8kh>5MrfCAT{V>*pwnH zNJChQuqqQI=#rY2S`=CUI(n@bYNktSPHIUimLMo*NX&sqLY#--LxKsxcgxHvNi9O~ zgY!#^l2gI_%;LnPoK%oWnUM2EeDhOMb3pw30?<*Ukb{B{{IJxV{N&7%N`}N7h%F#r zL0KRVK$sw3L0MqIJg6lQhk&#|Ss+;m6Ql*o0tvdO=Hc+NdukrSzwW7d5PLwLaZk;I zm;mJ1=g2gnDJ8;NAoPbRe$eq|Vfg{j8wZthuKPNRYk0CJ!!GW3waX2`sf#kqv z0vbb2gvg;L9JnH=Qz2@=$p_F+m52C6)xk?uvqX-m@5zX21$v!8tw!!iJpRlAjj<*{2K^gro;B6XFSm z#2i>`fFlpi0r?Kb0R;k_4T>`u2U!u=YoMq~EiOhaN+CAEqYKIf846{BjDa!X;Rq23 zNGvS|m6J$3kOQFHoJ3HGh~OZk0!vd%Qz1bJDwZHhf>O&f^FX14%th!4F3B%oNX&sq zf;b4N(7Zxy2Eq~$L<>CiK)47Gg3}E|5aCrsih;@?k_%J-Y<)p$YKngv_~=Q7#GGX4 zaY4>G`NgS_1CWqJLG?F=Ahc*hQU*Sl3WX2$cQU%6;8U@j^YcnlD@s7hT~donit;N_ zL_kNGg5wC99FrmT2c;I5=BC2L+*3=Snu;OPAk#pCki(6ka!^6!LND1pwFFk`f!G)& z5t1M%v_M=?5=4|1AQ5KmXK_$!UP@{a_H3B!lb>Gz zI&%~e2QVu@hbci#cZPTvV^=vDu3hD1cyg7K;m1`@2EJ>Y z3`*BH87!`GGWcBMWQe)O$xv{OlcDVzC&P?uoD7?;aWWja#>sHy8YjbtYn%)$*Etzv zu5&WzT<2tPy3WZEbDfhR>pCYx*>z5auIro(E3R`gY`D(JaOgTG!?o+243DmJGQ7FY z$?)qsCj-X~P6nkLoD6n1I2i(Na55y^;AE(}!O1Y;1}DRc8=MULZb1BY>INsnjT@W{ zZ*Fih{JFu&z;~0ALFOhWgW63_2BVvt40bm;8QgAiGWgx(WQe%Q$&hxFlcD4$Cqvy$ zPKK_VoD5TLax%=h$;q(nCMUy&o16?gZgMgly2;6K>Lw?{rJI}#w{CJWJi5ur@aiTf z!oD6QaI2i(NaWX{R;$%p<#mSI! zi<6=37AHg9El!4xTbvA&ZgDcqxy8w_;ua^vrdym0dv0+u9J|HIaN!mw!>wDK3{P%x zGJLqj$?)eECj;AUP6mP7oD4FzITcSdZgVo! z+~#EHxy{Ki?=~mHCaByID1GlXC&QQ9oD58NI2nZQK=f(c;bgG7!^z-rhm#@Z4ktsw z9ZrV2JDdzt?r<_Jy2Ht^;SMLmzB`-@*Y0pKJiEim@aGOEgTP%*2D!VO3}$yZ83OJ? z%o$Bbqv?nm=_r^1+^B(^=*W=D;GCaZkXV!oX%U1oFtjj0&NO!gomlJ0z_1<4hg7Ky z45t`eQj<#4oj^z3GB8|WfOPzwK}YQ+C*}l0PiA}1;0n6p5M7u-n$fi)6IwkpFc>hp zW#*-T-NRrFX1iq;6_>bW=A?!*Ft~$7{8B5R0x67cMX9MinMp;7MU@Ok7!l1SXj_5d zD5jWa3d0E`QJ61IVu*RBFfcp@iGm#HoS%{kRm#ldo?7CQSPX4-F^GcrzWFJoIjN8^ zbYx%TQq%uqg zi)1EegYSW5V0g`hI3pW9SUH$Ii@~vyo>~O!+o&=7q$ZZ7qAO+4VFn%E2@S8;jKm^_$;{v*^#W3h(m>bp<|U_sosn9^aG4q02aCv4)az;o# zL^}gR6H7>HQEp~lVo53}1XGKP85r7GLUM{7L5J}&Fm!;}pya^N31YzxL1yRz@q(ep zO*2en2`Q??nh>Y4;B*wjHWuiqg3uEJ85nlLM8JWOp z-@(9e7@MeT1;Z_taA<&sn>1^h7YwG);VBPG)*uYD#=sQEDnf7XzFRI-4s$nW2v%J~6jAJsxZX!v%); z)S{xidQOks@A$xqH^Fl35{+F!~P zUz}H7P?VWhlE%O=hbg|SI1k2?WKISj=gGhz&77Q*npl)tRK&ob#+;T6>X)Ol4s3VopyjNzE%`Ua)I0k0tfjO_4<4g0v@y5*(U!Dd&S(l$Bz8n<5^wTULn^H;(7z7xc^C7i^XC7pbmVv>60r~WP z28JvK=lqbw;%wj4TyXx(V{pz7%>yN_Oz`>s3=Cq7pflsc5{ohu^GcjSNri#IjuBD; zxfSK-I{O5Bx-jH11beurmIN21CTAw*xaH@hq!tAvmSlu8uz*TwxBQ~ibnwm0;hA|U z`Q;3nAW>h)LDY^6R~Q3QQ?ub*hMSB5`NhzB2O&Bgd={){o?}W1WMG7022=!6C(VNL z+`(N;=fr~IaE5sZF~8DWm(;Ri28M-DF;EYdfngDp7f_T6s#!f!K{uZ>EQX4LOHYO+ zP#$F9VJV!KU%>319oN|Gafl?gq>F4XK2eJv$rzVLM zXn>#PI^lRrw!`t3Y|y#G0oU=IpG=YkqlyP*2z=e%TjD_{JPiy=w~jiB zx*;IIz)-=!z#wa&WZ-X*WRPyqZZN^%y1_34RzqP!1w%8#7{f-xDTap(&luh?d}PRE zBw{3Oq-f+}9Ay|lfSy}7-ceXxC!eZGC2 zeYgEA`{nlA><`;tvcGTt&i=POg97A?W-bG912qF<11AH2gE)h1gDQh*2Dc3YjS`JA zjS7rznV6VuF*|QP-|mq8ReJ^l$T`qo%^fW#Te{dBw)tw)X3GF-STR^IFff!D?lfdE zN;GCNsWX{rT5i^BZe!7Ixzh5IrJ_}!Rkf9(wYPP(^-}8;J4gE-(22_d3?L&JObyo< zx|&N_T3H5KhFk8oG_%UG+F*6r>Ywt*mf5*R?|x-(oi%rvSr>M@#W zwAg5!(M_W_MqiA68=W3!Uriqb>wTZh)fJvlDl1ZUSl}WQnkI7V% zc_zzEHkj-*Ib?F$LHO@5d#nzEZJnQEC@nL3$znFgB5nwgpth%Yc=aJn`}1AY@yi-vu$R3&5oFzHoIhY)9iuSbF*ga zsn(~gpIUR+1lW|=tgyLZGsia3?wVbMJ;MYB1{DSd20KF!!`FtVjUXH!tSp@@ zJuMkNK*TSazA*b>_T8+|rq!m`W{M5yM1Bzl28N{u8w~`_6wNfv49pk=7#TqOzXA5%TmZv$R zC2PIXcBAb>+vj#N_I~yZ28`hFi!tanIAkDbreRiYW^Ns6{lNO2%|6>;yH9qh_6!b; z3?2*&4B7^@2Imaq3=0g;87dgb8ao?!(_Y3YZGnL$)*x!o6Po^9Wy&? zcGK*s*;}(OW?42fZD-o80H1H|!Y-Ao@QWm>PaHay9v2l5Q$)_Rg%;{H%G3#ZrrF zmLgUb*2k>-Y!=vTvbkjQ$wtW5$hOFKlkFwjV|K6X85$TFY#10AY7F=c9Sj$n{4uRE z(=z{K{>q}>a+&2TOKB@Nt1hdDP%T~f}tDOtTpA#T>@ipT=#(bv5rsqtJ&6>^bnps$MTRgK^W*J~5Z@t5g!#)nAe*q)- z+<0w+{RWc_b4=EmyfO(el;<}vf{H2z4wDFz114)tP0Tbb zDlE=eBwI#VeXs&;IAdf0?Jb^S@XTO|(ORRwMn=X7#_7iS#*>ZL8(%PfY|LunXyR!S zXHpE#|BFplnQS-NZ}Qyay$O>kyQ!w>BhweA9%g=K=gh8{y)tVw?>3)mKHq$$`6ly2 z=I6|Bn}0WFw9vFLx3ITxvxv2rX|demxWyX_2g`QL<(8W*&sx5*RJ1a-^0A7wO1H|l zDz&P!YPagQnqjrjYL(Syt36gnt+W~ zpY?R>`PM6}H(KwqK5Tu)`l|Ik>*v-VtbbZ_+X&l8*|qHwZ9@G)OYYHYhQuHE1*F zH&|$}(qMzZ0fQ?BcMKjI$QpVY1{qE;++w)b@V+6Jk*QIjQL0g{QHjwMqq#;KjZPRn zGx}o0WGrEquEYvJ?Ev8%CwRmgs)#8tZj%9>pj%A5u zwPnBMV$0Q*n=DUQUbK8{`NNXeO4Z8SD#$9uO48cTdb0Iy>&w=+t>0RIwfOWPaUTiY+TUv0k$6ebTC8LlueFdQ>DXTWWE)UeZN zwvni@jjKo8vauZ64XM*mB!S*s9uk*!tVX*k;<++qT>G z+0L`wY`fd`knJVgyS5)~f7&wGS=$BL72CDiiQC)QyV!f%huUwme`C+^fsx@20|Uc+ zg9iqm3~UU&4TBA%44)XzFq&ty-RP3hJELz#e~pBU<%~UzV~h)oD~#)nCmAm`PBSSt z=`fjWve;yc$x)LFCfue%rt+pb(E2gjw8(U!=`PblrYB8rn?5#uW%|?9!>rwGhS^H9 zEoS@77|eyt)y(zGP0igbu2?*>@U@J$EV8_AX=LSM6=b!^`hc~vjiHT=jh9WRO|ng| z%`BT0HY~O!c9nKbcD;6!?dIEUvfFKU((b(7Rl7TO@9lorvDx$4i`mQC8`_83XW19n zH`=$`&#<3ozsY`&{XP3v_V4Zg*)uROG3;SrVBj(kG%z%kwKk7i$Sl!O#^mAK0|3kV?#?r2g6*$dc$tR zNrv+bml$p^ylnW;kkLrkNYY5b$k!;^DAB0IXtL27qfJITjXoMN8FLtm8_OB{8pj)F z8y6YZ8Fv^@GhSf4$#|dfE#qg#Z;U@0%b6IM*qAt*_?v{9q?#0(G?{dmOgEWla@OR& z$!n8OCjU%0OvOwUOpQ#lP0LN|OsAO6HeGJI)^w-oVbdq3uS{9YxXr}PWX&|qjLkyK zqRfiT+RPT4tu)(YcEs$m*-f*1W}nS|nlYJ+m@AuWnwy#1ntPgun#Y?rn0J`ZHeYVO z)_j-wLG!cbH_acLvsiFjC|Hz&p{HivAk*u1v+VZ&xyYTInU+G}Je=F?2HwGAuQmX1LLCpWzY1lZO8dd5uJkRE$iFtc;wE za*T?Ms*O60rWvg=+GBLp=$nzCv7E7rv8HjnajtQxaf|U3<5|Xwjn5cgGQMs6()gP( zmx+vt1vvD>OlnNJOeUDDG1+c%-{hIeCzHP>+@`9ghNc##9;R5xTCTUeWck4Iwx+S9kM!O^~lQBI>I{9I@`M2dZP6->pj-ztZ!LA zw0>*-*_z2l*+$dG$i~4Y$R@_7$mXfdYnu-?lD68m=C*dWUbX?Y$+j)FUAB{L7us&J z-D7*nR@^ShF2}CNZj#+}yOVae?Vj7cv-@SoU@vTMZf|SvW*=goVxMQ*&T7&%trwuL{+%tG$@ZCV!P}9)J(7`asFvhURu-9;h;UU8t zhK~(j8A=*y8<`u~8F?867$q4s8+95@GFo7?$!L$!Wuu=)!p0uP!NyU>oyN0`mm9A$ z-er8i_>%Ew+VtUT> zv*}M$CNlvuB{MxUC$n&~e6x15iDom+mYS_MJ7IR&?7rD^Gg)(eb8B-ab3gMC^8)i~ z^F`(>&9|B#Fh6Jh$o!2tlZBFnzD0&bk;Mv&-4=%}PFXy(V6qgm)U-6Tw6Kh|EU>Jw zthbc4Qnk{t@~{f93b$&qnqsxUYPr=7t4~&J){@qW)*9Bn)(O@b*7?@FHlj8%HWoGx zHtsfQHqADjHvKjyZEo8muXjQ*KIe&ZoQq8eV~1$eS&?KeYO2u`^EMv?Eir3KnErU4n_tB zP6K`eB?EHxw5YBb;IfYC9dGe(@o;>NPZs>XW8rp8{zWyUqet;Um$*BI|G z-fw)~_@?n2<4?vvjCD-xOuS42O=3-wO(vR5H(6k^&Sa0tF_Rl6k4@g2d^0gLbvE@k z4KqzL%`ly5deHQ^=_S(#rc7o$W-4a7X3l2OX6a^mW^HCYW)sbpo9#3^YIer#iPZd7l?Y|LpKV{C1jV!Fg^joB8n5{oGoTP&_ve6bL*G_e%3GPLrs zO1HXVb;s(7Rl9Y+^*3u1n?<(Db_I5=cC+jl7#Iqe!2PBj#wU$$88=%q*fiNp12xzi zn85u8C8G&O7mav~t4$}GN`m`Z%gh|iJ`h6POEJD$=_a!ra%TuswVtIfR4RV{v59JDmF zn`x(H?`L0RKh1uv{XzSa_8075fWmYGq<+pZC^Bd;m}D@^V4uNJg9f9+Mh}f%8htRz zF>WyKFzz>AW4y(9xA9eD9TQU%TT?I7Y}3i6vrQM7ZZth%dc*XA>2uQzvnsO&vt4Fq z&90m2m|L0qnunXuFkfK4+B-rDSDj zWohMLm2FjQRb|y{wbJUgm9%xV^=@lvn_QbEHfwFJ*gUn7wGFk6vn{vnuuZjVv^#I7 zZGYaL;Q$i@=ms=916Q*ovkbE$vkJ31vrA@1<`(8o<{svL=1Jxm=0)Ze=5^+i%x9P{ zGGAf7&is)13G++lH_Y#ue=`4P&SAl4A!3ncxzzH8Wq{ROs}SoJ>n`gV)(@;7*|6Jg zwB2ue(>C0$$gaUI*Ph`5B#u)IiVQjpI1H5x4GaSf+YEJ#Y)zJ$?>GNwZf8+qG0EbE z1-I1{tG(9yY+daZ+TFL4viGu|01E2|ko22mu*zVYL5g9mVXg5;V|xDVGw6fVKB#F8@T-aW{_mqVwhu8V#H)DV60?pVC-ZZV*Jv$ z*5sy1zG*qMd^9j~G7B-AXm-s^*kX$18p~~#?<~`-{#fx@>sk9*SK3I}>e&9Y?X~-F zCupw+>WwonFffC|($-+2L8r-E)32s(W*KJJ%&N>~EL1FvEL<#tEK)3rELtqmEh{aj zSZ=XAX8FkSizSzi5;uGxV@3R zi+#9#rhSwB6#I`L{|PXI$C)M?95cu*6-&^Kc?YFvU z4+D#kX(&BpVMml|(27BKNQnQL;|Jhwm10$9HN|R~)g`O%R!Y{c)*q~W?HCf6 z83Y&@7`n{1T5JT}_*THo5W>K~&|oZMqGz_l?3CFTGd6P-b2IZK^GW81%%7NlGZ(Q? zvv9FEV9{c^$a0J2CCew4f>xKTep{(nn_7oiueQmy&9W1;H?vQ)Z?d0d|Hz)9ftg_n z0|Nt(!Ak>A!&t*2!}*4r4ULS#jjF(H`~^l!jkX%?GdgT^+31eZL!*yIzl{DHse$V% z2jf8FNaHwTU6TtYH%#uEyfXP~!fMK6nrB*OT5Gz~)XFT(tir6xtkZ0(*>SV$X7|mW znQ@wnS$JB+TBKU!Sp2dOvXrt^v~;rcw@k3iv23yIv78L@=LBYk90mr4ohCMBx6PiI zeKV6aS2fo$4>FH7&o-|$Z#C~R-(;R>(PXjOVzb3AiwhP^mJ*f<(8zW6czc%NvFtMn#=(Bue`OWg5C99Q)m8zAsRkT%) zm9Djf?J?WMcKhvw>=`yNgX>WlgX0FyMjwn*O=HaK%xkO;TlHAi*fiU1wYzM0*N(yd z4Jch5UG8L??x=fJjNo%a>f?M4#sW9bBxy;Z#Uj&e8TvH zvA&79iJeKLNr6d)NxjJ$lS3xqrY)vDrjt!inBFrzZ1&#lyV*Z8C3AOkfAcW&Lh}yu z3Fgzyvn(cB?6o**amM1F#WRby7R;6gmKK)wma&#imR*(;Ew5U>vHW8B+tS-Q-@4qo z&U&HsM(dr{2dvLq-?x5l{mz=lM#e_PM%%{6Cd4M%rpRWl%~G2+Hv4Rj*_^exWc$tb zpDnAMtevKvp`C@Dn7xd>lD(t7r+t8ZmVK3dlYOWCO#7wwYwfq#GhAQ>4bL*T8%7(d z8EG3u8Pym~G~qp_s1oUy%efpNF-WaC-JJB{}l-!#5w{L}cKv9yVzNxVt9 zNxey%$$XPdCTC5qn%pt@VB%!zY!+meWY%dm+3dL4409QaWQ%f(dW$xTX%_1&wpr}8 zIBW6H;-$q0ix{gMt5U00t6r-qRzcRW)|J++)+?>ITA#GOYdzJb$#%KzVcW~Lzip-L zjO{$^g6vZ5X4>ttV|c*Kkix*gaLM?d@fYJi#>^(q%|4oaH)ArFGuJZrGmkRQGjB3q zXui?>pt+L8Y|GV_TP%-Qp0T`anQmQV-Df?^dY|wDIptSxPVZ6a*aZRXo7vDs#` z8x(FfPi$V=+_h);zziDhW|(TQ*g)8@+c4JXve7!@8^(`~Ul@Nh{%$N|qG+OJVr}AJ z;%5?S(qJ;hWUGm-X{2e6X@O~(X_aZCX`kt2(>bO)OpltLGQDj2!t|Xfvl*wEjG3XC zmsyNik=bdp$7bKmewi_tvzT+6OPI@=tC?GxhnuIFmzvj_x0vrUzi58b{DJug3nSZ0 zwhRm`44@{LfPtF9T7xM@kBnv+^O{^VNi{V#3o(Cf{@MJWIgdrMMX5!DMVG}?iv<>| zEp}RPSO!|}wPO%qVE~PVvl@IdbhFm7zXU4R6<8Q*7#JAX3=9od8tySXX?Vdf$tcID z-DrvtgNeC`k4d^otH}bB%_av-?wK^1_L$BvU1GYybdTu?)61ryR%EgHGK&Wm-z-=x z`7F;_KCt{_scDs9y~ui#^r@R9F#w(0B8{aUN zG|@2$HJN0x(&V-Yzp1RLj;V>MwW+IVoN2e|Ow*U9QD)1{u9`nH|6#6gQD!;Ca=Ybz z%VU=BEt#!6tmatlvbtuaY^`f;W$j=+*?O+^YU|V15;n><9yV<@Gi?spFxpDkdfC?5 z_Snw0U2MC`c8l#<+h4XEb`f@a?5^281#JKhU||3qDIjd1VDQvH*ig&R$k5U-!*I3X zM?*>DaN~I6i6$#e_L>|uIb(9g^oi*k)6b^rW>#iSW}aqYW{GB*W(8)C%zm0Nnsb<& zS-4sFS%g|7SY}!lSyo$GTculnw`Q>6v=Oplurs#{wo9-}x68F_vg@=vZzpVTYVTve z%l?r4P5XzC_HqIX!wt|{4+BL5a|3UKV1pG{5$L-&N@<0I#cuZ2zAlab6pxmI=pwnQr!6k!d2JZ~M8n7Bl8Y&uU7&;oN z8(SJX8haQoG~Q^u)A)e#DdS7Vw~QYdo0_6#F?a-*nGA5Ci4g8b`~iX#TL~TO&0wY z3oH&#v$Zr!^7|t*- zFvJJDHOn;jynOT@Qn7Nx>GK0)5vO`DI-OWubtSwGk zT(Wp=amezYC9jpJm5h~|Rg!g)b(M9a^+jtP8yg!J8*iHlHk)h?*_^VuX!FyS$IjT! z%P!ci%5H<*PP>bC5A1mDiO*2DtTW|{|+C0g8f%!`F)8>j6 zx)#+ zH<)O!$Y6uP4uc~Grwx7@6c{csTx+<`@V}vxQL<63(OjeLMmLSV7>ODy8*3Yz8`~Kt z7?*=fKhUhqCgY>VXN|8wR{$uPXqlLq*qS7o6q?kVw3|#enPqavV1Cs6viWWEN9J4>LKdMGk1V^bAZ0+8^(5<= z)*G!4TA#GOU@c{%WTR!1Xj5df(Pp>JRhzpuPi(%~sMyZ8eQ5jAc7pv3P?|cx!Z3q@ zf#H>bgJH7abmMu(*NwGJUYUSq9z{$QOw~;MnH8B`Hv4MkXTI6|g!vWoTjr0= zf0&C}$XOU##8@O+v|4Pncxu68X=2%Lxz+NtC6|?|m5)`aRj1WdD<*4u>lo_|*6cPS zHdQvSZ2sDq+os#ju-$Ka&GxOWnB6?PgLW_NB}TZ46{nJYPXtWwb*Kh)hVlcR^O}`t);DPto^Kmts|`St!u2itoyC!SZ}mGWPRHD zoi(Qozm1lSfsLDuuT82=zRgUV4K}B2uGoCF;kVVd4YVz{ooKtFYVsjiP%foJKDS3hufFfx7qjG&$3@?zuJDQ z{eJt)_BZVr9o%M1@1o;SQ|c*ju9 z$k@o zw#00ad9+23#U{(smflv8R?Dpz7+Aq`;p+^wP0pL?nkSmKS@2n{v6^N*%Wes1yikA@ z+}B!Qu*vwI@hX#cv(;wa<_FDBnFm>9S@hXmwo|eXwePoI4N3zFtl+kMi@^-TgNDpT zU(C48LF3UgEazM9u-tEX(=yGf({`@y8rxI0S8Q+FKDYgB`_GogPSj4*&dDy^F5NEA zuF7sDxTZg5cgF6woszwkeXxCW7Hd!`BHdQuFHeEK8Y-ZUkvRP%b$z~V0{Jvy!%jS{IE1OR?zigOn zxom}OrEHaKwQP-St!$lay=;SQqimDF^KMnPO}1UOlWb?%F0x%^yUF&5t*D)fouyr@ zU7Fn_yLEO)K;h%S3Ldv`FmN$wFlaG2U~t5M!H~t!!O+F#* z@P*+U!w-f(4F4E17_k^}81Wbh7>O837%eb*VZ;!?3XVsR865^a1``aX7|bx3W3a$r ziNOkkH3l0DwixU%*aJ5Iguxku3kFvVZW!D#cwq3v;05S>t_iH*>!ln_Jxl{kBTN%a zGfWFiD@+?qJ4`2-&M;kIy25mW=?>EarYB4q`u$*JLz;cP@3d=Q? z8!We2?y%frdBF0B}Jk|o%BGwYtGS&*#D%Kj-I@Si(Ce{|#Hr5W- zF4i8_KGp%&A=VMrG1dvzDb^X*Io1W%CDs+zHP#K*E!G{@J=PPfr&!Oho@2ehdWrQ4 z>owLJthZS2u-;>R!1{>w3F|Y~7p$*X->|-8{lNN(^$Y7a)*q}H7#J3?GJw`ZS=iaw zIoP?_dD!{b1%T4%0akEX)L_?PH^FX(-2%H6b{p(=*d4GtVRr#Mi~PdwgWV51276G8 zOu}BlUc=tN-ooC&-ork?KEgi1KEuAizQVr2zQZ0=3oWo;VZXtC2e<~lV1L8@f&B~n z5B5Lo87{Dbrr#JC3^)t~3?vK`3^WW33@i*B3_J`1!1Zy4L4iSqL4!eu!32XD1`7;U zfa~T11}6+I7~C*;VDQ4=1GuHcVJKiIVW?oJVQ64zVd!A!VHjW-VVGc;VOU@YT8-9W zIKgm+;R3@Ih8qlb7#=V@VR*sthT#Ll7vTKGV8mf0U?gFrV5DJWU}RzBVB}#G0Pf>t z7!?>*7&RDm7)>ymVYI+#h0zA19YzO?P8eMUvkbEWvkJ2Y zvktQfW;4tdn5{6|V79~T0J!ac!|VaLZTtgV0}Gf-m@AlTm>ZZ|m_z1&BFq!aGt3Lj zE5Nht6TovLE6g{T?=U}Le!~2M`3>_2<}b`YfY+sPSO{21SSVO%SQuDXSU6aCSOi!^ zSR`0vSQJ=PSTtC4SWK{(VZrc#m0=AN1A~K+i;;(sk5Pb8h*5-5j8TG7icyA9j!}V8 ziBW}7jZuS9i&2MBkI@99DMmAl<`^w7T4J=qXpPYZqb)`|jP@8EFgjv%!sv|A1*0oQ zH;nEWJurG=^up+k(Fdb1Mn8=H7%>>L7;_l&7z-GS7)uz-7%Ld77;6~o7#kRy7+V~$pn)rCNoUtm@F_^VzR&T@ z=@QcwrfW<$m~JuMVYjF!)%V(0<$G%E6moIZ7|zn zw!>_X*#Wa7W+%+fm|ZZtVs^vqj@bjVCuT3q-k5zb`(pOP><@TUj>DYCT)#;EO?mVTxgfVUA&e zVToadVU1yfVT)mhVUOVi!zqRb43FSwD}2GyT97ePFj6tnFw!wHFfuW+FtRa1&Og*l z`?N~8_|hxBw1uyYf-lY$%vH=a%yrBS%uUQK%x%ma%w5bq%zexQ%tOp0%wx=L>(HEeZk7uYVbU15t_s`c1Uu%BW-!+wta0{bQQE9}?UZ?NBDzr%iy z{Q>(U_9yJm*k7=}Vt>Q_j{O7sC-yJw-`Ib!|6>0Gw4x_~9X$WcV8CL)VZdV`U?5^3 zVIX6GSvDfqg$xV~4>-Yd7d&v)3=9k(IKlI^Fq5de5oTnXCc^+)wF>e(3y5G~5NOEu zhcZC|5cz*1pm`_|f5MfP?7JWa6hq{XO2gy}uC`=@)(t?V!EwmMP^<`(hlxY<9ae*h z3tVf-HfMy%GB7~ozv#o{L3 z8*=#ySSv*Sdp1md!t<7F4zLV_fXF-L!Q>Y_Z^_n%NP$U+{8hO8h375V!eAK)0g<0j z0Mq~Bc}un+L<&qo`3X^wu(UJ|j zyBwqhBEPi~CNJ;`oBqkwFnNPlE!pWHjZh5Hf3g-PzW}Q|a|29X;B`xO4;xf7JieW} zVDbw-wq!dY#V5r4k9{!t51(7I_aU@H)1mbwnEZw>*xWBX1tx#tOH1}E4E-t7Ve$vQ zVv|2G3nsteTT3?VE+~*O5ckcT3zPrwttA^&UxMU77$U!Y0Ze|w_m=DkkOUM%|Y>_Pz=$}y&5k6vnAUPDhHw< z@^j(x3x2j_yMrX47$UE~2B!bT&z5Z1T}~h+5c!jEd4XTp;zxJ`O#g*nE!mwQjZh5H z-@6GWpYXdSdkItyL_y?Lx54BE{ zElABP$t=w+D9TsRO;^zMH&W0oE=jRX&nvaGWMI_O)7R6}&&|wBFV`(MGto^hD$$4H zl$;#BWCs0`+yeci(#)Kc6eMNFdPaH%5MljHGYd1YUa%>~M!FaR$wi&BZY~Dy)>^FeBzHnW?l&c6ALStVq!1O$S*2UK$pzP&r63W zc@lFEWq1|}AEusEu2Mh-Y1>=YK3ct!>W)_B(lXV-ubPk+DoAXjJq zAQy%J<~99i_?NVgG zz^n`Au&}ul88R^IfjJy(E=5KR%=%ys51UJoF$1#!m?OaEQe?)!YzXFvu(=eOGcX&0 zITCDcIr)ht!HH$549v#t+gTYHWY~gJ)7^_1m`%VcdO%#aVg_bYFn0oo>srjfYzF2| z0dZZ58JNw%+!<`HDVYq+mSD~tHrL`z24*WTX91gQQUwFEHJG!6%{8Thf!PMkS;6L- zT*1I>3+Ak0b4{#ZV73EuHn6!S6)-T{gE?E+Tr&$8m>s~J9UyC+iy4?5!Q4G;uFx=Y z0`m{BxfT~NFgt@eM?h+Wiy4?*z}ypT;4@=WQd5Fb(?O?U7Zo!wyRu(mWnehNz!~o8 z=j8A2!@!#NmVtqR(|lNa zvV$2U$-vCU2vW)%0O1udCa^Ftu&}tYFfcHCIQqHxxH2%;FoM-1WeWe$5Kli>2IhrK z{VWU&Tp%y5Wnp082BmFoP%`EgXJTLgvly5IuxMPubOLNoDGMmOx%v1zhIsn9#|Jxx zxyCyNxjHfwFw3$pXN4x+qWqk2aPE-eQ3*C!WIGn6 zCNeOqf*mQt=3HdpS5N_RRw@It8dzx#1J6cg1_n@0;04{8VE2IIGdbHSu{f21`4!kG7Elx?XZvL4W|lB8zXpqOumzVU z!A=)UVqks)7UdBHJDbh1C@Hf9baG;7acWUOekSO6Mh51OU^OCa!KpcE49uUvj*wtr zVF7u78R|IZ&tU&B2f+AWcvIOynZS*mfq^-|)7R16H9o{AINsUO$H&Rh*_(mcQnDSa zqL-b4L1+;>G^ulgJPk?oEG#S785o2?8H0&~B?WRx022=jIMYJ8EG%c(85l%FOA^za z{XP9WL!2CgT^U%|r~YSWU=TwH#ruZ(gm{K{1i3o8xPrFeh=(}_x%!3rGO%zkFiqxS zU=RxniFfr42#JI+{X%_w7#KlkRS#Q5X;3gIKVN)*@J--#B&V_@(*I*0x`km8aId)<{0GZ=oiAk1LB1GdHeZ? z`!Vo>I4-Wvp1zJg416Gtry+v?hz|8MWDtZfj2MI<3=;-n5W~}gK?FpHdRj1uf*78D zAq-+5Mkt6S4q}1JM+p$iBgi#4)F*^N62t+OcTylmu%nx+V^EM|B!e`F>kMJbfY_h| zn_OJoJpEi<7-T^LJ^>(q%0ZanAhtY+4Xy1}Kx|LH5O7(l3gUoV0p_WJcy69Pt|6Yj zt_%mjLGR?_@5FEr%nS|*a&`1&I0WVR2RXXCG8~5TKvJ$Q@%~O;uFfG0N1&qqK?t#< zU@?$+FjdFEBF=6M#~}>x*>NYp>@e4$U{8NPSC@FGttY|4pcsq?8Nu)$?58kS=MeuO zh6V+Y%OPRX0Cjg{kgFR*LjyRe1i1#g28Fr0Ff=qkl8ld!tGlBQ!~g%_l;a8E`Z@-C zyShM44v7qK1qm?xmuKLN4+wJ$W8f4&#?AoZc!D?*psXPw#=yY9!a4UXD51v3mm-~& zm%_jx77sp{5qx%DW?ni2BeFnh3Ih{^BuGE!{Iy&R3{vs&pwkl5ic`u#)dABz7ErCm ztk2EBAPp_Op<*&csU-|hHiJ|==oI-P(4m2;DXtaC8Hsu6sSHd{n87t)K1g>+Vo^Fs z#}j5SH!Lxy6t04Sg{736fk76e8pSB+(Xt2=PeM#Q%gw+b2img1bP{5mYlSn^PKXLQ zP}hP9!e)?<4{>#3Q1B~(9u*&wn#92TjqN2j0|PS)3&<=*BHD1)S!TX+~4l%c`Gr3^L{5-MC^c?Ok& zqSW|gaO5#C+JOo>&?qEm0T1JxTRaR5s$2{V42%vSCdjvH0s;-$YlImXPVg`=s56x? zFmW_6Xh;b(WFHlV3KWCV2@9w^(~Nfx3W*05i42V1aJGY?5d)|->mbko9^GS{^N62; zK?`(gHKTVL3j+hwL?U;vGH=qmCsFo1@(^u%}=81$=H)s%S$WCKmU~mT61`dcWP(ZYUrcNdcHe@?8Ffjb&WneIb96Xwum%_l< z3sSL^fq}tjfnY=SGhqe>jRS%W+3X_F;3)$+)q{tD;fi2Gwgt!sQ!V)z7<9{c7(nOn zFz97~TnNewFa=yHx(VD+$w08fjC!F)GZ1U=eFouJKBpDeP4D(WpOHxx97$ZQ505lwIdYPMn;gmo_ zHfTtXG5i4^1B2NQE`$*C4>nz4ZU%-5Mg|6Rm^uq3ZU%-KkUg805Y+(2xKBC;9i0Z0tK8U zDBxfUpaBP#gan-NM}day7Jj7QG7cAP$X)^ynaIGV&Q!v}Xr#_m!ofU|gN;E=PpBc= zNQ8l57e51o6;lZavoNUH3qb<;98@QxKZ8aDR3%&$1A|I@yh~1wZ(?Sib5IEQ5Y5s8 z2FCTE70Vo1MPBE$yZpgkY!oZ-`Ck*k3KblfQm{PU%P!)w}D&U5x9fP`P zGENnDp$^)LONGWys4d{q4-#~c^a64&gDsZ$UWg$ED+2{Y8nPi}ZGsT23|t6G1n@F& zAt(*N%fN-8B)~M0L(N#EAsbX|h6yn+s51sIgAy)dAUMSud5Sb-KL+hRvWt%|D9TTc zPb?`(OwIu1Z9P!lW@ToW(4K7{AD@?4l3A7-UtE${R8m?1qDxX4I2X1D+Fp+9~NR@a6qU@$;ru0%*+E-?Zx?d44g|IgUkU91@SE4Vqo|z#K7PP zGO{8wK9PY@?S&B7f{M)eDh5V%5RV5`XGjUdlqG|dY48g}lqG|dX+n7^m3i?cImPjy z<9g#k=Q)G!Z((562^D5waLQ%}>wpx=NvY|Xc?^sOphDR`9(q7DxSTcw3xP+u;u8xB z;=#j9jK-h)nasdw4RSauGtYz0Y!~Rk%iP<+y=YKv$9)b|Bf7??=7BO}d;zqx z!nqDqq=E{5ZV-dPH9jR3Rlx?3IH*E^C~yNGh|Rr?5mahJgxup3;YVR}wtqp2kG{J5*PzWwQF8UQ6;zo#=vOql9Pkr!*qgjCAv`Mr9f{6 z570^A$)%t}*1=AXPtMQJ&P-+C$z(Xp2I{xIV`c!IluXOf&%_c)TA5W)KbP`GRQ+238Oa>iL3bNY59< z0`;31I6y2!&lkjl_IyE1NY59HP5DVV(1#!SVUl0SS=L_P(dcGhwO3xQ00PXog zn2???hz;xcg4pn$FNgzj1*GQ-;vw~XL0oV*^B@C=3GIU(f^uLzUxXB*mwN=R1|fD7 zECwsR5C`7#1#z5UJzo$9x#tVwL%X`5 zo-Yy?)X@d^d_iK!Jzo|`&zDvF5F-NvH>6&Glp73;ioJ{s44^!}3DgdoGm({nfhVmr zFBvMsG?9T9q7+))D1%fmP0WCbg6kU6h2}g4=_j|-%P~7uDP067#P?QH5Z5pskuNbP|XFV zO&FL#G^pkR(-sV@AR1J2foMq01!959Jq8XC3sG}{c+i>)#DvsbAQrsl0&(Cq7l;F| zxj-CH%>|;tH5Y_o#2^G=m@o)~7@(R9M1yNC5CdFuff%4VgFzg`g4A3f7QE&Halkbf zh=Ejdfw-`m3&cjLxj+KYnhU~&)LbAotmXo-;WZbC19AnV<^u7MYAz5LRMRjV1jhor z<^qWahrnts2oHVC79xr|W(yJnnTM#kKqBCp3(SDlTp%`(bNE)WM^ zbAdSUnhV51uDL*bq?!wf3$M9AV#qZYC#WilFDNNuVC0?zo{pOVnvUa&k59>uPtVCu zO3aB*DakJ?W?&QnWqHsM#f)>#fF}A17#PJs3|8g^POaGtEG(cTjiM1WzgEn^sIcH_ zOST)hBG3R;1bGD|AoG+!<3xLy89?oMMr9D^DKi5D@9C>8*)v!f82Fe<7+9G>b}}&V z!+Hj$AFj4!gO;u^&hcVpU=ZNB){=b*w7`WM)ae3`AcMN9Mxa85l{sKid$u6RRe7uo z3_=XT@$sNx@OU53;E?!u21cG_RtAuuONf6ET#y$eC<3j=SVO?YmFQORn3NBwoMy-e zbvkkS~$0+q&K+Ju1_M1x9WFm1uW3Zg-!F^Gng#vm3bFEem}ScuXX#DkW`ASR?V z2C?9!F^B^%jX@lEX$<0kN@EZWE{!1!BL*P|!-PQ?!~m7XAR1g6gBak_7{maTgAC#z z7Nj%=vEZdKhyyN-K@6nQ7{rB@#vnFIX$%s8mc|e!q%;PxVWlyM4KIyB9FQv@r7?(y zR2qZ0pwg4!AOnaAFO4A_SZNI5p_j%GQPk2HBnC1s9y-r<3~Vg8GzLjQZeKb97Q|8- zgOq?`5LOz4`0&yg#DSN_AP&4V262!}V-O#yG)CgWOJk52a%s$#44(g(y9ksVG3Low z(C5jJ1;F!U>|p)#L8+Mo#}FMe??q4n&z!TMGn*4+52iwJGnkq0Cs}ym6d^km3f6zYc}Tz2GIH=*!W;sa&k^lW(jOykC_LeatWx$(B%ZRem~Q` zJWVf-FNR#8PQ?-xw(vcdb#M&hAhlOv3yRPd8!)q!fyzWIE8Cd%a40Y_FtDPoY-8HX zu^F_o4IvC!7{#;?EY8AK4Qk5o=O|!gVBkO~f~{s_I=~?gTGqmfv6_wPAlLu_gdXJ8 zY)pqZWZ59A**K8au`y}0FK1?8U`1KS#-zgzaUy6P8$$$Ht@w=5Vlr*0C|^ zgE>5`pml6a24Ic=D`*`XlOdQR!U|f)#$*KMNU$Q-u`wC5p8~C8V}-0^V=@7&=mBxv ziW!(p!Q2TTu4^#^lNp#h1;lkJW?(W0b7!!+rercOS%NupSV8O9n5@8@1+1WTY)sZ* z&JtG8IyNR7FlPlTXdN4qEts>06||0x$qvlfzzSN&#$*rXY+(hhV`Fjvb9R8NbuMOL zas+etutL|dF*$+x2UtPt*qEHboFgE$!Nm+rE@18nR?Ky5Os?!tA?w({3)h&dY(WEa zkcDf^HJ~k2u0Fx_GVCkVD~P};oBr~)cU8Mrx^?lOX!x2$k=_mI`y zhpOX=_i+qzca8V-3vqRK4PxM6y1{swg@J+BiG_iIuatr50oXRaz|zDNh;@$`4MELM zE>wL?kHNOF#A8|QRlp?6z6(@bf)X-pRU4BWI35^SLCeRWtJ;|4!D1||uvKkL3Sa>a zR^(M}Op0JZ9*7`(ts0XOSXh7+v^Wd4EIGYrq|`tLzL6;?VgNMw4&M44^Xy86=7;i$T*r42-5ATbU*XNEDG0ilQK?3HS%wi7EVvP(*(d#YQ z1{@HZ7!4RCRj;>XyFmG@%nN+mvl%4queW4JLd00u1Uow#8fqA1-LJP~tARFa@Pm8? zG7g-I7#ZY1)=Rht$HQwnXk;_0g3<~rbHmj3Y>+%CbEa05z+}}xNs^VhVG=|Zt{XhZ zl?v+3YTV!eHGx2mk_V+M1*AxTc}xf78dl~vPOaIP((%dpxdl0?xv6<242-%El^>j1 zvlSDQ@{39sSREJ{R)dq{Tn?JgdX?l97nc@Lv9Sc(1(?G|u(8BknweKpP*N0M!oW0- z5j0IoM#q$eyix_9+=lxFIe8_mf!6L8h}omTa@W0htL~k&44@mek(N1tCfz~zf!2X-1dW%8l!AusCo+gMfN2(yZZORuIt^5} zEM{h45W9H2B^$J6a3c!?gE&a~3Wxzx{{qAS8SsaNfk6VMP7anZcG z0D7z4NT$&?39*nfUA_YhATDT}n&BXr2_N?ci6dqqAw2YPZ-^-BxHm`)WFBJN8zcfA_XabdvydQm z80O9qkT56)VdLH)K78C8#DR}{gE;VUZx9E0+#AG48uv!x!pFTqV#wp(?C5JV7==OQ z9Vi=v+7XO%Ro(;<%{5kLfobj84CbKKsSJADG_SJ?ic?Ed@^!)MEU8%X!Hz`%b%~kc zljF-0<8v~LOBk5M9)YgVVTq4VD$UF($;^YxfDVRWfz1xWmCJ(8=w=0NpN=nKV6J9V z09Qfm@a@u>c_j=ike%7Ah$SA(s~HVI3bD>6vamq*XM?q(@6~2w0lNdK)5d~r$2JT4 zj%{`pCh!m?OVwgfrwhEbmZjPg#D;XzSZew}E`kq>2SAk9e*|^$Shj%_`as1RKw?bL zUK~ru7O)CQP!Ea)bw4f(@_t+vocnQ^z}-o3=4Ukrxq>O!Gs-nSgn@N(0BHRuq-)3a z24oRuysxXTe^6w+lVh-_bG)aYn}3imc=slQ44bO}s4>X}+8_z-Uoo(`3FI?@hD9B7 za`KZCL0iE=(hO|wU~v{Mgm^$veo1O_2?Lvl0BBy6g9|j+m!AjfbuqAc3M4WyFz|r- zd?l$2Y+hg`0$gxC-e3U{t`N{BdNv<0PlACJr(@ZC1!_QBe?b8o4VvF?0xgVT;ALS; z6Pw7)z`z%fQCXasoR|amNV*uvReWKYMJ1()IS^N6fW_cF)nHd=@IF=#&<@BT1`W0p zv8AAW$9{>qsSIqXV&JoRxO_8 z29OwXi$N$pGe4;`jX{A^N}mI?iU(B3b4u5MIz+3{5spvG%t>Y7ln3zygyTWIJ&>WC3LpUy;rOJ|wBpPv22Mo~UqU#( zB)1?f4^-fADuIlXVPFD94FjhNC|8JZFj^;p+>)4*0v<@P0TpTt!X=P>rHr;9E(-$_ zY>Ne?1pwJ;5uaI-nj2qc$iQf4&B4GR!o%pc17uWjWiA7wJ4hqK91jqeMHu9fVg^P} z5RU_|sYVQpUTqLleS|p~7=&{Z(=(F|85n&*dZAn+21Y*+mqoY?x`Ut5AH>IHbeRzY zW568_1_sg1pj*-yR~CUx&d*5!Z5smDHH@o4`Wb|aQVPIru1UW$xG*A&=ng^<^=pzv zsW~Z$C5g!V{N#980?>shDl>}D0C`6bY?ova1EW6Ue9+Ej$$SRJct%jSTS_u7wH&myhns;x0ld_1jc44M!%ET92LkQ`Gn1B2qi8!g#uKqu0%u~>35FeriAZpyidMcMJismY+W z2skbilX6lS7`HICa5FHdfWnJ`aSJOG1A}T31LHPOWT|E_Fm7MU!oZ-K$-uY+l+PH{ zYB?DgHr!~*_GbcZag5<*U{IgR$-ofI%D|w$h?9X~Cy23*lY!wQD+7bZE>6&Fk&DI= zFzujug_D6nlZ}Bv%Z{6YVdssO>;_Pf@G&j}?K+O(W?=ASV_?t*32J0;gSBcFax*Zj zXJcT{1a0p9$;QAS&vvsVdz&BwgA5NOc$mr<7!>txwq!pMWMI&Vx!IDqJfQHB-*BrXdo>pWLm@*sQ&V6mrI>;79wTVaH7E@{0Hpy? z@^}bN9`L;U2$Yo>^zm#|JI=^(yCwSwIMMV8FfbUDCqlOQF)*G4=Xh3Tk!kJOhPlD1 z$;Awer@>oBnmSwz3{LC} z3>vmvkc8vQ#lTR;&cL9V#KpjH0K_QdVqo~j&cI;Id#5EEbW+DDJ_ZKO8ZHI~5e^0h zZP4l{jdqA`6Hq!gxzmyj+H1g=&ZrJb()JwCL>>%cfRcR%NFPXvDJZ3zf|5BnjaPFp zFzC75X~_oVEd|CPNGfCuWHbTIJ}_v3Oc%Y|lKlhZsU3`3pxwqG8~Q;8gR;?L5Cdex zVUP_VWoR~B1KFT;7t;nK1_p@v;dfiIB|rtrR>m%v`L966g3SL1Vt~w-<78ma1}Q@` z-;k4mK`#f3`Gzp_3+}dLTY${p&G;5(zAGm*gd#xxp{=K>OAV9){;M1gl&vOy!Ij1L%F1Q-~!L2S)B zUIvB*oD2*a?Y!V*p)mnWJLt~6(~=zvF&mUWbt$hbXu_72!(iSr?ZUp5TR%VH5 z?b+O*2GKbI1_pBm3sCJ89}j9PF>ppd5CC-!4ht|aSj5K%h5CVxFNqHbb`5p$j}LP7 z@ppzVf;IpZ=6Dsk`niCXP#Z!NX67cQr-B<=AVDLLpe16IAq`xqGjK6L8K7|lP_<$O zs=}>6JO}}*Y#FS}(h7<)^GebfIBUTfbeSLngB6$n)nrzn>WhJm1>{E?$jmsm1EXzx zJY-PEJ+%ZHCT{sfuznxoGEn^jD!8pcRS$z*ynAX%fU76S(N3VoA>(pTyTm>>H8;7S zk^$rlQ0QBM7!WstI7@j3=9mc;4vQN>aQR+WQ>Qo z#soBu0~_OEg%05`cSM1NQO9nGJWGugF?PdZ4l*5bTpBAIc`oA_E11i|z`^p5k%563ydMFgk=2a}B*YdU6yg)_ z9ON0|>Fnqe59{Zfq@5XKyYeqVnIfJQ7QxLe6X+pdvHN!9#sDV znTw2|^{5;ypkQYXz!NvDoif~@5oZ=}CI$v(Yzi4z7lLDt6+Lzt*m?y)n>66#HfXDN zS)s*GNk&n8c4}pO2?L`{ISc5ZB}mx^6=&dKl-~*(7|TwrWMEVP#To+_WO`lk0BBy1 zD=)PIv}o)Y$ej$_ATb_L0%qV~0qNsl0qyDGjR!4wM6$7{G!JYm$fRNh#w12QRt5(C z?9|Ev2F4VSQ3CvB-~*Ewb3nT!85jgX%gjOLN-n7RF{c=`1LqS91H&m$H<969OSU2d z1A`w(6tuSdE++$nh}^xFY*EmnGSD$MVo&b2WGAsQFn~l@nKeLz^CCu26;M8?!x&#~ zW`YQS#FP}cGZ`2)L1l%*y_W29up30!7#JkL!J-KY7SNJ2karjuH9>*EG?4|=>jG(K zVAKYw{mse1AeC{iCHn_E1H*f$Qy2|JL470}2CP(X^u$D=y4 zC^a{~EEQxGcykp4qXWpL2ky0G&jq{m7~G`}P?t)APWc0AU|@6t1-CvI1A}C8DL5%G zFgk;TQbC7ny}j3xJpE+`1!z%fBIp1Q#wv)rStN>5i&KlrKno+P zK?#FtB8LnpWfb3U$p)<(XY3DPXJC*8G37wXL;CssmTXYkVqgHPYrWr+-2rLxyeN(RBR<|=VoAFg0E)bxdN(unb$bAW-~)3fx!1_urS!s z-fxgm8_49DE@*CxioW~__9dS7F|_H+4(c$mGCNLd&t`@;nV1MPt2rQA96)86F?gae ziwz9J3{<1);Dd25M(Al=+?RsDZZCe13=(B*&*f*imKb`3>_DwD(Alu;@L4ez|KND&jFE{DQvag7%axal^S1M%)t5t%;N*`3K&?Qf_VZUV~b038Caiz`9fT&@tFk- ztk1zb5wI)+>kBYXj4L%hCoK`|sFz?739i)m{Ia}!2G&<#z7!YefTCgs*4JPk%YdX) zb2C#ISl@uk~B~mgJ?DGqAoFQ3RcW#=s5=E|4S# zD3F;Ue9$_5FrO2)sSK<>q9FSj;B$h|mU=M*t1noFiTfxh)%uBodZR3eS;yeY+@$=R5b#JVt3Ozl z17QeQvY3H204xEU`}7B&U!Iubk(!v2TExH_2)03h8jbb1LENnTBA?8>?9?LIxx=gzML~ImiOV-L4?}Je zSdJO&B>yz<@$IaWAr6CzdFEx7K(~>DcFr)cP611EK&3;GPcDThm3B44DBIli)&(NwCfY3(0UnlYwJSW_liYa{%isu#5ti zTV_rwlJIP>unL!NVpe{Ue?e+dVo7FRI^?iqc<9Ulhnxl^bZ{w}3s$5BF$wG>xc+%y zDIJJ@RH^x3DLsg;;L;?}UXs*YxXuM&X#r*}uwVo{2M3iUI_9N-)yY*4$6J0 z91INL5{n;}+0e3+u@M97dQnkU#L3oJ6)fWb4Hx23#=!bXw3P!<8u*1k^J_4}57xh; zpba=&!I|lKi6x*-K&=13Zf5`|TS$B{u>J>^fh=6;@P6h^E^ffB1>0+RAmlwLG z1QZ_(tQlZ2cx?vSX0IHz^iq@YgAY>#insGFmP~#i^?pp zIk3VRw)})O8!U`vVG3&wSO&+!6xLj@ERKaKta)Hr>0u-7&EUZbAa@-6IeBcTuSrQzS{zaMTpmv2@W>IlTNJc4W zq$~w21rJeA-vIxhka!o@VCNvu0MHrMBCLs$ecTKT{GdZ786Z_+8dwtxms@^Od16sY zYLRnBVrCu#YX(@H0~-FBU>*+_vUOQtF#%XQ!?cby8|-daiov2FNAf&3$e$ob;asLG z5FeJ9lbMoOk_s-qAfwI_(V&hk=u}!kP&<`T0(A7PP=SkoFf@BGN}XY5U=RjfpT;O% z!^yxPRN!Aw0+WPy$PTcT?jR$4KwPku9v~}Ac^DYvK%qJ7K}+@mkW2h8@-i^U zgF;gQ#0Li_B3Kl6L4!q!5p+tj^3(?{+5ZI@7@qMmFsOirvC0`36#qSF$rcxa3KWCH zS(wT}6bGXPDAjO-PKO5VRg;7cP=Mwppuvkgg^>huu)@QZY>-uqbGCu~%)pogI_Mbg z-xQF4)xaU13JUT0FdwNsY{}jM@=?ZOKA4X{d~_dqJ%mIw#7Bzh4_mT9i9?C0gh7d^ zgas5Mkg+x-S3(9!84ExmUhoid$sOYyLw@Mh2aH7^M?unXF(?w$K|x&fuqFEf$U$Y0 z;03YK9n*#481%&8T9KN}z}N%|mIV)6pd)8N_bm3y&jU@Y zf!h6^dC-I7!KDiW;~G%O67Z-cI|OX$e*p#t*#hW6?u=_d7Q@rbIuH+(W?<6mK`BR) zmw`bB96lRB;iJO~%^E?ETCzdg@))KvmLGm_K(sYRLvof-s&0 z9k30F77!oZpSMu``4`EbDxgypLFd_P#-mP;3W2(mTE!(rpv6mUW}t)$Dj~E%zGcuU zE-A`O&MjbI^8tAiEC?Y$>KGW@LHjxx)`JF*XnO`#N={BH=oDWn4jjR*$YkO}3>*#Q zND(s&3wUiQQxRx&1q*lphJmR@4K!iM!UDOIi3K|L!_)yf%aP2nAH*d}U_)@t@UWqr zl+3`$i^6v>G-B`r9VH6AXq0gdJMsuTFKD)!X(9uAN_h};44w}(9L+S5g*~SLF$&KQ z8fs^n$icwS585Hk06H_9g>f?<1H*#nE!n4^w`60x2rf6VBtt(fCqKU^O)r>gH^G7K zt#b@kFw!$J(K9ts$Hx2S?gQYKh|Bn*dAX zXfut>;J{&El3~hYWMF{#jByT21p^}=NQh}718Y%gF$1Fjh_{260ko|I9CfYqh`Qp; zJZeVW2k6bZn?O;Q2r`_3k^e8~)@rB(;~Wr=xdJN8G?9S??0Z3w@NJOqSz#f`a1pM4Zjw}4J?HYh7;$Ra2H9adsUc0VZ*>A z!UUR1g?Wr|&M{Ej#78hNa)87^rIG%NmTZtH8&e4b=R}5YEaw@&gR&xfa(*!bQ#WYf zoC8EKFjRupKrn2eL%gO|Q1b*8*!|qjf(#5ug*$3^!Dq3kAIr=v|3K{plGkqGj%#L? z37~j<2Ab4}k54N|&PgmT&P=OhU@Bk)*~JWsK(-1H_Xq<61AB2f15+a-D`>G3YkWND zV3nlI5(cI>5XGNC({&XfE<|xjIRn#Yh-!}b_|%GmoOtkkfO(+f(@j8)X+{+$1_sUw z21YQC3tXgwTjLDesTBnbOjAGx!GfJ}jx^{jy9x%zY>+V1L3Q z$IF&%PZscM7Zz6L6@KlYr8*ouUyd+>Mxj7vgI4MYpbJQ_O^o=)afFe9K{yj?l-PWz zQKvv>jet(7HwG=KK^V$5F#)7Sl&J*MIL?U?-&pQ4em}yvIr> zp*slENVp5dlMNUc4M0hQmHB{EYqmIOkBlLNzrm?BTOvNSs3n580@@bN3aLs!m)S9}fx?o3=?F+177mPaK*wjXLl-pif}}t_ z>rBudLq=YZ9MeP&j?BE0_yW+GlZ^Zz6|?yn7&u!Q85oLQwPb^ukc=8!^BEZ!&hj%b zaKprSRx&a$d;=G)47@BLZ474M5gku)+Ls9+pHef~EPy7Py}}F()NgQ*zD%5I$tI0~ zsSUj7of$kJQ32wDdb;3rGlda!Tm&TDq%klZ1$UBRLBTl37_{sgmU2LvkWvmvj%gwb za>@az;1pnB;A~@LV0Z*eIhtGxLH8mGFfee##CSj>{h^?%3mF)ASwPwttU(9#FtA9_ zKIIhTms4@9MBsHxb`Ki^L!$^vRf3w2N1L)tZx})C2lis*rYx)t3)(}M#=z(gQUMB2 za4T|7IjBVoO?+S}P&*Y;Z25!aGC(N`QEml-bax6cFz|pHudc75fPsMz zCdLnHxITfTK4un>Hi3ftat5a9AZEeqmTVn1&{oYUoRAiEAxM~MA_He710$5pAqa0T z7lRr|f|ao5a|wvcou85tU&+8&D$U5i@Lhm`K`4cRu?%8N26s_$P6?DdUyy-8806fV z*Dcuvpjne*RnRGYASYiJWMB{hiGiKl51QR%5Cy4if8CM|+N#P}5(-nhLx_Qa4<-&) zUmy%>#fpMj$iH7hTgb~>LFz#*R?I9R<3=o&@_F;Gup6KGLYVtfSy<4jPHIEgSYfZeI^ z7HZC1UC=4TAafE#7#R3q;$U;?z~+F}$GwHRb73Ut3_p;1KA0F-?Q(?L%^#p@=XAo% z-UTunCJt5)x~PwVfd>?3Q6Hh|7m0(-h4I1azJbkU5C$pS|F$K21t{Xy--8*cL^ZxXe9#Um1i)sCxXm|iG$T|M5q_|0F9?3V(d_Vo(HLiiG$S(O2XY< z3QN50ZZP#$k_-%dFmbT@2!#4cF!MKocJqSMK^aIrOdPC!K0^HsnEAVx!OY(aQV$ac ztG|Fy{~4yf`5H|9V~~27I9NT86v+J&nr~XNL4yNd*%=rl83UM#86=rX7}zE{fI7tt zQk`#FvO(pn#O^mO*`RHcmbVah6oKTy?qHCZ{|=&O5=ac;Dv)(x zJuBZq^nlimLEO$Dq46Ffb`+!sY!0%2B&NM@$^Od8!0-qp%~Zm`1@Wll_j8O4QcK>q zWb=YfWO(!*Vlg)-#Ixv*eFL>b9wZO8gh3+u1H@uGxEQjAfJ<;Zj{5o)W8H9m;i;1EQrA%pIT7>5)TH8gWLiUSBQ@<$S==iV9Wy< zhGY=KYVb(tB}uw8A2X@geq8XeCEJOKfgws9rTqxmgo3jpg7rKyCZzMon9$E7V`c#l zFH>>I6Va$eZR|3$OazTQT*EdL3UUK8cx)Toe+7+VLx(~^`;r(?heE-Mzrcq=A&MdG zN3d!RSZeSFNx=e=aZWC1@pT0QBUl*JXsl#l^adFwFU7#X4R5*mf`oXWO*KCdr$vf^ zfhUE5(H~?Ur!)ft52URI=6gspFz`-eWMEkHu_gNksM_(J1R9~-z{tSRAWq09If030ixFa)JgqLF!#V>S5ww^<4<{pJC>gTEf(?0I7$GgVmo$s2BPS zH9s>Grv4E~Jxm;|UJ-QtCB!`rF!ebzVd_m}85o3N;$Za|2=xgt_4y}Z>f1o-Vd7x* z>k;aUK10K&@+VCF4Ul@6I9UB_g!(Hm^OHa)P>X=VhcQ|hCMpUFP0+G7vB{rWvO%ds z{N$&W>}nPU1_^KpDFLo(KKQj~OMt7IjBgxA86}uX1UM(Auzd&5zDO{YNPx#yL5)61 zc)6&^$N)O_8M4U`yDUOSTv@1H&|^B1S_2aFXWmZ_gG0Cu#5`gaG;^gaA{C1kxmgU?tQ* zp`}m*K{lcrhB66()kttg0Z)^Frnd5sC#%3S5+FB=fGc`YcuoS%LWtpNVTgc&P6X7t z5CH`%f?$A7Z70jnB_~mHz;VMD$Q;CBNtCPv9|@*<-XUiUl07FsFI@plpq!M7zQ_i= z(1b}4Jhct;7`CbH{ac-*=Us|$XF)%PBN}YtR)Jf^NN<0ZIn2U}T)b589(w z!N6z;5(bs1;K^-c5HC&+xj|LzL^%g2Po*(1J!b+L1Pe;WIa07(1rkQ&DiBXi0VP*~Y~Y#B$iQ&?YfH8Q zGXn#oNhT<#Y+__!s8Rq8(1MyEdl(rQ?txRi0Lbk(V7bI}CP?iAMh1qD3JeT_Fme7@ zj0_B3pkq@Q!0HvgL7PP8Ct>P~6&V-=Vd7x*lfdeQT)(wsgPbp1`mH5f11(pnKywx6 z#GG#|7Z|@EV}xX^W2hO6b7BTm8aZ!iGcqvX&Rd{>5C>feA`aT)f*=?eu7amMz2s?| zw=#>9_0v+*Q%h3w%Ba|;-|(#^8*~Pqx6I&}`D9jLG7bj?XncHfeqKpYeolOOeo+bo zlj#dkp~?cfN)~iGjR6Cb8AybQB_4DnYe{J_RGm3Ulm)KNkb%hpB*MlLA77G~4pn3c z65@a>GGbt|0*P>euAwc6&reG$PAy?zvIZ@k;DLx0r{;jSs4_6wfK&>w#K-3sfR6EJ zV6p`X2(iS+gAPoEYqkSv7J-Q(wA+JJOTeu*W?*sviAb@;$LCfg7Z))wIf8V`FtDbj z=9Pi24s-Ga6$h}mXJF)e$iTn=i#NtOyFt^msd;4u42*mrHq%4~j-%gNz*7SoLH!Y^ zxr|~UeM}Q`7`P68Yso$c+QG@q0t#y$Sj#&ju{gfCIF*5s1EiDzl+9Qe{?R327gIZ7 zfB4pty@P>);p=F^W?&fH2^$jk42+VXR0oSU#yOV|30o4x1|@8v?=9Jx3=9k>KnXiF zuZ)4w2$X`ECI)cAlDRR+6sCzjTt(kovVVb6IoH(hE!l#gGuF6SK;v{gAT7LnpuJl0 zpe8M7OGya>qu3YFQU5G=nHU)OF>(YK$W(#&H1PhD5(Y+b22e%E!th9e9>sofYDrOk zX&yBXO5E_hB|CzFfnl@kASw9MQenPiU=(-^D&n9nWSj%q5X6$3pOOld0WD{XPcCO* z6aw|Nm?mbiJ^0>|4VrUW1v=ygQjRjpf(!wbckFk*w`7CNVBo-rR}PROhOeLo8AFO9 zP2;k-BqcLnzqq8RB%hiMWPu+o*~$zI3{rBmh)8A@&^f>4j2^J09(+fR zJSb0~EuDnkk;8&@28zIqIAB|mW}t|?5hp%Aw>Taib_|SM`iu+=Fn=@7Q3stQRm{N1 zl?hH63>HVa2ueo<~>2?HY+NEK+IV`5P{10xqBSel2^^+!uKXr(I`(?swM zlw3>`!8cHHF--*DK*_~4k%xIA4;yHAyDq410C|B2$uTT~Od!|rg6!r6S;`Bth!J3sUn+ zGD~v{it-h7(-n06jTCf?OHypp^GYo(85ptcW&~X~nFuLUQu2zZxl1G9M@u&7^y4ad z+7v6G)JA%-!V>C}pO?^P=Ca0SMZnhTna2m*0fI8t*HD;Su9K^zVaaKj-J6lftJ0UnOxQqZj) z@uhIfm_k7k0^r4*V4Yzgz6b*g$U3HQP!J<6NQIBQppI(b+Z_WM1>*!oI9Dhm1A_`P z0|U1*BLf2?0}s4xX4E*##J~Vcbc}OAXLIouGcam^<~*4uGVm4`FfeL>M42YC@TC=G zGB9d^f`OI!f>UcYA2=)+wMD>pt7h<}RutqjFzPUXGkOYNHUpzB$V-d?{2YvW8$eft z`!F!-fm92mFfi(YtY#1_Wnk2s3fh)Z|Dz@Q6X>`SXyqadtz3keN;n|)34^Xen3y8W zR3gAMF#}ZT$b!z*h506(fhiYcpCV|N3CIKBqsBzRTy>BbXpI{KGYiNA%q$>RGP8g} zhM^BM^2D%18B}KclxJWF_}P*@?x%z^4q_tab(bnKFz~{} z!SlMGz=N3lCckjc>w5lz&g<6y!alDXLgKvcOsIiEN1+BH&+EbrBW+$cIlq{u^SWiA z5kLl2RZuxd+nfYmpGL*Jbm3P^b|(V^!yiyyqCrjpEhQo+r@(t-ByU4v0S%FW_lH7v zw1S+#3>xug1ux?Y0F6#UwjqJHldyw>l!56GNCFldjB~O`0?7?hKN+MRCJt7A9IT$t`*%w=$Vm+R@I?rqYh4(ofG5fr)M%UXAcOhI zIjM<7sTIko1tnBWfeF7`vX_8{$dqW&a3?+OfkyOWK=~PCL?3i45CeQ995kX262TnN z2Z^GN=z~PiM)W~Ks3ZCy5%hsi(7Hs-5q*$Klo5T90Op83NHew(eUNI@5q*#d@`yf2 zC-R6sXc&Sm9(n*7eAJx_w1J!v)F@<6E+_?G4#CI+=4R%l<%93YVB`U*Vb6zL{>R7< z=H(&t7&t&;pz%^p1<={c3|v`E3=E(|VGP=yJ%=6C`fg)lV7LX!8dE__8M&7-F)(~o zVqoCj3>y0c4JPrXr6Q$H21a#|p$mSuWT$`);e({wVyFbuL{K&YjmBz%Vw!1U2tRBz zRtuz&X`+h&$Q6fvw}3B8U^EkiF}Xobu~TMX;08G*6vP0zCKJQ}xuyo>8U_Z)YB`1v zw9S{uz3Fr+W=VlRE!le%7#Nl+qcpIf)dTFrah7UE@Ng#Dm-!z*drxUs{})mr@*G zoLa!ZtPc`pVM{N{FD(G|FqsWN0vv3heObw+MMd$&;4_;Um<>VVJZvDb)V$4^ej4v)oOipEBwgw4nv*n>GwgHLiu;rmCwgn06g3QQF&x_KAs3@j{(pw2ADh0&1l5LQ#raa*84qC%1Pxj-uz|-zSc5l;rFoh8c?=v(l8nZn?NuoZOp=Tz z85kINeLyUb7z3X;GXsM&=yDqe@L&rwLLZYPBNynZWYCzU1k+W4YHSU|xf z77r?fic&#GlYl_3R42>+X*d%oZ2BoBw%rpkZ84$Z7lv3gB80jo1 zdw~W6gLF2O^BBxAgz}O#85pGVlAydE5D(-&uyLz285opHic0g685obNfKnLaf9HQK z*{Yzy{_MXk*`SkP7%w$*Ffgd8voSEd)ns5`kiGt=CA(dMfnh!eI087BCdSBt2LdA) zWF7yuWUrNAVAukYV*p*0DjWQ_CHtZT1H(yV!RWs&+4I;K815kpPKB!ci4X+EEu$fW z>>jAee4JogAtv8|s#iu9H2K$({ZWE}!5u0Hy5tsQ3R4*Nh?p%olJkTedOt6~8a@GLCij0_Cw$!rV^1q`j=MN5oxjJOyWG^*J^ zcU3ZIwy-fUFa~J$f~Y_S$@uu<)ROr8ywqYyZmt2P#tjUu+0EcAc>r`#aS{U~SXfbu zfk7&dfw2aZ*uu3SiK-67Sp(u!Ffi7GvcL~8Cl$&Q(`I0h)nsf1=e%`XkmvygI)l6+ zV=Fk*g8cxx1WYS2Cnr8XkAX1{WGLfL&?(kQ42*doH;Kc9K?O_!$R2P317K2AyI90|rK3M$p}3CfW=Px}fztyo?|zrim=N;Ox!I2+H3~ z6FGDt*_)RUl)srK^5{acH!mZ|Ql^OldWlJ?42=9>YnUhQsn<({D1eACO?1#tEG|ug zsp!>aV9-xWGGJg70P9$+1LhmS`0~17zA21f0O5mX@xkgv^g!|{aP>wIK3shrn4bi3 z0>lbk1CW+txE5wZ1_u3Pm<2i@UP@|mK?zJ`o)H6sehPTz2PX8u7$gL)!x#m@?uayH zV9-xxfbu?od4@2qk~v7y2*#ai0pfxtTcFCjEkOdv#${MBFzAD3mWne#mxV#>H~|vO zgqb2@!@!`Q2`&O5(jK-940_=56T)Yj=%Sy+z$gTEU%4FvgMK!Qx6qz}K_AlCfy&Qy z1c{`;6zp&Ya}8kphb|y~8jQQd6~wKAaf{u+T)66bcLoN1P_YiNyWN9v>kzIXO!`77NIC_^{Q%(_!1(jSK+?r9?!|CWYD~=mU9}D|ente? z(QxybCWh!2m4R{@M7|~xtOMLVgY?cAWf(ynonv5$0?=8^jI!X6mWpCvFia{+P0Ti8 zVDw=uU~0`a1Xp&um?yBbW*eqtrpKq`=cO_*PGmgK+?s8ekyw@r>JKq6HZaO_v}PM- z=B4E&=7F~GGHz#X0O=_zi_gn10W~e8nNmPXGD_1^85lP+&lGLVHY`ocVPH&VTFu#- zZJ3ynWyruNz`RZXWK~gqK|Hwm%lLumvouI)UJ6LDIP+C0utmx7J`9Y;%mpH?*+!tI zoFRK_wgsrs@|UqffPq2HgN=dVZxjQAF-XuP2z0f1Gy{X_6;=iY2lm!%7Eqzi!RQH6 z3cBI2HJX9J3?^anla+yCZZv2GsX0i)ZV9LcE=Dzw;te3hFhQ{56JW&*3`U?9fd*e| zb^ypJ!OW9DcMgM^1P~crzSisvkW2{k8dMo8q1NmMkW3o$F;p3Qq1Nmf5E;-t#ugCM zK+XyhZp{YGPBI>6;uU0I06Xn=Gy{V%ND%C-?_g({g6gjIlC9YeAWuJL3IHj-1G=9h zhJiutG8Y4bc?<)C8BB%AQ!WMuuNVdflXqMU46!kwU@!vJqj}P;*(X3Q;bLwB83C$D z+hZ6Qj6s4Xpz3rMNEfI=T@TR(3XS8z_&V!psu|*g$OomWdbY*cfEgm>^ZDtT{_-c8Med z1Gf-FJEQ@_!phv~-=57NW6#zKX_>5IZ_Ng^tnEPR7z3ClM#wP+F;C=RlVc17E!+Ur zz92goWDjz*f}3ujGvDNxN;sG%`aqg)9t^VIIaeke~o-0)-jqqI%g2P`x_HvJA2>pu%2o;R8@3L5(g3 z-q!5Tk_-%4a9OB@V6z!y)p%R8MWq-RI-v4Qr6A|BfSu1Edz=>%k{hA2>=SR)ed9RE z2ntnDlL73(i4F|1&v+sJItEq91hSi*4`TNtm>@W4Ko?0c$Y$_CqW?Qg4y2&~D##-O z@jtk|`UNVe3>9RVxC0cD4EzuStl+}n0Oo-T2f~HHiBSY9oCXyJ1*nV$Kcw9z>&xE? z?ril#W!XTHr3~qCl`}BN#KRQ!KozcqDr73>VUS(N-iGh|_qu}q-kGf$v3 zyF`kCAp|Om8kf3)5F@jpve0m}gbFvog~8$I3KgCS7Y2u8AXIn*T)3s4jX^dNDtr_w z3=ZDaP(c}0q1No_QlL()5G0knhA3kJh17l_h_e{PARz%xIme-bqA`LzX-Lilg_)xyB-7fWN`Vs* zgKVQDBzQs~vasNhkcNar7F3wIm_eRFHcX~9TR@tDp&ug304;qHz7=3&km-|wbkZ1D zSU_zLK2Wb_y*L8{KWMB;j6o?avn;h3(rQ#cCJwrQwjrQBn|nU!NFUHR)irSj21^F3 z`1qvE^pey(NEeMsgXxVp0|WPIaR!hSvN-5$IJkIbUL~@ef&^5Lb$q-N_##JehmT2{ zX$Bhu18B&^2IM>j+uYRLOv)^QhK(5$s5fo{>ZyTMfX!lXgic?w z34yG)j*rhlGSm_5LQstiRt(n0;Fy!2oS2ge9_?oi1P%5(L2vM2H@nTizyPXvZ9u(A zkT-G@OOi7nE_7l71>$r`1_m220g84878a07>-hL$Sg3e|?F3a>U_-!mLI_YGfLS1e z3-ZfNb4zoezIOv_0#!;#4h4mEW?CA=c1y4dP_+b60SYLPImx*N5Cx`S=Ya}cR0WwZ zhuMKm0F|(CM<5*F43-3yl&HEvHxK4REbw3g#WJYSLRC^+nhR0j2Q~v#9HA;GDN4-D zse-8S2fGqfmVniOe2|`6l95^gk+uR$b4kO(7}RaI0rk~wz+#{XU|?YZ`Q14_J|ndv zFAo82xmq-x&4$jJmF7}$#_WPjYj!as1A~_KAeqF5%(F0? zg4QikvKW#@i;;l=G~^DtW}Fo^Ii!g35f;KRSFtD+Jc9yb(4r65nEw>N{oiNV839^#u79&WGD?T2UUKy1@D-&S> z%{T|d<4$CN2#d!uFmNY9Ip(np3_QsUj4B`{IbaTCI9C;9(=?DkMKS}UDrlLfY8(Rt zPeme>R}AJQL3szkyi_QUIi7)mr;>pYY)Ax%Q^mlj4l=PUo`He)pG<4EDCqnb9yti( zHfU}dbT9fuA2wx120lHx)@&1I28QoYai(G(esJrZhe5zht~EOrv@sPlOb!};V`BjY z2pjmET0!($0^}`_NkX6iWe|qe5+TeC3?M87Cc;1qL&4!G!otQ913K?p46T+B0-3|W z09l`SL>rXnBy|`V0_0k=%j8;dUq*wnm`X30c6ZWj1D~>b1MD)It*U~Q29QFHiUmT0 zTx)g%Cj&!+4lN1<$SxOV7SQcU1ZT=w;4|gVm>3vX(Pzp*drlZw(I&0+L82_IhzV;0 zkN^iO=1e(AoQD;2rW_00A93&$GmO-=B1SBH?mO)r-3KEoIMV~1Li7K$7&y<5i zRltr!nH9GH?XJ;aMG>U9GGxSnzNW1F)}c4u&`LOu`n>e=9eLx2w=Qn zIB5=E)i1#kP|CuX5Oc7wM4ko(HDbb?>=|?{*TL|xfRCzyZ9Buc(2<#i zmz9Bm4U}5AK=;*yYU6y+>^iJA25}g;!L>2S4=mh>+8D&=;D*)4ARZ4lv^EBD1h~Ny z;HBURaAp=ERt5$h(6J+}pgDTbZEOq-d>|{CZZU%7_%SB3L547I2TjdaGBAB$1nFfE zjE{#Dr{FdsqZ&vJtT<$xQw6$A6|^}*4a8!a$RGrs@=*g7mP`{_gdj6MYHggLIWi8R zqyh#;wH`2sM+oc>h=EKK1%#6r7&RtwGB8YuXJ8P9PNQhPVParNNnl_Q1`X1Kd7g}vcd5};8tzv?X%j<&z??@i#DCcC*E#3@_! znk|~2ml_YcLxxd^F-g5OTWlgL1B04cYxWP&IITM)2L}U#_!?FQ2Df|$1_p^9xz_A` zoD2*SN(!yn7eHr)f^2@z$-rR1!N4E|UPBPT#vtLT*qY4=Ilq}ORa>*GxfmFJW79cF6=JLeXaNM&gJ7Md3=EPdp*r=D zBpD<*)LOG=b1^WuposdaL2OAt5(OE=XviSFQXOImiqk;NPi7W&R?sdXP?^ij0!m2C zETEjm%mOMIm{~vxkq1;)t>k22kYSJockV#5GvIYGnoRRR^W!M}c2Ltp9=#z8G7=Q- z3ZV4JporE!1;wNSNC|@+bkKlR2((003BC|DwE|=(Xiprts9~~Zl1Cp<0Or)p7tk=-Gl8rED`8*=2lr$5>4MtSv~IcPW)>$? zvEj;~(V88{$iNV;Pm6{t!Nw{^TDfXqA&<`_bGZUrEzR48vgh*!zLr~X| zF+1pt#`t)oAt6RPkhFqkYqlL|GH(uF5(A?h$OTtG+I<)p9YALN2XQJG7#%<^5GsP& z3Fg^?czFzrjv#YZ6)`Xf3NtY<1ZhHNI6Z~*m>3vd7cnph!^A{D_y013F7#z!V0Zyq zn$K`kj}BQYBPAYGwooy1C1|#Sj{}i47#x|4l93_ij1o}jFfghxf{zx-U|>`MGm2r1 zOwe*Q70|AJ)=UOQH83L!%3xpv=SOy2WjUiZEUXykfR6s*=wxJIDAsJv2A$f)s0T_` zoS?%q1h^J5GBB_)^98nN&*uVNNX^FFu%I)0J~vD;59kIWv0?@Wo_&lA3{K!=1U79l z%ryNL&?#OZ(|AFK@q$d@hRK4pr^B?jgSGR49J5)oH5+ud0;2&hnpT($KgedrAbya& zYy}J)|D`~SD+NG>!bK(q20_q;8~+)EP%2MGC6I4f!G2))0^X9pSDzkf9XvQo#iV{g zvo(7SGXq1#AW7=bdW6Xo)U9D*VY2oD4TeD1nnOC#tWX}T6Aj}dR-VH|5G&7NBH)$h zNE~qEo)s&=g54}%5!8sXkn`XOaOW1IZO+)@f`LI0bZ$XCh#}3)z%aRjfk6nSQrMiCf#GBYXk8811Y>Qe38hP6 zCOije1eu^!2`Z_W85ry;85o3MD#0d{RDw(pxuw&ZeH*l#iGu~?FAf$^A``V{WMDYP z!oVQLAPx?GP)i-uJ7Csi+6_9(99O~5Y|X@A2)ZMd;imx|$~`K#o*Q&qv$t_GFzhx& zRPadqr9cDrOjO)21v=W1g$1;GkMxE$D+^n=e~=3UYxNgUQ_ls$sj&w&vtfJZSy=kP zEm}r4(4a_aiUQ;e9wye}jQpY!h0MGX2Hbl<*g}2${oLaNLV_6B%t6L7gZK>WY>Zr> z0Z$J{KNlZY2KE}pRM42yE=z>`uoMZxH^TpGbpgv%Yc^T zae_A}vNy=2gJzvLor_WvOY)1H5|gt-iV~AkJ@ZmhD;U@t!O~2e&PACenaPPc!Kuk5 zpq(u2O)}R&ojlHfqWt94;$olt<$Z{Jav-p*i_^P>EKsgb1fwPGWj71A7~oD}miL9+~MG4D9V-7s+r27bF&?f+LN+ z11u!RfZg8=66~|Uj^%VoO)50}Bf%*qH#GIFvqFmQsqmCV<`90ty82IlLGpxnvA2_2G!@;Nv``3WY= z!wDLag-QuP`qbeNor9}esXqd zifcu3Mq*xiDg)CKW^f+MW@TUy4oNIZ2kl9E!VKnyCFYdERWPuy6oPC5sTRd%5|=V4 zQ80rxT!}#q;!+0lAm%{i8CY1ro2Wo)#ZyZ16XQV+Vqo-O{K(3{AeP6#=m81_2}wWD z&MtqDZ4y$M42*#wQ3eJEgr0cNHr_nYP^cZF5*q^pM27=hhZ95xL_=vF#F}JA2R4W` z$zW+|*^)Pp#jzl_09rHnzzSOsi~5(9%AD20HOS%7^% zlY@alg_{lPA&@xOLk>P13=G;J4>9Y2e8a~4Vt#w}e6WXLinvs?K^|h(0r>{1fPq0h zRj)N0bUOvuR5(vVoQ;8@2IRdGJ+Svcd#8}Rr`rG#h6sVZ#=yX!hcbf6SOrQ?6ZBfM z&w|}<%?a7}Pz6eaOcNOlDi|1RK3I!|-3`;>qg9I92*4F5^W_N(BT|X5h2eNh* z$lAU7kSK#$t5vBFu@+(_gUL$$)@)W#4_Gfg9<(wkF(m~&49oZg9Z8=1~S6bw81TO__&5YmGr`HYhAX2>`rDia{=gje+5SL2I@uIA~9D zF)-+WR-iLYWH4(5?coa0IuErAq>0gxfx#RSGLT?#1s5hC3?M6o80UQAW?-;LWMG7d zyVWuj z!NBMVE`8R5d5JLYX$UtJ#uuz-V6d!6f^iKXT)1=^n4b)jZiR3SVEkJkekB8=7q~cl z2jW5F$%hdXQBn;I43<@(jU6DKQ3C^mv7R9$Za@KrvcisWE!g7)My=WTpekd|T3$%- zK*XaO7#J+F85q}s%h4|&gF%tL9;_*|k%7Uoz?6Xz!fl6e4PpG3AbutT;|8!^*(L@C zs{#X42F8tydwD_YJ{^fO$-c562`Ec0Vx-3K&tDF zTeCq&wJ;uKybDu32c&u?x@u4|T4)R%$vVI&!^^;63ra_YOzJRU4N!X8(8R!?wbmFC zLa-FYV06}~H5-)nEO;U5nW+?1EQ6P%8{aj8BwC|iMv%N30#d{nz-Y)|WNqA<4Jr;A zK|-K)Mi70x#SF$$Mk>rUf$iB!Y|2a}9E=7GM$yI)OXk89m%}a5Dm8|f4Jro=85sCL zX%ZB4;06&B12-tD%u(iH7~g^;=7Di*HfZ#Pan5``1_rw%2BXX>3n*zD!npNd zZYqrX9>lEz@jw+aZz}_Xv7!ki;I+=1K*AIh1CWBiJU%`dx{Q-imI>s20n^rO7jUUy z!q329m&m{<%LFQbm?na~3FEL>RwObo$}@q=G4ocCgAxs3{7^7I3C1mkaN*J`LHtYx zMg_2a7eTx%7>~P+0bJCiz*e6!T7qp)Fm25S-EPM?#~-w#Cy@avuG z4a`r5Npp2DFjyw#7Zv4~GcejSfrso>yz2GWzlz&MSm zn1zAC9yG09r|?o_a7 z&3*||Hzz=dfx#{%g@N%T*ke!+oP>IS!wx(S$q3`~SSB$ro(3Dy(8a(YlfuAw2J9A4 zjynf-5Cu(gZxD{1_t#W1_novpvG-B1_t{ckSA?GikDinW`nn~zhY7q zf+`N`VPH^)Nq{v}fi+lz0_?g)YxV<>>88x~LJSOwpg?2LvbI1<0FY|9xTGi; zWCliakO7cZ5>zG_Ja5FnXaVZBu!5Vae4ygsG0Y532Jm|Q9ME_HW8q~XP`z_tetR|_ zC~Ot302EoNX`4K4;*nH#1-4Nekqa$-2*o=mt_H6DTVFm`UOD4lK zh=DY~w=gieGOvNC4s6fn23^nX5)WP7bad=9L_0cM_SVo7R6W(fm#2)JAawN>3h zK!b*^x!@fT4BXqn<3OMWr5pIRHFwaC1_thJjG#uE8)%G(!2`O~6~qCHxPc~O+(2Q) zzyRuivM_8mp~IkIF_lLR9V}b3e=;#JJTn8Gw}kT=GaLhljL?&@nb;wta;SHo;lE}T zbV(1n7YISmHfA;jP52^>yRfjN<>V)pFrZ(%#sWIvjum7h8`_aDS3rY|;3Hw`KrHZ) zFd#7ojzUHT2GBSYCuq2ak%223G}yv)mC=!jfq@&G`kAhQInecQpj&TPkk-F}_=xpy zARc`E8;Ap4|K`pFIsk^51!NQ0O3*RuU@I9IctBP%-C_jE@gnw(Fe;fbGcbT6?i;ue z0rB{X85oroFfuT_>jBNAgU0cdK(;VVWZ}zxX0X?u zf)=JHGB7%UTm?EhEeXzM5lu;CV02l{$iN_)k_2T5WHT_jf*gIYkAXof8`Q%A@t7uN zh-HI1I1o;bP^?vJHs~(*GZ5#2_HBV&#WXR4L8K8XCk$$+7BfJ^a~MEVIfyMjjG-W- z7_3{f-N6p^gw5oHf>?F^3=DiF42+?m;$dY!1A{;^17kQy#|aQ81YwrD@dqGSffR1o9X1W;r%Fs6cx1|9aC#K4#e z3aSqvlao^!7}G(@q$e^k2vk5h9$*eks(2#UR#1ZAMOmA~SO*e2VBMMxnrUI21BzAt zBnHMhkny0Is%!?vI*_$zLFVN#FgAcV%99uv1oFV$XD~ko#IImrYy>%D6PRNF<*`o& zIm(cMu@PjE1DIz7@dMgV6x_Ikcx7&A@q{ObZ380KhF>+$6!|m7N)5;Kuf6*Lh-(# zJ|UhV9zm{-F0P>d5L=jIkgH#)F9QoR15*xY0e4tPysK|ONF)OTYgkCUU#O1{10#s# zX~e(;rcD@_L3EG_0}Gh8U|^#BvG_31Z*?v0OZZ0~|w~Js3Da zJlCKg{~!h~5Yx%u--m%4#0ql^@^thIVc-FALjAn`{KNeictIQ&S7%ROM;``05XaMy zK>$RDdKxkaLKsF2LJ)=tgD{BUX~7@@qC-6`7(_t~PrncbF%TmZ#1aRw!u&m57$iU} zk096JP@fP6Ne~A#6D9>>1UtI9ItB$fMlwi)xXuu^42T^X>>A|a>gMU^>cSuk67UHC z`BM(U3{~(0eQLq@uJeaCuU=e3G zhT{;1Pq3#8!wE1u%rz+3)8Eh4B_3+)Nw6>|2IE0SF#HGmDa_S5#6O6kK>_4)NSHK0 z-5nX^>c-H}08T1FuEDNBVXiI=4GoYaM$0A_H7O z0u2A<8Q9}9^OH)`7!+6{KC>_|aKwYIZefW8)ujv^@yU553@lN1KuZBR;*%1KQyEyI zK~fwXkV8vZVnA{{9Pw$HIjIaRu^^rRM?7d=6l5q%97sTfBR;7#tvIuafh8Wqm*9vm z$t_6BOUzAWU`YTOC&R!AiW&x%Bv7tkkB6L33Yu6{V66@V4a=8Q7Njz;)_}A#aDa8P z)`BEhI1-D}4H;PLdO@?MAdV3OYdwe~z)_T1QkIy*z}f)fN-!|9fX2hQK!pfrT4-@< zk#Ay2hHFs~10y$R#XmDkHE0(B$c8S^!haCKzzp6X%L|*GN4+JSwHZ|4d4uaf2{usm zS_!(v4P*kSHUhhnkq_ibP(7Gv$iT=4atYH!4!%SqI7fgFa#1}$L{5Sqbh4TtXkRYV z!~lW+wyoKMpjv-o0HnIl%u6o^os3mloC>-fB_p+{h=H|Lz^*l$5A2Y5kVDcK80A2I zVw%VxBxl!}{fUi%K@fUP3Il_1Jm?g9u*SC_$12#hW`hnUVVtuCq`3eR`V5S!pdetH z$RGj^d`5MUPkJUZFo>4gwPp*jgN!U;VP(D$)Sk`2z+YT~5~e(fte{?)!-Do~F;K#~ z#m2xO&L9E3wJS3}iGeNp4I8L=aUL|U1wQQy#ZPS@8+bsz0G)DIl$lqO#=us|2y(Ci zI|Bm`m;gCRnt_=GWCO!(P%>qhYEJWN(>W+4KCQsefQnUTgI#MjXa<_ql7WE=HoO#lRrQ%it*tvQh|S9>_FdQ3jB~ z3=AS51_OgA3(Te5AZalT24)V>5Vbg5oE0Q4!NSPQ2et&POj3-2na_&b8thgnJw|&; zNFacWRsgGzW`%p1fkDOui6d(Y_KzGZ#0YS}$qO?ubJ$2SFevCTpqj zR5#cG%22z&92GrAuv@^2K@sL4G2KZLhHy!c5`}3~HTCjEsVehTuR}?`mRX zV3L^VB*DO-0h3^0&_vjs#{se(V&F80fm#ShFi9{lXmc}$ii0fDk!3U#4q^-ykKm33 z2Zk;ygCW>XJrIL|K_6KG1A_rKBgkBkRzqk=LEUK7*~G{Iaw7wSF~n6MMJ6DN7#K`J zrhqiUtT96pU}a!1hZxJiU||Ba-V#XxHv@we#M2B6)<_-^XJD}5fT;YP?XoLv5 z!39~>B_TrYa3OA(kcS>D1%ZVa7(5YbAaMxM>V*)72zX0?N*@Bb9g=fdkh3Z)NDP!i z*+4l8#9#+8KwCFavKA*SYjL4wEpCKEKmh=XPIb zvLHkVQ8qwh19Ze7>BT7|K-u5{2hLUOumI(Ni-XH5)PfY*O^~pK=3Z`upFp1GLE?%t zFz_P6hYu>ysUWPh76PSxVT9R`Y#{(p>_uKswZ_1}hp>==fgcv) z0^n+qn}I6Xyb_5b6 zEQokuLBtEq)!^idT2P>df&eTO1mWUfJp>93Xz2tFNKs*w#<3W3i7O6G^sMTVko+M5 z4MDJ1C86O5=16ffGB8L()x%31XtG2vGeC_MIjC-E+LVW78&K+3K*~6Zhyq3ll3bM$ zwm@8^0(BL*FaR}_L46u9M-7zgAZY+v_^HD(mIgRKNiZ;If*Ilr3|gQDCbZ=X4n=UA zn1MkD;iY0x#|kTLp?)`j`jgdD7?j3fZDbHvoPogz;AAU;C|#iOEDFlbpmZY!i6U_j1>#FUN-<~y z8>O#-R)tF;>;}aua*ZwysnMbKgN&6$lzbq?a_9+09^@Vd1_emE0Trd-K?4Q`B}f`( zU{FR*dnyo7aLQJN6t-#z--9evN49~1K?7-20#cMhhA&{{k``*{Ldq0vNdDA8mm}OF z1f>xM2GkBLO67|%5>gC;QX;teXJBAQ4JrmkK?VUfK}I1)(AbzNhcGK)>*1z@GZ>QD zEU0F)qJ|lAHUen^XAQVn;Bplt40b1|AYn!|jRn;-Rz#-4YA`~Y8Eyv^+)LP4kkiov z0+zTK7}$`K7Frt()VzeY+zI&zlmI}DD;7xNWJUEMB=fRCgAd#+VTT4Dn8Sgn3SbR> zPN-sVe&&KI26IRm*#KnUqXsF+SMY>M>)1uL8WNi@JHZhM z%UECz8(cYN7DCJHNL>z4SaTxB7Xt$qEVj5|vBd+6EnZlHBQ4a3cRFg$1f>hQJ00dl zDY)Pj_?Ky?!rBBz1k0C@mQoPmJ{HA;A4QNjm{5`I{epjFr?Rth3#VB`!Y!N4F4 zvH{w<2REifKsk|tK@=noG6j}-#X#bqm;m>|85lrSH@MaWiAf?AW1wamG|Nh3=06$a zh#;a#2TtOkTudk-QXHGm84R$6pkRULexl=(fdPFu z5){P9L62NMhKge?9YI<^*27{2+7M@85CJC*2?hr6pb02tf!g5Eco0WaI1)%PC5ah5 zD5EH#fR%VJLlT|{BrrrV!wqFv5fpBO0t{|EI9-FH6rQ4BWjm-FB*DPI3Um0NX)O?)7Z7oU zR<=P)Hsr*QT(*G{KcZwqk7Pku+=8MD8grm_0=P6{U=TryTVi5L91^L7B8*xk2xfev zmmtF_)R2eNSfJfb=)eT(PzO9efU_G)en7AKA<+-Y#z;ezpc0P@(whWjUv5}*@nGgv zLNQH|o1r5ml(|_AJpRlJ87f8^Z-P09lBn;s-Oh(Tg9X3|#090d81pj|WmHF);ALT6=tmvI$FZNuwG7;&s^A z3OL1c!15I*EMIY9jE-`{91ZSY%WyL=@WO)>oCn}x#K6FZS|TD1+JkbQ0CEU1Fu)s1 zg!~IFM8NTbn5jf9H$YSW&^!+sAO>yUU8hbjig z8`A7Q0|UyK5teajXgGk{xYAHdph;E+kqkjA0>CX)P{TzIslbCz@qt##;acaWh;SSz zqLq-Wkzim@hAr-5U{HZELF>F!k<$anUNu;bQO8Jy8el2NXtg1DPEHFNpx`tJ2_tQI z!UTshJYj;&)`2<^I)$f;#Fb!R(1W@dBrCzdppV2AXJ7!$27<=#L9*fu42Doou!1~c z1o8y5rvOd_#-Nc11_l#Ywn1Jq2UcJPD-O&-T0xGC;ErTvV6Xsrk%7SyG*@VaZ~&xL zg?%;@uQ1QpWU=Nzdc0djlNQLEy*&uR)s{#ioM4dBS5FDVOMhlUd z6`V{#t92mjg1{a}U#$ajBWPS0%j6Mq&f$VP0_-wSfWbSX+|X!*CTR2_3`F_{mALTq z&5xA6L5rxs65ts{Xe|l#EhyaxLBbf?;YJQ)5s>>C7(_u~jL5Kv89QwCK5=zCYS9J@ zHfTY`25A8hQ^KK^PTZ)a6PDGz$e|8fIs*<0NcIA)nE@3h;37&8Ppk+b#R_N;51N>v zkt71mKH#;UqEHSvFNuLN1ae*i59WaiF3@luv@Z=^>I4~4$FkT7)MAqXc_w!1S-ZrafTTDgB68@$__+{4)Fz2Uyp$SHjMx- zSr7|$;1Phne1!wqS)j<{1UU@Uet}FKfUd}cmBiqt4am*lVIBqsK4iTN43NPd2?hoM zSPKBM(2pBso*6O|PsoqZ#thgOEXX|~#M&s->=!&g zBIduKxrxZI1E*s|Ll9C7qpmFkmC2CJ4)C?2oT$Yg7i9Q?D$PFRa#IMNAi*U9Bq0k! z3q-KXMIcLDMBxg-)fz;h7*ruRzF-TvxZw-AK+Cm2%TPd#5wH>|L?#6<c zEpY}0O^9jG)yEPfKQ9=(j&_JaQye*)Q2s@BAP@@f0 zTS1esA;?A0x&_?z2W@l!SNtG9g0?z96RioP(EuG5F-0;|oPog%@O29y9ad_Y`r1_o?% zFrZ*S85lw&VOUoVoI}NsjFMnrKv{1Fie-56MeJ`tiULVU6d>lkpmHRHIDCyMIMpL+ z8Mrt&)e#tmLyk5sNVI`h?m@O}z}D_TQUzo!9g5%Z)GnY}6%up|3|O{}K(isV`3*4| zt?EMBOadymL?Nbu$`UbH{UZ*le~>!OkUkYk#~G63F#;MC&C;NiuUP9QcykcB@d4V? zLm8gS#K6GBP|wJ~z{vQUkC%awkr8x=0f?`sr?01{p9|Wus#|Vmq6<25Ai1an?-hwD zsY#iMdHN-}1^T7MMf#a$7G_|*U{j2Z^fU94b4pWE^$Utqvg1KlDu9(Hm1gFoq##*k ztY@TWpiiV>4A>kBwTOWsxu_&1Cr2-tfsuhBGq0p5Gfy`&w;)F^gMo>Gp*%A$uS72c zbkcV`*ohE!Zf0J2W?o8a8iWhlIbBkm0^ua*=Ysf&1(^_jIcR%rF@&87I=wb85o9^+TiW)4Y97vM@3K zVzXgkWZqG!$LyEJY&4IBiTMQEE*3`SZIw^_ZZHe&ie%nh&!ND4gu#Y+PkjUn6LS}* z9`l>pG!{nY-by`YZX4!`wCHvgCgvAlZ4)Zzc`)Z4$>iX1NmUNamgOCCnC| zPU`9#JS|PN)A4O)VPd|_#sRW-eWe}?6Z1v3c`S^~n=8{IncXI^Ffq5WgIv&F`RUOD z=BjzjTpU6iw#@b%C1-Tg8JJiY+4R_^G7Cg-bWUHuobV*lZdFt>bEOxv%q|XZ4t?hA zT^#zl`Ua64XCfmx(slJSIMO-NIhHd=GHEl~&h?2u$y~)D#Kg_O$jAyhyo}*Is1%}O z0>z)E5=-*)KnFlUQWZ*y03|9|ieO@3fX6ozG(A942WYP_11r;nD=pc~ij4lJtb8(d za|m;YaGc^0-d!9SWv$O#YQxNZg2Tv`L)bc!iIIVk@e>0mr*5EkKro~yC+8++<`MQQ zJO`oq8&{n;si8KgR^& zFY}q07#JBr*FG~b9LDBrS`{6jG7f){f?NbJGBCi407eFeyu^~?lEk7Cy<|}Nf>a=Y zqWm{F3O8Z%3^ofv4xxr88Pbd6i%Sa%^1;pmIT%{(F)=V87j;Yw44|S7Qq*CIM1gB9 z*~~_am7!nDm=#KxQ<}bc`!+YXaBMW)lOB1QS#S-rQW|r~JX>ZSn}y7UC8^Au5s_`p z%@aR!Ok`qZU}Ss)_WnA$d%q;7xVW?cl7NvDDL%i$Y6d1y^~%Z=aJ?m)xsQ?2CV*LT z!Uv8r=B4!S?L5b z&n`P=!6xP+FGo#gzBJ|vn>=PIj*``-%vL4Luj-nZMItziZM7Uy*D_bFVQ#5E!Lf(K zj!8|D*`7(8ky$5#*@k06nT`*$7>7+Mv)?CX5e^$WW@!$aQjV+o%zNuN6dFpcncEpT z^q2$~7#TyrwfAYdr{9vC;*yM_6iCV?Bhn#71E@5F#4d6@4vNnUcU!WVA2Kjjol1FD zw%ee&g}K6pncM3#^OpKGqRavlm~%_~Ic# zhr%Rg!FkMi6PVN)7#Tr{jETX5lyGGz$tliFhE)L!9^jJ2i6j${^Oi2?yiZ8@GVBD$ z@-9-$qDm=MkXoFY4614w$;#Qqpx!__B!WSa%J85in^~NZnUm4B+1Qe~Ajrf8AQR;nz3pNnz0+;&418?Cjcm}Jc1#Sd z#0Cb~Y^o&X#N_M8O+`#s3iU|B_{b|Jh5<-b zIr-^^2G~>8E2L=KKTwG(H$Mfd>kMACWHa+JGBWcuF>^5~GcuRyF>~p8voJB=W_mJ_ zg^_t_trxfyPkX|q56%|{z+M=D(hB4StbSMk^8-J+AKpUzFd5wsSHb;+0mwZC`Q=39 z9)Z^_+05q|7#W%Qz0hK122&a+R$jn-w2MuDi5CkK^8}_Q4qFyR=C8F)EKJPZOdOwB z7@5DKq-B}BA`f(=Ekm2rH(D>d_ zrU@*J%rN#E7DncMVDUp>@q=LYex?W(MrIhBLxF{n`ABWabQUJ&txQcUjLfHNOPIr+ zFz2peVPgIScGtw(2^=OYOw2E#_D%=e`x0#LjM|d(EKJM~!R65WTF^M=L$C!4p+Uki zkBwQE!-kocNsp1qNtA_&c@Yzn8p!$gYS$Qm^9F|(8k zqW!fcQ<&{JgqUnWcC7^m$-3GS=F|zyCmAL%X)-V}&IMNspmT@mT&ou3muC`@vKM@8 z$!0#yzzB->ZD1ds2M75kCJs{P-m1=QWZQ$8^le_~-`p2Q5Q;oj9mfGa4_QKC!?15ol5 zXXX(RKOa7~WHTFstL<};YI}37S9bR2IwosjU*>WSAy`E_V67uWn-bCZ0JS(ad_k&a zK_|*HF$_R9C@w52AtIPBd}+yMHUtOr1xPS&0vAc=z-ehyEhts*XVwE1b2Slh>(+6U z>$5O1Zv>~t!{F4&!l4h!8ce3b%v?>(C2KfTzkvHGkm1h3>+=I&;XZ#1@%enP&tc^+ z$mgfQKHrMu^Sxl7Z?Boakq-9p3FgXA5dSU%w?;aMZU<);CsSiCk%1vCH9fT?HLpw$ zJjs^^Vu5G(z-jSYOExnfqnEd#{^ZDX&k81X21Z8ENCgwafVi|6r%OM8Tq?=v@X=7I=tAVIpqoy1xL9tx#Sd={4!mE=R4m*@j;0zbfI z%UW>HYbQ9xEgk?TmKEm}fDbi>gl2I`N@5XoBnf%65gaIpUaiBAmTYD&Mq%&(c{SMa z;L9F}nb=HEDalU+O(+(Xq^ zIVqr_3vg+TXgQz_TU-G7f)iXX{{UCTU9}M$*$pgA%%8!Xg^9Hh9Je^$M|os|i-Mcr zyXj_wFXM~4bJou`px?K%w=B8d-=0S@{P~{`=rzM+NhcPY4 z+BSZ^Ybmp&4Rg94v!ot#`IESt%oQiDTkCV|Wbtl)~7Ph()7s2bmnECjYtcZIi7ILXWm@Di}@^r9&-st8gns| z3L~?^iRMP;=XFmQ18k?ycTJCEmf=W?XiJZYjJC41v-O_q4b#n1yM?)nwPfw*7H^LE&q|rAIP{obRDIH7 z=4@gX=7?ZUNn@62Virm(Pqw!#XHpUY4Is?ncp4SS?9Z`=S%SlhIYp0IhQlTU>=_=8 zYaEe{p3JeIn6*!M&Ub#s?B>O6sK;zL?<%vp-tN7-nRz*Oaoo63xR&`z-7e;NjC#y3 znK|^nHoqzjw=FhkV7^qn>-!BRb-~Wv9Ja@!m<4Q@3-l%x+cB95TkrPdC}S37(qm+n zoKVc6$o!6(!)reC^cs#dBiFS)93mce9%jrHHZIH+Ub@VJyD}o*+ohLAGHHl#L~cl5 z%iL858Y+0q_=JU#d0w3t^Ebwl)y<_vb|0CmN|;lbbU-7KjLg0D*RF%S$Z_?iDRZS> zsS`7I8uO-l8;~bt)1q~4AL}rea6~Y_V&L#%w)bkESjyr3j#)>K<7DZo(uvJ`ikY9( zmN3s{(wqF5qm?7ddm@K^F|%;VT2Sb)Jz--m;jk%NyRx*D`A_XNX8%vjUl@1Ua_p`& zH;4?)EV6PesOX+CF*0mYsr$|JNRT^YE%DjS^qp5T)^N(tdUChzfn2$5AVU~ZwEWl*N z$n4Fb!2FycjX8%Sf@8fm$69X=TW=0~4qH$CYw)HK?=k4D z2K7MXnr^#h-)2$~ex`rJv%=lbGBe7f)V9$+5;Q7O3(6r6nLhb)2sblJuW4@H=XpJ2 z{`~9ATpVjay%-LVhgf!lm=J>beQgtmZLv4UM2=D>b>Xt&;&gpxE)Ip}Db1+{>FKum zd%gAb4VpnpCVF}|@6n%>&aA=lgjt}8SwD^AIrHNBCgz6>O&q4oGwb!3Z!_pI&#Pa< z{Ends99mQBPcYwMT*Fa4arf@syPG-EnR%FW7@uERyEclWIeo5AB=e?vjtP<0rM4i~ z_kdmhh3QlCZsuimpnP_g@fx$lC*};B(q?9{CXm}1nMInIchqs5SPhO&aEdPj*;SOm zq%N2W8pU8_YXT2$GqN!+t^-eum4b)38JX`e>Oo|fm(=OO#cVQ4t><&hXTHk7F)uUJ zki*^3-Tykr0uPRL)}KKpGjnn1F{z5!GB?z7Tw^}Rcnu`T*2KmUc^$MIk7Isu8Al9r zBu5(aw0bY*R}6X_+Tg&r$Dqf&uzn5mJ%%Pwyq#y@5L&Mt+01;n`UG<`t6u5qGUhqe z9J`n-gsrcqmo_qAW8MWanfVC=#{}jTwH))(^-DRtC)!%;e@0H5H5{d-yE*1JLsI7D zx@*kS>rXHrXFS2o%khLGb@~-U=4R$y=^T@ppHy?CF=s>o4Pg3QyH6>57$MMhJ(iC7(s)B3+lX>4>Ol=C?>4cE(bY>jYEiyV-JTSM=7%` zhu&I_&&(MSAiEjaz^-Luo=^=A5M7XBTM&`%&2iN?lKC~ugeeWBrE6EOXWqs*k3)?4 zel>@XKF1!AyTiQKMRMpfPhe)!XY?#vUB-OACW3hd%RJ^gbsTG$`PYEsmW?BVjYFx6 z`9{?m=GCk=%vY<{Fdt)XVt!gzQp(}Ye3h|e26Gc5lPV)~XYD8Ezf2{kioyEkGvBV| zSi?M@iOHOid1Kut=7)?WE!M>>Ow1o^OIR40Coq8qoIZfr6Pawh=Yy9ryau;0{7I{X z8H!7Du~nW(l_aP#ydcw>&8);&63C(KqqEl2dqHU_IHaC~f~x{VSb>NJ5D^6;z+5{x z3q1Cz1LA^)A{Y%pEO!tA_Al5du!JW_Y*IRhqPK&Um7SHop?kA|X9%;1m-ji2a^{L% z9JZiZmr0a?krC2lC$TM^oL`KsEgc}&n$4_=wJm)aJp51enlNyo?4QTT7fNc zkXtrj3o%h*U(@l~oy;sW&)d`1Q$Ia2vw>M4B8NkYLnOVK zS(HhMaSyZE8fI@BX444fWpxw2a@4g2a`=1NGO37g%(u46bZ63(Jixq*^acdwc3zGYh3L^MVQ+YdcWBW@dZBR(it|l&F}! zLC$KNz^=-bJ(JVy%C^tv6v#YK5n3AknVEkAvsQ!;vm%oc zquu-k*80p7>mr!V=7Clj3F+EqcylOvd(NM<%9c4sk6AS$l6ghlC+4S&C1-b+?zWve zk%ftQ4I^lp;%XfzTd!sWW$~+ZHr^bz%rEOWp8R2!=MVzh$2_Z^!v+#*J8!jf*jh6u za_BK%V4T40HIMly!@S+haU3>#n5#G@9Dz6wR8mE-FSXiWkx+U0BBvL8_r91`=NO93&t!r!BVryk*?VUc~+WRR-X{oioXJi=1l=LN~ zr5C;X^{qKF%b2q{nwTX@6#T7i!I8$sp#ZAh(?A3pNQA{2GTeF$985ub=nYoxk7{Nw^u0UmC2qM+!)QY@B=u%{) zFaa~+9TSk17eH3(GghAR_SBEEvh#Cu&?@CHvA)4vd4ics4?MHVVRQ27#OutlYodw_ z8f`i3qO81i^>uB%ndLbYn5*WQGFR?m)?LF~n#RmMVFB}|`ZZB0291#%1|W5j>CC4X zz`@AK0b0MzI1!W}5H%bq<1)_Q;=^&-HaC(vex7yY66VkdW^Fy@gpwONi`H6C0;y-4 z!1e{)e2?;CR@2Me$(%QjIg3M&SxoOba}=l*$;iwz@AFA!>!#ftce1S`nZqLdIFcf# zhQxpe=+s$3y~0q?Rt@3@kf_jqr|#wr21J_2*q(tJukcPLGwQNsX5?kd%qW{WAghX? z%lMcX7{CTXN^|gtPfmVvc4`XN-5H=%)S%m%&3uA^v2+77uh-iCbnBQX7AEEvc2GO$ zbp@!s%;*b>NDgrEx0|_a9 z7O%i)kUr4tR>B%)#S-TD3Hr>+917Ezx#q3a)o1qBW40`@Wp=Y+w$;0?59*bcr%fxb zw?Dm!nWx0d+dH$Ac}Kks^9hEM(qiTv^?KmWXT=ldJ@vbo&oF#qHvYuSug6@d$IKhy z>uw(kDyA7Zz)fEcaH9dzspZ!LIfA(mG)K(H%&(_Ee+Gx5A#*8*0*9imz5$blFozto z?lt?}KHkOl&r6v3nmAnSJ~!)ngBsP$OlqKcJ?7N1(o$P%KW$%dhn2}t9AqX$juG4} z@c;>cGemkibD0gZ%@a_i!N#N{1S)`<*e0%H-cip1@&boYN&6;ST_0xQYp;En!_$}* z^dfib>KiO%7WL9+&O0%mxw|%PBJ&BR66PJXdd%mUu5rxQ)d%&aH1(JZns)1Y8!#s{ z&1YU#JMSd(bw&;^kmge6{|qJ3^$VDFnyNf~bZxEdKzWs!?F85rAa^la`!wr%XX=8A zLS|6ElDT+6Y5J+BAa^eS5uj;zMsSdUlrx5d#6ZxRDn3Xu1I3lh0tYh9; z-?ZDOl=(123A4i|BOU!}W=jq|W4kpme;RG0nirP9L0v zSwL=QVV0W*iWz(6B+z;vMmETz6Hw?tyk4r$WB`hK7Er2ZVHO9eVzFmV=1?f@Gx%Vd zZp|#>Wxto1x1_K&rcFOJ-9*=RJqt5)V;yMnbt01&3o|pMZGDhQk2ye(g_-$1xL?=D zWW#J6VQ`X}{{#y&^P1WwZx%-8|BPPVYjyQ?U6?J`FuUt9TiUQNGasu3&&M%EEU+?Q zVP@W23o`jIlMOSc7xTvYdCa*H%pVxmFgA1OTW5l68_?+~Obnz}$FQ5x8KDISyoNz4 zMnJ^`=;CZq&%$zphv;k^YFmjv(wV)Umff^2ae#gwX;3huW!xFblXjpm2rQDwtZkQLycFf$!FXUTMt8z<_VrJ-Fi?h4gw9?>P!p_j(i;LOpbg!ZOo2*0?jPWd86i!&wji8%8qcyaLwxFJcqa5L4R>2T(*f!b9d)Q~-y z5o}j0$gXx~XFh>87DqmjW>$ATgB(5;XFh`nEF45-!es3dvl2EMD9U3=Fu!(SwnJ0kq8z zwCM{Pjs{HAp#kZ{9l*!o2o6XQ1_lO@+JLJq*|H1_49;pF~xEVn12knkKaIGb~9cI20 zFDo{`g2KFqiGcyM0m~T@E}>j}EFRnmd@P`J3X)rJy(PO2Vh%W+rf@-$r!#jdl;y$= z@;6AW0%#)+4u6Bx{9s~W0PSP~-Sz$u6zkhi}^yF`4Y;&WFeN|a^_Cw3vlL3U~&di&RCRqa#w@p7(i(O zWGBPzmh2-;3=DyM9IZ@FysU2R%xx^qtW2-D4m%!mJnnduhlK@{7O?pTv@PThGXn!? zgG(+XOflT;%xB=sr{l?I5XGnC%x91RCY>=81IRrfvmEZVWS295-2;xF52c*?l=SlmHnB!~}^+wiC*dp1Nbw61W5 z)D;pzTzmq~NY#KNH&Yx^HQ;$1WRf$VfGd(3>}4+~?vAiAFo1TBaNx=BFW49uKwB(? z@u=ZpXJ7#Bm=MIH26Ue_Xww2O4mF^1B7~iR0km^K8eEPUgoDxxwmfLSz`)SJ&cNXC zq9ywrBd9J2U|I`Kyr9rvapYzS16MolTzo8^+z=9*IUqYvurn|SylTlNWG5)RzOXYe zfEJ;rC<0+i{<9SCP(3lmWKy~Dx409swS4;&8x zIgp@r;{sLX*z|zHQGkP&k6h2pdiY2GFv?S77rUn1ZTx)0Ya?jzb^FKWjj4`___e1j$pNuu;f@G}W+{bD%hRz{$V>T5+}mp~r!# z3tD(Ma=SuVZlHXNElfb}RpDY_*zmn28?+${R#r24!-F5I-Jr0H;bLF_t>aP#hmS!# zu6zJWZyj6=44`FGxawa}d9#L#fg#{WOZG3Yc>zoX;0VQ@mO$Zk2W0=RmTY3M zFZkV(4XQK1Ww0Y3PcySKpAAzW7axx^w9s|q#uolA3=9lQxEUBg%P2rA^)TDrc}N8( zsKxEc9fnrAx^gpsml1-@+3=?&dk-@>e?sefM4Q@~FMxS2BbJtj8#lOa0qHMbXa%P~ zkiS6u4GgW>&5*POts|ZJ6qtOt_;?(l{&M67)%PH^4vekYJ<`Z_Bifm6d>Zff`;|!ylAqZTJ`%Kx6)(C5G72E~p)lz{kJ< z8l+!?lIBq3NC_04=sgT)Ze|Nm0AU6kR`-Cy=L{bM186As3`%-*)C9srrkVBVT7 zgJP~5QomaR)Ck1rcsp@3VKdj8yBxD$26MlHMQip;l(d1I{|uNau{hL`n<)f~urtX0 zpu7)qzkp?Hwi=H13Ml==2r)2##!Nw5LlFHVWIsAEoy1}Zs1pHd3xf4qwPtUIxE)@< z1TeKDWmPBc1Vm-S0E$PDJ_hU7Y|xr(guMtqmvW(%-7egq6pYgEg4rKn-I@(rB7w~u zrf4*C7#J8pZF-RX2drDOD^c8y=x8}|d&Bx%pr!%V@(k2|nj_4>02`3wcYsmUPy3?Z4hsV<2nslg?QxdjXbejy&Ii7BZ?49*#e zMTyBJsYRK^C7H>^3APQ8xF){?3 zGB7ZJT7HZS!7#^z1_LV~3cDE?7^Xm&$g=CevnU4h%NZFMzJTYJ3_v{-uo94Nh`b?^ zydhj3RE^F6tz=*b08t;n%rLN41_p*jj0_B$z(Ty3Pc>H^Z^#j zPcbks+=V(0M1O#|{T~AZ11DH_0LZ!jAWWD+R~Z->SinNTAlaV~Cb}#WgTZ`|DpQCw zNF~S|kT8g5V`5-nWC-SFVqi#zFkuFO+yrX>Ffn+{2k8PygV-?n3s5&RGJsmJU{R3M zAzBQOv>?J5BoA^6BLg-UgPa3$2gqq);}{qi3YZueK!f6p3;`hOB-n}JAnG&|0|N`g zXU2f}Al4PIL;#3lW&!yKG_nIW1Z2V#uxt>BIu2$AgD8+bkO@IZCIlf&fTt^j34tIJ zPJvAb1yL{)0+CDzM3@i?b^z2D>%hwh4d;XC6JR64KorObMuq?o^#Q5^M1KLR2mp=s zi!y`!69%GGz{~&;Wdvr1nJ_ajID?r1-pmXPsSqZJ$^$dQKvX4|833ZDf|+3;Y8{vv z0HU6PnPDL62bdWEqW*!IVIT?;rto;qVqjp%gCtQ91wQY{&51BF z1cRE@Nnky}pjKoVgb52F&?KH0L{d^E39wH7?3Ys?pugYQw22r4hW@9L3 zC}2>Z4`N3#Fff4lr3~uxL2Qt2PKIKJQU-O95)c>U45&~!gZg|BH;n-_@dQ>?4p9ga zDMAq~V^E(D5&=0~0AgY}gL)Z*`ost}_4y493=E**bVi0S5CsYdRtDxbPOaG><|?os z;KfBF0|Uc)aDJZ%8u|r$4IyR((t##65zGe>pxscQv1vwzU=RhG{$ge*u0hcQI@5%W zfm!E4XZCy$8>9%Sqy)tUXvlz(Apk^GgNueR5LL$r%T*xOSBM0N`T>^!u@b<^GYmw5 ziUmf701&kvA_{UO2!m_^O`b6_1c4}!VrGVkTk1g!ka9+bAP@!81r`VC0b!6n&>$8g zLm-F(DQ9MwxC2RFAd|%)pG{VP;@Z1{VMUWy}l=Yaz^L76yh6u=W6uNjD)(kV(>D?ExT@ zY#>aSNde3Z4Dn#?!5}J~8Jx9C=7Y=u8N$dAoWjb$Py*HkFLXglA#M%^DY8eE-OJ3t za06l{i24FCvtmAo0h(V!O6zZ!85lr9ObjOQECLf_W|+7Ko_s)ppTTCr0}dnv(Tk|V zF0n8$++qQ(YeZyIkQgK^fqCnCp zMkD0mMuUVv>X3~#Wo2Lhg&}e%fW#ni6$GL{(kMnFzFVBiD?h{1di z4N4=748b5}pm;@!3MmE#2GEEbk`Sn~4VtKAWC#FJpc<2r0bWdk3erX3k~08A-3K#+ zA22X5JOwiYK-68{}37L=7JVs+&R5+zb;L*d{WtfjtdY z#K6D+8X~9y8v{>`Fs-1}2+|9(i4nYp4y@@U0|Uc7untf=0W5Tbfq{Vw9ACj8iVw^T z08wIKCOj3v^n#2AnZXX04g;wag)qV9F)%QIY8^$NU|`t5#K6GI3@W-Nf@uSAX%}Y2%)sCYVZv0hGecA|G6aJ(fSQ(! z;HB_j1%ILDAf@e>ObiSlO-NZAq!iS5V`G>Hj%*McG>6Ryj!KX$7=wm;U`jx2&=fYB z642-mObLh$${a{a*cliYAict95VaAKz!*UEL2&d(gD3%Tm`-E>(L&%Lj|Nc{P+<_= z1Q7;Nphae&bPl3H-91KzXb=UO>jnvfT@G#>Lgw(0LIQO7;Zg<$1`dX=+(#I{pJSX4 z;(?B^I)DL-HypS%N&k#4r&wr3q3+q(3E~ z{se1bU;rQ63>xicWC#Em2$Dwf1Zc@6NSKLXBB(V6)&y$JJOPI%JOzTp^+8#RVII60 z3*v*O6B!v|%o!LMz{j^TfY)n*RD-yn1`Z=b42S|Xy%`yzK@@1Zo)MuCG;#=9^oZmr zkbaQqu%rND6J--9sE9KjR2?xg1b`@z^H7Utko};=DO^at1@S@dU}T5^IR!K-f#eAg z7u20$WQYM#pkj!TAsR%1Oh-}(8p!|!4U%s=7$8Lhs00Evz(H+25F13NF@gFxMGPGO zrRIa!S>T?d!Td@l28NwbHi-6MMyLyhHUdFrfErexkmUX{GcYuP_i7l-2hj^z5&A&v zT~N7)tPBi2Y@h-J(H<&cWMBY|a)6uY*BBWXosQd;qqd}A$xUh=>Q3_yY zG$=TlAWV?&OTlGa42UWRGowNNW&%4g#+a3X0o1x-WQYd&crm!W83Xe0V+a!z`ydQj zCI(u{$H))>qCmYkMuuRJ3n9*eS0NyU%wXpYEf0b^vY<*IDJ_CFmO{OP6sDli0O2p7 zi4?F$0}!(CGQyaVfdLf3NU0svtbz!^Re`vmxMyUD0a2j1XJkN50%(!V0*+RAu@cG1 zzyL`r0U(7CS-9b#h`9uIV2lbA1A_;uUI8Ws22i45WI#?kAdi7CNG~W=gW6n73=F|w zy#Zcq3=IBkpbitsRu-D1v8^T6evR>1;{E^1_p=_TyG#714AOJ z4X~Wg#4ynTl)FKrV2ljWAPSVxLBfxi85lsF77!bjkwI*bPeAw(69dB~h!;Ry5C)l= z1Qv=0QJ~@koRvW%QuiU^AY~v78rcGMFOgCPNX196su&RU8O)3ZQUAfr7%&CNZH&we z3{qfb42V($GowM27MK|WqAbD8Xb|NDX2yUhH!w3AM1j1@$Pfea=@W=3h#7fcKcAa5`-1c3B(f)&D}1SA7;Eh7VQ zj&^}KgcO&8LK%dAfeLuAcDU`JfCL2_BSSQH6G8ewn1h*t0n~d(iY1UfsB5r?5J(>g zgS=-Bu@|He5`J(efW{o5#()%qFesiNLU2`}o;#?FWn@4uYLUuUkUkL30PTc>SO$`H zLJe(D9R*tM!^jW~qCkEIr%RBVKy??G12P7Lw=y#@oQ4<$lK%ipxz;YG_22jO^ z6c=eM3=Bmu9jput5@2sfgD6lafO6|ERtAPY5MdC-044`@yDNI0B>}Rm57!dUp%!~$6AYUOBl&@GB z7$8D$8$f1)mYy&%OymI3;OmDNfGhzYWQks$~~f$V|GfS4fb*cc{quo+6t z2eA#oqXJ-!ASP&h0VWM%{{_1y2t7bCQu4s^H)?m}3LE1qcK}zSK_6SHHBLkB57?4)Tz+%ih1_lO@5unZm$QV%gAcZ}s zg%9n&fhdsUkh?;lAOdy27#RX!VS*IHpcw;*<={a8P~(=7Apk^mF@VNQ3K$Gk=YyCa z?=Uh1AlwgcPa#|yjc^@2Re^@WLH05-1R!MLiR2Ok0|RJ{5hFu1hywW%(Te|I4+?w8 zL|8P40$GkM4N3tZe4T-T0d&U|BSQd42S^!`7lRoY7~&zJ52A7y85pn`62-{C0Fpz} zSp*%BVq}P(32jX?GDPoZWMF`_TB1QyhLB-`Xi%hTffFj+>!8_8(0DhJiR2iw6mE3@ z$m*kDufRhPBt(>JK>8pG0}##*KsXz2B1jQP1yT|PjeS6b;Hp5Kd(bLeMuun*1zMy6 zN_8OG0+JU%6ew+jgh4bYQ86+^gDBAQS&%R&@<13gcmNt>Knf|4Fvv1QR55_ZA3MIawTJq}U~vK5ENLEZpiP~i^R zU&qK008$Au7s*VJ3Q#=41_wZPfX13(d=MMdvteSGn6aCIf#DE%nh-KF1qx=66JcsW zW`QuCcmvG?GBQMiD3ETD^FcHyW@r^bFjtdr7g7Yl3}a*n0J$6Fd!)bw1s=$2P#=O6 zGcimA_1Hnd0v^MMPNaeP3=9mQpaSJjT4qySv@8c2e|Cf z8NxsmsIAG!5CEbeM}SXc0MVey2c&^wP>BrE$jA@`QVCj!gJe9YtpOTGgRc1j1tS+j zIfIc(8H19t$b1kVG|tEk7MsYx1`-4bfT{(4&_sf=0Gp8tR01Rju__p3RWUf$gF)0( zaNUH*RH$8$u zlpT1Wv4jCcyF-LQjt04pks%mFfmWF?G6aAq1+c?{L6i!Z833Y!!OUO~6%J+wfGCi| zkdg<;*{a~yyTN=AJqye>oDZTwORGQwnjnjF!R|4bznY1GK?yv|VK6@qbn*%~umX~p z85ls0Vq^#hQS-nm4CjMrP&k520fnF@xNBxGA4G$K5tKndG{jM$VOwxufgIutc8I}z z5Djt+GXsYL*i{#x5+E8Bt4s_NT|hJ!)P*407|fpNf^fORe2@>OLd9n@F))C90&>?L zCI$w`DP#uoUxPv#>~@3spaB(#PaWoi=ti*kL>CYZ@*^_?M*ujzfIJCy9muC3UxHi& zqCvg{*#M$Jz62`*F#^HCFwq4RH6X7uGjJrp6B5YtpkY0bP7rMlPAUN)3e=QkWC$%~ zWMBXV2_r)&h}r-R5D*O-z-43z0L2_A92glwK|v4#@)kn?hywYVks%b_)4#z1V=x~? zvqGX2M1f+Mks%aBfnu1Ap_HM3L2*8a4GIDfznno49tw;Mp`b7T4Q?3xtKr@WY3`O zouC8=qCqBr!WkS43=9mQqNbJ+ycSDofei@+QK0o6Obi7AAOrqFgh3R@5Rfp4 z1{sDFnkQHo7(l8S8G^pEFff2rAXSSXGhd>bgEaMR02*WA08P|PWO&HI!0?0vJXQ^& zHuFJ*LG&R$urP@7m4*m|=qPEhFo@ct01<|H@QwfjL%twL%y2%4W)TLh=9&1RE?Vrvp-2oWQ7^{8a23V@F}lPdszCHyai}T~;|x>+M86aVI{`!qOG4Fv7;2JW zaS#wD` z85r(B*^lKJ7&O4XH=G}@z`&3XWtS;1FhD{Dv9gSTmx19dFUSmo`BwZ44B7k;_E&xe zhFk#%8$>e;f?OYbLx_O^6kd!B!B3&V#>fy13NcV%F){>$yweHxp22)jETn@Y$6)?E zc?JfM8RX(83>KmH+3K*L9PL-00nLwByiu<9hPQb_$3Vv+&6VdA^oNf6w=;uP#IWI zgAMp72MKF12jme@V1qfZ&<1m0!42lX!W+y1JCK2aVWuzx!!fYu!eD+t$~hoM?*Yq( zf~dP-W&nud1BXHoh_V*}yYNFD$bc#_Q0Rn$C`c5*+vuRs_y!K%P!I(Q7!ihvf9lvK zo~dI4(FWQYj0|GJ^Ffw^LY9#s6hwhc#jX$}1F<9&M1evVyFyrSW0!@6KXzGIgkYD2 z#SjizXzsu+3yVYSvam?SE(?og?6Re*@EDhy-_z^n1Nv~B=SMj z9Y~DdsDouXW`>D3z|jwi2QUX#K7l!)GD$`PY8I&QQG}E-H|jvePcV!F3QSPJ0@j0+ z+;7yuiWaa8EM&kOSU`X|Fn@zNFmHl6$i7knmmT4t1Pw}Gj11v0Zy?preQXR2E5VZh zffv~r7;dqFdgg@;9x5Jc^ZVHu80NEs(s|&1b_NDDaFq~vn1g}g8-xj>K!*shGeC8K zI0l?x9U#hz6BHI42J=CTSco`?DgcWY8O#SUK0(ACxfmGSxxiX~ax*aS^MILRJPZuV zU}g}A@&GdfK{e5JJ|vfdI4{6eQy_@?#|O0+#E|C)n*^eC`9b1^2J=A-P_fI%5O|B9 zfdN$NGBO0hYBIQYK&2HZUobKRf@%d{8L&y9l4_$Ih#3T;KoQ8u5LhkGz%X4NEDEAP z1ur8*AgH(kMIBO23kvZc;0YQ7a0u@QUxZ*VA4I2dfE+mSMI9)R#krsyP|&R8hH^j* zPym5SbPx>+5>S@|L|gJg6@jXj*U;((MBf1i$ix?QAO^_eARVAOXCpX7CcdbH1p_m~ z#20m-5(ZS8fH|P@8&su$IiPw4RE~f-u;2k11_~cgx&}*tLI@NrAPG>d2`T|V?giDF zpl|{!0x>|L1X2VGCJ-A`g@O_|SP`fW1toAW2bQ=&Q&UI5?KFe=R%{Fmpil!D527o< zDKof%gMpy~!h{7SNChY)?V;fUqCw#VvJ*r@f(5xcHk=O&B9LBK2!Yt31j7NYrVZ!2 z3NbMF3W2I@!};fg7#KixHOR~fVhjx1#X#Z)^I^KC%!aMdVP!o%hAsFNC43T6jSHn<56z z4^s0%?8y)*P)M}8bbxy=p)S%444?>NWC#TnbIT!3)jxG0#&&6tU4;w<3^MaUY)~1<$PfsM z9Z)(32QDbtf+B>GAqbXvkh))>AOwXIDC$A<4se)-fzIF%=LPvG07N;0nPDIbngD0i z!-5s06BMqH@CyZnA0(8*Kq(OvQp^k!XVimIAE;~sb6|xHBSRP{^gsauG6qCL0w9bD z?&~m6iUj$bks%C^pJCnvnFC68plk}Z3+8E%1T3L}YNTMWp8`M>)K4$!KrW5|SIhw* z3hMY5bs)!s+zc-7L0JdnYA^@kxByV#LvzjxKrRQH1#9b-+p;FbC#2P(K;e;sJRWM1u+#W`>Cm>OiH$Zg8*J zU_OWjl^9?NSRDf9fYKVsS0L@MEDx4|nGY&%wZL6xgZUuZSP-;Gc;cLTwqgeL`5+#o zFb)7wIYQuU`vu&u29?YpV?i{i(Z|d%@kMW$c{iP1X05yxjYUCIgjzW5bU*N4`kOU~Tf#M6qhD8^M4T~)h8x~n0HY_ZyxfvKh z=U@mk6fqPqC^>kmDDjvwFf{0ZR>Xn|{wv&|0@rXph6wmu6r9Wkq%d`-unY*ktB|IH2Uu$PfSuu1k<$ z1l6BQ!1ZTf#;3h*(}>pTn$@4)FJ z%$b*gAs1Zig@KCcDbTV2M1#r(Muq@T0T=}?0K-5Or~rhFuz(T~XyAd7A?Twh1H%_l zP`W4t4Kjk5|3yJ5GY~|9LX;h}Xb3dQ2uoSa3==QZfs&R!IB5ldC?oKYS%JcQ5W@)~ z4x+*!;*9f8N-!{dgS6T_r5G4MMJ^*lFsNo!gAOBsXi#y*$N(;U-+?R4U{Klug&reA zFsMWYg&iY9Scd`w!)ygmby>t9?=LkU#0G^GQo`E6#lQf{bBqjOpcV(HI%H%B15u!i zCCC6u>keQ-2QpLwssdTSErKu*1qwqfsz6~13P>zcAYo8jjgcV?RKS>dlZu=m(`_P_F=s>p<}WDHp;(6evEhr~=g}ph_Hz z6i66Sc!a?kE{qIeptN5GE(5|q6sTmtq8ApySfoIeWT65mpu#{DC~sg<1uKYaSs55W zYidDzYFQZ=K>avoP$~v7K%F^o3I;LcA$?&EHV^~UmIup#7@!dYupSTt)SL&)fEdY; zhAamghyhArU>Oht)R+b90Wm84v@My1;rs3}`3dLLG>495VdF!3JW0A`h$w!~jJZSPzH+iX^ZMh*1V< zgL1He7@*1kECXVI;t{L|#DF%2F4Tb-pi&Pk17d*M6<|Feh8v`&OhtlvcnpAO@(i2FrjLpb`}< z17d&*1+WY(X@EvXKx0v$>JdbPMoAbMf?>l@AYo8f57fIZy|Reo#b% zW!QKa7`Pz)m;-g7p(JY<2UOmGVjZju6ywmg*?~IHm=LIl0Ly@)5>!ZlIj}ql=74e` zD9pheP^f}}49o!qR|=%fa-a^xm<1jr3Roh?zyJzHMut#OUIT>?SUrd_6P)ovK@_O? z1dD^J98hfx=72I6C`W-guz&&$%7H?Hks){$7i_F78059J;7TVL#jW@HEk`48kZ zMuuQeG6wmOks%nAI>W$&)bObTMuuRJ-#`hHks%nA6hYo(WC(^ODn^E2SXyCZ2!a&C58Wg{vNCibO$U7i5hz9lH85zPr(c8`mE>}R* zcJQF##1D0#SO!HfNI8fG#VsR47|73{2n7j){0{OsBSRR70{I^#42o5d&lwrQK;8uT zk&z(`=0A`MP#k7}qb&?Xfm%}FCO^!#AT=^R5q9NW1MR+F^S6vK>T&hCtaFiWn3M7?kFN zIBeinM<^mJLP4bysNn?Cf(VyTP*{Y3!y*7gMSzobDdT)n!=eN_*a@ORQO?XT@kAYn z0g88!ogf;TsZSt}e4YSj>J-Q@=m~H@fzmiwKg{=F4k)@oi5tv;c?`_K<~6VcEYiUo zP&Ni7Z7>JqZBTXvb6|c2b3hpuRHT79uv7r%AZ6JT@M$s7AWIJys8?YyA4G%FEi=Q! zhI)`EK<)=~KuH$lelQ2*2~Z9Nb3iE-e@ z$QK|FfH_E|bVEJJ7a$LSWk6*y$OB*wsNjJX%nk5^4m5cg7(hc3j11tB2~f)x+~Wr^ zX2ZsuL2d`tjbIs&+o6LHFX}*yRgekY8TFukW)q|;oB?jGg9;t69+0m|rMbFEi zty`dE3Zg;DmYHGV6>$2MhmJXdXhSf2q6>(wX9su1uhfAUpv29@U84jXARRI%2u>gn$HI$&L zKul19!^|*oLOqB9YAQkHKul=0IiViJFa-~RhJh$hEeh5HVt^V^P(2_fH2qGf2Qfg+ zD5xBW2~Exu>Ol-pl7`BGn9$Tcp&rBlr4pzdhzU(F6Y4<>P-6-z2Vz1q!i0Jd1C*;7 z8NxsmC~ZNNftb)NG69^Jpjl)>J%|BHP*8;+CMa!z{RU!y8dOj@5EIm-0?UCIpn4A~ z2Vz2V+Jt%#1C$t{av&zCcZbftb)NJE0!L0HtcE9Eb@jg1}~i7@$NBl>;%M8G1rJhyhCTP&p7&Spl3RC)9&7 zIyALSfTws+Y6B%P@Dw5_fk8{-8_1>c4RC3!4Qct_KyEJG0FQn{n@cy4XOC`x$814? z2sRoPfM5mh%z^nE%mHO-Xw&FM9n5E78IV^%xf#p>Wob}u26JGwaug>6 zLov7o5dfl~<8yE7KvshW*ilvpfCe`}ll9;sI8f&r)QtmkKpi;HCJEaMn_zKJ z$zTi~rj7>fFbUkFjRsMN zgcuk^K@-~FI8HKtImyT&7WRDJdgenma`Qn0eV{=;9MUiYLE$?Y9KJz|IT;v0lPru3 zL0p2c6+Z^xks{E97$ZX%Xq*T%Bm^q+V8P4C5C#fd(D)-GLl}qxRSzH)pzsC-HHZzO zL1RIT3}GNjR02|`g6Jl2aE5{03kpR>hAuAsnV zWC#NVB`BO28Nxu65jgaMK*QE%aI^9Xs`p69zkqSngk_B5F3=kK&cVL2Bk<) zVg#{42@;gqKx|l;fs)w_A#h=Eqi!+>h&c;9CNp3DIYL{?B7PUZjwBq;QtTv(t%xv-SV%n&`91C&-lA;-)RGnoSvcA&V% zX(>n&6sk~@Kul0-1#1R{Feq4|a-fhk2Ul`2lQ}>PP%wk7gatHM7sN{p3`ay67#@p) zVsoMZi2e;8-GZ;Axhu-R@C_^!1frP0O^71Ixn-bY3)D{p1uuvO6=94F;h+KxR2_nZ zLG5o)VaCW14ypw~wH+fvIH+<1Rbq?`;fM}IIILO5$Pf;ywm=POMuu=u-vLwsF*1aM zDj!fO$H)-gF37+z6+G%245Far#t-B%_8;Iec2GKIW|;V+4i+C^4lK;U98mZk2dCp; z5CsZfusAGi!5mN^gT{pz8NxvgCQy+Ia-0kU11PaFGK7Ol&|Gk9Jv<-Y;S2|*R!~Z1 zWC#Z(P*CDzWC#bPPf*&#vJM0kXrQqC#s;o1cGQ6wkbn(957;os2+a=UT4D#dmbeUQ zv+t;T#Kpky1jd1dHE1I)c#Z@V#9$66kU`A>Fb5ROpo$&L0ZnVv34!N5eAp&>uqn+4 z@j#h`ks$y?fl3z+hKW!~P{3{lhh+eW0tGEX64oXF8w|?spo$sH0R>(bxPLQoM;(aK z1`f%v4(Mn)BSRRdD+nqJ!0KVOFPH;M%{v7d7!H8bL;#2ar3prca9A#7WC#c4P*8ec zWC(|)22gU9U|;~blaV1DGzbfdeny6HSmYx`5h&?_3pn@C?E>t6_k1nDPWG&DGM_&s6he-L_xiC1UwrB_0AFGrHDt6XAqBoy#q=O z%nTEcAkQEkL7qW8QitT7BgoT+N06rtkJKS~=Lo!Q56Taq(g&2)U}X-74Jvd%O=J)o zlo>#!4u}oP3kKlDCI<6Cv@v+xCICc1eb-VCVt|SVkb0zuYpDl$8IVugR%rj3#cUu3LOv|L_;IJ1-Td2 zg4_#hsRzYAD5OAIKr}P~w7}b^ND+LXZjmqp!!k$&gD5FTaz9W9VkkjU35WuP2zby8 zDL4)wNBjZgh(CZF@duD2{s3~sA3%=y1IQ7706F3hAV>TGc*KL2gZ_a;9*6?vW$4;Z zP`ikcArwTtfOr8!^?>WXP*`qdWPmUKWMl}1d5e)D6c(3^456^B$;c22iaSN{q+lqB zQUx;uK$I@Ha0|7PgDfopsf7;iGBSk1axEi6C@lII8A4$>mXRS8mR}heLSd1`$N<_( z2hOgK1tBY-Kx=)Vi@F&ZfM?_b^tue4hj~qGEgxD@(Y*)HV|}M8!H1t1jI}b1vT?X z9mq^jGXb3IVGRW^2h>ymWkfIsR5O9nBA5e8V4y4q=72h(P^*t1_j!&W56K?^cRWDx z0@ee{SfBzE%t3PQkvdR*0tG%;29$w7!4KxZDseCemT$lum=_hf85p4Jc_QY6DmbWp z5%76R4Q>Vo6UYoVh_d7c&pt5}GN{f6u|YHC>#!zUBa<}sK!$V!kn(uzosB_MOqmBP$NQfed4 zz~Ctk+9zMgVx&?8+Uf!K7f2j5r-`I|zAOX7MR39o1W{LHLG5nvWGaXWsxVZ=SIIIk+yn~+fhbNn1_oY+i5_gGYOoE4V4a|I{-FB=kQM>OL4}wZ zibUYr6oED#f;@$g1kI*SQD9);WGG}dQYip=7{r~X0NU|V0NL9D76plb3Qhs& z#3N`c%)}5jC1v<7QINYpSABuDs)DwEg04CNu|eW63=#)zPXW=O0}>e-frF;%-S}2GD`2j2rVyJ`ne1(EcgSZV|h=R`d1G$fp zArM4?HdZq+O!NWKpz{hC83I5SfLsF-1{nZ4CIrNW#Um(yL1!2;F-!~q(f`422nJCg zZGzBkt`lR}WQpX0JtPBhZ zkU|?o%>l3cofxo>m4V>~lntV9LzIB17f@kYHU@?p;Ms?X0iW3z7$PBqv;hh13=BO` zHi!mwY#159{hPN?VSWw<1_Q``sDMQr3=Fy8g`^YV{sF}c$j6}645Fc@e1Ir%=-x#T z4ch4m+A<5Gy}{lO15q(xB@;bBM^1qb7Xq0A@-GX-;T~I985ltR1D)&2#=rpb2gnqV zUmijH;{oyu$R8lBAcy8d9P0t1i@+JK_}-kG6aAqPVk<{0>=3uhA4RN zBlrk?JBZT*Ks0FYBr`)<{d^Du)0LjZ_E3Sv+iVPpsZQJ^%!$bc=WfKoIxTtO7% z?3rK?B?#I538G}c%wQ0u3TB3ZD9{z#%nZf#^Fa(7uy`;iZZ?DCAOJ*d2Q!0Vr3E8H z7$^uK2`K8J_3<@<+05LKIfN~G0Bw%C+2IX{6VnV9SV4eWw z5|9f(u?k{?XhX8mDcV1Vr04gv)f$c2myK_Ca}g99W8IjL5Q>&1PXdkLStkILgZuk{^oKf28IrB9bq^hL__Keqxqn-L??nvK*RYU`U-fC zEEq(A%w}XjD(8*ngUZJj;JLD35C!rpGXsa>d{E+E11>L(=5OO*V7La(0>K~(v{Q+R z!3ex#$pKt2!aF35EDQ|o;61pLSu5Xh!Zs4fsa9iq#Gje#K*?BPHVRSeGj z#r5++!*eoVZ-#;>6)-ahL}`GTfgs8S++`}RpATYqu!A;FP25rsD!V|}@?Hch42J~_ zBSR=Cd_Z9X&Y7T4u>*$&yrcy=eG<4#4VcQvz_1X)+z36M8kBTEnV%7yodZA=^Yk%@2e5 zl`ISlpnzv&2nJDiz+oN^qCjbxjbS1W8=JBKs8&7#DONz#889;dM1hhyBLldw0cAEe z28cUBDIb(l85x2>1rI3n85x2>6etqF*H|oMXJA;u4(gheG5AZ(2Qhbo<0A}INPsd5 zC^$iJ1Bwtv25>^X1xd3Y>JbMhHVZ(#5SjUZI2af}(S=m3fqZrf>>YSo2AxU@3D_`D z304M{4Fgdi#f%KWAgUFd1Pd5I^ejkgjD-yp01&T+fxNa0oF2nKUISIqj0|C*Ob7A; z=oXW<)upOM;4ZxW> z7u-5Cm=B^W!R(0wpfCaDTu>On@)f8}0xGURVjvoFJ5mscf|OtrT|hLbg$7arqCvG5 z=!^kSaRzD*fJ!-7l?_q@D%(JXE=U}dAV7sKNIk4}2B`rRu%JKziGzwGP(ce~gF*%r zEFd+Y=meE}AaM{4idK*~$mgKO3`iX24fNb(2+j&Ypacv`xr_`!APUlcHkgl`SYRfA z;u&;oBgh624LakUks%xwi6CK+gAJi!45IzOY{U5=8dSu9N<$D0iU&r9a70XpgS-Ta z1x5yN!Lb~iBEw+?2S^_%ZcadiVJ-ssX(yzx08yYq0+fY8G{}1(?}KPiJAjR0q6?cc z%X|>q0qpf)5C!rRObWz?)D06uK*0h!niD1mV&8(~a}Wgyrim^fzk`mC1lbCrA&EHv z6bzum3=)R<5yS?064XBcu|f1|aLx<>QK0$++yGP-0SCSe*rx#?3KYvA9iZ3+C2$ZM zM1x`(seuhjr=Xf26b~R8l=wgmeGm;vga-3L<<@#g8`J|-&qDnH?mIvdq``a;4N8eia$sef^4{`t~RIfpm++t^7cnsDV0HUBl z=K-QY!3R$rm!H zPxN6^n!l2nfdLexNFDh&1_lPukyapEK{RMAf{`H*mTE!5pkxa=)}N6f09HUSG6aG= z3Gx+41t=$iQUQn!@`ew%tzkGHM5lujNg#UG2eqz2MGGvOh{C&4p`gT&2=-AZhyr;9 zbl@f^9f0DUks%Zm<)El$WC(@DGU%)tR!Gm0ks%ZoX^ae^Fn2OCgo2y~3Ry;mP*_MJ zjpQz4XJ7!Oa&Ct5|NsC0hm1af1VD8YA6yVLc%Tfr!4u|k2G9{;pmC)w3=9mQjvKJqb0OZipa1aGDm=`)8W27=MgH35ZNC;#Y#%W{-gTq1QgKqo7P{YBWMBvcD-8xwAj2?15+n#ZK%S8y7({{GgP{f_7z;56M1gGKU?^k&4_d>A zenGwh-4g^VC_psGVCcDNApMLC0U!$GSC9%24KfF*0s(0NDPd#yB>fodRR{s{KS&&@ zWCKZn4lV?l1fn&;@g4-CKzH*nGZYrW-33$2%)ns)T1o-F=!cD=0NnBhNrEs)7bqGT z8G=9*XwZ_Gp)eh82uL0zh^`N$7}OAjwU9vvB7)A=V*@3(|5EcoY|vq!F!^2v28PMt z!#9h-_Jc+#?HNIn77#u^GXn$YRzsNjT4n}@N#OD_0953IPPIY`G0?COD6@iY`~&U% z1NB8f9T6CRB@+X~bI@Vx48>sEKt2UwP&k1uoML1M2T`D6h>;-(M1kDL$PfmiK+Xi6 z#|@%E?M_C9Fc9?-9Mr)e3UmiHsOkdU^5zFl9$_E~bcz)tLnw#>b*vZ}fR=EBI`tNOgCB?iy7GsSAsFP30B|EIEQN`I0dk6WIEVtBi^j+h2BJXs zM=~>%)yxMmoCD`I9~0NrDcR3U)IxIvzT`W56RkY7PG#0}t^ z6x1N5f}8_#2S^2o204V00qh=-WguZB+d$C=It3mi45IVF(Fb<~NEj3cAPjN^D0o2| z#y|%_Ls~{5Xoi8D4r+6Obbv4@%|YBA0HWT4BP0|=K_esp6d|CL#mE3YmJV{1btuRi zkWdW;`Jfc+xljL!>O3Zj03nc*PnAD9`8 zaC-nK*g>6D&|V8>1_n_21$V$f43M9Ysu55?fcyf=&mbBSD1jhK7nW{7p0Z#94Jl6C zQxEb7$c5l5+dy|ZfFc6SfjIzV6eub{Hi0ETK?lNk>;jnzYP5rBP!NIjffyjuK@!*u z2Z@8s1z~ivK{vE9G6aI0-Ud$cfrv;5ge4`AOF@=ELOT#dfqVpNL4jzH-HZ%@=vIT0 z78Aq77*HsK{D@RK$}uo7fbMr^WC#FJAOn~|)fLDHkWw%Q}WR09D?M48b4@RKbGtGKc}vh7`r1pa2ybj0}Mw3L*=iB}!&w zU?_lu5QqX@#>vPK0HSKahYMO1GRVvaF+p8h&;=EY3=E(W1<9!(BS1pPP6dg93Lj`0 z1iHkEks$~~fhKO48H#G=gBT!fNYy4Nsye}r2>?+L0|G(RX0T`|hyv+hW8hFIXOMx{ z5}@z|%}O#d1b`^Wokn3G3Up>Zaa4^jidpk^kdQEM3^EghL3KIkx-dqDu=R`#40pi+1)om?W#Uk< zP&nwk_DV1_07T6LGsEXIGBALq)fgGVK@_M1YMnz4VDc$$jHEO5yAvfAbp_eRwET?-~uV-KoqE=MQ*BrCIvtj+<|n1ltSbYojFjUq5~=689+4XJ`qNS zU=U>n6$V)d!X-=$49(yXM1%PtdOq0JKoGSQTmlx>&j&GfLBy}YFK&T15 zhrkR*ZkZfqW?%r_A_KaHf`x&h9_&4MA#jeFf#Di6X!*y)5H|4okNF@j=+;^;&_WL* z74Vu^5dS;Gc_0cDKcE?Pu+teB7=AM|Fn})QW@HEeQBY}6+ZC*W6?9lA*xmq82#7&E z=OV?zz+ep#22oI5E?_MT3=G_GU11Bx*#dDMs3HK{CCkFVU<$S<6hwjSWnw6(0ns3v z!0i#RLI#L;YQTrHLh=!^ILMW33_+7w0w=R%Kw|>NhpGF(!oa`<88-vdphaY$W;-hb zLkw8Bgdvudfguq*D-Z^vKyz`7451(@8!Q?CqUM5`p&)8MSl>hj5PcLZ8~~!uftjJ8 zt8ZRIm>}u{m>B?~;=u#&@Eikj885^r77z_O&y|rO7(^Mdf{LVK(99Hw334DKLokSn zN63Jf>0r}?5e^InIS}L;(2^jKQy`YYb44K3-=K~-!rQRGl4NCI09_LdS}?%Mz~Bfr zJq$#FLW7YZ9AwcXuxL2Q5|9O;iU34|2BH}m!rj;y7(nCDpgu7h0|Ur>?Aibj1#&S|C5Q=f8cZe3c@3-#3?N;g`X46tpOt|@5j?_*I1Co# z*(h*y27oA#QAlmH1U3eSdtel}Cx{A!jHvp6#`v0`Y!KZB zVZ%q(+SnKvCPB1;W>^+Ln48!b7`A~eGMEpdLFYjt1zZ&y0|P{5&@VOyhCdKZAc_e* zcpDC)EFm_*2ZcbIK&lxT!a)?sVc<|QRhtiDgB*tB)q0TaV8gtqkH0=Ry3WFFR(~+9Ouy6#OamU8MaEcAIe6oNMQlo=-pn&CIC}4ny zfPBgVHaQGL@qwAaAW9F+3YD?s@M zL`#7U4NzidU;r746v6A*85oX1WKXj*FkFH#VPOOs`8^313IxesfiPjRo7fo`c7uh2 zK-4}+u(8YsF(A5v5V}C^X|P6+jUZWYl28_z4^sl;gB39_Fid4IAfd00y=aB(YpW*Uaf$*3q*mGvVyvG%AhMGz{WpdXJFt1kIzp8)1X0d z=-7A!cz;W2&U_b3@z{0HWm~xCOlq5wqIaf4gaENpNEAdyyx z0+{tb;f@OfS(yfw4Fgft+@Kp{$~JMp^TlDPT4sg<5wK+-v%nmfX^%mn4))AM29RrX zp==QC05&=tM1^yMGTuZ6Ht?Dl)%gf_!ABu3axpNx1_cd6Fo^mBPISfKT?rueH!cPS zWvJ)*8Kgj45hj8?%FiHG#9*KYJ|_&c{{Z9)U$D)=APQtN6GMRn!bW)TK8Ly;G;|nl2aT(M=zQ=XSRjZ3&2=y` zgo19_xCs^wy#=}>96UTVkpVOn3R>09$PfymzCndS=7BKC^Pq8MMuvbs1_lP`)$gEH z>>$-h?FP_VbC7LJ43_gjH0Z7)c7{?=IU_S4!~tpN0C5#c8IL4cu50M_V%$bdxq85tOaK>@CeCJB<5&Irop1q|}@K`hY1242vyc4bhrW#)r~ zHi6BCw5AX;AW_gbt}rMgg3JaDb3vShXmTB3WMBYYb_q(4Aet3CI2I0~*ug_;psT_` zzGPqkDFt151nORbXplV8m^^5z>oFu4Kn5{`4GI8JpzFHD7|IyR5=t4sM|nzuj`9ST z0rNp}pgTDw7)l>9lpbWjQ~{C&S*6QR#4v>sbkx1F0*nQtIUHrs4TiXxfdS-Fh_ixU zF)}dx1iLU86sRRjw)iE$I=rS=d6o7Sy zfhdr)04OpIWkCCvz;~V@nneao3=Ga-#X%s-6FiJsR5KsM2!)8l%mrQC69g6t22mha z@PjiJXh+jT4)D+pND$;EZiaG@XgT;cHjn_w6&R{vCO0rKFwB7j0}F^=1|HsobbmqY z6<}KfFEBAMT!kvT%f!I&3L*@mz9Q*>nL3$?fdQg32&R*fAqb@L5m;joh=OZ0Rf9+1 z1h~ckkbaP6Xs-ms1i65bApk^y%!0~*m`}jQ27oBg%pX(+=A2%*slgyqL1WB}3}GPZ zELb0sBZFavL){BR!n#Kg>PteFbOrD9EfnftP1H%r` zh%E~PLo*8lgFPz)LkcScLkTNP6$8TsW(Ee(J>xf+85lq#yf7Ki_4O~A85lqpmm`ZG zWno|dt@8y9#hzzjU;y19bqn6{WME)tWncj958z{kTn;6|%D|w2WFLsF&C0-_&&t36 z8Ywhog}4i5FKF-_*{v|~#f%ILYZw_AgqRo@6p+GaDR69WTi4Jph-Pze>w#K4fu#J~WW^nr;YYI35sh_S_3UDftd%YiHevQ7#6cKFl=UJU;rH;1{&al$**T(VA#yW zz_62vf#DF6JxiDw7*;SdFn}(!-^vVA4QksnFn})2Heg_209~97lL75toWj7s07_@b z;SXBn0~+T5tW zAc<>1kH<9;V_+~xvKVw$E=+%69a=V6J$OV zT^=+(Jb{&g0W=1_04X1WIwqh#5U8gJ>idAYY=1zPwt@_0fb=jx{k?o{28JSTsNg6C z4*|Wj%pB0&&q|m;uT+AO<6Y0t0A%9>hk+pxatO6J;PZ zkSq$i#~7pvRIoxaC+Ox^P-_aL1|kAlB`N@(lTu({V$dr|ttbI$0r$Ze7?>ITSr`~V z*X}|E85kJ!QW8rNpfkc6pfr7YvU~@beL1XwJJ`BUs7$_G1LDE=ddTwT3x^8k& zNm6QhW*#K9f%b`i0k=y*tFS=2K?_g=U}*#DT97z0j%Q?G09{fEN>PaP1JMQYJ7{zt z6uSsLq@*8E+5us#X{-p55Fz0M%0&o!U@TA=D&Pr2y{u%=c6A1X-(evJIwk-TVu?A9 zr4_DeX{pI2!8!RQkN{&SXJlXi&8vg`jw5_PON>BwZi3Z-oiv+~f#CuyRKX&kW%>ue zlT@HQ2oeId??9;!?01j=!)s7&4jy!ZsR7m50VpD%-Kq-Up%|DNQzixm0q}XeFcHu? zl?^B&IZO-;8+bv77sJ%FGchm(fX}dpi7WuJYEOG>7 zmo~DrfuR6J1hf?50g6Z(D+9v;XJlQ4tPBhjT#!ZTLAJZXL|}RF130aM@?eub zWHliu^+7Nxc@Wgc1w}2savoIEf>H`I;|dlA2G9yjh&?b8lm|VC$b+EaR9GH_6zQmW za3U)MLj%mGIP&0pQ24;qfE}=wm4RUaipXA2sG^8~R?0kZgM}eT+Z|R01_uvh5zrpL z1t=n)L5GU?BC7$d%ngKqW!xCx(dh13Fg*o_>mo^3jTLhWVh74}*pVj`Xvd zje(&7rUu^XHUNu&LIc##<3Mp9d7**bdXP^Gi16uQc&{We$F-s)HLo}`AKF+1yA8C@ z_5s+<3JjoY-ob)s#92`K35SLTSnfU>XbK!A0!s-Hb3lFv^?Mg-;6+;R8CK2$mAuGIL7MYxDP@ln?>&DYlXgY#}=XLjX(- zSU`ZCfuR6JM3J3=VFHQ>=W) znS+7h0*Z(r2LppZG_qX^pfizBMD#cq7y?j4Y&jSh3Q$Bq%Q_~Yh(v;P#UPsu+7x>M zMWhs@CKg#u3kL(k1Qe0UAUC6kfOfMQ#3Ae2$icvH07c{g$mDorHRm}P7!(p9BA_NY z1H)608WfTL91IK_P((yH85l00h!}D*FeoG)Of5z~GR9EOHcN7mCPbP6mdC zOk_2WI2jlMvXDhSa56AFKoR*5@@Y1*8VN22h6DL95mD2yh!P33Ll{;f`D7NCq~@WPNm^VC3=RcQpJJ~Z z7|gjC7!(SjYQQdVrXetfmH3tXCq7fG!(3 zfFd%Ni-F-m6|$OjTnr2aHOM0SKx$A#&V%f#gQ;&hR7A2>mwmctz{M7*Q1+Mx6G}4;T0#yUDoZ&wg1H%qj`T>gwb2Bg) zbR(+)jS8$mQ3E>M^1?)9HO|}&4D(RbfYyfyOoym}ls2i{3=9e=BE=xPP()g|85jg+ zBI}w25}AuEGLM^qApk{W4L1YBg?Y$oc5^c@9GH(RatbsAxCmL~4mShCg2l)p@3|Qm zCM-b~Vd7z6*sum!1T-R2unt*7o`-=UVLh^l9uEV$#*LSO z;lOQ(8c5m*sK{ z0#O6;#U@?`h9f90JO(o7IYbS_h1Yo*7z$n>i@fAzU`Tk0Eb<#<*IQ%}ZaxNvf{(}| zpnIYlJ|l~0@G&ra_<}5A!pFd%@DEwUfscV9fSr*6QtQFWs0ZNu4l1Ku+9C6g;4BO# zs8vS6MzI`V;ll`;2L_EhgROxRpmOX05#<7y1QhZpB2A!BzFtP|YC|E_2MI`tc7#!T8^*h+7 zTKo(Q>rq5Z_!$_gQAFJM85r_VL?ZYZ7!puKKsOOhL=h?HXJF_+5ozLQV3>;{(#y}l z;D;hI7vyF!WH+zlXJBYR5jhA_BaW=*B1jF2$RmCR1_23VHQzvfhl{|{ya71gL22GZ zfB}363piN71l7|#%%?bJYCviJ3K3}@w38K<=0h?{^RiK^ZU!C!28IHdPjRGqaj0*> z{Zp`Sl>`_VDi}bk+#u!=(g+M~S zI5D>%CpA8~3^oA+wzgV;f#Cqur?^^8?E(x84L*=ChSV3c1Q-|`q#@x05m^l~CkR>1 zPS8|gFtW&TkU1!7ZVE6kERaJs=am2hLxLi*$Ul%dD7r)h85kT;L{tSC7y{Ihb%ACz z8g!6F0zqnYkwtO@85k7wkVX0g85mMRklj2>kb&U>ikdZ`iNpY8HAg`rzQ`hX1sNC$ zOp#6gAjrTVfD(o*LJSOFypeT*)?WlTBI^RJws1nxWh2DEpot<909ujZkE|<6h=IW% z8d;!j!g`{~^(hwjfYc<2Fff3QcL%!}B*2g-!oYA~ z6GRszFIR{#FnmA}=@4OH0IiMywFDt*riw5y*nn3UL;S|Tuoz?xipUmFT%d>?5n*8X zp8(MTG3N$I7fKoa928&RHR=#`3=H2y7#JoTg18Xm0tN;iQ3eLk>M?{bq(vDR4nWmF zOx6%(U;xeMBh=W6GB5}nhL{6U6E4cY5C9c{n4BiczyMkcgwRzEvJ1t{?V=0}4e=1y zLCl#h%D}*bqGq)y1H%jye{C0KU|>&0)^!|Y@+pXWAhv^U!fJ>^R`XJnfgu9LuD_xT z3?I%Q>yi*-UZp3=AJoM0SfaFbI4>Hs`!J149Ff$bE4Jh6N}hA3^Rx5#ftWq1H*z}$Rf593=9FkkwqdT7#I@%Ad6&4Ffc@+_`ObofnfuRnh6pN40b4L zmPjx#c%q2xkYHe7_>XMzQII((B9|o?7<^Gu_zMXJ1|<}cKN1WK1}Gx@k_-$YC?ZOd z3=Fm?A{LSi3^6DoE|Lrk2T)uX1`~L{{@vnt@@15wZxE39u3{%9w0PbH1=-^&E2V3RU#)N2-lwxUtDp@>KU1vm|8f@gt`aph5#7`28S8QB2h973>|OolkWNQQx70g6Zq zDCAK@Cd)7|1Xv>LS_(1;E)t)cnFrcaz+eSa6Q7${0TNL_h$QDE<`$$eI3PrFGxI=m zrwK?Ri4`D`280M$R|>-dgh*~?UMXm;GLlGQ1xVxqLIkXa_GB!8i-6Re0L37R$aNV81_4`SbDqgCFib!Z`47rXvykJRPnLl} zU^cRdtSkdV1d51`ECYiEiioW&149FfIo_bVk5EJ+L26LaVY(~>g9C~=H6Ytlklow| zQqzqr0=iA=!vtiJ4YCXj6Xw7~VELT^oG(E6T{De=;Sng1;24(QLAe~1x|tbKS2TbW z!ty%<6Lbs&OPe2--y2|ghw%gp=oER7eq;>lgQyUZ-$6%fLHZzxImyoXd1;yHD7pTq zECYkVT!>Gx<#&*sw`Ca^5@2dT0u1kE85n%$A;&2*=%7BBzrbpEIGRQCeOg2unra)AQ4S@28I9>5lfIcC?Z}Uk@d*BqU0GE3N|2% z6v#6$2y8?aX_04OFhCKRDbK**fFiO^o`InOMdXA$1H%Fok;n233b;$@+r(0IP6-fz`!7|4dzpjwp|Jg z3ZE2gv2f z7!-z}7A&Y`ifx|)tgQuFV-E?##L|-d^27|ZV0;Ej8&IF(Dtmbq85kD8)PNmfp~%2+ z0YxNMk%8d>ib$y<14F?cNH~LB$-pohWDbhR0YwG|hrJLrkh1rxA_GGLipXn4&|EFD z8U`f>h6VeOMMRYt7!II_Xe%)=JU|g~P-0*R*bmVKaZj-l1B1(aXsHGE*9?$3P&E+u ztW#oOFgO6w1ra#{GUp(&$TKAd26!n7Hs`kz1A_zHWLWx{01h8e`Z>nIzyLbx9jq8k zV5T3?SOjXKhLy(n@)s=qD8OuI1nooxP1%91ffJzgQ$j=@6ayU(2-(AukzZ6=jFx;D z^pqJG5}=`hEByp1GcXju)PP-(sm#E@a2yhbkhthmW?(Qt5!s~7z`(NrId%?$bfJh` zRAyi}a01z!-^vUO3r-@7D5@|pT!4x|V$f8Df#Jg`h#H89rwRju!D(cXSQQ3_1yB)) z3;R_V7+g?n-wZMbss>`taTNxJgfqzI+yR+`BJxp%fkEIbvKls328IR{5ouKhh6U%4 z)!3*qFr0za)Zj1#ouuyocMmL$LE-|G#z5-@K)Wcwiopadjls>qvj2;eG{yk49b86X zPh%ZKq%qLpqL4BwIX}0cD7Cm4b%}42Dg(m?XlUR{V{=s*7z{2#LJSgL$5j~^98g5Q zft6zv-pnxLM zsKLOn0Yzkm1_Q$Z6p`~93=9qnkxQ-n8Vn2zu0d=Eg&G6HH;^tA5k5@@h6gAjs+tT8 z0oRdr*=RB_6rhNNXfiNNKoQB-WMH^}BGRnMz#wn~Vh$wUcW5#&w4l0BlYyZDss`f1 z@0tt@A5cWZwHO!@ZbHm~sIk_9oQeSAK}-(PVqj>1n+!`)4B+qqr6|y@7h!PN!U$N3 z0?jys&7m+w!9yNTirPR#iURHLf|N)pnZ+gfMJ1@q@EO{*7#Iqmp@Az!Ez$z5vx0;e zBz(?jF)$psk1X;_i-F++iik3(S?~Z^jkh)fg8+(1F-YVQL=7m^7#O;>85j&uM3!hX zFa)58?9pamnD7``*A;CBh7BkpZ?zd1E})38>M$@QJb~zf_`+I;fx%@Fatcq@VPH4_ zRReKPjSd4tz*C4Wh{#kO28IdGkVSUsFfiOesnIU!Ffcg4O@^f(NH~Mij~Xun1L%Gj zSn5ISjE0*-Vfr}$OTCPsod%#&nGkk?SfEzZ5hBvh40wr@nw*i3QW$}ZVc^hZU|0YR z4P5C*R+oX{zzax-K|v_I1r>qB#V(M^C?aQd z85ka*h}_p@U{H7iF$bdSqb>u31BwWX9s@%HiinsV1H%WX2*k~HdJGH?-Xfb5sK>xi z@D3sZQPZf$z>u;SIYli7>4K_(*uG7VfkEK|L>ENlq8SD>6sCN7AXpolEeXJ9Zu5jh14LllvZ`V0&OC?XOD z3=9XpLrjLmj=li{!vho%chKUeAINIr3>X+1ej$sL8i3|2kwtnzCZniX0#frEq6XrN zn+6OFPnIC39|l9voF+sK#61#*3=9r`kwpv)85l17M-~Y%WMG)Uz>GBaS7OM(06Osp zWCp~pZjcDvE_jLphdek%@iQ>Mj~E3fDp-nwn?qrWVu0DsSi{J`UX_CdeEV zk#|N63<2E8x>$@E7$%^INP!M>;DM-t_|(^!f#C>>n~RJY7y_VbAnxffW?(pgA~MgI zf#Cr!#2kp4J;n?S27JgO_ly}Bo}iRtpF!rp?SiK|aO{9m-85dv4K;{#084dnb0|!8 z@YuoA*8`m(2MQZ}<58eH1|Th~-29Z%oWv5;t{#J$2?K)zG&FFfIwKPX1_c2~h=J^5 zU~n{HVE7=2ERqE}1W5>4WV#6hg8+)iK9D&mBBx9k7#4^i>-q%JC5kK}Y0ALhAO;bE z#GrvG1H%Cn5qDDt1_p768i)&POc@wbmLaG4#ik4l0Z=s%b9R|BFg!pJxn#<~pdbM; z2cqVcDFed-6cHvf1_lR7WHpkYBP6AeMGVat7%rfQgqkrhfbLZVnF?`Xju`_(0^EhL zGzN(aa2n&mmB!%aP?*LXV74>%FfcG+?+=RT5}sd{V}Z>t=apif?8CsY(2RlM0W>sl zrLm)C3=AJ&YQWj*Ehto_A)yKhF@AFf1_2ZiBXb4@1r(7Ga|Q+j6pd+a@U-JVFQZD2Xh973n(H?77Pp@P((y67#IX( zAijXurEbB%V1OcGWx>D@fFcrV!N5>}B2r?(!0-m8jA{cl&Efunr5{K*gVPTqdYr<_ zD7ZNkrk@A!^aFAV_VlAcMEdcDr=OzKveY7snTKr_3=9p>(7=^`ZdoueOn|8YrymAO z28In#5lG03TQV>($Rfvuo+Sgr14U#JS4##41tnyWSW5DB@b6YVmu&hE(z4}%R3<~-XH4uNfSTQgZ zpoqj+F)$oJ5h(k1`QOEy;cki5-1|)tr!?KtVDLt6DtOW z1t=mvKz7+7+ofd9z%T_xjj1&QgMtS{4a66|)(i{+UdSRzAT_=a5r~`Htr-{|q(DR< zy5@s)Wg&|kux4QRfRa*DB8Ioq8BrK=E%>mEs6Pg`B zl?NFGpB;eZQ^p<^1_sdi93WW)2DKq=h{!3R{mGEpJR>!yAhig6dVtM_fk6Qp8n|+b zqzwbZ2ACSK6VyOka`TYG&;n!*iinpD1A_yKNVE+DLjsCOz6}FI16(9NEwQ*H%_#E# zx=85*xCqGlT9EDe$hLQYY=?`)C+5Vb6{V&oz(qj1CfhJD6rhMKv0-4ifFiO5WO4z_ zO!3J~+E9wD=A{h- z!w$F_kgmTr3=9j(kkxS5GBB(|Q6mF73b7nnjhZb3!%`GAR<;Zb4wcAiJZ%{mf>6}N z+A=U~Kv9!x%fQf3g{-T_mVw~|ib%ID14BX$vYI)z3=9`gL{{4}Fa*>htJ!bMz;FOX zt7q&MDBgo@o#@kkaP1 z9pq$B&|D!z*E>4~h6)s2KkXP88c;-d?HL$CSYhob&{i2x`hZ}FxeN>%_6!UyEcn#~ zgUlhIrq-T;;R_pnbLQKF&bP&{X16^9g9-t=?$|RhxDZhD-JXHr3IR1j4h#%e2!xN3 z0|NsK0dt~3YS{7ntHObS;RykACOa@NxDas9ZU+Vi69VR32lf|RAiD^t zk#S~VXdw`%=FSWZAq3nL?##fjg@8H5&I}Aw2&n0IW?)!CK+P(U8UpS)?##e&gn-}g zIWsVb5U`8Ug@IuUfwZCM0=jnzf4O1p!oXm{fnQCG3j>1+0e@AxfX)@iZ_YFq28JU9 z{Iv<>W&(Cybzxu#ArOY2LFN!pBjn1!kV3%kx~>ciECkfJyD~6{5Kxog%D`}hKzxyfbY);@A)w|3$Q%N0=5=FW_(H%vT5b#sDg^xH?#96I zgh1NJbYoyJA)uxkWETN7Yuy+aQV6*D9LPNc)I4=#V7Njc3>n-R7`6~FN7|i%VF>{> zrtS<3UkJoSusZ{Th8F%jnCs5KAR&rh%~W>=h93&})ogTUVBk>1ujVqyE;amW-ncU` zc*x^d!|B1mAR&ccjiCnvLxv=NHSQh^3=stUo(NJSf!~})4+aJg0%|}fL7ouCZ_ZH< z1_lcPet+b_z;J_rzt}t(7+#3uw@b^DfgwT+zZx%328I&^?8@+DVE946u1-$|h8qOb zEcIky;2;neCp;M#EC{5r7oH3Z8U)lZdoeJ~kiqYFJue1^3<7F`ycif(5KvR+#lWzG zfSRRV3=ACv)ExI>V5lIV=7kpn!yf|qoyD7h;RgY8chYwLBO0!c%hEp%^yML5KzPA$G~ucfEr~#28JC3)L8p5 zFnAEi%K?523@Zqz$?{`hs31@ew)inHaA@H7`wBk>1`Psf%ps8GCxOf%kiXXYGcZIDNQbBW z85lZL@w?{<$nS#q)%^EoU^qd*&GG>Z3=stC0_y+<1`h&i!U7l=BnY^t9Ap=P@R<_8 zz+gcjd^UmHLqN^R00ssP0%{%vFfi;OkazwDFfjZephhZ?fkA>mThu6!fkA_S8vj5B zh6n=jl@`drU_l_Qb_X&rWDroZI*@^ZgFu~oDv*KU1%Y(<6yz@gpOTsa+5Q0|$XPjRmP8&`u~1Vql0Mpk`7K1H%mh?%5H}W_}l`SLqN^PAO?mL z1k|txGcc?m&^}ZOW?-lwV2*V#1H%piY66297(581jjUh>1`7gent~Y^A_%CN7tFxW zL7=|a9?ZZngMgYVAb%0aUmrkWNI(sD2m`|k0(L2dFfhy@kPa_c#Lj{4jC=F#`&>#>#eW45tCkVJ_1xO8nvgL3n1A_&DKFA%AdkCoc z8p^;RK|l>}7z2X_fx18|jDbOdfEuST1_l!XV`y<8H3Y`%8bNju=u^)PV_@hY;ID0A z3=AFw;{9$I149IXaW?jF1_loTY7D{|7&Hj90U|(Z2)L&*oPohY34fbyE=Ualb9R8- zOu(Gi;S3BB1k{K|FfeEkP-7Rtz#u_DO?(6c0|x;$^$`pV9R$=Yh+tr-AfRSn1Or0` z0X4Tl?jaC{zd-&Xphh8*f#C;%I@ckRf#C%KHPMj_3=stKS8XH%!wCZY_cgH3=A^}sF??HGl8^mB#MC{gMga5Ab%0)pMC*_A%V0Z7|p;CK_HDOM>8;F z5GXSpq8S)&5b%3qGy{W$9R4z@HkyG!gMgZu(F_a{1k`MdW?=Y1APi4~{6(N&`2^%< z0%bT$3cnT!@y8MAig4E7#Ji7*i{n4z`#MkuKpMXh8G0lYfTIT z!w&-Cdlw%{0&P*II0gm{0(L3JF)(xx zP-7p*z`#L3O=KJc!wCZJsfuG@m_eZ4nF%t7fSPS_3=BI6sJRfwz_5aVnwKDd5lBBQ z@eB+<2;@`gcm{?Q1j-+Wcm{?U1k}XEGca@zP*WYxz>q=q52R z%pjn~H;I8^1pzfBNem1>2&kEo#K6G8jo>1A_$tHO#3D3@-@SrIO0PaDspu$5aM}2m*E`r7|#h5KvQ>%D^B&K+TF& z1_llSYEGsyFx(*E=4Yu43_l2{VNYXVSV2IIS{ehx3<7GL(-;^!2&jojV_@(gkS}sU z<`78py=e>#6$I3*1o?|V{yGHm7Xfo_f!sqNUwi`DMZg@vbOweD0&4Wr85m{|aI;rB z149P^HL2+g3>5^_)Tc8r{2 zC}c1&cn}!>vB+RxkRZ^W56)mbU^qdbEs>eUz;J_r-`lbn7+w%iGZ$nR0X18)7#K7Nl$mF; z7#Ji7sCk^lzz{(oe12pxFmw>;3kzp6Fk}!=W01|j5J5nVPc{RC2LUzt*$fOj2&n1H zW?(o$K+WoG28J61)a=h@V9+2iu5~q=f#C%Kb6$hoLtw0cHHU%W1pzg3ISdRP1l(ht z!@#hEfH~ng3=As>sL9P?V3vApw!wdrLgf}4f5NKnwG@_J1H%ad=6nVDoq#z!`3wvl1lmX{`3wva z1nOnmd_HUjYNd3IhI8Dqvu+Akda@EMQ=eAfP6ufPrBLf%qx` z*+n2PcN8!%oFEXV^9mRkeh^Tz8)O%OynMNUfuVyyneeHAfnf%L{LWv^>HweU+RxtxZ1cChSTFk&uK_Fiw6f-bb z5KvQ5%)pRApp2SQ%)s!2fScD9Gcdd$pyp&T0|N&Ef4wMXVAw&x9JUe$h7|06 z0dw3+7#L;{P?KE3z`#Ku-pfiD7(590YjOz#Lk5AmX;ldWLj?gfhd^owj1Ar^VPJSc zpe^yegn=P~Kpn?j%D})upbXb4Wng$gpk8(@WnkDrpuUIznL|KLZYcvp1%Y^P1-Y3( z|6+D21H%mhcC9aEV2B`)cTSWtF#I48&JRI;C(y?JTFSuihQNHBbQuG~90F==%NQ8$ z5Kt3e#=uZRKuuE_149o1HH*p^7-9&hIaJ2Lu!ew|M`a8QIRw-&moqS&A)rRPoPl8v z0X0753=9I6=V8niUKT z9sKz1@~&WDs34#wuY!SL1_8VJD;OAF5ODL33I+xV0^xHT!a~EU|f%L;w$H4G{fH`J$3=A3s%!#REV2~i7 zrnQcN;RgY`R@5;t+#sOlVjTlR2LZdj*D)~6AfQIRo`FGwK$+lL&%khkfH`^f3=A9u z%$Z)#z_5aVIfv>Q7+w%i^R}LWVFv*<(hUp@KM1JtY+zuhAfTq8fq~%!fw-97z`(GB zK$_pzz`zheAbg%SFfe!!P{Y&6z>q;ejZq^5g9QOKQH=}?GYHg!4UG&8HwdU%*2usR zK|syfMh1os0%|@tGBBJVphmKZfx&}-8iytZh6(~|(wZ0;b`Vh0)5O4FK|sysCI*HK z0%~qHF)*wkpyq!Q1A_(uHEPWa3_l2{ac*W{;2@9=lR)MWXd~4%Gcafn=oc()W?+~> zAdMXXsUhH=$IT23F9?{!*22K>gFstLqlJOt1_3qBEes4V2&hSEVPM!nKutZ!E&^_z z-NL{iL7?q-u!VtP1%bGD3UUttHO#FH3=#z5ORbfG;RFFUJGC+}tRSE!xs`!o2LUy8 zAomb(^P*M;1`PsgPPH;Hco0zYqLqOmf`A(CHU@?a0%}x2Y6zrNpEd@D6$H{oWg7!S z1%bF&(8j=Uf`B=P+ZY%)2&A8E~`ENf?A zh#(M#he2uxxaUPX1H%jgYS=m$7(585G3sDo$RMC5tb>7J1pzfx9SjUR2&kFb!NAZ# zAdMaAU|_HypypEt1H%mhYD7C37+w%iW7WyPFoQrEi|k}zSV17ZYC9PizA)qO56Ul~OuX(-+T z+bPh+zyR@=0t2p-($%^^_tAs=t^nO9Vco^RAg};gB%q6d;lWB|k+d!bh6U@8MM}FE z7~p;f+uqd0z_8;wBLgVvK$wAHS{DPuSrn0_T?`CsQABojF)$oO5joMtz_18KNX*N_yv-aG?;D^##TD=3-3$y5U~0fF)$C?qSaBQbLa>NS zHv_{96p_$w28IhLB5Bd9YP%U2l2Ak@bTcrNpolC7*^VNztDAvg4~odeZUzPg z6p=gK3=APCBJaBy7&e?ij(3(G28M*Q$Re^m3=9PqkwpwZSHWCD7IE!iV0eHc657MS z;P4bVG*Wv&HxeR?6oW(_A&WGEOn!naG7)6XLu8RfAT@W8Mb?ANxsNPz0Ho#~Oazuz zA#n;SqnxA}7^Z{c2u6^SRwaliqa1EPZD%~g$H2e~vj$Fs%BUV9(&|NcTFuR@z_<^L zf#EF3r*|Q7fh(=v=mFhm2~`7j!G|6OhK7g8A{@O83=WSWB9Qau6?z#M7NCge^)fJk z3OSHGq(rjoWnlONtF6E$d-XCf!0RutNOUg)!_nu^&;X0%fy{XUvkMkG3}9b?VrRZ2 z14A@eC5*s~9UcZq9RO3o0IwN|iXE7H81EnqKw^PnX8{qh^BgsH;!*2H28K#d7=DBL z6kAorz`)Sc%fRperUvYW1-%Rm2H&B&z#^M_85lO8h#Uv0`GKtFHpmIYC7DuyVm#ap009 zzPLEm2swaE`xqD|@IifwC469hho}Mh{UIZ*{T=}KJL;|JV2?8}fLnTZi151zrr(W` z{qEhzz|bIo+wUOzlKL1J4hTWjAZ`c(>jH&F3o8SI6i6W)Q#+?Lz(WIdUJqs=C?$L# zA~aMmL&L-nDL5+o7#IY^pgzTt5>KgFCgb=)wAosHGanO?qjWIjIZ`459GwNlHX3L_o?I4uHZ(4&qZ> zb?(DH1_lF|8n7a28IF@5%+!uh6yMl8T||l8&E_h_cJgYKoL36&%kg2 zMdW!u1H%Ip5%viT3=Hy6H-p`yF@b?W0Y$`f0t15qib&Q328I9>k**003bs_^p0*c6wi3|({C?Zmm7#JF$BB0g`1B1aN28IPFBCeAd7&f4Ygim5%IDjHj zG>L)X0*XlgBnE~DC?d-yF)(~U5!pV8fk8kK;xCBprzSBl7@&wenZ&^0fFkk-WIHT{ zgJV!`G6Ms{OK9y0FOdYm@eayyiYyEaLSU6Jg4#Lm0L(p%1q=)f5-@AvG^j+9AR@<= z!*g6tettnxVsbW8am2vD;5eCq!9fWUVz_c#{A31(0GJxE3u-5WZsmjO0*lO=%)n59 zqUPvi28IR{ksp&87$%^Is7zsCSb!qpJcWT_1Byt}6b6O^C?fS!7#J>~h%B1I!0-S? zK7`xO z7{Gwu76myGl*V+3NMm#0X$<=fq?*$hK-XD;+kUvxnAbE01_2f1xTu)Mz@UI4vThpa zo=0Rg7p5^VIH0KcG>w5F07XP-Is-!jiipK@28IF@k(B8S3=JqEebX5jCZLF{pU%K= z07c~FbOwgk@E8Pz*xl(230|N`(99YU^0Q()3GRs&P7&O5uVFax7gPVirZc}16x%6I{1%5)$iW!{9R z%<{~<++5V6kAZ=qeI^4#12i;nrOZ_`85kzO)POyFb0!0W3~ZzVEb?k50|VS&V3A)l z85lO8=rWwez;FOXBy<)7!vz$PidhT{4^Twr%wk~pfFiPg76Su=CUTrUoW;N(fFi;) zn}IN&0VpD?XEQJ)pop9WnXH9u`^(u33=G=HB0O^# z7;e8tPT>l37#J?-Agghl!@!`Ri!72bhk>C0MWk&G1H%Rsk(F~87!350bzPgozz~2U z!Z??Kp#eoiX)Xi90u&LKxeN>!P(;$^GB7+q5$TxAz`$ULY}eYk3=9q^BB$muFbEhS zt6`eQz@YF3+3%|J7#I>zL_9%ijFEN4&tqT+KoKdK$H35z5{4b~7#JRyBI{Z?kAYz} zikiLi7#J>CA**>ekAdNUHL?iHdP&%kgLMU5XwjU%#}y7>$Y zAD|+Tl4Rk01_sdV35W+7#o92Rf#D0>99T&L$#LM4M3RBw95}zg2v|u1H;1T_1ouo$ z1FRfl6ktN{C4uY&)o~$2lq9m;us(iDaeirD3VKoUa6SVAgA+7-P^)B+HDD~cfPp~( zrUooxw}62`0YxNf0Rw{pib(qc1_lQdk<|+r7y?j4&MjbINI((!uz-P~07XP{Ap=7L ziiqPv28IbJA_WT>7#5(2%w5R9umMHnz(NKF24|>G!M=F1kb%JfMTBt?1B3Gip5jnbu zfx!et$6rhNlT*|<}gkt;Mr3?%oVv%+6gD!iH zM;38d#=uaFVpqsA1_p;jh#FAI#lTRp406vbhzBXh+LtjfB*5*0m1B_n4l2joQ#D%$74S2qZy56%vNI%NZCHP(-FLXJBYR5jn7&f#Cs) z$c5z$48gyU^VbuQ$*IUD^RHlFn2DlBc?AQ5K^n3e-xUlDZ+;@1lemI`p&%VuP3;N> zhB_2;Caz#$V8}vNvu6bZLlTOb3o95HY*9p>tYBccP>!tY>k0-2T@*E(D;XF9Dv{L~ zuVi3YP=zcKvyy?~Lp8EU!%7AQh8kp%#VZ*Y1W-hduVi3QKoNPhl7YbhMTBP+1A_yK zi0&!|h5!_i=vAQmsgdn!U&X*sfTCvYD$tG9$ZAfmVqmz463%y5F)&Q1M^?kMnt_3# z0a-+6H3P#o6kQIh85k1Uk=3NHW?(2l5t*`@fuR9KWdCXgh6^Yn4_7lVJU|hVT*JWd z03|ML)-W&#{6pooCVs0SU$E?f&TrxRIZ=NbkEQ51ijUBkez zp$l2foiz*$3MgtmtYKi#LlI$F%fRrV7g?9eS_TFi6g8lF&Gfnmck zh#F9Rz`(F~J!D-9hzBVl&#Y%)*a0^gR?9$2V^A%V=E}fu7Ni_p=7I=VYZ0|UbY6p{Q53=AJoMEW-{Ffc5Kgfk>mw{Boy5I_-mxPgH| z0Y!v+BLjm0iiple28KOKeS!=OEq{^KL~UeXSd5}8ZzBW4gVo6H z>EFn}Ag~5mWc@}4h5{6Gc5h^0s6sL4{6+=_hPBALK7-6b5mDO2z+iwP610hd!2w02 za}xst1BzX%H!(0=KvDB>69a?5I%K;TH#0B zpMjwn9BVKFmQz5ZG+=Y^H@|WjJU>5ClHZSw!(8tQF%^2`sh3Z z!~M++3=d$TfyF%_|GnPKz`(E#ImEthW?-0rBEq;<3=2ch*cT)W;Zkr0Z2TEt7=jdoN|Gf+gwIoW_>^Q6r6#5nqc&F=B)2dy zI6!@Yt0d9g!oZM#GQw#M5`pOgIfub_3j@Oh6p;i__@L-2*uubIumcuiAZ-mG+fhXN zwlFXRpoq){*@Ysqati}P0gA}hEes3`P(%)IVPLp`B64X90|UcOWZUn8T!97#dJSrhweM4_Vhzkel}-i);buLJ>K%m4V>`ipT|! zIR}t+Jpk!K5qS&pJ6r^oFCb|QlrPS6GBEgnA|H-n`2y6BgXD`8xEzc@Ouo=_4hm6; z@Nojo_OXLjVPPwyAZnaJD|&FL0oe)4Upt7%Uq9jbt28sOBsZ}DEr0#o%D^CS5E^1Q z${((6pf#>gH6Y6wWVeCVxFU<_Zv(AyMHX@1#=sB&Ga0NaU>gHN1Byu8HU@?RC?Z85 zyAC6p)3S{LbZI?!c8LiwR}0n!imz&BTywPxV7VKMzle!1kfTB2e1?c{X6J#8AEqT{ zgO);oG(&MlUScjtsE3JxfejSz3~419rFq#53|ClSBCvEg;Rwj@Ab&wMBT=w)NU6W{ zGC{3D6(dk82D=B`VuaMZFzcXdOb~8{ikKp~8M^926p!Brz+Wa8VBrkTUoam*XqYb~ zSfL@0TaEbzewZ3Ah-M@bw&Fz@kKf_(&HyzB5$`Y;!qYQ7;~nG;g7FS_Gc3feAlwX% zcSAgWABcDlVT6V=?l?7_!%R?(xdtCh4d&`&SiIZg@jEQuE8rmp%kKvUG{1vZ0T7CJ zgqvaUj^t)&y!+zu`#{8d2P~ZN#QOzU$m3RH-T=?<+@LIif?@FcrSpt2cF+| zz-%9o{B8rw%XrFpgqvaUj^t)&yl3L^`#{8d2`rp($EoQaSjgj6W1a$!cg%Iduy`-W z<9ArRhrrwekM}t++Xp1xHHe6JgqvaUj^t)&ytm@<`#{8d4lJB;$EoQSSjgj6V;%yJ zcii>+Jh6$^8_?6XF)%>tZUqJ=EbYwr#1fDuhJd4>b{%M^8)k^zWnf_7 zLoIDU4KxM@21;9cAVW_vFfjZRVPF82Y0Qkr+0a|dAT`$*7#Q9$GcbVCKQm(@7Jo1> zJYis9n9R(;09rxK%!s-^2xJBbzXvTlWnf?cg(owk0%X$*NCFA-FfuSKWP=cBn-!}oVyDigXzi1xrv#1s1eApWE%rR z0W5Yfox%`bpl51nY-$LP3$P8_w=pm*fazk0kB z#FFBY#3H1e3(JE7$3VFf6c-5nFcvH>mcVwqKA}lTf zSQ!{F%>u|K8s-nNI-&-fgzcJfq@^? z8)XEU0}@5Wpt#`BC%oqW6Fi*Li{pz+3kvd)Lz;o%`ZfjzNH}9JAwjmj-^Rf31|H6! zkOYZBFlfXD#A4sh!0>^98m;XN3!09V1l03U6J+0F<`7cd_q z6oS&vVKrF#G2~=m5JN~pS)lau8J>PtVI~X)NM06TftBG$u;xKf8mk~8FXuu_6lTW% zSj_>Yv1)i4lZ3hwl>((P89ZqWq#9JtgZ55>YDi{A(56jLT!LgE7?$5vcwr+jB{{{# zrRW1)3{~417y^!i@;mN5>Aj$o09C^TD%C4e;u9Hk7#JA9V{uTCDh30%2*?c!wlgp& zoPd~&7@>mL1u9!ELsf&+LNF=m2Q*{^@-Z_bsOE*}hmp_`MHkSn9k2_*tsT^;hpKS~ z)y6p0K<5Wnz|$efMr`J|M8W+IwhQJG2o15z#StE2*wmEdfXhsf4WQJ{3@(2_Jct<} z5@L=|6sQG@a5G2-fuU*~L9?AW)s*BEt3*XbfksmycA?q>GEEPp#?jFc#KxrtBnQfa zU-V&la6KCXgEB}M1%vY7Tn<#^n?P#&B?L>|mxgO&3i zu$lwPgP?5@kaAug>H<^>lm`un$b+DfKu8|U!CB|p!Si5pW?p7VY6a5VFsxiP0Ou4? zzCd*ch(}7k5MYCr>R3VDF#%V1UFa?)rV-b_NCqaJ+-+Wz3WyisCX5hrE;k zif@o^R16CF7zR*7RPzX>;2)Bi$1ZyD%h9neu5C@bJ^tfSp z&=RA~22ukm!-H92?Wl6B$qtlSK&3Li)bbCsP!75ShM5th8e}>u2BoM-4p?4hW5U*7 z29@)mMFNm=o)gsoC=ZnCa)?NEI?S+C2TJRp@nWa}3=9mgGGPWh)s^HFmt+*7FPFF2 z!N73gEF^8NAYhhaf#acVNs2oc1j&!A8Rr$gL*M!ua4 z3<^*+kkC=u$-v-%B4V_YfuR9K!~>-3A}ED}T0|h*(sqJQi$WHu-^swR07cDYkgiL} zYL@I|U4n)FIg1Hc6oC$6fm;uU7 zS@4wL3JEl@41xgFuqU}-rQdt3YCt(I0iNTqx5q%GA851?bY=xJBPco%cEDJm($AF# zmMiyS9gzmruzTR68Q4cbL8)#Jo>T|258SR}fz_~Q7#SEq{a26-0zU<%mdnss#!+g$ z2c?9o_|^Q{$-rQ64YwLtN%9w-3sQ1&Qu9iRDp7~XS$8ooOt_B6oRZXv5(bzWP>Bud z3nBaiVo^Jdeb0uaF>mPj8psv|2Bop}La-7$8zF(j0;Qh@0_g{oHkhF2kTElY7U^O} z2q@ka3~-N>f~*9^`w=!+yo1JTP?Iz)F8KLiqgZJ<`T0d@dch#w5F8H?VpxDDE z8B#l7=66^as>8!DF*&~&^?1s7un+^o1w3I0^A|)7$X~)Jegbi*=`T=xU4_TjZj5!g zAp1b^r3a6%aF7rN29=pRcwuEG=I9hi11Jm+5RvBj`C;YZVvKkPnFC7mCPbw97eu6a zdqjK{XXc^D7f6VK;R6xz1yKWvFHmU@awP&&JH93q!15P6&iHDD$5$l6AxJDxeBCA@ zz8(+}Uz_0Z6@)XsJcx)d9(KZIR5&8ON)q#oP$Dco5iGd8y**_73fn`@u?M{!=M-(z~PL2 zG&MdM(t|$$>$Ne&CmVts$pFtO@RbG-b3pNRjuA4~3swjwFyjj}M*^0D6R;jMzBWH> z_#j*AaKxw0eh_ulFPa7T>t72g7mWA-Nk&~Zp zXn9v8Ut=}vfD`WuSRSNSTuiQp#f2FY0|VwLFercZ!Q)~#id$eDP@7~nKP-Rc!Guw0Q2qj~Y9JI} zzu@t87-xK~AtJuMz~c*dzv&`Me4$1dIKI*t7#0u_Ul29)iLaBju=ujV8DE~_u)Kpi zzBmP7@fD8}PcRNBzCf$j2*uZ4VOajczA^+<)*T=sz9cvZw;|ub>}>H} z3=9IdA!Qx5GAh0xzZ|5n0ICMD?gF9<6oWl%3=F6aXGH5gmw9*^Y zKVoLg02z&eLA73^2rMPs#5&&uN(onpNC`IZlmHqrLmh>H)p}g~un~`f{BpF@O5)=| z@tn!9;2|U>U|V4eD`_EWK=JOx1X-_x@EWz_{R2GSL1WYidtfY3ygPNl;(a{}19-&{ zOcp|e;{B2&EZ#xmm=JMf5)|+9Qn1{8A9G>?8t)H?Xzkp9w{{>cNMw6JY*4&MiNoT3 zAtA7k5en;I7O|589;HG#=yX^;R)e5 zg{T3=DeYUZ){|iIg}bMjECY)#JUvZj{5=j(TpX5!#Rcx3rhp;gkz@f*SPcuRcd*Ar z7$PnTQ6^X!7#QM<3yVM__7{kV3y2y}T)bj{?2ALBLu!|+0`UBWeMB0Rzl5j2;wz9D zy?zI|43xj_!Q;yeXa0(lgXOOiSk-{?mji(~1=Xh<%!GT9iBhn5|AjLTst^(HHt=}2 zz}br|LWy_OObCwmGzNwPPYLHih#LCDy9yEU4m!gZG9na%Gu}nyVEGhxysIg|;=LYc zyeAM5?+Qf3d$cqx-a%`7Fs%c%qb!Js_YxxFy#pTaX{qU{C8>F3sLg7%T?`Bxo)M0B zh#FA58)2kXYUOuOJ_Y6F1G8Xx8Pv{1U26nV1Io)@@~}7s9gqPMMa7_e+CU(_KxMDD z3@k2IVfYJVA}B6=h=_|d@VLNT56(l1i()KsVX%vV;R6wI0Z{{r3((9pYV(iUaWQi) zEH31j(c90U@BzieKX_b#S|}hEvRu( zgnqiK6)0akCn8^f)qvsxwAT#P&D4&I?F(RW0a_t|JzqRhfaQxO)JTBxKyh(^h`87+ z3(FUv5h_%Ffs6v>ixMK@0(3VDWPLd9y6F@=E{aQvO7c-Er+A1EgTM>IaRE^SiVM&z zC#svN9T&}uU~%yi=LlztA}lVtK|zLrL2>bbh`5lFgT)2zS=SCC;v$BNaQpB9JTA(L z^9qVG^UyAGblb(i;6OxNK-7TZ0(6=bZR4V52`nz6nb1$K0tGs#jCv1`3($&KkSHn! z#RX_P7@>aCUU*#W#aUm>AtEk1;BkR_^zs)xF2I=}C9eo|ZYXRQ1496wxB&SuVHX1f zyq^maV8}w&1)mjym;;J0P+OExoq{>OLCov`tiNmlZ`Xllmq5ECzz%~Gpf6I6-wmj&+dxE|u7SrXXe2| z+|11Aj@fR3j#*JFoD+x$XCrtx7iZ?>#AoJ}q!#5RBGPQtE(V4dM1-OK8dzEdU1EVc z-U|w6P+EOJL>QhWA`Bt!0i{(nkkKfZ+G(|ch%oelhhcI)Vs{k8S)f%GAeO)@-1!}r zHXv$1{sOg)QO6mnWkY52_zP%cgLy(i?6FlG6*K93_pM;Uw~AC>YYFE z_&S48?|{^R>f9Sd#Fqd!tWAqMzG~s|m6n>ElbTqRT9KSufLPYwy^Db%;Wh3&2y)My zT?`BhU~1s4CWtOj3@!mFLc!FI!QM@<7@Ps!OM_w^_|y&tHCPOSMwU?JK|D|l-h#*A zF^~`j2F2h5B4Y4_5-i7oPO3poy&ywDG5Cgv7<7ThAgBaDtsP)B{sMRmLR!M%zrC?)JsU|;~vXn+j_6Vyrxu=2S9UOrbaGBD_Y?La0#<+JKGSZXnoW?*=U zEDdIZ^7{vPYFP^j5U>n_0Hu}%%CP)iZV9=c7$Fa0fl>D8|?WMXj^}ay=;Cqc6hZy@VOt zE)r0@&((sJ66#o74LJ`)JQf!3wWu8#kVVk>Wd#E94vJGPZCIRwQVOPZpwQQXu0v#I z#JYq5d@HdC5plYQ2UZt=))k;S8&;B>fyZfbeleCd?LScOm=AZHg1iq3=kr%!;f%XY zdqf)+&ba$uk~*;P!QC$i0J{g2erVsOb-)v+urPc955x4-l8n>}w8EHye>Vd|1K7>j z`&O_vEkq5-Uk#iL45;T&P&;2_UWLWiF06MPfbzu+cziv>OsLRRrc>f!`QkaK7y=~+ z6bwq`33$Q~q!?5l{(zTvr7nXCSG28=E1F9LT^I<7rHZ!)`3X~E+XH0?W7JR3lh3msg08o1j z(>hQr+Yk}UHblho8h9*&uCK=4){=$Caz;u#=)4xR>}|Q5fgu4FgP6{R$0T_}EXB0+rZxk74l+I#Ud@WdMrzn|iQ#2gNWbrcp6SRIC^l@1R~A zsyv7XiuVNsN&ryqmNkIIJLp6g%zy;7WCDnYQyV^5&c!{FY>J4})QY@B^urDrf_5`7 zTp%J&A!cip-ltZ8rNE9f( z=ELKQ4|B>4+LAdyM0{1im<~(1}UdOWJgJd|@qU84^G>tSqDy z#kLL>6a?A385myhL-yQ5n)j8U@>u{`qW7#JL2B>>oVi9HMq50qiLKtgJJ7#IXpkwpymFfb&bh}eR*a;qb& z@z}$_prC;)5)3j&6D9(0$$;YmlrOe%qxZ-#^988fMa}Q95puY{7&l-vg<)kK+^38g zsD^;N$-uw>D(jM7!}1PjH`H;c41xmXou3A4d^bg%>x z0V?Yr5Xd{A)(+@&K~Ray%=iLHH-ZT&4|f~F%0q2dZ21dR54ytZK{148Bo-(SRuGW~ z&%pEG1ZD;X&@2?f5Lhesu@J1aQ;aneCV)~MEG1x#2?mC2kQyymY600%0ZL=q$Re$K z7#IRjM5gXxU^oC5fu%7Auw9@u_7h{46PCt6H5(|mVJj10Y0Lpu0^o2nDE&1Q6!vKMrcA)z+XGc#D)5XD;dg3?AbJZ)fP z9kAO$X`_dTv=Ji&t4|%EJ8Z$)!2~=mbU-l(ssS-Vo&h7A8K7rqo9pmH@(?pj#B>Vu z)G@e-3Ft0AP*A}|%>20Fx}Ya2c#vhg28QhuFl-0i8;EKZu)PJtcF;Y2sJ3fh z*q%X_?K~K^mtfcqx;q%v_CH+csjh%5+d+p3qnK=(fnhsnH!g}Avs)OpSCD1*g6cqA0W&28yL2OR~6-@jnko`Yfg1+r|vfML4@hV36PY)`?k{RUaKgWB^b;cN<8HHIQ$@&?29C=A;l zkY)P`48I#-_#Jd#D2jW`0x)cUL6+@DFl^Vsu>A>!-`y~5|3H@Q2QX~cz_1;3QVpu# zZ7^*AL6+@%Fl<-Bu>B5(-;FSAXV4|5J--9PcF<}=6rY-ac8{Tmm}z0y&Ow&#TQF>w z!SMSP48O}@*e*bp?MpCh=fSZ32!`!nIMG{`5@gxF0K;|;4BJ8HS)qpfD-7Ee$g+J7 zhV3jEw(r64`y&k7HOR7k28QjRb;~F|HQ9k-`z;LH4al;63Wn{VlU-45--2QLB@Ejw z$g+I`hV7tvG*sI+VAu{iFBhr?+PZKc%k~}&+rPl>4TQDgOx9r7eh9VA%cw!*ITH17wWqSsO?H4d?@4&D< z4a4sf$g&+YO9k}>BsZC!z_1;3N-ByPGe0WX9)sccBN(>VVEEk)!}b|u`8@)|cF>MF z6rY-aR^FkAnAuUu_7Du)LHDeo*kw|J;ddhp+ZT}K_W%srcVL7(=-hY|_n4_s$#x$M z+qYoYo`d0c84TN3kmYv|4BIzg*bbU=L-ji!hV2{3vfTp1cF>+#6uV47XYiwln4RK) zx2U137C*x0t#IEtjxYyy2QiXe&{As$%okW@cQ9r>u&IIGf`@Ou2|6=k1X>>l_7|SJ zXc2CP>M})gGt}?@@%SA!cSA>inFPSb*|6Ps1ua)+!1@lj)tDQ=#_$WT2zF#XorD;VKHb{5ge!3SLJ~W+y$Digv}3v1QUkO@vfVz`}yz~Q_HwQZkPQd2G4=_P(XEcG94sa!4 z253$*n3WNF+o?G_Wabhq1t&mrnyO|H8D>UM83&hwGeC2iJ(FQ`nwaN5gA{`1#1+`^ zuZRZCcmFnr&1rIBozn!(S1ur8zH*K*Y`zk->J^lWK(2sbSlY0Lrw!+zkodF$Lj%MvE=3Ww1T44;?xqj8h9*2L_o2Oxrl(2SayM>IxMz>`~r%>E*@A6-p9G; zajH2i20>@wfOMi_Q0##2tspex%xVdX9newhn2rL)&K4qK=L0-;u&mC4mb4SVA&-AH z86G~co~Aiy-4`gf;p5n*OE7Ay7-(*Qt1-KQQD5v8g_Rr0mFb|%ymXU`N>cOSm-qbN z!@%$bWwj5_UIvB*U^ipG{{mLh&H$?cr47_L0P(1mHuSQRi$LbVU5KR=1<5PI-3)RM zXq6yldez^{z;FcaW>9H^J>E~?iFcUaL3V;LGXu=0ptBaiYct?01VFU|$QF3)n4f`_ z^RQSp6=8+f?~wY!Mv-j+ks*GGb-5*I*A3vF4I4-77;9kn{2_b{Th{Q-+B2&?Vww>QT;xJO13Y+u>A#w z?Vu7H)%H3n***uu_9qy&&%p@!0xH=)1H*REeoqvin#{nkJ%&oQPrSVA$?K zCEF)p*nR`U_6ZoaTT#jO9t_(-cmAS=Jm^MU6cIBGD%q}rF~R`aNsMBbNdQKRaUY_^ zNKqZ9fMNR-jP|MzhV3h;WV;N8?Vy#vsD20CF^3{z20F18DngOpB`|F7!SK5ahTp5G z;*nv@aILE)&qrgeW3r zzu2kMvigH)okBv@v;f2J8W{2ZhDx^oz_2|B!*&%6+aFQM_AeN=XJFW_fMNSJD%t)9 z!*m*?t4Vb{`DeSukvmp_1(vFl=|hupM;&Eo#W?P|5Z)7`B5>Dn_x( z3PcFdW+C*bdqV4mBCl$~6I!*Ayv?V#HRQA3`IO176^*nR}V_8JVof5F(X3z~xk zVbbPd3ovX4ov4Z8QH`(2c05A>TtK+g&hhUxHzK42IupsARhXhV7tJe^GpD z0=k(OMZ_$JO19fz*gglt?;#j|k08Q!P%8y>)dze%By4uuTmr*((84~Ffa8_H1Z zGO@r2c{?iE&VgZj4Tj%gtEUk;PKipkf57O=q+r-CgW>l>M9dBllj@#e*dBplJLqI- zl(;bKqLS@bFl_h0u$=+J?@m;*eGi811{k)3PGv*&`w=3>Dv1gCDHyhcZpK8h%LH^H zIEskb4|Q*~VUF!S1_sz#Vu&w7_AxN5kV4j#yN`jP1I4E;`xqEz z2q3GOvyXwn1I6!~_AxL7Kt~}UCZFENz@UNR=4bmD7+~iEK-7Ez*{%dLIX<(vxF9hZ ze02}P&FuRb7&3%lYCv(JupdMshmX#F28JIf;T*Z2fnfz7vaY)Q3=9@ zp@FPsHHyjcX{q_3GyEYtc40eTj_qe)IDul$-Te#juJA$C(4ZY6? zqDBEKg7B&S0S1OM(3R&9HFgIW7+1mqh6rw$Iq~uF6`Apg44@r5pu4#sYJ?6lFjPpw)ua`rf+7oY zh5#&l)DAK*z-lyzF8hO^&_<50fP)MSusJe_n%sj73>peBlR@g+4l*!A@FR;XKghrU z*(Cw83v?%7a&7?wLl9Zy&OrtS3u$DLUl=YFI|MQf z+0E{U7#Ji_(sTMD28I>F$mY}>VqnNX$tklAF)&o1q_I_p7#Lu?Xd!;ziDB3ALktWS zDDidc5CcOAE3#c54>2%!ptwiqFatvdO1vu{W?=Y%QX*L$W?+EL&_QeuILyE>10_Xe z9cEw5@e@=kzfKh97WqK)1XZ zf-d6IMc%#m;1~nL3l3ymzd`;&iBrMj3=FV!dJs3O9cN(RK*?YB#~BzhP~z0@I0Hk2 z02Ami7SI7_3=9l0#~B!4>p&pp)E{SHC_(Yp)Z+{cE8uYvAD>!Ol$Xx{*}DxY+2Z5N z)A9>a^FVQes4rF@XJC*(iT8uY85m}uq~0sgV}B94-X3RQ@IWaO{v2muxC7nI1aYCj z2?mA`HstWpI>EqD0S{G>JM2#|Fw8*77ZE2I7(7r)+RPIS46su!AtsldU|=|bl2fLg zU|{%xqHFaD28JytW!*uL$tdOO^AijV9q^nBs;zS3lNl5kAh$$9?D}_tfdRG#1|lMU zl7Rs>ss<5JKMC>+ayf5*l7XQDrR)s_sS!X{lXsGVfdeHEPCd!M(1DVo)}CZwut3Qv z$3f_7?m?$Znm9Vq44meULju<;FuuG6O(7*3#+T8~acN-RWZd;!^xlDpZ?FfhPQ1Av$# zaRxmMH9#UL?y)|@z%Tkz|a8QD-99hKg+<-0?+S|+*HM&fs&gv&N47apt#xV zECWLXO3SnGECWLYO1_wMmVrS7rH!=mECT}vN(pe_ECa&}l(P3CNCci*;(hYd-7<4h z1E9NuA#Q#KG8v`6^BbfKCBB5tF)-|an*&O3TIU!TU~7OO<~W@Li6f`OpmPiiu)Q!4 zH96-P7*?RfVEs7;h7c6@^qga0fX&E5bS*f?!0-aar-#omFdRV1%Qwz3FwB7Gl=%44 zyqx^xY{(hEppqZtwwEBgP}=HD=NTAaqX!VXl+QCTRG_2;hw~u4$o>jE&%n@u5`!5a zb5P2k#`6peM^IATr1K06u+=pXyH=iOVBmnBy$=yNbe@4>2TJ(d0I5N#9X_6CV6Z{y zA#z_}VBkQpUF8A;gNHbB>1TFH-799F*L2>;eOW21*O|$pr=m*r_iNyFOfCVAuh#cR+SAU1VTbfl^;cTm*?D zhrG^31_l*KVpcmUSeSQgA!uWmlzl-P)b_+OAHJ% zP|DS?OAHJg@DPhnD<~~VW?+Dvy#`C+*_Rj?dQePmy@Vcyb3i7e*tPu<1H%`TcESk^ zUDq!$Fu?ZoK|4PtTt zR1Koe&AiOO0Gq*tsHwlqz~F&Wqs_jI-ul{yVa|Dw8t5Dl#GGdsYQ9}&V7P!%O7Mf0 zeWJ7z6s|BZyg(_94X-dTl%V73Q-M28J6bp}Oe` z149K$?eGI+J4&eXUS(i-fijk&3=%;JAG50r3@cDdEw8H#46wZnkkClI%E0ggC3iPm zWnf4^X@~b-Wnh5qC5Px*bCrRC1v(N45jhUM&J+=Ycds%qz-ECVYJOa0U~oXGJvpv1 zFw8(Hdlj!SFnFM}!ws%6Fu-QkAm-R#V_<-tYXlMTy~e-*I-3{717QY+D9~{vC^49V zAyNji3nlMN1=)oX%gZrz?YqXnz=4uaFJEI|aDlf0K&k!1H3o(VlsM(R&cJX2Wz0eS zIs*f2tu@5W_SZprVWnSuT53^Ieh~xY%sp6s54_I606Lii(bh`7&cJX3r58|roq<6E zCEn+vnp~b-3>yD|+=Bo!dEIpeh94*{JanCbAqFLU?p$YJc!J{7FV`6uBv4uo{5KdF zG*IdUYLa7T*gO-b< z#QWnL3=At!)cm=@z;FYlWiEb`fdRI+i-{q=I5RJUfq?;XiZv{JG;T65+(2m&S>9w| zs6Y|%yonrxAa=w}1_lchpXS|UV1Vr#g~WTqO$LStlvFqQCIdqTN`1QaCIdqUipas6 z3=FUpWe{`j-DF^Zova8Ed2^G2fdeIWxNb2pz~*WpY9wzlFg!si!}V@4FdSHk+;6hK z#lVn(Qrd*wg53LpNQW7>7#LQd#CzK<28I_X>2Ufj^whij76XF^imv^)7#KQG%CV~; zli~FsC{!QcVqnlfsm)n#GcZ)3l(h1<85lHBV%h9A149G!o+BoP_=056?Q9G@@V0t< zd`eDEd_2ekr2e4OZ3c!DD5*CVdc8BEtSbVkLGi@~6gBZ_}QGGEj2L(mM6X|Ck*9R`L9l=ymnhk;=Q zO4-78mx18~N;xk95`nH^fTT?Qy9^8#C~9o)GBDggiRFO13=BI^@=h8^1VvZbT?U2< z6p@K{85kl^Qs&aT3=E)~BoXO(+g%0*4wTTi3c9EnUcbjDmgHwLFfc%FRDp&3>$?mL zDJX3TwtEZ=Cs10s()Sn`U?-eIe5!Sifx!Z$tn<0Yz;Iz5EaXA`%H;S&aLPouFzg-! zLkdbP=iFmps6ZJxX#m-dQf4l`$H1@ywQqHgf#C)`MS(0icaH&VHE3QB;=;!uT_~xA z4SI+aLXGf!1_lWfyUgx0Fj%03q33-Dh6t1xOt{a$@B*biEx6CXZ~~<#-f*9RAp_nk ziO)^VO)jWpfSmUZ3;78k_n@TArS};a7AysO1UjO){XPQ&Z1pw7U+3;KFzi6dx$o~Y zFleBZbwZ%+S12ayK44>rLcrWBGuAVFk+QQ~U!41`U*wzv2M{!wHlyocVx(VG2rp zx)sB&;|~}Z-k{`*I}aEbexRi1cMs6#D|sF=FlfN@ASlF&Q%e{iw*$aJOy(gdu3_yB z5Zmw}149Q&I`n3@1=Z zzk?4M7(!5LqNh;1Kyzu3aQ+B#Axf`}@eu<9Yz+)Vjo2dw1`U*Oc7DXbumdGU1wUe7 zfZg8&(Utg!fuRGXBq@Hxz)*n_r+tqY7&uT$SS7$CQtz(RE+$aa+8`pHKO3_noZ zeEksvg9J*NfBA@kAqS<^&G?vs!2%`T`5rScNTB%3@-YL$6_gSn7^DWJHJJC9fq?@h zJ$F22V1S)W1@ZgJ$Dr6pP6>M-Gcdqb5<=9RdCb7@10@V!JZ50fKxzN{0;z$Xbq3MJ z{)B{X(BGFqokDtMCZ}g9b|3G7+>T6D3#9d&0nQ z1Ep24^$7!m2TJee#1jUF2$Y)W<`V{n8kAP<)g1H%uL6cq!~g;Jx{V3<7d83V%=lz#WpXABG$C~f0C&lnhB z=Zb)Q%fN8+83RKEO5XYVjDdjz#f3u885mZe* z4g=)wGnn81ykKDXfzn12dda|`fl`0zzGPsCK*gab1A_=^&G?dmAp@m6Q@X587MuV{jV4pVE0l% zTzK{s149LhPv5>`V6Z?bSO32PmEp*vsnV~}OFymGAa^2{W45mu7&uT;co;|oW%Q}| zH3I|aN-)rwlo0pyy=GvLKymY$*9;61@H8KvR+O5U!oUEzM*|k}hhH-=JU}t|{A&h= z6)0)r*=q)d9Vq44ACO%rE);yjzyR9?0CA7v8wLgel$>JthJoP*N_=^~VPM#TlHcP% zYEbe{&Km}X6)3r&_6-9A^c|YtGB9+&V-RHK)VB-_9w_;A)msLJ8SwlCQnUXp0|V?#LWm3RgG5mB z^6$3{3@#|`4cT`L3>_#r#q=Em!wZyh!{r?Vg9b`Uhc{@9!8GDp2B` z|2+c(2THy$03GRz5~oh@85m%9U_s0Yc+bFKfzsYc!qAobo`C^&rwK$?)q4g84R{&@ z`FhrS28I(TvApU%1H%iHG|opya{#AYY)w1@i|61`QN{seWK! zs6gr2IelPYfZgQ>F*)D^1H%oJG?w;(f#D8HI5&M@VEBO&&T~F6Fyx@9+5UlnVFyYJ z?aT)T1`d?8dg}uNLj+2SdILI8g$X$&{Qtnf06TLA;zH4n3=9@1{<8hZzyP{?5iy_Q z^^t+$z!K#4YTQQ#h7Oc?ulxvFzluCRIPD_?1MDVKh+RuRGBB(_iLV17T_}B-n;#h% zBv3;B-A4w79Vp?${fU901KzTVj|xss%t>Vc-6sXI2ZR|IBtL;h9g*t-y-y4buoG_} zYJ5QEpu}MQCk6)C9iU7M@tMVmIRzQuVG%@~Tla~9VFgMrU=GL}xSQjPQo)5CgPT&Fu?8rg{Zmv36!dlWAM`_1_lX~(vR&k1H%lIp0DU< zQ2mY^7s{U*7=EDC=H8zf7`~v?-RYkh7+`n9L2NJm%)oF1rOuuDnSsFrrM}qonStR2 zN`L1VNDVwRK<gyFx>AaP`W@qJ-nc!QGW^}aAL>_AClPG1-pU?=TETp06( zfx!Z$W-R@}z;FU3FL!{{poG}8FANMTP|D}MUla!!889$F?uCJ+pXjd) z46yqmA%4&L%E0ggr50}a%D`{}rEZ$}m4TrHC4AO=WnkC=51;t-)RNS^G6u*Ub1=L1 zeMMh2eda3zLj_8_zx~R);9(Q50rA={u={> z2Fln)z&8elA1HNh<~Ih0BPeOL?HdC_2TC4X`;CDi0>zx8-ykyxh_RjX-xwGw;JV`D zQ}a@wqw%0Pf`saaZww4OP})CC-x(M(Q1X`|NCYKC*?(tXxB*Y|pjLNsMiB$#hE`ap z27G5=c!5&dG<;`Za6lRTp7Nc60d__Z#69c2Gcf!>NtuVfGcZg+sm-5$XJC*(iT5Ah z85owp+w<{h>8YTZeaOvXF!xCOU|@jUgaQ*${lUO+10}vZKq4r4FcBnz;-0b}3=FVy zi6L(8{=vY|fs$GlfOMg>WVZicV1V5j1krWm2LnR{B6f1Yg(w5$-bt7XAOApKhyU>h z1B1dM7GL)%;{&=s<~!zMmkK$R)s{p9~BuP(ou9$S#!Bdjvz* zou3R0KTuNL2apI#8O8Pslq->IJ;h%P3^P#5XUkup6(-1P+FWB$z;FVk^|kO9149c+>OJs_ zfuRHLFVILbXzmzt+bPVPJHHqhB;YOth3CIt3=FV)mmsmj|C@mUc4jO@ME^GfLk3Fe z=lUC@7dbA%elsv|poDxrhMLyj3=FWFf*~eP1gjB1n#Ei78-3<+4_FPdT_=7sFu=}M zg_!daL(R|M3=FXI7$Iu7K?f2tAkTkE{9#~tfl`C${$XH{Kq)gF|3LBtqR#dI!@!^c zuVp~tko1Rv;RH&HvE&Z}0|!d^-1UcnAqAzboc{+jiVll+kU48X?m@Br;2#Et4ip!j z2ib+v5`OT9fx!c%b;0+v5vnC3?V3fU+|ZK0d~h66GMDrQhreh149DJ z=*qgk3=9uYX15Q4e1TGC-uTPF06SG1;)^dJH7I4T^gjj$*y)rIHJ1Mv7&1_DLF7LM z2GAMoAbAjGU?}>>z|esb&OQGa7hG@BbMXAh(af$`)n@MurNM(pZ9l zk>LkQF3@9OWPqJK0P&YS10%x?6c@%bFfxRolx*b;j0_eiHGV$>Bf|`o5@{g=BLnCR ze~_sl%)qdVff2k~9?@<&4ss7loW1~=jM66g3vv&NhzKJiLj+3rC@?ZIbfEMC92glH zW}u{m1V%;%50o}-KO-Z<6L?Dx6c?)*85v%nw2=-mGBVsi39(Czj0`_e>dL2#j0`(a zQq&hl$o(yd9LLYZ$N;%*85TRzOpFY$lR_ckV+ImINiAtij0_!cpMu(=nekN&0`PSg zAUD@DF*2M$ap62BMur_IHQH7tboZPBiNHtIK<&D`i54Ob5P1dVOB`IBUT#du`)9JKv~u4#>&V5yG5Fb z0hAJok~4}L;3)x=#y~fiS)i0QS*(lU?0gc4IS*MG86r@6qrX`h8B9=0NC`GZh7%}m z)?s60$UrFpT-g{IZlKhIQEZG1DJbJMMQn@=7APsIhmDZ|aO&UvNJMtpyX}~kO)dH@Med^ zJ0gY0uro5;Kv7f7&d4wWrFLjyXJmMR(z=*|Va^tIMusmab-`(n2ug~&$Ii$AsznjD ze`9B4NI~(10tX|*4ivi_K}U0=IMXfYhMGP9P^Eg9J)?PUd7}h(P3~+|=CM{Ib*sD4|iu$;gm_ zQaAO3L{LhJWgv48uAP+Ehk+>8tzD5=GQn~~uRO8phZ&By>d^8sQ`E;l0s>>N&rNDnt7 z!wi&Kcri!>CB%+$Gcu^4#PUOKbT|LxW@HFKQNzc>2%Zy1l;KJ|j0`tWQm+{gBZCV{ zIp)Q~$gl$?zsK<~GJJvFl?ickDGwt92TH4Z1`i`c1WNB_H4h_01xgGa;bCN0f>P4n z2H6hJm7o}W$-~I70;MIR$jiuZ0wsUx@iH=Spp?d5yo?MIDD8waUPcDkjbIQrH-pSU zsVismGBVsiX^UP4nS&zoftQiN0>xx*K1PNY@Vo_Ewt z{QQgzH&9AZWqw8m*qM!x5Od&XWZ+s6c7$ z9N=eUP(dlxZ-d-}Qrdh3iJ;Wxd;*LN8YuqK6kudn@s|;Fm@{;>p_2e3g9O}#@rA|U z-slB*$rc}+lbTxKU;^?DqLxVlnS)|`kpLsZ5|mKw0-1~w%X0)689Gq>wHjm&N?P43 zz{mhQe-#p{*8~{BW5S5O%tMe}D7oMV$fqc=!zIYbP=b;Y zAjrtD0;SB%0O>+W2~~pVF*r$(kzol+NwQp!5p4&=c0oplBPeRl3NkXZpv37XK}H7H z{qGRJvj{OVNT9e`QHYTt03JJ_SkV?@WSD^xhE_t13>qlm94f@f@B^j%DHKBYMUN08 z!wPsx0GYfNL(O&}NcoH?A+LgTq2$viLW~R*DCP4{Aw~w+-KG$KaS1ar>_928jf5E) zuAs!1yD%d|21>{$f<#bC;}T&;1`d>z&?L;rP=XSw>x3B@X246Ny~2zPdMT+%rRnjB zMTvRosl_mEW?ou8jGdU2RFql<0MTxm^PH{;QOdPZ_0ctMP*!Y5?)cE9h z@cMno$~I3w&kzSgBhX5`f};H7_{5Tu#N>?B6p(;RPL6M4W}b6UNN`DFQAue5Lp+8M zNUxrAP>4!|r=ugxVm!{yPlhQ%^D5MZQ1>Ex5A36&l*E!mm8z;Ln0AP#MU@E2Vutv{9QV{b>{3v5C5a`eZi&ey`9+n!i3K1Xp2b)+ zfF!U8r{NMW14+22mSEA7iAM^LHn3ILO-w6ei1*CPEP;3l**7k!prnK;4pN<&n3GwR z3XucFj9aLmbBL$EUwpitg`uG($d$NUk4+rK4Y1hCNlh$Hb@aiazL+824U{c{GpkbF zit=+qi&Kl-a!VNEorA+eoIUi+P0biMywkK&4Q{VS3&2i*gf7f=deu@{3ARQy|)MGK)*} zEDX$yK_)=7gCh>YG)7{BA}uioA`VUx5T-E_I}?^1AW~q>a92Uhf^#9p!MR{l;5>+- za4yJPr^=GlV$^`oNX*Mi%|R9P$xlpiNi0c3cn89R`qS7DA%PNnaN{A-hGaBY0Os-F z(j<_1kg)ShEr)oNAs&*aVZ5MJXgY!j6vHAPmUfX#1%`Of;-J*B)S@JqEG#iV_^`x) z#PckMa6n#xu)v`QWrE`X!UjhGlnEAgPle_=um%JVRT8WXE(wY#Q1*kE14_A2&p`yh zo=Z%Dcp(6MxjI995!geZFh|R%<|f7lAZG`smbij9Rf0=A1lzONwW1_7uQ)S54{TOm z2}rejYDqv*ezIdqN>OStG(bvR^Gb8W5_3vZ8RGLwb8_NAiV}+wb3yJ!6+lw}N=+yV zGNB5BQ%eF+On?iZDS(>*Q;^9JpHzTw0SXVK7)cVM6t1xhtQO8?h|fSV2Z;wV2bl|2 z3fEYM%4LYpK`{r32Qmkl3s#D3PEJ8QoQvYRG!#41P&7j1kmCT!4p5XJ1p$bQWC@6y zfv^+AO+w`+C*~x_7bO=2#-|nK=f)T3f(JNl$$=9Hus z1%oQf_~e|_#3FP-P}?N6xHvd7FFhv}hh#uvadAmTQ7J6@x`7P^OtcyV| zhvr>~v0%sgfSNXWsYPI8U>rzc4da2#Ow57tz>a}&ASE@72TEI@CQJ!T0BopxDx427 z7fAqOG?D<=bR<5+0we*D9qy?m!TF^{$*KNnX~n4}#SEal2N6jrLo0HO%uP*~Tr(1CE_VFTepYiw}%LPU%)g;L5ObrX^*ScpRPpmIT>fvncd1Vg`ZCKka=GZVN? z5Q75}ON&!Moz<- zj}r(N5l0X{EP{ezNf;E87)jQ|+ycpdMEFC@K#mcJ2*?mf#KFx47k&ss0&)^7kpdLN zMM#1|02ZjA;DR?`Af|&;vuj>r5~!$5%yG#qhA};hA;RFe1GU%k^K()Y^FSuMrq$*ZEeb72Ni0Eh0YI&!)Z$_k(U6SNylhYd zjv*e*^vO@ohB6(CiV`b99U5dllkcdJj8U69;kMRdA`ApE&AdKd&scs07r40Hv{bN1x2xL=%R1O!3^}#FT>MTx6-@jC`=x z(xl3gRAar&;-W-76GMU zcLPei7#bQ|n4^^_hK9!GmdI{}cne*hxgn-LOH*Wh5WgXdYmgy6q$sh#(Z?BDK!Pfuq{QTGs1k;F=fr}N(xOy2A0=%X znHw5efV$afiKRKvJ}g6gaA|QtYF>&9s3Zi}Q6Q%}mlhSJ=9R!*=bn?Fgyh)7oMc4j z(fHls49plNGi~R$Oe7l++Lgf~r+`x^ zDC1>=daE!#Bs9ToS*T~i-6Ehy_!p&syc?Wa0+m7)cl2>ihUDjXa0Y^;gJQ7hFbUN5 z1Xv2{5YN2ipwu*sByDN{3M#mBT~e{CG6AJKv_LjB0JnHSIT(=-QJQYah}IY+#=tR+ z5QI0#kQBn2Z6G1Eb{|Lx+T4Su#>AXtq!wH15y_uMMW|wVpEHY;X+W?!ujZKFg68;D@xp; zsj+|zpCqy$_D3ar{c`KUl3WnW44jxs!%{)>P{FC-Ze6KwVo6bEMOtubNl-qh@t=bv z0&*Rcn}VSLB*GA%oRgSakZEQDWtDtLX^NbndBh2AE6PVWU%#>891|v|*5R@3egHtf)KuT6<=pyx~OMNpdV2!L&kHox` zoK%<0;^h3iywv0phIm-B3aJrd02+fzOmPM`uRt{f=uBa>1a4_)X>7(2pPZHs?bDzn zAxlFGP;G`LW@%^!8qZ2harA+hjcFz*gSZu?rXo~;s&24Dpk))fnV`-D#5Ax1*NV(y z&`2GUP;f~RxILPdnGROs2^#K4k`F}}0C)URv^eGG=fDy#%ovCmq-YGv%u9!i8-bcy z;3SVMgkVFu!Qr6O;Shq5Ktbl`lIf`>piR6f z@nztG09`Lg8loR2pHys=6rWs_UtAoYmI_)E02U}tEr~AxO}rE{#DfJu8go+1K;s;6 zesNJ^Nh(wxKBAvkT9RL$m;oN@ig)x$h0MHzNBzO&TPY|XIr`vH25HVfaww>1$D2=d)tAtTU68TJYLH?RSs2BZc%l@+Vmv1`tt37rvq;a} z!rXu%z9=(21I{-@w;t6V^dyYiMaX#qq6(hAz>y9WgCzuTnn4poQU?w$SXiPs2_}e0 z8xT{#I?w_bJrdw9!e%>YoZ8U`Vi;Nyf(pV?5Q<8eAS78qRD#_Cb0~7Eat5absEnS4 zfq?;9@I$3g{Q(n1@(y(1Gaot)iJTnJq)-Ac9wnCWs>FzSysAlX0BC^{*w=Usgr!|a zpJcc?wCKYWha?~@;^49f$sp8Jh|mBR$E5+?2ABqD?88k$NdYKP0EJU{aUS+TZmR6LX2P+Lh9XdxJxHd#EgVHM&VQ}bUih~mgLKv1tz=aMLVKh@< z%5j(iNojCn2uB(sp`mKRna<$K;Qq&FCobcm=?qkoLYbgOGBnjdMfA)qK_h-hK~C5^ zNNF&$xFo*_G+Y7Jg8oEJnadd-V5@-g2LmwKWsEGpt5@AmL}k_8628Xk_}W3k|R@-GxEWfAtybAAc}5clpvA? zE<+Fr0+$Np3Lc~ekt{%E7^(<3Kv9IiF$)%fg*rHKpo$>0!4$!@K|%x7Q9w zTpx-&N*aWj0M!g?y@4k~uxmw$Z>Sceaw{zdv~L5N7E#n9bxBbaAtf0Uaa7I3sY0X| zJVv1>Xgo@hOFXDDMEHX;D@+iUKETNdT@ajTV1lrk1*=L(u?bTOGZYfjP*Ie4Lz989d3LS_yX`B+Vd{!_qS(g(1XI(-@{Wnnz*E(TqXy zDRQ#&g{25Y!UHXeKu;=ASyXSs1Yt?f(Fe2wA8Zw>LX@P1OAUIe!le!o>$p@Pr5{{M zV5t(x$uQrbWD1xdA|2o|5j7Ctu@8&^j8ZxSqMO1$fXB!z`>Jh6oSHz7eqP7|8-QCWTK;aY+$$ z$Uil)0-_KRn4mzx6b1(aLKqen;K;xt3=T(3aj+@aEJPDSR)=C0R2^IlY!8|sl4fua zK|>ogq+o)GWC$?@tOHdkQgZ{M1`$?Z>k-~WEh?ajVQz&a8;Bq_TVT1+)iKB?GTz72 z&o$o1)z3Y|0~8@X0gl1JsDeI@A+D$*u8BoCl>v!)j-bsN#d;P-pov+Z#FA7LF>qrG zw=+-+4V1}B3q#Q2J4YXchq3t$9y)|Pj8v!~OoRm?hGtlVA?GE?ZYrpZo`o@J7TeJW z$!}08)cAx6!txVjjZtuZQ3+@nCb(YrO)N>yfNcH%P053fJju*Uk52(_yF?brNzF?K zZKX-ffvHK&Er6^{h6#XX>5@TvY2*D;D@p?L%TtT|)4=P`;-P0!#wX^0cIkk&4TF~B z`({?87P$q4f|f9YW>!H%L#c2+c-ezbW)j#H;01*Y@ot$pInDv0&WQ!Z=rht5<`(EH z>MSiRKnol}3r8w*lR)#rD6tHZ2JaG$hg?J+k1lIs23|-N6cSLBnO_86hmEGh($azf zI@uWyn!GJ4OGV~`7cE2PI^#3*ic^cg3nO6R1)a4-ged6vMofC+8N#L&6hD zNqzx%H8|Xi{DMjhMTy|0Y4OP!plwbFy)a>L6k!O1w?~7+8fHDn=yHey!0QGROA@gy zFR-vMGiQj;Oexm0w6HLP#5dFksEtrVFsv+x+8LCZTv}9|>XKOmo;I!wPE9OI&cKLZ zOVE-fh#Y8@1jsGL4DrQa#o(iV^(-wcK`T)pZm|R{PeG3_b3+C_$WCu(pI}dyc-M;5 z9?Lf| zFA=n-0maaO#N_P6^i-GBq|$WkWmw-{M=OcqWsbVRAHn@bIDIG%}vb%FX6)- zwV+OGW*#_h(G(%cfL8{h1iW8r2`Fq`D++S*i&Bdqk$~zH-^9$Epw#5dg3Q!Bw4edy zJkUy^qWm0C#N?oAgyaT@k)9=~xzG|HRS}X$9gBPe~&RQ182 z1070pQd2?_i?h+f#?uwFh8MhkC8Q`7yhyDmAI%#?sDK2bGh{7PW_});EdfQTWtsV< z#n4SQXtKc>iJ(O~kd;KG5IMlyVlH{)ZoOjRF}-eocwgu z@BtN7poqjH2XPdtHh8dvC+1|QqGfe(dI!Zhsveho&@#gUuq=GJDykAk@Ch8C^bXC$ zXrUESlvoMMtWJq}DX2O@G9c05%#u{7UQ`91xryniL8-9$NmNN#4sa^UFE2*-4kTp5 zGE>Vv@{7^(0BH4WQ66Z|cV=D*coj2f^A<`b3n)#>$t=#u%u5f?tV%3Gb2n7hr6|83 zB(Vsi_z6!VoGbPfwS4Pv}B>h+Uv$1lo58IkyC6GguwSU!eUNXeA3aIoGn(yb@Gfz}BNx zePFGiG6zycKvtQe*okmTcxFikG?7&Xm*f|vqNu~DKEXyq0|d1;2g`s8yWq;=lGI$M z%slYf8%8MRValUOgSsZAC8-9w35Q1>MG91}fU_=Ah3s5fT#}#bQj}PZTPds^n1h-?uo(v` zYN1ZUZ5}iRv7~5hMxv%7Y${+jfg1L~&^U2Qgv^=1fPkU^z+E;;aq4p<{-=rA30UK2`p11tqD=`m|guv}1T zIw+=)D|@gwBwd3lJNcU1Em3Q!xGd!La`l1#@Pu)E-1CQG^eB(5_l*w5Ft6n*-k>Wx!N^_I)5;Jq4MFd*61?(SK*#~M-qB;**2E{2L zdq6SolbM@|Rz;#Wz)(#@m&Kae(G{Us4XOM=6)B{#0xr`~R6trX`FSOod8Mf3C+PGi z(4MW_0#Ln&q6u7(fU4%;jMUT;^xOoNb*(7Ds2f0o5TFB-^3#hz=OZB}6NodgHmJbC z?hy`lIy7QXg9%j*#i6J+qV{vZ<_4t}=jW8Af}M=qTmwtOMM2{_$SrDA*>Dsq;hG## zgk6df(;=-LkJKEbmKxY7P%#4O0br5D(o6+wf{IsSZ6tsqC$*@g647!8>p`Rk(EjBh z(1zsHJfx;5nxf!TwDAtGJSbivjYUwx0;O&gpMnDbBnm#Z0aXfIcZKFbwxy(|VAfDz z1&+m)dC4dmLy8jfiqleykm^AcdAOaR_yiregW3{>)EC9z-AXg$tv2B%mlCbnqTpFBTl^U=3)URD=YmF@|Cic+d4QNN#N3eQSd{mAn1TRa=t~Dz|aM1>$v2kL*0z(3RF21hd|5()psbuVE=6>S{>gnV*sxkeH5IhJ)Pop2`oLXCNP$agadJ^6IJ01+W4IyU{xga@U{Xlh zgHm%q%lTn47==7c0!a%byAh+(F()&zm>7j<;R+ec0u3O-e2LW?pd1St8^Rd`Fa_9+ zhsk0!8x-NG&Y)9<@ktjXf~QF`5#vKBDGidwP*Oh@c@zsE=@wL1!$RIW6?NPK)H+2? zN+<@vw1GWyMIumr=OcYig_SO_fSt46v2R^{F2n< zlGGI6{FGF1#}YEngj!5MRk`ISm!e8U<>%*u+pnm?{yC}8aum||L$fjyG3f$!HmI}& zwbHS+LqN{<&q;+%8G-6a49k!uQS3s}h*60n$)V^8EX_>L2DPut5=&4k9mkZi%;MDG z%)D&Z3KT8S!VQ+3oD$PfqaC+IY7txxG)j*&&JGS4L<+}nen5U^9(dR;5i|pe>QMij z)X=R{wrh>Ggh=Za8;!w0;@y|*1%mWVzgIo{k zvF4z6kWdxjGy!4(4l@EWlR-xpxnvf@=N!So=a!#Wf>jWbW-+9o=AcC$#BdZZgA7Iy z2+jl@1q~h*1o;(34l{LNlZKQrpmGPBEToc0k%63-1L`G#CNnBQO(fKe0ZUns@mx@{ zMbQtF25H1}GqhR(NumV@k_?J@;7p%aQk0*AVH!dTMF+Hl=UbXnl39?G>YS5UjI{;? z4Hd&BF2K0w^&v4_j#pp8y3bL=9jxQ&8*%9-QSMi%P(!CPLC3%v0XME{-9NZvH{O zjv?{Ep-v%@0j}|$uCA`}Za)5wA$XMqIQzon!IlJojyr=4dO$mr@Bl`aN3T;rHDJ7p zYnZ2Bh-;9WqqA##uxpU3U#M@qQ)qBJh~XOK7~&rUvkz0fv%hbEe-PZkmZUdZMg8bpph#6|gwu2)PlmLT6976(v`~!krLxMxxVP<1W zqshUFHqcqDCHY0@okzGd7CF!y8Z6BOrKW(FNTJvZIvX`JF9kAShawYR1X_OuYHpU~ zCnJ_zKwX=hpOTrE4jE~HWOvl2DrhJUB8y_Eb7Bc-eFLb032F_Z$OY%8fvPu*aZ1?y zeN=v4Dz-KNOdd4q9t>IwmRVAXPaR2W(u**Pf0%usW+W(NFg$`#0A2ToT*|>DA%{!_ zmuHqFXP^WFOhGVc(G*%s872p_8dM7gmw*<9feyySW(~4Rtk%F3;FS!@&qtk!fjI<} zzCiv*Yv`a$V>KK_5M&T20#O9RGxI$2QcFBaN(w-W3Gz$PhUJmuL5@Jt3(^FOX%q>l zCJYUrQ)4~zic1pFX5Ao-G`IXBkP|cW($R)$p~ityG^EXgVj0L4eyQpCC7FpOsi>nZ zC{n2PIf@jDd5)ze8L4@oMHwZjXkm^lg`x-KZqWR3X)&xMK+}n-07E}|OCF>JYs&G> z&&$k)bOTTffwmf<(x_62d zcnb{dIFO_LeO$v_gHY#LL31sTi5S#|7g!TW5=&nkBn;7mVm+cqhw5U4IEr#m^BL5C zM-fEr*Wr+Y^y+X(f_qaqQZc5={Bu&V8-v|$ zNP`-q284EiFs%$o1TVxcF33s5Y~O=)fkxFpu0>kI364;h9BKr?MA7{W8M*MlTn6D- zkXTd#UYeLuT9Sf3;ScJKLI!q&3s74t!KFn-`Jkm0(3FZ|A$0#B_%K-HD%PbmH@DKm z)7jt8GcP%(6n*^CmDaU$n{}(iZ_ADOZHy z82zA3Aj$x)xVr7152{tnWiXd~tAVbqo zgA%mI0%Q{SBw7?Nf%~uEln&YliX!EkT3no%o{FWx2x>>-jBb!5X2JzeOL{^yff`7t zX$prpx+WCoA@raKgIYz{LI+f&ftvcD9wLeckOZX5=o;dTB7;4|pp_;zJD^gaW(SHv z*wlio1-S>k&k^Jw0t!JC{a7n#$UGR9<_**pC?^~}6zB(EqBd=~)dgkAJmt>BUrXx_spH6Vo-iff@tQG>}bJu?SetI#hWsvMgUC}Q9` z7n*XAB_KY<5(J)TVgUiZ@gW|rLB5VY@d5rmp3af+kRiHw(3ls@NRX-k*C01vf4_JT z4XSNiF;qa!arXBM4heGf^b5gI;pyVz8t>@r>>uhE;_2re?;1f+3A!^tMu4pkjtAAh z82aJP!yymXkI$cA3*ue;eH}gh2&=;qU?5k=yZSjg`MAahhkJ%Nd&Il>2RXaC#0PtX zhPe2L`@w=1tTMpa(={R>$Tc`P-Z4197a9||lmxqmfI=@AG%oEPH)_lpmA^hWb-WN?V9Z@ja=zYi#7V=*Ei$luvDIM_cZ z-o-OGB*@b#G{iMNG{n=#GX!L9VFf4Gz_J3E33UmOa-g_4uMe{e{=uRqSx21ym(*aE8~=uxmLL|o!d?O=t7 z=p&#IZX#hP!p$VC6mBY^)Pv?&LY0DRkQ*ef@j3w%k3=Yg#B_*9kbg)Bp2&tOaEfsR}f9?n6+OBjj#- zLWa5dfUJb~LhxEiNEOsdLdqak!VlKKYb7C7P%8;3gIH;RQV!q>SVF3xR$^Bc9O?vW zO`|rzeLP+K16=(eO-*o$MsbLbr;D?Xe=w*Ygwg5-HH6_yJs{2Zc!&c~j0pB|bq&BR z4Q}J&mJWurRG|v6dI6HjpbCRr14BK7Tv6MJ5EVfo&X_G>h*WThqo0ctq}7jB3quq* zhC4=Ll*3RfvC26Id4_m8gZrtVHhf5sqhB!QA`TBvC)Xf9(3wzfj=>?pCfNE?2sNMr z+&>gPod!;vp?;uFho4J4IGE$HDS>$os~jkDApHpJ7UH^bf+`Z4L8uarKAyu)y6dY@rKDJFqS#)}#sRrNICa>m7xRwzI#Zk87|qsLPArUT_u(at-$M@dWpA16+eV{ZR`$ zbR}3F2`Z;ynKszj!xg<_0~&aMh=WEmg8ls*kvsm5KA`cpaMvJ+l3)v`#d!1X&a`U<+EJnFgrlK&MKA4k7_r2;NB&@16>F66BV_Akd0= zn2=`?=%f+I1=S$+#Sj-lN5F$qOG*nE;)_A^$fbEHriMkSiAA6z)bfh;%*{a;Tj%EI z7ZhgoBeq|%Tfz8HM<99*-78Ny6cgh~t0 zRd>PRA2B>98?ML zVT!0i&^U$)Cgzlarq}`!^YTEeiQ=KM#x8p17N8sEK=;1Kqg?;eie- zgj}iz^1O#gbeY%nH8V}0!c%~U_P83 z1igU}E`SpJ7DlFK5cS|Ku;4=tAr}@V=ND8O8^t>#34xbeqlx9D78Rfgfv!4?#}uH7_MTzaTY_As&x{ zWYE>7cvXN-ZY;s8qPQdxbao>iTZ%zP2H|xE^hQ;1awx`YTVh#aW)5hI9iGVWSe%|( z0y_CLFS!zaWj4-Gg09WSA`cBD+zOy!gj)eLi0~-@T^);CJ{c{5aI3@&AKYq@g9lG2 zg7&*Zjta(Y6haLigFuUT@I?ef9*+T~;QO%g839v)#}Lp#GoafM@p%SxtP1GFU3gA% z2HkBA2?V74h43|!AT%`~iJ-?Gk`!iiAxR>~50Wq>n2-cuo<;~kCq?0B)j|$9j)#>C z<>1xtp!-B2=?Y7thn-;9DST~pm(Sv7e3HzgF_aYC2-1u@&l42%tM%7%*@Ly z0Y??g4Y-vSf(}fBE{-KqOF>b7QYwmCWG}*!5|TrarIF$V<~U?&csyd0M2mZDO0cFK zYzncYKWxen2^X6zq%OhXQrss? zPb^FIFD(HTIu4*S^kL@0;u<9HnTH{b&03Ul1JxEps*XpLd|)LodyrJ%4puCRafK=t zrKo|5RROs3haLn-PJ@Ol9u;W08;dQN!30wT^$RGl5iv!ue84OnaRn?fr4vj|aUS?4 zhBTz%77K>>08k4O>RfoqgO<*W&A>OnKuRO1TI3=FQWc?TGP5uu!OO4;1neAGQpD*V z&}{;+7=tM$=pa+jKqX8U!8kxvfZ(u4Q;)r3F}Ebe%dmKH^l?rp2JJ;bvjdSxVKoUx zISJ$AP99xV_MF3|+A~Bfl|yulwnQPh?}FJ zfrLdBX1t??oTVvpFk>+RXHvkT78*J5)Ph9`dKhC-f*Hh6MaUtI<_!x=Gqli$G%{h4 z0Cy6>!Uxi5O(~AgNX$#gNyUgiQ*(20c@K#gg2rLiaS)AAFCmxa7zHIf(Icf}3`JNB zf@Dav5V8baKm`v5th&H$2y|_r?i-dW)zE+;-UXiip*5I;p&3SanHfSFZxC-23@=y( z33n+$9ncyK)!k+W&?X^PYq3^qW(Ee3Y7MIvL=?bkDWsUl%}q%y!xmd;|cxqfUhwn3Gru8jS=cLx=#_EuaJhwu_KckQDkR zW~YL7tK=1Dg3gIRy{XFF)EL@Kg4lw~+QcGId%mI)EftxYnwVM;b_-73W)_e_4%Kp8 zb&t8Ju{k#Njy}#11HfSfF6*Fygp&5mO-+n3rc_N0O^p~pw`0bqq=GIbiqA{TMK4>- zO${N}hC{8v9!Q|l5o#^WLD-WC7KPZ7C{pVv7nF>V38pp!^oBd|FWREr?e2R0Sp$`PRii#yO%5KLsSb_OJD zJW_Hn0>>OVR}nN1(rg4R-UtF;-k@i0Y7V-b5v^)4H$ke$2pWp5X=83`Zbl&5K_x$i zcZ`t}7?uFUs>ux6iULO+nsc!=qRdUrLCc9?NeWE|qSV9Eh5`-O5mXNeWzgV8Vp%Fw zHK^?ZON~f16_R<#Dv&B694g>73=Vm;(iDd(tc58KwOGnh94evt5hYO>nOPW^f%68k zCR~jhBQtQa#2ti)jD&0)BI=;4SwNDIRzF%wGcq%WcE&+Uu*MNm#}!EpEKMM+f{8%0 z0jir}l9mi!#W?H)NGHhg9`T?f z9zkm|!N)?Pa3IG+!sTEZpu!lb2QqeoWI4=B*s{2hnFVM88L@#23$vhb(D5Un@)5KU zD=`JcgRnxOt4Y9z&On60Oqh6LPDw^l3iwi9P&Rh}Elv!{C`$2!9Vi$NRRPW%so;t- zF{h-s7)?t~F|7TTUj$xH2Qjv^2y_Ju=vG-UKeezlF$ck`0Ih0(nqQfjnv(*O$}On? zU*-y9!^)Jz9FR;&Q6;1Zfj9zml^@83#l@h@m_b^=_7ta!y$3wc_qGy1)zJJ7~&xjk0OMm2Anp~6hXy6sSBzN zl(dRdOW-`ny;4xFYhFoFB}heXepxD140H^7yib09c4+~!NN#3cdUj&7UUO|#HSahC1&Q77Ns)8y9dX+RwSo_kL-sWUk4Tg9e9#j zQGz4_R|P(tHx-l<;^R{)^WsZ#iot#Y=P!g1D9u2HN^*))(?Q;5h>uT6P0mkAjR&s} zO)X-Gk5A1*6Nra8G8J^f9>~$@Z z0tD1xE=bKZwlIq?D$N6>qWGfJocv_)iB9q5iN)ZM)H5?M1I>@b$AjajB%=tVIzBtK z66}p)xD`kWl8YJO3gUAzLCHNnKEB+{1YriKWe+n0w$WTVTn1JDTyVi;QL~n5{pw2j>eE;h>v&6 z%u5Myg@zY8-wARUT0GRd@t`ZkAtCFQUj#bf2Xu-!7FlP|r8ek>fo}F-hzFSw;0kvf zLwvkvv0r{3C?Y{iKRxrDA%!Pc1;XE{d8N7WnYrL3nghA*7(Cnoir4s*%(9eBW02xf zBxY`Y3Ru)7CkLE4!HE-`?7%0s=OyOE=jNxRF~p~(rl*#q=9Ph1#mFr1DQ6&KbBp84 zVB?h_esM`rNq!1Ld|E-Kp0NdJ={YQfU^4OX#hH0I@i3b}njjIFkyspGT$~EB3w#lJ zDmaIM=t-o?lfB#@GdCQzJO0xC9&VG1CYr8C5*WtOEDCxMQUkB^TpF3p80 zNX{=tbwhe;Nk(b~OuDEzBQvc8#w#gG%*?5R@u03vtw_mC2j>l#L`G^wUSb}Emr|0S z2(7iiOy^**QU*|NNsM8dI;p!YYytOVWkj=0_{J}k4Sq%<)HbZBd8atU}g0PHmQ>CuooW8xvlqJ!@0E6FcF zTv!XS2YhuU+O47S@$o^R<9d8u;{$?SLtXsigIs<5o#TBxgF`?81}bji<3TN0|I!k0 zYXDq$fGvld#gtkCI^hj;N|I{@%=L&Zw9}j9GK^EPBq8PM? z3VMMsNOOF=3up%Of5+@tKguKR6=6TLr;;<3Kwk;rkLH#-kq73=K#u z`3xiNLsFW1YKd=tN@-3iB-mXm!Vwt*daxoawm?TCqXz~2%mLU52B10%ty}{KJ>r-@ zh_k_Gf5F2ZtOOQN@R)%fdmbN}2bpS3fwxT|o2ML181%|h6SMW=ejsfCpNWOQ(*h31@0!sa$=rv-1 z#sR2y2X_iUA@7+NT#{b^N|#`-A{79xMT!v^n+g}4Y3!}aRHUF zP``oBABG%D3_Vv7>K=E{CY$0C@Y&H022ektq<84$2vGNci&>-_f*HWYr)OShUO`c6 zL1Iy=M`~h9Y7scO1gDnZi6n?aL0vS^$&OHs32$tAL)KPsMDdz8CPMaEhOFG*@zBN4L!Xbl#@Xz2pTnL=bE9Of(8wkkeuS+)RM5o zoYGVW3#hL_Z4K~|xS7d`klV5#wqP802sH!Lj4J}SQyhI#lQZ(+(;?tMMwEKsdI5SE z6GJ@gus!g;b?8B6VDG|`3HYvGP=a^#Nh~eNFHg*X8w}0@Sg+avn*cg_%o}<(fv2x4 z=;Q-XM+0{;1-VQJbig zCkF(h9!mi+Asp=rW@z+<II7A_NT zBvdiaEQI<3a%3~C3Iku^79U(v1iG`OC_fh*O7LO}5?`Rx@S#xxx@R!B0CYHRQ7Y`n zaOcwElKfnkqQr90d`5Cceo<*LyjTH;L2@~0ObyjnpdM6FSt`g|@wtgv`9<-?rAfu$ z3N^kAQj_yRLkRKl$wejc6*-{LDFO!zI24iA_JIr9N~nt=bw^22 zBBVxuiXt+jUusEteo;2Wr_l6(2x3H23VO;DBoM*H3+M>_aHx4f;ORry-S6N^*}t>| z+;j%zQ%HIU2W?ExNGuA;_XXVq2C8=*KQbh)zhI2saL#4j`ox z{Ja}TtP^qG1vJ&hC+1|P=cT5^=Yod`p#A_A(kRyk#6yES6D_zwg%)(e0akIxC*~HX z$HT^4!I6|14_b*54=Wcy%?W zILLjjXjLNe!LE?-f)(npqfDUDi+-puG|ZgyL-RmGtB_(GoYCWxGSf>^^PnR};M^1M zn_85fngYGuJF^Nj(h81ZX#X9O)IfJoB2pnn!b9oKAWj*CxEhf@LG?eRwuf~b!8Sqd z2Hlwlx;3r{YCOgPuMqDdU2X{x2r5VhFT#Kv@C;2F;HD?MhYuA*Z`VMD(VI1(p+j&+ zhTLitk`E~`K_Q6V0!B{o?x`hyrMWJtWyK(sV4r~!46HB05FZp0P?VYPlUkMvS_uHQ z!6h}RG~KBvH8C5c2b_FhHAMiVTt__$Hr~+(G)xb=&py8hUTlHw0_Sp2;RotIz()-7 zb5cPA2C&W`#J%8FF!s(h*aTnegl5Vxm-nrh%Mh2Fvn4<}IP2HfI7It3h*w;19B@{6G@Fz9U|j^G3X zl8ncCPBb(DdgSM(x)3kt$A zi!;HOK*L%gpgmTp#l@iRHbZ=T5@=c(bn*wHg_BlLT9ORurh&J|p?BsXiO@M8QDuOV z6eOUMvQm>vKrIKzeGB0J3#c=Jd+-%HVhv5U8AYjyDM`2JMbYx(Bamwdn(Z@P?UNWW7rVdvyO+4yh0CHh9q2A zLk%(j1S=ehpbZe{or@5qp!q~&@wW7?DN>JGi_CBn5 z3Mk44-?|98Vg?k+kXdfO8b07G0Y07(TSpF5U3uh#CvL$RE3>#5)Q5n1 zIzF|iC@-HOJ}9*;wJ6CcAEL6jq$m?y#)0ZGx6GnqL}dm}LEu|oU9ns)3kh*(6A04$ za!)Nm+^Pf#agevc0Sk>9*mb_pq=g9X%)Ao+qLfrn2MJr^Lfmf(u@`HagoLDfDrlX2 zGIUxO6tkEj(B^glT5}uhS(GboA-1`s<|J08rod7nc<2<~EQiD!Qa%Rz7xmh2aJ>jB zRza1sD@p?yQYnDSM9|1+QGQN9VjifS1vUli-BFOt1wMh%8STJ(h!n`8c%&2a(CREu zBLQ~H1jK*fd9c(X&phbm-wh;pRb36xuq3wn^hoE<}4-Ti|i zJ^kGLLC!-fIl=h?ZETqVJSCl96rW#=JRk!03L=f8)L#S-*pCk>s&vgONiD)Px(CS( zptb~P4QNnmT53^hUUDj|M*te0Lp!Mw;(d@GLF>ROLDxKi*Umu2D@s6PUf}+P5iC`J zIwhcD1!W8l;U#cjz)o(5WO#%mihp6Jih^g~pqU0bZV$2pHn;BR13JG0p6Ed1b(zW8 z;Q3EbEfAlXo0y&&pOjb(9*qJg^MFLq`a;LN6iBBEB36_S>P&;n36xvhAzlUf94$8l zq^4%Wo1~yc*~U9jE^WctDtv~UA%4C-_tA9#Pj$h&^d!4iAk_z0$R>gT9S%ZA%KPki%Vcpi8Xg} z4M<@PjWI;?AI+Vo=wYAs*C|#nFS0_jC+_mB`>E zgKab!RE$IG7N~bYWeX?(!PTHE_x{%IJE>6@n9!9CzinGuo(y}X9256T%#I~wc!j7V%TU9s8&JTfCLF$(7*;{ zCLPin1UJjkN5S9;1vKKGlA4m4oLG{Y0x#jfE^#SJOoxo3!lslZY&Uz05`#umqdvnVg>o zGqF6m7~J>=yBRbD0`7j~E&)xZ=7W~JqAve|4(35k z1vQ^Rm!v{s0;yRCstI_9favx?$C5ysUBRu?`0_N!E+Vk$kccQr z%>`H4@cIla7nGU~3T{Zr16k+;9o`2^qs`F6?{tQQraO26Htae?h#08D4ytmXDGl6H z0Ub5v0~%3sDatHM1yv`gJ-JX%mv}@FgEBt2_J>{?172+lpC`{$%W8bqOaDWEBk5@;$# z+%^ba3jo>q2pKX0>jQ^9`dk2X{0mRY0kvvCtK&gYjjQ4|V2JlD29NcpgYJ}1El$lV z0eKFRufVAoT8Bg33QkEGplT47%pfrVt*?SJ^U`6}EU0G=c0VjZAk}n`Swu)x2Udfc zQ=yiD?T17iXzl>ipehB8=0GgI#rXYs(K#2%uFQ_~M?>7hcW|CobC%AZp zRL-yq2w>=!YC!@;DMZ zW@=GMB~q*hrRIPtSeOiw_tA@!=4W-X|P=I<8|${wIa5Fj6e6CQ ztuaAy3OKzX%3Romdf>)3xYY&qHE0YLwAK`~l?c>~a{*nm4oywIzL0%~AP0et@(0z$ z;5b2Erh(CTMrk?V9GyknVgiX$*x(0js1$V7H`HkGs!haz5hP=P)|+R*=14IM9LSwO zh79o-mnk5v5zS65%1g}w&4j@^Me(SGJ1Afhi&7ygEyBT70oebbD|*px+lBTg5LGsG zq}DS9QNo23C02sg(SYg%Q2qt?7Qhh&_9Ef}4$$QhpcSgnI0{NF&d(`J1*ZwfEDt0M z(o*x&ph}R2G9dRdLqZkQa7;|jfUWv~Du%79g4BSp42f9v0hxD9EGURCsVqo^YJv>e zBi{=RO(kGwxdlUt4ya=PoK%QI!NCPeKb|g-su#Q!q9nB_7pf9GLyfdJ5;>bfN9B?7 zG-#F%RKq|A6A=q3!1kc0A@GzQr0Imd%qJwZC>OKBG5JaDxTaBOqg48t7 zU_!5G5GF$0br=T|wCrdAp(CTd;5~uJ=zY7%Q{dI44TgdyBcz$IwII5Tt%U-h6P&#DP=$z0WvoQ77X$a0rkM4UWJScgX#}Z zGcGMNCl%7u1*K>3m>4+n(5FYiQ3Hzac)V8$#XARtIwuym`bKltg#Fc zLQ-mRNl{TUyuya8egMx6fa*DLCh!jpfyN*-u|gVTpjI}_X|QE)5F-;y@-tyF;Kdc7 zEQ5P87CNX4>6Srl0xcK@?MZ_*!6DK+|~pDI2;NuHm z#VBP@h+}{&)PZh^#U(+dd5|g(tOZhv!iN@N%{Qoe=xA(ZK`L^oT$GBuJQEgnpc*1Q z6?x%0bg&#Wb%59%0V@|E=^h-ONWli$8SEH>=wE>45y=J;pdvRO8TAgD78n#qCXDd=Kd*hmwk z1czoZNI8J#vOS0sz_x+HF*qX?w7{x_0kZu7yn+Jk6{tbb32g9eHfYQaQKo<@e0W*| zdjTm-ASDgzz!|6^2p_F+@93Uyc`8WO3&8Hu0;4$k>`X_@Jz;ElG3@n5hu zkf%X4DX8@Xiw>k=W0(BoQc$f3N)n)cCUR>D%~Rk60&P@6uU&>j4JcMX9q-`O5_o8ND} zs5)Ul+p_5Blag6nl3xU#AA=o}0(K;@F(Ug?Es6NrSbqAY8;=Vz4u? zU&#jv9#9t^l#+ZhbHN+Y!M1{;CCo9%)6p-4As%N>1QY_Gz8kEh49-t0amg$$0naAl zoe=g*EeDMtI)kSSpg9fw9$IL70~8+^b5CGLLWhFExgS)x!J{xYHMcmm1Zpg#g@Wju z!?c#9CYPk9_~xgif?NXa?1Iu5I1kT!N`f5;^#L?ciWtCS)+md0 zA<95YYe9|$b=gacAd~R$#aocBC}czcVry|`UIqi&5<28f7LaWdC5ZAKc^wJF2t2C; zpplE#ltbR$93Ky!GH^-+oxK3|fpcOBD7HbH>A}rXu%J6+PdB741i2T!>mweTT|qGb z-Lef!ui)iRurvrZ#yPPhF(*GAR5^g`fJJn8Y7%5i7NkiJ@m4W-y$sZJMCF3$7J+8u z!8Z?rjfNNiDL=rO60@lV9c6>3uBE89{>2xPTYo=D(n# zpcVo{JZQWC65UveIq(b;%=hS1`mh!)XzD*d8QjN6tiZYiCm5O|Agg*|`aqEmo_|DH z76=X#M7}_&qd;qHKmx%qBfulISXNb`83LVTM$F&BHvyII3!Tu?`A(y1Kf?Lr-4=8w}bQnVwjZ3Nsrb zSd?D?nPx}Xb_Nb=s6!EX1zd+X`TGZhZi9Alh05b9FpQz{pdN-ZC~JT&FNaK`70q;-r$xjClVM2CSfs#0C zVn^Ah2d!YhphzwjjWfJfEJ0SYD{3J9(XMZ zH4`+f4jHHhRpp>l=t}cp`(xl$2y7K(US*ATO_9~4GNy?e*>OxW}$G*w}yI%us1 z+N=fHkqKEChp`(o2(&^5Jc|V?;No-gK}Qb6r-8G`Ioo z=RnmIl$Jok38~b8j9J3Gjqd~lv}6P;FTsT;XtF5C6O_fkRzX%DfE|?v+Pw-HNPvVU zsM~?Q%>|?hk_*5U7-*^yB;*N>+Mv=r7x+pPqzOuhC*o08m>?#GU|zyp&kk`%T1hIx z)PmGJPz<82x`x(!kQPsTd~!y1aY=T3E2qxe-8QI|pt20UF~iv< z$ln(#0qGD1g*eBDJ9@h^ppQ&KH=00A1}&ivDM|!ypnwJwLp;g}V#qTph^{>>&7*fR zAcqw|U4m9z!wV!x$qRJ>qz(WL9>bTkKq@Pj)HH}3r~wC63~lPe`#(@&$cPUl12Dv6 zUn~j=Y{)1y%IaiThYo5Is9OkL=N6urlkMyTUpkC+OEtuupgYS^>IX>7gAylrunL^D zb2Ibui=gXck%|F`2}r$v$KvAr4dk}D6kIS8_V5h?|$S|IrzDu8GL!;%)*ebC$(jBR`u$;qGv3(&?PW`2NfsBrf8 zgN(B|N5&&fzC(Nn8{f*z$tg6Dxj+gdC0P-|_(6dmIp); zy2+px1lU~o{s`!)B=B_(kU{}AV-OJF3);fq1{zUwjd$_)b@cQ@oua}#WfVHh0&0bp zV4FVy+wYv83-N1aUOJ?jK(8f16NQi_D6Bw(#2a|M9Y(2uYqAES2RiBu@f)mu!_r@c z&Nrl_f(HFzy;aZ>2GB}%NG})SdhnsN@JS>`AD?(|3m>xSBN#l{hnXrtK7yChpqdPt zRzQ^%Yz+uh2%JelUAb7H)<6>` z`Yt`N4WL#rv{ecj>BR41_)s!zgCkNd20PNn( zEm~+p16H0u?~4Za9U!R@l5U_qI?y5^*pMvP8?Z78ws#Vu8a%E9Elo4wdr{CvY+=Fa z6y)jd5#r|>91Kfmp04n?MXG?Het{ZW3F$I`TB)#PjIm@AQVoNYz!&TX6y<{#=t6Wu zjfC3b*ng1L zEx6$hbq&PFpfP5!0#MNcO{1`w0d*hI7G{ALyq6ZIf=;agH#@NJYxd1gNz8!_GC@Mp zH!(9OC^b2=0JOp$;smg3kQN|AL_I-;6KtR(C^aRsC^Z?jtQLL6EG##{(kl4Ozi=Ff z$w1rzYO(tlfEL<;M_!?e2}@urNTG`Ib5c@^Ky6saXemS#safZe3OaBcH1du<6^-21 z1}BM7KgW;|P*Q`8;)6=s*-(pqV~M>_L+RbiI+YzrT;CpF4Cq z89uy)bFmUA=fL|HzOF8wp}vqQ=pcr8@TxTMF~pEWgm>a20MaLbg*{~O8FBK6OJ*^s z519g43J%*Jht_q#HgX3EWaw~PKu#ifTpt`5;2|T(=o~CzK+_7S5=%`kam!CGg?IJR cKnFUf!pb-rp9KLMuujF3JL~bDP&SX!Q9l`0xYbMz{SA8Xv4rDdyj!Z zA&!ATSq_3#&oMB7utpmL0|;x|Fff3y?l%So5H?uGzyQL=UJMK%Y{tgG0KyjM7#Kj< zdIbXm2-~GFFo3Y531`7(lqNf`I{qOH3FTK)CE40|N+G)-W)DaE%rN0|?h$V_*Q`#ykcF5N_dNU;yE^ zB@7H8-08=_0K(m$7#KjfZwmth2v3Y)U;yFCzZe)mc-k@s1`wVZz`y{)bGR57KzQCd z1_lsb7{I^)!i#?~Fo5u~c?=97ywZn(0fbk-VqgH_bsY>0AiU9tfdPa!zhPhi;ca~k z3?RHykAVS%cVA#&0O5TF3=ANAP>6v6gb#0FU;yD`K@1EaeBuKG0|=j9#lQf<=e!sg zK={H71_ltmyoZ4Sgs(+0Fo5t)IR*w0zP*ou0fg@*F))DeLn#IZ5Pp1tfdPb{6)`Y? z@JlfU1`vL|gMk5r-(@f`fbd5#1_luRe2#$ugufLrFo5t+F$M+@{(X#r0fhgRFfjZp zVPIrbfMDiR42&SmR>r^x!kh{Wj3CT?hJg`;`6?I~L0C|Rff0m-uP`uzuvixZBM3|C zFff9!^ce<55SGhgU<6@BJ_be*R^GtC2*PS142&SG@r{8IgtezIFoLk29Rni>8$4oQ z1YzSA21XDz(_ml(VT)4?j38{C!@vl_c03G>AndS#ff0nAgBTb=*!3F&BM5uUU|!Wq997(qCD4g(_y=cO<(f^Z=d10x6*&thN%;W7&bMi8#Jz`zK?)oBcj zAY8}7zzD((a~K#wxY>$<5rkVWF))H~M-u}h2zTo-FoJOJEe1vqo>0WV2*Q))7#Kl# z>L~_B5S~%SzzD*#l^7U7cdAAT=+=IX|x?wW5R}K0Y(I zARe0pNNs9KNJdd=A~w|+Qi(aqL8-;5B`&FDnaQca{%#>ihGWQpRp+Io76m8f7UZNB zW2ncFOUy|QD9TSxEiT4%JGw+-PBJJ+AWlJY2C`scPO@)eb}G~`=hC90)I8+yz$TfP zlkAh9UyziToQ*IF&FQ!lB<3W076+w*{Nj47FzlkAQWUGR9vl!B-aE-A{)OV31eoO@~siUhJ+q=1Gi1E)Fn z)Dln(Ii{o(r4|>XDnpTgnC6*RlA4}cREDY$A&R2P%%lv{iBPq0IfxF|qN4mFR70Uc zQ2D&l+_1!)Qc&iB)A(KvNE?f#`Bj9gy5sjFBMSQ%j)6z~vHik|D~1 zQj1G-(K8aJ6kL5kVremU~sVV+x!TF_mDG2jXMH6#^^Gl18Q!|m$H$nt13s1W+ zE1_!O;z%k{GXPv6L>R6P$w3eYfbu3paTHqlBCA2S8KeZ^3vf2aGzL^Gl%c7@FbJdwp~g7V z%mflUsHqPj4s(@pCc04|5x6Wy(lJI#JH}X(1xz$C2UInr78i#Wq$HN0w-B(&CFb~K z7MG;vr4}LQEo3ny6$od;6@dH?EF{a~ZPa)c<57e#1KGb24WJP9EOsod$jr%1EUJW98=RAm;ux&bi8)A( z5Lf^p2|?r`B_UF#0jYosBCCNHyvSxjRKlfD)uZMhgu$@9g{&IkbA&pO-{Cyu1c@Su zWC~J}L?}Tq1y(R)_yHz?WExuTgqsKzM^cF>7BI|3NTI05;$2AIfZKwcIZy zCM5sDl!1g%OhXGlxH@q8;+|RpZ6c$le1ss_EGQSAypilhmqJyKk@DfnAu`CSQNj?a z4(eyOoczQRR2Ra8z$Sn>DEgry5Ls{`i58cTk`p9|tOnH#h(4Gbz&x}#gqQ*nL^1_6 z{-8>rra=1{NC5~H0qaNVVIZqO?stItA>bkx4dcP5Qf6|i8&B&BfAD60+&V72rfy$rC{noCZKy4A_h|d zssm6h28qCBF}w_^53s}*a-idoPRzk3fp8yoS**H{BMOT)kTiCEcx_8#U`R>MDN8ER z%ZJVGBG2j?8W}4GBEIi7!0h8df@pBFb5~0 zz+jM|my%eLh*Jeb!hylyfL>B@F@%SkYyhdt1R1De0#n7pz`(%52;)I$uz3)5rVtSZ z29P=q-0I9>>I4`V7vM z8m2!Zm?a|6^d|w0Q&7BMOMfu+$TX5VaC{-lA+tg1kom}L9tH*mb_Ng$%9-ro@BzgX zI|DH(GXp$X2{8{8gUk$RB^jl8*$@$M+F(EqX^0MQ^fF)&DgxKPZ*pbJi`Sf*)FW^JMKxsdc* zY+zt$Y6eckgvw7dBj}JLO?;xz`y{aXqbM% z`5NRDQ0SO2GBCt}EQH$2fGB6dVG2`c!N|anfn6OqHel*(7#SFfu&XlzsR3b7ygESD zfcOxsaNxfxh&5pXh=k!e44~O?)R}WojDp+_N&yTEoZwslQV-%oLL0)uNWBagB`pJT z-2+N%%&;^D4keH+a1n5LK=TEp6b1VnWEWfw*pDDLfXsr_JRp~WJPUF)1A{n-%fP?@ zG6y1J02KjIObjldl!@tO+=~UUEH(g_x8U?@N?dw1HbW|JL9S5{tV!f5o8}IwG6d1 z3#!>c;ebf9@E~LW`OE{BX3@Qklxi`hFiT%Vx-}s(-I|Q1TWJ16$_Hen+gYG=i@sI} z9J`QGY$&E%Se=hZx8TMFC@F(|<_1l-=-x&oTTB^zsn(dtREya<7%gp8;HefAYs8ke zGa;!Kw6Y6%q+&>ywo=gaiAc5ZpaG{^FLfxufk`aNIze3kC|rlXgukiA%etMi~9C79z^m7^HHEp5q2- zNcQ3@Ukk9S!zf>?u&aZYuQDWz8%zbIT^t)2hI0Cq2PIRK^y>f>0Z~j0A<*=T!|RAN zj8g%=bZkLfIyT2FgL{Zb$H?_CJ<~CcdL5&k0BY-iLK%`w;q6t7ble0{0B-LfW@JM8JHO2py?T35FipYepUEVwmESrd$e@{ zjv7b;hvxuz$|hy3VKO9TV=VC=%B3^0tqW|c*I_FxlCetSOS?qQqK(c<;7z-v%t}lG zrCp5ehM=+gp<5CYJ1c?VZA9^lMG9ZKC2}@xbd(Hlx+P_lY$7z>B5!;h%H=Jwqhz3M z7es9W#y9(GLgXx(A?7R^sO3m#wZiBq87P^fu2z_Ul3s^)`6>kR9!g7B4Jrbnm>8^} zEnRq8MJz)EZF+}fS*(X4z~^~Qh@3GSEm1*1jIkFG@k1wA#!2YOLcDs1cKh**n&*wqU2Hnud2ki(a9iJUhx z#4KY+TdjyPmXCxn+a74jg=~x++O1YWPFDHpOX5$WW{q1{Fxc6JNH+lYjV zMG9ZKC31Gl7_(hFx?T~{t|etwwjGgf!3PL}k3bmW>tjG|B~boHjBjDza|2172yde& zTVxr0sg}q&uF)9;P^92&;etjbi5-z`gQQxN18ax!h%B*lvgl{@!q>lGNZ?Da#LjqO z?pzohJwTMQq@>qYP*#zJ zC|C)#WeJ^kK+0HG3plkR9eh2++XJAS3JOC+YQ;X^g>sxXyl6!g#g|fvobNKioHZCN zR}tkZDJiuXoKj&2!{--(VtFXH1BgzkNM1%NRZ&ForBov4w?^j=KnV(Gi*#zJsL&+TUL`d43L3*9HoZ0=rB|e_(L*}T5_wEV28!peYyG+Zag~RT5v?C341V zwC{yC?UK@>tz$sD@oHp@5};n^1sf$m6UCQOiJapy#M}=)y0#F}o+V{%VJ#@7LhkAr z@@uz2=jDL1Fk&nVv@;$g0>VrTpl!wRunV}5&klziW)Bv@mpX}^%Nm^<0EIVND;E^_ zAYleldRsM!)CpUhJfvH$M9vLB(<98w@Twm}9A9cBb|wpRy};<$0HQ1MLM?y;~ba- z?CLPqWMyGj2QOJcC(RQ(E>ML?t3$d(1)Z!9s#Xwnz5<8~#Y_yKKt$B}h%KC%wcS*g*veo(^1Rceyb@+^m^OXzL2BV@b@Tuws0jMngk zi{eYEM9xQzo>L4;sNnW9Qacvj?gWjy5Zmr7L!?x2zhEf$kBB^{7*c3L?_EZ%;$edL z(kQVrPne@lqi4M$`thJSLt@itDLjpa<`tHvmZm~3R0Q9FHnKjh3>YXrM|dTLMqP!6o?xWkb5HN>V8c@h)0o zg$d$Iqr}cUVU9qJ&O9MXSyEa8#VBcXXs`GKwbenH7g4feJ&O%evVxK$`al#^3||T* zcJ>J~g^rHrBT^_Rrig6^6v0zyP-=N*UJ7VHYADzLB#r08yo^?sB82g!RbuC!Mn?cZ zr3N)d01DC4D#+ZSoK``z#2`N)N>r@-QXnNNBvGQ5sc=zzDV4~Xr_pmPK#_s7ZA!|z zz5;kk4Mgc%4dv7d>Ro~Y2$5RhgCpRPIM5vg@L4DnZ=)5jXma>cF0pe{nBxMYEmlN( zfRq+%K0M_HQ#Y~BYFz} zDuyS88jQ|Wfs!6t3ly|y0wl};yQz?xJE(IJDKxRPI2F{X8q(uaB(+q*$EK8Fq*F*h z#N#{H(qMG13X~)XrBobuZ^4^mq?DyOs3~L;2x{ek!Uj=( z;u+yLhIkpho`;FzOQ}T8MU9T|gCYax7!)ZZ{OJsdIiNe6Qj3d23sMqGQj3RvyOhWg zek|UGr&+9W_);#Bb5oJ}Et@ROA#o#9IJF-US3tjfgH3vJk%XIXeFYDjLyRpBSV2)EqNS zK}w&X9ehK%4+UzSgTfEdLdCkO50)6g`}Lr`C=@Z=Db&D{$oZ$y+tff2fwOf=N(q{b zoI*!d2@2}eqbE?jBl-rG#LhZlt~wp9;Sn`FDQ(asr1WW=IilL2;4x9O1PT_zSAr5b z=QP?&!drrpl0p-aQ)t@AN}*VaPy%D629~4qOrWGkX)BbJIzE9RF~_qQvN#xI_fT$y zf^sIv4~SMM)_Eqlcj3KwBoTb&=jc2WD0JzWI^)5q(=9WnB((@+_lQWHQ12q8PPhoZ z)Jfz#)9C0uC?VnOACWS89|umIt`#MzdBvIec>zVK#i@BEL%WtIa`fJ_7{l90=@p9{ zzLZPkywhmU9&gGerPhyyq};s3q@2{0kqi0A}3Fn2)@)wV}br1zO>wVB!h{Vo)MuSr)Y6--5`QC=<-Pq(;w~LX7l-dK$!*xRK!0=~!BknUk4VR0*jm zgLCphjf0__Qe{C|4W+cTfr@}ACWZi5X^YM4NaZYcX*?yY1+lYLqw7&XF+q(IHi98B z$33+qxTGjEFMVY6xe(rkr&VMjeCdnG>1XVC7Z2))>f@=v-|0^C+bwH9O%-dK}EJ6xjx+QWR%NTRS zU^Lw#%2ra+Z75p0g{<-)+UXWFQvyo5h>-##5EqJ>7~CLjS40^L-E@mJ*@6QE->!ZG z3nJ&YMpv(ZV*pY(V~z=s(jo{!Nwq^ewGz2P6_HvIqXH;m_{vpc=dm!`1EXzLM7c^z z3Jpe1p=l$l&5FE;8lFVKg80%Xv2$6Nb^mA@B`=Kzp`_7~Rf;050YoHG0;8)$&Sx26 zj;@ZLjDkp^pgqIH_NoGrQz-N{kfA)PDh_S|AD3#OUO{ItIi{o(r4|^q*mA| zBA}zFhIA`{$eX9!Q%jJ%jGS0egz=?SB4?|NFjoMMrd9INswY}n1r+Uj-gY#cTn9h4H1; z(U~exB19`MX*vtw0!gc$c_pdosYN4Y6(HQZ$i06gL40YH$eF6qRREx*jI%rijVuy7 zPUVb}Mq&FjhW5xR@v8u!$r9#mEGZTtg)iL_IeRs_bA@W@)(I`$f|nS9_azP8`&5YE zxdKnOU~gkhwon;-sg}q&tkIn-cvCGY`vM$MQti+#WkF*hpnyS)vSK}3-95Dgnp#oD zSP^3QQYex0R--4dfg%EDdw`S^*c>1!)Ga4Ju>^Fn?@;br5qUd>duj>PyT}D8TnJzK zByz6GaP&MNPy$8kd%@ROlafB|k$$+N^ode_f|DoykyJAx z=cf!u*QSDE0axk-#S*c-DLZKD1Ro4MV$Q0790Qz*bSXM0$-=?_?>Z_oBIl(>+n}H% zinE3%C5_smq|uSm28E_k)G`#3LiQ-GCM9wsgwnjk-3TH|srN3kWO{w5B??+6Z9&(g1TAvnSCBw(C;0}BU+yx zNf2KeC3bEJa~<^PiD-y@P^6?$QPKx&6^N8vt)uUlQr{lcf{L-T2)FFP83TWRMDEtsD3LGa`V7S*qd%30)$7Pf7l#6T>6qBrvC-33KnWRFTY!{(FA5Ba zIgobR(4T7nwShq4g6L0SJ(m*hU3g+e62X@`iJTcTz-$MAW|g==PGewU)GJA?C;_t} z1P22HgAOADgAXJ+!KD*DXU4*i>_r+g#h4jGp1DI(htb=|G1CTbsq&C8GbWEnokO}* z<%dKy10rR@Mqoh_ObnnvjE84L#9RS1VG9bOHxWrIe5Ap z`f~v!m73s@edyvrNa6&G;3+kYh@80^Ej96`PEtxuSw!j_Ii)7jSUxmi;x9Fgh@68m zz+4$HTAL$Q29T02Wf&53T=No>a#Dx(DlAY<0m`h1+8ngn2P6W*ObkYll>kt$!dsbe zKEBeD*cqkK9uO$3Ax&5K%oAC4xilzM!VXCr;yYM~tji(8p2&x!A&KBiokY$ijn?I0 zfGc&9Qf5jaQs+ph%c1EI(E~yV;7gap&LNGKnxKSHDXu!Ny5|Ri0J`Ak|Maj z1MLAJiQr3}M9v?LmYSf%iL-xBN~tMu_A9GCop zf}GT%u+*IVVHDc-b7O8ZmuHzGPTvE}zjg)>dWbmb0BImV6*F%G&0Frnq zTSLXmkeCChBS*|G61aEasT4^BU+N@s7Hf306>sV!WwezCkvfNTi-5?{R%kjztf4{( z;7gZ8&RC6>nt0PCDQl>>;puY3tf7J=MdUS9NFw-B=ja?2DA}Ra)fg>NYVN(`LZr@- zQ)(iup@Jq%{A;KTh@7Juy?p|dd~vQxA?5Z7PI$TuE=@wdWMPPp|AS5+00k1FzmN6y z2}rU;^Ez4^6hjtI$!b94%#|_bsp+GAe8i{~DSdnn}OCyJ!g&DuyqG z5;>1GIuZbi2%K$NQbqz;;VINO6J+R6E>S@_6XXX(3Wd#Nfkc@YKvhpXY`7TtGAc-# z1&iQIokY$_jiydea8o69vLI4t8pzO*lR7bm0|?zgWkBTIlL_XYs?qx<5WOi<#sioc z5_7OjZG$JGhH^@k1!Xmq9+eGL1Vk}01VDOJ*u4&~^l?e!D`AP8p&A|20!0MQ5|)%S z%!DHigDe=zX_&|{Eo_MtF@1$Y7GDY`axQDM6b2>?s&Lu{D%aF!`l0@+23Q oBn+0umxhU)@ft0Ksg{NraHL_71w%OvlV1uWwSTcCVXSjw05w|C9RL6T literal 0 HcmV?d00001 diff --git a/project/vs2015/external/openal_soft/lib/win64/OpenAL32.dll b/project/vs2015/external/openal_soft/lib/win64/OpenAL32.dll new file mode 100644 index 0000000000000000000000000000000000000000..e24538a5f1ea7a50bf19d96e6e05dfac18537771 GIT binary patch literal 980543 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

    %s}7}n_mOC`jtexsRt1<754 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

    Sr(kEmH=icw@!@*3Zme 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

    9JSfmWA)v*;AX>=5z_1!_2bcvK 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ʨ|TfHs$IguzyPXq4k8p)urM%ysv7Mr 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̅Zm0-6Db#6Dlhgr>V;6H zlv#{b=7S_aA&99BW*2BG1T^`<$PfaeK&CM>l+=Tb1#Rd=ibzDX7=WXt4jjI)s-m7j zj+uc0R5pSOCzN6lW*Ml>bBu+7L4*O6NhS+`NEn{X1Clwx0y_K#lv@Q*$}5og8L-ZY zJ3yresw_yR{yYlB(AW43KE1QQZWFMx`t*nSQ?zeK{B9YIK+@l2FpTo zH%N|+je$X;9;RU8nHtpW4Uz_J^A}-&`3u4kQVx1-Ti@7$&n!21z5zE>LO!ji!T20T2xu24Q3f01a}3mYFj$1b~L1 z%|W|QK%2E8i3oI_4d`qdMuq?o1x;@|swdPlGcZg8t!ZTl08t>DQOZHkD0K~}Pt9O3 zA4G$9wJ-#Ls2^Y};5i?p60}_#BTwpFs_+*yJEFeCp zKfnza3!cmZaudiq>aYn`s)Az{;Ocw;T3qgSd3T+UbF#Vr~fbsO1vI0A{XUYi#u<(H@ z8c^FDw1Fduar=5Dfh6X7kN~L40aeMMnQ@R-5C%=e{$YgF%PgSN@j-nwCI$vj)lmgn z!3R>r0GZj8U}gZ9^q_1F6=nb>RZu1ZWq?_%Fi{2ukeYdH3=C`77#Q}jF@V;aK_o$m z7qt8cG~x>KJSd3&O+Th4P*0psnfPU1O> zg#rlc)!6!KE8CSRRb+CA*iVfFX?8brGSXINuF_LhX0EbPR94cjh>VQ%u`)2wV6O18 zQ<9fg(w9>*NM~STVP-B%18HHiVPodi+s!1sozq%iH!I`i=|>#|78yTdWK>k;ooH)o zYsQo~#_kC{iI)OUKJvw*05^Op?f?bRG< zwqRv8Y|P~xPnfw%TJ6%GE6RJzmon*~gxxwOMjKmeX1)mKVm%k;%3afsI}7+ZE@Wb~ zmDg_t8==RhtfQo(WM%LfE!bZ%F*-{7ORH+CC>k*dpqTo7dWegFF5|rEO)dgyj1#86 zbP>Woct>XX;~g zsiss*^GFRvGn*#4?oU@h151Tof( zZS4XA%)FqJD3};D7(kntH%yo95|EtUXTd5kJ*-P0i1ESnm0be;jI7fwy9LhIgKi@M z4Ov0F7{v&h=`nqvyk}Oj0_CcNPI&^1_n?m01=8}G-qUB03FT+5Q7J^3yq{3)~Za3X=fS%nZ*Mgr^_WWtC-q!N4(H*MLcO zy4D17q3IDb1WcGj7^mNxArKV?3b+Jt*#gq^5qy9hs1E|-F)(}tyAO1H9*hs#C{O|( z^9G4Ph6c?JlW2S%! z<}IUgCXNyMh1pMNa_zWGBBJ);-6$>VEB&2KhMa(09vdEF(HcaDkB4f zCOmybG2UjZXJ7!0GQt!*WMp8lLsIaZk%1u=iT{?7fdO>PG)(A6=3=Azu z{Qry$49k)Dpo;S&5+6Lo=?#y9C`Lgh$c9Up1>#H$3_B3=)2pY8D^B-VAYj78!8E;Y zfj}H%%yh#UprpG{z=Y9a`a*LiX-47cYiEedPp<$8xlCuYV3MAGVxfQwlL6y&zC{9Y zj4snRg2ZMl5-`vQ1v$hr5E%jva?qJOARYrl2%{|M*is}1M9&geWE7rWJ4+mtBoi%I z3v5C$2ejV5n|#&<{KgZgJ6y&w$IACD?u&rpae06sPpq!@%j z8m5A~bPNoj0Y@PQbB2vjKIp)9AqE=;@Ihb<3=E)15@K*A4$%@zyKP+5@P6N@Ih*j zgFFz7#IFYlL_!UK1W_MDA(U?hcJX9}sZc°?xvD8GdnWZ_(fgHS#w2MRGPVgOw< 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

    !_`#DWD-dKr{n1En`X=^aq|5|q9NrC)*R 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 BC$j(m From 7dbb17792afa7e91bf56216dff11022d5d147e31 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 27 Aug 2016 21:05:16 +0200 Subject: [PATCH 061/102] Moved tool to folder --- .gitignore | 2 +- tools/{ => rREM}/README.txt | 0 tools/{ => rREM}/rrem.exe | Bin 3 files changed, 1 insertion(+), 1 deletion(-) rename tools/{ => rREM}/README.txt (100%) rename tools/{ => rREM}/rrem.exe (100%) diff --git a/.gitignore b/.gitignore index bd9ea5eb1..389876f7a 100644 --- a/.gitignore +++ b/.gitignore @@ -49,7 +49,7 @@ ipch/ # Ignore compiled binaries *.o *.exe -!tools/rrem.exe +!tools/rREM/rrem.exe # Ignore files build by xcode *.mode*v* diff --git a/tools/README.txt b/tools/rREM/README.txt similarity index 100% rename from tools/README.txt rename to tools/rREM/README.txt diff --git a/tools/rrem.exe b/tools/rREM/rrem.exe similarity index 100% rename from tools/rrem.exe rename to tools/rREM/rrem.exe From be97583f00997fa918a15d0164190ae6876d0571 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 29 Aug 2016 11:17:58 +0200 Subject: [PATCH 062/102] Added function: UpdateSound() --- src/audio.c | 28 ++++++++++++++++++++++++++++ src/audio.h | 1 + src/raylib.h | 2 ++ 3 files changed, 31 insertions(+) diff --git a/src/audio.c b/src/audio.c index 1772196f5..3bace5f76 100644 --- a/src/audio.c +++ b/src/audio.c @@ -284,6 +284,7 @@ Sound LoadSoundFromWave(Wave wave) sound.source = source; sound.buffer = buffer; + sound.format = format; } return sound; @@ -409,6 +410,33 @@ void UnloadSound(Sound sound) TraceLog(INFO, "[SND ID %i][BUFR ID %i] Unloaded sound data from RAM", sound.source, sound.buffer); } +// Update sound buffer with new data +// NOTE: data must match sound.format +void UpdateSound(Sound sound, void *data, int numSamples) +{ + ALint sampleRate, sampleSize, channels; + alGetBufferi(sound.buffer, AL_FREQUENCY, &sampleRate); + alGetBufferi(sound.buffer, AL_BITS, &sampleSize); // It could also be retrieved from sound.format + alGetBufferi(sound.buffer, AL_CHANNELS, &channels); // It could also be retrieved from sound.format + + TraceLog(DEBUG, "UpdateSound() : AL_FREQUENCY: %i", sampleRate); + TraceLog(DEBUG, "UpdateSound() : AL_BITS: %i", sampleSize); + TraceLog(DEBUG, "UpdateSound() : AL_CHANNELS: %i", channels); + + unsigned int dataSize = numSamples*sampleSize/8; // Size of data in bytes + + alSourceStop(sound.source); // Stop sound + alSourcei(sound.source, AL_BUFFER, 0); // Unbind buffer from sound to update + //alDeleteBuffers(1, &sound.buffer); // Delete current buffer data + //alGenBuffers(1, &sound.buffer); // Generate new buffer + + // Upload new data to sound buffer + alBufferData(sound.buffer, sound.format, data, dataSize, sampleRate); + + // Attach sound buffer to source again + alSourcei(sound.source, AL_BUFFER, sound.buffer); +} + // Play a sound void PlaySound(Sound sound) { diff --git a/src/audio.h b/src/audio.h index 4ee9559ef..923492ca5 100644 --- a/src/audio.h +++ b/src/audio.h @@ -110,6 +110,7 @@ bool IsAudioDeviceReady(void); // Check if audi Sound LoadSound(char *fileName); // Load sound to memory Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) +void UpdateSound(Sound sound, void *data, int numSamples); // Update sound buffer with new data void UnloadSound(Sound sound); // Unload sound void PlaySound(Sound sound); // Play a sound void PauseSound(Sound sound); // Pause a sound diff --git a/src/raylib.h b/src/raylib.h index 68cddc5aa..d295ef90b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -486,6 +486,7 @@ typedef struct Ray { typedef struct Sound { unsigned int source; // OpenAL audio source id unsigned int buffer; // OpenAL audio buffer id + int format; // OpenAL audio format specifier } Sound; // Wave type, defines audio wave data @@ -908,6 +909,7 @@ RLAPI bool IsAudioDeviceReady(void); // Check i RLAPI Sound LoadSound(char *fileName); // Load sound to memory RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data RLAPI Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) +RLAPI void UpdateSound(Sound sound, void *data, int numSamples); // Update sound buffer with new data RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI void PlaySound(Sound sound); // Play a sound RLAPI void PauseSound(Sound sound); // Pause a sound From d0cf19e03559eb5cd60035d54d4ca7b5991344b8 Mon Sep 17 00:00:00 2001 From: Teodor Stoenescu Date: Wed, 31 Aug 2016 09:24:39 +0300 Subject: [PATCH 063/102] Greater LoadOBJ() flexibility LoadOBJ can now load objects with having no texture coordinates or objects having texture coordinates specified as tuples. --- src/models.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/models.c b/src/models.c index 427984836..92b9850e4 100644 --- a/src/models.c +++ b/src/models.c @@ -1898,9 +1898,7 @@ static Mesh LoadOBJ(const char *fileName) if (dataType == 't') // Read texCoord { - float useless = 0; - - fscanf(objFile, "%f %f %f", &midTexCoords[countTexCoords].x, &midTexCoords[countTexCoords].y, &useless); + fscanf(objFile, "%f %f%*[^\n]s\n", &midTexCoords[countTexCoords].x, &midTexCoords[countTexCoords].y); countTexCoords++; fscanf(objFile, "%c", &dataType); @@ -1959,6 +1957,7 @@ static Mesh LoadOBJ(const char *fileName) if ((numNormals == 0) && (numTexCoords == 0)) fscanf(objFile, "%i %i %i", &vNum[0], &vNum[1], &vNum[2]); else if (numNormals == 0) fscanf(objFile, "%i/%i %i/%i %i/%i", &vNum[0], &vtNum[0], &vNum[1], &vtNum[1], &vNum[2], &vtNum[2]); + else if (numTexCoords == 0) fscanf(objFile, "%i//%i %i//%i %i//%i", &vNum[0], &vnNum[0], &vNum[1], &vnNum[1], &vNum[2], &vnNum[2]); else fscanf(objFile, "%i/%i/%i %i/%i/%i %i/%i/%i", &vNum[0], &vtNum[0], &vnNum[0], &vNum[1], &vtNum[1], &vnNum[1], &vNum[2], &vtNum[2], &vnNum[2]); mesh.vertices[vCounter] = midVertices[vNum[0]-1].x; From a9ab516dae83d95a8701160bb7dcc72917e2d2ab Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 31 Aug 2016 10:27:29 +0200 Subject: [PATCH 064/102] Formatting tweaks --- src/audio.c | 4 ++-- src/core.c | 2 +- src/models.c | 12 ++++++------ src/text.c | 18 +++++++++--------- src/textures.c | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/audio.c b/src/audio.c index 3bace5f76..ea14d77d3 100644 --- a/src/audio.c +++ b/src/audio.c @@ -1068,7 +1068,7 @@ static void UnloadWave(Wave wave) const char *GetExtension(const char *fileName) { const char *dot = strrchr(fileName, '.'); - if(!dot || dot == fileName) return ""; + if (!dot || dot == fileName) return ""; return (dot + 1); } @@ -1083,7 +1083,7 @@ void TraceLog(int msgType, const char *text, ...) traceDebugMsgs = 0; #endif - switch(msgType) + switch (msgType) { case INFO: fprintf(stdout, "INFO: "); break; case ERROR: fprintf(stdout, "ERROR: "); break; diff --git a/src/core.c b/src/core.c index 81c2942ae..b9ffe87b8 100644 --- a/src/core.c +++ b/src/core.c @@ -2451,7 +2451,7 @@ static EM_BOOL EmscriptenInputCallback(int eventType, const EmscriptenTouchEvent printf("%s, numTouches: %d %s%s%s%s\n", emscripten_event_type_to_string(eventType), event->numTouches, event->ctrlKey ? " CTRL" : "", event->shiftKey ? " SHIFT" : "", event->altKey ? " ALT" : "", event->metaKey ? " META" : ""); - for(int i = 0; i < event->numTouches; ++i) + for (int i = 0; i < event->numTouches; ++i) { const EmscriptenTouchPoint *t = &event->touches[i]; diff --git a/src/models.c b/src/models.c index 55de3d4f2..25eb1fe07 100644 --- a/src/models.c +++ b/src/models.c @@ -270,25 +270,25 @@ void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float hei rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right Of The Texture and Quad rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left Of The Texture and Quad // Back Face - rlNormal3f( 0.0f, 0.0f,-1.0f); // Normal Pointing Away From Viewer + rlNormal3f(0.0f, 0.0f,-1.0f); // Normal Pointing Away From Viewer rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Right Of The Texture and Quad rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Right Of The Texture and Quad rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Left Of The Texture and Quad rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Left Of The Texture and Quad // Top Face - rlNormal3f( 0.0f, 1.0f, 0.0f); // Normal Pointing Up + rlNormal3f(0.0f, 1.0f, 0.0f); // Normal Pointing Up rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left Of The Texture and Quad rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x-width/2, y+height/2, z+length/2); // Bottom Left Of The Texture and Quad rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x+width/2, y+height/2, z+length/2); // Bottom Right Of The Texture and Quad rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right Of The Texture and Quad // Bottom Face - rlNormal3f( 0.0f,-1.0f, 0.0f); // Normal Pointing Down + rlNormal3f(0.0f,-1.0f, 0.0f); // Normal Pointing Down rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Right Of The Texture and Quad rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x+width/2, y-height/2, z-length/2); // Top Left Of The Texture and Quad rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Left Of The Texture and Quad rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Right Of The Texture and Quad // Right face - rlNormal3f( 1.0f, 0.0f, 0.0f); // Normal Pointing Right + rlNormal3f(1.0f, 0.0f, 0.0f); // Normal Pointing Right rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right Of The Texture and Quad rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right Of The Texture and Quad rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Left Of The Texture and Quad @@ -1905,14 +1905,14 @@ static Mesh LoadOBJ(const char *fileName) } else if (dataType == 'n') // Read normals { - fscanf(objFile, "%f %f %f", &midNormals[countNormals].x, &midNormals[countNormals].y, &midNormals[countNormals].z ); + fscanf(objFile, "%f %f %f", &midNormals[countNormals].x, &midNormals[countNormals].y, &midNormals[countNormals].z); countNormals++; fscanf(objFile, "%c", &dataType); } else // Read vertex { - fscanf(objFile, "%f %f %f", &midVertices[countVertex].x, &midVertices[countVertex].y, &midVertices[countVertex].z ); + fscanf(objFile, "%f %f %f", &midVertices[countVertex].x, &midVertices[countVertex].y, &midVertices[countVertex].z); countVertex++; fscanf(objFile, "%c", &dataType); diff --git a/src/text.c b/src/text.c index 3d28fc3c1..d00f01d77 100644 --- a/src/text.c +++ b/src/text.c @@ -319,7 +319,7 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float // NOTE: Some ugly hacks are made to support Latin-1 Extended characters directly // written in C code files (codified by default as UTF-8) - for(int i = 0; i < length; i++) + for (int i = 0; i < length; i++) { // TODO: Right now we are supposing characters that follow a continous order and start at FONT_FIRST_CHAR, // this sytem can be improved to support any characters order and init value... @@ -514,9 +514,9 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) Color *pixels = GetImageData(image); // Parse image data to get charSpacing and lineSpacing - for(y = 0; y < image.height; y++) + for (y = 0; y < image.height; y++) { - for(x = 0; x < image.width; x++) + for (x = 0; x < image.width; x++) { if (!COLOR_EQUAL(pixels[y*image.width + x], key)) break; } @@ -529,7 +529,7 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) int charHeight = 0; int j = 0; - while(!COLOR_EQUAL(pixels[(lineSpacing + j)*image.width + charSpacing], key)) j++; + while (!COLOR_EQUAL(pixels[(lineSpacing + j)*image.width + charSpacing], key)) j++; charHeight = j; @@ -539,9 +539,9 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) int xPosToRead = charSpacing; // Parse image data to get rectangle sizes - while((lineSpacing + lineToRead * (charHeight + lineSpacing)) < image.height) + while ((lineSpacing + lineToRead * (charHeight + lineSpacing)) < image.height) { - while((xPosToRead < image.width) && + while ((xPosToRead < image.width) && !COLOR_EQUAL((pixels[(lineSpacing + (charHeight+lineSpacing)*lineToRead)*image.width + xPosToRead]), key)) { tempCharValues[index] = firstChar + index; @@ -552,7 +552,7 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) int charWidth = 0; - while(!COLOR_EQUAL(pixels[(lineSpacing + (charHeight+lineSpacing)*lineToRead)*image.width + xPosToRead + charWidth], key)) charWidth++; + while (!COLOR_EQUAL(pixels[(lineSpacing + (charHeight+lineSpacing)*lineToRead)*image.width + xPosToRead + charWidth], key)) charWidth++; tempCharRecs[index].width = charWidth; @@ -648,11 +648,11 @@ static SpriteFont LoadRBMF(const char *fileName) rbmfFileData = (unsigned int *)malloc(numPixelBits * sizeof(unsigned int)); - for(int i = 0; i < numPixelBits; i++) fread(&rbmfFileData[i], sizeof(unsigned int), 1, rbmfFile); + for (int i = 0; i < numPixelBits; i++) fread(&rbmfFileData[i], sizeof(unsigned int), 1, rbmfFile); rbmfCharWidthData = (unsigned char *)malloc(spriteFont.numChars * sizeof(unsigned char)); - for(int i = 0; i < spriteFont.numChars; i++) fread(&rbmfCharWidthData[i], sizeof(unsigned char), 1, rbmfFile); + for (int i = 0; i < spriteFont.numChars; i++) fread(&rbmfCharWidthData[i], sizeof(unsigned char), 1, rbmfFile); // Re-construct image from rbmfFileData //----------------------------------------- diff --git a/src/textures.c b/src/textures.c index 8f4fa301a..4d9fc6b0b 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1612,7 +1612,7 @@ static Image LoadDDS(const char *fileName) image.mipmaps = header.mipmapCount; - switch(header.ddspf.fourCC) + switch (header.ddspf.fourCC) { case FOURCC_DXT1: { From 9d66bc4a05f17f5dfe0e81b9be38f044b0dc16d4 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 5 Sep 2016 10:08:28 +0200 Subject: [PATCH 065/102] Added function: ImageAlphaMask() --- src/raylib.h | 1 + src/textures.c | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index d295ef90b..d86b17452 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -762,6 +762,7 @@ RLAPI Color *GetImageData(Image image); RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image RLAPI void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) RLAPI void ImageFormat(Image *image, int newFormat); // Convert image data to desired format +RLAPI void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) RLAPI void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle diff --git a/src/textures.c b/src/textures.c index 4d9fc6b0b..87ac1f851 100644 --- a/src/textures.c +++ b/src/textures.c @@ -548,7 +548,7 @@ void ImageFormat(Image *image, int newFormat) { if (image->format != newFormat) { - if ((image->format < 8) && (newFormat < 8)) + if ((image->format < COMPRESSED_DXT1_RGB) && (newFormat < COMPRESSED_DXT1_RGB)) { Color *pixels = GetImageData(*image); @@ -676,12 +676,40 @@ void ImageFormat(Image *image, int newFormat) } } +// Apply alpha mask to image +// NOTE: alphaMask must be should be same size as image +void ImageAlphaMask(Image *image, Image alphaMask) +{ + if (image->format >= COMPRESSED_DXT1_RGB) + { + TraceLog(WARNING, "Alpha mask can not be applied to compressed data formats"); + return; + } + else + { + // Force mask to be Grayscale + Image mask = ImageCopy(alphaMask); + ImageFormat(&mask, UNCOMPRESSED_GRAYSCALE); + + // Convert image to RGBA + if (image->format != UNCOMPRESSED_R8G8B8A8) ImageFormat(image, UNCOMPRESSED_R8G8B8A8); + + // Apply alpha mask to alpha channel + for (int i = 0, k = 3; (i < mask.width*mask.height) || (i < image->width*image->height); i++, k += 4) + { + ((unsigned char *)image->data)[k] = ((unsigned char *)mask.data)[i]; + } + + UnloadImage(mask); + } +} + // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) // NOTE: In case selected bpp do not represent an known 16bit format, // dithered data is stored in the LSB part of the unsigned short void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) { - if (image->format >= 8) + if (image->format >= COMPRESSED_DXT1_RGB) { TraceLog(WARNING, "Compressed data formats can not be dithered"); return; From 36f20376e67c8f281467df74b82759c9a05d7018 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 5 Sep 2016 20:15:21 +0200 Subject: [PATCH 066/102] Redesigned lighting shader system --- src/raylib.h | 6 +- src/rlgl.c | 209 ++++++++++++++++++++++++++++++--------------------- src/rlgl.h | 4 +- 3 files changed, 130 insertions(+), 89 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index d86b17452..dff69705e 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -427,7 +427,9 @@ typedef struct Shader { // Uniform locations int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) - int tintColorLoc; // Diffuse color uniform location point (fragment shader) + int colDiffuseLoc; // Diffuse color uniform location point (fragment shader) + int colAmbientLoc; // Ambient color uniform location point (fragment shader) + int colSpecularLoc; // Specular color uniform location point (fragment shader) // Texture map locations (generic for any kind of map) int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) @@ -464,7 +466,7 @@ typedef struct LightData { int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT Vector3 position; // Light position - Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) + Vector3 target; // Light direction: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) float radius; // Light attenuation radius light intensity reduced with distance (world distance) Color diffuse; // Light diffuse color diff --git a/src/rlgl.c b/src/rlgl.c index 68d562c76..1b3d98982 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -337,6 +337,8 @@ static int screenHeight; // Default framebuffer height // Lighting data static Light lights[MAX_LIGHTS]; // Lights pool static int lightsCount = 0; // Enabled lights counter +static int lightsLocs[MAX_LIGHTS][8]; // 8 possible location points per light: + // enabled, type, position, target, radius, diffuse, intensity, coneAngle //---------------------------------------------------------------------------------- // Module specific Functions Declaration @@ -362,9 +364,10 @@ static void SetStereoConfig(VrDeviceInfo info); // Set internal projection and modelview matrix depending on eyes tracking data static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView); -static void SetShaderLights(Shader shader); // Sets shader uniform values for lights array +static void GetShaderLightsLocations(Shader shader); // Get shader locations for lights (up to MAX_LIGHTS) +static void SetShaderLightsValues(Shader shader); // Set shader uniform values for lights -static char *ReadTextFile(const char *fileName); // Read chars array from text file +static char *ReadTextFile(const char *fileName); // Read chars array from text file #endif #if defined(RLGL_OCULUS_SUPPORT) @@ -1939,9 +1942,14 @@ void rlglDrawMesh(Mesh mesh, Material material, Matrix transform) glUseProgram(material.shader.id); // Upload to shader material.colDiffuse - float vColorDiffuse[4] = { (float)material.colDiffuse.r/255, (float)material.colDiffuse.g/255, (float)material.colDiffuse.b/255, (float)material.colDiffuse.a/255 }; - glUniform4fv(material.shader.tintColorLoc, 1, vColorDiffuse); + glUniform4f(material.shader.colDiffuseLoc, (float)material.colDiffuse.r/255, (float)material.colDiffuse.g/255, (float)material.colDiffuse.b/255, (float)material.colDiffuse.a/255); + // Upload to shader material.colAmbient (if available) + if (material.shader.colAmbientLoc != -1) glUniform4f(material.shader.colAmbientLoc, (float)material.colAmbient.r/255, (float)material.colAmbient.g/255, (float)material.colAmbient.b/255, (float)material.colAmbient.a/255); + + // Upload to shader material.colSpecular (if available) + if (material.shader.colSpecularLoc != -1) glUniform4f(material.shader.colSpecularLoc, (float)material.colSpecular.r/255, (float)material.colSpecular.g/255, (float)material.colSpecular.b/255, (float)material.colSpecular.a/255); + // At this point the modelview matrix just contains the view matrix (camera) // That's because Begin3dMode() sets it an no model-drawing function modifies it, all use rlPushMatrix() and rlPopMatrix() Matrix matView = modelview; // View matrix (camera) @@ -1950,32 +1958,35 @@ void rlglDrawMesh(Mesh mesh, Material material, Matrix transform) // Calculate model-view matrix combining matModel and matView Matrix matModelView = MatrixMultiply(transform, matView); // Transform to camera-space coordinates - // Check if using standard shader to get location points - // NOTE: standard shader specific locations are got at render time to keep Shader struct as simple as possible (with just default shader locations) - if (material.shader.id == standardShader.id) + // If not using default shader, we check for some additional location points + // NOTE: This method is quite inefficient... it's a temporal solution while looking for a better one + if (material.shader.id != defaultShader.id) { - // Transpose and inverse model transformations matrix for fragment normal calculations - Matrix transInvTransform = transform; - MatrixTranspose(&transInvTransform); - MatrixInvert(&transInvTransform); - - // Send model transformations matrix to shader - glUniformMatrix4fv(glGetUniformLocation(material.shader.id, "modelMatrix"), 1, false, MatrixToFloat(transInvTransform)); - - // Send view transformation matrix to shader. View matrix 8, 9 and 10 are view direction vector axis values (target - position) - glUniform3f(glGetUniformLocation(material.shader.id, "viewDir"), matView.m8, matView.m9, matView.m10); - - // Setup shader uniforms for lights - SetShaderLights(material.shader); - - // Upload to shader material.colAmbient - glUniform4f(glGetUniformLocation(material.shader.id, "colAmbient"), (float)material.colAmbient.r/255, (float)material.colAmbient.g/255, (float)material.colAmbient.b/255, (float)material.colAmbient.a/255); - - // Upload to shader material.colSpecular - glUniform4f(glGetUniformLocation(material.shader.id, "colSpecular"), (float)material.colSpecular.r/255, (float)material.colSpecular.g/255, (float)material.colSpecular.b/255, (float)material.colSpecular.a/255); - - // Upload to shader glossiness - glUniform1f(glGetUniformLocation(material.shader.id, "glossiness"), material.glossiness); + // Check if model matrix is located in shader and upload value + int modelMatrixLoc = glGetUniformLocation(material.shader.id, "modelMatrix"); + if (modelMatrixLoc != -1) + { + // Transpose and inverse model transformations matrix for fragment normal calculations + Matrix transInvTransform = transform; + MatrixTranspose(&transInvTransform); + MatrixInvert(&transInvTransform); + + // Send model transformations matrix to shader + glUniformMatrix4fv(modelMatrixLoc, 1, false, MatrixToFloat(transInvTransform)); + } + + // Check if view direction is located in shader and upload value + // NOTE: View matrix values m8, m9 and m10 are view direction vector axis (target - position) + int viewDirLoc = glGetUniformLocation(material.shader.id, "viewDir"); + if (viewDirLoc != -1) glUniform3f(viewDirLoc, matView.m8, matView.m9, matView.m10); + + // Check if glossiness is located in shader and upload value + int glossinessLoc = glGetUniformLocation(material.shader.id, "glossiness"); + if (glossinessLoc != -1) glUniform1f(glossinessLoc, material.glossiness); + + // Set shader lights values for enabled lights + // NOTE: Lights array location points are obtained on shader loading (if available) + if (lightsCount > 0) SetShaderLightsValues(material.shader); } // Set shader textures (diffuse, normal, specular) @@ -3100,7 +3111,7 @@ static Shader LoadStandardShader(void) shader = GetDefaultShader(); } #else - shader = defaultShader; + shader = GetDefaultShader(); TraceLog(WARNING, "[SHDR ID %i] Standard shader not available, using default shader", shader.id); #endif @@ -3112,12 +3123,12 @@ static Shader LoadStandardShader(void) static void LoadDefaultShaderLocations(Shader *shader) { // NOTE: Default shader attrib locations have been fixed before linking: - // vertex position location = 0 - // vertex texcoord location = 1 - // vertex normal location = 2 - // vertex color location = 3 - // vertex tangent location = 4 - // vertex texcoord2 location = 5 + // vertex position location = 0 + // vertex texcoord location = 1 + // vertex normal location = 2 + // vertex color location = 3 + // vertex tangent location = 4 + // vertex texcoord2 location = 5 // Get handles to GLSL input attibute locations shader->vertexLoc = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_POSITION_NAME); @@ -3131,10 +3142,18 @@ static void LoadDefaultShaderLocations(Shader *shader) shader->mvpLoc = glGetUniformLocation(shader->id, "mvpMatrix"); // Get handles to GLSL uniform locations (fragment shader) - shader->tintColorLoc = glGetUniformLocation(shader->id, "colDiffuse"); + shader->colDiffuseLoc = glGetUniformLocation(shader->id, "colDiffuse"); + shader->colAmbientLoc = glGetUniformLocation(shader->id, "colAmbient"); + shader->colSpecularLoc = glGetUniformLocation(shader->id, "colSpecular"); + shader->mapTexture0Loc = glGetUniformLocation(shader->id, "texture0"); shader->mapTexture1Loc = glGetUniformLocation(shader->id, "texture1"); shader->mapTexture2Loc = glGetUniformLocation(shader->id, "texture2"); + + // TODO: Try to find all expected/recognized shader locations (predefined names, must be documented) + + // Try to get lights location points (if available) + GetShaderLightsLocations(*shader); } // Unload default shader @@ -3425,7 +3444,7 @@ static void DrawDefaultBuffers(int eyesCount) Matrix matMVP = MatrixMultiply(modelview, projection); glUniformMatrix4fv(currentShader.mvpLoc, 1, false, MatrixToFloat(matMVP)); - glUniform4f(currentShader.tintColorLoc, 1.0f, 1.0f, 1.0f, 1.0f); + glUniform4f(currentShader.colDiffuseLoc, 1.0f, 1.0f, 1.0f, 1.0f); glUniform1i(currentShader.mapTexture0Loc, 0); // NOTE: Additional map textures not considered for default buffers drawing @@ -3620,82 +3639,100 @@ static void UnloadDefaultBuffers(void) free(quads.indices); } -// Setup shader uniform values for lights array -// NOTE: It would be far easier with shader UBOs but are not supported on OpenGL ES 2.0f -static void SetShaderLights(Shader shader) +// Get shader locations for lights (up to MAX_LIGHTS) +static void GetShaderLightsLocations(Shader shader) { - int locPoint = -1; - char locName[32] = "lights[x].position\0"; - + char locName[32] = "lights[x].\0"; + char locNameUpdated[64]; + for (int i = 0; i < MAX_LIGHTS; i++) { locName[7] = '0' + i; + + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "enabled\0"); + lightsLocs[i][0] = glGetUniformLocation(shader.id, locNameUpdated); + + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "type\0"); + lightsLocs[i][1] = glGetUniformLocation(shader.id, locNameUpdated); - if (lights[i] != NULL) // Only upload registered lights data + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "position\0"); + lightsLocs[i][2] = glGetUniformLocation(shader.id, locNameUpdated); + + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "direction\0"); + lightsLocs[i][3] = glGetUniformLocation(shader.id, locNameUpdated); + + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "radius\0"); + lightsLocs[i][4] = glGetUniformLocation(shader.id, locNameUpdated); + + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "diffuse\0"); + lightsLocs[i][5] = glGetUniformLocation(shader.id, locNameUpdated); + + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "intensity\0"); + lightsLocs[i][6] = glGetUniformLocation(shader.id, locNameUpdated); + + locNameUpdated[0] = '\0'; + strcpy(locNameUpdated, locName); + strcat(locNameUpdated, "coneAngle\0"); + lightsLocs[i][7] = glGetUniformLocation(shader.id, locNameUpdated); + } +} + +// Set shader uniform values for lights +// NOTE: It would be far easier with shader UBOs but are not supported on OpenGL ES 2.0 +static void SetShaderLightsValues(Shader shader) +{ + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (i < lightsCount) { - memcpy(&locName[10], "enabled\0", strlen("enabled\0") + 1); - locPoint = GetShaderLocation(shader, locName); - glUniform1i(locPoint, lights[i]->enabled); - - memcpy(&locName[10], "type\0", strlen("type\0") + 1); - locPoint = GetShaderLocation(shader, locName); - glUniform1i(locPoint, lights[i]->type); - - memcpy(&locName[10], "diffuse\0", strlen("diffuse\0") + 2); - locPoint = glGetUniformLocation(shader.id, locName); - glUniform4f(locPoint, (float)lights[i]->diffuse.r/255, (float)lights[i]->diffuse.g/255, (float)lights[i]->diffuse.b/255, (float)lights[i]->diffuse.a/255); - - memcpy(&locName[10], "intensity\0", strlen("intensity\0")); - locPoint = glGetUniformLocation(shader.id, locName); - glUniform1f(locPoint, lights[i]->intensity); + glUniform1i(lightsLocs[i][0], lights[i]->enabled); + + glUniform1i(lightsLocs[i][1], lights[i]->type); + glUniform4f(lightsLocs[i][5], (float)lights[i]->diffuse.r/255, (float)lights[i]->diffuse.g/255, (float)lights[i]->diffuse.b/255, (float)lights[i]->diffuse.a/255); + glUniform1f(lightsLocs[i][6], lights[i]->intensity); switch (lights[i]->type) { case LIGHT_POINT: { - memcpy(&locName[10], "position\0", strlen("position\0") + 1); - locPoint = GetShaderLocation(shader, locName); - glUniform3f(locPoint, lights[i]->position.x, lights[i]->position.y, lights[i]->position.z); - - memcpy(&locName[10], "radius\0", strlen("radius\0") + 2); - locPoint = GetShaderLocation(shader, locName); - glUniform1f(locPoint, lights[i]->radius); + glUniform3f(lightsLocs[i][2], lights[i]->position.x, lights[i]->position.y, lights[i]->position.z); + glUniform1f(lightsLocs[i][4], lights[i]->radius); } break; case LIGHT_DIRECTIONAL: { - memcpy(&locName[10], "direction\0", strlen("direction\0") + 2); - locPoint = GetShaderLocation(shader, locName); Vector3 direction = { lights[i]->target.x - lights[i]->position.x, lights[i]->target.y - lights[i]->position.y, lights[i]->target.z - lights[i]->position.z }; VectorNormalize(&direction); - glUniform3f(locPoint, direction.x, direction.y, direction.z); + glUniform3f(lightsLocs[i][3], direction.x, direction.y, direction.z); } break; case LIGHT_SPOT: { - memcpy(&locName[10], "position\0", strlen("position\0") + 1); - locPoint = GetShaderLocation(shader, locName); - glUniform3f(locPoint, lights[i]->position.x, lights[i]->position.y, lights[i]->position.z); - - memcpy(&locName[10], "direction\0", strlen("direction\0") + 2); - locPoint = GetShaderLocation(shader, locName); + glUniform3f(lightsLocs[i][2], lights[i]->position.x, lights[i]->position.y, lights[i]->position.z); Vector3 direction = { lights[i]->target.x - lights[i]->position.x, lights[i]->target.y - lights[i]->position.y, lights[i]->target.z - lights[i]->position.z }; VectorNormalize(&direction); - glUniform3f(locPoint, direction.x, direction.y, direction.z); + glUniform3f(lightsLocs[i][3], direction.x, direction.y, direction.z); - memcpy(&locName[10], "coneAngle\0", strlen("coneAngle\0")); - locPoint = GetShaderLocation(shader, locName); - glUniform1f(locPoint, lights[i]->coneAngle); + glUniform1f(lightsLocs[i][7], lights[i]->coneAngle); } break; default: break; } - - // TODO: Pass to the shader any other required data from LightData struct } - else // Not enabled lights + else { - memcpy(&locName[10], "enabled\0", strlen("enabled\0") + 1); - locPoint = GetShaderLocation(shader, locName); - glUniform1i(locPoint, 0); + glUniform1i(lightsLocs[i][0], 0); // Light disabled } } } diff --git a/src/rlgl.h b/src/rlgl.h index 3fc542196..5fc9f8b9a 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -168,7 +168,9 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; // Uniform locations int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) - int tintColorLoc; // Color uniform location point (fragment shader) + int colDiffuseLoc; // Color uniform location point (fragment shader) + int colAmbientLoc; // Ambient color uniform location point (fragment shader) + int colSpecularLoc; // Specular color uniform location point (fragment shader) // Texture map locations (generic for any kind of map) int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) From 10280c4b91871065ea2fc15a3f3e939820f3e0a0 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 7 Sep 2016 23:14:16 +0200 Subject: [PATCH 067/102] Some code tweaks --- src/rlgl.c | 6 +++--- src/textures.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/rlgl.c b/src/rlgl.c index 1b3d98982..518f2a668 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -337,7 +337,7 @@ static int screenHeight; // Default framebuffer height // Lighting data static Light lights[MAX_LIGHTS]; // Lights pool static int lightsCount = 0; // Enabled lights counter -static int lightsLocs[MAX_LIGHTS][8]; // 8 possible location points per light: +static int lightsLocs[MAX_LIGHTS][8]; // Lights location points in shader: 8 possible points per light: // enabled, type, position, target, radius, diffuse, intensity, coneAngle //---------------------------------------------------------------------------------- @@ -3713,7 +3713,7 @@ static void SetShaderLightsValues(Shader shader) } break; case LIGHT_DIRECTIONAL: { - Vector3 direction = { lights[i]->target.x - lights[i]->position.x, lights[i]->target.y - lights[i]->position.y, lights[i]->target.z - lights[i]->position.z }; + Vector3 direction = VectorSubtract(lights[i]->target, lights[i]->position); VectorNormalize(&direction); glUniform3f(lightsLocs[i][3], direction.x, direction.y, direction.z); } break; @@ -3721,7 +3721,7 @@ static void SetShaderLightsValues(Shader shader) { glUniform3f(lightsLocs[i][2], lights[i]->position.x, lights[i]->position.y, lights[i]->position.z); - Vector3 direction = { lights[i]->target.x - lights[i]->position.x, lights[i]->target.y - lights[i]->position.y, lights[i]->target.z - lights[i]->position.z }; + Vector3 direction = VectorSubtract(lights[i]->target, lights[i]->position); VectorNormalize(&direction); glUniform3f(lightsLocs[i][3], direction.x, direction.y, direction.z); diff --git a/src/textures.c b/src/textures.c index 87ac1f851..5186c0ba4 100644 --- a/src/textures.c +++ b/src/textures.c @@ -677,7 +677,8 @@ void ImageFormat(Image *image, int newFormat) } // Apply alpha mask to image -// NOTE: alphaMask must be should be same size as image +// NOTE 1: Returned image is RGBA - 32bit +// NOTE 2: alphaMask should be same size as image void ImageAlphaMask(Image *image, Image alphaMask) { if (image->format >= COMPRESSED_DXT1_RGB) From 8b35de3276d0fbf0487ed73fe2c2dfb2340e0431 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 8 Sep 2016 00:20:06 +0200 Subject: [PATCH 068/102] Added new audio functions -IN PROGRESS- - LoadWave() - LoadWaveEx() - UnloadWave() - WaveFormat() - WaveCopy() - WaveCrop() - GetWaveData() --- src/audio.c | 148 ++++++++++++++++++++++++++++++++++++++++++++------- src/raylib.h | 26 +++++---- 2 files changed, 144 insertions(+), 30 deletions(-) diff --git a/src/audio.c b/src/audio.c index ea14d77d3..11d0d6b9b 100644 --- a/src/audio.c +++ b/src/audio.c @@ -126,9 +126,8 @@ typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- -static Wave LoadWAV(const char *fileName); // Load WAV file -static Wave LoadOGG(char *fileName); // Load OGG file -static void UnloadWave(Wave wave); // Unload wave data +static Wave LoadWAV(const char *fileName); // Load WAV file +static Wave LoadOGG(const char *fileName); // Load OGG file #if defined(AUDIO_STANDALONE) const char *GetExtension(const char *fileName); // Get the extension for a filename @@ -206,20 +205,39 @@ bool IsAudioDeviceReady(void) // Module Functions Definition - Sounds loading and playing (.WAV) //---------------------------------------------------------------------------------- -// Load sound to memory -// NOTE: The entire file is loaded to memory to be played (no-streaming) -Sound LoadSound(char *fileName) +// Load wave data from file into RAM +Wave LoadWave(const char *fileName) { Wave wave = { 0 }; if (strcmp(GetExtension(fileName), "wav") == 0) wave = LoadWAV(fileName); else if (strcmp(GetExtension(fileName), "ogg") == 0) wave = LoadOGG(fileName); - else TraceLog(WARNING, "[%s] Sound extension not recognized, it can't be loaded", fileName); + else TraceLog(WARNING, "[%s] File extension not recognized, it can't be loaded", fileName); + return wave; +} + +// Load wave data from float array data (32bit) +Wave LoadWaveEx(float *data, int sampleRate, int sampleSize, int channels) +{ + Wave wave; + + wave.data = data; + + WaveFormat(&wave, sampleRate, sampleSize, channels); + + return wave; +} + +// Load sound to memory +// NOTE: The entire file is loaded to memory to be played (no-streaming) +Sound LoadSound(const char *fileName) +{ + Wave wave = LoadWave(fileName); + Sound sound = LoadSoundFromWave(wave); - - // Sound is loaded, we can unload wave - UnloadWave(wave); + + UnloadWave(wave); // Sound is loaded, we can unload wave return sound; } @@ -401,6 +419,14 @@ Sound LoadSoundFromRES(const char *rresName, int resId) return sound; } +// Unload Wave data +void UnloadWave(Wave wave) +{ + free(wave.data); + + TraceLog(INFO, "Unloaded wave data from RAM"); +} + // Unload sound void UnloadSound(Sound sound) { @@ -504,12 +530,102 @@ void SetSoundPitch(Sound sound, float pitch) alSourcef(sound.source, AL_PITCH, pitch); } +// Convert wave data to desired format +void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) +{ + if (wave->sampleSize != sampleSize) + { + float *samples = GetWaveData(*wave); //Color *pixels = GetImageData(*image); + + free(wave->data); + + //image->format = newFormat; + + if (sampleSize == 8) + { + wave->data = (unsigned char *)malloc(wave->sampleCount*sizeof(unsigned char)); + + for (int i = 0; i < wave->sampleCount; i++) + { + ((unsigned char *)wave->data)[i] = (unsigned char)((float)samples[i]); // TODO: review conversion + } + } + else if (sampleSize == 16) + { + wave->data = (short *)malloc(wave->sampleCount*sizeof(short)); + + for (int i = 0; i < wave->sampleCount; i++) + { + ((short *)wave->data)[i] = (short)((float)samples[i]); // TODO: review conversion + } + } + else if (sampleSize == 32) + { + wave->data = (float *)malloc(wave->sampleCount*sizeof(float)); + + for (int i = 0; i < wave->sampleCount; i++) + { + ((float *)wave->data)[i] = (float)samples[i]; // TODO: review conversion + } + } + else TraceLog(WARNING, "Wave formatting: Sample size not supported"); + } + + // TODO: Consider channels (mono vs stereo) +} + +// Copy a wave to a new wave +Wave WaveCopy(Wave wave) +{ + Wave newWave; + + if (wave.sampleSize == 8) newWave.data = (unsigned char *)malloc(wave.sampleCount*sizeof(unsigned char)); + else if (wave.sampleSize == 16) newWave.data = (short *)malloc(wave.sampleCount*sizeof(short)); + else if (wave.sampleSize == 32) newWave.data = (float *)malloc(wave.sampleCount*sizeof(float)); + else TraceLog(WARNING, "Wave sample size not supported for copy"); + + if (newWave.data != NULL) + { + // NOTE: Size must be provided in bytes + memcpy(newWave.data, wave.data, wave.sampleCount); + + newWave.sampleCount = wave.sampleCount; + newWave.sampleRate = wave.sampleRate; + newWave.sampleSize = wave.sampleSize; + newWave.channels = wave.channels; + } + + return newWave; +} + +// Crop a wave to defined samples range +// NOTE: Security check in case of out-of-range +void WaveCrop(Wave *wave, int initSample, int finalSample) +{ + // TODO: Crop wave to a samples range +} + +// Get samples data from wave as a floats array +float *GetWaveData(Wave wave) +{ + float *samples = (float *)malloc(wave.sampleCount*sizeof(float)); + + for (int i = 0; i < wave.sampleCount; i++) + { + if (wave.sampleSize == 8) samples[i] = (float)((unsigned char *)wave.data)[i]; // TODO: review conversion + else if (wave.sampleSize == 16) samples[i] = (float)((short *)wave.data)[i]; // TODO: review conversion + else if (wave.sampleSize == 32) samples[i] = ((float *)wave.data)[i]; // TODO: review conversion + } + + return samples; +} + //---------------------------------------------------------------------------------- // Module Functions Definition - Music loading and stream playing (.OGG) //---------------------------------------------------------------------------------- // Load music stream from file -Music LoadMusicStream(char *fileName) +Music LoadMusicStream(const char *fileName) { Music music = (MusicData *)malloc(sizeof(MusicData)); @@ -1013,7 +1129,7 @@ static Wave LoadWAV(const char *fileName) // Load OGG file into Wave structure // NOTE: Using stb_vorbis library -static Wave LoadOGG(char *fileName) +static Wave LoadOGG(const char *fileName) { Wave wave; @@ -1054,14 +1170,6 @@ static Wave LoadOGG(char *fileName) return wave; } -// Unload Wave data -static void UnloadWave(Wave wave) -{ - free(wave.data); - - TraceLog(INFO, "Unloaded wave data from RAM"); -} - // Some required functions for audio standalone module version #if defined(AUDIO_STANDALONE) // Get the extension for a filename diff --git a/src/raylib.h b/src/raylib.h index dff69705e..ae3de0387 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -484,13 +484,6 @@ typedef struct Ray { Vector3 direction; // Ray direction } Ray; -// Sound source type -typedef struct Sound { - unsigned int source; // OpenAL audio source id - unsigned int buffer; // OpenAL audio buffer id - int format; // OpenAL audio format specifier -} Sound; - // Wave type, defines audio wave data typedef struct Wave { unsigned int sampleCount; // Number of samples @@ -500,6 +493,13 @@ typedef struct Wave { void *data; // Buffer data pointer } Wave; +// Sound source type +typedef struct Sound { + unsigned int source; // OpenAL audio source id + unsigned int buffer; // OpenAL audio buffer id + int format; // OpenAL audio format specifier +} Sound; + // Music type (file streaming from memory) // NOTE: Anything longer than ~10 seconds should be streamed typedef struct MusicData *Music; @@ -909,10 +909,13 @@ RLAPI void InitAudioDevice(void); // Initial RLAPI void CloseAudioDevice(void); // Close the audio device and context (and music stream) RLAPI bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully -RLAPI Sound LoadSound(char *fileName); // Load sound to memory +RLAPI Wave LoadWave(const char *fileName); // Load wave data from file into RAM +RLAPI Wave LoadWaveEx(float *data, int sampleRate, int sampleSize, int channels); // Load wave data from float array data (32bit) +RLAPI Sound LoadSound(const char *fileName); // Load sound to memory RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data RLAPI Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) RLAPI void UpdateSound(Sound sound, void *data, int numSamples); // Update sound buffer with new data +RLAPI void UnloadWave(Wave wave); RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI void PlaySound(Sound sound); // Play a sound RLAPI void PauseSound(Sound sound); // Pause a sound @@ -921,8 +924,11 @@ RLAPI void StopSound(Sound sound); // Stop pl RLAPI bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing RLAPI void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) RLAPI void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) - -RLAPI Music LoadMusicStream(char *fileName); // Load music stream from file +RLAPI void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format +RLAPI Wave WaveCopy(Wave wave); // Copy a wave to a new wave +RLAPI void WaveCrop(Wave *wave, int initSample, int finalSample); // Crop a wave to defined samples range +RLAPI float *GetWaveData(Wave wave); // Get samples data from wave as a floats array +RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file RLAPI void UnloadMusicStream(Music music); // Unload music stream RLAPI void PlayMusicStream(Music music); // Start music playing (open stream) RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming From 1e55c30824a1fbf4449a1646ca0cf15cd96fa63d Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 8 Sep 2016 01:02:42 +0200 Subject: [PATCH 069/102] Removed raygui from raylib repo (own repo) --- src/raygui.h | 1499 -------------------------------------------------- 1 file changed, 1499 deletions(-) delete mode 100644 src/raygui.h diff --git a/src/raygui.h b/src/raygui.h deleted file mode 100644 index 42cf264b2..000000000 --- a/src/raygui.h +++ /dev/null @@ -1,1499 +0,0 @@ -/******************************************************************************************* -* -* raygui 1.0 - IMGUI (Immedite Mode GUI) library for raylib (https://github.com/raysan5/raylib) -* -* raygui is a library for creating simple IMGUI interfaces using raylib. -* It provides a set of basic components: -* -* - Label -* - Button -* - ToggleButton -* - ToggleGroup -* - ComboBox -* - CheckBox -* - Slider -* - SliderBar -* - ProgressBar -* - Spinner -* - TextBox -* -* It also provides a set of functions for styling the components based on its properties (size, color). -* -* CONFIGURATION: -* -* #define RAYGUI_IMPLEMENTATION -* Generates the implementation of the library into the included file. -* If not defined, the library is in header only mode and can be included in other headers -* or source files without problems. But only ONE file should hold the implementation. -* -* #define RAYGUI_STATIC (defined by default) -* The generated implementation will stay private inside implementation file and all -* internal symbols and functions will only be visible inside that file. -* -* #define RAYGUI_STANDALONE -* Avoid raylib.h header inclusion in this file. Data types defined on raylib are defined -* internally in the library and input management and drawing functions must be provided by -* the user (check library implementation for further details). -* -* #define RAYGUI_MALLOC() -* #define RAYGUI_FREE() -* You can define your own malloc/free implementation replacing stdlib.h malloc()/free() functions. -* Otherwise it will include stdlib.h and use the C standard library malloc()/free() function. -* -* LIMITATIONS: -* -* // TODO. -* -* VERSIONS: -* -* 1.0 (07-Jun-2016) Converted to header-only by Ramon Santamaria. -* 0.9 (07-Mar-2016) Reviewed and tested by Albert Martos, Ian Eito, Sergio Martinez and Ramon Santamaria. -* 0.8 (27-Aug-2015) Initial release. Implemented by Kevin Gato, Daniel Nicolás and Ramon Santamaria. -* -* CONTRIBUTORS: -* Ramon Santamaria: Functions design and naming conventions. -* Kevin Gato: Initial implementation of basic components. -* Daniel Nicolas: Initial implementation of basic components. -* Albert Martos: Review and testing of library. -* Ian Eito: Review and testing of the library. -* Sergio Martinez: Review and testing of the library. -* -* LICENSE: zlib/libpng -* -* Copyright (c) 2015-2016 emegeme (@emegemegames) -* -* This software is provided "as-is", without any express or implied warranty. In no event -* will the authors be held liable for any damages arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, including commercial -* applications, and to alter it and redistribute it freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not claim that you -* wrote the original software. If you use this software in a product, an acknowledgment -* in the product documentation would be appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be misrepresented -* as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -**********************************************************************************************/ - -#ifndef RAYGUI_H -#define RAYGUI_H - -#if !defined(RAYGUI_STANDALONE) - #include "raylib.h" -#endif - -#define RAYGUI_STATIC -#ifdef RAYGUI_STATIC - #define RAYGUIDEF static // Functions just visible to module including this file -#else - #ifdef __cplusplus - #define RAYGUIDEF extern "C" // Functions visible from other files (no name mangling of functions in C++) - #else - #define RAYGUIDEF extern // Functions visible from other files - #endif -#endif - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -#define NUM_PROPERTIES 98 - -//---------------------------------------------------------------------------------- -// Types and Structures Definition -// NOTE: Some types are required for RAYGUI_STANDALONE usage -//---------------------------------------------------------------------------------- -#if defined(RAYGUI_STANDALONE) - #ifndef __cplusplus - // Boolean type - #ifndef true - typedef enum { false, true } bool; - #endif - #endif - - // Vector2 type - typedef struct Vector2 { - float x; - float y; - } Vector2; - - // Color type, RGBA (32bit) - typedef struct Color { - unsigned char r; - unsigned char g; - unsigned char b; - unsigned char a; - } Color; - - // Rectangle type - typedef struct Rectangle { - int x; - int y; - int width; - int height; - } Rectangle; -#endif - -// Gui properties enumeration -typedef enum GuiProperty { - GLOBAL_BASE_COLOR = 0, - GLOBAL_BORDER_COLOR, - GLOBAL_TEXT_COLOR, - GLOBAL_TEXT_FONTSIZE, - GLOBAL_BORDER_WIDTH, - BACKGROUND_COLOR, - LABEL_BORDER_WIDTH, - LABEL_TEXT_COLOR, - LABEL_TEXT_PADDING, - BUTTON_BORDER_WIDTH, - BUTTON_TEXT_PADDING, - BUTTON_DEFAULT_BORDER_COLOR, - BUTTON_DEFAULT_INSIDE_COLOR, - BUTTON_DEFAULT_TEXT_COLOR, - BUTTON_HOVER_BORDER_COLOR, - BUTTON_HOVER_INSIDE_COLOR, - BUTTON_HOVER_TEXT_COLOR, - BUTTON_PRESSED_BORDER_COLOR, - BUTTON_PRESSED_INSIDE_COLOR, - BUTTON_PRESSED_TEXT_COLOR, - TOGGLE_TEXT_PADDING, - TOGGLE_BORDER_WIDTH, - TOGGLE_DEFAULT_BORDER_COLOR, - TOGGLE_DEFAULT_INSIDE_COLOR, - TOGGLE_DEFAULT_TEXT_COLOR, - TOGGLE_HOVER_BORDER_COLOR, - TOGGLE_HOVER_INSIDE_COLOR, - TOGGLE_HOVER_TEXT_COLOR, - TOGGLE_PRESSED_BORDER_COLOR, - TOGGLE_PRESSED_INSIDE_COLOR, - TOGGLE_PRESSED_TEXT_COLOR, - TOGGLE_ACTIVE_BORDER_COLOR, - TOGGLE_ACTIVE_INSIDE_COLOR, - TOGGLE_ACTIVE_TEXT_COLOR, - TOGGLEGROUP_PADDING, - SLIDER_BORDER_WIDTH, - SLIDER_BUTTON_BORDER_WIDTH, - SLIDER_BORDER_COLOR, - SLIDER_INSIDE_COLOR, - SLIDER_DEFAULT_COLOR, - SLIDER_HOVER_COLOR, - SLIDER_ACTIVE_COLOR, - SLIDERBAR_BORDER_COLOR, - SLIDERBAR_INSIDE_COLOR, - SLIDERBAR_DEFAULT_COLOR, - SLIDERBAR_HOVER_COLOR, - SLIDERBAR_ACTIVE_COLOR, - SLIDERBAR_ZERO_LINE_COLOR, - PROGRESSBAR_BORDER_COLOR, - PROGRESSBAR_INSIDE_COLOR, - PROGRESSBAR_PROGRESS_COLOR, - PROGRESSBAR_BORDER_WIDTH, - SPINNER_LABEL_BORDER_COLOR, - SPINNER_LABEL_INSIDE_COLOR, - SPINNER_DEFAULT_BUTTON_BORDER_COLOR, - SPINNER_DEFAULT_BUTTON_INSIDE_COLOR, - SPINNER_DEFAULT_SYMBOL_COLOR, - SPINNER_DEFAULT_TEXT_COLOR, - SPINNER_HOVER_BUTTON_BORDER_COLOR, - SPINNER_HOVER_BUTTON_INSIDE_COLOR, - SPINNER_HOVER_SYMBOL_COLOR, - SPINNER_HOVER_TEXT_COLOR, - SPINNER_PRESSED_BUTTON_BORDER_COLOR, - SPINNER_PRESSED_BUTTON_INSIDE_COLOR, - SPINNER_PRESSED_SYMBOL_COLOR, - SPINNER_PRESSED_TEXT_COLOR, - COMBOBOX_PADDING, - COMBOBOX_BUTTON_WIDTH, - COMBOBOX_BUTTON_HEIGHT, - COMBOBOX_BORDER_WIDTH, - COMBOBOX_DEFAULT_BORDER_COLOR, - COMBOBOX_DEFAULT_INSIDE_COLOR, - COMBOBOX_DEFAULT_TEXT_COLOR, - COMBOBOX_DEFAULT_LIST_TEXT_COLOR, - COMBOBOX_HOVER_BORDER_COLOR, - COMBOBOX_HOVER_INSIDE_COLOR, - COMBOBOX_HOVER_TEXT_COLOR, - COMBOBOX_HOVER_LIST_TEXT_COLOR, - COMBOBOX_PRESSED_BORDER_COLOR, - COMBOBOX_PRESSED_INSIDE_COLOR, - COMBOBOX_PRESSED_TEXT_COLOR, - COMBOBOX_PRESSED_LIST_BORDER_COLOR, - COMBOBOX_PRESSED_LIST_INSIDE_COLOR, - COMBOBOX_PRESSED_LIST_TEXT_COLOR, - CHECKBOX_DEFAULT_BORDER_COLOR, - CHECKBOX_DEFAULT_INSIDE_COLOR, - CHECKBOX_HOVER_BORDER_COLOR, - CHECKBOX_HOVER_INSIDE_COLOR, - CHECKBOX_CLICK_BORDER_COLOR, - CHECKBOX_CLICK_INSIDE_COLOR, - CHECKBOX_STATUS_ACTIVE_COLOR, - CHECKBOX_INSIDE_WIDTH, - TEXTBOX_BORDER_WIDTH, - TEXTBOX_BORDER_COLOR, - TEXTBOX_INSIDE_COLOR, - TEXTBOX_TEXT_COLOR, - TEXTBOX_LINE_COLOR, - TEXTBOX_TEXT_FONTSIZE -} GuiProperty; - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -// ... - -//---------------------------------------------------------------------------------- -// Module Functions Declaration -//---------------------------------------------------------------------------------- -RAYGUIDEF void GuiLabel(Rectangle bounds, const char *text); // Label element, show text -RAYGUIDEF void GuiLabelEx(Rectangle bounds, const char *text, Color textColor, Color border, Color inner); // Label element extended, configurable colors -RAYGUIDEF bool GuiButton(Rectangle bounds, const char *text); // Button element, returns true when clicked -RAYGUIDEF bool GuiToggleButton(Rectangle bounds, const char *text, bool toggle); // Toggle Button element, returns true when active -RAYGUIDEF int GuiToggleGroup(Rectangle bounds, int toggleNum, char **toggleText, int toggleActive); // Toggle Group element, returns toggled button index -RAYGUIDEF int GuiComboBox(Rectangle bounds, int comboNum, char **comboText, int comboActive); // Combo Box element, returns selected item index -RAYGUIDEF bool GuiCheckBox(Rectangle bounds, const char *text, bool checked); // Check Box element, returns true when active -RAYGUIDEF float GuiSlider(Rectangle bounds, float value, float minValue, float maxValue); // Slider element, returns selected value -RAYGUIDEF float GuiSliderBar(Rectangle bounds, float value, float minValue, float maxValue); // Slider Bar element, returns selected value -RAYGUIDEF void GuiProgressBar(Rectangle bounds, float value); // Progress Bar element, shows current progress value -RAYGUIDEF int GuiSpinner(Rectangle bounds, int value, int minValue, int maxValue); // Spinner element, returns selected value -RAYGUIDEF char *GuiTextBox(Rectangle bounds, char *text); // Text Box element, returns input text - -RAYGUIDEF void SaveGuiStyle(const char *fileName); // Save GUI style file -RAYGUIDEF void LoadGuiStyle(const char *fileName); // Load GUI style file - -RAYGUIDEF void SetStyleProperty(int guiProperty, int value); // Set one style property -RAYGUIDEF int GetStyleProperty(int guiProperty); // Get one style property - -#endif // RAYGUI_H - - -/*********************************************************************************** -* -* RAYGUI IMPLEMENTATION -* -************************************************************************************/ - -#if defined(RAYGUI_IMPLEMENTATION) - -#include // Required for: FILE, fopen(), fclose(), fprintf(), feof(), fscanf() - // NOTE: Those functions are only used in SaveGuiStyle() and LoadGuiStyle() - -// Check if custom malloc/free functions defined, if not, using standard ones -#if !defined(RAYGUI_MALLOC) - #include // Required for: malloc(), free() [Used only on LoadGuiStyle()] - - #define RAYGUI_MALLOC(size) malloc(size) - #define RAYGUI_FREE(ptr) free(ptr) -#endif - -#include // Required for: strcmp() [Used only on LoadGuiStyle()] -#include // Required for: va_list, va_start(), vfprintf(), va_end() - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -#if defined(RAYGUI_STANDALONE) - #define KEY_LEFT 263 - #define KEY_RIGHT 262 - #define MOUSE_LEFT_BUTTON 0 -#endif - -//---------------------------------------------------------------------------------- -// Types and Structures Definition -//---------------------------------------------------------------------------------- - -// GUI elements states -typedef enum { BUTTON_DEFAULT, BUTTON_HOVER, BUTTON_PRESSED, BUTTON_CLICKED } ButtonState; -typedef enum { TOGGLE_UNACTIVE, TOGGLE_HOVER, TOGGLE_PRESSED, TOGGLE_ACTIVE } ToggleState; -typedef enum { COMBOBOX_UNACTIVE, COMBOBOX_HOVER, COMBOBOX_PRESSED, COMBOBOX_ACTIVE } ComboBoxState; -typedef enum { SPINNER_DEFAULT, SPINNER_HOVER, SPINNER_PRESSED } SpinnerState; -typedef enum { CHECKBOX_STATUS, CHECKBOX_HOVER, CHECKBOX_PRESSED } CheckBoxState; -typedef enum { SLIDER_DEFAULT, SLIDER_HOVER, SLIDER_ACTIVE } SliderState; - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- - -// Current GUI style (default light) -static int style[NUM_PROPERTIES] = { - 0xf5f5f5ff, // GLOBAL_BASE_COLOR, - 0xf5f5f5ff, // GLOBAL_BORDER_COLOR, - 0xf5f5f5ff, // GLOBAL_TEXT_COLOR, - 10, // GLOBAL_TEXT_FONTSIZE - 1, // GLOBAL_BORDER_WIDTH - 0xf5f5f5ff, // BACKGROUND_COLOR - 1, // LABEL_BORDER_WIDTH - 0x4d4d4dff, // LABEL_TEXT_COLOR - 20, // LABEL_TEXT_PADDING - 2, // BUTTON_BORDER_WIDTH - 20, // BUTTON_TEXT_PADDING - 0x828282ff, // BUTTON_DEFAULT_BORDER_COLOR - 0xc8c8c8ff, // BUTTON_DEFAULT_INSIDE_COLOR - 0x4d4d4dff, // BUTTON_DEFAULT_TEXT_COLOR - 0xc8c8c8ff, // BUTTON_HOVER_BORDER_COLOR - 0xffffffff, // BUTTON_HOVER_INSIDE_COLOR - 0x353535ff, // BUTTON_HOVER_TEXT_COLOR - 0x7bb0d6ff, // BUTTON_PRESSED_BORDER_COLOR - 0xbcecffff, // BUTTON_PRESSED_INSIDE_COLOR - 0x5f9aa7ff, // BUTTON_PRESSED_TEXT_COLOR - 20, // TOGGLE_TEXT_PADDING - 1, // TOGGLE_BORDER_WIDTH - 0x828282ff, // TOGGLE_DEFAULT_BORDER_COLOR - 0xc8c8c8ff, // TOGGLE_DEFAULT_INSIDE_COLOR - 0x828282ff, // TOGGLE_DEFAULT_TEXT_COLOR - 0xc8c8c8ff, // TOGGLE_HOVER_BORDER_COLOR - 0xffffffff, // TOGGLE_HOVER_INSIDE_COLOR - 0x828282ff, // TOGGLE_HOVER_TEXT_COLOR - 0xbdd7eaff, // TOGGLE_PRESSED_BORDER_COLOR - 0xddf5ffff, // TOGGLE_PRESSED_INSIDE_COLOR - 0xafccd3ff, // TOGGLE_PRESSED_TEXT_COLOR - 0x7bb0d6ff, // TOGGLE_ACTIVE_BORDER_COLOR - 0xbcecffff, // TOGGLE_ACTIVE_INSIDE_COLOR - 0x5f9aa7ff, // TOGGLE_ACTIVE_TEXT_COLOR - 3, // TOGGLEGROUP_PADDING - 1, // SLIDER_BORDER_WIDTH - 1, // SLIDER_BUTTON_BORDER_WIDTH - 0x828282ff, // SLIDER_BORDER_COLOR - 0xc8c8c8ff, // SLIDER_INSIDE_COLOR - 0xbcecffff, // SLIDER_DEFAULT_COLOR - 0xffffffff, // SLIDER_HOVER_COLOR - 0xddf5ffff, // SLIDER_ACTIVE_COLOR - 0x828282ff, // SLIDERBAR_BORDER_COLOR - 0xc8c8c8ff, // SLIDERBAR_INSIDE_COLOR - 0xbcecffff, // SLIDERBAR_DEFAULT_COLOR - 0xffffffff, // SLIDERBAR_HOVER_COLOR - 0xddf5ffff, // SLIDERBAR_ACTIVE_COLOR - 0x828282ff, // SLIDERBAR_ZERO_LINE_COLOR - 0x828282ff, // PROGRESSBAR_BORDER_COLOR - 0xc8c8c8ff, // PROGRESSBAR_INSIDE_COLOR - 0xbcecffff, // PROGRESSBAR_PROGRESS_COLOR - 2, // PROGRESSBAR_BORDER_WIDTH - 0x828282ff, // SPINNER_LABEL_BORDER_COLOR - 0xc8c8c8ff, // SPINNER_LABEL_INSIDE_COLOR - 0x828282ff, // SPINNER_DEFAULT_BUTTON_BORDER_COLOR - 0xc8c8c8ff, // SPINNER_DEFAULT_BUTTON_INSIDE_COLOR - 0x000000ff, // SPINNER_DEFAULT_SYMBOL_COLOR - 0x000000ff, // SPINNER_DEFAULT_TEXT_COLOR - 0xc8c8c8ff, // SPINNER_HOVER_BUTTON_BORDER_COLOR - 0xffffffff, // SPINNER_HOVER_BUTTON_INSIDE_COLOR - 0x000000ff, // SPINNER_HOVER_SYMBOL_COLOR - 0x000000ff, // SPINNER_HOVER_TEXT_COLOR - 0x7bb0d6ff, // SPINNER_PRESSED_BUTTON_BORDER_COLOR - 0xbcecffff, // SPINNER_PRESSED_BUTTON_INSIDE_COLOR - 0x5f9aa7ff, // SPINNER_PRESSED_SYMBOL_COLOR - 0x000000ff, // SPINNER_PRESSED_TEXT_COLOR - 1, // COMBOBOX_PADDING - 30, // COMBOBOX_BUTTON_WIDTH - 20, // COMBOBOX_BUTTON_HEIGHT - 1, // COMBOBOX_BORDER_WIDTH - 0x828282ff, // COMBOBOX_DEFAULT_BORDER_COLOR - 0xc8c8c8ff, // COMBOBOX_DEFAULT_INSIDE_COLOR - 0x828282ff, // COMBOBOX_DEFAULT_TEXT_COLOR - 0x828282ff, // COMBOBOX_DEFAULT_LIST_TEXT_COLOR - 0xc8c8c8ff, // COMBOBOX_HOVER_BORDER_COLOR - 0xffffffff, // COMBOBOX_HOVER_INSIDE_COLOR - 0x828282ff, // COMBOBOX_HOVER_TEXT_COLOR - 0x828282ff, // COMBOBOX_HOVER_LIST_TEXT_COLOR - 0x7bb0d6ff, // COMBOBOX_PRESSED_BORDER_COLOR - 0xbcecffff, // COMBOBOX_PRESSED_INSIDE_COLOR - 0x5f9aa7ff, // COMBOBOX_PRESSED_TEXT_COLOR - 0x0078acff, // COMBOBOX_PRESSED_LIST_BORDER_COLOR - 0x66e7ffff, // COMBOBOX_PRESSED_LIST_INSIDE_COLOR - 0x0078acff, // COMBOBOX_PRESSED_LIST_TEXT_COLOR - 0x828282ff, // CHECKBOX_DEFAULT_BORDER_COLOR - 0xffffffff, // CHECKBOX_DEFAULT_INSIDE_COLOR - 0xc8c8c8ff, // CHECKBOX_HOVER_BORDER_COLOR - 0xffffffff, // CHECKBOX_HOVER_INSIDE_COLOR - 0x66e7ffff, // CHECKBOX_CLICK_BORDER_COLOR - 0xddf5ffff, // CHECKBOX_CLICK_INSIDE_COLOR - 0x7bb0d6ff, // CHECKBOX_STATUS_ACTIVE_COLOR - 4, // CHECKBOX_INSIDE_WIDTH - 1, // TEXTBOX_BORDER_WIDTH - 0x828282ff, // TEXTBOX_BORDER_COLOR - 0xf5f5f5ff, // TEXTBOX_INSIDE_COLOR - 0x000000ff, // TEXTBOX_TEXT_COLOR - 0x000000ff, // TEXTBOX_LINE_COLOR - 10 // TEXTBOX_TEXT_FONTSIZE -}; - -// GUI property names (to read/write style text files) -static const char *guiPropertyName[] = { - "GLOBAL_BASE_COLOR", - "GLOBAL_BORDER_COLOR", - "GLOBAL_TEXT_COLOR", - "GLOBAL_TEXT_FONTSIZE", - "GLOBAL_BORDER_WIDTH", - "BACKGROUND_COLOR", - "LABEL_BORDER_WIDTH", - "LABEL_TEXT_COLOR", - "LABEL_TEXT_PADDING", - "BUTTON_BORDER_WIDTH", - "BUTTON_TEXT_PADDING", - "BUTTON_DEFAULT_BORDER_COLOR", - "BUTTON_DEFAULT_INSIDE_COLOR", - "BUTTON_DEFAULT_TEXT_COLOR", - "BUTTON_HOVER_BORDER_COLOR", - "BUTTON_HOVER_INSIDE_COLOR", - "BUTTON_HOVER_TEXT_COLOR", - "BUTTON_PRESSED_BORDER_COLOR", - "BUTTON_PRESSED_INSIDE_COLOR", - "BUTTON_PRESSED_TEXT_COLOR", - "TOGGLE_TEXT_PADDING", - "TOGGLE_BORDER_WIDTH", - "TOGGLE_DEFAULT_BORDER_COLOR", - "TOGGLE_DEFAULT_INSIDE_COLOR", - "TOGGLE_DEFAULT_TEXT_COLOR", - "TOGGLE_HOVER_BORDER_COLOR", - "TOGGLE_HOVER_INSIDE_COLOR", - "TOGGLE_HOVER_TEXT_COLOR", - "TOGGLE_PRESSED_BORDER_COLOR", - "TOGGLE_PRESSED_INSIDE_COLOR", - "TOGGLE_PRESSED_TEXT_COLOR", - "TOGGLE_ACTIVE_BORDER_COLOR", - "TOGGLE_ACTIVE_INSIDE_COLOR", - "TOGGLE_ACTIVE_TEXT_COLOR", - "TOGGLEGROUP_PADDING", - "SLIDER_BORDER_WIDTH", - "SLIDER_BUTTON_BORDER_WIDTH", - "SLIDER_BORDER_COLOR", - "SLIDER_INSIDE_COLOR", - "SLIDER_DEFAULT_COLOR", - "SLIDER_HOVER_COLOR", - "SLIDER_ACTIVE_COLOR", - "SLIDERBAR_BORDER_COLOR", - "SLIDERBAR_INSIDE_COLOR", - "SLIDERBAR_DEFAULT_COLOR", - "SLIDERBAR_HOVER_COLOR", - "SLIDERBAR_ACTIVE_COLOR", - "SLIDERBAR_ZERO_LINE_COLOR", - "PROGRESSBAR_BORDER_COLOR", - "PROGRESSBAR_INSIDE_COLOR", - "PROGRESSBAR_PROGRESS_COLOR", - "PROGRESSBAR_BORDER_WIDTH", - "SPINNER_LABEL_BORDER_COLOR", - "SPINNER_LABEL_INSIDE_COLOR", - "SPINNER_DEFAULT_BUTTON_BORDER_COLOR", - "SPINNER_DEFAULT_BUTTON_INSIDE_COLOR", - "SPINNER_DEFAULT_SYMBOL_COLOR", - "SPINNER_DEFAULT_TEXT_COLOR", - "SPINNER_HOVER_BUTTON_BORDER_COLOR", - "SPINNER_HOVER_BUTTON_INSIDE_COLOR", - "SPINNER_HOVER_SYMBOL_COLOR", - "SPINNER_HOVER_TEXT_COLOR", - "SPINNER_PRESSED_BUTTON_BORDER_COLOR", - "SPINNER_PRESSED_BUTTON_INSIDE_COLOR", - "SPINNER_PRESSED_SYMBOL_COLOR", - "SPINNER_PRESSED_TEXT_COLOR", - "COMBOBOX_PADDING", - "COMBOBOX_BUTTON_WIDTH", - "COMBOBOX_BUTTON_HEIGHT", - "COMBOBOX_BORDER_WIDTH", - "COMBOBOX_DEFAULT_BORDER_COLOR", - "COMBOBOX_DEFAULT_INSIDE_COLOR", - "COMBOBOX_DEFAULT_TEXT_COLOR", - "COMBOBOX_DEFAULT_LIST_TEXT_COLOR", - "COMBOBOX_HOVER_BORDER_COLOR", - "COMBOBOX_HOVER_INSIDE_COLOR", - "COMBOBOX_HOVER_TEXT_COLOR", - "COMBOBOX_HOVER_LIST_TEXT_COLOR", - "COMBOBOX_PRESSED_BORDER_COLOR", - "COMBOBOX_PRESSED_INSIDE_COLOR", - "COMBOBOX_PRESSED_TEXT_COLOR", - "COMBOBOX_PRESSED_LIST_BORDER_COLOR", - "COMBOBOX_PRESSED_LIST_INSIDE_COLOR", - "COMBOBOX_PRESSED_LIST_TEXT_COLOR", - "CHECKBOX_DEFAULT_BORDER_COLOR", - "CHECKBOX_DEFAULT_INSIDE_COLOR", - "CHECKBOX_HOVER_BORDER_COLOR", - "CHECKBOX_HOVER_INSIDE_COLOR", - "CHECKBOX_CLICK_BORDER_COLOR", - "CHECKBOX_CLICK_INSIDE_COLOR", - "CHECKBOX_STATUS_ACTIVE_COLOR", - "CHECKBOX_INSIDE_WIDTH", - "TEXTBOX_BORDER_WIDTH", - "TEXTBOX_BORDER_COLOR", - "TEXTBOX_INSIDE_COLOR", - "TEXTBOX_TEXT_COLOR", - "TEXTBOX_LINE_COLOR", - "TEXTBOX_TEXT_FONTSIZE" -}; - -//---------------------------------------------------------------------------------- -// Module specific Functions Declaration -//---------------------------------------------------------------------------------- -static Color ColorMultiply(Color baseColor, float value); - -#if defined RAYGUI_STANDALONE -static Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value -static int GetHexValue(Color color); // Returns hexadecimal value for a Color -static bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle -static const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' - -// NOTE: raygui depend on some raylib input and drawing functions -// TODO: To use raygui as standalone library, those functions must be overwrite by custom ones - -// Input management functions -static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; } -static int IsMouseButtonDown(int button) { return 0; } -static int IsMouseButtonPressed(int button) { return 0; } -static int IsMouseButtonReleased(int button) { return 0; } -static int IsMouseButtonUp(int button) { return 0; } - -static int GetKeyPressed(void) { return 0; } // NOTE: Only used by GuiTextBox() -static int IsKeyDown(int key) { return 0; } // NOTE: Only used by GuiSpinner() - -// Drawing related functions -static int MeasureText(const char *text, int fontSize) { return 0; } -static void DrawText(const char *text, int posX, int posY, int fontSize, Color color) { } -static void DrawRectangleRec(Rectangle rec, Color color) { } -static void DrawRectangle(int posX, int posY, int width, int height, Color color) { DrawRectangleRec((Rectangle){ posX, posY, width, height }, color); } -#endif - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- - -// Label element, show text -RAYGUIDEF void GuiLabel(Rectangle bounds, const char *text) -{ - #define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) - - GuiLabelEx(bounds, text, GetColor(style[LABEL_TEXT_COLOR]), BLANK, BLANK); -} - -// Label element extended, configurable colors -RAYGUIDEF void GuiLabelEx(Rectangle bounds, const char *text, Color textColor, Color border, Color inner) -{ - // Update control - //-------------------------------------------------------------------- - int textWidth = MeasureText(text, style[GLOBAL_TEXT_FONTSIZE]); - int textHeight = style[GLOBAL_TEXT_FONTSIZE]; - - if (bounds.width < textWidth) bounds.width = textWidth + style[LABEL_TEXT_PADDING]; - if (bounds.height < textHeight) bounds.height = textHeight + style[LABEL_TEXT_PADDING]/2; - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - DrawRectangleRec(bounds, border); - DrawRectangle(bounds.x + style[LABEL_BORDER_WIDTH], bounds.y + style[LABEL_BORDER_WIDTH], bounds.width - (2 * style[LABEL_BORDER_WIDTH]), bounds.height - (2 * style[LABEL_BORDER_WIDTH]), inner); - DrawText(text, bounds.x + ((bounds.width/2) - (textWidth/2)), bounds.y + ((bounds.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], textColor); - //-------------------------------------------------------------------- -} - -// Button element, returns true when clicked -RAYGUIDEF bool GuiButton(Rectangle bounds, const char *text) -{ - ButtonState buttonState = BUTTON_DEFAULT; - Vector2 mousePoint = GetMousePosition(); - - int textWidth = MeasureText(text, style[GLOBAL_TEXT_FONTSIZE]); - int textHeight = style[GLOBAL_TEXT_FONTSIZE]; - - // Update control - //-------------------------------------------------------------------- - if (bounds.width < textWidth) bounds.width = textWidth + style[BUTTON_TEXT_PADDING]; - if (bounds.height < textHeight) bounds.height = textHeight + style[BUTTON_TEXT_PADDING]/2; - - if (CheckCollisionPointRec(mousePoint, bounds)) - { - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) buttonState = BUTTON_PRESSED; - else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) buttonState = BUTTON_CLICKED; - else buttonState = BUTTON_HOVER; - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - switch (buttonState) - { - case BUTTON_DEFAULT: - { - DrawRectangleRec(bounds, GetColor(style[BUTTON_DEFAULT_BORDER_COLOR])); - DrawRectangle((int)(bounds.x + style[BUTTON_BORDER_WIDTH]), (int)(bounds.y + style[BUTTON_BORDER_WIDTH]) , (int)(bounds.width - (2 * style[BUTTON_BORDER_WIDTH])), (int)(bounds.height - (2 * style[BUTTON_BORDER_WIDTH])), GetColor(style[BUTTON_DEFAULT_INSIDE_COLOR])); - DrawText(text, bounds.x + ((bounds.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), bounds.y + ((bounds.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[BUTTON_DEFAULT_TEXT_COLOR])); - } break; - case BUTTON_HOVER: - { - DrawRectangleRec(bounds, GetColor(style[BUTTON_HOVER_BORDER_COLOR])); - DrawRectangle((int)(bounds.x + style[BUTTON_BORDER_WIDTH]), (int)(bounds.y + style[BUTTON_BORDER_WIDTH]) , (int)(bounds.width - (2 * style[BUTTON_BORDER_WIDTH])), (int)(bounds.height - (2 * style[BUTTON_BORDER_WIDTH])), GetColor(style[BUTTON_HOVER_INSIDE_COLOR])); - DrawText(text, bounds.x + ((bounds.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), bounds.y + ((bounds.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[BUTTON_HOVER_TEXT_COLOR])); - } break; - case BUTTON_PRESSED: - { - DrawRectangleRec(bounds, GetColor(style[BUTTON_PRESSED_BORDER_COLOR])); - DrawRectangle((int)(bounds.x + style[BUTTON_BORDER_WIDTH]), (int)(bounds.y + style[BUTTON_BORDER_WIDTH]) , (int)(bounds.width - (2 * style[BUTTON_BORDER_WIDTH])), (int)(bounds.height - (2 * style[BUTTON_BORDER_WIDTH])), GetColor(style[BUTTON_PRESSED_INSIDE_COLOR])); - DrawText(text, bounds.x + ((bounds.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), bounds.y + ((bounds.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[BUTTON_PRESSED_TEXT_COLOR])); - } break; - case BUTTON_CLICKED: - { - DrawRectangleRec(bounds, GetColor(style[BUTTON_PRESSED_BORDER_COLOR])); - DrawRectangle((int)(bounds.x + style[BUTTON_BORDER_WIDTH]), (int)(bounds.y + style[BUTTON_BORDER_WIDTH]) , (int)(bounds.width - (2 * style[BUTTON_BORDER_WIDTH])), (int)(bounds.height - (2 * style[BUTTON_BORDER_WIDTH])), GetColor(style[BUTTON_PRESSED_INSIDE_COLOR])); - } break; - default: break; - } - //------------------------------------------------------------------ - - if (buttonState == BUTTON_CLICKED) return true; - else return false; -} - -// Toggle Button element, returns true when active -RAYGUIDEF bool GuiToggleButton(Rectangle bounds, const char *text, bool toggle) -{ - ToggleState toggleState = TOGGLE_UNACTIVE; - Rectangle toggleButton = bounds; - Vector2 mousePoint = GetMousePosition(); - - int textWidth = MeasureText(text, style[GLOBAL_TEXT_FONTSIZE]); - int textHeight = style[GLOBAL_TEXT_FONTSIZE]; - - // Update control - //-------------------------------------------------------------------- - if (toggleButton.width < textWidth) toggleButton.width = textWidth + style[TOGGLE_TEXT_PADDING]; - if (toggleButton.height < textHeight) toggleButton.height = textHeight + style[TOGGLE_TEXT_PADDING]/2; - - if (toggle) toggleState = TOGGLE_ACTIVE; - else toggleState = TOGGLE_UNACTIVE; - - if (CheckCollisionPointRec(mousePoint, toggleButton)) - { - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) toggleState = TOGGLE_PRESSED; - else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) - { - if (toggle) - { - toggle = false; - toggleState = TOGGLE_UNACTIVE; - } - else - { - toggle = true; - toggleState = TOGGLE_ACTIVE; - } - } - else toggleState = TOGGLE_HOVER; - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - switch (toggleState) - { - case TOGGLE_UNACTIVE: - { - DrawRectangleRec(toggleButton, GetColor(style[TOGGLE_DEFAULT_BORDER_COLOR])); - DrawRectangle((int)(toggleButton.x + style[TOGGLE_BORDER_WIDTH]), (int)(toggleButton.y + style[TOGGLE_BORDER_WIDTH]) , (int)(toggleButton.width - (2 * style[TOGGLE_BORDER_WIDTH])), (int)(toggleButton.height - (2 * style[TOGGLE_BORDER_WIDTH])), GetColor(style[TOGGLE_DEFAULT_INSIDE_COLOR])); - DrawText(text, toggleButton.x + ((toggleButton.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), toggleButton.y + ((toggleButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[TOGGLE_DEFAULT_TEXT_COLOR])); - } break; - case TOGGLE_HOVER: - { - DrawRectangleRec(toggleButton, GetColor(style[TOGGLE_HOVER_BORDER_COLOR])); - DrawRectangle((int)(toggleButton.x + style[TOGGLE_BORDER_WIDTH]), (int)(toggleButton.y + style[TOGGLE_BORDER_WIDTH]) , (int)(toggleButton.width - (2 * style[TOGGLE_BORDER_WIDTH])), (int)(toggleButton.height - (2 * style[TOGGLE_BORDER_WIDTH])), GetColor(style[TOGGLE_HOVER_INSIDE_COLOR])); - DrawText(text, toggleButton.x + ((toggleButton.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), toggleButton.y + ((toggleButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[TOGGLE_HOVER_TEXT_COLOR])); - } break; - case TOGGLE_PRESSED: - { - DrawRectangleRec(toggleButton, GetColor(style[TOGGLE_PRESSED_BORDER_COLOR])); - DrawRectangle((int)(toggleButton.x + style[TOGGLE_BORDER_WIDTH]), (int)(toggleButton.y + style[TOGGLE_BORDER_WIDTH]) , (int)(toggleButton.width - (2 * style[TOGGLE_BORDER_WIDTH])), (int)(toggleButton.height - (2 * style[TOGGLE_BORDER_WIDTH])), GetColor(style[TOGGLE_PRESSED_INSIDE_COLOR])); - DrawText(text, toggleButton.x + ((toggleButton.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), toggleButton.y + ((toggleButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[TOGGLE_PRESSED_TEXT_COLOR])); - } break; - case TOGGLE_ACTIVE: - { - DrawRectangleRec(toggleButton, GetColor(style[TOGGLE_ACTIVE_BORDER_COLOR])); - DrawRectangle((int)(toggleButton.x + style[TOGGLE_BORDER_WIDTH]), (int)(toggleButton.y + style[TOGGLE_BORDER_WIDTH]) , (int)(toggleButton.width - (2 * style[TOGGLE_BORDER_WIDTH])), (int)(toggleButton.height - (2 * style[TOGGLE_BORDER_WIDTH])), GetColor(style[TOGGLE_ACTIVE_INSIDE_COLOR])); - DrawText(text, toggleButton.x + ((toggleButton.width/2) - (MeasureText(text, style[GLOBAL_TEXT_FONTSIZE])/2)), toggleButton.y + ((toggleButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[TOGGLE_ACTIVE_TEXT_COLOR])); - } break; - default: break; - } - //-------------------------------------------------------------------- - - return toggle; -} - -// Toggle Group element, returns toggled button index -RAYGUIDEF int GuiToggleGroup(Rectangle bounds, int toggleNum, char **toggleText, int toggleActive) -{ - for (int i = 0; i < toggleNum; i++) - { - if (i == toggleActive) GuiToggleButton((Rectangle){bounds.x + i*(bounds.width + style[TOGGLEGROUP_PADDING]),bounds.y,bounds.width,bounds.height}, toggleText[i], true); - else if (GuiToggleButton((Rectangle){bounds.x + i*(bounds.width + style[TOGGLEGROUP_PADDING]),bounds.y,bounds.width,bounds.height}, toggleText[i], false) == true) toggleActive = i; - } - - return toggleActive; -} - -// Combo Box element, returns selected item index -RAYGUIDEF int GuiComboBox(Rectangle bounds, int comboNum, char **comboText, int comboActive) -{ - ComboBoxState comboBoxState = COMBOBOX_UNACTIVE; - Rectangle comboBoxButton = bounds; - Rectangle click = { bounds.x + bounds.width + style[COMBOBOX_PADDING], bounds.y, style[COMBOBOX_BUTTON_WIDTH], style[COMBOBOX_BUTTON_HEIGHT] }; - Vector2 mousePoint = GetMousePosition(); - - int textHeight = style[GLOBAL_TEXT_FONTSIZE]; - - for (int i = 0; i < comboNum; i++) - { - if (i == comboActive) - { - // Update control - //-------------------------------------------------------------------- - int textWidth = MeasureText(comboText[i], style[GLOBAL_TEXT_FONTSIZE]); - - if (comboBoxButton.width < textWidth) comboBoxButton.width = textWidth + style[TOGGLE_TEXT_PADDING]; - if (comboBoxButton.height < textHeight) comboBoxButton.height = textHeight + style[TOGGLE_TEXT_PADDING]/2; - - if (CheckCollisionPointRec(mousePoint, comboBoxButton) || CheckCollisionPointRec(mousePoint, click)) - { - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) comboBoxState = COMBOBOX_PRESSED; - else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) comboBoxState = COMBOBOX_ACTIVE; - else comboBoxState = COMBOBOX_HOVER; - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - switch (comboBoxState) - { - case COMBOBOX_UNACTIVE: - { - DrawRectangleRec(comboBoxButton, GetColor(style[COMBOBOX_DEFAULT_BORDER_COLOR])); - DrawRectangle((int)(comboBoxButton.x + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.y + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.width - (2 * style[COMBOBOX_BORDER_WIDTH])), (int)(comboBoxButton.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_DEFAULT_INSIDE_COLOR])); - - DrawRectangleRec(click, GetColor(style[COMBOBOX_DEFAULT_BORDER_COLOR])); - DrawRectangle((int)(click.x + style[COMBOBOX_BORDER_WIDTH]), (int)(click.y + style[COMBOBOX_BORDER_WIDTH]) , (int)(click.width - (2*style[COMBOBOX_BORDER_WIDTH])), (int)(click.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_DEFAULT_INSIDE_COLOR])); - DrawText(FormatText("%i/%i", comboActive + 1, comboNum), click.x + ((click.width/2) - (MeasureText(FormatText("%i/%i", comboActive + 1, comboNum), style[GLOBAL_TEXT_FONTSIZE])/2)), click.y + ((click.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_DEFAULT_LIST_TEXT_COLOR])); - DrawText(comboText[i], comboBoxButton.x + ((comboBoxButton.width/2) - (MeasureText(comboText[i], style[GLOBAL_TEXT_FONTSIZE])/2)), comboBoxButton.y + ((comboBoxButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_DEFAULT_TEXT_COLOR])); - } break; - case COMBOBOX_HOVER: - { - DrawRectangleRec(comboBoxButton, GetColor(style[COMBOBOX_HOVER_BORDER_COLOR])); - DrawRectangle((int)(comboBoxButton.x + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.y + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.width - (2 * style[COMBOBOX_BORDER_WIDTH])), (int)(comboBoxButton.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_HOVER_INSIDE_COLOR])); - - DrawRectangleRec(click, GetColor(style[COMBOBOX_HOVER_BORDER_COLOR])); - DrawRectangle((int)(click.x + style[COMBOBOX_BORDER_WIDTH]), (int)(click.y + style[COMBOBOX_BORDER_WIDTH]) , (int)(click.width - (2*style[COMBOBOX_BORDER_WIDTH])), (int)(click.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_HOVER_INSIDE_COLOR])); - DrawText(FormatText("%i/%i", comboActive + 1, comboNum), click.x + ((click.width/2) - (MeasureText(FormatText("%i/%i", comboActive + 1, comboNum), style[GLOBAL_TEXT_FONTSIZE])/2)), click.y + ((click.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_HOVER_LIST_TEXT_COLOR])); - DrawText(comboText[i], comboBoxButton.x + ((comboBoxButton.width/2) - (MeasureText(comboText[i], style[GLOBAL_TEXT_FONTSIZE])/2)), comboBoxButton.y + ((comboBoxButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_HOVER_TEXT_COLOR])); - } break; - case COMBOBOX_PRESSED: - { - DrawRectangleRec(comboBoxButton, GetColor(style[COMBOBOX_PRESSED_BORDER_COLOR])); - DrawRectangle((int)(comboBoxButton.x + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.y + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.width - (2 * style[COMBOBOX_BORDER_WIDTH])), (int)(comboBoxButton.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_PRESSED_INSIDE_COLOR])); - - DrawRectangleRec(click, GetColor(style[COMBOBOX_PRESSED_LIST_BORDER_COLOR])); - DrawRectangle((int)(click.x + style[COMBOBOX_BORDER_WIDTH]), (int)(click.y + style[COMBOBOX_BORDER_WIDTH]) , (int)(click.width - (2*style[COMBOBOX_BORDER_WIDTH])), (int)(click.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_PRESSED_LIST_INSIDE_COLOR])); - DrawText(FormatText("%i/%i", comboActive + 1, comboNum), click.x + ((click.width/2) - (MeasureText(FormatText("%i/%i", comboActive + 1, comboNum), style[GLOBAL_TEXT_FONTSIZE])/2)), click.y + ((click.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_PRESSED_LIST_TEXT_COLOR])); - DrawText(comboText[i], comboBoxButton.x + ((comboBoxButton.width/2) - (MeasureText(comboText[i], style[GLOBAL_TEXT_FONTSIZE])/2)), comboBoxButton.y + ((comboBoxButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_PRESSED_TEXT_COLOR])); - } break; - case COMBOBOX_ACTIVE: - { - DrawRectangleRec(comboBoxButton, GetColor(style[COMBOBOX_PRESSED_BORDER_COLOR])); - DrawRectangle((int)(comboBoxButton.x + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.y + style[COMBOBOX_BORDER_WIDTH]), (int)(comboBoxButton.width - (2 * style[COMBOBOX_BORDER_WIDTH])), (int)(comboBoxButton.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_PRESSED_INSIDE_COLOR])); - - DrawRectangleRec(click, GetColor(style[COMBOBOX_PRESSED_LIST_BORDER_COLOR])); - DrawRectangle((int)(click.x + style[COMBOBOX_BORDER_WIDTH]), (int)(click.y + style[COMBOBOX_BORDER_WIDTH]) , (int)(click.width - (2*style[COMBOBOX_BORDER_WIDTH])), (int)(click.height - (2*style[COMBOBOX_BORDER_WIDTH])), GetColor(style[COMBOBOX_PRESSED_LIST_INSIDE_COLOR])); - DrawText(FormatText("%i/%i", comboActive + 1, comboNum), click.x + ((click.width/2) - (MeasureText(FormatText("%i/%i", comboActive + 1, comboNum), style[GLOBAL_TEXT_FONTSIZE])/2)), click.y + ((click.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_PRESSED_LIST_TEXT_COLOR])); - DrawText(comboText[i], comboBoxButton.x + ((comboBoxButton.width/2) - (MeasureText(comboText[i], style[GLOBAL_TEXT_FONTSIZE])/2)), comboBoxButton.y + ((comboBoxButton.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[COMBOBOX_PRESSED_TEXT_COLOR])); - } break; - default: break; - } - - //DrawText(comboText[i], comboBoxButton.x + ((comboBoxButton.width/2) - (MeasureText(comboText[i], style[]globalTextFontSize)/2)), comboBoxButton.y + ((comboBoxButton.height/2) - (style[]globalTextFontSize/2)), style[]globalTextFontSize, COMBOBOX_PRESSED_TEXT_COLOR); - //-------------------------------------------------------------------- - } - } - - if (CheckCollisionPointRec(GetMousePosition(), bounds) || CheckCollisionPointRec(GetMousePosition(), click)) - { - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) - { - comboActive += 1; - if(comboActive >= comboNum) comboActive = 0; - } - } - - return comboActive; -} - -// Check Box element, returns true when active -RAYGUIDEF bool GuiCheckBox(Rectangle checkBoxBounds, const char *text, bool checked) -{ - CheckBoxState checkBoxState = CHECKBOX_STATUS; - Vector2 mousePoint = GetMousePosition(); - - // Update control - //-------------------------------------------------------------------- - if (CheckCollisionPointRec(mousePoint, checkBoxBounds)) - { - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) checkBoxState = CHECKBOX_PRESSED; - else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) - { - checkBoxState = CHECKBOX_STATUS; - checked = !checked; - } - else checkBoxState = CHECKBOX_HOVER; - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - switch (checkBoxState) - { - case CHECKBOX_HOVER: - { - DrawRectangleRec(checkBoxBounds, GetColor(style[CHECKBOX_HOVER_BORDER_COLOR])); - DrawRectangle((int)(checkBoxBounds.x + style[TOGGLE_BORDER_WIDTH]), (int)(checkBoxBounds.y + style[TOGGLE_BORDER_WIDTH]), (int)(checkBoxBounds.width - (2*style[TOGGLE_BORDER_WIDTH])), (int)(checkBoxBounds.height - (2*style[TOGGLE_BORDER_WIDTH])), GetColor(style[CHECKBOX_HOVER_INSIDE_COLOR])); - } break; - case CHECKBOX_STATUS: - { - DrawRectangleRec(checkBoxBounds, GetColor(style[CHECKBOX_DEFAULT_BORDER_COLOR])); - DrawRectangle((int)(checkBoxBounds.x + style[TOGGLE_BORDER_WIDTH]), (int)(checkBoxBounds.y + style[TOGGLE_BORDER_WIDTH]), (int)(checkBoxBounds.width - (2*style[TOGGLE_BORDER_WIDTH])), (int)(checkBoxBounds.height - (2*style[TOGGLE_BORDER_WIDTH])), GetColor(style[CHECKBOX_DEFAULT_INSIDE_COLOR])); - } break; - case CHECKBOX_PRESSED: - { - DrawRectangleRec(checkBoxBounds, GetColor(style[CHECKBOX_CLICK_BORDER_COLOR])); - DrawRectangle((int)(checkBoxBounds.x + style[TOGGLE_BORDER_WIDTH]), (int)(checkBoxBounds.y + style[TOGGLE_BORDER_WIDTH]), (int)(checkBoxBounds.width - (2*style[TOGGLE_BORDER_WIDTH])), (int)(checkBoxBounds.height - (2*style[TOGGLE_BORDER_WIDTH])), GetColor(style[CHECKBOX_CLICK_INSIDE_COLOR])); - } break; - default: break; - } - - if (text != NULL) DrawText(text, checkBoxBounds.x + checkBoxBounds.width + 2, checkBoxBounds.y + ((checkBoxBounds.height/2) - (style[GLOBAL_TEXT_FONTSIZE]/2) + 1), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[LABEL_TEXT_COLOR])); - - if (checked) - { - DrawRectangle((int)(checkBoxBounds.x + style[CHECKBOX_INSIDE_WIDTH]), (int)(checkBoxBounds.y + style[CHECKBOX_INSIDE_WIDTH]), (int)(checkBoxBounds.width - (2*style[CHECKBOX_INSIDE_WIDTH])), (int)(checkBoxBounds.height - (2*style[CHECKBOX_INSIDE_WIDTH])), GetColor(style[CHECKBOX_STATUS_ACTIVE_COLOR])); - } - //-------------------------------------------------------------------- - - return checked; -} - -// Slider element, returns selected value -RAYGUIDEF float GuiSlider(Rectangle bounds, float value, float minValue, float maxValue) -{ - SliderState sliderState = SLIDER_DEFAULT; - float buttonTravelDistance = 0; - float sliderPos = 0; - Vector2 mousePoint = GetMousePosition(); - - // Update control - //-------------------------------------------------------------------- - if (value < minValue) value = minValue; - else if (value >= maxValue) value = maxValue; - - sliderPos = (value - minValue)/(maxValue - minValue); - - Rectangle sliderButton; - sliderButton.width = ((int)(bounds.width - (2 * style[SLIDER_BUTTON_BORDER_WIDTH]))/10 - 8); - sliderButton.height =((int)(bounds.height - ( 2 * style[SLIDER_BORDER_WIDTH] + 2 * style[SLIDER_BUTTON_BORDER_WIDTH]))); - - float sliderButtonMinPos = bounds.x + style[SLIDER_BORDER_WIDTH] + style[SLIDER_BUTTON_BORDER_WIDTH]; - float sliderButtonMaxPos = bounds.x + bounds.width - (style[SLIDER_BORDER_WIDTH] + style[SLIDER_BUTTON_BORDER_WIDTH] + sliderButton.width); - - buttonTravelDistance = sliderButtonMaxPos - sliderButtonMinPos; - - sliderButton.x = ((int)(bounds.x + style[SLIDER_BORDER_WIDTH] + style[SLIDER_BUTTON_BORDER_WIDTH]) + (sliderPos * buttonTravelDistance)); - sliderButton.y = ((int)(bounds.y + style[SLIDER_BORDER_WIDTH] + style[SLIDER_BUTTON_BORDER_WIDTH])); - - if (CheckCollisionPointRec(mousePoint, bounds)) - { - sliderState = SLIDER_HOVER; - - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) sliderState = SLIDER_ACTIVE; - - if ((sliderState == SLIDER_ACTIVE) && (IsMouseButtonDown(MOUSE_LEFT_BUTTON))) - { - sliderButton.x = mousePoint.x - sliderButton.width / 2; - - if (sliderButton.x <= sliderButtonMinPos) sliderButton.x = sliderButtonMinPos; - else if (sliderButton.x >= sliderButtonMaxPos) sliderButton.x = sliderButtonMaxPos; - - sliderPos = (sliderButton.x - sliderButtonMinPos) / buttonTravelDistance; - } - } - else sliderState = SLIDER_DEFAULT; - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - DrawRectangleRec(bounds, GetColor(style[SLIDER_BORDER_COLOR])); - DrawRectangle((int)(bounds.x + style[SLIDER_BORDER_WIDTH]), (int)(bounds.y + style[SLIDER_BORDER_WIDTH]), (int)(bounds.width - (2*style[SLIDER_BORDER_WIDTH])), (int)(bounds.height - (2*style[SLIDER_BORDER_WIDTH])), GetColor(style[SLIDER_INSIDE_COLOR])); - - switch (sliderState) - { - case SLIDER_DEFAULT: DrawRectangleRec(sliderButton, GetColor(style[SLIDER_DEFAULT_COLOR])); break; - case SLIDER_HOVER: DrawRectangleRec(sliderButton, GetColor(style[SLIDER_HOVER_COLOR])); break; - case SLIDER_ACTIVE: DrawRectangleRec(sliderButton, GetColor(style[SLIDER_ACTIVE_COLOR])); break; - default: break; - } - //-------------------------------------------------------------------- - - return minValue + (maxValue - minValue)*sliderPos; -} - -// Slider Bar element, returns selected value -RAYGUIDEF float GuiSliderBar(Rectangle bounds, float value, float minValue, float maxValue) -{ - SliderState sliderState = SLIDER_DEFAULT; - Vector2 mousePoint = GetMousePosition(); - float fixedValue; - float fixedMinValue; - - fixedValue = value - minValue; - maxValue = maxValue - minValue; - fixedMinValue = 0; - - // Update control - //-------------------------------------------------------------------- - if (fixedValue <= fixedMinValue) fixedValue = fixedMinValue; - else if (fixedValue >= maxValue) fixedValue = maxValue; - - Rectangle sliderBar; - - sliderBar.x = bounds.x + style[SLIDER_BORDER_WIDTH]; - sliderBar.y = bounds.y + style[SLIDER_BORDER_WIDTH]; - sliderBar.width = ((fixedValue*((float)bounds.width - 2*style[SLIDER_BORDER_WIDTH]))/(maxValue - fixedMinValue)); - sliderBar.height = bounds.height - 2*style[SLIDER_BORDER_WIDTH]; - - if (CheckCollisionPointRec(mousePoint, bounds)) - { - sliderState = SLIDER_HOVER; - - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) - { - sliderState = SLIDER_ACTIVE; - - sliderBar.width = (mousePoint.x - bounds.x - style[SLIDER_BORDER_WIDTH]); - - if (mousePoint.x <= (bounds.x + style[SLIDER_BORDER_WIDTH])) sliderBar.width = 0; - else if (mousePoint.x >= (bounds.x + bounds.width - style[SLIDER_BORDER_WIDTH])) sliderBar.width = bounds.width - 2*style[SLIDER_BORDER_WIDTH]; - } - } - else sliderState = SLIDER_DEFAULT; - - fixedValue = ((float)sliderBar.width*(maxValue - fixedMinValue))/((float)bounds.width - 2*style[SLIDER_BORDER_WIDTH]); - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - DrawRectangleRec(bounds, GetColor(style[SLIDERBAR_BORDER_COLOR])); - DrawRectangle((int)(bounds.x + style[SLIDER_BORDER_WIDTH]), (int)(bounds.y + style[SLIDER_BORDER_WIDTH]) , (int)(bounds.width - (2*style[SLIDER_BORDER_WIDTH])), (int)(bounds.height - (2*style[SLIDER_BORDER_WIDTH])), GetColor(style[SLIDERBAR_INSIDE_COLOR])); - - switch (sliderState) - { - case SLIDER_DEFAULT: DrawRectangleRec(sliderBar, GetColor(style[SLIDERBAR_DEFAULT_COLOR])); break; - case SLIDER_HOVER: DrawRectangleRec(sliderBar, GetColor(style[SLIDERBAR_HOVER_COLOR])); break; - case SLIDER_ACTIVE: DrawRectangleRec(sliderBar, GetColor(style[SLIDERBAR_ACTIVE_COLOR])); break; - default: break; - } - - if (minValue < 0 && maxValue > 0) DrawRectangle((bounds.x + style[SLIDER_BORDER_WIDTH]) - (minValue * ((bounds.width - (style[SLIDER_BORDER_WIDTH]*2))/maxValue)), sliderBar.y, 1, sliderBar.height, GetColor(style[SLIDERBAR_ZERO_LINE_COLOR])); - //-------------------------------------------------------------------- - - return fixedValue + minValue; -} - -// Progress Bar element, shows current progress value -RAYGUIDEF void GuiProgressBar(Rectangle bounds, float value) -{ - if (value > 1.0f) value = 1.0f; - else if (value < 0.0f) value = 0.0f; - - Rectangle progressBar = { bounds.x + style[PROGRESSBAR_BORDER_WIDTH], bounds.y + style[PROGRESSBAR_BORDER_WIDTH], bounds.width - (style[PROGRESSBAR_BORDER_WIDTH] * 2), bounds.height - (style[PROGRESSBAR_BORDER_WIDTH] * 2)}; - Rectangle progressValue = { bounds.x + style[PROGRESSBAR_BORDER_WIDTH], bounds.y + style[PROGRESSBAR_BORDER_WIDTH], value * (bounds.width - (style[PROGRESSBAR_BORDER_WIDTH] * 2)), bounds.height - (style[PROGRESSBAR_BORDER_WIDTH] * 2)}; - - // Draw control - //-------------------------------------------------------------------- - DrawRectangleRec(bounds, GetColor(style[PROGRESSBAR_BORDER_COLOR])); - DrawRectangleRec(progressBar, GetColor(style[PROGRESSBAR_INSIDE_COLOR])); - DrawRectangleRec(progressValue, GetColor(style[PROGRESSBAR_PROGRESS_COLOR])); - //-------------------------------------------------------------------- -} - -// Spinner element, returns selected value -// NOTE: Requires static variables: framesCounter, valueSpeed - ERROR! -RAYGUIDEF int GuiSpinner(Rectangle bounds, int value, int minValue, int maxValue) -{ - SpinnerState spinnerState = SPINNER_DEFAULT; - Rectangle labelBoxBound = { bounds.x + bounds.width/4 + 1, bounds.y, bounds.width/2, bounds.height }; - Rectangle leftButtonBound = { bounds.x, bounds.y, bounds.width/4, bounds.height }; - Rectangle rightButtonBound = { bounds.x + bounds.width - bounds.width/4 + 1, bounds.y, bounds.width/4, bounds.height }; - Vector2 mousePoint = GetMousePosition(); - - int textWidth = MeasureText(FormatText("%i", value), style[GLOBAL_TEXT_FONTSIZE]); - //int textHeight = style[GLOBAL_TEXT_FONTSIZE]; // Unused variable - - int buttonSide = 0; - - static int framesCounter = 0; - static bool valueSpeed = false;; - - //if (comboBoxButton.width < textWidth) comboBoxButton.width = textWidth + style[TOGGLE_TEXT_PADDING]; - //if (comboBoxButton.height < textHeight) comboBoxButton.height = textHeight + style[TOGGLE_TEXT_PADDING]/2; - - // Update control - //-------------------------------------------------------------------- - if (CheckCollisionPointRec(mousePoint, leftButtonBound) || CheckCollisionPointRec(mousePoint, rightButtonBound) || CheckCollisionPointRec(mousePoint, labelBoxBound)) - { - if (IsKeyDown(KEY_LEFT)) - { - spinnerState = SPINNER_PRESSED; - buttonSide = 1; - - if (value > minValue) value -= 1; - } - else if (IsKeyDown(KEY_RIGHT)) - { - spinnerState = SPINNER_PRESSED; - buttonSide = 2; - - if (value < maxValue) value += 1; - } - } - - if (CheckCollisionPointRec(mousePoint, leftButtonBound)) - { - buttonSide = 1; - spinnerState = SPINNER_HOVER; - - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) - { - if (!valueSpeed) - { - if (value > minValue) value--; - valueSpeed = true; - } - else framesCounter++; - - spinnerState = SPINNER_PRESSED; - - if (value > minValue) - { - if (framesCounter >= 30) value -= 1; - } - } - } - else if (CheckCollisionPointRec(mousePoint, rightButtonBound)) - { - buttonSide = 2; - spinnerState = SPINNER_HOVER; - - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) - { - if (!valueSpeed) - { - if (value < maxValue) value++; - valueSpeed = true; - } - else framesCounter++; - - spinnerState = SPINNER_PRESSED; - - if (value < maxValue) - { - if (framesCounter >= 30) value += 1; - } - } - } - else if (!CheckCollisionPointRec(mousePoint, labelBoxBound)) buttonSide = 0; - - if (IsMouseButtonUp(MOUSE_LEFT_BUTTON)) - { - valueSpeed = false; - framesCounter = 0; - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - switch (spinnerState) - { - case SPINNER_DEFAULT: - { - DrawRectangleRec(leftButtonBound, GetColor(style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR])); - DrawRectangle(leftButtonBound.x + 2, leftButtonBound.y + 2, leftButtonBound.width - 4, leftButtonBound.height - 4, GetColor(style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR])); - - DrawRectangleRec(rightButtonBound, GetColor(style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR])); - DrawRectangle(rightButtonBound.x + 2, rightButtonBound.y + 2, rightButtonBound.width - 4, rightButtonBound.height - 4, GetColor(style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR])); - - DrawText(FormatText("-"), leftButtonBound.x + (leftButtonBound.width/2 - (MeasureText(FormatText("+"), style[GLOBAL_TEXT_FONTSIZE]))/2), leftButtonBound.y + (leftButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_SYMBOL_COLOR])); - DrawText(FormatText("+"), rightButtonBound.x + (rightButtonBound.width/2 - (MeasureText(FormatText("-"), style[GLOBAL_TEXT_FONTSIZE]))/2), rightButtonBound.y + (rightButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_SYMBOL_COLOR])); - - DrawRectangleRec(labelBoxBound, GetColor(style[SPINNER_LABEL_BORDER_COLOR])); - DrawRectangle(labelBoxBound.x + 1, labelBoxBound.y + 1, labelBoxBound.width - 2, labelBoxBound.height - 2, GetColor(style[SPINNER_LABEL_INSIDE_COLOR])); - - DrawText(FormatText("%i", value), labelBoxBound.x + (labelBoxBound.width/2 - textWidth/2), labelBoxBound.y + (labelBoxBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_TEXT_COLOR])); - } break; - case SPINNER_HOVER: - { - if (buttonSide == 1) - { - DrawRectangleRec(leftButtonBound, GetColor(style[SPINNER_HOVER_BUTTON_BORDER_COLOR])); - DrawRectangle(leftButtonBound.x + 2, leftButtonBound.y + 2, leftButtonBound.width - 4, leftButtonBound.height - 4, GetColor(style[SPINNER_HOVER_BUTTON_INSIDE_COLOR])); - - DrawRectangleRec(rightButtonBound, GetColor(style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR])); - DrawRectangle(rightButtonBound.x + 2, rightButtonBound.y + 2, rightButtonBound.width - 4, rightButtonBound.height - 4, GetColor(style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR])); - - DrawText(FormatText("-"), leftButtonBound.x + (leftButtonBound.width/2 - (MeasureText(FormatText("+"), style[GLOBAL_TEXT_FONTSIZE]))/2), leftButtonBound.y + (leftButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_HOVER_SYMBOL_COLOR])); - DrawText(FormatText("+"), rightButtonBound.x + (rightButtonBound.width/2 - (MeasureText(FormatText("-"), style[GLOBAL_TEXT_FONTSIZE]))/2), rightButtonBound.y + (rightButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_SYMBOL_COLOR])); - } - else if (buttonSide == 2) - { - DrawRectangleRec(leftButtonBound, GetColor(style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR])); - DrawRectangle(leftButtonBound.x + 2, leftButtonBound.y + 2, leftButtonBound.width - 4, leftButtonBound.height - 4, GetColor(style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR])); - - DrawRectangleRec(rightButtonBound, GetColor(style[SPINNER_HOVER_BUTTON_BORDER_COLOR])); - DrawRectangle(rightButtonBound.x + 2, rightButtonBound.y + 2, rightButtonBound.width - 4, rightButtonBound.height - 4, GetColor(style[SPINNER_HOVER_BUTTON_INSIDE_COLOR])); - - DrawText(FormatText("-"), leftButtonBound.x + (leftButtonBound.width/2 - (MeasureText(FormatText("+"), style[GLOBAL_TEXT_FONTSIZE]))/2), leftButtonBound.y + (leftButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_SYMBOL_COLOR])); - DrawText(FormatText("+"), rightButtonBound.x + (rightButtonBound.width/2 - (MeasureText(FormatText("-"), style[GLOBAL_TEXT_FONTSIZE]))/2), rightButtonBound.y + (rightButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_HOVER_SYMBOL_COLOR])); - } - - DrawRectangleRec(labelBoxBound, GetColor(style[SPINNER_LABEL_BORDER_COLOR])); - DrawRectangle(labelBoxBound.x + 1, labelBoxBound.y + 1, labelBoxBound.width - 2, labelBoxBound.height - 2, GetColor(style[SPINNER_LABEL_INSIDE_COLOR])); - - DrawText(FormatText("%i", value), labelBoxBound.x + (labelBoxBound.width/2 - textWidth/2), labelBoxBound.y + (labelBoxBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_HOVER_TEXT_COLOR])); - } break; - case SPINNER_PRESSED: - { - if (buttonSide == 1) - { - DrawRectangleRec(leftButtonBound, GetColor(style[SPINNER_PRESSED_BUTTON_BORDER_COLOR])); - DrawRectangle(leftButtonBound.x + 2, leftButtonBound.y + 2, leftButtonBound.width - 4, leftButtonBound.height - 4, GetColor(style[SPINNER_PRESSED_BUTTON_INSIDE_COLOR])); - - DrawRectangleRec(rightButtonBound, GetColor(style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR])); - DrawRectangle(rightButtonBound.x + 2, rightButtonBound.y + 2, rightButtonBound.width - 4, rightButtonBound.height - 4, GetColor(style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR])); - - DrawText(FormatText("-"), leftButtonBound.x + (leftButtonBound.width/2 - (MeasureText(FormatText("+"), style[GLOBAL_TEXT_FONTSIZE]))/2), leftButtonBound.y + (leftButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_PRESSED_SYMBOL_COLOR])); - DrawText(FormatText("+"), rightButtonBound.x + (rightButtonBound.width/2 - (MeasureText(FormatText("-"), style[GLOBAL_TEXT_FONTSIZE]))/2), rightButtonBound.y + (rightButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_SYMBOL_COLOR])); - } - else if (buttonSide == 2) - { - DrawRectangleRec(leftButtonBound, GetColor(style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR])); - DrawRectangle(leftButtonBound.x + 2, leftButtonBound.y + 2, leftButtonBound.width - 4, leftButtonBound.height - 4, GetColor(style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR])); - - DrawRectangleRec(rightButtonBound, GetColor(style[SPINNER_PRESSED_BUTTON_BORDER_COLOR])); - DrawRectangle(rightButtonBound.x + 2, rightButtonBound.y + 2, rightButtonBound.width - 4, rightButtonBound.height - 4, GetColor(style[SPINNER_PRESSED_BUTTON_INSIDE_COLOR])); - - DrawText(FormatText("-"), leftButtonBound.x + (leftButtonBound.width/2 - (MeasureText(FormatText("+"), style[GLOBAL_TEXT_FONTSIZE]))/2), leftButtonBound.y + (leftButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_DEFAULT_SYMBOL_COLOR])); - DrawText(FormatText("+"), rightButtonBound.x + (rightButtonBound.width/2 - (MeasureText(FormatText("-"), style[GLOBAL_TEXT_FONTSIZE]))/2), rightButtonBound.y + (rightButtonBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_PRESSED_SYMBOL_COLOR])); - } - - DrawRectangleRec(labelBoxBound, GetColor(style[SPINNER_LABEL_BORDER_COLOR])); - DrawRectangle(labelBoxBound.x + 1, labelBoxBound.y + 1, labelBoxBound.width - 2, labelBoxBound.height - 2, GetColor(style[SPINNER_LABEL_INSIDE_COLOR])); - - DrawText(FormatText("%i", value), labelBoxBound.x + (labelBoxBound.width/2 - textWidth/2), labelBoxBound.y + (labelBoxBound.height/2 - (style[GLOBAL_TEXT_FONTSIZE]/2)), style[GLOBAL_TEXT_FONTSIZE], GetColor(style[SPINNER_PRESSED_TEXT_COLOR])); - } break; - default: break; - } - - return value; -} - -// Text Box element, returns input text -// NOTE: Requires static variables: framesCounter - ERROR! -RAYGUIDEF char *GuiTextBox(Rectangle bounds, char *text) -{ - #define MAX_CHARS_LENGTH 20 - #define KEY_BACKSPACE_TEXT 259 // GLFW BACKSPACE: 3 + 256 - - int initPos = bounds.x + 4; - int letter = -1; - static int framesCounter = 0; - Vector2 mousePoint = GetMousePosition(); - - // Update control - //-------------------------------------------------------------------- - framesCounter++; - - letter = GetKeyPressed(); - - if (CheckCollisionPointRec(mousePoint, bounds)) - { - if (letter != -1) - { - if (letter == KEY_BACKSPACE_TEXT) - { - for (int i = 0; i < MAX_CHARS_LENGTH; i++) - { - if ((text[i] == '\0') && (i > 0)) - { - text[i - 1] = '\0'; - break; - } - } - - text[MAX_CHARS_LENGTH - 1] = '\0'; - } - else - { - if ((letter >= 32) && (letter < 127)) - { - for (int i = 0; i < MAX_CHARS_LENGTH; i++) - { - if (text[i] == '\0') - { - text[i] = (char)letter; - break; - } - } - } - } - } - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - if (CheckCollisionPointRec(mousePoint, bounds)) DrawRectangleRec(bounds, GetColor(style[TOGGLE_ACTIVE_BORDER_COLOR])); - else DrawRectangleRec(bounds, GetColor(style[TEXTBOX_BORDER_COLOR])); - - DrawRectangle(bounds.x + style[TEXTBOX_BORDER_WIDTH], bounds.y + style[TEXTBOX_BORDER_WIDTH], bounds.width - (style[TEXTBOX_BORDER_WIDTH] * 2), bounds.height - (style[TEXTBOX_BORDER_WIDTH] * 2), GetColor(style[TEXTBOX_INSIDE_COLOR])); - - for (int i = 0; i < MAX_CHARS_LENGTH; i++) - { - if (text[i] == '\0') break; - - DrawText(FormatText("%c", text[i]), initPos, bounds.y + style[TEXTBOX_TEXT_FONTSIZE], style[TEXTBOX_TEXT_FONTSIZE], GetColor(style[TEXTBOX_TEXT_COLOR])); - - initPos += (MeasureText(FormatText("%c", text[i]), style[GLOBAL_TEXT_FONTSIZE]) + 2); - //initPos += ((GetDefaultFont().charRecs[(int)text[i] - 32].width + 2)); - } - - if ((framesCounter/20)%2 && CheckCollisionPointRec(mousePoint, bounds)) DrawRectangle(initPos + 2, bounds.y + 5, 1, 20, GetColor(style[TEXTBOX_LINE_COLOR])); - //-------------------------------------------------------------------- - - return text; -} - -// Save current GUI style into a text file -RAYGUIDEF void SaveGuiStyle(const char *fileName) -{ - FILE *styleFile = fopen(fileName, "wt"); - - for (int i = 0; i < NUM_PROPERTIES; i++) fprintf(styleFile, "%-40s0x%x\n", guiPropertyName[i], GetStyleProperty(i)); - - fclose(styleFile); -} - -// Load GUI style from a text file -RAYGUIDEF void LoadGuiStyle(const char *fileName) -{ - #define MAX_STYLE_PROPERTIES 128 - - typedef struct { - char id[64]; - int value; - } StyleProperty; - - StyleProperty *styleProp = (StyleProperty *)RAYGUI_MALLOC(MAX_STYLE_PROPERTIES*sizeof(StyleProperty));; - int counter = 0; - - FILE *styleFile = fopen(fileName, "rt"); - - while (!feof(styleFile)) - { - fscanf(styleFile, "%s %i\n", styleProp[counter].id, &styleProp[counter].value); - counter++; - } - - fclose(styleFile); - - for (int i = 0; i < counter; i++) - { - for (int j = 0; j < NUM_PROPERTIES; j++) - { - if (strcmp(styleProp[i].id, guiPropertyName[j]) == 0) - { - // Assign correct property to style - style[j] = styleProp[i].value; - } - } - } - - RAYGUI_FREE(styleProp); -} - -// Set one style property value -RAYGUIDEF void SetStyleProperty(int guiProperty, int value) -{ - #define NUM_COLOR_SAMPLES 10 - - if (guiProperty == GLOBAL_BASE_COLOR) - { - Color baseColor = GetColor(value); - Color fadeColor[NUM_COLOR_SAMPLES]; - - for (int i = 0; i < NUM_COLOR_SAMPLES; i++) fadeColor[i] = ColorMultiply(baseColor, 1.0f - (float)i/(NUM_COLOR_SAMPLES - 1)); - - style[GLOBAL_BASE_COLOR] = value; - style[BACKGROUND_COLOR] = GetHexValue(fadeColor[3]); - style[BUTTON_DEFAULT_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[BUTTON_HOVER_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[BUTTON_PRESSED_INSIDE_COLOR] = GetHexValue(fadeColor[5]); - style[TOGGLE_DEFAULT_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[TOGGLE_HOVER_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[TOGGLE_PRESSED_INSIDE_COLOR] = GetHexValue(fadeColor[5]); - style[TOGGLE_ACTIVE_INSIDE_COLOR] = GetHexValue(fadeColor[8]); - style[SLIDER_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[SLIDER_DEFAULT_COLOR] = GetHexValue(fadeColor[6]); - style[SLIDER_HOVER_COLOR] = GetHexValue(fadeColor[7]); - style[SLIDER_ACTIVE_COLOR] = GetHexValue(fadeColor[9]); - style[SLIDERBAR_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[SLIDERBAR_DEFAULT_COLOR] = GetHexValue(fadeColor[6]); - style[SLIDERBAR_HOVER_COLOR] = GetHexValue(fadeColor[7]); - style[SLIDERBAR_ACTIVE_COLOR] = GetHexValue(fadeColor[9]); - style[SLIDERBAR_ZERO_LINE_COLOR] = GetHexValue(fadeColor[8]); - style[PROGRESSBAR_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[PROGRESSBAR_PROGRESS_COLOR] = GetHexValue(fadeColor[6]); - style[SPINNER_LABEL_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[SPINNER_DEFAULT_BUTTON_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[SPINNER_HOVER_BUTTON_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[SPINNER_PRESSED_BUTTON_INSIDE_COLOR] = GetHexValue(fadeColor[5]); - style[COMBOBOX_DEFAULT_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[COMBOBOX_HOVER_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[COMBOBOX_PRESSED_INSIDE_COLOR] = GetHexValue(fadeColor[8]); - style[COMBOBOX_PRESSED_LIST_INSIDE_COLOR] = GetHexValue(fadeColor[8]); - style[CHECKBOX_DEFAULT_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - style[CHECKBOX_CLICK_INSIDE_COLOR] = GetHexValue(fadeColor[6]); - style[CHECKBOX_STATUS_ACTIVE_COLOR] = GetHexValue(fadeColor[8]); - style[TEXTBOX_INSIDE_COLOR] = GetHexValue(fadeColor[4]); - } - else if (guiProperty == GLOBAL_BORDER_COLOR) - { - Color baseColor = GetColor(value); - Color fadeColor[NUM_COLOR_SAMPLES]; - - for (int i = 0; i < NUM_COLOR_SAMPLES; i++) fadeColor[i] = ColorMultiply(baseColor, 1.0f - (float)i/(NUM_COLOR_SAMPLES - 1)); - - style[GLOBAL_BORDER_COLOR] = value; - style[BUTTON_DEFAULT_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[BUTTON_HOVER_BORDER_COLOR] = GetHexValue(fadeColor[8]); - style[BUTTON_PRESSED_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[TOGGLE_DEFAULT_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[TOGGLE_HOVER_BORDER_COLOR] = GetHexValue(fadeColor[8]); - style[TOGGLE_PRESSED_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[TOGGLE_ACTIVE_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[SLIDER_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[SLIDERBAR_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[PROGRESSBAR_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[SPINNER_LABEL_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[SPINNER_DEFAULT_BUTTON_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[SPINNER_HOVER_BUTTON_BORDER_COLOR] = GetHexValue(fadeColor[8]); - style[SPINNER_PRESSED_BUTTON_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[COMBOBOX_DEFAULT_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[COMBOBOX_HOVER_BORDER_COLOR] = GetHexValue(fadeColor[8]); - style[COMBOBOX_PRESSED_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[COMBOBOX_PRESSED_LIST_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[CHECKBOX_DEFAULT_BORDER_COLOR] = GetHexValue(fadeColor[7]); - style[CHECKBOX_HOVER_BORDER_COLOR] = GetHexValue(fadeColor[8]); - style[CHECKBOX_CLICK_BORDER_COLOR] = GetHexValue(fadeColor[9]); - style[TEXTBOX_BORDER_COLOR] = GetHexValue(fadeColor[7]); - } - else if (guiProperty == GLOBAL_TEXT_COLOR) - { - Color baseColor = GetColor(value); - Color fadeColor[NUM_COLOR_SAMPLES]; - - for (int i = 0; i < NUM_COLOR_SAMPLES; i++) fadeColor[i] = ColorMultiply(baseColor, 1.0f - (float)i/(NUM_COLOR_SAMPLES - 1)); - - style[GLOBAL_TEXT_COLOR] = value; - style[LABEL_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[BUTTON_DEFAULT_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[BUTTON_HOVER_TEXT_COLOR] = GetHexValue(fadeColor[8]); - style[BUTTON_PRESSED_TEXT_COLOR] = GetHexValue(fadeColor[5]); - style[TOGGLE_DEFAULT_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[TOGGLE_HOVER_TEXT_COLOR] = GetHexValue(fadeColor[8]); - style[TOGGLE_PRESSED_TEXT_COLOR] = GetHexValue(fadeColor[5]); - style[TOGGLE_ACTIVE_TEXT_COLOR] = GetHexValue(fadeColor[5]); - style[SPINNER_DEFAULT_SYMBOL_COLOR] = GetHexValue(fadeColor[9]); - style[SPINNER_DEFAULT_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[SPINNER_HOVER_SYMBOL_COLOR] = GetHexValue(fadeColor[8]); - style[SPINNER_HOVER_TEXT_COLOR] = GetHexValue(fadeColor[8]); - style[SPINNER_PRESSED_SYMBOL_COLOR] = GetHexValue(fadeColor[5]); - style[SPINNER_PRESSED_TEXT_COLOR] = GetHexValue(fadeColor[5]); - style[COMBOBOX_DEFAULT_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[COMBOBOX_DEFAULT_LIST_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[COMBOBOX_HOVER_TEXT_COLOR] = GetHexValue(fadeColor[8]); - style[COMBOBOX_HOVER_LIST_TEXT_COLOR] = GetHexValue(fadeColor[8]); - style[COMBOBOX_PRESSED_TEXT_COLOR] = GetHexValue(fadeColor[4]); - style[COMBOBOX_PRESSED_LIST_TEXT_COLOR] = GetHexValue(fadeColor[4]); - style[TEXTBOX_TEXT_COLOR] = GetHexValue(fadeColor[9]); - style[TEXTBOX_LINE_COLOR] = GetHexValue(fadeColor[6]); - } - else style[guiProperty] = value; - -} - -// Get one style property value -RAYGUIDEF int GetStyleProperty(int guiProperty) { return style[guiProperty]; } - -//---------------------------------------------------------------------------------- -// Module specific Functions Definition -//---------------------------------------------------------------------------------- - -static Color ColorMultiply(Color baseColor, float value) -{ - Color multColor = baseColor; - - if (value > 1.0f) value = 1.0f; - else if (value < 0.0f) value = 0.0f; - - multColor.r += (255 - multColor.r)*value; - multColor.g += (255 - multColor.g)*value; - multColor.b += (255 - multColor.b)*value; - - return multColor; -} - -#if defined (RAYGUI_STANDALONE) -// Returns a Color struct from hexadecimal value -static Color GetColor(int hexValue) -{ - Color color; - - color.r = (unsigned char)(hexValue >> 24) & 0xFF; - color.g = (unsigned char)(hexValue >> 16) & 0xFF; - color.b = (unsigned char)(hexValue >> 8) & 0xFF; - color.a = (unsigned char)hexValue & 0xFF; - - return color; -} - -// Returns hexadecimal value for a Color -static int GetHexValue(Color color) -{ - return (((int)color.r << 24) | ((int)color.g << 16) | ((int)color.b << 8) | (int)color.a); -} - -// Check if point is inside rectangle -static bool CheckCollisionPointRec(Vector2 point, Rectangle rec) -{ - bool collision = false; - - if ((point.x >= rec.x) && (point.x <= (rec.x + rec.width)) && (point.y >= rec.y) && (point.y <= (rec.y + rec.height))) collision = true; - - return collision; -} - -// Formatting of text with variables to 'embed' -static const char *FormatText(const char *text, ...) -{ - #define MAX_FORMATTEXT_LENGTH 64 - - static char buffer[MAX_FORMATTEXT_LENGTH]; - - va_list args; - va_start(args, text); - vsprintf(buffer, text, args); - va_end(args); - - return buffer; -} -#endif - -#endif // RAYGUI_IMPLEMENTATION - From 0c58c1198f51c8c8799490bbb6f1b224a43278b2 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 8 Sep 2016 01:03:05 +0200 Subject: [PATCH 070/102] Working on new audio functions... --- src/audio.c | 32 ++++++++++++++++++++++++++------ src/raylib.h | 2 +- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/audio.c b/src/audio.c index 11d0d6b9b..7ef5afe1f 100644 --- a/src/audio.c +++ b/src/audio.c @@ -218,11 +218,15 @@ Wave LoadWave(const char *fileName) } // Load wave data from float array data (32bit) -Wave LoadWaveEx(float *data, int sampleRate, int sampleSize, int channels) +Wave LoadWaveEx(float *data, int sampleCount, int sampleRate, int sampleSize, int channels) { Wave wave; wave.data = data; + wave.sampleCount = sampleCount; + wave.sampleRate = sampleRate; + wave.sampleSize = sampleSize; + wave.channels = channels; WaveFormat(&wave, sampleRate, sampleSize, channels); @@ -579,15 +583,15 @@ Wave WaveCopy(Wave wave) { Wave newWave; - if (wave.sampleSize == 8) newWave.data = (unsigned char *)malloc(wave.sampleCount*sizeof(unsigned char)); - else if (wave.sampleSize == 16) newWave.data = (short *)malloc(wave.sampleCount*sizeof(short)); - else if (wave.sampleSize == 32) newWave.data = (float *)malloc(wave.sampleCount*sizeof(float)); + if (wave.sampleSize == 8) newWave.data = (unsigned char *)malloc(wave.sampleCount*wave.channels*sizeof(unsigned char)); + else if (wave.sampleSize == 16) newWave.data = (short *)malloc(wave.sampleCount*wave.channels*sizeof(short)); + else if (wave.sampleSize == 32) newWave.data = (float *)malloc(wave.sampleCount*wave.channels*sizeof(float)); else TraceLog(WARNING, "Wave sample size not supported for copy"); if (newWave.data != NULL) { // NOTE: Size must be provided in bytes - memcpy(newWave.data, wave.data, wave.sampleCount); + memcpy(newWave.data, wave.data, wave.sampleCount*wave.channels*wave.sampleSize/8); newWave.sampleCount = wave.sampleCount; newWave.sampleRate = wave.sampleRate; @@ -602,7 +606,23 @@ Wave WaveCopy(Wave wave) // NOTE: Security check in case of out-of-range void WaveCrop(Wave *wave, int initSample, int finalSample) { - // TODO: Crop wave to a samples range + if ((initSample >= 0) && (finalSample > 0) && (finalSample < wave->sampleCount)) + { + // TODO: Review cropping (it could be simplified...) + + float *samples = GetWaveData(*wave); + float *cropSamples = (float *)malloc((finalSample - initSample)*sizeof(float)); + + for (int i = initSample; i < finalSample; i++) cropSamples[i] = samples[i]; + + free(wave->data); + wave->data = cropSamples; + int sampleSize = wave->sampleSize; + wave->sampleSize = 32; + + WaveFormat(wave, wave->sampleRate, sampleSize, wave->channels); + } + else TraceLog(WARNING, "Wave crop range out of bounds"); } // Get samples data from wave as a floats array diff --git a/src/raylib.h b/src/raylib.h index ae3de0387..3c8150316 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -910,7 +910,7 @@ RLAPI void CloseAudioDevice(void); // Close t RLAPI bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully RLAPI Wave LoadWave(const char *fileName); // Load wave data from file into RAM -RLAPI Wave LoadWaveEx(float *data, int sampleRate, int sampleSize, int channels); // Load wave data from float array data (32bit) +RLAPI Wave LoadWaveEx(float *data, int sampleCount, int sampleRate, int sampleSize, int channels); // Load wave data from float array data (32bit) RLAPI Sound LoadSound(const char *fileName); // Load sound to memory RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data RLAPI Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) From 94142ecce53d2eae42fa60bc609c2d8f6248160e Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 9 Sep 2016 01:34:30 +0200 Subject: [PATCH 071/102] Some more work on audio... --- src/audio.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/audio.c b/src/audio.c index 7ef5afe1f..fa18f7c86 100644 --- a/src/audio.c +++ b/src/audio.c @@ -535,6 +535,7 @@ void SetSoundPitch(Sound sound, float pitch) } // Convert wave data to desired format +// TODO: Consider channels (mono - stereo) void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) { if (wave->sampleSize != sampleSize) @@ -542,8 +543,12 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) float *samples = GetWaveData(*wave); //Color *pixels = GetImageData(*image); free(wave->data); + + wave->sampleSize = sampleSize; - //image->format = newFormat; + //sample *= 4.0f; // Arbitrary gain to get reasonable output volume... + //if (sample > 1.0f) sample = 1.0f; + //if (sample < -1.0f) sample = -1.0f; if (sampleSize == 8) { @@ -551,7 +556,7 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) for (int i = 0; i < wave->sampleCount; i++) { - ((unsigned char *)wave->data)[i] = (unsigned char)((float)samples[i]); // TODO: review conversion + ((unsigned char *)wave->data)[i] = (unsigned char)((float)samples[i]*127 + 128); } } else if (sampleSize == 16) @@ -560,7 +565,7 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) for (int i = 0; i < wave->sampleCount; i++) { - ((short *)wave->data)[i] = (short)((float)samples[i]); // TODO: review conversion + ((short *)wave->data)[i] = (short)((float)samples[i]*32000); // SHRT_MAX = 32767 } } else if (sampleSize == 32) @@ -569,13 +574,17 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) for (int i = 0; i < wave->sampleCount; i++) { - ((float *)wave->data)[i] = (float)samples[i]; // TODO: review conversion + ((float *)wave->data)[i] = (float)samples[i]; } } else TraceLog(WARNING, "Wave formatting: Sample size not supported"); } - // TODO: Consider channels (mono vs stereo) + // NOTE: Only supported 1 or 2 channels (mono or stereo) + if ((channels > 0) && (channels < 3) && (wave->channels != channels)) + { + // TODO: Add/remove channels interlaced data if required... + } } // Copy a wave to a new wave @@ -626,15 +635,16 @@ void WaveCrop(Wave *wave, int initSample, int finalSample) } // Get samples data from wave as a floats array +// NOTE: Returned sample values are normalized to range [-1..1] float *GetWaveData(Wave wave) { float *samples = (float *)malloc(wave.sampleCount*sizeof(float)); for (int i = 0; i < wave.sampleCount; i++) { - if (wave.sampleSize == 8) samples[i] = (float)((unsigned char *)wave.data)[i]; // TODO: review conversion - else if (wave.sampleSize == 16) samples[i] = (float)((short *)wave.data)[i]; // TODO: review conversion - else if (wave.sampleSize == 32) samples[i] = ((float *)wave.data)[i]; // TODO: review conversion + if (wave.sampleSize == 8) samples[i] = (float)(((unsigned char *)wave.data)[i] - 127)/256.0f; + else if (wave.sampleSize == 16) samples[i] = (float)((short *)wave.data)[i]/32767.0f; + else if (wave.sampleSize == 32) samples[i] = ((float *)wave.data)[i]; } return samples; From 173f1993132485ab8fe16b170ad7bf7e32f47ac7 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 12 Sep 2016 19:25:58 +0200 Subject: [PATCH 072/102] Corrected text drawing within an image --- src/textures.c | 89 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 58 insertions(+), 31 deletions(-) diff --git a/src/textures.c b/src/textures.c index 5186c0ba4..152933712 100644 --- a/src/textures.c +++ b/src/textures.c @@ -999,8 +999,11 @@ void ImageResizeNN(Image *image,int newWidth,int newHeight) } // Draw an image (source) within an image (destination) +// TODO: Feel this function could be simplified... void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec) { + bool cropRequired = false; + // Security checks to avoid size and rectangle issues (out of bounds) // Check that srcRec is inside src image if (srcRec.x < 0) srcRec.x = 0; @@ -1016,47 +1019,69 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec) { srcRec.height = src.height - srcRec.y; TraceLog(WARNING, "Source rectangle height out of bounds, rescaled height: %i", srcRec.height); + cropRequired = true; } - - // Check that dstRec is inside dst image - if (dstRec.x < 0) dstRec.x = 0; - if (dstRec.y < 0) dstRec.y = 0; - - if ((dstRec.x + dstRec.width) > dst->width) - { - dstRec.width = dst->width - dstRec.x; - TraceLog(WARNING, "Destination rectangle width out of bounds, rescaled width: %i", dstRec.width); - } - - if ((dstRec.y + dstRec.height) > dst->height) - { - dstRec.height = dst->height - dstRec.y; - TraceLog(WARNING, "Destination rectangle height out of bounds, rescaled height: %i", dstRec.height); - } - - // Get dstination image data as Color pixels array to work with it - Color *dstPixels = GetImageData(*dst); - + Image srcCopy = ImageCopy(src); // Make a copy of source image to work with it ImageCrop(&srcCopy, srcRec); // Crop source image to desired source rectangle - + + // Check that dstRec is inside dst image + // TODO: Allow negative position within destination with cropping + if (dstRec.x < 0) dstRec.x = 0; + if (dstRec.y < 0) dstRec.y = 0; + // Scale source image in case destination rec size is different than source rec size if ((dstRec.width != srcRec.width) || (dstRec.height != srcRec.height)) { ImageResize(&srcCopy, dstRec.width, dstRec.height); } - // Get source image data as Color array + if ((dstRec.x + dstRec.width) > dst->width) + { + dstRec.width = dst->width - dstRec.x; + TraceLog(WARNING, "Destination rectangle width out of bounds, rescaled width: %i", dstRec.width); + cropRequired = true; + } + + if ((dstRec.y + dstRec.height) > dst->height) + { + dstRec.height = dst->height - dstRec.y; + TraceLog(WARNING, "Destination rectangle height out of bounds, rescaled height: %i", dstRec.height); + cropRequired = true; + } + + if (cropRequired) + { + // Crop destination rectangle if out of bounds + Rectangle crop = { 0, 0, dstRec.width, dstRec.height }; + ImageCrop(&srcCopy, crop); + } + + // Get image data as Color pixels array to work with it + Color *dstPixels = GetImageData(*dst); Color *srcPixels = GetImageData(srcCopy); - UnloadImage(srcCopy); + UnloadImage(srcCopy); // Source copy not required any more... + + Color srcCol, dstCol; // Blit pixels, copy source image into destination + // TODO: Probably out-of-bounds blitting could be considering here instead of so much cropping... for (int j = dstRec.y; j < (dstRec.y + dstRec.height); j++) { for (int i = dstRec.x; i < (dstRec.x + dstRec.width); i++) { - dstPixels[j*dst->width + i] = srcPixels[(j - dstRec.y)*dstRec.width + (i - dstRec.x)]; + // Alpha blending implementation + dstCol = dstPixels[j*dst->width + i]; + srcCol = srcPixels[(j - dstRec.y)*dstRec.width + (i - dstRec.x)]; + + dstCol.r = ((srcCol.a*(srcCol.r - dstCol.r)) >> 8) + dstCol.r; + dstCol.g = ((srcCol.a*(srcCol.g - dstCol.g)) >> 8) + dstCol.g; + dstCol.b = ((srcCol.a*(srcCol.b - dstCol.b)) >> 8) + dstCol.b; + + dstPixels[j*dst->width + i] = dstCol; + + // TODO: Support other blending options } } @@ -1074,7 +1099,7 @@ Image ImageText(const char *text, int fontSize, Color color) { int defaultFontSize = 10; // Default Font chars height in pixel if (fontSize < defaultFontSize) fontSize = defaultFontSize; - int spacing = fontSize / defaultFontSize; + int spacing = fontSize/defaultFontSize; Image imText = ImageTextEx(GetDefaultFont(), text, fontSize, spacing, color); @@ -1098,7 +1123,8 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing Color *fontPixels = GetImageData(imFont); // Create image to store text - Color *pixels = (Color *)malloc(sizeof(Color)*(int)imSize.x*(int)imSize.y); + // NOTE: Pixels are initialized to BLANK color (0, 0, 0, 0) + Color *pixels = (Color *)calloc((int)imSize.x*(int)imSize.y, sizeof(Color)); for (int i = 0; i < length; i++) { @@ -1139,7 +1165,8 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing // Draw text (default font) within an image (destination) void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color) { - ImageDrawTextEx(dst, position, GetDefaultFont(), text, fontSize, 0, color); + // NOTE: For default font, sapcing is set to desired font size / default font size (10) + ImageDrawTextEx(dst, position, GetDefaultFont(), text, fontSize, fontSize/10, color); } // Draw text (custom sprite font) within an image (destination) @@ -1438,19 +1465,19 @@ void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, V rlNormal3f(0.0f, 0.0f, 1.0f); // Normal vector pointing towards viewer // Bottom-left corner for texture and quad - rlTexCoord2f((float)sourceRec.x / texture.width, (float)sourceRec.y / texture.height); + rlTexCoord2f((float)sourceRec.x/texture.width, (float)sourceRec.y/texture.height); rlVertex2f(0.0f, 0.0f); // Bottom-right corner for texture and quad - rlTexCoord2f((float)sourceRec.x / texture.width, (float)(sourceRec.y + sourceRec.height) / texture.height); + rlTexCoord2f((float)sourceRec.x/texture.width, (float)(sourceRec.y + sourceRec.height)/texture.height); rlVertex2f(0.0f, destRec.height); // Top-right corner for texture and quad - rlTexCoord2f((float)(sourceRec.x + sourceRec.width) / texture.width, (float)(sourceRec.y + sourceRec.height) / texture.height); + rlTexCoord2f((float)(sourceRec.x + sourceRec.width)/texture.width, (float)(sourceRec.y + sourceRec.height)/texture.height); rlVertex2f(destRec.width, destRec.height); // Top-left corner for texture and quad - rlTexCoord2f((float)(sourceRec.x + sourceRec.width) / texture.width, (float)sourceRec.y / texture.height); + rlTexCoord2f((float)(sourceRec.x + sourceRec.width)/texture.width, (float)sourceRec.y/texture.height); rlVertex2f(destRec.width, 0.0f); rlEnd(); rlPopMatrix(); From 7f0880a73580c14312e18966d8aae568b7a3f7cb Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 12 Sep 2016 19:36:41 +0200 Subject: [PATCH 073/102] Review spacing formatting raylib uses spaces between '+' and '-' signs but not between '*' and '/' signs, it's a chosen convention --- src/audio.c | 2 +- src/core.c | 2 +- src/models.c | 144 ++++++++++++++++++++++++++----------------------- src/rlgl.c | 8 +-- src/shapes.c | 10 ++-- src/text.c | 20 +++---- src/textures.c | 4 +- 7 files changed, 99 insertions(+), 91 deletions(-) diff --git a/src/audio.c b/src/audio.c index fa18f7c86..06bf55d49 100644 --- a/src/audio.c +++ b/src/audio.c @@ -482,7 +482,7 @@ void PlaySound(Sound sound) //int sampleRate; //alGetBufferi(sound.buffer, AL_FREQUENCY, &sampleRate); // AL_CHANNELS, AL_BITS (bps) - //float seconds = (float)byteOffset / sampleRate; // Number of seconds since the beginning of the sound + //float seconds = (float)byteOffset/sampleRate; // Number of seconds since the beginning of the sound //or //float result; //alGetSourcef(sound.source, AL_SEC_OFFSET, &result); // AL_SAMPLE_OFFSET diff --git a/src/core.c b/src/core.c index b9ffe87b8..d5b07e7ab 100644 --- a/src/core.c +++ b/src/core.c @@ -1016,7 +1016,7 @@ Vector2 GetWorldToScreen(Vector3 position, Camera camera) QuaternionTransform(&worldPos, matProj); // Calculate normalized device coordinates (inverted y) - Vector3 ndcPos = { worldPos.x / worldPos.w, -worldPos.y / worldPos.w, worldPos.z / worldPos.z }; + Vector3 ndcPos = { worldPos.x/worldPos.w, -worldPos.y/worldPos.w, worldPos.z/worldPos.z }; // Calculate 2d screen position vector Vector2 screenPosition = { (ndcPos.x + 1.0f)/2.0f*(float)GetScreenWidth(), (ndcPos.y + 1.0f)/2.0f*(float)GetScreenHeight() }; diff --git a/src/models.c b/src/models.c index 25eb1fe07..8195c5f61 100644 --- a/src/models.c +++ b/src/models.c @@ -88,7 +88,7 @@ void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rot rlColor4ub(color.r, color.g, color.b, color.a); rlVertex3f(sin(DEG2RAD*i)*radius, cos(DEG2RAD*i)*radius, 0.0f); - rlVertex3f(sin(DEG2RAD*(i + 10)) * radius, cos(DEG2RAD*(i + 10)) * radius, 0.0f); + rlVertex3f(sin(DEG2RAD*(i + 10))*radius, cos(DEG2RAD*(i + 10))*radius, 0.0f); } rlEnd(); rlPopMatrix(); @@ -325,25 +325,25 @@ void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color { for (int j = 0; j < slices; j++) { - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)), + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*i)), - cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*i))*cos(DEG2RAD*(j*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*((j+1)*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*(j*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*((j+1)*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*(j*360/slices))); + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*(j*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)), + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*i)), - cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i))) * sin(DEG2RAD*((j+1)*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*i))*cos(DEG2RAD*(j*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i)))*sin(DEG2RAD*((j+1)*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i))) * cos(DEG2RAD*((j+1)*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*(i)))*cos(DEG2RAD*((j+1)*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*((j+1)*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices))); + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*((j+1)*360/slices))); } } rlEnd(); @@ -364,26 +364,26 @@ void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Col { for (int j = 0; j < slices; j++) { - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)), + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*i)), - cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*i))*cos(DEG2RAD*(j*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*((j+1)*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices))); + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*((j+1)*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)), + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*((j+1)*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*(j*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*((j+1)*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*(j*360/slices))); + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*(j*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*(j*360/slices)), + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))), - cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*(j*360/slices))); - rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)), + cos(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cos(DEG2RAD*(j*360/slices))); + rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i))*sin(DEG2RAD*(j*360/slices)), sin(DEG2RAD*(270+(180/(rings + 1))*i)), - cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices))); + cos(DEG2RAD*(270+(180/(rings + 1))*i))*cos(DEG2RAD*(j*360/slices))); } } rlEnd(); @@ -407,21 +407,21 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h // Draw Body ------------------------------------------------------------------------------------- for (int i = 0; i < 360; i += 360/sides) { - rlVertex3f(sin(DEG2RAD*i) * radiusBottom, 0, cos(DEG2RAD*i) * radiusBottom); //Bottom Left - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusBottom, 0, cos(DEG2RAD*(i+360/sides)) * radiusBottom); //Bottom Right - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusTop, height, cos(DEG2RAD*(i+360/sides)) * radiusTop); //Top Right + rlVertex3f(sin(DEG2RAD*i)*radiusBottom, 0, cos(DEG2RAD*i)*radiusBottom); //Bottom Left + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusBottom, 0, cos(DEG2RAD*(i+360/sides))*radiusBottom); //Bottom Right + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusTop, height, cos(DEG2RAD*(i+360/sides))*radiusTop); //Top Right - rlVertex3f(sin(DEG2RAD*i) * radiusTop, height, cos(DEG2RAD*i) * radiusTop); //Top Left - rlVertex3f(sin(DEG2RAD*i) * radiusBottom, 0, cos(DEG2RAD*i) * radiusBottom); //Bottom Left - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusTop, height, cos(DEG2RAD*(i+360/sides)) * radiusTop); //Top Right + rlVertex3f(sin(DEG2RAD*i)*radiusTop, height, cos(DEG2RAD*i)*radiusTop); //Top Left + rlVertex3f(sin(DEG2RAD*i)*radiusBottom, 0, cos(DEG2RAD*i)*radiusBottom); //Bottom Left + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusTop, height, cos(DEG2RAD*(i+360/sides))*radiusTop); //Top Right } // Draw Cap -------------------------------------------------------------------------------------- for (int i = 0; i < 360; i += 360/sides) { rlVertex3f(0, height, 0); - rlVertex3f(sin(DEG2RAD*i) * radiusTop, height, cos(DEG2RAD*i) * radiusTop); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusTop, height, cos(DEG2RAD*(i+360/sides)) * radiusTop); + rlVertex3f(sin(DEG2RAD*i)*radiusTop, height, cos(DEG2RAD*i)*radiusTop); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusTop, height, cos(DEG2RAD*(i+360/sides))*radiusTop); } } else @@ -430,8 +430,8 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h for (int i = 0; i < 360; i += 360/sides) { rlVertex3f(0, height, 0); - rlVertex3f(sin(DEG2RAD*i) * radiusBottom, 0, cos(DEG2RAD*i) * radiusBottom); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusBottom, 0, cos(DEG2RAD*(i+360/sides)) * radiusBottom); + rlVertex3f(sin(DEG2RAD*i)*radiusBottom, 0, cos(DEG2RAD*i)*radiusBottom); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusBottom, 0, cos(DEG2RAD*(i+360/sides))*radiusBottom); } } @@ -439,8 +439,8 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h for (int i = 0; i < 360; i += 360/sides) { rlVertex3f(0, 0, 0); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusBottom, 0, cos(DEG2RAD*(i+360/sides)) * radiusBottom); - rlVertex3f(sin(DEG2RAD*i) * radiusBottom, 0, cos(DEG2RAD*i) * radiusBottom); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusBottom, 0, cos(DEG2RAD*(i+360/sides))*radiusBottom); + rlVertex3f(sin(DEG2RAD*i)*radiusBottom, 0, cos(DEG2RAD*i)*radiusBottom); } rlEnd(); rlPopMatrix(); @@ -460,17 +460,17 @@ void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, fl for (int i = 0; i < 360; i += 360/sides) { - rlVertex3f(sin(DEG2RAD*i) * radiusBottom, 0, cos(DEG2RAD*i) * radiusBottom); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusBottom, 0, cos(DEG2RAD*(i+360/sides)) * radiusBottom); + rlVertex3f(sin(DEG2RAD*i)*radiusBottom, 0, cos(DEG2RAD*i)*radiusBottom); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusBottom, 0, cos(DEG2RAD*(i+360/sides))*radiusBottom); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusBottom, 0, cos(DEG2RAD*(i+360/sides)) * radiusBottom); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusTop, height, cos(DEG2RAD*(i+360/sides)) * radiusTop); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusBottom, 0, cos(DEG2RAD*(i+360/sides))*radiusBottom); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusTop, height, cos(DEG2RAD*(i+360/sides))*radiusTop); - rlVertex3f(sin(DEG2RAD*(i+360/sides)) * radiusTop, height, cos(DEG2RAD*(i+360/sides)) * radiusTop); - rlVertex3f(sin(DEG2RAD*i) * radiusTop, height, cos(DEG2RAD*i) * radiusTop); + rlVertex3f(sin(DEG2RAD*(i+360/sides))*radiusTop, height, cos(DEG2RAD*(i+360/sides))*radiusTop); + rlVertex3f(sin(DEG2RAD*i)*radiusTop, height, cos(DEG2RAD*i)*radiusTop); - rlVertex3f(sin(DEG2RAD*i) * radiusTop, height, cos(DEG2RAD*i) * radiusTop); - rlVertex3f(sin(DEG2RAD*i) * radiusBottom, 0, cos(DEG2RAD*i) * radiusBottom); + rlVertex3f(sin(DEG2RAD*i)*radiusTop, height, cos(DEG2RAD*i)*radiusTop); + rlVertex3f(sin(DEG2RAD*i)*radiusBottom, 0, cos(DEG2RAD*i)*radiusBottom); } rlEnd(); rlPopMatrix(); @@ -516,7 +516,7 @@ void DrawRay(Ray ray, Color color) // Draw a grid centered at (0, 0, 0) void DrawGrid(int slices, float spacing) { - int halfSlices = slices / 2; + int halfSlices = slices/2; rlBegin(RL_LINES); for (int i = -halfSlices; i <= halfSlices; i++) @@ -577,22 +577,30 @@ void DrawLight(Light light) { case LIGHT_POINT: { - DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK)); - DrawCircle3D(light->position, light->radius, 0.0f, (Vector3){ 0, 0, 0 }, (light->enabled ? light->diffuse : BLACK)); - DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 1, 0, 0 }, (light->enabled ? light->diffuse : BLACK)); - DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : BLACK)); + DrawSphereWires(light->position, 0.3f*light->intensity, 8, 8, (light->enabled ? light->diffuse : GRAY)); + + DrawCircle3D(light->position, light->radius, 0.0f, (Vector3){ 0, 0, 0 }, (light->enabled ? light->diffuse : GRAY)); + DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 1, 0, 0 }, (light->enabled ? light->diffuse : GRAY)); + DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : GRAY)); } break; case LIGHT_DIRECTIONAL: { - DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); - DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK)); - DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK)); + DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : GRAY)); + + DrawSphereWires(light->position, 0.3f*light->intensity, 8, 8, (light->enabled ? light->diffuse : GRAY)); + DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : GRAY)); } break; case LIGHT_SPOT: { - DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); - DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : BLACK)); - DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK)); + DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : GRAY)); + + Vector3 dir = VectorSubtract(light->target, light->position); + VectorNormalize(&dir); + + DrawCircle3D(light->position, 0.5f, 0.0f, dir, (light->enabled ? light->diffuse : GRAY)); + + //DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : GRAY)); + DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : GRAY)); } break; default: break; } @@ -1361,19 +1369,19 @@ void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vec rlColor4ub(tint.r, tint.g, tint.b, tint.a); // Bottom-left corner for texture and quad - rlTexCoord2f((float)sourceRec.x / texture.width, (float)sourceRec.y / texture.height); + rlTexCoord2f((float)sourceRec.x/texture.width, (float)sourceRec.y/texture.height); rlVertex3f(a.x, a.y, a.z); // Top-left corner for texture and quad - rlTexCoord2f((float)sourceRec.x / texture.width, (float)(sourceRec.y + sourceRec.height) / texture.height); + rlTexCoord2f((float)sourceRec.x/texture.width, (float)(sourceRec.y + sourceRec.height)/texture.height); rlVertex3f(d.x, d.y, d.z); // Top-right corner for texture and quad - rlTexCoord2f((float)(sourceRec.x + sourceRec.width) / texture.width, (float)(sourceRec.y + sourceRec.height) / texture.height); + rlTexCoord2f((float)(sourceRec.x + sourceRec.width)/texture.width, (float)(sourceRec.y + sourceRec.height)/texture.height); rlVertex3f(c.x, c.y, c.z); // Bottom-right corner for texture and quad - rlTexCoord2f((float)(sourceRec.x + sourceRec.width) / texture.width, (float)sourceRec.y / texture.height); + rlTexCoord2f((float)(sourceRec.x + sourceRec.width)/texture.width, (float)sourceRec.y/texture.height); rlVertex3f(b.x, b.y, b.z); rlEnd(); @@ -1693,8 +1701,8 @@ Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *p else playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius / 3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius / 3)) + if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius/3) && + ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius/3)) { impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; } @@ -1716,8 +1724,8 @@ Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *p else playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius / 3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius / 3)) + if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius/3) && + ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius/3)) { impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; } @@ -1739,8 +1747,8 @@ Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *p else playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius / 3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius / 3)) + if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius/3) && + ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius/3)) { impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; } @@ -1762,8 +1770,8 @@ Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *p else playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius / 3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius / 3)) + if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius/3) && + ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius/3)) { impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; } diff --git a/src/rlgl.c b/src/rlgl.c index 518f2a668..244de52c6 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -708,7 +708,7 @@ void rlVertex3f(float x, float y, float z) case RL_LINES: { // Verify that MAX_LINES_BATCH limit not reached - if (lines.vCounter / 2 < MAX_LINES_BATCH) + if (lines.vCounter/2 < MAX_LINES_BATCH) { lines.vertices[3*lines.vCounter] = x; lines.vertices[3*lines.vCounter + 1] = y; @@ -722,7 +722,7 @@ void rlVertex3f(float x, float y, float z) case RL_TRIANGLES: { // Verify that MAX_TRIANGLES_BATCH limit not reached - if (triangles.vCounter / 3 < MAX_TRIANGLES_BATCH) + if (triangles.vCounter/3 < MAX_TRIANGLES_BATCH) { triangles.vertices[3*triangles.vCounter] = x; triangles.vertices[3*triangles.vCounter + 1] = y; @@ -736,7 +736,7 @@ void rlVertex3f(float x, float y, float z) case RL_QUADS: { // Verify that MAX_QUADS_BATCH limit not reached - if (quads.vCounter / 4 < MAX_QUADS_BATCH) + if (quads.vCounter/4 < MAX_QUADS_BATCH) { quads.vertices[3*quads.vCounter] = x; quads.vertices[3*quads.vCounter + 1] = y; @@ -3542,7 +3542,7 @@ static void DrawDefaultBuffers(int eyesCount) for (int i = 0; i < drawsCounter; i++) { quadsCount = draws[i].vertexCount/4; - numIndicesToProcess = quadsCount*6; // Get number of Quads * 6 index by Quad + numIndicesToProcess = quadsCount*6; // Get number of Quads*6 index by Quad //TraceLog(DEBUG, "Quads to render: %i - Vertex Count: %i", quadsCount, draws[i].vertexCount); diff --git a/src/shapes.c b/src/shapes.c index d9b172f13..6200a8236 100644 --- a/src/shapes.c +++ b/src/shapes.c @@ -113,7 +113,7 @@ void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Co rlColor4ub(color2.r, color2.g, color2.b, color2.a); rlVertex2f(centerX + sin(DEG2RAD*i)*radius, centerY + cos(DEG2RAD*i)*radius); rlColor4ub(color2.r, color2.g, color2.b, color2.a); - rlVertex2f(centerX + sin(DEG2RAD*(i + 10)) * radius, centerY + cos(DEG2RAD*(i + 10))*radius); + rlVertex2f(centerX + sin(DEG2RAD*(i + 10))*radius, centerY + cos(DEG2RAD*(i + 10))*radius); } rlEnd(); } @@ -131,7 +131,7 @@ void DrawCircleV(Vector2 center, float radius, Color color) rlVertex2i(center.x, center.y); rlVertex2f(center.x + sin(DEG2RAD*i)*radius, center.y + cos(DEG2RAD*i)*radius); - rlVertex2f(center.x + sin(DEG2RAD*(i + 10)) * radius, center.y + cos(DEG2RAD*(i + 10)) * radius); + rlVertex2f(center.x + sin(DEG2RAD*(i + 10))*radius, center.y + cos(DEG2RAD*(i + 10))*radius); } rlEnd(); } @@ -146,8 +146,8 @@ void DrawCircleV(Vector2 center, float radius, Color color) rlVertex2i(center.x, center.y); rlVertex2f(center.x + sin(DEG2RAD*i)*radius, center.y + cos(DEG2RAD*i)*radius); - rlVertex2f(center.x + sin(DEG2RAD*(i + 10)) * radius, center.y + cos(DEG2RAD*(i + 10)) * radius); - rlVertex2f(center.x + sin(DEG2RAD*(i + 20)) * radius, center.y + cos(DEG2RAD*(i + 20)) * radius); + rlVertex2f(center.x + sin(DEG2RAD*(i + 10))*radius, center.y + cos(DEG2RAD*(i + 10))*radius); + rlVertex2f(center.x + sin(DEG2RAD*(i + 20))*radius, center.y + cos(DEG2RAD*(i + 20))*radius); } rlEnd(); @@ -165,7 +165,7 @@ void DrawCircleLines(int centerX, int centerY, float radius, Color color) for (int i = 0; i < 360; i += 10) { rlVertex2f(centerX + sin(DEG2RAD*i)*radius, centerY + cos(DEG2RAD*i)*radius); - rlVertex2f(centerX + sin(DEG2RAD*(i + 10)) * radius, centerY + cos(DEG2RAD*(i + 10))*radius); + rlVertex2f(centerX + sin(DEG2RAD*(i + 10))*radius, centerY + cos(DEG2RAD*(i + 10))*radius); } rlEnd(); } diff --git a/src/text.c b/src/text.c index d00f01d77..c538ea56b 100644 --- a/src/text.c +++ b/src/text.c @@ -201,7 +201,7 @@ extern void LoadDefaultFont(void) defaultFont.charValues[i] = FONT_FIRST_CHAR + i; // First char is 32 defaultFont.charRecs[i].x = currentPosX; - defaultFont.charRecs[i].y = charsDivisor + currentLine * (charsHeight + charsDivisor); + defaultFont.charRecs[i].y = charsDivisor + currentLine*(charsHeight + charsDivisor); defaultFont.charRecs[i].width = charsWidth[i]; defaultFont.charRecs[i].height = charsHeight; @@ -297,7 +297,7 @@ void DrawText(const char *text, int posX, int posY, int fontSize, Color color) int defaultFontSize = 10; // Default Font chars height in pixel if (fontSize < defaultFontSize) fontSize = defaultFontSize; - int spacing = fontSize / defaultFontSize; + int spacing = fontSize/defaultFontSize; DrawTextEx(defaultFont, text, position, (float)fontSize, spacing, color); } @@ -408,7 +408,7 @@ int MeasureText(const char *text, int fontSize) int defaultFontSize = 10; // Default Font chars height in pixel if (fontSize < defaultFontSize) fontSize = defaultFontSize; - int spacing = fontSize / defaultFontSize; + int spacing = fontSize/defaultFontSize; vec = MeasureTextEx(defaultFont, text, fontSize, spacing); @@ -539,7 +539,7 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) int xPosToRead = charSpacing; // Parse image data to get rectangle sizes - while ((lineSpacing + lineToRead * (charHeight + lineSpacing)) < image.height) + while ((lineSpacing + lineToRead*(charHeight + lineSpacing)) < image.height) { while ((xPosToRead < image.width) && !COLOR_EQUAL((pixels[(lineSpacing + (charHeight+lineSpacing)*lineToRead)*image.width + xPosToRead]), key)) @@ -547,7 +547,7 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) tempCharValues[index] = firstChar + index; tempCharRecs[index].x = xPosToRead; - tempCharRecs[index].y = lineSpacing + lineToRead * (charHeight + lineSpacing); + tempCharRecs[index].y = lineSpacing + lineToRead*(charHeight + lineSpacing); tempCharRecs[index].height = charHeight; int charWidth = 0; @@ -646,11 +646,11 @@ static SpriteFont LoadRBMF(const char *fileName) int numPixelBits = rbmfHeader.imgWidth*rbmfHeader.imgHeight/32; - rbmfFileData = (unsigned int *)malloc(numPixelBits * sizeof(unsigned int)); + rbmfFileData = (unsigned int *)malloc(numPixelBits*sizeof(unsigned int)); for (int i = 0; i < numPixelBits; i++) fread(&rbmfFileData[i], sizeof(unsigned int), 1, rbmfFile); - rbmfCharWidthData = (unsigned char *)malloc(spriteFont.numChars * sizeof(unsigned char)); + rbmfCharWidthData = (unsigned char *)malloc(spriteFont.numChars*sizeof(unsigned char)); for (int i = 0; i < spriteFont.numChars; i++) fread(&rbmfCharWidthData[i], sizeof(unsigned char), 1, rbmfFile); @@ -701,7 +701,7 @@ static SpriteFont LoadRBMF(const char *fileName) spriteFont.charValues[i] = (int)rbmfHeader.firstChar + i; spriteFont.charRecs[i].x = currentPosX; - spriteFont.charRecs[i].y = charsDivisor + currentLine * ((int)rbmfHeader.charHeight + charsDivisor); + spriteFont.charRecs[i].y = charsDivisor + currentLine*((int)rbmfHeader.charHeight + charsDivisor); spriteFont.charRecs[i].width = (int)rbmfCharWidthData[i]; spriteFont.charRecs[i].height = (int)rbmfHeader.charHeight; @@ -714,11 +714,11 @@ static SpriteFont LoadRBMF(const char *fileName) if (testPosX > spriteFont.texture.width) { currentLine++; - currentPosX = 2 * charsDivisor + (int)rbmfCharWidthData[i]; + currentPosX = 2*charsDivisor + (int)rbmfCharWidthData[i]; testPosX = currentPosX; spriteFont.charRecs[i].x = charsDivisor; - spriteFont.charRecs[i].y = charsDivisor + currentLine * (rbmfHeader.charHeight + charsDivisor); + spriteFont.charRecs[i].y = charsDivisor + currentLine*(rbmfHeader.charHeight + charsDivisor); } else currentPosX = testPosX; } diff --git a/src/textures.c b/src/textures.c index 152933712..d4dd2ac25 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1765,7 +1765,7 @@ static Image LoadPKM(const char *fileName) int size = image.width*image.height*bpp/8; // Total data size in bytes - image.data = (unsigned char*)malloc(size * sizeof(unsigned char)); + image.data = (unsigned char*)malloc(size*sizeof(unsigned char)); fread(image.data, 1, size, pkmFile); @@ -1858,7 +1858,7 @@ static Image LoadKTX(const char *fileName) int dataSize; fread(&dataSize, sizeof(unsigned int), 1, ktxFile); - image.data = (unsigned char*)malloc(dataSize * sizeof(unsigned char)); + image.data = (unsigned char*)malloc(dataSize*sizeof(unsigned char)); fread(image.data, 1, dataSize, ktxFile); From 9923fe51a7f69f94c765cfe0dbbf718f287a7a2f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 12 Sep 2016 19:36:55 +0200 Subject: [PATCH 074/102] Tweak to avoid warning --- src/external/jar_mod.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/external/jar_mod.h b/src/external/jar_mod.h index c39db65a1..bee9f6ee7 100644 --- a/src/external/jar_mod.h +++ b/src/external/jar_mod.h @@ -59,7 +59,7 @@ // - Initialize the jar_mod_context_t buffer. Must be called before doing anything else. // Return 1 if success. 0 in case of error. // ------------------------------------------- -// mulong jar_mod_load_file(jar_mod_context_t * modctx, char* filename) +// mulong jar_mod_load_file(jar_mod_context_t * modctx, const char* filename) // // - "Load" a MOD from file, context must already be initialized. // Return size of file in bytes. @@ -247,7 +247,7 @@ bool jar_mod_init(jar_mod_context_t * modctx); bool jar_mod_setcfg(jar_mod_context_t * modctx, int samplerate, int bits, int stereo, int stereo_separation, int filter); void jar_mod_fillbuffer(jar_mod_context_t * modctx, short * outbuffer, unsigned long nbsample, jar_mod_tracker_buffer_state * trkbuf); void jar_mod_unload(jar_mod_context_t * modctx); -mulong jar_mod_load_file(jar_mod_context_t * modctx, char* filename); +mulong jar_mod_load_file(jar_mod_context_t * modctx, const char* filename); mulong jar_mod_current_samples(jar_mod_context_t * modctx); mulong jar_mod_max_samples(jar_mod_context_t * modctx); void jar_mod_seek_start(jar_mod_context_t * ctx); @@ -1516,7 +1516,7 @@ void jar_mod_unload( jar_mod_context_t * modctx) -mulong jar_mod_load_file(jar_mod_context_t * modctx, char* filename) +mulong jar_mod_load_file(jar_mod_context_t * modctx, const char* filename) { mulong fsize = 0; if(modctx->modfile) From 79c8eb543ef93fbfbc4073c6c4ea71e22e7e02c4 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 15 Sep 2016 11:53:16 +0200 Subject: [PATCH 075/102] Corrected audio bugs and improved examples --- examples/audio_module_playing.c | 30 +++++++++++--- examples/audio_music_stream.c | 53 +++++++++++++------------ src/audio.c | 70 ++++++++++++++++++++------------- 3 files changed, 93 insertions(+), 60 deletions(-) diff --git a/examples/audio_module_playing.c b/examples/audio_module_playing.c index fe9ea15ca..7da3579cc 100644 --- a/examples/audio_module_playing.c +++ b/examples/audio_module_playing.c @@ -62,6 +62,7 @@ int main() PlayMusicStream(xm); float timePlayed = 0.0f; + bool pause = false; SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -71,7 +72,29 @@ int main() { // Update //---------------------------------------------------------------------------------- - for (int i = MAX_CIRCLES - 1; i >= 0; i--) + UpdateMusicStream(xm); // Update music buffer with new stream data + + // Restart music playing (stop and play) + if (IsKeyPressed(KEY_SPACE)) + { + StopMusicStream(xm); + PlayMusicStream(xm); + } + + // Pause/Resume music playing + if (IsKeyPressed(KEY_P)) + { + pause = !pause; + + if (pause) PauseMusicStream(xm); + else ResumeMusicStream(xm); + } + + // Get timePlayed scaled to bar dimensions + timePlayed = (GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40))*2; + + // Color circles animation + for (int i = MAX_CIRCLES - 1; (i >= 0) && !pause; i--) { circles[i].alpha += circles[i].speed; circles[i].radius += circles[i].speed*10.0f; @@ -88,11 +111,6 @@ int main() circles[i].speed = (float)GetRandomValue(1, 100)/20000.0f; } } - - // Get timePlayed scaled to bar dimensions - timePlayed = (GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40))*2; - - UpdateMusicStream(xm); // Update music buffer with new stream data //---------------------------------------------------------------------------------- // Draw diff --git a/examples/audio_music_stream.c b/examples/audio_music_stream.c index c552d0304..dc9d43554 100644 --- a/examples/audio_music_stream.c +++ b/examples/audio_music_stream.c @@ -28,9 +28,8 @@ int main() PlayMusicStream(music); - int framesCounter = 0; float timePlayed = 0.0f; - //float volume = 1.0; + bool pause = false; SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -40,28 +39,26 @@ int main() { // Update //---------------------------------------------------------------------------------- - framesCounter++; - - // Testing music fading from one file to another -/* - if (framesCounter > 600) // Wait for 10 seconds (600 frames) - { - volume -= 0.01; // Decrement music volume level - - // When music volume level equal or lower than 0, - // restore volume level and init another music file - if (volume <= 0) - { - volume = 1.0; - framesCounter = 0; - } - - SetMusicVolume(volume); - } -*/ - timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; // We scale by 4 to fit 400 pixels - UpdateMusicStream(music); // Update music buffer with new stream data + + // Restart music playing (stop and play) + if (IsKeyPressed(KEY_SPACE)) + { + StopMusicStream(music); + PlayMusicStream(music); + } + + // Pause/Resume music playing + if (IsKeyPressed(KEY_P)) + { + pause = !pause; + + if (pause) PauseMusicStream(music); + else ResumeMusicStream(music); + } + + // Get timePlayed scaled to bar dimensions (400 pixels) + timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; //---------------------------------------------------------------------------------- // Draw @@ -70,10 +67,14 @@ int main() ClearBackground(RAYWHITE); - DrawText("MUSIC SHOULD BE PLAYING!", 255, 200, 20, LIGHTGRAY); + DrawText("MUSIC SHOULD BE PLAYING!", 255, 150, 20, LIGHTGRAY); - DrawRectangle(200, 250, 400, 12, LIGHTGRAY); - DrawRectangle(200, 250, (int)timePlayed, 12, MAROON); + DrawRectangle(200, 200, 400, 12, LIGHTGRAY); + DrawRectangle(200, 200, (int)timePlayed, 12, MAROON); + DrawRectangleLines(200, 200, 400, 12, GRAY); + + DrawText("PRESS SPACE TO RESTART MUSIC", 215, 250, 20, LIGHTGRAY); + DrawText("PRESS P TO PAUSE/RESUME MUSIC", 208, 280, 20, LIGHTGRAY); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/src/audio.c b/src/audio.c index 06bf55d49..90bf4968e 100644 --- a/src/audio.c +++ b/src/audio.c @@ -225,12 +225,16 @@ Wave LoadWaveEx(float *data, int sampleCount, int sampleRate, int sampleSize, in wave.data = data; wave.sampleCount = sampleCount; wave.sampleRate = sampleRate; - wave.sampleSize = sampleSize; + wave.sampleSize = 32; wave.channels = channels; - WaveFormat(&wave, sampleRate, sampleSize, channels); + // NOTE: Copy wave data to work with, + // user is responsible of input data to free + Wave cwave = WaveCopy(wave); - return wave; + WaveFormat(&cwave, sampleRate, sampleSize, channels); + + return cwave; } // Load sound to memory @@ -578,6 +582,8 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) } } else TraceLog(WARNING, "Wave formatting: Sample size not supported"); + + free(samples); } // NOTE: Only supported 1 or 2 channels (mono or stereo) @@ -615,7 +621,8 @@ Wave WaveCopy(Wave wave) // NOTE: Security check in case of out-of-range void WaveCrop(Wave *wave, int initSample, int finalSample) { - if ((initSample >= 0) && (finalSample > 0) && (finalSample < wave->sampleCount)) + if ((initSample >= 0) && (initSample < finalSample) && + (finalSample > 0) && (finalSample < wave->sampleCount)) { // TODO: Review cropping (it could be simplified...) @@ -636,6 +643,7 @@ void WaveCrop(Wave *wave, int initSample, int finalSample) // Get samples data from wave as a floats array // NOTE: Returned sample values are normalized to range [-1..1] +// TODO: Consider multiple channels (mono - stereo) float *GetWaveData(Wave wave) { float *samples = (float *)malloc(wave.sampleCount*sizeof(float)); @@ -759,26 +767,37 @@ void ResumeMusicStream(Music music) } // Stop music playing (close stream) +// TODO: Restart XM context void StopMusicStream(Music music) { alSourceStop(music->stream.source); + + switch (music->ctxType) + { + case MUSIC_AUDIO_OGG: stb_vorbis_seek_start(music->ctxOgg); break; + case MUSIC_MODULE_XM: break; + case MUSIC_MODULE_MOD: jar_mod_seek_start(&music->ctxMod); break; + default: break; + } + + music->samplesLeft = music->totalSamples; } // Update (re-fill) music buffers if data already processed void UpdateMusicStream(Music music) { + ALenum state; ALint processed = 0; - - // Determine if music stream is ready to be written - alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); - - int numBuffersToProcess = processed; + + alGetSourcei(music->stream.source, AL_SOURCE_STATE, &state); // Get music stream state + alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); // Get processed buffers if (processed > 0) { bool active = true; short pcm[AUDIO_BUFFER_SIZE]; float pcmf[AUDIO_BUFFER_SIZE]; + int numBuffersToProcess = processed; int numSamples = 0; // Total size of data steamed in L+R samples for xm floats, // individual L or R for ogg shorts @@ -833,28 +852,23 @@ void UpdateMusicStream(Music music) break; } } - - // Reset audio stream for looping - if (!active && music->loop) - { - // Restart music context (if required) - //if (music->ctxType == MUSIC_MODULE_XM) - if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_seek_start(&music->ctxMod); - else if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_seek_start(music->ctxOgg); - - // Reset samples left to total samples - music->samplesLeft = music->totalSamples; - } - + // This error is registered when UpdateAudioStream() fails if (alGetError() == AL_INVALID_VALUE) TraceLog(WARNING, "OpenAL: Error buffering data..."); - ALenum state; - alGetSourcei(music->stream.source, AL_SOURCE_STATE, &state); - - if (state != AL_PLAYING && active) alSourcePlay(music->stream.source); - - if (!active) StopMusicStream(music); + // Reset audio stream for looping + if (!active) + { + StopMusicStream(music); // Stop music (and reset) + + if (music->loop) PlayMusicStream(music); // Play again + } + else + { + // NOTE: In case window is minimized, music stream is stopped, + // just make sure to play again on window restore + if (state != AL_PLAYING) PlayMusicStream(music); + } } } From c5bf9623d155efc94325b1ecc311d66a8ee2a704 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 20 Sep 2016 20:16:19 +0200 Subject: [PATCH 076/102] Updated LibOVR to SDK version 1.8 Weird, OVR_Version.h still points to 1.7, probably a typo... --- .../OculusSDK/LibOVR/Include/OVR_CAPI.h | 151 +++++++++++------- .../OculusSDK/LibOVR/Include/OVR_CAPI_Audio.h | 4 + .../OculusSDK/LibOVR/Include/OVR_CAPI_D3D.h | 3 + .../OculusSDK/LibOVR/Include/OVR_CAPI_GL.h | 3 + .../OculusSDK/LibOVR/Include/OVR_ErrorCode.h | 9 ++ .../OculusSDK/LibOVR/Include/OVR_Version.h | 2 +- .../OculusSDK/LibOVR/LibOVRRT32_1.dll | Bin 1023952 -> 1044944 bytes 7 files changed, 114 insertions(+), 58 deletions(-) diff --git a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI.h b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI.h index 533404784..eaabcf592 100644 --- a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI.h +++ b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI.h @@ -271,6 +271,12 @@ typedef char ovrBool; ///< Boolean type //----------------------------------------------------------------------------------- // ***** Simple Math Structures +/// A RGBA color with normalized float components. +typedef struct OVR_ALIGNAS(4) ovrColorf_ +{ + float r, g, b, a; +} ovrColorf; + /// A 2D vector with integer components. typedef struct OVR_ALIGNAS(4) ovrVector2i_ { @@ -326,7 +332,7 @@ typedef struct OVR_ALIGNAS(4) ovrPosef_ /// A full pose (rigid body) configuration with first and second derivatives. /// /// Body refers to any object for which ovrPoseStatef is providing data. -/// It can be the HMD, Touch controller, sensor or something else. The context +/// It can be the HMD, Touch controller, sensor or something else. The context /// depends on the usage of the struct. typedef struct OVR_ALIGNAS(8) ovrPoseStatef_ { @@ -687,7 +693,7 @@ typedef enum ovrTextureFormat_ /// typedef enum ovrTextureMiscFlags_ { - ovrTextureMisc_None, + ovrTextureMisc_None, /// DX only: The underlying texture is created with a TYPELESS equivalent of the /// format specified in the texture desc. The SDK will still access the @@ -745,12 +751,12 @@ typedef struct ovrMirrorTextureData* ovrMirrorTexture; //----------------------------------------------------------------------------------- /// Describes button input types. -/// Button inputs are combined; that is they will be reported as pressed if they are +/// Button inputs are combined; that is they will be reported as pressed if they are /// pressed on either one of the two devices. /// The ovrButton_Up/Down/Left/Right map to both XBox D-Pad and directional buttons. /// The ovrButton_Enter and ovrButton_Return map to Start and Back controller buttons, respectively. typedef enum ovrButton_ -{ +{ ovrButton_A = 0x00000001, ovrButton_B = 0x00000002, ovrButton_RThumb = 0x00000004, @@ -758,7 +764,7 @@ typedef enum ovrButton_ ovrButton_X = 0x00000100, ovrButton_Y = 0x00000200, - ovrButton_LThumb = 0x00000400, + ovrButton_LThumb = 0x00000400, ovrButton_LShoulder = 0x00000800, // Navigation through DPad. @@ -770,7 +776,7 @@ typedef enum ovrButton_ ovrButton_Back = 0x00200000, // Back on Xbox controller. ovrButton_VolUp = 0x00400000, // only supported by Remote. ovrButton_VolDown = 0x00800000, // only supported by Remote. - ovrButton_Home = 0x01000000, + ovrButton_Home = 0x01000000, ovrButton_Private = ovrButton_VolUp | ovrButton_VolDown | ovrButton_Home, // Bit mask of all buttons on the right Touch controller @@ -807,7 +813,7 @@ typedef enum ovrTouch_ // Bit mask of all the button touches on the left controller ovrTouch_LButtonMask = ovrTouch_X | ovrTouch_Y | ovrTouch_LThumb | ovrTouch_LThumbRest | ovrTouch_LIndexTrigger, - // Finger pose state + // Finger pose state // Derived internally based on distance, proximity to sensors and filtering. ovrTouch_RIndexPointing = 0x00000020, ovrTouch_RThumbUp = 0x00000040, @@ -883,11 +889,20 @@ typedef struct ovrHapticsPlaybackState_ int SamplesQueued; } ovrHapticsPlaybackState; +/// Position tracked devices +typedef enum ovrTrackedDeviceType_ +{ + ovrTrackedDevice_HMD = 0x0001, + ovrTrackedDevice_LTouch = 0x0002, + ovrTrackedDevice_RTouch = 0x0004, + ovrTrackedDevice_Touch = 0x0006, + ovrTrackedDevice_All = 0xFFFF, +} ovrTrackedDeviceType; /// Provides names for the left and right hand array indexes. /// /// \see ovrInputState, ovrTrackingState -/// +/// typedef enum ovrHandType_ { ovrHand_Left = 0, @@ -903,27 +918,43 @@ typedef enum ovrHandType_ /// their inputs are combined. typedef struct ovrInputState_ { - // System type when the controller state was last updated. + /// System type when the controller state was last updated. double TimeInSeconds; - // Values for buttons described by ovrButton. + /// Values for buttons described by ovrButton. unsigned int Buttons; - // Touch values for buttons and sensors as described by ovrTouch. + /// Touch values for buttons and sensors as described by ovrTouch. unsigned int Touches; - - // Left and right finger trigger values (ovrHand_Left and ovrHand_Right), in the range 0.0 to 1.0f. + + /// Left and right finger trigger values (ovrHand_Left and ovrHand_Right), in the range 0.0 to 1.0f. + /// Returns 0 if the value would otherwise be less than 0.1176, for ovrControllerType_XBox float IndexTrigger[ovrHand_Count]; - - // Left and right hand trigger values (ovrHand_Left and ovrHand_Right), in the range 0.0 to 1.0f. + + /// Left and right hand trigger values (ovrHand_Left and ovrHand_Right), in the range 0.0 to 1.0f. float HandTrigger[ovrHand_Count]; - // Horizontal and vertical thumbstick axis values (ovrHand_Left and ovrHand_Right), in the range -1.0f to 1.0f. + /// Horizontal and vertical thumbstick axis values (ovrHand_Left and ovrHand_Right), in the range -1.0f to 1.0f. + /// Returns a deadzone (value 0) per each axis if the value on that axis would otherwise have been between -.2746 to +.2746, for ovrControllerType_XBox ovrVector2f Thumbstick[ovrHand_Count]; - // The type of the controller this state is for. + /// The type of the controller this state is for. ovrControllerType ControllerType; - + + /// Left and right finger trigger values (ovrHand_Left and ovrHand_Right), in the range 0.0 to 1.0f. + /// Does not apply a deadzone + /// Added in 1.7 + float IndexTriggerNoDeadzone[ovrHand_Count]; + + /// Left and right hand trigger values (ovrHand_Left and ovrHand_Right), in the range 0.0 to 1.0f. + /// Does not apply a deadzone + /// Added in 1.7 + float HandTriggerNoDeadzone[ovrHand_Count]; + + /// Horizontal and vertical thumbstick axis values (ovrHand_Left and ovrHand_Right), in the range -1.0f to 1.0f + /// Does not apply a deadzone + /// Added in 1.7 + ovrVector2f ThumbstickNoDeadzone[ovrHand_Count]; } ovrInputState; @@ -996,8 +1027,8 @@ typedef struct OVR_ALIGNAS(8) ovrInitParams_ /// Use NULL to specify no log callback. ovrLogCallback LogCallback; - /// User-supplied data which is passed as-is to LogCallback. Typically this - /// is used to store an application-specific pointer which is read in the + /// User-supplied data which is passed as-is to LogCallback. Typically this + /// is used to store an application-specific pointer which is read in the /// callback function. uintptr_t UserData; @@ -1014,6 +1045,7 @@ typedef struct OVR_ALIGNAS(8) ovrInitParams_ extern "C" { #endif +#if !defined(OVR_EXPORTING_CAPI) // ----------------------------------------------------------------------------------- // ***** API Interfaces @@ -1026,7 +1058,7 @@ extern "C" { /// followed by a call to ovr_Shutdown. ovr_Initialize calls are idempotent. /// Calling ovr_Initialize twice does not require two matching calls to ovr_Shutdown. /// If already initialized, the return value is ovr_Success. -/// +/// /// LibOVRRT shared library search order: /// -# Current working directory (often the same as the application directory). /// -# Module directory (usually the same as the application directory, @@ -1166,21 +1198,21 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_IdentifyClient(const char* identity); /// /// ovr_Initialize must have first been called in order for this to succeed, otherwise ovrHmdDesc::Type /// will be reported as ovrHmd_None. -/// +/// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create, else NULL in which /// case this function detects whether an HMD is present and returns its info if so. /// -/// \return Returns an ovrHmdDesc. If the hmd is NULL and ovrHmdDesc::Type is ovrHmd_None then +/// \return Returns an ovrHmdDesc. If the hmd is NULL and ovrHmdDesc::Type is ovrHmd_None then /// no HMD is present. /// OVR_PUBLIC_FUNCTION(ovrHmdDesc) ovr_GetHmdDesc(ovrSession session); -/// Returns the number of sensors. +/// Returns the number of sensors. /// -/// The number of sensors may change at any time, so this function should be called before use +/// The number of sensors may change at any time, so this function should be called before use /// as opposed to once on startup. -/// +/// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create. /// /// \return Returns unsigned int count. @@ -1190,15 +1222,15 @@ OVR_PUBLIC_FUNCTION(unsigned int) ovr_GetTrackerCount(ovrSession session); /// Returns a given sensor description. /// -/// It's possible that sensor desc [0] may indicate a unconnnected or non-pose tracked sensor, but +/// It's possible that sensor desc [0] may indicate a unconnnected or non-pose tracked sensor, but /// sensor desc [1] may be connected. /// /// ovr_Initialize must have first been called in order for this to succeed, otherwise the returned /// trackerDescArray will be zero-initialized. The data returned by this function can change at runtime. -/// +/// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create. -/// -/// \param[in] trackerDescIndex Specifies a sensor index. The valid indexes are in the range of 0 to +/// +/// \param[in] trackerDescIndex Specifies a sensor index. The valid indexes are in the range of 0 to /// the sensor count returned by ovr_GetTrackerCount. /// /// \return Returns ovrTrackerDesc. An empty ovrTrackerDesc will be returned if trackerDescIndex is out of range. @@ -1242,6 +1274,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_Create(ovrSession* pSession, ovrGraphicsLuid* /// OVR_PUBLIC_FUNCTION(void) ovr_Destroy(ovrSession session); +#endif // !defined(OVR_EXPORTING_CAPI) /// Specifies status information for the current session. /// @@ -1253,10 +1286,11 @@ typedef struct ovrSessionStatus_ ovrBool HmdPresent; ///< True if an HMD is present. ovrBool HmdMounted; ///< True if the HMD is on the user's head. ovrBool DisplayLost; ///< True if the session is in a display-lost state. See ovr_SubmitFrame. - ovrBool ShouldQuit; ///< True if the application should initiate shutdown. + ovrBool ShouldQuit; ///< True if the application should initiate shutdown. ovrBool ShouldRecenter; ///< True if UX has requested re-centering. Must call ovr_ClearShouldRecenterFlag or ovr_RecenterTrackingOrigin. }ovrSessionStatus; +#if !defined(OVR_EXPORTING_CAPI) /// Returns status information for the application. /// @@ -1293,7 +1327,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetSessionStatus(ovrSession session, ovrSessi /// /// When the tracking origin is changed, all of the calls that either provide /// or accept ovrPosef will use the new tracking origin provided. -/// +/// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create. /// \param[in] origin Specifies an ovrTrackingOrigin to be used for all ovrPosef /// @@ -1305,7 +1339,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_SetTrackingOriginType(ovrSession session, ovr /// Gets the tracking origin state -/// +/// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create. /// /// \return Returns the ovrTrackingOrigin that was either set by default, or previous set by the application. @@ -1319,9 +1353,9 @@ OVR_PUBLIC_FUNCTION(ovrTrackingOrigin) ovr_GetTrackingOriginType(ovrSession sess /// This resets the (x,y,z) positional components and the yaw orientation component. /// The Roll and pitch orientation components are always determined by gravity and cannot /// be redefined. All future tracking will report values relative to this new reference position. -/// If you are using ovrTrackerPoses then you will need to call ovr_GetTrackerPose after +/// If you are using ovrTrackerPoses then you will need to call ovr_GetTrackerPose after /// this, because the sensor position(s) will change as a result of this. -/// +/// /// The headset cannot be facing vertically upward or downward but rather must be roughly /// level otherwise this function will fail with ovrError_InvalidHeadsetOrientation. /// @@ -1343,7 +1377,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_RecenterTrackingOrigin(ovrSession session); /// Clears the ShouldRecenter status bit in ovrSessionStatus. /// -/// Clears the ShouldRecenter status bit in ovrSessionStatus, allowing further recenter +/// Clears the ShouldRecenter status bit in ovrSessionStatus, allowing further recenter /// requests to be detected. Since this is automatically done by ovr_RecenterTrackingOrigin, /// this is only needs to be called when application is doing its own re-centering. OVR_PUBLIC_FUNCTION(void) ovr_ClearShouldRecenterFlag(ovrSession session); @@ -1444,11 +1478,11 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_SubmitControllerVibration(ovrSession session, /// \param[in] outState State of the haptics engine. /// \return Returns ovrSuccess upon success. /// \see ovrHapticsPlaybackState -/// +/// OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetControllerVibrationState(ovrSession session, ovrControllerType controllerType, ovrHapticsPlaybackState* outState); -///@} +#endif // !defined(OVR_EXPORTING_CAPI) //------------------------------------------------------------------------------------- // @name Layers @@ -1672,7 +1706,7 @@ typedef union ovrLayer_Union_ //@} - +#if !defined(OVR_EXPORTING_CAPI) /// @name SDK Distortion Rendering /// @@ -1695,7 +1729,7 @@ typedef union ovrLayer_Union_ /// \param[in] chain Specifies the ovrTextureSwapChain for which the length should be retrieved. /// \param[out] out_Length Returns the number of buffers in the specified chain. /// -/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. +/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. /// /// \see ovr_CreateTextureSwapChainDX, ovr_CreateTextureSwapChainGL /// @@ -1707,7 +1741,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetTextureSwapChainLength(ovrSession session, /// \param[in] chain Specifies the ovrTextureSwapChain for which the index should be retrieved. /// \param[out] out_Index Returns the current (free) index in specified chain. /// -/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. +/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. /// /// \see ovr_CreateTextureSwapChainDX, ovr_CreateTextureSwapChainGL /// @@ -1719,7 +1753,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetTextureSwapChainCurrentIndex(ovrSession se /// \param[in] chain Specifies the ovrTextureSwapChain for which the description should be retrieved. /// \param[out] out_Desc Returns the description of the specified chain. /// -/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. +/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. /// /// \see ovr_CreateTextureSwapChainDX, ovr_CreateTextureSwapChainGL /// @@ -1736,7 +1770,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetTextureSwapChainDesc(ovrSession session, o /// it will synchronize with the app's graphics context and pick up the submitted index, opening up /// room in the swap chain for further commits. /// -/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. +/// \return Returns an ovrResult for which OVR_SUCCESS(result) is false upon error. /// Failures include but aren't limited to: /// - ovrError_TextureSwapChainFull: ovr_CommitTextureSwapChain was called too many times on a texture swapchain without calling submit to use the chain. /// @@ -1864,7 +1898,7 @@ OVR_PUBLIC_FUNCTION(ovrEyeRenderDesc) ovr_GetRenderDesc(ovrSession session, /// destroyed (ovr_Destroy) and recreated (ovr_Create), and new resources need to be created /// (ovr_CreateTextureSwapChainXXX). The application's existing private graphics resources do not /// need to be recreated unless the new ovr_Create call returns a different GraphicsLuid. -/// - ovrError_TextureSwapChainInvalid: The ovrTextureSwapChain is in an incomplete or inconsistent state. +/// - ovrError_TextureSwapChainInvalid: The ovrTextureSwapChain is in an incomplete or inconsistent state. /// Ensure ovr_CommitTextureSwapChain was called at least once first. /// /// \see ovr_GetPredictedDisplayTime, ovrViewScaleDesc, ovrLayerHeader @@ -1874,7 +1908,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_SubmitFrame(ovrSession session, long long fra ovrLayerHeader const * const * layerPtrList, unsigned int layerCount); ///@} - +#endif // !defined(OVR_EXPORTING_CAPI) //------------------------------------------------------------------------------------- /// @name Frame Timing @@ -1882,26 +1916,28 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_SubmitFrame(ovrSession session, long long fra //@{ +#if !defined(OVR_EXPORTING_CAPI) + /// Gets the time of the specified frame midpoint. /// -/// Predicts the time at which the given frame will be displayed. The predicted time -/// is the middle of the time period during which the corresponding eye images will -/// be displayed. +/// Predicts the time at which the given frame will be displayed. The predicted time +/// is the middle of the time period during which the corresponding eye images will +/// be displayed. /// /// The application should increment frameIndex for each successively targeted frame, -/// and pass that index to any relevent OVR functions that need to apply to the frame +/// and pass that index to any relevant OVR functions that need to apply to the frame /// identified by that index. /// /// This function is thread-safe and allows for multiple application threads to target /// their processing to the same displayed frame. -/// +/// /// In the even that prediction fails due to various reasons (e.g. the display being off /// or app has yet to present any frames), the return value will be current CPU time. -/// +/// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create. /// \param[in] frameIndex Identifies the frame the caller wishes to target. /// A value of zero returns the next frame index. -/// \return Returns the absolute frame midpoint time for the given frameIndex. +/// \return Returns the absolute frame midpoint time for the given frameIndex. /// \see ovr_GetTimeInSeconds /// OVR_PUBLIC_FUNCTION(double) ovr_GetPredictedDisplayTime(ovrSession session, long long frameIndex); @@ -1917,6 +1953,7 @@ OVR_PUBLIC_FUNCTION(double) ovr_GetPredictedDisplayTime(ovrSession session, long /// OVR_PUBLIC_FUNCTION(double) ovr_GetTimeInSeconds(); +#endif // !defined(OVR_EXPORTING_CAPI) /// Performance HUD enables the HMD user to see information critical to /// the real-time operation of the VR application such as latency timing, @@ -1958,7 +1995,7 @@ typedef enum ovrLayerHudMode_ ///@} /// Debug HUD is provided to help developers gauge and debug the fidelity of their app's -/// stereo rendering characteristics. Using the provided quad and crosshair guides, +/// stereo rendering characteristics. Using the provided quad and crosshair guides, /// the developer can verify various aspects such as VR tracking units (e.g. meters), /// stereo camera-parallax properties (e.g. making sure objects at infinity are rendered /// with the proper separation), measuring VR geometry sizes and distances and more. @@ -1984,7 +2021,7 @@ typedef enum ovrDebugHudStereoMode_ } ovrDebugHudStereoMode; - +#if !defined(OVR_EXPORTING_CAPI) // ----------------------------------------------------------------------------------- /// @name Property Access @@ -2102,7 +2139,7 @@ OVR_PUBLIC_FUNCTION(ovrBool) ovr_SetString(ovrSession session, const char* prope ///@} - +#endif // !defined(OVR_EXPORTING_CAPI) #ifdef __cplusplus } // extern "C" @@ -2163,10 +2200,10 @@ OVR_STATIC_ASSERT(sizeof(ovrLogLevel) == 4, "ovrLogLevel size mismatch"); OVR_STATIC_ASSERT(sizeof(ovrInitParams) == 4 + 4 + sizeof(ovrLogCallback) + sizeof(uintptr_t) + 4 + 4, "ovrInitParams size mismatch"); -OVR_STATIC_ASSERT(sizeof(ovrHmdDesc) == +OVR_STATIC_ASSERT(sizeof(ovrHmdDesc) == + sizeof(ovrHmdType) // Type OVR_ON64(+ 4) // pad0 - + 64 // ProductName + + 64 // ProductName + 64 // Manufacturer + 2 // VendorId + 2 // ProductId diff --git a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_Audio.h b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_Audio.h index 930dfcbe7..dc61e19e6 100644 --- a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_Audio.h +++ b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_Audio.h @@ -17,6 +17,8 @@ #include "OVR_CAPI.h" #define OVR_AUDIO_MAX_DEVICE_STR_SIZE 128 +#if !defined(OVR_EXPORTING_CAPI) + /// Gets the ID of the preferred VR audio output device. /// /// \param[out] deviceOutId The ID of the user's preferred VR audio device to use, which will be valid upon a successful return value, else it will be WAVE_MAPPER. @@ -75,6 +77,8 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetAudioDeviceInGuidStr(WCHAR deviceInStrBuff /// OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetAudioDeviceInGuid(GUID* deviceInGuid); +#endif // !defined(OVR_EXPORTING_CAPI) + #endif //OVR_OS_MS #endif // OVR_CAPI_Audio_h diff --git a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_D3D.h b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_D3D.h index 982af8f0a..374dab84f 100644 --- a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_D3D.h +++ b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_D3D.h @@ -14,6 +14,8 @@ #if defined (_WIN32) #include +#if !defined(OVR_EXPORTING_CAPI) + //----------------------------------------------------------------------------------- // ***** Direct3D Specific @@ -149,6 +151,7 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetMirrorTextureBufferDX(ovrSession session, IID iid, void** out_Buffer); +#endif // !defined(OVR_EXPORTING_CAPI) #endif // _WIN32 diff --git a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_GL.h b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_GL.h index 814879474..1c073f467 100644 --- a/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_GL.h +++ b/src/external/OculusSDK/LibOVR/Include/OVR_CAPI_GL.h @@ -9,6 +9,8 @@ #include "OVR_CAPI.h" +#if !defined(OVR_EXPORTING_CAPI) + /// Creates a TextureSwapChain suitable for use with OpenGL. /// /// \param[in] session Specifies an ovrSession previously returned by ovr_Create. @@ -95,5 +97,6 @@ OVR_PUBLIC_FUNCTION(ovrResult) ovr_GetMirrorTextureBufferGL(ovrSession session, ovrMirrorTexture mirrorTexture, unsigned int* out_TexId); +#endif // !defined(OVR_EXPORTING_CAPI) #endif // OVR_CAPI_GL_h diff --git a/src/external/OculusSDK/LibOVR/Include/OVR_ErrorCode.h b/src/external/OculusSDK/LibOVR/Include/OVR_ErrorCode.h index 9fc527c71..a8b810ead 100644 --- a/src/external/OculusSDK/LibOVR/Include/OVR_ErrorCode.h +++ b/src/external/OculusSDK/LibOVR/Include/OVR_ErrorCode.h @@ -88,6 +88,7 @@ typedef enum ovrErrorType_ ovrError_ClientSkippedDestroy = -1012, ///< The client failed to call ovr_Destroy on an active session before calling ovr_Shutdown. Or the client crashed. ovrError_ClientSkippedShutdown = -1013, ///< The client failed to call ovr_Shutdown or the client crashed. ovrError_ServiceDeadlockDetected = -1014, ///< The service watchdog discovered a deadlock. + ovrError_InvalidOperation = -1015, ///< Function call is invalid for object's current state /* Audio error range, reserved for Audio errors. */ ovrError_AudioDeviceNotFound = -2001, ///< Failure to find the specified audio device. @@ -115,6 +116,9 @@ typedef enum ovrErrorType_ ovrError_HybridGraphicsNotSupported = -3018, ///< The system is using hybrid graphics (Optimus, etc...), which is not support. ovrError_DisplayManagerInit = -3019, ///< Initialization of the DisplayManager failed. ovrError_TrackerDriverInit = -3020, ///< Failed to get the interface for an attached tracker + ovrError_LibSignCheck = -3021, ///< LibOVRRT signature check failure. + ovrError_LibPath = -3022, ///< LibOVRRT path failure. + ovrError_LibSymbols = -3023, ///< LibOVRRT symbol resolution failure. /* Rendering errors */ ovrError_DisplayLost = -6000, ///< In the event of a system-wide graphics reset or cable unplug this is returned to the app. @@ -130,6 +134,11 @@ typedef enum ovrErrorType_ /* Fatal errors */ ovrError_RuntimeException = -7000, ///< A runtime exception occurred. The application is required to shutdown LibOVR and re-initialize it before this error state will be cleared. + /* Calibration errors */ + ovrError_NoCalibration = -9000, ///< Result of a missing calibration block + ovrError_OldVersion = -9001, ///< Result of an old calibration block + ovrError_MisformattedBlock = -9002, ///< Result of a bad calibration block due to lengths + } ovrErrorType; diff --git a/src/external/OculusSDK/LibOVR/Include/OVR_Version.h b/src/external/OculusSDK/LibOVR/Include/OVR_Version.h index d83783043..8d213df56 100644 --- a/src/external/OculusSDK/LibOVR/Include/OVR_Version.h +++ b/src/external/OculusSDK/LibOVR/Include/OVR_Version.h @@ -19,7 +19,7 @@ // Master version numbers #define OVR_PRODUCT_VERSION 1 // Product version doesn't participate in semantic versioning. #define OVR_MAJOR_VERSION 1 // If you change these values then you need to also make sure to change LibOVR/Projects/Windows/LibOVR.props in parallel. -#define OVR_MINOR_VERSION 6 // +#define OVR_MINOR_VERSION 7 // #define OVR_PATCH_VERSION 0 #define OVR_BUILD_NUMBER 0 diff --git a/src/external/OculusSDK/LibOVR/LibOVRRT32_1.dll b/src/external/OculusSDK/LibOVR/LibOVRRT32_1.dll index 843c0e44d8e6d0f5634722498e3ec12a7ea53f06..7a42d4438fc6e706587efa2c053830f963bdd450 100644 GIT binary patch literal 1044944 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 z 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%0A! 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%0D*BHS# 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∓TN_HD11{}25`85&Mx&p(hpJ#!yvOkZYcQ80a_Nx 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 O&OD$=mL{V|^#=N^xYofoWb9{W8zTP$su{wPH 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 hDW7s%N-Wci?1VotD|~^QHuOPbFDFaOJg6iK3 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νK=Tfbbm#fp1qC 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%0A=UpxrzlEa!uS%8Yx<1)%NI|79G# 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

      u)#K3S! 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

      Q3WBK37_L?*7 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

      =&lPLT`FHX!9T_aY^<<;}ujs zR)8!4?Ss^Z7zN6bO#IL*i9h@WO;NW>f*cEyfZtUN$*VTOAPHDv09D&YAWJ+ziDygC zU(m=lq&$5r26Z+}EvVpU1F2mBa!^MP#6b(E)boS;Cm)x4I#&1(iS0>0D-X|AE3n4Wy&PfJflv3aAcv`3aI{2T5yyq&uO~XTWt&_?Mrc z%fNi!y!;yhIWix7e&vgR7js3Sp@=0aK3+zS3Q)RUo(dX6*9W!#;O2wM5s8;uwUDw5 zC=1tslosgm2)z8)1@jvyzku66EH97FgqDjkFL%M1CNJ&RK?@q2mm(pciN_Dk2OVC{ zgek~)*#}`Z9&7-${up4q4iN8AFjDORDw=+#fW|RExwabN1hD-a;PEeb(1E;m2Bdh2 zE|0)VKZIgX`xfLsmY1Rst3c;KaKV@+FZL@yl_QJ0hd{@>vMiqlY#t*H9pK?Lg0uLP;g0jbmm zsRUbhrn~jX@Bhg6RfD+ydV6br|NsB8{upSKtyc%c4n77dgiJup6{kR@lK_aB3l

      1z!Yq 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%0DFF+sOt`vy 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 }ON*u~1ga2*l^9Bd2>f?($aDYG#! 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

      RYqprY~+E3BxT3o2MR*%%l=%?t)c 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 KEi)Z?@go3gX<0Y` literal 0 HcmV?d00001

      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 From 478d3cbb79caa27351cf9e9a5ff9925ca658a89c Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 21 Sep 2016 12:28:49 +0200 Subject: [PATCH 077/102] Added standard shader for testing --- .../resources/shaders/glsl100/standard.fs | 161 ++++++++++++++++++ .../resources/shaders/glsl100/standard.vs | 23 +++ .../resources/shaders/glsl330/standard.fs | 150 ++++++++++++++++ .../resources/shaders/glsl330/standard.vs | 23 +++ 4 files changed, 357 insertions(+) create mode 100644 examples/resources/shaders/glsl100/standard.fs create mode 100644 examples/resources/shaders/glsl100/standard.vs create mode 100644 examples/resources/shaders/glsl330/standard.fs create mode 100644 examples/resources/shaders/glsl330/standard.vs diff --git a/examples/resources/shaders/glsl100/standard.fs b/examples/resources/shaders/glsl100/standard.fs new file mode 100644 index 000000000..6ce2a1868 --- /dev/null +++ b/examples/resources/shaders/glsl100/standard.fs @@ -0,0 +1,161 @@ +#version 100 + +precision mediump float; + +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +uniform sampler2D texture0; +uniform sampler2D texture1; +uniform sampler2D texture2; + +uniform vec4 colAmbient; +uniform vec4 colDiffuse; +uniform vec4 colSpecular; +uniform float glossiness; + +uniform int useNormal; +uniform int useSpecular; + +uniform mat4 modelMatrix; +uniform vec3 viewDir; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 direction; + vec4 diffuse; + float intensity; + float radius; + float coneAngle; +}; + +const int maxLights = 8; +uniform Light lights[maxLights]; + +vec3 ComputeLightPoint(Light l, vec3 n, vec3 v, float s) +{ +/* + vec3 surfacePos = vec3(modelMatrix*vec4(fragPosition, 1.0)); + vec3 surfaceToLight = l.position - surfacePos; + + // Diffuse shading + float brightness = clamp(float(dot(n, surfaceToLight)/(length(surfaceToLight)*length(n))), 0.0, 1.0); + float diff = 1.0/dot(surfaceToLight/l.radius, surfaceToLight/l.radius)*brightness*l.intensity; + + // Specular shading + float spec = 0.0; + if (diff > 0.0) + { + vec3 h = normalize(-l.direction + v); + spec = pow(dot(n, h), 3.0 + glossiness)*s; + } + + return (diff*l.diffuse.rgb + spec*colSpecular.rgb); +*/ + return vec3(0.5); +} + +vec3 ComputeLightDirectional(Light l, vec3 n, vec3 v, float s) +{ +/* + vec3 lightDir = normalize(-l.direction); + + // Diffuse shading + float diff = clamp(float(dot(n, lightDir)), 0.0, 1.0)*l.intensity; + + // Specular shading + float spec = 0.0; + if (diff > 0.0) + { + vec3 h = normalize(lightDir + v); + spec = pow(dot(n, h), 3.0 + glossiness)*s; + } + + // Combine results + return (diff*l.intensity*l.diffuse.rgb + spec*colSpecular.rgb); +*/ + return vec3(0.5); +} + +vec3 ComputeLightSpot(Light l, vec3 n, vec3 v, float s) +{ +/* + vec3 surfacePos = vec3(modelMatrix*vec4(fragPosition, 1)); + vec3 lightToSurface = normalize(surfacePos - l.position); + vec3 lightDir = normalize(-l.direction); + + // Diffuse shading + float diff = clamp(float(dot(n, lightDir)), 0.0, 1.0)*l.intensity; + + // Spot attenuation + float attenuation = clamp(float(dot(n, lightToSurface)), 0.0, 1.0); + attenuation = dot(lightToSurface, -lightDir); + + float lightToSurfaceAngle = degrees(acos(attenuation)); + if (lightToSurfaceAngle > l.coneAngle) attenuation = 0.0; + + float falloff = (l.coneAngle - lightToSurfaceAngle)/l.coneAngle; + + // Combine diffuse and attenuation + float diffAttenuation = diff*attenuation; + + // Specular shading + float spec = 0.0; + if (diffAttenuation > 0.0) + { + vec3 h = normalize(lightDir + v); + spec = pow(dot(n, h), 3.0 + glossiness)*s; + } + + return (falloff*(diffAttenuation*l.diffuse.rgb + spec*colSpecular.rgb)); +*/ + return vec3(0.5); +} + +void main() +{ + // Calculate fragment normal in screen space + // NOTE: important to multiply model matrix by fragment normal to apply model transformation (rotation and scale) + mat3 normalMatrix = mat3(modelMatrix); + vec3 normal = normalize(normalMatrix*fragNormal); + + // Normalize normal and view direction vectors + vec3 n = normalize(normal); + vec3 v = normalize(viewDir); + + // Calculate diffuse texture color fetching + vec4 texelColor = texture2D(texture0, fragTexCoord); + vec3 lighting = colAmbient.rgb; + + // Calculate normal texture color fetching or set to maximum normal value by default + if (useNormal == 1) + { + n *= texture2D(texture1, fragTexCoord).rgb; + n = normalize(n); + } + + // Calculate specular texture color fetching or set to maximum specular value by default + float spec = 1.0; + if (useSpecular == 1) spec *= normalize(texture2D(texture2, fragTexCoord).r); + + for (int i = 0; i < maxLights; i++) + { + // Check if light is enabled + if (lights[i].enabled == 1) + { + // Calculate lighting based on light type + if(lights[i].type == 0) lighting += ComputeLightPoint(lights[i], n, v, spec); + else if(lights[i].type == 1) lighting += ComputeLightDirectional(lights[i], n, v, spec); + else if(lights[i].type == 2) lighting += ComputeLightSpot(lights[i], n, v, spec); + + // NOTE: It seems that too many ComputeLight*() operations inside for loop breaks the shader on RPI + } + } + + // Calculate final fragment color + gl_FragColor = vec4(texelColor.rgb*lighting*colDiffuse.rgb, texelColor.a*colDiffuse.a); +} diff --git a/examples/resources/shaders/glsl100/standard.vs b/examples/resources/shaders/glsl100/standard.vs new file mode 100644 index 000000000..49c5a3ebf --- /dev/null +++ b/examples/resources/shaders/glsl100/standard.vs @@ -0,0 +1,23 @@ +#version 100 + +attribute vec3 vertexPosition; +attribute vec3 vertexNormal; +attribute vec2 vertexTexCoord; +attribute vec4 vertexColor; + +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +uniform mat4 mvpMatrix; + +void main() +{ + fragPosition = vertexPosition; + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + fragNormal = vertexNormal; + + gl_Position = mvpMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/resources/shaders/glsl330/standard.fs b/examples/resources/shaders/glsl330/standard.fs new file mode 100644 index 000000000..144978399 --- /dev/null +++ b/examples/resources/shaders/glsl330/standard.fs @@ -0,0 +1,150 @@ +#version 330 + +in vec3 fragPosition; +in vec2 fragTexCoord; +in vec4 fragColor; +in vec3 fragNormal; + +out vec4 finalColor; + +uniform sampler2D texture0; +uniform sampler2D texture1; +uniform sampler2D texture2; + +uniform vec4 colAmbient; +uniform vec4 colDiffuse; +uniform vec4 colSpecular; +uniform float glossiness; + +uniform int useNormal; +uniform int useSpecular; + +uniform mat4 modelMatrix; +uniform vec3 viewDir; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 direction; + vec4 diffuse; + float intensity; + float radius; + float coneAngle; +}; + +const int maxLights = 8; +uniform Light lights[maxLights]; + +vec3 ComputeLightPoint(Light l, vec3 n, vec3 v, float s) +{ + vec3 surfacePos = vec3(modelMatrix*vec4(fragPosition, 1)); + vec3 surfaceToLight = l.position - surfacePos; + + // Diffuse shading + float brightness = clamp(float(dot(n, surfaceToLight)/(length(surfaceToLight)*length(n))), 0.0, 1.0); + float diff = 1.0/dot(surfaceToLight/l.radius, surfaceToLight/l.radius)*brightness*l.intensity; + + // Specular shading + float spec = 0.0; + if (diff > 0.0) + { + vec3 h = normalize(-l.direction + v); + spec = pow(dot(n, h), 3.0 + glossiness)*s; + } + + return (diff*l.diffuse.rgb + spec*colSpecular.rgb); +} + +vec3 ComputeLightDirectional(Light l, vec3 n, vec3 v, float s) +{ + vec3 lightDir = normalize(-l.direction); + + // Diffuse shading + float diff = clamp(float(dot(n, lightDir)), 0.0, 1.0)*l.intensity; + + // Specular shading + float spec = 0.0; + if (diff > 0.0) + { + vec3 h = normalize(lightDir + v); + spec = pow(dot(n, h), 3.0 + glossiness)*s; + } + + // Combine results + return (diff*l.intensity*l.diffuse.rgb + spec*colSpecular.rgb); +} + +vec3 ComputeLightSpot(Light l, vec3 n, vec3 v, float s) +{ + vec3 surfacePos = vec3(modelMatrix*vec4(fragPosition, 1)); + vec3 lightToSurface = normalize(surfacePos - l.position); + vec3 lightDir = normalize(-l.direction); + + // Diffuse shading + float diff = clamp(float(dot(n, lightDir)), 0.0, 1.0)*l.intensity; + + // Spot attenuation + float attenuation = clamp(float(dot(n, lightToSurface)), 0.0, 1.0); + attenuation = dot(lightToSurface, -lightDir); + + float lightToSurfaceAngle = degrees(acos(attenuation)); + if (lightToSurfaceAngle > l.coneAngle) attenuation = 0.0; + + float falloff = (l.coneAngle - lightToSurfaceAngle)/l.coneAngle; + + // Combine diffuse and attenuation + float diffAttenuation = diff*attenuation; + + // Specular shading + float spec = 0.0; + if (diffAttenuation > 0.0) + { + vec3 h = normalize(lightDir + v); + spec = pow(dot(n, h), 3.0 + glossiness)*s; + } + + return (falloff*(diffAttenuation*l.diffuse.rgb + spec*colSpecular.rgb)); +} + +void main() +{ + // Calculate fragment normal in screen space + // NOTE: important to multiply model matrix by fragment normal to apply model transformation (rotation and scale) + mat3 normalMatrix = mat3(modelMatrix); + vec3 normal = normalize(normalMatrix*fragNormal); + + // Normalize normal and view direction vectors + vec3 n = normalize(normal); + vec3 v = normalize(viewDir); + + // Calculate diffuse texture color fetching + vec4 texelColor = texture(texture0, fragTexCoord); + vec3 lighting = colAmbient.rgb; + + // Calculate normal texture color fetching or set to maximum normal value by default + if (useNormal == 1) + { + n *= texture(texture1, fragTexCoord).rgb; + n = normalize(n); + } + + // Calculate specular texture color fetching or set to maximum specular value by default + float spec = 1.0; + if (useSpecular == 1) spec *= normalize(texture(texture2, fragTexCoord).r); + + for (int i = 0; i < maxLights; i++) + { + // Check if light is enabled + if (lights[i].enabled == 1) + { + // Calculate lighting based on light type + if (lights[i].type == 0) lighting += ComputeLightPoint(lights[i], n, v, spec); + else if (lights[i].type == 1) lighting += ComputeLightDirectional(lights[i], n, v, spec); + else if (lights[i].type == 2) lighting += ComputeLightSpot(lights[i], n, v, spec); + } + } + + // Calculate final fragment color + finalColor = vec4(texelColor.rgb*lighting*colDiffuse.rgb, texelColor.a*colDiffuse.a); +} diff --git a/examples/resources/shaders/glsl330/standard.vs b/examples/resources/shaders/glsl330/standard.vs new file mode 100644 index 000000000..fc0a5ff40 --- /dev/null +++ b/examples/resources/shaders/glsl330/standard.vs @@ -0,0 +1,23 @@ +#version 330 + +in vec3 vertexPosition; +in vec3 vertexNormal; +in vec2 vertexTexCoord; +in vec4 vertexColor; + +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec4 fragColor; +out vec3 fragNormal; + +uniform mat4 mvpMatrix; + +void main() +{ + fragPosition = vertexPosition; + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + fragNormal = vertexNormal; + + gl_Position = mvpMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file From 1ffe713d930db1ecfae57d162452162a8c521d17 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 21 Sep 2016 12:29:03 +0200 Subject: [PATCH 078/102] Corrected bug --- src/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Makefile b/src/Makefile index 758125666..ee3f0c12a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -100,6 +100,8 @@ ifeq ($(SHARED),YES) CFLAGS += -fPIC SHAREDFLAG = BUILDING_DLL SHAREDLIBS = -Lexternal/glfw3/lib/win32 -Lexternal/openal_soft/lib/win32 -lglfw3 -lopenal32 -lgdi32 +else + SHAREDFLAG = BUILDING_STATIC endif #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes From 4a65b19f0f48104567f36ebc5c2cea75f5866377 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 22 Sep 2016 14:35:50 +0200 Subject: [PATCH 079/102] Simplify supported image formats Removed support for some unusual image formats --- src/textures.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/textures.c b/src/textures.c index d4dd2ac25..5de0590b1 100644 --- a/src/textures.c +++ b/src/textures.c @@ -39,6 +39,16 @@ #include "utils.h" // rRES data decompression utility function // NOTE: Includes Android fopen function map +// Support only desired texture formats, by default: JPEG, PNG, BMP, TGA +//#define STBI_NO_JPEG // Image format .jpg and .jpeg +//#define STBI_NO_PNG +//#define STBI_NO_BMP +//#define STBI_NO_TGA +#define STBI_NO_PSD +#define STBI_NO_GIF +#define STBI_NO_HDR +#define STBI_NO_PIC +#define STBI_NO_PNM // Image format .ppm and .pgm #define STB_IMAGE_IMPLEMENTATION #include "external/stb_image.h" // Required for: stbi_load() // NOTE: Used to read image data (multiple formats support) @@ -95,10 +105,17 @@ Image LoadImage(const char *fileName) if ((strcmp(GetExtension(fileName),"png") == 0) || (strcmp(GetExtension(fileName),"bmp") == 0) || (strcmp(GetExtension(fileName),"tga") == 0) || - (strcmp(GetExtension(fileName),"jpg") == 0) || - (strcmp(GetExtension(fileName),"gif") == 0) || - (strcmp(GetExtension(fileName),"psd") == 0) || - (strcmp(GetExtension(fileName),"pic") == 0)) + (strcmp(GetExtension(fileName),"jpg") == 0) +#ifndef STBI_NO_GIF + || (strcmp(GetExtension(fileName),"gif") == 0) +#endif +#ifndef STBI_NO_PSD + || (strcmp(GetExtension(fileName),"psd") == 0) +#endif +#ifndef STBI_NO_PIC + || (strcmp(GetExtension(fileName),"pic") == 0) +#endif + ) { int imgWidth = 0; int imgHeight = 0; From 65d4eb5e826ee416feb951281e805df93a455a65 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 22 Sep 2016 14:38:17 +0200 Subject: [PATCH 080/102] Simplify camera module -IN PROGRESS- Removed internal Camera, not required any more Removed useless functions --- src/camera.h | 249 +++++++++++++++++++++++---------------------------- 1 file changed, 110 insertions(+), 139 deletions(-) diff --git a/src/camera.h b/src/camera.h index 72a0e7062..cda09df41 100644 --- a/src/camera.h +++ b/src/camera.h @@ -182,10 +182,8 @@ typedef enum { MOVE_FRONT = 0, MOVE_LEFT, MOVE_BACK, MOVE_RIGHT, MOVE_UP, MOVE_D //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static Camera internalCamera = {{ 2.0f, 0.0f, 2.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; - static Vector2 cameraAngle = { 0.0f, 0.0f }; -static float cameraTargetDistance = 5.0f; +static float cameraTargetDistance = 5.0f; // TODO: Remove! Use predefined camera->target to camera->position distance static Vector2 cameraMousePosition = { 0.0f, 0.0f }; static Vector2 cameraMouseVariation = { 0.0f, 0.0f }; @@ -202,8 +200,6 @@ static int cameraMode = CAMERA_CUSTOM; // Current internal camera //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- -static void ProcessCamera(Camera *camera, Vector3 *playerPosition); - #if defined(CAMERA_STANDALONE) // NOTE: Camera controls depend on some raylib input functions // TODO: Set your own input functions (used in ProcessCamera()) @@ -228,142 +224,56 @@ void SetCameraMode(int mode) { if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_FREE)) { - cameraMode = CAMERA_THIRD_PERSON; - cameraTargetDistance = 5.0f; + cameraTargetDistance = 5.0f; // TODO: Review hardcode! cameraAngle.y = -40*DEG2RAD; - ProcessCamera(&internalCamera, &internalCamera.position); } else if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_ORBITAL)) { - cameraMode = CAMERA_THIRD_PERSON; - cameraTargetDistance = 5.0f; + cameraTargetDistance = 5.0f; // TODO: Review hardcode! cameraAngle.y = -40*DEG2RAD; - ProcessCamera(&internalCamera, &internalCamera.position); } else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_FREE)) { - cameraTargetDistance = 10.0f; + cameraTargetDistance = 10.0f; // TODO: Review hardcode! cameraAngle.x = 45*DEG2RAD; cameraAngle.y = -40*DEG2RAD; - internalCamera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; - ProcessCamera(&internalCamera, &internalCamera.position); ShowCursor(); } else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_ORBITAL)) { - cameraTargetDistance = 10.0f; + //cameraTargetDistance = 10.0f; // TODO: Review hardcode! cameraAngle.x = 225*DEG2RAD; cameraAngle.y = -40*DEG2RAD; - internalCamera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; - ProcessCamera(&internalCamera, &internalCamera.position); } - + + /* + Vector3 v1 = internalCamera.position; + Vector3 v2 = internalCamera.target; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + float dz = v2.z - v1.z; + + cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); + */ + cameraMode = mode; } -// Update camera (player position is ignored) -void UpdateCamera(Camera *camera) -{ - Vector3 position = { 0.0f, 0.0f, 0.0f }; - - // Process internal camera and player position (if required) - if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, &position); - - *camera = internalCamera; -} - -// Update camera and player position (1st person and 3rd person cameras) -void UpdateCameraPlayer(Camera *camera, Vector3 *position) -{ - // Process internal camera and player position (if required) - if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, position); - - *camera = internalCamera; -} - -// Set internal camera position -void SetCameraPosition(Vector3 position) -{ - internalCamera.position = position; - - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - float dz = v2.z - v1.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); -} - -// Set internal camera target -void SetCameraTarget(Vector3 target) -{ - internalCamera.target = target; - - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - float dz = v2.z - v1.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); -} - -// Set internal camera fovy -void SetCameraFovy(float fovy) -{ - internalCamera.fovy = fovy; -} - -// Set camera pan key to combine with mouse movement (free camera) -void SetCameraPanControl(int panKey) -{ - cameraPanControlKey = panKey; -} - -// Set camera alt key to combine with mouse movement (free camera) -void SetCameraAltControl(int altKey) -{ - cameraAltControlKey = altKey; -} - -// Set camera smooth zoom key to combine with mouse (free camera) -void SetCameraSmoothZoomControl(int szKey) -{ - cameraSmoothZoomControlKey = szKey; -} - -// Set camera move controls (1st person and 3rd person cameras) -void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey) -{ - cameraMoveControl[MOVE_FRONT] = frontKey; - cameraMoveControl[MOVE_LEFT] = leftKey; - cameraMoveControl[MOVE_BACK] = backKey; - cameraMoveControl[MOVE_RIGHT] = rightKey; - cameraMoveControl[MOVE_UP] = upKey; - cameraMoveControl[MOVE_DOWN] = downKey; -} - -// Set camera mouse sensitivity (1st person and 3rd person cameras) -void SetCameraMouseSensitivity(float sensitivity) -{ - cameraMouseSensitivity = (sensitivity/10000.0f); -} - -//---------------------------------------------------------------------------------- -// Module specific Functions Definition -//---------------------------------------------------------------------------------- - -// Process desired camera mode and controls +// Update camera depending on selected mode // NOTE: Camera controls depend on some raylib functions: // Mouse: GetMousePosition(), SetMousePosition(), IsMouseButtonDown(), GetMouseWheelMove() // System: GetScreenWidth(), GetScreenHeight(), ShowCursor(), HideCursor() // Keys: IsKeyDown() -static void ProcessCamera(Camera *camera, Vector3 *playerPosition) +void UpdateCamera(Camera *camera) { + /* + if (cameraMode != CAMERA_CUSTOM) + { + + } + */ // Mouse movement detection Vector2 mousePosition = GetMousePosition(); int mouseWheelMove = GetMouseWheelMove(); @@ -523,46 +433,38 @@ static void ProcessCamera(Camera *camera, Vector3 *playerPosition) // Keyboard inputs if (IsKeyDown(cameraMoveControl[MOVE_FRONT])) { - playerPosition->x -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - + camera->position.x -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; camera->position.y += sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; + camera->position.z -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; isMoving = true; } else if (IsKeyDown(cameraMoveControl[MOVE_BACK])) { - playerPosition->x += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - + camera->position.x += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; camera->position.y -= sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; + camera->position.z += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; isMoving = true; } if (IsKeyDown(cameraMoveControl[MOVE_LEFT])) { - playerPosition->x -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + camera->position.x -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + camera->position.z += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; isMoving = true; } else if (IsKeyDown(cameraMoveControl[MOVE_RIGHT])) { - playerPosition->x += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + camera->position.x += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + camera->position.z -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; isMoving = true; } - if (IsKeyDown(cameraMoveControl[MOVE_UP])) - { - playerPosition->y += 1.0f/PLAYER_MOVEMENT_DIVIDER; - } - else if (IsKeyDown(cameraMoveControl[MOVE_DOWN])) - { - playerPosition->y -= 1.0f/PLAYER_MOVEMENT_DIVIDER; - } + if (IsKeyDown(cameraMoveControl[MOVE_UP])) camera->position.y += 1.0f/PLAYER_MOVEMENT_DIVIDER; + else if (IsKeyDown(cameraMoveControl[MOVE_DOWN])) camera->position.y -= 1.0f/PLAYER_MOVEMENT_DIVIDER; if (cameraMode == CAMERA_THIRD_PERSON) { @@ -581,9 +483,9 @@ static void ProcessCamera(Camera *camera, Vector3 *playerPosition) if (cameraTargetDistance < CAMERA_THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = CAMERA_THIRD_PERSON_DISTANCE_CLAMP; // Camera is always looking at player - camera->target.x = playerPosition->x + CAMERA_THIRD_PERSON_OFFSET.x*cos(cameraAngle.x) + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x); - camera->target.y = playerPosition->y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + CAMERA_THIRD_PERSON_OFFSET.y; - camera->target.z = playerPosition->z + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x) - CAMERA_THIRD_PERSON_OFFSET.x*sin(cameraAngle.x); + camera->target.x = camera->position.x + CAMERA_THIRD_PERSON_OFFSET.x*cos(cameraAngle.x) + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x); + camera->target.y = camera->position.y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + CAMERA_THIRD_PERSON_OFFSET.y; + camera->target.z = camera->position.z + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x) - CAMERA_THIRD_PERSON_OFFSET.x*sin(cameraAngle.x); // Camera position update camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; @@ -610,9 +512,12 @@ static void ProcessCamera(Camera *camera, Vector3 *playerPosition) camera->target.y = camera->position.y + sin(cameraAngle.y)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; camera->target.z = camera->position.z - cos(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; - camera->position.x = playerPosition->x; - camera->position.y = (playerPosition->y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) - sin(cameraMoveCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; - camera->position.z = playerPosition->z; + // Camera position update + //camera->position.y = (playerPosition.y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) + // - sin(cameraMoveCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; + + // TODO: Review limits, avoid moving under the ground (y = 0.0f) and over the 'eyes position', weird movement (rounding issues...) + camera->position.y -= sin(cameraMoveCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; camera->up.x = sin(cameraMoveCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; camera->up.z = -sin(cameraMoveCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; @@ -622,4 +527,70 @@ static void ProcessCamera(Camera *camera, Vector3 *playerPosition) } } +/* +// Set internal camera position +void SetCameraPosition(Vector3 position) +{ + internalCamera.position = position; + + Vector3 v1 = internalCamera.position; + Vector3 v2 = internalCamera.target; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + float dz = v2.z - v1.z; + + cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); +} + +// Set internal camera target +void SetCameraTarget(Vector3 target) +{ + internalCamera.target = target; + + Vector3 v1 = internalCamera.position; + Vector3 v2 = internalCamera.target; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + float dz = v2.z - v1.z; + + cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); +} +*/ +// Set camera pan key to combine with mouse movement (free camera) +void SetCameraPanControl(int panKey) +{ + cameraPanControlKey = panKey; +} + +// Set camera alt key to combine with mouse movement (free camera) +void SetCameraAltControl(int altKey) +{ + cameraAltControlKey = altKey; +} + +// Set camera smooth zoom key to combine with mouse (free camera) +void SetCameraSmoothZoomControl(int szKey) +{ + cameraSmoothZoomControlKey = szKey; +} + +// Set camera move controls (1st person and 3rd person cameras) +void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey) +{ + cameraMoveControl[MOVE_FRONT] = frontKey; + cameraMoveControl[MOVE_LEFT] = leftKey; + cameraMoveControl[MOVE_BACK] = backKey; + cameraMoveControl[MOVE_RIGHT] = rightKey; + cameraMoveControl[MOVE_UP] = upKey; + cameraMoveControl[MOVE_DOWN] = downKey; +} + +// Set camera mouse sensitivity (1st person and 3rd person cameras) +void SetCameraMouseSensitivity(float sensitivity) +{ + cameraMouseSensitivity = (sensitivity/10000.0f); +} + #endif // CAMERA_IMPLEMENTATION From 87fc7254e725f4e5c5137b31d1dfe56be8e22cf0 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 23 Sep 2016 23:25:13 +0200 Subject: [PATCH 081/102] Corrected crashing bug! When SetTargetFPS(0) app crashes horribly (division by zero) --- src/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core.c b/src/core.c index d5b07e7ab..63c880f17 100644 --- a/src/core.c +++ b/src/core.c @@ -689,7 +689,8 @@ void EndTextureMode(void) // Set target FPS for the game void SetTargetFPS(int fps) { - targetTime = 1.0/(double)fps; + if (fps < 1) targetTime = 0.0; + else targetTime = 1.0/(double)fps; TraceLog(INFO, "Target time per frame: %02.03f milliseconds", (float)targetTime*1000); } From 753b549aa5c6a010fc4de8acc2f64afdfce69cee Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 25 Sep 2016 14:28:24 +0200 Subject: [PATCH 082/102] Improving camera system -IN PROGRESS- --- examples/core_3d_camera_first_person.c | 9 +- examples/core_3d_camera_free.c | 5 +- examples/models_cubicmap.c | 10 +- src/camera.h | 282 ++++++++++--------------- src/raylib.h | 17 +- 5 files changed, 132 insertions(+), 191 deletions(-) diff --git a/examples/core_3d_camera_first_person.c b/examples/core_3d_camera_first_person.c index 56e38a237..3675d46aa 100644 --- a/examples/core_3d_camera_first_person.c +++ b/examples/core_3d_camera_first_person.c @@ -23,7 +23,7 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera first person"); // Define the camera to look into our 3d world (position, target, up vector) - Camera camera = {{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 60.0f }; + Camera camera = {{ 4.0f, 2.0f, 4.0f }, { 0.0f, 2.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 60.0f }; // Generates some random columns float heights[MAX_COLUMNS]; @@ -37,10 +37,7 @@ int main() colors[i] = (Color){ GetRandomValue(20, 255), GetRandomValue(10, 55), 30, 255 }; } - Vector3 playerPosition = { 4.0f, 2.0f, 4.0f }; // Define player position - - SetCameraMode(CAMERA_FIRST_PERSON); // Set a first person camera mode - SetCameraFovy(camera.fovy); // Set internal camera field-of-view Y + SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set a first person camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -50,7 +47,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCameraPlayer(&camera, &playerPosition); // Update camera and player position + UpdateCamera(&camera); // Update camera and player position //---------------------------------------------------------------------------------- // Draw diff --git a/examples/core_3d_camera_free.c b/examples/core_3d_camera_free.c index fa7ad85f4..257bb7899 100644 --- a/examples/core_3d_camera_free.c +++ b/examples/core_3d_camera_free.c @@ -29,10 +29,7 @@ int main() Vector3 cubePosition = { 0.0f, 0.0f, 0.0f }; - SetCameraMode(CAMERA_FREE); // Set a free camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target - SetCameraFovy(camera.fovy); // Set internal camera field-of-view Y + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/models_cubicmap.c b/examples/models_cubicmap.c index 89bc75cf5..df700d65f 100644 --- a/examples/models_cubicmap.c +++ b/examples/models_cubicmap.c @@ -35,19 +35,17 @@ int main() UnloadImage(image); // Unload cubesmap image from RAM, already uploaded to VRAM - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our custom camera position - SetCameraFovy(camera.fovy); // Set internal camera field-of-view Y + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode - SetTargetFPS(60); // Set our game to run at 60 frames-per-second + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key + while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera //---------------------------------------------------------------------------------- // Draw diff --git a/src/camera.h b/src/camera.h index cda09df41..0c7b5a13f 100644 --- a/src/camera.h +++ b/src/camera.h @@ -47,7 +47,13 @@ //---------------------------------------------------------------------------------- #if defined(CAMERA_STANDALONE) // Camera modes - typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; + typedef enum { + CAMERA_CUSTOM = 0, + CAMERA_FREE, + CAMERA_ORBITAL, + CAMERA_FIRST_PERSON, + CAMERA_THIRD_PERSON + } CameraMode; // Vector2 type typedef struct Vector2 { @@ -67,6 +73,7 @@ Vector3 position; Vector3 target; Vector3 up; + float fovy; } Camera; #endif @@ -83,22 +90,16 @@ extern "C" { // Prevents name mangling of functions // Module Functions Declaration //---------------------------------------------------------------------------------- #if defined(CAMERA_STANDALONE) -void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) +void SetCameraMode(Camera camera, int mode); // Set camera mode (multiple camera modes available) void UpdateCamera(Camera *camera); // Update camera (player position is ignored) -void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) - -void SetCameraPosition(Vector3 position); // Set internal camera position -void SetCameraTarget(Vector3 target); // Set internal camera target -void SetCameraFovy(float fovy); // Set internal camera field-of-view-y +// TODO: Do we really need all those functions? void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) - void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) -void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) #endif #ifdef __cplusplus @@ -133,8 +134,10 @@ void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- -// CAMERA_GENERIC -#define CAMERA_SCROLL_SENSITIVITY 1.5f +// Camera mouse movement sensitivity +#define CAMERA_MOUSE_MOVE_SENSITIVITY 0.003f +#define CAMERA_MOUSE_SCROLL_SENSITIVITY 1.5f + // FREE_CAMERA #define CAMERA_FREE_MOUSE_SENSITIVITY 0.01f @@ -182,20 +185,15 @@ typedef enum { MOVE_FRONT = 0, MOVE_LEFT, MOVE_BACK, MOVE_RIGHT, MOVE_UP, MOVE_D //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static Vector2 cameraAngle = { 0.0f, 0.0f }; -static float cameraTargetDistance = 5.0f; // TODO: Remove! Use predefined camera->target to camera->position distance -static Vector2 cameraMousePosition = { 0.0f, 0.0f }; -static Vector2 cameraMouseVariation = { 0.0f, 0.0f }; +static Vector2 cameraAngle = { 0.0f, 0.0f }; // TODO: Remove! Compute it in UpdateCamera() using camera->target and camera->position +static float cameraTargetDistance = 5.0f; // TODO: Remove! Compute it in UpdateCamera() using camera->target and camera->position static int cameraMoveControl[6] = { 'W', 'A', 'S', 'D', 'E', 'Q' }; static int cameraPanControlKey = 2; // raylib: MOUSE_MIDDLE_BUTTON static int cameraAltControlKey = 342; // raylib: KEY_LEFT_ALT static int cameraSmoothZoomControlKey = 341; // raylib: KEY_LEFT_CONTROL -static int cameraMoveCounter = 0; // Used for 1st person swinging movement -static float cameraMouseSensitivity = 0.003f; // How sensible is camera movement to mouse movement - -static int cameraMode = CAMERA_CUSTOM; // Current internal camera mode +static int cameraMode = CAMERA_CUSTOM; // Current camera mode //---------------------------------------------------------------------------------- // Module specific Functions Declaration @@ -219,45 +217,21 @@ static int IsKeyDown(int key) { return 0; } //---------------------------------------------------------------------------------- // Select camera mode (multiple camera modes available) -// TODO: Review hardcoded values when changing modes... -void SetCameraMode(int mode) +void SetCameraMode(Camera camera, int mode) { - if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_FREE)) - { - cameraTargetDistance = 5.0f; // TODO: Review hardcode! - cameraAngle.y = -40*DEG2RAD; - } - else if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_ORBITAL)) - { - cameraTargetDistance = 5.0f; // TODO: Review hardcode! - cameraAngle.y = -40*DEG2RAD; - } - else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_FREE)) - { - cameraTargetDistance = 10.0f; // TODO: Review hardcode! - cameraAngle.x = 45*DEG2RAD; - cameraAngle.y = -40*DEG2RAD; - - ShowCursor(); - } - else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_ORBITAL)) - { - //cameraTargetDistance = 10.0f; // TODO: Review hardcode! - cameraAngle.x = 225*DEG2RAD; - cameraAngle.y = -40*DEG2RAD; - } - - /* - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; + // TODO: cameraTargetDistance and cameraAngle should be + // calculated using camera parameters on UpdateCamera() + + Vector3 v1 = camera.position; + Vector3 v2 = camera.target; float dx = v2.x - v1.x; float dy = v2.y - v1.y; float dz = v2.z - v1.z; cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); - */ - + cameraAngle.y = -40*DEG2RAD; + cameraMode = mode; } @@ -266,47 +240,72 @@ void SetCameraMode(int mode) // Mouse: GetMousePosition(), SetMousePosition(), IsMouseButtonDown(), GetMouseWheelMove() // System: GetScreenWidth(), GetScreenHeight(), ShowCursor(), HideCursor() // Keys: IsKeyDown() +// TODO: Consider touch inputs for camera! +// TODO: Port to quaternion-based camera! void UpdateCamera(Camera *camera) { + static int swingCounter = 0; // Used for 1st person swinging movement + static Vector2 previousMousePosition = { 0.0f, 0.0f }; + + // TODO: Compute cameraTargetDistance and cameraAngle + // NOTE: If cameraTargetDistance and cameraAngle change, camera->position is accordingly updated /* - if (cameraMode != CAMERA_CUSTOM) - { - - } + Vector2 cameraAngle = { 0.0f, 0.0f }; + float cameraTargetDistance = 0.0f; + + float dx = camera->target.x - camera->position.x; + float dy = camera->target.y - camera->position.y; + float dz = camera->target.z - camera->position.z; + + cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); + + Vector2 distance = { 0.0f, 0.0f }; + distance.x = sqrt(dx*dx + dy*dy); + distance.y = sqrt(dx*dx + dz*dz); + + cameraAngle.x = asin(fabs(dx)/distance.x); + cameraAngle.y = asin(fabs(dz)/distance.y); */ + // Mouse movement detection + Vector2 mousePositionDelta = { 0.0f, 0.0f }; Vector2 mousePosition = GetMousePosition(); int mouseWheelMove = GetMouseWheelMove(); int panKey = IsMouseButtonDown(cameraPanControlKey); // bool value - int screenWidth = GetScreenWidth(); - int screenHeight = GetScreenHeight(); - - if ((cameraMode != CAMERA_FREE) && (cameraMode != CAMERA_ORBITAL)) + if (cameraMode != CAMERA_CUSTOM) { - HideCursor(); - - if (mousePosition.x < screenHeight/3) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y}); - else if (mousePosition.y < screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3}); - else if (mousePosition.x > screenWidth - screenHeight/3) SetMousePosition((Vector2) { screenHeight/3, mousePosition.y}); - else if (mousePosition.y > screenHeight - screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3}); - else + // Get screen size + int screenWidth = GetScreenWidth(); + int screenHeight = GetScreenHeight(); + + if ((cameraMode == CAMERA_FIRST_PERSON) || + (cameraMode == CAMERA_THIRD_PERSON)) { - cameraMouseVariation.x = mousePosition.x - cameraMousePosition.x; - cameraMouseVariation.y = mousePosition.y - cameraMousePosition.y; + HideCursor(); + + if (mousePosition.x < screenHeight/3) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y}); + else if (mousePosition.y < screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3}); + else if (mousePosition.x > screenWidth - screenHeight/3) SetMousePosition((Vector2) { screenHeight/3, mousePosition.y}); + else if (mousePosition.y > screenHeight - screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3}); + else + { + mousePositionDelta.x = mousePosition.x - previousMousePosition.x; + mousePositionDelta.y = mousePosition.y - previousMousePosition.y; + } } - } - else - { - ShowCursor(); + else // CAMERA_FREE, CAMERA_ORBITAL + { + ShowCursor(); - cameraMouseVariation.x = mousePosition.x - cameraMousePosition.x; - cameraMouseVariation.y = mousePosition.y - cameraMousePosition.y; - } + mousePositionDelta.x = mousePosition.x - previousMousePosition.x; + mousePositionDelta.y = mousePosition.y - previousMousePosition.y; + } - // NOTE: We GetMousePosition() again because it can be modified by a previous SetMousePosition() call - // If using directly mousePosition variable we have problems on CAMERA_FIRST_PERSON and CAMERA_THIRD_PERSON - cameraMousePosition = GetMousePosition(); + // NOTE: We GetMousePosition() again because it can be modified by a previous SetMousePosition() call + // If using directly mousePosition variable we have problems on CAMERA_FIRST_PERSON and CAMERA_THIRD_PERSON + previousMousePosition = GetMousePosition(); + } // Support for multiple automatic camera modes switch (cameraMode) @@ -316,48 +315,48 @@ void UpdateCamera(Camera *camera) // Camera zoom if ((cameraTargetDistance < CAMERA_FREE_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) { - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); if (cameraTargetDistance > CAMERA_FREE_DISTANCE_MAX_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MAX_CLAMP; } // Camera looking down else if ((camera->position.y > camera->target.y) && (cameraTargetDistance == CAMERA_FREE_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; } else if ((camera->position.y > camera->target.y) && (camera->target.y >= 0)) { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; // if (camera->target.y < 0) camera->target.y = -0.001; } else if ((camera->position.y > camera->target.y) && (camera->target.y < 0) && (mouseWheelMove > 0)) { - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); if (cameraTargetDistance < CAMERA_FREE_DISTANCE_MIN_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MIN_CLAMP; } // Camera looking up else if ((camera->position.y < camera->target.y) && (cameraTargetDistance == CAMERA_FREE_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; } else if ((camera->position.y < camera->target.y) && (camera->target.y <= 0)) { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_MOUSE_SCROLL_SENSITIVITY/cameraTargetDistance; // if (camera->target.y > 0) camera->target.y = 0.001; } else if ((camera->position.y < camera->target.y) && (camera->target.y > 0) && (mouseWheelMove > 0)) { - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); if (cameraTargetDistance < CAMERA_FREE_DISTANCE_MIN_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MIN_CLAMP; } @@ -367,15 +366,15 @@ void UpdateCamera(Camera *camera) if (IsKeyDown(cameraSmoothZoomControlKey)) { // Camera smooth zoom - if (panKey) cameraTargetDistance += (cameraMouseVariation.y*CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY); + if (panKey) cameraTargetDistance += (mousePositionDelta.y*CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY); } // Camera orientation calculation else if (panKey) { // Camera orientation calculation // Get the mouse sensitivity - cameraAngle.x += cameraMouseVariation.x*-CAMERA_FREE_MOUSE_SENSITIVITY; - cameraAngle.y += cameraMouseVariation.y*-CAMERA_FREE_MOUSE_SENSITIVITY; + cameraAngle.x += mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY; + cameraAngle.y += mousePositionDelta.y*-CAMERA_FREE_MOUSE_SENSITIVITY; // Angle clamp if (cameraAngle.y > CAMERA_FREE_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MIN_CLAMP*DEG2RAD; @@ -385,9 +384,9 @@ void UpdateCamera(Camera *camera) // Paning else if (panKey) { - camera->target.x += ((cameraMouseVariation.x*-CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (cameraMouseVariation.y*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); - camera->target.y += ((cameraMouseVariation.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); - camera->target.z += ((cameraMouseVariation.x*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (cameraMouseVariation.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.x += ((mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.y += ((mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.z += ((mousePositionDelta.x*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); } // Focus to center @@ -396,10 +395,8 @@ void UpdateCamera(Camera *camera) // Camera position update camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; } break; @@ -408,7 +405,7 @@ void UpdateCamera(Camera *camera) cameraAngle.x += CAMERA_ORBITAL_SPEED; // Camera zoom - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); // Camera distance clamp if (cameraTargetDistance < CAMERA_THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = CAMERA_THIRD_PERSON_DISTANCE_CLAMP; @@ -417,19 +414,20 @@ void UpdateCamera(Camera *camera) if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera position update + // TODO: It seems camera->position is not correctly updated or some rounding issue makes the camera move straight to camera->target... camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; } break; case CAMERA_FIRST_PERSON: case CAMERA_THIRD_PERSON: { - bool isMoving = false; + bool isMoving = false; // TODO: Really required for swinging? + // TODO: Get movement direction value [-1, 0, 1] in XZ and just multiply + // Keyboard inputs if (IsKeyDown(cameraMoveControl[MOVE_FRONT])) { @@ -469,15 +467,15 @@ void UpdateCamera(Camera *camera) if (cameraMode == CAMERA_THIRD_PERSON) { // Camera orientation calculation - cameraAngle.x += cameraMouseVariation.x*-cameraMouseSensitivity; - cameraAngle.y += cameraMouseVariation.y*-cameraMouseSensitivity; + cameraAngle.x += mousePositionDelta.x*-CAMERA_MOUSE_MOVE_SENSITIVITY; + cameraAngle.y += mousePositionDelta.y*-CAMERA_MOUSE_MOVE_SENSITIVITY; // Angle clamp if (cameraAngle.y > CAMERA_THIRD_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_THIRD_PERSON_MIN_CLAMP*DEG2RAD; else if (cameraAngle.y < CAMERA_THIRD_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_THIRD_PERSON_MAX_CLAMP*DEG2RAD; // Camera zoom - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); // Camera distance clamp if (cameraTargetDistance < CAMERA_THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = CAMERA_THIRD_PERSON_DISTANCE_CLAMP; @@ -489,19 +487,17 @@ void UpdateCamera(Camera *camera) // Camera position update camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; } else // CAMERA_FIRST_PERSON { - if (isMoving) cameraMoveCounter++; + if (isMoving) swingCounter++; // Camera orientation calculation - cameraAngle.x += (cameraMouseVariation.x*-cameraMouseSensitivity); - cameraAngle.y += (cameraMouseVariation.y*-cameraMouseSensitivity); + cameraAngle.x += (mousePositionDelta.x*-CAMERA_MOUSE_MOVE_SENSITIVITY); + cameraAngle.y += (mousePositionDelta.y*-CAMERA_MOUSE_MOVE_SENSITIVITY); // Angle clamp if (cameraAngle.y > CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD; @@ -514,67 +510,27 @@ void UpdateCamera(Camera *camera) // Camera position update //camera->position.y = (playerPosition.y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) - // - sin(cameraMoveCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; + // - sin(swingCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; // TODO: Review limits, avoid moving under the ground (y = 0.0f) and over the 'eyes position', weird movement (rounding issues...) - camera->position.y -= sin(cameraMoveCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; + camera->position.y -= sin(swingCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; - camera->up.x = sin(cameraMoveCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; - camera->up.z = -sin(cameraMoveCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; + camera->up.x = sin(swingCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; + camera->up.z = -sin(swingCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; } } break; default: break; } } -/* -// Set internal camera position -void SetCameraPosition(Vector3 position) -{ - internalCamera.position = position; - - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - float dz = v2.z - v1.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); -} - -// Set internal camera target -void SetCameraTarget(Vector3 target) -{ - internalCamera.target = target; - - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - float dz = v2.z - v1.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); -} -*/ // Set camera pan key to combine with mouse movement (free camera) -void SetCameraPanControl(int panKey) -{ - cameraPanControlKey = panKey; -} +void SetCameraPanControl(int panKey) { cameraPanControlKey = panKey; } // Set camera alt key to combine with mouse movement (free camera) -void SetCameraAltControl(int altKey) -{ - cameraAltControlKey = altKey; -} +void SetCameraAltControl(int altKey) { cameraAltControlKey = altKey; } // Set camera smooth zoom key to combine with mouse (free camera) -void SetCameraSmoothZoomControl(int szKey) -{ - cameraSmoothZoomControlKey = szKey; -} +void SetCameraSmoothZoomControl(int szKey) { cameraSmoothZoomControlKey = szKey; } // Set camera move controls (1st person and 3rd person cameras) void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey) @@ -587,10 +543,4 @@ void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, cameraMoveControl[MOVE_DOWN] = downKey; } -// Set camera mouse sensitivity (1st person and 3rd person cameras) -void SetCameraMouseSensitivity(float sensitivity) -{ - cameraMouseSensitivity = (sensitivity/10000.0f); -} - #endif // CAMERA_IMPLEMENTATION diff --git a/src/raylib.h b/src/raylib.h index 3c8150316..66260ca2d 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -559,7 +559,13 @@ typedef enum { } Gestures; // Camera system modes -typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; +typedef enum { + CAMERA_CUSTOM = 0, + CAMERA_FREE, + CAMERA_ORBITAL, + CAMERA_FIRST_PERSON, + CAMERA_THIRD_PERSON +} CameraMode; // Head Mounted Display devices typedef enum { @@ -698,22 +704,15 @@ RLAPI float GetGesturePinchAngle(void); // Get gesture pin //------------------------------------------------------------------------------------ // Camera System Functions (Module: camera) //------------------------------------------------------------------------------------ -RLAPI void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) +RLAPI void SetCameraMode(Camera, int mode); // Set camera mode (multiple camera modes available) RLAPI void UpdateCamera(Camera *camera); // Update camera (player position is ignored) -RLAPI void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) - -RLAPI void SetCameraPosition(Vector3 position); // Set internal camera position -RLAPI void SetCameraTarget(Vector3 target); // Set internal camera target -RLAPI void SetCameraFovy(float fovy); // Set internal camera field-of-view-y RLAPI void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) RLAPI void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) RLAPI void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) - RLAPI void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) -RLAPI void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) //------------------------------------------------------------------------------------ // Basic Shapes Drawing Functions (Module: shapes) From 978c49472a1cdffa0bf12aba1638806c65e3f8ba Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 26 Sep 2016 19:15:44 +0200 Subject: [PATCH 083/102] Working on camera system... --- examples/core_3d_camera_first_person.c | 2 +- examples/core_3d_camera_free.c | 4 +- examples/shaders_model_shader.c | 17 +- src/camera.h | 215 ++++++++++--------------- src/raylib.h | 6 +- 5 files changed, 98 insertions(+), 146 deletions(-) diff --git a/examples/core_3d_camera_first_person.c b/examples/core_3d_camera_first_person.c index 3675d46aa..27ff51358 100644 --- a/examples/core_3d_camera_first_person.c +++ b/examples/core_3d_camera_first_person.c @@ -23,7 +23,7 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera first person"); // Define the camera to look into our 3d world (position, target, up vector) - Camera camera = {{ 4.0f, 2.0f, 4.0f }, { 0.0f, 2.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 60.0f }; + Camera camera = {{ 4.0f, 2.0f, 4.0f }, { 0.0f, 1.8f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 60.0f }; // Generates some random columns float heights[MAX_COLUMNS]; diff --git a/examples/core_3d_camera_free.c b/examples/core_3d_camera_free.c index 257bb7899..c798f2257 100644 --- a/examples/core_3d_camera_free.c +++ b/examples/core_3d_camera_free.c @@ -22,7 +22,7 @@ int main() // Define the camera to look into our 3d world Camera camera; - camera.position = (Vector3){ 0.0f, 10.0f, 10.0f }; // Camera position + camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) camera.fovy = 45.0f; // Camera field-of-view Y @@ -40,6 +40,8 @@ int main() // Update //---------------------------------------------------------------------------------- UpdateCamera(&camera); // Update internal camera and our camera + + if (IsKeyDown('Z')) camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; //---------------------------------------------------------------------------------- // Draw diff --git a/examples/shaders_model_shader.c b/examples/shaders_model_shader.c index a1e00671a..a5516eba8 100644 --- a/examples/shaders_model_shader.c +++ b/examples/shaders_model_shader.c @@ -37,25 +37,22 @@ int main() Shader shader = LoadShader("resources/shaders/glsl330/base.vs", "resources/shaders/glsl330/grayscale.fs"); // Load model shader - dwarf.material.shader = shader; // Set shader effect to 3d model - dwarf.material.texDiffuse = texture; // Bind texture to model + dwarf.material.shader = shader; // Set shader effect to 3d model + dwarf.material.texDiffuse = texture; // Bind texture to model - Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position + Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position - // Setup orbital camera - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode - SetTargetFPS(60); // Set our game to run at 60 frames-per-second + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key + while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera //---------------------------------------------------------------------------------- // Draw diff --git a/src/camera.h b/src/camera.h index 0c7b5a13f..9bf9132bc 100644 --- a/src/camera.h +++ b/src/camera.h @@ -11,7 +11,7 @@ * If defined, the library can be used as standalone as a camera system but some * functions must be redefined to manage inputs accordingly. * -* NOTE: Memory footprint of this library is aproximately 112 bytes +* NOTE: Memory footprint of this library is aproximately 52 bytes (global variables) * * Initial design by Marc Palau (2014) * Reviewed by Ramon Santamaria (2015-2016) @@ -91,14 +91,13 @@ extern "C" { // Prevents name mangling of functions //---------------------------------------------------------------------------------- #if defined(CAMERA_STANDALONE) void SetCameraMode(Camera camera, int mode); // Set camera mode (multiple camera modes available) -void UpdateCamera(Camera *camera); // Update camera (player position is ignored) +void UpdateCamera(Camera *camera); // Update camera position for selected mode -// TODO: Do we really need all those functions? void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) void SetCameraMoveControls(int frontKey, int backKey, - int leftKey, int rightKey, + int rightKey, int leftKey, int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) #endif @@ -138,7 +137,6 @@ void SetCameraMoveControls(int frontKey, int backKey, #define CAMERA_MOUSE_MOVE_SENSITIVITY 0.003f #define CAMERA_MOUSE_SCROLL_SENSITIVITY 1.5f - // FREE_CAMERA #define CAMERA_FREE_MOUSE_SENSITIVITY 0.01f #define CAMERA_FREE_DISTANCE_MIN_CLAMP 0.3f @@ -171,24 +169,21 @@ void SetCameraMoveControls(int frontKey, int backKey, #define CAMERA_THIRD_PERSON_OFFSET (Vector3){ 0.4f, 0.0f, 0.0f } // PLAYER (used by camera) -#define PLAYER_WIDTH 0.4f -#define PLAYER_HEIGHT 0.9f -#define PLAYER_DEPTH 0.4f -#define PLAYER_MOVEMENT_DIVIDER 20.0f +#define PLAYER_MOVEMENT_DIVIDER 20.0f //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- // Camera move modes (first person and third person cameras) -typedef enum { MOVE_FRONT = 0, MOVE_LEFT, MOVE_BACK, MOVE_RIGHT, MOVE_UP, MOVE_DOWN } CameraMove; +typedef enum { MOVE_FRONT = 0, MOVE_BACK, MOVE_RIGHT, MOVE_LEFT, MOVE_UP, MOVE_DOWN } CameraMove; //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static Vector2 cameraAngle = { 0.0f, 0.0f }; // TODO: Remove! Compute it in UpdateCamera() using camera->target and camera->position -static float cameraTargetDistance = 5.0f; // TODO: Remove! Compute it in UpdateCamera() using camera->target and camera->position +static Vector2 cameraAngle = { 0.0f, 0.0f }; // TODO: Remove! Compute it in UpdateCamera() +static float cameraTargetDistance = 0.0f; // TODO: Remove! Compute it in UpdateCamera() -static int cameraMoveControl[6] = { 'W', 'A', 'S', 'D', 'E', 'Q' }; +static int cameraMoveControl[6] = { 'W', 'S', 'D', 'A', 'E', 'Q' }; static int cameraPanControlKey = 2; // raylib: MOUSE_MIDDLE_BUTTON static int cameraAltControlKey = 342; // raylib: KEY_LEFT_ALT static int cameraSmoothZoomControlKey = 341; // raylib: KEY_LEFT_CONTROL @@ -200,7 +195,7 @@ static int cameraMode = CAMERA_CUSTOM; // Current camera mode //---------------------------------------------------------------------------------- #if defined(CAMERA_STANDALONE) // NOTE: Camera controls depend on some raylib input functions -// TODO: Set your own input functions (used in ProcessCamera()) +// TODO: Set your own input functions (used in UpdateCamera()) static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; } static void SetMousePosition(Vector2 pos) {} static int IsMouseButtonDown(int button) { return 0;} @@ -230,7 +225,18 @@ void SetCameraMode(Camera camera, int mode) float dz = v2.z - v1.z; cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); - cameraAngle.y = -40*DEG2RAD; + + Vector2 distance = { 0.0f, 0.0f }; + distance.x = sqrt(dx*dx + dy*dy); + distance.y = sqrt(dx*dx + dz*dz); + + // TODO: Review cameraAngle calculation + //cameraAngle.x = asin(fabs(dx)/distance.x); + //cameraAngle.y = -asin(fabs(dz)/distance.y); + + // NOTE: Just testing what cameraAngle means + cameraAngle.x = 90.0f*DEG2RAD; // Camera angle in plane XZ (0 aligned with Z, move positive CCW) + cameraAngle.y = -80.0f*DEG2RAD; // Camera angle in plane XY (0 aligned with X, move positive CW) cameraMode = mode; } @@ -240,39 +246,33 @@ void SetCameraMode(Camera camera, int mode) // Mouse: GetMousePosition(), SetMousePosition(), IsMouseButtonDown(), GetMouseWheelMove() // System: GetScreenWidth(), GetScreenHeight(), ShowCursor(), HideCursor() // Keys: IsKeyDown() -// TODO: Consider touch inputs for camera! -// TODO: Port to quaternion-based camera! +// TODO: Port to quaternion-based camera void UpdateCamera(Camera *camera) { static int swingCounter = 0; // Used for 1st person swinging movement static Vector2 previousMousePosition = { 0.0f, 0.0f }; - // TODO: Compute cameraTargetDistance and cameraAngle - // NOTE: If cameraTargetDistance and cameraAngle change, camera->position is accordingly updated - /* - Vector2 cameraAngle = { 0.0f, 0.0f }; - float cameraTargetDistance = 0.0f; - - float dx = camera->target.x - camera->position.x; - float dy = camera->target.y - camera->position.y; - float dz = camera->target.z - camera->position.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); - - Vector2 distance = { 0.0f, 0.0f }; - distance.x = sqrt(dx*dx + dy*dy); - distance.y = sqrt(dx*dx + dz*dz); - - cameraAngle.x = asin(fabs(dx)/distance.x); - cameraAngle.y = asin(fabs(dz)/distance.y); - */ + // TODO: Compute cameraTargetDistance and cameraAngle here // Mouse movement detection Vector2 mousePositionDelta = { 0.0f, 0.0f }; Vector2 mousePosition = GetMousePosition(); int mouseWheelMove = GetMouseWheelMove(); - int panKey = IsMouseButtonDown(cameraPanControlKey); // bool value + // Keys input detection + bool panKey = IsMouseButtonDown(cameraPanControlKey); + bool altKey = IsKeyDown(cameraAltControlKey); + bool szoomKey = IsKeyDown(cameraSmoothZoomControlKey); + + bool direction[6] = { IsKeyDown(cameraMoveControl[MOVE_FRONT]), + IsKeyDown(cameraMoveControl[MOVE_BACK]), + IsKeyDown(cameraMoveControl[MOVE_RIGHT]), + IsKeyDown(cameraMoveControl[MOVE_LEFT]), + IsKeyDown(cameraMoveControl[MOVE_UP]), + IsKeyDown(cameraMoveControl[MOVE_DOWN]) }; + + // TODO: Consider touch inputs for camera + if (cameraMode != CAMERA_CUSTOM) { // Get screen size @@ -284,10 +284,10 @@ void UpdateCamera(Camera *camera) { HideCursor(); - if (mousePosition.x < screenHeight/3) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y}); - else if (mousePosition.y < screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3}); - else if (mousePosition.x > screenWidth - screenHeight/3) SetMousePosition((Vector2) { screenHeight/3, mousePosition.y}); - else if (mousePosition.y > screenHeight - screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3}); + if (mousePosition.x < screenHeight/3) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y }); + else if (mousePosition.y < screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3 }); + else if (mousePosition.x > (screenWidth - screenHeight/3)) SetMousePosition((Vector2){ screenHeight/3, mousePosition.y }); + else if (mousePosition.y > (screenHeight - screenHeight/3)) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3 }); else { mousePositionDelta.x = mousePosition.x - previousMousePosition.x; @@ -360,19 +360,15 @@ void UpdateCamera(Camera *camera) if (cameraTargetDistance < CAMERA_FREE_DISTANCE_MIN_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MIN_CLAMP; } - // Inputs - if (IsKeyDown(cameraAltControlKey)) + // Input keys checks + if (altKey) { - if (IsKeyDown(cameraSmoothZoomControlKey)) + if (szoomKey) // Camera smooth zoom { - // Camera smooth zoom if (panKey) cameraTargetDistance += (mousePositionDelta.y*CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY); } - // Camera orientation calculation else if (panKey) { - // Camera orientation calculation - // Get the mouse sensitivity cameraAngle.x += mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY; cameraAngle.y += mousePositionDelta.y*-CAMERA_FREE_MOUSE_SENSITIVITY; @@ -381,95 +377,50 @@ void UpdateCamera(Camera *camera) else if (cameraAngle.y < CAMERA_FREE_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MAX_CLAMP*DEG2RAD; } } - // Paning - else if (panKey) + else if (panKey) // Paning { camera->target.x += ((mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); camera->target.y += ((mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); camera->target.z += ((mousePositionDelta.x*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); } - // Focus to center - // TODO: Move this function out of this module? - if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; - - // Camera position update - camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; - } break; case CAMERA_ORBITAL: { - cameraAngle.x += CAMERA_ORBITAL_SPEED; - - // Camera zoom - cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); + cameraAngle.x += CAMERA_ORBITAL_SPEED; // Camera orbit angle + cameraTargetDistance -= (mouseWheelMove*CAMERA_MOUSE_SCROLL_SENSITIVITY); // Camera zoom // Camera distance clamp if (cameraTargetDistance < CAMERA_THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = CAMERA_THIRD_PERSON_DISTANCE_CLAMP; - - // Focus to center - if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; - - // Camera position update - // TODO: It seems camera->position is not correctly updated or some rounding issue makes the camera move straight to camera->target... - camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; - + } break; case CAMERA_FIRST_PERSON: case CAMERA_THIRD_PERSON: { + camera->position.x += (sin(cameraAngle.x)*direction[MOVE_BACK] - + sin(cameraAngle.x)*direction[MOVE_FRONT] - + cos(cameraAngle.x)*direction[MOVE_LEFT] + + cos(cameraAngle.x)*direction[MOVE_RIGHT])/PLAYER_MOVEMENT_DIVIDER; + + camera->position.y += (sin(cameraAngle.y)*direction[MOVE_FRONT] - + sin(cameraAngle.y)*direction[MOVE_BACK] + + 1.0f*direction[MOVE_UP] - 1.0f*direction[MOVE_DOWN])/PLAYER_MOVEMENT_DIVIDER; + + camera->position.z += (cos(cameraAngle.x)*direction[MOVE_BACK] - + cos(cameraAngle.x)*direction[MOVE_FRONT] + + sin(cameraAngle.x)*direction[MOVE_LEFT] - + sin(cameraAngle.x)*direction[MOVE_RIGHT])/PLAYER_MOVEMENT_DIVIDER; + bool isMoving = false; // TODO: Really required for swinging? - // TODO: Get movement direction value [-1, 0, 1] in XZ and just multiply + //for (int i = 0; i < 6; i++) if (direction[i]) { isMoving = true; break; } + + // Camera orientation calculation + cameraAngle.x += (mousePositionDelta.x*-CAMERA_MOUSE_MOVE_SENSITIVITY); + cameraAngle.y += (mousePositionDelta.y*-CAMERA_MOUSE_MOVE_SENSITIVITY); - // Keyboard inputs - if (IsKeyDown(cameraMoveControl[MOVE_FRONT])) - { - camera->position.x -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - camera->position.y += sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; - camera->position.z -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - else if (IsKeyDown(cameraMoveControl[MOVE_BACK])) - { - camera->position.x += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - camera->position.y -= sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; - camera->position.z += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - - if (IsKeyDown(cameraMoveControl[MOVE_LEFT])) - { - camera->position.x -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - camera->position.z += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - else if (IsKeyDown(cameraMoveControl[MOVE_RIGHT])) - { - camera->position.x += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - camera->position.z -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - - if (IsKeyDown(cameraMoveControl[MOVE_UP])) camera->position.y += 1.0f/PLAYER_MOVEMENT_DIVIDER; - else if (IsKeyDown(cameraMoveControl[MOVE_DOWN])) camera->position.y -= 1.0f/PLAYER_MOVEMENT_DIVIDER; - if (cameraMode == CAMERA_THIRD_PERSON) { - // Camera orientation calculation - cameraAngle.x += mousePositionDelta.x*-CAMERA_MOUSE_MOVE_SENSITIVITY; - cameraAngle.y += mousePositionDelta.y*-CAMERA_MOUSE_MOVE_SENSITIVITY; - // Angle clamp if (cameraAngle.y > CAMERA_THIRD_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_THIRD_PERSON_MIN_CLAMP*DEG2RAD; else if (cameraAngle.y < CAMERA_THIRD_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_THIRD_PERSON_MAX_CLAMP*DEG2RAD; @@ -482,23 +433,11 @@ void UpdateCamera(Camera *camera) // Camera is always looking at player camera->target.x = camera->position.x + CAMERA_THIRD_PERSON_OFFSET.x*cos(cameraAngle.x) + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x); - camera->target.y = camera->position.y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + CAMERA_THIRD_PERSON_OFFSET.y; + camera->target.y = camera->position.y + CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + CAMERA_THIRD_PERSON_OFFSET.y; camera->target.z = camera->position.z + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x) - CAMERA_THIRD_PERSON_OFFSET.x*sin(cameraAngle.x); - - // Camera position update - camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; } else // CAMERA_FIRST_PERSON { - if (isMoving) swingCounter++; - - // Camera orientation calculation - cameraAngle.x += (mousePositionDelta.x*-CAMERA_MOUSE_MOVE_SENSITIVITY); - cameraAngle.y += (mousePositionDelta.y*-CAMERA_MOUSE_MOVE_SENSITIVITY); - // Angle clamp if (cameraAngle.y > CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD; else if (cameraAngle.y < CAMERA_FIRST_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MAX_CLAMP*DEG2RAD; @@ -507,6 +446,8 @@ void UpdateCamera(Camera *camera) camera->target.x = camera->position.x - sin(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; camera->target.y = camera->position.y + sin(cameraAngle.y)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; camera->target.z = camera->position.z - cos(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; + + if (isMoving) swingCounter++; // Camera position update //camera->position.y = (playerPosition.y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) @@ -521,6 +462,18 @@ void UpdateCamera(Camera *camera) } break; default: break; } + + // Update camera position with changes + if ((cameraMode == CAMERA_FREE) || + (cameraMode == CAMERA_ORBITAL) || + (cameraMode == CAMERA_THIRD_PERSON)) + { + // TODO: It seems camera->position is not correctly updated or some rounding issue makes the camera move straight to camera->target... + camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; + if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; + } } // Set camera pan key to combine with mouse movement (free camera) @@ -533,12 +486,12 @@ void SetCameraAltControl(int altKey) { cameraAltControlKey = altKey; } void SetCameraSmoothZoomControl(int szKey) { cameraSmoothZoomControlKey = szKey; } // Set camera move controls (1st person and 3rd person cameras) -void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey) +void SetCameraMoveControls(int frontKey, int backKey, int rightKey, int leftKey, int upKey, int downKey) { cameraMoveControl[MOVE_FRONT] = frontKey; - cameraMoveControl[MOVE_LEFT] = leftKey; cameraMoveControl[MOVE_BACK] = backKey; cameraMoveControl[MOVE_RIGHT] = rightKey; + cameraMoveControl[MOVE_LEFT] = leftKey; cameraMoveControl[MOVE_UP] = upKey; cameraMoveControl[MOVE_DOWN] = downKey; } diff --git a/src/raylib.h b/src/raylib.h index 66260ca2d..35319d6a7 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -705,14 +705,14 @@ RLAPI float GetGesturePinchAngle(void); // Get gesture pin // Camera System Functions (Module: camera) //------------------------------------------------------------------------------------ RLAPI void SetCameraMode(Camera, int mode); // Set camera mode (multiple camera modes available) -RLAPI void UpdateCamera(Camera *camera); // Update camera (player position is ignored) +RLAPI void UpdateCamera(Camera *camera); // Update camera position for selected mode RLAPI void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) RLAPI void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) RLAPI void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) RLAPI void SetCameraMoveControls(int frontKey, int backKey, - int leftKey, int rightKey, - int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) + int rightKey, int leftKey, + int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) //------------------------------------------------------------------------------------ // Basic Shapes Drawing Functions (Module: shapes) From 2ae9ce29eb254870fc82d106027bd4c561e74af8 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 2 Oct 2016 23:04:46 +0200 Subject: [PATCH 084/102] Corrected issue on DrawPolyEx() --- src/shapes.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shapes.c b/src/shapes.c index 6200a8236..362dc0f72 100644 --- a/src/shapes.c +++ b/src/shapes.c @@ -347,11 +347,11 @@ void DrawPolyEx(Vector2 *points, int numPoints, Color color) rlBegin(RL_TRIANGLES); rlColor4ub(color.r, color.g, color.b, color.a); - for (int i = 0; i < numPoints - 2; i++) + for (int i = 1; i < numPoints - 1; i++) { + rlVertex2f(points[0].x, points[0].y); rlVertex2f(points[i].x, points[i].y); rlVertex2f(points[i + 1].x, points[i + 1].y); - rlVertex2f(points[i + 2].x, points[i + 2].y); } rlEnd(); } From 637d3195ec705e7f014395ad20cd574bc7fa015e Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 3 Oct 2016 13:27:22 +0200 Subject: [PATCH 085/102] More review on camera system... Sincerely, don't like it... it should be ported to quaternions... the way it manages cameraTargetDistange and cameraAngle is confusing... --- src/camera.h | 82 +++++++++++++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/src/camera.h b/src/camera.h index 9bf9132bc..332203909 100644 --- a/src/camera.h +++ b/src/camera.h @@ -147,7 +147,7 @@ void SetCameraMoveControls(int frontKey, int backKey, #define CAMERA_FREE_PANNING_DIVIDER 5.1f // ORBITAL_CAMERA -#define CAMERA_ORBITAL_SPEED 0.01f +#define CAMERA_ORBITAL_SPEED 0.01f // Radians per frame // FIRST_PERSON //#define CAMERA_FIRST_PERSON_MOUSE_SENSITIVITY 0.003f @@ -159,8 +159,6 @@ void SetCameraMoveControls(int frontKey, int backKey, #define CAMERA_FIRST_PERSON_STEP_DIVIDER 30.0f #define CAMERA_FIRST_PERSON_WAVING_DIVIDER 200.0f -#define CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION 0.85f - // THIRD_PERSON //#define CAMERA_THIRD_PERSON_MOUSE_SENSITIVITY 0.003f #define CAMERA_THIRD_PERSON_DISTANCE_CLAMP 1.2f @@ -169,7 +167,7 @@ void SetCameraMoveControls(int frontKey, int backKey, #define CAMERA_THIRD_PERSON_OFFSET (Vector3){ 0.4f, 0.0f, 0.0f } // PLAYER (used by camera) -#define PLAYER_MOVEMENT_DIVIDER 20.0f +#define PLAYER_MOVEMENT_SENSITIVITY 20.0f //---------------------------------------------------------------------------------- // Types and Structures Definition @@ -182,6 +180,7 @@ typedef enum { MOVE_FRONT = 0, MOVE_BACK, MOVE_RIGHT, MOVE_LEFT, MOVE_UP, MOVE_D //---------------------------------------------------------------------------------- static Vector2 cameraAngle = { 0.0f, 0.0f }; // TODO: Remove! Compute it in UpdateCamera() static float cameraTargetDistance = 0.0f; // TODO: Remove! Compute it in UpdateCamera() +static float playerEyesPosition = 1.85f; // Default player eyes position from ground (in meters) static int cameraMoveControl[6] = { 'W', 'S', 'D', 'A', 'E', 'Q' }; static int cameraPanControlKey = 2; // raylib: MOUSE_MIDDLE_BUTTON @@ -227,16 +226,18 @@ void SetCameraMode(Camera camera, int mode) cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); Vector2 distance = { 0.0f, 0.0f }; - distance.x = sqrt(dx*dx + dy*dy); - distance.y = sqrt(dx*dx + dz*dz); + distance.x = sqrt(dx*dx + dz*dz); + distance.y = sqrt(dx*dx + dy*dy); - // TODO: Review cameraAngle calculation - //cameraAngle.x = asin(fabs(dx)/distance.x); - //cameraAngle.y = -asin(fabs(dz)/distance.y); + // Camera angle calculation + cameraAngle.x = asin(fabs(dx)/distance.x); // Camera angle in plane XZ (0 aligned with Z, move positive CCW) + cameraAngle.y = -asin(fabs(dy)/distance.y); // Camera angle in plane XY (0 aligned with X, move positive CW) // NOTE: Just testing what cameraAngle means - cameraAngle.x = 90.0f*DEG2RAD; // Camera angle in plane XZ (0 aligned with Z, move positive CCW) - cameraAngle.y = -80.0f*DEG2RAD; // Camera angle in plane XY (0 aligned with X, move positive CW) + //cameraAngle.x = 0.0f*DEG2RAD; // Camera angle in plane XZ (0 aligned with Z, move positive CCW) + //cameraAngle.y = -60.0f*DEG2RAD; // Camera angle in plane XY (0 aligned with X, move positive CW) + + playerEyesPosition = camera.position.y; cameraMode = mode; } @@ -361,27 +362,33 @@ void UpdateCamera(Camera *camera) } // Input keys checks - if (altKey) + if (panKey) { - if (szoomKey) // Camera smooth zoom + if (altKey) // Alternative key behaviour { - if (panKey) cameraTargetDistance += (mousePositionDelta.y*CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY); - } - else if (panKey) - { - cameraAngle.x += mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY; - cameraAngle.y += mousePositionDelta.y*-CAMERA_FREE_MOUSE_SENSITIVITY; + if (szoomKey) + { + // Camera smooth zoom + cameraTargetDistance += (mousePositionDelta.y*CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY); + } + else + { + // Camera rotation + cameraAngle.x += mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY; + cameraAngle.y += mousePositionDelta.y*-CAMERA_FREE_MOUSE_SENSITIVITY; - // Angle clamp - if (cameraAngle.y > CAMERA_FREE_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MIN_CLAMP*DEG2RAD; - else if (cameraAngle.y < CAMERA_FREE_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MAX_CLAMP*DEG2RAD; + // Angle clamp + if (cameraAngle.y > CAMERA_FREE_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MIN_CLAMP*DEG2RAD; + else if (cameraAngle.y < CAMERA_FREE_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MAX_CLAMP*DEG2RAD; + } + } + else + { + // Camera panning + camera->target.x += ((mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.y += ((mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.z += ((mousePositionDelta.x*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); } - } - else if (panKey) // Paning - { - camera->target.x += ((mousePositionDelta.x*-CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); - camera->target.y += ((mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); - camera->target.z += ((mousePositionDelta.x*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (mousePositionDelta.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); } } break; @@ -400,20 +407,20 @@ void UpdateCamera(Camera *camera) camera->position.x += (sin(cameraAngle.x)*direction[MOVE_BACK] - sin(cameraAngle.x)*direction[MOVE_FRONT] - cos(cameraAngle.x)*direction[MOVE_LEFT] + - cos(cameraAngle.x)*direction[MOVE_RIGHT])/PLAYER_MOVEMENT_DIVIDER; + cos(cameraAngle.x)*direction[MOVE_RIGHT])/PLAYER_MOVEMENT_SENSITIVITY; camera->position.y += (sin(cameraAngle.y)*direction[MOVE_FRONT] - sin(cameraAngle.y)*direction[MOVE_BACK] + - 1.0f*direction[MOVE_UP] - 1.0f*direction[MOVE_DOWN])/PLAYER_MOVEMENT_DIVIDER; + 1.0f*direction[MOVE_UP] - 1.0f*direction[MOVE_DOWN])/PLAYER_MOVEMENT_SENSITIVITY; camera->position.z += (cos(cameraAngle.x)*direction[MOVE_BACK] - cos(cameraAngle.x)*direction[MOVE_FRONT] + sin(cameraAngle.x)*direction[MOVE_LEFT] - - sin(cameraAngle.x)*direction[MOVE_RIGHT])/PLAYER_MOVEMENT_DIVIDER; + sin(cameraAngle.x)*direction[MOVE_RIGHT])/PLAYER_MOVEMENT_SENSITIVITY; - bool isMoving = false; // TODO: Really required for swinging? + bool isMoving = false; // Required for swinging - //for (int i = 0; i < 6; i++) if (direction[i]) { isMoving = true; break; } + for (int i = 0; i < 6; i++) if (direction[i]) { isMoving = true; break; } // Camera orientation calculation cameraAngle.x += (mousePositionDelta.x*-CAMERA_MOUSE_MOVE_SENSITIVITY); @@ -433,7 +440,7 @@ void UpdateCamera(Camera *camera) // Camera is always looking at player camera->target.x = camera->position.x + CAMERA_THIRD_PERSON_OFFSET.x*cos(cameraAngle.x) + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x); - camera->target.y = camera->position.y + CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + CAMERA_THIRD_PERSON_OFFSET.y; + camera->target.y = camera->position.y + CAMERA_THIRD_PERSON_OFFSET.y; camera->target.z = camera->position.z + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x) - CAMERA_THIRD_PERSON_OFFSET.x*sin(cameraAngle.x); } else // CAMERA_FIRST_PERSON @@ -450,11 +457,8 @@ void UpdateCamera(Camera *camera) if (isMoving) swingCounter++; // Camera position update - //camera->position.y = (playerPosition.y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) - // - sin(swingCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; - - // TODO: Review limits, avoid moving under the ground (y = 0.0f) and over the 'eyes position', weird movement (rounding issues...) - camera->position.y -= sin(swingCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; + // NOTE: On CAMERA_FIRST_PERSON player Y-movement is limited to player 'eyes position' + camera->position.y = playerEyesPosition - sin(swingCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; camera->up.x = sin(swingCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; camera->up.z = -sin(swingCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; From b082807b0b90bce07e15098d6d0a17574d100277 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 3 Oct 2016 13:29:01 +0200 Subject: [PATCH 086/102] Removed function: ResolveCollisionCubicmap() Function was inefficient and should be rewritten from scratch, it probably neither belongs to this module but an example... --- src/models.c | 250 --------------------------------------------------- src/raylib.h | 7 +- 2 files changed, 2 insertions(+), 255 deletions(-) diff --git a/src/models.c b/src/models.c index 8195c5f61..822da6e92 100644 --- a/src/models.c +++ b/src/models.c @@ -1548,256 +1548,6 @@ BoundingBox CalculateBoundingBox(Mesh mesh) return box; } -// Detect and resolve cubicmap collisions -// NOTE: player position (or camera) is modified inside this function -// TODO: This functions needs to be completely reviewed! -Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius) -{ - #define CUBIC_MAP_HALF_BLOCK_SIZE 0.5 - - Color *cubicmapPixels = GetImageData(cubicmap); - - // Detect the cell where the player is located - Vector3 impactDirection = { 0.0f, 0.0f, 0.0f }; - - int locationCellX = 0; - int locationCellY = 0; - - locationCellX = floor(playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE); - locationCellY = floor(playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE); - - if ((locationCellX >= 0) && (locationCellY >= 0) && (locationCellX < cubicmap.width) && (locationCellY < cubicmap.height)) - { - // Multiple Axis -------------------------------------------------------------------------------------------- - - // Axis x-, y- - if ((locationCellX > 0) && (locationCellY > 0)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX - 1)].r != 0) && - (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius)) - { - playerPosition->x = locationCellX + mapPosition.x - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - - // Axis x-, y+ - if ((locationCellX > 0) && (locationCellY < cubicmap.height - 1)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX - 1)].r != 0) && - (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius)) - { - playerPosition->x = locationCellX + mapPosition.x - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - - // Axis x+, y- - if ((locationCellX < cubicmap.width - 1) && (locationCellY > 0)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX + 1)].r != 0) && - (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius)) - { - playerPosition->x = locationCellX + mapPosition.x + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - - // Axis x+, y+ - if ((locationCellX < cubicmap.width - 1) && (locationCellY < cubicmap.height - 1)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX + 1)].r != 0) && - (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius)) - { - playerPosition->x = locationCellX + mapPosition.x + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - - // Single Axis --------------------------------------------------------------------------------------------------- - - // Axis x- - if (locationCellX > 0) - { - if (cubicmapPixels[locationCellY*cubicmap.width + (locationCellX - 1)].r != 0) - { - if ((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius) - { - playerPosition->x = locationCellX + mapPosition.x - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 1.0f, 0.0f, 0.0f }; - } - } - } - // Axis x+ - if (locationCellX < cubicmap.width - 1) - { - if (cubicmapPixels[locationCellY*cubicmap.width + (locationCellX + 1)].r != 0) - { - if ((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius) - { - playerPosition->x = locationCellX + mapPosition.x + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 1.0f, 0.0f, 0.0f }; - } - } - } - // Axis y- - if (locationCellY > 0) - { - if (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX)].r != 0) - { - if ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius) - { - playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 0.0f, 0.0f, 1.0f }; - } - } - } - // Axis y+ - if (locationCellY < cubicmap.height - 1) - { - if (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX)].r != 0) - { - if ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius) - { - playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - impactDirection = (Vector3){ 0.0f, 0.0f, 1.0f }; - } - } - } - - // Diagonals ------------------------------------------------------------------------------------------------------- - - // Axis x-, y- - if ((locationCellX > 0) && (locationCellY > 0)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX - 1)].r == 0) && - (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX)].r == 0) && - (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX - 1)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX) > ((playerPosition->z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY)) playerPosition->x = locationCellX + mapPosition.x - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - else playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - - // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius/3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius/3)) - { - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - } - - // Axis x-, y+ - if ((locationCellX > 0) && (locationCellY < cubicmap.height - 1)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX - 1)].r == 0) && - (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX)].r == 0) && - (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX - 1)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX) > (1 - ((playerPosition->z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY))) playerPosition->x = locationCellX + mapPosition.x - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - else playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - - // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX < radius/3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius/3)) - { - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - } - - // Axis x+, y- - if ((locationCellX < cubicmap.width - 1) && (locationCellY > 0)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX + 1)].r == 0) && - (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX)].r == 0) && - (cubicmapPixels[(locationCellY - 1)*cubicmap.width + (locationCellX + 1)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX) < (1 - ((playerPosition->z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY))) playerPosition->x = locationCellX + mapPosition.x + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - else playerPosition->z = locationCellY + mapPosition.z - (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - - // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius/3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY < radius/3)) - { - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - } - - // Axis x+, y+ - if ((locationCellX < cubicmap.width - 1) && (locationCellY < cubicmap.height - 1)) - { - if ((cubicmapPixels[locationCellY*cubicmap.width + (locationCellX + 1)].r == 0) && - (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX)].r == 0) && - (cubicmapPixels[(locationCellY + 1)*cubicmap.width + (locationCellX + 1)].r != 0)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius)) - { - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX) < ((playerPosition->z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY)) playerPosition->x = locationCellX + mapPosition.x + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - else playerPosition->z = locationCellY + mapPosition.z + (CUBIC_MAP_HALF_BLOCK_SIZE - radius); - - // Return ricochet - if (((playerPosition->x - mapPosition.x + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellX > 1 - radius/3) && - ((playerPosition->z - mapPosition.z + CUBIC_MAP_HALF_BLOCK_SIZE) - locationCellY > 1 - radius/3)) - { - impactDirection = (Vector3){ 1.0f, 0.0f, 1.0f }; - } - } - } - } - } - - // Floor collision - if (playerPosition->y <= radius) - { - playerPosition->y = radius + 0.01f; - impactDirection = (Vector3) { impactDirection.x, 1, impactDirection.z}; - } - // Roof collision - else if (playerPosition->y >= (1.5f - radius)) - { - playerPosition->y = (1.5f - radius) - 0.01f; - impactDirection = (Vector3) { impactDirection.x, 1, impactDirection.z}; - } - - free(cubicmapPixels); - - return impactDirection; -} - //---------------------------------------------------------------------------------- // Module specific Functions Definition //---------------------------------------------------------------------------------- diff --git a/src/raylib.h b/src/raylib.h index 35319d6a7..d022e8f5b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -839,9 +839,7 @@ RLAPI Model LoadHeightmap(Image heightmap, Vector3 size); // Load a RLAPI Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) RLAPI void UnloadModel(Model model); // Unload 3d model from memory -RLAPI Mesh GenMeshCube(float width, float height, float depth); // Generate mesh: cube - -RLAPI Material LoadMaterial(const char *fileName); // Load material data (from file) +RLAPI Material LoadMaterial(const char *fileName); // Load material data (.MTL) RLAPI Material LoadDefaultMaterial(void); // Load default material (uses default models shader) RLAPI Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) RLAPI void UnloadMaterial(Material material); // Unload material textures from VRAM @@ -862,8 +860,7 @@ RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box -RLAPI Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap - // NOTE: Return the normal vector of the impacted surface + //------------------------------------------------------------------------------------ // Shaders System Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 From db6538859cd2fabb44f1f29cd87f5b498ca0c2c8 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 5 Oct 2016 00:48:44 +0200 Subject: [PATCH 087/102] Added flag to allow resizable window --- src/core.c | 21 +++++++++++++-------- src/raylib.h | 11 ++++++----- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/core.c b/src/core.c index 63c880f17..0db1c573f 100644 --- a/src/core.c +++ b/src/core.c @@ -1483,15 +1483,20 @@ static void InitGraphicsDevice(int width, int height) displayHeight = screenHeight; #endif // defined(PLATFORM_WEB) - glfwDefaultWindowHints(); // Set default windows hints + glfwDefaultWindowHints(); // Set default windows hints - glfwWindowHint(GLFW_RESIZABLE, GL_FALSE); // Avoid window being resizable - //glfwWindowHint(GLFW_DECORATED, GL_TRUE); // Border and buttons on Window - //glfwWindowHint(GLFW_RED_BITS, 8); // Framebuffer red color component bits - //glfwWindowHint(GLFW_DEPTH_BITS, 16); // Depthbuffer bits (24 by default) - //glfwWindowHint(GLFW_REFRESH_RATE, 0); // Refresh rate for fullscreen window + if (configFlags & FLAG_RESIZABLE_WINDOW) + { + glfwWindowHint(GLFW_RESIZABLE, GL_TRUE); // Resizable window + } + else glfwWindowHint(GLFW_RESIZABLE, GL_FALSE); // Avoid window being resizable + + //glfwWindowHint(GLFW_DECORATED, GL_TRUE); // Border and buttons on Window + //glfwWindowHint(GLFW_RED_BITS, 8); // Framebuffer red color component bits + //glfwWindowHint(GLFW_DEPTH_BITS, 16); // Depthbuffer bits (24 by default) + //glfwWindowHint(GLFW_REFRESH_RATE, 0); // Refresh rate for fullscreen window //glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_API); // Default OpenGL API to use. Alternative: GLFW_OPENGL_ES_API - //glfwWindowHint(GLFW_AUX_BUFFERS, 0); // Number of auxiliar buffers + //glfwWindowHint(GLFW_AUX_BUFFERS, 0); // Number of auxiliar buffers // NOTE: When asking for an OpenGL context version, most drivers provide highest supported version // with forward compatibility to older OpenGL versions. @@ -1499,7 +1504,7 @@ static void InitGraphicsDevice(int width, int height) if (configFlags & FLAG_MSAA_4X_HINT) { - glfwWindowHint(GLFW_SAMPLES, 4); // Enables multisampling x4 (MSAA), default is 0 + glfwWindowHint(GLFW_SAMPLES, 4); // Enables multisampling x4 (MSAA), default is 0 TraceLog(INFO, "Trying to enable MSAA x4"); } diff --git a/src/raylib.h b/src/raylib.h index d022e8f5b..e6e510a9b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -101,11 +101,12 @@ // raylib Config Flags #define FLAG_FULLSCREEN_MODE 1 -#define FLAG_SHOW_LOGO 2 -#define FLAG_SHOW_MOUSE_CURSOR 4 -#define FLAG_CENTERED_MODE 8 -#define FLAG_MSAA_4X_HINT 16 -#define FLAG_VSYNC_HINT 32 +#define FLAG_RESIZABLE_WINDOW 2 +#define FLAG_SHOW_LOGO 4 +#define FLAG_SHOW_MOUSE_CURSOR 8 +#define FLAG_CENTERED_MODE 16 +#define FLAG_MSAA_4X_HINT 32 +#define FLAG_VSYNC_HINT 64 // Keyboard Function Keys #define KEY_SPACE 32 From b4a3f294bfe8c2c854b45ff56d971c3995b71f62 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Oct 2016 13:07:55 +0200 Subject: [PATCH 088/102] Correct warning --- src/textures.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/textures.c b/src/textures.c index 5de0590b1..fd5bdd80c 100644 --- a/src/textures.c +++ b/src/textures.c @@ -229,7 +229,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int // TODO: Review function to support multiple color modes Image LoadImageFromRES(const char *rresName, int resId) { - Image image; + Image image = { 0 }; bool found = false; char id[4]; // rRES file identifier From efa286a550115ebcb8dfb4e84ea6a719d110fd27 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Oct 2016 13:09:08 +0200 Subject: [PATCH 089/102] Allow no default font loading Useful if text module is not required... --- src/core.c | 21 ++++++++++++++++----- src/text.c | 28 ++++++++++++++++++---------- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/core.c b/src/core.c index 0db1c573f..a35dbae05 100644 --- a/src/core.c +++ b/src/core.c @@ -18,6 +18,10 @@ * * On PLATFORM_RPI, graphic device is managed by EGL and input system is coded in raw mode. * +* Module Configuration Flags: +* +* RL_LOAD_DEFAULT_FONT - Use external module functions to load default raylib font (module: text) +* * Copyright (c) 2014 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event @@ -130,6 +134,8 @@ #define MAX_GAMEPAD_AXIS 8 // Max number of axis supported (per gamepad) #endif +#define RL_LOAD_DEFAULT_FONT // Load default font on window initialization (module: text) + //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- @@ -238,11 +244,10 @@ static bool showLogo = false; // Track if showing logo at init is //---------------------------------------------------------------------------------- // Other Modules Functions Declaration (required by core) //---------------------------------------------------------------------------------- +#if defined(RL_LOAD_DEFAULT_FONT) extern void LoadDefaultFont(void); // [Module: text] Loads default font on InitWindow() extern void UnloadDefaultFont(void); // [Module: text] Unloads default font from GPU memory - -extern void ProcessGestureEvent(GestureEvent event); // [Module: gestures] Process gesture event and translate it into gestures -extern void UpdateGestures(void); // [Module: gestures] Update gestures detected (called in PollInputEvents()) +#endif //---------------------------------------------------------------------------------- // Module specific Functions Declaration @@ -311,9 +316,11 @@ void InitWindow(int width, int height, const char *title) // Init graphics device (display device and OpenGL context) InitGraphicsDevice(width, height); - // Load default font for convenience +#if defined(RL_LOAD_DEFAULT_FONT) + // Load default font // NOTE: External function (defined in module: text) LoadDefaultFont(); +#endif // Init hi-res timer InitTimer(); @@ -420,7 +427,9 @@ void InitWindow(int width, int height, struct android_app *state) // Close Window and Terminate Context void CloseWindow(void) { +#if defined(RL_LOAD_DEFAULT_FONT) UnloadDefaultFont(); +#endif rlglClose(); // De-init rlgl @@ -2245,9 +2254,11 @@ static void AndroidCommandCallback(struct android_app *app, int32_t cmd) // Init graphics device (display device and OpenGL context) InitGraphicsDevice(screenWidth, screenHeight); - // Load default font for convenience + #if defined(RL_LOAD_DEFAULT_FONT) + // Load default font // NOTE: External function (defined in module: text) LoadDefaultFont(); + #endif // TODO: GPU assets reload in case of lost focus (lost context) // NOTE: This problem has been solved just unbinding and rebinding context from display diff --git a/src/text.c b/src/text.c index c538ea56b..d1d7602ff 100644 --- a/src/text.c +++ b/src/text.c @@ -293,13 +293,17 @@ void UnloadSpriteFont(SpriteFont spriteFont) // NOTE: chars spacing is proportional to fontSize void DrawText(const char *text, int posX, int posY, int fontSize, Color color) { - Vector2 position = { (float)posX, (float)posY }; + // Check if default font has been loaded + if (defaultFont.texture.id != 0) + { + Vector2 position = { (float)posX, (float)posY }; - int defaultFontSize = 10; // Default Font chars height in pixel - if (fontSize < defaultFontSize) fontSize = defaultFontSize; - int spacing = fontSize/defaultFontSize; + int defaultFontSize = 10; // Default Font chars height in pixel + if (fontSize < defaultFontSize) fontSize = defaultFontSize; + int spacing = fontSize/defaultFontSize; - DrawTextEx(defaultFont, text, position, (float)fontSize, spacing, color); + DrawTextEx(GetDefaultFont(), text, position, (float)fontSize, spacing, color); + } } // Draw text using SpriteFont @@ -404,13 +408,17 @@ const char *SubText(const char *text, int position, int length) // Measure string width for default font int MeasureText(const char *text, int fontSize) { - Vector2 vec; + Vector2 vec = { 0.0f, 0.0f }; - int defaultFontSize = 10; // Default Font chars height in pixel - if (fontSize < defaultFontSize) fontSize = defaultFontSize; - int spacing = fontSize/defaultFontSize; + // Check if default font has been loaded + if (defaultFont.texture.id != 0) + { + int defaultFontSize = 10; // Default Font chars height in pixel + if (fontSize < defaultFontSize) fontSize = defaultFontSize; + int spacing = fontSize/defaultFontSize; - vec = MeasureTextEx(defaultFont, text, fontSize, spacing); + vec = MeasureTextEx(GetDefaultFont(), text, fontSize, spacing); + } return (int)vec.x; } From 3396743aba163545eb186beb47667d55d38528e9 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Oct 2016 13:25:50 +0200 Subject: [PATCH 090/102] Corrected old issue with mouse buttons on web --- src/raylib.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index e6e510a9b..3b7527854 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -176,13 +176,8 @@ // Mouse Buttons #define MOUSE_LEFT_BUTTON 0 -#if defined(PLATFORM_WEB) - #define MOUSE_RIGHT_BUTTON 2 - #define MOUSE_MIDDLE_BUTTON 1 -#else - #define MOUSE_RIGHT_BUTTON 1 - #define MOUSE_MIDDLE_BUTTON 2 -#endif +#define MOUSE_RIGHT_BUTTON 1 +#define MOUSE_MIDDLE_BUTTON 2 // Touch points registered #define MAX_TOUCH_POINTS 2 From 5af1b4a7c9119cf438e4cb5303009fbe9a25c6d7 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Oct 2016 20:56:58 +0200 Subject: [PATCH 091/102] Added simulated head-tracking on VR simulator A simple 1st person camera... still requires some work... --- examples/core_oculus_rift.c | 7 +++++-- src/raylib.h | 1 + src/rlgl.c | 6 ++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/examples/core_oculus_rift.c b/examples/core_oculus_rift.c index 88e411d45..3d8bb2787 100644 --- a/examples/core_oculus_rift.c +++ b/examples/core_oculus_rift.c @@ -37,6 +37,8 @@ int main() Vector3 cubePosition = { 0.0f, 0.0f, 0.0f }; + SetCameraMode(camera, CAMERA_FIRST_PERSON); + SetTargetFPS(90); // Set our game to run at 90 frames-per-second //-------------------------------------------------------------------------------------- @@ -45,7 +47,8 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateVrTracking(); + if (IsVrSimulator()) UpdateCamera(&camera); + else UpdateVrTracking(); if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); //---------------------------------------------------------------------------------- @@ -61,7 +64,7 @@ int main() DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); - DrawGrid(10, 1.0f); + DrawGrid(40, 1.0f); End3dMode(); diff --git a/src/raylib.h b/src/raylib.h index 3b7527854..df0ee7bc8 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -891,6 +891,7 @@ RLAPI void DestroyLight(Light light); // Des RLAPI void InitVrDevice(int vdDevice); // Init VR device RLAPI void CloseVrDevice(void); // Close VR device RLAPI bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +RLAPI bool IsVrSimulator(void); // Detect if VR simulator is running RLAPI void UpdateVrTracking(void); // Update VR tracking (position and orientation) RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) diff --git a/src/rlgl.c b/src/rlgl.c index 244de52c6..702edb18a 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -2710,6 +2710,12 @@ bool IsVrDeviceReady(void) return (vrDeviceReady || vrSimulator) && vrEnabled; } +// Detect if VR simulator is running +bool IsVrSimulator(void) +{ + return vrSimulator; +} + // Enable/Disable VR experience (device or simulator) void ToggleVrMode(void) { From 4c791100cc339e9be09c95b3bcebf09951647e9d Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Oct 2016 20:57:14 +0200 Subject: [PATCH 092/102] Tweak int to float --- src/shapes.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shapes.c b/src/shapes.c index 362dc0f72..9fcbeff72 100644 --- a/src/shapes.c +++ b/src/shapes.c @@ -129,7 +129,7 @@ void DrawCircleV(Vector2 center, float radius, Color color) { rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2i(center.x, center.y); + rlVertex2f(center.x, center.y); rlVertex2f(center.x + sin(DEG2RAD*i)*radius, center.y + cos(DEG2RAD*i)*radius); rlVertex2f(center.x + sin(DEG2RAD*(i + 10))*radius, center.y + cos(DEG2RAD*(i + 10))*radius); } @@ -144,7 +144,7 @@ void DrawCircleV(Vector2 center, float radius, Color color) { rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2i(center.x, center.y); + rlVertex2f(center.x, center.y); rlVertex2f(center.x + sin(DEG2RAD*i)*radius, center.y + cos(DEG2RAD*i)*radius); rlVertex2f(center.x + sin(DEG2RAD*(i + 10))*radius, center.y + cos(DEG2RAD*(i + 10))*radius); rlVertex2f(center.x + sin(DEG2RAD*(i + 20))*radius, center.y + cos(DEG2RAD*(i + 20))*radius); @@ -330,7 +330,7 @@ void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color col { rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2i(0, 0); + rlVertex2f(0, 0); rlVertex2f(sin(DEG2RAD*i)*radius, cos(DEG2RAD*i)*radius); rlVertex2f(sin(DEG2RAD*(i + 360/sides))*radius, cos(DEG2RAD*(i + 360/sides))*radius); } From b1651baea504411dc47ef257094a089c9107dd73 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 10 Oct 2016 18:22:55 +0200 Subject: [PATCH 093/102] Added support for FLAC audio loading/streaming --- src/audio.c | 62 +- src/external/dr_flac.h | 4395 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 4455 insertions(+), 2 deletions(-) create mode 100644 src/external/dr_flac.h diff --git a/src/audio.c b/src/audio.c index 90bf4968e..bf66f929b 100644 --- a/src/audio.c +++ b/src/audio.c @@ -79,6 +79,10 @@ #define JAR_MOD_IMPLEMENTATION #include "external/jar_mod.h" // MOD loading functions +#define DR_FLAC_IMPLEMENTATION +#define DR_FLAC_NO_WIN32_IO +#include "external/dr_flac.h" // FLAC loading functions + #ifdef _MSC_VER #undef bool #endif @@ -98,12 +102,13 @@ // Types and Structures Definition //---------------------------------------------------------------------------------- -typedef enum { MUSIC_AUDIO_OGG = 0, MUSIC_MODULE_XM, MUSIC_MODULE_MOD } MusicContextType; +typedef enum { MUSIC_AUDIO_OGG = 0, MUSIC_AUDIO_FLAC, MUSIC_MODULE_XM, MUSIC_MODULE_MOD } MusicContextType; // Music type (file streaming from memory) typedef struct MusicData { MusicContextType ctxType; // Type of music context (OGG, XM, MOD) stb_vorbis *ctxOgg; // OGG audio context + drflac *ctxFlac; // FLAC audio context jar_xm_context_t *ctxXm; // XM chiptune context jar_mod_context_t ctxMod; // MOD chiptune context @@ -128,6 +133,7 @@ typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; //---------------------------------------------------------------------------------- static Wave LoadWAV(const char *fileName); // Load WAV file static Wave LoadOGG(const char *fileName); // Load OGG file +static Wave LoadFLAC(const char *fileName); // Load FLAC file #if defined(AUDIO_STANDALONE) const char *GetExtension(const char *fileName); // Get the extension for a filename @@ -212,6 +218,7 @@ Wave LoadWave(const char *fileName) if (strcmp(GetExtension(fileName), "wav") == 0) wave = LoadWAV(fileName); else if (strcmp(GetExtension(fileName), "ogg") == 0) wave = LoadOGG(fileName); + else if (strcmp(GetExtension(fileName), "flac") == 0) wave = LoadFLAC(fileName); else TraceLog(WARNING, "[%s] File extension not recognized, it can't be loaded", fileName); return wave; @@ -672,7 +679,7 @@ Music LoadMusicStream(const char *fileName) // Open ogg audio stream music->ctxOgg = stb_vorbis_open_filename(fileName, NULL, NULL); - if (music->ctxOgg == NULL) TraceLog(WARNING, "[%s] OGG audio file could not be opened", fileName); + if (music->ctxOgg == NULL) TraceLog(WARNING, "[%s] OGG audio file could not be opened", fileName); else { stb_vorbis_info info = stb_vorbis_get_info(music->ctxOgg); // Get Ogg file info @@ -691,6 +698,24 @@ Music LoadMusicStream(const char *fileName) } } + else if (strcmp(GetExtension(fileName), "flac") == 0) + { + music->ctxFlac = drflac_open_file(fileName); + + if (music->ctxFlac == NULL) TraceLog(WARNING, "[%s] FLAC audio file could not be opened", fileName); + else + { + music->stream = InitAudioStream(music->ctxFlac->sampleRate, music->ctxFlac->bitsPerSample, music->ctxFlac->channels); + music->totalSamples = music->ctxFlac->totalSampleCount; + music->samplesLeft = music->totalSamples; + music->ctxType = MUSIC_AUDIO_FLAC; + music->loop = true; // We loop by default + + TraceLog(DEBUG, "[%s] FLAC sample rate: %i", fileName, music->ctxFlac->sampleRate); + TraceLog(DEBUG, "[%s] FLAC bits per sample: %i", fileName, music->ctxFlac->bitsPerSample); + TraceLog(DEBUG, "[%s] FLAC channels: %i", fileName, music->ctxFlac->channels); + } + } else if (strcmp(GetExtension(fileName), "xm") == 0) { int result = jar_xm_create_context_from_file(&music->ctxXm, 48000, fileName); @@ -739,6 +764,7 @@ void UnloadMusicStream(Music music) CloseAudioStream(music->stream); if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_close(music->ctxOgg); + else if (music->ctxType == MUSIC_AUDIO_FLAC) drflac_free(music->ctxFlac); else if (music->ctxType == MUSIC_MODULE_XM) jar_xm_free_context(music->ctxXm); else if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_unload(&music->ctxMod); @@ -818,6 +844,20 @@ void UpdateMusicStream(Music music) UpdateAudioStream(music->stream, pcm, numSamplesOgg*music->stream.channels); music->samplesLeft -= (numSamplesOgg*music->stream.channels); + } break; + case MUSIC_AUDIO_FLAC: + { + if (music->samplesLeft >= AUDIO_BUFFER_SIZE) numSamples = AUDIO_BUFFER_SIZE; + else numSamples = music->samplesLeft; + + int pcmi[AUDIO_BUFFER_SIZE]; + + // NOTE: Returns the number of samples to process (should be the same as numSamples) + int numSamplesFlac = drflac_read_s32(music->ctxFlac, numSamples, pcmi); + + UpdateAudioStream(music->stream, pcmi, numSamples*music->stream.channels); + music->samplesLeft -= (numSamples*music->stream.channels); + } break; case MUSIC_MODULE_XM: { @@ -1214,6 +1254,24 @@ static Wave LoadOGG(const char *fileName) return wave; } +// Load FLAC file into Wave structure +// NOTE: Using dr_flac library +static Wave LoadFLAC(const char *fileName) +{ + Wave wave; + + // Decode an entire FLAC file in one go + uint64_t totalSampleCount; + wave.data = drflac_open_and_decode_file_s32(fileName, &wave.channels, &wave.sampleRate, &totalSampleCount); + + wave.sampleCount = (int)totalSampleCount; + wave.sampleSize = 32; + + if (wave.data == NULL) TraceLog(WARNING, "[%s] FLAC data could not be loaded", fileName); + + return wave; +} + // Some required functions for audio standalone module version #if defined(AUDIO_STANDALONE) // Get the extension for a filename diff --git a/src/external/dr_flac.h b/src/external/dr_flac.h new file mode 100644 index 000000000..d7b66f206 --- /dev/null +++ b/src/external/dr_flac.h @@ -0,0 +1,4395 @@ +// FLAC audio decoder. Public domain. See "unlicense" statement at the end of this file. +// dr_flac - v0.4 - 2016-09-29 +// +// David Reid - mackron@gmail.com + +// USAGE +// +// dr_flac is a single-file library. To use it, do something like the following in one .c file. +// #define DR_FLAC_IMPLEMENTATION +// #include "dr_flac.h" +// +// You can then #include this file in other parts of the program as you would with any other header file. To decode audio data, +// do something like the following: +// +// drflac* pFlac = drflac_open_file("MySong.flac"); +// if (pFlac == NULL) { +// // Failed to open FLAC file +// } +// +// int32_t* pSamples = malloc(pFlac->totalSampleCount * sizeof(int32_t)); +// uint64_t numberOfInterleavedSamplesActuallyRead = drflac_read_s32(pFlac, pFlac->totalSampleCount, pSamples); +// +// The drflac object represents the decoder. It is a transparent type so all the information you need, such as the number of +// channels and the bits per sample, should be directly accessible - just make sure you don't change their values. Samples are +// always output as interleaved signed 32-bit PCM. In the example above a native FLAC stream was opened, however dr_flac has +// seamless support for Ogg encapsulated FLAC streams as well. +// +// You do not need to decode the entire stream in one go - you just specify how many samples you'd like at any given time and +// the decoder will give you as many samples as it can, up to the amount requested. Later on when you need the next batch of +// samples, just call it again. Example: +// +// while (drflac_read_s32(pFlac, chunkSize, pChunkSamples) > 0) { +// do_something(); +// } +// +// You can seek to a specific sample with drflac_seek_to_sample(). The given sample is based on interleaving. So for example, +// if you were to seek to the sample at index 0 in a stereo stream, you'll be seeking to the first sample of the left channel. +// The sample at index 1 will be the first sample of the right channel. The sample at index 2 will be the second sample of the +// left channel, etc. +// +// +// If you just want to quickly decode an entire FLAC file in one go you can do something like this: +// +// unsigned int channels; +// unsigned int sampleRate; +// uint64_t totalSampleCount; +// int32_t* pSampleData = drflac_open_and_decode_file("MySong.flac", &channels, &sampleRate, &totalSampleCount); +// if (pSampleData == NULL) { +// // Failed to open and decode FLAC file. +// } +// +// ... +// +// drflac_free(pSampleData); +// +// +// If you need access to metadata (album art, etc.), use drflac_open_with_metadata(), drflac_open_file_with_metdata() or +// drflac_open_memory_with_metadata(). The rationale for keeping these APIs separate is that they're slightly slower than the +// normal versions and also just a little bit harder to use. +// +// dr_flac reports metadata to the application through the use of a callback, and every metadata block is reported before +// drflac_open_with_metdata() returns. See https://github.com/mackron/dr_libs_tests/blob/master/dr_flac/dr_flac_test_2.c for +// an example on how to read metadata. +// +// +// +// OPTIONS +// #define these options before including this file. +// +// #define DR_FLAC_NO_STDIO +// Disable drflac_open_file(). +// +// #define DR_FLAC_NO_OGG +// Disables support for Ogg/FLAC streams. +// +// #define DR_FLAC_NO_WIN32_IO +// In the Win32 build, dr_flac uses the Win32 IO APIs for drflac_open_file() by default. This setting will make it use the +// standard FILE APIs instead. Ignored when DR_FLAC_NO_STDIO is #defined. (The rationale for this configuration is that +// there's a bug in one compiler's Win32 implementation of the FILE APIs which is not present in the Win32 IO APIs.) +// +// #define DR_FLAC_BUFFER_SIZE +// Defines the size of the internal buffer to store data from onRead(). This buffer is used to reduce the number of calls +// back to the client for more data. Larger values means more memory, but better performance. My tests show diminishing +// returns after about 4KB (which is the default). Consider reducing this if you have a very efficient implementation of +// onRead(), or increase it if it's very inefficient. Must be a multiple of 8. +// +// +// +// QUICK NOTES +// - Based on my tests, the performance of the 32-bit build is at about parity with the reference implementation. The 64-bit build +// is slightly faster. +// - dr_flac does not currently do any CRC checks. +// - dr_flac should work fine with valid native FLAC files, but for broadcast streams it won't work if the header and STREAMINFO +// block is unavailable. +// - Audio data is output as signed 32-bit PCM, regardless of the bits per sample the FLAC stream is encoded as. +// - This has not been tested on big-endian architectures. +// - Rice codes in unencoded binary form (see https://xiph.org/flac/format.html#rice_partition) has not been tested. If anybody +// knows where I can find some test files for this, let me know. +// - Perverse and erroneous files have not been tested. Again, if you know where I can get some test files let me know. +// - dr_flac is not thread-safe, but it's APIs can be called from any thread so long as you do your own synchronization. + +#ifndef dr_flac_h +#define dr_flac_h + +#include +#include + +#ifndef DR_BOOL_DEFINED +#define DR_BOOL_DEFINED +#ifdef _WIN32 +typedef char drBool8; +typedef int drBool32; +#else +#include +typedef int8_t drBool8; +typedef int32_t drBool32; +#endif +#define DR_TRUE 1 +#define DR_FALSE 0 +#endif + +// As data is read from the client it is placed into an internal buffer for fast access. This controls the +// size of that buffer. Larger values means more speed, but also more memory. In my testing there is diminishing +// returns after about 4KB, but you can fiddle with this to suit your own needs. Must be a multiple of 8. +#ifndef DR_FLAC_BUFFER_SIZE +#define DR_FLAC_BUFFER_SIZE 4096 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +// Check if we can enable 64-bit optimizations. +#if defined(_WIN64) +#define DRFLAC_64BIT +#endif + +#if defined(__GNUC__) +#if defined(__x86_64__) || defined(__ppc64__) +#define DRFLAC_64BIT +#endif +#endif + +#ifdef DRFLAC_64BIT +typedef uint64_t drflac_cache_t; +#else +typedef uint32_t drflac_cache_t; +#endif + +// The various metadata block types. +#define DRFLAC_METADATA_BLOCK_TYPE_STREAMINFO 0 +#define DRFLAC_METADATA_BLOCK_TYPE_PADDING 1 +#define DRFLAC_METADATA_BLOCK_TYPE_APPLICATION 2 +#define DRFLAC_METADATA_BLOCK_TYPE_SEEKTABLE 3 +#define DRFLAC_METADATA_BLOCK_TYPE_VORBIS_COMMENT 4 +#define DRFLAC_METADATA_BLOCK_TYPE_CUESHEET 5 +#define DRFLAC_METADATA_BLOCK_TYPE_PICTURE 6 +#define DRFLAC_METADATA_BLOCK_TYPE_INVALID 127 + +// The various picture types specified in the PICTURE block. +#define DRFLAC_PICTURE_TYPE_OTHER 0 +#define DRFLAC_PICTURE_TYPE_FILE_ICON 1 +#define DRFLAC_PICTURE_TYPE_OTHER_FILE_ICON 2 +#define DRFLAC_PICTURE_TYPE_COVER_FRONT 3 +#define DRFLAC_PICTURE_TYPE_COVER_BACK 4 +#define DRFLAC_PICTURE_TYPE_LEAFLET_PAGE 5 +#define DRFLAC_PICTURE_TYPE_MEDIA 6 +#define DRFLAC_PICTURE_TYPE_LEAD_ARTIST 7 +#define DRFLAC_PICTURE_TYPE_ARTIST 8 +#define DRFLAC_PICTURE_TYPE_CONDUCTOR 9 +#define DRFLAC_PICTURE_TYPE_BAND 10 +#define DRFLAC_PICTURE_TYPE_COMPOSER 11 +#define DRFLAC_PICTURE_TYPE_LYRICIST 12 +#define DRFLAC_PICTURE_TYPE_RECORDING_LOCATION 13 +#define DRFLAC_PICTURE_TYPE_DURING_RECORDING 14 +#define DRFLAC_PICTURE_TYPE_DURING_PERFORMANCE 15 +#define DRFLAC_PICTURE_TYPE_SCREEN_CAPTURE 16 +#define DRFLAC_PICTURE_TYPE_BRIGHT_COLORED_FISH 17 +#define DRFLAC_PICTURE_TYPE_ILLUSTRATION 18 +#define DRFLAC_PICTURE_TYPE_BAND_LOGOTYPE 19 +#define DRFLAC_PICTURE_TYPE_PUBLISHER_LOGOTYPE 20 + +typedef enum +{ + drflac_container_native, + drflac_container_ogg +} drflac_container; + +typedef enum +{ + drflac_seek_origin_start, + drflac_seek_origin_current +} drflac_seek_origin; + +// Packing is important on this structure because we map this directly to the raw data within the SEEKTABLE metadata block. +#pragma pack(2) +typedef struct +{ + uint64_t firstSample; + uint64_t frameOffset; // The offset from the first byte of the header of the first frame. + uint16_t sampleCount; +} drflac_seekpoint; +#pragma pack() + +typedef struct +{ + uint16_t minBlockSize; + uint16_t maxBlockSize; + uint32_t minFrameSize; + uint32_t maxFrameSize; + uint32_t sampleRate; + uint8_t channels; + uint8_t bitsPerSample; + uint64_t totalSampleCount; + uint8_t md5[16]; +} drflac_streaminfo; + +typedef struct +{ + // The metadata type. Use this to know how to interpret the data below. + uint32_t type; + + // A pointer to the raw data. This points to a temporary buffer so don't hold on to it. It's best to + // not modify the contents of this buffer. Use the structures below for more meaningful and structured + // information about the metadata. It's possible for this to be null. + const void* pRawData; + + // The size in bytes of the block and the buffer pointed to by pRawData if it's non-NULL. + uint32_t rawDataSize; + + union + { + drflac_streaminfo streaminfo; + + struct + { + int unused; + } padding; + + struct + { + uint32_t id; + const void* pData; + uint32_t dataSize; + } application; + + struct + { + uint32_t seekpointCount; + const drflac_seekpoint* pSeekpoints; + } seektable; + + struct + { + uint32_t vendorLength; + const char* vendor; + uint32_t commentCount; + const char* comments; + } vorbis_comment; + + struct + { + char catalog[128]; + uint64_t leadInSampleCount; + drBool32 isCD; + uint8_t trackCount; + const uint8_t* pTrackData; + } cuesheet; + + struct + { + uint32_t type; + uint32_t mimeLength; + const char* mime; + uint32_t descriptionLength; + const char* description; + uint32_t width; + uint32_t height; + uint32_t colorDepth; + uint32_t indexColorCount; + uint32_t pictureDataSize; + const uint8_t* pPictureData; + } picture; + } data; + +} drflac_metadata; + + +// Callback for when data needs to be read from the client. +// +// pUserData [in] The user data that was passed to drflac_open() and family. +// pBufferOut [out] The output buffer. +// bytesToRead [in] The number of bytes to read. +// +// Returns the number of bytes actually read. +typedef size_t (* drflac_read_proc)(void* pUserData, void* pBufferOut, size_t bytesToRead); + +// Callback for when data needs to be seeked. +// +// pUserData [in] The user data that was passed to drflac_open() and family. +// offset [in] The number of bytes to move, relative to the origin. Will never be negative. +// origin [in] The origin of the seek - the current position or the start of the stream. +// +// Returns whether or not the seek was successful. +// +// The offset will never be negative. Whether or not it is relative to the beginning or current position is determined +// by the "origin" parameter which will be either drflac_seek_origin_start or drflac_seek_origin_current. +typedef drBool32 (* drflac_seek_proc)(void* pUserData, int offset, drflac_seek_origin origin); + +// Callback for when a metadata block is read. +// +// pUserData [in] The user data that was passed to drflac_open() and family. +// pMetadata [in] A pointer to a structure containing the data of the metadata block. +// +// Use pMetadata->type to determine which metadata block is being handled and how to read the data. +typedef void (* drflac_meta_proc)(void* pUserData, drflac_metadata* pMetadata); + + +// Structure for internal use. Only used for decoders opened with drflac_open_memory. +typedef struct +{ + const uint8_t* data; + size_t dataSize; + size_t currentReadPos; +} drflac__memory_stream; + +// Structure for internal use. Used for bit streaming. +typedef struct +{ + // The function to call when more data needs to be read. + drflac_read_proc onRead; + + // The function to call when the current read position needs to be moved. + drflac_seek_proc onSeek; + + // The user data to pass around to onRead and onSeek. + void* pUserData; + + + // The number of unaligned bytes in the L2 cache. This will always be 0 until the end of the stream is hit. At the end of the + // stream there will be a number of bytes that don't cleanly fit in an L1 cache line, so we use this variable to know whether + // or not the bistreamer needs to run on a slower path to read those last bytes. This will never be more than sizeof(drflac_cache_t). + size_t unalignedByteCount; + + // The content of the unaligned bytes. + drflac_cache_t unalignedCache; + + // The index of the next valid cache line in the "L2" cache. + size_t nextL2Line; + + // The number of bits that have been consumed by the cache. This is used to determine how many valid bits are remaining. + size_t consumedBits; + + // The cached data which was most recently read from the client. There are two levels of cache. Data flows as such: + // Client -> L2 -> L1. The L2 -> L1 movement is aligned and runs on a fast path in just a few instructions. + drflac_cache_t cacheL2[DR_FLAC_BUFFER_SIZE/sizeof(drflac_cache_t)]; + drflac_cache_t cache; + +} drflac_bs; + +typedef struct +{ + // The type of the subframe: SUBFRAME_CONSTANT, SUBFRAME_VERBATIM, SUBFRAME_FIXED or SUBFRAME_LPC. + uint8_t subframeType; + + // The number of wasted bits per sample as specified by the sub-frame header. + uint8_t wastedBitsPerSample; + + // The order to use for the prediction stage for SUBFRAME_FIXED and SUBFRAME_LPC. + uint8_t lpcOrder; + + // The number of bits per sample for this subframe. This is not always equal to the current frame's bit per sample because + // an extra bit is required for side channels when interchannel decorrelation is being used. + uint32_t bitsPerSample; + + // A pointer to the buffer containing the decoded samples in the subframe. This pointer is an offset from drflac::pExtraData, or + // NULL if the heap is not being used. Note that it's a signed 32-bit integer for each value. + int32_t* pDecodedSamples; + +} drflac_subframe; + +typedef struct +{ + // If the stream uses variable block sizes, this will be set to the index of the first sample. If fixed block sizes are used, this will + // always be set to 0. + uint64_t sampleNumber; + + // If the stream uses fixed block sizes, this will be set to the frame number. If variable block sizes are used, this will always be 0. + uint32_t frameNumber; + + // The sample rate of this frame. + uint32_t sampleRate; + + // The number of samples in each sub-frame within this frame. + uint16_t blockSize; + + // The channel assignment of this frame. This is not always set to the channel count. If interchannel decorrelation is being used this + // will be set to DRFLAC_CHANNEL_ASSIGNMENT_LEFT_SIDE, DRFLAC_CHANNEL_ASSIGNMENT_RIGHT_SIDE or DRFLAC_CHANNEL_ASSIGNMENT_MID_SIDE. + uint8_t channelAssignment; + + // The number of bits per sample within this frame. + uint8_t bitsPerSample; + + // The frame's CRC. This is set, but unused at the moment. + uint8_t crc8; + +} drflac_frame_header; + +typedef struct +{ + // The header. + drflac_frame_header header; + + // The number of samples left to be read in this frame. This is initially set to the block size multiplied by the channel count. As samples + // are read, this will be decremented. When it reaches 0, the decoder will see this frame as fully consumed and load the next frame. + uint32_t samplesRemaining; + + // The list of sub-frames within the frame. There is one sub-frame for each channel, and there's a maximum of 8 channels. + drflac_subframe subframes[8]; + +} drflac_frame; + +typedef struct +{ + // The function to call when a metadata block is read. + drflac_meta_proc onMeta; + + // The user data posted to the metadata callback function. + void* pUserDataMD; + + + // The sample rate. Will be set to something like 44100. + uint32_t sampleRate; + + // The number of channels. This will be set to 1 for monaural streams, 2 for stereo, etc. Maximum 8. This is set based on the + // value specified in the STREAMINFO block. + uint8_t channels; + + // The bits per sample. Will be set to somthing like 16, 24, etc. + uint8_t bitsPerSample; + + // The maximum block size, in samples. This number represents the number of samples in each channel (not combined). + uint16_t maxBlockSize; + + // The total number of samples making up the stream. This includes every channel. For example, if the stream has 2 channels, + // with each channel having a total of 4096, this value will be set to 2*4096 = 8192. Can be 0 in which case it's still a + // valid stream, but just means the total sample count is unknown. Likely the case with streams like internet radio. + uint64_t totalSampleCount; + + + // The container type. This is set based on whether or not the decoder was opened from a native or Ogg stream. + drflac_container container; + + + // The position of the seektable in the file. + uint64_t seektablePos; + + // The size of the seektable. + uint32_t seektableSize; + + + // Information about the frame the decoder is currently sitting on. + drflac_frame currentFrame; + + // The position of the first frame in the stream. This is only ever used for seeking. + uint64_t firstFramePos; + + + // A hack to avoid a malloc() when opening a decoder with drflac_open_memory(). + drflac__memory_stream memoryStream; + + + + // A pointer to the decoded sample data. This is an offset of pExtraData. + int32_t* pDecodedSamples; + + + // The bit streamer. The raw FLAC data is fed through this object. + drflac_bs bs; + + // Variable length extra data. We attach this to the end of the object so we avoid unnecessary mallocs. + uint8_t pExtraData[1]; + +} drflac; + + +// Opens a FLAC decoder. +// +// onRead [in] The function to call when data needs to be read from the client. +// onSeek [in] The function to call when the read position of the client data needs to move. +// pUserData [in, optional] A pointer to application defined data that will be passed to onRead and onSeek. +// +// Returns a pointer to an object representing the decoder. +// +// Close the decoder with drflac_close(). +// +// This function will automatically detect whether or not you are attempting to open a native or Ogg encapsulated +// FLAC, both of which should work seamlessly without any manual intervention. Ogg encapsulation also works with +// multiplexed streams which basically means it can play FLAC encoded audio tracks in videos. +// +// This is the lowest level function for opening a FLAC stream. You can also use drflac_open_file() and drflac_open_memory() +// to open the stream from a file or from a block of memory respectively. +// +// The STREAMINFO block must be present for this to succeed. +// +// See also: drflac_open_file(), drflac_open_memory(), drflac_open_with_metadata(), drflac_close() +drflac* drflac_open(drflac_read_proc onRead, drflac_seek_proc onSeek, void* pUserData); + +// Opens a FLAC decoder and notifies the caller of the metadata chunks (album art, etc.). +// +// onRead [in] The function to call when data needs to be read from the client. +// onSeek [in] The function to call when the read position of the client data needs to move. +// onMeta [in] The function to call for every metadata block. +// pUserData [in, optional] A pointer to application defined data that will be passed to onRead, onSeek and onMeta. +// +// Returns a pointer to an object representing the decoder. +// +// Close the decoder with drflac_close(). +// +// This is slower than drflac_open(), so avoid this one if you don't need metadata. Internally, this will do a malloc() +// and free() for every metadata block except for STREAMINFO and PADDING blocks. +// +// The caller is notified of the metadata via the onMeta callback. All metadata blocks with be handled before the function +// returns. +// +// See also: drflac_open_file_with_metadata(), drflac_open_memory_with_metadata(), drflac_open(), drflac_close() +drflac* drflac_open_with_metadata(drflac_read_proc onRead, drflac_seek_proc onSeek, drflac_meta_proc onMeta, void* pUserData); + +// Closes the given FLAC decoder. +// +// pFlac [in] The decoder to close. +// +// This will destroy the decoder object. +void drflac_close(drflac* pFlac); + + +// Reads sample data from the given FLAC decoder, output as interleaved signed 32-bit PCM. +// +// pFlac [in] The decoder. +// samplesToRead [in] The number of samples to read. +// pBufferOut [out, optional] A pointer to the buffer that will receive the decoded samples. +// +// Returns the number of samples actually read. +// +// pBufferOut can be null, in which case the call will act as a seek, and the return value will be the number of samples +// seeked. +uint64_t drflac_read_s32(drflac* pFlac, uint64_t samplesToRead, int32_t* pBufferOut); + +// Seeks to the sample at the given index. +// +// pFlac [in] The decoder. +// sampleIndex [in] The index of the sample to seek to. See notes below. +// +// Returns DR_TRUE if successful; DR_FALSE otherwise. +// +// The sample index is based on interleaving. In a stereo stream, for example, the sample at index 0 is the first sample +// in the left channel; the sample at index 1 is the first sample on the right channel, and so on. +// +// When seeking, you will likely want to ensure it's rounded to a multiple of the channel count. You can do this with +// something like drflac_seek_to_sample(pFlac, (mySampleIndex + (mySampleIndex % pFlac->channels))) +drBool32 drflac_seek_to_sample(drflac* pFlac, uint64_t sampleIndex); + + + +#ifndef DR_FLAC_NO_STDIO +// Opens a FLAC decoder from the file at the given path. +// +// filename [in] The path of the file to open, either absolute or relative to the current directory. +// +// Returns a pointer to an object representing the decoder. +// +// Close the decoder with drflac_close(). +// +// This will hold a handle to the file until the decoder is closed with drflac_close(). Some platforms will restrict the +// number of files a process can have open at any given time, so keep this mind if you have many decoders open at the +// same time. +// +// See also: drflac_open(), drflac_open_file_with_metadata(), drflac_close() +drflac* drflac_open_file(const char* filename); + +// Opens a FLAC decoder from the file at the given path and notifies the caller of the metadata chunks (album art, etc.) +// +// Look at the documentation for drflac_open_with_metadata() for more information on how metadata is handled. +drflac* drflac_open_file_with_metadata(const char* filename, drflac_meta_proc onMeta, void* pUserData); +#endif + +// Opens a FLAC decoder from a pre-allocated block of memory +// +// This does not create a copy of the data. It is up to the application to ensure the buffer remains valid for +// the lifetime of the decoder. +drflac* drflac_open_memory(const void* data, size_t dataSize); + +// Opens a FLAC decoder from a pre-allocated block of memory and notifies the caller of the metadata chunks (album art, etc.) +// +// Look at the documentation for drflac_open_with_metadata() for more information on how metadata is handled. +drflac* drflac_open_memory_with_metadata(const void* data, size_t dataSize, drflac_meta_proc onMeta, void* pUserData); + + + +//// High Level APIs //// + +// Opens a FLAC stream from the given callbacks and fully decodes it in a single operation. The return value is a +// pointer to the sample data as interleaved signed 32-bit PCM. The returned data must be freed with drflac_free(). +// +// Sometimes a FLAC file won't keep track of the total sample count. In this situation the function will continuously +// read samples into a dynamically sized buffer on the heap until no samples are left. +// +// Do not call this function on a broadcast type of stream (like internet radio streams and whatnot). +int32_t* drflac_open_and_decode_s32(drflac_read_proc onRead, drflac_seek_proc onSeek, void* pUserData, unsigned int* channels, unsigned int* sampleRate, uint64_t* totalSampleCount); + +#ifndef DR_FLAC_NO_STDIO +// Same as drflac_open_and_decode_s32() except opens the decoder from a file. +int32_t* drflac_open_and_decode_file_s32(const char* filename, unsigned int* channels, unsigned int* sampleRate, uint64_t* totalSampleCount); +#endif + +// Same as drflac_open_and_decode_s32() except opens the decoder from a block of memory. +int32_t* drflac_open_and_decode_memory_s32(const void* data, size_t dataSize, unsigned int* channels, unsigned int* sampleRate, uint64_t* totalSampleCount); + +// Frees data returned by drflac_open_and_decode_*(). +void drflac_free(void* pSampleDataReturnedByOpenAndDecode); + + +// Structure representing an iterator for vorbis comments in a VORBIS_COMMENT metadata block. +typedef struct +{ + uint32_t countRemaining; + const char* pRunningData; +} drflac_vorbis_comment_iterator; + +// Initializes a vorbis comment iterator. This can be used for iterating over the vorbis comments in a VORBIS_COMMENT +// metadata block. +void drflac_init_vorbis_comment_iterator(drflac_vorbis_comment_iterator* pIter, uint32_t commentCount, const char* pComments); + +// Goes to the next vorbis comment in the given iterator. If null is returned it means there are no more comments. The +// returned string is NOT null terminated. +const char* drflac_next_vorbis_comment(drflac_vorbis_comment_iterator* pIter, uint32_t* pCommentLengthOut); + + + +#ifdef __cplusplus +} +#endif +#endif //dr_flac_h + + +/////////////////////////////////////////////////////////////////////////////// +// +// IMPLEMENTATION +// +/////////////////////////////////////////////////////////////////////////////// +#ifdef DR_FLAC_IMPLEMENTATION +#include +#include +#include + +#ifdef _MSC_VER +#include // For _byteswap_ulong and _byteswap_uint64 +#endif + +#ifdef __linux__ +#define _BSD_SOURCE +#include +#endif + +#ifdef _MSC_VER +#define DRFLAC_INLINE __forceinline +#else +#define DRFLAC_INLINE inline +#endif + +#define DRFLAC_SUBFRAME_CONSTANT 0 +#define DRFLAC_SUBFRAME_VERBATIM 1 +#define DRFLAC_SUBFRAME_FIXED 8 +#define DRFLAC_SUBFRAME_LPC 32 +#define DRFLAC_SUBFRAME_RESERVED 255 + +#define DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE 0 +#define DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE2 1 + +#define DRFLAC_CHANNEL_ASSIGNMENT_INDEPENDENT 0 +#define DRFLAC_CHANNEL_ASSIGNMENT_LEFT_SIDE 8 +#define DRFLAC_CHANNEL_ASSIGNMENT_RIGHT_SIDE 9 +#define DRFLAC_CHANNEL_ASSIGNMENT_MID_SIDE 10 + + +//// Endian Management //// +static DRFLAC_INLINE drBool32 drflac__is_little_endian() +{ + int n = 1; + return (*(char*)&n) == 1; +} + +static DRFLAC_INLINE uint16_t drflac__swap_endian_uint16(uint16_t n) +{ +#ifdef _MSC_VER + return _byteswap_ushort(n); +#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + return __builtin_bswap16(n); +#else + return ((n & 0xFF00) >> 8) | + ((n & 0x00FF) << 8); +#endif +} + +static DRFLAC_INLINE uint32_t drflac__swap_endian_uint32(uint32_t n) +{ +#ifdef _MSC_VER + return _byteswap_ulong(n); +#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + return __builtin_bswap32(n); +#else + return ((n & 0xFF000000) >> 24) | + ((n & 0x00FF0000) >> 8) | + ((n & 0x0000FF00) << 8) | + ((n & 0x000000FF) << 24); +#endif +} + +static DRFLAC_INLINE uint64_t drflac__swap_endian_uint64(uint64_t n) +{ +#ifdef _MSC_VER + return _byteswap_uint64(n); +#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + return __builtin_bswap64(n); +#else + return ((n & 0xFF00000000000000ULL) >> 56) | + ((n & 0x00FF000000000000ULL) >> 40) | + ((n & 0x0000FF0000000000ULL) >> 24) | + ((n & 0x000000FF00000000ULL) >> 8) | + ((n & 0x00000000FF000000ULL) << 8) | + ((n & 0x0000000000FF0000ULL) << 24) | + ((n & 0x000000000000FF00ULL) << 40) | + ((n & 0x00000000000000FFULL) << 56); +#endif +} + +static DRFLAC_INLINE uint16_t drflac__be2host_16(uint16_t n) +{ +#ifdef __linux__ + return be16toh(n); +#else + if (drflac__is_little_endian()) { + return drflac__swap_endian_uint16(n); + } + + return n; +#endif +} + +static DRFLAC_INLINE uint32_t drflac__be2host_32(uint32_t n) +{ +#ifdef __linux__ + return be32toh(n); +#else + if (drflac__is_little_endian()) { + return drflac__swap_endian_uint32(n); + } + + return n; +#endif +} + +static DRFLAC_INLINE uint64_t drflac__be2host_64(uint64_t n) +{ +#ifdef __linux__ + return be64toh(n); +#else + if (drflac__is_little_endian()) { + return drflac__swap_endian_uint64(n); + } + + return n; +#endif +} + + +static DRFLAC_INLINE uint32_t drflac__le2host_32(uint32_t n) +{ +#ifdef __linux__ + return le32toh(n); +#else + if (!drflac__is_little_endian()) { + return drflac__swap_endian_uint32(n); + } + + return n; +#endif +} + + +#ifdef DRFLAC_64BIT +#define drflac__be2host__cache_line drflac__be2host_64 +#else +#define drflac__be2host__cache_line drflac__be2host_32 +#endif + + +// BIT READING ATTEMPT #2 +// +// This uses a 32- or 64-bit bit-shifted cache - as bits are read, the cache is shifted such that the first valid bit is sitting +// on the most significant bit. It uses the notion of an L1 and L2 cache (borrowed from CPU architecture), where the L1 cache +// is a 32- or 64-bit unsigned integer (depending on whether or not a 32- or 64-bit build is being compiled) and the L2 is an +// array of "cache lines", with each cache line being the same size as the L1. The L2 is a buffer of about 4KB and is where data +// from onRead() is read into. +#define DRFLAC_CACHE_L1_SIZE_BYTES(bs) (sizeof((bs)->cache)) +#define DRFLAC_CACHE_L1_SIZE_BITS(bs) (sizeof((bs)->cache)*8) +#define DRFLAC_CACHE_L1_BITS_REMAINING(bs) (DRFLAC_CACHE_L1_SIZE_BITS(bs) - ((bs)->consumedBits)) +#ifdef DRFLAC_64BIT +#define DRFLAC_CACHE_L1_SELECTION_MASK(_bitCount) (~(((uint64_t)-1LL) >> (_bitCount))) +#else +#define DRFLAC_CACHE_L1_SELECTION_MASK(_bitCount) (~(((uint32_t)-1) >> (_bitCount))) +#endif +#define DRFLAC_CACHE_L1_SELECTION_SHIFT(bs, _bitCount) (DRFLAC_CACHE_L1_SIZE_BITS(bs) - (_bitCount)) +#define DRFLAC_CACHE_L1_SELECT(bs, _bitCount) (((bs)->cache) & DRFLAC_CACHE_L1_SELECTION_MASK(_bitCount)) +#define DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, _bitCount) (DRFLAC_CACHE_L1_SELECT((bs), _bitCount) >> DRFLAC_CACHE_L1_SELECTION_SHIFT((bs), _bitCount)) +#define DRFLAC_CACHE_L2_SIZE_BYTES(bs) (sizeof((bs)->cacheL2)) +#define DRFLAC_CACHE_L2_LINE_COUNT(bs) (DRFLAC_CACHE_L2_SIZE_BYTES(bs) / sizeof((bs)->cacheL2[0])) +#define DRFLAC_CACHE_L2_LINES_REMAINING(bs) (DRFLAC_CACHE_L2_LINE_COUNT(bs) - (bs)->nextL2Line) + +static DRFLAC_INLINE drBool32 drflac__reload_l1_cache_from_l2(drflac_bs* bs) +{ + // Fast path. Try loading straight from L2. + if (bs->nextL2Line < DRFLAC_CACHE_L2_LINE_COUNT(bs)) { + bs->cache = bs->cacheL2[bs->nextL2Line++]; + return DR_TRUE; + } + + // If we get here it means we've run out of data in the L2 cache. We'll need to fetch more from the client, if there's + // any left. + if (bs->unalignedByteCount > 0) { + return DR_FALSE; // If we have any unaligned bytes it means there's not more aligned bytes left in the client. + } + + size_t bytesRead = bs->onRead(bs->pUserData, bs->cacheL2, DRFLAC_CACHE_L2_SIZE_BYTES(bs)); + + bs->nextL2Line = 0; + if (bytesRead == DRFLAC_CACHE_L2_SIZE_BYTES(bs)) { + bs->cache = bs->cacheL2[bs->nextL2Line++]; + return DR_TRUE; + } + + + // If we get here it means we were unable to retrieve enough data to fill the entire L2 cache. It probably + // means we've just reached the end of the file. We need to move the valid data down to the end of the buffer + // and adjust the index of the next line accordingly. Also keep in mind that the L2 cache must be aligned to + // the size of the L1 so we'll need to seek backwards by any misaligned bytes. + size_t alignedL1LineCount = bytesRead / DRFLAC_CACHE_L1_SIZE_BYTES(bs); + + // We need to keep track of any unaligned bytes for later use. + bs->unalignedByteCount = bytesRead - (alignedL1LineCount * DRFLAC_CACHE_L1_SIZE_BYTES(bs)); + if (bs->unalignedByteCount > 0) { + bs->unalignedCache = bs->cacheL2[alignedL1LineCount]; + } + + if (alignedL1LineCount > 0) + { + size_t offset = DRFLAC_CACHE_L2_LINE_COUNT(bs) - alignedL1LineCount; + for (size_t i = alignedL1LineCount; i > 0; --i) { + bs->cacheL2[i-1 + offset] = bs->cacheL2[i-1]; + } + + bs->nextL2Line = offset; + bs->cache = bs->cacheL2[bs->nextL2Line++]; + return DR_TRUE; + } + else + { + // If we get into this branch it means we weren't able to load any L1-aligned data. + bs->nextL2Line = DRFLAC_CACHE_L2_LINE_COUNT(bs); + return DR_FALSE; + } +} + +static drBool32 drflac__reload_cache(drflac_bs* bs) +{ + // Fast path. Try just moving the next value in the L2 cache to the L1 cache. + if (drflac__reload_l1_cache_from_l2(bs)) { + bs->cache = drflac__be2host__cache_line(bs->cache); + bs->consumedBits = 0; + return DR_TRUE; + } + + // Slow path. + + // If we get here it means we have failed to load the L1 cache from the L2. Likely we've just reached the end of the stream and the last + // few bytes did not meet the alignment requirements for the L2 cache. In this case we need to fall back to a slower path and read the + // data from the unaligned cache. + size_t bytesRead = bs->unalignedByteCount; + if (bytesRead == 0) { + return DR_FALSE; + } + + assert(bytesRead < DRFLAC_CACHE_L1_SIZE_BYTES(bs)); + bs->consumedBits = (DRFLAC_CACHE_L1_SIZE_BYTES(bs) - bytesRead) * 8; + + bs->cache = drflac__be2host__cache_line(bs->unalignedCache); + bs->cache &= DRFLAC_CACHE_L1_SELECTION_MASK(DRFLAC_CACHE_L1_SIZE_BITS(bs) - bs->consumedBits); // <-- Make sure the consumed bits are always set to zero. Other parts of the library depend on this property. + return DR_TRUE; +} + +static void drflac__reset_cache(drflac_bs* bs) +{ + bs->nextL2Line = DRFLAC_CACHE_L2_LINE_COUNT(bs); // <-- This clears the L2 cache. + bs->consumedBits = DRFLAC_CACHE_L1_SIZE_BITS(bs); // <-- This clears the L1 cache. + bs->cache = 0; + bs->unalignedByteCount = 0; // <-- This clears the trailing unaligned bytes. + bs->unalignedCache = 0; +} + +static drBool32 drflac__seek_bits(drflac_bs* bs, size_t bitsToSeek) +{ + if (bitsToSeek <= DRFLAC_CACHE_L1_BITS_REMAINING(bs)) { + bs->consumedBits += bitsToSeek; + bs->cache <<= bitsToSeek; + return DR_TRUE; + } else { + // It straddles the cached data. This function isn't called too frequently so I'm favouring simplicity here. + bitsToSeek -= DRFLAC_CACHE_L1_BITS_REMAINING(bs); + bs->consumedBits += DRFLAC_CACHE_L1_BITS_REMAINING(bs); + bs->cache = 0; + + size_t wholeBytesRemaining = bitsToSeek/8; + if (wholeBytesRemaining > 0) + { + // The next bytes to seek will be located in the L2 cache. The problem is that the L2 cache is not byte aligned, + // but rather DRFLAC_CACHE_L1_SIZE_BYTES aligned (usually 4 or 8). If, for example, the number of bytes to seek is + // 3, we'll need to handle it in a special way. + size_t wholeCacheLinesRemaining = wholeBytesRemaining / DRFLAC_CACHE_L1_SIZE_BYTES(bs); + if (wholeCacheLinesRemaining < DRFLAC_CACHE_L2_LINES_REMAINING(bs)) + { + wholeBytesRemaining -= wholeCacheLinesRemaining * DRFLAC_CACHE_L1_SIZE_BYTES(bs); + bitsToSeek -= wholeCacheLinesRemaining * DRFLAC_CACHE_L1_SIZE_BITS(bs); + bs->nextL2Line += wholeCacheLinesRemaining; + } + else + { + wholeBytesRemaining -= DRFLAC_CACHE_L2_LINES_REMAINING(bs) * DRFLAC_CACHE_L1_SIZE_BYTES(bs); + bitsToSeek -= DRFLAC_CACHE_L2_LINES_REMAINING(bs) * DRFLAC_CACHE_L1_SIZE_BITS(bs); + bs->nextL2Line += DRFLAC_CACHE_L2_LINES_REMAINING(bs); + + if (wholeBytesRemaining > 0) { + bs->onSeek(bs->pUserData, (int)wholeBytesRemaining, drflac_seek_origin_current); + bitsToSeek -= wholeBytesRemaining*8; + } + } + } + + + if (bitsToSeek > 0) { + if (!drflac__reload_cache(bs)) { + return DR_FALSE; + } + + return drflac__seek_bits(bs, bitsToSeek); + } + + return DR_TRUE; + } +} + +static drBool32 drflac__read_uint32(drflac_bs* bs, unsigned int bitCount, uint32_t* pResultOut) +{ + assert(bs != NULL); + assert(pResultOut != NULL); + assert(bitCount > 0); + assert(bitCount <= 32); + + if (bs->consumedBits == DRFLAC_CACHE_L1_SIZE_BITS(bs)) { + if (!drflac__reload_cache(bs)) { + return DR_FALSE; + } + } + + if (bitCount <= DRFLAC_CACHE_L1_BITS_REMAINING(bs)) { + if (bitCount < DRFLAC_CACHE_L1_SIZE_BITS(bs)) { + *pResultOut = DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, bitCount); + bs->consumedBits += bitCount; + bs->cache <<= bitCount; + } else { + *pResultOut = (uint32_t)bs->cache; + bs->consumedBits = DRFLAC_CACHE_L1_SIZE_BITS(bs); + bs->cache = 0; + } + return DR_TRUE; + } else { + // It straddles the cached data. It will never cover more than the next chunk. We just read the number in two parts and combine them. + size_t bitCountHi = DRFLAC_CACHE_L1_BITS_REMAINING(bs); + size_t bitCountLo = bitCount - bitCountHi; + uint32_t resultHi = DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, bitCountHi); + + if (!drflac__reload_cache(bs)) { + return DR_FALSE; + } + + *pResultOut = (resultHi << bitCountLo) | DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, bitCountLo); + bs->consumedBits += bitCountLo; + bs->cache <<= bitCountLo; + return DR_TRUE; + } +} + +static drBool32 drflac__read_int32(drflac_bs* bs, unsigned int bitCount, int32_t* pResult) +{ + assert(bs != NULL); + assert(pResult != NULL); + assert(bitCount > 0); + assert(bitCount <= 32); + + uint32_t result; + if (!drflac__read_uint32(bs, bitCount, &result)) { + return DR_FALSE; + } + + uint32_t signbit = ((result >> (bitCount-1)) & 0x01); + result |= (~signbit + 1) << bitCount; + + *pResult = (int32_t)result; + return DR_TRUE; +} + +static drBool32 drflac__read_uint64(drflac_bs* bs, unsigned int bitCount, uint64_t* pResultOut) +{ + assert(bitCount <= 64); + assert(bitCount > 32); + + uint32_t resultHi; + if (!drflac__read_uint32(bs, bitCount - 32, &resultHi)) { + return DR_FALSE; + } + + uint32_t resultLo; + if (!drflac__read_uint32(bs, 32, &resultLo)) { + return DR_FALSE; + } + + *pResultOut = (((uint64_t)resultHi) << 32) | ((uint64_t)resultLo); + return DR_TRUE; +} + +// Function below is unused, but leaving it here in case I need to quickly add it again. +#if 0 +static drBool32 drflac__read_int64(drflac_bs* bs, unsigned int bitCount, int64_t* pResultOut) +{ + assert(bitCount <= 64); + + uint64_t result; + if (!drflac__read_uint64(bs, bitCount, &result)) { + return DR_FALSE; + } + + uint64_t signbit = ((result >> (bitCount-1)) & 0x01); + result |= (~signbit + 1) << bitCount; + + *pResultOut = (int64_t)result; + return DR_TRUE; +} +#endif + +static drBool32 drflac__read_uint16(drflac_bs* bs, unsigned int bitCount, uint16_t* pResult) +{ + assert(bs != NULL); + assert(pResult != NULL); + assert(bitCount > 0); + assert(bitCount <= 16); + + uint32_t result; + if (!drflac__read_uint32(bs, bitCount, &result)) { + return DR_FALSE; + } + + *pResult = (uint16_t)result; + return DR_TRUE; +} + +static drBool32 drflac__read_int16(drflac_bs* bs, unsigned int bitCount, int16_t* pResult) +{ + assert(bs != NULL); + assert(pResult != NULL); + assert(bitCount > 0); + assert(bitCount <= 16); + + int32_t result; + if (!drflac__read_int32(bs, bitCount, &result)) { + return DR_FALSE; + } + + *pResult = (int16_t)result; + return DR_TRUE; +} + +static drBool32 drflac__read_uint8(drflac_bs* bs, unsigned int bitCount, uint8_t* pResult) +{ + assert(bs != NULL); + assert(pResult != NULL); + assert(bitCount > 0); + assert(bitCount <= 8); + + uint32_t result; + if (!drflac__read_uint32(bs, bitCount, &result)) { + return DR_FALSE; + } + + *pResult = (uint8_t)result; + return DR_TRUE; +} + +static drBool32 drflac__read_int8(drflac_bs* bs, unsigned int bitCount, int8_t* pResult) +{ + assert(bs != NULL); + assert(pResult != NULL); + assert(bitCount > 0); + assert(bitCount <= 8); + + int32_t result; + if (!drflac__read_int32(bs, bitCount, &result)) { + return DR_FALSE; + } + + *pResult = (int8_t)result; + return DR_TRUE; +} + + +static inline drBool32 drflac__seek_past_next_set_bit(drflac_bs* bs, unsigned int* pOffsetOut) +{ + unsigned int zeroCounter = 0; + while (bs->cache == 0) { + zeroCounter += (unsigned int)DRFLAC_CACHE_L1_BITS_REMAINING(bs); + if (!drflac__reload_cache(bs)) { + return DR_FALSE; + } + } + + // At this point the cache should not be zero, in which case we know the first set bit should be somewhere in here. There is + // no need for us to perform any cache reloading logic here which should make things much faster. + assert(bs->cache != 0); + + unsigned int bitOffsetTable[] = { + 0, + 4, + 3, 3, + 2, 2, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1 + }; + + unsigned int setBitOffsetPlus1 = bitOffsetTable[DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, 4)]; + if (setBitOffsetPlus1 == 0) { + if (bs->cache == 1) { + setBitOffsetPlus1 = DRFLAC_CACHE_L1_SIZE_BITS(bs); + } else { + setBitOffsetPlus1 = 5; + for (;;) + { + if ((bs->cache & DRFLAC_CACHE_L1_SELECT(bs, setBitOffsetPlus1))) { + break; + } + + setBitOffsetPlus1 += 1; + } + } + } + + bs->consumedBits += setBitOffsetPlus1; + bs->cache <<= setBitOffsetPlus1; + + *pOffsetOut = zeroCounter + setBitOffsetPlus1 - 1; + return DR_TRUE; +} + + + +static drBool32 drflac__seek_to_byte(drflac_bs* bs, uint64_t offsetFromStart) +{ + assert(bs != NULL); + assert(offsetFromStart > 0); + + // Seeking from the start is not quite as trivial as it sounds because the onSeek callback takes a signed 32-bit integer (which + // is intentional because it simplifies the implementation of the onSeek callbacks), however offsetFromStart is unsigned 64-bit. + // To resolve we just need to do an initial seek from the start, and then a series of offset seeks to make up the remainder. + if (offsetFromStart > 0x7FFFFFFF) + { + uint64_t bytesRemaining = offsetFromStart; + if (!bs->onSeek(bs->pUserData, 0x7FFFFFFF, drflac_seek_origin_start)) { + return DR_FALSE; + } + bytesRemaining -= 0x7FFFFFFF; + + + while (bytesRemaining > 0x7FFFFFFF) { + if (!bs->onSeek(bs->pUserData, 0x7FFFFFFF, drflac_seek_origin_current)) { + return DR_FALSE; + } + bytesRemaining -= 0x7FFFFFFF; + } + + + if (bytesRemaining > 0) { + if (!bs->onSeek(bs->pUserData, (int)bytesRemaining, drflac_seek_origin_current)) { + return DR_FALSE; + } + } + } + else + { + if (!bs->onSeek(bs->pUserData, (int)offsetFromStart, drflac_seek_origin_start)) { + return DR_FALSE; + } + } + + + // The cache should be reset to force a reload of fresh data from the client. + drflac__reset_cache(bs); + return DR_TRUE; +} + + +static drBool32 drflac__read_utf8_coded_number(drflac_bs* bs, uint64_t* pNumberOut) +{ + assert(bs != NULL); + assert(pNumberOut != NULL); + + unsigned char utf8[7] = {0}; + if (!drflac__read_uint8(bs, 8, utf8)) { + *pNumberOut = 0; + return DR_FALSE; + } + + if ((utf8[0] & 0x80) == 0) { + *pNumberOut = utf8[0]; + return DR_TRUE; + } + + int byteCount = 1; + if ((utf8[0] & 0xE0) == 0xC0) { + byteCount = 2; + } else if ((utf8[0] & 0xF0) == 0xE0) { + byteCount = 3; + } else if ((utf8[0] & 0xF8) == 0xF0) { + byteCount = 4; + } else if ((utf8[0] & 0xFC) == 0xF8) { + byteCount = 5; + } else if ((utf8[0] & 0xFE) == 0xFC) { + byteCount = 6; + } else if ((utf8[0] & 0xFF) == 0xFE) { + byteCount = 7; + } else { + *pNumberOut = 0; + return DR_FALSE; // Bad UTF-8 encoding. + } + + // Read extra bytes. + assert(byteCount > 1); + + uint64_t result = (uint64_t)(utf8[0] & (0xFF >> (byteCount + 1))); + for (int i = 1; i < byteCount; ++i) { + if (!drflac__read_uint8(bs, 8, utf8 + i)) { + *pNumberOut = 0; + return DR_FALSE; + } + + result = (result << 6) | (utf8[i] & 0x3F); + } + + *pNumberOut = result; + return DR_TRUE; +} + + + +static DRFLAC_INLINE drBool32 drflac__read_and_seek_rice(drflac_bs* bs, uint8_t m) +{ + unsigned int unused; + if (!drflac__seek_past_next_set_bit(bs, &unused)) { + return DR_FALSE; + } + + if (m > 0) { + if (!drflac__seek_bits(bs, m)) { + return DR_FALSE; + } + } + + return DR_TRUE; +} + + +// The next two functions are responsible for calculating the prediction. +// +// When the bits per sample is >16 we need to use 64-bit integer arithmetic because otherwise we'll run out of precision. It's +// safe to assume this will be slower on 32-bit platforms so we use a more optimal solution when the bits per sample is <=16. +static DRFLAC_INLINE int32_t drflac__calculate_prediction_32(uint32_t order, int32_t shift, const int16_t* coefficients, int32_t* pDecodedSamples) +{ + assert(order <= 32); + + // 32-bit version. + + // VC++ optimizes this to a single jmp. I've not yet verified this for other compilers. + int32_t prediction = 0; + + switch (order) + { + case 32: prediction += coefficients[31] * pDecodedSamples[-32]; + case 31: prediction += coefficients[30] * pDecodedSamples[-31]; + case 30: prediction += coefficients[29] * pDecodedSamples[-30]; + case 29: prediction += coefficients[28] * pDecodedSamples[-29]; + case 28: prediction += coefficients[27] * pDecodedSamples[-28]; + case 27: prediction += coefficients[26] * pDecodedSamples[-27]; + case 26: prediction += coefficients[25] * pDecodedSamples[-26]; + case 25: prediction += coefficients[24] * pDecodedSamples[-25]; + case 24: prediction += coefficients[23] * pDecodedSamples[-24]; + case 23: prediction += coefficients[22] * pDecodedSamples[-23]; + case 22: prediction += coefficients[21] * pDecodedSamples[-22]; + case 21: prediction += coefficients[20] * pDecodedSamples[-21]; + case 20: prediction += coefficients[19] * pDecodedSamples[-20]; + case 19: prediction += coefficients[18] * pDecodedSamples[-19]; + case 18: prediction += coefficients[17] * pDecodedSamples[-18]; + case 17: prediction += coefficients[16] * pDecodedSamples[-17]; + case 16: prediction += coefficients[15] * pDecodedSamples[-16]; + case 15: prediction += coefficients[14] * pDecodedSamples[-15]; + case 14: prediction += coefficients[13] * pDecodedSamples[-14]; + case 13: prediction += coefficients[12] * pDecodedSamples[-13]; + case 12: prediction += coefficients[11] * pDecodedSamples[-12]; + case 11: prediction += coefficients[10] * pDecodedSamples[-11]; + case 10: prediction += coefficients[ 9] * pDecodedSamples[-10]; + case 9: prediction += coefficients[ 8] * pDecodedSamples[- 9]; + case 8: prediction += coefficients[ 7] * pDecodedSamples[- 8]; + case 7: prediction += coefficients[ 6] * pDecodedSamples[- 7]; + case 6: prediction += coefficients[ 5] * pDecodedSamples[- 6]; + case 5: prediction += coefficients[ 4] * pDecodedSamples[- 5]; + case 4: prediction += coefficients[ 3] * pDecodedSamples[- 4]; + case 3: prediction += coefficients[ 2] * pDecodedSamples[- 3]; + case 2: prediction += coefficients[ 1] * pDecodedSamples[- 2]; + case 1: prediction += coefficients[ 0] * pDecodedSamples[- 1]; + } + + return (int32_t)(prediction >> shift); +} + +static DRFLAC_INLINE int32_t drflac__calculate_prediction_64(uint32_t order, int32_t shift, const int16_t* coefficients, int32_t* pDecodedSamples) +{ + assert(order <= 32); + + // 64-bit version. + + // This method is faster on the 32-bit build when compiling with VC++. See note below. +#ifndef DRFLAC_64BIT + int64_t prediction; + if (order == 8) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + prediction += coefficients[6] * (int64_t)pDecodedSamples[-7]; + prediction += coefficients[7] * (int64_t)pDecodedSamples[-8]; + } + else if (order == 7) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + prediction += coefficients[6] * (int64_t)pDecodedSamples[-7]; + } + else if (order == 3) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + } + else if (order == 6) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + } + else if (order == 5) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + } + else if (order == 4) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + } + else if (order == 12) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + prediction += coefficients[6] * (int64_t)pDecodedSamples[-7]; + prediction += coefficients[7] * (int64_t)pDecodedSamples[-8]; + prediction += coefficients[8] * (int64_t)pDecodedSamples[-9]; + prediction += coefficients[9] * (int64_t)pDecodedSamples[-10]; + prediction += coefficients[10] * (int64_t)pDecodedSamples[-11]; + prediction += coefficients[11] * (int64_t)pDecodedSamples[-12]; + } + else if (order == 2) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + } + else if (order == 1) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + } + else if (order == 10) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + prediction += coefficients[6] * (int64_t)pDecodedSamples[-7]; + prediction += coefficients[7] * (int64_t)pDecodedSamples[-8]; + prediction += coefficients[8] * (int64_t)pDecodedSamples[-9]; + prediction += coefficients[9] * (int64_t)pDecodedSamples[-10]; + } + else if (order == 9) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + prediction += coefficients[6] * (int64_t)pDecodedSamples[-7]; + prediction += coefficients[7] * (int64_t)pDecodedSamples[-8]; + prediction += coefficients[8] * (int64_t)pDecodedSamples[-9]; + } + else if (order == 11) + { + prediction = coefficients[0] * (int64_t)pDecodedSamples[-1]; + prediction += coefficients[1] * (int64_t)pDecodedSamples[-2]; + prediction += coefficients[2] * (int64_t)pDecodedSamples[-3]; + prediction += coefficients[3] * (int64_t)pDecodedSamples[-4]; + prediction += coefficients[4] * (int64_t)pDecodedSamples[-5]; + prediction += coefficients[5] * (int64_t)pDecodedSamples[-6]; + prediction += coefficients[6] * (int64_t)pDecodedSamples[-7]; + prediction += coefficients[7] * (int64_t)pDecodedSamples[-8]; + prediction += coefficients[8] * (int64_t)pDecodedSamples[-9]; + prediction += coefficients[9] * (int64_t)pDecodedSamples[-10]; + prediction += coefficients[10] * (int64_t)pDecodedSamples[-11]; + } + else + { + prediction = 0; + for (int j = 0; j < (int)order; ++j) { + prediction += coefficients[j] * (int64_t)pDecodedSamples[-j-1]; + } + } +#endif + + // VC++ optimizes this to a single jmp instruction, but only the 64-bit build. The 32-bit build generates less efficient code for some + // reason. The ugly version above is faster so we'll just switch between the two depending on the target platform. +#ifdef DRFLAC_64BIT + int64_t prediction = 0; + + switch (order) + { + case 32: prediction += coefficients[31] * (int64_t)pDecodedSamples[-32]; + case 31: prediction += coefficients[30] * (int64_t)pDecodedSamples[-31]; + case 30: prediction += coefficients[29] * (int64_t)pDecodedSamples[-30]; + case 29: prediction += coefficients[28] * (int64_t)pDecodedSamples[-29]; + case 28: prediction += coefficients[27] * (int64_t)pDecodedSamples[-28]; + case 27: prediction += coefficients[26] * (int64_t)pDecodedSamples[-27]; + case 26: prediction += coefficients[25] * (int64_t)pDecodedSamples[-26]; + case 25: prediction += coefficients[24] * (int64_t)pDecodedSamples[-25]; + case 24: prediction += coefficients[23] * (int64_t)pDecodedSamples[-24]; + case 23: prediction += coefficients[22] * (int64_t)pDecodedSamples[-23]; + case 22: prediction += coefficients[21] * (int64_t)pDecodedSamples[-22]; + case 21: prediction += coefficients[20] * (int64_t)pDecodedSamples[-21]; + case 20: prediction += coefficients[19] * (int64_t)pDecodedSamples[-20]; + case 19: prediction += coefficients[18] * (int64_t)pDecodedSamples[-19]; + case 18: prediction += coefficients[17] * (int64_t)pDecodedSamples[-18]; + case 17: prediction += coefficients[16] * (int64_t)pDecodedSamples[-17]; + case 16: prediction += coefficients[15] * (int64_t)pDecodedSamples[-16]; + case 15: prediction += coefficients[14] * (int64_t)pDecodedSamples[-15]; + case 14: prediction += coefficients[13] * (int64_t)pDecodedSamples[-14]; + case 13: prediction += coefficients[12] * (int64_t)pDecodedSamples[-13]; + case 12: prediction += coefficients[11] * (int64_t)pDecodedSamples[-12]; + case 11: prediction += coefficients[10] * (int64_t)pDecodedSamples[-11]; + case 10: prediction += coefficients[ 9] * (int64_t)pDecodedSamples[-10]; + case 9: prediction += coefficients[ 8] * (int64_t)pDecodedSamples[- 9]; + case 8: prediction += coefficients[ 7] * (int64_t)pDecodedSamples[- 8]; + case 7: prediction += coefficients[ 6] * (int64_t)pDecodedSamples[- 7]; + case 6: prediction += coefficients[ 5] * (int64_t)pDecodedSamples[- 6]; + case 5: prediction += coefficients[ 4] * (int64_t)pDecodedSamples[- 5]; + case 4: prediction += coefficients[ 3] * (int64_t)pDecodedSamples[- 4]; + case 3: prediction += coefficients[ 2] * (int64_t)pDecodedSamples[- 3]; + case 2: prediction += coefficients[ 1] * (int64_t)pDecodedSamples[- 2]; + case 1: prediction += coefficients[ 0] * (int64_t)pDecodedSamples[- 1]; + } +#endif + + return (int32_t)(prediction >> shift); +} + + +// Reads and decodes a string of residual values as Rice codes. The decoder should be sitting on the first bit of the Rice codes. +// +// This is the most frequently called function in the library. It does both the Rice decoding and the prediction in a single loop +// iteration. The prediction is done at the end, and there's an annoying branch I'd like to avoid so the main function is defined +// as a #define - sue me! +#define DRFLAC__DECODE_SAMPLES_WITH_RESIDULE__RICE__PROC(funcName, predictionFunc) \ +static drBool32 funcName (drflac_bs* bs, uint32_t count, uint8_t riceParam, uint32_t order, int32_t shift, const int16_t* coefficients, int32_t* pSamplesOut) \ +{ \ + assert(bs != NULL); \ + assert(count > 0); \ + assert(pSamplesOut != NULL); \ + \ + static unsigned int bitOffsetTable[] = { \ + 0, \ + 4, \ + 3, 3, \ + 2, 2, 2, 2, \ + 1, 1, 1, 1, 1, 1, 1, 1 \ + }; \ + \ + drflac_cache_t riceParamMask = DRFLAC_CACHE_L1_SELECTION_MASK(riceParam); \ + drflac_cache_t resultHiShift = DRFLAC_CACHE_L1_SIZE_BITS(bs) - riceParam; \ + \ + for (int i = 0; i < (int)count; ++i) \ + { \ + unsigned int zeroCounter = 0; \ + while (bs->cache == 0) { \ + zeroCounter += (unsigned int)DRFLAC_CACHE_L1_BITS_REMAINING(bs); \ + if (!drflac__reload_cache(bs)) { \ + return DR_FALSE; \ + } \ + } \ + \ + /* At this point the cache should not be zero, in which case we know the first set bit should be somewhere in here. There is \ + no need for us to perform any cache reloading logic here which should make things much faster. */ \ + assert(bs->cache != 0); \ + unsigned int decodedRice; \ + \ + unsigned int setBitOffsetPlus1 = bitOffsetTable[DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, 4)]; \ + if (setBitOffsetPlus1 > 0) { \ + decodedRice = (zeroCounter + (setBitOffsetPlus1-1)) << riceParam; \ + } else { \ + if (bs->cache == 1) { \ + setBitOffsetPlus1 = DRFLAC_CACHE_L1_SIZE_BITS(bs); \ + decodedRice = (zeroCounter + (DRFLAC_CACHE_L1_SIZE_BITS(bs)-1)) << riceParam; \ + } else { \ + setBitOffsetPlus1 = 5; \ + for (;;) \ + { \ + if ((bs->cache & DRFLAC_CACHE_L1_SELECT(bs, setBitOffsetPlus1))) { \ + decodedRice = (zeroCounter + (setBitOffsetPlus1-1)) << riceParam; \ + break; \ + } \ + \ + setBitOffsetPlus1 += 1; \ + } \ + } \ + } \ + \ + \ + unsigned int bitsLo = 0; \ + unsigned int riceLength = setBitOffsetPlus1 + riceParam; \ + if (riceLength < DRFLAC_CACHE_L1_BITS_REMAINING(bs)) \ + { \ + bitsLo = (unsigned int)((bs->cache & (riceParamMask >> setBitOffsetPlus1)) >> (DRFLAC_CACHE_L1_SIZE_BITS(bs) - riceLength)); \ + \ + bs->consumedBits += riceLength; \ + bs->cache <<= riceLength; \ + } \ + else \ + { \ + bs->consumedBits += riceLength; \ + bs->cache <<= setBitOffsetPlus1; \ + \ + /* It straddles the cached data. It will never cover more than the next chunk. We just read the number in two parts and combine them. */ \ + size_t bitCountLo = bs->consumedBits - DRFLAC_CACHE_L1_SIZE_BITS(bs); \ + drflac_cache_t resultHi = bs->cache & riceParamMask; /* <-- This mask is OK because all bits after the first bits are always zero. */ \ + \ + \ + if (bs->nextL2Line < DRFLAC_CACHE_L2_LINE_COUNT(bs)) { \ + bs->cache = drflac__be2host__cache_line(bs->cacheL2[bs->nextL2Line++]); \ + } else { \ + /* Slow path. We need to fetch more data from the client. */ \ + if (!drflac__reload_cache(bs)) { \ + return DR_FALSE; \ + } \ + } \ + \ + bitsLo = (unsigned int)((resultHi >> resultHiShift) | DRFLAC_CACHE_L1_SELECT_AND_SHIFT(bs, bitCountLo)); \ + bs->consumedBits = bitCountLo; \ + bs->cache <<= bitCountLo; \ + } \ + \ + decodedRice |= bitsLo; \ + decodedRice = (decodedRice >> 1) ^ (~(decodedRice & 0x01) + 1); /* <-- Ah, much faster! :) */ \ + /* \ + if ((decodedRice & 0x01)) { \ + decodedRice = ~(decodedRice >> 1); \ + } else { \ + decodedRice = (decodedRice >> 1); \ + } \ + */ \ + \ + /* In order to properly calculate the prediction when the bits per sample is >16 we need to do it using 64-bit arithmetic. We can assume this \ + is probably going to be slower on 32-bit systems so we'll do a more optimized 32-bit version when the bits per sample is low enough.*/ \ + pSamplesOut[i] = ((int)decodedRice + predictionFunc(order, shift, coefficients, pSamplesOut + i)); \ + } \ + \ + return DR_TRUE; \ +} \ + +DRFLAC__DECODE_SAMPLES_WITH_RESIDULE__RICE__PROC(drflac__decode_samples_with_residual__rice_64, drflac__calculate_prediction_64) +DRFLAC__DECODE_SAMPLES_WITH_RESIDULE__RICE__PROC(drflac__decode_samples_with_residual__rice_32, drflac__calculate_prediction_32) + + +// Reads and seeks past a string of residual values as Rice codes. The decoder should be sitting on the first bit of the Rice codes. +static drBool32 drflac__read_and_seek_residual__rice(drflac_bs* bs, uint32_t count, uint8_t riceParam) +{ + assert(bs != NULL); + assert(count > 0); + + for (uint32_t i = 0; i < count; ++i) { + if (!drflac__read_and_seek_rice(bs, riceParam)) { + return DR_FALSE; + } + } + + return DR_TRUE; +} + +static drBool32 drflac__decode_samples_with_residual__unencoded(drflac_bs* bs, uint32_t bitsPerSample, uint32_t count, uint8_t unencodedBitsPerSample, uint32_t order, int32_t shift, const int16_t* coefficients, int32_t* pSamplesOut) +{ + assert(bs != NULL); + assert(count > 0); + assert(unencodedBitsPerSample > 0 && unencodedBitsPerSample <= 32); + assert(pSamplesOut != NULL); + + for (unsigned int i = 0; i < count; ++i) + { + if (!drflac__read_int32(bs, unencodedBitsPerSample, pSamplesOut + i)) { + return DR_FALSE; + } + + if (bitsPerSample > 16) { + pSamplesOut[i] += drflac__calculate_prediction_64(order, shift, coefficients, pSamplesOut + i); + } else { + pSamplesOut[i] += drflac__calculate_prediction_32(order, shift, coefficients, pSamplesOut + i); + } + } + + return DR_TRUE; +} + + +// Reads and decodes the residual for the sub-frame the decoder is currently sitting on. This function should be called +// when the decoder is sitting at the very start of the RESIDUAL block. The first residuals will be ignored. The +// and parameters are used to determine how many residual values need to be decoded. +static drBool32 drflac__decode_samples_with_residual(drflac_bs* bs, uint32_t bitsPerSample, uint32_t blockSize, uint32_t order, int32_t shift, const int16_t* coefficients, int32_t* pDecodedSamples) +{ + assert(bs != NULL); + assert(blockSize != 0); + assert(pDecodedSamples != NULL); // <-- Should we allow NULL, in which case we just seek past the residual rather than do a full decode? + + uint8_t residualMethod; + if (!drflac__read_uint8(bs, 2, &residualMethod)) { + return DR_FALSE; + } + + if (residualMethod != DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE && residualMethod != DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) { + return DR_FALSE; // Unknown or unsupported residual coding method. + } + + // Ignore the first values. + pDecodedSamples += order; + + + uint8_t partitionOrder; + if (!drflac__read_uint8(bs, 4, &partitionOrder)) { + return DR_FALSE; + } + + + uint32_t samplesInPartition = (blockSize / (1 << partitionOrder)) - order; + uint32_t partitionsRemaining = (1 << partitionOrder); + for (;;) + { + uint8_t riceParam = 0; + if (residualMethod == DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE) { + if (!drflac__read_uint8(bs, 4, &riceParam)) { + return DR_FALSE; + } + if (riceParam == 16) { + riceParam = 0xFF; + } + } else if (residualMethod == DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) { + if (!drflac__read_uint8(bs, 5, &riceParam)) { + return DR_FALSE; + } + if (riceParam == 32) { + riceParam = 0xFF; + } + } + + if (riceParam != 0xFF) { + if (bitsPerSample > 16) { + if (!drflac__decode_samples_with_residual__rice_64(bs, samplesInPartition, riceParam, order, shift, coefficients, pDecodedSamples)) { + return DR_FALSE; + } + } else { + if (!drflac__decode_samples_with_residual__rice_32(bs, samplesInPartition, riceParam, order, shift, coefficients, pDecodedSamples)) { + return DR_FALSE; + } + } + } else { + unsigned char unencodedBitsPerSample = 0; + if (!drflac__read_uint8(bs, 5, &unencodedBitsPerSample)) { + return DR_FALSE; + } + + if (!drflac__decode_samples_with_residual__unencoded(bs, bitsPerSample, samplesInPartition, unencodedBitsPerSample, order, shift, coefficients, pDecodedSamples)) { + return DR_FALSE; + } + } + + pDecodedSamples += samplesInPartition; + + + if (partitionsRemaining == 1) { + break; + } + + partitionsRemaining -= 1; + samplesInPartition = blockSize / (1 << partitionOrder); + } + + return DR_TRUE; +} + +// Reads and seeks past the residual for the sub-frame the decoder is currently sitting on. This function should be called +// when the decoder is sitting at the very start of the RESIDUAL block. The first residuals will be set to 0. The +// and parameters are used to determine how many residual values need to be decoded. +static drBool32 drflac__read_and_seek_residual(drflac_bs* bs, uint32_t blockSize, uint32_t order) +{ + assert(bs != NULL); + assert(blockSize != 0); + + uint8_t residualMethod; + if (!drflac__read_uint8(bs, 2, &residualMethod)) { + return DR_FALSE; + } + + if (residualMethod != DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE && residualMethod != DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) { + return DR_FALSE; // Unknown or unsupported residual coding method. + } + + uint8_t partitionOrder; + if (!drflac__read_uint8(bs, 4, &partitionOrder)) { + return DR_FALSE; + } + + uint32_t samplesInPartition = (blockSize / (1 << partitionOrder)) - order; + uint32_t partitionsRemaining = (1 << partitionOrder); + for (;;) + { + uint8_t riceParam = 0; + if (residualMethod == DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE) { + if (!drflac__read_uint8(bs, 4, &riceParam)) { + return DR_FALSE; + } + if (riceParam == 16) { + riceParam = 0xFF; + } + } else if (residualMethod == DRFLAC_RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) { + if (!drflac__read_uint8(bs, 5, &riceParam)) { + return DR_FALSE; + } + if (riceParam == 32) { + riceParam = 0xFF; + } + } + + if (riceParam != 0xFF) { + if (!drflac__read_and_seek_residual__rice(bs, samplesInPartition, riceParam)) { + return DR_FALSE; + } + } else { + unsigned char unencodedBitsPerSample = 0; + if (!drflac__read_uint8(bs, 5, &unencodedBitsPerSample)) { + return DR_FALSE; + } + + if (!drflac__seek_bits(bs, unencodedBitsPerSample * samplesInPartition)) { + return DR_FALSE; + } + } + + + if (partitionsRemaining == 1) { + break; + } + + partitionsRemaining -= 1; + samplesInPartition = blockSize / (1 << partitionOrder); + } + + return DR_TRUE; +} + + +static drBool32 drflac__decode_samples__constant(drflac_bs* bs, uint32_t blockSize, uint32_t bitsPerSample, int32_t* pDecodedSamples) +{ + // Only a single sample needs to be decoded here. + int32_t sample; + if (!drflac__read_int32(bs, bitsPerSample, &sample)) { + return DR_FALSE; + } + + // We don't really need to expand this, but it does simplify the process of reading samples. If this becomes a performance issue (unlikely) + // we'll want to look at a more efficient way. + for (uint32_t i = 0; i < blockSize; ++i) { + pDecodedSamples[i] = sample; + } + + return DR_TRUE; +} + +static drBool32 drflac__decode_samples__verbatim(drflac_bs* bs, uint32_t blockSize, uint32_t bitsPerSample, int32_t* pDecodedSamples) +{ + for (uint32_t i = 0; i < blockSize; ++i) { + int32_t sample; + if (!drflac__read_int32(bs, bitsPerSample, &sample)) { + return DR_FALSE; + } + + pDecodedSamples[i] = sample; + } + + return DR_TRUE; +} + +static drBool32 drflac__decode_samples__fixed(drflac_bs* bs, uint32_t blockSize, uint32_t bitsPerSample, uint8_t lpcOrder, int32_t* pDecodedSamples) +{ + short lpcCoefficientsTable[5][4] = { + {0, 0, 0, 0}, + {1, 0, 0, 0}, + {2, -1, 0, 0}, + {3, -3, 1, 0}, + {4, -6, 4, -1} + }; + + // Warm up samples and coefficients. + for (uint32_t i = 0; i < lpcOrder; ++i) { + int32_t sample; + if (!drflac__read_int32(bs, bitsPerSample, &sample)) { + return DR_FALSE; + } + + pDecodedSamples[i] = sample; + } + + + if (!drflac__decode_samples_with_residual(bs, bitsPerSample, blockSize, lpcOrder, 0, lpcCoefficientsTable[lpcOrder], pDecodedSamples)) { + return DR_FALSE; + } + + return DR_TRUE; +} + +static drBool32 drflac__decode_samples__lpc(drflac_bs* bs, uint32_t blockSize, uint32_t bitsPerSample, uint8_t lpcOrder, int32_t* pDecodedSamples) +{ + // Warm up samples. + for (uint8_t i = 0; i < lpcOrder; ++i) { + int32_t sample; + if (!drflac__read_int32(bs, bitsPerSample, &sample)) { + return DR_FALSE; + } + + pDecodedSamples[i] = sample; + } + + uint8_t lpcPrecision; + if (!drflac__read_uint8(bs, 4, &lpcPrecision)) { + return DR_FALSE; + } + if (lpcPrecision == 15) { + return DR_FALSE; // Invalid. + } + lpcPrecision += 1; + + + int8_t lpcShift; + if (!drflac__read_int8(bs, 5, &lpcShift)) { + return DR_FALSE; + } + + + int16_t coefficients[32]; + for (uint8_t i = 0; i < lpcOrder; ++i) { + if (!drflac__read_int16(bs, lpcPrecision, coefficients + i)) { + return DR_FALSE; + } + } + + if (!drflac__decode_samples_with_residual(bs, bitsPerSample, blockSize, lpcOrder, lpcShift, coefficients, pDecodedSamples)) { + return DR_FALSE; + } + + return DR_TRUE; +} + + +static drBool32 drflac__read_next_frame_header(drflac_bs* bs, uint8_t streaminfoBitsPerSample, drflac_frame_header* header) +{ + assert(bs != NULL); + assert(header != NULL); + + // At the moment the sync code is as a form of basic validation. The CRC is stored, but is unused at the moment. This + // should probably be handled better in the future. + + const uint32_t sampleRateTable[12] = {0, 88200, 176400, 192000, 8000, 16000, 22050, 24000, 32000, 44100, 48000, 96000}; + const uint8_t bitsPerSampleTable[8] = {0, 8, 12, (uint8_t)-1, 16, 20, 24, (uint8_t)-1}; // -1 = reserved. + + uint16_t syncCode = 0; + if (!drflac__read_uint16(bs, 14, &syncCode)) { + return DR_FALSE; + } + + if (syncCode != 0x3FFE) { + // TODO: Try and recover by attempting to seek to and read the next frame? + return DR_FALSE; + } + + uint8_t reserved; + if (!drflac__read_uint8(bs, 1, &reserved)) { + return DR_FALSE; + } + + uint8_t blockingStrategy = 0; + if (!drflac__read_uint8(bs, 1, &blockingStrategy)) { + return DR_FALSE; + } + + + + uint8_t blockSize = 0; + if (!drflac__read_uint8(bs, 4, &blockSize)) { + return DR_FALSE; + } + + uint8_t sampleRate = 0; + if (!drflac__read_uint8(bs, 4, &sampleRate)) { + return DR_FALSE; + } + + uint8_t channelAssignment = 0; + if (!drflac__read_uint8(bs, 4, &channelAssignment)) { + return DR_FALSE; + } + + uint8_t bitsPerSample = 0; + if (!drflac__read_uint8(bs, 3, &bitsPerSample)) { + return DR_FALSE; + } + + if (!drflac__read_uint8(bs, 1, &reserved)) { + return DR_FALSE; + } + + + drBool32 isVariableBlockSize = blockingStrategy == 1; + if (isVariableBlockSize) { + uint64_t sampleNumber; + if (!drflac__read_utf8_coded_number(bs, &sampleNumber)) { + return DR_FALSE; + } + header->frameNumber = 0; + header->sampleNumber = sampleNumber; + } else { + uint64_t frameNumber = 0; + if (!drflac__read_utf8_coded_number(bs, &frameNumber)) { + return DR_FALSE; + } + header->frameNumber = (uint32_t)frameNumber; // <-- Safe cast. + header->sampleNumber = 0; + } + + + if (blockSize == 1) { + header->blockSize = 192; + } else if (blockSize >= 2 && blockSize <= 5) { + header->blockSize = 576 * (1 << (blockSize - 2)); + } else if (blockSize == 6) { + if (!drflac__read_uint16(bs, 8, &header->blockSize)) { + return DR_FALSE; + } + header->blockSize += 1; + } else if (blockSize == 7) { + if (!drflac__read_uint16(bs, 16, &header->blockSize)) { + return DR_FALSE; + } + header->blockSize += 1; + } else { + header->blockSize = 256 * (1 << (blockSize - 8)); + } + + + if (sampleRate <= 11) { + header->sampleRate = sampleRateTable[sampleRate]; + } else if (sampleRate == 12) { + if (!drflac__read_uint32(bs, 8, &header->sampleRate)) { + return DR_FALSE; + } + header->sampleRate *= 1000; + } else if (sampleRate == 13) { + if (!drflac__read_uint32(bs, 16, &header->sampleRate)) { + return DR_FALSE; + } + } else if (sampleRate == 14) { + if (!drflac__read_uint32(bs, 16, &header->sampleRate)) { + return DR_FALSE; + } + header->sampleRate *= 10; + } else { + return DR_FALSE; // Invalid. + } + + + header->channelAssignment = channelAssignment; + + header->bitsPerSample = bitsPerSampleTable[bitsPerSample]; + if (header->bitsPerSample == 0) { + header->bitsPerSample = streaminfoBitsPerSample; + } + + if (drflac__read_uint8(bs, 8, &header->crc8) != 1) { + return DR_FALSE; + } + + return DR_TRUE; +} + +static drBool32 drflac__read_subframe_header(drflac_bs* bs, drflac_subframe* pSubframe) +{ + uint8_t header; + if (!drflac__read_uint8(bs, 8, &header)) { + return DR_FALSE; + } + + // First bit should always be 0. + if ((header & 0x80) != 0) { + return DR_FALSE; + } + + int type = (header & 0x7E) >> 1; + if (type == 0) { + pSubframe->subframeType = DRFLAC_SUBFRAME_CONSTANT; + } else if (type == 1) { + pSubframe->subframeType = DRFLAC_SUBFRAME_VERBATIM; + } else { + if ((type & 0x20) != 0) { + pSubframe->subframeType = DRFLAC_SUBFRAME_LPC; + pSubframe->lpcOrder = (type & 0x1F) + 1; + } else if ((type & 0x08) != 0) { + pSubframe->subframeType = DRFLAC_SUBFRAME_FIXED; + pSubframe->lpcOrder = (type & 0x07); + if (pSubframe->lpcOrder > 4) { + pSubframe->subframeType = DRFLAC_SUBFRAME_RESERVED; + pSubframe->lpcOrder = 0; + } + } else { + pSubframe->subframeType = DRFLAC_SUBFRAME_RESERVED; + } + } + + if (pSubframe->subframeType == DRFLAC_SUBFRAME_RESERVED) { + return DR_FALSE; + } + + // Wasted bits per sample. + pSubframe->wastedBitsPerSample = 0; + if ((header & 0x01) == 1) { + unsigned int wastedBitsPerSample; + if (!drflac__seek_past_next_set_bit(bs, &wastedBitsPerSample)) { + return DR_FALSE; + } + pSubframe->wastedBitsPerSample = (unsigned char)wastedBitsPerSample + 1; + } + + return DR_TRUE; +} + +static drBool32 drflac__decode_subframe(drflac_bs* bs, drflac_frame* frame, int subframeIndex, int32_t* pDecodedSamplesOut) +{ + assert(bs != NULL); + assert(frame != NULL); + + drflac_subframe* pSubframe = frame->subframes + subframeIndex; + if (!drflac__read_subframe_header(bs, pSubframe)) { + return DR_FALSE; + } + + // Side channels require an extra bit per sample. Took a while to figure that one out... + pSubframe->bitsPerSample = frame->header.bitsPerSample; + if ((frame->header.channelAssignment == DRFLAC_CHANNEL_ASSIGNMENT_LEFT_SIDE || frame->header.channelAssignment == DRFLAC_CHANNEL_ASSIGNMENT_MID_SIDE) && subframeIndex == 1) { + pSubframe->bitsPerSample += 1; + } else if (frame->header.channelAssignment == DRFLAC_CHANNEL_ASSIGNMENT_RIGHT_SIDE && subframeIndex == 0) { + pSubframe->bitsPerSample += 1; + } + + // Need to handle wasted bits per sample. + pSubframe->bitsPerSample -= pSubframe->wastedBitsPerSample; + pSubframe->pDecodedSamples = pDecodedSamplesOut; + + switch (pSubframe->subframeType) + { + case DRFLAC_SUBFRAME_CONSTANT: + { + drflac__decode_samples__constant(bs, frame->header.blockSize, pSubframe->bitsPerSample, pSubframe->pDecodedSamples); + } break; + + case DRFLAC_SUBFRAME_VERBATIM: + { + drflac__decode_samples__verbatim(bs, frame->header.blockSize, pSubframe->bitsPerSample, pSubframe->pDecodedSamples); + } break; + + case DRFLAC_SUBFRAME_FIXED: + { + drflac__decode_samples__fixed(bs, frame->header.blockSize, pSubframe->bitsPerSample, pSubframe->lpcOrder, pSubframe->pDecodedSamples); + } break; + + case DRFLAC_SUBFRAME_LPC: + { + drflac__decode_samples__lpc(bs, frame->header.blockSize, pSubframe->bitsPerSample, pSubframe->lpcOrder, pSubframe->pDecodedSamples); + } break; + + default: return DR_FALSE; + } + + return DR_TRUE; +} + +static drBool32 drflac__seek_subframe(drflac_bs* bs, drflac_frame* frame, int subframeIndex) +{ + assert(bs != NULL); + assert(frame != NULL); + + drflac_subframe* pSubframe = frame->subframes + subframeIndex; + if (!drflac__read_subframe_header(bs, pSubframe)) { + return DR_FALSE; + } + + // Side channels require an extra bit per sample. Took a while to figure that one out... + pSubframe->bitsPerSample = frame->header.bitsPerSample; + if ((frame->header.channelAssignment == DRFLAC_CHANNEL_ASSIGNMENT_LEFT_SIDE || frame->header.channelAssignment == DRFLAC_CHANNEL_ASSIGNMENT_MID_SIDE) && subframeIndex == 1) { + pSubframe->bitsPerSample += 1; + } else if (frame->header.channelAssignment == DRFLAC_CHANNEL_ASSIGNMENT_RIGHT_SIDE && subframeIndex == 0) { + pSubframe->bitsPerSample += 1; + } + + // Need to handle wasted bits per sample. + pSubframe->bitsPerSample -= pSubframe->wastedBitsPerSample; + pSubframe->pDecodedSamples = NULL; + //pSubframe->pDecodedSamples = pFlac->pDecodedSamples + (pFlac->currentFrame.header.blockSize * subframeIndex); + + switch (pSubframe->subframeType) + { + case DRFLAC_SUBFRAME_CONSTANT: + { + if (!drflac__seek_bits(bs, pSubframe->bitsPerSample)) { + return DR_FALSE; + } + } break; + + case DRFLAC_SUBFRAME_VERBATIM: + { + unsigned int bitsToSeek = frame->header.blockSize * pSubframe->bitsPerSample; + if (!drflac__seek_bits(bs, bitsToSeek)) { + return DR_FALSE; + } + } break; + + case DRFLAC_SUBFRAME_FIXED: + { + unsigned int bitsToSeek = pSubframe->lpcOrder * pSubframe->bitsPerSample; + if (!drflac__seek_bits(bs, bitsToSeek)) { + return DR_FALSE; + } + + if (!drflac__read_and_seek_residual(bs, frame->header.blockSize, pSubframe->lpcOrder)) { + return DR_FALSE; + } + } break; + + case DRFLAC_SUBFRAME_LPC: + { + unsigned int bitsToSeek = pSubframe->lpcOrder * pSubframe->bitsPerSample; + if (!drflac__seek_bits(bs, bitsToSeek)) { + return DR_FALSE; + } + + unsigned char lpcPrecision; + if (!drflac__read_uint8(bs, 4, &lpcPrecision)) { + return DR_FALSE; + } + if (lpcPrecision == 15) { + return DR_FALSE; // Invalid. + } + lpcPrecision += 1; + + + bitsToSeek = (pSubframe->lpcOrder * lpcPrecision) + 5; // +5 for shift. + if (!drflac__seek_bits(bs, bitsToSeek)) { + return DR_FALSE; + } + + if (!drflac__read_and_seek_residual(bs, frame->header.blockSize, pSubframe->lpcOrder)) { + return DR_FALSE; + } + } break; + + default: return DR_FALSE; + } + + return DR_TRUE; +} + + +static DRFLAC_INLINE uint8_t drflac__get_channel_count_from_channel_assignment(int8_t channelAssignment) +{ + assert(channelAssignment <= 10); + + uint8_t lookup[] = {1, 2, 3, 4, 5, 6, 7, 8, 2, 2, 2}; + return lookup[channelAssignment]; +} + +static drBool32 drflac__decode_frame(drflac* pFlac) +{ + // This function should be called while the stream is sitting on the first byte after the frame header. + memset(pFlac->currentFrame.subframes, 0, sizeof(pFlac->currentFrame.subframes)); + + int channelCount = drflac__get_channel_count_from_channel_assignment(pFlac->currentFrame.header.channelAssignment); + for (int i = 0; i < channelCount; ++i) + { + if (!drflac__decode_subframe(&pFlac->bs, &pFlac->currentFrame, i, pFlac->pDecodedSamples + (pFlac->currentFrame.header.blockSize * i))) { + return DR_FALSE; + } + } + + // At the end of the frame sits the padding and CRC. We don't use these so we can just seek past. + if (!drflac__seek_bits(&pFlac->bs, (DRFLAC_CACHE_L1_BITS_REMAINING(&pFlac->bs) & 7) + 16)) { + return DR_FALSE; + } + + + pFlac->currentFrame.samplesRemaining = pFlac->currentFrame.header.blockSize * channelCount; + + return DR_TRUE; +} + +static drBool32 drflac__seek_frame(drflac* pFlac) +{ + int channelCount = drflac__get_channel_count_from_channel_assignment(pFlac->currentFrame.header.channelAssignment); + for (int i = 0; i < channelCount; ++i) + { + if (!drflac__seek_subframe(&pFlac->bs, &pFlac->currentFrame, i)) { + return DR_FALSE; + } + } + + // Padding and CRC. + return drflac__seek_bits(&pFlac->bs, (DRFLAC_CACHE_L1_BITS_REMAINING(&pFlac->bs) & 7) + 16); +} + +static drBool32 drflac__read_and_decode_next_frame(drflac* pFlac) +{ + assert(pFlac != NULL); + + if (!drflac__read_next_frame_header(&pFlac->bs, pFlac->bitsPerSample, &pFlac->currentFrame.header)) { + return DR_FALSE; + } + + return drflac__decode_frame(pFlac); +} + + +static void drflac__get_current_frame_sample_range(drflac* pFlac, uint64_t* pFirstSampleInFrameOut, uint64_t* pLastSampleInFrameOut) +{ + assert(pFlac != NULL); + + unsigned int channelCount = drflac__get_channel_count_from_channel_assignment(pFlac->currentFrame.header.channelAssignment); + + uint64_t firstSampleInFrame = pFlac->currentFrame.header.sampleNumber; + if (firstSampleInFrame == 0) { + firstSampleInFrame = pFlac->currentFrame.header.frameNumber * pFlac->maxBlockSize*channelCount; + } + + uint64_t lastSampleInFrame = firstSampleInFrame + (pFlac->currentFrame.header.blockSize*channelCount); + if (lastSampleInFrame > 0) { + lastSampleInFrame -= 1; // Needs to be zero based. + } + + + if (pFirstSampleInFrameOut) { + *pFirstSampleInFrameOut = firstSampleInFrame; + } + if (pLastSampleInFrameOut) { + *pLastSampleInFrameOut = lastSampleInFrame; + } +} + +static drBool32 drflac__seek_to_first_frame(drflac* pFlac) +{ + assert(pFlac != NULL); + + drBool32 result = drflac__seek_to_byte(&pFlac->bs, pFlac->firstFramePos); + + memset(&pFlac->currentFrame, 0, sizeof(pFlac->currentFrame)); + return result; +} + +static DRFLAC_INLINE drBool32 drflac__seek_to_next_frame(drflac* pFlac) +{ + // This function should only ever be called while the decoder is sitting on the first byte past the FRAME_HEADER section. + assert(pFlac != NULL); + return drflac__seek_frame(pFlac); +} + +static drBool32 drflac__seek_to_frame_containing_sample(drflac* pFlac, uint64_t sampleIndex) +{ + assert(pFlac != NULL); + + if (!drflac__seek_to_first_frame(pFlac)) { + return DR_FALSE; + } + + uint64_t firstSampleInFrame = 0; + uint64_t lastSampleInFrame = 0; + for (;;) + { + // We need to read the frame's header in order to determine the range of samples it contains. + if (!drflac__read_next_frame_header(&pFlac->bs, pFlac->bitsPerSample, &pFlac->currentFrame.header)) { + return DR_FALSE; + } + + drflac__get_current_frame_sample_range(pFlac, &firstSampleInFrame, &lastSampleInFrame); + if (sampleIndex >= firstSampleInFrame && sampleIndex <= lastSampleInFrame) { + break; // The sample is in this frame. + } + + if (!drflac__seek_to_next_frame(pFlac)) { + return DR_FALSE; + } + } + + // If we get here we should be right at the start of the frame containing the sample. + return DR_TRUE; +} + +static drBool32 drflac__seek_to_sample__brute_force(drflac* pFlac, uint64_t sampleIndex) +{ + if (!drflac__seek_to_frame_containing_sample(pFlac, sampleIndex)) { + return DR_FALSE; + } + + // At this point we should be sitting on the first byte of the frame containing the sample. We need to decode every sample up to (but + // not including) the sample we're seeking to. + uint64_t firstSampleInFrame = 0; + drflac__get_current_frame_sample_range(pFlac, &firstSampleInFrame, NULL); + + assert(firstSampleInFrame <= sampleIndex); + size_t samplesToDecode = (size_t)(sampleIndex - firstSampleInFrame); // <-- Safe cast because the maximum number of samples in a frame is 65535. + if (samplesToDecode == 0) { + return DR_TRUE; + } + + // At this point we are just sitting on the byte after the frame header. We need to decode the frame before reading anything from it. + if (!drflac__decode_frame(pFlac)) { + return DR_FALSE; + } + + return drflac_read_s32(pFlac, samplesToDecode, NULL) != 0; +} + + +static drBool32 drflac__seek_to_sample__seek_table(drflac* pFlac, uint64_t sampleIndex) +{ + assert(pFlac != NULL); + + if (pFlac->seektablePos == 0) { + return DR_FALSE; + } + + if (!drflac__seek_to_byte(&pFlac->bs, pFlac->seektablePos)) { + return DR_FALSE; + } + + // The number of seek points is derived from the size of the SEEKTABLE block. + uint32_t seekpointCount = pFlac->seektableSize / 18; // 18 = the size of each seek point. + if (seekpointCount == 0) { + return DR_FALSE; // Would this ever happen? + } + + + drflac_seekpoint closestSeekpoint = {0, 0, 0}; + + uint32_t seekpointsRemaining = seekpointCount; + while (seekpointsRemaining > 0) + { + drflac_seekpoint seekpoint; + if (!drflac__read_uint64(&pFlac->bs, 64, &seekpoint.firstSample)) { + break; + } + if (!drflac__read_uint64(&pFlac->bs, 64, &seekpoint.frameOffset)) { + break; + } + if (!drflac__read_uint16(&pFlac->bs, 16, &seekpoint.sampleCount)) { + break; + } + + if (seekpoint.firstSample * pFlac->channels > sampleIndex) { + break; + } + + closestSeekpoint = seekpoint; + seekpointsRemaining -= 1; + } + + // At this point we should have found the seekpoint closest to our sample. We need to seek to it using basically the same + // technique as we use with the brute force method. + if (!drflac__seek_to_byte(&pFlac->bs, pFlac->firstFramePos + closestSeekpoint.frameOffset)) { + return DR_FALSE; + } + + + uint64_t firstSampleInFrame = 0; + uint64_t lastSampleInFrame = 0; + for (;;) + { + // We need to read the frame's header in order to determine the range of samples it contains. + if (!drflac__read_next_frame_header(&pFlac->bs, pFlac->bitsPerSample, &pFlac->currentFrame.header)) { + return DR_FALSE; + } + + drflac__get_current_frame_sample_range(pFlac, &firstSampleInFrame, &lastSampleInFrame); + if (sampleIndex >= firstSampleInFrame && sampleIndex <= lastSampleInFrame) { + break; // The sample is in this frame. + } + + if (!drflac__seek_to_next_frame(pFlac)) { + return DR_FALSE; + } + } + + assert(firstSampleInFrame <= sampleIndex); + + // At this point we are just sitting on the byte after the frame header. We need to decode the frame before reading anything from it. + if (!drflac__decode_frame(pFlac)) { + return DR_FALSE; + } + + size_t samplesToDecode = (size_t)(sampleIndex - firstSampleInFrame); // <-- Safe cast because the maximum number of samples in a frame is 65535. + return drflac_read_s32(pFlac, samplesToDecode, NULL) == samplesToDecode; +} + + +#ifndef DR_FLAC_NO_OGG +typedef struct +{ + uint8_t capturePattern[4]; // Should be "OggS" + uint8_t structureVersion; // Always 0. + uint8_t headerType; + uint64_t granulePosition; + uint32_t serialNumber; + uint32_t sequenceNumber; + uint32_t checksum; + uint8_t segmentCount; + uint8_t segmentTable[255]; +} drflac_ogg_page_header; +#endif + +typedef struct +{ + drflac_read_proc onRead; + drflac_seek_proc onSeek; + drflac_meta_proc onMeta; + void* pUserData; + void* pUserDataMD; + drflac_container container; + uint32_t sampleRate; + uint8_t channels; + uint8_t bitsPerSample; + uint64_t totalSampleCount; + uint16_t maxBlockSize; + uint64_t runningFilePos; + drBool32 hasMetadataBlocks; + +#ifndef DR_FLAC_NO_OGG + uint32_t oggSerial; + uint64_t oggFirstBytePos; + drflac_ogg_page_header oggBosHeader; +#endif +} drflac_init_info; + +static DRFLAC_INLINE void drflac__decode_block_header(uint32_t blockHeader, uint8_t* isLastBlock, uint8_t* blockType, uint32_t* blockSize) +{ + blockHeader = drflac__be2host_32(blockHeader); + *isLastBlock = (blockHeader & (0x01 << 31)) >> 31; + *blockType = (blockHeader & (0x7F << 24)) >> 24; + *blockSize = (blockHeader & 0xFFFFFF); +} + +static DRFLAC_INLINE drBool32 drflac__read_and_decode_block_header(drflac_read_proc onRead, void* pUserData, uint8_t* isLastBlock, uint8_t* blockType, uint32_t* blockSize) +{ + uint32_t blockHeader; + if (onRead(pUserData, &blockHeader, 4) != 4) { + return DR_FALSE; + } + + drflac__decode_block_header(blockHeader, isLastBlock, blockType, blockSize); + return DR_TRUE; +} + +drBool32 drflac__read_streaminfo(drflac_read_proc onRead, void* pUserData, drflac_streaminfo* pStreamInfo) +{ + // min/max block size. + uint32_t blockSizes; + if (onRead(pUserData, &blockSizes, 4) != 4) { + return DR_FALSE; + } + + // min/max frame size. + uint64_t frameSizes = 0; + if (onRead(pUserData, &frameSizes, 6) != 6) { + return DR_FALSE; + } + + // Sample rate, channels, bits per sample and total sample count. + uint64_t importantProps; + if (onRead(pUserData, &importantProps, 8) != 8) { + return DR_FALSE; + } + + // MD5 + uint8_t md5[16]; + if (onRead(pUserData, md5, sizeof(md5)) != sizeof(md5)) { + return DR_FALSE; + } + + blockSizes = drflac__be2host_32(blockSizes); + frameSizes = drflac__be2host_64(frameSizes); + importantProps = drflac__be2host_64(importantProps); + + pStreamInfo->minBlockSize = (blockSizes & 0xFFFF0000) >> 16; + pStreamInfo->maxBlockSize = blockSizes & 0x0000FFFF; + pStreamInfo->minFrameSize = (uint32_t)((frameSizes & 0xFFFFFF0000000000ULL) >> 40ULL); + pStreamInfo->maxFrameSize = (uint32_t)((frameSizes & 0x000000FFFFFF0000ULL) >> 16ULL); + pStreamInfo->sampleRate = (uint32_t)((importantProps & 0xFFFFF00000000000ULL) >> 44ULL); + pStreamInfo->channels = (uint8_t )((importantProps & 0x00000E0000000000ULL) >> 41ULL) + 1; + pStreamInfo->bitsPerSample = (uint8_t )((importantProps & 0x000001F000000000ULL) >> 36ULL) + 1; + pStreamInfo->totalSampleCount = (importantProps & 0x0000000FFFFFFFFFULL) * pStreamInfo->channels; + memcpy(pStreamInfo->md5, md5, sizeof(md5)); + + return DR_TRUE; +} + +drBool32 drflac__read_and_decode_metadata(drflac* pFlac) +{ + assert(pFlac != NULL); + + // We want to keep track of the byte position in the stream of the seektable. At the time of calling this function we know that + // we'll be sitting on byte 42. + uint64_t runningFilePos = 42; + uint64_t seektablePos = 0; + uint32_t seektableSize = 0; + + for (;;) + { + uint8_t isLastBlock = 0; + uint8_t blockType; + uint32_t blockSize; + if (!drflac__read_and_decode_block_header(pFlac->bs.onRead, pFlac->bs.pUserData, &isLastBlock, &blockType, &blockSize)) { + return DR_FALSE; + } + runningFilePos += 4; + + + drflac_metadata metadata; + metadata.type = blockType; + metadata.pRawData = NULL; + metadata.rawDataSize = 0; + + switch (blockType) + { + case DRFLAC_METADATA_BLOCK_TYPE_APPLICATION: + { + if (pFlac->onMeta) { + void* pRawData = malloc(blockSize); + if (pRawData == NULL) { + return DR_FALSE; + } + + if (pFlac->bs.onRead(pFlac->bs.pUserData, pRawData, blockSize) != blockSize) { + free(pRawData); + return DR_FALSE; + } + + metadata.pRawData = pRawData; + metadata.rawDataSize = blockSize; + metadata.data.application.id = drflac__be2host_32(*(uint32_t*)pRawData); + metadata.data.application.pData = (const void*)((uint8_t*)pRawData + sizeof(uint32_t)); + metadata.data.application.dataSize = blockSize - sizeof(uint32_t); + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + + free(pRawData); + } + } break; + + case DRFLAC_METADATA_BLOCK_TYPE_SEEKTABLE: + { + seektablePos = runningFilePos; + seektableSize = blockSize; + + if (pFlac->onMeta) { + void* pRawData = malloc(blockSize); + if (pRawData == NULL) { + return DR_FALSE; + } + + if (pFlac->bs.onRead(pFlac->bs.pUserData, pRawData, blockSize) != blockSize) { + free(pRawData); + return DR_FALSE; + } + + metadata.pRawData = pRawData; + metadata.rawDataSize = blockSize; + metadata.data.seektable.seekpointCount = blockSize/sizeof(drflac_seekpoint); + metadata.data.seektable.pSeekpoints = (const drflac_seekpoint*)pRawData; + + // Endian swap. + for (uint32_t iSeekpoint = 0; iSeekpoint < metadata.data.seektable.seekpointCount; ++iSeekpoint) { + drflac_seekpoint* pSeekpoint = (drflac_seekpoint*)pRawData + iSeekpoint; + pSeekpoint->firstSample = drflac__be2host_64(pSeekpoint->firstSample); + pSeekpoint->frameOffset = drflac__be2host_64(pSeekpoint->frameOffset); + pSeekpoint->sampleCount = drflac__be2host_16(pSeekpoint->sampleCount); + } + + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + + free(pRawData); + } + } break; + + case DRFLAC_METADATA_BLOCK_TYPE_VORBIS_COMMENT: + { + if (pFlac->onMeta) { + void* pRawData = malloc(blockSize); + if (pRawData == NULL) { + return DR_FALSE; + } + + if (pFlac->bs.onRead(pFlac->bs.pUserData, pRawData, blockSize) != blockSize) { + free(pRawData); + return DR_FALSE; + } + + metadata.pRawData = pRawData; + metadata.rawDataSize = blockSize; + + const char* pRunningData = (const char*)pRawData; + metadata.data.vorbis_comment.vendorLength = drflac__le2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.vorbis_comment.vendor = pRunningData; pRunningData += metadata.data.vorbis_comment.vendorLength; + metadata.data.vorbis_comment.commentCount = drflac__le2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.vorbis_comment.comments = pRunningData; + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + + free(pRawData); + } + } break; + + case DRFLAC_METADATA_BLOCK_TYPE_CUESHEET: + { + if (pFlac->onMeta) { + void* pRawData = malloc(blockSize); + if (pRawData == NULL) { + return DR_FALSE; + } + + if (pFlac->bs.onRead(pFlac->bs.pUserData, pRawData, blockSize) != blockSize) { + free(pRawData); + return DR_FALSE; + } + + metadata.pRawData = pRawData; + metadata.rawDataSize = blockSize; + + const char* pRunningData = (const char*)pRawData; + memcpy(metadata.data.cuesheet.catalog, pRunningData, 128); pRunningData += 128; + metadata.data.cuesheet.leadInSampleCount = drflac__be2host_64(*(uint64_t*)pRunningData); pRunningData += 4; + metadata.data.cuesheet.isCD = ((pRunningData[0] & 0x80) >> 7) != 0; pRunningData += 259; + metadata.data.cuesheet.trackCount = pRunningData[0]; pRunningData += 1; + metadata.data.cuesheet.pTrackData = (const uint8_t*)pRunningData; + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + + free(pRawData); + } + } break; + + case DRFLAC_METADATA_BLOCK_TYPE_PICTURE: + { + if (pFlac->onMeta) { + void* pRawData = malloc(blockSize); + if (pRawData == NULL) { + return DR_FALSE; + } + + if (pFlac->bs.onRead(pFlac->bs.pUserData, pRawData, blockSize) != blockSize) { + free(pRawData); + return DR_FALSE; + } + + metadata.pRawData = pRawData; + metadata.rawDataSize = blockSize; + + const char* pRunningData = (const char*)pRawData; + metadata.data.picture.type = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.mimeLength = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.mime = pRunningData; pRunningData += metadata.data.picture.mimeLength; + metadata.data.picture.descriptionLength = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.description = pRunningData; + metadata.data.picture.width = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.height = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.colorDepth = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.indexColorCount = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.pictureDataSize = drflac__be2host_32(*(uint32_t*)pRunningData); pRunningData += 4; + metadata.data.picture.pPictureData = (const uint8_t*)pRunningData; + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + + free(pRawData); + } + } break; + + case DRFLAC_METADATA_BLOCK_TYPE_PADDING: + { + if (pFlac->onMeta) { + metadata.data.padding.unused = 0; + + // Padding doesn't have anything meaningful in it, so just skip over it. + if (!pFlac->bs.onSeek(pFlac->bs.pUserData, blockSize, drflac_seek_origin_current)) { + return DR_FALSE; + } + + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + } + } break; + + case DRFLAC_METADATA_BLOCK_TYPE_INVALID: + { + // Invalid chunk. Just skip over this one. + if (pFlac->onMeta) { + if (!pFlac->bs.onSeek(pFlac->bs.pUserData, blockSize, drflac_seek_origin_current)) { + return DR_FALSE; + } + } + } + + default: + { + // It's an unknown chunk, but not necessarily invalid. There's a chance more metadata blocks might be defined later on, so we + // can at the very least report the chunk to the application and let it look at the raw data. + if (pFlac->onMeta) { + void* pRawData = malloc(blockSize); + if (pRawData == NULL) { + return DR_FALSE; + } + + if (pFlac->bs.onRead(pFlac->bs.pUserData, pRawData, blockSize) != blockSize) { + free(pRawData); + return DR_FALSE; + } + + metadata.pRawData = pRawData; + metadata.rawDataSize = blockSize; + pFlac->onMeta(pFlac->pUserDataMD, &metadata); + + free(pRawData); + } + } break; + } + + // If we're not handling metadata, just skip over the block. If we are, it will have been handled earlier in the switch statement above. + if (pFlac->onMeta == NULL) { + if (!pFlac->bs.onSeek(pFlac->bs.pUserData, blockSize, drflac_seek_origin_current)) { + return DR_FALSE; + } + } + + runningFilePos += blockSize; + if (isLastBlock) { + break; + } + } + + pFlac->seektablePos = seektablePos; + pFlac->seektableSize = seektableSize; + pFlac->firstFramePos = runningFilePos; + + return DR_TRUE; +} + +drBool32 drflac__init_private__native(drflac_init_info* pInit, drflac_read_proc onRead, drflac_seek_proc onSeek, drflac_meta_proc onMeta, void* pUserData, void* pUserDataMD) +{ + (void)onSeek; + + // Pre: The bit stream should be sitting just past the 4-byte id header. + + pInit->container = drflac_container_native; + + // The first metadata block should be the STREAMINFO block. + uint8_t isLastBlock; + uint8_t blockType; + uint32_t blockSize; + if (!drflac__read_and_decode_block_header(onRead, pUserData, &isLastBlock, &blockType, &blockSize)) { + return DR_FALSE; + } + + if (blockType != DRFLAC_METADATA_BLOCK_TYPE_STREAMINFO || blockSize != 34) { + return DR_FALSE; // Invalid block type. First block must be the STREAMINFO block. + } + + + drflac_streaminfo streaminfo; + if (!drflac__read_streaminfo(onRead, pUserData, &streaminfo)) { + return DR_FALSE; + } + + pInit->sampleRate = streaminfo.sampleRate; + pInit->channels = streaminfo.channels; + pInit->bitsPerSample = streaminfo.bitsPerSample; + pInit->totalSampleCount = streaminfo.totalSampleCount; + pInit->maxBlockSize = streaminfo.maxBlockSize; // Don't care about the min block size - only the max (used for determining the size of the memory allocation). + + if (onMeta) { + drflac_metadata metadata; + metadata.type = DRFLAC_METADATA_BLOCK_TYPE_STREAMINFO; + metadata.pRawData = NULL; + metadata.rawDataSize = 0; + metadata.data.streaminfo = streaminfo; + onMeta(pUserDataMD, &metadata); + } + + pInit->hasMetadataBlocks = !isLastBlock; + return DR_TRUE; +} + +#ifndef DR_FLAC_NO_OGG +static DRFLAC_INLINE drBool32 drflac_ogg__is_capture_pattern(uint8_t pattern[4]) +{ + return pattern[0] == 'O' && pattern[1] == 'g' && pattern[2] == 'g' && pattern[3] == 'S'; +} + +static DRFLAC_INLINE uint32_t drflac_ogg__get_page_header_size(drflac_ogg_page_header* pHeader) +{ + return 27 + pHeader->segmentCount; +} + +static DRFLAC_INLINE uint32_t drflac_ogg__get_page_body_size(drflac_ogg_page_header* pHeader) +{ + uint32_t pageBodySize = 0; + for (int i = 0; i < pHeader->segmentCount; ++i) { + pageBodySize += pHeader->segmentTable[i]; + } + + return pageBodySize; +} + +drBool32 drflac_ogg__read_page_header_after_capture_pattern(drflac_read_proc onRead, void* pUserData, drflac_ogg_page_header* pHeader, uint32_t* pHeaderSize) +{ + if (onRead(pUserData, &pHeader->structureVersion, 1) != 1 || pHeader->structureVersion != 0) { + return DR_FALSE; // Unknown structure version. Possibly corrupt stream. + } + if (onRead(pUserData, &pHeader->headerType, 1) != 1) { + return DR_FALSE; + } + if (onRead(pUserData, &pHeader->granulePosition, 8) != 8) { + return DR_FALSE; + } + if (onRead(pUserData, &pHeader->serialNumber, 4) != 4) { + return DR_FALSE; + } + if (onRead(pUserData, &pHeader->sequenceNumber, 4) != 4) { + return DR_FALSE; + } + if (onRead(pUserData, &pHeader->checksum, 4) != 4) { + return DR_FALSE; + } + if (onRead(pUserData, &pHeader->segmentCount, 1) != 1 || pHeader->segmentCount == 0) { + return DR_FALSE; // Should not have a segment count of 0. + } + if (onRead(pUserData, &pHeader->segmentTable, pHeader->segmentCount) != pHeader->segmentCount) { + return DR_FALSE; + } + + if (pHeaderSize) *pHeaderSize = (27 + pHeader->segmentCount); + return DR_TRUE; +} + +drBool32 drflac_ogg__read_page_header(drflac_read_proc onRead, void* pUserData, drflac_ogg_page_header* pHeader, uint32_t* pHeaderSize) +{ + uint8_t id[4]; + if (onRead(pUserData, id, 4) != 4) { + return DR_FALSE; + } + + if (id[0] != 'O' || id[1] != 'g' || id[2] != 'g' || id[3] != 'S') { + return DR_FALSE; + } + + return drflac_ogg__read_page_header_after_capture_pattern(onRead, pUserData, pHeader, pHeaderSize); +} + + +// The main part of the Ogg encapsulation is the conversion from the physical Ogg bitstream to the native FLAC bitstream. It works +// in three general stages: Ogg Physical Bitstream -> Ogg/FLAC Logical Bitstream -> FLAC Native Bitstream. dr_flac is architecured +// in such a way that the core sections assume everything is delivered in native format. Therefore, for each encapsulation type +// dr_flac is supporting there needs to be a layer sitting on top of the onRead and onSeek callbacks that ensures the bits read from +// the physical Ogg bitstream are converted and delivered in native FLAC format. +typedef struct +{ + drflac_read_proc onRead; // The original onRead callback from drflac_open() and family. + drflac_seek_proc onSeek; // The original onSeek callback from drflac_open() and family. + void* pUserData; // The user data passed on onRead and onSeek. This is the user data that was passed on drflac_open() and family. + uint64_t currentBytePos; // The position of the byte we are sitting on in the physical byte stream. Used for efficient seeking. + uint64_t firstBytePos; // The position of the first byte in the physical bitstream. Points to the start of the "OggS" identifier of the FLAC bos page. + uint32_t serialNumber; // The serial number of the FLAC audio pages. This is determined by the initial header page that was read during initialization. + drflac_ogg_page_header bosPageHeader; // Used for seeking. + drflac_ogg_page_header currentPageHeader; + uint32_t bytesRemainingInPage; +} drflac_oggbs; // oggbs = Ogg Bitstream + +static size_t drflac_oggbs__read_physical(drflac_oggbs* oggbs, void* bufferOut, size_t bytesToRead) +{ + size_t bytesActuallyRead = oggbs->onRead(oggbs->pUserData, bufferOut, bytesToRead); + oggbs->currentBytePos += bytesActuallyRead; + + return bytesActuallyRead; +} + +static drBool32 drflac_oggbs__seek_physical(drflac_oggbs* oggbs, uint64_t offset, drflac_seek_origin origin) +{ + if (origin == drflac_seek_origin_start) + { + if (offset <= 0x7FFFFFFF) { + if (!oggbs->onSeek(oggbs->pUserData, (int)offset, drflac_seek_origin_start)) { + return DR_FALSE; + } + oggbs->currentBytePos = offset; + + return DR_TRUE; + } else { + if (!oggbs->onSeek(oggbs->pUserData, 0x7FFFFFFF, drflac_seek_origin_start)) { + return DR_FALSE; + } + oggbs->currentBytePos = offset; + + return drflac_oggbs__seek_physical(oggbs, offset - 0x7FFFFFFF, drflac_seek_origin_current); + } + } + else + { + while (offset > 0x7FFFFFFF) { + if (!oggbs->onSeek(oggbs->pUserData, 0x7FFFFFFF, drflac_seek_origin_current)) { + return DR_FALSE; + } + oggbs->currentBytePos += 0x7FFFFFFF; + offset -= 0x7FFFFFFF; + } + + if (!oggbs->onSeek(oggbs->pUserData, (int)offset, drflac_seek_origin_current)) { // <-- Safe cast thanks to the loop above. + return DR_FALSE; + } + oggbs->currentBytePos += offset; + + return DR_TRUE; + } +} + +static drBool32 drflac_oggbs__goto_next_page(drflac_oggbs* oggbs) +{ + drflac_ogg_page_header header; + for (;;) + { + uint32_t headerSize; + if (!drflac_ogg__read_page_header(oggbs->onRead, oggbs->pUserData, &header, &headerSize)) { + return DR_FALSE; + } + oggbs->currentBytePos += headerSize; + + + uint32_t pageBodySize = drflac_ogg__get_page_body_size(&header); + + if (header.serialNumber == oggbs->serialNumber) { + oggbs->currentPageHeader = header; + oggbs->bytesRemainingInPage = pageBodySize; + return DR_TRUE; + } + + // If we get here it means the page is not a FLAC page - skip it. + if (pageBodySize > 0 && !drflac_oggbs__seek_physical(oggbs, pageBodySize, drflac_seek_origin_current)) { // <-- Safe cast - maximum size of a page is way below that of an int. + return DR_FALSE; + } + } +} + +// Function below is unused at the moment, but I might be re-adding it later. +#if 0 +static uint8_t drflac_oggbs__get_current_segment_index(drflac_oggbs* oggbs, uint8_t* pBytesRemainingInSeg) +{ + uint32_t bytesConsumedInPage = drflac_ogg__get_page_body_size(&oggbs->currentPageHeader) - oggbs->bytesRemainingInPage; + uint8_t iSeg = 0; + uint32_t iByte = 0; + while (iByte < bytesConsumedInPage) + { + uint8_t segmentSize = oggbs->currentPageHeader.segmentTable[iSeg]; + if (iByte + segmentSize > bytesConsumedInPage) { + break; + } else { + iSeg += 1; + iByte += segmentSize; + } + } + + *pBytesRemainingInSeg = oggbs->currentPageHeader.segmentTable[iSeg] - (uint8_t)(bytesConsumedInPage - iByte); + return iSeg; +} + +static drBool32 drflac_oggbs__seek_to_next_packet(drflac_oggbs* oggbs) +{ + // The current packet ends when we get to the segment with a lacing value of < 255 which is not at the end of a page. + for (;;) // <-- Loop over pages. + { + drBool32 atEndOfPage = DR_FALSE; + + uint8_t bytesRemainingInSeg; + uint8_t iFirstSeg = drflac_oggbs__get_current_segment_index(oggbs, &bytesRemainingInSeg); + + uint32_t bytesToEndOfPacketOrPage = bytesRemainingInSeg; + for (uint8_t iSeg = iFirstSeg; iSeg < oggbs->currentPageHeader.segmentCount; ++iSeg) { + uint8_t segmentSize = oggbs->currentPageHeader.segmentTable[iSeg]; + if (segmentSize < 255) { + if (iSeg == oggbs->currentPageHeader.segmentCount-1) { + atEndOfPage = DR_TRUE; + } + + break; + } + + bytesToEndOfPacketOrPage += segmentSize; + } + + // At this point we will have found either the packet or the end of the page. If were at the end of the page we'll + // want to load the next page and keep searching for the end of the frame. + drflac_oggbs__seek_physical(oggbs, bytesToEndOfPacketOrPage, drflac_seek_origin_current); + oggbs->bytesRemainingInPage -= bytesToEndOfPacketOrPage; + + if (atEndOfPage) + { + // We're potentially at the next packet, but we need to check the next page first to be sure because the packet may + // straddle pages. + if (!drflac_oggbs__goto_next_page(oggbs)) { + return DR_FALSE; + } + + // If it's a fresh packet it most likely means we're at the next packet. + if ((oggbs->currentPageHeader.headerType & 0x01) == 0) { + return DR_TRUE; + } + } + else + { + // We're at the next frame. + return DR_TRUE; + } + } +} + +static drBool32 drflac_oggbs__seek_to_next_frame(drflac_oggbs* oggbs) +{ + // The bitstream should be sitting on the first byte just after the header of the frame. + + // What we're actually doing here is seeking to the start of the next packet. + return drflac_oggbs__seek_to_next_packet(oggbs); +} +#endif + +static size_t drflac__on_read_ogg(void* pUserData, void* bufferOut, size_t bytesToRead) +{ + drflac_oggbs* oggbs = (drflac_oggbs*)pUserData; + assert(oggbs != NULL); + + uint8_t* pRunningBufferOut = (uint8_t*)bufferOut; + + // Reading is done page-by-page. If we've run out of bytes in the page we need to move to the next one. + size_t bytesRead = 0; + while (bytesRead < bytesToRead) + { + size_t bytesRemainingToRead = bytesToRead - bytesRead; + + if (oggbs->bytesRemainingInPage >= bytesRemainingToRead) { + bytesRead += oggbs->onRead(oggbs->pUserData, pRunningBufferOut, bytesRemainingToRead); + oggbs->bytesRemainingInPage -= (uint32_t)bytesRemainingToRead; + break; + } + + // If we get here it means some of the requested data is contained in the next pages. + if (oggbs->bytesRemainingInPage > 0) { + size_t bytesJustRead = oggbs->onRead(oggbs->pUserData, pRunningBufferOut, oggbs->bytesRemainingInPage); + bytesRead += bytesJustRead; + pRunningBufferOut += bytesJustRead; + + if (bytesJustRead != oggbs->bytesRemainingInPage) { + break; // Ran out of data. + } + } + + assert(bytesRemainingToRead > 0); + if (!drflac_oggbs__goto_next_page(oggbs)) { + break; // Failed to go to the next chunk. Might have simply hit the end of the stream. + } + } + + oggbs->currentBytePos += bytesRead; + return bytesRead; +} + +static drBool32 drflac__on_seek_ogg(void* pUserData, int offset, drflac_seek_origin origin) +{ + drflac_oggbs* oggbs = (drflac_oggbs*)pUserData; + assert(oggbs != NULL); + assert(offset > 0 || (offset == 0 && origin == drflac_seek_origin_start)); + + // Seeking is always forward which makes things a lot simpler. + if (origin == drflac_seek_origin_start) { + int startBytePos = (int)oggbs->firstBytePos + (79-42); // 79 = size of bos page; 42 = size of FLAC header data. Seek up to the first byte of the native FLAC data. + if (!drflac_oggbs__seek_physical(oggbs, startBytePos, drflac_seek_origin_start)) { + return DR_FALSE; + } + + oggbs->currentPageHeader = oggbs->bosPageHeader; + oggbs->bytesRemainingInPage = 42; // 42 = size of the native FLAC header data. That's our start point for seeking. + + return drflac__on_seek_ogg(pUserData, offset, drflac_seek_origin_current); + } + + + assert(origin == drflac_seek_origin_current); + + int bytesSeeked = 0; + while (bytesSeeked < offset) + { + int bytesRemainingToSeek = offset - bytesSeeked; + assert(bytesRemainingToSeek >= 0); + + if (oggbs->bytesRemainingInPage >= (size_t)bytesRemainingToSeek) { + if (!drflac_oggbs__seek_physical(oggbs, bytesRemainingToSeek, drflac_seek_origin_current)) { + return DR_FALSE; + } + + bytesSeeked += bytesRemainingToSeek; + oggbs->bytesRemainingInPage -= bytesRemainingToSeek; + break; + } + + // If we get here it means some of the requested data is contained in the next pages. + if (oggbs->bytesRemainingInPage > 0) { + if (!drflac_oggbs__seek_physical(oggbs, oggbs->bytesRemainingInPage, drflac_seek_origin_current)) { + return DR_FALSE; + } + + bytesSeeked += (int)oggbs->bytesRemainingInPage; + } + + assert(bytesRemainingToSeek > 0); + if (!drflac_oggbs__goto_next_page(oggbs)) { + break; // Failed to go to the next chunk. Might have simply hit the end of the stream. + } + } + + return DR_TRUE; +} + +drBool32 drflac_ogg__seek_to_sample(drflac* pFlac, uint64_t sample) +{ + drflac_oggbs* oggbs = (drflac_oggbs*)(((int32_t*)pFlac->pExtraData) + pFlac->maxBlockSize*pFlac->channels); + + uint64_t originalBytePos = oggbs->currentBytePos; // For recovery. + + // First seek to the first frame. + if (!drflac__seek_to_byte(&pFlac->bs, pFlac->firstFramePos)) { + return DR_FALSE; + } + oggbs->bytesRemainingInPage = 0; + + uint64_t runningGranulePosition = 0; + uint64_t runningFrameBytePos = oggbs->currentBytePos; // <-- Points to the OggS identifier. + for (;;) + { + if (!drflac_oggbs__goto_next_page(oggbs)) { + drflac_oggbs__seek_physical(oggbs, originalBytePos, drflac_seek_origin_start); + return DR_FALSE; // Never did find that sample... + } + + runningFrameBytePos = oggbs->currentBytePos - drflac_ogg__get_page_header_size(&oggbs->currentPageHeader); + if (oggbs->currentPageHeader.granulePosition*pFlac->channels >= sample) { + break; // The sample is somewhere in the previous page. + } + + + // At this point we know the sample is not in the previous page. It could possibly be in this page. For simplicity we + // disregard any pages that do not begin a fresh packet. + if ((oggbs->currentPageHeader.headerType & 0x01) == 0) { // <-- Is it a fresh page? + if (oggbs->currentPageHeader.segmentTable[0] >= 2) { + uint8_t firstBytesInPage[2]; + if (drflac_oggbs__read_physical(oggbs, firstBytesInPage, 2) != 2) { + drflac_oggbs__seek_physical(oggbs, originalBytePos, drflac_seek_origin_start); + return DR_FALSE; + } + if ((firstBytesInPage[0] == 0xFF) && (firstBytesInPage[1] & 0xFC) == 0xF8) { // <-- Does the page begin with a frame's sync code? + runningGranulePosition = oggbs->currentPageHeader.granulePosition*pFlac->channels; + } + + if (!drflac_oggbs__seek_physical(oggbs, (int)oggbs->bytesRemainingInPage-2, drflac_seek_origin_current)) { + drflac_oggbs__seek_physical(oggbs, originalBytePos, drflac_seek_origin_start); + return DR_FALSE; + } + + continue; + } + } + + if (!drflac_oggbs__seek_physical(oggbs, (int)oggbs->bytesRemainingInPage, drflac_seek_origin_current)) { + drflac_oggbs__seek_physical(oggbs, originalBytePos, drflac_seek_origin_start); + return DR_FALSE; + } + } + + + // We found the page that that is closest to the sample, so now we need to find it. The first thing to do is seek to the + // start of that page. In the loop above we checked that it was a fresh page which means this page is also the start of + // a new frame. This property means that after we've seeked to the page we can immediately start looping over frames until + // we find the one containing the target sample. + if (!drflac_oggbs__seek_physical(oggbs, runningFrameBytePos, drflac_seek_origin_start)) { + return DR_FALSE; + } + if (!drflac_oggbs__goto_next_page(oggbs)) { + return DR_FALSE; + } + + + // At this point we'll be sitting on the first byte of the frame header of the first frame in the page. We just keep + // looping over these frames until we find the one containing the sample we're after. + uint64_t firstSampleInFrame = runningGranulePosition; + for (;;) + { + // NOTE for later: When using Ogg's page/segment based seeking later on we can't use this function (or any drflac__* + // reading functions) because otherwise it will pull extra data for use in it's own internal caches which will then + // break the positioning of the read pointer for the Ogg bitstream. + if (!drflac__read_next_frame_header(&pFlac->bs, pFlac->bitsPerSample, &pFlac->currentFrame.header)) { + return DR_FALSE; + } + + int channels = drflac__get_channel_count_from_channel_assignment(pFlac->currentFrame.header.channelAssignment); + uint64_t lastSampleInFrame = firstSampleInFrame + (pFlac->currentFrame.header.blockSize*channels); + lastSampleInFrame -= 1; // <-- Zero based. + + if (sample >= firstSampleInFrame && sample <= lastSampleInFrame) { + break; // The sample is in this frame. + } + + + // If we get here it means the sample is not in this frame so we need to move to the next one. Now the cool thing + // with Ogg is that we can efficiently seek past the frame by looking at the lacing values of each segment in + // the page. + firstSampleInFrame = lastSampleInFrame+1; + +#if 1 + // Slow way. This uses the native FLAC decoder to seek past the frame. This is slow because it needs to do a partial + // decode of the frame. Although this is how the native version works, we can use Ogg's framing system to make it + // more efficient. Leaving this here for reference and to use as a basis for debugging purposes. + if (!drflac__seek_to_next_frame(pFlac)) { + return DR_FALSE; + } +#else + // TODO: This is not yet complete. See note at the top of this loop body. + + // Fast(er) way. This uses Ogg's framing system to seek past the frame. This should be much more efficient than the + // native FLAC seeking. + if (!drflac_oggbs__seek_to_next_frame(oggbs)) { + return DR_FALSE; + } +#endif + } + + assert(firstSampleInFrame <= sample); + + if (!drflac__decode_frame(pFlac)) { + return DR_FALSE; + } + + size_t samplesToDecode = (size_t)(sample - firstSampleInFrame); // <-- Safe cast because the maximum number of samples in a frame is 65535. + return drflac_read_s32(pFlac, samplesToDecode, NULL) == samplesToDecode; +} + + +drBool32 drflac__init_private__ogg(drflac_init_info* pInit, drflac_read_proc onRead, drflac_seek_proc onSeek, drflac_meta_proc onMeta, void* pUserData, void* pUserDataMD) +{ + // Pre: The bit stream should be sitting just past the 4-byte OggS capture pattern. + + pInit->container = drflac_container_ogg; + pInit->oggFirstBytePos = 0; + + // We'll get here if the first 4 bytes of the stream were the OggS capture pattern, however it doesn't necessarily mean the + // stream includes FLAC encoded audio. To check for this we need to scan the beginning-of-stream page markers and check if + // any match the FLAC specification. Important to keep in mind that the stream may be multiplexed. + drflac_ogg_page_header header; + + uint32_t headerSize; + if (!drflac_ogg__read_page_header_after_capture_pattern(onRead, pUserData, &header, &headerSize)) { + return DR_FALSE; + } + pInit->runningFilePos = headerSize; + + for (;;) + { + // Break if we're past the beginning of stream page. + if ((header.headerType & 0x02) == 0) { + return DR_FALSE; + } + + + // Check if it's a FLAC header. + int pageBodySize = drflac_ogg__get_page_body_size(&header); + if (pageBodySize == 51) // 51 = the lacing value of the FLAC header packet. + { + // It could be a FLAC page... + uint32_t bytesRemainingInPage = pageBodySize; + + uint8_t packetType; + if (onRead(pUserData, &packetType, 1) != 1) { + return DR_FALSE; + } + + bytesRemainingInPage -= 1; + if (packetType == 0x7F) + { + // Increasingly more likely to be a FLAC page... + uint8_t sig[4]; + if (onRead(pUserData, sig, 4) != 4) { + return DR_FALSE; + } + + bytesRemainingInPage -= 4; + if (sig[0] == 'F' && sig[1] == 'L' && sig[2] == 'A' && sig[3] == 'C') + { + // Almost certainly a FLAC page... + uint8_t mappingVersion[2]; + if (onRead(pUserData, mappingVersion, 2) != 2) { + return DR_FALSE; + } + + if (mappingVersion[0] != 1) { + return DR_FALSE; // Only supporting version 1.x of the Ogg mapping. + } + + // The next 2 bytes are the non-audio packets, not including this one. We don't care about this because we're going to + // be handling it in a generic way based on the serial number and packet types. + if (!onSeek(pUserData, 2, drflac_seek_origin_current)) { + return DR_FALSE; + } + + // Expecting the native FLAC signature "fLaC". + if (onRead(pUserData, sig, 4) != 4) { + return DR_FALSE; + } + + if (sig[0] == 'f' && sig[1] == 'L' && sig[2] == 'a' && sig[3] == 'C') + { + // The remaining data in the page should be the STREAMINFO block. + uint8_t isLastBlock; + uint8_t blockType; + uint32_t blockSize; + if (!drflac__read_and_decode_block_header(onRead, pUserData, &isLastBlock, &blockType, &blockSize)) { + return DR_FALSE; + } + + if (blockType != DRFLAC_METADATA_BLOCK_TYPE_STREAMINFO || blockSize != 34) { + return DR_FALSE; // Invalid block type. First block must be the STREAMINFO block. + } + + drflac_streaminfo streaminfo; + if (drflac__read_streaminfo(onRead, pUserData, &streaminfo)) + { + // Success! + pInit->sampleRate = streaminfo.sampleRate; + pInit->channels = streaminfo.channels; + pInit->bitsPerSample = streaminfo.bitsPerSample; + pInit->totalSampleCount = streaminfo.totalSampleCount; + pInit->maxBlockSize = streaminfo.maxBlockSize; + + if (onMeta) { + drflac_metadata metadata; + metadata.type = DRFLAC_METADATA_BLOCK_TYPE_STREAMINFO; + metadata.pRawData = NULL; + metadata.rawDataSize = 0; + metadata.data.streaminfo = streaminfo; + onMeta(pUserDataMD, &metadata); + } + + pInit->runningFilePos += pageBodySize; + pInit->oggFirstBytePos = pInit->runningFilePos - 79; // Subtracting 79 will place us right on top of the "OggS" identifier of the FLAC bos page. + pInit->oggSerial = header.serialNumber; + pInit->oggBosHeader = header; + break; + } + else + { + // Failed to read STREAMINFO block. Aww, so close... + return DR_FALSE; + } + } + else + { + // Invalid file. + return DR_FALSE; + } + } + else + { + // Not a FLAC header. Skip it. + if (!onSeek(pUserData, bytesRemainingInPage, drflac_seek_origin_current)) { + return DR_FALSE; + } + } + } + else + { + // Not a FLAC header. Seek past the entire page and move on to the next. + if (!onSeek(pUserData, bytesRemainingInPage, drflac_seek_origin_current)) { + return DR_FALSE; + } + } + } + else + { + if (!onSeek(pUserData, pageBodySize, drflac_seek_origin_current)) { + return DR_FALSE; + } + } + + pInit->runningFilePos += pageBodySize; + + + // Read the header of the next page. + if (!drflac_ogg__read_page_header(onRead, pUserData, &header, &headerSize)) { + return DR_FALSE; + } + pInit->runningFilePos += headerSize; + } + + + // If we get here it means we found a FLAC audio stream. We should be sitting on the first byte of the header of the next page. The next + // packets in the FLAC logical stream contain the metadata. The only thing left to do in the initialiation phase for Ogg is to create the + // Ogg bistream object. + pInit->hasMetadataBlocks = DR_TRUE; // <-- Always have at least VORBIS_COMMENT metadata block. + return DR_TRUE; +} +#endif + +drBool32 drflac__init_private(drflac_init_info* pInit, drflac_read_proc onRead, drflac_seek_proc onSeek, drflac_meta_proc onMeta, void* pUserData, void* pUserDataMD) +{ + if (pInit == NULL || onRead == NULL || onSeek == NULL) { + return DR_FALSE; + } + + pInit->onRead = onRead; + pInit->onSeek = onSeek; + pInit->onMeta = onMeta; + pInit->pUserData = pUserData; + pInit->pUserDataMD = pUserDataMD; + + uint8_t id[4]; + if (onRead(pUserData, id, 4) != 4) { + return DR_FALSE; + } + + if (id[0] == 'f' && id[1] == 'L' && id[2] == 'a' && id[3] == 'C') { + return drflac__init_private__native(pInit, onRead, onSeek, onMeta, pUserData, pUserDataMD); + } + +#ifndef DR_FLAC_NO_OGG + if (id[0] == 'O' && id[1] == 'g' && id[2] == 'g' && id[3] == 'S') { + return drflac__init_private__ogg(pInit, onRead, onSeek, onMeta, pUserData, pUserDataMD); + } +#endif + + // Unsupported container. + return DR_FALSE; +} + +void drflac__init_from_info(drflac* pFlac, drflac_init_info* pInit) +{ + assert(pFlac != NULL); + assert(pInit != NULL); + + memset(pFlac, 0, sizeof(*pFlac)); + pFlac->bs.onRead = pInit->onRead; + pFlac->bs.onSeek = pInit->onSeek; + pFlac->bs.pUserData = pInit->pUserData; + pFlac->bs.nextL2Line = sizeof(pFlac->bs.cacheL2) / sizeof(pFlac->bs.cacheL2[0]); // <-- Initialize to this to force a client-side data retrieval right from the start. + pFlac->bs.consumedBits = sizeof(pFlac->bs.cache)*8; + + pFlac->onMeta = pInit->onMeta; + pFlac->pUserDataMD = pInit->pUserDataMD; + pFlac->maxBlockSize = pInit->maxBlockSize; + pFlac->sampleRate = pInit->sampleRate; + pFlac->channels = (uint8_t)pInit->channels; + pFlac->bitsPerSample = (uint8_t)pInit->bitsPerSample; + pFlac->totalSampleCount = pInit->totalSampleCount; + pFlac->container = pInit->container; +} + +drflac* drflac_open_with_metadata_private(drflac_read_proc onRead, drflac_seek_proc onSeek, drflac_meta_proc onMeta, void* pUserData, void* pUserDataMD) +{ + drflac_init_info init; + if (!drflac__init_private(&init, onRead, onSeek, onMeta, pUserData, pUserDataMD)) { + return NULL; + } + + size_t allocationSize = sizeof(drflac); + allocationSize += init.maxBlockSize * init.channels * sizeof(int32_t); + //allocationSize += init.seektableSize; + + +#ifndef DR_FLAC_NO_OGG + // There's additional data required for Ogg streams. + if (init.container == drflac_container_ogg) { + allocationSize += sizeof(drflac_oggbs); + } +#endif + + drflac* pFlac = (drflac*)malloc(allocationSize); + drflac__init_from_info(pFlac, &init); + pFlac->pDecodedSamples = (int32_t*)pFlac->pExtraData; + +#ifndef DR_FLAC_NO_OGG + if (init.container == drflac_container_ogg) { + drflac_oggbs* oggbs = (drflac_oggbs*)(((int32_t*)pFlac->pExtraData) + init.maxBlockSize*init.channels); + oggbs->onRead = onRead; + oggbs->onSeek = onSeek; + oggbs->pUserData = pUserData; + oggbs->currentBytePos = init.oggFirstBytePos; + oggbs->firstBytePos = init.oggFirstBytePos; + oggbs->serialNumber = init.oggSerial; + oggbs->bosPageHeader = init.oggBosHeader; + oggbs->bytesRemainingInPage = 0; + + // The Ogg bistream needs to be layered on top of the original bitstream. + pFlac->bs.onRead = drflac__on_read_ogg; + pFlac->bs.onSeek = drflac__on_seek_ogg; + pFlac->bs.pUserData = (void*)oggbs; + } +#endif + + // Decode metadata before returning. + if (init.hasMetadataBlocks) { + if (!drflac__read_and_decode_metadata(pFlac)) { + free(pFlac); + return NULL; + } + } + + return pFlac; +} + + + +#ifndef DR_FLAC_NO_STDIO +typedef void* drflac_file; + +#if defined(DR_FLAC_NO_WIN32_IO) || !defined(_WIN32) +#include + +static size_t drflac__on_read_stdio(void* pUserData, void* bufferOut, size_t bytesToRead) +{ + return fread(bufferOut, 1, bytesToRead, (FILE*)pUserData); +} + +static drBool32 drflac__on_seek_stdio(void* pUserData, int offset, drflac_seek_origin origin) +{ + assert(offset > 0 || (offset == 0 && origin == drflac_seek_origin_start)); + + return fseek((FILE*)pUserData, offset, (origin == drflac_seek_origin_current) ? SEEK_CUR : SEEK_SET) == 0; +} + +static drflac_file drflac__open_file_handle(const char* filename) +{ + FILE* pFile; +#ifdef _MSC_VER + if (fopen_s(&pFile, filename, "rb") != 0) { + return NULL; + } +#else + pFile = fopen(filename, "rb"); + if (pFile == NULL) { + return NULL; + } +#endif + + return (drflac_file)pFile; +} + +static void drflac__close_file_handle(drflac_file file) +{ + fclose((FILE*)file); +} +#else +#include + +static size_t drflac__on_read_stdio(void* pUserData, void* bufferOut, size_t bytesToRead) +{ + assert(bytesToRead < 0xFFFFFFFF); // dr_flac will never request huge amounts of data at a time. This is a safe assertion. + + DWORD bytesRead; + ReadFile((HANDLE)pUserData, bufferOut, (DWORD)bytesToRead, &bytesRead, NULL); + + return (size_t)bytesRead; +} + +static drBool32 drflac__on_seek_stdio(void* pUserData, int offset, drflac_seek_origin origin) +{ + assert(offset > 0 || (offset == 0 && origin == drflac_seek_origin_start)); + + return SetFilePointer((HANDLE)pUserData, offset, NULL, (origin == drflac_seek_origin_current) ? FILE_CURRENT : FILE_BEGIN) != INVALID_SET_FILE_POINTER; +} + +static drflac_file drflac__open_file_handle(const char* filename) +{ + HANDLE hFile = CreateFileA(filename, FILE_GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) { + return NULL; + } + + return (drflac_file)hFile; +} + +static void drflac__close_file_handle(drflac_file file) +{ + CloseHandle((HANDLE)file); +} +#endif + + +drflac* drflac_open_file(const char* filename) +{ + drflac_file file = drflac__open_file_handle(filename); + if (file == NULL) { + return NULL; + } + + drflac* pFlac = drflac_open(drflac__on_read_stdio, drflac__on_seek_stdio, (void*)file); + if (pFlac == NULL) { + drflac__close_file_handle(file); + return NULL; + } + + return pFlac; +} + +drflac* drflac_open_file_with_metadata(const char* filename, drflac_meta_proc onMeta, void* pUserData) +{ + drflac_file file = drflac__open_file_handle(filename); + if (file == NULL) { + return NULL; + } + + drflac* pFlac = drflac_open_with_metadata_private(drflac__on_read_stdio, drflac__on_seek_stdio, onMeta, (void*)file, pUserData); + if (pFlac == NULL) { + drflac__close_file_handle(file); + return pFlac; + } + + return pFlac; +} +#endif //DR_FLAC_NO_STDIO + +static size_t drflac__on_read_memory(void* pUserData, void* bufferOut, size_t bytesToRead) +{ + drflac__memory_stream* memoryStream = (drflac__memory_stream*)pUserData; + assert(memoryStream != NULL); + assert(memoryStream->dataSize >= memoryStream->currentReadPos); + + size_t bytesRemaining = memoryStream->dataSize - memoryStream->currentReadPos; + if (bytesToRead > bytesRemaining) { + bytesToRead = bytesRemaining; + } + + if (bytesToRead > 0) { + memcpy(bufferOut, memoryStream->data + memoryStream->currentReadPos, bytesToRead); + memoryStream->currentReadPos += bytesToRead; + } + + return bytesToRead; +} + +static drBool32 drflac__on_seek_memory(void* pUserData, int offset, drflac_seek_origin origin) +{ + drflac__memory_stream* memoryStream = (drflac__memory_stream*)pUserData; + assert(memoryStream != NULL); + assert(offset > 0 || (offset == 0 && origin == drflac_seek_origin_start)); + + if (origin == drflac_seek_origin_current) { + if (memoryStream->currentReadPos + offset <= memoryStream->dataSize) { + memoryStream->currentReadPos += offset; + } else { + memoryStream->currentReadPos = memoryStream->dataSize; // Trying to seek too far forward. + } + } else { + if ((uint32_t)offset <= memoryStream->dataSize) { + memoryStream->currentReadPos = offset; + } else { + memoryStream->currentReadPos = memoryStream->dataSize; // Trying to seek too far forward. + } + } + + return DR_TRUE; +} + +drflac* drflac_open_memory(const void* data, size_t dataSize) +{ + drflac__memory_stream memoryStream; + memoryStream.data = (const unsigned char*)data; + memoryStream.dataSize = dataSize; + memoryStream.currentReadPos = 0; + drflac* pFlac = drflac_open(drflac__on_read_memory, drflac__on_seek_memory, &memoryStream); + if (pFlac == NULL) { + return NULL; + } + + pFlac->memoryStream = memoryStream; + + // This is an awful hack... +#ifndef DR_FLAC_NO_OGG + if (pFlac->container == drflac_container_ogg) + { + drflac_oggbs* oggbs = (drflac_oggbs*)(((int32_t*)pFlac->pExtraData) + pFlac->maxBlockSize*pFlac->channels); + oggbs->pUserData = &pFlac->memoryStream; + } + else +#endif + { + pFlac->bs.pUserData = &pFlac->memoryStream; + } + + return pFlac; +} + +drflac* drflac_open_memory_with_metadata(const void* data, size_t dataSize, drflac_meta_proc onMeta, void* pUserData) +{ + drflac__memory_stream memoryStream; + memoryStream.data = (const unsigned char*)data; + memoryStream.dataSize = dataSize; + memoryStream.currentReadPos = 0; + drflac* pFlac = drflac_open_with_metadata_private(drflac__on_read_memory, drflac__on_seek_memory, onMeta, &memoryStream, pUserData); + if (pFlac == NULL) { + return NULL; + } + + pFlac->memoryStream = memoryStream; + + // This is an awful hack... +#ifndef DR_FLAC_NO_OGG + if (pFlac->container == drflac_container_ogg) + { + drflac_oggbs* oggbs = (drflac_oggbs*)(((int32_t*)pFlac->pExtraData) + pFlac->maxBlockSize*pFlac->channels); + oggbs->pUserData = &pFlac->memoryStream; + } + else +#endif + { + pFlac->bs.pUserData = &pFlac->memoryStream; + } + + return pFlac; +} + + + +drflac* drflac_open(drflac_read_proc onRead, drflac_seek_proc onSeek, void* pUserData) +{ + return drflac_open_with_metadata_private(onRead, onSeek, NULL, pUserData, pUserData); +} + +drflac* drflac_open_with_metadata(drflac_read_proc onRead, drflac_seek_proc onSeek, drflac_meta_proc onMeta, void* pUserData) +{ + return drflac_open_with_metadata_private(onRead, onSeek, onMeta, pUserData, pUserData); +} + +void drflac_close(drflac* pFlac) +{ + if (pFlac == NULL) { + return; + } + +#ifndef DR_FLAC_NO_STDIO + // If we opened the file with drflac_open_file() we will want to close the file handle. We can know whether or not drflac_open_file() + // was used by looking at the callbacks. + if (pFlac->bs.onRead == drflac__on_read_stdio) { + drflac__close_file_handle((drflac_file)pFlac->bs.pUserData); + } + +#ifndef DR_FLAC_NO_OGG + // Need to clean up Ogg streams a bit differently due to the way the bit streaming is chained. + if (pFlac->container == drflac_container_ogg) { + assert(pFlac->bs.onRead == drflac__on_read_ogg); + drflac_oggbs* oggbs = (drflac_oggbs*)((int32_t*)pFlac->pExtraData + pFlac->maxBlockSize*pFlac->channels); + if (oggbs->onRead == drflac__on_read_stdio) { + drflac__close_file_handle((drflac_file)oggbs->pUserData); + } + } +#endif +#endif + + free(pFlac); +} + +uint64_t drflac__read_s32__misaligned(drflac* pFlac, uint64_t samplesToRead, int32_t* bufferOut) +{ + unsigned int channelCount = drflac__get_channel_count_from_channel_assignment(pFlac->currentFrame.header.channelAssignment); + + // We should never be calling this when the number of samples to read is >= the sample count. + assert(samplesToRead < channelCount); + assert(pFlac->currentFrame.samplesRemaining > 0 && samplesToRead <= pFlac->currentFrame.samplesRemaining); + + + uint64_t samplesRead = 0; + while (samplesToRead > 0) + { + uint64_t totalSamplesInFrame = pFlac->currentFrame.header.blockSize * channelCount; + uint64_t samplesReadFromFrameSoFar = totalSamplesInFrame - pFlac->currentFrame.samplesRemaining; + unsigned int channelIndex = samplesReadFromFrameSoFar % channelCount; + + uint64_t nextSampleInFrame = samplesReadFromFrameSoFar / channelCount; + + int decodedSample = 0; + switch (pFlac->currentFrame.header.channelAssignment) + { + case DRFLAC_CHANNEL_ASSIGNMENT_LEFT_SIDE: + { + if (channelIndex == 0) { + decodedSample = pFlac->currentFrame.subframes[channelIndex].pDecodedSamples[nextSampleInFrame]; + } else { + int side = pFlac->currentFrame.subframes[channelIndex + 0].pDecodedSamples[nextSampleInFrame]; + int left = pFlac->currentFrame.subframes[channelIndex - 1].pDecodedSamples[nextSampleInFrame]; + decodedSample = left - side; + } + + } break; + + case DRFLAC_CHANNEL_ASSIGNMENT_RIGHT_SIDE: + { + if (channelIndex == 0) { + int side = pFlac->currentFrame.subframes[channelIndex + 0].pDecodedSamples[nextSampleInFrame]; + int right = pFlac->currentFrame.subframes[channelIndex + 1].pDecodedSamples[nextSampleInFrame]; + decodedSample = side + right; + } else { + decodedSample = pFlac->currentFrame.subframes[channelIndex].pDecodedSamples[nextSampleInFrame]; + } + + } break; + + case DRFLAC_CHANNEL_ASSIGNMENT_MID_SIDE: + { + int mid; + int side; + if (channelIndex == 0) { + mid = pFlac->currentFrame.subframes[channelIndex + 0].pDecodedSamples[nextSampleInFrame]; + side = pFlac->currentFrame.subframes[channelIndex + 1].pDecodedSamples[nextSampleInFrame]; + + mid = (((unsigned int)mid) << 1) | (side & 0x01); + decodedSample = (mid + side) >> 1; + } else { + mid = pFlac->currentFrame.subframes[channelIndex - 1].pDecodedSamples[nextSampleInFrame]; + side = pFlac->currentFrame.subframes[channelIndex + 0].pDecodedSamples[nextSampleInFrame]; + + mid = (((unsigned int)mid) << 1) | (side & 0x01); + decodedSample = (mid - side) >> 1; + } + + } break; + + case DRFLAC_CHANNEL_ASSIGNMENT_INDEPENDENT: + default: + { + decodedSample = pFlac->currentFrame.subframes[channelIndex].pDecodedSamples[nextSampleInFrame]; + } break; + } + + + decodedSample <<= ((32 - pFlac->bitsPerSample) + pFlac->currentFrame.subframes[channelIndex].wastedBitsPerSample); + + if (bufferOut) { + *bufferOut++ = decodedSample; + } + + samplesRead += 1; + pFlac->currentFrame.samplesRemaining -= 1; + samplesToRead -= 1; + } + + return samplesRead; +} + +uint64_t drflac__seek_forward_by_samples(drflac* pFlac, uint64_t samplesToRead) +{ + uint64_t samplesRead = 0; + while (samplesToRead > 0) + { + if (pFlac->currentFrame.samplesRemaining == 0) + { + if (!drflac__read_and_decode_next_frame(pFlac)) { + break; // Couldn't read the next frame, so just break from the loop and return. + } + } + else + { + samplesRead += 1; + pFlac->currentFrame.samplesRemaining -= 1; + samplesToRead -= 1; + } + } + + return samplesRead; +} + +uint64_t drflac_read_s32(drflac* pFlac, uint64_t samplesToRead, int32_t* bufferOut) +{ + // Note that is allowed to be null, in which case this will be treated as something like a seek. + if (pFlac == NULL || samplesToRead == 0) { + return 0; + } + + if (bufferOut == NULL) { + return drflac__seek_forward_by_samples(pFlac, samplesToRead); + } + + + uint64_t samplesRead = 0; + while (samplesToRead > 0) + { + // If we've run out of samples in this frame, go to the next. + if (pFlac->currentFrame.samplesRemaining == 0) + { + if (!drflac__read_and_decode_next_frame(pFlac)) { + break; // Couldn't read the next frame, so just break from the loop and return. + } + } + else + { + // Here is where we grab the samples and interleave them. + + unsigned int channelCount = drflac__get_channel_count_from_channel_assignment(pFlac->currentFrame.header.channelAssignment); + uint64_t totalSamplesInFrame = pFlac->currentFrame.header.blockSize * channelCount; + uint64_t samplesReadFromFrameSoFar = totalSamplesInFrame - pFlac->currentFrame.samplesRemaining; + + int misalignedSampleCount = samplesReadFromFrameSoFar % channelCount; + if (misalignedSampleCount > 0) { + uint64_t misalignedSamplesRead = drflac__read_s32__misaligned(pFlac, misalignedSampleCount, bufferOut); + samplesRead += misalignedSamplesRead; + samplesReadFromFrameSoFar += misalignedSamplesRead; + bufferOut += misalignedSamplesRead; + samplesToRead -= misalignedSamplesRead; + } + + + uint64_t alignedSampleCountPerChannel = samplesToRead / channelCount; + if (alignedSampleCountPerChannel > pFlac->currentFrame.samplesRemaining / channelCount) { + alignedSampleCountPerChannel = pFlac->currentFrame.samplesRemaining / channelCount; + } + + uint64_t firstAlignedSampleInFrame = samplesReadFromFrameSoFar / channelCount; + unsigned int unusedBitsPerSample = 32 - pFlac->bitsPerSample; + + switch (pFlac->currentFrame.header.channelAssignment) + { + case DRFLAC_CHANNEL_ASSIGNMENT_LEFT_SIDE: + { + const int* pDecodedSamples0 = pFlac->currentFrame.subframes[0].pDecodedSamples + firstAlignedSampleInFrame; + const int* pDecodedSamples1 = pFlac->currentFrame.subframes[1].pDecodedSamples + firstAlignedSampleInFrame; + + for (uint64_t i = 0; i < alignedSampleCountPerChannel; ++i) { + int left = pDecodedSamples0[i]; + int side = pDecodedSamples1[i]; + int right = left - side; + + bufferOut[i*2+0] = left << (unusedBitsPerSample + pFlac->currentFrame.subframes[0].wastedBitsPerSample); + bufferOut[i*2+1] = right << (unusedBitsPerSample + pFlac->currentFrame.subframes[1].wastedBitsPerSample); + } + } break; + + case DRFLAC_CHANNEL_ASSIGNMENT_RIGHT_SIDE: + { + const int* pDecodedSamples0 = pFlac->currentFrame.subframes[0].pDecodedSamples + firstAlignedSampleInFrame; + const int* pDecodedSamples1 = pFlac->currentFrame.subframes[1].pDecodedSamples + firstAlignedSampleInFrame; + + for (uint64_t i = 0; i < alignedSampleCountPerChannel; ++i) { + int side = pDecodedSamples0[i]; + int right = pDecodedSamples1[i]; + int left = right + side; + + bufferOut[i*2+0] = left << (unusedBitsPerSample + pFlac->currentFrame.subframes[0].wastedBitsPerSample); + bufferOut[i*2+1] = right << (unusedBitsPerSample + pFlac->currentFrame.subframes[1].wastedBitsPerSample); + } + } break; + + case DRFLAC_CHANNEL_ASSIGNMENT_MID_SIDE: + { + const int* pDecodedSamples0 = pFlac->currentFrame.subframes[0].pDecodedSamples + firstAlignedSampleInFrame; + const int* pDecodedSamples1 = pFlac->currentFrame.subframes[1].pDecodedSamples + firstAlignedSampleInFrame; + + for (uint64_t i = 0; i < alignedSampleCountPerChannel; ++i) { + int side = pDecodedSamples1[i]; + int mid = (((uint32_t)pDecodedSamples0[i]) << 1) | (side & 0x01); + + bufferOut[i*2+0] = ((mid + side) >> 1) << (unusedBitsPerSample + pFlac->currentFrame.subframes[0].wastedBitsPerSample); + bufferOut[i*2+1] = ((mid - side) >> 1) << (unusedBitsPerSample + pFlac->currentFrame.subframes[1].wastedBitsPerSample); + } + } break; + + case DRFLAC_CHANNEL_ASSIGNMENT_INDEPENDENT: + default: + { + if (pFlac->currentFrame.header.channelAssignment == 1) // 1 = Stereo + { + // Stereo optimized inner loop unroll. + const int* pDecodedSamples0 = pFlac->currentFrame.subframes[0].pDecodedSamples + firstAlignedSampleInFrame; + const int* pDecodedSamples1 = pFlac->currentFrame.subframes[1].pDecodedSamples + firstAlignedSampleInFrame; + + for (uint64_t i = 0; i < alignedSampleCountPerChannel; ++i) { + bufferOut[i*2+0] = pDecodedSamples0[i] << (unusedBitsPerSample + pFlac->currentFrame.subframes[0].wastedBitsPerSample); + bufferOut[i*2+1] = pDecodedSamples1[i] << (unusedBitsPerSample + pFlac->currentFrame.subframes[1].wastedBitsPerSample); + } + } + else + { + // Generic interleaving. + for (uint64_t i = 0; i < alignedSampleCountPerChannel; ++i) { + for (unsigned int j = 0; j < channelCount; ++j) { + bufferOut[(i*channelCount)+j] = (pFlac->currentFrame.subframes[j].pDecodedSamples[firstAlignedSampleInFrame + i]) << (unusedBitsPerSample + pFlac->currentFrame.subframes[j].wastedBitsPerSample); + } + } + } + } break; + } + + uint64_t alignedSamplesRead = alignedSampleCountPerChannel * channelCount; + samplesRead += alignedSamplesRead; + samplesReadFromFrameSoFar += alignedSamplesRead; + bufferOut += alignedSamplesRead; + samplesToRead -= alignedSamplesRead; + pFlac->currentFrame.samplesRemaining -= (unsigned int)alignedSamplesRead; + + + + // At this point we may still have some excess samples left to read. + if (samplesToRead > 0 && pFlac->currentFrame.samplesRemaining > 0) + { + uint64_t excessSamplesRead = 0; + if (samplesToRead < pFlac->currentFrame.samplesRemaining) { + excessSamplesRead = drflac__read_s32__misaligned(pFlac, samplesToRead, bufferOut); + } else { + excessSamplesRead = drflac__read_s32__misaligned(pFlac, pFlac->currentFrame.samplesRemaining, bufferOut); + } + + samplesRead += excessSamplesRead; + samplesReadFromFrameSoFar += excessSamplesRead; + bufferOut += excessSamplesRead; + samplesToRead -= excessSamplesRead; + } + } + } + + return samplesRead; +} + +drBool32 drflac_seek_to_sample(drflac* pFlac, uint64_t sampleIndex) +{ + if (pFlac == NULL) { + return DR_FALSE; + } + + if (sampleIndex == 0) { + return drflac__seek_to_first_frame(pFlac); + } + + // Clamp the sample to the end. + if (sampleIndex >= pFlac->totalSampleCount) { + sampleIndex = pFlac->totalSampleCount - 1; + } + + + // Different techniques depending on encapsulation. Using the native FLAC seektable with Ogg encapsulation is a bit awkward so + // we'll instead use Ogg's natural seeking facility. +#ifndef DR_FLAC_NO_OGG + if (pFlac->container == drflac_container_ogg) + { + return drflac_ogg__seek_to_sample(pFlac, sampleIndex); + } + else +#endif + { + // First try seeking via the seek table. If this fails, fall back to a brute force seek which is much slower. + if (!drflac__seek_to_sample__seek_table(pFlac, sampleIndex)) { + return drflac__seek_to_sample__brute_force(pFlac, sampleIndex); + } + } + + + return DR_TRUE; +} + + + +//// High Level APIs //// + +int32_t* drflac__full_decode_and_close(drflac* pFlac, unsigned int* channelsOut, unsigned int* sampleRateOut, uint64_t* totalSampleCountOut) +{ + assert(pFlac != NULL); + + int32_t* pSampleData = NULL; + uint64_t totalSampleCount = pFlac->totalSampleCount; + + if (totalSampleCount == 0) + { + int32_t buffer[4096]; + + size_t sampleDataBufferSize = sizeof(buffer); + pSampleData = (int32_t*)malloc(sampleDataBufferSize); + if (pSampleData == NULL) { + goto on_error; + } + + uint64_t samplesRead; + while ((samplesRead = (uint64_t)drflac_read_s32(pFlac, sizeof(buffer)/sizeof(buffer[0]), buffer)) > 0) + { + if (((totalSampleCount + samplesRead) * sizeof(int32_t)) > sampleDataBufferSize) { + sampleDataBufferSize *= 2; + int32_t* pNewSampleData = (int32_t*)realloc(pSampleData, sampleDataBufferSize); + if (pNewSampleData == NULL) { + free(pSampleData); + goto on_error; + } + + pSampleData = pNewSampleData; + } + + memcpy(pSampleData + totalSampleCount, buffer, (size_t)(samplesRead*sizeof(int32_t))); + totalSampleCount += samplesRead; + } + + // At this point everything should be decoded, but we just want to fill the unused part buffer with silence - need to + // protect those ears from random noise! + memset(pSampleData + totalSampleCount, 0, (size_t)(sampleDataBufferSize - totalSampleCount*sizeof(int32_t))); + } + else + { + uint64_t dataSize = totalSampleCount * sizeof(int32_t); + if (dataSize > SIZE_MAX) { + goto on_error; // The decoded data is too big. + } + + pSampleData = (int32_t*)malloc((size_t)dataSize); // <-- Safe cast as per the check above. + if (pSampleData == NULL) { + goto on_error; + } + + uint64_t samplesDecoded = drflac_read_s32(pFlac, pFlac->totalSampleCount, pSampleData); + if (samplesDecoded != pFlac->totalSampleCount) { + free(pSampleData); + goto on_error; // Something went wrong when decoding the FLAC stream. + } + } + + + if (sampleRateOut) *sampleRateOut = pFlac->sampleRate; + if (channelsOut) *channelsOut = pFlac->channels; + if (totalSampleCountOut) *totalSampleCountOut = totalSampleCount; + + drflac_close(pFlac); + return pSampleData; + +on_error: + drflac_close(pFlac); + return NULL; +} + +int32_t* drflac_open_and_decode_s32(drflac_read_proc onRead, drflac_seek_proc onSeek, void* pUserData, unsigned int* channels, unsigned int* sampleRate, uint64_t* totalSampleCount) +{ + // Safety. + if (sampleRate) *sampleRate = 0; + if (channels) *channels = 0; + if (totalSampleCount) *totalSampleCount = 0; + + drflac* pFlac = drflac_open(onRead, onSeek, pUserData); + if (pFlac == NULL) { + return NULL; + } + + return drflac__full_decode_and_close(pFlac, channels, sampleRate, totalSampleCount); +} + +#ifndef DR_FLAC_NO_STDIO +int32_t* drflac_open_and_decode_file_s32(const char* filename, unsigned int* channels, unsigned int* sampleRate, uint64_t* totalSampleCount) +{ + if (sampleRate) *sampleRate = 0; + if (channels) *channels = 0; + if (totalSampleCount) *totalSampleCount = 0; + + drflac* pFlac = drflac_open_file(filename); + if (pFlac == NULL) { + return NULL; + } + + return drflac__full_decode_and_close(pFlac, channels, sampleRate, totalSampleCount); +} +#endif + +int32_t* drflac_open_and_decode_memory_s32(const void* data, size_t dataSize, unsigned int* channels, unsigned int* sampleRate, uint64_t* totalSampleCount) +{ + if (sampleRate) *sampleRate = 0; + if (channels) *channels = 0; + if (totalSampleCount) *totalSampleCount = 0; + + drflac* pFlac = drflac_open_memory(data, dataSize); + if (pFlac == NULL) { + return NULL; + } + + return drflac__full_decode_and_close(pFlac, channels, sampleRate, totalSampleCount); +} + +void drflac_free(void* pSampleDataReturnedByOpenAndDecode) +{ + free(pSampleDataReturnedByOpenAndDecode); +} + + + + +void drflac_init_vorbis_comment_iterator(drflac_vorbis_comment_iterator* pIter, uint32_t commentCount, const char* pComments) +{ + if (pIter == NULL) { + return; + } + + pIter->countRemaining = commentCount; + pIter->pRunningData = pComments; +} + +const char* drflac_next_vorbis_comment(drflac_vorbis_comment_iterator* pIter, uint32_t* pCommentLengthOut) +{ + // Safety. + if (pCommentLengthOut) *pCommentLengthOut = 0; + + if (pIter == NULL || pIter->countRemaining == 0 || pIter->pRunningData == NULL) { + return NULL; + } + + uint32_t length = drflac__le2host_32(*(uint32_t*)pIter->pRunningData); + pIter->pRunningData += 4; + + const char* pComment = pIter->pRunningData; + pIter->pRunningData += length; + pIter->countRemaining -= 1; + + if (pCommentLengthOut) *pCommentLengthOut = length; + return pComment; +} +#endif //DR_FLAC_IMPLEMENTATION + + +// REVISION HISTORY +// +// v0.4 - 2016-09-29 +// - API/ABI CHANGE: Use fixed size 32-bit booleans instead of the built-in bool type. +// - API CHANGE: Rename drflac_open_and_decode*() to drflac_open_and_decode*_s32() +// - API CHANGE: Swap the order of "channels" and "sampleRate" parameters in drflac_open_and_decode*(). Rationale for this is to +// keep it consistent with dr_audio. +// +// v0.3f - 2016-09-21 +// - Fix a warning with GCC. +// +// v0.3e - 2016-09-18 +// - Fixed a bug where GCC 4.3+ was not getting properly identified. +// - Fixed a few typos. +// - Changed date formats to ISO 8601 (YYYY-MM-DD). +// +// v0.3d - 2016-06-11 +// - Minor clean up. +// +// v0.3c - 2016-05-28 +// - Fixed compilation error. +// +// v0.3b - 2016-05-16 +// - Fixed Linux/GCC build. +// - Updated documentation. +// +// v0.3a - 2016-05-15 +// - Minor fixes to documentation. +// +// v0.3 - 2016-05-11 +// - Optimizations. Now at about parity with the reference implementation on 32-bit builds. +// - Lots of clean up. +// +// v0.2b - 2016-05-10 +// - Bug fixes. +// +// v0.2a - 2016-05-10 +// - Made drflac_open_and_decode() more robust. +// - Removed an unused debugging variable +// +// v0.2 - 2016-05-09 +// - Added support for Ogg encapsulation. +// - API CHANGE. Have the onSeek callback take a third argument which specifies whether or not the seek +// should be relative to the start or the current position. Also changes the seeking rules such that +// seeking offsets will never be negative. +// - Have drflac_open_and_decode() fail gracefully if the stream has an unknown total sample count. +// +// v0.1b - 2016-05-07 +// - Properly close the file handle in drflac_open_file() and family when the decoder fails to initialize. +// - Removed a stale comment. +// +// v0.1a - 2016-05-05 +// - Minor formatting changes. +// - Fixed a warning on the GCC build. +// +// v0.1 - 2016-05-03 +// - Initial versioned release. + + +// TODO +// - Add support for initializing the decoder without a header STREAMINFO block. +// - Test CUESHEET metadata blocks. + + +/* +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to +*/ From c384b375dfb0651291d8a00bce935e1b5631397d Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 10 Oct 2016 19:42:02 +0200 Subject: [PATCH 094/102] Tweak to avoid warning --- src/audio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/audio.c b/src/audio.c index bf66f929b..9d2eeb47f 100644 --- a/src/audio.c +++ b/src/audio.c @@ -855,7 +855,7 @@ void UpdateMusicStream(Music music) // NOTE: Returns the number of samples to process (should be the same as numSamples) int numSamplesFlac = drflac_read_s32(music->ctxFlac, numSamples, pcmi); - UpdateAudioStream(music->stream, pcmi, numSamples*music->stream.channels); + UpdateAudioStream(music->stream, pcmi, numSamplesFlac*music->stream.channels); music->samplesLeft -= (numSamples*music->stream.channels); } break; From 5fecf5c088122dc409bd209b08627e671cbdc175 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 10 Oct 2016 19:42:59 +0200 Subject: [PATCH 095/102] Review UpdateVrTracking() and rlglLoadRenderTexture() --- src/raylib.h | 2 +- src/rlgl.c | 17 +++++++++-------- src/rlgl.h | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index df0ee7bc8..9bc891309 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -892,7 +892,7 @@ RLAPI void InitVrDevice(int vdDevice); // Init VR device RLAPI void CloseVrDevice(void); // Close VR device RLAPI bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready RLAPI bool IsVrSimulator(void); // Detect if VR simulator is running -RLAPI void UpdateVrTracking(void); // Update VR tracking (position and orientation) +RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) //------------------------------------------------------------------------------------ diff --git a/src/rlgl.c b/src/rlgl.c index 702edb18a..e8607925b 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -1522,7 +1522,7 @@ RenderTexture2D rlglLoadRenderTexture(int width, int height) target.texture.id = 0; target.texture.width = width; target.texture.height = height; - target.texture.format = UNCOMPRESSED_R8G8B8; + target.texture.format = UNCOMPRESSED_R8G8B8A8; target.texture.mipmaps = 1; target.depth.id = 0; @@ -1539,7 +1539,7 @@ RenderTexture2D rlglLoadRenderTexture(int width, int height) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glBindTexture(GL_TEXTURE_2D, 0); #if defined(GRAPHICS_API_OPENGL_33) @@ -2734,16 +2734,17 @@ void ToggleVrMode(void) #endif } -// Update VR tracking (position and orientation) -void UpdateVrTracking(void) +// Update VR tracking (position and orientation) and camera +void UpdateVrTracking(Camera *camera) { #if defined(RLGL_OCULUS_SUPPORT) - if (vrDeviceReady) UpdateOculusTracking(); - else -#endif + if (vrDeviceReady) { - // TODO: Use alternative inputs (mouse, keyboard) to simulate tracking data (eyes position/orientation) + UpdateOculusTracking(); + + // TODO: Update camera data (position, target, up) with tracking data } +#endif } // Begin Oculus drawing configuration diff --git a/src/rlgl.h b/src/rlgl.h index 5fc9f8b9a..3a47b4c8f 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -375,7 +375,7 @@ float *MatrixToFloat(Matrix mat); void InitVrDevice(int vrDevice); // Init VR device void CloseVrDevice(void); // Close VR device bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready -void UpdateVrTracking(void); // Update VR tracking (position and orientation) +void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) // Oculus Rift API for direct access the device (no simulator) From 648676f46b01327f0fbd6f017292a3159ea9ab2f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 10 Oct 2016 19:43:27 +0200 Subject: [PATCH 096/102] Update examples to new camera system --- examples/core_3d_camera_first_person.c | 2 +- examples/core_3d_camera_free.c | 2 +- examples/core_3d_picking.c | 8 +++----- examples/core_oculus_rift.c | 12 ++++++------ examples/core_world_screen.c | 9 +++------ examples/models_billboard.c | 11 ++++------- examples/models_cubicmap.c | 2 +- examples/models_heightmap.c | 11 +++++------ examples/shaders_custom_uniform.c | 6 ++---- examples/shaders_model_shader.c | 5 ++++- examples/shaders_postprocessing.c | 8 +++----- examples/shaders_standard_lighting.c | 6 ++---- 12 files changed, 35 insertions(+), 47 deletions(-) diff --git a/examples/core_3d_camera_first_person.c b/examples/core_3d_camera_first_person.c index 27ff51358..3998af819 100644 --- a/examples/core_3d_camera_first_person.c +++ b/examples/core_3d_camera_first_person.c @@ -47,7 +47,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update camera and player position + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/core_3d_camera_free.c b/examples/core_3d_camera_free.c index c798f2257..d446e14a3 100644 --- a/examples/core_3d_camera_free.c +++ b/examples/core_3d_camera_free.c @@ -39,7 +39,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera if (IsKeyDown('Z')) camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; //---------------------------------------------------------------------------------- diff --git a/examples/core_3d_picking.c b/examples/core_3d_picking.c index 7f904f7f1..bd5c3347d 100644 --- a/examples/core_3d_picking.c +++ b/examples/core_3d_picking.c @@ -22,7 +22,7 @@ int main() // Define the camera to look into our 3d world Camera camera; - camera.position = (Vector3){ 0.0f, 10.0f, 10.0f }; // Camera position + camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) camera.fovy = 45.0f; // Camera field-of-view Y @@ -34,9 +34,7 @@ int main() bool collision = false; - SetCameraMode(CAMERA_FREE); // Set a free camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraFovy(camera.fovy); // Set internal camera field-of-view Y + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -46,7 +44,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) { diff --git a/examples/core_oculus_rift.c b/examples/core_oculus_rift.c index 3d8bb2787..7276e3def 100644 --- a/examples/core_oculus_rift.c +++ b/examples/core_oculus_rift.c @@ -30,14 +30,14 @@ int main() // Define the camera to look into our 3d world Camera camera; - camera.position = (Vector3){ 5.0f, 5.0f, 5.0f }; // Camera position - camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point + camera.position = (Vector3){ 5.0f, 2.0f, 5.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 2.0f, 0.0f }; // Camera looking at point camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) camera.fovy = 60.0f; // Camera field-of-view Y Vector3 cubePosition = { 0.0f, 0.0f, 0.0f }; - SetCameraMode(camera, CAMERA_FIRST_PERSON); + SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set first person camera mode SetTargetFPS(90); // Set our game to run at 90 frames-per-second //-------------------------------------------------------------------------------------- @@ -47,10 +47,10 @@ int main() { // Update //---------------------------------------------------------------------------------- - if (IsVrSimulator()) UpdateCamera(&camera); - else UpdateVrTracking(); + if (IsVrSimulator()) UpdateCamera(&camera); // Update camera (simulator mode) + else UpdateVrTracking(&camera); // Update camera with device tracking data - if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); + if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); // Toggle VR mode //---------------------------------------------------------------------------------- // Draw diff --git a/examples/core_world_screen.c b/examples/core_world_screen.c index aa9505e8b..f8c53c70d 100644 --- a/examples/core_world_screen.c +++ b/examples/core_world_screen.c @@ -21,16 +21,13 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera free"); // Define the camera to look into our 3d world - Camera camera = {{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; + Camera camera = {{ 10.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; Vector3 cubePosition = { 0.0f, 0.0f, 0.0f }; Vector2 cubeScreenPosition; - SetCameraMode(CAMERA_FREE); // Set a free camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target - SetCameraFovy(camera.fovy); // Set internal camera field-of-view Y + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -40,7 +37,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera // Calculate cube screen space position (with a little offset to be in top) cubeScreenPosition = GetWorldToScreen((Vector3){cubePosition.x, cubePosition.y + 2.5f, cubePosition.z}, camera); diff --git a/examples/models_billboard.c b/examples/models_billboard.c index 654b3618d..bca9faf8c 100644 --- a/examples/models_billboard.c +++ b/examples/models_billboard.c @@ -26,20 +26,17 @@ int main() Texture2D bill = LoadTexture("resources/billboard.png"); // Our texture billboard Vector3 billPosition = { 0.0f, 2.0f, 0.0f }; // Position where draw billboard - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target - SetCameraFovy(camera.fovy); // Set internal camera field-of-view Y + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode - SetTargetFPS(60); // Set our game to run at 60 frames-per-second + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key + while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/models_cubicmap.c b/examples/models_cubicmap.c index df700d65f..0e613029e 100644 --- a/examples/models_cubicmap.c +++ b/examples/models_cubicmap.c @@ -45,7 +45,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/models_heightmap.c b/examples/models_heightmap.c index 90e5f5bb3..10069e031 100644 --- a/examples/models_heightmap.c +++ b/examples/models_heightmap.c @@ -29,20 +29,19 @@ int main() map.material.texDiffuse = texture; // Set map diffuse texture Vector3 mapPosition = { -8.0f, 0.0f, -8.0f }; // Set model position (depends on model scaling!) - UnloadImage(image); // Unload heightmap image from RAM, already uploaded to VRAM + UnloadImage(image); // Unload heightmap image from RAM, already uploaded to VRAM - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our custom camera position + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode - SetTargetFPS(60); // Set our game to run at 60 frames-per-second + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key + while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/shaders_custom_uniform.c b/examples/shaders_custom_uniform.c index c4f87259c..89f87df97 100644 --- a/examples/shaders_custom_uniform.c +++ b/examples/shaders_custom_uniform.c @@ -51,9 +51,7 @@ int main() RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight); // Setup orbital camera - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -71,7 +69,7 @@ int main() // Send new value to the shader to be used on drawing SetShaderValue(shader, swirlCenterLoc, swirlCenter, 2); - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/shaders_model_shader.c b/examples/shaders_model_shader.c index a5516eba8..26de49221 100644 --- a/examples/shaders_model_shader.c +++ b/examples/shaders_model_shader.c @@ -42,7 +42,7 @@ int main() Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position - SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode + SetCameraMode(camera, CAMERA_FREE); // Set an orbital camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -70,6 +70,9 @@ int main() End3dMode(); DrawText("(c) Dwarf 3D model by David Moreno", screenWidth - 200, screenHeight - 20, 10, GRAY); + + DrawText(FormatText("Camera position: (%.2f, %.2f, %.2f)", camera.position.x, camera.position.y, camera.position.z), 600, 20, 10, BLACK); + DrawText(FormatText("Camera target: (%.2f, %.2f, %.2f)", camera.target.x, camera.target.y, camera.target.z), 600, 40, 10, GRAY); DrawFPS(10, 10); diff --git a/examples/shaders_postprocessing.c b/examples/shaders_postprocessing.c index 43d21e082..43d1af725 100644 --- a/examples/shaders_postprocessing.c +++ b/examples/shaders_postprocessing.c @@ -45,9 +45,7 @@ int main() RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight); // Setup orbital camera - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -57,7 +55,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw @@ -67,7 +65,7 @@ int main() ClearBackground(RAYWHITE); BeginTextureMode(target); // Enable drawing to texture - + Begin3dMode(camera); DrawModel(dwarf, position, 2.0f, WHITE); // Draw 3d model with texture diff --git a/examples/shaders_standard_lighting.c b/examples/shaders_standard_lighting.c index f2b35171d..e539ec47c 100644 --- a/examples/shaders_standard_lighting.c +++ b/examples/shaders_standard_lighting.c @@ -64,9 +64,7 @@ int main() pointLight->radius = 3.0f; // Setup orbital camera - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our camera position - SetCameraTarget(camera.target); // Set internal camera target to match our camera target + SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -76,7 +74,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update internal camera and our camera + UpdateCamera(&camera); // Update camera //---------------------------------------------------------------------------------- // Draw From 97e3277d58060df96cd002b1377a51ca4adcbb9e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 11 Oct 2016 00:39:07 +0200 Subject: [PATCH 097/102] Updated standard shader Corrects weird artifacts on web --- examples/resources/shaders/glsl100/standard.fs | 17 ++++------------- examples/resources/shaders/glsl330/standard.fs | 8 ++++---- src/shader_standard.h | 10 +++++----- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/examples/resources/shaders/glsl100/standard.fs b/examples/resources/shaders/glsl100/standard.fs index 6ce2a1868..fe604e2aa 100644 --- a/examples/resources/shaders/glsl100/standard.fs +++ b/examples/resources/shaders/glsl100/standard.fs @@ -38,7 +38,6 @@ uniform Light lights[maxLights]; vec3 ComputeLightPoint(Light l, vec3 n, vec3 v, float s) { -/* vec3 surfacePos = vec3(modelMatrix*vec4(fragPosition, 1.0)); vec3 surfaceToLight = l.position - surfacePos; @@ -51,17 +50,14 @@ vec3 ComputeLightPoint(Light l, vec3 n, vec3 v, float s) if (diff > 0.0) { vec3 h = normalize(-l.direction + v); - spec = pow(dot(n, h), 3.0 + glossiness)*s; + spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s; } return (diff*l.diffuse.rgb + spec*colSpecular.rgb); -*/ - return vec3(0.5); } vec3 ComputeLightDirectional(Light l, vec3 n, vec3 v, float s) { -/* vec3 lightDir = normalize(-l.direction); // Diffuse shading @@ -72,18 +68,15 @@ vec3 ComputeLightDirectional(Light l, vec3 n, vec3 v, float s) if (diff > 0.0) { vec3 h = normalize(lightDir + v); - spec = pow(dot(n, h), 3.0 + glossiness)*s; + spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s; } // Combine results return (diff*l.intensity*l.diffuse.rgb + spec*colSpecular.rgb); -*/ - return vec3(0.5); } vec3 ComputeLightSpot(Light l, vec3 n, vec3 v, float s) { -/* vec3 surfacePos = vec3(modelMatrix*vec4(fragPosition, 1)); vec3 lightToSurface = normalize(surfacePos - l.position); vec3 lightDir = normalize(-l.direction); @@ -108,12 +101,10 @@ vec3 ComputeLightSpot(Light l, vec3 n, vec3 v, float s) if (diffAttenuation > 0.0) { vec3 h = normalize(lightDir + v); - spec = pow(dot(n, h), 3.0 + glossiness)*s; + spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s; } return (falloff*(diffAttenuation*l.diffuse.rgb + spec*colSpecular.rgb)); -*/ - return vec3(0.5); } void main() @@ -140,7 +131,7 @@ void main() // Calculate specular texture color fetching or set to maximum specular value by default float spec = 1.0; - if (useSpecular == 1) spec *= normalize(texture2D(texture2, fragTexCoord).r); + if (useSpecular == 1) spec = texture2D(texture2, fragTexCoord).r; for (int i = 0; i < maxLights; i++) { diff --git a/examples/resources/shaders/glsl330/standard.fs b/examples/resources/shaders/glsl330/standard.fs index 144978399..0d4614849 100644 --- a/examples/resources/shaders/glsl330/standard.fs +++ b/examples/resources/shaders/glsl330/standard.fs @@ -50,7 +50,7 @@ vec3 ComputeLightPoint(Light l, vec3 n, vec3 v, float s) if (diff > 0.0) { vec3 h = normalize(-l.direction + v); - spec = pow(dot(n, h), 3.0 + glossiness)*s; + spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s; } return (diff*l.diffuse.rgb + spec*colSpecular.rgb); @@ -68,7 +68,7 @@ vec3 ComputeLightDirectional(Light l, vec3 n, vec3 v, float s) if (diff > 0.0) { vec3 h = normalize(lightDir + v); - spec = pow(dot(n, h), 3.0 + glossiness)*s; + spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s; } // Combine results @@ -101,7 +101,7 @@ vec3 ComputeLightSpot(Light l, vec3 n, vec3 v, float s) if (diffAttenuation > 0.0) { vec3 h = normalize(lightDir + v); - spec = pow(dot(n, h), 3.0 + glossiness)*s; + spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s; } return (falloff*(diffAttenuation*l.diffuse.rgb + spec*colSpecular.rgb)); @@ -131,7 +131,7 @@ void main() // Calculate specular texture color fetching or set to maximum specular value by default float spec = 1.0; - if (useSpecular == 1) spec *= normalize(texture(texture2, fragTexCoord).r); + if (useSpecular == 1) spec = texture(texture2, fragTexCoord).r; for (int i = 0; i < maxLights; i++) { diff --git a/src/shader_standard.h b/src/shader_standard.h index deae7fe15..995c62eae 100644 --- a/src/shader_standard.h +++ b/src/shader_standard.h @@ -90,7 +90,7 @@ static const char fStandardShaderStr[] = " if (diff > 0.0)\n" " {\n" " vec3 h = normalize(-l.direction + v);\n" -" spec = pow(dot(n, h), 3.0 + glossiness)*s;\n" +" spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s;\n" " }\n" " return (diff*l.diffuse.rgb + spec*colSpecular.rgb);\n" "}\n" @@ -103,7 +103,7 @@ static const char fStandardShaderStr[] = " if (diff > 0.0)\n" " {\n" " vec3 h = normalize(lightDir + v);\n" -" spec = pow(dot(n, h), 3.0 + glossiness)*s;\n" +" spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s;\n" " }\n" " return (diff*l.intensity*l.diffuse.rgb + spec*colSpecular.rgb);\n" "}\n" @@ -124,7 +124,7 @@ static const char fStandardShaderStr[] = " if (diffAttenuation > 0.0)\n" " {\n" " vec3 h = normalize(lightDir + v);\n" -" spec = pow(dot(n, h), 3.0 + glossiness)*s;\n" +" spec = pow(abs(dot(n, h)), 3.0 + glossiness)*s;\n" " }\n" " return (falloff*(diffAttenuation*l.diffuse.rgb + spec*colSpecular.rgb));\n" "}\n" @@ -152,9 +152,9 @@ static const char fStandardShaderStr[] = " }\n" " float spec = 1.0;\n" #if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) -" if (useSpecular == 1) spec *= normalize(texture2D(texture2, fragTexCoord).r);\n" +" if (useSpecular == 1) spec = texture2D(texture2, fragTexCoord).r;\n" #elif defined(GRAPHICS_API_OPENGL_33) -" if (useSpecular == 1) spec *= normalize(texture(texture2, fragTexCoord).r);\n" +" if (useSpecular == 1) spec = texture(texture2, fragTexCoord).r;\n" #endif " for (int i = 0; i < maxLights; i++)\n" " {\n" From 76a67a149e07225c66275f8657a5928e03234d90 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 12 Oct 2016 10:27:14 +0200 Subject: [PATCH 098/102] Added new wave functions to lua binding --- src/raylib.h | 2 +- src/rlua.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index 9bc891309..4a807d58f 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -908,7 +908,7 @@ RLAPI Sound LoadSound(const char *fileName); // Load so RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data RLAPI Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) RLAPI void UpdateSound(Sound sound, void *data, int numSamples); // Update sound buffer with new data -RLAPI void UnloadWave(Wave wave); +RLAPI void UnloadWave(Wave wave); // Unload wave data RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI void PlaySound(Sound sound); // Play a sound RLAPI void PauseSound(Sound sound); // Pause a sound diff --git a/src/rlua.h b/src/rlua.h index 1c8c7b382..97d229221 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -2824,6 +2824,28 @@ int lua_IsAudioDeviceReady(lua_State* L) return 1; } +int lua_LoadWave(lua_State* L) +{ + const char * arg1 = LuaGetArgument_string(L, 1); + Wave result = LoadWave((char *)arg1); + LuaPush_Wave(L, result); + return 1; +} + +int lua_LoadWaveEx(lua_State* L) +{ + // TODO: Wave LoadWaveEx(float *data, int sampleCount, int sampleRate, int sampleSize, int channels); + + int arg1 = 0; + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + int arg5 = LuaGetArgument_int(L, 5); + Wave result = LoadWaveEx(arg1, arg2, arg3, arg4, arg5); + LuaPush_Wave(L, result); + return 1; +} + int lua_LoadSound(lua_State* L) { const char * arg1 = LuaGetArgument_string(L, 1); @@ -2849,6 +2871,22 @@ int lua_LoadSoundFromRES(lua_State* L) return 1; } +int lua_UpdateSound(lua_State* L) +{ + Sound arg1 = LuaGetArgument_Sound(L, 1); + const char * arg2 = LuaGetArgument_string(L, 2); + int * arg3 = LuaGetArgument_int(L, 3); + UpdateSound(arg1, arg2, arg3); + return 0; +} + +int lua_UnloadWave(lua_State* L) +{ + Wave arg1 = LuaGetArgument_Wave(L, 1); + UnloadWave(arg1); + return 0; +} + int lua_UnloadSound(lua_State* L) { Sound arg1 = LuaGetArgument_Sound(L, 1); @@ -2908,6 +2946,43 @@ int lua_SetSoundPitch(lua_State* L) return 0; } +int lua_WaveFormat(lua_State* L) +{ + Wave arg1 = LuaGetArgument_Wave(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + int arg4 = LuaGetArgument_int(L, 4); + WaveFormat(arg1, arg2, arg3, arg4); + return 0; +} + +int lua_LoadMusicStream(lua_State* L) +{ + Wave arg1 = LuaGetArgument_Wave(L, 1); + Wave result = WaveCopy(arg1); + LuaPush_Wave(L, result); + return 1; +} + +int lua_WaveCrop(lua_State* L) +{ + Wave arg1 = LuaGetArgument_Wave(L, 1); + int arg2 = LuaGetArgument_int(L, 2); + int arg3 = LuaGetArgument_int(L, 3); + WaveCrop(arg1, arg2, arg3); + return 0; +} + +int lua_GetWaveData(lua_State* L) +{ + // TODO: float *GetWaveData(Wave wave); + + Wave arg1 = LuaGetArgument_Wave(L, 1); + float result = GetWaveData(arg1); + LuaPush_float(L, result); + return 1; +} + int lua_LoadMusicStream(lua_State* L) { const char * arg1 = LuaGetArgument_string(L, 1); @@ -3799,9 +3874,13 @@ static luaL_Reg raylib_functions[] = { REG(InitAudioDevice) REG(CloseAudioDevice) REG(IsAudioDeviceReady) + REG(LoadWave) + REG(LoadWaveEx) REG(LoadSound) REG(LoadSoundFromWave) REG(LoadSoundFromRES) + REG(UpdateSound) + REG(UnloadWave) REG(UnloadSound) REG(PlaySound) REG(PauseSound) @@ -3810,6 +3889,10 @@ static luaL_Reg raylib_functions[] = { REG(IsSoundPlaying) REG(SetSoundVolume) REG(SetSoundPitch) + REG(WaveFormat) + REG(WaveCopy) + REG(WaveCrop) + REG(GetWaveData) REG(LoadMusicStream) REG(UnloadMusicStream) From b3bc4b21d17f7e434e21684ca6a2c111ea150fbb Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 14 Oct 2016 00:47:43 +0200 Subject: [PATCH 099/102] Working on better gamepad support --- src/core.c | 45 +++++++++++++++++++++++++++++++++++++++++++-- src/raylib.h | 1 + 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/core.c b/src/core.c index a35dbae05..b07179d45 100644 --- a/src/core.c +++ b/src/core.c @@ -1166,6 +1166,17 @@ bool IsGamepadAvailable(int gamepad) return result; } +// Return gamepad internal name id +const char *GetGamepadName(int gamepad) +{ +#if defined(PLATFORM_DESKTOP) + if (glfwJoystickPresent(gamepad) == 1) return glfwGetJoystickName(gamepad); + else return NULL; +#else + return NULL; +#endif +} + // Return axis movement vector for a gamepad float GetGamepadAxisMovement(int gamepad, int axis) { @@ -1192,7 +1203,11 @@ float GetGamepadAxisMovement(int gamepad, int axis) bool IsGamepadButtonPressed(int gamepad, int button) { bool pressed = false; + + if ((currentGamepadState[button] != previousGamepadState[button]) && (currentGamepadState[button] == 1)) pressed = true; + else pressed = false; + /* currentGamepadState[button] = IsGamepadButtonDown(gamepad, button); if (currentGamepadState[button] != previousGamepadState[button]) @@ -1201,6 +1216,7 @@ bool IsGamepadButtonPressed(int gamepad, int button) previousGamepadState[button] = currentGamepadState[button]; } else pressed = false; + */ return pressed; } @@ -1222,6 +1238,8 @@ bool IsGamepadButtonDown(int gamepad, int button) if ((buttons != NULL) && (buttons[button] == GLFW_PRESS)) result = true; else result = false; + + //result = currentGamepadState[button]; #endif return result; @@ -1233,14 +1251,19 @@ bool IsGamepadButtonReleased(int gamepad, int button) bool released = false; currentGamepadState[button] = IsGamepadButtonUp(gamepad, button); + + if ((currentGamepadState[button] != previousGamepadState[button]) && (currentGamepadState[button] == 0)) released = true; + else released = false; + /* if (currentGamepadState[button] != previousGamepadState[button]) { if (currentGamepadState[button]) released = true; previousGamepadState[button] = currentGamepadState[button]; } else released = false; - + */ + return released; } @@ -1984,8 +2007,26 @@ static void PollInputEvents(void) previousMouseWheelY = currentMouseWheelY; currentMouseWheelY = 0; + + // Register previous gamepad states + for (int i = 0; i < 32; i++) previousGamepadState[i] = currentGamepadState[i]; + + // Get current gamepad state (no callback) + if (glfwJoystickPresent(GAMEPAD_PLAYER1)) + { + const unsigned char *buttons; + int buttonsCount; - glfwPollEvents(); // Register keyboard/mouse events... and window events! + buttons = glfwGetJoystickButtons(GAMEPAD_PLAYER1, &buttonsCount); + + for (int i = 0; (buttons != NULL) && (buttonsCount < 32) && (i < buttonsCount); i++) + { + if (buttons[i] == GLFW_PRESS) currentGamepadState[i] = true; + else currentGamepadState[i] = false; + } + } + + glfwPollEvents(); // Register keyboard/mouse events (callbacks)... and window events! #endif #if defined(PLATFORM_ANDROID) diff --git a/src/raylib.h b/src/raylib.h index 9bc891309..0d6f4326c 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -657,6 +657,7 @@ RLAPI int GetKeyPressed(void); // Get latest key RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) RLAPI bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available +RLAPI const char *GetGamepadName(int gamepad); // Return gamepad internal name id RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed From 98d7a10c087f14b55e2dfb5f07eb6f95899ba959 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 14 Oct 2016 11:14:41 +0200 Subject: [PATCH 100/102] Improved gamepad system - Support up to 4 gamepads - Unified system between platforms - Corrected some bugs --- src/core.c | 169 ++++++++++++++++++++------------------------------- src/raylib.h | 4 +- 2 files changed, 68 insertions(+), 105 deletions(-) diff --git a/src/core.c b/src/core.c index b07179d45..78629e8f4 100644 --- a/src/core.c +++ b/src/core.c @@ -128,12 +128,12 @@ //#define DEFAULT_GAMEPAD_DEV "/dev/input/eventN" #define MOUSE_SENSITIVITY 0.8f - - #define MAX_GAMEPADS 2 // Max number of gamepads supported - #define MAX_GAMEPAD_BUTTONS 11 // Max bumber of buttons supported (per gamepad) - #define MAX_GAMEPAD_AXIS 8 // Max number of axis supported (per gamepad) #endif +#define MAX_GAMEPADS 4 // Max number of gamepads supported +#define MAX_GAMEPAD_BUTTONS 11 // Max bumber of buttons supported (per gamepad) +#define MAX_GAMEPAD_AXIS 8 // Max number of axis supported (per gamepad) + #define RL_LOAD_DEFAULT_FONT // Load default font on window initialization (module: text) //---------------------------------------------------------------------------------- @@ -174,15 +174,11 @@ static int defaultKeyboardMode; // Used to store default keyboar // Mouse input variables static int mouseStream = -1; // Mouse device file descriptor static bool mouseReady = false; // Flag to know if mouse is ready -pthread_t mouseThreadId; // Mouse reading thread id +static pthread_t mouseThreadId; // Mouse reading thread id // Gamepad input variables -static int gamepadStream[MAX_GAMEPADS] = { -1 }; // Gamepad device file descriptor (two gamepads supported) -static bool gamepadReady[MAX_GAMEPADS] = { false }; // Flag to know if gamepad is ready (two gamepads supported) -pthread_t gamepadThreadId; // Gamepad reading thread id - -int gamepadButtons[MAX_GAMEPADS][MAX_GAMEPAD_BUTTONS]; // Gamepad buttons state -float gamepadAxisValues[MAX_GAMEPADS][MAX_GAMEPAD_AXIS]; // Gamepad axis state +static int gamepadStream[MAX_GAMEPADS] = { -1 };// Gamepad device file descriptor +static pthread_t gamepadThreadId; // Gamepad reading thread id #endif #if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) @@ -207,18 +203,23 @@ static Matrix downscaleView; // Matrix to downscale view (in case static const char *windowTitle; // Window text title... static bool cursorOnScreen = false; // Tracks if cursor is inside client area -static char previousKeyState[512] = { 0 }; // Required to check if key pressed/released once -static char currentKeyState[512] = { 0 }; // Required to check if key pressed/released once +// Register keyboard states +static char previousKeyState[512] = { 0 }; // Registers previous frame key state +static char currentKeyState[512] = { 0 }; // Registers current frame key state -static char previousGamepadState[32] = {0}; // Required to check if gamepad btn pressed/released once -static char currentGamepadState[32] = {0}; // Required to check if gamepad btn pressed/released once +// Register mouse states +static char previousMouseState[3] = { 0 }; // Registers previous mouse button state +static char currentMouseState[3] = { 0 }; // Registers current mouse button state +static int previousMouseWheelY = 0; // Registers previous mouse wheel variation +static int currentMouseWheelY = 0; // Registers current mouse wheel variation -static char previousMouseState[3] = { 0 }; // Required to check if mouse btn pressed/released once -static char currentMouseState[3] = { 0 }; // Required to check if mouse btn pressed/released once - -static int previousMouseWheelY = 0; // Required to track mouse wheel variation -static int currentMouseWheelY = 0; // Required to track mouse wheel variation +// Register gamepads states +static bool gamepadReady[MAX_GAMEPADS] = { false }; // Flag to know if gamepad is ready +static float gamepadAxisState[MAX_GAMEPADS][MAX_GAMEPAD_AXIS]; // Gamepad axis state +static char previousGamepadState[MAX_GAMEPADS][MAX_GAMEPAD_BUTTONS] = { 0 }; +static char currentGamepadState[MAX_GAMEPADS][MAX_GAMEPAD_BUTTONS] = { 0 }; +// Keyboard configuration static int exitKey = KEY_ESCAPE; // Default exit key (ESC) static int lastKeyPressed = -1; // Register last key pressed @@ -1157,11 +1158,7 @@ bool IsGamepadAvailable(int gamepad) { bool result = false; -#if defined(PLATFORM_RPI) if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad]) result = true; -#else - if (glfwJoystickPresent(gamepad) == 1) result = true; -#endif return result; } @@ -1182,19 +1179,10 @@ float GetGamepadAxisMovement(int gamepad, int axis) { float value = 0; -#if defined(PLATFORM_RPI) if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad]) { - if (axis < MAX_GAMEPAD_AXIS) value = gamepadAxisValues[gamepad][axis]; + if (axis < MAX_GAMEPAD_AXIS) value = gamepadAxisState[gamepad][axis]; } -#else - const float *axes; - int axisCount = 0; - - axes = glfwGetJoystickAxes(gamepad, &axisCount); - - if (axis < axisCount) value = axes[axis]; -#endif return value; } @@ -1204,19 +1192,9 @@ bool IsGamepadButtonPressed(int gamepad, int button) { bool pressed = false; - if ((currentGamepadState[button] != previousGamepadState[button]) && (currentGamepadState[button] == 1)) pressed = true; - else pressed = false; - - /* - currentGamepadState[button] = IsGamepadButtonDown(gamepad, button); - - if (currentGamepadState[button] != previousGamepadState[button]) - { - if (currentGamepadState[button]) pressed = true; - previousGamepadState[button] = currentGamepadState[button]; - } - else pressed = false; - */ + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + (currentGamepadState[gamepad][button] != previousGamepadState[gamepad][button]) && + (currentGamepadState[gamepad][button] == 1)) pressed = true; return pressed; } @@ -1226,21 +1204,8 @@ bool IsGamepadButtonDown(int gamepad, int button) { bool result = false; -#if defined(PLATFORM_RPI) - // Get gamepad buttons information - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (gamepadButtons[gamepad][button] == 1)) result = true; - else result = false; -#else - const unsigned char *buttons; - int buttonsCount; - - buttons = glfwGetJoystickButtons(gamepad, &buttonsCount); - - if ((buttons != NULL) && (buttons[button] == GLFW_PRESS)) result = true; - else result = false; - - //result = currentGamepadState[button]; -#endif + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + (currentGamepadState[gamepad][button] == 1)) result = true; return result; } @@ -1249,21 +1214,11 @@ bool IsGamepadButtonDown(int gamepad, int button) bool IsGamepadButtonReleased(int gamepad, int button) { bool released = false; - - currentGamepadState[button] = IsGamepadButtonUp(gamepad, button); - if ((currentGamepadState[button] != previousGamepadState[button]) && (currentGamepadState[button] == 0)) released = true; - else released = false; + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + (currentGamepadState[gamepad][button] != previousGamepadState[gamepad][button]) && + (currentGamepadState[gamepad][button] == 0)) released = true; - /* - if (currentGamepadState[button] != previousGamepadState[button]) - { - if (currentGamepadState[button]) released = true; - previousGamepadState[button] = currentGamepadState[button]; - } - else released = false; - */ - return released; } @@ -1272,19 +1227,8 @@ bool IsGamepadButtonUp(int gamepad, int button) { bool result = false; -#if defined(PLATFORM_RPI) - // Get gamepad buttons information - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (gamepadButtons[gamepad][button] == 0)) result = true; - else result = false; -#else - const unsigned char *buttons; - int buttonsCount; - - buttons = glfwGetJoystickButtons(gamepad, &buttonsCount); - - if ((buttons != NULL) && (buttons[button] == GLFW_RELEASE)) result = true; - else result = false; -#endif + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + (currentGamepadState[gamepad][button] == 0)) result = true; return result; } @@ -2008,22 +1952,41 @@ static void PollInputEvents(void) previousMouseWheelY = currentMouseWheelY; currentMouseWheelY = 0; - // Register previous gamepad states - for (int i = 0; i < 32; i++) previousGamepadState[i] = currentGamepadState[i]; - - // Get current gamepad state (no callback) - if (glfwJoystickPresent(GAMEPAD_PLAYER1)) + // Register gamepads buttons events + for (int i = 0; i < MAX_GAMEPADS; i++) { - const unsigned char *buttons; - int buttonsCount; - - buttons = glfwGetJoystickButtons(GAMEPAD_PLAYER1, &buttonsCount); - - for (int i = 0; (buttons != NULL) && (buttonsCount < 32) && (i < buttonsCount); i++) + if (glfwJoystickPresent(i)) // Check if gamepad is available { - if (buttons[i] == GLFW_PRESS) currentGamepadState[i] = true; - else currentGamepadState[i] = false; + gamepadReady[i] = true; + + // Register previous gamepad states + for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) previousGamepadState[i][k] = currentGamepadState[i][k]; + + // Get current gamepad state + // NOTE: There is no callback available, so we get it manually + const unsigned char *buttons; + int buttonsCount; + + buttons = glfwGetJoystickButtons(i, &buttonsCount); + + for (int k = 0; (buttons != NULL) && (k < buttonsCount) && (buttonsCount < MAX_GAMEPAD_BUTTONS); k++) + { + if (buttons[i] == GLFW_PRESS) currentGamepadState[i][k] = 1; + else currentGamepadState[i][k] = 0; + } + + // Get current axis state + const float *axes; + int axisCount = 0; + + axes = glfwGetJoystickAxes(i, &axisCount); + + for (int k = 0; (axes != NULL) && (k < axisCount) && (k < MAX_GAMEPAD_AXIS); k++) + { + gamepadAxisState[i][k] = axes[k]; + } } + else gamepadReady[i] = false; } glfwPollEvents(); // Register keyboard/mouse events (callbacks)... and window events! @@ -2854,7 +2817,7 @@ static void *GamepadThread(void *arg) if (gamepadEvent.number < MAX_GAMEPAD_BUTTONS) { // 1 - button pressed, 0 - button released - gamepadButtons[i][gamepadEvent.number] = (int)gamepadEvent.value; + currentGamepadState[i][gamepadEvent.number] = (int)gamepadEvent.value; } } else if (gamepadEvent.type == JS_EVENT_AXIS) @@ -2864,7 +2827,7 @@ static void *GamepadThread(void *arg) if (gamepadEvent.number < MAX_GAMEPAD_AXIS) { // NOTE: Scaling of gamepadEvent.value to get values between -1..1 - gamepadAxisValues[i][gamepadEvent.number] = (float)gamepadEvent.value/32768; + gamepadAxisState[i][gamepadEvent.number] = (float)gamepadEvent.value/32768; } } } diff --git a/src/raylib.h b/src/raylib.h index 9ca77d696..5834d1c93 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -185,8 +185,8 @@ // Gamepad Number #define GAMEPAD_PLAYER1 0 #define GAMEPAD_PLAYER2 1 -#define GAMEPAD_PLAYER3 2 // Not supported -#define GAMEPAD_PLAYER4 3 // Not supported +#define GAMEPAD_PLAYER3 2 +#define GAMEPAD_PLAYER4 3 // Gamepad Buttons From 9e285d8dc33a5a18eeb154c69b04de1c1358678d Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 15 Oct 2016 13:17:57 +0200 Subject: [PATCH 101/102] Updated gamepad system with extra check Avoid out-of-bounds situation with button array --- src/core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core.c b/src/core.c index 78629e8f4..3bd85fdd9 100644 --- a/src/core.c +++ b/src/core.c @@ -1179,9 +1179,9 @@ float GetGamepadAxisMovement(int gamepad, int axis) { float value = 0; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad]) + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (axis < MAX_GAMEPAD_AXIS)) { - if (axis < MAX_GAMEPAD_AXIS) value = gamepadAxisState[gamepad][axis]; + value = gamepadAxisState[gamepad][axis]; } return value; @@ -1192,7 +1192,7 @@ bool IsGamepadButtonPressed(int gamepad, int button) { bool pressed = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] != previousGamepadState[gamepad][button]) && (currentGamepadState[gamepad][button] == 1)) pressed = true; @@ -1204,7 +1204,7 @@ bool IsGamepadButtonDown(int gamepad, int button) { bool result = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] == 1)) result = true; return result; @@ -1215,7 +1215,7 @@ bool IsGamepadButtonReleased(int gamepad, int button) { bool released = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] != previousGamepadState[gamepad][button]) && (currentGamepadState[gamepad][button] == 0)) released = true; @@ -1227,7 +1227,7 @@ bool IsGamepadButtonUp(int gamepad, int button) { bool result = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] == 0)) result = true; return result; From 1c05017548ea21dd1a44c31e9fc80b8700891f11 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 15 Oct 2016 13:51:33 +0200 Subject: [PATCH 102/102] Added OpenAL static library --- src/external/openal_soft/include/AL/alext.h | 5 +++++ .../openal_soft/lib/win32/libOpenAL32.a | Bin 0 -> 2226842 bytes 2 files changed, 5 insertions(+) create mode 100644 src/external/openal_soft/lib/win32/libOpenAL32.a diff --git a/src/external/openal_soft/include/AL/alext.h b/src/external/openal_soft/include/AL/alext.h index 6af581aad..0090c8041 100644 --- a/src/external/openal_soft/include/AL/alext.h +++ b/src/external/openal_soft/include/AL/alext.h @@ -431,6 +431,11 @@ ALC_API ALCboolean ALC_APIENTRY alcResetDeviceSOFT(ALCdevice *device, const ALCi #endif #endif +#ifndef AL_SOFT_gain_clamp_ex +#define AL_SOFT_gain_clamp_ex 1 +#define AL_GAIN_LIMIT_SOFT 0x200E +#endif + #ifdef __cplusplus } #endif diff --git a/src/external/openal_soft/lib/win32/libOpenAL32.a b/src/external/openal_soft/lib/win32/libOpenAL32.a new file mode 100644 index 0000000000000000000000000000000000000000..3c0df3c741998cf54389d9e1db05382a2fc97609 GIT binary patch literal 2226842 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�HTXOc^d_3TIitWnJN7A#kxc_$Xqs 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%0Awr0=hZ`v-}95h8_-+X|@@=)pLZWon| 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 z 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ξwgAoojio|N*$)@H2WLHk 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

      6bQZF7yR$&O$Ozh|;9l@ruK5=u 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 z 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%0A~}V2DDM zWnhpJfQB2$lQu?=%$IVg?4OdZ;WrHv_{uxGaOzKBzcI*J-%8GfCFUXT6^`I?%{H!1nRC+UWfD$M(2Pg+KbAU=8W)4sS=K32(Jqq#hsADQ1-+%%LNsSWvmpj- zmrgO+Gl8rED`8-$1^1TajX_OzTDFpNGmDd{+(-`C21)&P(EhTHF>M>kBsYw4_m|y4 zE42t#*(?%F3=E)p8g#A#E3BRdaiINW&|Y^Ar2aC9kLWLhc<}x*hy(2}gN|_k^_M|= z<=Ar>85lryGlw-e6gfdwGTmYX$#G#U9|Re~>U`rv&2Tkp`j|?Lg82+o7oj?i!Fw z>_9GA`<{V;--m(G0c0lM2ax3qj1C}|7=B=25Ckns1oIdp`12ST9YLnmd|+S@l4fFH zXn`6FpE&juHe+I7c>95YK?Ge+)B$ud+((E5^uQU=(}czuFe4=%RQgak3r>Lgx&`7F zh7W^23lbisV$LW5g%ks$3gZRPIUX4dj4EJ8F^rK3TDqtLIvj~LlYvnU%*cW=7}z-C zK;uyGeI{rnKchB!m@&>_W@cdEmz#zc25_G}}Gao|+ z_(r|?T%fa2xtJTaXF>Sf8_+cK>}6zNu=vQpzysRK8Us#lU|X(073#oj(ci(uz`zT# zg%@NAFUVwWbX9yH0)-DJ+@}oMte`C`CZ@E`G2o$QDrXo4Xn<`3jm$AH zFoc>6kvfaX6x5MpVPUe)0c~x94hKL62Uwvz*x&$+kJ#q`6G7~AfQf+jIUsSsT^Lrl z0DPYVOa#8q0VV+6=K$lt_BkN)LHit#`JiRg1~38SeGV`&!ytnL zOpw6=cJSZ;6J&6J9XvR|1Q{G)hYt=gK?VodF$M>iAcF(!py4ji-~bbJaDW+P9aA_c zhzS=|92}s|6(_hy?-LK60%KrQV)O*z3jQSuur+s2z z;7?{?Gz6RenSp^n1IoD!;((4|1u66U0;*sQ85j*gyh&d{yi_R9>Kg+Ce=!525vVbK z0>puLnT{0Z{Ss2AcW6_cMVO zmV32#lRp4Ite8c!~h*T-17^xnF39Rust&a!>eDQ(hh85%}z-9=MEA9 znOJ%QW+LxzsEN)X2FS#;-wX^w=sLhA9{CN@FQU2|Vj5`c2m=QP$nP8+pp+*X%gDg+ zmxX~rj6ob6TcFMasBC1`WctJcK0Y6MRvV<)1l3>Qeg?BO6N8;7sJJXJqj7Obg9iQs zXn2@#gMx>FVWug8?R}t@A8oexfv%Wl;V=L-+bQ0}&dR|S?jPjBz*-GzIk34vI5nX8 z8TdYQ7LMJZRs<6x8))n(HANvgBe95qiHQ|*1Q__3uTURw zHb!&Mc&~?}pNo$x1A7f4sG{bG_wfu4iFfr235sM8V0UJ+1T`$&ax(L>8Q5LGJO)lD z2-g+NWtLI0K6ElT(X}ee#pDi+wVSOBmRjW$Zy4-8o(J zN{T9-^Gowe7}#56=7SC_<8;o?D@n}*nE;h&1xu)Ky5%IM7c;Q8fw>ykUE`6Np25K0 z4t9|aXK+DcQ7SmX*gL>NdJNe8&7i?P3+z}Gz$mlQZ#043K`fJf@6;jJ$4y5 zdi6j%03q|hoTi{O%)(K|!oa`{$}uQg>6j%Mmw-->N?~A@1fSl`>jPqe#2EOJSr{0$ zuz)r@gSXNND1v&v%vTu&Ss55O!98E*YhVroXEp=#bw*H5IjfkJfk8MVu_zt1aqbB-m>ZUuQwmqXz`{|<%D^B3QY{LaB#Z}{ z#K7pmxQUg4K`f7f(F5duaS719<&6FyW#W>V42*#wQ3eJEgr0cNp7A`;Fs>crW02#) zIvn6SoFF(U7mOg5G-&jI`4w1-frSI4QMQhifdN+XgBJXP%6`T<$3UC#Ca^LvJpawWAkV9BU|7J;z@R*fm4QLU7_=@NsscKl%E0Ka3on>={!iJ53VLuBagNYkx zLtubLAXFL1E>NHuGBB9N$Af|i5=O4z@~Hr-3glIgd5m*}co-PW5*ZjF^4zS93}#6% zUJWZFgLyIoqdQpd4G=FIR8oU<^RY29n3pHQxUOJs5{z37<|f0q8$sL(21ZYC!N$+d z$Y5TP2;)XTxT!FHADEv6<8Fj-;nG*Y{A8H)cL>)2#!us5WH7H}VDti)w4ERxG|GG! zL2s&k z8bRR;O_~gbpP&H>O3c%Fq1k}}oE;b#j98&sK-s}i9?Aig2fHCk84Vc>!=b{UV(0@{ zI8dsX!C1;r22x8HsW3Z0Lr!T5ixOi5qXC0qB~%m0T0TCAwWTm?HKs#lK{i2M$_Gm9 zpm^X1HHDZMxIyu5iZVaN_!b%KVTd0+Daxg(Q);;Anox%gA7!$-wv? z%*)|pWH8S*gmF)SxOp%h13x2!c^+J{2E+v=t`A^qkAt`s42&PadCN=yl(!6F+$msg zDvT>8$jD$`1>%8P6F!2B3`TxXSA!x);~A6#3U(#NAf{3Va47;?Q_CpJ1PTpg@$f~#jFw>g8=&qpgGat^1P%@<2}TC9R0hULOrDGk z3_%i54^IJmm`#$A!J+~bl@LB-lyo@*;}j-P+5#295Y~K2NScH2yrn=1oq=&GIDDHx zyc7n;X-w5D3=EH?7#XZVD;8217!Nb4ABDKz2GrKR4|ONJjk0o&$T~D~Okp%D{L5%ng!*_z%MC0P!jq7%zgu>k5ch z3F3i5h)*68E*HV!6)w-nU<>Lcm>z?8y8+Z-`o^>mv_EeW8w0}^c}4~ukf7QeHUKu>LE;Q*OrQD9okz_=P*3Ue|aSOd`pwj@~u>NOSy z2h=SsjE>CBV6z$+A?mqsnr6T>iGei1H?%OiGH-?GfYxT*9U=^170BCO7@e4J zgH<^oo9mcZl3I~j!oU>*u4aCUFfceJGBGePIOc-)#V~Mf2M>XPn$=FABOn=^L7~UM zwT%(fPIUqek1@DFS3ZL{U=gRSj0_A;pfF@$_z#|NdSOZ95!7ND452CaC6m^sda??eF2jZ?l}0(yu%vuQAB;FaKd31*IUpp69}7qFon;&cZznhHL|sSU&e zAL0ZOW8kP{WMBZDnZyZNlflTqWeys7V!F!c30md=&KXSCz#Qn>NRZEv*G7W)h_#U* z9(-*ih$8}78|lvkSsMwm32bFNX#5pqB?AKw$V#SLj37B)#I7PnrC??T23Q1wX9z%T z;W;2tzG4POr4@_}44#UN419T@i4gGeiH{I2bTLJx5+eg&r6mKS63CNpl^7ZLQy?b^ zfE6=MR1ipFU{nDa*sjdTAdm@NL2&`Z$%b-lR2UfqDi|2mK*tTXgE*B?PQEH5gJ2#s zfz4rMU=Ugj3xz>9D0?u71R=?SWJ(yo zGCmBTi|i45#TY|D#yx;4c7{8@2{ft+nm7vuu^5B+N*EYJwHX;0W~wtX2qZHwhJ*B- z2XRuM9BmCo27zJ*#t2XhCu)F3^Ep6FG0f+LMsVw9cY$_FPVWc6~tJh z0ZJVVjHw_izG^Ts@Fy`arh>weF+wysm4PuGq>3>b6u)4mvnD9AVG@0sV5>oihZkif z8e<(uYys4A(5?@V{fu)!i2xKkbs#IQYBGY?_0)kZkJVyi5XfU-YyfdCfH~k12rxfh z8)Pd3VI<$VRM#urB!bz;(H0$B}8e-a>@K+|QQ z@d4N{3X=<19u(0MAcbH>U;=d75UkKE$Ez{1SHR07%w5Ec^e>KhOe z$-uxG7836l>f^(}2x55}F))E?69#4w9c0450;Vk(SV6RNBm*0Wc5w`GWnc%foPtAw z7&t&I7ti1T#}H=^22K#qH7LkGh=B{lbn^H2Vc-U_!W@G<9sNQWctD&`KW{((a6blK z5XZ&U+0)n2hk*~o@ib%*0MVhIh75ubh7p4hgki!U3}Sd%Fo=NYP)`d6Q4qt^FN8r1 z#0Ukk#6heue@_<%2@uO8$Tc|BCxk%~!~xAIN`V-`j&81wK|zj@4ALO3GlVSzVuuF1 z2D!MpdHT7!Fvx-gd;&oJl!GwCL2P*tJIK`;G});FVte|9fafb!K^%}Pz&te&&&|`v zHN?}`mEiz5yq$dfofr;+nZY4Ju8zJ8hoBt)AV+sshQm-ENXpeE-rvc~)j5RW2vpQR z2qAV9ECw1#__(?|`Y`Fq|!771D1&2EDQ`B@u17PSR#!;S(zg~8FVF7 z6sS_>;D}F3EKX%$i3UjtaKxwOB&IX4#DL@^IO5YXb5a>tVnI9^j(E^KGRRPtIFNt> zM|@IgT5)C-14}%Jufh>ul3S3LmzbN%z>)wmPJ@9H6g3PiNuXT89uGO67&IBH!CD>1 z%D});QdyA7z*+;+&cFfI$yy7R;7BY=H)LR~15M%xfH+1Bto0y{1V>S7Nm*hJ18W0_ ztH8j_0h*%V0u>mXX`#ibMZSq88LmY|42;~MO(o16&7h4cAR8uu_LhJM24?UsY~Fb2 zdCsV}<+3)z3O+|r%>-^ofKHI%E2#usJqj{OLKjpwf;`H|2XbyIh@WW4z{m%3(>yTG z2+F&q%gDfARGd@7z{n4h1+|<&hbRhyHi9!vbPzlPEoOxngP0~dKw1WwdFkb#1MEtR zQ$ZJCWuz7rF|f8ifU4wyyQ_%}w3dc}Q4Zu)F+D~G;Wtn2yk@(!i5{Myh zLGJ$mRRo%~0-41)N1C01fv*4(K@5zlpiuJHV`LBoM-Zbr$dj}67#YMo&qC^i2zCYr z@nR^a0BlzvC-V*_NS{rJF@mX>L5LA_P>c}dPVX~}LQLfvEMFzS31DyuR7LvsdTFMVf>{4lvYuy;w zDj7k(93n8g^F zIjp#?Sv`dr7+CljxVb?LR$)eF4sLFcIHNEF0~;?~kp(vc13O3=0|N(G5i3j)CohAi zumvjv0~eBNP*#E305+IMlu=#MQy63@FDnDcDn3R=2%le(!BbeDn}I<#%XgihKhr%(Lq?lz@RJ3Xeb=S z7%CpY9SQcE9xH>PFvxm+5QBlifSVEINRUQDs86{)!3vBzn;02D?qgsuhPVi%$OL2! z1A{5ZT#!bXxn@WLtPBk15Mvn_EKH#GSweisz+lA%2~ci9Mg|6JY#xM$mkq?$sZNrR zFtSDBGced8xmJRK!5+c2mjuO-gDGgFMv;Mm!AT7qG0w;;m?Rh&T;O)Ig5t^s97(Ql zL2!se1l{0*tm={wA$PbCH%!Pw50)mtLJSO^2sIE*UJ?up4Bp7fJcU7S1s(T@FJD9Q zC<}7tV+DzU@*Eo|V}Tg#AO-^i2R!kEha z17&$g(IO5hY9x@AfWlA`ZZuNFNg)eD;y@Zz2vmcUQ>a1$n++bQ;J{{w1vVlQz=6$) z9CKXA4uFIJG)HqI`~>ne4-!|Lfq@qiKH%)Yz`%zTy!@CZLbDJkMi>Mcp?U;i#j_A7 zTL>eJhvXO$xG~_!0R^fkB(RawCwiTO8Uie^5MYIigF^rmP)KDkJ8~J!f$R{F$2lP- zDHkk>bAz%nvKv65hVBlSVis^s2Cwc|5!DK)?f}((pu(TkQy9dhr1pcxDY&xb6-KJ4 z_{3q=64>kfpn8jeK>*XbL_YgRZi9yZbhWJ1nT1A58BoJ~8 z3@8}_6k-k%&~zq+2yjqMAdSS8U|^7eq%%-qFN>7O1fRz#tBi0;!Qebs@wcXwH^IDx)PB7?7h>f`I`kN+Dq{1Bnw^GQM1B|6i^w0)R1Mz6FMBI zp~H#nZBPk=)gj29V+J{enFCa>vLG7RtWYK3JkJJF0#X1gL_mv-I8l=v7iyB@h6NE1 zEQola*%zEZ`4FlZ82C{`K>!vCf^c!L9wE4e;J^}w8UZaGM4;soSPoQ>AeF&l$YroN zG4O%t_RnM(135rN~(?JHR4O%$Jf*L$>P~9Lg2?hpv zME(Gk9q=ZwB2r-kD?$*qKwPDQFrI+{)Sd=)cfdt}8b(%Ahh;SlaDI|tV9*3J#2Fa0 zK#f&ss~8-L;KnlpgASyOo9rY3%8^^>T3Eo^)2yDt zpfqO$4F(WboPog@n7guY+u{ftvy?jBOESAWX1>2!aGmpbcNFSqG6taP&c8B{Lhu zN$l`c3l4q`XsU&l%$&TCo(+@>ZU-Qyjxt>`Ck7QBn6gfn?2UQI6h%^D>g1V@nMhz%~i8C-LLQ*KC8LotstCS%U zpy*dYWI|PlC@5{KA(<<|z@QG1f%izKLOPzB2vv~EMGMs_#vQa%FN;(Nf|I8lq-!q^aw%fm1C*#F7#I}cafDQeC?N}CZ95=B z29i{m5hVq3K>}_F5UCcFPr&LCMqw5@=*a;V;q0&ifdf_`5U8yb=mM=IGtjU`4w1_3rfMj=Mf z7_TaaFe_op;bwz#CX(4KNM?&OFt8#53>1FI`46NCJx{@n1*cVz3TR+Z$yh?JMRL3Z z0|OhGjz_fxl-AIl4=WxS7}$`KCtB|Ul)gA1Nr_Onfzkq~Tfl}~oWfv(MPLpuqK5JmhA8HPDh6ADT4CXcXi!)Q zB6NY0j1Y4E1j!@1vyi+l3M+ZUKq^6L1~xt{4ypDS7$iU{L3&}G3Qz@uD62rl1iZ## zV30wI5?NSGfpmk4B%~5b9y#Me8W#%4{sP6HB60Bt*9H!1kRQP59%L!4lMZriNRfq@@X=z|i804$~j zVTl3K_K{#<5QgOqLU{<)vq(V!sn?-(5d#CFTm?rK#Ivv>73@FQ7zCKZi5fO2amxh_ zB4~1iWiAj`f`I{+y+B;hSS+gF`CxwMhxuIqwy+@qk*lfby6aG( z3KIqfDUdkG$*|H!8YB)fO$Ou|1_sok1F1|w9*jVB6r}k8Ei(|)eP9QJN)u&dsr=rT)Q@7@+f;U{`~}7G4VCP7VwV0!R@i&cGlDiWuYw69UBtC@lzs zVhG&Cg-l0^g7}~q!&7rWTC<=ULK0RLFfd3V#ilf7Er8O=2F05!akaoujsx^SN6wO= z;^0mOB+#K9P)OGhy%P%UCPF)*pioEagF@1`BqThgFoPbYzX1w*Lg^l!Q^45=CC$;g z<{h%p4a!SMnU16^2TCWPP==M7h#3e(PLn|7G)bhKMoe_eKvD*wSceBaYNe0VVusB2 zz$<-rNSl}gHMv0QeqtIrn5hfTgg2<6gDBG&82CYfhFqcvz)CbhPzlDs0B-CsFbE@p z5T47>26`}aj5yp&&@nR!;(`!gyAj$A1y`qt<`QP94r?_*TR0q$+8b0NBh8+GDq${! z&$wZ6$Ajq?LeWllBsay$nlxX_x=piqF0onmzga_S># zP7RNHktg@W85lSr?u8C=aUnUG8{%ZdL@zk!gPaUquZGphXu~?-t~|0gSXm%*{on>D z8*JnsF{1$%hs|g}`}?qNJZ$ul8#elga2sY40nJ52`*@&I9w~)_k_dV$96D10wp|d> zcVu9IF1`U(;KE3OgIMhWwi!~HBi4Ih8-=1o4DY%{cq&CM6p$(a&{7TB51EkH;6<+w zhDu|Lx?v8_uHY;Nsf%GfYH-&Zwzdh(Av4v3R-2&*H`eMGlwE{DDv?_^B9Jnbfk6~e zqKc7Tq9P|zq=5-g5=EVXf(HpWe?fwT9Z}4KHvB+W%W}d>11^j)er|Bz88QH2C@jOx zz`%=YF35-Ao*4rJ?tU4lyg=`!!$JexUI7Idp~4Va27)6HvGxNzAp)N;LmHL>1qf(h z3R;4J7bYSW;UbnLLMKX~1tqM=MqNUMG{wunfMt=fFl;mxJlO{;{h*V5LeTM4u)~F+ zBcn*kR0LZ6f#qQ<55XKU@ zsKHva>KMrpv6KSY5s;uk%mRZ07sX}TP?tg1KIkBEB^VfVp$-MfN-!|!A#ueS81$jD zKpQd)V3t8&ILjz+ekn2?Sj_0a{THTOe$YS=u-t zCoxcy4it}$a6zc8gy(>unG>8WK`S63>wLgIhSj6c?0{Id1Z#{Srb3Z(3S!CuGoc|5 zj*4Rrjv~reKIHVwkCdJT(7g!qw;-gqBLtB{4p{KOF$04LC}0tThtQQP3}noifg%dr zvO_JuU||IGd| zT5ypM3Nz5`F-Re_+a?UnSs<(kSGHKe0q*hU5_Z;A)Z3&t)k2$GcX{E6G*OwtY!jP2T!6LptJ=N0XYklW;sD= z3)Gh30x>{!6F00i!UHR~c|lU(CAgrD3wYE8W(0VY*$}*@4$C@fM36vMoDlLVO38`b zwL`2sMJ*$cCTl@$9K>28NMXT+9(J$<0WO4>ICUeMgrKq&GGqrWm>3w?K?OHtj~S?~2(FhvtNcI; zp!E_LWE_Sn4M60=6>S5SyIINfiyIcgatV5 zU_jYu0?9M5Rvy?68K~h%1%)g|>q-uk=0Pn&c~C0`lv5NyBJdS`3=Al%`9N8Pfk6d5 zDX7Bok{U<>$T;XaKIpPmK7@$n419Ale1KQFVQ0jtbZ9PN~ zfh+c4dWRNAuAt3FrR-hHgk20(b4A#h%pbfGz1_oOY7wUXgP;8)YIRjVbpj*A5 zWezwaf$YO*z=3o-L0UJ?$ex1KZP1Nqum%s|iVT#)z^xbL!iyDB{(#0wkXOk=hl0SV zkOP+g5j{@)?H1&WL`rD|jT}%qkN_9g;93&I1x*Sf+K2G5DNq2Rj84H)3b@jO>y}_( zK=mx-xs;NsxKL0|w7Ii|QEF~tp9dALP%{i(1Zjdd@C5*=pTw*us$#}x@YU|?d%XJlYtWc=SkFk$KtCllDKjw-tfI8I zNWa3uEZ)ontQ%~Ov5|geUUE)pN~(TAaY}YP=z1csVoHr;z~)$}RSXQtMI|XYIeN(q zj0_B!c_l@edAgao1vz>d3``6R<(YYTC3+bQ%nS^W0~#Rg+|0c4%)FG;Gzb@TY(+_N z3WSrKp9|tA7Gy&B<)Cv5iXrSw&~fZ}i6FyS7#NC6QgSkrATkAzn*bmj1_n+h27v_d zg-FbHjM4M0ZTDE6GSn?gj-I?*H{IYm3lsBl_IWIf%r`6a!0a>@M&|Cy2o@&huWX-K z7@0dOn_@VWn1$v=GViYENMk<2V8gtp9wa}PMURD%`C0WR7AEEe>|QL4%&#l-m@7&q zPi0|Zp2}Xr!pQu%qA84-M~_2g$;P&4rGYb>* zJFrz#DnU+o!v=D~j7pnGW;YHY7AEF}>>zi%srYmygSl!RGuIOieP;Vl3rn?H^%uoF!E$#Wng3kHI$ebE`kbJx~5V5i7K%qKM!=8A0%0!BneQe zf+Yziq(s03PJXFHkmLbA=Z=#}AP#cI1+yY!gySBMD1-UCizB0sMMZ_#MTVDxkS%j* z8Z-B<7v7)2!SR~`lx0B&YtuK&GBBhkC+8++<`MQWJR_m`9+c`I!2B!1==)56rEg*E zxAcXUhM*K<%)rFLJPAaE#g?WrSDXL|vgxrg^K(oP{<2VjiHU)c@if@`N3o>_+7%_B zau0tIgIpvqGBCi41V#piyu^~?lEk7Cy<|{%gH%9(Qh+Gvyg-I6*t~OF8t6a_!fZmU7fH3vxuvb3R%6+1fUPS%Armk(sN6xm>SuK6B-~nzd`w zPjc8YXGN@K5@29td<%}}4FeD`B{{{#r3H{wj+~P5g$k?|0iEW_z{%8*2o01zM#cbU z$q5`fQOry0*JSU`h+^i8V6M1Uy0=+tI&<+ZX0dC`;*3np42+ESU=Lf8;$ep5%)HE! z)QVJyV;S~=jaWd65mZV{;Oad-BQ>WWwWt{48hk|}s30&%f`*YWBct6JMmr`(21Z74 zaC?Lq)c&AvSnaS?Ku>pIG%EJFu!2n@M7Lpe~tMR zLkaV?`UxCS%^a5JnyqcKV?sC-n-`?mS^03><5dobriTsD!zkV;A!Uh9}Hh898=wNHB}cW6tC7S`f*6tBxa$c^Tt1+qulQ>UQNZ zi>0M=G&6He@MRX|NMq*N<-@GVVZ)p>&ykr^kGb5-oSDytxx&VUS%KrkZe~9Y1?J~< zPxe)VvOkBx7miNmj|@yIj2w=(D|~H1%>})A(HYFrpKO`aIp$?Bi*X3qGFNiUD{f{k zj)-O!*k#MSw~k|8QK=_$JL4`UP{Z^txTFN#=t%E+FS)2BJ|i(NB_|bh=pkxRNo)a; zT2ur!A~P=?(r#p8V8EL~GSeZ=1Zau!Asw1q9x^ccGntF+UOKsy*WY$FZ5oKy3HYXy(HVyO`J2H!+`Q;856Y7skAyejc+CN80X;XES%_ zMlH5qiP0RvKG0al)m@_%_PM1Y7b93l17ke=aM4VzSebN%oT>8Y_o>^<2 zH*@ALX5D$r!Sk3E=B+QD&s^TbEIf}nKZ03s9&=szNDnB$zo%I6B13CVGC`UGI^gf3C!tIb;p9ZV7X+9Onb{D+~0IiEw%x7?GXEhCD#%F82!SwN5D z2lKzWH0CzO66RlZddwY+B^>hU9BRy;>e85}GL|sEuG3?l%~--*$>HT=Yi%1D)y!N~ z!p!@G`CeTU^J+#=vyAy(ogVXX#uDaajuXBax#j5+eMqf#?Bmo#FCPelM1?| z58^mTCWnj&fO>d{<}xTH6u_L#&nUvg25-)R?smb*FAQlp`T0d@dY}Mf0BLT3X%=Mk zwY81(_VxxhhL(bT-cGE~L8mTKXLN>vAu&0>I1TFW#F7j|ieCV8Dj%aCGbcw06F)rW z%}H`7Lt=4e9@Gj@7+ioE%+Kh{kpMP!3E2M~BpFMkaw4%LG0zCfF0^7>xe#K6SD@|lGRL^1zjieO;`v)XDSpklw7u0h3GYeB^r3r8tf zg`n3vKj!i$Oh&>%%o!YMOj^QIm^c|285a&*63od@H#ESS1RY8tNe~vfN5GC8ko1?E zpMuqi2~a08^D_D|i!f<3GUwPZi+Jg?FfpHJnin4FtsmafvTi;LBlD`-3Esu&;6%C? z?2iE{??C>*>Jf%ANLVxTGWw%=T_AoWEFft#n^V{GxJG?HB7p~EKJPX7$c%QKnmy9ajaosV!jHoXicqG zD+?3zMNmn>yuQ}!Gjkef)ch3_Xk>de*c2w_%3aL4AklYBCqRZzf%@Ya$R8|>%(H8~ znDs#p+y-{wsah|NTxMP-9Y!W4Q5GiV`Ai(USQwcf)_O5ni|BCJf!j`LY)qQM%**S+ z-uS}w1Z3{zTCaAFn=DMsOPH9H7+DyZ_t%1ZTFhbK(e^h?Od253X<%0|vNf?Vu`#~{ z34%1kf{$YYhzAQl4$xTtByg$7$gBbip;I6YER4)Mz@{*O7_i zAnh%+Ud&n7n9DwaQVz2SnBsU2;&3Q4i7_xTf(|2RVi=H8r#Lf@h$x!S0F5GJ#tAG; z%mLNrbhO%_l) zWkMswFR;3oci=KeabZyj5uv{U>SAU?P{Zm7B!BD$=Z_;yUf%PYTfhOoi4#7L@=2_ zgTRJ`iTNB82WVDwNo^B22smt*_!t-&*MJ)`T|}3fnZ?P}>bRw)rl*#q=9TGzXS>rt zEbufpDD7@&hI*WjF~ZhRe{y8HX9W`n10&=9fpl*%PWOI*xmS|WJCB)jUL2FM$ht7^ z$nYrNi80JcPnhNOnDei_W8!9DWCUG=%*0?rQjjyGr52}_6y=xZL5Kc8fwZ6n8b|_+ zF<~hNhThGkK2svSt!>kz^uZl_NUyY;Sew8@{nU!x;*z40d}uoreUOo%72r!|V3dOx#t~?P!~nApqrSc^7S+uBB!dh3^Fcq=aS z*0)WMv<2B}(CqE)4PvC*+S%&sdq<{wD=tir)VECsNu=v%=zH7Rf&`Vly%h~1V*1`U z({0n|N2c%f){jirx3$gi275jnkMnZ!(~&*z&;j+l1YXO+NSRzmW5 z2-s-QGG2`2$xxh`mlF@4D2ES|Er3}83Sa$5khx%6^pQh!09!-J`Nc%k#}8n>Ahk6F znGv6aEhS>h(4ck;waT5Gl++4nZUPw#$+Bo8I1f6Z34jyS&UnM*1?n=+0Jk$ZWEog0s*Ht^d0K76^{AB0tLfn8-$8H^=_lI5 zRINsnb5awFAXn5t3Nh5W^g#yn5vN-vk!Yl9~;OL{S<+b~PoFqfZ*yUAQ};yOn&^GODd zrcXJ{Ro9#%i|ssZZLK1`vzhrOfX0q@Gsl-OE84U$^FCQuWEb76YdZ6h|^^atM{$YkOZ` z%e<_fBdykv*?IzV-UQ|t4n5|wCT1?1Nz5wqIHHOpLA@qs;ZGaAIaHrodt2*AHtVKm zon(&R#a!@-S(W1n$6Dsi^-q}3GT1Pea40YrGpR5#E9|ljXMSGCQ6lN--MKb6J(5|5 z!z;$Z!8WEe(#O-M^!m;y?{&w^fiR2JIRmxn&lm0=n07F!2}eaT`*R3!JOIh0crnYY$pD$h%)>E(V}7GGbL=%{?Gx7CxqF!1^q39x zm<`kZGppM)PoBuk%dv~&2J@4;Pt5Ze_3GE|VSdT{ghRQRL!va*w%DM7`BF89&Dj=? z$DP+Xygx=U3wSXX*v$8C_Kajw7xsJ_&e6gw%4E*SEHPm%^E+k^uldX~YdA_;+^p9| zE%31OFauBcS9s|%i|k5{S{rFSQJ+a&gu`}2`da3$x(McPj3vxnbtTN-81Iw-v`H88)a<4|Y;8NeLI;l&18mBthSawFSr5Lp~`otdl2I{-A{Dr94? z&3u({Lb|?gDKk$RC^b%4%hB98k$D9(lM-X|TIL_s98Jv8P0Ys`cQMO9VP0Ar!F-!3 zf_W(;$1dig3Cw)Em|xfJV*bkL#oS#tf!X^S^JRuL>m#p6UXQ%F*3&k_-m0vb!;V9k z`4K}C^ZfcI=BhQ!_ZVzeGjrK6%X!@nHa7R)&(U0L+oHd=**-Zl%A?t~(LNG13{?vn z3wp@($(KX8nOS;XbMvk6>lw|vIrN#i=7G93kb!V;4+lapzpriL(D$_Ei2S_MmczR& zyjWk?hnb5*p?SmFRD<+%Z||?(`nGn>^HXgjts^5_^sV(X(wQ|lgqQ`InDx^*qL~-h zH!(kCXyOQDo>?Eke4D|BnP(02q>N(~`S~uH*T;BtB{THTB&AXYG)iLQZGM{Dq#4K@wIm4#8nOUp}6j6-K zB2COY>NwV{21hnHhm?V0ts#R+UoaIk>chwenFnBGV_sYb@-<^Kcs78M`3|EVc!q$H zc}blfT+Az@)OtS0MCPju916actx>hU9Cq^~y^AM;j0G)twex0fsOR{^e2x)3EWVgAH?e1oOgrP^2|6-(>jIY8lzge7O1q zb2F=6^Xf9@In^8|m~@4$pQbl6Uu6a*HAdzq3>*>6D{49BrR$e+Je?THF|pFzEeiHovoJ9~1n1ZVbzaPenM*hn z6V_^%gLHz*GLAhbQ*BQ&%W~*>Hh(Rszg7mPK7K0S7JQKT$z^JYG)Pc>EP|= z=|z42nUI+i`>1|!NbGH z!`41@qFs0avq(fFsG9zCoue5v3J?JHsv0)0G9>30V{4HItcCgj+9C(F`B7TqC%`iz zM6com2N1PdKk2C@8L1W6;sLqw1GW;g!2^n)2AJ>E7(X#{aYQf+L@*bWFbmi$XtgY} zvmA#F$8lzM&WqZe%q+C4++%G_1G7Lx z&azXH&CH@4*IL#x->y3`nIoRL)XO1of4?oqsomBdt?nFw9GjT;G3qh5)pH1ODB3bV zs{>C8FspGqVHW2QTId5>!pE#|jYEw?Vty&}JBBrD=dWc>aQ`sXK2#5Fw|dXn_~9`6i{qUY#fTwk=CHaPFfM5<%8Gk z)~;nfQCGs;&d3p=Yn$P{+go>{b+lEPu0C^g1hZNM^NP9&%ug9hIEdS`=b zgEfp1ER4)o>(W@5KucA?Y#UIch52P2hYd#vvph!xxa4P^RsRWGM|1Q~apY+BWZuZg zA;j!8kNGIWy!p&CL1oHO#-?Y?RU9_&AT9(&Wds}Z)_RU6=4Qqc4q@iyb)dNr&=3=3 zKqU}c{=nA%0w*j6hVb4(34;9w@N|Y=dScB}Oj?AJ51ZeJgM8jN(XL zecS63J@s`$s(3CP*u(b5@E59 zXJKNV#|)YnzhC2JVafzrUz-Td<5nd4AtNOow9puml|YW2upR1HZN_UHGS(cQt(i21 zt(mz#fh}59>ZUg{%gIqdeF1k%Mef$a;kFh>(}lnt|*P3BeRyfw^OHq2r+9Jb6+ z9N@+RGY^N&=abCG7$z{6&fCqL$nnIFqb~AgNDLD@10&;87Erg*m66DeS>RBjPQgj- ztyv6+41lru3hZon$SUhLlkI&8@wm#bwv{>=D<}i2dKDa+|67zk6DZ(f;lUV znWrR%V>WX-XdZYOJE-`%Q?Vv?700A7W^)dq5>rTJ>6q*)VhJS=w8+7G-?>!OW8u z89BL>c}M*k<`WDh-k!`m>TQ_MGUzc^>|)+izlQk?!!_nD^%2bf8BQ?sHrZP-7kM!Y zfbu>gxV?a=_!~jKVdnRWY)&|7&s;iTEof_3^ZJv_RT0d(910PJ^P_CbzB2P&V=ii9 z=1XJd;tFMbI5&U^&@3vWPb71h z7qiU-NUa1ehUT$F+A;5_=a|5JmcgrCGj^J-wGXothma3*coVaNO(e)c>zPHpY?<>W z%xCVdZJNk@p6L@uy0tAcPa3nP9&^Ejwbtnd%n1|bGcT*%b&~lyBZtC#Yg>a-=Kl;O z<-O~ebvX2PIcl1E*jw3xB8(Y4oeirbeIl)GGj%~lA@gUDt9C|v`hrOF-r}AahlOHw!cKwK~u|^m@i7I}ZbW zj`^S>e=W1zll9C=;FdSIGX(Z!b2^g>c(Q6YNAJWGgGZ*3%#s{U%)BMw#=@GIDf5e~ zyuY$AGdI?Owh2yTiYQ`XX8u$QO5X>WY?uRVSeTjL*Mj5@GI<%yXXc;B!pyv;7Chzs zpD`lxq_w`a3$x`3W_KHAOHeXSVPR(84{k*tWQqW@ZCDtY4>Q?-rpGqcH!bGeOe4LCADDTI+@A~@*2ff@lI0Vaa&B z&7>sW%wfr7ASGg_-@H3?qGz1#QKMTDww~*on|IoJg1X5QS9AD_dt3QS%4RXp`=BYnb|IU|@WIGPgV!Rub7!L{f$Vgn|bT3d7RZ+py5ErM=> zz_)t=K6Ve@SBn@jMw{?~U472X&**cY$3G-8Jw4r)!%?_Qa4JVM$3kYACrr+w%&8o^ zzLhd_Pblp!?FQ4}sR__-nNdt>2#7E+F#P}j|34!GV}$|_I|pdJ56Dat5COu_J<7fy zHt7CiK7nQ?7e0e(Eazy#fM8&7;uGj)a^jQdVRqzG zXk&5Y(`aRNta#u5( z3ts?}2N$1#<6%Ax$0K|Sjz{?<9FOq{IGy3+@Ze@pftvR~7-F73l<&e95XQyF;l`cC z#{m+;7rqIgE9v7P<7|q^+`hYx$qf;fNaENA4uN? zMg|7h?psrYz5|9k zA4p#VR3FG5kOW8^Te`|&U|@(~Vqk#n8U+<^AoWhTIHdGnL|y0!2BMTI zi`x$riVO@c3=9k)bsG{P_GLoVp@d^9QaCzuBZsOZBvc{p0GXoz+y4hO2bcRm;v1M5 z7+{+!S&-CujKAd6#*ACNzPFf%Z~_8lfd%|Uj500RR<3j+fKNZkRbxf+Ok-UrI( zz06L03O%6w)CS5=t)P6~!tTiD(9Ge&w}6qEhmniV!SOJkh2s%E1IMF$8ji>K6r9fR zNjRP56L31m$Kk`x6h=S^D6l}Y$RKxoNP&d+PpCV<@$1AV(FbxzFN+hOMi06>oO#)T zxDGoWaXjjD#_6onImcr>>=qu-2mpmAw(tQhFp*$oV1RAMTLvvhT=)!_lDRvz$My2sBXLxFeCPBL){=!`?X23!mbuw7i52z@Dp^kr~?HoimRhZKDaxEL5<`<%q! z_8A1?vk#OWZg4R$z_uH`ftHspd<9<9*=DdX-Q~J*9bA6Lab3T`$Kk{s1g0IinOwjO zq;?OkZ~z_R2-~7Vth+$vQ~@^w18m<6Xk8e{OD=p0Or2bO9M0TcAaCJ}H<11fpn@H` z!2>+61TN8 zo*7&-Ihgwxxo+OLj=fDyAY4J^{{$We2H0wU3GkpEs2qpH8?!niIO4pynGG4i5d~@; zK+0om@dOI52RsZ6u%+prK!FVouLeff=`2jCT-QO7k2AbM>0N=Bfnfr4aW%2=4Dv?= zF9QQ?QT89Wy%2vem4LnB$juZ9_Js>5PNDS*Hh+N3TLCf;x~BObx_Oac^E^TA5m0)D z1~X27fx_hn$UNxMTVtqs(DsBw4z%>gRStmkTktV3z?SZ=hUy3P@QT6hBM&Z69gk0c z1s?+gY!z-8R6opqCVz+naOnrd%MLyU2H0X)SiS7RXW$FUK)CdQ#6R#cFu<0ef^JC# zSq&1$7Ve;ag#teV18gzr1CU}w|E++j0$O1@K_U>BIiT>$;AdcfEea$x9fI_)0O^M= zzIzXKhYOzr(=~8M6w)!lXa5U+1_s!2HduIp!#m(GD9FGjg8U0o_W`=>4b<)iNr2UX zEOUqY*BQTmLFI3R00RST{TM8Lpw#C~j!0FoJ9iWk50)Q5^)bjCh8{>cv=dq$IPnSe zgZdwRsO|nXQ2(P9)cq^koX+qm zIGyE_a5~2);B+3;h6ni*6n-H44)jCpGXe=RFhKg30-%8fi1J&U_Cp z*993EU`rCBq4grcaT{hnMm$3=kU|(w`2~u{3?T*v*i`#@@TduRyoktnEMQh+Avzjy z`X7{@KL{}}z-D3pLZXEMTlIs>SGo%jR@kG~`^a}XMS0l5WaFQ{Aq*|XpP z#62lcd$8pT(0D)wR)2wd^cdp=U@JiR4rIQ-A&B|HQ1c0vJ4_ex6g%GF{yfNBgToMW zLGc6f4`}=aB;EiOH-p-TC7rxQODCS(acCmYaS4!l2aZ7Ofw>>KJ~Ln{KuYP55hj>B z9vp?}W5Ml?b_`pYVlae2K8!8JCVe(`5)9yd?3NV0GokwgsOMpOQ-=gdcgKbFfcqg1F?q(Di10rK>9vF z#bNDt#F9+83?G)O4O8Kz08>6v*9@$sp7i6xn3sqx_B zDoYDMbV({hhD%P42l)6ihLrN4)WqWaJcgWtqSWHlqO#N!hMfH5?D({z)Kr`XxK<>m z7L;V>=LMxE=NF|gcx0w$1SA%fAe)S2Al#DT;M8Q#ytI4<=lr~q)QS?Q_WYa_*l}zO z=thHFRT7_8P|8pcoSF=>lOZHCH`OJvBsI7sF}HxBz%RrjH8CZ%h`~7{u_!UQB(*5B zxFj>Vn4!QkH!(fcDX}<}AuO|~q%<+dF(suawYZoe6J}IAWQ9t6N>WZd=z!Pw5(Yd% zX*nfCs3OiREUL&b-YGLZGp~f9xHKgtH7~w2FD11oEhoR6AwC`|gNKomSX>hC91LCv zhR`rblJTfB$P58ds6N;{A|pcpj0r0e85x3MtuRon1=7IC5DcP_F=$c<#D`4)Gcp9h zn3qA~pk)jUF)$`<+K+|dGh@(v7>^TL2{JMS!I%@^LNPGrWT+5CFN`+}D$2+Z1Y<6T z3&p^gGSKNEh+Y`48!E~O9?pik7D8cqD-h-_n5#i%1!D0-Aj}UiCqfj$craHoG6cey zFn2%{LL7h~F`W_tbIMhyDn^D_7!%ob5m;Oo0dw6Xcqqlfm@p@T+z~M!#)G+%ks$)c z+>g);W5U7|q8G-4`HYbv7V1Hcrb${*lR(N~Y(!*Y z_zmW6SejvG;4qjEa}`VzCcA88G>L; zR%j=lks%Dm?!u@f zFx?dabJq*FyJBEWWOqeiaaRPUyJ9fi6@lq4P^T6ihako*sO4v&G!uj2d>H!)RE&`! z1jd9pjFBM##^i!V21qB2%?A}@WC##}GPR*JBSQ#`sSg(lfHAG$LLoL#rVo^6WC#d^ zGE<;5BSQd;nFSXLfiWxLLIE&lA6zH|##{gw3V<;Wz=c9!%=2)e02uQUTqp#_M5IfM z9Q**P`X7{LWC(&W|3ig9i7;qBj3)$LufoU>1Y_z$g_sy7Mu6fD8Dp9sh|T;!EanGd zF&{L@f^0kkruh-r%#XlgegqctGf)gi;_yS+j0{0AW-44L7{&yhu>%r?1R0FC3?u|@ zZ3V-au*GE%g;04o1v3t|REd!x0LFyXv5XACFec0zEafw3mlw#?9Uubif*=?ZR=Hz$ z0c=tpblL<+FC#+$j2R8$gUt#C4V{B{upv=Kh5#57;V6tE2WAk=my8VX@Ph?EGedFx zd>E$;WCg@RC<{)(k~1vXF*3x!mW0;no=kTRGw zY^@DKSt+tIm~;`;E;+bqaAhdQ!qipZR$qc_J}eNoL)9}fgus}vQ5;SN=7y_~0TGzc z6@+RS6V~+PVJKw~00qYX|MpTC?J(Gk*%!D0K``cRL^}j338%!NQi@QTks$!a41xL;&_N;~QHVkqZyHDloc@DgOwiHG zAW?`y5DOV&IwcUBQv&B>IwcUBQv&B>IwcUBQ!s-Q(DG}J55`o1j5!jr9 z89|ty#S!kvK?!2RG{ORbiNOdX_F-yZZf0b_;e3#R$QY)f5h}>Y5Da5ZfC@1)6j$K1 zFdeFhi-9?UAsf8LWIjv`W&oD40jMqp*klGHLlBG!TVIMrR{>Pp1t`tP5Cmg(!}E18 zj5z}?6a-_=gbG2@EsXaaD$2+Z3}-@{co2n*P@WK!2DLq)Og|{i$Pf%;hQoz|V9XhC zA&lAx<|oh@VjyoZG6ceyNS!Yj6Xp>{hCmn-<_nNh1LwndKj3}}fit0wfGC9d3Fc}> zh7cGN=4wWUKo}F@0gMhF%mc8po{=E}#_WYVA{54ixtft70>*?n8RV`AxCeeB^un1) z9*CF^^8mtWutozY7{Ry}Y6i>(P*)JfhG_>i&%uh32+;ZBATBI%4Tp4g8{{F-(eltR zVPpt^^@79ULNTxu4oeD*3^A}IPy!8oMur#|vk5K~0An`8g)q8Quuz31Z%}N&*q|#u zKn`SNh=fH9%qffvkucZ5oC4AbQjLu7LoI#^rLnX|S3)}!>!CCwLja6<0WK5)W8Q=c zF)M;qzd&7BSR1@ z7>p1?FeWTy(A@$HrVNCZ9w>7Ll*W=+LZSYzfzpf&!7wH)w3r!+OXkCjnh7@wqlky; z`+_hEmSXa7>w={Nn2)hl`{-)045q@AAcY}v3IMTTN)R>~VAS`pl>Zv)2POs!f@-k1 z24)OW>H@g{8N-wyY{GO6EJebS86!h5jJX+_e88<17zY;ISlSfppz2{tm>5hjJch1@ zkpZKsfhj>s(8!(wv0+LOHeq@UR$RbRKDOEkT@99ChABbHOCT2@W0(?zO_;8Ml_IcI ziY;u=)nIWAObJp3M0N>?4O4=!3DY&dph-^(8e^bZ0LF$T2u6kwm=UmyiDkqaWFrW} zCb1Y9f?!NorytZ934#v+z*_i>4Dc=xthWnM2;;%#S{NCEU`*IL3W!1&PXb=&2Emx- zP$7sy7!S5Bk&z(?#)R!Kf+z%e1RJ)63NkVT!kEaO3xs=aB0?dI3G)ufhQRqS9-=uE z2xG#$15pU$!F;-z#)NqXq7cUOhI=jo#zgiUW)BhS0wm8x zV)I-i7SBau^IRkr&qZSMT;zOA&qZSMT;zOA&qZSMTqH&r3eB_(u1r zX=addF!p>Tbucz8c0uYu#v)_TfyE#`YygmvAz%@R&%nR{IvO0rWMl|{F+rEVLWBZu zfoKK>2H0#EBSQczX4If=U}OjghBDKkG?I@>5kgf^W(SmJWC(!yXC6WbY9XA0#T>R+ z0-eMPQV8-gj16nkgF+e>OE4#c)WO&~P%A;|V95$!5blDihi%XSne_)MW&~~ZgT!F$ zIZ!by6#z_$FI-7L29#L=rLi;#4?!(E0i_uk0$@yd7nLCl<|Ksm7?W|JE7n1w_5*HL z5R54dt>hRPf?-TKs1T@h37QY%89_xE8G>L;H@HwRjOhUv3W6~`p+XSjV7xr2C?i7< zj5!G|6bxg|gbM}1n7iOY!7%1qxKI#`839d1SQ=n|p@AR-*A-9f!x2`a=6H#-0}qoRNiQiC$>pfn>xfD4ov1f{V=^-`##U~vFSS1>kgqY*O$=YM!~ zfOb@aq7|qUlC=umNxC?i7vjEOKCqjUQKq?CbyK@wgl2EmxH9V3hk z!7yeFR29hSLGxj}eyAvx1RxKUGKSKibOd9=+QW~!CAXULICaiJ6$Pk3?DnB<-r4WTM9&AApBSR33 z$qy|NAqrtU5vV95LlBG!TQUVv2;-?B6vCM5P$7sykRy;WW+((=3x&Y>n4u7eEffOb z3$b8cXJiP3F=74&IVEsDjK>3YAR|K{j0y8ML?Mg^^Ex9#AdCs~H$)+f2lF~;IuL3& zawuT-cQ8XC0$V6VU8@53K8=$Lm>iNC`8Q1421|-fFOqg z?v4>VG=YGUC6oy}eE}5C@Uj~!$H1TfWf?+gMus356SiHC${HP@Ho@Bapl&-X?Nj10jrCd_OsK?5_G391WQ(7^Upxj@x0G6cbx zzEB~Et6{t_s3;>t5R91w7Yczfi=jdgy-*LrDcJIbTToSu3_&m^tZ-*!2!=7ALRCS` zg7IEJMHv}_U`%spA;icK3|rLbjSzy{4rRb55-s3LLSVXl5JFJJa0;eN6siPUn8H>8 zE`zFJWC(&W*FuFLeu43}K}8uEf?&);aG?+w6E+tF(F=DGlmT1LcNMNN;31R=TL+0H ziF|-6fi3A{WC(&WVI2fUh7cH24B8}yxB$k3O}j8M1i_dcP=$;PA>B~sY$%PTf$IyE z3V_mV45bXk3`+B1{BWo^BSSEZ3F|;%$t$p)AxtS2UzbcWK541qAFJ5-2+p_HM3 zK}mT6BTNM58Z6B^XcQpL|0lxc|6%8gurqvS`6_sh5u=EMc6S(H-3K;?d0-(JA7%g( z!vsZ`J?J!SO${SMB8&+;XM~`=Qc%NS_QLou11PfhJZ}HO>>G+Y@O0$?!(>)J3f1i%6r)(~f82zU(DfCzWkN=dkN8c-JK z;BgR>ks%PqybI!k9T|k_f*?#61Yx=$2-5|ybze}!85m%zAz{{WFnkq1!}$FgW=?>q zgawTd!#vOd4{(z}4453uG;E~+2Q*l`pfn>x28;>w6(f9r9AqdM%Rp7bau2?Y1lE8= zC_we9Kxsw>j9`GNhLsCAiwG=56HG5`{DP4o5ypfa`vu9jXBp?i1Q2s+i7+PYXd$>- zn7QaQVz*f!j0w{Vs$ntvPvDAyfq}scY7!U2JeWV>VlWf1#TaZ_5augdc@Sm~%vV^F z0W1f>mMH85x3MOxQ*gxQQ@ns=v zDh9I$7PJx2a0ID^u}h$0Ftso~EQmpBVQemF;K0(1Yq&N$Pf%;!lDDN7A62II%rsmzzP&t>SSa{gfU?;gQZ}B1to0E5KCPE+iA=W zP0Nf7fv}_sOQu)`KVa*kVf|P}h5#57HX#NYFoVV<%nn!$0^`FD>tSRFfH7f_j#@{+ zB6$rofuYJ`x;FskbXYW_YCw-;R9RT8E`{bWR9RR)6M-gdR9RU0&j(H8sIstp*MU_Q zmeVYuIS^GZtnh-xI;t!*py3oFG&W(u$;d!fjRFf41wsWo{<5*=&41usz=SqHCd1iE12r3jtLxtn`94$QT&{U`$wp3{?Y6G!B|bP%VR{7g#nz)eB2Su&NJL z7L<69F>DtVqA-LvC}6EMMuuSY#u6h#FuIQ!8G>Pcg1HY%r3*`eQ{agfHV6TC6nbNk zXzSr7Kp9t{cHDr{Sh5xDcoihCV(}N$JU9g#34D&*;P+4|B!fRf6AmmfUe0c2Q?<)nxG6UdZ99K zY9iDOL}NG@v(&^`5Ckh{5c~2l5)G^s>jEtj7#V^wTZI?~!`9uwbTcvp!Shy(vb9U|4;&0-Bbwq+wY3JO!#7%hVsNn+7YP85u%gOqgBZLu;_)#z^QC#jR7C$z&xi6*20Aqn~V&>x1c3CtW?Gla>CF+6^GJT zLJnpiEFQ2Vhh(VkbSRCb44DI!f>miqBMq>K#Tous^uj|1%7B%iAEDM@apYyF)O9G0 z#gQ=Gh~g3>b9{m72Hn{LvKxyjFx{}x5k>}V10^8M$QX+*WN8rF7aE_inwpUT_t*+Z zJu=3k7g-va4ZG5Yks%SrgsmuHWXOOqVW(3tG9<#7%Fud(ks$-dREG;C!kC6|p$r%k zc33Sq1qhyHoDUO#Ef`^BNQ5z8BDBMphR_n8ks%Sr%!LbOz?el)A-E+lfi9>7BSRvL z*$)@WfH8N#g%V***bz^R3>h#ctaQiHv4;h5FO{8=n{%BGA3d%1{8Z3+82* z51?kkxG+z!GfecE!eS^jA0`0X<;}F)*}4 zS+L`Y7#R{_OxS8NMuudVXArT1QIEqGsUgxu3XBQckH^T62xC5kTFb`pRq!mM{Cr)g zUtoJd7#Y%GOjrnDNuID31h6bWn)?|T8K{^0VZn=M>4Gja9$_mQK`RiTLO-B1BSQeJ zG=Lpgj+Cicp%IUz5{E4zh3!OOWC(&WKf=w9fH7gEHzz|81GN7Q6M~gXsKZ?_N5M95 zF)~EJn6TuIWEM;a);C~eh=4I+c^64FEX~3)9+DK)H`ivLW&%tcZh~4^s^*%orJ9`~2WajzU?mgTb)GMFmCymxx&mCBBA6Cd}Jd zvMlUikVdG1SnPsr{zDX|*z970wqEhr)d#f$c9bd>yOu+hAlU^C3^=t0s$>I{#$w7$ zsJ{^j!lQ1d71TuVv9OixjhKZ1aEBG0tCNfN6QJfEx zfq93KArQud`36%HOa|f4Ko}F|PfSfvPr@nKYDL)6C`N_=7*h|bh>;-(#)NqeHf#vv zBO)#U#)Nr^8{%2W0uPuV%yWzk0Wc=aHz?|1f-rwEG6cYwFfXF0hq@Spf~~*7xy}gB zQbgF9GK>s~FlHUp0!D@m7!$Vk9o}Ar3BXpmAg$uLfzS?P!d7s>wZjAu%gqyEOxR)n zSjsb4y#+g(3wf0V%t5f}a%4G}7;HfqBSSij33CV|Ln4d`a{#glP%ptLm`h+mHk3jS zPpz*7^&o6f1|vfNEL30#5=;38tIuJ}9T^z{VNBS@Wk!Y|m_e}M#j>{LxGPKWxJ0dWj_B8&;!o6X3O0b{~!fH>kDBmC3=#Cev9 zFeYqvm60I>#ykPF4Xzy~@B}Ks$dCwQzJv>9z?iT@rLk1Lu;d84zyr313+CVksA({9 z7$4U1U}Q*#F=1|EWJrWDVHU%5Lk)vdFxz1v$H*`w0}G?H=4w-zFQ8+N42%r0E#?f+ z!7u0;oG^vxG(uw_jESs~7#m?5u2F2ny`>Ij4I@J&jEQU`<~bfPC&M=0F){?fn6UF( z@rNo*H6ueHjESrf(~qzc8&Q1)z`EKnjaUjx*fKy^^~=Z*3|kxuYbP)=1j9}ift^as z$Pfq{hdB@RDVBC6R0e)00MbfQSgQ)uVui6`*=Dqj3=TM0tC5jmw2h1d!1}_B42du% zY@HIkK86XvmLM@QB*K`m?fP)FIILlSwP6?;0%1&;UQi~+%!{xxq8w@>a;0ka3zD!|fQf$fum4KndCfX~$CXOOC3 zP@E4Fg)Knmhc2T3{~xLV?jZEsf?!OT|4|2xU?B*LZ&X>RDR7FK z@d9%f?EH8v?P6Fb3)YW8gjW%R;(VAW%m99dBJfHUaCm_fz$9QPMu1^r3i#wmPzOB$ z)Io>&9+rMERlvOtWx$*SJKl_uAppjN1u!E+AdCsKnHyp=q_>Q2DVACRR!@0AZDnK# zf-zy05hFtcjF|^j1tU`*ICSdf5# z@nFqFEYp#&yb3#mk&z(~W+QA%3zpb{U2BEV6^W?}7CBH?GBCiJ3T;pkMuq?w6ORjF z*B-zU4I@JkjF}0IFoZk-dRgOTfGVJ0*~jAp*vXfx4NI zAqK{TIUHnZ1l$`i8?fBK1v4HNri=`cFlHRw_*fVd+4x8-#=~|@!6N~7%ns~u7)FKw z7_%Hc`Wg&lHo%1fU`*J>0*nm7Fy=XgDi{-Xm@y+mFwBWN;jRycF_CVJfiYq6$H)*2 zV{U~H*e9*+SqrU_gq7{;`O3kATKDR7}+7!wgaILG>7=K_M(*~8ed z@Bo!cFg9%U6-XT{Br2gH0TP1+g&owBATijHx(!e_6vEiN zP~S5$gu$4wwVfbkFt$5F8D_XS%!h?x4?@{WC=(W>Ak(fu#hycHkQgkfslWryU_OkE zhz5uGFgEPuFGhwi7!wxu%nTd>^I;rV;DbW|76Y)*XJiP2F=2rZatn+N3w*F%7zftd zWn>6LPnpaN90?dZGGNh@iWKTFb|zE|blVM-xe!V-GQ`1_T*Bgwks%Joge_eJxfaHL z1=kq>OW&|)V`PYfMOQI2%o!O1U`$xlFfzp9iy7E?Z6G^gY!hf~F){?en6P}p$Pfo( z!tx0lLmfi_gW`M`9~MU-@lpmwj5uRth=ax0Pq;;KFy^w`*LIZ!P`7kc*gd|3WK$xd?!krfgW5UuRBLlpg zgPo{{rTGAx#nptyD>Fk?{d^b)ma0IzKcF#+i0lYhCP{?5Ap*usg9de7&{3XYK#o=Fec1IMuq?w6J|I_C)`(12CVLd z-Q_6CP%JWq#ZU%vRFX1_kxDUxk}?N+qQjvKYABp4fL4GtP@0h;2*#{~3NbSjWXy+g z7C{9;O&ZMc)(ueE!%&)$Aqd9wfDXPfG6cYwAy6TRSukECR20j|7pC!nFyl`_Z3LMW zI3LD43l)WCBN!Lv07iyD7!zhI6T`$Dc;G-8`=F-4Ol4#UhB5C!r5G6^Va(@HAtr_b z5izJ=VCT;>GDO0dW>6`RG8h}?2rP>-uR~3RnaIcxp#n7lrkjxgWA)J^3|*1>7`iaJ z1_@9l$DlMLLlBIKSY{ad7rOG03p%CE$Pk(VWgg~&gd8J7=u;?DfEz9p0=-}SE0ktr z2(5zld?rF^MuyNt=w)zspfn>xXg_owU;&h7WC&dky}*|fI%m$v5b7=su_**fGcts- zK@ZRofYOW%q4H2>ACzWf2z7;yR!oA@j0~Yiq0IA8nvo&24LY>D5K1#Lgl>c~cR*=I zhEOJGm)QhLV<~GeLpcx@$}^$5m>4F)hUX!EVqjpv)E0q78#ILAy0B=A#G(z>SBC3L z6@)OKLupW35yrj>ooirZh?@txLY{$vK^EE<1u3(Hjt4D=(u@po`=QLQP@0h;PEZ_T z!4)VC(g|Zfgo-gT#KD-NP#1!f!Pvb}F-C^C!%(ISG+8h*#KD*zP$7^`7`qfI#>fx{ zOF$CvgcJu$EwH4*$Pl+0np)(c=>cRIEV;na3P|iRRNfz&B0yrW1OrPgATd~qfh8A^ zm<=@Y5s3ivUf(smkWho=8&JIg%P5@CxCe>Ba*856`V8j7*bPuIMusp4VTf_CXk=sv zlrOf{YAtFlHTGD7YEQoCu{E83JKUgvW!?eF?Sz;YtV# z=GFwLYru+NPJ;ysSP+)3tf1)%EO-eTG_Z0BEQp@mz=E&@2P>Pvg6Js@EC?&2U`Y-v zh@R%ag6N43EQp@!z=9CZBFOtt?+U_05F@y-R9&#Zx(biQ7+6rjB94(E9>&y$n;i&a zUV#h6U?$5LScL6@7b@{ECL*N4G3a5>$Pj}b@{9~I=;4lKPzV-&weawZhcUaLLShUPU(`-vF#wYs z3MvNL8jK8L!t-JB6QSxPA?gYQrm&zZg(-n0XU{2p9;Hht*{;M?S#fNSGQ2Xo|$;NSHjVw!>#8Obx8;!eu6UafVABdI^V19eSaM zOC2oB!OB5g>R?6VI%oxqOC3xeR%t^sMx_X5nm{jDaT$r8-*Kr!F9dL@LoXR{sY4Xc z5EiVsV1_o&m>DLXsD+i>kD(d^BUSP+&gVC^!nAguI+rADwIto(!} zC$Jza&A^&gU_tbV2MfYt8CI}@1z}MNiz=`ndU*>LM2`WmAbN0v1<}J6EC>lc1PKes z$I!x)ks%INNg-;aI9QKl#wA0-J6UI zap<08WQareA|nHAy$IZg?$A@Gy`eNGLj?neg$jp-+I*N$GE|C@A)p(|oC>8mL5Jr+ zR69d^DLzn|ks%-r$~+FG85sg#y~84CFOiWUU@DZk7D^+T2@^U2l>%K!0%e|o(##AM z2J>N@J8(e`gZVHH6SViq$PfTy%0q>i87d9t!#Inff{Y9Suny~6gwT9wM|B&NW@HH1 z4`rT((u@odFy;feP$Z0r=;;Q)y0y8`ZY`3JVM3))DPD$&2kO|SFhZlG5-Qvar5PCl zV9fbYA!Y^+gZVJdIjA5bLja5k>mo2RL}K=(1JFCpNKS(_RAIT6ks$!qD>8+4i5M9I znxRZYpE>|mUiU)FV@8Gu7!#JS85tsB-GW)rZUQ4i1dItw?2HVNu#OWfv11t^f~DxS z&@>9_XTTCCEJcFEVC*V*>Wqe^P9u1{N5h!OP$6)e7&dwVOB5jEU~E`CgSv6Bt{H4d z1EdZX`E~H9iH0#@Q3KM788^}Bal^ z1&P6n3Mk_RbVLX?3k*G z>@AcH3sR8FU~ELV8O(>V5j|kT`7m}0Qm+_2d_i`=ddi#O>I~;^gVvz?pft!{Gia>| z>oSAH7D0O+u*#E>A>b@j2sY9IvI16p!fH;CR#6_VHGV%3^VN*%!j3;MNsu1C&SVctY!k~g>^b% z{d|xZj15a`AiXd)BHbCx$4qwy^I_v5uu2SM9>f<25;lIp4~-p0hA{Mw2qQxndfSDO zAq*D&u$BuWLl|t_=rXjK&d3mk-jrcv2!n+_tRch55C#i;SZT<}5C#kT*U-2CC3I-e z!-AWUAq*C>u+U^=2!jPEEHD`v!eHS93nNB`Fj(ma3nE5_Fjy$TMvNHY%QxYngB8}9sa}yZ{vf`whl<1Qldt2oi*jO2QI0BSQcz z>8^uHF)~EJn7g1tYz##V1q?FtVf>>|aZXUyp27l>f(gM=JtIR9EWN@COK@_46@0Lo zgOMQ+mfT=P9F{g8EP24<9F!ek>}+^C2;Bo^9)Z$~3;{4E10sH5Or(ORrw&%|z>*Ni z1{fQWHX>kY0}oV z9|gdeNTGV678a_ofMjNvc%c?niNk^tEQlF80kFi1R778>#Zp9HsD-6rq_X!yEtazP zLM^Q9g@qZ|ZdhPtz&k$yFeWVg!0ND+(HCm5l+hPzVVMP~jJ^O{Dh&_pR%kmM*3Sk- z2#gJ@-H`W5U{=V7)L7tRV_=4y+{#Ykq+IN((VmfUe}>`Tzg_e<==A9ndMxutsGuwCMoqaKPB*P%%b^ zfF>xj7fLfS1aLqL9$qL7s>1E1=EJzK)&?U(0E`K1Xh2m?f+olnP@0h;KpZ-0r3j@N z8G=oqOm8R+y8IQ&+ySK-83J^nsRlMv1qu!ry9O!;y4D?9al1ols7qj6SStdw z)_{Pj?1ome*j2AP*#Ev>x5pe_>Az4vdk&+3=;*|rm*-+%}3Aq%nTC`)WWiU2|Viuz?kJwA!ddG zh50Z}J5-R7Appi)2o+*xC}5m_6`EpxKxr(iI2ajXRH0=Ctd#^BNr9FE>QEX~F2QPb zSU-W0AqG}R+=41&WC(*XpTUI!Va#7}p)gosa1&kt1j3lGWW&f125T+Bnns|V8_+T# z14@H>B=Y`J^I?2gnSrIO@Pt+;u&RTRAr#gpg>@kq8A4%9SR+)Jp^U+yjDbTz#eqXX zMF%p~4(lYq5*8x^JdMFxP+0ZB5*;jsVO0c^gpFb{GK9h!w-V4|4y(Q*XzQmIN;5MQ z*3XA=I-!D$41qA_WT+4`Lt)K)7zZ}|$<9y)UU)h`7@C6Pp)?~yAdHy_6#^Ro<8(m< z*%=BT2EYVh1E$;z6HnB!DMKV-#pM~eE~vGbrDI|Jd|1g951mDW+W{-eV56y6!v~hU zVI3w$hENz2)^NqD4?W#uRRqfvupGh25Q^UI1?^;lR&KC_&Bzc6W5UunR@2ctR9IFR zib7XtN!15nhC5!{hd0>?=4lKukRl+#190pbi zD{0IP&?VBH+BN*D*08^J1J9HcSC1GO;Db!b8btAuf2i4ANfi~~z#V3jZqEKz|~ z!Z?-CQWUHb#(}l(z$#%JSXu0m@{5(Z1hu-XJ`s~`+k zT*49#BSRQ05mdlC0b%H|&Bzdj9<7WFVX!73EFu^g!Z3?8*fA*3rX2$VEZ}y+11lK4 z_+exSh6NVFgTXKl!WMNfG6bX75TL7qq0JtI2ZPb`10zE)%+Km@KL=y_IT+K=!RTq0 zks%l}7=qDLA*kmFZQ8&Zz*tsU!crhCwSkfrEV;pw7)T7phE35jGQ`3{5H=6X$Pfz) zK}2$kg)!GblN-n|7#ooUV_``!1>XFQg{4MVQUvLQu@T8K7RH1nPmnSg8&*s+GQ`3P zXGG-2!Xg(|@G>&Q!jdYi++<{kg_V|w$c;shT#%Kp*oBo(j0~}uQ5lOKl^~t4xP;Z; zj0~~pWe+1mEPC{Ubi#T$i1@|WyNhq?9Tuk`qhRb-cn%4I#V>4FkC7n=7QY|i({(}k z;&%@;&KVhkV9fJyp#T^YkqUyaMLDegg~c-?LlBG!TgU?P0F1o?-U|!DjNc$wbqedG zf^?!+oQw=XuzU$?crh{r!6GvR-p>dqfihuZ6pRc3*y0yk%)v`0C<9+KnIf%9fw5uP zm60I^#)Rcske6U=L~f0N#U>)R#=v5;44&s=U=e`GI5C(RCk8WMW3UA*W@d`P%uF%p znTe4h1~V_kz=9uEsWURfpocXhLkwnCiowiEG3XJ($Pj~>lVFD{K_iHP0X92n4DI}Z z!WqVfWdde~iEnCQMHwtC!Gf@Y3znL}g0N7Al}TVhSZM?cQLrE^y~5HeSP)i7!9ox$ zh^5W-rWTftVW9|C2@6VCID!SSG=<*O!YW%>z=2i58aS|^0}Gl!YaFCj&l`+Z&oyXz zgUy+%XD5qJBeUxU}NwFh$eOq zd=v|ohQTUf0S-&Wj0{1rS^+5zdg`#mK~Ej5VnB+6o;oaX&{GGC16XPX+YPH7VCk8W zAqY#f^weRAmYzCT1%VVTJ+PBJ;0YXG8N`iL2Eo{{f`^%5;*DAu=RT4`82bfOjG1BL zk~$d27+TSQb;CHYatk!F3uFI5M9Ym@7zdUgK$#H6M)KSZj5G&p=fGB|GBO0fm@uca zf;zRz0x)}FomQwYj0-DAnHeUw)WJBgZYxwRj0-Dk!D?Zgi}1QL62^oT#9(zW4y=O< zH50}~Dr#ElU>sN%7pfM>R=pLNd#33<02JIEp;#sEVDt?!nm+10qkBF2iDPr zs)ccp%C?p|7^fOO1se%t!s-;TnJ^BlEQFc~<02J}E%2O*R5Z5K!8ouS3pD`7g=Ju{ zWiSq`2MkpUii@QU~L}${DCy7#FGNZ>fWEV8stqEsP5*c))IeabQIdR4t5)R8h3l z!8ovz391&x{RLp&^N?Sr=w z<6%7oSjuE%h=(OUM4vAnv(Fa~s~BKW&&Uvu9^s4(@vwM>MGhlFJbIKcGQ^{YJR?Iq ztn7z{C?i8WdN?vN#KVFMR=zVbz;1Sim+IWm;s&;69kd1;Dg;}o%*YT0W5U|{;Hnmu z&|s|xupr!ECujFBM&Hbns&r)6ZwfQ`<==C2qTGSJ6m85uGdp_2=+xh6)24A?*| zECv`EGGOIBY=ViAAp<>6VL5&JKXi;*1G*BIks%#6fexEIXJmk#@(T4E1H&)qatAYL zkTEhudO?}61&)jik+A)8u&@BtN-(xA+`bstBq3}L5Tpz z6Ba`tWtdSEgBe9Ju=Ldl9}tOz+fn^eAhK$J^FpdQ@Cc%QRxLgDmOq|RCQT2*X#2i;Q0` zGD6#75A0>;Pv(Hh!jb{lIWP_^TY@ctabPI|>~9zcmKMO;p+O3#UP1S93P2m-Obinh zU~Da@7?w#l4ycqWlxAcIgfR`FLg48mxIIt?thRuStAe5%#zxd2A+Q<*HdF{w1{)N4 z01YEXh7inJB?MNhz#3zW3?Y~UTp_StVFa`@!^jWyW}S zJ(hELh)W=W_!7tgcmfH8B@kF20Ced#w8q#E9XSB4C58@zA;!J}VF?7*cxPk?gf+tv z2_z7fKwwRAr1inP@J4kYEX}|g%!~|yuoZ0|q4gjS!^AapQ&=XhsGGu~G#@4kE80Le zZ9q#q*p?Mk4Y0Ja9i9vVU`$vFLDhiXA_sX7I{!2UN;5J9!lGUeUL^#=Y6(~?gpnZ- zmKqA6NdRxU1i+YaaG`h@GYKvf2xG#s8zVzJEVH>l z3nNB`Ko}Fz5Q1+%hvhy-hIsV6$H)*53td=HGBU)&7G7{dt6N5f02mXN?-&{4(Q_S^ z1|h6ji*S0#dT3N{hSH1-0Wf9>w0dJ?2!SzcphDmkd@xQmv`}Yc2!RCzEVDB*guvPZ zu*}ZL5CUsA!y3(u3?Z0Jgb?)h03$;PEQVo?W=4h(SQiDB{}~xVU_}6|F~Gf2%{4LX?)%7pnH91xIl2|;28b7&Pbch} zDTIv^zycm524lk#ELbyoG=K$RB^4|}K)PXUSmb~eqDK!{5Iusxg0PegE7L$mqDLE8 zA$r7t1<@-(kZ$zo1S>=&UkD2`5yw7H*lE))P`!V)MWLojBL24e85x3LOhjOX!2*j1+FfE~2*a#X!!YaAFwEK#W97gpw5`jG3}LV(PI2%? zUl^>wgRQM#WC(+mcP;Stei*D7cN#wYgt0@Hks%CLzHq>sKw+?|4i@^13}LW(4Hnc` zHg8_VaC#if>4;&nI9PiXF-#T*>(Ic8Vn&8ISc4K)ATTn-!ICDTEguIPmxU!&Mus?8 z)`lfjMus?;2VqH-ks%J&?1Lp$Mus?8I)o)cMus@dV2Fd2i?Bq<$PkAaGI6lpKP(Yq zIn)BS#gq@)FlS+yxS?)7j0f9(h-C{JL?NWOM36A!u0d-=MutEb6SgOT6J)~_mO=*A z`LGIO0W`|F7$$D1o5JGYprSY*Cbk4B$H))}W5Pm<7oi+v8p0J2)+MMLU>376e9DGh z&k0chA<-R(rM(PuD9mPDMxnb9i&0I`+zwkqD#%a>S{lotpawddv;cHADNG8sqLh=N zkikd=ECmyq3pGU)y2uo9x+z#0#A66@8dN!MZDk;f5gH(@2xyZYwpg)9H?^K+OWE{5n2egKxrZHeG)3raIFM+Z$3WkyFpejMZ4OGgQ28ca7MLm-Ul36*1H2!%0yphC;-%#(WMH;$)~| zfSL^xf?bNk$Pfr)e#2A^6H9FtDRW@1NP-&4$Pf)zzj!T0mgz>&26vCJ)&=MV@5XRGoiZU|9!I<A&5d4uOBK3YU4wh zN1!xBA&hq(DvG7;3`+s9*k)u1gfZ>l(G&|~Izxp(#s|)a@esyibhR;!kAN8u)5XLv z5jq?MQ;eWtY8e?KVN4`#(BW%@@*HR}vj<9pE`EnHFF_JU`$wo1#NYO%EFQ+mL!Rk_*fCC2ga0# z3kATKutbTJ7+VplU`$wwWMqg#Pl;I493w*^3^ABRM*w=32I+(a!5Vnz z#2kk*VL`&k5CikvDY(BeDp6R=CIRY6W`<&>`7ll@RFIJ&7{-JJ3g|WvHf5&yFunuS z_lyj|umF*TC&ggQA~qN^bq2$N2$4F2VZjjwO>B$|!Oc+S1SrkO5DZI|yAVRKR0%63 zK^GuEi$qv?$jA^3OK*rU3&t$Pf?>f3%eq*$GQffXmOdC6f?>?R@IZtom5+$Pf-$WS zSs4~so$&ArfH7A=g}~clVVwO?K}Lp181oQRh?$|Nem;!z9V*Dk5CmiXhYEq!!8qFR z)EESd5m-WHWC(^a5otC6#+(n;2zDKevkNN7$PfvO%m{ci1;CiF>Jce2VRa(dH1s^c z$Pf(60qzXa~n(r7H!eF_w1|bB?g0Sdh zWC;5YjXq9zu@weuNFbUF7^9`=5d;Mvju?68l7=<1< zAZ4)7xrI;$3l&&UfRw>Jjwp_zU>=9Hy0El`@p%c6=;HBtX&I82U~EJNkB50_I@I|f zx5C(nVmO{SFU4beDIQk!A|eiBl_0D!536E8Zh*02}X;|GmO*dPci zLn(uy+I$!{87d9BfC|cl-4w^lPykX1<07(pKn+x7ACv|qESR%kP6CNROLRB|b4wVK zJ{UV4D#pkVC>T2mD#pkVbRJqVeudJE3_&pFPqFm2zaAq)D2xd! zg4jTP5;kQKSbzkEDKo(R8RtbWF4aVLDm1AUxfH7eeBO^l)jQJj+iV>PW zIG{A>WF#n)3raIF)QP~@h$d-(B~%)gix?S#VGXKnP$|$chM-fL&O-St@B$=^9m*7k z(nz(b8(b&?#)S32Kwe!8m0k~}VV1y(qN(sS5ddStN+w2zU|5}U5TOdjgcSiu+58|h zu`n_O!SuDD?>ZV2%Lkg&PcIz$#Z*GXtas#)h?=KotorUSPdikUAI}*1Bb6h=x_Yu+9od zD|!b4q!m^l!`dE<4AHQj0jypIDTA?LQNzd(4NJVRKmaL&rASz)GcrWO{0s|qMuuou znTP1YVGLK|E0+)@P9&_+49nY$43RJo_uO9u*n7#mitfNEnH87a7b?ie5C98WL@>s~ zA}$nK@Pf6%IIyT=WC%bHZbpW9SZE`Pf_Tgji-(06Cp>uKVN6@NPy~z#tH7BV>Lli) zrxr$rcvyOdC1ys3c+60Y$1FuKnvk$uj>ypl^I>dQ&SqqYfiYp72~diHv0*uzks$`g zL}YS<`D)M*wSm%%3^B04MuaPT01TGxK^DMzPq6%tWdIDM3>GD`psAgaAqI0mG6oh) z{Lo^Mks(F|%7hghj0`a_CM>o<=EK;Q@MwyGG3}s2%nUX4^I;rVnZw8s17pIX3uGLO zjflD!7!wwSAZ0K%tZYIWu!9v-AZ7640?L35=e&ouN*EaeVIwz)zG@(hsQ`@=E{1vr z`9cQudIqKW%1|*xKM>XhgIdAB&ZYc8zl*SsCn3ocoLfs8(OE5Bo z!1BQ?xLZSDX&%w141uLmWE-8m60I?R${|aCL==#tTP5HKNuN8(1U`JAp}-9 zz)}(;LkM~bVq^$`B^+34!7?!}2@MZeQ;wgZ6uQy{yyn0Jy08Zt3`i7onHXqF9>&}N zm1blJfiX8jg_s$tGUmfLU!j7arVy0*14@I{!8nM4QH+)kR5^npl)=al2xDqOg&KixYELOYZT0_Z=mWJ83HlgfHBvq3RPVWr9oW> zC=(Vm0t_W0Q&=D?IgC`Q7?j}AjIb&g#)Pfx!qkN67>xG36VztdUB-+Ik@-*|m}3|j zA~6lZSP}zW_R9c^Wk!Yo7!zSo7>o%k&Da<|GX|QfVR#QFj%hK*2qXivCn5r+85x3L zOc|&UGecpF?XDhNu-LGxieL|GIB^*)?3foiaT(pZ)-aX_WCpfqSc6v~7xVqgZH zlnCP>Y{RGnVBUc_7gQX>*f5tcG6cZJ<6!P*WC(yUZJ{=Ubi&vO3o(Y+VTQuAvoUfF?1TH27DD2jN<}T1v;-AGzI|W!YP=122=!> zI;b=QZ2A{zVFIk#%ET~{0mf#5SL#79<|e2RNEysDbQ)ngeD)h|A}C$Mo5(Oj85sg$ zOcAL0%nTD})WbM1OF>C95Mx~$%zA{i@L6$WYa_5&8-c~z1z4?(z_2z2YA+(pix@z0 zlLr+qgwn7f6&Qa8TpXev#-9flF9e$dOINVDOqe;aK(T^`6zH^8ki9if{v;^P$Plm^ z%3KSju`Jbr6*#ZqwnJPc0&Q?;Lur^TGobv_P#Pu<7|kXc%(~Tqp|0gso^` zW~i!}59dH#&d3l2^SldOC>q9u4Iwfzgu$3=5UOBI*l;0ul@p8uON@*R(dcmq+WiTQ zqXH<+$Pfi%!jeChI7VHE%@BQi1sz?iVK#mEp0b8R9ts2CZ7Va&;Jp#T^Y zmVKBR3hU;>IIvX1$Pf%;ZbN8=F|Wggf?-TV2nAt=Pyj6X%!9{N5R3^c7{D{_Fb*QX zFsgc3^uZc{pb8Ae&Vq+n3@j`V?utQo7f2_}VF(K`7J|Sm?1Uy}kTw`w7#z?cYU#ba|8EO8;6g)un@b5Qcj0};mObGJ^C@f%XSbAY(h=ehZLX89UO<`<=&m*z<9F}EZ5yQ+d zaZNppg9r|cwyh4-%O+47OZ@`tj@*SSiG(qw;Gu)DeG;Y%p#-BufhmDiT#O9SFeYMU zW+aR$0JV#mp|WN^jDs*8!)Gv~5K1r>~7&tSR`N-%r|Q&I*u zB?`vuh6_c)nDd}QV4uM_2-7iq1~Uqw1S9i7ql!TV%3x#&f-xQ8LLo3FtfvHOoCVE? z@n9ZjWC(&WVSOA%h7cHY4%9e^UKkG+wOCrxFym{X8bOI1T^mRYDh;R5^>HyU2W-p8 z2FcGy*N-d*QhYy}eZ#I;<4N5aIguH<=-$Q9e zh5#57VKzp^3!4&y&3`d6gf4^{upCM=G6cYw=iox2Fn8ZW2*H@IphCP1#n8bdW0gV% zC77@j)Tbgy(##CdxL1P7YC%;oGK9jII&h%?7!%<$Sek}KAp?4-2{IJaL&hnTxr|f{ zWsFtl!vYkx06>tT1YHSwsA4e%7RoSZVlf5oC@3Qe8bYv82PHIEQ}{Sk4kQLu4yO#D zA>az7L1({0nVC?Uks%ny%!dj=5*mzG2^D2z2!b)Iph6IZFdnRh#K;f~V@`!CuF|v3eV0f(v0}7MLGlPG)2XgfU^dK*nQs^)WR@z%;`A3ep%cAI9T{J0b$cM79C5 zSHB4wpu3?oD2ib0Yfv#P8{bw#rQSekPzecTeuC1>3?+>7VH_s7yFy@2g#{((Fb=4! z6O;yPg>hi+$1=W-?s!IqD0H`TFjO)?MowYAxdn9}2Sa5&Lm*d!aNVLlBI~4V}Q0w9^A> z<~}HmC8}W7UxEe!6GIILjC~C%hDRGe+~ipwGnCZNhjCUw1sNGaFipp3%{+mc{uxR$GK9jI#&CloETGIrD9y-#G5hiwY5**` zFfxR}n20FBND;6AL@2=sHJFlCxZN1z>aYMsn1T_CFdx9C(UErZq{9u4gfR=?LUEN) zCc^qK7!$T2AIpAtOc!BPAR17EVHRK+8G|_*HaE)15QXVNj5#QnE`(QuVxV>*{Dm<* z0?S%Aph_7Tf?&)?aG@|5^D|s10LD~+FC_?rF;(C~L8?$DV$FL9jHv^aVq^$|F-_q@ z0WfAfTqq32EQ1RL!I-shp)eQ|w(5zIAppkgMW}+!Ew4og!I<0NLIE(Q3Uu`Ymh(9< z!!HmPey|W?WC(^aze2;0m7y54)E35tg%Tq}FpQ}Vbp=!o@isF?y|e}dY} z$Pmg24RawV4LV{6%7i%_q!V5dKpDTFA4j>u_O2c`(g~#*8Ny)915hE52Tj%H!?-a2gTupA4QqIqs?CQv z84(^BjaOKBz?R%IG6chzus~;KC}xD)fG`T9U@C#Sbt#l)WC(yUMWJEF$Pf#2I?Qd1 z46!h#BV1JgjES%gqxrBBY7K0sEh9q&%xo37K@l*f4pazy2m*`)vlvU;36=t2wlFe8 zzykj;)M7@45E%0eTqqL8M8tOp%vlKQB4JEeV#4AASayI#10zEira>6-2}^D;$AVHR zjQs%a%IL>XCc>4l2~k8^hK5)glxAcIf-xsSg_s$NGUmfLQ=o#7QUPuZlo0@x&4<#A z41q8vvPR6lc@|Vd2b5-H2P{Jq7!qLk%oqfcf~$Z=5}XQwT9yQ*85tsAOql&l422>vHY^5N zLCY|dVM~+XrY(S)vJpx%G6cbx@8LorFy?Ql5IAwofG)2_oc|jFV;+J^LDCzHhu8%k z0%Kl+Dr95`fHAMZg)k}zOveVo9Qz&WGDe0_7!%>xs*L$C#~y^69tvZ^oCk7j;CvYG zEJ7iS33DOn09U9i!m$_~ma|Y7O@Jx|jdDYoFguWZeFZ9oCBJNf8gvv&gKpY_GG9Y! zMuuP*6J{L~LxBLy)5{Qs!>m4v5Q3)#CSJUGfHB>nLQD+B3@}GDL&ZRydnglTBNIbq4a~yJP&r11 z02mV%bRg4U?B@t&FeWS*LCWBv2W7w_4`w4HLmV?xeLpv5iFcwVFWrj0BXc;D2=61CNkjB4F`oX%pxq20rLY$ z8H^2!0qRBu1N2yaX(-LekO*Uz!G(fh%t=roc81R^Uj@%G&W8!ifl4qk1jCr$p+a!A zFag*df>@FtiKI4kdYx8#)JnkL-i&OjENjrIKj+fW+;$= zM<2`$U_p2x1Z4z5t%BtXq!8W=m11NFhS?4?3QGvvLRCjWX-0-97&8+p#Kus?P{g1* zAI8stife&aHK_9Z|Ig1L1v(`cv<3potpqKHFwoOrWDpYu>4gO>EY2AjqA(qY(NYS9 z+640@8^b3a*m4tSK!7Qji(%@pbmY(-z{c?DA82O)x+`GfU~`d(=}@O2JP?hp6-$vW z0L>%fP@0h;2*xyl3t?m*OkII6T`F*0K`^EcR0zDD62?K8j*;wPo`Rkn58BrRW5UiF zVPpt_F<~pm85x3M%mq*r7#Tuf%qwuAVA$TDPjI0S7!$VFl93@8#)Per!!j5R)z1Ju zot}Y_ArQudSpT^I^QVP(v6Q!eC68%@Bn!9>N_MgC$TS7<{1&MurF& zb2(fn6vkW$6=G&6Wt~5i&53!mI+B1Jw?vw4p3(C=F`e!Pu}vJ{cK; zU`D{a4^jrz0jFR_!J>naArQudB>_o>QVz)SD;~?f#};xN3aW-`r5yfhGV@_dU;GY=apiLm-S< z0+j+?n*(LS3++HjA}fZD{uP{1HRAI5|E zksrLJ5u_EYO=dn!0_J%k$XMMJ79=&WAb`;apjJGB(xAR9l!@5jfiY%q5~>8Yl9G`j z;3rgw39&*4#)KIp!cfIfl~Bz9+1=x*18!enG^>t64MLb5`5Y<)GYCt=?l4rzYbedg z5CLPtT*k~$Q9mEffjbjpL_z>6Wdx-e8G>NUaJWz)j9CO1!l$PfTy+ChcD+jwCdKd2yIGL41!Kb8AjD9Cv|kqc zvF;5}?XcY_j0{0A=0T_wGebqjd>99|rvP-eJyiZBlm@GVaehJt85x3LOit)J7qB{5 z+J(`W?g)fgc^Ga~AdCrHN(P!f_LrIu?E+$C2!JtRc7v3`*f2{$xf^N$EFM70V3xyZOh-h(905B4g^?i=#)P?rkpUiA z2>T*nOg3n|Gcp9im@p?`DFk5FA*RZ20N#cks%7kybYBC?TRg8P?-yoB)*&m@5mR zX24Z5G6Z7Nh&cg=sWBN{BX}4__zWXPagC`r1*={WEP7#mCs=Eeks%1igsoY_?o-&o zzB{0{Gcp9hn17%`5REV%qNc|vrD2WIUr>#V48gE%K9bPNgo}ZhfeE_j111LB?#IQz zTmX}UiP<3ZdBEggVm=5t1(+O64CYEM2IgfjIjF0KI8_IAe*=_;ZGD3sM6m!CD$tAt zRR*VU>4)_!W^$*5^ zsfW@UP#Pu;qhbDOg$ls#un32$7lPW?45gvU;1q0I9&8sn?6|F8(DJeYy7DOxx{jy^ zO3#GSaD$+X9;iOpTH&8i{ePge2vnaelvae&+E5y544k?EH4nC$_YRc*2ueSL(y;Zb zaE(yL6sWzhwWZ6T{LN4rstiuego?w|uY>Y&sXq#phpj2Q59Pmr(r=*jHz*Ca2+DAT z`r8FchePQED4hbOVc`$e2B!$c6I>yb0m~n&py>nFw1lNgs4_SO+oZD(svf3J9Y=av z3e^d_<6<3@54$k~cAVY~s5m-h2DQfpN(Vz}*tI9<>RX}mJy069vuP@n5A*K|C?8!v zZ1WLpqt|7qx?4~hwnh9cl#i}I3>prxP&yt;!)_!ffbuJ#G`fD+KAgEw`T0a7&M^y1YJM$LOcf8F(0s9may6lwnGqh+6%gVm^kc+ zh{w=yf^8#1SI-NThwUze?IcuzileJP3>7#FrLRM2MyPt&J`MpK{)4IGhN>5a(y-H4 z5}@H$2c@CL!zq}#u)Q6y4IHqo$*{Fw+n|f2;2NO}^zen9F9mC{z{1S~>Mp1@I5i2% zIsl~~K-GPK(okVI1-(;^0d^Zw0aT_0N~2S_+~)>W_y9^jfzs#{Oh3$CQK$l4C`~B8 z!}JmBURW`TZZGU452&?pY6o;!9CqFJF)058l!o062)mCD{Zc)+K~M(l8oWNJ!(n&d z!7j6dDuYwF)XjwIhbx3KU{}|rKrftw-B$;@fDWn*PT^9Q57iG>2xW9bZ<(74rKdyb z*-#p)3{JtWQ?rKNyyga_VK=bB6+#&?&}+sLp>zh6&W6%ZWpE019-BOLagQ35)`Ze< zg-`~poPu=?VD$|we?XPNDfC^}utqw%KG=qDxJD=gR{n88^Be5=C0O|dRR*VEEpS-9 z1skG+ox=dzSiBBu9;|+a?Q4b`1ZBXskizzG!iFedCkMhds>13Ks5UqSJEb88TE3-2 zX|m0OPJqGY+R~tW*sLIIUbF-%4tEHY0hZRzA-W);3L3~Q zz+;zQNoobGo&&`sGowBW1N@*dNR;TMB$gyXm<%9Ov84^Yq~cf7dhOA#PS+ zU;-t4gcWdB2NMH>1K3{*;B?QxFq4UaApk`Lbj*_i8_4f4H5Zr|7(f*_*cV{4o-r{n zOyERT^N)#v;R1??C^G{?0~fLyU1kP`1a4#zcV-5L4=5r@%nS?%c#zeAj*|=EMHZP3 zO4EGEB5Rl#7y|f_ML-*F6Hr91Ff%YrP=%!*P`W?_5;XZSykTZwZ~)~kC}v>z$IQT> zAcSnPC<_CFf-tg(E(-(00u&L@k9h2=LQ05Ku7mB5Kz;=%D~`2K+R@W1_lKJYQQ_x2&e&V9!wzMchKqW4tUgH=I)&W z3=E6FsTxL*lDpygf>8se9Zth)2T+{=sU2YLNVpOPJ!tI!suLi!187Xd455I5fkCeb zQG}A7H5$kx8Jk5UQDt zfdSNO2fGI>)XT=e&>)JO=I4RTf#xKTItGRnYzzznV#sQ?g3Lh?ImE`mV1OcW31qT3 zvab7V3=A72kVRgBOqN6zVPt1uNRUPrkzi+F*dU86V#dzE(7?z5Y5ReF;lR$oARvdV z#*3YSVFHRsC`gSwvYG^T28IPFBA|UZ4GPF=NUxrnn@QBsypzs{!p! zP|!mbVF4AK%*Y|e$HBmGz!F)F5(fi=fHkrR=uCG56cKw428IPFBEcYY?2&cFaxgFy zI3SB;aWF7kfQ!KLG9;~nYU%%gdk} zAWZ_)yj;z}z>wew4MQyc0$B*Uexd-T1|+}$x{;~@MPvymzEDKAfa1#uYBE?CXzNk{ zp0XFD=pF|HgMtgPu9qAP3=JqEpbZ-z2$;jm$-p2$K#eXZ1499UI>n!pfgyl^nj%gH z1_J_WCW6!uaL;B=28Ia)%((_~GXZnHaxySHAYhI-7X!lr0%|O|7#IWysEOoaU^qZP z4QQopfG2XCHgYjAJU|iY=3-z-@IqEIjf;Wd1B%FEE(V4MZ)7zaxfmE6e2_)4vNSNkWc-P)%*ncixs&X18oEVU7iZgl?<@51(J6_Wy=8p1_s!X z%Al0YK=rca0}}%Sq-??6PME^PzyK**Kx0+L5QjiXSlQwL^A}@-9aIX10+lTWM3gO{ zatzi^a4jmzM{6c9h;cJ8C*6OyR9B(0D#1R6!$)pgI8I9uNx@VgW>i80Z{$c!*V$q~;Z8<|B1289*zt zFTg?r)5##K7#z777!CwOLlrC%#Ld9)04@ScnGkb8VFWkN*IFX20%W>ItBtA z-}u4|OPQedF4$3U0#@r)FvC(NX!Z!rJD9Kx$A#{COD|9-xRM^D;1eKoP0u zWnc)1MmA?IF9X8?6p>ZD3=9`gM7D!WMiDsu+onKoC`pu-#<|X2G~3fI0KMWFB4PxiLk&*KiHaSh&><@ zR{G6>mwuqRe%MLAAQg!I`vEst=?9u80F}8Ac^C;Q{U#7m`hj|^u+q;bv$!NR54HU3 z0}cIVK|>5jEi;Rcf#Cs64cGz8L9v_z)dd#W0x~BLS>ymn4T{KFP%IZ9tGNYIQ;00` z5@b#hvdB-6u3}^nPJRZ410~2J68sDd2BpX%8vG0l3S}@6cuD~K0+bT&@-i^M?r;Em zfa)n>4J#}qtbka6M8Z-64;!o=1l>*qstXZ{U@bHOcUVdQwK@>;Fcv5!Y#<^foMnW~ zeXV)z*t5^9h|GWZ!7X29GGR#Od% zon~Y;?feW3Jt%5sfrk7$k=3l=XJDv9QL~$$fuW!mq6Si~p5SL-Xh0FU%Fn z3=9j_Ba56BU|?w2fGl!HfPvw{Mr4tfAopxS7WoeH#TH}{HbDjkfvw0QVuB0|4cm}K zv_WciA&WQ(GB7;YjV$6P$iVPnFGK{?n_^&y5@cZ5hZ66(f(#4?jv=e56l7r7grcSg zWY-0V8c5ohCdj~0a1mK#p&$c;!X;#p)gU#OkwvzF)LcOpIRf(6Rb-LNf(#4+*N{aX z2{JG&xB(G?_~L^g1H%#&7cvVmFeu!CsDZdpScrk4;V!a>iVy>X!98RVQ_!^AV`LE* zAqIvC&yYoegcukKULcFa3o$TUc!?~M1=95yS)>$X*I#6jHX#Ov1q8+u)(SB&Y`~)i zR?QF&+s44)1o1GqG$5@nOiY~{!Uij8bs&KcwFgAOO4>Q_k~V^gfngd*3XWkV ztpY5*70~TZvCt(H#2R398KVb%j3GB!sF~STC8#s_f3WPy(f5;*=AYC5N zIu7iwHem(^1Gq?HPFQMQN`BD>xCltmbYTXDTojQN!VC-vC?Y$B85n|4L{1AcFf^lx zToYzss6r8W0P+`#$a|2RxscubAEbsGSwv8TfnfuRh=K?Mg8~n-8Uv6T6cJ|;28IuC z5m?@VqzzEs`Nqe<0K2{g8fyZrqXEf6Ff8xD z23=ELf8elbTAYCw%!6Fkx7#J3yh|B{G3wa`^)eRyH3=aHI z_rS-jAT9*OAZWEOXub|?AehiYOwfVn)v>j;VCzZXzF@>MmI57b3E_gpAeLE0=#1eL zPFM_r+yd%SgPj5?BmgX6;4g`W{3AG;5D6GEtO)VM!>m zIdeoA7z|X9)vN>QLh&A<1H*=BWD!1b28MAd5T|XJD9+iY&q=!NBk!4Ov7@f`LIH10uo%&+m}*49f5KEf^U* zQOYG!@;j&(2ri>gOaSEw#QL!scz%an?+1|wk+2e5gbSA6LHokIK~iuG%kK`ba*Xi@ zF9X9RxIByjDzOcS$nT)7hLHU3=#z|AT7%3ol3-vc@L+pkaFg zYkO9L>|#RJwNrwD0kmNq96Mm!Pe?E@1g0S8g4>|ff~Rc^()J5vJBoWaBpDbU5b%Yv zBuFo^-wh=h7&b&eLlrFPCdt46Itu~e!Vr+jP&JTH&6Q+eP>4j%xsN0n7}_(CP5ub7D<0W}Y*Gvi z4T;EV1f>`l5>VWu0#cKNtjkV{fx!SpSD+LFgF`Ar4J0&Tr5G3%ponCG)MO*8sgYt} zP(X?0ekle90Th#GfoyMq=z^rXbs#mZ$RfKy?m-bbA;rKD02gt|$?;9h%wrH}L)LXi zih*GRN@{s0#lQgCnS_WhW@!e70|Y`|2DE5^!0K5eX$A(+-Y0~~0n!W%pixYONTD(Ai1A_yK$S-LI zh7BkpoH7gy7f?i`WEdDepooAjXy4F>Y_hiu1B1gvWRYYU1_psi$Rf2e3=9U7kwrlJ zJT9R4eW45kLjj7KO)?A&i%`@Ym0@7mfFg1OBr+A*x=3<=YaMLxQ#Dq+}Tw7NLmf$}%u)KoPN*Wnh?sA`&Rez;GW$Bt{mLFOc(BE=VK|S)>7E`+Q^< z_RBIb2rNVvSt858ps*ZSWS1;xgbG>Y49MgK$R^(eiL63a^AaS|gskSPECWNsYGgHR zatsUyP+SOFhvk40&dMM)8<2Hb$}uo7Y(f_Clw)9M*o-U^A;-XQVGFWImK*~^!8T-( zPB{h!haJcw^W+#9Hta+e*(k@rps*WR_92VBl4D?)Z~!6#DWiVN zF)(~U@fV*w149Ceh@w0LLjj722}sQ$h&hlF3A76bH0J^`6@(cWBIOwv7NDrfmS!BEFarZ@cPBzAs67@yM0-qv88*)E=u?WVJ*L3G@BtcP*!o|&dL{;z#+D2X zYoP97D9Hy2nHV&zhKYb&Wv{@%kbq}zMG4p-6GH|RUEvB03~H28Mu($hxK|FfcU0MRGIq(m-Z0T!N{|O{@Tm2*5>>a}sk4(m*4?a5b5E z;7gSa;A(OcE5ITSa1pSs6b6O>xJYhh9%vg7Ljpo1u>veo02cx4DrI13fQ#g2=4FCh zH~}G&SOFGU02cx4%4A^J02cx2GBaUdIDimItjGk3T!4!}beWkvfQx`!2vWmv8Sc}> zic*k>09*vDtJKUy0WOl0S_B$yU~qtofZV$X6!It{8$d%51lp_TK(T|O>kcT@p@@7@ zU|>*Khn%9A6d4!-P(%b285mZeh{!22FdSHmtV>&wfx!Vq!~&!So_ayPa8+brC_phM zRFQ#U0*Xi`NaQCh#6Y^LKqkvDLwYVC0fv4>1_l8oWRY1Q5kq8=b&3oO3kdWtjw>=S zY`~)iR*pgPDX1K~n8d*F8SDla0V~Hqr5C8+VFvFC1IHL!I%tDv#Nc!!070kqs0p$5bPm16}&lw+Wq zts(u&#GGX3{JgZxbd=KUks<@b1!%})E5|@~eFw$GMyPujlGDtR_*3fgu4!q(F&*p#nu$ zixLCF0w-i$)07w(4xorERbpWHfFiO5Hw$-~!VH zOJk5Q1f?-nVFre&pa6hlSQ-QEWrw6OxD=d$nZ`g9oN#F{16EgV5rCyJ&`1YZ3QoYr zE++89(ilh$_Brtb>!ERqrCtUZ2ufoUh)846@VYWFCpjoH4>g4`F#J$rV0ZuvF)Vop zWEZD01A~JrEL1@v(#i}B1t=m~$_xw_P(-Yh85kb8A?xx~W?&Ok!&XbTOZ8Ht3Y zIu}7$s)Oz2Mks=%It2k(s>9q<15yo2Q5%RzQHAgnl~in$gi>IEjA5t(g`p2LG;pM- zE)@ob0$->au&!C4aP~(QSqTbf6pP+VLfA}*%F<07%NB)>c{ z11&lZg9?`bNT}kfL0+mbFbKfZfNd96WneHs5iwT zEHYh{fnh@kLl3qp}a{(?+K5fM~l zU=Rp{sDbp_oYfc@9&Cb^qF^_tt1&P%K-ECpQv*_iA~I2pfnh^9#2kp4O==7b@O%n3 z=a?D;!vVO-uyhDg1WNAAj62vF7|_G%E&I0^dW|0P_VSXrDc3VH!dWhy_ZAABaeYyW#0DIU~QQv=}WJ zGW-CA7&KIIr9)|T28IhTH6Y6w4AmJJ1Y#j^0g2O4bp{3n6p;#b28N!^$g$j}4jS=5 z7MZHfz_1|>*_?gq3=9VnkVPJ=GcbIBia_H18%S3oL=8lQQ-guw1B!@@1_MJt5=0He zg}xdL3<_J2Z7w@I(FGBit^rz8iY&5PgMncIikkf(+fhU=YcMbz zNI};1S%ZNAw0a+8D#Sf(nhXpKaQDE{>H%;#gUU<}UR-GvZVrWMbpbrB_JCs*nSiC$ zFT|u(SS*9ru3%5A0zt6365M;l?jzD_er`cgYH=~@Rt|Gb28IjJP{oy212q{K9MT~n z4+-ZgO$LSl6p`hc3=9iUM9yn6Fl;~(`KHOhZ~#R_R*Qk*0aOGOiwq1VTA=wjh+Pm7 zZ!HD}gA8PmWGw~;2NaPiEe3`J6p=|<3=9n@A}h5R7$%^I9Moc9SO67)`0E?U_N~b2 zSyr2Y;Q>?)#670k3=9gH$nJ^M2Cc3^p3Nx$oth0d2bK;Y;S5TL5iAVwLZQ)n;HYfQBlrba+;qfx!W$2JD}o+6)W37(SqgCsX-B0p~Jv10YzjV$SxF-DG8Z0wfZaGE0OBr%ZSZGJ@tHv8T)c zB2p&k8gIzBL`r6HNq$iY>b5NgQ9TBR3D8i*l`{497#J=TL*fDwgAsZR3=dF5TJ;zh zKA?!K)ni~_C_&bBMUR0&07c|CNKF|;4J6)$^cffgP(-x!L2KiY)i{FGlp~8ofYhLf z6zDTB7@&x>>oYKHfQmqTu}7bQAz?dmI(!T=xdPeb-}(#;6Hr8i4Hy_2Dv{Ng8!#|{ z&I1Mc0AjMA0Rw{r++6p@$43=9)cME)ByFeLOs zbU}P!Y{I~>U>9;aj5J|jQ0RlGfw-r@gn{7$iby+1*92rW%S;#;5+)*xoHSuz*npBU z@0&0%G{EhGr%Z6jgHq-VKFBF_kW>jGVRbj$912q=gD5OzqRx4O?SigNJs=7zGjXTP zhMmw5V_d?>z+eT^j)FmD<_02CCg`kYNZp;5lbDx|mM$3>giRS33ZS8iD`lFSGB7m2 z)PP;#XUf2EU>YPYAhBF*%D`{|MFi9n_t_2g1y~oTC+>hEGToGcAz=oxIR`=RnT0I! z+?0V~0aOH%T7H9c&4#Ffi13>+Ff2e3Q3f3nGzVFYxfugP0E&o@83V%v6p=(T28It% z5s1Ggn?d&PfOsIxz_1-;&Rk@Z&wy-45qW6Fz)&y`SdoL~U@!%TB#eNiUbs0Frrs^^)H?-c1)PS}_&s8TQ!hN0@$}6v5RrQK z!^_p&{FKt1#1ho5IYX*B1H%JosNzb!1?CJ41`8o^0g1sna|VWj#mFMd%o!LOP(&`7 zGcZg*5&2=xz_0*CgxP|Dpe zd~JAAg|`7B#9?U_bB+Tx_TB*V1taKMFzmgg4@9KZ$MCe8SDJ%y)+z(TX-fu%1Zb$@ zN~`ZcF$hxw_Kv6(XeAgVE+8RqX2rlT0Yy!O6$8Tp6p>0R28InNA}g#I7#{3}#TUrv zlOPeO8c@74Fx;|YVEBL{@&;7#tby1LQS;Y|fk6O8gx{KhK>ffgu1zB-EOLApu1s-LaeZHq@vWa z)FO--xwF;`3=5#4iYpy{ux4P`08<0@k*Ey=!v&}aDD)W^v~3s|1lA&_4M!UWhJX#o zBH=a+38IU#9uzP3=9D%BFVN43=>d9%551K8g@f;K}?=y z%fRpf#pE@%3=9uYL=J#N4j|ip1!UI=WOM%7GBE5wQNwS?z@Ts$q6XqZH9H0dhpWgU zRv?k<5D|!b;y@zrAR-W5r67^d$Rbni7#KdFv_MwaF)%d1-3-f3kkkUoO)K0O7<5sF zTw%EhZVn@8uN8_C2F#f(RC!PWgUwubz;hF5%nBrfz_8r(0iK&cw-=&~fk4;fIP8Ol zGvgH&28Lw_L!c~B``Lhq++@uK%S{=nIR&Xj=u=rY?HCvWprMK@H@&uFV7LHN1GfLW z9RtIGZ^&`MVb8$u07XR7o`HekJF*&0djJ| z2*`R*dj^IBC?dfi+u3KoQBcXJD8B7je$XFHZHzOxge! zDK05WDJ=+RH~<$(%!vnYeKGinY;uh~149FzwP7GPPqt@Z2>6ApYrZ`LL&7m=EHi*k zX!OZUVtDWuSH-pSEa$sOcKrzSBfq}t+3E5C?c^A z3=9S=$ZB#O7#J3yh*Uc;FetDhtLX!&K@pkj0NTHdtY)JF149D`vdD3e?VQLWcR?m| zBa3_inaqPM!s*DspumSLBId}zV1W{bnvM(%1}GxNjtmR|Ldd$j92po62qTLmIWjOf zh(bglWnCrcrZyCFdL0=UF33RCKuW*4jtmS>P*%ZhaAaVRK+&}uVzQ zF6t^Th`9_5uN)Z|1PG`Rbz)$60AD$b-5h%-28IT0{B|WeF)(}}U{|dZ1H%RacFl8Q zV7Nd)%}yr+`l!tdrUP7Dka2-qd-%)l^#fZwg085jx(xF^&ZbZRSp_tZKw zFdQJ@o|(=J3<)~;&DreCz|cUz@28v@7z_xw`GYe9g8~6HqAm;!69}j=a$#TyAP|P3 zE({C|1k@C`FfbGlP}Aqaz#u>lTnhd>y1doVBv5HM#I$Q%OY z&v_39h6Vy|egkqd0X3YS3=9PX+^p@%z;J*-82WlLFl->8Cf}2R;R6A`PXM`xfSZ?l zGB6|%Fz1jb1A_wrbMAUFFc=U}^WBqyp@D$EM7{57$y*~%iD*6p@4vzbRPzW1q9-v%LlYe0>7JA`7kgXAdn7^`YI%P!0+t9-fueQ%fK*!fH@C9 zmnIQN8?1f|3=ar|vzi|R1A{mIaJKVfV7Nda-Xr}O7y<~S!%{!c9v1v|_4+X|2-xCR zv%-&oVSxjFHG4t+vd6FHiXQ`m0f99C-j9J{f;E0~c>Ng|9uO!uH2oPE0?hH7WAD$v zaDafn!u=T-HkjczC&!1Tio?Adq*gf*2S; zCnkZ${FoWB*99RUa|q;%{2EQo<&fhm4-4hDgCFXC785ab>L z`TZ}*Uj)=h1T!#fAmAR$UOHbRo@T>2G9|(_|j@_2m`|c z0&Rev5C(<@0%5p31hgX+znf2lfcCNCSMva54uSHAA(Vk(0Ri{OgVYdc16YPKFnl1O zCL|QJCltS%t3nwVCJ=DX9FRE#)NBp~-M@q1u9Kk*3=VGi)jSDhU=Sc+*WXYEh5!O; zgu@sZ9uPfwHACjDf*`fSPGx3=9DT+I5@47#JJ~ zs5uK#L%^;lAombxOZ*1;i+~!za0Z410(R+#GcY(1h%XP&!TJQ!b4oY^g8>0^YQh;9 z6bP6z9poMYYSx7_FiarO-Z&8sx>*c=dVUi}2=20{Q!vq5UVv1p4 zXds|QHim)W1A+Wy9|O7z5`Ub=#V{~TAmHYT7zTy|1nS(GAae+)*#Ytwp|T~0fuVqa znx`=g3<3no)!!hy2(*pGVi_1F5KyBR%fN7eKwI5AmVv>5K>d{v%fKK&piXIvg+ z6O-_}IXaGkVFLkkisKjP=+4^`JF&My&uQGU_ii}|8Wcq z0tEae70}>A5+9 zfx&=)d!{EaFcc85YX!(I0&USF2@DJe2&BWu2@DJh1l+@z$iT3GfH~5M3=9bb++&l- zz+gb2-iZd8LqJVMA_GGJ0X35n85kT0s96p27lAx@ERlg>0s%F5L3R-+f0&X$ccb7> z8wyDb3YUK;{t0U#~!JCeWs3OlM$N zK%ieBo6f)xK%kB@O=kctdHy zTQV6K3<#Jr2jm_CZGbHxy9k(b8FXeg0W}{%?jhi2o-76i1p;c+vltiz2&i$)Vqlm+ zATDCE7#JD|s3`^6MWEc6mc_upKtRn_kiQ71Ihn=4@PUAP9%V5wJRs0+`IW`Muz^5( zUNoD5A%Q?UK{uO$A%MUbwNo|&!v+Fv+Q@7M1_uIt#=>j{h7Sbh^*XabXV~H|SC?fo zFbEK+3l4$YL%?4*Kz0#u&(~}Q1_J{A;>uxQP#~a2E{B0ZfPfm490mpk0%|;S7#JQ9 zaC02UJp}w-mczhcK%ma;&S79kAP~;Wau^r_2&g%b!@%G`K+PSHdkCoc4hkOv^H##S z3=9bb+DO{D3=9PX{O*yn$H0(4KuvBQ=zMkjVc3|* zz;J+oIn(nP7#awuSqpLx0e>9_nL|L$gFFTX1p?*sUr_iEFh??yfjkt=3k2q55hvtkB@3k1qluVT=BCHTW9p_qYT z0)gYb&f3=9tl zls~&m85k}QFz0G11499U_y!0>^98ul^<1_1*3LaB^_;R1p9vMOU>U?5ONg_SWd zOd#N%f-(k%1_Elj%NQ6I5KyzKjDaD5fSMC!3=9qg(&{Ua8Up5Ulru0G5KyC9&cLvM zK)hR&GcY_LU`}W`0|Ntr@-U~IfkA+Pnih~60%L;<${83M2$VlN%R#q(f%-zKf`OrdfExV@1_l8F@$O#1z_5V8x~A9)28IFxb`@4IFnl18 zce*MV7$y)1=fxnu6Da4mgUlhYr|)hB1A_wrHUB|jNI;EZB?E&30W~g_3=9SY)TC50 zFfb5M(^AR65I{i9l1c^!0Rn1{Rx&UY5K!~Bl7S(CfEvCk1_l8G{Au0-q{a}xn&>J9 z1_c6YTB;Zr7QpAAvCn%htYTo;KtRo@Dh7rG0&ac{a*qjqH}h6AFbEJ(V^Gb&U_ijG zz-k7D1_E=eRn-g(8wi*)x0-=Lfq>t4S2HjiAYj)mkQxGZ{jO$Um_WeqvNa400Y>=4 z(5;4nVS_P#HF-4*3lF6bPu{tz%#iAfP6)j)9?pK>q5lV_+yCpyq5H149Ayfj zajIuvctAi+aXkYA0|9?6sApjKK){@{^$ZLX2&iFbU|={vK#g$&1H%FWYBC!@w`bx{ z&+|d%5b)QT1_p)(0&0GM+)O}?Tq6U+1_El_8yOfT5KxoV$iPrQK+WVv1_lKJd1q%M z1A_qpH4hsZ7!D9n!`{TekU&6pk{p&1494-HFujB z7$y)?&;qT|JDy{F&X#z~Df@u7j-%3I6y#6PX`0T0|IJRbuch| zAfVttYXAdoh!I~f=R2=u9wIvE%e2$<8_$-uCHK>AtU$-r=d zKwMnyWMEJr;2x$f28IU&>@x3SV7Nd)O-2_3!v_N4+zL`dz|E_=7#Iu)xcLOg%>>N( z(#62QK)@V{ZUzPi0%~l!85jZxs0r_8U{E07_qJ{Zh6@DJ>XvQ>h5`cST<>OJXds~G zPd5XD0f96o-NV4(Kp@TA_b@Ot5I9dSriX#y0)h2xB|Qub3kby5v>pbA2L$}J1!NZ< zHLw%T1Hh+qgHAYS(F2i?74{GkcEULW3-p#i%)`s!C!9ZkoiGf(QvjkLM#4@wFOY!U z7oY%J!Vgmdzqf)#3U*(>6-EXI(4anC3H+{Jhr`fwq#1QUTi_51pe)b{=K(~VaPAI2 z;XJ80GcOtCS~XbsBq)N;QbrFMh()A?&j)z;K=dM$u=_X)U?(s$Ca7TvY6g(M3W)Gm z8r)wQMI~t{-U3^DsfU39;x7dTTqn0b?_pq=0QS2A10=G3gD$Pr0EGrjgufTm_e2&^ z>1AL@FhdqG>SbUkc+Ut~+YGkdwU>dR6-6Ytmw_P_MI^14fuR;fq@=CJmE@)1cHcfr!-74^J%xiFtXMdFf~g29#P9 zydWWlE4A$F1)b~xRReaxnO+8ll+RF~f<^B2GB7+q5&6-}z+mwOSq(=Y149Ff8mT@8 z1_cx~T73)*2T;^F^f53jKoJS+V_+~q(UsB1z`%eaQrE}8P!I-jGbDvi0+|zzEV2qD zl7uX>r;mXlAsJcZ0?5rN$RhVaB7c$n^$sNR6ItY69|MEKH)Ij6eg*~y6c>v1GcYjx zKvts$5WgDYQPRC=x1OkC`1-%2boh05rL$rc_1|? zBCGou7zAMTDcGD{{R|8oC?ZEeaf%{x6=XYs8y4R5Gca`ihlUu~8rf(tx!vO+nHcw<=xIjS7 zRggJ&(gwT)0H<(J&YdX5zyQj1;6wr@FiQYXjzq1V^pc8;!HSs~7zmXB5i+n60QYTr zOW-8{==LZfu+cCAUIM_Mf9N2&Q&8N65nR4(Qlo zh#fEz7S13wkZ=ZtAty{4OvA$2fQWDw2!X|gAXqOlp_i7K1KMoL!410y3S4`}7Z;}* zAqVuFNem1hWIsA*SjwCL4^`Cl5-^pZ5+HzxP}Ro_RTD#` zV7&_pv8B)u!;&&V_I(DG5-Xr;KmrV0lNlHmtb&Qa!npu!4k(;0I2jnwa$HJcNg@LS z1GP$84mnr}0NQvDb`+d|h4TVhmFeIReI86iHO^Iwy@-zm92B;cHKcHe71H%Fok)CM` z3>#2H=1yZ^IDjIueHsJ91r(9X(-;^YpoqMj#=!6aMdar+1_ptR5cfcA=bp~MV1Oc` zGM$0J0Y$`mIs*d(Beebkr-Yd43=9o$5m?TJq)brGoyN?-fY#2Wa?Z_x=iC`!7amFR+`HXEHDdpolokWMD8r z5s8_}zz~2UQZti*Apu2X#Y_f<0u+(kGeL(pAg9BhGZ`2@K-ECfv-m8e+5zky)maP- z3`{Uxu(S$^3s72Jf%EoWL@fhq@1s_0q_pQ*q?u$ zz#xDkGGz_}g8_=j;W-Qp4k#i&=P)odpqMN*mx18`iWraC2ZOoB`~2PzwLS%)p=qRtY0u?NtMKkCn0%o&Znb4KORpJD@R$BZcpr z%fKK2Qv-4&!}GZe3>>gA8L-HAkU1zKZ1Wfx3{Z60%wu41KoNZ8&E_*^`HQX zn>|)AFespiq^)3JU_i0Gas>l}28x==D;O9aJVSQRp%tLE4P?9xl3LEJU|_hwiJUg> zgG_#btV?_)149EhvKp(E3=9lB$Rcqo85lmG=&E1Iz~F%5!bvL`7!qD0o4jQu1A_vJ zn&T@O7%rfwxeK!E6|%1PD;XFjpy*;+#lT?j23d{qDh39Jx5y&Ns~8v_p!l?G6$8V9 z_YgIZvUlbx28IAwnF&hZ49izBFet$N4l8>hWece6?T}+&_y<-ABVc7O+#Eb*FFckR zEnwQ=G_343QH1q(ba0lvSCn97FP^?RJ2bu+6IdA-u$R38p)fU={UO-6`g(ZTo12@G zT9#OliCX&JSjE7w0UD~z7%ql*@Bb|kI3e{Sk1r?CIA90%z_G3VA=P@5Ln9OiWl3;_h(qqUBKp@D#1LF*V8Hn1U^T(ypY;Q~9d$lP@d z3=dF5_OD}L_<$nvXdMFs0|&A$mh}t_0w^M?>lqjnP()nUGcXvSh!m}7U~oVYnY*5W zApk|>(0T@j4Jaaa*E292KuH@PKz4B>yGLXL1H%Lq5!($63=2?n1#Dnoa1cV)RkneF zApk{W(FO*F0u+%m8yFZ4poqNPz`$?;MMPyI1A~J&G~U6v$!#M8!vYkM?2VwoKV&t1 z8yOf9B#=cw<$Qn$vJ1CtWMF7O5!t_yf#IPDvaU-T85jb@kaa!S$iVOhMa}1p3=F?e zMA$YlFgQpe>r&ptz#xDUVxYD}21@M-s)Z9!M9elZFl>;6nG=#xl$x00=@NpXCSnr< zg91vL&)&qq5FiiJ1q!m>O$-blP(;>kVqln{fUM>m$Q(svk@q0mQA7kcGcXh=A*(Uk z%)sEFj4YD0nSmh!#f3Q_H7I_s-wevj$hy{UW?%?F(Y0?g1A{J#u8W&N>ur#AF>GOA zNI+2|yoG_`fI6}olPwGk3@G8_zJ-AyKpR<2`W6O;1{8CuK;{@g)Ids?IUu`GYU)*6 z7#JSFO@`IfkeUcoQ%g89FwBE!21Np>=K|@tFeJdtK`X~V%3!@DcxW&xfP_&ntfo#- zg4NV4DE5F9!^UlLRA4o=0}}(o1dtRQ!+J>#u$C1g2M+^-HC!IX0QHg#h^VO_z-#LA z#4^-H24JIZZDC-z01Z`KH8uNI(3)*X$V2L7jjfkR(!CfFm7XDV30yC0YpF|M#yR=iZU>mNF%G!-NwN1KoVKR zVH*R3fhn@Cgl(YntdK?Ow=pm%pqSIOje%hSiaB$)fll^7)^%VT=$v+Bk$2k|7z)gg zMP#>w&Q?Vh2?mLv_^V_)1A~G&vYM6KK{x6mi=5aFy1yG)Eb}%qJKvAQ!gMr}yicjr#Ffe?uh1dm2%n3Uf7z$uH1)P5Jb}%p~z|Dc> zI7o^DDBdDD4ED--0Zn z57Om;EMmPAbVeDnh{sOQt>4HZ!8<|sWh09u>;#>7j4YD36Lcp#vPi{F&`s{hB27C% zcf=!$Oxy{&5gu7&{!Y++TgW17LFPCii|hos8Aaq6NEeF8MUZ=(k#*e%nS&zoekbTm zCuB9hc7jf6Miyb;#lUdE1zALV7wBd>WD%uZp!;r+MT|fqZpb1IyFho1A&dBeOh!=? zwF`7V8nT+qT?`Bf?#LpgyBHWYz(rtXT>&_4fbv&62LppEI6c4!%>0!BlY-NvvhaWY_ltOH`kR`x>FIDc@D<1=28Ic{KsSp))qsT-?E>8$gDkRn z7wES-9Zypu41lV1*r$c*9Ls?Rgzj!!T>r!4&+nN zDo0rAh5G`&V-8*yFz9818qg}{45E-Vyv#5W(>t7KA|^VlXd-4MLU0kN?JvOLOsegF zMBwH?++%tL!*&%6+oLdS|3H@QKQL@RgJHW2hV4!mw*Mf@_AeN=AHlF)1jBX{4BHue z$cgt47`E@hu$>3Pb_EREImoj84TkMoFl=YRu$>FTb^)?%e}Q598VuY2u%M+(vtNR6 z5ons1Aj|eA7`89Lu>A{$?T;{QS0Kyw2N<@`!La=ehV54{Y}X*m_B$B1Prw)bGzeh0($9T>J-kY)Q74BJ~UY`=nG`yve69mul%0*3817`C6muzd=K z?H**=eg?z#5)9jqVA$S(VS4~swx7VTJqN?~Js7sKQ#Tj{txga5gIcX&srFq#53`llC z%gh3pFR-<&Kur>mnUuD^AZ-aF&`NgDYA$9*&^>*SULnYM5QesYOb~8{ikKp~8S3}f ze6W@+>!~|9|f_niV-ykr|7f)cZj9ZO43#{$O$b~Qf%EIs$11YV_5Mg*- z35g5SJ8WnoCOS-LB4(F(;Udt~QUOaXB-tK-Vfz&f+f^`Z--BU$16j8FVAy^J!*&@A z+m~S2-a(e_9vHSC!LVHf!}dN5+b57^y96et(5w`vJ0Sm%*?-2g7#IsybA^AHlHw z1X;FAVA!65Vfz*gzwg1Y{Q_CG3t-qDf?@j-4BNXfY`;O4?K~K^`(W5U2gCL{4BH=& zW&00AZxm9Jn5tmd4jRcrjduwQ+h34n`v(l$MKEkn!SMSFZuA`Yfh^nKVA#%sVS5aQ z?Kd!N|3Q}RFEDIp!LS{)))h764`A5N;7iWP$rB9Q|G?T~u#(Nh2gC1cFl^@_%k~Et zwtvB}-37z;2^h8ukY)P~4BMYz*lvPhdme`E5@gwa1;h3`7`B7f*`daJ2!`znWZ8ZJ z!}co}wyR+H-3h~X4YF)MgJJs_4BKTeY}diC-GD6HPhi-71jBX_4BKTeY_}lG_9Ga! z@4>L02g7#I83NFh0Bv13kY)P;4BNM0*v^7s`zPqx7|ihbTo1Br--BWM8VuY2fR??1 zPQZYbKW6tZY!4vI_6-=ePr4~Fdv$g;fy!*&-8+d(Hwq1yfn zHqHhw=U0$rdkco`HW;>p4#PyX{SCr)=vd`XJY$uxaax2quyI->yP$RD2AD7CFir~^ zas>Me&p0i@&9D(pBsW9-uFOw(oR*IMGBJUTbm1O@HGKl>x!_h~9s%p;GV+3g3I)T) zY2p4NX{2-m#_WI(B1J)JbCWq3vjb*`*#T&3*#S!}B-y?O!*&-8+oxdIu7+Xz0kUjg zfnmE1hV4BVwo72xeu6C9mtfd#f?<0LhV4uU+o5UR5Ko$i<#&WRu>6i>7c>Shz?RLnyx^+ziX_NN$Gu-3^c5VfliN{xVqti!a=H*)#+e%ed8;Z-J!^MsAe64&q?= zi=-Sk1!gj=r(miAa}P|!qy***n26a60r;p9G~`3@ggh+OA6i zsNYxM@jI+cprgM`a$xa=yBsr>f#omUYRo%eX#?BJ2dLkV!~LFElAo7aky(Pe09s@> z0|UhG3JgqG;uKVRD(+@rSfCEw%>;H2LLq3sL1GEWTn2^%;Isj{;{Y>MPckqt@PQ12 zV~mv;2tyHSpeHB8SNvjAQvq3UGY7s(8Otdm&=W$|z*i|_p0NqCl#PjjVUh#`XhNBR znURy7fdRDU1|);PLQD({H<%&5VP>qw;vxnH&@CN(oRBl~m>It#G$XOJnHU&AE8%%S zW1fs47AP!{6fiI_crY`>4i2DlP11C+*Q z%fr&xEmjB%ECnY(X)Kf#md2D(9Sl_kN@J~Dur#(DDvC;h(irHxazbfrGc#l_6f@(0 z(9w{nhA=RI?@#$aL>jvQPh+6VuF%e~g_cNv;b|-{v81>pu?VR|f|VN!!0`@>Qw*oT zTTKG+^>v^)MO6oj(*`^{_&_>9aZ#!Yi2-KtsT7!If#RZq4Hg$IAZ-{J6waWXw2*KH z?a#%GGEiRL!~zTF^B87;1VWe?7<{2;0WvdUrZJEjP<|H(gO$d(PsvaffQ=)i7snTu z78K+ohcp92H>gwxhcoVyf6;CRh6Wtr49edi_w3pYI#B_((*!mAU~2Ay%n3j)0X~34 zV6g)-hJkSp149D`0|O}4K*|k~Jq!#E@O`70Y2!8{1A`n`FN}cYcLlhcVKN9BGi}TO zWod*0(7tSFopJk;Z;`>El+U<8%Guuws$1Es^OTCjAu ziVxfAD4=xs2c8ZuVLNWBA^Ed`y`%FOrxYkdJqs~bRv=YY#G-1SZ)D=e)_Vl@Yp zRzd4!K`D@#Q4--9Bo-*G8sJH*Af=$XDS`=BH-WaNqL#m~x+xZ(o=b9yi%ZcraxrLv z(oY~Hjp5pHX|acaVFOeRBo^HFFfa(APjzKGky zz@QKWv7HHCH#LCm0+nNn8NihyNGTMPl2#o!q4@%wexL?GDOla~1fEtw=@2RjrC@av zgBGObXJ*8#o1nY%TtIh9fNCvlJMW-soI$6U<5UAZLpuPLbJ1FiASXf0aft%eO$c*9 zG6)P+;|LFVusH~M5KFHl2Yj;zD0hNZ|1vXz`V4642eP9u3N&7a-!30VkZzo6N^*)- zqN2cVhS-H#*1_DP;^^oIV&hT+k^|-UdP`V-=VfPL&;$viU{HQP&jG7uLN4k*6|5Ruw7Y zv;j_I&fs{*uf{V9lvW9-aRh}8E;S%`fznTp11$YKW`wvNB!j@9^pna3OFz*F2_zOM zZ3r+jFhJ4<$Yq$x4AgGvW{0H>&}}M620)phcrU;c@31m_5wKOGPwi844^$nps-|SD9K2TFHTJ^&Vc1yu$tX_7#Kc;z-nQT(A7N*3<)S|o`BLAo*Eyd zOLQ*-g98CIPJ0;`8t|xrrA&xVL1olTRt5$=knwO#O3H-$0$UpZTIVLf>s-vS99ZgQ zQHQidm>EHP?BPxUGhnIL2A+B`+X*0rpw!#q4okgB!VC<#AYl{?Dt|n=VdalCq)CsW z0@7Yh6@b-Wb)YH}O$7r3D20Q@E+AzT_7rXfYCkeEFbG51w2-D9nn|E?Yyt}6p15Drbxm_;+#z^c6r3=1NmYQQ2B_A)SZprrZvdl?u&B?-tCkce0b5;km|ctqFk%OmGHu`~6I2s{y#gm-DKi02%7pc{ z3S?ltW7N?gm|>vQ`z#8UdK*L;7(ne=m@I?_rQQ}kSn5r~a5G31Xawf56fE_&V@)og z)H{KQ@_98EEM-2#+1pwMZ+)47tjEBhGW-G&DN}+KR)&Mxg`hNnFbbA3IRs&&2PHYh zB^gEN2OOW;%fJv214%8o%J5fv85k0HAT=8#)%^gKt0*FD`xqDwK+S;!vhqF#1`iZ9 zX8RZz9AY7MLDYopV_jUqZpT^%fYM=>3M?IJqDCmx z98fwuKp-80N>K-9SSbqXn?W@rQJ_+^hXF?)6oSPUX4(L$1;xb&cwB(WI?ONxh4TwuSU5X@v|(USI17Zs$~sV;g{lM=hC1*t z1j%RZ1CcOHN*EdtF{*|LLr6}A*#o0NVaQem3q#N@3(WWch2dEu!cc&TaL+}H4;F@) zcLIXk1PVg~BEm2f9)<;}#i_|iW7Z&37#QmIF)%>VA?};OXY6BOSO89|pq>jz-)d0l zha$3T9|MCxJSaWG)STbPz_0;D}OzbKoJq&&%kg2MMQl+1A{;!vM!hX z3=9Qu5zLe@j~Q}K6Ue0y49iW#q=XH4auci+?SPk}n57M@#@_-jMJpK4$9qAp0;MRc zYFLT_?W#%w38P?8iuwspQJ_{HiZqx5Dn%!2!Aj9f7-Pa9MWCE(08e$GQXMmugG$i_ z@KSUGX4Zzz>y^P%<~5u({w;Wo9|E!-1A|g;0G`wf(g5nUaj?T`{0U6xbDFSHq5z)4 zor6N+(+Ug?5R-rLX$3{8#i=CpOFR7iPUcgfnX1M}O zQ99bNQBY8wjOiv⁣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 VK^6_=luUMsjA$2QOUPK~)c{Ur34Z_p literal 0 HcmV?d00001 diff --git a/project/vs2015/raylib.sln b/project/vs2015/raylib.sln new file mode 100644 index 000000000..0ac22f5ec --- /dev/null +++ b/project/vs2015/raylib.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_basic_window", "examples\core_basic_window.vcxproj", "{0981CA98-E4A5-4DF1-987F-A41D09131EFC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raylib", "raylib\raylib.vcxproj", "{E89D61AC-55DE-4482-AFD4-DF7242EBC859}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_basic_window_cpp", "examples\core_basic_window_cpp.vcxproj", "{B655E850-3322-42F7-941D-6AC18FD66CA1}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{8716DC0F-4FDE-4F57-8E25-5F78DFB80FE1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Debug|x86.ActiveCfg = Debug|Win32 + {0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Debug|x86.Build.0 = Debug|Win32 + {0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Release|x86.ActiveCfg = Release|Win32 + {0981CA98-E4A5-4DF1-987F-A41D09131EFC}.Release|x86.Build.0 = Release|Win32 + {E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.ActiveCfg = Debug|Win32 + {E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Debug|x86.Build.0 = Debug|Win32 + {E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x86.ActiveCfg = Release|Win32 + {E89D61AC-55DE-4482-AFD4-DF7242EBC859}.Release|x86.Build.0 = Release|Win32 + {B655E850-3322-42F7-941D-6AC18FD66CA1}.Debug|x86.ActiveCfg = Debug|Win32 + {B655E850-3322-42F7-941D-6AC18FD66CA1}.Debug|x86.Build.0 = Debug|Win32 + {B655E850-3322-42F7-941D-6AC18FD66CA1}.Release|x86.ActiveCfg = Release|Win32 + {B655E850-3322-42F7-941D-6AC18FD66CA1}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {0981CA98-E4A5-4DF1-987F-A41D09131EFC} = {8716DC0F-4FDE-4F57-8E25-5F78DFB80FE1} + {B655E850-3322-42F7-941D-6AC18FD66CA1} = {8716DC0F-4FDE-4F57-8E25-5F78DFB80FE1} + EndGlobalSection +EndGlobal diff --git a/project/vs2015/raylib/ReadMe.txt b/project/vs2015/raylib/ReadMe.txt new file mode 100644 index 000000000..0d46b9fa1 --- /dev/null +++ b/project/vs2015/raylib/ReadMe.txt @@ -0,0 +1,29 @@ +======================================================================== + STATIC LIBRARY : raylib Project Overview +======================================================================== + +AppWizard has created this raylib library project for you. + +No source files were created as part of your project. + + +raylib.vcxproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +raylib.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/project/vs2015/raylib/raylib.vcxproj b/project/vs2015/raylib/raylib.vcxproj new file mode 100644 index 000000000..78479b03a --- /dev/null +++ b/project/vs2015/raylib/raylib.vcxproj @@ -0,0 +1,175 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {E89D61AC-55DE-4482-AFD4-DF7242EBC859} + Win32Proj + raylib + 8.1 + + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP + CompileAsC + $(SolutionDir)..\..\src\external\openal_soft\include;$(SolutionDir)..\..\src\external\glfw3\include;$(SolutionDir)..\..\src\external;%(AdditionalIncludeDirectories) + + + Windows + + + %(AdditionalLibraryDirectories) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP + CompileAsC + D:\emegeme_raylib\github\raylib\project\vs2015\external\glfw3\include;D:\emegeme_raylib\github\raylib\project\vs2015\external\openal_soft\include;D:\emegeme_raylib\github\raylib\src\external;D:\emegeme_raylib\github\raylib\src;%(AdditionalIncludeDirectories) + + + Windows + + + %(AdditionalLibraryDirectories) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From caecb1c1ebbad0882c7ccd811ffb16d8e02a859f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 8 Aug 2016 17:29:31 +0200 Subject: [PATCH 044/102] Removed x64 configuration It could be added in a future if required... --- .../examples/core_basic_window_cpp.vcxproj | 63 ------------------- project/vs2015/raylib/raylib.vcxproj | 60 ------------------ 2 files changed, 123 deletions(-) diff --git a/project/vs2015/examples/core_basic_window_cpp.vcxproj b/project/vs2015/examples/core_basic_window_cpp.vcxproj index ac0bcb561..29e0c6164 100644 --- a/project/vs2015/examples/core_basic_window_cpp.vcxproj +++ b/project/vs2015/examples/core_basic_window_cpp.vcxproj @@ -9,14 +9,6 @@ Release Win32 - - Debug - x64 - - - Release - x64 - {B655E850-3322-42F7-941D-6AC18FD66CA1} @@ -39,19 +31,6 @@ true Unicode - - Application - true - v140 - Unicode - - - Application - false - v140 - true - Unicode - @@ -63,25 +42,13 @@ - - - - - - true - - true - false - - false - @@ -99,19 +66,6 @@ $(SolutionDir)external\glfw3\lib\win32;%(AdditionalLibraryDirectories) - - - - - Level3 - Disabled - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - - Level3 @@ -129,23 +83,6 @@ true - - - Level3 - - - MaxSpeed - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - true - true - - {e89d61ac-55de-4482-afd4-df7242ebc859} diff --git a/project/vs2015/raylib/raylib.vcxproj b/project/vs2015/raylib/raylib.vcxproj index 78479b03a..fe0e32157 100644 --- a/project/vs2015/raylib/raylib.vcxproj +++ b/project/vs2015/raylib/raylib.vcxproj @@ -9,14 +9,6 @@ Release Win32 - - Debug - x64 - - - Release - x64 - {E89D61AC-55DE-4482-AFD4-DF7242EBC859} @@ -38,19 +30,6 @@ true Unicode - - StaticLibrary - true - v140 - Unicode - - - StaticLibrary - false - v140 - true - Unicode - @@ -62,12 +41,6 @@ - - - - - - @@ -87,23 +60,6 @@ %(AdditionalLibraryDirectories) - - - - - Level3 - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_33;PLATFORM_DESKTOP - CompileAsC - D:\emegeme_raylib\github\raylib\project\vs2015\external\glfw3\include;D:\emegeme_raylib\github\raylib\project\vs2015\external\openal_soft\include;D:\emegeme_raylib\github\raylib\src\external;D:\emegeme_raylib\github\raylib\src;%(AdditionalIncludeDirectories) - - - Windows - - - %(AdditionalLibraryDirectories) - - Level3 @@ -120,22 +76,6 @@ true - - - Level3 - - - MaxSpeed - true - true - NDEBUG;_LIB;%(PreprocessorDefinitions) - - - Windows - true - true - - From cc2b3228d18f3bc4cd58ee4298cde78846cfde9e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 9 Aug 2016 23:03:29 +0200 Subject: [PATCH 045/102] Updated for C++ --- src/raylib.h | 94 +++++++++++++++++++--------------------------------- 1 file changed, 34 insertions(+), 60 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 8045e436c..41c324761 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -236,66 +236,43 @@ #define ANDROID_VOLUME_UP 24 #define ANDROID_VOLUME_DOWN 25 +// NOTE: MSC C++ compiler does not support compound literals (C99 feature) +// Plain structures in C++ (without constructors) can be initialized from { } initializers. +#ifdef __cplusplus + #define CLITERAL +#else + #define CLITERAL (Color) +#endif + // Some Basic Colors // NOTE: Custom raylib color palette for amazing visuals on WHITE background -#ifdef __cplusplus - // NOTE: MSC C++ compiler does not support compound literals (C99 feature) - #define LIGHTGRAY Color(200, 200, 200, 255) // Light Gray - #define GRAY Color(130, 130, 130, 255) // Gray - #define DARKGRAY Color(80, 80, 80, 255) // Dark Gray - #define YELLOW Color(253, 249, 0, 255) // Yellow - #define GOLD Color(255, 203, 0, 255) // Gold - #define ORANGE Color(255, 161, 0, 255) // Orange - #define PINK Color(255, 109, 194, 255) // Pink - #define RED Color(230, 41, 55, 255) // Red - #define MAROON Color(190, 33, 55, 255) // Maroon - #define GREEN Color(0, 228, 48, 255) // Green - #define LIME Color(0, 158, 47, 255) // Lime - #define DARKGREEN Color(0, 117, 44, 255) // Dark Green - #define SKYBLUE Color(102, 191, 255, 255) // Sky Blue - #define BLUE Color(0, 121, 241, 255) // Blue - #define DARKBLUE Color(0, 82, 172, 255) // Dark Blue - #define PURPLE Color(200, 122, 255, 255) // Purple - #define VIOLET Color(135, 60, 190, 255) // Violet - #define DARKPURPLE Color(112, 31, 126, 255) // Dark Purple - #define BEIGE Color(211, 176, 131, 255) // Beige - #define BROWN Color(127, 106, 79, 255) // Brown - #define DARKBROWN Color(76, 63, 47, 255) // Dark Brown +#define LIGHTGRAY CLITERAL{ 200, 200, 200, 255 } // Light Gray +#define GRAY CLITERAL{ 130, 130, 130, 255 } // Gray +#define DARKGRAY CLITERAL{ 80, 80, 80, 255 } // Dark Gray +#define YELLOW CLITERAL{ 253, 249, 0, 255 } // Yellow +#define GOLD CLITERAL{ 255, 203, 0, 255 } // Gold +#define ORANGE CLITERAL{ 255, 161, 0, 255 } // Orange +#define PINK CLITERAL{ 255, 109, 194, 255 } // Pink +#define RED CLITERAL{ 230, 41, 55, 255 } // Red +#define MAROON CLITERAL{ 190, 33, 55, 255 } // Maroon +#define GREEN CLITERAL{ 0, 228, 48, 255 } // Green +#define LIME CLITERAL{ 0, 158, 47, 255 } // Lime +#define DARKGREEN CLITERAL{ 0, 117, 44, 255 } // Dark Green +#define SKYBLUE CLITERAL{ 102, 191, 255, 255 } // Sky Blue +#define BLUE CLITERAL{ 0, 121, 241, 255 } // Blue +#define DARKBLUE CLITERAL{ 0, 82, 172, 255 } // Dark Blue +#define PURPLE CLITERAL{ 200, 122, 255, 255 } // Purple +#define VIOLET CLITERAL{ 135, 60, 190, 255 } // Violet +#define DARKPURPLE CLITERAL{ 112, 31, 126, 255 } // Dark Purple +#define BEIGE CLITERAL{ 211, 176, 131, 255 } // Beige +#define BROWN CLITERAL{ 127, 106, 79, 255 } // Brown +#define DARKBROWN CLITERAL{ 76, 63, 47, 255 } // Dark Brown - #define WHITE Color(255, 255, 255, 255) // White - #define BLACK Color(0, 0, 0, 255) // Black - #define BLANK Color(0, 0, 0, 0) // Blank (Transparent) - #define MAGENTA Color(255, 0, 255, 255) // Magenta - #define RAYWHITE Color(245, 245, 245, 255) // My own White (raylib logo) -#else - #define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray - #define GRAY (Color){ 130, 130, 130, 255 } // Gray - #define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray - #define YELLOW (Color){ 253, 249, 0, 255 } // Yellow - #define GOLD (Color){ 255, 203, 0, 255 } // Gold - #define ORANGE (Color){ 255, 161, 0, 255 } // Orange - #define PINK (Color){ 255, 109, 194, 255 } // Pink - #define RED (Color){ 230, 41, 55, 255 } // Red - #define MAROON (Color){ 190, 33, 55, 255 } // Maroon - #define GREEN (Color){ 0, 228, 48, 255 } // Green - #define LIME (Color){ 0, 158, 47, 255 } // Lime - #define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green - #define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue - #define BLUE (Color){ 0, 121, 241, 255 } // Blue - #define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue - #define PURPLE (Color){ 200, 122, 255, 255 } // Purple - #define VIOLET (Color){ 135, 60, 190, 255 } // Violet - #define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple - #define BEIGE (Color){ 211, 176, 131, 255 } // Beige - #define BROWN (Color){ 127, 106, 79, 255 } // Brown - #define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown - - #define WHITE (Color){ 255, 255, 255, 255 } // White - #define BLACK (Color){ 0, 0, 0, 255 } // Black - #define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) - #define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta - #define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) -#endif +#define WHITE CLITERAL{ 255, 255, 255, 255 } // White +#define BLACK CLITERAL{ 0, 0, 0, 255 } // Black +#define BLANK CLITERAL{ 0, 0, 0, 0 } // Blank (Transparent) +#define MAGENTA CLITERAL{ 255, 0, 255, 255 } // Magenta +#define RAYWHITE CLITERAL{ 245, 245, 245, 255 } // My own White (raylib logo) //---------------------------------------------------------------------------------- // Types and Structures Definition @@ -342,9 +319,6 @@ typedef struct Color { unsigned char g; unsigned char b; unsigned char a; -#ifdef __cplusplus - Color(unsigned char cr, unsigned char cg, unsigned char cb, unsigned char ca) : r(cr), g(cg), b(cb), a(ca) { } -#endif } Color; // Rectangle type From eb9072a2f133cdad9fb4fed4c8b80aca04770d55 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Aug 2016 12:20:46 +0200 Subject: [PATCH 046/102] Renamed functions for consistency --- src/models.c | 14 ++++++------- src/raylib.h | 4 ++-- src/rlua.h | 56 ++++++++++++++++++++++++++++------------------------ 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/src/models.c b/src/models.c index b194a0db1..7f248aa25 100644 --- a/src/models.c +++ b/src/models.c @@ -66,7 +66,7 @@ static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); //---------------------------------------------------------------------------------- // Draw a line in 3D world space -void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color) +void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color) { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); @@ -76,7 +76,7 @@ void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color) } // Draw a circle in 3D world space -void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color) +void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color) { rlPushMatrix(); rlTranslatef(center.x, center.y, center.z); @@ -578,19 +578,19 @@ void DrawLight(Light light) case LIGHT_POINT: { DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK)); - Draw3DCircle(light->position, light->radius, 0.0f, (Vector3){ 0, 0, 0 }, (light->enabled ? light->diffuse : BLACK)); - Draw3DCircle(light->position, light->radius, 90.0f, (Vector3){ 1, 0, 0 }, (light->enabled ? light->diffuse : BLACK)); - Draw3DCircle(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : BLACK)); + DrawCircle3D(light->position, light->radius, 0.0f, (Vector3){ 0, 0, 0 }, (light->enabled ? light->diffuse : BLACK)); + DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 1, 0, 0 }, (light->enabled ? light->diffuse : BLACK)); + DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : BLACK)); } break; case LIGHT_DIRECTIONAL: { - Draw3DLine(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); + DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK)); DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK)); } break; case LIGHT_SPOT: { - Draw3DLine(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); + DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : BLACK)); DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK)); } break; diff --git a/src/raylib.h b/src/raylib.h index 41c324761..1673578df 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -800,6 +800,8 @@ const char *SubText(const char *text, int position, int length); //------------------------------------------------------------------------------------ // Basic 3d Shapes Drawing Functions (Module: models) //------------------------------------------------------------------------------------ +void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space +void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires @@ -814,8 +816,6 @@ void DrawRay(Ray ray, Color color); void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) void DrawGizmo(Vector3 position); // Draw simple gizmo void DrawLight(Light light); // Draw light in 3D world -void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space -void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space //DrawTorus(), DrawTeapot() are useless... //------------------------------------------------------------------------------------ diff --git a/src/rlua.h b/src/rlua.h index 849c1c646..b100b06d5 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -2239,6 +2239,29 @@ int lua_DrawFPS(lua_State* L) // NOTE: FormatText() can be replaced by Lua function: string.format() // NOTE: SubText() can be replaced by Lua function: string.sub() +//------------------------------------------------------------------------------------ +// raylib [models] module functions - Basic 3d Shapes Drawing Functions +//------------------------------------------------------------------------------------ +int lua_DrawLine3D(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + Vector3 arg2 = LuaGetArgument_Vector3(L, 2); + Color arg3 = LuaGetArgument_Color(L, 3); + DrawLine3D(arg1, arg2, arg3); + return 0; +} + +int lua_DrawCircle3D(lua_State* L) +{ + Vector3 arg1 = LuaGetArgument_Vector3(L, 1); + float arg2 = LuaGetArgument_float(L, 2); + float arg3 = LuaGetArgument_float(L, 3); + Vector3 arg4 = LuaGetArgument_Vector3(L, 4); + Color arg5 = LuaGetArgument_Color(L, 5); + DrawCircle3D(arg1, arg2, arg3, arg4, arg5); + return 0; +} + int lua_DrawCube(lua_State* L) { Vector3 arg1 = LuaGetArgument_Vector3(L, 1); @@ -2376,26 +2399,6 @@ int lua_DrawLight(lua_State* L) return 0; } -int lua_Draw3DLine(lua_State* L) -{ - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - Vector3 arg2 = LuaGetArgument_Vector3(L, 2); - Color arg3 = LuaGetArgument_Color(L, 3); - Draw3DLine(arg1, arg2, arg3); - return 0; -} - -int lua_Draw3DCircle(lua_State* L) -{ - Vector3 arg1 = LuaGetArgument_Vector3(L, 1); - float arg2 = LuaGetArgument_float(L, 2); - float arg3 = LuaGetArgument_float(L, 3); - Vector3 arg4 = LuaGetArgument_Vector3(L, 4); - Color arg5 = LuaGetArgument_Color(L, 5); - Draw3DCircle(arg1, arg2, arg3, arg4, arg5); - return 0; -} - //------------------------------------------------------------------------------------ // raylib [models] module functions //------------------------------------------------------------------------------------ @@ -3725,6 +3728,8 @@ static luaL_Reg raylib_functions[] = { REG(MeasureTextEx) REG(DrawFPS) + REG(DrawLine3D) + REG(DrawCircle3D) REG(DrawCube) REG(DrawCubeV) REG(DrawCubeWires) @@ -3738,8 +3743,7 @@ static luaL_Reg raylib_functions[] = { REG(DrawRay) REG(DrawGrid) REG(DrawGizmo) - - REG(DrawLight) + REG(DrawLight) REG(LoadModel) REG(LoadModelEx) @@ -3747,10 +3751,10 @@ static luaL_Reg raylib_functions[] = { REG(LoadHeightmap) REG(LoadCubicmap) REG(UnloadModel) - REG(LoadMaterial) - REG(LoadDefaultMaterial) - REG(LoadStandardMaterial) - REG(UnloadMaterial) + REG(LoadMaterial) + REG(LoadDefaultMaterial) + REG(LoadStandardMaterial) + REG(UnloadMaterial) //REG(GenMesh*) // Not ready yet... REG(DrawModel) From a1b6b217e4797caf0ab2b5e297a91013ac24333d Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Aug 2016 12:55:31 +0200 Subject: [PATCH 047/102] Comment tweak --- src/gestures.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gestures.h b/src/gestures.h index 4c59ee398..481ef317a 100644 --- a/src/gestures.h +++ b/src/gestures.h @@ -13,9 +13,9 @@ * * NOTE: Memory footprint of this library is aproximately 128 bytes * -* Initial design by Marc Palau -* Redesigned by Albert Martos and Ian Eito -* Reviewed by Ramon Santamaria (@raysan5) +* Initial design by Marc Palau (2014) +* Redesigned by Albert Martos and Ian Eito (2015) +* Reviewed by Ramon Santamaria (2015-2016) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. From 289e04a62a64a6e82aa5da3397baaa7f48cc45ed Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 10 Aug 2016 12:55:54 +0200 Subject: [PATCH 048/102] Ported camera module to header-only --- src/Makefile | 4 - src/camera.c | 523 ---------------------------------------------- src/camera.h | 580 ++++++++++++++++++++++++++++++++++++++++++++++++--- src/core.c | 3 + 4 files changed, 556 insertions(+), 554 deletions(-) delete mode 100644 src/camera.c diff --git a/src/Makefile b/src/Makefile index e82c2861f..b4eccdb2b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -203,10 +203,6 @@ external/stb_vorbis.o: external/stb_vorbis.c external/stb_vorbis.h utils.o : utils.c utils.h $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -# compile camera module -camera.o : camera.c raylib.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) - # It installs generated and needed files to compile projects using raylib. # The installation works manually. # TODO: add other platforms. diff --git a/src/camera.c b/src/camera.c deleted file mode 100644 index 11571ccad..000000000 --- a/src/camera.c +++ /dev/null @@ -1,523 +0,0 @@ -/********************************************************************************************** -* -* raylib Camera System - Camera Modes Setup and Control Functions -* -* Copyright (c) 2015 Marc Palau and Ramon Santamaria (@raysan5) -* -* This software is provided "as-is", without any express or implied warranty. In no event -* will the authors be held liable for any damages arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, including commercial -* applications, and to alter it and redistribute it freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not claim that you -* wrote the original software. If you use this software in a product, an acknowledgment -* in the product documentation would be appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be misrepresented -* as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -**********************************************************************************************/ - -//#define CAMERA_STANDALONE // NOTE: To use the camera module as standalone lib, just uncomment this line - // NOTE: ProcessCamera() should be reviewed to adapt inputs to other systems - -#if defined(CAMERA_STANDALONE) - #include "camera.h" -#else - #include "raylib.h" -#endif - -#include // Required for: sqrt(), sin(), cos() - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -// CAMERA_GENERIC -#define CAMERA_SCROLL_SENSITIVITY 1.5f - -// FREE_CAMERA -#define FREE_CAMERA_MOUSE_SENSITIVITY 0.01f -#define FREE_CAMERA_DISTANCE_MIN_CLAMP 0.3f -#define FREE_CAMERA_DISTANCE_MAX_CLAMP 120.0f -#define FREE_CAMERA_MIN_CLAMP 85.0f -#define FREE_CAMERA_MAX_CLAMP -85.0f -#define FREE_CAMERA_SMOOTH_ZOOM_SENSITIVITY 0.05f -#define FREE_CAMERA_PANNING_DIVIDER 5.1f - -// ORBITAL_CAMERA -#define ORBITAL_CAMERA_SPEED 0.01f - -// FIRST_PERSON -//#define FIRST_PERSON_MOUSE_SENSITIVITY 0.003f -#define FIRST_PERSON_FOCUS_DISTANCE 25.0f -#define FIRST_PERSON_MIN_CLAMP 85.0f -#define FIRST_PERSON_MAX_CLAMP -85.0f - -#define FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER 5.0f -#define FIRST_PERSON_STEP_DIVIDER 30.0f -#define FIRST_PERSON_WAVING_DIVIDER 200.0f - -#define FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION 0.85f - -// THIRD_PERSON -//#define THIRD_PERSON_MOUSE_SENSITIVITY 0.003f -#define THIRD_PERSON_DISTANCE_CLAMP 1.2f -#define THIRD_PERSON_MIN_CLAMP 5.0f -#define THIRD_PERSON_MAX_CLAMP -85.0f -#define THIRD_PERSON_OFFSET (Vector3){ 0.4f, 0.0f, 0.0f } - -// PLAYER (used by camera) -#define PLAYER_WIDTH 0.4f -#define PLAYER_HEIGHT 0.9f -#define PLAYER_DEPTH 0.4f -#define PLAYER_MOVEMENT_DIVIDER 20.0f - -//---------------------------------------------------------------------------------- -// Types and Structures Definition -//---------------------------------------------------------------------------------- -// Camera move modes (first person and third person cameras) -typedef enum { MOVE_FRONT = 0, MOVE_LEFT, MOVE_BACK, MOVE_RIGHT, MOVE_UP, MOVE_DOWN } CameraMove; - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -static Camera internalCamera = {{ 2.0f, 0.0f, 2.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; -static Vector2 cameraAngle = { 0.0f, 0.0f }; -static float cameraTargetDistance = 5.0f; -static Vector2 cameraMousePosition = { 0.0f, 0.0f }; -static Vector2 cameraMouseVariation = { 0.0f, 0.0f }; -static float mouseSensitivity = 0.003f; -static int cameraMoveControl[6] = { 'W', 'A', 'S', 'D', 'E', 'Q' }; -static int cameraMoveCounter = 0; -static int cameraUseGravity = 1; -static int panControlKey = 2; // raylib: MOUSE_MIDDLE_BUTTON -static int altControlKey = 342; // raylib: KEY_LEFT_ALT -static int smoothZoomControlKey = 341; // raylib: KEY_LEFT_CONTROL - -static int cameraMode = CAMERA_CUSTOM; - -//---------------------------------------------------------------------------------- -// Module specific Functions Declaration -//---------------------------------------------------------------------------------- -static void ProcessCamera(Camera *camera, Vector3 *playerPosition); - -#if defined(CAMERA_STANDALONE) -// NOTE: Camera controls depend on some raylib input functions -// TODO: Set your own input functions (used in ProcessCamera()) -static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; } -static void SetMousePosition(Vector2 pos) {} -static int IsMouseButtonDown(int button) { return 0;} -static int GetMouseWheelMove() { return 0; } -static int GetScreenWidth() { return 1280; } -static int GetScreenHeight() { return 720; } -static void ShowCursor() {} -static void HideCursor() {} -static int IsKeyDown(int key) { return 0; } -#endif - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- - -// Select camera mode (multiple camera modes available) -// TODO: Review hardcoded values when changing modes... -void SetCameraMode(int mode) -{ - if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_FREE)) - { - cameraMode = CAMERA_THIRD_PERSON; - cameraTargetDistance = 5.0f; - cameraAngle.y = -40*DEG2RAD; - ProcessCamera(&internalCamera, &internalCamera.position); - } - else if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_ORBITAL)) - { - cameraMode = CAMERA_THIRD_PERSON; - cameraTargetDistance = 5.0f; - cameraAngle.y = -40*DEG2RAD; - ProcessCamera(&internalCamera, &internalCamera.position); - } - else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_FREE)) - { - cameraTargetDistance = 10.0f; - cameraAngle.x = 45*DEG2RAD; - cameraAngle.y = -40*DEG2RAD; - internalCamera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; - ProcessCamera(&internalCamera, &internalCamera.position); - - ShowCursor(); - } - else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_ORBITAL)) - { - cameraTargetDistance = 10.0f; - cameraAngle.x = 225*DEG2RAD; - cameraAngle.y = -40*DEG2RAD; - internalCamera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; - ProcessCamera(&internalCamera, &internalCamera.position); - } - - cameraMode = mode; -} - -// Update camera (player position is ignored) -void UpdateCamera(Camera *camera) -{ - Vector3 position = { 0.0f, 0.0f, 0.0f }; - - // Process internal camera and player position (if required) - if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, &position); - - *camera = internalCamera; -} - -// Update camera and player position (1st person and 3rd person cameras) -void UpdateCameraPlayer(Camera *camera, Vector3 *position) -{ - // Process internal camera and player position (if required) - if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, position); - - *camera = internalCamera; -} - -// Set internal camera position -void SetCameraPosition(Vector3 position) -{ - internalCamera.position = position; - - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - float dz = v2.z - v1.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); -} - -// Set internal camera target -void SetCameraTarget(Vector3 target) -{ - internalCamera.target = target; - - Vector3 v1 = internalCamera.position; - Vector3 v2 = internalCamera.target; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - float dz = v2.z - v1.z; - - cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); -} - -// Set internal camera fovy -void SetCameraFovy(float fovy) -{ - internalCamera.fovy = fovy; -} - -// Set camera pan key to combine with mouse movement (free camera) -void SetCameraPanControl(int panKey) -{ - panControlKey = panKey; -} - -// Set camera alt key to combine with mouse movement (free camera) -void SetCameraAltControl(int altKey) -{ - altControlKey = altKey; -} - -// Set camera smooth zoom key to combine with mouse (free camera) -void SetCameraSmoothZoomControl(int szKey) -{ - smoothZoomControlKey = szKey; -} - -// Set camera move controls (1st person and 3rd person cameras) -void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey) -{ - cameraMoveControl[MOVE_FRONT] = frontKey; - cameraMoveControl[MOVE_LEFT] = leftKey; - cameraMoveControl[MOVE_BACK] = backKey; - cameraMoveControl[MOVE_RIGHT] = rightKey; - cameraMoveControl[MOVE_UP] = upKey; - cameraMoveControl[MOVE_DOWN] = downKey; -} - -// Set camera mouse sensitivity (1st person and 3rd person cameras) -void SetCameraMouseSensitivity(float sensitivity) -{ - mouseSensitivity = (sensitivity/10000.0f); -} - -//---------------------------------------------------------------------------------- -// Module specific Functions Definition -//---------------------------------------------------------------------------------- - -// Process desired camera mode and controls -// NOTE: Camera controls depend on some raylib functions: -// Mouse: GetMousePosition(), SetMousePosition(), IsMouseButtonDown(), GetMouseWheelMove() -// System: GetScreenWidth(), GetScreenHeight(), ShowCursor(), HideCursor() -// Keys: IsKeyDown() -static void ProcessCamera(Camera *camera, Vector3 *playerPosition) -{ - // Mouse movement detection - Vector2 mousePosition = GetMousePosition(); - int mouseWheelMove = GetMouseWheelMove(); - int panKey = IsMouseButtonDown(panControlKey); // bool value - - int screenWidth = GetScreenWidth(); - int screenHeight = GetScreenHeight(); - - if ((cameraMode != CAMERA_FREE) && (cameraMode != CAMERA_ORBITAL)) - { - HideCursor(); - - if (mousePosition.x < screenHeight/3) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y}); - else if (mousePosition.y < screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3}); - else if (mousePosition.x > screenWidth - screenHeight/3) SetMousePosition((Vector2) { screenHeight/3, mousePosition.y}); - else if (mousePosition.y > screenHeight - screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3}); - else - { - cameraMouseVariation.x = mousePosition.x - cameraMousePosition.x; - cameraMouseVariation.y = mousePosition.y - cameraMousePosition.y; - } - } - else - { - ShowCursor(); - - cameraMouseVariation.x = mousePosition.x - cameraMousePosition.x; - cameraMouseVariation.y = mousePosition.y - cameraMousePosition.y; - } - - // NOTE: We GetMousePosition() again because it can be modified by a previous SetMousePosition() call - // If using directly mousePosition variable we have problems on CAMERA_FIRST_PERSON and CAMERA_THIRD_PERSON - cameraMousePosition = GetMousePosition(); - - // Support for multiple automatic camera modes - switch (cameraMode) - { - case CAMERA_FREE: - { - // Camera zoom - if ((cameraTargetDistance < FREE_CAMERA_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) - { - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); - - if (cameraTargetDistance > FREE_CAMERA_DISTANCE_MAX_CLAMP) cameraTargetDistance = FREE_CAMERA_DISTANCE_MAX_CLAMP; - } - // Camera looking down - else if ((camera->position.y > camera->target.y) && (cameraTargetDistance == FREE_CAMERA_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) - { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - } - else if ((camera->position.y > camera->target.y) && (camera->target.y >= 0)) - { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - - // if (camera->target.y < 0) camera->target.y = -0.001; - } - else if ((camera->position.y > camera->target.y) && (camera->target.y < 0) && (mouseWheelMove > 0)) - { - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); - if (cameraTargetDistance < FREE_CAMERA_DISTANCE_MIN_CLAMP) cameraTargetDistance = FREE_CAMERA_DISTANCE_MIN_CLAMP; - } - // Camera looking up - else if ((camera->position.y < camera->target.y) && (cameraTargetDistance == FREE_CAMERA_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) - { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - } - else if ((camera->position.y < camera->target.y) && (camera->target.y <= 0)) - { - camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; - - // if (camera->target.y > 0) camera->target.y = 0.001; - } - else if ((camera->position.y < camera->target.y) && (camera->target.y > 0) && (mouseWheelMove > 0)) - { - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); - if (cameraTargetDistance < FREE_CAMERA_DISTANCE_MIN_CLAMP) cameraTargetDistance = FREE_CAMERA_DISTANCE_MIN_CLAMP; - } - - // Inputs - if (IsKeyDown(altControlKey)) - { - if (IsKeyDown(smoothZoomControlKey)) - { - // Camera smooth zoom - if (panKey) cameraTargetDistance += (cameraMouseVariation.y*FREE_CAMERA_SMOOTH_ZOOM_SENSITIVITY); - } - // Camera orientation calculation - else if (panKey) - { - // Camera orientation calculation - // Get the mouse sensitivity - cameraAngle.x += cameraMouseVariation.x*-FREE_CAMERA_MOUSE_SENSITIVITY; - cameraAngle.y += cameraMouseVariation.y*-FREE_CAMERA_MOUSE_SENSITIVITY; - - // Angle clamp - if (cameraAngle.y > FREE_CAMERA_MIN_CLAMP*DEG2RAD) cameraAngle.y = FREE_CAMERA_MIN_CLAMP*DEG2RAD; - else if (cameraAngle.y < FREE_CAMERA_MAX_CLAMP*DEG2RAD) cameraAngle.y = FREE_CAMERA_MAX_CLAMP*DEG2RAD; - } - } - // Paning - else if (panKey) - { - camera->target.x += ((cameraMouseVariation.x*-FREE_CAMERA_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (cameraMouseVariation.y*FREE_CAMERA_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/FREE_CAMERA_PANNING_DIVIDER); - camera->target.y += ((cameraMouseVariation.y*FREE_CAMERA_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/FREE_CAMERA_PANNING_DIVIDER); - camera->target.z += ((cameraMouseVariation.x*FREE_CAMERA_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (cameraMouseVariation.y*FREE_CAMERA_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/FREE_CAMERA_PANNING_DIVIDER); - } - - // Focus to center - // TODO: Move this function out of this module? - if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; - - // Camera position update - camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; - - } break; - case CAMERA_ORBITAL: - { - cameraAngle.x += ORBITAL_CAMERA_SPEED; - - // Camera zoom - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); - - // Camera distance clamp - if (cameraTargetDistance < THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = THIRD_PERSON_DISTANCE_CLAMP; - - // Focus to center - if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; - - // Camera position update - camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; - - } break; - case CAMERA_FIRST_PERSON: - case CAMERA_THIRD_PERSON: - { - bool isMoving = false; - - // Keyboard inputs - if (IsKeyDown(cameraMoveControl[MOVE_FRONT])) - { - playerPosition->x -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - if (!cameraUseGravity) camera->position.y += sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - else if (IsKeyDown(cameraMoveControl[MOVE_BACK])) - { - playerPosition->x += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - if (!cameraUseGravity) camera->position.y -= sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - - if (IsKeyDown(cameraMoveControl[MOVE_LEFT])) - { - playerPosition->x -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - else if (IsKeyDown(cameraMoveControl[MOVE_RIGHT])) - { - playerPosition->x += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - playerPosition->z -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; - - isMoving = true; - } - - if (IsKeyDown(cameraMoveControl[MOVE_UP])) - { - if (!cameraUseGravity) playerPosition->y += 1.0f/PLAYER_MOVEMENT_DIVIDER; - } - else if (IsKeyDown(cameraMoveControl[MOVE_DOWN])) - { - if (!cameraUseGravity) playerPosition->y -= 1.0f/PLAYER_MOVEMENT_DIVIDER; - } - - if (cameraMode == CAMERA_THIRD_PERSON) - { - // Camera orientation calculation - cameraAngle.x += cameraMouseVariation.x*-mouseSensitivity; - cameraAngle.y += cameraMouseVariation.y*-mouseSensitivity; - - // Angle clamp - if (cameraAngle.y > THIRD_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = THIRD_PERSON_MIN_CLAMP*DEG2RAD; - else if (cameraAngle.y < THIRD_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = THIRD_PERSON_MAX_CLAMP*DEG2RAD; - - // Camera zoom - cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); - - // Camera distance clamp - if (cameraTargetDistance < THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = THIRD_PERSON_DISTANCE_CLAMP; - - // Camera is always looking at player - camera->target.x = playerPosition->x + THIRD_PERSON_OFFSET.x*cos(cameraAngle.x) + THIRD_PERSON_OFFSET.z*sin(cameraAngle.x); - camera->target.y = playerPosition->y + PLAYER_HEIGHT*FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + THIRD_PERSON_OFFSET.y; - camera->target.z = playerPosition->z + THIRD_PERSON_OFFSET.z*sin(cameraAngle.x) - THIRD_PERSON_OFFSET.x*sin(cameraAngle.x); - - // Camera position update - camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; - - if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; - - camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; - } - else // CAMERA_FIRST_PERSON - { - if (isMoving) cameraMoveCounter++; - - // Camera orientation calculation - cameraAngle.x += (cameraMouseVariation.x * -mouseSensitivity); - cameraAngle.y += (cameraMouseVariation.y * -mouseSensitivity); - - // Angle clamp - if (cameraAngle.y > FIRST_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = FIRST_PERSON_MIN_CLAMP*DEG2RAD; - else if (cameraAngle.y < FIRST_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = FIRST_PERSON_MAX_CLAMP*DEG2RAD; - - // Camera is always looking at player - camera->target.x = camera->position.x - sin(cameraAngle.x)*FIRST_PERSON_FOCUS_DISTANCE; - camera->target.y = camera->position.y + sin(cameraAngle.y)*FIRST_PERSON_FOCUS_DISTANCE; - camera->target.z = camera->position.z - cos(cameraAngle.x)*FIRST_PERSON_FOCUS_DISTANCE; - - camera->position.x = playerPosition->x; - camera->position.y = (playerPosition->y + PLAYER_HEIGHT*FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) - sin(cameraMoveCounter/FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/FIRST_PERSON_STEP_DIVIDER; - camera->position.z = playerPosition->z; - - camera->up.x = sin(cameraMoveCounter/(FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/FIRST_PERSON_WAVING_DIVIDER; - camera->up.z = -sin(cameraMoveCounter/(FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/FIRST_PERSON_WAVING_DIVIDER; - } - } break; - default: break; - } -} diff --git a/src/camera.h b/src/camera.h index 8d8029af7..f5bb867d8 100644 --- a/src/camera.h +++ b/src/camera.h @@ -2,7 +2,19 @@ * * raylib Camera System - Camera Modes Setup and Control Functions * -* Copyright (c) 2015 Marc Palau and Ramon Santamaria +* #define CAMERA_IMPLEMENTATION +* Generates the implementation of the library into the included file. +* If not defined, the library is in header only mode and can be included in other headers +* or source files without problems. But only ONE file should hold the implementation. +* +* #define CAMERA_STANDALONE +* If defined, the library can be used as standalone as a camera system but some +* functions must be redefined to manage inputs accordingly. +* +* NOTE: Memory footprint of this library is aproximately 112 bytes +* +* Initial design by Marc Palau (2014) +* Reviewed by Ramon Santamaria (2015-2016) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -24,13 +36,6 @@ #ifndef CAMERA_H #define CAMERA_H -#ifndef PI - #define PI 3.14159265358979323846 -#endif - -#define DEG2RAD (PI/180.0f) -#define RAD2DEG (180.0f/PI) - //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -40,28 +45,30 @@ // Types and Structures Definition // NOTE: Below types are required for CAMERA_STANDALONE usage //---------------------------------------------------------------------------------- -// Camera modes -typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; +#if defined(CAMERA_STANDALONE) + // Camera modes + typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; -// Vector2 type -typedef struct Vector2 { - float x; - float y; -} Vector2; + // Vector2 type + typedef struct Vector2 { + float x; + float y; + } Vector2; -// Vector3 type -typedef struct Vector3 { - float x; - float y; - float z; -} Vector3; + // Vector3 type + typedef struct Vector3 { + float x; + float y; + float z; + } Vector3; -// Camera type, defines a camera position/orientation in 3d space -typedef struct Camera { - Vector3 position; - Vector3 target; - Vector3 up; -} Camera; + // Camera type, defines a camera position/orientation in 3d space + typedef struct Camera { + Vector3 position; + Vector3 target; + Vector3 up; + } Camera; +#endif #ifdef __cplusplus extern "C" { // Prevents name mangling of functions @@ -75,6 +82,7 @@ extern "C" { // Prevents name mangling of functions //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- +#if defined(CAMERA_STANDALONE) void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) void UpdateCamera(Camera *camera); // Update camera (player position is ignored) void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) @@ -91,9 +99,527 @@ void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) +#endif #ifdef __cplusplus } #endif #endif // CAMERA_H + + +/*********************************************************************************** +* +* CAMERA IMPLEMENTATION +* +************************************************************************************/ + +#if defined(CAMERA_IMPLEMENTATION) + +#include // Required for: sqrt(), sin(), cos() + +#ifndef PI + #define PI 3.14159265358979323846 +#endif + +#ifndef DEG2RAD + #define DEG2RAD (PI/180.0f) +#endif + +#ifndef RAD2DEG + #define RAD2DEG (180.0f/PI) +#endif + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +// CAMERA_GENERIC +#define CAMERA_SCROLL_SENSITIVITY 1.5f + +// FREE_CAMERA +#define CAMERA_FREE_MOUSE_SENSITIVITY 0.01f +#define CAMERA_FREE_DISTANCE_MIN_CLAMP 0.3f +#define CAMERA_FREE_DISTANCE_MAX_CLAMP 120.0f +#define CAMERA_FREE_MIN_CLAMP 85.0f +#define CAMERA_FREE_MAX_CLAMP -85.0f +#define CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY 0.05f +#define CAMERA_FREE_PANNING_DIVIDER 5.1f + +// ORBITAL_CAMERA +#define CAMERA_ORBITAL_SPEED 0.01f + +// FIRST_PERSON +//#define CAMERA_FIRST_PERSON_MOUSE_SENSITIVITY 0.003f +#define CAMERA_FIRST_PERSON_FOCUS_DISTANCE 25.0f +#define CAMERA_FIRST_PERSON_MIN_CLAMP 85.0f +#define CAMERA_FIRST_PERSON_MAX_CLAMP -85.0f + +#define CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER 5.0f +#define CAMERA_FIRST_PERSON_STEP_DIVIDER 30.0f +#define CAMERA_FIRST_PERSON_WAVING_DIVIDER 200.0f + +#define CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION 0.85f + +// THIRD_PERSON +//#define CAMERA_THIRD_PERSON_MOUSE_SENSITIVITY 0.003f +#define CAMERA_THIRD_PERSON_DISTANCE_CLAMP 1.2f +#define CAMERA_THIRD_PERSON_MIN_CLAMP 5.0f +#define CAMERA_THIRD_PERSON_MAX_CLAMP -85.0f +#define CAMERA_THIRD_PERSON_OFFSET (Vector3){ 0.4f, 0.0f, 0.0f } + +// PLAYER (used by camera) +#define PLAYER_WIDTH 0.4f +#define PLAYER_HEIGHT 0.9f +#define PLAYER_DEPTH 0.4f +#define PLAYER_MOVEMENT_DIVIDER 20.0f + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +// Camera move modes (first person and third person cameras) +typedef enum { MOVE_FRONT = 0, MOVE_LEFT, MOVE_BACK, MOVE_RIGHT, MOVE_UP, MOVE_DOWN } CameraMove; + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +static Camera internalCamera = {{ 2.0f, 0.0f, 2.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; + +static Vector2 cameraAngle = { 0.0f, 0.0f }; +static float cameraTargetDistance = 5.0f; +static Vector2 cameraMousePosition = { 0.0f, 0.0f }; +static Vector2 cameraMouseVariation = { 0.0f, 0.0f }; + +static int cameraMoveControl[6] = { 'W', 'A', 'S', 'D', 'E', 'Q' }; +static int cameraPanControlKey = 2; // raylib: MOUSE_MIDDLE_BUTTON +static int cameraAltControlKey = 342; // raylib: KEY_LEFT_ALT +static int cameraSmoothZoomControlKey = 341; // raylib: KEY_LEFT_CONTROL + +static int cameraMoveCounter = 0; // Used for 1st person swinging movement +static float cameraMouseSensitivity = 0.003f; // How sensible is camera movement to mouse movement + +static int cameraMode = CAMERA_CUSTOM; // Current internal camera mode + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +static void ProcessCamera(Camera *camera, Vector3 *playerPosition); + +#if defined(CAMERA_STANDALONE) +// NOTE: Camera controls depend on some raylib input functions +// TODO: Set your own input functions (used in ProcessCamera()) +static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; } +static void SetMousePosition(Vector2 pos) {} +static int IsMouseButtonDown(int button) { return 0;} +static int GetMouseWheelMove() { return 0; } +static int GetScreenWidth() { return 1280; } +static int GetScreenHeight() { return 720; } +static void ShowCursor() {} +static void HideCursor() {} +static int IsKeyDown(int key) { return 0; } +#endif + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- + +// Select camera mode (multiple camera modes available) +// TODO: Review hardcoded values when changing modes... +void SetCameraMode(int mode) +{ + if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_FREE)) + { + cameraMode = CAMERA_THIRD_PERSON; + cameraTargetDistance = 5.0f; + cameraAngle.y = -40*DEG2RAD; + ProcessCamera(&internalCamera, &internalCamera.position); + } + else if ((cameraMode == CAMERA_FIRST_PERSON) && (mode == CAMERA_ORBITAL)) + { + cameraMode = CAMERA_THIRD_PERSON; + cameraTargetDistance = 5.0f; + cameraAngle.y = -40*DEG2RAD; + ProcessCamera(&internalCamera, &internalCamera.position); + } + else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_FREE)) + { + cameraTargetDistance = 10.0f; + cameraAngle.x = 45*DEG2RAD; + cameraAngle.y = -40*DEG2RAD; + internalCamera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; + ProcessCamera(&internalCamera, &internalCamera.position); + + ShowCursor(); + } + else if ((cameraMode == CAMERA_CUSTOM) && (mode == CAMERA_ORBITAL)) + { + cameraTargetDistance = 10.0f; + cameraAngle.x = 225*DEG2RAD; + cameraAngle.y = -40*DEG2RAD; + internalCamera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; + ProcessCamera(&internalCamera, &internalCamera.position); + } + + cameraMode = mode; +} + +// Update camera (player position is ignored) +void UpdateCamera(Camera *camera) +{ + Vector3 position = { 0.0f, 0.0f, 0.0f }; + + // Process internal camera and player position (if required) + if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, &position); + + *camera = internalCamera; +} + +// Update camera and player position (1st person and 3rd person cameras) +void UpdateCameraPlayer(Camera *camera, Vector3 *position) +{ + // Process internal camera and player position (if required) + if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, position); + + *camera = internalCamera; +} + +// Set internal camera position +void SetCameraPosition(Vector3 position) +{ + internalCamera.position = position; + + Vector3 v1 = internalCamera.position; + Vector3 v2 = internalCamera.target; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + float dz = v2.z - v1.z; + + cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); +} + +// Set internal camera target +void SetCameraTarget(Vector3 target) +{ + internalCamera.target = target; + + Vector3 v1 = internalCamera.position; + Vector3 v2 = internalCamera.target; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + float dz = v2.z - v1.z; + + cameraTargetDistance = sqrt(dx*dx + dy*dy + dz*dz); +} + +// Set internal camera fovy +void SetCameraFovy(float fovy) +{ + internalCamera.fovy = fovy; +} + +// Set camera pan key to combine with mouse movement (free camera) +void SetCameraPanControl(int panKey) +{ + cameraPanControlKey = panKey; +} + +// Set camera alt key to combine with mouse movement (free camera) +void SetCameraAltControl(int altKey) +{ + cameraAltControlKey = altKey; +} + +// Set camera smooth zoom key to combine with mouse (free camera) +void SetCameraSmoothZoomControl(int szKey) +{ + cameraSmoothZoomControlKey = szKey; +} + +// Set camera move controls (1st person and 3rd person cameras) +void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, int upKey, int downKey) +{ + cameraMoveControl[MOVE_FRONT] = frontKey; + cameraMoveControl[MOVE_LEFT] = leftKey; + cameraMoveControl[MOVE_BACK] = backKey; + cameraMoveControl[MOVE_RIGHT] = rightKey; + cameraMoveControl[MOVE_UP] = upKey; + cameraMoveControl[MOVE_DOWN] = downKey; +} + +// Set camera mouse sensitivity (1st person and 3rd person cameras) +void SetCameracameraMouseSensitivity(float sensitivity) +{ + cameraMouseSensitivity = (sensitivity/10000.0f); +} + +//---------------------------------------------------------------------------------- +// Module specific Functions Definition +//---------------------------------------------------------------------------------- + +// Process desired camera mode and controls +// NOTE: Camera controls depend on some raylib functions: +// Mouse: GetMousePosition(), SetMousePosition(), IsMouseButtonDown(), GetMouseWheelMove() +// System: GetScreenWidth(), GetScreenHeight(), ShowCursor(), HideCursor() +// Keys: IsKeyDown() +static void ProcessCamera(Camera *camera, Vector3 *playerPosition) +{ + // Mouse movement detection + Vector2 mousePosition = GetMousePosition(); + int mouseWheelMove = GetMouseWheelMove(); + int panKey = IsMouseButtonDown(cameraPanControlKey); // bool value + + int screenWidth = GetScreenWidth(); + int screenHeight = GetScreenHeight(); + + if ((cameraMode != CAMERA_FREE) && (cameraMode != CAMERA_ORBITAL)) + { + HideCursor(); + + if (mousePosition.x < screenHeight/3) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y}); + else if (mousePosition.y < screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3}); + else if (mousePosition.x > screenWidth - screenHeight/3) SetMousePosition((Vector2) { screenHeight/3, mousePosition.y}); + else if (mousePosition.y > screenHeight - screenHeight/3) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3}); + else + { + cameraMouseVariation.x = mousePosition.x - cameraMousePosition.x; + cameraMouseVariation.y = mousePosition.y - cameraMousePosition.y; + } + } + else + { + ShowCursor(); + + cameraMouseVariation.x = mousePosition.x - cameraMousePosition.x; + cameraMouseVariation.y = mousePosition.y - cameraMousePosition.y; + } + + // NOTE: We GetMousePosition() again because it can be modified by a previous SetMousePosition() call + // If using directly mousePosition variable we have problems on CAMERA_FIRST_PERSON and CAMERA_THIRD_PERSON + cameraMousePosition = GetMousePosition(); + + // Support for multiple automatic camera modes + switch (cameraMode) + { + case CAMERA_FREE: + { + // Camera zoom + if ((cameraTargetDistance < CAMERA_FREE_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) + { + cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + + if (cameraTargetDistance > CAMERA_FREE_DISTANCE_MAX_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MAX_CLAMP; + } + // Camera looking down + else if ((camera->position.y > camera->target.y) && (cameraTargetDistance == CAMERA_FREE_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) + { + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + } + else if ((camera->position.y > camera->target.y) && (camera->target.y >= 0)) + { + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + + // if (camera->target.y < 0) camera->target.y = -0.001; + } + else if ((camera->position.y > camera->target.y) && (camera->target.y < 0) && (mouseWheelMove > 0)) + { + cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + if (cameraTargetDistance < CAMERA_FREE_DISTANCE_MIN_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MIN_CLAMP; + } + // Camera looking up + else if ((camera->position.y < camera->target.y) && (cameraTargetDistance == CAMERA_FREE_DISTANCE_MAX_CLAMP) && (mouseWheelMove < 0)) + { + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + } + else if ((camera->position.y < camera->target.y) && (camera->target.y <= 0)) + { + camera->target.x += mouseWheelMove*(camera->target.x - camera->position.x)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.y += mouseWheelMove*(camera->target.y - camera->position.y)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + camera->target.z += mouseWheelMove*(camera->target.z - camera->position.z)*CAMERA_SCROLL_SENSITIVITY/cameraTargetDistance; + + // if (camera->target.y > 0) camera->target.y = 0.001; + } + else if ((camera->position.y < camera->target.y) && (camera->target.y > 0) && (mouseWheelMove > 0)) + { + cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + if (cameraTargetDistance < CAMERA_FREE_DISTANCE_MIN_CLAMP) cameraTargetDistance = CAMERA_FREE_DISTANCE_MIN_CLAMP; + } + + // Inputs + if (IsKeyDown(cameraAltControlKey)) + { + if (IsKeyDown(cameraSmoothZoomControlKey)) + { + // Camera smooth zoom + if (panKey) cameraTargetDistance += (cameraMouseVariation.y*CAMERA_FREE_SMOOTH_ZOOM_SENSITIVITY); + } + // Camera orientation calculation + else if (panKey) + { + // Camera orientation calculation + // Get the mouse sensitivity + cameraAngle.x += cameraMouseVariation.x*-CAMERA_FREE_MOUSE_SENSITIVITY; + cameraAngle.y += cameraMouseVariation.y*-CAMERA_FREE_MOUSE_SENSITIVITY; + + // Angle clamp + if (cameraAngle.y > CAMERA_FREE_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MIN_CLAMP*DEG2RAD; + else if (cameraAngle.y < CAMERA_FREE_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FREE_MAX_CLAMP*DEG2RAD; + } + } + // Paning + else if (panKey) + { + camera->target.x += ((cameraMouseVariation.x*-CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x) + (cameraMouseVariation.y*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.y += ((cameraMouseVariation.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + camera->target.z += ((cameraMouseVariation.x*CAMERA_FREE_MOUSE_SENSITIVITY)*sin(cameraAngle.x) + (cameraMouseVariation.y*CAMERA_FREE_MOUSE_SENSITIVITY)*cos(cameraAngle.x)*sin(cameraAngle.y))*(cameraTargetDistance/CAMERA_FREE_PANNING_DIVIDER); + } + + // Focus to center + // TODO: Move this function out of this module? + if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; + + // Camera position update + camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; + + if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + + camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; + + } break; + case CAMERA_ORBITAL: + { + cameraAngle.x += CAMERA_ORBITAL_SPEED; + + // Camera zoom + cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + + // Camera distance clamp + if (cameraTargetDistance < CAMERA_THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = CAMERA_THIRD_PERSON_DISTANCE_CLAMP; + + // Focus to center + if (IsKeyDown('Z')) camera->target = (Vector3){ 0.0f, 0.0f, 0.0f }; + + // Camera position update + camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; + + if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + + camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; + + } break; + case CAMERA_FIRST_PERSON: + case CAMERA_THIRD_PERSON: + { + bool isMoving = false; + + // Keyboard inputs + if (IsKeyDown(cameraMoveControl[MOVE_FRONT])) + { + playerPosition->x -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + playerPosition->z -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + + camera->position.y += sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; + + isMoving = true; + } + else if (IsKeyDown(cameraMoveControl[MOVE_BACK])) + { + playerPosition->x += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + playerPosition->z += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + + camera->position.y -= sin(cameraAngle.y)/PLAYER_MOVEMENT_DIVIDER; + + isMoving = true; + } + + if (IsKeyDown(cameraMoveControl[MOVE_LEFT])) + { + playerPosition->x -= cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + playerPosition->z += sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + + isMoving = true; + } + else if (IsKeyDown(cameraMoveControl[MOVE_RIGHT])) + { + playerPosition->x += cos(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + playerPosition->z -= sin(cameraAngle.x)/PLAYER_MOVEMENT_DIVIDER; + + isMoving = true; + } + + if (IsKeyDown(cameraMoveControl[MOVE_UP])) + { + playerPosition->y += 1.0f/PLAYER_MOVEMENT_DIVIDER; + } + else if (IsKeyDown(cameraMoveControl[MOVE_DOWN])) + { + playerPosition->y -= 1.0f/PLAYER_MOVEMENT_DIVIDER; + } + + if (cameraMode == CAMERA_THIRD_PERSON) + { + // Camera orientation calculation + cameraAngle.x += cameraMouseVariation.x*-cameraMouseSensitivity; + cameraAngle.y += cameraMouseVariation.y*-cameraMouseSensitivity; + + // Angle clamp + if (cameraAngle.y > CAMERA_THIRD_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_THIRD_PERSON_MIN_CLAMP*DEG2RAD; + else if (cameraAngle.y < CAMERA_THIRD_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_THIRD_PERSON_MAX_CLAMP*DEG2RAD; + + // Camera zoom + cameraTargetDistance -= (mouseWheelMove*CAMERA_SCROLL_SENSITIVITY); + + // Camera distance clamp + if (cameraTargetDistance < CAMERA_THIRD_PERSON_DISTANCE_CLAMP) cameraTargetDistance = CAMERA_THIRD_PERSON_DISTANCE_CLAMP; + + // Camera is always looking at player + camera->target.x = playerPosition->x + CAMERA_THIRD_PERSON_OFFSET.x*cos(cameraAngle.x) + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x); + camera->target.y = playerPosition->y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION + CAMERA_THIRD_PERSON_OFFSET.y; + camera->target.z = playerPosition->z + CAMERA_THIRD_PERSON_OFFSET.z*sin(cameraAngle.x) - CAMERA_THIRD_PERSON_OFFSET.x*sin(cameraAngle.x); + + // Camera position update + camera->position.x = sin(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.x; + + if (cameraAngle.y <= 0.0f) camera->position.y = sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + else camera->position.y = -sin(cameraAngle.y)*cameraTargetDistance*sin(cameraAngle.y) + camera->target.y; + + camera->position.z = cos(cameraAngle.x)*cameraTargetDistance*cos(cameraAngle.y) + camera->target.z; + } + else // CAMERA_FIRST_PERSON + { + if (isMoving) cameraMoveCounter++; + + // Camera orientation calculation + cameraAngle.x += (cameraMouseVariation.x*-cameraMouseSensitivity); + cameraAngle.y += (cameraMouseVariation.y*-cameraMouseSensitivity); + + // Angle clamp + if (cameraAngle.y > CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MIN_CLAMP*DEG2RAD; + else if (cameraAngle.y < CAMERA_FIRST_PERSON_MAX_CLAMP*DEG2RAD) cameraAngle.y = CAMERA_FIRST_PERSON_MAX_CLAMP*DEG2RAD; + + // Camera is always looking at player + camera->target.x = camera->position.x - sin(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; + camera->target.y = camera->position.y + sin(cameraAngle.y)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; + camera->target.z = camera->position.z - cos(cameraAngle.x)*CAMERA_FIRST_PERSON_FOCUS_DISTANCE; + + camera->position.x = playerPosition->x; + camera->position.y = (playerPosition->y + PLAYER_HEIGHT*CAMERA_FIRST_PERSON_HEIGHT_RELATIVE_EYES_POSITION) - sin(cameraMoveCounter/CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER)/CAMERA_FIRST_PERSON_STEP_DIVIDER; + camera->position.z = playerPosition->z; + + camera->up.x = sin(cameraMoveCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; + camera->up.z = -sin(cameraMoveCounter/(CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER*2))/CAMERA_FIRST_PERSON_WAVING_DIVIDER; + } + } break; + default: break; + } +} + +#endif // CAMERA_IMPLEMENTATION diff --git a/src/core.c b/src/core.c index 4cb34b0ae..2b5329e37 100644 --- a/src/core.c +++ b/src/core.c @@ -48,6 +48,9 @@ #define GESTURES_IMPLEMENTATION #include "gestures.h" // Gestures detection functionality +#define CAMERA_IMPLEMENTATION +#include "camera.h" // Camera system functionality + #include // Standard input / output lib #include // Declares malloc() and free() for memory management, rand(), atexit() #include // Required for typedef unsigned long long int uint64_t, used by hi-res timer From 29f14186c1da2c73c6e0c94c8a744f163784e762 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 11 Aug 2016 12:08:41 +0200 Subject: [PATCH 049/102] Updated games to latest raylib version Updated to new audio system --- games/drturtle/05_drturtle_audio.c | 15 +++++++------ games/drturtle/06_drturtle_final.c | 17 ++++++++------- games/drturtle/drturtle_final_web.c | 19 ++++++++++------- games/just_do/just_do.c | 17 +++++++++------ games/light_my_ritual/light_my_ritual.c | 20 +++++++++++++----- .../light_my_ritual/screens/screen_gameplay.c | 21 ++++++++++++------- .../screens/screen_logo_raylib.c | 5 +---- games/raylib_demo/raylib_demo.c | 20 ++++++++++++------ games/skully_escape/skully_escape.c | 11 +++++++--- 9 files changed, 93 insertions(+), 52 deletions(-) diff --git a/games/drturtle/05_drturtle_audio.c b/games/drturtle/05_drturtle_audio.c index 4a36d015c..b94de1067 100644 --- a/games/drturtle/05_drturtle_audio.c +++ b/games/drturtle/05_drturtle_audio.c @@ -12,7 +12,7 @@ * * Enjoy using raylib. :) * -* This game has been created using raylib 1.1 (www.raylib.com) +* This game has been created using raylib 1.6 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) @@ -59,8 +59,9 @@ int main() Sound die = LoadSound("resources/die.wav"); Sound growl = LoadSound("resources/gamera.wav"); - // Start playing streaming music - PlayMusicStream("resources/speeding.ogg"); + // Load music stream and start playing music + Music music = LoadMusicStream("resources/speeding.ogg"); + PlayMusicStream(music); // Define scrolling variables int backScrolling = 0; @@ -118,6 +119,8 @@ int main() { // Update //---------------------------------------------------------------------------------- + UpdateMusicStream(music); // Refill music stream buffers (if required) + framesCounter++; // Game screens management @@ -458,10 +461,10 @@ int main() UnloadSound(die); UnloadSound(growl); - StopMusicStream(); // Stop music - CloseAudioDevice(); // Close audio device + UnloadMusicStream(music); // Unload music + CloseAudioDevice(); // Close audio device - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; diff --git a/games/drturtle/06_drturtle_final.c b/games/drturtle/06_drturtle_final.c index 128b23a56..487080944 100644 --- a/games/drturtle/06_drturtle_final.c +++ b/games/drturtle/06_drturtle_final.c @@ -12,7 +12,7 @@ * * Enjoy using raylib. :) * -* This game has been created using raylib 1.1 (www.raylib.com) +* This game has been created using raylib 1.6 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) @@ -39,7 +39,7 @@ int main() InitWindow(screenWidth, screenHeight, "Dr. Turtle & Mr. GAMERA"); // Initialize audio device - InitAudioDevice(); + InitAudioDevice(); // Load game resources: textures Texture2D sky = LoadTexture("resources/sky.png"); @@ -62,8 +62,9 @@ int main() Sound die = LoadSound("resources/die.wav"); Sound growl = LoadSound("resources/gamera.wav"); - // Start playing streaming music - PlayMusicStream("resources/speeding.ogg"); + // Load music stream and start playing music + Music music = LoadMusicStream("resources/speeding.ogg"); + PlayMusicStream(music); // Define scrolling variables int backScrolling = 0; @@ -127,6 +128,8 @@ int main() { // Update //---------------------------------------------------------------------------------- + UpdateMusicStream(music); // Refill music stream buffers (if required) + framesCounter++; // Sea color tint effect @@ -483,10 +486,10 @@ int main() UnloadSound(die); UnloadSound(growl); - StopMusicStream(); // Stop music - CloseAudioDevice(); // Close audio device + UnloadMusicStream(music); // Unload music + CloseAudioDevice(); // Close audio device - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; diff --git a/games/drturtle/drturtle_final_web.c b/games/drturtle/drturtle_final_web.c index 25f4074be..bec7ebd0f 100644 --- a/games/drturtle/drturtle_final_web.c +++ b/games/drturtle/drturtle_final_web.c @@ -12,7 +12,7 @@ * * Enjoy using raylib. :) * -* This game has been created using raylib 1.1 (www.raylib.com) +* This game has been created using raylib 1.6 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) @@ -54,6 +54,8 @@ Sound eat; Sound die; Sound growl; +Music music; + // Define scrolling variables int backScrolling = 0; int seaScrolling = 0; @@ -124,8 +126,9 @@ int main() die = LoadSound("resources/die.wav"); growl = LoadSound("resources/gamera.wav"); - // Start playing streaming music - PlayMusicStream("resources/speeding.ogg"); + // Load music stream and start playing music + music = LoadMusicStream("resources/speeding.ogg"); + PlayMusicStream(music); playerBounds = (Rectangle){ 30 + 14, playerRail*120 + 90 + 14, 100, 100 }; @@ -190,10 +193,10 @@ int main() UnloadSound(die); UnloadSound(growl); - StopMusicStream(); // Stop music - CloseAudioDevice(); // Close audio device + UnloadMusicStream(music); // Unload music + CloseAudioDevice(); // Close audio device - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; @@ -206,8 +209,8 @@ void UpdateDrawFrame(void) { // Update //---------------------------------------------------------------------------------- - UpdateMusicStream(); - + UpdateMusicStream(music); // Refill music stream buffers (if required) + framesCounter++; // Sea color tint effect diff --git a/games/just_do/just_do.c b/games/just_do/just_do.c index beac9e149..811150d3f 100644 --- a/games/just_do/just_do.c +++ b/games/just_do/just_do.c @@ -6,7 +6,7 @@ * * Developed by: Ramon Santamaria (Ray San) * -* This game has been created using raylib (www.raylib.com) +* This game has been created using raylib 1.6 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * raylib - Copyright (c) 2015 Ramon Santamaria (Ray San - raysan@raysanweb.com) @@ -23,7 +23,7 @@ //---------------------------------------------------------------------------------- // Global Variables Definition (local to this module) //---------------------------------------------------------------------------------- -const int screenWidth = 1280; // Moved to screens.h +const int screenWidth = 1280; // Moved to screens.h const int screenHeight = 720; // Moved to screens.h // Required variables to manage screen transitions (fade-in, fade-out) @@ -35,6 +35,7 @@ int transToScreen = -1; int framesCounter = 0; //static Sound levelWin; +Music music; //---------------------------------------------------------------------------------- // Local Functions Declaration @@ -57,10 +58,11 @@ int main(void) //SetupFlags(FLAG_FULLSCREEN_MODE); InitWindow(screenWidth, screenHeight, windowTitle); - // TODO: Load global data here (assets that must be available in all screens, i.e. fonts) + // Load global data here (assets that must be available in all screens, i.e. fonts) InitAudioDevice(); levelWin = LoadSound("resources/win.wav"); + music = LoadMusicStream("resources/ambient.ogg"); // Setup and Init first screen currentScreen = LOGO; @@ -85,8 +87,9 @@ int main(void) // De-Initialization //-------------------------------------------------------------------------------------- - // TODO: Unload all global loaded data (i.e. fonts) here! + // Unload all global loaded data (i.e. fonts) here! UnloadSound(levelWin); + UnloadMusicStream(music); CloseAudioDevice(); @@ -197,6 +200,8 @@ void UpdateDrawFrame(void) InitLevel08Screen(); } + UpdateMusicStream(music); + switch(currentScreen) { case LOGO: @@ -209,8 +214,8 @@ void UpdateDrawFrame(void) TransitionToScreen(LEVEL00); InitLevel00Screen(); - PlayMusicStream("resources/ambient.ogg"); - SetMusicVolume(0.6f); + PlayMusicStream(music); + SetMusicVolume(music, 0.6f); } } break; case LEVEL00: diff --git a/games/light_my_ritual/light_my_ritual.c b/games/light_my_ritual/light_my_ritual.c index 0f1dc47ee..000eca363 100644 --- a/games/light_my_ritual/light_my_ritual.c +++ b/games/light_my_ritual/light_my_ritual.c @@ -35,6 +35,8 @@ bool onTransition = false; bool transFadeOut = false; int transFromScreen = -1; int transToScreen = -1; + +static Music music; //---------------------------------------------------------------------------------- // Local Functions Declaration @@ -66,11 +68,13 @@ int main(void) UnloadImage(image); // Unload image from CPU memory (RAM) - //PlayMusicStream("resources/audio/come_play_with_me.ogg"); - font = LoadSpriteFont("resources/font_arcadian.png"); //doors = LoadTexture("resources/textures/doors.png"); //sndDoor = LoadSound("resources/audio/door.ogg"); + + music = LoadMusicStream("resources/audio/ambient.ogg"); + PlayMusicStream(music); + SetMusicVolume(music, 1.0f); // Setup and Init first screen currentScreen = LOGO_RL; @@ -105,6 +109,8 @@ int main(void) UnloadSpriteFont(font); //UnloadSound(sndDoor); + UnloadMusicStream(music); + free(lightsMap); CloseAudioDevice(); @@ -218,13 +224,17 @@ void UpdateDrawFrame(void) rlUpdateLogoScreen(); if (rlFinishLogoScreen()) TransitionToScreen(TITLE); - + } break; case TITLE: { UpdateTitleScreen(); - if (FinishTitleScreen() == 1) TransitionToScreen(GAMEPLAY); + if (FinishTitleScreen() == 1) + { + StopMusicStream(music); + TransitionToScreen(GAMEPLAY); + } } break; case GAMEPLAY: @@ -244,7 +254,7 @@ void UpdateDrawFrame(void) UpdateTransition(); } - UpdateMusicStream(); + if (currentScreen != GAMEPLAY) UpdateMusicStream(music); //---------------------------------------------------------------------------------- // Draw diff --git a/games/light_my_ritual/screens/screen_gameplay.c b/games/light_my_ritual/screens/screen_gameplay.c index b91d25459..c1779f738 100644 --- a/games/light_my_ritual/screens/screen_gameplay.c +++ b/games/light_my_ritual/screens/screen_gameplay.c @@ -64,7 +64,7 @@ typedef struct Enemy { Color color; } Enemy; -typedef struct Light { +typedef struct LightSpot { Vector2 position; int radius; int requiredEnergy; @@ -74,7 +74,7 @@ typedef struct Light { int framesCounter; int currentFrame; Rectangle frameRec; -} Light; +} LightSpot; typedef enum { LEVEL_I, LEVEL_II, LEVEL_III, LEVEL_FINISHED } LightedLevel; @@ -92,9 +92,9 @@ static bool pause; static Player player; -static Light lightsI[MAX_LIGHTS_I]; -static Light lightsII[MAX_LIGHTS_II]; -static Light lightsIII[MAX_LIGHTS_III]; +static LightSpot lightsI[MAX_LIGHTS_I]; +static LightSpot lightsII[MAX_LIGHTS_II]; +static LightSpot lightsIII[MAX_LIGHTS_III]; static Enemy enemies[MAX_ENEMIES]; @@ -133,6 +133,8 @@ static Rectangle lightOff, lightOn; static Sound fxLightOn, fxLightOff; +static Music music; + // Debug variables static bool enemiesStopped; @@ -286,7 +288,8 @@ void InitGameplayScreen(void) enemiesStopped = false; - PlayMusicStream("resources/audio/ritual.ogg"); + music = LoadMusicStream("resources/audio/ritual.ogg"); + PlayMusicStream(music); } // Gameplay Screen Update logic @@ -549,10 +552,12 @@ void UpdateGameplayScreen(void) { alphaRitual += 0.02f; - SetMusicVolume(1.0f - alphaRitual); + SetMusicVolume(music, 1.0f - alphaRitual); if (alphaRitual > 1.0f) finishScreen = 1; } + + UpdateMusicStream(music); } // Gameplay Screen Draw logic @@ -757,6 +762,8 @@ void UnloadGameplayScreen(void) // Unload sounds UnloadSound(fxLightOn); UnloadSound(fxLightOff); + + UnloadMusicStream(music); } // Gameplay Screen should finish? diff --git a/games/light_my_ritual/screens/screen_logo_raylib.c b/games/light_my_ritual/screens/screen_logo_raylib.c index 40157b105..f21055d7b 100644 --- a/games/light_my_ritual/screens/screen_logo_raylib.c +++ b/games/light_my_ritual/screens/screen_logo_raylib.c @@ -75,9 +75,6 @@ void rlInitLogoScreen(void) state = 0; alpha = 1.0f; - - PlayMusicStream("resources/audio/ambient.ogg"); - SetMusicVolume(1.0f); } // Logo Screen Update logic @@ -204,7 +201,7 @@ void rlDrawLogoScreen(void) // Logo Screen Unload logic void rlUnloadLogoScreen(void) { - // TODO: Unload LOGO screen variables here! + // Unload LOGO screen variables here! } // Logo Screen should finish? diff --git a/games/raylib_demo/raylib_demo.c b/games/raylib_demo/raylib_demo.c index 22213b467..722d8ce6e 100644 --- a/games/raylib_demo/raylib_demo.c +++ b/games/raylib_demo/raylib_demo.c @@ -123,6 +123,8 @@ Model cat; Sound fxWav; Sound fxOgg; +Music music; + Vector2 soundBallsPosition[MAX_BALLS]; Color soundBallsColor[MAX_BALLS]; bool soundBallsActive[MAX_BALLS]; @@ -203,11 +205,13 @@ int main() catTexture = LoadTexture("resources/catsham.png"); // Load model texture cat = LoadModel("resources/cat.obj"); // Load OBJ model - cat.material.texDiffuse = texture; // Set cat model diffuse texture + cat.material.texDiffuse = catTexture; // Set cat model diffuse texture fxWav = LoadSound("resources/audio/weird.wav"); // Load WAV audio file fxOgg = LoadSound("resources/audio/tanatana.ogg"); // Load OGG audio file + music = LoadMusicStream("resources/audio/guitar_noodling.ogg"); // Load music + for (int i = 0; i < MAX_BALLS; i++) { soundBallsPosition[i] = (Vector2){ 650 + 560/2 + GetRandomValue(-280, 280), 220 + 200 + GetRandomValue(-200, 200) }; @@ -267,6 +271,8 @@ int main() UnloadSound(fxWav); UnloadSound(fxOgg); + + UnloadMusicStream(music); CloseAudioDevice(); @@ -464,11 +470,11 @@ void UpdateDrawOneFrame(void) if (selectedModule == AUDIO) { - if (IsKeyPressed(KEY_SPACE) && !MusicIsPlaying()) PlayMusicStream("resources/audio/guitar_noodling.ogg"); // Play music stream + if (IsKeyPressed(KEY_SPACE) && !IsMusicPlaying(music)) PlayMusicStream(music); // Play music stream if (IsKeyPressed('S')) { - StopMusicStream(); + StopMusicStream(music); timePlayed = 0.0f; for (int i = 0; i < MAX_BALLS; i++) @@ -482,9 +488,11 @@ void UpdateDrawOneFrame(void) } } - if (MusicIsPlaying()) + if (IsMusicPlaying(music)) { - timePlayed = GetMusicTimePlayed() / GetMusicTimeLength() * 100 * 4; + UpdateMusicStream(music); + + timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; if ((framesCounter%10) == 0) { @@ -842,7 +850,7 @@ void UpdateDrawOneFrame(void) DrawRectangle(150, 390, 400, 12, LIGHTGRAY); DrawRectangle(150, 390, (int)timePlayed, 12, MAROON); - if (MusicIsPlaying()) + if (IsMusicPlaying(music)) { DrawText("PRESS 'S' to STOP PLAYING MUSIC", 165, 425, 20, GRAY); diff --git a/games/skully_escape/skully_escape.c b/games/skully_escape/skully_escape.c index 22cc04e4d..83f9732b2 100644 --- a/games/skully_escape/skully_escape.c +++ b/games/skully_escape/skully_escape.c @@ -2,7 +2,7 @@ * * SKULLY ESCAPE [KING GAME JAM 2015] * -* This game has been created using raylib (www.raylib.com) +* This game has been created using raylib 1.6 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) @@ -32,6 +32,8 @@ int transFromScreen = -1; int transToScreen = -1; static int framesCounter = 0; + +Music music; //---------------------------------------------------------------------------------- // Local Functions Declaration @@ -57,7 +59,8 @@ int main(void) // Global data loading (assets that must be available in all screens, i.e. fonts) InitAudioDevice(); - PlayMusicStream("resources/audio/come_play_with_me.ogg"); + music = LoadMusicStream("resources/audio/come_play_with_me.ogg"); + PlayMusicStream(music); font = LoadSpriteFont("resources/textures/alagard.png"); doors = LoadTexture("resources/textures/doors.png"); @@ -93,6 +96,8 @@ int main(void) UnloadSound(sndDoor); UnloadSound(sndScream); + UnloadMusicStream(music); + CloseAudioDevice(); CloseWindow(); // Close window and OpenGL context @@ -368,7 +373,7 @@ void UpdateDrawFrame(void) UpdateTransition(); } - UpdateMusicStream(); + UpdateMusicStream(music); //---------------------------------------------------------------------------------- // Draw From 6e20037f7d72931f52a0bd03abbb45e2e7abf2e8 Mon Sep 17 00:00:00 2001 From: Teodor Stoenescu Date: Fri, 12 Aug 2016 21:42:17 +0300 Subject: [PATCH 050/102] Small fix for GenMeshCubicmap() This fix allows GenMeshCubicmap() to create cubic maps having cells of arbitrary sizes. --- src/models.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/models.c b/src/models.c index 7f248aa25..427984836 100644 --- a/src/models.c +++ b/src/models.c @@ -920,8 +920,8 @@ static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) Color *cubicmapPixels = GetImageData(cubicmap); - int mapWidth = cubicmap.width*(int)cubeSize.x; - int mapHeight = cubicmap.height*(int)cubeSize.z; + int mapWidth = cubicmap.width; + int mapHeight = cubicmap.height; // NOTE: Max possible number of triangles numCubes * (12 triangles by cube) int maxTriangles = cubicmap.width*cubicmap.height*12; @@ -961,19 +961,19 @@ static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) RectangleF topTexUV = { 0.0f, 0.5f, 0.5f, 0.5f }; RectangleF bottomTexUV = { 0.5f, 0.5f, 0.5f, 0.5f }; - for (int z = 0; z < mapHeight; z += cubeSize.z) + for (int z = 0; z < mapHeight; ++z) { - for (int x = 0; x < mapWidth; x += cubeSize.x) + for (int x = 0; x < mapWidth; ++x) { // Define the 8 vertex of the cube, we will combine them accordingly later... - Vector3 v1 = { x - w/2, h2, z - h/2 }; - Vector3 v2 = { x - w/2, h2, z + h/2 }; - Vector3 v3 = { x + w/2, h2, z + h/2 }; - Vector3 v4 = { x + w/2, h2, z - h/2 }; - Vector3 v5 = { x + w/2, 0, z - h/2 }; - Vector3 v6 = { x - w/2, 0, z - h/2 }; - Vector3 v7 = { x - w/2, 0, z + h/2 }; - Vector3 v8 = { x + w/2, 0, z + h/2 }; + Vector3 v1 = { w * (x - .5f), h2, h * (z - .5f) }; + Vector3 v2 = { w * (x - .5f), h2, h * (z + .5f) }; + Vector3 v3 = { w * (x + .5f), h2, h * (z + .5f) }; + Vector3 v4 = { w * (x + .5f), h2, h * (z - .5f) }; + Vector3 v5 = { w * (x + .5f), 0, h * (z - .5f) }; + Vector3 v6 = { w * (x - .5f), 0, h * (z - .5f) }; + Vector3 v7 = { w * (x - .5f), 0, h * (z + .5f) }; + Vector3 v8 = { w * (x + .5f), 0, h * (z + .5f) }; // We check pixel color to be WHITE, we will full cubes if ((cubicmapPixels[z*cubicmap.width + x].r == 255) && From 3377a4485b309ef52092cdf4da608313b266d919 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 13 Aug 2016 11:31:15 +0200 Subject: [PATCH 051/102] Support shared/dynamic raylib compilation Generates: Win32: raylib.dll, libraylibdll.a (import library) Linux: libraylib.so --- src/Makefile | 35 ++-- src/raylib.h | 532 ++++++++++++++++++++++++++------------------------- 2 files changed, 291 insertions(+), 276 deletions(-) diff --git a/src/Makefile b/src/Makefile index b4eccdb2b..758125666 100644 --- a/src/Makefile +++ b/src/Makefile @@ -35,7 +35,7 @@ # possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB PLATFORM ?= PLATFORM_DESKTOP -# define if you want shared or static version of library. +# define YES if you want shared/dynamic version of library instead of static (default) SHARED ?= NO # determine if the file has root access (only for installing raylib) @@ -95,8 +95,11 @@ endif # -Wno-missing-braces ignore invalid warning (GCC bug 53119) CFLAGS = -O1 -Wall -std=gnu99 -fgnu89-inline -Wno-missing-braces +# if shared library required, make sure code is compiled as position independent ifeq ($(SHARED),YES) CFLAGS += -fPIC + SHAREDFLAG = BUILDING_DLL + SHAREDLIBS = -Lexternal/glfw3/lib/win32 -Lexternal/openal_soft/lib/win32 -lglfw3 -lopenal32 -lgdi32 endif #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes @@ -152,12 +155,16 @@ ifeq ($(PLATFORM),PLATFORM_WEB) @echo "libraylib.bc generated (web version)!" else ifeq ($(SHARED),YES) - ifeq ($(PLATFORM_OS),LINUX) - # compile raylib to shared library version for GNU/Linux. - # WARNING: you should type "make clean" before doing this target - $(CC) -shared -o $(OUTPUT_PATH)/libraylib.so $(OBJS) - @echo "libraylib.so generated (shared library)!" - endif + ifeq ($(PLATFORM_OS),LINUX) + # compile raylib to shared library version for GNU/Linux. + # WARNING: you should type "make clean" before doing this target + $(CC) -shared -o $(OUTPUT_PATH)/libraylib.so $(OBJS) + @echo "raylib shared library (libraylib.so) generated!" + endif + ifeq ($(PLATFORM_OS),WINDOWS) + $(CC) -shared -o $(OUTPUT_PATH)/raylib.dll $(OBJS) $(SHAREDLIBS) -Wl,--out-implib,$(OUTPUT_PATH)/libraylibdll.a + @echo "raylib dynamic library (raylib.dll) and MSVC required import library (libraylibdll.a) generated!" + endif else # compile raylib static library for desktop platforms. ar rcs $(OUTPUT_PATH)/libraylib.a $(OBJS) @@ -169,7 +176,7 @@ endif # compile core module core.o : core.c raylib.h rlgl.h utils.h raymath.h gestures.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(SHAREDFLAG) # compile rlgl module rlgl.o : rlgl.c rlgl.h raymath.h @@ -177,23 +184,23 @@ rlgl.o : rlgl.c rlgl.h raymath.h # compile shapes module shapes.o : shapes.c raylib.h rlgl.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(SHAREDFLAG) # compile textures module textures.o : textures.c rlgl.h utils.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(GRAPHICS) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(GRAPHICS) -D$(SHAREDFLAG) # compile text module text.o : text.c raylib.h utils.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(SHAREDFLAG) # compile models module models.o : models.c raylib.h rlgl.h raymath.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(SHAREDFLAG) # compile audio module audio.o : audio.c raylib.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(SHAREDFLAG) # compile stb_vorbis library external/stb_vorbis.o: external/stb_vorbis.c external/stb_vorbis.h @@ -201,7 +208,7 @@ external/stb_vorbis.o: external/stb_vorbis.c external/stb_vorbis.h # compile utils module utils.o : utils.c utils.h - $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(SHAREDFLAG) # It installs generated and needed files to compile projects using raylib. # The installation works manually. diff --git a/src/raylib.h b/src/raylib.h index 1673578df..c2e65b684 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -81,6 +81,14 @@ typedef struct android_app; // Define android_app struct (android_native_app_glue.h) #endif +#if defined(_WIN32) && defined(BUILDING_DLL) + #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 DLL +#elif defined(_WIN32) && defined(RAYLIB_DLL) + #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 DLL +#else + #define RLAPI // We are building or using raylib as a static library (or Linux shared library) +#endif + //---------------------------------------------------------------------------------- // Some basic Defines //---------------------------------------------------------------------------------- @@ -576,94 +584,94 @@ extern "C" { // Prevents name mangling of functions // Window and Graphics Device Functions (Module: core) //------------------------------------------------------------------------------------ #if defined(PLATFORM_ANDROID) -void InitWindow(int width, int height, struct android_app *state); // Init Android Activity and OpenGL Graphics +RLAPI void InitWindow(int width, int height, struct android_app *state); // Init Android Activity and OpenGL Graphics #elif defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) -void InitWindow(int width, int height, const char *title); // Initialize Window and OpenGL Graphics +RLAPI void InitWindow(int width, int height, const char *title); // Initialize Window and OpenGL Graphics #endif -void CloseWindow(void); // Close Window and Terminate Context -bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed -bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) -void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) -int GetScreenWidth(void); // Get current screen width -int GetScreenHeight(void); // Get current screen height +RLAPI void CloseWindow(void); // Close Window and Terminate Context +RLAPI bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed +RLAPI bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) +RLAPI void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) +RLAPI int GetScreenWidth(void); // Get current screen width +RLAPI int GetScreenHeight(void); // Get current screen height -void ShowCursor(void); // Shows cursor -void HideCursor(void); // Hides cursor -bool IsCursorHidden(void); // Returns true if cursor is not visible -void EnableCursor(void); // Enables cursor -void DisableCursor(void); // Disables cursor +RLAPI void ShowCursor(void); // Shows cursor +RLAPI void HideCursor(void); // Hides cursor +RLAPI bool IsCursorHidden(void); // Returns true if cursor is not visible +RLAPI void EnableCursor(void); // Enables cursor +RLAPI void DisableCursor(void); // Disables cursor -void ClearBackground(Color color); // Sets Background Color -void BeginDrawing(void); // Setup drawing canvas to start drawing -void EndDrawing(void); // End canvas drawing and Swap Buffers (Double Buffering) +RLAPI void ClearBackground(Color color); // Sets Background Color +RLAPI void BeginDrawing(void); // Setup drawing canvas to start drawing +RLAPI void EndDrawing(void); // End canvas drawing and Swap Buffers (Double Buffering) -void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera -void End2dMode(void); // Ends 2D mode custom camera usage -void Begin3dMode(Camera camera); // Initializes 3D mode for drawing (Camera setup) -void End3dMode(void); // Ends 3D mode and returns to default 2D orthographic mode -void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing -void EndTextureMode(void); // Ends drawing to render texture +RLAPI void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera +RLAPI void End2dMode(void); // Ends 2D mode custom camera usage +RLAPI void Begin3dMode(Camera camera); // Initializes 3D mode for drawing (Camera setup) +RLAPI void End3dMode(void); // Ends 3D mode and returns to default 2D orthographic mode +RLAPI void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing +RLAPI void EndTextureMode(void); // Ends drawing to render texture -Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position -Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position -Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) +RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position +RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position +RLAPI Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) -void SetTargetFPS(int fps); // Set target FPS (maximum) -float GetFPS(void); // Returns current FPS -float GetFrameTime(void); // Returns time in seconds for one frame +RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum) +RLAPI float GetFPS(void); // Returns current FPS +RLAPI float GetFrameTime(void); // Returns time in seconds for one frame -Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value -int GetHexValue(Color color); // Returns hexadecimal value for a Color -float *ColorToFloat(Color color); // Converts Color to float array and normalizes -float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array -float *MatrixToFloat(Matrix mat); // Converts Matrix to float array +RLAPI Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value +RLAPI int GetHexValue(Color color); // Returns hexadecimal value for a Color +RLAPI float *ColorToFloat(Color color); // Converts Color to float array and normalizes +RLAPI float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array +RLAPI float *MatrixToFloat(Matrix mat); // Converts Matrix to float array -int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) -Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f +RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) +RLAPI Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f -void SetConfigFlags(char flags); // Setup some window configuration flags -void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) +RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags +RLAPI void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) -bool IsFileDropped(void); // Check if a file have been dropped into window -char **GetDroppedFiles(int *count); // Retrieve dropped files into window -void ClearDroppedFiles(void); // Clear dropped files paths buffer +RLAPI bool IsFileDropped(void); // Check if a file have been dropped into window +RLAPI char **GetDroppedFiles(int *count); // Retrieve dropped files into window +RLAPI void ClearDroppedFiles(void); // Clear dropped files paths buffer -void StorageSaveValue(int position, int value); // Storage save integer value (to defined position) -int StorageLoadValue(int position); // Storage load integer value (from defined position) +RLAPI void StorageSaveValue(int position, int value); // Storage save integer value (to defined position) +RLAPI int StorageLoadValue(int position); // Storage load integer value (from defined position) //------------------------------------------------------------------------------------ // Input Handling Functions (Module: core) //------------------------------------------------------------------------------------ #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) -bool IsKeyPressed(int key); // Detect if a key has been pressed once -bool IsKeyDown(int key); // Detect if a key is being pressed -bool IsKeyReleased(int key); // Detect if a key has been released once -bool IsKeyUp(int key); // Detect if a key is NOT being pressed -int GetKeyPressed(void); // Get latest key pressed -void SetExitKey(int key); // Set a custom key to exit program (default is ESC) +RLAPI bool IsKeyPressed(int key); // Detect if a key has been pressed once +RLAPI bool IsKeyDown(int key); // Detect if a key is being pressed +RLAPI bool IsKeyReleased(int key); // Detect if a key has been released once +RLAPI bool IsKeyUp(int key); // Detect if a key is NOT being pressed +RLAPI int GetKeyPressed(void); // Get latest key pressed +RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) -bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available -float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis -bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once -bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed -bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once -bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed +RLAPI bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available +RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis +RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once +RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed +RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once +RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed #endif -bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once -bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed -bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once -bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed -int GetMouseX(void); // Returns mouse position X -int GetMouseY(void); // Returns mouse position Y -Vector2 GetMousePosition(void); // Returns mouse position XY -void SetMousePosition(Vector2 position); // Set mouse position XY -int GetMouseWheelMove(void); // Returns mouse wheel movement Y +RLAPI bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once +RLAPI bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed +RLAPI bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once +RLAPI bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed +RLAPI int GetMouseX(void); // Returns mouse position X +RLAPI int GetMouseY(void); // Returns mouse position Y +RLAPI Vector2 GetMousePosition(void); // Returns mouse position XY +RLAPI void SetMousePosition(Vector2 position); // Set mouse position XY +RLAPI int GetMouseWheelMove(void); // Returns mouse wheel movement Y -int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) -int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) -Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) +RLAPI int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) +RLAPI int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) +RLAPI Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) #if defined(PLATFORM_ANDROID) bool IsButtonPressed(int button); // Detect if an android physic button has been pressed @@ -674,264 +682,264 @@ bool IsButtonReleased(int button); // Detect if an android //------------------------------------------------------------------------------------ // Gestures and Touch Handling Functions (Module: gestures) //------------------------------------------------------------------------------------ -void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags -bool IsGestureDetected(int gesture); // Check if a gesture have been detected -int GetGestureDetected(void); // Get latest detected gesture -int GetTouchPointsCount(void); // Get touch points count -float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds -Vector2 GetGestureDragVector(void); // Get gesture drag vector -float GetGestureDragAngle(void); // Get gesture drag angle -Vector2 GetGesturePinchVector(void); // Get gesture pinch delta -float GetGesturePinchAngle(void); // Get gesture pinch angle +RLAPI void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags +RLAPI bool IsGestureDetected(int gesture); // Check if a gesture have been detected +RLAPI int GetGestureDetected(void); // Get latest detected gesture +RLAPI int GetTouchPointsCount(void); // Get touch points count +RLAPI float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds +RLAPI Vector2 GetGestureDragVector(void); // Get gesture drag vector +RLAPI float GetGestureDragAngle(void); // Get gesture drag angle +RLAPI Vector2 GetGesturePinchVector(void); // Get gesture pinch delta +RLAPI float GetGesturePinchAngle(void); // Get gesture pinch angle //------------------------------------------------------------------------------------ // Camera System Functions (Module: camera) //------------------------------------------------------------------------------------ -void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) -void UpdateCamera(Camera *camera); // Update camera (player position is ignored) -void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) +RLAPI void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) +RLAPI void UpdateCamera(Camera *camera); // Update camera (player position is ignored) +RLAPI void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) -void SetCameraPosition(Vector3 position); // Set internal camera position -void SetCameraTarget(Vector3 target); // Set internal camera target -void SetCameraFovy(float fovy); // Set internal camera field-of-view-y +RLAPI void SetCameraPosition(Vector3 position); // Set internal camera position +RLAPI void SetCameraTarget(Vector3 target); // Set internal camera target +RLAPI void SetCameraFovy(float fovy); // Set internal camera field-of-view-y -void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) -void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) -void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) +RLAPI void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) +RLAPI void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) +RLAPI void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) -void SetCameraMoveControls(int frontKey, int backKey, +RLAPI void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, - int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) -void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) + int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) +RLAPI void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) //------------------------------------------------------------------------------------ // Basic Shapes Drawing Functions (Module: shapes) //------------------------------------------------------------------------------------ -void DrawPixel(int posX, int posY, Color color); // Draw a pixel -void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) -void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line -void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) -void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle -void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle -void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) -void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline -void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle -void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle -void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle -void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) -void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline -void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle -void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline -void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) -void DrawPolyEx(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points -void DrawPolyExLines(Vector2 *points, int numPoints, Color color); // Draw polygon lines +RLAPI void DrawPixel(int posX, int posY, Color color); // Draw a pixel +RLAPI void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) +RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line +RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) +RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle +RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle +RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) +RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline +RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle +RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle +RLAPI void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle +RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) +RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline +RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle +RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline +RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) +RLAPI void DrawPolyEx(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points +RLAPI void DrawPolyExLines(Vector2 *points, int numPoints, Color color); // Draw polygon lines -bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles -bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles -bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle -Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision -bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle -bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle -bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle +RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles +RLAPI bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles +RLAPI bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle +RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision +RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle +RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle +RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle //------------------------------------------------------------------------------------ // Texture Loading and Drawing Functions (Module: textures) //------------------------------------------------------------------------------------ -Image LoadImage(const char *fileName); // Load an image into CPU memory (RAM) -Image LoadImageEx(Color *pixels, int width, int height); // Load image data from Color array data (RGBA - 32bit) -Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image data from RAW file -Image LoadImageFromRES(const char *rresName, int resId); // Load an image from rRES file (raylib Resource) -Texture2D LoadTexture(const char *fileName); // Load an image as texture into GPU memory -Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); // Load a texture from raw data into GPU memory -Texture2D LoadTextureFromRES(const char *rresName, int resId); // Load an image as texture from rRES file (raylib Resource) -Texture2D LoadTextureFromImage(Image image); // Load a texture from image data -RenderTexture2D LoadRenderTexture(int width, int height); // Load a texture to be used for rendering -void UnloadImage(Image image); // Unload image from CPU memory (RAM) -void UnloadTexture(Texture2D texture); // Unload texture from GPU memory -void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory -Color *GetImageData(Image image); // Get pixel data from image as a Color struct array -Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image -void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) -void ImageFormat(Image *image, int newFormat); // Convert image data to desired format -void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) -Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) -void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle -void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) -void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) -Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) -Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) -void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image -void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) -void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) -void ImageFlipVertical(Image *image); // Flip image vertically -void ImageFlipHorizontal(Image *image); // Flip image horizontally -void ImageColorTint(Image *image, Color color); // Modify image color: tint -void ImageColorInvert(Image *image); // Modify image color: invert -void ImageColorGrayscale(Image *image); // Modify image color: grayscale -void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) -void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) -void GenTextureMipmaps(Texture2D texture); // Generate GPU mipmaps for a texture -void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data +RLAPI Image LoadImage(const char *fileName); // Load an image into CPU memory (RAM) +RLAPI Image LoadImageEx(Color *pixels, int width, int height); // Load image data from Color array data (RGBA - 32bit) +RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image data from RAW file +RLAPI Image LoadImageFromRES(const char *rresName, int resId); // Load an image from rRES file (raylib Resource) +RLAPI Texture2D LoadTexture(const char *fileName); // Load an image as texture into GPU memory +RLAPI Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); // Load a texture from raw data into GPU memory +RLAPI Texture2D LoadTextureFromRES(const char *rresName, int resId); // Load an image as texture from rRES file (raylib Resource) +RLAPI Texture2D LoadTextureFromImage(Image image); // Load a texture from image data +RLAPI RenderTexture2D LoadRenderTexture(int width, int height); // Load a texture to be used for rendering +RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM) +RLAPI void UnloadTexture(Texture2D texture); // Unload texture from GPU memory +RLAPI void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory +RLAPI Color *GetImageData(Image image); // Get pixel data from image as a Color struct array +RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image +RLAPI void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) +RLAPI void ImageFormat(Image *image, int newFormat); // Convert image data to desired format +RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) +RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) +RLAPI void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle +RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) +RLAPI void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) +RLAPI Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) +RLAPI Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) +RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image +RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) +RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) +RLAPI void ImageFlipVertical(Image *image); // Flip image vertically +RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally +RLAPI void ImageColorTint(Image *image, Color color); // Modify image color: tint +RLAPI void ImageColorInvert(Image *image); // Modify image color: invert +RLAPI void ImageColorGrayscale(Image *image); // Modify image color: grayscale +RLAPI void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) +RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) +RLAPI void GenTextureMipmaps(Texture2D texture); // Generate GPU mipmaps for a texture +RLAPI void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data -void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D -void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 -void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters -void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle -void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, // Draw a part of a texture defined by a rectangle with 'pro' parameters +RLAPI void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D +RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 +RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters +RLAPI void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle +RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, // Draw a part of a texture defined by a rectangle with 'pro' parameters float rotation, Color tint); //------------------------------------------------------------------------------------ // Font Loading and Text Drawing Functions (Module: text) //------------------------------------------------------------------------------------ -SpriteFont GetDefaultFont(void); // Get the default SpriteFont -SpriteFont LoadSpriteFont(const char *fileName); // Load a SpriteFont image into GPU memory -void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory +RLAPI SpriteFont GetDefaultFont(void); // Get the default SpriteFont +RLAPI SpriteFont LoadSpriteFont(const char *fileName); // Load a SpriteFont image into GPU memory +RLAPI void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory -void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) -void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters +RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) +RLAPI void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters float fontSize, int spacing, Color tint); -int MeasureText(const char *text, int fontSize); // Measure string width for default font -Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont +RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font +RLAPI Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont -void DrawFPS(int posX, int posY); // Shows current FPS on top-left corner -const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' -const char *SubText(const char *text, int position, int length); // Get a piece of a text string +RLAPI void DrawFPS(int posX, int posY); // Shows current FPS on top-left corner +RLAPI const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' +RLAPI const char *SubText(const char *text, int position, int length); // Get a piece of a text string //------------------------------------------------------------------------------------ // Basic 3d Shapes Drawing Functions (Module: models) //------------------------------------------------------------------------------------ -void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space -void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space -void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube -void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) -void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires -void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured -void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere -void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters -void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires -void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone -void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires -void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ -void DrawRay(Ray ray, Color color); // Draw a ray line -void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) -void DrawGizmo(Vector3 position); // Draw simple gizmo -void DrawLight(Light light); // Draw light in 3D world +RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space +RLAPI void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space +RLAPI void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube +RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) +RLAPI void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires +RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured +RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere +RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters +RLAPI void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires +RLAPI void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone +RLAPI void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires +RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ +RLAPI void DrawRay(Ray ray, Color color); // Draw a ray line +RLAPI void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) +RLAPI void DrawGizmo(Vector3 position); // Draw simple gizmo +RLAPI void DrawLight(Light light); // Draw light in 3D world //DrawTorus(), DrawTeapot() are useless... //------------------------------------------------------------------------------------ // Model 3d Loading and Drawing Functions (Module: models) //------------------------------------------------------------------------------------ -Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) -Model LoadModelEx(Mesh data, bool dynamic); // Load a 3d model (from mesh data) -Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d model from rRES file (raylib Resource) -Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model -Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) -void UnloadModel(Model model); // Unload 3d model from memory +RLAPI Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) +RLAPI Model LoadModelEx(Mesh data, bool dynamic); // Load a 3d model (from mesh data) +RLAPI Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d model from rRES file (raylib Resource) +RLAPI Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model +RLAPI Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) +RLAPI void UnloadModel(Model model); // Unload 3d model from memory -Mesh GenMeshCube(float width, float height, float depth); // Generate mesh: cube +RLAPI Mesh GenMeshCube(float width, float height, float depth); // Generate mesh: cube -Material LoadMaterial(const char *fileName); // Load material data (from file) -Material LoadDefaultMaterial(void); // Load default material (uses default models shader) -Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) -void UnloadMaterial(Material material); // Unload material textures from VRAM +RLAPI Material LoadMaterial(const char *fileName); // Load material data (from file) +RLAPI Material LoadDefaultMaterial(void); // Load default material (uses default models shader) +RLAPI Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) +RLAPI void UnloadMaterial(Material material); // Unload material textures from VRAM -void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) -void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters -void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) -void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters -void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) +RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) +RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters +RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) +RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters +RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) -void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture -void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec +RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture +RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec -BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits -bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres -bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes -bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere -bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere -bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection -bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box -Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap +RLAPI BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits +RLAPI bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres +RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes +RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere +RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere +RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection +RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box +RLAPI Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap // NOTE: Return the normal vector of the impacted surface //------------------------------------------------------------------------------------ // Shaders System Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ -Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations -void UnloadShader(Shader shader); // Unload a custom shader from memory +RLAPI Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations +RLAPI void UnloadShader(Shader shader); // Unload a custom shader from memory -Shader GetDefaultShader(void); // Get default shader -Shader GetStandardShader(void); // Get standard shader -Texture2D GetDefaultTexture(void); // Get default texture +RLAPI Shader GetDefaultShader(void); // Get default shader +RLAPI Shader GetStandardShader(void); // Get standard shader +RLAPI Texture2D GetDefaultTexture(void); // Get default texture -int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location -void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) -void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int) -void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) +RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +RLAPI void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) +RLAPI void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int) +RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) -void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) -void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) +RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) +RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) -void BeginShaderMode(Shader shader); // Begin custom shader drawing -void EndShaderMode(void); // End custom shader drawing (use default shader) -void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) -void EndBlendMode(void); // End blending mode (reset to default: alpha blending) +RLAPI void BeginShaderMode(Shader shader); // Begin custom shader drawing +RLAPI void EndShaderMode(void); // End custom shader drawing (use default shader) +RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) +RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) -Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool -void DestroyLight(Light light); // Destroy a light and take it out of the list +RLAPI Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool +RLAPI void DestroyLight(Light light); // Destroy a light and take it out of the list //------------------------------------------------------------------------------------ // VR experience Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ -void InitVrDevice(int vdDevice); // Init VR device -void CloseVrDevice(void); // Close VR device -bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready -void UpdateVrTracking(void); // Update VR tracking (position and orientation) -void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +RLAPI void InitVrDevice(int vdDevice); // Init VR device +RLAPI void CloseVrDevice(void); // Close VR device +RLAPI bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +RLAPI void UpdateVrTracking(void); // Update VR tracking (position and orientation) +RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) //------------------------------------------------------------------------------------ // Audio Loading and Playing Functions (Module: audio) //------------------------------------------------------------------------------------ -void InitAudioDevice(void); // Initialize audio device and context -void CloseAudioDevice(void); // Close the audio device and context (and music stream) -bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully +RLAPI void InitAudioDevice(void); // Initialize audio device and context +RLAPI void CloseAudioDevice(void); // Close the audio device and context (and music stream) +RLAPI bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully -Sound LoadSound(char *fileName); // Load sound to memory -Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data -Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) -void UnloadSound(Sound sound); // Unload sound -void PlaySound(Sound sound); // Play a sound -void PauseSound(Sound sound); // Pause a sound -void ResumeSound(Sound sound); // Resume a paused sound -void StopSound(Sound sound); // Stop playing a sound -bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing -void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) -void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) +RLAPI Sound LoadSound(char *fileName); // Load sound to memory +RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data +RLAPI Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) +RLAPI void UnloadSound(Sound sound); // Unload sound +RLAPI void PlaySound(Sound sound); // Play a sound +RLAPI void PauseSound(Sound sound); // Pause a sound +RLAPI void ResumeSound(Sound sound); // Resume a paused sound +RLAPI void StopSound(Sound sound); // Stop playing a sound +RLAPI bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing +RLAPI void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) +RLAPI void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) -Music LoadMusicStream(char *fileName); // Load music stream from file -void UnloadMusicStream(Music music); // Unload music stream -void PlayMusicStream(Music music); // Start music playing (open stream) -void UpdateMusicStream(Music music); // Updates buffers for music streaming -void StopMusicStream(Music music); // Stop music playing (close stream) -void PauseMusicStream(Music music); // Pause music playing -void ResumeMusicStream(Music music); // Resume playing paused music -bool IsMusicPlaying(Music music); // Check if music is playing -void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) -void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) -float GetMusicTimeLength(Music music); // Get music time length (in seconds) -float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) +RLAPI Music LoadMusicStream(char *fileName); // Load music stream from file +RLAPI void UnloadMusicStream(Music music); // Unload music stream +RLAPI void PlayMusicStream(Music music); // Start music playing (open stream) +RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming +RLAPI void StopMusicStream(Music music); // Stop music playing (close stream) +RLAPI void PauseMusicStream(Music music); // Pause music playing +RLAPI void ResumeMusicStream(Music music); // Resume playing paused music +RLAPI bool IsMusicPlaying(Music music); // Check if music is playing +RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) +RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) +RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) +RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) -AudioStream InitAudioStream(unsigned int sampleRate, - unsigned int sampleSize, - unsigned int channels); // Init audio stream (to stream audio pcm data) -void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data -void CloseAudioStream(AudioStream stream); // Close audio stream and free memory -bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill -void PlayAudioStream(AudioStream stream); // Play audio stream -void PauseAudioStream(AudioStream stream); // Pause audio stream -void ResumeAudioStream(AudioStream stream); // Resume audio stream -void StopAudioStream(AudioStream stream); // Stop audio stream +RLAPI AudioStream InitAudioStream(unsigned int sampleRate, + unsigned int sampleSize, + unsigned int channels); // Init audio stream (to stream audio pcm data) +RLAPI void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data +RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory +RLAPI bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill +RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream +RLAPI void PauseAudioStream(AudioStream stream); // Pause audio stream +RLAPI void ResumeAudioStream(AudioStream stream); // Resume audio stream +RLAPI void StopAudioStream(AudioStream stream); // Stop audio stream #ifdef __cplusplus } From bd26b66c27ed06706a7f421214f614eca02bbc0d Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 15 Aug 2016 16:18:04 +0200 Subject: [PATCH 052/102] Updated compiling notes --- examples/physics_basic_rigidbody.c | 11 +++++++++-- examples/physics_forces.c | 12 +++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/examples/physics_basic_rigidbody.c b/examples/physics_basic_rigidbody.c index 75720c978..87316a981 100644 --- a/examples/physics_basic_rigidbody.c +++ b/examples/physics_basic_rigidbody.c @@ -5,9 +5,16 @@ * This example has been created using raylib 1.5 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * +* NOTE: +* Physac requires multi-threading, when InitPhysics() a second thread is created to manage +* physics calculations. To accomplish that, physac uses pthread Win32 library that can be +* found inside raylib/src/external/pthread directory. * -* Compile example using: -* cmd /c IF NOT EXIST pthreadGC2.dll copy C:\raylib\raylib\src\external\pthread\pthreadGC2.dll $(CURRENT_DIRECTORY) /Y +* Add pthread library when compiling physac example: +* gcc -o $(NAME_PART).exe $(FILE_NAME) $(RAYLIB_DIR)\raylib_icon -L../src/external/pthread/lib \ +* -I../src -I../src/external/pthread/include -lraylib -lglfw3 -lopengl32 -lgdi32 -lpthreadGC2 -std=c99 -Wall +* +* Note that pthreadGC2.dll must be also copied to project directory! * * Copyright (c) 2016 Victor Fisac and Ramon Santamaria (@raysan5) * diff --git a/examples/physics_forces.c b/examples/physics_forces.c index efe8e2407..e45cb44cc 100644 --- a/examples/physics_forces.c +++ b/examples/physics_forces.c @@ -5,10 +5,16 @@ * This example has been created using raylib 1.5 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* NOTE: This example requires raylib module [rlgl] +* NOTE: +* Physac requires multi-threading, when InitPhysics() a second thread is created to manage +* physics calculations. To accomplish that, physac uses pthread Win32 library that can be +* found inside raylib/src/external/pthread directory. * -* Compile example using: -* cmd /c IF NOT EXIST pthreadGC2.dll copy C:\raylib\raylib\src\external\pthread\pthreadGC2.dll $(CURRENT_DIRECTORY) /Y +* Add pthread library when compiling physac example: +* gcc -o $(NAME_PART).exe $(FILE_NAME) $(RAYLIB_DIR)\raylib_icon -L../src/external/pthread/lib \ +* -I../src -I../src/external/pthread/include -lraylib -lglfw3 -lopengl32 -lgdi32 -lpthreadGC2 -std=c99 -Wall +* +* Note that pthreadGC2.dll must be also copied to project directory! * * Copyright (c) 2016 Victor Fisac and Ramon Santamaria (@raysan5) * From 1ffc4c7825ab732328040d2d650c6bf6d0e2f24c Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 15 Aug 2016 16:34:10 +0200 Subject: [PATCH 053/102] Corrected naming bug --- src/camera.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/camera.h b/src/camera.h index f5bb867d8..72a0e7062 100644 --- a/src/camera.h +++ b/src/camera.h @@ -348,7 +348,7 @@ void SetCameraMoveControls(int frontKey, int backKey, int leftKey, int rightKey, } // Set camera mouse sensitivity (1st person and 3rd person cameras) -void SetCameracameraMouseSensitivity(float sensitivity) +void SetCameraMouseSensitivity(float sensitivity) { cameraMouseSensitivity = (sensitivity/10000.0f); } From 852813bdf19445a80fa8de9daef052f9f1b72c74 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 15 Aug 2016 16:34:21 +0200 Subject: [PATCH 054/102] Reviewed formatting --- src/models.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/models.c b/src/models.c index 427984836..24238ed2c 100644 --- a/src/models.c +++ b/src/models.c @@ -966,14 +966,14 @@ static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) for (int x = 0; x < mapWidth; ++x) { // Define the 8 vertex of the cube, we will combine them accordingly later... - Vector3 v1 = { w * (x - .5f), h2, h * (z - .5f) }; - Vector3 v2 = { w * (x - .5f), h2, h * (z + .5f) }; - Vector3 v3 = { w * (x + .5f), h2, h * (z + .5f) }; - Vector3 v4 = { w * (x + .5f), h2, h * (z - .5f) }; - Vector3 v5 = { w * (x + .5f), 0, h * (z - .5f) }; - Vector3 v6 = { w * (x - .5f), 0, h * (z - .5f) }; - Vector3 v7 = { w * (x - .5f), 0, h * (z + .5f) }; - Vector3 v8 = { w * (x + .5f), 0, h * (z + .5f) }; + Vector3 v1 = { w*(x - 0.5f), h2, h*(z - 0.5f) }; + Vector3 v2 = { w*(x - 0.5f), h2, h*(z + 0.5f) }; + Vector3 v3 = { w*(x + 0.5f), h2, h*(z + 0.5f) }; + Vector3 v4 = { w*(x + 0.5f), h2, h*(z - 0.5f) }; + Vector3 v5 = { w*(x + 0.5f), 0, h*(z - 0.5f) }; + Vector3 v6 = { w*(x - 0.5f), 0, h*(z - 0.5f) }; + Vector3 v7 = { w*(x - 0.5f), 0, h*(z + 0.5f) }; + Vector3 v8 = { w*(x + 0.5f), 0, h*(z + 0.5f) }; // We check pixel color to be WHITE, we will full cubes if ((cubicmapPixels[z*cubicmap.width + x].r == 255) && From 342b89c5b920ceec8cd41a8f4cf5ab69f2d825f6 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 15 Aug 2016 16:35:11 +0200 Subject: [PATCH 055/102] Review Wave struct --- src/audio.c | 62 +++++++++++++++++++++++++++------------------------- src/audio.h | 8 +++---- src/raylib.h | 8 +++---- 3 files changed, 40 insertions(+), 38 deletions(-) diff --git a/src/audio.c b/src/audio.c index 4b8641abb..683ee66b9 100644 --- a/src/audio.c +++ b/src/audio.c @@ -233,18 +233,30 @@ Sound LoadSoundFromWave(Wave wave) if (wave.data != NULL) { ALenum format = 0; - // The OpenAL format is worked out by looking at the number of channels and the bits per sample + + // The OpenAL format is worked out by looking at the number of channels and the sample size (bits per sample) if (wave.channels == 1) { - if (wave.bitsPerSample == 8 ) format = AL_FORMAT_MONO8; - else if (wave.bitsPerSample == 16) format = AL_FORMAT_MONO16; + switch (wave.sampleSize) + { + case 8: format = AL_FORMAT_MONO8; break; + case 16: format = AL_FORMAT_MONO16; break; + case 32: format = AL_FORMAT_MONO_FLOAT32; break; + default: TraceLog(WARNING, "Wave sample size not supported: %i", wave.sampleSize); break; + } } else if (wave.channels == 2) { - if (wave.bitsPerSample == 8 ) format = AL_FORMAT_STEREO8; - else if (wave.bitsPerSample == 16) format = AL_FORMAT_STEREO16; + switch (wave.sampleSize) + { + case 8: format = AL_FORMAT_STEREO8; break; + case 16: format = AL_FORMAT_STEREO16; break; + case 32: format = AL_FORMAT_STEREO_FLOAT32; break; + default: TraceLog(WARNING, "Wave sample size not supported: %i", wave.sampleSize); break; + } } - + else TraceLog(WARNING, "Wave number of channels not supported: %i", wave.channels); + // Create an audio source ALuint source; alGenSources(1, &source); // Generate pointer to audio source @@ -259,14 +271,16 @@ Sound LoadSoundFromWave(Wave wave) //---------------------------------------- ALuint buffer; alGenBuffers(1, &buffer); // Generate pointer to buffer + + unsigned int dataSize = wave.sampleCount*wave.sampleSize/8; // Size in bytes // Upload sound data to buffer - alBufferData(buffer, format, wave.data, wave.dataSize, wave.sampleRate); + alBufferData(buffer, format, wave.data, dataSize, wave.sampleRate); // Attach sound buffer to source alSourcei(source, AL_BUFFER, buffer); - TraceLog(INFO, "[SND ID %i][BUFR ID %i] Sound data loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", source, buffer, wave.sampleRate, wave.bitsPerSample, wave.channels); + TraceLog(INFO, "[SND ID %i][BUFR ID %i] Sound data loaded successfully (SampleRate: %i, SampleSize: %i, Channels: %i)", source, buffer, wave.sampleRate, wave.sampleSize, wave.channels); sound.source = source; sound.buffer = buffer; @@ -341,8 +355,7 @@ Sound LoadSoundFromRES(const char *rresName, int resId) fread(&reserved, 1, 1, rresFile); // wave.sampleRate = sampleRate; - wave.dataSize = infoHeader.srcSize; - wave.bitsPerSample = bps; + wave.sampleSize = bps; wave.channels = (short)channels; unsigned char *data = malloc(infoHeader.size); @@ -948,18 +961,18 @@ static Wave LoadWAV(const char *fileName) else { // Allocate memory for data - wave.data = (unsigned char *)malloc(sizeof(unsigned char) * waveData.subChunkSize); + wave.data = (unsigned char *)malloc(sizeof(unsigned char)*waveData.subChunkSize); // Read in the sound data into the soundData variable fread(wave.data, waveData.subChunkSize, 1, wavFile); // Now we set the variables that we need later - wave.dataSize = waveData.subChunkSize; + wave.sampleCount = waveData.subChunkSize; wave.sampleRate = waveFormat.sampleRate; + wave.sampleSize = waveFormat.bitsPerSample; wave.channels = waveFormat.numChannels; - wave.bitsPerSample = waveFormat.bitsPerSample; - TraceLog(INFO, "[%s] WAV file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", fileName, wave.sampleRate, wave.bitsPerSample, wave.channels); + TraceLog(INFO, "[%s] WAV file loaded successfully (SampleRate: %i, SampleSize: %i, Channels: %i)", fileName, wave.sampleRate, wave.sampleSize, wave.channels); } } } @@ -988,35 +1001,24 @@ static Wave LoadOGG(char *fileName) stb_vorbis_info info = stb_vorbis_get_info(oggFile); wave.sampleRate = info.sample_rate; - wave.bitsPerSample = 16; + wave.sampleSize = 16; // 16 bit per sample (short) wave.channels = info.channels; - TraceLog(DEBUG, "[%s] Ogg sample rate: %i", fileName, info.sample_rate); - TraceLog(DEBUG, "[%s] Ogg channels: %i", fileName, info.channels); - int totalSamplesLength = (stb_vorbis_stream_length_in_samples(oggFile)*info.channels); - - wave.dataSize = totalSamplesLength*sizeof(short); // Size must be in bytes - - TraceLog(DEBUG, "[%s] Samples length: %i", fileName, totalSamplesLength); - float totalSeconds = stb_vorbis_stream_length_in_seconds(oggFile); - TraceLog(DEBUG, "[%s] Total seconds: %f", fileName, totalSeconds); - if (totalSeconds > 10) TraceLog(WARNING, "[%s] Ogg audio lenght is larger than 10 seconds (%f), that's a big file in memory, consider music streaming", fileName, totalSeconds); int totalSamples = totalSeconds*info.sample_rate*info.channels; + wave.sampleCount = totalSamples; - TraceLog(DEBUG, "[%s] Total samples calculated: %i", fileName, totalSamples); + wave.data = (short *)malloc(totalSamplesLength*sizeof(short)); - wave.data = malloc(sizeof(short)*totalSamplesLength); - - int samplesObtained = stb_vorbis_get_samples_short_interleaved(oggFile, info.channels, wave.data, totalSamplesLength); + int samplesObtained = stb_vorbis_get_samples_short_interleaved(oggFile, info.channels, (short *)wave.data, totalSamplesLength); TraceLog(DEBUG, "[%s] Samples obtained: %i", fileName, samplesObtained); - TraceLog(INFO, "[%s] OGG file loaded successfully (SampleRate: %i, BitRate: %i, Channels: %i)", fileName, wave.sampleRate, wave.bitsPerSample, wave.channels); + TraceLog(INFO, "[%s] OGG file loaded successfully (SampleRate: %i, SampleSize: %i, Channels: %i)", fileName, wave.sampleRate, wave.sampleSize, wave.channels); stb_vorbis_close(oggFile); } diff --git a/src/audio.h b/src/audio.h index dbd889393..4ee9559ef 100644 --- a/src/audio.h +++ b/src/audio.h @@ -68,11 +68,11 @@ typedef struct Sound { // Wave type, defines audio wave data typedef struct Wave { + unsigned int sampleCount; // Number of samples + unsigned int sampleRate; // Frequency (samples per second) + unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels (1-mono, 2-stereo) void *data; // Buffer data pointer - unsigned int dataSize; // Data size in bytes - unsigned int sampleRate; // Samples per second to be played - short bitsPerSample; // Sample size in bits - short channels; } Wave; // Music type (file streaming from memory) diff --git a/src/raylib.h b/src/raylib.h index c2e65b684..22494aecf 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -490,11 +490,11 @@ typedef struct Sound { // Wave type, defines audio wave data typedef struct Wave { + unsigned int sampleCount; // Number of samples + unsigned int sampleRate; // Frequency (samples per second) + unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels (1-mono, 2-stereo) void *data; // Buffer data pointer - unsigned int dataSize; // Data size in bytes - unsigned int sampleRate; // Samples per second to be played - short bitsPerSample; // Sample size in bits - short channels; } Wave; // Music type (file streaming from memory) From 959a228815edcecdde692fcd47a7b540844c5712 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 16 Aug 2016 11:09:55 +0200 Subject: [PATCH 056/102] Removed useless spacing --- src/audio.c | 74 ++++----- src/core.c | 342 +++++++++++++++++++++--------------------- src/models.c | 134 ++++++++--------- src/raylib.h | 4 +- src/rlgl.h | 26 ++-- src/rlua.h | 72 ++++----- src/text.c | 146 +++++++++--------- src/textures.c | 398 ++++++++++++++++++++++++------------------------- 8 files changed, 598 insertions(+), 598 deletions(-) diff --git a/src/audio.c b/src/audio.c index 683ee66b9..1772196f5 100644 --- a/src/audio.c +++ b/src/audio.c @@ -183,7 +183,7 @@ void CloseAudioDevice(void) alcMakeContextCurrent(NULL); alcDestroyContext(context); alcCloseDevice(device); - + TraceLog(INFO, "Audio device closed successfully"); } @@ -217,7 +217,7 @@ Sound LoadSound(char *fileName) else TraceLog(WARNING, "[%s] Sound extension not recognized, it can't be loaded", fileName); Sound sound = LoadSoundFromWave(wave); - + // Sound is loaded, we can unload wave UnloadWave(wave); @@ -233,7 +233,7 @@ Sound LoadSoundFromWave(Wave wave) if (wave.data != NULL) { ALenum format = 0; - + // The OpenAL format is worked out by looking at the number of channels and the sample size (bits per sample) if (wave.channels == 1) { @@ -256,7 +256,7 @@ Sound LoadSoundFromWave(Wave wave) } } else TraceLog(WARNING, "Wave number of channels not supported: %i", wave.channels); - + // Create an audio source ALuint source; alGenSources(1, &source); // Generate pointer to audio source @@ -271,7 +271,7 @@ Sound LoadSoundFromWave(Wave wave) //---------------------------------------- ALuint buffer; alGenBuffers(1, &buffer); // Generate pointer to buffer - + unsigned int dataSize = wave.sampleCount*wave.sampleSize/8; // Size in bytes // Upload sound data to buffer @@ -367,7 +367,7 @@ Sound LoadSoundFromRES(const char *rresName, int resId) free(data); sound = LoadSoundFromWave(wave); - + // Sound is loaded, we can unload wave data UnloadWave(wave); } @@ -506,13 +506,13 @@ Music LoadMusicStream(char *fileName) TraceLog(DEBUG, "[%s] OGG sample rate: %i", fileName, info.sample_rate); TraceLog(DEBUG, "[%s] OGG channels: %i", fileName, info.channels); TraceLog(DEBUG, "[%s] OGG memory required: %i", fileName, info.temp_memory_required); - + } } else if (strcmp(GetExtension(fileName), "xm") == 0) { int result = jar_xm_create_context_from_file(&music->ctxXm, 48000, fileName); - + if (!result) // XM context created successfully { jar_xm_set_max_loop_count(music->ctxXm, 0); // Set infinite number of loops @@ -523,7 +523,7 @@ Music LoadMusicStream(char *fileName) music->samplesLeft = music->totalSamples; music->ctxType = MUSIC_MODULE_XM; music->loop = true; - + TraceLog(DEBUG, "[%s] XM number of samples: %i", fileName, music->totalSamples); TraceLog(DEBUG, "[%s] XM track length: %11.6f sec", fileName, (float)music->totalSamples/48000.0f); } @@ -555,11 +555,11 @@ Music LoadMusicStream(char *fileName) void UnloadMusicStream(Music music) { CloseAudioStream(music->stream); - + if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_close(music->ctxOgg); else if (music->ctxType == MUSIC_MODULE_XM) jar_xm_free_context(music->ctxXm); else if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_unload(&music->ctxMod); - + free(music); } @@ -597,58 +597,58 @@ void UpdateMusicStream(Music music) // Determine if music stream is ready to be written alGetSourcei(music->stream.source, AL_BUFFERS_PROCESSED, &processed); - + int numBuffersToProcess = processed; - + if (processed > 0) { bool active = true; short pcm[AUDIO_BUFFER_SIZE]; float pcmf[AUDIO_BUFFER_SIZE]; - - int numSamples = 0; // Total size of data steamed in L+R samples for xm floats, + + int numSamples = 0; // Total size of data steamed in L+R samples for xm floats, // individual L or R for ogg shorts for (int i = 0; i < numBuffersToProcess; i++) { switch (music->ctxType) { - case MUSIC_AUDIO_OGG: + case MUSIC_AUDIO_OGG: { if (music->samplesLeft >= AUDIO_BUFFER_SIZE) numSamples = AUDIO_BUFFER_SIZE; else numSamples = music->samplesLeft; - + // NOTE: Returns the number of samples to process (should be the same as numSamples -> it is) int numSamplesOgg = stb_vorbis_get_samples_short_interleaved(music->ctxOgg, music->stream.channels, pcm, numSamples); // TODO: Review stereo channels Ogg, not enough samples served! UpdateAudioStream(music->stream, pcm, numSamplesOgg*music->stream.channels); music->samplesLeft -= (numSamplesOgg*music->stream.channels); - + } break; - case MUSIC_MODULE_XM: + case MUSIC_MODULE_XM: { if (music->samplesLeft >= AUDIO_BUFFER_SIZE/2) numSamples = AUDIO_BUFFER_SIZE/2; else numSamples = music->samplesLeft; - + // NOTE: Output buffer is 2*numsamples elements (left and right value for each sample) jar_xm_generate_samples(music->ctxXm, pcmf, numSamples); UpdateAudioStream(music->stream, pcmf, numSamples*2); // Using 32bit PCM data music->samplesLeft -= numSamples; - + //TraceLog(INFO, "Samples left: %i", music->samplesLeft); - + } break; - case MUSIC_MODULE_MOD: + case MUSIC_MODULE_MOD: { if (music->samplesLeft >= AUDIO_BUFFER_SIZE/2) numSamples = AUDIO_BUFFER_SIZE/2; else numSamples = music->samplesLeft; - + // NOTE: Output buffer size is nbsample*channels (default: 48000Hz, 16bit, Stereo) - jar_mod_fillbuffer(&music->ctxMod, pcm, numSamples, 0); + jar_mod_fillbuffer(&music->ctxMod, pcm, numSamples, 0); UpdateAudioStream(music->stream, pcm, numSamples*2); music->samplesLeft -= numSamples; - + } break; default: break; } @@ -659,15 +659,15 @@ void UpdateMusicStream(Music music) break; } } - + // Reset audio stream for looping if (!active && music->loop) { // Restart music context (if required) - //if (music->ctxType == MUSIC_MODULE_XM) + //if (music->ctxType == MUSIC_MODULE_XM) if (music->ctxType == MUSIC_MODULE_MOD) jar_mod_seek_start(&music->ctxMod); else if (music->ctxType == MUSIC_AUDIO_OGG) stb_vorbis_seek_start(music->ctxOgg); - + // Reset samples left to total samples music->samplesLeft = music->totalSamples; } @@ -713,7 +713,7 @@ void SetMusicPitch(Music music, float pitch) float GetMusicTimeLength(Music music) { float totalSeconds = (float)music->totalSamples/music->stream.sampleRate; - + return totalSeconds; } @@ -732,7 +732,7 @@ float GetMusicTimePlayed(Music music) AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) { AudioStream stream = { 0 }; - + stream.sampleRate = sampleRate; stream.sampleSize = sampleSize; stream.channels = channels; @@ -791,7 +791,7 @@ AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, un } alSourceQueueBuffers(stream.source, MAX_STREAM_BUFFERS, stream.buffers); - + TraceLog(INFO, "[AUD ID %i] Audio stream loaded successfully", stream.source); return stream; @@ -806,9 +806,9 @@ void CloseAudioStream(AudioStream stream) // Flush out all queued buffers int queued = 0; alGetSourcei(stream.source, AL_BUFFERS_QUEUED, &queued); - + ALuint buffer = 0; - + while (queued > 0) { alSourceUnqueueBuffers(stream.source, 1, &buffer); @@ -818,7 +818,7 @@ void CloseAudioStream(AudioStream stream) // Delete source and buffers alDeleteSources(1, &stream.source); alDeleteBuffers(MAX_STREAM_BUFFERS, stream.buffers); - + TraceLog(INFO, "[AUD ID %i] Unloaded audio stream data", stream.source); } @@ -828,14 +828,14 @@ void UpdateAudioStream(AudioStream stream, void *data, int numSamples) { ALuint buffer = 0; alSourceUnqueueBuffers(stream.source, 1, &buffer); - + // Check if any buffer was available for unqueue if (alGetError() != AL_INVALID_VALUE) { if (stream.sampleSize == 8) alBufferData(buffer, stream.format, (unsigned char *)data, numSamples*sizeof(unsigned char), stream.sampleRate); else if (stream.sampleSize == 16) alBufferData(buffer, stream.format, (short *)data, numSamples*sizeof(short), stream.sampleRate); else if (stream.sampleSize == 32) alBufferData(buffer, stream.format, (float *)data, numSamples*sizeof(float), stream.sampleRate); - + alSourceQueueBuffers(stream.source, 1, &buffer); } } diff --git a/src/core.c b/src/core.c index 2b5329e37..a76fe0be0 100644 --- a/src/core.c +++ b/src/core.c @@ -120,9 +120,9 @@ //#define DEFAULT_KEYBOARD_DEV "/dev/input/eventN" //#define DEFAULT_MOUSE_DEV "/dev/input/eventN" //#define DEFAULT_GAMEPAD_DEV "/dev/input/eventN" - + #define MOUSE_SENSITIVITY 0.8f - + #define MAX_GAMEPADS 2 // Max number of gamepads supported #define MAX_GAMEPAD_BUTTONS 11 // Max bumber of buttons supported (per gamepad) #define MAX_GAMEPAD_AXIS 8 // Max number of axis supported (per gamepad) @@ -333,7 +333,7 @@ void InitWindow(int width, int height, const char *title) emscripten_set_touchend_callback("#canvas", NULL, 1, EmscriptenInputCallback); emscripten_set_touchmove_callback("#canvas", NULL, 1, EmscriptenInputCallback); emscripten_set_touchcancel_callback("#canvas", NULL, 1, EmscriptenInputCallback); - + // TODO: Add gamepad support (not provided by GLFW3 on emscripten) //emscripten_set_gamepadconnected_callback(NULL, 1, EmscriptenInputCallback); //emscripten_set_gamepaddisconnected_callback(NULL, 1, EmscriptenInputCallback); @@ -394,7 +394,7 @@ void InitWindow(int width, int height, struct android_app *state) //state->userData = &engine; app->onAppCmd = AndroidCommandCallback; app->onInputEvent = AndroidInputCallback; - + InitAssetManager(app->activity->assetManager); TraceLog(INFO, "Android app initialized successfully"); @@ -447,7 +447,7 @@ void CloseWindow(void) eglTerminate(display); display = EGL_NO_DISPLAY; - } + } #endif #if defined(PLATFORM_RPI) @@ -527,7 +527,7 @@ void BeginDrawing(void) currentTime = GetTime(); // Number of elapsed seconds since InitTimer() was called updateTime = currentTime - previousTime; previousTime = currentTime; - + rlClearScreenBuffers(); // Clear current framebuffers rlLoadIdentity(); // Reset current matrix (MODELVIEW) rlMultMatrixf(MatrixToFloat(downscaleView)); // If downscale required, apply it here @@ -543,7 +543,7 @@ void EndDrawing(void) SwapBuffers(); // Copy back buffer to front buffer PollInputEvents(); // Poll user events - + // Frame time control system currentTime = GetTime(); drawTime = currentTime - previousTime; @@ -575,9 +575,9 @@ void Begin2dMode(Camera2D camera) Matrix matRotation = MatrixRotate((Vector3){ 0.0f, 0.0f, 1.0f }, camera.rotation*DEG2RAD); Matrix matScale = MatrixScale(camera.zoom, camera.zoom, 1.0f); Matrix matTranslation = MatrixTranslate(camera.offset.x + camera.target.x, camera.offset.y + camera.target.y, 0.0f); - + Matrix matTransform = MatrixMultiply(MatrixMultiply(matOrigin, MatrixMultiply(matScale, matRotation)), matTranslation); - + rlMultMatrixf(MatrixToFloat(matTransform)); } @@ -593,14 +593,14 @@ void End2dMode(void) void Begin3dMode(Camera camera) { rlglDraw(); // Draw Buffers (Only OpenGL 3+ and ES2) - + if (IsVrDeviceReady()) BeginVrDrawing(); rlMatrixMode(RL_PROJECTION); // Switch to projection matrix rlPushMatrix(); // Save previous matrix, which contains the settings for the 2d ortho projection rlLoadIdentity(); // Reset current matrix (PROJECTION) - + // Setup perspective projection float aspect = (float)screenWidth/(float)screenHeight; double top = 0.01*tan(camera.fovy*PI/360.0); @@ -615,15 +615,15 @@ void Begin3dMode(Camera camera) // Setup Camera view Matrix cameraView = MatrixLookAt(camera.position, camera.target, camera.up); rlMultMatrixf(MatrixToFloat(cameraView)); // Multiply MODELVIEW matrix by view matrix (camera) - + rlEnableDepthTest(); // Enable DEPTH_TEST for 3D } // Ends 3D mode and returns to default 2D orthographic mode void End3dMode(void) -{ +{ rlglDraw(); // Process internal buffers (update + draw) - + if (IsVrDeviceReady()) EndVrDrawing(); rlMatrixMode(RL_PROJECTION); // Switch to projection matrix @@ -633,7 +633,7 @@ void End3dMode(void) rlLoadIdentity(); // Reset current matrix (MODELVIEW) //rlTranslatef(0.375, 0.375, 0); // HACK to ensure pixel-perfect drawing on OpenGL (after exiting 3D mode) - + rlDisableDepthTest(); // Disable DEPTH_TEST for 2D } @@ -645,16 +645,16 @@ void BeginTextureMode(RenderTexture2D target) rlEnableRenderTexture(target.id); // Enable render target rlClearScreenBuffers(); // Clear render texture buffers - + // Set viewport to framebuffer size - rlViewport(0, 0, target.texture.width, target.texture.height); - + rlViewport(0, 0, target.texture.width, target.texture.height); + rlMatrixMode(RL_PROJECTION); // Switch to PROJECTION matrix rlLoadIdentity(); // Reset current matrix (PROJECTION) // Set orthographic projection to current framebuffer size // NOTE: Configured top-left corner as (0, 0) - rlOrtho(0, target.texture.width, target.texture.height, 0, 0.0f, 1.0f); + rlOrtho(0, target.texture.width, target.texture.height, 0, 0.0f, 1.0f); rlMatrixMode(RL_MODELVIEW); // Switch back to MODELVIEW matrix rlLoadIdentity(); // Reset current matrix (MODELVIEW) @@ -672,10 +672,10 @@ void EndTextureMode(void) // Set viewport to default framebuffer size (screen size) // TODO: consider possible viewport offsets rlViewport(0, 0, GetScreenWidth(), GetScreenHeight()); - + rlMatrixMode(RL_PROJECTION); // Switch to PROJECTION matrix rlLoadIdentity(); // Reset current matrix (PROJECTION) - + // Set orthographic projection to current framebuffer size // NOTE: Configured top-left corner as (0, 0) rlOrtho(0, GetScreenWidth(), GetScreenHeight(), 0, 0.0f, 1.0f); @@ -701,7 +701,7 @@ float GetFPS(void) // Returns time in seconds for one frame float GetFrameTime(void) { - // As we are operate quite a lot with frameTime, + // As we are operate quite a lot with frameTime, // it could be no stable, so we round it before passing it around // NOTE: There are still problems with high framerates (>500fps) double roundedFrameTime = round(frameTime*10000)/10000.0; @@ -735,7 +735,7 @@ float *VectorToFloat(Vector3 vec) } // Converts Matrix to float array -// NOTE: Returned vector is a transposed version of the Matrix struct, +// NOTE: Returned vector is a transposed version of the Matrix struct, // it should be this way because, despite raymath use OpenGL column-major convention, // Matrix struct memory alignment and variables naming are not coherent float *MatrixToFloat(Matrix mat) @@ -799,7 +799,7 @@ Color Fade(Color color, float alpha) { if (alpha < 0.0f) alpha = 0.0f; else if (alpha > 1.0f) alpha = 1.0f; - + float colorAlpha = (float)color.a*alpha; return (Color){color.r, color.g, color.b, (unsigned char)colorAlpha}; @@ -841,9 +841,9 @@ void ClearDroppedFiles(void) if (dropFilesCount > 0) { for (int i = 0; i < dropFilesCount; i++) free(dropFilesPath[i]); - + free(dropFilesPath); - + dropFilesCount = 0; } } @@ -854,7 +854,7 @@ void ClearDroppedFiles(void) void StorageSaveValue(int position, int value) { FILE *storageFile = NULL; - + char path[128]; #if defined(PLATFORM_ANDROID) strcpy(path, internalDataPath); @@ -865,7 +865,7 @@ void StorageSaveValue(int position, int value) #endif // Try open existing file to append data - storageFile = fopen(path, "rb+"); + storageFile = fopen(path, "rb+"); // If file doesn't exist, create a new storage data file if (!storageFile) storageFile = fopen(path, "wb"); @@ -877,14 +877,14 @@ void StorageSaveValue(int position, int value) fseek(storageFile, 0, SEEK_END); int fileSize = ftell(storageFile); // Size in bytes fseek(storageFile, 0, SEEK_SET); - + if (fileSize < (position*4)) TraceLog(WARNING, "Storage position could not be found"); else { fseek(storageFile, (position*4), SEEK_SET); fwrite(&value, 1, 4, storageFile); } - + fclose(storageFile); } } @@ -894,7 +894,7 @@ void StorageSaveValue(int position, int value) int StorageLoadValue(int position) { int value = 0; - + char path[128]; #if defined(PLATFORM_ANDROID) strcpy(path, internalDataPath); @@ -903,9 +903,9 @@ int StorageLoadValue(int position) #else strcpy(path, STORAGE_FILENAME); #endif - + // Try open existing file to append data - FILE *storageFile = fopen(path, "rb"); + FILE *storageFile = fopen(path, "rb"); if (!storageFile) TraceLog(WARNING, "Storage data file could not be found"); else @@ -914,42 +914,42 @@ int StorageLoadValue(int position) fseek(storageFile, 0, SEEK_END); int fileSize = ftell(storageFile); // Size in bytes rewind(storageFile); - + if (fileSize < (position*4)) TraceLog(WARNING, "Storage position could not be found"); else { fseek(storageFile, (position*4), SEEK_SET); fread(&value, 1, 4, storageFile); } - + fclose(storageFile); } - + return value; } // Returns a ray trace from mouse position Ray GetMouseRay(Vector2 mousePosition, Camera camera) -{ +{ Ray ray; - + // Calculate normalized device coordinates // NOTE: y value is negative float x = (2.0f*mousePosition.x)/(float)GetScreenWidth() - 1.0f; float y = 1.0f - (2.0f*mousePosition.y)/(float)GetScreenHeight(); float z = 1.0f; - + // Store values in a vector Vector3 deviceCoords = { x, y, z }; - + TraceLog(DEBUG, "Device coordinates: (%f, %f, %f)", deviceCoords.x, deviceCoords.y, deviceCoords.z); - + // Calculate projection matrix (from perspective instead of frustum) Matrix matProj = MatrixPerspective(camera.fovy, ((double)GetScreenWidth()/(double)GetScreenHeight()), 0.01, 1000.0); - + // Calculate view matrix from camera look at Matrix matView = MatrixLookAt(camera.position, camera.target, camera.up); - + // Do I need to transpose it? It seems that yes... // NOTE: matrix order may be incorrect... In OpenGL to get world position from // camera view it just needs to get inverted, but here we need to transpose it too. @@ -957,10 +957,10 @@ Ray GetMouseRay(Vector2 mousePosition, Camera camera) // to a vector, you will get its 3d world position coordinates (camera.position). // If you don't transpose, final position will be wrong. MatrixTranspose(&matView); - + //#define USE_RLGL_UNPROJECT #if defined(USE_RLGL_UNPROJECT) // OPTION 1: Use rlglUnproject() - + Vector3 nearPoint = rlglUnproject((Vector3){ deviceCoords.x, deviceCoords.y, 0.0f }, matProj, matView); Vector3 farPoint = rlglUnproject((Vector3){ deviceCoords.x, deviceCoords.y, 1.0f }, matProj, matView); @@ -969,56 +969,56 @@ Ray GetMouseRay(Vector2 mousePosition, Camera camera) // Calculate unproject matrix (multiply projection matrix and view matrix) and invert it Matrix matProjView = MatrixMultiply(matProj, matView); MatrixInvert(&matProjView); - + // Calculate far and near points Quaternion near = { deviceCoords.x, deviceCoords.y, 0.0f, 1.0f }; Quaternion far = { deviceCoords.x, deviceCoords.y, 1.0f, 1.0f }; - + // Multiply points by unproject matrix QuaternionTransform(&near, matProjView); QuaternionTransform(&far, matProjView); - + // Calculate normalized world points in vectors Vector3 nearPoint = { near.x/near.w, near.y/near.w, near.z/near.w}; Vector3 farPoint = { far.x/far.w, far.y/far.w, far.z/far.w}; #endif - + // Calculate normalized direction vector Vector3 direction = VectorSubtract(farPoint, nearPoint); VectorNormalize(&direction); - + // Apply calculated vectors to ray ray.position = camera.position; ray.direction = direction; - + return ray; } // Returns the screen space position from a 3d world space position Vector2 GetWorldToScreen(Vector3 position, Camera camera) -{ +{ // Calculate projection matrix (from perspective instead of frustum Matrix matProj = MatrixPerspective(camera.fovy, (double)GetScreenWidth()/(double)GetScreenHeight(), 0.01, 1000.0); - + // Calculate view matrix from camera look at (and transpose it) Matrix matView = MatrixLookAt(camera.position, camera.target, camera.up); MatrixTranspose(&matView); - + // Convert world position vector to quaternion Quaternion worldPos = { position.x, position.y, position.z, 1.0f }; - + // Transform world position to view QuaternionTransform(&worldPos, matView); - + // Transform result to projection (clip space position) QuaternionTransform(&worldPos, matProj); - + // Calculate normalized device coordinates (inverted y) Vector3 ndcPos = { worldPos.x / worldPos.w, -worldPos.y / worldPos.w, worldPos.z / worldPos.z }; - + // Calculate 2d screen position vector Vector2 screenPosition = { (ndcPos.x + 1.0f)/2.0f*(float)GetScreenWidth(), (ndcPos.y + 1.0f)/2.0f*(float)GetScreenHeight() }; - + return screenPosition; } @@ -1144,7 +1144,7 @@ bool IsCursorHidden() bool IsGamepadAvailable(int gamepad) { bool result = false; - + #if defined(PLATFORM_RPI) if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad]) result = true; #else @@ -1158,7 +1158,7 @@ bool IsGamepadAvailable(int gamepad) float GetGamepadAxisMovement(int gamepad, int axis) { float value = 0; - + #if defined(PLATFORM_RPI) if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad]) { @@ -1167,9 +1167,9 @@ float GetGamepadAxisMovement(int gamepad, int axis) #else const float *axes; int axisCount = 0; - + axes = glfwGetJoystickAxes(gamepad, &axisCount); - + if (axis < axisCount) value = axes[axis]; #endif @@ -1197,7 +1197,7 @@ bool IsGamepadButtonPressed(int gamepad, int button) bool IsGamepadButtonDown(int gamepad, int button) { bool result = false; - + #if defined(PLATFORM_RPI) // Get gamepad buttons information if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (gamepadButtons[gamepad][button] == 1)) result = true; @@ -1205,13 +1205,13 @@ bool IsGamepadButtonDown(int gamepad, int button) #else const unsigned char *buttons; int buttonsCount; - + buttons = glfwGetJoystickButtons(gamepad, &buttonsCount); if ((buttons != NULL) && (buttons[button] == GLFW_PRESS)) result = true; else result = false; #endif - + return result; } @@ -1260,7 +1260,7 @@ bool IsGamepadButtonUp(int gamepad, int button) bool IsMouseButtonPressed(int button) { bool pressed = false; - + #if defined(PLATFORM_ANDROID) if (IsGestureDetected(GESTURE_TAP)) pressed = true; #else @@ -1274,13 +1274,13 @@ bool IsMouseButtonPressed(int button) bool IsMouseButtonDown(int button) { bool down = false; - + #if defined(PLATFORM_ANDROID) if (IsGestureDetected(GESTURE_HOLD)) down = true; #else if (GetMouseButtonStatus(button) == 1) down = true; #endif - + return down; } @@ -1288,7 +1288,7 @@ bool IsMouseButtonDown(int button) bool IsMouseButtonReleased(int button) { bool released = false; - + #if !defined(PLATFORM_ANDROID) if ((currentMouseState[button] != previousMouseState[button]) && (currentMouseState[button] == 0)) released = true; #endif @@ -1300,7 +1300,7 @@ bool IsMouseButtonReleased(int button) bool IsMouseButtonUp(int button) { bool up = false; - + #if !defined(PLATFORM_ANDROID) if (GetMouseButtonStatus(button) == 0) up = true; #endif @@ -1385,7 +1385,7 @@ int GetTouchY(void) Vector2 GetTouchPosition(int index) { Vector2 position = { -1.0f, -1.0f }; - + #if defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB) if (index < MAX_TOUCH_POINTS) position = touchPosition[index]; else TraceLog(WARNING, "Required touch point out of range (Max touch points: %i)", MAX_TOUCH_POINTS); @@ -1493,7 +1493,7 @@ static void InitGraphicsDevice(int width, int height) // NOTE: When asking for an OpenGL context version, most drivers provide highest supported version // with forward compatibility to older OpenGL versions. // For example, if using OpenGL 1.1, driver can provide a 3.3 context fordward compatible. - + if (configFlags & FLAG_MSAA_4X_HINT) { glfwWindowHint(GLFW_SAMPLES, 4); // Enables multisampling x4 (MSAA), default is 0 @@ -1513,7 +1513,7 @@ static void InitGraphicsDevice(int width, int height) glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Profiles Hint: Only 3.3 and above! // Other values: GLFW_OPENGL_ANY_PROFILE, GLFW_OPENGL_COMPAT_PROFILE #ifdef __APPLE__ - glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // OSX Requires + glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // OSX Requires #else glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_FALSE); // Fordward Compatibility Hint: Only 3.3 and above! #endif @@ -1523,9 +1523,9 @@ static void InitGraphicsDevice(int width, int height) if (fullscreen) { // Obtain recommended displayWidth/displayHeight from a valid videomode for the monitor - int count; + int count; const GLFWvidmode *modes = glfwGetVideoModes(glfwGetPrimaryMonitor(), &count); - + // Get closest videomode to desired screenWidth/screenHeight for (int i = 0; i < count; i++) { @@ -1539,7 +1539,7 @@ static void InitGraphicsDevice(int width, int height) } } } - + TraceLog(WARNING, "Closest fullscreen videomode: %i x %i", displayWidth, displayHeight); // NOTE: ISSUE: Closest videomode could not match monitor aspect-ratio, for example, @@ -1548,12 +1548,12 @@ static void InitGraphicsDevice(int width, int height) // by the sides to fit all monitor space... // At this point we need to manage render size vs screen size - // NOTE: This function uses and modifies global module variables: + // NOTE: This function uses and modifies global module variables: // screenWidth/screenHeight - renderWidth/renderHeight - downscaleView SetupFramebufferSize(displayWidth, displayHeight); window = glfwCreateWindow(displayWidth, displayHeight, windowTitle, glfwGetPrimaryMonitor(), NULL); - + // NOTE: Full-screen change, not working properly... //glfwSetWindowMonitor(window, glfwGetPrimaryMonitor(), 0, 0, screenWidth, screenHeight, GLFW_DONT_CARE); } @@ -1561,15 +1561,15 @@ static void InitGraphicsDevice(int width, int height) { // No-fullscreen window creation window = glfwCreateWindow(screenWidth, screenHeight, windowTitle, NULL, NULL); - + #if defined(PLATFORM_DESKTOP) // Center window on screen int windowPosX = displayWidth/2 - screenWidth/2; int windowPosY = displayHeight/2 - screenHeight/2; - + if (windowPosX < 0) windowPosX = 0; if (windowPosY < 0) windowPosY = 0; - + glfwSetWindowPos(window, windowPosX, windowPosY); #endif renderWidth = screenWidth; @@ -1612,7 +1612,7 @@ static void InitGraphicsDevice(int width, int height) // NOTE: GLFW loader function is passed as parameter rlglLoadExtensions(glfwGetProcAddress); #endif - + // Enables GPU v-sync, so frames are not limited to screen refresh rate (60Hz -> 60 FPS) // If not set, swap interval uses GPU v-sync configuration // Framerate can be setup using SetTargetFPS() @@ -1620,7 +1620,7 @@ static void InitGraphicsDevice(int width, int height) { glfwSwapInterval(1); TraceLog(INFO, "Trying to enable VSYNC"); - } + } #endif // defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) #if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) @@ -1643,13 +1643,13 @@ static void InitGraphicsDevice(int width, int height) EGLint samples = 0; EGLint sampleBuffer = 0; - if (configFlags & FLAG_MSAA_4X_HINT) + if (configFlags & FLAG_MSAA_4X_HINT) { samples = 4; sampleBuffer = 1; TraceLog(INFO, "Trying to enable MSAA x4"); } - + const EGLint framebufferAttribs[] = { EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, // Type of context support -> Required on RPI? @@ -1773,10 +1773,10 @@ static void InitGraphicsDevice(int width, int height) // Initialize OpenGL context (states and resources) // NOTE: screenWidth and screenHeight not used, just stored as globals rlglInit(screenWidth, screenHeight); - + #ifdef __APPLE__ // Get framebuffer size of current window - // NOTE: Required to handle HighDPI display correctly on OSX because framebuffer + // NOTE: Required to handle HighDPI display correctly on OSX because framebuffer // is automatically reasized to adapt to new DPI. // When OS does that, it can be detected using GLFW3 callback: glfwSetFramebufferSizeCallback() int fbWidth, fbHeight; @@ -1792,7 +1792,7 @@ static void InitGraphicsDevice(int width, int height) // NOTE: Default to orthographic projection mode with top-left corner at (0,0) rlMatrixMode(RL_PROJECTION); // Switch to PROJECTION matrix rlLoadIdentity(); // Reset current matrix (PROJECTION) - rlOrtho(0, renderWidth - renderOffsetX, renderHeight - renderOffsetY, 0, 0.0f, 1.0f); + rlOrtho(0, renderWidth - renderOffsetX, renderHeight - renderOffsetY, 0, 0.0f, 1.0f); rlMatrixMode(RL_MODELVIEW); // Switch back to MODELVIEW matrix rlLoadIdentity(); // Reset current matrix (MODELVIEW) @@ -1806,7 +1806,7 @@ static void InitGraphicsDevice(int width, int height) // Compute framebuffer size relative to screen size and display size // NOTE: Global variables renderWidth/renderHeight and renderOffsetX/renderOffsetY can be modified static void SetupFramebufferSize(int displayWidth, int displayHeight) -{ +{ // Calculate renderWidth and renderHeight, we have the display size (input params) and the desired screen size (global var) if ((screenWidth > displayWidth) || (screenHeight > displayHeight)) { @@ -1945,7 +1945,7 @@ static void PollInputEvents(void) // NOTE: Gestures update must be called every frame to reset gestures correctly // because ProcessGestureEvent() is just called on an event, not every frame UpdateGestures(); - + #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) // Mouse input polling double mouseX; @@ -2025,7 +2025,7 @@ static void TakeScreenshot(void) unsigned char *imgData = rlglReadScreenPixels(renderWidth, renderHeight); sprintf(buffer, "screenshot%03i.png", shotNum); - + // Save image as PNG WritePNG(buffer, imgData, renderWidth, renderHeight, 4); @@ -2062,7 +2062,7 @@ static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, i #if defined(PLATFORM_DESKTOP) else if (key == GLFW_KEY_F12 && action == GLFW_PRESS) TakeScreenshot(); #endif - else + else { currentKeyState[key] = action; if (action == GLFW_PRESS) lastKeyPressed = key; @@ -2073,27 +2073,27 @@ static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, i static void MouseButtonCallback(GLFWwindow *window, int button, int action, int mods) { currentMouseState[button] = action; - + #define ENABLE_MOUSE_GESTURES #if defined(ENABLE_MOUSE_GESTURES) // Process mouse events as touches to be able to use mouse-gestures GestureEvent gestureEvent; - + // Register touch actions if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) gestureEvent.touchAction = TOUCH_DOWN; else if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) gestureEvent.touchAction = TOUCH_UP; - + // NOTE: TOUCH_MOVE event is registered in MouseCursorPosCallback() - + // Assign a pointer ID gestureEvent.pointerId[0] = 0; - + // Register touch points count gestureEvent.pointCount = 1; - + // Register touch points position, only one point registered gestureEvent.position[0] = GetMousePosition(); - + // Normalize gestureEvent.position[0] for screenWidth and screenHeight gestureEvent.position[0].x /= (float)GetScreenWidth(); gestureEvent.position[0].y /= (float)GetScreenHeight(); @@ -2112,20 +2112,20 @@ static void MouseCursorPosCallback(GLFWwindow *window, double x, double y) GestureEvent gestureEvent; gestureEvent.touchAction = TOUCH_MOVE; - + // Assign a pointer ID gestureEvent.pointerId[0] = 0; // Register touch points count gestureEvent.pointCount = 1; - + // Register touch points position, only one point registered gestureEvent.position[0] = (Vector2){ (float)x, (float)y }; - + touchPosition[0] = gestureEvent.position[0]; - + // Normalize gestureEvent.position[0] for screenWidth and screenHeight - gestureEvent.position[0].x /= (float)GetScreenWidth(); + gestureEvent.position[0].x /= (float)GetScreenWidth(); gestureEvent.position[0].y /= (float)GetScreenHeight(); // Gesture data is sent to gestures system for processing @@ -2166,7 +2166,7 @@ static void WindowSizeCallback(GLFWwindow *window, int width, int height) screenHeight = height; renderWidth = width; renderHeight = height; - + // NOTE: Postprocessing texture is not scaled to new size } @@ -2185,9 +2185,9 @@ static void WindowIconifyCallback(GLFWwindow* window, int iconified) static void WindowDropCallback(GLFWwindow *window, int count, const char **paths) { ClearDroppedFiles(); - + dropFilesPath = (char **)malloc(sizeof(char *)*count); - + for (int i = 0; i < count; i++) { dropFilesPath[i] = (char *)malloc(sizeof(char)*256); // Max path length set to 256 char @@ -2249,7 +2249,7 @@ static void AndroidCommandCallback(struct android_app *app, int32_t cmd) for (int i = 0; i < assetsCount; i++) { // TODO: Unload old asset if required - + // Load texture again to pointed texture (*textureAsset + i) = LoadTexture(assetPath[i]); } @@ -2292,7 +2292,7 @@ static void AndroidCommandCallback(struct android_app *app, int32_t cmd) // NOTE 2: In some cases (too many context loaded), OS could unload context automatically... :( eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); eglDestroySurface(display, surface); - + contextRebindRequired = true; TraceLog(INFO, "APP_CMD_TERM_WINDOW"); @@ -2329,7 +2329,7 @@ static void AndroidCommandCallback(struct android_app *app, int32_t cmd) static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) { //http://developer.android.com/ndk/reference/index.html - + int type = AInputEvent_getType(event); if (type == AINPUT_EVENT_TYPE_MOTION) @@ -2337,7 +2337,7 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) // Get first touch position touchPosition[0].x = AMotionEvent_getX(event, 0); touchPosition[0].y = AMotionEvent_getY(event, 0); - + // Get second touch position touchPosition[1].x = AMotionEvent_getX(event, 1); touchPosition[1].y = AMotionEvent_getY(event, 1); @@ -2346,7 +2346,7 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) { int32_t keycode = AKeyEvent_getKeyCode(event); //int32_t AKeyEvent_getMetaState(event); - + // Save current button and its state currentButtonState[keycode] = AKeyEvent_getAction(event); // Down = 0, Up = 1 @@ -2358,7 +2358,7 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) // NOTE: AndroidManifest.xml must have // Before that change, activity was calling CMD_TERM_WINDOW and CMD_DESTROY when locking mobile, so that was not a normal behaviour return 0; - } + } else if ((keycode == AKEYCODE_BACK) || (keycode == AKEYCODE_MENU)) { // Eat BACK_BUTTON and AKEYCODE_MENU, just do nothing... and don't let to be handled by OS! @@ -2370,36 +2370,36 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) return 0; } } - + int32_t action = AMotionEvent_getAction(event); unsigned int flags = action & AMOTION_EVENT_ACTION_MASK; - + GestureEvent gestureEvent; - + // Register touch actions if (flags == AMOTION_EVENT_ACTION_DOWN) gestureEvent.touchAction = TOUCH_DOWN; else if (flags == AMOTION_EVENT_ACTION_UP) gestureEvent.touchAction = TOUCH_UP; else if (flags == AMOTION_EVENT_ACTION_MOVE) gestureEvent.touchAction = TOUCH_MOVE; - + // Register touch points count gestureEvent.pointCount = AMotionEvent_getPointerCount(event); - + // Register touch points id gestureEvent.pointerId[0] = AMotionEvent_getPointerId(event, 0); gestureEvent.pointerId[1] = AMotionEvent_getPointerId(event, 1); - + // Register touch points position // NOTE: Only two points registered gestureEvent.position[0] = (Vector2){ AMotionEvent_getX(event, 0), AMotionEvent_getY(event, 0) }; gestureEvent.position[1] = (Vector2){ AMotionEvent_getX(event, 1), AMotionEvent_getY(event, 1) }; - + // Normalize gestureEvent.position[x] for screenWidth and screenHeight - gestureEvent.position[0].x /= (float)GetScreenWidth(); + gestureEvent.position[0].x /= (float)GetScreenWidth(); gestureEvent.position[0].y /= (float)GetScreenHeight(); - - gestureEvent.position[1].x /= (float)GetScreenWidth(); + + gestureEvent.position[1].x /= (float)GetScreenWidth(); gestureEvent.position[1].y /= (float)GetScreenHeight(); - + // Gesture data is sent to gestures system for processing ProcessGestureEvent(gestureEvent); @@ -2410,13 +2410,13 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) #if defined(PLATFORM_WEB) static EM_BOOL EmscriptenFullscreenChangeCallback(int eventType, const EmscriptenFullscreenChangeEvent *e, void *userData) { - //isFullscreen: int e->isFullscreen - //fullscreenEnabled: int e->fullscreenEnabled + //isFullscreen: int e->isFullscreen + //fullscreenEnabled: int e->fullscreenEnabled //fs element nodeName: (char *) e->nodeName //fs element id: (char *) e->id //Current element size: (int) e->elementWidth, (int) e->elementHeight //Screen size:(int) e->screenWidth, (int) e->screenHeight - + if (e->isFullscreen) { TraceLog(INFO, "Canvas scaled to fullscreen. ElementSize: (%ix%i), ScreenSize(%ix%i)", e->elementWidth, e->elementHeight, e->screenWidth, e->screenHeight); @@ -2425,7 +2425,7 @@ static EM_BOOL EmscriptenFullscreenChangeCallback(int eventType, const Emscripte { TraceLog(INFO, "Canvas scaled to windowed. ElementSize: (%ix%i), ScreenSize(%ix%i)", e->elementWidth, e->elementHeight, e->screenWidth, e->screenHeight); } - + // TODO: Depending on scaling factor (screen vs element), calculate factor to scale mouse/touch input return 0; @@ -2445,33 +2445,33 @@ static EM_BOOL EmscriptenInputCallback(int eventType, const EmscriptenTouchEvent x = touchEvent->touches[i].canvasX; y = touchEvent->touches[i].canvasY; } - + printf("%s, numTouches: %d %s%s%s%s\n", emscripten_event_type_to_string(eventType), event->numTouches, event->ctrlKey ? " CTRL" : "", event->shiftKey ? " SHIFT" : "", event->altKey ? " ALT" : "", event->metaKey ? " META" : ""); for(int i = 0; i < event->numTouches; ++i) { const EmscriptenTouchPoint *t = &event->touches[i]; - + printf(" %ld: screen: (%ld,%ld), client: (%ld,%ld), page: (%ld,%ld), isChanged: %d, onTarget: %d, canvas: (%ld, %ld)\n", t->identifier, t->screenX, t->screenY, t->clientX, t->clientY, t->pageX, t->pageY, t->isChanged, t->onTarget, t->canvasX, t->canvasY); } */ - + GestureEvent gestureEvent; // Register touch actions if (eventType == EMSCRIPTEN_EVENT_TOUCHSTART) gestureEvent.touchAction = TOUCH_DOWN; else if (eventType == EMSCRIPTEN_EVENT_TOUCHEND) gestureEvent.touchAction = TOUCH_UP; else if (eventType == EMSCRIPTEN_EVENT_TOUCHMOVE) gestureEvent.touchAction = TOUCH_MOVE; - + // Register touch points count gestureEvent.pointCount = touchEvent->numTouches; - + // Register touch points id gestureEvent.pointerId[0] = touchEvent->touches[0].identifier; gestureEvent.pointerId[1] = touchEvent->touches[1].identifier; - + // Register touch points position // NOTE: Only two points registered // TODO: Touch data should be scaled accordingly! @@ -2482,12 +2482,12 @@ static EM_BOOL EmscriptenInputCallback(int eventType, const EmscriptenTouchEvent touchPosition[0] = gestureEvent.position[0]; touchPosition[1] = gestureEvent.position[1]; - + // Normalize gestureEvent.position[x] for screenWidth and screenHeight - gestureEvent.position[0].x /= (float)GetScreenWidth(); + gestureEvent.position[0].x /= (float)GetScreenWidth(); gestureEvent.position[0].y /= (float)GetScreenHeight(); - - gestureEvent.position[1].x /= (float)GetScreenWidth(); + + gestureEvent.position[1].x /= (float)GetScreenWidth(); gestureEvent.position[1].y /= (float)GetScreenHeight(); // Gesture data is sent to gestures system for processing @@ -2533,7 +2533,7 @@ static void InitKeyboard(void) else { // We reconfigure keyboard mode to get: - // - scancodes (K_RAW) + // - scancodes (K_RAW) // - keycodes (K_MEDIUMRAW) // - ASCII chars (K_XLATE) // - UNICODE chars (K_UNICODE) @@ -2549,7 +2549,7 @@ static void InitKeyboard(void) static void ProcessKeyboard(void) { #define MAX_KEYBUFFER_SIZE 32 // Max size in bytes to read - + // Keyboard input polling (fill keys[256] array with status) int bufferByteCount = 0; // Bytes available on the buffer char keysBuffer[MAX_KEYBUFFER_SIZE]; // Max keys to be read at a time @@ -2564,7 +2564,7 @@ static void ProcessKeyboard(void) for (int i = 0; i < bufferByteCount; i++) { TraceLog(DEBUG, "Bytes on keysBuffer: %i", bufferByteCount); - + //printf("Key(s) bytes: "); //for (int i = 0; i < bufferByteCount; i++) printf("0x%02x ", keysBuffer[i]); //printf("\n"); @@ -2598,7 +2598,7 @@ static void ProcessKeyboard(void) case 0x34: currentKeyState[301] = 1; break; // raylib KEY_F12 default: break; } - + if (keysBuffer[i + 2] == 0x5b) i += 4; else if ((keysBuffer[i + 2] == 0x31) || (keysBuffer[i + 2] == 0x32)) i += 5; } @@ -2615,7 +2615,7 @@ static void ProcessKeyboard(void) i += 3; // Jump to next key } - + // NOTE: Some keys are not directly keymapped (CTRL, ALT, SHIFT) } } @@ -2625,7 +2625,7 @@ static void ProcessKeyboard(void) else { TraceLog(DEBUG, "Pressed key (ASCII): 0x%02x", keysBuffer[i]); - + // Translate lowercase a-z letters to A-Z if ((keysBuffer[i] >= 97) && (keysBuffer[i] <= 122)) { @@ -2634,10 +2634,10 @@ static void ProcessKeyboard(void) else currentKeyState[(int)keysBuffer[i]] = 1; } } - + // Check exit key (same functionality as GLFW3 KeyCallback()) if (currentKeyState[exitKey] == 1) windowShouldClose = true; - + // Check screen capture key if (currentKeyState[301] == 1) TakeScreenshot(); // raylib key: KEY_F12 (GLFW_KEY_F12) } @@ -2647,7 +2647,7 @@ static void RestoreKeyboard(void) { // Reset to default keyboard settings tcsetattr(STDIN_FILENO, TCSANOW, &defaultKeyboardSettings); - + // Reconfigure keyboard to default mode ioctl(STDIN_FILENO, KDSKBMODE, defaultKeyboardMode); } @@ -2677,14 +2677,14 @@ static void InitMouse(void) static void *MouseThread(void *arg) { const unsigned char XSIGN = 1<<4, YSIGN = 1<<5; - - typedef struct { + + typedef struct { char buttons; - char dx, dy; + char dx, dy; } MouseEvent; - + MouseEvent mouse; - + int mouseRelX = 0; int mouseRelY = 0; @@ -2693,7 +2693,7 @@ static void *MouseThread(void *arg) if (read(mouseStream, &mouse, sizeof(MouseEvent)) == (int)sizeof(MouseEvent)) { if ((mouse.buttons & 0x08) == 0) break; // This bit should always be set - + // Check Left button pressed if ((mouse.buttons & 0x01) > 0) currentMouseState[0] = 1; else currentMouseState[0] = 0; @@ -2701,27 +2701,27 @@ static void *MouseThread(void *arg) // Check Right button pressed if ((mouse.buttons & 0x02) > 0) currentMouseState[1] = 1; else currentMouseState[1] = 0; - + // Check Middle button pressed if ((mouse.buttons & 0x04) > 0) currentMouseState[2] = 1; else currentMouseState[2] = 0; - + mouseRelX = (int)mouse.dx; mouseRelY = (int)mouse.dy; - + if ((mouse.buttons & XSIGN) > 0) mouseRelX = -1*(255 - mouseRelX); if ((mouse.buttons & YSIGN) > 0) mouseRelY = -1*(255 - mouseRelY); - + // NOTE: Mouse movement is normalized to not be screen resolution dependant // We suppose 2*255 (max relative movement) is equivalent to screenWidth (max pixels width) // Result after normalization is multiplied by MOUSE_SENSITIVITY factor mousePosition.x += (float)mouseRelX*((float)screenWidth/(2*255))*MOUSE_SENSITIVITY; mousePosition.y -= (float)mouseRelY*((float)screenHeight/(2*255))*MOUSE_SENSITIVITY; - + if (mousePosition.x < 0) mousePosition.x = 0; if (mousePosition.y < 0) mousePosition.y = 0; - + if (mousePosition.x > screenWidth) mousePosition.x = screenWidth; if (mousePosition.y > screenHeight) mousePosition.y = screenHeight; } @@ -2735,12 +2735,12 @@ static void *MouseThread(void *arg) static void InitGamepad(void) { char gamepadDev[128] = ""; - + for (int i = 0; i < MAX_GAMEPADS; i++) { sprintf(gamepadDev, "%s%i", DEFAULT_GAMEPAD_DEV, i); - - if ((gamepadStream[i] = open(gamepadDev, O_RDONLY|O_NONBLOCK)) < 0) + + if ((gamepadStream[i] = open(gamepadDev, O_RDONLY|O_NONBLOCK)) < 0) { // NOTE: Only show message for first gamepad if (i == 0) TraceLog(WARNING, "Gamepad device could not be opened, no gamepad available"); @@ -2758,7 +2758,7 @@ static void InitGamepad(void) else TraceLog(INFO, "Gamepad device initialized successfully"); } } - } + } } // Process Gamepad (/dev/input/js0) @@ -2777,7 +2777,7 @@ static void *GamepadThread(void *arg) // Read gamepad event struct js_event gamepadEvent; - + while (!windowShouldClose) { for (int i = 0; i < MAX_GAMEPADS; i++) @@ -2785,22 +2785,22 @@ static void *GamepadThread(void *arg) if (read(gamepadStream[i], &gamepadEvent, sizeof(struct js_event)) == (int)sizeof(struct js_event)) { gamepadEvent.type &= ~JS_EVENT_INIT; // Ignore synthetic events - + // Process gamepad events by type - if (gamepadEvent.type == JS_EVENT_BUTTON) + if (gamepadEvent.type == JS_EVENT_BUTTON) { TraceLog(DEBUG, "Gamepad button: %i, value: %i", gamepadEvent.number, gamepadEvent.value); - - if (gamepadEvent.number < MAX_GAMEPAD_BUTTONS) + + if (gamepadEvent.number < MAX_GAMEPAD_BUTTONS) { // 1 - button pressed, 0 - button released gamepadButtons[i][gamepadEvent.number] = (int)gamepadEvent.value; } } - else if (gamepadEvent.type == JS_EVENT_AXIS) + else if (gamepadEvent.type == JS_EVENT_AXIS) { TraceLog(DEBUG, "Gamepad axis: %i, value: %i", gamepadEvent.number, gamepadEvent.value); - + if (gamepadEvent.number < MAX_GAMEPAD_AXIS) { // NOTE: Scaling of gamepadEvent.value to get values between -1..1 diff --git a/src/models.c b/src/models.c index 24238ed2c..e9044e96c 100644 --- a/src/models.c +++ b/src/models.c @@ -81,12 +81,12 @@ void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rot rlPushMatrix(); rlTranslatef(center.x, center.y, center.z); rlRotatef(rotationAngle, rotation.x, rotation.y, rotation.z); - + rlBegin(RL_LINES); for (int i = 0; i < 360; i += 10) { rlColor4ub(color.r, color.g, color.b, color.a); - + rlVertex3f(sin(DEG2RAD*i)*radius, cos(DEG2RAD*i)*radius, 0.0f); rlVertex3f(sin(DEG2RAD*(i + 10)) * radius, cos(DEG2RAD*(i + 10)) * radius, 0.0f); } @@ -583,13 +583,13 @@ void DrawLight(Light light) DrawCircle3D(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : BLACK)); } break; case LIGHT_DIRECTIONAL: - { + { DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK)); DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK)); } break; case LIGHT_SPOT: - { + { DrawLine3D(light->position, light->target, (light->enabled ? light->diffuse : BLACK)); DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : BLACK)); DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK)); @@ -602,7 +602,7 @@ void DrawLight(Light light) Model LoadModel(const char *fileName) { Model model = { 0 }; - + // TODO: Initialize default data for model in case loading fails, maybe a cube? if (strcmp(GetExtension(fileName), "obj") == 0) model.mesh = LoadOBJ(fileName); @@ -612,7 +612,7 @@ Model LoadModel(const char *fileName) else { rlglLoadMesh(&model.mesh, false); // Upload vertex data to GPU (static model) - + model.transform = MatrixIdentity(); model.material = LoadDefaultMaterial(); } @@ -626,12 +626,12 @@ Model LoadModelEx(Mesh data, bool dynamic) Model model = { 0 }; model.mesh = data; - + rlglLoadMesh(&model.mesh, dynamic); // Upload vertex data to GPU - + model.transform = MatrixIdentity(); model.material = LoadDefaultMaterial(); - + return model; } @@ -723,11 +723,11 @@ Model LoadModelFromRES(const char *rresName, int resId) Model LoadHeightmap(Image heightmap, Vector3 size) { Model model = { 0 }; - + model.mesh = GenMeshHeightmap(heightmap, size); - + rlglLoadMesh(&model.mesh, false); // Upload vertex data to GPU (static model) - + model.transform = MatrixIdentity(); model.material = LoadDefaultMaterial(); @@ -738,11 +738,11 @@ Model LoadHeightmap(Image heightmap, Vector3 size) Model LoadCubicmap(Image cubicmap) { Model model = { 0 }; - + model.mesh = GenMeshCubicmap(cubicmap, (Vector3){ 1.0f, 1.5f, 1.0f }); - + rlglLoadMesh(&model.mesh, false); // Upload vertex data to GPU (static model) - + model.transform = MatrixIdentity(); model.material = LoadDefaultMaterial(); @@ -755,7 +755,7 @@ void UnloadModel(Model model) rlglUnloadMesh(&model.mesh); UnloadMaterial(model.material); - + TraceLog(INFO, "Unloaded model data from RAM and VRAM"); } @@ -763,10 +763,10 @@ void UnloadModel(Model model) Material LoadMaterial(const char *fileName) { Material material = { 0 }; - + if (strcmp(GetExtension(fileName), "mtl") == 0) material = LoadMTL(fileName); else TraceLog(WARNING, "[%s] Material extension not recognized, it can't be loaded", fileName); - + return material; } @@ -774,7 +774,7 @@ Material LoadMaterial(const char *fileName) Material LoadDefaultMaterial(void) { Material material = { 0 }; - + material.shader = GetDefaultShader(); material.texDiffuse = GetDefaultTexture(); // White texture (1x1 pixel) //material.texNormal; // NOTE: By default, not set @@ -783,9 +783,9 @@ Material LoadDefaultMaterial(void) material.colDiffuse = WHITE; // Diffuse color material.colAmbient = WHITE; // Ambient color material.colSpecular = WHITE; // Specular color - + material.glossiness = 100.0f; // Glossiness level - + return material; } @@ -794,7 +794,7 @@ Material LoadDefaultMaterial(void) Material LoadStandardMaterial(void) { Material material = LoadDefaultMaterial(); - + material.shader = GetStandardShader(); return material; @@ -812,12 +812,12 @@ void UnloadMaterial(Material material) static Mesh GenMeshHeightmap(Image heightmap, Vector3 size) { #define GRAY_VALUE(c) ((c.r+c.g+c.b)/3) - + Mesh mesh = { 0 }; int mapX = heightmap.width; int mapZ = heightmap.height; - + Color *pixels = GetImageData(heightmap); // NOTE: One vertex per pixel @@ -908,7 +908,7 @@ static Mesh GenMeshHeightmap(Image heightmap, Vector3 size) trisCounter += 2; } } - + free(pixels); return mesh; @@ -919,7 +919,7 @@ static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) Mesh mesh = { 0 }; Color *cubicmapPixels = GetImageData(cubicmap); - + int mapWidth = cubicmap.width; int mapHeight = cubicmap.height; @@ -1262,9 +1262,9 @@ static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) free(mapVertices); free(mapNormals); free(mapTexcoords); - + free(cubicmapPixels); // Free image pixel data - + return mesh; } @@ -1273,7 +1273,7 @@ void DrawModel(Model model, Vector3 position, float scale, Color tint) { Vector3 vScale = { scale, scale, scale }; Vector3 rotationAxis = { 0.0f, 0.0f, 0.0f }; - + DrawModelEx(model, position, rotationAxis, 0.0f, vScale, tint); } @@ -1285,13 +1285,13 @@ void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rota Matrix matRotation = MatrixRotate(rotationAxis, rotationAngle*DEG2RAD); Matrix matScale = MatrixScale(scale.x, scale.y, scale.z); Matrix matTranslation = MatrixTranslate(position.x, position.y, position.z); - + // Combine model transformation matrix (model.transform) with matrix generated by function parameters (matTransform) //Matrix matModel = MatrixMultiply(model.transform, matTransform); // Transform to world-space coordinates - + model.transform = MatrixMultiply(MatrixMultiply(matScale, matRotation), matTranslation); model.material.colDiffuse = tint; // TODO: Multiply tint color by diffuse color? - + rlglDrawMesh(model.mesh, model.material, model.transform); } @@ -1299,9 +1299,9 @@ void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rota void DrawModelWires(Model model, Vector3 position, float scale, Color tint) { rlEnableWireMode(); - + DrawModel(model, position, scale, tint); - + rlDisableWireMode(); } @@ -1309,9 +1309,9 @@ void DrawModelWires(Model model, Vector3 position, float scale, Color tint) void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) { rlEnableWireMode(); - + DrawModelEx(model, position, rotationAxis, rotationAngle, scale, tint); - + rlDisableWireMode(); } @@ -1319,7 +1319,7 @@ void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint) { Rectangle sourceRec = { 0, 0, texture.width, texture.height }; - + DrawBillboardRec(camera, texture, sourceRec, center, size, tint); } @@ -1334,7 +1334,7 @@ void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vec Vector3 right = { viewMatrix.m0, viewMatrix.m4, viewMatrix.m8 }; //Vector3 up = { viewMatrix.m1, viewMatrix.m5, viewMatrix.m9 }; - + // NOTE: Billboard locked on axis-Y Vector3 up = { 0.0f, 1.0f, 0.0f }; /* @@ -1384,13 +1384,13 @@ void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vec void DrawBoundingBox(BoundingBox box, Color color) { Vector3 size; - + size.x = fabsf(box.max.x - box.min.x); size.y = fabsf(box.max.y - box.min.y); size.z = fabsf(box.max.z - box.min.z); - + Vector3 center = { box.min.x + size.x/2.0f, box.min.y + size.y/2.0f, box.min.z + size.z/2.0f }; - + DrawCubeWires(center, size.x, size.y, size.z, color); } @@ -1451,14 +1451,14 @@ bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radius bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius) { bool collision = false; - + Vector3 raySpherePos = VectorSubtract(spherePosition, ray.position); float distance = VectorLength(raySpherePos); float vector = VectorDotProduct(raySpherePos, ray.direction); float d = sphereRadius*sphereRadius - (distance*distance - vector*vector); - + if (d >= 0.0f) collision = true; - + return collision; } @@ -1466,29 +1466,29 @@ bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint) { bool collision = false; - + Vector3 raySpherePos = VectorSubtract(spherePosition, ray.position); float distance = VectorLength(raySpherePos); float vector = VectorDotProduct(raySpherePos, ray.direction); float d = sphereRadius*sphereRadius - (distance*distance - vector*vector); - + if (d >= 0.0f) collision = true; - + // Calculate collision point Vector3 offset = ray.direction; float collisionDistance = 0; - + // Check if ray origin is inside the sphere to calculate the correct collision point if (distance < sphereRadius) collisionDistance = vector + sqrt(d); else collisionDistance = vector - sqrt(d); - + VectorScale(&offset, collisionDistance); Vector3 cPoint = VectorAdd(ray.position, offset); - + collisionPoint->x = cPoint.x; collisionPoint->y = cPoint.y; collisionPoint->z = cPoint.z; - + return collision; } @@ -1496,7 +1496,7 @@ bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadi bool CheckCollisionRayBox(Ray ray, BoundingBox box) { bool collision = false; - + float t[8]; t[0] = (box.min.x - ray.position.x)/ray.direction.x; t[1] = (box.max.x - ray.position.x)/ray.direction.x; @@ -1506,9 +1506,9 @@ bool CheckCollisionRayBox(Ray ray, BoundingBox box) t[5] = (box.max.z - ray.position.z)/ray.direction.z; t[6] = fmax(fmax(fmin(t[0], t[1]), fmin(t[2], t[3])), fmin(t[4], t[5])); t[7] = fmin(fmin(fmax(t[0], t[1]), fmax(t[2], t[3])), fmax(t[4], t[5])); - + collision = !(t[7] < 0 || t[6] > t[7]); - + return collision; } @@ -1524,19 +1524,19 @@ BoundingBox CalculateBoundingBox(Mesh mesh) { minVertex = (Vector3){ mesh.vertices[0], mesh.vertices[1], mesh.vertices[2] }; maxVertex = (Vector3){ mesh.vertices[0], mesh.vertices[1], mesh.vertices[2] }; - + for (int i = 1; i < mesh.vertexCount; i++) { minVertex = VectorMin(minVertex, (Vector3){ mesh.vertices[i*3], mesh.vertices[i*3 + 1], mesh.vertices[i*3 + 2] }); maxVertex = VectorMax(maxVertex, (Vector3){ mesh.vertices[i*3], mesh.vertices[i*3 + 1], mesh.vertices[i*3 + 2] }); } } - + // Create the bounding box BoundingBox box; box.min = minVertex; box.max = maxVertex; - + return box; } @@ -1546,9 +1546,9 @@ BoundingBox CalculateBoundingBox(Mesh mesh) Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius) { #define CUBIC_MAP_HALF_BLOCK_SIZE 0.5 - + Color *cubicmapPixels = GetImageData(cubicmap); - + // Detect the cell where the player is located Vector3 impactDirection = { 0.0f, 0.0f, 0.0f }; @@ -1784,7 +1784,7 @@ Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *p playerPosition->y = (1.5f - radius) - 0.01f; impactDirection = (Vector3) { impactDirection.x, 1, impactDirection.z}; } - + free(cubicmapPixels); return impactDirection; @@ -2049,9 +2049,9 @@ static Mesh LoadOBJ(const char *fileName) static Material LoadMTL(const char *fileName) { #define MAX_BUFFER_SIZE 128 - + Material material = { 0 }; // LoadDefaultMaterial(); - + char buffer[MAX_BUFFER_SIZE]; Vector3 color = { 1.0f, 1.0f, 1.0f }; char *mapFileName = NULL; @@ -2069,14 +2069,14 @@ static Material LoadMTL(const char *fileName) while (!feof(mtlFile)) { fgets(buffer, MAX_BUFFER_SIZE, mtlFile); - + switch (buffer[0]) { case 'n': // newmtl string Material name. Begins a new material description. { // TODO: Support multiple materials in a single .mtl sscanf(buffer, "newmtl %s", mapFileName); - + TraceLog(INFO, "[%s] Loading material...", mapFileName); } case 'i': // illum int Illumination model @@ -2123,7 +2123,7 @@ static Material LoadMTL(const char *fileName) { int shininess = 0; sscanf(buffer, "Ns %i", &shininess); - + material.glossiness = (float)shininess; } else if (buffer[1] == 'i') // Ni int Refraction index. @@ -2192,7 +2192,7 @@ static Material LoadMTL(const char *fileName) float ialpha = 0.0f; sscanf(buffer, "Tr %f", &ialpha); material.colDiffuse.a = (unsigned char)((1.0f - ialpha)*255); - + } break; case 'r': // refl string Reflection texture map default: break; @@ -2203,6 +2203,6 @@ static Material LoadMTL(const char *fileName) // NOTE: At this point we have all material data TraceLog(INFO, "[%s] Material loaded successfully", fileName); - + return material; } diff --git a/src/raylib.h b/src/raylib.h index 22494aecf..7b7348c81 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -930,8 +930,8 @@ RLAPI void SetMusicPitch(Music music, float pitch); // Set pit RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) -RLAPI AudioStream InitAudioStream(unsigned int sampleRate, - unsigned int sampleSize, +RLAPI AudioStream InitAudioStream(unsigned int sampleRate, + unsigned int sampleSize, unsigned int channels); // Init audio stream (to stream audio pcm data) RLAPI void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory diff --git a/src/rlgl.h b/src/rlgl.h index bcb7c24fa..3fc542196 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -107,7 +107,7 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; // byte type typedef unsigned char byte; - + // Color type, RGBA (32bit) typedef struct Color { unsigned char r; @@ -117,7 +117,7 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; } Color; // Texture formats (support depends on OpenGL version) - typedef enum { + typedef enum { UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) UNCOMPRESSED_GRAY_ALPHA, UNCOMPRESSED_R5G6B5, // 16 bpp @@ -157,7 +157,7 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; // Shader type (generic shader) typedef struct Shader { unsigned int id; // Shader program id - + // Vertex attributes locations (default locations) int vertexLoc; // Vertex attribute location point (default-location = 0) int texcoordLoc; // Texcoord attribute location point (default-location = 1) @@ -169,7 +169,7 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; // Uniform locations int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) int tintColorLoc; // Color uniform location point (fragment shader) - + // Texture map locations (generic for any kind of map) int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) int mapTexture1Loc; // Map texture uniform location point (default-texture-unit = 1) @@ -185,14 +185,14 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; int mipmaps; // Mipmap levels, 1 by default int format; // Data format (TextureFormat) } Texture2D; - + // RenderTexture2D type, for texture rendering typedef struct RenderTexture2D { unsigned int id; // Render texture (fbo) id Texture2D texture; // Color buffer attachment texture Texture2D depth; // Depth buffer attachment texture } RenderTexture2D; - + // Material type typedef struct Material { Shader shader; // Standard shader (supports 3 map types: diffuse, normal, specular) @@ -204,10 +204,10 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; Color colDiffuse; // Diffuse color Color colAmbient; // Ambient color Color colSpecular; // Specular color - + float glossiness; // Glossiness level (Ranges from 0 to 1000) } Material; - + // Camera type, defines a camera position/orientation in 3d space typedef struct Camera { Vector3 position; // Camera position @@ -225,22 +225,22 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; Vector3 position; // Light position Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) float radius; // Light attenuation radius light intensity reduced with distance (world distance) - + Color diffuse; // Light diffuse color float intensity; // Light intensity level - + float coneAngle; // Light cone max angle: LIGHT_SPOT } LightData, *Light; - + // Light types typedef enum { LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT } LightType; // Color blending modes (pre-defined) typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; - + // TraceLog message types typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; - + // VR Head Mounted Display devices typedef enum { HMD_DEFAULT_DEVICE = 0, diff --git a/src/rlua.h b/src/rlua.h index b100b06d5..1c8c7b382 100644 --- a/src/rlua.h +++ b/src/rlua.h @@ -6,7 +6,7 @@ * The following types: * Color, Vector2, Vector3, Rectangle, Ray, Camera, Camera2D * are treated as objects with named fields, same as in C. -* +* * Lua defines utility functions for creating those objects. * Usage: * local cl = Color(255,255,255,255) @@ -27,7 +27,7 @@ * NOTE 02: * Some raylib functions take a pointer to an array, and the size of that array. * The equivalent Lua functions take only an array table of the specified type UNLESS -* it's a pointer to a large char array (e.g. for images), then it takes (and potentially returns) +* it's a pointer to a large char array (e.g. for images), then it takes (and potentially returns) * a Lua string (without the size argument, as Lua strings are sized by default). * * NOTE 03: @@ -362,7 +362,7 @@ static void LuaBuildOpaqueMetatables(void) lua_pushcfunction(L, &LuaIndexTexture2D); lua_setfield(L, -2, "__index"); lua_pop(L, 1); - + luaL_newmetatable(L, "RenderTexture2D"); lua_pushcfunction(L, &LuaIndexRenderTexture2D); lua_setfield(L, -2, "__index"); @@ -3112,7 +3112,7 @@ int lua_TraceLog(lua_State* L) lua_getfield(L, 1, "format"); /// fmt, args..., [string], format() lua_rotate(L, 1, 2); /// [string], format(), fmt, args... lua_call(L, num_args, 1); /// [string], formatted_string - + TraceLog(arg1, "%s", luaL_checkstring(L,-1)); return 0; } @@ -3525,7 +3525,7 @@ int lua_QuaternionTransform(lua_State* L) // raylib Functions (and data types) list static luaL_Reg raylib_functions[] = { - + // Register non-opaque data types REG(Color) REG(Vector2) @@ -3547,7 +3547,7 @@ static luaL_Reg raylib_functions[] = { REG(ToggleFullscreen) REG(GetScreenWidth) REG(GetScreenHeight) - + REG(ShowCursor) REG(HideCursor) REG(IsCursorHidden) @@ -3563,11 +3563,11 @@ static luaL_Reg raylib_functions[] = { REG(End3dMode) REG(BeginTextureMode) REG(EndTextureMode) - + REG(GetMouseRay) REG(GetWorldToScreen) REG(GetCameraMatrix) - + #if defined(PLATFORM_WEB) REG(SetDrawingLoop) #else @@ -3575,7 +3575,7 @@ static luaL_Reg raylib_functions[] = { #endif REG(GetFPS) REG(GetFrameTime) - + REG(GetColor) REG(GetHexValue) REG(ColorToFloat) @@ -3585,13 +3585,13 @@ static luaL_Reg raylib_functions[] = { REG(Fade) REG(SetConfigFlags) REG(ShowLogo) - + REG(IsFileDropped) REG(GetDroppedFiles) REG(ClearDroppedFiles) REG(StorageSaveValue) REG(StorageLoadValue) - + #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) REG(IsKeyPressed) REG(IsKeyDown) @@ -3599,7 +3599,7 @@ static luaL_Reg raylib_functions[] = { REG(IsKeyUp) REG(GetKeyPressed) REG(SetExitKey) - + REG(IsGamepadAvailable) REG(GetGamepadAxisMovement) REG(IsGamepadButtonPressed) @@ -3643,13 +3643,13 @@ static luaL_Reg raylib_functions[] = { REG(SetCameraPosition) REG(SetCameraTarget) REG(SetCameraFovy) - + REG(SetCameraPanControl) REG(SetCameraAltControl) REG(SetCameraSmoothZoomControl) REG(SetCameraMoveControls) REG(SetCameraMouseSensitivity) - + REG(DrawPixel) REG(DrawPixelV) REG(DrawLine) @@ -3668,7 +3668,7 @@ static luaL_Reg raylib_functions[] = { REG(DrawPoly) REG(DrawPolyEx) REG(DrawPolyExLines) - + REG(CheckCollisionRecs) REG(CheckCollisionCircles) REG(CheckCollisionCircleRec) @@ -3676,7 +3676,7 @@ static luaL_Reg raylib_functions[] = { REG(CheckCollisionPointRec) REG(CheckCollisionPointCircle) REG(CheckCollisionPointTriangle) - + REG(LoadImage) REG(LoadImageEx) REG(LoadImageRaw) @@ -3712,13 +3712,13 @@ static luaL_Reg raylib_functions[] = { REG(ImageColorBrightness) REG(GenTextureMipmaps) REG(UpdateTexture) - + REG(DrawTexture) REG(DrawTextureV) REG(DrawTextureEx) REG(DrawTextureRec) REG(DrawTexturePro) - + REG(GetDefaultFont) REG(LoadSpriteFont) REG(UnloadSpriteFont) @@ -3727,7 +3727,7 @@ static luaL_Reg raylib_functions[] = { REG(MeasureText) REG(MeasureTextEx) REG(DrawFPS) - + REG(DrawLine3D) REG(DrawCircle3D) REG(DrawCube) @@ -3744,7 +3744,7 @@ static luaL_Reg raylib_functions[] = { REG(DrawGrid) REG(DrawGizmo) REG(DrawLight) - + REG(LoadModel) REG(LoadModelEx) REG(LoadModelFromRES) @@ -3756,7 +3756,7 @@ static luaL_Reg raylib_functions[] = { REG(LoadStandardMaterial) REG(UnloadMaterial) //REG(GenMesh*) // Not ready yet... - + REG(DrawModel) REG(DrawModelEx) REG(DrawModelWires) @@ -3771,7 +3771,7 @@ static luaL_Reg raylib_functions[] = { REG(CheckCollisionRaySphereEx) REG(CheckCollisionRayBox) REG(ResolveCollisionCubicmap) - + REG(LoadShader) REG(UnloadShader) REG(GetDefaultShader) @@ -3789,13 +3789,13 @@ static luaL_Reg raylib_functions[] = { REG(EndBlendMode) REG(CreateLight) REG(DestroyLight) - + REG(InitVrDevice) REG(CloseVrDevice) REG(IsVrDeviceReady) REG(UpdateVrTracking) REG(ToggleVrMode) - + REG(InitAudioDevice) REG(CloseAudioDevice) REG(IsAudioDeviceReady) @@ -3810,7 +3810,7 @@ static luaL_Reg raylib_functions[] = { REG(IsSoundPlaying) REG(SetSoundVolume) REG(SetSoundPitch) - + REG(LoadMusicStream) REG(UnloadMusicStream) REG(UpdateMusicStream) @@ -3823,7 +3823,7 @@ static luaL_Reg raylib_functions[] = { REG(SetMusicPitch) REG(GetMusicTimeLength) REG(GetMusicTimePlayed) - + REG(InitAudioStream) REG(UpdateAudioStream) REG(CloseAudioStream) @@ -3906,7 +3906,7 @@ RLUADEF void InitLuaDevice(void) { mainLuaState = luaL_newstate(); L = mainLuaState; - + LuaStartEnum(); LuaSetEnum("FULLSCREEN_MODE", 1); LuaSetEnum("SHOW_LOGO", 2); @@ -4001,7 +4001,7 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("PS3_BUTTON_L2", 8); LuaSetEnum("PS3_BUTTON_SELECT", 9); LuaSetEnum("PS3_BUTTON_START", 10); - + LuaSetEnum("XBOX_BUTTON_A", 0); LuaSetEnum("XBOX_BUTTON_B", 1); LuaSetEnum("XBOX_BUTTON_X", 2); @@ -4086,9 +4086,9 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("ADDITIVE", BLEND_ADDITIVE); LuaSetEnum("MULTIPLIED", BLEND_MULTIPLIED); LuaEndEnum("BlendMode"); - + LuaStartEnum(); - LuaSetEnum("POINT", LIGHT_POINT); + LuaSetEnum("POINT", LIGHT_POINT); LuaSetEnum("DIRECTIONAL", LIGHT_DIRECTIONAL); LuaSetEnum("SPOT", LIGHT_SPOT); LuaEndEnum("LightType"); @@ -4114,7 +4114,7 @@ RLUADEF void InitLuaDevice(void) LuaSetEnum("FIRST_PERSON", CAMERA_FIRST_PERSON); LuaSetEnum("THIRD_PERSON", CAMERA_THIRD_PERSON); LuaEndEnum("CameraMode"); - + LuaStartEnum(); LuaSetEnum("DEFAULT_DEVICE", HMD_DEFAULT_DEVICE); LuaSetEnum("OCULUS_RIFT_DK2", HMD_OCULUS_RIFT_DK2); @@ -4138,9 +4138,9 @@ RLUADEF void InitLuaDevice(void) lua_pushboolean(L, true); #if defined(PLATFORM_DESKTOP) lua_setglobal(L, "PLATFORM_DESKTOP"); -#elif defined(PLATFORM_ANDROID) +#elif defined(PLATFORM_ANDROID) lua_setglobal(L, "PLATFORM_ANDROID"); -#elif defined(PLATFORM_RPI) +#elif defined(PLATFORM_RPI) lua_setglobal(L, "PLATFORM_RPI"); #elif defined(PLATFORM_WEB) lua_setglobal(L, "PLATFORM_WEB"); @@ -4148,7 +4148,7 @@ RLUADEF void InitLuaDevice(void) luaL_openlibs(L); LuaBuildOpaqueMetatables(); - + LuaRegisterRayLib(0); } @@ -4173,7 +4173,7 @@ RLUADEF void ExecuteLuaCode(const char *code) } int result = luaL_dostring(L, code); - + switch (result) { case LUA_OK: break; @@ -4193,7 +4193,7 @@ RLUADEF void ExecuteLuaFile(const char *filename) } int result = luaL_dofile(L, filename); - + switch (result) { case LUA_OK: break; diff --git a/src/text.c b/src/text.c index 2f347b5d0..8dc554558 100644 --- a/src/text.c +++ b/src/text.c @@ -151,7 +151,7 @@ extern void LoadDefaultFont(void) //---------------------------------------------------------------------- int imWidth = 128; int imHeight = 128; - + Color *imagePixels = (Color *)malloc(imWidth*imHeight*sizeof(Color)); for (int i = 0; i < imWidth*imHeight; i++) imagePixels[i] = BLANK; // Initialize array @@ -174,7 +174,7 @@ extern void LoadDefaultFont(void) //FILE *myimage = fopen("default_font.raw", "wb"); //fwrite(image.pixels, 1, 128*128*4, myimage); //fclose(myimage); - + Image image = LoadImageEx(imagePixels, imWidth, imHeight); ImageFormat(&image, UNCOMPRESSED_GRAY_ALPHA); @@ -185,13 +185,13 @@ extern void LoadDefaultFont(void) // Reconstruct charSet using charsWidth[], charsHeight, charsDivisor, numChars //------------------------------------------------------------------------------ - defaultFont.charValues = (int *)malloc(defaultFont.numChars*sizeof(int)); + defaultFont.charValues = (int *)malloc(defaultFont.numChars*sizeof(int)); defaultFont.charRecs = (Rectangle *)malloc(defaultFont.numChars*sizeof(Rectangle)); // Allocate space for our character rectangle data // This memory should be freed at end! --> Done on CloseWindow() - + defaultFont.charOffsets = (Vector2 *)malloc(defaultFont.numChars*sizeof(Vector2)); defaultFont.charAdvanceX = (int *)malloc(defaultFont.numChars*sizeof(int)); - + int currentLine = 0; int currentPosX = charsDivisor; int testPosX = charsDivisor; @@ -199,7 +199,7 @@ extern void LoadDefaultFont(void) for (int i = 0; i < defaultFont.numChars; i++) { defaultFont.charValues[i] = FONT_FIRST_CHAR + i; // First char is 32 - + defaultFont.charRecs[i].x = currentPosX; defaultFont.charRecs[i].y = charsDivisor + currentLine * (charsHeight + charsDivisor); defaultFont.charRecs[i].width = charsWidth[i]; @@ -217,12 +217,12 @@ extern void LoadDefaultFont(void) defaultFont.charRecs[i].y = charsDivisor + currentLine*(charsHeight + charsDivisor); } else currentPosX = testPosX; - + // NOTE: On default font character offsets and xAdvance are not required defaultFont.charOffsets[i] = (Vector2){ 0.0f, 0.0f }; defaultFont.charAdvanceX[i] = 0; } - + defaultFont.size = defaultFont.charRecs[0].height; TraceLog(INFO, "[TEX ID %i] Default font loaded successfully", defaultFont.texture.id); @@ -262,7 +262,7 @@ SpriteFont LoadSpriteFont(const char *fileName) if (image.data != NULL) spriteFont = LoadImageFont(image, MAGENTA, FONT_FIRST_CHAR); UnloadImage(image); } - + if (spriteFont.texture.id == 0) { TraceLog(WARNING, "[%s] SpriteFont could not be loaded, using default font", fileName); @@ -316,15 +316,15 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float scaleFactor = fontSize/spriteFont.size; - // NOTE: Some ugly hacks are made to support Latin-1 Extended characters directly + // NOTE: Some ugly hacks are made to support Latin-1 Extended characters directly // written in C code files (codified by default as UTF-8) - + for(int i = 0; i < length; i++) { // TODO: Right now we are supposing characters that follow a continous order and start at FONT_FIRST_CHAR, // this sytem can be improved to support any characters order and init value... // An intermediate table could be created to link char values with predefined char position index in chars rectangle array - + if ((unsigned char)text[i] == 0xc2) // UTF-8 encoding identification HACK! { // Support UTF-8 encoded values from [0xc2 0x80] -> [0xc2 0xbf](¿) @@ -353,8 +353,8 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float if (rec.x > 0) { - DrawTexturePro(spriteFont.texture, rec, (Rectangle){ position.x + textOffsetX + spriteFont.charOffsets[(int)text[i] - FONT_FIRST_CHAR].x*scaleFactor, - position.y + textOffsetY + spriteFont.charOffsets[(int)text[i] - FONT_FIRST_CHAR].y*scaleFactor, + DrawTexturePro(spriteFont.texture, rec, (Rectangle){ position.x + textOffsetX + spriteFont.charOffsets[(int)text[i] - FONT_FIRST_CHAR].x*scaleFactor, + position.y + textOffsetY + spriteFont.charOffsets[(int)text[i] - FONT_FIRST_CHAR].y*scaleFactor, rec.width*scaleFactor, rec.height*scaleFactor} , (Vector2){ 0, 0 }, 0.0f, tint); if (spriteFont.charAdvanceX[(int)text[i] - FONT_FIRST_CHAR] == 0) textOffsetX += (rec.width*scaleFactor + spacing); @@ -381,15 +381,15 @@ const char *SubText(const char *text, int position, int length) { static char buffer[MAX_SUBTEXT_LENGTH]; int textLength = strlen(text); - + if (position >= textLength) { position = textLength - 1; length = 0; } - + if (length >= textLength) length = textLength; - + for (int c = 0 ; c < length ; c++) { *(buffer+c) = *(text+position); @@ -421,17 +421,17 @@ Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int int len = strlen(text); int tempLen = 0; // Used to count longer text line num chars int lenCounter = 0; - + int textWidth = 0; int tempTextWidth = 0; // Used to count longer text line width - + int textHeight = spriteFont.size; float scaleFactor; for (int i = 0; i < len; i++) { lenCounter++; - + if (text[i] != '\n') { if (spriteFont.charAdvanceX[(int)text[i] - FONT_FIRST_CHAR] != 0) textWidth += spriteFont.charAdvanceX[(int)text[i] - FONT_FIRST_CHAR]; @@ -444,10 +444,10 @@ Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int textWidth = 0; textHeight += (spriteFont.size + spriteFont.size/2); // NOTE: Fixed line spacing of 1.5 lines } - + if (tempLen < lenCounter) tempLen = lenCounter; } - + if (tempTextWidth < textWidth) tempTextWidth = textWidth; if (fontSize <= spriteFont.size) scaleFactor = 1.0f; @@ -496,21 +496,21 @@ void DrawFPS(int posX, int posY) static SpriteFont LoadImageFont(Image image, Color key, int firstChar) { #define COLOR_EQUAL(col1, col2) ((col1.r == col2.r)&&(col1.g == col2.g)&&(col1.b == col2.b)&&(col1.a == col2.a)) - + int charSpacing = 0; int lineSpacing = 0; int x = 0; int y = 0; - + // Default number of characters expected supported #define MAX_FONTCHARS 128 - // We allocate a temporal arrays for chars data measures, + // We allocate a temporal arrays for chars data measures, // once we get the actual number of chars, we copy data to a sized arrays int tempCharValues[MAX_FONTCHARS]; Rectangle tempCharRecs[MAX_FONTCHARS]; - + Color *pixels = GetImageData(image); // Parse image data to get charSpacing and lineSpacing @@ -545,7 +545,7 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) !COLOR_EQUAL((pixels[(lineSpacing + (charHeight+lineSpacing)*lineToRead)*image.width + xPosToRead]), key)) { tempCharValues[index] = firstChar + index; - + tempCharRecs[index].x = xPosToRead; tempCharRecs[index].y = lineSpacing + lineToRead * (charHeight + lineSpacing); tempCharRecs[index].height = charHeight; @@ -564,14 +564,14 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) lineToRead++; xPosToRead = charSpacing; } - + free(pixels); - + TraceLog(DEBUG, "SpriteFont data parsed correctly from image"); - + // Create spritefont with all data parsed from image SpriteFont spriteFont = { 0 }; - + spriteFont.texture = LoadTextureFromImage(image); // Convert loaded image to OpenGL texture spriteFont.numChars = index; @@ -586,12 +586,12 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) { spriteFont.charValues[i] = tempCharValues[i]; spriteFont.charRecs[i] = tempCharRecs[i]; - + // NOTE: On image based fonts (XNA style), character offsets and xAdvance are not required (set to 0) spriteFont.charOffsets[i] = (Vector2){ 0.0f, 0.0f }; spriteFont.charAdvanceX[i] = 0; } - + spriteFont.size = spriteFont.charRecs[0].height; return spriteFont; @@ -631,7 +631,7 @@ static SpriteFont LoadRBMF(const char *fileName) if (rbmfFile == NULL) { TraceLog(WARNING, "[%s] rBMF font file could not be opened, using default font", fileName); - + spriteFont = GetDefaultFont(); } else @@ -670,10 +670,10 @@ static SpriteFont LoadRBMF(const char *fileName) counter++; } - + Image image = LoadImageEx(imagePixels, rbmfHeader.imgWidth, rbmfHeader.imgHeight); ImageFormat(&image, UNCOMPRESSED_GRAY_ALPHA); - + free(imagePixels); TraceLog(DEBUG, "[%s] Image reconstructed correctly, now converting it to texture", fileName); @@ -685,7 +685,7 @@ static SpriteFont LoadRBMF(const char *fileName) //TraceLog(INFO, "[%s] Starting chars set reconstruction", fileName); // Get characters data using rbmfCharWidthData, rbmfHeader.charHeight, charsDivisor, rbmfHeader.numChars - spriteFont.charValues = (int *)malloc(spriteFont.numChars*sizeof(int)); + spriteFont.charValues = (int *)malloc(spriteFont.numChars*sizeof(int)); spriteFont.charRecs = (Rectangle *)malloc(spriteFont.numChars*sizeof(Rectangle)); spriteFont.charOffsets = (Vector2 *)malloc(spriteFont.numChars*sizeof(Vector2)); spriteFont.charAdvanceX = (int *)malloc(spriteFont.numChars*sizeof(int)); @@ -697,12 +697,12 @@ static SpriteFont LoadRBMF(const char *fileName) for (int i = 0; i < spriteFont.numChars; i++) { spriteFont.charValues[i] = (int)rbmfHeader.firstChar + i; - + spriteFont.charRecs[i].x = currentPosX; spriteFont.charRecs[i].y = charsDivisor + currentLine * ((int)rbmfHeader.charHeight + charsDivisor); spriteFont.charRecs[i].width = (int)rbmfCharWidthData[i]; spriteFont.charRecs[i].height = (int)rbmfHeader.charHeight; - + // NOTE: On image based fonts (XNA style), character offsets and xAdvance are not required (set to 0) spriteFont.charOffsets[i] = (Vector2){ 0.0f, 0.0f }; spriteFont.charAdvanceX[i] = 0; @@ -720,7 +720,7 @@ static SpriteFont LoadRBMF(const char *fileName) } else currentPosX = testPosX; } - + spriteFont.size = spriteFont.charRecs[0].height; TraceLog(INFO, "[%s] rBMF file loaded correctly as SpriteFont", fileName); @@ -738,20 +738,20 @@ static SpriteFont LoadRBMF(const char *fileName) static SpriteFont LoadBMFont(const char *fileName) { #define MAX_BUFFER_SIZE 256 - + SpriteFont font = { 0 }; font.texture.id = 0; - + char buffer[MAX_BUFFER_SIZE]; char *searchPoint = NULL; - + int fontSize = 0; int texWidth, texHeight; char texFileName[128]; int numChars = 0; int base; // Useless data - + FILE *fntFile; fntFile = fopen(fileName, "rt"); @@ -766,42 +766,42 @@ static SpriteFont LoadBMFont(const char *fileName) fgets(buffer, MAX_BUFFER_SIZE, fntFile); //searchPoint = strstr(buffer, "size"); //sscanf(searchPoint, "size=%i", &fontSize); - + fgets(buffer, MAX_BUFFER_SIZE, fntFile); searchPoint = strstr(buffer, "lineHeight"); sscanf(searchPoint, "lineHeight=%i base=%i scaleW=%i scaleH=%i", &fontSize, &base, &texWidth, &texHeight); - + TraceLog(DEBUG, "[%s] Font size: %i", fileName, fontSize); TraceLog(DEBUG, "[%s] Font texture scale: %ix%i", fileName, texWidth, texHeight); - + fgets(buffer, MAX_BUFFER_SIZE, fntFile); searchPoint = strstr(buffer, "file"); sscanf(searchPoint, "file=\"%128[^\"]\"", texFileName); - + TraceLog(DEBUG, "[%s] Font texture filename: %s", fileName, texFileName); - + fgets(buffer, MAX_BUFFER_SIZE, fntFile); searchPoint = strstr(buffer, "count"); sscanf(searchPoint, "count=%i", &numChars); - + TraceLog(DEBUG, "[%s] Font num chars: %i", fileName, numChars); - + // Compose correct path using route of .fnt file (fileName) and texFileName char *texPath = NULL; char *lastSlash = NULL; lastSlash = strrchr(fileName, '/'); - + // NOTE: We need some extra space to avoid memory corruption on next allocations! texPath = malloc(strlen(fileName) - strlen(lastSlash) + strlen(texFileName) + 4); - + // NOTE: strcat() and strncat() required a '\0' terminated string to work! *texPath = '\0'; strncat(texPath, fileName, strlen(fileName) - strlen(lastSlash) + 1); strncat(texPath, texFileName, strlen(texFileName)); TraceLog(DEBUG, "[%s] Font texture loading path: %s", fileName, texPath); - + font.texture = LoadTexture(texPath); font.size = fontSize; font.numChars = numChars; @@ -809,35 +809,35 @@ static SpriteFont LoadBMFont(const char *fileName) font.charRecs = (Rectangle *)malloc(numChars*sizeof(Rectangle)); font.charOffsets = (Vector2 *)malloc(numChars*sizeof(Vector2)); font.charAdvanceX = (int *)malloc(numChars*sizeof(int)); - + free(texPath); - + int charId, charX, charY, charWidth, charHeight, charOffsetX, charOffsetY, charAdvanceX; - + bool unorderedChars = false; int firstChar = 0; - + for (int i = 0; i < numChars; i++) { fgets(buffer, MAX_BUFFER_SIZE, fntFile); - sscanf(buffer, "char id=%i x=%i y=%i width=%i height=%i xoffset=%i yoffset=%i xadvance=%i", + sscanf(buffer, "char id=%i x=%i y=%i width=%i height=%i xoffset=%i yoffset=%i xadvance=%i", &charId, &charX, &charY, &charWidth, &charHeight, &charOffsetX, &charOffsetY, &charAdvanceX); - + if (i == 0) firstChar = charId; else if (i != (charId - firstChar)) unorderedChars = true; - + // Save data properly in sprite font font.charValues[i] = charId; font.charRecs[i] = (Rectangle){ charX, charY, charWidth, charHeight }; font.charOffsets[i] = (Vector2){ (float)charOffsetX, (float)charOffsetY }; font.charAdvanceX[i] = charAdvanceX; } - + fclose(fntFile); - + if (firstChar != FONT_FIRST_CHAR) TraceLog(WARNING, "BMFont not supported: expected SPACE(32) as first character, falling back to default font"); else if (unorderedChars) TraceLog(WARNING, "BMFont not supported: unordered chars data, falling back to default font"); - + // NOTE: Font data could be not ordered by charId: 32,33,34,35... raylib does not support unordered BMFonts if ((firstChar != FONT_FIRST_CHAR) || (unorderedChars) || (font.texture.id == 0)) { @@ -862,9 +862,9 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int stbtt_bakedchar *charData = (stbtt_bakedchar *)malloc(sizeof(stbtt_bakedchar)*numChars); SpriteFont font = { 0 }; - + FILE *ttfFile = fopen(fileName, "rb"); - + if (ttfFile == NULL) { TraceLog(WARNING, "[%s] FNT file could not be opened", fileName); @@ -877,11 +877,11 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int stbtt_BakeFontBitmap(ttfBuffer,0, fontSize, dataBitmap, FONT_TEXTURE_WIDTH, FONT_TEXTURE_HEIGHT, firstChar, numChars, charData); free(ttfBuffer); - + // Convert image data from grayscale to to UNCOMPRESSED_GRAY_ALPHA unsigned char *dataGrayAlpha = (unsigned char *)malloc(FONT_TEXTURE_WIDTH*FONT_TEXTURE_HEIGHT*sizeof(unsigned char)*2); // Two channels int k = 0; - + for (int i = 0; i < FONT_TEXTURE_WIDTH*FONT_TEXTURE_HEIGHT; i++) { dataGrayAlpha[k] = 255; @@ -889,9 +889,9 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int k += 2; } - + free(dataBitmap); - + // Sprite font generation from TTF extracted data Image image; image.width = FONT_TEXTURE_WIDTH; @@ -909,7 +909,7 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int font.charRecs = (Rectangle *)malloc(font.numChars*sizeof(Rectangle)); font.charOffsets = (Vector2 *)malloc(font.numChars*sizeof(Vector2)); font.charAdvanceX = (int *)malloc(font.numChars*sizeof(int)); - + for (int i = 0; i < font.numChars; i++) { font.charValues[i] = i + firstChar; @@ -918,11 +918,11 @@ static SpriteFont LoadTTF(const char *fileName, int fontSize, int firstChar, int font.charRecs[i].y = (int)charData[i].y0; font.charRecs[i].width = (int)charData[i].x1 - (int)charData[i].x0; font.charRecs[i].height = (int)charData[i].y1 - (int)charData[i].y0; - + font.charOffsets[i] = (Vector2){ charData[i].xoff, charData[i].yoff }; font.charAdvanceX[i] = (int)charData[i].xadvance; } - + free(charData); return font; diff --git a/src/textures.c b/src/textures.c index c6b7e0bba..8f4fa301a 100644 --- a/src/textures.c +++ b/src/textures.c @@ -33,7 +33,7 @@ #include // Required for: strcmp(), strrchr(), strncmp() #include "rlgl.h" // raylib OpenGL abstraction layer to OpenGL 1.1, 3.3 or ES2 - // Required: rlglLoadTexture() rlDeleteTextures(), + // Required: rlglLoadTexture() rlDeleteTextures(), // rlglGenerateMipmaps(), some funcs for DrawTexturePro() #include "utils.h" // rRES data decompression utility function @@ -44,7 +44,7 @@ // NOTE: Used to read image data (multiple formats support) #define STB_IMAGE_RESIZE_IMPLEMENTATION -#include "external/stb_image_resize.h" // Required for: stbir_resize_uint8() +#include "external/stb_image_resize.h" // Required for: stbir_resize_uint8() // NOTE: Used for image scaling on ImageResize() //---------------------------------------------------------------------------------- @@ -103,14 +103,14 @@ Image LoadImage(const char *fileName) int imgWidth = 0; int imgHeight = 0; int imgBpp = 0; - + // NOTE: Using stb_image to load images (Supports: BMP, TGA, PNG, JPG, ...) image.data = stbi_load(fileName, &imgWidth, &imgHeight, &imgBpp, 0); image.width = imgWidth; image.height = imgHeight; image.mipmaps = 1; - + if (imgBpp == 1) image.format = UNCOMPRESSED_GRAYSCALE; else if (imgBpp == 2) image.format = UNCOMPRESSED_GRAY_ALPHA; else if (imgBpp == 3) image.format = UNCOMPRESSED_R8G8B8; @@ -121,12 +121,12 @@ Image LoadImage(const char *fileName) else if (strcmp(GetExtension(fileName),"ktx") == 0) image = LoadKTX(fileName); else if (strcmp(GetExtension(fileName),"pvr") == 0) image = LoadPVR(fileName); else if (strcmp(GetExtension(fileName),"astc") == 0) image = LoadASTC(fileName); - + if (image.data != NULL) - { + { TraceLog(INFO, "[%s] Image loaded successfully (%ix%i)", fileName, image.width, image.height); } - else TraceLog(WARNING, "[%s] Image could not be loaded, file not recognized", fileName); + else TraceLog(WARNING, "[%s] Image could not be loaded, file not recognized", fileName); return image; } @@ -141,11 +141,11 @@ Image LoadImageEx(Color *pixels, int width, int height) image.height = height; image.mipmaps = 1; image.format = UNCOMPRESSED_R8G8B8A8; - + int k = 0; image.data = (unsigned char *)malloc(image.width*image.height*4*sizeof(unsigned char)); - + for (int i = 0; i < image.width*image.height*4; i += 4) { ((unsigned char *)image.data)[i] = pixels[k].r; @@ -180,7 +180,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int if (headerSize > 0) fseek(rawFile, headerSize, SEEK_SET); unsigned int size = width*height; - + switch (format) { case UNCOMPRESSED_GRAYSCALE: image.data = (unsigned char *)malloc(size); break; // 8 bit per pixel (no alpha) @@ -192,16 +192,16 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int case UNCOMPRESSED_R8G8B8A8: image.data = (unsigned char *)malloc(size*4); size *= 4; break; // 32 bpp default: TraceLog(WARNING, "Image format not suported"); break; } - + fread(image.data, size, 1, rawFile); - + // TODO: Check if data have been read - + image.width = width; image.height = height; image.mipmaps = 0; image.format = format; - + fclose(rawFile); } @@ -326,9 +326,9 @@ Texture2D LoadTexture(const char *fileName) Texture2D texture; Image image = LoadImage(fileName); - + if (image.data != NULL) - { + { texture = LoadTextureFromImage(image); UnloadImage(image); } @@ -350,9 +350,9 @@ Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat) texture.height = height; texture.mipmaps = 1; texture.format = textureFormat; - + texture.id = rlglLoadTexture(data, width, height, textureFormat, 1); - + return texture; } @@ -380,7 +380,7 @@ Texture2D LoadTextureFromImage(Image image) texture.height = 0; texture.mipmaps = 0; texture.format = 0; - + texture.id = rlglLoadTexture(image.data, image.width, image.height, image.format, image.mipmaps); texture.width = image.width; @@ -395,7 +395,7 @@ Texture2D LoadTextureFromImage(Image image) RenderTexture2D LoadRenderTexture(int width, int height) { RenderTexture2D target = rlglLoadRenderTexture(width, height); - + return target; } @@ -403,7 +403,7 @@ RenderTexture2D LoadRenderTexture(int width, int height) void UnloadImage(Image image) { free(image.data); - + // NOTE: It becomes anoying every time a texture is loaded //TraceLog(INFO, "Unloaded image data"); } @@ -414,7 +414,7 @@ void UnloadTexture(Texture2D texture) if (texture.id != 0) { rlDeleteTextures(texture.id); - + TraceLog(INFO, "[TEX ID %i] Unloaded texture data from VRAM (GPU)", texture.id); } } @@ -429,7 +429,7 @@ void UnloadRenderTexture(RenderTexture2D target) Color *GetImageData(Image image) { Color *pixels = (Color *)malloc(image.width*image.height*sizeof(Color)); - + int k = 0; for (int i = 0; i < image.width*image.height; i++) @@ -442,7 +442,7 @@ Color *GetImageData(Image image) pixels[i].g = ((unsigned char *)image.data)[k]; pixels[i].b = ((unsigned char *)image.data)[k]; pixels[i].a = 255; - + k++; } break; case UNCOMPRESSED_GRAY_ALPHA: @@ -451,7 +451,7 @@ Color *GetImageData(Image image) pixels[i].g = ((unsigned char *)image.data)[k]; pixels[i].b = ((unsigned char *)image.data)[k]; pixels[i].a = ((unsigned char *)image.data)[k + 1]; - + k += 2; } break; case UNCOMPRESSED_R5G5B5A1: @@ -462,7 +462,7 @@ Color *GetImageData(Image image) pixels[i].g = (unsigned char)((float)((pixel & 0b0000011111000000) >> 6)*(255/31)); pixels[i].b = (unsigned char)((float)((pixel & 0b0000000000111110) >> 1)*(255/31)); pixels[i].a = (unsigned char)((pixel & 0b0000000000000001)*255); - + k++; } break; case UNCOMPRESSED_R5G6B5: @@ -473,18 +473,18 @@ Color *GetImageData(Image image) pixels[i].g = (unsigned char)((float)((pixel & 0b0000011111100000) >> 5)*(255/63)); pixels[i].b = (unsigned char)((float)(pixel & 0b0000000000011111)*(255/31)); pixels[i].a = 255; - + k++; } break; case UNCOMPRESSED_R4G4B4A4: { unsigned short pixel = ((unsigned short *)image.data)[k]; - + pixels[i].r = (unsigned char)((float)((pixel & 0b1111000000000000) >> 12)*(255/15)); pixels[i].g = (unsigned char)((float)((pixel & 0b0000111100000000) >> 8)*(255/15)); pixels[i].b = (unsigned char)((float)((pixel & 0b0000000011110000) >> 4)*(255/15)); pixels[i].a = (unsigned char)((float)(pixel & 0b0000000000001111)*(255/15)); - + k++; } break; case UNCOMPRESSED_R8G8B8A8: @@ -493,7 +493,7 @@ Color *GetImageData(Image image) pixels[i].g = ((unsigned char *)image.data)[k + 1]; pixels[i].b = ((unsigned char *)image.data)[k + 2]; pixels[i].a = ((unsigned char *)image.data)[k + 3]; - + k += 4; } break; case UNCOMPRESSED_R8G8B8: @@ -502,11 +502,11 @@ Color *GetImageData(Image image) pixels[i].g = (unsigned char)((unsigned char *)image.data)[k + 1]; pixels[i].b = (unsigned char)((unsigned char *)image.data)[k + 2]; pixels[i].a = 255; - + k += 3; } break; default: TraceLog(WARNING, "Format not supported for pixel data retrieval"); break; - } + } } return pixels; @@ -522,7 +522,7 @@ Image GetTextureData(Texture2D texture) if (texture.format < 8) { image.data = rlglReadTexturePixels(texture); - + if (image.data != NULL) { image.width = texture.width; @@ -551,29 +551,29 @@ void ImageFormat(Image *image, int newFormat) if ((image->format < 8) && (newFormat < 8)) { Color *pixels = GetImageData(*image); - + free(image->data); - + image->format = newFormat; int k = 0; - + switch (image->format) { case UNCOMPRESSED_GRAYSCALE: { image->data = (unsigned char *)malloc(image->width*image->height*sizeof(unsigned char)); - + for (int i = 0; i < image->width*image->height; i++) { ((unsigned char *)image->data)[i] = (unsigned char)((float)pixels[i].r*0.299f + (float)pixels[i].g*0.587f + (float)pixels[i].b*0.114f); } - + } break; case UNCOMPRESSED_GRAY_ALPHA: { image->data = (unsigned char *)malloc(image->width*image->height*2*sizeof(unsigned char)); - + for (int i = 0; i < image->width*image->height*2; i += 2) { ((unsigned char *)image->data)[i] = (unsigned char)((float)pixels[k].r*0.299f + (float)pixels[k].g*0.587f + (float)pixels[k].b*0.114f); @@ -585,17 +585,17 @@ void ImageFormat(Image *image, int newFormat) case UNCOMPRESSED_R5G6B5: { image->data = (unsigned short *)malloc(image->width*image->height*sizeof(unsigned short)); - + unsigned char r = 0; unsigned char g = 0; unsigned char b = 0; - + for (int i = 0; i < image->width*image->height; i++) { r = (unsigned char)(round((float)pixels[k].r*31/255)); g = (unsigned char)(round((float)pixels[k].g*63/255)); b = (unsigned char)(round((float)pixels[k].b*31/255)); - + ((unsigned short *)image->data)[i] = (unsigned short)r << 11 | (unsigned short)g << 5 | (unsigned short)b; } @@ -603,7 +603,7 @@ void ImageFormat(Image *image, int newFormat) case UNCOMPRESSED_R8G8B8: { image->data = (unsigned char *)malloc(image->width*image->height*3*sizeof(unsigned char)); - + for (int i = 0; i < image->width*image->height*3; i += 3) { ((unsigned char *)image->data)[i] = pixels[k].r; @@ -615,49 +615,49 @@ void ImageFormat(Image *image, int newFormat) case UNCOMPRESSED_R5G5B5A1: { #define ALPHA_THRESHOLD 50 - + image->data = (unsigned short *)malloc(image->width*image->height*sizeof(unsigned short)); - + unsigned char r = 0; unsigned char g = 0; unsigned char b = 0; unsigned char a = 0; - + for (int i = 0; i < image->width*image->height; i++) { r = (unsigned char)(round((float)pixels[i].r*31/255)); g = (unsigned char)(round((float)pixels[i].g*31/255)); b = (unsigned char)(round((float)pixels[i].b*31/255)); a = (pixels[i].a > ALPHA_THRESHOLD) ? 1 : 0; - + ((unsigned short *)image->data)[i] = (unsigned short)r << 11 | (unsigned short)g << 6 | (unsigned short)b << 1 | (unsigned short)a; } - + } break; case UNCOMPRESSED_R4G4B4A4: { image->data = (unsigned short *)malloc(image->width*image->height*sizeof(unsigned short)); - + unsigned char r = 0; unsigned char g = 0; unsigned char b = 0; unsigned char a = 0; - + for (int i = 0; i < image->width*image->height; i++) { r = (unsigned char)(round((float)pixels[i].r*15/255)); g = (unsigned char)(round((float)pixels[i].g*15/255)); b = (unsigned char)(round((float)pixels[i].b*15/255)); a = (unsigned char)(round((float)pixels[i].a*15/255)); - + ((unsigned short *)image->data)[i] = (unsigned short)r << 12 | (unsigned short)g << 8| (unsigned short)b << 4| (unsigned short)a; } - + } break; case UNCOMPRESSED_R8G8B8A8: { image->data = (unsigned char *)malloc(image->width*image->height*4*sizeof(unsigned char)); - + for (int i = 0; i < image->width*image->height*4; i += 4) { ((unsigned char *)image->data)[i] = pixels[k].r; @@ -669,7 +669,7 @@ void ImageFormat(Image *image, int newFormat) } break; default: break; } - + free(pixels); } else TraceLog(WARNING, "Image data format is compressed, can not be converted"); @@ -677,7 +677,7 @@ void ImageFormat(Image *image, int newFormat) } // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) -// NOTE: In case selected bpp do not represent an known 16bit format, +// NOTE: In case selected bpp do not represent an known 16bit format, // dithered data is stored in the LSB part of the unsigned short void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) { @@ -694,14 +694,14 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) else { Color *pixels = GetImageData(*image); - + free(image->data); // free old image data - + if ((image->format != UNCOMPRESSED_R8G8B8) && (image->format != UNCOMPRESSED_R8G8B8A8)) { TraceLog(WARNING, "Image format is already 16bpp or lower, dithering could have no effect"); } - + // Define new image format, check if desired bpp match internal known format if ((rBpp == 5) && (gBpp == 6) && (bBpp == 5) && (aBpp == 0)) image->format = UNCOMPRESSED_R5G6B5; else if ((rBpp == 5) && (gBpp == 5) && (bBpp == 5) && (aBpp == 1)) image->format = UNCOMPRESSED_R5G5B5A1; @@ -714,13 +714,13 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) // NOTE: We will store the dithered data as unsigned short (16bpp) image->data = (unsigned short *)malloc(image->width*image->height*sizeof(unsigned short)); - + Color oldpixel = WHITE; Color newpixel = WHITE; - + int error_r, error_g, error_b; unsigned short pixel_r, pixel_g, pixel_b, pixel_a; // Used for 16bit pixel composition - + #define MIN(a,b) (((a)<(b))?(a):(b)) for (int y = 0; y < image->height; y++) @@ -728,7 +728,7 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) for (int x = 0; x < image->width; x++) { oldpixel = pixels[y*image->width + x]; - + // NOTE: New pixel obtained by bits truncate, it would be better to round values (check ImageFormat()) newpixel.r = oldpixel.r>>(8 - rBpp); // R bits newpixel.g = oldpixel.g>>(8 - gBpp); // G bits @@ -740,7 +740,7 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) error_r = (int)oldpixel.r - (int)(newpixel.r<<(8 - rBpp)); error_g = (int)oldpixel.g - (int)(newpixel.g<<(8 - gBpp)); error_b = (int)oldpixel.b - (int)(newpixel.b<<(8 - bBpp)); - + pixels[y*image->width + x] = newpixel; // NOTE: Some cases are out of the array and should be ignored @@ -750,21 +750,21 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) pixels[y*image->width + x+1].g = MIN((int)pixels[y*image->width + x+1].g + (int)((float)error_g*7.0f/16), 0xff); pixels[y*image->width + x+1].b = MIN((int)pixels[y*image->width + x+1].b + (int)((float)error_b*7.0f/16), 0xff); } - + if ((x > 0) && (y < (image->height - 1))) { pixels[(y+1)*image->width + x-1].r = MIN((int)pixels[(y+1)*image->width + x-1].r + (int)((float)error_r*3.0f/16), 0xff); pixels[(y+1)*image->width + x-1].g = MIN((int)pixels[(y+1)*image->width + x-1].g + (int)((float)error_g*3.0f/16), 0xff); pixels[(y+1)*image->width + x-1].b = MIN((int)pixels[(y+1)*image->width + x-1].b + (int)((float)error_b*3.0f/16), 0xff); } - + if (y < (image->height - 1)) { pixels[(y+1)*image->width + x].r = MIN((int)pixels[(y+1)*image->width + x].r + (int)((float)error_r*5.0f/16), 0xff); pixels[(y+1)*image->width + x].g = MIN((int)pixels[(y+1)*image->width + x].g + (int)((float)error_g*5.0f/16), 0xff); pixels[(y+1)*image->width + x].b = MIN((int)pixels[(y+1)*image->width + x].b + (int)((float)error_b*5.0f/16), 0xff); } - + if ((x < (image->width - 1)) && (y < (image->height - 1))) { pixels[(y+1)*image->width + x+1].r = MIN((int)pixels[(y+1)*image->width + x+1].r + (int)((float)error_r*1.0f/16), 0xff); @@ -776,7 +776,7 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) pixel_g = (unsigned short)newpixel.g; pixel_b = (unsigned short)newpixel.b; pixel_a = (unsigned short)newpixel.a; - + ((unsigned short *)image->data)[y*image->width + x] = (pixel_r<<(gBpp + bBpp + aBpp)) | (pixel_g<<(bBpp + aBpp)) | (pixel_b<width); int potHeight = GetNextPOT(image->height); @@ -816,13 +816,13 @@ void ImageToPOT(Image *image, Color fillColor) free(pixels); // Free pixels data free(image->data); // Free old image data - + int format = image->format; // Store image data format to reconvert later - + // TODO: Image width and height changes... do we want to store new values or keep the old ones? // NOTE: Issues when using image.width and image.height for sprite animations... *image = LoadImageEx(pixelsPOT, potWidth, potHeight); - + free(pixelsPOT); // Free POT pixels data ImageFormat(image, format); // Reconvert image to previous format @@ -833,9 +833,9 @@ void ImageToPOT(Image *image, Color fillColor) Image ImageCopy(Image image) { Image newImage; - + int size = image.width*image.height; - + switch (image.format) { case UNCOMPRESSED_GRAYSCALE: newImage.data = (unsigned char *)malloc(size); break; // 8 bit per pixel (no alpha) @@ -847,24 +847,24 @@ Image ImageCopy(Image image) case UNCOMPRESSED_R8G8B8A8: newImage.data = (unsigned char *)malloc(size*4); size *= 4; break; // 32 bpp default: TraceLog(WARNING, "Image format not suported for copy"); break; } - + if (newImage.data != NULL) { // NOTE: Size must be provided in bytes memcpy(newImage.data, image.data, size); - + newImage.width = image.width; newImage.height = image.height; newImage.mipmaps = image.mipmaps; newImage.format = image.format; } - + return newImage; } // Crop an image to area defined by a rectangle // NOTE: Security checks are performed in case rectangle goes out of bounds -void ImageCrop(Image *image, Rectangle crop) +void ImageCrop(Image *image, Rectangle crop) { // Security checks to make sure cropping rectangle is inside margins if ((crop.x + crop.width) > image->width) @@ -872,13 +872,13 @@ void ImageCrop(Image *image, Rectangle crop) crop.width = image->width - crop.x; TraceLog(WARNING, "Crop rectangle width out of bounds, rescaled crop width: %i", crop.width); } - + if ((crop.y + crop.height) > image->height) { crop.height = image->height - crop.y; TraceLog(WARNING, "Crop rectangle height out of bounds, rescaled crop height: %i", crop.height); } - + if ((crop.x < image->width) && (crop.y < image->height)) { // Start the cropping process @@ -903,7 +903,7 @@ void ImageCrop(Image *image, Rectangle crop) free(cropPixels); - // Reformat 32bit RGBA image to original format + // Reformat 32bit RGBA image to original format ImageFormat(image, format); } else @@ -916,7 +916,7 @@ void ImageCrop(Image *image, Rectangle crop) // NOTE: Uses stb default scaling filters (both bicubic): // STBIR_DEFAULT_FILTER_UPSAMPLE STBIR_FILTER_CATMULLROM // STBIR_DEFAULT_FILTER_DOWNSAMPLE STBIR_FILTER_MITCHELL (high-quality Catmull-Rom) -void ImageResize(Image *image, int newWidth, int newHeight) +void ImageResize(Image *image, int newWidth, int newHeight) { // Get data as Color pixels array to work with it Color *pixels = GetImageData(*image); @@ -930,81 +930,81 @@ void ImageResize(Image *image, int newWidth, int newHeight) UnloadImage(*image); *image = LoadImageEx(output, newWidth, newHeight); - ImageFormat(image, format); // Reformat 32bit RGBA image to original format - + ImageFormat(image, format); // Reformat 32bit RGBA image to original format + free(output); free(pixels); } // Resize and image to new size using Nearest-Neighbor scaling algorithm -void ImageResizeNN(Image *image,int newWidth,int newHeight) +void ImageResizeNN(Image *image,int newWidth,int newHeight) { Color *pixels = GetImageData(*image); Color *output = (Color *)malloc(newWidth*newHeight*sizeof(Color)); - + // EDIT: added +1 to account for an early rounding problem int x_ratio = (int)((image->width<<16)/newWidth) + 1; int y_ratio = (int)((image->height<<16)/newHeight) + 1; - + int x2, y2; - for (int i = 0; i < newHeight; i++) + for (int i = 0; i < newHeight; i++) { - for (int j = 0; j < newWidth; j++) + for (int j = 0; j < newWidth; j++) { x2 = ((j*x_ratio) >> 16); y2 = ((i*y_ratio) >> 16); - + output[(i*newWidth) + j] = pixels[(y2*image->width) + x2] ; - } - } + } + } int format = image->format; UnloadImage(*image); *image = LoadImageEx(output, newWidth, newHeight); - ImageFormat(image, format); // Reformat 32bit RGBA image to original format - + ImageFormat(image, format); // Reformat 32bit RGBA image to original format + free(output); free(pixels); } // Draw an image (source) within an image (destination) -void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec) +void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec) { // Security checks to avoid size and rectangle issues (out of bounds) // Check that srcRec is inside src image if (srcRec.x < 0) srcRec.x = 0; if (srcRec.y < 0) srcRec.y = 0; - + if ((srcRec.x + srcRec.width) > src.width) { srcRec.width = src.width - srcRec.x; TraceLog(WARNING, "Source rectangle width out of bounds, rescaled width: %i", srcRec.width); } - + if ((srcRec.y + srcRec.height) > src.height) { srcRec.height = src.height - srcRec.y; TraceLog(WARNING, "Source rectangle height out of bounds, rescaled height: %i", srcRec.height); } - + // Check that dstRec is inside dst image if (dstRec.x < 0) dstRec.x = 0; if (dstRec.y < 0) dstRec.y = 0; - + if ((dstRec.x + dstRec.width) > dst->width) { dstRec.width = dst->width - dstRec.x; TraceLog(WARNING, "Destination rectangle width out of bounds, rescaled width: %i", dstRec.width); } - + if ((dstRec.y + dstRec.height) > dst->height) { dstRec.height = dst->height - dstRec.y; TraceLog(WARNING, "Destination rectangle height out of bounds, rescaled height: %i", dstRec.height); } - + // Get dstination image data as Color pixels array to work with it Color *dstPixels = GetImageData(*dst); @@ -1012,14 +1012,14 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec) ImageCrop(&srcCopy, srcRec); // Crop source image to desired source rectangle // Scale source image in case destination rec size is different than source rec size - if ((dstRec.width != srcRec.width) || (dstRec.height != srcRec.height)) + if ((dstRec.width != srcRec.width) || (dstRec.height != srcRec.height)) { ImageResize(&srcCopy, dstRec.width, dstRec.height); } // Get source image data as Color array Color *srcPixels = GetImageData(srcCopy); - + UnloadImage(srcCopy); // Blit pixels, copy source image into destination @@ -1030,7 +1030,7 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec) dstPixels[j*dst->width + i] = srcPixels[(j - dstRec.y)*dstRec.width + (i - dstRec.x)]; } } - + UnloadImage(*dst); // NOTE: Only dst->data is unloaded *dst = LoadImageEx(dstPixels, dst->width, dst->height); @@ -1046,9 +1046,9 @@ Image ImageText(const char *text, int fontSize, Color color) int defaultFontSize = 10; // Default Font chars height in pixel if (fontSize < defaultFontSize) fontSize = defaultFontSize; int spacing = fontSize / defaultFontSize; - + Image imText = ImageTextEx(GetDefaultFont(), text, fontSize, spacing, color); - + return imText; } @@ -1062,19 +1062,19 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing // NOTE: GetTextureData() not available in OpenGL ES Image imFont = GetTextureData(font.texture); - + ImageFormat(&imFont, UNCOMPRESSED_R8G8B8A8); // Required for color tint ImageColorTint(&imFont, tint); // Apply color tint to font Color *fontPixels = GetImageData(imFont); - + // Create image to store text Color *pixels = (Color *)malloc(sizeof(Color)*(int)imSize.x*(int)imSize.y); - + for (int i = 0; i < length; i++) { Rectangle letterRec = font.charRecs[(int)text[i] - 32]; - + for (int y = letterRec.y; y < (letterRec.y + letterRec.height); y++) { for (int x = posX; x < (posX + letterRec.width); x++) @@ -1082,28 +1082,28 @@ Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing pixels[(y - letterRec.y)*(int)imSize.x + x] = fontPixels[y*font.texture.width + (x - posX + letterRec.x)]; } } - + posX += letterRec.width + spacing; } - + UnloadImage(imFont); - + Image imText = LoadImageEx(pixels, (int)imSize.x, (int)imSize.y); - + // Scale image depending on text size if (fontSize > imSize.y) { float scaleFactor = fontSize/imSize.y; TraceLog(INFO, "Scalefactor: %f", scaleFactor); - + // Using nearest-neighbor scaling algorithm for default font if (font.texture.id == GetDefaultFont().texture.id) ImageResizeNN(&imText, (int)(imSize.x*scaleFactor), (int)(imSize.y*scaleFactor)); else ImageResize(&imText, (int)(imSize.x*scaleFactor), (int)(imSize.y*scaleFactor)); } - + free(pixels); free(fontPixels); - + return imText; } @@ -1117,12 +1117,12 @@ void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color) { Image imText = ImageTextEx(font, text, fontSize, spacing, color); - + Rectangle srcRec = { 0, 0, imText.width, imText.height }; Rectangle dstRec = { (int)position.x, (int)position.y, imText.width, imText.height }; - + ImageDraw(dst, imText, srcRec, dstRec); - + UnloadImage(imText); } @@ -1131,7 +1131,7 @@ void ImageFlipVertical(Image *image) { Color *srcPixels = GetImageData(*image); Color *dstPixels = (Color *)malloc(sizeof(Color)*image->width*image->height); - + for (int y = 0; y < image->height; y++) { for (int x = 0; x < image->width; x++) @@ -1139,14 +1139,14 @@ void ImageFlipVertical(Image *image) dstPixels[y*image->width + x] = srcPixels[(image->height - 1 - y)*image->width + x]; } } - + Image processed = LoadImageEx(dstPixels, image->width, image->height); ImageFormat(&processed, image->format); UnloadImage(*image); - + free(srcPixels); free(dstPixels); - + image->data = processed.data; } @@ -1155,7 +1155,7 @@ void ImageFlipHorizontal(Image *image) { Color *srcPixels = GetImageData(*image); Color *dstPixels = (Color *)malloc(sizeof(Color)*image->width*image->height); - + for (int y = 0; y < image->height; y++) { for (int x = 0; x < image->width; x++) @@ -1163,14 +1163,14 @@ void ImageFlipHorizontal(Image *image) dstPixels[y*image->width + x] = srcPixels[y*image->width + (image->width - 1 - x)]; } } - + Image processed = LoadImageEx(dstPixels, image->width, image->height); ImageFormat(&processed, image->format); UnloadImage(*image); - + free(srcPixels); free(dstPixels); - + image->data = processed.data; } @@ -1178,12 +1178,12 @@ void ImageFlipHorizontal(Image *image) void ImageColorTint(Image *image, Color color) { Color *pixels = GetImageData(*image); - + float cR = (float)color.r/255; float cG = (float)color.g/255; float cB = (float)color.b/255; float cA = (float)color.a/255; - + for (int y = 0; y < image->height; y++) { for (int x = 0; x < image->width; x++) @@ -1204,7 +1204,7 @@ void ImageColorTint(Image *image, Color color) ImageFormat(&processed, image->format); UnloadImage(*image); free(pixels); - + image->data = processed.data; } @@ -1212,7 +1212,7 @@ void ImageColorTint(Image *image, Color color) void ImageColorInvert(Image *image) { Color *pixels = GetImageData(*image); - + for (int y = 0; y < image->height; y++) { for (int x = 0; x < image->width; x++) @@ -1222,12 +1222,12 @@ void ImageColorInvert(Image *image) pixels[y*image->width + x].b = 255 - pixels[y*image->width + x].b; } } - + Image processed = LoadImageEx(pixels, image->width, image->height); ImageFormat(&processed, image->format); UnloadImage(*image); free(pixels); - + image->data = processed.data; } @@ -1243,12 +1243,12 @@ void ImageColorContrast(Image *image, float contrast) { if (contrast < -100) contrast = -100; if (contrast > 100) contrast = 100; - + contrast = (100.0 + contrast)/100.0; contrast *= contrast; - + Color *pixels = GetImageData(*image); - + for (int y = 0; y < image->height; y++) { for (int x = 0; x < image->width; x++) @@ -1287,7 +1287,7 @@ void ImageColorContrast(Image *image, float contrast) ImageFormat(&processed, image->format); UnloadImage(*image); free(pixels); - + image->data = processed.data; } @@ -1297,9 +1297,9 @@ void ImageColorBrightness(Image *image, int brightness) { if (brightness < -255) brightness = -255; if (brightness > 255) brightness = 255; - + Color *pixels = GetImageData(*image); - + for (int y = 0; y < image->height; y++) { for (int x = 0; x < image->width; x++) @@ -1316,7 +1316,7 @@ void ImageColorBrightness(Image *image, int brightness) if (cB < 0) cB = 1; if (cB > 255) cB = 255; - + pixels[y*image->width + x].r = (unsigned char)cR; pixels[y*image->width + x].g = (unsigned char)cG; pixels[y*image->width + x].b = (unsigned char)cB; @@ -1327,7 +1327,7 @@ void ImageColorBrightness(Image *image, int brightness) ImageFormat(&processed, image->format); UnloadImage(*image); free(pixels); - + image->data = processed.data; } @@ -1396,7 +1396,7 @@ void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, V { if (sourceRec.width < 0) sourceRec.x -= sourceRec.width; if (sourceRec.height < 0) sourceRec.y -= sourceRec.height; - + rlEnableTexture(texture.id); rlPushMatrix(); @@ -1439,13 +1439,13 @@ static Image LoadDDS(const char *fileName) { // Required extension: // GL_EXT_texture_compression_s3tc - + // Supported tokens (defined by extensions) // GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 // GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 // GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 // GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 - + #define FOURCC_DXT1 0x31545844 // Equivalent to "DXT1" in ASCII #define FOURCC_DXT3 0x33545844 // Equivalent to "DXT3" in ASCII #define FOURCC_DXT5 0x35545844 // Equivalent to "DXT5" in ASCII @@ -1508,7 +1508,7 @@ static Image LoadDDS(const char *fileName) else { ddsHeader header; - + // Get the image header fread(&header, sizeof(ddsHeader), 1, ddsFile); @@ -1537,9 +1537,9 @@ static Image LoadDDS(const char *fileName) { image.data = (unsigned short *)malloc(image.width*image.height*sizeof(unsigned short)); fread(image.data, image.width*image.height*sizeof(unsigned short), 1, ddsFile); - + unsigned char alpha = 0; - + // NOTE: Data comes as A1R5G5B5, it must be reordered to R5G5B5A1 for (int i = 0; i < image.width*image.height; i++) { @@ -1554,9 +1554,9 @@ static Image LoadDDS(const char *fileName) { image.data = (unsigned short *)malloc(image.width*image.height*sizeof(unsigned short)); fread(image.data, image.width*image.height*sizeof(unsigned short), 1, ddsFile); - + unsigned char alpha = 0; - + // NOTE: Data comes as A4R4G4B4, it must be reordered R4G4B4A4 for (int i = 0; i < image.width*image.height; i++) { @@ -1564,7 +1564,7 @@ static Image LoadDDS(const char *fileName) ((unsigned short *)image.data)[i] = ((unsigned short *)image.data)[i] << 4; ((unsigned short *)image.data)[i] += alpha; } - + image.format = UNCOMPRESSED_R4G4B4A4; } } @@ -1574,14 +1574,14 @@ static Image LoadDDS(const char *fileName) // NOTE: not sure if this case exists... image.data = (unsigned char *)malloc(image.width*image.height*3*sizeof(unsigned char)); fread(image.data, image.width*image.height*3, 1, ddsFile); - + image.format = UNCOMPRESSED_R8G8B8; } else if (header.ddspf.flags == 0x41 && header.ddspf.rgbBitCount == 32) // DDS_RGBA, no compressed { image.data = (unsigned char *)malloc(image.width*image.height*4*sizeof(unsigned char)); fread(image.data, image.width*image.height*4, 1, ddsFile); - + unsigned char blue = 0; // NOTE: Data comes as A8R8G8B8, it must be reordered R8G8B8A8 (view next comment) @@ -1593,7 +1593,7 @@ static Image LoadDDS(const char *fileName) ((unsigned char *)image.data)[i] = ((unsigned char *)image.data)[i + 2]; ((unsigned char *)image.data)[i + 2] = blue; } - + image.format = UNCOMPRESSED_R8G8B8A8; } else if (((header.ddspf.flags == 0x04) || (header.ddspf.flags == 0x05)) && (header.ddspf.fourCC > 0)) // Compressed @@ -1603,7 +1603,7 @@ static Image LoadDDS(const char *fileName) // Calculate data size, including all mipmaps if (header.mipmapCount > 1) bufsize = header.pitchOrLinearSize*2; else bufsize = header.pitchOrLinearSize; - + TraceLog(DEBUG, "Pitch or linear size: %i", header.pitchOrLinearSize); image.data = (unsigned char*)malloc(bufsize*sizeof(unsigned char)); @@ -1625,7 +1625,7 @@ static Image LoadDDS(const char *fileName) } } } - + fclose(ddsFile); // Close file pointer } @@ -1640,9 +1640,9 @@ static Image LoadPKM(const char *fileName) // Required extensions: // GL_OES_compressed_ETC1_RGB8_texture (ETC1) (OpenGL ES 2.0) // GL_ARB_ES3_compatibility (ETC2/EAC) (OpenGL ES 3.0) - + // Supported tokens (defined by extensions) - // GL_ETC1_RGB8_OES 0x8D64 + // GL_ETC1_RGB8_OES 0x8D64 // GL_COMPRESSED_RGB8_ETC2 0x9274 // GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 @@ -1656,7 +1656,7 @@ static Image LoadPKM(const char *fileName) unsigned short origWidth; // Original width (big-endian) unsigned short origHeight; // Original height (big-endian) } pkmHeader; - + // Formats list // version 10: format: 0=ETC1_RGB, [1=ETC1_RGBA, 2=ETC1_RGB_MIP, 3=ETC1_RGBA_MIP] (not used) // version 20: format: 0=ETC1_RGB, 1=ETC2_RGB, 2=ETC2_RGBA_OLD, 3=ETC2_RGBA, 4=ETC2_RGBA1, 5=ETC2_R, 6=ETC2_RG, 7=ETC2_SIGNED_R, 8=ETC2_SIGNED_R @@ -1665,7 +1665,7 @@ static Image LoadPKM(const char *fileName) // NOTE: ETC is always 4bit per pixel (64 bit for each 4x4 block of pixels) Image image; - + image.data = NULL; image.width = 0; image.height = 0; @@ -1695,18 +1695,18 @@ static Image LoadPKM(const char *fileName) header.format = ((header.format & 0x00FF) << 8) | ((header.format & 0xFF00) >> 8); header.width = ((header.width & 0x00FF) << 8) | ((header.width & 0xFF00) >> 8); header.height = ((header.height & 0x00FF) << 8) | ((header.height & 0xFF00) >> 8); - + TraceLog(DEBUG, "PKM (ETC) image width: %i", header.width); TraceLog(DEBUG, "PKM (ETC) image height: %i", header.height); TraceLog(DEBUG, "PKM (ETC) image format: %i", header.format); - + image.width = header.width; image.height = header.height; image.mipmaps = 1; - + int bpp = 4; if (header.format == 3) bpp = 8; - + int size = image.width*image.height*bpp/8; // Total data size in bytes image.data = (unsigned char*)malloc(size * sizeof(unsigned char)); @@ -1717,7 +1717,7 @@ static Image LoadPKM(const char *fileName) else if (header.format == 1) image.format = COMPRESSED_ETC2_RGB; else if (header.format == 3) image.format = COMPRESSED_ETC2_EAC_RGBA; } - + fclose(pkmFile); // Close file pointer } @@ -1730,12 +1730,12 @@ static Image LoadKTX(const char *fileName) // Required extensions: // GL_OES_compressed_ETC1_RGB8_texture (ETC1) // GL_ARB_ES3_compatibility (ETC2/EAC) - + // Supported tokens (defined by extensions) // GL_ETC1_RGB8_OES 0x8D64 // GL_COMPRESSED_RGB8_ETC2 0x9274 // GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 - + // KTX file Header (64 bytes) // https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ typedef struct { @@ -1754,16 +1754,16 @@ static Image LoadKTX(const char *fileName) unsigned int mipmapLevels; // Non-mipmapped textures = 1 unsigned int keyValueDataSize; // Used to encode any arbitrary data... } ktxHeader; - + // NOTE: Before start of every mipmap data block, we have: unsigned int dataSize - + Image image; image.width = 0; image.height = 0; image.mipmaps = 0; image.format = 0; - + FILE *ktxFile = fopen(fileName, "rb"); if (ktxFile == NULL) @@ -1783,22 +1783,22 @@ static Image LoadKTX(const char *fileName) TraceLog(WARNING, "[%s] KTX file does not seem to be a valid file", fileName); } else - { + { image.width = header.width; image.height = header.height; image.mipmaps = header.mipmapLevels; - + TraceLog(DEBUG, "KTX (ETC) image width: %i", header.width); TraceLog(DEBUG, "KTX (ETC) image height: %i", header.height); TraceLog(DEBUG, "KTX (ETC) image format: 0x%x", header.glInternalFormat); - + unsigned char unused; - + if (header.keyValueDataSize > 0) { for (int i = 0; i < header.keyValueDataSize; i++) fread(&unused, 1, 1, ktxFile); } - + int dataSize; fread(&dataSize, sizeof(unsigned int), 1, ktxFile); @@ -1810,10 +1810,10 @@ static Image LoadKTX(const char *fileName) else if (header.glInternalFormat == 0x9274) image.format = COMPRESSED_ETC2_RGB; else if (header.glInternalFormat == 0x9278) image.format = COMPRESSED_ETC2_EAC_RGBA; } - + fclose(ktxFile); // Close file pointer } - + return image; } @@ -1823,11 +1823,11 @@ static Image LoadPVR(const char *fileName) { // Required extension: // GL_IMG_texture_compression_pvrtc - + // Supported tokens (defined by extensions) // GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 // GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 - + #if 0 // Not used... // PVR file v2 Header (52 bytes) typedef struct { @@ -1864,7 +1864,7 @@ static Image LoadPVR(const char *fileName) unsigned int numMipmaps; unsigned int metaDataSize; } pvrHeaderV3; - + #if 0 // Not used... // Metadata (usually 15 bytes) typedef struct { @@ -1872,7 +1872,7 @@ static Image LoadPVR(const char *fileName) unsigned int key; unsigned int dataSize; // Not used? unsigned char *data; // Not used? - } pvrMetadata; + } pvrMetadata; #endif Image image; @@ -1895,15 +1895,15 @@ static Image LoadPVR(const char *fileName) unsigned char pvrVersion = 0; fread(&pvrVersion, sizeof(unsigned char), 1, pvrFile); fseek(pvrFile, 0, SEEK_SET); - + // Load different PVR data formats if (pvrVersion == 0x50) { pvrHeaderV3 header; - + // Get PVR image header fread(&header, sizeof(pvrHeaderV3), 1, pvrFile); - + if ((header.id[0] != 'P') || (header.id[1] != 'V') || (header.id[2] != 'R') || (header.id[3] != 3)) { TraceLog(WARNING, "[%s] PVR file does not seem to be a valid image", fileName); @@ -1913,7 +1913,7 @@ static Image LoadPVR(const char *fileName) image.width = header.width; image.height = header.height; image.mipmaps = header.numMipmaps; - + // Check data format if (((header.channels[0] == 'l') && (header.channels[1] == 0)) && (header.channelDepth[0] == 8)) image.format = UNCOMPRESSED_GRAYSCALE; else if (((header.channels[0] == 'l') && (header.channels[1] == 'a')) && ((header.channelDepth[0] == 8) && (header.channelDepth[1] == 8))) image.format = UNCOMPRESSED_GRAY_ALPHA; @@ -1933,14 +1933,14 @@ static Image LoadPVR(const char *fileName) } else if (header.channels[0] == 2) image.format = COMPRESSED_PVRT_RGB; else if (header.channels[0] == 3) image.format = COMPRESSED_PVRT_RGBA; - + // Skip meta data header unsigned char unused = 0; for (int i = 0; i < header.metaDataSize; i++) fread(&unused, sizeof(unsigned char), 1, pvrFile); - + // Calculate data size (depends on format) int bpp = 0; - + switch (image.format) { case UNCOMPRESSED_GRAYSCALE: bpp = 8; break; @@ -1954,7 +1954,7 @@ static Image LoadPVR(const char *fileName) case COMPRESSED_PVRT_RGBA: bpp = 4; break; default: break; } - + int dataSize = image.width*image.height*bpp/8; // Total data size in bytes image.data = (unsigned char*)malloc(dataSize*sizeof(unsigned char)); @@ -1976,11 +1976,11 @@ static Image LoadASTC(const char *fileName) // Required extensions: // GL_KHR_texture_compression_astc_hdr // GL_KHR_texture_compression_astc_ldr - + // Supported tokens (defined by extensions) // GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93b0 // GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93b7 - + // ASTC file Header (16 bytes) typedef struct { unsigned char id[4]; // Signature: 0x13 0xAB 0xA1 0x5C @@ -1999,7 +1999,7 @@ static Image LoadASTC(const char *fileName) image.height = 0; image.mipmaps = 0; image.format = 0; - + FILE *astcFile = fopen(fileName, "rb"); if (astcFile == NULL) @@ -2012,7 +2012,7 @@ static Image LoadASTC(const char *fileName) // Get ASTC image header fread(&header, sizeof(astcHeader), 1, astcFile); - + if ((header.id[3] != 0x5c) || (header.id[2] != 0xa1) || (header.id[1] != 0xab) || (header.id[0] != 0x13)) { TraceLog(WARNING, "[%s] ASTC file does not seem to be a valid image", fileName); @@ -2022,31 +2022,31 @@ static Image LoadASTC(const char *fileName) // NOTE: Assuming Little Endian (could it be wrong?) image.width = 0x00000000 | ((int)header.width[2] << 16) | ((int)header.width[1] << 8) | ((int)header.width[0]); image.height = 0x00000000 | ((int)header.height[2] << 16) | ((int)header.height[1] << 8) | ((int)header.height[0]); - + // NOTE: ASTC format only contains one mipmap level image.mipmaps = 1; - + TraceLog(DEBUG, "ASTC image width: %i", image.width); TraceLog(DEBUG, "ASTC image height: %i", image.height); TraceLog(DEBUG, "ASTC image blocks: %ix%i", header.blockX, header.blockY); - + // NOTE: Each block is always stored in 128bit so we can calculate the bpp int bpp = 128/(header.blockX*header.blockY); // NOTE: Currently we only support 2 blocks configurations: 4x4 and 8x8 - if ((bpp == 8) || (bpp == 2)) + if ((bpp == 8) || (bpp == 2)) { int dataSize = image.width*image.height*bpp/8; // Data size in bytes - + image.data = (unsigned char *)malloc(dataSize*sizeof(unsigned char)); fread(image.data, dataSize, 1, astcFile); - + if (bpp == 8) image.format = COMPRESSED_ASTC_4x4_RGBA; else if (bpp == 2) image.format = COMPRESSED_ASTC_4x4_RGBA; } else TraceLog(WARNING, "[%s] ASTC block size configuration not supported", fileName); } - + fclose(astcFile); } From 1d71e1b7542b88c2d5a690d09c0d2a5411549527 Mon Sep 17 00:00:00 2001 From: Wilhem Barbier Date: Thu, 25 Aug 2016 14:18:43 +0200 Subject: [PATCH 057/102] Fix a typo in the DrawCube, DrawCubeWires and DrawCubeTexture definitions --- src/raylib.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 7b7348c81..68cddc5aa 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -810,10 +810,10 @@ RLAPI const char *SubText(const char *text, int position, int length); //------------------------------------------------------------------------------------ RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space RLAPI void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space -RLAPI void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube +RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) -RLAPI void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires -RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured +RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires +RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters RLAPI void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires From f1c3f2870b1acd5073999f27ac4ad06e7a036586 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 25 Aug 2016 15:11:52 +0200 Subject: [PATCH 058/102] Added TraceLog info on image spritefont loading --- src/text.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/text.c b/src/text.c index 8dc554558..3d28fc3c1 100644 --- a/src/text.c +++ b/src/text.c @@ -593,6 +593,8 @@ static SpriteFont LoadImageFont(Image image, Color key, int firstChar) } spriteFont.size = spriteFont.charRecs[0].height; + + TraceLog(INFO, "Image file loaded correctly as SpriteFont"); return spriteFont; } From 5d88eb1d95b188fad1d84994f45291febe9fa6c1 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 25 Aug 2016 15:12:05 +0200 Subject: [PATCH 059/102] Reviewed project includes --- project/vs2015/raylib/raylib.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/vs2015/raylib/raylib.vcxproj b/project/vs2015/raylib/raylib.vcxproj index fe0e32157..c5dd0088f 100644 --- a/project/vs2015/raylib/raylib.vcxproj +++ b/project/vs2015/raylib/raylib.vcxproj @@ -81,7 +81,6 @@ - @@ -92,6 +91,7 @@ + From 4770e2010d2451d28305bea874f81e50ed6560f5 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Fri, 26 Aug 2016 19:40:37 +0200 Subject: [PATCH 060/102] Review Android project --- src/android/jni/Android.mk | 3 +- src/core.c | 6 +- templates/android_project/AndroidManifest.xml | 5 +- templates/android_project/jni/Android.mk | 4 +- .../android_project/jni/include/raylib.h | 681 +++++++++--------- .../android_project/jni/libs/libraylib.a | Bin 1868146 -> 1858024 bytes 6 files changed, 368 insertions(+), 331 deletions(-) diff --git a/src/android/jni/Android.mk b/src/android/jni/Android.mk index 66851d088..687c65773 100644 --- a/src/android/jni/Android.mk +++ b/src/android/jni/Android.mk @@ -4,7 +4,7 @@ # # Static library compilation # -# Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +# Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. @@ -42,7 +42,6 @@ LOCAL_SRC_FILES :=\ ../../textures.c \ ../../text.c \ ../../shapes.c \ - ../../gestures.c \ ../../models.c \ ../../utils.c \ ../../audio.c \ diff --git a/src/core.c b/src/core.c index a76fe0be0..81c2942ae 100644 --- a/src/core.c +++ b/src/core.c @@ -48,8 +48,10 @@ #define GESTURES_IMPLEMENTATION #include "gestures.h" // Gestures detection functionality -#define CAMERA_IMPLEMENTATION -#include "camera.h" // Camera system functionality +#if !defined(PLATFORM_ANDROID) + #define CAMERA_IMPLEMENTATION + #include "camera.h" // Camera system functionality +#endif #include // Standard input / output lib #include // Declares malloc() and free() for memory management, rand(), atexit() diff --git a/templates/android_project/AndroidManifest.xml b/templates/android_project/AndroidManifest.xml index 6755027e6..1d30ab17c 100644 --- a/templates/android_project/AndroidManifest.xml +++ b/templates/android_project/AndroidManifest.xml @@ -5,11 +5,12 @@ * This template has been created using raylib 1.2 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) * --> + diff --git a/templates/android_project/jni/Android.mk b/templates/android_project/jni/Android.mk index 15a21695d..4a0bcb421 100644 --- a/templates/android_project/jni/Android.mk +++ b/templates/android_project/jni/Android.mk @@ -4,7 +4,7 @@ # # Game template makefile # -# Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +# Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. @@ -27,7 +27,6 @@ LOCAL_PATH := $(call my-dir) # OpenAL module (prebuilt static library) -# NOTE: Shared library brokes the build! Why? #-------------------------------------------------------------------- include $(CLEAR_VARS) @@ -41,7 +40,6 @@ LOCAL_SRC_FILES := libs/libopenal.a LOCAL_EXPORT_C_INCLUDES := include # Build static library -#include $(PREBUILT_SHARED_LIBRARY) include $(PREBUILT_STATIC_LIBRARY) #-------------------------------------------------------------------- diff --git a/templates/android_project/jni/include/raylib.h b/templates/android_project/jni/include/raylib.h index 19c677123..68cddc5aa 100644 --- a/templates/android_project/jni/include/raylib.h +++ b/templates/android_project/jni/include/raylib.h @@ -1,6 +1,6 @@ /********************************************************************************************** * -* raylib 1.5.0 (www.raylib.com) +* raylib 1.6.0 (www.raylib.com) * * A simple and easy-to-use library to learn videogames programming * @@ -81,6 +81,14 @@ typedef struct android_app; // Define android_app struct (android_native_app_glue.h) #endif +#if defined(_WIN32) && defined(BUILDING_DLL) + #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 DLL +#elif defined(_WIN32) && defined(RAYLIB_DLL) + #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 DLL +#else + #define RLAPI // We are building or using raylib as a static library (or Linux shared library) +#endif + //---------------------------------------------------------------------------------- // Some basic Defines //---------------------------------------------------------------------------------- @@ -185,17 +193,20 @@ #define GAMEPAD_PLAYER4 3 // Not supported // Gamepad Buttons -// NOTE: Adjusted for a PS3 USB Controller -#define GAMEPAD_BUTTON_A 2 -#define GAMEPAD_BUTTON_B 1 -#define GAMEPAD_BUTTON_X 3 -#define GAMEPAD_BUTTON_Y 4 -#define GAMEPAD_BUTTON_R1 7 -#define GAMEPAD_BUTTON_R2 5 -#define GAMEPAD_BUTTON_L1 6 -#define GAMEPAD_BUTTON_L2 8 -#define GAMEPAD_BUTTON_SELECT 9 -#define GAMEPAD_BUTTON_START 10 + +// PS3 USB Controller +#define GAMEPAD_PS3_BUTTON_A 2 +#define GAMEPAD_PS3_BUTTON_B 1 +#define GAMEPAD_PS3_BUTTON_X 3 +#define GAMEPAD_PS3_BUTTON_Y 4 +#define GAMEPAD_PS3_BUTTON_R1 7 +#define GAMEPAD_PS3_BUTTON_R2 5 +#define GAMEPAD_PS3_BUTTON_L1 6 +#define GAMEPAD_PS3_BUTTON_L2 8 +#define GAMEPAD_PS3_BUTTON_SELECT 9 +#define GAMEPAD_PS3_BUTTON_START 10 + +// TODO: Add PS3 d-pad axis // Xbox360 USB Controller Buttons #define GAMEPAD_XBOX_BUTTON_A 0 @@ -233,44 +244,56 @@ #define ANDROID_VOLUME_UP 24 #define ANDROID_VOLUME_DOWN 25 +// NOTE: MSC C++ compiler does not support compound literals (C99 feature) +// Plain structures in C++ (without constructors) can be initialized from { } initializers. +#ifdef __cplusplus + #define CLITERAL +#else + #define CLITERAL (Color) +#endif + // Some Basic Colors // NOTE: Custom raylib color palette for amazing visuals on WHITE background -#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray -#define GRAY (Color){ 130, 130, 130, 255 } // Gray -#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray -#define YELLOW (Color){ 253, 249, 0, 255 } // Yellow -#define GOLD (Color){ 255, 203, 0, 255 } // Gold -#define ORANGE (Color){ 255, 161, 0, 255 } // Orange -#define PINK (Color){ 255, 109, 194, 255 } // Pink -#define RED (Color){ 230, 41, 55, 255 } // Red -#define MAROON (Color){ 190, 33, 55, 255 } // Maroon -#define GREEN (Color){ 0, 228, 48, 255 } // Green -#define LIME (Color){ 0, 158, 47, 255 } // Lime -#define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green -#define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue -#define BLUE (Color){ 0, 121, 241, 255 } // Blue -#define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue -#define PURPLE (Color){ 200, 122, 255, 255 } // Purple -#define VIOLET (Color){ 135, 60, 190, 255 } // Violet -#define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple -#define BEIGE (Color){ 211, 176, 131, 255 } // Beige -#define BROWN (Color){ 127, 106, 79, 255 } // Brown -#define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown +#define LIGHTGRAY CLITERAL{ 200, 200, 200, 255 } // Light Gray +#define GRAY CLITERAL{ 130, 130, 130, 255 } // Gray +#define DARKGRAY CLITERAL{ 80, 80, 80, 255 } // Dark Gray +#define YELLOW CLITERAL{ 253, 249, 0, 255 } // Yellow +#define GOLD CLITERAL{ 255, 203, 0, 255 } // Gold +#define ORANGE CLITERAL{ 255, 161, 0, 255 } // Orange +#define PINK CLITERAL{ 255, 109, 194, 255 } // Pink +#define RED CLITERAL{ 230, 41, 55, 255 } // Red +#define MAROON CLITERAL{ 190, 33, 55, 255 } // Maroon +#define GREEN CLITERAL{ 0, 228, 48, 255 } // Green +#define LIME CLITERAL{ 0, 158, 47, 255 } // Lime +#define DARKGREEN CLITERAL{ 0, 117, 44, 255 } // Dark Green +#define SKYBLUE CLITERAL{ 102, 191, 255, 255 } // Sky Blue +#define BLUE CLITERAL{ 0, 121, 241, 255 } // Blue +#define DARKBLUE CLITERAL{ 0, 82, 172, 255 } // Dark Blue +#define PURPLE CLITERAL{ 200, 122, 255, 255 } // Purple +#define VIOLET CLITERAL{ 135, 60, 190, 255 } // Violet +#define DARKPURPLE CLITERAL{ 112, 31, 126, 255 } // Dark Purple +#define BEIGE CLITERAL{ 211, 176, 131, 255 } // Beige +#define BROWN CLITERAL{ 127, 106, 79, 255 } // Brown +#define DARKBROWN CLITERAL{ 76, 63, 47, 255 } // Dark Brown -#define WHITE (Color){ 255, 255, 255, 255 } // White -#define BLACK (Color){ 0, 0, 0, 255 } // Black -#define BLANK (Color){ 0, 0, 0, 0 } // Blank (Transparent) -#define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta -#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo) +#define WHITE CLITERAL{ 255, 255, 255, 255 } // White +#define BLACK CLITERAL{ 0, 0, 0, 255 } // Black +#define BLANK CLITERAL{ 0, 0, 0, 0 } // Blank (Transparent) +#define MAGENTA CLITERAL{ 255, 0, 255, 255 } // Magenta +#define RAYWHITE CLITERAL{ 245, 245, 245, 255 } // My own White (raylib logo) //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H + #ifndef __APPLE__ + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H + #endif + #else + #include #endif #endif @@ -393,7 +416,7 @@ typedef struct Mesh { // Shader type (generic shader) typedef struct Shader { unsigned int id; // Shader program id - + // Vertex attributes locations (default locations) int vertexLoc; // Vertex attribute location point (default-location = 0) int texcoordLoc; // Texcoord attribute location point (default-location = 1) @@ -405,7 +428,7 @@ typedef struct Shader { // Uniform locations int mvpLoc; // ModelView-Projection matrix uniform location point (vertex shader) int tintColorLoc; // Diffuse color uniform location point (fragment shader) - + // Texture map locations (generic for any kind of map) int mapTexture0Loc; // Map texture uniform location point (default-texture-unit = 0) int mapTexture1Loc; // Map texture uniform location point (default-texture-unit = 1) @@ -419,11 +442,11 @@ typedef struct Material { Texture2D texDiffuse; // Diffuse texture (binded to shader mapTexture0Loc) Texture2D texNormal; // Normal texture (binded to shader mapTexture1Loc) Texture2D texSpecular; // Specular texture (binded to shader mapTexture2Loc) - + Color colDiffuse; // Diffuse color Color colAmbient; // Ambient color Color colSpecular; // Specular color - + float glossiness; // Glossiness level (Ranges from 0 to 1000) } Material; @@ -439,14 +462,14 @@ typedef struct LightData { unsigned int id; // Light unique id bool enabled; // Light enabled int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT - + Vector3 position; // Light position Vector3 target; // Light target: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) float radius; // Light attenuation radius light intensity reduced with distance (world distance) - + Color diffuse; // Light diffuse color float intensity; // Light intensity level - + float coneAngle; // Light cone max angle: LIGHT_SPOT } LightData, *Light; @@ -461,19 +484,35 @@ typedef struct Ray { // Sound source type typedef struct Sound { - unsigned int source; // Sound audio source id - unsigned int buffer; // Sound audio buffer id + unsigned int source; // OpenAL audio source id + unsigned int buffer; // OpenAL audio buffer id } Sound; // Wave type, defines audio wave data typedef struct Wave { + unsigned int sampleCount; // Number of samples + unsigned int sampleRate; // Frequency (samples per second) + unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels (1-mono, 2-stereo) void *data; // Buffer data pointer - unsigned int dataSize; // Data size in bytes - unsigned int sampleRate; // Samples per second to be played - short bitsPerSample; // Sample size in bits - short channels; } Wave; +// Music type (file streaming from memory) +// NOTE: Anything longer than ~10 seconds should be streamed +typedef struct MusicData *Music; + +// Audio stream type +// NOTE: Useful to create custom audio streams not bound to a specific file +typedef struct AudioStream { + unsigned int sampleRate; // Frequency (samples per second) + unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + unsigned int channels; // Number of channels (1-mono, 2-stereo) + + int format; // OpenAL audio format specifier + unsigned int source; // OpenAL audio source id + unsigned int buffers[2]; // OpenAL audio buffers (double buffering) +} AudioStream; + // Texture formats // NOTE: Support depends on OpenGL version and platform typedef enum { @@ -516,18 +555,6 @@ typedef enum { GESTURE_PINCH_OUT = 512 } Gestures; -// Touch action (fingers or mouse) -typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; - -// Gesture events -// NOTE: MAX_TOUCH_POINTS fixed to 2 -typedef struct GestureEvent { - int touchAction; - int pointCount; - int pointerId[MAX_TOUCH_POINTS]; - Vector2 position[MAX_TOUCH_POINTS]; -} GestureEvent; - // Camera system modes typedef enum { CAMERA_CUSTOM = 0, CAMERA_FREE, CAMERA_ORBITAL, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON } CameraMode; @@ -557,94 +584,94 @@ extern "C" { // Prevents name mangling of functions // Window and Graphics Device Functions (Module: core) //------------------------------------------------------------------------------------ #if defined(PLATFORM_ANDROID) -void InitWindow(int width, int height, struct android_app *state); // Init Android Activity and OpenGL Graphics +RLAPI void InitWindow(int width, int height, struct android_app *state); // Init Android Activity and OpenGL Graphics #elif defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) -void InitWindow(int width, int height, const char *title); // Initialize Window and OpenGL Graphics +RLAPI void InitWindow(int width, int height, const char *title); // Initialize Window and OpenGL Graphics #endif -void CloseWindow(void); // Close Window and Terminate Context -bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed -bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) -void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) -int GetScreenWidth(void); // Get current screen width -int GetScreenHeight(void); // Get current screen height +RLAPI void CloseWindow(void); // Close Window and Terminate Context +RLAPI bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed +RLAPI bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) +RLAPI void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) +RLAPI int GetScreenWidth(void); // Get current screen width +RLAPI int GetScreenHeight(void); // Get current screen height -void ShowCursor(void); // Shows cursor -void HideCursor(void); // Hides cursor -bool IsCursorHidden(void); // Returns true if cursor is not visible -void EnableCursor(void); // Enables cursor -void DisableCursor(void); // Disables cursor +RLAPI void ShowCursor(void); // Shows cursor +RLAPI void HideCursor(void); // Hides cursor +RLAPI bool IsCursorHidden(void); // Returns true if cursor is not visible +RLAPI void EnableCursor(void); // Enables cursor +RLAPI void DisableCursor(void); // Disables cursor -void ClearBackground(Color color); // Sets Background Color -void BeginDrawing(void); // Setup drawing canvas to start drawing -void EndDrawing(void); // End canvas drawing and Swap Buffers (Double Buffering) +RLAPI void ClearBackground(Color color); // Sets Background Color +RLAPI void BeginDrawing(void); // Setup drawing canvas to start drawing +RLAPI void EndDrawing(void); // End canvas drawing and Swap Buffers (Double Buffering) -void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera -void End2dMode(void); // Ends 2D mode custom camera usage -void Begin3dMode(Camera camera); // Initializes 3D mode for drawing (Camera setup) -void End3dMode(void); // Ends 3D mode and returns to default 2D orthographic mode -void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing -void EndTextureMode(void); // Ends drawing to render texture +RLAPI void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera +RLAPI void End2dMode(void); // Ends 2D mode custom camera usage +RLAPI void Begin3dMode(Camera camera); // Initializes 3D mode for drawing (Camera setup) +RLAPI void End3dMode(void); // Ends 3D mode and returns to default 2D orthographic mode +RLAPI void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing +RLAPI void EndTextureMode(void); // Ends drawing to render texture -Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position -Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position -Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) +RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position +RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position +RLAPI Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) -void SetTargetFPS(int fps); // Set target FPS (maximum) -float GetFPS(void); // Returns current FPS -float GetFrameTime(void); // Returns time in seconds for one frame +RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum) +RLAPI float GetFPS(void); // Returns current FPS +RLAPI float GetFrameTime(void); // Returns time in seconds for one frame -Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value -int GetHexValue(Color color); // Returns hexadecimal value for a Color -float *ColorToFloat(Color color); // Converts Color to float array and normalizes -float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array -float *MatrixToFloat(Matrix mat); // Converts Matrix to float array +RLAPI Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value +RLAPI int GetHexValue(Color color); // Returns hexadecimal value for a Color +RLAPI float *ColorToFloat(Color color); // Converts Color to float array and normalizes +RLAPI float *VectorToFloat(Vector3 vec); // Converts Vector3 to float array +RLAPI float *MatrixToFloat(Matrix mat); // Converts Matrix to float array -int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) -Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f +RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) +RLAPI Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f -void SetConfigFlags(char flags); // Setup some window configuration flags -void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) +RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags +RLAPI void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) -bool IsFileDropped(void); // Check if a file have been dropped into window -char **GetDroppedFiles(int *count); // Retrieve dropped files into window -void ClearDroppedFiles(void); // Clear dropped files paths buffer +RLAPI bool IsFileDropped(void); // Check if a file have been dropped into window +RLAPI char **GetDroppedFiles(int *count); // Retrieve dropped files into window +RLAPI void ClearDroppedFiles(void); // Clear dropped files paths buffer -void StorageSaveValue(int position, int value); // Storage save integer value (to defined position) -int StorageLoadValue(int position); // Storage load integer value (from defined position) +RLAPI void StorageSaveValue(int position, int value); // Storage save integer value (to defined position) +RLAPI int StorageLoadValue(int position); // Storage load integer value (from defined position) //------------------------------------------------------------------------------------ // Input Handling Functions (Module: core) //------------------------------------------------------------------------------------ #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) -bool IsKeyPressed(int key); // Detect if a key has been pressed once -bool IsKeyDown(int key); // Detect if a key is being pressed -bool IsKeyReleased(int key); // Detect if a key has been released once -bool IsKeyUp(int key); // Detect if a key is NOT being pressed -int GetKeyPressed(void); // Get latest key pressed -void SetExitKey(int key); // Set a custom key to exit program (default is ESC) +RLAPI bool IsKeyPressed(int key); // Detect if a key has been pressed once +RLAPI bool IsKeyDown(int key); // Detect if a key is being pressed +RLAPI bool IsKeyReleased(int key); // Detect if a key has been released once +RLAPI bool IsKeyUp(int key); // Detect if a key is NOT being pressed +RLAPI int GetKeyPressed(void); // Get latest key pressed +RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) -bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available -float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis -bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once -bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed -bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once -bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed +RLAPI bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available +RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis +RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once +RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed +RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once +RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed #endif -bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once -bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed -bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once -bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed -int GetMouseX(void); // Returns mouse position X -int GetMouseY(void); // Returns mouse position Y -Vector2 GetMousePosition(void); // Returns mouse position XY -void SetMousePosition(Vector2 position); // Set mouse position XY -int GetMouseWheelMove(void); // Returns mouse wheel movement Y +RLAPI bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once +RLAPI bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed +RLAPI bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once +RLAPI bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed +RLAPI int GetMouseX(void); // Returns mouse position X +RLAPI int GetMouseY(void); // Returns mouse position Y +RLAPI Vector2 GetMousePosition(void); // Returns mouse position XY +RLAPI void SetMousePosition(Vector2 position); // Set mouse position XY +RLAPI int GetMouseWheelMove(void); // Returns mouse wheel movement Y -int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) -int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) -Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) +RLAPI int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) +RLAPI int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) +RLAPI Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) #if defined(PLATFORM_ANDROID) bool IsButtonPressed(int button); // Detect if an android physic button has been pressed @@ -655,254 +682,264 @@ bool IsButtonReleased(int button); // Detect if an android //------------------------------------------------------------------------------------ // Gestures and Touch Handling Functions (Module: gestures) //------------------------------------------------------------------------------------ -void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags -bool IsGestureDetected(int gesture); // Check if a gesture have been detected -void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures -void UpdateGestures(void); // Update gestures detected (called automatically in PollInputEvents()) - -int GetTouchPointsCount(void); // Get touch points count -int GetGestureDetected(void); // Get latest detected gesture -float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds -Vector2 GetGestureDragVector(void); // Get gesture drag vector -float GetGestureDragAngle(void); // Get gesture drag angle -Vector2 GetGesturePinchVector(void); // Get gesture pinch delta -float GetGesturePinchAngle(void); // Get gesture pinch angle +RLAPI void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags +RLAPI bool IsGestureDetected(int gesture); // Check if a gesture have been detected +RLAPI int GetGestureDetected(void); // Get latest detected gesture +RLAPI int GetTouchPointsCount(void); // Get touch points count +RLAPI float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds +RLAPI Vector2 GetGestureDragVector(void); // Get gesture drag vector +RLAPI float GetGestureDragAngle(void); // Get gesture drag angle +RLAPI Vector2 GetGesturePinchVector(void); // Get gesture pinch delta +RLAPI float GetGesturePinchAngle(void); // Get gesture pinch angle //------------------------------------------------------------------------------------ // Camera System Functions (Module: camera) //------------------------------------------------------------------------------------ -void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) -void UpdateCamera(Camera *camera); // Update camera (player position is ignored) -void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) +RLAPI void SetCameraMode(int mode); // Set camera mode (multiple camera modes available) +RLAPI void UpdateCamera(Camera *camera); // Update camera (player position is ignored) +RLAPI void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras) -void SetCameraPosition(Vector3 position); // Set internal camera position -void SetCameraTarget(Vector3 target); // Set internal camera target -void SetCameraFovy(float fovy); // Set internal camera field-of-view-y +RLAPI void SetCameraPosition(Vector3 position); // Set internal camera position +RLAPI void SetCameraTarget(Vector3 target); // Set internal camera target +RLAPI void SetCameraFovy(float fovy); // Set internal camera field-of-view-y -void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) -void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) -void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) +RLAPI void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) +RLAPI void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) +RLAPI void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) -void SetCameraMoveControls(int frontKey, int backKey, - int leftKey, int rightKey, - int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) -void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) +RLAPI void SetCameraMoveControls(int frontKey, int backKey, + int leftKey, int rightKey, + int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) +RLAPI void SetCameraMouseSensitivity(float sensitivity); // Set camera mouse sensitivity (1st person and 3rd person cameras) //------------------------------------------------------------------------------------ // Basic Shapes Drawing Functions (Module: shapes) //------------------------------------------------------------------------------------ -void DrawPixel(int posX, int posY, Color color); // Draw a pixel -void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) -void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line -void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) -void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle -void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle -void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) -void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline -void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle -void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle -void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle -void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) -void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline -void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle -void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline -void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) -void DrawPolyEx(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points -void DrawPolyExLines(Vector2 *points, int numPoints, Color color); // Draw polygon lines +RLAPI void DrawPixel(int posX, int posY, Color color); // Draw a pixel +RLAPI void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) +RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line +RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) +RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle +RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle +RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) +RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline +RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle +RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle +RLAPI void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle +RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) +RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline +RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle +RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline +RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) +RLAPI void DrawPolyEx(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points +RLAPI void DrawPolyExLines(Vector2 *points, int numPoints, Color color); // Draw polygon lines -bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles -bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles -bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle -Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision -bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle -bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle -bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle +RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles +RLAPI bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles +RLAPI bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle +RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision +RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle +RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle +RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle //------------------------------------------------------------------------------------ // Texture Loading and Drawing Functions (Module: textures) //------------------------------------------------------------------------------------ -Image LoadImage(const char *fileName); // Load an image into CPU memory (RAM) -Image LoadImageEx(Color *pixels, int width, int height); // Load image data from Color array data (RGBA - 32bit) -Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image data from RAW file -Image LoadImageFromRES(const char *rresName, int resId); // Load an image from rRES file (raylib Resource) -Texture2D LoadTexture(const char *fileName); // Load an image as texture into GPU memory -Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); // Load a texture from raw data into GPU memory -Texture2D LoadTextureFromRES(const char *rresName, int resId); // Load an image as texture from rRES file (raylib Resource) -Texture2D LoadTextureFromImage(Image image); // Load a texture from image data -RenderTexture2D LoadRenderTexture(int width, int height); // Load a texture to be used for rendering -void UnloadImage(Image image); // Unload image from CPU memory (RAM) -void UnloadTexture(Texture2D texture); // Unload texture from GPU memory -void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory -Color *GetImageData(Image image); // Get pixel data from image as a Color struct array -Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image -void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) -void ImageFormat(Image *image, int newFormat); // Convert image data to desired format -void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) -Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) -void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle -void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) -void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) -Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) -Image ImageTextEx(SpriteFont font, const char *text, int fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) -void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image -void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) -void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, int fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) -void ImageFlipVertical(Image *image); // Flip image vertically -void ImageFlipHorizontal(Image *image); // Flip image horizontally -void ImageColorTint(Image *image, Color color); // Modify image color: tint -void ImageColorInvert(Image *image); // Modify image color: invert -void ImageColorGrayscale(Image *image); // Modify image color: grayscale -void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) -void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) -void GenTextureMipmaps(Texture2D texture); // Generate GPU mipmaps for a texture -void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data +RLAPI Image LoadImage(const char *fileName); // Load an image into CPU memory (RAM) +RLAPI Image LoadImageEx(Color *pixels, int width, int height); // Load image data from Color array data (RGBA - 32bit) +RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image data from RAW file +RLAPI Image LoadImageFromRES(const char *rresName, int resId); // Load an image from rRES file (raylib Resource) +RLAPI Texture2D LoadTexture(const char *fileName); // Load an image as texture into GPU memory +RLAPI Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat); // Load a texture from raw data into GPU memory +RLAPI Texture2D LoadTextureFromRES(const char *rresName, int resId); // Load an image as texture from rRES file (raylib Resource) +RLAPI Texture2D LoadTextureFromImage(Image image); // Load a texture from image data +RLAPI RenderTexture2D LoadRenderTexture(int width, int height); // Load a texture to be used for rendering +RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM) +RLAPI void UnloadTexture(Texture2D texture); // Unload texture from GPU memory +RLAPI void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory +RLAPI Color *GetImageData(Image image); // Get pixel data from image as a Color struct array +RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image +RLAPI void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) +RLAPI void ImageFormat(Image *image, int newFormat); // Convert image data to desired format +RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) +RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) +RLAPI void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle +RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize and image (bilinear filtering) +RLAPI void ImageResizeNN(Image *image,int newWidth,int newHeight); // Resize and image (Nearest-Neighbor scaling algorithm) +RLAPI Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) +RLAPI Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) +RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image +RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) +RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) +RLAPI void ImageFlipVertical(Image *image); // Flip image vertically +RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally +RLAPI void ImageColorTint(Image *image, Color color); // Modify image color: tint +RLAPI void ImageColorInvert(Image *image); // Modify image color: invert +RLAPI void ImageColorGrayscale(Image *image); // Modify image color: grayscale +RLAPI void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) +RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) +RLAPI void GenTextureMipmaps(Texture2D texture); // Generate GPU mipmaps for a texture +RLAPI void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data -void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D -void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 -void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters -void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle -void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, // Draw a part of a texture defined by a rectangle with 'pro' parameters +RLAPI void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D +RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 +RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters +RLAPI void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle +RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, // Draw a part of a texture defined by a rectangle with 'pro' parameters float rotation, Color tint); //------------------------------------------------------------------------------------ // Font Loading and Text Drawing Functions (Module: text) //------------------------------------------------------------------------------------ -SpriteFont GetDefaultFont(void); // Get the default SpriteFont -SpriteFont LoadSpriteFont(const char *fileName); // Load a SpriteFont image into GPU memory -void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory +RLAPI SpriteFont GetDefaultFont(void); // Get the default SpriteFont +RLAPI SpriteFont LoadSpriteFont(const char *fileName); // Load a SpriteFont image into GPU memory +RLAPI void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory -void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) -void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters - int fontSize, int spacing, Color tint); -int MeasureText(const char *text, int fontSize); // Measure string width for default font -Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont +RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) +RLAPI void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, // Draw text using SpriteFont and additional parameters + float fontSize, int spacing, Color tint); +RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font +RLAPI Vector2 MeasureTextEx(SpriteFont spriteFont, const char *text, int fontSize, int spacing); // Measure string size for SpriteFont -void DrawFPS(int posX, int posY); // Shows current FPS on top-left corner -const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' -const char *SubText(const char *text, int position, int length); // Get a piece of a text string +RLAPI void DrawFPS(int posX, int posY); // Shows current FPS on top-left corner +RLAPI const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed' +RLAPI const char *SubText(const char *text, int position, int length); // Get a piece of a text string //------------------------------------------------------------------------------------ // Basic 3d Shapes Drawing Functions (Module: models) //------------------------------------------------------------------------------------ -void DrawCube(Vector3 position, float width, float height, float lenght, Color color); // Draw cube -void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) -void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color); // Draw cube wires -void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float lenght, Color color); // Draw cube textured -void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere -void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters -void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires -void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone -void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires -void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ -void DrawRay(Ray ray, Color color); // Draw a ray line -void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) -void DrawGizmo(Vector3 position); // Draw simple gizmo -void DrawLight(Light light); // Draw light in 3D world -void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space -void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space +RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space +RLAPI void DrawCircle3D(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color); // Draw a circle in 3D world space +RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube +RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) +RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires +RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured +RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere +RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters +RLAPI void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires +RLAPI void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone +RLAPI void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires +RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ +RLAPI void DrawRay(Ray ray, Color color); // Draw a ray line +RLAPI void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) +RLAPI void DrawGizmo(Vector3 position); // Draw simple gizmo +RLAPI void DrawLight(Light light); // Draw light in 3D world //DrawTorus(), DrawTeapot() are useless... //------------------------------------------------------------------------------------ // Model 3d Loading and Drawing Functions (Module: models) //------------------------------------------------------------------------------------ -Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) -Model LoadModelEx(Mesh data, bool dynamic); // Load a 3d model (from mesh data) -Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d model from rRES file (raylib Resource) -Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model -Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) -void UnloadModel(Model model); // Unload 3d model from memory +RLAPI Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) +RLAPI Model LoadModelEx(Mesh data, bool dynamic); // Load a 3d model (from mesh data) +RLAPI Model LoadModelFromRES(const char *rresName, int resId); // Load a 3d model from rRES file (raylib Resource) +RLAPI Model LoadHeightmap(Image heightmap, Vector3 size); // Load a heightmap image as a 3d model +RLAPI Model LoadCubicmap(Image cubicmap); // Load a map image as a 3d model (cubes based) +RLAPI void UnloadModel(Model model); // Unload 3d model from memory -Material LoadMaterial(const char *fileName); // Load material data (from file) -Material LoadDefaultMaterial(void); // Load default material (uses default models shader) -Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) -void UnloadMaterial(Material material); // Unload material textures from VRAM +RLAPI Mesh GenMeshCube(float width, float height, float depth); // Generate mesh: cube -void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) -void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters -void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) -void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters -void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) +RLAPI Material LoadMaterial(const char *fileName); // Load material data (from file) +RLAPI Material LoadDefaultMaterial(void); // Load default material (uses default models shader) +RLAPI Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) +RLAPI void UnloadMaterial(Material material); // Unload material textures from VRAM -void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture -void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec +RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) +RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters +RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) +RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters +RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) -BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits -bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres -bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes -bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere -bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere -bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection -bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box -Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap +RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture +RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec + +RLAPI BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits +RLAPI bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres +RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes +RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere +RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere +RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere with extended parameters and collision point detection +RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box +RLAPI Vector3 ResolveCollisionCubicmap(Image cubicmap, Vector3 mapPosition, Vector3 *playerPosition, float radius); // Detect collision of player radius with cubicmap // NOTE: Return the normal vector of the impacted surface //------------------------------------------------------------------------------------ // Shaders System Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ -Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations -void UnloadShader(Shader shader); // Unload a custom shader from memory +RLAPI Shader LoadShader(char *vsFileName, char *fsFileName); // Load a custom shader and bind default locations +RLAPI void UnloadShader(Shader shader); // Unload a custom shader from memory -Shader GetDefaultShader(void); // Get default shader -Shader GetStandardShader(void); // Get standard shader -Texture2D GetDefaultTexture(void); // Get default texture +RLAPI Shader GetDefaultShader(void); // Get default shader +RLAPI Shader GetStandardShader(void); // Get standard shader +RLAPI Texture2D GetDefaultTexture(void); // Get default texture -int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location -void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) -void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int) -void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) +RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +RLAPI void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float) +RLAPI void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int) +RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) -void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) -void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) +RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) +RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) -void BeginShaderMode(Shader shader); // Begin custom shader drawing -void EndShaderMode(void); // End custom shader drawing (use default shader) -void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) -void EndBlendMode(void); // End blending mode (reset to default: alpha blending) +RLAPI void BeginShaderMode(Shader shader); // Begin custom shader drawing +RLAPI void EndShaderMode(void); // End custom shader drawing (use default shader) +RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) +RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) -Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool -void DestroyLight(Light light); // Destroy a light and take it out of the list +RLAPI Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool +RLAPI void DestroyLight(Light light); // Destroy a light and take it out of the list //------------------------------------------------------------------------------------ // VR experience Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ -void InitVrDevice(int vdDevice); // Init VR device -void CloseVrDevice(void); // Close VR device -void UpdateVrTracking(void); // Update VR tracking (position and orientation) -void BeginVrDrawing(void); // Begin VR drawing configuration -void EndVrDrawing(void); // End VR drawing process (and desktop mirror) -bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready -void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +RLAPI void InitVrDevice(int vdDevice); // Init VR device +RLAPI void CloseVrDevice(void); // Close VR device +RLAPI bool IsVrDeviceReady(void); // Detect if VR device (or simulator) is ready +RLAPI void UpdateVrTracking(void); // Update VR tracking (position and orientation) +RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) //------------------------------------------------------------------------------------ // Audio Loading and Playing Functions (Module: audio) //------------------------------------------------------------------------------------ -void InitAudioDevice(void); // Initialize audio device and context -void CloseAudioDevice(void); // Close the audio device and context (and music stream) -bool IsAudioDeviceReady(void); // True if call to InitAudioDevice() was successful and CloseAudioDevice() has not been called yet +RLAPI void InitAudioDevice(void); // Initialize audio device and context +RLAPI void CloseAudioDevice(void); // Close the audio device and context (and music stream) +RLAPI bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully -Sound LoadSound(char *fileName); // Load sound to memory -Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data -Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) -void UnloadSound(Sound sound); // Unload sound -void PlaySound(Sound sound); // Play a sound -void PauseSound(Sound sound); // Pause a sound -void StopSound(Sound sound); // Stop playing a sound -bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing -void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) -void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) +RLAPI Sound LoadSound(char *fileName); // Load sound to memory +RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound to memory from wave data +RLAPI Sound LoadSoundFromRES(const char *rresName, int resId); // Load sound to memory from rRES file (raylib Resource) +RLAPI void UnloadSound(Sound sound); // Unload sound +RLAPI void PlaySound(Sound sound); // Play a sound +RLAPI void PauseSound(Sound sound); // Pause a sound +RLAPI void ResumeSound(Sound sound); // Resume a paused sound +RLAPI void StopSound(Sound sound); // Stop playing a sound +RLAPI bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing +RLAPI void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) +RLAPI void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) -int PlayMusicStream(int index, char *fileName); // Start music playing (open stream) -void UpdateMusicStream(int index); // Updates buffers for music streaming -void StopMusicStream(int index); // Stop music playing (close stream) -void PauseMusicStream(int index); // Pause music playing -void ResumeMusicStream(int index); // Resume playing paused music -bool IsMusicPlaying(int index); // Check if music is playing -void SetMusicVolume(int index, float volume); // Set volume for music (1.0 is max level) -void SetMusicPitch(int index, float pitch); // Set pitch for a music (1.0 is base level) -float GetMusicTimeLength(int index); // Get current music time length (in seconds) -float GetMusicTimePlayed(int index); // Get current music time played (in seconds) -int GetMusicStreamCount(void); // Get number of streams loaded +RLAPI Music LoadMusicStream(char *fileName); // Load music stream from file +RLAPI void UnloadMusicStream(Music music); // Unload music stream +RLAPI void PlayMusicStream(Music music); // Start music playing (open stream) +RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming +RLAPI void StopMusicStream(Music music); // Stop music playing (close stream) +RLAPI void PauseMusicStream(Music music); // Pause music playing +RLAPI void ResumeMusicStream(Music music); // Resume playing paused music +RLAPI bool IsMusicPlaying(Music music); // Check if music is playing +RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) +RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) +RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) +RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) + +RLAPI AudioStream InitAudioStream(unsigned int sampleRate, + unsigned int sampleSize, + unsigned int channels); // Init audio stream (to stream audio pcm data) +RLAPI void UpdateAudioStream(AudioStream stream, void *data, int numSamples); // Update audio stream buffers with data +RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory +RLAPI bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill +RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream +RLAPI void PauseAudioStream(AudioStream stream); // Pause audio stream +RLAPI void ResumeAudioStream(AudioStream stream); // Resume audio stream +RLAPI void StopAudioStream(AudioStream stream); // Stop audio stream #ifdef __cplusplus } diff --git a/templates/android_project/jni/libs/libraylib.a b/templates/android_project/jni/libs/libraylib.a index 3ee2746da37ec72ddd00940bf560398eaae8b707..24344d0ce65e6d507e438131fe768ca33f0cb6ad 100644 GIT binary patch delta 413458 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Νh{DC92vrMPc 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

Py<=l;I;>)~G(h62!C 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 z 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
C{Gaf@^MBm`*#CL|z5m<(_xK;s?thQ}Q^6yR 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≈?>`$CXrlAy7j|JD#y`IqxVTv$1q!I7 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ℜI%HG+7Q&~1|1~> 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 z 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