Image fixes

master
1987kostya 4 years ago
parent 46ec908f80
commit e33eb070b6

@ -62,6 +62,8 @@ namespace CTFAK.MMFParser.EXE
ProductVersion = (Constants.Products)exeReader.ReadInt32(); ProductVersion = (Constants.Products)exeReader.ReadInt32();
ProductBuild = exeReader.ReadInt32();//Easy Access ProductBuild = exeReader.ReadInt32();//Easy Access
Settings.Build=ProductBuild; Settings.Build=ProductBuild;
Logger.Log("GAME BUILD: "+Settings.Build);
Logger.Log("PRODUCT: "+ProductVersion);
Build = ProductBuild; Build = ProductBuild;

@ -146,8 +146,8 @@ namespace CTFAK.MMFParser.EXE.Loaders.Banks
Handle = Reader.ReadInt32(); Handle = Reader.ReadInt32();
if (!Debug) if (!Debug)
{ {
if (Settings.Build>=289) Handle -= 1; // if (Settings.Build>=287) Handle -= 1;
// if (Program.CleanData.ProductVersion != Constants.Products.MMF15&&Settings.Build>=284) Handle -= 1; if (Program.CleanData.ProductVersion != Constants.Products.MMF15&&Settings.Build>=284) Handle -= 1;
} }
Position = (int) Reader.Tell(); Position = (int) Reader.Tell();
@ -160,8 +160,8 @@ namespace CTFAK.MMFParser.EXE.Loaders.Banks
Handle = Reader.ReadInt32(); Handle = Reader.ReadInt32();
if (!Debug) if (!Debug)
{ {
if (Settings.Build>=289) Handle -= 1; // if (Settings.Build>=287) Handle -= 1;
// if (Exe.Instance.GameData.ProductVersion != Constants.Products.MMF15&&Settings.Build>=284) Handle -= 1; if (Exe.Instance.GameData.ProductVersion != Constants.Products.MMF15&&Settings.Build>=284) Handle -= 1;
} }
Position = (int) Reader.Tell(); Position = (int) Reader.Tell();

@ -258,18 +258,18 @@ namespace CTFAK.MMFParser.EXE.Loaders.Events
{ {
var num = cond.Num; var num = cond.Num;
if (num == -42) num = -27; if (num == -42) num = -27;
if (Settings.Build >= 290) if (Settings.Build >= 287)
{ {
if (num == -28||num == -29||num == -30||num == -31||num == -32||num == -33||num == -34||num == -35||num == -36||num == -37||num == -38||num == -39) num = -8; // if (num == -28||num == -29||num == -30||num == -31||num == -32||num == -33||num == -34||num == -35||num == -36||num == -37||num == -38||num == -39) num = -8;
} }
cond.Num = num; cond.Num = num;
} }
public static void FixActions(ref Action act) public static void FixActions(ref Action act)
{ {
var num = act.Num; var num = act.Num;
if (Settings.Build >= 290) if (Settings.Build >= 287)
{ {
if (num == 27||num == 28||num == 29||num == 30) num = 3; // if (num == 27||num == 28||num == 29||num == 30) num = 3;
} }
act.Num = num; act.Num = num;
} }

@ -155,10 +155,10 @@ namespace CTFAK.MMFParser.EXE.Loaders.Objects
Flags.flag = Reader.ReadUInt16(); Flags.flag = Reader.ReadUInt16();
var end = Reader.Tell()+(8+1)*2; var end = Reader.Tell()+(8+1)*2;
Reader.Skip(2); Reader.Skip(2);
for (int i = 0; i < 9; i++) for (int i = 0; i < 8; i++)
{ {
var value = Reader.ReadInt16(); var value = Reader.ReadInt16();
// _qualifiers[i]=value; _qualifiers[i]=value;
} }
Reader.Seek(end); Reader.Seek(end);

@ -53,7 +53,7 @@ namespace CTFAK.MMFParser.MFA.Loaders.mfachunks
Writer.AutoWriteUnicode(SubType); Writer.AutoWriteUnicode(SubType);
} }
// if (ExtensionData == null) ExtensionData = new byte[0]; if (ExtensionData == null) ExtensionData = new byte[1]{0};
Writer.WriteInt32(ExtensionData.Length+20); Writer.WriteInt32(ExtensionData.Length+20);
Writer.WriteInt32(ExtensionData.Length+20); Writer.WriteInt32(ExtensionData.Length+20);
Writer.WriteInt32(-1); Writer.WriteInt32(-1);

@ -159,7 +159,6 @@ namespace CTFAK.MMFParser.Translation
//LayerInfo //LayerInfo
if(frame.Layers==null) continue; if(frame.Layers==null) continue;
var count = frame.Layers.Count; var count = frame.Layers.Count;
Logger.Log($"{newFrame.Name} - {count}");
for (int i=0;i<count;i++) for (int i=0;i<count;i++)
{ {
var layer = frame.Layers[i]; var layer = frame.Layers[i];
@ -244,10 +243,23 @@ namespace CTFAK.MMFParser.Translation
newFrame.Events.Objects.Add(newObject); newFrame.Events.Objects.Add(newObject);
} }
foreach (EventGroup item in frame.Events.Items) newFrame.Events.Items = frame.Events.Items;
/*for (int i=0;i<frame.Events.Items.Count;i++)
{ {
var item = frame.Events.Items[i];
newFrame.Events.Items.Add(item); newFrame.Events.Items.Add(item);
for (int j = 0; j < item.Conditions.Count; j++)
{
var cond = item.Conditions[j];
// if (newFrame.Items.ContainsItem(cond.ObjectInfo)) item.Conditions.Remove(cond);
}
for (int j = 0; j < item.Actions.Count; j++)
{
var act = item.Actions[j];
// if (newFrame.Items.ContainsItem(act.ObjectInfo)) item.Actions.Remove(act);
} }
}*/
} }
} }
@ -593,7 +605,7 @@ namespace CTFAK.MMFParser.Translation
newCount.Images = new List<int>() {0}; newCount.Images = new List<int>() {0};
var shape = counter?.Shape; var shape = counter?.Shape;
if(counter==null) throw new NullReferenceException(nameof(counter)); // if(counter==null) throw new NullReferenceException(nameof(counter));
if (counter == null) if (counter == null)
{ {
newCount.DisplayType = 0; newCount.DisplayType = 0;

@ -12,6 +12,8 @@ using CTFAK.GUI.GUIComponents;
using CTFAK.MMFParser.EXE; using CTFAK.MMFParser.EXE;
using CTFAK.MMFParser.EXE.Loaders.Events.Parameters; using CTFAK.MMFParser.EXE.Loaders.Events.Parameters;
using CTFAK.MMFParser.EXE.Loaders.Objects; using CTFAK.MMFParser.EXE.Loaders.Objects;
using CTFAK.MMFParser.MFA.Loaders;
using ChunkList = CTFAK.MMFParser.EXE.ChunkList;
namespace CTFAK.Utils namespace CTFAK.Utils
{ {
@ -46,6 +48,16 @@ namespace CTFAK.Utils
} }
} }
public static bool ContainsItem(this List<FrameItem> items, int handle)
{
bool contrains = false;
foreach (var item in items)
{
if (item.Handle == handle) return true;
}
return false;
}
public static string AutoReadUnicode(this ByteReader reader) public static string AutoReadUnicode(this ByteReader reader)
{ {
var len = reader.ReadInt16(); var len = reader.ReadInt16();

Loading…
Cancel
Save