Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
build/
artifact/

# macOS
.DS_Store
shell/apple/emulator-ios/OpenMP/OpenMP.xcframework

# Visual Studio
.vs/
.vscode/
out/

# JetBrains IDES
.idea/
cmake-build-*/

# Dependencies from .gitmodules
core/deps/breakpad/
core/deps/glslang/
1 change: 1 addition & 0 deletions core/cfg/ini.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <cstdio>
#include <map>
#include <string>
#include <cstdint>

namespace emucfg {

Expand Down
29 changes: 14 additions & 15 deletions core/hw/maple/maple_cfg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,14 @@ void MapleConfigMap::GetInput(PlainJoystickState* pjs)
pjs->kcode = inputState.kcode;
pjs->joy[PJAI_X1] = GetBtFromSgn(inputState.fullAxes[PJAI_X1]);
pjs->joy[PJAI_Y1] = GetBtFromSgn(inputState.fullAxes[PJAI_Y1]);
pjs->joy[PJAI_X2] = GetBtFromSgn(inputState.fullAxes[PJAI_X2]);
pjs->joy[PJAI_Y2] = GetBtFromSgn(inputState.fullAxes[PJAI_Y2]);
pjs->joy[PJAI_X3] = GetBtFromSgn(inputState.fullAxes[PJAI_X3]);
pjs->joy[PJAI_Y3] = GetBtFromSgn(inputState.fullAxes[PJAI_Y3]);
pjs->trigger[PJTI_R] = inputState.halfAxes[PJTI_R];
pjs->trigger[PJTI_L] = inputState.halfAxes[PJTI_L];
pjs->trigger[PJTI_L2] = inputState.halfAxes[PJTI_L2];
pjs->trigger[PJTI_R2] = inputState.halfAxes[PJTI_R2];
}
else if (settings.platform.isAtomiswave())
{
Expand Down Expand Up @@ -290,27 +296,20 @@ static void createDreamcastDevices()
break;

case MDT_Keyboard:
mcfg_Create(MDT_Keyboard, bus, 5);
break;

case MDT_Mouse:
mcfg_Create(MDT_Mouse, bus, 5);
case MDT_MaracasController:
case MDT_FishingController:
case MDT_PopnMusicController:
case MDT_RacingController:
case MDT_DenshaDeGoController:
case MDT_Dreameye:
mcfg_Create(config::MapleMainDevices[bus], bus, 5);
break;

case MDT_LightGun:
mcfg_Create(MDT_LightGun, bus, 5);
if (config::MapleExpansionDevices[bus][0] != MDT_None)
mcfg_Create(config::MapleExpansionDevices[bus][0], bus, 0);
break;

case MDT_TwinStick:
mcfg_Create(MDT_TwinStick, bus, 5);
if (config::MapleExpansionDevices[bus][0] != MDT_None)
mcfg_Create(config::MapleExpansionDevices[bus][0], bus, 0);
break;

case MDT_AsciiStick:
mcfg_Create(MDT_AsciiStick, bus, 5);
mcfg_Create(config::MapleMainDevices[bus], bus, 5);
if (config::MapleExpansionDevices[bus][0] != MDT_None)
mcfg_Create(config::MapleExpansionDevices[bus][0], bus, 0);
break;
Expand Down
55 changes: 32 additions & 23 deletions core/hw/maple/maple_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,25 @@

enum MapleDeviceType
{
MDT_SegaController,

MDT_SegaVMU,
MDT_Microphone,
MDT_PurupuruPack,
MDT_AsciiStick,
MDT_Keyboard,
MDT_Mouse,
MDT_LightGun,
MDT_TwinStick,

MDT_NaomiJamma,

MDT_None,
MDT_RFIDReaderWriter,
MDT_SegaController = 0,
MDT_SegaVMU = 1,
MDT_Microphone = 2,
MDT_PurupuruPack = 3,
MDT_AsciiStick = 4,
MDT_Keyboard = 5,
MDT_Mouse = 6,
MDT_LightGun = 7,
MDT_TwinStick = 8,
MDT_NaomiJamma = 9,
MDT_None = 10,
MDT_RFIDReaderWriter = 11,
MDT_MaracasController = 12,
MDT_FishingController = 13,
MDT_PopnMusicController = 14,
MDT_RacingController = 15,
MDT_DenshaDeGoController = 16,
MDT_Dreameye = 17,
MDT_Count
};

enum PlainJoystickAxisId
Expand All @@ -26,24 +30,29 @@ enum PlainJoystickAxisId
PJAI_Y1 = 1,
PJAI_X2 = 2,
PJAI_Y2 = 3,

PJAI_Count = 4
PJAI_X3 = 4,
PJAI_Y3 = 5,
PJAI_Count = 6
};

enum PlainJoystickTriggerId
{
PJTI_L = 0,
PJTI_R = 1,

PJTI_Count = 2
PJTI_L2 = 2,
PJTI_R2 = 3,
PJTI_Count = 4
};

struct PlainJoystickState
{
PlainJoystickState()
{
joy[0]=joy[1]=joy[2]=joy[3]=0x80;
trigger[0]=trigger[1]=0;
u32 i;
for (i=0; i < PJAI_Count; i++)
joy[i] = 0x80;
for (i=0; i < PJTI_Count; i++)
trigger[i] = 0;
}

u32 kcode = ~0;
Expand Down Expand Up @@ -81,8 +90,8 @@ struct MapleInputState
}

u32 kcode = ~0;
u8 halfAxes[PJTI_Count]; // LT, RT
int8_t fullAxes[PJAI_Count]; // Left X, Y, Right X, Y
u8 halfAxes[PJTI_Count]; // LT, RT, 2, 3
int8_t fullAxes[PJAI_Count]; // Left X, Y, Right X, Y, Other X, Other Y
u8 mouseButtons = ~0;
struct {
int x = -1;
Expand Down
Loading