Новости В Heroes of Might and Magic 3 теперь можно поиграть в веб-браузере
  • 108
  • 0
Совсем недавно энтузиасты из России смогли портировать игру HoMM3 в браузер. Причем веб-версия позволяет пройти все сюжетные компании и даже поиграть по сети. Чтобы сыграть в классику необходимо...
Новости Зал Славы российского геймдева - кто вошел в этом году?
  • 380
  • 7
Зал Славы - проект, который был создан в прошлом году для увековечивания достижений российских разработчиков, киберспортсменов, а также ключевых фигур российского геймдева. Инициатором проекта...
Новости Of Ash and Steel - Ответы на вопросы №4 от 20 декабря 2024 года
  • 278
  • 0
Ответы на вопросы №4 от 20 декабря 2024 года Приветствую вас, искатели приключений! Спасибо за все вопросы, которые вы оставили нам в Steam и Discord по игре Of Ash and Steel. Сегодня мы...
Новости Of Ash and Steel - Ответы на вопросы №3 от 13 декабря 2024 года
  • 231
  • 0
Ответы на вопросы №3 от 13 декабря 2024 года Приветствую вас, искатели приключений!. Спасибо за все вопросы, которые вы оставили нам в Steam и Discord об игре Of Ash and Steel. Добро пожаловать...

Возвращение 2.0 Замена новой музыки на старую

RAXVIK

Новичок
Участник форума
Регистрация
3 Фев 2018
Сообщения
9
Реакции
3
Баллы
8
Лучшие ответы
0
версии игры 0056, возможно в настройках самой игры уже после добавили какие опции для этого
У меня версия 0.66 R2. У знакомого та же версия и тоже zMusic16ChannelsOnly ставится в 1. Много чего перепробовал, поменять значение не выходит, игра автоматом переводит в 1. Возможно еще попробую всякие редакторы переменных типа Artmoney, Detective Story.
 
Последнее редактирование модератором:

RAXVIK

Новичок
Участник форума
Регистрация
3 Фев 2018
Сообщения
9
Реакции
3
Баллы
8
Лучшие ответы
0
Итак... Значит просканировал я vdf файлы в папке Data при помощи GothicVDFS, повытягивал где было MUSIC.DAT и декомпилировал с помощью GothicSourcer. Проверил music.d и MusicInst.d. В них всё нормально, numchannels всегда 32. Так я пришел к выводу что дело в чем-то другом... И нашел в чем...
Разрабы мода, подправьте свою dll - AST.dll. Через неё происходит задание zMusic16ChannelsOnly постоянно в 1. :fp:
Короче, как временный фикс чтобы вернуть 32 канала для музыки делаете следующее:
1. Открываете AST.dll в папке System с помощью любого текстового редактора(я использовал notepad++).
2. Ищете слово zMusic16ChannelsOnly.
3. Заменяете слово zMusic16ChannelsOnly на любое другое ТАКОЙ ЖЕ длины(если длина другая, то вы сломаете хэш файла и игра не будет запускаться). Т. е. введите любое слово длиной 20 символов. Я проставил буковки z:
zzzzzzzzzzzzzzzzzzzz
4. Сохраните изменения в файле AST.dll.
5. Откройте с помощью текстового редактора файл Gothic.ini в той же папке System.
6. Найдите zMusic16ChannelsOnly и сделайте ему =0.
7. Сохраните изменения в файле Gothic.ini
Всё готово, я пока особо не тестировал, по-этому, прежде чем делать всё выше-написанное, сделайте у себя копию файла AST.dll чтобы восстановить его если вдруг что.

P. S.
После запуска игры в Gothic.ini наблюдается интересная картина:
Игра больше не изменяет поле zMusic16ChannelsOnly, но так же дописывает новое поле, которым мы заменили zMusic16ChannelsOnly в файле AST.dll т. е. у меня в Gothic.ini появилось следующее:
zzzzzzzzzzzzzzzzzzzz=1

