Показать сообщение отдельно
Старый 05.06.2020, 22:01   #17
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,380
По умолчанию

Покопался внутри игры, есть вставка ГОСТ 4401-81 в классе Atmosphere, она используется, если не загрузилась новая атмосфера по каким-либо причинам. Возможно, часть карт использует старую атмосферу, у которых нет данных по температурам и давлению, или ещё в каких-то случаях, не знаю, не разбирал.
Таблица высот, метры:
Код:
 private static final float Height[] = {
0.0F, 500F, 1000F, 1500F, 2000F, 3000F, 4000F, 5000F, 6000F, 7000F,
8000F, 9000F, 10000F, 11000F, 12000F, 13000F, 14000F, 15000F, 16000F, 17000F,
18000F, 19000F, 20000F, 21000F, 22000F, 23000F, 24000F, 26000F, 28000F, 30000F,
32000F, 34000F, 36000F, 38000F, 40000F, 42000F, 44000F, 46000F, 48000F, 50000F,
52000F, 54000F, 56000F, 58000F, 60000F, 62000F, 64000F, 66000F, 68000F, 70000F,
72000F, 74000F, 76000F, 78000F, 80000F, 82000F, 84000F, 86000F, 88000F, 90000F,
92000F, 94000F, 96000F, 98000F, 100000F, 102000F, 104000F, 106000F, 108000F, 110000F,
112000F, 114000F, 116000F, 118000F, 120000F
Таблица температур, в градусах Кельвина:
Код:
 private static final float Temperature_GOST4401_81[] = {
288.15F, 284.9F, 281.651F, 278.402F, 275.154F, 271.906F, 268.659F, 255.676F, 249.187F, 242.7F,
236.215F, 229.733F, 223.252F, 216.774F, 216.65F, 216.65F, 216.65F, 216.65F, 216.65F, 216.65F,
216.65F, 216.65F, 216.65F, 217.581F, 218.574F, 219.567F, 220.56F, 222.544F, 224.527F, 226.509F,
228.49F, 233.744F, 239.282F, 244.818F, 250.35F, 255.878F, 261.403F, 266.925F, 270.65F, 270.65F,
269.031F, 263.524F, 258.019F, 252.518F, 247.021F, 241.527F, 236.036F, 230.549F, 225.065F, 219.585F,
214.263F, 210.353F, 206.445F, 202.541F, 198.639F, 194.738F, 190.842F, 186.946F, 186.65F, 186.65F,
186.65F, 186.65F, 188.24F, 192.912F, 196.605F, 200.172F, 203.618F, 220.721F, 238.336F, 255.487F,
272.184F, 288.427F, 304.207F, 319.535F, 334.417F
Как я понял, это базовые значения для 0 м, они обсчитываются в зависимости от высоты по формуле, которая учитывает температуру карты [WORLDPOS] TEMPERATURE = 25. Эти данные справедливы для старых патчей. Для нового алгоритма есть отдельный файл с данными, там данные расписаны для 4 сезонов в зависимости от широты. Как я понял, есть данные для 0 метров, движок выбирает нужную широту и сезон, потом берёт базовые значения, по формуле рассчитывает температуры относительно температуры поверхности. Формулу вытащить не могу из-за практически полного незнания джавы.
Для большей конкретики надо спрашивать Рому (yt2), это он делал новую атмосферу. Я лишь сказал то, что лежит на поверхности.
Dimas1999 вне форума   Ответить с цитированием