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) { apClient->set_print_json_handler([&](const APClient::PrintJSONArgs& arg) {
std::string text = apClient->render_json(nodes, APClient::RenderFormat::TEXT); 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); ArchipelagoConsole_SendMessage(text.c_str(), false);
}); });
@@ -214,7 +225,7 @@ void ArchipelagoClient::OnItemReceived(const ApItem apItem) {
return; return;
} }
std::string logMessage = "[Log] Recieved " + apItem.itemName; std::string logMessage = "[LOG] Recieved " + apItem.itemName;
ArchipelagoConsole_SendMessage(logMessage.c_str(), true); ArchipelagoConsole_SendMessage(logMessage.c_str(), true);
// add item to the queue // add item to the queue
@@ -224,12 +235,12 @@ void ArchipelagoClient::OnItemReceived(const ApItem apItem) {
void ArchipelagoClient::QueueItem(const ApItem item) { void ArchipelagoClient::QueueItem(const ApItem item) {
if(item.index < gSaveContext.ship.quest.data.archipelago.lastReceivedItemIndex) { if(item.index < gSaveContext.ship.quest.data.archipelago.lastReceivedItemIndex) {
// Skip queueing any items we already have // 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); ArchipelagoConsole_SendMessage(logMessage.c_str(), true);
return; return;
} }
std::string logMessage = "[Log] Giving " + item.itemName; std::string logMessage = "[LOG] Giving " + item.itemName;
ArchipelagoConsole_SendMessage(logMessage.c_str(), true); ArchipelagoConsole_SendMessage(logMessage.c_str(), true);
const RandomizerGet RG = Rando::StaticData::itemNameToEnum[item.itemName]; const RandomizerGet RG = Rando::StaticData::itemNameToEnum[item.itemName];
if(RG == RG_NONE) { if(RG == RG_NONE) {

View File

@@ -42,6 +42,33 @@ void ArchipelagoConsoleWindow::DrawElement() {
} else if (strstr(item, "[LOG]")) { } else if (strstr(item, "[LOG]")) {
color = ImVec4(0.7f, 0.7f, 1.0f, 1.0f); color = ImVec4(0.7f, 0.7f, 1.0f, 1.0f);
hasColor = true; 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) { if (hasColor) {
ImGui::PushStyleColor(ImGuiCol_Text, color); ImGui::PushStyleColor(ImGuiCol_Text, color);