]> 4ch.mooo.com Git - 16.git/commitdiff
HOLY SHIT I GOT FONTS TO RENDER!!!
authorsparky4 <sparky4@cock.li>
Tue, 14 Jul 2015 13:27:39 +0000 (08:27 -0500)
committersparky4 <sparky4@cock.li>
Tue, 14 Jul 2015 13:27:39 +0000 (08:27 -0500)
modified:   16.exe
new file:   fontgfx.exe
modified:   fonttes0.exe
modified:   makefile
modified:   maptest.exe
modified:   palettec.exe
modified:   pcxtest.exe
new file:   src/fontgfx.c
modified:   src/lib/modex16.c
modified:   src/lib/modex16.h
modified:   test.exe
modified:   test2.exe

12 files changed:
16.exe
fontgfx.exe [new file with mode: 0644]
fonttes0.exe
makefile
maptest.exe
palettec.exe
pcxtest.exe
src/fontgfx.c [new file with mode: 0644]
src/lib/modex16.c
src/lib/modex16.h
test.exe
test2.exe

diff --git a/16.exe b/16.exe
index 9017de370c1a7e715118909fb882e28eb8ddb641..7ec60bb2a916d4377aaf613e9e60a19dcde12183 100644 (file)
Binary files a/16.exe and b/16.exe differ
diff --git a/fontgfx.exe b/fontgfx.exe
new file mode 100644 (file)
index 0000000..d3f896a
Binary files /dev/null and b/fontgfx.exe differ
index 6a0d03e696caea4a8e6ad9b998bf43fe86b1b458..52ebe38440e9a5d33747e06e4c98dcd4f8f61264 100644 (file)
Binary files a/fonttes0.exe and b/fonttes0.exe differ
index 20796d085f1779f360a3499edf2a691cb75d3a2f..eed5450ff56e509bf93e8766df6f83d5c1cd9878 100644 (file)
--- a/makefile
+++ b/makefile
@@ -22,10 +22,10 @@ JSMNLIB=$(SRCLIB)jsmn$(DIRSEP)
 EXMMLIB=$(SRCLIB)exmm$(DIRSEP)
 WCPULIB=$(SRCLIB)wcpu$(DIRSEP)
 
-16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) scroll16.$(OBJ) 16text.$(OBJ) 16_ca.$(OBJ)
-GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ)
+16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) scroll16.$(OBJ) 16_ca.$(OBJ)
+GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ)
 
-all: 16.exe test.exe pcxtest.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe inputest.exe exmmtest.exe fonttes0.exe
+all: 16.exe test.exe pcxtest.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe inputest.exe exmmtest.exe fonttes0.exe fontgfx.exe
 
 #
 #executables
@@ -49,14 +49,17 @@ fonttest.exe: fonttest.$(OBJ) 16.lib
 fonttes0.exe: fonttes0.$(OBJ) 16.lib
         wcl $(FLAGS) fonttes0.$(OBJ) 16.lib
 
+fontgfx.exe: fontgfx.$(OBJ) 16.lib
+        wcl $(FLAGS) fontgfx.$(OBJ) 16.lib
+
 inputest.exe: inputest.$(OBJ) 16.lib
        wcl $(FLAGS) inputest.$(OBJ) 16.lib
 
 pcxtest.exe: pcxtest.$(OBJ) gfx.lib
        wcl $(FLAGS) pcxtest.$(OBJ) gfx.lib
 
-palettec.exe: palettec.$(OBJ) modex16.$(OBJ)
-       wcl $(FLAGS) palettec.$(OBJ) modex16.$(OBJ)
+palettec.exe: palettec.$(OBJ) 16.lib
+       wcl $(FLAGS) palettec.$(OBJ) 16.lib
 
 maptest.exe: maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) 16.lib
        wcl $(FLAGS) maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) 16.lib
@@ -115,6 +118,9 @@ fonttest.$(OBJ): $(SRC)fonttest.c
 fonttes0.$(OBJ): $(SRC)fonttes0.c
         wcl $(FLAGS) -c $(SRC)fonttes0.c
 
+fontgfx.$(OBJ): $(SRC)fontgfx.c
+        wcl $(FLAGS) -c $(SRC)fontgfx.c
+
 inputest.$(OBJ): $(SRC)inputest.c
        wcl $(FLAGS) -c $(SRC)inputest.c
 
