新しいパッチです。
クラッシュの原因そのものを取り除きました。
88.00とそれ以前のセーブゲームを読む場合に必要です。
手持ちの0.86.0、0.86.2、0.88.0のセーブゲームが読めることと、スロープ上の建物が正常に撤去できることを確認しています。
Index: simworld.cc
===================================================================
--- simworld.cc (リビジョン 3468)
+++ simworld.cc (作業コピー)
@@ -4179,9 +4179,16 @@
for (int y = 0; y < get_groesse_y(); y++) {
for (int x = 0; x < get_groesse_x(); x++) {
koord k(x,y);
- if(access(x,y)->get_kartenboden()->get_typ()==grund_t::fundament) {
- access(x,y)->get_kartenboden()->set_hoehe( max_hgt(k) );
- access(x,y)->get_kartenboden()->set_grund_hang(hang_t::flach);
+ grund_t *gr1 = access(x, y)->get_kartenboden();
+ if(gr1->get_typ()==grund_t::fundament) {
+ gr1->set_hoehe( max_hgt(k) );
+ // get new grund
+ grund_t *gr2 = access(x, y)->get_kartenboden();
+ gr2->set_grund_hang(hang_t::flach);
+ // transfer object to on new grund
+ for( int i=0; i<gr1->get_top(); i++ ) {
+ gr1->obj_bei(i)->set_pos( gr2->get_pos() );
+ }
}
}
}