Такое впечатление что внутри AST.dll стоит проверка:
if (GameUsing32Channels)
{
DoSomeShitToMakeItUse16Channels();
}
Из-за этого игра постоянно делает запись в gothic.ini чтобы вернуть 16 каналов. Но поскольку мы похимичили с AST.dll, то вернуть ничего не удастся. И игра будет постоянно писать в файл gothic.ini изменения и это может привести к тормозам(у меня вроде тормозов не было, но всё же).
Я не пойму каков был смысл так жестко ограничивать музыку до 16 каналов. Экономия оперативной памяти? Особо на этом не сэкономишь. Максимум выиграешь еще 5 мин жизни игры прежде чем она завалится из-за перевала используемой памяти за 3 или сколько там гигабайта.
 
Последнее редактирование модератором:

GeorG

Чародей божьего бага
Команда форума
Администратор форума
Пользователь VIP
Почётный пользователь
 
Участник форума
Регистрация
31 Мар 2010
Сообщения
20.503
Реакции
5.378
Баллы
1.181
Лучшие ответы
84
Заменяете слово zMusic16ChannelsOnly на любое другое ТАКОЙ ЖЕ длины(если длина другая, то вы сломаете хэш файла и игра не будет запускаться). Т. е. введите любое слово длиной 20 символов. Я проставил буковки z:
zzzzzzzzzzzzzzzzzzzz
Какой-то адский метод :D
А просто прописать там 0 нельзя, зачем всё переименовывать?
И правильнее это делать не в текстовом редакторе, а наверное всё же в шестнадцатеричном редакторе.
 

RAXVIK

Новичок
Участник форума
Регистрация
3 Фев 2018
Сообщения
9
Реакции
3
Баллы
8
Лучшие ответы
0
А просто прописать там 0 нельзя, зачем всё переименовывать?
И правильнее это делать не в текстовом редакторе, а наверное всё же в шестнадцатеричном редакторе.
Ну да, с переименованием я погорячился) достаточно изменить какую-нибудь букву в слове zMusic16ChannelsOnly. Просто поставить 0 не катит т. к. во первых нельзя переменные называть начиная с цифр, во вторых если заменить zMusic16ChannelsOnly на слово другой длины, то поломаете dll-ку(если я правильно понял воспрос: нельзя ли просто поставить 0). По поводу шестнадцатеричного редактора согласен, просто не особо часто их применял, по-этому как-то даже и в голову не пришло.
 

GeorG

Чародей божьего бага
Команда форума
Администратор форума
Пользователь VIP
Почётный пользователь
 
Участник форума
Регистрация
31 Мар 2010
Сообщения
20.503
Реакции
5.378
Баллы
1.181
Лучшие ответы
84
Просто поставить 0 не катит т. к. во первых нельзя переменные называть начиная с цифр
Так я говорил не про то чтобы начинать переменную с цифры, я про то, чтобы заменить значения переменной с 1 на 0 :D

Если там этого делать нет возможности, тогда другое дело, но вот так прописывать наобум чего-то, тоже неправильно, когда не знаешь что может выйти из строя, из-за этого (хотя если там простой поиск и замена по регулярному выражению, то ничего страшного).
 

mazaff

