Merge branch 'master' into Characteristics

This commit is contained in:
Alayan-stk-2 2018-09-27 19:31:13 +02:00 committed by GitHub
commit f174bb63cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
508 changed files with 128527 additions and 71755 deletions

View File

@ -1,6 +1,8 @@
# Online networking games for STK
## Hosting server
First of all, you can compile STK with `-DSERVER_ONLY=ON` which will produce a GUI-less STK binary optimized for size and memory usage, useful for situation like in VPS.
### Hosting WAN (public internet) server
You are required to have an stk online account first, go [here](https://addons.supertuxkart.net/register.php) for registration.
@ -36,7 +38,7 @@ The current server configuration xml looks like this:
<!-- Number of grand prix tracks per game (If grand prix enabled). -->
<gp-track-count value="3" />
<!-- Use goal torget in soccer. -->
<!-- Use goal target in soccer. -->
<soccer-goal-target value="false" />
<!-- Enable wan server, which requires you to have an stk-addons account with a saved session. Check init-user command for details. -->
@ -69,11 +71,11 @@ The current server configuration xml looks like this:
<!-- No server owner in lobby which can control the starting of game or kick any players. -->
<owner-less value="false" />
<!-- Time to wait before entering kart selection screen if satisfied start-game-threshold below for owner less or ranked server. -->
<!-- Time to wait before entering kart selection screen if satisfied min-start-game-players below for owner less or ranked server. -->
<start-game-counter value="30" />
<!-- Only auto start kart selection when number of connected player is larger than max player * this value, for owner less or ranked server, after start-game-counter. -->
<start-game-threshold value="0.5" />
<!-- Only auto start kart selection when number of connected player is larger than or equals this value, for owner less or ranked server, after start-game-counter reaches 0. -->
<min-start-game-players value="2" />
<!-- Automatically end linear race game after 1st player finished for some time (currently his finished time * 0.25 + 15.0). -->
<auto-end value="false" />
@ -123,16 +125,17 @@ The current server configuration xml looks like this:
</server-config>
```
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to make connectable to each other, but in case it doesn't work, you have to manually disable firewall / do a port-forward for the server port STK using.
By default STK uses `2759` for server port, for example in Ubuntu alike Linux distribution do the following to disable firewall on such port:
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to be able to connect to each other, but in case it doesn't work, you have to manually disable the firewall or port forward the port(s) used by the STK.
By default STK servers use port `2759`. For example, in Ubuntu based distributions, run the following command to disable the firewall on that port:
`sudo ufw allow 2759`
You may also need to handle the server discovery port `2757` for connecting your WAN server in LAN / localhost.
Notice: You don't need to make any firewall or router configuration if you connect to our official servers.
Notice: You don't need to make any firewall or router configuration changes if you connect to our official servers.
### Hosting LAN (local internet) server
Everything is basically the same as WAN one, except you don't need an stk online account, just do:
@ -148,3 +151,21 @@ After the first time configuration, you can just start the server with the comma
You can find out that directory location [here (See Where is the configuration stored?)](https://supertuxkart.net/FAQ)
## Testing server
There is a network AI tester in STK which can use AI on player controller for server hosting linear races game mode, which helps automating the testing for servers, to enable it use:
`supertuxkart --connect-now=x.x.x.x:y --server-id=id --network-ai=n --auto-connect --no-graphics`
x.x.x.x:y is your server ip address with its port, id is the id field of server-info in STK server xml list, omit it if you are testing LAN server, n is the number of AI you want to create.
You can see STK server xml list [here](https://addons.supertuxkart.net/api/v2/server/get-all).
The server you want to test must be able to be connected without NAT penetration. You can remove `--auto-connect` if you have another client which can control the starting of games in server, or you can consider enable owner-less mode on server so the games on server can keep going. Remove `--no-graphics` if you want to see the AI racing. You can also run network AI tester in server-only build of STK.
With the network AI tester, it's easier to for example simulate high-loaded servers or bad (high ping with packet loss) network.
Tested on a Raspberry Pi 3 Model B+, if you have 8 players connected to a server hosted on it, the usage of a single CPU core is ~60% and there are ~60MB of memory usage for game with heavy tracks like Cocoa Temple or Candela City on the server, you can use the above figures to consider number of STK servers hosting on a same computer.
For bad network simulation, we recommend `network traffic control` by linux kernel, see [here](https://wiki.linuxfoundation.org/networking/netem) for details.
You have the best gaming experience when choosing server less than 100ms ping with no packet loss.

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="abyss" laps="3"/>
<track id="abyss" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="150"/>
<requirements position="1" time="140"/>
</best>
<hard>
<karts number="6"/>
@ -15,10 +15,10 @@
</hard>
<medium>
<karts number="5"/>
<requirements time="197"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="270"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="candela_city" laps="3"/>
<track id="candela_city" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="75"/>
<best>
<karts number="9"/>
<requirements position="1"/>
<requirements position="1" time="120"/>
</best>
<hard>
<karts number="8"/>

View File

@ -1,24 +1,31 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="cocoa_temple" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="5"/>
<track id="cocoa_temple" laps="3" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="0"/>
<best>
<karts number="8"/>
<requirements position="1" time="140"/>
<karts number="1"
replay_file="challenge_cocoa_temple_supertux.replay"/>
<requirements position="1"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1" time="170"/>
<karts number="1"
replay_file="challenge_cocoa_temple_expert.replay"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="6"/>
<requirements time="210"/>
<karts number="1"
replay_file="challenge_cocoa_temple_intermediate.replay"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements time="300"/>
<karts number="1"
replay_file="challenge_cocoa_temple_novice.replay"/>
<karts number="1"/>
<requirements position="1"/>
</easy>
<unlock kart="suzanne"/>
</challenge>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="cornfield_crossing" laps="3"/>
<track id="cornfield_crossing" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
@ -15,10 +15,10 @@
</hard>
<medium>
<karts number="5"/>
<requirements time="195"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="290"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="fortmagma" laps="3"/>
<track id="fortmagma" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="190"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="gran_paradiso_island" laps="3"/>
<track id="gran_paradiso_island" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="80"/>
<best>
<karts number="9"/>
<requirements position="1"/>
<requirements position="1" time="145"/>
</best>
<hard>
<karts number="8"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="greenvalley" laps="3"/>
<track id="greenvalley" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="90"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="hacienda" laps="3"/>
<track id="hacienda" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="25"/>
@ -19,6 +19,6 @@
</medium>
<easy>
<karts number="5"/>
<requirements time="260"/>
<requirements position="2"/>
</easy>
</challenge>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="lighthouse" laps="4"/>
<track id="lighthouse" laps="4" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="125"/>
@ -11,7 +11,7 @@
</best>
<hard>
<karts number="9"/>
<requirements position="1" time="140"/>
<requirements position="1" time="145"/>
</hard>
<medium>
<karts number="8"/>
@ -19,6 +19,6 @@
</medium>
<easy>
<karts number="7"/>
<requirements time="250"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="mansion" laps="3"/>
<track id="mansion" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="100"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="mines" laps="3"/>
<track id="mines" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="140"/>
<best>
<karts number="10"/>
<requirements position="1" time="140"/>
<requirements position="1" time="135"/>
</best>
<hard>
<karts number="9"/>
@ -15,10 +15,10 @@
</hard>
<medium>
<karts number="8"/>
<requirements position="2" time="190"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements time="255"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="minigolf" laps="4"/>
<track id="minigolf" laps="4" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="130"/>
<best>
<karts number="10"/>
<requirements position="1"/>
<requirements position="1" time="135"/>
</best>
<hard>
<karts number="9"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="olivermath" laps="5"/>
<track id="olivermath" laps="5" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
@ -15,10 +15,10 @@
</hard>
<medium>
<karts number="5"/>
<requirements position="1" time="140"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1" time="210"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="sandtrack" laps="3"/>
<track id="sandtrack" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>

View File

@ -1,24 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="scotland" laps="3"/>
<track id="scotland" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="140"/>
<requirements position="1" time="125"/>
</best>
<hard>
<karts number="6"/>
<requirements position="1" time="165"/>
<requirements position="1" time="150"/>
</hard>
<medium>
<karts number="5"/>
<requirements time="185"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="270"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="snowmountain" laps="3"/>
<track id="snowmountain" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="115"/>
@ -15,10 +15,10 @@
</hard>
<medium>
<karts number="8"/>
<requirements time="187"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements time="250"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="snowtuxpeak" laps="3"/>
<track id="snowtuxpeak" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="45"/>
<best>
<karts number="8"/>
<requirements position="1" time="120"/>
<requirements position="1" time="115"/>
</best>
<hard>
<karts number="7"/>
@ -15,10 +15,10 @@
</hard>
<medium>
<karts number="6"/>
<requirements time="170"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements time="210"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="stk_enterprise" laps="3"/>
<track id="stk_enterprise" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="105"/>
<best>
<karts number="9"/>
<requirements position="1"/>
<requirements position="1" time="155"/>
</best>
<hard>
<karts number="8"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="volcano_island" laps="2"/>
<track id="volcano_island" laps="2" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="15"/>
<best>
<karts number="8"/>
<requirements position="1"/>
<requirements position="1" time="165"/>
</best>
<hard>
<karts number="7"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="xr591" laps="2"/>
<track id="xr591" laps="2" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="135"/>
<best>
<karts number="1"/>
<requirements energy="20" time="100"/>
<requirements energy="20" time="95"/>
</best>
<hard>
<karts number="1"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="zengarden" laps="4"/>
<track id="zengarden" laps="4" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="35"/>

View File

@ -3,7 +3,7 @@
<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" />
<icon id="icon" align="center" proportion="8" width="100%" icon="gui/icons/loading.png" />
<spacer proportion="1" />
</div>
<spacer proportion="1" />
@ -27,13 +27,13 @@
<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"
icon="gui/icons/package-update.png"
I18N="Add-on screen action" text="Install" />
<icon-button id="uninstall" width="128" height="128"
icon="gui/package-uninstall.png"
icon="gui/icons/package-uninstall.png"
I18N="Add-on screen action" text="Uninstall" />
<icon-button id="back" width="128" height="128"
icon="gui/back.png"
icon="gui/icons/back.png"
I18N="Add-on screen action" text="Back" />
</buttonbar>
<progressbar id="progress" x="0" y="20%" width="100%" height="30%" />

View File

@ -8,9 +8,9 @@
<spacer height="7%" width="10"/>
<ribbon id="control_type" proportion="1" width="100%" align="center">
<icon-button id="accelerometer" width="fit" height="fit" icon="gui/difficulty_medium.png"
<icon-button id="accelerometer" width="fit" height="fit" icon="gui/icons/difficulty_medium.png"
I18N="Control type" text="Accelerometer"/>
<icon-button id="steering_wheel" width="fit" height="fit" icon="gui/difficulty_hard.png"
<icon-button id="steering_wheel" width="fit" height="fit" icon="gui/icons/difficulty_hard.png"
I18N="Control type" text="Steering wheel"/>
</ribbon>

View File

@ -7,10 +7,10 @@
<buttonbar id="buttons" height="30%" width="30%" align="center">
<icon-button id="confirm" icon="gui/green_check.png" I18N="In a 'are you sure?' dialog"
<icon-button id="confirm" icon="gui/icons/green_check.png" I18N="In a 'are you sure?' dialog"
text="Yes" align="center"/>
<icon-button id="cancel" icon="gui/remove.png" I18N="In a 'are you sure?' dialog"
<icon-button id="cancel" icon="gui/icons/remove.png" I18N="In a 'are you sure?' dialog"
text="Cancel" align="center"/>
</buttonbar>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<stkgui>
<div y="2%" width="100%" height="96%" layout="vertical-row">
<div width="100%" height="40%" layout="vertical-row">
<div width="100%" height="25%" layout="vertical-row" >
<label id="name" width="100%" text_align="center"/>
</div>
<!-- This is filled in programmatically -->
<box width="98%" height="75%" align="center" layout="vertical-row" padding="1">
<list id="current_replay_info" x="0" y="0" width="100%" height="100%"/>
</box>
</div>
<div width="100%" height="60%" layout="horizontal-row">
<div width="36%" height="100%" layout="vertical-row">
<icon-button proportion="1" width="100%" height="100%" id="track_screenshot" custom_ratio="1.33333"/>
</div>
<div width="64%" height="100%" layout="vertical-row">
<div width="95%" align="center" layout="vertical-row" height="fit">
<div width="100%" height="40" layout="horizontal-row" >
<checkbox width="fit" id="record-race" I18N="Ghost replay info action" text_align="left"/>
<spacer width="10"/>
<label proportion="1" id="record-race-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Record the race for ghost replay"/>
</div>
<div width="100%" height="fit" layout="horizontal-row" >
<checkbox width="fit" id="watch-only" I18N="Ghost replay info action" text_align="left"/>
<spacer width="10"/>
<label proportion="1" id="watch-only-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Watch replay only"/>
</div>
<div width="100%" height="fit" layout="horizontal-row" >
<checkbox width="fit" id="compare-ghost" I18N="Ghost replay info action" text_align="left"/>
<spacer width="10"/>
<label proportion="1" id="compare-ghost-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Compare to another ghost"/>
</div>
</div>
<div width="95%" height="50%" align="center">
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
<icon-button id="start" width="128" height="128"
icon="gui/icons/green_check.png"
I18N="Ghost replay info screen action" text="Start Race" word_wrap="true" />
<icon-button id="add-ghost-to-compare" width="128" height="128"
icon="gui/icons/ghost_plus.png"
I18N="Ghost replay info screen action" text="Compare ghost" word_wrap="true" />
<icon-button id="remove" width="128" height="128"
icon="gui/icons/remove.png"
I18N="Ghost replay info action" text="Remove" word_wrap="true" />
<icon-button id="back" width="128" height="128"
icon="gui/icons/back.png"
I18N="Ghost replay info action" text="Back" word_wrap="true" />
</buttonbar>
</div>
<spacer width="10" height="10%"/>
</div>
</div>
</div>
</stkgui>

View File

@ -5,12 +5,14 @@
<model id="model" width="100%" layout="horizontal-row" height="100%">
</model>
</div>
<label text="0 to use the original color, otherwise pick one from slider."
width="100%" text_align="center" word_wrap="true"
I18N="In the kart color slider dialog"/>
<div width="20%" height="fit" text-align="left" layout="horizontal-row" >
<checkbox id="toggle-slider" />
<spacer width="40"/>
<label id="toggle-text"/>
</div>
<spacer height="30" width="10"/>
<div height="fit" width="100%" layout="horizontal-row">
<gauge id="color-slider" min_value="0" max_value="100" proportion="1"/>
<gauge id="color-slider" min_value="1" max_value="100" proportion="1"/>
</div>
<spacer height="30" width="10"/>
<button id="close" text="Apply" align="center"/>

View File

@ -35,9 +35,9 @@
<spacer height="20" width="50"/>
<buttonbar id="options" width="90%" height="16%" align="center">
<icon-button id="submit" width="64" height="64" icon="gui/green_check.png"
<icon-button id="submit" width="64" height="64" icon="gui/icons/green_check.png"
I18N="In the change password dialog" text="Submit" label_location="bottom"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="In the change password dialog" text="Close" label_location="bottom"/>
</buttonbar>
</div>

View File

@ -7,9 +7,9 @@
<spacer height="20" width="50"/>
<buttonbar id="options" width="90%" height="30%" align="center">
<icon-button id="view" width="64" height="64" icon="gui/difficulty_medium.png"
<icon-button id="view" width="64" height="64" icon="gui/icons/difficulty_medium.png"
I18N="User info dialog" text="View" label_location="bottom"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="User info dialog" text="Close" label_location="bottom"/>
</buttonbar>
</div>

View File

@ -15,10 +15,10 @@
<buttonbar id="options" width="90%" height="10%" align="center">
<icon-button id="ok" width="16" height="16"
icon="gui/green_check.png" text="OK"
icon="gui/icons/green_check.png" text="OK"
label_location="bottom"/>
<icon-button id="refresh" width="16" height="16"
icon="gui/restart.png"
icon="gui/icons/restart.png"
text="Refresh" label_location="bottom"/>
</buttonbar>
<spacer width="20" height="2%" />

View File

@ -12,7 +12,7 @@
<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"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/green_check.png"
I18N="In the recovery dialog" text="Close" label_location="none"/>
</buttonbar>
</div>

View File

@ -34,9 +34,9 @@
<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"
<icon-button id="submit" width="64" height="64" icon="gui/icons/green_check.png"
I18N="In the recovery dialog" text="Submit" label_location="none"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="In the recovery dialog" text="Cancel" label_location="none"/>
</buttonbar>
</div>

View File

@ -23,9 +23,9 @@
<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"
<icon-button id="accept" width="64" height="64" icon="gui/icons/green_check.png"
I18N="In the registration dialog" text="Accept" label_location="bottom"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="In the registration dialog" text="Cancel" label_location="bottom"/>
</buttonbar>
</div>

View File

@ -12,9 +12,9 @@
<textbox id="password" proportion="2" height="fit"/>
</div>
<buttonbar id="options" width="90%" height="15%" align="center">
<icon-button id="join" width="64" height="64" icon="gui/green_check.png"
<icon-button id="join" width="64" height="64" icon="gui/icons/green_check.png"
I18N="In the server info dialog" text="Join" label_location="bottom"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="In the server info dialog" text="Cancel" label_location="bottom"/>
</buttonbar>
</div>

View File

@ -33,13 +33,13 @@
<spacer height="20" width="50"/>
<buttonbar id="options" width="90%" height="20%" align="center">
<icon-button id="add" width="64" height="64" icon="gui/blue_plus.png"
<icon-button id="add" width="64" height="64" icon="gui/icons/blue_plus.png"
I18N="Splitscreen player in network" text="Add player" label_location="bottom"/>
<icon-button id="connect" width="64" height="64" icon="gui/green_check.png"
<icon-button id="connect" width="64" height="64" icon="gui/icons/green_check.png"
I18N="Splitscreen player in network" text="All players ready" label_location="bottom"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="Splitscreen player in network" text="Cancel" label_location="bottom"/>
<icon-button id="reset" width="64" height="64" icon="gui/remove.png"
<icon-button id="reset" width="64" height="64" icon="gui/icons/remove.png"
I18N="Splitscreen player in network" text="Clear added player" label_location="bottom"/>
</buttonbar>
</div>

View File

@ -20,17 +20,17 @@
<spacer height="20" width="50"/>
<buttonbar id="options" width="90%" height="20%" align="center">
<icon-button id="remove" width="64" height="64" icon="gui/package-uninstall.png"
<icon-button id="remove" width="64" height="64" icon="gui/icons/package-uninstall.png"
I18N="User info dialog" text="Remove" label_location="bottom"/>
<icon-button id="friend" width="64" height="64" icon="gui/main_help.png"
<icon-button id="friend" width="64" height="64" icon="gui/icons/main_help.png"
I18N="User info dialog" text="Add Friend" label_location="bottom"/>
<icon-button id="accept" width="64" height="64" icon="gui/green_check.png"
<icon-button id="accept" width="64" height="64" icon="gui/icons/green_check.png"
I18N="User info dialog" text="Accept" label_location="bottom"/>
<icon-button id="decline" width="64" height="64" icon="gui/red_mark.png"
<icon-button id="decline" width="64" height="64" icon="gui/icons/red_mark.png"
I18N="User info dialog" text="Decline" label_location="bottom"/>
<icon-button id="enter" width="64" height="64" icon="gui/difficulty_medium.png"
<icon-button id="enter" width="64" height="64" icon="gui/icons/difficulty_medium.png"
I18N="User info dialog" text="View" label_location="bottom"/>
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="User info dialog" text="Close" label_location="bottom"/>
</buttonbar>
</div>

View File

@ -17,7 +17,7 @@
<spacer height="40" width="50"/>
<buttonbar id="options" width="25%" height="20%" align="center">
<icon-button id="cancel" width="64" height="64" icon="gui/main_quit.png"
<icon-button id="cancel" width="64" height="64" icon="gui/icons/main_quit.png"
I18N="Vote dialog" text="Close" label_location="none"/>
</buttonbar>
</div>

View File

@ -5,23 +5,23 @@
<!-- 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"
<icon-button id="backbtn" align="center" icon="gui/icons/back.png" extend_label="200"
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"
<icon-button id="selectkart" width="128" height="128" icon="gui/icons/random_kart.png"
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"
<icon-button id="options" width="128" height="128" icon="gui/icons/main_options.png"
I18N="In the in-game dialog" text="Options" word_wrap="true"/>
<icon-button id="help" width="128" height="128" icon="gui/main_help.png"
<icon-button id="help" width="128" height="128" icon="gui/icons/main_help.png"
I18N="In the in-game dialog" text="Help" word_wrap="true"/>
<icon-button id="exit" width="128" height="128" icon="gui/main_quit.png"
<icon-button id="exit" width="128" height="128" icon="gui/icons/main_quit.png"
I18N="In the in-game dialog" text="Back to menu" word_wrap="true"/>
</buttonbar>

View File

@ -5,29 +5,29 @@
<!-- 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"
<icon-button id="backbtn" align="center" icon="gui/icons/back.png" extend_label="200"
I18N="Race paused button" text="Back to Race" proportion="3"/>
<spacer width="20" height="50" />
<buttonbar id="choiceribbon" proportion="4" width="100%" align="center">
<icon-button id="newrace" width="128" height="128" icon="gui/main_race.png"
<icon-button id="newrace" width="128" height="128" icon="gui/icons/main_race.png"
I18N="Race paused button" text="Setup New Race" word_wrap="true"/>
<icon-button id="restart" width="128" height="128" icon="gui/restart.png"
<icon-button id="restart" width="128" height="128" icon="gui/icons/restart.png"
I18N="Race paused button" text="Restart Race" word_wrap="true"/>
<icon-button id="endrace" width="128" height="128" icon="gui/race_giveup.png"
<icon-button id="endrace" width="128" height="128" icon="gui/icons/race_giveup.png"
I18N="Race paused button" text="Give Up Race" word_wrap="true"/>
<icon-button id="options" width="128" height="128" icon="gui/main_options.png"
<icon-button id="options" width="128" height="128" icon="gui/icons/main_options.png"
I18N="Race paused button" text="Options" word_wrap="true"/>
<icon-button id="help" width="128" height="128" icon="gui/main_help.png"
<icon-button id="help" width="128" height="128" icon="gui/icons/main_help.png"
I18N="Race paused button" text="Help" word_wrap="true"/>
<icon-button id="exit" width="128" height="128" icon="gui/main_quit.png"
<icon-button id="exit" width="128" height="128" icon="gui/icons/main_quit.png"
I18N="Race paused button" text="Exit Race" word_wrap="true"/>
</buttonbar>

View File

@ -15,7 +15,7 @@
<spacer height="2%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="novice" icon="gui/difficulty_easy.png"
<icon-button id="novice" icon="gui/icons/difficulty_easy.png"
I18N="Difficulty" text="Novice" height="100%"/>
<spacer width="5%" height="1"/>
<label id="novice_label" proportion="1" height="100%"/>
@ -24,7 +24,7 @@
<spacer height="6%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="intermediate" icon="gui/difficulty_medium.png"
<icon-button id="intermediate" icon="gui/icons/difficulty_medium.png"
I18N="Difficulty" text="Intermediate" height="100%"/>
<spacer width="5%" height="1"/>
<label id="intermediate_label" proportion="1" height="100%"/>
@ -33,7 +33,7 @@
<spacer height="6%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="expert" icon="gui/difficulty_hard.png"
<icon-button id="expert" icon="gui/icons/difficulty_hard.png"
I18N="Difficulty" text="Expert" height="100%"/>
<spacer width="5%" height="1"/>
<label id="difficult_label" proportion="1" height="100%"/>
@ -42,7 +42,7 @@
<spacer height="6%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="supertux" icon="gui/difficulty_best.png"
<icon-button id="supertux" icon="gui/icons/difficulty_best.png"
I18N="Difficulty" text="SuperTux" height="100%"/>
<spacer width="5%" height="1"/>
<label id="supertux_label" proportion="1" height="100%"/>

View File

@ -15,7 +15,7 @@
<spacer height="2%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="novice" icon="gui/difficulty_easy.png"
<icon-button id="novice" icon="gui/icons/difficulty_easy.png"
I18N="Difficulty" text="Novice" height="100%"/>
<spacer width="5%" height="1"/>
<label id="novice_label" proportion="1" height="100%"/>
@ -24,7 +24,7 @@
<spacer height="8%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="intermediate" icon="gui/difficulty_medium.png"
<icon-button id="intermediate" icon="gui/icons/difficulty_medium.png"
I18N="Difficulty" text="Intermediate" height="100%"/>
<spacer width="5%" height="1"/>
<label id="intermediate_label" proportion="1" height="100%"/>
@ -33,7 +33,7 @@
<spacer height="8%" width="1"/>
<div width="100%" proportion="1" layout="horizontal-row">
<icon-button id="expert" icon="gui/difficulty_hard.png"
<icon-button id="expert" icon="gui/icons/difficulty_hard.png"
I18N="Difficulty" text="Expert" height="100%"/>
<spacer width="5%" height="1"/>
<label id="difficult_label" proportion="1" height="100%"/>

View File

@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<stkgui>
<div y="2%" width="100%" height="96%" layout="vertical-row">
<div width="100%" height="50%" proportion="6" layout="horizontal-row">
<div width="25%" height="100%" layout="vertical-row">
<icon-button proportion="1" width="100%" height="100%" id="track_screenshot" custom_ratio="1.33333"/>
</div>
<div width="75%" height="100%" layout="vertical-row">
<div width="100%" height="25%" layout="vertical-row" >
<label id="name" width="100%" text_align="center"/>
</div>
<!-- This is filled in programmatically -->
<box width="98%" height="75%" align="center" layout="vertical-row" padding="1">
<list id="current_replay_info" x="0" y="0" width="100%" height="100%"/>
</box>
</div>
</div>
<div width="90%" align="center" layout="vertical-row" height="fit">
<div width="100%" height="fit" layout="horizontal-row" >
<checkbox width="fit" id="record-race" I18N="Ghost replay info action" text_align="left"/>
<spacer width="10"/>
<label proportion="1" id="record-race-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Record the race for ghost replay"/>
</div>
<div width="100%" height="fit" layout="horizontal-row" >
<checkbox width="fit" id="watch-only" I18N="Ghost replay info action" text_align="left"/>
<spacer width="10"/>
<label proportion="1" id="watch-only-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Watch replay only"/>
</div>
<div width="100%" height="fit" layout="horizontal-row" >
<checkbox width="fit" id="compare-ghost" I18N="Ghost replay info action" text_align="left"/>
<spacer width="10"/>
<label proportion="1" id="compare-ghost-text" height="100%" text_align="left" I18N="Ghost replay info action" text="Compare to another ghost"/>
</div>
</div>
<div width="90%" proportion="5" align="center">
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
<icon-button id="start" width="128" height="128"
icon="gui/green_check.png"
I18N="Ghost replay info screen action" text="Start Race" />
<icon-button id="add-ghost-to-compare" width="128" height="128"
icon="gui/ghost_plus.png"
I18N="Ghost replay info screen action" text="Compare ghost" />
<icon-button id="remove" width="128" height="128"
icon="gui/remove.png"
I18N="Ghost replay info action" text="Remove" />
<icon-button id="back" width="128" height="128"
icon="gui/back.png"
I18N="Ghost replay info action" text="Back" />
</buttonbar>
</div>
</div>
</stkgui>

View File

@ -44,6 +44,8 @@ options_language.png by Alayan, based on http://www.languageicon.org/, released
blue_flag.png, heart.png and red_flag.png by Benau, released under CC-BY-SA 4
lap_flag.png, modified by Alayan, original by Alina Oleynik from The Noun Project, under CC-BY 3.0
====
Glass Skin by Auria, under CC-BY-SA 3+

View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More