Commit pandora source code
This commit is contained in:
parent
f10bc4f2bf
commit
e86cde6318
276 changed files with 263292 additions and 0 deletions
536
src/od-pandora/gui/PanelInput.cpp
Normal file
536
src/od-pandora/gui/PanelInput.cpp
Normal file
|
@ -0,0 +1,536 @@
|
|||
#include <guichan.hpp>
|
||||
#include <SDL/SDL_ttf.h>
|
||||
#include <guichan/sdl.hpp>
|
||||
#include "sdltruetypefont.hpp"
|
||||
#include "SelectorEntry.hpp"
|
||||
#include "UaeRadioButton.hpp"
|
||||
#include "UaeDropDown.hpp"
|
||||
#include "UaeCheckBox.hpp"
|
||||
|
||||
#include "sysconfig.h"
|
||||
#include "sysdeps.h"
|
||||
#include "config.h"
|
||||
#include "options.h"
|
||||
#include "memory.h"
|
||||
#include "uae.h"
|
||||
#include "autoconf.h"
|
||||
#include "filesys.h"
|
||||
#include "gui.h"
|
||||
#include "target.h"
|
||||
#include "gui_handling.h"
|
||||
|
||||
|
||||
static const char *mousespeed_list[] = { ".25", ".5", "1x", "2x", "4x" };
|
||||
static const int mousespeed_values[] = { 2, 5, 10, 20, 40 };
|
||||
static const char *stylusoffset_list[] = { "None", "1 px", "2 px", "3 px", "4 px", "5 px", "6 px", "7 px", "8 px", "9 px", "10 px" };
|
||||
static const int stylusoffset_values[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
|
||||
|
||||
static gcn::Label *lblCtrlConfig;
|
||||
static gcn::UaeDropDown* cboCtrlConfig;
|
||||
static gcn::Label *lblJoystick;
|
||||
static gcn::UaeDropDown* cboJoystick;
|
||||
static gcn::Label *lblAutofire;
|
||||
static gcn::UaeDropDown* cboAutofire;
|
||||
static gcn::Label* lblMouseSpeed;
|
||||
static gcn::Label* lblMouseSpeedInfo;
|
||||
static gcn::Slider* sldMouseSpeed;
|
||||
static gcn::Label *lblTapDelay;
|
||||
static gcn::UaeDropDown* cboTapDelay;
|
||||
static gcn::Label* lblStylusOffset;
|
||||
static gcn::Label* lblStylusOffsetInfo;
|
||||
static gcn::Slider* sldStylusOffset;
|
||||
|
||||
static gcn::UaeCheckBox* chkCustomCtrl;
|
||||
static gcn::Label *lblDPAD;
|
||||
static gcn::UaeDropDown* cboDPAD;
|
||||
static gcn::Label *lblA;
|
||||
static gcn::UaeDropDown* cboA;
|
||||
static gcn::Label *lblB;
|
||||
static gcn::UaeDropDown* cboB;
|
||||
static gcn::Label *lblX;
|
||||
static gcn::UaeDropDown* cboX;
|
||||
static gcn::Label *lblY;
|
||||
static gcn::UaeDropDown* cboY;
|
||||
static gcn::Label *lblL;
|
||||
static gcn::UaeDropDown* cboL;
|
||||
static gcn::Label *lblR;
|
||||
static gcn::UaeDropDown* cboR;
|
||||
static gcn::Label *lblUp;
|
||||
static gcn::UaeDropDown* cboUp;
|
||||
static gcn::Label *lblDown;
|
||||
static gcn::UaeDropDown* cboDown;
|
||||
static gcn::Label *lblLeft;
|
||||
static gcn::UaeDropDown* cboLeft;
|
||||
static gcn::Label *lblRight;
|
||||
static gcn::UaeDropDown* cboRight;
|
||||
|
||||
|
||||
class StringListModel : public gcn::ListModel
|
||||
{
|
||||
private:
|
||||
std::vector<std::string> values;
|
||||
public:
|
||||
StringListModel(const char *entries[], int count)
|
||||
{
|
||||
for(int i=0; i<count; ++i)
|
||||
values.push_back(entries[i]);
|
||||
}
|
||||
|
||||
int getNumberOfElements()
|
||||
{
|
||||
return values.size();
|
||||
}
|
||||
|
||||
std::string getElementAt(int i)
|
||||
{
|
||||
if(i < 0 || i >= values.size())
|
||||
return "---";
|
||||
return values[i];
|
||||
}
|
||||
};
|
||||
|
||||
const char *ctrlConfigValues[] = {
|
||||
"A=Autofire, X=Fire, Y=Space, B=2nd",
|
||||
"A=Fire, X=Autofire, Y=Space, B=2nd",
|
||||
"A=Autofire, X=Jump, Y=Fire, B=2nd",
|
||||
"A=Fire, X=Jump, Y=Autofire, B=2nd"
|
||||
};
|
||||
StringListModel ctrlConfigList(ctrlConfigValues, 4);
|
||||
|
||||
const char *joystickValues[] = { "Port0", "Port1", "Both" };
|
||||
StringListModel joystickList(joystickValues, 3);
|
||||
|
||||
const char *autofireValues[] = { "Light", "Medium", "Heavy" };
|
||||
StringListModel autofireList(autofireValues, 3);
|
||||
|
||||
const char *tapDelayValues[] = { "Normal", "Short", "None" };
|
||||
StringListModel tapDelayList(tapDelayValues, 3);
|
||||
|
||||
const char *dPADValues[] = { "Joystick", "Mouse", "Custom" };
|
||||
StringListModel dPADList(dPADValues, 3);
|
||||
|
||||
const char *mappingValues[] = {
|
||||
"Joystick Right", "Joystick Left", "Joystick Down", "Joystick Up",
|
||||
"Joystick fire but.2", "Joystick fire but.1", "Mouse right button", "Mouse left button",
|
||||
"------------------",
|
||||
"Arrow Up", "Arrow Down", "Arrow Left", "Arrow Right", "Numpad 0", "Numpad 1", "Numpad 2",
|
||||
"Numpad 3", "Numpad 4", "Numpad 5", "Numpad 6", "Numpad 7", "Numpad 8", "Numpad 9",
|
||||
"Numpad Enter", "Numpad /", "Numpad *", "Numpad -", "Numpad +",
|
||||
"Numpad Delete", "Numpad (", "Numpad )",
|
||||
"Space", "Backspace", "Tab", "Return", "Escape", "Delete",
|
||||
"Left Shift", "Right Shift", "CAPS LOCK", "CTRL", "Left ALT", "Right ALT",
|
||||
"Left Amiga Key", "Right Amiga Key", "Help", "Left Bracket", "Right Bracket",
|
||||
"Semicolon", "Comma", "Period", "Slash", "Backslash", "Quote", "#",
|
||||
"</>", "Backquote", "-", "=",
|
||||
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
|
||||
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
|
||||
"1", "2", "3", "4", "5", "6", "7", "8", "9", "0",
|
||||
"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "NULL"
|
||||
};
|
||||
StringListModel mappingList(mappingValues, 105);
|
||||
|
||||
|
||||
class InputActionListener : public gcn::ActionListener
|
||||
{
|
||||
public:
|
||||
void action(const gcn::ActionEvent& actionEvent)
|
||||
{
|
||||
if (actionEvent.getSource() == cboCtrlConfig)
|
||||
changed_prefs.pandora_joyConf = cboCtrlConfig->getSelected();
|
||||
|
||||
else if (actionEvent.getSource() == cboJoystick)
|
||||
changed_prefs.pandora_joyPort = (cboJoystick->getSelected() + 1) % 3;
|
||||
|
||||
else if (actionEvent.getSource() == cboAutofire)
|
||||
{
|
||||
if(cboAutofire->getSelected() == 0)
|
||||
changed_prefs.input_autofire_framecnt = 12;
|
||||
else if (cboAutofire->getSelected() == 1)
|
||||
changed_prefs.input_autofire_framecnt = 8;
|
||||
else
|
||||
changed_prefs.input_autofire_framecnt = 4;
|
||||
}
|
||||
|
||||
else if (actionEvent.getSource() == sldMouseSpeed)
|
||||
{
|
||||
changed_prefs.input_joymouse_multiplier = mousespeed_values[(int)(sldMouseSpeed->getValue())];
|
||||
RefreshPanelInput();
|
||||
}
|
||||
|
||||
else if (actionEvent.getSource() == cboTapDelay)
|
||||
{
|
||||
if(cboTapDelay->getSelected() == 0)
|
||||
changed_prefs.pandora_tapDelay = 10;
|
||||
else if (cboTapDelay->getSelected() == 1)
|
||||
changed_prefs.pandora_tapDelay = 5;
|
||||
else
|
||||
changed_prefs.pandora_tapDelay = 2;
|
||||
}
|
||||
|
||||
else if (actionEvent.getSource() == sldStylusOffset)
|
||||
{
|
||||
changed_prefs.pandora_stylusOffset = stylusoffset_values[(int)(sldStylusOffset->getValue())];
|
||||
RefreshPanelInput();
|
||||
}
|
||||
|
||||
else if (actionEvent.getSource() == chkCustomCtrl)
|
||||
changed_prefs.pandora_customControls = chkCustomCtrl->isSelected() ? 1 : 0;
|
||||
|
||||
else if (actionEvent.getSource() == cboDPAD)
|
||||
changed_prefs.pandora_custom_dpad = cboDPAD->getSelected();
|
||||
|
||||
else if (actionEvent.getSource() == cboA)
|
||||
changed_prefs.pandora_custom_A = cboA->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboB)
|
||||
changed_prefs.pandora_custom_B = cboB->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboX)
|
||||
changed_prefs.pandora_custom_X = cboX->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboY)
|
||||
changed_prefs.pandora_custom_Y = cboY->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboL)
|
||||
changed_prefs.pandora_custom_L = cboL->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboR)
|
||||
changed_prefs.pandora_custom_R = cboR->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboUp)
|
||||
changed_prefs.pandora_custom_up = cboUp->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboDown)
|
||||
changed_prefs.pandora_custom_down = cboDown->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboLeft)
|
||||
changed_prefs.pandora_custom_left = cboLeft->getSelected() - 8;
|
||||
|
||||
else if (actionEvent.getSource() == cboRight)
|
||||
changed_prefs.pandora_custom_right = cboRight->getSelected() - 8;
|
||||
}
|
||||
};
|
||||
static InputActionListener* inputActionListener;
|
||||
|
||||
|
||||
void InitPanelInput(const struct _ConfigCategory& category)
|
||||
{
|
||||
inputActionListener = new InputActionListener();
|
||||
|
||||
lblCtrlConfig = new gcn::Label("Control Config:");
|
||||
lblCtrlConfig->setSize(100, LABEL_HEIGHT);
|
||||
lblCtrlConfig->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboCtrlConfig = new gcn::UaeDropDown(&ctrlConfigList);
|
||||
cboCtrlConfig->setSize(280, DROPDOWN_HEIGHT);
|
||||
cboCtrlConfig->setBaseColor(gui_baseCol);
|
||||
cboCtrlConfig->setId("cboCtrlConfig");
|
||||
cboCtrlConfig->addActionListener(inputActionListener);
|
||||
|
||||
lblJoystick = new gcn::Label("Joystick:");
|
||||
lblJoystick->setSize(100, LABEL_HEIGHT);
|
||||
lblJoystick->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboJoystick = new gcn::UaeDropDown(&joystickList);
|
||||
cboJoystick->setSize(80, DROPDOWN_HEIGHT);
|
||||
cboJoystick->setBaseColor(gui_baseCol);
|
||||
cboJoystick->setId("cboJoystick");
|
||||
cboJoystick->addActionListener(inputActionListener);
|
||||
|
||||
lblAutofire = new gcn::Label("Autofire Rate:");
|
||||
lblAutofire->setSize(100, LABEL_HEIGHT);
|
||||
lblAutofire->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboAutofire = new gcn::UaeDropDown(&autofireList);
|
||||
cboAutofire->setSize(80, DROPDOWN_HEIGHT);
|
||||
cboAutofire->setBaseColor(gui_baseCol);
|
||||
cboAutofire->setId("cboAutofire");
|
||||
cboAutofire->addActionListener(inputActionListener);
|
||||
|
||||
lblMouseSpeed = new gcn::Label("Mouse Speed:");
|
||||
lblMouseSpeed->setSize(100, LABEL_HEIGHT);
|
||||
lblMouseSpeed->setAlignment(gcn::Graphics::RIGHT);
|
||||
sldMouseSpeed = new gcn::Slider(0, 4);
|
||||
sldMouseSpeed->setSize(110, SLIDER_HEIGHT);
|
||||
sldMouseSpeed->setBaseColor(gui_baseCol);
|
||||
sldMouseSpeed->setMarkerLength(20);
|
||||
sldMouseSpeed->setStepLength(1);
|
||||
sldMouseSpeed->setId("MouseSpeed");
|
||||
sldMouseSpeed->addActionListener(inputActionListener);
|
||||
lblMouseSpeedInfo = new gcn::Label(".25");
|
||||
|
||||
lblTapDelay = new gcn::Label("Tap Delay:");
|
||||
lblTapDelay->setSize(100, LABEL_HEIGHT);
|
||||
lblTapDelay->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboTapDelay = new gcn::UaeDropDown(&tapDelayList);
|
||||
cboTapDelay->setSize(80, DROPDOWN_HEIGHT);
|
||||
cboTapDelay->setBaseColor(gui_baseCol);
|
||||
cboTapDelay->setId("cboTapDelay");
|
||||
cboTapDelay->addActionListener(inputActionListener);
|
||||
|
||||
lblStylusOffset = new gcn::Label("Stylus Offset:");
|
||||
lblStylusOffset->setSize(100, LABEL_HEIGHT);
|
||||
lblStylusOffset->setAlignment(gcn::Graphics::RIGHT);
|
||||
sldStylusOffset = new gcn::Slider(0, 10);
|
||||
sldStylusOffset->setSize(110, SLIDER_HEIGHT);
|
||||
sldStylusOffset->setBaseColor(gui_baseCol);
|
||||
sldStylusOffset->setMarkerLength(20);
|
||||
sldStylusOffset->setStepLength(1);
|
||||
sldStylusOffset->setId("StylusOffset");
|
||||
sldStylusOffset->addActionListener(inputActionListener);
|
||||
lblStylusOffsetInfo = new gcn::Label("10 px");
|
||||
|
||||
chkCustomCtrl = new gcn::UaeCheckBox("Custom Control");
|
||||
chkCustomCtrl->setId("CustomCtrl");
|
||||
chkCustomCtrl->addActionListener(inputActionListener);
|
||||
|
||||
lblDPAD = new gcn::Label("DPAD:");
|
||||
lblDPAD->setSize(100, LABEL_HEIGHT);
|
||||
lblDPAD->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboDPAD = new gcn::UaeDropDown(&dPADList);
|
||||
cboDPAD->setSize(80, DROPDOWN_HEIGHT);
|
||||
cboDPAD->setBaseColor(gui_baseCol);
|
||||
cboDPAD->setId("cboDPAD");
|
||||
cboDPAD->addActionListener(inputActionListener);
|
||||
|
||||
lblA = new gcn::Label("<A>:");
|
||||
lblA->setSize(100, LABEL_HEIGHT);
|
||||
lblA->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboA = new gcn::UaeDropDown(&mappingList);
|
||||
cboA->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboA->setBaseColor(gui_baseCol);
|
||||
cboA->setId("cboA");
|
||||
cboA->addActionListener(inputActionListener);
|
||||
|
||||
lblB = new gcn::Label("<B>:");
|
||||
lblB->setSize(100, LABEL_HEIGHT);
|
||||
lblB->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboB = new gcn::UaeDropDown(&mappingList);
|
||||
cboB->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboB->setBaseColor(gui_baseCol);
|
||||
cboB->setId("cboB");
|
||||
cboB->addActionListener(inputActionListener);
|
||||
|
||||
lblX = new gcn::Label("<X>:");
|
||||
lblX->setSize(100, LABEL_HEIGHT);
|
||||
lblX->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboX = new gcn::UaeDropDown(&mappingList);
|
||||
cboX->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboX->setBaseColor(gui_baseCol);
|
||||
cboX->setId("cboX");
|
||||
cboX->addActionListener(inputActionListener);
|
||||
|
||||
lblY = new gcn::Label("<Y>:");
|
||||
lblY->setSize(100, LABEL_HEIGHT);
|
||||
lblY->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboY = new gcn::UaeDropDown(&mappingList);
|
||||
cboY->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboY->setBaseColor(gui_baseCol);
|
||||
cboY->setId("cboY");
|
||||
cboY->addActionListener(inputActionListener);
|
||||
|
||||
lblL = new gcn::Label("<L>:");
|
||||
lblL->setSize(100, LABEL_HEIGHT);
|
||||
lblL->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboL = new gcn::UaeDropDown(&mappingList);
|
||||
cboL->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboL->setBaseColor(gui_baseCol);
|
||||
cboL->setId("cboL");
|
||||
cboL->addActionListener(inputActionListener);
|
||||
|
||||
lblR = new gcn::Label("<R>:");
|
||||
lblR->setSize(100, LABEL_HEIGHT);
|
||||
lblR->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboR = new gcn::UaeDropDown(&mappingList);
|
||||
cboR->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboR->setBaseColor(gui_baseCol);
|
||||
cboR->setId("cboR");
|
||||
cboR->addActionListener(inputActionListener);
|
||||
|
||||
lblUp = new gcn::Label("Up:");
|
||||
lblUp->setSize(100, LABEL_HEIGHT);
|
||||
lblUp->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboUp = new gcn::UaeDropDown(&mappingList);
|
||||
cboUp->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboUp->setBaseColor(gui_baseCol);
|
||||
cboUp->setId("cboUp");
|
||||
cboUp->addActionListener(inputActionListener);
|
||||
|
||||
lblDown = new gcn::Label("Down:");
|
||||
lblDown->setSize(100, LABEL_HEIGHT);
|
||||
lblDown->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboDown = new gcn::UaeDropDown(&mappingList);
|
||||
cboDown->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboDown->setBaseColor(gui_baseCol);
|
||||
cboDown->setId("cboDown");
|
||||
cboDown->addActionListener(inputActionListener);
|
||||
|
||||
lblLeft = new gcn::Label("Left:");
|
||||
lblLeft->setSize(100, LABEL_HEIGHT);
|
||||
lblLeft->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboLeft = new gcn::UaeDropDown(&mappingList);
|
||||
cboLeft->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboLeft->setBaseColor(gui_baseCol);
|
||||
cboLeft->setId("cboLeft");
|
||||
cboLeft->addActionListener(inputActionListener);
|
||||
|
||||
lblRight = new gcn::Label("Right:");
|
||||
lblRight->setSize(100, LABEL_HEIGHT);
|
||||
lblRight->setAlignment(gcn::Graphics::RIGHT);
|
||||
cboRight = new gcn::UaeDropDown(&mappingList);
|
||||
cboRight->setSize(150, DROPDOWN_HEIGHT);
|
||||
cboRight->setBaseColor(gui_baseCol);
|
||||
cboRight->setId("cboRight");
|
||||
cboRight->addActionListener(inputActionListener);
|
||||
|
||||
int posY = DISTANCE_BORDER;
|
||||
category.panel->add(lblCtrlConfig, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboCtrlConfig, DISTANCE_BORDER + lblCtrlConfig->getWidth() + 8, posY);
|
||||
posY += cboCtrlConfig->getHeight() + DISTANCE_NEXT_Y;
|
||||
category.panel->add(lblJoystick, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboJoystick, DISTANCE_BORDER + lblJoystick->getWidth() + 8, posY);
|
||||
category.panel->add(lblAutofire, 300, posY);
|
||||
category.panel->add(cboAutofire, 300 + lblAutofire->getWidth() + 8, posY);
|
||||
posY += cboAutofire->getHeight() + DISTANCE_NEXT_Y;
|
||||
category.panel->add(lblTapDelay, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboTapDelay, DISTANCE_BORDER + lblTapDelay->getWidth() + 8, posY);
|
||||
posY += cboTapDelay->getHeight() + DISTANCE_NEXT_Y;
|
||||
category.panel->add(lblMouseSpeed, DISTANCE_BORDER, posY);
|
||||
category.panel->add(sldMouseSpeed, DISTANCE_BORDER + lblMouseSpeed->getWidth() + 8, posY);
|
||||
category.panel->add(lblMouseSpeedInfo, sldMouseSpeed->getX() + sldMouseSpeed->getWidth() + 12, posY);
|
||||
posY += sldMouseSpeed->getHeight() + DISTANCE_NEXT_Y;
|
||||
category.panel->add(lblStylusOffset, DISTANCE_BORDER, posY);
|
||||
category.panel->add(sldStylusOffset, DISTANCE_BORDER + lblStylusOffset->getWidth() + 8, posY);
|
||||
category.panel->add(lblStylusOffsetInfo, sldStylusOffset->getX() + sldStylusOffset->getWidth() + 12, posY);
|
||||
posY += sldStylusOffset->getHeight() + DISTANCE_NEXT_Y;
|
||||
|
||||
category.panel->add(lblDPAD, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboDPAD, DISTANCE_BORDER + lblDPAD->getWidth() + 8, posY);
|
||||
category.panel->add(chkCustomCtrl, 320, posY);
|
||||
posY += cboDPAD->getHeight() + DISTANCE_NEXT_Y;
|
||||
category.panel->add(lblA, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboA, DISTANCE_BORDER + lblA->getWidth() + 8, posY);
|
||||
category.panel->add(lblB, 300, posY);
|
||||
category.panel->add(cboB, 300 + lblB->getWidth() + 8, posY);
|
||||
posY += cboA->getHeight() + 4;
|
||||
category.panel->add(lblX, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboX, DISTANCE_BORDER + lblX->getWidth() + 8, posY);
|
||||
category.panel->add(lblY, 300, posY);
|
||||
category.panel->add(cboY, 300 + lblY->getWidth() + 8, posY);
|
||||
posY += cboX->getHeight() + 4;
|
||||
category.panel->add(lblL, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboL, DISTANCE_BORDER + lblL->getWidth() + 8, posY);
|
||||
category.panel->add(lblR, 300, posY);
|
||||
category.panel->add(cboR, 300 + lblR->getWidth() + 8, posY);
|
||||
posY += cboL->getHeight() + 4;
|
||||
category.panel->add(lblUp, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboUp, DISTANCE_BORDER + lblUp->getWidth() + 8, posY);
|
||||
category.panel->add(lblDown, 300, posY);
|
||||
category.panel->add(cboDown, 300 + lblDown->getWidth() + 8, posY);
|
||||
posY += cboUp->getHeight() + 4;
|
||||
category.panel->add(lblLeft, DISTANCE_BORDER, posY);
|
||||
category.panel->add(cboLeft, DISTANCE_BORDER + lblLeft->getWidth() + 8, posY);
|
||||
category.panel->add(lblRight, 300, posY);
|
||||
category.panel->add(cboRight, 300 + lblRight->getWidth() + 8, posY);
|
||||
posY += cboLeft->getHeight() + 4;
|
||||
|
||||
RefreshPanelInput();
|
||||
}
|
||||
|
||||
|
||||
void ExitPanelInput(void)
|
||||
{
|
||||
delete lblCtrlConfig;
|
||||
delete cboCtrlConfig;
|
||||
delete lblJoystick;
|
||||
delete cboJoystick;
|
||||
delete lblAutofire;
|
||||
delete cboAutofire;
|
||||
delete lblMouseSpeed;
|
||||
delete sldMouseSpeed;
|
||||
delete lblMouseSpeedInfo;
|
||||
delete lblTapDelay;
|
||||
delete cboTapDelay;
|
||||
delete lblStylusOffset;
|
||||
delete sldStylusOffset;
|
||||
delete lblStylusOffsetInfo;
|
||||
|
||||
delete chkCustomCtrl;
|
||||
delete lblDPAD;
|
||||
delete cboDPAD;
|
||||
delete lblA;
|
||||
delete cboA;
|
||||
delete lblB;
|
||||
delete cboB;
|
||||
delete lblX;
|
||||
delete cboX;
|
||||
delete lblY;
|
||||
delete cboY;
|
||||
delete lblL;
|
||||
delete cboL;
|
||||
delete lblR;
|
||||
delete cboR;
|
||||
delete lblUp;
|
||||
delete cboUp;
|
||||
delete lblDown;
|
||||
delete cboDown;
|
||||
delete lblLeft;
|
||||
delete cboLeft;
|
||||
delete lblRight;
|
||||
delete cboRight;
|
||||
|
||||
delete inputActionListener;
|
||||
}
|
||||
|
||||
|
||||
void RefreshPanelInput(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
cboCtrlConfig->setSelected(changed_prefs.pandora_joyConf);
|
||||
cboJoystick->setSelected((changed_prefs.pandora_joyPort + 2) % 3);
|
||||
|
||||
if (changed_prefs.input_autofire_framecnt == 12)
|
||||
cboAutofire->setSelected(0);
|
||||
else if (changed_prefs.input_autofire_framecnt == 8)
|
||||
cboAutofire->setSelected(1);
|
||||
else
|
||||
cboAutofire->setSelected(2);
|
||||
|
||||
for(i=0; i<5; ++i)
|
||||
{
|
||||
if(changed_prefs.input_joymouse_multiplier == mousespeed_values[i])
|
||||
{
|
||||
sldMouseSpeed->setValue(i);
|
||||
lblMouseSpeedInfo->setCaption(mousespeed_list[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (changed_prefs.pandora_tapDelay == 10)
|
||||
cboTapDelay->setSelected(0);
|
||||
else if (changed_prefs.pandora_tapDelay == 5)
|
||||
cboTapDelay->setSelected(1);
|
||||
else
|
||||
cboTapDelay->setSelected(2);
|
||||
|
||||
for(i=0; i<11; ++i)
|
||||
{
|
||||
if(changed_prefs.pandora_stylusOffset == stylusoffset_values[i])
|
||||
{
|
||||
sldStylusOffset->setValue(i);
|
||||
lblStylusOffsetInfo->setCaption(stylusoffset_list[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
chkCustomCtrl->setSelected(changed_prefs.pandora_customControls);
|
||||
cboDPAD->setSelected(changed_prefs.pandora_custom_dpad);
|
||||
cboA->setSelected(changed_prefs.pandora_custom_A + 8);
|
||||
cboB->setSelected(changed_prefs.pandora_custom_B + 8);
|
||||
cboX->setSelected(changed_prefs.pandora_custom_X + 8);
|
||||
cboY->setSelected(changed_prefs.pandora_custom_Y + 8);
|
||||
cboL->setSelected(changed_prefs.pandora_custom_L + 8);
|
||||
cboR->setSelected(changed_prefs.pandora_custom_R + 8);
|
||||
cboUp->setSelected(changed_prefs.pandora_custom_up + 8);
|
||||
cboDown->setSelected(changed_prefs.pandora_custom_down + 8);
|
||||
cboLeft->setSelected(changed_prefs.pandora_custom_left + 8);
|
||||
cboRight->setSelected(changed_prefs.pandora_custom_right + 8);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue