Add Pac-Man and Ms. Pac-Man characters

This commit is contained in:
RocketRobz 2020-08-10 03:05:31 -06:00
parent ae58c95be3
commit 0a7ee39672
12 changed files with 91 additions and 32 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

View File

@ -0,0 +1,4 @@
--atlas -f rgba -z auto
"characters/Pac-Man/All Seasons/zoom0/Ms. Pac-Man.png"
"characters/Pac-Man/All Seasons/zoom1/Ms. Pac-Man.png"
"characters/Pac-Man/All Seasons/zoom2/Ms. Pac-Man.png"

View File

@ -0,0 +1,4 @@
--atlas -f rgba -z auto
"characters/Pac-Man/All Seasons/zoom0/Pac-Man.png"
"characters/Pac-Man/All Seasons/zoom1/Pac-Man.png"
"characters/Pac-Man/All Seasons/zoom2/Pac-Man.png"

13
include/pacCharNames.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef _ROCKET_PHOTO_SHOOT_PACMAN_CHAR_NAMES_HPP
#define _ROCKET_PHOTO_SHOOT_PACMAN_CHAR_NAMES_HPP
extern const char* pacCharacterNames[];
extern bool pacCharacterGenders[];
extern const char* pacCharacterFileNamesSpring[];
extern const char* pacCharacterFileNamesSummer[];
extern const char* pacCharacterFileNamesFall[];
extern const char* pacCharacterFileNamesWinter[];
#endif

View File

@ -21,7 +21,6 @@ private:
const char* import_characterName(void) const;
const char* import_characterFileName(void) const;
const char* import_SS2CharacterNames(int i) const;
const char* import_characterNameDisplay(void) const;
const char* ss1Title(void) const;
const char* ss2Title(void) const;
const char* ss3Title(void) const;

30
source/pacCharNames.c Normal file
View File

@ -0,0 +1,30 @@
#include <stdbool.h>
const char* pacCharacterNames[] = {
"Pac-Man",
"Ms. Pac-Man",
"",
};
bool pacCharacterGenders[] = {
true, // Male
false, // Female
true, // Male
};
const char* pacCharacterFileNamesSpring[] = {
"pac_PacMan",
"pac_MsPacMan",
};
const char* pacCharacterFileNamesSummer[] = {
"pac_PacMan",
"pac_MsPacMan",
};
const char* pacCharacterFileNamesFall[] = {
"pac_PacMan",
"pac_MsPacMan",
};
const char* pacCharacterFileNamesWinter[] = {
"pac_PacMan",
"pac_MsPacMan",
};

View File

@ -13,6 +13,7 @@
#include "jfgCharNames.h"
#include "conkerCharNames.h"
#include "banjokCharNames.h"
#include "pacCharNames.h"
#include "import_ss1bgnames.h"
#include "import_ss2bgnames.h"
@ -23,7 +24,18 @@
#include <unistd.h>
static int charPageOrder[] = {4, 9, 8, 7, 5, 6, 0, 1, 2, 3};
static int charPageOrder[] = {
4, // Super Photo Studio (Original Characters)
9, // Banjo-Kazooie
8, // Conker series
7, // Jet Force Gemini
10, // Pac-Man series
5, // Super Mario series
6, // Sonic the Hedgehog series
0, // Style Savvy
1, // Style Savvy: Trendsetters
2, // Style Savvy: Fashion Forward
3}; // Style Savvy: Styling Star
static int metalXpos = 0;
static int currentCharacterRendered = 0;
@ -62,7 +74,9 @@ void PhotoStudio::getMaxChars() {
} else {
// Characters
const int highlightedGame = char_highlightedGame[currentCharNum];
if (charPageOrder[highlightedGame] == 9) {
if (charPageOrder[highlightedGame] == 10) {
import_totalCharacters = 1;
} else if (charPageOrder[highlightedGame] == 9) {
import_totalCharacters = 0;
} else if (charPageOrder[highlightedGame] == 8) {
import_totalCharacters = 0;
@ -123,6 +137,8 @@ const char* PhotoStudio::import_characterName(void) const {
return conkerCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 9:
return banjokCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 10:
return pacCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
}
return "null";
}
@ -206,6 +222,17 @@ const char* PhotoStudio::import_characterFileName(void) const {
case 3:
return banjokCharacterFileNamesWinter[importCharacterList_cursorPosition[currentCharNum]];
}
case 10:
switch (seasonNo[currentCharNum]) {
case 0:
return pacCharacterFileNamesSpring[importCharacterList_cursorPosition[currentCharNum]];
case 1:
return pacCharacterFileNamesSummer[importCharacterList_cursorPosition[currentCharNum]];
case 2:
return pacCharacterFileNamesFall[importCharacterList_cursorPosition[currentCharNum]];
case 3:
return pacCharacterFileNamesWinter[importCharacterList_cursorPosition[currentCharNum]];
}
}
return "null";
}
@ -220,32 +247,6 @@ const char* PhotoStudio::import_SS2CharacterNames(int i) const {
}
}
const char* PhotoStudio::import_characterNameDisplay(void) const {
switch (charPageOrder[char_highlightedGame[currentCharNum]]) {
case 0:
return import_ss1CharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 1:
return import_SS2CharacterNames(importCharacterList_cursorPosition[currentCharNum]);
case 2:
return import_ss3CharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 3:
return import_ss4CharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 4:
return rocketCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 5:
return smCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 6:
return sthCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 7:
return jfgCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 8:
return conkerCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 9:
return banjokCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
}
return "null";
}
const char* PhotoStudio::ss1Title(void) const {
switch (sysRegion) {
default:
@ -432,6 +433,9 @@ void PhotoStudio::Draw(void) const {
// Game name
switch (charPageOrder[char_highlightedGame[currentCharNum]]) {
case 10:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Pac-Man series");
break;
case 9:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Banjo-Kazooie series");
break;
@ -482,7 +486,12 @@ void PhotoStudio::Draw(void) const {
if (!displayNothing) {
int i2 = 48;
for (int i = import_characterShownFirst[currentCharNum]; i < import_characterShownFirst[currentCharNum]+3; i++) {
if (charPageOrder[char_highlightedGame[currentCharNum]] == 9) {
if (charPageOrder[char_highlightedGame[currentCharNum]] == 10) {
if (i >= 2) break;
GFX::DrawSprite(sprites_item_button_idx, 16, i2-20);
GFX::DrawSprite((pacCharacterGenders[i] ? sprites_icon_male_idx : sprites_icon_female_idx), 12, i2-8);
Gui::DrawString(64, i2, 0.65, WHITE, pacCharacterNames[i]);
} else if (charPageOrder[char_highlightedGame[currentCharNum]] == 9) {
if (i >= 1) break;
GFX::DrawSprite(sprites_item_button_idx, 16, i2-20);
GFX::DrawSprite((banjokCharacterGenders[i] ? sprites_icon_male_idx : sprites_icon_female_idx), 12, i2-8);
@ -759,7 +768,7 @@ void PhotoStudio::Logic(u32 hDown, u32 hHeld, touchPosition touch) {
if (hDown & KEY_DLEFT) {
sndHighlight();
char_highlightedGame[currentCharNum]--;
if (char_highlightedGame[currentCharNum] < 0) char_highlightedGame[currentCharNum] = 9;
if (char_highlightedGame[currentCharNum] < 0) char_highlightedGame[currentCharNum] = 10;
getMaxChars();
renderTop = true;
}
@ -767,7 +776,7 @@ void PhotoStudio::Logic(u32 hDown, u32 hHeld, touchPosition touch) {
if (hDown & KEY_DRIGHT) {
sndHighlight();
char_highlightedGame[currentCharNum]++;
if (char_highlightedGame[currentCharNum] > 9) char_highlightedGame[currentCharNum] = 0;
if (char_highlightedGame[currentCharNum] > 10) char_highlightedGame[currentCharNum] = 0;
getMaxChars();
renderTop = true;
}