diff options
author | kwolekr <kwolekr@minetest.net> | 2014-07-07 01:20:25 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2014-07-07 01:20:25 -0400 |
commit | 8b3ed78e53d8ad19d8dee3968430be258559214c (patch) | |
tree | 497c583608f3d7e596e899934c9945e4a324db23 /src/database.h | |
parent | e14c4cdd4c3c9b554dc9cb91f8f29078ad337ded (diff) | |
download | minetest-8b3ed78e53d8ad19d8dee3968430be258559214c.tar.gz minetest-8b3ed78e53d8ad19d8dee3968430be258559214c.tar.bz2 minetest-8b3ed78e53d8ad19d8dee3968430be258559214c.zip |
Don't unload blocks if save failed
Improve error handling in saveBlock()
Diffstat (limited to 'src/database.h')
-rw-r--r-- | src/database.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/database.h b/src/database.h index f009877d2..d8669dd9b 100644 --- a/src/database.h +++ b/src/database.h @@ -24,19 +24,23 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irr_v3d.h" #include "irrlichttypes.h" +#ifndef PP + #define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")" +#endif + class MapBlock; class Database { public: - virtual void beginSave()=0; - virtual void endSave()=0; + virtual void beginSave() = 0; + virtual void endSave() = 0; - virtual void saveBlock(MapBlock *block)=0; - virtual MapBlock* loadBlock(v3s16 blockpos)=0; + virtual bool saveBlock(MapBlock *block) = 0; + virtual MapBlock *loadBlock(v3s16 blockpos) = 0; s64 getBlockAsInteger(const v3s16 pos) const; v3s16 getIntegerAsBlock(s64 i) const; - virtual void listAllLoadableBlocks(std::list<v3s16> &dst)=0; + virtual void listAllLoadableBlocks(std::list<v3s16> &dst) = 0; virtual int Initialized(void)=0; virtual ~Database() {}; }; |