From 6c94ffb0cc3d27f4b858686ba5a61a9cbdeb2f08 Mon Sep 17 00:00:00 2001 From: Meatcorps Date: Thu, 21 May 2026 06:08:27 +0200 Subject: [PATCH] Added severial examples. Corrected towards the correct return type and add utilities to prevent working with pointers --- Examples/Core/BasicWindow.cs | 19 +- Examples/Core/Camera2dDemo.cs | 10 +- Examples/Core/Customlogging.cs | 4 +- Examples/Core/DeltaTime.cs | 129 ++++++ Examples/Core/InputGamepad.cs | 166 ++++--- Examples/Core/InputGestures.cs | 14 +- Examples/Core/InputGesturesTestBed.cs | 434 ++++++++++++++++++ Examples/Core/InputKeys.cs | 12 +- Examples/Core/InputMouse.cs | 48 +- Examples/Core/InputMouseWheel.cs | 18 +- Examples/Core/InputMultitouch.cs | 12 +- Examples/Core/InputVirtualControls.cs | 216 +++++++++ .../{AnimationDemo.cs => LoadingIqm.cs} | 62 ++- Examples/Program.cs | 6 +- Examples/resources/symbola.png | Bin 244613 -> 0 bytes Raylib-cs/interop/Raylib.cs | 14 +- Raylib-cs/types/Mesh.cs | 2 + Raylib-cs/types/Model.cs | 117 ++--- Raylib-cs/types/Raylib.Utils.cs | 168 +++++++ Raylib-cs/types/native/FilePathList.cs | 1 + Raylib-cs/types/native/Utf8Buffer.cs | 5 + 21 files changed, 1252 insertions(+), 205 deletions(-) create mode 100644 Examples/Core/DeltaTime.cs create mode 100644 Examples/Core/InputGesturesTestBed.cs create mode 100644 Examples/Core/InputVirtualControls.cs rename Examples/Models/{AnimationDemo.cs => LoadingIqm.cs} (65%) delete mode 100644 Examples/resources/symbola.png diff --git a/Examples/Core/BasicWindow.cs b/Examples/Core/BasicWindow.cs index 51f8d76..4180912 100644 --- a/Examples/Core/BasicWindow.cs +++ b/Examples/Core/BasicWindow.cs @@ -1,21 +1,28 @@ /******************************************************************************************* * -* raylib [core] example - Basic window +* raylib [core] example - basic window +* +* Example complexity rating: [★☆☆☆] 1/4 * * Welcome to raylib! * -* To test examples, just press F6 and execute raylib_compile_execute script +* 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 * +* To test the examples on Web, press F6 and execute 'raylib_compile_execute_web' script +* Web version of the program is generated 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) +* Example originally created with raylib 1.0, last time updated with raylib 1.0 * -* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* Example 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-2026 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -53,7 +60,7 @@ public class BasicWindow BeginDrawing(); ClearBackground(Color.RayWhite); - DrawText("Congrats! You created your first window!", 190, 200, 20, Color.Maroon); + DrawText("Congrats! You created your first window!", 190, 200, 20, Color.LightGray); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/Examples/Core/Camera2dDemo.cs b/Examples/Core/Camera2dDemo.cs index 2c2568e..1463c24 100644 --- a/Examples/Core/Camera2dDemo.cs +++ b/Examples/Core/Camera2dDemo.cs @@ -2,10 +2,14 @@ * * raylib [core] example - 2d camera * -* 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) +* Example complexity rating: [★★☆☆] 2/4 * -* Copyright (c) 2016 Ramon Santamaria (@raysan5) +* Example originally created with raylib 1.5, last time updated with raylib 3.0 +* +* Example 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) 2016-2025 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/Examples/Core/Customlogging.cs b/Examples/Core/Customlogging.cs index bf0efe7..3fdf64a 100644 --- a/Examples/Core/Customlogging.cs +++ b/Examples/Core/Customlogging.cs @@ -50,7 +50,7 @@ public unsafe class CustomLogging // First thing we do is setting our custom logger to ensure everything raylib logs // will use our own logger instead of its internal one - Raylib.SetTraceLogCallback(&LogCustom); + SetTraceLogCallback(&LogCustom); InitWindow(screenWidth, screenHeight, "raylib [core] example - custom logging"); @@ -79,7 +79,7 @@ public unsafe class CustomLogging // De-Initialization //-------------------------------------------------------------------------------------- CloseWindow(); - Raylib.SetTraceLogCallback(&Logging.LogConsole); + SetTraceLogCallback(&Logging.LogConsole); //-------------------------------------------------------------------------------------- return 0; diff --git a/Examples/Core/DeltaTime.cs b/Examples/Core/DeltaTime.cs new file mode 100644 index 0000000..8577636 --- /dev/null +++ b/Examples/Core/DeltaTime.cs @@ -0,0 +1,129 @@ +using System.Numerics; + +namespace Examples.Core; +/******************************************************************************************* + * + * raylib [core] example - delta time + * + * Example complexity rating: [★☆☆☆] 1/4 + * + * Example originally created with raylib 5.5, last time updated with raylib 6.0 + * + * Example contributed by Robin (@RobinsAviary) and reviewed by Ramon Santamaria (@raysan5) + * + * Example 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) 2025 Robin (@RobinsAviary) + * + ********************************************************************************************/ + +using static Raylib_cs.Raylib; + +public class DeltaTime +{ + public static int Main() + { + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - delta time"); + + int currentFps = 60; + + Vector2 deltaCircle = new Vector2(0, (float)screenHeight / 3.0f); + Vector2 frameCircle = new Vector2(0, (float)screenHeight * (2.0f / 3.0f)); + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + const float speed = 10.0f; + const float circleRadius = 32.0f; + + // Main game loop + while (!WindowShouldClose()) + { + // Update + //---------------------------------------------------------------------------------- + // Adjust the FPS target based on the mouse wheel + float mouseWheel = GetMouseWheelMove(); + if (mouseWheel != 0) + { + currentFps += (int)mouseWheel; + if (currentFps < 0) + { + currentFps = 0; + } + SetTargetFPS(currentFps); + } + + // GetFrameTime() returns the time it took to draw the last frame, in seconds (usually called delta time) + // Uses the delta time to make the circle look like it's moving at a "consistent" speed regardless of FPS + + // Multiply by 6.0 (an arbitrary value) in order to make the speed + // visually closer to the other circle (at 60 fps), for comparison + deltaCircle.X += GetFrameTime() * 6.0f * speed; + // This circle can move faster or slower visually depending on the FPS + frameCircle.X += 0.1f * speed; + + // If either circle is off the screen, reset it back to the start + if (deltaCircle.X > screenWidth) + { + deltaCircle.X = 0; + } + + if (frameCircle.X > screenWidth) + { + frameCircle.X = 0; + } + + // Reset both circles positions + if (IsKeyPressed(KeyboardKey.R)) + { + deltaCircle.X = 0; + frameCircle.X = 0; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + ClearBackground(Color.RayWhite); + + // Draw both circles to the screen + DrawCircleV(deltaCircle, circleRadius, Color.Red); + DrawCircleV(frameCircle, circleRadius, Color.Blue); + + // Draw the help text + // Determine what help text to show depending on the current FPS target + var fpsText = ""; + if (currentFps <= 0) + { + fpsText = $"FPS: unlimited ({GetFPS()})"; + } + else + { + fpsText = $"FPS: {GetFPS()} (target: {currentFps})"; + } + DrawText(fpsText, 10, 10, 20, Color.DarkGray); + DrawText($"Frame time: {GetFrameTime():F2} ms", 10, 30, 20, Color.DarkGray); + DrawText("Use the scroll wheel to change the fps limit, r to reset", 10, 50, 20, Color.DarkGray); + + // Draw the text above the circles + DrawText("FUNC: x += GetFrameTime()*speed", 10, 90, 20, Color.Red); + DrawText("FUNC: x += speed", 10, 240, 20, Color.Blue); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); + //-------------------------------------------------------------------------------------- + + return 0; + } +} diff --git a/Examples/Core/InputGamepad.cs b/Examples/Core/InputGamepad.cs index 39fe911..883ab4e 100644 --- a/Examples/Core/InputGamepad.cs +++ b/Examples/Core/InputGamepad.cs @@ -1,19 +1,24 @@ /******************************************************************************************* -* -* raylib [core] example - Gamepad input -* -* NOTE: This example requires a Gamepad connected to the system -* raylib is configured to work with the following gamepads: -* - Xbox 360 Controller (Xbox 360, Xbox One) -* - PLAYSTATION(R)3 Controller -* 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) 2013-2016 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ + * + * raylib [core] example - input gamepad + * + * Example complexity rating: [★☆☆☆] 1/4 + * + * NOTE: This example requires a Gamepad connected to the system + * raylib is configured to work with the following gamepads: + * - Xbox 360 Controller (Xbox 360, Xbox One) + * - PLAYSTATION(R)3 Controller + * Check raylib.h for buttons configuration + * + * Example originally created with raylib 1.1, last time updated with raylib 4.2 + * + * Example 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-2025 Ramon Santamaria (@raysan5) + * + ********************************************************************************************/ + using System.Numerics; using Raylib_cs; @@ -25,10 +30,10 @@ public class InputGamepad { // NOTE: Gamepad name ID depends on drivers and OS // These are some possible names the gamepads could have. - public const string XBOX360_LEGACY_NAME_ID = "Xbox Controller"; - public const string XBOX360_NAME_ID = "Xbox 360 Controller"; - public const string XBOX360_NAME_ID_RPI = "Microsoft X-Box 360 pad"; - public const string PS3_NAME_ID = "PLAYSTATION(R)3 Controller"; + public const string XBOX_ALIAS_1 = "xbox"; + public const string XBOX_ALIAS_2 = "x-box"; + public const string PS_ALIAS_1 = "playstation"; + public const string PS_ALIAS_2 = "sony"; public static int Main() { @@ -47,12 +52,32 @@ public class InputGamepad SetTargetFPS(60); //-------------------------------------------------------------------------------------- + int gamepad = 0; + Rectangle vibrateButton = new Rectangle(); + // Main game loop while (!WindowShouldClose()) { // Update //---------------------------------------------------------------------------------- - // ... + if (IsKeyPressed(KeyboardKey.Left) && gamepad > 0) + { + gamepad--; + } + + if (IsKeyPressed(KeyboardKey.Right)) + { + gamepad++; + } + + Vector2 mousePosition = GetMousePosition(); + + vibrateButton = new Rectangle(10, 70.0f + 20 * GetGamepadAxisCount(gamepad) + 20, 75, 24); + if (IsMouseButtonPressed(MouseButton.Left) && CheckCollisionPointRec(mousePosition, vibrateButton)) + { + SetGamepadVibration(gamepad, 1.0f, 1.0f, 1.0f); + } + //---------------------------------------------------------------------------------- // Draw @@ -60,50 +85,49 @@ public class InputGamepad BeginDrawing(); ClearBackground(Color.RayWhite); - if (IsGamepadAvailable(0)) + if (IsGamepadAvailable(gamepad)) { - string gamepadName = GetGamepadName_(0); - DrawText($"GP1: {gamepadName}", 10, 10, 10, Color.Black); + string gamepadName = GetGamepadName_(gamepad); + DrawText($"GP{gamepad}: {gamepadName}", 10, 10, 10, Color.Black); - if (gamepadName == XBOX360_LEGACY_NAME_ID || - gamepadName == XBOX360_NAME_ID || - gamepadName == XBOX360_NAME_ID_RPI) + if (gamepadName.Contains(XBOX_ALIAS_1, StringComparison.OrdinalIgnoreCase)|| + gamepadName.Contains(XBOX_ALIAS_2, StringComparison.OrdinalIgnoreCase)) { DrawTexture(texXboxPad, 0, 0, Color.DarkGray); // Draw buttons: xbox home - if (IsGamepadButtonDown(0, GamepadButton.Middle)) + if (IsGamepadButtonDown(gamepad, GamepadButton.Middle)) { DrawCircle(394, 89, 19, Color.Red); } // Draw buttons: basic - if (IsGamepadButtonDown(0, GamepadButton.MiddleRight)) + if (IsGamepadButtonDown(gamepad, GamepadButton.MiddleRight)) { DrawCircle(436, 150, 9, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.MiddleLeft)) + if (IsGamepadButtonDown(gamepad, GamepadButton.MiddleLeft)) { DrawCircle(352, 150, 9, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceLeft)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceLeft)) { DrawCircle(501, 151, 15, Color.Blue); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceDown)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceDown)) { DrawCircle(536, 187, 15, Color.Lime); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceRight)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceRight)) { DrawCircle(572, 151, 15, Color.Maroon); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceUp)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceUp)) { DrawCircle(536, 115, 15, Color.Gold); } @@ -111,33 +135,33 @@ public class InputGamepad // Draw buttons: d-pad DrawRectangle(317, 202, 19, 71, Color.Black); DrawRectangle(293, 228, 69, 19, Color.Black); - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceUp)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceUp)) { DrawRectangle(317, 202, 19, 26, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceDown)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceDown)) { DrawRectangle(317, 202 + 45, 19, 26, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceLeft)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceLeft)) { DrawRectangle(292, 228, 25, 19, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceRight)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceRight)) { DrawRectangle(292 + 44, 228, 26, 19, Color.Red); } // Draw buttons: left-right back - if (IsGamepadButtonDown(0, GamepadButton.LeftTrigger1)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftTrigger1)) { DrawCircle(259, 61, 20, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.RightTrigger1)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightTrigger1)) { DrawCircle(536, 61, 20, Color.Red); } @@ -146,8 +170,8 @@ public class InputGamepad DrawCircle(259, 152, 39, Color.Black); DrawCircle(259, 152, 34, Color.LightGray); DrawCircle( - 259 + (int)(GetGamepadAxisMovement(0, GamepadAxis.LeftX) * 20), - 152 + (int)(GetGamepadAxisMovement(0, GamepadAxis.LeftY) * 20), + 259 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.LeftX) * 20), + 152 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.LeftY) * 20), 25, Color.Black ); @@ -156,36 +180,36 @@ public class InputGamepad DrawCircle(461, 237, 38, Color.Black); DrawCircle(461, 237, 33, Color.LightGray); DrawCircle( - 461 + (int)(GetGamepadAxisMovement(0, GamepadAxis.RightX) * 20), - 237 + (int)(GetGamepadAxisMovement(0, GamepadAxis.RightY) * 20), + 461 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.RightX) * 20), + 237 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.RightY) * 20), 25, Color.Black ); // Draw axis: left-right triggers - float leftTriggerX = GetGamepadAxisMovement(0, GamepadAxis.LeftTrigger); - float rightTriggerX = GetGamepadAxisMovement(0, GamepadAxis.RightTrigger); + float leftTriggerX = GetGamepadAxisMovement(gamepad, GamepadAxis.LeftTrigger); + float rightTriggerX = GetGamepadAxisMovement(gamepad, GamepadAxis.RightTrigger); DrawRectangle(170, 30, 15, 70, Color.Gray); DrawRectangle(604, 30, 15, 70, Color.Gray); DrawRectangle(170, 30, 15, (int)(((1.0f + leftTriggerX) / 2.0f) * 70), Color.Red); DrawRectangle(604, 30, 15, (int)(((1.0f + rightTriggerX) / 2.0f) * 70), Color.Red); } - else if (gamepadName == PS3_NAME_ID) + else if (gamepadName.Contains(PS_ALIAS_1, StringComparison.OrdinalIgnoreCase) || gamepadName.Contains(PS_ALIAS_2, StringComparison.OrdinalIgnoreCase)) { DrawTexture(texPs3Pad, 0, 0, Color.DarkGray); // Draw buttons: ps - if (IsGamepadButtonDown(0, GamepadButton.Middle)) + if (IsGamepadButtonDown(gamepad, GamepadButton.Middle)) { DrawCircle(396, 222, 13, Color.Red); } // Draw buttons: basic - if (IsGamepadButtonDown(0, GamepadButton.MiddleLeft)) + if (IsGamepadButtonDown(gamepad, GamepadButton.MiddleLeft)) { DrawRectangle(328, 170, 32, 13, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.MiddleRight)) + if (IsGamepadButtonDown(gamepad, GamepadButton.MiddleRight)) { DrawTriangle( new Vector2(436, 168), @@ -195,22 +219,22 @@ public class InputGamepad ); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceUp)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceUp)) { DrawCircle(557, 144, 13, Color.Lime); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceRight)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceRight)) { DrawCircle(586, 173, 13, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceDown)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceDown)) { DrawCircle(557, 203, 13, Color.Violet); } - if (IsGamepadButtonDown(0, GamepadButton.RightFaceLeft)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightFaceLeft)) { DrawCircle(527, 173, 13, Color.Pink); } @@ -218,33 +242,33 @@ public class InputGamepad // Draw buttons: d-pad DrawRectangle(225, 132, 24, 84, Color.Black); DrawRectangle(195, 161, 84, 25, Color.Black); - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceUp)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceUp)) { DrawRectangle(225, 132, 24, 29, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceDown)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceDown)) { DrawRectangle(225, 132 + 54, 24, 30, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceLeft)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceLeft)) { DrawRectangle(195, 161, 30, 25, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.LeftFaceRight)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftFaceRight)) { DrawRectangle(195 + 54, 161, 30, 25, Color.Red); } // Draw buttons: left-right back buttons - if (IsGamepadButtonDown(0, GamepadButton.LeftTrigger1)) + if (IsGamepadButtonDown(gamepad, GamepadButton.LeftTrigger1)) { DrawCircle(239, 82, 20, Color.Red); } - if (IsGamepadButtonDown(0, GamepadButton.RightTrigger1)) + if (IsGamepadButtonDown(gamepad, GamepadButton.RightTrigger1)) { DrawCircle(557, 82, 20, Color.Red); } @@ -253,8 +277,8 @@ public class InputGamepad DrawCircle(319, 255, 35, Color.Black); DrawCircle(319, 255, 31, Color.LightGray); DrawCircle( - 319 + (int)(GetGamepadAxisMovement(0, GamepadAxis.LeftX) * 20), - 255 + (int)(GetGamepadAxisMovement(0, GamepadAxis.LeftY) * 20), + 319 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.LeftX) * 20), + 255 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.LeftY) * 20), 25, Color.Black ); @@ -263,15 +287,15 @@ public class InputGamepad DrawCircle(475, 255, 35, Color.Black); DrawCircle(475, 255, 31, Color.LightGray); DrawCircle( - 475 + (int)(GetGamepadAxisMovement(0, GamepadAxis.RightX) * 20), - 255 + (int)(GetGamepadAxisMovement(0, GamepadAxis.RightY) * 20), + 475 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.RightX) * 20), + 255 + (int)(GetGamepadAxisMovement(gamepad, GamepadAxis.RightY) * 20), 25, Color.Black ); // Draw axis: left-right triggers - float leftTriggerX = GetGamepadAxisMovement(0, GamepadAxis.LeftTrigger); - float rightTriggerX = GetGamepadAxisMovement(0, GamepadAxis.RightTrigger); + float leftTriggerX = GetGamepadAxisMovement(gamepad, GamepadAxis.LeftTrigger); + float rightTriggerX = GetGamepadAxisMovement(gamepad, GamepadAxis.RightTrigger); DrawRectangle(169, 48, 15, 70, Color.Gray); DrawRectangle(611, 48, 15, 70, Color.Gray); DrawRectangle(169, 48, 15, (int)(((1.0f - leftTriggerX) / 2.0f) * 70), Color.Red); @@ -283,12 +307,12 @@ public class InputGamepad // TODO: Draw generic gamepad } - DrawText($"DETECTED AXIS [{GetGamepadAxisCount(0)}]:", 10, 50, 10, Color.Maroon); + DrawText($"DETECTED AXIS [{GetGamepadAxisCount(gamepad)}]:", 10, 50, 10, Color.Maroon); - for (int i = 0; i < GetGamepadAxisCount(0); i++) + for (int i = 0; i < GetGamepadAxisCount(gamepad); i++) { DrawText( - $"AXIS {i}: {GetGamepadAxisMovement(0, (GamepadAxis)i)}", + $"AXIS {i}: {GetGamepadAxisMovement(gamepad, (GamepadAxis)i)}", 20, 70 + 20 * i, 10, @@ -296,6 +320,10 @@ public class InputGamepad ); } + DrawRectangleRec(vibrateButton, Color.SkyBlue); + DrawText("VIBRATE", (int)(vibrateButton.X + 14), (int)(vibrateButton.Y + 1), 10, Color.DarkGray); + + if (GetGamepadButtonPressed() != (int)GamepadButton.Unknown) { DrawText($"DETECTED BUTTON: {GetGamepadButtonPressed()}", 10, 430, 10, Color.Red); @@ -307,7 +335,7 @@ public class InputGamepad } else { - DrawText("GP1: NOT DETECTED", 10, 10, 10, Color.Gray); + DrawText($"GP{gamepad}: NOT DETECTED", 10, 10, 10, Color.Gray); DrawTexture(texXboxPad, 0, 0, Color.LightGray); } diff --git a/Examples/Core/InputGestures.cs b/Examples/Core/InputGestures.cs index 8367e9e..fda7d5c 100644 --- a/Examples/Core/InputGestures.cs +++ b/Examples/Core/InputGestures.cs @@ -1,11 +1,15 @@ /******************************************************************************************* * -* raylib [core] example - Gestures Detection +* raylib [core] example - input gestures * -* This example has been created using raylib 1.4 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* Example complexity rating: [★★☆☆] 2/4 * -* Copyright (c) 2016 Ramon Santamaria (@raysan5) +* Example originally created with raylib 1.4, last time updated with raylib 4.2 +* +* Example 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) 2016-2025 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -25,7 +29,7 @@ public class InputGestures const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - gestures detection"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - input gestures"); Vector2 touchPosition = new(0, 0); Rectangle touchArea = new(220, 10, screenWidth - 230, screenHeight - 20); diff --git a/Examples/Core/InputGesturesTestBed.cs b/Examples/Core/InputGesturesTestBed.cs new file mode 100644 index 0000000..6595051 --- /dev/null +++ b/Examples/Core/InputGesturesTestBed.cs @@ -0,0 +1,434 @@ +/******************************************************************************************* + * + * raylib [core] example - input gestures testbed + * + * Example complexity rating: [★★★☆] 3/4 + * + * Example originally created with raylib 5.0, last time updated with raylib 6.0 + * + * Example contributed by ubkp (@ubkp) and reviewed by Ramon Santamaria (@raysan5) + * + * Example 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) 2023-2025 ubkp (@ubkp) + * + ********************************************************************************************/ + +using System.Numerics; + +namespace Examples.Core; + +using static Raylib_cs.Raylib; + +public class InputGesturesTestBed +{ + public const int GESTURE_LOG_SIZE = 20; + public const int MAX_TOUCH_COUNT = 32; + + //------------------------------------------------------------------------------------ + // Program main entry point + //------------------------------------------------------------------------------------ + + public static int Main() + { +// Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - input gestures testbed"); + + Vector2 messagePosition = new Vector2( 160, 7 ); + + // Last gesture variables definitions + Gesture lastGesture = 0; + Vector2 lastGesturePosition = new Vector2( 165, 130 ); + + // Gesture log variables definitions + // NOTE: The gesture log uses an array (as an inverted circular queue) to store the performed gestures + string[] gestureLog = new string[GESTURE_LOG_SIZE + 1]; + for (int i= 0; i < GESTURE_LOG_SIZE; i++) + { + gestureLog[i] = new string(new char[12]); + } + ; + // NOTE: The index for the inverted circular queue (moving from last to first direction, then looping around) + int gestureLogIndex = GESTURE_LOG_SIZE; + Gesture previousGesture = 0; + + // Log mode values: + // - 0 shows repeated events + // - 1 hides repeated events + // - 2 shows repeated events but hide hold events + // - 3 hides repeated events and hide hold events + int logMode = 1; + + Color gestureColor = new Color(0, 0, 0, 255 ); + Rectangle logButton1 = new Rectangle( 53, 7, 48, 26 ); + Rectangle logButton2 = new Rectangle( 108, 7, 36, 26 ); + Vector2 gestureLogPosition = new Vector2( 10, 10 ); + + // Protractor variables definitions + float angleLength = 90.0f; + float currentAngleDegrees = 0.0f; + Vector2 finalVector = new Vector2( 0.0f, 0.0f ); + Vector2 protractorPosition = new Vector2( 266.0f, 315.0f ); + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //-------------------------------------------------------------------------------------- + // Handle common gestures data + int i, ii; // Iterators that will be reused by all for loops + Gesture currentGesture = GetGestureDetected(); + float currentDragDegrees = GetGestureDragAngle(); + float currentPitchDegrees = GetGesturePinchAngle(); + int touchCount = GetTouchPointCount(); + + // Handle last gesture + if ((currentGesture != 0) && ((int)currentGesture != 4) && (currentGesture != previousGesture)) + { + lastGesture = currentGesture; // Filter the meaningful gestures (1, 2, 8 to 512) for the display + } + + // Handle gesture log + if (IsMouseButtonReleased(MouseButton.Left)) + { + if (CheckCollisionPointRec(GetMousePosition(), logButton1)) + { + switch (logMode) + { + case 3: logMode = 2; break; + case 2: logMode = 3; break; + case 1: logMode = 0; break; + default: logMode = 1; break; + } + } + else if (CheckCollisionPointRec(GetMousePosition(), logButton2)) + { + switch (logMode) + { + case 3: logMode = 1; break; + case 2: logMode = 0; break; + case 1: logMode = 3; break; + default: logMode = 2; break; + } + } + } + + int fillLog = 0; // Gate variable to be used to allow or not the gesture log to be filled + if (currentGesture != 0) + { + if (logMode == 3) // 3 hides repeated events and hide hold events + { + if ((((int)currentGesture != 4) && (currentGesture != previousGesture)) || ((int)currentGesture < 3)) + { + fillLog = 1; + } + } + else if (logMode == 2) // 2 shows repeated events but hide hold events + { + if ((int)currentGesture != 4) + { + fillLog = 1; + } + } + else if (logMode == 1) // 1 hides repeated events + { + if (currentGesture != previousGesture) + { + fillLog = 1; + } + } + else // 0 shows repeated events + { + fillLog = 1; + } + } + + if (fillLog > 0) // If one of the conditions from logMode was met, fill the gesture log + { + previousGesture = currentGesture; + gestureColor = GetGestureColor((int)currentGesture); + if (gestureLogIndex <= 0) + { + gestureLogIndex = GESTURE_LOG_SIZE; + } + gestureLogIndex--; + + // Copy the gesture respective name to the gesture log array + gestureLog[gestureLogIndex] = GetGestureName((int)currentGesture); + } + + // Handle protractor + if ((int)currentGesture > 255) + { + currentAngleDegrees = currentPitchDegrees; // Pinch In and Pinch Out + } + else if ((int)currentGesture > 15) + { + currentAngleDegrees = currentDragDegrees; // Swipe Right, Swipe Left, Swipe Up and Swipe Down + } + else if (currentGesture > 0) + { + currentAngleDegrees = 0.0f; // Tap, Doubletap, Hold and Grab + } + + float currentAngleRadians = + ((currentAngleDegrees + 90.0f) * MathF.PI / 180); // Convert the current angle to Radians + // Calculate the final vector for display + finalVector = new Vector2( + (angleLength * MathF.Sin(currentAngleRadians)) + protractorPosition.X, + (angleLength * MathF.Cos(currentAngleRadians)) + protractorPosition.Y + ) + ; + + // Handle touch and mouse pointer points + Vector2[] touchPosition = new Vector2[MAX_TOUCH_COUNT]; + + Vector2 mousePosition = Vector2.Zero; + if (currentGesture != Gesture.None) + { + if (touchCount != 0) + { + for (i = 0; i < touchCount; i++) + { + touchPosition[i] = GetTouchPosition(i); // Fill the touch positions + } + } + else + { + mousePosition = GetMousePosition(); + } + } + //-------------------------------------------------------------------------------------- + + // Draw + //-------------------------------------------------------------------------------------- + BeginDrawing(); + ClearBackground(Color.RayWhite); + + // Draw common elements + DrawText("*", (int)messagePosition.X + 5, (int)messagePosition.Y + 5, 10, Color.Black); + DrawText("Example optimized for Web/HTML5\non Smartphones with Touch Screen.", (int)messagePosition.X + 15, + (int)messagePosition.Y + 5, 10, Color.Black); + DrawText("*", (int)messagePosition.X + 5, (int)messagePosition.Y + 35, 10, Color.Black); + DrawText("While running on Desktop Web Browsers,\ninspect and turn on Touch Emulation.", + (int)messagePosition.X + 15, (int)messagePosition.Y + 35, 10, Color.Black); + + // Draw last gesture + DrawText("Last gesture", (int)lastGesturePosition.X + 33, (int)lastGesturePosition.Y - 47, 20, Color.Black); + DrawText("Swipe Tap Pinch Touch", (int)lastGesturePosition.X + 17, + (int)lastGesturePosition.Y - 18, 10, Color.Black); + DrawRectangle((int)lastGesturePosition.X + 20, (int)lastGesturePosition.Y, 20, 20, + lastGesture == Gesture.SwipeUp ? Color.Red : Color.LightGray); + DrawRectangle((int)lastGesturePosition.X, (int)lastGesturePosition.Y + 20, 20, 20, + lastGesture == Gesture.SwipeLeft ? Color.Red : Color.LightGray); + DrawRectangle((int)lastGesturePosition.X + 40, (int)lastGesturePosition.Y + 20, 20, 20, + lastGesture == Gesture.SwipeRight ? Color.Red : Color.LightGray); + DrawRectangle((int)lastGesturePosition.X + 20, (int)lastGesturePosition.Y + 40, 20, 20, + lastGesture == Gesture.SwipeDown ? Color.Red : Color.LightGray); + DrawCircle((int)lastGesturePosition.X + 80, (int)lastGesturePosition.Y + 16, 10, + lastGesture == Gesture.Tap ? Color.Blue : Color.LightGray); + DrawRing(new Vector2( + lastGesturePosition.X + 103, lastGesturePosition.Y + 16 + ), 6.0f, 11.0f, 0.0f, 360.0f, 0, lastGesture == Gesture.Drag ? Color.Lime : Color.LightGray); + DrawCircle((int)lastGesturePosition.X + 80, (int)lastGesturePosition.Y + 43, 10, + lastGesture == Gesture.DoubleTap ? Color.SkyBlue : Color.LightGray); + DrawCircle((int)lastGesturePosition.X + 103, (int)lastGesturePosition.Y + 43, 10, + lastGesture == Gesture.DoubleTap ? Color.SkyBlue : Color.LightGray); + DrawTriangle(new Vector2( + lastGesturePosition.X + 122, lastGesturePosition.Y + 16 + ), new Vector2( + lastGesturePosition.X + 137, lastGesturePosition.Y + 26 + ), new Vector2( + lastGesturePosition.X + 137, lastGesturePosition.Y + 6 + ), lastGesture == Gesture.PinchOut ? Color.Orange : Color.LightGray); + DrawTriangle(new Vector2( + lastGesturePosition.X + 147, lastGesturePosition.Y + 6 + ), new Vector2( + lastGesturePosition.X + 147, lastGesturePosition.Y + 26 + ), new Vector2( + lastGesturePosition.X + 162, lastGesturePosition.Y + 16 + ), lastGesture == Gesture.PinchOut ? Color.Orange : Color.Gray); + DrawTriangle(new Vector2( + lastGesturePosition.X + 125, lastGesturePosition.Y + 33 + ), new Vector2( + lastGesturePosition.X + 125, lastGesturePosition.Y + 53 + ), new Vector2( + lastGesturePosition.X + 140, lastGesturePosition.Y + 43 + ), lastGesture == Gesture.PinchIn ? Color.Violet : Color.LightGray); + DrawTriangle(new Vector2( + lastGesturePosition.X + 144, lastGesturePosition.Y + 43 + ), new Vector2( + lastGesturePosition.X + 159, lastGesturePosition.Y + 53 + ), new Vector2( + lastGesturePosition.X + 159, lastGesturePosition.Y + 33 + ), lastGesture == Gesture.PinchIn ? Color.Violet : Color.LightGray); + for (i = 0; i < 4; i++) + { + DrawCircle((int)lastGesturePosition.X + 180, (int)lastGesturePosition.Y + 7 + i * 15, 5, + touchCount <= i ? Color.LightGray : gestureColor); + } + + // Draw gesture log + DrawText("Log", (int)gestureLogPosition.X, (int)gestureLogPosition.Y, 20, Color.Black); + + // Loop in both directions to print the gesture log array in the inverted order (and looping around if the index started somewhere in the middle) + for (i = 0, ii = gestureLogIndex; i < GESTURE_LOG_SIZE; i++, ii = (ii + 1) % GESTURE_LOG_SIZE) + { + DrawText(gestureLog[ii], (int)gestureLogPosition.X, (int)gestureLogPosition.Y + 410 - i * 20, 20, + (i == 0 ? gestureColor : Color.LightGray)); + } + + Color logButton1Color, logButton2Color; + switch (logMode) + { + case 3: + logButton1Color = Color.Maroon; + logButton2Color = Color.Maroon; + break; + case 2: + logButton1Color = Color.Gray; + logButton2Color = Color.Maroon; + break; + case 1: + logButton1Color = Color.Maroon; + logButton2Color = Color.Gray; + break; + default: + logButton1Color = Color.Gray; + logButton2Color = Color.Gray; + break; + } + + DrawRectangleRec(logButton1, logButton1Color); + DrawText("Hide", (int)logButton1.X + 7, (int)logButton1.Y + 3, 10, Color.White); + DrawText("Repeat", (int)logButton1.X + 7, (int)logButton1.Y + 13, 10, Color.White); + DrawRectangleRec(logButton2, logButton2Color); + DrawText("Hide", (int)logButton1.X + 62, (int)logButton1.Y + 3, 10, Color.White); + DrawText("Hold", (int)logButton1.X + 62, (int)logButton1.Y + 13, 10, Color.White); + + // Draw protractor + DrawText("Angle", (int)protractorPosition.X + 55, (int)protractorPosition.Y + 76, 10, Color.Black); + + // Note: Official it's using raylibs functions for string manipulation. But in C# it will end up in an unsafe handling. + string angleString = currentAngleDegrees.ToString("F3"); + int angleStringDot = angleString.IndexOf('.'); + string angleStringTrim = angleString.Substring(0, angleStringDot + 3); + + DrawText(angleStringTrim, (int)protractorPosition.X + 55, (int)protractorPosition.Y + 92, 20, gestureColor); + DrawCircleV(protractorPosition, 80.0f, Color.White); + DrawLineEx(new Vector2( + protractorPosition.X - 90, protractorPosition.Y + ), new Vector2( + protractorPosition.X + 90, protractorPosition.Y + ), 3.0f, Color.LightGray); + DrawLineEx(new Vector2( + protractorPosition.X, protractorPosition.Y - 90 + ), new Vector2( + protractorPosition.X, protractorPosition.Y + 90 + ), 3.0f, Color.LightGray); + DrawLineEx(new Vector2( + protractorPosition.X - 80, protractorPosition.Y - 45 + ), new Vector2( + protractorPosition.X + 80, protractorPosition.Y + 45 + ), 3.0f, Color.Green); + DrawLineEx(new Vector2( + protractorPosition.X - 80, protractorPosition.Y + 45 + ), new Vector2( + protractorPosition.X + 80, protractorPosition.Y - 45 + ), 3.0f, Color.Green); + DrawText("0", (int)protractorPosition.X + 96, (int)protractorPosition.Y - 9, 20, Color.Black); + DrawText("30", (int)protractorPosition.X + 74, (int)protractorPosition.Y - 68, 20, Color.Black); + DrawText("90", (int)protractorPosition.X - 11, (int)protractorPosition.Y - 110, 20, Color.Black); + DrawText("150", (int)protractorPosition.X - 100, (int)protractorPosition.Y - 68, 20, Color.Black); + DrawText("180", (int)protractorPosition.X - 124, (int)protractorPosition.Y - 9, 20, Color.Black); + DrawText("210", (int)protractorPosition.X - 100, (int)protractorPosition.Y + 50, 20, Color.Black); + DrawText("270", (int)protractorPosition.X - 18, (int)protractorPosition.Y + 92, 20, Color.Black); + DrawText("330", (int)protractorPosition.X + 72, (int)protractorPosition.Y + 50, 20, Color.Black); + if (currentAngleDegrees != 0.0f) + { + DrawLineEx(protractorPosition, finalVector, 3.0f, gestureColor); + } + + // Draw touch and mouse pointer points + if (currentGesture != Gesture.None) + { + if (touchCount != 0) + { + for (i = 0; i < touchCount; i++) + { + DrawCircleV(touchPosition[i], 50.0f, Fade(gestureColor, 0.5f)); + DrawCircleV(touchPosition[i], 5.0f, gestureColor); + } + + if (touchCount == 2) + { + DrawLineEx(touchPosition[0], touchPosition[1], (((int)currentGesture == 512) ? 8.0f : 12.0f), + gestureColor); + } + } + else + { + DrawCircleV(mousePosition, 35.0f, Fade(gestureColor, 0.5f)); + DrawCircleV(mousePosition, 5.0f, gestureColor); + } + } + + EndDrawing(); + //-------------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; + } + + static string GetGestureName(int gesture) + { + switch (gesture) + { + case 0: return "None"; break; + case 1: return "Tap"; break; + case 2: return "Double Tap"; break; + case 4: return "Hold"; break; + case 8: return "Drag"; break; + case 16: return "Swipe Right"; break; + case 32: return "Swipe Left"; break; + case 64: return "Swipe Up"; break; + case 128: return "Swipe Down"; break; + case 256: return "Pinch In"; break; + case 512: return "Pinch Out"; break; + default: return "Unknown"; break; + } + } + +// Get color for gesture value + static Color GetGestureColor(int gesture) + { + switch (gesture) + { + case 0: return Color.Black; break; + case 1: return Color.Blue; break; + case 2: return Color.SkyBlue; break; + case 4: return Color.Black; break; + case 8: return Color.Lime; break; + case 16: return Color.Red; break; + case 32: return Color.Red; break; + case 64: return Color.Red; break; + case 128: return Color.Red; break; + case 256: return Color.Violet; break; + case 512: return Color.Orange; break; + default: return Color.Black; break; + } + } +} diff --git a/Examples/Core/InputKeys.cs b/Examples/Core/InputKeys.cs index 252f09d..56e7823 100644 --- a/Examples/Core/InputKeys.cs +++ b/Examples/Core/InputKeys.cs @@ -1,11 +1,15 @@ /******************************************************************************************* * -* raylib [core] example - Keyboard input +* raylib [core] example - input keys * -* 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) +* Example complexity rating: [★☆☆☆] 1/4 * -* Copyright (c) 2014 Ramon Santamaria (@raysan5) +* Example originally created with raylib 1.0, last time updated with raylib 1.0 +* +* Example 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) 2014-2025 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/Examples/Core/InputMouse.cs b/Examples/Core/InputMouse.cs index 6d4ae15..6207883 100644 --- a/Examples/Core/InputMouse.cs +++ b/Examples/Core/InputMouse.cs @@ -1,14 +1,19 @@ /******************************************************************************************* * -* raylib [core] example - Mouse input +* raylib [core] example - input mouse * -* 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) +* Example complexity rating: [★☆☆☆] 1/4 * -* Copyright (c) 2014 Ramon Santamaria (@raysan5) +* Example originally created with raylib 1.0, last time updated with raylib 5.5 +* +* Example 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) 2014-2025 Ramon Santamaria (@raysan5) * ********************************************************************************************/ + using System.Numerics; using static Raylib_cs.Raylib; @@ -36,6 +41,19 @@ public class InputMouse { // Update //---------------------------------------------------------------------------------- + + if (IsKeyPressed(KeyboardKey.H)) + { + if (IsCursorHidden()) + { + ShowCursor(); + } + else + { + HideCursor(); + } + } + ballPosition = GetMousePosition(); if (IsMouseButtonPressed(MouseButton.Left)) @@ -50,6 +68,18 @@ public class InputMouse { ballColor = Color.DarkBlue; } + else if (IsMouseButtonPressed(MouseButton.Extra)) + { + ballColor = Color.Yellow; + } + else if (IsMouseButtonPressed(MouseButton.Forward)) + { + ballColor = Color.Orange; + } + else if (IsMouseButtonPressed(MouseButton.Back)) + { + ballColor = Color.Beige; + } //---------------------------------------------------------------------------------- // Draw @@ -60,6 +90,16 @@ public class InputMouse DrawCircleV(ballPosition, 40, ballColor); DrawText("move ball with mouse and click mouse button to change color", 10, 10, 20, Color.DarkGray); + DrawText("Press 'H' to toggle cursor visibility", 10, 30, 20, Color.DarkGray); + + if (IsCursorHidden()) + { + DrawText("CURSOR HIDDEN", 20, 60, 20, Color.Red); + } + else + { + DrawText("CURSOR VISIBLE", 20, 60, 20, Color.Lime); + } EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/Examples/Core/InputMouseWheel.cs b/Examples/Core/InputMouseWheel.cs index fe144ec..d0c4c5f 100644 --- a/Examples/Core/InputMouseWheel.cs +++ b/Examples/Core/InputMouseWheel.cs @@ -1,11 +1,15 @@ /******************************************************************************************* * -* raylib [core] examples - Mouse wheel input +* raylib [core] example - input mouse wheel * -* This test has been created using raylib 1.1 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* Example complexity rating: [★☆☆☆] 1/4 * -* Copyright (c) 2014 Ramon Santamaria (@raysan5) +* Example originally created with raylib 1.1, last time updated with raylib 1.3 +* +* Example 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) 2014-2025 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -24,10 +28,8 @@ public class InputMouseWheel InitWindow(screenWidth, screenHeight, "raylib [core] example - input mouse wheel"); - int boxPositionY = screenHeight / 2 - 40; - - // Scrolling speed in pixels - int scrollSpeed = 4; + int boxPositionY = screenHeight/2 - 40; + int scrollSpeed = 4; // Scrolling speed in pixels SetTargetFPS(60); //-------------------------------------------------------------------------------------- diff --git a/Examples/Core/InputMultitouch.cs b/Examples/Core/InputMultitouch.cs index 266d198..f075bd8 100644 --- a/Examples/Core/InputMultitouch.cs +++ b/Examples/Core/InputMultitouch.cs @@ -1,13 +1,17 @@ /******************************************************************************************* * -* raylib [core] example - Input multitouch +* raylib [core] example - input multitouch * -* This example has been created using raylib 2.1 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* Example complexity rating: [★☆☆☆] 1/4 +* +* Example originally created with raylib 2.1, last time updated with raylib 2.5 * * Example contributed by Berni (@Berni8k) and reviewed by Ramon Santamaria (@raysan5) * -* Copyright (c) 2019 Berni (@Berni8k) and Ramon Santamaria (@raysan5) +* Example 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) 2019-2025 Berni (@Berni8k) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/Examples/Core/InputVirtualControls.cs b/Examples/Core/InputVirtualControls.cs new file mode 100644 index 0000000..be1b0aa --- /dev/null +++ b/Examples/Core/InputVirtualControls.cs @@ -0,0 +1,216 @@ +/******************************************************************************************* + * + * raylib [core] example - input virtual controls + * + * Example complexity rating: [★★☆☆] 2/4 + * + * Example originally created with raylib 5.0, last time updated with raylib 5.0 + * + * Example contributed by GreenSnakeLinux (@GreenSnakeLinux), + * reviewed by Ramon Santamaria (@raysan5), oblerion (@oblerion) and danilwhale (@danilwhale) + * + * Example 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) 2024-2025 GreenSnakeLinux (@GreenSnakeLinux) and Ramon Santamaria (@raysan5) + * + ********************************************************************************************/ + +using System.Numerics; + +namespace Examples.Core; + +using static Raylib_cs.Raylib; + +public enum PadButton +{ + BUTTON_NONE = -1, + BUTTON_UP, + BUTTON_LEFT, + BUTTON_RIGHT, + BUTTON_DOWN, + BUTTON_MAX +} + +public class InputVirtualControls +{ + public static int Main() + { + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - input virtual controls"); + + Vector2 padPosition = new Vector2(100, 350); + float buttonRadius = 30; + + Vector2[] buttonPositions = + [ + new Vector2( + padPosition.X,padPosition.Y - buttonRadius * 1.5f + ), // Up + new Vector2( + padPosition.X - buttonRadius * 1.5f, padPosition.Y + ), // Left + new Vector2( + padPosition.X + buttonRadius * 1.5f, padPosition.Y + ), // Right + new Vector2( + padPosition.X, padPosition.Y + buttonRadius * 1.5f + ) // Down + ]; + + Vector2[][] arrowTris = [ + // Up + [ + new Vector2( + buttonPositions[0].X, buttonPositions[0].Y - 12 + ), + new Vector2( + buttonPositions[0].X - 9, buttonPositions[0].Y + 9 + ), + new Vector2( + buttonPositions[0].X + 9, buttonPositions[0].Y + 9 + ) + ], + // Left + [ + new Vector2( + buttonPositions[1].X + 9, buttonPositions[1].Y - 9 + ), + new Vector2( + buttonPositions[1].X - 12, buttonPositions[1].Y + ), + new Vector2( + buttonPositions[1].X + 9, buttonPositions[1].Y + 9 + ) + ], + // Right + [ + new Vector2( + buttonPositions[2].X + 12, buttonPositions[2].Y + ), + new Vector2( + buttonPositions[2].X - 9, buttonPositions[2].Y - 9 + ), + new Vector2( + buttonPositions[2].X - 9, buttonPositions[2].Y + 9 + ) + ], + // Down + [ + new Vector2( + buttonPositions[3].X - 9, buttonPositions[3].Y - 9 + ), + new Vector2( + buttonPositions[3].X, buttonPositions[3].Y + 12 + ), + new Vector2( + buttonPositions[3].X + 9, buttonPositions[3].Y - 9 + ) + ] + ] + ; + + Color[] buttonLabelColors = [ + Color.Yellow, // Up + Color.Blue, // Left + Color.Red, // Right + Color.Green // Down + ]; + + int pressedButton = (int)PadButton.BUTTON_NONE; + Vector2 inputPosition = new Vector2( 0, 0 ); + + Vector2 playerPosition = new Vector2( (float)screenWidth / 2, (float)screenHeight / 2 ); + float playerSpeed = 75f; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //-------------------------------------------------------------------------- + if ((GetTouchPointCount() > 0)) + { + inputPosition = GetTouchPosition(0); // Use touch position + } + else + { + inputPosition = GetMousePosition(); // Use mouse position + } + + // Reset pressed button to none + pressedButton = (int)PadButton.BUTTON_NONE; + + // Make sure user is pressing left mouse button if they're from desktop + if ((GetTouchPointCount() > 0) || + ((GetTouchPointCount() == 0) && IsMouseButtonDown(MouseButton.Left))) + { + // Find nearest D-Pad button to the input position + for (int i = 0; i < (int)PadButton.BUTTON_MAX; i++) + { + float distX = MathF.Abs(buttonPositions[i].X - inputPosition.X); + float distY = MathF.Abs(buttonPositions[i].Y - inputPosition.Y); + + if ((distX + distY < buttonRadius)) + { + pressedButton = i; + break; + } + } + } + + // Move player according to pressed button + switch ((PadButton)pressedButton) + { + case PadButton.BUTTON_UP: playerPosition.Y -= playerSpeed * GetFrameTime(); break; + case PadButton.BUTTON_LEFT: playerPosition.X -= playerSpeed * GetFrameTime(); break; + case PadButton.BUTTON_RIGHT: playerPosition.X += playerSpeed * GetFrameTime(); break; + case PadButton.BUTTON_DOWN: playerPosition.Y += playerSpeed * GetFrameTime(); break; + default: break; + } + + ; + //-------------------------------------------------------------------------- + + // Draw + //-------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(Color.RayWhite); + + // Draw world + DrawCircleV(playerPosition, 50, Color.Maroon); + + // Draw GUI + for (int i = 0; i < (int)PadButton.BUTTON_MAX; i++) + { + DrawCircleV(buttonPositions[i], buttonRadius, (i == pressedButton) ? Color.DarkGray : Color.Black); + + DrawTriangle( + arrowTris[i][0], + arrowTris[i][1], + arrowTris[i][2], + buttonLabelColors[i] + ); + } + + DrawText("move the player with D-Pad buttons", 10, 10, 20, Color.DarkGray); + + EndDrawing(); + //-------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; + } +} diff --git a/Examples/Models/AnimationDemo.cs b/Examples/Models/LoadingIqm.cs similarity index 65% rename from Examples/Models/AnimationDemo.cs rename to Examples/Models/LoadingIqm.cs index 708f753..6905544 100644 --- a/Examples/Models/AnimationDemo.cs +++ b/Examples/Models/LoadingIqm.cs @@ -1,28 +1,31 @@ /******************************************************************************************* * -* raylib [models] example - Load 3d model with animations and play them +* raylib [models] example - loading iqm * -* This example has been created using raylib 2.5 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* Example complexity rating: [★★☆☆] 2/4 +* +* Example originally created with raylib 2.5, last time updated with raylib 3.5 * * Example contributed by Culacant (@culacant) and reviewed by Ramon Santamaria (@raysan5) * -* Copyright (c) 2019 Culacant (@culacant) and Ramon Santamaria (@raysan5) +* NOTES: To export an IQM model from blender, make sure it is not posed, the vertices need +* to be in the same position as they would be in edit mode and the scale of the models is +* set to 0; scaling can be set from the export menu * -******************************************************************************************** +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software * -* To export a model from blender, make sure it is not posed, the vertices need to be in the -* same position as they would be in edit mode. -* and that the scale of your models is set to 0. Scaling can be done from the export menu. +* Copyright (c) 2019-2025 Culacant (@culacant) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ using System.Numerics; +using System.Runtime.InteropServices; using static Raylib_cs.Raylib; namespace Examples.Models; -public class AnimationDemo +public class LoadingIqm { public unsafe static int Main() { @@ -36,20 +39,22 @@ public class AnimationDemo // Define the camera to look into our 3d world Camera3D camera = new(); camera.Position = new Vector3(10.0f, 10.0f, 10.0f); - camera.Target = new Vector3(0.0f, 0.0f, 0.0f); + camera.Target = new Vector3(0.0f, 4.0f, 0.0f); camera.Up = new Vector3(0.0f, 1.0f, 0.0f); camera.FovY = 45.0f; camera.Projection = CameraProjection.Perspective; Model model = LoadModel("resources/models/iqm/guy.iqm"); Texture2D texture = LoadTexture("resources/models/iqm/guytex.png"); - Raylib.SetMaterialTexture(ref model, 0, MaterialMapIndex.Albedo, ref texture); - + Raylib.SetMaterialTexture(ref model, 0, MaterialMapIndex.Diffuse, ref texture); Vector3 position = new(0.0f, 0.0f, 0.0f); + // Load animation data - int animsCount = 0; - var anims = LoadModelAnimations("resources/models/iqm/guyanim.iqm", ref animsCount); - int animFrameCounter = 0; + var anims = LoadModelAnimations("resources/models/iqm/guyanim.iqm"); + + // Animation playing variables + int animIndex = 0; + float animCurrentFrame = 0.0f; SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -59,17 +64,15 @@ public class AnimationDemo { // Update //---------------------------------------------------------------------------------- - UpdateCamera(ref camera, CameraMode.Free); + UpdateCamera(ref camera, CameraMode.Orbital); // Play animation when spacebar is held down - if (IsKeyDown(KeyboardKey.Space)) + animCurrentFrame += 1.0f; + UpdateModelAnimation(model, anims[0], animCurrentFrame); + + if (animCurrentFrame >= anims[0].KeyFrameCount) { - animFrameCounter++; - UpdateModelAnimation(model, anims[0], animFrameCounter); - if (animFrameCounter >= anims[0].FrameCount) - { - animFrameCounter = 0; - } + animCurrentFrame = 0; } //---------------------------------------------------------------------------------- @@ -89,17 +92,10 @@ public class AnimationDemo Color.White ); - for (int i = 0; i < model.BoneCount; i++) - { - var framePoses = anims[0].FramePoses; - DrawCube(framePoses[animFrameCounter][i].Translation, 0.2f, 0.2f, 0.2f, Color.Red); - } - DrawGrid(10, 1.0f); EndMode3D(); - - DrawText("PRESS SPACE to PLAY MODEL ANIMATION", 10, 10, 20, Color.Maroon); + DrawText($"Current animation: {anims[animIndex].NameToString()}", 10, 10, 20, Color.Maroon); DrawText("(c) Guy IQM 3D model by @culacant", screenWidth - 200, screenHeight - 20, 10, Color.Gray); EndDrawing(); @@ -109,9 +105,7 @@ public class AnimationDemo // De-Initialization //-------------------------------------------------------------------------------------- UnloadTexture(texture); - - UnloadModelAnimations(anims, animsCount); - + UnloadModelAnimations(anims); UnloadModel(model); CloseWindow(); diff --git a/Examples/Program.cs b/Examples/Program.cs index ba32773..27e8996 100644 --- a/Examples/Program.cs +++ b/Examples/Program.cs @@ -1,4 +1,3 @@ -using System; using System.Diagnostics; using Examples.Core; using Examples.Shapes; @@ -34,6 +33,9 @@ public class ExampleList public static ExampleInfo[] AllExamples = new[] { // Core + new ExampleInfo("DeltaTime", DeltaTime.Main), + new ExampleInfo("InputGesturesTestBed", InputGesturesTestBed.Main), + new ExampleInfo("InputVirtualControls", InputVirtualControls.Main), new ExampleInfo("Camera2dPlatformer", Camera2dPlatformer.Main), new ExampleInfo("Camera2dDemo", Camera2dDemo.Main), new ExampleInfo("Camera3dFirstPerson", Camera3dFirstPerson.Main), @@ -110,7 +112,7 @@ public class ExampleList new ExampleInfo("WritingAnim", WritingAnim.Main), // Models - new ExampleInfo("AnimationDemo", AnimationDemo.Main), + new ExampleInfo("LoadingIqm", LoadingIqm.Main), new ExampleInfo("BillboardDemo", BillboardDemo.Main), new ExampleInfo("BoxCollisions", BoxCollisions.Main), new ExampleInfo("CubicmapDemo", CubicmapDemo.Main), diff --git a/Examples/resources/symbola.png b/Examples/resources/symbola.png deleted file mode 100644 index e9426061047a5b7afa272d2f3abb2a9c28e6f826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244613 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%0DiC(WANP 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

m!t&#X(Pm&fYPIOkwK zwaKJ*t&jQvBd_SZjk4Dz@5=waDR*!Z>$(&38QCrx6dDIDE4=jSfoY$c>`R`N*}iV= z&7rKp4=+k2+Rdw-x=OJBk8AF_XG-xqC9Zz^q!C&uvNiE_R-5^T(vNmW%F@@b3^||p zWuJtw$jxc$t2Fz3T#fRUomZJIxTdh{(j*So17C zCOo;_TzFrm)vrY|&hpad=d7CXoKZXXx=Q=o6BTw3XQv&xdtC1PjxUdmD$O#dTwNqN zdHNa~{jK*tm-6gCmeKx|W%AsK-|C{(qP}cDf9BVxnQyXIrMt`g+5|_)MIU{$ zHJ0g|_@TPz*WIu_oBz_PwhKhLi;MT|UKOyluuf0O*jsXr_gvM@t3z)se<3zUx9iX{ z?*EHUP5wK_?46zdq60!J4sI|qOS$v;qg-6d7N#p9=f4=<;f%33|43GDnZUavo4Sln znk-O{jOoY;^U9tv+p9F{xwE8SgSn(_#GK?U6MTYx)d;3~%b7pStfnQZ+u_mi7 zWk_CcyRucy`aOfe^{3fA2G;u*%nwR!uYXnAZ=1v4{iQJF)~4@j%~iLLd^4T4&g7HE zq{So^k9Q7S65PHSheT(<;@K zj@z9(yRc=`3oiDCcNO2NP6&Sec$eqUW;bOcE3d$yO(|tl7X9eG@Rswk;=lC<2A^V? zR?b)ISY`00P4a-)gJOyNJ9E+#B)$eqy_wB(Dz5rMm4v+2FT>69>Ef=uZS1=>6m3FJ zev6tesQ21ClBdYn#>B5e85*Xt_ILfXlc$Yyp6X@!^T|tv zW^U=pj`}E(_*|ADtu_M`7yG=XN|ru0YC2=~w##7i$*`at_Z!mJ{%W+Ub_Y#$scJqP zuJQO;V3%Q<-ee6aE2I1=MrwN;Gk?3fGSBFG;(NZlulh;#oQs>%7plLv%Qo~?pWm;P z`T5Oio8K-=kMu6*RXgo^f5p}37rx6?;b*4bXImBf3-Q~Wu*Ls*T3~c!Bq;1KI zRy#lI%wFD_g4sf*4|m60cblYa%zZwsWa;`iVezw%Cr`_-|5m7X>yv8cp==M^^xGR< zC%@Yr7^t((X70i*{IhF7t$_Ub$5PjK#yMo>$Qw!AiMe-2@mVsPsd5u-`4qlXt%6PfqMWAc^ilRG578HI9W-Gb-a+}0;bJf>txBfl$#58a-7QQSbmdX!;AdcPq;o?`M>1$%)H4KCFXO<_Vgm& z4JLgX{d-Glr)<{%Ma`Pm<)ORE?ynNsmbljN(3?NMG(v58tRrUirRN;h%v`(Gvig~k zUX?_cU+jIB&6=TRUkxR8N4>GTvvkYp@)!H_?l05nN;z#@&n)=Ht6u=0xX{z5*z_<6OT=7&|DJM?)%dYyXmr3&L`w!(|$erj%>*S=;8zoA6(n~!JG zGvoLVSDgrDb6a3*cl=|V+W9g$bq&9>-zBbjtG`^Y-WT!H)@$PVZ)*zg#Knbvd4BcF zaTVt09{iWBt81r;FMWDbu6**e^oD=cB1d0(?EAa(HO;EMV|W?-*4+W@qNCcRQHwp+}FP5Gup5|U~K5^`d98_m6{~oAk2`)7{T`- zUTL27>VNCB4E3W0r`(+JtD59j&ida37c~@N>eE<7VgIA9<+Cu)j3s zKL5*j`IY~FGrVE`P~{V)-gCd7Ibw!=wW3V$OFpKGh=N=DEMlByW%t~7SDF{eny~HT zf5zj+>I$3Ol4B2*pZ%@3uWrjH;i>lwAAgT&`RRE`pkeWZeOu%Ya8LMkwmEvj$0vQi z{_8YoGrW855&ZeK51i=g?G+w`n=?Ol8T_O2I>q-+A`u+f4hz!5|sD$Uys9oY;(A zyZZ0kUi|M}(~Fy~iy2q0PZpT_)bjlIYYsVfzK2zx=!zAJZg%;*_tB2;>uo=6W%850W7j?2 zJuhdd5&pdIeR)lRl%uV>=A_6e=?CH)>v)WwJ+HjaUbTtA!>o>d2!Ux_9UDBNVJf68ibdmIq zFKw|5|MV1jh3`AdY>IbEnb^xMFmuL|$J0)3KIT2)pK!Xj48sTE*SGW;YZl$}KeW4J z-kB{E+tQ8Ce}8zbI_FMPeEmML;`}p@t$#(^8L01?l(UPm!?%?8QkcKPv6KA)J$Bm# zF7dM|{6fjn_A@ zEAhxPMQ~>xS=RoQ??{Jc_O<&hnF9AaYP2NRFTTT9#JZ>@{pF2iA3U?v|4v{mFmsWZ z+j`}0@~iLmOMm3aJ(iy!S=P%fknE!Uds*XtmXl6*+RQv^68P-IC#;*t9&GdakUPV_ z@H2m>E7ZJbeC+LEd)H};^Xur+`0ale&28V`Dj}GCK~l1s;i#1fL;ccIQ<4k!%>EwJ zweZ-2uk}-mlFrqgW4*w={jfoA5UWSZ!Qg9K*(dz6<;^UQKkWbTR{sX(2bmqr4<>m% z7j#LRaqN#o%CSIc$w0P}{;K?`r`})Ykk%(y0^r{m%v#&t^S+$v+aa`x7VxtkyFzD_Acqz^jqNGqI=&DE`8$8uq1fi<}0811zIcI4;8;Z zcIS6`$D5AgE;|Q-i&I|JdI%-KA1L z@pSZkR(0Wz;@haY&hgYk?f&n%e*`c2Z*x3$Waos9KRdiGr#G$6na5aoX>H?)vg_u@ z1Z2NrKZTo}9~dqQHk%#mx$il- zwE5M0#ty$-yqDU`R@Bro&D{CD^g^ai>x-$k70fPLb@0fy>_212*~#)=q9!fr^qk0b zTxBO}CcbdA$ayW?ap02Mjc5VY0%4bp(k&e4VmYMlhIKGjur>zm61AigQo#HIpRM$6wyU76z?W_3lr-72vqb}2q_EQLXN&0Cry8SGjubZccL zW!w9i7w`)$GM+lI?3pp|HpLeb{EEG=r5XO4AFKhNN*y!ALubpQ@s8yQJ;!kl;f8Z^Wx!C56qk?Adalx=(Z=cV1*~Gknt%@R9cqpL_m4_j#v@*Hl~YN{O4j^$xc_MY6R0 zk2xXKo-e2&_U#{QAzR9&?O#5%J>{4a<7s>?QqC4Qg9IrCO@BH3!RV~cWNOg zKl3yEvp=!x?OuVquZ2?V*IWD%Q+l1V_aB#w-;&rvv)a;y`6tQ$G_PTneE#NXCcnb5 z&t)q8<^Nd>*WGvDZCuKJ$<^rgSJCvvuT(v|72N(^*E-)WcqLT6>0|!BQ}eI2rYmc# zwidYiK%%K*pIk@q^H`7BRibr|B?R6uCL{~|6V%)(@RT8P{qxF7@Gc>RG2c!L7>q>3f!j^o#Fo_p@hacrq>HnZY;3h-YD* z!z@Nc&k8l&pBkrr#CIs%|9-VR)~#+%!L?)i-@T9Qsh9SgcPCx3Ic?rvv3)H(Gg7S% zomnwq)3>!hG?%=oHSaswy;p!eS#rk9E)|8Y1AHA#g-nY|mdM)cE95-UZ?s_8XY}v- zj<%e0bCwFE<{95QzQV-sib>a!W9tRw6DPFDGyd7T$i`!_$1IP-pZf(Yx3VYk%uaqO z*l}ovivEAbN!QB-r_H>6<+tbNmujmXNDA!y6YLuKk$IV)t$3&04)dS0c@5*HDc^iB zE6YZ_(eJ~b;tt0jc7K$c?>R+?&1rk_Z=auyaAt+s@l9KPoiS(l$FwQ(rLe%=7ebdT zb?O#otUPsEc1iJ*%p04(6wYq@CwD2nB;>wMht9obg;jpRm*VWD_6oG0@H_Ft(tl|+ z_rGKHB65ok*}ceOspW8zVvyWZH{a+k+ablO&kTDwU#jfm+C6joalyTDm)Wy>YGfQX zObm*9<51ynP4S(rz|;4fEU#-~XK-ga{O8@&{Kf6Wf;{c1@yzg}f)xxZw>UlkeWoyPz5rtA#< zpVo2khtH*E%R+{tS017>I=hw}i#fs5KkunzvxaxL$jgp7)&<(N$=Cir>+!TdRHUAl z$)a$Px!-vXTh-@P>J#78%od(#uCT^qnq+La*(Hrhl~bO}GyEw(;d4`%!|BN7Ei311 zUOM%eH)ZyT6Q@4=taxUzX-52u@ZR?*TqrS}UH;;>XB=g4H`HmJ+$vg*-wet(S;WZ1t z_;`XxWAucl_oNk#YV9xiXUugGf5*6i{gS1g;+{5J-=*(e3XTXU$iC4%v1ac1T`SHj zx}8*i^?$9FzTNAx+&!HM%-!As=g+P_@q8wmi{q`lKlM_K`R|>2HqV{lw_Qz5HkRF7 zVea+3JE3nr&1Wfg)5$Ylx00vW!J~-bkKm9>zxEl{f7t0ABvS$^er z`Gs{JHth;sXXWI@7$pqfoeh0|-fh=e(|iS;+mB@|E+18#<2F&psq!D=&Fih%AuDap zf2n%MBE^xvph9So@)=i!{pAiNk1g0Qggn}*;iEe5zWX;`Vc#XDZKho^^Q#qhExuQA z%jdV)k$1nOj_URsR-Q95{4DzZeZVZRN(M4sUsa%v$_49TKe-}yij0T|5RAuX_D9<>ARN&7?+!$ zwPyRi%--|H+D{A07u0Ycx*R=W<}DkyBYZ8=kK(>==TCYvr%j?GUVTZil+o&9hKIj) z@PG9An}6L~^l;31>sVQa=41KueG}_=Uus)LJ!5&4zO>uyU!wxk1I0i6E=*nK|L(hN zVE&}LLslbu;vVA?A-=`8X4V%!-oHhfb?H%l4m0Mh<&)2K`zvhrN}V3PeCn!26WmrB z&0TC2lx>{yCaO6lIZ*mlv*Gz1moI|Nrzh6(_Zps%D3vgBn`LyQJf|mGZ-Z3b@wlm- z)*W`6ELJPcES*0y&*AK5d#i(=!&*vp_BK8#>)^TY@Ys9iAL|WY`l!z9J{0n3=Ze2d zmp;^-{t??Ew_k2ixDBuU?RQc~&fV;;Iem(~_x`@B$UB-W`4NKHmg5v=6l(9Dr<#J zPMgWLvlC9)^9s(%cV=1pzHgP;FF~`kJclV7EB3s~-`iF3u!ytqQEHjTUg?aby^3tf z$KK!6D3fo^Yuvf6?9Au6@lK0uwkg$pzqY97|51*`}kUNa$FO@V?_YPY?DBsJ@rzDrS;#*!AJaA_HOG!#f3zK9d*y>Lhc0 z*0cq?&IaV(Y3eZ!S9ts?v*r4{_2zZzt`0x7CUpnYUGWq;CJ=kR`Ph3E*G(BucLqzC z)LpmPzWB1u?5d}cEUzd1Z%KH>HKDLfbCI$WTkrk5=ZXU%N|Mj~n42E?)vJRqJHKIe zi>p9vp?Zqg-`JGdEv8?M;&*>wV%od&#nLNL)4y%aH_dY_DeTP-PDDVEl>wmK?LHAGM)N_pI%c})t&KF841;n>% znBI4mT6fRUVm0#v-Il$c)dEx6`R3N}B}uro+Ss>f{8}y;HjUqD%HuV^Wv4LS{!uA( z`81;e`@@^}Ok{tm3+Ts%)TWyLo9@&y)l6=h@~stCZ)b+z{;{9Q@Lz3ze4(Q?FXPL_ z>y|q0?TBZa+_HT_z4D4J7qW9rR~0ZYD7kkPF@e^!>@0rLKQlw3&vg%bhtCf##~JDJ zkJ7ofI3+9>Zf~DpbI!e{+LGzP`s8=ZJIf@E>&~~gH0%=D8Qqs1s=RIwd+&YEt|v1- zTK7HAJHFuK?q@q?laIY$RT59YHNWRO9COl*j(6IkXPEKlUD~|vBM?PpQ(g#r zn18<8ux0;t<#+cRZbaU4sBcKn+?lEWGULrz0c*{-a>d`&cG%ruyEvKO`O|*xqgTp< zmwsn>scyQ?;amM{2_NxT@GY6I3-C(j%W6kD&{=$CzF73uYCI0hz?95XB z@A-AVf5a_Q59?d+KjugtvlqCxB#MHRkP>H9h}Pqx(7QgpXyMO^=T;OmsFE(2>8iqw(A4Bl3>NZfw8$ zf3~3RwffBX;S-AKOFKd)GAYXFf0|!qkv$<5@muHP&{)7mK$u z{ITcw#!3;VO`PX*~+|J&A>U-ppex0|CH)gGO zI(BXPgm)ZK4qtkfJ^m$^VlAj->a#RPx;#yJSDQl0$NmY&w#i@OSm&ViuXcy%Ja>kF zdhYkWsPWpl{St7|SQq&Jb>u(yg3qRGnJ(TF?)~1v{5IQjp0mN{mHmHz3cZWmkS%cd z*qa^SL!~nNKChHoE;!|>@rpe2k6H;@=i(R7NY;-%_TP^|TR`IH>I?5=dz#Cl(U!po^`w!-`F|A?KMD6#a+A5UBPt@C~7{rha1V&AkPIqGfEmc(b8CtoIN zPYV3{hj$6z)*g%A8mmVBDuJ?hM{@hJt`$#GdU?8d`{HMoa;~55a2xWNDcA1!Qn#ab zk}`)3!)L|QOtGiG@7g&}-0{gp<`YXE-D}!+{jAOORudcMM1pg@lid7e z*_&mDtIU?XT^IcFO#2H3>4|IK@*I-&-6$XWa<+=;UeALY3UggzUz@LMe4?%LepR)w zioNpATUE<)vL@Vd_$0y{qiUIAyWR6{_3<6oLav)F{gc*zaC_%%E&FGii#_TbJ}I3P zJGodTUd=LV?`@@>TOMsX?IgXXX1&MHy32uisSBnW#q+kk{<3$<``sC)CkvI&a!z{g z=~wm1z%TRqZp~b`$K5=YFH?8)$D~!)pYvi4+gGhTFFWGt#1>-}agiyUYOm>@Bw!1S=@^j>&>b=*h&sWvF4u1SI z@ci?2&z_ubpSQgtUgqPS318>*@A>$2XY|V174MXHwmxZB>0iCYe({TiuCFG|eX!GU zqP|}2Me)-~m&~8Gd$+%3IbZpzMdYuASN)4?RqsqvA65pRDwk5>zsMUtlUMqCv|Q!2 z8B5~#-_PAseDCqk9VTrWMlXy{Nz7Za*iU0#yXU@j>r{K!7Jj|9=!Lb}(U*+RcJI7> zVZP)(hVYJc-|BQWuKTZiq=ERWikfzz^XybHUVcs0o zjPFM>_~&Qy=3mM26xrss$C&@%n;%&WzeE15WBk$2@Q+y~B*pqr_QLZ{HWiiq-&QiI z3))Gox;(o=v^8B|-Q{G<%bU~xF@BWMYv0{(+wf(sEl1z(KjjSnj8nv}&pGI|+tVY` z_`g(H#713p6S;-9a}2qv6@QlIszivMskN3{P&;j>*Na}p%N5_PD^p&0J}!^(*tOFp zEBi_C(TA2l&dTs8>hRa3N%+J~`j-2{Hs#tAh9&m#O)Wy}oa)y9U$3xPxJvR?q(`)$ z*8SyzCzi2)czpAXu)pJ>s#uGRKXEKG8MTD1d+!&z`_D`*VyydgYs|SKv;Vm;$M)?iwsq`>E>4K- zyW8FDmoJvG=0$hqHt~mhn>W2mwYrq2_atTa{+1h=|M?yUSI%oWu{8A6|KkjQEF0!4 zzbLQ#)+W{La^z-6?3R@ec{8-mAJRT%YWrKlocWr<&S^&3CW#f^dO>@3uV3+-S<*(N zR>XhBH<5U=OY;?W_MePXe*4zYc9s09?8BO$i{ti|cRaCd+Za`wJn3N1-Q2JDxZ2Y9 zteAJwD)_plk?k^JAM?p~QcN?Jo|qiDJn~-Y#g8-g_y*iM+dgIH(Nv#2=JQhT_s>(3 zPd)c%c1o46eP3ms;$vlnJmXpyKglhJPF>$O=Ot+Eg5~9x>AQIh3n%_epJ3`%v?TGI zfsavD+rd7KOQrWs*7YJXSjpGY&GYAXpZtIPSn)n%p4Dsf*L|s3AAMrZL&>i-$NN@f z9J9%G^N2~Sd_2$g_x_{C@AIb}FxIFId#$6ptbbPbVm8%70m^!dmU_*5{33GMd{KL^ zi_DvA)@RMz?()IhapKC?lD4P+&ieT0Ys>o?_bc`twt2p^HY~EV*w(-OA5Yuy9kaD` zuNQMmZhNU0T`5z#$2jLszU4c9!=A*~|1D%c@jl*ZaaXBx+Dem4FD{$auDi71_k8}B zMg>#nzu&!9rt-gek?6aQLSJcl&&1wYRhn(RnH3_OxiS2g?PENoQ__^>L$8}vEMsI# zJh)wx_q@oV$x|F(*|_e!BKyYo)PjUEr67@YE7SfozwOF1KDygCtU0X9X6^QSz1)%C zRBwM!bItfA@mtTRb>8~MJLfkX44(Fpe_Q+VY-=`sjQq6VWQfXoEMK=*u^}R(t&V#KY#b=om|? zlgj%W_6N##TA!?t3=lmZ_=WGbp=0E=ZL=@Ech@L7a4ghK|7pi!txB`~sh_?x{*~FB zy|#Sum*{Br&C|I`cFn6@*{;-{FMWT{9K*G{?3X{T)I40}GDR`xRkrYyZP&nwLK0Hy z>exAQE;fG{_3zT@g6N+ntozq(IZ-p&`j+67qnt}l9|*16_kPzYGt-&>U(B36n@4Jk zS=Ht>ws9VvG7<|VT-NfG%v?0#{j!RvO%jIN*B*M6nlNE`;HDE zD^C{n)(5Z^3Qy*d7Ob7}uW07mjE&Z5e@$<;En5HBxJ!!XyoAU^_hNsJUX#8v7MCpM z8P8qQ_VBn)+`))58v^5}C1yxjWG-G@qj_HHriM}agG;9zq9^tgFSvE8_!3XJ)TUH9 zNm)sY_MajrO>Dkjwv{Yu`nBfi%?aZZ%_Z*v<`@VgbeY$a*@8f$*kKY!Y zUB$l@lp-d+gQkd&TwO8-bGIw^eYe|i@AU5cTfSbgX_ecLpKuqO?Ks`B`<*Srql_aJ z=KTK^4)ZYtGvpeqn|R6c^cS{iu2yrt7eAh57Lm8iWBK$(p`Ei6^-H@CI+!^GUa$|i zo-4BQOG#G_|Ci_U-kZuk4P=X&_j4of^<~eiGjI6_`Y{;yF0qT)`jNjYC`mhe*8T3j z*Go8lm)rbUIZ4dGX2rcF`wQ;-O7i3y{md7g5q^2bsn<&kP9E9GF|TIIA)B^^H|yMG z&+|)vkM8^JZ1{5GQ^~ek9_=D!&HLpO@A;g0k~nA49?^}3Zx{}L{o>eWGD*a9bIloE zrIRIsVudz0O7HYk?&EO1G(A1w7~^Hdw4^DI7S3`|xS@6pw8?zOR0EQ>A*& zUeEoiM!egm->&>+eQ?#2O4GxB$JVrM*5p2}>Bn&Pz0o#({Vl)!)n8lk@@|w342--R za{j@Wm*>kW{s+F^_ws_7>|x*TcU26X3qBuY<@ehcD|YHRr#0<(HZyaPCY1|dh{IE?}Q`9Yi-&V9$WGFC&Zl^YVXg^ z_#?J3WM-z1(fv4vb%jTcsC=I5$JoZ(RhagA`ZguW=K^u3%9ef)IQG8DD6sIhm;O5u zp6X|YtCeQ9rTacR>1p=m-6eUW880jSr}}C?lD(8aZRcbg{e&9^=N_?`m;Y7!D>HBI zgG$ZRGrmUm9%UHbPH$dZFfY-0^W?8{o=V3@{M@R{Uc2Jm`JX+B)scOfk7rJ{Qa<)| z+0=OJvk)hq__b`GT|(^j?AN~~ukq(?lK30gUmJPplFhNVsv_=xwR&x)xY_rr{BGK5 zIN2_%U@e+>!#c|Y3cZX z#euvBl?}nW?VI1$esN`+cwb81=tY0plvAnOzK0uIJ=*qo-`eb%-+gYsbUr#;_U_c< zEAuXOcZ;DnIe{i@QJS%efuMmbm2wRtEhQf&xBt3%+vBhldb9Jgu=7tYmf3g z{yF3Mo5rj;N7tTzYi4A=TzT^0&$HIBt({@h@Rn%>5C3-G$hi#54r^r{o@8?Dzmu28 zN9kAJoxDoU%s#XK=3KREwW%VFGs7*7PAjeAPg|I%y*~4hPwk62UfV+xW~EL%=HdAA zsVR?oh*a8?s~ZaM>s*fOGJF%YIC5#?k3C=Co=@H<>l!GSt~aCl+mA~@ZF7yE8!btk zywXE$ZQ|SXEzOUOnlCrEY4)v4JoTe+&b!UC)FtG3FP{FE(WL|`UuR!&pSUw{qQ0Kb zs`o#wYOKy~wwxJaa?ZVG^JN=xS8k2ADZ2bymG8b;9X#_n+u?~xlfQHyd1E$jc~Si~ z^D3$*$ecSQJ^0NNs2v5TmCHvwQ@-VqdzL+gB zFL&q3M>2}D+F;_wAI#3~R~D@2cwi zUQS3;K6{i$TI{jTva`3lo>VyPlbW*cjr1p(*5ID_br-!SR;zUdsa*c_W>Koh&3~Fp z-^MTN@fO#tb)nmdjWQUQ*6(^%zv|N+XTy0pbAQ_Qm+zkY zeC4(Ij@v))y&dqyW$v}W&2Op~tMhEK;NR8tkAG6Z17-$mh8V^VEDi1qQVjRlH^?5) zVOY+%hvh;4Iu@&juMFRqB3K?UHf(2n)AVGo_yJXhW(GT^57#v><*xkB@PMIV|E71} znRhTG>??fB)zHiE&-7^dGNmepIjkG*>?o5uaG9ZQ!@OLlS4(nw7=Q5hz0PNLTfi zYqi;7jrX?{vK;X5eP253`6|Pym2wR)n54cdB%kvax;OijO}eY74ReyctmE$))yzR` zp^198jyDPmRKE&rynmBvMaU%I=TP05DYmZxmj_Uq2;(hRySJU^C{ z7Uee_WY&eE zCl}{UlurNndU>s;ugU?t$Cky@v`^3aA9t*}a&wE2`bDp8`rR`Z)N}j~{Q4(q>i_dI zbtfHIc73f)s%_JW_BY8dcFDTtZc5(Hy!q|Vmhf-Edp>8TtN9sLURyT(t??As^9DPf zJUag6b#i9<(b}};X`A-yi&=Ir$=o~jzvr*D%ijjRuX9*Ad)gw-uitH4uUGWe9ska^ z!FJbUi_?}(=Gy07gU=S9{T%Y3vf*H+TJ#I?N{g$N@4i*BrQYnb{nlf2w{TkJ3)gM$ zZA<1nm8rL0a%umJkG5eEdP@WEoc+pkDA_)B$3;_(>^PsNZ+QM%7YlBgwrI;sn|mqM zJJRKuld~tiocf2K_n(?%SWm2V`}`!!-mSMY8{VE;T6@QT^3?^YHN||lr)&Cb`uyAI zi@}>MT}BRPH|XD8|0(B3dj6l(MQbJ;V=a+q-_if_*D0>YcNg|lzD)crXqPJWe^!`r zO-aV~M@pw}KTcJXYU92s_pEBpNj|ab8)p@IyxJ{&<6X-q&h2Nt^jtp`^Y80kFyU>L)y=$eF;DNS=4!$FmQUyN znG(Z4HQ*An?_wjrjdvek^pCupR5qpXRMgq@$ei>@hnbdtW+X0swQH5g?&LKa=AGV@ z-}v+2io(4IzumR(-?aOj>H1kQ>IyzaGg7lQNo~3Ez3oQblT#L-WiJP-+?0N>!>s4Z z)0NlzZy&3lmLYuo*PrWN&$doKxNfzY-lcl`KDN}m5AxDpr+@1^yenq)ohu~{7meD? zHDhz`XwRNzSm3s$=XGes=JZ8DTPM6dH-C1|bm#mF^5v3u<*OvilCt+iD(#;Y)Ab~G zTD44`{oUO~(^o=0f8EAke4gV)_L$!nVwPGkb!{pZ3wmSu`%1UxwDps}N#FlG)8fLH zl~w9l%9k`38PI#&NT(Wu3WPzjsICiYzs`3-mdPkf414LJA$2-nkX?-~9`o4QhM1HZkRWE3hFq@QTe7Env+RcZTb_KrMwobh8 z$jy>Pa$?11Srd1hcvN1l-?eBCgLiNC{LL1R<1Zh7bH-4OxkUb|*}_l3O9J;zdUvq8 zWp3{^Nuy7f-W>Qo``CAOs}Fw}&)F07)z?oefOCvvddnq zkG}F=JoIPHxo;gY!jDD%u0N%ErK)DH=gc{Mvw0#96o_Q2&oOEZzM{#X$Kz0T;ri}C zyOuYfYF+;RwR?8A?gZcC(~7&N={LRM%6<2(LjHiP>vo0R{(X`nTX+9tI`Qu6Y{lIb zulKxdeWN2aeZ9qu-Pi6jf2e1=!E4Ft_*j>re!k(~mwnF_ch6gX^Xx93J*!_F=X$~}G73I&gCv1E^o#RJs)I{yO%@c$L z|Ala{-`pTnBy?z1$M5e7>LM|XSN30Hm23WB$Gyl{$8mxCj)M5w=e19!Ppl05e5Y^L za}Zp4c=Iu}6Ei-i9DI4N{YBM#<{#T0Y?=IF(XVxuX>rYSB+A)?+CMAU*mrKw`>0~I z+*zc}gpZ;3xuR&Aym+D5q8)Esw``0P33KXMy8OaD$^C5-eu2mBe;%?idneYEe2pP< z%WZ}~O3%%gS&KQ{I(*rae_Dh0gvU$kE;r_%KUq9JD%7*x7GA@261Fl?e5oSm~|I3I}{bR#hpUx>DvMU;0CU@%(oMn{&<&WaL{u zyfXS>s^^fB5P1BLXyeNj9%>7p?X^(eLo)kY@fL=9@AM4H|d!9nvDFMSqub;Cdy_5{8O*AE&@-XN9q!d3I9YZA{T$NI2?+q>N62q)~4 z{I3?~#52|6IlDsJ1zpz$3CDHC$-XhcnaAgf$C+laJ6NYJ3cAXlIa^=h-UR>d$pV$p zS0WkS-jPHSj6O$ z{`me8r;g@)?LT`q7Vco0`SCBy-Rp8$><%U%=Qs2e&sO|RY&15Uaw4~jy8`s>w{(4p|?;=A6b%oULp_-Q3 zY_CA!Fiy`ht>L0#c> z(e%~#KPTVsIA+_isF*eB!(5lGT*drH78Z)#U9I6?`o;0qNhJ?!$r78zw-54m9Ex^3 z;%>f>v2)GM)~KEF3=#@7zw(?NLs&z8D>I5-)2u5q7-vlVrC>i_d2fYCa1o0m{L@G>X_}<89c&z@V~Z1yE@;f-I?4pxr~cO^+a@p$0a!DP;%`MQ_k-_qcjpAIZ%*v3>Lec*nj zjXjTL+)uV6FJ@}F9Zfnh@z7~OJEzSZp6l2-(q64|^i%vLbwHlmqgpFb!pLuid(C{7 z4ZN3E>-;(EnxA;b7ZVAkp&ez}m)&{eH|p zSc207Rtf!`u&GK$X~vhz8^NA4<=Z&!^)mdsaC1$GZJT0KuGx}({7%2l8*`lVyZ-l; zf=gi~pV5l5%pbHG=7-Kn7q3#_$})eFx-5x9Nt&7q7*9tsN7dzrn$#nEgNybrDt-F&aBzrFZEx5*Pn*-1M$O*sXTFxAJ+q9)o zoZ-(V=SuIUb%%dXC|mutQO;xb&ZZAK&$K7Z^mRDaQE&2YZNSTt=7|@%CI6c_{Wwu| zrbO;eyM$D{)35&}*CKx@`U$MfpA)cuew)RiX$e&?p6WaO`g%v?y-drA2TCdLQavKG z?lir~OXf)XYdVi%1D|8u{kHj&^LIVASQ0z0RpQ!Qn|-y6M`l(D9Eh*7+0U5t=RWg? z_uglwH>9X%FrL(Z;nw{`anf@SKdX25)pjm){;AjW%TrHf=d33TC-*U3l2NmKsIhvs z%JzU$)ru#lzMB14_ED|s(tFiP@9GzPiglUk6aGrIa!THgU)~~W9(;kfoYj9;20neh zmG617+U2}ZcHt@CuD<+J!fond=DE-DQzhHq*ES~$+dj5d?OV0S)_danaL;{yMUu=v zcW!F<@_faXzExlDh1{PN^7P`%T`RjvX5I@)t@HX@Khx;ltFjMi;!m!+>KixQ)GL|4 z|6IZR`G*~*|G2SZpHJ-UB`@^mK1$bhwf8Z;7TS7xO4$X?zpH$z?mZ};To}83@%7yb z{gs}dlOA(>?cKL*-p*GQ&n`3VyKiu*dR|>}q5jG9SFO+LX&m;OEVuo{xl@|H?^o>6 z@%h*%m+W;uUY#q&^k~QVW=}ua=0we<$@3C-Us_Q(T`A>WLRE84$H9afi#QgYPu`bW z|M@G={WD&NU)>IDKB_qNz2Ei7?H3r9>Zxngrpce|){!gMJe8|nVYB{|!MPHrP0Jp= z*tM$pywW@V%~6lHMZa*~_SiU7Y`yin*rg{PZ~FYT>({-&w%AoWl6v9G?@tfLrZ4cF-=EJ&|8ll3X@l7MS_*I|~W>+F_%nfO)YuXexVK8K|n zI~Nt#`MeA+582V zH5rjca~{d+E}s<}&^LD(<6=8Dt2xuzQhRKqifqADt^LioAk19P3GsRy9#4P zPbePW`&|26y;PJ};Gsr?lWWuy!x$|`e4KR`Qaj8 z{{@`<`C2W?K~S#H!uch0+Wnorf$y%Z`XsebL*?6&sAS5m8~?3O8oac;FSW`bB)b8t0UKbUON3z zLPh_@U9V%i5^ugV3t(Am`eRf2Zud~h6082mOv&55Klx|A`69RN-p;dsatlJ1es%0B z-*R}}P1e*%wXcD{ZcBF6*c~Zj@0Db{koh~{wLoU-fsU&6Uu?o6CG?t~F}GRYbPA35 zt9UAnP~J|dbtme^izSr=Q5EIkVusiN>Kc)4yq1*Np_0q*>2RC`}CBW#=DwtL0^* z{5lQ(%biso>lRoPwu$C0JaODY(x^S@$?j>-bW#=a^)J8OGCS{zzhw268o8jS8?FV~ zEwI=cekpg!6xG#kp}*Dz{9j=ZCcON`^Er0!JmT9|Zu5Gy_VSi#LEk4&DO=!d5xXPD z<~J9!>mJukOL%U)^*-;@8#d)TCU+=mzA4VE&VYwr9#Kzu!G!}fRtx!esh=3DN8x|PUL-E-rn7+>2YqMR?3?9GFO(* ziVc{SdXb^|1&6Glw^#jU*|$;U`_7zmOL^(}x^c?;-c{ed&L@YmUQ95s$V!Pd-aac) z{eW*-|M9);?>t&R^Tx%dfb|Q=!cdZ?XiX99CmH z*AX7!&h+B~Q`a4drSlJeH15**80c0l5jSt+4(=aoo6bq5nmN`lKW?z}{+jfJEjxH# zC}o5!eII0YeY3@mUkms&^QRt(R?nQ_xaG=c9-ey^F{u%Z*Ec_T{N_)bD=%BuC+lmr zdt+L7-2c7cWDZw}yA-rgY31~{$NsAv{qX)-t=F>)drMYym_C}jL~gZRiR_D|ijR4w zX=nKu?RShZ%iZ)!^KDRD>b2kU&(54*;gzm()LQqe-)8Ppn{_UgO|=YMnEH0Y*Ee2e zWjlpJ>QBTsjad{cG>x4?XL@75N(6Jp9GxvhsR`?$3L27yg&BEMB%_Hv2!DEkPfz zCsn6(_}_jPnwhgu;=C{0?CH6QMZY)9&63)#nfojC+4m)SOEmJYYrehH=VR&0>ACMr z!nIXpOgl0ST{+M161?W?6?y#X%DxjbQl9h9Ty=s+US;w1dbNquBF!VuwAHA6HQ?|s zx4f7u_vygV{bl#=KD#pW;b%qL%k}eu(w_x&?G};D_-?*8|4`}UTkSm4?v+-pU!EKl#ru zXW_}Kc;XXFYS*OI+_srM`TS9y?FR$5ou4u%s3tS9-tf8ka_O%D(|mtQ{PUdMFe#6H zspoqGtDx)^+@}`v?DEK5Ua6FDCS$wO^<&?Rb7r`m)jIZ;`9b$?!OYp`{>*-}&LHQ$ zQH}G|i!4V2E*t-K*F2r!(>(9h&ZRtymgcSg9^)pb`MBirkNYv}LRERCD+{(3&ke6# zd%U9VMpc}3PJY;t?pSvHvIT!WP1?Kh&Pu%#!D2?g|7fy(-9I5|#jGu}9~qc^eVA8P zGvinAwG(2-K^p7#Tz_0PE0qJDR-Z0Xo+)PBv7@^x-DR)v*5?s3m#8z|Thb#hZyYhp z@=QX%p0Bs2-%T-B{najEA%Ozl-qZ&kT5z!7#Gl-%G13)Kg5D^+H1R-?^O?W@q>5 z2X=JXY`T6VKIQw{n)i!ZSH;9!EM4-YQL%0Aly(UV*W;R}o^f@_)U@V3uAg7!?r!oj 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

{k0_V;1+_ z*K0Qa>W;f#ep5`QeWu*)XPM$!uVcKqPVF|!wrO|mdU(wI)Y+vx_GfFFo$k(w7V)2S zHlnaE@9J6<0E|G*fqU2ofZyPO}EuK z7sg(DC^}`I(rS0>8`skOCBB}DN{+l9b*XUIVcyRys|wS!54&r4FRr=Yyvt&C?LXJD zs;SRpulq#qn74%Es^WLOQ#Zfb-CR(7@%MA3+i#8EMo!ampa0u$^WF2{V0vvR69NjR zDM_1*cfQy8%j0W(D|Wawa33Maj~9uw$kf#^{ve{Q63fQ{k5_0IFpZ|zi{Ts3ROtj&Gawx>$( z{tr8`x$q%Z|8J3}Hko(+Po49}nPJ^0jqg#%cfPh+_x&F-|%I=<>T+Gi%;zjw3hS#^g4CM)0aOa z4z#;Ts(s5mo?0Yl`Y!wRfBnqk;ZDa)#q%!r-Dmq?{rJ!MiE_u^ozO_1Ulvnl{knql zfN9_7a^@TFEbKWYkC)78?^#;U_P|`OG~mW^+3=H*$IB;_{kPFi=DX)qW%KE%-P;@O zpE)iiKc36*@4%$8^qBSk>r~$qpPmzTZi&0)b%o!1FTCF3=Kbq)+1}p{&tpDh`qjz) zXLvb3pE<(gQnWza|2Kty-%t8w%lIIo=&vEedB}O@kG2i7`Ru>hpD^!T zOp=Ru%v}wyJZ%e|u<;YmlE442K8}k{2>++gP;qQhy~@sKVn5FAz0NR$t-!uPlR=ol zY*8`awbN0PgVW5r673gi9St}xd?M_DzEjF>8|I60Dd*pcD}4HDKJP2%!!_SecF)}T zrh@-w@>$g-sZP={ZIiDn7_HOyu{^n~S+k`e%q=qY$WFln>lyy=x@7*pcH()n^%ko= z>

b)p7cxdxW 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 z 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 file (if exists) [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] - public static partial CBool FileRename(sbyte* fileName, sbyte* fileRename); + public static partial int FileRename(sbyte* fileName, sbyte* fileRename); ///

Remove file (if exists) [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] - public static partial CBool FileRemove(sbyte* fileName); + public static partial int FileRemove(sbyte* fileName); /// Copy file from one path to another, dstPath created if it doesn't exist [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] - public static partial CBool FileCopy(sbyte* srcPath, sbyte* dstPath); + public static partial int FileCopy(sbyte* srcPath, sbyte* dstPath); /// Move file from one path to another, dstPath created if it doesn't exist [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] - public static partial CBool FileMove(sbyte* srcPath, sbyte* dstPath); + public static partial int FileMove(sbyte* srcPath, sbyte* dstPath); /// Replace text in an existing file [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] - public static partial CBool FileTextReplace(sbyte* fileName, sbyte* search, sbyte* replacement); + public static partial int FileTextReplace(sbyte* fileName, sbyte* search, sbyte* replacement); /// Find text in existing file [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] - public static partial CBool FileTextFindIndex(sbyte* fileName, sbyte* search); + public static partial int FileTextFindIndex(sbyte* fileName, sbyte* search); /// Check if file exists [LibraryImport(NativeLibName)] @@ -962,7 +962,7 @@ public static unsafe partial class Raylib [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] public static partial FilePathList GetDirectoryFileCount(sbyte* dirPath); - /// Get the file count in a directory + /// Load directory filepaths with extension filtering and subdir scan; some filters available: "*.*", "FILES*", "DIRS*" [LibraryImport(NativeLibName)] [UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])] public static partial FilePathList GetDirectoryFileCountEx(sbyte* dirPath, sbyte* filter, CBool scanSubdirs); diff --git a/Raylib-cs/types/Mesh.cs b/Raylib-cs/types/Mesh.cs index 10c389c..f4bf087 100644 --- a/Raylib-cs/types/Mesh.cs +++ b/Raylib-cs/types/Mesh.cs @@ -248,4 +248,6 @@ public unsafe struct Mesh public const int VboIdIndexIndices = 6; #endregion + + } diff --git a/Raylib-cs/types/Model.cs b/Raylib-cs/types/Model.cs index 945db48..16bac95 100644 --- a/Raylib-cs/types/Model.cs +++ b/Raylib-cs/types/Model.cs @@ -19,6 +19,14 @@ public unsafe struct BoneInfo /// Bone parent /// public int Parent; + + public string NameToString() + { + fixed (sbyte* name = Name) + { + return Utf8StringUtils.GetUTF8String(name); + } + } } /// @@ -41,6 +49,16 @@ public unsafe struct ModelSkeleton /// Bones base transformation (Transform[]) /// public Transform* ModelAnimPose; + + public Span ModelAnimPoseAsSpan() + { + return new Span(ModelAnimPose, BoneCount); + } + + public Span BonesAsSpan() + { + return new Span(Bones, BoneCount); + } } // Note: @@ -84,29 +102,52 @@ public unsafe struct Model public int* MeshMaterial; /// - /// Number of bones + /// Skeleton for animation /// - public int BoneCount; + ModelSkeleton Skeleton; - //TODO: Span /// - /// Bones information (skeleton, BoneInfo *) + /// Current animation pose (Transform[]) /// - public BoneInfo* Bones; + public Transform* CurrentPose; - //TODO: Span /// - /// Bones base transformation (pose, Transform *) + /// Bones animated transformation matrices /// - public Transform* BindPose; + public Matrix4x4* BoneMatrices; + + public Span BoneMatricesAsSpan() + { + return new Span(BoneMatrices, Skeleton.BoneCount); + } + + public Span CurrentPoseAsSpan() + { + return new Span(CurrentPose, Skeleton.BoneCount); + } + + public Span MeshMaterialAsSpan() + { + return new Span(MeshMaterial, MeshCount); + } + + public Span MeshesAsSpan() + { + return new Span(Meshes, MeshCount); + } } /// -/// Model animation +/// ModelAnimation, contains a full animation sequence /// [StructLayout(LayoutKind.Sequential)] public unsafe struct ModelAnimation { + /// + /// Animation name (char[32]) + /// + public fixed sbyte Name[32]; + /// /// Number of bones /// @@ -115,61 +156,23 @@ public unsafe struct ModelAnimation /// /// Number of animation frames /// - public readonly int FrameCount; + public readonly int KeyFrameCount; /// - /// Bones information (skeleton, BoneInfo *) + /// Animation sequence keyframe poses [keyframe][pose] /// - public readonly BoneInfo* Bones; + public Transform* KeyframePoses; - /// - public readonly ReadOnlySpan BoneInfo => new ReadOnlySpan(Bones, BoneCount); - - /// - /// Poses array by frame (Transform **) - /// - public readonly Transform** FramePoses; - - /// - /// Animation name (char[32]) - /// - public fixed sbyte Name[32]; - - /// - public readonly FramePosesCollection FramePosesColl => new FramePosesCollection(FramePoses, FrameCount, BoneCount); - - public readonly struct FramePosesCollection + public Span KeyFramePosesAsSpan() { - readonly Transform** _framePoses; + return new Span(KeyframePoses, KeyFrameCount); + } - readonly int _frameCount; - - readonly int _boneCount; - - public readonly FramePoses this[int index] => new FramePoses(_framePoses[index], _boneCount); - - public readonly Transform this[int index1, int index2] => new FramePoses(_framePoses[index1], _boneCount)[index2]; - - internal FramePosesCollection(Transform** framePoses, int frameCount, int boneCount) + public string NameToString() + { + fixed (sbyte* name = Name) { - this._framePoses = framePoses; - this._frameCount = frameCount; - this._boneCount = boneCount; + return Utf8StringUtils.GetUTF8String(name); } } } - -public readonly unsafe struct FramePoses -{ - readonly Transform* _poses; - - readonly int _count; - - public readonly ref Transform this[int index] => ref _poses[index]; - - internal FramePoses(Transform* poses, int count) - { - this._poses = poses; - this._count = count; - } -} diff --git a/Raylib-cs/types/Raylib.Utils.cs b/Raylib-cs/types/Raylib.Utils.cs index eb12e24..859b85b 100644 --- a/Raylib-cs/types/Raylib.Utils.cs +++ b/Raylib-cs/types/Raylib.Utils.cs @@ -1085,6 +1085,24 @@ public static unsafe partial class Raylib } } + /// Load model animations from file + public static Span LoadModelAnimations(string fileName) + { + using AnsiBuffer str1 = fileName.ToAnsiBuffer(); + int count; + + ModelAnimation* result = LoadModelAnimations(str1.AsPointer(), &count); + return new Span(result, count); + } + + public static void UnloadModelAnimations(Span animations) + { + fixed (ModelAnimation* ptr = animations) + { + UnloadModelAnimations(ptr, animations.Length); + } + } + /// Compute mesh tangents public static void GenMeshTangents(ref Mesh mesh) { @@ -1549,6 +1567,155 @@ public static unsafe partial class Raylib SaveFileText(fileBuffer.AsPointer(), textBuffer.AsPointer()); } + /// Rename file (if exists) + public static int FileRename(string filename, string fileRename) + { + + using AnsiBuffer fileBuffer = filename.ToAnsiBuffer(); + using AnsiBuffer textBuffer = fileRename.ToAnsiBuffer(); + return FileRename(fileBuffer.AsPointer(), textBuffer.AsPointer()); + } + + /// Remove file (if exists) + public static int FileRemove(string filename) + { + using AnsiBuffer fileBuffer = filename.ToAnsiBuffer(); + return FileRemove(fileBuffer.AsPointer()); + } + + /// Copy file from one path to another, dstPath created if it doesn't exist + public static int FileCopy(string srcPath, string dstPath) + { + using AnsiBuffer srcBuffer = srcPath.ToAnsiBuffer(); + using AnsiBuffer dstBuffer = dstPath.ToAnsiBuffer(); + return FileCopy(srcBuffer.AsPointer(), dstBuffer.AsPointer()); + } + + /// Move file from one path to another, dstPath created if it doesn't exist + public static int FileMove(string srcPath, string dstPath) + { + using AnsiBuffer srcBuffer = srcPath.ToAnsiBuffer(); + using AnsiBuffer dstBuffer = dstPath.ToAnsiBuffer(); + return FileMove(srcBuffer.AsPointer(), dstBuffer.AsPointer()); + } + + /// Replace text in an existing file + public static int FileTextReplace(string fileName, string search, string replacement) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + using AnsiBuffer searchBuffer = search.ToAnsiBuffer(); + using AnsiBuffer replaceBuffer = replacement.ToAnsiBuffer(); + return FileTextReplace(fileBuffer.AsPointer(), searchBuffer.AsPointer(), replaceBuffer.AsPointer()); + } + + /// Find text in existing file + public static int FileTextFindIndex(string fileName, string search) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + using AnsiBuffer searchBuffer = search.ToAnsiBuffer(); + return FileTextFindIndex(fileBuffer.AsPointer(), searchBuffer.AsPointer()); + } + + /// Check if file exists + public static CBool FileExists(string fileName) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + return FileExists(fileBuffer.AsPointer()); + } + + /// Check if a directory path exists + public static CBool DirectoryExists(string dirPath) + { + using AnsiBuffer dirBuffer = dirPath.ToAnsiBuffer(); + return DirectoryExists(dirBuffer.AsPointer()); + } + + /// Get file length in bytes + public static int GetFileLength(string fileName) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + return GetFileLength(fileBuffer.AsPointer()); + } + + /// Get string to extension for a filename string (includes dot: '.png') + public static string GetFileExtension(string fileName) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + return new string(GetFileExtension(fileBuffer.AsPointer())); + } + + /// Get string to filename for a path string + public static string GetFileName(string fileName) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + return new string(GetFileName(fileBuffer.AsPointer())); + } + + /// Get filename string without extension + public static string GetFileNameWithoutExt(string fileName) + { + using AnsiBuffer fileBuffer = fileName.ToAnsiBuffer(); + return new string(GetFileNameWithoutExt(fileBuffer.AsPointer())); + } + + /// Get full path for a given fileName with path + public static string GetDirectoryPath(string filePath) + { + using AnsiBuffer fileBuffer = filePath.ToAnsiBuffer(); + return new string(GetDirectoryPath(fileBuffer.AsPointer())); + } + + /// Get previous directory path for a given path + public static string GetPrevDirectoryPath(string dirPath) + { + using AnsiBuffer dirBuffer = dirPath.ToAnsiBuffer(); + return new string(GetPrevDirectoryPath(dirBuffer.AsPointer())); + } + + /// Get current working directory + public static string GetWorkingDirectoryAsString() + { + return new string(GetWorkingDirectory()); + } + + /// Get the directory of the running application + public static string GetApplicationDirectoryAsString() + { + return new string(GetApplicationDirectory()); + } + + /// Change working directory, return true on success + public static CBool ChangeDirectory(string dirPath) + { + using AnsiBuffer dirBuffer = dirPath.ToAnsiBuffer(); + return ChangeDirectory(dirBuffer.AsPointer()); + } + + /// Check if a given path is a file or a directory + public static CBool IsPathFile(string path) + { + using AnsiBuffer pathBuffer = path.ToAnsiBuffer(); + return IsPathFile(pathBuffer.AsPointer()); + } + + /// Load directory filepaths + public static FilePathList LoadDirectoryFiles(string dirPath, out int count) + { + using AnsiBuffer dirBuffer = dirPath.ToAnsiBuffer(); + int c = 0; + var result = LoadDirectoryFiles(dirBuffer.AsPointer(), &c); + count = c; + return result; + } + + /// Load directory filepaths with extension filtering and subdir scan; some filters available: "*.*", "FILES*", "DIRS*" + public static FilePathList LoadDirectoryFilesEx(string basePath, string filter, CBool scanSubDirs) + { + using AnsiBuffer baseBuffer = basePath.ToAnsiBuffer(); + using AnsiBuffer filterBuffer = filter.ToAnsiBuffer(); + return LoadDirectoryFilesEx(baseBuffer.AsPointer(), filterBuffer.AsPointer(), scanSubDirs); + } + /// /// Loads text from a file, reads it, saves it, unloads the file, and returns the loaded text. /// @@ -1569,4 +1736,5 @@ public static unsafe partial class Raylib center.Y = GetScreenHeight() / 2.0f; return center; } + } diff --git a/Raylib-cs/types/native/FilePathList.cs b/Raylib-cs/types/native/FilePathList.cs index 9c50a3b..206b9a2 100644 --- a/Raylib-cs/types/native/FilePathList.cs +++ b/Raylib-cs/types/native/FilePathList.cs @@ -1,3 +1,4 @@ +using System; using System.Runtime.InteropServices; namespace Raylib_cs; diff --git a/Raylib-cs/types/native/Utf8Buffer.cs b/Raylib-cs/types/native/Utf8Buffer.cs index 3acb824..98d9aaa 100644 --- a/Raylib-cs/types/native/Utf8Buffer.cs +++ b/Raylib-cs/types/native/Utf8Buffer.cs @@ -21,6 +21,11 @@ public readonly ref struct Utf8Buffer return (sbyte*)_data.ToPointer(); } + public unsafe byte* AsBytePointer() + { + return (byte*)_data.ToPointer(); + } + public void Dispose() { Marshal.ZeroFreeCoTaskMemUTF8(_data);