예제 #1
0
파일: LevelArea.cs 프로젝트: Velhenn/mooege
 public GizmoLocSpawnType(MpqFileStream stream)
 {
     stream.Position += 8;
     this.SpawnEntry = stream.ReadSerializedData<GizmoLocSpawnEntry>();
     this.S0 = stream.ReadString(80, true);
     this.S1 = stream.ReadString(256, true);
 }
예제 #2
0
파일: Quest.cs 프로젝트: ripper47/mooege
        public QuestUnassignedStep(MpqFileStream stream)
        {
            I0 = stream.ReadValueS32();
            stream.Position += 4;       // unaccounted in xml
            stream.Position += (2 * 4);
            StepObjectiveSets = stream.ReadSerializedData<QuestStepObjectiveSet>();

            stream.Position += (2 * 4);
            StepFailureConditionsSets = stream.ReadSerializedData<QuestStepFailureConditionSet>();
        }
예제 #3
0
파일: PhysMesh.cs 프로젝트: loonbg/mooege
 public void Read(MpqFileStream stream)
 {
     this.F0 = new Float3(stream);
     this.F1 = new Float3(stream);
     this.F2 = new Float3(stream);
     stream.Position += 36;
     this.DominoNodeCount = stream.ReadValueS32();
     this.VerticeCount = stream.ReadValueS32();
     this.DominoTriangleCount = stream.ReadValueS32();
     this.DominoEdgeCount = stream.ReadValueS32();
     this.I4 = stream.ReadValueS32();
     this.I5 = stream.ReadValueS32();
     this.Vertices = stream.ReadSerializedData<Float3>();
     this.DominoTriangles = stream.ReadSerializedData<MeshTriangle>();
     this.DominoNodes = stream.ReadSerializedData<MeshNode>();
     this.DominoEdges = stream.ReadSerializedData<MeshEdge>();
     this.I6 = stream.ReadValueS32();
     this.I7 = stream.ReadValueS32();
 }
예제 #4
0
파일: MarkerSet.cs 프로젝트: loonbg/mooege
 public void Read(MpqFileStream stream)
 {
     this.Name = stream.ReadString(128, true);
     this.Type = (MarkerType)stream.ReadValueS32();
     this.PRTransform = new PRTransform(stream);
     this.SNOHandle = new SNOHandle(stream);
     this.TagMap = stream.ReadSerializedItem<TagMap>();
     stream.Position += 8;
     this.MarkerLinksCount = stream.ReadValueS32();
     this.MarkerLinks = stream.ReadSerializedData<MarkerLink>();
     stream.Position += (3 * 4);
 }
예제 #5
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);
            }
예제 #6
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>();
            }
예제 #7
0
파일: World.cs 프로젝트: Naxp/mooege
 public void Read(MpqFileStream stream)
 {
     this.Name = stream.ReadString(128, true);
     LabelCondition = new LabelCondition(stream);
     Int0 = stream.ReadValueS32();
     LabelCount = stream.ReadValueS32();
     stream.Position += (2 * 4);
     this.Entries = stream.ReadSerializedData<LabelEntry>();
 }
예제 #8
0
파일: World.cs 프로젝트: mstaJ/mooege
        public void Read(MpqFileStream stream)
        {
            var pointer = stream.GetSerializedDataPointer();
            this.DRLGTiles = stream.ReadSerializedData<TileInfo>(pointer, pointer.Size / 72);

            stream.Position += (14 * 4);
            this.CommandCount = stream.ReadValueS32();
            this.DRLGCommands = stream.ReadSerializedData<DRLGCommand>(this.CommandCount);

            stream.Position += (3 * 4);
            this.ParentIndices = stream.ReadSerializedInts();

            stream.Position += (2 * 4);
            this.DRLGTagMap = stream.ReadSerializedItem<TagMap>();
        }
예제 #9
0
파일: World.cs 프로젝트: Naxp/mooege
 public CustomTileInfo(MpqFileStream stream)
 {
     Int0 = stream.ReadValueS32();
     Int1 = stream.ReadValueS32();
     Int2 = stream.ReadValueS32();
     V0 = new Vector2D(stream);
     CustomTileCells = stream.ReadSerializedData<CustomTileCell>();
     stream.Position += (3 * 4);
 }
