| 320 | } |
| 321 | |
| 322 | static void player_view_update() |
| 323 | { |
| 324 | if (crawl_state.game_is_arena()) |
| 325 | { |
| 326 | for (rectangle_iterator ri(crawl_view.vgrdc, LOS_MAX_RANGE); ri; ++ri) |
| 327 | player_view_update_at(*ri); |
| 328 | // no need to do excludes on the arena |
| 329 | return; |
| 330 | } |
| 331 | |
| 332 | vector<coord_def> update_excludes; |
| 333 | bool need_update = false; |
| 334 | |
| 335 | for (vision_iterator ri(you); ri; ++ri) |
| 336 | { |
| 337 | update_flags flags = player_view_update_at(*ri); |
| 338 | if (flags & update_flag::affect_excludes) |
| 339 | update_excludes.push_back(*ri); |
| 340 | if (flags & update_flag::added_exclude) |
| 341 | need_update = true; |
| 342 | } |
| 343 | // Update exclusion LOS for possibly affected excludes. |
| 344 | update_exclusion_los(update_excludes); |
| 345 | // Catch up on deferred updates for cloud excludes. |
| 346 | if (need_update) |
| 347 | deferred_exclude_update(); |
| 348 | } |
| 349 | |
| 350 | static void _draw_out_of_bounds(screen_cell_t *cell) |
| 351 | { |
no test coverage detected