mirror of
https://github.com/nishiowo/nishbox
synced 2025-04-22 04:34:38 +00:00
Compare commits
12 Commits
03290d0553
...
85cc050bbb
Author | SHA1 | Date | |
---|---|---|---|
![]() |
85cc050bbb | ||
![]() |
8a35bfbf18 | ||
![]() |
cecf28c5d8 | ||
![]() |
900a9dfdbe | ||
![]() |
d10dfae688 | ||
![]() |
3a5cdf8bf0 | ||
![]() |
5c9686b702 | ||
![]() |
0255759a3a | ||
![]() |
52e0f0d89f | ||
![]() |
c8dda2f4cf | ||
![]() |
7d7fac1ca1 | ||
![]() |
2c15b8bdb2 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -16,4 +16,5 @@ Makefile
|
||||
/build
|
||||
/engine/obj
|
||||
/engine/lib
|
||||
/engine/bin
|
||||
/engine/doc
|
||||
|
@ -7,8 +7,7 @@ EXTRACT_ALL = NO
|
||||
RECURSIVE = YES
|
||||
|
||||
FILE_PATTERNS = *.c *.h
|
||||
INPUT = . include graphic README.md
|
||||
EXCLUDE_PATTERNS = external
|
||||
INPUT = src include graphic README.md
|
||||
|
||||
SOURCE_BROWSER = YES
|
||||
HTML_DYNAMIC_MENUS = YES
|
||||
@ -16,7 +15,7 @@ GENERATE_TREEVIEW = YES
|
||||
FULL_SIDEBAR = NO
|
||||
DISABLE_INDEX = NO
|
||||
HAVE_DOT = NO
|
||||
PROJECT_LOGO = "goldfish.png"
|
||||
PROJECT_LOGO = "images/goldfish.png"
|
||||
PROJECT_BRIEF = "Quite simple and lightweight game engine"
|
||||
GENERATE_MAN = NO
|
||||
USE_MDFILE_AS_MAINPAGE = "README.md"
|
||||
|
@ -1,5 +1,3 @@
|
||||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,0,0,0
|
||||
BEGIN
|
||||
@ -8,8 +6,8 @@ BEGIN
|
||||
BLOCK "040904E4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "GoldFish contributors\0"
|
||||
VALUE "FileDescription", "GoldFish Engine\0"
|
||||
VALUE "LegalCopyright", "Public domain, original by GoldFish contributors\0"
|
||||
VALUE "FileDescription", FILE_DESCRIPTION
|
||||
VALUE "LegalCopyright", "3-clause BSD\0"
|
||||
VALUE "FileVersion", "0.0.0.0\0"
|
||||
VALUE "ProductName", "GoldFish Engine\0"
|
||||
END
|
1
engine/external/jar/jar_mod.h
vendored
1
engine/external/jar/jar_mod.h
vendored
@ -1260,7 +1260,6 @@ void jar_mod_fillbuffer(jar_mod_context_t* modctx, gf_int16_t* outbuffer, unsign
|
||||
modctx->last_l_sample = ll;
|
||||
modctx->last_r_sample = lr;
|
||||
|
||||
skip:;
|
||||
modctx->samplenb = modctx->samplenb + nbsample;
|
||||
} else {
|
||||
for(i = 0; i < nbsample; i++) {
|
||||
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@ -17,6 +17,7 @@
|
||||
#include <gf_type/draw.h>
|
||||
|
||||
/* Standard */
|
||||
#include <stddef.h>
|
||||
|
||||
/**
|
||||
* @~english
|
||||
@ -27,6 +28,17 @@
|
||||
*/
|
||||
GF_EXPORT gf_font_glyph_t* gf_font_get(gf_font_t* font, int code);
|
||||
|
||||
/**
|
||||
* @~english
|
||||
* @brief Load font
|
||||
* @param draw Drawing interface
|
||||
* @param path Path
|
||||
* @param data Data
|
||||
* @param size Data size
|
||||
* @return Font
|
||||
*/
|
||||
GF_EXPORT gf_font_t* gf_font_create_raw(gf_draw_t* draw, const char* path, const void* data, size_t size);
|
||||
|
||||
/**
|
||||
* @~english
|
||||
* @brief Load font
|
||||
@ -36,4 +48,11 @@ GF_EXPORT gf_font_glyph_t* gf_font_get(gf_font_t* font, int code);
|
||||
*/
|
||||
GF_EXPORT gf_font_t* gf_font_create(gf_draw_t* draw, const char* path);
|
||||
|
||||
/**
|
||||
* @~english
|
||||
* @brief Destroy font
|
||||
* @param font Font
|
||||
*/
|
||||
GF_EXPORT void gf_font_destroy(gf_font_t* font);
|
||||
|
||||
#endif
|
||||
|
@ -43,10 +43,24 @@
|
||||
* @param engine Engine instance
|
||||
* @param draw Drawing interface
|
||||
* @return GUI
|
||||
* @note You should not have to call this - simply use gf_draw_t::gui
|
||||
*/
|
||||
GF_EXPORT gf_gui_t* gf_gui_create(gf_engine_t* engine, gf_draw_t* draw);
|
||||
|
||||
/**
|
||||
* @~english
|
||||
* @brief Destroy GUI
|
||||
* @param gui GUI
|
||||
*/
|
||||
GF_EXPORT void gf_gui_destroy(gf_gui_t* gui);
|
||||
|
||||
/**
|
||||
* @~english
|
||||
* @brief Destroy GUI component by ID
|
||||
* @param gui GUI
|
||||
* @param id Component ID
|
||||
*/
|
||||
GF_EXPORT void gf_gui_destroy_id(gf_gui_t* gui, gf_gui_id_t id);
|
||||
|
||||
/**
|
||||
* @~english
|
||||
* @brief Create button component
|
||||
|
@ -22,6 +22,26 @@ typedef struct gf_font_t gf_font_t;
|
||||
|
||||
/* Standard */
|
||||
|
||||
/**
|
||||
* @struct gf_font_store_t
|
||||
* @~english
|
||||
* @brief Internal struct used for parsing
|
||||
*
|
||||
* @var gf_font_store_t::glyph_index
|
||||
* @brief Current glyph index
|
||||
*
|
||||
* @var gf_font_store_t::glyph_index
|
||||
* @brief Current line index of glyph
|
||||
*
|
||||
* @var gf_font_store_t::buffer
|
||||
* @brief Glyph buffer
|
||||
*/
|
||||
GF_DECLARE_TYPE(font_store, {
|
||||
int glyph_index;
|
||||
int line_index;
|
||||
unsigned char* buffer;
|
||||
});
|
||||
|
||||
/**
|
||||
* @struct gf_font_bbox_t
|
||||
* @~english
|
||||
|
@ -253,155 +253,8 @@ function gf_msvc_filters()
|
||||
filter({})
|
||||
end
|
||||
|
||||
project("GoldFish")
|
||||
filter("options:engine=static")
|
||||
kind("StaticLib")
|
||||
defines({
|
||||
"ODE_LIB",
|
||||
"GF_LIB"
|
||||
})
|
||||
filter("options:engine=dynamic")
|
||||
kind("SharedLib")
|
||||
defines({
|
||||
"ODE_DLL",
|
||||
"GF_DLL"
|
||||
})
|
||||
filter("configurations:Debug")
|
||||
defines({
|
||||
"DEBUG",
|
||||
"_DEBUG"
|
||||
})
|
||||
symbols("On")
|
||||
filter("configurations:Release")
|
||||
defines({
|
||||
"NDEBUG",
|
||||
"dNODEBUG"
|
||||
})
|
||||
optimize("On")
|
||||
gf_msvc_filters()
|
||||
targetdir("lib/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
targetname("goldfish")
|
||||
includedirs({
|
||||
"include",
|
||||
"external/lua",
|
||||
"external/zlib",
|
||||
"external/miniaudio",
|
||||
"external/stb",
|
||||
"external/jar",
|
||||
})
|
||||
files({
|
||||
"include/**.h",
|
||||
"*.c",
|
||||
"external/zlib/*.h",
|
||||
"external/zlib/*.c",
|
||||
"external/lua/l*.h",
|
||||
"external/lua/l*.c",
|
||||
})
|
||||
files({
|
||||
"audio/*.c"
|
||||
})
|
||||
filter({
|
||||
"system:windows",
|
||||
"options:engine=dynamic"
|
||||
})
|
||||
files({
|
||||
"engine.rc"
|
||||
})
|
||||
filter({})
|
||||
removefiles({
|
||||
"external/lua/ltests.c",
|
||||
"external/lua/ltests.h"
|
||||
})
|
||||
removefiles({
|
||||
"external/lua/lua.c"
|
||||
})
|
||||
|
||||
filter("system:windows")
|
||||
files({
|
||||
"thread/win32/gf_thread.c"
|
||||
})
|
||||
filter("system:not windows")
|
||||
files({
|
||||
"thread/posix/gf_thread.c"
|
||||
})
|
||||
filter({})
|
||||
|
||||
-- Begin ODE
|
||||
includedirs({
|
||||
"external/ode/include",
|
||||
"external/ode/ode/src",
|
||||
"external/ode/ode/src/joints",
|
||||
"external/ode/OPCODE",
|
||||
"external/ode/GIMPACT/include",
|
||||
"external/ode/libccd/src/custom",
|
||||
"external/ode/libccd/src"
|
||||
})
|
||||
files({
|
||||
"external/ode/include/ode/*.h",
|
||||
"external/ode/ode/src/joints/*.h",
|
||||
"external/ode/ode/src/joints/*.cpp",
|
||||
"external/ode/ode/src/*.h",
|
||||
"external/ode/ode/src/*.c",
|
||||
"external/ode/ode/src/*.cpp"
|
||||
})
|
||||
removefiles({
|
||||
"external/ode/ode/src/collision_trimesh_trimesh_old.cpp",
|
||||
"external/ode/ode/src/collision_trimesh_opcode.cpp",
|
||||
"external/ode/ode/src/collision_trimesh_disabled.cpp"
|
||||
})
|
||||
|
||||
includedirs({
|
||||
"external/ode/ou/include"
|
||||
})
|
||||
files({
|
||||
"external/ode/ou/include/**.h",
|
||||
"external/ode/ou/src/**.h",
|
||||
"external/ode/ou/src/**.cpp"
|
||||
})
|
||||
defines({
|
||||
"_OU_NAMESPACE=odeou",
|
||||
"_OU_FEATURE_SET=_OU_FEATURE_SET_TLS"
|
||||
})
|
||||
|
||||
files({
|
||||
"external/ode/GIMPACT/**.h",
|
||||
"external/ode/GIMPACT/**.cpp"
|
||||
})
|
||||
|
||||
files({
|
||||
"external/ode/libccd/src/custom/ccdcustom/*.h",
|
||||
"external/ode/libccd/src/ccd/*.h",
|
||||
"external/ode/libccd/src/*.c"
|
||||
})
|
||||
|
||||
defines({
|
||||
"dLIBCCD_ENABLED",
|
||||
"dLIBCCD_INTERNAL",
|
||||
"dLIBCCD_BOX_CYL",
|
||||
"dLIBCCD_CYL_CYL",
|
||||
"dLIBCCD_CAP_CYL",
|
||||
"dLIBCCD_CONVEX_BOX",
|
||||
"dLIBCCD_CONVEX_CAP",
|
||||
"dLIBCCD_CONVEX_CYL",
|
||||
"dLIBCCD_CONVEX_SPHERE",
|
||||
"dLIBCCD_CONVEX_CONVEX"
|
||||
})
|
||||
-- End ODE
|
||||
|
||||
gf_default_stuffs()
|
||||
gf_link_stuffs("options:engine=dynamic")
|
||||
for k,v in pairs(gf_backends) do
|
||||
for k2,v2 in pairs(v["backends"]) do
|
||||
filter({
|
||||
"options:backend=" .. k,
|
||||
"options:" .. k .. "=" .. k2
|
||||
})
|
||||
files({
|
||||
"graphic/" .. k .. "/*.c",
|
||||
"graphic/" .. k .. "/" .. k2 .. "/*.c"
|
||||
})
|
||||
end
|
||||
end
|
||||
include("util")
|
||||
include("src")
|
||||
|
||||
if _ACTION and _ACTION ~= "clean" then
|
||||
local text = ""
|
||||
|
5
engine/src/engine.rc
Normal file
5
engine/src/engine.rc
Normal file
@ -0,0 +1,5 @@
|
||||
#include <windows.h>
|
||||
|
||||
#define FILE_DESCRIPTION "GoldFish Engine"
|
||||
|
||||
#include "../common.rc"
|
@ -27,7 +27,7 @@ void gf_audio_callback(ma_device* dev, void* output, const void* input, ma_uint3
|
||||
float* tmp = malloc(sizeof(*tmp) * frame * 2);
|
||||
int unlocked = 0;
|
||||
|
||||
for(i = 0; i < frame; i++) {
|
||||
for(i = 0; i < (gf_audio_id_t)frame; i++) {
|
||||
tmp[2 * i + 0] = 0;
|
||||
tmp[2 * i + 1] = 0;
|
||||
}
|
||||
@ -54,7 +54,7 @@ void gf_audio_callback(ma_device* dev, void* output, const void* input, ma_uint3
|
||||
int gotframe;
|
||||
float* r = malloc(sizeof(*r) * frame * 2);
|
||||
jar_xm_generate_samples(audio->decoder[i].xm, r, frame);
|
||||
gotframe = audio->decoder[i].samples > frame ? frame : audio->decoder[i].samples;
|
||||
gotframe = audio->decoder[i].samples > (gf_audio_id_t)frame ? frame : audio->decoder[i].samples;
|
||||
for(j = 0; j < gotframe; j++) {
|
||||
tmp[2 * j + 0] += (double)r[2 * j + 0];
|
||||
tmp[2 * j + 1] += (double)r[2 * j + 1];
|
||||
@ -71,7 +71,7 @@ void gf_audio_callback(ma_device* dev, void* output, const void* input, ma_uint3
|
||||
int gotframe;
|
||||
ma_int16* r = malloc(sizeof(*r) * frame * 2);
|
||||
jar_mod_fillbuffer(audio->decoder[i].mod, r, frame, NULL);
|
||||
gotframe = audio->decoder[i].samples > frame ? frame : audio->decoder[i].samples;
|
||||
gotframe = audio->decoder[i].samples > (gf_audio_id_t)frame ? frame : audio->decoder[i].samples;
|
||||
for(j = 0; j < gotframe; j++) {
|
||||
tmp[2 * j + 0] += (double)r[2 * j + 0] / 32768.0;
|
||||
tmp[2 * j + 1] += (double)r[2 * j + 1] / 32768.0;
|
||||
@ -87,7 +87,7 @@ void gf_audio_callback(ma_device* dev, void* output, const void* input, ma_uint3
|
||||
}
|
||||
if(!unlocked) ma_mutex_unlock(audio->mutex);
|
||||
|
||||
for(i = 0; i < frame; i++) {
|
||||
for(i = 0; i < (gf_audio_id_t)frame; i++) {
|
||||
out[2 * i + 0] = tmp[2 * i + 0] * 32768;
|
||||
out[2 * i + 1] = tmp[2 * i + 1] * 32768;
|
||||
}
|
||||
@ -106,7 +106,7 @@ gf_audio_id_t gf_audio_load(gf_audio_t* audio, const void* data, size_t size) {
|
||||
int j;
|
||||
int mod_sig_cond = 0;
|
||||
for(j = 0; j < sizeof(gf_audio_mod_sig) / sizeof(gf_audio_mod_sig[0]); j++) {
|
||||
mod_sig_cond = mod_sig_cond || (memcmp(data + 1080, gf_audio_mod_sig[j], 4) == 0);
|
||||
mod_sig_cond = mod_sig_cond || (memcmp((char*)data + 1080, gf_audio_mod_sig[j], 4) == 0);
|
||||
}
|
||||
mod_cond = mod_cond && mod_sig_cond;
|
||||
}
|
@ -128,6 +128,9 @@ int gf_draw_step(gf_draw_t* draw) {
|
||||
}
|
||||
|
||||
void gf_draw_destroy(gf_draw_t* draw) {
|
||||
if(draw->font != NULL) {
|
||||
gf_font_destroy(draw->font);
|
||||
}
|
||||
if(draw->driver != NULL) gf_draw_driver_destroy(draw->driver);
|
||||
if(draw->platform != NULL) gf_draw_platform_destroy(draw->platform);
|
||||
gf_log_function(draw->engine, "Destroyed drawing interface", "");
|
@ -34,12 +34,6 @@ gf_font_glyph_t* gf_font_get(gf_font_t* font, int code) {
|
||||
#define gf_stat stat
|
||||
#endif
|
||||
|
||||
GF_DECLARE_TYPE(font_store, {
|
||||
int glyph_index;
|
||||
int line_index;
|
||||
unsigned char* buffer;
|
||||
});
|
||||
|
||||
/**
|
||||
* This is a private method to parse BDF line
|
||||
*/
|
||||
@ -138,27 +132,19 @@ void gf_font_parse_line(gf_draw_t* draw, const char* path, gf_font_store_t* stor
|
||||
}
|
||||
}
|
||||
|
||||
gf_font_t* gf_font_create(gf_draw_t* draw, const char* path) {
|
||||
gf_font_t* gf_font_create_raw(gf_draw_t* draw, const char* path, const void* data, size_t size) {
|
||||
gf_font_t* font = malloc(sizeof(*font));
|
||||
struct gf_stat s;
|
||||
char* buf;
|
||||
FILE* f;
|
||||
int i = 0;
|
||||
int incr = 0;
|
||||
gf_font_store_t store;
|
||||
store.line_index = -1;
|
||||
store.glyph_index = 0;
|
||||
memset(font, 0, sizeof(*font));
|
||||
if(gf_stat(path, &s) != 0) {
|
||||
free(font);
|
||||
return NULL;
|
||||
}
|
||||
gf_log_function(NULL, "%s: %lu bytes", path, (unsigned long)s.st_size);
|
||||
buf = malloc(s.st_size + 1);
|
||||
buf[s.st_size] = 0;
|
||||
f = fopen(path, "r");
|
||||
fread(buf, s.st_size, 1, f);
|
||||
fclose(f);
|
||||
|
||||
buf = malloc(size + 1);
|
||||
buf[size] = 0;
|
||||
memcpy(buf, data, size);
|
||||
|
||||
for(i = 0;; i++) {
|
||||
if(buf[i] == 0 || buf[i] == '\n') {
|
||||
@ -176,3 +162,34 @@ gf_font_t* gf_font_create(gf_draw_t* draw, const char* path) {
|
||||
free(buf);
|
||||
return font;
|
||||
}
|
||||
|
||||
gf_font_t* gf_font_create(gf_draw_t* draw, const char* path) {
|
||||
FILE* f;
|
||||
struct gf_stat s;
|
||||
char* buf;
|
||||
gf_font_t* font;
|
||||
if(gf_stat(path, &s) != 0) {
|
||||
return NULL;
|
||||
}
|
||||
gf_log_function(NULL, "%s: %lu bytes", path, (unsigned long)s.st_size);
|
||||
buf = malloc(s.st_size + 1);
|
||||
buf[s.st_size] = 0;
|
||||
f = fopen(path, "r");
|
||||
fread(buf, s.st_size, 1, f);
|
||||
fclose(f);
|
||||
|
||||
font = gf_font_create_raw(draw, path, buf, s.st_size);
|
||||
|
||||
free(buf);
|
||||
|
||||
return font;
|
||||
}
|
||||
|
||||
void gf_font_destroy(gf_font_t* font) {
|
||||
int i;
|
||||
for(i = 0; i < font->count; i++) {
|
||||
gf_texture_destroy(font->glyph[i]->texture);
|
||||
}
|
||||
free(font->glyph);
|
||||
free(font);
|
||||
}
|
@ -40,6 +40,26 @@ gf_gui_t* gf_gui_create(gf_engine_t* engine, gf_draw_t* draw) {
|
||||
return gui;
|
||||
}
|
||||
|
||||
void gf_gui_destroy(gf_gui_t* gui) {
|
||||
gf_gui_id_t i;
|
||||
for(i = 0; i < GF_GUI_MAX_COMPONENTS; i++) {
|
||||
gf_gui_destroy_id(gui, i);
|
||||
}
|
||||
gf_log_function(gui->engine, "Destroyed GUI", "");
|
||||
free(gui);
|
||||
}
|
||||
|
||||
void gf_gui_destroy_id(gf_gui_t* gui, gf_gui_id_t id) {
|
||||
gf_gui_component_t* c = &gui->area[id];
|
||||
switch(c->type) {
|
||||
case GF_GUI_BUTTON: {
|
||||
if(c->u.button.text != NULL) free(c->u.button.text);
|
||||
c->u.button.text = NULL;
|
||||
}
|
||||
}
|
||||
c->type = GF_GUI_UNUSED;
|
||||
}
|
||||
|
||||
/* note... left top should be the lightest in the border */
|
||||
|
||||
void gf_gui_draw_box(gf_gui_t* gui, int mul, double x, double y, double w, double h) {
|
150
engine/src/premake5.lua
Normal file
150
engine/src/premake5.lua
Normal file
@ -0,0 +1,150 @@
|
||||
project("GoldFish")
|
||||
filter("options:engine=static")
|
||||
kind("StaticLib")
|
||||
defines({
|
||||
"ODE_LIB",
|
||||
"GF_LIB"
|
||||
})
|
||||
filter("options:engine=dynamic")
|
||||
kind("SharedLib")
|
||||
defines({
|
||||
"ODE_DLL",
|
||||
"GF_DLL"
|
||||
})
|
||||
filter("configurations:Debug")
|
||||
defines({
|
||||
"DEBUG",
|
||||
"_DEBUG"
|
||||
})
|
||||
symbols("On")
|
||||
filter("configurations:Release")
|
||||
defines({
|
||||
"NDEBUG",
|
||||
"dNODEBUG"
|
||||
})
|
||||
optimize("On")
|
||||
gf_msvc_filters()
|
||||
targetdir("../lib/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
objdir("../obj")
|
||||
targetname("goldfish")
|
||||
includedirs({
|
||||
"../include",
|
||||
"../external/lua",
|
||||
"../external/zlib",
|
||||
"../external/miniaudio",
|
||||
"../external/stb",
|
||||
"../external/jar",
|
||||
})
|
||||
files({
|
||||
"../include/**.h",
|
||||
"*.c",
|
||||
"../external/zlib/*.h",
|
||||
"../external/zlib/*.c",
|
||||
"../external/lua/l*.h",
|
||||
"../external/lua/l*.c",
|
||||
})
|
||||
files({
|
||||
"audio/*.c"
|
||||
})
|
||||
filter({
|
||||
"system:windows",
|
||||
"options:engine=dynamic"
|
||||
})
|
||||
files({
|
||||
"engine.rc"
|
||||
})
|
||||
filter({})
|
||||
removefiles({
|
||||
"../external/lua/ltests.c",
|
||||
"../external/lua/ltests.h"
|
||||
})
|
||||
removefiles({
|
||||
"../external/lua/lua.c"
|
||||
})
|
||||
|
||||
filter("system:windows")
|
||||
files({
|
||||
"thread/win32/gf_thread.c"
|
||||
})
|
||||
filter("system:not windows")
|
||||
files({
|
||||
"thread/posix/gf_thread.c"
|
||||
})
|
||||
filter({})
|
||||
|
||||
-- Begin ODE
|
||||
includedirs({
|
||||
"../external/ode/include",
|
||||
"../external/ode/ode/src",
|
||||
"../external/ode/ode/src/joints",
|
||||
"../external/ode/OPCODE",
|
||||
"../external/ode/GIMPACT/include",
|
||||
"../external/ode/libccd/src/custom",
|
||||
"../external/ode/libccd/src"
|
||||
})
|
||||
files({
|
||||
"../external/ode/include/ode/*.h",
|
||||
"../external/ode/ode/src/joints/*.h",
|
||||
"../external/ode/ode/src/joints/*.cpp",
|
||||
"../external/ode/ode/src/*.h",
|
||||
"../external/ode/ode/src/*.c",
|
||||
"../external/ode/ode/src/*.cpp"
|
||||
})
|
||||
removefiles({
|
||||
"../external/ode/ode/src/collision_trimesh_trimesh_old.cpp",
|
||||
"../external/ode/ode/src/collision_trimesh_opcode.cpp",
|
||||
"../external/ode/ode/src/collision_trimesh_disabled.cpp"
|
||||
})
|
||||
|
||||
includedirs({
|
||||
"../external/ode/ou/include"
|
||||
})
|
||||
files({
|
||||
"../external/ode/ou/include/**.h",
|
||||
"../external/ode/ou/src/**.h",
|
||||
"../external/ode/ou/src/**.cpp"
|
||||
})
|
||||
defines({
|
||||
"_OU_NAMESPACE=odeou",
|
||||
"_OU_FEATURE_SET=_OU_FEATURE_SET_TLS"
|
||||
})
|
||||
|
||||
files({
|
||||
"../external/ode/GIMPACT/**.h",
|
||||
"../external/ode/GIMPACT/**.cpp"
|
||||
})
|
||||
|
||||
files({
|
||||
"../external/ode/libccd/src/custom/ccdcustom/*.h",
|
||||
"../external/ode/libccd/src/ccd/*.h",
|
||||
"../external/ode/libccd/src/*.c"
|
||||
})
|
||||
|
||||
defines({
|
||||
"dLIBCCD_ENABLED",
|
||||
"dLIBCCD_INTERNAL",
|
||||
"dLIBCCD_BOX_CYL",
|
||||
"dLIBCCD_CYL_CYL",
|
||||
"dLIBCCD_CAP_CYL",
|
||||
"dLIBCCD_CONVEX_BOX",
|
||||
"dLIBCCD_CONVEX_CAP",
|
||||
"dLIBCCD_CONVEX_CYL",
|
||||
"dLIBCCD_CONVEX_SPHERE",
|
||||
"dLIBCCD_CONVEX_CONVEX"
|
||||
})
|
||||
-- End ODE
|
||||
|
||||
gf_default_stuffs()
|
||||
gf_link_stuffs("options:engine=dynamic")
|
||||
for k,v in pairs(gf_backends) do
|
||||
for k2,v2 in pairs(v["backends"]) do
|
||||
filter({
|
||||
"options:backend=" .. k,
|
||||
"options:" .. k .. "=" .. k2
|
||||
})
|
||||
files({
|
||||
"graphic/" .. k .. "/*.c",
|
||||
"graphic/" .. k .. "/" .. k2 .. "/*.c"
|
||||
})
|
||||
end
|
||||
end
|
8
engine/util/engineinfo/engineinfo.rc
Normal file
8
engine/util/engineinfo/engineinfo.rc
Normal file
@ -0,0 +1,8 @@
|
||||
#include <windows.h>
|
||||
|
||||
#define FILE_DESCRIPTION "GoldFish Engine Info"
|
||||
|
||||
GAME ICON "../images/goldfish.ico"
|
||||
GOLDFISH_BMP BITMAP "../images/goldfish.bmp"
|
||||
|
||||
#include "../../common.rc"
|
8
engine/util/pack/pack.c
Normal file
8
engine/util/pack/pack.c
Normal file
@ -0,0 +1,8 @@
|
||||
/* Engine */
|
||||
|
||||
/* External library */
|
||||
|
||||
/* Standard */
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char** argv) { return 0; }
|
7
engine/util/pack/pack.rc
Normal file
7
engine/util/pack/pack.rc
Normal file
@ -0,0 +1,7 @@
|
||||
#include <windows.h>
|
||||
|
||||
#define FILE_DESCRIPTION "GoldFish Engine Resource Packer"
|
||||
|
||||
GAME ICON "../images/goldfish.ico"
|
||||
|
||||
#include "../../common.rc"
|
75
engine/util/premake5.lua
Normal file
75
engine/util/premake5.lua
Normal file
@ -0,0 +1,75 @@
|
||||
project("Pack")
|
||||
kind("ConsoleApp")
|
||||
filter({})
|
||||
language("C")
|
||||
targetdir("../bin/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
objdir("../obj")
|
||||
targetname("pack")
|
||||
files({
|
||||
"pack/*.c"
|
||||
})
|
||||
-- Call this if you are gonna use my engine...
|
||||
gf_link_stuffs("options:engine=static")
|
||||
filter("system:windows")
|
||||
files({
|
||||
"pack/*.rc"
|
||||
})
|
||||
filter("configurations:Debug")
|
||||
defines({
|
||||
"DEBUG"
|
||||
})
|
||||
symbols("On")
|
||||
filter("configurations:Release")
|
||||
defines({
|
||||
"NDEBUG"
|
||||
})
|
||||
optimize("On")
|
||||
gf_msvc_filters()
|
||||
|
||||
project("EngineInfo")
|
||||
filter("system:windows")
|
||||
kind("WindowedApp")
|
||||
filter("system:not windows")
|
||||
kind("ConsoleApp")
|
||||
filter({})
|
||||
language("C")
|
||||
targetdir("../bin/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
objdir("../obj")
|
||||
targetname("engineinfo")
|
||||
includedirs({
|
||||
"../include"
|
||||
})
|
||||
files({
|
||||
"engineinfo/*.c"
|
||||
})
|
||||
removefiles({
|
||||
"engineinfo/main_windows.c"
|
||||
})
|
||||
filter("system:windows")
|
||||
removefiles({
|
||||
"engineinfo/main_console.c"
|
||||
})
|
||||
files({
|
||||
"engineinfo/main_windows.c"
|
||||
})
|
||||
filter({})
|
||||
links({
|
||||
"GoldFish"
|
||||
})
|
||||
-- Call this if you are gonna use my engine...
|
||||
gf_link_stuffs("options:engine=static")
|
||||
filter("system:windows")
|
||||
files({
|
||||
"engineinfo/*.rc"
|
||||
})
|
||||
filter("configurations:Debug")
|
||||
defines({
|
||||
"DEBUG"
|
||||
})
|
||||
symbols("On")
|
||||
filter("configurations:Release")
|
||||
defines({
|
||||
"NDEBUG"
|
||||
})
|
||||
optimize("On")
|
||||
gf_msvc_filters()
|
47
music/README.txt
Normal file
47
music/README.txt
Normal file
@ -0,0 +1,47 @@
|
||||
Music for NishBox
|
||||
===============================================================================
|
||||
This folder contains music used for NishBox.
|
||||
|
||||
Since these musics are not composed by me, all rights remain with the original
|
||||
composer. If you are the author and would like these removed or credited
|
||||
differently, please contact me.
|
||||
|
||||
dbreed.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : Dying breed
|
||||
Composer: Rasputin
|
||||
|
||||
deep_blue.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : deep blue
|
||||
Composer: mtk
|
||||
|
||||
deep_water_theme.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : deep water theme
|
||||
Composer: Lone Wolf
|
||||
|
||||
grace.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : Grace
|
||||
Composer: aNTiSoCiaL
|
||||
|
||||
mikke-shine.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : Shine Forever
|
||||
Composer: Mikke
|
||||
|
||||
y0da_ctf.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : Chilling the fries
|
||||
Composer: y0da
|
||||
|
||||
y0da_cutoff.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : Cutoff.
|
||||
Composer: y0da
|
||||
|
||||
y0da_mpa.xm
|
||||
-------------------------------------------------------------------------------
|
||||
Title : Mushroom path
|
||||
Composer: y0da
|
BIN
music/dbreed.xm
Normal file
BIN
music/dbreed.xm
Normal file
Binary file not shown.
BIN
music/deep_blue.xm
Normal file
BIN
music/deep_blue.xm
Normal file
Binary file not shown.
BIN
music/deep_water_theme.xm
Normal file
BIN
music/deep_water_theme.xm
Normal file
Binary file not shown.
BIN
music/grace.xm
Normal file
BIN
music/grace.xm
Normal file
Binary file not shown.
BIN
music/mikke-shine.xm
Normal file
BIN
music/mikke-shine.xm
Normal file
Binary file not shown.
31
music/music.ini
Normal file
31
music/music.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[dbreed.xm]
|
||||
title=Dying breed
|
||||
composer=Rasputin
|
||||
|
||||
[deep_blue.xm]
|
||||
title=deep blue
|
||||
composer=mtk
|
||||
|
||||
[deep_water_theme.xm]
|
||||
title=deep water theme
|
||||
composer=Lone Wolf
|
||||
|
||||
[grace.xm]
|
||||
title=Grace
|
||||
composer=aNTiSoCiaL
|
||||
|
||||
[mikke-shine.xm]
|
||||
title=Shine Forever
|
||||
composer=Mikke
|
||||
|
||||
[y0da_ctf.xm]
|
||||
title=Chilling the fries
|
||||
composer=y0da
|
||||
|
||||
[y0da_cutoff.xm]
|
||||
title=Cutoff.
|
||||
composer=y0da
|
||||
|
||||
[y0da_mpa.xm]
|
||||
title=Mushroom path
|
||||
composer=y0da
|
BIN
music/y0da_ctf.xm
Normal file
BIN
music/y0da_ctf.xm
Normal file
Binary file not shown.
BIN
music/y0da_cutoff.xm
Normal file
BIN
music/y0da_cutoff.xm
Normal file
Binary file not shown.
BIN
music/y0da_mpa.xm
Normal file
BIN
music/y0da_mpa.xm
Normal file
Binary file not shown.
57
premake5.lua
57
premake5.lua
@ -1,3 +1,5 @@
|
||||
flags("MultiProcessorCompile")
|
||||
|
||||
workspace("NishBox")
|
||||
configurations({
|
||||
"Debug",
|
||||
@ -32,6 +34,9 @@ newaction({
|
||||
os.rmdir("engine/bin")
|
||||
os.rmdir("engine/obj")
|
||||
os.rmdir("engine/lib")
|
||||
os.rmdir("engine/util/bin")
|
||||
os.rmdir("engine/util/obj")
|
||||
os.rmdir("engine/util/lib")
|
||||
end
|
||||
})
|
||||
|
||||
@ -78,60 +83,11 @@ end
|
||||
|
||||
include "engine"
|
||||
|
||||
project("EngineInfo")
|
||||
filter("system:windows")
|
||||
kind("WindowedApp")
|
||||
filter("system:not windows")
|
||||
kind("ConsoleApp")
|
||||
filter({})
|
||||
language("C")
|
||||
targetdir("bin/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
targetname("nishbox_engineinfo")
|
||||
includedirs({
|
||||
"engine/include"
|
||||
})
|
||||
files({
|
||||
"src/engineinfo/*.c"
|
||||
})
|
||||
removefiles({
|
||||
"src/engineinfo/main_windows.c"
|
||||
})
|
||||
filter("system:windows")
|
||||
removefiles({
|
||||
"src/engineinfo/main_console.c"
|
||||
})
|
||||
files({
|
||||
"src/engineinfo/main_windows.c"
|
||||
})
|
||||
filter({})
|
||||
links({
|
||||
"GoldFish"
|
||||
})
|
||||
-- Call this if you are gonna use my engine...
|
||||
gf_link_stuffs("options:engine=static")
|
||||
filter("system:windows")
|
||||
defines({
|
||||
"FD_ENGINEINFO"
|
||||
})
|
||||
files({
|
||||
"src/*.rc"
|
||||
})
|
||||
filter("configurations:Debug")
|
||||
defines({
|
||||
"DEBUG"
|
||||
})
|
||||
symbols("On")
|
||||
filter("configurations:Release")
|
||||
defines({
|
||||
"NDEBUG"
|
||||
})
|
||||
optimize("On")
|
||||
msvc_filters()
|
||||
|
||||
project("NishBoxServer")
|
||||
kind("ConsoleApp")
|
||||
language("C")
|
||||
targetdir("bin/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
objdir("obj/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
targetname("nishbox_server")
|
||||
includedirs({
|
||||
"engine/include"
|
||||
@ -167,6 +123,7 @@ project("NishBox")
|
||||
kind("ConsoleApp")
|
||||
language("C")
|
||||
targetdir("bin/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
objdir("obj/%{cfg.buildcfg}/%{cfg.platform}")
|
||||
targetname("nishbox")
|
||||
includedirs({
|
||||
"engine/include"
|
||||
|
@ -6,16 +6,8 @@
|
||||
#ifdef FD_SERVER
|
||||
#define FILE_DESCRIPTION "NishBox Dedicated Server\0"
|
||||
#endif
|
||||
#ifdef FD_ENGINEINFO
|
||||
#define FILE_DESCRIPTION "GoldFish Engine Info\0"
|
||||
#endif
|
||||
|
||||
#ifdef FD_ENGINEINFO
|
||||
GAME ICON "./internal/goldfish.ico"
|
||||
#else
|
||||
GAME ICON "./internal/icon.ico"
|
||||
#endif
|
||||
GOLDFISH_BMP BITMAP "./internal/goldfish.bmp"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,0,0,0
|
||||
@ -26,7 +18,7 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "NishBox contributors\0"
|
||||
VALUE "FileDescription", FILE_DESCRIPTION
|
||||
VALUE "LegalCopyright", "Public domain, original by NishBox contributors\0"
|
||||
VALUE "LegalCopyright", "3-clause BSD\0"
|
||||
VALUE "FileVersion", "0.0.0.0\0"
|
||||
VALUE "ProductName", "NishBox Component\0"
|
||||
END
|
||||
|
@ -2,3 +2,13 @@
|
||||
rm -rf obj lib bin *.make Makefile
|
||||
cd engine
|
||||
rm -rf obj lib bin *.make Makefile
|
||||
|
||||
cd src
|
||||
rm -rf obj lib bin *.make Makefile
|
||||
cd ..
|
||||
|
||||
cd util
|
||||
rm -rf obj lib bin *.make Makefile
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
Loading…
x
Reference in New Issue
Block a user