| 2021 | } |
| 2022 | |
| 2023 | void MakeBOA(void) { |
| 2024 | ASSERT(BOA_ROOM_MASK > MAX_ROOMS + MAX_BOA_TERRAIN_REGIONS); |
| 2025 | int cur_check = BOAGetMineChecksum(); |
| 2026 | |
| 2027 | if (cur_check == BOA_vis_checksum) |
| 2028 | BOA_vis_valid = 1; |
| 2029 | else |
| 2030 | BOA_vis_valid = 0; |
| 2031 | |
| 2032 | if (cur_check == BOA_mine_checksum) |
| 2033 | return; |
| 2034 | |
| 2035 | // OutrageMessageBox("Reminder: You need to make BOA Vis on this level.\nThis is either because it hasn't\nbeen done |
| 2036 | // or Chris updated BOA."); |
| 2037 | |
| 2038 | BOA_mine_checksum = cur_check; |
| 2039 | BOA_f_making_boa = true; |
| 2040 | |
| 2041 | mprintf(0, "Making BOA and friends\n"); |
| 2042 | |
| 2043 | mprintf(0, "Finding small portals\n"); |
| 2044 | find_small_portals(); |
| 2045 | mprintf(0, "Done Finding small portals\n"); |
| 2046 | |
| 2047 | mprintf(0, " Start computing path points.\n"); |
| 2048 | BOA_ComputePathPoints(); |
| 2049 | mprintf(0, " Done computing path points.\n"); |
| 2050 | |
| 2051 | clear_BOA(); |
| 2052 | compute_costs(); |
| 2053 | |
| 2054 | mprintf(0, " Start computing mines.\n"); |
| 2055 | compute_mine_info(); |
| 2056 | mprintf(0, " Done computing %d mines.\n", BOA_num_mines); |
| 2057 | |
| 2058 | mprintf(0, " Start computing terrain regions.\n"); |
| 2059 | compute_terrain_region_info(); |
| 2060 | mprintf(0, " Done computing %d terrain regions.\n", BOA_num_terrain_regions); |
| 2061 | |
| 2062 | mprintf(0, " Making designers wait for no particular reason...\n"); |
| 2063 | compute_next_segs(); |
| 2064 | mprintf(0, " Done with the sodomy...\n"); |
| 2065 | |
| 2066 | mprintf(0, " Start computing blockage info.\n"); |
| 2067 | compute_blockage_info(); |
| 2068 | mprintf(0, " Done computing blockage info.\n"); |
| 2069 | |
| 2070 | mprintf(0, " Start computing sound prop.\n"); |
| 2071 | compute_sound_dist_info(); |
| 2072 | mprintf(0, " Done computing sound prop.\n"); |
| 2073 | |
| 2074 | mprintf(0, " Start computing invalid robot path info.\n"); |
| 2075 | compute_robot_path_info(); |
| 2076 | mprintf(0, " Done computing invalid robot path info.\n"); |
| 2077 | |
| 2078 | mprintf(0, " Verifying connections\n"); |
| 2079 | verify_connections(); |
| 2080 | mprintf(0, " Done with verification\n"); |
no test coverage detected