|
@@ -223,12 +223,16 @@ class Pad {
|
|
public var config : PadConfig = DEFAULT_CONFIG;
|
|
public var config : PadConfig = DEFAULT_CONFIG;
|
|
public var xAxis(get,never) : Float;
|
|
public var xAxis(get,never) : Float;
|
|
public var yAxis(get,never) : Float;
|
|
public var yAxis(get,never) : Float;
|
|
|
|
+ public var rxAxis(get,never) : Float;
|
|
|
|
+ public var ryAxis(get,never) : Float;
|
|
public var axisDeadZone : Float = 0.1;
|
|
public var axisDeadZone : Float = 0.1;
|
|
public var buttons : Array<Bool> = [];
|
|
public var buttons : Array<Bool> = [];
|
|
public var values : Array<Float> = [];
|
|
public var values : Array<Float> = [];
|
|
var prevButtons : Array<Bool> = [];
|
|
var prevButtons : Array<Bool> = [];
|
|
var rawXAxis : Float = 0.;
|
|
var rawXAxis : Float = 0.;
|
|
var rawYAxis : Float = 0.;
|
|
var rawYAxis : Float = 0.;
|
|
|
|
+ var rawRXAxis : Float = 0.;
|
|
|
|
+ var rawRYAxis : Float = 0.;
|
|
|
|
|
|
function get_xAxis() {
|
|
function get_xAxis() {
|
|
if( rawXAxis*rawXAxis + rawYAxis*rawYAxis < axisDeadZone*axisDeadZone ) return 0.;
|
|
if( rawXAxis*rawXAxis + rawYAxis*rawYAxis < axisDeadZone*axisDeadZone ) return 0.;
|
|
@@ -240,6 +244,16 @@ class Pad {
|
|
return rawYAxis;
|
|
return rawYAxis;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function get_rxAxis() {
|
|
|
|
+ if( rawRXAxis*rawRXAxis + rawRYAxis*rawRYAxis < axisDeadZone*axisDeadZone ) return 0.;
|
|
|
|
+ return rawRXAxis;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function get_ryAxis() {
|
|
|
|
+ if( rawRXAxis*rawRXAxis + rawRYAxis*rawRYAxis < axisDeadZone*axisDeadZone ) return 0.;
|
|
|
|
+ return rawRYAxis;
|
|
|
|
+ }
|
|
|
|
+
|
|
public dynamic function onDisconnect(){
|
|
public dynamic function onDisconnect(){
|
|
}
|
|
}
|
|
|
|
|
|
@@ -257,6 +271,7 @@ class Pad {
|
|
|
|
|
|
public function reset() {
|
|
public function reset() {
|
|
rawXAxis = rawYAxis = 0;
|
|
rawXAxis = rawYAxis = 0;
|
|
|
|
+ rawRXAxis = rawRYAxis = 0;
|
|
for( i in 0...buttons.length ) buttons[i] = false;
|
|
for( i in 0...buttons.length ) buttons[i] = false;
|
|
for( i in 0...buttons.length ) prevButtons[i] = false;
|
|
for( i in 0...buttons.length ) prevButtons[i] = false;
|
|
for( i in 0...values.length ) values[i] = 0;
|
|
for( i in 0...values.length ) values[i] = 0;
|
|
@@ -332,6 +347,7 @@ class Pad {
|
|
p.d.enabled = true;
|
|
p.d.enabled = true;
|
|
var axisCount = 0;
|
|
var axisCount = 0;
|
|
var axisX = 0, axisY = 1;
|
|
var axisX = 0, axisY = 1;
|
|
|
|
+ var raxisX = 2, raxisY = 3;
|
|
for( i in 0...p.d.numControls ) {
|
|
for( i in 0...p.d.numControls ) {
|
|
var c = p.d.getControlAt(i);
|
|
var c = p.d.getControlAt(i);
|
|
var cid = c.id;
|
|
var cid = c.id;
|
|
@@ -348,6 +364,10 @@ class Pad {
|
|
p.rawXAxis = v;
|
|
p.rawXAxis = v;
|
|
else if( axisID == axisY )
|
|
else if( axisID == axisY )
|
|
p.rawYAxis = -v;
|
|
p.rawYAxis = -v;
|
|
|
|
+ else if( axisID == raxisX)
|
|
|
|
+ p.rawRXAxis = v;
|
|
|
|
+ else if( axisID == raxisY)
|
|
|
|
+ p.rawRYAxis = -v;
|
|
});
|
|
});
|
|
} else if( StringTools.startsWith(c.id, "BUTTON_") ) {
|
|
} else if( StringTools.startsWith(c.id, "BUTTON_") ) {
|
|
c.addEventListener(flash.events.Event.CHANGE, function(_) {
|
|
c.addEventListener(flash.events.Event.CHANGE, function(_) {
|
|
@@ -460,6 +480,10 @@ class Pad {
|
|
rawXAxis = v;
|
|
rawXAxis = v;
|
|
else if( axisId == 1 )
|
|
else if( axisId == 1 )
|
|
rawYAxis = v;
|
|
rawYAxis = v;
|
|
|
|
+ else if( axisId == 2 )
|
|
|
|
+ rawRXAxis = v;
|
|
|
|
+ else if( axisId == 3 )
|
|
|
|
+ rawRYAxis = v;
|
|
}
|
|
}
|
|
|
|
|
|
static function initPad( index ){
|
|
static function initPad( index ){
|
|
@@ -538,6 +562,10 @@ class Pad {
|
|
p.rawXAxis = v;
|
|
p.rawXAxis = v;
|
|
else if( ii == GameController.CONFIG.analogY )
|
|
else if( ii == GameController.CONFIG.analogY )
|
|
p.rawYAxis = -v;
|
|
p.rawYAxis = -v;
|
|
|
|
+ else if( ii == GameController.CONFIG.ranalogX )
|
|
|
|
+ p.rawRXAxis = v;
|
|
|
|
+ else if( ii == GameController.CONFIG.ranalogY )
|
|
|
|
+ p.rawRYAxis = -v;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -588,6 +616,10 @@ class Pad {
|
|
p.rawXAxis = x;
|
|
p.rawXAxis = x;
|
|
p.rawYAxis = y;
|
|
p.rawYAxis = y;
|
|
}
|
|
}
|
|
|
|
+ else if( i == 1 ) {
|
|
|
|
+ p.rawRXAxis = x;
|
|
|
|
+ p.rawRYAxis = y;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|