コード例 #1
0
ファイル: TreasureClass.cs プロジェクト: Velhenn/mooege
 public void Read(MpqFileStream stream)
 {
     this.I0 = stream.ReadValueS32();
     this.SNOSubTreasureClass = stream.ReadValueS32();
     this.Percentage = stream.ReadValueF32();
     this.I1 = stream.ReadValueS32();
     this.GBIdQualityClass = stream.ReadValueS32();
     this.I2 = stream.ReadValueS32();
     this.I3 = stream.ReadValueS32();
     this.SNOCondition = stream.ReadValueS32();
     this.ItemSpecifier = new ItemSpecifierData(stream);
     this.I5 = stream.ReadValueS32();
     this.I4 = new int[4];
     for (int i = 0; i < 4; i++)
         this.I4[i] = stream.ReadValueS32();
 }
コード例 #2
0
ファイル: Common.cs プロジェクト: ripper47/mooege
        public TagMapEntry(MpqFileStream stream)
        {
            this.Type = stream.ReadValueS32();
            this.TagID = stream.ReadValueS32();

            switch (this.Type)
            {
                case 0:
                    this.Int2 = stream.ReadValueS32();
                    break;
                case 1:
                    Float0 = stream.ReadValueF32();
                    break;
                case 2: // SNO
                    this.Int2 = stream.ReadValueS32();
                    break;
                case 4:
                    this.ScriptFormula = new ScriptFormula(stream);
                    break;
                default:
                    this.Int2 = stream.ReadValueS32();
                    break;
            }
        }
コード例 #3
0
ファイル: Monster.cs プロジェクト: ralje/mooege
 public MonsterDef(MpqFileStream stream)
 {
     F0 = stream.ReadValueF32();
     F1 = stream.ReadValueF32();
     F2 = stream.ReadValueF32();
     F3 = stream.ReadValueF32();
     I0 = stream.ReadValueS32();
 }
コード例 #4
0
ファイル: Scene.cs プロジェクト: keltins/mooege
            public NavMeshDef(MpqFileStream stream)
            {
                this.SquaresCountX = stream.ReadValueS32();
                this.SquaresCountY = stream.ReadValueS32();
                this.Int0 = stream.ReadValueS32();
                this.NavMeshSquareCount = stream.ReadValueS32();
                this.Float0 = stream.ReadValueF32();
                this.Squares = stream.ReadSerializedData<NavMeshSquare>(this.NavMeshSquareCount);

                stream.Position += (3 * 4);
                this.Filename = stream.ReadString(256, true);
            }
コード例 #5
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RequiredMessageHeader();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Tick = stream.ReadValueS32();
     stream.Position = offset + 12;
     _Field2 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Position = new Vector3D();
     Position.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     Angle = stream.ReadValueF32();
     stream.Position = offset + 32;
     Speed = stream.ReadValueF32();
     stream.Position = offset + 36;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 40;
     _AnimationTag = stream.ReadValueS32();
     stream.Position = offset + 44;
     // : type DT_OPTIONAL[int] hasnt a deserializer implemented
     throw new Exception("some fields arent going to be decoded.");
 }
コード例 #6
0
ファイル: Scene.cs プロジェクト: tovipoussin/mooege
            public NavMeshDef(MpqFileStream stream)
            {
                this.SquaresCountX = stream.ReadValueS32();
                this.SquaresCountY = stream.ReadValueS32();
                this.Int0 = stream.ReadValueS32();
                this.NavMeshSquareCount = stream.ReadValueS32();
                this.Float0 = stream.ReadValueF32();
                this.Squares = stream.ReadSerializedData<NavMeshSquare>();
               
                if (SquaresCountX < 64 && SquaresCountY < 64)
                {
                    WalkGrid = new byte[64, 64];
                }
                else if (SquaresCountX < 128 && SquaresCountY < 128)
                {
                    WalkGrid = new byte[128, 128]; //96*96
                }
                else if (SquaresCountX > 128 || SquaresCountY > 128)
                {
                    WalkGrid = new byte[256, 256];
                }


                // Loop thru each NavmeshSquare in the array, and fills the grid
                for (int i = 0; i < NavMeshSquareCount; i++)
                {
                    WalkGrid[i % SquaresCountX, i / SquaresCountY] = (byte)(Squares[i].Flags & Scene.NavCellFlags.AllowWalk);
                   // Set the grid to 0x1 if its walkable, left as 0 if not. - DarkLotus
                }

                stream.Position += (3 * 4);
                this.Filename = stream.ReadString(256, true);
            }
