diff --git a/bin/back b/bin/back index 5cbff1b..4fc7676 100755 Binary files a/bin/back and b/bin/back differ diff --git a/obj/display.o b/obj/display.o index f6993a8..62be4d7 100644 Binary files a/obj/display.o and b/obj/display.o differ diff --git a/obj/generation.o b/obj/generation.o index def099a..d24b84d 100644 Binary files a/obj/generation.o and b/obj/generation.o differ diff --git a/obj/main.o b/obj/main.o index 8a7547b..f679bcc 100644 Binary files a/obj/main.o and b/obj/main.o differ diff --git a/src/display.c b/src/display.c index 1a1c6c2..cd341f6 100644 --- a/src/display.c +++ b/src/display.c @@ -225,4 +225,14 @@ void gl_drawData(unsigned int shaderProg) { gl_printf(shaderProg, -0.95f, 0.9f, 0.04f, 0.004f, 255-player_hp/4, player_hp/4, 0, "HP %d", player_hp); gl_printf(shaderProg, -0.95f, 0.8f, 0.04f, 0.004f, 255, 255, 0, "coins %d", coins); //gl_drawInteger(shaderProg, player_hp, -0.95f, 0.9f, 0.05f, 255-player_hp/4, player_hp/4, 0, 0.005f, 1); +} + +void read_ppm(char* filename) { + FILE* ptr = fopen(filename, "r"); + char c = fgetc(ptr); + while(c != EOF) { + printf("%c\n", c); + } + printf("\n"); + fclose(ptr); } \ No newline at end of file diff --git a/src/display.h b/src/display.h index d35addc..7588ad7 100644 --- a/src/display.h +++ b/src/display.h @@ -10,4 +10,6 @@ void init_vertices(); void gl_drawData(unsigned int shaderProg); +void read_ppm(char* filename); + #endif \ No newline at end of file diff --git a/src/generation.c b/src/generation.c index b781d6e..30406a3 100644 --- a/src/generation.c +++ b/src/generation.c @@ -224,8 +224,6 @@ void init_hashtbl() { printf("+1\n"); fflush(stdout); total_weight = 0; printf("+1\n"); fflush(stdout); - to_free = malloc(sizeof(char*)*100); // ------------------------------------------------------------------------------------------------- 100 max // - to_length = 0; } void get_number_blocks(int* ret_cubes, int* ret_tps, int* ret_ent, FILE* ptr) { @@ -665,6 +663,11 @@ void free_pool() { free(pool); } +void init_to_free() { + to_free = malloc(sizeof(char*)*100); // ------------------------------------------------------------------------------------------------- 100 max // + to_length = 0; +} + void free_to_free() { for(int k = 0; k < to_length; k++) { free(to_free[k]); diff --git a/src/generation.h b/src/generation.h index b314744..9c2f621 100644 --- a/src/generation.h +++ b/src/generation.h @@ -56,6 +56,8 @@ void generate_nearby_chunks(int render_dist) ; void free_pool(); void free_ent_generator(); + +void init_to_free(); void free_to_free(); #endif \ No newline at end of file diff --git a/src/main.c b/src/main.c index 2477efe..3561015 100644 --- a/src/main.c +++ b/src/main.c @@ -70,7 +70,6 @@ void reset_everything(GLFWwindow *window, int count, char* folder) { fflush(stdout); free_pool(); - free_to_free(); printf("-------------------------------- done 2 --------------------------------\n"); fflush(stdout); @@ -86,7 +85,20 @@ void reset_everything(GLFWwindow *window, int count, char* folder) { printf("-------------------------------- initializing rooms... --------------------------------\n"); fflush(stdout); - parse_rooms(count, folder); + char* newFolder = malloc(sizeof(char)*52); + int i = 0; + while(folder[i] != '\0') { + newFolder[i] = folder[i]; + i += 1; + } + newFolder[i] = '\0'; + + free_to_free(); + init_to_free(); + + parse_rooms(count, newFolder); + + free(newFolder); printf("-------------------------------- Done 4 --------------------------------\n"); fflush(stdout); @@ -313,6 +325,7 @@ int main_alt() { build_all_menus(); init_ent_generator(30); init_proj(); + init_to_free(); parse_rooms(7, "templates/"); // ---------------------------------------------------------------------------------------------------------------------------------------------- // @@ -531,5 +544,6 @@ int main(int argc, char** argv) { newRoomCount = 7; switchRoom = false; newRoomName = "templates/"; + //read_ppm("res/smb-2.ppm"); return main_alt(); } \ No newline at end of file