Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea #669

Closed
wants to merge 79 commits into from
Closed

Idea #669

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
8d0df77
Add files via upload
luckydog7 Jan 9, 2021
c5fe9bc
Add files via upload
luckydog7 Jan 9, 2021
718a16d
Add files via upload
luckydog7 Jan 9, 2021
54f8cd9
Update README.md
luckydog7 Jan 9, 2021
bc8a04b
Update README.md
luckydog7 Jan 9, 2021
0768f89
Update README.md
luckydog7 Jan 9, 2021
f188931
Add files via upload
luckydog7 Jan 10, 2021
3479978
Add files via upload
luckydog7 Jan 10, 2021
62febd7
Add files via upload
luckydog7 Jan 11, 2021
e5cbaf6
Initial Commit
luckydog7 Jan 11, 2021
7a3ec97
Initial Commit 2
luckydog7 Jan 11, 2021
022c6ab
test 1
luckydog7 Jan 11, 2021
0e62ad7
Remove duplicated directory
luckydog7 Jan 11, 2021
e59d2e1
Update README.md
luckydog7 Jan 11, 2021
0702e83
Delete ChartingState.hx
luckydog7 Jan 11, 2021
29e227d
Update Project.xml
luckydog7 Jan 11, 2021
dd0ff9a
Delete NGio.hx
luckydog7 Jan 11, 2021
130dd55
Update Character.hx
luckydog7 Jan 11, 2021
d80c9c2
Update DialogueBox.hx
luckydog7 Jan 11, 2021
bd3374c
Update GameOverSubstate.hx
luckydog7 Jan 11, 2021
874f150
Update HealthIcon.hx
luckydog7 Jan 11, 2021
3dba343
Update HealthIcon.hx
luckydog7 Jan 11, 2021
f1d5331
Update Character.hx
luckydog7 Jan 11, 2021
8993bb8
Update DialogueBox.hx
luckydog7 Jan 11, 2021
c3a9571
Update FreeplayState.hx
luckydog7 Jan 11, 2021
a6e98f7
Update GameOverState.hx
luckydog7 Jan 11, 2021
458429f
Update GameOverSubstate.hx
luckydog7 Jan 11, 2021
5dd2841
Update Highscore.hx
luckydog7 Jan 11, 2021
ba71868
Update Main.hx
luckydog7 Jan 11, 2021
c520a09
Update MainMenuState.hx
luckydog7 Jan 11, 2021
9fb2fc1
Update MenuCharacter.hx
luckydog7 Jan 11, 2021
4c68a2d
Update PauseSubState.hx
luckydog7 Jan 11, 2021
bbe6e67
Update PlayState.hx
luckydog7 Jan 11, 2021
95398c2
Update StoryMenuState.hx
luckydog7 Jan 11, 2021
e0ec69b
Update TitleState.hx
luckydog7 Jan 11, 2021
61e0ef6
Update Project.xml
luckydog7 Jan 11, 2021
ed0ee73
Update Main.hx
luckydog7 Jan 11, 2021
17ed2fd
Update TitleState.hx
luckydog7 Jan 11, 2021
3cbe7c7
Update Highscore.hx
luckydog7 Jan 11, 2021
8007994
Update StoryMenuState.hx
luckydog7 Jan 11, 2021
944803a
Update introText.txt
luckydog7 Jan 11, 2021
d81e715
Update MenuCharacter.hx
luckydog7 Jan 11, 2021
9600aec
Update PlayState.hx
luckydog7 Jan 11, 2021
7a79628
Update Character.hx
luckydog7 Jan 11, 2021
cd0054d
Update HealthIcon.hx
luckydog7 Jan 11, 2021
774499c
Update MainMenuState.hx
luckydog7 Jan 11, 2021
0cb0e61
Update FreeplayState.hx
luckydog7 Jan 11, 2021
8a9892e
Update DialogueBox.hx
luckydog7 Jan 11, 2021
83464af
Update PauseSubState.hx
luckydog7 Jan 11, 2021
692e939
Add files via upload
luckydog7 Jan 11, 2021
9379c78
Update Project.xml
luckydog7 Jan 11, 2021
e565432
Update FreeplayState.hx
luckydog7 Jan 11, 2021
ab2833b
Add files via upload
luckydog7 Jan 11, 2021
a7de040
Add files via upload
luckydog7 Jan 11, 2021
c6cae19
Update README.md
luckydog7 Jan 11, 2021
ab84f7d
Update README.md
luckydog7 Jan 15, 2021
f757c39
Update README.md
luckydog7 Jan 19, 2021
f7b0a9a
Update README.md
luckydog7 Jan 30, 2021
6b6a4db
Update README.md
luckydog7 Feb 3, 2021
891298d
Update README.md
luckydog7 Feb 6, 2021
f33540c
Update README.md
luckydog7 Feb 6, 2021
93cce99
just commit
luckydog7 Feb 7, 2021
3ecc218
hi
luckydog7 Feb 18, 2021
aee172e
config file in progress
luckydog7 Feb 27, 2021
7f11cf3
moved to version 0.2.7.1 && added custom controls
luckydog7 Mar 8, 2021
4b03a07
added debug menu && fps settings
luckydog7 Mar 11, 2021
d2fed67
fixed thorns dialog
luckydog7 Mar 13, 2021
bccbb6f
Added textureDownsize.py
Le-ECE Mar 16, 2021
4f1585c
Merge pull request #82 from Le-ECE/patch-1
luckydog7 Mar 16, 2021
9c940ce
why not
luckydog7 Mar 17, 2021
4d0a9df
better custom controls
luckydog7 Mar 17, 2021
0fd3ce5
now you can edit text in main menu
luckydog7 Mar 17, 2021
2fedd86
fixed invisible controls in custom controls menu
luckydog7 Mar 18, 2021
1fbb103
im forgot that
luckydog7 Mar 24, 2021
0f1cb99
hitbox i progress
luckydog7 Mar 28, 2021
c000d72
i think its done
luckydog7 Mar 28, 2021
554a44f
little fixes
luckydog7 Mar 28, 2021
a337713
moved virtual pad tex to game
luckydog7 Mar 29, 2021
a456850
lol
luckydog7 Mar 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions OPENME!/lib/flixel/4,8,1/assets/images/ui/virtual-input.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
base = 798 138 252 252
thumb = 798 393 156 156
a = 0 0 396 135
b = 0 138 396 135
c = 0 276 396 135
down = 0 414 396 135
left = 399 0 396 135
right = 399 138 396 135
up = 399 276 396 135
x = 798 0 396 135
y = 399 414 396 135
179 changes: 179 additions & 0 deletions OPENME!/lib/flixel/4,8,1/flixel/ui/FlxVirtualPad.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
package flixel.ui;