コード例 #7
0
ファイル: Scene.cs プロジェクト: keltins/mooege
 public void Read(MpqFileStream stream)
 {
     this.Float0 = stream.ReadValueF32();
     this.Flags = stream.ReadValueS32();
 }
コード例 #8
0
ファイル: Vector3D.cs プロジェクト: God601/mooege
 public void Read(MpqFileStream stream)
 {
     X = stream.ReadValueF32();
     Y = stream.ReadValueF32();
     Z = stream.ReadValueF32();
 }
コード例 #9
0
ファイル: Scene.cs プロジェクト: tovipoussin/mooege
            public NavZoneDef(MpqFileStream stream)
            {
                this.NavCellCount = stream.ReadValueS32();
                stream.Position += (3 * 4);
                this.NavCells = stream.ReadSerializedData<NavCell>();

                this.NeighbourCount = stream.ReadValueS32();
                stream.Position += (3 * 4);
                this.NavCellNeighbours = stream.ReadSerializedData<NavCellLookup>();

                this.Float0 = stream.ReadValueF32();
                this.Float1 = stream.ReadValueF32();
                this.Int2 = stream.ReadValueS32();
                this.V0 = new Vector2D(stream);

                stream.Position += (3 * 4);
                this.GridSquares = stream.ReadSerializedData<NavGridSquare>();

                this.Int3 = stream.ReadValueS32();
                stream.Position += (3 * 4);
                this.CellLookups = stream.ReadSerializedData<NavCellLookup>();

                this.BorderDataCount = stream.ReadValueS32();
                stream.Position += (3 * 4);
                this.BorderData = stream.ReadSerializedData<NavCellBorderData>();
            }
コード例 #10
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Field2 = stream.ReadValueF32();
     stream.Position = offset + 24;
     Field3 = stream.ReadValueF32();
     stream.Position = offset + 28;
     Field4 = stream.ReadValueF32();
     stream.Position = offset + 32;
     Field5 = stream.ReadValueF32();
     stream.Position = offset + 36;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 40;
     Field7 = stream.ReadValueF32();
     stream.Position = offset + 44;
     Field8 = stream.ReadValueF32();
     stream.Position = offset + 48;
     Field9 = stream.ReadValueF32();
     stream.Position = offset + 52;
     Field10 = stream.ReadValueF32();
     stream.Position = offset + 56;
     Field11 = stream.ReadValueF32();
     stream.Position = offset + 60;
     Field12 = stream.ReadValueF32();
     stream.Position = offset + 64;
     Field13 = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_Field13;
         temp12_Field13 = stream.ReadValueS32();
         _Field13[loop12] = temp12_Field13;
     }
     stream.Position = offset + 80;
     snoAmbientSound = stream.ReadValueS32();
 }
コード例 #11
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueF32();
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 24;
     Field3 = stream.ReadValueS32();
 }
コード例 #12
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new Vector3D();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     Field1 = new Vector3D();
     Field1.FileRead(stream, stream.Position);
     stream.Position = offset + 24;
     Field2 = stream.ReadValueF32();
 }
コード例 #13
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Center = new Vector2D();
     Center.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Radius = stream.ReadValueF32();
 }
コード例 #14
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RequiredMessageHeader();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Field1 = stream.ReadValueF32();
     stream.Position = offset + 12;
     Field2 = stream.ReadValueS32() == 1;
     stream.Position = offset + 16;
     Field3 = stream.ReadValueF32();
 }
