Add some logos as studio backgrounds

Added:
* RocketRobz
* Nintendo
* SEGA Genesis
* TWiLight Menu++
* hiyaCFW
This commit is contained in:
RocketRobz 2020-08-27 23:55:14 -06:00
parent e3edc305de
commit 4a4e455eb2
20 changed files with 118 additions and 96 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

View File

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

View File

@ -387,6 +387,21 @@ void GFX::loadBgSprite(void) {
case 66:
bgPath = "romfs:/gfx/bg_charityStage.t3x";
break;
case 67:
bgPath = "romfs:/gfx/bg_RocketRobz.t3x";
break;
case 68:
bgPath = "romfs:/gfx/bg_Nintendo.t3x";
break;
case 69:
bgPath = "romfs:/gfx/bg_segaGen.t3x";
break;
case 70:
bgPath = "romfs:/gfx/bg_twlMenu.t3x";
break;
case 71:
bgPath = "romfs:/gfx/bg_hiyaCFW.t3x";
break;
}
FILE* bgFile = fopen(bgPath, "rb");
fread((void*)bgSpriteMem[0], 1, 0x200000, bgFile);

15
include/logobgnames.h Normal file
View File

@ -0,0 +1,15 @@
const char* logoBgNames[] {
"RocketRobz",
"Nintendo",
"SEGA Genesis",
"TWiLight Menu++",
"hiyaCFW",
};
int logoBgNums[] {
67,
68,
69,
70,
71,
};

View File

@ -28,8 +28,10 @@ private:
const char* ss2Title(void) const;
const char* ss3Title(void) const;
const char* ss4Title(void) const;
const char* bgGameTitle(void) const;
const char* charGameTitle(void) const;
bool charGender(int i) const;
const char* bgName(int i) const;
const char* charName(int i) const;
int getBgNum(void) const;
void drawMsg(void) const;

View File