import flixel.FlxG;
import flixel.graphics.frames.FlxTileFrames;
import flixel.group.FlxSpriteGroup;
import flixel.math.FlxPoint;
import flixel.system.FlxAssets;
import flixel.util.FlxDestroyUtil;

/**
* A gamepad which contains 4 directional buttons and 4 action buttons.
* It's easy to set the callbacks and to customize the layout.
*
* @author Ka Wing Chin
*/
class FlxVirtualPad extends FlxSpriteGroup
{
public var buttonA:FlxButton;
public var buttonB:FlxButton;
public var buttonC:FlxButton;
public var buttonY:FlxButton;
public var buttonX:FlxButton;
public var buttonLeft:FlxButton;
public var buttonUp:FlxButton;
public var buttonRight:FlxButton;
public var buttonDown:FlxButton;

/**
* Group of directions buttons.
*/
public var dPad:FlxSpriteGroup;

/**
* Group of action buttons.
*/
public var actions:FlxSpriteGroup;

/**
* Create a gamepad which contains 4 directional buttons and 4 action buttons.
*
* @param DPadMode The D-Pad mode. `FULL` for example.
* @param ActionMode The action buttons mode. `A_B_C` for example.
*/
public function new(?DPad:FlxDPadMode, ?Action:FlxActionMode)
{
super();
scrollFactor.set();

if (DPad == null)
DPad = FULL;
if (Action == null)
Action = A_B_C;

dPad = new FlxSpriteGroup();
dPad.scrollFactor.set();

actions = new FlxSpriteGroup();
actions.scrollFactor.set();

switch (DPad)
{
case UP_DOWN:
dPad.add(add(buttonUp = createButton(0, FlxG.height - 85 * 3, 44 * 3, 45 * 3, "up")));
dPad.add(add(buttonDown = createButton(0, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "down")));
case LEFT_RIGHT:
dPad.add(add(buttonLeft = createButton(0, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "left")));
dPad.add(add(buttonRight = createButton(42 * 3, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "right")));
case UP_LEFT_RIGHT:
dPad.add(add(buttonUp = createButton(35 * 3, FlxG.height - 81 * 3, 44 * 3, 45 * 3, "up")));
dPad.add(add(buttonLeft = createButton(0, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "left")));
dPad.add(add(buttonRight = createButton(69 * 3, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "right")));
case FULL:
dPad.add(add(buttonUp = createButton(35 * 3, FlxG.height - 116 * 3, 44 * 3, 45 * 3, "up")));
dPad.add(add(buttonLeft = createButton(0, FlxG.height - 81 * 3, 44 * 3, 45 * 3, "left")));
dPad.add(add(buttonRight = createButton(69 * 3, FlxG.height - 81 * 3, 44 * 3, 45 * 3, "right")));
dPad.add(add(buttonDown = createButton(35 * 3, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "down")));
case RIGHT_FULL:
dPad.add(add(buttonUp = createButton(FlxG.width - 86 * 3, FlxG.height - 66 - 116 * 3, 44 * 3, 45 * 3, "up")));
dPad.add(add(buttonLeft = createButton(FlxG.width - 130 * 3, FlxG.height - 66 - 81 * 3, 44 * 3, 45 * 3, "left")));
dPad.add(add(buttonRight = createButton(FlxG.width - 44 * 3, FlxG.height - 66 - 81 * 3, 44 * 3, 45 * 3, "right")));
dPad.add(add(buttonDown = createButton(FlxG.width - 86 * 3, FlxG.height - 66 - 45 * 3, 44 * 3, 45 * 3, "down")));
case ALTER_FULL:
dPad.add(add(buttonUp = createButton(FlxG.width - 86 * 3, FlxG.height - 66 - 90 * 3, 44 * 3, 45 * 3, "up")));
dPad.add(add(buttonDown = createButton(FlxG.width - 86 * 3, FlxG.height - 66 - 45 * 3, 44 * 3, 45 * 3, "down")));

dPad.add(add(buttonLeft = createButton(35 * 3, FlxG.height - 66 - 45 * 3, 44 * 3, 45 * 3, "left")));
dPad.add(add(buttonRight = createButton(35 * 3, FlxG.height - 66 - 90 * 3, 44 * 3, 45 * 3, "right")));
case NONE: // do nothing
}

switch (Action)
{
case A:
actions.add(add(buttonA = createButton(FlxG.width - 44 * 3, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "a")));
case A_B:
actions.add(add(buttonA = createButton(FlxG.width - 44 * 3, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "a")));
actions.add(add(buttonB = createButton(FlxG.width - 86 * 3, FlxG.height - 45 * 3, 44 * 3, 45 * 3, "b")));
case A_B_C:
actions.add(add(buttonA = createButton(FlxG.width - 128, FlxG.height - 45, 44, 45, "a")));
actions.add(add(buttonB = createButton(FlxG.width - 86, FlxG.height - 45, 44, 45, "b")));
actions.add(add(buttonC = createButton(FlxG.width - 44, FlxG.height - 45, 44, 45, "c")));
case A_B_X_Y:
actions.add(add(buttonY = createButton(FlxG.width - 86, FlxG.height - 85, 44, 45, "y")));
actions.add(add(buttonX = createButton(FlxG.width - 44, FlxG.height - 85, 44, 45, "x")));
actions.add(add(buttonB = createButton(FlxG.width - 86, FlxG.height - 45, 44, 45, "b")));
actions.add(add(buttonA = createButton(FlxG.width - 44, FlxG.height - 45, 44, 45, "a")));
case NONE: // do nothing
}
}

override public function destroy():Void
{
super.destroy();

dPad = FlxDestroyUtil.destroy(dPad);
actions = FlxDestroyUtil.destroy(actions);

dPad = null;
actions = null;
buttonA = null;
buttonB = null;
buttonC = null;
buttonY = null;
buttonX = null;
buttonLeft = null;
buttonUp = null;
buttonDown = null;
buttonRight = null;
}

/**
* @param X The x-position of the button.
* @param Y The y-position of the button.
* @param Width The width of the button.
* @param Height The height of the button.
* @param Graphic The image of the button. It must contains 3 frames (`NORMAL`, `HIGHLIGHT`, `PRESSED`).
* @param Callback The callback for the button.
* @return The button
*/
public function createButton(X:Float, Y:Float, Width:Int, Height:Int, Graphic:String, ?OnClick:Void->Void):FlxButton
{
var button = new FlxButton(X, Y);
var frame = FlxAssets.getVirtualInputFrames().getByName(Graphic);
button.frames = FlxTileFrames.fromFrame(frame, FlxPoint.get(Width, Height));
button.resetSizeFromFrame();
button.solid = false;
button.immovable = true;
button.scrollFactor.set();

#if FLX_DEBUG
button.ignoreDrawDebug = true;
#end

if (OnClick != null)
button.onDown.callback = OnClick;

return button;
}
}

