Compare commits

..

1 Commits

Author SHA1 Message Date
minjaesong
083ff2b466 initial test, ~40% of the performance was achieved 2020-03-01 04:14:54 +09:00
282 changed files with 3820 additions and 49926 deletions

1
.gitattributes vendored
View File

@@ -5,4 +5,3 @@
*.opus filter=lfs diff=lfs merge=lfs -text *.opus filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text *.pdf filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text
*.kra filter=lfs diff=lfs merge=lfs -text

3
.gitignore vendored
View File

@@ -13,8 +13,6 @@ replay_pid*
Thumbs.db Thumbs.db
.DS_Store .DS_Store
desktop.ini desktop.ini
.directory
*/.directory
# Resources that should not be tracked # Resources that should not be tracked
assets/mods/basegame/demoworld assets/mods/basegame/demoworld
@@ -28,7 +26,6 @@ workspace.xml
# Temporary files # Temporary files
.tmp* .tmp*
tmp_* tmp_*
*.bak
## Microsoft Office ## Microsoft Office
~$* ~$*
## Generic temp files in Linux ## Generic temp files in Linux

View File

@@ -4,9 +4,6 @@
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar!/" /> <root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar!/" /> <root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-test.jar!/" /> <root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-test.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlinx-coroutines-core-1.0.1.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlinx-coroutines-io-jvm-0.1.1.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlinx-coroutines-jdk8-1.0.1.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES> <SOURCES>

View File

@@ -1,53 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.9.10" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.9.10" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,41 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx-backend-lwjgl:1.9.10" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-backend-lwjgl:1.9.10" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-2.9.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-platform-2.9.3-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-platform-2.9.3-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-platform-2.9.3-natives-osx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jinput-2.0.5.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jutils-1.0.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jinput-platform-2.0.5-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jinput-platform-2.0.5-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jinput-platform-2.0.5-natives-osx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl_util-2.9.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-2.9.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jinput-2.0.5-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jutils-1.0.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl_util-2.9.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-2.9.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jinput-2.0.5-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jutils-1.0.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl_util-2.9.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,20 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx-controllers-desktop:1.9.10" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-controllers-desktop:1.9.10" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-1.9.10.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-1.9.10-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-1.9.10-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,18 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx-controllers-platform:1.9.10" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-controllers-platform:1.9.10" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-platform-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-1.9.10.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-1.9.10-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-1.9.10-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.9.10-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,10 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx-platform:1.9.10" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-platform:1.9.10" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.9.10.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -4,17 +4,24 @@
<root url="file://$PROJECT_DIR$/lib" /> <root url="file://$PROJECT_DIR$/lib" />
</CLASSES> </CLASSES>
<JAVADOC> <JAVADOC>
<root url="file://$PROJECT_DIR$/lib/javadoc" />
<root url="http://libgdx.badlogicgames.com/nightlies/docs/api/" /> <root url="http://libgdx.badlogicgames.com/nightlies/docs/api/" />
<root url="https://libgdx.badlogicgames.com/ci/nightlies/docs/api/" /> <root url="https://libgdx.badlogicgames.com/ci/nightlies/docs/api/" />
<root url="jar://$PROJECT_DIR$/lib/javadoc/gdx-docs.zip!/" />
</JAVADOC> </JAVADOC>
<NATIVE> <NATIVE>
<root url="file://$PROJECT_DIR$/lib" /> <root url="file://$PROJECT_DIR$/lib" />
<root url="file://$PROJECT_DIR$/lib/x86" />
<root url="file://$PROJECT_DIR$/lib/x86_64" />
</NATIVE> </NATIVE>
<SOURCES> <SOURCES>
<root url="file://$PROJECT_DIR$/lib/source" />
<root url="jar://$PROJECT_DIR$/lib/Terrarum_Joise.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/Terrarum_Joise.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/source/gdx-backend-lwjgl-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/TerrarumSansBitmap.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/TerrarumSansBitmap.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/prtree.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/prtree.jar!/" />
</SOURCES> </SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/lib" recursive="false" /> <jarDirectory url="file://$PROJECT_DIR$/lib" recursive="false" />
<jarDirectory url="file://$PROJECT_DIR$/lib/source" recursive="false" type="SOURCES" />
</library> </library>
</component> </component>

