@@ -1,45 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row">
|
||||
|
||||
|
||||
<div x="5%" y="0%" width="90%" proportion="6" layout="horizontal-row" >
|
||||
<div width="40%" height="100%" layout="vertical-row" >
|
||||
<icon id="icon" align="center" proportion="8" width="100%" icon="gui/loading.png"/>
|
||||
<spacer proportion="1" />
|
||||
</div>
|
||||
<spacer proportion="1" />
|
||||
<div width="60%" height="50%" layout="vertical-row" >
|
||||
<label id="name" width="100%" text_align="left"/>
|
||||
<div width="100%" height="100%" layout="horizontal-row" >
|
||||
<div width="50%" height="100%" layout="vertical-row" >
|
||||
<label id="size" width="100%" text=""/>
|
||||
<label id="revision" width="100%" text=""/>
|
||||
</div>
|
||||
<div width="50%" height="32" layout="vertical-row" >
|
||||
<ratingbar id="rating" height="64" width="100%" />
|
||||
</div>
|
||||
<div x="5%" y="0%" width="90%" proportion="6" layout="horizontal-row">
|
||||
<div width="40%" height="100%" layout="vertical-row">
|
||||
<icon id="icon" align="center" proportion="8" width="100%" icon="gui/loading.png" />
|
||||
<spacer proportion="1" />
|
||||
</div>
|
||||
<spacer proportion="1" />
|
||||
<div width="60%" height="50%" layout="vertical-row">
|
||||
<label id="name" width="100%" text_align="left"/>
|
||||
<div width="100%" height="100%" layout="horizontal-row">
|
||||
<div width="50%" height="100%" layout="vertical-row">
|
||||
<label id="size" width="100%" text="" />
|
||||
<label id="revision" width="100%" text="" />
|
||||
</div>
|
||||
<div width="50%" height="32" layout="vertical-row">
|
||||
<ratingbar id="rating" height="64" width="100%" />
|
||||
</div>
|
||||
</div>
|
||||
<spacer height="10"/>
|
||||
<label id="flags" width="100%" text="" word_wrap="true" />
|
||||
</div>
|
||||
<spacer height="10"/>
|
||||
<label id="flags" width="100%" text="" word_wrap="true"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<bubble word_wrap="true" id="description" height="100%" width="90%" proportion="5" align="center" />
|
||||
|
||||
<div width="80%" proportion="5" align="center">
|
||||
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
|
||||
<icon-button id="install" width="128" height="128"
|
||||
icon="gui/package-update.png"
|
||||
I18N="Add-on screen action" text="Install"/>
|
||||
<icon-button id="uninstall" width="128" height="128"
|
||||
icon="gui/package-uninstall.png"
|
||||
I18N="Add-on screen action" text="Uninstall"/>
|
||||
<icon-button id="back" width="128" height="128"
|
||||
icon="gui/back.png"
|
||||
I18N="Add-ons screen action" text="Back"/>
|
||||
</buttonbar>
|
||||
<progressbar id="progress" x="0" y="20%" width="100%" height="30%" />
|
||||
</div>
|
||||
<bubble word_wrap="true" id="description" height="100%" width="90%" proportion="5" align="center" />
|
||||
<div width="80%" proportion="5" align="center">
|
||||
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
|
||||
<icon-button id="install" width="128" height="128"
|
||||
icon="gui/package-update.png"
|
||||
I18N="Add-on screen action" text="Install" />
|
||||
<icon-button id="uninstall" width="128" height="128"
|
||||
icon="gui/package-uninstall.png"
|
||||
I18N="Add-on screen action" text="Uninstall" />
|
||||
<icon-button id="back" width="128" height="128"
|
||||
icon="gui/back.png"
|
||||
I18N="Add-on screen action" text="Back" />
|
||||
</buttonbar>
|
||||
<progressbar id="progress" x="0" y="20%" width="100%" height="30%" />
|
||||
</div>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="0%" y="0%" width="100%" height="98%" layout="vertical-row" >
|
||||
|
||||
<div x="0" y="0" width="100%" layout="horizontal-row" height="8%">
|
||||
<icon-button id="back" height="100%" icon="gui/back.png"/>
|
||||
<header text_align="center" proportion="1" text="SuperTuxKart Addons" align="center"/>
|
||||
@@ -14,7 +13,7 @@
|
||||
<spacer width="10" />
|
||||
<label text="Updated" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently updated items"/>
|
||||
<spinner id="filter_date" proportion="8" align="center" min_value="0" wrap_around="true"/>
|
||||
<label text="Rating >=" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently items with good rating"/>
|
||||
<label text="Rating >=" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only items with good rating"/>
|
||||
<spinner id="filter_rating" proportion="3" align="center" min_value="0" wrap_around="true"/>
|
||||
<icon-button id="filter_search" height="100%" icon="gui/search.png"/>
|
||||
</div>
|
||||
@@ -24,16 +23,15 @@
|
||||
|
||||
<tabs id="category" height="10%" max_height="110" width="90%" align="center">
|
||||
<icon-button id="tab_kart" width="128" height="128" icon="gui/karts.png"
|
||||
I18N="Section in the addons menu" text="Karts"/>
|
||||
I18N="In the addons screen" text="Karts"/>
|
||||
<icon-button id="tab_track" width="128" height="128" icon="gui/mode_normal.png"
|
||||
I18N="Section in the addons menu" text="Tracks"/>
|
||||
I18N="In the addons screen" text="Tracks"/>
|
||||
<icon-button id="tab_arena" width="128" height="128" icon="gui/mode_normal.png"
|
||||
I18N="Section in the addons menu" text="Arenas"/>
|
||||
I18N="In the addons screen" text="Arenas"/>
|
||||
</tabs>
|
||||
|
||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||
<list id="list_addons" x="0" y="0" width="100%" height="100%"/>
|
||||
</box>
|
||||
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<spacer height="20" width="20" />
|
||||
|
||||
<button id="cancel" I18N="When configuring input" text="Press ESC to cancel" align="center"/>
|
||||
<button id="cancel" I18N="In the 'add new grand prix' dialog" text="Press ESC to cancel" align="center"/>
|
||||
|
||||
<spacer height="15" width="20" />
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
<spacer height="20" width="20" />
|
||||
|
||||
<buttonbar proportion="1" id="options" width="100%" height="100%">
|
||||
<button id="ok" I18N="When configuring input" text="OK" align="center"/>
|
||||
<button id="cancel" I18N="When configuring input" text="Cancel" align="center"/>
|
||||
<button id="ok" I18N="In the 'add new player' dialog" text="OK" align="center"/>
|
||||
<button id="cancel" I18N="In the 'add new player' dialog" text="Cancel" align="center"/>
|
||||
</buttonbar>
|
||||
<spacer height="15" width="20" />
|
||||
|
||||
|
||||
@@ -30,26 +30,26 @@
|
||||
<div width="50%" height="100%" layout="vertical-row">
|
||||
|
||||
<div width="100%" height="20%" layout="horizontal-row" >
|
||||
<label id="ai-text" height="100%" width="50%" I18N="Number of AI karts" text="AI karts"/>
|
||||
<label id="ai-text" height="100%" width="50%" I18N="In the grand prix info screen" text="AI karts"/>
|
||||
<spinner id="ai-spinner" width="50%" min_value="1" max_value="20" align="center"
|
||||
wrap_around="true" />
|
||||
</div>
|
||||
<spacer height="5%" />
|
||||
<div width="100%" height="20%" layout="horizontal-row" >
|
||||
<label id="reverse-text" width="50%" height="100%" I18N="Drive the track reverse" text="Reverse"/>
|
||||
<label id="reverse-text" width="50%" height="100%" I18N="In the grand prix info screen" text="Reverse"/>
|
||||
<spinner id="reverse-spinner" width="50%" align="center" wrap_around="true" />
|
||||
</div>
|
||||
<spacer height="5%" />
|
||||
<div width="100%" height="20%" layout="horizontal-row">
|
||||
<label id="track-text" width="50%" height="100%" text="Tracks"
|
||||
I18N="Number of tracks to pick in a random Grand Prix."/>
|
||||
I18N="In the grand prix info screen"/>
|
||||
<spinner id="track-spinner" width="50%" min_value="1" max_value="20" align="center"
|
||||
wrap_around="true" />
|
||||
<spacer height="1%" />
|
||||
</div>
|
||||
<spacer height="5%" />
|
||||
<div width="100%" height="20%" layout="horizontal-row" >
|
||||
<label id="group-text" width="50%" height="100%" I18N="Number of AI karts" text="Track group"/>
|
||||
<label id="group-text" width="50%" height="100%" I18N="In the grand prix info screen" text="Track group"/>
|
||||
<spinner id="group-spinner" width="50%" align="center" wrap_around="true" />
|
||||
<spacer proportion="1" height="2" />
|
||||
</div>
|
||||
@@ -59,10 +59,10 @@
|
||||
<buttonbar id="buttons" height="15%" width="100%" align="center">
|
||||
|
||||
<icon-button id="start" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Start race" text="Start Race"/>
|
||||
I18N="In the grand prix info screen" text="Start Race"/>
|
||||
|
||||
<icon-button id="continue" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Continue saved GP" text="Continue saved GP"/>
|
||||
I18N="In the grand prix info screen" text="Continue saved GP"/>
|
||||
</buttonbar>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
<spacer height="20" />
|
||||
|
||||
<box proportion="2" width="100%" layout="vertical-row">
|
||||
<label id="gpname" text_align="center" width="100%"
|
||||
I18N="In the grand prix editor screen" text="" />
|
||||
<label id="gpname" text_align="center" width="100%" text="" />
|
||||
<ribbon_grid id="tracks" proportion="1" width="100%" square_items="true"
|
||||
label_location="each" align="left" max_rows="1"
|
||||
child_width="160" child_height="120" />
|
||||
|
||||
@@ -48,17 +48,17 @@
|
||||
<icon-button id="test_unlocked2" width="64" height="64" icon="gui/main_options.png" extend_label="50"
|
||||
text="TEST: Unlocked 2" label_location="hover"/>
|
||||
<icon-button id="options" width="64" height="64" icon="gui/main_options.png" extend_label="50"
|
||||
I18N="Main menu button" text="Options" label_location="hover"/>
|
||||
I18N="In the main screen" text="Options" label_location="hover"/>
|
||||
<icon-button id="help" width="64" height="64" icon="gui/main_help.png" extend_label="50"
|
||||
I18N="Main menu button" text="Help" label_location="hover"/>
|
||||
I18N="In the main screen" text="Help" label_location="hover"/>
|
||||
<icon-button id="startTutorial" width="64" height="64" icon="gui/tutorial.png" extend_label="150"
|
||||
I18N="Main menu button" text="Tutorial" label_location="hover"/>
|
||||
I18N="In the main screen" text="Tutorial" label_location="hover"/>
|
||||
<icon-button id="gpEditor" width="64" height="64" icon="gui/gpeditor.png" extend_label="150"
|
||||
I18N="Main menu button" text="Grand Prix Editor" label_location="hover"/>
|
||||
I18N="In the main screen" text="Grand Prix Editor" label_location="hover"/>
|
||||
<icon-button id="about" width="64" height="64" icon="gui/main_about.png" extend_label="50"
|
||||
I18N="Main menu button" text="About" label_location="hover"/>
|
||||
I18N="In the main screen" text="About" label_location="hover"/>
|
||||
<icon-button id="quit" width="64" height="64" icon="gui/main_quit.png" extend_label="50"
|
||||
I18N="Main menu button" text="Quit" label_location="hover"/>
|
||||
I18N="In the main screen" text="Quit" label_location="hover"/>
|
||||
</buttonbar>
|
||||
</bottombar>
|
||||
</div>
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
||||
|
||||
<header text_align="center" width="80%" align="center" I18N="In the create server screen" text="Server Creation"/>
|
||||
<header text_align="center" width="80%" align="center" I18N="In the server creation screen" text="Server Creation"/>
|
||||
<spacer height="15" width="10"/>
|
||||
<box proportion="4" width="90%" layout="vertical-row" align="center">
|
||||
<div width="90%" align="center" layout="vertical-row" y="2%" height="96%">
|
||||
<div width="100%" align="center" layout="vertical-row" height="fit" >
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" text_align="left" I18N="In the create server screen" text="Name of the server"/>
|
||||
<textbox proportion="1" id="name" I18N="In the create server screen"/>
|
||||
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Name of the server"/>
|
||||
<textbox proportion="1" id="name" I18N="In the server creation screen"/>
|
||||
</div>
|
||||
|
||||
<spacer height="20" width="20"/>
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" text_align="left" I18N="In the create server screen" text="Max. number of players"/>
|
||||
<label proportion="1" text_align="left" I18N="In the server creation screen" text="Max. number of players"/>
|
||||
<gauge id="max_players" proportion="1" min_value="2" max_value="12"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -24,9 +23,9 @@
|
||||
|
||||
<buttonbar id="options" x="0" y="0" width="25%" height="12%" align="center">
|
||||
<icon-button id="create" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Main menu button" text="Create" label_location="bottom"/>
|
||||
I18N="In the server creation screen" text="Create" label_location="bottom"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Main menu button" text="Cancel" label_location="bottom"/>
|
||||
I18N="In the server creation screen" text="Cancel" label_location="bottom"/>
|
||||
</buttonbar>
|
||||
</div>
|
||||
</box>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||
|
||||
<header align="center" width="80%" text="Login" text_align="center"/>
|
||||
<spacer height="15" width="10"/>
|
||||
|
||||
@@ -20,19 +19,17 @@
|
||||
<spacer height="15" width="10"/>
|
||||
<box proportion="4" width="90%" layout="vertical-row" align="center">
|
||||
<div x="2%" y="2%" width="96%" height="80%" layout="vertical-row" id="outer_box" >
|
||||
<label I18N="In the online multiplayer screen" proportion="4" word_wrap="true" text=
|
||||
"Signing in as a guest allows you to participate in online races,
|
||||
but it does not allow you to vote for addons,
|
||||
or collect any achievements while being online."
|
||||
align="center"/>
|
||||
<label I18N="In the login dialog" proportion="4" word_wrap="true"
|
||||
text="Signing in as a guest allows you to participate in online races, but it does not allow you to vote for addons, or collect any achievements while being online."
|
||||
align="center"/>
|
||||
</div>
|
||||
</box>
|
||||
<spacer height="15" width="10"/>
|
||||
<buttonbar id="options" width="90%" height="13%" align="bottom">
|
||||
<icon-button id="sign_in" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Login dialog" text="Sign In" label_location="bottom"/>
|
||||
I18N="In the login dialog" text="Sign In" label_location="bottom"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Login dialog" text="Close" label_location="bottom"/>
|
||||
I18N="In the login dialog" text="Close" label_location="bottom"/>
|
||||
</buttonbar>
|
||||
<spacer height="15" width="10"/>
|
||||
</box>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="0" y="0" width="100%" height="100%" layout="vertical-row" >
|
||||
|
||||
<header text_align="center" width="80%" align="center" I18N="In networking lobby" text="Lobby"/>
|
||||
<spacer height="15" width="10"/>
|
||||
<div proportion="1" x="2%" width="96%" layout="vertical-row">
|
||||
@@ -40,11 +39,9 @@
|
||||
|
||||
<buttonbar id="menu_bottomrow" x="0" y="0" width="20%" height="100%" align="center">
|
||||
<icon-button id="exit" width="64" height="64" icon="gui/main_quit.png" extend_label="50"
|
||||
I18N="Main menu button" text="Exit" label_location="hover"/>
|
||||
I18N="In the networking lobby" text="Exit" label_location="hover"/>
|
||||
</buttonbar>
|
||||
|
||||
</bottombar>
|
||||
|
||||
</div>
|
||||
|
||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/back.png"/>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div width="90%" align="center" layout="vertical-row" height="fit" >
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" text_align="left" I18N="In the lobby settings screen" text="Name of the server"/>
|
||||
<textbox proportion="2" id="name" I18N="In the login dialog"/>
|
||||
<textbox proportion="2" id="name" I18N="In the lobby settings screen"/>
|
||||
</div>
|
||||
|
||||
<spacer height="20" width="20"/>
|
||||
|
||||
@@ -6,23 +6,22 @@
|
||||
<spacer height="15" width="10"/>
|
||||
<box proportion="4" width="90%" layout="vertical-row" align="center">
|
||||
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row" id="outer_box" >
|
||||
<label I18N="In the online multiplayer screen" proportion="4" word_wrap="true" text=
|
||||
"Here will come some information.. or statistics.. or whatever. Yet to be filled in! It will change depending on state. And I'd also like a close button at the right top.
|
||||
|
||||
" align="center"/>
|
||||
<!-- TODO: Here will come some information.. or statistics.. or whatever. Yet to be filled in! It will change depending on state. And I'd also like a close button at the right top. -->
|
||||
<label I18N="In the online multiplayer screen" proportion="4"
|
||||
word_wrap="true" text="" align="center"/>
|
||||
</div>
|
||||
</box>
|
||||
|
||||
<buttonbar id="menu_toprow" proportion="3" width="90%" align="center">
|
||||
<icon-button id="quick_play" width="128" height="128"
|
||||
icon="gui/online/menu_quick_play.png" focus_icon="gui/online/menu_quick_play_hover.png"
|
||||
I18N="Online menu button" text="Quick Play"/>
|
||||
I18N="In the online multiplayer screen" text="Quick Play"/>
|
||||
<icon-button id="find_server" width="128" height="128"
|
||||
icon="gui/online/menu_find_server.png" focus_icon="gui/online/menu_find_server_hover.png"
|
||||
I18N="Online menu button" text="Find Server"/>
|
||||
I18N="In the online multiplayer screen" text="Find Server"/>
|
||||
<icon-button id="create_server" width="128" height="128"
|
||||
icon="gui/online/menu_create_server.png" focus_icon="gui/online/menu_create_server_hover.png"
|
||||
I18N="Online menu button" text="Create Server"/>
|
||||
I18N="In the online multiplayer screen" text="Create Server"/>
|
||||
</buttonbar>
|
||||
|
||||
<spacer width="10" height="7%"/>
|
||||
@@ -34,9 +33,9 @@
|
||||
|
||||
<buttonbar id="menu_bottomrow" x="0" y="0" width="12%" height="100%" align="center">
|
||||
<icon-button id="profile" width="64" height="64" icon="gui/green_check.png" extend_label="50"
|
||||
I18N="Online menu button" text="Profile" label_location="hover"/>
|
||||
I18N="In the online multiplayer screen" text="Profile" label_location="hover"/>
|
||||
<icon-button id="sign_out" width="64" height="64" icon="gui/main_quit.png" extend_label="70"
|
||||
I18N="Online menu button" text="Sign Out" label_location="hover"/>
|
||||
I18N="In the online multiplayer screen" text="Sign Out" label_location="hover"/>
|
||||
</buttonbar>
|
||||
|
||||
</bottombar>
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
<spacer height="25" width="10"/>
|
||||
|
||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/options_players.png" I18N="Section in the profile menu" text="Achievements"/>
|
||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/options_players.png"
|
||||
I18N="Section in the profile screen" text="Achievements"/>
|
||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/options_players.png"/>
|
||||
<icon-button id="tab_settings" width="128" height="128" icon="gui/main_options.png"/>
|
||||
</tabs>
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
|
||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/options_players.png"/>
|
||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/options_players.png" I18N="Section in the profile menu" text="Friends"/>
|
||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/options_players.png"
|
||||
I18N="Section in the profile screen" text="Friends"/>
|
||||
<icon-button id="tab_settings" width="128" height="128" icon="gui/main_options.png"/>
|
||||
</tabs>
|
||||
|
||||
@@ -21,7 +22,7 @@
|
||||
<div id="search_div" height="fit" width="100%" layout="vertical-row">
|
||||
<spacer width="10" height="10"/>
|
||||
<box height="fit" width="100%" layout="vertical-row">
|
||||
<label height="fit" text_align="left" I18N="Profile friends" text="Look for more friends:"/>
|
||||
<label height="fit" text_align="left" I18N="In the profile screen" text="Look for more friends:"/>
|
||||
<spacer width="10" height="10"/>
|
||||
<div height="fit" width="100%" layout="horizontal-row" align="center">
|
||||
<textbox id="search_box" proportion="1" height="fit"/>
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
<spacer height="25" width="10"/>
|
||||
|
||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
||||
<icon-button id="tab_overview" width="128" height="128" icon="gui/options_ui.png" I18N="Section in the profile menu" text="Overview"/>
|
||||
<icon-button id="tab_overview" width="128" height="128" icon="gui/options_ui.png"
|
||||
I18N="Section in the profile screen" text="Overview"/>
|
||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/options_players.png" />
|
||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/options_players.png"/>
|
||||
<icon-button id="tab_settings" width="128" height="128" icon="gui/main_options.png"/>
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/back.png"/>
|
||||
|
||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||
|
||||
<header id="title" text_align="center" width="80%" align="center" text="..."/>
|
||||
|
||||
<spacer height="25" width="10"/>
|
||||
@@ -11,7 +10,8 @@
|
||||
<tabs id="profile_tabs" height="10%" max_height="110" x="2%" width="98%" align="center">
|
||||
<icon-button id="tab_achievements" width="128" height="128" icon="gui/options_players.png"/>
|
||||
<icon-button id="tab_friends" width="128" height="128" icon="gui/options_players.png" />
|
||||
<icon-button id="tab_settings" width="128" height="128" icon="gui/main_options.png" I18N="Section in the profile menu" text="Account Settings"/>
|
||||
<icon-button id="tab_settings" width="128" height="128" icon="gui/main_options.png"
|
||||
I18N="Section in the profile screen" text="Account Settings"/>
|
||||
</tabs>
|
||||
|
||||
<box proportion="1" width="100%" layout="vertical-row">
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||
|
||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||
I18N="In the registration dialog' dialog" text="Account Recovery"/>
|
||||
I18N="In the recovery dialog" text="Account Recovery"/>
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" I18N="In the registration dialog"
|
||||
text="You will receive an email with further instructions on how to reset your password. Please be patient and be sure to check your spam folder."/>
|
||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true" I18N="In the recovery dialog"
|
||||
text="You will receive an email with further instructions on how to reset your password. Please be patient and be sure to check your spam folder." />
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<buttonbar id="options" width="25%" height="15%" align="center">
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Registration dialog" text="Close" label_location="none"/>
|
||||
I18N="In the recovery dialog" text="Close" label_location="none"/>
|
||||
</buttonbar>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||
|
||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||
I18N="In the recovery dialog' dialog" text="Account Recovery"/>
|
||||
I18N="In the recovery dialog" text="Account Recovery"/>
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<label id="message" proportion="2" width="90%" align="center" text_align="left" word_wrap="true"
|
||||
text="Fill in the username and email address you supplied at registration to be able to reset your password."/>
|
||||
text="Fill in the username and email address you supplied at registration to be able to reset your password."/>
|
||||
|
||||
<spacer height="40" width="50"/>
|
||||
|
||||
@@ -30,15 +29,15 @@
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true"
|
||||
I18N="In the recovery" text=""/>
|
||||
I18N="In the recovery dialog" text=""/>
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<buttonbar id="options" width="25%" proportion="1" align="center">
|
||||
<icon-button id="submit" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Registration dialog" text="Submit" label_location="none"/>
|
||||
I18N="In the recovery dialog" text="Submit" label_location="none"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Registration dialog" text="Cancel" label_location="none"/>
|
||||
I18N="In the recovery dialog" text="Cancel" label_location="none"/>
|
||||
</buttonbar>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
</div>
|
||||
<div width="100%" height="12%" layout="horizontal-row" >
|
||||
<label id="label_online" proportion="1" height="100%" text_align="left"
|
||||
I18N="In the login screen" text="Create online account"/>
|
||||
I18N="In the registration dialog" text="Create online account"/>
|
||||
<div proportion="2" layout="horizontal-row" height="fit">
|
||||
<checkbox id="online" I18N="In the login screen" text_align="left"/>
|
||||
<checkbox id="online" I18N="In the registration dialog" text_align="left"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -59,9 +59,9 @@
|
||||
|
||||
<buttonbar id="options" width="40%" height="15%" align="center">
|
||||
<icon-button id="next" width="50%" height="90%" icon="gui/green_check.png"
|
||||
I18N="Registration dialog" text="OK" label_location="none"/>
|
||||
I18N="In the registration dialog" text="OK" label_location="none"/>
|
||||
<icon-button id="cancel" width="50%" height="90%" icon="gui/main_quit.png"
|
||||
I18N="Registration dialog" text="Cancel" label_location="none"/>
|
||||
I18N="In the registration dialog" text="Cancel" label_location="none"/>
|
||||
</buttonbar>
|
||||
</box>
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="2%" y="4%" width="96%" height="92%" layout="vertical-row" >
|
||||
|
||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||
I18N="In the registration dialog' dialog" text="Terms and Agreement"/>
|
||||
I18N="In the registration dialog" text="Terms and Agreement"/>
|
||||
|
||||
<spacer height="25" width="50"/>
|
||||
|
||||
@@ -19,15 +18,15 @@
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<label id="info" proportion="1" width="90%" align="center" text_align="center" word_wrap="true"
|
||||
I18N="In the registration dialog" text=""/>
|
||||
I18N="In the registration dialog" text=""/>
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
<buttonbar id="options" width="45%" height="14%" align="center">
|
||||
<icon-button id="accept" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Registration dialog" text="Accept" label_location="bottom"/>
|
||||
I18N="In the registration dialog" text="Accept" label_location="bottom"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Registration dialog" text="Cancel" label_location="bottom"/>
|
||||
I18N="In the registration dialog" text="Cancel" label_location="bottom"/>
|
||||
</buttonbar>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div x="2%" y="5%" width="96%" height="85%" layout="vertical-row" >
|
||||
|
||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||
I18N="In the server info dialog' dialog" text="Server Info"/>
|
||||
I18N="In the server info dialog" text="Server Info"/>
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
|
||||
<buttonbar id="options" width="90%" height="20%" align="center">
|
||||
<icon-button id="join" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Login dialog" text="Join" label_location="bottom"/>
|
||||
I18N="In the server info dialog" text="Join" label_location="bottom"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Login dialog" text="Cancel" label_location="bottom"/>
|
||||
I18N="In the server info dialog" text="Cancel" label_location="bottom"/>
|
||||
</buttonbar>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<stkgui>
|
||||
<div x="2%" y="5%" width="96%" height="90%" layout="vertical-row" >
|
||||
<header id="title" width="96%" height="fit" text_align="center" word_wrap="true"
|
||||
I18N="In the vote dialog' dialog" text="Vote"/>
|
||||
I18N="In the vote dialog" text="Vote"/>
|
||||
|
||||
<spacer height="20" width="50"/>
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row" >
|
||||
|
||||
<div x="1%" y="1%" width="98%" height="98%" layout="vertical-row">
|
||||
<header text_align="center" width="80%" align="center" text="SuperTuxKart Options"/>
|
||||
<spacer height="15" width="10"/>
|
||||
|
||||
@@ -19,10 +18,10 @@
|
||||
<spacer height="5" width="10"/>
|
||||
|
||||
<!-- ******** Music ******** -->
|
||||
<label width="100%" I18N="Section in the audio/video settings submenu" text="Music"/>
|
||||
<label width="100%" I18N="In the audio options screen" text="Music"/>
|
||||
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" height="100%" text_align="right" I18N="Next to checkbox in settings menu" text="Enabled"/>
|
||||
<label proportion="1" height="100%" text_align="right" I18N="In the audio options screen" text="Enabled"/>
|
||||
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="100%" />
|
||||
@@ -31,7 +30,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" height="100%" text_align="right" I18N="Music volume in options" text="Volume"/>
|
||||
<label proportion="1" height="100%" text_align="right" I18N="In the audio options screen" text="Volume"/>
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="100%" />
|
||||
<gauge id="music_volume" proportion="1" min_value="1" max_value="10"/>
|
||||
@@ -41,10 +40,10 @@
|
||||
<spacer height="15" width="10"/>
|
||||
|
||||
<!-- ******** SFX ******** -->
|
||||
<label width="100%" I18N="Section in audio/video settings submenu" text="Sound Effects"/>
|
||||
<label width="100%" I18N="In the audio options screen" text="Sound Effects"/>
|
||||
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" height="100%" text_align="right" I18N="Next to checkbox in settings menu" text="Enabled"/>
|
||||
<label proportion="1" height="100%" text_align="right" I18N="In the audio options screen" text="Enabled"/>
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="100%" />
|
||||
<!-- FIXME: don't hardcode height -->
|
||||
@@ -52,14 +51,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" height="100%" text_align="right" I18N="Sound volume in options" text="Volume"/>
|
||||
<label proportion="1" height="100%" text_align="right" I18N="In the audio options screen" text="Volume"/>
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="100%" />
|
||||
<gauge id="sfx_volume" proportion="1" min_value="1" max_value="10"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<spacer height="20" width="10"/>
|
||||
|
||||
</box>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<spacer width="7" height="5"/>
|
||||
<div height="100%" width="fit" layout="vertical-row">
|
||||
<button id="delete"
|
||||
I18N="To delete a keyboard configuration" text="Delete Configuration"/>
|
||||
I18N="In the input configuration screen" text="Delete Configuration"/>
|
||||
<spacer width="50" height="10" />
|
||||
<button id="back_to_device_list" I18N="In the input configuration screen" text="Back to device list"/>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<box proportion="1" width="100%" layout="vertical-row">
|
||||
<label width="100%"
|
||||
I18N="In key bindings configuration menu"
|
||||
I18N="In the input configuration screen"
|
||||
text="Press enter or double-click on a device to configure it"
|
||||
text_align="center" />
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<button id="add_device" I18N="In the input configuration screen" text="Add a device" align="center"/>
|
||||
|
||||
<label text="* Which config to use will be inferred from which 'fire' key is pressed to join the game."
|
||||
<label text="* Which config to use will be inferred from which 'Select' key is pressed to join the game."
|
||||
proportion="2" word_wrap="true"/>
|
||||
</box>
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<spacer width="5" height="10"/>
|
||||
|
||||
<label width="100%"
|
||||
I18N="In players configuration menu"
|
||||
I18N="In the player configuration screen"
|
||||
text="Press enter or double-click on a player to edit him/her"
|
||||
text_align="center" />
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<spacer width="20" height="25"/>
|
||||
|
||||
<button id="addplayer" x="20"
|
||||
I18N="In players configuration menu"
|
||||
I18N="In the player configuration screen"
|
||||
text="Add Player" align="center"/>
|
||||
|
||||
<spacer width="20" height="15"/>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
<!-- ************ GRAPHICAL EFFECTS SETTINGS ************ -->
|
||||
<div width="75%" height="fit" layout="horizontal-row" id="outer_box" >
|
||||
<label I18N="In the graphics settings" text="Graphical Effects Level" align="center"/>
|
||||
<label I18N="In the video settings" text="Graphical Effects Level" align="center"/>
|
||||
<spacer width="20" height="20"/>
|
||||
|
||||
<div layout="vertical-row" proportion="1" height="fit" id="inner_box">
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
<!-- ************ RESOLUTION CHOICE ************ -->
|
||||
<spacer height="10" width="10"/>
|
||||
<label width="100%" I18N="In the graphics settings" text="Resolution"/>
|
||||
<label width="100%" I18N="In the video settings" text="Resolution"/>
|
||||
|
||||
<scrollable_ribbon id="resolutions" proportion="1" label_location="each"
|
||||
width="100%" square_items="false"
|
||||
@@ -71,7 +71,7 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="100%" />
|
||||
<button id="apply_resolution"
|
||||
I18N="In the video settings menu" text="Apply new resolution" />
|
||||
I18N="In the video settings" text="Apply new resolution" />
|
||||
</div>
|
||||
|
||||
<spacer height="15" width="4"/>
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row" >
|
||||
|
||||
<header id="title" width="100%" text_align="center" text="Paused" proportion="3" />
|
||||
|
||||
<!-- FIXME: some play in proportions occur below because the text of an icon
|
||||
button is added UNDER it and not within its allocated height -->
|
||||
<icon-button id="backbtn" align="center" icon="gui/back.png" extend_label="200"
|
||||
I18N="Race paused button" text="Back to Game" proportion="3"/>
|
||||
I18N="In the in-game dialog" text="Back to Game" proportion="3"/>
|
||||
|
||||
<spacer width="20" height="50" />
|
||||
|
||||
<buttonbar id="choiceribbon" proportion="4" width="100%" align="center">
|
||||
|
||||
<icon-button id="selectkart" width="128" height="128" icon="gui/random_kart.png"
|
||||
I18N="Race paused button" text="Select kart" word_wrap="true"/>
|
||||
I18N="In the in-game dialog" text="Select kart" word_wrap="true"/>
|
||||
|
||||
<icon-button id="options" width="128" height="128" icon="gui/main_options.png"
|
||||
I18N="Race paused button" text="Options" word_wrap="true"/>
|
||||
I18N="In the in-game dialog" text="Options" word_wrap="true"/>
|
||||
|
||||
<icon-button id="help" width="128" height="128" icon="gui/main_help.png"
|
||||
I18N="Race paused button" text="Help" word_wrap="true"/>
|
||||
I18N="In the in-game dialog" text="Help" word_wrap="true"/>
|
||||
|
||||
<icon-button id="exit" width="128" height="128" icon="gui/main_quit.png"
|
||||
I18N="Race paused button" text="Back to menu" word_wrap="true"/>
|
||||
I18N="In the in-game dialog" text="Back to menu" word_wrap="true"/>
|
||||
|
||||
</buttonbar>
|
||||
|
||||
|
||||
@@ -10,28 +10,28 @@
|
||||
|
||||
<div layout="horizontal-row" width="fit" height="35" align="left">
|
||||
<bright proportion="1" height="100%"
|
||||
I18N="In soccer setup menu" text="Number of goals to win" text_align="left" />
|
||||
I18N="In soccer setup screen" text="Number of goals to win" text_align="left" />
|
||||
<spacer width="50" height="25"/>
|
||||
<spinner id="goalamount" width="200" height="90%" min_value="1" max_value="10"/>
|
||||
</div>
|
||||
|
||||
<div layout="horizontal-row" width="fit" height="35" align="left">
|
||||
<bright proportion="1" height="100%"
|
||||
I18N="In soccer setup menu" text="Maximum time (min.)" text_align="left" />
|
||||
I18N="In soccer setup screen" text="Maximum time (min.)" text_align="left" />
|
||||
<spacer width="50" height ="25"/>
|
||||
<spinner id="timeamount" width="200" height="90%" min_value="1" max_value="15"/>
|
||||
</div>
|
||||
|
||||
<div layout="horizontal-row" width="fit" height="35" align="left">
|
||||
<bright proportion="1" height="100%"
|
||||
I18N="In soccer setup menu" text="Game type (Goals limit / Time limit)" text_align="left" />
|
||||
I18N="In soccer setup screen" text="Game type (Goals limit / Time limit)" text_align="left" />
|
||||
<spacer width="50" height="25"/>
|
||||
<checkbox id="time_enabled"/>
|
||||
</div>
|
||||
|
||||
<spacer height="40" width="25"/>
|
||||
|
||||
<bright height="15" width="25" I18N="In soccer setup menu" text="Use left/right to choose your team and press fire" text_align="center" align="center" />
|
||||
<bright height="15" width="25" I18N="In soccer setup screen" text="Use left/right to choose your team and press fire" text_align="center" align="center" />
|
||||
|
||||
<div id="central_div" layout="horizontal-row" width="100%" proportion="1" align="center">
|
||||
<roundedbox y="5%" width="100%" layout="horizontal-row" height="100%">
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
<icon-button id="back" x="0" y="0" height="8%" icon="gui/back.png"/>
|
||||
|
||||
<div x="2%" y="2%" width="96%" height="96%" layout="vertical-row">
|
||||
|
||||
<header id="name" height="5%" width="80%" align="center" text_align="center"/>
|
||||
|
||||
<spacer width="1" height="5%"/>
|
||||
@@ -13,7 +12,6 @@
|
||||
<div proportion="1" height="100%" layout="vertical-row">
|
||||
<placeholder proportion="1" width="100%" height="100%" id="screenshot_div">
|
||||
</placeholder>
|
||||
|
||||
</div>
|
||||
<!-- Right pane -->
|
||||
<div proportion="1" height="100%" layout="vertical-row">
|
||||
@@ -55,7 +53,7 @@
|
||||
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="2" />
|
||||
<label id="lap-text" height="100%" width="40%" I18N="Number of laps" text="Number of laps"/>
|
||||
<label id="lap-text" height="100%" width="40%" I18N="In the track info screen" text="Number of laps"/>
|
||||
<spacer witdh="40" height="2" />
|
||||
<spinner id="lap-spinner" width="20%" min_value="1" max_value="20" align="center"
|
||||
wrap_around="true" />
|
||||
@@ -63,7 +61,7 @@
|
||||
</div>
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="2" />
|
||||
<label id="ai-text" height="100%" width="40%" I18N="Number of AI karts" text="Number of AI karts"/>
|
||||
<label id="ai-text" height="100%" width="40%" I18N="In the track info screen" text="Number of AI karts"/>
|
||||
<spacer with="40" height="2" />
|
||||
<spinner id="ai-spinner" width="20%" min_value="1" max_value="20" align="center"
|
||||
wrap_around="true" />
|
||||
@@ -71,7 +69,7 @@
|
||||
</div>
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<spacer width="40" height="2" />
|
||||
<label id="reverse-text" height="100%" width="40%" I18N="Drive the track reverse" text="Drive in reverse"/>
|
||||
<label id="reverse-text" height="100%" width="40%" I18N="In the track info screen" text="Drive in reverse"/>
|
||||
<spacer width="40" height="2" />
|
||||
<checkbox id="reverse"/>
|
||||
<spacer proportion="1" height="2" />
|
||||
@@ -80,11 +78,9 @@
|
||||
</box>
|
||||
<spacer width="1" height="5%"/>
|
||||
<buttonbar id="buttons" height="15%" width="100%" align="center">
|
||||
|
||||
<icon-button id="start" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Start race" text="Start Race"/>
|
||||
|
||||
</buttonbar>>
|
||||
I18N="In the track info screen" text="Start Race"/>
|
||||
|
||||
</buttonbar>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<div x="1%" y="1%" width="98%" height="96%" layout="vertical-row" >
|
||||
|
||||
<header width="80%" I18N="Section in track selection screen" text="Grand Prix"
|
||||
<header width="80%" I18N="In the track selection screen" text="Grand Prix"
|
||||
align="center" text_align="center" />
|
||||
|
||||
<box width="100%" height="195" padding="0">
|
||||
@@ -12,7 +12,7 @@
|
||||
square_items="true" child_width="175" child_height="120" />
|
||||
</box>
|
||||
|
||||
<header width="100%" I18N="Section in track selection screen" text="All Tracks"
|
||||
<header width="100%" I18N="In the track selection screen" text="All Tracks"
|
||||
align="center" text_align="center" />
|
||||
|
||||
<box proportion="1" width="100%" layout="vertical-row" padding="1">
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<checkbox width="fit" id="online" I18N="In the user screen" text_align="left"/>
|
||||
<spacer width="10"/>
|
||||
<label proportion="1" height="100%" text_align="left" I18N="In the login screen" text="Online"/>
|
||||
<label proportion="1" height="100%" text_align="left" I18N="In the user screen" text="Online"/>
|
||||
</div>
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<checkbox width="fit" id="remember-user" I18N="In the login screen" text_align="left"/>
|
||||
<checkbox width="fit" id="remember-user" I18N="In the user screen" text_align="left"/>
|
||||
<spacer width="10"/>
|
||||
<label proportion="1" id="label_remember" height="100%" text_align="left"
|
||||
I18N="In the login screen" text="Remember password"/>
|
||||
I18N="In the user screen" text="Remember password"/>
|
||||
</div>
|
||||
<!-- Disable guest accounts for now
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
@@ -35,14 +35,14 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label width="40%" id="label_username" height="100%" text_align="left"
|
||||
I18N="In the user screen" text="Username"/>
|
||||
<textbox id="username" proportion="2" height="fit" I18N="In the registration dialog"/>
|
||||
<textbox id="username" proportion="2" height="fit" I18N="In the user screen"/>
|
||||
</div>
|
||||
<spacer height="20" width="20"/>
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label id="label_password" width="40%" height="100%" text_align="left"
|
||||
I18N="In the registration dialog" text="Password"/>
|
||||
<textbox id="password" proportion="2" height="fit" I18N="In the registration dialog"/>
|
||||
I18N="In the user screen" text="Password"/>
|
||||
<textbox id="password" proportion="2" height="fit" I18N="In the user screen"/>
|
||||
</div>
|
||||
</div>
|
||||
<div width="80%" align="center" layout="vertical-row" height="fit">
|
||||
@@ -51,15 +51,15 @@
|
||||
<spacer width="20" height="25"/>
|
||||
<buttonbar id="options" width="90%" height="13%" align="bottom">
|
||||
<icon-button id="ok" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Login dialog" text="OK" label_location="bottom"/>
|
||||
I18N="In the user screen" text="OK" label_location="bottom"/>
|
||||
<icon-button id="new_user" width="64" height="64" icon="gui/blue_plus.png"
|
||||
I18N="Login dialog" text="Add user" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Add user" label_location="bottom"/>
|
||||
<icon-button id="delete" width="64" height="64" icon="gui/remove.png"
|
||||
I18N="Login dialog" text="Delete" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Delete" label_location="bottom"/>
|
||||
<icon-button id="rename" width="64" height="64" icon="gui/gp_rename.png"
|
||||
I18N="Login dialog" text="Rename" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Rename" label_location="bottom"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Login dialog" text="Cancel" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Cancel" label_location="bottom"/>
|
||||
</buttonbar>
|
||||
</box>
|
||||
<spacer width="20" height="15"/>
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
<spacer height="15" width="10"/>
|
||||
<div width="90%" align="center" layout="vertical-row" height="fit">
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<checkbox width="fit" id="online" I18N="In the login screen" text_align="left"/>
|
||||
<checkbox width="fit" id="online" I18N="In the user screen" text_align="left"/>
|
||||
<spacer width="10"/>
|
||||
<label proportion="1" height="100%" text_align="left" I18N="In the login screen" text="Online"/>
|
||||
<label proportion="1" height="100%" text_align="left" I18N="In the user screen" text="Online"/>
|
||||
</div>
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<checkbox width="fit" id="remember-user" I18N="In the login screen" text_align="left"/>
|
||||
<checkbox width="fit" id="remember-user" I18N="In the user screen" text_align="left"/>
|
||||
<spacer width="10"/>
|
||||
<label id="label_remember" proportion="1" height="100%" text_align="left"
|
||||
I18N="In the user screen" text="Remember password"/>
|
||||
@@ -44,7 +44,7 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label id="label_username" width="40%" height="100%" text_align="left"
|
||||
I18N="In the user screen" text="Username"/>
|
||||
<textbox id="username" proportion="2" height="fit" I18N="In the registration dialog"/>
|
||||
<textbox id="username" proportion="2" height="fit" I18N="In the user screen"/>
|
||||
</div>
|
||||
<spacer height="20" width="20"/>
|
||||
|
||||
@@ -60,15 +60,15 @@
|
||||
<spacer width="20" height="25"/>
|
||||
<buttonbar id="options" width="90%" height="13%" align="center">
|
||||
<icon-button id="ok" width="64" height="64" icon="gui/green_check.png"
|
||||
I18N="Login dialog" text="OK" label_location="bottom"/>
|
||||
I18N="In the user screen" text="OK" label_location="bottom"/>
|
||||
<icon-button id="new_user" width="64" height="64" icon="gui/blue_plus.png"
|
||||
I18N="Login dialog" text="Add user" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Add user" label_location="bottom"/>
|
||||
<icon-button id="delete" width="64" height="64" icon="gui/remove.png"
|
||||
I18N="Login dialog" text="Delete" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Delete" label_location="bottom"/>
|
||||
<icon-button id="rename" width="64" height="64" icon="gui/rename.png"
|
||||
I18N="Login dialog" text="Rename" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Rename" label_location="bottom"/>
|
||||
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
|
||||
I18N="Login dialog" text="Cancel" label_location="bottom"/>
|
||||
I18N="In the user screen" text="Cancel" label_location="bottom"/>
|
||||
</buttonbar>
|
||||
</box>
|
||||
</div>
|
||||
|
||||
@@ -258,7 +258,7 @@ IImage* CImageLoaderPng::loadImage(io::IReadFile* file) const
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||
delete [] RowPointers;
|
||||
image->unlock();
|
||||
delete [] image;
|
||||
delete image;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -654,11 +654,11 @@ void PlayerKartWidget::setSize(const int x, const int y, const int w, const int
|
||||
|
||||
if (m_parent_screen->m_multiplayer)
|
||||
{
|
||||
const int modelMaxHeight = (h - kart_name_h - player_name_h)/2;
|
||||
const int modelMaxHeight = (h - kart_name_h - player_name_h) / 2;
|
||||
const int modelMaxWidth = w;
|
||||
const int bestSize = std::min(modelMaxWidth, modelMaxHeight);
|
||||
model_x = x + w/2 - (int)(bestSize/2);
|
||||
model_y = y + player_name_h;
|
||||
model_y = y + player_name_h;
|
||||
model_w = bestSize;
|
||||
model_h = bestSize;
|
||||
|
||||
|
||||
@@ -333,7 +333,7 @@ void SpinnerWidget::setValue(const int new_value)
|
||||
std::string imagefile = file_manager->searchTexture(s);
|
||||
((IGUIImage*)(m_children[1].m_element))->setImage(irr_driver->getTexture(imagefile));
|
||||
}
|
||||
else if (m_labels.size() > 0 && m_children.size() > 0)
|
||||
else if (m_labels.size() > 0 && m_children.size() > 0 && !m_deactivated)
|
||||
{
|
||||
assert(new_value >= 0);
|
||||
assert(new_value < (int)m_labels.size());
|
||||
@@ -386,7 +386,8 @@ void SpinnerWidget::setValue(irr::core::stringw new_value)
|
||||
}
|
||||
}
|
||||
|
||||
Log::fatal("SpinnerWidget::setValue", "Cannot find element named '%s'", irr::core::stringc(new_value.c_str()).c_str());
|
||||
Log::fatal("SpinnerWidget::setValue", "Cannot find element named '%s'",
|
||||
irr::core::stringc(new_value.c_str()).c_str());
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace GUIEngine
|
||||
// --------------------------------------------------------------------
|
||||
/** Override method from base class Widget */
|
||||
virtual void setActivated();
|
||||
|
||||
|
||||
/** Override method from base class Widget */
|
||||
virtual void setDeactivated();
|
||||
|
||||
|
||||
@@ -38,11 +38,11 @@ GamePadDevice::GamePadDevice(const int irr_index, const std::string &name,
|
||||
GamepadConfig *config = static_cast<GamepadConfig*>(m_configuration);
|
||||
if(m_configuration->getNumberOfButtons()<button_count)
|
||||
{
|
||||
static_cast<GamepadConfig*>(m_configuration)->setNumberOfButtons(button_count);
|
||||
config->setNumberOfButtons(button_count);
|
||||
}
|
||||
if(m_configuration->getNumberOfAxes()<axis_count)
|
||||
{
|
||||
static_cast<GamepadConfig*>(m_configuration)->setNumberOfAxis(axis_count);
|
||||
config->setNumberOfAxis(axis_count);
|
||||
}
|
||||
m_prev_axis_directions = new Input::AxisDirection[axis_count];
|
||||
m_prev_axis_value = new int[axis_count];
|
||||
|
||||
@@ -585,8 +585,7 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID,
|
||||
|
||||
if (device != NULL)
|
||||
{
|
||||
KartSelectionScreen::getRunningInstance()->joinPlayer(device,
|
||||
false );
|
||||
KartSelectionScreen::getRunningInstance()->joinPlayer(device);
|
||||
}
|
||||
}
|
||||
return; // we're done here, ignore devices that aren't
|
||||
@@ -620,7 +619,6 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID,
|
||||
// ... when in menus
|
||||
else
|
||||
{
|
||||
|
||||
// reset timer when released
|
||||
if (abs(value) == 0 && type == Input::IT_STICKBUTTON)
|
||||
{
|
||||
|
||||
@@ -196,10 +196,8 @@ void PlayerController::action(PlayerAction action, int value)
|
||||
m_controls->m_rescue = (value!=0);
|
||||
break;
|
||||
case PA_FIRE:
|
||||
{
|
||||
m_controls->m_fire = (value!=0);
|
||||
break;
|
||||
}
|
||||
case PA_LOOK_BACK:
|
||||
m_controls->m_look_back = (value!=0);
|
||||
break;
|
||||
@@ -207,12 +205,14 @@ void PlayerController::action(PlayerAction action, int value)
|
||||
if(value==0)
|
||||
m_controls->m_skid = KartControl::SC_NONE;
|
||||
else
|
||||
{
|
||||
if(m_steer_val==0)
|
||||
m_controls->m_skid = KartControl::SC_NO_DIRECTION;
|
||||
else
|
||||
m_controls->m_skid = m_steer_val<0
|
||||
? KartControl::SC_RIGHT
|
||||
: KartControl::SC_LEFT;
|
||||
}
|
||||
break;
|
||||
case PA_PAUSE_RACE:
|
||||
if (value != 0) StateManager::get()->escapePressed();
|
||||
|
||||
@@ -615,12 +615,12 @@ void World::resetAllKarts()
|
||||
|
||||
if (!kart_over_ground)
|
||||
{
|
||||
Log::error("[World]",
|
||||
Log::error("World",
|
||||
"No valid starting position for kart %d on track %s.",
|
||||
(int)(i-m_karts.begin()), m_track->getIdent().c_str());
|
||||
if (UserConfigParams::m_artist_debug_mode)
|
||||
{
|
||||
Log::warn("[World]", "Activating fly mode.");
|
||||
Log::warn("World", "Activating fly mode.");
|
||||
(*i)->flyUp();
|
||||
continue;
|
||||
}
|
||||
@@ -672,14 +672,14 @@ void World::resetAllKarts()
|
||||
&normal);
|
||||
if(!material)
|
||||
{
|
||||
Log::error("[World]",
|
||||
Log::error("World",
|
||||
"No valid starting position for kart %d "
|
||||
"on track %s.",
|
||||
(int)(i-m_karts.begin()),
|
||||
m_track->getIdent().c_str());
|
||||
if (UserConfigParams::m_artist_debug_mode)
|
||||
{
|
||||
Log::warn("[World]", "Activating fly mode.");
|
||||
Log::warn("World", "Activating fly mode.");
|
||||
(*i)->flyUp();
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ CustomVideoSettingsDialog::CustomVideoSettingsDialog(const float w, const float
|
||||
ModalDialog(w, h)
|
||||
{
|
||||
loadFromFile("custom_video_settings.stkgui");
|
||||
updateActivation();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
@@ -190,10 +191,41 @@ GUIEngine::EventPropagation CustomVideoSettingsDialog::processEvent(const std::s
|
||||
OptionsScreenVideo::getInstance()->updateGfxSlider();
|
||||
return GUIEngine::EVENT_BLOCK;
|
||||
}
|
||||
else if (eventSource == "dynamiclight")
|
||||
{
|
||||
updateActivation();
|
||||
}
|
||||
|
||||
return GUIEngine::EVENT_LET;
|
||||
}
|
||||
} // processEvent
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void CustomVideoSettingsDialog::updateActivation()
|
||||
{
|
||||
if(getWidget<CheckBoxWidget>("dynamiclight")->getState())
|
||||
{
|
||||
getWidget<CheckBoxWidget>("motionblur")->setActivated();
|
||||
getWidget<CheckBoxWidget>("dof")->setActivated();
|
||||
getWidget<SpinnerWidget>("shadows")->setActivated();
|
||||
getWidget<CheckBoxWidget>("mlaa")->setActivated();
|
||||
getWidget<CheckBoxWidget>("ssao")->setActivated();
|
||||
getWidget<CheckBoxWidget>("lightshaft")->setActivated();
|
||||
getWidget<CheckBoxWidget>("global_illumination")->setActivated();
|
||||
getWidget<CheckBoxWidget>("glow")->setActivated();
|
||||
getWidget<CheckBoxWidget>("bloom")->setActivated();
|
||||
}
|
||||
else
|
||||
{
|
||||
getWidget<CheckBoxWidget>("motionblur")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("dof")->setDeactivated();
|
||||
getWidget<SpinnerWidget>("shadows")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("mlaa")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("ssao")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("lightshaft")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("global_illumination")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("glow")->setDeactivated();
|
||||
getWidget<CheckBoxWidget>("bloom")->setDeactivated();
|
||||
}
|
||||
} // updateActivation
|
||||
|
||||
|
||||
@@ -37,6 +37,9 @@ public:
|
||||
|
||||
virtual void beforeAddingWidgets();
|
||||
|
||||
/** Updates the activation state of the advaced pipeline checkboxes. */
|
||||
void updateActivation();
|
||||
|
||||
GUIEngine::EventPropagation processEvent(const std::string& eventSource);
|
||||
|
||||
};
|
||||
|
||||
@@ -97,8 +97,6 @@ void MessageDialog::doInit(MessageDialogType type,
|
||||
}
|
||||
else if (type == MessageDialog::MESSAGE_DIALOG_YESNO)
|
||||
{
|
||||
ButtonWidget* yesbtn = getWidget<ButtonWidget>("confirm");
|
||||
|
||||
ButtonWidget* cancelbtn = getWidget<ButtonWidget>("cancel");
|
||||
cancelbtn->setText(_("No"));
|
||||
|
||||
|
||||
@@ -142,9 +142,8 @@ EventPropagation FocusDispatcher::focused(const int playerID)
|
||||
}
|
||||
}
|
||||
|
||||
//std::cerr << "[KartSelectionScreen] WARNING: the focus dispatcher can't
|
||||
// find the widget for player " << playerID << "!\n";
|
||||
//assert(false);
|
||||
//Log::fatal("KartSelectionScreen", "The focus dispatcher can't"
|
||||
// "find the widget for player %d!", playerID);
|
||||
return GUIEngine::EVENT_LET;
|
||||
} // focused
|
||||
|
||||
@@ -177,6 +176,13 @@ void KartHoverListener::onSelectionChanged(DynamicRibbonWidget* theWidget,
|
||||
{
|
||||
assert(m_magic_number == 0xCAFEC001);
|
||||
|
||||
// Check if this player has a kart
|
||||
if (m_parent->m_kart_widgets.size() <= playerID)
|
||||
{
|
||||
GUIEngine::focusNothingForPlayer(playerID);
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't allow changing the selection after confirming it
|
||||
if (m_parent->m_kart_widgets[playerID].isReady())
|
||||
{
|
||||
@@ -367,18 +373,21 @@ void KartSelectionScreen::init()
|
||||
}
|
||||
else */
|
||||
// For now this is what will happen
|
||||
if (!m_multiplayer)
|
||||
{
|
||||
joinPlayer( input_manager->getDeviceManager()->getLatestUsedDevice(),
|
||||
true );
|
||||
joinPlayer(input_manager->getDeviceManager()->getLatestUsedDevice());
|
||||
w->updateItemDisplay();
|
||||
}
|
||||
|
||||
// Player 0 select default kart
|
||||
if (!w->setSelection(UserConfigParams::m_default_kart, 0, true))
|
||||
{
|
||||
// if kart from config not found, select the first instead
|
||||
w->setSelection(0, 0, true);
|
||||
}
|
||||
// Player 0 select default kart
|
||||
if (!w->setSelection(UserConfigParams::m_default_kart, 0, true))
|
||||
{
|
||||
// if kart from config not found, select the first instead
|
||||
w->setSelection(0, 0, true);
|
||||
}
|
||||
} else
|
||||
// Add multiplayer message
|
||||
addMultiplayerMessage();
|
||||
|
||||
// This flag will cause that a 'fire' event will be mapped to 'select' (if
|
||||
// 'fire' is not assigned to a GUI event). This is done to support the old
|
||||
// way of player joining by pressing 'fire' instead of 'select'.
|
||||
@@ -402,12 +411,7 @@ void KartSelectionScreen::tearDown()
|
||||
m_removed_widget = NULL;
|
||||
}
|
||||
|
||||
if (m_multiplayer_message != NULL)
|
||||
{
|
||||
manualRemoveWidget(m_multiplayer_message);
|
||||
delete m_multiplayer_message;
|
||||
m_multiplayer_message = NULL;
|
||||
}
|
||||
removeMultiplayerMessage();
|
||||
|
||||
Screen::tearDown();
|
||||
m_kart_widgets.clearAndDeleteAll();
|
||||
@@ -426,10 +430,12 @@ void KartSelectionScreen::unloaded()
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Return true if event was handled successfully
|
||||
bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
||||
bool KartSelectionScreen::joinPlayer(InputDevice* device)
|
||||
{
|
||||
bool first_player = m_kart_widgets.size() == 0;
|
||||
|
||||
if (UserConfigParams::logGUI())
|
||||
Log::info("[KartSelectionScreen]", "joinPlayer() invoked");
|
||||
Log::info("KartSelectionScreen", "joinPlayer() invoked");
|
||||
if (!m_multiplayer && !first_player) return false;
|
||||
|
||||
assert (g_dispatcher != NULL);
|
||||
@@ -437,20 +443,20 @@ bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
||||
DynamicRibbonWidget* w = getWidget<DynamicRibbonWidget>("karts");
|
||||
if (w == NULL)
|
||||
{
|
||||
Log::error("[KartSelectionScreen]", "joinPlayer(): Called outside of "
|
||||
Log::error("KartSelectionScreen", "joinPlayer(): Called outside of "
|
||||
"kart selection screen.");
|
||||
return false;
|
||||
}
|
||||
else if (device == NULL)
|
||||
{
|
||||
Log::error("[KartSelectionScreen]", "joinPlayer(): Received null "
|
||||
Log::error("KartSelectionScreen", "joinPlayer(): Received null "
|
||||
"device pointer");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (StateManager::get()->activePlayerCount() >= MAX_PLAYER_COUNT)
|
||||
{
|
||||
Log::error("[KartSelectionScreen]", "Maximum number of players "
|
||||
Log::error("KartSelectionScreen", "Maximum number of players "
|
||||
"reached");
|
||||
SFXManager::get()->quickSound( "anvil" );
|
||||
return false;
|
||||
@@ -470,19 +476,11 @@ bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
||||
const int num_active_players = StateManager::get()->activePlayerCount();
|
||||
profile_to_use = PlayerManager::get()->getPlayer(num_active_players);
|
||||
|
||||
// Remove multiplayer message
|
||||
if (m_multiplayer_message != NULL)
|
||||
{
|
||||
manualRemoveWidget(m_multiplayer_message);
|
||||
m_multiplayer_message->getIrrlichtElement()->remove();
|
||||
m_multiplayer_message->elementRemoved();
|
||||
delete m_multiplayer_message;
|
||||
m_multiplayer_message = NULL;
|
||||
}
|
||||
removeMultiplayerMessage();
|
||||
}
|
||||
|
||||
const int new_player_id =
|
||||
StateManager::get()->createActivePlayer( profile_to_use, device);
|
||||
StateManager::get()->createActivePlayer(profile_to_use, device);
|
||||
StateManager::ActivePlayer* aplayer =
|
||||
StateManager::get()->getActivePlayer(new_player_id);
|
||||
|
||||
@@ -519,23 +517,10 @@ bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
||||
// in this special case, leave room for a message on the right
|
||||
if (m_multiplayer && first_player)
|
||||
{
|
||||
addMultiplayerMessage();
|
||||
const int splitWidth = fullarea->m_w / 2;
|
||||
|
||||
m_kart_widgets[0].move( fullarea->m_x, fullarea->m_y, splitWidth,
|
||||
fullarea->m_h );
|
||||
|
||||
m_multiplayer_message = new BubbleWidget();
|
||||
m_multiplayer_message->m_properties[PROP_TEXT_ALIGN] = "center";
|
||||
m_multiplayer_message->setText( _("Everyone:\nPress 'Select' now to "
|
||||
"join the game!") );
|
||||
m_multiplayer_message->m_x =
|
||||
(int)(fullarea->m_x + splitWidth + splitWidth*0.2f);
|
||||
m_multiplayer_message->m_y = (int)(fullarea->m_y + fullarea->m_h*0.3f);
|
||||
m_multiplayer_message->m_w = (int)(splitWidth*0.6f);
|
||||
m_multiplayer_message->m_h = (int)(fullarea->m_h*0.6f);
|
||||
m_multiplayer_message->setFocusable(false);
|
||||
m_multiplayer_message->add();
|
||||
manualAddWidget(m_multiplayer_message);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -543,7 +528,7 @@ bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
||||
|
||||
for (int n=0; n<amount; n++)
|
||||
{
|
||||
m_kart_widgets[n].move( fullarea->m_x + splitWidth*n,
|
||||
m_kart_widgets[n].move( fullarea->m_x + splitWidth * n,
|
||||
fullarea->m_y, splitWidth, fullarea->m_h);
|
||||
}
|
||||
}
|
||||
@@ -562,7 +547,7 @@ bool KartSelectionScreen::joinPlayer(InputDevice* device, bool first_player)
|
||||
|
||||
if (!m_multiplayer)
|
||||
{
|
||||
input_manager->getDeviceManager()->setSinglePlayer( StateManager::get()
|
||||
input_manager->getDeviceManager()->setSinglePlayer(StateManager::get()
|
||||
->getActivePlayer(0));
|
||||
}
|
||||
|
||||
@@ -578,7 +563,7 @@ bool KartSelectionScreen::playerQuit(StateManager::ActivePlayer* player)
|
||||
DynamicRibbonWidget* w = getWidget<DynamicRibbonWidget>("karts");
|
||||
if (w == NULL)
|
||||
{
|
||||
Log::error("[KartSelectionScreen]", "ERROR: playerQuit() called "
|
||||
Log::error("KartSelectionScreen", "playerQuit() called "
|
||||
"outside of kart selection screen, "
|
||||
"or the XML file for this screen was changed without "
|
||||
"adapting the code accordingly");
|
||||
@@ -586,7 +571,11 @@ bool KartSelectionScreen::playerQuit(StateManager::ActivePlayer* player)
|
||||
}
|
||||
|
||||
// If last player quits, return to main menu
|
||||
if (m_kart_widgets.size() <= 1) return false;
|
||||
if (m_kart_widgets.size() <= 1)
|
||||
{
|
||||
StateManager::get()->escapePressed();
|
||||
return true;
|
||||
}
|
||||
|
||||
std::map<PlayerKartWidget*, std::string> selections;
|
||||
|
||||
@@ -613,12 +602,12 @@ bool KartSelectionScreen::playerQuit(StateManager::ActivePlayer* player)
|
||||
}
|
||||
if (playerID == -1)
|
||||
{
|
||||
Log::warn("[KartSelectionScreen]", " playerQuit cannot find "
|
||||
Log::warn("KartSelectionScreen", "playerQuit cannot find "
|
||||
"passed player");
|
||||
return false;
|
||||
}
|
||||
if(UserConfigParams::logGUI())
|
||||
Log::info("[KartSelectionScreen]", "playerQuit(%s)",playerID);
|
||||
Log::info("KartSelectionScreen", "playerQuit(%d)", playerID);
|
||||
|
||||
// Just a cheap way to check if there is any discrepancy
|
||||
// between m_kart_widgets and the active player array
|
||||
@@ -644,27 +633,7 @@ bool KartSelectionScreen::playerQuit(StateManager::ActivePlayer* player)
|
||||
// Tell the StateManager to remove this player
|
||||
StateManager::get()->removeActivePlayer(playerID);
|
||||
|
||||
if (m_kart_widgets.size() == 1)
|
||||
{
|
||||
// Add multiplayer message
|
||||
if (m_multiplayer_message == NULL)
|
||||
{
|
||||
Widget* fullarea = getWidget("playerskarts");
|
||||
const int splitWidth = fullarea->m_w / 2;
|
||||
m_multiplayer_message = new BubbleWidget();
|
||||
m_multiplayer_message->m_properties[PROP_TEXT_ALIGN] = "center";
|
||||
m_multiplayer_message->setText( _("Everyone:\nPress 'Select' now to "
|
||||
"join the game!") );
|
||||
m_multiplayer_message->m_x =
|
||||
(int)(fullarea->m_x + splitWidth + splitWidth*0.2f);
|
||||
m_multiplayer_message->m_y = (int)(fullarea->m_y + fullarea->m_h*0.3f);
|
||||
m_multiplayer_message->m_w = (int)(splitWidth*0.6f);
|
||||
m_multiplayer_message->m_h = (int)(fullarea->m_h*0.6f);
|
||||
m_multiplayer_message->setFocusable(false);
|
||||
m_multiplayer_message->add();
|
||||
manualAddWidget(m_multiplayer_message);
|
||||
}
|
||||
}
|
||||
addMultiplayerMessage();
|
||||
|
||||
// Karts count changed, maybe order too, so renumber them.
|
||||
renumberKarts();
|
||||
@@ -689,7 +658,7 @@ bool KartSelectionScreen::playerQuit(StateManager::ActivePlayer* player)
|
||||
const bool success = w->setSelection(selectedKart, n, true);
|
||||
if (!success)
|
||||
{
|
||||
Log::warn("[KartSelectionScreen]", "Failed to select kart %s"
|
||||
Log::warn("KartSelectionScreen", "Failed to select kart %s"
|
||||
" for player %u, what's going on??", selectedKart.c_str(),n);
|
||||
}
|
||||
}
|
||||
@@ -788,7 +757,7 @@ void KartSelectionScreen::playerConfirm(const int playerID)
|
||||
!will_need_duplicates)
|
||||
{
|
||||
if (UserConfigParams::logGUI())
|
||||
Log::warn("[KartSelectionScreen]", "You can't select this identity "
|
||||
Log::warn("KartSelectionScreen", "You can't select this identity "
|
||||
"or kart, someone already took it!!");
|
||||
|
||||
SFXManager::get()->quickSound( "anvil" );
|
||||
@@ -937,6 +906,57 @@ void KartSelectionScreen::updateKartWidgetModel(uint8_t widget_id,
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
/**
|
||||
* Adds a message to the screen which indicates that players must press fire to join.
|
||||
*/
|
||||
void KartSelectionScreen::addMultiplayerMessage()
|
||||
{
|
||||
Widget* fullarea = getWidget("playerskarts");
|
||||
const int splitWidth = fullarea->m_w / 2;
|
||||
int message_x = 0;
|
||||
if (m_kart_widgets.size() == 1)
|
||||
message_x = (int) (fullarea->m_x + splitWidth + splitWidth * 0.2f);
|
||||
else
|
||||
message_x = (int) (fullarea->m_x + splitWidth / 2 + splitWidth * 0.2f);
|
||||
|
||||
if (m_kart_widgets.size() < 2 && m_multiplayer_message == NULL)
|
||||
{
|
||||
m_multiplayer_message = new BubbleWidget();
|
||||
m_multiplayer_message->m_properties[PROP_TEXT_ALIGN] = "center";
|
||||
m_multiplayer_message->setText( _("Everyone:\nPress 'Select' now to "
|
||||
"join the game!") );
|
||||
m_multiplayer_message->m_x = message_x;
|
||||
m_multiplayer_message->m_y = (int) (fullarea->m_y + fullarea->m_h * 0.3f);
|
||||
m_multiplayer_message->m_w = (int) (splitWidth * 0.6f);
|
||||
m_multiplayer_message->m_h = (int) (fullarea->m_h * 0.6f);
|
||||
m_multiplayer_message->setFocusable(false);
|
||||
m_multiplayer_message->add();
|
||||
manualAddWidget(m_multiplayer_message);
|
||||
}
|
||||
else if(m_multiplayer_message != NULL)
|
||||
{
|
||||
m_multiplayer_message->move(message_x, (int) (fullarea->m_y + fullarea->m_h * 0.3f),
|
||||
(int) (splitWidth * 0.6f), (int) (fullarea->m_h * 0.6f));
|
||||
}
|
||||
} // addMultiplayerMessage
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
/**
|
||||
* Remove the multiplayer message.
|
||||
*/
|
||||
void KartSelectionScreen::removeMultiplayerMessage()
|
||||
{
|
||||
if (m_multiplayer_message != NULL)
|
||||
{
|
||||
manualRemoveWidget(m_multiplayer_message);
|
||||
m_multiplayer_message->getIrrlichtElement()->remove();
|
||||
m_multiplayer_message->elementRemoved();
|
||||
delete m_multiplayer_message;
|
||||
m_multiplayer_message = NULL;
|
||||
}
|
||||
} // removeMultiplayerMessage
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
/**
|
||||
* Callback handling events from the kart selection menu
|
||||
@@ -984,7 +1004,7 @@ void KartSelectionScreen::eventCallback(Widget* widget,
|
||||
// if we get here, it means one player "lost" his kart in
|
||||
// the tab switch
|
||||
if (UserConfigParams::logGUI())
|
||||
Log::info("[KartSelectionScreen]", "Player %u"
|
||||
Log::info("KartSelectionScreen", "Player %u"
|
||||
" lost their selection when switching tabs!!!",n);
|
||||
|
||||
// Select a random kart in this case
|
||||
@@ -1002,12 +1022,12 @@ void KartSelectionScreen::eventCallback(Widget* widget,
|
||||
w->setSelection( randomID, n,
|
||||
n != PLAYER_ID_GAME_MASTER );
|
||||
if (!success)
|
||||
Log::warn("[KartSelectionScreen]",
|
||||
Log::warn("KartSelectionScreen",
|
||||
"setting kart of player %u failed");
|
||||
}
|
||||
else
|
||||
{
|
||||
Log::warn("[KartSelectionScreen]", " 0 items "
|
||||
Log::warn("KartSelectionScreen", " 0 items "
|
||||
"in the ribbon");
|
||||
}
|
||||
}
|
||||
@@ -1016,21 +1036,12 @@ void KartSelectionScreen::eventCallback(Widget* widget,
|
||||
}
|
||||
else if (name == "karts")
|
||||
{
|
||||
playerConfirm(playerID);
|
||||
if (m_kart_widgets.size() > playerID)
|
||||
playerConfirm(playerID);
|
||||
}
|
||||
else if (name == "back")
|
||||
{
|
||||
m_go_to_overworld_next = false; // valid once
|
||||
m_must_delete_on_back = true;
|
||||
if (m_from_overworld)
|
||||
{
|
||||
m_from_overworld = false; // valid once
|
||||
OverWorld::enterOverWorld();
|
||||
}
|
||||
else
|
||||
{
|
||||
StateManager::get()->escapePressed();
|
||||
}
|
||||
StateManager::get()->escapePressed();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1101,11 +1112,11 @@ void KartSelectionScreen::allPlayersDone()
|
||||
// ---- Print selection (for debugging purposes)
|
||||
if(UserConfigParams::logGUI())
|
||||
{
|
||||
Log::info("[KartSelectionScreen]", "players : %d",players.size());
|
||||
Log::info("KartSelectionScreen", "players : %d",players.size());
|
||||
|
||||
for (unsigned int n=0; n<players.size(); n++)
|
||||
{
|
||||
Log::info("[KartSelectionScreen]", " Player %u is %s on %s",n,
|
||||
Log::info("KartSelectionScreen", " Player %u is %s on %s",n,
|
||||
core::stringc(
|
||||
players[n].getConstProfile()->getName().c_str()).c_str(),
|
||||
players[n].getDevice()->getName().c_str());
|
||||
@@ -1181,11 +1192,10 @@ void KartSelectionScreen::allPlayersDone()
|
||||
}
|
||||
}
|
||||
}
|
||||
// std::cout << "selection=" << selection.c_str() << std::endl;
|
||||
|
||||
race_manager->setLocalKartInfo(n, selected_kart);
|
||||
|
||||
// Set per player difficulty if needed
|
||||
const PlayerProfile* profile = StateManager::get()->getActivePlayerProfile(n);
|
||||
if (m_multiplayer && UserConfigParams::m_per_player_difficulty &&
|
||||
m_kart_widgets[n].isHandicapped())
|
||||
race_manager->setPlayerDifficulty(n, PLAYER_DIFFICULTY_HANDICAP);
|
||||
@@ -1329,10 +1339,10 @@ bool KartSelectionScreen::validateKartChoices()
|
||||
{
|
||||
if (UserConfigParams::logGUI())
|
||||
{
|
||||
Log::warn("[KartSelectionScreen]", "Kart conflict!!");
|
||||
Log::warn("KartSelectionScreen]", " Player %u chose %s",n,
|
||||
Log::warn("KartSelectionScreen", "Kart conflict!!");
|
||||
Log::warn("KartSelectionScreen", " Player %u chose %s",n,
|
||||
m_kart_widgets[n].getKartInternalName().c_str());
|
||||
Log::warn("[KartSelectionScreen]", " Player %u chose %s",m,
|
||||
Log::warn("KartSelectionScreen", " Player %u chose %s",m,
|
||||
m_kart_widgets[m].getKartInternalName().c_str());
|
||||
}
|
||||
|
||||
@@ -1341,7 +1351,7 @@ bool KartSelectionScreen::validateKartChoices()
|
||||
m_kart_widgets[m].isReady())
|
||||
{
|
||||
if (UserConfigParams::logGUI())
|
||||
Log::info("[KartSelectionScreen]", " --> Setting red badge on player %u", n);
|
||||
Log::info("KartSelectionScreen", " --> Setting red badge on player %u", n);
|
||||
|
||||
// player m is ready, so player n should not choose
|
||||
// this name
|
||||
@@ -1351,7 +1361,7 @@ bool KartSelectionScreen::validateKartChoices()
|
||||
!m_kart_widgets[m].isReady())
|
||||
{
|
||||
if (UserConfigParams::logGUI())
|
||||
Log::info("[KartSelectionScreen]", " --> Setting red badge on player %u",m);
|
||||
Log::info("KartSelectionScreen", " --> Setting red badge on player %u",m);
|
||||
|
||||
// player n is ready, so player m should not
|
||||
// choose this name
|
||||
|
||||
@@ -112,6 +112,12 @@ protected:
|
||||
const std::string& selection,
|
||||
const irr::core::stringw& selectionText);
|
||||
|
||||
/** Adds a message to the screen which indicates that players must press fire to join. */
|
||||
void addMultiplayerMessage();
|
||||
|
||||
/** Remove the multiplayer message. */
|
||||
void removeMultiplayerMessage();
|
||||
|
||||
/** Stores a pointer to the current selection screen */
|
||||
static KartSelectionScreen* m_instance_ptr;
|
||||
public:
|
||||
@@ -130,7 +136,7 @@ public:
|
||||
|
||||
/** \brief Called when a player hits 'fire'/'select' on his device to
|
||||
* join the game */
|
||||
bool joinPlayer(InputDevice* device, bool first_player);
|
||||
bool joinPlayer(InputDevice* device);
|
||||
|
||||
/**
|
||||
* \brief Called when a player hits 'rescue'/'cancel' on his device
|
||||
|
||||
@@ -36,8 +36,6 @@ class OptionsScreenVideo : public GUIEngine::Screen, public GUIEngine::ScreenSin
|
||||
OptionsScreenVideo();
|
||||
bool m_inited;
|
||||
|
||||
std::vector<std::string> m_skins;
|
||||
|
||||
void updateTooltip();
|
||||
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user