Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
48f2897
Closes #1210 Quaternion.lookAt now has a return value (#1223)
mr-universe-guy Nov 23, 2019
30df2f1
Android morph fix (#1221)
joliver82 Nov 24, 2019
37bb494
Fixing the default versioning to be compatible with continued develop…
pspeed42 Nov 26, 2019
45b1908
Added an app state that will verify some of the JME constants (easy t…
pspeed42 Nov 26, 2019
c23f28b
Modified Line to keep its own start/end instances. This is less of a …
pspeed42 Nov 26, 2019
c73fd99
Fixed the null child check to throw IllegalArgumentException instead …
pspeed42 Nov 28, 2019
9d2d393
protect 47 no-arg constructors in the jme3-core library (#1228)
stephengold Dec 1, 2019
75001d8
protect 52 no-arg constructors in the jme3-bullet/jme3-jbullet librar…
stephengold Dec 3, 2019
584bb79
[skip ci] update natives snapshot
Dec 3, 2019
98f6d32
re-publicize InstancedGeometry no-arg constructor, correct erroneous …
stephengold Dec 4, 2019
8d9d091
Mesh: avoid NPE in getMorphTargets() when there are no targets (#1231)
stephengold Dec 9, 2019
6b7dd5b
AnimControl: correct javadoc for the no-arg constructor (#1233)
stephengold Dec 12, 2019
cdcf051
com.jme3.scene.shape.Line: protect the no-argument constructor (#1234)
stephengold Dec 15, 2019
124ef03
Remove "v" from version tag to maintain consistency with old releases
riccardobl Dec 17, 2019
5db3ac4
Refactored how versions are auto-built to provide more normal versions
pspeed42 Dec 21, 2019
b2ae269
Updating the version.gradle to fix an issue with auto-versioning on the
pspeed42 Dec 22, 2019
68fb1af
GLRenderer.modifyTexture on GLES fix (#1235)
joliver82 Dec 23, 2019
b059c7c
Fix #1236 non-lvalue cannot be out parameter
riccardobl Dec 30, 2019
3f59008
README.md: add Nine Circles of Hell
stephengold Jan 2, 2020
bc64238
TestPBRLighting: fpp.setNumSamples() to facilitate study of issue #1246
stephengold Jan 10, 2020
77c521f
README.md: add pixelapp's Leap to list of games
stephengold Jan 11, 2020
04e7bed
Fixes #1251 - Support OpenGL3.1 on LWJGL2 and LWJGL3
MeFisto94 Jan 12, 2020
ec49157
Fixes Bullet-Native Artifacts not containing natives when not buildin…
MeFisto94 Jan 12, 2020
933b091
Merge pull request #1255 from MeFisto94/fix-bullet-natives
MeFisto94 Jan 13, 2020
9b29e05
Fixes #1261 - Clone the Terrain Picker, so that loading a terrain fro…
MeFisto94 Jan 18, 2020
81f9b9d
Merge pull request #1262 from MeFisto94/fix-terrain-picker
pspeed42 Jan 18, 2020
ffd9cfc
Upgrade Gradle 4.10 -> 5.6.4 (#1238)
tonihele Jan 24, 2020
233bc6f
PreShadow & PostShadow Support for PBRLighting.j3md (#1265)
yaRnMcDonuts Jan 27, 2020
124ad35
Fixes #1249 - Don't hang up when destroy is called multiple times (#1…
MeFisto94 Jan 27, 2020
eee3702
Fixes #1241 - Add a convenient Graphics Debug Option for the AppSetti…
MeFisto94 Jan 27, 2020
867e461
Issue 801 (#1269)
tonihele Jan 28, 2020
2023440
Removed extra PostShadow Technique from PBRLighting.j3md (#1273)
Ali-RS Jan 29, 2020
427ae0a
Added Override annotations, finals, some cleanup and better null chec…
tonihele Jan 29, 2020
0fd70b8
Add missing @Override annotations (#1270)
stephengold Jan 30, 2020
3c5dd5c
[skip ci] update natives snapshot
Jan 30, 2020
acbddc2
Merge pull request #1252 from MeFisto94/add-opengl31-lwjgl
MeFisto94 Feb 1, 2020
1a0b6ec
jme3-blender: remove TextureGeneratorWood and its dependencies (#1274)
stephengold Feb 3, 2020
0244ab2
Update link for stb_image.h
riccardobl Feb 3, 2020
3147667
Fix openal-soft dead link
riccardobl Feb 3, 2020
e3b44db
[skip ci] update natives snapshot
Feb 3, 2020
dde0906
re-assign Simsilica LLC copyrights with Paul's permission (issue #1001)
stephengold Feb 3, 2020
8219d7f
Add two convenience flags to AppSettings: GraphicsTrace and GraphicsT…
MeFisto94 Feb 4, 2020
5584c93
Merge pull request #1282 from stephengold/master
pspeed42 Feb 7, 2020
f268d00
Fixes issue #1286
stephengold Feb 10, 2020
ab96460
Fix small things (#1287)
MeFisto94 Feb 12, 2020
f652591
remove unnecessary casts and tests for null, discovered using NetBean…
stephengold Feb 13, 2020
426969d
[skip ci] update natives snapshot
Feb 13, 2020
8e334aa
BufferUtils: resolve issue #1288 (rewrite isDirect()) (#1299)
stephengold Feb 24, 2020
c1d359c
Fix #1289 Matrix3f/Matrix4f equals() should require an exact class ma…
louhy Feb 25, 2020
b93ea18
Lwjgl3 restart input handle (#1268)
tonihele Feb 26, 2020
a407fc3
main.yml: add Gradle-wrapper validation to several jobs
stephengold Mar 4, 2020
0252c1b
README.md: add "Jumping Jack Flag" to game list
stephengold Mar 6, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 18 additions & 14 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,14 @@ jobs:
uses: actions/checkout@v1
with:
fetch-depth: 1

- name: Build
- name: Validate the Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Build
run: |
# Build
# Note: since this is crossbuild we use the buildForPlatforms filter to tell
# the buildscript wich platforms it should build for.
gradle -PuseCommitHashAsVersionName=true --no-daemon -PbuildForPlatforms=LinuxArm,LinuxArmHF,LinuxArm64 -PbuildNativeProjects=true \
./gradlew -PuseCommitHashAsVersionName=true --no-daemon -PbuildForPlatforms=LinuxArm,LinuxArmHF,LinuxArm64 -PbuildNativeProjects=true \
:jme3-bullet-native:assemble

- name: Upload natives
Expand All @@ -96,10 +97,11 @@ jobs:
uses: actions/checkout@v1
with:
fetch-depth: 1

- name: Build
run: |
gradle -PuseCommitHashAsVersionName=true --no-daemon -PbuildNativeProjects=true \
- name: Validate the Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Build
run: |
./gradlew -PuseCommitHashAsVersionName=true --no-daemon -PbuildNativeProjects=true \
:jme3-android-native:assemble \
:jme3-bullet-native-android:assemble

Expand Down Expand Up @@ -137,8 +139,9 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.jdk }}
architecture: x64

architecture: x64
- name: Validate the Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Build Natives
shell: bash
env:
Expand All @@ -159,7 +162,7 @@ jobs:
fi

# Build
gradle -PuseCommitHashAsVersionName=true --no-daemon -PbuildNativeProjects=true -Dmaven.repo.local="$PWD/dist/maven" \
./gradlew -PuseCommitHashAsVersionName=true --no-daemon -PbuildNativeProjects=true -Dmaven.repo.local="$PWD/dist/maven" \
build \
:jme3-bullet-native:build

Expand Down Expand Up @@ -233,12 +236,13 @@ jobs:
with:
name: linuxarm-natives
path: build/native

- name: Validate the Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Build Engine
shell: bash
run: |
# Build
gradle -PuseCommitHashAsVersionName=true -PskipPrebuildLibraries=true build
./gradlew -PuseCommitHashAsVersionName=true -PskipPrebuildLibraries=true build

if [ "${{ matrix.deploy }}" = "true" ];
then
Expand All @@ -247,15 +251,15 @@ jobs:
sudo apt-get install -y zip

# Create the zip release and the javadoc
gradle -PuseCommitHashAsVersionName=true -PskipPrebuildLibraries=true mergedJavadoc createZipDistribution
./gradlew -PuseCommitHashAsVersionName=true -PskipPrebuildLibraries=true mergedJavadoc createZipDistribution

# We prepare the release for deploy
mkdir -p ./dist/release/
mv build/distributions/*.zip dist/release/

# Create the maven artifacts
mkdir -p ./dist/maven/
gradle -PuseCommitHashAsVersionName=true -PskipPrebuildLibraries=true install -Dmaven.repo.local="$PWD/dist/maven"
./gradlew -PuseCommitHashAsVersionName=true -PskipPrebuildLibraries=true install -Dmaven.repo.local="$PWD/dist/maven"

# Zip the natives into a single archive (we are going to use this to deploy native snapshots)
echo "Create native zip"
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ The engine is used by several commercial game studios and computer-science cours
- [Lightspeed Frontier (on Steam)](https://store.steampowered.com/app/548650/Lightspeed_Frontier/)
- [Skullstone](http://www.skullstonegame.com/)
- [Spoxel (on Steam)](https://store.steampowered.com/app/746880/Spoxel/)
- [Nine Circles of Hell (on Steam)](https://store.steampowered.com/app/1200600/Nine_Circles_of_Hell/)
- [Leap](https://gamejolt.com/games/leap/313308)
- [Jumping Jack Flag](http://timealias.bplaced.net/jack/)

## Getting started

Expand Down
40 changes: 21 additions & 19 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -158,29 +158,29 @@ task configureAndroidNDK {

gradle.rootProject.ext.set("usePrebuildNatives", buildNativeProjects!="true");

if(skipPrebuildLibraries!="true"&&buildNativeProjects!="true"){
if (skipPrebuildLibraries != "true" && buildNativeProjects != "true") {
String rootPath = rootProject.projectDir.absolutePath

Properties nativesSnasphotProp = new Properties()
File nativesSnasphotPropF=new File("${rootPath}/natives-snapshot.properties");
if(nativesSnasphotPropF.exists()){
File nativesSnasphotPropF = new File("${rootPath}/natives-snapshot.properties");

if (nativesSnasphotPropF.exists()) {

nativesSnasphotPropF.withInputStream { nativesSnasphotProp.load(it) }

String nativesSnasphot=nativesSnasphotProp.getProperty("natives.snapshot");
String nativesUrl=PREBUILD_NATIVES_URL.replace('${natives.snapshot}',nativesSnasphot)
println "Use natives snapshot: "+nativesUrl
String nativesSnasphot = nativesSnasphotProp.getProperty("natives.snapshot");
String nativesUrl = PREBUILD_NATIVES_URL.replace('${natives.snapshot}', nativesSnasphot)
println "Use natives snapshot: " + nativesUrl

String nativesZipFile="${rootPath}" + File.separator + "build"+ File.separator +nativesSnasphot+"-natives.zip"
String nativesPath="${rootPath}" + File.separator + "build"+ File.separator +"native"
String nativesZipFile = "${rootPath}" + File.separator + "build" + File.separator + nativesSnasphot + "-natives.zip"
String nativesPath = "${rootPath}" + File.separator + "build" + File.separator + "native"


task getNativesZipFile {
outputs.file nativesZipFile
doFirst {
File target = file(nativesZipFile);
println("Download natives from "+nativesUrl+" to "+nativesZipFile);
println("Download natives from " + nativesUrl + " to " + nativesZipFile);
target.getParentFile().mkdirs();
ant.get(src: nativesUrl, dest: target);
}
Expand All @@ -192,28 +192,26 @@ if(skipPrebuildLibraries!="true"&&buildNativeProjects!="true"){
dependsOn getNativesZipFile

doFirst {
for(File src : zipTree(nativesZipFile)){
String srcRel=src.getAbsolutePath().substring((int)(nativesZipFile.length()+1));
srcRel=srcRel.substring(srcRel.indexOf( File.separator)+1);
for (File src : zipTree(nativesZipFile)) {
String srcRel = src.getAbsolutePath().substring((int) (nativesZipFile.length() + 1));
srcRel = srcRel.substring(srcRel.indexOf(File.separator) + 1);

File dest=new File(nativesPath+File.separator+srcRel);
File dest = new File(nativesPath + File.separator + srcRel);
boolean doCopy = !(dest.exists() && dest.lastModified() > src.lastModified())
if (doCopy) {
println("Copy "+src+" "+dest);
println("Copy " + src + " " + dest);
dest.getParentFile().mkdirs();
Files.copy(src.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
}
}
}
build.dependsOn extractPrebuiltNatives

assemble.dependsOn extractPrebuiltNatives
}
}





//class IncrementalReverseTask extends DefaultTask {
// @InputDirectory
// def File inputDir
Expand Down Expand Up @@ -249,3 +247,7 @@ if(skipPrebuildLibraries!="true"&&buildNativeProjects!="true"){
// enableAssertions = true // true by default
// }
//}

wrapper {
gradleVersion = '5.6.4'
}
10 changes: 7 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
# Version number: Major.Minor (e.g. 3.3)
jmeVersion = 3.3
# Version number: Major.Minor.SubMinor (e.g. 3.3.0)
jmeVersion = 3.4.0

# Leave empty to autogenerate
# (use -PjmeVersionName="myVersion" from commandline to specify a custom version name )
jmeVersionName =
jmeVersionName =

# If true, the version name will contain the commit hash
useCommitHashAsVersionName = false

# Set to true if a non-master branch name should be included in the automatically
# generated version.
includeBranchInVersion = false

# specify if JavaDoc should be built
buildJavaDoc = true

Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
10 changes: 5 additions & 5 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
22 changes: 19 additions & 3 deletions gradlew
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
#!/usr/bin/env sh

#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
##
## Gradle start up script for UN*X
Expand Down Expand Up @@ -28,7 +44,7 @@ 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=""
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
Expand Down Expand Up @@ -109,8 +125,8 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
Expand Down
18 changes: 17 additions & 1 deletion gradlew.bat
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
Expand All @@ -14,7 +30,7 @@ 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=
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ private boolean checkClassName(String className) {
private boolean checkClassType(String className) {
boolean include = true;
try {
Class<?> clazz = (Class<?>) Class.forName(className);
Class<?> clazz = Class.forName(className);
if (Application.class.isAssignableFrom(clazz)) {
Log.d(TAG, "Class " + className + " is a jME Application");
} else {
Expand Down
2 changes: 1 addition & 1 deletion jme3-android-native/decode.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
String tremorZipFile = "TremorAndroid.zip"
String stbiUrl = 'https://raw.githubusercontent.com/nothings/stb/master/stb_image.h'
String stbiUrl = 'https://raw.githubusercontent.com/jMonkeyEngine/stb/0224a44a10564a214595797b4c88323f79a5f934/stb_image.h'

// Working directories for the ndk build.
String decodeBuildDir = "${buildDir}" + File.separator + 'decode'
Expand Down
4 changes: 2 additions & 2 deletions jme3-android-native/openalsoft.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// OpenAL Soft r1.16
String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/e5016f814a265ed592a88acea95cf912c4bfdf12.zip'
String openALSoftUrl = 'https://github.com/jMonkeyEngine/openal-soft/archive/e5016f814a265ed592a88acea95cf912c4bfdf12.zip'
String openALSoftZipFile = 'OpenALSoft.zip'

// OpenAL Soft directory the download is extracted into
// Typically, the downloaded OpenAL Soft zip file will extract to a directory
// called "openal-soft"
String openALSoftFolder = 'openal-soft-e5016f8'
String openALSoftFolder = 'openal-soft-e5016f814a265ed592a88acea95cf912c4bfdf12'

//Working directories for the ndk build.
String openalsoftBuildDir = "${buildDir}" + File.separator + 'openalsoft'
Expand Down
8 changes: 8 additions & 0 deletions jme3-android/src/main/java/com/jme3/app/AndroidHarness.java
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,7 @@ public void run() {
* @param dialog
* @param whichButton
*/
@Override
public void onClick(DialogInterface dialog, int whichButton) {
if (whichButton != -2) {
if (app != null) {
Expand Down Expand Up @@ -473,6 +474,7 @@ protected void initializeLogHandler() {
handler.setLevel(Level.ALL);
}

@Override
public void initialize() {
app.initialize();
if (handleExitHook) {
Expand All @@ -488,10 +490,12 @@ public void initialize() {
}
}

@Override
public void reshape(int width, int height) {
app.reshape(width, height);
}

@Override
public void update() {
app.update();
// call to remove the splash screen, if present.
Expand All @@ -503,10 +507,12 @@ public void update() {
}
}

@Override
public void requestClose(boolean esc) {
app.requestClose(esc);
}

@Override
public void destroy() {
if (app != null) {
app.destroy();
Expand All @@ -516,6 +522,7 @@ public void destroy() {
}
}

@Override
public void gainFocus() {
logger.fine("gainFocus");
if (view != null) {
Expand Down Expand Up @@ -547,6 +554,7 @@ public void gainFocus() {
}
}

@Override
public void loseFocus() {
logger.fine("loseFocus");
if (app != null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2009-2019 jMonkeyEngine
* Copyright (c) 2009-2020 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -684,10 +684,10 @@ public void onLayoutChange(View v,
if (viewWidth > viewHeight && viewWidth > maxResolutionDimension) {
// landscape
fixedSizeWidth = maxResolutionDimension;
fixedSizeHeight = (int)(maxResolutionDimension * ((float)viewHeight / (float)viewWidth));
fixedSizeHeight = (int)(maxResolutionDimension * (viewHeight / (float)viewWidth));
} else if (viewHeight > viewWidth && viewHeight > maxResolutionDimension) {
// portrait
fixedSizeWidth = (int)(maxResolutionDimension * ((float)viewWidth / (float)viewHeight));
fixedSizeWidth = (int)(maxResolutionDimension * (viewWidth / (float)viewHeight));
fixedSizeHeight = maxResolutionDimension;
} else if (viewWidth == viewHeight && viewWidth > maxResolutionDimension) {
fixedSizeWidth = maxResolutionDimension;
Expand Down
Loading