Skip to content

Commit

Permalink
Store the maximum player file tries in a constant
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowNinja committed Jun 23, 2014
1 parent e491f8c commit 089fc01
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
5 changes: 5 additions & 0 deletions src/constants.h
Expand Up @@ -89,6 +89,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
// Maximum hit points of a player
#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
*/
Expand Down
2 changes: 1 addition & 1 deletion src/environment.cpp
Expand Up @@ -455,7 +455,7 @@ Player *ServerEnvironment::loadPlayer(const std::string &playername)

RemotePlayer testplayer(m_gamedef);
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
std::ifstream is(path.c_str(), std::ios_base::binary);
if (!is.good()) {
Expand Down
2 changes: 1 addition & 1 deletion src/player.cpp
Expand Up @@ -297,7 +297,7 @@ void RemotePlayer::save(std::string savedir)

savedir += DIR_DELIM;
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)) {
// Open file and serialize
std::ostringstream ss(std::ios_base::binary);
Expand Down

0 comments on commit 089fc01

Please sign in to comment.