mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-16 08:18:14 +00:00
Redesigned UpdateCamera() function
Splitted into: UpdateCamera() // Update only camera UpdateCameraPlayer() // Update camera and player position
This commit is contained in:
20
src/camera.c
20
src/camera.c
@@ -162,14 +162,24 @@ void SetCameraMode(int mode)
|
|||||||
cameraMode = mode;
|
cameraMode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update camera with position
|
// Update camera (player position is ignored)
|
||||||
// TODO: I don't like how this function works right now... not clear enough...
|
void UpdateCamera(Camera *camera)
|
||||||
Camera UpdateCamera(Vector3 *position)
|
|
||||||
{
|
{
|
||||||
// Calculate camera
|
Vector3 position = { 0, 0, 0 };
|
||||||
|
|
||||||
|
// Process internal camera and player position (if required)
|
||||||
|
if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, &position);
|
||||||
|
|
||||||
|
*camera = internalCamera;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update camera and player position (1st person and 3rd person cameras)
|
||||||
|
void UpdateCameraPlayer(Camera *camera, Vector3 *position)
|
||||||
|
{
|
||||||
|
// Process internal camera and player position (if required)
|
||||||
if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, position);
|
if (cameraMode != CAMERA_CUSTOM) ProcessCamera(&internalCamera, position);
|
||||||
|
|
||||||
return internalCamera;
|
*camera = internalCamera;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set internal camera position
|
// Set internal camera position
|
||||||
|
@@ -76,7 +76,8 @@ extern "C" { // Prevents name mangling of functions
|
|||||||
// Module Functions Declaration
|
// Module Functions Declaration
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
void SetCameraMode(int mode); // Set camera mode (multiple camera modes available)
|
void SetCameraMode(int mode); // Set camera mode (multiple camera modes available)
|
||||||
Camera UpdateCamera(Vector3 *position); // Update camera and player position (1st person and 3rd person cameras)
|
void UpdateCamera(Camera *camera); // Update camera (player position is ignored)
|
||||||
|
void UpdateCameraPlayer(Camera *camera, Vector3 *position); // Update camera and player position (1st person and 3rd person cameras)
|
||||||
|
|
||||||
void SetCameraPosition(Vector3 position); // Set internal camera position
|
void SetCameraPosition(Vector3 position); // Set internal camera position
|
||||||
void SetCameraTarget(Vector3 target); // Set internal camera target
|
void SetCameraTarget(Vector3 target); // Set internal camera target
|
||||||
|
Reference in New Issue
Block a user