Merge remote-tracking branch 'origin/master' into refactor_networking
1
.gitignore
vendored
@ -9,6 +9,7 @@ stk-editor/
|
||||
.config/
|
||||
supertuxkart-64
|
||||
make*.bat
|
||||
__pycache__
|
||||
|
||||
data/editor
|
||||
data/karts
|
||||
|
12
.travis.yml
@ -21,19 +21,27 @@ before_install:
|
||||
- sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libglew-dev cmake
|
||||
|
||||
before_script:
|
||||
- export THREADS=`nproc`
|
||||
# Unfortunately using all threads crashes g++: "g++: internal compiler error: Killed (program cc1plus)"
|
||||
- export THREADS=4
|
||||
- echo "THREADS = $THREADS"
|
||||
|
||||
script:
|
||||
|
||||
# First a debug build:
|
||||
- mkdir build-debug
|
||||
- cd build-debug
|
||||
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DCHECK_ASSETS=off
|
||||
- make VERBOSE=1 -j 4
|
||||
- make VERBOSE=1 -j $THREADS
|
||||
|
||||
# Then a release build:
|
||||
- cd ..
|
||||
- mkdir build-release
|
||||
- cd build-release
|
||||
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCHECK_ASSETS=off
|
||||
- make VERBOSE=1 -j 4
|
||||
- make VERBOSE=1 -j $THREADS
|
||||
|
||||
notifications:
|
||||
irc:
|
||||
|
@ -1,6 +1,6 @@
|
||||
# root CMakeLists for the SuperTuxKart project
|
||||
project(SuperTuxKart)
|
||||
set(PROJECT_VERSION "0.8.1")
|
||||
set(PROJECT_VERSION "0.9.1")
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.4)
|
||||
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
|
||||
@ -15,7 +15,6 @@ if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "STKRelease")
|
||||
endif()
|
||||
|
||||
option(USE_WIIUSE "Support for wiimote input devices" ON)
|
||||
option(USE_FRIBIDI "Support for right-to-left languages" ON)
|
||||
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
|
||||
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
|
||||
@ -32,7 +31,9 @@ else()
|
||||
endif()
|
||||
|
||||
if(MINGW OR CYGWIN)
|
||||
set(USE_WIIUSE OFF)
|
||||
option(USE_WIIUSE "Support for wiimote input devices" OFF)
|
||||
else()
|
||||
option(USE_WIIUSE "Support for wiimote input devices" ON)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
|
18
INSTALL.md
@ -1,6 +1,6 @@
|
||||
#SuperTuxKart Installation Instructions
|
||||
# SuperTuxKart Installation Instructions
|
||||
|
||||
Note : If you obtained this source code from github, you also need to download the game assets from sourceforge using SVN.
|
||||
Note: If you obtained this source code from Github, you also need to download the game assets from Sourceforge using SVN.
|
||||
|
||||
`svn checkout https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets`
|
||||
|
||||
@ -8,7 +8,7 @@ Place the `stk-assets` folder next to the source root `stk-code` folder.
|
||||
See <http://supertuxkart.sourceforge.net/Source_control> for more information
|
||||
|
||||
|
||||
##Building STK on Linux
|
||||
## Building STK on Linux
|
||||
|
||||
First, make sure that you have the following packages installed:
|
||||
|
||||
@ -50,14 +50,18 @@ make VERBOSE=1 -j2
|
||||
|
||||
To create a debug version of STK, use:
|
||||
|
||||
`cmake .. -DCMAKE_BUILD_TYPE=Debug`
|
||||
```
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
```
|
||||
|
||||
To test the compilation, supertuxkart can be run from the build
|
||||
directory by ./bin/supertuxkart
|
||||
|
||||
To install the file, as root execute:
|
||||
|
||||
`make install`
|
||||
```
|
||||
make install
|
||||
```
|
||||
|
||||
The default install location is `/usr/local`, i.e. the data files will
|
||||
be written to `/usr/local/share/games/supertuxkart`, the executable
|
||||
@ -66,9 +70,9 @@ location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
|
||||
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
|
||||
|
||||
|
||||
##Building STK on OS X
|
||||
## Building STK on OS X
|
||||
See <http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX>
|
||||
|
||||
|
||||
##Building STK on Windows
|
||||
## Building STK on Windows
|
||||
See <http://supertuxkart.sourceforge.net/How_to_build_the_Windows_version>
|
||||
|
20
README.md
@ -1,4 +1,4 @@
|
||||
#SuperTuxKart
|
||||
# SuperTuxKart
|
||||
[![Build Status](https://travis-ci.org/supertuxkart/stk-code.png?branch=master)](https://travis-ci.org/supertuxkart/stk-code)
|
||||
|
||||
SuperTuxKart is a free kart racing game. It is focusing on fun and
|
||||
@ -15,7 +15,7 @@ Hope you enjoy the game.
|
||||
-- The SuperTuxKart development team.
|
||||
|
||||
|
||||
##Hardware Requirements
|
||||
## Hardware Requirements
|
||||
* You need a 3D graphics card. (NVIDIA GeForce 8xxx and higher, ATI Radeon HD 4xxx and higher or Intel HD 3000 and higher)
|
||||
* You should have a CPU that's running at 1GHz or better.
|
||||
* You'll need at least 512 MB of free VRAM (video memory).
|
||||
@ -23,9 +23,9 @@ Hope you enjoy the game.
|
||||
* Ideally, you want a joystick with at least 6 buttons.
|
||||
|
||||
|
||||
##Compiling SuperTuxKart
|
||||
## Compiling SuperTuxKart
|
||||
|
||||
###Windows
|
||||
### Windows
|
||||
1. Install VS 2013 (or later). The free express versions work fine.
|
||||
2. Download and install a source package - either a released package or from our [git/svn repositories](http://supertuxkart.sourceforge.net/Source_control)
|
||||
3. Download the latest dependency package depdendencies_for_0.8.2.zip from [here](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/). Unzip it in the root directory, so that the dependencies directory is next to the src and data directory (if you are updating from a previous dependency package, you can delete the .dll files in the root directory, they are not needed anymore).
|
||||
@ -38,24 +38,24 @@ Hope you enjoy the game.
|
||||
Compilation with cygwin is not officially supported, but
|
||||
this has been done (check with the forum for details).
|
||||
|
||||
###Mac OS X
|
||||
### Mac OS X
|
||||
The latest information about compilation on Mac are on our wiki:
|
||||
<http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX>
|
||||
The Xcode project file is in `/src/ide/Xcode/`, but it still
|
||||
requires that all dependencies are installed as explained on the wiki.
|
||||
|
||||
###UNIX
|
||||
See `INSTALL` for details.
|
||||
### UNIX
|
||||
See [`INSTALL.md`](INSTALL.md) for details.
|
||||
|
||||
|
||||
##License
|
||||
## License
|
||||
This software is released under the GNU General Public License (GPL) which
|
||||
can be found in the file `LICENSE` in the same directory as this file.
|
||||
can be found in the file [`COPYING`](/COPYING) in the same directory as this file.
|
||||
Information about the licenses for artwork are contained in
|
||||
`data/licenses`.
|
||||
|
||||
|
||||
##3D coordinates
|
||||
## 3D coordinates
|
||||
A reminder for those looking at the code and 3d models:
|
||||
|
||||
STK : X right, Y up, Z forwards
|
||||
|
BIN
data/CREDITS
@ -4,6 +4,7 @@
|
||||
<card is="Intel(R) HD Graphics 3000" os="windows" disable="AdvancedPipeline"/>
|
||||
<card is="Intel(R) HD Graphics 3000" os="windows" disable="FramebufferSRGBWorking"/>
|
||||
<card contains="Intel" os="osx" disable="GI"/>
|
||||
<card contains="Intel" os="linux" version="<12.0" disable="FramebufferSRGBCapable"/>
|
||||
<card contains="Intel" disable="TextureCompressionS3TC"/>
|
||||
<card contains="Intel" os="windows" disable="HighDefinitionTextures"/>
|
||||
<card contains="NVIDIA" os="windows" version="<344.65" disable="BufferStorage"/>
|
||||
|
404
data/kart_characteristics.xml
Normal file
@ -0,0 +1,404 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Format
|
||||
It is possible to give relative values (factors and more) for each property.
|
||||
|
||||
The format as a regex is: ([+-*/](%d+|x))*
|
||||
An empty value means no change, a value without sign or with a '-' replaces
|
||||
the previous value. If an operator prefixes the string, e.g. *1.5 (- doesn't
|
||||
work because it's a sign). x will get replaced by the previous value which
|
||||
means *1.5 is equal to x*1.5. It's also possible to combine operations:
|
||||
+1.5*20 means "add 1.5 to the previous value and then multiply by 20".
|
||||
Note that it's computed sequentially from left to right and there is no
|
||||
operator precedence. Also whitespaces aren't allowed because they are used
|
||||
to split arrays.
|
||||
If you want to return the square of something use x*x or only *x.
|
||||
|
||||
ATTENTION: '-' is a special case if it is the first character of a number-
|
||||
string. It means that the number is negative and NOT that the following
|
||||
float will be substracted from the base value. So if x = 10 and the string
|
||||
"-5" is processed, the result will be -5 and not the same as "x-5", which
|
||||
would result in 10 - 5 = 5.
|
||||
-->
|
||||
<characteristics>
|
||||
<!-- The default values that can be modified by the difficulty, karts, etc.
|
||||
The values here should also be the values of the maximum difficulty. -->
|
||||
<characteristic name="base">
|
||||
<!-- ********** Physics ********** -->
|
||||
|
||||
<!-- Suspension
|
||||
stiffness: kart's suspension stiffness.
|
||||
rest: Length of suspension when at rest.
|
||||
travel-cm: maximum movement of suspension - in cm!!
|
||||
exp-string-response: dampen the suspension spring reaction
|
||||
exponentially. See
|
||||
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=7369\&p=25236&hilit=vehicle#p25236
|
||||
for details.
|
||||
max-force: Maximum suspension force -->
|
||||
<suspension stiffness="140" rest="0.3" travel="0.29"
|
||||
exp-spring-response="false" max-force="12000" />
|
||||
|
||||
<!-- Values related to stability of the chassis: damping, and reduced
|
||||
impact of roll.
|
||||
downward-impulse-factor: A speed proportional impulse applied each
|
||||
frame that pushes the vehicle onto the ground.
|
||||
track-connection-accel: An artificial force that pulls a wheel to
|
||||
the ground if its off ground. Reduces the affect if a kart loses
|
||||
contact with the ground (i.e. it then can't steer or accelerate
|
||||
anymore).
|
||||
smooth-flying-impulse: apply a torque impulse to flying kart to keep
|
||||
them parallel to the ground. -->
|
||||
<stability roll-influence="0.3"
|
||||
chassis-linear-damping="0.2"
|
||||
chassis-angular-damping="0"
|
||||
downward-impulse-factor="5"
|
||||
track-connection-accel="2"
|
||||
smooth-flying-impulse="250" />
|
||||
|
||||
<!-- Turning
|
||||
radius: The turn radius of the kart at
|
||||
a given speed. The actual steering angle is dependent on the
|
||||
wheel base of the kart: radius = wheel_base/sin(steering_angle).
|
||||
The values below define that at speed 0 the turn radius is 2, at
|
||||
speed 10 the radius is 7.5 etc.
|
||||
The actual turn radius is piece-wise linearly interpolated. This
|
||||
allows for tighter turning at lower speeds, and also avoids that
|
||||
the kart becomes too hard to control at high speed (speeds of
|
||||
higher than 23 can only be reached with powerups).
|
||||
time-full-steer: This is the amount of change in steering depending
|
||||
on current steering. So if the steering is between 0 and 0.5,
|
||||
the time-for-steering-change is 0.15. If the current steering is
|
||||
between 0.5 and 1.0, the time-for-steering-change is 0.25.
|
||||
The speed is used as dt/time-for-steering-change.
|
||||
In short: steering at less than halfway is somewhat faster,
|
||||
which should avoid oversteering (by pressing the key for too long),
|
||||
but slower when you want to steer more. Overwall with the current
|
||||
settings the expected time-to-full-steer is:
|
||||
0.5 * 0.25 + 0.5 * 0.15 = 0.2 ... which is overall the same
|
||||
time we had previously. -->
|
||||
<turn radius="0:2.0 10:7.5 25:15 45:30"
|
||||
time-full-steer="0:0.17 0.5:0.17 0.5:0.28 1.0:0.28"
|
||||
time-reset-steer="0.1" />
|
||||
|
||||
<!-- Speed and acceleration
|
||||
power: The power of the kart
|
||||
max-speed: The base maximum speed of the kart in m/s
|
||||
brake-factor: Value used when braking.
|
||||
brake-time-increase: The brake force is multiplied by
|
||||
(1 + brake_time) * brake_time_increase - i.e. the longer the
|
||||
brake was pressed, the harder the kart will brake.
|
||||
max-speed-reverse-ratio is the percentage of max speed for reverse
|
||||
gear.
|
||||
-->
|
||||
<engine power="875" max-speed="25" brake-factor="15"
|
||||
brake-time-increase="6" max-speed-reverse-ratio="0.65" />
|
||||
|
||||
<!-- Simulated gears
|
||||
switch-ratio defines at what ratio of the maximum
|
||||
speed what gear is selected, e.g. 0.25 means that if the speed is
|
||||
bigger or equal to 0.25 * maxSpeed then use gear 1, 0.5 means if
|
||||
the speed is bigger or equal to 0.5 x maxSpeed then gear 2.
|
||||
gear-power-increase contains the increase in max power (to simulate
|
||||
different gears), e.g. 2.5 as first entry means: 2.5 * maxPower in gear 1
|
||||
| first | second | third | . -->
|
||||
<gear switch-ratio="0.25 0.7 1.0" power-increase="2.2 1.7 1.3" />
|
||||
|
||||
<!-- Mass of a kart -->
|
||||
<mass value="350" />
|
||||
|
||||
<!-- Wheels
|
||||
damping-relaxation/compression: for bullet
|
||||
damping parameters
|
||||
Radius and width of wheel
|
||||
front-right, front-left, rear-right and rear-left give the
|
||||
position of the physics raycast wheels relative to the center of
|
||||
gravity. Default is to use the corners of the chassis to attach
|
||||
the wheels to. -->
|
||||
<wheels damping-relaxation="35" damping-compression="5">
|
||||
<front-right position="0.38 0 0.6" />
|
||||
<front-left position="-0.38 0 0.6" />
|
||||
<rear-right position="0.38 0 -0.6" />
|
||||
<rear-left position="-0.38 0 -0.6" />
|
||||
</wheels>
|
||||
|
||||
|
||||
<!-- ********** Visuals ********** -->
|
||||
|
||||
<!-- Skidding
|
||||
increase: multiplicative increase of skidding factor in each frame.
|
||||
decrease: multiplicative decrease of skidding factor in each frame.
|
||||
max: maximum skidding factor = maximum increase of steering angle.
|
||||
time-till-max: Time till maximum skidding is reached.
|
||||
visual: Additional graphical rotation of kart. The graphical rotation
|
||||
of the kart also determines the direction the kart is driving to
|
||||
when skidding is stopped.
|
||||
visual-time: How long it takes for the visual skid to reach maximum.
|
||||
revert-visual-time: how long it takes when stopping a skid to revert
|
||||
the visual skid and bring visuals and physics in sync again.
|
||||
angular-velocity: Angular velocity to be used for the kart when skidding.
|
||||
min-speed: Minimum speed a kart must have before it can skid. Must be
|
||||
>0, otherwise the kart can skid at the start of the race.
|
||||
time-till-bonus: How long a kart needs to skid in order to get a bonus.
|
||||
bonus-force: A speedup applied to the kart whick skidded for a while.
|
||||
bonus-time: How long the bonus-force is applied.
|
||||
bonus-force: Additional engine force (this is used to offset the fact
|
||||
that turning after skidding (e.g. to correct direction) often uses
|
||||
up the skid bonus).
|
||||
post-skid-rotate-factor: a factor to be used to determine how much
|
||||
the chassis of a kart should rotate to match the graphical view.
|
||||
A factor of 1 is identical, a smaller factor will rotate the kart
|
||||
less (which might feel better).
|
||||
physical-jump-time: Time for a physical jump at the beginning of a skid.
|
||||
graphical-jump-time: Time for a graphics-only jump at the beginning
|
||||
of a skid.
|
||||
reduce-turn-min/max: The steering done by the controller (which is in
|
||||
[-1,1]) is mapped to [reduce-turn-min, reduce-turn-max] when skidding
|
||||
is active (for left turn, right turn will use [-max, -min]). The
|
||||
effect is that while you skid (say left) you can adjust the direction
|
||||
of the turn the kart is doing somewhat by steering to the left and right,
|
||||
but you will always keep on doing a left turn, just more or less. -->
|
||||
<skid increase="1.05" decrease="0.95" max="2.5" time-till-max="0.5"
|
||||
visual="1.25" visual-time="0.7" revert-visual-time="0.7"
|
||||
min-speed="10" time-till-bonus="1.0 3.0"
|
||||
bonus-speed="4.5 6.5" bonus-time="3.0 4.0"
|
||||
bonus-force="250 350"
|
||||
physical-jump-time="0" graphical-jump-time="0.4"
|
||||
post-skid-rotate-factor="1"
|
||||
reduce-turn-min="0.2" reduce-turn-max="0.8" enabled="true" />
|
||||
|
||||
<!-- Camera
|
||||
Distance between kart and camera.
|
||||
forward-up-angle: Angle between camera and plane of kart (pitch)
|
||||
when the camera is pointing forward
|
||||
backward-up-angle: Angle between camera and plane of kart (pitch)
|
||||
when the camera is pointing backwards. This is usually
|
||||
larger than the forward-up-angle, since the kart itself
|
||||
otherwise obstricts too much of the view. -->
|
||||
<camera distance="1.0" forward-up-angle="15"
|
||||
backward-up-angle="5" />
|
||||
|
||||
<!-- Jump animation
|
||||
animation-time: only if the estimated time for a jump is larger
|
||||
than this value will the jump animation being
|
||||
shown. -->
|
||||
<jump animation-time="0.5" />
|
||||
|
||||
<!-- Leaning related parameters, i.e. slightly leaning the karts when
|
||||
driving a fast curve.
|
||||
max: maximum leaning (i.e. when steering as much as possible at highest
|
||||
speed), in degrees.
|
||||
speed: Speed with which the leaning changes (in degree/second). -->
|
||||
<lean max="8.6" speed="5.0" />
|
||||
|
||||
|
||||
<!-- ********** Items ********** -->
|
||||
|
||||
<!-- Anvil
|
||||
weight: The additional weight an anvil adds to a kart.
|
||||
speed-factor: The additional slowdown caused by the anvil.
|
||||
duration: The time an anvil is active. -->
|
||||
<anvil duration="2.0" weight="150" speed-factor="0.2" />
|
||||
|
||||
<!-- Parachute
|
||||
friction: The friction increase when a parachute is attached.
|
||||
duration: The time an attached parachute is active
|
||||
duration-other: The time a parachute attached from other kart works
|
||||
lbound-fraction: The lower bound fraction of speed when lost will
|
||||
detach parachute. E.g. at nearly 0 speed, only 5% of speed
|
||||
need to be lost.
|
||||
ubound-fraction: The upper bound fraction of speed when lost will
|
||||
detach parachute. E.g. at max-speed 30% of speed must be lost.
|
||||
max-speed: A factor that decides the impact of rate of speed
|
||||
(distance between bounds) -->
|
||||
<parachute friction="2.0" duration="4.0" duration-other="8.0"
|
||||
lbound-fraction="0.95" ubound-fraction="0.7" max-speed="23" />
|
||||
|
||||
<!-- Bubblegum
|
||||
duration: How long the bubblegum lasts.
|
||||
speed-fraction: To what fraction of top-speed the speed is reduced.
|
||||
torque: To rotate the kart somewhat.
|
||||
fade-in-time: How quick the slowdown takes effect.
|
||||
shield-duration: How long the bubblegum shield lasts -->
|
||||
<bubblegum duration="1" speed-fraction="0.3" torque="500" fade-in-time="0.01"
|
||||
shield-duration="10.0" />
|
||||
|
||||
<!-- Zipper
|
||||
duration: Time a zipper is active.
|
||||
force: Additional zipper force.
|
||||
speed-gain: One time additional speed.
|
||||
max-speed-increase: Additional speed allowed on top of the
|
||||
kart-specific maximum kart speed.
|
||||
fade-out-time: determines how long it takes for a zipper
|
||||
to fade out (after 'time'). -->
|
||||
<zipper duration="3.5" force="250.0" speed-gain="4.5" max-speed-increase="15"
|
||||
fade-out-time="1.0" />
|
||||
|
||||
<!-- Swatter
|
||||
duration: How long can the swatter be active.
|
||||
distance: How close a kart or an item must be before it can be hit.
|
||||
This is the square of the real distance to accelerate the
|
||||
compution.
|
||||
squash-duration: How long a kart will remain squashed.
|
||||
squash-slowdown: Percentage of max speed that a kart is
|
||||
restricted to. -->
|
||||
<swatter duration="10" distance="9" squash-duration="5"
|
||||
squash-slowdown="0.5" />
|
||||
|
||||
<!-- Plunger and rubber band handling
|
||||
band-max-length: The maximum length of rubber band before it snaps.
|
||||
band-force: The force a plunger/rubber band applies to the kart(s).
|
||||
band-duration: The duration a rubber band acts.
|
||||
in-face-time determines how long it takes before a plunger
|
||||
in your face is removed. -->
|
||||
<plunger band-max-length="50" band-force="1500" band-duration="1"
|
||||
band-speed-increase="7" band-fade-out-time="3"
|
||||
in-face-time="4.5" />
|
||||
|
||||
|
||||
<!-- ********** Miscellaneous ********** -->
|
||||
|
||||
<!-- Startup
|
||||
If a kart starts within the specified time after 'go',
|
||||
it receives the corresponding bonus from 'boost'. Those
|
||||
fields must have the same size, and must be sorted by
|
||||
increasing times. -->
|
||||
<startup time="0.3 0.5"
|
||||
boost="6 3" />
|
||||
|
||||
<!-- Rescue
|
||||
duration: How long it takes the kart to be raised.
|
||||
height: how height the kart will be raised before it is
|
||||
dropped back onto the track.
|
||||
vert rescue offset: used to raise karts a bit higher before
|
||||
releasing them on the ground after a rescue. Used to avoid
|
||||
resetting karts into the track. Not sure if this is still
|
||||
necessary. -->
|
||||
<rescue vert-offset="0.0" duration="1.2" height="2" />
|
||||
|
||||
<!-- Explosion
|
||||
duration: how long it takes before the kart can drive again (this
|
||||
determines how height the kart is being thrown).
|
||||
invulnerability-time: how long a kart will be invulnerable
|
||||
after being hit by an explosion.
|
||||
radius: Kart closer to this value will be affected by
|
||||
an explosion as well. -->
|
||||
<explosion duration="2" radius="5"
|
||||
invulnerability-time="6" />
|
||||
|
||||
<!-- Nitro
|
||||
engine-force: additional engine power
|
||||
consumption: nitro consumption - heavier characters can be set
|
||||
to need more nitro than lighter character.
|
||||
small-container: how much energy a small container gives.
|
||||
big-container: how much energy a big container gives.
|
||||
max-speed-increase: How much the speed of a kart might exceed
|
||||
its maximum speed (in m/s).
|
||||
duration: How long the increased speed will be valid after
|
||||
the kart stops using nitro (and the fade-out-time starts).
|
||||
fade-out-time: Duration during which the increased maximum
|
||||
speed due to nitro fades out.
|
||||
max: How much nitro a kart can store. -->
|
||||
<nitro engine-force="600" consumption="1" small-container="1" big-container="3"
|
||||
max-speed-increase="5" duration="1" fade-out-time="2" max="20" />
|
||||
|
||||
<!-- Slipstream
|
||||
length: How far behind a kart slipstream works
|
||||
width: how wide slipstream works furthest away from the kart.
|
||||
collect-time: How many seconds of sstream give maximum benefit
|
||||
use-time: How long the benefit will last.
|
||||
add-power: Additional power due to sstreaming. 1 = +100%
|
||||
min-speed: Minimum speed necessary for slipstream to take effect.
|
||||
max-speed-increase: How much the speed of the kart might exceed
|
||||
its normal maximum speed.
|
||||
duration: How long the higher speed lasts after slipstream stopped
|
||||
working.
|
||||
fade-out-time: How long the slip stream speed increase will
|
||||
gradually be reduced. -->
|
||||
<slipstream length="10" width="2" collect-time="2" use-time="5"
|
||||
add-power="3" min-speed="10" max-speed-increase="5"
|
||||
duration="1" fade-out-time="2" />
|
||||
</characteristic>
|
||||
|
||||
<!-- The different difficulties (like easy, medium, hard) -->
|
||||
<difficulties>
|
||||
<characteristic name="easy">
|
||||
<engine power="*0.66" max-speed="*0.6" />
|
||||
<plunger in-face-time="3" />
|
||||
</characteristic>
|
||||
<characteristic name="medium">
|
||||
<engine power="*0.77" max-speed="*0.8" />
|
||||
<plunger in-face-time="4" />
|
||||
</characteristic>
|
||||
<characteristic name="hard">
|
||||
<engine power="*0.89" max-speed="*0.92" />
|
||||
</characteristic>
|
||||
<!-- This doesn't need to be changed because the most fast/heavy/extreme
|
||||
values should also be the default ones. -->
|
||||
<characteristic name="best" />
|
||||
</difficulties>
|
||||
|
||||
<!-- The different kart types, that can be specified in the kart.xml file -->
|
||||
<kart-types>
|
||||
<characteristic name="light">
|
||||
<engine power="*0.46" max-speed="*0.92" brake-factor="*1"
|
||||
max-speed-reverse-ratio="*0.77" />
|
||||
<gear switch-ratio="0.20 0.55 1" power-increase="5 4 3" />
|
||||
<mass value="*0.56" />
|
||||
<startup time="0.3 0.5"
|
||||
boost="8.5 4.5" />
|
||||
<explosion time="2.1" radius="5.5"
|
||||
invulnerability-time="7" />
|
||||
<nitro engine-force="350" max-speed-increase="4.5" duration="1.5"
|
||||
fade-out-time="2.5" />
|
||||
<slipstream length="11" collect-time="1.5" use-time="2.5" add-power="3.2"
|
||||
min-speed="9" max-speed-increase="4" duration="1.2"
|
||||
fade-out-time="2.3" />
|
||||
</characteristic>
|
||||
<characteristic name="medium">
|
||||
<engine power="*0.63" max-speed="*1" brake-factor="*0.73"
|
||||
max-speed-reverse-ratio="*0.62" />
|
||||
<gear switch-ratio="0.30 0.7 1.0" power-increase="2.2 2.2 2.5" />
|
||||
<mass value="*0.71" />
|
||||
<startup time="0.3 0.5"
|
||||
boost="4.2 2.6" />
|
||||
<explosion time="1.8" radius="5"
|
||||
invulnerability-time="6" />
|
||||
<nitro engine-force="425" consumption="1.4" duration="1" />
|
||||
<slipstream use-time="3.3" add-power="2.8" duration="0.9"
|
||||
fade-out-time="1.6" />
|
||||
</characteristic>
|
||||
<characteristic name="heavy">
|
||||
<engine power="*1" max-speed="*1" brake-factor="*0.66"
|
||||
max-speed-reverse-ratio="*1" />
|
||||
<gear switch-ratio="0.45 0.70 1" power-increase="1.5 1.7 2.5" />
|
||||
<mass value="*1" />
|
||||
<swatter duration="10" distance="3" squash-duration="5"
|
||||
squash-slowdown="0.5" />
|
||||
<startup time="0.3 0.5"
|
||||
boost="3.8 2" />
|
||||
<explosion time="1.5" radius="4"
|
||||
invulnerability-time="6" />
|
||||
<nitro engine-force="600" consumption="2" max-speed-increase="8"
|
||||
duration="0.7" fade-out-time="1.3" />
|
||||
<slipstream length="8.5" use-time="4" add-power="2.7" min-speed="10.5"
|
||||
max-speed-increase="8" duration="0.7" fade-out-time="1" />
|
||||
</characteristic>
|
||||
</kart-types>
|
||||
|
||||
<!-- Per-player settings/handicaps (or boosts) -->
|
||||
<player-characteristics>
|
||||
<characteristic name="normal" />
|
||||
<characteristic name="handicap">
|
||||
<engine brake-factor="*0.8" brake-time-increase="*0.85" max-speed-reverse-ratio="*0.8" />
|
||||
<bubblegum duration="*1.5" speed-fraction="*1.5" torque="*1.5" />
|
||||
<zipper duration="*0.8" force="*0.8" speed-gain="*0.8" max-speed-increase="*0.8" />
|
||||
<swatter duration="*0.8" squash-duration="*1.5" squash-slowdown="*1.8" />
|
||||
<plunger band-max-length="*0.8" band-speed-increase="*0.8" in-face-time="*1.3" />
|
||||
<startup time="*0.8 0.8" boost="*0.8 0.8" />
|
||||
<rescue duration="*1.5" />
|
||||
<explosion duration="*1.3" invulnerability-time="*0.7" />
|
||||
<nitro engine-force="*0.8" consumption="*1.1" max-speed-increase="*0.9" max="*0.8" />
|
||||
<slipstream length="*0.8" width="*0.8" collect-time="*1.5" use-time="*0.8"
|
||||
add-power="*0.8" min-speed="*0.8" max-speed-increase="*0.9" duration="*0.8" />
|
||||
</characteristic>
|
||||
</player-characteristics>
|
||||
</characteristics>
|
266
data/skins/Forest.stkskin
Normal file
@ -0,0 +1,266 @@
|
||||
<!--
|
||||
|
||||
Forest skin is based on Ocean skin
|
||||
Ocean skin by Dakal and Marianne Gagnon, released under creative-commons BY-SA 3.0+
|
||||
Except background.jpg, by elisee
|
||||
Except stars, by s@f
|
||||
|
||||
To make your own skin, I suggest simply duplicating this file and modifying it as needed.
|
||||
There are two types of images : some will be simply stretched as a whole, others will
|
||||
have non-stretchable borders (you cannot choose which one you must use, it's hardcoded
|
||||
for each element type; though, as you will see below, for all "advanced stretching" images
|
||||
you can easily fake "simple stretch")
|
||||
|
||||
All elements will have at least 2 properties :
|
||||
type="X" sets what you're skinning with this entry
|
||||
image="skinDirectory/imageName.png" sets which image is used for this element
|
||||
|
||||
Most elements also support states :
|
||||
state="neutral"
|
||||
state="focused"
|
||||
state="down"
|
||||
You can thus give different looks for different states. Not all widgets support all states,
|
||||
see entries and comments below to know what's supported.
|
||||
Note that checkboxes are an exception and have the following styles :
|
||||
"neutral+unchecked"
|
||||
"neutral+checked"
|
||||
"focused+unchecked"
|
||||
"focused+checked"
|
||||
"deactivated+unchecked"
|
||||
"deactivated+checked"
|
||||
|
||||
"Advanced stretching" images are split this way :
|
||||
|
||||
+----+--------------------+----+
|
||||
| | | |
|
||||
+----+--------------------+----+
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
+----+--------------------+----+
|
||||
| | | |
|
||||
+----+--------------------+----+
|
||||
|
||||
The center border will be stretched in all directions. The 4 corners will not stretch at all.
|
||||
Horizontal borders will stretch horizontally, verticallt borders will stretch vertically.
|
||||
Use properties left_border="X" right_border="X" top_border="X" bottom_border="X" to specify
|
||||
the size of each border in pixels (setting all borders to '0' makes the whole image scaled).
|
||||
|
||||
In some cases, you may not want vertical stretching to occur (like if the left and right sides
|
||||
of the image must not be stretched vertically, e.g. for the spinner). In this case, pass
|
||||
parameter preserve_h_aspect_ratios="true" to make the left and right areas stretch by keeping
|
||||
their aspect ratio.
|
||||
|
||||
Some components may fill the full inner area with stuff; others will only take a smaller
|
||||
area at the center. To adjust for this, there are properties "hborder_out_portion" and "vborder_out_portion"
|
||||
that take a float from 0 to 1, representing the percentage of each border that goes out of the widget's
|
||||
area (this might include stuff like shadows, etc.). The 'h' one is for horizontal borders,
|
||||
the 'v' one is for vertical borders.
|
||||
|
||||
Finnally : the image is split, as shown above, into 9 areas. In osme cases, you may not want
|
||||
all areas to be rendered. Then you can pass parameter areas="body+left+right+top+bottom"
|
||||
and explicitely specify which parts you want to see. The 4 corner areas are only visible
|
||||
when the border that intersect at this corner are enabled.
|
||||
|
||||
-->
|
||||
|
||||
<skin name="Forest" author="Benau">
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="background" image="forest/background.jpg" />
|
||||
|
||||
<element type="achievement-message" image="forest/achievement.png"
|
||||
left_border="128" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
|
||||
|
||||
<element type="friend-message" image="forest/friend.png"
|
||||
left_border="128" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="error-message" image="forest/error.png"
|
||||
left_border="128" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="button" state="neutral" image="forest/glassbutton.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="button" state="focused" image="forest/glassbutton_focused.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="button" state="deactivated" image="forest/glassbutton_deactivated.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<!-- TODO : buttons could support 'pressed' state -->
|
||||
|
||||
<element type="textbubble" state="neutral" image="forest/textbubble.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
hborder_out_portion="0.7" vborder_out_portion="0.3" />
|
||||
|
||||
<element type="textbubble" state="focused" image="forest/textbubble2.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
hborder_out_portion="0.7" vborder_out_portion="0.3" />
|
||||
|
||||
<element type="progress" state="fill" image="forest/glasssgauge_fill.png"
|
||||
left_border="20" right_border="20" top_border="0" bottom_border="0"
|
||||
preserve_h_aspect_ratios="true" />
|
||||
|
||||
<element type="progress" state="neutral" image="forest/scrollbar_bg.png"
|
||||
left_border="31" right_border="31" top_border="15" bottom_border="15"
|
||||
preserve_h_aspect_ratios="true" />
|
||||
|
||||
|
||||
<element type="tab" state="neutral" image="forest/glasstab.png"
|
||||
left_border="75" right_border="75" top_border="0" bottom_border="15"
|
||||
hborder_out_portion="0.2" />
|
||||
|
||||
<element type="tab" state="focused" image="forest/glasstab_focus.png"
|
||||
left_border="75" right_border="75" top_border="0" bottom_border="15"
|
||||
hborder_out_portion="0.2" />
|
||||
|
||||
<element type="tab" state="down" image="forest/glasstab_down.png"
|
||||
left_border="75" right_border="75" top_border="0" bottom_border="15"
|
||||
hborder_out_portion="0.2" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="squareFocusHalo" image="forest/glass_square_focused.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
<element type="squareFocusHalo2" image="forest/glass_square_focused2.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
<element type="squareFocusHalo3" image="forest/glass_square_focused3.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
<element type="squareFocusHalo4" image="forest/glass_square_focused4.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
|
||||
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
|
||||
<element type="selectionHalo" image="forest/bubble.png" />
|
||||
<element type="focusHalo" image="forest/glass_iconhighlight_focus.png" />
|
||||
|
||||
<element type="spinner" state="neutral" image="forest/glassspinner.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<element type="spinner" state="focused" image="forest/glassspinner_focus.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<element type="spinner" state="deactivated" image="forest/glassspinner_deactivated.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<!-- player name spinner color in multiplayer-->
|
||||
<element type="spinner1" state="neutral" image="forest/glass_square1.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
<element type="spinner2" state="neutral" image="forest/glass_square2.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
<element type="spinner3" state="neutral" image="forest/glass_square3.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
<element type="spinner4" state="neutral" image="forest/glass_square4.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
|
||||
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
|
||||
on top of the spinner's background -->
|
||||
<element type="spinner" state="down" image="forest/glassspinner_down.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
|
||||
<element type="checkbox" state="neutral+unchecked" image="forest/glasscheckbox.png"/>
|
||||
<element type="checkbox" state="neutral+checked" image="forest/glasscheckbox_checked.png"/>
|
||||
<element type="checkbox" state="focused+unchecked" image="forest/glasscheckbox_focus.png"/>
|
||||
<element type="checkbox" state="focused+checked" image="forest/glasscheckbox_checked_focus.png"/>
|
||||
<element type="checkbox" state="deactivated+unchecked" image="forest/glasscheckbox_deactivated.png"/>
|
||||
<element type="checkbox" state="deactivated+checked" image="forest/glasscheckbox_checked_deactivated.png"/>
|
||||
|
||||
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
|
||||
Note: the body of a guage is the same as for for spinners. -->
|
||||
<element type="gaugefill" image="forest/glasssgauge_fill.png" />
|
||||
|
||||
<!-- Lists are always in neutral state for now -->
|
||||
<element type="list" image="forest/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="7" bottom_border="7"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<element type="listitem" state="focused" image="forest/select.png"
|
||||
left_border="0" right_border="0" top_border="0" bottom_border="0"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
|
||||
<!-- Scrollbars. Background and thumb have no state (always neutral state).
|
||||
The buttons are the top and bottom arrows. Image must be top arrow, will
|
||||
be mirrorred for bottom. Buttons can be in neutral or down state.
|
||||
Advanced stretching is not used here.
|
||||
-->
|
||||
<element type="scrollbar_background" image="forest/scrollbar_bg.png" />
|
||||
<element type="scrollbar_thumb" image="forest/scrollbar_thumb.png" />
|
||||
<element type="scrollbar_button" image="forest/scrollbar_btn.png" />
|
||||
<element type="scrollbar_button" state="down" image="forest/scrollbar_btn_down.png" />
|
||||
|
||||
<element type="left_arrow" state="neutral" image="forest/left_arrow.png" />
|
||||
<element type="right_arrow" state="neutral" image="forest/right_arrow.png" />
|
||||
<element type="left_arrow" state="focus" image="forest/left_arrow_focus.png" />
|
||||
<element type="right_arrow" state="focus" image="forest/right_arrow_focus.png" />
|
||||
|
||||
<element type="list_header" state="neutral" image="forest/table_header.png" />
|
||||
<element type="list_sort_up" state="neutral" image="forest/list_sort_up.png" />
|
||||
<element type="list_sort_down" state="neutral" image="forest/list_sort_down.png" />
|
||||
<element type="list_header" state="down" image="forest/table_header_down.png" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="section" image="forest/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="rounded_section" image="forest/glass_rsection.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="window" image="forest/dialog.png"
|
||||
left_border="7" right_border="7" top_border="50" bottom_border="50"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="tooltip" image="forest/tooltip.png"
|
||||
left_border="10" right_border="10" top_border="10" bottom_border="10"
|
||||
hborder_out_portion="1.0" vborder_out_portion="1.0" />
|
||||
|
||||
<!-- Colors -->
|
||||
<color type="text" state="neutral" r="0" g="0" b="0" />
|
||||
<color type="brighttext" state="neutral" r="0" g="160" b="70" />
|
||||
|
||||
<!-- For highlighted items, e.g. in list -->
|
||||
<color type="text" state="focused" r="255" g="255" b="255" />
|
||||
|
||||
<!-- Color used to fade out background when a dialog is shown -->
|
||||
<color type="dialog_background" state="neutral" a="120" r="0" g="0" b="0" />
|
||||
|
||||
<!-- Text field color -->
|
||||
<color type="text_field" state="background" a="255" r="200" g="200" b="200" />
|
||||
<color type="text_field" state="background_focused" a="255" r="223" g="250" b="245" />
|
||||
<color type="text_field" state="background_deactivated" a="255" r="200" g="200" b="200" />
|
||||
<color type="text_field" state="neutral" a="255" r="138" g="138" b="138" />
|
||||
<color type="text_field" state="focused" a="255" r="80" g="240" b="80" />
|
||||
<color type="text_field" state="deactivated" a="255" r="138" g="138" b="138" />
|
||||
|
||||
<!-- Rating star image -->
|
||||
<element type="rating" state="neutral" image="forest/rating_star.png" />
|
||||
|
||||
<!-- Font color -->
|
||||
<color type="font" state="top" a="255" r="60" g="230" b="150" />
|
||||
<color type="font" state="bottom" a="255" r="80" g="190" b="0" />
|
||||
<color type="font" state="normal" a="255" r="100" g="160" b="130" />
|
||||
|
||||
</skin>
|
@ -257,4 +257,9 @@ when the border that intersect at this corner are enabled.
|
||||
<!-- Rating star image -->
|
||||
<element type="rating" state="neutral" image="ocean/rating_star.png" />
|
||||
|
||||
<!-- Font color -->
|
||||
<color type="font" state="top" a="255" r="100" g="200" b="220" />
|
||||
<color type="font" state="bottom" a="255" r="80" g="80" b="220" />
|
||||
<color type="font" state="normal" a="255" r="40" g="40" b="180" />
|
||||
|
||||
</skin>
|
||||
|
@ -255,4 +255,9 @@ when the border that intersect at this corner are enabled.
|
||||
<!-- Rating star image -->
|
||||
<element type="rating" state="neutral" image="peach/rating_star.png" />
|
||||
|
||||
<!-- Font color -->
|
||||
<color type="font" state="top" a="255" r="255" g="128" b="0" />
|
||||
<color type="font" state="bottom" a="255" r="255" g="220" b="15" />
|
||||
<color type="font" state="normal" a="255" r="210" g="100" b="50" />
|
||||
|
||||
</skin>
|
||||
|
264
data/skins/Ruby.stkskin
Normal file
@ -0,0 +1,264 @@
|
||||
<!--
|
||||
|
||||
Ruby skin is based on Peach skin
|
||||
Peach skin by Dakal and Marianne Gagnon, released under creative-commons BY-SA 3.0+
|
||||
Except background.jpg, by elisee
|
||||
Except stars, by s@f
|
||||
|
||||
To make your own skin, I suggest simply duplicating this file and modifying it as needed.
|
||||
There are two types of images : some will be simply stretched as a whole, others will
|
||||
have non-stretchable borders (you cannot choose which one you must use, it's hardcoded
|
||||
for each element type; though, as you will see below, for all "advanced stretching" images
|
||||
you can easily fake "simple stretch")
|
||||
|
||||
All elements will have at least 2 properties :
|
||||
type="X" sets what you're skinning with this entry
|
||||
image="skinDirectory/imageName.png" sets which image is used for this element
|
||||
|
||||
Most elements also support states :
|
||||
state="neutral"
|
||||
state="focused"
|
||||
state="down"
|
||||
You can thus give different looks for different states. Not all widgets support all states,
|
||||
see entries and comments below to know what's supported.
|
||||
Note that checkboxes are an exception and have the following styles :
|
||||
"neutral+unchecked"
|
||||
"neutral+checked"
|
||||
"focused+unchecked"
|
||||
"focused+checked"
|
||||
"deactivated+unchecked"
|
||||
"deactivated+checked"
|
||||
|
||||
"Advanced stretching" images are split this way :
|
||||
|
||||
+----+--------------------+----+
|
||||
| | | |
|
||||
+----+--------------------+----+
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
+----+--------------------+----+
|
||||
| | | |
|
||||
+----+--------------------+----+
|
||||
|
||||
The center border will be stretched in all directions. The 4 corners will not stretch at all.
|
||||
Horizontal borders will stretch horizontally, verticallt borders will stretch vertically.
|
||||
Use properties left_border="X" right_border="X" top_border="X" bottom_border="X" to specify
|
||||
the size of each border in pixels (setting all borders to '0' makes the whole image scaled).
|
||||
|
||||
In some cases, you may not want vertical stretching to occur (like if the left and right sides
|
||||
of the image must not be stretched vertically, e.g. for the spinner). In this case, pass
|
||||
parameter preserve_h_aspect_ratios="true" to make the left and right areas stretch by keeping
|
||||
their aspect ratio.
|
||||
|
||||
Some components may fill the full inner area with stuff; others will only take a smaller
|
||||
area at the center. To adjust for this, there are properties "hborder_out_portion" and "vborder_out_portion"
|
||||
that take a float from 0 to 1, representing the percentage of each border that goes out of the widget's
|
||||
area (this might include stuff like shadows, etc.). The 'h' one is for horizontal borders,
|
||||
the 'v' one is for vertical borders.
|
||||
|
||||
Finnally : the image is split, as shown above, into 9 areas. In osme cases, you may not want
|
||||
all areas to be rendered. Then you can pass parameter areas="body+left+right+top+bottom"
|
||||
and explicitely specify which parts you want to see. The 4 corner areas are only visible
|
||||
when the border that intersect at this corner are enabled.
|
||||
|
||||
-->
|
||||
|
||||
<skin name="Ruby" author="Benau">
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="background" image="ruby/background.jpg" />
|
||||
|
||||
<element type="achievement-message" image="ruby/achievement.png"
|
||||
left_border="128" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
|
||||
|
||||
<element type="friend-message" image="ruby/friend.png"
|
||||
left_border="128" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="error-message" image="ruby/error.png"
|
||||
left_border="128" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="button" state="neutral" image="ruby/glassbutton.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="button" state="focused" image="ruby/glassbutton_focused.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<element type="button" state="deactivated" image="ruby/glassbutton_deactivated.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
|
||||
|
||||
<!-- TODO : buttons could support 'pressed' state -->
|
||||
|
||||
<element type="textbubble" state="neutral" image="ruby/textbubble.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
hborder_out_portion="0.7" vborder_out_portion="0.3" />
|
||||
|
||||
<element type="textbubble" state="focused" image="ruby/textbubble2.png"
|
||||
left_border="13" right_border="13" top_border="13" bottom_border="13"
|
||||
hborder_out_portion="0.7" vborder_out_portion="0.3" />
|
||||
|
||||
<element type="progress" state="fill" image="ruby/glasssgauge_fill.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
preserve_h_aspect_ratios="false" />
|
||||
|
||||
<element type="progress" state="neutral" image="ruby/scrollbar_bg.png"
|
||||
left_border="31" right_border="31" top_border="15" bottom_border="15"
|
||||
preserve_h_aspect_ratios="true" />
|
||||
|
||||
|
||||
<element type="tab" state="neutral" image="ruby/glasstab.png"
|
||||
left_border="75" right_border="75" top_border="0" bottom_border="15"
|
||||
hborder_out_portion="0.2" />
|
||||
|
||||
<element type="tab" state="focused" image="ruby/glasstab_focus.png"
|
||||
left_border="75" right_border="75" top_border="0" bottom_border="15"
|
||||
hborder_out_portion="0.2" />
|
||||
|
||||
<element type="tab" state="down" image="ruby/glasstab_down.png"
|
||||
left_border="75" right_border="75" top_border="0" bottom_border="15"
|
||||
hborder_out_portion="0.2" />
|
||||
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="squareFocusHalo" image="ruby/glass_square_focused.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
<element type="squareFocusHalo2" image="ruby/glass_square_focused2.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
<element type="squareFocusHalo3" image="ruby/glass_square_focused3.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
<element type="squareFocusHalo4" image="ruby/glass_square_focused4.png"
|
||||
left_border="6" right_border ="6" top_border="6" bottom_border="6"
|
||||
hborder_out_portion="1.0" />
|
||||
|
||||
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
|
||||
<element type="selectionHalo" image="ruby/bubble.png" />
|
||||
<element type="focusHalo" image="ruby/glass_iconhighlight_focus.png" />
|
||||
|
||||
<element type="spinner" state="neutral" image="ruby/glassspinner.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<element type="spinner" state="focused" image="ruby/glassspinner_focus.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<element type="spinner" state="deactivated" image="ruby/glassspinner_deactivated.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<element type="spinner1" state="neutral" image="ruby/glass_square1.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
<element type="spinner2" state="neutral" image="ruby/glass_square2.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
<element type="spinner3" state="neutral" image="ruby/glass_square3.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
<element type="spinner4" state="neutral" image="ruby/glass_square4.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
|
||||
on top of the spinner's background -->
|
||||
<element type="spinner" state="down" image="ruby/glassspinner_down.png"
|
||||
left_border="110" right_border="110" top_border="0" bottom_border="36"
|
||||
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
|
||||
|
||||
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
|
||||
<element type="checkbox" state="neutral+unchecked" image="ruby/glasscheckbox.png"/>
|
||||
<element type="checkbox" state="neutral+checked" image="ruby/glasscheckbox_checked.png"/>
|
||||
<element type="checkbox" state="focused+unchecked" image="ruby/glasscheckbox_focus.png"/>
|
||||
<element type="checkbox" state="focused+checked" image="ruby/glasscheckbox_checked_focus.png"/>
|
||||
<element type="checkbox" state="deactivated+unchecked" image="ruby/glasscheckbox_deactivated.png"/>
|
||||
<element type="checkbox" state="deactivated+checked" image="ruby/glasscheckbox_checked_deactivated.png"/>
|
||||
|
||||
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
|
||||
Note: the body of a guage is the same as for for spinners. -->
|
||||
<element type="gaugefill" image="ruby/glasssgauge_fill.png" />
|
||||
|
||||
<!-- Lists are always in neutral state for now -->
|
||||
<element type="list" image="ruby/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="7" bottom_border="7"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<element type="listitem" state="focused" image="ruby/select.png"
|
||||
left_border="0" right_border="0" top_border="0" bottom_border="0"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<!-- Scrollbars. Background and thumb have no state (always neutral state).
|
||||
The buttons are the top and bottom arrows. Image must be top arrow, will
|
||||
be mirrorred for bottom. Buttons can be in neutral or down state.
|
||||
Advanced stretching is not used here.
|
||||
-->
|
||||
<element type="scrollbar_background" image="ruby/scrollbar_bg.png" />
|
||||
<element type="scrollbar_thumb" image="ruby/scrollbar_thumb.png" />
|
||||
<element type="scrollbar_button" image="ruby/scrollbar_btn.png" />
|
||||
<element type="scrollbar_button" state="down" image="ruby/scrollbar_btn_down.png" />
|
||||
|
||||
<element type="left_arrow" state="neutral" image="ruby/left_arrow.png" />
|
||||
<element type="right_arrow" state="neutral" image="ruby/right_arrow.png" />
|
||||
<element type="left_arrow" state="focus" image="ruby/left_arrow_focus.png" />
|
||||
<element type="right_arrow" state="focus" image="ruby/right_arrow_focus.png" />
|
||||
|
||||
<element type="list_header" state="neutral" image="ruby/table_header.png" />
|
||||
<element type="list_sort_up" state="neutral" image="ruby/list_sort_up.png" />
|
||||
<element type="list_sort_down" state="neutral" image="ruby/list_sort_down.png" />
|
||||
<element type="list_header" state="down" image="ruby/table_header_down.png" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="section" image="ruby/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="rounded_section" image="ruby/glass_rsection.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="0.0" vborder_out_portion="0.0" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="window" image="ruby/dialog.png"
|
||||
left_border="7" right_border="7" top_border="50" bottom_border="50"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="tooltip" image="ruby/tooltip.png"
|
||||
left_border="10" right_border="10" top_border="10" bottom_border="10"
|
||||
hborder_out_portion="1.0" vborder_out_portion="1.0" />
|
||||
|
||||
<!-- Colors -->
|
||||
<color type="text" state="neutral" r="0" g="0" b="0" />
|
||||
<color type="brighttext" state="neutral" r="255" g="30" b="150" />
|
||||
|
||||
<!-- For highlighted items, e.g. in list -->
|
||||
<color type="text" state="focused" r="255" g="255" b="255" />
|
||||
|
||||
<!-- Color used to fade out background when a dialog is shown -->
|
||||
<color type="dialog_background" state="neutral" a="120" r="0" g="0" b="0" />
|
||||
|
||||
<!-- Text field color -->
|
||||
<color type="text_field" state="background" a="255" r="200" g="200" b="200" />
|
||||
<color type="text_field" state="background_focused" a="255" r="245" g="220" b="235" />
|
||||
<color type="text_field" state="background_deactivated" a="255" r="200" g="200" b="200" />
|
||||
<color type="text_field" state="neutral" a="255" r="138" g="138" b="138" />
|
||||
<color type="text_field" state="focused" a="255" r="240" g="80" b="110" />
|
||||
<color type="text_field" state="deactivated" a="255" r="138" g="138" b="138" />
|
||||
|
||||
<!-- Rating star image -->
|
||||
<element type="rating" state="neutral" image="ruby/rating_star.png" />
|
||||
|
||||
<!-- Font color -->
|
||||
<color type="font" state="top" a="255" r="255" g="30" b="200" />
|
||||
<color type="font" state="bottom" a="255" r="255" g="100" b="100" />
|
||||
<color type="font" state="normal" a="255" r="190" g="115" b="180" />
|
||||
|
||||
</skin>
|
8
data/skins/forest/License.txt
Normal file
@ -0,0 +1,8 @@
|
||||
friend.png, error.png, achievement.png - Licensed under CC-BY-SA 3.0 by Magne Djupvik (notification_backgrounds.xcf),
|
||||
based on cup_gold.png licensed under CC-BY-SA 3+ from Open Game Art (art by onyum.com, comissionned by Bart Kelsey)
|
||||
glass_section.png licensed under CC-BY-SA 3.0 Unported and main_about.png licensed under Creative-Commons BY-SA 3, By yeKcim (Anthony Carré)
|
||||
|
||||
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.
|
||||
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send
|
||||
a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
|
||||
|
BIN
data/skins/forest/achievement.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
data/skins/forest/background.jpg
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
data/skins/forest/bubble.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
data/skins/forest/dialog.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
data/skins/forest/error.png
Executable file
After Width: | Height: | Size: 26 KiB |
BIN
data/skins/forest/friend.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
data/skins/forest/glass_iconhighlight_focus.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
data/skins/forest/glass_rsection.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
data/skins/forest/glass_section.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
data/skins/forest/glass_square1.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
data/skins/forest/glass_square2.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
data/skins/forest/glass_square3.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
data/skins/forest/glass_square4.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
data/skins/forest/glass_square_focused.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
data/skins/forest/glass_square_focused2.png
Normal file
After Width: | Height: | Size: 935 B |
BIN
data/skins/forest/glass_square_focused3.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
data/skins/forest/glass_square_focused4.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/skins/forest/glassbutton.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/glassbutton_deactivated.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
data/skins/forest/glassbutton_focused.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
data/skins/forest/glasscheckbox.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
data/skins/forest/glasscheckbox_checked.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
data/skins/forest/glasscheckbox_checked_deactivated.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
data/skins/forest/glasscheckbox_checked_focus.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
data/skins/forest/glasscheckbox_deactivated.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
data/skins/forest/glasscheckbox_focus.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/glasssgauge_fill.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
data/skins/forest/glassspinner.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
data/skins/forest/glassspinner_deactivated.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
data/skins/forest/glassspinner_down.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
data/skins/forest/glassspinner_focus.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
data/skins/forest/glassspinner_halo.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
data/skins/forest/glasstab.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
data/skins/forest/glasstab_down.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
data/skins/forest/glasstab_focus.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
data/skins/forest/left_arrow.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
data/skins/forest/left_arrow_focus.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/list_sort_down.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
data/skins/forest/list_sort_up.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
data/skins/forest/rating_star.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/right_arrow.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
data/skins/forest/right_arrow_focus.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/scrollbar_bg.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
data/skins/forest/scrollbar_btn.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
data/skins/forest/scrollbar_btn_down.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
data/skins/forest/scrollbar_thumb.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
data/skins/forest/select.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
data/skins/forest/table_header.png
Normal file
After Width: | Height: | Size: 784 B |
BIN
data/skins/forest/table_header_down.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
data/skins/forest/textbubble.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/textbubble2.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
data/skins/forest/tooltip.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
8
data/skins/ruby/License.txt
Normal file
@ -0,0 +1,8 @@
|
||||
friend.png, error.png, achievement.png - Licensed under CC-BY-SA 3.0 by Magne Djupvik (notification_backgrounds.xcf),
|
||||
based on cup_gold.png licensed under CC-BY-SA 3+ from Open Game Art (art by onyum.com, comissionned by Bart Kelsey)
|
||||
glass_section.png licensed under CC-BY-SA 3.0 Unported and main_about.png licensed under Creative-Commons BY-SA 3, By yeKcim (Anthony Carré)
|
||||
|
||||
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.
|
||||
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send
|
||||
a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
|
||||
|
BIN
data/skins/ruby/achievement.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
data/skins/ruby/background.jpg
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
data/skins/ruby/bubble.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
data/skins/ruby/dialog.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
data/skins/ruby/error.png
Executable file
After Width: | Height: | Size: 22 KiB |
BIN
data/skins/ruby/friend.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
data/skins/ruby/glass_iconhighlight_focus.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
data/skins/ruby/glass_rsection.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
data/skins/ruby/glass_section.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
data/skins/ruby/glass_square1.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
data/skins/ruby/glass_square2.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
data/skins/ruby/glass_square3.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
data/skins/ruby/glass_square4.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
data/skins/ruby/glass_square_focused.png
Normal file
After Width: | Height: | Size: 877 B |
BIN
data/skins/ruby/glass_square_focused2.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/skins/ruby/glass_square_focused3.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
data/skins/ruby/glass_square_focused4.png
Normal file
After Width: | Height: | Size: 935 B |
BIN
data/skins/ruby/glassbutton.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
data/skins/ruby/glassbutton_deactivated.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
data/skins/ruby/glassbutton_focused.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
data/skins/ruby/glasscheckbox.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
data/skins/ruby/glasscheckbox_checked.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
data/skins/ruby/glasscheckbox_checked_deactivated.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
data/skins/ruby/glasscheckbox_checked_focus.png
Normal file
After Width: | Height: | Size: 3.3 KiB |