debug stuff
This commit is contained in:
@@ -170,13 +170,14 @@ class CharacterEditor extends UIState {
|
||||
null,
|
||||
{
|
||||
label: "Character Hitbox?",
|
||||
onSelect: _view_character_show_hitbox,
|
||||
icon: Options.characterHitbox ? 1 : 0
|
||||
},
|
||||
{
|
||||
label: "Character Camera?",
|
||||
},
|
||||
{
|
||||
label: "Visible BG Grid?",
|
||||
},
|
||||
onSelect: _view_character_show_camera,
|
||||
icon: Options.characterCamera ? 1 : 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -215,6 +216,9 @@ class CharacterEditor extends UIState {
|
||||
character.debugMode = true;
|
||||
character.cameras = [charCamera];
|
||||
|
||||
character.debugHitbox = Options.characterHitbox;
|
||||
character.debugCamera = Options.characterCamera;
|
||||
|
||||
add(character);
|
||||
|
||||
uiGroup.cameras = [uiCamera];
|
||||
@@ -402,12 +406,22 @@ class CharacterEditor extends UIState {
|
||||
__camZoom = Math.pow(2, zoom);
|
||||
}
|
||||
|
||||
function _view_character_show_hitbox(t) {
|
||||
t.icon = (Options.characterHitbox = !Options.characterHitbox) ? 1 : 0;
|
||||
character.debugHitbox = Options.characterHitbox;
|
||||
}
|
||||
|
||||
function _view_character_show_camera(t) {
|
||||
t.icon = (Options.characterCamera = !Options.characterCamera) ? 1 : 0;
|
||||
character.debugCamera = Options.characterCamera;
|
||||
}
|
||||
|
||||
function _view_focus_character(_) {
|
||||
if (character == null) return;
|
||||
|
||||
var characterMidpoint:FlxPoint = character.getMidpoint();
|
||||
characterMidpoint.x -= (FlxG.width/2)-character.globalOffset.x;
|
||||
characterMidpoint.y -= (FlxG.height/2)-character.globalOffset.y+(23/4);
|
||||
characterMidpoint.y -= (FlxG.height/2)-character.globalOffset.y;
|
||||
_nextScroll.set(characterMidpoint.x, characterMidpoint.y);
|
||||
characterMidpoint.put();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package funkin.game;
|
||||
|
||||
import flixel.util.FlxSpriteUtil;
|
||||
import openfl.display.Graphics;
|
||||
import flixel.util.typeLimit.OneOfTwo;
|
||||
import flixel.graphics.frames.FlxFrame;
|
||||
import flixel.math.FlxPoint;
|
||||
@@ -201,6 +203,57 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset
|
||||
scale.x *= -1;
|
||||
__reverseDrawProcedure = false;
|
||||
} else super.draw();
|
||||
|
||||
if (debugHitbox) drawHitbox();
|
||||
if (debugCamera) drawCamera();
|
||||
}
|
||||
|
||||
public var debugHitbox:Bool = false;
|
||||
public var debugCamera:Bool = false;
|
||||
|
||||
public function drawHitbox() {
|
||||
if (_matrix == null || frame == null) return;
|
||||
|
||||
for (camera in cameras) {
|
||||
var gfx:Graphics = FlxG.renderBlit ? {
|
||||
FlxSpriteUtil.flashGfx.clear();
|
||||
FlxSpriteUtil.flashGfx;
|
||||
} : camera.debugLayer.graphics;
|
||||
|
||||
_rect.set(_matrix.tx, _matrix.ty, frame.frame.width * _matrix.a, frame.frame.height * _matrix.d);
|
||||
@:privateAccess _rect = camera.transformRect(_rect);
|
||||
|
||||
gfx.lineStyle(2, 0xFF00FF00, 0.75);
|
||||
gfx.drawRect(_rect.x, _rect.y, _rect.width, _rect.height);
|
||||
|
||||
if (FlxG.renderBlit)
|
||||
camera.buffer.draw(FlxSpriteUtil.flashGfxSprite);
|
||||
}
|
||||
}
|
||||
|
||||
public function drawCamera() {
|
||||
for (camera in cameras) {
|
||||
var gfx:Graphics = FlxG.renderBlit ? {
|
||||
FlxSpriteUtil.flashGfx.clear();
|
||||
FlxSpriteUtil.flashGfx;
|
||||
} : camera.debugLayer.graphics;
|
||||
|
||||
var camPos:FlxPoint = getCameraPosition();
|
||||
camPos -= camera.scroll;
|
||||
|
||||
gfx.lineStyle(2, 0xFF00FF00, 0.75);
|
||||
|
||||
gfx.moveTo(camPos.x - 8, camPos.y);
|
||||
gfx.lineTo(camPos.x + 8, camPos.y);
|
||||
|
||||
gfx.moveTo(camPos.x, camPos.y - 8);
|
||||
gfx.lineTo(camPos.x, camPos.y + 8);
|
||||
|
||||
camPos.put();
|
||||
|
||||
if (FlxG.renderBlit)
|
||||
camera.buffer.draw(FlxSpriteUtil.flashGfxSprite);
|
||||
}
|
||||
}
|
||||
|
||||
public var singAnims = ["singLEFT", "singDOWN", "singUP", "singRIGHT"];
|
||||
|
||||
@@ -68,6 +68,13 @@ class Options
|
||||
public static var charterAutoSaveWarningTime:Float = 5;
|
||||
public static var charterAutoSavesSeperateFolder:Bool = false;
|
||||
|
||||
/**
|
||||
* CHARACTER EDITOR
|
||||
*/
|
||||
public static var stageSelected:String = null;
|
||||
public static var characterHitbox:Bool = true;
|
||||
public static var characterCamera:Bool = true;
|
||||
|
||||
/**
|
||||
* PLAYER 1 CONTROLS
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user