| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (27.09.2019 01:47)Berserker Wrote:  В буфере по результату её выполнения должна быть отформатированная строка. Похоже на легальный относительный путь. 
И... значит эта команда не может отформатировать строку под новую версию ЭРА (я в Си ничего не понимаю, если что):
 
Code:
 int artifact = atoi(ffd.cFileName);
 
???
			 |  | 
	| 27.09.2019 02:51 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (27.09.2019 02:59)Berserker Wrote:  Загрузи, пожалуйста, пример нерабочего плагина и тестовый конфиг к нему из одного или нескольких файлов. Мне также важно знать, как ты определяешь, что файлы не загружены. 
Мод ERA+, внутри - феаноровский плагин emerald_v202a.era.
 
Проверка: в папке data/artifacts лежат конфиги артефактов, задающие им свойства. Например я даю герою артефакт №249 - посох колдуна (даёт все заклинания 4-го уровня). Сразу должны появиться заклы в книге с заклинаниями героя, в ERA 2.7.7 заклинания появляются (т.е. конфиг грузится и обрабатывается), а в ERA 2.8.X - уже нет.
			 |  | 
	| 27.09.2019 03:10 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 27.09.2019 03:28 |  | 
	
		| helgtla   
   
 Posts: 302
 
 | 
			| 
 
				Berserker указанный Вами способ не помогает. Всё так же при завершении композиции во время боя- только ALT+TAB для рестарта мелодии.
			 
 Карта-мод:  STALKER
 |  | 
	| 27.09.2019 03:30 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 | 
			| 
 
				XEPOMAHT, проверил пару байт патча emerald.bin — применён. Можешь указать, байты какого патча по-твоему перезаписаны? Думаю, дело в том, что МоР в патчах опирался на старый код ВоГа, где у функций были логирующие пролог и эпилог. Вместо них сейчас NOP-ы. MoP менял в таких местах адрес вызова функций, не прописывая начальный опкод CALL. 
..конкретно в патче emerald.bin, который применяется, я проблем не вижу.
https://yadi.sk/i/mbx8gIxD3VWCpg 
Может быть, всё-таки один из феаноровских плагинов тоже на воговские пролог/эпилог где был завязан. Точно не скажу. Артефакт добавляется, отображается, но даёт Армаггеддон.
			 
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 27.09.2019 03:54 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 | 
			| 
 
				XEPOMAHT, понял! Отлично! )) Для этого и есть явное деление на BeforeWoG и AfterWoG.
 
Вот порядок загрузки плагинов и применения патчей:
 
Code:
 :LoadPlugins('era');
 EventMan.GetInstance.Fire('OnBeforeWoG', NO_EVENT_DATA, 0);
 BinPatching.ApplyPatches(GameDir + '\' + PATCHES_PATH + '\BeforeWoG');
 
 InitWoG;
 EraInit;
 
 LoadPlugins('dll');
 EventMan.GetInstance.Fire('OnAfterWoG', NO_EVENT_DATA, 0);
 BinPatching.ApplyPatches(GameDir + '\' + PATCHES_PATH + '\AfterWoG');
 
Так как у плагина старое расширение dll, то грузится он после применения двоичных патчей из BeforeWoG и после загрузки других плагинов с расширением era. Как раз для совместимости.
			 
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 27.09.2019 04:05 |  |