Code Monkey home page Code Monkey logo

mupen64plus-input-gca's Introduction

mupen64plus-input-gca

An input plugin for Mupen64Plus using the GameCube controller adapter for Wii U and Switch.

Installing

Note: There are currently only builds for 64-bit Mupen64Plus.

  1. Follow the first section of this Dolphin guide to set up your adapter (use Zadig if you are on Windows).

  2. Download the plugin ZIP from the latest release.

  3. Extract the plugin into your Mupen64Plus folder.

Usage

Select the plugin in your Mupen64Plus frontend and connect your adapter, and you are good to go!

Configuration

After the plugin has been used at least once, a file will be generated in your Mupen64Plus user configuration folder named mupen64plus-input-gca.toml. The default location of the Mupen64Plus user configuration folder is

  • C:\Users\<username>\AppData\Roaming\Mupen64Plus\, on Windows
  • $XDG_CONFIG_HOME/mupen64plus/ or $HOME/.config/mupen64plus/, on Linux
  • $HOME/Library/Application Support/Mupen64Plus/, on macOS.

This file contains the configuration for the plugin. Changes in the configuration will be loaded the next time you start your frontend.

You can configure the following:

  • Deadzones for the control stick and C-stick.
  • Control stick sensitivity.
    • Note that the default sensitivity setting is based on the controllers I had available when testing. All GameCube controllers are different, so you might need to change this to something that works for you. Having the sensitivity too low will prevent you from reaching the maximum input with the stick, and having it too high will make it difficult to control.
  • Threshold for the trigger buttons (L and R).
    • This controls how far the triggers need to be pressed before an input is registered.
  • The controller mapping between the GameCube controller and the N64 buttons.

The default controller mapping is what you would expect, except for:

  • Y is C-button left
  • X is C-button right
  • L and Z are swapped (GC L is N64 Z and GC Z is N64 L)

Building

Build requirements:

  • Cargo

To build the project:

$ git clone https://github.com/amatho/mupen64plus-input-gca
$ cd mupen64plus-input-gca
$ cargo build --release

The compiled plugin will be at target/release/mupen64plus_input_gca.(dll|dylib|so).

Note: The compiled dynamic library will have underscores in it's name, but m64p (linked above) will only look for plugins with hyphens. Just rename the file and m64p will find it.

bindgen is used to generate the Rust bindings for the Mupen64Plus API found in src/ffi/. See the bindgen User Guide for installation instructions, and this section of the guide for requirements for running bindgen.

Contributing

Feel free to open issues or pull requests.

License

Licensed under the MIT license, see LICENSE. For external code in extern (headers from the Mupen64Plus-Core API), see LICENSES.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.