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
/launcher/launcher.exe
/src/launcher/launcher.exe
/dependency-reduced-pom.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
## Windows
Install gitbash, choco, Eclipse Temurin 17, maven, 7zip
From choco, install mingw, make
run build.sh
Build will be in ./build
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 `<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
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

View File

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

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

85
pom.xml
View File

@ -98,7 +98,7 @@
<classifier>${lwjgl.natives}</classifier>
</dependency>
<!--STD-->
<!--STB-->
<!--License: BSD-->
<dependency>
<groupId>org.lwjgl</groupId>
@ -159,10 +159,6 @@
<!--Ode4J-->
<!--License: Dual LGPL 2.1 OR BSD 3-clause-->
<!--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>
<groupId>org.ode4j</groupId>
<artifactId>core</artifactId>
@ -287,7 +283,7 @@
</dependency>
<!--Yoga-->
<!--License: ???-->
<!--License: MIT-->
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-yoga</artifactId>
@ -342,6 +338,7 @@
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<!-- Download Typescript -->
<execution>
<id>Download Typescript</id>
<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 -->
<profile>
<id>lwjgl-natives-windows</id>
@ -432,6 +383,7 @@
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<!-- Download Typescript -->
<execution>
<id>Download Typescript</id>
<phase>generate-sources</phase>
@ -448,8 +400,9 @@
</arguments>
</configuration>
</execution>
<!-- Run NetArranger -->
<execution>
<id>Run Net Arranger</id>
<id>Run NetArranger</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
@ -576,39 +529,13 @@
<includeProjectDependencies>false</includeProjectDependencies>
<includePluginDependencies>true</includePluginDependencies>
<mainClass>electrosphere.engine.Main</mainClass>
<!-- <classpathScope>compile</classpathScope> -->
<arguments>
<argument>-cp</argument>
<argument>target/classes;target/Renderer-${version}-jar-with-dependencies.jar</argument>
<argument>electrosphere.engine.Main</argument>
</arguments>
<!-- <classesDirectory>${project.basedir}/target/classes</classesDirectory> -->
</configuration>
</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>
</plugin>

View File

@ -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"
]
}
]
}
]
}

View File

@ -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"
]
}
]
}
]
}

View File

@ -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"
]
}
]
}
]
}

View File

@ -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" : []
}
]
}
]
}

View File

@ -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"
]
}
]
}
]
}

View File

@ -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"
]
}

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