1 | /* |
1 | /* |
2 | * static char *rcsid_map_c = |
2 | * static char *rcsid_map_c = |
3 | * "$Id: map.C,v 1.18 2006/08/31 17:54:14 root Exp $"; |
3 | * "$Id: map.C,v 1.19 2006/08/31 18:59:23 root Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
1393 | clean_object(op); |
1393 | clean_object(op); |
1394 | remove_ob(op); |
1394 | remove_ob(op); |
1395 | free_object(op); |
1395 | free_object(op); |
1396 | } |
1396 | } |
1397 | } |
1397 | } |
1398 | #ifdef MANY_CORES |
|
|
1399 | /* I see periodic cores on metalforge where a map has been swapped out, but apparantly |
|
|
1400 | * an item on that map was not saved - look for that condition and die as appropriate - |
|
|
1401 | * this leaves more of the map data intact for better debugging. |
|
|
1402 | */ |
|
|
1403 | for (op=objects; op!=NULL; op=op->next) { |
|
|
1404 | if (!QUERY_FLAG(op, FLAG_REMOVED) && op->map == m) { |
|
|
1405 | LOG(llevDebug,"free_all_objects: object %s still on map after it should have been freed\n", op->name); |
|
|
1406 | abort(); |
|
|
1407 | } |
|
|
1408 | } |
|
|
1409 | #endif |
|
|
1410 | } |
1398 | } |
1411 | |
1399 | |
1412 | /* |
1400 | /* |
1413 | * Frees everything allocated by the given mapstructure. |
1401 | * Frees everything allocated by the given mapstructure. |
1414 | * don't free tmpname - our caller is left to do that |
1402 | * don't free tmpname - our caller is left to do that |