This commit is contained in:
krzosa
2024-12-31 14:48:19 +01:00
parent 3f9f90466b
commit 05d49eefe8
19 changed files with 262 additions and 195 deletions

View File

@@ -3,51 +3,34 @@
#include "app/app.h"
#include "app/app.c"
#include "gfx2d/gfx2d.c"
#include "ui.c"
// #include "ui.c"
gfx2d_t *gfx2d = NULL;
void app_init(void) {
tcx.temp = ma_push_arena(&tcx.perm, mib(1));
gfx2d = ma_push_type(&tcx.perm, gfx2d_t);
gfx2d->ma = ma_push_arena(&tcx.perm, mib(2));
}
void app_update(app_event_t *events, i32 event_count) {
// @todo: record render commands and replay
// @todo: ignore render commands
for (i32 i = 0; i < event_count - 1; i += 1) {
ui_demo(gfx2d, events + i);
gfx2d->cmds_len = 0;
ma_set0(gfx2d->ma);
}
{
app_event_t *ev = &events[event_count - 1];
gfx2d_begin(gfx2d, ev);
gfx2d_clear(gfx2d, white_color_global);
ui_demo(gfx2d, ev);
// gfx2d_textf(gfx2d, v2f64(0,0), black_color_global, "delta time: %f", ev->delta_time);
gfx2d_end(gfx2d);
}
void app_update(app_event_t *events, i32 events_len) {
ma_set0(tcx.temp);
#if 0
ma_scratch_scope(temp) {
f64 offset = get_font_height() + 8;
f64 pos = offset;
for (i32 i = 0; i < event_count; i += 1) {
s8_t string = ti_serial_data(temp.arena, events + i, app_event_t);
sb8_t split = s8_split(temp.arena, string, s8_lit("\n"), s8_split_none);
for (sb8_node_t *it = split.first; it; it = it->next) {
draw_text((v2f64_t){0, pos}, black_color_global, it->string);
pos += offset;
}
}
for (app_event_t *ev = events; ev < (events + events_len); ev += 1) {
// update(ev)
}
#endif
// These steps should be totally optional!!
{
app_event_t *ev = events + events_len - 1;
f64 delta = app_get_anim_delta_time();
f64 time = app_get_anim_time();
// animate
// render
gfx2d_begin(gfx2d, ev);
gfx2d_clear(gfx2d, white_color_global);
gfx2d_textf(gfx2d, (v2f64_t){0,0}, black_color_global, "delta: %f, time: %f", delta, time);
gfx2d_end(gfx2d);
}
}