triple digit gem counter

This commit is contained in:
RandomityGuy 2023-02-14 17:24:45 +05:30
parent 7fbf8f26af
commit 4bfd6dd6be
4 changed files with 35 additions and 20 deletions

View file

@ -3,11 +3,11 @@ package src;
import haxe.io.BytesInput; import haxe.io.BytesInput;
import haxe.zip.Reader; import haxe.zip.Reader;
import hxd.res.Image; import hxd.res.Image;
import hxd.BitmapData;
import haxe.Json; import haxe.Json;
import src.Mission; import src.Mission;
import src.Http; import src.Http;
import src.ResourceLoader; import src.ResourceLoader;
import src.Console;
class Marbleland { class Marbleland {
public static var goldMissions = []; public static var goldMissions = [];
@ -17,12 +17,15 @@ class Marbleland {
public static function init() { public static function init() {
Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_gold.json', (b) -> { Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_gold.json', (b) -> {
parseMissionList(b.toString(), "gold"); parseMissionList(b.toString(), "gold");
Console.log('Loaded gold customs: ${goldMissions.length}');
}, (e) -> {}); }, (e) -> {});
Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_ultra.json', (b) -> { Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_ultra.json', (b) -> {
parseMissionList(b.toString(), "ultra"); parseMissionList(b.toString(), "ultra");
Console.log('Loaded ultra customs: ${ultraMissions.length}');
}, (e) -> {}); }, (e) -> {});
Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_platinum.json', (b) -> { Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_platinum.json', (b) -> {
parseMissionList(b.toString(), "platinum"); parseMissionList(b.toString(), "platinum");
Console.log('Loaded platinum customs: ${platinumMissions.length}');
}, (e) -> {}); }, (e) -> {});
} }

View file

