コード例 #1
0
ファイル: Emulator.cs プロジェクト: Hacktix/Chroma-Invaders
        protected override void ControllerButtonPressed(ControllerButtonEventArgs e)
        {
            if (e.Controller.PlayerIndex == 0)
            {
                switch (e.Button)
                {
                case ControllerButton.RightStick:
                    Machine.InputPort1 &= 0b11111110;
                    break;

                case ControllerButton.Menu:
                    Machine.InputPort1 |= 0b100;
                    break;

                case ControllerButton.View:
                    Machine.InputPort1 |= 0b10;
                    break;
                }
            }

            if (e.Button == ControllerButton.A)
            {
                if ((e.Controller.PlayerIndex == 0 && Controller.DeviceCount > 1) || Controller.DeviceCount == 1)
                {
                    Machine.InputPort1 |= 0b10000;
                }
                if ((e.Controller.PlayerIndex == 1 && Controller.DeviceCount > 1) || Controller.DeviceCount == 1)
                {
                    Machine.InputPort2 |= 0b10000;
                }
            }
        }
コード例 #2
0
 protected override void ControllerButtonPressed(ControllerButtonEventArgs e)
 {
     if (e.Button == ControllerButton.Menu)
     {
         FlatRender = !FlatRender;
     }
     if (e.Button == ControllerButton.View)
     {
         MiniMap = !MiniMap;
     }
     if (e.Button == ControllerButton.A)
     {
         RenderSprites = !RenderSprites;
     }
     if (e.Button == ControllerButton.B)
     {
         NoClip = !NoClip;
     }
 }
コード例 #3
0
        protected override void ControllerButtonPressed(ControllerButtonEventArgs e)
        {
            if (e.Button == ControllerButton.X)
            {
                _color = Color.DodgerBlue;
            }
            else if (e.Button == ControllerButton.B)
            {
                _color = Color.LimeGreen;
            }
            else if (e.Button == ControllerButton.Y)
            {
                _color = Color.Yellow;
            }
            else if (e.Button == ControllerButton.A)
            {
                _color = Color.OrangeRed;
            }

            if (e.Button == ControllerButton.LeftStick)
            {
                _mode = ShapeMode.Fill;
            }
            else if (e.Button == ControllerButton.RightStick)
            {
                _mode = ShapeMode.Stroke;
            }

            if (e.Button == ControllerButton.LeftBumper)
            {
                _lineThickness -= 1;

                if (_lineThickness <= 0)
                {
                    _lineThickness = 1;
                }
            }
            else if (e.Button == ControllerButton.RightBumper)
            {
                _lineThickness += 1;
            }
        }
コード例 #4
0
        protected override void ControllerButtonReleased(ControllerButtonEventArgs e)
        {
            switch (e.Button)
            {
            case Chroma.Input.ControllerButton.DpadRight: InputBits |= 0b00000001; break;

            case Chroma.Input.ControllerButton.DpadLeft: InputBits |= 0b00000010; break;

            case Chroma.Input.ControllerButton.DpadUp: InputBits |= 0b00000100; break;

            case Chroma.Input.ControllerButton.DpadDown: InputBits |= 0b00001000; break;

            case Chroma.Input.ControllerButton.A: InputBits |= 0b00010000; break;

            case Chroma.Input.ControllerButton.B: InputBits |= 0b00100000; break;

            case Chroma.Input.ControllerButton.View: InputBits |= 0b01000000; break;

            case Chroma.Input.ControllerButton.Menu: InputBits |= 0b10000000; break;
            }
        }
コード例 #5
0
ファイル: Emulator.cs プロジェクト: Hacktix/Chroma-Invaders
        protected override void ControllerButtonReleased(ControllerButtonEventArgs e)
        {
            if (e.Controller.PlayerIndex == 0)
            {
                switch (e.Button)
                {
                case ControllerButton.RightStick:
                    Machine.InputPort1 |= 0b1;
                    break;

                case ControllerButton.Menu:
                    Machine.InputPort1 &= 0b11111011;
                    break;

                case ControllerButton.View:
                    Machine.InputPort1 &= 0b11111101;
                    break;

                case ControllerButton.LeftBumper:
                    UseColor = !UseColor;
                    break;

                case ControllerButton.RightBumper:
                    UseShader = !UseShader;
                    break;
                }
            }

            if (e.Button == ControllerButton.A)
            {
                if ((e.Controller.PlayerIndex == 0 && Controller.DeviceCount > 1) || Controller.DeviceCount == 1)
                {
                    Machine.InputPort1 &= 0b11101111;
                }
                if ((e.Controller.PlayerIndex == 1 && Controller.DeviceCount > 1) || Controller.DeviceCount == 1)
                {
                    Machine.InputPort2 &= 0b11101111;
                }
            }
        }
コード例 #6
0
ファイル: Game.cs プロジェクト: Ciastex/Prisma
 protected virtual void ControllerButtonReleased(ControllerButtonEventArgs e)
 {
 }
コード例 #7
0
ファイル: Game.cs プロジェクト: Ciastex/Prisma
 protected virtual void ControllerButtonPressed(ControllerButtonEventArgs e)
 {
 }
コード例 #8
0
ファイル: Game.cs プロジェクト: Ciastex/Prisma
 internal void OnControllerButtonReleased(ControllerButtonEventArgs e)
 => ControllerButtonReleased(e);
コード例 #9
0
ファイル: Game.cs プロジェクト: Ciastex/Prisma
 internal void OnControllerButtonPressed(ControllerButtonEventArgs e)
 => ControllerButtonPressed(e);
コード例 #10
0
        protected override void ControllerButtonPressed(ControllerButtonEventArgs e)
        {
            switch (e.Button)
            {
            case Chroma.Input.ControllerButton.DpadRight:
                InputBits &= 0b11111110;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b10000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.DpadLeft:
                InputBits &= 0b11111101;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b10000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.DpadUp:
                InputBits &= 0b11111011;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b10000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.DpadDown:
                InputBits &= 0b11110111;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b10000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.A:
                InputBits &= 0b11101111;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b100000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.B:
                InputBits &= 0b11011111;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b100000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.View:
                InputBits &= 0b10111111;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b100000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;

            case Chroma.Input.ControllerButton.Menu:
                InputBits &= 0b01111111;
                if ((Gameboy.Memory.RAM[0xFF00] & 0b100000) == 0)
                {
                    Gameboy.Memory[0xFFFF] |= 0b10000;
                }
                break;
            }
        }
コード例 #11
0
 protected override void ControllerButtonReleased(ControllerButtonEventArgs e)
 {
     _log.Info($"Controller button '{e.Button}' released.");
 }