From 3a088e0a4a5306da276a61c89567a48710b1e721 Mon Sep 17 00:00:00 2001
From: sparky4 <sparky4@cock.li>
Date: Fri, 1 Dec 2017 14:14:54 -0600
Subject: [PATCH] i need help with understanding how 16_rf.c works wwww

---
 XCROLL.LOG         |  0
 doc/etchpack.sh    |  5 ---
 doc/newpack.sh     |  3 --
 src/lib/doslib     |  2 +-
 src/lib/scroll16.c | 77 ++++++++++++++++++++++++++--------------------
 src/lib/scroll16.h | 15 +++++----
 6 files changed, 53 insertions(+), 49 deletions(-)
 create mode 100755 XCROLL.LOG
 delete mode 100755 doc/etchpack.sh
 delete mode 100755 doc/newpack.sh

diff --git a/XCROLL.LOG b/XCROLL.LOG
new file mode 100755
index 00000000..e69de29b
diff --git a/doc/etchpack.sh b/doc/etchpack.sh
deleted file mode 100755
index e001239c..00000000
--- a/doc/etchpack.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-apt-get install toilet tint schism cowsay sl fortune beep weechat linuxlogo sudo dosbox htop gparted gpart testdisk cmatrix oneko bsdgames cmatrix-xfont curlftpfs hasciicam xclip openssh-server screen
-apt-get -t etch-backports install xfonts-mona upx-ucl doschk dosfstools 
-#figlet
-#itop
diff --git a/doc/newpack.sh b/doc/newpack.sh
deleted file mode 100755
index f40fc359..00000000
--- a/doc/newpack.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-apt-get install toilet tint schism cowsay sl fortune fonts-mona xfonts-mona beep milkytracker screenfetch weechat figlet linuxlogo xcowsay sudo dosbox htop gparted gpart testdisk upx itop cmatrix oneko bsdgames games-toys ncdu cmatrix-xfont doschk dosfstools curlftpfs hasciicam xclip screen openssh-server tiled
-apt-get install unattended-upgrades
-dpkg-reconfigure unattended-upgrades
diff --git a/src/lib/doslib b/src/lib/doslib
index c6cb5cab..4304eb17 160000
--- a/src/lib/doslib
+++ b/src/lib/doslib
@@ -1 +1 @@
-Subproject commit c6cb5cabeb8a4ff273bc07a04ed40590f004b275
+Subproject commit 4304eb1794e335008774af7f76ad39b985ea0972
diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c
index f3f054d1..936668f2 100755
--- a/src/lib/scroll16.c
+++ b/src/lib/scroll16.c
@@ -503,7 +503,7 @@ void near mapScrollRight(map_view_t *mv, player_t *player, word id, word plid)
 	if(player[plid].enti.q==4)
 #endif
 //		if(id==0)
-			mapDrawCol(&mv[id], mv[0].tx + mv[0].page->ti.tw, mv[0].ty-1, x, player, DRAWCOLNUM);
+			mapDrawCol(&mv[id], mv[0].tx + mv[0].page->ti.tw, mv[0].ty-1, x, player);
 //		else
 //			if(mv[0].video->vga_state.bgps)
 //				modexCopyPageRegion(mv->page, mv[0].page, x, 0, x, 0, mv[0].map->tiles->tileWidth, mv[0].page->height);
@@ -526,7 +526,7 @@ void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid)
 	if(player[plid].enti.q==4)
 #endif
 //		if(id==0)
-			mapDrawCol(&mv[id], mv[0].tx - 1, mv[0].ty-1, x, player, DRAWCOLNUM);
+			mapDrawCol(&mv[id], mv[0].tx - 1, mv[0].ty-1, x, player);
 //		else
 //			if(mv[0].video->vga_state.bgps)
 //				modexCopyPageRegion(mv->page, mv[0].page, x, 0, x, 0, mv[0].map->tiles->tileWidth, mv[0].page->height);
@@ -549,7 +549,7 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid)
 	if(player[plid].enti.q==4)
 #endif
 //		if(id==0)
