Skip to content

Commit

Permalink
Merge branch 'master' into wayland
Browse files Browse the repository at this point in the history
  • Loading branch information
deveee committed Oct 28, 2015
2 parents af68dd9 + d2e6a10 commit c81243f
Show file tree
Hide file tree
Showing 1,076 changed files with 246,034 additions and 188,805 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
bld*/
build*/
cmake_build/
cmake_build*/
dependencies/
CMakeFiles/
stk-editor/

.config/
supertuxkart-64
make*.bat

data/editor
data/karts
Expand All @@ -16,6 +18,7 @@ data/music
data/sfx
data/textures
data/tracks
data/wip-tracks
data/.svn

# Ignore doxygen output
Expand All @@ -41,6 +44,9 @@ src/html
*~
*.swp

# Ignore QtCreator project file
CMakeLists.txt.user

packets_log.txt
history.dat
README.dependencies
Expand Down
58 changes: 42 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,31 @@
##SuperTuxKart 0.8.1
## 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
Expand All @@ -18,8 +45,7 @@
* Wiimote support



##SuperTuxKart 0.8
## SuperTuxKart 0.8 (11. December 2012)
* Story mode and new challenge set
* Improved AI
* Skidding and better collision physics
Expand All @@ -34,7 +60,7 @@
* 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
Expand All @@ -50,7 +76,7 @@
* 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
Expand All @@ -60,11 +86,11 @@
* 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
Expand All @@ -83,7 +109,7 @@
* 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:
Expand All @@ -97,11 +123,11 @@ 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: A race could be finished with an invalid shortcut.
Expand All @@ -111,10 +137,10 @@ Too many to list them all. Main points:
* 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.

##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)
## 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.
Expand All @@ -124,7 +150,7 @@ Too many to list them all. Main points:
* 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
Expand All @@ -147,7 +173,7 @@ Too many to list them all. Main points:
- Fixed 'joystick locks' (kart would turn even if the joystick is in neutral),
thanks to Samjam for the patch.

##SuperTuxKart 0.5 (May 2008)
## 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
Expand All @@ -161,7 +187,7 @@ Too many to list them all. Main points:
- 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
Expand All @@ -172,7 +198,7 @@ Too many to list them all. Main points:
* Additional music and main theme


##SuperTuxKart 0.3 (May 2007)
## SuperTuxKart 0.3 (May 2007)
* Highscore lists
* Shortcut detection
* Improved AI
Expand Down
119 changes: 79 additions & 40 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
project(SuperTuxKart)
set(PROJECT_VERSION "0.8.1")

cmake_minimum_required(VERSION 2.8.1)
cmake_minimum_required(VERSION 2.8.4)
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
cmake_policy(SET CMP0043 OLD)
endif()
Expand All @@ -16,13 +16,13 @@ if (NOT CMAKE_BUILD_TYPE)
endif()

option(USE_WIIUSE "Support for wiimote input devices" ON)
option(USE_FREETYPE "Use Freetype to render text" ON)
option(USE_FRIBIDI "Support for right-to-left languages" ON)
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
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(UNIX OR MINGW)
option(USE_CPP2011 "Activate C++ 2011 mode (GCC only)" OFF)
endif()
if(MSVC OR MINGW)
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),
# which also needs an absolute path :(
Expand All @@ -32,7 +32,7 @@ else()
set(WIIUSE_BUILD ON)
endif()

if(MINGW)
if(MINGW OR CYGWIN)
set(USE_WIIUSE OFF)
endif()

Expand Down Expand Up @@ -124,9 +124,21 @@ elseif(MSVC)
endif()


# Build the angelscript library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/angelscript/projects/cmake")
include_directories("${PROJECT_SOURCE_DIR}/lib/angelscript/include")
# 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
if(APPLE)
Expand All @@ -153,6 +165,17 @@ else()
include_directories(${OGGVORBIS_INCLUDE_DIRS})
endif()

# Freetype
if(USE_FREETYPE)
find_package(Freetype)
if(FREETYPE_FOUND)
include_directories(${FREETYPE_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Freetype not found. "
"Either install freetype or disable freetype rendering support with -DUSE_FREETYPE=0 ")
endif()
endif()

# Fribidi
if(USE_FRIBIDI)
find_package(Fribidi)
Expand All @@ -172,13 +195,6 @@ if (OPENMP_FOUND)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()


if(UNIX OR MINGW)
# if(USE_CPP2011)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
# endif()
endif()

# OpenGL
find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
Expand All @@ -198,18 +214,32 @@ if(UNIX AND NOT APPLE)
endif()
endif()


# Set some compiler options
if(UNIX OR MINGW)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
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)
# By default windows.h has macros defined for min and max that screw up everything
add_definitions(-DNOMINMAX)

# 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)
Expand Down Expand Up @@ -278,7 +308,7 @@ else()
if(MSVC)
set(PTHREAD_NAMES pthreadVC2)
elseif(MINGW)
set(PTHREAD_NAMES "winpthread-1" pthreadGC2)
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)
Expand Down Expand Up @@ -316,11 +346,12 @@ target_link_libraries(supertuxkart
enet
glew
stkirrlicht
angelscript
${Angelscript_LIBRARIES}
${CURL_LIBRARIES}
${OGGVORBIS_LIBRARIES}
${OPENAL_LIBRARY}
${OPENGL_LIBRARIES}
${FREETPYE_LIBRARIES}
)

if(UNIX AND NOT APPLE)
Expand Down Expand Up @@ -351,6 +382,11 @@ if(USE_FRIBIDI)
add_definitions(-DENABLE_BIDI)
endif()

if(USE_FREETYPE)
target_link_libraries(supertuxkart ${FREETYPE_LIBRARIES})
add_definitions(-DENABLE_FREETYPE)
endif()

# Wiiuse
# ------
if(USE_WIIUSE)
Expand Down Expand Up @@ -380,25 +416,23 @@ if(MSVC OR MINGW)
add_custom_target(stkshaders SOURCES ${STK_SHADERS})
endif()

# Optional tools
add_subdirectory(tools/font_tool)


# ==== Make dist target ====
if(MSVC OR MINGW)
# 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(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()


Expand Down Expand Up @@ -438,7 +472,12 @@ 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 RENAME supertuxkart.png)
install(FILES data/supertuxkart_128.png DESTINATION share/icons/hicolor/128x128 RENAME supertuxkart.png)
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)

if(MINGW)
install(DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION ${STK_INSTALL_BINARY_DIR}
FILES_MATCHING PATTERN "*.dll")
endif()
Loading

0 comments on commit c81243f

Please sign in to comment.