From 5847e594212977917e1f8ce6330bd35ae9c45213 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 16 Dec 2016 10:24:59 -0600 Subject: [PATCH] trying to figure out the issue with player sprite with pcx i have no idea wwww --- .gitignore | 1 + DEBUG.16W | 220 ++++++++++++++++++++++---------------------- HEAP.16W | 98 ++++++++++---------- MMDUMP.16W | Bin 2550 -> 2244 bytes db.exe | Bin 0 -> 9473 bytes makefile | 10 +- pcxtest.exe | Bin 44184 -> 100546 bytes src/fonttest.c | 4 +- src/lib/16_in.h | 2 +- src/lib/16_mm.h | 4 +- src/lib/bitmap.c | 10 +- src/lib/bitmap.h | 2 +- src/pcxtest.c | 6 +- src/pcxtest2.c | 2 +- src/scroll.c | 12 +-- src/{ => util}/db.c | 0 src/zcroll.c | 13 +-- 17 files changed, 193 insertions(+), 191 deletions(-) create mode 100755 db.exe rename src/{ => util}/db.c (100%) diff --git a/.gitignore b/.gitignore index 911e8919..15ee4357 100755 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ TODO~ LICENCE~ *.mah *.MAH +__wcl__.lnk !bcexmm.map !makefile !modex.lib diff --git a/DEBUG.16W b/DEBUG.16W index 56e1b237..607a5fc0 100755 --- a/DEBUG.16W +++ b/DEBUG.16W @@ -1,210 +1,210 @@ -Seg:0 Size:10340 Owner:0x0 -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000 -Seg:294f Size:37 Owner:0x0 -+ -Seg:2974 Size:256 Owner:0x1650 +Seg:0 Size:12150 Owner:0x0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000 +Seg:3061 Size:37 Owner:0x0 +++ +Seg:3086 Size:256 Owner:0x1650 ++++ -Seg:2a74 Size:256 Owner:0x1442 +Seg:3186 Size:256 Owner:0x1442 +++++ +Seg:3286 Size:256 Owner:0x1444 +++++ +Seg:3386 Size:256 Owner:0x1446 +++++ -Seg:2b74 Size:256 Owner:0x1444 +Seg:3486 Size:256 Owner:0x1448 ++++ -Seg:2c74 Size:256 Owner:0x1446 +Seg:3586 Size:256 Owner:0x144a ++++ -Seg:2d74 Size:256 Owner:0x1448 +Seg:3686 Size:256 Owner:0x144c ++++ -Seg:2e74 Size:256 Owner:0x144a +Seg:3786 Size:256 Owner:0x144e ++++ -Seg:2f74 Size:256 Owner:0x144c +Seg:3886 Size:256 Owner:0x1450 +++++ -Seg:3074 Size:256 Owner:0x144e +Seg:3986 Size:256 Owner:0x1452 ++++ -Seg:3174 Size:256 Owner:0x1450 +Seg:3a86 Size:256 Owner:0x1454 ++++ -Seg:3274 Size:256 Owner:0x1452 +Seg:3b86 Size:256 Owner:0x1456 ++++ -Seg:3374 Size:256 Owner:0x1454 +Seg:3c86 Size:256 Owner:0x1458 ++++ -Seg:3474 Size:256 Owner:0x1456 +Seg:3d86 Size:256 Owner:0x145a +++++ -Seg:3574 Size:256 Owner:0x1458 +Seg:3e86 Size:256 Owner:0x145c ++++ -Seg:3674 Size:256 Owner:0x145a +Seg:3f86 Size:256 Owner:0x145e ++++ -Seg:3774 Size:256 Owner:0x145c +Seg:4086 Size:256 Owner:0x1460 ++++ -Seg:3874 Size:256 Owner:0x145e +Seg:4186 Size:256 Owner:0x1462 ++++ -Seg:3974 Size:256 Owner:0x1460 +Seg:4286 Size:256 Owner:0x1464 +++++ -Seg:3a74 Size:256 Owner:0x1462 +Seg:4386 Size:256 Owner:0x1466 ++++ -Seg:3b74 Size:256 Owner:0x1464 +Seg:4486 Size:256 Owner:0x1468 ++++ -Seg:3c74 Size:256 Owner:0x1466 +Seg:4586 Size:256 Owner:0x146a ++++ -Seg:3d74 Size:256 Owner:0x1468 +Seg:4686 Size:256 Owner:0x146c ++++ -Seg:3e74 Size:256 Owner:0x146a +Seg:4786 Size:256 Owner:0x146e +++++ -Seg:3f74 Size:256 Owner:0x146c +Seg:4886 Size:256 Owner:0x1470 ++++ -Seg:4074 Size:256 Owner:0x146e +Seg:4986 Size:256 Owner:0x1472 ++++ -Seg:4174 Size:256 Owner:0x1470 +Seg:4a86 Size:256 Owner:0x1474 ++++ -Seg:4274 Size:256 Owner:0x1472 +Seg:4b86 Size:256 Owner:0x1476 ++++ -Seg:4374 Size:256 Owner:0x1474 +Seg:4c86 Size:256 Owner:0x1478 +++++ -Seg:4474 Size:256 Owner:0x1476 +Seg:4d86 Size:256 Owner:0x147a ++++ -Seg:4574 Size:256 Owner:0x1478 +Seg:4e86 Size:256 Owner:0x147c ++++ -Seg:4674 Size:256 Owner:0x147a +Seg:4f86 Size:256 Owner:0x147e ++++ -Seg:4774 Size:256 Owner:0x147c +Seg:5086 Size:256 Owner:0x1480 ++++ -Seg:4874 Size:256 Owner:0x147e +Seg:5186 Size:256 Owner:0x1482 +++++ -Seg:4974 Size:256 Owner:0x1480 +Seg:5286 Size:256 Owner:0x1484 ++++ -Seg:4a74 Size:256 Owner:0x1482 +Seg:5386 Size:256 Owner:0x1486 ++++ -Seg:4b74 Size:256 Owner:0x1484 +Seg:5486 Size:256 Owner:0x1488 ++++ -Seg:4c74 Size:256 Owner:0x1486 +Seg:5586 Size:256 Owner:0x148a ++++ -Seg:4d74 Size:256 Owner:0x1488 +Seg:5686 Size:256 Owner:0x148c +++++ -Seg:4e74 Size:256 Owner:0x148a +Seg:5786 Size:256 Owner:0x148e ++++ -Seg:4f74 Size:256 Owner:0x148c +Seg:5886 Size:256 Owner:0x1490 ++++ -Seg:5074 Size:256 Owner:0x148e +Seg:5986 Size:256 Owner:0x1492 ++++ -Seg:5174 Size:256 Owner:0x1490 +Seg:5a86 Size:256 Owner:0x1494 ++++ -Seg:5274 Size:256 Owner:0x1492 +Seg:5b86 Size:256 Owner:0x1496 +++++ -Seg:5374 Size:256 Owner:0x1494 +Seg:5c86 Size:256 Owner:0x1498 ++++ -Seg:5474 Size:256 Owner:0x1496 +Seg:5d86 Size:256 Owner:0x149a ++++ -Seg:5574 Size:256 Owner:0x1498 +Seg:5e86 Size:256 Owner:0x149c ++++ -Seg:5674 Size:256 Owner:0x149a +Seg:5f86 Size:256 Owner:0x149e ++++ -Seg:5774 Size:256 Owner:0x149c +Seg:6086 Size:256 Owner:0x14a0 +++++ -Seg:5874 Size:256 Owner:0x149e +Seg:6186 Size:256 Owner:0x14a2 ++++ -Seg:5974 Size:256 Owner:0x14a0 +Seg:6286 Size:256 Owner:0x14a4 ++++ -Seg:5a74 Size:256 Owner:0x14a2 +Seg:6386 Size:256 Owner:0x14a6 ++++ -Seg:5b74 Size:256 Owner:0x14a4 +Seg:6486 Size:256 Owner:0x14a8 ++++ -Seg:5c74 Size:256 Owner:0x14a6 +Seg:6586 Size:256 Owner:0x14aa +++++ -Seg:5d74 Size:256 Owner:0x14a8 +Seg:6686 Size:256 Owner:0x14ac ++++ -Seg:5e74 Size:256 Owner:0x14aa +Seg:6786 Size:256 Owner:0x14ae ++++ -Seg:5f74 Size:256 Owner:0x14ac +Seg:6886 Size:256 Owner:0x14b0 ++++ -Seg:6074 Size:256 Owner:0x14ae +Seg:6986 Size:256 Owner:0x14b2 ++++ -Seg:6174 Size:256 Owner:0x14b0 +Seg:6a86 Size:256 Owner:0x14b4 +++++ -Seg:6274 Size:256 Owner:0x14b2 +Seg:6b86 Size:256 Owner:0x14b6 ++++ -Seg:6374 Size:256 Owner:0x14b4 +Seg:6c86 Size:256 Owner:0x14b8 ++++ -Seg:6474 Size:256 Owner:0x14b6 +Seg:6d86 Size:256 Owner:0x14ba ++++ -Seg:6574 Size:256 Owner:0x14b8 +Seg:6e86 Size:256 Owner:0x14bc ++++ -Seg:6674 Size:256 Owner:0x14ba +Seg:6f86 Size:256 Owner:0x14be +++++ -Seg:6774 Size:256 Owner:0x14bc +Seg:7086 Size:256 Owner:0x14c0 ++++ -Seg:6874 Size:256 Owner:0x14be +Seg:7186 Size:256 Owner:0x14c2 ++++ -Seg:6974 Size:256 Owner:0x14c0 +Seg:7286 Size:256 Owner:0x14c4 ++++ -Seg:6a74 Size:256 Owner:0x14c2 +Seg:7386 Size:256 Owner:0x14c6 ++++ -Seg:6b74 Size:256 Owner:0x14c4 +Seg:7486 Size:256 Owner:0x14c8 +++++ -Seg:6c74 Size:256 Owner:0x14c6 +Seg:7586 Size:256 Owner:0x14ca ++++ -Seg:6d74 Size:256 Owner:0x14c8 +Seg:7686 Size:256 Owner:0x14cc ++++ -Seg:6e74 Size:256 Owner:0x14ca +Seg:7786 Size:256 Owner:0x14ce ++++ -Seg:6f74 Size:256 Owner:0x14cc +Seg:7886 Size:256 Owner:0x14d0 ++++ -Seg:7074 Size:256 Owner:0x14ce +Seg:7986 Size:256 Owner:0x14d2 +++++ -Seg:7174 Size:256 Owner:0x14d0 +Seg:7a86 Size:256 Owner:0x14d4 ++++ -Seg:7274 Size:256 Owner:0x14d2 +Seg:7b86 Size:256 Owner:0x14d6 ++++ -Seg:7374 Size:256 Owner:0x14d4 +Seg:7c86 Size:256 Owner:0x14d8 ++++ -Seg:7474 Size:256 Owner:0x14d6 +Seg:7d86 Size:256 Owner:0x14da ++++ -Seg:7574 Size:256 Owner:0x14d8 +Seg:7e86 Size:256 Owner:0x14dc +++++ -Seg:7674 Size:256 Owner:0x14da +Seg:7f86 Size:256 Owner:0x14de ++++ -Seg:7774 Size:256 Owner:0x14dc +Seg:8086 Size:256 Owner:0x14e0 ++++ -Seg:7874 Size:256 Owner:0x14de +Seg:8186 Size:256 Owner:0x14e2 ++++ -Seg:7974 Size:256 Owner:0x14e0 +Seg:8286 Size:256 Owner:0x14e4 ++++ -Seg:7a74 Size:256 Owner:0x14e2 +Seg:8386 Size:256 Owner:0x14e6 +++++ -Seg:7b74 Size:256 Owner:0x14e4 +Seg:8486 Size:256 Owner:0x14e8 ++++ -Seg:7c74 Size:256 Owner:0x14e6 +Seg:8586 Size:256 Owner:0x14ea ++++ -Seg:7d74 Size:256 Owner:0x14e8 +Seg:8686 Size:256 Owner:0x14ec ++++ -Seg:7e74 Size:256 Owner:0x14ea +Seg:8786 Size:256 Owner:0x14ee ++++ -Seg:7f74 Size:256 Owner:0x14ec +Seg:8886 Size:256 Owner:0x14f0 +++++ -Seg:8074 Size:256 Owner:0x14ee +Seg:8986 Size:256 Owner:0x14f2 ++++ -Seg:8174 Size:256 Owner:0x14f0 +Seg:8a86 Size:256 Owner:0x14f4 ++++ -Seg:8274 Size:256 Owner:0x14f2 +Seg:8b86 Size:256 Owner:0x14f6 ++++ -Seg:8374 Size:256 Owner:0x14f4 +Seg:8c86 Size:256 Owner:0x14f8 ++++ -Seg:8474 Size:256 Owner:0x14f6 +Seg:8d86 Size:256 Owner:0x14fa +++++ -Seg:8574 Size:256 Owner:0x14f8 +Seg:8e86 Size:256 Owner:0x14fc ++++ -Seg:8674 Size:256 Owner:0x14fa +Seg:8f86 Size:256 Owner:0x14fe ++++ -Seg:8774 Size:256 Owner:0x14fc +Seg:9086 Size:256 Owner:0x1500 ++++ -Seg:8874 Size:256 Owner:0x14fe +Seg:9186 Size:256 Owner:0x1502 ++++ -Seg:8974 Size:256 Owner:0x1500 +Seg:9286 Size:256 Owner:0x1504 +++++ -Seg:8a74 Size:256 Owner:0x1502 -++++ -Seg:8b74 Size:256 Owner:0x1504 -++++ -Seg:8c74 Size:256 Owner:0x1506 +Seg:9386 Size:256 Owner:0x1506 ++++ -Seg:8d74 Size:256 Owner:0x1508 +Seg:9486 Size:256 Owner:0x1508 ++++ -Seg:8e74 Size:401 Owner:0xec10 +Seg:9586 Size:401 Owner:0xec14 ++++++ -Seg:b974 Size:18059 Owner:0x0 -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \ No newline at end of file +Seg:c086 Size:16249 Owner:0x0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \ No newline at end of file diff --git a/HEAP.16W b/HEAP.16W index 16af83b8..e333a77e 100755 --- a/HEAP.16W +++ b/HEAP.16W @@ -1,59 +1,59 @@ == default == - FREE block at 29720016 of size 18 - USED block at 29720028 of size 50 - USED block at 2972005a of size 50 - USED block at 2972008c of size 50 - USED block at 297200be of size 50 - USED block at 297200f0 of size 50 - USED block at 29720122 of size 50 - USED block at 29720154 of size 50 - USED block at 29720186 of size 50 - USED block at 297201b8 of size 50 - USED block at 297201ea of size 50 - USED block at 2972021c of size 50 - USED block at 2972024e of size 50 - USED block at 29720280 of size 50 - FREE block at 297202b2 of size 14 - USED block at 297202c0 of size 20 - USED block at 297202d4 of size 136 - FREE block at 2972035c of size 7328 + FREE block at 30840016 of size 18 + USED block at 30840028 of size 50 + USED block at 3084005a of size 50 + USED block at 3084008c of size 50 + USED block at 308400be of size 50 + USED block at 308400f0 of size 50 + USED block at 30840122 of size 50 + USED block at 30840154 of size 50 + USED block at 30840186 of size 50 + USED block at 308401b8 of size 50 + USED block at 308401ea of size 50 + USED block at 3084021c of size 50 + USED block at 3084024e of size 50 + USED block at 30840280 of size 50 + FREE block at 308402b2 of size 14 + USED block at 308402c0 of size 20 + USED block at 308402d4 of size 136 + FREE block at 3084035c of size 7328 OK - end of heap == near == - USED block at 1971ec66 of size 12 - USED block at 1971ec72 of size 528 - USED block at 1971ee82 of size 72 - USED block at 1971eeca of size 20 - USED block at 1971eede of size 20 - USED block at 1971eef2 of size 20 - USED block at 1971ef06 of size 20 - USED block at 1971ef1a of size 20 - USED block at 1971ef2e of size 4302 + USED block at 2083ec66 of size 12 + USED block at 2083ec72 of size 528 + USED block at 2083ee82 of size 72 + USED block at 2083eeca of size 20 + USED block at 2083eede of size 20 + USED block at 2083eef2 of size 20 + USED block at 2083ef06 of size 20 + USED block at 2083ef1a of size 20 + USED block at 2083ef2e of size 4302 OK - end of heap == far == - USED block at 29720016 of size 18 - USED block at 29720028 of size 50 - USED block at 2972005a of size 50 - USED block at 2972008c of size 50 - USED block at 297200be of size 50 - USED block at 297200f0 of size 50 - USED block at 29720122 of size 50 - USED block at 29720154 of size 50 - USED block at 29720186 of size 50 - USED block at 297201b8 of size 50 - USED block at 297201ea of size 50 - USED block at 2972021c of size 50 - USED block at 2972024e of size 50 - USED block at 29720280 of size 50 - USED block at 297202b2 of size 14 - USED block at 297202c0 of size 20 - USED block at 297202d4 of size 136 - USED block at 2972035c of size 7328 + USED block at 30840016 of size 18 + USED block at 30840028 of size 50 + USED block at 3084005a of size 50 + USED block at 3084008c of size 50 + USED block at 308400be of size 50 + USED block at 308400f0 of size 50 + USED block at 30840122 of size 50 + USED block at 30840154 of size 50 + USED block at 30840186 of size 50 + USED block at 308401b8 of size 50 + USED block at 308401ea of size 50 + USED block at 3084021c of size 50 + USED block at 3084024e of size 50 + USED block at 30840280 of size 50 + USED block at 308402b2 of size 14 + USED block at 308402c0 of size 20 + USED block at 308402d4 of size 136 + USED block at 3084035c of size 7328 OK - end of heap Memory Type Total Used Free @@ -63,9 +63,9 @@ Near 5014 712 4302 Far 8166 806 7360 ---------------- -------- -------- -------- coreleft = 4300 -farcoreleft = 27888 -GetFreeSize = 23610 +farcoreleft = 60698 +GetFreeSize = 56420 GetNearFreeSize = 4302 -GetFarFreeSize = 23610 +GetFarFreeSize = 56420 memavl = 4300 -stackavail = 31527 +stackavail = 31515 diff --git a/MMDUMP.16W b/MMDUMP.16W index ca7b17279151588123cd36a286737d4878bb25f6..68b42b31f0b4a7a9f5b6f5e923250b0f0c576396 100755 GIT binary patch literal 2244 zcmZwIJ4!@B6h+Zo5FEk_6_e^m-}(p+roLlv_-10T(j6RDcG6Eu_xgG~pZE3t`Sx*r zU-#=v`m0aY%vxDH>tx-kkyz;sdV}7eH|Py|gWgPUrZ>}@>CNDox6oVY zE%X+83%!NjN^hmN(p%}R^j3N+y_McZZ=<)-+vsidHhLSqjowagr?=DF>FxA(dON+H z-a+r6chEcN9rO-*2fc&dN$;e0(mUy$^iFywy_4QW@1l3nyXal?E_xTei{4G|rgzi3 v>D}~hdN;kB-b3%9_t1OjJ@g)W54}g;Nb*LKH3^|4zLyjTGkYmU(<(P6zIi?&_jw#2KW6H7Q zSaK{mmK;ltCC8Fu$+6|wa%?%a99xbp$ChKm5d$1Cz!3u+F~AW69O*tqum2xzjq@J9 H|K{!or|bB= diff --git a/db.exe b/db.exe new file mode 100755 index 0000000000000000000000000000000000000000..5616e4ae70b7558d756e2e11cc89b439b9a78ab9 GIT binary patch literal 9473 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 VCk$He1&}vGK>qLPJQb|g{{!+_FslFn literal 0 HcmV?d00001 diff --git a/makefile b/makefile index 2f4b6e4e..ab1dc97b 100755 --- a/makefile +++ b/makefile @@ -173,11 +173,11 @@ TESTEXEC2 = & test.exe & test0.exe & pcxtest.exe & - pcxtest2.exe + pcxtest2.exe & + db.exe UTILEXEC = & palettel.exe & - palettec.exe & - db.exe + palettec.exe EXEC = & 16.exe & bakapi.exe & @@ -212,7 +212,7 @@ fonttest.exe: fonttest.$(OBJ) gfx.lib fontgfx.exe: fontgfx.$(OBJ) gfx.lib $(DOSLIBLIBS) inputest.exe: inputest.$(OBJ) $(16LIB) $(DOSLIBLIBS) #sountest.exe: sountest.$(OBJ) $(16LIB) -pcxtest.exe: pcxtest.$(OBJ) gfx.lib $(DOSLIBLIBS) +pcxtest.exe: pcxtest.$(OBJ) gfx.lib $(DOSLIBLIBS) $(16LIB)##++++ vrstest.exe: vrstest.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) #vgacamm.exe: vgacamm.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) palettec.exe: palettec.$(OBJ) gfx.lib $(DOSLIBLIBS) @@ -255,7 +255,7 @@ inputest.$(OBJ):$(SRC)/inputest.c #tsthimem.$(OBJ): $(SRC)/tsthimem.c exmmtest.$(OBJ):$(SRC)/exmmtest.c vgmtest.$(OBJ):$(SRC)/vgmtest.c -db.$(OBJ):$(SRC)/db.c +db.$(OBJ):$(SRC)/util/db.c # # non executable objects libraries diff --git a/pcxtest.exe b/pcxtest.exe index 94d4b68aff6440cda36aa623352bf32f370d0506..80e12ed78c05cabc73838ce4aabb92ee67240f47 100755 GIT binary patch literal 100546 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 A1^@s6 diff --git a/src/fonttest.c b/src/fonttest.c index 6ecbdfbd..ffa6d0c7 100755 --- a/src/fonttest.c +++ b/src/fonttest.c @@ -21,8 +21,8 @@ */ #include #include -#include "lib/16_t.h" -#include "lib/16text.h" +#include "src/lib/16_t.h" +#include "src/lib/16text.h" void main(int argc, char near *argv[]) { diff --git a/src/lib/16_in.h b/src/lib/16_in.h index e0efe8cf..67a98f61 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -227,7 +227,7 @@ typedef struct memptr gr; entity_t *ent; #endif - bitmap_t __far *data; //supposively the sprite sheet data//old format + bitmap_t *data; //supposively the sprite sheet data//old format sword hp; //hitpoints of the player int persist_aniframe; /* gonna be increased to 1 before being used, so 0 is ok for default */ CursorInfo info; diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index b160ac65..d070bd07 100755 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -39,8 +39,8 @@ #define FREEBLOCK(x) {*x->useptr=NULL;x->next=gvar->mm.mmfree;gvar->mm.mmfree=x;} -#define SAVENEARHEAP 0x200 // space to leave in data segment -#define SAVEFARHEAP 0//x400 // space to leave in far heap +#define SAVENEARHEAP 0x2400 // space to leave in data segment200 +#define SAVEFARHEAP 0x2400 // space to leave in far heap400 #define BUFFERSIZE 0x1000 // miscelanious, allways available buffer diff --git a/src/lib/bitmap.c b/src/lib/bitmap.c index b030b379..6d7f72ed 100755 --- a/src/lib/bitmap.c +++ b/src/lib/bitmap.c @@ -24,6 +24,9 @@ #include #include #include "src/lib/bitmap.h" +#include "src/lib/16_mm.h" +#include "src/lib/16_pm.h" +#include "src/lib/16_ca.h" static struct pcxHeader { byte id; @@ -91,7 +94,7 @@ static void loadPcxPalette(FILE *file, bitmap_t *result) { bitmap_t -bitmapLoadPcx(char *filename) { +bitmapLoadPcx(char *filename, global_game_variables_t *gv) { FILE *file; bitmap_t result; dword bufSize; @@ -111,7 +114,9 @@ bitmapLoadPcx(char *filename) { /* allocate the buffer */ //printf("%zu\n", _memmax()); bufSize = (/*(dword)*/result.width * result.height); - result.data = _fmalloc(bufSize); + //CA_LoadFile(filename, (memptr *)(result.data), gv); + result.data = malloc(bufSize); + // result.data = (byte far *)_fmalloc(bufSize); // result.data = (byte __huge *)halloc(bufSize, sizeof(byte)); /*printf("&bufSize=%p\n", &bufSize); @@ -121,7 +126,6 @@ bitmapLoadPcx(char *filename) { printf("Size of result.width is %zu \n", result.width); printf("Size of result.height is %zu \n", result.height); printf("Dimensions of result is %lu\n", (dword)result.width*result.height);*/ - //exit(0); if(!result.data) { fprintf(stderr, "Could not allocate memory for bitmap data."); fclose(file); diff --git a/src/lib/bitmap.h b/src/lib/bitmap.h index 6ef0af71..25537645 100755 --- a/src/lib/bitmap.h +++ b/src/lib/bitmap.h @@ -28,6 +28,6 @@ #include "src/lib/16_vl.h" -bitmap_t bitmapLoadPcx(char *filename); +bitmap_t bitmapLoadPcx(char *filename, global_game_variables_t *gv); tileset_t bitmapLoadPcxTiles(char *filename, word twidth, word theight); #endif diff --git a/src/pcxtest.c b/src/pcxtest.c index 5325303c..1f366fed 100755 --- a/src/pcxtest.c +++ b/src/pcxtest.c @@ -25,7 +25,7 @@ #include #include "src/lib/16_vl.h" #include "src/lib/bitmap.h" -//----#include "src/lib/planar.h" +#include "src/lib/16render.h" static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */ @@ -33,9 +33,7 @@ void main() { static global_game_variables_t gvar; bitmap_t bmp; //---- planar_buf_t *p; - int i; word start; - int plane; float t1, t2; // DOSLIB: check our environment @@ -60,7 +58,7 @@ void main() { } //0000 bmp = bitmapLoadPcx("data/koishi~~.pcx"); - bmp = bitmapLoadPcx("data/chikyuu.pcx"); + bmp = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // bmp = bitmapLoadPcx("data/koishi^^.pcx"); // bmp = bitmapLoadPcx("16/PCX_LIB/chikyuu.pcx"); //---- p = planar_buf_from_bitmap(&bmp); diff --git a/src/pcxtest2.c b/src/pcxtest2.c index c65f4e94..2ab48632 100755 --- a/src/pcxtest2.c +++ b/src/pcxtest2.c @@ -85,7 +85,7 @@ void main() { } //0000 bmp = bitmapLoadPcx("data/koishi~~.pcx"); - bmp = bitmapLoadPcx("data/chikyuu.pcx"); + bmp = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // bmp = bitmapLoadPcx("data/koishi^^.pcx"); // bmp = bitmapLoadPcx("16/PCX_LIB/chikyuu.pcx"); //---- p = planar_buf_from_bitmap(&bmp); diff --git a/src/scroll.c b/src/scroll.c index 716c7dcf..00c672ca 100755 --- a/src/scroll.c +++ b/src/scroll.c @@ -28,8 +28,7 @@ //#define FADE #define MODEX //this is for mode x initiating -//word far *clock= (word far*) 0x046C; /* 18.2hz clock */ -//bitmap_t *p; +//bitmap_t p; static map_t map; player_t player[MaxPlayers]; map_view_t mv[4]; @@ -77,8 +76,8 @@ void main(int argc, char *argv[]) //mappalptr = map.tiles->btdata->palette; /* data */ - //player[0].data = _fmalloc(48*128); //TODO use exmm - *player[0].data = bitmapLoadPcx("data/chikyuu.pcx"); // load sprite + player[0].data = malloc(72*128); //TODO use exmm + *player[0].data = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // load sprite /* create the planar buffer */ ////++++ (player[0].data) = *planar_buf_from_bitmap(&p); @@ -218,7 +217,6 @@ void main(int argc, char *argv[]) #ifdef MODEX #ifdef FADE if(IN_KeyDown(24)){ modexPalUpdate0(gpal); paloffset=0; modexpdump(mv[0].page); modexpdump(mv[1].page); IN_UserInput(1,1); } //p - if(IN_KeyDown(23)){ modexDrawSprite(mv[1].page, 160, 120, player[0].data); IN_UserInput(1,1); } //o if(IN_KeyDown(22)){ paloffset=0; modexPalBlack(); modexPalUpdate(player[0].data, &paloffset, 0, 0); printf("1paloffset = %d\n", paloffset/3); @@ -258,8 +256,8 @@ void main(int argc, char *argv[]) } if(IN_KeyDown(66)) //f8 { -// modexDrawSprite(mv[0].page, 16, 16, p); - modexDrawSprite(mv[0].page, 32+48, 16, (player[0].data)); +// modexDrawSprite(mv[0].page, 16, 16, &p); + modexDrawSprite(mv[0].page, 32+72, 16, (player[0].data)); } //TODO fmemtest into page /*if(IN_KeyDown(4+1)) //4 diff --git a/src/db.c b/src/util/db.c similarity index 100% rename from src/db.c rename to src/util/db.c diff --git a/src/zcroll.c b/src/zcroll.c index 97b45e60..90c72add 100755 --- a/src/zcroll.c +++ b/src/zcroll.c @@ -28,7 +28,7 @@ #define MODEXZ -//TODO: known issues the array dependent mv stuff and player arrays +//bitmap_t p; static map_t map; player_t player[MaxPlayers]; map_view_t mv[4]; @@ -76,8 +76,8 @@ void main(int argc, char *argv[]) // data read_vrs(&gvar, "data/spri/chikyuu.vrs", player[0].ent->spri->spritesheet); - player[0].data = malloc(48*128); //TODO use exmm - *player[0].data = bitmapLoadPcx("data/chikyuu.pcx"); // load sprite + player[0].data = malloc(72*128); //TODO use exmm + *player[0].data = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // load sprite // input! IN_Default(0, &player,ctrl_Keyboard1); @@ -93,8 +93,10 @@ void main(int argc, char *argv[]) #ifdef MODEXZ #ifdef FADE modexPalBlack(); //reset the palette~ +#endif CA_LoadFile("data/spri/chikyuu.pal", &pal, &gvar); modexPalUpdate1(pal); +#ifdef FADE gpal = modexNewPal(); modexPalSave(gpal); modexSavePalFile("data/g.pal", gpal); @@ -178,7 +180,6 @@ void main(int argc, char *argv[]) } //p #ifdef FADE if(IN_KeyDown(24)){ modexPalUpdate0(gpal); paloffset=0; modexpdump(mv[0].page); IN_UserInput(1,1); } //p - if(IN_KeyDown(23)){ modexDrawSprite(mv[1].page, 160, 120, player[0].data); IN_UserInput(1,1); } //o if(IN_KeyDown(22)){ printf("2paloffset = %d\n", paloffset/3); IN_UserInput(1,1); @@ -203,8 +204,8 @@ void main(int argc, char *argv[]) } if(IN_KeyDown(66)) //f8 { - // modexDrawSprite(mv[0].page, 16, 16, p); - modexDrawSprite(mv[0].page, 32+48, 16, (player[0].data)); +// modexDrawSprite(mv[0].page, 16, 16, &p); + modexDrawSprite(mv[0].page, 32+72, 16, (player[0].data)); } //TODO fmemtest into page /*if(IN_KeyDown(4+1)) //4 -- 2.39.5