This commit is contained in:
Cameron Taylor 2020-12-26 21:46:22 -05:00
parent a0c74ae053
commit 6ba417574f
25 changed files with 165 additions and 9 deletions

View File

@ -58,6 +58,7 @@
<!-- _______________________________ Libraries ______________________________ --> <!-- _______________________________ Libraries ______________________________ -->
<haxelib name="flixel" /> <haxelib name="flixel" />
<haxedev set='webgl' />
<!--In case you want to use the addons package--> <!--In case you want to use the addons package-->
<haxelib name="flixel-addons" /> <haxelib name="flixel-addons" />

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -11,5 +11,6 @@ Luis
GeoKureli GeoKureli
Will Blanton Will Blanton
SrPelo SrPelo
Austin East
BIT BOY - MIKE WELSH BIT BOY - MIKE WELSH

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="bgLimo.png">
<!-- Created with Adobe Animate version 20.0.0.17400 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="BG limo instance 10000" x="0" y="0" width="2193" height="379" frameX="-19" frameY="-6" frameWidth="2212" frameHeight="385"/>
<SubTexture name="BG limo instance 10001" x="0" y="389" width="2212" height="381" frameX="0" frameY="-4" frameWidth="2212" frameHeight="385"/>
<SubTexture name="BG limo instance 10002" x="0" y="780" width="2193" height="384" frameX="-19" frameY="-1" frameWidth="2212" frameHeight="385"/>
<SubTexture name="BG limo instance 10003" x="0" y="1174" width="2193" height="385" frameX="-19" frameY="0" frameWidth="2212" frameHeight="385"/>
</TextureAtlas>

BIN
assets/images/limo/dumb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="limoDrive.png">
<!-- Created with Adobe Animate version 20.0.0.17400 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="Limo stage0000" x="0" y="0" width="2048" height="646"/>
<SubTexture name="Limo stage0001" x="0" y="656" width="2048" height="646"/>
<SubTexture name="Limo stage0002" x="0" y="1312" width="2048" height="646"/>
<SubTexture name="Limo stage0003" x="0" y="0" width="2048" height="646"/>
</TextureAtlas>

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

34
source/BlendModeEffect.hx Normal file
View File

@ -0,0 +1,34 @@
package;
import flixel.util.FlxColor;
import openfl.display.ShaderParameter;
typedef BlendModeShader =
{
var uBlendColor:ShaderParameter<Float>;
}
class BlendModeEffect
{
public var shader(default, null):BlendModeShader;
@:isVar
public var color(default, set):FlxColor;
public function new(shader:BlendModeShader, color:FlxColor):Void
{
shader.uBlendColor.value = [];
this.shader = shader;
this.color = color;
}
function set_color(color:FlxColor):FlxColor
{
shader.uBlendColor.value[0] = color.redFloat;
shader.uBlendColor.value[1] = color.greenFloat;
shader.uBlendColor.value[2] = color.blueFloat;
shader.uBlendColor.value[3] = color.alphaFloat;
return this.color = color;
}
}

View File

@ -241,9 +241,9 @@ class ChartingState extends MusicBeatState
stepperSectionBPM.value = Conductor.bpm; stepperSectionBPM.value = Conductor.bpm;
stepperSectionBPM.name = 'section_bpm'; stepperSectionBPM.name = 'section_bpm';
var stepperCopy:FlxUINumericStepper = new FlxUINumericStepper(110, 30, 1, 1, -999, 999, 0); var stepperCopy:FlxUINumericStepper = new FlxUINumericStepper(110, 130, 1, 1, -999, 999, 0);
var copyButton:FlxButton = new FlxButton(110, 8, "Copy last section", function() var copyButton:FlxButton = new FlxButton(10, 130, "Copy last section", function()
{ {
copySection(Std.int(stepperCopy.value)); copySection(Std.int(stepperCopy.value));
}); });

View File

