Suft 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1222 
	
		
	 | 
	
		
			
			 
			
				void_17, Поля битвы при обработке топазом очень похожи на HD Edition - даже местами лучше 
Они какой-то другой (похожей) программой обрабатывали 
Кстати вот наводка - HD Edition хранят весь интерфейс с не перекраской цветов (синего как в оригинале) а отдельно изображения с другим цветом
			 
			
			
  
ERA HD Remaster 0.8.6: ENG-RU 
Сooperative no bugs:  Yandex / Google 
 
			
				
(This post was last modified: 08.07.2022 12:14 by Suft.)
 
			 
		 |  
	 
 | 
	| 24.01.2022 13:22 | 
	
		
	 | 
	
		
		void_17 
 
 
		
		
		
			
			
			 
			
Posts: 39 
	
		
	 | 
	
		
			
			 
			
				Практически полностью разобрал combatManager, кроме полей, которые находятся по смещению от 0x13304 до 0x133CC. 
upd.: Не обращайте внимания, я опять невнимательно посмотрел... 
Завтра посмотрю, для чего поле unknown1. 
Структура :
 
Code: 
 class combatManager : baseManager 
{ 
  CNetMsgHandlerPause *netMsgHandlerPause; 
  int iNextAction; 
  int iNextActionExtra; 
  int iNextActionGridIndex; 
  int iNextActionGridIndex2; 
  uchar iLastDrawGridShade[187]; 
  uchar iCurDrawGridShade[187]; 
  struct hexcell cell[187]; 
  int combatTerrain; 
  int combatFringe; 
  int iCombatCycleType; 
  int iElevationOverlay; 
  int iDoorStatus; 
  uchar bMoatOn; 
  uchar moatIsWide; 
  Bitmap16Bit *SaveScreenPreGrid; 
  Bitmap16Bit *SaveScreenPostGrid; 
  Bitmap16Bit *combatMouseBackground; 
  int bBackgroundDrawn; 
  NewmapCell *EventCell; 
  uchar OnMagicPlains; 
  uchar OnCursedGround; 
  uchar OnAntiMagicGarrison; 
  uchar IsSurrounded; 
  uchar OnBoats; 
  uchar OnBeach; 
  struct town *combatTown; 
  struct hero *Heroes[2]; 
  int iSideSpellPower[2]; 
  uchar PlayDoh[2]; 
  uchar PlayYeah[2]; 
  uchar DohPlayedThisRound[2]; 
  uchar YeahPlayedThisRound[2]; 
  int cmbtHeroFrameType[2]; 
  int cmbtHeroFrameIndex[2]; 
  int cmbtHeroDataSet[2]; 
  ulong cmbtHeroLastFidgetTime[2]; 
  CSprite *cmbtHero[2]; 
  CSprite *cmbtHeroFlag[2]; 
  int cmbtHeroFlagFrame[2]; 
  SLimitData sCmbtHeroLimitData[2]; 
  SLimitData sCmbtHeroFlagLimitData[2]; 
  std::vector< SpellID > EagleEyeSpellLearned[2]; 
  uchar ArmyEffected[2][20]; 
  bool IsHuman[2]; 
  bool IsLocalHuman[2]; 
  int iPlayer[2]; 
  bool bArtifactCast[2]; 
  int bSpellsCast[2]; 
  int numArmies[2]; 
  armyGroup *ArmyGroups[2]; 
  army Armies[2][21]; 
/////////////////////// 
  int unknown1;  
////////////////////// 
  int turnSinceLastEnchanter[2]; 
  bool OnNativeTerrain[2]; 
  enum TCreatureType SummonedElemental[2]; 
  int SideRetreated; 
  int currArmyGroup; 
  int currArmyIndex; 
  int currControl; 
  int autoCombatOn; 
  army *currTroop; 
  uchar selectorOn; 
  int selectorIndex; 
  int highlighterOn; 
  int highlighterIndex; 
  int lastMoveToIndex; 
  int lastCommand; 
  int combatCommand; 
  CSprite *CurLoadedSpellIcon; 
  int CurLoadedSpellEffect; 
  int CurSpellEffectFrame; 
  TFortificationLevel fortificationLevel; 
  int bBattleOver; 
  TCombatWindow *mainWindow; 
  int bCombatShowIt; 
  iconWidget * iconWidgetWL[ 25 ];  
  textWidget * textWidgetWL[ 25 ];  
  enum type_combat_cursor attack_cursor[ 12 ]; 
  int attack_hex[ 12 ]; 
  enum type_combat_cursor last_attack_cursor; 
  int iTtlCombatDirections; 
  int iBackgroundFrame; 
  bool bCreatureIsDead[2][20];  
  bool bSomeCreaturesVanish; 
  const char *cBkgName; 
  combatManager::adjacency_array AdjacentIndex[187]; 
  uchar SaveBiggestExtent; 
  int LimitToExtent; 
  int ComputeExtentOnly; 
  SLimitData Extent; 
  int winner; 
  int SkeletonsCreated; 
  enum TCreatureType skeleton_type; 
  Bitmap816 *NumberWindow; 
  std::vector< combatManager::TObstacle > Obstacles; 
  bool InPlacementPhase; 
  int turn_number; 
  int BattleTacticsAdvantage; 
  bool DebugNoSpellLimit; 
  bool DebugShowHiddenObjects; 
  bool DebugShowBlockedHexes; 
  combatManager::TArcher Archers[3]; 
  bool in_second_phase; 
  int OriginalAttackSkill; 
  int OriginalDefenseSkill; 
  int OriginalPowerSkill; 
  int original_mana; 
  Bitmap816 *wallImages[18][5]; 
  int wallLevel[18]; 
  int wall_frame[18]; 
  type_point map_point; 
  Bitmap816 *CombatCellGrid; 
  Bitmap816 *CombatCellShaded; 
  int ObstacleAnimationFrame; 
  bool bCreatureEffect[2][20]; 
  bool bHeroEffect[2]; 
  bool bFlagEffect[2]; 
  bool bArcherEffect[3]; 
  bool any_action_taken; 
  uchar creaturePath[187]; 
};
  
			 
			
			
  
