summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/input.c2
-rw-r--r--src/main.c18
-rw-r--r--src/player.c17
-rw-r--r--src/render.c29
-rw-r--r--src/render.h2
5 files changed, 47 insertions, 21 deletions
diff --git a/src/input.c b/src/input.c
index 5a43ae5..3661492 100644
--- a/src/input.c
+++ b/src/input.c
@@ -18,7 +18,6 @@ void updateController()
held_p2 = joypad_get_buttons_held(JOYPAD_PORT_2);
inputs_p2 = joypad_get_inputs(JOYPAD_PORT_2);
-
float x = inputs_p1.stick_x;
float y = inputs_p1.stick_y;
@@ -138,4 +137,5 @@ void updateController()
inputs_p2.stick_x = x / 55.0f * 127.0f;
inputs_p2.stick_y = y / 55.0f * 127.0f;
+
}
diff --git a/src/main.c b/src/main.c
index 3f26d88..44cca12 100644
--- a/src/main.c
+++ b/src/main.c
@@ -61,8 +61,8 @@ World world = {
.color = BLUE,
},
{
- .position = { 1, 1, 1 },
- .direction = { 1, 0, 0 },
+ .position = { 2, 0, 0 },
+ .direction = { -1, 0, 0 },
.speed = 1.0f/60.0f,
.color = RED,
}
@@ -117,7 +117,7 @@ int main(void)
//controller_read(&controllers);
movePlayers();
- //camera = lookThroughPlayer(camera, world.players[0], world.players[1]);
+ camera = lookThroughPlayer(camera, world.players[0], world.players[1]);
// Update
//----------------------------------------------------------------------------------
@@ -130,13 +130,13 @@ int main(void)
ClearBackground(DARKGRAY);
- BeginScissorMode(320/2, 0, 320/2, 240);
- rlViewport(320/2, 0, 320/2, 240);
- renderWorld(&world, &camera);
- EndScissorMode();
BeginScissorMode(0, 0, 320/2, 240);
rlViewport(0, 0, 320/2, 240);
- renderWorld(&world, &camera2);
+ renderWorld(&world, camera);
+ EndScissorMode();
+ BeginScissorMode(320/2, 0, 320/2, 240);
+ rlViewport(320/2, 0, 320/2, 240);
+ renderWorld(&world, camera2);
EndScissorMode();
rlViewport(0, 0, 320, 240);
@@ -148,7 +148,7 @@ int main(void)
updateController();
- char text[500];
+ char text[50];
sprintf(text, "Joystick %d,%d", inputs_p1.stick_x, inputs_p1.stick_y);
DrawText(text, 10, 30, 12, GREEN);
DrawFPS(10, 10);
diff --git a/src/player.c b/src/player.c
index 4616fbd..ad8967b 100644
--- a/src/player.c
+++ b/src/player.c
@@ -13,16 +13,19 @@ drawPlayer(Player *player)
Camera
lookThroughPlayer(Camera camera, Player player, Player player2)
{
- camera.position = player.position;
- //camera.target.x = player.position.x + player.direction.x;
- //camera.target.y = player.position.y + player.direction.y;
- //camera.target.z = player.position.z + player.direction.z;
+ //camera.position = player.position;
+ camera.position.x = player.position.x - (player.direction.x * 2);
+ camera.position.y = player.position.y - (player.direction.y * 2);
+ camera.position.z = player.position.z - (player.direction.z * 2);
+ camera.target.x = player.position.x;
+ camera.target.y = player.position.y;
+ camera.target.z = player.position.z;
//camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };
//camera.target = player2.position;
//camera.target = (Vector3){
// 0, 0, 0
//};
- camera.fovy = 45.0f;
+ camera.fovy = 90.0f;
camera.projection = CAMERA_PERSPECTIVE;
return camera;
}
@@ -41,10 +44,10 @@ movePlayers(void)
if(distance != 0)
{
world.players[0].direction.x = x / distance;
- world.players[0].direction.y = -y / distance;
+ world.players[0].direction.y = y / distance;
}
- world.players[1].direction.x = inputs_p2.stick_x / 126.0f;
+ world.players[1].direction.y = inputs_p2.stick_x / 126.0f;
world.players[1].direction.z = -inputs_p2.stick_y / 126.0f;
world.players[0].position.x += world.players[0].direction.x * world.players[0].speed;
diff --git a/src/render.c b/src/render.c
index a0bfa8e..9188b6d 100644
--- a/src/render.c
+++ b/src/render.c
@@ -1,11 +1,34 @@
#include "render.h"
+#include "rlgl.h"
void
-renderWorld(World* world, Camera* camera)
+renderWorld(World* world, Camera camera)
{
- customBeginMode3D(*camera);
- DrawGrid(100, 1);
+ //Vector3 lookat = camera.target;
+ //camera.target = (Vector3){0};
+ //camera.position.x -= lookat.x;
+ //camera.position.y -= lookat.y;
+ //camera.position.z -= lookat.z;
+ customBeginMode3D(camera);
+ //rlPushMatrix();
+ //rlTranslatef(
+ // -lookat.x,
+ // -lookat.y,
+ // -lookat.z
+ // );
drawPlayer(&world->players[0]);
drawPlayer(&world->players[1]);
+
+ for(int i = 0; i < 11; ++i){
+ //DrawCube((Vector3){i,3,3}, 0.5f, 0.5f, 0.5f, YELLOW);
+ //DrawCube((Vector3){i,4,3}, 0.5f, 0.5f, 0.5f, DARKPURPLE);
+ //DrawCube((Vector3){i,5,3}, 0.5f, 0.5f, 0.5f, YELLOW);
+ //DrawCube((Vector3){i,3,4}, 0.5f, 0.5f, 0.5f, MAGENTA);
+ //DrawCube((Vector3){i,4,4}, 0.5f, 0.5f, 0.5f, GREEN);
+ DrawCube((Vector3){i,5,4}, 0.5f, 0.5f, 0.5f, MAGENTA);
+ DrawLineV((Vector2){i, 0}, (Vector2){i, 10}, BLACK);
+ DrawLineV((Vector2){0, i}, (Vector2){10, i}, BLACK);
+ }
+ //rlPopMatrix();
EndMode3D();
}
diff --git a/src/render.h b/src/render.h
index 7a16c83..7e066c4 100644
--- a/src/render.h
+++ b/src/render.h
@@ -6,7 +6,7 @@
#include "world.h"
void
-renderWorld(World* world, Camera* camera);
+renderWorld(World* world, Camera camera);
#endif