コード例 #15
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 24;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 28;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 32;
     Field5 = stream.ReadValueS32();
     stream.Position = offset + 36;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 44;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 40;
     Field8 = stream.ReadValueS32();
     stream.Position = offset + 48;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 56;
     SNOQuestRange = stream.ReadValueS32();
     stream.Position = offset + 52;
     Field11 = stream.ReadValueF32();
     stream.Position = offset + 60;
     Worlds = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_Worlds;
         temp12_Worlds = stream.ReadValueS32();
         _Worlds[loop12] = temp12_Worlds;
     }
     stream.Position = offset + 76;
     Scripts = new int[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         int temp12_Scripts;
         temp12_Scripts = stream.ReadValueS32();
         _Scripts[loop12] = temp12_Scripts;
     }
 }
コード例 #16
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadString(64);
     stream.Position = offset + 64;
     Field1 = stream.ReadValueF32();
     stream.Position = offset + 68;
     Field2 = stream.ReadValueF32();
     stream.Position = offset + 72;
     Field3 = stream.ReadValueF32();
 }
コード例 #17
0
ファイル: Monster.cs プロジェクト: ralje/mooege
 public MonsterSkillDeclaration(MpqFileStream stream)
 {
     F0 = stream.ReadValueF32();
     F1 = stream.ReadValueF32();
     I0 = stream.ReadValueS32();
     F2 = stream.ReadValueF32();
 }
コード例 #18
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = new int[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         int temp12_Field1;
         temp12_Field1 = stream.ReadValueS32();
         _Field1[loop12] = temp12_Field1;
     }
     stream.Position = offset + 16;
     Field2 = new float[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         float temp12_Field2;
         temp12_Field2 = stream.ReadValueF32();
         _Field2[loop12] = temp12_Field2;
     }
 }
コード例 #19
0
ファイル: Monster.cs プロジェクト: ralje/mooege
 public HealthDropInfo(MpqFileStream stream)
 {
     this.F0 = stream.ReadValueF32();
     this.GBID = stream.ReadValueS32();
     this.I1 = stream.ReadValueS32();
 }
コード例 #20
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     serVertices = new SerializeData();
     serVertices.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     //still checking variablearrays
     Vertices = new List<ClothVertex>();
     for(int i = 0; i < (int)(serVertices.Field1 / 84); i++)
     {
     stream.Position = serVertices.Field0 + 16 + (84*i) ;
         ClothVertex temp12_Vertices;
         temp12_Vertices = new ClothVertex();
         temp12_Vertices.FileRead(stream, stream.Position);
         _Vertices.Add(temp12_Vertices);
     }
     stream.Position = offset + 16;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 20;
     serFaces = new SerializeData();
     serFaces.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     //still checking variablearrays
     Faces = new List<ClothFace>();
     for(int i = 0; i < (int)(serFaces.Field1 / 28); i++)
     {
     stream.Position = serFaces.Field0 + 16 + (28*i) ;
         ClothFace temp12_Faces;
         temp12_Faces = new ClothFace();
         temp12_Faces.FileRead(stream, stream.Position);
         _Faces.Add(temp12_Faces);
     }
     stream.Position = offset + 32;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 36;
     serStaples = new SerializeData();
     serStaples.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     //still checking variablearrays
     Staples = new List<ClothStaple>();
     for(int i = 0; i < (int)(serStaples.Field1 / 28); i++)
     {
     stream.Position = serStaples.Field0 + 16 + (28*i) ;
         ClothStaple temp12_Staples;
         temp12_Staples = new ClothStaple();
         temp12_Staples.FileRead(stream, stream.Position);
         _Staples.Add(temp12_Staples);
     }
     stream.Position = offset + 48;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 52;
     serDistanceConstraints = new SerializeData();
     serDistanceConstraints.FileRead(stream, stream.Position);
     stream.Position = offset + 60;
     //still checking variablearrays
     DistanceConstraints = new List<ClothConstraint>();
     for(int i = 0; i < (int)(serDistanceConstraints.Field1 / 24); i++)
     {
     stream.Position = serDistanceConstraints.Field0 + 16 + (24*i) ;
         ClothConstraint temp12_DistanceConstraints;
         temp12_DistanceConstraints = new ClothConstraint();
         temp12_DistanceConstraints.FileRead(stream, stream.Position);
         _DistanceConstraints.Add(temp12_DistanceConstraints);
     }
     stream.Position = offset + 64;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 68;
     serBendingConstraints = new SerializeData();
     serBendingConstraints.FileRead(stream, stream.Position);
     stream.Position = offset + 76;
     //still checking variablearrays
     BendingConstraints = new List<ClothConstraint>();
     for(int i = 0; i < (int)(serBendingConstraints.Field1 / 24); i++)
     {
     stream.Position = serBendingConstraints.Field0 + 16 + (24*i) ;
         ClothConstraint temp12_BendingConstraints;
         temp12_BendingConstraints = new ClothConstraint();
         temp12_BendingConstraints.FileRead(stream, stream.Position);
         _BendingConstraints.Add(temp12_BendingConstraints);
     }
     stream.Position = offset + 80;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 84;
     Field16 = stream.ReadValueF32();
 }
