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);
-}