public override void GenerateStoryboard() { // Main code goes here. // All code in here will belong in the .osb file. // Generate background var tempBG = SB.Sprite("sb\\palmtrees.jpg", SB.Background, SB.TopCentre); tempBG.move(0, 0, 0, 320, 0, 320, 0); tempBG.fade(0, 0, BeatmapConstants.SONG_END_OFFSET, 1, 1); // So this part is dedicated to generating the rain... var mainCloud = new Raincloud(); // Initialize rain mainCloud.correlateMapToImage("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\krool.bmp", "sb\\krool_pursuit.png", BeatmapConstants.SONG_BOOK3, 16); mainCloud.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\blank.bmp", BeatmapConstants.SONG_BOOK5); // Generate rain mainCloud.makeItRain(0, (int)(BeatmapConstants.SONG_BOOK7 / BeatmapConstants.RAINDROP_VELOCITY)); mainCloud.createWind(0, 0, 0); mainCloud.createLightning(0, 1); mainCloud.stackLightning(BeatmapConstants.SONG_BOOK3, 48); // Pursuit -- Yes, the wind could work as a loop with the counter as an iterator, but this way // things are more explicit int pursuitCounter = BeatmapConstants.SONG_BOOK6 + (int)(BeatmapConstants.BEAT_QUARTER) * 16; mainCloud.createWind(BeatmapConstants.SONG_BOOK6, pursuitCounter, 15); pursuitCounter += (int)(BeatmapConstants.BEAT_QUARTER) * 16; mainCloud.createWind(pursuitCounter, pursuitCounter + (int)(BeatmapConstants.BEAT_QUARTER) * 16, -15); pursuitCounter += (int)(BeatmapConstants.BEAT_QUARTER) * 16; mainCloud.createWind(pursuitCounter, pursuitCounter + (int)(BeatmapConstants.BEAT_QUARTER) * 32, 45); pursuitCounter += (int)(BeatmapConstants.BEAT_QUARTER) * 32; mainCloud.createWind(pursuitCounter, pursuitCounter + (int)(BeatmapConstants.BEAT_QUARTER) * 32, -45); // Pursuit hype mainCloud.createWind(BeatmapConstants.SONG_BOOK6_A, BeatmapConstants.SONG_BOOK6_A + (int)(BeatmapConstants.BEAT_QUARTER) * 16, -90); // Chorus phase // Generating the rain mainCloud.circularRain(BeatmapConstants.SONG_BOOK7, (int)((BeatmapConstants.SONG_BOOK8 - BeatmapConstants.SONG_BOOK7) / BeatmapConstants.RAINDROP_VELOCITY), 128, true); // Pass/Fail for this portion var logoGood = SB.Sprite("sb\\dk.png", SB.Pass, SB.Centre); var logoBad = SB.Sprite("sb\\krem.png", SB.Fail, SB.Centre); logoGood.move(0, 0, 0, 320, 240, 320, 240); logoBad.move(0, 0, 0, 320, 240, 320, 240); logoGood.scale(0, 0, 0, 0.3, 0.3); logoBad.scale(0, 0, 0, 0.3, 0.3); logoGood.fade(0, BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK7, 0, 1); logoBad.fade(0, BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK7, 0, 1); logoGood.fade(0, BeatmapConstants.SONG_BOOK8 - (int)(BeatmapConstants.BEAT_QUARTER) * 4, BeatmapConstants.SONG_BOOK8, 1, 0); logoBad.fade(0, BeatmapConstants.SONG_BOOK8 - (int)(BeatmapConstants.BEAT_QUARTER) * 4, BeatmapConstants.SONG_BOOK8, 1, 0); // Spiral portion at end var spiralRaincloud = new Raincloud(); spiralRaincloud.hideAll(0, false); spiralRaincloud.spiralRain((BeatmapConstants.SONG_BOOK8 - (int)(BeatmapConstants.BEAT_QUARTER) * 4), 12); // Pass/Fail lightning var passFailStrobe = SB.Sprite("sb\\foo.png", SB.Background, SB.Centre); passFailStrobe.move(0, 0, 320, 240, 320, 240); passFailStrobe.scale(0, 0, 0, 1366, 768); passFailStrobe.fade(0, 0); passFailStrobe.startTriggerLoop("Passing", BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK8); passFailStrobe.fade(0, 0, (int)BeatmapConstants.BEAT_QUARTER * 2, 0.5, 0); passFailStrobe.endLoop(); passFailStrobe.startTriggerLoop("Failing", BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK8); passFailStrobe.fade(0, 0, (int)BeatmapConstants.BEAT_QUARTER * 2, 1, 0); passFailStrobe.endLoop(); /* * * // OLD CODE * * // Background * var tempBG = SB.Sprite("sb\\kq.png", SB.Background, SB.TopCentre); * tempBG.move(0, 0, 0, 320, -10, 320, -10); * tempBG.fade(0, 0, BeatmapConstants.SONG_END_OFFSET, 1, 1); * * // Rain particles * var peppyOsu = new Raincloud(); * * //peppyOsu.NoNoRegion.hardFill(60, 300, 60, 250); * //peppyOsu.importMap("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\dummy.bmp"); * * // Region List editing... * peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\rectOK.bmp", 19257); * peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\rectOK2.bmp", 38457); * peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\circleTest.bmp", 48057); * peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\tryHard.bmp", 52857); * * //peppyOsu.addShift(62437, 4822, 4822, 0, true); * //peppyOsu.addShift(62437, 4822, 600, 0, true); * peppyOsu.addShift(62437, 16, 4822, 0, true); * peppyOsu.addShift(67257, 16, -4822, 0, true); * peppyOsu.addShift(72057, 16, 0, 4822, true); * peppyOsu.addShift(76857, 16, 4822, 4822, true); * peppyOsu.addShift(81657, 16, 4822, -4822, true); * * peppyOsu.makeItRain(400, (int)(86457 / BeatmapConstants.RAINDROP_VELOCITY)); * peppyOsu.circularRain(86457,(int)( (96057-86457) / BeatmapConstants.RAINDROP_VELOCITY ), 128, true); * * var spiralRaincloud = new Raincloud(); * spiralRaincloud.hideAll(0, false); * spiralRaincloud.spiralRain(96057, 18); * * peppyOsu.createWind(0, 0, 0); * * peppyOsu.createWind(62457, 70857, 15); * * peppyOsu.createWind(72057, 80457, -15); * * peppyOsu.createWind(96056, 96056, 0); * * // Cool cinematics buzzkills * var topCutsceneBars = SB.Sprite("sb\\foo.png", SB.Foreground, SB.TopCentre); * topCutsceneBars.color(System.Drawing.Color.LimeGreen); * topCutsceneBars.fade(0.2); * topCutsceneBars.scaleVec(BeatmapConstants.SCREEN_WIDTH, 180); * topCutsceneBars.move(SGL.Storyboard.Commands.EasingTypes.InBounce, 19257, 19257 + (int)BeatmapConstants.BEAT_QUARTER * 4, 0, 0, 0, 180); * * var botCutsceneBars = SB.Sprite("sb\\foo.png", SB.Foreground, SB.BottomCentre); * botCutsceneBars.color(System.Drawing.Color.PowderBlue); * botCutsceneBars.fade(0.2); * botCutsceneBars.scaleVec(BeatmapConstants.SCREEN_WIDTH, 180); * botCutsceneBars.move(SGL.Storyboard.Commands.EasingTypes.InBounce, 19257, 19257 + (int)BeatmapConstants.BEAT_QUARTER * 4, 0, 480, 0, 300); * */ }
public override void GenerateStoryboard() { // Main code goes here. // All code in here will belong in the .osb file. // Generate background var tempBG = SB.Sprite("sb\\palmtrees.jpg", SB.Background, SB.TopCentre); tempBG.move(0, 0, 0, 320, 0, 320, 0); tempBG.fade(0, 0, BeatmapConstants.SONG_END_OFFSET, 1, 1); // So this part is dedicated to generating the rain... var mainCloud = new Raincloud(); // Initialize rain mainCloud.correlateMapToImage("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\krool.bmp", "sb\\krool_pursuit.png", BeatmapConstants.SONG_BOOK3, 16); mainCloud.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\blank.bmp", BeatmapConstants.SONG_BOOK5); // Generate rain mainCloud.makeItRain(0,(int)(BeatmapConstants.SONG_BOOK7 / BeatmapConstants.RAINDROP_VELOCITY)); mainCloud.createWind(0, 0, 0); mainCloud.createLightning(0,1); mainCloud.stackLightning(BeatmapConstants.SONG_BOOK3,48); // Pursuit -- Yes, the wind could work as a loop with the counter as an iterator, but this way // things are more explicit int pursuitCounter = BeatmapConstants.SONG_BOOK6 + (int)(BeatmapConstants.BEAT_QUARTER) * 16; mainCloud.createWind(BeatmapConstants.SONG_BOOK6, pursuitCounter, 15); pursuitCounter += (int)(BeatmapConstants.BEAT_QUARTER) * 16; mainCloud.createWind(pursuitCounter, pursuitCounter + (int)(BeatmapConstants.BEAT_QUARTER) * 16, -15); pursuitCounter += (int)(BeatmapConstants.BEAT_QUARTER) * 16; mainCloud.createWind(pursuitCounter, pursuitCounter + (int)(BeatmapConstants.BEAT_QUARTER) * 32, 45); pursuitCounter += (int)(BeatmapConstants.BEAT_QUARTER) * 32; mainCloud.createWind(pursuitCounter, pursuitCounter + (int)(BeatmapConstants.BEAT_QUARTER) * 32, -45); // Pursuit hype mainCloud.createWind(BeatmapConstants.SONG_BOOK6_A, BeatmapConstants.SONG_BOOK6_A + (int)(BeatmapConstants.BEAT_QUARTER) * 16, -90); // Chorus phase // Generating the rain mainCloud.circularRain(BeatmapConstants.SONG_BOOK7, (int)((BeatmapConstants.SONG_BOOK8 - BeatmapConstants.SONG_BOOK7) / BeatmapConstants.RAINDROP_VELOCITY), 128, true); // Pass/Fail for this portion var logoGood = SB.Sprite("sb\\dk.png", SB.Pass, SB.Centre); var logoBad = SB.Sprite("sb\\krem.png", SB.Fail, SB.Centre); logoGood.move(0, 0, 0, 320, 240, 320, 240); logoBad.move(0, 0, 0, 320, 240, 320, 240); logoGood.scale(0, 0, 0, 0.3, 0.3); logoBad.scale(0, 0, 0, 0.3, 0.3); logoGood.fade(0, BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK7, 0, 1); logoBad.fade(0, BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK7, 0, 1); logoGood.fade(0, BeatmapConstants.SONG_BOOK8 - (int)(BeatmapConstants.BEAT_QUARTER) * 4, BeatmapConstants.SONG_BOOK8, 1, 0); logoBad.fade(0, BeatmapConstants.SONG_BOOK8 - (int)(BeatmapConstants.BEAT_QUARTER) * 4, BeatmapConstants.SONG_BOOK8, 1, 0); // Spiral portion at end var spiralRaincloud = new Raincloud(); spiralRaincloud.hideAll(0, false); spiralRaincloud.spiralRain( (BeatmapConstants.SONG_BOOK8 - (int)(BeatmapConstants.BEAT_QUARTER)*4), 12); // Pass/Fail lightning var passFailStrobe = SB.Sprite("sb\\foo.png", SB.Background, SB.Centre); passFailStrobe.move(0, 0, 320, 240, 320, 240); passFailStrobe.scale(0, 0, 0, 1366, 768); passFailStrobe.fade(0, 0); passFailStrobe.startTriggerLoop("Passing", BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK8); passFailStrobe.fade(0, 0, (int)BeatmapConstants.BEAT_QUARTER*2, 0.5, 0); passFailStrobe.endLoop(); passFailStrobe.startTriggerLoop("Failing", BeatmapConstants.SONG_BOOK7, BeatmapConstants.SONG_BOOK8); passFailStrobe.fade(0, 0, (int)BeatmapConstants.BEAT_QUARTER * 2, 1, 0); passFailStrobe.endLoop(); /* // OLD CODE // Background var tempBG = SB.Sprite("sb\\kq.png", SB.Background, SB.TopCentre); tempBG.move(0, 0, 0, 320, -10, 320, -10); tempBG.fade(0, 0, BeatmapConstants.SONG_END_OFFSET, 1, 1); // Rain particles var peppyOsu = new Raincloud(); //peppyOsu.NoNoRegion.hardFill(60, 300, 60, 250); //peppyOsu.importMap("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\dummy.bmp"); // Region List editing... peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\rectOK.bmp", 19257); peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\rectOK2.bmp", 38457); peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\circleTest.bmp", 48057); peppyOsu.addRegion("D:\\Alice\\osu!\\C sharp codes\\LOCKJAW\\Lockjaw\\img\\tryHard.bmp", 52857); //peppyOsu.addShift(62437, 4822, 4822, 0, true); //peppyOsu.addShift(62437, 4822, 600, 0, true); peppyOsu.addShift(62437, 16, 4822, 0, true); peppyOsu.addShift(67257, 16, -4822, 0, true); peppyOsu.addShift(72057, 16, 0, 4822, true); peppyOsu.addShift(76857, 16, 4822, 4822, true); peppyOsu.addShift(81657, 16, 4822, -4822, true); peppyOsu.makeItRain(400, (int)(86457 / BeatmapConstants.RAINDROP_VELOCITY)); peppyOsu.circularRain(86457,(int)( (96057-86457) / BeatmapConstants.RAINDROP_VELOCITY ), 128, true); var spiralRaincloud = new Raincloud(); spiralRaincloud.hideAll(0, false); spiralRaincloud.spiralRain(96057, 18); peppyOsu.createWind(0, 0, 0); peppyOsu.createWind(62457, 70857, 15); peppyOsu.createWind(72057, 80457, -15); peppyOsu.createWind(96056, 96056, 0); // Cool cinematics buzzkills var topCutsceneBars = SB.Sprite("sb\\foo.png", SB.Foreground, SB.TopCentre); topCutsceneBars.color(System.Drawing.Color.LimeGreen); topCutsceneBars.fade(0.2); topCutsceneBars.scaleVec(BeatmapConstants.SCREEN_WIDTH, 180); topCutsceneBars.move(SGL.Storyboard.Commands.EasingTypes.InBounce, 19257, 19257 + (int)BeatmapConstants.BEAT_QUARTER * 4, 0, 0, 0, 180); var botCutsceneBars = SB.Sprite("sb\\foo.png", SB.Foreground, SB.BottomCentre); botCutsceneBars.color(System.Drawing.Color.PowderBlue); botCutsceneBars.fade(0.2); botCutsceneBars.scaleVec(BeatmapConstants.SCREEN_WIDTH, 180); botCutsceneBars.move(SGL.Storyboard.Commands.EasingTypes.InBounce, 19257, 19257 + (int)BeatmapConstants.BEAT_QUARTER * 4, 0, 480, 0, 300); */ }