add version checking and better changelog

This commit is contained in:
RandomityGuy 2023-07-15 21:16:00 +05:30
parent 23241ad258
commit 0a839d8f8d
5 changed files with 31 additions and 77 deletions

View file

@ -1,74 +1,10 @@
# 1.5.2
- Updated Marbleland integration link to the new site.
# 1.5.1
This update fixes the following bugs:
- Fixed a bug concerning moving platform collisions.
- Made moving platforms rewind correctly in case of traplaunches.
# 1.5.0
This update brings the following big changes:
- Added Rewind capabilities. Open options to configure it.
- Added capability to play locally installed custom levels. Install your customs in platinum/data/missions.
- Improved traplaunches, now they should be much more easier to do.
- Buffed nuke a bit, hold jump key to make it blast much stronger.
- Minor physics improvements.
- Minor performance improvements.
# 1.4.0
This update adds all the playable MBG, MBP, MBU custom levels via Marbleland integration. Play the entire custom level archive without manually installing with, with a single click.
- Added controller support. (Thanks thearst3rd)
- Improved replay saving flow.
- Improved marble physics a bit.
- Cleaned up some UI.
- Fixed collision detection bugs.
- Fixed various graphical bugs.
- Fixed item hitboxes being too small.
# 1.3.3
This update addresses the following issues:
- FOV is now based on horizontal FOV instead of vertical, matching with- original MB.
- Fixed the marble getting stuck in the corners.
- Fixed black screen on opening the game for the first time on MacOS
# 1.3.2
This is the first build of MBHaxe Platinum that has Mac support.
- MBU interior shaders now match more closely to those of MBU in Xbox.
- Added Console for debug purposes. Press Tilde ~ to bring it up.
- Added replay browser for native.
- Reduced lag caused by end pad.
- Fixed inactive button hover sounds.
- Fixed OOB animation timings.
- Added HighDPI/Retina support.
- Fixed the color bugs regarding text input.
- Minor graphical changes to match original.
- Minor performance and physics improvements.
- Fixed tornado rendering.
# 1.3.1
This release fixes a lot of bugs that were reported and adds in minor improvements:
- Fixed Pad animations not working
- Fixed bugs relating to powerup pickup on respawn.
- Fixed marble not using the hitbox of the rotated hitbox for item pickups.
- Marble finish animation now matches more closely with the original.
- Fixed camera keys not working.
- Added keyboard shortcuts to certain buttons on certain dialog boxes.
- Timer now becomes green on finishing, to match original.
- Fixed double click sound on selecting level category.
- Hypercube now uses MBG gameplay logic.
- Added Time Travel Bonus messages to HUD.
- Fixed lag caused by GJK/Startpad/Endpad.
- Fixed being able to press the end game buttons while typing the name. The- input box will be focused.
- Fixed option sliders not updating values
# 1.3.0
- Added Marble Blast Ultra levels as per Platinum.
- Added Ultra Marbles as per Platinum and their shaders.
- Added shaders for Ultra levels closely matching original MBU. (This may- lag mobile devices)
- Fixed lot of marble physics bugs, they should now be smoother.
- Minor performance improvements.
- Added restart button to touch controls.
# 1.2.0
- Implemented most Marble Blast Platinum 1.7.42 (except Ultra)
- Marble reflections
- Optimized resource loading and performance
# 1.0.0
Initial Release of Marble Blast Ultra Haxe Port.
Differences from OpenMBU/MBU Xbox:
- No Multiplayer support, for the forseeable future.
- No leaderboards support yet, not until OpenMBU gets leaderboards.
- Replay recording and watching support, even for Gem Hunt.
- Rewind TAS support.
- Minor shader differences.
- Options may differ slightly.
Please report any bugs.

View file

@ -1,5 +1,6 @@
package;
import gui.VersionGui;
import gui.PresentsGui;
import src.Debug;
import src.Marbleland;
@ -93,6 +94,7 @@ class Main extends hxd.App {
marbleGame.startPreviewWorld(() -> {
marbleGame.setPreviewMission('urban', () -> {
MarbleGame.canvas.setContent(new MainMenuGui());
VersionGui.checkVersion();
});
});
}, 100);

View file

@ -32,9 +32,10 @@ import src.PreviewWorld;
@:publicFields
class MarbleGame {
static var canvas:Canvas;
static var instance:MarbleGame;
static var currentVersion = "1.0.0";
var world:MarbleWorld;
var previewWorld:PreviewWorld;

View file

@ -11,6 +11,7 @@ import src.Util;
import src.Replay;
import src.Marbleland;
import src.MissionList;
import src.MarbleGame;
class MainMenuGui extends GuiImage {
var innerCtrl:GuiControl;
@ -135,7 +136,7 @@ class MainMenuGui extends GuiImage {
versionText.vertSizing = Bottom;
versionText.position = new Vector(502, 61);
versionText.extent = new Vector(97, 72);
versionText.text.text = "<p align=\"center\">1.0.0</p>";
versionText.text.text = '<p align=\"center\">${MarbleGame.currentVersion}</p>';
versionText.text.filter = new DropShadow(1.414, 0.785, 0x3333337F, 1, 0, 0.7, 1, true);
this.addChild(versionText);

View file

@ -111,7 +111,7 @@ class VersionGui extends GuiImage {
wndTxt.scrollable = true;
textCtrl.addChild(wndTxt);
Http.get("https://raw.githubusercontent.com/RandomityGuy/MBHaxe/master/CHANGELOG.md", (res) -> {
Http.get("https://raw.githubusercontent.com/RandomityGuy/MBHaxe/mbu-port/CHANGELOG.md", (res) -> {
var mdtext = res.toString();
var res = "";
wndTxt.text.text = "";
@ -132,6 +132,20 @@ class VersionGui extends GuiImage {
});
}
public static function checkVersion() {
Http.get("https://raw.githubusercontent.com/RandomityGuy/MBHaxe/mbu-port/CHANGELOG.md", (res) -> {
var mdtext = res.toString();
var firstline = mdtext.split("\n")[0];
firstline = StringTools.replace(firstline, "#", "");
firstline = StringTools.trim(firstline);
if (firstline != MarbleGame.currentVersion) {
// We need to update lol
var mbo = new MessageBoxOkDlg("New version available! Please update your game.");
MarbleGame.canvas.pushDialog(mbo);
}
}, (e) -> {});
}
override function onResize(width:Int, height:Int) {
var offsetX = (width - 1280) / 2;
var offsetY = (height - 720) / 2;