| Ben   
 Posts: 60
 
 | 
			|   
 
				Известно, что данная проблема была решена в HD моде.
 Однако, было интересно узнать подробности рецепта. Давно еще когда-то пробовал просто взять новые библиотеки, идущие вместе с HD модом - mss32.dll и MP3DEC.asi, но звук глючил (пробовал на ванильном SOD). После декомпиляции HD мода методом тыка решил попробовать занопить 6 байт начиная с 0x599B31 с помощью инжектированной Dll.
 Не помогло, хотя, как оказалось, идея была правильной - просто код по данному адресу выполняется очень рано.
 
 Итоговое решение именно такое, желательно только пропатчить экзешник до запуска. Как объяснил автор GLWrapper, Verok, там вызывается функция, устанавливающая размер фрагмента в 100. А при ее затирании используется значение по умолчанию.
 
 Небольшая проблема в том, что на некоторых современных системах при любых MSS32.dll и MP3DEC.asi идет отставание звука от картинки. На игровых форумах советуют отключать аппаратное ускорение звука
 (через dxdiag). В Вин 7 такой возможности нет, в отличие от XP, так что особо упорные копируют dsound.dll c XP. Говорят, это решает и более общие проблемы со звуком (но не всегда).
 |  | 
	| 17.06.2020 00:24 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 17.06.2020 00:29 |  | 
	
		| Ben   
 Posts: 60
 
 | 
			| 
 
				Ну, если инфу по хакингу-патчингу я предоставил точную, то с dsound.dll сам не пробовал ("одна бабка сказала"). Посты нагугливал старые, речь шла о Семерке. У кого-то - да, больше проблем, чем пользы. Но многим помогает.
			 |  | 
	| 17.06.2020 00:32 |  | 
	
		| Ben   
 Posts: 60
 
 | 
			| 
 
				Потестировал еще немного звуковые библиотеки из HD мода. Все-таки на некоторых системах они дают звук по качеству хуже, чем ванильные (отставание от картинки). Так что использовать их стоит, только если возникают проблемы с вылетами игры.
 Ну и жесткий патчинг экзешника, на самом деле, необязателен. Скажем, при использовании ASI плагина, который патчит указанные байты в памяти - все работает, как запланировано. Видимо, при DLL injection, который я изначально использовал, подгрузка в память поздновато происходит.
 ASI плагин - это по сути, обычная DLL, только расширение поменять. Подгружаются в память ASI файлы даже обычной ванильной игрой, с помощью библиотеки MSS. Без HD мода ASI файлы кладутся в корень игры, с HD модом - в _HD3_Data.
 |  | 
	| 18.06.2020 21:51 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 18.06.2020 22:39 |  | 
	
		| Ben   
 Posts: 60
 
 | 
			| 
 
				 (18.06.2020 22:39)Berserker Wrote:  Ben, засада с этим звуком. А на каких системах были лаги с библиотеками HD мода? 
Я, честно сказать, вообще не большой знаток железа. Любой геймер знает про видюхи и звуковухи больше меня. А я работаю над своими задачами на чем придется. 
Собственно, у меня почти везде были эти лаги, например, на моноблоке на работе   
Дома вот только стоит PC старенький, Core 2 Duo, Gigabyte GA-P35-S3G. Здесь все отлично.
			 |  | 
	| 18.06.2020 23:10 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				Ben, я полагаю, имелось ввиду на каких "операционках", а не "железе"
			 |  | 
	| 18.06.2020 23:15 |  | 
	
		| Ben   
 Posts: 60
 
 | 
			| 
 
				Да я на Семерке все работаю.  (18.06.2020 22:39)Berserker Wrote:  Ben, засада с этим звуком. А на каких системах были лаги с библиотеками HD мода? 
Ну, получается что в большинстве случаев проблемы решаемы. Либо ванильные библиотеки работают без вылетов, либо хдмодовские без лагов. Как-то так. 
В Героях 2 вот MP3 нет, и проблем таких нет. Наверно, и в Героях 3 можно MP3 переконвертировать и использовать другой формат.
			
				
(This post was last modified: 18.06.2020 23:27 by Ben.)
 |  | 
	| 18.06.2020 23:27 |  | 
	
		| Ben   
 Posts: 60
 
 | 
			| 
 
				Оказывается, GLWrapper может работать с WAV вместо MP3. Заменил в папке MP3 на вейвы - все нормально, все работает. Объем, конечно, немалый, на 830 МБ файлов WAV получилось. 
Исходники открыты, если что - https://github.com/Verokster/HeroesGL 
Шкурка может и не стоит выделки, но если есть интерес...
 
В общем, решения проблем со звуком ныне вагон и маленькая тележка.
			
				
(This post was last modified: 19.06.2020 01:12 by Ben.)
 |  | 
	| 19.06.2020 01:09 |  |