From 349e3f227e76007d3bd404651351702593628d93 Mon Sep 17 00:00:00 2001 From: Jooa Hooli Date: Sat, 4 Nov 2023 22:32:05 +0100 Subject: [PATCH] Print save operations and automatically save on quit (#49) --- src/config.c | 4 ++++ src/credit_manager.c | 4 ++++ src/itemz.c | 2 ++ src/kasse.c | 15 ++++++++------- src/print.c | 2 ++ 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/config.c b/src/config.c index 0e235f3..ce8ae3d 100644 --- a/src/config.c +++ b/src/config.c @@ -103,17 +103,21 @@ void load_credits(void) { } void save_items(void) { + cprintf("\r\nspeichere items.. "); if (items_exists) _sysremove("items"); cbm_save("items", (BYTE)8, &status, sizeof(struct status_array_t)); items_exists = true; + cprintf("ok"); } void save_credits(void) { + cprintf("\r\nspeichere credits.. "); if (credits_exists) _sysremove("credits"); cbm_save("credits", (BYTE)8, &credits, sizeof(struct credits_array_t)); credits_exists = true; + cprintf("ok"); } void load_config(void) { lookup_needed_files(); } diff --git a/src/credit_manager.c b/src/credit_manager.c index 7050713..847953e 100644 --- a/src/credit_manager.c +++ b/src/credit_manager.c @@ -275,6 +275,8 @@ void credit_manager(void) { break; case 's': save_credits(); + cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + cget_return(); break; case 'f': if (current_credits_page < (credits.num_items / CREDITS_PER_PAGE)) @@ -304,6 +306,8 @@ void credit_manager(void) { break; case 'z': save_credits(); + cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + cget_return(); return; default: cprintf("Unbekannter Befehl, dr" uUML "cke RETURN...\r\n"); diff --git a/src/itemz.c b/src/itemz.c index 119ad03..5989021 100644 --- a/src/itemz.c +++ b/src/itemz.c @@ -142,6 +142,8 @@ void itemz_manager() { break; case 'z': save_items(); + cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + cget_return(); return; default: cprintf("Unbekannter Befehl, dr" uUML "cke RETURN...\r\n"); diff --git a/src/kasse.c b/src/kasse.c index 3872fba..eec44c3 100644 --- a/src/kasse.c +++ b/src/kasse.c @@ -389,15 +389,10 @@ int main(void) { } else if (*c == 'f') { buy_custom(); } else if (*c == 's') { - cprintf("\r\nsaving items.. "); save_items(); - cprintf("ok\r\nsaving credits.. "); save_credits(); - cprintf("ok\r\nflushing log.. "); log_flush(); - cprintf("ok\r\nStatefile/Creditfile/Log gesichert, dr" uUML - "cke RETURN...\r\n"); - cget_return(); + cprintf("\r\nDr" uUML "cke RETURN...\r\n"); } else if (*c == 'g') { credit_manager(); } else if (*c == 'i') { @@ -405,8 +400,14 @@ int main(void) { load_items(); } else if (*c == 'z') { set_time_interactive(); - } else if (*c == 'q') + } else if (*c == 'q') { + save_items(); + save_credits(); + log_flush(); + cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + cget_return(); break; + } } clrscr(); cprintf("\r\nBYEBYE\r\n"); diff --git a/src/print.c b/src/print.c index e14a303..e35887f 100644 --- a/src/print.c +++ b/src/print.c @@ -101,6 +101,7 @@ void print_header(void) { void log_flush(void) { int c; static char filename[8]; + cprintf("\r\nspeichere log.. "); sprintf(filename, "log-%d", log_num); /* If we have written to this logfile before, we need to remove it first */ @@ -123,6 +124,7 @@ void log_flush(void) { cbm_close((BYTE)8); log_heap_flushed = log_heap_offset; + cprintf("ok"); } /*