]> 4ch.mooo.com Git - 16.git/commitdiff
memory model HUGE GUTS!!! wwww
authorsparky4 <sparky4@cock.li>
Sat, 23 May 2015 22:12:32 +0000 (17:12 -0500)
committersparky4 <sparky4@cock.li>
Sat, 23 May 2015 22:12:32 +0000 (17:12 -0500)
modified:   makefile
modified:   pcxtest.exe
modified:   scroll.exe
modified:   src/lib/bitmap.c
modified:   src/lib/bitmap.h
modified:   src/lib/exmm/emm.c
modified:   src/lib/exmm/memory.h
modified:   src/lib/mapread.c
modified:   src/lib/modex16.c
modified:   test.exe
modified:   test2.exe

makefile
pcxtest.exe
scroll.exe
src/lib/bitmap.c
src/lib/bitmap.h
src/lib/exmm/emm.c
src/lib/exmm/memory.h
src/lib/mapread.c
src/lib/modex16.c
test.exe
test2.exe

index 7fbfcac661e0f45808ef50eea82d1bc6ba97340d..a5c9a375b4bf76fd56e64c85324a4a373eb92c0f 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,4 +1,4 @@
-FLAGS=-0 -d2 \r
+FLAGS=-0 -d2 -mh\r
 SRC=src\\r
 SRCLIB=$(SRC)lib\\r
 all: test.exe pcxtest.exe test2.exe scroll.exe\r
@@ -45,9 +45,9 @@ planar.obj: $(SRCLIB)planar.h $(SRCLIB)planar.c
        \r
 mapread.obj: $(SRCLIB)mapread.h $(SRCLIB)mapread.c jsmn.obj lib_head.obj\r
        wcl $(FLAGS) -c $(SRCLIB)mapread.c\r
-
+\r
 lib_head.obj: $(SRCLIB)lib_head.h $(SRCLIB)lib_head.c\r
-       wcl $(FLAGS) -c $(SRCLIB)lib_head.c
+       wcl $(FLAGS) -c $(SRCLIB)lib_head.c\r
 \r
 jsmn.obj: $(SRCLIB)jsmn\jsmn.h $(SRCLIB)jsmn\jsmn.c\r
        wcl $(FLAGS) -c $(SRCLIB)jsmn\jsmn.c\r
index 988abb27a635cd535d95140add2a049c76e0b124..7855c2e4468899c6361d30750d4c027bd9731087 100644 (file)
Binary files a/pcxtest.exe and b/pcxtest.exe differ
index 2724e750b06cef97ea035f925b3914fa9b4d00ee..66b51f7d22819a2919dbcdc8dbda04f6c47d6e56 100644 (file)
Binary files a/scroll.exe and b/scroll.exe differ
index e6a0adb874fbc75957aab4184efc09ff1c8e6927..cc57552a8a3e54678c0cd3d38df048bacf8c27df 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>\r
 #include <stdlib.h>\r
