mirror of
https://github.com/patchzyy/wiicompiled
synced 2026-10-25 23:34:34 -04:00
ac99413d45
* move aurora to the aurora-wiicompiled submodule (#315) * Update settings_overlay.cpp (#257) * Simplify controller settings menu (#317) * simplify controller settings menu * platform pairing hint * build for x86-64-v2 on older linux cpus (#319) * Real Wii Remote support over Bluetooth (#323) * pass real wii remotes through emulated bluetooth * build bluetooth tests on macos ci * address review comments * cancel replaced bluetooth reads * Run GX on its own thread (#325) * NTSC-U and NTSC-J support (#326) * add ntsc-u and ntsc-j support Co-authored-by: DarthMDev <mgracer48@yahoo.com> Co-authored-by: rooklz <rookieb@muzo-works.com> * hash inc files and require project for shards * port remaining stale rr us hooks * drop map report generation * drop one-off region porters --------- Co-authored-by: DarthMDev <mgracer48@yahoo.com> Co-authored-by: rooklz <rookieb@muzo-works.com> * Keyboard input for friend code entry (#327) * keyboard input for friend code entry * add new guest imports to synthetic test * replace per-address region table with range map (#328) * paste friend codes from clipboard (#329) * Verify dependency archive hashes (#330) * verify dependency archive hashes * verify cached cppwinrt tool * check dependency path types * Check CPU support before building (#331) * check cpu support before building * build for x86-64-v2 on windows and intel macs * bump aurora for fog fsel fix * add vsync option (#333) * Add exe icons (#334) * add exe icons * rebuild icon resource on ico change * drop icon rebuild tracking * Fix bugs found in forks (#336) * port fixes found in forks * fill whole disk id * dump kamek overlay on crash (#335) * bump aurora and version to 0.9.0 --------- Co-authored-by: DarthMDev <mgracer48@yahoo.com> Co-authored-by: rooklz <rookieb@muzo-works.com>
53 lines
1.8 KiB
C++
53 lines
1.8 KiB
C++
#pragma once
|
|
|
|
// Physical Wii Remotes on the PC. Each one is attached to one of the four
|
|
// virtual remotes of the emulated Bluetooth controller and its HID reports are
|
|
// passed through unchanged, so the game's own WPAD/KPAD drive it (IR, speaker,
|
|
// rumble, extensions, battery).
|
|
|
|
#include "bluetooth/bt_controller.h"
|
|
|
|
#include <cstddef>
|
|
#include <string>
|
|
|
|
namespace Wiimote {
|
|
|
|
struct SlotInfo {
|
|
bool attached = false;
|
|
// The game disconnected it and the platform could not power it off; any
|
|
// button wakes it up again.
|
|
bool asleep = false;
|
|
Bluetooth::LinkState link = Bluetooth::LinkState::Down;
|
|
std::string model; // "Wii Remote" / "Wii Remote Plus"
|
|
std::string extension; // empty when none
|
|
int battery = -1; // 0..4 like the game's battery bars, -1 unknown
|
|
};
|
|
|
|
struct PairingInfo {
|
|
bool supported = false; // this platform can discover and pair remotes itself
|
|
bool searching = false;
|
|
std::string status; // last pairing outcome, for the overlay
|
|
};
|
|
|
|
// Must run before SDL's joystick subsystem starts (aurora_initialize).
|
|
void ConfigureSdlHints(bool enabled);
|
|
// Starts device scanning when Wii Remotes are enabled.
|
|
void Initialize();
|
|
// Powers the remotes off, like a console shutting down, and stops the threads.
|
|
void Shutdown();
|
|
|
|
Bluetooth::RemoteHost& Host();
|
|
|
|
SlotInfo Slot(size_t slot);
|
|
PairingInfo Pairing();
|
|
// The console's SYNC button: look for remotes in pairing mode for a while.
|
|
void StartPairing();
|
|
// Ends the game's connection to the remote on `slot` and powers it off.
|
|
void Disconnect(size_t slot);
|
|
// Setup problems worth showing (kernel driver, missing permissions), else empty.
|
|
std::string PlatformNotice();
|
|
// Connected remotes waiting for a free player slot.
|
|
size_t WaitingRemotes();
|
|
|
|
} // namespace Wiimote
|