From 743b8336a3c316925d2fc0e4e1b7217afa627391 Mon Sep 17 00:00:00 2001 From: Roman Pytkov Date: Mon, 17 Nov 2025 14:42:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83?= =?UTF-8?q?=D1=80=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=BD=D0=B8=D0=BC?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wayland/include/figure-animate.h | 2 +- wayland/include/figure.h | 9 ++++++--- wayland/include/window.h | 2 +- wayland/src/figure-animate.asm | 0 wayland/src/window.c | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 wayland/src/figure-animate.asm diff --git a/wayland/include/figure-animate.h b/wayland/include/figure-animate.h index fc4d9e1..7e3218e 100644 --- a/wayland/include/figure-animate.h +++ b/wayland/include/figure-animate.h @@ -4,6 +4,6 @@ #include "window.h" /* Провести один шаг анимации на окне */ -void animation_step(struct window_draw_info* draw_info, float speed_multiplier); +void animation_step(struct window_draw_info* draw_info); #endif diff --git a/wayland/include/figure.h b/wayland/include/figure.h index c25c1cc..33f81d4 100644 --- a/wayland/include/figure.h +++ b/wayland/include/figure.h @@ -10,12 +10,15 @@ enum figure_type FIGURE_SQUARE = 2 }; -struct figure_info { +struct figure_animation_info { enum figure_type type; struct vec2 position; struct vec2 velocity; - float rotation; - float rotation_speed; + + float angle; + float angular_velocity; + + float speed; }; #endif diff --git a/wayland/include/window.h b/wayland/include/window.h index ae655c9..43a03cd 100644 --- a/wayland/include/window.h +++ b/wayland/include/window.h @@ -9,7 +9,7 @@ struct window_draw_info { uint8_t *data; int32_t width; int32_t height; - struct figure_info figure; + struct figure_animation_info figure; pthread_mutex_t figure_mutex; }; diff --git a/wayland/src/figure-animate.asm b/wayland/src/figure-animate.asm new file mode 100644 index 0000000..e69de29 diff --git a/wayland/src/window.c b/wayland/src/window.c index e92f9fa..b17f1ef 100644 --- a/wayland/src/window.c +++ b/wayland/src/window.c @@ -103,7 +103,7 @@ static void draw(struct wayland_window *win) // Залочиться, чтобы операции обновления позиции фигуры происходили атомарно pthread_mutex_lock(&draw_info->figure_mutex); - struct figure_info figure = draw_info->figure; + struct figure_animation_info figure = draw_info->figure; pthread_mutex_unlock(&draw_info->figure_mutex); uint32_t color;