aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authordrumsetmonkey <abelleisle@roadrunner.com>2016-02-11 08:25:57 -0500
committerdrumsetmonkey <abelleisle@roadrunner.com>2016-02-11 08:25:57 -0500
commita0afc9a192016b2bb4c185895a4082cc965e1179 (patch)
tree949464ae46509c8689890f2d5d55da54860bf14f /include
parente88af920196476ffb5ae182e879f045692cd3ef4 (diff)
Worlds can be themed
Diffstat (limited to 'include')
-rw-r--r--include/Texture.h2
-rw-r--r--include/common.h3
-rw-r--r--include/entities.h4
-rw-r--r--include/world.h21
4 files changed, 26 insertions, 4 deletions
diff --git a/include/Texture.h b/include/Texture.h
index 50681bf..c6376cb 100644
--- a/include/Texture.h
+++ b/include/Texture.h
@@ -33,6 +33,7 @@ namespace Texture{
void initColorIndex();
vec2 getIndex(Color c);
+ dim2 imageDim(const char *fileName);
}
/**
@@ -71,6 +72,7 @@ public:
*/
Texturec(uint amt,const char **paths);
+ Texturec(std::vector<std::string>vec);
/**
* Frees memory taken by the image array.
diff --git a/include/common.h b/include/common.h
index 0a8ba20..34260c9 100644
--- a/include/common.h
+++ b/include/common.h
@@ -234,6 +234,9 @@ const char *readFile(const char *path);
int strCreateFunc(const char *equ);
+template<typename N, size_t s>
+size_t arrAmt(N (&)[s]){return s;}
+
extern void *NULLPTR;
#endif // COMMON_H
diff --git a/include/entities.h b/include/entities.h
index 9cc1b31..05ae64c 100644
--- a/include/entities.h
+++ b/include/entities.h
@@ -26,7 +26,7 @@ enum _TYPE {
enum GENDER{
MALE,
FEMALE,
- NONE
+ TRANSBULLSHIT
};
enum MOB_SUB {
@@ -195,7 +195,9 @@ public:
class Structures : public Entity{
public:
BUILD_SUB bsubtype;
+ World *inWorld;
char *inside;
+ char *textureLoc;
Structures();
~Structures();
diff --git a/include/world.h b/include/world.h
index 47e11f5..43da6fc 100644
--- a/include/world.h
+++ b/include/world.h
@@ -145,7 +145,7 @@ protected:
*/
Texturec *bgTex;
-
+
/**
* Defines the set of background images that should be used for this world.
*/
@@ -163,6 +163,8 @@ protected:
*/
char *bgm;
+ std::vector<std::string>bgFiles;
+ std::vector<std::string>bgFilesIndoors;
public:
@@ -234,7 +236,14 @@ public:
* A vector of all light elements in this world.
*/
- std::vector<Light > light;
+ std::vector<Light > light;
+
+ /**
+ * Vector of all building textures for the current world style
+ */
+
+ std::vector<std::string > sTexLoc;
+
/**
* NULLifies pointers and allocates necessary memory. This should be
@@ -257,7 +266,7 @@ public:
* the structure.
*/
- void addStructure(BUILD_SUB subtype,float x,float y,const char *inside);
+ void addStructure(BUILD_SUB subtype,float x,float y, char* tex, const char *inside);
//void addVillage(int buildingCount, int npcMin, int npcMax,const char *inside);
/**
@@ -343,6 +352,12 @@ public:
*/
void setBGM(const char *path);
+
+ /**
+ * Sets the worlds style folder
+ */
+
+ void setStyle(const char* pre);
/**
* Plays/stops this world's BGM. If `prev` is not NULL, that world's BGM