@ -27,7 +27,7 @@ class BVHTree<T:IBVHObject> {
public function new() {} public function new() {}
function update() { public function update() {
var invalidNodes = []; var invalidNodes = [];
this.traverse(node -> { this.traverse(node -> {
if (node.isLeaf) { if (node.isLeaf) {

View file

@ -136,7 +136,7 @@ class PlayGui {
timerNumbers.push(new GuiAnim(numberTiles)); timerNumbers.push(new GuiAnim(numberTiles));
} }
for (i in 0...4) { for (i in 0...6) {
gemCountNumbers.push(new GuiAnim(numberTiles)); gemCountNumbers.push(new GuiAnim(numberTiles));
} }
@ -277,21 +277,29 @@ class PlayGui {
gemCountNumbers[1].position = new Vector(54, 0); gemCountNumbers[1].position = new Vector(54, 0);
gemCountNumbers[1].extent = new Vector(43, 55); gemCountNumbers[1].extent = new Vector(43, 55);
gemCountSlash = new GuiImage(ResourceLoader.getResource('data/ui/game/numbers/slash.png', ResourceLoader.getImage, this.imageResources).toTile()); gemCountNumbers[2].position = new Vector(78, 0);
gemCountSlash.position = new Vector(75, 0);
gemCountSlash.extent = new Vector(43, 55);
gemCountNumbers[2].position = new Vector(96, 0);
gemCountNumbers[2].extent = new Vector(43, 55); gemCountNumbers[2].extent = new Vector(43, 55);
gemCountSlash = new GuiImage(ResourceLoader.getResource('data/ui/game/numbers/slash.png', ResourceLoader.getImage, this.imageResources).toTile());
gemCountSlash.position = new Vector(99, 0);
gemCountSlash.extent = new Vector(43, 55);
gemCountNumbers[3].position = new Vector(120, 0); gemCountNumbers[3].position = new Vector(120, 0);
gemCountNumbers[3].extent = new Vector(43, 55); gemCountNumbers[3].extent = new Vector(43, 55);
gemCountNumbers[4].position = new Vector(144, 0);
gemCountNumbers[4].extent = new Vector(43, 55);
gemCountNumbers[5].position = new Vector(168, 0);
gemCountNumbers[5].extent = new Vector(43, 55);
playGuiCtrl.addChild(gemCountNumbers[0]); playGuiCtrl.addChild(gemCountNumbers[0]);
playGuiCtrl.addChild(gemCountNumbers[1]); playGuiCtrl.addChild(gemCountNumbers[1]);
playGuiCtrl.addChild(gemCountSlash);
playGuiCtrl.addChild(gemCountNumbers[2]); playGuiCtrl.addChild(gemCountNumbers[2]);
playGuiCtrl.addChild(gemCountSlash);
playGuiCtrl.addChild(gemCountNumbers[3]); playGuiCtrl.addChild(gemCountNumbers[3]);
playGuiCtrl.addChild(gemCountNumbers[4]);
playGuiCtrl.addChild(gemCountNumbers[5]);
this.gemImageScene = new h3d.scene.Scene(); this.gemImageScene = new h3d.scene.Scene();
// var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.Renderer); // var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.Renderer);
@ -576,16 +584,20 @@ class PlayGui {
gemImageSceneTargetBitmap.visible = true; gemImageSceneTargetBitmap.visible = true;
} }
var totalTenths = Math.floor(total / 10); var totalHundredths = Math.floor(total / 100);
var totalTenths = Math.floor(total / 10) % 10;
var totalOnes = total % 10; var totalOnes = total % 10;
var collectedTenths = Math.floor(collected / 10); var collectedHundredths = Math.floor(collected / 100);
var collectedTenths = Math.floor(collected / 10) % 10;
var collectedOnes = collected % 10; var collectedOnes = collected % 10;
gemCountNumbers[0].anim.currentFrame = collectedTenths; gemCountNumbers[0].anim.currentFrame = collectedHundredths;
gemCountNumbers[1].anim.currentFrame = collectedOnes; gemCountNumbers[1].anim.currentFrame = collectedTenths;
gemCountNumbers[2].anim.currentFrame = totalTenths; gemCountNumbers[2].anim.currentFrame = collectedOnes;
gemCountNumbers[3].anim.currentFrame = totalOnes; gemCountNumbers[3].anim.currentFrame = totalHundredths;
gemCountNumbers[4].anim.currentFrame = totalTenths;
gemCountNumbers[5].anim.currentFrame = totalOnes;
} }
// 0: default // 0: default
@ -602,7 +614,7 @@ class PlayGui {
var secondsOne = seconds % 10; var secondsOne = seconds % 10;
var secondsTen = (seconds - secondsOne) / 10; var secondsTen = (seconds - secondsOne) / 10;
var minutesOne = minutes % 10; var minutesOne = minutes % 10;
var minutesTen = (minutes - minutesOne) / 10; var minutesTen = ((minutes - minutesOne) / 10) % 10;
var hundredthOne = hundredth % 10; var hundredthOne = hundredth % 10;
var hundredthTen = (hundredth - hundredthOne) / 10; var hundredthTen = (hundredth - hundredthOne) / 10;

View file

@ -782,10 +782,10 @@ class PlayMissionGui extends GuiImage {
setCategoryFunc = function(game:String, category:String, ?doRender:Bool = true) { setCategoryFunc = function(game:String, category:String, ?doRender:Bool = true) {
currentList = category == "custom" ? (switch (game) { currentList = category == "custom" ? (switch (game) {
case 'gold': Marbleland.goldMissions; case 'gold' if (Marbleland.goldMissions.length != 0): Marbleland.goldMissions;
case 'platinum': Marbleland.platinumMissions; case 'platinum' if (Marbleland.platinumMissions.length != 0): Marbleland.platinumMissions;
case 'ultra': Marbleland.ultraMissions; case 'ultra' if (Marbleland.ultraMissions.length != 0): Marbleland.ultraMissions;
default: MissionList.customMissions; default: currentList;
}) : MissionList.missionList[game][category]; }) : MissionList.missionList[game][category];
@:privateAccess pmDifficulty.anim.frames = loadButtonImages('data/ui/play/difficulty_${category}'); @:privateAccess pmDifficulty.anim.frames = loadButtonImages('data/ui/play/difficulty_${category}');
pmDifficultyMarble.bmp.tile = ResourceLoader.getResource('data/ui/play/marble_${game}.png', ResourceLoader.getImage, this.imageResources).toTile(); pmDifficultyMarble.bmp.tile = ResourceLoader.getResource('data/ui/play/marble_${game}.png', ResourceLoader.getImage, this.imageResources).toTile();