Compare commits
203 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
812dea385c | ||
|
|
c582bdea46 | ||
|
|
e6c6a9381b | ||
|
|
4b4c0755c6 | ||
|
|
aeb0539c91 | ||
|
|
9feafa45f5 | ||
|
|
927df391f3 | ||
|
|
cbef6adeb1 | ||
|
|
2dee221861 | ||
|
|
0b175cb25d | ||
|
|
0820338b55 | ||
|
|
a2b46eee6f | ||
|
|
09a435320a | ||
|
|
bf56200c06 | ||
|
|
2d18df2011 | ||
|
|
bab87c0da8 | ||
|
|
148f272500 | ||
|
|
6de4af727b | ||
|
|
75946b9d14 | ||
|
|
1c63ee6743 | ||
|
|
efdaf0d986 | ||
|
|
3f6aeac33d | ||
|
|
d9692004cc | ||
|
|
67a12eecad | ||
|
|
37999e0870 | ||
|
|
66dc1e94f5 | ||
|
|
ebcce194a0 | ||
|
|
95eab94c80 | ||
|
|
41a6dbe06c | ||
|
|
fa22b0ec12 | ||
|
|
be60a367e8 | ||
|
|
608de34205 | ||
|
|
0a8f2edb05 | ||
|
|
41b08f38c5 | ||
|
|
a83c0b2e9a | ||
|
|
8f853c8f18 | ||
|
|
b4071f6dcb | ||
|
|
6b70418861 | ||
|
|
de0235ad94 | ||
|
|
c278c632b3 | ||
|
|
6392330e70 | ||
|
|
160ae4e244 | ||
|
|
a6c9bd3182 | ||
|
|
801eadd8a8 | ||
|
|
211dab1297 | ||
|
|
0c3b39ffdc | ||
|
|
c31f88a318 | ||
|
|
e9eb981782 | ||
|
|
83bde8a781 | ||
|
|
52f352bf94 | ||
|
|
b419a96d69 | ||
|
|
eb3d5b62f5 | ||
|
|
1c5f578d88 | ||
|
|
db3aae1388 | ||
|
|
0b08eb72a6 | ||
|
|
cbc81376be | ||
|
|
27e9901d05 | ||
|
|
532c36677c | ||
|
|
0c20c6ecb7 | ||
|
|
fbb3240ebb | ||
|
|
bffae90022 | ||
|
|
61f6368591 | ||
|
|
1027ca2a85 | ||
|
|
5acc42f739 | ||
|
|
1edeaeb94e | ||
|
|
879acc6077 | ||
|
|
4e5d87104c | ||
|
|
e6a24b8ba1 | ||
|
|
fd190c7770 | ||
|
|
d56869aefa | ||
|
|
c8a15bb7e4 | ||
|
|
07c28c3f6d | ||
|
|
855957b099 | ||
|
|
50959317e9 | ||
|
|
20a681a71f | ||
|
|
4e2d558b36 | ||
|
|
0430b908f4 | ||
|
|
a84e9f2aaa | ||
|
|
7ce571e59c | ||
|
|
545a64f7dc | ||
|
|
10c999a4a2 | ||
|
|
d0e026d597 | ||
|
|
0b1e2bf19b | ||
|
|
71c2c7ad05 | ||
|
|
97f5bf3cc4 | ||
|
|
bb9573b85a | ||
|
|
e1f53dfc67 | ||
|
|
87481e0a4d | ||
|
|
f7aa58e385 | ||
|
|
ea5c78f814 | ||
|
|
c93c016e9c | ||
|
|
4bb6664c7e | ||
|
|
9578068a02 | ||
|
|
30e5f2b17d | ||
|
|
f959760c07 | ||
|
|
e7db2350bc | ||
|
|
0585dabf7a | ||
|
|
a3c6e3f1df | ||
|
|
9f57278644 | ||
|
|
afc35cf623 | ||
|
|
6d8523054b | ||
|
|
fdecd55278 | ||
|
|
7e7f95916b | ||
|
|
ab52c65dcf | ||
|
|
ed4d0eb5d0 | ||
|
|
4bc9143306 | ||
|
|
a4f558c77a | ||
|
|
e4f226a9c5 | ||
|
|
c7d34049fa | ||
|
|
ee06e620c6 | ||
|
|
b48110db3b | ||
|
|
8413046dd8 | ||
|
|
83a5a82e18 | ||
|
|
771c5fbe3d | ||
|
|
74f16d0137 | ||
|
|
5d5d354f7d | ||
|
|
8f5f27755d | ||
|
|
4cb92cdb06 | ||
|
|
9e067ebdd6 | ||
|
|
fd5fcc9928 | ||
|
|
c0b2abb5fd | ||
|
|
2c8620a75c | ||
|
|
62f6ed0878 | ||
|
|
886b62bbad | ||
|
|
4bd58589fc | ||
|
|
0ce4144767 | ||
|
|
cde945f40e | ||
|
|
e2126a2693 | ||
|
|
c9f6d92bef | ||
|
|
fbf4c411c1 | ||
|
|
ce5218db58 | ||
|
|
e2ea7f9b87 | ||
|
|
94d9f04814 | ||
|
|
c86dbac04a | ||
|
|
f36eed32b9 | ||
|
|
cd752209ad | ||
|
|
fe37d619b9 | ||
|
|
043f4688ef | ||
|
|
949f171579 | ||
|
|
87d586a30e | ||
|
|
783f453da3 | ||
|
|
6dcf889ffe | ||
|
|
8d44879cc6 | ||
|
|
e7b813962d | ||
|
|
22fadab3b3 | ||
|
|
91741ec29c | ||
|
|
8269d842ce | ||
|
|
d038bdb6ce | ||
|
|
6cef301b94 | ||
|
|
e7ffbd817c | ||
|
|
97067a6ee2 | ||
|
|
7d1a8f5404 | ||
|
|
43bcf0cf3b | ||
|
|
71751ee18d | ||
|
|
ed105b102d | ||
|
|
f2662045ed | ||
|
|
ecb77b0283 | ||
|
|
4d4869842e | ||
|
|
47300b42b0 | ||
|
|
609565af5f | ||
|
|
0c75f920de | ||
|
|
e7b51f313b | ||
|
|
e8204fc983 | ||
|
|
aa69af64fb | ||
|
|
41f734b04d | ||
|
|
8ad6f3abcc | ||
|
|
e4875903f1 | ||
|
|
0a04de04f1 | ||
|
|
20427fdffa | ||
|
|
0fd0abc6c0 | ||
|
|
70f7fc29d4 | ||
|
|
b0c1aff783 | ||
|
|
4909c28ed9 | ||
|
|
9e6745f691 | ||
|
|
6c3ccb259f | ||
|
|
6c8d80777c | ||
|
|
2db61f93ac | ||
|
|
ad059cbc38 | ||
|
|
87e7e04c5e | ||
|
|
c083d059c9 | ||
|
|
ebd44d3b60 | ||
|
|
51f5d04889 | ||
|
|
0f4d574115 | ||
|
|
1feb4a5e6d | ||
|
|
f861b75c7d | ||
|
|
3530ca8989 | ||
|
|
6b074ed4b2 | ||
|
|
671823b4fa | ||
|
|
8ceebf1546 | ||
|
|
376495836a | ||
|
|
98212df076 | ||
|
|
1316c9235a | ||
|
|
a0905d5695 | ||
|
|
2a35e22dd2 | ||
|
|
f86a07daee | ||
|
|
997628622a | ||
|
|
563e015c92 | ||
|
|
64533de597 | ||
|
|
3776b99c39 | ||
|
|
6f07576748 | ||
|
|
550a11962e | ||
|
|
6d01193e1e | ||
|
|
8c3d6d05ab |
1
.gitignore
vendored
@@ -28,6 +28,7 @@ logs/
|
|||||||
/ios/src/io/anuke/mindustry/gen/
|
/ios/src/io/anuke/mindustry/gen/
|
||||||
/core/src/io/anuke/mindustry/gen/
|
/core/src/io/anuke/mindustry/gen/
|
||||||
ios/robovm.properties
|
ios/robovm.properties
|
||||||
|
packr-out/
|
||||||
config/
|
config/
|
||||||
*.gif
|
*.gif
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
jdk:
|
jdk:
|
||||||
- openjdk8
|
- openjdk8
|
||||||
script:
|
script:
|
||||||
|
- "git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc"
|
||||||
- "./gradlew test"
|
- "./gradlew test"
|
||||||
- "./gradlew desktop:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
- "./gradlew desktop:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
||||||
- "./gradlew server:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
- "./gradlew server:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ _Building:_ `./gradlew desktop:dist`
|
|||||||
|
|
||||||
Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server', e.g. `gradlew server:dist`.
|
Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server', e.g. `gradlew server:dist`.
|
||||||
|
|
||||||
|
##### Troubleshooting
|
||||||
|
|
||||||
|
If the terminal returns `Permission denied` or `Command not found` on Mac/Linux, run `chmod +x ./gradlew` before running `./gradlew`. *This is a one-time procedure.*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Gradle may take up to several minutes to download files. Be patient. <br>
|
Gradle may take up to several minutes to download files. Be patient. <br>
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
package="io.anuke.mindustry">
|
package="io.anuke.mindustry">
|
||||||
|
|
||||||
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
|
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
|
||||||
<uses-permission android:name="com.android.vending.BILLING" />
|
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.3.1'
|
classpath 'com.android.tools.build:gradle:3.3.2'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,9 +27,6 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation project(":core")
|
implementation project(":core")
|
||||||
implementation project(":net")
|
implementation project(":net")
|
||||||
implementation 'com.android.support:support-v4:28.0.0'
|
|
||||||
implementation 'org.sufficientlysecure:donations:2.5'
|
|
||||||
implementation 'com.google.android.gms:play-services-auth:16.0.1'
|
|
||||||
|
|
||||||
implementation arcModule("backends:backend-android")
|
implementation arcModule("backends:backend-android")
|
||||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
|
||||||
@@ -47,9 +44,9 @@ dependencies {
|
|||||||
task deploy(type: Copy){
|
task deploy(type: Copy){
|
||||||
dependsOn "assembleRelease"
|
dependsOn "assembleRelease"
|
||||||
|
|
||||||
from "build/outputs/apk/google/release/android-google-release.apk"
|
from "build/outputs/apk/release/android-release.apk"
|
||||||
into "../deploy/"
|
into "../deploy/"
|
||||||
rename ("android-google-release.apk", appName + "-android-" + getVersionString() + ".apk")
|
rename ("android-release.apk", appName + "-android-" + getVersionString() + ".apk")
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@@ -103,12 +100,6 @@ android {
|
|||||||
|
|
||||||
flavorDimensions "google"
|
flavorDimensions "google"
|
||||||
|
|
||||||
productFlavors {
|
|
||||||
google {
|
|
||||||
buildConfigField "boolean", "DONATIONS_GOOGLE", "true"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
if(project.hasProperty("RELEASE_STORE_FILE")) {
|
if(project.hasProperty("RELEASE_STORE_FILE")) {
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 911 B After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 23 KiB |
@@ -1,32 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="#000">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_gravity="top"
|
|
||||||
android:adjustViewBounds="false"
|
|
||||||
android:contentDescription="background"
|
|
||||||
android:cropToPadding="false"
|
|
||||||
android:scaleType="centerCrop"
|
|
||||||
android:src="@drawable/background" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/donations_activity_container"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 28 KiB |
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
|
|
||||||
<string name="app_name">Mindustry</string>
|
|
||||||
<string-array name="donation_google_catalog_values">
|
|
||||||
<item>1 달러</item>
|
|
||||||
<item>2 달러</item>
|
|
||||||
<item>5 달러</item>
|
|
||||||
<item>10 달러</item>
|
|
||||||
<item>15 달러</item>
|
|
||||||
<item>25 달러</item>
|
|
||||||
<item>50 달러</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
</resources>
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
|
|
||||||
<string name="app_name">Mindustry</string>
|
|
||||||
<string-array name="donation_google_catalog_values">
|
|
||||||
<item>1 Доллар</item>
|
|
||||||
<item>2 Доллара</item>
|
|
||||||
<item>5 Долларов</item>
|
|
||||||
<item>10 Долларов</item>
|
|
||||||
<item>15 Долларов</item>
|
|
||||||
<item>25 Долларов</item>
|
|
||||||
<item>50 Долларов</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
</resources>
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
|
|
||||||
<string name="app_name">Mindustry</string>
|
|
||||||
<string-array name="donation_google_catalog_values">
|
|
||||||
<item>1 Доллар</item>
|
|
||||||
<item>2 Доллара</item>
|
|
||||||
<item>5 Долларів</item>
|
|
||||||
<item>10 Долларів</item>
|
|
||||||
<item>15 Долларів</item>
|
|
||||||
<item>25 Долларів</item>
|
|
||||||
<item>50 Долларів</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
</resources>
|
|
||||||
@@ -2,14 +2,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string name="app_name">Mindustry</string>
|
<string name="app_name">Mindustry</string>
|
||||||
<string-array name="donation_google_catalog_values">
|
|
||||||
<item>1 Dollar</item>
|
|
||||||
<item>2 Dollars</item>
|
|
||||||
<item>5 Dollars</item>
|
|
||||||
<item>10 Dollars</item>
|
|
||||||
<item>15 Dollars</item>
|
|
||||||
<item>25 Dollars</item>
|
|
||||||
<item>50 Dollars</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -10,11 +10,6 @@ import android.os.Build;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.Settings.Secure;
|
import android.provider.Settings.Secure;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
|
||||||
import com.google.android.gms.common.GoogleApiAvailability;
|
|
||||||
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
|
|
||||||
import com.google.android.gms.common.GooglePlayServicesRepairableException;
|
|
||||||
import com.google.android.gms.security.ProviderInstaller;
|
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.Core;
|
||||||
import io.anuke.arc.backends.android.surfaceview.AndroidApplication;
|
import io.anuke.arc.backends.android.surfaceview.AndroidApplication;
|
||||||
import io.anuke.arc.backends.android.surfaceview.AndroidApplicationConfiguration;
|
import io.anuke.arc.backends.android.surfaceview.AndroidApplicationConfiguration;
|
||||||
@@ -53,8 +48,8 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
Platform.instance = new Platform(){
|
Platform.instance = new Platform(){
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void openDonations(){
|
public void hide(){
|
||||||
showDonations();
|
moveTaskToBack(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -94,13 +89,13 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
||||||
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||||
}
|
}
|
||||||
requestPermissions(perms.toArray(new String[perms.size()]), PERMISSION_REQUEST_CODE);
|
requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beginForceLandscape(){
|
public void beginForceLandscape(){
|
||||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -114,17 +109,10 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
try{
|
|
||||||
ProviderInstaller.installIfNeeded(this);
|
|
||||||
}catch(GooglePlayServicesRepairableException e){
|
|
||||||
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
|
|
||||||
apiAvailability.getErrorDialog(this, e.getConnectionStatusCode(), 0).show();
|
|
||||||
}catch(GooglePlayServicesNotAvailableException e){
|
|
||||||
Log.e("SecurityException", "Google Play Services not available.");
|
|
||||||
}
|
|
||||||
if(doubleScaleTablets && isTablet(this.getContext())){
|
if(doubleScaleTablets && isTablet(this.getContext())){
|
||||||
Unit.dp.addition = 0.5f;
|
Unit.dp.addition = 0.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
config.hideStatusBar = true;
|
config.hideStatusBar = true;
|
||||||
Net.setClientProvider(new KryoClient());
|
Net.setClientProvider(new KryoClient());
|
||||||
Net.setServerProvider(new KryoServer());
|
Net.setServerProvider(new KryoServer());
|
||||||
@@ -133,7 +121,7 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults){
|
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
|
||||||
if(requestCode == PERMISSION_REQUEST_CODE){
|
if(requestCode == PERMISSION_REQUEST_CODE){
|
||||||
for(int i : grantResults){
|
for(int i : grantResults){
|
||||||
if(i != PackageManager.PERMISSION_GRANTED) return;
|
if(i != PackageManager.PERMISSION_GRANTED) return;
|
||||||
@@ -178,12 +166,14 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
ui.showError("$save.import.invalid");
|
ui.showError("$save.import.invalid");
|
||||||
}
|
}
|
||||||
}else if(map){ //open map
|
}else if(map){ //open map
|
||||||
|
FileHandle file = Core.files.local("temp-map." + mapExtension);
|
||||||
|
file.write(inStream, false);
|
||||||
Core.app.post(() -> {
|
Core.app.post(() -> {
|
||||||
System.out.println("Opening map.");
|
System.out.println("Opening map.");
|
||||||
if(!ui.editor.isShown()){
|
if(!ui.editor.isShown()){
|
||||||
ui.editor.show();
|
ui.editor.show();
|
||||||
}
|
}
|
||||||
ui.editor.beginEditMap(inStream);
|
ui.editor.beginEditMap(file);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -193,22 +183,8 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isPackageInstalled(String packagename){
|
|
||||||
try{
|
|
||||||
getPackageManager().getPackageInfo(packagename, 0);
|
|
||||||
return true;
|
|
||||||
}catch(Exception e){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isTablet(Context context){
|
private boolean isTablet(Context context){
|
||||||
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
return manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE;
|
return manager != null && manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE;
|
||||||
}
|
|
||||||
|
|
||||||
private void showDonations(){
|
|
||||||
Intent intent = new Intent(this, DonationsActivity.class);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
package io.anuke.mindustry;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.support.v4.app.FragmentActivity;
|
|
||||||
import android.support.v4.app.FragmentManager;
|
|
||||||
import android.support.v4.app.FragmentTransaction;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Button;
|
|
||||||
import org.sufficientlysecure.donations.DonationsFragment;
|
|
||||||
|
|
||||||
public class DonationsActivity extends FragmentActivity{
|
|
||||||
/**
|
|
||||||
* Google
|
|
||||||
*/
|
|
||||||
private static final String GOOGLE_PUBKEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzG93KhpfBPKTo2jF0yxbWkkmMKwsPNM4SsMj1aDq7vv6n3R+mqJVfprOJxFfJh7JchXTflLIgiaKXFAiU70gJbMTniEWnEaFSxAeF09a7U0RjOwN+7rFwjCG91c2CpYxPanBTQP4zasc1ODPVzq4q6/4ByjhenN71V4WmR08NFIAodcfFPrOkDPil7i8y7cgcd1Ky53U0TS+LLYJttAK3XdTK4s7VE3I5IKoeNa4uwCmIM59R67q2k3cXjLk/nP6MP+y++EzHN/PTiR1sVg4dMP8K31RPw/1QNLPQwJz6Wc872oWwb7xo5gkoXbDc5WPPydsi8F3SyKNaYwzN6CDFQIDAQAB";
|
|
||||||
private static final String[] GOOGLE_CATALOG = new String[]{
|
|
||||||
"mindustry.donation.1", "mindustry.donation.2", "mindustry.donation.5",
|
|
||||||
"mindustry.donation.10", "mindustry.donation.15",
|
|
||||||
"mindustry.donation.25", "mindustry.donation.50"};
|
|
||||||
DonationsFragment donationsFragment;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when the activity is first created.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState){
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
setTheme(R.style.GdxTheme);
|
|
||||||
|
|
||||||
setContentView(R.layout.donations_activity);
|
|
||||||
|
|
||||||
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
|
|
||||||
if(BuildConfig.DONATIONS_GOOGLE){
|
|
||||||
donationsFragment = DonationsFragment.newInstance(BuildConfig.DEBUG, true, GOOGLE_PUBKEY, GOOGLE_CATALOG,
|
|
||||||
getResources().getStringArray(R.array.donation_google_catalog_values), false, null, null,
|
|
||||||
null, false, null, null, false, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ft.replace(R.id.donations_activity_container, donationsFragment, "donationsFragment");
|
|
||||||
ft.commit();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onStart(){
|
|
||||||
super.onStart();
|
|
||||||
Button b = findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button);
|
|
||||||
b.setOnClickListener(view -> {
|
|
||||||
donationsFragment.donateGoogleOnClick(donationsFragment.getView());
|
|
||||||
b.setEnabled(false);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Needed for Google Play In-app Billing. It uses startIntentSenderForResult(). The result is not propagated to
|
|
||||||
* the Fragment like in startActivityForResult(). Thus we need to propagate manually to our Fragment.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data){
|
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
|
||||||
Button b = findViewById(org.sufficientlysecure.donations.R.id.donations__google_android_market_donate_button);
|
|
||||||
b.setEnabled(true);
|
|
||||||
|
|
||||||
FragmentManager fragmentManager = getSupportFragmentManager();
|
|
||||||
Fragment fragment = fragmentManager.findFragmentByTag("donationsFragment");
|
|
||||||
if(fragment != null){
|
|
||||||
fragment.onActivityResult(requestCode, resultCode, data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -7,6 +7,18 @@ import java.lang.annotation.Target;
|
|||||||
|
|
||||||
public class Annotations{
|
public class Annotations{
|
||||||
|
|
||||||
|
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||||
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
public @interface Nullable{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||||
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
public @interface NonNull{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/** Marks a class as serializable.*/
|
/** Marks a class as serializable.*/
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ public class RemoteWriteGenerator{
|
|||||||
for(VariableElement var : elem.getParameters()){
|
for(VariableElement var : elem.getParameters()){
|
||||||
//special case: calling local-only methods uses the local player
|
//special case: calling local-only methods uses the local player
|
||||||
if(index == 0 && methodEntry.where == Loc.client){
|
if(index == 0 && methodEntry.where == Loc.client){
|
||||||
results.append("io.anuke.mindustry.Vars.players[0]");
|
results.append("io.anuke.mindustry.Vars.player");
|
||||||
}else{
|
}else{
|
||||||
results.append(var.getSimpleName());
|
results.append(var.getSimpleName());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,8 +50,21 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
|
|||||||
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning);
|
classBuilder.addJavadoc(RemoteMethodAnnotationProcessor.autogenWarning);
|
||||||
MethodSpec.Builder method = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
MethodSpec.Builder method = MethodSpec.methodBuilder("init").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
|
TypeName jsonType = ClassName.bestGuess("io.anuke.arc.util.serialization.Json");
|
||||||
|
TypeName jsonValueType = ClassName.bestGuess("io.anuke.arc.util.serialization.JsonValue");
|
||||||
|
TypeName ubJsonWriterType = ClassName.bestGuess("io.anuke.arc.util.serialization.UBJsonWriter");
|
||||||
|
TypeName ubJsonReaderType = ClassName.bestGuess("io.anuke.arc.util.serialization.UBJsonReader");
|
||||||
|
|
||||||
|
classBuilder.addField(jsonType, "bjson", Modifier.STATIC, Modifier.PRIVATE);
|
||||||
|
classBuilder.addField(ubJsonReaderType, "bjsonReader", Modifier.STATIC, Modifier.PRIVATE);
|
||||||
|
classBuilder.addStaticBlock(CodeBlock.builder()
|
||||||
|
.addStatement("bjson = new " + jsonType + "()")
|
||||||
|
.addStatement("bjsonReader = new " + ubJsonReaderType + "()")
|
||||||
|
.build());
|
||||||
|
|
||||||
for(TypeElement elem : elements){
|
for(TypeElement elem : elements){
|
||||||
TypeName type = TypeName.get(elem.asType());
|
TypeName type = TypeName.get(elem.asType());
|
||||||
|
String simpleTypeName = type.toString().substring(type.toString().lastIndexOf('.') + 1);
|
||||||
|
|
||||||
TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("")
|
TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("")
|
||||||
.addSuperinterface(ParameterizedTypeName.get(
|
.addSuperinterface(ParameterizedTypeName.get(
|
||||||
@@ -70,7 +83,19 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
|
|||||||
.addException(IOException.class)
|
.addException(IOException.class)
|
||||||
.addModifiers(Modifier.PUBLIC);
|
.addModifiers(Modifier.PUBLIC);
|
||||||
|
|
||||||
|
MethodSpec.Builder jsonWriteMethod = MethodSpec.methodBuilder("write" + simpleTypeName + "Json")
|
||||||
|
.returns(void.class)
|
||||||
|
.addParameter(jsonType, "json")
|
||||||
|
.addParameter(type, "object")
|
||||||
|
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
|
MethodSpec.Builder jsonReadMethod = MethodSpec.methodBuilder("read" + simpleTypeName + "Json")
|
||||||
|
.returns(type)
|
||||||
|
.addParameter(jsonValueType, "value")
|
||||||
|
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
readMethod.addStatement("$L object = new $L()", type, type);
|
readMethod.addStatement("$L object = new $L()", type, type);
|
||||||
|
jsonReadMethod.addStatement("$L object = new $L()", type, type);
|
||||||
|
|
||||||
List<VariableElement> fields = ElementFilter.fieldsIn(Utils.elementUtils.getAllMembers(elem));
|
List<VariableElement> fields = ElementFilter.fieldsIn(Utils.elementUtils.getAllMembers(elem));
|
||||||
for(VariableElement field : fields){
|
for(VariableElement field : fields){
|
||||||
@@ -83,6 +108,9 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
|
|||||||
if(field.asType().getKind().isPrimitive()){
|
if(field.asType().getKind().isPrimitive()){
|
||||||
writeMethod.addStatement("stream.write" + capName + "(object." + name + ")");
|
writeMethod.addStatement("stream.write" + capName + "(object." + name + ")");
|
||||||
readMethod.addStatement("object." + name + "= stream.read" + capName + "()");
|
readMethod.addStatement("object." + name + "= stream.read" + capName + "()");
|
||||||
|
|
||||||
|
jsonWriteMethod.addStatement("json.writeValue(\"" + name + "\", object." + name +")");
|
||||||
|
jsonReadMethod.addStatement("if(value.has(\"" + name + "\")) object." + name + "= value.get" + capName + "(\"" + name + "\")");
|
||||||
}else{
|
}else{
|
||||||
writeMethod.addStatement("io.anuke.arc.Core.settings.getSerializer(" + typeName+ ".class).write(stream, object." + name + ")");
|
writeMethod.addStatement("io.anuke.arc.Core.settings.getSerializer(" + typeName+ ".class).write(stream, object." + name + ")");
|
||||||
readMethod.addStatement("object." + name + " = (" +typeName+")io.anuke.arc.Core.settings.getSerializer(" + typeName+ ".class).read(stream)");
|
readMethod.addStatement("object." + name + " = (" +typeName+")io.anuke.arc.Core.settings.getSerializer(" + typeName+ ".class).read(stream)");
|
||||||
@@ -90,22 +118,47 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
readMethod.addStatement("return object");
|
readMethod.addStatement("return object");
|
||||||
|
jsonReadMethod.addStatement("return object");
|
||||||
|
|
||||||
serializer.addMethod(writeMethod.build());
|
serializer.addMethod(writeMethod.build());
|
||||||
serializer.addMethod(readMethod.build());
|
serializer.addMethod(readMethod.build());
|
||||||
|
|
||||||
method.addStatement("io.anuke.arc.Core.settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build());
|
method.addStatement("io.anuke.arc.Core.settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build());
|
||||||
|
|
||||||
String sname = type.toString().substring(type.toString().lastIndexOf('.') + 1);
|
name(writeMethod, "write" + simpleTypeName);
|
||||||
|
name(readMethod, "read" + simpleTypeName);
|
||||||
name(writeMethod, "write" + sname);
|
|
||||||
name(readMethod, "read" + sname);
|
|
||||||
|
|
||||||
writeMethod.addModifiers(Modifier.STATIC);
|
writeMethod.addModifiers(Modifier.STATIC);
|
||||||
readMethod.addModifiers(Modifier.STATIC);
|
readMethod.addModifiers(Modifier.STATIC);
|
||||||
|
|
||||||
classBuilder.addMethod(writeMethod.build());
|
classBuilder.addMethod(writeMethod.build());
|
||||||
classBuilder.addMethod(readMethod.build());
|
classBuilder.addMethod(readMethod.build());
|
||||||
|
|
||||||
|
classBuilder.addMethod(jsonWriteMethod.build());
|
||||||
|
classBuilder.addMethod(jsonReadMethod.build());
|
||||||
|
|
||||||
|
MethodSpec.Builder binaryJsonWriteMethod = MethodSpec.methodBuilder("write" + simpleTypeName + "StreamJson")
|
||||||
|
.returns(void.class)
|
||||||
|
.addParameter(DataOutput.class, "stream")
|
||||||
|
.addParameter(type, "object")
|
||||||
|
.addException(IOException.class)
|
||||||
|
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||||
|
.addStatement("java.io.StringWriter output = new java.io.StringWriter()")
|
||||||
|
.addStatement("bjson.setWriter(output)")
|
||||||
|
.addStatement("bjson.writeObjectStart(" + type + ".class, " + type + ".class)")
|
||||||
|
.addStatement("write" + simpleTypeName + "Json(bjson, object)")
|
||||||
|
.addStatement("bjson.writeObjectEnd()")
|
||||||
|
.addStatement("stream.writeUTF(output.toString())");
|
||||||
|
|
||||||
|
MethodSpec.Builder binaryJsonReadMethod = MethodSpec.methodBuilder("read" + simpleTypeName + "StreamJson")
|
||||||
|
.returns(type)
|
||||||
|
.addParameter(DataInput.class, "stream")
|
||||||
|
.addException(IOException.class)
|
||||||
|
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||||
|
.addStatement("return read" + simpleTypeName + "Json(bjson.fromJson(null, stream.readUTF()))");
|
||||||
|
|
||||||
|
classBuilder.addMethod(binaryJsonWriteMethod.build());
|
||||||
|
classBuilder.addMethod(binaryJsonReadMethod.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
classBuilder.addMethod(method.build());
|
classBuilder.addMethod(method.build());
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ public class StructAnnotationProcessor extends AbstractProcessor{
|
|||||||
//floats: need conversion
|
//floats: need conversion
|
||||||
setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
||||||
}else{
|
}else{
|
||||||
cons.append(" | (").append("(").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)");
|
cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")");
|
||||||
|
|
||||||
//bytes, shorts, chars, ints
|
//bytes, shorts, chars, ints
|
||||||
setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset);
|
||||||
|
|||||||
12
build.gradle
@@ -8,8 +8,9 @@ buildscript{
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.5'
|
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.6'
|
||||||
classpath "com.badlogicgames.gdx:gdx-tools:1.9.9"
|
classpath "com.badlogicgames.gdx:gdx-tools:1.9.9"
|
||||||
|
classpath "com.badlogicgames.packr:packr:2.1-SNAPSHOT"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,15 +25,15 @@ allprojects{
|
|||||||
if(!project.hasProperty("versionType")) versionType = 'official'
|
if(!project.hasProperty("versionType")) versionType = 'official'
|
||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
gdxVersion = '1.9.9'
|
gdxVersion = '1.9.9'
|
||||||
roboVMVersion = '2.3.0'
|
roboVMVersion = '2.3.6'
|
||||||
arcHash = null
|
arcHash = null
|
||||||
|
|
||||||
debugged = {
|
debugged = {
|
||||||
return new File(projectDir.parent, '../debug').exists() && System.properties["release"] == null
|
return new File(projectDir.parent, '../debug').exists() && !project.hasProperty("release")
|
||||||
}
|
}
|
||||||
|
|
||||||
localArc = {
|
localArc = {
|
||||||
return (System.properties["release"] == null || System.properties["release"] == "false") && new File(projectDir.parent, '../Arc').exists()
|
return (!project.hasProperty("release")) && new File(projectDir.parent, '../Arc').exists()
|
||||||
}
|
}
|
||||||
|
|
||||||
getArcHash = {
|
getArcHash = {
|
||||||
@@ -42,7 +43,7 @@ allprojects{
|
|||||||
arcHash = 'git ls-remote https://github.com/Anuken/Arc.git'.execute().text.split("\t")[0]
|
arcHash = 'git ls-remote https://github.com/Anuken/Arc.git'.execute().text.split("\t")[0]
|
||||||
}catch(e){
|
}catch(e){
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
arcHash = "-SNAPSHOT";
|
arcHash = "-SNAPSHOT"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return arcHash
|
return arcHash
|
||||||
@@ -155,6 +156,7 @@ project(":ios"){
|
|||||||
dependencies{
|
dependencies{
|
||||||
compile project(":core")
|
compile project(":core")
|
||||||
compile project(":net")
|
compile project(":net")
|
||||||
|
compileOnly project(":annotations")
|
||||||
|
|
||||||
compile arcModule("backends:backend-robovm")
|
compile arcModule("backends:backend-robovm")
|
||||||
|
|
||||||
|
|||||||
BIN
core/assets-raw/fonts/NanumBarunGothic.ttf
Normal file
BIN
core/assets-raw/fonts/OpenSansEmoji.ttf
Normal file
BIN
core/assets-raw/fonts/font_latin.ttf
Normal file
BIN
core/assets-raw/sprites/blocks/defense/mender-top.png
Normal file
|
After Width: | Height: | Size: 1018 B |
BIN
core/assets-raw/sprites/blocks/defense/mender.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 405 B After Width: | Height: | Size: 405 B |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 354 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 168 B |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 155 B |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 170 B |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 294 B |
BIN
core/assets-raw/sprites/blocks/environment/darksand1.png
Normal file
|
After Width: | Height: | Size: 94 B |
BIN
core/assets-raw/sprites/blocks/environment/darksand2.png
Normal file
|
After Width: | Height: | Size: 105 B |
BIN
core/assets-raw/sprites/blocks/environment/darksand3.png
Normal file
|
After Width: | Height: | Size: 94 B |
|
Before Width: | Height: | Size: 195 B |
|
Before Width: | Height: | Size: 578 B |
|
Before Width: | Height: | Size: 189 B After Width: | Height: | Size: 190 B |
|
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 118 B |
|
Before Width: | Height: | Size: 354 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 127 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 125 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 1005 B After Width: | Height: | Size: 100 B |
|
Before Width: | Height: | Size: 999 B After Width: | Height: | Size: 100 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 100 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 135 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 97 B |
|
Before Width: | Height: | Size: 1015 B After Width: | Height: | Size: 90 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 116 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 120 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 114 B |
|
Before Width: | Height: | Size: 1018 B After Width: | Height: | Size: 105 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 115 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 115 B |
BIN
core/assets-raw/sprites/blocks/environment/moss1.png
Normal file
|
After Width: | Height: | Size: 106 B |
BIN
core/assets-raw/sprites/blocks/environment/moss2.png
Normal file
|
After Width: | Height: | Size: 102 B |
BIN
core/assets-raw/sprites/blocks/environment/moss3.png
Normal file
|
After Width: | Height: | Size: 104 B |
8
core/assets-raw/sprites/blocks/environment/pack.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
duplicatePadding: true,
|
||||||
|
combineSubdirectories: true,
|
||||||
|
flattenPaths: true,
|
||||||
|
maxWidth: 2048,
|
||||||
|
maxHeight: 2048,
|
||||||
|
fast: true,
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
duplicatePadding: true,
|
||||||
|
combineSubdirectories: true,
|
||||||
|
flattenPaths: true,
|
||||||
|
maxWidth: 1024,
|
||||||
|
maxHeight: 1024,
|
||||||
|
fast: true,
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 128 B After Width: | Height: | Size: 143 B |
|
Before Width: | Height: | Size: 92 B After Width: | Height: | Size: 96 B |
|
Before Width: | Height: | Size: 103 B After Width: | Height: | Size: 107 B |
|
Before Width: | Height: | Size: 92 B After Width: | Height: | Size: 96 B |
BIN
core/assets-raw/sprites/blocks/environment/sandrocks-large.png
Normal file
|
After Width: | Height: | Size: 195 B |
BIN
core/assets-raw/sprites/blocks/environment/sandrocks1.png
Normal file
|
After Width: | Height: | Size: 122 B |
BIN
core/assets-raw/sprites/blocks/environment/sandrocks2.png
Normal file
|
After Width: | Height: | Size: 119 B |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 129 B |