AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Ил-2 Штурмовик: Забытые Сражения

Важная информация

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.09.2015, 11:52   #1
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 417
По умолчанию

Кол-во разделительных пробелов между значениями не принципиально. Парсер строк всё равно сплитит сроку по первому, а остальные отбрасывает. Т.е., они в тексте только место занимают.

Аналогично и с числами с плавающей точкой. Для печати значений я использую стандартную процедуру форматирования. Ей на вход передаётся строка формата и она самостоятельно, под эту строку формата, формирует результат. Для FP использую "%.6g". Т.е., выводится до шести знаков после запятой, не значащие нули отрезаются. Опять же, парсер разделяет значения по разделителю (у нас это пробел) и потом программа конвертирует получившуюся строку в требуемый для секции тип. Если секция должна содержать целые типы - конвертит в целые, если дробные - в дробные. При конвертации дробных, для процедуры, не имеют значения не значащие нули, для неё 1.30 и 1.3 полностью эквивалентны. Точно также эквивалентны и 1 и 1.0, она одинаково их переведёт в число с плавающей точкой нужной точности, требуемой для той, либо иной секции. Ведь о том, какую точность использовать, в строке информации нет и об этом знает только потребитель этих значений в виде конечной программы, работающей с этими данными.

В принципе, я могу задать другой формат для вывода и принудительно выводить значения для каких-то секций в другом виде. Например, всегда выводить N знаков после запятой (6-7), независимо от того, значащие они, либо нет. Но практического смысла в этом не будет, парсер всё равно незначащие нули скипнет. Подобный вывод обычно используют только в эстетических целях, там, где надо оформить красивые и ровные таблицы. В остальных случаях, особенно при большом кол-ве выводимой информации, стремятся ограничивать вывод избыточной и не несущей практического смысла информации. Потому что это значительно увеличивает объёмы и время работы парсера, потом с этими данными работающего.
NB79 вне форума   Ответить с цитированием
Старый 06.09.2015, 12:51   #2
yt2
Местный
 
Регистрация: 18.01.2012
Сообщений: 814
По умолчанию

Задача распаковщика BIN-mesh -> TXT-mesh в первую очередь, в том чтобы распакованный текстовый меш максимально точно соответствовал оригинальному файлу. Даже в мелочах типа числа пробелов, количестве чисел после запятой и прочим мелочам.
Конвертеру вьюер не особо и нужен. Должна быть и консольная версия для пакетной обработки файлов.
В первую строку текстового меша записывайте информацию о том, какой утилитой был распакован файл, типа
// Generated by N79Tool32 v1.17
указывайте версию программы, разрядность программы и т.п
в секцию хуков начинайте со строки содержащей комментарий
[HookLoc] // each row is locator (matrix): axisX axisY axisZ translation.
В конце файла рудиментная строка
; eof
и всё. ваш текстовый меш будет максимально приближен к исходному оригинальному мешу.
Будет корректный исходник с ним уже можно проводить операции изменения дистанции лодов, переименовывать коллижены или материалы, добавлять или править положение хуков, изменять имена хуков и.т.п.
yt2 вне форума   Ответить с цитированием
Старый 14.11.2015, 11:35   #3
Sita.
Местный
 
Регистрация: 12.04.2009
Сообщений: 5,102
По умолчанию

ну рас возвращаемся в русло беседы ... то я хотел бы ещё раз обратить внимание на вот этот пост Ут2 ... это реально нужная функция ...
Цитата:
Сообщение от yt2 Посмотреть сообщение
Задача распаковщика BIN-mesh -> TXT-mesh в
первую очередь, в том чтобы распакованный текстовый меш максимально точно соответствовал оригинальному файлу. Даже в мелочах типа числа пробелов, количестве чисел после запятой и прочим мелочам.
Конвертеру вьюер не особо и нужен. Должна быть и консольная версия для пакетной обработки файлов.
В первую строку текстового меша записывайте информацию о том, какой утилитой был распакован файл, типа
// Generated by N79Tool32 v1.17
указывайте версию программы, разрядность программы и т.п
в секцию хуков начинайте со строки содержащей комментарий
[HookLoc] // each row is locator (matrix): axisX axisY axisZ translation.
В конце файла рудиментная строка
; eof
и всё. ваш текстовый меш будет максимально приближен к исходному оригинальному мешу.
Будет корректный исходник с ним уже можно проводить операции изменения дистанции лодов, переименовывать коллижены или материалы, добавлять или править положение хуков, изменять имена хуков и.т.п.
ибо проведя какие либо работы с полученными файлами ... их потом надо обратно заковыривать в игру ... а если их подгонять под нужный вид в ручкую это тот ещё ад и геморой ...
__________________
ищется идейный Программер )
Sita. вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:43. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru