cleaning up top level folder
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good

This commit is contained in:
austin 2024-11-23 14:49:57 -05:00
parent 786e96373d
commit a34dc4a4dc
23 changed files with 764 additions and 790 deletions

1
.gitignore vendored
View File

@ -6,6 +6,7 @@
/build /build
/launcher/launcher.exe /launcher/launcher.exe
/src/launcher/launcher.exe
/dependency-reduced-pom.xml /dependency-reduced-pom.xml
/nb-configuration.xml /nb-configuration.xml

23
DEPENDENCIES.md Normal file
View File

@ -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)

View File

@ -1,7 +1,49 @@
# Storm Engine
# Building A multiplayer-focused game engine
## Windows
Install gitbash, choco, Eclipse Temurin 17, maven, 7zip
From choco, install mingw, make
run build.sh
Build will be in ./build ## 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 `<Project Directory>/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 `<Project Directory>/docs/Doxyfile`
- Navigate to the `Run` tab
- Click `Run doxygen`
- Click `Show HTML output`

View File

@ -25,12 +25,12 @@ mkdir ./build/assets
mvn clean package mvn clean package
cp ./target/Renderer-${BUILD_VER}.jar ./build/engine.jar cp ./target/Renderer-${BUILD_VER}.jar ./build/engine.jar
#build launcher #build launcher
cd ./launcher/ cd ./src/launcher/
make clean make clean
make build make build
cd .. cd ../..
#copy launcher, jdk, and assets into build dir #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 curl -L $JRE_URL >> jdk.zip
unzip ./jdk.zip -d ./build/ unzip ./jdk.zip -d ./build/
mv ./build/jdk-* ./build/jdk mv ./build/jdk-* ./build/jdk

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file #maven.buildNumber.plugin properties file
#Thu Nov 21 19:02:13 EST 2024 #Sat Nov 23 11:28:50 EST 2024
buildNumber=400 buildNumber=401

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

View File

@ -1129,6 +1129,10 @@ Change voxel weight reporting from server to align with foliage
Use jenkins data for unit test temporarily Use jenkins data for unit test temporarily
Disable tunnel noise to align foliage better + adjust manual value for foliage placement 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 # TODO

85
pom.xml
View File

@ -98,7 +98,7 @@
<classifier>${lwjgl.natives}</classifier> <classifier>${lwjgl.natives}</classifier>
</dependency> </dependency>
<!--STD--> <!--STB-->
<!--License: BSD--> <!--License: BSD-->
<dependency> <dependency>
<groupId>org.lwjgl</groupId> <groupId>org.lwjgl</groupId>
@ -159,10 +159,6 @@
<!--Ode4J--> <!--Ode4J-->
<!--License: Dual LGPL 2.1 OR BSD 3-clause--> <!--License: Dual LGPL 2.1 OR BSD 3-clause-->
<!--https://github.com/tzaeschke/ode4j --> <!--https://github.com/tzaeschke/ode4j -->
<!--https://tzaeschke.github.io/ode4j-old/ode4j-doc.html -->
<!--http://ode.org/wikiold/htmlfile1.html -->
<!--http://ode.org/wiki/index.php/Main_Page -->
<!--https://github.com/tzaeschke/ode4j/tree/master/demo/src/main/java/org/ode4j/demo -->
<dependency> <dependency>
<groupId>org.ode4j</groupId> <groupId>org.ode4j</groupId>
<artifactId>core</artifactId> <artifactId>core</artifactId>
@ -287,7 +283,7 @@
</dependency> </dependency>
<!--Yoga--> <!--Yoga-->
<!--License: ???--> <!--License: MIT-->
<dependency> <dependency>
<groupId>org.lwjgl</groupId> <groupId>org.lwjgl</groupId>
<artifactId>lwjgl-yoga</artifactId> <artifactId>lwjgl-yoga</artifactId>
@ -342,6 +338,7 @@
<artifactId>exec-maven-plugin</artifactId> <artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
<executions> <executions>
<!-- Download Typescript -->
<execution> <execution>
<id>Download Typescript</id> <id>Download Typescript</id>
<phase>generate-sources</phase> <phase>generate-sources</phase>
@ -365,52 +362,6 @@
<!-- MACOS -->
<profile>
<id>lwjgl-natives-macos</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<maven.compiler.target>17</maven.compiler.target>
<lwjgl.natives>natives-macos</lwjgl.natives>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>Download Typescript</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>bash</executable>
<commandlineArgs>${basedir}/Assets/Scripts/compiler/get_typescript.sh</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- WINDOWS --> <!-- WINDOWS -->
<profile> <profile>
<id>lwjgl-natives-windows</id> <id>lwjgl-natives-windows</id>
@ -432,6 +383,7 @@
<artifactId>exec-maven-plugin</artifactId> <artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
<executions> <executions>
<!-- Download Typescript -->
<execution> <execution>
<id>Download Typescript</id> <id>Download Typescript</id>
<phase>generate-sources</phase> <phase>generate-sources</phase>
@ -448,8 +400,9 @@
</arguments> </arguments>
</configuration> </configuration>
</execution> </execution>
<!-- Run NetArranger -->
<execution> <execution>
<id>Run Net Arranger</id> <id>Run NetArranger</id>
<phase>generate-sources</phase> <phase>generate-sources</phase>
<goals> <goals>
<goal>exec</goal> <goal>exec</goal>
@ -576,39 +529,13 @@
<includeProjectDependencies>false</includeProjectDependencies> <includeProjectDependencies>false</includeProjectDependencies>
<includePluginDependencies>true</includePluginDependencies> <includePluginDependencies>true</includePluginDependencies>
<mainClass>electrosphere.engine.Main</mainClass> <mainClass>electrosphere.engine.Main</mainClass>
<!-- <classpathScope>compile</classpathScope> -->
<arguments> <arguments>
<argument>-cp</argument> <argument>-cp</argument>
<argument>target/classes;target/Renderer-${version}-jar-with-dependencies.jar</argument> <argument>target/classes;target/Renderer-${version}-jar-with-dependencies.jar</argument>
<argument>electrosphere.engine.Main</argument> <argument>electrosphere.engine.Main</argument>
</arguments> </arguments>
<!-- <classesDirectory>${project.basedir}/target/classes</classesDirectory> -->
</configuration> </configuration>
</execution> </execution>
<!-- <execution>
<id>Telephone</id>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>Telephone-0.2.1.jar</argument>
</arguments>
</configuration>
</execution> -->
<!-- <execution>
<id>Download Typescript</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/assets/scripts/compiler/get_typescript${script.extension}</executable>
</configuration>
</execution> -->
</executions> </executions>
</plugin> </plugin>

View File

