Skip to content

Commit

Permalink
FONT AND BULLSHIT
Browse files Browse the repository at this point in the history
  • Loading branch information
ninjamuffin99 committed Feb 1, 2021
1 parent e4b9092 commit b6091a4
Show file tree
Hide file tree
Showing 8 changed files with 137 additions and 17 deletions.
9 changes: 6 additions & 3 deletions Project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,12 @@

<assets path="CHANGELOG.md"/>


<assets path="assets/fonts/vcr.ttf" embed="true" />

<!-- NOTE FOR FUTURE SELF SINCE FONTS ARE ALWAYS FUCKY
TO FIX ONE OF THEM, I CONVERTED IT TO OTF. DUNNO IF YOU NEED TO
THEN UHHH I USED THE NAME OF THE FONT WITH SETFORMAT() ON THE TEXT!!!
NOT USING A DIRECT THING TO THE ASSET!!!
-->
<assets path="assets/fonts" embed='true'/>
<!-- _______________________________ Libraries ______________________________ -->

<haxelib name="flixel" />
Expand Down
Binary file added assets/fonts/pixel.otf
Binary file not shown.
Binary file added assets/images/weeb/pixelUI/dialogueBox-pixel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions assets/images/weeb/pixelUI/dialogueBox-pixel.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="dialogueBox-pixel.png">
<!-- Created with Adobe Animate version 20.0.0.17400 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="Text Box Appear instance 10000" x="0" y="0" width="249" height="144"/>
<SubTexture name="Text Box Appear instance 10001" x="259" y="0" width="249" height="144"/>
<SubTexture name="Text Box Appear instance 10002" x="0" y="154" width="249" height="144"/>
<SubTexture name="Text Box Appear instance 10003" x="259" y="154" width="249" height="144"/>
<SubTexture name="Text Box Appear instance 10004" x="259" y="154" width="249" height="144"/>
</TextureAtlas>
Binary file added assets/sounds/pixelText.mp3
Binary file not shown.
Binary file added assets/sounds/pixelText.ogg
Binary file not shown.
110 changes: 102 additions & 8 deletions source/DialogueBox.hx
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,99 @@ package;

import flixel.FlxG;
import flixel.FlxSprite;
import flixel.addons.text.FlxTypeText;
import flixel.graphics.frames.FlxAtlasFrames;
import flixel.group.FlxSpriteGroup;
import flixel.input.FlxKeyManager;
import flixel.text.FlxText;
import flixel.util.FlxTimer;

using StringTools;

