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: case 66:
bgPath = "romfs:/gfx/bg_charityStage.t3x"; bgPath = "romfs:/gfx/bg_charityStage.t3x";
break; 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"); FILE* bgFile = fopen(bgPath, "rb");
fread((void*)bgSpriteMem[0], 1, 0x200000, bgFile); 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* ss2Title(void) const;
const char* ss3Title(void) const; const char* ss3Title(void) const;
const char* ss4Title(void) const; const char* ss4Title(void) const;
const char* bgGameTitle(void) const;
const char* charGameTitle(void) const; const char* charGameTitle(void) const;
bool charGender(int i) const; bool charGender(int i) const;
const char* bgName(int i) const;
const char* charName(int i) const; const char* charName(int i) const;
int getBgNum(void) const; int getBgNum(void) const;
void drawMsg(void) const; void drawMsg(void) const;

View File

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