Новичок
Участник форума
Регистрация
2 Фев 2018
Сообщения
12
Реакции
0
Баллы
7
Лучшие ответы
0
Итак... Значит просканировал я vdf файлы в папке Data при помощи GothicVDFS, повытягивал где было MUSIC.DAT и декомпилировал с помощью GothicSourcer. Проверил music.d и MusicInst.d. В них всё нормально, numchannels всегда 32. Так я пришел к выводу что дело в чем-то другом... И нашел в чем...
Разрабы мода, подправьте свою dll - AST.dll. Через неё происходит задание zMusic16ChannelsOnly постоянно в 1. :fp:
Короче, как временный фикс чтобы вернуть 32 канала для музыки делаете следующее:
1. Открываете AST.dll в папке System с помощью любого текстового редактора(я использовал notepad++).
2. Ищете слово zMusic16ChannelsOnly.
3. Заменяете слово zMusic16ChannelsOnly на любое другое ТАКОЙ ЖЕ длины(если длина другая, то вы сломаете хэш файла и игра не будет запускаться). Т. е. введите любое слово длиной 20 символов. Я проставил буковки z:
zzzzzzzzzzzzzzzzzzzz
4. Сохраните изменения в файле AST.dll.
5. Откройте с помощью текстового редактора файл Gothic.ini в той же папке System.
6. Найдите zMusic16ChannelsOnly и сделайте ему =0.
7. Сохраните изменения в файле Gothic.ini
Всё готово, я пока особо не тестировал, по-этому, прежде чем делать всё выше-написанное, сделайте у себя копию файла AST.dll чтобы восстановить его если вдруг что.

P. S.
После запуска игры в Gothic.ini наблюдается интересная картина:
Игра больше не изменяет поле zMusic16ChannelsOnly, но так же дописывает новое поле, которым мы заменили zMusic16ChannelsOnly в файле AST.dll т. е. у меня в Gothic.ini появилось следующее:
zzzzzzzzzzzzzzzzzzzz=1

Такое впечатление что внутри AST.dll стоит проверка:
if (GameUsing32Channels)
{
DoSomeShitToMakeItUse16Channels();
}
Из-за этого игра постоянно делает запись в gothic.ini чтобы вернуть 16 каналов. Но поскольку мы похимичили с AST.dll, то вернуть ничего не удастся. И игра будет постоянно писать в файл gothic.ini изменения и это может привести к тормозам(у меня вроде тормозов не было, но всё же).
Я не пойму каков был смысл так жестко ограничивать музыку до 16 каналов. Экономия оперативной памяти? Особо на этом не сэкономишь. Максимум выиграешь еще 5 мин жизни игры прежде чем она завалится из-за перевала используемой памяти за 3 или сколько там гигабайта.

Вообщем из того, что я понял. Надо для начала узнать для чего было сделано ограничение в 16 каналов у разрабов мода. Потом их же попросить убрать ограничение(если оно не влияет на что-то серьезно), либо искать рукастого человека который мог бы убрать это ограничение в 16 каналов так, что бы не возникало проблем в виде бесконечной записи строки в Gothic.ini.
А то получается костыль на костыль меняется.

Сам я побаиваюсь таким образом возвращать музыку ибо мой старенький ноут на котором я периодически играю в Готику уж ну очень слабый. Быть может я не так понял и не такое сильное влияние на производительность может иметь постоянно редактирующейся gothic.ini?
p.s. у меня 2гб оперативы старой, одно ядро с частотой 2.0ghz и видеокарта с 516мб памяти.
 

GeorG

Чародей божьего бага
Команда форума
Администратор форума
Пользователь VIP
Почётный пользователь
 
Участник форума
Регистрация
31 Мар 2010
Сообщения
20.503
Реакции
5.378
Баллы
1.181
Лучшие ответы
84
Быть может я не так понял и не такое сильное влияние на производительность может иметь постоянно редактирующейся gothic.ini?
На производительность редактирующийся gothic.ini никак не влияет, это делается и так по мере изменения параметров в настройках самой игры.
 

mazaff

