MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / EBNode_RemoveNodesAtUnopenablePortals

Function EBNode_RemoveNodesAtUnopenablePortals

editor/ebnode.cpp:1006–1031  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1004}
1005
1006void EBNode_RemoveNodesAtUnopenablePortals(int roomnum) {
1007 int i;
1008
1009 ASSERT(Rooms[roomnum].num_portals + 1 == Rooms[roomnum].bn_info.num_nodes);
1010
1011 for (i = Rooms[roomnum].num_portals - 1; i >= 0; i--) {
1012 if ((Rooms[roomnum].portals[i].flags & PF_BLOCK) && !(Rooms[roomnum].portals[i].flags & PF_BLOCK_REMOVABLE)) {
1013 EBNode_RemoveNode(roomnum, i);
1014 continue;
1015 }
1016
1017 if ((Rooms[roomnum].portals[i].flags & PF_RENDER_FACES) &&
1018 !(Rooms[roomnum].portals[i].flags & PF_RENDERED_FLYTHROUGH)) {
1019 if (!(GameTextures[Rooms[roomnum].faces[Rooms[roomnum].portals[i].portal_face].tmap].flags &
1020 (TF_BREAKABLE | TF_FORCEFIELD))) {
1021 EBNode_RemoveNode(roomnum, i);
1022 continue;
1023 }
1024 }
1025
1026 if (Rooms[roomnum].portals[i].flags & PF_TOO_SMALL_FOR_ROBOT) {
1027 EBNode_RemoveNode(roomnum, i);
1028 continue;
1029 }
1030 }
1031}
1032
1033// void EBNode_VerifyGraph()
1034//{

Callers 1

EBNode_MakeFirstPassFunction · 0.85

Calls 1

EBNode_RemoveNodeFunction · 0.85

Tested by

no test coverage detected