restructure the project, again
parent
884f10e6ec
commit
fb5c2fae86
|
@ -10,13 +10,14 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR})
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
add_compile_options(/MP /W4)
|
add_compile_options(/MP /W4 /nologo)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(code/common code/vendors code/vendors/flecs)
|
include_directories(code/common code/vendors code/vendors/flecs)
|
||||||
|
|
||||||
|
include(cmake/FindRaylib.cmake)
|
||||||
|
|
||||||
add_subdirectory(code/modules)
|
add_subdirectory(code/modules)
|
||||||
add_subdirectory(code/common)
|
|
||||||
add_subdirectory(code/vendors)
|
add_subdirectory(code/vendors)
|
||||||
|
|
||||||
add_subdirectory(code/game)
|
add_subdirectory(code/game)
|
||||||
|
|
|
@ -8,11 +8,6 @@ function(link_system_libs target_name)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
macro(populate_pkt_srcs)
|
|
||||||
file(GLOB PKT_SRCS ../common/packets/*.h ../common/packets/*.c)
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
|
|
||||||
macro(use_cxx11)
|
macro(use_cxx11)
|
||||||
if (CMAKE_VERSION VERSION_LESS "3.1")
|
if (CMAKE_VERSION VERSION_LESS "3.1")
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
file(GLOB SRCS *.h *.c packets/*.h world/*.h)
|
|
||||||
set(SRCS ${SRCS}
|
|
||||||
world/blocks.c
|
|
||||||
world/perlin.c
|
|
||||||
world/world.c
|
|
||||||
|
|
||||||
world/worldgen/worldgen_test.c
|
|
||||||
)
|
|
||||||
include_directories(../modules . world)
|
|
||||||
add_library(eco2d-common STATIC ${SRCS})
|
|
|
@ -1,4 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#define ATLAS_STRIDE 10
|
|
||||||
#define ATLAS_XY(x,y) ((y*ATLAS_STRIDE)+x)
|
|
|
@ -1,10 +0,0 @@
|
||||||
#include "atlas_shared.h"
|
|
||||||
#include "world/blocks.h"
|
|
||||||
|
|
||||||
static block blocks[] = {
|
|
||||||
{.tex_id = ATLAS_XY(0, 0), .name = "base-ground", .flags = 0, .kind = BLOCK_KIND_GROUND, .biome = 0, .symbol = '.'},
|
|
||||||
{.tex_id = ATLAS_XY(1, 0), .name = "base-wall", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_WALL, .biome = 0, .symbol = '#'},
|
|
||||||
{.tex_id = ATLAS_XY(2, 0), .name = "base-hill", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_HILL, .biome = 0, .symbol = '^'},
|
|
||||||
{.tex_id = ATLAS_XY(3, 0), .name = "base-hill-snow", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_HILL_SNOW, .biome = 0, .symbol = '*'},
|
|
||||||
{.tex_id = ATLAS_XY(0, 1), .name = "base-water", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_WATER, .biome = 0, .symbol = '~'},
|
|
||||||
};
|
|
|
@ -1,6 +1,5 @@
|
||||||
include(FindRaylib.cmake)
|
file(GLOB PKT_SRCS ../game/header/packets/*.h ../game/source/packets/*.c)
|
||||||
|
|
||||||
populate_pkt_srcs()
|
|
||||||
add_executable(eco2d
|
add_executable(eco2d
|
||||||
source/platform_raylib.c
|
source/platform_raylib.c
|
||||||
source/main.c
|
source/main.c
|
||||||
|
@ -11,14 +10,29 @@ add_executable(eco2d
|
||||||
source/world_view.c
|
source/world_view.c
|
||||||
source/prediction.c
|
source/prediction.c
|
||||||
|
|
||||||
|
source/assets.c
|
||||||
|
source/compress.c
|
||||||
|
source/entity.c
|
||||||
|
source/entity_view.c
|
||||||
|
source/packet.c
|
||||||
|
source/player.c
|
||||||
|
source/signal_handling.c
|
||||||
|
|
||||||
source/utils/options.c
|
source/utils/options.c
|
||||||
|
|
||||||
header/network.h
|
header/network.h
|
||||||
|
|
||||||
|
source/world/blocks.c
|
||||||
|
source/world/perlin.c
|
||||||
|
source/world/world.c
|
||||||
|
|
||||||
|
source/world/worldgen/worldgen_test.c
|
||||||
|
|
||||||
${PKT_SRCS}
|
${PKT_SRCS}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_definitions(eco2d PRIVATE CLIENT)
|
target_compile_definitions(eco2d PRIVATE CLIENT)
|
||||||
include_directories(header ../modules)
|
include_directories(header ../modules)
|
||||||
target_link_libraries(eco2d raylib cwpack eco2d-common eco2d-modules flecs-bundle)
|
target_link_libraries(eco2d raylib cwpack eco2d-modules flecs-bundle)
|
||||||
|
|
||||||
link_system_libs(eco2d)
|
link_system_libs(eco2d)
|
||||||
|
|
|
@ -12,7 +12,6 @@ typedef enum {
|
||||||
uint8_t blocks_find(uint32_t biome, uint32_t kind);
|
uint8_t blocks_find(uint32_t biome, uint32_t kind);
|
||||||
|
|
||||||
char *blocks_get_name(uint8_t id);
|
char *blocks_get_name(uint8_t id);
|
||||||
uint8_t blocks_get_tex_id(uint8_t id);
|
|
||||||
char blocks_get_symbol(uint8_t id);
|
char blocks_get_symbol(uint8_t id);
|
||||||
uint32_t blocks_get_flags(uint8_t id);
|
uint32_t blocks_get_flags(uint8_t id);
|
||||||
uint32_t blocks_get_biome(uint8_t id);
|
uint32_t blocks_get_biome(uint8_t id);
|
|
@ -2,7 +2,7 @@
|
||||||
#include "flecs/flecs.h"
|
#include "flecs/flecs.h"
|
||||||
#include "flecs/flecs_meta.h"
|
#include "flecs/flecs_meta.h"
|
||||||
#include "librg.h"
|
#include "librg.h"
|
||||||
#include "world.h"
|
#include "world/world.h"
|
||||||
|
|
||||||
#include "modules/general.h"
|
#include "modules/general.h"
|
||||||
#include "modules/controllers.h"
|
#include "modules/controllers.h"
|
|
@ -3,7 +3,7 @@
|
||||||
#include "flecs/flecs.h"
|
#include "flecs/flecs.h"
|
||||||
#include "flecs/flecs_meta.h"
|
#include "flecs/flecs_meta.h"
|
||||||
#include "librg.h"
|
#include "librg.h"
|
||||||
#include "world.h"
|
#include "world/world.h"
|
||||||
|
|
||||||
#include "modules/general.h"
|
#include "modules/general.h"
|
||||||
#include "modules/controllers.h"
|
#include "modules/controllers.h"
|
|
@ -1,23 +1,25 @@
|
||||||
|
#define ZPL_PICO
|
||||||
#include "zpl.h"
|
#include "zpl.h"
|
||||||
#include "world/blocks.h"
|
#include "world/blocks.h"
|
||||||
|
#include "raylib.h"
|
||||||
// todo: csv parsing + utils
|
|
||||||
|
|
||||||
#define BLOCKS_COUNT (sizeof(blocks)/sizeof(block))
|
#define BLOCKS_COUNT (sizeof(blocks)/sizeof(block))
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t tex_id;
|
|
||||||
char *name;
|
char *name;
|
||||||
uint32_t flags;
|
uint32_t flags;
|
||||||
uint32_t kind;
|
uint32_t kind;
|
||||||
uint32_t biome;
|
uint32_t biome;
|
||||||
char symbol;
|
char symbol;
|
||||||
|
|
||||||
|
// NOTE(zaklaus): viewer data
|
||||||
|
Image tex;
|
||||||
} block;
|
} block;
|
||||||
|
|
||||||
#include "blocks_list.c"
|
#include "blocks_list.c"
|
||||||
|
|
||||||
uint8_t blocks_find(uint32_t biome, uint32_t kind) {
|
uint8_t blocks_find(uint32_t biome, uint32_t kind) {
|
||||||
for (int i=0; i<BLOCKS_COUNT; i++) {
|
for (uint32_t i=0; i<BLOCKS_COUNT; i++) {
|
||||||
if (blocks[i].biome == biome && blocks[i].kind == kind)
|
if (blocks[i].biome == biome && blocks[i].kind == kind)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
@ -28,10 +30,6 @@ char *blocks_get_name(uint8_t id) {
|
||||||
return blocks[id].name;
|
return blocks[id].name;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t blocks_get_tex_id(uint8_t id) {
|
|
||||||
return blocks[id].tex_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
char blocks_get_symbol(uint8_t id) {
|
char blocks_get_symbol(uint8_t id) {
|
||||||
return blocks[id].symbol;
|
return blocks[id].symbol;
|
||||||
}
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
#include "world/blocks.h"
|
||||||
|
|
||||||
|
static block blocks[] = {
|
||||||
|
{.name = "base-ground", .flags = 0, .kind = BLOCK_KIND_GROUND, .biome = 0, .symbol = '.'},
|
||||||
|
{.name = "base-wall", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_WALL, .biome = 0, .symbol = '#'},
|
||||||
|
{.name = "base-hill", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_HILL, .biome = 0, .symbol = '^'},
|
||||||
|
{.name = "base-hill-snow", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_HILL_SNOW, .biome = 0, .symbol = '*'},
|
||||||
|
{.name = "base-water", .flags = BLOCK_FLAG_COLLISION, .kind = BLOCK_KIND_WATER, .biome = 0, .symbol = '~'},
|
||||||
|
};
|
|
@ -5,7 +5,7 @@
|
||||||
#include "modules/physics.h"
|
#include "modules/physics.h"
|
||||||
#include "world/world.h"
|
#include "world/world.h"
|
||||||
#include "entity_view.h"
|
#include "entity_view.h"
|
||||||
#include "worldgen/worldgen.h"
|
#include "world/worldgen/worldgen.h"
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#include "packets/pkt_send_librg_update.h"
|
#include "packets/pkt_send_librg_update.h"
|
|
@ -1,3 +1,3 @@
|
||||||
file(GLOB MODULES modules/*.h source/*.c)
|
file(GLOB MODULES modules/*.h source/*.c)
|
||||||
add_library(eco2d-modules STATIC ${MODULES})
|
add_library(eco2d-modules STATIC ${MODULES})
|
||||||
include_directories(.)
|
include_directories(. ../game/header)
|
||||||
|
|
Loading…
Reference in New Issue