Add Banjo from the Banjo-Kazooie series

This commit is contained in:
RocketRobz 2020-08-05 01:58:13 -06:00
parent 8255298b70
commit 5679a6dc8b
7 changed files with 80 additions and 5 deletions

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

13
include/banjokCharNames.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef _ROCKET_PHOTO_SHOOT_BANJOK_CHAR_NAMES_HPP
#define _ROCKET_PHOTO_SHOOT_BANJOK_CHAR_NAMES_HPP
extern const char* banjokCharacterNames[];
extern bool banjokCharacterGenders[];
extern const char* banjokCharacterFileNamesSpring[];
extern const char* banjokCharacterFileNamesSummer[];
extern const char* banjokCharacterFileNamesFall[];
extern const char* banjokCharacterFileNamesWinter[];
#endif

32
source/banjokCharNames.c Normal file
View File

@ -0,0 +1,32 @@
#include <stdbool.h>
const char* banjokCharacterNames[] = {
"Banjo",
"Kazooie",
"Tooty",
"Mumbo",
"Bottles",
"Gruntilda",
};
bool banjokCharacterGenders[] = {
true, // Male
false, // Female
false, // Female
true, // Male
true, // Male
false, // Female
};
const char* banjokCharacterFileNamesSpring[] = {
"banjok_Banjo",
};
const char* banjokCharacterFileNamesSummer[] = {
"banjok_Banjo",
};
const char* banjokCharacterFileNamesFall[] = {
"banjok_Banjo",
};
const char* banjokCharacterFileNamesWinter[] = {
"banjok_Banjo",
};

View File

@ -12,6 +12,7 @@
#include "sthCharNames.h"
#include "jfgCharNames.h"
#include "conkerCharNames.h"
#include "banjokCharNames.h"
#include "import_ss1bgnames.h"
#include "import_ss2bgnames.h"
@ -21,7 +22,7 @@
#include <unistd.h>
static int charPageOrder[] = {4, 8, 7, 5, 6, 0, 1, 2, 3};
static int charPageOrder[] = {4, 9, 8, 7, 5, 6, 0, 1, 2, 3};
static int metalXpos = 0;
static int currentCharacterRendered = 0;
@ -58,7 +59,9 @@ void PhotoStudio::getMaxChars() {
} else {
// Characters
const int highlightedGame = char_highlightedGame[currentCharNum];
if (charPageOrder[highlightedGame] == 8) {
if (charPageOrder[highlightedGame] == 9) {
import_totalCharacters = 0;
} else if (charPageOrder[highlightedGame] == 8) {
import_totalCharacters = 0;
} else if (charPageOrder[highlightedGame] == 7) {
import_totalCharacters = 1;
@ -115,6 +118,8 @@ const char* PhotoStudio::import_characterName(void) const {
return jfgCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 8:
return conkerCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 9:
return banjokCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
}
return "null";
}
@ -176,6 +181,17 @@ const char* PhotoStudio::import_characterFileName(void) const {
case 3:
return conkerCharacterFileNamesWinter[importCharacterList_cursorPosition[currentCharNum]];
}
case 9:
switch (seasonNo[currentCharNum]) {
case 0:
return banjokCharacterFileNamesSpring[importCharacterList_cursorPosition[currentCharNum]];
case 1:
return banjokCharacterFileNamesSummer[importCharacterList_cursorPosition[currentCharNum]];
case 2:
return banjokCharacterFileNamesFall[importCharacterList_cursorPosition[currentCharNum]];
case 3:
return banjokCharacterFileNamesWinter[importCharacterList_cursorPosition[currentCharNum]];
}
}
return "null";
}
@ -210,6 +226,8 @@ const char* PhotoStudio::import_characterNameDisplay(void) const {
return jfgCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 8:
return conkerCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
case 9:
return banjokCharacterNames[importCharacterList_cursorPosition[currentCharNum]];
}
return "null";
}
@ -382,6 +400,9 @@ void PhotoStudio::Draw(void) const {
// Game name
switch (charPageOrder[char_highlightedGame[currentCharNum]]) {
case 9:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Banjo-Kazooie series");
break;
case 8:
Gui::DrawStringCentered(0, 8, 0.50, WHITE, "Conker series");
break;
@ -429,7 +450,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]] == 8) {
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);
Gui::DrawString(64, i2, 0.65, WHITE, banjokCharacterNames[i]);
} else if (charPageOrder[char_highlightedGame[currentCharNum]] == 8) {
if (i >= 1) break;
GFX::DrawSprite(sprites_item_button_idx, 16, i2-20);
GFX::DrawSprite((conkerCharacterGenders[i] ? sprites_icon_male_idx : sprites_icon_female_idx), 12, i2-8);
@ -695,7 +721,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] = 8;
if (char_highlightedGame[currentCharNum] < 0) char_highlightedGame[currentCharNum] = 9;
getMaxChars();
renderTop = true;
}
@ -703,7 +729,7 @@ void PhotoStudio::Logic(u32 hDown, u32 hHeld, touchPosition touch) {
if (hDown & KEY_DRIGHT) {
sndHighlight();
char_highlightedGame[currentCharNum]++;
if (char_highlightedGame[currentCharNum] > 8) char_highlightedGame[currentCharNum] = 0;
if (char_highlightedGame[currentCharNum] > 9) char_highlightedGame[currentCharNum] = 0;
getMaxChars();
renderTop = true;
}