More TU Matching in PAL (#469)
* Fix w20Dll linking * Match some more TUs in PAL * Fix NTSC Build
This commit is contained in:
parent
76ad3ea249
commit
42a72ba07f
7 changed files with 138 additions and 22 deletions
10
configure.py
10
configure.py
|
|
@ -373,13 +373,13 @@ config.libs = [
|
||||||
"cflags": cflags_game,
|
"cflags": cflags_game,
|
||||||
"host": False,
|
"host": False,
|
||||||
"objects": [
|
"objects": [
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/main.c"),
|
Object(Matching, "game/main.c"),
|
||||||
Object(Matching, "game/pad.c"),
|
Object(Matching, "game/pad.c"),
|
||||||
Object(Matching, "game/dvd.c"),
|
Object(Matching, "game/dvd.c"),
|
||||||
Object(Matching, "game/data.c"),
|
Object(Matching, "game/data.c"),
|
||||||
Object(Matching, "game/decode.c"),
|
Object(Matching, "game/decode.c"),
|
||||||
Object(Matching, "game/font.c"),
|
Object(Matching, "game/font.c"),
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/init.c"),
|
Object(Matching, "game/init.c"),
|
||||||
Object(Matching, "game/jmp.c"),
|
Object(Matching, "game/jmp.c"),
|
||||||
Object(Matching, "game/malloc.c"),
|
Object(Matching, "game/malloc.c"),
|
||||||
Object(Matching, "game/memory.c"),
|
Object(Matching, "game/memory.c"),
|
||||||
|
|
@ -400,7 +400,7 @@ config.libs = [
|
||||||
Object(Matching, "game/objsysobj.c"),
|
Object(Matching, "game/objsysobj.c"),
|
||||||
Object(Matching, "game/objdll.c"),
|
Object(Matching, "game/objdll.c"),
|
||||||
Object(Matching, "game/frand.c"),
|
Object(Matching, "game/frand.c"),
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/audio.c"),
|
Object(Matching, "game/audio.c"),
|
||||||
Object(Matching, "game/EnvelopeExec.c"),
|
Object(Matching, "game/EnvelopeExec.c"),
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/minigame_seq.c"),
|
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/minigame_seq.c"),
|
||||||
Object(Matching, "game/ovllist.c"),
|
Object(Matching, "game/ovllist.c"),
|
||||||
|
|
@ -411,7 +411,7 @@ config.libs = [
|
||||||
Object(Matching, "game/wipe.c"),
|
Object(Matching, "game/wipe.c"),
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/window.c"),
|
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/window.c"),
|
||||||
Object(Matching, "game/messdata.c"),
|
Object(Matching, "game/messdata.c"),
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/card.c"),
|
Object(Matching, "game/card.c"),
|
||||||
Object(Matching, "game/armem.c"),
|
Object(Matching, "game/armem.c"),
|
||||||
Object(Matching, "game/chrman.c"),
|
Object(Matching, "game/chrman.c"),
|
||||||
Object(Matching, "game/mapspace.c"),
|
Object(Matching, "game/mapspace.c"),
|
||||||
|
|
@ -420,7 +420,7 @@ config.libs = [
|
||||||
Object(Matching, "game/thpmain.c"),
|
Object(Matching, "game/thpmain.c"),
|
||||||
Object(Matching, "game/objsub.c"),
|
Object(Matching, "game/objsub.c"),
|
||||||
Object(Matching, "game/flag.c"),
|
Object(Matching, "game/flag.c"),
|
||||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/saveload.c"),
|
Object(Matching, "game/saveload.c"),
|
||||||
Object(Matching, "game/sreset.c"),
|
Object(Matching, "game/sreset.c"),
|
||||||
Object(Matching, "game/board/main.c"),
|
Object(Matching, "game/board/main.c"),
|
||||||
Object(Matching, "game/board/player.c"),
|
Object(Matching, "game/board/player.c"),
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ void GXCopyDisp(void* dest, GXBool clear);
|
||||||
void GXSetDispCopyGamma(GXGamma gamma);
|
void GXSetDispCopyGamma(GXGamma gamma);
|
||||||
void GXSetDispCopySrc(u16 left, u16 top, u16 wd, u16 ht);
|
void GXSetDispCopySrc(u16 left, u16 top, u16 wd, u16 ht);
|
||||||
void GXSetDispCopyDst(u16 wd, u16 ht);
|
void GXSetDispCopyDst(u16 wd, u16 ht);
|
||||||
|
f32 GXGetYScaleFactor(u16 efbHeight, u16 xfbHeight);
|
||||||
u32 GXSetDispCopyYScale(f32 vscale);
|
u32 GXSetDispCopyYScale(f32 vscale);
|
||||||
void GXSetCopyFilter(GXBool aa, u8 sample_pattern[12][2], GXBool vf, u8 vfilter[7]);
|
void GXSetCopyFilter(GXBool aa, u8 sample_pattern[12][2], GXBool vf, u8 vfilter[7]);
|
||||||
void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt);
|
void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt);
|
||||||
|
|
|
||||||
|
|
@ -555,10 +555,11 @@ void HuAudAUXVolSet(s8 arg0, s8 arg1) {
|
||||||
void HuAudVoiceInit(s16 ovl) {
|
void HuAudVoiceInit(s16 ovl) {
|
||||||
SNDGRPTBL *var_r29;
|
SNDGRPTBL *var_r29;
|
||||||
OSTick temp_r23;
|
OSTick temp_r23;
|
||||||
|
s16 var_r27;
|
||||||
s16 temp_r26;
|
s16 temp_r26;
|
||||||
s16 temp_r25;
|
s16 temp_r25;
|
||||||
s16 temp_r30;
|
s16 temp_r30;
|
||||||
s16 var_r27;
|
|
||||||
void *temp_r3;
|
void *temp_r3;
|
||||||
s16 i;
|
s16 i;
|
||||||
|
|
||||||
|
|
@ -602,7 +603,11 @@ void HuAudVoiceInit(s16 ovl) {
|
||||||
charVoiceGroupStat[temp_r30] = 1;
|
charVoiceGroupStat[temp_r30] = 1;
|
||||||
temp_r26 = temp_r30 + 0xA;
|
temp_r26 = temp_r30 + 0xA;
|
||||||
temp_r3 = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(temp_r26));
|
temp_r3 = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(temp_r26));
|
||||||
|
#if VERSION_NTSC
|
||||||
msmSysLoadGroupBase(temp_r26, temp_r3);
|
msmSysLoadGroupBase(temp_r26, temp_r3);
|
||||||
|
#else
|
||||||
|
temp_r25 = msmSysLoadGroupBase(temp_r26, temp_r3);
|
||||||
|
#endif
|
||||||
HuMemDirectFree(temp_r3);
|
HuMemDirectFree(temp_r3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
#include "dolphin.h"
|
#include "dolphin.h"
|
||||||
#include "game/memory.h"
|
#include "game/memory.h"
|
||||||
#include "game/card.h"
|
#include "game/card.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
static void *cardWork;
|
static void *cardWork;
|
||||||
u8 UnMountCnt;
|
u8 UnMountCnt;
|
||||||
|
|
@ -98,7 +99,11 @@ s32 HuCardFormat(s16 slot)
|
||||||
|
|
||||||
static void MountCallBack(s32 chan, s32 result)
|
static void MountCallBack(s32 chan, s32 result)
|
||||||
{
|
{
|
||||||
|
#if VERSION_ENG
|
||||||
UnMountCnt = (1 << chan);
|
UnMountCnt = (1 << chan);
|
||||||
|
#else
|
||||||
|
UnMountCnt |= (1 << chan);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 HuCardOpen(s16 slot, const char *fileName, CARDFileInfo *fileInfo)
|
s32 HuCardOpen(s16 slot, const char *fileName, CARDFileInfo *fileInfo)
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@ static void InitVI();
|
||||||
static void SwapBuffers();
|
static void SwapBuffers();
|
||||||
static void LoadMemInfo();
|
static void LoadMemInfo();
|
||||||
|
|
||||||
|
#define ASSERT_LINE(ntsc, pal) ((VERSION_NTSC) ? (ntsc) : (pal))
|
||||||
|
|
||||||
void HuSysInit(GXRenderModeObj *mode)
|
void HuSysInit(GXRenderModeObj *mode)
|
||||||
{
|
{
|
||||||
u32 rnd_temp;
|
u32 rnd_temp;
|
||||||
|
|
@ -46,13 +48,19 @@ void HuSysInit(GXRenderModeObj *mode)
|
||||||
DVDInit();
|
DVDInit();
|
||||||
VIInit();
|
VIInit();
|
||||||
PADInit();
|
PADInit();
|
||||||
|
#if VERSION_NTSC
|
||||||
if(OSGetProgressiveMode() == 1 && VIGetDTVStatus() == 1) {
|
if(OSGetProgressiveMode() == 1 && VIGetDTVStatus() == 1) {
|
||||||
mode = &GXNtsc480Prog;
|
mode = &GXNtsc480Prog;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
mode->efbHeight = 480;
|
||||||
|
#endif
|
||||||
InitRenderMode(mode);
|
InitRenderMode(mode);
|
||||||
InitMem();
|
InitMem();
|
||||||
VIConfigure(RenderMode);
|
VIConfigure(RenderMode);
|
||||||
|
#if VERSION_NTSC
|
||||||
VIConfigurePan(0, 0, 640, 480);
|
VIConfigurePan(0, 0, 640, 480);
|
||||||
|
#endif
|
||||||
DefaultFifo = OSAlloc(0x100000);
|
DefaultFifo = OSAlloc(0x100000);
|
||||||
DefaultFifoObj = GXInit(DefaultFifo, 0x100000);
|
DefaultFifoObj = GXInit(DefaultFifo, 0x100000);
|
||||||
InitGX();
|
InitGX();
|
||||||
|
|
@ -91,7 +99,7 @@ static void InitRenderMode(GXRenderModeObj *mode)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
OSPanic("init.c", 169, "DEMOInit: invalid TV format\n");
|
OSPanic("init.c", ASSERT_LINE(169, 167), "DEMOInit: invalid TV format\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
GXAdjustForOverscan(RenderMode, &rmodeobj, 0, 16);
|
GXAdjustForOverscan(RenderMode, &rmodeobj, 0, 16);
|
||||||
|
|
@ -104,7 +112,12 @@ static void InitGX()
|
||||||
GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight);
|
GXSetScissor(0, 0, RenderMode->fbWidth, RenderMode->efbHeight);
|
||||||
GXSetDispCopySrc(0, 0, RenderMode->fbWidth, RenderMode->efbHeight);
|
GXSetDispCopySrc(0, 0, RenderMode->fbWidth, RenderMode->efbHeight);
|
||||||
GXSetDispCopyDst(RenderMode->fbWidth, RenderMode->xfbHeight);
|
GXSetDispCopyDst(RenderMode->fbWidth, RenderMode->xfbHeight);
|
||||||
|
#if VERSION_NTSC
|
||||||
GXSetDispCopyYScale((float)RenderMode->xfbHeight/(float)RenderMode->efbHeight);
|
GXSetDispCopyYScale((float)RenderMode->xfbHeight/(float)RenderMode->efbHeight);
|
||||||
|
#else
|
||||||
|
OSReport("%D\n", RenderMode->xfbHeight);
|
||||||
|
GXSetDispCopyYScale(GXGetYScaleFactor(RenderMode->efbHeight, RenderMode->xfbHeight));
|
||||||
|
#endif
|
||||||
GXSetCopyFilter(RenderMode->aa, RenderMode->sample_pattern, GX_TRUE, RenderMode->vfilter);
|
GXSetCopyFilter(RenderMode->aa, RenderMode->sample_pattern, GX_TRUE, RenderMode->vfilter);
|
||||||
if(RenderMode->aa) {
|
if(RenderMode->aa) {
|
||||||
GXSetPixelFmt(GX_PF_RGB565_Z16, GX_ZC_LINEAR);
|
GXSetPixelFmt(GX_PF_RGB565_Z16, GX_ZC_LINEAR);
|
||||||
|
|
@ -120,9 +133,21 @@ static void InitMem()
|
||||||
void *arena_lo = OSGetArenaLo();
|
void *arena_lo = OSGetArenaLo();
|
||||||
void *arena_hi = OSGetArenaHi();
|
void *arena_hi = OSGetArenaHi();
|
||||||
u32 fb_size = (u16)(((u16)RenderMode->fbWidth+15) & ~15)*RenderMode->xfbHeight*2;
|
u32 fb_size = (u16)(((u16)RenderMode->fbWidth+15) & ~15)*RenderMode->xfbHeight*2;
|
||||||
|
u32 *fb1;
|
||||||
|
u32 *fb2;
|
||||||
|
u32 i;
|
||||||
DemoFrameBuffer1 = (void *)OSRoundUp32B((u32)arena_lo);
|
DemoFrameBuffer1 = (void *)OSRoundUp32B((u32)arena_lo);
|
||||||
DemoFrameBuffer2 = (void *)OSRoundUp32B((u32)DemoFrameBuffer1+fb_size);
|
DemoFrameBuffer2 = (void *)OSRoundUp32B((u32)DemoFrameBuffer1+fb_size);
|
||||||
DemoCurrentBuffer = DemoFrameBuffer2;
|
DemoCurrentBuffer = DemoFrameBuffer2;
|
||||||
|
#if VERSION_PAL
|
||||||
|
fb1 = DemoFrameBuffer1;
|
||||||
|
fb2 = DemoFrameBuffer2;
|
||||||
|
for(i=0; i<fb_size/4; i++, fb1++, fb2++) {
|
||||||
|
*fb1 = *fb2 = 0x800080;
|
||||||
|
}
|
||||||
|
DCStoreRangeNoSync(DemoFrameBuffer1, fb_size);
|
||||||
|
DCStoreRangeNoSync(DemoFrameBuffer2, fb_size);
|
||||||
|
#endif
|
||||||
arena_lo = (void *)OSRoundUp32B((u32)DemoFrameBuffer2+fb_size);
|
arena_lo = (void *)OSRoundUp32B((u32)DemoFrameBuffer2+fb_size);
|
||||||
OSSetArenaLo(arena_lo);
|
OSSetArenaLo(arena_lo);
|
||||||
if(OSGetConsoleType() == OS_CONSOLE_DEVHW1 && OSGetPhysicalMemSize() != 0x400000 && OSGetConsoleSimulatedMemSize() < 0x1800000) {
|
if(OSGetConsoleType() == OS_CONSOLE_DEVHW1 && OSGetPhysicalMemSize() != 0x400000 && OSGetConsoleSimulatedMemSize() < 0x1800000) {
|
||||||
|
|
@ -256,7 +281,7 @@ static void LoadMemInfo()
|
||||||
OSReport("loop\n");
|
OSReport("loop\n");
|
||||||
copy_size = (size < 32) ? size : 32;
|
copy_size = (size < 32) ? size : 32;
|
||||||
if(DVDRead(&file, buf_ptr, OSRoundUp32B(copy_size), offset) < 0) {
|
if(DVDRead(&file, buf_ptr, OSRoundUp32B(copy_size), offset) < 0) {
|
||||||
OSPanic("init.c", 576, "An error occurred when issuing read to /meminfo.bin\n");
|
OSPanic("init.c", ASSERT_LINE(576, 586), "An error occurred when issuing read to /meminfo.bin\n");
|
||||||
}
|
}
|
||||||
entries = copy_size/sizeof(struct memory_info);
|
entries = copy_size/sizeof(struct memory_info);
|
||||||
for(i=0; i<entries; i++) {
|
for(i=0; i<entries; i++) {
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,17 @@ void main(void)
|
||||||
u32 met1;
|
u32 met1;
|
||||||
s16 i;
|
s16 i;
|
||||||
s32 retrace;
|
s32 retrace;
|
||||||
|
#if VERSION_PAL
|
||||||
|
s16 temp = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
HuDvdErrWait = 0;
|
HuDvdErrWait = 0;
|
||||||
SystemInitF = 0;
|
SystemInitF = 0;
|
||||||
|
#if VERSION_NTSC
|
||||||
HuSysInit(&GXNtsc480IntDf);
|
HuSysInit(&GXNtsc480IntDf);
|
||||||
|
#else
|
||||||
|
HuSysInit(&GXPal528IntDf);
|
||||||
|
#endif
|
||||||
HuPrcInit();
|
HuPrcInit();
|
||||||
HuPadInit();
|
HuPadInit();
|
||||||
GWInit();
|
GWInit();
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,14 @@
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
#include "stddef.h"
|
#include "stddef.h"
|
||||||
|
|
||||||
|
#if VERSION_ENG
|
||||||
|
#define SAVE_WRITE_BEGIN _SetFlag(FLAG_ID_MAKE(3, 0));
|
||||||
|
#define SAVE_WRITE_END _ClearFlag(FLAG_ID_MAKE(3, 0));
|
||||||
|
#else
|
||||||
|
#define SAVE_WRITE_BEGIN
|
||||||
|
#define SAVE_WRITE_END
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SAVE_GET_PLAYER(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, player)]
|
#define SAVE_GET_PLAYER(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, player)]
|
||||||
#define SAVE_GET_PLAYER_STORY(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, playerStory)]
|
#define SAVE_GET_PLAYER_STORY(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, playerStory)]
|
||||||
|
|
||||||
|
|
@ -135,9 +143,9 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) {
|
||||||
HuWinExAnimIn(window);
|
HuWinExAnimIn(window);
|
||||||
HuWinMesSet(window, MAKE_MESSID(16, 11));
|
HuWinMesSet(window, MAKE_MESSID(16, 11));
|
||||||
HuWinMesWait(window);
|
HuWinMesWait(window);
|
||||||
_SetFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_BEGIN
|
||||||
result = HuCardCreate(curSlotNo, fileName, size, &curFileInfo);
|
result = HuCardCreate(curSlotNo, fileName, size, &curFileInfo);
|
||||||
_ClearFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_END
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
HuWinExAnimOut(window);
|
HuWinExAnimOut(window);
|
||||||
HuWinExCleanup(window);
|
HuWinExCleanup(window);
|
||||||
|
|
@ -150,9 +158,9 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) {
|
||||||
SLMessOut(1);
|
SLMessOut(1);
|
||||||
return CARD_RESULT_FATAL_ERROR;
|
return CARD_RESULT_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
_SetFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_BEGIN
|
||||||
result = HuCardWrite(&curFileInfo, addr, size, 0);
|
result = HuCardWrite(&curFileInfo, addr, size, 0);
|
||||||
_ClearFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_END
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
HuWinExAnimOut(window);
|
HuWinExAnimOut(window);
|
||||||
HuWinExCleanup(window);
|
HuWinExCleanup(window);
|
||||||
|
|
@ -165,9 +173,9 @@ s32 SLFileCreate(char *fileName, u32 size, void *addr) {
|
||||||
SLMessOut(1);
|
SLMessOut(1);
|
||||||
return CARD_RESULT_FATAL_ERROR;
|
return CARD_RESULT_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
_SetFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_BEGIN
|
||||||
result = SLStatSet(1);
|
result = SLStatSet(1);
|
||||||
_ClearFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_END
|
||||||
HuWinExAnimOut(window);
|
HuWinExAnimOut(window);
|
||||||
HuWinExCleanup(window);
|
HuWinExCleanup(window);
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
|
|
@ -191,12 +199,12 @@ s32 SLFileWrite(s32 length, void *addr) {
|
||||||
HuWinMesSet(window, MAKE_MESSID(16, 11));
|
HuWinMesSet(window, MAKE_MESSID(16, 11));
|
||||||
HuWinMesWait(window);
|
HuWinMesWait(window);
|
||||||
HuPrcSleep(60);
|
HuPrcSleep(60);
|
||||||
_SetFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_BEGIN
|
||||||
result = HuCardWrite(&curFileInfo, addr, length, 0);
|
result = HuCardWrite(&curFileInfo, addr, length, 0);
|
||||||
if (result == 0) {
|
if (result == 0) {
|
||||||
result = SLStatSet(1);
|
result = SLStatSet(1);
|
||||||
}
|
}
|
||||||
_ClearFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_END
|
||||||
HuWinExAnimOut(window);
|
HuWinExAnimOut(window);
|
||||||
HuWinExCleanup(window);
|
HuWinExCleanup(window);
|
||||||
return result;
|
return result;
|
||||||
|
|
@ -278,6 +286,7 @@ void SLSaveDataInfoSet(OSTime *time) {
|
||||||
s16 digit;
|
s16 digit;
|
||||||
OSCalendarTime sp8;
|
OSCalendarTime sp8;
|
||||||
|
|
||||||
|
#if VERSION_ENG
|
||||||
OSTicksToCalendarTime(*time, &sp8);
|
OSTicksToCalendarTime(*time, &sp8);
|
||||||
saveBuf.data.comment[37] = curBoxNo + '1';
|
saveBuf.data.comment[37] = curBoxNo + '1';
|
||||||
digit = (sp8.mon + 1) / 10;
|
digit = (sp8.mon + 1) / 10;
|
||||||
|
|
@ -299,6 +308,52 @@ void SLSaveDataInfoSet(OSTime *time) {
|
||||||
saveBuf.data.comment[48] = digit + '0';
|
saveBuf.data.comment[48] = digit + '0';
|
||||||
year -= digit * 10;
|
year -= digit * 10;
|
||||||
saveBuf.data.comment[49] = year + '0';
|
saveBuf.data.comment[49] = year + '0';
|
||||||
|
#elif VERSION_PAL
|
||||||
|
OSTicksToCalendarTime(*time, &sp8);
|
||||||
|
saveBuf.data.comment[37] = curBoxNo + '1';
|
||||||
|
digit = sp8.mday / 10;
|
||||||
|
saveBuf.data.comment[40] = digit + '0';
|
||||||
|
digit = sp8.mday % 10;
|
||||||
|
saveBuf.data.comment[41] = digit + '0';
|
||||||
|
digit = (sp8.mon + 1) / 10;
|
||||||
|
saveBuf.data.comment[43] = digit + '0';
|
||||||
|
digit = (sp8.mon + 1) % 10;
|
||||||
|
saveBuf.data.comment[44] = digit + '0';
|
||||||
|
year = sp8.year;
|
||||||
|
digit = year / 1000;
|
||||||
|
saveBuf.data.comment[46] = digit + '0';
|
||||||
|
year -= digit * 1000;
|
||||||
|
digit = year / 100;
|
||||||
|
saveBuf.data.comment[47] = digit + '0';
|
||||||
|
year -= digit * 100;
|
||||||
|
digit = year / 10;
|
||||||
|
saveBuf.data.comment[48] = digit + '0';
|
||||||
|
year -= digit * 10;
|
||||||
|
saveBuf.data.comment[49] = year + '0';
|
||||||
|
#else
|
||||||
|
//TODO: Japanese Version
|
||||||
|
OSTicksToCalendarTime(*time, &sp8);
|
||||||
|
saveBuf.data.comment[37] = curBoxNo + '1';
|
||||||
|
digit = sp8.mday / 10;
|
||||||
|
saveBuf.data.comment[40] = digit + '0';
|
||||||
|
digit = sp8.mday % 10;
|
||||||
|
saveBuf.data.comment[41] = digit + '0';
|
||||||
|
digit = (sp8.mon + 1) / 10;
|
||||||
|
saveBuf.data.comment[43] = digit + '0';
|
||||||
|
digit = (sp8.mon + 1) % 10;
|
||||||
|
saveBuf.data.comment[44] = digit + '0';
|
||||||
|
year = sp8.year;
|
||||||
|
digit = year / 1000;
|
||||||
|
saveBuf.data.comment[46] = digit + '0';
|
||||||
|
year -= digit * 1000;
|
||||||
|
digit = year / 100;
|
||||||
|
saveBuf.data.comment[47] = digit + '0';
|
||||||
|
year -= digit * 100;
|
||||||
|
digit = year / 10;
|
||||||
|
saveBuf.data.comment[48] = digit + '0';
|
||||||
|
year -= digit * 10;
|
||||||
|
saveBuf.data.comment[49] = year + '0';
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void SLCommonSet(void) {
|
void SLCommonSet(void) {
|
||||||
|
|
@ -409,6 +464,12 @@ block_36:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if VERSION_NTSC
|
||||||
|
#define SAVEWIN_POS 150
|
||||||
|
#else
|
||||||
|
#define SAVEWIN_POS 120
|
||||||
|
#endif
|
||||||
|
|
||||||
static s16 SLCreateSaveWin(void) {
|
static s16 SLCreateSaveWin(void) {
|
||||||
float size[2];
|
float size[2];
|
||||||
s16 window;
|
s16 window;
|
||||||
|
|
@ -416,7 +477,7 @@ static s16 SLCreateSaveWin(void) {
|
||||||
HuWinInit(1);
|
HuWinInit(1);
|
||||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
HuWinMesMaxSizeGet(1, size, MAKE_MESSID(16, 68));
|
HuWinMesMaxSizeGet(1, size, MAKE_MESSID(16, 68));
|
||||||
window = HuWinExCreateStyled(-10000.0f, 150.0f, size[0], size[1], -1, 2);
|
window = HuWinExCreateStyled(-10000.0f, SAVEWIN_POS, size[0], size[1], -1, 2);
|
||||||
saveMessWin = window;
|
saveMessWin = window;
|
||||||
HuWinExAnimIn(window);
|
HuWinExAnimIn(window);
|
||||||
HuWinInsertMesSet(window, MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSet(window, MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
|
|
@ -641,7 +702,7 @@ s32 SLFormat(s16 slotNo) {
|
||||||
HuWinInit(1);
|
HuWinInit(1);
|
||||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(16, 56));
|
HuWinMesMaxSizeGet(1, winSize, MAKE_MESSID(16, 56));
|
||||||
window1 = HuWinExCreateStyled(-10000.0f, 150.0f, winSize[0], winSize[1], -1, 2);
|
window1 = HuWinExCreateStyled(-10000.0f, SAVEWIN_POS, winSize[0], winSize[1], -1, 2);
|
||||||
HuWinExAnimIn(window1);
|
HuWinExAnimIn(window1);
|
||||||
HuWinInsertMesSet(window1, MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSet(window1, MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
HuWinMesSet(window1, MAKE_MESSID(16, 56));
|
HuWinMesSet(window1, MAKE_MESSID(16, 56));
|
||||||
|
|
@ -659,9 +720,9 @@ s32 SLFormat(s16 slotNo) {
|
||||||
SLMessOut(12);
|
SLMessOut(12);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
_SetFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_BEGIN
|
||||||
result = HuCardFormat(curSlotNo);
|
result = HuCardFormat(curSlotNo);
|
||||||
_ClearFlag(FLAG_ID_MAKE(3, 0));
|
SAVE_WRITE_END
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
HuWinExAnimOut(window1);
|
HuWinExAnimOut(window1);
|
||||||
HuWinExCleanup(window1);
|
HuWinExCleanup(window1);
|
||||||
|
|
@ -721,11 +782,19 @@ s16 SLMessOut(s16 mess) {
|
||||||
case 2:
|
case 2:
|
||||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]);
|
slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]);
|
||||||
|
#if VERSION_NTSC
|
||||||
save_mess = MAKE_MESSID(16, 74);
|
save_mess = MAKE_MESSID(16, 74);
|
||||||
|
#else
|
||||||
|
save_mess = MAKE_MESSID(16, 72);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
|
#if VERSION_NTSC
|
||||||
save_mess = MAKE_MESSID(16, 74);
|
save_mess = MAKE_MESSID(16, 74);
|
||||||
|
#else
|
||||||
|
save_mess = MAKE_MESSID(16, 72);
|
||||||
|
#endif
|
||||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]);
|
slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]);
|
||||||
break;
|
break;
|
||||||
|
|
@ -772,7 +841,11 @@ s16 SLMessOut(s16 mess) {
|
||||||
case 11:
|
case 11:
|
||||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]), 0);
|
||||||
slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]);
|
slot_mess = MAKE_MESSID_PTR(SlotNameTbl[curSlotNo]);
|
||||||
|
#if VERSION_NTSC
|
||||||
save_mess = MAKE_MESSID(16, 72);
|
save_mess = MAKE_MESSID(16, 72);
|
||||||
|
#else
|
||||||
|
save_mess = MAKE_MESSID(16, 76);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 12:
|
case 12:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue