diff --git a/src/game/boe.infodlg.cpp b/src/game/boe.infodlg.cpp index d0df77f8..87125a1b 100644 --- a/src/game/boe.infodlg.cpp +++ b/src/game/boe.infodlg.cpp @@ -50,6 +50,7 @@ location source_locs[6] = {loc(2,9),loc(0,6),loc(3,6),loc(3,4),loc(6,2),loc(0,0) extern location dest_locs[40] ; extern char *alch_names[]; extern cUniverse univ; +extern eGameMode overall_mode; // Displaying string vars short store_str1a; @@ -554,6 +555,14 @@ static bool talk_notes_event_filter(cDialog& me, std::string item_hit, eKeyMod) } void talk_notes() { + if(recording){ + record_action("talk_notes", ""); + } + if(overall_mode == MODE_TALKING) { + ASB("Talking notes: Can't read while talking."); + print_buf(); + return; + } store_num_i = univ.party.talk_save.size(); store_page_on = 0; if(store_num_i == 0) { diff --git a/src/game/boe.main.cpp b/src/game/boe.main.cpp index e40db4d0..e9d0b4e9 100644 --- a/src/game/boe.main.cpp +++ b/src/game/boe.main.cpp @@ -352,6 +352,8 @@ static void replay_next_action() { handle_new_pc(); }else if(t == "journal"){ journal(); + }else if(t == "talk_notes"){ + talk_notes(); } // TODO some of these actions shouldn't call advance_time(). They should return @@ -700,12 +702,6 @@ void handle_menu_choice(eMenu item_hit) { journal(); break; case eMenu::OPTIONS_TALK_NOTES: - // TODO record and replay - if(overall_mode == MODE_TALKING) { - ASB("Talking notes: Can't read while talking."); - print_buf(); - return; - } talk_notes(); break; case eMenu::OPTIONS_ENCOUNTER_NOTES: