@ -6,25 +6,29 @@
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(Crawl)
|
||||
project(Crawl VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
if(TARGET ${PROJECT_NAME})
|
||||
message("The ${PROJECT_NAME} arledy included in main Project")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (ANDROID)
|
||||
set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Client/android")
|
||||
endif()
|
||||
|
||||
find_package(QT NAMES Qt5 Qt6 COMPONENTS Core REQUIRED)
|
||||
include(submodules/QuasarAppLib/CMake/QuasarApp.cmake)
|
||||
|
||||
if (NOT ${QT_VERSION_MAJOR} EQUAL 5)
|
||||
message("The ${PROJECT_NAME} support only qt5. please rebuild this project with qt6")
|
||||
if (${QT_VERSION_MAJOR} LESS_EQUAL 5)
|
||||
message("The ${PROJECT_NAME} support only qt6. please rebuild this project with qt6")
|
||||
initAll()
|
||||
addDoc(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/doxygen.conf)
|
||||
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Test REQUIRED)
|
||||
|
||||
|
||||
if (DEFINED TARGET_PLATFORM_TOOLCHAIN)
|
||||
if (${TARGET_PLATFORM_TOOLCHAIN} STREQUAL "wasm32")
|
||||
initAll()
|
||||
@ -63,10 +67,6 @@ endif()
|
||||
|
||||
# Add sub directories
|
||||
|
||||
if (ANDROID)
|
||||
set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Client/android")
|
||||
endif()
|
||||
|
||||
add_subdirectory(submodules/QuasarAppLib)
|
||||
add_subdirectory(submodules/SimpleQmlNotify)
|
||||
add_subdirectory(submodules/ViewSolutions)
|
||||
|
@ -20,13 +20,14 @@ set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/private")
|
||||
|
||||
if (ANDROID)
|
||||
add_library(${CURRENT_PROJECT} ${SOURCE_CPP})
|
||||
else()
|
||||
add_executable(${CURRENT_PROJECT} ${SOURCE_CPP})
|
||||
endif()
|
||||
qt_add_executable(${CURRENT_PROJECT} MANUAL_FINALIZATION ${SOURCE_CPP})
|
||||
|
||||
target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}Core TestLvl JungleLvl AbstractLvl)
|
||||
target_link_libraries(${CURRENT_PROJECT} PUBLIC
|
||||
${PROJECT_NAME}Core
|
||||
TestLvl
|
||||
JungleLvl
|
||||
AbstractLvl
|
||||
)
|
||||
|
||||
target_include_directories(${CURRENT_PROJECT} PUBLIC ${PUBLIC_INCUDE_DIR})
|
||||
target_include_directories(${CURRENT_PROJECT} PRIVATE ${PRIVATE_INCUDE_DIR})
|
||||
@ -35,15 +36,18 @@ SET(TARGET_DIR "${CMAKE_SOURCE_DIR}/Distro")
|
||||
file(MAKE_DIRECTORY ${TARGET_DIR})
|
||||
|
||||
if (ANDROID)
|
||||
set(SNAKE_EXTRA_LIBS "${PROJECT_NAME}Core"
|
||||
TestLvl
|
||||
AbstractLvl
|
||||
JungleLvl
|
||||
QuasarApp
|
||||
QmlNotyfyService
|
||||
ViewSolutions)
|
||||
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS AndroidExtras REQUIRED)
|
||||
set(SNAKE_EXTRA_LIBS
|
||||
${PROJECT_NAME}Core
|
||||
TestLvl
|
||||
AbstractLvl
|
||||
JungleLvl
|
||||
QuasarApp
|
||||
QmlNotyfyService
|
||||
ViewSolutions)
|
||||
|
||||
# find_package(Qt${QT_VERSION_MAJOR} COMPONENTS AndroidExtras REQUIRED)
|
||||
# target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::AndroidExtras)
|
||||
|
||||
addDeployAPK(${CURRENT_PROJECT}
|
||||
"${CMAKE_CURRENT_LIST_DIR}/android"
|
||||
@ -53,10 +57,14 @@ if (ANDROID)
|
||||
"${TARGET_DIR}"
|
||||
"${SNAKE_EXTRA_LIBS}")
|
||||
|
||||
target_link_libraries(${CURRENT_PROJECT} PRIVATE Qt${QT_VERSION_MAJOR}::AndroidExtras)
|
||||
|
||||
file(GLOB java_files
|
||||
"android/src/com/quasarapp/androidtools/*.java"
|
||||
"android/*.xml"
|
||||
"android/*.gradle"
|
||||
"android/gradlew"
|
||||
"android/gradle.*"
|
||||
|
||||
)
|
||||
|
||||
add_custom_target(${name}Android
|
||||
@ -69,7 +77,6 @@ else()
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../../Deploy/Crawl.json")
|
||||
endif()
|
||||
|
||||
|
||||
if(QT_VERSION_MAJOR EQUAL 6)
|
||||
qt_import_qml_plugins(${CURRENT_PROJECT})
|
||||
qt_finalize_executable(${CURRENT_PROJECT})
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<manifest package="qa.core.crawl" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.0.0.0" android:versionCode="1" android:installLocation="auto">
|
||||
<manifest package="org.qtproject.example.Crawl" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
|
||||
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
|
||||
Remove the comment if you do not require these default permissions. -->
|
||||
<!-- %%INSERT_PERMISSIONS -->
|
||||
@ -9,16 +9,14 @@
|
||||
<!-- %%INSERT_FEATURES -->
|
||||
|
||||
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
|
||||
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true" android:icon="@drawable/icon">
|
||||
<!-- Sample AdMob app ID: ca-app-pub-5799112356811682~1226170116 -->
|
||||
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-5799112356811682~1226170116"/>
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="com.quasarapp.androidtools.MainActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="landscape" android:launchMode="singleTop" android:theme="@style/splashScreenTheme">
|
||||
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true" android:requestLegacyExternalStorage="true" android:icon="@drawable/icon">
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="landscape" android:launchMode="singleTop" android:theme="@style/splashScreenTheme">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
<!-- Application arguments -->
|
||||
<!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
|
||||
<meta-data android:name="android.app.arguments" android:value="-- %%INSERT_APP_ARGUMENTS%% --"/>
|
||||
<!-- Application arguments -->
|
||||
<meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
|
||||
<meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
|
||||
@ -58,9 +56,6 @@
|
||||
signal is sent! -->
|
||||
<meta-data android:name="android.app.background_running" android:value="false"/>
|
||||
<!-- Background running -->
|
||||
<!-- auto screen scale factor -->
|
||||
<meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
|
||||
<!-- auto screen scale factor -->
|
||||
<!-- extract android style -->
|
||||
<!-- available android:values :
|
||||
* default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
|
||||
@ -71,11 +66,10 @@
|
||||
<meta-data android:name="android.app.extract_android_style" android:value="default"/>
|
||||
<!-- extract android style -->
|
||||
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splashscreen"/>
|
||||
<meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/splashscreen_port"/>
|
||||
<meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/splashscreen_land"/>
|
||||
</activity>
|
||||
<!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
|
||||
</application>
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
</manifest>
|
||||
|
@ -18,7 +18,6 @@ apply plugin: 'com.android.application'
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||
implementation 'com.google.android.gms:play-services-ads:19.+'
|
||||
}
|
||||
|
||||
android {
|
||||
@ -37,7 +36,7 @@ android {
|
||||
|
||||
compileSdkVersion androidCompileSdkVersion.toInteger()
|
||||
|
||||
buildToolsVersion '28.0.3'
|
||||
buildToolsVersion '30.0.2'
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
@ -73,7 +72,7 @@ android {
|
||||
defaultConfig {
|
||||
resConfig "en"
|
||||
multiDexEnabled true
|
||||
minSdkVersion = 22
|
||||
minSdkVersion = 28
|
||||
targetSdkVersion = 30
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ org.gradle.jvmargs=-Xmx2048m
|
||||
# build with the same inputs. However, over time, the cache size will
|
||||
# grow. Uncomment the following line to enable it.
|
||||
#org.gradle.caching=true
|
||||
|
||||
android.useAndroidX=true
|
||||
|
||||
android.enableJetifier=true
|
||||
|
BIN
src/Client/android/gradle/wrapper/gradle-wrapper.jar
vendored
@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
53
src/Client/android/gradlew
vendored
Executable file → Normal file
@ -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
|
||||
@ -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"
|
||||
@ -66,6 +82,7 @@ esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
@ -109,10 +126,11 @@ 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"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
@ -138,19 +156,19 @@ if $cygwin ; then
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@ -159,14 +177,9 @@ save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
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" "$@"
|
||||
|
173
src/Client/android/gradlew.bat
vendored
@ -1,84 +1,89 @@
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
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
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@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
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@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="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
BIN
src/Client/android/res/drawable-hdpi/logo_land.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
src/Client/android/res/drawable-hdpi/logo_port.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
src/Client/android/res/drawable-ldpi/logo_land.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
src/Client/android/res/drawable-ldpi/logo_port.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
src/Client/android/res/drawable-mdpi/logo_land.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/Client/android/res/drawable-mdpi/logo_port.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/Client/android/res/drawable-xhdpi/logo_land.png
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
src/Client/android/res/drawable-xhdpi/logo_port.png
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
src/Client/android/res/drawable-xxhdpi/logo_land.png
Normal file
After Width: | Height: | Size: 221 KiB |
BIN
src/Client/android/res/drawable-xxhdpi/logo_port.png
Normal file
After Width: | Height: | Size: 221 KiB |
BIN
src/Client/android/res/drawable-xxxhdpi/logo_land.png
Normal file
After Width: | Height: | Size: 370 KiB |
BIN
src/Client/android/res/drawable-xxxhdpi/logo_port.png
Normal file
After Width: | Height: | Size: 370 KiB |
@ -6,6 +6,6 @@
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<bitmap android:src="@drawable/logo" android:gravity="center"/>
|
||||
<bitmap android:src="@drawable/logo" android:gravity="fill"/>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
11
src/Client/android/res/drawable/splashscreen_land.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#ffffff"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<bitmap android:src="@drawable/logo_land" android:gravity="fill"/>
|
||||
</item>
|
||||
</layer-list>
|
11
src/Client/android/res/drawable/splashscreen_port.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#ffffff"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<bitmap android:src="@drawable/logo_port" android:gravity="fill"/>
|
||||
</item>
|
||||
</layer-list>
|
6
src/Client/android/res/values-land/splashscreentheme.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<style name="splashScreenTheme">
|
||||
<item name="android:windowBackground">@drawable/splashscreen_land</item>
|
||||
</style>
|
||||
</resources>
|
6
src/Client/android/res/values-port/splashscreentheme.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<style name="splashScreenTheme">
|
||||
<item name="android:windowBackground">@drawable/splashscreen_port</item>
|
||||
</style>
|
||||
</resources>
|
@ -7,7 +7,7 @@
|
||||
|
||||
package com.quasarapp.androidtools;
|
||||
|
||||
import org.qtproject.qt5.android.bindings.QtActivity;
|
||||
import org.qtproject.qt.android.bindings.QtActivity;
|
||||
import android.view.View;
|
||||
|
||||
public class MainActivity extends QtActivity
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1">
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>AbstractLevel::AbsLvlWorld</name>
|
||||
<message>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1">
|
||||
<TS version="2.1" language="ru">
|
||||
<context>
|
||||
<name>AbstractLevel::AbsLvlWorld</name>
|
||||
<message>
|
||||
|
@ -22,12 +22,14 @@ file(GLOB SOURCE_CPP
|
||||
set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/private")
|
||||
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick Quick3D Concurrent REQUIRED)
|
||||
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick Quick3D Gui Concurrent REQUIRED)
|
||||
|
||||
add_library(${CURRENT_PROJECT} ${SOURCE_CPP} ${SOURCE_QRC})
|
||||
|
||||
target_link_libraries(${CURRENT_PROJECT} PUBLIC
|
||||
Qt${QT_VERSION_MAJOR}::Concurrent
|
||||
Qt${QT_VERSION_MAJOR}::Quick3D
|
||||
Qt${QT_VERSION_MAJOR}::Gui
|
||||
QuasarApp
|
||||
QmlNotyfyService
|
||||
ViewSolutions)
|
||||
|
@ -179,11 +179,15 @@ private:
|
||||
}
|
||||
|
||||
float lengthForce() const {
|
||||
#if QT_VERSION > QT_VERSION_CHECK(6, 0, 0)
|
||||
return _radius * 0.1;
|
||||
#else
|
||||
return _radius * 15;
|
||||
#endif
|
||||
}
|
||||
|
||||
int _radius = 1000;
|
||||
float _dayLengthSec = 360;
|
||||
float _dayLengthSec = 20;
|
||||
QVector3D _axis = {1,0,0};
|
||||
};
|
||||
|
||||
|
@ -347,7 +347,7 @@ void IWorld::updateWorld() {
|
||||
return;
|
||||
|
||||
float distance = _player->position().x();
|
||||
auto nextLevel = _currendWorldLevel + 1;
|
||||
auto nextLevel = std::next(_currendWorldLevel);
|
||||
if (nextLevel != _worldRules->cend() && distance > nextLevel.key()) {
|
||||
emit sigWorldChanged(nextLevel);
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ namespace CRAWL {
|
||||
Sun::Sun(const QVector3D* center):
|
||||
DayItem(center, AUTO_CLASS_NAME) {
|
||||
setColor("#fff6d0");
|
||||
|
||||
}
|
||||
|
||||
void Sun::onIntersects(const IWorldItem *) {}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
|
||||
GridLayout {
|
||||
property var model: null
|
||||
|
@ -5,11 +5,11 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Window 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick
|
||||
//import QtQuick.Window
|
||||
import QtQuick.Controls
|
||||
|
||||
import NotifyModule 1.0
|
||||
import NotifyModule
|
||||
|
||||
ApplicationWindow {
|
||||
id: mainWindow;
|
||||
|
@ -5,8 +5,8 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick3D 1.15
|
||||
import QtQuick
|
||||
import QtQuick3D
|
||||
|
||||
Node {
|
||||
id: graphicItem
|
||||
|
@ -5,10 +5,10 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
|
||||
AbstractMenuView {
|
||||
|
||||
|
@ -5,8 +5,8 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick3D 1.15
|
||||
import QtQuick
|
||||
import QtQuick3D
|
||||
|
||||
Model {
|
||||
id: graphicItem
|
||||
|
@ -5,8 +5,8 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick3D 1.15
|
||||
import QtQuick
|
||||
import QtQuick3D
|
||||
|
||||
Node {
|
||||
id: graphicItem
|
||||
|
@ -5,10 +5,10 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
|
||||
Item {
|
||||
id: item1
|
||||
|
@ -5,10 +5,10 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
|
||||
Button {
|
||||
id: exit
|
||||
|
@ -5,10 +5,10 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Window 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
|
||||
Item {
|
||||
readonly property int pointCount: 100;
|
||||
|
@ -5,10 +5,10 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Layouts
|
||||
|
||||
Dialog {
|
||||
id: pagePopUp
|
||||
|
@ -1,11 +1,11 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick3D 1.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick3D
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
|
||||
// https://doc.qt.io/qt-5/qqmlengine.html#qmlRegisterUncreatableMetaObject
|
||||
import engine.worldstatus 1.0
|
||||
import engine.worldstatus
|
||||
|
||||
View3D {
|
||||
id: scene;
|
||||
@ -27,14 +27,14 @@ View3D {
|
||||
|
||||
}
|
||||
|
||||
environment: SceneEnvironment {
|
||||
id: background
|
||||
backgroundMode: SceneEnvironment.SkyBox
|
||||
lightProbe: Texture {
|
||||
source: (privateRoot.world)? privateRoot.world.hdr: ""
|
||||
}
|
||||
SceneEnvironment {
|
||||
id: defautlBackground
|
||||
backgroundMode: SceneEnvironment.Color
|
||||
clearColor: "#777777"
|
||||
}
|
||||
|
||||
environment: /*(privateRoot.world)? background:*/ defautlBackground
|
||||
|
||||
Node {
|
||||
id: privateRoot
|
||||
|
||||
|
@ -5,11 +5,11 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import ViewSolutionsModule 1.0
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import ViewSolutionsModule
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Layouts
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
|
@ -5,10 +5,10 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
|
||||
Item {
|
||||
id: settingsView
|
||||
|
@ -5,7 +5,7 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick
|
||||
|
||||
GraphicItem {
|
||||
|
||||
|
@ -118,7 +118,7 @@ void Engine::startRenderLoop() {
|
||||
return;
|
||||
|
||||
_renderLoop = true;
|
||||
_renderLoopFuture = QtConcurrent::run(this, &Engine::renderLoop);
|
||||
_renderLoopFuture = QtConcurrent::run([this](){renderLoop();});
|
||||
}
|
||||
|
||||
void Engine::stopRenderLoop() {
|
||||
|
@ -5,9 +5,9 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import CrawlModule 1.0
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import CrawlModule
|
||||
import QtQuick.Layouts
|
||||
|
||||
DefaultMenu {
|
||||
|
||||
|
@ -22,8 +22,6 @@ file(GLOB SOURCE_CPP
|
||||
set(PUBLIC_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(PRIVATE_INCUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/private")
|
||||
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ../Client/modules)
|
||||
|
||||
add_library(${CURRENT_PROJECT} ${SOURCE_CPP} ${SOURCE_QRC})
|
||||
|
||||
target_link_libraries(${CURRENT_PROJECT} PUBLIC ${PROJECT_NAME}Core)
|
||||
|
@ -1,8 +1,8 @@
|
||||
import QtQuick 2.15
|
||||
import CrawlModule 1.0
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick.Controls.Material 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick
|
||||
import CrawlModule
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls.Material
|
||||
import QtQuick.Controls
|
||||
|
||||
DefaultMenu {
|
||||
columns: 2
|
||||
@ -21,7 +21,7 @@ DefaultMenu {
|
||||
property real oldX: 0
|
||||
property real oldY: 0
|
||||
cursorShape: Qt.DragMoveCursor
|
||||
onPressed: {
|
||||
onPressed: (mouse) => {
|
||||
track = true
|
||||
oldX = mouse.x
|
||||
oldY = mouse.y
|
||||
@ -32,7 +32,7 @@ DefaultMenu {
|
||||
track = false
|
||||
}
|
||||
|
||||
onMouseXChanged: {
|
||||
onPositionChanged: (mouse) => {
|
||||
if (!model) {
|
||||
return;
|
||||
}
|
||||
@ -41,27 +41,17 @@ DefaultMenu {
|
||||
return;
|
||||
}
|
||||
|
||||
const delta = mouse.x - oldX;
|
||||
const radianDelta = (delta / (parent.width / 2)) * 45
|
||||
|
||||
model.xChanged(radianDelta)
|
||||
oldX = mouse.x;
|
||||
}
|
||||
|
||||
onMouseYChanged: {
|
||||
if (!model) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!track) {
|
||||
return;
|
||||
}
|
||||
|
||||
const delta = mouse.y - oldY;
|
||||
const radianDelta = (delta / (parent.height / 2)) * 45
|
||||
let delta = mouse.y - oldY;
|
||||
let radianDelta = (delta / (parent.height / 2)) * 45
|
||||
|
||||
model.yChanged(radianDelta)
|
||||
oldY = mouse.y;
|
||||
|
||||
delta = mouse.x - oldX;
|
||||
radianDelta = (delta / (parent.width / 2)) * 45
|
||||
|
||||
model.xChanged(radianDelta)
|
||||
oldX = mouse.x;
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 9b108d2698eda11bd7b263c2dd0a0d46cfa877d3
|
||||
Subproject commit 9a6589cf25b2ae7974737e68805f7dae9a7f4d5c
|
@ -5,9 +5,9 @@
|
||||
//# of this license document, but changing it is not allowed.
|
||||
//#
|
||||
|
||||
import QtQuick 2.15
|
||||
import CrawlModule 1.0
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick
|
||||
import CrawlModule
|
||||
import QtQuick.Layouts
|
||||
|
||||
GraphicItem {
|
||||
tilies: (model)? model.tiliesCount : 1
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit dee8b58fd8b80aac3f54efcbb65a7b3c540a24a8
|
||||
Subproject commit e021209f95b9dfb665062a2af66a2b98305dfa8f
|
@ -1 +1 @@
|
||||
Subproject commit 9a94f1fd90b8c2a918242dd73315a0ad80b59b84
|
||||
Subproject commit 40e620ea324f09e31d8a8808c221710c63d28083
|