Esempio n. 1
0
        protected virtual void ReadDiplomacy(PrimitiveReader reader)
        {
            PlayerInfo[] infos = PlayersInfo;
            for (int i = 0; i < infos.Length; i++)
            {
                DiplomacyStance[] stances = new DiplomacyStance[maxPlayersCount];
                for (int j = 0; j < stances.Length; j++)
                {
                    stances[j] = (DiplomacyStance)reader.ReadUInt32();
                }
                infos[i].Diplomacy = stances;
            }

            // This is individual victory in AoE.
            // Not used in AoE2.
            byte[] aoeIndividualVictory = reader.ReadBytes(11520);

            uint separator = reader.ReadUInt32();

            if (separator != separatorValue)
            {
                throw new InvalidDataException("Expected separator value.");
            }
            for (int i = 0; i < infos.Length; i++)
            {
                infos[i].AlliedVictory = reader.ReadUInt32() != 0;
            }
        }
Esempio n. 2
0
 void SetStance(int index, DiplomacyStance stance)
 {
     if (stance == DiplomacyStance.Allied)
     {
         allyCheckboxes[index].Checked = true;
     }
     else if (stance == DiplomacyStance.Neutral)
     {
         neutralCheckboxes[index].Checked = true;
     }
     else
     {
         enemyCheckboxes[index].Checked = true;
     }
 }
Esempio n. 3
0
        static void ReadDiplomacy(PrimitiveReader reader)
        {
            DiplomacyStance[][] stances = new DiplomacyStance[playersCount][];
            for (int i = 0; i < stances.Length; i++)
            {
                DiplomacyStance[] playerStances = new DiplomacyStance[playersCount];
                for (int j = 0; j < playerStances.Length; j++)
                {
                    playerStances[j] = (DiplomacyStance)reader.ReadUInt32();
                }
                stances[i] = playerStances;
            }
            if (minorVersion < 18)                // For AOE
            {
                IndividualVictory[][] customVictoryConditions = new IndividualVictory[playersCount][];
                for (int i = 0; i < customVictoryConditions.Length; i++)
                {
                    IndividualVictory[] conditions = new IndividualVictory[12];
                    for (int j = 0; j < conditions.Length; j++)
                    {
                        conditions[j].Unknown = reader.ReadBytes(60);
                    }
                    customVictoryConditions[i] = conditions;
                }
                System.Diagnostics.Debugger.Break();
            }
            else
            {
                byte[] unused = reader.ReadBytes(11520);                   // Always unused.. 11520 bytes.
            }
            uint separator = reader.ReadUInt32();

            if (separator != 0xFFFFFF9D)
            {
                throw new InvalidDataException();
            }
            uint[] alliedVictory = new uint[playersCount];             // Apparently ignored.
            for (int i = 0; i < alliedVictory.Length; i++)
            {
                alliedVictory[i] = reader.ReadUInt32();
            }
        }