# HG changeset patch # User Mike Becker # Date 1788899750 -7200 # Node ID 341080f6bf346c6c8ea94a9ad4faecf162191946 # Parent 6e39f53127e9dd8aeefeba31c7525af66fe9ca40 respect move_start offset in replay game states relates to #939 diff -r 6e39f53127e9 -r 341080f6bf34 src/chess/rules.c --- a/src/chess/rules.c Tue Sep 08 22:22:01 2026 +0200 +++ b/src/chess/rules.c Tue Sep 08 22:35:50 2026 +0200 @@ -568,7 +568,14 @@ gamestate_init(replay); memcpy(&replay->info, &gamestate->info, sizeof(GameInfo)); replay->review = true; - // TODO: respect move_start offset + + if (gamestate->move_start > 0) { + replay->move_start = gamestate->move_start; + replay->fifty_cntr_start = gamestate->fifty_cntr_start; + free(replay->fen_start); + replay->fen_start = strdup(gamestate->fen_start); + } + if (move_number > gamestate->movecount) { move_number = gamestate->movecount; } diff -r 6e39f53127e9 -r 341080f6bf34 src/main.c --- a/src/main.c Tue Sep 08 22:22:01 2026 +0200 +++ b/src/main.c Tue Sep 08 22:35:50 2026 +0200 @@ -968,6 +968,8 @@ static void game_review(GameState *gamestate) { const unsigned page_moves = 10; GameState viewedstate = {0}; + // TODO: think about if viewedmove should refer to the index in the array + // or to the actual half move (considering the start offset) unsigned viewedmove = gamestate->movecount; bool redraw = true;