reader.get("layer", layer);
if(!reader.get("image", imagefile) || !reader.get("speed", speed))
throw std::runtime_error("Must specify image and speed for background");
-
+
set_image(imagefile, speed);
reader.get("speed-y", speed_y);
if (reader.get("image-top", imagefile_top)) {
if (image_top.get() != NULL)
writer.write_string("image-top", imagefile_top);
-
+
writer.write_string("image", imagefile);
if (image_bottom.get() != NULL)
writer.write_string("image-bottom", imagefile_bottom);
writer.write_float("speed", speed);
writer.write_float("speed-y", speed_y);
writer.write_int("layer", layer);
-
+
writer.end_list("background");
}
{
if(image.get() == NULL)
return;
-
+
int w = (int) image->get_width();
int h = (int) image->get_height();
int sx = int(pos.x-context.get_translation().x * speed) % w - w;
if (image_top.get() != NULL && (y < center_image_py)) {
context.draw_surface(image_top.get(), Vector(x, y), layer);
continue;
- }
+ }
if (image_bottom.get() != NULL && (y >= bottom_image_py)) {
context.draw_surface(image_bottom.get(), Vector(x, y), layer);
continue;