Может у кого сабж есть?
Я спрашиваю, потому что не хочу изобретать велосипед. Если нет, то можно попробовать написать свой.
Насколько я знаю, нужно использовать файлы KeyValues.cpp|~.h в качестве основных для парсинга.
И да, Phoenix использует "некошерный" метод чтения Gameinfo.txt, если что, а мне это теперь также нужно для парсинга installscript*.vdf. Уверен, что, если таковой найдется/напишу, то он будет полезен не только мне.
И ещё (просто интересно): никто незнает как называется способ представления данных в Gameinfo-подобных файлах: SteamML, SML (Steam Markup Language) или как-то ещё? Просто способ чтения и представления данных очень схож с XML, как вы могли заметить %) .
Парсер GameInfo.txt и подобных по структуре файлов
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
- Megalan
- Разработчик
- Сообщения: 335
- Зарегистрирован: 02.04.2007
- Благодарил (а): 1 раз
- Поблагодарили: 29 раз
- Контактная информация:
Ну этот способ вобще никак не называется :)
А читается это все очень просто (во всяком случае должно, код из hl2 beta)
Код
Наибольшая проблема наверное (IBaseFileSystem*)filesystem(), хотя как знать...
А читается это все очень просто (во всяком случае должно, код из hl2 beta)
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Хм...тогда для моего случая можно будет простеньку либу сообразить %) .
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
в SourceSDK все есть
kadet89 писал(а):Не врубился в этот алгоритм...но думаю моно попробовать через бинарник изменить саму команду...только вот в каком файле она?
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
koshmel
Да, я понял - поэтому и спрашиваю, что может у кого есть либо уже скомпиленный парсер или примеры...впрочем, и того, что здесь есть хватает...пожалуй, закрою. Всем спасибо.
Да, я понял - поэтому и спрашиваю, что может у кого есть либо уже скомпиленный парсер или примеры...впрочем, и того, что здесь есть хватает...пожалуй, закрою. Всем спасибо.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
У меня есть модуль, читающий файлы SteamScheme.res. Там вроде как структура таже.
Если надо - сегодня ночью выложу.
Если надо - сегодня ночью выложу.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Ну давай - раз уж на то пошло. Я просто думал, что нормального модуля чтения ни у кого нет, а свой скомпилить что-то не выходит...я чувствую себя ламером %)
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
Вот мой проект (хз какой давности уже). Тебе нужен класс pVALVEResourceFile из TypeLib.pas ;) Думаю, переписать будет несложно + можешь оптимизировать ибо я его тогда делал по принципу "абы работало".
Последний раз редактировалось $t@t!c_V()1D 03.02.2010, 01:11, всего редактировалось 2 раза.
Причина: Перезалил...вдруг кому понадобится
Причина: Перезалил...вдруг кому понадобится
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Как-то слишком...примитивно что ль %) . В keyvalues и XML-подобные getnextsibling|~prevsibling|~parent|~nextchildnode...впрочем ладно - оптимизировать, так оптимизировать.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!