Merge branch 'master' into rewind
54
.gitignore
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
bld*/
|
||||
build*/
|
||||
cmake_build/
|
||||
cmake_build*/
|
||||
dependencies/
|
||||
CMakeFiles/
|
||||
stk-editor/
|
||||
|
||||
.config/
|
||||
supertuxkart-64
|
||||
make*.bat
|
||||
__pycache__
|
||||
|
||||
data/editor
|
||||
data/karts
|
||||
data/library
|
||||
data/models
|
||||
data/music
|
||||
data/sfx
|
||||
data/textures
|
||||
data/tracks
|
||||
data/wip-tracks
|
||||
data/.svn
|
||||
|
||||
# Ignore doxygen output
|
||||
src/html
|
||||
|
||||
*.o
|
||||
*.d
|
||||
*.a
|
||||
*.patch
|
||||
*.diff
|
||||
*.obj
|
||||
*.orig
|
||||
*.rej
|
||||
*.log
|
||||
*.lib
|
||||
*.tlog
|
||||
*.pdb
|
||||
*.dll
|
||||
*.exe
|
||||
*.vcxproj
|
||||
*.vcxproj.filters
|
||||
*.vcxproj.user
|
||||
*~
|
||||
*.swp
|
||||
|
||||
# Ignore QtCreator project file
|
||||
CMakeLists.txt.user
|
||||
|
||||
packets_log.txt
|
||||
history.dat
|
||||
README.dependencies
|
||||
xx
|
58
.travis.yml
Normal file
@ -0,0 +1,58 @@
|
||||
# Travis-CI configuration file for SuperTuxKart
|
||||
#
|
||||
# Configuration manual:
|
||||
# http://docs.travis-ci.com/user/build-configuration/
|
||||
#
|
||||
sudo: false
|
||||
language: cpp
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- BUILD_TYPE="Debug"
|
||||
- BUILD_TYPE="Release"
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- build-essential
|
||||
- libogg-dev
|
||||
- libvorbis-dev
|
||||
- libopenal-dev
|
||||
- libxxf86vm-dev
|
||||
- libcurl4-openssl-dev
|
||||
- libfribidi-dev
|
||||
- libbluetooth-dev
|
||||
- libgl1-mesa-dev
|
||||
- libglu1-mesa-dev
|
||||
- libglew-dev
|
||||
- cmake
|
||||
|
||||
before_script:
|
||||
- export THREADS=$((`nproc` + 1))
|
||||
- echo "THREADS = $THREADS"
|
||||
- free -mt
|
||||
|
||||
script:
|
||||
- mkdir "build"
|
||||
- cd "build"
|
||||
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCHECK_ASSETS=off
|
||||
- make VERBOSE=1 -j $THREADS
|
||||
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- "irc.freenode.org#supertuxkart"
|
||||
skip_join: false
|
||||
use_notice: true
|
||||
template:
|
||||
#- "[%{commit}: %{author}] %{message}"
|
||||
#- "%{build_url}"
|
||||
- "[%{repository}#%{branch} @%{commit}] %{author}): %{message}"
|
||||
- "Diff: %{compare_url}"
|
||||
- "Build: %{build_url}"
|
@ -1,5 +1,51 @@
|
||||
SuperTuxkart 0.8
|
||||
~~~~~~~~~~~~~~~
|
||||
## SupertTuxKart 0.9.1
|
||||
* Many bug fixes
|
||||
* Started to use scripting in tracks
|
||||
* Significant audio performance improvements
|
||||
* Smaller tweaks and improvements to several tracks including
|
||||
** Math class
|
||||
** XR591
|
||||
** Fort Magma
|
||||
** Gran Paradiso
|
||||
** Subsea
|
||||
* Tweak to challenges
|
||||
* Better support for driving tracks in reverse
|
||||
|
||||
## SupertTuxKart 0.9 (April 2015)
|
||||
* Fully shader-based rendering engine
|
||||
* New tracks Cocoa Temple and Gran Paradiso
|
||||
* Graphical improvements to many other tracks
|
||||
* New karts amanda and gavroche
|
||||
* New and improved tux, adiumy, sara the wizard and the racer, xue kart
|
||||
* Online login which allows to:
|
||||
** connect with friends and see when they are playing
|
||||
** vote for addons
|
||||
** collect online achievements
|
||||
* Grand Prix editor, including creation of random GPs
|
||||
* Different kart physics
|
||||
|
||||
|
||||
## SuperTuxKart 0.8.1 (26. November 2013)
|
||||
* New track STK Enterprise
|
||||
* Updated track The old mines
|
||||
* Updated Lighthouse track
|
||||
* Updated Zen Garden track
|
||||
* New Soccer mode
|
||||
* New Egg Hunt mode
|
||||
* New karts Xue and Sara
|
||||
* Updated Beastie kart
|
||||
* Added Tutorial
|
||||
* Added new Supertux difficulty
|
||||
* New bubblegum shield weapon
|
||||
* New Speedometer and nitro meter
|
||||
* Add ability to filter addons
|
||||
* Updated nitro models
|
||||
* Add ability to save and resume Grand Prix
|
||||
* Improve skid marks and nitro effects
|
||||
* Wiimote support
|
||||
|
||||
|
||||
## SuperTuxKart 0.8 (11. December 2012)
|
||||
* Story mode and new challenge set
|
||||
* Improved AI
|
||||
* Skidding and better collision physics
|
||||
@ -14,8 +60,7 @@ SuperTuxkart 0.8
|
||||
* New music
|
||||
|
||||
|
||||
SuperTuxKart 0.7.3
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.7.3 (2. November 2011)
|
||||
* New Zen Garden and Subsea tracks
|
||||
* New Island battle arena
|
||||
* New Suzanne kart
|
||||
@ -31,8 +76,7 @@ SuperTuxKart 0.7.3
|
||||
* Better placement of rescued karts
|
||||
* Transition track-making to blender 2.5/2.6
|
||||
|
||||
SuperTuxKart 0.7.2
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.7.2 (15. July 2011)
|
||||
* Added in-game addon manager
|
||||
* Fixed major memory leaks
|
||||
* New Snow Peak track by Samuncle
|
||||
@ -42,13 +86,11 @@ SuperTuxKart 0.7.2
|
||||
* Improve gamepad configuration under Windows (add ability to tell gamepads apart)
|
||||
* Various other tweaks done and glitches fixed
|
||||
|
||||
SuperTuxkart 0.7.1b
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.7.1b (21. April 2011)
|
||||
* Fix circular dependency in challenges
|
||||
* Updated translations
|
||||
|
||||
SuperTuxKart 0.7.1
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.7.1 (15. April 2011)
|
||||
* Particle (smoke, splash, fire) and weather effects
|
||||
* New Fort Magma by Samuncle, new Shiny Suburbs track by Horace
|
||||
* New Beagle kart by wolterh
|
||||
@ -67,9 +109,9 @@ SuperTuxKart 0.7.1
|
||||
* Full RTL (right to left) support
|
||||
* Various other tweaks done and glitches fixed
|
||||
|
||||
SuperTuxKart 0.7 (December 2010)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.7 (December 2010)
|
||||
Too many to list them all. Main points:
|
||||
|
||||
* Irrlicht:
|
||||
- Ported from plib to irrlicht
|
||||
- Added animations to karts and some tracks
|
||||
@ -81,48 +123,34 @@ Too many to list them all. Main points:
|
||||
* New art:
|
||||
- New tracks farm, hacienda, scotland, secret garden
|
||||
|
||||
SuperTuxKart 0.6.2a (October 2009)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.6.2a (October 2009)
|
||||
* Bugfix: STK would crash while trying to save the config file
|
||||
on Windows Vista.
|
||||
|
||||
SuperTuxKart 0.6.2 (July 2009)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.6.2 (July 2009)
|
||||
* Bugfix: Game could crash in rare circumstances.
|
||||
* Bugfix: Restarting a GP (with the in-race menu ESC) would
|
||||
not subtract already allocated points.
|
||||
* Bugfix: Restarting a GP (with the in-race menu ESC) would not subtract already allocated points.
|
||||
* Bugfix: A race could be finished with an invalid shortcut.
|
||||
* Bugfix: Playing a challenge after a splitscreen game would
|
||||
play the challenge in split screen.
|
||||
* Bugfix: Playing a challenge after a splitscreen game would play the challenge in split screen.
|
||||
* Bugfix: Items explode over void.
|
||||
* Bugfix: Grass in castle arena slowed down the kart.
|
||||
* Bugfix: GP result showed kart identifier instead of name.
|
||||
* Improvement: there is now 1 1 sec. wait period for the race
|
||||
result screen, avoiding the problem that someone
|
||||
presses space/enter at the end of a race, immediately
|
||||
quitting the menu before it can be read.
|
||||
* Improvement: there is now 1 1 sec. wait period for the race result screen, avoiding the problem that someone presses space/enter at the end of a race, immediately quitting the menu before it can be read.
|
||||
|
||||
SuperTuxKart 0.6.1a (February 2009)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.6.1a (February 2009)
|
||||
* Bugfix: battle mode would not display track groups.
|
||||
|
||||
SuperTuxKart 0.6.1 (February 2009)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Added new kart ("Puffy"), new battle map ("Cave"), and new music
|
||||
for Snow Mountain.
|
||||
* Fixed bug in track selection screen that could cause a crash
|
||||
when track groups were used.
|
||||
* Fixed crash in character selection that could happen if an
|
||||
old user config file existed.
|
||||
## SuperTuxKart 0.6.1 (February 2009)
|
||||
* Added new kart ("Puffy"), new battle map ("Cave"), and new music for Snow Mountain.
|
||||
* Fixed bug in track selection screen that could cause a crash when track groups were used.
|
||||
* Fixed crash in character selection that could happen if an old user config file existed.
|
||||
* Fixed incorrect rescues in Fort Magma.
|
||||
* Improved track selection screen to not display empty track
|
||||
groups.
|
||||
* Improved track selection screen to not display empty track groups.
|
||||
* A plunger in the face is now removed when restarting.
|
||||
* Added slow-down for karts driving backwards.
|
||||
* Somewhat reduced 'shaking' of AI driven karts.
|
||||
|
||||
SuperTuxKart 0.6 (January 2009)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.6 (January 2009)
|
||||
* New improved physics and kart handling
|
||||
* Added sharp turns and nitro speed boost (replacing wheelies and jump)
|
||||
* Totally rewrote powerups (plunger, bowling ball, cake, bubblegum) and new look for bananas
|
||||
@ -145,10 +173,8 @@ SuperTuxKart 0.6 (January 2009)
|
||||
- Fixed 'joystick locks' (kart would turn even if the joystick is in neutral),
|
||||
thanks to Samjam for the patch.
|
||||
|
||||
SuperTuxKart 0.5 (May 2008)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Six new tracks and one improved track: Fort Magma, SnowTux Peak, Amazonian Journey, City,
|
||||
Canyon, Crescent Crossing and StarTrack
|
||||
## SuperTuxKart 0.5 (May 2008)
|
||||
* Six new tracks and one improved track: Fort Magma, SnowTux Peak, Amazonian Journey, City, Canyon, Crescent Crossing and StarTrack
|
||||
* Complete Challenges to unlock game modes, new tracks and a skidding preview
|
||||
* New Follow the Leader game mode
|
||||
* New Grand Prix
|
||||
@ -157,12 +183,11 @@ SuperTuxKart 0.5 (May 2008)
|
||||
* German, French, Dutch, Spanish, Italian and Swedish translations
|
||||
* Additional music
|
||||
* Many Bugfixes including:
|
||||
a memory leak fix (Charlie Head)
|
||||
an AI crash fix (Chris Morris)
|
||||
- a memory leak fix (Charlie Head)
|
||||
- an AI crash fix (Chris Morris)
|
||||
|
||||
|
||||
SuperTuxKart 0.4 (February 2008)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.4 (February 2008)
|
||||
* New physics handling using the bullet physics engine
|
||||
* New kart: wilber
|
||||
* Improved 'Shifting Sands' and 'Lighthouse' tracks
|
||||
@ -173,8 +198,7 @@ SuperTuxKart 0.4 (February 2008)
|
||||
* Additional music and main theme
|
||||
|
||||
|
||||
SuperTuxKart 0.3 (May 2007)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
## SuperTuxKart 0.3 (May 2007)
|
||||
* Highscore lists
|
||||
* Shortcut detection
|
||||
* Improved AI
|
||||
@ -204,8 +228,7 @@ SuperTuxKart 0.3 (May 2007)
|
||||
- Fixed keyboard keys unable to work on the first key press bug
|
||||
- And others
|
||||
|
||||
SuperTuxKart 0.2 (22. Sep 2006)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##SuperTuxKart 0.2 (22. Sep 2006)
|
||||
* Significant performance improvement by using display lists
|
||||
* Improved AI
|
||||
* Support for different grand prixs
|
||||
@ -223,83 +246,61 @@ SuperTuxKart 0.2 (22. Sep 2006)
|
||||
* Added help and about screens, added credits to track designer
|
||||
* Items were added to all tracks
|
||||
|
||||
SuperTuxKart 0.1 (04. May 2006) (not officially released)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Significant speedup by using a new HOT and collision algorithm
|
||||
--> all tracks are now playable
|
||||
##SuperTuxKart 0.1 (04. May 2006) (not officially released)
|
||||
* Significant speedup by using a new HOT and collision algorithm --> all tracks are now playable
|
||||
* Removed all SDL dependencies, only plib is needed
|
||||
* Single and multi-window menu can be used
|
||||
* Code structure changes
|
||||
* Some bug fixes and small improvements
|
||||
* Added profile option to support automatic profiling
|
||||
|
||||
SuperTuxKart 0.0.0 (22. Dec 2004)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##SuperTuxKart 0.0.0 (22. Dec 2004)
|
||||
* new tracks
|
||||
* new characters and karts
|
||||
* new user-interface
|
||||
* some additional effects (skid-marks, smoke)
|
||||
|
||||
TuxKart v0.4.0 (March 19th 2004)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.4.0 (March 19th 2004)
|
||||
* Changes for compatibility with PLIB 1.8.0 and later.
|
||||
* Removed some features that were only there to support
|
||||
truly ancient graphics cards like 3Dfx Voodoo-1/2.
|
||||
|
||||
TuxKart v0.3.0 (??)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.3.0 (??)
|
||||
* Converted to use the new PLIB/PW library and thus
|
||||
avoid the need to link to GLUT.
|
||||
|
||||
TuxKart v0.2.0 (Sept 3rd 2002)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.2.0 (Sept 3rd 2002)
|
||||
* Changes for compatibility with PLIB 1.6.0 and later.
|
||||
|
||||
TuxKart v0.0.5 (??)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.0.5 (??)
|
||||
* Changes for compatibility with PLIB 1.4.0 and later.
|
||||
|
||||
TuxKart v0.0.4 (??)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.0.4 (??)
|
||||
* Changes to suit rassin-frassin-Windoze-junk.
|
||||
|
||||
* Steady-cam camera - courtesy of cowtan@ysbl.york.ac.uk
|
||||
|
||||
* Changes for compatibility with PLIB 1.3.1 and later.
|
||||
|
||||
* Added new music courtesy of Matt Thomas.
|
||||
|
||||
TuxKart v0.0.3 (July 4th 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.0.3 (July 4th 2000)
|
||||
* Fixed bug in Keyboard driver when no
|
||||
joystick driver is installed.
|
||||
|
||||
* More CygWin fixes.
|
||||
|
||||
* Started new feature to allow you to be
|
||||
rescued from lava, etc.
|
||||
|
||||
TuxKart v0.0.2 (July 2nd 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.0.2 (July 2nd 2000)
|
||||
* Added ability to add new tracks without
|
||||
recompiling.
|
||||
|
||||
* Can now drive using keyboard only - no joystick
|
||||
required.
|
||||
|
||||
* Should compile and run under Windoze using CygWin.
|
||||
|
||||
TuxKart v0.0.1 (July 1st 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.0.1 (July 1st 2000)
|
||||
* Fixed a couple of files missing in initial
|
||||
Distro.
|
||||
|
||||
TuxKart v0.0.0 (June 29th 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart v0.0.0 (June 29th 2000)
|
||||
* First CVS release.
|
||||
|
||||
TuxKart (unnumbered) (April 13th 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
##TuxKart (unnumbered) (April 13th 2000)
|
||||
* First hack.
|
||||
|
||||
# EOF #
|
329
CMakeLists.txt
@ -1,9 +1,13 @@
|
||||
# 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.1)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
|
||||
cmake_minimum_required(VERSION 2.8.4)
|
||||
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
|
||||
cmake_policy(SET CMP0043 OLD)
|
||||
endif()
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
|
||||
|
||||
include(BuildTypeSTKRelease)
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
@ -11,12 +15,14 @@ if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "STKRelease")
|
||||
endif()
|
||||
|
||||
option(USE_WIIUSE "Support for wiimote input devices" OFF)
|
||||
option(USE_FRIBIDI "Support for right-to-left languages" ON)
|
||||
option(USE_CPP2011 "Activate C++ 2011 mode (GCC only)" OFF)
|
||||
if(MSVC)
|
||||
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)
|
||||
option(ENABLE_NETWORK_MULTIPLAYER "Enable network multiplayer. This will replace the online profile GUI in the main menu with the network multiplayer GUI" OFF)
|
||||
|
||||
if(MSVC AND (MSVC_VERSION LESS 1900))
|
||||
# Normally hide the option to build wiiuse on VS, since it depends
|
||||
# on the installation of the Windows DDK (Driver Developer Kit),
|
||||
# on the installation of the Windows DDK (Driver Developer Kit),
|
||||
# which also needs an absolute path :(
|
||||
option(WIIUSE_BUILD "Build wiiuse lib (only for developers)" OFF)
|
||||
mark_as_advanced(WIIUSE_BUILD)
|
||||
@ -24,6 +30,17 @@ else()
|
||||
set(WIIUSE_BUILD ON)
|
||||
endif()
|
||||
|
||||
if(MINGW OR CYGWIN)
|
||||
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)
|
||||
option(USE_XRANDR "Use xrandr instead of vidmode" ON)
|
||||
option(USE_ASAN "Build with Leak/Address sanitizer" OFF)
|
||||
endif()
|
||||
|
||||
set(STK_SOURCE_DIR "src")
|
||||
set(STK_DATA_DIR "${PROJECT_SOURCE_DIR}/data")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
|
||||
@ -34,6 +51,14 @@ set(STK_INSTALL_BINARY_DIR "bin" CACHE
|
||||
set(STK_INSTALL_DATA_DIR "share/supertuxkart" CACHE
|
||||
STRING "Install data folder to this directory, absolute or relative to CMAKE_INSTALL_PREFIX")
|
||||
|
||||
# These variables enable MSVC to find libraries located in "dependencies"
|
||||
if(WIN32)
|
||||
set(ENV{PATH} "$ENV{PATH};${PROJECT_SOURCE_DIR}/dependencies/include")
|
||||
set(ENV{LIB} ${PROJECT_SOURCE_DIR}/dependencies/lib)
|
||||
set(ENV{OPENALDIR} ${PROJECT_SOURCE_DIR}/dependencies)
|
||||
add_definitions(-D_IRR_STATIC_LIB_)
|
||||
endif()
|
||||
|
||||
# Build the Bullet physics library
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
|
||||
@ -42,6 +67,37 @@ include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
|
||||
|
||||
# Build glew library
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
|
||||
|
||||
if((WIN32 AND NOT MINGW) OR APPLE)
|
||||
if (NOT APPLE)
|
||||
# Build zlib library
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/zlib")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/zlib")
|
||||
|
||||
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/zlib" "${PROJECT_BINARY_DIR}/lib/zlib/")
|
||||
set(ZLIB_LIBRARY zlibstatic)
|
||||
endif()
|
||||
|
||||
# Build png library
|
||||
set (SKIP_INSTALL_ALL TRUE)
|
||||
set (PNG_STATIC TRUE)
|
||||
set (PNG_TESTS FALSE)
|
||||
set (PNG_SHARED FALSE)
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libpng")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/libpng")
|
||||
|
||||
#build jpeg library
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/jpeglib")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/jpeglib")
|
||||
|
||||
set(PNG_PNG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/libpng/")
|
||||
set(PNG_LIBRARY png15_static)
|
||||
set(JPEG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/jpeglib/")
|
||||
set(JPEG_LIBRARY jpeglib)
|
||||
endif()
|
||||
# Build the irrlicht library
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/irrlicht")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/irrlicht/include")
|
||||
@ -57,21 +113,31 @@ if(USE_WIIUSE)
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/wiiuse")
|
||||
endif()
|
||||
|
||||
|
||||
# Set include paths
|
||||
include_directories(${STK_SOURCE_DIR})
|
||||
|
||||
# These variables enable MSVC to find libraries located in "dependencies"
|
||||
if(MSVC)
|
||||
set(ENV{PATH} ${PROJECT_SOURCE_DIR}/dependencies/include)
|
||||
set(ENV{LIB} ${PROJECT_SOURCE_DIR}/dependencies/lib)
|
||||
set(ENV{OPENALDIR} ${PROJECT_SOURCE_DIR}/dependencies)
|
||||
add_definitions(/D_IRR_STATIC_LIB_)
|
||||
if(APPLE)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch x86_64")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch x86_64 -F/Library/Frameworks")
|
||||
elseif(MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") # Enable multi-processor compilation (faster)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch i386")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch i386 -F/Library/Frameworks")
|
||||
|
||||
# Build the angelscript library if not in system
|
||||
if(USE_SYSTEM_ANGELSCRIPT)
|
||||
find_package(Angelscript)
|
||||
if(ANGELSCRIPT_FOUND)
|
||||
include_directories(${Angelscript_INCLUDE_DIRS})
|
||||
else()
|
||||
message(FATAL_ERROR "Angelscript not found. "
|
||||
"Either install angelscript or use built-in version using "
|
||||
"-DUSE_SYSTEM_ANGELSCRIPT=0")
|
||||
endif()
|
||||
else()
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/angelscript/projects/cmake")
|
||||
include_directories("${PROJECT_SOURCE_DIR}/lib/angelscript/include")
|
||||
set(Angelscript_LIBRARIES angelscript)
|
||||
endif()
|
||||
|
||||
# OpenAL
|
||||
@ -99,9 +165,14 @@ else()
|
||||
include_directories(${OGGVORBIS_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# CURL
|
||||
find_package(CURL REQUIRED)
|
||||
include_directories(${CURL_INCLUDE_DIRS})
|
||||
# Freetype
|
||||
find_package(Freetype)
|
||||
if(FREETYPE_FOUND)
|
||||
include_directories(${FREETYPE_INCLUDE_DIRS})
|
||||
else()
|
||||
message(FATAL_ERROR "Freetype not found. "
|
||||
"Freetype is required to display characters in SuperTuxKart. ")
|
||||
endif()
|
||||
|
||||
# Fribidi
|
||||
if(USE_FRIBIDI)
|
||||
@ -115,8 +186,11 @@ if(USE_FRIBIDI)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_CPP2011)
|
||||
add_definitions("-std=gnu++11")
|
||||
# OpenMP
|
||||
find_package(OpenMP)
|
||||
if (OPENMP_FOUND)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
endif()
|
||||
|
||||
# OpenGL
|
||||
@ -124,17 +198,33 @@ find_package(OpenGL REQUIRED)
|
||||
include_directories(${OPENGL_INCLUDE_DIR})
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
|
||||
mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
|
||||
else()
|
||||
set(IRRLICHT_XF86VM_LIBRARY "")
|
||||
find_package(X11 REQUIRED)
|
||||
include_directories(${X11_INCLUDE_DIR})
|
||||
|
||||
if(USE_XRANDR)
|
||||
find_package(Xrandr REQUIRED)
|
||||
if(NOT XRANDR_FOUND)
|
||||
message(FATAL_ERROR "XRANDR not found.")
|
||||
endif()
|
||||
else()
|
||||
find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
|
||||
mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
# Set some compiler options
|
||||
if(UNIX)
|
||||
add_definitions(-Wall)
|
||||
if(UNIX OR MINGW)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unused-function")
|
||||
endif()
|
||||
|
||||
if(MINGW AND CMAKE_BUILD_TYPE MATCHES Release)
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--subsystem,windows")
|
||||
endif()
|
||||
|
||||
# Netwowk Multiplayer
|
||||
if(ENABLE_NETWORK_MULTIPLAYER)
|
||||
add_definitions(-DENABLE_NETWORK_MULTIPLAYER_SCREEN)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
@ -143,18 +233,34 @@ if(WIN32)
|
||||
|
||||
# And shut up about unsafe stuff
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
|
||||
# Avoid timespec structure redeclaration on Visual Studio 2015
|
||||
if (NOT (MSVC_VERSION LESS 1900))
|
||||
add_definitions(-DHAVE_STRUCT_TIMESPEC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
# VS will automatically add NDEBUG for release mode, but only _DEBUG in debug mode.
|
||||
# Since STK uses DEBUG, this is added for debug compilation only:
|
||||
set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG)
|
||||
else()
|
||||
# All non VS generators used create only a single compile mode, so
|
||||
# compile flags can be simplye be added
|
||||
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
add_definitions(-DDEBUG)
|
||||
else()
|
||||
add_definitions(-DNDEBUG)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TODO: remove this switch
|
||||
add_definitions(-DHAVE_OGGVORBIS)
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
add_definitions(-DDEBUG)
|
||||
else()
|
||||
add_definitions(-DNDEBUG)
|
||||
if(WIN32)
|
||||
configure_file("${STK_SOURCE_DIR}/windows_installer/icon_rc.template" "${PROJECT_BINARY_DIR}/tmp/icon.rc")
|
||||
endif()
|
||||
|
||||
|
||||
# Provides list of source and header files (STK_SOURCES and STK_HEADERS)
|
||||
include(sources.cmake)
|
||||
|
||||
@ -165,7 +271,7 @@ source_group_hierarchy(STK_SOURCES STK_HEADERS)
|
||||
|
||||
if(APPLE)
|
||||
# icon files to copy in the bundle
|
||||
set(OSX_ICON_FILES ${PROJECT_SOURCE_DIR}/src/ide/Xcode/stk.icns)
|
||||
set(OSX_ICON_FILES ${PROJECT_SOURCE_DIR}/data/supertuxkart.icns)
|
||||
set_source_files_properties(${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||
set(STK_SOURCES ${STK_SOURCES} ${OSX_ICON_FILES})
|
||||
|
||||
@ -187,7 +293,7 @@ if(APPLE)
|
||||
|
||||
# configure CMake to use a custom Info.plist
|
||||
set_target_properties(supertuxkart PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/src/ide/Xcode/SuperTuxKart-Info.plist)
|
||||
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/data/SuperTuxKart-Info.plist)
|
||||
|
||||
if(CMAKE_GENERATOR MATCHES "Xcode")
|
||||
add_custom_command(TARGET supertuxkart POST_BUILD
|
||||
@ -197,22 +303,38 @@ if(APPLE)
|
||||
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/bin/supertuxkart.app/Contents/Resources)
|
||||
endif()
|
||||
else()
|
||||
find_library(PTHREAD_LIBRARY NAMES pthread pthreadVC2 PATHS ${PROJECT_SOURCE_DIR}/dependencies/lib)
|
||||
if(MSVC)
|
||||
set(PTHREAD_NAMES pthreadVC2)
|
||||
elseif(MINGW)
|
||||
set(PTHREAD_NAMES "winpthread-1" "libwinpthread-1" "pthreadGC2")
|
||||
endif()
|
||||
find_library(PTHREAD_LIBRARY NAMES pthread ${PTHREAD_NAMES} PATHS ${PROJECT_SOURCE_DIR}/dependencies/lib)
|
||||
mark_as_advanced(PTHREAD_LIBRARY)
|
||||
|
||||
# Set data dir (absolute or relative to CMAKE_INSTALL_PREFIX)
|
||||
get_filename_component(STK_INSTALL_DATA_DIR_ABSOLUTE ${STK_INSTALL_DATA_DIR} ABSOLUTE)
|
||||
if(${STK_INSTALL_DATA_DIR_ABSOLUTE} STREQUAL ${STK_INSTALL_DATA_DIR})
|
||||
add_definitions(-DSUPERTUXKART_DATADIR=\"${STK_INSTALL_DATA_DIR_ABSOLUTE}\")
|
||||
if(NOT STK_INSTALL_DATA_DIR_ABSOLUTE)
|
||||
get_filename_component(STK_INSTALL_DATA_DIR_ABSOLUTE ${STK_INSTALL_DATA_DIR} ABSOLUTE)
|
||||
if(${STK_INSTALL_DATA_DIR_ABSOLUTE} STREQUAL ${STK_INSTALL_DATA_DIR})
|
||||
add_definitions(-DSUPERTUXKART_DATADIR=\"${STK_INSTALL_DATA_DIR_ABSOLUTE}\")
|
||||
else()
|
||||
add_definitions(-DSUPERTUXKART_DATADIR=\"${CMAKE_INSTALL_PREFIX}/${STK_INSTALL_DATA_DIR}\")
|
||||
endif()
|
||||
else()
|
||||
add_definitions(-DSUPERTUXKART_DATADIR=\"${CMAKE_INSTALL_PREFIX}/${STK_INSTALL_DATA_DIR}\")
|
||||
add_definitions(-DSUPERTUXKART_DATADIR=\"${STK_INSTALL_DATA_DIR_ABSOLUTE}\")
|
||||
endif()
|
||||
|
||||
# Build the final executable
|
||||
add_executable(supertuxkart ${STK_SOURCES} ${STK_HEADERS})
|
||||
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS})
|
||||
target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
|
||||
endif()
|
||||
|
||||
# CURL
|
||||
if(WIN32)
|
||||
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/dependencies/lib/libcurldll.a)
|
||||
else()
|
||||
find_package(CURL REQUIRED)
|
||||
include_directories(${CURL_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# Common library dependencies
|
||||
target_link_libraries(supertuxkart
|
||||
@ -220,19 +342,35 @@ target_link_libraries(supertuxkart
|
||||
bulletcollision
|
||||
bulletmath
|
||||
enet
|
||||
glew
|
||||
stkirrlicht
|
||||
${Angelscript_LIBRARIES}
|
||||
${CURL_LIBRARIES}
|
||||
${OGGVORBIS_LIBRARIES}
|
||||
${IRRLICHT_XF86VM_LIBRARY}
|
||||
${OPENAL_LIBRARY}
|
||||
${OPENGL_LIBRARIES})
|
||||
${OPENGL_LIBRARIES}
|
||||
${FREETYPE_LIBRARIES}
|
||||
)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
target_link_libraries(supertuxkart ${X11_LIBRARIES})
|
||||
if(USE_XRANDR)
|
||||
target_link_libraries(supertuxkart ${XRANDR_LIBRARIES})
|
||||
else()
|
||||
target_link_libraries(supertuxkart ${IRRLICHT_XF86VM_LIBRARY})
|
||||
endif()
|
||||
if(USE_ASAN)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
|
||||
target_link_libraries(supertuxkart "-fsanitize=address")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
# In theory it would be cleaner to let CMake detect the right dependencies. In practice, this means that if a OSX user has
|
||||
# unix-style installs of Vorbis/Ogg/OpenAL/etc. they will be picked up over our frameworks. This is blocking when I make releases :
|
||||
# the mac I use to make STK releases does have other installs of vorbis/ogg/etc. which aren't compatible with STK, so letting
|
||||
# CMake pick the library it wants essentially means I can't build.
|
||||
set_target_properties(supertuxkart PROPERTIES LINK_FLAGS "-arch i386 -F/Library/Frameworks -framework OpenAL -framework Ogg -framework Vorbis")
|
||||
set_target_properties(supertuxkart PROPERTIES LINK_FLAGS "-arch x86_64 -F/Library/Frameworks -framework OpenAL -framework Ogg -framework Vorbis")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/Library/Frameworks/OpenAL.framework/Versions/A/Headers")
|
||||
endif()
|
||||
|
||||
@ -247,8 +385,8 @@ if(USE_WIIUSE)
|
||||
if(APPLE)
|
||||
find_library(BLUETOOTH_LIBRARY NAMES IOBluetooth PATHS /Developer/Library/Frameworks/IOBluetooth.framework)
|
||||
target_link_libraries(supertuxkart wiiuse ${BLUETOOTH_LIBRARY})
|
||||
elseif(MSVC)
|
||||
add_definitions("/DWIIUSE_STATIC")
|
||||
elseif(WIN32)
|
||||
add_definitions(-DWIIUSE_STATIC)
|
||||
if(WIIUSE_BUILD)
|
||||
target_link_libraries(supertuxkart wiiuse)
|
||||
else()
|
||||
@ -261,34 +399,77 @@ if(USE_WIIUSE)
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
# Optional tools
|
||||
add_subdirectory(tools/font_tool)
|
||||
|
||||
|
||||
# ==== Make dist target ====
|
||||
if(MSVC)
|
||||
# Don't create a dist target for VS
|
||||
else()
|
||||
add_custom_target(dist
|
||||
COMMAND rm -rf ${CMAKE_BINARY_DIR}/SuperTuxKart-${PROJECT_VERSION} && rm -f ${CMAKE_BINARY_DIR}/SuperTuxKart-${PROJECT_VERSION}.tar.bz2
|
||||
&& echo "Exporting..."
|
||||
&& svn export ${PROJECT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/SuperTuxKart-${PROJECT_VERSION}
|
||||
&& echo "Compressing..."
|
||||
&& cd ${CMAKE_BINARY_DIR}
|
||||
&& tar -cjf ${CMAKE_BINARY_DIR}/SuperTuxKart-${PROJECT_VERSION}.tar.bz2 ./SuperTuxKart-${PROJECT_VERSION}
|
||||
&& echo "Done, cleaning up"
|
||||
&& rm -rf ${CMAKE_BINARY_DIR}/SuperTuxKart-${PROJECT_VERSION}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
if(MSVC OR MINGW)
|
||||
target_link_libraries(supertuxkart iphlpapi.lib)
|
||||
add_custom_command(TARGET supertuxkart POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${PROJECT_SOURCE_DIR}/dependencies/dll"
|
||||
$<TARGET_FILE_DIR:supertuxkart>)
|
||||
add_custom_target(stkshaders SOURCES ${STK_SHADERS})
|
||||
endif()
|
||||
|
||||
if(MINGW)
|
||||
find_library(LIBGCC NAMES "libgcc_s_dw2-1.dll" "libgcc_s_sjlj-1.dll" "libgcc_s_seh-1.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
|
||||
if(LIBGCC)
|
||||
file(COPY ${LIBGCC} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
|
||||
endif()
|
||||
find_library(LIBSTDCPP NAMES "libstdc++-6.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
|
||||
if(LIBSTDCPP)
|
||||
file(COPY ${LIBSTDCPP} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
|
||||
endif()
|
||||
find_library(LIBOPENMP NAMES "libgomp-1.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
|
||||
if(LIBOPENMP)
|
||||
file(COPY ${LIBOPENMP} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
|
||||
endif()
|
||||
find_library(LIBPTHREAD NAMES "winpthread-1.dll" "libwinpthread-1.dll" "pthreadGC2.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
|
||||
if(LIBPTHREAD)
|
||||
file(COPY ${LIBPTHREAD} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# ==== Checking if data folder exists ====
|
||||
if(NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data)
|
||||
message( FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/data folder doesn't exist" )
|
||||
endif()
|
||||
|
||||
# ==== Checking if stk-assets folder exists ====
|
||||
if(CHECK_ASSETS)
|
||||
if((IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/karts) AND
|
||||
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/library) AND
|
||||
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/music) AND
|
||||
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/sfx) AND
|
||||
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/textures) AND
|
||||
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/tracks))
|
||||
message(STATUS "Assets found in data directory")
|
||||
elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../stk-assets)
|
||||
set(STK_ASSETS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../stk-assets/)
|
||||
message(STATUS "Assets found")
|
||||
elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../supertuxkart-assets)
|
||||
set(STK_ASSETS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../supertuxkart-assets/)
|
||||
message(STATUS "Assets found")
|
||||
else()
|
||||
set (CUR_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
get_filename_component(PARENT_DIR ${CUR_DIR} PATH)
|
||||
message( FATAL_ERROR "${PARENT_DIR}/stk-assets folder doesn't exist. "
|
||||
"Please download the stk-assets, or disable this test with -DCHECK_ASSETS=off." )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# ==== Install target ====
|
||||
install(TARGETS supertuxkart RUNTIME DESTINATION ${STK_INSTALL_BINARY_DIR} BUNDLE DESTINATION .)
|
||||
install(DIRECTORY ${STK_DATA_DIR} DESTINATION ${STK_INSTALL_DATA_DIR} PATTERN ".svn" EXCLUDE)
|
||||
install(FILES ${PROJECT_BINARY_DIR}/supertuxkart.desktop DESTINATION share/applications)
|
||||
install(FILES data/supertuxkart_32.xpm data/supertuxkart_64.xpm DESTINATION share/pixmaps)
|
||||
install(DIRECTORY ${STK_DATA_DIR} DESTINATION ${STK_INSTALL_DATA_DIR} PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE)
|
||||
if(STK_ASSETS_DIR AND CHECK_ASSETS)
|
||||
install(DIRECTORY ${STK_ASSETS_DIR} DESTINATION ${STK_INSTALL_DATA_DIR}/data PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE)
|
||||
endif()
|
||||
install(FILES ${STK_DATA_DIR}/supertuxkart.desktop DESTINATION share/applications)
|
||||
install(FILES data/supertuxkart_32.png DESTINATION share/icons/hicolor/32x32/apps RENAME supertuxkart.png)
|
||||
install(FILES data/supertuxkart_128.png DESTINATION share/icons/hicolor/128x128/apps RENAME supertuxkart.png)
|
||||
install(FILES data/supertuxkart_32.png data/supertuxkart_128.png DESTINATION share/pixmaps)
|
||||
install(FILES data/supertuxkart.appdata.xml DESTINATION share/appdata)
|
||||
|
||||
set(PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
configure_file(data/supertuxkart_desktop.template supertuxkart.desktop)
|
||||
add_dependencies(supertuxkart supertuxkart.desktop)
|
||||
if(MINGW)
|
||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION ${STK_INSTALL_BINARY_DIR}
|
||||
FILES_MATCHING PATTERN "*.dll")
|
||||
endif()
|
||||
|
54
INSTALL
@ -1,54 +0,0 @@
|
||||
SUPERTUXKART INSTALLATION INSTRUCTIONS
|
||||
======================================
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
First, make sure that you have the following packages installed:
|
||||
|
||||
* OpenGL (or Mesa 3.0 or later)
|
||||
* OpenAL (recommended: openal-soft-devel)
|
||||
* Ogg (libogg-dev)
|
||||
* Vorbis (libvorbis-dev)
|
||||
* fribidi (fribidi-devel) - optional for right-to-left text
|
||||
|
||||
Unpack the files from the tarball like this:
|
||||
|
||||
tar xzf supertuxkart-*.tar.gz
|
||||
cd supertuxkart-*
|
||||
|
||||
where '*' is the version of SuperTuxkart you downloaded - eg 0.8.0. Then:
|
||||
|
||||
* Build irrlicht (atm, this will be included in cmake soonish)
|
||||
cd lib/irrlicht/source/Irrlicht
|
||||
NDEBUG=1 make
|
||||
|
||||
* Compile SuperTuxKart:
|
||||
mkdir cmake_build
|
||||
cd cmake_build
|
||||
cmake ..
|
||||
make VERBOSE=1 -j2
|
||||
To create a debug version of STK, use:
|
||||
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
|
||||
|
||||
The default install location is /usr/local, i.e. the data files will
|
||||
be written to /usr/local/share/games/supertuxkart, the executable
|
||||
will be copied to /usr/local/bin. To change the default installation
|
||||
location, specify CMAKE_INSTALL_PREFIX when running cmake, e.g.:
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk
|
||||
|
||||
Building STK on OS X
|
||||
--------------------
|
||||
See http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX
|
||||
|
||||
|
||||
Building STK on Windows
|
||||
-----------------------
|
||||
See http://supertuxkart.sourceforge.net/How_to_build_the_Windows_version
|
78
INSTALL.md
Normal file
@ -0,0 +1,78 @@
|
||||
# SuperTuxKart Installation Instructions
|
||||
|
||||
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`
|
||||
|
||||
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
|
||||
|
||||
First, make sure that you have the following packages installed:
|
||||
|
||||
* OpenGL (mesa)
|
||||
* OpenAL (recommended: openal-soft-devel)
|
||||
* Ogg (libogg-dev)
|
||||
* Vorbis (libvorbis-dev)
|
||||
* libcurl (libcurl-devel)
|
||||
* libbluetooth (bluez-devel)
|
||||
* libpng (libpng-devel)
|
||||
* zlib (zlib-devel)
|
||||
* jpeg (libjpeg-turbo-devel)
|
||||
|
||||
Ubuntu command:
|
||||
|
||||
```
|
||||
sudo apt-get install autoconf automake build-essential cmake libogg-dev libvorbis-dev libopenal-dev libxxf86vm-dev \
|
||||
libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev libfribidi-dev libbluetooth-dev libxrandr-dev
|
||||
```
|
||||
|
||||
Unpack the files from the tarball like this:
|
||||
|
||||
```
|
||||
tar xzf supertuxkart-*.tar.gz
|
||||
cd supertuxkart-*
|
||||
```
|
||||
|
||||
where `*` is the version of SuperTuxkart you downloaded - eg `0.8.0`. Then:
|
||||
|
||||
|
||||
Compile SuperTuxKart:
|
||||
|
||||
```
|
||||
mkdir cmake_build
|
||||
cd cmake_build
|
||||
cmake ..
|
||||
make VERBOSE=1 -j2
|
||||
```
|
||||
|
||||
To create a debug version of STK, use:
|
||||
|
||||
```
|
||||
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
|
||||
```
|
||||
|
||||
The default install location is `/usr/local`, i.e. the data files will
|
||||
be written to `/usr/local/share/games/supertuxkart`, the executable
|
||||
will be copied to `/usr/local/bin`. To change the default installation
|
||||
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
|
||||
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
|
||||
|
||||
|
||||
## Building STK on OS X
|
||||
See <http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX>
|
||||
|
||||
|
||||
## Building STK on Windows
|
||||
See <http://supertuxkart.sourceforge.net/How_to_build_the_Windows_version>
|
10
Makefile.am
@ -1,10 +0,0 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS = $(BULLETTREE) $(ENETTREE) src doc data tools
|
||||
|
||||
pkgdatadir=$(datadir)/doc/$(PACKAGE)
|
||||
dist_pkgdata_DATA=AUTHORS ChangeLog COPYING README
|
||||
EXTRA_DIST=autogen.sh m4 CMakeLists.txt
|
||||
|
||||
# NEWS only contains "see changelog"
|
||||
# CHANGES only contains "see NEW"
|
74
README
@ -1,74 +0,0 @@
|
||||
SuperTuxKart
|
||||
============
|
||||
SuperTuxKart is a free kart racing game. It is focusing on fun and
|
||||
not on realistic kart physics. Instruction can be found on the
|
||||
in-game help page.
|
||||
|
||||
The SuperTuxKart homepage can be found at:
|
||||
|
||||
http://supertuxkart.sourceforge.net
|
||||
|
||||
The official SuperTuxKart forum is at. If you need support,
|
||||
this would be the best place to start.
|
||||
|
||||
http://supertuxkart.sourceforge.net/forum
|
||||
|
||||
Hope you enjoy the game.
|
||||
- The SuperTuxKart development team.
|
||||
|
||||
|
||||
HARDWARE REQUIREMENTS
|
||||
=====================
|
||||
* You need a 3D graphics card that supports OpenGL or Mesa.
|
||||
* You should have a CPU that's running at 450MHz or better.
|
||||
* You'll need at least 600 MB of free RAM.
|
||||
* Ideally, you want a joystick with at least 6 buttons.
|
||||
|
||||
|
||||
COMPILING SuperTuxkart
|
||||
======================
|
||||
|
||||
WINDOWS
|
||||
-------
|
||||
A project file for Visual Studio 9 (e.g. the free 2008 express
|
||||
edition) is included in the sources in src/ide/vc9. A separate
|
||||
dependency package is available on SuperTuxKart's sourceforge
|
||||
page, which includes all necessary libraries, header files,
|
||||
and dlls to compile and run the source code.
|
||||
|
||||
While compilation with cygwin is not officially supported,
|
||||
this has been done (check with the forum for details).
|
||||
|
||||
MAC OSX
|
||||
-------
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
Information about the licenses for artwork are contained in
|
||||
data/licenses.
|
||||
|
||||
|
||||
3D COORDINATES
|
||||
==============
|
||||
A reminder for those looking at the code and 3d models:
|
||||
|
||||
STK : X right, Y up, Z forwards
|
||||
Blender: X right, Y forwards, Z up
|
||||
|
||||
The exporters perform the needed transform, so in Blender you just work
|
||||
with XY plane as ground, and things will appear fine in STK (using XZ
|
||||
as ground in the code, obviously).
|
||||
|
||||
|
||||
|
65
README.md
Normal file
@ -0,0 +1,65 @@
|
||||
# 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
|
||||
not on realistic kart physics. Instruction can be found on the
|
||||
in-game help page.
|
||||
|
||||
The SuperTuxKart homepage can be found at: <http://supertuxkart.sourceforge.net>
|
||||
|
||||
The official SuperTuxKart forum is at <http://supertuxkart.sourceforge.net/forum>. If you need support,
|
||||
this would be the best place to start.
|
||||
|
||||
Hope you enjoy the game.
|
||||
|
||||
-- The SuperTuxKart development team.
|
||||
|
||||
|
||||
## 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).
|
||||
* Disk space: 400MB
|
||||
* Ideally, you want a joystick with at least 6 buttons.
|
||||
|
||||
|
||||
## Compiling SuperTuxKart
|
||||
|
||||
### 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).
|
||||
4. Download cmake and install it. Then start cmake-gui and select the STK root directory as 'Where is the source code', and a new directory in the root directory (next to src, data etc) as build directory (for now I assume that this directory is called bld).
|
||||
5. Click on configure. You will be asked to create the directory (yes), then for your VS version. Make sure to select the right version (be aware of the easy to confuse version numbers: VS 2013 = version 12). Click on configure, then generate. This will create the directory 'bld', and a VS solution in that directory.
|
||||
6. In Visual Studio open the project file generated in the 'bld' folder
|
||||
7. Right click on the supertuxkart project in the solution explorer, and select "Set as StartUp Project".
|
||||
8. Select Build->Build Solution (or press F7) to compile.
|
||||
|
||||
Compilation with cygwin is not officially supported, but
|
||||
this has been done (check with the forum for details).
|
||||
|
||||
### Mac OS X
|
||||
The latest information about compilation on Mac are on our wiki:
|
||||
<http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX>
|
||||
|
||||
### UNIX
|
||||
See [`INSTALL.md`](INSTALL.md) for details.
|
||||
|
||||
|
||||
## License
|
||||
This software is released under the GNU General Public License (GPL) which
|
||||
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
|
||||
A reminder for those looking at the code and 3d models:
|
||||
|
||||
STK : X right, Y up, Z forwards
|
||||
|
||||
Blender: X right, Y forwards, Z up
|
||||
|
||||
The exporters perform the needed transform, so in Blender you just work
|
||||
with XY plane as ground, and things will appear fine in STK (using XZ
|
||||
as ground in the code, obviously).
|
@ -1,43 +1,33 @@
|
||||
##TODO
|
||||
|
||||
SuperTuxKart is looking for additional man power to make this
|
||||
one of the best free linux games out there :) We need (in
|
||||
no particular order):
|
||||
|
||||
1) Musicians/sound engineers
|
||||
1. Musicians/sound engineers
|
||||
- Create additional background soundtrack
|
||||
- Create sound effects
|
||||
|
||||
2) Artists and track designer
|
||||
2. Artists and track designer
|
||||
- Create additional tracks
|
||||
- Create additional art work for tracks,
|
||||
background images
|
||||
|
||||
3) Developers
|
||||
- See todo list below - it's rather long at the moment :)
|
||||
|
||||
4) Web master
|
||||
3. Developers
|
||||
- Check our bug and enhancement request tracker on
|
||||
https://github.com/supertuxkart/stk-code/issues
|
||||
- Extend the current web page, keep it up to date
|
||||
|
||||
5) Tester
|
||||
4. Tester
|
||||
- For just about everything
|
||||
- Esp. different platforms
|
||||
|
||||
6) Package creators
|
||||
- Create packages for
|
||||
- most common linux Distributors
|
||||
- Windows
|
||||
|
||||
7) Writers
|
||||
- Esp. different platforms and graphics cards
|
||||
5. Writers
|
||||
- Write documentation, ranging from man page, to
|
||||
a description for the web, to a design document, ...
|
||||
|
||||
If you want to help the SuperTuxKart - Project, please
|
||||
contact us on the email list:
|
||||
|
||||
supertuxkart-devel@lists.sourceforge.net
|
||||
contact us on the email list: [supertuxkart-devel@lists.sourceforge.net](mailto:supertuxkart-devel@lists.sourceforge.net)
|
||||
|
||||
Thanks in advance!
|
||||
The SuperTuxKart-Team
|
||||
|
||||
-- The SuperTuxKart-Team
|
||||
|
||||
|
||||
For details, see
|
||||
http://supertuxkart.sourceforge.net/Get_involved
|
||||
For details, see <http://supertuxkart.sourceforge.net/Get_involved>
|
@ -1,8 +0,0 @@
|
||||
AC_DEFUN([MY_EXPAND_DIR], [
|
||||
$1=$2
|
||||
$1=`(
|
||||
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
|
||||
test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
|
||||
eval echo \""[$]$1"\"
|
||||
)`
|
||||
])
|
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
# [Re]generate autoconf files.
|
||||
|
||||
autoreconf --install "$@"
|
33
cmake/FindAngelscript.cmake
Normal file
@ -0,0 +1,33 @@
|
||||
# - Try to find angelscript
|
||||
# Once done this will define
|
||||
#
|
||||
# ANGELSCRIPT_FOUND - system has angelscript
|
||||
# Angelscript_INCLUDE_DIRS - the angelscript include directory
|
||||
# Angelscript_LIBRARIES - the libraries needed to use angelscript
|
||||
#
|
||||
|
||||
FIND_PATH(Angelscript_INCLUDE_DIRS angelscript.h
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(Angelscript_LIBRARY
|
||||
NAMES angelscript angelscript_s
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
PATH_SUFFIXES lib lib64 lib32
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set ANGELSCRIPT_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Angelscript DEFAULT_MSG Angelscript_LIBRARY Angelscript_INCLUDE_DIRS)
|
||||
|
||||
IF (ANGELSCRIPT_FOUND)
|
||||
SET(Angelscript_LIBRARIES ${Angelscript_LIBRARY})
|
||||
ENDIF (ANGELSCRIPT_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(Angelscript_LIBRARY Angelscript_LIBRARIES Angelscript_INCLUDE_DIRS)
|
29
cmake/FindFreetype.cmake
Normal file
@ -0,0 +1,29 @@
|
||||
# - Find Freetype
|
||||
# Find the Freetype includes and libraries
|
||||
#
|
||||
# Following variables are provided:
|
||||
# FREETYPE_FOUND
|
||||
# True if Freetype has been found
|
||||
# FREETYPE_INCLUDE_DIRS
|
||||
# The include directories of Freetype
|
||||
# FREETYPE_LIBRARIES
|
||||
# Freetype library list
|
||||
|
||||
if(WIN32)
|
||||
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
|
||||
set(FREETYPE_FOUND 1)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
elseif(APPLE)
|
||||
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "/Library/Frameworks/FreeType.Framework/Versions/2.4/unix/include")
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype PATHS "/Library/Frameworks/FreeType.Framework/Versions/2.4/")
|
||||
include_directories(/Library/Frameworks/FreeType.Framework/Versions/2.4/unix/include)
|
||||
set(FREETYPE_FOUND 1)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
elseif(UNIX)
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(FREETYPE freetype2)
|
||||
else()
|
||||
set(FREETYPE_FOUND 0)
|
||||
endif()
|
||||
|
18
cmake/FindXrandr.cmake
Normal file
@ -0,0 +1,18 @@
|
||||
find_path(XRANDR_INCLUDE_DIR NAMES X11/extensions/Xrandr.h
|
||||
PATH_SUFFIXES X11/extensions
|
||||
DOC "The XRANDR include directory"
|
||||
)
|
||||
|
||||
find_library(XRANDR_LIBRARY NAMES Xrandr
|
||||
DOC "The XRANDR library"
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XRANDR DEFAULT_MSG XRANDR_LIBRARY XRANDR_INCLUDE_DIR)
|
||||
|
||||
if(XRANDR_FOUND)
|
||||
set( XRANDR_LIBRARIES ${XRANDR_LIBRARY} )
|
||||
set( XRANDR_INCLUDE_DIRS ${XRANDR_INCLUDE_DIR} )
|
||||
endif()
|
||||
|
||||
mark_as_advanced(XRANDR_INCLUDE_DIR XRANDR_LIBRARY)
|
@ -3,13 +3,25 @@
|
||||
# - SRCS list of source files
|
||||
# - HDRS list of header files
|
||||
function(source_group_hierarchy SRCS HDRS)
|
||||
foreach(source_file ${${SRCS}})
|
||||
source_group_file(${source_file} "Source Files\\")
|
||||
endforeach()
|
||||
if(MSVC)
|
||||
# This removes the 'Source Files' folder, which is
|
||||
# not really necessary. Also, put header and source
|
||||
# files into the same folder
|
||||
foreach(source_file ${${SRCS}})
|
||||
source_group_file(${source_file} "")
|
||||
endforeach()
|
||||
foreach(header_file ${${HDRS}})
|
||||
source_group_file(${header_file} "")
|
||||
endforeach()
|
||||
else()
|
||||
foreach(source_file ${${SRCS}})
|
||||
source_group_file(${source_file} "Source Files\\")
|
||||
endforeach()
|
||||
foreach(header_file ${${HDRS}})
|
||||
source_group_file(${header_file} "Source Files\\")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
foreach(header_file ${${HDRS}})
|
||||
source_group_file(${header_file} "Header Files\\")
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Determine source_group depending on file path
|
||||
|
20
cmake/Toolchain-mingw-64bit.cmake
Normal file
@ -0,0 +1,20 @@
|
||||
# Usage:
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw-64bit.cmake
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
|
||||
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
|
||||
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 /usr/lib/gcc/x86_64-w64-mingw32/4.9-posix ${PROJECT_SOURCE_DIR}/dependencies)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
20
cmake/Toolchain-mingw.cmake
Normal file
@ -0,0 +1,20 @@
|
||||
# Usage:
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw.cmake
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc-posix)
|
||||
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++-posix)
|
||||
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 /usr/lib/gcc/i686-w64-mingw32/4.9-posix ${PROJECT_SOURCE_DIR}/dependencies)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
666
config.rpath
@ -1,666 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Output a system dependent set of variables, describing how to set the
|
||||
# run time search path of shared libraries in an executable.
|
||||
#
|
||||
# Copyright 1996-2007 Free Software Foundation, Inc.
|
||||
# Taken from GNU libtool, 2001
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# The first argument passed to this file is the canonical host specification,
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
|
||||
# should be set by the caller.
|
||||
#
|
||||
# The set of defined variables is at the end of this script.
|
||||
|
||||
# Known limitations:
|
||||
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
|
||||
# than 256 bytes, otherwise the compiler driver will dump core. The only
|
||||
# known workaround is to choose shorter directory names for the build
|
||||
# directory and/or the installation directory.
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except MSVC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
shrext=.so
|
||||
|
||||
host="$1"
|
||||
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
||||
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
||||
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
|
||||
# Code taken from libtool.m4's _LT_CC_BASENAME.
|
||||
|
||||
for cc_temp in $CC""; do
|
||||
case $cc_temp in
|
||||
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
|
||||
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
|
||||
\-*) ;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
|
||||
|
||||
wl=
|
||||
if test "$GCC" = yes; then
|
||||
wl='-Wl,'
|
||||
else
|
||||
case "$host_os" in
|
||||
aix*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
darwin*)
|
||||
case $cc_basename in
|
||||
xlc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
mingw* | cygwin* | pw32* | os2*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
linux* | k*bsd*-gnu)
|
||||
case $cc_basename in
|
||||
icc* | ecc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
pgcc | pgf77 | pgf90)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
ccc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
como)
|
||||
wl='-lopt='
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
*Sun\ C*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
rdos*)
|
||||
;;
|
||||
solaris*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sunos4*)
|
||||
wl='-Qoption ld '
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
unicos*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
uts4*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
|
||||
|
||||
hardcode_libdir_flag_spec=
|
||||
hardcode_libdir_separator=
|
||||
hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
|
||||
case "$host_os" in
|
||||
cygwin* | mingw* | pw32*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
if test "$GCC" != yes; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
interix*)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
||||
with_gnu_ld=yes
|
||||
;;
|
||||
openbsd*)
|
||||
with_gnu_ld=no
|
||||
;;
|
||||
esac
|
||||
|
||||
ld_shlibs=yes
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
# Set some defaults for GNU ld with shared library support. These
|
||||
# are reset later if shared libraries are not supported. Putting them
|
||||
# here allows them to be overridden if necessary.
|
||||
# Unlike libtool, we use -rpath here, not --rpath, since the documented
|
||||
# option of GNU ld is called -rpath, not --rpath.
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
case "$host_os" in
|
||||
aix3* | aix4* | aix5*)
|
||||
# On AIX/PPC, the GNU linker is very broken
|
||||
if test "$host_cpu" != ia64; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
|
||||
# that the semantics of dynamic libraries on AmigaOS, at least up
|
||||
# to version 4, is to share data among multiple programs linked
|
||||
# with the same dynamic library. Since this doesn't match the
|
||||
# behavior of shared libraries on other platforms, we cannot use
|
||||
# them.
|
||||
ld_shlibs=no
|
||||
;;
|
||||
beos*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
interix[3-9]*)
|
||||
hardcode_direct=no
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
gnu* | linux* | k*bsd*-gnu)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
netbsd*)
|
||||
;;
|
||||
solaris*)
|
||||
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
|
||||
ld_shlibs=no
|
||||
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
|
||||
case `$LD -v 2>&1` in
|
||||
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test "$ld_shlibs" = no; then
|
||||
hardcode_libdir_flag_spec=
|
||||
fi
|
||||
else
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||
# are no directories specified by -L.
|
||||
hardcode_minus_L=yes
|
||||
if test "$GCC" = yes; then
|
||||
# Neither direct hardcoding nor static linking is supported with a
|
||||
# broken collect2.
|
||||
hardcode_direct=unsupported
|
||||
fi
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
if test "$host_cpu" = ia64; then
|
||||
# On IA64, the linker does run time linking by default, so we don't
|
||||
# have to do anything special.
|
||||
aix_use_runtimelinking=no
|
||||
else
|
||||
aix_use_runtimelinking=no
|
||||
# Test if we are trying to use run time linking or normal
|
||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||
# need to do runtime linking.
|
||||
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
|
||||
for ld_flag in $LDFLAGS; do
|
||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||
aix_use_runtimelinking=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
if test "$GCC" = yes; then
|
||||
case $host_os in aix4.[012]|aix4.[012].*)
|
||||
collect2name=`${CC} -print-prog-name=collect2`
|
||||
if test -f "$collect2name" && \
|
||||
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||
then
|
||||
# We have reworked collect2
|
||||
:
|
||||
else
|
||||
# We have old collect2
|
||||
hardcode_direct=unsupported
|
||||
hardcode_minus_L=yes
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_libdir_separator=
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# Begin _LT_AC_SYS_LIBPATH_AIX.
|
||||
echo 'int main () { return 0; }' > conftest.c
|
||||
${CC} ${LDFLAGS} conftest.c -o conftest
|
||||
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
fi
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath="/usr/lib:/lib"
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
# End _LT_AC_SYS_LIBPATH_AIX.
|
||||
if test "$aix_use_runtimelinking" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
else
|
||||
if test "$host_cpu" = ia64; then
|
||||
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
|
||||
else
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# see comment about different semantics on the GNU ld section
|
||||
ld_shlibs=no
|
||||
;;
|
||||
bsdi[45]*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec=' '
|
||||
libext=lib
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
hardcode_direct=no
|
||||
if test "$GCC" = yes ; then
|
||||
:
|
||||
else
|
||||
case $cc_basename in
|
||||
xlc*)
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
freebsd2*)
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
hpux9*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
hpux10*)
|
||||
if test "$with_gnu_ld" = no; then
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
fi
|
||||
;;
|
||||
hpux11*)
|
||||
if test "$with_gnu_ld" = no; then
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
case $host_cpu in
|
||||
hppa*64*|ia64*)
|
||||
hardcode_direct=no
|
||||
;;
|
||||
*)
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
netbsd*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
newsos6)
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
openbsd*)
|
||||
if test -f /usr/libexec/ld.so; then
|
||||
hardcode_direct=yes
|
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
else
|
||||
case "$host_os" in
|
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
os2*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
osf3*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
osf4* | osf5*)
|
||||
if test "$GCC" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
else
|
||||
# Both cc and cxx compiler support -rpath directly
|
||||
hardcode_libdir_flag_spec='-rpath $libdir'
|
||||
fi
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
solaris*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
sysv4)
|
||||
case $host_vendor in
|
||||
sni)
|
||||
hardcode_direct=yes # is this really true???
|
||||
;;
|
||||
siemens)
|
||||
hardcode_direct=no
|
||||
;;
|
||||
motorola)
|
||||
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sysv4.3*)
|
||||
;;
|
||||
sysv4*MP*)
|
||||
if test -d /usr/nec; then
|
||||
ld_shlibs=yes
|
||||
fi
|
||||
;;
|
||||
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6*)
|
||||
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
|
||||
hardcode_libdir_separator=':'
|
||||
;;
|
||||
uts4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Check dynamic linker characteristics
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
|
||||
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
|
||||
# only about the one the linker finds when passed -lNAME. This is the last
|
||||
# element of library_names_spec in libtool.m4, or possibly two of them if the
|
||||
# linker has special search rules.
|
||||
library_names_spec= # the last element of library_names_spec in libtool.m4
|
||||
libname_spec='lib$name'
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
amigaos*)
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
beos*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
bsdi[45]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.dll.a $libname.lib'
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
shrext=.dylib
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
dgux*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
case "$host_os" in
|
||||
freebsd[123]*)
|
||||
library_names_spec='$libname$shrext$versuffix' ;;
|
||||
*)
|
||||
library_names_spec='$libname$shrext' ;;
|
||||
esac
|
||||
;;
|
||||
gnu*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
case $host_cpu in
|
||||
ia64*)
|
||||
shrext=.so
|
||||
;;
|
||||
hppa*64*)
|
||||
shrext=.sl
|
||||
;;
|
||||
*)
|
||||
shrext=.sl
|
||||
;;
|
||||
esac
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
interix[3-9]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
library_names_spec='$libname$shrext'
|
||||
case "$host_os" in
|
||||
irix5* | nonstopux*)
|
||||
libsuff= shlibsuff=
|
||||
;;
|
||||
*)
|
||||
case $LD in
|
||||
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
|
||||
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
|
||||
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
|
||||
*) libsuff= shlibsuff= ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
linux*oldld* | linux*aout* | linux*coff*)
|
||||
;;
|
||||
linux* | k*bsd*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
knetbsd*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
netbsd*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
newsos6)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
nto-qnx*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
openbsd*)
|
||||
library_names_spec='$libname$shrext$versuffix'
|
||||
;;
|
||||
os2*)
|
||||
libname_spec='$name'
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
rdos*)
|
||||
;;
|
||||
solaris*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sunos4*)
|
||||
library_names_spec='$libname$shrext$versuffix'
|
||||
;;
|
||||
sysv4 | sysv4.3*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
uts4*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
esac
|
||||
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
|
||||
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
|
||||
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||
|
||||
# How to pass a linker flag through the compiler.
|
||||
wl="$escaped_wl"
|
||||
|
||||
# Static library suffix (normally "a").
|
||||
libext="$libext"
|
||||
|
||||
# Shared library suffix (normally "so").
|
||||
shlibext="$shlibext"
|
||||
|
||||
# Format of library name prefix.
|
||||
libname_spec="$escaped_libname_spec"
|
||||
|
||||
# Library names that the linker finds when passed -lNAME.
|
||||
library_names_spec="$escaped_library_names_spec"
|
||||
|
||||
# Flag to hardcode \$libdir into a binary during linking.
|
||||
# This must work even if \$libdir does not exist.
|
||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||
|
||||
# Whether we need a single -rpath flag with a separated argument.
|
||||
hardcode_libdir_separator="$hardcode_libdir_separator"
|
||||
|
||||
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_direct="$hardcode_direct"
|
||||
|
||||
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_minus_L="$hardcode_minus_L"
|
||||
|
||||
EOF
|
461
configure.ac
@ -1,461 +0,0 @@
|
||||
# Process this file with autogen.sh to produce a configure script.
|
||||
|
||||
AC_INIT(supertuxkart,SVN)
|
||||
AC_CONFIG_SRCDIR([src/main.cpp])
|
||||
|
||||
AC_PREREQ(2.61)
|
||||
|
||||
# ================================================
|
||||
# Initialize the automake stuff
|
||||
# set the $host variable based on local machine/os
|
||||
# ================================================
|
||||
AC_CANONICAL_HOST
|
||||
AM_INIT_AUTOMAKE([foreign tar-ustar])
|
||||
|
||||
|
||||
# =====================================================
|
||||
# Set the default CFLAGS/CXXFLAGS
|
||||
# If these were not set, the AC_PROG_CC and AC_PROG_CXX
|
||||
# scripts set them to "-g -O2".
|
||||
# =====================================================
|
||||
CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes"
|
||||
CXXFLAGS="$CXXFLAGS -Wall"
|
||||
|
||||
# ===================
|
||||
# Check for compilers
|
||||
# ===================
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
AC_PROG_CXX
|
||||
|
||||
# This macro defines WORDS_BIGENDIAN if building for a big endian machine.
|
||||
AC_C_BIGENDIAN
|
||||
|
||||
|
||||
AC_LANG(C++)
|
||||
|
||||
|
||||
# ===========================
|
||||
# Check for `configure' flags
|
||||
# ===========================
|
||||
SUMMARY="\nSummary of optional components:\n==============================="
|
||||
|
||||
AC_ARG_ENABLE(debug, [AS_HELP_STRING(--enable-debug,
|
||||
[enable debugging info])])
|
||||
if test x$enable_debug = xyes; then
|
||||
AC_DEFINE([DEBUG], [], [enable debugging cheats and shortcuts])
|
||||
CFLAGS="$CFLAGS -g -pg"
|
||||
CXXFLAGS="$CXXFLAGS -g -pg"
|
||||
SUMMARY="$SUMMARY\nEnabled debugging, please disable for a release!!"
|
||||
else
|
||||
CFLAGS="$CFLAGS -DNDEBUG"
|
||||
CXXFLAGS="$CXXFLAGS -DNDEBUG"
|
||||
SUMMARY="$SUMMARY\nDisabled debugging, asserts have been turned off"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(optimization, [AS_HELP_STRING(--disable-optimization,
|
||||
[disable compiler optimizations])],,
|
||||
enable_optimization=yes)
|
||||
if test x$enable_optimization = xyes; then
|
||||
CFLAGS="$CFLAGS -O2"
|
||||
CXXFLAGS="$CXXFLAGS -O2"
|
||||
else
|
||||
SUMMARY="$SUMMARY\nDisabled compiler optimizations."
|
||||
fi
|
||||
|
||||
# ===================
|
||||
# Checks for programs.
|
||||
# ===================
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_INSTALL
|
||||
|
||||
# ===============================
|
||||
# Check for MS Windows environment
|
||||
# ================================
|
||||
AC_CHECK_HEADER(windows.h)
|
||||
|
||||
# ==================================
|
||||
# check for OpenGL related libraries
|
||||
# ==================================
|
||||
case "${host}" in
|
||||
*darwin*|*macosx*)
|
||||
opengl_LIBS="$LIBS -framework Carbon -framework OpenGL -framework IOKit -framework AGL"
|
||||
;;
|
||||
|
||||
*-*-cygwin* | *-*-mingw32*)
|
||||
# CygWin under Windoze.
|
||||
|
||||
echo Win32 specific hacks...
|
||||
AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
|
||||
AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
|
||||
|
||||
opengl_LIBS="-lopengl32 -luser32 -lgdi32 -lm -lwinmm"
|
||||
joystick_LIBS="$joystick_LIBS -lwinmm"
|
||||
LDFLAGS="$LDFLAGS -mwindows"
|
||||
|
||||
echo "Will link apps with $LIBS"
|
||||
;;
|
||||
|
||||
*)
|
||||
# X-Windows based machines
|
||||
|
||||
save_LIBS=$LIBS
|
||||
AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
|
||||
opengl_LIBS="$LIBS"
|
||||
LIBS=$save_LIBS
|
||||
if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
|
||||
# if GLcore found, then also check for GL
|
||||
AC_SEARCH_LIBS(glXCreateContext, GL)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# ========================================
|
||||
# check for OpenAL libraries
|
||||
# ========================================
|
||||
save_LIBS=$LIBS
|
||||
|
||||
case "${host}" in
|
||||
*darwin*|*macosx*)
|
||||
# search for OpenAL installed in a UNIX way first. This is necessary since OS X 10.4
|
||||
# comes with an OpenAL framework that's too old, so to retain 10.4 support we need to
|
||||
# build OpenAL from source, and can't use Apple's framework.
|
||||
AC_SEARCH_LIBS(alGenBuffers, [openal alut], have_al_lib=yes)
|
||||
|
||||
# We couldn't find OpenAL installed the UNIX way, so fall back to using frameworks
|
||||
if test x$have_al_lib != xyes; then
|
||||
LIBS="-framework OpenAL $LIBS"
|
||||
have_al_lib=yes
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_SEARCH_LIBS(alGenBuffers, [openal alut], have_al_lib=yes)
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x$have_al_lib = xyes; then
|
||||
# Apple has the headers in OpenAL/al.h instead of AL/al.h
|
||||
AC_CHECK_HEADERS([AL/al.h OpenAL/al.h], have_al_hdr=yes)
|
||||
fi
|
||||
|
||||
if test x$have_al_hdr != xyes; then
|
||||
AC_MSG_ERROR([[cannot find useable OpenAL installation. You need to install OpenAL.]])
|
||||
fi
|
||||
|
||||
openal_LIBS="$LIBS"
|
||||
LIBS="$save_LIBS"
|
||||
|
||||
# ====================
|
||||
# check for Ogg Vorbis
|
||||
# ====================
|
||||
|
||||
save_LIBS=$LIBS
|
||||
|
||||
# also check in /usr/local
|
||||
CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
||||
|
||||
# search for the libraries needed to use ogg vorbis
|
||||
AC_SEARCH_LIBS(ov_open, [vorbisfile], have_vorbisfile_lib=yes, have_vorbisfile_lib=no, [-lvorbis])
|
||||
|
||||
if test x$have_vorbisfile_lib = xyes; then
|
||||
# check for the headers needed by ogg vorbis
|
||||
AC_CHECK_HEADER(vorbis/vorbisfile.h, have_vorbisfile_hdr=yes)
|
||||
AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes)
|
||||
fi
|
||||
SUMMARY="$SUMMARY\n"
|
||||
|
||||
if test x$have_vorbisfile_hdr = xyes -a x$have_ogg_hdr = xyes; then
|
||||
AC_DEFINE([HAVE_OGGVORBIS], 1, [Defined when Ogg Vorbis is available])
|
||||
SUMMARY="$SUMMARY\nWe have Ogg Vorbis support."
|
||||
else
|
||||
AC_MSG_ERROR([[cannot find useable Ogg Vorbis installation. You need to install libogg and libvorbis.]])
|
||||
#SUMMARY="$SUMMARY\nNo Ogg Vorbis support - the game will play with sound effects, but without music."
|
||||
#SUMMARY="$SUMMARY\nPlease install ogg vorbis!"
|
||||
fi
|
||||
|
||||
oggvorbis_LIBS="$LIBS"
|
||||
LIBS=$save_LIBS
|
||||
|
||||
# The following are C++ items that need to be tested for with the c++
|
||||
# compiler
|
||||
AC_LANG_PUSH(C++)
|
||||
|
||||
|
||||
# ==================
|
||||
# Check for irrlicht
|
||||
# ==================
|
||||
AC_ARG_WITH(irrlicht, [AS_HELP_STRING(--with-irrlicht=PREFIX,
|
||||
[specify the prefix path to irrlicht])])
|
||||
if test "x$with_irrlicht" != "x" ; then
|
||||
CPPFLAGS="${CPPFLAGS} -I $with_irrlicht/include -I $with_irrlicht/include/irrlicht"
|
||||
AC_CHECK_HEADER(irrlicht.h, have_irrlicht_hdr=yes)
|
||||
if test x$have_irrlicht_hdr != xyes; then
|
||||
AC_MSG_ERROR([Can not find irrlicht in $with_irrlicht.])
|
||||
fi
|
||||
else
|
||||
CPPFLAGS_Save=$CPPFLAGS
|
||||
|
||||
# check in /usr
|
||||
echo " in /usr/ : "
|
||||
|
||||
CPPFLAGS="${CPPFLAGS_Save} -I/usr/include/irrlicht"
|
||||
AC_CHECK_HEADER(irrlicht.h, irrlicht_found_in_usr=yes, irrlicht_found_in_usr=no)
|
||||
|
||||
# if it's not found there, try /usr/local instead
|
||||
if test x$irrlicht_found_in_usr == xyes; then
|
||||
with_irrlicht="/usr"
|
||||
else
|
||||
|
||||
# I'd like to fall back to check /usr/local second, but stupid autotools does not support
|
||||
# checking for a header in 2 directories because it caches results
|
||||
#AC_MSG_ERROR([Can't find irrlicht installation in /usr, use --with-irrlicht...])
|
||||
|
||||
# erase cached result
|
||||
unset ac_cv_header_irrlicht_h
|
||||
|
||||
echo " in /usr/local/ : "
|
||||
CPPFLAGS="${CPPFLAGS_Save} -I/usr/local/include/irrlicht"
|
||||
AC_CHECK_HEADER(irrlicht.h, irrlicht_found_in_usr_local=yes, irrlicht_found_in_usr_local=no)
|
||||
|
||||
if test x$irrlicht_found_in_usr_local == xyes; then
|
||||
with_irrlicht="/usr/local"
|
||||
else
|
||||
AC_MSG_ERROR([Can not find irrlicht installation in standard prefixes, use --with-irrlicht...])
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="${CPPFLAGS_Save} -I ${with_irrlicht}/include/irrlicht"
|
||||
|
||||
fi
|
||||
|
||||
case "${host}" in
|
||||
*-*-linux* )
|
||||
irrlicht_LIBS="-L/$with_irrlicht/lib/Linux -L/$with_irrlicht/lib -lIrrlicht -lX11 -lpthread"
|
||||
;;
|
||||
*darwin*|*macosx*)
|
||||
irrlicht_LIBS="-L/$with_irrlicht/lib/ -lIrrlicht -framework Cocoa"
|
||||
;;
|
||||
*freebsd*)
|
||||
irrlicht_LIBS="-L/$with_irrlicht/lib/ -lIrrlicht -lpthread"
|
||||
esac
|
||||
|
||||
# ---- Check these flags do work by building a small irrLicht sample
|
||||
echo "checking for irrlicht libraries..."
|
||||
save_LIBS=$LIBS
|
||||
LIBS="$LIBS $irrlicht_LIBS $opengl_LIBS"
|
||||
|
||||
irrlicht_sample_built_fine="false"
|
||||
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
# include "irrlicht.h"
|
||||
int main() {
|
||||
irr::createDevice(irr::video::EDT_NULL);
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
irrlicht_sample_built_fine="true",
|
||||
irrlicht_sample_built_fine="false"
|
||||
)
|
||||
|
||||
case "${host}" in
|
||||
*-*-linux* )
|
||||
# If base irrLicht flags failed, try again with Xxf86vm
|
||||
# FIXME: this program when run prints out two lines (version numbers) to stdout
|
||||
if test x$irrlicht_sample_built_fine = xfalse; then
|
||||
LIBS="$LIBS -lXxf86vm"
|
||||
works_with_Xxf86vm="false"
|
||||
AC_TRY_RUN([
|
||||
# include "irrlicht.h"
|
||||
int main() {
|
||||
irr::createDevice(irr::video::EDT_NULL);
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
works_with_Xxf86vm="true",
|
||||
)
|
||||
|
||||
if test x$works_with_Xxf86vm = xtrue; then
|
||||
irrlicht_LIBS="$irrlicht_LIBS -lXxf86vm"
|
||||
irrlicht_sample_built_fine="true"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x$irrlicht_sample_built_fine = xfalse; then
|
||||
AC_MSG_ERROR([Cann not build test irrLicht program. Check config.log to see the errors])
|
||||
fi
|
||||
|
||||
# ---- Check we have the minimum required irrLicht version
|
||||
echo -n "checking irrlicht version is recent enough... "
|
||||
|
||||
irrlicht_min_version_met="false"
|
||||
|
||||
# Note that irrlicht 1.8 potentially needs additional flags (-lXcursor, or
|
||||
# undefine _IRR_LINUX_XCURSOR_ # in IrrCompileConfig.h). Since there might
|
||||
# be other changes, for now I remove support for irrlicht trunk/1.8
|
||||
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
# include "irrlicht.h"
|
||||
int main() {
|
||||
#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR == 7)
|
||||
#error "STK needs irrlicht 1.8* to work properly (which might be only available"
|
||||
#error "as svn trunk atm"
|
||||
#else
|
||||
// ok
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
irrlicht_min_version_met="true",
|
||||
irrlicht_min_version_met="false"
|
||||
)
|
||||
|
||||
if test x$irrlicht_min_version_met = xfalse; then
|
||||
AC_MSG_ERROR([Your irrLicht is too old, please update irrLicht.
|
||||
You need irrlicht 1.8.
|
||||
While irrlicht 1.8 is not released, we recommend using version 3995 from irrlicht SVN trunk.])
|
||||
else
|
||||
echo "yes"
|
||||
fi
|
||||
|
||||
LIBS=$save_LIBS
|
||||
|
||||
# ==================
|
||||
# Check for Fribidi
|
||||
# ==================
|
||||
|
||||
save_LIBS=$LIBS
|
||||
|
||||
# also check in /usr/local
|
||||
CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
||||
|
||||
# search for the libraries needed to use ogg vorbis
|
||||
AC_SEARCH_LIBS(fribidi_log2vis, [fribidi], have_fribidi=yes, have_fribidi=no)
|
||||
|
||||
if test x$have_fribidi = xyes; then
|
||||
AC_CHECK_HEADER(fribidi/fribidi.h, have_fribidi_hdr=yes)
|
||||
fi
|
||||
SUMMARY="$SUMMARY\n"
|
||||
|
||||
if test x$have_fribidi = xyes -a x$have_fribidi_hdr = xyes; then
|
||||
AC_DEFINE([ENABLE_BIDI], 1, [Defined when Fribidi is available])
|
||||
SUMMARY="$SUMMARY\nFribidi (RTL languages support) support enabled."
|
||||
fribidi_LIBS="$LIBS"
|
||||
else
|
||||
SUMMARY="$SUMMARY\nFribidi (RTL languages support) support disabled."
|
||||
fribidi_LIBS=""
|
||||
fi
|
||||
|
||||
LIBS=$save_LIBS
|
||||
|
||||
# Libcurl is needed in all build modes
|
||||
PKG_CHECK_MODULES(LIBCURL, libcurl >= 0.1)
|
||||
|
||||
# ======================================================
|
||||
# Try to supply the SVN revision number for the compiler
|
||||
# ======================================================
|
||||
AC_CHECK_PROGS(have_svnversion,[svnversion],"no")
|
||||
if test x$have_svnversion != xno; then
|
||||
SVNVERSION="`svnversion $srcdir`"
|
||||
AC_DEFINE_UNQUOTED([SVNVERSION],"$SVNVERSION",["SVN revision number"])
|
||||
fi
|
||||
|
||||
# ==============
|
||||
# Bullet physics
|
||||
# ==============
|
||||
AC_DEFINE([BT_NO_PROFILE], [], [Disable bullet internal profiling])
|
||||
BULLETTREE="lib/bullet"
|
||||
bullet_LIBS="-L../lib/bullet/src -lbulletdynamics -lbulletcollision -lbulletmath"
|
||||
|
||||
|
||||
# ====
|
||||
# enet
|
||||
# ====
|
||||
AC_CHECK_FUNC(gethostbyaddr_r, [AC_DEFINE(HAS_GETHOSTBYADDR_R)])
|
||||
AC_CHECK_FUNC(gethostbyname_r, [AC_DEFINE(HAS_GETHOSTBYNAME_R)])
|
||||
AC_CHECK_FUNC(poll, [AC_DEFINE(HAS_POLL)])
|
||||
AC_CHECK_FUNC(fcntl, [AC_DEFINE(HAS_FCNTL)])
|
||||
AC_CHECK_FUNC(inet_pton, [AC_DEFINE(HAS_INET_PTON)])
|
||||
AC_CHECK_FUNC(inet_ntop, [AC_DEFINE(HAS_INET_NTOP)])
|
||||
|
||||
AC_CHECK_MEMBER(struct msghdr.msg_flags, [AC_DEFINE(HAS_MSGHDR_FLAGS)], , [#include <sys/socket.h>])
|
||||
|
||||
AC_CHECK_TYPE(socklen_t, [AC_DEFINE(HAS_SOCKLEN_T)], ,
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
)
|
||||
|
||||
AC_EGREP_HEADER(MSG_MAXIOVLEN, /usr/include/sys/socket.h, AC_DEFINE(ENET_BUFFER_MAXIMUM, [MSG_MAXIOVLEN]))
|
||||
AC_EGREP_HEADER(MSG_MAXIOVLEN, socket.h, AC_DEFINE(ENET_BUFFER_MAXIMUM, [MSG_MAXIOVLEN]))
|
||||
|
||||
case "${host}" in
|
||||
*-*-cygwin* | *-*-mingw32*)
|
||||
enet_LIBS="-Lenet -lenet -lws2_32"
|
||||
;;
|
||||
*)
|
||||
enet_LIBS="-L../lib/enet -lenet"
|
||||
;;
|
||||
esac
|
||||
ENETTREE="lib/enet"
|
||||
|
||||
# ==========================================
|
||||
# Check for a known compiler bug, details in
|
||||
# src/bullet/src/Makefile.am
|
||||
# ==========================================
|
||||
ORIGCXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -fno-elide-constructors"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||
AC_MSG_RESULT(yes); NOELIDE=-fno-elide-constructors,
|
||||
AC_MSG_RESULT(no); NOELIDE="")
|
||||
CXXFLAGS="$ORIGCXXFLAGS"
|
||||
AC_SUBST(NOELIDE)
|
||||
|
||||
# =========================
|
||||
# subst bars in Makefile.am
|
||||
# =========================
|
||||
|
||||
AC_SUBST(irrlicht_LIBS)
|
||||
AC_SUBST(fribidi_LIBS)
|
||||
AC_SUBST(bullet_LIBS)
|
||||
AC_SUBST(enet_LIBS)
|
||||
AC_SUBST(opengl_LIBS)
|
||||
AC_SUBST(openal_LIBS)
|
||||
AC_SUBST(oggvorbis_LIBS)
|
||||
AC_SUBST(BULLETTREE)
|
||||
AC_SUBST(ENETTREE)
|
||||
|
||||
# ================
|
||||
# Create makefiles
|
||||
# ================
|
||||
AC_CONFIG_FILES([ \
|
||||
Makefile \
|
||||
data/Makefile \
|
||||
data/challenges/Makefile \
|
||||
data/fonts/Makefile \
|
||||
data/gfx/Makefile \
|
||||
data/grandprix/Makefile \
|
||||
data/gui/Makefile \
|
||||
data/karts/Makefile \
|
||||
data/models/Makefile \
|
||||
data/music/Makefile \
|
||||
data/po/Makefile \
|
||||
data/shaders/Makefile \
|
||||
data/sfx/Makefile \
|
||||
data/textures/Makefile \
|
||||
data/tracks/Makefile \
|
||||
doc/Makefile \
|
||||
src/Makefile \
|
||||
src/ide/Makefile \
|
||||
lib/bullet/Makefile \
|
||||
lib/bullet/src/Makefile \
|
||||
lib/enet/Makefile \
|
||||
tools/Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
echo -e $SUMMARY
|
BIN
data/CREDITS
Normal file → Executable file
@ -1,25 +0,0 @@
|
||||
# data/
|
||||
|
||||
SUBDIRS = challenges fonts gfx gui karts models music po sfx textures tracks \
|
||||
grandprix shaders
|
||||
|
||||
pkgdatadir = $(datadir)/games/$(PACKAGE)/data
|
||||
|
||||
dist_pkgdata_DATA = \
|
||||
$(shell find $(srcdir) -maxdepth 1 -name "*.challenge") \
|
||||
stk_config.xml powerup.xml items.xml \
|
||||
CREDITS run_me.sh
|
||||
|
||||
desktopdir = $(prefix)/share/applications
|
||||
desktop_DATA = supertuxkart.desktop
|
||||
|
||||
icondir = $(prefix)/share/pixmaps
|
||||
dist_icon_DATA = supertuxkart_32.xpm supertuxkart_64.xpm
|
||||
|
||||
|
||||
# The desktop file needs the absolute path to the binary
|
||||
# since e.g. /usr/games might not be in the standard path
|
||||
EXTRA_DIST = supertuxkart_desktop.template
|
||||
CLEANFILES = supertuxkart.desktop
|
||||
supertuxkart.desktop: Makefile supertuxkart_desktop.template
|
||||
sed 's#@PREFIX@#$(prefix)#' '$(srcdir)/supertuxkart_desktop.template' >supertuxkart.desktop
|
@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>SuperTuxKart</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>stk.icns</string>
|
||||
<string>supertuxkart.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>net.sourceforge.supertuxkart</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@ -17,12 +17,14 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.8</string>
|
||||
<string>0.8.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>SPTK</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.8</string>
|
||||
<string>0.8.1</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.9</string>
|
||||
</dict>
|
||||
</plist>
|
68
data/achievements.xml
Normal file
@ -0,0 +1,68 @@
|
||||
<?xml version="1.0"?>
|
||||
<achievements>
|
||||
<achievement id="1" check-type="all-at-least" reset-type="never"
|
||||
name="Christoffel Columbus" description="Play every official track at least once." >
|
||||
<city goal="1"/>
|
||||
<cocoa_temple goal="1"/>
|
||||
<farm goal="1"/>
|
||||
<fortmagma goal="1"/>
|
||||
<gran_paradiso_island goal="1"/>
|
||||
<greenvalley goal="1"/>
|
||||
<hacienda goal="1"/>
|
||||
<lighthouse goal="1"/>
|
||||
<mansion goal="1"/>
|
||||
<mines goal="1"/>
|
||||
<minigolf goal="1"/>
|
||||
<olivermath goal="1"/>
|
||||
<sandtrack goal="1"/>
|
||||
<scotland goal="1"/>
|
||||
<snowmountain goal="1"/>
|
||||
<snowtuxpeak goal="1"/>
|
||||
<stk_enterprise goal="1"/>
|
||||
<subsea goal="1"/>
|
||||
<xr591 goal="1"/>
|
||||
<zengarden goal="1"/>
|
||||
</achievement>
|
||||
<achievement id="2" check-type="all-at-least" reset-type="never"
|
||||
name="Strike!" description="Hit 10 karts with a bowling-ball.">
|
||||
<ball goal="10"/>
|
||||
</achievement>
|
||||
<achievement id="3" check-type="one-at-least" reset-type="race"
|
||||
name="Arch Enemy" description="Hit the same kart at least 5 times in one race.">
|
||||
<hit goal="5"/>
|
||||
</achievement>
|
||||
<achievement id="4" check-type="all-at-least" reset-type="race"
|
||||
name="Marathoner" description="Make a race with 5 laps or more.">
|
||||
<laps goal="5"/>
|
||||
</achievement>
|
||||
<achievement id="5" check-type="all-at-least" reset-type="lap"
|
||||
name="Skid-row" description="Make 5 skidding in a single lap.">
|
||||
<skidding goal="5"/>
|
||||
</achievement>
|
||||
<achievement id="6" check-type="all-at-least" reset-type="never"
|
||||
name="Gold driver" description="Win against at least 3 opponents in all single player modes.">
|
||||
<standard goal="1"/>
|
||||
<std_timetrial goal="1"/>
|
||||
<follow_leader goal="1"/>
|
||||
<opponents goal="3"/>
|
||||
</achievement>
|
||||
<achievement id="7" check-type="all-at-least" reset-type="race"
|
||||
name="Powerup Love" description="Use 10 or more powerups in a race.">
|
||||
<poweruplover goal="10"/>
|
||||
</achievement>
|
||||
<achievement id="8" check-type="all-at-least" reset-type="never"
|
||||
name="Unstoppable" description="Win 5 single races in a row.">
|
||||
<wins goal="5"/>
|
||||
</achievement>
|
||||
<achievement id="9" check-type="all-at-least" reset-type="race"
|
||||
name="Banana Lover" description="Collect at least 5 bananas in one race.">
|
||||
<banana goal="5"/>
|
||||
</achievement>
|
||||
<achievement id="10" secret="yes" check-type="all-at-least" reset-type="race"
|
||||
name="It's secret" description="Really ... a secret.">
|
||||
</achievement>
|
||||
<achievement id="11" check-type="all-at-least" reset-type="race"
|
||||
name="Mosquito Hunter" description="Take your opponents for mosquitos! With the swatter, squash at least 5 of them in a race.">
|
||||
<swatter goal="5"/>
|
||||
</achievement>
|
||||
</achievements>
|
21
data/addons.supertuxkart.net.pem
Normal file
@ -0,0 +1,21 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDezCCAmOgAwIBAgIJAO+A8uXtEMRsMA0GCSqGSIb3DQEBCwUAMFQxCzAJBgNV
|
||||
BAYTAlVTMQwwCgYDVQQIDANTVEsxFTATBgNVBAoMDFN1cGVyVHV4S2FydDEgMB4G
|
||||
A1UEAwwXYWRkb25zLnN1cGVydHV4a2FydC5uZXQwHhcNMTQxMjEwMTEzMTAwWhcN
|
||||
MjQxMjA3MTEzMTAwWjBUMQswCQYDVQQGEwJVUzEMMAoGA1UECAwDU1RLMRUwEwYD
|
||||
VQQKDAxTdXBlclR1eEthcnQxIDAeBgNVBAMMF2FkZG9ucy5zdXBlcnR1eGthcnQu
|
||||
bmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2ysZE9rb4y0tHOhk
|
||||
wxYpqsvDv5LCRFTAeyfAfyBVDcOn+4A3sX8MkQdoH/QDi823z4bn9ZsGV8T444FN
|
||||
S4yK/aSRv3eAKkkJm5TUxbs3crATVt3JYusMr5W4wHvRVyDe0DlulSdW4EUEklMP
|
||||
iPat/jwlDZRvZueio3wJoOhZXnl8E8EfnuYtlNONIB1nYGdUHD9xeNyKSPr4zTEp
|
||||
brjvSw0l5G88LmQOROQBDbTDknAcIQwsFT1mf9Bt+N9LK14r95GWRmL3ZtfbrJn4
|
||||
ZEfkOjl0Abv6gET4sQOXv0KioUdEJwzFCwKFLZVcuOrscmcHBOhgD3EruVvprIJ0
|
||||
wZ3z1wIDAQABo1AwTjAdBgNVHQ4EFgQUmQwaPsD+ylVUUsUXMAYpUlnVbNwwHwYD
|
||||
VR0jBBgwFoAUmQwaPsD+ylVUUsUXMAYpUlnVbNwwDAYDVR0TBAUwAwEB/zANBgkq
|
||||
hkiG9w0BAQsFAAOCAQEASyl6BMpnZhJlirDL84/RkVeVjBkr7x68UFAblmKjgfGg
|
||||
pRbYPNSld0IrfZ4pcrDAUkg9WJb0Zxuh0oYiV+RjdW/6s5mF/qiSv8V60xb2myRd
|
||||
z90ZGfhB5SAECI5zfIZSmsMjOEjKjuz8S26aEtJe8Vq7GF2P7/889lfNXrbvIkZX
|
||||
HQpx2P+T07zy++6Ca/K2vmWcf1a+GrN+o0nZTYbz/2r/JJwXdWqT1ZmtEA9GNwvZ
|
||||
J8HhgvspgjgVP/EURUUhOaQ8zfhriU5CJAIuhMhzW7oOBPHxxtxme3auAfxi5zpK
|
||||
wRNluCayrrjhy2I8mABRnBqgMwAQUIrgk9IU6SyQxw==
|
||||
-----END CERTIFICATE-----
|
@ -1,5 +0,0 @@
|
||||
# challenges/
|
||||
|
||||
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/challenges
|
||||
|
||||
nobase_dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.challenge")
|
@ -10,7 +10,7 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="190"/>
|
||||
<requirements time="185"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<challenge version="2">
|
||||
<track id="islandtrack" laps="3"/>
|
||||
<track id="gran_paradiso_island" laps="3"/>
|
||||
<mode major="single" minor="quickrace"/>
|
||||
<requirements trophies="95"/>
|
||||
|
||||
@ -10,11 +10,11 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements position="2"/>
|
||||
<requirements position="1"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="3"/>
|
||||
<requirements position="3"/>
|
||||
<requirements position="1"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
<challenge version="2">
|
||||
<track id="jungle" laps="3"/>
|
||||
<track id="cocoa_temple" laps="3"/>
|
||||
<mode major="single" minor="quickrace"/>
|
||||
<requirements trophies="15"/>
|
||||
|
||||
<hard>
|
||||
<karts number="5"/>
|
||||
<requirements position="1" time="155"/>
|
||||
<requirements position="1" time="170"/>
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="170"/>
|
||||
<requirements time="210"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
<requirements time="230"/>
|
||||
<requirements time="300"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
@ -10,11 +10,11 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="125"/>
|
||||
<requirements time="145" position="1"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="3"/>
|
||||
<requirements time="145"/>
|
||||
<requirements time="185"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="145"/>
|
||||
<requirements time="130"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
|
@ -14,6 +14,6 @@
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
<requirements time="215"/>
|
||||
<requirements time="255"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
@ -6,15 +6,15 @@
|
||||
|
||||
<hard>
|
||||
<karts number="5"/>
|
||||
<requirements position="1" time="50"/>
|
||||
<requirements position="1" time="65"/>
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="5"/>
|
||||
<requirements position="1" time="65"/>
|
||||
<requirements position="1" time="85"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="5"/>
|
||||
<requirements position="1" time="80"/>
|
||||
<requirements position="1" time="105"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
||||
|
@ -6,14 +6,14 @@
|
||||
|
||||
<hard>
|
||||
<karts number="1"/>
|
||||
<requirements energy="16" time="167"/>
|
||||
<requirements energy="18" time="167"/>
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="1"/>
|
||||
<requirements energy="12" time="185"/>
|
||||
<requirements energy="15" time="195"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="1"/>
|
||||
<requirements energy="10" time="220"/>
|
||||
<requirements energy="10" time="260"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
@ -10,10 +10,10 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="175"/>
|
||||
<requirements time="185"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
<requirements time="225"/>
|
||||
<requirements time="270"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
@ -10,10 +10,10 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="175"/>
|
||||
<requirements time="187"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
<requirements time="220"/>
|
||||
<requirements time="250"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
@ -10,7 +10,7 @@
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="175"/>
|
||||
<requirements time="170"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<challenge version="2">
|
||||
<track id="startrack" laps="3"/>
|
||||
<track id="stk_enterprise" laps="3"/>
|
||||
<mode major="single" minor="followtheleader"/>
|
||||
<requirements trophies="110"/>
|
||||
|
||||
|
@ -6,14 +6,14 @@
|
||||
|
||||
<hard>
|
||||
<karts number="5"/>
|
||||
<requirements position="1" time="200"/>
|
||||
<requirements position="1" time="205"/>
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="4"/>
|
||||
<requirements time="220"/>
|
||||
<requirements time="258"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="4"/>
|
||||
<requirements time="250"/>
|
||||
<requirements time="330"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
@ -6,15 +6,15 @@
|
||||
|
||||
<hard>
|
||||
<karts number="1"/>
|
||||
<requirements energy="16" time="135"/>
|
||||
<requirements energy="18" time="120"/>
|
||||
</hard>
|
||||
<medium>
|
||||
<karts number="1"/>
|
||||
<requirements energy="14" time="155"/>
|
||||
<requirements energy="15" time="135"/>
|
||||
</medium>
|
||||
<easy>
|
||||
<karts number="1"/>
|
||||
<requirements energy="12" time="170"/>
|
||||
<requirements energy="12" time="180"/>
|
||||
</easy>
|
||||
</challenge>
|
||||
|
||||
|
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 10 KiB |
@ -1,6 +0,0 @@
|
||||
# data/fonts/
|
||||
|
||||
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/fonts
|
||||
|
||||
dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.png") \
|
||||
$(shell find $(srcdir) -name "*.xml")
|
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 174 KiB |
Before Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 4.7 KiB |
@ -1,5 +0,0 @@
|
||||
#data/gfx
|
||||
|
||||
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/gfx
|
||||
dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.xml")
|
||||
|
@ -4,25 +4,27 @@
|
||||
<spreading angle="10" />
|
||||
|
||||
<velocity x="0.0"
|
||||
y="0.002"
|
||||
y="0.003"
|
||||
z="0.0" />
|
||||
|
||||
<material file="smoke_black.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="25"
|
||||
max="50" />
|
||||
<rate min="7"
|
||||
max="12" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="2500"
|
||||
max="5000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.6"
|
||||
max="1.5" />
|
||||
<size min="1.6"
|
||||
max="2.5"
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
<color min="50 50 50"
|
||||
max="100 100 100" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="1000" />
|
||||
|
35
data/gfx/confetti.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="box" randomize-initial-y="true" box_x="100.0" box_y="100" box_z="120.0">
|
||||
|
||||
<spreading angle="3" />
|
||||
|
||||
<velocity x="-0.00"
|
||||
y="-0.005"
|
||||
z="-0.00" />
|
||||
|
||||
<material file="confetti.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="500"
|
||||
max="1000" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="8500"
|
||||
max="9500" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
35
data/gfx/confetti_bleu.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="box" randomize-initial-y="true" box_x="100.0" box_y="100" box_z="120.0">
|
||||
|
||||
<spreading angle="3" />
|
||||
|
||||
<velocity x="-0.00"
|
||||
y="-0.005"
|
||||
z="-0.00" />
|
||||
|
||||
<material file="snowflake.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="500"
|
||||
max="1000" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="8500"
|
||||
max="9500" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
32
data/gfx/droplet.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="2">
|
||||
|
||||
<spreading angle="12" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.005"
|
||||
z="0.000" />
|
||||
|
||||
<material file="particle_water.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="5"
|
||||
max="10" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1000"
|
||||
max="2000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="2.0"
|
||||
max="3.2"
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="3000" />
|
||||
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_blueNebula_a.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="20.5">
|
||||
|
||||
<spreading angle="120" />
|
||||
|
||||
<velocity x="0.002"
|
||||
y="0.000"
|
||||
z="0.000" />
|
||||
|
||||
<material file="stktex_nebulaCloud_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="1"
|
||||
max="2" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="20000"
|
||||
max="30000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="20.5"
|
||||
max="45.0"
|
||||
x-increase-factor="1.6"
|
||||
y-increase-factor="1.6" />
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="5000" />
|
||||
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_bubbleFast_a.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="box" box_x="0.5" box_y="0.5" box_z="0.5">
|
||||
|
||||
<spreading angle="45" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.005"
|
||||
z="0.000" />
|
||||
|
||||
<material file="gfx_bubble_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="8"
|
||||
max="15" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="2000"
|
||||
max="3000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.5"
|
||||
max="0.8"
|
||||
x-increase-factor="1.6"
|
||||
y-increase-factor="1.6" />
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="2000" />
|
||||
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_bubble_a.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="box" box_x="0.5" box_y="0.5" box_z="0.5">
|
||||
|
||||
<spreading angle="45" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.005"
|
||||
z="0.000" />
|
||||
|
||||
<material file="gfx_bubble_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="3"
|
||||
max="6" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="3000"
|
||||
max="6000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="1.1"
|
||||
max="1.5"
|
||||
x-increase-factor="1.6"
|
||||
y-increase-factor="1.6" />
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="5000" />
|
||||
|
||||
|
||||
</particles>
|
35
data/gfx/gfx_fallingLeaf_a.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="box" box_x="10.0" box_y="0.5" box_z="10.0">
|
||||
|
||||
<spreading angle="3" />
|
||||
|
||||
<velocity x="-0.00"
|
||||
y="-0.002"
|
||||
z="-0.00" />
|
||||
|
||||
<material file="gfx_leaf_a.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="2"
|
||||
max="5" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="30000"
|
||||
max="30000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.40"
|
||||
max="0.60" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
33
data/gfx/gfx_fireworkExplosion_a.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="0.5">
|
||||
|
||||
<spreading angle="180" />
|
||||
|
||||
<velocity x="0.003"
|
||||
y="0.0003"
|
||||
z="0.003" />
|
||||
|
||||
<material file="gfx_sparkFire_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="65"
|
||||
max="100" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1700"
|
||||
max="1700" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.7"
|
||||
max="1.1"
|
||||
x-increase-factor="1.3"
|
||||
y-increase-factor="1.3"
|
||||
/>
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 0 0" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="50" />
|
||||
|
||||
</particles>
|
33
data/gfx/gfx_fireworkGreen_a.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="0.5">
|
||||
|
||||
<spreading angle="180" />
|
||||
|
||||
<velocity x="0.03"
|
||||
y="0.003"
|
||||
z="0.03" />
|
||||
|
||||
<material file="gfx_sparkGreen_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="65"
|
||||
max="100" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="2700"
|
||||
max="2700" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.5"
|
||||
max="0.8"
|
||||
x-increase-factor="1.1"
|
||||
y-increase-factor="1.3"
|
||||
/>
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 0 0" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="50" />
|
||||
|
||||
</particles>
|
35
data/gfx/gfx_fireworkSmoke_a.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="sphere" radius="0.1">
|
||||
|
||||
<spreading angle="5" />
|
||||
|
||||
<velocity x="-0.000"
|
||||
y="0.002"
|
||||
z="-0.000" />
|
||||
|
||||
<material file="smoke.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="5"
|
||||
max="10" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="100"
|
||||
max="300" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.2"
|
||||
max="0.5"
|
||||
x-increase-factor="1.6"
|
||||
y-increase-factor="1.6" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
|
||||
</particles>
|
35
data/gfx/gfx_firework_a.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="sphere" radius="0.1">
|
||||
|
||||
<spreading angle="5" />
|
||||
|
||||
<velocity x="-0.000"
|
||||
y="0.002"
|
||||
z="-0.000" />
|
||||
|
||||
<material file="gfx_sparkFire_a.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="20"
|
||||
max="50" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="400"
|
||||
max="500" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.2"
|
||||
max="0.3" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_jetBlastEarth_a.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="2.5">
|
||||
|
||||
<spreading angle="90" />
|
||||
|
||||
<velocity x="0.010"
|
||||
y="0.000"
|
||||
z="0.000" />
|
||||
|
||||
<material file="gfx_earthJetblast_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="6"
|
||||
max="12" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1000"
|
||||
max="2000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="3.5"
|
||||
max="6.0"
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="5000" />
|
||||
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_jetBlastSand_a.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="2.5">
|
||||
|
||||
<spreading angle="90" />
|
||||
|
||||
<velocity x="0.010"
|
||||
y="0.000"
|
||||
z="0.000" />
|
||||
|
||||
<material file="gfx_sandJetblast_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="6"
|
||||
max="12" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1000"
|
||||
max="2000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="3.5"
|
||||
max="6.0"
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="5000" />
|
||||
|
||||
|
||||
</particles>
|
35
data/gfx/gfx_mudPot_a.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="box" box_x="0.01" box_y="0.5" box_z="0.01">
|
||||
|
||||
<spreading angle="30" />
|
||||
|
||||
<velocity x="-0.000"
|
||||
y="0.002"
|
||||
z="-0.000" />
|
||||
|
||||
<material file="gfx_mud_a.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="5"
|
||||
max="8" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="900"
|
||||
max="1000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.3"
|
||||
max="0.5"
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="1000" />
|
||||
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_sandExplosion_a.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="0.5">
|
||||
|
||||
<spreading angle="90" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.003"
|
||||
z="0.000" />
|
||||
|
||||
<material file="gfx_earthJetblast_a.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="900"
|
||||
max="1000" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="300"
|
||||
max="1000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.3"
|
||||
max="0.7"
|
||||
x-increase-factor="1.2"
|
||||
y-increase-factor="1.2" />
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="500" />
|
||||
|
||||
|
||||
</particles>
|
32
data/gfx/gfx_smallWaterFlow.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="sphere" radius="0.1">
|
||||
|
||||
<spreading angle="12" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.000"
|
||||
z="0.005" />
|
||||
|
||||
<material file="particle_water.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="30"
|
||||
max="50" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="500"
|
||||
max="1000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.1"
|
||||
max="0.2"
|
||||
x-increase-factor="1.3"
|
||||
y-increase-factor="1.3" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="3000" />
|
||||
|
||||
|
||||
</particles>
|
37
data/gfx/gfx_sparkBlue_a.xml
Normal file
@ -0,0 +1,37 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="sphere" radius="0.2">
|
||||
|
||||
<spreading angle="10" />
|
||||
|
||||
<velocity x="-0.000"
|
||||
y="0.003"
|
||||
z="-0.000" />
|
||||
|
||||
<material file="gfx_sparkBlue_a.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="20"
|
||||
max="50" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1000"
|
||||
max="1500" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.08"
|
||||
max="0.15"
|
||||
x-increase-factor="1.2"
|
||||
y-increase-factor="1.3" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
35
data/gfx/gfx_sparkFire_a.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="sphere" radius="0.5">
|
||||
|
||||
<spreading angle="5" />
|
||||
|
||||
<velocity x="-0.000"
|
||||
y="0.002"
|
||||
z="-0.000" />
|
||||
|
||||
<material file="gfx_sparkFire_a.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="20"
|
||||
max="50" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1000"
|
||||
max="3000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.2"
|
||||
max="0.3" />
|
||||
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
@ -4,18 +4,18 @@
|
||||
<spreading angle="30" />
|
||||
|
||||
<velocity x="0.0"
|
||||
y="0.001"
|
||||
z="-0.003" />
|
||||
y="0.0"
|
||||
z="-0.006" />
|
||||
|
||||
<material file="smoke_nitro.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="200"
|
||||
max="300" />
|
||||
<rate min="500"
|
||||
max="800" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="400"
|
||||
max="600" />
|
||||
<lifetime min="100"
|
||||
max="150" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.20"
|
||||
@ -25,6 +25,6 @@
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
<fadeout time="75" />
|
||||
|
||||
</particles>
|
||||
|
@ -1,21 +1,21 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="box" box_x="0.05" box_y="0.05" box_z="0.05">
|
||||
<particles emitter="box" box_x="0.05" box_y="0.05" box_z="0.60">
|
||||
|
||||
<spreading angle="2" />
|
||||
|
||||
<velocity x="0.0"
|
||||
y="0.001"
|
||||
z="0.000" />
|
||||
y="0.0"
|
||||
z="-0.003" />
|
||||
|
||||
<material file="nitro-particle.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="100"
|
||||
max="200" />
|
||||
<rate min="600"
|
||||
max="800" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="10"
|
||||
max="20" />
|
||||
<lifetime min="85"
|
||||
max="120" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.1"
|
||||
@ -28,6 +28,6 @@
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="5" />
|
||||
<fadeout time="50" />
|
||||
|
||||
</particles>
|
||||
|
@ -1,39 +1,33 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Particle system to simulate it's raining heavily over an item/kart.
|
||||
It should be applied no matter if kart is flying or on (any) ground,
|
||||
and rotate to always fire up, it just simulates the rain bouncing
|
||||
off the kart and being fired by wheels. It could also be applied to
|
||||
bowling balls, for example.
|
||||
-->
|
||||
<particles emitter="box" box_x="0.5" box_y="1.0" box_z="1.0">
|
||||
|
||||
<spreading angle="10" />
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="box" randomize-initial-y="true">
|
||||
|
||||
<spreading angle="3" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.009"
|
||||
z="0.000" />
|
||||
<velocity x="-0.00"
|
||||
y="-0.03"
|
||||
z="-0.00" />
|
||||
|
||||
<material file="water-splash.png" />
|
||||
<material file="rain.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="50"
|
||||
max="60" />
|
||||
<rate min="100"
|
||||
max="250" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="1000"
|
||||
max="1000" />
|
||||
<lifetime min="10000"
|
||||
max="10000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.35"
|
||||
max="0.70" />
|
||||
|
||||
<size min="1.00"
|
||||
max="1.50" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="750" />
|
||||
<fadeout time="100" />
|
||||
|
||||
|
||||
<gravity strength="-0.01"
|
||||
only-force-time="500" />
|
||||
</particles>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<spreading angle="5" />
|
||||
|
||||
<velocity x="0.0"
|
||||
y="0.001"
|
||||
y="0.0"
|
||||
z="-0.003" />
|
||||
|
||||
<material file="skid-particle1.png" />
|
||||
@ -12,16 +12,16 @@
|
||||
<!-- Amount of particles emitted per second. The minimum rate
|
||||
is used to show that the skidding bonus is now available,
|
||||
the maximum is used when the skid bonus is applied to the kart -->
|
||||
<rate min="900"
|
||||
max="900" />
|
||||
<rate min="1400"
|
||||
max="1500" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="10"
|
||||
max="10" />
|
||||
<lifetime min="15"
|
||||
max="25" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.35"
|
||||
max="0.35" />
|
||||
max="0.45" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
|
@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="box" box_x="0.023" box_y="0.023" box_z="-0.5">
|
||||
|
||||
<spreading angle="5" />
|
||||
<spreading angle="5" />
|
||||
|
||||
<velocity x="0.0"
|
||||
y="0.001"
|
||||
y="0.0"
|
||||
z="-0.003" />
|
||||
|
||||
<material file="skid-particle2.png" />
|
||||
@ -12,16 +12,16 @@
|
||||
<!-- Amount of particles emitted per second. The minimum rate
|
||||
is used to show that the skidding bonus is now available,
|
||||
the maximum is used when the skid bonus is applied to the kart -->
|
||||
<rate min="900"
|
||||
max="900" />
|
||||
<rate min="1400"
|
||||
max="1500" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="10"
|
||||
max="10" />
|
||||
<lifetime min="15"
|
||||
max="25" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.35"
|
||||
max="0.75" />
|
||||
max="0.45" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
|
@ -1,32 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For sky particles, the size of the box is ignored -->
|
||||
<particles emitter="box">
|
||||
<particles emitter="box" randomize-initial-y="true">
|
||||
|
||||
<spreading angle="3" />
|
||||
|
||||
<velocity x="0.0"
|
||||
<velocity x="-0.005"
|
||||
y="-0.01"
|
||||
z="0.0" />
|
||||
z="-0.005" />
|
||||
|
||||
<material file="snowflake.png"/>
|
||||
<material file="snowflake.png" clampu="Y" clampv="Y" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="400"
|
||||
max="500" />
|
||||
<rate min="1000"
|
||||
max="1000" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="9000"
|
||||
max="9000" />
|
||||
<lifetime min="8500"
|
||||
max="9500" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.40"
|
||||
max="0.60" />
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="255 255 255"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<!-- How much time in milliseconds before the particle is fully faded out -->
|
||||
<fadeout time="100" />
|
||||
|
||||
<wind speed="0.16"
|
||||
flips="Y" />
|
||||
|
||||
</particles>
|
||||
|
@ -1,30 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<particles emitter="point">
|
||||
<particles emitter="box" box_x="3.0" box_y="0.5" box_z="3.0">
|
||||
|
||||
<spreading angle="24" />
|
||||
<spreading angle="45" />
|
||||
|
||||
<velocity x="0.000"
|
||||
y="0.005"
|
||||
y="0.001"
|
||||
z="0.000" />
|
||||
|
||||
<material file="waterparticles.png" />
|
||||
|
||||
<!-- Amount of particles emitted per second -->
|
||||
<rate min="10"
|
||||
max="30" />
|
||||
<rate min="1"
|
||||
max="6" />
|
||||
|
||||
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
|
||||
<lifetime min="500"
|
||||
max="1000" />
|
||||
<lifetime min="1000"
|
||||
max="4000" />
|
||||
|
||||
<!-- Size of the particles -->
|
||||
<size min="0.6"
|
||||
max="6.2" />
|
||||
<size min="5.0"
|
||||
max="10.0"
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="255 255 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<fadeout time="300" />
|
||||
<fadeout time="5000" />
|
||||
|
||||
|
||||
</particles>
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
<supertuxkart_grand_prix name="Off the beaten track">
|
||||
|
||||
<track id="jungle" laps="3" reverse="false" />
|
||||
<track id="cocoa_temple" laps="3" reverse="false" />
|
||||
<track id="snowmountain" laps="3" reverse="false" />
|
||||
<track id="hacienda" laps="3" reverse="false" />
|
||||
<track id="zengarden" laps="4" reverse="false" />
|
||||
|
@ -1,11 +1,11 @@
|
||||
|
||||
<supertuxkart_grand_prix name="To the moon and back">
|
||||
|
||||
<track id="islandtrack" laps="3" reverse="false" />
|
||||
<track id="greenvalley" laps="2" reverse="false" />
|
||||
<track id="mansion" laps="3" reverse="false" />
|
||||
<track id="startrack" laps="3" reverse="false" />
|
||||
<track id="city" laps="2" reverse="false" />
|
||||
<track id="gran_paradiso_island" laps="3" reverse="false" />
|
||||
<track id="greenvalley" laps="2" reverse="false" />
|
||||
<track id="mansion" laps="3" reverse="false" />
|
||||
<track id="stk_enterprise" laps="3" reverse="false" />
|
||||
<track id="city" laps="2" reverse="false" />
|
||||
|
||||
</supertuxkart_grand_prix>
|
||||
|
||||
|
@ -1,7 +0,0 @@
|
||||
# data/music
|
||||
|
||||
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/grandprix
|
||||
|
||||
dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.grandprix") \
|
||||
$(shell find $(srcdir) -name "*.challenge") \
|
||||
$(shell find $(srcdir) -name "*.tutorial" )
|
27
data/graphical_restrictions.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0"?>
|
||||
<graphical-restrictions>
|
||||
<card is="Intel(R) HD Graphics 3000" os="windows" disable="UniformBufferObject"/>
|
||||
<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="ComputeShader"/>
|
||||
<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"/>
|
||||
<card contains="NVIDIA" os="linux" version="<343.22" disable="BufferStorage"/>
|
||||
<card contains="NVIDIA" disable="ShaderAtomicCounters"/>
|
||||
<card contains="Mesa" os="linux" version="<10.3" disable="BufferStorage"/>
|
||||
<card contains="Mesa" os="linux" version="<10.3" disable="DriverRecentEnough"/>
|
||||
<card contains="Mesa" os="linux" version="<10.6" disable="GeometryShader4"/>
|
||||
<card contains="Mesa" os="linux" disable="TextureCompressionS3TC"/>
|
||||
<card contains="Gallium" os="linux" version="<10.3" disable="BufferStorage"/>
|
||||
<card contains="Gallium" os="linux" version="<10.3" disable="DriverRecentEnough"/>
|
||||
<card contains="Gallium" os="linux" version="<10.6" disable="GeometryShader4"/>
|
||||
<card contains="Gallium" os="linux" disable="TextureCompressionS3TC"/>
|
||||
<!-- On osx radeon appears to have different version numbers, e.g.
|
||||
1.32.20 -->
|
||||
<card contains="Radeon" os="linux" version="<14.300" disable="DriverRecentEnough"/>
|
||||
<card contains="Radeon" os="windows" version="<14.300" disable="DriverRecentEnough"/>
|
||||
</graphical-restrictions>
|
||||
|
@ -1,12 +0,0 @@
|
||||
# data/gui/
|
||||
|
||||
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/gui
|
||||
|
||||
nobase_dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.png" ) \
|
||||
$(shell find $(srcdir) -name "*.jpg" ) \
|
||||
$(shell find $(srcdir) -name "*.stkgui" ) \
|
||||
$(shell find $(srcdir) -name "*.xml" ) \
|
||||
$(shell find $(srcdir) -name "License.txt") \
|
||||
$(shell find $(srcdir) -name "*.stkskin" )
|
||||
|
||||
EXTRA_DIST = $(nobase_pkgdata_DATA)
|
@ -1,45 +1,42 @@
|
||||
<stkgui>
|
||||
|
||||
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row">
|
||||
|
||||
|
||||
<div x="5%" y="0%" width="90%" proportion="6" layout="horizontal-row" >
|
||||
<div width="40%" height="100%" layout="vertical-row" >
|
||||
<icon id="icon" align="center" proportion="8" width="100%" icon="gui/loading.png"/>
|
||||
<spacer proportion="1" />
|
||||
</div>
|
||||
<spacer proportion="1" />
|
||||
<div width="60%" height="50%" layout="vertical-row" >
|
||||
<label id="name" width="100%" text_align="left"/>
|
||||
<div width="100%" height="100%" layout="horizontal-row" >
|
||||
<div width="50%" height="100%" layout="vertical-row" >
|
||||
<label id="size" width="100%" text=""/>
|
||||
<label id="revision" width="100%" text=""/>
|
||||
</div>
|
||||
<div width="50%" height="32" layout="vertical-row" >
|
||||
<ratingbar id="rating" height="64" width="100%" />
|
||||
</div>
|
||||
</div>
|
||||
<spacer height="10"/>
|
||||
<label id="flags" width="100%" text="" word_wrap="true"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<bubble word_wrap="true" id="description" height="100%" width="90%" proportion="5" align="center" />
|
||||
|
||||
<div width="80%" proportion="5" align="center">
|
||||
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
|
||||
<icon-button id="install" width="128" height="128"
|
||||
icon="gui/package-update.png"
|
||||
I18N="Add-on screen action" text="Install"/>
|
||||
<icon-button id="uninstall" width="128" height="128"
|
||||
icon="gui/package-uninstall.png"
|
||||
I18N="Add-on screen action" text="Uninstall"/>
|
||||
<icon-button id="back" width="128" height="128"
|
||||
icon="gui/back.png"
|
||||
I18N="Add-ons screen action" text="Back"/>
|
||||
</buttonbar>
|
||||
<progressbar id="progress" x="0" y="20%" width="100%" height="30%" />
|
||||
</div>
|
||||
</div>
|
||||
</stkgui>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
<div x="5%" y="5%" width="90%" height="90%" layout="vertical-row">
|
||||
<div x="5%" y="0%" width="90%" proportion="6" layout="horizontal-row">
|
||||
<div width="40%" height="100%" layout="vertical-row">
|
||||
<icon id="icon" align="center" proportion="8" width="100%" icon="gui/loading.png" />
|
||||
<spacer proportion="1" />
|
||||
</div>
|
||||
<spacer proportion="1" />
|
||||
<div width="60%" height="50%" layout="vertical-row">
|
||||
<label id="name" width="100%" text_align="left"/>
|
||||
<div width="100%" height="100%" layout="horizontal-row">
|
||||
<div width="50%" height="100%" layout="vertical-row">
|
||||
<label id="size" width="100%" text="" />
|
||||
<label id="revision" width="100%" text="" />
|
||||
</div>
|
||||
<div width="50%" height="32" layout="vertical-row">
|
||||
<ratingbar id="rating" height="64" width="100%" />
|
||||
</div>
|
||||
</div>
|
||||
<spacer height="10"/>
|
||||
<label id="flags" width="100%" text="" word_wrap="true" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<bubble word_wrap="true" id="description" height="100%" width="90%" proportion="5" align="center" />
|
||||
<div width="80%" proportion="5" align="center">
|
||||
<buttonbar id="actions" x="0" y="0" height="100%" width="100%" align="center">
|
||||
<icon-button id="install" width="128" height="128"
|
||||
icon="gui/package-update.png"
|
||||
I18N="Add-on screen action" text="Install" />
|
||||
<icon-button id="uninstall" width="128" height="128"
|
||||
icon="gui/package-uninstall.png"
|
||||
I18N="Add-on screen action" text="Uninstall" />
|
||||
<icon-button id="back" width="128" height="128"
|
||||
icon="gui/back.png"
|
||||
I18N="Add-on screen action" text="Back" />
|
||||
</buttonbar>
|
||||
<progressbar id="progress" x="0" y="20%" width="100%" height="30%" />
|
||||
</div>
|
||||
</div>
|
||||
</stkgui>
|
||||
|
@ -1,40 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<stkgui>
|
||||
|
||||
<div x="0%" y="0%" width="100%" height="98%" layout="vertical-row" >
|
||||
|
||||
<div x="0" y="0" width="100%" layout="horizontal-row" height="8%">
|
||||
<icon-button id="back" height="100%" icon="gui/back.png"/>
|
||||
<header text_align="center" proportion="1" text="SuperTuxKart Addons" align="center"/>
|
||||
<icon-button id="reload" height="90%" icon="gui/restart.png"/>
|
||||
</div>
|
||||
|
||||
<box id="filter_box" width="97%" height="75" layout="vertical-row" align="center">
|
||||
<div x="0" y="0" width="98%" height="100%" layout="horizontal-row" align="center">
|
||||
<textbox id="filter_name" proportion="9" align="center" />
|
||||
<spacer width="10" />
|
||||
<label text="Updated" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently updated items"/>
|
||||
<spinner id="filter_date" proportion="5" align="center" min_value="0" wrap_around="true"/>
|
||||
<label text="Rating >=" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently items with good rating"/>
|
||||
<spinner id="filter_rating" proportion="3" align="center" min_value="0" wrap_around="true"/>
|
||||
<icon-button id="filter_search" height="100%" icon="gui/search.png"/>
|
||||
<div x="0%" y="0%" width="100%" height="98%" layout="vertical-row" >
|
||||
<div x="0" y="0" width="100%" layout="horizontal-row" height="8%">
|
||||
<icon-button id="back" height="100%" icon="gui/back.png"/>
|
||||
<header text_align="center" proportion="1" text="SuperTuxKart Addons" align="center"/>
|
||||
<icon-button id="reload" height="90%" icon="gui/restart.png"/>
|
||||
</div>
|
||||
</box>
|
||||
|
||||
<spacer height="15" width="10"/>
|
||||
|
||||
<tabs id="category" height="10%" max_height="110" width="90%" align="center">
|
||||
<icon-button id="tab_kart" width="128" height="128" icon="gui/karts.png"
|
||||
I18N="Section in the addons menu" text="Karts"/>
|
||||
<icon-button id="tab_track" width="128" height="128" icon="gui/mode_normal.png"
|
||||
I18N="Section in the addons menu" text="Tracks"/>
|
||||
<icon-button id="tab_arena" width="128" height="128" icon="gui/mode_normal.png"
|
||||
I18N="Section in the addons menu" text="Arenas"/>
|
||||
</tabs>
|
||||
<box id="filter_box" width="97%" height="75" layout="vertical-row" align="center">
|
||||
<div x="0" y="0" width="98%" height="100%" layout="horizontal-row" align="center">
|
||||
<textbox id="filter_name" proportion="7" align="center" />
|
||||
<spacer width="10" />
|
||||
<label text="Updated" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only recently updated items"/>
|
||||
<spinner id="filter_date" proportion="8" align="center" min_value="0" wrap_around="true"/>
|
||||
<label text="Rating >=" align="center" I18N="In addons screen, in the filtering bar, to enable a filter that will show only items with good rating"/>
|
||||
<spinner id="filter_rating" proportion="5" align="center" min_value="0" wrap_around="true"/>
|
||||
<icon-button id="filter_search" height="100%" icon="gui/search.png"/>
|
||||
</div>
|
||||
</box>
|
||||
|
||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||
<list id="list_addons" x="0" y="0" width="100%" height="100%"/>
|
||||
</box>
|
||||
|
||||
</div>
|
||||
<spacer height="15" width="10"/>
|
||||
|
||||
<tabs id="category" height="10%" max_height="110" width="90%" align="center">
|
||||
<icon-button id="tab_kart" width="128" height="128" icon="gui/karts.png"
|
||||
I18N="In the addons screen" text="Karts"/>
|
||||
<icon-button id="tab_track" width="128" height="128" icon="gui/mode_normal.png"
|
||||
I18N="In the addons screen" text="Tracks"/>
|
||||
<icon-button id="tab_arena" width="128" height="128" icon="gui/mode_normal.png"
|
||||
I18N="In the addons screen" text="Arenas"/>
|
||||
</tabs>
|
||||
|
||||
<box proportion="1" width="98%" align="center" layout="vertical-row" padding="6">
|
||||
<list id="list_addons" x="0" y="0" width="100%" height="100%"/>
|
||||
</box>
|
||||
</div>
|
||||
</stkgui>
|
||||
|