mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-20 21:33:40 -07:00
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com> Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com> Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com> Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com> Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
This commit is contained in:
parent
dc3c0dd9c8
commit
8888fb2ec1
575 changed files with 22984 additions and 76 deletions
|
@ -42,28 +42,33 @@ static MapMarkInfo sMapMarkInfoTable[] = {
|
|||
{ gMapBossIconTex, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 32, 32, 1 << 10, 1 << 10 }, // Boss Skull Icon
|
||||
};
|
||||
|
||||
static MapMarkDataOverlay sMapMarkDataOvl = {
|
||||
NULL,
|
||||
//(uintptr_t)_ovl_map_mark_dataSegmentRomStart,
|
||||
//(uintptr_t)_ovl_map_mark_dataSegmentRomEnd,
|
||||
//_ovl_map_mark_dataSegmentStart,
|
||||
//_ovl_map_mark_dataSegmentEnd,
|
||||
0, 0, 0, 0,
|
||||
gMapMarkDataTable,
|
||||
};
|
||||
//static MapMarkDataOverlay sMapMarkDataOvl = {
|
||||
// NULL,
|
||||
// //(uintptr_t)_ovl_map_mark_dataSegmentRomStart,
|
||||
// //(uintptr_t)_ovl_map_mark_dataSegmentRomEnd,
|
||||
// //_ovl_map_mark_dataSegmentStart,
|
||||
// //_ovl_map_mark_dataSegmentEnd,
|
||||
// 0, 0, 0, 0,
|
||||
// gMapMarkDataTableVanilla,
|
||||
//};
|
||||
|
||||
MapMarkData** sLoadedMarkDataTable;
|
||||
|
||||
void MapMark_Init(GlobalContext* globalCtx) {
|
||||
MapMarkDataOverlay* overlay = &sMapMarkDataOvl;
|
||||
u32 overlaySize = (uintptr_t)overlay->vramEnd - (uintptr_t)overlay->vramStart;
|
||||
//MapMarkDataOverlay* overlay = &sMapMarkDataOvl;
|
||||
//u32 overlaySize = (uintptr_t)overlay->vramEnd - (uintptr_t)overlay->vramStart;
|
||||
|
||||
overlay->loadedRamAddr = GAMESTATE_ALLOC_MC(&globalCtx->state, overlaySize);
|
||||
LOG_CHECK_NULL_POINTER("dlftbl->allocp", overlay->loadedRamAddr);
|
||||
//overlay->loadedRamAddr = GAMESTATE_ALLOC_MC(&globalCtx->state, overlaySize);
|
||||
//LOG_CHECK_NULL_POINTER("dlftbl->allocp", overlay->loadedRamAddr);
|
||||
|
||||
Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);
|
||||
//Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);
|
||||
|
||||
sLoadedMarkDataTable = gMapMarkDataTable;
|
||||
if(ResourceMgr_IsGameMasterQuest()) {
|
||||
sLoadedMarkDataTable = gMapMarkDataTableMq;
|
||||
} else {
|
||||
sLoadedMarkDataTable = gMapMarkDataTableVanilla;
|
||||
}
|
||||
//sLoadedMarkDataTable = gMapMarkDataTableVanilla;
|
||||
//sLoadedMarkDataTable = (void*)(uintptr_t)(
|
||||
//(overlay->vramTable != NULL)
|
||||
//? (void*)((uintptr_t)overlay->vramTable - ((intptr_t)overlay->vramStart - (intptr_t)overlay->loadedRamAddr))
|
||||
|
@ -71,7 +76,7 @@ void MapMark_Init(GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void MapMark_ClearPointers(GlobalContext* globalCtx) {
|
||||
sMapMarkDataOvl.loadedRamAddr = NULL;
|
||||
//sMapMarkDataOvl.loadedRamAddr = NULL;
|
||||
sLoadedMarkDataTable = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -148,6 +148,7 @@ s32 DemoTreLgt_PostLimbDraw(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,
|
|||
}
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void DemoTreLgt_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
|
|
@ -10,9 +10,20 @@
|
|||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
|
||||
void EnMag_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnMag_InitMq(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnMag_InitVanilla(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
void EnMag_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnMag_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnMag_UpdateMq(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnMag_UpdateVanilla(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
void EnMag_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnMag_DrawInnerVanilla(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp);
|
||||
void EnMag_DrawInnerMq(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp);
|
||||
|
||||
typedef void (*EnMagDrawInnerFunc)(struct Actor*, GlobalContext*, Gfx**);
|
||||
|
||||
static EnMagDrawInnerFunc drawInnerFunc;
|
||||
|
||||
const ActorInit En_Mag_InitVars = {
|
||||
ACTOR_EN_MAG,
|
||||
|
@ -22,14 +33,25 @@ const ActorInit En_Mag_InitVars = {
|
|||
sizeof(EnMag),
|
||||
(ActorFunc)EnMag_Init,
|
||||
(ActorFunc)EnMag_Destroy,
|
||||
(ActorFunc)EnMag_Update,
|
||||
(ActorFunc)NULL,
|
||||
(ActorFunc)EnMag_Draw,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static s16 sDelayTimer = 0;
|
||||
#ifdef MASTER_QUEST
|
||||
void EnMag_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
if (ResourceMgr_IsGameMasterQuest()) {
|
||||
EnMag_InitMq(thisx, globalCtx);
|
||||
drawInnerFunc = EnMag_DrawInnerMq;
|
||||
thisx->update = EnMag_UpdateMq;
|
||||
} else {
|
||||
EnMag_InitVanilla(thisx, globalCtx);
|
||||
thisx->update = EnMag_UpdateVanilla;
|
||||
drawInnerFunc = EnMag_DrawInnerVanilla;
|
||||
}
|
||||
}
|
||||
|
||||
static s16 sDelayTimer = 0;
|
||||
void EnMag_InitMq(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnMag* this = (EnMag*)thisx;
|
||||
|
||||
YREG(1) = 63;
|
||||
|
@ -98,8 +120,8 @@ void EnMag_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->unk_E31C = 0;
|
||||
this->unk_E320 = 0;
|
||||
}
|
||||
#else
|
||||
void EnMag_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void EnMag_InitVanilla(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnMag* this = (EnMag*)thisx;
|
||||
Color_RGB8 Original_Prim = { 255, 255, 170 };
|
||||
Color_RGB8 Original_Env = { 255, 100, 0 };
|
||||
|
@ -188,13 +210,11 @@ void EnMag_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->unk_E31C = 0;
|
||||
this->unk_E320 = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
void EnMag_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
#ifdef MASTER_QUEST
|
||||
void EnMag_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void EnMag_UpdateMq(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
EnMag* this = (EnMag*)thisx;
|
||||
|
||||
|
@ -353,8 +373,8 @@ void EnMag_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
void EnMag_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void EnMag_UpdateVanilla(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
EnMag* this = (EnMag*)thisx;
|
||||
Color_RGB8 Original_Prim = { 255, 255, 170 };
|
||||
|
@ -539,9 +559,8 @@ void EnMag_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void EnMag_DrawTextureI8(Gfx** gfxp, void* texture, s16 texWidth, s16 texHeight, s16 rectLeft, s16 rectTop,
|
||||
void EnMag_DrawTextureI8(Gfx** gfxp, const void* texture, s16 texWidth, s16 texHeight, s16 rectLeft, s16 rectTop,
|
||||
s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy) {
|
||||
Gfx* gfx = *gfxp;
|
||||
|
||||
|
@ -554,7 +573,7 @@ void EnMag_DrawTextureI8(Gfx** gfxp, void* texture, s16 texWidth, s16 texHeight,
|
|||
*gfxp = gfx;
|
||||
}
|
||||
|
||||
void EnMag_DrawEffectTextures(Gfx** gfxp, void* maskTex, void* effectTex, s16 maskWidth, s16 maskHeight,
|
||||
void EnMag_DrawEffectTextures(Gfx** gfxp, const void* maskTex, void* effectTex, s16 maskWidth, s16 maskHeight,
|
||||
s16 effectWidth, s16 effectHeight, s16 rectLeft, s16 rectTop, s16 rectWidth,
|
||||
s16 rectHeight, u16 dsdx, u16 dtdy, u16 shifts, u16 shiftt, u16 flag, EnMag* this) {
|
||||
Gfx* gfx = *gfxp;
|
||||
|
@ -575,7 +594,7 @@ void EnMag_DrawEffectTextures(Gfx** gfxp, void* maskTex, void* effectTex, s16 ma
|
|||
*gfxp = gfx;
|
||||
}
|
||||
|
||||
void EnMag_DrawImageRGBA32(Gfx** gfxp, s16 centerX, s16 centerY, u8* source, u32 width, u32 height) {
|
||||
void EnMag_DrawImageRGBA32(Gfx** gfxp, s16 centerX, s16 centerY, const char* source, u32 width, u32 height) {
|
||||
Gfx* gfx = *gfxp;
|
||||
u8* curTexture;
|
||||
s32 textureCount;
|
||||
|
@ -650,8 +669,9 @@ void EnMag_DrawCharTexture(Gfx** gfxp, u8* texture, s32 rectLeft, s32 rectTop) {
|
|||
|
||||
*gfxp = gfx;
|
||||
}
|
||||
#ifdef MASTER_QUEST
|
||||
void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
||||
|
||||
|
||||
void EnMag_DrawInnerMq(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
||||
static s16 textAlpha = 0;
|
||||
static s16 textFadeDirection = 0;
|
||||
static s16 textFadeTimer = 0;
|
||||
|
@ -735,7 +755,7 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
|||
|
||||
gDPPipeSync(gfx++);
|
||||
gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, (s16)this->subAlpha);
|
||||
EnMag_DrawImageRGBA32(&gfx, 174, 145, (u8*)gTitleMasterQuestSubtitleTex, 128, 32);
|
||||
EnMag_DrawImageRGBA32(&gfx, 174, 145, "__OTR__objects/object_mag/gTitleMasterQuestSubtitleTex", 128, 32);
|
||||
}
|
||||
|
||||
func_8009457C(&gfx);
|
||||
|
@ -840,8 +860,8 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
|||
|
||||
*gfxp = gfx;
|
||||
}
|
||||
#else
|
||||
void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
||||
|
||||
void EnMag_DrawInnerVanilla(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
||||
static s16 textAlpha = 0;
|
||||
static s16 textFadeDirection = 0;
|
||||
static s16 textFadeTimer = 0;
|
||||
|
@ -851,7 +871,7 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
|||
static u8 pressStartFontIndexes[] = {
|
||||
0x19, 0x1B, 0x0E, 0x1C, 0x1C, 0x1C, 0x1D, 0x0A, 0x1B, 0x1D,
|
||||
};
|
||||
static void* effectMaskTextures[] = {
|
||||
static const void* effectMaskTextures[] = {
|
||||
gTitleEffectMask00Tex, gTitleEffectMask01Tex, gTitleEffectMask02Tex,
|
||||
gTitleEffectMask10Tex, gTitleEffectMask11Tex, gTitleEffectMask12Tex,
|
||||
gTitleEffectMask20Tex, gTitleEffectMask21Tex, gTitleEffectMask22Tex,
|
||||
|
@ -1027,7 +1047,6 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) {
|
|||
|
||||
*gfxp = gfx;
|
||||
}
|
||||
#endif
|
||||
|
||||
void EnMag_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
|
@ -1040,7 +1059,7 @@ void EnMag_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
gfx = Graph_GfxPlusOne(gfxRef);
|
||||
gSPDisplayList(OVERLAY_DISP++, gfx);
|
||||
|
||||
EnMag_DrawInner(thisx, globalCtx, &gfx);
|
||||
drawInnerFunc(thisx, globalCtx, &gfx);
|
||||
|
||||
gSPEndDisplayList(gfx++);
|
||||
Graph_BranchDlist(gfxRef, gfx);
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "textures/parameter_static/parameter_static.h"
|
||||
#include <textures/icon_item_static/icon_item_static.h>
|
||||
#include "soh/frame_interpolation.h"
|
||||
#include <libultraship/GameVersions.h>
|
||||
|
||||
static s16 sUnused = 106;
|
||||
|
||||
|
@ -163,6 +164,158 @@ unsigned char gFileSelRANDButtonTex[] = {
|
|||
0x0, 0x0, 0x0, 0x0,
|
||||
};
|
||||
|
||||
unsigned char gFileSelMQButtonTex[] = {
|
||||
0x0, 0x0, 0x75, 0x73, 0xfa, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7,
|
||||
0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff,
|
||||
0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7,
|
||||
0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff,
|
||||
0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xe0, 0xff, 0x51, 0x7f, 0x0, 0x0, 0x5e, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xf7,
|
||||
0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff,
|
||||
0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7,
|
||||
0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff,
|
||||
0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xa0,
|
||||
0xff, 0xa0, 0xff, 0x51, 0x7f, 0xe2, 0xff, 0xf7, 0xff, 0xf2, 0xff, 0x90, 0xff, 0x97, 0xff, 0x9d, 0xff, 0xa3, 0xff,
|
||||
0xa9, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xca, 0xff, 0xd0, 0xff, 0xd3, 0xff, 0xce, 0xff, 0xca,
|
||||
0xff, 0xc5, 0xff, 0xc1, 0xff, 0xbc, 0xff, 0xb8, 0xff, 0xb4, 0xff, 0xaf, 0xff, 0xab, 0xff, 0xa7, 0xff, 0xa2, 0xff,
|
||||
0x9e, 0xff, 0x9a, 0xff, 0x95, 0xff, 0x91, 0xff, 0x8c, 0xff, 0x88, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77,
|
||||
0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xa2, 0xff, 0x93, 0xff, 0x59, 0xff, 0xd2, 0xff,
|
||||
0xd8, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x97, 0xff, 0x9d, 0xff, 0xa3, 0xff, 0xa9, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc,
|
||||
0xff, 0xc3, 0xff, 0xca, 0xff, 0xd0, 0xff, 0x8c, 0xff, 0xce, 0xff, 0xca, 0xff, 0xc5, 0xff, 0xc1, 0xff, 0xbc, 0xff,
|
||||
0x7a, 0xff, 0x95, 0xff, 0xaf, 0xff, 0xab, 0xff, 0xa7, 0xff, 0x6a, 0xff, 0x50, 0xff, 0x4e, 0xff, 0x62, 0xff, 0x8f,
|
||||
0xff, 0x8c, 0xff, 0x88, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff,
|
||||
0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x47, 0xff, 0x3a, 0xff, 0xd2, 0xff, 0xd2, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x97,
|
||||
0xff, 0x9d, 0xff, 0xa3, 0xff, 0xa9, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xca, 0xff, 0x3, 0xff,
|
||||
0x0, 0xff, 0x28, 0xff, 0xca, 0xff, 0xc5, 0xff, 0xc1, 0xff, 0x41, 0xff, 0x0, 0xff, 0x0, 0xff, 0xba, 0xff, 0x4d,
|
||||
0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x61, 0xff, 0x88, 0xff, 0x84, 0xff,
|
||||
0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x3a,
|
||||
0xff, 0x3a, 0xff, 0xd2, 0xff, 0xd2, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x97, 0xff, 0x9d, 0xff, 0xa3, 0xff, 0xa9, 0xff,
|
||||
0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xc1, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xc6, 0xff, 0xc5,
|
||||
0xff, 0xc1, 0xff, 0x6, 0xff, 0x0, 0xff, 0x0, 0xff, 0xb0, 0xff, 0xb, 0xff, 0x0, 0xff, 0x46, 0xff, 0x89, 0xff,
|
||||
0x86, 0xff, 0x45, 0xff, 0x0, 0xff, 0x1d, 0xff, 0x94, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75,
|
||||
0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0xd2, 0xff, 0xd2, 0xff,
|
||||
0x8b, 0xff, 0x90, 0xff, 0x55, 0xff, 0x52, 0xff, 0x68, 0xff, 0x7e, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3,
|
||||
0xff, 0xc1, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x6f, 0xff, 0xc5, 0xff, 0x86, 0xff, 0x0, 0xff, 0x0, 0xff,
|
||||
0x0, 0xff, 0xb0, 0xff, 0x0, 0xff, 0x12, 0xff, 0xd9, 0xff, 0x9f, 0xff, 0x9a, 0xff, 0x97, 0xff, 0x5, 0xff, 0x0,
|
||||
0xff, 0xae, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff,
|
||||
0xa1, 0xff, 0xb0, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0xd2, 0xff, 0xd2, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x3d, 0xff, 0x37,
|
||||
0xff, 0x60, 0xff, 0x7e, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xc1, 0xff, 0x0, 0xff, 0x0, 0xff,
|
||||
0x0, 0xff, 0x15, 0xff, 0xcf, 0xff, 0x35, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xab, 0xff, 0x0, 0xff, 0x2e,
|
||||
0xff, 0xbc, 0xff, 0x9e, 0xff, 0x9a, 0xff, 0x95, 0xff, 0x12, 0xff, 0x0, 0xff, 0xb0, 0xff, 0x84, 0xff, 0x80, 0xff,
|
||||
0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x3a, 0xff, 0x3a,
|
||||
0xff, 0xd2, 0xff, 0xd2, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x44, 0xff, 0x4f, 0xff, 0x8a, 0xff, 0x9e, 0xff, 0xb0, 0xff,
|
||||
0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xc1, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xb5, 0xff, 0x0,
|
||||
0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xaa, 0xff, 0x0, 0xff, 0x30, 0xff, 0xb8, 0xff, 0x9e, 0xff, 0x9a, 0xff,
|
||||
0x95, 0xff, 0x13, 0xff, 0x0, 0xff, 0xb0, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f,
|
||||
0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0xd2, 0xff, 0xd2, 0xff, 0x8b, 0xff,
|
||||
0x90, 0xff, 0x59, 0xff, 0x67, 0xff, 0x97, 0xff, 0x9b, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xc1,
|
||||
0xff, 0x0, 0xff, 0x0, 0xff, 0x7a, 0xff, 0x0, 0xff, 0x5f, 0xff, 0x0, 0xff, 0x44, 0xff, 0x20, 0xff, 0x0, 0xff,
|
||||
0xb9, 0xff, 0x0, 0xff, 0x1f, 0xff, 0xbb, 0xff, 0x25, 0xff, 0x1b, 0xff, 0x95, 0xff, 0xa, 0xff, 0x0, 0xff, 0xbb,
|
||||
0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff,
|
||||
0xb0, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0xd2, 0xff, 0xd2, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x97, 0xff, 0x9d, 0xff, 0xa3,
|
||||
0xff, 0xa9, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xc1, 0xff, 0x0, 0xff, 0x0, 0xff, 0xed, 0xff,
|
||||
0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xb7, 0xff, 0x1c, 0xff, 0x0, 0xff, 0xb0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x6c,
|
||||
0xff, 0x57, 0xff, 0x0, 0xff, 0x19, 0xff, 0x0, 0xff, 0x2, 0xff, 0xd8, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff,
|
||||
0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0xd2,
|
||||
0xff, 0xd2, 0xff, 0x8b, 0xff, 0x90, 0xff, 0x97, 0xff, 0x9d, 0xff, 0xa3, 0xff, 0xa9, 0xff, 0xb0, 0xff, 0xb6, 0xff,
|
||||
0xbc, 0xff, 0xc3, 0xff, 0xc1, 0xff, 0x0, 0xff, 0x0, 0xff, 0xe7, 0xff, 0x37, 0xff, 0x0, 0xff, 0xf, 0xff, 0xe7,
|
||||
0xff, 0x1c, 0xff, 0x0, 0xff, 0xb0, 0xff, 0x49, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,
|
||||
0x0, 0xff, 0x64, 0xff, 0xaa, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a,
|
||||
0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0xd2, 0xff, 0xc7, 0xff, 0x8b, 0xff, 0x90, 0xff,
|
||||
0x97, 0xff, 0x9d, 0xff, 0xa3, 0xff, 0xa9, 0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xca, 0xff, 0x74,
|
||||
0xff, 0x7f, 0xff, 0xe7, 0xff, 0xc2, 0xff, 0x72, 0xff, 0x84, 0xff, 0xbc, 0xff, 0x5f, 0xff, 0x78, 0xff, 0xe7, 0xff,
|
||||
0xab, 0xff, 0xa3, 0xff, 0x5a, 0xff, 0x3c, 0xff, 0x40, 0xff, 0x18, 0xff, 0x0, 0xff, 0x59, 0xff, 0x88, 0xff, 0x84,
|
||||
0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff, 0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0xb0, 0xff,
|
||||
0x3a, 0xff, 0x3a, 0xff, 0xc7, 0xff, 0x84, 0xff, 0x79, 0xff, 0x90, 0xff, 0x97, 0xff, 0x9d, 0xff, 0xa3, 0xff, 0xa9,
|
||||
0xff, 0xb0, 0xff, 0xb6, 0xff, 0xbc, 0xff, 0xc3, 0xff, 0xca, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xce, 0xff, 0xca, 0xff,
|
||||
0xc5, 0xff, 0xc1, 0xff, 0xbc, 0xff, 0xb8, 0xff, 0xb4, 0xff, 0xaf, 0xff, 0xab, 0xff, 0xa7, 0xff, 0xa2, 0xff, 0xaf,
|
||||
0xff, 0xae, 0xff, 0xa6, 0xff, 0x4e, 0xff, 0x67, 0xff, 0xbf, 0xff, 0x84, 0xff, 0x80, 0xff, 0x7c, 0xff, 0x77, 0xff,
|
||||
0x75, 0xff, 0x7f, 0xff, 0x8a, 0xff, 0x95, 0xff, 0xa1, 0xff, 0x48, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x2d, 0x5c, 0x79,
|
||||
0xff, 0x79, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff,
|
||||
0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a,
|
||||
0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff,
|
||||
0x3b, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a,
|
||||
0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x1e, 0x7f, 0x0, 0x0, 0x37, 0x71, 0x4f, 0xff, 0x3a, 0xff, 0x3a, 0xff,
|
||||
0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a,
|
||||
0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff,
|
||||
0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a,
|
||||
0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x3a, 0xff, 0x15, 0x55,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0,
|
||||
};
|
||||
|
||||
static Gfx sScreenFillSetupDL[] = {
|
||||
gsDPPipeSync(),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
|
@ -181,6 +334,10 @@ static s16 sWindowContentColors[2][3] = {
|
|||
{ 100, 100, 100 }, // gray
|
||||
};
|
||||
|
||||
static int FileChoose_IsSaveCompatible(const SaveFileMetaInfo* restrict meta) {
|
||||
return meta->isMasterQuest == ResourceMgr_IsGameMasterQuest();
|
||||
}
|
||||
|
||||
void FileChoose_SetView(FileChooseContext* this, f32 eyeX, f32 eyeY, f32 eyeZ) {
|
||||
Vec3f eye;
|
||||
Vec3f lookAt;
|
||||
|
@ -354,7 +511,7 @@ void DrawSeedHashSprites(FileChooseContext* this) {
|
|||
|
||||
u16 xStart = 64;
|
||||
// Draw Seed Icons
|
||||
for (u8 i = 0; i < 5; i++) {
|
||||
for (unsigned int i = 0; i < 5; i++) {
|
||||
if (Save_GetSaveMetaInfo(this->selectedFileIndex)->randoSave == 1) {
|
||||
SpriteLoad(this, GetSeedTexture(Save_GetSaveMetaInfo(this->selectedFileIndex)->seedHash[i]));
|
||||
SpriteDraw(this, GetSeedTexture(Save_GetSaveMetaInfo(this->selectedFileIndex)->seedHash[i]),
|
||||
|
@ -367,7 +524,7 @@ void DrawSeedHashSprites(FileChooseContext* this) {
|
|||
|
||||
if (CVar_GetS32("gRandomizer", 0) && strnlen(CVar_GetString("gSpoilerLog", ""), 1) != 0) {
|
||||
u16 xStart = 64;
|
||||
for (u8 i = 0; i < 5; i++) {
|
||||
for (unsigned int i = 0; i < 5; i++) {
|
||||
SpriteLoad(this, GetSeedTexture(gSaveContext.seedIcons[i]));
|
||||
SpriteDraw(this, GetSeedTexture(gSaveContext.seedIcons[i]), xStart + (40 * i), 10, 24, 24);
|
||||
}
|
||||
|
@ -455,7 +612,10 @@ void FileChoose_UpdateMainMenu(GameState* thisx) {
|
|||
this->nameEntryBoxPosX = 120;
|
||||
this->nameEntryBoxAlpha = 0;
|
||||
memcpy(Save_GetSaveMetaInfo(this->buttonIndex)->playerName, &emptyName, 8);
|
||||
} else {
|
||||
} else if(!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(this->buttonIndex))) {
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_FSEL_ERROR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
}
|
||||
else {
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_FSEL_DECIDE_L, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->actionTimer = 8;
|
||||
this->selectMode = SM_FADE_MAIN_TO_SELECT;
|
||||
|
@ -1210,8 +1370,13 @@ void FileChoose_DrawWindowContents(GameState* thisx) {
|
|||
|
||||
isActive = 0;
|
||||
|
||||
if (CVar_GetS32("gHudColors", 1) == 2) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r, CVar_GetRGB("gCCFileChoosePrim", Background_Color).g, CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->fileButtonAlpha[i]);
|
||||
if (!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i)) && Save_GetSaveMetaInfo(i)->valid) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[1][0], sWindowContentColors[1][1],
|
||||
sWindowContentColors[1][2], this->fileButtonAlpha[i]);
|
||||
} else if (CVar_GetS32("gHudColors", 1) == 2) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r,
|
||||
CVar_GetRGB("gCCFileChoosePrim", Background_Color).g,
|
||||
CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->fileButtonAlpha[i]);
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[isActive][0], sWindowContentColors[isActive][1],
|
||||
sWindowContentColors[isActive][2], this->fileButtonAlpha[i]);
|
||||
|
@ -1223,8 +1388,11 @@ void FileChoose_DrawWindowContents(GameState* thisx) {
|
|||
gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0);
|
||||
|
||||
// draw file name box
|
||||
if (CVar_GetS32("gHudColors", 1) == 2) {
|
||||
if (CVar_GetS32("gHudColors", 1) == 2 && FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r, CVar_GetRGB("gCCFileChoosePrim", Background_Color).g, CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->nameBoxAlpha[i]);
|
||||
} else if (!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[1][0], sWindowContentColors[1][1],
|
||||
sWindowContentColors[1][2], this->nameBoxAlpha[i]);
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[isActive][0], sWindowContentColors[isActive][1],
|
||||
sWindowContentColors[isActive][2], this->nameBoxAlpha[i]);
|
||||
|
@ -1235,10 +1403,13 @@ void FileChoose_DrawWindowContents(GameState* thisx) {
|
|||
G_TX_NOLOD);
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 4, 6, 7, 5, 0);
|
||||
|
||||
// draw disk label for 64DD
|
||||
// draw rando label
|
||||
if (Save_GetSaveMetaInfo(i)->randoSave) {
|
||||
if (CVar_GetS32("gHudColors", 1) == 2) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r, CVar_GetRGB("gCCFileChoosePrim", Background_Color).g, CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->nameAlpha[i]);
|
||||
} else if (!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[1][0], sWindowContentColors[1][1],
|
||||
sWindowContentColors[1][2], this->nameBoxAlpha[i]);
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[isActive][0],
|
||||
sWindowContentColors[isActive][1], sWindowContentColors[isActive][2],
|
||||
|
@ -1249,10 +1420,30 @@ void FileChoose_DrawWindowContents(GameState* thisx) {
|
|||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 8, 10, 11, 9, 0);
|
||||
}
|
||||
//Draw MQ label
|
||||
if (Save_GetSaveMetaInfo(i)->isMasterQuest) {
|
||||
if (CVar_GetS32("gHudColors", 1) == 2 && FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r, CVar_GetRGB("gCCFileChoosePrim", Background_Color).g, CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->nameAlpha[i]);
|
||||
} else if (!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[1][0], sWindowContentColors[1][1],
|
||||
sWindowContentColors[1][2], this->nameBoxAlpha[i]);
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[isActive][0],
|
||||
sWindowContentColors[isActive][1], sWindowContentColors[isActive][2],
|
||||
this->nameAlpha[i]);
|
||||
}
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, gFileSelMQButtonTex, G_IM_FMT_IA, G_IM_SIZ_16b, 44, 16, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
|
||||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 8, 10, 11, 9, 0);
|
||||
}
|
||||
|
||||
// draw connectors
|
||||
if (CVar_GetS32("gHudColors", 1) == 2) {
|
||||
if (CVar_GetS32("gHudColors", 1) == 2 && FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r, CVar_GetRGB("gCCFileChoosePrim", Background_Color).g, CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->connectorAlpha[i]);
|
||||
} else if (!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i)) && Save_GetSaveMetaInfo(i)->valid) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[1][0], sWindowContentColors[1][1],
|
||||
sWindowContentColors[1][2], this->fileButtonAlpha[i]);
|
||||
} else {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sWindowContentColors[isActive][0], sWindowContentColors[isActive][1],
|
||||
sWindowContentColors[isActive][2], this->connectorAlpha[i]);
|
||||
|
@ -1262,7 +1453,7 @@ void FileChoose_DrawWindowContents(GameState* thisx) {
|
|||
G_TX_NOLOD);
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 12, 14, 15, 13, 0);
|
||||
|
||||
if (Save_GetSaveMetaInfo(i)->randoSave) {
|
||||
if (Save_GetSaveMetaInfo(i)->randoSave || Save_GetSaveMetaInfo(i)->isMasterQuest) {
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 16, 18, 19, 17, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include <libultraship/GameVersions.h>
|
||||
#include <soh/SaveManager.h>
|
||||
|
||||
#include "time.h"
|
||||
|
||||
const char* GetGameVersionString();
|
||||
char* quote;
|
||||
|
||||
|
@ -70,7 +72,7 @@ const char* quotes[11] = {
|
|||
"Waaaahahahohohahahahahahaha"
|
||||
};
|
||||
|
||||
char* SetQuote() {
|
||||
const char* SetQuote() {
|
||||
srand(time(NULL));
|
||||
int randomQuote = rand() % 11;
|
||||
return quotes[randomQuote];
|
||||
|
@ -94,8 +96,9 @@ const char* GetGameVersionString() {
|
|||
case OOT_PAL_MQ:
|
||||
return "GC PAL MQ";
|
||||
case OOT_PAL_GC_DBG1:
|
||||
return "GC PAL DEBUG";
|
||||
case OOT_PAL_GC_DBG2:
|
||||
return "GC PAL DEBUG";
|
||||
case OOT_PAL_GC_MQ_DBG:
|
||||
return "GC PAL DEBUG MQ";
|
||||
case OOT_IQUE_CN:
|
||||
return "IQUE CN";
|
||||
|
|
|
@ -33,11 +33,16 @@ static const u32 sLineBytesImageSizes[] = { 0, 1, 2, 2 };
|
|||
#define G_IM_SIZ_MARK_LINE_BYTES sLineBytesImageSizes[markInfo->imageSize]
|
||||
|
||||
extern PauseMapMarksData gPauseMapMarkDataTable[];
|
||||
extern PauseMapMarksData gPauseMapMarkDataTableMasterQuest[];
|
||||
|
||||
void PauseMapMark_Init(GlobalContext* globalCtx) {
|
||||
gBossMarkState = 0;
|
||||
gBossMarkScale = 1.0f;
|
||||
gLoadedPauseMarkDataTable = gPauseMapMarkDataTable;
|
||||
if(ResourceMgr_IsGameMasterQuest()) {
|
||||
gLoadedPauseMarkDataTable = gPauseMapMarkDataTableMasterQuest;
|
||||
} else {
|
||||
gLoadedPauseMarkDataTable = gPauseMapMarkDataTable;
|
||||
}
|
||||
}
|
||||
|
||||
void PauseMapMark_Clear(GlobalContext* globalCtx) {
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue