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
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);
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 ActionIllust()
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 @@ bool StartCreditScript()
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))

View file

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

View file

@ -114,7 +114,7 @@ int ModeOpening()
SetFadeMask();
//Reset cliprect and flags
grcGame.left = 0;
grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
g_GameFlags = 3;
CutNoise();
@ -290,7 +290,7 @@ int ModeTitle()
}
//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;

View file

@ -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"
@ -1209,6 +1210,23 @@ int TextScriptProc()
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'))
{
return 2;