--- a/src/game.c Fri May 22 18:34:02 2026 +0200 +++ b/src/game.c Tue May 26 15:21:42 2026 +0200 @@ -180,13 +180,31 @@ } static void save_pgn(GameState *gamestate, GameInfo *gameinfo) { + int y = getcury(stdscr); + + /* ask for player names */ + { + char pname[PLAYER_NAME_BUFLEN]; + printw("\rWhite's name (%s): ", pgn_player_name(gamestate, WHITE)); + clrtoeol(); + if (getnstr(pname, PLAYER_NAME_BUFLEN) == OK && pname[0] != '\0') { + strncpy(gamestate->wname, pname, PLAYER_NAME_BUFLEN); + } + move(y, 0); + printw("\rBlack's name (%s): ", pgn_player_name(gamestate, BLACK)); + clrtoeol(); + if (getnstr(pname, PLAYER_NAME_BUFLEN) == OK && pname[0] != '\0') { + strncpy(gamestate->bname, pname, PLAYER_NAME_BUFLEN); + } + move(y, 0); + } + bool export_comments = prompt_yesno("Export with comments"); printw("\rFilename: "); clrtoeol(); char filename[64]; - int y = getcury(stdscr); if (getnstr(filename, 64) == OK && filename[0] != '\0') { move(y, 0); FILE *file = fopen(filename, "w");