shithub: cstory

Download patch

ref: 2faf387c9ead775993ed08d164399f834788f9c2
parent: 532e497a9bf92817e095f715797e81f3abe36b25
parent: 764df530ad4f58978818b2664a13268ef5105fe9
author: Clownacy <Clownacy@users.noreply.github.com>
date: Wed Oct 16 11:42:18 EDT 2019

Merge branch 'accurate' into portable

--- a/src/TextScr.cpp
+++ b/src/TextScr.cpp
@@ -42,7 +42,7 @@
 TEXT_SCRIPT gTS;
 
 int gNumberTextScript[4];
-char text[0x100];
+char text[4][0x40];
 
 RECT gRect_line = {0, 0, 216, 16};
 
@@ -229,7 +229,7 @@
 	{
 		gTS.ypos_line[i] = 16 * i;
 		CortBox2(&gRect_line, 0x000000, (SurfaceID)(i + SURFACE_ID_TEXT_LINE1));
-		memset(&text[i * 0x40], 0, 0x40);
+		memset(text[i], 0, sizeof(text[0]));
 	}*/
 
 	//Find where event starts
@@ -278,7 +278,7 @@
 	{
 		gTS.ypos_line[i] = 16 * i;
 		CortBox2(&gRect_line, 0x000000, (SurfaceID)(i + SURFACE_ID_TEXT_LINE1));
-		memset(&text[i * 0x40], 0, 0x40);
+		memset(text[i], 0, sizeof(text[0]));
 	}
 
 	//Find where event starts
@@ -330,7 +330,7 @@
 		gTS.mode = 3;
 		g_GameFlags |= 4;
 		CortBox2(&gRect_line, 0, (SurfaceID)(gTS.line % 4 + SURFACE_ID_TEXT_LINE1));
-		memset(&text[gTS.line % 4 * 0x40], 0, 0x40);
+		memset(text[gTS.line % 4], 0, sizeof(text[0]));
 	}
 }
 
@@ -375,7 +375,7 @@
 
 	//Append number to line
 	PutText2(6 * gTS.p_write, 0, str, RGB(0xFF, 0xFF, 0xFE), (SurfaceID)(gTS.line % 4 + SURFACE_ID_TEXT_LINE1));
-	strcat(&text[gTS.line % 4 * 0x40], str);
+	strcat(text[gTS.line % 4], str);
 
 	//Play sound and reset blinking cursor
 	PlaySoundObject(2, 1);
@@ -403,7 +403,7 @@
 	{
 		gTS.ypos_line[i] = 16 * i;
 		CortBox2(&gRect_line, 0x000000, (SurfaceID)(i + SURFACE_ID_TEXT_LINE1));
-		memset(&text[i * 0x40], 0, 0x40);
+		memset(text[i], 0, sizeof(text[0]));
 	}
 }
 
@@ -1306,9 +1306,9 @@
 						//Print text
 						PutText2(0, 0, str, RGB(0xFF, 0xFF, 0xFE), (SurfaceID)(gTS.line % 4 + SURFACE_ID_TEXT_LINE1));
 					#ifdef FIX_BUGS
-						strcpy(&text[gTS.line % 4 * 0x40], str);
+						strcpy(text[gTS.line % 4], str);
 					#else
-						sprintf(&text[gTS.line % 4 * 0x40], str);	// No point to using an sprintf here, and it makes Clang mad
+						sprintf(text[gTS.line % 4], str);	// No point to using an sprintf here, and it makes Clang mad
 					#endif
 
 						//Check if should move to next line (prevent a memory overflow, come on guys, this isn't a leftover of pixel trying to make text wrapping)
@@ -1344,7 +1344,7 @@
 							PutText2(6 * gTS.p_write, 0, c, RGB(0xFF, 0xFF, 0xFE), (SurfaceID)(gTS.line % 4 + SURFACE_ID_TEXT_LINE1));
 						}
 
-						strcat(&text[gTS.line % 4 * 0x40], c);
+						strcat(text[gTS.line % 4], c);
 						PlaySoundObject(2, 1);
 						gTS.wait_beam = 0;
 
@@ -1470,6 +1470,6 @@
 	for (int i = 0; i < 4; ++i)
 	{
 		CortBox2(&gRect_line, 0x000000, (SurfaceID)(i + SURFACE_ID_TEXT_LINE1));
-		PutText2(0, 0, &text[i * 0x40], RGB(0xFF, 0xFF, 0xFE), (SurfaceID)(i + SURFACE_ID_TEXT_LINE1));
+		PutText2(0, 0, text[i], RGB(0xFF, 0xFF, 0xFE), (SurfaceID)(i + SURFACE_ID_TEXT_LINE1));
 	}
 }
--