X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=src%2Ffirst.c;h=fdb97a439e2557d60a945ccbad8eec8244ebe20d;hb=91214934fbcdfd363202a65c142194506604ff7b;hp=a80314941e8f8370e24ae9d9ee5ab95cc97a4cac;hpb=dc12376c7b6c8957cddab1bd5936409d9818f5f1;p=projects%2Fchimara%2Fchimara.git diff --git a/src/first.c b/src/first.c index a803149..fdb97a4 100644 --- a/src/first.c +++ b/src/first.c @@ -61,18 +61,13 @@ static void verb_script(void); static void verb_unscript(void); static void verb_save(void); static void verb_restore(void); - -void handler(void) -{ - fprintf(stderr, "I'm the interrupt handler!\n"); -} +static void verb_alert(void); +static void verb_notice(void); /* The glk_main() function is called by the Glk system; it's the main entry point for your program. */ void glk_main(void) -{ - glk_set_interrupt_handler(&handler); - +{ /* Open the main window. */ mainwin = glk_window_open(0, 0, 0, wintype_TextBuffer, 1); if (!mainwin) { @@ -220,6 +215,12 @@ void glk_main(void) else if (str_eq(cmd, "unscript")) { verb_unscript(); } + else if (str_eq(cmd, "alert")) { + verb_alert(); + } + else if (str_eq(cmd, "notice")) { + verb_notice(); + } else { glk_put_string("I don't understand the command \""); glk_put_string(cmd); @@ -322,6 +323,8 @@ static void verb_help(void) glk_put_string("UNSCRIPT: Turn off transcripting.\n"); glk_put_string("SAVE: Write fake data to a save file.\n"); glk_put_string("RESTORE: Read it back in.\n"); + glk_put_string("ALERT: Print a frightful message.\n"); + glk_put_string("NOTICE: Print an interesting message.\n"); glk_put_string("QUIT: Quit and exit.\n"); } @@ -406,8 +409,8 @@ static void verb_quote(void) /* Print some quote. */ glk_set_window(quotewin); glk_set_style(style_BlockQuote); - glk_put_string("Tomorrow probably never rose or set\n" - "Or went out and bought cheese, or anything like that\n" + glk_put_string("Tomorrow probably never rose "); + glk_put_string("or set\n Or went out and bought cheese, or anything like that\n" "And anyway, what light through yonder quote box breaks\n" "Handle to my hand?\n"); glk_put_string(" -- Fred\n"); @@ -420,7 +423,11 @@ static void verb_move(void) current_room = (current_room+1) % 2; need_look = TRUE; - glk_put_string("You walk for a while.\n"); + glk_put_string("You "); + glk_set_style(style_Emphasized); + glk_put_string("walk"); + glk_set_style(style_Normal); + glk_put_string(" for a while.\n"); } static void verb_quit(void) @@ -564,6 +571,21 @@ static void verb_restore(void) glk_put_string("Game restored.\n"); } +void verb_alert() +{ + glk_set_style(style_Alert); + glk_put_string("O noes!\n"); + glk_set_style(style_Normal); +} + +void verb_notice() +{ + glk_set_style(style_Note); + glk_put_string("The answer... is 42!\n"); + glk_set_style(style_Normal); +} + + /* simple string length test */ static int str_len(char *s1) {