Новичок
Участник форума
Регистрация
2 Фев 2018
Сообщения
12
Реакции
0
Баллы
7
Лучшие ответы
0
Итак... Значит просканировал я vdf файлы в папке Data при помощи GothicVDFS, повытягивал где было MUSIC.DAT и декомпилировал с помощью GothicSourcer. Проверил music.d и MusicInst.d. В них всё нормально, numchannels всегда 32. Так я пришел к выводу что дело в чем-то другом... И нашел в чем...
Разрабы мода, подправьте свою dll - AST.dll. Через неё происходит задание zMusic16ChannelsOnly постоянно в 1. :fp:
Короче, как временный фикс чтобы вернуть 32 канала для музыки делаете следующее:
1. Открываете AST.dll в папке System с помощью любого текстового редактора(я использовал notepad++).
2. Ищете слово zMusic16ChannelsOnly.
3. Заменяете слово zMusic16ChannelsOnly на любое другое ТАКОЙ ЖЕ длины(если длина другая, то вы сломаете хэш файла и игра не будет запускаться). Т. е. введите любое слово длиной 20 символов. Я проставил буковки z:
zzzzzzzzzzzzzzzzzzzz
4. Сохраните изменения в файле AST.dll.
5. Откройте с помощью текстового редактора файл Gothic.ini в той же папке System.
6. Найдите zMusic16ChannelsOnly и сделайте ему =0.
7. Сохраните изменения в файле Gothic.ini
Всё готово, я пока особо не тестировал, по-этому, прежде чем делать всё выше-написанное, сделайте у себя копию файла AST.dll чтобы восстановить его если вдруг что.

P. S.
После запуска игры в Gothic.ini наблюдается интересная картина:
Игра больше не изменяет поле zMusic16ChannelsOnly, но так же дописывает новое поле, которым мы заменили zMusic16ChannelsOnly в файле AST.dll т. е. у меня в Gothic.ini появилось следующее:
zzzzzzzzzzzzzzzzzzzz=1

Такое впечатление что внутри AST.dll стоит проверка:
if (GameUsing32Channels)
{
DoSomeShitToMakeItUse16Channels();
}
Из-за этого игра постоянно делает запись в gothic.ini чтобы вернуть 16 каналов. Но поскольку мы похимичили с AST.dll, то вернуть ничего не удастся. И игра будет постоянно писать в файл gothic.ini изменения и это может привести к тормозам(у меня вроде тормозов не было, но всё же).
Я не пойму каков был смысл так жестко ограничивать музыку до 16 каналов. Экономия оперативной памяти? Особо на этом не сэкономишь. Максимум выиграешь еще 5 мин жизни игры прежде чем она завалится из-за перевала используемой памяти за 3 или сколько там гигабайта.
Ну, я всё же решил попробовать таким способом вернуть музыке былой звук, но тут же столкнулся с проблемой. При открытии Ast.dll через notepad++ у меня там всё вот в таком (їЫђwыєю$ыєю$ыєю$Ў1$щ). Пытался гуглить и исправить своими руками, но не смог, слишком тупой видать. Может автор исправления помочь с этим или кто-то другой подсказать устранение данной проблемы?
 

GeorG

Чародей божьего бага
Команда форума
Администратор форума
Пользователь VIP
Почётный пользователь
 
Участник форума
Регистрация
31 Мар 2010
Сообщения
20.503
Реакции
5.378
Баллы
1.181
Лучшие ответы
84

RAXVIK

Новичок
Участник форума
Регистрация
3 Фев 2018
Сообщения
9
Реакции
3
Баллы
8
Лучшие ответы
0
При открытии Ast.dll через notepad++ у меня там всё вот в таком (їЫђwыєю$ыєю$ыєю$Ў1$щ)
Ну, оно у всех так будет при открытии через обычный текстовый редактор. Просто открой Ast.dll через текстовый редактор и нажми "Ctrl+F". Откроется окно поиска - вбей туда zMusic16ChannelsOnly и жми на кнопку поиска. Находишь zMusic16ChannelsOnly и меняешь.

Прикрепил к сообщению свою AST.dll с фиксом для zMusic16ChannelsOnly. Не забудьте сделать резервную копию своих файлов перед тем как менять что-то.
--- Добавлено: ---

Кроме того с этим фиксом наиграл уже несколько часов. Разницы в производительности или в том как игра пожирает ресурсы не заметил вообще.
 

Вложения

  • 260 КБ Просмотров: 33
Последнее редактирование модератором:
Сверху Снизу