cspr ?
authorJohn Tsiombikas <nuclear@member.fsf.org>
Sat, 7 Mar 2020 05:03:25 +0000 (07:03 +0200)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Sat, 7 Mar 2020 05:03:25 +0000 (07:03 +0200)
Makefile
src/game.c
src/game.h
src/introscr.c
src/menuscr.c
tools/scripts/fixdos [new file with mode: 0755]

index cf58921..fa039e8 100644 (file)
--- 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)
index 23aa25c..238ee08 100644 (file)
@@ -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;
+       }
+}
+
index 77a5fce..0ac002d 100644 (file)
@@ -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_ */
index b4d4ec4..5690561 100644 (file)
@@ -66,6 +66,8 @@ void intro_draw(void)
                }
        }
 
+       cs_dputs(fb_pixels, 10, 10, "foo");
+
        blit_frame(fb_pixels, 1);
 }
 
index e3517c4..a0199a5 100644 (file)
@@ -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 (executable)
index 0000000..14436d5
--- /dev/null
@@ -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