A game engine for top-down 2D RPG games.
rpg game-engine raylib c99
at main 1.3 kB view raw
1#include <keraforge.h> 2#include <raylib.h> 3#include <raymath.h> 4 5 6static 7void loadtiles(struct kf_spritesheet *terrain) 8{ 9 KF_ADDTILE( 10 .key = "grass", 11 .mapcol = GREEN, 12 .sheet = terrain, 13 .sprite = {0, 0}, 14 ); 15 KF_ADDTILE( 16 .key = "sand", 17 .mapcol = YELLOW, 18 .sheet = terrain, 19 .sprite = {4, 0}, 20 ); 21 KF_ADDTILE( 22 .key = "stone", 23 .mapcol = GRAY, 24 .sheet = terrain, 25 .sprite = {0, 4}, 26 ); 27 KF_ADDTILE( 28 .key = "debug", 29 .mapcol = BLUE, 30 .sheet = terrain, 31 .sprite = {4, 4}, 32 ); 33 KF_ADDTILE( 34 .key = "brick", 35 .mapcol = RED, 36 .sheet = terrain, 37 .sprite = {8, 0}, 38 .collide = true, 39 ); 40 KF_ADDTILE( 41 .key = "ice", 42 .mapcol = BLUE, 43 .sheet = terrain, 44 .sprite = {8, 4}, 45 .transparent = true, 46 ); 47 KF_ADDTILE( 48 .key = "dirt", 49 .mapcol = BROWN, 50 .sheet = terrain, 51 .sprite = {12, 0}, 52 ); 53 KF_ADDTILE( 54 .key = "torch", 55 .mapcol = ORANGE, 56 .sheet = terrain, 57 .sprite = {12, 4}, 58 .transparent = true, 59 ); 60 kf_logdbg("loaded %d tiles", kf_tiles.count); 61} 62 63 64int main(int argc, const char *argv[]) 65{ 66 (void)argc; 67 (void)argv; 68 69 kf_openwindow("Keraforge"); 70 71 kf_window.font = LoadFont("data/res/font/MyDearestBit.ttf"); 72 kf_window.fontsize = 16; 73 74 struct kf_spritesheet terrain = kf_loadspritesheet("data/res/img/tile/terrain.png", 16, 16); 75 loadtiles(&terrain); 76 77 kf_startwindow(); 78 79 return 0; 80}