diff --git a/data/ui/achiev/1.png b/data/ui/achiev/1.png new file mode 100644 index 00000000..86fe397a Binary files /dev/null and b/data/ui/achiev/1.png differ diff --git a/data/ui/achiev/10.png b/data/ui/achiev/10.png new file mode 100644 index 00000000..ba6e72e8 Binary files /dev/null and b/data/ui/achiev/10.png differ diff --git a/data/ui/achiev/11.png b/data/ui/achiev/11.png new file mode 100644 index 00000000..84bad8ff Binary files /dev/null and b/data/ui/achiev/11.png differ diff --git a/data/ui/achiev/12.png b/data/ui/achiev/12.png new file mode 100644 index 00000000..c231a10c Binary files /dev/null and b/data/ui/achiev/12.png differ diff --git a/data/ui/achiev/13.png b/data/ui/achiev/13.png new file mode 100644 index 00000000..e544cd57 Binary files /dev/null and b/data/ui/achiev/13.png differ diff --git a/data/ui/achiev/14.png b/data/ui/achiev/14.png new file mode 100644 index 00000000..65c3d0ff Binary files /dev/null and b/data/ui/achiev/14.png differ diff --git a/data/ui/achiev/15.png b/data/ui/achiev/15.png new file mode 100644 index 00000000..b37e6529 Binary files /dev/null and b/data/ui/achiev/15.png differ diff --git a/data/ui/achiev/16.png b/data/ui/achiev/16.png new file mode 100644 index 00000000..c5b71bc2 Binary files /dev/null and b/data/ui/achiev/16.png differ diff --git a/data/ui/achiev/17.png b/data/ui/achiev/17.png new file mode 100644 index 00000000..2d5ab1d3 Binary files /dev/null and b/data/ui/achiev/17.png differ diff --git a/data/ui/achiev/18.png b/data/ui/achiev/18.png new file mode 100644 index 00000000..8c59dcad Binary files /dev/null and b/data/ui/achiev/18.png differ diff --git a/data/ui/achiev/19.png b/data/ui/achiev/19.png new file mode 100644 index 00000000..cef2693a Binary files /dev/null and b/data/ui/achiev/19.png differ diff --git a/data/ui/achiev/2.png b/data/ui/achiev/2.png new file mode 100644 index 00000000..e318bfa3 Binary files /dev/null and b/data/ui/achiev/2.png differ diff --git a/data/ui/achiev/20.png b/data/ui/achiev/20.png new file mode 100644 index 00000000..ad7a7ad1 Binary files /dev/null and b/data/ui/achiev/20.png differ diff --git a/data/ui/achiev/21.png b/data/ui/achiev/21.png new file mode 100644 index 00000000..c61f0324 Binary files /dev/null and b/data/ui/achiev/21.png differ diff --git a/data/ui/achiev/22.png b/data/ui/achiev/22.png new file mode 100644 index 00000000..68fb552e Binary files /dev/null and b/data/ui/achiev/22.png differ diff --git a/data/ui/achiev/23.png b/data/ui/achiev/23.png new file mode 100644 index 00000000..db0739df Binary files /dev/null and b/data/ui/achiev/23.png differ diff --git a/data/ui/achiev/24.png b/data/ui/achiev/24.png new file mode 100644 index 00000000..b128ed9c Binary files /dev/null and b/data/ui/achiev/24.png differ diff --git a/data/ui/achiev/25.png b/data/ui/achiev/25.png new file mode 100644 index 00000000..15d5da71 Binary files /dev/null and b/data/ui/achiev/25.png differ diff --git a/data/ui/achiev/26.png b/data/ui/achiev/26.png new file mode 100644 index 00000000..02f4c52f Binary files /dev/null and b/data/ui/achiev/26.png differ diff --git a/data/ui/achiev/27.png b/data/ui/achiev/27.png new file mode 100644 index 00000000..4a41c3c9 Binary files /dev/null and b/data/ui/achiev/27.png differ diff --git a/data/ui/achiev/28.png b/data/ui/achiev/28.png new file mode 100644 index 00000000..3f01d525 Binary files /dev/null and b/data/ui/achiev/28.png differ diff --git a/data/ui/achiev/29.png b/data/ui/achiev/29.png new file mode 100644 index 00000000..e5536e30 Binary files /dev/null and b/data/ui/achiev/29.png differ diff --git a/data/ui/achiev/3.png b/data/ui/achiev/3.png new file mode 100644 index 00000000..4ee841c8 Binary files /dev/null and b/data/ui/achiev/3.png differ diff --git a/data/ui/achiev/30.png b/data/ui/achiev/30.png new file mode 100644 index 00000000..ad4c55ef Binary files /dev/null and b/data/ui/achiev/30.png differ diff --git a/data/ui/achiev/31.png b/data/ui/achiev/31.png new file mode 100644 index 00000000..c5965523 Binary files /dev/null and b/data/ui/achiev/31.png differ diff --git a/data/ui/achiev/32.png b/data/ui/achiev/32.png new file mode 100644 index 00000000..31d4e1b7 Binary files /dev/null and b/data/ui/achiev/32.png differ diff --git a/data/ui/achiev/33.png b/data/ui/achiev/33.png new file mode 100644 index 00000000..a5bd0316 Binary files /dev/null and b/data/ui/achiev/33.png differ diff --git a/data/ui/achiev/34.png b/data/ui/achiev/34.png new file mode 100644 index 00000000..101430fa Binary files /dev/null and b/data/ui/achiev/34.png differ diff --git a/data/ui/achiev/35.png b/data/ui/achiev/35.png new file mode 100644 index 00000000..8794623e Binary files /dev/null and b/data/ui/achiev/35.png differ diff --git a/data/ui/achiev/36.png b/data/ui/achiev/36.png new file mode 100644 index 00000000..989eeeb1 Binary files /dev/null and b/data/ui/achiev/36.png differ diff --git a/data/ui/achiev/37.png b/data/ui/achiev/37.png new file mode 100644 index 00000000..d59d4e73 Binary files /dev/null and b/data/ui/achiev/37.png differ diff --git a/data/ui/achiev/4.png b/data/ui/achiev/4.png new file mode 100644 index 00000000..0965c192 Binary files /dev/null and b/data/ui/achiev/4.png differ diff --git a/data/ui/achiev/5.png b/data/ui/achiev/5.png new file mode 100644 index 00000000..fe5eb965 Binary files /dev/null and b/data/ui/achiev/5.png differ diff --git a/data/ui/achiev/6.png b/data/ui/achiev/6.png new file mode 100644 index 00000000..f677dd28 Binary files /dev/null and b/data/ui/achiev/6.png differ diff --git a/data/ui/achiev/7.png b/data/ui/achiev/7.png new file mode 100644 index 00000000..4a12c770 Binary files /dev/null and b/data/ui/achiev/7.png differ diff --git a/data/ui/achiev/8.png b/data/ui/achiev/8.png new file mode 100644 index 00000000..455669be Binary files /dev/null and b/data/ui/achiev/8.png differ diff --git a/data/ui/achiev/9.png b/data/ui/achiev/9.png new file mode 100644 index 00000000..159890d7 Binary files /dev/null and b/data/ui/achiev/9.png differ diff --git a/data/ui/achiev/achiev.png b/data/ui/achiev/achiev.png new file mode 100644 index 00000000..8ce63b06 Binary files /dev/null and b/data/ui/achiev/achiev.png differ diff --git a/data/ui/achiev/close_d.png b/data/ui/achiev/close_d.png new file mode 100644 index 00000000..c3e760ee Binary files /dev/null and b/data/ui/achiev/close_d.png differ diff --git a/data/ui/achiev/close_h.png b/data/ui/achiev/close_h.png new file mode 100644 index 00000000..68d1a690 Binary files /dev/null and b/data/ui/achiev/close_h.png differ diff --git a/data/ui/achiev/close_i.png b/data/ui/achiev/close_i.png new file mode 100644 index 00000000..f33674f4 Binary files /dev/null and b/data/ui/achiev/close_i.png differ diff --git a/data/ui/achiev/close_n.png b/data/ui/achiev/close_n.png new file mode 100644 index 00000000..5258bccd Binary files /dev/null and b/data/ui/achiev/close_n.png differ diff --git a/data/ui/achiev/n1.png b/data/ui/achiev/n1.png new file mode 100644 index 00000000..8ca6d715 Binary files /dev/null and b/data/ui/achiev/n1.png differ diff --git a/data/ui/achiev/n2.png b/data/ui/achiev/n2.png new file mode 100644 index 00000000..aa3088b7 Binary files /dev/null and b/data/ui/achiev/n2.png differ diff --git a/data/ui/achiev/n3.png b/data/ui/achiev/n3.png new file mode 100644 index 00000000..c43ff7d3 Binary files /dev/null and b/data/ui/achiev/n3.png differ diff --git a/data/ui/achiev/n4.png b/data/ui/achiev/n4.png new file mode 100644 index 00000000..478f0779 Binary files /dev/null and b/data/ui/achiev/n4.png differ diff --git a/data/ui/achiev/n5.png b/data/ui/achiev/n5.png new file mode 100644 index 00000000..07573bb1 Binary files /dev/null and b/data/ui/achiev/n5.png differ diff --git a/data/ui/achiev/n6.png b/data/ui/achiev/n6.png new file mode 100644 index 00000000..cee28833 Binary files /dev/null and b/data/ui/achiev/n6.png differ diff --git a/data/ui/achiev/nonachiev.png b/data/ui/achiev/nonachiev.png new file mode 100644 index 00000000..fbfceb57 Binary files /dev/null and b/data/ui/achiev/nonachiev.png differ diff --git a/data/ui/achiev/window.png b/data/ui/achiev/window.png new file mode 100644 index 00000000..c6c4737c Binary files /dev/null and b/data/ui/achiev/window.png differ diff --git a/src/gui/AchievementsGui.hx b/src/gui/AchievementsGui.hx new file mode 100644 index 00000000..6c3426a3 --- /dev/null +++ b/src/gui/AchievementsGui.hx @@ -0,0 +1,37 @@ +package gui; + +import h3d.Vector; +import src.ResourceLoader; +import src.MarbleGame; + +class AchievementsGui extends GuiImage { + public function new() { + var img = ResourceLoader.getImage("data/ui/achiev/window.png"); + super(img.resource.toTile()); + this.horizSizing = Center; + this.vertSizing = Center; + this.position = new Vector(73, -21); + this.extent = new Vector(493, 512); + + var achiev = new GuiImage(ResourceLoader.getResource("data/ui/achiev/achiev.png", ResourceLoader.getImage, this.imageResources).toTile()); + achiev.position = new Vector(152, 26); + achiev.extent = new Vector(176, 50); + this.addChild(achiev); + + function loadButtonImages(path:String) { + var normal = ResourceLoader.getResource('${path}_n.png', ResourceLoader.getImage, this.imageResources).toTile(); + var hover = ResourceLoader.getResource('${path}_h.png', ResourceLoader.getImage, this.imageResources).toTile(); + var pressed = ResourceLoader.getResource('${path}_d.png', ResourceLoader.getImage, this.imageResources).toTile(); + var disabled = ResourceLoader.getResource('${path}_i.png', ResourceLoader.getImage, this.imageResources).toTile(); + return [normal, hover, pressed, disabled]; + } + + var closeButton = new GuiButton(loadButtonImages("data/ui/achiev/close")); + closeButton.position = new Vector(355, 426); + closeButton.extent = new Vector(95, 45); + closeButton.pressedAction = (e) -> { + MarbleGame.canvas.popDialog(this); + } + this.addChild(closeButton); + } +} diff --git a/src/gui/PlayMissionGui.hx b/src/gui/PlayMissionGui.hx index 7df22ad0..b6857d85 100644 --- a/src/gui/PlayMissionGui.hx +++ b/src/gui/PlayMissionGui.hx @@ -619,11 +619,15 @@ class PlayMissionGui extends GuiImage { var pmAchievements = new GuiButton(loadButtonImages("data/ui/play/achiev")); pmAchievements.position = new Vector(150, 46); pmAchievements.extent = new Vector(43, 43); + pmAchievements.pressedAction = (e) -> { + MarbleGame.canvas.pushDialog(new AchievementsGui()); + } pmMorePopDlg.addChild(pmAchievements); var pmEditorToggle = new GuiButton(loadButtonImages("data/ui/play/editor")); pmEditorToggle.position = new Vector(198, 46); pmEditorToggle.extent = new Vector(43, 43); + pmEditorToggle.disabled = true; pmMorePopDlg.addChild(pmEditorToggle); var pmRecord = new GuiButton(loadButtonImages("data/ui/play/replay")); @@ -707,6 +711,14 @@ class PlayMissionGui extends GuiImage { currentList = "category" == "custom" ? MissionList.customMissions : 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(); + + if (game == "platinum") { + pmAchievements.disabled = false; + } else { + pmAchievements.disabled = true; + } + currentCategoryStatic = currentCategory; currentGame = game; setSelectedFunc(currentList.length - 1);