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: 16788 
	
		
	 | 
	
		
 | 
	| 27.09.2019 03:28 | 
	
		
	 | 
	
		
		helgtla 
 
 
		
		
		
			
			
 
 
			 
			
Posts: 303 
	
		
	 | 
	
		
			
			 
			
				Berserker указанный Вами способ не помогает. Всё так же при завершении композиции во время боя- только ALT+TAB для рестарта мелодии.
			 
			
			
  
Карта-мод:  STALKER
			
		 |  
	 
 | 
	| 27.09.2019 03:30 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
			
			 
			
				XEPOMAHT, проверил пару байт патча emerald.bin — применён. Можешь указать, байты какого патча по-твоему перезаписаны? Думаю, дело в том, что МоР в патчах опирался на старый код ВоГа, где у функций были логирующие пролог и эпилог. Вместо них сейчас NOP-ы. MoP менял в таких местах адрес вызова функций, не прописывая начальный опкод CALL. 
..конкретно в патче emerald.bin, который применяется, я проблем не вижу.
 https://yadi.sk/i/mbx8gIxD3VWCpg
Может быть, всё-таки один из феаноровских плагинов тоже на воговские пролог/эпилог где был завязан. Точно не скажу. Артефакт добавляется, отображается, но даёт Армаггеддон.
			  
			
			
  
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов 
Поддержать проект 
			
		 |  
	 
 | 
	| 27.09.2019 03:54 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
			
			 
			
				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 | 
	
		
	 |