예제 #10
0
파일: World.cs 프로젝트: Naxp/mooege
 public void Read(MpqFileStream stream)
 {
     this.SceneChunks = stream.ReadSerializedData<SceneChunk>();
     this.ChunkCount = stream.ReadValueS32();
     stream.Position += (3 * 4);
 }
예제 #11
0
파일: LevelArea.cs 프로젝트: Velhenn/mooege
 public void Read(MpqFileStream stream)
 {
     this.S0 = stream.ReadString(64, true);
     this.I0 = stream.ReadValueS32();
     this.I1 = new int[4];
     for (int i = 0; i < 4; i++)
         this.I1[i] = stream.ReadValueS32();
     this.I2 = stream.ReadValueS32();
     stream.Position += 8;
     this.SpawnGroup = stream.ReadSerializedData<LevelAreaSpawnGroup>();
 }
예제 #12
0
파일: Quest.cs 프로젝트: loonbg/mooege
        public void Read(MpqFileStream stream)
        {
            for (int i = 0; i < I0.Length; i++)
                I0[i] = stream.ReadValueS32();

            I1 = stream.ReadValueS32();
            I2 = stream.ReadValueS32();
            I3 = stream.ReadValueS32();
            I4 = stream.ReadValueS32();
            I5 = stream.ReadValueS32();

            stream.Position += 12;
            StepBonusObjectives = stream.ReadSerializedData<QuestStepObjective>();
        }
예제 #13
0
파일: Quest.cs 프로젝트: loonbg/mooege
        public void Read(MpqFileStream stream)
        {
            Name = stream.ReadString(64, true);
            ID = stream.ReadValueS32();
            I1 = stream.ReadValueS32();

            for (int i = 0; i < I2.Length; i++)
                I2[i] = stream.ReadValueS32();

            Enum1 = (Enum1)stream.ReadValueS32();

            for (int i = 0; i < SNORewardRecipe.Length; i++)
                SNORewardRecipe[i] = stream.ReadValueS32();

            SNORewardTreasureClass = stream.ReadValueS32();
            I3 = stream.ReadValueS32();
            I4 = stream.ReadValueS32();
            Enum2 = (Enum1)stream.ReadValueS32();

            for (int i = 0; i < SNOReplayRewardRecipe.Length; i++)
                SNOReplayRewardRecipe[i] = stream.ReadValueS32();

            SNOReplayRewardTreasureClass = stream.ReadValueS32();
            I5 = stream.ReadValueS32();
            I6 = stream.ReadValueS32();
            SNOPowerGranted = stream.ReadValueS32();

            for (int i = 0; i < SNOWaypointLevelAreas.Length; i++)
                SNOWaypointLevelAreas[i] = stream.ReadValueS32();

            stream.Position += 4;      // unnacounted for in the xml

            stream.Position += 8;
            StepObjectiveSets = stream.ReadSerializedData<QuestStepObjectiveSet>();

            stream.Position += 8;
            StepBonusObjectiveSets = stream.ReadSerializedData<QuestStepBonusObjectiveSet>();

            stream.Position += 8;
            StepFailureConditionSets = stream.ReadSerializedData<QuestStepFailureConditionSet>();
        }
예제 #14
0
파일: Quest.cs 프로젝트: loonbg/mooege
 public void Read(MpqFileStream stream)
 {
     stream.Position += 8;
     QuestStepFailureConditions = stream.ReadSerializedData<QuestStepFailureCondition>();
 }
예제 #15
0
파일: Quest.cs 프로젝트: loonbg/mooege
        public void Read(MpqFileStream stream)
        {
            FollowUpStepID = stream.ReadValueS32();

            stream.Position += 4;
            stream.Position += 8;
            StepObjectives = stream.ReadSerializedData<QuestStepObjective>();
        }
