shithub: cstory

Download patch

ref: 28fed460effbfa0310d2bd63fa994f9a3b7db275
parent: 57f4729ba2da3f992d3d29ff5b840b7f6ace0457
author: cuckydev <cuckydev@users.noreply.github.com>
date: Thu Feb 7 15:20:27 EST 2019

credit

binary files a/build/Profile - Copy.dat /dev/null differ
--- a/src/Ending.cpp
+++ b/src/Ending.cpp
@@ -40,7 +40,7 @@
 		{
 			//Draw text
 			RECT rc = {0, 16 * s, 320, 16 * s + 16};
-			PutBitmap3(&grcFull, Strip[s].x / 0x200, Strip[s].y / 0x200, &rc, SURFACE_ID_CREDIT_CAST);
+			PutBitmap3(&grcFull, (Strip[s].x + ((WINDOW_WIDTH - 320) << 8)) / 0x200, Strip[s].y / 0x200, &rc, SURFACE_ID_CREDIT_CAST);
 			
 			//Draw character
 			rc.left = 24 * (Strip[s].cast % 13);
@@ -47,7 +47,7 @@
 			rc.right = rc.left + 24;
 			rc.top = 24 * (Strip[s].cast / 13);
 			rc.bottom = rc.top + 24;
-			PutBitmap3(&grcFull, Strip[s].x / 0x200 - 24, Strip[s].y / 0x200 - 8, &rc, SURFACE_ID_CASTS);
+			PutBitmap3(&grcFull, (Strip[s].x + ((WINDOW_WIDTH - 320) << 8)) / 0x200 - 24, Strip[s].y / 0x200 - 8, &rc, SURFACE_ID_CASTS);
 		}
 	}
 }
@@ -116,7 +116,8 @@
 void PutIllust()
 {
 	RECT rcIllust = {0, 0, 160, 240};
-	PutBitmap3(&grcFull, Illust.x / 0x200, 0, &rcIllust, SURFACE_ID_CREDITS_IMAGE);
+	RECT rcClip = {(WINDOW_WIDTH - 320) / 2, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
+	PutBitmap3(&rcClip, (Illust.x + ((WINDOW_WIDTH - 320) << 8)) / 0x200, (WINDOW_HEIGHT - 240) / 2, &rcIllust, SURFACE_ID_CREDITS_IMAGE);
 }
 
 //Load illustration
@@ -183,7 +184,10 @@
 	Illust.act_no = 0;
 	
 	//Modify cliprect
-	grcGame.left = 160;
+	grcGame.left = WINDOW_WIDTH / 2;
+	grcGame.right = ((WINDOW_WIDTH - 320) / 2) + 320;
+	grcGame.top = (WINDOW_HEIGHT - 240) / 2;
+	grcGame.bottom = ((WINDOW_HEIGHT - 240) / 2) + 240;
 	
 	//Reload casts
 	if (!ReloadBitmap_File("casts", SURFACE_ID_CASTS))
--- a/src/Game.cpp
+++ b/src/Game.cpp
@@ -114,7 +114,7 @@
 	SetFadeMask();
 	
 	//Reset cliprect and flags
-	grcGame.left = 0;
+	grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
 	g_GameFlags = 3;
 	
 	CutNoise();
@@ -290,7 +290,7 @@
 	}
 	
 	//Reset cliprect, flags, and give the player the nikumaru counter
-	grcGame.left = 0;
+	grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
 	g_GameFlags = 0;
 	gMC.equip |= 0x100;
 	
--- a/src/TextScr.cpp
+++ b/src/TextScr.cpp
@@ -14,6 +14,7 @@
 #include "Frame.h"
 #include "MycParam.h"
 #include "Flags.h"
+#include "Ending.h"
 #include "Profile.h"
 #include "Map.h"
 #include "MiniMap.h"
@@ -1203,6 +1204,23 @@
 						z = GetTextScriptNo(gTS.p_read + 4);
 						SetNumberTextScript(z);
 						gTS.p_read += 8;
+					}
+					else if (IS_COMMAND('C','R','E'))
+					{
+						g_GameFlags |= 8;
+						StartCreditScript();
+						gTS.p_read += 4;
+					}
+					else if (IS_COMMAND('S','I','L'))
+					{
+						z = GetTextScriptNo(gTS.p_read + 4);
+						SetCreditIllust(z);
+						gTS.p_read += 8;
+					}
+					else if (IS_COMMAND('C','I','L'))
+					{
+						CutCreditIllust();
+						gTS.p_read += 4;
 					}
 					else if (IS_COMMAND('E','S','C'))
 					{