コード例 #21
0
ファイル: Vector3D.cs プロジェクト: ncoop23/mooege
 /// <summary>
 /// Reads Vector3D from given MPQFileStream.
 /// </summary>
 /// <param name="stream">The MPQFileStream to read from.</param>
 public Vector3D(MpqFileStream stream)
     : this(stream.ReadValueF32(), stream.ReadValueF32(), stream.ReadValueF32())
 {
 }
コード例 #22
0
ファイル: Globals.cs プロジェクト: ncoop23/mooege
 public DifficultyTuningParams(MpqFileStream stream)
 {
     this.F0 = stream.ReadValueF32();
     this.F1 = stream.ReadValueF32();
     this.F2 = stream.ReadValueF32();
     this.F3 = stream.ReadValueF32();
     this.F4 = stream.ReadValueF32();
     this.F5 = stream.ReadValueF32();
     this.F6 = stream.ReadValueF32();
 }
コード例 #23
0
ファイル: Scene.cs プロジェクト: tovipoussin/mooege
 public void Read(MpqFileStream stream)
 {
     this.Z = stream.ReadValueF32();
     this.Flags = (NavCellFlags)stream.ReadValueS32();
 }
コード例 #24
0
ファイル: Globals.cs プロジェクト: ncoop23/mooege
 public void Read(MpqFileStream stream)
 {
     this.UHash = stream.ReadValueS32();
     this.S0 = stream.ReadString(64, true);
     this.F0 = stream.ReadValueF32();
 }
コード例 #25
0
ファイル: Scene.cs プロジェクト: keltins/mooege
            public NavZoneDef(MpqFileStream stream)
            {
                this.NavCellCount = stream.ReadValueS32();

                stream.Position += (3 * 4);
                this.NavCells = stream.ReadSerializedData<NavCell>(this.NavCellCount);

                this.NeightbourCount = stream.ReadValueS32();
                stream.Position += (3 * 4);
                this.NavCellNeighbours = stream.ReadSerializedData<NavCellLookup>(this.NeightbourCount);

                this.Float0 = stream.ReadValueF32();
                this.Float1 = stream.ReadValueF32();
                this.Int2 = stream.ReadValueS32();
                this.V0 = new Vector2D(stream);

                stream.Position += (3 * 4);
                var pointerGridSquares = stream.GetSerializedDataPointer();
                this.GridSquares = stream.ReadSerializedData<NavGridSquare>(pointerGridSquares, pointerGridSquares.Size / 6);

                this.Int3 = stream.ReadValueS32();
                stream.Position += (3 * 4);
                var pointerCellLookups = stream.GetSerializedDataPointer();
                this.CellLookups = stream.ReadSerializedData<NavCellLookup>(pointerCellLookups, pointerCellLookups.Size / 4);

                this.Int4 = stream.ReadValueS32();
                stream.Position += (3 * 4);
                var pointerBorderData = stream.GetSerializedDataPointer();
                this.BorderData = stream.ReadSerializedData<NavCellBorderData>(pointerBorderData, pointerBorderData.Size / 4);
            }