예제 #16
0
        public void Read(MpqFileStream stream)
        {
            I0 = stream.ReadValueS32();
            I1 = stream.ReadValueS32();
            LineID = stream.ReadValueS32();
            Speaker1 = (Speaker)stream.ReadValueS32();
            Speaker2 = (Speaker)stream.ReadValueS32();
            AnimationTag = stream.ReadValueS32();
            I4 = stream.ReadValueS32();
            ClassFilter = stream.ReadValueS32();

            for (int i = 0; i < ConvLocalDisplayTimes.Length; i++)
                ConvLocalDisplayTimes[i] = new ConvLocalDisplayTimes(stream);

            stream.Position += (2 * 4);
            Comment = stream.ReadSerializedString();
            this.I6 = stream.ReadValueS32();

            stream.Position += 4;       // these are unaccounted for...xml offsets just skips ahead

            stream.Position += (2 * 4);
            TrueNodes = stream.ReadSerializedData<ConversationTreeNode>();

            stream.Position += (2 * 4);
            FalseNodes = stream.ReadSerializedData<ConversationTreeNode>();

            stream.Position += (2 * 4);
            ChildNodes = stream.ReadSerializedData<ConversationTreeNode>();
        }
예제 #17
0
파일: World.cs 프로젝트: mstaJ/mooege
 public void Read(MpqFileStream stream)
 {
     var pointer = stream.GetSerializedDataPointer();
     this.ChunkCount = stream.ReadValueS32();
     stream.Position += (3 * 4);
     this.SceneChunks = stream.ReadSerializedData<SceneChunk>(pointer, this.ChunkCount);
 }
예제 #18
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);
            }
예제 #19
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);
            }
예제 #20
0
파일: LevelArea.cs 프로젝트: Velhenn/mooege
 public void Read(MpqFileStream stream)
 {
     this.GroupType = (SpawnGroupType)stream.ReadValueS32();
     this.F0 = stream.ReadValueF32();
     this.F1 = stream.ReadValueF32();
     this.I0 = stream.ReadValueS32();
     this.I1 = stream.ReadValueS32();
     stream.Position += 12;
     this.SpawnItems = stream.ReadSerializedData<LevelAreaSpawnItem>();
     this.I2 = stream.ReadValueS32();
     this.I3 = stream.ReadValueS32();
 }
예제 #21
0
파일: World.cs 프로젝트: Naxp/mooege
        public void Read(MpqFileStream stream)
        {
            Tiles = stream.ReadSerializedData<TileInfo>();

            stream.Position += (14 * 4);
            this.CommandCount = stream.ReadValueS32();
            this.Commands = stream.ReadSerializedData<DRLGCommand>();

            stream.Position += (3 * 4);
            this.ParentIndices = stream.ReadSerializedInts();

            stream.Position += (2 * 4);
            this.TagMap = stream.ReadSerializedItem<TagMap>();
            stream.Position += (2 * 4);
        }
예제 #22
0
파일: World.cs 프로젝트: Naxp/mooege
        public void Read(MpqFileStream stream)
        {
            this.Name = stream.ReadString(128, true);
            this.ClusterId = stream.ReadValueS32();
            this.GroupCount = stream.ReadValueS32();
            stream.Position += (2 * 4);
            this.SubSceneGroups = stream.ReadSerializedData<SubSceneGroup>();

            this.Default = new SubSceneGroup(stream);
        }
예제 #23
0
파일: World.cs 프로젝트: Naxp/mooege
 public SceneClusterSet(MpqFileStream stream)
 {
     this.ClusterCount = stream.ReadValueS32();
     stream.Position += (4 * 3);
     this.SceneClusters = stream.ReadSerializedData<SceneCluster>();
 }
예제 #24
0
파일: World.cs 프로젝트: Naxp/mooege
 public void Read(MpqFileStream stream)
 {
     this.SNOScene = stream.ReadValueS32();
     this.Probability = stream.ReadValueS32();
     stream.Position += (3 * 4);
     this.LabelCount = stream.ReadValueS32();
     this.Labels = stream.ReadSerializedData<SubSceneLabel>();
 }
예제 #25
0
파일: World.cs 프로젝트: Naxp/mooege
 public void Read(MpqFileStream stream)
 {
     this.I0 = stream.ReadValueS32();
     this.SubSceneCount = stream.ReadValueS32();
     stream.Position += (2 * 4);
     this.Entries = stream.ReadSerializedData<SubSceneEntry>();
 }
