2018-02-21 19:44:52 +01:00
|
|
|
/* Copyright (C) 2018 Wildfire Games.
|
2009-04-18 19:00:33 +02:00
|
|
|
* This file is part of 0 A.D.
|
|
|
|
*
|
|
|
|
* 0 A.D. 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
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* 0 A.D. 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 0 A.D. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2007-05-07 18:33:24 +02:00
|
|
|
#ifndef INCLUDED_MAPIO
|
|
|
|
#define INCLUDED_MAPIO
|
2004-05-29 22:56:24 +02:00
|
|
|
|
2018-05-01 23:15:55 +02:00
|
|
|
#include "lib/file/vfs/vfs_path.h"
|
2018-02-05 17:02:00 +01:00
|
|
|
#include "lib/os_path.h"
|
|
|
|
#include "lib/status.h"
|
|
|
|
|
|
|
|
// Opens the given texture file and stores it in a one-dimensional u16 vector.
|
2018-05-01 23:15:55 +02:00
|
|
|
Status LoadHeightmapImageVfs(const VfsPath& filepath, std::vector<u16>& heightmap);
|
|
|
|
Status LoadHeightmapImageOs(const OsPath& filepath, std::vector<u16>& heightmap);
|
2018-02-05 17:02:00 +01:00
|
|
|
|
2016-11-23 12:18:37 +01:00
|
|
|
class CMapIO
|
2004-05-29 22:56:24 +02:00
|
|
|
{
|
|
|
|
public:
|
2016-11-23 12:18:37 +01:00
|
|
|
// current file version given to saved maps
|
2015-03-31 18:48:31 +02:00
|
|
|
enum { FILE_VERSION = 6 };
|
2004-05-29 22:56:24 +02:00
|
|
|
// supported file read version - file with version less than this will be reject
|
2015-03-31 18:48:31 +02:00
|
|
|
enum { FILE_READ_VERSION = 6 };
|
2004-05-29 22:56:24 +02:00
|
|
|
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
// description of a tile for I/O purposes
|
|
|
|
struct STileDesc {
|
|
|
|
// index into the texture array of first texture on tile
|
|
|
|
u16 m_Tex1Index;
|
2007-01-01 22:25:47 +01:00
|
|
|
// index into the texture array of second texture; (0xFFFF) if none
|
2004-05-29 22:56:24 +02:00
|
|
|
u16 m_Tex2Index;
|
|
|
|
// priority
|
|
|
|
u32 m_Priority;
|
|
|
|
};
|
|
|
|
#pragma pack(pop)
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|