Skip to content

Commit b302c97

Browse files
author
eaglercraft
committed
u37
1 parent dc12ade commit b302c97

File tree

2,071 files changed

+65161
-8498
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,071 files changed

+65161
-8498
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ desktopRuntime/crash-reports/*
1313
desktopRuntime/options.txt
1414
desktopRuntime/_eagstorage*
1515
desktopRuntime/filesystem/*
16-
desktopRuntime/downloads/*
16+
desktopRuntime/downloads/*
17+
desktopRuntime/screenshots/*

CODE_STANDARDS.md

Lines changed: 306 additions & 0 deletions
Large diffs are not rendered by default.

EAGLERCRAFTX_README.md

Lines changed: 246 additions & 0 deletions
Large diffs are not rendered by default.

build.gradle

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
1+
import org.teavm.gradle.api.OptimizationLevel
2+
3+
buildscript {
4+
dependencies {
5+
classpath files("src/teavmc-classpath/resources")
6+
}
7+
}
8+
19
plugins {
2-
id 'java'
3-
id 'eclipse'
4-
id 'org.teavm' version '0.9.2'
10+
id "java"
11+
id "eclipse"
12+
id "org.teavm" version "0.9.2"
513
}
614

715
sourceSets {
816
main {
917
java {
10-
srcDir 'src/main/java'
11-
srcDir 'src/teavm/java'
18+
srcDirs(
19+
"src/main/java",
20+
"src/game/java",
21+
"src/protocol-game/java",
22+
"src/protocol-relay/java",
23+
"src/teavm/java",
24+
"src/teavm-boot-menu/java"
25+
)
1226
}
1327
}
28+
1429
}
1530

1631
repositories {
@@ -20,20 +35,38 @@ repositories {
2035
dependencies {
2136
teavm(teavm.libs.jso)
2237
teavm(teavm.libs.jsoApis)
38+
compileOnly "org.teavm:teavm-core:0.9.2" // workaround for a few hacks
2339
}
2440

41+
def folder = "javascript"
42+
def name = "classes.js"
43+
2544
teavm.js {
2645
obfuscated = true
2746
sourceMap = true
28-
targetFileName = "../classes.js"
29-
optimization = org.teavm.gradle.api.OptimizationLevel.BALANCED // no fps boost was observed with "AGGRESSIVE"
47+
targetFileName = "../" + name
48+
optimization = OptimizationLevel.BALANCED // Change to "AGGRESSIVE" for release
3049
outOfProcess = false
3150
fastGlobalAnalysis = false
3251
processMemory = 512
33-
entryPointName = 'main'
34-
mainClass = 'net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass'
35-
outputDir = file("javascript")
36-
properties = null
37-
sourceMap = true
52+
entryPointName = "main"
53+
mainClass = "net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass"
54+
outputDir = file(folder)
55+
properties = [ "java.util.TimeZone.autodetect": "true" ]
3856
debugInformation = false
3957
}
58+
59+
tasks.named("generateJavaScript") {
60+
doLast {
61+
62+
// NOTE: This step may break at any time, and is not required for 99% of browsers
63+
64+
def phile = file(folder + "/" + name)
65+
def dest = phile.getText("UTF-8")
66+
def i = dest.substring(0, dest.indexOf("=\$rt_globals.Symbol('jsoClass');")).lastIndexOf("let ")
67+
dest = dest.substring(0, i) + "var" + dest.substring(i + 3)
68+
def j = dest.indexOf("function(\$rt_globals,\$rt_exports){")
69+
dest = dest.substring(0, j + 34) + "\n" + file(folder + "/ES6ShimScript.txt").getText("UTF-8") + "\n" + dest.substring(j + 34)
70+
phile.write(dest, "UTF-8")
71+
}
72+
}

0 commit comments

Comments
 (0)