enum FlxDPadMode
{
NONE;
UP_DOWN;
LEFT_RIGHT;
UP_LEFT_RIGHT;
RIGHT_FULL;
ALTER_FULL;
FULL;
}

enum FlxActionMode
{
NONE;
A;
A_B;
A_B_C;
A_B_X_Y;
}
3 changes: 3 additions & 0 deletions OPENME!/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
this folder need to copy in C:\HaxeToolkit\haxe\lib
this folder need to gamepad
(try without this)
106 changes: 82 additions & 24 deletions Project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<project>
<!-- _________________________ Application Settings _________________________ -->

<app title="Friday Night Funkin" file="Funkin" packageName="com.ninjamuffin99.funkin" main="Main" version="0.2.5" company="ninjamuffin99" />
<app title="Friday Night Funkin'" file="Funkin" packageName="com.ninjamuffin99.funkin" package="com.ninjamuffin99.funkin" main="Main" version="0.2.7.1" company="ninjamuffin99" />

<!--Switch Export with Unique ApplicationID and Icon-->
<set name="APP_ID" value="0x0100f6c013bbc000" />
Expand All @@ -18,16 +18,16 @@
<!-- ____________________________ Window Settings ___________________________ -->

<!--These window settings apply to all targets-->
<window width="1280" height="720" fps="60" background="#000000" hardware="true" vsync="false" />
<window width="1280" height="720" fps="" background="#000000" hardware="true" vsync="false" />

