From 5ab93d62ad3ca2cf0d28ea18998e22ed423d2921 Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 20 Nov 2023 12:04:55 +0100 Subject: [PATCH] new build system config --- Build.lua | 15 ++++++++++++ core/Build-Core.lua | 32 +++++++++++++++++++++++++ {src => core/src}/asset.h | 0 {src => core/src}/assets.c | 0 {src => core/src}/assets.h | 0 {src => core/src}/behaviour_entity.h | 0 {src => core/src}/camera.c | 0 {src => core/src}/camera.h | 0 {src => core/src}/collision.c | 0 {src => core/src}/collision.h | 0 {src => core/src}/debug.c | 0 {src => core/src}/debug.h | 0 {src => core/src}/drop.h | 0 {src => core/src}/game_world.c | 0 {src => core/src}/game_world.h | 0 {src => core/src}/input.c | 0 {src => core/src}/input.h | 0 {src => core/src}/input_axis.c | 0 {src => core/src}/input_axis.h | 0 {src => core/src}/list.c | 0 {src => core/src}/list.h | 0 {src => core/src}/physics_entity.c | 0 {src => core/src}/physics_entity.h | 0 {src => core/src}/physics_world.c | 0 {src => core/src}/physics_world.h | 0 {src => core/src}/player_input.c | 0 {src => core/src}/player_input.h | 0 {src => core/src}/program.c | 0 {src => core/src}/program.h | 0 {src => core/src}/render.c | 0 {src => core/src}/render.h | 0 {src => core/src}/rigidbody.c | 0 {src => core/src}/rigidbody.h | 0 {src => core/src}/shape.c | 0 {src => core/src}/shape.h | 0 {src => core/src}/sprite.c | 0 {src => core/src}/sprite.h | 0 {src => core/src}/sprite_entity.c | 0 {src => core/src}/sprite_entity.h | 0 {src => core/src}/spritesheet.c | 0 {src => core/src}/spritesheet.h | 0 {src => core/src}/transform.h | 0 {src => core/src}/transformable.c | 0 {src => core/src}/transformable.h | 0 {src => core/src}/typeclass_helpers.h | 0 {src => core/src}/vmath.h | 0 design/Core.md | 26 -------------------- game/Build-Game.lua | 34 +++++++++++++++++++++++++++ {src => game/src}/fencer.c | 0 premake5.lua | 20 ---------------- 50 files changed, 81 insertions(+), 46 deletions(-) create mode 100644 Build.lua create mode 100644 core/Build-Core.lua rename {src => core/src}/asset.h (100%) rename {src => core/src}/assets.c (100%) rename {src => core/src}/assets.h (100%) rename {src => core/src}/behaviour_entity.h (100%) rename {src => core/src}/camera.c (100%) rename {src => core/src}/camera.h (100%) rename {src => core/src}/collision.c (100%) rename {src => core/src}/collision.h (100%) rename {src => core/src}/debug.c (100%) rename {src => core/src}/debug.h (100%) rename {src => core/src}/drop.h (100%) rename {src => core/src}/game_world.c (100%) rename {src => core/src}/game_world.h (100%) rename {src => core/src}/input.c (100%) rename {src => core/src}/input.h (100%) rename {src => core/src}/input_axis.c (100%) rename {src => core/src}/input_axis.h (100%) rename {src => core/src}/list.c (100%) rename {src => core/src}/list.h (100%) rename {src => core/src}/physics_entity.c (100%) rename {src => core/src}/physics_entity.h (100%) rename {src => core/src}/physics_world.c (100%) rename {src => core/src}/physics_world.h (100%) rename {src => core/src}/player_input.c (100%) rename {src => core/src}/player_input.h (100%) rename {src => core/src}/program.c (100%) rename {src => core/src}/program.h (100%) rename {src => core/src}/render.c (100%) rename {src => core/src}/render.h (100%) rename {src => core/src}/rigidbody.c (100%) rename {src => core/src}/rigidbody.h (100%) rename {src => core/src}/shape.c (100%) rename {src => core/src}/shape.h (100%) rename {src => core/src}/sprite.c (100%) rename {src => core/src}/sprite.h (100%) rename {src => core/src}/sprite_entity.c (100%) rename {src => core/src}/sprite_entity.h (100%) rename {src => core/src}/spritesheet.c (100%) rename {src => core/src}/spritesheet.h (100%) rename {src => core/src}/transform.h (100%) rename {src => core/src}/transformable.c (100%) rename {src => core/src}/transformable.h (100%) rename {src => core/src}/typeclass_helpers.h (100%) rename {src => core/src}/vmath.h (100%) delete mode 100644 design/Core.md create mode 100644 game/Build-Game.lua rename {src => game/src}/fencer.c (100%) delete mode 100644 premake5.lua diff --git a/Build.lua b/Build.lua new file mode 100644 index 0000000..fdbe2da --- /dev/null +++ b/Build.lua @@ -0,0 +1,15 @@ +-- project "Fencer-Template" change this + architecture "x64" + configurations { "Debug", "Release", "Dist" } + startproject "Game" + + filter "system:windows" + buildoptions { "/EHsc", "/Zc:preprocessor" } + + OutputDir = "%{cfg.system}-%{cfg.architecture}/${cfg.buildcfg}" + + group "Core" + include "core/Build-Core.lua" + group "" + + include "game/Build-Game.lua" diff --git a/core/Build-Core.lua b/core/Build-Core.lua new file mode 100644 index 0000000..09bc80e --- /dev/null +++ b/core/Build-Core.lua @@ -0,0 +1,32 @@ +project "Fencer-Core" + kind "StaticLib" + language "C" + targetdir "bin/%{cfg.buildcfg}" + staticruntime "off" + + files { "src/**.c" } + includedirs { "src/" } + + targetdir ( "../bin" .. OutputDir .. "/%{prj.name}" ) + objdir ( "../intermediate" .. OutputDir .. "/%{prj.name}" ) + + filter "system:windows" + systemversion "latest" + defines {} + + filter "configurations:Debug" + defines { "DEBUG" } + runtime "Debug" + symbols "On" + + filter "configurations:Release" + defines { "RELEASE" } + runtime "Release" + optimize "On" + symbols "On" + + filter "configurations:Dist" + defines { "DIST" } + runtime "Release" + optimize "On" + symbols "Off" diff --git a/src/asset.h b/core/src/asset.h similarity index 100% rename from src/asset.h rename to core/src/asset.h diff --git a/src/assets.c b/core/src/assets.c similarity index 100% rename from src/assets.c rename to core/src/assets.c diff --git a/src/assets.h b/core/src/assets.h similarity index 100% rename from src/assets.h rename to core/src/assets.h diff --git a/src/behaviour_entity.h b/core/src/behaviour_entity.h similarity index 100% rename from src/behaviour_entity.h rename to core/src/behaviour_entity.h diff --git a/src/camera.c b/core/src/camera.c similarity index 100% rename from src/camera.c rename to core/src/camera.c diff --git a/src/camera.h b/core/src/camera.h similarity index 100% rename from src/camera.h rename to core/src/camera.h diff --git a/src/collision.c b/core/src/collision.c similarity index 100% rename from src/collision.c rename to core/src/collision.c diff --git a/src/collision.h b/core/src/collision.h similarity index 100% rename from src/collision.h rename to core/src/collision.h diff --git a/src/debug.c b/core/src/debug.c similarity index 100% rename from src/debug.c rename to core/src/debug.c diff --git a/src/debug.h b/core/src/debug.h similarity index 100% rename from src/debug.h rename to core/src/debug.h diff --git a/src/drop.h b/core/src/drop.h similarity index 100% rename from src/drop.h rename to core/src/drop.h diff --git a/src/game_world.c b/core/src/game_world.c similarity index 100% rename from src/game_world.c rename to core/src/game_world.c diff --git a/src/game_world.h b/core/src/game_world.h similarity index 100% rename from src/game_world.h rename to core/src/game_world.h diff --git a/src/input.c b/core/src/input.c similarity index 100% rename from src/input.c rename to core/src/input.c diff --git a/src/input.h b/core/src/input.h similarity index 100% rename from src/input.h rename to core/src/input.h diff --git a/src/input_axis.c b/core/src/input_axis.c similarity index 100% rename from src/input_axis.c rename to core/src/input_axis.c diff --git a/src/input_axis.h b/core/src/input_axis.h similarity index 100% rename from src/input_axis.h rename to core/src/input_axis.h diff --git a/src/list.c b/core/src/list.c similarity index 100% rename from src/list.c rename to core/src/list.c diff --git a/src/list.h b/core/src/list.h similarity index 100% rename from src/list.h rename to core/src/list.h diff --git a/src/physics_entity.c b/core/src/physics_entity.c similarity index 100% rename from src/physics_entity.c rename to core/src/physics_entity.c diff --git a/src/physics_entity.h b/core/src/physics_entity.h similarity index 100% rename from src/physics_entity.h rename to core/src/physics_entity.h diff --git a/src/physics_world.c b/core/src/physics_world.c similarity index 100% rename from src/physics_world.c rename to core/src/physics_world.c diff --git a/src/physics_world.h b/core/src/physics_world.h similarity index 100% rename from src/physics_world.h rename to core/src/physics_world.h diff --git a/src/player_input.c b/core/src/player_input.c similarity index 100% rename from src/player_input.c rename to core/src/player_input.c diff --git a/src/player_input.h b/core/src/player_input.h similarity index 100% rename from src/player_input.h rename to core/src/player_input.h diff --git a/src/program.c b/core/src/program.c similarity index 100% rename from src/program.c rename to core/src/program.c diff --git a/src/program.h b/core/src/program.h similarity index 100% rename from src/program.h rename to core/src/program.h diff --git a/src/render.c b/core/src/render.c similarity index 100% rename from src/render.c rename to core/src/render.c diff --git a/src/render.h b/core/src/render.h similarity index 100% rename from src/render.h rename to core/src/render.h diff --git a/src/rigidbody.c b/core/src/rigidbody.c similarity index 100% rename from src/rigidbody.c rename to core/src/rigidbody.c diff --git a/src/rigidbody.h b/core/src/rigidbody.h similarity index 100% rename from src/rigidbody.h rename to core/src/rigidbody.h diff --git a/src/shape.c b/core/src/shape.c similarity index 100% rename from src/shape.c rename to core/src/shape.c diff --git a/src/shape.h b/core/src/shape.h similarity index 100% rename from src/shape.h rename to core/src/shape.h diff --git a/src/sprite.c b/core/src/sprite.c similarity index 100% rename from src/sprite.c rename to core/src/sprite.c diff --git a/src/sprite.h b/core/src/sprite.h similarity index 100% rename from src/sprite.h rename to core/src/sprite.h diff --git a/src/sprite_entity.c b/core/src/sprite_entity.c similarity index 100% rename from src/sprite_entity.c rename to core/src/sprite_entity.c diff --git a/src/sprite_entity.h b/core/src/sprite_entity.h similarity index 100% rename from src/sprite_entity.h rename to core/src/sprite_entity.h diff --git a/src/spritesheet.c b/core/src/spritesheet.c similarity index 100% rename from src/spritesheet.c rename to core/src/spritesheet.c diff --git a/src/spritesheet.h b/core/src/spritesheet.h similarity index 100% rename from src/spritesheet.h rename to core/src/spritesheet.h diff --git a/src/transform.h b/core/src/transform.h similarity index 100% rename from src/transform.h rename to core/src/transform.h diff --git a/src/transformable.c b/core/src/transformable.c similarity index 100% rename from src/transformable.c rename to core/src/transformable.c diff --git a/src/transformable.h b/core/src/transformable.h similarity index 100% rename from src/transformable.h rename to core/src/transformable.h diff --git a/src/typeclass_helpers.h b/core/src/typeclass_helpers.h similarity index 100% rename from src/typeclass_helpers.h rename to core/src/typeclass_helpers.h diff --git a/src/vmath.h b/core/src/vmath.h similarity index 100% rename from src/vmath.h rename to core/src/vmath.h diff --git a/design/Core.md b/design/Core.md deleted file mode 100644 index 01cc239..0000000 --- a/design/Core.md +++ /dev/null @@ -1,26 +0,0 @@ -# Mechanics - -## Movement - -Slow and considered. -The walking speed is slow, the running speed slightly less so. -Walkable parts of environments are relatively small. - -## Combat - - - -## Exploration - -Resources are scattered throughout the environment. -It should be rewarding to stop and gather them. - -## Upgrades - - - -# Dynamics - -## Careful Progress - -The player should be careful and considered during second to second gameplay. diff --git a/game/Build-Game.lua b/game/Build-Game.lua new file mode 100644 index 0000000..7472c23 --- /dev/null +++ b/game/Build-Game.lua @@ -0,0 +1,34 @@ +project "Game" + kind "ConsoleApp" + language "C" + staticruntime "Off" + targetdir "bin/%{cfg.buildcfg}" + + files { "src/*.c" } + includedirs { + "src/", + "../core/src" + } + links { + "Fencer-Core" + } + + targetdir ("../bin" .. OutputDir .. "/%{prj.name}" ) + objdir ("../intermediate" .. OutputDir .. "/%{prj.name}" ) + + filter "configurations:Debug" + defines { "DEBUG" } + runtime "Debug" + symbols "On" + + filter "configurations:Release" + defines { "RELEASE" } + runtime "Release" + optimize "On" + symbols "On" + + filter "configurations:Dist" + defines { "DIST" } + runtime "Release" + optimize "On" + symbols "Off" diff --git a/src/fencer.c b/game/src/fencer.c similarity index 100% rename from src/fencer.c rename to game/src/fencer.c diff --git a/premake5.lua b/premake5.lua deleted file mode 100644 index e97d585..0000000 --- a/premake5.lua +++ /dev/null @@ -1,20 +0,0 @@ -workspace "fencer" - configurations { "Debug", "Release" } - location "." - -project "fencer" - kind "WindowedApp" - language "C" - location "build/" - files { "src/**.c" } - links { "SDL2", "SDL2_image", "cjson", "m" } - buildoptions { "-Wall", "-DVMATH_SDL=1" } - targetdir "bin/" - filter "configurations:Debug" - defines { "DEBUG" } - buildoptions { "-g3" } - symbols "On" - filter "configurations:Release" - buildoptions { "-g0" } - defines { "NDEBUG" } - optimize "On"