diff --git a/include/general.h b/include/general.h index e3d14f4..d8ad1d7 100644 --- a/include/general.h +++ b/include/general.h @@ -26,11 +26,23 @@ extern BYTE _oserror; #define KASSE_AUTHORS "phil_fry, sECuRE, sur5r, mxf, ada" #define MENU_KEY(key, label) \ + textcolor(TC_YELLOW); \ + cprintf(key); \ + textcolor(TC_LIGHT_GRAY); \ + cprintf(") " label); + +#define ERROR(message) \ + do { \ + textcolor(TC_RED); \ + cprintf(message); \ + textcolor(TC_LIGHT_GRAY); \ + } while (0) + +#define GOOD(message) \ do { \ - textcolor(TC_YELLOW); \ - cprintf(key); \ + textcolor(TC_GREEN); \ + cprintf(message); \ textcolor(TC_LIGHT_GRAY); \ - cprintf(") " label); \ } while (0) /* C128 color codes, see PDF page 127 of diff --git a/src/credit_manager.c b/src/credit_manager.c index 847953e..f425159 100644 --- a/src/credit_manager.c +++ b/src/credit_manager.c @@ -168,7 +168,8 @@ static void deposit_credit_idx(int8_t i) { credit->credit += (signed int)deposit; print_the_buffer(); - cprintf("\r\nEinzahlung durchgef" uUML "hrt, dr" uUML "cke RETURN...\r\n"); + cprintf("\r\n\r\nEinzahlung durchgef" uUML "hrt"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); } @@ -188,8 +189,8 @@ static void new_credit(void) { int credit; if (credits.num_items == MAX_CREDIT_ITEMS) { - cprintf("\rEs ist bereits die maximale Anzahl an Eintr" aUML - "gen erreicht, dr" uUML "cke RETURN...\r\n"); + ERROR("\rEs ist bereits die maximale Anzahl an Eintr" aUML + "gen erreicht, dr" uUML "cke RETURN...\r\n"); cget_return(); return; } @@ -200,7 +201,7 @@ static void new_credit(void) { return; if (find_credit_idx(name) >= 0) { - cprintf("\rNickname existiert bereits, dr" uUML "cke RETURN...\r\n"); + ERROR("\r\nNickname existiert bereits, dr" uUML "cke RETURN...\r\n"); cget_return(); return; } @@ -209,6 +210,7 @@ static void new_credit(void) { credit = cget_number(0); if (credit < 0) { cprintf("\r\nLege mit 0 an und verkaufe Waren oder Freitext\r\n"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); return; } @@ -275,7 +277,7 @@ void credit_manager(void) { break; case 's': save_credits(); - cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); break; case 'f': @@ -306,11 +308,11 @@ void credit_manager(void) { break; case 'z': save_credits(); - cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); return; default: - cprintf("Unbekannter Befehl, dr" uUML "cke RETURN...\r\n"); + ERROR("\r\nUnbekannter Befehl, dr" uUML "cke RETURN...\r\n"); cget_return(); } } diff --git a/src/itemz.c b/src/itemz.c index 5989021..80e1f7e 100644 --- a/src/itemz.c +++ b/src/itemz.c @@ -43,8 +43,8 @@ static void new_item(void) { int price, times_sold; if (status.num_items == MAX_ITEMS) { - cprintf("\rEs ist bereits die maximale Anzahl an Eintr" aUML - "gen erreicht, dr" uUML "cke RETURN...\r\n"); + ERROR("\rEs ist bereits die maximale Anzahl an Eintr" aUML + "gen erreicht, dr" uUML "cke RETURN...\r\n"); cget_return(); return; } @@ -142,11 +142,11 @@ void itemz_manager() { break; case 'z': save_items(); - cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); return; default: - cprintf("Unbekannter Befehl, dr" uUML "cke RETURN...\r\n"); + ERROR("\r\nUnbekannter Befehl, dr" uUML "cke RETURN...\r\n"); cget_return(); } } diff --git a/src/kasse.c b/src/kasse.c index 939d42f..26a6d5e 100644 --- a/src/kasse.c +++ b/src/kasse.c @@ -191,8 +191,8 @@ static signed int buy(char *name, int32_t price) { einheiten = cget_number(1); if (einheiten > 100 || einheiten < -100 || einheiten == 0) { - cprintf("\r\nEinheit nicht in [-100, 100] oder 0, Abbruch, dr" uUML "cke " - "RETURN...\r\n"); + ERROR("\r\n\r\nEinheit nicht in [-100, 100] oder 0, Abbruch"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); return 1; } @@ -213,7 +213,7 @@ static signed int buy(char *name, int32_t price) { credit->credit); exit(1); } - cprintf("\r\n%s hat nicht genug Geld (%s)", nickname, rest); + cprintf("\r\n%s hat nicht genug Guthaben (%s)", nickname, rest); MENU_KEY(" e", "einzahlen"); MENU_KEY(" a", "abbruch"); MENU_KEY(" t", "trotzdem"); @@ -234,18 +234,15 @@ static signed int buy(char *name, int32_t price) { exit(1); } - textcolor(TC_LIGHT_GREEN); - cprintf("\r\nVerbleibendes Guthaben f" uUML "r %s: %s. Dr" uUML - "cke RETURN...\r\n", - nickname, rest); - textcolor(TC_LIGHT_GRAY); + cprintf("\r\n\r\nVerbleibendes Guthaben f" uUML "r %s: %s.", nickname, + rest); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); matches++; } else { - textcolor(TC_LIGHT_RED); - cprintf("\r\nNickname nicht gefunden in der Guthabenverwaltung! Abbruch, " - "dr" uUML "cke RETURN...\r\n"); - textcolor(TC_LIGHT_GRAY); + ERROR("\r\n\r\nNickname nicht gefunden in der Guthabenverwaltung! " + "Abbruch!"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); return 0; } @@ -261,7 +258,8 @@ static signed int buy(char *name, int32_t price) { void buy_stock(BYTE n) { if (n >= status.num_items || status.status[n].item_name == NULL) { - cprintf("FEHLER: Diese Einheit existiert nicht.\r\n"); + ERROR("\r\nDiese Einheit existiert nicht."); + GOOD("\r\nDr" uUML "cke RETURN\r\n"); cget_return(); return; } @@ -284,7 +282,8 @@ void buy_custom(void) { price = cget_number(0); if (price == 0) { - cprintf("Kauf abgebrochen, dr" uUML "cke RETURN...\r\n"); + ERROR("\r\nKauf abgebrochen"); + GOOD("\r\nDr" uUML "cke RETURN\r\n"); cget_return(); return; } @@ -393,7 +392,8 @@ int main(void) { save_items(); save_credits(); log_flush(); - cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); + cget_return(); } else if (*c == 'g') { credit_manager(); } else if (*c == 'i') { @@ -405,9 +405,12 @@ int main(void) { save_items(); save_credits(); log_flush(); - cprintf("\r\nDr" uUML "cke RETURN...\r\n"); + GOOD("\r\nDr" uUML "cke RETURN...\r\n"); cget_return(); break; + } else { + ERROR("\r\nUnbekannter Befehl, dr" uUML "cke RETURN...\r\n"); + cget_return(); } } clrscr();