Example #1
0
        public Form_CPUs(
            Dictionary <KmtCharacter, NameImg> dictt_character,
            Dictionary <KmtVehicle, NameImg> dictt_vehicle,
            KmtCPUEntryList cpuentries)
        {
            InitializeComponent();

            foreach (KeyValuePair <KmtCharacter, NameImg> entry
                     in dictt_character)
            {
                dict_character.Add(entry.Key, entry.Value.Name);
                Character.Items.Add(entry.Value.Name);
            }
            foreach (KeyValuePair <KmtVehicle, NameImg> entry
                     in dictt_vehicle)
            {
                dict_vehicle.Add(entry.Key, entry.Value.Name);
                Vehicle.Items.Add(entry.Value.Name);
            }

            for (int n = 0; n < cpuentries.Count; n += 1)
            {
                KmtCPUEntry entry = cpuentries[n];
                Row_Add(entry.Character, entry.Vehicle);
            }
        }
Example #2
0
        KmtEntry cloneentry(KmtEntry entry)
        {
            KmtEntry newentry = new KmtEntry();

            newentry.CameraMode            = entry.CameraMode;
            newentry.CannonFlag            = entry.CannonFlag;
            newentry.Character             = entry.Character;
            newentry.ControllerRestriction = entry.ControllerRestriction;
            newentry.Course         = entry.Course;
            newentry.EngineClass    = entry.EngineClass;
            newentry.GameMode       = entry.GameMode;
            newentry.Minimap        = entry.Minimap;
            newentry.MissionRunFile = entry.MissionRunFile;
            newentry.Score          = entry.Score;
            newentry.TimeLimit      = entry.TimeLimit;
            newentry.Vehicle        = entry.Vehicle;
            for (int m = 0; m < entry.CPUs.Count; m += 1)
            {
                KmtCPUEntry cpu    = entry.CPUs[m];
                KmtCPUEntry newcpu = new KmtCPUEntry();
                newcpu.Character = cpu.Character;
                newcpu.Vehicle   = cpu.Vehicle;
                newentry.CPUs.Add(cpu);
            }
            return(newentry);
        }
Example #3
0
        bool usermadechanges()
        {
            KmtEntryList entrylist = msv_Program.Missions();

            if (openkmt == null)
            {
                return(entrylist.Count > 0);
            }

            if (entrylist.Count != openkmt.Entries.Count)
            {
                return(true);
            }

            for (int n = 0; n < entrylist.Count; n += 1)
            {
                KmtEntry newentry = entrylist[n];
                KmtEntry oldentry = openkmt.Entries[n];
                if (
                    newentry.CameraMode != oldentry.CameraMode |
                    newentry.CannonFlag != oldentry.CannonFlag |
                    newentry.Character != oldentry.Character |
                    newentry.ControllerRestriction != oldentry.ControllerRestriction |
                    newentry.Course != oldentry.Course |
                    newentry.EngineClass != oldentry.EngineClass |
                    newentry.GameMode != oldentry.GameMode |
                    newentry.Minimap != oldentry.Minimap |
                    newentry.MissionRunFile != oldentry.MissionRunFile |
                    newentry.Score != oldentry.Score |
                    newentry.TimeLimit != oldentry.TimeLimit |
                    newentry.Vehicle != oldentry.Vehicle
                    )
                {
                    return(true);
                }

                if (newentry.CPUs.Count != oldentry.CPUs.Count)
                {
                    return(true);
                }

                for (int m = 0; m < newentry.CPUs.Count; m += 1)
                {
                    KmtCPUEntry newcpu = newentry.CPUs[m];
                    KmtCPUEntry oldcpu = newentry.CPUs[m];
                    if (newcpu.Character != oldcpu.Character |
                        newcpu.Vehicle != oldcpu.Vehicle)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
        private static byte[] missioncode(KmtEntry mission)
        {
            byte[] ushort_getbytes(ushort value)
            {
                byte[] newbyte = BitConverter.GetBytes(value);
                Array.Reverse(newbyte);
                return(newbyte);
            }

            byte[] uint_getbytes(uint value)
            {
                byte[] newbyte = BitConverter.GetBytes(value);
                Array.Reverse(newbyte);
                return(newbyte);
            }

            List <byte> newbytes = new List <byte>();

            newbytes.AddRange(ushort_getbytes(mission.MissionRunFile));
            newbytes.AddRange(ushort_getbytes((ushort)mission.GameMode));
            newbytes.Add((byte)mission.Course);
            newbytes.Add((byte)mission.Character);
            newbytes.Add((byte)mission.Vehicle);
            newbytes.Add((byte)mission.EngineClass);
            for (int n = 0x08; n < 0x2C; n += 1)
            {
                newbytes.Add(0x00);
            }
            newbytes.AddRange(ushort_getbytes(mission.TimeLimit));
            newbytes.Add(0x00);
            newbytes.Add(mission.ControllerRestriction);
            newbytes.AddRange(uint_getbytes(mission.Score));
            for (int n = 0x34; n < 0x48; n += 1)
            {
                newbytes.Add(0x00);
            }
            newbytes.AddRange(ushort_getbytes((ushort)mission.CameraMode));
            newbytes.AddRange(ushort_getbytes((ushort)mission.Minimap));
            for (int n = 0x4C; n < 0x50; n += 1)
            {
                newbytes.Add(0x00);
            }
            newbytes.AddRange(ushort_getbytes(mission.CannonFlag));
            for (int n = 0x52; n < 0x58; n += 1)
            {
                newbytes.Add(0x00);
            }
            newbytes.AddRange(ushort_getbytes((ushort)mission.CPUs.Count));
            int offset = 0x5A;

            for (int n = 0; n < mission.CPUs.Count; n += 1)
            {
                KmtCPUEntry cpu = mission.CPUs[n];
                newbytes.Add((byte)cpu.Character);
                newbytes.Add((byte)cpu.Vehicle);
                offset += 2;
            }
            for (int n = offset; n < 0x70; n += 1)
            {
                newbytes.Add(0x00);
            }

            return(newbytes.ToArray());
        }