summaryrefslogtreecommitdiff
path: root/src/database.h
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2014-07-07 01:20:25 -0400
committerkwolekr <kwolekr@minetest.net>2014-07-07 01:20:25 -0400
commit8b3ed78e53d8ad19d8dee3968430be258559214c (patch)
tree497c583608f3d7e596e899934c9945e4a324db23 /src/database.h
parente14c4cdd4c3c9b554dc9cb91f8f29078ad337ded (diff)
downloadminetest-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.h14
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() {};
};