summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/zombies.exebin1996747 -> 1996787 bytes
-rw-r--r--src/game.c7
-rw-r--r--src/players.c30
3 files changed, 19 insertions, 18 deletions
diff --git a/build/zombies.exe b/build/zombies.exe
index 2d3722b..80a9e1f 100644
--- a/build/zombies.exe
+++ b/build/zombies.exe
Binary files differ
diff --git a/src/game.c b/src/game.c
index 90ce7a5..2222b86 100644
--- a/src/game.c
+++ b/src/game.c
@@ -337,6 +337,7 @@ void update_client(platform_window* window) {
}
static void move_camera(platform_window* window) {
+ static camera _camera_buffer;
float speedx = window->width / 1000.0f;
float diffx = (_next_camera_pos.x - _global_camera.x);
if (abs(diffx) <= speedx) diffx = 0.0f;
@@ -353,8 +354,10 @@ static void move_camera(platform_window* window) {
float dirx = diffx/length;
float diry = diffy/length;
- _global_camera.x += dirx*speedx;
- _global_camera.y += diry*speedy;
+ _camera_buffer.x += dirx*speedx;
+ _camera_buffer.y += diry*speedy;
+ _global_camera.x = (int)_camera_buffer.x;
+ _global_camera.y = (int)_camera_buffer.y;
//_global_camera.x = _next_camera_pos.x;
//_global_camera.y = _next_camera_pos.y;
}
diff --git a/src/players.c b/src/players.c
index 8e6f14e..cd92566 100644
--- a/src/players.c
+++ b/src/players.c
@@ -210,27 +210,25 @@ void take_player_input(platform_window* window) {
add_message_to_outgoing_queuex(create_protocol_user_look(player_id, gun_offset_x, gun_offset_y), *global_state.client);
}
- // shooting
- if (is_left_down()) {
- float dirx = (_global_mouse.x - (window->width/2));
- float diry = (_global_mouse.y - (window->height/2));
+ {
+ box box = get_render_box_of_square(window, (vec3f){p->playerx, p->playery, p->height}, (vec3f){1.0,1.0,1.0f});
+ float dirx = (_global_mouse.x - (box.tl_u.x - _global_camera.x));
+ float diry = (_global_mouse.y - (box.tl_u.y - _global_camera.y));
double length = sqrt(dirx * dirx + diry * diry);
dirx /= length;
diry /= length;
- network_message message = create_protocol_user_shoot(player_id, dirx, diry);
- add_message_to_outgoing_queuex(message, *global_state.client);
- }
+ // shooting
+ if (is_left_down()) {
+ network_message message = create_protocol_user_shoot(player_id, dirx, diry);
+ add_message_to_outgoing_queuex(message, *global_state.client);
+ }
- // throwing
- if (is_right_clicked()) {
- float dirx = (_global_mouse.x - (window->width/2));
- float diry = (_global_mouse.y - (window->height/2));
- double length = sqrt(dirx * dirx + diry * diry);
- dirx /= length;
- diry /= length;
-
- add_message_to_outgoing_queuex(create_protocol_user_throw(player_id, dirx, diry, THROWABLE_GRENADE), *global_state.client);
+ // throwing
+ if (is_right_clicked()) {
+ network_message message = create_protocol_user_throw(player_id, dirx, diry, THROWABLE_GRENADE);
+ add_message_to_outgoing_queuex(message, *global_state.client);
+ }
}
}