A game engine for top-down 2D RPG games.
rpg
game-engine
raylib
c99
1#include <keraforge.h>
2#include <stdio.h>
3#include <stdlib.h>
4
5
6int kf_exists(char *filename)
7{
8 FILE *fp = fopen(filename, "r");
9 bool opened = fp != NULL;
10 if (opened)
11 fclose(fp);
12 return opened;
13}
14
15u8 *kf_readbin(char *filename, size_t *plen)
16{
17 FILE *fp = fopen(filename, "rb");
18 if (!fp)
19 return NULL;
20
21 *plen = 0;
22 fseek(fp, 0, SEEK_END);
23 *plen = ftell(fp);
24 fseek(fp, 0, SEEK_SET);
25 if (*plen == 0)
26 {
27 fclose(fp);
28 return NULL;
29 }
30
31 u8 *data = malloc(*plen);
32 (void)fread(data, 1, *plen, fp);
33 fclose(fp);
34
35 return data;
36}
37
38int kf_writebin(char *filename, u8 *data, size_t len)
39{
40 FILE *fp = fopen(filename, "wb");
41 if (!fp)
42 return 0;
43
44 size_t n = fwrite(data, 1, len, fp);
45 fclose(fp);
46
47 if (n != len)
48 return 0;
49
50 return 1;
51}