@ -1,280 +1,280 @@
{ {
"outputPath" : "./src/main/java/electrosphere/net/parser/", "outputPath" : "./src/main/java/electrosphere/net/parser/",
"packageName" : "electrosphere.net.parser", "packageName" : "electrosphere.net.parser",
"categories":[ "categories":[
{ {
"categoryName" : "Entity", "categoryName" : "Entity",
"data" : [ "data" : [
{ {
"name" : "entityCategory", "name" : "entityCategory",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "entitySubtype", "name" : "entitySubtype",
"type" : "VAR_STRING" "type" : "VAR_STRING"
}, },
{ {
"name" : "entityID", "name" : "entityID",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "creatureTemplate", "name" : "creatureTemplate",
"type" : "VAR_STRING" "type" : "VAR_STRING"
}, },
{ {
"name" : "positionX", "name" : "positionX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "positionY", "name" : "positionY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "positionZ", "name" : "positionZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "rotationX", "name" : "rotationX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "rotationY", "name" : "rotationY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "rotationZ", "name" : "rotationZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "rotationW", "name" : "rotationW",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "linVelX", "name" : "linVelX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "linVelY", "name" : "linVelY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "linVelZ", "name" : "linVelZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "angVelX", "name" : "angVelX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "angVelY", "name" : "angVelY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "angVelZ", "name" : "angVelZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "linForceX", "name" : "linForceX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "linForceY", "name" : "linForceY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "linForceZ", "name" : "linForceZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "angForceX", "name" : "angForceX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "angForceY", "name" : "angForceY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "angForceZ", "name" : "angForceZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "yaw", "name" : "yaw",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "pitch", "name" : "pitch",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "velocity", "name" : "velocity",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "treeState", "name" : "treeState",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "propertyType", "name" : "propertyType",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "propertyValue", "name" : "propertyValue",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "time", "name" : "time",
"type" : "FIXED_LONG" "type" : "FIXED_LONG"
}, },
{ {
"name" : "bone", "name" : "bone",
"type" : "VAR_STRING" "type" : "VAR_STRING"
}, },
{ {
"name" : "targetID", "name" : "targetID",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "bTreeID", "name" : "bTreeID",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "propertyValueInt", "name" : "propertyValueInt",
"type" : "FIXED_INT" "type" : "FIXED_INT"
} }
], ],
"messageTypes" : [ "messageTypes" : [
{ {
"messageName" : "Create", "messageName" : "Create",
"description" : "Spawns an entity on the client", "description" : "Spawns an entity on the client",
"data" : [ "data" : [
"entityID", "entityID",
"entityCategory", "entityCategory",
"entitySubtype", "entitySubtype",
"creatureTemplate", "creatureTemplate",
"positionX", "positionX",
"positionY", "positionY",
"positionZ", "positionZ",
"rotationX", "rotationX",
"rotationY", "rotationY",
"rotationZ", "rotationZ",
"rotationW" "rotationW"
] ]
}, },
{ {
"messageName" : "moveUpdate", "messageName" : "moveUpdate",
"description" : "Updates a client on the move state of an entity", "description" : "Updates a client on the move state of an entity",
"data" : [ "data" : [
"entityID", "entityID",
"time", "time",
"positionX", "positionX",
"positionY", "positionY",
"positionZ", "positionZ",
"rotationX", "rotationX",
"rotationY", "rotationY",
"rotationZ", "rotationZ",
"rotationW", "rotationW",
"velocity", "velocity",
"propertyValueInt", "propertyValueInt",
"treeState" "treeState"
] ]
}, },
{ {
"messageName" : "attackUpdate", "messageName" : "attackUpdate",
"description" : "(Deprecated) Updates the client on the status of a given attack", "description" : "(Deprecated) Updates the client on the status of a given attack",
"data" : [ "data" : [
"entityID", "entityID",
"time", "time",
"positionX", "positionX",
"positionY", "positionY",
"positionZ", "positionZ",
"rotationX", "rotationX",
"rotationY", "rotationY",
"rotationZ", "rotationZ",
"velocity", "velocity",
"treeState" "treeState"
] ]
}, },
{ {
"messageName" : "startAttack", "messageName" : "startAttack",
"description" : "Alerts the server that the client wants to start attacking", "description" : "Alerts the server that the client wants to start attacking",
"data" : [] "data" : []
}, },
{ {
"messageName" : "Kill", "messageName" : "Kill",
"description" : "Kills an entity (ie plays death animation, creates effects, etc -- does not actually delete the entity from data/scene)", "description" : "Kills an entity (ie plays death animation, creates effects, etc -- does not actually delete the entity from data/scene)",
"data" : [ "data" : [
"time", "time",
"entityID" "entityID"
] ]
}, },
{ {
"messageName" : "Destroy", "messageName" : "Destroy",
"description" : "Destroys an entity, clearing it from the client scene", "description" : "Destroys an entity, clearing it from the client scene",
"data" : [ "data" : [
"entityID" "entityID"
] ]
}, },
{ {
"messageName" : "setProperty", "messageName" : "setProperty",
"description" : "Sets a property on an entity (old method user to set the player's entity)", "description" : "Sets a property on an entity (old method user to set the player's entity)",
"data" : [ "data" : [
"entityID", "entityID",
"time", "time",
"propertyType", "propertyType",
"propertyValue" "propertyValue"
] ]
}, },
{ {
"messageName" : "attachEntityToEntity", "messageName" : "attachEntityToEntity",
"description" : "Tells the client to attach an entity to another entity", "description" : "Tells the client to attach an entity to another entity",
"data" : [ "data" : [
"entityID", "entityID",
"bone", "bone",
"targetID" "targetID"
] ]
}, },
{ {
"messageName" : "updateEntityViewDir", "messageName" : "updateEntityViewDir",
"description" : "Updates the server's value for where the player is looking", "description" : "Updates the server's value for where the player is looking",
"data" : [ "data" : [
"entityID", "entityID",
"time", "time",
"propertyType", "propertyType",
"yaw", "yaw",
"pitch" "pitch"
] ]
}, },
{ {
"messageName" : "syncPhysics", "messageName" : "syncPhysics",
"description" : "Synchronizes server physics state to client", "description" : "Synchronizes server physics state to client",
"data" : [ "data" : [
"entityID", "entityID",
"time", "time",
"positionX", "positionX",
"positionY", "positionY",
"positionZ", "positionZ",
"rotationX", "rotationX",
"rotationY", "rotationY",
"rotationZ", "rotationZ",
"rotationW", "rotationW",
"linVelX", "linVelX",
"linVelY", "linVelY",
"linVelZ", "linVelZ",
"angVelX", "angVelX",
"angVelY", "angVelY",
"angVelZ", "angVelZ",
"linForceX", "linForceX",
"linForceY", "linForceY",
"linForceZ", "linForceZ",
"angForceX", "angForceX",
"angForceY", "angForceY",
"angForceZ" "angForceZ"
] ]
} }
] ]
} }
] ]
} }

