forked from Mirrorlandia_minetest/minetest
Store the maximum player file tries in a constant
This commit is contained in:
parent
e491f8cd48
commit
089fc010ab
@ -89,6 +89,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
// Maximum hit points of a player
|
// Maximum hit points of a player
|
||||||
#define PLAYER_MAX_HP 20
|
#define PLAYER_MAX_HP 20
|
||||||
|
|
||||||
|
// Number of different files to try to save a player to if the first fails
|
||||||
|
// (because of a case-insensitive filesystem)
|
||||||
|
// TODO: Use case-insensitive player names instead of this hack.
|
||||||
|
#define PLAYER_FILE_ALTERNATE_TRIES 1000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GUI related things
|
* GUI related things
|
||||||
*/
|
*/
|
||||||
|
@ -455,7 +455,7 @@ Player *ServerEnvironment::loadPlayer(const std::string &playername)
|
|||||||
|
|
||||||
RemotePlayer testplayer(m_gamedef);
|
RemotePlayer testplayer(m_gamedef);
|
||||||
std::string path = players_path + playername;
|
std::string path = players_path + playername;
|
||||||
for (u32 i = 0; i < 1000; i++) {
|
for (u32 i = 0; i < PLAYER_FILE_ALTERNATE_TRIES; i++) {
|
||||||
// Open file and deserialize
|
// Open file and deserialize
|
||||||
std::ifstream is(path.c_str(), std::ios_base::binary);
|
std::ifstream is(path.c_str(), std::ios_base::binary);
|
||||||
if (!is.good()) {
|
if (!is.good()) {
|
||||||
|
@ -297,7 +297,7 @@ void RemotePlayer::save(std::string savedir)
|
|||||||
|
|
||||||
savedir += DIR_DELIM;
|
savedir += DIR_DELIM;
|
||||||
std::string path = savedir + m_name;
|
std::string path = savedir + m_name;
|
||||||
for (u32 i = 0; i < 1000; i++) {
|
for (u32 i = 0; i < PLAYER_FILE_ALTERNATE_TRIES; i++) {
|
||||||
if (!fs::PathExists(path)) {
|
if (!fs::PathExists(path)) {
|
||||||
// Open file and serialize
|
// Open file and serialize
|
||||||
std::ostringstream ss(std::ios_base::binary);
|
std::ostringstream ss(std::ios_base::binary);
|
||||||
|
Loading…
Reference in New Issue
Block a user