| 1791 | } |
| 1792 | |
| 1793 | void ComputeTerrainSpeedTable() { |
| 1794 | int i, t, j, raynum = 0; |
| 1795 | |
| 1796 | mprintf(0, "Precomputing terrain speed table...(%d rays)\n", AREA_X * AREA_Z); |
| 1797 | for (i = 0; i < AREA_Z; i++) { |
| 1798 | for (t = 0; t < AREA_X; t++) { |
| 1799 | int tseg = i * TERRAIN_WIDTH + t; |
| 1800 | vector pos; |
| 1801 | |
| 1802 | pos.x = (t * TERRAIN_SIZE); |
| 1803 | pos.z = (i * TERRAIN_SIZE); |
| 1804 | pos.y = (Terrain_seg[tseg].y) + .001; |
| 1805 | |
| 1806 | raynum++; |
| 1807 | if ((raynum % 1000) == 0) |
| 1808 | mprintf_at(2, 4, 0, "Ray=%d ", raynum); |
| 1809 | |
| 1810 | for (j = 0; j < Terrain_sky.num_satellites; j++) |
| 1811 | TerrainLightSpeedup[j][tseg] = ShootRayForTerrainLight(&pos, &Terrain_sky.satellite_vectors[j], tseg); |
| 1812 | } |
| 1813 | } |
| 1814 | } |
| 1815 | |
| 1816 | float GetMaxColor(spectra *sp); |
| 1817 |
no test coverage detected