aboutsummaryrefslogtreecommitdiff
path: root/dc
diff options
context:
space:
mode:
Diffstat (limited to 'dc')
-rw-r--r--dc/dc.c99
1 files changed, 99 insertions, 0 deletions
diff --git a/dc/dc.c b/dc/dc.c
new file mode 100644
index 0000000..5b4b435
--- /dev/null
+++ b/dc/dc.c
@@ -0,0 +1,99 @@
+#include <stdio.h>
+
+#include <teensy.h>
+#include <math.h>
+#include <unistd.h>
+
+#define SCREEN_WIDTH 256
+#define SCREEN_HEIGHT 256
+
+#define TILE_SIZE 16
+
+int main(void)
+{
+ struct ty_creation_hints hints = {
+ .win_width = SCREEN_WIDTH,
+ .win_height = SCREEN_HEIGHT,
+ .win_title = "Demonchime",
+ .ticrate = 30,
+ };
+ ty_init(hints);
+
+#define Y TY_COLOR_YELLOW
+#define B TY_COLOR_BLACK
+#define M TY_COLOR_MAGENTA
+ struct ty_color img_data[] = {
+ M, Y, Y, Y, Y, M,
+ Y, Y, Y, Y, Y, Y,
+ Y, B, Y, Y, B, Y,
+ Y, Y, Y, Y, Y, Y,
+ Y, B, B, B, B, Y,
+ M, Y, Y, Y, Y, M,
+ };
+#undef Y
+#undef B
+#undef M
+
+ struct ty_image img = ty_create_image(6, 6, img_data);
+
+ while (ty_is_game_running()) {
+ ty_draw_clear(TY_COLOR_BLACK);
+
+ ty_draw_image(img, ty_vec2i(200, 200));
+
+ ty_draw_image_ex(
+ img,
+ (struct ty_recti){
+ 0, 0,
+ 6, 6,
+ },
+ (struct ty_recti){
+ 100, 200,
+ img.width*12, img.height*6,
+ }
+ );
+
+ ty_draw_rect(
+ (struct ty_recti){
+ SCREEN_WIDTH*0.5 + sin(ty_get_time() * 10) * 50 - 25,
+ SCREEN_HEIGHT*0.5-25,
+ 50, 50,
+ },
+ TY_COLOR_RED
+ );
+
+ ty_draw_line(
+ ty_vec2i(0, 0),
+ ty_vec2i(100, 100),
+ ty_color(0xFF, 0xF0, 0x80)
+ );
+
+ ty_draw_line(
+ ty_vec2i(100, 0),
+ ty_vec2i(0, 100),
+ ty_color(0x80, 0xF0, 0xFF)
+ );
+
+ ty_draw_line(
+ ty_vec2i(150, 0),
+ ty_vec2i(150, 100),
+ ty_color(0x80, 0xF0, 0xFF)
+ );
+
+ ty_draw_line(
+ ty_vec2i(100, 50),
+ ty_vec2i(200, 50),
+ ty_color(0xFF, 0xF0, 0x80)
+ );
+
+ ty_draw_end();
+ ty_tick();
+
+ usleep(1000000 / (hints.ticrate * 2));
+ }
+
+ ty_free_image(img);
+
+ ty_deinit();
+ return 0;
+}