Image fixes

master
1987kostya 4 years ago
parent 46ec908f80
commit e33eb070b6

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

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

@ -258,18 +258,18 @@ namespace CTFAK.MMFParser.EXE.Loaders.Events
{
var num = cond.Num;
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;
}
public static void FixActions(ref Action act)
{
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;
}

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

@ -53,7 +53,7 @@ namespace CTFAK.MMFParser.MFA.Loaders.mfachunks
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(-1);

@ -159,7 +159,6 @@ namespace CTFAK.MMFParser.Translation
//LayerInfo
if(frame.Layers==null) continue;
var count = frame.Layers.Count;
Logger.Log($"{newFrame.Name} - {count}");
for (int i=0;i<count;i++)
{
var layer = frame.Layers[i];
@ -244,10 +243,23 @@ namespace CTFAK.MMFParser.Translation
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);
}
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};
var shape = counter?.Shape;
if(counter==null) throw new NullReferenceException(nameof(counter));
// if(counter==null) throw new NullReferenceException(nameof(counter));
if (counter == null)
{
newCount.DisplayType = 0;

@ -12,6 +12,8 @@ using CTFAK.GUI.GUIComponents;
using CTFAK.MMFParser.EXE;
using CTFAK.MMFParser.EXE.Loaders.Events.Parameters;
using CTFAK.MMFParser.EXE.Loaders.Objects;
using CTFAK.MMFParser.MFA.Loaders;
using ChunkList = CTFAK.MMFParser.EXE.ChunkList;
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)
{
var len = reader.ReadInt16();

Loading…
Cancel
Save