예제 #26
0
파일: Globals.cs 프로젝트: seemwake/mooege
        public void Read(MpqFileStream stream)
        {
            this.ActorGroups = new Dictionary<int, FileFormats.ActorGroup>();
            foreach (var group in stream.ReadSerializedData<ActorGroup>()) //166
                this.ActorGroups.Add(group.UHash, group);

            stream.Position += 8;
            this.ScriptGlobalVars = stream.ReadSerializedData<GlobalScriptVariable>();
            stream.Position += 8;
            this.TuningParams = new DifficultyTuningParams[4];
            for (int i = 0; i < 4; i++)
                this.TuningParams[i] = new DifficultyTuningParams(stream);
            this.F0 = stream.ReadValueF32();
            this.F1 = stream.ReadValueF32();
            this.F2 = stream.ReadValueF32();
            this.F3 = stream.ReadValueF32();
            this.F4 = stream.ReadValueF32();
            this.I0 = stream.ReadValueS32();
            this.I1 = stream.ReadValueS32();
            this.F5 = stream.ReadValueF32();
            this.F6 = stream.ReadValueF32();
            this.F7 = stream.ReadValueF32();
            this.F8 = stream.ReadValueF32();
            this.I2 = stream.ReadValueS32();
            this.I3 = stream.ReadValueS32();
            this.I4 = stream.ReadValueS32();
            this.F9 = stream.ReadValueF32();
            this.F10 = stream.ReadValueF32();
            this.F11 = stream.ReadValueF32();
            this.F12 = stream.ReadValueF32();
            this.F13 = stream.ReadValueF32();
            this.F14 = stream.ReadValueF32();
            this.F15 = stream.ReadValueF32();
            this.F16 = stream.ReadValueF32();
            this.F17 = stream.ReadValueF32();
            this.F18 = stream.ReadValueF32();
            this.F19 = new float[4];
            for (var i = 0; i < 4; i++)
                this.F19[i] = stream.ReadValueF32();
        }
예제 #27
0
파일: World.cs 프로젝트: Naxp/mooege
 public LabelRuleSet(MpqFileStream stream)
 {
     Rulecount = stream.ReadValueS32();
     stream.Position += (3 * 4);
     this.LabelRules = stream.ReadSerializedData<LabelRule>();
 }
예제 #28
0
파일: Globals.cs 프로젝트: ncoop23/mooege
 public BannerParams(MpqFileStream stream)
 {
     stream.Position += 8;
     this.TexBackgrounds = stream.ReadSerializedData<BannerTexturePair>();
     this.I0 = stream.ReadValueS32(); //16
     stream.Position += 12;
     this.TexPatterns = stream.ReadSerializedData<BannerTexturePair>();
     this.I0 = stream.ReadValueS32(); //40
     stream.Position += 12;
     this.TexMainSigils = stream.ReadSerializedData<BannerTexturePair>();
     stream.Position += 8;
     this.TexVariantSigils = stream.ReadSerializedData<BannerTexturePair>();
     this.I0 = stream.ReadValueS32(); //80
     stream.Position += 12;
     this.TexSigilAccents = stream.ReadSerializedData<BannerTexturePair>();
     this.I0 = stream.ReadValueS32(); //104
     stream.Position += 12;
     this.ColorSets = stream.ReadSerializedData<BannerColorSet>();
     stream.Position += 8;
     this.SNOActorBases = stream.ReadSerializedInts();
     stream.Position += 8;
     this.SNOActorCaps = stream.ReadSerializedInts();
     stream.Position += 8;
     this.SNOActorPoles = stream.ReadSerializedInts();
     stream.Position += 8;
     this.SNOActorRibbons = stream.ReadSerializedInts();
 }
예제 #29
0
파일: World.cs 프로젝트: Naxp/mooege
 public void Read(MpqFileStream stream)
 {
     this.DRLGParams = stream.ReadSerializedData<DRLGParams>();
     stream.Position += 8;
     this.SceneParams = stream.ReadSerializedItem<SceneParams>();
     stream.Position += 8;
     LabelRuleSet = new LabelRuleSet(stream);
     this.Int1 = stream.ReadValueS32();
     this.SceneClusterSet = new SceneClusterSet(stream);
     for (int i = 0; i < SNONavMeshFunctions.Length; i++)
     {
         SNONavMeshFunctions[i] = stream.ReadValueS32();
     }
     SNOScript = stream.ReadValueS32();
     Int2 = stream.ReadValueS32();
 }
예제 #30
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>();
 }