This commit is contained in:
Clownacy 2019-02-08 21:31:56 +00:00
commit 525cf58b7f
5 changed files with 40 additions and 12 deletions

Binary file not shown.

View file

@ -40,14 +40,14 @@ void PutStripper()
{ {
//Draw text //Draw text
RECT rc = {0, 16 * s, 320, 16 * s + 16}; 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 //Draw character
rc.left = 24 * (Strip[s].cast % 13); rc.left = 24 * (Strip[s].cast % 13);
rc.right = rc.left + 24; rc.right = rc.left + 24;
rc.top = 24 * (Strip[s].cast / 13); rc.top = 24 * (Strip[s].cast / 13);
rc.bottom = rc.top + 24; 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 ActionIllust()
void PutIllust() void PutIllust()
{ {
RECT rcIllust = {0, 0, 160, 240}; 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 //Load illustration
@ -183,7 +184,10 @@ bool StartCreditScript()
Illust.act_no = 0; Illust.act_no = 0;
//Modify cliprect //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 //Reload casts
if (!ReloadBitmap_File("casts", SURFACE_ID_CASTS)) if (!ReloadBitmap_File("casts", SURFACE_ID_CASTS))

View file

@ -22,24 +22,30 @@ void MoveFrame3()
const int num_x = ((WINDOW_WIDTH + 0xF) >> 4) + 1; const int num_x = ((WINDOW_WIDTH + 0xF) >> 4) + 1;
const int num_y = ((WINDOW_HEIGHT + 0xF) >> 4) + 1; const int num_y = ((WINDOW_HEIGHT + 0xF) >> 4) + 1;
if (map_w >= num_x) if (map_w >= num_x || g_GameFlags & 8)
{ {
if (gFrame.x <= -0x200) if (gFrame.x <= -0x200)
gFrame.x = 0; gFrame.x = 0;
if (gFrame.x > ((((map_w - 1) << 4) - WINDOW_WIDTH)) << 9) if (gFrame.x > ((((map_w - 1) << 4) - ((g_GameFlags & 8) ? 320 : WINDOW_WIDTH))) << 9)
gFrame.x = (((map_w - 1) << 4) - WINDOW_WIDTH) << 9; gFrame.x = (((map_w - 1) << 4) - ((g_GameFlags & 8) ? 320 : WINDOW_WIDTH)) << 9;
if (g_GameFlags & 8)
gFrame.x -= ((WINDOW_WIDTH - 320) / 2) << 9;
} }
else else
{ {
gFrame.x = (((map_w - 1) << 4) - WINDOW_WIDTH) << 8; gFrame.x = (((map_w - 1) << 4) - WINDOW_WIDTH) << 8;
} }
if (map_l >= num_y) if (map_l >= num_y || g_GameFlags & 8)
{ {
if (gFrame.y <= -0x200) if (gFrame.y <= -0x200)
gFrame.y = 0; gFrame.y = 0;
if (gFrame.y > ((((map_l - 1) << 4) - WINDOW_HEIGHT)) << 9) if (gFrame.y > ((((map_l - 1) << 4) - ((g_GameFlags & 8) ? 240 : WINDOW_HEIGHT))) << 9)
gFrame.y = (((map_l - 1) << 4) - WINDOW_HEIGHT) << 9; gFrame.y = (((map_l - 1) << 4) - ((g_GameFlags & 8) ? 240 : WINDOW_HEIGHT)) << 9;
if (g_GameFlags & 8)
gFrame.y += ((WINDOW_HEIGHT - 240) / 2) << 9;
} }
else else
{ {

View file

@ -114,7 +114,7 @@ int ModeOpening()
SetFadeMask(); SetFadeMask();
//Reset cliprect and flags //Reset cliprect and flags
grcGame.left = 0; grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
g_GameFlags = 3; g_GameFlags = 3;
CutNoise(); CutNoise();
@ -290,7 +290,7 @@ int ModeTitle()
} }
//Reset cliprect, flags, and give the player the nikumaru counter //Reset cliprect, flags, and give the player the nikumaru counter
grcGame.left = 0; grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
g_GameFlags = 0; g_GameFlags = 0;
gMC.equip |= 0x100; gMC.equip |= 0x100;

View file

@ -14,6 +14,7 @@
#include "Frame.h" #include "Frame.h"
#include "MycParam.h" #include "MycParam.h"
#include "Flags.h" #include "Flags.h"
#include "Ending.h"
#include "Profile.h" #include "Profile.h"
#include "Map.h" #include "Map.h"
#include "MiniMap.h" #include "MiniMap.h"
@ -1209,6 +1210,23 @@ int TextScriptProc()
SetNumberTextScript(z); SetNumberTextScript(z);
gTS.p_read += 8; 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')) else if (IS_COMMAND('E','S','C'))
{ {
return 2; return 2;