index f267d6cd1aee7894b9c4d8b0f49a027f532ac0c9..9703973bf8bf495f63fa57281e0afc8fcb4367c0 100644 (file)
Binary files a/maptest.exe and b/maptest.exe differ
index 81fd61aacb62244e4aa3511f62562a5067a2fcad..496ce523eeca103b8ccd368f1fa7520818abf729 100644 (file)
Binary files a/palettec.exe and b/palettec.exe differ
index 61cc8d882923db3fb5b4ec54a8e7ab468c11006b..a2536aa6eae3dec29641f46b82f64c1e2e649e6c 100644 (file)
Binary files a/pcxtest.exe and b/pcxtest.exe differ
diff --git a/src/fontgfx.c b/src/fontgfx.c
new file mode 100644 (file)
index 0000000..85fb555
--- /dev/null
@@ -0,0 +1,35 @@
+/* Project 16 Source Code~\r
+ * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669\r
+ *\r
+ * This file is part of Project 16.\r
+ *\r
+ * Project 16 is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 3 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * Project 16 is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>, or\r
+ * write to the Free Software Foundation, Inc., 51 Franklin Street,\r
+ * Fifth Floor, Boston, MA 02110-1301 USA.\r
+ *\r
+ */\r
+#include <stdio.h>\r
+#include <conio.h>\r
+#include "lib/types.h"\r
+//#include "lib/16text.h"
+#include "lib/modex16.h"\r
+\r
+void main(int argc, char near *argv[])\r
+{
+       textInit();
+       modexEnter();\r
+       modexprint(16, 16, 1, 15, "wwww");
+       getch();
+       modexLeave();
+}\r
index 4c127c735f455206480848f153b27ea1e88ce1a2..91f83d6ecbb34553da9992de612168ac7c4c5255 100644 (file)
@@ -969,14 +969,40 @@ byte modexgetPixel(int x, int y)
 \r
 }\r
 \r
-void bputs(word x, unsigned y, , const char *s)\r
+void modexprint(word x, word y, word t, word col, const byte *str)\r
 {
-       int j;
-       word s, o, t, w;\r
-       word addr = (word) l;\r
+       word i, s, o, w, j, xp;
+       char l[16];\r
+       word addr = (word) l;
+       word chw=0;
+       byte c;
+
+       switch(t)\r
+       {\r
+               case 0:
+                       w=14;\r
+               break;\r
+               case 1:
+                       w=8;\r
+               break;\r
+               case 2:
+                       w=8;\r
+               break;\r
+               case 3:
+                       w=16;\r
+               break;\r
+               default:
+                       t=3;\r
+                       w=16;\r
+               break;\r
+       }
+\r
        s=romFonts[t].seg;\r
-       o=romFonts[t].off;\r
+       o=romFonts[t].off;
 \r
+       for(; *str != '\0'; str++)\r
+       {
+       c = *(str);
        //load the letter 'A'\r
        __asm {\r
                MOV DI, addr\r
@@ -995,15 +1021,13 @@ void bputs(word x, unsigned y, , const char *s)
                JNZ L1\r
        }
 \r
-       for(; *s != '\0'; s++)\r
-       {\r
                for(i=0; i<w; i++)
                {\r
                        j=1<<8;
-                       x=0;\r
+                       xp=0;\r
                        while(j)
                        {
-                               modexputPixel(x, i, l[i] & j ? 15:0);
+                               modexputPixel(x+xp+chw, y+i, l[i] & j ? col:0);
                                xp++;
                                j>>=1;
                        }
index b69f658b432fb3e2ae669ffc867c74bd4dc0563b..363004b340ba540c3cb1f2e38f8f5447b337ad55 100644 (file)
@@ -94,7 +94,7 @@ void modexPalUpdate1(byte *p);
 void modexPalUpdate0(byte *p);
 void chkcolor(bitmap_t *bmp, word *q, word *a, word *aa, word *z, word *i/*, word *offset*/);
 void modexputPixel(int x, int y, byte color);
-void bputs(/*bmp_t *bmp, */unsigned x, unsigned y, const char *s);
+void modexprint(word x, word y, word t, word col, const byte *str);
 void modexWaitBorder();
 
 /* -======================= Constants & Vars ==========================- */
index 8b9d9f96648a7ce07002119109966473c0e49039..acbbfab17105bc4a0eb428cd865eed5096c622e2 100644 (file)
Binary files a/test.exe and b/test.exe differ
index b9df462399a2c272364647c674ae78732fff6a06..b6d00f54893e10311fedcfa63cb0329f529cdcc5 100644 (file)
Binary files a/test2.exe and b/test2.exe differ