@ -481,6 +481,21 @@ void GFX::loadBgSprite(void) {
case 66:
bgPath = "nitro:/graphics/bg/charityStage.png";
break;
case 67:
bgPath = "nitro:/graphics/bg/RocketRobz.png";
break;
case 68:
bgPath = "nitro:/graphics/bg/Nintendo.png";
break;
case 69:
bgPath = "nitro:/graphics/bg/segaGen.png";
break;
case 70:
bgPath = "nitro:/graphics/bg/twlMenu.png";
break;
case 71:
bgPath = "nitro:/graphics/bg/hiyaCFW.png";
break;
}
std::vector<unsigned char> image;
unsigned width, height;

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -18,6 +18,7 @@
#include "metroidCharNames.h"
#include "sc5CharNames.h"
#include "logobgnames.h"
#include "import_ss1bgnames.h"
#include "import_ss2bgnames.h"
#include "import_ss3bgnames.h"
@ -58,6 +59,15 @@ int characterLimit = 1;
int characterLimit = 4;
#endif
static u8 bgPageOrder[] = {
4, // Logos
5, // Perfect Dark
0, // Style Savvy
1, // Style Savvy: Trendsetters
2, // Style Savvy: Fashion Forward
3, // Style Savvy: Styling Star
6}; // Super Mario series
static u8 charPageOrder[] = {
4, // Super Photo Studio (Original Characters)
9, // Banjo-Kazooie series
@ -97,7 +107,7 @@ void PhotoStudio::getList() {
void PhotoStudio::getMaxChars() {
if (subScreenMode == 1) {
// Locations
switch (photo_highlightedGame) {
switch (bgPageOrder[photo_highlightedGame]) {
case 0:
import_totalCharacters = 2;
break;
@ -111,6 +121,8 @@ void PhotoStudio::getMaxChars() {
import_totalCharacters = 26;
break;
case 4:
import_totalCharacters = 4;
break;
case 5:
import_totalCharacters = 0;
break;
@ -429,6 +441,26 @@ const char* PhotoStudio::ss4Title(void) const {
#endif
}
const char* PhotoStudio::bgGameTitle(void) const {
switch (bgPageOrder[photo_highlightedGame]) {
case 0:
return ss1Title();
case 1:
return ss2Title();
case 2:
return ss3Title();
case 3:
return ss4Title();
case 4:
return "Logos";
case 5:
return "Perfect Dark";
case 6:
return "Super Mario series";
}
return "???";
}
const char* PhotoStudio::charGameTitle(void) const {
switch (charPageOrder[char_highlightedGame[currentCharNum]]) {
case 0:
@ -497,6 +529,26 @@ bool PhotoStudio::charGender(int i) const {
return true;
}
const char* PhotoStudio::bgName(int i) const {
switch (bgPageOrder[photo_highlightedGame]) {
case 0:
return import_ss1BgNames[i];
case 1:
return import_ss2BgNames[i];
case 2:
return import_ss3BgNames[i];
case 3:
return import_ss4BgNames[i];
case 4:
return logoBgNames[i];
case 5:
return pdarkBgNames[i];
case 6:
return smBgNames[i];
}
return "???";
}
const char* PhotoStudio::charName(int i) const {
switch (charPageOrder[char_highlightedGame[currentCharNum]]) {
case 0:
@ -532,7 +584,7 @@ const char* PhotoStudio::charName(int i) const {
}
int PhotoStudio::getBgNum(void) const {
switch (photo_highlightedGame) {
switch (bgPageOrder[photo_highlightedGame]) {
case 0:
return import_ss1BgNums[bgList_cursorPosition];
case 1:
@ -541,6 +593,8 @@ int PhotoStudio::getBgNum(void) const {
return import_ss3BgNums[bgList_cursorPosition];
case 3:
return import_ss4BgNums[bgList_cursorPosition];
case 4:
return logoBgNums[bgList_cursorPosition];
case 5:
return pdarkBgNums[bgList_cursorPosition];
case 6:
@ -648,30 +702,7 @@ void PhotoStudio::Draw(void) const {
} else if (subScreenMode == 1) {
cursorY = 52+(40*bgList_cursorPositionOnScreen);
if (redrawText) {
// Game name
switch (photo_highlightedGame) {
case 6:
printSmall(false, 0, 6, "Super Mario series", Alignment::center);
break;
case 5:
printSmall(false, 0, 6, "Perfect Dark", Alignment::center);
break;
case 4:
printSmall(false, 0, 6, "Super Photo Studio", Alignment::center);
break;
case 3:
printSmall(false, 0, 6, ss4Title(), Alignment::center);
break;
case 2:
printSmall(false, 0, 6, ss3Title(), Alignment::center);
break;
case 1:
printSmall(false, 0, 6, ss2Title(), Alignment::center);
break;
case 0:
printSmall(false, 0, 6, ss1Title(), Alignment::center);
break;
}
printSmall(false, 0, 6, bgGameTitle(), Alignment::center);
printSmall(false, 6, 6, "<");
printSmall(false, 242, 6, ">");
}
@ -679,27 +710,9 @@ void PhotoStudio::Draw(void) const {
if (!displayNothing) {
int i2 = 40;
for (int i = import_bgShownFirst; i < import_bgShownFirst+3; i++) {
if (photo_highlightedGame == 6) {
if (i >= 2) break;
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, smBgNames[i]);
} else if (photo_highlightedGame == 5) {
if (i >= 1) break;
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, pdarkBgNames[i]);
} else if (photo_highlightedGame == 3) {
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, import_ss4BgNames[i]);
} else if (photo_highlightedGame == 2) {
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, import_ss3BgNames[i]);
} else if (photo_highlightedGame == 1) {
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, import_ss2BgNames[i]);
} else if (photo_highlightedGame == 0) {
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, import_ss1BgNames[i]);
}
if (i >= import_totalCharacters+1) break;
glSprite(16, i2-16, GL_FLIP_NONE, itemButtonImage);
if (redrawText) printSmall(false, 26, i2, bgName(i));
i2 += 40;
}
}
@ -852,30 +865,7 @@ void PhotoStudio::Draw(void) const {
} else if (subScreenMode == 1) {
cursorY = 64+(48*bgList_cursorPositionOnScreen);
// Game name
switch (photo_highlightedGame) {
case 6:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Super Mario series");
break;
case 5:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Perfect Dark");
break;
case 4:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Super Photo Studio");
break;
case 3:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, ss4Title());
break;
case 2:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, ss3Title());
break;
case 1:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, ss2Title());
break;
case 0:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, ss1Title());
break;
}
Gui::DrawStringCentered(0, 8, 0.50, WHITE, bgGameTitle());
Gui::DrawString(8, 8, 0.50, WHITE, "<");
Gui::DrawString(304, 8, 0.50, WHITE, ">");
@ -889,27 +879,9 @@ void PhotoStudio::Draw(void) const {
if (!displayNothing) {
int i2 = 48;
for (int i = import_bgShownFirst; i < import_bgShownFirst+3; i++) {
if (photo_highlightedGame == 6) {
if (i >= 2) break;
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, smBgNames[i]);
} else if (photo_highlightedGame == 5) {
if (i >= 1) break;
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, pdarkBgNames[i]);
} else if (photo_highlightedGame == 3) {
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, import_ss4BgNames[i]);
} else if (photo_highlightedGame == 2) {
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, import_ss3BgNames[i]);
} else if (photo_highlightedGame == 1) {
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, import_ss2BgNames[i]);
} else if (photo_highlightedGame == 0) {
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, import_ss1BgNames[i]);
}
if (i >= import_totalCharacters+1) break;
GFX::DrawSprite(sprites_item_button_idx, 18, i2-20);
Gui::DrawString(32, i2, 0.65, WHITE, bgName(i));
i2 += 48;
}
}
@ -1253,16 +1225,14 @@ void PhotoStudio::Logic(u32 hDown, u32 hHeld, touchPosition touch) {
if (hDown & KEY_DLEFT) {
sndHighlight();
photo_highlightedGame--;
if (photo_highlightedGame == 4) photo_highlightedGame--; // Skip Rocket Photo Shoot page for now
if (photo_highlightedGame < 0) photo_highlightedGame = 6;
if (photo_highlightedGame < 0) photo_highlightedGame = (int)sizeof(bgPageOrder)-1;
getMaxChars();
}
if (hDown & KEY_DRIGHT) {
sndHighlight();
photo_highlightedGame++;
if (photo_highlightedGame == 4) photo_highlightedGame++; // Skip Rocket Photo Shoot page for now
if (photo_highlightedGame > 6) photo_highlightedGame = 0;
if (photo_highlightedGame > (int)sizeof(bgPageOrder)-1) photo_highlightedGame = 0;
getMaxChars();
}