-#include "src\lib\bitmap.h"\r
-#include "src\lib\modex16.h"\r
+#include "src/lib/bitmap.h"\r
+#include "src/lib/modex16.h"\r
 \r
 static struct pcxHeader {\r
     byte id;\r
@@ -89,7 +89,7 @@ bitmapLoadPcx(char *filename) {
 \r
     /* allocate the buffer */\r
     bufSize = result.width * result.height;
-    result.data = malloc(bufSize);     //it breaks right here~
+    result.data = _fmalloc(bufSize);   //it breaks right here~
     if(!result.data) {\r
        printf("Could not allocate memory for bitmap data.");\r
        fclose(file);\r
@@ -147,12 +147,12 @@ bitmapLoadPcxTiles(char *filename, word twidth, word theight) {
     ts.palette = result.palette;\r
 \r
     /* allocate the pixel storage for the tiles */\r
-    ts.data = malloc(sizeof(byte*) * ts.ntiles);\r
-    ts.data[0] = malloc(sizeof(byte) * ts.ntiles * twidth * theight);\r
+    ts.data = _fmalloc(sizeof(byte*) * ts.ntiles);\r
+    ts.data[0] = _fmalloc(sizeof(byte) * ts.ntiles * twidth * theight);\r
     for(i=1; i < ts.ntiles; i++) {\r
        ts.data[i] = ts.data[i-1] + twidth * theight;\r
     }\r
-    \r
+\r
     /* finish off the file */\r
     loadPcxPalette(file, &result);\r
 \r
index 40ec9627a9c29f4eddd54ccf8bf2c0f879c28664..21009dcc3f986f78f693881cdbd197714c2d6dec 100644 (file)
@@ -2,10 +2,11 @@
  * Functions and types for loading and manipulating bitmaps.\r
  */\r
 #ifndef BITMAP_H\r
-#define BITMAP_H\r
-#include "src\lib\types.h"\r
+#define BITMAP_H
+#include <malloc.h>\r
+#include "src/lib/types.h"\r
 typedef struct {\r
-    byte *data;
+    byte far *data;
     word width;\r
     word height;\r
     byte *palette;
@@ -13,7 +14,7 @@ typedef struct {
 } bitmap_t;\r
 \r
 typedef struct {\r
-    byte **data;\r
+    byte far **data;\r
     word ntiles;   /* the number of tiles */\r
     word twidth;   /* width of the tiles */\r
     word theight;  /* height of the tiles */\r
index aed6c3b7477ddc8082c7a1d11c3f6653b88b8338..c7ad3496897c047172d9932b891b4a4986cbcc1e 100644 (file)
@@ -20,6 +20,7 @@
 #include <conio.h>
 \r
 #include "memory.h"
+#include "../types.h"
 
 #define PEMMDATAPAGENUM        4\r
 \r
index 3d35d472ab0c4e029b4cb74f3ea0a719732eee2b..249a5408644b502b1843a073740e3fbb494243ac 100644 (file)
@@ -17,7 +17,6 @@
 \r
 #include "emmret.h"\r
 #include "emmsize.h"
-#include "../types.h"\r
 \r
 #define     CMM                  0\r
 #define     EMM                  1\r
index c4cd191dfb450f59ca1c3552f49a30e7da93c43f..8f84071a6cf11411ae4b0a95ac2d96c54db34aee 100644 (file)
@@ -26,7 +26,7 @@ static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *
 
                                FUCK well i am stuck.... wwww
                        */
-                       map->data[q] = (byte)strtol(js+t->start, &(char *)t->end, 10);
+                       map->data[q] = (byte)strtol(js+t->start, (char **)t->end, 10);
 //                     printf("%d[%d]", q, map->data[q]);
                }
                else
index 4ce84b8cb6f639117d2b18f7ac27bdeb685fdba7..fc1456dbf2ff7be6763dc892240ad09832d9e919 100644 (file)
@@ -4,7 +4,7 @@
 #include <conio.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include "src\lib\modex16.h"
+#include "src/lib/modex16.h"
 
 
 byte far* VGA=(byte far*) 0xA0000000;  /* this points to video memory. */
@@ -226,7 +226,7 @@ void
 modexDrawBmpRegion(page_t *page, int x, int y,
                    int rx, int ry, int rw, int rh, bitmap_t *bmp) {
     word poffset = (word) page->data  + y*(page->width/4) + x/4;
-    byte *data = bmp->data;//+bmp->offset;
+    byte far *data = bmp->data;//+bmp->offset;
     word bmpOffset = (word) data + ry * bmp->width + rx;
     word width = rw;
     word height = rh;
@@ -307,7 +307,7 @@ void
 modexDrawSpriteRegion(page_t *page, int x, int y,
                      int rx, int ry, int rw, int rh, bitmap_t *bmp) {
     word poffset = (word)page->data + y*(page->width/4) + x/4;
-    byte *data = bmp->data;//+bmp->offset;
+    byte far *data = bmp->data;//+bmp->offset;
     word bmpOffset = (word) data + ry * bmp->width + rx;
     word width = rw;
     word height = rh;
index 736b224abfb858bbd8602848b2ae3913d20a821b..6ca0d627dff9706994e1677f4ed9815c6d24547a 100644 (file)
Binary files a/test.exe and b/test.exe differ
index da9ec199b70bc63a261140f707d6490eff8ac7eb..7f079f4f3be0e028e2782ab6782b41cf3d7895ef 100644 (file)
Binary files a/test2.exe and b/test2.exe differ