void help(void) { gfx_fillscreen(0); txt_printcenter(0, SPR_FONTS, "MAP EDITOR HELP"); txt_printcenter(16, SPR_FONTS, "F1 - LOAD MAP"); txt_printcenter(24, SPR_FONTS, "F2 - SAVE MAP"); txt_printcenter(32, SPR_FONTS, "F3 - LOAD BLOCKS"); txt_printcenter(40, SPR_FONTS, "F4 - LOAD PALETTE"); txt_printcenter(48, SPR_FONTS, "F10 - THIS SCREEN"); txt_printcenter(56, SPR_FONTS, "F12 - SWITCH SCREENMODE"); txt_printcenter(64, SPR_FONTS, "ESC - EXIT PROGRAM"); txt_printcenter(80, SPR_FONTS, "1,2,3,4 - SELECT LAYER TO WORK ON"); txt_printcenter(88, SPR_FONTS, "5,6,7,8 - TOGGLE LAYER VISIBILITY"); txt_printcenter(96, SPR_FONTS, "L - LAYER SIZE & OPTIONS"); txt_printcenter(104, SPR_FONTS, "G - GRAB BLOCK UNDER CURSOR"); txt_printcenter(112, SPR_FONTS, "C - COPY MARKED AREA"); txt_printcenter(120, SPR_FONTS, "F,B - FILL MARKED AREA"); txt_printcenter(128, SPR_FONTS, "P - PASTE MARKED AREA"); txt_printcenter(136, SPR_FONTS, "Z,X - SELECT BLOCK"); txt_printcenter(144, SPR_FONTS, "A,S - SELECT BLOCK FAST"); txt_printcenter(152, SPR_FONTS, "SCROLLLOCK - TOGGLE MOUSE SCROLLING"); txt_printcenter(160, SPR_FONTS, "I,J,K,M - CHANGE SIZE FAST IN LAYER OPT."); txt_printcenter(176, SPR_FONTS, "USE LEFT MOUSEBUTTON TO DRAW AND RIGHT"); txt_printcenter(184, SPR_FONTS, "MOUSEBUTTON TO MARK AREAS."); gfx_updatepage(); for (;;) { win_getspeed(60); key = kbd_getkey(); getmousemove(); getmousebuttons(); if ((mouseb) || (key)) break; } }
void help(void) { gfx_fillscreen(0); txt_printcenter(0, SPR_FONTS, "BLOCKINFO EDITOR HELP"); txt_printcenter(16, SPR_FONTS, "F1 - LOAD BLOCKINFO"); txt_printcenter(24, SPR_FONTS, "F2 - SAVE BLOCKINFO"); txt_printcenter(32, SPR_FONTS, "F3 - LOAD MAP"); txt_printcenter(40, SPR_FONTS, "F4 - SAVE MAP"); txt_printcenter(48, SPR_FONTS, "F10 - THIS SCREEN"); txt_printcenter(56, SPR_FONTS, "F12 - SWITCH SCREENMODE"); txt_printcenter(64, SPR_FONTS, "ESC - EXIT PROGRAM"); txt_printcenter(80, SPR_FONTS, "Z,X,A,S - SELECT BLOCK"); txt_printcenter(88, SPR_FONTS, "C - CLEAR BLOCKINFO FOR CURRENT BLOCK"); txt_printcenter(96, SPR_FONTS, "P,T - PUT/TAKE BLOCKINFO TO COPYBUFFER"); txt_printcenter(112, SPR_FONTS, "LEFT MOUSEBUTTON SETS A BIT"); txt_printcenter(120, SPR_FONTS, "RIGHT MOUSEBUTTON CLEARS A BIT"); gfx_updatepage(); for (;;) { win_getspeed(60); key = kbd_getkey(); getmousemove(); getmousebuttons(); if ((mouseb) || (key)) break; } }
void enterfilename(char *text, char *buffer) { int c; for (c = strlen(buffer); c < 13; c++) buffer[c] = 0; kbd_getascii(); for (;;) { int ascii; int cursorpos; win_getspeed(60); key = kbd_getkey(); ascii = kbd_getascii(); getmousemove(); getmousebuttons(); cursorpos = strlen(buffer); if (ascii == 8) { if (cursorpos) { buffer[cursorpos-1] = 0; } } if (ascii == 27) { memset(buffer, 0, 13); return; } if (ascii == 13) return; if ((ascii >= 32) && (cursorpos < 12)) { buffer[cursorpos] = ascii; } gfx_fillscreen(0); txt_printcenter(80, SPR_FONTS, text); txt_printcenter(90, SPR_FONTS, buffer); gfx_updatepage(); } }
void mainloop(void) { gfx_calcpalette(64, 0, 0, 0); gfx_setpalette(); win_getspeed(60); for (;;) { speed = win_getspeed(60); key = kbd_getkey(); getmousemove(); getmousebuttons(); if ((key == KEY_ESC) || (win_quitted)) break; generalcommands(); gfx_fillscreen(0); printinfo(); printstatus(); gfx_drawsprite(mousex, mousey, 0x00010001); gfx_updatepage(); } }
void mainloop(void) { gfx_calcpalette(64, 0, 0, 0); gfx_setpalette(); win_getspeed(60); for (;;) { speed = win_getspeed(60); if (speed > 10) speed = 10; key = kbd_getkey(); getmousemove(); getmousebuttons(); if ((key == KEY_ESC) || (win_quitted)) break; blockediting(); scrollmap(); generalcommands(); gfx_fillscreen(transparent); drawalllayers(); printstatus(); if (mark) { int mx, my; if (layer[cl].xdivisor) mx = markx1*gfx_blockxsize-xpos/layer[cl].xdivisor; else mx = markx1*gfx_blockxsize; if (layer[cl].xsize) { while (mx < 0) { mx += layer[cl].xsize*gfx_blockxsize; } mx %= (layer[cl].xsize*gfx_blockxsize); } if (layer[cl].ydivisor) my = marky1*gfx_blockysize-ypos/layer[cl].ydivisor; else my = marky1*gfx_blockysize; if (layer[cl].ysize) { while (my < 0) { my += layer[cl].ysize*gfx_blockysize; } my %= (layer[cl].ysize*gfx_blockysize); } gfx_drawsprite(mx,my,0x00010002); } if (mark==2) { int mx, my; if (layer[cl].xdivisor) mx = markx2*gfx_blockxsize-xpos/layer[cl].xdivisor; else mx = markx2*gfx_blockxsize; if (layer[cl].xsize) { while (mx < 0) { mx += layer[cl].xsize*gfx_blockxsize; } mx %= (layer[cl].xsize*gfx_blockxsize); } if (layer[cl].ydivisor) my = marky2*gfx_blockysize-ypos/layer[cl].ydivisor; else my = marky2*gfx_blockysize; if (layer[cl].ysize) { while (my < 0) { my += layer[cl].ysize*gfx_blockysize; } my %= (layer[cl].ysize*gfx_blockysize); } gfx_drawsprite(mx,my,0x00010003); } gfx_drawsprite(mousex,mousey,0x00010001); gfx_updatepage(); } }