diff --git a/bin/back b/bin/back index 398539b..1de4c39 100755 Binary files a/bin/back and b/bin/back differ diff --git a/obj/main.o b/obj/main.o index 8989f27..1839a40 100644 Binary files a/obj/main.o and b/obj/main.o differ diff --git a/src/main.c b/src/main.c index 22ad756..62f800c 100644 --- a/src/main.c +++ b/src/main.c @@ -41,21 +41,16 @@ bool pPress = false; unsigned int textures[16]; bool paused = false; +bool hardReset = true; +double oldx, oldy, oldz; +int oldchx, oldchy; void reset_everything(GLFWwindow *window, int count, char* folder) { - /*hashtbl_free(visited); - free_proj(); - free_interf(); - free_pool(); - - init_csts(); - init_hashtbl(); - init_interf(window); - build_all_menus(); - init_ent_generator(30); - init_proj(); - parse_rooms(count, folder); - interface_set(-1);*/ + oldx = camx; + oldy = camy; + oldz = camz; + oldchx = player_chx; + oldchy = player_chy; camx = /*2*room_width*player_chx+*/0.0; camy = 5.0; @@ -116,6 +111,16 @@ void reset_everything(GLFWwindow *window, int count, char* folder) { generate_nearby_chunks(1); printf("-------------------------------- Done 5 --------------------------------\n"); + + if(!hardReset) { + camx = oldx; + camy = oldy; + camz = oldz; + player_chx = oldchx; + player_chy = oldchy; + generate_nearby_chunks(1); + current_room = hashtbl_find_opt(visited, player_chx, player_chy); + } } void processInput(GLFWwindow *window, float dtime) { @@ -250,6 +255,19 @@ void processInput(GLFWwindow *window, float dtime) { if(glfwGetKey(window, GLFW_KEY_R) == GLFW_PRESS) { if(!isMenuOpen() && !rPress) { rPress = true; + hardReset = true; + //reset_everything(window, 4, "levels/level_00/"); + //reset_everything(window, 7, "levels/level_01/"); + reset_everything(window, 1, "levels/level_02/"); + } + } else { + rPress = false; + } + + if(glfwGetKey(window, GLFW_KEY_T) == GLFW_PRESS) { + if(!isMenuOpen() && !rPress) { + rPress = true; + hardReset = false; //reset_everything(window, 4, "levels/level_00/"); //reset_everything(window, 7, "levels/level_01/"); reset_everything(window, 1, "levels/level_02/");