-			mapDrawRow(&mv[id], mv[0].tx - 1, mv[0].ty-1, y, player, DRAWROWNUM);
+			mapDrawRow(&mv[id], mv[0].tx - 1, mv[0].ty-1, y, player);
 //		else
 //			if(mv[0].video->vga_state.bgps)
 //				modexCopyPageRegion(mv->page, mv[0].page, 0, y, 0, y, mv[0].page->width, mv[0].map->tiles->tileHeight);
@@ -572,7 +572,7 @@ void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid)
 	if(player[plid].enti.q==4)
 #endif
 //		if(id==0)
-			mapDrawRow(&mv[id], mv[0].tx - 1, mv[0].ty+mv[0].page->ti.th, y, player, DRAWROWNUM);
+			mapDrawRow(&mv[id], mv[0].tx - 1, mv[0].ty+mv[0].page->ti.th, y, player);
 //		else
 //			if(mv[0].video->vga_state.bgps)
 //				modexCopyPageRegion(mv->page, mv[0].page, 0, y, 0, y, mv[0].page->width, mv[0].map->tiles->tileHeight);
@@ -750,28 +750,30 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y)
 	}
 }
 #define PALMAPDRAWW 13
-void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player, word poopoffset)
+void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player)
 {
-	int i; nibble z;
-#ifdef __DEBUG_RF__
-if(dbg_pagedelayrendermap)		if(!y)	y+=TILEWH;	else	y-=TILEWH;
+	int i;
+#if defined(FULLRCREND) || defined(__DEBUG_RF__)
+	word drawtileoffset=0;
+//printf("y: %d	", drawtileoffset);
+	drawtileoffset%=player[0].enti.spt;
+//printf("%d\n", drawtileoffset);
 #endif
-	poopoffset%=player[0].enti.spt;
-//printf("y: %d\n", poopoffset);
 #ifdef __DEBUG_RF__
-if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", poopoffset); modexprint(mv->page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); }
+if(dbg_pagedelayrendermap){		if(!y)	y+=TILEWH;	else	y-=TILEWH;
+	sprintf(global_temp_status_text, "%-3u", drawtileoffset); modexprint(mv->page, player[0].enti.x, player[0].enti.y-28-(drawtileoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); }
 #endif
 	/* the position within the map array */
 	i=ty * mv->map->width + tx;
-	for(	mv->dx=poopoffset;	mv->dx<(mv->page->sw+mv->dxThresh)/(poopoffset+1) && tx < mv->map->width;	mv->dx+=mv->map->tiles->tileWidth, tx++) {
-		if(i>=0){
+	/*
+	*/
+#ifndef FULLRCREND
+	for(	mv->dx=drawtileoffset;	mv->dx<(mv->page->sw+mv->dxThresh)/(drawtileoffset+1) && tx < mv->map->width;	mv->dx+=mv->map->tiles->tileWidth, tx++) {
+#else
+	for(mv->dx=0;	mv->dx<mv->page->sw+mv->dxThresh && tx < mv->map->width;	mv->dx+=mv->map->tiles->tileWidth, tx++) {
+#endif
+		if(i>=0)
 			mapDrawTile(mv->map->tiles, mv->map->layerdata[0].data[i], mv->page, mv->dx, y);
-			for(z=1;z<=2;z++)
-				if(mv->map->layerdata[z].data[i]){
-					sprintf(global_temp_status_text2, "%u", mv->map->layerdata[z].data[i]); modexprint(mv->page, mv->dx, y, 1, 0, PALMAPDRAWW, z+2, 1, global_temp_status_text2);
-					//mapDrawTile(mv->map->tiles, mv->map->layerdata[z].data[i], mv->page, mv->dx, y);
-				}
-		}
 		i++; /* next! */
 	}
 #ifdef __DEBUG_RF__
@@ -779,30 +781,37 @@ if(dbg_pagedelayrendermap) DBG_RFDELAYMETHOD;
 #endif
 }
 
-void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, word poopoffset)
+
+
+
+
+
+
+
+void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player)
 {
-	int i; nibble z;
-#ifdef __DEBUG_RF__
-if(dbg_pagedelayrendermap)		if(!x)	x+=TILEWH;		else	x-=TILEWH;
+	int i;
+#if defined(FULLRCREND) || defined(__DEBUG_RF__)
+	word drawtileoffset=0;
+//printf("x: %d	", drawtileoffset);
+	drawtileoffset%=player[0].enti.spt;
+//printf("%d\n", drawtileoffset);
 #endif
-	poopoffset%=player[0].enti.spt;
-//printf("x: %d\n", poopoffset);
 #ifdef __DEBUG_RF__
-if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", poopoffset); modexprint(mv->page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); }
+if(dbg_pagedelayrendermap){		if(!x)	x+=TILEWH;	else	x-=TILEWH;
+	sprintf(global_temp_status_text, "%-3u", drawtileoffset); modexprint(mv->page, player[0].enti.x, player[0].enti.y-28-(drawtileoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); }
 #endif
 	/* location in the map array */
 	i=ty * mv->map->width + tx;
 	/* We'll copy all of the columns in the screen,
 	   i + 1 row above and one below */
-	for(	mv->dy=poopoffset;	mv->dy<(mv->page->sh+mv->dyThresh)/(poopoffset+1) && ty < mv->map->height;	mv->dy+=mv->map->tiles->tileHeight, ty++) {
-		if(i>=0){
+#ifndef FULLRCREND
+	for(	mv->dy=drawtileoffset;	mv->dy<(mv->page->sh+mv->dyThresh)/(drawtileoffset+1) && ty < mv->map->height;	mv->dy+=mv->map->tiles->tileHeight, ty++) {
+#else
+	for(mv->dy=0;	mv->dy<mv->page->sh+mv->dyThresh && ty < mv->map->height;	mv->dy+=mv->map->tiles->tileHeight, ty++) {
+#endif
+		if(i>=0)
 			mapDrawTile(mv->map->tiles, mv->map->layerdata[0].data[i], mv->page, x, mv->dy);
-			for(z=1;z<=2;z++)
-				if(mv->map->layerdata[z].data[i]){
-					sprintf(global_temp_status_text2, "%u", mv->map->layerdata[z].data[i]); modexprint(mv->page, x, mv->dy, 1, 0, PALMAPDRAWW, z+2, 1, global_temp_status_text2);
-					//mapDrawTile(mv->map->tiles, mv->map->layerdata[z].data[i], mv->page, x, mv->dy);
-				}
-		}
 		i += mv->map->width;
 	}
 #ifdef __DEBUG_RF__
diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h
index 2b5ca92c..0cf17b24 100755
--- a/src/lib/scroll16.h
+++ b/src/lib/scroll16.h
@@ -55,11 +55,14 @@
 #define PCXBMPPTR	PCXBMPVAR
 
 //row and colum drawing routines
-//#define FULLRCREND
+#define FULLRCREND
+//#ifdef FULLRCREND
 #define DRAWCOLNUM mv->page[id].dx
 #define DRAWROWNUM mv->page[id].dy
-//#define DRAWCOLNUM pl[plid].enti.q
-//#define DRAWROLNUM pl[plid].enti.q
+//#else
+//#define DRAWCOLNUM player[plid].enti.q
+//#define DRAWROWNUM player[plid].enti.q
+//#endif
 
 //for null map!
 #define MAPW	40
@@ -67,7 +70,7 @@
 
 extern struct glob_game_vars	*ggvv;
 #ifdef __DEBUG_RF__
-#define DBG_RFDELAYMETHOD delay(250);
+#define DBG_RFDELAYMETHOD delay(500);
 #endif
 
 //===========================================================================//
@@ -130,8 +133,8 @@ void mapGoTo(map_view_t *mv, int tx, int ty);
 void ZC_mapinitMV(map_view_t *mv, int tx, int ty);
 void ZC_mapredraw(map_view_t *mv, int tx, int ty);
 void near mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y);
-void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player, word poopoffset);
-void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, word poopoffset);
+void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player);
+void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player);
 void mapDrawWRow(map_view_t *mv, int tx, int ty, word y);
 void mapDrawWCol(map_view_t *mv, int tx, int ty, word x);
 inline void near ScrollRight(map_view_t *mv, player_t *pl, word id, word plid)
-- 
2.39.5