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);
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
}
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,"(%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");