Exemplo n.º 1
0
                public override void Deserialize(IUnrealStream stream)
                {
                    FunctionNameIndex = stream.ReadNameIndex();
                    Decompiler.AlignNameSize();

                    DeserializeCall();
                }
Exemplo n.º 2
0
                public override void Deserialize(IUnrealStream stream)
                {
                    // FIXME: MOHA or general?
                    if (stream.Version == 421)
                    {
                        Decompiler.AlignSize(sizeof(int));
                    }

                    // Unknown purpose.
                    NameIndex = stream.ReadNameIndex();
                    Decompiler.AlignNameSize();

                    // TODO: Corrigate version. Seen in version ~648(The Ball) may have been introduced earlier, but not prior 610.
                    if (stream.Version > 610)
                    {
                        base.Deserialize(stream);
                    }
                }
Exemplo n.º 3
0
                public override void Deserialize(IUnrealStream stream)
                {
                    // TODO: Corrigate Version
                    if (stream.Version > 180)
                    {
                        ++stream.Position;  // ReadByte()
                        Decompiler.AlignSize(sizeof(byte));
                    }

                    // Delegate object index
                    stream.ReadObjectIndex();
                    Decompiler.AlignObjectSize();

                    // Delegate name index
                    FunctionNameIndex = stream.ReadNameIndex();
                    Decompiler.AlignNameSize();

                    DeserializeCall();
                }
Exemplo n.º 4
0
                public override void Deserialize(IUnrealStream stream)
                {
                    // TODO: Corrigate Version (Definitely not in MOHA, but in roboblitz(369))
                    if (stream.Version >= 178 && stream.Version < 421 /*MOHA*/)
                    {
                        byte isSuperCall = stream.ReadByte();
                        Decompiler.AlignSize(sizeof(byte));
                    }

                    if (stream.Version == 421)
                    {
                        Decompiler.AlignSize(sizeof(int));
                    }

                    FunctionNameIndex = stream.ReadNameIndex();
                    Decompiler.AlignNameSize();

                    DeserializeCall();
                }
Exemplo n.º 5
0
                public override void Deserialize(IUnrealStream stream)
                {
                    var label    = String.Empty;
                    int labelPos = -1;

                    do
                    {
                        if (label != String.Empty)
                        {
                            Decompiler._Labels.Add
                            (
                                new ULabelEntry
                            {
                                Name     = label,
                                Position = labelPos
                            }
                            );
                        }
                        label = stream.ReadName();
                        Decompiler.AlignNameSize();
                        labelPos = stream.ReadInt32();
                        Decompiler.AlignSize(sizeof(int));
                    } while(String.Compare(label, "None", StringComparison.OrdinalIgnoreCase) != 0);
                }