Added some pretty (arbitrary) collors to the archipelago log

This commit is contained in:
Jerom Venneker
2025-05-27 21:28:19 +02:00
parent dbf8503369
commit 36cf22c196
2 changed files with 43 additions and 5 deletions

View File

@@ -113,8 +113,19 @@ bool ArchipelagoClient::StartClient() {
}
});
apClient->set_print_json_handler([&](const std::list<APClient::TextNode>& nodes) {
std::string text = apClient->render_json(nodes, APClient::RenderFormat::TEXT);
apClient->set_print_json_handler([&](const APClient::PrintJSONArgs& arg) {
std::string tag = "[" + arg.type + "] ";
const int slot = apClient->get_player_number();
if(arg.type == "ItemSend") {
if((*arg.item).player == slot) {
tag = "[Found] ";
} else if (*arg.receiving == slot ) {
tag = "[Received] ";
}
}
std::string text = tag + apClient->render_json(arg.data, APClient::RenderFormat::TEXT);
ArchipelagoConsole_SendMessage(text.c_str(), false);
});
@@ -214,7 +225,7 @@ void ArchipelagoClient::OnItemReceived(const ApItem apItem) {
return;
}
std::string logMessage = "[Log] Recieved " + apItem.itemName;
std::string logMessage = "[LOG] Recieved " + apItem.itemName;
ArchipelagoConsole_SendMessage(logMessage.c_str(), true);
// add item to the queue
@@ -224,12 +235,12 @@ void ArchipelagoClient::OnItemReceived(const ApItem apItem) {
void ArchipelagoClient::QueueItem(const ApItem item) {
if(item.index < gSaveContext.ship.quest.data.archipelago.lastReceivedItemIndex) {
// Skip queueing any items we already have
std::string logMessage = "[Log] Skipping giving " + item.itemName + ". We recieved this previously.";
std::string logMessage = "[LOG] Skipping giving " + item.itemName + ". We recieved this previously.";
ArchipelagoConsole_SendMessage(logMessage.c_str(), true);
return;
}
std::string logMessage = "[Log] Giving " + item.itemName;
std::string logMessage = "[LOG] Giving " + item.itemName;
ArchipelagoConsole_SendMessage(logMessage.c_str(), true);
const RandomizerGet RG = Rando::StaticData::itemNameToEnum[item.itemName];
if(RG == RG_NONE) {

View File

@@ -42,6 +42,33 @@ void ArchipelagoConsoleWindow::DrawElement() {
} else if (strstr(item, "[LOG]")) {
color = ImVec4(0.7f, 0.7f, 1.0f, 1.0f);
hasColor = true;
} else if (strstr(item, "[Found]")) {
color = ImVec4(0.24f, 0.64f, 0.69f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Received]")) {
color = ImVec4(0.18f, 0.76f, 0.42f, 1.00f);
hasColor = true;
} else if (strstr(item, "[ItemCheat]")) {
color = ImVec4(0.97f, 0.26f, 0.26f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Hint]")) {
color = ImVec4(0.89f, 0.45f, 1.00f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Join]")) {
color = ImVec4(0.00f, 0.80f, 0.11f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Part]")) {
color = ImVec4(1.00f, 0.01f, 0.01f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Goal]")) {
color = ImVec4(0.00f, 0.70f, 0.21f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Release]")) {
color = ImVec4(0.51f, 0.21f, 0.61f, 1.00f);
hasColor = true;
} else if (strstr(item, "[Collect]")) {
color = ImVec4(0.51f, 0.21f, 0.61f, 1.00f);
hasColor = true;
}
if (hasColor) {
ImGui::PushStyleColor(ImGuiCol_Text, color);