summaryrefslogtreecommitdiff
path: root/mm/2s2h/BenGui/BenMenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mm/2s2h/BenGui/BenMenu.cpp')
-rw-r--r--mm/2s2h/BenGui/BenMenu.cpp35
1 files changed, 25 insertions, 10 deletions
diff --git a/mm/2s2h/BenGui/BenMenu.cpp b/mm/2s2h/BenGui/BenMenu.cpp
index 55e2929c6..b6178333f 100644
--- a/mm/2s2h/BenGui/BenMenu.cpp
+++ b/mm/2s2h/BenGui/BenMenu.cpp
@@ -261,6 +261,7 @@ std::vector<std::string> contributors = {
"cplaster",
"justawayofthesamurai",
"verbes4",
+ "ammar sadaoui",
};
void BenMenu::AddSettings() {
@@ -329,21 +330,35 @@ void BenMenu::AddSettings() {
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.0f, 0.5f, 0.5f, 1.0f));
ImGui::SeparatorText("Thank You");
ImGui::PopStyleColor();
-
- ImGui::TextWrapped("Special thanks to our contributors, playtesters, artists, moderators, helpers, and "
- "everyone in the larger decomp & N64 communities who make this project possible.\n\n");
+ ImGui::SameLine();
ImTextureID heartTextureId = Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(
(const char*)gQuestIconHeartContainer2Tex);
ImGui::Image(heartTextureId, ImVec2(25.0f, 25.0f));
- ImGui::SameLine();
+ ImGui::TextWrapped("Special thanks to our contributors, playtesters, artists, moderators, helpers, and "
+ "everyone in the larger decomp & N64 communities who make this project possible.\n\n");
- static u64 lastTime = 0;
- static std::string contributor = "";
- if (GetUnixTimestamp() - lastTime > 5000) {
- lastTime = GetUnixTimestamp();
- contributor = contributors[Ship_Random(0, contributors.size() - 1)];
+ // Draw auto scrolling list of contributors in columns
+ ImGui::SetNextWindowSize(ImVec2(0.0f, ImGui::GetMainViewport()->WorkSize.y / 3));
+ ImGui::BeginChild("contributors");
+ static double scrollSpeed = 1.5f * (ImGui::GetFontSize() / 1000.0f); // Lines to scroll per second
+ double scrollPosition = fmod(GetUnixTimestamp() * scrollSpeed, ImGui::GetScrollMaxY() + 1.0f);
+ ImGui::SetScrollY(scrollPosition);
+
+ ImGui::Dummy(ImVec2(0.0f, ImGui::GetFontSize()));
+ static int numColumns = 2; // Two columns seem to work best. Some names are too long for more on lower res
+ for (int column = 0; column < numColumns; column++) {
+ if (column > 0)
+ ImGui::SameLine();
+
+ ImGui::BeginGroup();
+ for (int i = column; i < contributors.size(); i += numColumns) {
+ ImGui::Text("%s", contributors.at(i).c_str());
+ }
+ ImGui::EndGroup();
}
- ImGui::Text("%s", contributor.c_str());
+ ImGui::Dummy(ImVec2(0.0f, ImGui::GetFontSize()));
+ ImGui::EndChild();
+
ImGui::EndChild();
});