История изменений
Исправление vM, (текущая версия) :
Осталось разобраться как сделать неблокирующим
Поставить timeout(0)
или nodelay()
для неблокирующего ввода?
https://www.opennet.ru/man.shtml?topic=timeout&category=3
diff --git a/src/machine.c b/src/machine.c
index f75f9a2..d351902 100644
--- a/src/machine.c
+++ b/src/machine.c
@@ -696,6 +696,8 @@ machine_run (struct machine *m)
int c = wgetch (hex_editor->win);
debug_input (c);
} else {
+ int c = wgetch (m->game_screen);
+ machine_input(m, c);
execute_instruction (m, opcode, b);
}
diff --git a/src/main.c b/src/main.c
index 76e3abe..210c28d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -106,6 +106,9 @@ main (int argc, char **argv)
real_window_height_game,
width_term / 2 - real_window_width_game / 2, 0);
+ wtimeout(screen_win, 0);
+
+
uint32_t hex_editor_width_with_border = width_term;
uint32_t hex_editor_height_with_border = height_term - real_window_height_game;
Исходная версия vM, :
Осталось разобраться как сделать неблокирующим
Поставить timeout(0)
или nodelay()
для неблокирующего ввода?
https://www.opennet.ru/man.shtml?topic=timeout&category=3
diff --git a/src/machine.c b/src/machine.c
index f75f9a2..d351902 100644
--- a/src/machine.c
+++ b/src/machine.c
@@ -696,6 +696,8 @@ machine_run (struct machine *m)
int c = wgetch (hex_editor->win);
debug_input (c);
} else {
+ int c = wgetch (m->game_screen);
+ machine_input(m, c);
execute_instruction (m, opcode, b);
}
diff --git a/src/main.c b/src/main.c
index 76e3abe..210c28d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -106,6 +106,9 @@ main (int argc, char **argv)
real_window_height_game,
width_term / 2 - real_window_width_game / 2, 0);
+ wtimeout(screen_win, 0);
+
+
uint32_t hex_editor_width_with_border = width_term;
uint32_t hex_editor_height_with_border = height_term - real_window_height_game;