Does some refactoring of rando custom message registration
The goal was less verbosity when adding new get-item messages later.
This commit is contained in:
parent
dca922ade8
commit
a21998c489
|
@ -22,6 +22,15 @@ typedef struct {
|
||||||
std::string french;
|
std::string french;
|
||||||
} CustomMessageEntry;
|
} CustomMessageEntry;
|
||||||
|
|
||||||
|
// Message Entry without the text type and position, useful for when
|
||||||
|
// you need an array of these to loop over for registration
|
||||||
|
// that will all have the same textbox type and position.
|
||||||
|
typedef struct {
|
||||||
|
std::string english;
|
||||||
|
std::string german;
|
||||||
|
std::string french;
|
||||||
|
} CustomMessageMinimal;
|
||||||
|
|
||||||
#define NULL_CUSTOM_MESSAGE \
|
#define NULL_CUSTOM_MESSAGE \
|
||||||
{ (TextBoxType)(-1), (TextBoxPosition)(-1), "", "", "" }
|
{ (TextBoxType)(-1), (TextBoxPosition)(-1), "", "", "" }
|
||||||
|
|
||||||
|
|
|
@ -4767,46 +4767,68 @@ void DrawRandoEditor(bool& open) {
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
GetItemID giid;
|
||||||
|
ItemID iid;
|
||||||
|
std::string english;
|
||||||
|
std::string german;
|
||||||
|
std::string french;
|
||||||
|
} GetItemMessage;
|
||||||
|
|
||||||
void Randomizer::CreateCustomMessages() {
|
void CreateGetItemMessages(std::vector<GetItemMessage> messageEntries) {
|
||||||
CustomMessage* customMessage = CustomMessage::Instance;
|
CustomMessage* customMessage = CustomMessage::Instance;
|
||||||
customMessage->AddCustomMessageTable(Randomizer::getItemMessageTableID);
|
customMessage->AddCustomMessageTable(Randomizer::getItemMessageTableID);
|
||||||
|
for (GetItemMessage messageEntry : messageEntries) {
|
||||||
customMessage->CreateGetItemMessage(Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_BLUE_FIRE, ITEM_BLUE_FIRE,
|
customMessage->CreateGetItemMessage(Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_BLUE_FIRE, ITEM_BLUE_FIRE,
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
||||||
"You got a %rBottle with Blue &Fire%w! Use it to melt Red Ice!", "",
|
messageEntry.english, messageEntry.german,
|
||||||
"" });
|
messageEntry.french });
|
||||||
customMessage->CreateGetItemMessage(Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_BIG_POE, ITEM_BIG_POE,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rBig Poe in a Bottle%w!&Sell it to the Ghost Shop!", "",
|
|
||||||
"" });
|
|
||||||
customMessage->CreateGetItemMessage(
|
|
||||||
Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_BLUE_POTION, ITEM_POTION_BLUE,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rBottle of Blue Potion%w!&Drink it to replenish your&%ghealth%w and %bmagic%w!", "", "" });
|
|
||||||
customMessage->CreateGetItemMessage(
|
|
||||||
Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_FISH, ITEM_FISH,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rFish in a Bottle%w!&It looks fresh and delicious!&They say Jabu-Jabu loves them!", "", "" });
|
|
||||||
customMessage->CreateGetItemMessage(Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_BUGS, ITEM_BUG,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rBug in a Bottle%w!&They love to burrow in&dirt holes!", "",
|
|
||||||
"" });
|
|
||||||
customMessage->CreateGetItemMessage(
|
|
||||||
Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_FAIRY, ITEM_FAIRY,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM, "You got a %rFairy in a Bottle%w!&Use it wisely!", "", "" });
|
|
||||||
customMessage->CreateGetItemMessage(
|
|
||||||
Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_RED_POTION, ITEM_POTION_RED,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rBottle of Red Potion%w!&Drink it to replenish your&%ghealth%w!", "", "" });
|
|
||||||
customMessage->CreateGetItemMessage(
|
|
||||||
Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_GREEN_POTION, ITEM_POTION_GREEN,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rBottle of Green Potion%w!&Drink it to replenish your&%bmagic%w!", "", "" });
|
|
||||||
customMessage->CreateGetItemMessage(
|
|
||||||
Randomizer::getItemMessageTableID, GI_BOTTLE_WITH_POE, ITEM_POE,
|
|
||||||
{ TEXTBOX_TYPE_BLUE, TEXTBOX_POS_BOTTOM,
|
|
||||||
"You got a %rPoe in a Bottle%w!&That creepy Ghost Shop might&be interested in this...", "", "" });
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define GIMESSAGE(giid, iid, english, german, french) \
|
||||||
|
{ giid, iid, english, german, french }
|
||||||
|
|
||||||
|
void Randomizer::CreateCustomMessages() {
|
||||||
|
const std::vector<GetItemMessage> getItemMessages = {
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_BLUE_FIRE, ITEM_BLUE_FIRE,
|
||||||
|
"You got a %rBottle with Blue &Fire%w! Use it to melt Red Ice!",
|
||||||
|
"You got a %rBottle with Blue &Fire%w! Use it to melt Red Ice!",
|
||||||
|
"You got a %rBottle with Blue &Fire%w! Use it to melt Red Ice!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_BIG_POE, ITEM_BIG_POE,
|
||||||
|
"You got a %rBig Poe in a Bottle%w!&Sell it to the Ghost Shop!",
|
||||||
|
"You got a %rBig Poe in a Bottle%w!&Sell it to the Ghost Shop!",
|
||||||
|
"You got a %rBig Poe in a Bottle%w!&Sell it to the Ghost Shop!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_BLUE_POTION, ITEM_POTION_BLUE,
|
||||||
|
"You got a %rBottle of Blue Potion%w!&Drink it to replenish your&%ghealth%w and %bmagic%w!",
|
||||||
|
"You got a %rBottle of Blue Potion%w!&Drink it to replenish your&%ghealth%w and %bmagic%w!",
|
||||||
|
"You got a %rBottle of Blue Potion%w!&Drink it to replenish your&%ghealth%w and %bmagic%w!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_FISH, ITEM_FISH,
|
||||||
|
"You got a %rFish in a Bottle%w!&It looks fresh and delicious!&They say Jabu-Jabu loves them!",
|
||||||
|
"You got a %rFish in a Bottle%w!&It looks fresh and delicious!&They say Jabu-Jabu loves them!",
|
||||||
|
"You got a %rFish in a Bottle%w!&It looks fresh and delicious!&They say Jabu-Jabu loves them!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_BUGS, ITEM_BUG,
|
||||||
|
"You got a %rBug in a Bottle%w!&They love to burrow in&dirt holes!",
|
||||||
|
"You got a %rBug in a Bottle%w!&They love to burrow in&dirt holes!",
|
||||||
|
"You got a %rBug in a Bottle%w!&They love to burrow in&dirt holes!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_FAIRY, ITEM_FAIRY, "You got a %rFairy in a Bottle%w!&Use it wisely!",
|
||||||
|
"You got a %rFairy in a Bottle%w!&Use it wisely!",
|
||||||
|
"You got a %rFairy in a Bottle%w!&Use it wisely!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_RED_POTION, ITEM_POTION_RED,
|
||||||
|
"You got a %rBottle of Red Potion%w!&Drink it to replenish your&%ghealth%w!",
|
||||||
|
"You got a %rBottle of Red Potion%w!&Drink it to replenish your&%ghealth%w!",
|
||||||
|
"You got a %rBottle of Red Potion%w!&Drink it to replenish your&%ghealth%w!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_GREEN_POTION, ITEM_POTION_GREEN,
|
||||||
|
"You got a %rBottle of Green Potion%w!&Drink it to replenish your&%bmagic%w!",
|
||||||
|
"You got a %rBottle of Green Potion%w!&Drink it to replenish your&%bmagic%w!",
|
||||||
|
"You got a %rBottle of Green Potion%w!&Drink it to replenish your&%bmagic%w!"),
|
||||||
|
GIMESSAGE(GI_BOTTLE_WITH_POE, ITEM_POE,
|
||||||
|
"You got a %rPoe in a Bottle%w!&That creepy Ghost Shop might&be interested in this...",
|
||||||
|
"You got a %rPoe in a Bottle%w!&That creepy Ghost Shop might&be interested in this...",
|
||||||
|
"You got a %rPoe in a Bottle%w!&That creepy Ghost Shop might&be interested in this..."),
|
||||||
|
};
|
||||||
|
CreateGetItemMessages(getItemMessages);
|
||||||
|
}
|
||||||
|
|
||||||
void InitRando() {
|
void InitRando() {
|
||||||
SohImGui::AddWindow("Randomizer", "Randomizer Settings", DrawRandoEditor);
|
SohImGui::AddWindow("Randomizer", "Randomizer Settings", DrawRandoEditor);
|
||||||
|
|
Loading…
Reference in New Issue