Beispiel #1
0
        private OctoshockFIOConfigUser UserConfigFromGui()
        {
            var uc = new OctoshockFIOConfigUser
            {
                Memcards  = { [0] = cbMemcard_1.Checked, [1] = cbMemcard_2.Checked },
                Multitaps = { [0] = cbMultitap_1.Checked, [1] = cbMultitap_2.Checked }
            };

            var combos = new[] { combo_1_1, combo_1_2, combo_1_3, combo_1_4, combo_2_1, combo_2_2, combo_2_3, combo_2_4 };

            for (int i = 0; i < 8; i++)
            {
                var combo = combos[i];
                uc.Devices8[i] = combo.SelectedIndex switch
                {
                    0 => OctoshockDll.ePeripheralType.None,
                    1 => OctoshockDll.ePeripheralType.Pad,
                    2 => OctoshockDll.ePeripheralType.DualShock,
                    3 => OctoshockDll.ePeripheralType.DualAnalog,
                    4 => OctoshockDll.ePeripheralType.NegCon,
                    _ => uc.Devices8[i]
                };
            }

            return(uc);
        }
        OctoshockFIOConfigUser UserConfigFromGui()
        {
            OctoshockFIOConfigUser uc = new OctoshockFIOConfigUser();

            uc.Memcards[0] = cbMemcard_1.Checked;
            uc.Memcards[1] = cbMemcard_2.Checked;

            uc.Multitaps[0] = cbMultitap_1.Checked;
            uc.Multitaps[1] = cbMultitap_2.Checked;

            var combos = new[] { combo_1_1, combo_1_2, combo_1_3, combo_1_4, combo_2_1, combo_2_2, combo_2_3, combo_2_4 };

            for (int i = 0; i < 8; i++)
            {
                var combo = combos[i];
                if (combo.SelectedIndex == 0)
                {
                    uc.Devices8[i] = OctoshockDll.ePeripheralType.None;
                }
                if (combo.SelectedIndex == 1)
                {
                    uc.Devices8[i] = OctoshockDll.ePeripheralType.Pad;
                }
                if (combo.SelectedIndex == 2)
                {
                    uc.Devices8[i] = OctoshockDll.ePeripheralType.DualShock;
                }
                if (combo.SelectedIndex == 3)
                {
                    uc.Devices8[i] = OctoshockDll.ePeripheralType.DualAnalog;
                }
            }

            return(uc);
        }
Beispiel #3
0
        private void GuiFromUserConfig(OctoshockFIOConfigUser user)
        {
            cbMemcard_1.Checked  = user.Memcards[0];
            cbMemcard_2.Checked  = user.Memcards[1];
            cbMultitap_1.Checked = user.Multitaps[0];
            cbMultitap_2.Checked = user.Multitaps[1];

            var combos = new[] { combo_1_1, combo_1_2, combo_1_3, combo_1_4, combo_2_1, combo_2_2, combo_2_3, combo_2_4 };

            for (int i = 0; i < 8; i++)
            {
                var combo = combos[i];
                if (user.Devices8[i] == OctoshockDll.ePeripheralType.None)
                {
                    combo.SelectedIndex = 0;
                }
                if (user.Devices8[i] == OctoshockDll.ePeripheralType.Pad)
                {
                    combo.SelectedIndex = 1;
                }
                if (user.Devices8[i] == OctoshockDll.ePeripheralType.DualShock)
                {
                    combo.SelectedIndex = 2;
                }
                if (user.Devices8[i] == OctoshockDll.ePeripheralType.DualAnalog)
                {
                    combo.SelectedIndex = 3;
                }
                if (user.Devices8[i] == OctoshockDll.ePeripheralType.NegCon)
                {
                    combo.SelectedIndex = 4;
                }
            }
        }
Beispiel #4
0
        internal void PopulateFrom(OctoshockFIOConfigUser userConfig)
        {
            Multitaps = (bool[])userConfig.Multitaps.Clone();
            Memcards  = (bool[])userConfig.Memcards.Clone();
            Devices8  = (OctoshockDll.ePeripheralType[])userConfig.Devices8.Clone();

            int id = 1;

            //TODO: separate sense of connect/disconnect. If we do that, then we need to make the assignments stable, here
            //and put logic in the core's SetInput instead
            if (!userConfig.Multitaps[0])
            {
                Devices8[1] = Devices8[2] = Devices8[3] = OctoshockDll.ePeripheralType.None;
            }
            if (!userConfig.Multitaps[1])
            {
                Devices8[5] = Devices8[6] = Devices8[7] = OctoshockDll.ePeripheralType.None;
            }

            //OLD LOGIC
            //if (userConfig.Devices8[0] == OctoshockDll.ePeripheralType.None) PlayerAssignments[0] = -1; else PlayerAssignments[0] = id++;
            //if (userConfig.Devices8[1] == OctoshockDll.ePeripheralType.None || !userConfig.Multitaps[0]) PlayerAssignments[1] = -1; else PlayerAssignments[1] = id++;
            //if (userConfig.Devices8[2] == OctoshockDll.ePeripheralType.None || !userConfig.Multitaps[0]) PlayerAssignments[2] = -1; else PlayerAssignments[2] = id++;
            //if (userConfig.Devices8[3] == OctoshockDll.ePeripheralType.None || !userConfig.Multitaps[0]) PlayerAssignments[3] = -1; else PlayerAssignments[3] = id++;
            //if (userConfig.Devices8[4] == OctoshockDll.ePeripheralType.None) PlayerAssignments[4] = -1; else PlayerAssignments[4] = id++;
            //if (userConfig.Devices8[5] == OctoshockDll.ePeripheralType.None || !userConfig.Multitaps[1]) PlayerAssignments[5] = -1; else PlayerAssignments[5] = id++;
            //if (userConfig.Devices8[6] == OctoshockDll.ePeripheralType.None || !userConfig.Multitaps[1]) PlayerAssignments[6] = -1; else PlayerAssignments[6] = id++;
            //if (userConfig.Devices8[7] == OctoshockDll.ePeripheralType.None || !userConfig.Multitaps[1]) PlayerAssignments[7] = -1; else PlayerAssignments[7] = id++;

            if (Devices8[0] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[0] = -1;
            }
            else
            {
                PlayerAssignments[0] = id++;
            }
            if (Devices8[1] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[1] = -1;
            }
            else
            {
                PlayerAssignments[1] = id++;
            }
            if (Devices8[2] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[2] = -1;
            }
            else
            {
                PlayerAssignments[2] = id++;
            }
            if (Devices8[3] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[3] = -1;
            }
            else
            {
                PlayerAssignments[3] = id++;
            }
            if (Devices8[4] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[4] = -1;
            }
            else
            {
                PlayerAssignments[4] = id++;
            }
            if (Devices8[5] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[5] = -1;
            }
            else
            {
                PlayerAssignments[5] = id++;
            }
            if (Devices8[6] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[6] = -1;
            }
            else
            {
                PlayerAssignments[6] = id++;
            }
            if (Devices8[7] == OctoshockDll.ePeripheralType.None)
            {
                PlayerAssignments[7] = -1;
            }
            else
            {
                PlayerAssignments[7] = id++;
            }

            NumPlayers = id - 1;

            for (int i = 0; i < 8; i++)
            {
                int pnum = i + 1;
                for (int j = 0; j < 8; j++)
                {
                    if (PlayerAssignments[j] == pnum)
                    {
                        DevicesPlayer[i] = userConfig.Devices8[j];
                    }
                }
            }
        }