diff --git a/build/genie.lua b/build/genie.lua index 5ee501c..dfb34bf 100644 --- a/build/genie.lua +++ b/build/genie.lua @@ -6,16 +6,18 @@ solution "Symmetry" includedirs {"../include/"} configuration {"linux"} - postbuildcommands {"ln -fs /mnt/Dev/Projects/symmetry/assets debug/"} - postbuildcommands {"ln -fs /mnt/Dev/Projects/symmetry/assets release/"} + postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets debug/assets"} + postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets release/assets"} buildoptions {"-Wall", "-std=c99"} + configuration {"windows", "gmake"} + postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets debug/assets"} + postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets release/assets"} + buildoptions {"-Wall", "-std=c99"} - configuration {"windows"} + configuration {"windows", "vs2017 or qbs"} includedirs {"../third_party/windows/SDL2-2.0.5/include/", "../third_party/windows/OpenAL/include/"} - -- postbuildcommands {"mklink /D debug\\assets ..\\..\\..\\assets"} - -- postbuildcommands {"mklink /D release\\assets ..\\..\\..\\assets"} local sdl_lib_dir = "../third_party/windows/SDL2-2.0.5/lib/x64/" local openal_lib_dir = "../third_party/windows/OpenAL/lib/" @@ -23,7 +25,7 @@ solution "Symmetry" defines {"_CRT_SECURE_NO_WARNINGS"} flags {"NoIncrementalLink", "NoEditAndContinue"} - configuration "Debug" + configuration "Debug" if (_ACTION ~= nil and _ACTION ~= "postbuild_copy") then os.mkdir(_ACTION .. "/debug") targetdir (_ACTION .. "/debug") @@ -31,7 +33,7 @@ solution "Symmetry" defines { "DEBUG" } flags { "Symbols" } - configuration "Release" + configuration "Release" if (_ACTION ~= nil and _ACTION ~= "postbuild_copy") then os.mkdir(_ACTION .. "/release") targetdir (_ACTION .. "/release") @@ -54,7 +56,12 @@ solution "Symmetry" linkoptions {"`pkg-config --libs sdl2 openal`"} links {"m"} - configuration "windows" + configuration {"windows", "gmake"} + buildoptions {"`pkg-config --cflags-only-I sdl2 openal`"} + linkoptions {"`pkg-config --libs sdl2 openal`"} + links {"m"} + + configuration {"windows", "vs2017 or qbs"} libdirs { sdl_lib_dir, openal_lib_dir } links {"SDL2", "OpenAL32"} @@ -116,5 +123,8 @@ solution "Symmetry" defines {"GAME_LIB"} files { "../src/common/**.c", "../src/common/**.h", "../src/libsymmetry/**.h", "../src/libsymmetry/**.c" } + configuration {"windows", "gmake"} + buildoptions {"`pkg-config --cflags-only-I sdl2`"} + configuration "Debug" defines {"GL_DEBUG_CONTEXT", "AL_DEBUG"} diff --git a/src/common/common.h b/src/common/common.h index 910aec3..0c00c13 100644 --- a/src/common/common.h +++ b/src/common/common.h @@ -74,6 +74,8 @@ struct File_Api { char* (*read)(const int directory_type, const char* path, const char* mode, long* file_size); FILE* (*open)(const int directory_type, const char* path, const char* mode); + bool (*copy)(const int directory_type, const char* source, const char* destination); + bool (*delete)(const int directory_type, const char* filename); }; struct Config_Api diff --git a/src/game/main.c b/src/game/main.c index ce91c16..57b177b 100644 --- a/src/game/main.c +++ b/src/game/main.c @@ -89,8 +89,10 @@ int main(int argc, char** args) }, .file = { - .read = &io_file_read, - .open = &io_file_open + .read = &io_file_read, + .open = &io_file_open, + .copy = &io_file_copy, + .delete = &io_file_delete }, .config = { diff --git a/src/game/platform.c b/src/game/platform.c index 9f5756f..61fa319 100644 --- a/src/game/platform.c +++ b/src/game/platform.c @@ -4,11 +4,7 @@ #include "../common/hashmap.h" #include "../common/string_utils.h" -#if defined(_MSC_VER) - #include -#else - #include -#endif +#include #include #include diff --git a/src/libsymmetry/game.c b/src/libsymmetry/game.c index 1d35104..bde8b2c 100644 --- a/src/libsymmetry/game.c +++ b/src/libsymmetry/game.c @@ -29,8 +29,10 @@ #include "../common/common.h" #define UNUSED(a) (void)a -//#define MIN(a,b) ((a) < (b) ? (a) : (b)) -//#define MAX(a,b) ((a) < (b) ? (b) : (a)) +#ifndef _MSC_VER +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#define MAX(a,b) ((a) < (b) ? (b) : (a)) +#endif #define LEN(a) (sizeof(a)/sizeof(a)[0]) @@ -125,16 +127,16 @@ void scene_setup(void) vec3 scale = {1, 1, 1}; transform_scale(new_ent, &scale); - struct Entity* sound_ent = scene_add_as_child("Sound_ENT", ET_SOUND_SOURCE, new_ent->id); - struct Sound_Source* sound_source = &sound_ent->sound_source; - platform->sound.source_create(true, 1, &sound_source->source_handle, &sound_source->buffer_handles[0]); - platform->sound.source_load_wav(sound_source->source_handle, - sound_source->buffer_handles[0], - "BigExplosion.wav"); - //sound_source_relative_set(source, true); - platform->sound.source_volume_set(sound_source->source_handle, 1.f); - platform->sound.source_loop_set(sound_source->source_handle, true); - platform->sound.source_play(sound_source->source_handle); + /* struct Entity* sound_ent = scene_add_as_child("Sound_ENT", ET_SOUND_SOURCE, new_ent->id); */ + /* struct Sound_Source* sound_source = &sound_ent->sound_source; */ + /* platform->sound.source_create(true, 1, &sound_source->source_handle, &sound_source->buffer_handles[0]); */ + /* platform->sound.source_load_wav(sound_source->source_handle, */ + /* sound_source->buffer_handles[0], */ + /* "BigExplosion.wav"); */ + /* //sound_source_relative_set(source, true); */ + /* platform->sound.source_volume_set(sound_source->source_handle, 1.f); */ + /* platform->sound.source_loop_set(sound_source->source_handle, true); */ + /* platform->sound.source_play(sound_source->source_handle); */ int parent_node = new_ent->id; int num_suz = 10; diff --git a/src/libsymmetry/input.h b/src/libsymmetry/input.h index 86d6f29..1475f11 100644 --- a/src/libsymmetry/input.h +++ b/src/libsymmetry/input.h @@ -4,11 +4,7 @@ #include #include "../common/num_types.h" -#if defined(_MSC_VER) - #include -#else - #include -#endif +#include struct Key_Combination {