From 0be7dc9a9e23614ac21c5324b79cb8ebcd597cd4 Mon Sep 17 00:00:00 2001 From: alistair Date: Fri, 11 Sep 2020 14:55:26 +1000 Subject: [PATCH] gameplay tweaks --- src/draw.c | 2 +- src/game.c | 4 ++-- src/game.h | 1 - src/main.c | 4 ++++ src/types.h | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/draw.c b/src/draw.c index dd627ee..0734a5e 100644 --- a/src/draw.c +++ b/src/draw.c @@ -558,12 +558,12 @@ void redraw_buffer(SDL_Renderer * ren) { if (SDL_LockMutex(player.physics->lock) == 0){ lplayer = *player.physics; + new_update_viewport(&lplayer); SDL_UnlockMutex(player.physics->lock); } else { return; } - new_update_viewport(&lplayer); static struct timespec last = {}; static struct timespec now; now = get_now_d(); diff --git a/src/game.c b/src/game.c index 2960294..e3c774e 100644 --- a/src/game.c +++ b/src/game.c @@ -233,7 +233,7 @@ player_st get_player(int x, int y) { player.physics->position.x = x; player.physics->position.y = y; player.physics->next_position = player.physics->position; - player.physics->obj_elasticity = 0.9; + player.physics->obj_elasticity = 0.5; player.physics->obj_friction = 0.2; // friction (not in use) @@ -579,7 +579,7 @@ void next_level() { destroy_physics_collection(&world.uniques_index[ROOM_W]->room->floor); destroy_environment(&world.uniques_index[ROOM_W]->room->env); - level+= 31;; + level *= 7;; get_floor_ceiling(); v = world.uniques_index[ROOM_W]->room->ceil.items[2]->collision_poly[0]; diff --git a/src/game.h b/src/game.h index 0662458..aed6d9a 100644 --- a/src/game.h +++ b/src/game.h @@ -28,7 +28,6 @@ extern void process_keydown(SDL_Keysym key); extern void process_keyup(SDL_Keysym key); extern void step(int interval); extern player_st player; -extern int level; extern long level_time; #endif diff --git a/src/main.c b/src/main.c index 7cd3eda..68ce80b 100644 --- a/src/main.c +++ b/src/main.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -88,6 +89,9 @@ int game(void) { close = 1; return 0; case SDL_KEYDOWN: + if (event.key.keysym.scancode == SDL_SCANCODE_ESCAPE) { + return 0; + } case SDL_KEYUP: case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: diff --git a/src/types.h b/src/types.h index 97bb1fc..574c5cc 100644 --- a/src/types.h +++ b/src/types.h @@ -220,7 +220,7 @@ typedef struct world GlobWorld; enum { // E_ROOM_WIDTH = 100000, - E_ROOM_WIDTH = 10000, + E_ROOM_WIDTH = 40000, E_ROOM_RES = 500, E_ROOM_TILES = E_ROOM_WIDTH / E_ROOM_RES, };