forked from LeenkxTeam/LNXSDK
Repe [T3DU] and Moises Jpelaez updates
This commit is contained in:
@ -601,8 +601,10 @@ class Keyboard extends VirtualInput {
|
||||
|
||||
function downListener(code: KeyCode) {
|
||||
var s = keyCode(code);
|
||||
keysFrame.push(s);
|
||||
keysStarted.set(s, true);
|
||||
if (!keysDown.get(s)) {
|
||||
keysFrame.push(s);
|
||||
keysStarted.set(s, true);
|
||||
}
|
||||
keysDown.set(s, true);
|
||||
repeatTime = kha.Scheduler.time() + 0.4;
|
||||
|
||||
@ -618,8 +620,10 @@ class Keyboard extends VirtualInput {
|
||||
|
||||
function upListener(code: KeyCode) {
|
||||
var s = keyCode(code);
|
||||
keysFrame.push(s);
|
||||
keysReleased.set(s, true);
|
||||
if (keysDown.get(s)) {
|
||||
keysFrame.push(s);
|
||||
keysReleased.set(s, true);
|
||||
}
|
||||
keysDown.set(s, false);
|
||||
|
||||
#if kha_android_rmb
|
||||
@ -746,7 +750,11 @@ class Gamepad extends VirtualInput {
|
||||
}
|
||||
else if (axis == 1 || axis == 3) { // Y
|
||||
stick.lastY = stick.y;
|
||||
#if (kha_html5 || lnx_debug_html5)
|
||||
stick.y = -value;
|
||||
#else
|
||||
stick.y = value;
|
||||
#end
|
||||
stick.movementY = stick.y - stick.lastY;
|
||||
}
|
||||
stick.moved = true;
|
||||
@ -765,13 +773,12 @@ class Gamepad extends VirtualInput {
|
||||
}
|
||||
|
||||
class Sensor {
|
||||
|
||||
public var x = 0.0;
|
||||
public var y = 0.0;
|
||||
public var z = 0.0;
|
||||
|
||||
public function new() {
|
||||
kha.input.Sensor.get(kha.input.SensorType.Accelerometer).notify(listener);
|
||||
public function new(sensorType: kha.input.SensorType = kha.input.SensorType.Accelerometer) {
|
||||
kha.input.Sensor.get(sensorType).notify(listener);
|
||||
}
|
||||
|
||||
function listener(x: Float, y: Float, z: Float) {
|
||||
|
||||
@ -111,12 +111,18 @@ class LnxPack {
|
||||
#if js
|
||||
var out = {};
|
||||
#else
|
||||
var out = Type.createEmptyInstance(getClass(key, parentKey));
|
||||
var cls = getClass(key, parentKey);
|
||||
var out: Dynamic = cls != null ? Type.createEmptyInstance(cls) : {};
|
||||
var fields: Array<String> = cls != null ? Type.getInstanceFields(cls) : null;
|
||||
#end
|
||||
for (n in 0...length) {
|
||||
var k = Std.string(read(i));
|
||||
var raw = read(i);
|
||||
var k = Std.string(raw);
|
||||
var v = read(i, k, key);
|
||||
Reflect.setField(out, k, v);
|
||||
#if !js
|
||||
if (fields == null || fields.indexOf(k) != -1)
|
||||
#end
|
||||
Reflect.setField(out, k, v);
|
||||
}
|
||||
return out;
|
||||
}
|
||||
@ -161,7 +167,9 @@ class LnxPack {
|
||||
case "tracks": TTrack;
|
||||
case "morph_target": TMorphTarget;
|
||||
case "vertex_groups": TVertex_groups;
|
||||
case _: TSceneFormat;
|
||||
case "tilesheet": TTilesheetData;
|
||||
case "events": TTilesheetEvent;
|
||||
case _: null;
|
||||
}
|
||||
}
|
||||
#end
|
||||
|
||||
@ -2,27 +2,19 @@ package iron.system;
|
||||
|
||||
class Time {
|
||||
public static var scale = 1.0;
|
||||
|
||||
// TODO: VR Frame Time Override - used to sync physics with VR headset refresh rate
|
||||
#if lnx_vr
|
||||
public static var vrFrameTime: Float = -1.0; // VR frame time in seconds (-1 = not in VR)
|
||||
static var lastVRFrameTime: Float = 0.0;
|
||||
static var vrFrameCount: Int = 0;
|
||||
static var normalModeLogged: Bool = false;
|
||||
#end
|
||||
|
||||
|
||||
static var frequency: Null<Int> = null;
|
||||
static function initFrequency() {
|
||||
frequency = kha.Display.primary != null ? kha.Display.primary.frequency : 60;
|
||||
}
|
||||
|
||||
|
||||
public static var step(get, never): Float;
|
||||
static function get_step(): Float {
|
||||
if (frequency == null) initFrequency();
|
||||
return 1 / frequency;
|
||||
}
|
||||
|
||||
static var _fixedStep: Null<Float> = 1/60;
|
||||
|
||||
static var _fixedStep: Null<Float> = 1 / 60;
|
||||
public static var fixedStep(get, never): Float;
|
||||
static function get_fixedStep(): Float {
|
||||
return _fixedStep;
|
||||
@ -32,31 +24,45 @@ class Time {
|
||||
_fixedStep = value;
|
||||
}
|
||||
|
||||
static var _fixedStepInterpolation: Float = 0.0;
|
||||
public static var fixedStepInterpolation(get, never): Float;
|
||||
static function get_fixedStepInterpolation(): Float {
|
||||
return _fixedStepInterpolation;
|
||||
}
|
||||
|
||||
// TODO: VR Frame Time Override - used to sync physics with VR headset refresh rate
|
||||
#if lnx_vr
|
||||
public static var vrFrameTime: Float = -1.0; // VR frame time in seconds (-1 = not in VR)
|
||||
static var lastVRFrameTime: Float = 0.0;
|
||||
static var vrFrameCount: Int = 0;
|
||||
static var normalModeLogged: Bool = false;
|
||||
#end
|
||||
|
||||
static var lastTime = 0.0;
|
||||
static var _delta = 0.0;
|
||||
public static var delta(get, never): Float;
|
||||
static function get_delta(): Float {
|
||||
return _delta;
|
||||
}
|
||||
|
||||
|
||||
static var lastRenderTime = 0.0;
|
||||
static var _renderDelta = 0.0;
|
||||
public static var renderDelta(get, never): Float;
|
||||
static function get_renderDelta(): Float {
|
||||
return _renderDelta;
|
||||
}
|
||||
|
||||
|
||||
public static inline function time(): Float {
|
||||
return kha.Scheduler.time() * scale;
|
||||
return kha.Scheduler.time();
|
||||
}
|
||||
|
||||
|
||||
public static inline function realTime(): Float {
|
||||
return kha.Scheduler.realTime() * scale;
|
||||
return kha.Scheduler.realTime();
|
||||
}
|
||||
|
||||
public static function update() {
|
||||
#if lnx_vr
|
||||
// TODO: use VR frame time when in VR present mode to sync physics with headset refresh
|
||||
// TODO: use VR frame time when in VR present mode to sync physics with VR headset refresh
|
||||
if (vrFrameTime >= 0.0) {
|
||||
if (lastVRFrameTime > 0.0) {
|
||||
_delta = vrFrameTime - lastVRFrameTime;
|
||||
|
||||
@ -255,7 +255,7 @@ typedef TAnim = {
|
||||
@:optional var _normalize: Array<Bool>;
|
||||
}
|
||||
|
||||
@:enum abstract Ease(Int) from Int to Int {
|
||||
enum abstract Ease(Int) from Int to Int {
|
||||
var Linear = 0;
|
||||
var SineIn = 1;
|
||||
var SineOut = 2;
|
||||
|
||||
Reference in New Issue
Block a user