summaryrefslogtreecommitdiff
path: root/src/map/grfio.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-02-08 15:09:25 -0800
committerBen Longbons <b.r.longbons@gmail.com>2014-02-08 16:18:22 -0800
commit730e5dde39333cb2f63c72a7d7152bee5c4dbb05 (patch)
tree510ef3e0ad46ecf1f2bee1fa42f26e6377b51686 /src/map/grfio.cpp
parent7a15a3efe85837d52d950cc9f895eadcc9eb6be1 (diff)
downloadtmwa-730e5dde39333cb2f63c72a7d7152bee5c4dbb05.tar.gz
tmwa-730e5dde39333cb2f63c72a7d7152bee5c4dbb05.tar.bz2
tmwa-730e5dde39333cb2f63c72a7d7152bee5c4dbb05.tar.xz
tmwa-730e5dde39333cb2f63c72a7d7152bee5c4dbb05.zip
Implement AString
Diffstat (limited to 'src/map/grfio.cpp')
-rw-r--r--src/map/grfio.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/map/grfio.cpp b/src/map/grfio.cpp
index ff73c90..d89fe21 100644
--- a/src/map/grfio.cpp
+++ b/src/map/grfio.cpp
@@ -13,7 +13,8 @@
#include <map>
#include "../strings/mstring.hpp"
-#include "../strings/fstring.hpp"
+#include "../strings/rstring.hpp"
+#include "../strings/astring.hpp"
#include "../io/cxxstdio.hpp"
#include "../io/read.hpp"
@@ -23,7 +24,7 @@
#include "../poison.hpp"
static
-std::map<MapName, FString> resnametable;
+std::map<MapName, RString> resnametable;
bool load_resnametable(ZString filename)
{
@@ -35,11 +36,11 @@ bool load_resnametable(ZString filename)
}
bool rv = true;
- FString line;
+ AString line;
while (in.getline(line))
{
MapName key;
- FString value;
+ AString value;
if (!extract(line,
record<'#'>(&key, &value)))
{
@@ -47,6 +48,7 @@ bool load_resnametable(ZString filename)
rv = false;
continue;
}
+ // TODO add "data/" here ...
resnametable[key] = value;
}
return rv;
@@ -54,18 +56,21 @@ bool load_resnametable(ZString filename)
/// Change *.gat to *.wlk
static
-FString grfio_resnametable(MapName rname)
+RString grfio_resnametable(MapName rname)
{
+ // TODO return an error instead of throwing an exception
return resnametable.at(rname);
}
std::vector<uint8_t> grfio_reads(MapName rname)
{
MString lfname_;
+ // TODO ... instead of here
lfname_ += "data/";
lfname_ += grfio_resnametable(rname);
- FString lfname = FString(lfname_);
+ AString lfname = AString(lfname_);
+ // TODO wrap this immediately
int fd = open(lfname.c_str(), O_RDONLY);
if (fd == -1)
{