mirror of https://github.com/mgba-emu/mgba.git
Libretro: Adjust light level with L3 and R3
This commit is contained in:
parent
3a31577cab
commit
5a932631be
|
@ -129,7 +129,9 @@ void retro_init(void) {
|
||||||
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_UP, "Up" },
|
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_UP, "Up" },
|
||||||
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_DOWN, "Down" },
|
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_DOWN, "Down" },
|
||||||
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R, "R" },
|
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R, "R" },
|
||||||
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L, "L" }
|
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L, "L" },
|
||||||
|
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R3, "Brighten Solar Sensor" },
|
||||||
|
{ 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L3, "Darken Solar Sensor" }
|
||||||
};
|
};
|
||||||
environCallback(RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS, &inputDescriptors);
|
environCallback(RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS, &inputDescriptors);
|
||||||
|
|
||||||
|
@ -221,6 +223,26 @@ void retro_run(void) {
|
||||||
keys |= (!!inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R)) << 8;
|
keys |= (!!inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R)) << 8;
|
||||||
keys |= (!!inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L)) << 9;
|
keys |= (!!inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L)) << 9;
|
||||||
|
|
||||||
|
static bool wasAdjustingLux = false;
|
||||||
|
if (wasAdjustingLux) {
|
||||||
|
wasAdjustingLux = inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R3) ||
|
||||||
|
inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L3);
|
||||||
|
} else {
|
||||||
|
if (inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R3)) {
|
||||||
|
++luxLevel;
|
||||||
|
if (luxLevel > 10) {
|
||||||
|
luxLevel = 10;
|
||||||
|
}
|
||||||
|
wasAdjustingLux = true;
|
||||||
|
} else if (inputCallback(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L3)) {
|
||||||
|
--luxLevel;
|
||||||
|
if (luxLevel < 0) {
|
||||||
|
luxLevel = 0;
|
||||||
|
}
|
||||||
|
wasAdjustingLux = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int frameCount = gba.video.frameCounter;
|
int frameCount = gba.video.frameCounter;
|
||||||
while (gba.video.frameCounter == frameCount) {
|
while (gba.video.frameCounter == frameCount) {
|
||||||
ARMRunLoop(&cpu);
|
ARMRunLoop(&cpu);
|
||||||
|
|
Loading…
Reference in New Issue