void aa_showcursor(aa_context * c) { c->cursorstate++; if (c->cursorstate == 0 && c->driver->cursormode != NULL) c->driver->cursormode(c, 1); aa_gotoxy(c, c->cursorx, c->cursory); }
void messager(char *c) { int i, s = strlen(c); start = cursor_y = aa_scrheight(context) - 1; cursor_x = 0; for (i = 0; i < s; i++) { put(c[i]); putcursor(); bbflushwait(0.03 * 1000000); } bbflushwait(1000000); aa_gotoxy(context, 0, 0); }
static void aa_editdisplay(struct aa_edit *e) { char s[1000]; int i; if (e->cursor > strlen(e->data)) e->cursor = strlen(e->data); if (e->cursor < e->printpos) e->printpos = e->cursor; if (e->cursor >= e->printpos + e->size) e->printpos = e->cursor - e->size; if (e->printpos < 0) e->printpos = 0; strncpy(s, e->data + e->printpos, e->size); s[e->size] = 0; for (i = strlen(e->data) - e->printpos; i < e->size; i++) s[i] = ' '; aa_puts(e->c, e->x, e->y, e->clearafterpress ? AA_REVERSE : AA_SPECIAL, s); aa_gotoxy(e->c, e->x + e->cursor - e->printpos, e->y); }
int bb(void) { aa_gotoxy(context, 0, 0); introscreen(); params = aa_getrenderparams(); aa_render(context, params, 0, 0, 1, 1); font = uncompressfont( /*context->params.font */ &aa_font16); scenetimer = tl_create_timer(); srand(time(NULL)); if (stage != 1) finish_stuff = 1; do switch (stage) { default: case 1: load_song("bb.s3m"); bbupdate(); starttime = endtime = TIME; scene1(); scene3(); if (quitnow) goto quit; vezen(&fk1, &fk2, &fk3, &fk4); messager("FILIP KUPSA known as FK, Tingle Notions, Dawn Music\n" "birth: June 22 1979, Tabor, Czech Republic, sex: male\n" "\n" "1992 - Changed his piano for 386/mp.com/pc-speaker music\n" "1993 - Got his first Sound Blaster\n" "1995 - Changed his SB for a new GUS technology\n" "1996 - Composed his first great hits\n" "1996 - FAT recomposition made by Windows 95\n" "1997 - Released his musac in BB\n" "\n" "1998 - Got retired\n" "\n" "Contact address: via KT"); devezen2(); scene4(); scene2(); if (quitnow) goto quit; vezen(&ms1, &ms2, &ms3, &ms4); messager("MOJMIR SVOBODA known as MS, TiTania, MSS, Bill\n" "birth: ??, Tabor, Czech Republic, sex: ? male ?\n" "\n" "1993 - Installed Linux on his 386sx/25 + 40MB HDD\n" "1994 - Removed Linux to make space for Doom\n" "1995 - Reinstalled Linux on his 486Dx4/120 + 850MB\n" "1996 - Removed Linux to make space for Windows 95\n" "\n" "1997 - Removed Windows 95 to make space for aalib\n" "\n" "Contact address: [email protected]"); devezen3(); scene8(); scene6(); case 2: if (quitnow) goto quit; vezen(&kt1, &kt2, &kt3, &kt4); messager("KAMIL TOMAN known as KT, Kato, Whale, Bart\n" "birth: May 19 1979, Tabor, Czech Republic, sex: male\n" "\n" "1993 - Became a linux extremist\n" "1993 - Successful attempt to establish a secret organization\n" " Commandline Brotherhood\n" "1995 - Action 'koules' - a secret project to train brotherhood\n" " members - covered under a game design\n" "\n" "1998 - Heading a new wave of command line revolution\n" "\n" "Contact address: [email protected]"); bbupdate(); starttime = endtime = TIME; devezen1(); if (quitnow) goto quit; scene7(); if (quitnow) goto quit; scene5(); if (quitnow) goto quit; scene10(); vezen(&hh1, &hh2, &hh3, &hh4); messager("JAN HUBICKA known as HH, Jahusoft, HuJaSoft, JHS, UNIX, Honza\n" "birth: Apr 1 1978, Tabor, Czech Republic, sex: male\n" "\n" "1991 - Installed underground hackers OS Linux\n" "1995 - Headed Action 'koules'\n" "1996 - Famous troan XaoS to convert all windows instalations\n" " into Linux\n" "\n" "1998 - Secret plan to make `Text Windows` system to confuse users\n" "2001 - Planning an assassination of dictator Bill G.\n" "\n" "Contact address: [email protected]"); devezen4(); if (quitnow) goto quit; credits(); if (quitnow) goto quit; case 3: if (loopmode) break; credits2(); } while (loopmode); quit:; aa_close(context); return (0); }
static void putcursor(void) { context->attrbuffer[cursor_x + cursor_y * aa_scrwidth(context)] = AA_REVERSE; context->textbuffer[cursor_x + cursor_y * aa_scrwidth(context)] = ' '; aa_gotoxy(context, cursor_x, cursor_y); }