diff --git a/data/ui/menu/help_d.png b/data/ui/menu/help_d.png new file mode 100644 index 00000000..028b8c1d Binary files /dev/null and b/data/ui/menu/help_d.png differ diff --git a/data/ui/menu/help_h.png b/data/ui/menu/help_h.png new file mode 100644 index 00000000..7ce2936f Binary files /dev/null and b/data/ui/menu/help_h.png differ diff --git a/data/ui/menu/help_i.png b/data/ui/menu/help_i.png new file mode 100644 index 00000000..3d0c5b54 Binary files /dev/null and b/data/ui/menu/help_i.png differ diff --git a/data/ui/menu/help_n.png b/data/ui/menu/help_n.png new file mode 100644 index 00000000..28fe2f91 Binary files /dev/null and b/data/ui/menu/help_n.png differ diff --git a/data/ui/menu/mbp-xmas.png b/data/ui/menu/mbp-xmas.png new file mode 100644 index 00000000..b00ec388 Binary files /dev/null and b/data/ui/menu/mbp-xmas.png differ diff --git a/data/ui/menu/mbp.png b/data/ui/menu/mbp.png new file mode 100644 index 00000000..33dd12da Binary files /dev/null and b/data/ui/menu/mbp.png differ diff --git a/data/ui/menu/online_d.png b/data/ui/menu/online_d.png new file mode 100644 index 00000000..38ca5aae Binary files /dev/null and b/data/ui/menu/online_d.png differ diff --git a/data/ui/menu/online_h.png b/data/ui/menu/online_h.png new file mode 100644 index 00000000..d6013b24 Binary files /dev/null and b/data/ui/menu/online_h.png differ diff --git a/data/ui/menu/online_i.png b/data/ui/menu/online_i.png new file mode 100644 index 00000000..a55f7d39 Binary files /dev/null and b/data/ui/menu/online_i.png differ diff --git a/data/ui/menu/online_n.png b/data/ui/menu/online_n.png new file mode 100644 index 00000000..5b68cdda Binary files /dev/null and b/data/ui/menu/online_n.png differ diff --git a/data/ui/menu/options_d.png b/data/ui/menu/options_d.png new file mode 100644 index 00000000..0f9207ca Binary files /dev/null and b/data/ui/menu/options_d.png differ diff --git a/data/ui/menu/options_h.png b/data/ui/menu/options_h.png new file mode 100644 index 00000000..c5a693f6 Binary files /dev/null and b/data/ui/menu/options_h.png differ diff --git a/data/ui/menu/options_n.png b/data/ui/menu/options_n.png new file mode 100644 index 00000000..29aea2b0 Binary files /dev/null and b/data/ui/menu/options_n.png differ diff --git a/data/ui/menu/play_d.png b/data/ui/menu/play_d.png new file mode 100644 index 00000000..7596d834 Binary files /dev/null and b/data/ui/menu/play_d.png differ diff --git a/data/ui/menu/play_h.png b/data/ui/menu/play_h.png new file mode 100644 index 00000000..1e9b5c18 Binary files /dev/null and b/data/ui/menu/play_h.png differ diff --git a/data/ui/menu/play_n.png b/data/ui/menu/play_n.png new file mode 100644 index 00000000..d42b30d7 Binary files /dev/null and b/data/ui/menu/play_n.png differ diff --git a/data/ui/menu/quit_d.png b/data/ui/menu/quit_d.png new file mode 100644 index 00000000..befea6e0 Binary files /dev/null and b/data/ui/menu/quit_d.png differ diff --git a/data/ui/menu/quit_h.png b/data/ui/menu/quit_h.png new file mode 100644 index 00000000..09e63134 Binary files /dev/null and b/data/ui/menu/quit_h.png differ diff --git a/data/ui/menu/quit_n.png b/data/ui/menu/quit_n.png new file mode 100644 index 00000000..60f69167 Binary files /dev/null and b/data/ui/menu/quit_n.png differ diff --git a/data/ui/menu/replay_d.png b/data/ui/menu/replay_d.png new file mode 100644 index 00000000..a639e44d Binary files /dev/null and b/data/ui/menu/replay_d.png differ diff --git a/data/ui/menu/replay_h.png b/data/ui/menu/replay_h.png new file mode 100644 index 00000000..3bad47d4 Binary files /dev/null and b/data/ui/menu/replay_h.png differ diff --git a/data/ui/menu/replay_n.png b/data/ui/menu/replay_n.png new file mode 100644 index 00000000..7c67ea01 Binary files /dev/null and b/data/ui/menu/replay_n.png differ diff --git a/data/ui/menu/site_d.png b/data/ui/menu/site_d.png new file mode 100644 index 00000000..16ce0106 Binary files /dev/null and b/data/ui/menu/site_d.png differ diff --git a/data/ui/menu/site_h.png b/data/ui/menu/site_h.png new file mode 100644 index 00000000..e43a46ca Binary files /dev/null and b/data/ui/menu/site_h.png differ diff --git a/data/ui/menu/site_n.png b/data/ui/menu/site_n.png new file mode 100644 index 00000000..273cb792 Binary files /dev/null and b/data/ui/menu/site_n.png differ diff --git a/data/ui/menu/totd_d.png b/data/ui/menu/totd_d.png new file mode 100644 index 00000000..39684b6f Binary files /dev/null and b/data/ui/menu/totd_d.png differ diff --git a/data/ui/menu/totd_h.png b/data/ui/menu/totd_h.png new file mode 100644 index 00000000..b603ab0f Binary files /dev/null and b/data/ui/menu/totd_h.png differ diff --git a/data/ui/menu/totd_i.png b/data/ui/menu/totd_i.png new file mode 100644 index 00000000..670ba37f Binary files /dev/null and b/data/ui/menu/totd_i.png differ diff --git a/data/ui/menu/totd_n.png b/data/ui/menu/totd_n.png new file mode 100644 index 00000000..c1c3c337 Binary files /dev/null and b/data/ui/menu/totd_n.png differ diff --git a/data/ui/menu/totdactive_d.png b/data/ui/menu/totdactive_d.png new file mode 100644 index 00000000..329eecf7 Binary files /dev/null and b/data/ui/menu/totdactive_d.png differ diff --git a/data/ui/menu/totdactive_h.png b/data/ui/menu/totdactive_h.png new file mode 100644 index 00000000..2455fa60 Binary files /dev/null and b/data/ui/menu/totdactive_h.png differ diff --git a/data/ui/menu/totdactive_n.png b/data/ui/menu/totdactive_n.png new file mode 100644 index 00000000..9f694748 Binary files /dev/null and b/data/ui/menu/totdactive_n.png differ diff --git a/src/gui/MainMenuGui.hx b/src/gui/MainMenuGui.hx index e007cce5..3259d39c 100644 --- a/src/gui/MainMenuGui.hx +++ b/src/gui/MainMenuGui.hx @@ -6,10 +6,11 @@ import hxd.res.BitmapFont; import h3d.Vector; import src.ResourceLoader; import src.Settings; +import src.Util; class MainMenuGui extends GuiImage { public function new() { - var img = ResourceLoader.getImage("data/ui/background.jpg"); + var img = ResourceLoader.getImage('data/ui/backgrounds/platinum/${cast (Math.floor(Util.lerp(1, 28, Math.random())), Int)}.jpg'); super(img.resource.toTile()); var domcasual32fontdata = ResourceLoader.getFileEntry("data/font/DomCasualD.fnt"); var domcasual32b = new BitmapFont(domcasual32fontdata.entry); @@ -21,21 +22,11 @@ class MainMenuGui extends GuiImage { this.position = new Vector(); this.extent = new Vector(640, 480); - var versionText = new GuiText(domcasual32); - - versionText.horizSizing = Center; - versionText.vertSizing = Top; - versionText.position = new Vector(289, 457); - versionText.extent = new Vector(62, 18); - versionText.text.text = "1.1.2"; - this.addChild(versionText); - - var homebase = new GuiImage(ResourceLoader.getResource("data/ui/home/homegui.png", ResourceLoader.getImage, this.imageResources).toTile()); - homebase.horizSizing = Center; - homebase.vertSizing = Center; - homebase.extent = new Vector(349, 477); - homebase.position = new Vector(145, 1); - this.addChild(homebase); + var mainMenuContent = new GuiControl(); + mainMenuContent.horizSizing = Center; + mainMenuContent.vertSizing = Center; + mainMenuContent.position = new Vector(-130, -110); + mainMenuContent.extent = new Vector(900, 700); function loadButtonImages(path:String) { var normal = ResourceLoader.getResource('${path}_n.png', ResourceLoader.getImage, this.imageResources).toTile(); @@ -44,38 +35,86 @@ class MainMenuGui extends GuiImage { return [normal, hover, pressed]; } - var playButton = new GuiButton(loadButtonImages("data/ui/home/play")); - playButton.position = new Vector(50, 113); - playButton.extent = new Vector(270, 95); + var siteButton = new GuiButton(loadButtonImages('data/ui/menu/site')); + siteButton.horizSizing = Right; + siteButton.vertSizing = Top; + siteButton.position = new Vector(363, 664); + siteButton.extent = new Vector(400, 30); + siteButton.pressedAction = (sender) -> {} + mainMenuContent.addChild(siteButton); + + var motdButton = new GuiImage(ResourceLoader.getResource('data/ui/menu/totd_i.png', ResourceLoader.getImage, this.imageResources).toTile()); + motdButton.horizSizing = Left; + motdButton.vertSizing = Top; + motdButton.position = new Vector(706, 536); + motdButton.extent = new Vector(191, 141); + mainMenuContent.addChild(motdButton); + + var playButton = new GuiButton(loadButtonImages("data/ui/menu/play")); + playButton.position = new Vector(-5, -2); + playButton.extent = new Vector(247, 164); playButton.pressedAction = (sender) -> { cast(this.parent, Canvas).setContent(new PlayMissionGui()); } - homebase.addChild(playButton); + mainMenuContent.addChild(playButton); - var helpButton = new GuiButton(loadButtonImages("data/ui/home/help")); - helpButton.position = new Vector(59, 200); - helpButton.extent = new Vector(242, 84); - helpButton.pressedAction = (sender) -> { - MarbleGame.canvas.setContent(new HelpCreditsGui()); - } - homebase.addChild(helpButton); + var lbButton = new GuiImage(ResourceLoader.getResource('data/ui/menu/online_i.png', ResourceLoader.getImage, this.imageResources).toTile()); + lbButton.position = new Vector(-5, 128); + lbButton.extent = new Vector(247, 164); + mainMenuContent.addChild(lbButton); - var optionsButton = new GuiButton(loadButtonImages("data/ui/home/options")); - optionsButton.position = new Vector(55, 279); - optionsButton.extent = new Vector(253, 83); + var optionsButton = new GuiButton(loadButtonImages("data/ui/menu/options")); + optionsButton.position = new Vector(-5, 258); + optionsButton.extent = new Vector(247, 164); optionsButton.pressedAction = (sender) -> { cast(this.parent, Canvas).setContent(new OptionsDlg()); } - homebase.addChild(optionsButton); + mainMenuContent.addChild(optionsButton); - var exitButton = new GuiButton(loadButtonImages("data/ui/home/exit")); - exitButton.position = new Vector(82, 358); - exitButton.extent = new Vector(203, 88); + var exitButton = new GuiButton(loadButtonImages("data/ui/menu/quit")); + exitButton.position = new Vector(-5, 388); + exitButton.extent = new Vector(247, 164); exitButton.pressedAction = (sender) -> { #if hl Sys.exit(0); #end }; - homebase.addChild(exitButton); + mainMenuContent.addChild(exitButton); + + var replButton = new GuiButton(loadButtonImages("data/ui/menu/replay")); + replButton.horizSizing = Left; + replButton.vertSizing = Top; + replButton.position = new Vector(552, 536); + replButton.extent = new Vector(191, 141); + replButton.pressedAction = (sender) -> {}; + mainMenuContent.addChild(replButton); + + var helpButton = new GuiButton(loadButtonImages("data/ui/menu/help")); + helpButton.horizSizing = Left; + helpButton.vertSizing = Top; + helpButton.position = new Vector(398, 536); + helpButton.extent = new Vector(191, 141); + helpButton.pressedAction = (sender) -> { + MarbleGame.canvas.setContent(new HelpCreditsGui()); + } + mainMenuContent.addChild(helpButton); + + this.addChild(mainMenuContent); + + var mbp = new GuiImage(ResourceLoader.getResource("data/ui/menu/mbp.png", ResourceLoader.getImage, this.imageResources).toTile()); + mbp.horizSizing = Left; + mbp.vertSizing = Bottom; + mbp.position = new Vector(476, 12); + mbp.extent = new Vector(153, 150); + this.addChild(mbp); + + var versionText = new GuiMLText(domcasual32, null); + + versionText.horizSizing = Left; + versionText.vertSizing = Bottom; + versionText.position = new Vector(502, 66); + versionText.extent = new Vector(97, 72); + versionText.text.text = "
1.1.2
"; + this.addChild(versionText); } }