the input config screen now contains some stuff... ugly and will need some serious thinking, but going along
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/irrlicht@3439 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
505f19d267
commit
a15c23d878
BIN
data/gui/gamepad.png
Normal file
BIN
data/gui/gamepad.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.0 KiB |
BIN
data/gui/keyboard.png
Normal file
BIN
data/gui/keyboard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
@ -8,66 +8,69 @@
|
|||||||
<icon-button id="controls" width="128" height="128" icon="gui/options_input.png" text="Controls"/>
|
<icon-button id="controls" width="128" height="128" icon="gui/options_input.png" text="Controls"/>
|
||||||
</ribbon>
|
</ribbon>
|
||||||
|
|
||||||
<spacer proportion="1" width="10" proportion="1"/>
|
<spacer height="15" width="10" />
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<scrollable_ribbon id="devices" proportion="3" text="all" width="100%" square_items="false" align="center" child_width="256" child_height="128" />
|
||||||
|
|
||||||
|
|
||||||
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Accelerate"/>
|
<label proportion="2" height="100%" text="Accelerate"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_up" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_up" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Brake"/>
|
<label proportion="2" height="100%" text="Brake"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_down" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_down" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Left"/>
|
<label proportion="2" height="100%" text="Left"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_left" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_left" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Right"/>
|
<label proportion="2" height="100%" text="Right"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_right" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_right" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Fire"/>
|
<label proportion="2" height="100%" text="Fire"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_fire" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_fire" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Nitro"/>
|
<label proportion="2" height="100%" text="Nitro"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_nitro" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_nitro" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Sharp Turn"/>
|
<label proportion="2" height="100%" text="Sharp Turn"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_drift" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_drift" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Rescue"/>
|
<label proportion="2" height="100%" text="Rescue"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_rescue" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_rescue" proportion="1" height="100%" text="[none]"/>
|
||||||
</div>
|
</div>
|
||||||
<spacer height="15" width="10" proportion="1"/>
|
<spacer height="5" width="10"/>
|
||||||
|
|
||||||
<div width="75%" height="40" layout="horizontal-row" >
|
<div width="75%" proportion="1" layout="horizontal-row" >
|
||||||
<label proportion="2" height="100%" text="Look Back"/>
|
<label proportion="2" height="100%" text="Look Back"/>
|
||||||
<spacer width="20" height="100%" />
|
<spacer width="20" height="100%" />
|
||||||
<button id="binding_look_back" proportion="1" height="100%" text="[none]"/>
|
<button id="binding_look_back" proportion="1" height="100%" text="[none]"/>
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "gui/widget.hpp"
|
#include "gui/widget.hpp"
|
||||||
#include "gui/screen.hpp"
|
#include "gui/screen.hpp"
|
||||||
#include "input/input_manager.hpp"
|
#include "input/input_manager.hpp"
|
||||||
|
#include "input/device_manager.hpp"
|
||||||
#include "graphics/irr_driver.hpp"
|
#include "graphics/irr_driver.hpp"
|
||||||
#include "race_manager.hpp"
|
#include "race_manager.hpp"
|
||||||
#include "network/network_manager.hpp"
|
#include "network/network_manager.hpp"
|
||||||
@ -326,7 +327,33 @@ namespace StateManager
|
|||||||
res->updateItemDisplay();
|
res->updateItemDisplay();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(screen_name == "options_input.stkgui")
|
||||||
|
{
|
||||||
|
GUIEngine::RibbonGridWidget* devices = dynamic_cast<GUIEngine::RibbonGridWidget*>
|
||||||
|
(GUIEngine::getCurrentScreen()->getWidget("devices"));
|
||||||
|
assert( devices != NULL );
|
||||||
|
|
||||||
|
static bool devices_inited = false;
|
||||||
|
if(!devices_inited)
|
||||||
|
{
|
||||||
|
devices->addItem("Keyboard","keyboard","gui/keyboard.png");
|
||||||
|
|
||||||
|
const int gamepad_count = input_manager->getDeviceList()->getGamePadAmount();
|
||||||
|
|
||||||
|
for(int i=0; i<gamepad_count; i++)
|
||||||
|
{
|
||||||
|
std::string name = input_manager->getDeviceList()->getGamePad(i)->m_name;
|
||||||
|
char internal_name[32];
|
||||||
|
sprintf(internal_name, "gamepad%i", i);
|
||||||
|
devices->addItem(name,internal_name,"gui/gamepad.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
devices_inited = true;
|
||||||
|
}
|
||||||
|
devices->updateItemDisplay();
|
||||||
|
}
|
||||||
} // end init
|
} // end init
|
||||||
|
|
||||||
// -- options
|
// -- options
|
||||||
else if(name == "options_choice")
|
else if(name == "options_choice")
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,9 @@ public:
|
|||||||
void add(KeyboardDevice* d);
|
void add(KeyboardDevice* d);
|
||||||
void add(GamePadDevice* d);
|
void add(GamePadDevice* d);
|
||||||
|
|
||||||
|
int getGamePadAmount() const{ return m_gamepad_amount; }
|
||||||
|
GamePadDevice* getGamePad(const int i) { return m_gamepads.get(i); }
|
||||||
|
|
||||||
/** Given some input, finds to which device it belongs and, using the corresponding device object,
|
/** Given some input, finds to which device it belongs and, using the corresponding device object,
|
||||||
maps this input to the corresponding player and game action. returns false if player/action could not be set */
|
maps this input to the corresponding player and game action. returns false if player/action could not be set */
|
||||||
bool mapInputToPlayerAndAction( Input::InputType type, int id0, int id1, int id2, int value,
|
bool mapInputToPlayerAndAction( Input::InputType type, int id0, int id1, int id2, int value,
|
||||||
|
@ -79,6 +79,8 @@ public:
|
|||||||
//void input();
|
//void input();
|
||||||
void input(const irr::SEvent& event);
|
void input(const irr::SEvent& event);
|
||||||
|
|
||||||
|
DeviceManager* getDeviceList() { return m_device_manager; }
|
||||||
|
|
||||||
void setMode(InputDriverMode);
|
void setMode(InputDriverMode);
|
||||||
bool isInMode(InputDriverMode);
|
bool isInMode(InputDriverMode);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user