| 2393 | */ |
| 2394 | |
| 2395 | void DeleteLineDefsJoinSectors (SelPtr *ldlist) |
| 2396 | { |
| 2397 | SelPtr cur, slist; |
| 2398 | SHORT sd1, sd2; |
| 2399 | SHORT s1, s2; |
| 2400 | |
| 2401 | /* first, do the tests for all LineDefs */ |
| 2402 | for (cur = *ldlist; cur; cur = cur->next) |
| 2403 | { |
| 2404 | // ObjectsNeeded( OBJ_LINEDEFS, 0); |
| 2405 | sd1 = LineDefs[ cur->objnum].sidedef1; |
| 2406 | sd2 = LineDefs[ cur->objnum].sidedef2; |
| 2407 | if (sd1 < 0 || sd2 < 0) |
| 2408 | { |
| 2409 | Beep(); |
| 2410 | Notify("ERROR: LineDef #%d has only one side", cur->objnum); |
| 2411 | return; |
| 2412 | } |
| 2413 | // ObjectsNeeded( OBJ_SIDEDEFS, 0); |
| 2414 | s1 = SideDefs[ sd1].sector; |
| 2415 | s2 = SideDefs[ sd2].sector; |
| 2416 | if (s1 < 0 || s2 < 0) |
| 2417 | { |
| 2418 | Beep(); |
| 2419 | Notify("ERROR: LineDef #%d has two sides, but one side is not bound " |
| 2420 | "to any Sector", cur->objnum); |
| 2421 | return; |
| 2422 | } |
| 2423 | } |
| 2424 | |
| 2425 | /* then join the Sectors and delete the LineDefs */ |
| 2426 | for (cur = *ldlist; cur; cur = cur->next) |
| 2427 | { |
| 2428 | // ObjectsNeeded( OBJ_LINEDEFS, 0); |
| 2429 | sd1 = LineDefs[ cur->objnum].sidedef1; |
| 2430 | sd2 = LineDefs[ cur->objnum].sidedef2; |
| 2431 | // ObjectsNeeded( OBJ_SIDEDEFS, 0); |
| 2432 | s1 = SideDefs[ sd1].sector; |
| 2433 | s2 = SideDefs[ sd2].sector; |
| 2434 | slist = NULL; |
| 2435 | SelectObject( &slist, s2); |
| 2436 | SelectObject( &slist, s1); |
| 2437 | MergeSectors( &slist); |
| 2438 | ForgetSelection( &slist); |
| 2439 | } |
| 2440 | DeleteObjects( OBJ_LINEDEFS, ldlist); |
| 2441 | } |
| 2442 | |
| 2443 | |
| 2444 |
no test coverage detected