IDA-База HOMM 3 Discord Server 
			
				
(This post was last modified: 24.01.2022 15:46 by void_17.)
 
			 
		 |  
	 
 | 
	| 24.01.2022 15:02 | 
	
		
	 | 
	
		
		RoseKavalier 
 
 
		
		
		
			
			
			
 
 
			
Posts: 118 
	
		
	 | 
	
		
			
			 
			
				
Code: 
 iconWidget* iconWidgetWL[25]; // 76244 
textWidget* textWidgetWL[25]; // 76344
  
			 
			
			
			
				
(This post was last modified: 24.01.2022 15:18 by RoseKavalier.)
 
			 
		 |  
	 
 | 
	| 24.01.2022 15:18 | 
	
		
	 | 
	
		
		void_17 
 
 
		
		
		
			
			
			 
			
Posts: 39 
	
		
	 | 
	
		
			
			 
			
				Ну и тупанул же я!   
Действительно, я почему-то проморгал эти поля, хотя они очевидно там были. 
 
Получается, combatManager разобран абсолютно полностью(кроме поля unknown1). Спустя стольких лет..
			  
			
			
  
IDA-База HOMM 3 Discord Server 
			
				
(This post was last modified: 24.01.2022 15:42 by void_17.)
 
			 
		 |  
	 
 | 
	| 24.01.2022 15:38 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 24.01.2022 17:23 | 
	
		
	 | 
	
		
		Ben 
 
 
		
		
		
			
			
			 
			
Posts: 60 
	
		
	 | 
	
		
			
			 
			
				А нет ли у кого-нибудь IDA версии 6.3 ?
			 
			
			
			
		 |  
	 
 | 
	| 07.07.2022 11:26 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
 | 
	| 08.07.2022 01:23 | 
	
		
	 | 
	
		
		Ben 
 
 
		
		
		
			
			
			 
			
Posts: 60 
	
		
	 | 
	
		
			
			 
			
				Вопрос не про то, кто какие раздачи видел. Поэтому если есть такая версия - то хорошо (и тогда можно и поговорить, зачем это нужно), остальные же разговоры - бессмыслица.
			 
			
			
			
				
(This post was last modified: 08.07.2022 08:19 by Ben.)
 
			 
		 |  
	 
 | 
	| 08.07.2022 08:02 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
 | 
	| 08.07.2022 09:03 | 
	
		
	 | 
	
		
		daemon_n 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 4366 
	
		
	 | 
	
		
 | 
	| 08.07.2022 20:23 | 
	
		
	 |