From ba7df965e73e121820f20e3a0e57631d078c11db Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 12 Feb 2016 08:47:15 -0500 Subject: more saving/loading --- include/entities.h | 5 ++++- include/inventory.h | 2 +- include/world.h | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/entities.h b/include/entities.h index 9cc1b31..d234768 100644 --- a/include/entities.h +++ b/include/entities.h @@ -6,6 +6,8 @@ #include #include +#include + #define DEBUG #define NPCp(n) ((NPC *)n) @@ -175,7 +177,8 @@ public: Player(); ~Player(); - void interact(); + void save(void); + void sspawn(float x,float y); }; class NPC : public Entity{ diff --git a/include/inventory.h b/include/inventory.h index af859a5..8225ab2 100644 --- a/include/inventory.h +++ b/include/inventory.h @@ -31,10 +31,10 @@ struct item_t{ class Inventory { private: - std::vector items; unsigned int size; int os = 0; public: + std::vector items; unsigned int sel; bool invOpen = false; bool invOpening = false; diff --git a/include/world.h b/include/world.h index 47e11f5..0e26ed9 100644 --- a/include/world.h +++ b/include/world.h @@ -342,7 +342,7 @@ public: * playable. */ - void setBGM(const char *path); + void setBGM(std::string path); /** * Plays/stops this world's BGM. If `prev` is not NULL, that world's BGM @@ -439,5 +439,6 @@ extern int worldShade; extern char *currentXML; World *loadWorldFromXML(const char *path); +World *loadWorldFromXMLNoSave(const char *path); #endif // WORLD_H -- cgit v1.2.3 From 0d77d11b708e57546d8267e957230c30bc5d048c Mon Sep 17 00:00:00 2001 From: drumsetmonkey Date: Fri, 19 Feb 2016 00:12:50 -0500 Subject: Everything changes based off of master volume, volume updates in menu --- include/ui.h | 2 -- main.cpp | 2 -- src/config.cpp | 19 ++++++++----------- src/ui.cpp | 15 ++------------- src/world.cpp | 4 ++-- 5 files changed, 12 insertions(+), 30 deletions(-) (limited to 'include') diff --git a/include/ui.h b/include/ui.h index 38a4932..ccc16af 100644 --- a/include/ui.h +++ b/include/ui.h @@ -158,8 +158,6 @@ namespace ui { * Draw various menu items */ void quitGame(); - void quitMenu(); - void optionsMenuF(); void drawMenu(Menu* menu); diff --git a/main.cpp b/main.cpp index 19fe8d4..805fa00 100644 --- a/main.cpp +++ b/main.cpp @@ -377,8 +377,6 @@ int main(/*int argc, char *argv[]*/){ delete[] shaderSource; glEnable(GL_MULTISAMPLE); - - Mix_Volume(0,VOLUME_MASTER); /* * Create all the worlds, entities, mobs, and the player. This function is defined in diff --git a/src/config.cpp b/src/config.cpp index efa2523..72a071d 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -49,25 +49,22 @@ void readConfig(){ if(vol->FirstChildElement("sfx")->QueryFloatAttribute("volume",&fval) == XML_NO_ERROR) VOLUME_SFX = fval; else VOLUME_SFX = 50; - - Mix_Volume(0,VOLUME_MASTER); - Mix_Volume(1,VOLUME_SFX); - Mix_VolumeMusic(VOLUME_MUSIC); - + ui::initFonts(); ui::setFontFace(xml.FirstChildElement("font")->Attribute("path")); + updateConfig(); } void updateConfig(){ - vol->FirstChildElement("master")->SetAttribute("volume",VOLUME_MASTER); - vol->FirstChildElement("music")->SetAttribute("volume",VOLUME_MUSIC); - vol->FirstChildElement("sfx")->SetAttribute("volume", VOLUME_SFX); - Mix_Volume(0,VOLUME_MASTER); - Mix_Volume(1,VOLUME_SFX); - Mix_VolumeMusic(VOLUME_MUSIC); + Mix_Volume(1,VOLUME_SFX * (VOLUME_MASTER/100.0f)); + Mix_VolumeMusic(VOLUME_MUSIC * (VOLUME_MASTER/100.0f)); } void saveConfig(){ + vol->FirstChildElement("master")->SetAttribute("volume",VOLUME_MASTER); + vol->FirstChildElement("music")->SetAttribute("volume",VOLUME_MUSIC); + vol->FirstChildElement("sfx")->SetAttribute("volume", VOLUME_SFX); + xml.SaveFile("config/settings.xml", false); } diff --git a/src/ui.cpp b/src/ui.cpp index 3d635ab..2d00453 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -648,11 +648,7 @@ namespace ui { updateConfig(); saveConfig(); } - - void quitMenu(){ - currentMenu = NULL; - } - + menuItem createButton(vec2 l, dim2 d, Color c, const char* t, menuFunc f){ menuItem temp; temp.member = 0; @@ -717,20 +713,13 @@ namespace ui { return temp; } - char* stradd(const char* a, const char* b){ - size_t len = strlen(a) + strlen(b); - char *ret = (char*)malloc(len * sizeof(char) + 1); - *ret = '\0'; - - return strcat(strcat(ret,a),b); - } - /* * Draws the menu */ void drawMenu(Menu *menu){ setFontSize(24); + updateConfig(); SDL_Event e; mouse.x=premouse.x+offset.x-(SCREEN_WIDTH/2); diff --git a/src/world.cpp b/src/world.cpp index 25b7d35..51efaf2 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -381,12 +381,12 @@ void World::bgmPlay(World *prev){ if(prev){ if(bgm != prev->bgm){ Mix_FadeOutMusic(800); - Mix_VolumeMusic(50); + //Mix_VolumeMusic(50); Mix_PlayMusic(bgmObj,-1); // Loop infinitely } }else{ Mix_FadeOutMusic(800); - Mix_VolumeMusic(50); + //Mix_VolumeMusic(50); Mix_PlayMusic(bgmObj,-1); // Loop infinitely } } -- cgit v1.2.3