|
|
Опции темы | Поиск в этой теме | Опции просмотра |
31.03.2019, 01:24 | #1 |
Пытающийся полететь
|
Заготовка мода регулировки SensYaw(управляемость) на земле.
Здравствуйте.
Ну из названия темы видно, что это не мод. Это описание возможного создания мода. А сделано это из соображений, что я то на версии 4_09 развлекаюсь.. Другие же наверное ушли вперед в версия ИЛ-2. Но все, что будет написано ниже применимо я думаю к любой версии и любой желающий или сделает мод под разные версии игры или соберет для себя мод и будет ЕДИНОЛИЧНО летать на своей версии выше чем 4_09. В первую очередь хочу поблагодарить коллег по цеху "Авиаскинс" Дмитрия(Asura) и Романа(yt2) за помощь в решении этой проблеммы. Некоторыми подсказками они существенно помогли !!! О чем же будет речь ? А вот о чем. Озадачился я как-то излишней управляемостью самолетов при движении по земле во время рулежек и самое главное во время разбега на взлете и пробега на посадке. Исследования меня привели к необходимости введения разной чувствительности руля направления на земле и в воздухе. В итоге родилось мое видение проблеммы и мое решение. Возможно более квалифицированные программисты решили бы все по другому. Ну тут прошу принять это как : "Я художник, я так вижу..." Начнем: Во всех версия ИЛ-2 имеется класс FlightModelMain он немного отличается от версии к версии, но те места куда будем вмешиваться я думаю одинаковы у всех версий. Естественно, если используется класс FlightModelMain из мода DiffFM определенной версии игры, то и вмешиваться надо именно в него !! Для дефолтных версий игры не использующих мод DiffFM править надо дефолтный класс FlightModelMain. В класс FlightModelMain надо добавить код выделенный красным, выше и ниже для ориентира приведены дефолтные строки VmaxFLAPS = sectfile.get(s2, "VmaxFLAPS", 1.0F); VminFLAPS = sectfile.get(s2, "VminFLAPS", 1.0F); SensYaw = sectfile.get(s2, "SensYaw", 1.0F); SensYawAir = sectfile.get(s2, "SensYaw", 1.0F); SensYawGround = sectfile.get(s2, "SensYawGround", 0.0F); if(SensYawGround == 0.0F) SensYawGround = SensYawAir; SensPitch = sectfile.get(s2, "SensPitch", 1.0F); SensRoll = sectfile.get(s2, "SensRoll", 1.0F); Общая расшифровка и описание кода нового: SensYawAir = sectfile.get(s2, "SensYaw", 1.0F); Это фиксация параметра SensYaw из баттонса(или внешней ФМ) для случая самолет поднялся в воздух. SensYawGround Это новый параметр добавляемый в баттонс(или внешней ФМ) флайтмодели КОНКРЕТНОГО самолета для случая самолет находится на земле на взлете или коснулся земли на посадке. if(SensYawGround == 0.0F) SensYawGround = SensYawAir; Это если нет параметра SensYawGround нового во флайтмодели в баттонсе(или внешней ФМ), то используется ВСЕГДА И ВЕЗДЕ обычный параметр чувствительности руля направления имеющийся в баттонсе(или внешней ФМ). И управляемость одинакова для земли и воздуха. Тоесть данный код по идеи не должен никак влиять ни на какие самолеты, у которых нету этого нового параметра SensYawGround и нового в кода в классе КОНКРЕТНОГО самолеты . Последний раз редактировалось carsmaster; 31.03.2019 в 01:32. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|