Previous Entry Share Next Entry
S.T.A.L.K.E.R OGG Comment Fixer - ! Invalid ogg-comment version, file + ! Missing ogg-comment
MasterBoy1
tervel

S.T.A.L.K.E.R OGG Comment Fixer v.0.07 build 2015.0204



Программа для игры S.T.A.L.K.E.R Тень Чернобыля (возможно и остальных версий) - "автоматическая" правка "ошибки" комментариев в файлах ogg,
т.е. исправления ошибок в log файле типа:

! Invalid ogg-comment version, file: \s.t.a.l.k.e.r. shadow of chernobyl\gamedata\sounds\ambient\rnd_outdoor\rnd_krik9.ogg
! Missing ogg-comment, file: \s.t.a.l.k.e.r. shadow of chernobyl\gamedata\sounds\characters_voice\human_01\freedom\fight\hit\hit_1.ogg




Ссылка на скачивание (исходники внутри) : https://yadi.sk/d/QZj35p2JeTY3y

разработка в Code::Blocks 13.12
сборка в mingw32-gcc version 4.8.2 (GCC)

S.T.A.L.K.E.R OGG Comment Fixer v.0.07 build 2014.0324
oggcommentfix.exe - fix comment in ogg file(s)
Usage: oggcommentfix -<command><value>...--<command>=<value>...[file.ogg]

Commands:
-l,--log_file - включение лога, и вывод всех действий в него (имя по умолчанию oggcommentfix.log)
-C,--correct - включение автоматической корректировки ogg-comment
по умолчанию устанвливается:
Quality: 3
MinDist: 1.00
MaxDist: 24.00
MaxAIDist: 24.00
BaseVolume: 1.00
GameType:World ambient .
-Cq;mid;mad;maid;bv;gt , --correct=q;mid;mad;maid;bv;gt - корректировки ogg-comment c параметрами: Quality;MinDist;MaxDist;MaxAIDist;BaseVolume;GameTypes
-CHxxxxxxxxxxxxxxxx , --correcthex=xxxxxxxxxxxxxxxx - корректировки ogg-comment в виде HEX дампа xxxxxxx, размером 48 символов (т.е. 24 байта)
-D,--delete - удаление файла если ogg-comment есть и "он правильный" , специально для подготовки апдейтов и патчей.
-F,--folder - сканирование каталога (по умолчанию откуда запустили)
-I,--info - вывод большего кол-ва информации.
-IH - также выводит ogg-comment в HEX формате.
-Y,--yes - позволяет корректировать, если ogg-comment - уже есть.
-h,--help - собственно сама помощь.

===
Известные баги:
- программа не работаем (ругается на открытие файла), если в пути есть пробел.
- протокол работы (ключ -l) перезаписывается поверх.
- программа не дает корректировать, если .ogg содержит корректный ogg-comment (это фича, а не баг), нужен ключ -Y


===
Примеры работы:
1. копируем каталог звуков (D:\S.T.A.L.K.E.R. Shadow of Chernobyl\gamedata\sounds\) во временный каталог (D:\gamedata_tmp\sounds\)
2. запускаем программу с ключами ведения лога и указываем каталог со звуками:
> oggcommentfix.exe -l -FD:\gamedata_tmp\sounds\
получаем oggcommentfix.log
---
file:D:\gamedata_tmp\sounds\ambient\rnd_outdoor\rnd_shooting_6.ogg size: 73402
Q: 3 MinD: 30.0000 MaxD: 200.0000 MaxAID: 150.0000 BsVl: 1.0000 | World ambient
file:D:\gamedata_tmp\sounds\ambient\rnd_outdoor\rnd_shooting_9.ogg size: 33722
Q: 3 MinD: 30.0000 MaxD: 200.0000 MaxAID: 150.0000 BsVl: 1.2500 | World ambient
file:D:\gamedata_tmp\sounds\ambient\rnd_outdoor\rnd_wind_tree.ogg size: 42237
Q: 3 MinD: 30.0000 MaxD: 200.0000 MaxAID: 200.0000 BsVl: 1.2500 | World ambient
file:D:\gamedata_tmp\sounds\ambient\siren1.ogg size: 163983
No ogg-comment or invalid version.
file:D:\gamedata_tmp\sounds\ambient\siren2.ogg size: 163983
No ogg-comment or invalid version.
file:D:\gamedata_tmp\sounds\ambient\sparks1.ogg size: 53114
Q: 3 MinD: 0.2000 MaxD: 4.7500 MaxAID: 4.7500 BsVl: 1.1500 | World ambient
---
Сокращения указанных параметров :
Q: - Quality
MinD: - MinDist
MaxD: - MaxDist
MaxAID: - MaxAIDist
BsVl: - BaseVolume
| World ambient - GameType

Подробнее: http://stalkerin.gameru.net/wiki/index.php?title=Sound_Editor

3. удаляем заведомо корректные .ogg , готовим будущий патч:
> oggcommentfix.exe -l -D -FD:\gamedata_tmp\sounds\
программа запросит разрешение на удаление, [Y]

4. запускаем коррекцию оставшихся файлов:
> oggcommentfix.exe -l -C -FD:\gamedata_tmp\sounds\
или задаем параметры ogg-comment
> oggcommentfix.exe -l -C3;1;24;24;1;0 -FD:\gamedata_tmp\sounds\

===
История версий:
v 0.07 от 04.02.2015
[*] доработан собственный алгоритм добавления/изменения комментария в файлах .ogg ,
теперь нет необходимости во внешних утилитах.

