From: John Tsiombikas Date: Sat, 7 Mar 2020 05:03:25 +0000 (+0200) Subject: cspr ? X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=eradicate;a=commitdiff_plain;h=79091ddde8d1e5f865502f1a3f0755cda57c34fb cspr ? --- diff --git a/Makefile b/Makefile index cf58921..fa039e8 100644 --- a/Makefile +++ b/Makefile @@ -6,21 +6,24 @@ scrobj = src/introscr.obj src/menuscr.obj gameobj = src/game.obj src/util.obj src/gfxutil.obj src/dynarr.obj src/rbtree.obj gfxobj = src/3dgfx/3dgfx.obj src/3dgfx/mesh.obj src/3dgfx/meshload.obj & src/3dgfx/polyfill.obj src/3dgfx/polyclip.obj +csprobj = cspr/dbgfont.obj incpath = -Isrc -Isrc/dos -Ilibs/imago/src libpath = libpath libs/imago !else -dosobj = src\dos\main.obj src\dos\gfx.obj src\dos\timer.obj src\dos\watdpmi.obj & - src\dos\vbe.obj src\dos\vga.obj src\dos\keyb.obj src\dos\mouse.obj & - src\dos\logger.obj +dosobj = src\dos\main.obj src\dos\gfx.obj src\dos\timer.obj & + src\dos\watdpmi.obj src\dos\vbe.obj src\dos\vga.obj src\dos\keyb.obj & + src\dos\mouse.obj src\dos\logger.obj scrobj = src\introscr.obj src\menuscr.obj -gameobj = src\game.obj src\util.obj src\gfxutil.obj src\dynarr.obj src\rbtree.obj +gameobj = src\game.obj src\util.obj src\gfxutil.obj src\dynarr.obj & + src\rbtree.obj gfxobj = src\3dgfx\3dgfx.obj src\3dgfx\mesh.obj src\3dgfx\meshload.obj & - src\3dgfx\polyfill.obj src\3dgfx\polyclip.obj + src\3dgfx\polyfill.obj src\3dgfx\polyclip.obj +csprobj = cspr/dbgfont.obj incpath = -Isrc -Isrc\dos -Ilibs\imago\src libpath = libpath libs\imago !endif -obj = $(dosobj) $(gameobj) $(gfxobj) $(scrobj) +obj = $(dosobj) $(gameobj) $(gfxobj) $(scrobj) $(csprobj) bin = game.exe def = -dM_PI=3.141592653589793 @@ -37,7 +40,7 @@ $(bin): cflags.occ $(obj) libs/imago/imago.lib $(LD) debug all name $@ system dos4g file { @objects } @ldflags .c: src;src/dos;src/3dgfx -.asm: src;src/dos;src/3dgfx +.asm: src;src/dos;src/3dgfx;cspr cflags.occ: Makefile %write $@ $(CFLAGS) @@ -57,6 +60,7 @@ clean: .symbolic clean: .symbolic del src\*.obj del src\dos\*.obj + del cspr\*.obj del *.lnk del cflags.occ del $(bin) diff --git a/src/game.c b/src/game.c index 23aa25c..238ee08 100644 --- a/src/game.c +++ b/src/game.c @@ -29,3 +29,16 @@ void cleanup(void) intro_cleanup(); menu_cleanup(); } + +void cs_puts_font(cs_font_func csfont, int sz, void *fb, int x, int y, const char *str) +{ + while(*str) { + int c = *str++; + + if(c > ' ' && c < 128) { + csfont(fb, x, y, c - ' '); + } + x += sz; + } +} + diff --git a/src/game.h b/src/game.h index 77a5fce..0ac002d 100644 --- a/src/game.h +++ b/src/game.h @@ -41,5 +41,13 @@ extern void (*key_event)(int key, int pressed); void game_quit(void); +/* compiled sprites available */ +typedef void (*cs_font_func)(void *, int, int, int); +void cs_dbgfont(void *fb, int x, int y, int idx); + +/* helper to print text with cs_font */ +void cs_puts_font(cs_font_func csfont, int sz, void *fb, int x, int y, const char *str); + +#define cs_dputs(fb, x, y, str) cs_puts_font(cs_dbgfont, 9, fb, x, y, str) #endif /* GAME_H_ */ diff --git a/src/introscr.c b/src/introscr.c index b4d4ec4..5690561 100644 --- a/src/introscr.c +++ b/src/introscr.c @@ -66,6 +66,8 @@ void intro_draw(void) } } + cs_dputs(fb_pixels, 10, 10, "foo"); + blit_frame(fb_pixels, 1); } diff --git a/src/menuscr.c b/src/menuscr.c index e3517c4..a0199a5 100644 --- a/src/menuscr.c +++ b/src/menuscr.c @@ -45,8 +45,8 @@ void menu_stop(void) } -#define BBW 512 -#define BBH 128 +#define BBW 256 +#define BBH 64 void menu_draw(void) { @@ -70,11 +70,11 @@ void menu_draw(void) memcpy(fb_pixels, bgpix, fb_size); tmp = fboffs; - fboffs -= 16 * fb_width + 128; - bboffs -= 16 * BBW + 128; - blit_key(fb_pixels + fboffs, fb_width, blurbuf[0] + bboffs, ent->len + 256, ent->height + 32, BBW, 0); + fboffs -= 8 * fb_width + 32; + bboffs -= 8 * BBW + 32; + blit(fb_pixels + fboffs, fb_width, blurbuf[0] + bboffs, ent->len + 64, ent->height + 16, BBW); fboffs = tmp; - //blit_key(fb_pixels + fboffs, fb_width, bgpix + fboffs, ent->len, ent->height, bgwidth, 0); + blit_key(fb_pixels + fboffs, fb_width, bgpix + fboffs, ent->len, ent->height, bgwidth, 0); blit_frame(fb_pixels, 0); } diff --git a/tools/scripts/fixdos b/tools/scripts/fixdos new file mode 100755 index 0000000..14436d5 --- /dev/null +++ b/tools/scripts/fixdos @@ -0,0 +1,12 @@ +#!/bin/sh + +mkwrong=$(find . -name makefile) + +for i in $mkwrong; do + mv $i `dirname $i`/Makefile +done + +files=$(git ls-files -m) +for i in $files; do + dropcr $i +done