diff --git a/Project.xml b/Project.xml index 3eb3740..b40d81b 100644 --- a/Project.xml +++ b/Project.xml @@ -41,6 +41,8 @@ + + diff --git a/art/campaign_menu_UI_assets.fla b/art/campaign_menu_UI_assets.fla new file mode 100644 index 0000000..f7aae25 Binary files /dev/null and b/art/campaign_menu_UI_assets.fla differ diff --git a/art/icon.png~ b/art/icon.png~ deleted file mode 100644 index 380a71c..0000000 Binary files a/art/icon.png~ and /dev/null differ diff --git a/assets/data/section1.aseprite b/assets/data/section1.aseprite deleted file mode 100644 index 585312c..0000000 Binary files a/assets/data/section1.aseprite and /dev/null differ diff --git a/assets/fonts/vcr.ttf b/assets/fonts/vcr.ttf new file mode 100644 index 0000000..dcca687 Binary files /dev/null and b/assets/fonts/vcr.ttf differ diff --git a/assets/images/campaign_menu_UI_assets.png b/assets/images/campaign_menu_UI_assets.png new file mode 100644 index 0000000..98a8924 Binary files /dev/null and b/assets/images/campaign_menu_UI_assets.png differ diff --git a/assets/images/campaign_menu_UI_assets.xml b/assets/images/campaign_menu_UI_assets.xml new file mode 100644 index 0000000..51aab94 --- /dev/null +++ b/assets/images/campaign_menu_UI_assets.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/campaign_menu_UI_characters.png b/assets/images/campaign_menu_UI_characters.png new file mode 100644 index 0000000..75de6a5 Binary files /dev/null and b/assets/images/campaign_menu_UI_characters.png differ diff --git a/assets/images/campaign_menu_UI_characters.xml b/assets/images/campaign_menu_UI_characters.xml new file mode 100644 index 0000000..80b7ab2 --- /dev/null +++ b/assets/images/campaign_menu_UI_characters.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/music/Bopeebo.mp3 b/assets/music/Bopeebo.mp3 deleted file mode 100644 index 53c5f0c..0000000 Binary files a/assets/music/Bopeebo.mp3 and /dev/null differ diff --git a/assets/music/Bopeebo.ogg b/assets/music/Bopeebo.ogg deleted file mode 100644 index 44b10f9..0000000 Binary files a/assets/music/Bopeebo.ogg and /dev/null differ diff --git a/assets/music/Bopeebo_Inst.mp3 b/assets/music/Bopeebo_Inst.mp3 index d8fe8bf..593fe28 100644 Binary files a/assets/music/Bopeebo_Inst.mp3 and b/assets/music/Bopeebo_Inst.mp3 differ diff --git a/assets/music/Bopeebo_Voices.mp3 b/assets/music/Bopeebo_Voices.mp3 index 7675230..ebb468a 100644 Binary files a/assets/music/Bopeebo_Voices.mp3 and b/assets/music/Bopeebo_Voices.mp3 differ diff --git a/assets/music/Dadbattle.mp3 b/assets/music/Dadbattle.mp3 index 51d658d..2527185 100644 Binary files a/assets/music/Dadbattle.mp3 and b/assets/music/Dadbattle.mp3 differ diff --git a/assets/music/Dadbattle_Inst.mp3 b/assets/music/Dadbattle_Inst.mp3 index d4ee5c7..37a5752 100644 Binary files a/assets/music/Dadbattle_Inst.mp3 and b/assets/music/Dadbattle_Inst.mp3 differ diff --git a/assets/music/Fresh.mp3 b/assets/music/Fresh.mp3 deleted file mode 100644 index c9e6ae2..0000000 Binary files a/assets/music/Fresh.mp3 and /dev/null differ diff --git a/assets/music/Fresh.ogg b/assets/music/Fresh.ogg deleted file mode 100644 index d5843b8..0000000 Binary files a/assets/music/Fresh.ogg and /dev/null differ diff --git a/assets/music/Fresh_Inst.mp3 b/assets/music/Fresh_Inst.mp3 index cb5d71a..061f856 100644 Binary files a/assets/music/Fresh_Inst.mp3 and b/assets/music/Fresh_Inst.mp3 differ diff --git a/assets/music/South.mp3 b/assets/music/South.mp3 deleted file mode 100644 index cc200cb..0000000 Binary files a/assets/music/South.mp3 and /dev/null differ diff --git a/assets/music/South.ogg b/assets/music/South.ogg deleted file mode 100644 index ef78c26..0000000 Binary files a/assets/music/South.ogg and /dev/null differ diff --git a/assets/music/Spookeez_Inst.mp3 b/assets/music/Spookeez_Inst.mp3 index 14bde4c..ee4577a 100644 Binary files a/assets/music/Spookeez_Inst.mp3 and b/assets/music/Spookeez_Inst.mp3 differ diff --git a/assets/music/Tutorial.mp3 b/assets/music/Tutorial.mp3 deleted file mode 100644 index ee24510..0000000 Binary files a/assets/music/Tutorial.mp3 and /dev/null differ diff --git a/assets/music/Tutorial.ogg b/assets/music/Tutorial.ogg deleted file mode 100644 index 91c9632..0000000 Binary files a/assets/music/Tutorial.ogg and /dev/null differ diff --git a/assets/music/Tutorial_Inst.mp3 b/assets/music/Tutorial_Inst.mp3 index ee24510..473f008 100644 Binary files a/assets/music/Tutorial_Inst.mp3 and b/assets/music/Tutorial_Inst.mp3 differ diff --git a/assets/music/freakyMenu.mp3 b/assets/music/freakyMenu.mp3 index caaf7c5..8132bfe 100644 Binary files a/assets/music/freakyMenu.mp3 and b/assets/music/freakyMenu.mp3 differ diff --git a/source/MenuItem.hx b/source/MenuItem.hx new file mode 100644 index 0000000..9908caa --- /dev/null +++ b/source/MenuItem.hx @@ -0,0 +1,35 @@ +package; + +import flixel.FlxSprite; +import flixel.graphics.frames.FlxAtlasFrames; +import flixel.group.FlxSpriteGroup; + +class MenuItem extends FlxSpriteGroup +{ + public function new(x:Float, y:Float, week:Int = 0, unlocked:Bool = false) + { + super(x, y); + + var tex = FlxAtlasFrames.fromSparrow(AssetPaths.campaign_menu_UI_assets__png, AssetPaths.campaign_menu_UI_assets__xml); + + var week:FlxSprite = new FlxSprite(); + week.frames = tex; + week.animation.addByPrefix('week0', "WEEK1 select", 24); + week.animation.addByPrefix('week1', "week2 select", 24); + add(week); + + week.animation.play('week' + week); + week.updateHitbox(); + + if (!unlocked) + { + week.alpha = 0.6; + + var lock:FlxSprite = new FlxSprite(week.frameWidth + 5); + lock.frames = tex; + lock.animation.addByPrefix('lock', 'lock'); + lock.animation.play('lock'); + add(lock); + } + } +} diff --git a/source/StoryMenuState.hx b/source/StoryMenuState.hx new file mode 100644 index 0000000..f4003cb --- /dev/null +++ b/source/StoryMenuState.hx @@ -0,0 +1,102 @@ +package; + +import flixel.FlxG; +import flixel.FlxSprite; +import flixel.graphics.frames.FlxAtlasFrames; +import flixel.text.FlxText; + +using StringTools; + +class StoryMenuState extends MusicBeatState +{ + var scoreText:FlxText; + + var weekData:Array = [['Tutorial', 'Bopeebo', 'Fresh', 'Dad Battle'], ['Spookeez', 'South', 'Monster']]; + + var curWeek:Int = 0; + + var txtTracklist:FlxText; + + override function create() + { + scoreText = new FlxText(10, 10, 0, "SCORE: 49324858", 36); + scoreText.setFormat("VCR OSD Mono", 32); + add(scoreText); + + var rankText:FlxText = new FlxText(0, 10); + rankText.text = 'RANK: GREAT'; + rankText.setFormat("assets/fonts/vcr.ttf", 32); + rankText.size = scoreText.size; + rankText.screenCenter(X); + add(rankText); + + var ui_tex = FlxAtlasFrames.fromSparrow(AssetPaths.campaign_menu_UI_assets__png, AssetPaths.campaign_menu_UI_assets__xml); + var yellowBG:FlxSprite = new FlxSprite(0, 56).makeGraphic(FlxG.width, 400, 0xFFF9CF51); + + for (i in 0...weekData.length) + { + var unlocked:Bool = true; + + if (i == 1) + unlocked = false; + + var weekThing:MenuItem = new MenuItem(0, yellowBG.y + yellowBG.height + 10, i, unlocked); + add(weekThing); + } + + add(yellowBG); + + txtTracklist = new FlxText(FlxG.width * 0.05, yellowBG.x + yellowBG.height + 100, 0, "Tracks", 32); + txtTracklist.alignment = CENTER; + txtTracklist.font = rankText.font; + txtTracklist.color = 0xFFe55777; + add(txtTracklist); + + updateText(); + + super.create(); + } + + override function update(elapsed:Float) + { + // scoreText.setFormat('VCR OSD Mono', 32); + // scoreText.text = "Score SHIT"; + // FlxG.watch.addQuick('font', scoreText.font); + + if (controls.UP_P) + changeWeek(-1); + if (controls.DOWN_P) + changeWeek(1); + + super.update(elapsed); + } + + function changeWeek(change:Int = 0):Void + { + curWeek += change; + + if (curWeek >= weekData.length) + curWeek = 0; + if (curWeek < 0) + curWeek = weekData.length - 1; + + updateText(); + } + + function updateText() + { + txtTracklist.text = "Tracks\n"; + + var stringThing:Array = weekData[curWeek]; + + for (i in stringThing) + { + txtTracklist.text += "\n" + i; + } + + txtTracklist.text.toUpperCase(); + + txtTracklist.screenCenter(X); + txtTracklist.x -= FlxG.width * 0.35; + } +} diff --git a/source/TitleState.hx b/source/TitleState.hx index cf25c47..beb3c9d 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -41,7 +41,7 @@ class TitleState extends MusicBeatState super.create(); #if SKIP_TO_PLAYSTATE - FlxG.switchState(new FreeplayState()); + FlxG.switchState(new StoryMenuState()); #else startIntro(); #end