Add more locations from *Style Savvy: Styling Star*

This commit is contained in:
RocketRobz 2020-08-25 01:30:05 -06:00
parent a863c3388c
commit 02f4c73776
37 changed files with 154 additions and 68 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_cakeShop4.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_charityStage.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_concertHall.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_florist.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_girlyStage_0.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_girlyStage_1.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_lifestyleShop4.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_livelyStage_0.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_livelyStage_1.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_livelyStage_2.png"

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

View File

@ -0,0 +1 @@
-f rgba -z auto "bg_livelyStage_3.png"

View File

@ -84,6 +84,7 @@ void GFX::loadBgSprite(void) {
if (bgSpriteLoaded) return; if (bgSpriteLoaded) return;
timeOutside = 2; // Default is Nighttime timeOutside = 2; // Default is Nighttime
int aniFrames = 0;
const char* bgPath; const char* bgPath;
time_t t = time(0); time_t t = time(0);
@ -143,8 +144,10 @@ void GFX::loadBgSprite(void) {
case 12: case 12:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
bgPath = "romfs:/gfx/bgDay_tropicaBeach_0.t3x"; bgPath = "romfs:/gfx/bgDay_tropicaBeach_0.t3x";
aniFrames = 2;
} else if (isEvening(hour, minutes)) { } else if (isEvening(hour, minutes)) {
bgPath = "romfs:/gfx/bgSunset_tropicaBeach_0.t3x"; bgPath = "romfs:/gfx/bgSunset_tropicaBeach_0.t3x";
aniFrames = 2;
} else { } else {
bgPath = "romfs:/gfx/bgNight_tropicaBeach.t3x"; bgPath = "romfs:/gfx/bgNight_tropicaBeach.t3x";
} }
@ -287,6 +290,7 @@ void GFX::loadBgSprite(void) {
break; break;
case 51: case 51:
bgPath = "romfs:/gfx/bg_liveMusicClub3_0.t3x"; bgPath = "romfs:/gfx/bg_liveMusicClub3_0.t3x";
aniFrames = 3;
break; break;
case 52: case 52:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
@ -326,40 +330,63 @@ void GFX::loadBgSprite(void) {
break; break;
case 56: case 56:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
bgPath = "romfs:/gfx/bgDay_countrysideSpring.png"; bgPath = "romfs:/gfx/bgDay_countrysideSpring.t3x";
} else if (isEvening(hour, minutes)) { } else if (isEvening(hour, minutes)) {
bgPath = "romfs:/gfx/bgSunset_countrysideSpring.png"; bgPath = "romfs:/gfx/bgSunset_countrysideSpring.t3x";
} else { } else {
bgPath = "romfs:/gfx/bgNight_countrysideSpring.png"; bgPath = "romfs:/gfx/bgNight_countrysideSpring.t3x";
} }
break; break;
case 57: case 57:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
bgPath = "romfs:/gfx/bgDay_countrysideSummer.png"; bgPath = "romfs:/gfx/bgDay_countrysideSummer.t3x";
} else if (isEvening(hour, minutes)) { } else if (isEvening(hour, minutes)) {
bgPath = "romfs:/gfx/bgSunset_countrysideSummer.png"; bgPath = "romfs:/gfx/bgSunset_countrysideSummer.t3x";
} else { } else {
bgPath = "romfs:/gfx/bgNight_countrysideSummer.png"; bgPath = "romfs:/gfx/bgNight_countrysideSummer.t3x";
} }
break; break;
case 58: case 58:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
bgPath = "romfs:/gfx/bgDay_countrysideFall.png"; bgPath = "romfs:/gfx/bgDay_countrysideFall.t3x";
} else if (isEvening(hour, minutes)) { } else if (isEvening(hour, minutes)) {
bgPath = "romfs:/gfx/bgSunset_countrysideFall.png"; bgPath = "romfs:/gfx/bgSunset_countrysideFall.t3x";
} else { } else {
bgPath = "romfs:/gfx/bgNight_countrysideFall.png"; bgPath = "romfs:/gfx/bgNight_countrysideFall.t3x";
} }
break; break;
case 59: case 59:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
bgPath = "romfs:/gfx/bgDay_countrysideWinter.png"; bgPath = "romfs:/gfx/bgDay_countrysideWinter.t3x";
} else if (isEvening(hour, minutes)) { } else if (isEvening(hour, minutes)) {
bgPath = "romfs:/gfx/bgSunset_countrysideWinter.png"; bgPath = "romfs:/gfx/bgSunset_countrysideWinter.t3x";
} else { } else {
bgPath = "romfs:/gfx/bgNight_countrysideWinter.png"; bgPath = "romfs:/gfx/bgNight_countrysideWinter.t3x";
} }
break; break;
case 60:
bgPath = "romfs:/gfx/bg_lifestyleShop4.t3x";
break;
case 61:
bgPath = "romfs:/gfx/bg_florist.t3x";
break;
case 62:
bgPath = "romfs:/gfx/bg_cakeShop4.t3x";
break;
case 63:
bgPath = "romfs:/gfx/bg_livelyStage_0.t3x";
aniFrames = 3;
break;
case 64:
bgPath = "romfs:/gfx/bg_girlyStage_0.t3x";
aniFrames = 1;
break;
case 65:
bgPath = "romfs:/gfx/bg_concertHall.t3x";
break;
case 66:
bgPath = "romfs:/gfx/bg_charityStage.t3x";
break;
} }
FILE* bgFile = fopen(bgPath, "rb"); FILE* bgFile = fopen(bgPath, "rb");
fread((void*)bgSpriteMem[0], 1, 0x200000, bgFile); fread((void*)bgSpriteMem[0], 1, 0x200000, bgFile);
@ -373,32 +400,38 @@ void GFX::loadBgSprite(void) {
bgCanAnimate = false; bgCanAnimate = false;
// Load animated parts // Load animated parts
if ((studioBg == 12 || studioBg == 51) && (timeOutside == 0 || timeOutside == 1 || studioBg == 51)) { if (aniFrames > 0) {
if (studioBg == 51) { switch (studioBg) {
bgPath = "romfs:/gfx/bg_liveMusicClub3_1.t3x"; case 12:
} else if (timeOutside == 0) { if (timeOutside == 0) {
bgPath = "romfs:/gfx/bgDay_tropicaBeach_1.t3x"; bgPath = "romfs:/gfx/bgDay_tropicaBeach_%i.t3x";
} else { } else {
bgPath = "romfs:/gfx/bgSunset_tropicaBeach_1.t3x"; bgPath = "romfs:/gfx/bgSunset_tropicaBeach_%i.t3x";
}
break;
case 51:
bgPath = "romfs:/gfx/bg_liveMusicClub3_%i.t3x";
break;
case 63:
bgPath = "romfs:/gfx/bg_livelyStage_%i.t3x";
break;
case 64:
bgPath = "romfs:/gfx/bg_girlyStage_%i.t3x";
break;
} }
bgFile = fopen(bgPath, "rb"); char bgAniPath[64];
fread((void*)bgSpriteMem[1], 1, 0x200000, bgFile); for (int i = 1; i <= aniFrames; i++) {
fclose(bgFile); sprintf(bgAniPath, bgPath, i);
if (studioBg == 51) { bgFile = fopen(bgAniPath, "rb");
bgPath = "romfs:/gfx/bg_liveMusicClub3_2.t3x"; fread((void*)bgSpriteMem[i], 1, 0x200000, bgFile);
} else if (timeOutside == 0) {
bgPath = "romfs:/gfx/bgDay_tropicaBeach_2.t3x";
} else {
bgPath = "romfs:/gfx/bgSunset_tropicaBeach_2.t3x";
}
bgFile = fopen(bgPath, "rb");
fread((void*)bgSpriteMem[2], 1, 0x200000, bgFile);
fclose(bgFile);
if (studioBg == 51) {
bgPath = "romfs:/gfx/bg_liveMusicClub3_3.t3x";
bgFile = fopen(bgPath, "rb");
fread((void*)bgSpriteMem[3], 1, 0x200000, bgFile);
fclose(bgFile); fclose(bgFile);
}
if (studioBg == 64) {
bgAnimationDelay = iFps/2;
bgAnimation[0] = 0;
bgAnimation[1] = 1;
bgAnimation[2] = 100;
} else if (studioBg == 51 || studioBg == 63) {
bgAnimationDelay = iFps/2; bgAnimationDelay = iFps/2;
bgAnimation[0] = 0; bgAnimation[0] = 0;
bgAnimation[1] = 1; bgAnimation[1] = 1;

View File

@ -15,10 +15,17 @@ const char* import_ss4BgNames[] {
"Beautician", "Beautician",
"Hair Salon", "Hair Salon",
"Live Music Club", "Live Music Club",
"Lifestyle Shop",
"Florist",
"Cake Shop",
"Menswear Shop", "Menswear Shop",
"VIP Room", "VIP Room",
"Restauraunt", "Restauraunt",
"Lively Stage",
"Girly Stage",
"Concert Hall",
"Cinema", "Cinema",
"Charity Stage"
}; };
int import_ss4BgNums[] { int import_ss4BgNums[] {
@ -38,8 +45,15 @@ int import_ss4BgNums[] {
4, 4,
5, 5,
7, 7,
60,
61,
62,
8, 8,
9, 9,
10, 10,
11 63,
64,
65,
11,
66
}; };

View File

@ -178,6 +178,7 @@ void GFX::loadBgSprite(void) {
dmaFillWords(0xFFFFFFFF, bgGetGfxPtr(bg3Sub), 0x18000); dmaFillWords(0xFFFFFFFF, bgGetGfxPtr(bg3Sub), 0x18000);
timeOutside = 2; // Default is Nighttime timeOutside = 2; // Default is Nighttime
int aniFrames = 0;
const char* bgPath; const char* bgPath;
time_t t = time(0); time_t t = time(0);
@ -237,8 +238,10 @@ void GFX::loadBgSprite(void) {
case 12: case 12:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
bgPath = "nitro:/graphics/bg/Day_tropicaBeach_0.png"; bgPath = "nitro:/graphics/bg/Day_tropicaBeach_0.png";
aniFrames = 2;
} else if (isEvening(hour, minutes)) { } else if (isEvening(hour, minutes)) {
bgPath = "nitro:/graphics/bg/Sunset_tropicaBeach_0.png"; bgPath = "nitro:/graphics/bg/Sunset_tropicaBeach_0.png";
aniFrames = 2;
} else { } else {
bgPath = "nitro:/graphics/bg/Night_tropicaBeach.png"; bgPath = "nitro:/graphics/bg/Night_tropicaBeach.png";
} }
@ -381,6 +384,7 @@ void GFX::loadBgSprite(void) {
break; break;
case 51: case 51:
bgPath = "nitro:/graphics/bg/liveMusicClub3_0.png"; bgPath = "nitro:/graphics/bg/liveMusicClub3_0.png";
aniFrames = 3;
break; break;
case 52: case 52:
if (isDaytime(hour, minutes)) { if (isDaytime(hour, minutes)) {
@ -454,6 +458,29 @@ void GFX::loadBgSprite(void) {
bgPath = "nitro:/graphics/bg/Night_countrysideWinter.png"; bgPath = "nitro:/graphics/bg/Night_countrysideWinter.png";
} }
break; break;
case 60:
bgPath = "nitro:/graphics/bg/lifestyleShop4.png";
break;
case 61:
bgPath = "nitro:/graphics/bg/florist.png";
break;
case 62:
bgPath = "nitro:/graphics/bg/cakeShop4.png";
break;
case 63:
bgPath = "nitro:/graphics/bg/livelyStage_0.png";
aniFrames = 3;
break;
case 64:
bgPath = "nitro:/graphics/bg/girlyStage_0.png";
aniFrames = 1;
break;
case 65:
bgPath = "nitro:/graphics/bg/concertHall.png";
break;
case 66:
bgPath = "nitro:/graphics/bg/charityStage.png";
break;
} }
std::vector<unsigned char> image; std::vector<unsigned char> image;
unsigned width, height; unsigned width, height;
@ -469,39 +496,40 @@ void GFX::loadBgSprite(void) {
animateBg = false; animateBg = false;
// Load animated parts // Load animated parts
if (*(vu32*)(0x0279FFFC) == 1 && (studioBg == 12 || studioBg == 51) if (*(vu32*)(0x0279FFFC) == 1 && aniFrames > 0) {
&& (timeOutside == 0 || timeOutside == 1 || studioBg == 51)) { switch (studioBg) {
image.clear(); case 12:
if (studioBg == 51) { if (timeOutside == 0) {
bgPath = "nitro:/graphics/bg/liveMusicClub3_1.png"; bgPath = "nitro:/graphics/bg/Day_tropicaBeach_%i.png";
} else if (timeOutside == 0) { } else {
bgPath = "nitro:/graphics/bg/Day_tropicaBeach_1.png"; bgPath = "nitro:/graphics/bg/Sunset_tropicaBeach_%i.png";
} else { }
bgPath = "nitro:/graphics/bg/Sunset_tropicaBeach_1.png"; break;
case 51:
bgPath = "nitro:/graphics/bg/liveMusicClub3_%i.png";
break;
case 63:
bgPath = "nitro:/graphics/bg/livelyStage_%i.png";
break;
case 64:
bgPath = "nitro:/graphics/bg/girlyStage_%i.png";
break;
} }
lodepng::decode(image, width, height, bgPath); char bgAniPath[64];
for(unsigned i=0;i<image.size()/4;i++) { for (int i = 1; i <= aniFrames; i++) {
bgSpriteMemExt[0][i] = image[i*4]>>3 | (image[(i*4)+1]>>3)<<5 | (image[(i*4)+2]>>3)<<10 | BIT(15); sprintf(bgAniPath, bgPath, i);
}
image.clear();
if (studioBg == 51) {
bgPath = "nitro:/graphics/bg/liveMusicClub3_2.png";
} else if (timeOutside == 0) {
bgPath = "nitro:/graphics/bg/Day_tropicaBeach_2.png";
} else {
bgPath = "nitro:/graphics/bg/Sunset_tropicaBeach_2.png";
}
lodepng::decode(image, width, height, bgPath);
for(unsigned i=0;i<image.size()/4;i++) {
bgSpriteMemExt[1][i] = image[i*4]>>3 | (image[(i*4)+1]>>3)<<5 | (image[(i*4)+2]>>3)<<10 | BIT(15);
}
if (studioBg == 51) {
image.clear(); image.clear();
bgPath = "nitro:/graphics/bg/liveMusicClub3_3.png"; lodepng::decode(image, width, height, bgAniPath);
lodepng::decode(image, width, height, bgPath); for(unsigned p=0;p<image.size()/4;p++) {
for(unsigned i=0;i<image.size()/4;i++) { bgSpriteMemExt[i-1][p] = image[p*4]>>3 | (image[(p*4)+1]>>3)<<5 | (image[(p*4)+2]>>3)<<10 | BIT(15);
bgSpriteMemExt[2][i] = image[i*4]>>3 | (image[(i*4)+1]>>3)<<5 | (image[(i*4)+2]>>3)<<10 | BIT(15);
} }
}
if (studioBg == 64) {
bgAnimationDelay = iFps/2;
bgAnimation[0] = 0;
bgAnimation[1] = 1;
bgAnimation[2] = 100;
} else if (studioBg == 51 || studioBg == 63) {
bgAnimationDelay = iFps/2; bgAnimationDelay = iFps/2;
bgAnimation[0] = 0; bgAnimation[0] = 0;
bgAnimation[1] = 1; bgAnimation[1] = 1;

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -108,7 +108,7 @@ void PhotoStudio::getMaxChars() {
import_totalCharacters = 9; import_totalCharacters = 9;
break; break;
case 3: case 3:
import_totalCharacters = 19; import_totalCharacters = 26;
break; break;
case 4: case 4:
case 5: case 5: