ref: 0441e14568c0254ba99e516d1282fd196cb1e0a3
dir: /mn.c/
#include <u.h> #include <libc.h> #include "dat.h" #include "fns.h" static void (*clear)(void); static void (*stripe)(int); static void (*scores)(void); static void (*title)(void); static void wlclear(void) { put(0, 0, Vw, Vh, nil, 0x29); } static void sdclear(void) { pic(0, 0, Pbackdrop); } static void wlstripe(int y) { put(0, y, Vw, 24, nil, 0); put(0, y+22, 320, 1, nil, 0x2c); } static void sdstripe(int y) { put(0, y, Vw, 22, nil, 0); put(0, y+23, 320, 1, nil, 0); } static void pants(void) { fadeout(45); playmus(18); pic(0, 0, pict[Pid1]); pic(0, 80, pict[Pid2]); palpic(exts[Eid].p); fadein(30); /* wait for input */ delay(15); fadeout(45); pal = pals[C0]; /* draw main menu */ } static void wlscores(void) { clear(); stripe(10); pic(48, 0, pict[Pscores]); pic(4*8, 68, pict[Pname]); pic(20*8, 68, pict[Plvl]); pic(28*8, 68, pict[Phigh]); } static void sdscores(void) { clear(); pic(0, 0, pict[Pscores]); } static void wltitle(void) { pic(0, 0, pict[Ptitle1]); } static void sdtitle(void) { pic(0, 0, pict[Ptitle1]); pic(0, 80, pict[Ptitle2]); palpic(exts[Etitpal].p); } static void intro(void) { fill(0x82); pic(216, 110, pict[Ppg13]); fadein(40); delay(7); fadeout(40); } void init(void) { if(ver < SDM){ clear = wlclear; stripe = wlstripe; scores = wlscores; title = wltitle; }else{ clear = sdclear; stripe = sdstripe; scores = sdscores; title = sdtitle; } if(!nointro) intro(); } void demos(void) { for(;;){ if(nointro) goto stop; title(); fadein(30); delay(15); fadeout(40); pal = pals[C0]; pic(0, 0, pict[Pcreds]); fadein(30); delay(10); fadeout(40); scores(); fadein(30); delay(10); fadeout(40); continue; stop: break; } }