mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-23 06:02:08 -05:00
initial proof of concept
This commit is contained in:
parent
c933d521c3
commit
55f71457d8
@ -11,7 +11,11 @@ typedef enum {
|
|||||||
TEXT_ALTAR_CHILD = 0x7040,
|
TEXT_ALTAR_CHILD = 0x7040,
|
||||||
TEXT_ALTAR_ADULT = 0x7088,
|
TEXT_ALTAR_ADULT = 0x7088,
|
||||||
TEXT_GANONDORF = 0x70CC,
|
TEXT_GANONDORF = 0x70CC,
|
||||||
TEXT_GANONDORF_NOHINT = 0x70CD
|
TEXT_GANONDORF_NOHINT = 0x70CD,
|
||||||
|
TEXT_BLUE_RUPEE = 0xCC,
|
||||||
|
TEXT_RED_RUPEE = 0xF0,
|
||||||
|
TEXT_PURPLE_RUPEE = 0xF1,
|
||||||
|
TEXT_HUGE_RUPEE = 0xF2
|
||||||
} TextIDs;
|
} TextIDs;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -27,6 +27,7 @@ u8 generated;
|
|||||||
const std::string Randomizer::getItemMessageTableID = "Randomizer";
|
const std::string Randomizer::getItemMessageTableID = "Randomizer";
|
||||||
const std::string Randomizer::hintMessageTableID = "RandomizerHints";
|
const std::string Randomizer::hintMessageTableID = "RandomizerHints";
|
||||||
const std::string Randomizer::scrubMessageTableID = "RandomizerScrubs";
|
const std::string Randomizer::scrubMessageTableID = "RandomizerScrubs";
|
||||||
|
const std::string Randomizer::rupeeMessageTableID = "RandomizerRupees";
|
||||||
|
|
||||||
Randomizer::Randomizer() {
|
Randomizer::Randomizer() {
|
||||||
Sprite bowSprite = { dgFairyBowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0 };
|
Sprite bowSprite = { dgFairyBowIconTex, 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b, 0 };
|
||||||
@ -4620,6 +4621,35 @@ void CreateScrubMessages() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CreateRupeeMessages() {
|
||||||
|
CustomMessageManager* customMessageManager = CustomMessageManager::Instance;
|
||||||
|
customMessageManager->AddCustomMessageTable(Randomizer::rupeeMessageTableID);
|
||||||
|
const std::vector<u8> rupees = { TEXT_BLUE_RUPEE, TEXT_RED_RUPEE, TEXT_PURPLE_RUPEE, TEXT_HUGE_RUPEE };
|
||||||
|
std::string rupeeText = " ";
|
||||||
|
for (u8 rupee : rupees) {
|
||||||
|
switch (rupee) {
|
||||||
|
case TEXT_BLUE_RUPEE:
|
||||||
|
rupeeText = "\x05\x03 5 BitCoin\x05\x00 ";
|
||||||
|
break;
|
||||||
|
case TEXT_RED_RUPEE:
|
||||||
|
rupeeText = "\x05\x01 20 Moneys\x05\x00 ";
|
||||||
|
break;
|
||||||
|
case TEXT_PURPLE_RUPEE:
|
||||||
|
rupeeText = "\x05\x05 50 Gummybears\x05\x00 ";
|
||||||
|
break;
|
||||||
|
case TEXT_HUGE_RUPEE:
|
||||||
|
rupeeText = "\x05\x06 200 Cornflakes\x05\x00 ";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
customMessageManager->CreateMessage(Randomizer::rupeeMessageTableID, rupee,
|
||||||
|
{ TEXTBOX_TYPE_BLACK, TEXTBOX_POS_BOTTOM,
|
||||||
|
"You found" + rupeeText + "!",
|
||||||
|
"You found" + rupeeText + "!",
|
||||||
|
"You found" + rupeeText + "!"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Randomizer::CreateCustomMessages() {
|
void Randomizer::CreateCustomMessages() {
|
||||||
// RANDTODO: Translate into french and german and replace GIMESSAGE_UNTRANSLATED
|
// RANDTODO: Translate into french and german and replace GIMESSAGE_UNTRANSLATED
|
||||||
// with GIMESSAGE(getItemID, itemID, english, german, french).
|
// with GIMESSAGE(getItemID, itemID, english, german, french).
|
||||||
@ -4695,6 +4725,7 @@ void Randomizer::CreateCustomMessages() {
|
|||||||
};
|
};
|
||||||
CreateGetItemMessages(getItemMessages);
|
CreateGetItemMessages(getItemMessages);
|
||||||
CreateScrubMessages();
|
CreateScrubMessages();
|
||||||
|
CreateRupeeMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitRando() {
|
void InitRando() {
|
||||||
|
@ -29,6 +29,7 @@ class Randomizer {
|
|||||||
static const std::string getItemMessageTableID;
|
static const std::string getItemMessageTableID;
|
||||||
static const std::string hintMessageTableID;
|
static const std::string hintMessageTableID;
|
||||||
static const std::string scrubMessageTableID;
|
static const std::string scrubMessageTableID;
|
||||||
|
static const std::string rupeeMessageTableID;
|
||||||
|
|
||||||
static Sprite* GetSeedTexture(uint8_t index);
|
static Sprite* GetSeedTexture(uint8_t index);
|
||||||
s16 GetItemModelFromId(s16 itemId);
|
s16 GetItemModelFromId(s16 itemId);
|
||||||
|
@ -1447,6 +1447,10 @@ extern "C" CustomMessageEntry Randomizer_GetScrubMessage(u16 scrubTextId) {
|
|||||||
return CustomMessageManager::Instance->RetrieveMessage(Randomizer::scrubMessageTableID, price);
|
return CustomMessageManager::Instance->RetrieveMessage(Randomizer::scrubMessageTableID, price);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" CustomMessageEntry Randomizer_GetRupeeMessage(u16 rupeeTextId) {
|
||||||
|
return CustomMessageManager::Instance->RetrieveMessage(Randomizer::rupeeMessageTableID, rupeeTextId);
|
||||||
|
}
|
||||||
|
|
||||||
extern "C" CustomMessageEntry Randomizer_GetAltarMessage() {
|
extern "C" CustomMessageEntry Randomizer_GetAltarMessage() {
|
||||||
return (LINK_IS_ADULT)
|
return (LINK_IS_ADULT)
|
||||||
? CustomMessageManager::Instance->RetrieveMessage(Randomizer::hintMessageTableID, TEXT_ALTAR_ADULT)
|
? CustomMessageManager::Instance->RetrieveMessage(Randomizer::hintMessageTableID, TEXT_ALTAR_ADULT)
|
||||||
@ -1540,6 +1544,9 @@ extern "C" int CustomMessage_RetrieveIfExists(GlobalContext* globalCtx) {
|
|||||||
}
|
}
|
||||||
} else if (textId == TEXT_SCRUB_POH || textId == TEXT_SCRUB_STICK_UPGRADE || textId == TEXT_SCRUB_NUT_UPGRADE) {
|
} else if (textId == TEXT_SCRUB_POH || textId == TEXT_SCRUB_STICK_UPGRADE || textId == TEXT_SCRUB_NUT_UPGRADE) {
|
||||||
messageEntry = Randomizer_GetScrubMessage(textId);
|
messageEntry = Randomizer_GetScrubMessage(textId);
|
||||||
|
} else if (textId == TEXT_BLUE_RUPEE || textId == TEXT_RED_RUPEE || textId == TEXT_PURPLE_RUPEE ||
|
||||||
|
textId == TEXT_HUGE_RUPEE) {
|
||||||
|
messageEntry = Randomizer_GetRupeeMessage(textId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (textId == TEXT_GS_NO_FREEZE || textId == TEXT_GS_FREEZE) {
|
if (textId == TEXT_GS_NO_FREEZE || textId == TEXT_GS_FREEZE) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user