prosperon/source/engine/level.c

50 lines
931 B
C
Raw Normal View History

2021-11-30 21:29:18 -06:00
#include "level.h"
#include "gameobject.h"
2022-02-06 10:14:57 -06:00
#include "resources.h"
2023-05-12 13:22:05 -05:00
#include <stdio.h>
#include <string.h>
2021-11-30 21:29:18 -06:00
2022-08-26 09:19:17 -05:00
#include "stb_ds.h"
2023-05-12 13:22:05 -05:00
void save_level(char name[MAXNAME]) {
FILE *lfile = res_open(name, "wb+");
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
if (!lfile) return;
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
int objs = arrlen(gameobjects);
fwrite(&objs, sizeof(objs), 1, lfile);
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
fclose(lfile);
2021-11-30 21:29:18 -06:00
}
2023-05-12 13:22:05 -05:00
void load_level(char name[MAXNAME]) {
/*
FILE *lfile = fopen(name, "rb");
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
if (!lfile) return;
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
new_level();
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
int objs;
fread(&objs, sizeof(objs), 1, lfile);
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
arraddn(gameobjects, objs);
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
for (int i = 0; i < objs; i++) {
struct gameobject *go = &gameobjects[i];
fread(go, sizeof(struct gameobject), 1, lfile);
go->components = NULL;
gameobject_init(go, lfile);
}
2021-11-30 21:29:18 -06:00
2023-05-12 13:22:05 -05:00
fclose(lfile);
*/
2021-11-30 21:29:18 -06:00
}
2023-05-12 13:22:05 -05:00
void new_level() {
for (int i = 0; i < arrlen(gameobjects); i++)
gameobject_delete(i);
2022-08-26 09:19:17 -05:00
2023-05-12 13:22:05 -05:00
arrfree(gameobjects);
2021-11-30 21:29:18 -06:00
}