View File

@ -1,29 +1,29 @@
{ {
"outputPath" : "./src/main/java/electrosphere/net/parser/", "outputPath" : "./src/main/java/electrosphere/net/parser/",
"packageName" : "electrosphere.net.parser", "packageName" : "electrosphere.net.parser",
"categories":[ "categories":[
{ {
"categoryName" : "Lore", "categoryName" : "Lore",
"data" : [ "data" : [
{ {
"name" : "data", "name" : "data",
"type" : "VAR_STRING" "type" : "VAR_STRING"
} }
], ],
"messageTypes" : [ "messageTypes" : [
{ {
"messageName" : "RequestRaces", "messageName" : "RequestRaces",
"description" : "Requests the data for all races available to the character to play", "description" : "Requests the data for all races available to the character to play",
"data" : [] "data" : []
}, },
{ {
"messageName" : "ResponseRaces", "messageName" : "ResponseRaces",
"description" : "Responds with the data on all races available for play", "description" : "Responds with the data on all races available for play",
"data" : [ "data" : [
"data" "data"
] ]
} }
] ]
} }
] ]
} }

View File

@ -1,45 +1,45 @@
{ {
"outputPath" : "./src/main/java/electrosphere/net/parser/", "outputPath" : "./src/main/java/electrosphere/net/parser/",
"packageName" : "electrosphere.net.parser", "packageName" : "electrosphere.net.parser",
"categories":[ "categories":[
{ {
"categoryName" : "Player", "categoryName" : "Player",
"data" : [ "data" : [
{ {
"name" : "playerID", "name" : "playerID",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "initialDiscretePositionX", "name" : "initialDiscretePositionX",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "initialDiscretePositionY", "name" : "initialDiscretePositionY",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "initialDiscretePositionZ", "name" : "initialDiscretePositionZ",
"type" : "FIXED_INT" "type" : "FIXED_INT"
} }
], ],
"messageTypes" : [ "messageTypes" : [
{ {
"messageName" : "Set_ID", "messageName" : "Set_ID",
"description" : "Provides the server's id for the player", "description" : "Provides the server's id for the player",
"data" : [ "data" : [
"playerID" "playerID"
] ]
}, },
{ {
"messageName" : "SetInitialDiscretePosition", "messageName" : "SetInitialDiscretePosition",
"description" : "Tells the client the initial position of the player entity", "description" : "Tells the client the initial position of the player entity",
"data" : [ "data" : [
"initialDiscretePositionX", "initialDiscretePositionX",
"initialDiscretePositionY", "initialDiscretePositionY",
"initialDiscretePositionZ" "initialDiscretePositionZ"
] ]
} }
] ]
} }
] ]
} }

View File

