diff --git a/data/manifest.xml b/data/manifest.xml deleted file mode 100644 index af58785..0000000 --- a/data/manifest.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - bang.ogg - - diff --git a/engine/data/manifest.xml b/engine/data/manifest.xml deleted file mode 100644 index 775961e..0000000 --- a/engine/data/manifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - left.png - right.png - front.png - back.png - up.png - down.png - - diff --git a/engine/data/skybox/back.png b/engine/data/skybox/default/back.png similarity index 100% rename from engine/data/skybox/back.png rename to engine/data/skybox/default/back.png diff --git a/engine/data/skybox/down.png b/engine/data/skybox/default/down.png similarity index 100% rename from engine/data/skybox/down.png rename to engine/data/skybox/default/down.png diff --git a/engine/data/skybox/front.png b/engine/data/skybox/default/front.png similarity index 100% rename from engine/data/skybox/front.png rename to engine/data/skybox/default/front.png diff --git a/engine/data/skybox/left.png b/engine/data/skybox/default/left.png similarity index 100% rename from engine/data/skybox/left.png rename to engine/data/skybox/default/left.png diff --git a/engine/data/skybox/right.png b/engine/data/skybox/default/right.png similarity index 100% rename from engine/data/skybox/right.png rename to engine/data/skybox/default/right.png diff --git a/engine/data/skybox/up.png b/engine/data/skybox/default/up.png similarity index 100% rename from engine/data/skybox/up.png rename to engine/data/skybox/default/up.png diff --git a/engine/include/GearSrc/Foundation.h b/engine/include/GearSrc/Foundation.h index 0ffce5c..1f690b4 100644 --- a/engine/include/GearSrc/Foundation.h +++ b/engine/include/GearSrc/Foundation.h @@ -15,6 +15,5 @@ #include #include #include -#include #endif diff --git a/engine/include/GearSrc/SkyBox.h b/engine/include/GearSrc/SkyBox.h index 465dd2f..77d8e6f 100644 --- a/engine/include/GearSrc/SkyBox.h +++ b/engine/include/GearSrc/SkyBox.h @@ -9,6 +9,7 @@ extern "C" { #endif GSDECL GSSkyBox GSSkyBoxOpen(GSClient client, const char* base); +GSDECL GSSkyBox GSSkyBoxTry(GSClient client, const char* name); GSDECL void GSSkyBoxDraw(GSSkyBox skybox); GSDECL void GSSkyBoxClose(GSSkyBox skybox); diff --git a/engine/include/GearSrc/TypeDefs.h b/engine/include/GearSrc/TypeDefs.h index 2ab490f..990d015 100644 --- a/engine/include/GearSrc/TypeDefs.h +++ b/engine/include/GearSrc/TypeDefs.h @@ -74,7 +74,6 @@ typedef void (*GSSleepCallback)(int ms); struct _GSResourceKV { char* key; GSResource value; - GSXML xml; }; #ifdef _GEARSRC diff --git a/engine/include/GearSrc/XML.h b/engine/include/GearSrc/XML.h deleted file mode 100644 index 7ee489d..0000000 --- a/engine/include/GearSrc/XML.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef __GEARSRC_XML_H__ -#define __GEARSRC_XML_H__ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -GSDECL GSXML GSXMLOpen(GSEngine engine, const char* path); -GSDECL void GSXMLClose(GSXML xml); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/engine/src/client.c b/engine/src/client.c index 900bdab..0cef473 100644 --- a/engine/src/client.c +++ b/engine/src/client.c @@ -27,7 +27,7 @@ GSClient GSClientCreate(GSEngine engine) { client->gl = GSGLCreate(client); - client->skybox = GSSkyBoxOpen(client, "base:/skybox"); + client->skybox = GSSkyBoxTry(client, "default"); GSLog(GSLogInfo, "Created client"); diff --git a/engine/src/core.c b/engine/src/core.c index bbb5a27..00737f8 100644 --- a/engine/src/core.c +++ b/engine/src/core.c @@ -5,7 +5,6 @@ #include #include #include -#include #include #include @@ -21,26 +20,8 @@ void GSInit(void) { int GSEngineRegisterResource(GSEngine engine, const char* name, const char* path) { GSResource resource; if((resource = GSResourceOpen(engine, path)) != NULL) { - GSXML xl; - char* s = GSStringConcat(name, ":/manifest.xml"); - int ind; - shput(engine->resource, name, resource); - if((xl = GSXMLOpen(engine, s)) == NULL) { - free(s); - - GSResourceClose(resource); - - shdel(engine->resource, name); - - return 0; - } - free(s); - - ind = shgeti(engine->resource, name); - engine->resource[ind].xml = xl; - return 1; } @@ -95,7 +76,6 @@ GSEngine GSEngineCreate(GSEngineParam* param) { void GSEngineDestroy(GSEngine engine) { int i; for(i = 0; i < shlen(engine->resource); i++) { - GSXMLClose(engine->resource[i].xml); GSResourceClose(engine->resource[i].value); } shfree(engine->resource); diff --git a/engine/src/skybox.c b/engine/src/skybox.c index 573ded3..d713baa 100644 --- a/engine/src/skybox.c +++ b/engine/src/skybox.c @@ -39,6 +39,26 @@ GSSkyBox GSSkyBoxOpen(GSClient client, const char* base) { return skybox; } +GSSkyBox GSSkyBoxTry(GSClient client, const char* name){ + const char* ns[] = {"game", "base"}; + int i; + GSSkyBox sb = NULL; + + for(i = 0; i < 2; i++){ + char* b = GSStringConcat(ns[i], ":/skybox/"); + char* s = GSStringConcat(b, name); + + sb = GSSkyBoxOpen(client, s); + + free(s); + free(b); + + if(sb != NULL) break; + } + + return sb; +} + void GSSkyBoxDraw(GSSkyBox skybox) { GSGL gl = skybox->engine->client->gl; int i; diff --git a/engine/src/xml.c b/engine/src/xml.c deleted file mode 100644 index e83387a..0000000 --- a/engine/src/xml.c +++ /dev/null @@ -1,52 +0,0 @@ -#include - -#include - -typedef struct arg { - GSEngine engine; - const char* path; -} arg_t; - -static int driver_open(xemil_t* handle) { - arg_t* arg = handle->drv_arg; - - if((handle->drv_opaque = GSFileOpen(arg->engine, arg->path)) == NULL) return 0; - - return 1; -} - -static int driver_read(xemil_t* handle, void* data, int size) { - return GSFileRead(handle->drv_opaque, data, size); -} - -static void driver_close(xemil_t* handle) { - GSFileClose(handle->drv_opaque); -} - -static xl_driver_t driver_rec = { - driver_open, - driver_read, - driver_close}; -static xl_driver_t* driver = &driver_rec; - -GSXML GSXMLOpen(GSEngine engine, const char* path) { - arg_t arg; - xemil_t* xl; - - arg.engine = engine; - arg.path = path; - - xl = xl_open(driver, &arg); - if(xl == NULL) return NULL; - if(!xl_parse(xl)) { - xl_close(xl); - - return NULL; - } - - return xl; -} - -void GSXMLClose(GSXML xml) { - xl_close(xml); -}