… | |
… | |
2282 | |
2282 | |
2283 | Coro::cede; |
2283 | Coro::cede; |
2284 | $faces = Storable::thaw $faces; |
2284 | $faces = Storable::thaw $faces; |
2285 | Coro::cede; |
2285 | Coro::cede; |
2286 | |
2286 | |
|
|
2287 | my $meta = delete $faces->{""}; |
|
|
2288 | $meta->{version} == 1 |
|
|
2289 | or cf::cleanup "$path: version mismatch, cannot proceed."; |
|
|
2290 | |
2287 | while (my ($face, $info) = each %$faces) { |
2291 | while (my ($face, $info) = each %$faces) { |
2288 | my $idx = (cf::face::find $face) || cf::face::alloc $face; |
2292 | my $idx = (cf::face::find $face) || cf::face::alloc $face; |
2289 | cf::face::set $idx, $info->{visibility}, $info->{magicmap}; |
2293 | cf::face::set $idx, $info->{visibility}, $info->{magicmap}; |
2290 | cf::face::set_data $idx, 0, $info->{data32}, $info->{chksum32}; |
2294 | cf::face::set_data $idx, 0, $info->{data32}, $info->{chksum32}; |
2291 | Coro::cede; |
2295 | Coro::cede; |
… | |
… | |
2295 | next unless $info->{smooth}; |
2299 | next unless $info->{smooth}; |
2296 | my $idx = cf::face::find $face |
2300 | my $idx = cf::face::find $face |
2297 | or next; |
2301 | or next; |
2298 | if (my $smooth = cf::face::find $info->{smooth}) { |
2302 | if (my $smooth = cf::face::find $info->{smooth}) { |
2299 | cf::face::set_smooth $idx, $smooth; |
2303 | cf::face::set_smooth $idx, $smooth; |
2300 | warn "smooth $idx,$smooth ($face,$info->{smooth})\n";#d# |
|
|
2301 | } else { |
2304 | } else { |
2302 | warn "smooth face '$info->{smooth}' not found for face '$face'"; |
2305 | warn "smooth face '$info->{smooth}' not found for face '$face'"; |
2303 | } |
2306 | } |
2304 | Coro::cede; |
2307 | Coro::cede; |
2305 | } |
2308 | } |