@ -12,7 +12,7 @@ import lime.utils.Assets;
class FreeplayState extends MusicBeatState class FreeplayState extends MusicBeatState
{ {
var songs:Array<String> = ["Milf", "Bopeebo", "Dadbattle", "Fresh", "Tutorial"]; var songs:Array<String> = ["High", "Milf", "Bopeebo", "Dadbattle", "Fresh", "Tutorial"];
var selector:FlxText; var selector:FlxText;
var curSelected:Int = 0; var curSelected:Int = 0;

33
source/OverlayShader.hx Normal file
View File

@ -0,0 +1,33 @@
package;
import flixel.system.FlxAssets.FlxShader;
class OverlayShader extends FlxShader
{
@:glFragmentSource('
#pragma header
uniform vec4 uBlendColor;
vec3 blendLighten(base:Vec3, blend:Vec3) : Vec3 {
return mix(
1.0 - 2.0 * (1.0 - base) * (1.0 - blend),
2.0 * base * blend,
step( base, vec3(0.5) )
);
}
vec4 blendLighten(vec4 base, vec4 blend, float opacity)
{
return (blendLighten(base, blend) * opacity + base * (1.0 - opacity));
}
void main()
{
vec4 base = texture2D(bitmap, openfl_TextureCoordv);
gl_FragColor = blendLighten(base, uBlendColor, uBlendColor.a);
}')
public function new()
{
super();
}
}

View File

@ -46,7 +46,7 @@ class PauseSubState extends MusicBeatSubstate
changeSelection(); changeSelection();
cameras = [FlxG.cameras.list[1]]; cameras = [FlxG.cameras.list[FlxG.cameras.list.length - 1]];
} }
override function update(elapsed:Float) override function update(elapsed:Float)

View File

@ -29,6 +29,8 @@ import flixel.util.FlxStringUtil;
import flixel.util.FlxTimer; import flixel.util.FlxTimer;
import haxe.Json; import haxe.Json;
import lime.utils.Assets; import lime.utils.Assets;
import openfl.display.BlendMode;
import openfl.filters.ShaderFilter;
using StringTools; using StringTools;
@ -87,12 +89,16 @@ class PlayState extends MusicBeatState
var phillyTrain:FlxSprite; var phillyTrain:FlxSprite;
var trainSound:FlxSound; var trainSound:FlxSound;
var limo:FlxSprite;
var talking:Bool = true; var talking:Bool = true;
var songScore:Int = 0; var songScore:Int = 0;
var scoreTxt:FlxText; var scoreTxt:FlxText;
public static var campaignScore:Int = 0; public static var campaignScore:Int = 0;
var defaultCamZoom:Float = 1.05;
override public function create() override public function create()
{ {
// var gameCam:FlxCamera = FlxG.camera; // var gameCam:FlxCamera = FlxG.camera;
@ -192,6 +198,41 @@ class PlayState extends MusicBeatState
var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic(AssetPaths.street__png); var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic(AssetPaths.street__png);
add(street); add(street);
} }
else if (SONG.song.toLowerCase() == 'milf' || SONG.song.toLowerCase() == 'satin-panties' || SONG.song.toLowerCase() == 'high')
{
curStage = 'limo';
defaultCamZoom = 0.90;
var skyBG:FlxSprite = new FlxSprite(-120, -50).loadGraphic(AssetPaths.limoSunset__png);
skyBG.scrollFactor.set(0.1, 0.1);
add(skyBG);
var bgLimo:FlxSprite = new FlxSprite(-200, 400);
bgLimo.frames = FlxAtlasFrames.fromSparrow(AssetPaths.bgLimo__png, AssetPaths.bgLimo__xml);
bgLimo.animation.addByPrefix('drive', "BG limo", 24);
bgLimo.animation.play('drive');
bgLimo.scrollFactor.set(0.4, 0.4);
add(bgLimo);
var overlayShit:FlxSprite = new FlxSprite(-500, -600).loadGraphic(AssetPaths.limoOverlay__png);
overlayShit.alpha = 0.5;
// add(overlayShit);
// var shaderBullshit = new BlendModeEffect(new OverlayShader(), FlxColor.RED);
// FlxG.camera.setFilters([new ShaderFilter(cast shaderBullshit.shader)]);
// overlayShit.shader = shaderBullshit;
var limoTex = FlxAtlasFrames.fromSparrow(AssetPaths.limoDrive__png, AssetPaths.limoDrive__xml);
limo = new FlxSprite(-120, 550);
limo.frames = limoTex;
limo.animation.addByPrefix('drive', "Limo stage", 24);
limo.animation.play('drive');
limo.antialiasing = true;
// add(limo);
}
else else
{ {
curStage = 'stage'; curStage = 'stage';
@ -226,6 +267,10 @@ class PlayState extends MusicBeatState
gf.antialiasing = true; gf.antialiasing = true;
add(gf); add(gf);
// Shitty layering but whatev it works LOL
if (curStage == 'limo')
add(limo);
dad = new Character(100, 100, SONG.player2); dad = new Character(100, 100, SONG.player2);
add(dad); add(dad);
@ -256,6 +301,16 @@ class PlayState extends MusicBeatState
boyfriend = new Boyfriend(770, 450); boyfriend = new Boyfriend(770, 450);
add(boyfriend); add(boyfriend);
// REPOSITIONING PER STAGE
switch (curStage)
{
case 'limo':
{
boyfriend.y -= 220;
boyfriend.x += 260;
}
}
var doof:DialogueBox = new DialogueBox(false, dialogue); var doof:DialogueBox = new DialogueBox(false, dialogue);
// doof.x += 70; // doof.x += 70;
doof.y = FlxG.height * 0.5; doof.y = FlxG.height * 0.5;
@ -287,7 +342,7 @@ class PlayState extends MusicBeatState
FlxG.camera.follow(camFollow, LOCKON, 0.04); FlxG.camera.follow(camFollow, LOCKON, 0.04);
// FlxG.camera.setScrollBounds(0, FlxG.width, 0, FlxG.height); // FlxG.camera.setScrollBounds(0, FlxG.width, 0, FlxG.height);
FlxG.camera.zoom = 1.05; FlxG.camera.zoom = defaultCamZoom;
FlxG.worldBounds.set(0, 0, FlxG.width, FlxG.height); FlxG.worldBounds.set(0, 0, FlxG.width, FlxG.height);
@ -790,6 +845,11 @@ class PlayState extends MusicBeatState
{ {
camFollow.setPosition(boyfriend.getMidpoint().x - 100, boyfriend.getMidpoint().y - 100); camFollow.setPosition(boyfriend.getMidpoint().x - 100, boyfriend.getMidpoint().y - 100);
if (curStage == 'limo')
{
camFollow.x = boyfriend.getMidpoint().x - 300;
}
if (SONG.song.toLowerCase() == 'tutorial') if (SONG.song.toLowerCase() == 'tutorial')
{ {
FlxTween.tween(FlxG.camera, {zoom: 1}, (Conductor.stepCrochet * 4 / 1000), {ease: FlxEase.elasticInOut}); FlxTween.tween(FlxG.camera, {zoom: 1}, (Conductor.stepCrochet * 4 / 1000), {ease: FlxEase.elasticInOut});
@ -799,7 +859,7 @@ class PlayState extends MusicBeatState
if (camZooming) if (camZooming)
{ {
FlxG.camera.zoom = FlxMath.lerp(1.05, FlxG.camera.zoom, 0.95); FlxG.camera.zoom = FlxMath.lerp(defaultCamZoom, FlxG.camera.zoom, 0.95);
camHUD.zoom = FlxMath.lerp(1, camHUD.zoom, 0.95); camHUD.zoom = FlxMath.lerp(1, camHUD.zoom, 0.95);
} }
@ -1003,6 +1063,7 @@ class PlayState extends MusicBeatState
} }
else else
{ {
trace('WENT BACK TO FREEPLAY??');
FlxG.switchState(new FreeplayState()); FlxG.switchState(new FreeplayState());
} }
} }

View File

@ -74,7 +74,9 @@ class TitleState extends MusicBeatState
StoryMenuState.weekUnlocked[0] = true; StoryMenuState.weekUnlocked[0] = true;
} }
#if SKIP_TO_PLAYSTATE #if FREEPLAY
FlxG.switchState(new FreeplayState());
#elseif CHARTING
FlxG.switchState(new ChartingState()); FlxG.switchState(new ChartingState());
#else #else
startIntro(); startIntro();