Init zig project with raylib bindings
This commit is contained in:
6052
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/raygui.h
Normal file
6052
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/raygui.h
Normal file
File diff suppressed because it is too large
Load Diff
1743
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/raylib.h
Normal file
1743
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/raylib.h
Normal file
File diff suppressed because it is too large
Load Diff
3139
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/raymath.h
Normal file
3139
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/raymath.h
Normal file
File diff suppressed because it is too large
Load Diff
562
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/rcamera.h
Normal file
562
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/rcamera.h
Normal file
@ -0,0 +1,562 @@
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* rcamera - Basic camera system with support for multiple camera modes
|
||||
*
|
||||
* CONFIGURATION:
|
||||
* #define RCAMERA_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 RCAMERA_STANDALONE
|
||||
* If defined, the library can be used as standalone as a camera system but some
|
||||
* functions must be redefined to manage inputs accordingly.
|
||||
*
|
||||
* CONTRIBUTORS:
|
||||
* Ramon Santamaria: Supervision, review, update and maintenance
|
||||
* Christoph Wagner: Complete redesign, using raymath (2022)
|
||||
* Marc Palau: Initial implementation (2014)
|
||||
*
|
||||
*
|
||||
* LICENSE: zlib/libpng
|
||||
*
|
||||
* Copyright (c) 2022-2026 Christoph Wagner (@Crydsch) 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.
|
||||
*
|
||||
**********************************************************************************************/
|
||||
|
||||
#ifndef RCAMERA_H
|
||||
#define RCAMERA_H
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Defines and Macros
|
||||
//----------------------------------------------------------------------------------
|
||||
// Function specifiers definition
|
||||
|
||||
// Function specifiers in case library is build/used as a shared library (Windows)
|
||||
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
|
||||
#if defined(_WIN32)
|
||||
#if defined(BUILD_LIBTYPE_SHARED)
|
||||
#if defined(__TINYC__)
|
||||
#define __declspec(x) __attribute__((x))
|
||||
#endif
|
||||
#define RLAPI __declspec(dllexport) // Building the library as a Win32 shared library (.dll)
|
||||
#elif defined(USE_LIBTYPE_SHARED)
|
||||
#define RLAPI __declspec(dllimport) // Using the library as a Win32 shared library (.dll)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef RLAPI
|
||||
#define RLAPI // Functions defined as 'extern' by default (implicit specifiers)
|
||||
#endif
|
||||
|
||||
#if defined(RCAMERA_STANDALONE)
|
||||
#define CAMERA_CULL_DISTANCE_NEAR 0.05
|
||||
#define CAMERA_CULL_DISTANCE_FAR 4000.0
|
||||
#else
|
||||
#define CAMERA_CULL_DISTANCE_NEAR RL_CULL_DISTANCE_NEAR
|
||||
#define CAMERA_CULL_DISTANCE_FAR RL_CULL_DISTANCE_FAR
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Types and Structures Definition
|
||||
// NOTE: Below types are required for standalone usage
|
||||
//----------------------------------------------------------------------------------
|
||||
#if defined(RCAMERA_STANDALONE)
|
||||
// Vector2, 2 components
|
||||
typedef struct Vector2 {
|
||||
float x; // Vector x component
|
||||
float y; // Vector y component
|
||||
} Vector2;
|
||||
|
||||
// Vector3, 3 components
|
||||
typedef struct Vector3 {
|
||||
float x; // Vector x component
|
||||
float y; // Vector y component
|
||||
float z; // Vector z component
|
||||
} Vector3;
|
||||
|
||||
// Matrix, 4x4 components, column major, OpenGL style, right-handed
|
||||
typedef struct Matrix {
|
||||
float m0, m4, m8, m12; // Matrix first row (4 components)
|
||||
float m1, m5, m9, m13; // Matrix second row (4 components)
|
||||
float m2, m6, m10, m14; // Matrix third row (4 components)
|
||||
float m3, m7, m11, m15; // Matrix fourth row (4 components)
|
||||
} Matrix;
|
||||
|
||||
// Camera type, defines a camera position/orientation in 3d space
|
||||
typedef struct Camera3D {
|
||||
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 aperture in Y (degrees) in perspective, used as near plane width in orthographic
|
||||
int projection; // Camera projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
|
||||
} Camera3D;
|
||||
|
||||
typedef Camera3D Camera; // Camera type fallback, defaults to Camera3D
|
||||
|
||||
// Camera projection
|
||||
typedef enum {
|
||||
CAMERA_PERSPECTIVE = 0, // Perspective projection
|
||||
CAMERA_ORTHOGRAPHIC // Orthographic projection
|
||||
} CameraProjection;
|
||||
|
||||
// Camera system modes
|
||||
typedef enum {
|
||||
CAMERA_CUSTOM = 0, // Camera custom, controlled by user (UpdateCamera() does nothing)
|
||||
CAMERA_FREE, // Camera free mode
|
||||
CAMERA_ORBITAL, // Camera orbital, around target, zoom supported
|
||||
CAMERA_FIRST_PERSON, // Camera first person
|
||||
CAMERA_THIRD_PERSON // Camera third person
|
||||
} CameraMode;
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Global Variables Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
//...
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Module Functions Declaration
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" { // Prevents name mangling of functions
|
||||
#endif
|
||||
|
||||
RLAPI Vector3 GetCameraForward(Camera *camera);
|
||||
RLAPI Vector3 GetCameraUp(Camera *camera);
|
||||
RLAPI Vector3 GetCameraRight(Camera *camera);
|
||||
|
||||
// Camera movement
|
||||
RLAPI void CameraMoveForward(Camera *camera, float distance, bool moveInWorldPlane);
|
||||
RLAPI void CameraMoveUp(Camera *camera, float distance);
|
||||
RLAPI void CameraMoveRight(Camera *camera, float distance, bool moveInWorldPlane);
|
||||
RLAPI void CameraMoveToTarget(Camera *camera, float delta);
|
||||
|
||||
// Camera rotation
|
||||
RLAPI void CameraYaw(Camera *camera, float angle, bool rotateAroundTarget);
|
||||
RLAPI void CameraPitch(Camera *camera, float angle, bool lockView, bool rotateAroundTarget, bool rotateUp);
|
||||
RLAPI void CameraRoll(Camera *camera, float angle);
|
||||
|
||||
RLAPI Matrix GetCameraViewMatrix(Camera *camera);
|
||||
RLAPI Matrix GetCameraProjectionMatrix(Camera *camera, float aspect);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // RCAMERA_H
|
||||
|
||||
/***********************************************************************************
|
||||
*
|
||||
* CAMERA IMPLEMENTATION
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#if defined(RCAMERA_IMPLEMENTATION)
|
||||
|
||||
#include "raymath.h" // Required for vector maths:
|
||||
// Vector3Add()
|
||||
// Vector3Subtract()
|
||||
// Vector3Scale()
|
||||
// Vector3Normalize()
|
||||
// Vector3Distance()
|
||||
// Vector3CrossProduct()
|
||||
// Vector3RotateByAxisAngle()
|
||||
// Vector3Angle()
|
||||
// Vector3Negate()
|
||||
// MatrixLookAt()
|
||||
// MatrixPerspective()
|
||||
// MatrixOrtho()
|
||||
// MatrixIdentity()
|
||||
|
||||
// raylib required functionality:
|
||||
// GetMouseDelta()
|
||||
// GetMouseWheelMove()
|
||||
// IsKeyDown()
|
||||
// IsKeyPressed()
|
||||
// GetFrameTime()
|
||||
|
||||
#include <math.h> // Required for: fabsf()
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Defines and Macros
|
||||
//----------------------------------------------------------------------------------
|
||||
#define CAMERA_MOVE_SPEED 5.4f // Units per second
|
||||
#define CAMERA_ROTATION_SPEED 0.03f
|
||||
#define CAMERA_PAN_SPEED 2.0f
|
||||
|
||||
// Camera mouse movement sensitivity
|
||||
#define CAMERA_MOUSE_MOVE_SENSITIVITY 0.003f
|
||||
|
||||
// Camera orbital speed in CAMERA_ORBITAL mode
|
||||
#define CAMERA_ORBITAL_SPEED 0.5f // Radians per second
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Types and Structures Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
//...
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Global Variables Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
//...
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Module Internal Functions Declaration
|
||||
//----------------------------------------------------------------------------------
|
||||
//...
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Module Functions Definition
|
||||
//----------------------------------------------------------------------------------
|
||||
// Returns the cameras forward vector (normalized)
|
||||
Vector3 GetCameraForward(Camera *camera)
|
||||
{
|
||||
return Vector3Normalize(Vector3Subtract(camera->target, camera->position));
|
||||
}
|
||||
|
||||
// Returns the cameras up vector (normalized)
|
||||
// Note: The up vector might not be perpendicular to the forward vector
|
||||
Vector3 GetCameraUp(Camera *camera)
|
||||
{
|
||||
return Vector3Normalize(camera->up);
|
||||
}
|
||||
|
||||
// Returns the cameras right vector (normalized)
|
||||
Vector3 GetCameraRight(Camera *camera)
|
||||
{
|
||||
Vector3 forward = GetCameraForward(camera);
|
||||
Vector3 up = GetCameraUp(camera);
|
||||
|
||||
return Vector3Normalize(Vector3CrossProduct(forward, up));
|
||||
}
|
||||
|
||||
// Moves the camera in its forward direction
|
||||
void CameraMoveForward(Camera *camera, float distance, bool moveInWorldPlane)
|
||||
{
|
||||
Vector3 forward = GetCameraForward(camera);
|
||||
|
||||
if (moveInWorldPlane)
|
||||
{
|
||||
// Project vector onto world plane (the plane defined by the up vector)
|
||||
if (fabsf(camera->up.z) > 0.7071f) forward.z = 0;
|
||||
else if (fabsf(camera->up.x) > 0.7071f) forward.x = 0;
|
||||
else forward.y = 0;
|
||||
|
||||
forward = Vector3Normalize(forward);
|
||||
}
|
||||
|
||||
// Scale by distance
|
||||
forward = Vector3Scale(forward, distance);
|
||||
|
||||
// Move position and target
|
||||
camera->position = Vector3Add(camera->position, forward);
|
||||
camera->target = Vector3Add(camera->target, forward);
|
||||
}
|
||||
|
||||
// Moves the camera in its up direction
|
||||
void CameraMoveUp(Camera *camera, float distance)
|
||||
{
|
||||
Vector3 up = GetCameraUp(camera);
|
||||
|
||||
// Scale by distance
|
||||
up = Vector3Scale(up, distance);
|
||||
|
||||
// Move position and target
|
||||
camera->position = Vector3Add(camera->position, up);
|
||||
camera->target = Vector3Add(camera->target, up);
|
||||
}
|
||||
|
||||
// Moves the camera target in its current right direction
|
||||
void CameraMoveRight(Camera *camera, float distance, bool moveInWorldPlane)
|
||||
{
|
||||
Vector3 right = GetCameraRight(camera);
|
||||
|
||||
if (moveInWorldPlane)
|
||||
{
|
||||
// Project vector onto world plane (the plane defined by the up vector)
|
||||
if (fabsf(camera->up.z) > 0.7071f) right.z = 0;
|
||||
else if (fabsf(camera->up.x) > 0.7071f) right.x = 0;
|
||||
else right.y = 0;
|
||||
|
||||
right = Vector3Normalize(right);
|
||||
}
|
||||
|
||||
// Scale by distance
|
||||
right = Vector3Scale(right, distance);
|
||||
|
||||
// Move position and target
|
||||
camera->position = Vector3Add(camera->position, right);
|
||||
camera->target = Vector3Add(camera->target, right);
|
||||
}
|
||||
|
||||
// Moves the camera position closer/farther to/from the camera target
|
||||
void CameraMoveToTarget(Camera *camera, float delta)
|
||||
{
|
||||
float distance = Vector3Distance(camera->position, camera->target);
|
||||
|
||||
// Apply delta
|
||||
distance += delta;
|
||||
|
||||
// Distance must be greater than 0
|
||||
if (distance <= 0) distance = 0.001f;
|
||||
|
||||
// Set new distance by moving the position along the forward vector
|
||||
Vector3 forward = GetCameraForward(camera);
|
||||
camera->position = Vector3Add(camera->target, Vector3Scale(forward, -distance));
|
||||
}
|
||||
|
||||
// Rotates the camera around its up vector
|
||||
// Yaw is "looking left and right"
|
||||
// If rotateAroundTarget is false, the camera rotates around its position
|
||||
// Note: angle must be provided in radians
|
||||
void CameraYaw(Camera *camera, float angle, bool rotateAroundTarget)
|
||||
{
|
||||
// Rotation axis
|
||||
Vector3 up = GetCameraUp(camera);
|
||||
|
||||
// View vector
|
||||
Vector3 targetPosition = Vector3Subtract(camera->target, camera->position);
|
||||
|
||||
// Rotate view vector around up axis
|
||||
targetPosition = Vector3RotateByAxisAngle(targetPosition, up, angle);
|
||||
|
||||
if (rotateAroundTarget)
|
||||
{
|
||||
// Move position relative to target
|
||||
camera->position = Vector3Subtract(camera->target, targetPosition);
|
||||
}
|
||||
else // rotate around camera.position
|
||||
{
|
||||
// Move target relative to position
|
||||
camera->target = Vector3Add(camera->position, targetPosition);
|
||||
}
|
||||
}
|
||||
|
||||
// Rotates the camera around its right vector, pitch is "looking up and down"
|
||||
// - lockView prevents camera overrotation (aka "somersaults")
|
||||
// - rotateAroundTarget defines if rotation is around target or around its position
|
||||
// - rotateUp rotates the up direction as well (typically only useful in CAMERA_FREE)
|
||||
// NOTE: [angle] must be provided in radians
|
||||
void CameraPitch(Camera *camera, float angle, bool lockView, bool rotateAroundTarget, bool rotateUp)
|
||||
{
|
||||
// Up direction
|
||||
Vector3 up = GetCameraUp(camera);
|
||||
|
||||
// View vector
|
||||
Vector3 targetPosition = Vector3Subtract(camera->target, camera->position);
|
||||
|
||||
if (lockView)
|
||||
{
|
||||
// In these camera modes, clamp the Pitch angle
|
||||
// to allow only viewing straight up or down
|
||||
|
||||
// Clamp view up
|
||||
float maxAngleUp = Vector3Angle(up, targetPosition);
|
||||
maxAngleUp -= 0.001f; // avoid numerical errors
|
||||
if (angle > maxAngleUp) angle = maxAngleUp;
|
||||
|
||||
// Clamp view down
|
||||
float maxAngleDown = Vector3Angle(Vector3Negate(up), targetPosition);
|
||||
maxAngleDown *= -1.0f; // downwards angle is negative
|
||||
maxAngleDown += 0.001f; // avoid numerical errors
|
||||
if (angle < maxAngleDown) angle = maxAngleDown;
|
||||
}
|
||||
|
||||
// Rotation axis
|
||||
Vector3 right = GetCameraRight(camera);
|
||||
|
||||
// Rotate view vector around right axis
|
||||
targetPosition = Vector3RotateByAxisAngle(targetPosition, right, angle);
|
||||
|
||||
if (rotateAroundTarget)
|
||||
{
|
||||
// Move position relative to target
|
||||
camera->position = Vector3Subtract(camera->target, targetPosition);
|
||||
}
|
||||
else // Rotate around camera.position
|
||||
{
|
||||
// Move target relative to position
|
||||
camera->target = Vector3Add(camera->position, targetPosition);
|
||||
}
|
||||
|
||||
if (rotateUp)
|
||||
{
|
||||
// Rotate up direction around right axis
|
||||
camera->up = Vector3RotateByAxisAngle(camera->up, right, angle);
|
||||
}
|
||||
}
|
||||
|
||||
// Rotates the camera around its forward vector
|
||||
// Roll is "turning your head sideways to the left or right"
|
||||
// Note: angle must be provided in radians
|
||||
void CameraRoll(Camera *camera, float angle)
|
||||
{
|
||||
// Rotation axis
|
||||
Vector3 forward = GetCameraForward(camera);
|
||||
|
||||
// Rotate up direction around forward axis
|
||||
camera->up = Vector3RotateByAxisAngle(camera->up, forward, angle);
|
||||
}
|
||||
|
||||
// Returns the camera view matrix
|
||||
Matrix GetCameraViewMatrix(Camera *camera)
|
||||
{
|
||||
return MatrixLookAt(camera->position, camera->target, camera->up);
|
||||
}
|
||||
|
||||
// Returns the camera projection matrix
|
||||
Matrix GetCameraProjectionMatrix(Camera *camera, float aspect)
|
||||
{
|
||||
if (camera->projection == CAMERA_PERSPECTIVE)
|
||||
{
|
||||
return MatrixPerspective(camera->fovy*DEG2RAD, aspect, CAMERA_CULL_DISTANCE_NEAR, CAMERA_CULL_DISTANCE_FAR);
|
||||
}
|
||||
else if (camera->projection == CAMERA_ORTHOGRAPHIC)
|
||||
{
|
||||
double top = camera->fovy/2.0;
|
||||
double right = top*aspect;
|
||||
|
||||
return MatrixOrtho(-right, right, -top, top, CAMERA_CULL_DISTANCE_NEAR, CAMERA_CULL_DISTANCE_FAR);
|
||||
}
|
||||
|
||||
return MatrixIdentity();
|
||||
}
|
||||
|
||||
#if !defined(RCAMERA_STANDALONE)
|
||||
// Update camera position for selected mode
|
||||
// Camera mode: CAMERA_FREE, CAMERA_FIRST_PERSON, CAMERA_THIRD_PERSON, CAMERA_ORBITAL or CUSTOM
|
||||
void UpdateCamera(Camera *camera, int mode)
|
||||
{
|
||||
Vector2 mousePositionDelta = GetMouseDelta();
|
||||
|
||||
bool moveInWorldPlane = ((mode == CAMERA_FIRST_PERSON) || (mode == CAMERA_THIRD_PERSON));
|
||||
bool rotateAroundTarget = ((mode == CAMERA_THIRD_PERSON) || (mode == CAMERA_ORBITAL));
|
||||
bool lockView = ((mode == CAMERA_FREE) || (mode == CAMERA_FIRST_PERSON) || (mode == CAMERA_THIRD_PERSON) || (mode == CAMERA_ORBITAL));
|
||||
bool rotateUp = false;
|
||||
|
||||
// Camera speeds based on frame time
|
||||
float cameraMoveSpeed = CAMERA_MOVE_SPEED*GetFrameTime();
|
||||
float cameraRotationSpeed = CAMERA_ROTATION_SPEED*GetFrameTime();
|
||||
float cameraPanSpeed = CAMERA_PAN_SPEED*GetFrameTime();
|
||||
float cameraOrbitalSpeed = CAMERA_ORBITAL_SPEED*GetFrameTime();
|
||||
|
||||
if (mode == CAMERA_CUSTOM) {}
|
||||
else if (mode == CAMERA_ORBITAL)
|
||||
{
|
||||
Matrix rotation = MatrixRotate(GetCameraUp(camera), cameraOrbitalSpeed);
|
||||
Vector3 view = Vector3Subtract(camera->position, camera->target);
|
||||
view = Vector3Transform(view, rotation);
|
||||
camera->position = Vector3Add(camera->target, view);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Camera rotation
|
||||
if (IsKeyDown(KEY_DOWN)) CameraPitch(camera, -cameraRotationSpeed, lockView, rotateAroundTarget, rotateUp);
|
||||
if (IsKeyDown(KEY_UP)) CameraPitch(camera, cameraRotationSpeed, lockView, rotateAroundTarget, rotateUp);
|
||||
if (IsKeyDown(KEY_RIGHT)) CameraYaw(camera, -cameraRotationSpeed, rotateAroundTarget);
|
||||
if (IsKeyDown(KEY_LEFT)) CameraYaw(camera, cameraRotationSpeed, rotateAroundTarget);
|
||||
if (IsKeyDown(KEY_Q)) CameraRoll(camera, -cameraRotationSpeed);
|
||||
if (IsKeyDown(KEY_E)) CameraRoll(camera, cameraRotationSpeed);
|
||||
|
||||
// Camera movement
|
||||
// Camera pan (for CAMERA_FREE)
|
||||
if ((mode == CAMERA_FREE) && (IsMouseButtonDown(MOUSE_BUTTON_MIDDLE)))
|
||||
{
|
||||
const Vector2 mouseDelta = GetMouseDelta();
|
||||
if (mouseDelta.x > 0.0f) CameraMoveRight(camera, cameraPanSpeed, moveInWorldPlane);
|
||||
if (mouseDelta.x < 0.0f) CameraMoveRight(camera, -cameraPanSpeed, moveInWorldPlane);
|
||||
if (mouseDelta.y > 0.0f) CameraMoveUp(camera, -cameraPanSpeed);
|
||||
if (mouseDelta.y < 0.0f) CameraMoveUp(camera, cameraPanSpeed);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Mouse support
|
||||
CameraYaw(camera, -mousePositionDelta.x*CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
|
||||
CameraPitch(camera, -mousePositionDelta.y*CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
|
||||
}
|
||||
|
||||
// Keyboard support
|
||||
if (IsKeyDown(KEY_W)) CameraMoveForward(camera, cameraMoveSpeed, moveInWorldPlane);
|
||||
if (IsKeyDown(KEY_A)) CameraMoveRight(camera, -cameraMoveSpeed, moveInWorldPlane);
|
||||
if (IsKeyDown(KEY_S)) CameraMoveForward(camera, -cameraMoveSpeed, moveInWorldPlane);
|
||||
if (IsKeyDown(KEY_D)) CameraMoveRight(camera, cameraMoveSpeed, moveInWorldPlane);
|
||||
|
||||
// Gamepad movement
|
||||
if (IsGamepadAvailable(0))
|
||||
{
|
||||
// Gamepad controller support
|
||||
CameraYaw(camera, -(GetGamepadAxisMovement(0, GAMEPAD_AXIS_RIGHT_X)*2)*CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
|
||||
CameraPitch(camera, -(GetGamepadAxisMovement(0, GAMEPAD_AXIS_RIGHT_Y)*2)*CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
|
||||
|
||||
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_Y) <= -0.25f) CameraMoveForward(camera, cameraMoveSpeed, moveInWorldPlane);
|
||||
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_X) <= -0.25f) CameraMoveRight(camera, -cameraMoveSpeed, moveInWorldPlane);
|
||||
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_Y) >= 0.25f) CameraMoveForward(camera, -cameraMoveSpeed, moveInWorldPlane);
|
||||
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_X) >= 0.25f) CameraMoveRight(camera, cameraMoveSpeed, moveInWorldPlane);
|
||||
}
|
||||
|
||||
if (mode == CAMERA_FREE)
|
||||
{
|
||||
if (IsKeyDown(KEY_SPACE)) CameraMoveUp(camera, cameraMoveSpeed);
|
||||
if (IsKeyDown(KEY_LEFT_CONTROL)) CameraMoveUp(camera, -cameraMoveSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
if ((mode == CAMERA_THIRD_PERSON) || (mode == CAMERA_ORBITAL) || (mode == CAMERA_FREE))
|
||||
{
|
||||
// Zoom target distance
|
||||
CameraMoveToTarget(camera, -GetMouseWheelMove());
|
||||
if (IsKeyPressed(KEY_KP_SUBTRACT)) CameraMoveToTarget(camera, 2.0f);
|
||||
if (IsKeyPressed(KEY_KP_ADD)) CameraMoveToTarget(camera, -2.0f);
|
||||
}
|
||||
}
|
||||
#endif // !RCAMERA_STANDALONE
|
||||
|
||||
// Update camera movement, movement/rotation values should be provided by user
|
||||
void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, float zoom)
|
||||
{
|
||||
// Required values
|
||||
// movement.x - Move forward/backward
|
||||
// movement.y - Move right/left
|
||||
// movement.z - Move up/down
|
||||
// rotation.x - yaw
|
||||
// rotation.y - pitch
|
||||
// rotation.z - roll
|
||||
// zoom - Move towards target
|
||||
|
||||
bool lockView = true;
|
||||
bool rotateAroundTarget = false;
|
||||
bool rotateUp = false;
|
||||
bool moveInWorldPlane = true;
|
||||
|
||||
// Camera rotation
|
||||
CameraPitch(camera, -rotation.y*DEG2RAD, lockView, rotateAroundTarget, rotateUp);
|
||||
CameraYaw(camera, -rotation.x*DEG2RAD, rotateAroundTarget);
|
||||
CameraRoll(camera, rotation.z*DEG2RAD);
|
||||
|
||||
// Camera movement
|
||||
CameraMoveForward(camera, movement.x, moveInWorldPlane);
|
||||
CameraMoveRight(camera, movement.y, moveInWorldPlane);
|
||||
CameraMoveUp(camera, movement.z);
|
||||
|
||||
// Zoom target distance
|
||||
CameraMoveToTarget(camera, zoom);
|
||||
}
|
||||
|
||||
#endif // RCAMERA_IMPLEMENTATION
|
||||
5421
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/rlgl.h
Normal file
5421
.zig-cache/o/0cb472c14c1ac56695fea882facb905b/rlgl.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
.zig-cache/o/0de4590f4d43fe36199ba9809e5bbed7/rshapes.o
Normal file
BIN
.zig-cache/o/0de4590f4d43fe36199ba9809e5bbed7/rshapes.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/0e4969a4f2fc023a1e0b8587beaf41e2/zig-frugg
Executable file
BIN
.zig-cache/o/0e4969a4f2fc023a1e0b8587beaf41e2/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/1277cf9d634d29f6dddb84651b997d73/rmodels.o
Normal file
BIN
.zig-cache/o/1277cf9d634d29f6dddb84651b997d73/rmodels.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/1345aeb7e3e4c785c0218565c9589517/rtext.o
Normal file
BIN
.zig-cache/o/1345aeb7e3e4c785c0218565c9589517/rtext.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/1451ba024b0e0a532de0c2769ad92504/zig-frugg
Executable file
BIN
.zig-cache/o/1451ba024b0e0a532de0c2769ad92504/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/1b22c10af03f9fdf2f0dde4bf9e44e7b/raudio.o
Normal file
BIN
.zig-cache/o/1b22c10af03f9fdf2f0dde4bf9e44e7b/raudio.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/1fa98ffbf0c61b2d24fcc6916194e5f5/rcore.o
Normal file
BIN
.zig-cache/o/1fa98ffbf0c61b2d24fcc6916194e5f5/rcore.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/30d6e8621de962d2180df51c6cbc56ac/raudio.o
Normal file
BIN
.zig-cache/o/30d6e8621de962d2180df51c6cbc56ac/raudio.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/326e1b2ddee57e9e47113b3358a012fe/rshapes.o
Normal file
BIN
.zig-cache/o/326e1b2ddee57e9e47113b3358a012fe/rshapes.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/3a56695e57c7d2f4d024bd36d8b6135a/build
Executable file
BIN
.zig-cache/o/3a56695e57c7d2f4d024bd36d8b6135a/build
Executable file
Binary file not shown.
BIN
.zig-cache/o/3f0653ee5084c26df38be3e5c616cdf5/raygui.o
Normal file
BIN
.zig-cache/o/3f0653ee5084c26df38be3e5c616cdf5/raygui.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/4a370a33e939829d2b1c9523c229452b/rshapes.o
Normal file
BIN
.zig-cache/o/4a370a33e939829d2b1c9523c229452b/rshapes.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/4f7c5535a0b4e6b31d45505b8251a4a7/rcore.o
Normal file
BIN
.zig-cache/o/4f7c5535a0b4e6b31d45505b8251a4a7/rcore.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/573dd74600dde178c50b3811d959b70f/rglfw.o
Normal file
BIN
.zig-cache/o/573dd74600dde178c50b3811d959b70f/rglfw.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/640116ea8730bed096f3dd9e855a739d/rglfw.o
Normal file
BIN
.zig-cache/o/640116ea8730bed096f3dd9e855a739d/rglfw.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/6774b2f25595240bb469a8439790aef3/rcore.o
Normal file
BIN
.zig-cache/o/6774b2f25595240bb469a8439790aef3/rcore.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/6b812c08cc864a4b2aaeff0bf41e5a67/rmodels.o
Normal file
BIN
.zig-cache/o/6b812c08cc864a4b2aaeff0bf41e5a67/rmodels.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/6e2082e860b9dc9fcf6c10636be493fe/rtext.o
Normal file
BIN
.zig-cache/o/6e2082e860b9dc9fcf6c10636be493fe/rtext.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/6ec34c0c056e76c2d2627e29e3d2e4ef/zig-frugg
Executable file
BIN
.zig-cache/o/6ec34c0c056e76c2d2627e29e3d2e4ef/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/736d536f0b7b830d5909011eeec08887/zig-frugg
Executable file
BIN
.zig-cache/o/736d536f0b7b830d5909011eeec08887/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/7fe4a7cbe317740378708968ee1b85db/rtext.o
Normal file
BIN
.zig-cache/o/7fe4a7cbe317740378708968ee1b85db/rtext.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/84a662b3871c0d89148d0a9c9f8bd252/rtext.o
Normal file
BIN
.zig-cache/o/84a662b3871c0d89148d0a9c9f8bd252/rtext.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/85c6bf762d93ccde7e0b5a5f29eebbd1/libraylib.a
Normal file
BIN
.zig-cache/o/85c6bf762d93ccde7e0b5a5f29eebbd1/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/85f2a5a927c45861ced76f7fcfbf8858/zig-frugg
Executable file
BIN
.zig-cache/o/85f2a5a927c45861ced76f7fcfbf8858/zig-frugg
Executable file
Binary file not shown.
@ -0,0 +1,50 @@
|
||||
pub const packages = struct {
|
||||
pub const @"N-V-__8AAHvybwBw1kyBGn0BW_s1RqIpycNjLf_XbE-fpLUF" = struct {
|
||||
pub const build_root = "/home/bd/Projects/zig/zig-frugg/zig-pkg/N-V-__8AAHvybwBw1kyBGn0BW_s1RqIpycNjLf_XbE-fpLUF";
|
||||
pub const deps: []const struct { []const u8, []const u8 } = &.{};
|
||||
};
|
||||
pub const @"N-V-__8AAJl1DwBezhYo_VE6f53mPVm00R-Fk28NPW7P14EQ" = struct {
|
||||
pub const build_root = "/home/bd/Projects/zig/zig-frugg/zig-pkg/N-V-__8AAJl1DwBezhYo_VE6f53mPVm00R-Fk28NPW7P14EQ";
|
||||
pub const deps: []const struct { []const u8, []const u8 } = &.{};
|
||||
};
|
||||
pub const @"N-V-__8AALShqgXkvqYU6f__FrA22SMWmi2TXCJjNTO1m8XJ" = struct {
|
||||
pub const available = false;
|
||||
};
|
||||
pub const @"raylib-6.0.0-whq8uCSwLgWWeF3ec3dbG6Rr36SLFL-s2WJ1Q_2E22Bb" = struct {
|
||||
pub const build_root = "/home/bd/Projects/zig/zig-frugg/zig-pkg/raylib-6.0.0-whq8uCSwLgWWeF3ec3dbG6Rr36SLFL-s2WJ1Q_2E22Bb";
|
||||
pub const build_zig = @import("raylib-6.0.0-whq8uCSwLgWWeF3ec3dbG6Rr36SLFL-s2WJ1Q_2E22Bb");
|
||||
pub const deps: []const struct { []const u8, []const u8 } = &.{
|
||||
.{ "xcode_frameworks", "N-V-__8AALShqgXkvqYU6f__FrA22SMWmi2TXCJjNTO1m8XJ" },
|
||||
.{ "raygui", "N-V-__8AAHvybwBw1kyBGn0BW_s1RqIpycNjLf_XbE-fpLUF" },
|
||||
.{ "emsdk", "N-V-__8AAJl1DwBezhYo_VE6f53mPVm00R-Fk28NPW7P14EQ" },
|
||||
.{ "zemscripten", "zemscripten-0.2.0-dev-sRlDqApRAACspTbAZnuNKWIzfWzSYgYkb2nWAXZ-tqqt" },
|
||||
};
|
||||
};
|
||||
pub const @"raylib_zig-6.0.0-KE8REMNkBQCpxwqT9ubVNf5aEOcWRUVIaH2sgt_sDDoZ" = struct {
|
||||
pub const build_root = "/home/bd/Projects/zig/zig-frugg/zig-pkg/raylib_zig-6.0.0-KE8REMNkBQCpxwqT9ubVNf5aEOcWRUVIaH2sgt_sDDoZ";
|
||||
pub const build_zig = @import("raylib_zig-6.0.0-KE8REMNkBQCpxwqT9ubVNf5aEOcWRUVIaH2sgt_sDDoZ");
|
||||
pub const deps: []const struct { []const u8, []const u8 } = &.{
|
||||
.{ "raylib", "raylib-6.0.0-whq8uCSwLgWWeF3ec3dbG6Rr36SLFL-s2WJ1Q_2E22Bb" },
|
||||
.{ "raygui", "N-V-__8AAHvybwBw1kyBGn0BW_s1RqIpycNjLf_XbE-fpLUF" },
|
||||
.{ "emsdk", "N-V-__8AAJl1DwBezhYo_VE6f53mPVm00R-Fk28NPW7P14EQ" },
|
||||
.{ "zemscripten", "zemscripten-0.2.0-dev-sRlDqEtQAAB_1tPdqJsxQIqXxvvklcFu6VN5p6ANy8hw" },
|
||||
};
|
||||
};
|
||||
pub const @"zemscripten-0.2.0-dev-sRlDqApRAACspTbAZnuNKWIzfWzSYgYkb2nWAXZ-tqqt" = struct {
|
||||
pub const build_root = "/home/bd/Projects/zig/zig-frugg/zig-pkg/zemscripten-0.2.0-dev-sRlDqApRAACspTbAZnuNKWIzfWzSYgYkb2nWAXZ-tqqt";
|
||||
pub const build_zig = @import("zemscripten-0.2.0-dev-sRlDqApRAACspTbAZnuNKWIzfWzSYgYkb2nWAXZ-tqqt");
|
||||
pub const deps: []const struct { []const u8, []const u8 } = &.{
|
||||
};
|
||||
};
|
||||
pub const @"zemscripten-0.2.0-dev-sRlDqEtQAAB_1tPdqJsxQIqXxvvklcFu6VN5p6ANy8hw" = struct {
|
||||
pub const build_root = "/home/bd/Projects/zig/zig-frugg/zig-pkg/zemscripten-0.2.0-dev-sRlDqEtQAAB_1tPdqJsxQIqXxvvklcFu6VN5p6ANy8hw";
|
||||
pub const build_zig = @import("zemscripten-0.2.0-dev-sRlDqEtQAAB_1tPdqJsxQIqXxvvklcFu6VN5p6ANy8hw");
|
||||
pub const deps: []const struct { []const u8, []const u8 } = &.{
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pub const root_deps: []const struct { []const u8, []const u8 } = &.{
|
||||
.{ "raylib_zig", "raylib_zig-6.0.0-KE8REMNkBQCpxwqT9ubVNf5aEOcWRUVIaH2sgt_sDDoZ" },
|
||||
.{ "emsdk", "N-V-__8AAJl1DwBezhYo_VE6f53mPVm00R-Fk28NPW7P14EQ" },
|
||||
};
|
||||
BIN
.zig-cache/o/87e332cbf9ae5fb65f1e4c257a9d089e/rtext.o
Normal file
BIN
.zig-cache/o/87e332cbf9ae5fb65f1e4c257a9d089e/rtext.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/8ab2c427889f9ecdf61c51f389747de8/rtextures.o
Normal file
BIN
.zig-cache/o/8ab2c427889f9ecdf61c51f389747de8/rtextures.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/8ff27265e020c9e87824b70e93d410c2/rglfw.o
Normal file
BIN
.zig-cache/o/8ff27265e020c9e87824b70e93d410c2/rglfw.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/90be52b94751e3e6af326a2ac00021af/raudio.o
Normal file
BIN
.zig-cache/o/90be52b94751e3e6af326a2ac00021af/raudio.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/9779bba265b40efa724f390368d3bc6e/rmodels.o
Normal file
BIN
.zig-cache/o/9779bba265b40efa724f390368d3bc6e/rmodels.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/9bcc0ae458ada236379cb9bc864ee426/rglfw.o
Normal file
BIN
.zig-cache/o/9bcc0ae458ada236379cb9bc864ee426/rglfw.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/9c49d8b1d1e07ead8e8d743629083fc4/libraylib.a
Normal file
BIN
.zig-cache/o/9c49d8b1d1e07ead8e8d743629083fc4/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/9d02e5b9a62e18721ab13af551bf3c3e/raygui.o
Normal file
BIN
.zig-cache/o/9d02e5b9a62e18721ab13af551bf3c3e/raygui.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/a2a7408a4926cb3c459ba172cf03ca20/zig-frugg
Executable file
BIN
.zig-cache/o/a2a7408a4926cb3c459ba172cf03ca20/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/a3694f4287bafd874fd7f54664d82064/libraylib.a
Normal file
BIN
.zig-cache/o/a3694f4287bafd874fd7f54664d82064/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/a7ddc32124282af131f5bf2545810a65/zig-frugg
Executable file
BIN
.zig-cache/o/a7ddc32124282af131f5bf2545810a65/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/a7ddc32124282af131f5bf2545810a65/zig-frugg_zcu.o
Normal file
BIN
.zig-cache/o/a7ddc32124282af131f5bf2545810a65/zig-frugg_zcu.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/bca0ab7eb210d80fc10ccc915422527a/rmodels.o
Normal file
BIN
.zig-cache/o/bca0ab7eb210d80fc10ccc915422527a/rmodels.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/bdb2d59080d5abddc63b93fd4d6a75b3/rtextures.o
Normal file
BIN
.zig-cache/o/bdb2d59080d5abddc63b93fd4d6a75b3/rtextures.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/c3c300c09d8adaf6da48ba71377116c0/rcore.o
Normal file
BIN
.zig-cache/o/c3c300c09d8adaf6da48ba71377116c0/rcore.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/c4f083f6189abd47d10046bc9537f9e4/libraylib.a
Normal file
BIN
.zig-cache/o/c4f083f6189abd47d10046bc9537f9e4/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/c655dfdc50855fa632b92da24c7e0244/libraylib.a
Normal file
BIN
.zig-cache/o/c655dfdc50855fa632b92da24c7e0244/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/c722549b68481b413c4b915d654252c2/rcore.o
Normal file
BIN
.zig-cache/o/c722549b68481b413c4b915d654252c2/rcore.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/caaaa30966a4c76892c1431de36d93a8/raudio.o
Normal file
BIN
.zig-cache/o/caaaa30966a4c76892c1431de36d93a8/raudio.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/d04603ca53bcde6f93bbc236ad097c96/raygui.o
Normal file
BIN
.zig-cache/o/d04603ca53bcde6f93bbc236ad097c96/raygui.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/d177d6b2dbd3c233a5f6630ea921dffb/rmodels.o
Normal file
BIN
.zig-cache/o/d177d6b2dbd3c233a5f6630ea921dffb/rmodels.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/d83e58cf6952fe5ecdfd38d635443566/rtextures.o
Normal file
BIN
.zig-cache/o/d83e58cf6952fe5ecdfd38d635443566/rtextures.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/d8752287b129f92d3a80a26e3554dca6/rtextures.o
Normal file
BIN
.zig-cache/o/d8752287b129f92d3a80a26e3554dca6/rtextures.o
Normal file
Binary file not shown.
2
.zig-cache/o/da8bf749420ef1065612c05b8ed536b3/raygui.c
Normal file
2
.zig-cache/o/da8bf749420ef1065612c05b8ed536b3/raygui.c
Normal file
@ -0,0 +1,2 @@
|
||||
#define RAYGUI_IMPLEMENTATION
|
||||
#include "raygui.h"
|
||||
BIN
.zig-cache/o/ddf708bd3f3fea0f6e64c2c67e0ee101/rglfw.o
Normal file
BIN
.zig-cache/o/ddf708bd3f3fea0f6e64c2c67e0ee101/rglfw.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/df0247a6ca9ea9855ed8986a1fbaf408/build
Executable file
BIN
.zig-cache/o/df0247a6ca9ea9855ed8986a1fbaf408/build
Executable file
Binary file not shown.
BIN
.zig-cache/o/dfdebf62c113e0e7e47e1162be57e2c1/build
Executable file
BIN
.zig-cache/o/dfdebf62c113e0e7e47e1162be57e2c1/build
Executable file
Binary file not shown.
BIN
.zig-cache/o/e2cba52daa08e24f7573b84f09170f7f/raygui.o
Normal file
BIN
.zig-cache/o/e2cba52daa08e24f7573b84f09170f7f/raygui.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/e5a167f53f5acf236c40d0ee8261d058/zig-frugg
Executable file
BIN
.zig-cache/o/e5a167f53f5acf236c40d0ee8261d058/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/e5cab65254bb56ad985cd6821103f1d3/rshapes.o
Normal file
BIN
.zig-cache/o/e5cab65254bb56ad985cd6821103f1d3/rshapes.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/e75ef3248d9aad025a6d4c4184098a8b/zig-frugg
Executable file
BIN
.zig-cache/o/e75ef3248d9aad025a6d4c4184098a8b/zig-frugg
Executable file
Binary file not shown.
BIN
.zig-cache/o/ed67d2c7d9e8fb100477d452f6e547cd/libraylib.a
Normal file
BIN
.zig-cache/o/ed67d2c7d9e8fb100477d452f6e547cd/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/f1bbe9e120595b9f281561b036977387/libraylib.a
Normal file
BIN
.zig-cache/o/f1bbe9e120595b9f281561b036977387/libraylib.a
Normal file
Binary file not shown.
BIN
.zig-cache/o/f2863d5aa374de298dfa414727be3c0c/raudio.o
Normal file
BIN
.zig-cache/o/f2863d5aa374de298dfa414727be3c0c/raudio.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/f75cd42c175d6492038227e671f12e79/rshapes.o
Normal file
BIN
.zig-cache/o/f75cd42c175d6492038227e671f12e79/rshapes.o
Normal file
Binary file not shown.
BIN
.zig-cache/o/fccf7bce91428358dbe9d305da3003b1/rtextures.o
Normal file
BIN
.zig-cache/o/fccf7bce91428358dbe9d305da3003b1/rtextures.o
Normal file
Binary file not shown.
Reference in New Issue
Block a user