projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- added stay-on-platform into the level fileformat
[supertux.git]
/
src
/
level.cpp
diff --git
a/src/level.cpp
b/src/level.cpp
index
c22db5e
..
9ae1831
100644
(file)
--- a/
src/level.cpp
+++ b/
src/level.cpp
@@
-358,6
+358,7
@@
Level::load(const std::string& filename)
LispReader reader(lisp_cdr(data));
reader.read_int("x", &bg_data.x);
reader.read_int("y", &bg_data.y);
LispReader reader(lisp_cdr(data));
reader.read_int("x", &bg_data.x);
reader.read_int("y", &bg_data.y);
+ reader.read_bool("stay-on-platform", &bg_data.stay_on_platform);
badguy_data.push_back(bg_data);
badguy_data.push_back(bg_data);
@@
-416,7
+417,7
@@
Level::load(const std::string& filename)
if (*i == '0' || *i == '1' || *i == '2')
{
badguy_data.push_back(BadGuyData(static_cast<BadGuyKind>(*i-'0'),
if (*i == '0' || *i == '1' || *i == '2')
{
badguy_data.push_back(BadGuyData(static_cast<BadGuyKind>(*i-'0'),
-
x*32, y*32
));
+
x*32, y*32, false
));
*i = 0;
}
else
*i = 0;
}
else
@@
-560,12
+561,21
@@
Level::save(const char * subset, int level)
}
fprintf( fi,")\n");
}
fprintf( fi,")\n");
+
+ fprintf( fi,"(reset-points\n");
+ for(std::vector<ResetPoint>::iterator i = reset_points.begin();
+ i != reset_points.end(); ++i)
+ fprintf( fi,"(point (x %d) (y %d))\n",i->x, i->y);
+ fprintf( fi,")\n");
+
fprintf( fi,"(objects\n");
for(std::vector<BadGuyData>::iterator it = badguy_data.begin();
it != badguy_data.end();
++it)
fprintf( fi,"(objects\n");
for(std::vector<BadGuyData>::iterator it = badguy_data.begin();
it != badguy_data.end();
++it)
- fprintf( fi,"(%s (x %d) (y %d))\n",badguykind_to_string((*it).kind).c_str(),(*it).x,(*it).y);
+ fprintf( fi,"(%s (x %d) (y %d) (stay-on-platform %s))\n",
+ badguykind_to_string((*it).kind).c_str(),(*it).x,(*it).y,
+ it->stay_on_platform ? "#t" : "#f");
fprintf( fi,")\n");
fprintf( fi,")\n");