class DialogueBox extends FlxSpriteGroup
{
var box:FlxSprite;

var curCharacter:String = '';

var dialogue:Alphabet;
var dialogueList:Array<String> = [];

// SECOND DIALOGUE FOR THE PIXEL SHIT INSTEAD???
var swagDialogue:FlxTypeText;

var dropText:FlxText;

public var finishThing:Void->Void;

var portraitLeft:FlxSprite;
var portraitRight:FlxSprite;

public function new(talkingRight:Bool = true, ?dialogueList:Array<String>)
{
super();

box = new FlxSprite(40);
box.frames = FlxAtlasFrames.fromSparrow('assets/images/speech_bubble_talking.png', 'assets/images/speech_bubble_talking.xml');
box.animation.addByPrefix('normalOpen', 'Speech Bubble Normal Open', 24, false);
box.animation.addByPrefix('normal', 'speech bubble normal', 24);
var bgFade:FlxSprite = new FlxSprite(-200, -200).makeGraphic(Std.int(FlxG.width * 1.3), Std.int(FlxG.height * 1.3), 0xFFB3DFd8);
bgFade.scrollFactor.set();
bgFade.alpha = 0;
add(bgFade);

new FlxTimer().start(0.83, function(tmr:FlxTimer)
{
bgFade.alpha += (1 / 5) * 0.7;
if (bgFade.alpha > 0.7)
bgFade.alpha = 0.7;
}, 5);

portraitLeft = new FlxSprite(-20, 40);
portraitLeft.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/senpaiPortrait.png', 'assets/images/weeb/senpaiPortrait.xml');
portraitLeft.animation.addByPrefix('enter', 'Senpai Portrait Enter', 24, false);
portraitLeft.setGraphicSize(Std.int(portraitLeft.width * PlayState.daPixelZoom * 0.9));
portraitLeft.updateHitbox();
portraitLeft.scrollFactor.set();
add(portraitLeft);
portraitLeft.visible = false;

portraitRight = new FlxSprite(0, 40);
portraitRight.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/bfPortrait.png', 'assets/images/weeb/bfPortrait.xml');
portraitRight.animation.addByPrefix('enter', 'Boyfriend portrait enter', 24, false);
portraitRight.setGraphicSize(Std.int(portraitRight.width * PlayState.daPixelZoom * 0.9));
portraitRight.updateHitbox();
portraitRight.scrollFactor.set();
add(portraitRight);
portraitRight.visible = false;

box = new FlxSprite(-20, 45);
box.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/pixelUI/dialogueBox-pixel.png', 'assets/images/weeb/pixelUI/dialogueBox-pixel.xml');
box.animation.addByPrefix('normalOpen', 'Text Box Appear', 24, false);
box.animation.addByIndices('normal', 'Text Box Appear', [4], "", 24);
box.animation.play('normalOpen');
box.setGraphicSize(Std.int(box.width * PlayState.daPixelZoom * 0.9));
box.updateHitbox();
add(box);

box.screenCenter(X);
portraitLeft.screenCenter(X);

if (!talkingRight)
{
box.flipX = true;
}

dropText = new FlxText(242, 502, Std.int(FlxG.width * 0.6), "", 32);
dropText.font = 'Pixel Arial 11 Bold';
dropText.color = 0xFFD89494;
add(dropText);

swagDialogue = new FlxTypeText(240, 500, Std.int(FlxG.width * 0.6), "", 32);
swagDialogue.font = 'Pixel Arial 11 Bold';
swagDialogue.color = 0xFF3F2021;
swagDialogue.sounds = [FlxG.sound.load('assets/sounds/pixelText' + TitleState.soundExt, 0.6)];
add(swagDialogue);

dialogue = new Alphabet(0, 80, "", false, true);
// dialogue.x = 90;
add(dialogue);
// add(dialogue);

this.dialogueList = dialogueList;
}
Expand All @@ -43,6 +104,8 @@ class DialogueBox extends FlxSpriteGroup

override function update(elapsed:Float)
{
dropText.text = swagDialogue.text;

if (box.animation.curAnim != null)
{
if (box.animation.curAnim.name == 'normalOpen' && box.animation.curAnim.finished)
Expand Down Expand Up @@ -79,8 +142,39 @@ class DialogueBox extends FlxSpriteGroup

function startDialogue():Void
{
var theDialog:Alphabet = new Alphabet(0, 70, dialogueList[0], false, true);
dialogue = theDialog;
add(theDialog);
cleanDialog();

// var theDialog:Alphabet = new Alphabet(0, 70, dialogueList[0], false, true);
// dialogue = theDialog;
// add(theDialog);

// swagDialogue.text = ;
swagDialogue.resetText(dialogueList[0]);
swagDialogue.start(0.02, true);

switch (curCharacter)
{
case 'dad':
portraitRight.visible = false;
if (!portraitLeft.visible)
{
portraitLeft.visible = true;
portraitLeft.animation.play('enter');
}
case 'bf':
portraitLeft.visible = false;
if (!portraitRight.visible)
{
portraitRight.visible = true;
portraitRight.animation.play('enter');
}
}
}

function cleanDialog():Void
{
var splitName:Array<String> = dialogueList[0].split(":");
curCharacter = splitName[1];
dialogueList[0] = dialogueList[0].substr(splitName[1].length + 2).trim();
}
}
25 changes: 19 additions & 6 deletions source/PlayState.hx
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,12 @@ class PlayState extends MusicBeatState
"If you can beat me here...",
"Only then I will even CONSIDER letting you\ndate my daughter!"
];
case 'senpai':
dialogue = [
':dad:Ah, a new fair maiden has come in search of true love!',
":dad:A serenade between gentlemen shall decide where her beautiful heart shall reside.",
":bf:Beep bo bop"
];
}

if (SONG.song.toLowerCase() == 'spookeez' || SONG.song.toLowerCase() == 'monster' || SONG.song.toLowerCase() == 'south')
Expand Down Expand Up @@ -511,7 +517,7 @@ class PlayState extends MusicBeatState

var doof:DialogueBox = new DialogueBox(false, dialogue);
// doof.x += 70;
doof.y = FlxG.height * 0.5;
// doof.y = FlxG.height * 0.5;
doof.scrollFactor.set();
doof.finishThing = startCountdown;

Expand Down Expand Up @@ -619,7 +625,9 @@ class PlayState extends MusicBeatState
});
});
case 'senpai':
schoolIntro();
schoolIntro(doof);
case 'roses':
schoolIntro(doof);
default:
startCountdown();
}
Expand All @@ -629,7 +637,7 @@ class PlayState extends MusicBeatState
switch (curSong.toLowerCase())
{
case 'senpai':
schoolIntro();
schoolIntro(doof);
default:
startCountdown();
}
Expand All @@ -638,7 +646,7 @@ class PlayState extends MusicBeatState
super.create();
}

function schoolIntro():Void
function schoolIntro(?dialogueBox:DialogueBox):Void
{
var black:FlxSprite = new FlxSprite(-100, -100).makeGraphic(FlxG.width * 2, FlxG.height * 2, FlxColor.BLACK);
black.scrollFactor.set();
Expand All @@ -647,15 +655,20 @@ class PlayState extends MusicBeatState
new FlxTimer().start(0.3, function(tmr:FlxTimer)
{
black.alpha -= 0.15;
if (!startedCountdown)
startCountdown();

if (black.alpha > 0)
{
tmr.reset(0.3);
}
else
{
if (dialogueBox != null)
{
add(dialogueBox);
}
else
startCountdown();

remove(black);
}
});
Expand Down

0 comments on commit b6091a4

Please sign in to comment.