diff --git a/src/Marbleland.hx b/src/Marbleland.hx index 3a8d368b..10a2e5a0 100644 --- a/src/Marbleland.hx +++ b/src/Marbleland.hx @@ -3,11 +3,11 @@ package src; import haxe.io.BytesInput; import haxe.zip.Reader; import hxd.res.Image; -import hxd.BitmapData; import haxe.Json; import src.Mission; import src.Http; import src.ResourceLoader; +import src.Console; class Marbleland { public static var goldMissions = []; @@ -17,12 +17,15 @@ class Marbleland { public static function init() { Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_gold.json', (b) -> { parseMissionList(b.toString(), "gold"); + Console.log('Loaded gold customs: ${goldMissions.length}'); }, (e) -> {}); Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_ultra.json', (b) -> { parseMissionList(b.toString(), "ultra"); + Console.log('Loaded ultra customs: ${ultraMissions.length}'); }, (e) -> {}); Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_platinum.json', (b) -> { parseMissionList(b.toString(), "platinum"); + Console.log('Loaded platinum customs: ${platinumMissions.length}'); }, (e) -> {}); } diff --git a/src/collision/BVHTree.hx b/src/collision/BVHTree.hx index 145fd756..013021b3 100644 --- a/src/collision/BVHTree.hx +++ b/src/collision/BVHTree.hx @@ -27,7 +27,7 @@ class BVHTree { public function new() {} - function update() { + public function update() { var invalidNodes = []; this.traverse(node -> { if (node.isLeaf) { diff --git a/src/gui/PlayGui.hx b/src/gui/PlayGui.hx index 72d66e0f..d3ae5c40 100644 --- a/src/gui/PlayGui.hx +++ b/src/gui/PlayGui.hx @@ -136,7 +136,7 @@ class PlayGui { timerNumbers.push(new GuiAnim(numberTiles)); } - for (i in 0...4) { + for (i in 0...6) { gemCountNumbers.push(new GuiAnim(numberTiles)); } @@ -277,21 +277,29 @@ class PlayGui { gemCountNumbers[1].position = new Vector(54, 0); gemCountNumbers[1].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(75, 0); - gemCountSlash.extent = new Vector(43, 55); - - gemCountNumbers[2].position = new Vector(96, 0); + gemCountNumbers[2].position = new Vector(78, 0); 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].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[1]); - playGuiCtrl.addChild(gemCountSlash); playGuiCtrl.addChild(gemCountNumbers[2]); + playGuiCtrl.addChild(gemCountSlash); playGuiCtrl.addChild(gemCountNumbers[3]); + playGuiCtrl.addChild(gemCountNumbers[4]); + playGuiCtrl.addChild(gemCountNumbers[5]); this.gemImageScene = new h3d.scene.Scene(); // var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.Renderer); @@ -576,16 +584,20 @@ class PlayGui { 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 collectedTenths = Math.floor(collected / 10); + var collectedHundredths = Math.floor(collected / 100); + var collectedTenths = Math.floor(collected / 10) % 10; var collectedOnes = collected % 10; - gemCountNumbers[0].anim.currentFrame = collectedTenths; - gemCountNumbers[1].anim.currentFrame = collectedOnes; - gemCountNumbers[2].anim.currentFrame = totalTenths; - gemCountNumbers[3].anim.currentFrame = totalOnes; + gemCountNumbers[0].anim.currentFrame = collectedHundredths; + gemCountNumbers[1].anim.currentFrame = collectedTenths; + gemCountNumbers[2].anim.currentFrame = collectedOnes; + gemCountNumbers[3].anim.currentFrame = totalHundredths; + gemCountNumbers[4].anim.currentFrame = totalTenths; + gemCountNumbers[5].anim.currentFrame = totalOnes; } // 0: default @@ -602,7 +614,7 @@ class PlayGui { var secondsOne = seconds % 10; var secondsTen = (seconds - secondsOne) / 10; var minutesOne = minutes % 10; - var minutesTen = (minutes - minutesOne) / 10; + var minutesTen = ((minutes - minutesOne) / 10) % 10; var hundredthOne = hundredth % 10; var hundredthTen = (hundredth - hundredthOne) / 10; diff --git a/src/gui/PlayMissionGui.hx b/src/gui/PlayMissionGui.hx index 4b77bc6c..e95cb743 100644 --- a/src/gui/PlayMissionGui.hx +++ b/src/gui/PlayMissionGui.hx @@ -782,10 +782,10 @@ class PlayMissionGui extends GuiImage { setCategoryFunc = function(game:String, category:String, ?doRender:Bool = true) { currentList = category == "custom" ? (switch (game) { - case 'gold': Marbleland.goldMissions; - case 'platinum': Marbleland.platinumMissions; - case 'ultra': Marbleland.ultraMissions; - default: MissionList.customMissions; + case 'gold' if (Marbleland.goldMissions.length != 0): Marbleland.goldMissions; + case 'platinum' if (Marbleland.platinumMissions.length != 0): Marbleland.platinumMissions; + case 'ultra' if (Marbleland.ultraMissions.length != 0): Marbleland.ultraMissions; + default: currentList; }) : MissionList.missionList[game][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();