<!--HTML5-specific-->
<window if="html5" resizable="true" />

<!--Desktop-specific-->
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" />
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" vsync="false"/>

<!--Mobile-specific-->
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" />
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" resizable="false"/>

<!--Switch-specific-->
<window if="switch" orientation="landscape" fullscreen="true" width="0" height="0" resizable="true" />
Expand All @@ -40,22 +40,74 @@

<classpath name="source" />

<assets path="assets/images" />
<assets path="assets/data" />
<assets path='assets/mods' />

<!-- <library name="noPreload" preload='false'/> -->
<!-- <library name="noPreload"/> -->
<assets path="assets/music" include="*.mp3" if="web"/>
<assets path="assets/music" include="*.ogg" unless="web"/>
<assets path="assets/sounds" include="*.mp3" if="web" />
<assets path="assets/sounds" include="*.ogg" unless="web" />

<assets path="CHANGELOG.md"/>

<classpath name="source/options" />
<classpath name="source/ui" />

<assets path="assets/fonts/vcr.ttf" embed="true" />
<assets path="assets" include="*.txt"/>
<assets path="assets/shared/images/hitbox"/>

<assets path="assets/preload" rename="assets" exclude="*.ogg" if="web"/>
<assets path="assets/preload" rename="assets" exclude="*.mp3" unless="web"/>

<!-- <define name="PRELOAD_ALL" /> -->
<define name="PRELOAD_ALL" unless="web" />
<define name="NO_PRELOAD_ALL" unless="PRELOAD_ALL"/>

<section if="PRELOAD_ALL">
<library name="songs" preload="true" />
<library name="shared" preload="true" />
<library name="tutorial" preload="true" />
<library name="week1" preload="true" />
<library name="week2" preload="true" />
<library name="week3" preload="true" />
<library name="week4" preload="true" />
<library name="week5" preload="true" />
<library name="week6" preload="true" />
</section>