@ -1,66 +1,66 @@
{ {
"outputPath" : "./src/main/java/electrosphere/net/parser/", "outputPath" : "./src/main/java/electrosphere/net/parser/",
"packageName" : "electrosphere.net.parser", "packageName" : "electrosphere.net.parser",
"categories":[ "categories":[
{ {
"categoryName" : "Server", "categoryName" : "Server",
"data" : [ "data" : [
], ],
"messageTypes" : [ "messageTypes" : [
{ {
"messageName" : "Ping", "messageName" : "Ping",
"description" : "Pings the other side of the socket", "description" : "Pings the other side of the socket",
"data" : [] "data" : []
}, },
{ {
"messageName" : "Pong", "messageName" : "Pong",
"description" : "Replies to a ping from the other side of the socket", "description" : "Replies to a ping from the other side of the socket",
"data" : [] "data" : []
} }
] ]
}, },
{ {
"categoryName" : "Auth", "categoryName" : "Auth",
"data" : [ "data" : [
{ {
"name" : "user", "name" : "user",
"type" : "VAR_STRING" "type" : "VAR_STRING"
}, },
{ {
"name" : "pass", "name" : "pass",
"type" : "VAR_STRING" "type" : "VAR_STRING"
} }
], ],
"messageTypes" : [ "messageTypes" : [
{ {
"messageName" : "AuthRequest", "messageName" : "AuthRequest",
"description" : "Requests authorization from the client", "description" : "Requests authorization from the client",
"data" : [] "data" : []
}, },
{ {
"messageName" : "AuthDetails", "messageName" : "AuthDetails",
"description" : "Tells the server the auth details of this client", "description" : "Tells the server the auth details of this client",
"data" : [ "data" : [
"user", "user",
"pass" "pass"
] ]
}, },
{ {
"messageName" : "AuthSuccess", "messageName" : "AuthSuccess",
"description" : "Tells the client it successfully logged in", "description" : "Tells the client it successfully logged in",
"data" : [] "data" : []
}, },
{ {
"messageName" : "AuthFailure", "messageName" : "AuthFailure",
"description" : "Tells the client it failed to log in", "description" : "Tells the client it failed to log in",
"data" : [] "data" : []
} }
] ]
} }
] ]
} }

View File

@ -1,253 +1,253 @@
{ {
"outputPath" : "./src/main/java/electrosphere/net/parser/", "outputPath" : "./src/main/java/electrosphere/net/parser/",
"packageName" : "electrosphere.net.parser", "packageName" : "electrosphere.net.parser",
"categories":[ "categories":[
{ {
"categoryName" : "Terrain", "categoryName" : "Terrain",
"data" : [ "data" : [
{ {
"name" : "worldSizeDiscrete", "name" : "worldSizeDiscrete",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "dynamicInterpolationRatio", "name" : "dynamicInterpolationRatio",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "randomDampener", "name" : "randomDampener",
"type" : "FIXED_FLOAT" "type" : "FIXED_FLOAT"
}, },
{ {
"name" : "worldMinX", "name" : "worldMinX",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "worldMinY", "name" : "worldMinY",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "worldMaxX", "name" : "worldMaxX",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "worldMaxY", "name" : "worldMaxY",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "value", "name" : "value",
"type" : "FIXED_FLOAT" "type" : "FIXED_FLOAT"
}, },
{ {
"name" : "worldX", "name" : "worldX",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "worldY", "name" : "worldY",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "worldZ", "name" : "worldZ",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "voxelX", "name" : "voxelX",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "voxelY", "name" : "voxelY",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "voxelZ", "name" : "voxelZ",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "realLocationX", "name" : "realLocationX",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "realLocationY", "name" : "realLocationY",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "realLocationZ", "name" : "realLocationZ",
"type" : "FIXED_DOUBLE" "type" : "FIXED_DOUBLE"
}, },
{ {
"name" : "chunkData", "name" : "chunkData",
"type" : "BYTE_ARRAY" "type" : "BYTE_ARRAY"
}, },
{ {
"name" : "homogenousValue", "name" : "homogenousValue",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "chunkResolution", "name" : "chunkResolution",
"type" : "FIXED_INT" "type" : "FIXED_INT"
}, },
{ {
"name" : "terrainWeight", "name" : "terrainWeight",
"type" : "FIXED_FLOAT" "type" : "FIXED_FLOAT"
}, },
{ {
"name" : "terrainValue", "name" : "terrainValue",
"type" : "FIXED_INT" "type" : "FIXED_INT"
} }
], ],
"messageTypes" : [ "messageTypes" : [
{ {
"messageName" : "RequestMetadata", "messageName" : "RequestMetadata",
"description" : "Requests terrain metadata from the server", "description" : "Requests terrain metadata from the server",
"data" : [] "data" : []
}, },
{ {
"messageName" : "ResponseMetadata", "messageName" : "ResponseMetadata",
"description" : "Tell the client the terrain metadata", "description" : "Tell the client the terrain metadata",
"data" : [ "data" : [
"worldSizeDiscrete", "worldSizeDiscrete",
"dynamicInterpolationRatio", "dynamicInterpolationRatio",
"randomDampener", "randomDampener",
"worldMinX", "worldMinX",
"worldMinY", "worldMinY",
"worldMaxX", "worldMaxX",
"worldMaxY" "worldMaxY"
] ]
}, },
{ {
"messageName" : "RequestEditVoxel", "messageName" : "RequestEditVoxel",
"description" : "Requests that a voxel be edited on the server", "description" : "Requests that a voxel be edited on the server",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"voxelX", "voxelX",
"voxelY", "voxelY",
"voxelZ", "voxelZ",
"terrainWeight", "terrainWeight",
"terrainValue" "terrainValue"
] ]
}, },
{ {
"messageName" : "UpdateVoxel", "messageName" : "UpdateVoxel",
"description" : "Tells the client to update a voxel's value", "description" : "Tells the client to update a voxel's value",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"voxelX", "voxelX",
"voxelY", "voxelY",
"voxelZ", "voxelZ",
"terrainWeight", "terrainWeight",
"terrainValue" "terrainValue"
] ]
}, },
{ {
"messageName" : "RequestUseTerrainPalette", "messageName" : "RequestUseTerrainPalette",
"description" : "Requests that the current player entity use a given terrain palette", "description" : "Requests that the current player entity use a given terrain palette",
"data" : [ "data" : [
"realLocationX", "realLocationX",
"realLocationY", "realLocationY",
"realLocationZ", "realLocationZ",
"value", "value",
"terrainWeight", "terrainWeight",
"terrainValue" "terrainValue"
] ]
}, },
{ {
"messageName" : "SpawnPosition", "messageName" : "SpawnPosition",
"description" : "Sets the spawn position of the client", "description" : "Sets the spawn position of the client",
"data" : [ "data" : [
"realLocationX", "realLocationX",
"realLocationY", "realLocationY",
"realLocationZ" "realLocationZ"
] ]
}, },
{ {
"messageName" : "RequestChunkData", "messageName" : "RequestChunkData",
"description" : "Requests chunk data from the server", "description" : "Requests chunk data from the server",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ" "worldZ"
] ]
}, },
{ {
"messageName" : "sendChunkData", "messageName" : "sendChunkData",
"description" : "Sends chunk data to the client", "description" : "Sends chunk data to the client",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"chunkData" "chunkData"
] ]
}, },
{ {
"messageName" : "RequestReducedChunkData", "messageName" : "RequestReducedChunkData",
"description" : "Requests reduced resolution chunk data from the server", "description" : "Requests reduced resolution chunk data from the server",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"chunkResolution" "chunkResolution"
] ]
}, },
{ {
"messageName" : "SendReducedChunkData", "messageName" : "SendReducedChunkData",
"description" : "Sends chunk data to the client", "description" : "Sends chunk data to the client",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"chunkResolution", "chunkResolution",
"homogenousValue", "homogenousValue",
"chunkData" "chunkData"
] ]
}, },
{ {
"messageName" : "RequestFluidData", "messageName" : "RequestFluidData",
"description" : "Requests a fluid data from the server", "description" : "Requests a fluid data from the server",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ" "worldZ"
] ]
}, },
{ {
"messageName" : "sendFluidData", "messageName" : "sendFluidData",
"description" : "Sends fluid data to the client", "description" : "Sends fluid data to the client",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"chunkData" "chunkData"
] ]
}, },
{ {
"messageName" : "updateFluidData", "messageName" : "updateFluidData",
"description" : "Updates fluid data on the client", "description" : "Updates fluid data on the client",
"data" : [ "data" : [
"worldX", "worldX",
"worldY", "worldY",
"worldZ", "worldZ",
"chunkData" "chunkData"
] ]
} }
] ]
} }
] ]
} }

View File

@ -6,15 +6,15 @@
], ],
"subfiles" : [ "subfiles" : [
"./net/entity.json", "./src/net/entity.json",
"./net/lore.json", "./src/net/lore.json",
"./net/player.json", "./src/net/player.json",
"./net/terrain.json", "./src/net/terrain.json",
"./net/server.json", "./src/net/server.json",
"./net/character.json", "./src/net/character.json",
"./net/inventory.json", "./src/net/inventory.json",
"./net/synchronization.json", "./src/net/synchronization.json",
"./net/combat.json" "./src/net/combat.json"
] ]
} }

View File

@ -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