aboutsummaryrefslogtreecommitdiff
path: root/src/database/database.h
blob: b7d5519350441a8e8e37cec08e8cd65319723881 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
Minetest
Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#pragma once

#include <set>
#include <string>
#include <vector>
#include "irr_v3d.h"
#include "irrlichttypes.h"
#include "util/basic_macros.h"

class Database
{
public:
	virtual void beginSave() = 0;
	virtual void endSave() = 0;
	virtual bool initialized() const { return true; }
};

class MapDatabase : public Database
{
public:
	virtual ~MapDatabase() = default;

	virtual bool saveBlock(const v3s16 &pos, const std::string &data) = 0;
	virtual void loadBlock(const v3s16 &pos, std::string *block) = 0;
	virtual bool deleteBlock(const v3s16 &pos) = 0;

	static s64 getBlockAsInteger(const v3s16 &pos);
	static v3s16 getIntegerAsBlock(s64 i);

	virtual void listAllLoadableBlocks(std::vector<v3s16> &dst) = 0;
};

class PlayerSAO;
class RemotePlayer;

class PlayerDatabase
{
public:
	virtual ~PlayerDatabase() = default;

	virtual void savePlayer(RemotePlayer *player) = 0;
	virtual bool loadPlayer(RemotePlayer *player, PlayerSAO *sao) = 0;
	virtual bool removePlayer(const std::string &name) = 0;
	virtual void listPlayers(std::vector<std::string> &res) = 0;
};

struct AuthEntry
{
	u64 id;
	std::string name;
	std::string password;
	std::vector<std::string> privileges;
	s64 last_login;
};

class AuthDatabase
{
public:
	virtual ~AuthDatabase() = default;

	virtual bool getAuth(const std::string &name, AuthEntry &res) = 0;
	virtual bool saveAuth(const AuthEntry &authEntry) = 0;
	virtual bool createAuth(AuthEntry &authEntry) = 0;
	virtual bool deleteAuth(const std::string &name) = 0;
	virtual void listNames(std::vector<std::string> &res) = 0;
	virtual void reload() = 0;
};
='right'>bin462200 -> 462200 bytes-rw-r--r--models/blender/trackvertical1.blend (renamed from models/trackvertical1.blend)bin453656 -> 453656 bytes-rw-r--r--models/blender/trackvertical1.blend1 (renamed from models/trackvertical1.blend1)bin453344 -> 453344 bytes-rw-r--r--models/blender/trackvertical1.png (renamed from models/trackvertical1.png)bin59146 -> 59146 bytes-rw-r--r--models/blender/trackvertical2.blend (renamed from models/trackvertical2.blend)bin459216 -> 459216 bytes-rw-r--r--models/blender/trackvertical2.png (renamed from models/trackvertical2.png)bin66755 -> 66755 bytes-rw-r--r--models/oldmodels/locomotive.b3d (renamed from models/locomotive.b3d)bin181112 -> 181112 bytes-rw-r--r--models/oldmodels/trackvertical1.b3d (renamed from models/trackvertical1.b3d)bin629 -> 629 bytes-rw-r--r--models/oldmodels/trackvertical2.b3d (renamed from models/trackvertical2.b3d)bin869 -> 869 bytes
37 files changed, 0 insertions, 0 deletions
diff --git a/models/engine-with-animation.blend b/models/blender/engine-with-animation.blend
index 2649587..2649587 100644
--- a/models/engine-with-animation.blend
+++ b/models/blender/engine-with-animation.blend
Binary files differ
diff --git a/models/gleis/infos/Grafik_weiche.png b/models/blender/gleis/infos/Grafik_weiche.png
index 6674eb3..6674eb3 100644
--- a/models/gleis/infos/Grafik_weiche.png
+++ b/models/blender/gleis/infos/Grafik_weiche.png
Binary files differ
diff --git a/models/gleis/infos/breite b/models/blender/gleis/infos/breite
index b2862c6..b2862c6 100644
--- a/models/gleis/infos/breite
+++ b/models/blender/gleis/infos/breite
diff --git a/models/gleis/licence.txt~ b/models/blender/gleis/licence.txt~
index e69de29..e69de29 100644
--- a/models/gleis/licence.txt~
+++ b/models/blender/gleis/licence.txt~
diff --git a/models/gleis/rail_my.blend b/models/blender/gleis/rail_my.blend
index 3c741bc..3c741bc 100644
--- a/models/gleis/rail_my.blend
+++ b/models/blender/gleis/rail_my.blend
Binary files differ
diff --git a/models/gleis/rail_my.blend1 b/models/blender/gleis/rail_my.blend1
index 6322856..6322856 100644
--- a/models/gleis/rail_my.blend1
+++ b/models/blender/gleis/rail_my.blend1
Binary files differ
diff --git a/models/gleis/rail_my_rt.blend b/models/blender/gleis/rail_my_rt.blend
index 8372a0c..8372a0c 100644
--- a/models/gleis/rail_my_rt.blend
+++ b/models/blender/gleis/rail_my_rt.blend
Binary files differ
diff --git a/models/gleis/rail_my_rt.blend1 b/models/blender/gleis/rail_my_rt.blend1
index 7d0978e..7d0978e 100644
--- a/models/gleis/rail_my_rt.blend1
+++ b/models/blender/gleis/rail_my_rt.blend1
Binary files differ
diff --git a/models/gleis/rail_my_rt_final.blend b/models/blender/gleis/rail_my_rt_final.blend
index 1f346ae..1f346ae 100644
--- a/models/gleis/rail_my_rt_final.blend
+++ b/models/blender/gleis/rail_my_rt_final.blend
Binary files differ
diff --git a/models/gleis/rail_my_rt_final.blend1 b/models/blender/gleis/rail_my_rt_final.blend1
index 12beed9..12beed9 100644
--- a/models/gleis/rail_my_rt_final.blend1
+++ b/models/blender/gleis/rail_my_rt_final.blend1
Binary files differ
diff --git a/models/gleis/rail_my_rt_final_sw.blend1 b/models/blender/gleis/rail_my_rt_final_sw.blend1
index 1d37fa7..1d37fa7 100644
--- a/models/gleis/rail_my_rt_final_sw.blend1
+++ b/models/blender/gleis/rail_my_rt_final_sw.blend1
Binary files differ
diff --git a/models/gleis/rail_my_rt_final_sw.blend11 b/models/blender/gleis/rail_my_rt_final_sw.blend11
index 7372d51..7372d51 100644
--- a/models/gleis/rail_my_rt_final_sw.blend11
+++ b/models/blender/gleis/rail_my_rt_final_sw.blend11
Binary files differ
diff --git a/models/gleis/rail_together.blend b/models/blender/gleis/rail_together.blend
index cff51ea..cff51ea 100644
--- a/models/gleis/rail_together.blend
+++ b/models/blender/gleis/rail_together.blend
Binary files differ
diff --git a/models/gleis/rail_together.png b/models/blender/gleis/rail_together.png
index 386cd5c..386cd5c 100644
--- a/models/gleis/rail_together.png
+++ b/models/blender/gleis/rail_together.png
Binary files differ
diff --git a/models/gleis/rail_together2.png b/models/blender/gleis/rail_together2.png
index 3effe34..3effe34 100644
--- a/models/gleis/rail_together2.png
+++ b/models/blender/gleis/rail_together2.png
Binary files differ
diff --git a/models/gleis/rail_together3.png b/models/blender/gleis/rail_together3.png
index 4a183c1..4a183c1 100644
--- a/models/gleis/rail_together3.png
+++ b/models/blender/gleis/rail_together3.png
Binary files differ
diff --git a/models/gleis/rail_verticals.blend b/models/blender/gleis/rail_verticals.blend
index 45c37e1..45c37e1 100644
--- a/models/gleis/rail_verticals.blend
+++ b/models/blender/gleis/rail_verticals.blend
Binary files differ
diff --git a/models/gleis/rail_verticals.blend1 b/models/blender/gleis/rail_verticals.blend1
index 320f30b..320f30b 100644
--- a/models/gleis/rail_verticals.blend1
+++ b/models/blender/gleis/rail_verticals.blend1
Binary files differ
diff --git a/models/gleis/texturen/rail.png b/models/blender/gleis/texturen/rail.png
index 8478cf6..8478cf6 100644
--- a/models/gleis/texturen/rail.png
+++ b/models/blender/gleis/texturen/rail.png
Binary files differ
diff --git a/models/gleis/texturen/uv.png b/models/blender/gleis/texturen/uv.png
index fb0af3e..fb0af3e 100644
--- a/models/gleis/texturen/uv.png
+++ b/models/blender/gleis/texturen/uv.png
Binary files differ
diff --git a/models/locomotive.blend b/models/blender/locomotive.blend
index 8fd6059..8fd6059 100644
--- a/models/locomotive.blend
+++ b/models/blender/locomotive.blend
Binary files differ
diff --git a/models/magnet_track.blend b/models/blender/magnet_track.blend
index 0ab14e7..0ab14e7 100644
--- a/models/magnet_track.blend
+++ b/models/blender/magnet_track.blend
Binary files differ
diff --git a/models/newlocomotive.blend b/models/blender/newlocomotive.blend
index 858882b..858882b 100644
--- a/models/newlocomotive.blend
+++ b/models/blender/newlocomotive.blend
Binary files differ
diff --git a/models/newlocomotive.blend1 b/models/blender/newlocomotive.blend1
index 4b8b24f..4b8b24f 100644
--- a/models/newlocomotive.blend1
+++ b/models/blender/newlocomotive.blend1
Binary files differ
diff --git a/models/newlocomotive_uvs.png b/models/blender/newlocomotive_uvs.png
index 879be65..879be65 100644
--- a/models/newlocomotive_uvs.png
+++ b/models/blender/newlocomotive_uvs.png