/ * SetSideDefs: Fix linedefs and sidedefs to reflect contents of file sidedefs */
| 223 | * SetSideDefs: Fix linedefs and sidedefs to reflect contents of file sidedefs |
| 224 | */ |
| 225 | void SetSideDefs(void) |
| 226 | { |
| 227 | int i, file_sd; |
| 228 | SideDef *SD; |
| 229 | int flags1, flags2; |
| 230 | |
| 231 | for (i=0; i < NumLineDefs; i++) |
| 232 | { |
| 233 | flags1 = flags2 = 0; |
| 234 | LineDef *LD = &LineDefs[i]; |
| 235 | |
| 236 | file_sd = LD->file_sidedef1 - 1; |
| 237 | if (file_sd == -1) |
| 238 | LD->sidedef1 = -1; |
| 239 | else |
| 240 | { |
| 241 | // Copy file sidedef info into sidedef and linedef |
| 242 | SD = &SideDefs[LD->sidedef1]; |
| 243 | |
| 244 | CopySideDefFromFile(SD, &FileSideDefs[file_sd]); |
| 245 | flags1 = FileSideDefs[file_sd].flags; |
| 246 | } |
| 247 | |
| 248 | file_sd = LD->file_sidedef2 - 1; |
| 249 | if (file_sd == -1) |
| 250 | LD->sidedef2 = -1; |
| 251 | else |
| 252 | { |
| 253 | // Copy file sidedef info into sidedef and linedef |
| 254 | SD = &SideDefs[LD->sidedef2]; |
| 255 | |
| 256 | CopySideDefFromFile(SD, &FileSideDefs[file_sd]); |
| 257 | flags2 = FileSideDefs[file_sd].flags; |
| 258 | } |
| 259 | |
| 260 | LD->blak_flags = CombineFileFlags(flags1, flags2); |
| 261 | // Extract per-sidedef translucency levels from bits 15-16 of WF_ flags |
| 262 | LD->translucency_pos = WallTranslucencyLevel(flags1); |
| 263 | LD->translucency_neg = WallTranslucencyLevel(flags2); |
| 264 | } |
| 265 | } |
| 266 | /***************************************************************************/ |
| 267 | /* |
| 268 | * LoadRoom: Load the room editor part of the room file, and set Vertices, |
no test coverage detected