+++ /dev/null
-Subproject commit aa97f4995dc7dbea3ecc1794a2d4d4354839cad4
+++ /dev/null
-Subproject commit 374403ea47e9f6d69829c518c6ebee779b314703
+++ /dev/null
-Subproject commit 4348b4719be87a0b873f5f4f77b4de82ddf7050c
+++ /dev/null
-Subproject commit 05167784ef009d0d0daefe8d012b027f39dc8541
-\e[0mSeg:0 Size:10100 Owner:0x0\r
-\e[41;31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m\e[42;32m0000\r
-\e[0m\e[0mSeg:286d Size:44 Owner:0x0\r
-\e[41;31m+\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2899 Size:256 Owner:0x1650\r
-\e[44;34m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2999 Size:256 Owner:0x1442\r
+\e[0mSeg:0 Size:10238 Owner:0x0\r
+\e[41;31m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m\e[42;32m0000\r
+\e[0m\e[0mSeg:28e9 Size:45 Owner:0x0\r
+\e[41;31m++\e[0m\e[42;32m\r
+\e[0m\e[0mSeg:2916 Size:256 Owner:0x1650\r
+\e[44;34m++++\e[0m\e[42;32m\r
+\e[0m\e[0mSeg:2a16 Size:256 Owner:0x1442\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2a99 Size:256 Owner:0x1444\r
+\e[0m\e[0mSeg:2b16 Size:256 Owner:0x1444\r
+\e[45;35m+++++\e[0m\e[42;32m\r
+\e[0m\e[0mSeg:2c16 Size:256 Owner:0x1446\r
+\e[45;35m++++\e[0m\e[42;32m\r
+\e[0m\e[0mSeg:2d16 Size:256 Owner:0x1448\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2b99 Size:256 Owner:0x1446\r
+\e[0m\e[0mSeg:2e16 Size:256 Owner:0x144a\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2c99 Size:256 Owner:0x1448\r
+\e[0m\e[0mSeg:2f16 Size:256 Owner:0x144c\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2d99 Size:256 Owner:0x144a\r
+\e[0m\e[0mSeg:3016 Size:256 Owner:0x144e\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2e99 Size:256 Owner:0x144c\r
+\e[0m\e[0mSeg:3116 Size:256 Owner:0x1450\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:2f99 Size:256 Owner:0x144e\r
+\e[0m\e[0mSeg:3216 Size:256 Owner:0x1452\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3099 Size:256 Owner:0x1450\r
+\e[0m\e[0mSeg:3316 Size:256 Owner:0x1454\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3199 Size:256 Owner:0x1452\r
+\e[0m\e[0mSeg:3416 Size:256 Owner:0x1456\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3299 Size:256 Owner:0x1454\r
+\e[0m\e[0mSeg:3516 Size:256 Owner:0x1458\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3399 Size:256 Owner:0x1456\r
+\e[0m\e[0mSeg:3616 Size:256 Owner:0x145a\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3499 Size:256 Owner:0x1458\r
+\e[0m\e[0mSeg:3716 Size:256 Owner:0x145c\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3599 Size:256 Owner:0x145a\r
+\e[0m\e[0mSeg:3816 Size:256 Owner:0x145e\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3699 Size:256 Owner:0x145c\r
+\e[0m\e[0mSeg:3916 Size:256 Owner:0x1460\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3799 Size:256 Owner:0x145e\r
+\e[0m\e[0mSeg:3a16 Size:256 Owner:0x1462\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3899 Size:256 Owner:0x1460\r
+\e[0m\e[0mSeg:3b16 Size:256 Owner:0x1464\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3999 Size:256 Owner:0x1462\r
+\e[0m\e[0mSeg:3c16 Size:256 Owner:0x1466\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3a99 Size:256 Owner:0x1464\r
+\e[0m\e[0mSeg:3d16 Size:256 Owner:0x1468\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3b99 Size:256 Owner:0x1466\r
+\e[0m\e[0mSeg:3e16 Size:256 Owner:0x146a\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3c99 Size:256 Owner:0x1468\r
+\e[0m\e[0mSeg:3f16 Size:256 Owner:0x146c\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3d99 Size:256 Owner:0x146a\r
+\e[0m\e[0mSeg:4016 Size:256 Owner:0x146e\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3e99 Size:256 Owner:0x146c\r
+\e[0m\e[0mSeg:4116 Size:256 Owner:0x1470\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:3f99 Size:256 Owner:0x146e\r
+\e[0m\e[0mSeg:4216 Size:256 Owner:0x1472\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4099 Size:256 Owner:0x1470\r
+\e[0m\e[0mSeg:4316 Size:256 Owner:0x1474\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4199 Size:256 Owner:0x1472\r
+\e[0m\e[0mSeg:4416 Size:256 Owner:0x1476\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4299 Size:256 Owner:0x1474\r
+\e[0m\e[0mSeg:4516 Size:256 Owner:0x1478\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4399 Size:256 Owner:0x1476\r
+\e[0m\e[0mSeg:4616 Size:256 Owner:0x147a\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4499 Size:256 Owner:0x1478\r
+\e[0m\e[0mSeg:4716 Size:256 Owner:0x147c\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4599 Size:256 Owner:0x147a\r
+\e[0m\e[0mSeg:4816 Size:256 Owner:0x147e\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4699 Size:256 Owner:0x147c\r
+\e[0m\e[0mSeg:4916 Size:256 Owner:0x1480\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4799 Size:256 Owner:0x147e\r
+\e[0m\e[0mSeg:4a16 Size:256 Owner:0x1482\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4899 Size:256 Owner:0x1480\r
+\e[0m\e[0mSeg:4b16 Size:256 Owner:0x1484\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4999 Size:256 Owner:0x1482\r
+\e[0m\e[0mSeg:4c16 Size:256 Owner:0x1486\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4a99 Size:256 Owner:0x1484\r
+\e[0m\e[0mSeg:4d16 Size:256 Owner:0x1488\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4b99 Size:256 Owner:0x1486\r
+\e[0m\e[0mSeg:4e16 Size:256 Owner:0x148a\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4c99 Size:256 Owner:0x1488\r
+\e[0m\e[0mSeg:4f16 Size:256 Owner:0x148c\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4d99 Size:256 Owner:0x148a\r
+\e[0m\e[0mSeg:5016 Size:256 Owner:0x148e\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4e99 Size:256 Owner:0x148c\r
+\e[0m\e[0mSeg:5116 Size:256 Owner:0x1490\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:4f99 Size:256 Owner:0x148e\r
+\e[0m\e[0mSeg:5216 Size:256 Owner:0x1492\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5099 Size:256 Owner:0x1490\r
+\e[0m\e[0mSeg:5316 Size:256 Owner:0x1494\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5199 Size:256 Owner:0x1492\r
+\e[0m\e[0mSeg:5416 Size:256 Owner:0x1496\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5299 Size:256 Owner:0x1494\r
+\e[0m\e[0mSeg:5516 Size:256 Owner:0x1498\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5399 Size:256 Owner:0x1496\r
+\e[0m\e[0mSeg:5616 Size:256 Owner:0x149a\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5499 Size:256 Owner:0x1498\r
+\e[0m\e[0mSeg:5716 Size:256 Owner:0x149c\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5599 Size:256 Owner:0x149a\r
+\e[0m\e[0mSeg:5816 Size:256 Owner:0x149e\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5699 Size:256 Owner:0x149c\r
+\e[0m\e[0mSeg:5916 Size:256 Owner:0x14a0\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5799 Size:256 Owner:0x149e\r
+\e[0m\e[0mSeg:5a16 Size:256 Owner:0x14a2\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5899 Size:256 Owner:0x14a0\r
+\e[0m\e[0mSeg:5b16 Size:256 Owner:0x14a4\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5999 Size:256 Owner:0x14a2\r
+\e[0m\e[0mSeg:5c16 Size:256 Owner:0x14a6\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5a99 Size:256 Owner:0x14a4\r
+\e[0m\e[0mSeg:5d16 Size:256 Owner:0x14a8\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5b99 Size:256 Owner:0x14a6\r
+\e[0m\e[0mSeg:5e16 Size:256 Owner:0x14aa\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5c99 Size:256 Owner:0x14a8\r
+\e[0m\e[0mSeg:5f16 Size:256 Owner:0x14ac\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5d99 Size:256 Owner:0x14aa\r
+\e[0m\e[0mSeg:6016 Size:256 Owner:0x14ae\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5e99 Size:256 Owner:0x14ac\r
+\e[0m\e[0mSeg:6116 Size:256 Owner:0x14b0\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:5f99 Size:256 Owner:0x14ae\r
+\e[0m\e[0mSeg:6216 Size:256 Owner:0x14b2\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6099 Size:256 Owner:0x14b0\r
+\e[0m\e[0mSeg:6316 Size:256 Owner:0x14b4\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6199 Size:256 Owner:0x14b2\r
+\e[0m\e[0mSeg:6416 Size:256 Owner:0x14b6\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6299 Size:256 Owner:0x14b4\r
+\e[0m\e[0mSeg:6516 Size:256 Owner:0x14b8\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6399 Size:256 Owner:0x14b6\r
+\e[0m\e[0mSeg:6616 Size:256 Owner:0x14ba\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6499 Size:256 Owner:0x14b8\r
+\e[0m\e[0mSeg:6716 Size:256 Owner:0x14bc\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6599 Size:256 Owner:0x14ba\r
+\e[0m\e[0mSeg:6816 Size:256 Owner:0x14be\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6699 Size:256 Owner:0x14bc\r
+\e[0m\e[0mSeg:6916 Size:256 Owner:0x14c0\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6799 Size:256 Owner:0x14be\r
+\e[0m\e[0mSeg:6a16 Size:256 Owner:0x14c2\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6899 Size:256 Owner:0x14c0\r
+\e[0m\e[0mSeg:6b16 Size:256 Owner:0x14c4\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6999 Size:256 Owner:0x14c2\r
+\e[0m\e[0mSeg:6c16 Size:256 Owner:0x14c6\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6a99 Size:256 Owner:0x14c4\r
+\e[0m\e[0mSeg:6d16 Size:256 Owner:0x14c8\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6b99 Size:256 Owner:0x14c6\r
+\e[0m\e[0mSeg:6e16 Size:256 Owner:0x14ca\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6c99 Size:256 Owner:0x14c8\r
+\e[0m\e[0mSeg:6f16 Size:256 Owner:0x14cc\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6d99 Size:256 Owner:0x14ca\r
+\e[0m\e[0mSeg:7016 Size:256 Owner:0x14ce\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6e99 Size:256 Owner:0x14cc\r
+\e[0m\e[0mSeg:7116 Size:256 Owner:0x14d0\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:6f99 Size:256 Owner:0x14ce\r
+\e[0m\e[0mSeg:7216 Size:256 Owner:0x14d2\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7099 Size:256 Owner:0x14d0\r
+\e[0m\e[0mSeg:7316 Size:256 Owner:0x14d4\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7199 Size:256 Owner:0x14d2\r
+\e[0m\e[0mSeg:7416 Size:256 Owner:0x14d6\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7299 Size:256 Owner:0x14d4\r
+\e[0m\e[0mSeg:7516 Size:256 Owner:0x14d8\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7399 Size:256 Owner:0x14d6\r
+\e[0m\e[0mSeg:7616 Size:256 Owner:0x14da\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7499 Size:256 Owner:0x14d8\r
+\e[0m\e[0mSeg:7716 Size:256 Owner:0x14dc\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7599 Size:256 Owner:0x14da\r
+\e[0m\e[0mSeg:7816 Size:256 Owner:0x14de\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7699 Size:256 Owner:0x14dc\r
+\e[0m\e[0mSeg:7916 Size:256 Owner:0x14e0\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7799 Size:256 Owner:0x14de\r
+\e[0m\e[0mSeg:7a16 Size:256 Owner:0x14e2\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7899 Size:256 Owner:0x14e0\r
+\e[0m\e[0mSeg:7b16 Size:256 Owner:0x14e4\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7999 Size:256 Owner:0x14e2\r
+\e[0m\e[0mSeg:7c16 Size:256 Owner:0x14e6\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7a99 Size:256 Owner:0x14e4\r
+\e[0m\e[0mSeg:7d16 Size:256 Owner:0x14e8\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7b99 Size:256 Owner:0x14e6\r
+\e[0m\e[0mSeg:7e16 Size:256 Owner:0x14ea\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7c99 Size:256 Owner:0x14e8\r
+\e[0m\e[0mSeg:7f16 Size:256 Owner:0x14ec\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7d99 Size:256 Owner:0x14ea\r
+\e[0m\e[0mSeg:8016 Size:256 Owner:0x14ee\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7e99 Size:256 Owner:0x14ec\r
+\e[0m\e[0mSeg:8116 Size:256 Owner:0x14f0\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:7f99 Size:256 Owner:0x14ee\r
+\e[0m\e[0mSeg:8216 Size:256 Owner:0x14f2\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8099 Size:256 Owner:0x14f0\r
+\e[0m\e[0mSeg:8316 Size:256 Owner:0x14f4\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8199 Size:256 Owner:0x14f2\r
+\e[0m\e[0mSeg:8416 Size:256 Owner:0x14f6\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8299 Size:256 Owner:0x14f4\r
+\e[0m\e[0mSeg:8516 Size:256 Owner:0x14f8\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8399 Size:256 Owner:0x14f6\r
+\e[0m\e[0mSeg:8616 Size:256 Owner:0x14fa\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8499 Size:256 Owner:0x14f8\r
+\e[0m\e[0mSeg:8716 Size:256 Owner:0x14fc\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8599 Size:256 Owner:0x14fa\r
+\e[0m\e[0mSeg:8816 Size:256 Owner:0x14fe\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8699 Size:256 Owner:0x14fc\r
+\e[0m\e[0mSeg:8916 Size:256 Owner:0x1500\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8799 Size:256 Owner:0x14fe\r
+\e[0m\e[0mSeg:8a16 Size:256 Owner:0x1502\r
\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8899 Size:256 Owner:0x1500\r
+\e[0m\e[0mSeg:8b16 Size:256 Owner:0x1504\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8999 Size:256 Owner:0x1502\r
+\e[0m\e[0mSeg:8c16 Size:256 Owner:0x1506\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8a99 Size:256 Owner:0x1504\r
+\e[0m\e[0mSeg:8d16 Size:256 Owner:0x1508\r
\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8b99 Size:256 Owner:0x1506\r
-\e[45;35m++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8c99 Size:256 Owner:0x1508\r
-\e[45;35m+++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:8d99 Size:401 Owner:0xec12\r
+\e[0m\e[0mSeg:8e16 Size:401 Owner:0xec1c\r
\e[44;34m++++++\e[0m\e[42;32m\r
-\e[0m\e[0mSeg:b899 Size:18278 Owner:0x0\r
-\e[41;31m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m
\ No newline at end of file
+\e[0m\e[0mSeg:b916 Size:18153 Owner:0x0\r
+\e[41;31m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\e[0m
\ No newline at end of file
\r
== default ==\r
\r
- USED block at 288f0016 of size 136\r
- FREE block at 288f009e of size 68\r
- USED block at 288f00e2 of size 50\r
- USED block at 288f0114 of size 50\r
- USED block at 288f0146 of size 50\r
- USED block at 288f0178 of size 50\r
- USED block at 288f01aa of size 50\r
- USED block at 288f01dc of size 50\r
- USED block at 288f020e of size 50\r
- USED block at 288f0240 of size 50\r
- USED block at 288f0272 of size 50\r
- USED block at 288f02a4 of size 50\r
- USED block at 288f02d6 of size 50\r
- USED block at 288f0308 of size 50\r
- FREE block at 288f033a of size 14\r
- USED block at 288f0348 of size 20\r
- FREE block at 288f035c of size 7328\r
+ USED block at 290c0016 of size 136\r
+ FREE block at 290c009e of size 68\r
+ USED block at 290c00e2 of size 50\r
+ USED block at 290c0114 of size 50\r
+ USED block at 290c0146 of size 50\r
+ USED block at 290c0178 of size 50\r
+ USED block at 290c01aa of size 50\r
+ USED block at 290c01dc of size 50\r
+ USED block at 290c020e of size 50\r
+ USED block at 290c0240 of size 50\r
+ USED block at 290c0272 of size 50\r
+ USED block at 290c02a4 of size 50\r
+ USED block at 290c02d6 of size 50\r
+ USED block at 290c0308 of size 50\r
+ FREE block at 290c033a of size 14\r
+ USED block at 290c0348 of size 20\r
+ FREE block at 290c035c of size 7328\r
OK - end of heap\r
\r
== near ==\r
\r
- USED block at 188eec66 of size 12\r
- USED block at 188eec72 of size 330\r
- USED block at 188eedbc of size 52\r
- USED block at 188eedf0 of size 20\r
- USED block at 188eee04 of size 20\r
- USED block at 188eee18 of size 20\r
- USED block at 188eee2c of size 20\r
- USED block at 188eee40 of size 20\r
- USED block at 188eee54 of size 4520\r
+ USED block at 190bec66 of size 12\r
+ USED block at 190bec72 of size 528\r
+ USED block at 190bee82 of size 72\r
+ USED block at 190beeca of size 20\r
+ USED block at 190beede of size 20\r
+ USED block at 190beef2 of size 20\r
+ USED block at 190bef06 of size 20\r
+ USED block at 190bef1a of size 20\r
+ USED block at 190bef2e of size 4302\r
OK - end of heap\r
\r
== far ==\r
\r
- USED block at 288f0016 of size 136\r
- USED block at 288f009e of size 68\r
- USED block at 288f00e2 of size 50\r
- USED block at 288f0114 of size 50\r
- USED block at 288f0146 of size 50\r
- USED block at 288f0178 of size 50\r
- USED block at 288f01aa of size 50\r
- USED block at 288f01dc of size 50\r
- USED block at 288f020e of size 50\r
- USED block at 288f0240 of size 50\r
- USED block at 288f0272 of size 50\r
- USED block at 288f02a4 of size 50\r
- USED block at 288f02d6 of size 50\r
- USED block at 288f0308 of size 50\r
- USED block at 288f033a of size 14\r
- USED block at 288f0348 of size 20\r
- USED block at 288f035c of size 7328\r
+ USED block at 290c0016 of size 136\r
+ USED block at 290c009e of size 68\r
+ USED block at 290c00e2 of size 50\r
+ USED block at 290c0114 of size 50\r
+ USED block at 290c0146 of size 50\r
+ USED block at 290c0178 of size 50\r
+ USED block at 290c01aa of size 50\r
+ USED block at 290c01dc of size 50\r
+ USED block at 290c020e of size 50\r
+ USED block at 290c0240 of size 50\r
+ USED block at 290c0272 of size 50\r
+ USED block at 290c02a4 of size 50\r
+ USED block at 290c02d6 of size 50\r
+ USED block at 290c0308 of size 50\r
+ USED block at 290c033a of size 14\r
+ USED block at 290c0348 of size 20\r
+ USED block at 290c035c of size 7328\r
OK - end of heap\r
\r
Memory Type Total Used Free\r
---------------- -------- -------- --------\r
Default 8166 756 7410\r
-Near 5014 494 4520\r
+Near 5014 712 4302\r
Far 8166 756 7410\r
---------------- -------- -------- --------\r
-coreleft = 4518\r
-farcoreleft = 28156\r
+coreleft = 4300\r
+farcoreleft = 27938\r
GetFreeSize = 23660\r
-GetNearFreeSize = 4520\r
+GetNearFreeSize = 4302\r
GetFarFreeSize = 23660\r
-memavl = 4518\r
-stackavail = 31529\r
+memavl = 4300\r
+stackavail = 31539\r
--- /dev/null
+grep -i "$1" src/lib/*
cldl: .symbolic
@cd $(DOSLIB:$(to_os_path))
@$(DOSLIBMAKEALL) $(DOSLIB_MEMMODE) clean
+ @$(REMOVECOMMAND) -rf ext/README
@cd $(BUILD_ROOT)
uplibs: .symbolic
@$(COPYCOMMAND) git_con.fig .git/config
@$(COPYCOMMAND) git_modu.les .gitmodules
@$(COPYCOMMAND) git_igno.re .gitignore
- @cd $(SRCLIB:$(to_os_path))
- @git clone https://github.com/joncampbell123/doslib.git
- @git clone https://github.com/zserge/jsmn.git
- @cd $(BUILD_ROOT)
+ @wmake -h cldl
+ @wmake -h jmdl
@cd 16
@git clone https://github.com/FlatRockSoft/CatacombApocalypse.git
@git clone https://github.com/id-Software/wolf3d.git
@cd $(BUILD_ROOT)
@$(COPYCOMMAND) $(DOSLIB)/make-lowercase .
+dlcl: .symbolic
+ @cd $(SRCLIB:$(to_os_path))
+ @git clone https://github.com/joncampbell123/doslib.git
+ @cd $(BUILD_ROOT)
+
+jmcl: .symbolic
+ @cd $(SRCLIB:$(to_os_path))
+ @git clone https://github.com/zserge/jsmn.git
+ @cd $(BUILD_ROOT)
+
##
## experimental libs
##
==========================\r
*/\r
\r
-boolean CA_FarRead(int handle, byte huge *dest, dword length, global_game_variables_t *gvar)\r
+boolean CA_FarRead(int handle, byte far *dest, dword length, global_game_variables_t *gvar)\r
{\r
boolean flag=0;\r
//dword fat=0;\r
==========================\r
*/\r
\r
-boolean CA_FarWrite(int handle, byte huge *source, dword length, global_game_variables_t *gvar)\r
+boolean CA_FarWrite(int handle, byte far *source, dword length, global_game_variables_t *gvar)\r
{\r
boolean flag=0;\r
//dword fat=0;\r
======================\r
*/\r
\r
-void CAL_HuffExpand (byte huge *source, byte huge *dest,\r
+void CAL_HuffExpand (byte far *source, byte far *dest,\r
long length,huffnode *hufftable)\r
{\r
// unsigned bit,byte,node,code;\r
======================\r
*/\r
\r
-long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,\r
+long CA_RLEWCompress (unsigned far *source, long length, unsigned far *dest,\r
unsigned rlewtag)\r
{\r
long complength;\r
unsigned value,count,i;\r
- unsigned huge *start,huge *end;\r
+ unsigned far *start,far *end;\r
\r
start = dest;\r
\r
======================\r
*/\r
\r
-void CA_RLEWexpand (unsigned huge *source, unsigned huge *dest,long length,\r
+void CA_RLEWexpand (unsigned far *source, unsigned far *dest,long length,\r
unsigned rlewtag)\r
{\r
// unsigned value,count,i;\r
- unsigned huge *end;\r
+ unsigned far *end;\r
unsigned sourceseg,sourceoff,destseg,destoff,endseg,endoff;\r
\r
\r
CAL_GetGrChunkLength(STRUCTPIC); // position file pointer\r
MM_GetPtr(&compseg,chunkcomplen);\r
CA_FarRead (grhandle,compseg,chunkcomplen);\r
- CAL_HuffExpand (compseg, (byte huge *)pictable,NUMPICS*sizeof(pictabletype),grhuffman);\r
+ CAL_HuffExpand (compseg, (byte far *)pictable,NUMPICS*sizeof(pictabletype),grhuffman);\r
MM_FreePtr(&compseg);\r
#endif\r
\r
CAL_GetGrChunkLength(STRUCTPICM); // position file pointer\r
MM_GetPtr(&compseg,chunkcomplen);\r
CA_FarRead (grhandle,compseg,chunkcomplen);\r
- CAL_HuffExpand (compseg, (byte huge *)picmtable,NUMPICS*sizeof(pictabletype),grhuffman);\r
+ CAL_HuffExpand (compseg, (byte far *)picmtable,NUMPICS*sizeof(pictabletype),grhuffman);\r
MM_FreePtr(&compseg);\r
#endif\r
\r
CAL_GetGrChunkLength(STRUCTSPRITE); // position file pointer\r
MM_GetPtr(&compseg,chunkcomplen);\r
CA_FarRead (grhandle,compseg,chunkcomplen);\r
- CAL_HuffExpand (compseg, (byte huge *)spritetable,NUMSPRITES*sizeof(spritetabletype),grhuffman);\r
+ CAL_HuffExpand (compseg, (byte far *)spritetable,NUMSPRITES*sizeof(spritetabletype),grhuffman);\r
MM_FreePtr(&compseg);\r
#endif\r
\r
\r
void CA_OpenDebug (global_game_variables_t *gvar);\r
void CA_CloseDebug (global_game_variables_t *gvar);\r
-boolean CA_FarRead (int handle, byte huge *dest, dword length, global_game_variables_t *gvar);\r
-boolean CA_FarWrite (int handle, byte huge *source, dword length, global_game_variables_t *gvar);\r
+boolean CA_FarRead (int handle, byte far *dest, dword length, global_game_variables_t *gvar);\r
+boolean CA_FarWrite (int handle, byte far *source, dword length, global_game_variables_t *gvar);\r
\r
boolean CA_ReadFile (char *filename, memptr *ptr, global_game_variables_t *gvar);\r
boolean CA_WriteFile (char *filename, void far *ptr, long length, global_game_variables_t *gvar);\r
boolean CA_LoadFile (char *filename, memptr *ptr, global_game_variables_t *gvar);\r
\r
-long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,unsigned rlewtag);\r
+long CA_RLEWCompress (unsigned far *source, long length, unsigned far *dest,unsigned rlewtag);\r
\r
-void CA_RLEWexpand (unsigned huge *source, unsigned huge *dest,long length,unsigned rlewtag);\r
+void CA_RLEWexpand (unsigned far *source, unsigned far *dest,long length,unsigned rlewtag);\r
\r
void CA_Startup (global_game_variables_t *gvar);\r
void CA_Shutdown (global_game_variables_t *gvar);\r
#include "src/lib/16_dbg.h"\r
-//#include "src/16.h"\r
-\r
\r
#ifdef __DEBUG__\r
#ifdef __DEBUG_PM__\r
boolean dbg_debugpm=0;\r
#endif\r
#ifdef __DEBUG_InputMgr__\r
-boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0;\r
+boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0,dbg_notest=0;\r
#endif\r
#endif\r
\r
extern boolean dbg_debugpm;\r
#endif\r
#ifdef __DEBUG_InputMgr__\r
-extern boolean dbg_testkeyin,dbg_testcontrolnoisy;\r
+extern boolean dbg_testkeyin,dbg_testcontrolnoisy,dbg_notest;\r
#endif\r
#endif\r
\r
\r
boolean IN_KeyDown(byte code)\r
{\r
+#ifdef __DEBUG_InputMgr__\r
+ if(!dbg_notest)\r
+#endif\r
return inpu.Keyboard[code];\r
+#ifdef __DEBUG_InputMgr__\r
+ else return kbhit();\r
+#endif\r
}\r
\r
void IN_ClearKey(byte code)\r
boolean IN_qb(byte kee)\r
{\r
#ifdef __DEBUG_InputMgr__\r
-// if(dbg_testkeyin > 0) printf("%u\n", inpu.Keyboard[kee]);\r
+ if(dbg_testkeyin) printf("%u\n", inpu.Keyboard[kee]);\r
#endif\r
if(inpu.Keyboard[kee]==true) return 1;\r
else return 0;\r
\r
//TODO: 16_mm and 16_ca must handle this\r
typedef struct {\r
- bitmap_t huge *btdata; //old\r
- planar_buf_t huge *data; //old\r
+ bitmap_t far *btdata; //old\r
+ planar_buf_t far *data; //old\r
word tileHeight, tileWidth;\r
unsigned int rows, cols;\r
#ifdef __DEBUG__\r
//long planestart[3];\r
//unsigned planelength[3];\r
byte *data; //TODO: 16_mm and 16_ca must handle this\r
- byte * huge *layerdata; //TODO: 16_mm and 16_ca must handle this\r
+ byte * far *layerdata; //TODO: 16_mm and 16_ca must handle this\r
tiles_t *tiles; //TODO: 16_mm and 16_ca must handle this\r
- tiles_t * huge *layertile; //TODO: 16_mm and 16_ca must handle this\r
+ tiles_t * far *layertile; //TODO: 16_mm and 16_ca must handle this\r
int width, height; //this has to be signed!\r
char name[16];\r
} map_t;\r
/*void MML_UseSpace(word segstart, dword seglength, global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan,huge *last;
+ mmblocktype far *scan,far *last;
word segm=1;
word oldend;
dword segmlen;
void MML_ClearBlock(global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan,huge *last;
- mmblocktype __far *scan;//,far *last;
+ mmblocktype far *scan;//,far *last;
scan = gvar->mm.mmhead->next;
int i;
//dword length,seglength;
dword length; word seglength;
- //huge void huge *start;
void far *start;
word segstart;//,endfree;
#ifdef __WATCOMC__
_nheapgrow();
length=(dword)_memavl();//(dword)GetFreeSize();
- //huge start = (void huge *)(gvar->mm.nearheap = _nmalloc(length));
start = (void far *)(gvar->mm.nearheap = _nmalloc(length));
#endif
#ifdef __BORLANDC__
length=coreleft();
- //huge start = (void huge *)(gvar->mm.nearheap = malloc(length));
start = (void far *)(gvar->mm.nearheap = malloc(length));
#endif
length -= 16-(FP_OFF(start)&15);
void MM_GetPtr (memptr *baseptr, dword size, global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan,huge *lastscan,huge *endscan,huge *purge,huge *next;
mmblocktype far *scan,far *lastscan,far *endscan,far *purge,far *next;
int search;
unsigned needed,startseg;
void MM_FreePtr(memptr *baseptr, global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan,huge *last;
mmblocktype far *scan,far *last;
last = gvar->mm.mmhead;
void MM_SetPurge(memptr *baseptr, int purge, global_game_variables_t *gvar)
{
- //huge mmblocktype huge *start;
mmblocktype far *start;
start = gvar->mm.mmrover;
void MM_SetLock(memptr *baseptr, boolean locked, global_game_variables_t *gvar)
{
- //huge mmblocktype huge *start;
mmblocktype far *start;
start = gvar->mm.mmrover;
void MM_SortMem(global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan,huge *last,huge *next;
mmblocktype far *scan,far *last,far *next;
unsigned start,length,source,dest;//++++,oldborder;
//++++int playing;
void MM_ShowMemory(global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan;
mmblocktype far *scan;
//word temp;
sdword end,owner;
void MM_DumpData(global_game_variables_t *gvar)
{
- //huge mmblocktype huge *scan,huge *best;
mmblocktype far *scan,far *best;
long lowest,oldlowest;
word owner;
dword MM_UnusedMemory(global_game_variables_t *gvar)
{
dword free;
- //huge mmblocktype huge *scan;
mmblocktype far *scan;
free = 0;
dword MM_TotalFree(global_game_variables_t *gvar)
{
dword free;
- //huge mmblocktype huge *scan;
mmblocktype far *scan;
free = 0;
word blob; //for data larger than 64k\r
unsigned attributes;\r
memptr *useptr; // pointer to the segment start\r
- //huge struct mmblockstruct huge *next;\r
struct mmblockstruct far *next;\r
} mmblocktype;\r
\r
{\r
memptr bufferseg;\r
boolean mmstarted, bombonerror, mmerror;\r
- //huge void huge *farheap;\r
void far *farheap;\r
#ifdef __BORLANDC__\r
void *nearheap;\r
unsigned int EMSVer;\r
word numUMBs,UMBbase[MAXUMBS];\r
//dword numUMBs,UMBbase[MAXUMBS];\r
- //huge mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;\r
mmblocktype far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew;\r
} mminfo_t;*/\r
\r
char* get_curr_anim_name(struct sprite *spri)\r
{\r
// Retrive animation name list\r
- struct vrs_header huge *vrs = spri->spritesheet->vrs_hdr;\r
- uint32_t huge *anim_names_offsets = (uint32_t huge *)\r
- ((byte huge *)vrs +\r
+ struct vrs_header far *vrs = spri->spritesheet->vrs_hdr;\r
+ uint32_t far *anim_names_offsets = (uint32_t far *)\r
+ ((byte far *)vrs +\r
vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_NAME_LIST]);\r
\r
return (char *)(vrs + anim_names_offsets[spri->curr_anim]);\r
\r
void init_anim(struct sprite *spri, int anim_index)\r
{\r
- struct vrs_header huge *vrs = spri->spritesheet->vrs_hdr;\r
- uint32_t huge *anim_lists_offsets = (uint32_t huge *)\r
- ((byte huge *)vrs +\r
+ struct vrs_header far *vrs = spri->spritesheet->vrs_hdr;\r
+ uint32_t far *anim_lists_offsets = (uint32_t far *)\r
+ ((byte far *)vrs +\r
vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_LIST]);\r
- struct vrs_animation_list_entry_t huge *anim_list = (struct vrs_animation_list_entry_t huge *)\r
- ((byte huge *)vrs +\r
+ struct vrs_animation_list_entry_t far *anim_list = (struct vrs_animation_list_entry_t far *)\r
+ ((byte far *)vrs +\r
anim_lists_offsets[anim_index]);\r
\r
// Upon new animation, start from the first sprite in it\r
{\r
int new_anim_index = 0;\r
int iter_id;\r
- struct vrs_header huge *vrs = spri->spritesheet->vrs_hdr;\r
+ struct vrs_header far *vrs = spri->spritesheet->vrs_hdr;\r
// Retruve animation ids list\r
- uint16_t huge *anim_ids = (uint16_t huge *)\r
- ((byte huge *)vrs +\r
+ uint16_t far *anim_ids = (uint16_t far *)\r
+ ((byte far *)vrs +\r
vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_ID_LIST]);\r
\r
// Loop through animation id untill match or end of list\r
{\r
int new_anim_index = 0;\r
int iter_id;\r
- struct vrs_header huge *vrs = spri->spritesheet->vrs_hdr;\r
+ struct vrs_header far *vrs = spri->spritesheet->vrs_hdr;\r
// Retruve animation ids list\r
- uint16_t huge *anim_ids = (uint16_t huge *)\r
- ((byte huge *)vrs +\r
+ uint16_t far *anim_ids = (uint16_t far *)\r
+ ((byte far *)vrs +\r
vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_ID_LIST]);\r
\r
if(!anim_ids[new_anim_index])\r
}\r
\r
\r
-void animate_spri(struct sprite *spri)\r
+void animate_spri(struct sprite *spri, global_game_variables_t *gvar)\r
{\r
int i;\r
// Events go here\r
i = get_vrl_by_id(spri->spritesheet, spri->curr_spri_id, spri->sprite_vrl_cont);\r
if(i < 0)\r
{\r
- printf("Error retriving required sprite");\r
- exit(-1);\r
+ Quit (gvar, "Error retriving required sprite");\r
}\r
draw_vrl1_vgax_modex( spri->x, spri->y,\r
spri->sprite_vrl_cont->vrl_header, spri->sprite_vrl_cont->line_offsets,\r
* In:\r
* + struct sprite *spri - sprite to animate\r
*/\r
-void animate_spri(struct sprite *spri);\r
+void animate_spri(struct sprite *spri, global_game_variables_t *gvar);\r
\r
void print_anim_ids(struct sprite *spri);\r
\r
gvar->pm.PMStarted=0;\r
MM_Startup(gvar);\r
#ifdef __WATCOMC__\r
+#ifdef __DEBUG_InputMgr__\r
+ if(!dbg_notest)\r
+#endif\r
IN_Startup(gvar);\r
#endif\r
PM_Startup(gvar);\r
{\r
PM_Shutdown(gvar);\r
#ifdef __WATCOMC__\r
+#ifdef __DEBUG_InputMgr__\r
+ if(!dbg_notest)\r
+#endif\r
IN_Shutdown(gvar);\r
#endif\r
CA_Shutdown(gvar);\r
int read_vrs(global_game_variables_t *gvar, char *filename, struct vrs_container *vrs_cont){\r
int fd;\r
dword size;\r
- byte huge *buffer;\r
+ byte far *buffer;\r
vrl1_vgax_offset_t **vrl_line_offsets;\r
- uint32_t huge *vrl_headers_offsets;\r
- uint16_t huge *vrl_id_iter;\r
+ uint32_t far *vrl_headers_offsets;\r
+ uint16_t far *vrl_id_iter;\r
uint32_t vrl_size;\r
int num_of_vrl=0, i;\r
- struct vrl1_vgax_header huge *curr_vrl;\r
+ struct vrl1_vgax_header far *curr_vrl;\r
int success=1;\r
\r
// Open filename, get size of file,\r
// Calculate vrl offsets\r
\r
// Count sprites\r
- vrl_id_iter = (uint16_t huge *)(buffer + vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
+ vrl_id_iter = (uint16_t far *)(buffer + vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
while(vrl_id_iter[num_of_vrl]){\r
num_of_vrl++;\r
}\r
// Allocate memory for vrl line offsets table\r
vrl_line_offsets = malloc(sizeof(vrl1_vgax_offset_t *)*num_of_vrl);\r
\r
- vrl_headers_offsets = (uint32_t huge *)(buffer + vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
+ vrl_headers_offsets = (uint32_t far *)(buffer + vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
// Calculate line offsets for each vrl\r
for(i = 0; i < num_of_vrl; i++){\r
- curr_vrl = (struct vrl1_vgax_header huge *)(buffer + vrl_headers_offsets[i]);\r
+ curr_vrl = (struct vrl1_vgax_header far *)(buffer + vrl_headers_offsets[i]);\r
\r
// Calc. vrl size as (next_offset - curr_offset)\r
if (i != num_of_vrl - 1){\r
}\r
\r
// Seek and return a specified .vrl blob from .vrs blob in far memory\r
-int get_vrl_by_id(struct vrs_container /*huge*/ *vrs_cont, uint16_t id, struct vrl_container *vrl_cont){\r
- uint16_t huge *ids;\r
- uint32_t huge *vrl_offs_list;\r
+int get_vrl_by_id(struct vrs_container far *vrs_cont, uint16_t id, struct vrl_container *vrl_cont){\r
+ uint16_t far *ids;\r
+ uint32_t far *vrl_offs_list;\r
int counter = 0;\r
\r
// If id is invalid, return -1\r
}\r
\r
// Get id list from .vrs blob (base + offset)\r
- ids = (uint16_t huge*)(vrs_cont->buffer +\r
+ ids = (uint16_t far*)(vrs_cont->buffer +\r
vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
\r
// Loop through the id list until we found the right one or hit the end of the list\r
}\r
\r
// Get vrl offsets list from .vrs blob (base + offset)\r
- vrl_offs_list = (uint32_t huge *)(vrs_cont->buffer +\r
+ vrl_offs_list = (uint32_t far *)(vrs_cont->buffer +\r
vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
\r
// Get vrl_header from .vrs (base + offset from vrl_list)\r
// Counter is number of vrls to skip (ids and vrls are aligned according to the .vrs specification)\r
- vrl_cont->vrl_header = (struct vrl1_vgax_header huge *)(vrs_cont->buffer + vrl_offs_list[counter]);\r
+ vrl_cont->vrl_header = (struct vrl1_vgax_header far *)(vrs_cont->buffer + vrl_offs_list[counter]);\r
\r
// Get .vrl size by integer arithmetics (next vrl offset - current vrl offset)\r
if(ids[counter+1]){\r
// minus header\r
dword data_size;\r
union{\r
- byte huge *buffer;\r
- struct vrs_header huge *vrs_hdr;\r
+ byte far *buffer;\r
+ struct vrs_header far *vrs_hdr;\r
};\r
// Array of corresponding vrl line offsets\r
vrl1_vgax_offset_t **vrl_line_offsets;\r
// minus header\r
dword data_size;\r
union{\r
- byte huge *buffer;\r
- struct vrl1_vgax_header huge *vrl_header;\r
+ byte far *buffer;\r
+ struct vrl1_vgax_header far *vrl_header;\r
};\r
// Pointer to a corresponding vrl line offsets struct\r
vrl1_vgax_offset_t *line_offsets;\r
-Subproject commit 4970401064ed7de41b406dfad32c7095ae1cbfab
+Subproject commit 912a29296248429f341b4727b441fb36c3e823a5
\r
//bitmap_t p;\r
static map_t map;\r
-player_t player[MaxPlayers];\r
map_view_t mv[4];\r
//word pn=0; //i forgot ww\r
float t;\r
void main(int argc, char *argv[])\r
{\r
static global_game_variables_t gvar;\r
+ static player_t player[MaxPlayers];\r
if(argv[1]) bakapee = atoi(argv[1]);\r
else bakapee = 1;\r
\r
*/\r
\r
#include "src/lib/16_head.h"\r
+#include "src/lib/16_tail.h"\r
#include "src/lib/16_vl.h"\r
#include "src/lib/16_sprit.h"\r
-#include "src/lib/16_tail.h"\r
#include "src/lib/16_pm.h"\r
-#include "src/lib/16_ca.h"\r
+//#include "src/lib/16_ca.h"\r
#include "src/lib/16_mm.h"\r
\r
+extern boolean dbg_notest;\r
+\r
static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */\r
\r
void main() {\r
//vrl1_vgax_offset_t * off, *off1;\r
struct vrs_container vrs;\r
vrl1_vgax_offset_t **vrl_line_offsets;\r
- uint32_t huge *vrl_headers_offsets;\r
- uint16_t huge *vrl_id_iter;\r
+ uint32_t far *vrl_headers_offsets;\r
+ uint16_t far *vrl_id_iter;\r
uint32_t vrl_size;\r
int num_of_vrl;\r
- struct vrl1_vgax_header huge *curr_vrl;\r
+ struct vrl1_vgax_header far *curr_vrl;\r
word w=0;\r
+ dbg_notest=1;\r
\r
Startup16(&gvar);\r
\r
vrs.buffer = bigbuffer;\r
vrs.data_size = size - sizeof(struct vrl1_vgax_header);\r
num_of_vrl = 0;\r
- vrl_id_iter = (uint16_t huge *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
+ vrl_id_iter = (uint16_t far *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
while(vrl_id_iter[num_of_vrl]){\r
num_of_vrl++;\r
}\r
// Allocate memory for vrl line offsets table\r
vrl_line_offsets = malloc(sizeof(vrl1_vgax_offset_t *)*num_of_vrl);\r
\r
- vrl_headers_offsets = (uint32_t huge *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
+ vrl_headers_offsets = (uint32_t far *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
// Calculate line offsets for each vrl\r
for(i = 0; i < num_of_vrl; i++){\r
- curr_vrl = (struct vrl1_vgax_header huge *)(vrs.buffer + vrl_headers_offsets[i]);\r
+ curr_vrl = (struct vrl1_vgax_header far *)(vrs.buffer + vrl_headers_offsets[i]);\r
\r
// Calc. vrl size as (next_offset - curr_offset)\r
if (i != num_of_vrl - 1){\r
/*modexLoadPalFile("data/spri/chikyuu.pal", &pal);\r
modexPalUpdate1(pal);*/\r
for (i = 0; i < 5; i++){\r
- spri.delay = 1; animate_spri(&spri); spri.x += 20; /*sleep(1);*/ }\r
+ spri.delay = 1; animate_spri(&spri, &gvar); spri.x += 20; /*sleep(1);*/ }\r
\r
while(!IN_KeyDown(sc_Escape))\r
{\r
\r
//bitmap_t p;\r
static map_t map;\r
-player_t player[MaxPlayers];\r
map_view_t mv[4];\r
float t;\r
sword bakapee;\r
void main(int argc, char *argv[])\r
{\r
static global_game_variables_t gvar;\r
+ static player_t player[MaxPlayers];\r
if(argv[1]) bakapee = atoi(argv[1]);\r
else bakapee = 1;\r
\r
+ player[0].data = _fmalloc(72*128); //TODO use exmm\r
+ *player[0].data = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // load sprite\r
+\r
Startup16(&gvar);\r
\r
pan.pn=0;\r
+\r
// OK, this one takes hellova time and needs to be done in farmalloc or MM_...\r
//IN CA i think you use CAL_SetupGrFile but i do think we should work together on this part --sparky4\r
player[0].ent = malloc(sizeof(entity_t));\r
\r
// data\r
read_vrs(&gvar, "data/spri/chikyuu.vrs", player[0].ent->spri->spritesheet);\r
- player[0].data = malloc(72*128); //TODO use exmm\r
- *player[0].data = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // load sprite\r
+// player[0].data = malloc(72*128); //TODO use exmm\r
+// *player[0].data = bitmapLoadPcx("data/chikyuu.pcx", &gvar); // load sprite\r
\r
// input!\r
IN_Default(0, &player,ctrl_Keyboard1);\r
#ifdef FADE\r
modexFadeOn(4, gpal);\r
#endif\r
+ modexDrawSprite(mv[0].page, 16, 16, (player[0].data));\r
/*strcpy(global_temp_status_text, "press enter for the loop of zcroll\nescape to quit");\r
modexprint(&gvar.video.page[0], 144, 72, 1, 7, 0, global_temp_status_text);\r
while(!IN_KeyDown(sc_Enter)){ if(IN_KeyDown(sc_Escape)) goto quit; } IN_UserInput(1,1);*///wwww\r
\r
/* fade back to text mode */\r
/* but 1st lets save the game palette~ */\r
- //quit:\r
#ifdef FADE\r
modexPalSave(gpal);\r
modexSavePalFile("data/g.pal", gpal);\r