Skip to content

Commit

Permalink
Introduce more coloured prompt with macros GOOD and ERROR
Browse files Browse the repository at this point in the history
Fixes #52
Fixes #51
  • Loading branch information
lysogeny committed Nov 4, 2023
1 parent 89e4c83 commit 68d716a
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 30 deletions.
18 changes: 15 additions & 3 deletions include/general.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 9 additions & 7 deletions src/credit_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

Expand All @@ -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;
}
Expand All @@ -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;
}
Expand All @@ -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;
}
Expand Down Expand Up @@ -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':
Expand Down Expand Up @@ -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();
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/itemz.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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();
}
}
Expand Down
35 changes: 19 additions & 16 deletions src/kasse.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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");
Expand All @@ -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;
}
Expand All @@ -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;
}
Expand All @@ -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;
}
Expand Down Expand Up @@ -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') {
Expand All @@ -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();
Expand Down

0 comments on commit 68d716a

Please sign in to comment.