2
.idea/misc.xml generated
View File

@@ -38,7 +38,7 @@
<property name="caretWidth" class="java.lang.Integer" /> <property name="caretWidth" class="java.lang.Integer" />
</properties> </properties>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8.0_242" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="false" project-jdk-name="15-ea" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>

View File

@@ -7,7 +7,7 @@
|0x10_0000..0x0FFF_FFFF|Items (dynamic\*) (267M possible)| |0x10_0000..0x0FFF_FFFF|Items (dynamic\*) (267M possible)|
|0x1000_0000..0x7FFF_FFFF|Actors (1879M possible)| |0x1000_0000..0x7FFF_FFFF|Actors (1879M possible)|
|-1..-65536|Virtual Tiles| |-1..-65536|Virtual Tiles|
|-2147483648..-65537 (all negative numbers)|Faction (2147M possible)| |-2147483648..-1 (all negative numbers)|Faction (2147M possible)|
* dynamic items have own properties that will persist through savegame. * dynamic items have own properties that will persist through savegame.
@@ -20,5 +20,3 @@ Actors range in-depth
|0x5000_0000..0x5FFF_FFFF|Special (e.g. weapon swung, bullets, dropped item, particles)| |0x5000_0000..0x5FFF_FFFF|Special (e.g. weapon swung, bullets, dropped item, particles)|
|0x6000_0000..0x6FFF_FFFF|Rendered front (e.g. fake tile)| |0x6000_0000..0x6FFF_FFFF|Rendered front (e.g. fake tile)|
|0x7000_0000..0x7FFF_FFFF|Rendered as screen overlay, not affected by light nor environment overlays| |0x7000_0000..0x7FFF_FFFF|Rendered as screen overlay, not affected by light nor environment overlays|
Actor IDs are assigned in 256 groups, single actor can have 256 sub-actors

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

BIN
assets/graphics/fonts/terrarum-sans-bitmap/insular_variable.tga LFS Executable file → Normal file

Binary file not shown.

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -8,7 +8,7 @@
"EAUR"; "768"; "0";"8192"; "21"; "1.36"; "1.0";"elven aurichalcum" "EAUR"; "768"; "0";"8192"; "21"; "1.36"; "1.0";"elven aurichalcum"
"TIAL"; "900"; "0";"4420"; "33"; "2.16"; "1.0";"titanium alloy (Ti6Al4V)" "TIAL"; "900"; "0";"4420"; "33"; "2.16"; "1.0";"titanium alloy (Ti6Al4V)"
"ADMT";"2000";"4090";"2700"; "71"; "3.42"; "1.0";"adamant" "ADMT";"2000";"4090";"2700"; "71"; "3.42"; "1.0";"adamant"
"OOZE"; "20"; "0";"1000"; "1"; "0.08"; "0.5";"genetic ooze; data is about human skin" "OOZE"; "20"; "0";"1000"; "1"; "N/A"; "0.5";"genetic ooze; data is about human skin"
"BONE"; "130"; "0";"2000"; "1"; "0.23"; "0.55";"data is that of bovine bone" "BONE"; "130"; "0";"2000"; "1"; "0.23"; "0.55";"data is that of bovine bone"
# idst: ID_STRING, ALL CAPS # idst: ID_STRING, ALL CAPS
1 idst tens impf dsty fmod endurance tcond comments
8 EAUR 768 0 8192 21 1.36 1.0 elven aurichalcum
9 TIAL 900 0 4420 33 2.16 1.0 titanium alloy (Ti6Al4V)
10 ADMT 2000 4090 2700 71 3.42 1.0 adamant
11 OOZE 20 0 1000 1 0.08 N/A 0.5 genetic ooze; data is about human skin
12 BONE 130 0 2000 1 0.23 0.55 data is that of bovine bone
13 # idst: ID_STRING, ALL CAPS
14 #

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -1,4 +1,4 @@
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif

View File

