2D Sprite Renderer and sprite framework, Began additional OpenGL Renderer, started transitioning multiplayer networking to use Java NIO
This commit is contained in:
parent
5a05b9d65e
commit
3e886e5ba8
165 changed files with 4460 additions and 5485 deletions
90
build.gradle
90
build.gradle
|
|
@ -5,14 +5,10 @@ buildscript {
|
|||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.gradleup.shadow:shadow-gradle-plugin:8.3.5'
|
||||
}
|
||||
}
|
||||
plugins {
|
||||
id 'application'
|
||||
id 'java'
|
||||
id 'com.gradleup.shadow' version '8.3.5'
|
||||
id 'application'
|
||||
id 'java'
|
||||
}
|
||||
project.ext.lwjglVersion = "3.4.1"
|
||||
project.ext.jomlVersion = "1.10.8"
|
||||
|
|
@ -22,43 +18,20 @@ project.ext.steamworks4jVersion = "1.9.0"
|
|||
project.ext.steamworks4jserverVersion = "1.9.0"
|
||||
project.ext.imguiVersion = "1.92.0"
|
||||
|
||||
switch (OperatingSystem.current()) {
|
||||
case OperatingSystem.LINUX:
|
||||
project.ext.lwjglNatives = "natives-linux"
|
||||
def osArch = System.getProperty("os.arch")
|
||||
if (osArch.startsWith("arm") || osArch.startsWith("aarch64")) {
|
||||
project.ext.lwjglNatives += osArch.contains("64") || osArch.startsWith("armv8") ? "-arm64" : "-arm32"
|
||||
} else if (osArch.startsWith("ppc")) {
|
||||
project.ext.lwjglNatives += "-ppc64le"
|
||||
} else if (osArch.startsWith("riscv")) {
|
||||
project.ext.lwjglNatives += "-riscv64"
|
||||
}
|
||||
break
|
||||
case OperatingSystem.MAC_OS:
|
||||
project.ext.lwjglNatives = System.getProperty("os.arch").startsWith("aarch64") ? "natives-macos-arm64" : "natives-macos"
|
||||
break
|
||||
case OperatingSystem.WINDOWS:
|
||||
def osArch = System.getProperty("os.arch")
|
||||
project.ext.lwjglNatives = osArch.contains("64")
|
||||
? "natives-windows${osArch.startsWith("aarch64") ? "-arm64" : ""}"
|
||||
: "natives-windows-x86"
|
||||
break
|
||||
}
|
||||
|
||||
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
application {
|
||||
mainClass.set('net.halbear.Executable.Init')
|
||||
mainClass.set('net.halbear.Executable.Launcher')
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
|
||||
implementation 'org.tinylog:tinylog-api:2.7.0'
|
||||
implementation 'org.tinylog:tinylog-impl:2.7.0'
|
||||
|
||||
// Core LWJGL modules
|
||||
implementation "org.lwjgl:lwjgl"
|
||||
implementation "org.lwjgl:lwjgl-assimp"
|
||||
implementation "org.lwjgl:lwjgl-fmod"
|
||||
|
|
@ -76,22 +49,29 @@ dependencies {
|
|||
implementation "org.lwjgl:lwjgl-stb"
|
||||
implementation "org.lwjgl:lwjgl-vma"
|
||||
implementation "org.lwjgl:lwjgl-vulkan"
|
||||
implementation "org.lwjgl:lwjgl::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-assimp::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-freetype::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-glfw::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-jemalloc::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-llvm::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-lmdb::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-meshoptimizer::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-openal::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-rpmalloc::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-remotery:${lwjglVersion}"
|
||||
runtimeOnly "org.lwjgl:lwjgl-remotery:${lwjglVersion}:${lwjglNatives}"
|
||||
implementation "org.lwjgl:lwjgl-shaderc::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-stb::$lwjglNatives"
|
||||
implementation "org.lwjgl:lwjgl-vma::$lwjglNatives"
|
||||
if (lwjglNatives == "natives-macos" || lwjglNatives == "natives-macos-arm64") implementation "org.lwjgl:lwjgl-vulkan::$lwjglNatives"
|
||||
|
||||
// Define targeted native platforms explicitly
|
||||
def targetNatives = ["natives-windows", "natives-linux"]
|
||||
|
||||
// Loop through and bundle natives for both Windows and Linux
|
||||
targetNatives.each { target ->
|
||||
runtimeOnly "org.lwjgl:lwjgl::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-assimp::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-freetype::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-glfw::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-jemalloc::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-llvm::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-lmdb::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-meshoptimizer::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-openal::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-rpmalloc::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-remotery:${lwjglVersion}:$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-shaderc::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-stb::$target"
|
||||
runtimeOnly "org.lwjgl:lwjgl-vma::$target"
|
||||
}
|
||||
|
||||
implementation "org.joml:joml:${jomlVersion}"
|
||||
implementation "org.joml:joml-primitives:${jomlprimitivesVersion}"
|
||||
implementation "org.lwjglx:lwjgl3-awt:${lwjgl3awtVersion}"
|
||||
|
|
@ -99,20 +79,18 @@ dependencies {
|
|||
implementation "com.code-disaster.steamworks4j:steamworks4j-server:${steamworks4jserverVersion}"
|
||||
implementation 'com.google.code.gson:gson:2.14.0'
|
||||
implementation "org.jcommander:jcommander:3.0"
|
||||
|
||||
['', '-opengl', '-glfw'].each {
|
||||
implementation "org.lwjgl:lwjgl$it:$lwjglVersion"
|
||||
implementation "org.lwjgl:lwjgl$it::natives-windows"
|
||||
runtimeOnly "org.lwjgl:lwjgl$it::natives-windows"
|
||||
runtimeOnly "org.lwjgl:lwjgl$it::natives-linux"
|
||||
}
|
||||
|
||||
// ImGui Setup
|
||||
implementation "io.github.spair:imgui-java-binding:$imguiVersion"
|
||||
implementation "io.github.spair:imgui-java-lwjgl3:$imguiVersion"
|
||||
|
||||
implementation "io.github.spair:imgui-java-natives-windows:$imguiVersion"
|
||||
// ImGui Natives for both OS environments
|
||||
runtimeOnly "io.github.spair:imgui-java-natives-windows:$imguiVersion"
|
||||
runtimeOnly "io.github.spair:imgui-java-natives-linux:$imguiVersion"
|
||||
}
|
||||
|
||||
tasks.named('startShadowScripts') {
|
||||
// Dynamically override the legacy property binding with the modern provider mapping
|
||||
conventionMapping.map('mainClassName') {
|
||||
application.mainClass.get()
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue