From 5d02d81af899ea484b7732fc7f38d5099f01750c Mon Sep 17 00:00:00 2001
From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com>
Date: Sat, 18 Feb 2023 14:36:31 +0530
Subject: [PATCH] changelog view
---
src/gui/VersionGui.hx | 41 ++++++++++++++++++++++++-----------------
1 file changed, 24 insertions(+), 17 deletions(-)
diff --git a/src/gui/VersionGui.hx b/src/gui/VersionGui.hx
index b31e4261..e2c7b9e4 100644
--- a/src/gui/VersionGui.hx
+++ b/src/gui/VersionGui.hx
@@ -1,5 +1,6 @@
package gui;
+import src.Http;
import src.MarbleGame;
import hxd.res.BitmapFont;
import h3d.Vector;
@@ -22,17 +23,6 @@ class VersionGui extends GuiImage {
return [normal, hover, pressed];
}
- var noButton = new GuiButton(loadButtonImages("data/ui/loading/cancel"));
- noButton.position = new Vector(400, 370);
- noButton.extent = new Vector(88, 41);
- noButton.vertSizing = Top;
- noButton.accelerator = hxd.Key.ESCAPE;
- noButton.gamepadAccelerator = ["B"];
- noButton.pressedAction = (sender) -> {
- MarbleGame.canvas.popDialog(this);
- }
- this.addChild(noButton);
-
var dlButton = new GuiButton(loadButtonImages("data/ui/motd/ok"));
dlButton.position = new Vector(500, 370);
dlButton.extent = new Vector(88, 41);
@@ -43,14 +33,15 @@ class VersionGui extends GuiImage {
this.addChild(dlButton);
var scrollCtrl = new GuiScrollCtrl(ResourceLoader.getResource("data/ui/common/philscroll.png", ResourceLoader.getImage, this.imageResources).toTile());
- scrollCtrl.position = new Vector(31, 10);
- scrollCtrl.extent = new Vector(568, 337);
+ scrollCtrl.position = new Vector(31, 30);
+ scrollCtrl.extent = new Vector(568, 317);
this.addChild(scrollCtrl);
var arial14fontdata = ResourceLoader.getFileEntry("data/font/arial.fnt");
var arial14b = new BitmapFont(arial14fontdata.entry);
@:privateAccess arial14b.loader = ResourceLoader.loader;
var arial14 = arial14b.toSdfFont(cast 14 * Settings.uiScale, MultiChannel);
+ var arial16 = arial14b.toSdfFont(cast 14 * Settings.uiScale, MultiChannel);
var markerFelt32fontdata = ResourceLoader.getFileEntry("data/font/MarkerFelt.fnt");
var markerFelt32b = new BitmapFont(markerFelt32fontdata.entry);
@@ -74,12 +65,28 @@ class VersionGui extends GuiImage {
}
}
- var changelogContent = new GuiMLText(arial14, mlFontLoader);
- changelogContent.position = new Vector(0, 20);
- changelogContent.extent = new Vector(566, 81);
+ var changelogContent = new GuiMLText(markerFelt18, mlFontLoader);
+ changelogContent.position = new Vector(0, 0);
+ changelogContent.extent = new Vector(566, 317);
changelogContent.text.textColor = 0;
changelogContent.scrollable = true;
- changelogContent.text.text = "CHNAGELOG";
+ changelogContent.text.text = "Loading changelog, please wait.
";
+ Http.get("https://raw.githubusercontent.com/RandomityGuy/MBHaxe/master/CHANGELOG.md", (res) -> {
+ var mdtext = res.toString();
+ var res = "";
+ changelogContent.text.text = "";
+ for (line in mdtext.split("\n")) {
+ if (StringTools.startsWith(line, "#")) {
+ line = StringTools.replace(line, "#", "");
+ line = '' + line + "";
+ }
+ res += line + "
";
+ }
+ changelogContent.text.text += res;
+ scrollCtrl.setScrollMax(changelogContent.text.textHeight);
+ }, (e) -> {
+ changelogContent.text.text = "Failed to fetch changelog.";
+ });
scrollCtrl.addChild(changelogContent);
}
}