diff --git a/src/pandroid/app/src/main/AndroidManifest.xml b/src/pandroid/app/src/main/AndroidManifest.xml
index 978edcc5..291496f4 100644
--- a/src/pandroid/app/src/main/AndroidManifest.xml
+++ b/src/pandroid/app/src/main/AndroidManifest.xml
@@ -8,7 +8,7 @@
+ android:glEsVersion="0x0030001"/>
{
- findViewById(R.id.overlay_controller).setVisibility(isChecked ? View.VISIBLE : View.INVISIBLE);
- });
+ ((CheckBox) findViewById(R.id.hide_screen_controller)).setOnCheckedChangeListener((buttonView, isChecked) -> findViewById(R.id.overlay_controller).setVisibility(isChecked ? View.VISIBLE : View.INVISIBLE));
}
@Override
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/math/Vector2.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/math/Vector2.java
index 4208b610..becec9e1 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/math/Vector2.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/math/Vector2.java
@@ -2,15 +2,11 @@ package com.panda3ds.pandroid.math;
public class Vector2 {
public float x, y;
- public Vector2(Vector2 value) { this(value.x, value.y); }
-
public Vector2(float x, float y) {
this.x = x;
this.y = y;
}
- public float distanceTo(Vector2 vec) { return distance(x, y, vec.x, vec.y); }
-
public static float distance(float x, float y, float x2, float y2) { return (float) Math.sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2)); }
public void set(float x, float y) {
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/utils/Constants.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/utils/Constants.java
index bc389987..3485180e 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/utils/Constants.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/utils/Constants.java
@@ -6,7 +6,7 @@ public class Constants {
public static final int INPUT_KEY_LEFT = 1 << 5;
public static final int INPUT_KEY_RIGHT = 1 << 4;
- public static final int INPUT_KEY_A = 1 << 0;
+ public static final int INPUT_KEY_A = 1;
public static final int INPUT_KEY_B = 1 << 1;
public static final int INPUT_KEY_X = 1 << 10;
public static final int INPUT_KEY_Y = 1 << 11;
@@ -22,5 +22,5 @@ public class Constants {
public static final int N3DS_FULL_HEIGHT = 480;
public static final String EXTRA_PATH = "path";
- public static final String LOG_TAG = "Alber";
+ public static final String LOG_TAG = "pandroid";
}
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlRenderer.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlRenderer.java
index b21e3353..0df05e9f 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlRenderer.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlRenderer.java
@@ -42,8 +42,8 @@ public class PandaGlRenderer implements GLSurfaceView.Renderer, ConsoleRenderer
}
public void onSurfaceCreated(GL10 unused, EGLConfig config) {
- Log.i("pandroid", glGetString(GL_EXTENSIONS));
- Log.w("pandroid", glGetString(GL_VERSION));
+ Log.i(Constants.LOG_TAG, glGetString(GL_EXTENSIONS));
+ Log.w(Constants.LOG_TAG, glGetString(GL_VERSION));
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlSurfaceView.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlSurfaceView.java
index f5a19efe..eb65762d 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlSurfaceView.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/PandaGlSurfaceView.java
@@ -1,20 +1,18 @@
package com.panda3ds.pandroid.view;
import android.content.Context;
-import android.graphics.Canvas;
import android.opengl.GLSurfaceView;
-import android.util.Log;
+
import androidx.annotation.NonNull;
import com.panda3ds.pandroid.math.Vector2;
-import com.panda3ds.pandroid.utils.Constants;
import com.panda3ds.pandroid.view.controller.TouchEvent;
import com.panda3ds.pandroid.view.controller.nodes.TouchScreenNodeImpl;
import com.panda3ds.pandroid.view.renderer.ConsoleRenderer;
public class PandaGlSurfaceView extends GLSurfaceView implements TouchScreenNodeImpl {
final PandaGlRenderer renderer;
- private int size_width;
- private int size_height;
+ private int width;
+ private int height;
public PandaGlSurfaceView(Context context, String romPath) {
super(context);
@@ -29,14 +27,14 @@ public class PandaGlSurfaceView extends GLSurfaceView implements TouchScreenNode
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- size_width = getMeasuredWidth();
- size_height = getMeasuredHeight();
+ width = getMeasuredWidth();
+ height = getMeasuredHeight();
}
@NonNull
@Override
public Vector2 getSize() {
- return new Vector2(size_width, size_height);
+ return new Vector2(width, height);
}
@Override
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/ControllerNode.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/ControllerNode.java
index e5b8795e..e6c1dc92 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/ControllerNode.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/ControllerNode.java
@@ -7,10 +7,10 @@ import com.panda3ds.pandroid.math.Vector2;
public interface ControllerNode {
@NonNull
default Vector2 getPosition() {
- View me = (View) this;
+ View view = (View) this;
int[] position = new int[2];
- me.getLocationInWindow(position);
+ view.getLocationInWindow(position);
return new Vector2(position[0], position[1]);
}
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/Joystick.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/Joystick.java
index df487bd8..ad3df6b1 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/Joystick.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/Joystick.java
@@ -7,18 +7,18 @@ import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import androidx.annotation.NonNull;
-import androidx.appcompat.widget.AppCompatTextView;
+
import com.panda3ds.pandroid.math.Vector2;
import com.panda3ds.pandroid.view.controller.ControllerNode;
import com.panda3ds.pandroid.view.controller.TouchEvent;
import com.panda3ds.pandroid.view.controller.listeners.JoystickListener;
public class Joystick extends BasicControllerNode implements ControllerNode {
- private float stick_x = 0;
- private float stick_y = 0;
+ private float axisX = 0;
+ private float axisY = 0;
- private int size_width = 0;
- private int size_height = 0;
+ private int width = 0;
+ private int height = 0;
private JoystickListener joystickListener;
@@ -42,18 +42,18 @@ public class Joystick extends BasicControllerNode implements ControllerNode {
@Override
public void onDrawForeground(Canvas canvas) {
- size_width = getWidth();
- size_height = getHeight();
+ width = getWidth();
+ height = getHeight();
- int analogIconSize = size_width - getPaddingLeft();
+ int analogIconSize = width - getPaddingLeft();
float middleIconSize = analogIconSize / 2.0F;
- float middle = size_width / 2.0F;
+ float middle = width / 2.0F;
float maxDistance = (middle - middleIconSize) * 0.9F;
- float tx = maxDistance * stick_x;
- float ty = maxDistance * stick_y;
+ float tx = maxDistance * axisX;
+ float ty = maxDistance * axisY;
float radius = Vector2.distance(0.0F, 0.0F, Math.abs(tx), Math.abs(ty));
radius = Math.min(maxDistance, radius);
@@ -62,8 +62,8 @@ public class Joystick extends BasicControllerNode implements ControllerNode {
float rx = (float) (radius * Math.cos(Math.PI * 2 * deg / 360.0));
float ry = (float) (radius * Math.sin(Math.PI * 2 * deg / 360.0));
- stick_x = Math.max(-1.0f, Math.min(1.0f, stick_x));
- stick_y = Math.max(-1.0f, Math.min(1.0f, stick_y));
+ axisX = Math.max(-1.0f, Math.min(1.0f, axisX));
+ axisY = Math.max(-1.0f, Math.min(1.0f, axisY));
float x = middle - middleIconSize + rx;
float y = middle - middleIconSize + ry;
@@ -77,19 +77,19 @@ public class Joystick extends BasicControllerNode implements ControllerNode {
}
}
- public Vector2 getAxis() { return new Vector2(Math.max(-1.0F, Math.min(1.0F, stick_x)), Math.max(-1.0F, Math.min(1.0F, stick_y))); }
+ public Vector2 getAxis() { return new Vector2(Math.max(-1.0F, Math.min(1.0F, axisX)), Math.max(-1.0F, Math.min(1.0F, axisY))); }
public void setJoystickListener(JoystickListener joystickListener) { this.joystickListener = joystickListener; }
@NonNull
@Override
public Vector2 getSize() {
- return new Vector2(size_width, size_height);
+ return new Vector2(width, height);
}
@Override
public void onTouch(TouchEvent event) {
- float middle = size_width / 2.0F;
+ float middle = width / 2.0F;
float x = event.getX();
float y = event.getY();
@@ -97,17 +97,17 @@ public class Joystick extends BasicControllerNode implements ControllerNode {
x = Math.max(0, Math.min(middle * 2, x));
y = Math.max(0, Math.min(middle * 2, y));
- stick_x = ((x - middle) / middle);
+ axisX = ((x - middle) / middle);
- stick_y = ((y - middle) / middle);
+ axisY = ((y - middle) / middle);
if (event.getAction() == TouchEvent.ACTION_UP) {
- stick_x = 0;
- stick_y = 0;
+ axisX = 0;
+ axisY = 0;
}
if (joystickListener != null) {
- joystickListener.onJoystickAxisChange(this, stick_x, stick_y);
+ joystickListener.onJoystickAxisChange(this, axisX, axisY);
}
invalidate();
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/TouchScreenNodeImpl.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/TouchScreenNodeImpl.java
index 1009d29c..39e6aae9 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/TouchScreenNodeImpl.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/controller/nodes/TouchScreenNodeImpl.java
@@ -1,22 +1,20 @@
package com.panda3ds.pandroid.view.controller.nodes;
import android.graphics.Rect;
-import android.util.Log;
import android.view.View;
+
import com.panda3ds.pandroid.AlberDriver;
import com.panda3ds.pandroid.R;
-import com.panda3ds.pandroid.utils.Constants;
import com.panda3ds.pandroid.view.controller.ControllerNode;
import com.panda3ds.pandroid.view.controller.TouchEvent;
import com.panda3ds.pandroid.view.renderer.ConsoleRenderer;
public interface TouchScreenNodeImpl extends ControllerNode {
default void onTouchScreenPress(ConsoleRenderer renderer, TouchEvent event) {
- View me = (View) this;
- boolean hasDownEvent = me.getTag(R.id.TagEventHasDown) != null && (boolean) me.getTag(R.id.TagEventHasDown);
+ View view = (View) this;
+ boolean hasDownEvent = view.getTag(R.id.TagEventHasDown) != null && (boolean) view.getTag(R.id.TagEventHasDown);
Rect bounds = renderer.getLayout().getBottomDisplayBounds();
- ;
if (event.getX() >= bounds.left && event.getY() >= bounds.top && event.getX() <= bounds.right && event.getY() <= bounds.bottom) {
int x = (int) (event.getX() - bounds.left);
@@ -27,12 +25,12 @@ public interface TouchScreenNodeImpl extends ControllerNode {
AlberDriver.TouchScreenDown(x, y);
- me.setTag(R.id.TagEventHasDown, true);
+ view.setTag(R.id.TagEventHasDown, true);
}
if (hasDownEvent && event.getAction() == TouchEvent.ACTION_UP) {
AlberDriver.TouchScreenUp();
- me.setTag(R.id.TagEventHasDown, false);
+ view.setTag(R.id.TagEventHasDown, false);
}
}
}
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/ConsoleLayout.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/ConsoleLayout.java
index dc83c59f..7ec00974 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/ConsoleLayout.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/ConsoleLayout.java
@@ -1,7 +1,6 @@
package com.panda3ds.pandroid.view.renderer.layout;
import android.graphics.Rect;
-import com.panda3ds.pandroid.math.Vector2;
public interface ConsoleLayout {
void update(int screenWidth, int screenHeight);
diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/DefaultScreenLayout.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/DefaultScreenLayout.java
index d8616167..adfe5443 100644
--- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/DefaultScreenLayout.java
+++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/view/renderer/layout/DefaultScreenLayout.java
@@ -1,7 +1,7 @@
package com.panda3ds.pandroid.view.renderer.layout;
import android.graphics.Rect;
-import android.util.Size;
+
import com.panda3ds.pandroid.math.Vector2;
public class DefaultScreenLayout implements ConsoleLayout {