v 0.06 от 24.03.2014
[*] добавлена возможность вставлять собственные параметры ogg-comment с ключем -C
-Cq;mid;mad;maid;bv;gt , --correct=q;mid;mad;maid;bv;gt , где числа :
q - Quality (целое)
mid - MinDist (с плавающей запятой)
mad - MaxDist (с плавающей запятой)
maid - MaxAIDist (с плавающей запятой)
bv - BaseVolume (с плавающей запятой)
gt - GameType (целое)
Типы GameType :
0:undefined
134217856:World ambient
134217984:Object exploding
134218240:Object colliding
134218752:Object breaking
268437504:Anomaly idle
536875008:NPC eating
536879104:NPC attacking
536887296:NPC talking
536903680:NPC step
536936448:NPC injuring
537001984:NPC dying
1077936128:Item using
1082130432:Item taking
1090519040:Item hiding
1107296256:Item dropping
1140850688:Item picking up
2147745792:weapon recharging
2148007936:Weapon bullet hit
2148532224:Weapon empty clicking
2149580800:Weapon shooting
---
[*] добавлен ключ -CH , --correcthex , позволяет вставлять собственные параметры ogg-comment в виде HEX dump (48 символов, т.е. 24 байта).

===
Техническое описание механизма корректировки (до версии 0.06 включительно):
т.к. пока еще не доработан механизм корректной вставки ogg-comment, используются внешние утилиты
1. запускается `VorbisComment.exe -t "TRACKNUMBER=123456789012" -w имя_файла.ogg` , удаляем все комментарии и вставляется только один, длинной 24 байта.
2. поверх комментария TRACKNUMBER=123456789012 , записывается готовая "HEX матрица" .
3. полируем (корректируем) чек-суммы страниц в выходном .ogg файле.
===

v 0.05 от 12.03.2014
[*] добавлен собственный алгоритм корректировки crc32 в файлах ogg, теперь нет необходимости во внешней утилите fixoggcs.exe .
[-] убрано создание null файлов в каталогах

v 0.04 от 12.03.2014
[*] изменены флаги сборки программы, теперь не требуется внешняя .dll библиотека .

v 0.03 от 09.03.2014
[+] добавлен ключ -Y , позволяет корректировать, если ogg-comment - уже есть.
[*] изменены значения устанавливаемые по умолчанию :
Quality: 3
MinDist: 1.00
MaxDist: 24.00
MaxAIDist: 24.00
BaseVolume: 1.00
Game Type - World ambient

v 0.02 от 02.03.2014
[+] добавлен ключ -IH , выводит ogg-comment в HEX формате, раньше выводился всегда по ключу -I
[+] добавлен вывод параметра Quality (НО! в доках указано что это с плавающей запятой, но кроме целого числа = 3 ничего не встретил)
[*] изменен формат вывода MinDist,MaxDist,MaxAIDist (с 2 знаками после запятой)
[-] исправлен баг с протоколом работы (не хотел писать в указанный файл)

v 0.01 от 28.02.2014
[+] идея написания появилась 26.02.2014
[+] первый рабочий вариант был закончен 28.02.2014
значения устанавливаемые по умолчанию:
Quality: 3
MinDist: 1.00
MaxDist: 1.00
MaxAIDist: 1.00
BaseVolume: 1.00
Game Type - undefined

===
Благодарности за идеи:
xchatx и Bane_v2 - http://www.gamefaqs.com/boards/540331-stalker-shadow-of-chernobyl/43002734
loxotron - http://stalkerin.gameru.net/wiki/index.php?title=OGG_комментирование
AMK Team & Сяк, Сахаров - http://stalkerin.gameru.net/wiki/index.php?title=Sound_Editor
Swerg и VEG - http://vorbis.org.ru/forum/viewtopic.php?t=223
ytrfamli - http://forum.xentax.com/viewtopic.php?f=17&t=5314

Огромное спасибо за исходники "Редактора сталкерских комментариев в Ogg-звуках"
Sin! и Shoker : http://www.amk-team.ru/forum/index.php?showtopic=1481&p=797305
Замечено !!!:
Редактора сталкерских комментариев в Ogg-звуках (OGGEditor.exe) не показывает/редактирует информацию, если в ogg указан vender отличный от "Xiph.Org libVorbis I 20050304"

Также благодарность за исходники "Пример кода, работающего с OGM файлом"
George Shuklin - http://shounen.ru/docs/ogm/ogm.shtml

За корректно работающий алгоритм crc32, подходящий для OGM .
Ken Christensen - http://www.csee.usf.edu/~christen/tools/crc32.c

Отдельное спасибо nihilant за fixoggcs.exe
И Ross Levis за VorbisComment.exe - http://winvorbis.stationplaylist.com

================================================================================
Исходные тексты можно использовать в рамках лицензии LGPL v3.0 с указанием автора.
http://www.gnu.org/licenses/gpl-3.0.html
================================================================================

  • 1
Это вы правильно сказали :)

Не корректно работает задание своих параметров

прописываю так:
oggcommentfix.exe -l -Y -C3;3;150;40;1;536879104 -F(моя папка)

На выходе получаю:
Q: 3 MinD: 3.0000 MaxD: 150.0000 MaxAID: 0.0000 BsVl: 40.0000 | undefined

При этом ключ -C с дефолтными значениями прописывает всё верно.
Что делать? Очень надеялся на эту утилиту, т.к. есть необходимость обработать практически всю озвучку в Сталкер ТЧ...

  • 1
?

Log in

No account? Create an account