You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.0 KiB
C#

using mmfparser;
using NetMFAPatcher.mmfparser.mfaloaders.mfachunks;
using NetMFAPatcher.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NetMFAPatcher.mmfparser.mfaloaders
{
class FrameItem : DataLoader
{
public int objectType;
public int handle;
public string name;
public bool transparent;
public int inkEffect;
public int inkEffectParameter;
public bool antiAliasing;
public int flags;
public int iconType;
public override void Print()
{
Console.WriteLine($"Name: {name}");
}
public override void Read()
{
objectType = reader.ReadInt32();
handle = reader.ReadInt32();
name = reader.ReadAscii(reader.ReadInt32());
var transparent1 = reader.ReadInt32();
inkEffect = reader.ReadInt32();
inkEffectParameter = reader.ReadInt32();
//antiAliasing = (bool)reader.ReadInt32();
reader.ReadInt32();
flags = reader.ReadInt32();
iconType = reader.ReadInt32();
if(iconType==1)
{
var iconHandle = reader.ReadInt32();
}
else
{
throw new NotImplementedException("invalid icon");
}
var chunks = new mmfparser.mfaloaders.ChunkList(reader);
chunks.Read();
if(objectType>=32)//extension base
{
//swallow some cum
}
else
{
Console.WriteLine("BeforeLoad:"+reader.Tell());
var loader = new Active(reader);
loader.Read();
reader.Skip(56);
Console.WriteLine("AfterLoad:" + reader.Tell());
}
Print();
}
public FrameItem(ByteIO reader):base(reader)
{ }
}
}