Mercurial > hg > forks > pwpunix
view final_isi/demo.c @ 69:c13a2f8c5b10
Rename files and some minor cleanups.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 01 Jun 2012 17:41:15 +0300 |
parents | final_isi/fisidemo.c@53676367d46f |
children |
line wrap: on
line source
#include "wrapper.h" #include "fisi.h" #include "ansi.h" extern int bgcol, txtcol, ansifrom; extern char buffclass; extern char fx_main; extern char fx_main_spex; extern char fx_3d; extern char fx_flare; extern char *ruutu, *txb, *abb, *vib; extern framekey o0[]; void prforhyb(char *h) { int i; for (i = 80 * 25; i; i--) { if ((*h == 32) || (!*h)) if (!(*(h + 1) & 0xf0)) { *h = 253; *(h + 1) = 1; } h += 2; } } void demoloop() { int quit = 0; char lastkey = 0; int dt = 0; int fader = 0, fadetype = 1; while (!quit) { int t = pwplib_timer(); while (dt < t) { int d = dt; if (d < 5 * 384) if (!(d % 5)) switch (d / 5) { case (0): scroller_init(0); preparebuff(SINGLE); fx_main = SCROLLER; fx_main_spex = 0; break; case (64): fader = 7; fadetype = 1; txtline(txb + 80 * 10, "elet{{n", "the`year"); break; case (66): txtline(txb + 80 * 20, "vuotta", "is"); break; case (68): txtline(txb + 80 * 30, "}o}~", "}o}~"); break; case (96): fader = 31; fadetype = 2; break; case (100): clrline(txb + 80 * 10); break; case (116): clrline(txb + 80 * 10); break; case (128): fader = 7; fadetype = 1; memset(txb, 0, 80 * 50); txtline(txb + 80 * 10, "kaaos", "chaos"); break; case (132): txtline(txb + 80 * 20, "on`t{ytt{nyt", "has`taken"); break; case (134): txtline(txb + 80 * 30, "maan", "the`earth"); break; case (128 + 32): fader = 31; fadetype = 2; break; case (128 + 48): clrline(txb + 80 * 20); break; case (128 + 64): fader = 7; fadetype = 1; memset(txb, 0, 80 * 50); txtline(txb + 80 * 2, "maailman", "the`great"); break; case (192 + 4): txtline(txb + 80 * 14, "suuri", "leader`of"); break; case (192 + 8): txtline(txb + 80 * 26, "johtaja", "the`world`has"); break; case (192 + 12): txtline(txb + 80 * 38, "on`vangittu", "been`captured"); break; case (192 + 32): fader = 31; fadetype = 2; break; case (192 + 64): fader = 7; fadetype = 1; memset(txb, 0, 80 * 50); txtline(txb + 80 * 2, "ja`vain", "and"); break; case (192 + 70): txtline(txb + 80 * 11, "yksi`mies", "only"); break; case (192 + 72): txtline(txb + 80 * 20, "voi", "one`man"); break; case (192 + 74): txtline(txb + 80 * 29, "pelastaa", "can"); break; case (192 + 76): txtline(txb + 80 * 38, "h{net", "save`him"); break; case (192 + 96): fader = 31; fadetype = 2; break; case (256 + 64): memset(txb, 0, 80 * 50); fader = 7; fadetype = 1; txtline(txb + 80 * 20, "i`s`i", "i`s`i"); break; case (256 + 64 + 32): txtline(txb + 80 * 8, "final", "final"); break; case (256 + 104): fader = 31; fadetype = 2; break; case (256 + 112): memset(txb, 0xff, 80 * 50); fader = 15; fadetype = 3; break; case (256 + 118): preparebuff(NONE); fx_main = NONE; uncrunch(LOGO, ruutu, sizeof(LOGO)); break; } d -= 5 * (256 + 128 + 28); if (d >= 0) if (!(d & 3)) switch (d >> 2) { case (0): preparebuff(SINGLE); fx_main = SCROLLER; scroller_init(HORIZON | NOSKRAMBLE); memset(txb, 0, 80 * 25 * 2); scr_txr(1); o0[OHGT].curr = 48 * 256; o0[OHGT].targ = 22 * 256; o0[OHGT].frac = 2048; o0[OZOOM].curr = o0[OZOOM].targ = 10; fx_3d = 1; txtline(txb + 80 * 8, "isi", "daddy"); txtline(txb + 80 * 18, "ei`turhia", "wont`wait"); txtline(txb + 80 * 28, "aikaile", "too`long"); fader = 7; fadetype = 1; break; case (32): fader = 31; fadetype = 2; break; case (64): memset(txb, 0, 80 * 25 * 2); txtline(txb + 80 * 5, "isi`laittaa", "daddy"); txtline(txb + 80 * 15, "p{{h{ns{", "puts`on`his"); txtline(txb + 80 * 25, "virtuaalisen", "virtual"); txtline(txb + 80 * 35, "kyp{r{n", "helm"); fader = 7; fadetype = 3; break; case (64 + 32): fader = 31; fadetype = 2; break; case (64 + 40): preparebuff(NONE); memset(ruutu, 0, 80 * 25 * 2); uncrunch(SYBER0, ruutu, sizeof(SYBER0)); break; case (64 + 44): memset(ruutu, 0, 80 * 25 * 2); uncrunch(SYBER1, ruutu, sizeof(SYBER1)); break; case (64 + 48): memset(ruutu, 0, 80 * 25 * 2); uncrunch(SYBER2, ruutu, sizeof(SYBER2)); break; case (64 + 52): preparebuff(SINGLE); memset(txb, 0xee, 80 * 25 * 2); fader = 31; fadetype = 2; o0[OFLX].curr = o0[OFLX].targ = 20 * 256; o0[OFLY].curr = o0[OFLY].targ = -15 * 256; fx_flare = 1; break; case (64 + 58): fader = 31; fadetype = 2; fx_flare = 0; break; case (64 + 64): fx_flare = 1; memset(txb, 0, 80 * 25 * 2); txtline(txb + 80 * 5, "ja`hetkess{", "and"); txtline(txb + 80 * 15, "h{nest{", "instantly"); txtline(txb + 80 * 25, "tulee", "he`becomes"); fader = 7; fadetype = 3; break; case (64 + 64 + 32): fx_flare = 0; memset(txb, 0, 80 * 25 * 2); txtline(txb + 80 * 30, "salaper{inen", "the"); txtline(txb + 80 * 40, "", "mysterious"); break; case (64 + 64 + 32 + 16): fx_3d = 1; eggine_load(0); o0[OY].curr = 70 * 32; o0[OY].targ = 25 * 32; o0[OROT].targ = 800; o0[OZOOM].targ = 31000; break; case (64 + 64 + 64): memset(txb, 0, 80 * 25 * 2); o0[OY].targ = 25 * 32; txtline(txb + 80 * 20, "virtuaalimies", "virtual`man"); break; case (64 + 64 + 64 + 16): o0[OROT].targ = 760; o0[OROT].frac = 512; break; case (64 + 64 + 64 + 32): fadetype = 4; fader = 1; fx_3d = 1; eggine_load(0); break; case (64 + 64 + 64 + 40): o0[OZOOM].targ = 100; o0[OZOOM].frac = 4096; break; case (64 + 64 + 64 + 48): memset(txb, 0xff, 80 * 25 * 2); break; } d -= 8 * 128; if (d >= 0) if (!(d & 3)) switch (d >> 2) { case (0): fx_3d = fx_flare = 0; preparebuff(HYBRID); memset(abb, 0x0000, 80 * 25 * 2); memset(txb, 0x0000, 80 * 25 * 2); memset(vib, 0, 80 * 50); fx_main = NONE; uncrunch(VPELU0, abb, sizeof(VPELU0)); uncrunch(VPELU1, txb, sizeof(VPELU1)); prforhyb(abb); prforhyb(txb); ansifrom = 2; atxtline(vib, "kuka`sin{", "who`are", 0); atxtline(vib + 9 * 80, "``olet", "``you", 0); break; case (64): memset(vib, 0, 80 * 50); atxtline(vib, "ja", "and", 0); atxtline(vib + 9 * 80, "``miksi`olet", "why`have`you", 0); break; case (64 + 16): memset(vib, 0, 80 * 50); atxtline(vib, "vanginnut", "captured", 0); atxtline(vib + 9 * 80, "``minut", "``me", 0); break; case (64 + 32): ansifrom = 0; memset(txb, 0, 80 * 25 * 2); uncrunch(VPELU2, txb, sizeof(VPELU2)); prforhyb(txb); break; case (128): ansifrom = 2; memset(vib, 0, 80 * 50); atxtline(vib, "min{`olen", "i`am", 1); break; case (128 + 16): atxtline(vib + 9 * 80, "sinun", "your", 1); break; case (128 + 32): memset(vib, 0, 80 * 50); atxtline(vib, "pime{", "dark", 1); atxtline(vib + 9 * 80, "puoliskosi", "half", 1); break; case (128 + 64): memset(abb, 0x0000, 80 * 25 * 2); memset(txb, 0x0000, 80 * 25 * 2); memset(vib, 0, 80 * 50); ansifrom = 2; uncrunch(VMPELU0, abb, sizeof(VMPELU0)); uncrunch(VMPELU1, txb, sizeof(VMPELU1)); prforhyb(abb); prforhyb(txb); atxtline(vib, "musta", "the`black", 0); atxtline(vib + 9 * 80, "``pelu", "``pelu", 0); break; } d -= ((128 + 128) * 4); if (d >= 0) if (!(d & 3)) switch (d >> 2) { case (0): memset(txb, 0, 80 * 25 * 2); preparebuff(SINGLE); scroller_init(HORIZON | NOSKRAMBLE); scr_txr(1); fx_main = SCROLLER; fx_main_spex = 1; fx_3d = 1; eggine_load(0); o0[OY].curr = 70 * 32; o0[OY].targ = 25 * 32; o0[OY].frac = 2048; o0[OZOOM].curr = 25000; o0[OZOOM].targ = 100; o0[OZOOM].frac = 1024; fader = 7; fadetype = 1; memset(txb, 0, 80 * 25 * 2); txtline(txb + 9 * 80, "isi", "daddy"); txtline(txb + 18 * 80, "etsii", "looks`for"); txtline(txb + 27 * 80, "poikaansa", "his`son"); txtline(txb + 36 * 80, "urheasti", "bravely"); break; case (32): fader = 31; fadetype = 2; break; case (48): o0[OHGT].targ = 5 * 256; o0[OHGT].frac = 4096; break; case (64): eggine_load(1); memset(txb, 0, 80 * 25 * 2); o0[OY].curr = 70 * 32; o0[OY].targ = 25 * 32; o0[OY].frac = 2048; o0[OZOOM].curr = 20000; o0[OZOOM].targ = 27000; o0[OROT].targ = 1000; o0[OROT].frac = 4096; txtline(txb + 2 * 80, "mutta", "but"); txtline(txb + 11 * 80, "pimeyden", "the`dark"); txtline(txb + 20 * 80, "varjostajat", "shadows"); txtline(txb + 29 * 80, "huomaavat", "notice"); txtline(txb + 38 * 80, "h{net", "him"); fader = 7; fadetype = 1; break; case (64 + 32): fader = 31; fadetype = 2; o0[OROT].targ = 700; o0[OROT].frac = 2048; o0[OROT].frac = 1024; break; case (64 + 48): o0[OROT].targ = 1000; break; case (64 + 56): o0[OROT].targ = 200; break; case (64 + 64): o0[OZOOM].targ = 100; o0[OZOOM].frac = 4096; break; # 338 "tmp" case (64 + 64 + 16): o0[OY].curr = 70 * 32; o0[OY].targ = 25 * 32; o0[OY].frac = 4096; o0[OROT].targ = 500; o0[OZOOM].curr = 31000; o0[OZOOM].targ = 100; o0[OZOOM].frac = 4096; memset(txb, 0, 80 * 25 * 2); txtline(txb + 8 * 80, "pimeyden", "there`is"); txtline(txb + 18 * 80, "varjostajia", "a`lot`of"); txtline(txb + 28 * 80, "tulee", "dark"); txtline(txb + 38 * 80, "paljon", "shadows"); fader = 7; fadetype = 1; break; case (64 + 64 + 32): o0[OY].curr = 70 * 32; o0[OY].targ = 25 * 32; o0[OY].frac = 4096; o0[OROT].targ = 50; o0[OZOOM].curr = 31000; o0[OZOOM].targ = 100; o0[OZOOM].frac = 4096; break; case (64 + 64 + 48): o0[OY].curr = 70 * 32; o0[OY].targ = 25 * 32; o0[OY].frac = 4096; o0[OROT].targ = 500; o0[OZOOM].curr = 31000; o0[OZOOM].targ = 100; o0[OZOOM].frac = 4096; fader = 31; fadetype = 2; break; case (64 + 64 + 64): memset(txb, 0, 80 * 25 * 2); txtline(txb + 8 * 80, "ja`isi", "and`daddy"); txtline(txb + 18 * 80, "on`nyt", "is`now"); txtline(txb + 28 * 80, "katalassa", "in`quite"); txtline(txb + 38 * 80, "pinteess{", "`a`trouble"); fader = 7; fadetype = 1; break; case (64 + 64 + 64 + 32): fader = 31; fadetype = 2; break; } d -= 256 * 4; if (d >= 0) if (!(d & 3)) switch (d >> 2) { case (0): preparebuff(HYBRID); memset(txb, 0, 80 * 25 * 2); ansifrom = 2; uncrunch(P_SPR, txb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR, txb + 60 * 2 + 10 * 160, sizeof(MP_SPR)); memset(abb, 0, 80 * 25 * 2); uncrunch(P_SPR, abb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR1, abb + 60 * 2 + 10 * 160, sizeof(MP_SPR1)); prforhyb(abb); prforhyb(txb); fx_main = 0; fx_3d = 0; memset(vib, 0, 80 * 25 * 2); atxtline(vib, "lapsena", "as`children", 1); atxtline(vib + 9 * 80, "olimme`yksi`", "we`were`one``", 1); break; case (32): uncrunch(SINIPELU, abb + 20 * 2 + 7 * 160, sizeof(SINIPELU)); break; case (64): ansifrom = 2; memset(abb, 0, 80 * 25 * 2); uncrunch(P_SPR, abb + 11 * 160, sizeof(P_SPR1)); uncrunch(MP_SPR1, abb + 60 * 2 + 10 * 160, sizeof(MP_SPR1)); prforhyb(abb); memset(vib, 0, 80 * 25 * 2); atxtline(vib, "sitten`meid{t", "then`we`were", 1); atxtline(vib + 9 * 80, "erotettiin`", "separated``", 1); break; case (96): memset(vib, 0, 80 * 25 * 2); atxtline(vib, "sin{`olet", "you`are`good", 1); atxtline(vib + 9 * 80, "hyv{```", "i`am`evil", 1); atxtline(vib + 18 * 80, "min{`paha`", "", 1); break; case (96 + 16): memset(vib, 0, 80 * 25 * 2); atxtline(vib, "sin{`valkea", "you`are`white", 1); atxtline(vib + 9 * 80, "min{`musta`", "i`am`dark", 1); break; case (128): ansifrom = 2; memset(abb, 0, 80 * 25 * 2); uncrunch(P_SPR, abb + 11 * 160, sizeof(P_SPR1)); uncrunch(MP_SPR1, abb + 60 * 2 + 10 * 160, sizeof(MP_SPR1)); prforhyb(abb); memset(vib, 0, 80 * 25 * 2); atxtline(vib, "meid{n", "we`should", 1); atxtline(vib + 9 * 80, "pit{isi`taas", "unite`again", 1); atxtline(vib + 18 * 80, "yhdisty{``", "", 1); break; case (128 + 32): uncrunch(JINJANG, abb + 20 * 2 + 7 * 160, sizeof(JINJANG)); prforhyb(abb); break; case (128 + 64): memset(txb, 0, 80 * 25 * 2); ansifrom = 2; uncrunch(P_SPR, txb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR, txb + 60 * 2 + 10 * 160, sizeof(MP_SPR)); memset(abb, 0, 80 * 25 * 2); uncrunch(P_SPR1, abb + 11 * 160, sizeof(P_SPR1)); uncrunch(MP_SPR, abb + 60 * 2 + 10 * 160, sizeof(MP_SPR)); prforhyb(abb); prforhyb(txb); memset(vib, 0, 80 * 25 * 2); atxtline(vib, "mutta", "but", 0); atxtline(vib + 9 * 80, "mit{`siit{", "what`would`it", 0); atxtline(vib + 18 * 80, "``seuraisi", "``lead`to", 0); break; case (128 + 64 + 32): uncrunch(MP_SPR2, abb + 60 * 2 + 10 * 160, sizeof(MP_SPR2)); ansifrom = 1; memset(vib, 0, 80 * 25 * 2); atxtline(vib, "maailmanloppu", "the`end", 1); atxtline(vib + 9 * 80, "", "of`the`world", 1); break; } d -= 4 * 256; if (d >= 0) if (!(d & 3)) switch (d >> 2) { case (0): preparebuff(SINGLE); fx_main = SCROLLER; scroller_init(HORIZON | NOSKRAMBLE); memset(txb, 0, 80 * 25 * 2); txtcol = 0; o0[OHGT].curr = o0[OHGT].targ = 256 * 25; o0[OHGT].frac = 2048; o0[OFLX].curr = -50 * 256; o0[OFLY].curr = -30 * 256; o0[OFLX].targ = 10 * 256; o0[OFLY].targ = -20 * 256; fx_3d = fx_flare = 1; eggine_load(0); o0[OZOOM].curr = 100; o0[OZOOM].targ = 25000; o0[OZOOM].frac = 4096; o0[OROT].curr = 500; o0[OX].curr = 40 * 32; o0[OY].curr = 25 * 32; case (16): o0[OROT].targ = 80; break; case (32): o0[OY].targ = 70 * 32; o0[OZOOM].targ = 15000; o0[OFLX].targ = -20 * 256; o0[OFLY].targ = -7 * 256; o0[OHGT].targ = 10 * 256; break; case (40): eggine_load(1); o0[OZOOM].curr = 100; o0[OZOOM].targ = 31000; o0[OY].curr = o0[OY].targ = 25 * 32; o0[OFLX].targ = 0 * 256; break; case (48): o0[OZOOM].targ = 25000; break; case (56): memset(txb, 0, 80 * 50); txtline(txb + 9 * 80, "isi", "daddy"); txtline(txb + 18 * 80, "on`nyt", "is`now"); txtline(txb + 27 * 80, "saarrettu", "trapped"); fader = 7; fadetype = 1; break; case (64 + 16): fader = 31; fadetype = 2; break; case (64 + 32): o0[OROT].targ = 400; o0[OROT].frac = 4096; memset(txb, 0xee, 80 * 50); fader = 7; fadetype = 1; break; case (64 + 36): fader = 7; fadetype = 1; o0[OROT].targ = 10; o0[OFLX].targ = 10 * 32; o0[OFLY].targ = -20 * 32; break; case (64 + 40): fader = 31; fadetype = 2; eggine_load(0); o0[OY].curr = 10 * 32; o0[OY].targ = 30 * 32; o0[OROT].targ = 600; fx_flare = 0; o0[OHGT].curr = o0[OHGT].targ = 40 * 256; o0[OZOOM].curr = o0[OZOOM].targ = 20000; break; case (64 + 48): o0[OY].targ = 20 * 32; break; case (64 + 56): o0[OZOOM].targ = 30000; break; case (64 + 64): o0[OHGT].targ = 25 * 256; o0[OY].targ = 30 * 32; memset(txb, 0, 80 * 50); txtline(txb + 4 * 80, "onneksi", "fortunately"); txtline(txb + 14 * 80, "isill{`on", "daddy`has"); txtline(txb + 24 * 80, "salainen", "a`secret"); txtline(txb + 34 * 80, "ase", "weapon"); fader = 7; fadetype = 1; break; case (64 + 64 + 16): o0[OROT].targ = 500; fx_flare = 1; o0[OFLX].curr = -40 * 256; o0[OFLX].targ = 30 * 256; break; case (64 + 64 + 24): fader = 31; fadetype = 2; break; case (64 + 64 + 32): preparebuff(HYBRID); memset(txb, 0, 80 * 50); memset(abb, 0, 80 * 50); uncrunch(WINNUKE0, txb, sizeof(WINNUKE0)); uncrunch(WINNUKE1, abb, sizeof(WINNUKE1)); ansifrom = 1; fx_flare = 0; eggine_load(1); o0[OY].targ = o0[OY].curr = 15 * 32; o0[OROT].curr = 500; o0[OROT].targ = 200; o0[OZOOM].curr = o0[OZOOM].targ = 25000; o0[OHGT].curr = o0[OHGT].targ = 40 * 256; break; case (64 + 64 + 32 + 16): ansifrom = 0; break; case (64 + 64 + 32 + 24): preparebuff(SINGLE); o0[OZOOM].curr = o0[OZOOM].targ = 25000; o0[OROT].curr = o0[OROT].targ = 500; o0[OHGT].curr = o0[OHGT].targ = 15 * 256; fx_flare = 1; break; case (64 + 64 + 32 + 32): o0[OROT].targ = 200; o0[OHGT].targ = 45 * 256; o0[OFLY].targ = -25 * 256; o0[OFLX].targ = -30 * 256; break; case (64 + 64 + 32 + 36): o0[OZOOM].targ = 100; fx_flare = 1; o0[OFLY].curr = (15 - 25) * 256; o0[OFLX].curr = 0; o0[OFLY].targ = (35 - 25) * 256; o0[OFLX].targ = (10 - 40) * 256; o0[OY].targ = 35 * 32; o0[OX].targ = 10 * 32; o0[OX].frac = 8192; o0[OY].frac = 8192; o0[OFLX].frac = 8192; o0[OFLY].frac = 8192; break; case (64 + 64 + 32 + 48): memset(txb, 0xcc, 80 * 50); fader = 31; fadetype = 2; fx_flare = 0; break; case (64 + 64 + 32 + 52): fx_flare = 1; break; case (64 + 64 + 32 + 56): fader = 31; fadetype = 2; fx_flare = 0; break; } d -= 4 * 256; if (d >= 0) if (!(d & 3)) switch (d >> 2) { case (0): eggine_load(0); o0[OHGT].targ = 5 * 256; o0[OZOOM].targ = o0[OZOOM].curr = 28000; o0[OROT].targ = 300; o0[OX].curr = o0[OX].targ = 40 * 32; o0[OY].curr = 60 * 32; o0[OY].targ = 25 * 32; break; case (16): o0[OZOOM].targ = 100; memset(txb, 0, 80 * 50); txtline(txb + 4 * 80, "isi`jatkaa", "daddy"); txtline(txb + 14 * 80, "matkaansa", "journeys`on"); txtline(txb + 24 * 80, "mustan`pelun", "to`black`pelu"); txtline(txb + 34 * 80, "linnakkeelle", "fortress"); fader = 7; fadetype = 1; break; case (48): fader = 31; fadetype = 2; break; case (64): preparebuff(HYBRID); fx_main = 0; memset(txb, 0, 80 * 25 * 2); ansifrom = 0; uncrunch(P_SPR, txb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR2, txb + 30 * 2 + 10 * 160, sizeof(MP_SPR2)); break; case (64 + 16): memset(txb, 0, 80 * 25 * 2); memset(vib, 0, 80 * 25 * 2); uncrunch(P_SPR, txb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR2, txb + 27 * 2 + 10 * 160, sizeof(MP_SPR2)); atxtline(vib, "isiiii", "daddeeeee", 0); atxtline(vib + 9 * 80, "pelasta`jo", "save`meeee", 0); prforhyb(txb); break; case (64 + 32): memset(txb, 0, 80 * 25 * 2); uncrunch(P_SPR, txb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR2, txb + 24 * 2 + 10 * 160, sizeof(MP_SPR2)); prforhyb(txb); break; case (64 + 48): memset(txb, 0, 80 * 25 * 2); uncrunch(P_SPR, txb + 11 * 160, sizeof(P_SPR)); uncrunch(MP_SPR2, txb + 2 * 21 + 10 * 160, sizeof(MP_SPR2)); break; case (64 + 56): preparebuff(SINGLE); fx_main = SCROLLER; txtcol = 0; memset(vib, 0, 80 * 25 * 2); o0[OHGT].targ = 5 * 256; o0[OZOOM].curr = 100; o0[OZOOM].targ = 28000; o0[OROT].curr = 200; o0[OROT].targ = 700; o0[OFLX].curr = 30 * 256; o0[OFLY].curr = -15 * 256; o0[OFLX].targ = -30 * 256; o0[OFLY].targ = 15 * 256; o0[OY].targ = 40 * 32; break; case (128 + 5): o0[OY].targ = 60 * 32; o0[OZOOM].targ = 20000; break; case (128 + 16): preparebuff(HYBRID); fx_main = 0; ansifrom = 0; fx_3d = 0; memset(vib, 0, 80 * 50); memset(txb, 0, 80 * 50); uncrunch(SAVE0, txb, sizeof(SAVE0)); break; case (128 + 20): memset(txb, 0, 80 * 50); uncrunch(SAVE1, txb, sizeof(SAVE1)); break; case (128 + 24): memset(txb, 0, 80 * 50); uncrunch(SAVE2, txb, sizeof(SAVE2)); break; case (128 + 28): memset(txb, 0, 80 * 50); uncrunch(SAVE3, txb, sizeof(SAVE3)); break; case (128 + 32): memset(txb, 0, 80 * 50); uncrunch(SAVE4, txb, sizeof(SAVE4)); break; case (128 + 36): memset(txb, 0, 80 * 50); uncrunch(SAVE5, txb, sizeof(SAVE5)); break; case (128 + 48): prforhyb(txb); atxtline(vib, "oho", "uh`oh", 0); break; case (128 + 64): memset(vib, 0, 80 * 50); atxtline(vib, "isiiii", "daddeeee", 1); break; case (128 + 64 + 16): uncrunch(XFOR, txb + 50 * 160, sizeof(XFOR)); memset(vib, 0, 80 * 50); atxtline(vib, "pelastit", "you`saved", 1); break; case (128 + 64 + 32): memset(vib, 0, 80 * 50); atxtline(vib, "minut`ja", "me`and", 1); break; case (128 + 64 + 48): memset(vib, 0, 80 * 50); atxtline(vib, "maailman", "the`world``", 1); break; break; case (256): preparebuff(SINGLE); memset(txb, 0, 80 * 50); memset(abb, 0, 80 * 50); memset(vib, 0, 80 * 50); txtline(txb + 8 * 80, "mites`nyt", "how`can"); txtline(txb + 24 * 80, "noin`k{vi", "this`happen"); fader = 31; fadetype = 1; break; case (256 + 64): memset(txb, 0, 80 * 50); txtline(txb + 6 * 80, "no`eip{`ole", "well"); txtline(txb + 16 * 80, "meid{n", "thats`not"); txtline(txb + 26 * 80, "ongelma", "our`problem"); break; case (256 + 128): memset(txb, 0, 80 * 50); txtline(txb + 22 * 80, "the`end", "the`end"); break; case (256 + 128 + 64): lastkey = 27; break; } if (fader) { int f = fader; int joo[8] = { 0x0000, 0x0808, 0x0707, 0x7070, 0x7777, 0x7f7f, 0xf7f7, 0xffff }; if (fadetype == 2) f = 7 - f / 4; if (fadetype == 3) f = f / 2; if (fadetype == 4) { f &= 7; fader += 2; } if (f > 7) f = 7; if (f < 0) f = 0; txtcol = joo[7 - f]; fader--; } dt++; } if (buffclass) effu(t); pwplib.loopflush(); } }