コード例 #26
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 1460;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 1464;
     serAppearanceMaterials = new SerializeData();
     serAppearanceMaterials.FileRead(stream, stream.Position);
     stream.Position = offset + 1472;
     //still checking variablearrays
     AppearanceMaterials = new List<AppearanceMaterial>();
     for(int i = 0; i < (int)(serAppearanceMaterials.Field1 / 140); i++)
     {
     stream.Position = serAppearanceMaterials.Field0 + 16 + (140*i) ;
         AppearanceMaterial temp12_AppearanceMaterials;
         temp12_AppearanceMaterials = new AppearanceMaterial();
         temp12_AppearanceMaterials.FileRead(stream, stream.Position);
         _AppearanceMaterials.Add(temp12_AppearanceMaterials);
     }
     stream.Position = offset + 1480;
     serAppearanceLooks = new SerializeData();
     serAppearanceLooks.FileRead(stream, stream.Position);
     stream.Position = offset + 1488;
     //still checking variablearrays
     AppearanceLooks = new List<AppearanceLook>();
     for(int i = 0; i < (int)(serAppearanceLooks.Field1 / 64); i++)
     {
     stream.Position = serAppearanceLooks.Field0 + 16 + (64*i) ;
         AppearanceLook temp12_AppearanceLooks;
         temp12_AppearanceLooks = new AppearanceLook();
         temp12_AppearanceLooks.FileRead(stream, stream.Position);
         _AppearanceLooks.Add(temp12_AppearanceLooks);
     }
     stream.Position = offset + 16;
     Field5 = new Structure();
     Field5.FileRead(stream, stream.Position);
     stream.Position = offset + 1456;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 1496;
     nStaticLightCount = stream.ReadValueS32();
     stream.Position = offset + 1500;
     serStaticLights = new SerializeData();
     serStaticLights.FileRead(stream, stream.Position);
     stream.Position = offset + 1512;
     //still checking variablearrays
     StaticLights = new List<StaticLight>();
     for(int i = 0; i < (int)(serStaticLights.Field1 / 92); i++)
     {
     stream.Position = serStaticLights.Field0 + 16 + (92*i) ;
         StaticLight temp12_StaticLights;
         temp12_StaticLights = new StaticLight();
         temp12_StaticLights.FileRead(stream, stream.Position);
         _StaticLights.Add(temp12_StaticLights);
     }
     stream.Position = offset + 1520;
     Field10 = stream.ReadValueS32();
     stream.Position = offset + 1524;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 1528;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 1532;
     Field13 = stream.ReadValueS32();
     stream.Position = offset + 1536;
     Field14 = stream.ReadValueS32();
     stream.Position = offset + 1540;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 1544;
     Field16 = stream.ReadValueS32();
     stream.Position = offset + 1548;
     Field17 = stream.ReadValueF32();
     stream.Position = offset + 1552;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 1556;
     Field19 = stream.ReadValueS32();
     stream.Position = offset + 1560;
     Field20 = stream.ReadValueS64();
     stream.Position = offset + 1568;
     Field21 = stream.ReadValueS32();
 }
コード例 #27
0
ファイル: Scene.cs プロジェクト: keltins/mooege
 public void Read(MpqFileStream stream)
 {
     this.Min = new Vector3D(stream.ReadValueF32(), stream.ReadValueF32(), stream.ReadValueF32());
     this.Max = new Vector3D(stream.ReadValueF32(), stream.ReadValueF32(), stream.ReadValueF32());
     this.Flags = stream.ReadValueS16();
     this.NeighbourCount = stream.ReadValueS16();
     this.NeighborsIndex = stream.ReadValueS32();
 }
コード例 #28
0
ファイル: Monster.cs プロジェクト: ralje/mooege
 public void Read(MpqFileStream stream)
 {
     this.F0 = stream.ReadValueF32();
     this.I1 = stream.ReadValueS32();
     stream.Position += 8;
     SpawnItems = stream.ReadSerializedData<MonsterMinionSpawnItem>();
 }
コード例 #29
0
ファイル: World.cs プロジェクト: Naxp/mooege
 public void Read(MpqFileStream stream)
 {
     this.GBIdLabel = stream.ReadValueS32();
     Int0 = stream.ReadValueS32();
     Float0 = stream.ReadValueF32();
     Int1 = stream.ReadValueS32();
     Int2 = stream.ReadValueS32();
 }
コード例 #30
0
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Position = new Vector3D();
     Position.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     Ax1 = stream.ReadValueF32();
     stream.Position = offset + 16;
     Ax2 = stream.ReadValueF32();
 }