#include #include "bloob.h" struct my_game : game { my_game(int argc, char** argv) : game(argc, argv) {} void init(settings& settings); void update(); void render(image& target); image const* img; image const* slime; image const* bg; ini const* ini; //tileset tileset; font const* font1; font const* font2; double time; }; void my_game::init(settings& settings) { settings.target_fps = 6000; time = 0.0; settings.scale = 1; settings.size = vec2i(1920, 1080); settings.show_logo = false; //img = get("test.png"); //slime = get("slime.png"); //slime = slime->upscale_2x(); //slime = slime->upscale_2x(); //slime = slime->upscale_2x(); //ini = get<::ini>("test.ini"); bg = get("bg.png"); font1 = get<::font>("_/default-font-prop.png"); font2 = get<::font>("font.png"); //cursor(&font['\\']); } void my_game::update() { time = std::fmod(time + 1.0 / 60.0, 1.0); } void my_game::render(image& target) { target.clear(0x123456); auto pos = vec2i(std::sin(time * TAU / 4) * 100, std::cos(time * TAU / 4) * 100); //target.draw(img, vec2i(320, 180) + pos, recti(vec2i(8, 14), vec2i(8 * 4, 14 * 4))); //for(int i = 0; i < 1; ++i) // target.draw(img, vec2i::zero); //target.draw_rot(slime, vec2i(200, 200), time); //target.draw(slime, vec2i(40, 40)); //target.draw(tileset[0xda], vec2i(320, 180) + pos, 0xff00ff); auto str = "Can only be played if\nthere are no card in\nyour draw pile.\nDeal 50 damage to ALL\nenemies."; //target.draw(str, vec2i(100, 100) + pos, font, 0xffffff, 0); target.draw(bg, vec2i::zero); target.draw(std::format("FPS: {}", fps()), vec2i(10, 10), font1, 0xffffff, 0); int xoff = 40; int yoff = 167; int choff = 22 * 8 + 13; for(int i = 0; i < 64; ++i) { auto col_colour = 0x324456; if(i % 4 == 0) col_colour = 0x3a5167; if(i % 16 == 0) col_colour = 0x355777; target.draw(std::format("{:02X}", i), vec2i(-16-5 + xoff, i * 14 + yoff), font2, col_colour); for(int chan = 0; chan < 8; ++chan) { target.draw(i % 4 ? "..." : "C-4", vec2i(chan * choff + 0 + xoff, i * 14 + yoff), font2, 0xcccccc); target.draw("..", vec2i(chan * choff + 24 + xoff, i * 14 + yoff), font2, 0x8888cc); target.draw("..", vec2i(chan * choff + 40 + xoff, i * 14 + yoff), font2, 0x88cc88); target.draw("....", vec2i(chan * choff + 56 + xoff, i * 14 + yoff), font2, 0xccaa88); target.draw("....", vec2i(chan * choff + 88 + xoff, i * 14 + yoff), font2, 0xcc88aa); target.draw("....", vec2i(chan * choff + 120 + xoff, i * 14 + yoff), font2, 0xccaa88); target.draw("....", vec2i(chan * choff + 152 + xoff, i * 14 + yoff), font2, 0xcc88aa); } } for(int chan = 0; chan < 8; ++chan) target.draw("Channel", vec2i(xoff + chan * choff, yoff - 15), font2, 0x355777); //target.draw("\\", mouse_pos(), font, 0xffffff, 0); } int main(int argc, char* argv[]) { my_game game(argc, argv); game.run(); return 0; }