@@ -2,7 +2,7 @@
*/ */
#version 130 #version 120
#ifdef GL_ES #ifdef GL_ES
precision mediump float; precision mediump float;
#endif #endif
@@ -17,24 +17,27 @@ uniform sampler2D u_texture;
uniform vec2 screenDimension; uniform vec2 screenDimension;
uniform vec2 tilesInAxes; // size of the tilemap texture; vec2(tiles_in_horizontal, tiles_in_vertical) uniform vec2 tilesInAxes; // basically a screen dimension; vec2(tiles_in_horizontal, tiles_in_vertical)
uniform ivec2 tilemapDimension;
uniform sampler2D tilemap; // RGBA8888 uniform sampler2D tilemap; // RGBA8888
uniform sampler2D tilesAtlas; // terrain, wire, fluids, etc. uniform sampler2D tilesAtlas; // terrain, wire, fluids, etc.
uniform sampler2D tilesBlendAtlas; // alternative terrain for the weather mix (e.g. yellowed grass) uniform sampler2D tilesBlendAtlas; // alternative terrain for the weather mix (e.g. yellowed grass)
uniform float tilesBlend = 0.0; // percentage of blending [0f..1f]. 0: draws tilesAtlas, 1: draws tilesBlendAtlas uniform float tilesBlend = 0.0; // percentage of blending [0f..1f]. 0: draws tilesAtlas, 1: draws tilesBlendAtlas
uniform vec2 tilesInAtlas = ivec2(256.0, 256.0); uniform ivec2 tilesInAtlas = ivec2(256, 256);
uniform vec2 atlasTexSize = ivec2(4096.0, 4096.0); uniform ivec2 atlasTexSize = ivec2(4096, 4096);
vec2 tileSizeInPx = atlasTexSize / tilesInAtlas; // should be like ivec2(16.0, 16.0) ivec2 tileSizeInPx = atlasTexSize / tilesInAtlas; // should be like ivec2(16, 16)
uniform vec4 colourFilter = vec4(1, 1, 1, 1); // used by WALL to darken it uniform vec4 colourFilter = vec4(1, 1, 1, 1); // used by WALL to darken it
uniform ivec2 cameraTranslation = ivec2(0, 0); // used to offset the drawing; it's integer because we want the drawing to be pixel-aligned uniform ivec2 cameraTranslation = ivec2(0, 0); // used to offset the drawing
uniform float drawBreakage = 1.0; // set it to 0f to not draw breakage, 1f to draw it; NEVER set to any other values. uniform float drawBreakage = 1.0; // set it to 0f to not draw breakage, 1f to draw it; NEVER set to any other values.
uniform float zoom = 1.0;
ivec2 getTileXY(int tileNumber) { ivec2 getTileXY(int tileNumber) {
return ivec2(tileNumber % int(tilesInAtlas.x), tileNumber / int(tilesInAtlas.x)); return ivec2(tileNumber % int(tilesInAtlas.x), tileNumber / int(tilesInAtlas.x));
@@ -67,8 +70,10 @@ void main() {
// default gl_FragCoord takes half-integer (represeting centre of the pixel) -- could be useful for phys solver? // default gl_FragCoord takes half-integer (represeting centre of the pixel) -- could be useful for phys solver?
// This one, however, takes exact integer by rounding down. // // This one, however, takes exact integer by rounding down. //
vec2 overscannedScreenDimension = tilesInAxes * tileSizeInPx; // how many tiles will fit into a screen; one used by the tileFromMap; we need this because screen size is not integer multiple of the tile size vec2 overscannedScreenDimension = tilesInAxes * tileSizeInPx; // how many tiles will fit into a screen; one used by the tileFromMap
vec2 flippedFragCoord = vec2(gl_FragCoord.x, screenDimension.y - gl_FragCoord.y) + cameraTranslation; // NO IVEC2!!; this flips Y vec2 flippedFragCoord = vec2(gl_FragCoord.x, screenDimension.y - gl_FragCoord.y) + cameraTranslation; // NO IVEC2!!; this flips Y
//vec2 pxCoord = flippedFragCoord.xy; // TODO do I actually need 'pxCoord'?
vec2 zoomVec = vec2(zoom);
// get required tile numbers // // get required tile numbers //
@@ -78,17 +83,23 @@ void main() {
ivec2 tileXY = getTileXY(tile); ivec2 tileXY = getTileXY(tile);
ivec2 breakageXY = getTileXY(breakage + 5); // +5 is hard-coded constant that depends on the atlas ivec2 breakageXY = getTileXY(breakage + 5); // +5 is hard-coded constant that depends on the atlas
// calculate the UV coord value for texture sampling // // cauculate the UV coord value for texture sampling //
//vec2 coordInTile = mod(pxCoord, tileSizeInPx) / tileSizeInPx; // 0..1 regardless of tile position in atlas // TODO do I actually need 'pxCoord'?
vec2 coordInTile = mod(flippedFragCoord, tileSizeInPx) / tileSizeInPx; // 0..1 regardless of tile position in atlas
// don't really need highp here; read the GLES spec // don't really need highp here; read the GLES spec
vec2 uvCoordForTile = (mod(flippedFragCoord, tileSizeInPx) / tileSizeInPx) / tilesInAtlas; // 0..0.00390625 regardless of tile position in atlas vec2 singleTileSizeInUV = vec2(1) / tilesInAtlas; // constant 0.00390625 for unmodified default uniforms
vec2 uvCoordOffsetTile = tileXY / tilesInAtlas; // where the tile starts in the atlas, using uv coord (0..1)
vec2 uvCoordOffsetBreakage = breakageXY / tilesInAtlas; vec2 uvCoordForTile = coordInTile * singleTileSizeInUV; // 0..0.00390625 regardless of tile position in atlas
vec2 uvCoordOffsetTile = tileXY * singleTileSizeInUV; // where the tile starts in the atlas, using uv coord (0..1)
vec2 uvCoordOffsetBreakage = breakageXY * singleTileSizeInUV;
// get final UV coord for the actual sampling // // get final UV coord for the actual sampling //
vec2 finalUVCoordForTile = uvCoordForTile + uvCoordOffsetTile;// where we should be actually looking for in atlas, using UV coord (0..1) vec2 finalUVCoordForTile = (uvCoordForTile + uvCoordOffsetTile);// where we should be actually looking for in atlas, using UV coord (0..1)
vec2 finalUVCoordForBreakage = uvCoordForTile + uvCoordOffsetBreakage; vec2 finalUVCoordForBreakage = (uvCoordForTile + uvCoordOffsetBreakage);
// blending a breakage tex with main tex // // blending a breakage tex with main tex //

View File

@@ -1,5 +1,5 @@
buildscript { buildscript {
ext.kotlin_version = '1.3.72' ext.kotlin_version = '1.3.10'
repositories { repositories {
mavenCentral() mavenCentral()
@@ -27,7 +27,6 @@ repositories {
} }
dependencies { dependencies {
compile "org.jetbrains.kotlin:kotlinx-coroutines-core"
compile "org.jetbrains.kotlin:kotlin-stdlib" compile "org.jetbrains.kotlin:kotlin-stdlib"
compile fileTree(dir: 'lib', include: ['*.jar']) compile fileTree(dir: 'lib', include: ['*.jar'])
implementation 'org.junit:junit-bom:5.2.0' implementation 'org.junit:junit-bom:5.2.0'

View File

@@ -8,10 +8,5 @@
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="lib" level="project" /> <orderEntry type="library" name="lib" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-backend-lwjgl:1.9.10" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.9.10" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-controllers-platform:1.9.10" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-controllers-desktop:1.9.10" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-platform:1.9.10" level="project" />
</component> </component>
</module> </module>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/gdx-backend-lwjgl3.jar.gz LFS Normal file

Binary file not shown.

BIN
lib/gdx-controllers-lwjgl3.jar.gz LFS Normal file

Binary file not shown.

Binary file not shown.

BIN
lib/gdx-nightly-20170610.zip.gz LFS Normal file

Binary file not shown.

BIN
lib/gdx-nightly-20181111.zip.gz LFS Normal file

Binary file not shown.

BIN
lib/gdx-nightly-20190112.zip.gz LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/javadoc/gdx-docs.zip LFS Normal file

Binary file not shown.

Binary file not shown.

BIN
lib/javadoc/lwjgl3-javadoc.zip LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/jogg-0.0.7.jar.gz LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/jorbis-0.0.17.jar.gz LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/libjinput.zip.gz LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More