diff --git a/.gitignore b/.gitignore index 5d2b19d9..e3db7342 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /build /launcher/launcher.exe +/src/launcher/launcher.exe /dependency-reduced-pom.xml /nb-configuration.xml diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md new file mode 100644 index 00000000..b0bca28f --- /dev/null +++ b/DEPENDENCIES.md @@ -0,0 +1,23 @@ +# Dependencies + - [OpenSimplex2](https://github.com/KdotJPG/OpenSimplex2) --- [CC0](https://github.com/KdotJPG/OpenSimplex2/blob/master/LICENSE) + - [LWJGL 3](https://www.lwjgl.org/) --- [Modified BSD License](https://www.lwjgl.org/license) + - [Assimp](https://github.com/assimp/assimp) --- [assimp license](https://github.com/assimp/assimp/blob/master/LICENSE) + - [GLFW](https://github.com/glfw/glfw) --- [zlib license](https://github.com/glfw/glfw/blob/master/LICENSE.md) + - [OpenAL Soft](https://www.openal-soft.org/) --- [LGPL](https://www.openal-soft.org/) + - [STB](https://github.com/nothings/stb) --- [MIT](https://github.com/nothings/stb/blob/master/LICENSE) + - [Remotery](https://github.com/Celtoys/Remotery) --- [Apache 2](https://github.com/Celtoys/Remotery/blob/main/LICENSE) + - [par_shapes](https://github.com/prideout/par/blob/master/par_shapes.h) --- [MIT](https://github.com/prideout/par/blob/master/par_shapes.h) + - [JOML](https://github.com/JOML-CI/JOML) --- [MIT](https://github.com/JOML-CI/JOML/blob/main/LICENSE) + - [GSON](https://github.com/google/gson) --- [Apache 2](https://github.com/google/gson/blob/main/LICENSE) + - [ode4j](https://github.com/tzaeschke/ode4j) --- [LGPL or BSD-3](https://github.com/tzaeschke/ode4j/blob/master/ODE4J-LICENSE-BSD.TXT) + - [sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) --- [Apache 2](https://github.com/xerial/sqlite-jdbc/blob/master/LICENSE) + - [junit 5](https://github.com/junit-team/junit5) --- [Eclipse 2](https://github.com/junit-team/junit5/blob/main/LICENSE.md) + - [mockito](https://github.com/mockito/mockito) --- [MIT](https://github.com/mockito/mockito/blob/main/LICENSE) + - [graaljs](https://github.com/oracle/graaljs) --- [UPL](https://github.com/oracle/graaljs/blob/master/LICENSE) + - [steamworks4j](https://github.com/code-disaster/steamworks4j) --- [MIT](https://github.com/code-disaster/steamworks4j/blob/master/LICENSE) + - [recast4j](https://github.com/recast4j/recast4j) --- [zlib](https://github.com/recast4j/recast4j/blob/main/License.txt) + - [imgui](https://github.com/ocornut/imgui) --- [MIT](https://github.com/ocornut/imgui/blob/master/LICENSE.txt) + - [yoga](https://github.com/facebook/yoga) --- [MIT](https://github.com/facebook/yoga/blob/main/LICENSE) + - [MathUtils](https://github.com/StudioRailgun/MathUtils) --- [MIT](https://github.com/StudioRailgun/MathUtils/blob/main/LICENSE) + - [DataStructures](https://github.com/StudioRailgun/DataStructures) --- [MIT](https://github.com/StudioRailgun/DataStructures/blob/main/LICENSE) + - [Typescript](https://github.com/microsoft/TypeScript) --- [Apache 2](https://github.com/microsoft/TypeScript/blob/main/LICENSE.txt) \ No newline at end of file diff --git a/README.md b/README.md index ee3906fb..9c1d0382 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,49 @@ +# Storm Engine -# Building -## Windows -Install gitbash, choco, Eclipse Temurin 17, maven, 7zip -From choco, install mingw, make -run build.sh -Build will be in ./build \ No newline at end of file +A multiplayer-focused game engine + + + + +## Building + +### Windows +1. Install + - [gitbash](https://git-scm.com/downloads) + - [choco](https://chocolatey.org/install) + - [Eclipse Temurin 17](https://adoptium.net/temurin/releases/) + - [maven](https://maven.apache.org/download.cgi) + - [7zip](https://www.7-zip.org/) + +2. From choco install + - [mingw](https://community.chocolatey.org/packages/mingw) + - [make](https://community.chocolatey.org/packages/make) + +3. Run build.sh + +The build will be in `/build` + +### Alternate Build Profiles + +Several build profiles are defined in maven to support different functions + - fast - Only runs the fast unit tests + - integration - Runs the integration tests + - integrationDebug - Runs the integration tests with the memory-debug jar linked + + + + + + +## Documentation + +### Building +The documentation uses [Doxygen](https://github.com/doxygen/doxygen) to build. + +On windows, it's recommended to use [Doxywizard](https://www.doxygen.nl/manual/doxywizard_usage.html) to build the documentation. + +To build + - Open the file `/docs/Doxyfile` + - Navigate to the `Run` tab + - Click `Run doxygen` + - Click `Show HTML output` diff --git a/build.sh b/build.sh index e188ec84..1579c6a6 100755 --- a/build.sh +++ b/build.sh @@ -25,12 +25,12 @@ mkdir ./build/assets mvn clean package cp ./target/Renderer-${BUILD_VER}.jar ./build/engine.jar #build launcher -cd ./launcher/ +cd ./src/launcher/ make clean make build -cd .. +cd ../.. #copy launcher, jdk, and assets into build dir -mv ./launcher/launcher.exe ./build/ +mv ./src/launcher/launcher.exe ./build/ curl -L $JRE_URL >> jdk.zip unzip ./jdk.zip -d ./build/ mv ./build/jdk-* ./build/jdk diff --git a/buildNumber.properties b/buildNumber.properties index 0e12f248..adb720ba 100644 --- a/buildNumber.properties +++ b/buildNumber.properties @@ -1,3 +1,3 @@ #maven.buildNumber.plugin properties file -#Thu Nov 21 19:02:13 EST 2024 -buildNumber=400 +#Sat Nov 23 11:28:50 EST 2024 +buildNumber=401 diff --git a/docs/NetworkFlow.drawio b/docs/NetworkFlow.drawio deleted file mode 100644 index 124df2e4..00000000 --- a/docs/NetworkFlow.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/docs/phyicsForDummies.png b/docs/phyicsForDummies.png deleted file mode 100644 index 5ef74fff..00000000 Binary files a/docs/phyicsForDummies.png and /dev/null differ diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index a3c80577..787a0a23 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1129,6 +1129,10 @@ Change voxel weight reporting from server to align with foliage Use jenkins data for unit test temporarily Disable tunnel noise to align foliage better + adjust manual value for foliage placement +(11/23/2024) +Clean up top level folder +Break out dependency documentation into a dedicated file + # TODO diff --git a/pom.xml b/pom.xml index d5d223f6..f2bf0416 100644 --- a/pom.xml +++ b/pom.xml @@ -98,7 +98,7 @@ ${lwjgl.natives} - + org.lwjgl @@ -159,10 +159,6 @@ - - - - org.ode4j core @@ -287,7 +283,7 @@ - + org.lwjgl lwjgl-yoga @@ -342,6 +338,7 @@ exec-maven-plugin 3.0.0 + Download Typescript generate-sources @@ -365,52 +362,6 @@ - - - - - - lwjgl-natives-macos - - - mac - - - - 17 - natives-macos - - - - - org.codehaus.mojo - exec-maven-plugin - 3.0.0 - - - Download Typescript - generate-sources - - exec - - - bash - ${basedir}/Assets/Scripts/compiler/get_typescript.sh - - - - - - - - - - - - - - - lwjgl-natives-windows @@ -432,6 +383,7 @@ exec-maven-plugin 3.0.0 + Download Typescript generate-sources @@ -448,8 +400,9 @@ + - Run Net Arranger + Run NetArranger generate-sources exec @@ -576,39 +529,13 @@ false true electrosphere.engine.Main - -cp target/classes;target/Renderer-${version}-jar-with-dependencies.jar electrosphere.engine.Main - - - diff --git a/asset-gen/symbolism-calculatorxlsx.xlsx b/src/asset-gen/symbolism-calculatorxlsx.xlsx similarity index 100% rename from asset-gen/symbolism-calculatorxlsx.xlsx rename to src/asset-gen/symbolism-calculatorxlsx.xlsx diff --git a/launcher/Makefile b/src/launcher/Makefile similarity index 100% rename from launcher/Makefile rename to src/launcher/Makefile diff --git a/launcher/src/main.c b/src/launcher/src/main.c similarity index 100% rename from launcher/src/main.c rename to src/launcher/src/main.c diff --git a/net/character.json b/src/net/character.json similarity index 100% rename from net/character.json rename to src/net/character.json diff --git a/net/combat.json b/src/net/combat.json similarity index 100% rename from net/combat.json rename to src/net/combat.json diff --git a/net/entity.json b/src/net/entity.json similarity index 97% rename from net/entity.json rename to src/net/entity.json index 8aba58c8..3eb75712 100644 --- a/net/entity.json +++ b/src/net/entity.json @@ -1,280 +1,280 @@ -{ - "outputPath" : "./src/main/java/electrosphere/net/parser/", - "packageName" : "electrosphere.net.parser", - "categories":[ - { - "categoryName" : "Entity", - "data" : [ - { - "name" : "entityCategory", - "type" : "FIXED_INT" - }, - { - "name" : "entitySubtype", - "type" : "VAR_STRING" - }, - { - "name" : "entityID", - "type" : "FIXED_INT" - }, - { - "name" : "creatureTemplate", - "type" : "VAR_STRING" - }, - { - "name" : "positionX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "positionY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "positionZ", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "rotationX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "rotationY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "rotationZ", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "rotationW", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "linVelX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "linVelY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "linVelZ", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "angVelX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "angVelY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "angVelZ", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "linForceX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "linForceY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "linForceZ", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "angForceX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "angForceY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "angForceZ", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "yaw", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "pitch", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "velocity", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "treeState", - "type" : "FIXED_INT" - }, - { - "name" : "propertyType", - "type" : "FIXED_INT" - }, - { - "name" : "propertyValue", - "type" : "FIXED_INT" - }, - { - "name" : "time", - "type" : "FIXED_LONG" - }, - { - "name" : "bone", - "type" : "VAR_STRING" - }, - { - "name" : "targetID", - "type" : "FIXED_INT" - }, - { - "name" : "bTreeID", - "type" : "FIXED_INT" - }, - { - "name" : "propertyValueInt", - "type" : "FIXED_INT" - } - ], - "messageTypes" : [ - { - "messageName" : "Create", - "description" : "Spawns an entity on the client", - "data" : [ - "entityID", - "entityCategory", - "entitySubtype", - "creatureTemplate", - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "rotationW" - ] - }, - { - "messageName" : "moveUpdate", - "description" : "Updates a client on the move state of an entity", - "data" : [ - "entityID", - "time", - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "rotationW", - "velocity", - "propertyValueInt", - "treeState" - ] - }, - { - "messageName" : "attackUpdate", - "description" : "(Deprecated) Updates the client on the status of a given attack", - "data" : [ - "entityID", - "time", - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "velocity", - "treeState" - ] - }, - { - "messageName" : "startAttack", - "description" : "Alerts the server that the client wants to start attacking", - "data" : [] - }, - { - "messageName" : "Kill", - "description" : "Kills an entity (ie plays death animation, creates effects, etc -- does not actually delete the entity from data/scene)", - "data" : [ - "time", - "entityID" - ] - }, - { - "messageName" : "Destroy", - "description" : "Destroys an entity, clearing it from the client scene", - "data" : [ - "entityID" - ] - }, - { - "messageName" : "setProperty", - "description" : "Sets a property on an entity (old method user to set the player's entity)", - "data" : [ - "entityID", - "time", - "propertyType", - "propertyValue" - ] - }, - { - "messageName" : "attachEntityToEntity", - "description" : "Tells the client to attach an entity to another entity", - "data" : [ - "entityID", - "bone", - "targetID" - ] - }, - { - "messageName" : "updateEntityViewDir", - "description" : "Updates the server's value for where the player is looking", - "data" : [ - "entityID", - "time", - "propertyType", - "yaw", - "pitch" - ] - }, - { - "messageName" : "syncPhysics", - "description" : "Synchronizes server physics state to client", - "data" : [ - "entityID", - "time", - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "rotationW", - "linVelX", - "linVelY", - "linVelZ", - "angVelX", - "angVelY", - "angVelZ", - "linForceX", - "linForceY", - "linForceZ", - "angForceX", - "angForceY", - "angForceZ" - ] - } - - - - ] - } - ] +{ + "outputPath" : "./src/main/java/electrosphere/net/parser/", + "packageName" : "electrosphere.net.parser", + "categories":[ + { + "categoryName" : "Entity", + "data" : [ + { + "name" : "entityCategory", + "type" : "FIXED_INT" + }, + { + "name" : "entitySubtype", + "type" : "VAR_STRING" + }, + { + "name" : "entityID", + "type" : "FIXED_INT" + }, + { + "name" : "creatureTemplate", + "type" : "VAR_STRING" + }, + { + "name" : "positionX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "positionY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "positionZ", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "rotationX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "rotationY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "rotationZ", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "rotationW", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "linVelX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "linVelY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "linVelZ", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "angVelX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "angVelY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "angVelZ", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "linForceX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "linForceY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "linForceZ", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "angForceX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "angForceY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "angForceZ", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "yaw", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "pitch", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "velocity", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "treeState", + "type" : "FIXED_INT" + }, + { + "name" : "propertyType", + "type" : "FIXED_INT" + }, + { + "name" : "propertyValue", + "type" : "FIXED_INT" + }, + { + "name" : "time", + "type" : "FIXED_LONG" + }, + { + "name" : "bone", + "type" : "VAR_STRING" + }, + { + "name" : "targetID", + "type" : "FIXED_INT" + }, + { + "name" : "bTreeID", + "type" : "FIXED_INT" + }, + { + "name" : "propertyValueInt", + "type" : "FIXED_INT" + } + ], + "messageTypes" : [ + { + "messageName" : "Create", + "description" : "Spawns an entity on the client", + "data" : [ + "entityID", + "entityCategory", + "entitySubtype", + "creatureTemplate", + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "rotationW" + ] + }, + { + "messageName" : "moveUpdate", + "description" : "Updates a client on the move state of an entity", + "data" : [ + "entityID", + "time", + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "rotationW", + "velocity", + "propertyValueInt", + "treeState" + ] + }, + { + "messageName" : "attackUpdate", + "description" : "(Deprecated) Updates the client on the status of a given attack", + "data" : [ + "entityID", + "time", + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "velocity", + "treeState" + ] + }, + { + "messageName" : "startAttack", + "description" : "Alerts the server that the client wants to start attacking", + "data" : [] + }, + { + "messageName" : "Kill", + "description" : "Kills an entity (ie plays death animation, creates effects, etc -- does not actually delete the entity from data/scene)", + "data" : [ + "time", + "entityID" + ] + }, + { + "messageName" : "Destroy", + "description" : "Destroys an entity, clearing it from the client scene", + "data" : [ + "entityID" + ] + }, + { + "messageName" : "setProperty", + "description" : "Sets a property on an entity (old method user to set the player's entity)", + "data" : [ + "entityID", + "time", + "propertyType", + "propertyValue" + ] + }, + { + "messageName" : "attachEntityToEntity", + "description" : "Tells the client to attach an entity to another entity", + "data" : [ + "entityID", + "bone", + "targetID" + ] + }, + { + "messageName" : "updateEntityViewDir", + "description" : "Updates the server's value for where the player is looking", + "data" : [ + "entityID", + "time", + "propertyType", + "yaw", + "pitch" + ] + }, + { + "messageName" : "syncPhysics", + "description" : "Synchronizes server physics state to client", + "data" : [ + "entityID", + "time", + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "rotationW", + "linVelX", + "linVelY", + "linVelZ", + "angVelX", + "angVelY", + "angVelZ", + "linForceX", + "linForceY", + "linForceZ", + "angForceX", + "angForceY", + "angForceZ" + ] + } + + + + ] + } + ] } \ No newline at end of file diff --git a/net/inventory.json b/src/net/inventory.json similarity index 100% rename from net/inventory.json rename to src/net/inventory.json diff --git a/net/lore.json b/src/net/lore.json similarity index 96% rename from net/lore.json rename to src/net/lore.json index e8ff4786..55e30f9f 100644 --- a/net/lore.json +++ b/src/net/lore.json @@ -1,29 +1,29 @@ -{ - "outputPath" : "./src/main/java/electrosphere/net/parser/", - "packageName" : "electrosphere.net.parser", - "categories":[ - { - "categoryName" : "Lore", - "data" : [ - { - "name" : "data", - "type" : "VAR_STRING" - } - ], - "messageTypes" : [ - { - "messageName" : "RequestRaces", - "description" : "Requests the data for all races available to the character to play", - "data" : [] - }, - { - "messageName" : "ResponseRaces", - "description" : "Responds with the data on all races available for play", - "data" : [ - "data" - ] - } - ] - } - ] +{ + "outputPath" : "./src/main/java/electrosphere/net/parser/", + "packageName" : "electrosphere.net.parser", + "categories":[ + { + "categoryName" : "Lore", + "data" : [ + { + "name" : "data", + "type" : "VAR_STRING" + } + ], + "messageTypes" : [ + { + "messageName" : "RequestRaces", + "description" : "Requests the data for all races available to the character to play", + "data" : [] + }, + { + "messageName" : "ResponseRaces", + "description" : "Responds with the data on all races available for play", + "data" : [ + "data" + ] + } + ] + } + ] } \ No newline at end of file diff --git a/net/player.json b/src/net/player.json similarity index 97% rename from net/player.json rename to src/net/player.json index 5b1b6add..5ae875f6 100644 --- a/net/player.json +++ b/src/net/player.json @@ -1,45 +1,45 @@ -{ - "outputPath" : "./src/main/java/electrosphere/net/parser/", - "packageName" : "electrosphere.net.parser", - "categories":[ - { - "categoryName" : "Player", - "data" : [ - { - "name" : "playerID", - "type" : "FIXED_INT" - }, - { - "name" : "initialDiscretePositionX", - "type" : "FIXED_INT" - }, - { - "name" : "initialDiscretePositionY", - "type" : "FIXED_INT" - }, - { - "name" : "initialDiscretePositionZ", - "type" : "FIXED_INT" - } - ], - "messageTypes" : [ - { - "messageName" : "Set_ID", - "description" : "Provides the server's id for the player", - "data" : [ - "playerID" - ] - }, - { - "messageName" : "SetInitialDiscretePosition", - "description" : "Tells the client the initial position of the player entity", - "data" : [ - "initialDiscretePositionX", - "initialDiscretePositionY", - "initialDiscretePositionZ" - ] - } - ] - } - ] +{ + "outputPath" : "./src/main/java/electrosphere/net/parser/", + "packageName" : "electrosphere.net.parser", + "categories":[ + { + "categoryName" : "Player", + "data" : [ + { + "name" : "playerID", + "type" : "FIXED_INT" + }, + { + "name" : "initialDiscretePositionX", + "type" : "FIXED_INT" + }, + { + "name" : "initialDiscretePositionY", + "type" : "FIXED_INT" + }, + { + "name" : "initialDiscretePositionZ", + "type" : "FIXED_INT" + } + ], + "messageTypes" : [ + { + "messageName" : "Set_ID", + "description" : "Provides the server's id for the player", + "data" : [ + "playerID" + ] + }, + { + "messageName" : "SetInitialDiscretePosition", + "description" : "Tells the client the initial position of the player entity", + "data" : [ + "initialDiscretePositionX", + "initialDiscretePositionY", + "initialDiscretePositionZ" + ] + } + ] + } + ] } \ No newline at end of file diff --git a/net/server.json b/src/net/server.json similarity index 96% rename from net/server.json rename to src/net/server.json index e1ff1730..583d73b9 100644 --- a/net/server.json +++ b/src/net/server.json @@ -1,66 +1,66 @@ -{ - "outputPath" : "./src/main/java/electrosphere/net/parser/", - "packageName" : "electrosphere.net.parser", - "categories":[ - - { - "categoryName" : "Server", - "data" : [ - ], - "messageTypes" : [ - { - "messageName" : "Ping", - "description" : "Pings the other side of the socket", - "data" : [] - }, - { - "messageName" : "Pong", - "description" : "Replies to a ping from the other side of the socket", - "data" : [] - } - ] - }, - - - { - "categoryName" : "Auth", - "data" : [ - { - "name" : "user", - "type" : "VAR_STRING" - }, - { - "name" : "pass", - "type" : "VAR_STRING" - } - ], - "messageTypes" : [ - { - "messageName" : "AuthRequest", - "description" : "Requests authorization from the client", - "data" : [] - }, - { - "messageName" : "AuthDetails", - "description" : "Tells the server the auth details of this client", - "data" : [ - "user", - "pass" - ] - }, - { - "messageName" : "AuthSuccess", - "description" : "Tells the client it successfully logged in", - "data" : [] - }, - { - "messageName" : "AuthFailure", - "description" : "Tells the client it failed to log in", - "data" : [] - } - ] - } - - ] - +{ + "outputPath" : "./src/main/java/electrosphere/net/parser/", + "packageName" : "electrosphere.net.parser", + "categories":[ + + { + "categoryName" : "Server", + "data" : [ + ], + "messageTypes" : [ + { + "messageName" : "Ping", + "description" : "Pings the other side of the socket", + "data" : [] + }, + { + "messageName" : "Pong", + "description" : "Replies to a ping from the other side of the socket", + "data" : [] + } + ] + }, + + + { + "categoryName" : "Auth", + "data" : [ + { + "name" : "user", + "type" : "VAR_STRING" + }, + { + "name" : "pass", + "type" : "VAR_STRING" + } + ], + "messageTypes" : [ + { + "messageName" : "AuthRequest", + "description" : "Requests authorization from the client", + "data" : [] + }, + { + "messageName" : "AuthDetails", + "description" : "Tells the server the auth details of this client", + "data" : [ + "user", + "pass" + ] + }, + { + "messageName" : "AuthSuccess", + "description" : "Tells the client it successfully logged in", + "data" : [] + }, + { + "messageName" : "AuthFailure", + "description" : "Tells the client it failed to log in", + "data" : [] + } + ] + } + + ] + } \ No newline at end of file diff --git a/net/synchronization.json b/src/net/synchronization.json similarity index 100% rename from net/synchronization.json rename to src/net/synchronization.json diff --git a/net/terrain.json b/src/net/terrain.json similarity index 96% rename from net/terrain.json rename to src/net/terrain.json index 4fc87611..496656ba 100644 --- a/net/terrain.json +++ b/src/net/terrain.json @@ -1,253 +1,253 @@ -{ - "outputPath" : "./src/main/java/electrosphere/net/parser/", - "packageName" : "electrosphere.net.parser", - "categories":[ - { - "categoryName" : "Terrain", - "data" : [ - { - "name" : "worldSizeDiscrete", - "type" : "FIXED_INT" - }, - { - "name" : "dynamicInterpolationRatio", - "type" : "FIXED_INT" - }, - { - "name" : "randomDampener", - "type" : "FIXED_FLOAT" - }, - { - "name" : "worldMinX", - "type" : "FIXED_INT" - }, - { - "name" : "worldMinY", - "type" : "FIXED_INT" - }, - { - "name" : "worldMaxX", - "type" : "FIXED_INT" - }, - { - "name" : "worldMaxY", - "type" : "FIXED_INT" - }, - - - { - "name" : "value", - "type" : "FIXED_FLOAT" - }, - - - { - "name" : "worldX", - "type" : "FIXED_INT" - }, - { - "name" : "worldY", - "type" : "FIXED_INT" - }, - { - "name" : "worldZ", - "type" : "FIXED_INT" - }, - - { - "name" : "voxelX", - "type" : "FIXED_INT" - }, - { - "name" : "voxelY", - "type" : "FIXED_INT" - }, - { - "name" : "voxelZ", - "type" : "FIXED_INT" - }, - - - - - { - "name" : "realLocationX", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "realLocationY", - "type" : "FIXED_DOUBLE" - }, - { - "name" : "realLocationZ", - "type" : "FIXED_DOUBLE" - }, - - - - { - "name" : "chunkData", - "type" : "BYTE_ARRAY" - }, - - { - "name" : "homogenousValue", - "type" : "FIXED_INT" - }, - - { - "name" : "chunkResolution", - "type" : "FIXED_INT" - }, - - { - "name" : "terrainWeight", - "type" : "FIXED_FLOAT" - }, - { - "name" : "terrainValue", - "type" : "FIXED_INT" - } - ], - "messageTypes" : [ - { - "messageName" : "RequestMetadata", - "description" : "Requests terrain metadata from the server", - "data" : [] - }, - { - "messageName" : "ResponseMetadata", - "description" : "Tell the client the terrain metadata", - "data" : [ - "worldSizeDiscrete", - "dynamicInterpolationRatio", - "randomDampener", - "worldMinX", - "worldMinY", - "worldMaxX", - "worldMaxY" - ] - }, - { - "messageName" : "RequestEditVoxel", - "description" : "Requests that a voxel be edited on the server", - "data" : [ - "worldX", - "worldY", - "worldZ", - "voxelX", - "voxelY", - "voxelZ", - "terrainWeight", - "terrainValue" - ] - }, - { - "messageName" : "UpdateVoxel", - "description" : "Tells the client to update a voxel's value", - "data" : [ - "worldX", - "worldY", - "worldZ", - "voxelX", - "voxelY", - "voxelZ", - "terrainWeight", - "terrainValue" - ] - }, - { - "messageName" : "RequestUseTerrainPalette", - "description" : "Requests that the current player entity use a given terrain palette", - "data" : [ - "realLocationX", - "realLocationY", - "realLocationZ", - "value", - "terrainWeight", - "terrainValue" - ] - }, - { - "messageName" : "SpawnPosition", - "description" : "Sets the spawn position of the client", - "data" : [ - "realLocationX", - "realLocationY", - "realLocationZ" - ] - }, - { - "messageName" : "RequestChunkData", - "description" : "Requests chunk data from the server", - "data" : [ - "worldX", - "worldY", - "worldZ" - ] - }, - { - "messageName" : "sendChunkData", - "description" : "Sends chunk data to the client", - "data" : [ - "worldX", - "worldY", - "worldZ", - "chunkData" - ] - }, - { - "messageName" : "RequestReducedChunkData", - "description" : "Requests reduced resolution chunk data from the server", - "data" : [ - "worldX", - "worldY", - "worldZ", - "chunkResolution" - ] - }, - { - "messageName" : "SendReducedChunkData", - "description" : "Sends chunk data to the client", - "data" : [ - "worldX", - "worldY", - "worldZ", - "chunkResolution", - "homogenousValue", - "chunkData" - ] - }, - { - "messageName" : "RequestFluidData", - "description" : "Requests a fluid data from the server", - "data" : [ - "worldX", - "worldY", - "worldZ" - ] - }, - { - "messageName" : "sendFluidData", - "description" : "Sends fluid data to the client", - "data" : [ - "worldX", - "worldY", - "worldZ", - "chunkData" - ] - }, - { - "messageName" : "updateFluidData", - "description" : "Updates fluid data on the client", - "data" : [ - "worldX", - "worldY", - "worldZ", - "chunkData" - ] - } - ] - } - ] +{ + "outputPath" : "./src/main/java/electrosphere/net/parser/", + "packageName" : "electrosphere.net.parser", + "categories":[ + { + "categoryName" : "Terrain", + "data" : [ + { + "name" : "worldSizeDiscrete", + "type" : "FIXED_INT" + }, + { + "name" : "dynamicInterpolationRatio", + "type" : "FIXED_INT" + }, + { + "name" : "randomDampener", + "type" : "FIXED_FLOAT" + }, + { + "name" : "worldMinX", + "type" : "FIXED_INT" + }, + { + "name" : "worldMinY", + "type" : "FIXED_INT" + }, + { + "name" : "worldMaxX", + "type" : "FIXED_INT" + }, + { + "name" : "worldMaxY", + "type" : "FIXED_INT" + }, + + + { + "name" : "value", + "type" : "FIXED_FLOAT" + }, + + + { + "name" : "worldX", + "type" : "FIXED_INT" + }, + { + "name" : "worldY", + "type" : "FIXED_INT" + }, + { + "name" : "worldZ", + "type" : "FIXED_INT" + }, + + { + "name" : "voxelX", + "type" : "FIXED_INT" + }, + { + "name" : "voxelY", + "type" : "FIXED_INT" + }, + { + "name" : "voxelZ", + "type" : "FIXED_INT" + }, + + + + + { + "name" : "realLocationX", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "realLocationY", + "type" : "FIXED_DOUBLE" + }, + { + "name" : "realLocationZ", + "type" : "FIXED_DOUBLE" + }, + + + + { + "name" : "chunkData", + "type" : "BYTE_ARRAY" + }, + + { + "name" : "homogenousValue", + "type" : "FIXED_INT" + }, + + { + "name" : "chunkResolution", + "type" : "FIXED_INT" + }, + + { + "name" : "terrainWeight", + "type" : "FIXED_FLOAT" + }, + { + "name" : "terrainValue", + "type" : "FIXED_INT" + } + ], + "messageTypes" : [ + { + "messageName" : "RequestMetadata", + "description" : "Requests terrain metadata from the server", + "data" : [] + }, + { + "messageName" : "ResponseMetadata", + "description" : "Tell the client the terrain metadata", + "data" : [ + "worldSizeDiscrete", + "dynamicInterpolationRatio", + "randomDampener", + "worldMinX", + "worldMinY", + "worldMaxX", + "worldMaxY" + ] + }, + { + "messageName" : "RequestEditVoxel", + "description" : "Requests that a voxel be edited on the server", + "data" : [ + "worldX", + "worldY", + "worldZ", + "voxelX", + "voxelY", + "voxelZ", + "terrainWeight", + "terrainValue" + ] + }, + { + "messageName" : "UpdateVoxel", + "description" : "Tells the client to update a voxel's value", + "data" : [ + "worldX", + "worldY", + "worldZ", + "voxelX", + "voxelY", + "voxelZ", + "terrainWeight", + "terrainValue" + ] + }, + { + "messageName" : "RequestUseTerrainPalette", + "description" : "Requests that the current player entity use a given terrain palette", + "data" : [ + "realLocationX", + "realLocationY", + "realLocationZ", + "value", + "terrainWeight", + "terrainValue" + ] + }, + { + "messageName" : "SpawnPosition", + "description" : "Sets the spawn position of the client", + "data" : [ + "realLocationX", + "realLocationY", + "realLocationZ" + ] + }, + { + "messageName" : "RequestChunkData", + "description" : "Requests chunk data from the server", + "data" : [ + "worldX", + "worldY", + "worldZ" + ] + }, + { + "messageName" : "sendChunkData", + "description" : "Sends chunk data to the client", + "data" : [ + "worldX", + "worldY", + "worldZ", + "chunkData" + ] + }, + { + "messageName" : "RequestReducedChunkData", + "description" : "Requests reduced resolution chunk data from the server", + "data" : [ + "worldX", + "worldY", + "worldZ", + "chunkResolution" + ] + }, + { + "messageName" : "SendReducedChunkData", + "description" : "Sends chunk data to the client", + "data" : [ + "worldX", + "worldY", + "worldZ", + "chunkResolution", + "homogenousValue", + "chunkData" + ] + }, + { + "messageName" : "RequestFluidData", + "description" : "Requests a fluid data from the server", + "data" : [ + "worldX", + "worldY", + "worldZ" + ] + }, + { + "messageName" : "sendFluidData", + "description" : "Sends fluid data to the client", + "data" : [ + "worldX", + "worldY", + "worldZ", + "chunkData" + ] + }, + { + "messageName" : "updateFluidData", + "description" : "Updates fluid data on the client", + "data" : [ + "worldX", + "worldY", + "worldZ", + "chunkData" + ] + } + ] + } + ] } \ No newline at end of file diff --git a/template.json b/template.json index c1463157..e4739f54 100644 --- a/template.json +++ b/template.json @@ -6,15 +6,15 @@ ], "subfiles" : [ - "./net/entity.json", - "./net/lore.json", - "./net/player.json", - "./net/terrain.json", - "./net/server.json", - "./net/character.json", - "./net/inventory.json", - "./net/synchronization.json", - "./net/combat.json" + "./src/net/entity.json", + "./src/net/lore.json", + "./src/net/player.json", + "./src/net/terrain.json", + "./src/net/server.json", + "./src/net/character.json", + "./src/net/inventory.json", + "./src/net/synchronization.json", + "./src/net/combat.json" ] } \ No newline at end of file diff --git a/tools/jenkinsDockerfile b/tools/jenkinsDockerfile deleted file mode 100644 index 7ba2d2bc..00000000 --- a/tools/jenkinsDockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM jenkins/jenkins:lts-jdk17 -USER root - -# C Build Utils -RUN apt-get update && apt-get install -y build-essential - -# Python (cant find package atm) -# RUN apt-get update && apt-get install -y python - -# Doxygen -RUN apt-get update && apt-get install -y wget -RUN cd /tmp && \ - mkdir doxygen && \ - cd doxygen && \ - wget https://www.doxygen.nl/files/doxygen-1.11.0.linux.bin.tar.gz && \ - tar -xzvf ./doxygen-1.11.0.linux.bin.tar.gz && \ - cp ./doxygen-1.11.0/bin/* /usr/local/bin/ - -# xvfb for jenkins plugin + dependencies required to actually render lwjgl -RUN apt-get update && apt-get install -y xvfb mesa-utils libxrender1 libxext6 libxtst6 libxi6 - -USER jenkins