| Автор | 
		Сообщение | 
	
	
		MAZter[iddqd] -= WebMaster =-
   |   |  | 1425 |  
 
  | 
		
			
				  Отправлено: 24.12.06 08:58:28 | 
				 |  
			
  |  
			Как с помощью XWE создать патч, переименовывающий оригинальное имя класса?
 
 
Нужно для того чтобы создать патч для исправления RTC-3057 под новую версию ZDoom.
 
 
В исходном ваде содержится DECORATE:
 
 
		  pickup pistol
 
{
 
//$Category RTC-3057/Weapons
 
DoomEdNum 6001
 
Sprite SPIS
 
Frames "A"
 
Radius 4
 
Height 8
 
PickupMessage "You got the pistol!"
 
PickupSound "DSWPNUP"
 
} | 	  
 
Если я правильно понял, в новом движке ZDoom все классы стали подключаться регистронезависимо, поэтому новый класс "pistol" конфликтует с существующим в оригинальном Думе "Pistol". При запуске ZDoom выдает ошибку: "Tried to register class 'Pistol' more than once."
 
 
Как это делается, через Decorate, или Dechacked патч? В туториалах ZDoom Wiki я не нашел ничего по словам "Delete class", "Rename actor", или "Unregister class"... нужно бы сделать подключаемый перед RTC-3057 вадник, который переименует существующий класс.
 
 
На форуме ZDoom была такая тема, только ответов нет.    |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		Guest Chief Petty Officer
   |  | 878 |  
 
  | 
		
			
				  Отправлено: 24.12.06 10:54:32 | 
				 |  
			
  |  
			На форуме Гоззо тоже обсуждалась, причем ажно несколько раз. Вот одна из таких тем:
 
http://forum.drdteam.org/viewtopic.php?t=2108&a...0cf5ac68c8c1bc1b0
 
 
А по сути я тоже с этой проблемой сталкивался и решается она произвольным изменением имени актора (я к "пистолу" приписал единичку, н-р). Но вообще это счастливый случай, что на этом все и заканчивается. |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		nprotect = Warrant Officer =
   |  | 997 |  
 
  | 
		
			
				  Отправлено: 24.12.06 10:58:25 | 
				 |  
			
  |  
			 	  | Guest : | 	 		  | А по сути я тоже с этой проблемой сталкивался и решается она произвольным изменением имени актора (я к "пистолу" приписал единичку, н-р). | 	  
 
во-во-во, я тоже изменил имя pistol на pistol2, и всё вроде работает |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		dukenator = Corporal =
   |  | 169 |  
 
  | 
		
			
				  Отправлено: 24.12.06 14:09:02 | 
				 |  
			
  |  
			Такой прием очч распространен.
 
Pistol2,Baronofhell666,NewRocketLauncher....
 
Но все-таки...
 
Можноли с помощью decorate натурально переименовать класс?
 
   |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		dukenator = Corporal =
   |  | 169 |  
 
  | 
		
			
				  Отправлено: 24.12.06 14:25:15 | 
				 |  
			
  |  
			Совсем уж не по теме:
 
Maz,Как юзать aeons of death?
 
у меня гоззо 1018.   |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		nprotect = Warrant Officer =
   |  | 997 |  
 
  | 
		
			
				  Отправлено: 24.12.06 14:45:23 | 
				 |  
			
  |  
			dukenator
 
на 1021 всё работает, на 1018 не пробовал |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		MAZter[iddqd] -= WebMaster =-
   |   |  | 1425 |  
 
  | 
		
			
				  Отправлено: 24.12.06 19:24:04 | 
				 |  
			
  |  
			 	  | Guest : | 	 		  | решается она произвольным изменением имени актора | 	  
 
Как в XWE исправлять я знаю, но выкладывать ради этого "исправленный" большой вад на сайт или тем у кого нет XWE объяснять как исправлять - не наш метод   
 
 
Есть какое-нибудь патчевое решение в виде нескольких байт? |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		Guest Chief Petty Officer
   |  | 878 |  
 
  | 
		
			
				  Отправлено: 24.12.06 19:55:33 | 
				 |  
			
  |  
			 	  | MAZter[iddqd] : | 	 		  | Как в XWE исправлять я знаю, но выкладывать ради этого "исправленный" большой вад на сайт или тем у кого нет XWE объяснять как исправлять - не наш метод  | 	  
 
Но к ваду Demonized в посткриптуме лежит образец деха, устраняющего ошибки несовместимости. Здесь можно сделать также. Ну а если не устраивает, то по указанной выше ссылке Граф говорил, что имя атора (пистолета) нигде не фигурирует, поэтому можно локализовать простым поиском и наверняка можно накидать прогу, которая по тому адресу перетасует буковки   Впрочем, я не программер, пусть тебе более грамотные в данном вопросе люди подскажут. |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		Const - Master Corporal -
   |  | 274 |  
 
  | 
		
			
				  Отправлено: 24.12.06 23:43:06 | 
				 |  
			
  |  
			Начиная с ZDoom 2.1.2 можно заменять классы при помощи DECORATE. То есть даже если бы pistol где-то использовалось можно было бы сделать
 
		  actor pistol : FakeInventory replaces pistol {
 
//...
 
} | 	   |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		MAZter[iddqd] -= WebMaster =-
   |   |  | 1425 |  
 
  | 
		
			
				  Отправлено: 25.12.06 00:16:15 | 
				 |  
			
  |  
			Costja, ну загружаю твой DECORATE перед вадом, теперь пишет следующее:
 
 
Script error, "DECORATE" line 1:
 
Actor pistol is already defined. |  
 |  
  | 
      	
	
        
		 |  | 
	
	
		Const - Master Corporal -
   |  | 274 |  
 
  | 
		
			
				  Отправлено: 25.12.06 00:44:48 | 
				 |  
			
  |  
			Ну значит надо делать
 
		  actor pistol11 : FakeInventory replaces pistol {
 
//...
 
} | 	  
 
К тому же надо набрать ему содержимое и скорее всего его надо грузить после вада RTC |  
 |  
  | 
      	
	
        
		 |  |