OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
worldstatestorage.cpp
Go to the documentation of this file.
1#include "worldstatestorage.h"
2
3#include <Tempest/MemWriter>
4#include <Tempest/MemReader>
5
6#include "gamesession.h"
7#include "world/world.h"
8#include "serialize.h"
9
11 :name(w.name()){
12 Tempest::MemWriter wr{storage};
13 Serialize sr{wr};
14 w.save(sr);
15 }
16
18 fout.setEntry("worlds/",name,".zip");
19 fout.write(storage);
20 }
21
23 fin.setEntry("worlds/",name,".zip");
24 fin.read(storage);
25 }
26
27bool WorldStateStorage::compareName(std::string_view n) const {
28 if(n.size()!=name.size())
29 return false;
30 for(size_t i=0; i<n.size(); ++i) {
31 auto a = std::tolower(n[i]);
32 auto b = std::tolower(name[i]);
33 if(a!=b)
34 return false;
35 }
36 return true;
37 }
void write(const Arg &... a)
Definition serialize.h:76
bool setEntry(const Args &... args)
Definition serialize.h:57
void read(Arg &... a)
Definition serialize.h:81
bool compareName(std::string_view name) const
void save(Serialize &fout) const
WorldStateStorage()=default
void load(Serialize &fin)
std::vector< uint8_t > storage
Definition world.h:31
void save(Serialize &fout)
Definition world.cpp:188