<section if="NO_PRELOAD_ALL">
<library name="songs" preload="false" />
<library name="shared" preload="false" />
<library name="tutorial" preload="false" />
<library name="week1" preload="false" />
<library name="week2" preload="false" />
<library name="week3" preload="false" />
<library name="week4" preload="false" />
<library name="week5" preload="false" />
<library name="week6" preload="false" />
</section>

<assets path="assets/songs" library="songs" exclude="*.ogg" if="web"/>
<assets path="assets/songs" library="songs" exclude="*.mp3" unless="web"/>
<assets path="assets/shared" library="shared" exclude="*.ogg" if="web"/>
<assets path="assets/shared" library="shared" exclude="*.mp3" unless="web"/>
<assets path="assets/tutorial" library="tutorial" exclude="*.ogg" if="web"/>
<assets path="assets/tutorial" library="tutorial" exclude="*.mp3" unless="web"/>
<assets path="assets/week1" library="week1" exclude="*.ogg" if="web"/>
<assets path="assets/week1" library="week1" exclude="*.mp3" unless="web"/>
<assets path="assets/week2" library="week2" exclude="*.ogg" if="web"/>
<assets path="assets/week2" library="week2" exclude="*.mp3" unless="web"/>
<assets path="assets/week3" library="week3" exclude="*.ogg" if="web"/>
<assets path="assets/week3" library="week3" exclude="*.mp3" unless="web"/>
<assets path="assets/week4" library="week4" exclude="*.ogg" if="web"/>
<assets path="assets/week4" library="week4" exclude="*.mp3" unless="web"/>
<assets path="assets/week5" library="week5" exclude="*.ogg" if="web"/>
<assets path="assets/week5" library="week5" exclude="*.mp3" unless="web"/>
<assets path="assets/week6" library="week6" exclude="*.ogg" if="web"/>
<assets path="assets/week6" library="week6" exclude="*.mp3" unless="web"/>

<assets path='example_mods' rename='mods' embed='false'/>
<assets path='art/readme.txt' rename='do NOT readme.txt' />
<!-- <template path='mods' /> -->

<assets path="CHANGELOG.md" rename='changelog.txt'/>

<!-- 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 All @@ -67,9 +119,11 @@

<!--In case you want to use the ui package-->
<haxelib name="flixel-ui" />
<haxelib name="newgrounds"/>
<haxelib name="newgrounds" unless='mobile'/>
<haxelib name="faxe" if='switch'/>
<haxelib name="polymod"/>
<haxelib name="discord_rpc" if="desktop"/>
<!-- <haxelib name="hxcpp-debug-server" if="desktop"/> -->

<!-- <haxelib name="markdown" /> -->
<!-- <haxelib name="HtmlParser" /> -->
Expand All @@ -89,9 +143,9 @@
<!--<haxedef name="FLX_NO_NATIVE_CURSOR" />-->

<!--Optimise inputs, be careful you will get null errors if you don't use conditionals in your game-->
<haxedef name="FLX_NO_MOUSE" if="mobile" />
<haxedef name="FLX_NO_KEYBOARD" if="mobile" />
<haxedef name="FLX_NO_TOUCH" if="desktop" />
<!-- <haxedef name="FLX_NO_MOUSE" if="mobile" /> -->
<!-- <haxedef name="FLX_NO_KEYBOARD" if="mobile" /> -->
<!-- <haxedef name="FLX_NO_TOUCH" if="desktop" /> -->
<!--<haxedef name="FLX_NO_GAMEPAD" />-->

<!--Disable the Flixel core sound tray-->
Expand All @@ -101,7 +155,7 @@
<!--<haxedef name="FLX_NO_SOUND_SYSTEM" />-->

<!--Disable the Flixel core focus lost screen-->
<!--<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />-->
<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />

<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
<haxedef name="FLX_NO_DEBUG" unless="debug" />
Expand All @@ -112,7 +166,11 @@
<!-- _________________________________ Custom _______________________________ -->

<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->
<icon path="art/icon.png" />

<icon path="art/icon16.png" size='16'/>
<icon path="art/icon32.png" size='32'/>
<icon path="art/icon64.png" size='64'/>
<icon path="art/iconOG.png" />


<!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> -->
Expand Down
Loading