A bit more code cleanup
This commit is contained in:
CMakeLists.txt
client/glfwclient
src
CMakeLists.txt
dawn/scene
dawninit.hdisplay
animation
bitmapfont.cbitmapfont.hcamera.ccamera.hfont.cfont.hframebuffer.cframebuffer.hmatrix.cmatrix.hprimitive
render.crender.hrenderlist.crenderlist.hshader.cshader.hspritebatch.cspritebatch.htexture.ctexture.htexturescale.htileset.ctileset.hengine
epoch
file
games
123
CMakeLists.txt
123
CMakeLists.txt
@ -40,109 +40,38 @@ set(TEMP_DIR "${BUILD_DIR}/temp")
|
||||
# Include tools
|
||||
add_subdirectory(tools)
|
||||
|
||||
# Now change sources depending on the target type
|
||||
# Include the client or the test tools
|
||||
if(TARGET_TYPE STREQUAL test)
|
||||
add_subdirectory(test)
|
||||
elseif(TARGET_TYPE STREQUAL game)
|
||||
# Set up shared assets
|
||||
|
||||
# Shaders
|
||||
tool_copy(shader_textured
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/textured.vert shaders/textured.vert
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/textured.frag shaders/textured.frag
|
||||
)
|
||||
tool_copy(shader_singlerenderlist
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/singlerenderlist.vert shaders/singlerenderlist.vert
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/singlerenderlist.frag shaders/singlerenderlist.frag
|
||||
)
|
||||
|
||||
# Fonts
|
||||
tool_copy(font_opensans
|
||||
${ASSETS_SOURCE_DIR}/shared/fonts/opensans/OpenSans-Regular.ttf fonts/opensans/OpenSans-Regular.ttf
|
||||
${ASSETS_SOURCE_DIR}/shared/fonts/opensans/OpenSans-Bold.ttf fonts/opensans/OpenSans-Bold.ttf
|
||||
)
|
||||
|
||||
# Textures
|
||||
tool_texture(texture_test
|
||||
${ASSETS_SOURCE_DIR}/shared/textures/test_texture.png textures/test_texture
|
||||
)
|
||||
|
||||
# Locales
|
||||
tool_copy(locale_en
|
||||
${ASSETS_SOURCE_DIR}/locale/language/en-US.csv locale/language/en-US.csv
|
||||
)
|
||||
|
||||
# Poker Game
|
||||
if(TARGET_GAME STREQUAL poker)
|
||||
add_compile_definitions(
|
||||
GAME_NAME="Penny's Poker"
|
||||
GAME_FILE="poker/game.h"
|
||||
GAME_TYPE=pokergame_t
|
||||
GAME_INIT=pokerGameInit
|
||||
GAME_UPDATE=pokerGameUpdate
|
||||
GAME_DISPOSE=pokerGameDispose
|
||||
GAME_VERSION=1.0
|
||||
)
|
||||
|
||||
|
||||
# Characters
|
||||
set(DIR_CHARS "${ASSETS_SOURCE_DIR}/poker/characters")
|
||||
tool_vn_character(vn_penny
|
||||
${DIR_CHARS}/penny/character.xml poker/characters/penny/sprite
|
||||
)
|
||||
tool_vn_character(vn_lucy
|
||||
${DIR_CHARS}/lucy/character.xml poker/characters/lucy/sprite
|
||||
)
|
||||
tool_vn_character(vn_julie
|
||||
${DIR_CHARS}/julie/character.xml poker/characters/julie/sprite
|
||||
)
|
||||
tool_vn_character(vn_sammy
|
||||
${DIR_CHARS}/sammy/character.xml poker/characters/sammy/sprite
|
||||
)
|
||||
tool_vn_character(vn_jenny
|
||||
${DIR_CHARS}/jenny/character.xml poker/characters/jenny/sprite
|
||||
)
|
||||
|
||||
# World
|
||||
tool_texture(texture_pub
|
||||
${ASSETS_SOURCE_DIR}/poker/world/pub/pub_skywall.png poker/world/pub
|
||||
)
|
||||
|
||||
tool_assets(
|
||||
shader_textured
|
||||
shader_singlerenderlist
|
||||
|
||||
font_opensans
|
||||
|
||||
texture_test
|
||||
texture_pub
|
||||
|
||||
vn_penny
|
||||
vn_lucy
|
||||
vn_julie
|
||||
vn_sammy
|
||||
vn_jenny
|
||||
|
||||
locale_en
|
||||
)
|
||||
elseif(TARGET_GAME STREQUAL sandbox)
|
||||
add_compile_definitions(
|
||||
GAME_NAME="Sandbox"
|
||||
GAME_VERSION=1.0
|
||||
)
|
||||
|
||||
tool_assets(
|
||||
shader_textured
|
||||
font_opensans
|
||||
texture_test
|
||||
)
|
||||
endif()
|
||||
|
||||
# Common Game Dependencies.
|
||||
add_dependencies(${PROJECT_NAME} assets )
|
||||
add_subdirectory(client)
|
||||
endif()
|
||||
|
||||
# Add global sources.
|
||||
add_subdirectory(lib)
|
||||
|
||||
# Set up shared assets
|
||||
tool_copy(shader_textured
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/textured.vert shaders/textured.vert
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/textured.frag shaders/textured.frag
|
||||
)
|
||||
tool_copy(shader_singlerenderlist
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/singlerenderlist.vert shaders/singlerenderlist.vert
|
||||
${ASSETS_SOURCE_DIR}/shared/shaders/singlerenderlist.frag shaders/singlerenderlist.frag
|
||||
)
|
||||
|
||||
tool_copy(font_opensans
|
||||
${ASSETS_SOURCE_DIR}/shared/fonts/opensans/OpenSans-Regular.ttf fonts/opensans/OpenSans-Regular.ttf
|
||||
${ASSETS_SOURCE_DIR}/shared/fonts/opensans/OpenSans-Bold.ttf fonts/opensans/OpenSans-Bold.ttf
|
||||
)
|
||||
|
||||
tool_texture(texture_test
|
||||
${ASSETS_SOURCE_DIR}/shared/textures/test_texture.png textures/test_texture
|
||||
)
|
||||
|
||||
tool_copy(locale_en
|
||||
${ASSETS_SOURCE_DIR}/locale/language/en-US.csv locale/language/en-US.csv
|
||||
)
|
||||
|
||||
# Add actual game sources
|
||||
add_subdirectory(src)
|
@ -6,10 +6,10 @@
|
||||
#pragma once
|
||||
#include <glad/glad.h>
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <dawn/libs.h>
|
||||
#include <dawn/display/render.h>
|
||||
#include <dawn/input/input.h>
|
||||
#include <dawninit.h>
|
||||
#include "libs.h"
|
||||
#include "display/render.h"
|
||||
#include "input/input.h"
|
||||
#include "game/game.h"
|
||||
|
||||
#define WINDOW_WIDTH_DEFAULT 1280
|
||||
#define WINDOW_HEIGHT_DEFAULT WINDOW_WIDTH_DEFAULT/16*9
|
||||
|
@ -18,19 +18,18 @@ target_include_directories(${PROJECT_NAME}
|
||||
)
|
||||
|
||||
# Dawn Sources
|
||||
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/dawn/*.c(pp|xx))
|
||||
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/dawn/*.h(pp|xx))
|
||||
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c(pp|xx))
|
||||
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h(pp|xx))
|
||||
|
||||
# Exclude Game Sources
|
||||
list(FILTER SOURCES EXCLUDE REGEX ".*games\\/.*")
|
||||
list(FILTER HEADERS EXCLUDE REGEX ".*games\\/.*")
|
||||
|
||||
target_sources(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
${SOURCES}
|
||||
${HEADERS}
|
||||
)
|
||||
|
||||
# Sandbox Game Sources
|
||||
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/sandbox/*.c(pp|xx))
|
||||
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/sandbox/*.h(pp|xx))
|
||||
target_sources(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
${SOURCES}
|
||||
${HEADERS}
|
||||
)
|
||||
# Add Game Sources
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/games/${TARGET_GAME})
|
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "loadingscene.h"
|
||||
|
||||
void loadingSceneInit(
|
||||
loadingscene_t *scene,
|
||||
assetmanager_t *assetManager
|
||||
) {
|
||||
scene->manager = assetManager;
|
||||
}
|
||||
|
||||
void loadingSceneStart(loadingscene_t *scene) {
|
||||
assetManagerStart(scene->manager);
|
||||
}
|
||||
|
||||
bool loadingSceneUpdate(loadingscene_t *scene) {
|
||||
assetManagerUpdate(scene->manager);
|
||||
return scene->manager->finished;
|
||||
}
|
||||
|
||||
void loadingSceneRender(loadingscene_t *scene) {
|
||||
|
||||
}
|
||||
|
||||
void loadingSceneDispose(loadingscene_t *scene) {
|
||||
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../file/assetmanager.h"
|
||||
|
||||
typedef struct {
|
||||
assetmanager_t *manager;
|
||||
} loadingscene_t;
|
||||
|
||||
void loadingSceneInit(
|
||||
loadingscene_t *scene,
|
||||
assetmanager_t *assetManager
|
||||
);
|
||||
|
||||
void loadingSceneStart(loadingscene_t *scene);
|
||||
|
||||
bool loadingSceneUpdate(loadingscene_t *scene);
|
||||
|
||||
void loadingSceneRender(loadingscene_t *scene);
|
||||
|
||||
void loadingSceneDispose(loadingscene_t *scene);
|
@ -1,9 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <sandbox/game.h>
|
@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <dawn/libs.h>
|
||||
#include "../libs.h"
|
||||
#include "matrix.h"
|
||||
#include "camera.h"
|
||||
#include "texture.h"
|
62
src/games/poker/CMakeLists.txt
Normal file
62
src/games/poker/CMakeLists.txt
Normal file
@ -0,0 +1,62 @@
|
||||
# Copyright (c) 2021 Dominic Msters
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
tool_game(
|
||||
"Penny's Poker"
|
||||
1.0
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c(pp|xx))
|
||||
file(GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h(pp|xx))
|
||||
target_sources(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
${SOURCES}
|
||||
${HEADERS}
|
||||
)
|
||||
|
||||
# Characters
|
||||
set(DIR_CHARS "${ASSETS_SOURCE_DIR}/poker/characters")
|
||||
tool_vn_character(vn_penny
|
||||
${DIR_CHARS}/penny/character.xml poker/characters/penny/sprite
|
||||
)
|
||||
tool_vn_character(vn_lucy
|
||||
${DIR_CHARS}/lucy/character.xml poker/characters/lucy/sprite
|
||||
)
|
||||
tool_vn_character(vn_julie
|
||||
${DIR_CHARS}/julie/character.xml poker/characters/julie/sprite
|
||||
)
|
||||
tool_vn_character(vn_sammy
|
||||
${DIR_CHARS}/sammy/character.xml poker/characters/sammy/sprite
|
||||
)
|
||||
tool_vn_character(vn_jenny
|
||||
${DIR_CHARS}/jenny/character.xml poker/characters/jenny/sprite
|
||||
)
|
||||
|
||||
# World
|
||||
tool_texture(texture_pub
|
||||
${ASSETS_SOURCE_DIR}/poker/world/pub/pub_skywall.png poker/world/pub
|
||||
)
|
||||
|
||||
# Generate assets
|
||||
tool_assets(
|
||||
shader_textured
|
||||
shader_singlerenderlist
|
||||
|
||||
font_opensans
|
||||
|
||||
texture_test
|
||||
texture_pub
|
||||
|
||||
vn_penny
|
||||
vn_lucy
|
||||
vn_julie
|
||||
vn_sammy
|
||||
vn_jenny
|
||||
|
||||
locale_en
|
||||
)
|
||||
|
||||
# Add Assets
|
||||
add_dependencies(${PROJECT_NAME} assets)
|
37
src/games/poker/game.h
Normal file
37
src/games/poker/game.h
Normal file
@ -0,0 +1,37 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../../libs.h"
|
||||
#include "../../engine/engine.h"
|
||||
|
||||
typedef struct {
|
||||
engine_t engine;
|
||||
} game_t;
|
||||
|
||||
/**
|
||||
* Initializes the Dawn Game instance.
|
||||
*
|
||||
* @param game Game to instanciate.
|
||||
* @return True if successful otherwise false.
|
||||
*/
|
||||
bool gameInit(game_t *game);
|
||||
|
||||
/**
|
||||
* Update the Dawn Game Instance.
|
||||
*
|
||||
* @param game Game to update.
|
||||
* @param delta The delta of the game to tick by.
|
||||
*/
|
||||
bool gameUpdate(game_t *game, float delta);
|
||||
|
||||
/**
|
||||
* Cleanup the dawn game instance.
|
||||
*
|
||||
* @param game Game to dispose.
|
||||
*/
|
||||
void gameDispose(game_t *game);
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user