Merge :game into :engine module

This commit is contained in:
2021-03-03 12:49:33 +01:00
parent 6d24d2600e
commit 6d5c9388f7
103 changed files with 406 additions and 457 deletions

View File

@@ -49,9 +49,9 @@ dependencies {
} }
task provideGameEngine(type: Copy) { task provideGameEngine(type: Copy) {
dependsOn(":game:build") dependsOn(":engine:build")
from project(':game').file('build/libs/game.jar') from project(':engine').file('build/libs/engine.jar')
into file("build/resources/main/engine") into file("build/resources/main/engine")
} }
@@ -83,8 +83,4 @@ processResources {
dependsOn(provideGameEngine) dependsOn(provideGameEngine)
dependsOn(provideApiDependencies) dependsOn(provideApiDependencies)
dependsOn(provideApi) dependsOn(provideApi)
} }
build {
dependsOn(":proto:build")
}

View File

@@ -34,6 +34,6 @@ class DefaultGameEngineProvider : GameEngineProvider {
} }
companion object { companion object {
private const val GAME_ENGINE_JAR = "/engine/game.jar" private const val GAME_ENGINE_JAR = "/engine/engine.jar"
} }
} }

View File

@@ -7,11 +7,15 @@
*/ */
plugins { plugins {
id 'java-library' id 'java'
id 'application'
id 'org.springframework.boot' version "$springBootVersion" id 'org.springframework.boot' version "$springBootVersion"
id 'io.spring.dependency-management' version "$springDependencyManagementVersion" id 'io.spring.dependency-management' version "$springDependencyManagementVersion"
} }
group 'com.bartlomiejpluta.base'
version 'unspecified'
import org.gradle.internal.os.OperatingSystem import org.gradle.internal.os.OperatingSystem
switch (OperatingSystem.current()) { switch (OperatingSystem.current()) {
@@ -42,18 +46,20 @@ repositories {
} }
bootJar { bootJar {
enabled = false
}
jar {
enabled = true enabled = true
} }
jar {
enabled = false
}
dependencies { dependencies {
api platform("org.lwjgl:lwjgl-bom:$lwjglVersion") implementation project(":proto")
implementation project(":api")
// LWJGL // LWJGL
api "org.lwjgl:lwjgl-glfw" implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
implementation "org.lwjgl:lwjgl-glfw"
implementation "org.lwjgl:lwjgl" implementation "org.lwjgl:lwjgl"
implementation "org.lwjgl:lwjgl-assimp" implementation "org.lwjgl:lwjgl-assimp"
implementation "org.lwjgl:lwjgl-bgfx" implementation "org.lwjgl:lwjgl-bgfx"
@@ -75,10 +81,15 @@ dependencies {
runtimeOnly "org.lwjgl:lwjgl-stb::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-stb::$lwjglNatives"
// Spring // Spring
api 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok' compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'
// This dependency is used by the application. // This dependency is used by the application.
api "org.joml:joml:${jomlVersion}" implementation "org.joml:joml:${jomlVersion}"
}
application {
// Define the main class for the application.
mainClass = 'com.bartlomiejpluta.base.engine.App'
} }

View File

@@ -1,5 +0,0 @@
package com.bartlomiejpluta.base.core.engine;
public interface GameEngine {
void start();
}

View File

@@ -1,9 +0,0 @@
package com.bartlomiejpluta.base.core.gl.render;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera;
public interface Renderable {
void render(Window window, Camera camera, ShaderManager shaderManager);
}

View File

@@ -1,10 +0,0 @@
package com.bartlomiejpluta.base.core.gl.render;
import com.bartlomiejpluta.base.core.gc.Cleanable;
import com.bartlomiejpluta.base.core.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera;
public interface Renderer extends Cleanable {
void init();
void render(Window window, Camera camera, Renderable renderable);
}

View File

@@ -1,7 +0,0 @@
package com.bartlomiejpluta.base.core.profiling.fps;
import com.bartlomiejpluta.base.core.gc.Cleanable;
import com.bartlomiejpluta.base.core.logic.Updatable;
public interface FPSMonitor extends Updatable, Cleanable {
}

View File

@@ -1,8 +0,0 @@
package com.bartlomiejpluta.base.core.util.mesh;
import com.bartlomiejpluta.base.core.gc.Cleanable;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh;
public interface MeshManager extends Cleanable {
Mesh createQuad(float width, float height, float originX, float originY);
}

View File

@@ -1,9 +1,9 @@
/* /*
* This Java source file was generated by the Gradle 'init' task. * This Java source file was generated by the Gradle 'init' task.
*/ */
package com.bartlomiejpluta.base.game; package com.bartlomiejpluta.base.engine;
import com.bartlomiejpluta.base.core.engine.GameEngine; import com.bartlomiejpluta.base.engine.core.engine.GameEngine;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.common.asset; package com.bartlomiejpluta.base.engine.common.asset;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.common.manager; package com.bartlomiejpluta.base.engine.common.manager;
public interface AssetManager<A, T> { public interface AssetManager<A, T> {
void registerAsset(A asset); void registerAsset(A asset);

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.game.common.serial; package com.bartlomiejpluta.base.engine.common.serial;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import java.io.InputStream; import java.io.InputStream;

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.core.engine; package com.bartlomiejpluta.base.engine.core.engine;
import com.bartlomiejpluta.base.core.gc.OffHeapGarbageCollector; import com.bartlomiejpluta.base.engine.gc.OffHeapGarbageCollector;
import com.bartlomiejpluta.base.core.logic.GameLogic; import com.bartlomiejpluta.base.engine.logic.GameLogic;
import com.bartlomiejpluta.base.core.thread.ThreadManager; import com.bartlomiejpluta.base.engine.thread.ThreadManager;
import com.bartlomiejpluta.base.core.time.ChronoMeter; import com.bartlomiejpluta.base.engine.time.ChronoMeter;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.ui.WindowManager; import com.bartlomiejpluta.base.engine.ui.WindowManager;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;

View File

@@ -0,0 +1,5 @@
package com.bartlomiejpluta.base.engine.core.engine;
public interface GameEngine {
void start();
}

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.core.gl.object.material; package com.bartlomiejpluta.base.engine.core.gl.object.material;
import com.bartlomiejpluta.base.core.gl.object.texture.Texture; import com.bartlomiejpluta.base.engine.core.gl.object.texture.Texture;
import com.bartlomiejpluta.base.core.gl.render.Renderable; import com.bartlomiejpluta.base.engine.core.gl.render.Renderable;
import com.bartlomiejpluta.base.core.gl.shader.constant.UniformName; import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import lombok.Getter; import lombok.Getter;
import org.joml.Vector2f; import org.joml.Vector2f;
import org.joml.Vector4f; import org.joml.Vector4f;

View File

@@ -1,10 +1,10 @@
package com.bartlomiejpluta.base.core.gl.object.mesh; package com.bartlomiejpluta.base.engine.core.gl.object.mesh;
import com.bartlomiejpluta.base.core.gc.Disposable; import com.bartlomiejpluta.base.engine.core.gl.render.Renderable;
import com.bartlomiejpluta.base.core.gl.render.Renderable; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.gc.Disposable;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import org.lwjgl.opengl.GL15; import org.lwjgl.opengl.GL15;
import org.lwjgl.system.MemoryStack; import org.lwjgl.system.MemoryStack;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.gl.object.texture; package com.bartlomiejpluta.base.engine.core.gl.object.texture;
import com.bartlomiejpluta.base.core.util.res.ResourcesManager; import com.bartlomiejpluta.base.engine.util.res.ResourcesManager;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.core.gl.object.texture; package com.bartlomiejpluta.base.engine.core.gl.object.texture;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.core.gc.Disposable; import com.bartlomiejpluta.base.engine.gc.Disposable;
import lombok.Getter; import lombok.Getter;
import org.joml.Vector2f; import org.joml.Vector2f;
import org.lwjgl.system.MemoryStack; import org.lwjgl.system.MemoryStack;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.gl.object.texture; package com.bartlomiejpluta.base.engine.core.gl.object.texture;
import com.bartlomiejpluta.base.core.gc.Cleanable; import com.bartlomiejpluta.base.engine.gc.Cleanable;
public interface TextureManager extends Cleanable { public interface TextureManager extends Cleanable {
Texture loadTexture(String textureFileName); Texture loadTexture(String textureFileName);

View File

@@ -1,9 +1,9 @@
package com.bartlomiejpluta.base.core.gl.render; package com.bartlomiejpluta.base.engine.core.gl.render;
import com.bartlomiejpluta.base.core.gl.shader.constant.UniformName; import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -0,0 +1,9 @@
package com.bartlomiejpluta.base.engine.core.gl.render;
import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.engine.world.camera.Camera;
public interface Renderable {
void render(Window window, Camera camera, ShaderManager shaderManager);
}

View File

@@ -0,0 +1,10 @@
package com.bartlomiejpluta.base.engine.core.gl.render;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.engine.world.camera.Camera;
public interface Renderer extends Cleanable {
void init();
void render(Window window, Camera camera, Renderable renderable);
}

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.gl.shader.constant; package com.bartlomiejpluta.base.engine.core.gl.shader.constant;
public interface UniformName { public interface UniformName {
String UNI_VIEW_MODEL_MATRIX = "viewModelMatrix"; String UNI_VIEW_MODEL_MATRIX = "viewModelMatrix";

View File

@@ -1,8 +1,8 @@
package com.bartlomiejpluta.base.core.gl.shader.manager; package com.bartlomiejpluta.base.engine.core.gl.shader.manager;
import com.bartlomiejpluta.base.core.gl.shader.program.ShaderProgram; import com.bartlomiejpluta.base.engine.core.gl.shader.program.ShaderProgram;
import com.bartlomiejpluta.base.core.gl.shader.uniform.Uniform; import com.bartlomiejpluta.base.engine.core.gl.shader.uniform.Uniform;
import com.bartlomiejpluta.base.core.util.res.ResourcesManager; import com.bartlomiejpluta.base.engine.util.res.ResourcesManager;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.joml.*; import org.joml.*;

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.core.gl.shader.manager; package com.bartlomiejpluta.base.engine.core.gl.shader.manager;
import com.bartlomiejpluta.base.core.gc.Cleanable; import com.bartlomiejpluta.base.engine.core.gl.shader.uniform.Uniform;
import com.bartlomiejpluta.base.core.gl.shader.uniform.Uniform; import com.bartlomiejpluta.base.engine.gc.Cleanable;
import org.joml.*; import org.joml.*;
public interface ShaderManager extends Cleanable { public interface ShaderManager extends Cleanable {

View File

@@ -1,8 +1,8 @@
package com.bartlomiejpluta.base.core.gl.shader.program; package com.bartlomiejpluta.base.engine.core.gl.shader.program;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.core.gl.shader.uniform.Uniform;
import com.bartlomiejpluta.base.core.gc.Disposable; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.core.gl.shader.uniform.Uniform; import com.bartlomiejpluta.base.engine.gc.Disposable;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.joml.*; import org.joml.*;
import org.lwjgl.system.MemoryStack; import org.lwjgl.system.MemoryStack;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.gl.shader.uniform; package com.bartlomiejpluta.base.engine.core.gl.shader.uniform;
import com.bartlomiejpluta.base.core.gl.shader.program.ShaderProgram; import com.bartlomiejpluta.base.engine.core.gl.shader.program.ShaderProgram;
public interface Uniform { public interface Uniform {
void createUniform(ShaderProgram shaderProgram, String uniformName); void createUniform(ShaderProgram shaderProgram, String uniformName);

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.error; package com.bartlomiejpluta.base.engine.error;
public class AppException extends RuntimeException { public class AppException extends RuntimeException {
public AppException() { public AppException() {

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.gc; package com.bartlomiejpluta.base.engine.gc;
public interface Cleanable { public interface Cleanable {
void cleanUp(); void cleanUp();

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.gc; package com.bartlomiejpluta.base.engine.gc;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.gc; package com.bartlomiejpluta.base.engine.gc;
public interface Disposable { public interface Disposable {
void dispose(); void dispose();

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.gc; package com.bartlomiejpluta.base.engine.gc;
public interface OffHeapGarbageCollector { public interface OffHeapGarbageCollector {
void cleanUp(); void cleanUp();

View File

@@ -1,8 +1,8 @@
package com.bartlomiejpluta.base.game.input; package com.bartlomiejpluta.base.engine.input;
import com.bartlomiejpluta.base.api.input.Key; import com.bartlomiejpluta.base.api.input.Key;
import com.bartlomiejpluta.base.api.input.Keyboard; import com.bartlomiejpluta.base.api.input.Keyboard;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import static org.lwjgl.glfw.GLFW.*; import static org.lwjgl.glfw.GLFW.*;

View File

@@ -1,22 +1,21 @@
package com.bartlomiejpluta.base.game.logic; package com.bartlomiejpluta.base.engine.logic;
import com.bartlomiejpluta.base.api.runner.GameRunner; import com.bartlomiejpluta.base.api.runner.GameRunner;
import com.bartlomiejpluta.base.core.gl.object.texture.TextureManager; import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.core.gl.render.Renderer; import com.bartlomiejpluta.base.engine.core.gl.render.Renderer;
import com.bartlomiejpluta.base.core.logic.GameLogic; import com.bartlomiejpluta.base.engine.project.loader.ClassLoader;
import com.bartlomiejpluta.base.core.profiling.fps.FPSMonitor; import com.bartlomiejpluta.base.engine.project.loader.ProjectLoader;
import com.bartlomiejpluta.base.core.profiling.time.TimeProfilerService; import com.bartlomiejpluta.base.engine.project.model.Project;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.project.model.RenderableContext;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.game.entity.manager.EntityManager; import com.bartlomiejpluta.base.engine.util.profiling.fps.FPSMonitor;
import com.bartlomiejpluta.base.game.image.manager.ImageManager; import com.bartlomiejpluta.base.engine.util.profiling.time.TimeProfilerService;
import com.bartlomiejpluta.base.game.map.manager.MapManager; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.game.project.loader.ClassLoader; import com.bartlomiejpluta.base.engine.world.entity.manager.EntityManager;
import com.bartlomiejpluta.base.game.project.loader.ProjectLoader; import com.bartlomiejpluta.base.engine.world.image.manager.ImageManager;
import com.bartlomiejpluta.base.game.project.model.Project; import com.bartlomiejpluta.base.engine.world.map.manager.MapManager;
import com.bartlomiejpluta.base.game.project.model.RenderableContext; import com.bartlomiejpluta.base.engine.world.tileset.manager.TileSetManager;
import com.bartlomiejpluta.base.game.tileset.manager.TileSetManager;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.core.logic; package com.bartlomiejpluta.base.engine.logic;
import com.bartlomiejpluta.base.core.gc.Cleanable; import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
public interface GameLogic extends Cleanable { public interface GameLogic extends Cleanable {
void init(Window window); void init(Window window);

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.logic; package com.bartlomiejpluta.base.engine.logic;
public interface Updatable { public interface Updatable {
void update(float dt); void update(float dt);

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.project.config; package com.bartlomiejpluta.base.engine.project.config;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.project.loader; package com.bartlomiejpluta.base.engine.project.loader;
public interface ClassLoader { public interface ClassLoader {
<T> Class<T> loadClass(String className); <T> Class<T> loadClass(String className);

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.game.project.loader; package com.bartlomiejpluta.base.engine.project.loader;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component

View File

@@ -1,12 +1,12 @@
package com.bartlomiejpluta.base.game.project.loader; package com.bartlomiejpluta.base.engine.project.loader;
import com.bartlomiejpluta.base.game.entity.manager.EntitySetManager; import com.bartlomiejpluta.base.engine.project.config.ProjectConfiguration;
import com.bartlomiejpluta.base.game.image.manager.ImageManager; import com.bartlomiejpluta.base.engine.project.model.Project;
import com.bartlomiejpluta.base.game.map.manager.MapManager; import com.bartlomiejpluta.base.engine.project.serial.ProjectDeserializer;
import com.bartlomiejpluta.base.game.project.config.ProjectConfiguration; import com.bartlomiejpluta.base.engine.world.entity.manager.EntitySetManager;
import com.bartlomiejpluta.base.game.project.model.Project; import com.bartlomiejpluta.base.engine.world.image.manager.ImageManager;
import com.bartlomiejpluta.base.game.project.serial.ProjectDeserializer; import com.bartlomiejpluta.base.engine.world.map.manager.MapManager;
import com.bartlomiejpluta.base.game.tileset.manager.TileSetManager; import com.bartlomiejpluta.base.engine.world.tileset.manager.TileSetManager;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -0,0 +1,7 @@
package com.bartlomiejpluta.base.engine.project.loader;
import com.bartlomiejpluta.base.engine.project.model.Project;
public interface ProjectLoader {
Project loadProject();
}

View File

@@ -1,9 +1,9 @@
package com.bartlomiejpluta.base.game.project.model; package com.bartlomiejpluta.base.engine.project.model;
import com.bartlomiejpluta.base.game.entity.asset.EntitySetAsset; import com.bartlomiejpluta.base.engine.world.entity.asset.EntitySetAsset;
import com.bartlomiejpluta.base.game.image.asset.ImageAsset; import com.bartlomiejpluta.base.engine.world.image.asset.ImageAsset;
import com.bartlomiejpluta.base.game.map.asset.GameMapAsset; import com.bartlomiejpluta.base.engine.world.map.asset.GameMapAsset;
import com.bartlomiejpluta.base.game.tileset.asset.TileSetAsset; import com.bartlomiejpluta.base.engine.world.tileset.asset.TileSetAsset;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;

View File

@@ -1,23 +1,23 @@
package com.bartlomiejpluta.base.game.project.model; package com.bartlomiejpluta.base.engine.project.model;
import com.bartlomiejpluta.base.api.context.Context; import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.entity.Entity; import com.bartlomiejpluta.base.api.entity.Entity;
import com.bartlomiejpluta.base.api.input.Keyboard; import com.bartlomiejpluta.base.api.input.Keyboard;
import com.bartlomiejpluta.base.api.map.MapHandler; import com.bartlomiejpluta.base.api.map.MapHandler;
import com.bartlomiejpluta.base.core.gl.object.texture.TextureManager; import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.core.gl.render.Renderable; import com.bartlomiejpluta.base.engine.core.gl.render.Renderable;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.logic.Updatable; import com.bartlomiejpluta.base.engine.input.GLFWKeyboard;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.logic.Updatable;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.project.loader.ClassLoader;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.game.entity.manager.EntityManager; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.game.image.manager.ImageManager; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.game.input.GLFWKeyboard; import com.bartlomiejpluta.base.engine.world.entity.manager.EntityManager;
import com.bartlomiejpluta.base.game.map.manager.MapManager; import com.bartlomiejpluta.base.engine.world.image.manager.ImageManager;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap; import com.bartlomiejpluta.base.engine.world.map.manager.MapManager;
import com.bartlomiejpluta.base.game.project.loader.ClassLoader; import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
import com.bartlomiejpluta.base.game.tileset.manager.TileSetManager; import com.bartlomiejpluta.base.engine.world.tileset.manager.TileSetManager;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.joml.Vector2f; import org.joml.Vector2f;

View File

@@ -0,0 +1,7 @@
package com.bartlomiejpluta.base.engine.project.serial;
import com.bartlomiejpluta.base.engine.common.serial.Deserializer;
import com.bartlomiejpluta.base.engine.project.model.Project;
public abstract class ProjectDeserializer extends Deserializer<Project> {
}

View File

@@ -1,10 +1,10 @@
package com.bartlomiejpluta.base.game.project.serial; package com.bartlomiejpluta.base.engine.project.serial;
import com.bartlomiejpluta.base.game.entity.asset.EntitySetAsset; import com.bartlomiejpluta.base.engine.project.model.Project;
import com.bartlomiejpluta.base.game.image.asset.ImageAsset; import com.bartlomiejpluta.base.engine.world.entity.asset.EntitySetAsset;
import com.bartlomiejpluta.base.game.map.asset.GameMapAsset; import com.bartlomiejpluta.base.engine.world.image.asset.ImageAsset;
import com.bartlomiejpluta.base.game.project.model.Project; import com.bartlomiejpluta.base.engine.world.map.asset.GameMapAsset;
import com.bartlomiejpluta.base.game.tileset.asset.TileSetAsset; import com.bartlomiejpluta.base.engine.world.tileset.asset.TileSetAsset;
import com.bartlomiejpluta.base.proto.ProjectProto; import com.bartlomiejpluta.base.proto.ProjectProto;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.thread; package com.bartlomiejpluta.base.engine.thread;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.time; package com.bartlomiejpluta.base.engine.time;
public class ChronoMeter { public class ChronoMeter {
private double latchedTime; private double latchedTime;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.ui; package com.bartlomiejpluta.base.engine.ui;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.ui; package com.bartlomiejpluta.base.engine.ui;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.util.math; package com.bartlomiejpluta.base.engine.util.math;
import static java.lang.Math.max; import static java.lang.Math.max;
import static java.lang.Math.min; import static java.lang.Math.min;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.util.mesh; package com.bartlomiejpluta.base.engine.util.mesh;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.joml.Vector2f; import org.joml.Vector2f;

View File

@@ -0,0 +1,8 @@
package com.bartlomiejpluta.base.engine.util.mesh;
import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
public interface MeshManager extends Cleanable {
Mesh createQuad(float width, float height, float originX, float originY);
}

View File

@@ -0,0 +1,7 @@
package com.bartlomiejpluta.base.engine.util.profiling.fps;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.engine.logic.Updatable;
public interface FPSMonitor extends Updatable, Cleanable {
}

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.profiling.fps; package com.bartlomiejpluta.base.engine.util.profiling.fps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.profiling.time; package com.bartlomiejpluta.base.engine.util.profiling.time;
import com.bartlomiejpluta.base.core.gc.Cleanable; import com.bartlomiejpluta.base.engine.gc.Cleanable;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.profiling.time; package com.bartlomiejpluta.base.engine.util.profiling.time;
public interface TimeProfilerService { public interface TimeProfilerService {
void measure(String key, Runnable task); void measure(String key, Runnable task);

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.core.util.res; package com.bartlomiejpluta.base.engine.util.res;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.io.IOException; import java.io.IOException;

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.game.animation; package com.bartlomiejpluta.base.engine.world.animation;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.core.world.object.Sprite; import com.bartlomiejpluta.base.engine.world.object.Sprite;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.joml.Vector2f; import org.joml.Vector2f;

View File

@@ -1,9 +1,9 @@
package com.bartlomiejpluta.base.core.world.camera; package com.bartlomiejpluta.base.engine.world.camera;
import com.bartlomiejpluta.base.core.gl.shader.constant.UniformName; import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.object.Model; import com.bartlomiejpluta.base.engine.world.object.Model;
import org.joml.Matrix4f; import org.joml.Matrix4f;
public class Camera extends Model { public class Camera extends Model {

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.game.entity.asset; package com.bartlomiejpluta.base.engine.world.entity.asset;
import com.bartlomiejpluta.base.game.common.asset.Asset; import com.bartlomiejpluta.base.engine.common.asset.Asset;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.entity.config; package com.bartlomiejpluta.base.engine.world.entity.config;
import com.bartlomiejpluta.base.api.entity.Direction; import com.bartlomiejpluta.base.api.entity.Direction;
import lombok.Data; import lombok.Data;

View File

@@ -1,10 +1,10 @@
package com.bartlomiejpluta.base.game.entity.manager; package com.bartlomiejpluta.base.engine.world.entity.manager;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.game.entity.config.EntitySpriteConfiguration; import com.bartlomiejpluta.base.engine.world.entity.config.EntitySpriteConfiguration;
import com.bartlomiejpluta.base.game.entity.model.DefaultEntity; import com.bartlomiejpluta.base.engine.world.entity.model.DefaultEntity;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,10 +1,10 @@
package com.bartlomiejpluta.base.game.entity.manager; package com.bartlomiejpluta.base.engine.world.entity.manager;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.core.gl.object.texture.TextureManager; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.game.entity.asset.EntitySetAsset; import com.bartlomiejpluta.base.engine.project.config.ProjectConfiguration;
import com.bartlomiejpluta.base.game.project.config.ProjectConfiguration; import com.bartlomiejpluta.base.engine.world.entity.asset.EntitySetAsset;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -0,0 +1,8 @@
package com.bartlomiejpluta.base.engine.world.entity.manager;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.engine.world.entity.model.DefaultEntity;
public interface EntityManager extends Cleanable {
DefaultEntity createEntity(String entitySetUid);
}

View File

@@ -0,0 +1,8 @@
package com.bartlomiejpluta.base.engine.world.entity.manager;
import com.bartlomiejpluta.base.engine.common.manager.AssetManager;
import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.engine.world.entity.asset.EntitySetAsset;
public interface EntitySetManager extends AssetManager<EntitySetAsset, Material> {
}

View File

@@ -1,12 +1,12 @@
package com.bartlomiejpluta.base.game.entity.model; package com.bartlomiejpluta.base.engine.world.entity.model;
import com.bartlomiejpluta.base.api.entity.Direction; import com.bartlomiejpluta.base.api.entity.Direction;
import com.bartlomiejpluta.base.api.entity.Entity; import com.bartlomiejpluta.base.api.entity.Entity;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.util.math.MathUtil; import com.bartlomiejpluta.base.engine.util.math.MathUtil;
import com.bartlomiejpluta.base.game.entity.config.EntitySpriteConfiguration; import com.bartlomiejpluta.base.engine.world.entity.config.EntitySpriteConfiguration;
import com.bartlomiejpluta.base.game.movement.MovableSprite; import com.bartlomiejpluta.base.engine.world.movement.MovableSprite;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.game.image.asset; package com.bartlomiejpluta.base.engine.world.image.asset;
import com.bartlomiejpluta.base.game.common.asset.Asset; import com.bartlomiejpluta.base.engine.common.asset.Asset;
import lombok.NonNull; import lombok.NonNull;
public class ImageAsset extends Asset { public class ImageAsset extends Asset {

View File

@@ -1,13 +1,13 @@
package com.bartlomiejpluta.base.game.image.manager; package com.bartlomiejpluta.base.engine.world.image.manager;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.core.gl.object.texture.TextureManager; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.core.util.math.MathUtil; import com.bartlomiejpluta.base.engine.project.config.ProjectConfiguration;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.util.math.MathUtil;
import com.bartlomiejpluta.base.game.image.asset.ImageAsset; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.game.image.model.Image; import com.bartlomiejpluta.base.engine.world.image.asset.ImageAsset;
import com.bartlomiejpluta.base.game.project.config.ProjectConfiguration; import com.bartlomiejpluta.base.engine.world.image.model.Image;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -0,0 +1,9 @@
package com.bartlomiejpluta.base.engine.world.image.manager;
import com.bartlomiejpluta.base.engine.common.manager.AssetManager;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.engine.world.image.asset.ImageAsset;
import com.bartlomiejpluta.base.engine.world.image.model.Image;
public interface ImageManager extends AssetManager<ImageAsset, Image>, Cleanable {
}

View File

@@ -1,8 +1,8 @@
package com.bartlomiejpluta.base.game.image.model; package com.bartlomiejpluta.base.engine.world.image.model;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.world.object.Sprite; import com.bartlomiejpluta.base.engine.world.object.Sprite;
import lombok.Getter; import lombok.Getter;
@Getter @Getter

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.game.map.asset; package com.bartlomiejpluta.base.engine.world.map.asset;
import com.bartlomiejpluta.base.game.common.asset.Asset; import com.bartlomiejpluta.base.engine.common.asset.Asset;
import lombok.NonNull; import lombok.NonNull;
public class GameMapAsset extends Asset { public class GameMapAsset extends Asset {

View File

@@ -0,0 +1,8 @@
package com.bartlomiejpluta.base.engine.world.map.layer.base;
import com.bartlomiejpluta.base.engine.core.gl.render.Renderable;
import com.bartlomiejpluta.base.engine.logic.Updatable;
public interface Layer extends Renderable, Updatable {
}

View File

@@ -1,13 +1,13 @@
package com.bartlomiejpluta.base.game.map.layer.color; package com.bartlomiejpluta.base.engine.world.map.layer.color;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.core.world.object.Sprite; import com.bartlomiejpluta.base.engine.world.map.layer.base.Layer;
import com.bartlomiejpluta.base.game.map.layer.base.Layer; import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap; import com.bartlomiejpluta.base.engine.world.object.Sprite;
import lombok.NonNull; import lombok.NonNull;
public class ColorLayer extends Sprite implements Layer { public class ColorLayer extends Sprite implements Layer {

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.game.map.layer.image; package com.bartlomiejpluta.base.engine.world.map.layer.image;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.game.image.model.Image; import com.bartlomiejpluta.base.engine.world.image.model.Image;
import com.bartlomiejpluta.base.game.map.layer.base.Layer; import com.bartlomiejpluta.base.engine.world.map.layer.base.Layer;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap; import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
import lombok.NonNull; import lombok.NonNull;
public class ImageLayer implements Layer { public class ImageLayer implements Layer {

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.map.layer.image; package com.bartlomiejpluta.base.engine.world.map.layer.image;
public enum ImageLayerMode { public enum ImageLayerMode {
NORMAL, NORMAL,

View File

@@ -1,12 +1,12 @@
package com.bartlomiejpluta.base.game.map.layer.object; package com.bartlomiejpluta.base.engine.world.map.layer.object;
import com.bartlomiejpluta.base.api.entity.Direction; import com.bartlomiejpluta.base.api.entity.Direction;
import com.bartlomiejpluta.base.api.map.PassageAbility; import com.bartlomiejpluta.base.api.map.PassageAbility;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.game.map.layer.base.Layer; import com.bartlomiejpluta.base.engine.world.map.layer.base.Layer;
import com.bartlomiejpluta.base.game.movement.MovableSprite; import com.bartlomiejpluta.base.engine.world.movement.MovableSprite;
import org.joml.Vector2i; import org.joml.Vector2i;
import java.util.List; import java.util.List;

View File

@@ -1,10 +1,10 @@
package com.bartlomiejpluta.base.game.map.layer.tile; package com.bartlomiejpluta.base.engine.world.map.layer.tile;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.game.map.layer.base.Layer; import com.bartlomiejpluta.base.engine.world.map.layer.base.Layer;
import com.bartlomiejpluta.base.game.tileset.model.Tile; import com.bartlomiejpluta.base.engine.world.tileset.model.Tile;
import java.util.Arrays; import java.util.Arrays;

View File

@@ -1,10 +1,10 @@
package com.bartlomiejpluta.base.game.map.manager; package com.bartlomiejpluta.base.engine.world.map.manager;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.game.map.asset.GameMapAsset; import com.bartlomiejpluta.base.engine.project.config.ProjectConfiguration;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap; import com.bartlomiejpluta.base.engine.world.map.asset.GameMapAsset;
import com.bartlomiejpluta.base.game.map.serial.MapDeserializer; import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
import com.bartlomiejpluta.base.game.project.config.ProjectConfiguration; import com.bartlomiejpluta.base.engine.world.map.serial.MapDeserializer;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -0,0 +1,9 @@
package com.bartlomiejpluta.base.engine.world.map.manager;
import com.bartlomiejpluta.base.engine.common.manager.AssetManager;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.engine.world.map.asset.GameMapAsset;
import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
public interface MapManager extends AssetManager<GameMapAsset, DefaultGameMap>, Cleanable {
}

View File

@@ -1,24 +1,24 @@
package com.bartlomiejpluta.base.game.map.model; package com.bartlomiejpluta.base.engine.world.map.model;
import com.bartlomiejpluta.base.api.entity.Entity; import com.bartlomiejpluta.base.api.entity.Entity;
import com.bartlomiejpluta.base.api.entity.Movement; import com.bartlomiejpluta.base.api.entity.Movement;
import com.bartlomiejpluta.base.api.map.GameMap; import com.bartlomiejpluta.base.api.map.GameMap;
import com.bartlomiejpluta.base.api.map.PassageAbility; import com.bartlomiejpluta.base.api.map.PassageAbility;
import com.bartlomiejpluta.base.core.gl.render.Renderable; import com.bartlomiejpluta.base.engine.core.gl.render.Renderable;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.logic.Updatable; import com.bartlomiejpluta.base.engine.logic.Updatable;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import com.bartlomiejpluta.base.game.entity.model.DefaultEntity; import com.bartlomiejpluta.base.engine.world.entity.model.DefaultEntity;
import com.bartlomiejpluta.base.game.image.model.Image; import com.bartlomiejpluta.base.engine.world.image.model.Image;
import com.bartlomiejpluta.base.game.map.layer.base.Layer; import com.bartlomiejpluta.base.engine.world.map.layer.base.Layer;
import com.bartlomiejpluta.base.game.map.layer.color.ColorLayer; import com.bartlomiejpluta.base.engine.world.map.layer.color.ColorLayer;
import com.bartlomiejpluta.base.game.map.layer.image.ImageLayer; import com.bartlomiejpluta.base.engine.world.map.layer.image.ImageLayer;
import com.bartlomiejpluta.base.game.map.layer.image.ImageLayerMode; import com.bartlomiejpluta.base.engine.world.map.layer.image.ImageLayerMode;
import com.bartlomiejpluta.base.game.map.layer.object.ObjectLayer; import com.bartlomiejpluta.base.engine.world.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.game.map.layer.tile.TileLayer; import com.bartlomiejpluta.base.engine.world.map.layer.tile.TileLayer;
import com.bartlomiejpluta.base.game.tileset.model.TileSet; import com.bartlomiejpluta.base.engine.world.tileset.model.TileSet;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import org.joml.Vector2f; import org.joml.Vector2f;

View File

@@ -0,0 +1,7 @@
package com.bartlomiejpluta.base.engine.world.map.serial;
import com.bartlomiejpluta.base.engine.common.serial.Deserializer;
import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
public abstract class MapDeserializer extends Deserializer<DefaultGameMap> {
}

View File

@@ -1,12 +1,12 @@
package com.bartlomiejpluta.base.game.map.serial; package com.bartlomiejpluta.base.engine.world.map.serial;
import com.bartlomiejpluta.base.api.map.PassageAbility; import com.bartlomiejpluta.base.api.map.PassageAbility;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.game.image.manager.ImageManager; import com.bartlomiejpluta.base.engine.world.image.manager.ImageManager;
import com.bartlomiejpluta.base.game.map.layer.image.ImageLayerMode; import com.bartlomiejpluta.base.engine.world.map.layer.image.ImageLayerMode;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap; import com.bartlomiejpluta.base.engine.world.map.model.DefaultGameMap;
import com.bartlomiejpluta.base.game.tileset.manager.TileSetManager; import com.bartlomiejpluta.base.engine.world.tileset.manager.TileSetManager;
import com.bartlomiejpluta.base.proto.GameMapProto; import com.bartlomiejpluta.base.proto.GameMapProto;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.game.movement; package com.bartlomiejpluta.base.engine.world.movement;
import com.bartlomiejpluta.base.api.entity.Direction; import com.bartlomiejpluta.base.api.entity.Direction;
import com.bartlomiejpluta.base.api.entity.Movement; import com.bartlomiejpluta.base.api.entity.Movement;

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.game.movement; package com.bartlomiejpluta.base.engine.world.movement;
import com.bartlomiejpluta.base.api.entity.Direction; import com.bartlomiejpluta.base.api.entity.Direction;
import com.bartlomiejpluta.base.api.entity.Movement; import com.bartlomiejpluta.base.api.entity.Movement;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.logic.Updatable; import com.bartlomiejpluta.base.engine.logic.Updatable;
import com.bartlomiejpluta.base.game.animation.AnimatedSprite; import com.bartlomiejpluta.base.engine.world.animation.AnimatedSprite;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import org.joml.Vector2f; import org.joml.Vector2f;

View File

@@ -1,4 +1,4 @@
package com.bartlomiejpluta.base.core.world.object; package com.bartlomiejpluta.base.engine.world.object;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;

View File

@@ -1,12 +1,12 @@
package com.bartlomiejpluta.base.core.world.object; package com.bartlomiejpluta.base.engine.world.object;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.gl.render.Renderable; import com.bartlomiejpluta.base.engine.core.gl.render.Renderable;
import com.bartlomiejpluta.base.core.gl.shader.constant.UniformName; import com.bartlomiejpluta.base.engine.core.gl.shader.constant.UniformName;
import com.bartlomiejpluta.base.core.gl.shader.manager.ShaderManager; import com.bartlomiejpluta.base.engine.core.gl.shader.manager.ShaderManager;
import com.bartlomiejpluta.base.core.ui.Window; import com.bartlomiejpluta.base.engine.ui.Window;
import com.bartlomiejpluta.base.core.world.camera.Camera; import com.bartlomiejpluta.base.engine.world.camera.Camera;
import lombok.*; import lombok.*;
@RequiredArgsConstructor @RequiredArgsConstructor

View File

@@ -1,6 +1,6 @@
package com.bartlomiejpluta.base.game.tileset.asset; package com.bartlomiejpluta.base.engine.world.tileset.asset;
import com.bartlomiejpluta.base.game.common.asset.Asset; import com.bartlomiejpluta.base.engine.common.asset.Asset;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.game.tileset.manager; package com.bartlomiejpluta.base.engine.world.tileset.manager;
import com.bartlomiejpluta.base.core.error.AppException; import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.core.gl.object.texture.TextureManager; import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.core.util.mesh.MeshManager; import com.bartlomiejpluta.base.engine.project.config.ProjectConfiguration;
import com.bartlomiejpluta.base.game.project.config.ProjectConfiguration; import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.game.tileset.asset.TileSetAsset; import com.bartlomiejpluta.base.engine.world.tileset.asset.TileSetAsset;
import com.bartlomiejpluta.base.game.tileset.model.TileSet; import com.bartlomiejpluta.base.engine.world.tileset.model.TileSet;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -0,0 +1,9 @@
package com.bartlomiejpluta.base.engine.world.tileset.manager;
import com.bartlomiejpluta.base.engine.common.manager.AssetManager;
import com.bartlomiejpluta.base.engine.gc.Cleanable;
import com.bartlomiejpluta.base.engine.world.tileset.asset.TileSetAsset;
import com.bartlomiejpluta.base.engine.world.tileset.model.TileSet;
public interface TileSetManager extends AssetManager<TileSetAsset, TileSet>, Cleanable {
}

View File

@@ -1,9 +1,9 @@
package com.bartlomiejpluta.base.game.tileset.model; package com.bartlomiejpluta.base.engine.world.tileset.model;
import com.bartlomiejpluta.base.core.gl.object.material.Material; import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.gl.object.texture.Texture; import com.bartlomiejpluta.base.engine.core.gl.object.texture.Texture;
import com.bartlomiejpluta.base.core.world.object.Sprite; import com.bartlomiejpluta.base.engine.world.object.Sprite;
import lombok.Getter; import lombok.Getter;
@Getter @Getter

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.game.tileset.model; package com.bartlomiejpluta.base.engine.world.tileset.model;
import com.bartlomiejpluta.base.core.gl.object.mesh.Mesh; import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.core.gl.object.texture.Texture; import com.bartlomiejpluta.base.engine.core.gl.object.texture.Texture;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;

View File

@@ -1,56 +0,0 @@
plugins {
id 'org.springframework.boot' version "$springBootVersion"
id 'io.spring.dependency-management' version "$springDependencyManagementVersion"
id 'java'
id 'application'
}
group 'com.bartlomiejpluta.base'
version 'unspecified'
import org.gradle.internal.os.OperatingSystem
switch (OperatingSystem.current()) {
case OperatingSystem.LINUX:
def osArch = System.getProperty("os.arch")
project.ext.lwjglNatives = osArch.startsWith("arm") || osArch.startsWith("aarch64")
? "natives-linux-${osArch.contains("64") || osArch.startsWith("armv8") ? "arm64" : "arm32"}"
: "natives-linux"
break
case OperatingSystem.MAC_OS:
project.ext.lwjglNatives = "natives-macos"
break
case OperatingSystem.WINDOWS:
project.ext.lwjglNatives = System.getProperty("os.arch").contains("64") ? "natives-windows" : "natives-windows-x86"
break
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation project(":engine")
implementation project(":proto")
implementation project(":api")
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
application {
// Define the main class for the application.
mainClass = 'com.bartlomiejpluta.base.game.App'
}
build {
dependsOn(":engine:build")
dependsOn(":proto:build")
}

View File

@@ -1,8 +0,0 @@
package com.bartlomiejpluta.base.game.entity.manager;
import com.bartlomiejpluta.base.core.gc.Cleanable;
import com.bartlomiejpluta.base.game.entity.model.DefaultEntity;
public interface EntityManager extends Cleanable {
DefaultEntity createEntity(String entitySetUid);
}

View File

@@ -1,8 +0,0 @@
package com.bartlomiejpluta.base.game.entity.manager;
import com.bartlomiejpluta.base.core.gl.object.material.Material;
import com.bartlomiejpluta.base.game.common.manager.AssetManager;
import com.bartlomiejpluta.base.game.entity.asset.EntitySetAsset;
public interface EntitySetManager extends AssetManager<EntitySetAsset, Material> {
}

View File

@@ -1,9 +0,0 @@
package com.bartlomiejpluta.base.game.image.manager;
import com.bartlomiejpluta.base.core.gc.Cleanable;
import com.bartlomiejpluta.base.game.common.manager.AssetManager;
import com.bartlomiejpluta.base.game.image.asset.ImageAsset;
import com.bartlomiejpluta.base.game.image.model.Image;
public interface ImageManager extends AssetManager<ImageAsset, Image>, Cleanable {
}

View File

@@ -1,8 +0,0 @@
package com.bartlomiejpluta.base.game.map.layer.base;
import com.bartlomiejpluta.base.core.gl.render.Renderable;
import com.bartlomiejpluta.base.core.logic.Updatable;
public interface Layer extends Renderable, Updatable {
}

View File

@@ -1,9 +0,0 @@
package com.bartlomiejpluta.base.game.map.manager;
import com.bartlomiejpluta.base.core.gc.Cleanable;
import com.bartlomiejpluta.base.game.common.manager.AssetManager;
import com.bartlomiejpluta.base.game.map.asset.GameMapAsset;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap;
public interface MapManager extends AssetManager<GameMapAsset, DefaultGameMap>, Cleanable {
}

View File

@@ -1,7 +0,0 @@
package com.bartlomiejpluta.base.game.map.serial;
import com.bartlomiejpluta.base.game.common.serial.Deserializer;
import com.bartlomiejpluta.base.game.map.model.DefaultGameMap;
public abstract class MapDeserializer extends Deserializer<DefaultGameMap> {
}

View File

@@ -1,7 +0,0 @@
package com.bartlomiejpluta.base.game.project.loader;
import com.bartlomiejpluta.base.game.project.model.Project;
public interface ProjectLoader {
Project loadProject();
}

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