A bit more code cleanup

This commit is contained in:
2021-11-22 20:25:45 -08:00
parent a4198e8396
commit 6c9eb8b685
217 changed files with 206 additions and 184 deletions

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

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

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