X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsector.cpp;h=2464ccc833ac2e9460db4357cfed32e39c20be38;hb=cde3a617070bee8af4ddcf58122cf6a65b97d874;hp=9e3ae22d564a56b43c31b5a74c8712b32c7dbb07;hpb=86181b0a14d89cf45daf97199c3556c4dd1ee7b7;p=supertux.git diff --git a/src/sector.cpp b/src/sector.cpp index 9e3ae22d5..2464ccc83 100644 --- a/src/sector.cpp +++ b/src/sector.cpp @@ -170,14 +170,16 @@ Sector::parse(const lisp::Lisp& sector) } update_game_objects(); + + if(!solids) + throw std::runtime_error("sector does not contain a solid tile layer."); + fix_old_tiles(); if(!camera) { std::cerr << "sector '" << name << "' does not contain a camera.\n"; update_game_objects(); add_object(new Camera(this)); } - if(!solids) - throw std::runtime_error("sector does not contain a solid tile layer."); update_game_objects(); } @@ -243,7 +245,7 @@ Sector::parse_old_format(const lisp::Lisp& reader) song_title = "chipdisko.ogg"; reader.get("music", song_title); - int width, height = 15; + int width = 30, height = 15; reader.get("width", width); reader.get("height", height); @@ -306,10 +308,12 @@ Sector::parse_old_format(const lisp::Lisp& reader) add_object(camera); update_game_objects(); + + if(solids == 0) + throw std::runtime_error("sector does not contain a solid tile layer."); + fix_old_tiles(); update_game_objects(); - if(solids == 0) - throw std::runtime_error("sector does not contain a solid tile layer."); } void @@ -338,7 +342,7 @@ Sector::fix_old_tiles() add_object(new SequenceTrigger(pos, sequence)); solids->change(x, y, 0); } - } + } } }