diff options
author | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2010-05-13 13:39:52 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2010-05-16 23:25:19 +0200 |
commit | e5c7ef4573adcdcafec7523a77724b171456b215 (patch) | |
tree | 797833ddc766d92131da86096de81741a94f4d20 /src/common/resourcemanager.hpp | |
parent | 0a48f0d41653d0a0758fc84fd6a18830bd37da18 (diff) | |
download | manaserv-e5c7ef4573adcdcafec7523a77724b171456b215.tar.gz manaserv-e5c7ef4573adcdcafec7523a77724b171456b215.tar.bz2 manaserv-e5c7ef4573adcdcafec7523a77724b171456b215.tar.xz manaserv-e5c7ef4573adcdcafec7523a77724b171456b215.zip |
Changed and split up the default location for loading data
Instead of loading data from a 'data' directory in the current working
directory, the server now uses clientDataPath and serverDataPath as
specified in the configuration. This removes the need to set up symbolic
links in order to merge these two types of data.
The default values point to example/clientdata and example/serverdata,
where a minimal example world can be developed to make setting up an
initial server quick and easy.
The XML::Document convenience class was copied over from the client.
Also, the ResourceManager is now shared between both servers, since the
account client is reading items.xml.
Reviewed-by: Jared Adams
Diffstat (limited to 'src/common/resourcemanager.hpp')
-rw-r--r-- | src/common/resourcemanager.hpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/common/resourcemanager.hpp b/src/common/resourcemanager.hpp new file mode 100644 index 00000000..74c41891 --- /dev/null +++ b/src/common/resourcemanager.hpp @@ -0,0 +1,53 @@ +/* + * The Mana Server + * Copyright (C) 2004-2010 The Mana World Development Team + * + * This file is part of The Mana Server. + * + * The Mana Server is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana Server 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana Server. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef RESOURCE_MANAGER_H +#define RESOURCE_MANAGER_H + +#include <string> + +namespace ResourceManager +{ + /** + * Searches for zip files and adds them to PhysFS search path. + */ + void initialize(); + + /** + * Checks whether the given file or directory exists in the search path + */ + bool exists(const std::string &path); + + /** + * Allocates data into a buffer pointer for raw data loading. The + * returned data is expected to be freed using <code>free()</code>. + * + * @param fileName The name of the file to be loaded. + * @param fileSize The size of the file that was loaded. + * + * @return An allocated byte array containing the data that was loaded, + * or <code>NULL</code> on failure. + * @note The array contains an extra \0 character at position fileSize. + */ + char *loadFile(const std::string &fileName, int &fileSize, + bool removeBOM = false); +} + +#endif |