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

update new version #46

Open
wants to merge 68 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
a30bad3
screen rotation bitmap resize Issue
dooully Jun 21, 2017
94b08d2
Added possibility to center one of the axis only
eziosoft Jul 5, 2018
8a295b1
Aggiornata interfaccia onMoveListener
fMercatili Feb 24, 2020
942e448
corretto mEvent
BenDelGreco Feb 24, 2020
b034327
Update README.md
BenDelGreco Feb 24, 2020
f6a5aec
Removed threads reports everys few seconds. Will report only on each …
Apr 9, 2020
24c5ac1
Merge pull request #1 from controlwear/master
jonyhunter Apr 18, 2020
d6ba416
Add support to detecting joystick press
scottbarnesg Jul 22, 2020
3cf9a50
Revert changes to build.gradle
scottbarnesg Jul 22, 2020
041f9f4
Fix isPressed return type
scottbarnesg Jul 22, 2020
ef0cf4d
The joystick is now a rectangle, not a circle.
mstniy Aug 6, 2020
49a5c89
remove callback invoke on MotionEvent.ACTION_DOWN
Sep 30, 2021
9ba0d89
Added possibility to center one of the axis only
Mathias-Boulay Feb 3, 2022
7bcf724
Update gradle-wrapper.properties, gradlew, and 2 more files...
Mathias-Boulay Feb 20, 2022
27c2ed7
Optimize cpu performance using a Handler instead of a dedicated Thread;
Mathias-Boulay Feb 20, 2022
754b93f
Width cannot be larger than height
Mathias-Boulay Feb 20, 2022
c6d2c2d
Add deadzone attribute;
Mathias-Boulay Feb 20, 2022
79c80a2
Hey we can make it support android 2.3.6
Mathias-Boulay Feb 20, 2022
970cf78
Update README.md
Mathias-Boulay Feb 20, 2022
c2e5653
Bump up version before release
Mathias-Boulay Feb 20, 2022
b8dc231
Add implementation in the readme
Mathias-Boulay Feb 20, 2022
08cb7d3
Update build.gradle
Mathias-Boulay Sep 11, 2022
2a17177
Update README.md
Mathias-Boulay Sep 11, 2022
2a75bb3
Add the ability to change the deadzone
Mathias-Boulay Sep 11, 2022
888c876
Add ability to enable forward lock
Mathias-Boulay Sep 13, 2022
c43281e
Add ability to set forward lock distance
Mathias-Boulay Sep 13, 2022
83b49a7
Update JoystickView.java
Mathias-Boulay Sep 13, 2022
522ca11
made getAngle() and getStrength() puplic
omarhemaia May 2, 2023
0798bda
Added the ability to set angle and strength
omarhemaia May 2, 2023
bd0fc31
Merge pull request #1 from omarhemaia/patch-1
omarhemaia May 2, 2023
bf41dda
Build: update to recent gradle version
Mathias-Boulay May 14, 2023
9bd9a27
Feat[misc]: Add a demo app
Mathias-Boulay May 14, 2023
d43dd10
Fix[joystick]: better pointer id storage
Mathias-Boulay May 14, 2023
bb32c59
Feat: auto forward lock when y crosses past the threshold
Mathias-Boulay May 14, 2023
f8c9dff
Feat: instant events
Mathias-Boulay May 14, 2023
3929ad3
Fix: forward distance not being offset
Mathias-Boulay May 14, 2023
3832b4f
Misc: update demo app
Mathias-Boulay May 14, 2023
4fee901
Fix: size change doesn't change forward lock distance
Mathias-Boulay May 15, 2023
44c2a67
Fix: remove reliance on OOB canvas drawing
Mathias-Boulay Aug 2, 2023
e4e91fa
Fix[lifecycle]: handle forward lock view already being removed
Mathias-Boulay Aug 2, 2023
2a607db
Fix[lifecycle]:detach state listener
Mathias-Boulay Aug 2, 2023
ac02e46
Fix[lifecycle]: detach the view only when necessary
Mathias-Boulay Aug 2, 2023
06e19f1
Fix[lifecycle]: wait out the activity shenanigans
Mathias-Boulay Aug 3, 2023
a4ab959
Fix[UI]: hide the forward lock
Mathias-Boulay Aug 3, 2023
cfc2775
Merge remote-tracking branch 'origin/screen-rotation-bitmap-resize-Is…
lukkass222 May 7, 2024
1c32c34
Merge remote-tracking branch 'origin/remove-callback-invoke-on-Motion…
lukkass222 May 7, 2024
cae7ece
Merge remote-tracking branch 'origin/mEvent'
lukkass222 May 7, 2024
908a0ce
Merge remote-tracking branch 'origin/Add-support-to-detecting-joystic…
lukkass222 May 7, 2024
53bb5ce
Merge remote-tracking branch 'origin/Added-possibility-to-center-one-…
lukkass222 May 7, 2024
eeaeff0
Merge remote-tracking branch 'origin/Removed-threads-reports-everys-f…
lukkass222 May 7, 2024
6dd4fd6
Merge remote-tracking branch 'origin/Optimize-cpu-performance'
lukkass222 May 8, 2024
c6ef1c9
Merge remote-tracking branch 'origin/omarhemaia/patch-1'
lukkass222 May 8, 2024
6a01884
added JV_axisToCenter attribute
lukkass222 May 8, 2024
80c26d3
Add a demo app
lukkass222 May 9, 2024
f2a1922
update demo app theme
lukkass222 May 9, 2024
16e5d88
correct inconsistencies in the structure and fixed some bugs
lukkass222 May 10, 2024
586f2a1
Merge branch 'The-joystick-is-now-a-rectangle,-not-a-circle'
lukkass222 May 13, 2024
d68a913
update demo
lukkass222 May 13, 2024
b2b3ae0
fixed rectangle mode
lukkass222 May 13, 2024
17e1ba2
update readme
lukkass222 May 13, 2024
8c9b35c
update readme
lukkass222 May 13, 2024
94826fb
update readme
lukkass222 May 13, 2024
fbbfbaa
added getPosition
lukkass222 May 14, 2024
d11f989
update readme
lukkass222 May 14, 2024
9053952
FIX NAME _DOWN
lukkass222 May 15, 2024
257be40
fix incorrect angle start
lukkass222 May 22, 2024
32666d9
changed dead zone sensitivity
lukkass222 May 22, 2024
6229616
update example
lukkass222 May 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 81 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# virtual-joystick-android

**v1.10.1** _(New version - [support custom images](#image), button & background size, limited direction, normalized coordinate, alpha border)_

**v1.13.5** _(New version - [support custom images](#image), button & background size, limited direction, normalized coordinate, alpha border, Rectangle or circle support)_

_I created this very simple library as a learning process and I have been inspired by this project [JoystickView](https://github.com/zerokol/JoystickView) (the author is a genius!)_

Expand All @@ -22,7 +23,7 @@ protected void onCreate(Bundle savedInstanceState) {
JoystickView joystick = (JoystickView) findViewById(R.id.joystickView);
joystick.setOnMoveListener(new JoystickView.OnMoveListener() {
@Override
public void onMove(int angle, int strength) {
public void onMove(int angle, int strength, MotionEvent event) {
// do whatever you want
}
});
Expand All @@ -32,14 +33,10 @@ The **angle** follow the rules of a simple **counter-clock** protractor. The **s

![Alt text](/misc/virtual-joystick.png?raw=true "Explanation")

By default the **refresh rate** to get the data is **20/sec (every 50ms)**. If you want more or less just set the listener with one more parameters to set the refresh rate in milliseconds.
```java
joystick.setOnMoveListener(new JoystickView.OnMoveListener() { ... }, 17); // around 60/sec
```

### Attributes

You can customize the joystick according to these attributes `JV_buttonImage`, `JV_buttonColor`, `JV_buttonSizeRatio`, `JV_borderColor`, `JV_borderAlpha`, `JV_borderWidth`, `JV_backgroundColor`, `JV_backgroundSizeRatio`, `JV_fixedCenter`, `JV_autoReCenterButton`, `JV_buttonStickToBorder`, `JV_enabled` and `JV_buttonDirection`
You can customize the joystick according to these attributes `JV_useRectangle`,`JV_axisToCenter`, `JV_buttonImage`, `JV_buttonColor`, `JV_buttonSizeRatio`, `JV_borderColor`, `JV_borderAlpha`, `JV_borderWidth`, `JV_backgroundColor`, `JV_backgroundSizeRatio`, `JV_fixedCenter`, `JV_autoReCenterButton`, `JV_buttonStickToBorder`, `JV_enabled` and `JV_buttonDirection`

If you specified `JV_buttonImage` you don't need `JV_buttonColor`

Expand Down Expand Up @@ -70,13 +67,18 @@ If you want a more customized joystick, you can use `JV_buttonImage` and the reg

![Alt text](/misc/android-virtual-joystick-custom-image.png?raw=true "Left joystick with custom image")

#### Rectangle
It is possible to combine several configurations to create something new, such as a linear bar

![Alt text](/misc/virtual-joystick-android-rectangle.png?raw=true "rectangle joystick with vertical axis")

#### SizeRatio
We can change the default size of the button and background.
The size is calculated as a percentage of the total width/height.

By default, the button is 25% (0.25) and the background 75% (0.25), as the first screenshot above.
By default, the button is 25% (25) and the background 75% (75), as the first screenshot above.

If the total (background + button) is above 1.0, the button will probably be a bit cut when on the border.
If the total (background + button) is above 100%, the button will probably be a bit cut when on the border.

```xml
<...
Expand All @@ -86,12 +88,10 @@ If the total (background + button) is above 1.0, the button will probably be a b
```

```java
joystick.setBackgroundSizeRatio(0.5);
joystick.setButtonSizeRatio(0.1);
joystick.setBackgroundSizeRatio(50);
joystick.setButtonSizeRatio(10);
```

_The background size is not working for a custom picture._

#### FixedCenter or Not? (and auto re-center)
If you don’t set up this parameter, it will be FixedCenter by default, which is the regular behavior.

Expand All @@ -116,48 +116,75 @@ joystick.setEnabled(false); // disabled the joystick
joystick.isEnabled(); // return enabled state
```

#### ButtonDirection
#### AxisMotion
By default the button can move in both direction X,Y (regular behavior), but we can limit the movement through one axe horizontal or vertical.
```xml
<...
custom:JV_buttonDirection="horizontal"/>
custom:JV_axisMotion="horizontal"/>
```
In the layout file (xml), this option can be set to `horizontal`, `vertical` or `both`.

We can also set this option in the Java file by setting an integer value:
- any negative value (e.g. -1) for the horizontal axe
- any positive value (e.g. 1) for the vertical axe
- zero (0) for both (which is the default option)
- `BUTTON_DIRECTION_HORIZONTAL` for the horizontal axe
- `BUTTON_DIRECTION_VERTICAL` for the vertical axe
- `BUTTON_DIRECTION_BOTH` for both (which is the default option)

```java
joystick.setButtonDirection(1); // vertical
joystick.setAxisMotion(JoystickView.BUTTON_DIRECTION_VERTICAL); // vertical
```

### Wearable
If you use this library in Wearable app, you will probably disable the Swipe-To-Dismiss Gesture and implement the Long Press to Dismiss Pattern, which could be a problem for a Joystick Pattern (because we usually let the user touch the joystick as long as she/he wants), in that case you can set another convenient listener: `OnMultipleLongPressListener` which will be invoked only with multiple pointers (at least two fingers) instead of one.
#### Position
The joystick is divided into eight positions + `none`

![Alt text](/misc/virtual-joystick-positions.png?raw=true " stick positions")

```java
joystick.setOnMultiLongPressListener(new JoystickView.OnMultipleLongPressListener() {
@Override
public void onMultipleLongPress() {
... // eg. mDismissOverlay.show();
}
});
joystick.getPosition() == JoystickView.RIGHT_UP;
```

#### Deadzone
Most joysticks have an inner deadzone, else games would feel hypersensitive in their inputs.
By default, the deadzone is at 10% strength.
To change the deadzone, you can specify the following in xml.
```xml
<...
custom:JV_deadzone="10%"/>
```

Or better, if you just want a simple Joystick (and few other cool stuff) as a controller for your mobile app you can use the following related project ;)

## Demo
For those who want more than just a snippet, here is the demo :
- [Basic two joysticks ](https://github.com/controlwear/virtual-joystick-demo) (similar to screenshot)
- [Basic two joysticks ](https://github.com/lukkass222/virtual-joystick-android/tree/master/joystickdemo_2) - [similar to screenshot](#image).
- [Basic joystick ](https://github.com/lukkass222/virtual-joystick-android/tree/master/joystickdemo) - [similar to screenshot](#Rectangle).

If you want to add your project here, go ahead :)

## Required
Minimum API level is 16 (Android 4.1.x - Jelly Bean) which cover 99.5% of the Android platforms as of October 2018 according to the <a href="https://developer.android.com/about/dashboards" class="user-mention">distribution dashboard</a>.

## Download
### Gradle
```java
compile 'io.github.controlwear:virtualjoystick:1.10.1'

**Step 1.** Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

```Gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
```

**Step 2.** Add the dependency

```Gradle
dependencies {
implementation 'com.github.lukkass222:virtual-joystick-android:1.13.5'
}
```

## Contributing
Expand All @@ -183,5 +210,27 @@ limitations under the License.

**virtual-joystick-android** is an open source project created by <a href="https://github.com/makowildcat" class="user-mention">@makowildcat</a> (mostly spare time) and partially funded by [Black Artick](http://blackartick.com/) and [NSERC](http://www.nserc-crsng.gc.ca/index_eng.asp).

Also, thanks to <a href="https://github.com/Bernix01" class="user-mention">Bernix01</a>, <a href="https://github.com/teancake" class="user-mention">teancake</a>, <a href="https://github.com/Spettacolo83" class="user-mention">Spettacolo83</a>, <a href="https://github.com/djjaysmith" class="user-mention">djjaysmith</a>, <a href="https://github.com/jaybkim1" class="user-mention">jaybkim1</a>, <a href="https://github.com/sikrinick" class="user-mention">sikrinick</a>, <a href="https://github.com/AlexandrDavydov" class="user-mention">AlexandrDavydov</a>, <a href="https://github.com/indrek-koue" class="user-mention">indrek-koue</a>, <a href="https://github.com/QitmentX7" class="user-mention">QitmentX7</a>, <a href="https://github.com/esplemea" class="user-mention">esplemea</a>, <a href="https://github.com/FenixGit" class="user-mention">FenixGit</a>, <a href="https://github.com/AlexanderShniperson" class="user-mention">AlexanderShniperson</a>
Also, thanks to <a href="https://github.com/Bernix01" class="user-mention">Bernix01</a>,
<a href="https://github.com/teancake" class="user-mention">teancake</a>,
<a href="https://github.com/Spettacolo83" class="user-mention">Spettacolo83</a>,
<a href="https://github.com/djjaysmith" class="user-mention">djjaysmith</a>,
<a href="https://github.com/jaybkim1" class="user-mention">jaybkim1</a>,
<a href="https://github.com/sikrinick" class="user-mention">sikrinick</a>,
<a href="https://github.com/AlexandrDavydov" class="user-mention">AlexandrDavydov</a>,
<a href="https://github.com/indrek-koue" class="user-mention">indrek-koue</a>,
<a href="https://github.com/QitmentX7" class="user-mention">QitmentX7</a>,
<a href="https://github.com/esplemea" class="user-mention">esplemea</a>,
<a href="https://github.com/FenixGit" class="user-mention">FenixGit</a>,
<a href="https://github.com/AlexanderShniperson" class="user-mention">AlexanderShniperson</a>
, <a href="https://github.com/omarhemaia" class="user-mention">omarhemaia</a>,
<a href="https://github.com/mstniy" class="user-mention">mstniy</a>
<a href="https://github.com/Mathias-Boulay" class="user-mention">Mathias-Boulay</a>,
<a href="https://github.com/osfunapps" class="user-mention">osfunapps</a>,
<a href="https://github.com/eziosoft" class="user-mention">eziosoft</a>,
<a href="https://github.com/scottbarnesg" class="user-mention">scottbarnesg</a>,
<a href="https://github.com/tomerlevi444" class="user-mention">tomerlevi444</a>,
<a href="https://github.com/BenDelGreco" class="user-mention">BenDelGreco</a>,
<a href="https://github.com/dooully" class="user-mention">dooully</a>,
<a href="https://github.com/jonyhunter" class="user-mention">jonyhunter</a>,
<a href="https://github.com/lukkass222" class="user-mention">lukkass222</a>
and <a href="https://github.com/GijsGoudzwaard" class="user-mention">GijsGoudzwaard</a> for contributing.
9 changes: 3 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'

classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
classpath 'com.android.tools.build:gradle:7.2.2'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -18,7 +15,7 @@ buildscript {

allprojects {
repositories {
jcenter()
mavenCentral()
google()
}
}
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Tue Nov 20 17:17:49 EST 2018
#Sun May 14 19:31:20 CEST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
72 changes: 42 additions & 30 deletions gradlew
Original file line number Diff line number Diff line change
@@ -1,25 +1,43 @@
#!/usr/bin/env bash
#!/usr/bin/env sh

##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn ( ) {
warn () {
echo "$*"
}

die ( ) {
die () {
echo
echo "$*"
echo
Expand All @@ -30,6 +48,7 @@ die ( ) {
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
Expand All @@ -40,26 +59,11 @@ case "`uname`" in
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

# Determine the Java command to use to start the JVM.
Expand All @@ -85,7 +89,7 @@ location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
Expand Down Expand Up @@ -150,11 +154,19 @@ if $cygwin ; then
esac
fi

# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
APP_ARGS=$(save "$@")

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi

exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
exec "$JAVACMD" "$@"
14 changes: 4 additions & 10 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

Expand Down Expand Up @@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail

:init
@rem Get command-line arguments, handling Windowz variants
@rem Get command-line arguments, handling Windows variants

if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args

:win9xME_args
@rem Slurp the command line arguments.
Expand All @@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*
goto execute

:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$

:execute
@rem Setup the command line
Expand Down
1 change: 1 addition & 0 deletions joystickdemo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading