mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Player data to Database (#5475)
* Player data to Database Add player data into databases (SQLite3 & PG only) PostgreSQL & SQLite: better POO Design for databases Add --migrate-players argument to server + deprecation warning * Remove players directory if empty
This commit is contained in:
parent
dda171d292
commit
29ab20c272
31 changed files with 1555 additions and 378 deletions
|
@ -31,59 +31,10 @@ public:
|
|||
const char *getName() { return "TestPlayer"; }
|
||||
|
||||
void runTests(IGameDef *gamedef);
|
||||
|
||||
void testSave(IGameDef *gamedef);
|
||||
void testLoad(IGameDef *gamedef);
|
||||
};
|
||||
|
||||
static TestPlayer g_test_instance;
|
||||
|
||||
void TestPlayer::runTests(IGameDef *gamedef)
|
||||
{
|
||||
TEST(testSave, gamedef);
|
||||
TEST(testLoad, gamedef);
|
||||
}
|
||||
|
||||
void TestPlayer::testSave(IGameDef *gamedef)
|
||||
{
|
||||
RemotePlayer rplayer("testplayer_save", gamedef->idef());
|
||||
PlayerSAO sao(NULL, 1, false);
|
||||
sao.initialize(&rplayer, std::set<std::string>());
|
||||
rplayer.setPlayerSAO(&sao);
|
||||
sao.setBreath(10, false);
|
||||
sao.setHPRaw(8);
|
||||
sao.setYaw(0.1f);
|
||||
sao.setPitch(0.6f);
|
||||
sao.setBasePosition(v3f(450.2f, -15.7f, 68.1f));
|
||||
rplayer.save(".", gamedef);
|
||||
UASSERT(fs::PathExists("testplayer_save"));
|
||||
}
|
||||
|
||||
void TestPlayer::testLoad(IGameDef *gamedef)
|
||||
{
|
||||
RemotePlayer rplayer("testplayer_load", gamedef->idef());
|
||||
PlayerSAO sao(NULL, 1, false);
|
||||
sao.initialize(&rplayer, std::set<std::string>());
|
||||
rplayer.setPlayerSAO(&sao);
|
||||
sao.setBreath(10, false);
|
||||
sao.setHPRaw(8);
|
||||
sao.setYaw(0.1f);
|
||||
sao.setPitch(0.6f);
|
||||
sao.setBasePosition(v3f(450.2f, -15.7f, 68.1f));
|
||||
rplayer.save(".", gamedef);
|
||||
UASSERT(fs::PathExists("testplayer_load"));
|
||||
|
||||
RemotePlayer rplayer_load("testplayer_load", gamedef->idef());
|
||||
PlayerSAO sao_load(NULL, 2, false);
|
||||
std::ifstream is("testplayer_load", std::ios_base::binary);
|
||||
UASSERT(is.good());
|
||||
rplayer_load.deSerialize(is, "testplayer_load", &sao_load);
|
||||
is.close();
|
||||
|
||||
UASSERT(strcmp(rplayer_load.getName(), "testplayer_load") == 0);
|
||||
UASSERT(sao_load.getBreath() == 10);
|
||||
UASSERT(sao_load.getHP() == 8);
|
||||
UASSERT(sao_load.getYaw() == 0.1f);
|
||||
UASSERT(sao_load.getPitch() == 0.6f);
|
||||
UASSERT(sao_load.getBasePosition() == v3f(450.2f, -15.7f, 68.1f));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue