OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
waypath.cpp
Go to the documentation of this file.
1#include "waypath.h"
2
3#include "game/serialize.h"
4#include <cstdint>
5
8
10 uint32_t sz=0;
11 fin.read(sz);
12 dat.resize(sz);
13
14 for(auto& i:dat)
15 fin.read(i);
16 }
17
19 fout.write(uint32_t(dat.size()));
20
21 for(auto& i:dat)
22 fout.write(i);
23 }
24
26 dat.clear();
27 }
28
30 for(size_t i=0; i<dat.size()/2; ++i) {
31 std::swap(dat[i], dat[dat.size()-i-1]);
32 }
33 }
34
36 if(dat.size()==0)
37 return nullptr;
38 auto ret = dat[dat.size()-1];
39 dat.pop_back();
40 return ret;
41 }
42
43const WayPoint *WayPath::first() const {
44 if(dat.size()==0)
45 return nullptr;
46 return dat[dat.size()-1];
47 }
48
49const WayPoint *WayPath::last() const {
50 if(dat.size()==0)
51 return nullptr;
52 return dat[0];
53 }
void write(const Arg &... a)
Definition serialize.h:76
void read(Arg &... a)
Definition serialize.h:81
WayPath()
Definition waypath.cpp:6
void save(Serialize &fout)
Definition waypath.cpp:18
const WayPoint * first() const
Definition waypath.cpp:43
const WayPoint * last() const
Definition waypath.cpp:49
void load(Serialize &fin)
Definition waypath.cpp:9
const WayPoint * pop()
Definition waypath.cpp:35
void clear()
Definition waypath.cpp:25
void reverse()
Definition waypath.cpp:29