diff --git a/docs/size_baseline.tsv b/docs/size_baseline.tsv index f219f63..893b964 100644 --- a/docs/size_baseline.tsv +++ b/docs/size_baseline.tsv @@ -43,7 +43,7 @@ openenv 6124 palfile 5406 ptime 5744 rpgprof 12082 -rpgwalk 9501 +rpgwalk 10309 rt_test 4892 seek 4188 simple 955 diff --git a/examples/rpgwalk/rpgwalk.c b/examples/rpgwalk/rpgwalk.c index 7e1d346..bd2687f 100644 --- a/examples/rpgwalk/rpgwalk.c +++ b/examples/rpgwalk/rpgwalk.c @@ -184,8 +184,17 @@ int main(void) last_sec = dt.second; for (;;) { - if (kbhit() && getch() == 27) - break; + if (kbhit()) { + int c = getch(); + if (c == 27) + break; + /* 1/2/3 — FPS-делитель: логический кадр = n vsync'ов. + * Скорость персонажей (пикселей на итерацию) не меняется, но + * итераций/сек делится на n — визуальная проверка стабильности + * тайминга (метр стоит ровно на 50/25/16). */ + if (c >= '1' && c <= '9') + gfx_set_fps_div((uint8_t)(c - '0')); + } for (i = 0; i < NCHR; i++) if (!sprite_moving(&sp[i])) {