|  |  | @ -43,7 +43,6 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.Description = ""; |  |  |  |             mfa.Description = ""; | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.Path = game.EditorFilename; |  |  |  |             mfa.Path = game.EditorFilename; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             //mfa.Stamp = wtf; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             //if (game.Fonts != null) mfa.Fonts = game.Fonts; |  |  |  |             //if (game.Fonts != null) mfa.Fonts = game.Fonts; | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.Sounds.Items.Clear(); |  |  |  |             mfa.Sounds.Items.Clear(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (game.Sounds != null) |  |  |  |             if (game.Sounds != null) | 
			
		
	
	
		
		
			
				
					|  |  | @ -74,10 +73,25 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |             var flags = game.Header.Flags; |  |  |  |             var flags = game.Header.Flags; | 
			
		
	
		
		
			
				
					
					|  |  |  |             var newFlags = game.Header.NewFlags; |  |  |  |             var newFlags = game.Header.NewFlags; | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.Extensions.Clear(); |  |  |  |             mfa.Extensions.Clear(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             displaySettings["MDI"] = newFlags["MDI"]; |  |  |  |              | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["MaximizedOnBoot"] = flags["Maximize"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["ResizeDisplay"] = flags["MDI"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["FullscreenAtStart"] = flags["FullscreenAtStart"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["AllowFullscreen"] = flags["FullscreenSwitch"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["Heading"] = !flags["NoHeading"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["HeadingWhenMaximized"] = true; | 
			
		
	
		
		
			
				
					
					|  |  |  |             displaySettings["MenuBar"] = flags["MenuBar"]; |  |  |  |             displaySettings["MenuBar"] = flags["MenuBar"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |             displaySettings["MenuOnBoot"] = !flags["MenuHidden"]; |  |  |  |             displaySettings["MenuOnBoot"] = !flags["MenuHidden"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |             graphicSettings["MultiSamples"] = flags["MultiSamples"]; |  |  |  |             displaySettings["NoMinimize"] = newFlags["NoMinimizeBox"]; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["NoMaximize"] = newFlags["NoMaximizeBox"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["NoThickFrame"] = newFlags["NoThickFrame"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             // displaySettings["NoCenter"] = flags["MDI"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["DisableClose"] = newFlags["DisableClose"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["HiddenAtStart"] = newFlags["HiddenAtStart"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             displaySettings["MDI"] = newFlags["MDI"]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |      | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |              | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             mfa.GraphicFlags = graphicSettings; | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.DisplayFlags = displaySettings; |  |  |  |             mfa.DisplayFlags = displaySettings; | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.WindowX = game.Header.WindowWidth; |  |  |  |             mfa.WindowX = game.Header.WindowWidth; | 
			
		
	
		
		
			
				
					
					|  |  |  |             mfa.WindowY = game.Header.WindowHeight; |  |  |  |             mfa.WindowY = game.Header.WindowHeight; | 
			
		
	
	
		
		
			
				
					|  |  | @ -135,8 +149,8 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |                 newFrame.SizeY = frame.Height; |  |  |  |                 newFrame.SizeY = frame.Height; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 newFrame.Background = frame.Background; |  |  |  |                 newFrame.Background = frame.Background; | 
			
		
	
		
		
			
				
					
					|  |  |  |                 newFrame.FadeIn = null; |  |  |  |                 newFrame.FadeIn = frame.FadeIn!=null ? ConvertTransition(frame.FadeIn):null; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 newFrame.FadeOut = null; |  |  |  |                 newFrame.FadeOut = frame.FadeOut!=null ? ConvertTransition(frame.FadeOut):null; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 var mfaFlags = newFrame.Flags; |  |  |  |                 var mfaFlags = newFrame.Flags; | 
			
		
	
		
		
			
				
					
					|  |  |  |                 var originalFlags = frame.Flags; |  |  |  |                 var originalFlags = frame.Flags; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -184,7 +198,6 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     for (int i = 0; i < frame.Objects.Count; i++) |  |  |  |                     for (int i = 0; i < frame.Objects.Count; i++) | 
			
		
	
		
		
			
				
					
					|  |  |  |                     { |  |  |  |                     { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         var instance = frame.Objects[i]; |  |  |  |                         var instance = frame.Objects[i]; | 
			
		
	
		
		
			
				
					
					|  |  |  |                         FrameItem frameItem; |  |  |  |                         FrameItem frameItem; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -203,6 +216,10 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |                             newInstance.Layer = (uint) (instance.Layer); |  |  |  |                             newInstance.Layer = (uint) (instance.Layer); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             newInstances.Add(newInstance); |  |  |  |                             newInstances.Add(newInstance); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             throw new NullReferenceException("Object"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -272,15 +289,17 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         public static MFA.Loaders.Transition ConvertTransition(EXE.Loaders.Transition gameTrans) |  |  |  |         public static MFA.Loaders.Transition ConvertTransition(EXE.Loaders.Transition gameTrans) | 
			
		
	
		
		
			
				
					
					|  |  |  |         { |  |  |  |         { | 
			
		
	
		
		
			
				
					
					|  |  |  |             var mfaTrans = new MFA.Loaders.Transition((ByteReader) null); |  |  |  |             var mfaTrans = new MFA.Loaders.Transition((ByteReader) null) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.Module = gameTrans.ModuleFile; |  |  |  |             { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.Name = gameTrans.Name.FirstCharToUpper(); |  |  |  |                 Module = "cctrans.dll",//gameTrans.ModuleFile, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.Id = gameTrans.Module; |  |  |  |                 Name = "Transition", | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.TransitionId = gameTrans.Name; |  |  |  |                 Id = gameTrans.Module, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.Flags = gameTrans.Flags; |  |  |  |                 TransitionId = gameTrans.Name, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.Color = gameTrans.Color; |  |  |  |                 Flags = gameTrans.Flags, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.ParameterData = gameTrans.ParameterData; |  |  |  |                 Color = gameTrans.Color, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             mfaTrans.Duration = gameTrans.Duration; |  |  |  |                 ParameterData = gameTrans.ParameterData, | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 Duration = gameTrans.Duration | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             }; | 
			
		
	
		
		
			
				
					
					|  |  |  |             return mfaTrans; |  |  |  |             return mfaTrans; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
	
		
		
			
				
					|  |  | @ -330,17 +349,20 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |         public static FrameItem TranslateObject(ObjectInfo item) |  |  |  |         public static FrameItem TranslateObject(ObjectInfo item) | 
			
		
	
		
		
			
				
					
					|  |  |  |         { |  |  |  |         { | 
			
		
	
		
		
			
				
					
					|  |  |  |             var newItem = new FrameItem(null); |  |  |  |             var newItem = new FrameItem(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             newItem.Chunks = new ChunkList(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.Name = item.Name; |  |  |  |             newItem.Name = item.Name; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.ObjectType = (int)item.ObjectType; |  |  |  |             newItem.ObjectType = (int)item.ObjectType; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.Handle = item.Handle; |  |  |  |             newItem.Handle = item.Handle; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.Transparent = 1; |  |  |  |             newItem.Transparent = 1; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.InkEffect = item.InkEffect; |  |  |  |             newItem.InkEffect = item.InkEffect; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.InkEffectParameter = item.InkEffectValue; |  |  |  |             newItem.InkEffectParameter = item.InkEffectValue; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.AntiAliasing = item.Antialias ? 1 : 0; |  |  |  |             newItem.AntiAliasing = item.Antialias? 1 : 0;; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             newItem.Flags = item.Flags; |  |  |  |             newItem.Flags = item.Flags; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             newItem.Chunks.GetOrCreateChunk<Opacity>().Blend = (byte) item.InkEffectValue; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             newItem.Chunks.GetOrCreateChunk<Opacity>().RGBCoeff = Color.White; | 
			
		
	
		
		
			
				
					
					|  |  |  |              |  |  |  |              | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.IconHandle = 12; |  |  |  |             newItem.IconHandle = 12; | 
			
		
	
		
		
			
				
					
					|  |  |  |             newItem.Chunks = MFA.MFA.defaultObjChunks; |  |  |  |              | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (item.ObjectType == 0) |  |  |  |             if (item.ObjectType == 0) | 
			
		
	
		
		
			
				
					
					|  |  |  |             { |  |  |  |             { | 
			
		
	
	
		
		
			
				
					|  |  | @ -376,7 +398,7 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |                 Logger.Log(("Translating Object: " + itemLoader.Parent.Name),false,ConsoleColor.Blue,false); |  |  |  |                 Logger.Log(("Translating Object: " + itemLoader.Parent.Name),false,ConsoleColor.Blue,false); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 //CommonSection |  |  |  |                 //CommonSection | 
			
		
	
		
		
			
				
					
					|  |  |  |                 var newObject = new ObjectLoader(null); |  |  |  |                 var newObject = new ObjectLoader(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 newObject.ObjectFlags =  (int) (itemLoader.Flags.flag); |  |  |  |                 newObject.ObjectFlags = (int) (itemLoader.Flags.flag); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 newObject.NewObjectFlags = (int) (itemLoader.NewFlags.flag); |  |  |  |                 newObject.NewObjectFlags = (int) (itemLoader.NewFlags.flag); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 newObject.BackgroundColor = itemLoader.BackColor; |  |  |  |                 newObject.BackgroundColor = itemLoader.BackColor; | 
			
		
	
	
		
		
			
				
					|  |  | @ -431,10 +453,11 @@ namespace CTFAK.MMFParser.Translation | 
			
		
	
		
		
			
				
					
					|  |  |  |                             var newDirections = new List<AnimationDirection>(); |  |  |  |                             var newDirections = new List<AnimationDirection>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             EXE.Loaders.Objects.Animation animation = null; |  |  |  |                             EXE.Loaders.Objects.Animation animation = null; | 
			
		
	
		
		
			
				
					
					|  |  |  |                             if (animHeader.AnimationDict.ContainsKey(origAnim.Key)) |  |  |  |                             if (animHeader.AnimationDict.ContainsKey(origAnim.Key)) | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 { |  |  |  |                             { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     animation = animHeader?.AnimationDict[origAnim.Key]; |  |  |  |                                 animation = animHeader?.AnimationDict[origAnim.Key]; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                 } |  |  |  |                             } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                 else break; |  |  |  |                             else break; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             if (animation != null) |  |  |  |                             if (animation != null) | 
			
		
	
		
		
			
				
					
					|  |  |  |                             { |  |  |  |                             { | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 if (animation.DirectionDict != null) |  |  |  |                                 if (animation.DirectionDict != null) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |