mirror of https://github.com/LIJI32/SameBoy.git
Prevent GB_workboy_is_enabled incorrectly returning true, prevent GB_workboy_set_key from affecting other accessories if Workboy isn't connected
This commit is contained in:
parent
9619500445
commit
00e1c925a4
|
@ -153,11 +153,13 @@ void GB_connect_workboy(GB_gameboy_t *gb,
|
||||||
|
|
||||||
bool GB_workboy_is_enabled(GB_gameboy_t *gb)
|
bool GB_workboy_is_enabled(GB_gameboy_t *gb)
|
||||||
{
|
{
|
||||||
return gb->workboy.mode;
|
return gb->accessory == GB_ACCESSORY_WORKBOY && gb->workboy.mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GB_workboy_set_key(GB_gameboy_t *gb, uint8_t key)
|
void GB_workboy_set_key(GB_gameboy_t *gb, uint8_t key)
|
||||||
{
|
{
|
||||||
|
if (gb->accessory != GB_ACCESSORY_WORKBOY) return;
|
||||||
|
|
||||||
if (gb->workboy.user_shift_down != gb->workboy.shift_down &&
|
if (gb->workboy.user_shift_down != gb->workboy.shift_down &&
|
||||||
(key & (GB_WORKBOY_REQUIRE_SHIFT | GB_WORKBOY_FORBID_SHIFT)) == 0) {
|
(key & (GB_WORKBOY_REQUIRE_SHIFT | GB_WORKBOY_FORBID_SHIFT)) == 0) {
|
||||||
if (gb->workboy.user_shift_down) {
|
if (gb->workboy.user_shift_down) {
|
||||||
|
|
Loading…
Reference in New Issue