26 Commits
v0.8 ... v0.6

Author SHA1 Message Date
hikerstk
4bab434605 Moved supertuxkart branches to new directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/0.6@3233 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-03-12 01:56:24 +00:00
hikerstk
22bd9712b5 Bugfix: challenge files in kart directories were not installed.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3025 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 22:28:33 +00:00
auria
239521cbc2 updated french i18n
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3023 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 22:12:03 +00:00
hikerstk
878231e7fd Added an icon to the plunger-in-the-face texture to make it more
obvious what happened.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3021 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 04:30:27 +00:00
hikerstk
09d8f6b754 Changed items in snowmountain (to avoid that kart #8 starts on
a banana), see r3008 on trunk.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3020 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 04:02:16 +00:00
hikerstk
d0d41a8a01 Removed the rotating kart when a group is selected.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3016 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 01:39:59 +00:00
hikerstk
a00f483286 Added a challenge for the Gnu kart, put it in a new
group ('special'). Additionally, groups are now only
shown if there is at least one (unlocked) kart in it,
so it becomes only visible after unlocking the Gnu
kart. Putting it in its own group means the AI will
not use this kart.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3014 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 01:11:49 +00:00
hikerstk
8478954cfa Fixed comment, made maths slightly more efficient.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3012 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 00:43:51 +00:00
hikerstk
0dd4a1a798 Capitalised the name of the Elephant.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3010 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-21 00:13:28 +00:00
auria
befed6483b updated nl translation
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3006 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 15:55:41 +00:00
auria
a32035a399 fixed credits
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3004 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 15:53:18 +00:00
hikerstk
c849ad14bf Locked karts are now not used as AI karts anymore.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3002 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 13:53:41 +00:00
hikerstk
8d766b75b9 Added new 'has-skidmarks property which defaults to true.
If it's set to false, the kart will have neither skid marks
nor skidding sfx. This is currently set for the gnu kart
(part of previous commit).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@3000 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 13:37:47 +00:00
hikerstk
bb5ed16af4 Renamed gnukart to gnu (to be consistent with kart naming scheme).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2999 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 13:34:48 +00:00
hikerstk
43f3dc0723 Changed the default settings for player 1 (to be more comfortable),
and disabled any defaults for player 3 and 4 (to avoid issues
with key bindings not saved when the same key is defined more than
once).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2994 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 01:56:16 +00:00
hikerstk
a80e48a09e Eanbled faster music for those three files.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2992 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 01:21:37 +00:00
hikerstk
ba50d97fc2 New defaults for first player: there are now two defaults:
the first one using asdf+space (for a comfortable hand
position), and the 2nd one using hjklm for split screen.
Some keys are defined twice (e.g. asdf is steering for the
2nd player), but the input handler works this out: if
two players are used, the settings for the 2nd player
overwrite the settings for the first player.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2991 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-20 00:41:27 +00:00
auria
6e1b2bdf6c added consop's improvements to skyline and star track
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2990 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 21:21:12 +00:00
auria
058f4e83b6 updated outdated readme file
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2985 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 16:51:46 +00:00
auria
6c516a87c0 updated credits
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2984 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 16:36:52 +00:00
auria
46d38d5f3e added polish translation
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2980 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 14:32:27 +00:00
auria
985a8f3b87 added GNU kart by benjar
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2979 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 13:51:09 +00:00
hikerstk
88f9c42b23 Added date to ChangeLog.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2976 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 12:56:16 +00:00
hikerstk
e1aa7eb1d9 Improved end position for race track.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2974 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 12:30:43 +00:00
hikerstk
3da08104a2 Updated version numbers to 0.6.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2973 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 12:22:14 +00:00
hikerstk
05001594bd Create 0.6 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.6@2972 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-01-19 08:59:25 +00:00
3325 changed files with 212668 additions and 848135 deletions

0
AUTHORS Normal file → Executable file
View File

0
CHANGES Normal file → Executable file
View File

View File

@@ -1,236 +0,0 @@
# root CMakeLists for the SuperTuxKart project
project(SuperTuxKart)
set(PROJECT_VERSION "0.8")
cmake_minimum_required(VERSION 2.8.1)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
include(BuildTypeSTKRelease)
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to STKRelease")
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)
set(STK_SOURCE_DIR "src")
set(STK_DATA_DIR "${PROJECT_SOURCE_DIR}/data")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
# Define install paths
set(STK_INSTALL_BINARY_DIR "bin" CACHE
STRING "Install executable to this directory, absolute or relative to CMAKE_INSTALL_PREFIX")
set(STK_INSTALL_DATA_DIR "share/supertuxkart" CACHE
STRING "Install data folder to this directory, absolute or relative to CMAKE_INSTALL_PREFIX")
# Build the Bullet physics library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
# Build the ENet UDP network library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
# Build the Wiiuse library
if(USE_WIIUSE)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/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)
endif()
# OpenAL
find_package(OpenAL REQUIRED)
include_directories(${OPENAL_INCLUDE_DIR})
# OggVorbis
find_package(OggVorbis REQUIRED)
include_directories(${OGGVORBIS_INCLUDE_DIRS})
# CURL
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
# Fribidi
if(USE_FRIBIDI)
find_package(Fribidi)
if(FRIBIDI_FOUND)
include_directories(${FRIBIDI_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Fribidi not found. "
"Either install fribidi or disable bidi support with -DUSE_FRIBIDI=0 "
"(if you don't use a right-to-left language then you don't need this).")
endif()
endif()
# OpenGL
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 "")
endif()
# Irrlicht
if (APPLE)
set(IRRLICHT_LIBRARY "/Library/Frameworks/IrrFramework.framework")
else()
set(IRRLICHT_LIBRARY ${PROJECT_SOURCE_DIR}/lib/irrlicht/lib/Linux/libIrrlicht.a)
endif()
# Set some compiler options
if(UNIX)
add_definitions(-Wall)
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)
endif()
# TODO: remove this switch
add_definitions(-DHAVE_OGGVORBIS)
if(CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions(-DDEBUG)
else()
add_definitions(-DNDEBUG)
endif()
# Provides list of source and header files (STK_SOURCES and STK_HEADERS)
include(sources.cmake)
# Generate source groups useful for MSVC project explorer
include(cmake/SourceGroupFunctions.cmake)
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_source_files_properties(${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
set(STK_SOURCES ${STK_SOURCES} ${OSX_ICON_FILES})
# build the executable and create an app bundle
add_executable(supertuxkart MACOSX_BUNDLE ${STK_SOURCES})
find_library(IOKIT_LIBRARY IOKit)
find_library(QUICKTIME_LIBRARY QuickTime)
find_library(CARBON_LIBRARY Carbon)
find_library(AUDIOUNIT_LIBRARY AudioUnit)
find_library(COCOA_LIBRARY Cocoa)
target_link_libraries(supertuxkart
${IOKIT_LIBRARY}
${QUICKTIME_LIBRARY}
${CARBON_LIBRARY}
${AUDIOUNIT_LIBRARY}
${COCOA_LIBRARY})
# 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)
add_custom_command(TARGET supertuxkart PRE_BUILD
COMMAND ln -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/bin/supertuxkart.app/Contents/Resources)
else()
find_library(PTHREAD_LIBRARY NAMES pthread pthreadVC2 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}\")
else()
add_definitions(-DSUPERTUXKART_DATADIR=\"${CMAKE_INSTALL_PREFIX}/${STK_INSTALL_DATA_DIR}\")
endif()
# Build the final executable
add_executable(supertuxkart ${STK_SOURCES} ${STK_HEADERS})
target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
endif()
# To invoke irrlicht makefile. Just a few things must be checked before it can be uncommented :
# 1) make it pass NDEBUG=1
# 2) make the stdout output visible
#add_custom_target(
# stkirrlicht
# COMMAND make
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/lib/irrlicht/source/Irrlicht
#)
#add_dependencies(supertuxkart stkirrlicht)
include_directories(${PROJECT_SOURCE_DIR}/lib/irrlicht/include)
# Common library dependencies
target_link_libraries(supertuxkart
bulletdynamics
bulletcollision
bulletmath
enet
${CURL_LIBRARIES}
${IRRLICHT_LIBRARIES}
${OGGVORBIS_LIBRARIES}
${IRRLICHT_LIBRARY}
${IRRLICHT_XF86VM_LIBRARY}
${OPENAL_LIBRARY}
${OPENGL_LIBRARIES})
if(USE_FRIBIDI)
target_link_libraries(supertuxkart ${FRIBIDI_LIBRARIES})
add_definitions(-DENABLE_BIDI)
endif()
if(USE_WIIUSE)
target_link_libraries(supertuxkart wiiuse bluetooth)
add_definitions(-DENABLE_WIIUSE)
endif()
# Optional tools
add_subdirectory(tools/font_tool)
# ==== Make dist target ====
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})
# ==== 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)
set(PREFIX ${CMAKE_INSTALL_PREFIX})
configure_file(data/supertuxkart_desktop.template supertuxkart.desktop)
add_dependencies(supertuxkart supertuxkart.desktop)

64
COPYING Normal file → Executable file
View File

@@ -1,11 +1,15 @@
The SuperTuxKart code is released under GNU GPL (see full text below). The SuperTuxKart code is released under GNU GPL (see full text below).
SuperTuxKart data files (textures, models, sounds, music, etc.) are released under various licenses, see 'license.txt' files SuperTuxKart data files (textures, models, sounds, music, etc.) are released under various licenses, see 'license.txt' files through the various data subdirectories. Data files are released under a mixture of the following licenses :
through the various data subdirectories. Data files are released under a mixture of the following licenses :
Gnu GPL 2.0 and 3.0+ GPL
Creative-Commons-BY(-SA) 3.0 Creative-Commons-Attribution
Creative-Commons-BY-SA
Creative-Commons-Sampling+
FreeArt License
SoundSnap license
Public Domain Public Domain
Image*After terms
________________________________________________________________________________ ________________________________________________________________________________
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
@@ -42,31 +46,31 @@ TERMS AND CONDITIONS
0. Definitions. 0. Definitions.
"This License" refers to version 3 of the GNU General Public License. This License refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. Copyright also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program!" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. The Program refers to any copyrightable work licensed under this License. Each licensee is addressed as you. Licensees and recipients may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. To modify a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a modified version of the earlier work or a work based on the earlier work.
A "covered work" means either the unmodified Program or a work based on the Program. A covered work means either the unmodified Program or a work based on the Program.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To propagate a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. To convey a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. An interactive user interface displays Appropriate Legal Notices to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code. 1. Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. The source code for a work means the preferred form of the work for making modifications to it. Object code means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. A Standard Interface means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The System Libraries of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A Major Component, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
@@ -97,11 +101,11 @@ You may charge any price or no price for each copy that you convey, and you may
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
* a) The work must carry prominent notices stating that you modified it, and giving a relevant date. * a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
* b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". * b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to keep intact all notices.
* c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. * c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
* d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. * d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an aggregate if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms. 6. Conveying Non-Source Forms.
@@ -115,9 +119,9 @@ You may convey a work based on the Program, or the modifications to produce it f
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. A User Product is either (1) a consumer product, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, normally used refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. Installation Information for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
@@ -127,7 +131,7 @@ You may convey a work based on the Program, or the modifications to produce it f
7. Additional Terms. 7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. Additional permissions are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
@@ -140,7 +144,7 @@ You may convey a work based on the Program, or the modifications to produce it f
* e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or * e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
* f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. * f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. All other non-permissive additional terms are considered further restrictions within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
@@ -164,25 +168,25 @@ You may convey a work based on the Program, or the modifications to produce it f
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. An entity transaction is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents. 11. Patents.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's contributor version.
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. A contributor's essential patent claims are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, control includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. In the following three paragraphs, a patent license is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To grant such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. Knowingly relying means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. A patent license is discriminatory if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
@@ -198,7 +202,7 @@ You may convey a work based on the Program, or the modifications to produce it f
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License or any later version applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
@@ -206,7 +210,7 @@ You may convey a work based on the Program, or the modifications to produce it f
15. Disclaimer of Warranty. 15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability. 16. Limitation of Liability.

122
ChangeLog Normal file → Executable file
View File

@@ -1,125 +1,3 @@
SuperTuxkart 0.8
~~~~~~~~~~~~~~~~
* Story mode and new challenge set
* Improved AI
* Skidding and better collision physics
* Reverse mode
* New green valley track
* New Blackhill Mansion track
* Updated XR591 track
* Updated Fort Magma track
* Updated jungle track
* Updated menus
* New music
SuperTuxKart 0.7.3
~~~~~~~~~~~~~~~~~~
* New Zen Garden and Subsea tracks
* New Island battle arena
* New Suzanne kart
* New graphical effects
* New weapons 'Swatter' and 'Rubber Ball'
* Added Thunderbird as race referee
* 3 Strikes Battles now displays lives as spare tires
* Improved bubble gum
* See progression during Grand Prix
* Improve physics for tall karts (e.g. Adiumy)
* Lots of bug fixes
* Improved kart control at high speeds
* Better placement of rescued karts
* Transition track-making to blender 2.5/2.6
SuperTuxKart 0.7.2
~~~~~~~~~~~~~~~~~~
* Added in-game addon manager
* Fixed major memory leaks
* New Snow Peak track by Samuncle
* Improved star track UFO by Rudy
* New Beastie kart.
* Show when you get a highscore
* Improve gamepad configuration under Windows (add ability to tell gamepads apart)
* Various other tweaks done and glitches fixed
SuperTuxkart 0.7.1b
~~~~~~~~~~~~~~~~~~~
* Fix circular dependency in challenges
* Updated translations
SuperTuxKart 0.7.1
~~~~~~~~~~~~~~~~~~
* Particle (smoke, splash, fire) and weather effects
* New Fort Magma by Samuncle, new Shiny Suburbs track by Horace
* New Beagle kart by wolterh
* Added internet news
* Support for live language switch
* Added optional minimal race UI
* Temporary invincibility after being hit
* Added support for full-screen anti-aliasing
* Clearer multiplayer setup
* Renamed many tracks to nicer names
* Basic level-of-detail (LOD) support
* Debug features for track makers
* Update to bullet 2.77
* Replace more sounds to be DFSG-compliant
* Fixed character names that contain non-ASCII characters
* Full RTL (right to left) support
* Various other tweaks done and glitches fixed
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
* GUI
- Completely new designed GUI
* Other improvements
- Allowed alternative ways/shortcuts in tracks
- New item 'switch'
* New art:
- New tracks farm, hacienda, scotland, secret garden
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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 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.
* 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.
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.
* Fixed incorrect rescues in Fort Magma.
* 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 * New improved physics and kart handling

81
INSTALL Normal file → Executable file
View File

@@ -7,32 +7,23 @@ General
First, make sure that you have the following packages installed: First, make sure that you have the following packages installed:
* OpenGL (or Mesa 3.0 or later) * OpenGL (or Mesa 3.0 or later)
* OpenAL (recommended: openal-soft-devel) * PLIB version 1.8.4 or later
* Ogg (libogg-dev) * SDL 1.2 or later
* Vorbis (libvorbis-dev) * OpenAL
* fribidi (fribidi-devel) - optional for right-to-left text
Unpack the files from the tarball like this: Unpack the files from the tarball like this:
tar xzf supertuxkart-*.tar.gz tar xzf supertuxkart-*.tar.gz
cd supertuxkart-* 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) where '*' is the version of SuperTuxkart you downloaded - eg 0.2.0. Then:
cd lib/irrlicht/source/Irrlicht
NDEBUG=1 make
* Compile SuperTuxKart: ./configure
mkdir cmake_build make
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 To test the compilation, supertuxkart can be run from the build
directory by ./bin/supertuxkart directory by ./src/supertuxkart (./src/supertuxkart.exe on windows).
To install the file, as root execute: To install the file, as root execute:
@@ -41,14 +32,54 @@ To install the file, as root execute:
The default install location is /usr/local, i.e. the data files will The default install location is /usr/local, i.e. the data files will
be written to /usr/local/share/games/supertuxkart, the executable be written to /usr/local/share/games/supertuxkart, the executable
will be copied to /usr/local/bin. To change the default installation will be copied to /usr/local/bin. To change the default installation
location, specify CMAKE_INSTALL_PREFIX when running cmake, e.g.: location, use the "--prefix" option of configure, e.g. --prefix=/usr
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk See the --help output of configure for further options.
Building STK on OS X
--------------------
See http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX
Building STK on Windows SVN STK on Ubuntu Edgy
----------------------- ----------------------
See http://supertuxkart.sourceforge.net/How_to_build_the_Windows_version Here are the compilation instructions for the current svn(05 oct. 2006) of
Super Tux Kart on Ubuntu Edgy, contributed by Damien:
install following packages:
# apt-get install libopenal-dev libmikmod2-dev plib1.8.4-dev
libglu1-mesa-dev subversion autoconf automake1.9 g++ gcc
do a:
$ svn checkout http://supertuxkart.svn.sourceforge.net/svnroot/supertuxkart/trunk/supertuxkart
then:
$ cd trunk
$ ./autogen.sh && ./configure && make
and if all went well:
$ src/supertuxkart
tested with g++ 3.3 and 4.1 , both succeeded.
If you want to install the game system-wide, do 'make install'.
But it didn't work!
-------------------
If you checked out your copy directly from SVN, you have to run
'sh autogen.sh' to generate the configure script.
You should check the SuperTuxKart wiki at:
http://supertuxkart.sourceforge.net/
Also, the most common (by FAR) reason for problems is that your OpenGL/Mesa
is incorrectly installed - so before you complain to any of the PLIB or
Supertuxkart mailing lists, first try running one of the example programs
that comes with your OpenGL implementation - or one of the Mesa or GLUT
sample programs.
If you those examples run OK - then go to the PLIB home page and download
the PLIB examples.
If THOSE run correctly - but Supertuxkart doesn't then please get in touch
with the SupertuxKart mailing list and we'll do our best to get you up and
racing.

9
Makefile.am Normal file → Executable file
View File

@@ -1,10 +1,13 @@
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
SUBDIRS = $(BULLETTREE) $(ENETTREE) src doc data tools SUBDIRS = $(BULLETTREE) $(ENETTREE) src doc data
EXTRA_DIST = \
README.cygwin \
README.macosx \
README.windows
pkgdatadir=$(datadir)/doc/$(PACKAGE) pkgdatadir=$(datadir)/doc/$(PACKAGE)
dist_pkgdata_DATA=AUTHORS ChangeLog COPYING README dist_pkgdata_DATA=AUTHORS ChangeLog COPYING README
EXTRA_DIST=autogen.sh m4 CMakeLists.txt
# NEWS only contains "see changelog" # NEWS only contains "see changelog"
# CHANGES only contains "see NEW" # CHANGES only contains "see NEW"

158
NEWS Executable file
View File

@@ -0,0 +1,158 @@
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
* Improved User Interface
* Improved game pad/joystick handling
* 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)
SuperTuxKart 0.4 (February 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* New physics handling using the bullet physics engine
* New kart: wilber
* Improved 'Shifting Sands' and 'Lighthouse' tracks
* Improved AI
* New GUI handling, including resolution switching GUI
* Improved input handling
* Jump and look-back featue
* Additional music and main theme
SuperTuxKart 0.3 (May 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Highscore lists
* Shortcut detection
* Improved AI
* Fullscreen support
* New track: the island
* New penalty: bomb
* MacOSX support
* OpenAL and ogg-vorbis support
* Two new Grand Prixs
* Improved user interface:
- New racing interface
- Better track map
- Player kart dots in the track map are bigger than AI dots
- Track selection screen has topview pictures
- Added "Setup new race" option when a track is finished
- Added "Restart race" option when a track is finished
- The keyboard can skip vertical spaces between buttons
- Better control configuration
- Better in-game help
- Added .desktop file for menus and icon
* Bugfixes:
- Fixed bug in ssg_help::MinMax, which could cause a significant performance loss.
- Fixed bug that allowed the joystick to erase the main menu
- Fixed bug that allowed the joystick to "play the game while paused"
- Fixed screen_manager assert failure bug
- Fixed sound_manager assert failure bug
- Fixed keyboard keys unable to work on the first key press bug
- And others
SuperTuxKart 0.2 (22. Sep 2006)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Significant performance improvement by using display lists
* Improved AI
* Support for different grand prixs
* Too many bug fixes to list them all, but the important ones:
* Work around for 'karts fall through track' compiler bug
* Fixed rescue mode
* Two new collectables: parachute and anvil
* Track screen shots in the track select screen
* Keyboard handling allows gradual turning
* Improved physics (still work in progress)
* All hard-coded properties like maximum velocity have
been replaced by dynamically computed data dependent
on kart parameters, allowing for karts having different
characteristics.
* 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
* 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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* new tracks
* new characters and karts
* new user-interface
* some additional effects (skid-marks, smoke)
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 (??)
~~~~~~~~~~~~~~~~~~~
* Converted to use the new PLIB/PW library and thus
avoid the need to link to GLUT.
TuxKart v0.2.0 (Sept 3rd 2002)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Changes for compatibility with PLIB 1.6.0 and later.
TuxKart v0.0.5 (??)
~~~~~~~~~~~~~~~~~~~
* Changes for compatibility with PLIB 1.4.0 and later.
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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixed a couple of files missing in initial
Distro.
TuxKart v0.0.0 (June 29th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* First CVS release.
TuxKart (unnumbered) (April 13th 2000)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* First hack.
# EOF #

111
README Normal file → Executable file
View File

@@ -1,54 +1,92 @@
SuperTuxKart SuperTuxKart
============ ==============
SuperTuxKart is a free kart racing game. It is focusing on fun and SuperTuxKart is a free kart racing game. It is focusing on fun and
not on realistic kart physics. Instruction can be found on the not on realistic kart physics. The SuperTuxKart homepage can be found at:
in-game help page.
The SuperTuxKart homepage can be found at:
http://supertuxkart.sourceforge.net http://supertuxkart.sourceforge.net
The official SuperTuxKart forum is at. If you need support, The official SuperTuxKart forum is at:
this would be the best place to start.
http://supertuxkart.sourceforge.net/forum http://supertuxkart.sourceforge.net/forum
A big "thank you" to Steve Baker for designing and implementing the
original TuxKart, and to the GotM team for their invaluable work.
See the data/CREDITS file for individual credits.
Hope you enjoy the game. Hope you enjoy the game.
- The SuperTuxKart development team. - The SuperTuxKart development team.
HARDWARE REQUIREMENTS HARDWARE REQUIREMENTS
===================== =====================
* You need a 3D graphics card that supports OpenGL or Mesa. * You need a 3D graphics card that supports OpenGL or Mesa.
* You should have a CPU that's running at 450MHz or better. * You should have a CPU that's running at 450MHz or better.
* You'll need at least 600 MB of free RAM. * You'll need at least 128Mb RAM.
* A sound card would be nice - but it's not essential.
* Ideally, you want a joystick with at least 6 buttons. * Ideally, you want a joystick with at least 6 buttons.
PLAYING THE GAME
================
SuperTuxKart is a kart racing game. Basically you run around the track,
and give your best shot at reaching the goal before your opponents. The ?
boxes can help you, and collection coins can build up your power, so you can
grab more than one collectable! But avoid the bananas, since they might
give you a nasty surprise.
COMPILING SuperTuxkart Controls can be configured from the game, here are the defaults mappings:
======================
WINDOWS Player 1:
------- Steer : Left / Right arrow
A project file for Visual Studio 9 (e.g. the free 2008 express Accelerate : Up arrow
edition) is included in the sources in src/ide/vc9. A separate Brake : Down arrow
dependency package is available on SuperTuxKart's sourceforge Use item : Right control
page, which includes all necessary libraries, header files, Sharp Turn : Right shift
and dlls to compile and run the source code. Rescue : Backspace
Nitro : - (minus key)
Look back : Right alt
While compilation with cygwin is not officially supported, Player 2:
this has been done (check with the forum for details). Steer : A / D key
Accelerate : W key
Brake : S key
Use item : Left control
Sharp Turn : Left shift
Rescue : Q key
Nitro : Caps lock
Look back : Left alt
MAC OSX Player 3:
------- Steer : F / H key
The latest information about compilation on Mac are on our wiki: Accelerate : T key
http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX Brake : G key
The Xcode project file is in /src/ide/Xcode/, but it still Use item : N key
requires that all dependencies are installed as explained on the wiki. Sharp Turn : C key
Rescue : R key
Nitro : V key
Look back : N key
UNIX Player 4:
---- Steer : J / L key
See INSTALL for details. Accelerate : I key
Brake : K key
Use item : . key
Sharp Turn : M key
Rescue : u key
Nitro : , key
Look back : / key
The Escape key pauses the game and shows the race menu.
SUPPORT
=======
The main webpage is at:
http://supertuxkart.sourceforge.net
If you have any problems, please go to the official SuperTuxKart Forum at:
http://supertuxkart.sourceforge.net/forum
LICENSE LICENSE
@@ -57,18 +95,3 @@ This software is released under the GNU General Public License (GPL) which
can be found in the file 'LICENSE' in the same directory as this file. can be found in the file 'LICENSE' in the same directory as this file.
Information about the licenses for artwork are contained in Information about the licenses for artwork are contained in
data/licenses. 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).

31
README.cygwin Normal file
View File

@@ -0,0 +1,31 @@
Some short instruction on how to compile supertuxkart with cygwin:
1) You have to use supertuxkart revision 593 or later (which you are
probably doing since you are reading this readme :) ).
2) Install freeglut
This is part of the cygwin packages, so just select this in
the cygwin setup program.
3) Compile and install plib
This should work straight out of the box.
4) Install OpenAL
We have had some problems with this, so this might be the most difficult stage.
4) Unpack superuxkart and run ./configure and make.
That should be all.
Comments:
1) A -DNOMINMAX is added for cygwin compilations, since otherwise
min and max are #defined, causing problems with all std::min and
std::max constructs.
2) The order in which plib/pu.h and plib/pw.h are included appears
to be important - pw should be included first.
If you have any problems, please post on the mailing list - I am
not a regular windows user, so am probably not able to help you.
hiker

530
README.macosx Normal file
View File

@@ -0,0 +1,530 @@
(*) The latest information about compilation on Mac are on our wiki:
http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX
(*) There is an experimental Xcode project in /src/ide/Xcode/. It will still require that all dependencies are installed as explained on the wiki.
The older instructions should still work, and are quite detailed.
Note that we supply a modified version of plib (on our download page
at http://sourceforge.net/project/showfiles.php?group_id=202302)
which fixes a few compilation problems on Macs. We strongly recommend
to use this version (unless a newer plib version is released).
System requirements Mac:
PowerPC- or Intel-Mac with 800 MHz or more,
1 GHz recommended 3D-graphics card with 32 MB or more.
100 MB free disk space. Supporting Mac OS X 10.3.9 or later.
Compiling SuperTuxKart on OS X 10.4.x
01. Install all updates for OS X.
02. Download xcode 2.4.1_8m1910_6936315 from http://developer.apple.com/macosx/
You must be an Apple Developer Connection member to download this package.
03. Installing XCode.
04. Edit "/etc/profile":
--------------------------------------------------------------------------------------------------------
# System-wide .profile for sh(1)
PATH="/sw/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin"
export PATH
PKG_CONFIG_PATH="/sw/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11R6/lib/pkgconfig:/usr/local/lib/pkgconfig"
export PKG_CONFIG_PATH
if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi
--------------------------------------------------------------------------------------------------------
05. Download Fink from http://www.finkproject.org/download/index.php?phpLang=en
06. Installing Fink.
07. Copy the FinkCommander folder to Applications and launch FinkCommander.
08. Run selfupdate.
09. Run update-all.
10. Run the index command.
11. Installing the following 'fink' packages:
11.01 SDL
11.02 audiofile
11.03 esound
11.04 svn
11.05 svn-client
12. Download the SDL framework from http://www.libsdl.org/download-1.2.php and copy it to /Library/Frameworks.
13. Installing Vorbis.framework and Ogg.framework:
13.01 Download SuperTux from http://developer.berlios.de/project/showfiles.php?group_id=3467&release_id=11879
13.02 Right-click the SuperTux icon and select Show Package Contents from the context menu.
13.03 Change in the folder Contents:Frameworks. And copy Vorbis.framework and Ogg.framework to <hd>:Library:Frameworks.
14. Installing plib: ////////////////////////////////////////
14.01 Download PLIB from http://plib.sourceforge.net/download.html
14.02 Unpack plib-1.8.4.tar.gz.
14.03 Change in the folder PLIB.
14.04 Download "pwMacOSX.cxx"-patch from ftp://ftp.berlios.de/pub/supertuxkart/plib_patch_for_osx.zip
14.05 Installing pwMacOSX.cxx-patch.
14.06 Run ./configure --prefix=<..... Universal/plib_ppc>" in the folder PLIB.
e.g.: /Users/christian/Desktop/Universal/plib_ppc.
14.07 Modify the plib:
jsMacOSX.cxx:
#include <IOKit/IOkitLib.h>
replace with:
#include <IOKit/IOKitLib.h>
14.08 jsMacOSX.cxx:
static void os_specific_s::elementEnumerator( const void *element, void* vjs)
replace with:
void os_specific_s::elementEnumerator( const void *element, void* vjs)
14.09 make
14.10 make install
14.11 make clean
14.12 Run "./configure --prefix=<..... Universal/plib_x86>" in the folder PLIB.
e.g.: /Users/christian/Desktop/Universal/plib_x86.
14.13 Edit the following Makefiles:
<PLIB-Ordner>/Makefile
<PLIB-Ordner>/src/Makefile
<PLIB-Ordner>/src/fnt/Makefile
<PLIB-Ordner>/src/js/Makefile
<PLIB-Ordner>/src/net/Makefile
<PLIB-Ordner>/src/psl/Makefile
<PLIB-Ordner>/src/puAux/Makefile
<PLIB-Ordner>/src/pui/Makefile
<PLIB-Ordner>/src/pw/Makefile
<PLIB-Ordner>/src/sg/Makefile
<PLIB-Ordner>/src/sl/Makefile
<PLIB-Ordner>/src/ssg/Makefile
<PLIB-Ordner>/src/ssgAux/Makefile
<PLIB-Ordner>/src/util/Makefile
replace the line: "CXXFLAGS =" with "CXXFLAGS = -g -O2 -Wall -arch i386"
14.14 make install
14.15 Create a universal (multi-architecture) plib:
lipo -create /Users/christian/Desktop/Universal/plib_ppc/lib/libplibfnt.a /Users/christian/Desktop/Universal/
plib_x86/lib/libplibfnt.a -output /usr/lib/libplibfnt.a
Repeat this step for all libraries.
15. Installing Freealut-1.1.0 from OpenAL.org ////////////////////
15.01 Makefile.in:
Replace the line:
SUBDIRS = admin src include examples test_suite
with
SUBDIRS = admin src include
15.02 configure:
Replace the line
for ac_header in AL/alc.h AL/al.h basetsd.h ctype.h math.h stdio.h time.h
with
for ac_header in OpenAL/alc.h OpenAL/al.h basetsd.h ctype.h math.h stdio.h time.h
15.03 export CXXFLAGS="-framework OpenAL"
15.04 export LDFLAGS="-framework OpenAL"
15.05 ./configure --prefix=/usr
15.06 make
15.07 Open admin/pkgconfig/freealut.pc
Replace the line
Requires: openal
with
Requires:
15.08 Replace the line:
Libs: -L${libdir} -lalut Cflags: -I${includedir}
with
Libs: -framework OpenAL -L${libdir} -lalut Cflags: -framework OpenAL -I${includedir}
15.09 sudo make install
16. Copy the plib files to "/usr/local":
16.01 sudo cp /usr/lib/libplib* /usr/local/lib/
16.02 sudo cp -R /usr/include/plib /usr/local/include/
Installing SuperTuxKart //////////
1. Copy the following code and paste it in the new file "buildUB.sh".
buildUB.sh:
---------------------------------------------------------------------------------------------------------
#!/bin/bash
if [ -r ./configure ]; then
echo "Configure found!"
else
echo "No Config file found! Runing autogen.sh..."
sh autogen.sh
fi
if [ -r ./config.guess ]; then
echo "config.guess found!"
else
echo "config.guess not present! Copying it..."
cp /usr/share/libtool/config.guess ./config.guess
fi
if [ -r ./config.sub ]; then
echo "config.sub found!"
else
echo "config.sub not present! Copying it..."
cp /usr/share/libtool/config.sub ./config.sub
fi
if [ -r ./Makefile ]; then
echo "Makefile found!"
else
echo "Makefile missing! Running ./configure..."
./configure
if [ -r ./Makefile ]; then
echo "Makefile present, ready to compile!"
else
echo "Configure not completed, Makefile still missing! Exiting..."
exit 1
fi
fi
echo "Setting environment variables..."
export sdl_LIBS=""
export LDFLAGS="-framework OpenAL -Wl,-framework,Cocoa -framework SDL -framework Cocoa -lSDLmain
-framework Vorbis -framework Ogg -L/usr/local/lib -L/opt/local/lib -L/sw/lib"
export openal_LIBS="/usr/local/lib/libmikmod.a"
if [ -r ./bin/supertuxkartPPC ]; then
echo "supertuxkartPPC is present, nothing to do."
else
echo "Cleaning up..."
make clean -s
echo "Building PPC Binary..."
make -e -s
echo "Copying PPC Binary..."
mkdir ./bin
if [ -r ./src/supertuxkart ]; then
cp ./src/supertuxkart ./bin/supertuxkartPPC
else
echo "Error!"
exit 1
fi
fi
if [ -r ./bin/supertuxkartx86 ]; then
echo "supertuxkartx86 is present, nothing to do."
else
echo "Cleaning up..."
make clean -s
echo "Building x86 Binary..."
export CXXFLAGS="-g -O2 -Wall -arch i386 `sdl-config --cflags`"
export LDFLAGS=$LDFLAGS" -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -L/usr/local/lib -L/opt/local/lib -L/sw/lib"
make -e -s
echo "Copying x86 Binary..."
if [ -r ./src/supertuxkart ]; then
cp ./src/supertuxkart ./bin/supertuxkartx86
else
echo "Error!"
exit 1
fi
fi
echo "Creating Universal Binary..."
lipo -create ./bin/supertuxkartPPC ./bin/supertuxkartx86 -output ./bin/supertuxkart
echo "Done!"
-------------------------------------------------------------------------------------------------------------
2. Set the permissions for the script "buildUB.sh"
e.g.: chmod 744 buildUB.sh
3. Download SuperTuxKart-Source from "http://sourceforge.net/project/showfiles.php?group_id=202302".
4. Go in the folder SuperTuxKart.
5. Copy the script "buildUB.sh" in the directory "SuperTuxKart".
6. ./buildUB.sh
7. Check-up:
7.01 Go in the folder "bin".
7.02 ./supertuxkart --version
Print version information
e.g.:
-------------------------------------------------------------------------
SuperTuxKart, 0.3alpha.
SuperTuxKart, SVN revision number '975M'.
-------------------------------------------------------------------------
7.03 Is this a universal binary?
file supertuxkart
e.g.:
-------------------------------------------------------------------------
supertuxkart: Mach-O fat file with 2 architectures
supertuxkart (for architecture ppc): Mach-O executable ppc
supertuxkart (for architecture i386): Mach-O executable i386
-------------------------------------------------------------------------
7.04 otool -L supertuxkart
Print shared library dependencies.
e.g.:
------------------------------------------------------------------------------------------------
supertuxkart:
/System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL (compatibility version 1.0.0,
current version 1.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0,
current version 11.0.0)
@executable_path/../Frameworks/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current
version 1.0.0)
@executable_path/../Frameworks/Vorbis.framework/Versions/A/Vorbis (compatibility version 1.0.0,
current version 1.0.0)
@executable_path/../Frameworks/Ogg.framework/Versions/A/Ogg (compatibility version 1.0.0, current
version 1.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current
version 128.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current
version 1.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current
version 275.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version
1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.8)
---------------------------------------------------------------------------------------------------------
************* S T A R T T H E G A M E A N D H A V E F U N! **************
Please post to the development list if you have any problems.

71
README.windows Normal file
View File

@@ -0,0 +1,71 @@
NOTE
====
If you have downloaded the 0.4 version and it does not start, please
install the Microsoft Visual C++ redistributable package ('vcredist_x86.exe')
included in this directory.
If you don't hear any sound, you have to install OpenAL (see http://ww.openal.org).
Simply install the OpenAL redistributable ('oalinst.exe').
The release comes with a full installer, which includes these redistributables.
If you are downloading a source version and want to compile it yourself:
There are two documented ways to compile an executable for windows: using
cygwin, and using visual c++ (tested with the free Express version).
If you have any problems, please post on the mailing list, and we will
do our best to help you.
Cygwin
======
1) Install freeglut
This is part of the cygwin packages, so just select this in
the cygwin setup program.
2) Compile and install plib
This should work straight out of the box.
3) Install OpenAL
We have had some problems with this in the past, so it might be tricky.
4) Unpack supertuxkart and run ./configure and make.
That should be all.
Comments:
1) A -DNOMINMAX is added for cygwin compilations, since otherwise
min and max are #defined, causing problems with all std::min and
std::max constructs. This is done automatically by the configure
script.
2) The order in which plib/pu.h and plib/pw.h are included appears
to be important - pw should be included first.
Visual C++ Express
==================
There are now project files included for building SuperTuxKart with
Visual C++ - have a look at the src/ide/vc8 folder.
Since version r793 SuperTuxKart compiles with Visual C++ Express,
version 8.0, since rev 1267 Visual C++ project files are included.
The main project file is .../src/ide/vc8/supertuxkart.vcproj,
and it includes a sub project for the bullet library. More details
can be found in .../src/ide/vc8/README.
You still have to install all dependencies, and:
1) Modify plib:
Best choice would be to use the plib version from our download page,
since it contains all bugfixes that are necessary. The latest
release (1.8.5) might work, if you are using 1.8.4:
In src/ssg/ssgLoadAC.cxx replace:
loader_fd = fopen ( filename, "ra" ) ;
with
loader_fd = fopen ( filename, "r" ) ;
This patch will be submitted to PLIB, but we don't know if and
when it will be applied.
2) Compile plib (project files for visual c++ are included)

View File

@@ -1,34 +0,0 @@
# Please, make sure your SVN client uses something that matches the
# following config. Specially the autoprops part, that way new files
# will be added with the right settings. Default config for command line
# svn is in ~/.subversion/config. If you use SVN for multiple projects
# simultaneously, remember you can use different configs, at least in
# cmd line (via --config-dir and for example ~/.subversion/supertuxkart/
# with a new config file inside).
[miscellany]
global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* ._* .DS_Store *.blend1 *.blend2
enable-auto-props = yes
[auto-props]
*.c = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cpp = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.h = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.hpp = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.dsp = svn:eol-style=CRLF
*.dsw = svn:eol-style=CRLF
*.sh = svn:eol-style=native;svn:executable;svn:keywords=Author Date Id Revision
*.txt = svn:eol-style=native
*.png = svn:mime-type=image/png
*.jpg = svn:mime-type=image/jpeg
Makefile = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.jpeg = svn:mime-type=image/jpeg
*.gif = svn:mime-type=image/gif
*.svg = svn:mime-type=image/svg+xml
*.htm = svn:mime-type=text/html
*.html = svn:mime-type=text/html
*.css = svn:mime-type=text/css
*.pdf = svn:mime-type=application/pdf
SConstruct = svn:eol-style=native;svn:keywords=Author Date Id Revision
*.xml = svn:eol-style=LF;svn:mime-type=text/xml
*.py = svn:eol-style=native;svn:keywords=Author Date Id Revision

52
TODO
View File

@@ -39,5 +39,53 @@ Thanks in advance!
The SuperTuxKart-Team The SuperTuxKart-Team
For details, see ********************************
http://supertuxkart.sourceforge.net/Get_involved ********************************
** **
** Incomplete(!!) TODO List **
** **
********************************
********************************
Things that would be nice to fix, but are not urgent
=====================================================
- Write some documentation.
- Display skid marks again (currently disabled due to problems of
skid marks being 'in the air').
- Added settings menu (e.g. for MPH vs KPH (vs. KM/H), ...)
- Add a tutorial course
- Valgrind for memory bugs.
- Update the web page, make more screen shots, ...
- Tight/wide corner steering for AI. The AI is hitting the wall
in very tight corners (e.g. subseatrack) [coz]
long term
=========
- Add network multiplayer
- Make full use of OpenAL
- Performance tuning
- Support for multi-core CPUs
(while this is not strictly necessary, it might be a nice headline
for news entries. The physics/collision detection would be
easy to parallelise)
- More gadgets
- Positive: - squirt oil on track to make karts slip, ...
- Negative: - 'dirt on windscreen' - partial blackout of screen
- More flexibility for items. E.g.
- Tracks might hard code some items, change the distribution of some
others (e.g. only a rocket at a certain location, but random choice
which one the kart gets. Instead of just specifying
GREENHERRING, one could write: ZIPPER:ANVIL and one of the listed
things would be picked randomly)
- Grand prixs might want to overwrite this, e.g.:
"war" grand prix: only rockets for all gadgets
- Perhaps make good and bad things indistinguishable?
- sound/music manager needed
Make it easy to replace sounds (which are currently hardcoded), e.g
via a config file. Sound/music should be selectable for a track,
but a grand prix should be able to overwrite this to create a consistent
ambience, ...
- More tracks
- More grand prixs
- Code cleanup

0
acinclude.m4 Normal file → Executable file
View File

View File

@@ -1,27 +0,0 @@
# Build type STKRelease is similar to Release provided by CMake,
# but it uses a lower optimization level
set(CMAKE_CXX_FLAGS_STKRELEASE "-O2 -DNDEBUG" CACHE STRING
"Flags used by the C++ compiler during STK release builds."
FORCE)
set(CMAKE_C_FLAGS_STKRELEASE "-O2 -DNDEBUG" CACHE STRING
"Flags used by the C compiler during STK release builds."
FORCE)
set(CMAKE_EXE_LINKER_FLAGS_STKRELEASE
"" CACHE STRING
"Flags used for linking binaries during STK release builds."
FORCE)
set(CMAKE_SHARED_LINKER_FLAGS_STKRELEASE
"" CACHE STRING
"Flags used by the shared libraries linker during STK release builds."
FORCE)
mark_as_advanced(
CMAKE_CXX_FLAGS_STKRELEASE
CMAKE_C_FLAGS_STKRELEASE
CMAKE_EXE_LINKER_FLAGS_STKRELEASE
CMAKE_SHARED_LINKER_FLAGS_STKRELEASE)
set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel STKRelease."
FORCE)

View File

@@ -1,27 +0,0 @@
# - Find Fribidi
# Find the Fribidi includes and libraries
#
# Following variables are provided:
# FRIBIDI_FOUND
# True if Fribidi has been found
# FRIBIDI_INCLUDE_DIRS
# The include directories of Fribidi
# FRIBIDI_LIBRARIES
# Fribidi library list
find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h PATHS /Library/Frameworks/fribidi.framework/Headers "${PROJECT_SOURCE_DIR}/dependencies/include")
find_library(FRIBIDI_LIBRARY NAMES fribidi PATHS /Library/Frameworks/fribidi.framework "${PROJECT_SOURCE_DIR}/dependencies/lib")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Fribidi DEFAULT_MSG FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY)
if(APPLE)
set(FRIBIDI_INCLUDE_DIR "/Library/Frameworks/fribidi.framework/Headers")
endif()
# Publish variables
set(FRIBIDI_INCLUDE_DIRS ${FRIBIDI_INCLUDE_DIR})
set(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
mark_as_advanced(FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY)

View File

@@ -1,80 +0,0 @@
# - Find Irrlicht
# Find the Irrlicht includes and libraries
#
# Following variables are provided:
# IRRLICHT_FOUND
# True if Irrlicht has been found
# IRRLICHT_DIR
# Path to Irrlicht
# IRRLICHT_INCLUDE_DIRS
# The include directories of Irrlicht
# IRRLICHT_LIBRARIES
# Irrlicht library list
set(IRRLICHT_DIR "" CACHE PATH "Path to Irrlicht")
# Find include directory and library
find_path(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
PATHS ${IRRLICHT_DIR}
/Library/Frameworks/IrrFramework.framework/Versions/A/Headers/
${PROJECT_SOURCE_DIR}/dependencies/include/irrlicht
PATH_SUFFIXES include irrlicht)
if(APPLE)
find_library(IRRLICHT_LIBRARY NAMES IrrFramework PATHS /Library/Frameworks/IrrFramework.framework)
else()
find_library(IRRLICHT_LIBRARY NAMES Irrlicht libIrrlicht
PATHS ${IRRLICHT_DIR}/lib/Linux ${PROJECT_SOURCE_DIR}/dependencies/lib ${PROJECT_SOURCE_DIR})
endif()
# Determine Irrlicht version
if(EXISTS ${IRRLICHT_INCLUDE_DIR}/IrrCompileConfig.h)
file(STRINGS ${IRRLICHT_INCLUDE_DIR}/IrrCompileConfig.h IRRLICHT_COMPILE_CONFIG REGEX IRRLICHT_VERSION)
string(REGEX MATCH "IRRLICHT_VERSION_MAJOR ([0-9]+)" _tmp ${IRRLICHT_COMPILE_CONFIG})
set(IRRLICHT_VERSION_MAJOR ${CMAKE_MATCH_1})
string(REGEX MATCH "IRRLICHT_VERSION_MINOR ([0-9]+)" _tmp ${IRRLICHT_COMPILE_CONFIG})
set(IRRLICHT_VERSION_MINOR ${CMAKE_MATCH_1})
string(REGEX MATCH "IRRLICHT_VERSION_REVISION ([0-9]+)" _tmp ${IRRLICHT_COMPILE_CONFIG})
set(IRRLICHT_VERSION_REVISION ${CMAKE_MATCH_1})
set(IRRLICHT_VERSION "${IRRLICHT_VERSION_MAJOR}.${IRRLICHT_VERSION_MINOR}.${IRRLICHT_VERSION_REVISION}")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Irrlicht
REQUIRED_VARS IRRLICHT_LIBRARY IRRLICHT_INCLUDE_DIR
VERSION_VAR IRRLICHT_VERSION)
# STK uses Irrlicht/OpenGL on all platforms
find_package(OpenGL REQUIRED)
# Publish variables
set(IRRLICHT_INCLUDE_DIRS ${IRRLICHT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
set(IRRLICHT_LIBRARIES ${IRRLICHT_LIBRARY} ${OPENGL_LIBRARIES})
mark_as_advanced(IRRLICHT_INCLUDE_DIR IRRLICHT_LIBRARY)
# Check if Xxf86vm is required when building for platforms using X11
if(UNIX AND NOT APPLE AND NOT CYGWIN)
find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
set(IRRLICHT_SNIPPET "#include <irrlicht.h>
int main() { irr::createDevice(irr::video::EDT_NULL)\; return 0\; }")
include(CheckCXXSourceCompiles)
set(CMAKE_REQUIRED_INCLUDES ${IRRLICHT_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${IRRLICHT_LIBRARIES})
check_cxx_source_compiles(${IRRLICHT_SNIPPET} IRRLICHT_WITHOUT_XF86VM)
# If it did not work without Xxf86vm library try with it again
if(NOT IRRLICHT_WITHOUT_XF86VM)
set(CMAKE_REQUIRED_LIBRARIES ${IRRLICHT_LIBRARIES} ${IRRLICHT_XF86VM_LIBRARY})
check_cxx_source_compiles(${IRRLICHT_SNIPPET} IRRLICHT_WITH_XF86VM)
if(NOT IRRLICHT_WITH_XF86VM)
message(WARNING "Irrlicht does not compile with and without Xxf86vm")
endif()
# Add Xxf86vm nevertheless as tests might fail under strange circumstances
set(IRRLICHT_LIBRARIES ${IRRLICHT_LIBRARIES} ${IRRLICHT_XF86VM_LIBRARY})
endif()
endif()

View File

@@ -1,40 +0,0 @@
# - Find OggVorbis
# Find the OggVorbis includes and libraries
#
# Following variables are provided:
# OGGVORBIS_FOUND
# True if OggVorbis has been found
# OGGVORBIS_INCLUDE_DIRS
# The include directories of OggVorbis
# OGGVORBIS_LIBRARIES
# OggVorbis library list
find_path(OGGVORBIS_OGG_INCLUDE_DIR NAMES ogg/ogg.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
find_path(OGGVORBIS_VORBIS_INCLUDE_DIR NAMES vorbis/vorbisfile.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
find_library(OGGVORBIS_OGG_LIBRARY NAMES ogg Ogg libogg PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_library(OGGVORBIS_VORBIS_LIBRARY NAMES vorbis Vorbis libvorbis PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_library(OGGVORBIS_VORBISFILE_LIBRARY NAMES vorbisfile libvorbisfile PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
if (APPLE)
set(OGGVORBIS_OGG_INCLUDE_DIR "/Library/Frameworks/Ogg.framework/Headers/")
set(OGGVORBIS_VORBIS_INCLUDE_DIR "/Library/Frameworks/Vorbis.framework/Headers/")
endif()
if(APPLE AND NOT OGGVORBIS_VORBISFILE_LIBRARY)
# Seems to be the same on Apple systems
set(OGGVORBIS_VORBISFILE_LIBRARY ${OGGVORBIS_VORBIS_LIBRARY})
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OggVorbis DEFAULT_MSG
OGGVORBIS_OGG_INCLUDE_DIR OGGVORBIS_VORBIS_INCLUDE_DIR
OGGVORBIS_OGG_LIBRARY OGGVORBIS_VORBIS_LIBRARY OGGVORBIS_VORBISFILE_LIBRARY)
# Publish variables
set(OGGVORBIS_INCLUDE_DIRS ${OGGVORBIS_OGG_INCLUDE_DIR} ${OGGVORBIS_VORBIS_INCLUDE_DIR})
set(OGGVORBIS_LIBRARIES ${OGGVORBIS_OGG_LIBRARY} ${OGGVORBIS_VORBIS_LIBRARY} ${OGGVORBIS_VORBISFILE_LIBRARY})
list(REMOVE_DUPLICATES OGGVORBIS_INCLUDE_DIRS)
list(REMOVE_DUPLICATES OGGVORBIS_LIBRARIES)
mark_as_advanced(OGGVORBIS_OGG_INCLUDE_DIR OGGVORBIS_VORBIS_INCLUDE_DIR)
mark_as_advanced(OGGVORBIS_OGG_LIBRARY OGGVORBIS_VORBIS_LIBRARY OGGVORBIS_VORBISFILE_LIBRARY)

View File

@@ -1,27 +0,0 @@
# Generate source groups which mimic the original folder hierarchy.
# This is mainly useful for MSVC's project explorer
# - 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()
foreach(header_file ${${HDRS}})
source_group_file(${header_file} "Header Files\\")
endforeach()
endfunction()
# Determine source_group depending on file path
# - FILE path to a file (header or source)
# - GROUP_PREFIX prefix for group name
function(source_group_file file group_prefix)
get_filename_component(file_path ${file} PATH)
if(${file_path} STREQUAL "src")
source_group("${group_prefix}" FILES ${file})
else()
string(REGEX REPLACE "^src/(.*)$" "\\1" group_name ${file_path})
string(REPLACE "/" "\\\\" group_name ${group_name})
source_group("${group_prefix}${group_name}" FILES ${file})
endif()
endfunction()

View File

@@ -1,45 +1,51 @@
# Process this file with autogen.sh to produce a configure script. dnl Process this file with autogen.sh to produce a configure script.
AC_INIT(supertuxkart,0.8) AC_INIT(supertuxkart, 0.6)
AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_SRCDIR([src/main.cpp])
AC_PREREQ(2.61) AC_PREREQ(2.61)
# ================================================ dnl ================================================
# Initialize the automake stuff dnl Initialize the automake stuff
# set the $host variable based on local machine/os dnl set the $host variable based on local machine/os
# ================================================ dnl ================================================
AC_CANONICAL_HOST AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([foreign tar-ustar]) AM_INIT_AUTOMAKE([foreign tar-ustar])
# ===================================================== dnl =====================================================
# Set the default CFLAGS/CXXFLAGS dnl Set the default CFLAGS/CXXFLAGS
# If these were not set, the AC_PROG_CC and AC_PROG_CXX dnl If these were not set, the AC_PROG_CC and AC_PROG_CXX
# scripts set them to "-g -O2". dnl scripts set them to "-g -O2".
# ===================================================== dnl =====================================================
CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes" CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes"
CXXFLAGS="$CXXFLAGS -Wall" CXXFLAGS="$CXXFLAGS -Wall"
# =================== dnl ===================
# Check for compilers dnl Check for compilers
# =================== dnl ===================
AC_PROG_CC AC_PROG_CC
AC_PROG_CPP AC_PROG_CPP
AC_PROG_CXX AC_PROG_CXX
# This macro defines WORDS_BIGENDIAN if building for a big endian machine. # This macro defines WORDS_BIGENDIAN if building for a big endian machine.
# This is required by ov_read (Ogg Vorbis)
AC_C_BIGENDIAN AC_C_BIGENDIAN
AC_LANG(C++) AC_LANG(C++)
# =========================== dnl ===========================
# Check for `configure' flags dnl Check for `configure' flags
# =========================== dnl ===========================
SUMMARY="\nSummary of optional components:\n===============================" SUMMARY="\nSummary of optional components:\n==============================="
if test "x$with_plib" != "x" ; then
echo "plib prefix is $with_plib"
EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
fi
AC_ARG_ENABLE(debug, [AS_HELP_STRING(--enable-debug, AC_ARG_ENABLE(debug, [AS_HELP_STRING(--enable-debug,
[enable debugging info])]) [enable debugging info])])
if test x$enable_debug = xyes; then if test x$enable_debug = xyes; then
@@ -63,57 +69,56 @@ else
SUMMARY="$SUMMARY\nDisabled compiler optimizations." SUMMARY="$SUMMARY\nDisabled compiler optimizations."
fi fi
# =================== dnl ===================
# Checks for programs. dnl Checks for programs.
# =================== dnl ===================
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
AC_PROG_RANLIB AC_PROG_RANLIB
AC_PROG_INSTALL AC_PROG_INSTALL
# =============================== dnl ===============================
# Check for MS Windows environment dnl Check for MS Windows environment
# ================================ dnl ================================
AC_CHECK_HEADER(windows.h) AC_CHECK_HEADER(windows.h)
# ================================== dnl ==================================
# check for OpenGL related libraries dnl check for OpenGL related libraries
# ================================== dnl ==================================
case "${host}" in case "${host}" in
*darwin*|*macosx*) *darwin*|*macosx*)
opengl_LIBS="$LIBS -framework Carbon -framework OpenGL -framework IOKit -framework AGL" opengl_LIBS="$LIBS -framework Carbon -framework OpenGL -framework IOKit -framework AGL"
;; ;;
*-*-cygwin* | *-*-mingw32*) *-*-cygwin* | *-*-mingw32*)
# CygWin under Windoze. dnl CygWin under Windoze.
echo Win32 specific hacks... echo Win32 specific hacks...
AC_DEFINE([WIN32], 1, [Define for Win32 platforms]) AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms]) AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
opengl_LIBS="-lopengl32 -luser32 -lgdi32 -lm -lwinmm" opengl_LIBS="-lglut32 -lglu32 -lopengl32 -luser32 -lgdi32 -lm -lwinmm"
joystick_LIBS="$joystick_LIBS -lwinmm" joystick_LIBS="$joystick_LIBS -lwinmm"
LDFLAGS="$LDFLAGS -mwindows"
echo "Will link apps with $LIBS" echo "Will link apps with $LIBS"
;; ;;
*) *)
# X-Windows based machines dnl X-Windows based machines
save_LIBS=$LIBS save_LIBS=$LIBS
AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ]) AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
opengl_LIBS="$LIBS" opengl_LIBS="$LIBS"
LIBS=$save_LIBS LIBS=$save_LIBS
if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
# if GLcore found, then also check for GL dnl if GLcore found, then also check for GL
AC_SEARCH_LIBS(glXCreateContext, GL) AC_SEARCH_LIBS(glXCreateContext, GL)
fi fi
;; ;;
esac esac
# ======================================== dnl ========================================
# check for OpenAL libraries dnl check for OpenAL libraries
# ======================================== dnl ========================================
save_LIBS=$LIBS save_LIBS=$LIBS
case "${host}" in case "${host}" in
@@ -152,15 +157,11 @@ LIBS="$save_LIBS"
save_LIBS=$LIBS save_LIBS=$LIBS
# also check in /usr/local dnl search for the libraries needed to use ogg vorbis
CPPFLAGS="${CPPFLAGS} -I/usr/local/include" AC_SEARCH_LIBS(ov_open, vorbisfile, have_vorbisfile_lib=yes)
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 if test x$have_vorbisfile_lib = xyes; then
# check for the headers needed by ogg vorbis dnl check for the headers needed by ogg vorbis
AC_CHECK_HEADER(vorbis/vorbisfile.h, have_vorbisfile_hdr=yes) AC_CHECK_HEADER(vorbis/vorbisfile.h, have_vorbisfile_hdr=yes)
AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes) AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes)
fi fi
@@ -183,200 +184,153 @@ LIBS=$save_LIBS
AC_LANG_PUSH(C++) AC_LANG_PUSH(C++)
# ================== # ==============================================
# Check for irrlicht # Check for "plib" without which we cannot go on
# ================== # ==============================================
AC_ARG_WITH(irrlicht, [AS_HELP_STRING(--with-irrlicht=PREFIX, # specify the plib location
[specify the prefix path to irrlicht])]) AC_ARG_WITH(plib, [AS_HELP_STRING(--with-plib=PREFIX,
if test "x$with_irrlicht" != "x" ; then [specify the prefix path to plib])])
CPPFLAGS="${CPPFLAGS} -I $with_irrlicht/include -I $with_irrlicht/include/irrlicht" if test "x$with_plib" != "x" ; then
AC_CHECK_HEADER(irrlicht.h, have_irrlicht_hdr=yes) echo "plib prefix is $with_plib"
if test x$have_irrlicht_hdr != xyes; then EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
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 fi
CPPFLAGS="${CPPFLAGS_Save} -I ${with_irrlicht}/include/irrlicht" AC_CHECK_HEADER(plib/ul.h)
if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
AC_MSG_ERROR([[cannot find useable plib installation. You need to install plib 1.8.4 or newer.]])
fi fi
case "${host}" in AC_MSG_CHECKING([for plib 1.8.4 or newer])
*-*-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([ AC_TRY_RUN([
# include "irrlicht.h" # include <plib/ul.h>
# define MIN_PLIB_VERSION 184
int main() { int main() {
irr::createDevice(irr::video::EDT_NULL); if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
return -1;
}
return 0; return 0;
} }
], ],
works_with_Xxf86vm="true", AC_MSG_RESULT(yes),
[ AC_MSG_RESULT(wrong version);
AC_MSG_ERROR([plib 1.8.4 or later is needed. Please intall it first.])],
AC_MSG_RESULT(yes)
) )
if test x$works_with_Xxf86vm = xtrue; then
irrlicht_LIBS="$irrlicht_LIBS -lXxf86vm"
irrlicht_sample_built_fine="true" dnl =======================
dnl check for SDL libraries
dnl =======================
dnl Potentially sdl-config could be used, but apparently that might not
dnl exist on all platforms, so doing the 'classical' test is safer :(
case "${host}" in
*)
dnl default unix style machines
dnl check for libraries
save_LIBS=$LIBS
AC_SEARCH_LIBS(SDL_Init, SDL, have_SDL_lib=yes)
sdl_LIBS="$LIBS"
LIBS=$save_LIBS
dnl check for header files
AC_CHECK_HEADER(SDL/SDL.h, have_SDL_hdr=yes)
if test x$have_SDL_hdr != xyes -o x$have_SDL_lib != xyes; then
AC_MSG_ERROR([Install SDL first...])
fi fi
fi
;; AC_TRY_RUN([
# include <SDL/SDL.h>
int main() {
if ( SDL_VERSION_ATLEAST(1,2,10)) {
return 0;
}
return -1;
}
],
:,
AC_MSG_WARN([Your SDL version uses deprecated
headers. Please update to version 1.2.10 or higher if possible.
Currently this doesn't affects the game at all.])
)
esac 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 dnl ======================================================
echo -n "checking irrlicht version is recent enough... " dnl Try to supply the SVN revision number for the compiler
dnl ======================================================
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") AC_CHECK_PROGS(have_svnversion,[svnversion],"no")
if test x$have_svnversion != xno; then if test x$have_svnversion != xno; then
SVNVERSION="`svnversion $srcdir`" SVNVERSION="`svnversion $srcdir`"
AC_DEFINE_UNQUOTED([SVNVERSION],"$SVNVERSION",["SVN revision number"]) AC_DEFINE_UNQUOTED([SVNVERSION],"$SVNVERSION",["SVN revision number"])
fi fi
# ============== AC_MSG_CHECKING([for gcc -fno-regmove option ])
# Bullet physics
# ============== dnl =========================
dnl test regmove compiler bug
dnl =========================
dnl Test if -fno-regmove is supported, since -fregmove (which is part of -O2 on
dnl g++) triggers an optimisation problem with static_ssg:
ORIGCXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -fno-regmove"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
AC_MSG_RESULT(yes); NOREGMOVE=-fno-regmove,
AC_MSG_RESULT(no); NOREGMOVE="")
CXXFLAGS="$ORIGCXXFLAGS"
AC_SUBST(NOREGMOVE)
dnl ==============================================
dnl Glut (optional), used by bullet debugging only
dnl ==============================================
save_LIBS=$LIBS
save_LDFLAGS=$LDFLAGS
save_CXXFLAGS=$CXXFLAGS
case "${host}" in
*darwin*|*macosx*)
dnl Apparently -framework is needed for include files and libraries
CXXFLAGS="$CXXFLAGS -framework GLUT"
LDFLAGS="$LDFLAGS -framework GLUT"
esac
AC_SEARCH_LIBS(glutInit, [glut], have_glut_lib=yes)
if test x$have_glut_lib = xyes; then
# Apple has the headers in GLUT/glut.h instead of GL/glut.h
AC_CHECK_HEADERS([GL/glut.h GLUT/glut.h], have_glut_hdr=yes)
fi
if test x$have_glut_hdr = xyes; then
AC_DEFINE(HAVE_GLUT)
SUMMARY="$SUMMARY\nGlut found, enabling optional bullet debug"
else
SUMMARY="$SUMMARY\nNo glut found, disabling bullet debug"
dnl Remove the unnecessary -framework GLUT on Macs (no impact
dnl of this on any other platforms)
CXXFLAGS=$save_CSSFLAGS
LDFLAGS=$save_LDFLAGS
fi
glut_LIBS="$LIBS"
LIBS=$save_LIBS
dnl ==============
dnl Bullet physics
dnl ==============
AC_DEFINE([BT_NO_PROFILE], [], [Disable bullet internal profiling]) AC_DEFINE([BT_NO_PROFILE], [], [Disable bullet internal profiling])
BULLETTREE="lib/bullet" SUMMARY="$SUMMARY\nUsing bullet physics."
bullet_LIBS="-L../lib/bullet/src -lbulletdynamics -lbulletcollision -lbulletmath" BULLETTREE="src/bullet"
bullet_LIBS=""
if test x$have_glut_hdr = xyes; then
bullet_LIBS="-Lbullet/Demos/OpenGL -lbulletopenglsupport"
fi
bullet_LIBS="$bullet_LIBS -Lbullet/src -lbulletdynamics -lbulletcollision -lbulletmath"
# ==== dnl ====
# enet dnl enet
# ==== dnl ====
AC_CHECK_FUNC(gethostbyaddr_r, [AC_DEFINE(HAS_GETHOSTBYADDR_R)]) AC_CHECK_FUNC(gethostbyaddr_r, [AC_DEFINE(HAS_GETHOSTBYADDR_R)])
AC_CHECK_FUNC(gethostbyname_r, [AC_DEFINE(HAS_GETHOSTBYNAME_R)]) AC_CHECK_FUNC(gethostbyname_r, [AC_DEFINE(HAS_GETHOSTBYNAME_R)])
AC_CHECK_FUNC(poll, [AC_DEFINE(HAS_POLL)]) AC_CHECK_FUNC(poll, [AC_DEFINE(HAS_POLL)])
@@ -399,64 +353,72 @@ case "${host}" in
enet_LIBS="-Lenet -lenet -lws2_32" enet_LIBS="-Lenet -lenet -lws2_32"
;; ;;
*) *)
enet_LIBS="-L../lib/enet -lenet" enet_LIBS="-Lenet -lenet"
;; ;;
esac esac
ENETTREE="lib/enet" SUMMARY="$SUMMARY\nUsing enet network support."
ENETTREE="src/enet"
# ========================================== # Check for gettext
# Check for a known compiler bug, details in CHECK_GETTEXT(external)
# src/bullet/src/Makefile.am
# ========================================== dnl =======================================================
ORIGCXXFLAGS="$CXXFLAGS" dnl Add special compiler flags for SDL on certain platforms
CXXFLAGS="$CXXFLAGS -fno-elide-constructors" dnl =======================================================
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], case "${host}" in
AC_MSG_RESULT(yes); NOELIDE=-fno-elide-constructors, *darwin*|*macosx*)
AC_MSG_RESULT(no); NOELIDE="") dnl SDL on Macs needs to link in SDLmain, since it includes the
CXXFLAGS="$ORIGCXXFLAGS" dnl actual main program (on Macs #include "SDL/SDL.h" renames
AC_SUBST(NOELIDE) dnl main into SDL_main, which then gets called from the new
dnl main program included in SDLmain. This is necessary to
dnl install a proper framework for SDL).
dnl This can't be done earlier, since all SDL tests program
dnl from configure do NOT include SDL/SDL.h, therefore the
dnl main program gets not replaced, and then getting an linking
dnl error about main defined twice :((
AC_CHECK_PROGS(have_sdl_config,[sdl-config],"no")
if test x$have_sdl_config != xno; then
LDFLAGS="$LDFLAGS `sdl-config --libs`"
CXXFLAGS="$CXXFLAGS `sdl-config --cflags`"
fi
esac
# ========================= # =========================
# subst bars in Makefile.am # subst bars in Makefile.am
# ========================= # =========================
AC_SUBST(irrlicht_LIBS)
AC_SUBST(fribidi_LIBS)
AC_SUBST(bullet_LIBS) AC_SUBST(bullet_LIBS)
AC_SUBST(enet_LIBS) AC_SUBST(enet_LIBS)
AC_SUBST(opengl_LIBS) AC_SUBST(opengl_LIBS)
AC_SUBST(openal_LIBS) AC_SUBST(openal_LIBS)
AC_SUBST(oggvorbis_LIBS) AC_SUBST(oggvorbis_LIBS)
AC_SUBST(glut_LIBS)
AC_SUBST(sdl_LIBS)
AC_SUBST(BULLETTREE) AC_SUBST(BULLETTREE)
AC_SUBST(ENETTREE) AC_SUBST(ENETTREE)
# ================ dnl ================
# Create makefiles dnl Create makefiles
# ================ dnl ================
AC_CONFIG_FILES([ \ AC_CONFIG_FILES([ \
Makefile \ Makefile \
data/Makefile \ data/Makefile \
data/challenges/Makefile \
data/fonts/Makefile \ data/fonts/Makefile \
data/gfx/Makefile \
data/grandprix/Makefile \ data/grandprix/Makefile \
data/gui/Makefile \ data/items/Makefile \
data/karts/Makefile \ data/karts/Makefile \
data/models/Makefile \ data/models/Makefile \
data/music/Makefile \ data/music/Makefile \
data/po/Makefile \ data/po/Makefile \
data/shaders/Makefile \
data/sfx/Makefile \ data/sfx/Makefile \
data/textures/Makefile \ data/textures/Makefile \
data/tracks/Makefile \ data/tracks/Makefile \
data/tutorials/Makefile \
doc/Makefile \ doc/Makefile \
src/Makefile \ src/Makefile \
src/ide/Makefile \ src/ide/Makefile \
lib/bullet/Makefile \ src/bullet/Makefile \
lib/bullet/src/Makefile \ src/bullet/src/Makefile \
lib/enet/Makefile \ src/bullet/Demos/OpenGL/Makefile \
tools/Makefile src/enet/Makefile \
]) ])
AC_OUTPUT AC_OUTPUT
echo -e $SUMMARY echo -e $SUMMARY

1
contrib/README.contrib Normal file
View File

@@ -0,0 +1 @@
In this directory there are unsorted files that can be useful, but aren't used inside the game yet.

241
contrib/black_closedbook.ac Normal file
View File

@@ -0,0 +1,241 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat3" rgb 0.125 0.114 0.102 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.502 0.502 0.502 shi 10 trans 0
OBJECT world
kids 7
OBJECT poly
name "box"
loc -0.9 0.05 -1.05
numvert 8
-0.7 -0.05 -1.15
-0.7 0.05 -1.15
0.7 0.05 -1.15
0.7 -0.05 -1.15
-0.7 -0.05 1.15
-0.7 0.05 1.15
0.7 0.05 1.15
0.7 -0.05 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.9 0.35 -1.05
numvert 8
-0.7 -0.05 -1.15
-0.7 0.05 -1.15
0.7 0.05 -1.15
0.7 -0.05 -1.15
-0.7 -0.05 1.15
-0.7 0.05 1.15
0.7 0.05 1.15
0.7 -0.05 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.15 0.20203 -1.05
numvert 8
-0.05 -0.15 -1.15
-0.05 0.15 -1.15
0.05 0.15 -1.15
0.05 -0.15 -1.15
-0.05 -0.15 1.15
-0.05 0.15 1.15
0.05 0.15 1.15
0.05 -0.15 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
-0.65 -0.1 -1.05
-0.65 0.1 -1.05
0.65 0.1 -1.05
0.65 -0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
0.65 0.1 1.05
0.65 -0.1 1.05
0.65 -0.1 -1.05
0.65 0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 0 1
1 0 0
2 1 0
3 1 1
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
0.65 -0.1 1.05
0.65 0.1 1.05
-0.65 0.1 1.05
-0.65 -0.1 1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
-0.65 -0.1 1.05
-0.65 0.1 1.05
-0.65 0.1 -1.05
-0.65 -0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0

468
contrib/black_openbook.ac Normal file
View File

@@ -0,0 +1,468 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat3" rgb 0.133 0.153 0.122 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.502 0.502 0.502 shi 10 trans 0
OBJECT world
kids 3
OBJECT poly
name "box"
loc 0 1.21271 -1.16783
numvert 24
0.889244 1.16215 -0.166283
0.802644 1.16214 -0.216282
0.00623977 1.16214 1.05596
0.0928401 1.16215 1.10596
0.889247 -1.13786 -0.166282
0.802644 -1.13786 -0.216282
0.00624018 -1.13786 1.05597
0.0928425 -1.13786 1.10597
-0.1 1.16215 1.2173
-0.1 1.16214 1.1173
-1.6 1.16214 1.17089
-1.6 1.16215 1.27088
-0.1 -1.13786 1.2173
-0.1 -1.13786 1.1173
-1.6 -1.13786 1.17089
-1.6 -1.13786 1.27089
0.166074 1.14416 1.0949
0.0875697 1.14415 1.04957
-0.17794 1.14415 1.18454
-0.17794 1.14416 1.27519
0.166069 -1.1711 1.0949
0.0875686 -1.1711 1.04957
-0.17794 -1.1711 1.18454
-0.17794 -1.1711 1.27518
numsurf 18
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
SURF 0x10
mat 1
refs 4
8 1 0
9 1 1
10 0 1
11 0 0
SURF 0x10
mat 1
refs 4
14 0 1
15 0 0
11 1 0
10 1 1
SURF 0x10
mat 1
refs 4
15 1 0
14 1 1
13 0 1
12 0 0
SURF 0x10
mat 1
refs 4
12 1 0
13 1 1
9 0 1
8 0 0
SURF 0x10
mat 1
refs 4
9 0 0
13 1 0
14 1 1
10 0 1
SURF 0x10
mat 1
refs 4
12 0 0
8 1 0
11 1 1
15 0 1
SURF 0x10
mat 1
refs 4
16 1 0
17 1 1
18 0 1
19 0 0
SURF 0x10
mat 1
refs 4
22 0 1
23 0 0
19 1 0
18 1 1
SURF 0x10
mat 1
refs 4
23 1 0
22 1 1
21 0 1
20 0 0
SURF 0x10
mat 1
refs 4
20 1 0
21 1 1
17 0 1
16 0 0
SURF 0x10
mat 1
refs 4
17 0 0
21 1 0
22 1 1
18 0 1
SURF 0x10
mat 1
refs 4
20 0 0
16 1 0
19 1 1
23 0 1
kids 0
OBJECT poly
name "mesh"
loc -0.724976 1.1989 -1.28171
texture "../images/homework.rgb"
texrep -1 1
texoff -0.02 0
numvert 20
0.247142 -1.08817 1.08951
-0.661664 -1.08817 1.20644
-0.661964 1.08817 1.2081
0.247142 1.08817 1.0895
0.413804 1.08817 1.04951
0.413804 -1.08817 1.04951
0.580474 -1.08817 1.08424
0.580474 1.08817 1.08424
0.733932 1.08817 1.28801
0.733927 -1.08817 1.28801
0.189261 -1.08817 1.21685
-0.723994 -1.08817 1.28994
-0.723994 1.08817 1.28994
0.189261 1.08817 1.21685
0.390654 1.08816 1.17685
0.390654 -1.08817 1.17685
0.638354 -1.08817 1.25788
0.638354 1.08817 1.25788
0.666104 1.08817 1.35049
0.666104 -1.08817 1.35049
numsurf 19
SURF 0x10
mat 0
refs 3
0 0.670682 0
1 0.0430446 0.000216054
2 0.0428392 0.999303
SURF 0x10
mat 0
refs 3
3 0.670682 1
0 0.670682 0
2 0.0428392 0.999303
SURF 0x10
mat 0
refs 3
4 0.785785 1
0 0.670682 0
3 0.670682 1
SURF 0x10
mat 0
refs 3
5 0.785785 0
0 0.670682 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
6 0.900887 0
5 0.785785 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
7 0.900887 1
6 0.900887 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
8 1 1
6 0.900887 0
7 0.900887 1
SURF 0x10
mat 0
refs 3
9 1 0
6 0.900887 0
8 1 1
SURF 0x10
mat 0
refs 4
0 0.670682 0
10 0.630709 0
11 0 0.000324094
1 0.0430446 0.000216054
SURF 0x10
mat 0
refs 4
2 0.0428392 0.999303
12 0 0.998606
13 0.630709 1
3 0.670682 1
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
10 0.630709 0
0 0.670682 0
SURF 0x10
mat 0
refs 4
3 0.670682 1
13 0.630709 1
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
5 0.785785 0
15 0.769795 0
10 0.630709 0
0 0.670682 0
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
15 0.769795 0
5 0.785785 0
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
17 0.940861 1
7 0.900887 1
SURF 0x10
mat 0
refs 4
8 1 1
18 0.960026 1
16 0.940861 0
6 0.900887 0
SURF 0x10
mat 0
refs 4
7 0.900887 1
17 0.940861 1
18 0.960026 1
8 1 1
SURF 0x10
mat 0
refs 4
9 1 0
19 0.960026 0
16 0.940861 0
6 0.900887 0
SURF 0x30
mat 0
refs 4
12 0 0.998606
2 0.0428392 0.999303
1 0.0430446 0.000216054
11 0 0.000324094
kids 0
OBJECT poly
name "mesh"
loc 0.724976 1.20186 -1.33573
texture "../images/homework.rgb"
texoff -0.02 0
numvert 20
-0.142032 1.08817 0.0707934
-0.143624 -1.08816 0.0702209
-0.699298 -1.08816 0.798807
-0.699293 1.08817 0.79881
-0.817265 1.08817 0.923148
-0.817271 -1.08816 0.923144
-0.870526 -1.08816 1.08485
-0.870527 1.08817 1.08485
-0.761829 1.08817 1.31332
-0.761829 -1.08816 1.31332
-0.0401483 -1.08816 0.0579898
-0.560077 -1.08816 0.81235
-0.560073 1.08817 0.812352
-0.0401469 1.08817 0.0579908
-0.695416 1.08817 0.966764
-0.695415 -1.08816 0.966764
-0.749089 -1.08816 1.2218
-0.749085 1.08817 1.2218
-0.682765 1.08817 1.29213
-0.682761 -1.08816 1.29213
numsurf 19
SURF 0x10
mat 0
refs 3
0 0.0428392 0.999303
1 0.0430446 0.000216054
2 0.670682 0
SURF 0x10
mat 0
refs 3
0 0.0428392 0.999303
2 0.670682 0
3 0.670682 1
SURF 0x10
mat 0
refs 3
3 0.670682 1
2 0.670682 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
4 0.785785 1
2 0.670682 0
5 0.785785 0
SURF 0x10
mat 0
refs 3
4 0.785785 1
5 0.785785 0
6 0.900887 0
SURF 0x10
mat 0
refs 3
4 0.785785 1
6 0.900887 0
7 0.900887 1
SURF 0x10
mat 0
refs 3
7 0.900887 1
6 0.900887 0
8 1 1
SURF 0x10
mat 0
refs 3
8 1 1
6 0.900887 0
9 1 0
SURF 0x10
mat 0
refs 4
1 0.0430446 0.000216054
10 0 0.000324094
11 0.630709 0
2 0.670682 0
SURF 0x10
mat 0
refs 4
3 0.670682 1
12 0.630709 1
13 0 0.998606
0 0.0428392 0.999303
SURF 0x10
mat 0
refs 4
2 0.670682 0
11 0.630709 0
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
12 0.630709 1
3 0.670682 1
SURF 0x10
mat 0
refs 4
2 0.670682 0
11 0.630709 0
15 0.769795 0
5 0.785785 0
SURF 0x10
mat 0
refs 4
5 0.785785 0
15 0.769795 0
16 0.940861 0
6 0.900887 0
SURF 0x10
mat 0
refs 4
7 0.900887 1
17 0.940861 1
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
18 0.960026 1
8 1 1
SURF 0x10
mat 0
refs 4
8 1 1
18 0.960026 1
17 0.940861 1
7 0.900887 1
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
19 0.960026 0
9 1 0
SURF 0x30
mat 0
refs 4
10 0 0.000324094
1 0.0430446 0.000216054
0 0.0428392 0.999303
13 0 0.998606
kids 0

241
contrib/closedbook.ac Normal file
View File

@@ -0,0 +1,241 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat3" rgb 1 0 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
OBJECT world
kids 7
OBJECT poly
name "box"
loc -0.9 0.05 -1.05
numvert 8
-0.7 -0.05 -1.15
-0.7 0.05 -1.15
0.7 0.05 -1.15
0.7 -0.05 -1.15
-0.7 -0.05 1.15
-0.7 0.05 1.15
0.7 0.05 1.15
0.7 -0.05 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.9 0.35 -1.05
numvert 8
-0.7 -0.05 -1.15
-0.7 0.05 -1.15
0.7 0.05 -1.15
0.7 -0.05 -1.15
-0.7 -0.05 1.15
-0.7 0.05 1.15
0.7 0.05 1.15
0.7 -0.05 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.15 0.20203 -1.05
numvert 8
-0.05 -0.15 -1.15
-0.05 0.15 -1.15
0.05 0.15 -1.15
0.05 -0.15 -1.15
-0.05 -0.15 1.15
-0.05 0.15 1.15
0.05 0.15 1.15
0.05 -0.15 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
-0.65 -0.1 -1.05
-0.65 0.1 -1.05
0.65 0.1 -1.05
0.65 -0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
0.65 0.1 1.05
0.65 -0.1 1.05
0.65 -0.1 -1.05
0.65 0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 0 1
1 0 0
2 1 0
3 1 1
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
0.65 -0.1 1.05
0.65 0.1 1.05
-0.65 0.1 1.05
-0.65 -0.1 1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
-0.65 -0.1 1.05
-0.65 0.1 1.05
-0.65 0.1 -1.05
-0.65 -0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0

Binary file not shown.

View File

@@ -0,0 +1,78 @@
#
# Track itself.
#
"geekopeak.ac",0,0,0,0,0,0
#
"tree1.ac",0,35,{},90,{},{}
"tree1.ac",-10,35,{},90,{},{}
"tree1.ac",-20,35,{},90,{},{}
"tree1.ac",-30,35,{},90,{},{}
"tree1.ac",-40,38,{},90,{},{}
"tree1.ac",-50,38,{},90,{},{}
"tree1.ac",-60,38,{},90,{},{}
"tree1.ac",-70,38,{},90,{},{}
"tree1.ac",-80,40,{},90,{},{}
"tree1.ac",-90,40,{},90,{},{}
"tree1.ac",-100,40,{},90,{},{}
"tree1.ac",-110,40,{},90,{},{}
"tree1.ac",-120,40,{},90,{},{}
"tree1.ac",-130,36,{},90,{},{}
"tree1.ac",-140,36,{},90,{},{}
#"tree1.ac",-45,-35,{},90,{},{}
#"tree1.ac",-152,-25,{},180,{},{}
#"tree1.ac",-50,-90,{},90,{},{}
#"tree1.ac",-15,-60,{},180,{},{}
#
#"roadblock.ac",60,-29,{},0,{},{}
#"roadcone.ac",58,-33,{},27,{},{}
#"roadcone.ac",56,-34,{},147,{},{}
#"roadcone.ac",54,-35,{},47,{},{}
#"icecreamtruck.ac",70,-30,{},-110,{},{}
#"mytruck.ac",-60,105,{},-100,{},{}
#
#"multisign.ac",26,85,{},-55,{},{}
#"multisign.ac",110,-90,{},-125,{},{}
#"tuxsign.ac",-30,80,0,45,0,0
#"vasign.ac",30,100,0,-90,0,0
#"susesign.ac",130,-40,5,-90,0,0
#
#"explode.ac",0,0,1,0,0,0
#
YHERRING,-115,-95
RHERRING,0,25
RHERRING,-60,30
RHERRING,-60,33
RHERRING,-60,27
RHERRING,-150,-20
RHERRING,-150,-40
RHERRING,-150,-60
RHERRING,-150,-80
RHERRING,-150,-100
RHERRING,-30,-110
RHERRING,-30,-113
RHERRING,-33,-110
RHERRING,-33,-113
RHERRING,20,-65
RHERRING,20,-90
SHERRING,70,-70
SHERRING,70,-80
SHERRING,70,-90
SHERRING,70,-100
GHERRING,0,-30
GHERRING,5,-30
GHERRING,-5,-30
GHERRING,-100,-10
GHERRING,-100,-20
GHERRING,-100,-30
GHERRING,-100,-40
MUSIC "mods/tk2.mod"

View File

@@ -0,0 +1,20 @@
This directory contains the following files:
tree1.blend
A tree, created in blender 2.33a.
(1349 Verticies, 708 Faces, 14 Objects.)
umbrella1.blend
An umbrella, created in blender 2.33a.
For the beach level(s) of tuxkart.
I haven't scaled it to the correct size yet.
umbrella1.jpg
Rendered image of 'umbrealla1.blend'.
tree1.ac
'tree1.blend' in AC format, created by blender's AC3DExport
version 2.32-1. Place this file in tuxkart 'model' directory.
geekopeak.loc
An updated 'Geeko's Peak' track location file that includes the
'tree1.ac' model. Place this file in tuxkart 'data' directory.
Used for testing and demonstration purposes.
Craig Keogh
<cskeogh@bigpond.net.au>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

6200
contrib/cskeogh/tree1.ac Normal file

File diff suppressed because it is too large Load Diff

BIN
contrib/cskeogh/tree1.blend Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

37
contrib/drvsorter.rb Normal file
View File

@@ -0,0 +1,37 @@
def dist(p1, p2)
return Math.sqrt((p2[0] - p1[0])**2 +(p2[1] - p1[1])**2)
end
f = File.new("/tmp/test.drv", "r")
points = []
while !f.eof?
line = f.readline()
(x, y) = line.scan(/(.*),(.*)/)[0]
x = x.to_f
y = y.to_f
points.push([x, y])
end
ppoints = points.clone()
p1 = points.pop
while !points.empty?
print p1[0], ", ", p1[1], "\n"
min_dist = 9999999999
min_dist_i = -1
points.each_index{|i|
p2 = points[i]
if (dist(p1, p2) < min_dist)
min_dist = dist(p1, p2)
min_dist_i = i
end
}
p1 = points[min_dist_i]
points.delete_at(min_dist_i)
end
print p1[0], ", ", p1[1], "\n"
# EOF #

4545
contrib/geekokart.ac Normal file

File diff suppressed because it is too large Load Diff

3717
contrib/gownkart.ac Normal file

File diff suppressed because it is too large Load Diff

324
contrib/lunchbox.ac Normal file
View File

@@ -0,0 +1,324 @@
AC3Db
MATERIAL "ac3dmat0" rgb 0 0 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
OBJECT world
kids 2
OBJECT poly
name "line"
loc -0.0499999 1.7 -0.0500001
texture "./../images/lunchbox.rgb"
texrep 0.9 0.8
texoff 0.07 -0.02
numvert 26
0.55 -0.6 -1.05
0.55 -0.884701 2.11252
0.55 0.884701 2.11252
-0.55 -0.884701 2.11252
-0.55 0.884701 2.11252
-0.55 -0.6 -1.05
0.55 -1.37782 1.82782
-0.55 -1.37782 1.82782
0.55 -1.66252 1.3347
-0.55 -1.66252 1.3347
0.55 -1.66252 -1.3347
-0.55 -1.66252 -1.3347
0.55 -1.37782 -1.82782
-0.55 -1.37782 -1.82782
0.55 -0.884701 -2.11252
-0.55 -0.884701 -2.11252
0.55 0.884701 -2.11252
-0.55 0.884701 -2.11252
0.55 1.37782 -1.82782
-0.55 1.37782 -1.82782
0.55 1.66252 -1.3347
-0.55 1.66252 -1.3347
0.55 1.66252 1.3347
-0.55 1.66252 1.3347
0.55 1.37782 1.82782
-0.55 1.37782 1.82782
numsurf 36
SURF 0x10
mat 1
refs 3
2 0 0.766073
1 5.64299e-08 0.233928
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
4 0 0
3 1 0
1 1 1
2 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
3 5.64299e-08 0.233928
4 0 0.766073
SURF 0x10
mat 1
refs 3
1 5.64299e-08 0.233928
6 0.0673843 0.0856234
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
3 0 0
7 1 0
6 1 1
1 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
7 0.0673843 0.0856234
3 5.64299e-08 0.233928
SURF 0x10
mat 1
refs 3
6 0.0673843 0.0856234
8 0.184097 3.5852e-08
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
7 0 0
9 1 0
8 1 1
6 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
9 0.184097 3.5852e-08
7 0.0673843 0.0856234
SURF 0x10
mat 1
refs 3
8 0.184097 3.5852e-08
10 0.815903 7.1704e-08
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
9 0 0
11 1 0
10 1 1
8 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
11 0.815903 7.1704e-08
9 0.184097 3.5852e-08
SURF 0x10
mat 1
refs 3
10 0.815903 7.1704e-08
12 0.932616 0.0856234
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
11 0 0
13 1 0
12 1 1
10 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
13 0.932616 0.0856234
11 0.815903 7.1704e-08
SURF 0x10
mat 1
refs 3
12 0.932616 0.0856234
14 1 0.233928
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
13 0 0
15 1 0
14 1 1
12 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
15 1 0.233928
13 0.932616 0.0856234
SURF 0x10
mat 1
refs 3
14 1 0.233928
16 1 0.766073
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
15 1 0
17 0 0
16 0 1
14 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
17 1 0.766073
15 1 0.233928
SURF 0x10
mat 1
refs 3
16 1 0.766073
18 0.932616 0.914377
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
17 1 0
19 0 0
18 0 1
16 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
19 0.932616 0.914377
17 1 0.766073
SURF 0x10
mat 1
refs 3
18 0.932616 0.914377
20 0.815903 1
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
19 1 0
21 0 0
20 0 1
18 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
21 0.815903 1
19 0.932616 0.914377
SURF 0x10
mat 1
refs 3
20 0.815903 1
22 0.184097 1
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
21 1 0
23 0 0
22 0 1
20 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
23 0.184097 1
21 0.815903 1
SURF 0x10
mat 1
refs 3
22 0.184097 1
24 0.0673842 0.914377
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
23 1 0
25 0 0
24 0 1
22 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
25 0.0673842 0.914377
23 0.184097 1
SURF 0x10
mat 1
refs 3
24 0.0673842 0.914377
2 0 0.766073
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
25 1 0
4 0 0
2 0 1
24 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
4 0 0.766073
25 0.0673842 0.914377
kids 0
OBJECT poly
name "box"
loc -0.0499998 3.6 -0.15
numvert 8
-0.25 0.0999999 1.25
0.25 0.0999999 1.25
0.25 0.0999999 -1.25
-0.25 0.0999999 -1.25
-0.25 -0.0999999 1.25
0.25 -0.0999999 1.25
0.25 -0.0999999 -1.25
-0.25 -0.0999999 -1.25
numsurf 6
SURF 0x0
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x0
mat 0
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x0
mat 0
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x0
mat 0
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x0
mat 0
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x0
mat 0
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0

322
contrib/lunchbox2.ac Normal file
View File

@@ -0,0 +1,322 @@
AC3Db
MATERIAL "ac3dmat0" rgb 0 0 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
OBJECT world
kids 2
OBJECT poly
name "line"
loc 0.0500001 1.6 0.25
texture "./../images/lunchbox2.rgb"
numvert 26
0.55 -0.6 -1.05
0.55 -0.884701 2.11252
0.55 0.884701 2.11252
-0.55 -0.884701 2.11252
-0.55 0.884701 2.11252
-0.55 -0.6 -1.05
0.55 -1.37782 1.82782
-0.55 -1.37782 1.82782
0.55 -1.66252 1.3347
-0.55 -1.66252 1.3347
0.55 -1.66252 -1.3347
-0.55 -1.66252 -1.3347
0.55 -1.37782 -1.82782
-0.55 -1.37782 -1.82782
0.55 -0.884701 -2.11252
-0.55 -0.884701 -2.11252
0.55 0.884701 -2.11252
-0.55 0.884701 -2.11252
0.55 1.37782 -1.82782
-0.55 1.37782 -1.82782
0.55 1.66252 -1.3347
-0.55 1.66252 -1.3347
0.55 1.66252 1.3347
-0.55 1.66252 1.3347
0.55 1.37782 1.82782
-0.55 1.37782 1.82782
numsurf 36
SURF 0x10
mat 1
refs 3
2 0 0.766073
1 5.64299e-08 0.233928
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
4 0 0
3 1 0
1 1 1
2 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
3 5.64299e-08 0.233928
4 0 0.766073
SURF 0x10
mat 1
refs 3
1 5.64299e-08 0.233928
6 0.0673843 0.0856234
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
3 0 0
7 1 0
6 1 1
1 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
7 0.0673843 0.0856234
3 5.64299e-08 0.233928
SURF 0x10
mat 1
refs 3
6 0.0673843 0.0856234
8 0.184097 3.5852e-08
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
7 0 0
9 1 0
8 1 1
6 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
9 0.184097 3.5852e-08
7 0.0673843 0.0856234
SURF 0x10
mat 1
refs 3
8 0.184097 3.5852e-08
10 0.815903 7.1704e-08
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
9 0 0
11 1 0
10 1 1
8 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
11 0.815903 7.1704e-08
9 0.184097 3.5852e-08
SURF 0x10
mat 1
refs 3
10 0.815903 7.1704e-08
12 0.932616 0.0856234
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
11 0 0
13 1 0
12 1 1
10 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
13 0.932616 0.0856234
11 0.815903 7.1704e-08
SURF 0x10
mat 1
refs 3
12 0.932616 0.0856234
14 1 0.233928
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
13 0 0
15 1 0
14 1 1
12 0 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
15 1 0.233928
13 0.932616 0.0856234
SURF 0x10
mat 1
refs 3
14 1 0.233928
16 1 0.766073
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
15 1 0
17 0 0
16 0 1
14 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
17 1 0.766073
15 1 0.233928
SURF 0x10
mat 1
refs 3
16 1 0.766073
18 0.932616 0.914377
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
17 1 0
19 0 0
18 0 1
16 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
19 0.932616 0.914377
17 1 0.766073
SURF 0x10
mat 1
refs 3
18 0.932616 0.914377
20 0.815903 1
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
19 1 0
21 0 0
20 0 1
18 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
21 0.815903 1
19 0.932616 0.914377
SURF 0x10
mat 1
refs 3
20 0.815903 1
22 0.184097 1
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
21 1 0
23 0 0
22 0 1
20 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
23 0.184097 1
21 0.815903 1
SURF 0x10
mat 1
refs 3
22 0.184097 1
24 0.0673842 0.914377
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
23 1 0
25 0 0
24 0 1
22 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
25 0.0673842 0.914377
23 0.184097 1
SURF 0x10
mat 1
refs 3
24 0.0673842 0.914377
2 0 0.766073
0 0.748519 0.319551
SURF 0x10
mat 1
refs 4
25 1 0
4 0 0
2 0 1
24 1 1
SURF 0x10
mat 1
refs 3
5 0.748519 0.319551
4 0 0.766073
25 0.0673842 0.914377
kids 0
OBJECT poly
name "box"
loc 0.0500002 3.5 0.15
numvert 8
-0.25 0.0999999 1.25
0.25 0.0999999 1.25
0.25 0.0999999 -1.25
-0.25 0.0999999 -1.25
-0.25 -0.0999999 1.25
0.25 -0.0999999 1.25
0.25 -0.0999999 -1.25
-0.25 -0.0999999 -1.25
numsurf 6
SURF 0x0
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x0
mat 0
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x0
mat 0
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x0
mat 0
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x0
mat 0
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x0
mat 0
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0

16559
contrib/nolokkart.ac Normal file

File diff suppressed because it is too large Load Diff

13676
contrib/old_tuxkart.ac Normal file

File diff suppressed because it is too large Load Diff

468
contrib/openbook.ac Normal file
View File

@@ -0,0 +1,468 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat3" rgb 1 0 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
OBJECT world
kids 3
OBJECT poly
name "box"
loc 0 1.21271 -1.16783
numvert 24
0.889244 1.16215 -0.166283
0.802644 1.16214 -0.216282
0.00623977 1.16214 1.05596
0.0928401 1.16215 1.10596
0.889247 -1.13786 -0.166282
0.802644 -1.13786 -0.216282
0.00624018 -1.13786 1.05597
0.0928425 -1.13786 1.10597
-0.1 1.16215 1.2173
-0.1 1.16214 1.1173
-1.6 1.16214 1.17089
-1.6 1.16215 1.27088
-0.1 -1.13786 1.2173
-0.1 -1.13786 1.1173
-1.6 -1.13786 1.17089
-1.6 -1.13786 1.27089
0.166074 1.14416 1.0949
0.0875697 1.14415 1.04957
-0.17794 1.14415 1.18454
-0.17794 1.14416 1.27519
0.166069 -1.1711 1.0949
0.0875686 -1.1711 1.04957
-0.17794 -1.1711 1.18454
-0.17794 -1.1711 1.27518
numsurf 18
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
SURF 0x10
mat 1
refs 4
8 1 0
9 1 1
10 0 1
11 0 0
SURF 0x10
mat 1
refs 4
14 0 1
15 0 0
11 1 0
10 1 1
SURF 0x10
mat 1
refs 4
15 1 0
14 1 1
13 0 1
12 0 0
SURF 0x10
mat 1
refs 4
12 1 0
13 1 1
9 0 1
8 0 0
SURF 0x10
mat 1
refs 4
9 0 0
13 1 0
14 1 1
10 0 1
SURF 0x10
mat 1
refs 4
12 0 0
8 1 0
11 1 1
15 0 1
SURF 0x10
mat 1
refs 4
16 1 0
17 1 1
18 0 1
19 0 0
SURF 0x10
mat 1
refs 4
22 0 1
23 0 0
19 1 0
18 1 1
SURF 0x10
mat 1
refs 4
23 1 0
22 1 1
21 0 1
20 0 0
SURF 0x10
mat 1
refs 4
20 1 0
21 1 1
17 0 1
16 0 0
SURF 0x10
mat 1
refs 4
17 0 0
21 1 0
22 1 1
18 0 1
SURF 0x10
mat 1
refs 4
20 0 0
16 1 0
19 1 1
23 0 1
kids 0
OBJECT poly
name "mesh"
loc -0.724976 1.1989 -1.28171
texture "../images/homework.rgb"
texrep -1 1
texoff -0.02 0
numvert 20
0.247142 -1.08817 1.08951
-0.661664 -1.08817 1.20644
-0.661964 1.08817 1.2081
0.247142 1.08817 1.0895
0.413804 1.08817 1.04951
0.413804 -1.08817 1.04951
0.580474 -1.08817 1.08424
0.580474 1.08817 1.08424
0.733932 1.08817 1.28801
0.733927 -1.08817 1.28801
0.189261 -1.08817 1.21685
-0.723994 -1.08817 1.28994
-0.723994 1.08817 1.28994
0.189261 1.08817 1.21685
0.390654 1.08816 1.17685
0.390654 -1.08817 1.17685
0.638354 -1.08817 1.25788
0.638354 1.08817 1.25788
0.666104 1.08817 1.35049
0.666104 -1.08817 1.35049
numsurf 19
SURF 0x10
mat 0
refs 3
0 0.670682 0
1 0.0430446 0.000216054
2 0.0428392 0.999303
SURF 0x10
mat 0
refs 3
3 0.670682 1
0 0.670682 0
2 0.0428392 0.999303
SURF 0x10
mat 0
refs 3
4 0.785785 1
0 0.670682 0
3 0.670682 1
SURF 0x10
mat 0
refs 3
5 0.785785 0
0 0.670682 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
6 0.900887 0
5 0.785785 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
7 0.900887 1
6 0.900887 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
8 1 1
6 0.900887 0
7 0.900887 1
SURF 0x10
mat 0
refs 3
9 1 0
6 0.900887 0
8 1 1
SURF 0x10
mat 0
refs 4
0 0.670682 0
10 0.630709 0
11 0 0.000324094
1 0.0430446 0.000216054
SURF 0x10
mat 0
refs 4
2 0.0428392 0.999303
12 0 0.998606
13 0.630709 1
3 0.670682 1
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
10 0.630709 0
0 0.670682 0
SURF 0x10
mat 0
refs 4
3 0.670682 1
13 0.630709 1
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
5 0.785785 0
15 0.769795 0
10 0.630709 0
0 0.670682 0
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
15 0.769795 0
5 0.785785 0
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
17 0.940861 1
7 0.900887 1
SURF 0x10
mat 0
refs 4
8 1 1
18 0.960026 1
16 0.940861 0
6 0.900887 0
SURF 0x10
mat 0
refs 4
7 0.900887 1
17 0.940861 1
18 0.960026 1
8 1 1
SURF 0x10
mat 0
refs 4
9 1 0
19 0.960026 0
16 0.940861 0
6 0.900887 0
SURF 0x30
mat 0
refs 4
12 0 0.998606
2 0.0428392 0.999303
1 0.0430446 0.000216054
11 0 0.000324094
kids 0
OBJECT poly
name "mesh"
loc 0.724976 1.20186 -1.33573
texture "../images/homework.rgb"
texoff -0.02 0
numvert 20
-0.142032 1.08817 0.0707934
-0.143624 -1.08816 0.0702209
-0.699298 -1.08816 0.798807
-0.699293 1.08817 0.79881
-0.817265 1.08817 0.923148
-0.817271 -1.08816 0.923144
-0.870526 -1.08816 1.08485
-0.870527 1.08817 1.08485
-0.761829 1.08817 1.31332
-0.761829 -1.08816 1.31332
-0.0401483 -1.08816 0.0579898
-0.560077 -1.08816 0.81235
-0.560073 1.08817 0.812352
-0.0401469 1.08817 0.0579908
-0.695416 1.08817 0.966764
-0.695415 -1.08816 0.966764
-0.749089 -1.08816 1.2218
-0.749085 1.08817 1.2218
-0.682765 1.08817 1.29213
-0.682761 -1.08816 1.29213
numsurf 19
SURF 0x10
mat 0
refs 3
0 0.0428392 0.999303
1 0.0430446 0.000216054
2 0.670682 0
SURF 0x10
mat 0
refs 3
0 0.0428392 0.999303
2 0.670682 0
3 0.670682 1
SURF 0x10
mat 0
refs 3
3 0.670682 1
2 0.670682 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
4 0.785785 1
2 0.670682 0
5 0.785785 0
SURF 0x10
mat 0
refs 3
4 0.785785 1
5 0.785785 0
6 0.900887 0
SURF 0x10
mat 0
refs 3
4 0.785785 1
6 0.900887 0
7 0.900887 1
SURF 0x10
mat 0
refs 3
7 0.900887 1
6 0.900887 0
8 1 1
SURF 0x10
mat 0
refs 3
8 1 1
6 0.900887 0
9 1 0
SURF 0x10
mat 0
refs 4
1 0.0430446 0.000216054
10 0 0.000324094
11 0.630709 0
2 0.670682 0
SURF 0x10
mat 0
refs 4
3 0.670682 1
12 0.630709 1
13 0 0.998606
0 0.0428392 0.999303
SURF 0x10
mat 0
refs 4
2 0.670682 0
11 0.630709 0
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
12 0.630709 1
3 0.670682 1
SURF 0x10
mat 0
refs 4
2 0.670682 0
11 0.630709 0
15 0.769795 0
5 0.785785 0
SURF 0x10
mat 0
refs 4
5 0.785785 0
15 0.769795 0
16 0.940861 0
6 0.900887 0
SURF 0x10
mat 0
refs 4
7 0.900887 1
17 0.940861 1
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
18 0.960026 1
8 1 1
SURF 0x10
mat 0
refs 4
8 1 1
18 0.960026 1
17 0.940861 1
7 0.900887 1
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
19 0.960026 0
9 1 0
SURF 0x30
mat 0
refs 4
10 0 0.000324094
1 0.0430446 0.000216054
0 0.0428392 0.999303
13 0 0.998606
kids 0

5078
contrib/pennykart.ac Normal file

File diff suppressed because it is too large Load Diff

176
contrib/plibsign.ac Normal file
View File

@@ -0,0 +1,176 @@
AC3Db
MATERIAL "" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "" rgb 0.553 0.251 0.251 amb 0.553 0.2 0.2 emis 0 0 0 spec 0 0 0 shi 0 trans 0
OBJECT world
kids 2
OBJECT poly
name "box"
loc 1.20452 0.8493 0.567803
texture "../images/adverts.rgb"
texrep -0.4 0.22
texoff -0.58 0
numvert 4
-7.10453 5.1014 -1.22962
-7.10453 12.0986 -1.22962
4.89547 12.0986 -1.22962
4.89547 5.1014 -1.22962
numsurf 1
SURF 0x0
mat 0
refs 4
0 0 0
1 0 1
2 1 1
3 1 0
kids 0
OBJECT poly
name "box"
loc 0.0999994 7.1169 -0.0794191
texrep -0.4 0.22
texoff -0.58 0
numvert 24
-3.44376 -7.731 0.5824
-3.34376 5.7972 0.5824
-3.87616 5.7972 0.5824
-3.97616 -7.731 0.5824
-3.87616 5.7972 0.0500004
-3.97616 -7.731 0.0500004
-3.34376 5.7972 0.0500001
-3.44376 -7.731 0.0500001
5.99998 -1.1662 -0.049999
5.99998 5.831 -0.049999
-5.99998 5.831 -0.0499999
-5.99998 -1.1662 -0.0499999
-6 5.831 -0.582399
-6 -1.1662 -0.582399
6 -1.1662 -0.5824
6 5.831 -0.5824
3.85624 -7.731 0.5824
3.95624 5.7972 0.5824
3.42384 5.7972 0.5824
3.32384 -7.731 0.5824
3.42384 5.7972 0.0500003
3.32384 -7.731 0.0500003
3.85624 -7.731 0.0500001
3.95624 5.7972 0.0500001
numsurf 17
SURF 0x0
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x0
mat 1
refs 4
4 0 1
5 0 0
3 1 0
2 1 1
SURF 0x0
mat 1
refs 4
5 1 0
4 1 1
6 0 1
7 0 0
SURF 0x0
mat 1
refs 4
7 1 0
6 1 1
1 0 1
0 0 0
SURF 0x0
mat 1
refs 4
1 0 0
6 1 0
4 1 1
2 0 1
SURF 0x0
mat 1
refs 4
7 0 0
0 1 0
3 1 1
5 0 1
SURF 0x0
mat 1
refs 4
8 1 0
9 1 1
10 0 1
11 0 0
SURF 0x0
mat 1
refs 4
12 0 1
13 0 0
11 1 0
10 1 1
SURF 0x0
mat 1
refs 4
14 1 0
15 1 1
9 0 1
8 0 0
SURF 0x0
mat 1
refs 4
9 0 0
15 1 0
12 1 1
10 0 1
SURF 0x0
mat 1
refs 4
14 0 0
8 1 0
11 1 1
13 0 1
SURF 0x0
mat 1
refs 4
16 1 0
17 1 1
18 0 1
19 0 0
SURF 0x0
mat 1
refs 4
20 0 1
21 0 0
19 1 0
18 1 1
SURF 0x0
mat 1
refs 4
22 1 0
23 1 1
17 0 1
16 0 0
SURF 0x0
mat 1
refs 4
17 0 0
23 1 0
20 1 1
18 0 1
SURF 0x0
mat 1
refs 4
22 0 0
16 1 0
19 1 1
21 0 1
SURF 0x0
mat 1
refs 4
21 1 0
20 1 1
23 0 1
22 0 0
kids 0

BIN
contrib/railroadtrack.rgb Normal file

Binary file not shown.

BIN
contrib/start.rgb Normal file

Binary file not shown.

1058
contrib/truck1.ac Normal file

File diff suppressed because it is too large Load Diff

BIN
contrib/tuxkarttex.rgb Normal file

Binary file not shown.

BIN
contrib/tuxtex.rgb Normal file

Binary file not shown.

230
contrib/tv.ac Normal file
View File

@@ -0,0 +1,230 @@
AC3Db
MATERIAL "ac3dmat0" rgb 0 0 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
OBJECT world
kids 4
OBJECT poly
name "box"
loc -0.168385 1.225 0.308664
texture "../images/tv.rgb"
numvert 8
-0.408137 -1.225 -1.41983
-0.408137 1.225 -1.41983
1.32739 1.225 0.648488
1.32739 -1.225 0.648488
-1.32739 -1.225 -0.648488
-1.32739 1.225 -0.648488
0.408137 1.225 1.41983
0.408137 -1.225 1.41983
numsurf 6
SURF 0x0
mat 1
refs 4
0 0 0
1 0 1
2 1 1
3 1 0
SURF 0x0
mat 1
refs 4
6 1 1
7 1 0
3 1 0
2 1 1
SURF 0x0
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x0
mat 1
refs 4
4 0 0
5 0 1
1 0 1
0 0 0
SURF 0x0
mat 1
refs 4
1 0 1
5 0 1
6 1 1
2 1 1
SURF 0x0
mat 1
refs 4
4 0 0
0 0 0
3 1 0
7 1 0
kids 0
OBJECT poly
name "box"
loc -0.168385 -0.15 0.308664
numvert 8
-0.46009 -0.15 -1.63732
-0.46009 0.15 -1.63732
1.53255 0.15 0.737418
1.53255 -0.15 0.737418
-1.53255 -0.15 -0.737418
-1.53255 0.15 -0.737418
0.46009 0.15 1.63732
0.46009 -0.15 1.63732
numsurf 6
SURF 0x0
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x0
mat 0
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x0
mat 0
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x0
mat 0
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x0
mat 0
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x0
mat 0
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc 0.870173 2.6 0.0898512
numvert 8
0.7 -0.1 -0.1
0.7 0.0999999 -0.1
0.7 0.0999999 0.0999999
0.7 -0.1 0.0999999
-0.7 -0.1 -0.1
-0.7 0.0999999 -0.1
-0.7 0.0999999 0.1
-0.7 -0.1 0.1
numsurf 6
SURF 0x0
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x0
mat 0
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x0
mat 0
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x0
mat 0
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x0
mat 0
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x0
mat 0
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc 0.138033 2.525 0.0515489
numvert 8
-0.791159 -0.125 -1.09844
-0.791159 0.125 -1.09844
0.944368 0.125 0.969881
0.944368 -0.125 0.969881
-0.944368 -0.125 -0.969881
-0.944368 0.125 -0.969881
0.791159 0.125 1.09844
0.791159 -0.125 1.09844
numsurf 6
SURF 0x0
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x0
mat 0
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x0
mat 0
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x0
mat 0
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x0
mat 0
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x0
mat 0
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0

View File

@@ -0,0 +1,241 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat3" rgb 1 1 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.502 0.502 0.502 shi 10 trans 0
OBJECT world
kids 7
OBJECT poly
name "box"
loc -0.9 0.05 -1.05
numvert 8
-0.7 -0.05 -1.15
-0.7 0.05 -1.15
0.7 0.05 -1.15
0.7 -0.05 -1.15
-0.7 -0.05 1.15
-0.7 0.05 1.15
0.7 0.05 1.15
0.7 -0.05 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.9 0.35 -1.05
numvert 8
-0.7 -0.05 -1.15
-0.7 0.05 -1.15
0.7 0.05 -1.15
0.7 -0.05 -1.15
-0.7 -0.05 1.15
-0.7 0.05 1.15
0.7 0.05 1.15
0.7 -0.05 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.15 0.20203 -1.05
numvert 8
-0.05 -0.15 -1.15
-0.05 0.15 -1.15
0.05 0.15 -1.15
0.05 -0.15 -1.15
-0.05 -0.15 1.15
-0.05 0.15 1.15
0.05 0.15 1.15
0.05 -0.15 1.15
numsurf 6
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
-0.65 -0.1 -1.05
-0.65 0.1 -1.05
0.65 0.1 -1.05
0.65 -0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
0.65 0.1 1.05
0.65 -0.1 1.05
0.65 -0.1 -1.05
0.65 0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 0 1
1 0 0
2 1 0
3 1 1
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
0.65 -0.1 1.05
0.65 0.1 1.05
-0.65 0.1 1.05
-0.65 -0.1 1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0
OBJECT poly
name "box"
loc -0.85 0.2 -1.05
numvert 4
-0.65 -0.1 1.05
-0.65 0.1 1.05
-0.65 0.1 -1.05
-0.65 -0.1 -1.05
numsurf 1
SURF 0x10
mat 0
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
kids 0

468
contrib/yellow_openbook.ac Normal file
View File

@@ -0,0 +1,468 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
MATERIAL "ac3dmat3" rgb 1 1 0 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.502 0.502 0.502 shi 10 trans 0
OBJECT world
kids 3
OBJECT poly
name "box"
loc 0 1.21271 -1.16783
numvert 24
0.889244 1.16215 -0.166283
0.802644 1.16214 -0.216282
0.00623977 1.16214 1.05596
0.0928401 1.16215 1.10596
0.889247 -1.13786 -0.166282
0.802644 -1.13786 -0.216282
0.00624018 -1.13786 1.05597
0.0928425 -1.13786 1.10597
-0.1 1.16215 1.2173
-0.1 1.16214 1.1173
-1.6 1.16214 1.17089
-1.6 1.16215 1.27088
-0.1 -1.13786 1.2173
-0.1 -1.13786 1.1173
-1.6 -1.13786 1.17089
-1.6 -1.13786 1.27089
0.166074 1.14416 1.0949
0.0875697 1.14415 1.04957
-0.17794 1.14415 1.18454
-0.17794 1.14416 1.27519
0.166069 -1.1711 1.0949
0.0875686 -1.1711 1.04957
-0.17794 -1.1711 1.18454
-0.17794 -1.1711 1.27518
numsurf 18
SURF 0x10
mat 1
refs 4
0 1 0
1 1 1
2 0 1
3 0 0
SURF 0x10
mat 1
refs 4
6 0 1
7 0 0
3 1 0
2 1 1
SURF 0x10
mat 1
refs 4
7 1 0
6 1 1
5 0 1
4 0 0
SURF 0x10
mat 1
refs 4
4 1 0
5 1 1
1 0 1
0 0 0
SURF 0x10
mat 1
refs 4
1 0 0
5 1 0
6 1 1
2 0 1
SURF 0x10
mat 1
refs 4
4 0 0
0 1 0
3 1 1
7 0 1
SURF 0x10
mat 1
refs 4
8 1 0
9 1 1
10 0 1
11 0 0
SURF 0x10
mat 1
refs 4
14 0 1
15 0 0
11 1 0
10 1 1
SURF 0x10
mat 1
refs 4
15 1 0
14 1 1
13 0 1
12 0 0
SURF 0x10
mat 1
refs 4
12 1 0
13 1 1
9 0 1
8 0 0
SURF 0x10
mat 1
refs 4
9 0 0
13 1 0
14 1 1
10 0 1
SURF 0x10
mat 1
refs 4
12 0 0
8 1 0
11 1 1
15 0 1
SURF 0x10
mat 1
refs 4
16 1 0
17 1 1
18 0 1
19 0 0
SURF 0x10
mat 1
refs 4
22 0 1
23 0 0
19 1 0
18 1 1
SURF 0x10
mat 1
refs 4
23 1 0
22 1 1
21 0 1
20 0 0
SURF 0x10
mat 1
refs 4
20 1 0
21 1 1
17 0 1
16 0 0
SURF 0x10
mat 1
refs 4
17 0 0
21 1 0
22 1 1
18 0 1
SURF 0x10
mat 1
refs 4
20 0 0
16 1 0
19 1 1
23 0 1
kids 0
OBJECT poly
name "mesh"
loc -0.724976 1.1989 -1.28171
texture "../images/homework.rgb"
texrep -1 1
texoff -0.02 0
numvert 20
0.247142 -1.08817 1.08951
-0.661664 -1.08817 1.20644
-0.661964 1.08817 1.2081
0.247142 1.08817 1.0895
0.413804 1.08817 1.04951
0.413804 -1.08817 1.04951
0.580474 -1.08817 1.08424
0.580474 1.08817 1.08424
0.733932 1.08817 1.28801
0.733927 -1.08817 1.28801
0.189261 -1.08817 1.21685
-0.723994 -1.08817 1.28994
-0.723994 1.08817 1.28994
0.189261 1.08817 1.21685
0.390654 1.08816 1.17685
0.390654 -1.08817 1.17685
0.638354 -1.08817 1.25788
0.638354 1.08817 1.25788
0.666104 1.08817 1.35049
0.666104 -1.08817 1.35049
numsurf 19
SURF 0x10
mat 0
refs 3
0 0.670682 0
1 0.0430446 0.000216054
2 0.0428392 0.999303
SURF 0x10
mat 0
refs 3
3 0.670682 1
0 0.670682 0
2 0.0428392 0.999303
SURF 0x10
mat 0
refs 3
4 0.785785 1
0 0.670682 0
3 0.670682 1
SURF 0x10
mat 0
refs 3
5 0.785785 0
0 0.670682 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
6 0.900887 0
5 0.785785 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
7 0.900887 1
6 0.900887 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
8 1 1
6 0.900887 0
7 0.900887 1
SURF 0x10
mat 0
refs 3
9 1 0
6 0.900887 0
8 1 1
SURF 0x10
mat 0
refs 4
0 0.670682 0
10 0.630709 0
11 0 0.000324094
1 0.0430446 0.000216054
SURF 0x10
mat 0
refs 4
2 0.0428392 0.999303
12 0 0.998606
13 0.630709 1
3 0.670682 1
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
10 0.630709 0
0 0.670682 0
SURF 0x10
mat 0
refs 4
3 0.670682 1
13 0.630709 1
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
5 0.785785 0
15 0.769795 0
10 0.630709 0
0 0.670682 0
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
15 0.769795 0
5 0.785785 0
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
17 0.940861 1
7 0.900887 1
SURF 0x10
mat 0
refs 4
8 1 1
18 0.960026 1
16 0.940861 0
6 0.900887 0
SURF 0x10
mat 0
refs 4
7 0.900887 1
17 0.940861 1
18 0.960026 1
8 1 1
SURF 0x10
mat 0
refs 4
9 1 0
19 0.960026 0
16 0.940861 0
6 0.900887 0
SURF 0x30
mat 0
refs 4
12 0 0.998606
2 0.0428392 0.999303
1 0.0430446 0.000216054
11 0 0.000324094
kids 0
OBJECT poly
name "mesh"
loc 0.724976 1.20186 -1.33573
texture "../images/homework.rgb"
texoff -0.02 0
numvert 20
-0.142032 1.08817 0.0707934
-0.143624 -1.08816 0.0702209
-0.699298 -1.08816 0.798807
-0.699293 1.08817 0.79881
-0.817265 1.08817 0.923148
-0.817271 -1.08816 0.923144
-0.870526 -1.08816 1.08485
-0.870527 1.08817 1.08485
-0.761829 1.08817 1.31332
-0.761829 -1.08816 1.31332
-0.0401483 -1.08816 0.0579898
-0.560077 -1.08816 0.81235
-0.560073 1.08817 0.812352
-0.0401469 1.08817 0.0579908
-0.695416 1.08817 0.966764
-0.695415 -1.08816 0.966764
-0.749089 -1.08816 1.2218
-0.749085 1.08817 1.2218
-0.682765 1.08817 1.29213
-0.682761 -1.08816 1.29213
numsurf 19
SURF 0x10
mat 0
refs 3
0 0.0428392 0.999303
1 0.0430446 0.000216054
2 0.670682 0
SURF 0x10
mat 0
refs 3
0 0.0428392 0.999303
2 0.670682 0
3 0.670682 1
SURF 0x10
mat 0
refs 3
3 0.670682 1
2 0.670682 0
4 0.785785 1
SURF 0x10
mat 0
refs 3
4 0.785785 1
2 0.670682 0
5 0.785785 0
SURF 0x10
mat 0
refs 3
4 0.785785 1
5 0.785785 0
6 0.900887 0
SURF 0x10
mat 0
refs 3
4 0.785785 1
6 0.900887 0
7 0.900887 1
SURF 0x10
mat 0
refs 3
7 0.900887 1
6 0.900887 0
8 1 1
SURF 0x10
mat 0
refs 3
8 1 1
6 0.900887 0
9 1 0
SURF 0x10
mat 0
refs 4
1 0.0430446 0.000216054
10 0 0.000324094
11 0.630709 0
2 0.670682 0
SURF 0x10
mat 0
refs 4
3 0.670682 1
12 0.630709 1
13 0 0.998606
0 0.0428392 0.999303
SURF 0x10
mat 0
refs 4
2 0.670682 0
11 0.630709 0
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
4 0.785785 1
14 0.769795 1
12 0.630709 1
3 0.670682 1
SURF 0x10
mat 0
refs 4
2 0.670682 0
11 0.630709 0
15 0.769795 0
5 0.785785 0
SURF 0x10
mat 0
refs 4
5 0.785785 0
15 0.769795 0
16 0.940861 0
6 0.900887 0
SURF 0x10
mat 0
refs 4
7 0.900887 1
17 0.940861 1
14 0.769795 1
4 0.785785 1
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
18 0.960026 1
8 1 1
SURF 0x10
mat 0
refs 4
8 1 1
18 0.960026 1
17 0.940861 1
7 0.900887 1
SURF 0x10
mat 0
refs 4
6 0.900887 0
16 0.940861 0
19 0.960026 0
9 1 0
SURF 0x30
mat 0
refs 4
10 0 0.000324094
1 0.0430446 0.000216054
0 0.0428392 0.999303
13 0 0.998606
kids 0

Binary file not shown.

View File

@@ -1,14 +1,17 @@
# data/ # data/
SUBDIRS = challenges fonts gfx gui karts models music po sfx textures tracks \ SUBDIRS = fonts items karts models music po sfx textures tracks grandprix
grandprix tutorials shaders
pkgdatadir = $(datadir)/games/$(PACKAGE)/data pkgdatadir = $(datadir)/games/$(PACKAGE)/data
dist_pkgdata_DATA = \ dist_pkgdata_DATA = \
$(shell find $(srcdir) -name "*.data") \
$(shell find $(srcdir) -name "*.items") \
$(shell find $(srcdir) -name "*.projectile") \
$(shell find $(srcdir) -name "*.cup") \
$(shell find $(srcdir) -maxdepth 1 -name "*.challenge") \ $(shell find $(srcdir) -maxdepth 1 -name "*.challenge") \
stk_config.xml powerup.xml items.xml \ $(shell find $(srcdir) -name "*.collectable") \
CREDITS run_me.sh $(shell find $(srcdir) -name "*.projectile") \
CREDITS
desktopdir = $(prefix)/share/applications desktopdir = $(prefix)/share/applications
desktop_DATA = supertuxkart.desktop desktop_DATA = supertuxkart.desktop
@@ -22,4 +25,4 @@ dist_icon_DATA = supertuxkart_32.xpm supertuxkart_64.xpm
EXTRA_DIST = supertuxkart_desktop.template EXTRA_DIST = supertuxkart_desktop.template
CLEANFILES = supertuxkart.desktop CLEANFILES = supertuxkart.desktop
supertuxkart.desktop: Makefile supertuxkart_desktop.template supertuxkart.desktop: Makefile supertuxkart_desktop.template
sed 's#@PREFIX@#$(prefix)#' '$(srcdir)/supertuxkart_desktop.template' >supertuxkart.desktop sed 's#PREFIX#$(prefix)#' $(srcdir)/supertuxkart_desktop.template >supertuxkart.desktop

9
data/anvil.collectable Normal file
View File

@@ -0,0 +1,9 @@
;; -*- mode: lisp -*-
(tuxkart-collectable
(name "anvil")
(model "anvil.ac")
(icon "anchor-icon.rgb")
)
;; EOF ;;

20
data/bowling.projectile Normal file
View File

@@ -0,0 +1,20 @@
;; -*- mode: lisp -*-
(tuxkart-collectable
(name "Bowling")
(model "bowling.ac")
(icon "bowling-icon.rgb")
(speed 4.0)
(min-height 0.2) ; height above terrain below which a ball is
; started to be pulled up
(max-height 1.0) ; height above terrain at which a ball is
; started to be pulled back to ground
(force-updown 1.0) ; force pushing the ball down
; when it's too high above ground
(force-to-target 40) ; force with which a bowling ball flies towards
; the nearest kart
(max-distance 25) ; maximum distance the ball can be away
; from a kart when accelerating towards it
)
;; EOF ;;

13
data/bubblegum.projectile Normal file
View File

@@ -0,0 +1,13 @@
;; -*- mode: lisp -*-
(tuxkart-collectable
(name "Bubble Gum")
(model "../items/bubblegum.ac")
(icon "bubblegum-icon.rgb")
(speed 50.0)
(min-height 0.3)
(max-height 1.0)
(force-updown 20)
)
;; EOF ;;

14
data/cake.projectile Normal file
View File

@@ -0,0 +1,14 @@
;; -*- mode: lisp -*-
(tuxkart-collectable
(name "cake")
(model "cake.ac")
(icon "cake-icon.rgb")
(speed 50.0)
(min-height 0.2)
(max-height 1.0)
(force-updown 25.0) ;; force raising/lowering the homing missile if it's too low/high
(max-distance 90.0) ;; maximum distance at which a kart is still followed
)
;; EOF ;;

View File

@@ -1,5 +0,0 @@
# challenges/
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/challenges
nobase_dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.challenge")

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="city" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="70"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="farm" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<hard>
<karts number="5"/>
<requirements position="1" time="110"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="125"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="155"/>
</easy>
</challenge>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="fortmagma" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="180"/>
<hard>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</easy>
<unlock kart="gnu"/>
<unlock kart="nolok"/>
<unlock track="fortmagma"/>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<grandprix id="1_penguinplayground"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="40"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<grandprix id="2_offthebeatentrack"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="85"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<grandprix id="3_tothemoonandback"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="125"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<grandprix id="4_atworldsend"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="165"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="hacienda" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="45"/>
<hard>
<karts number="5"/>
<requirements position="2" time="170"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="190"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="220"/>
</easy>
</challenge>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="islandtrack" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="95"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="2"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="3"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="jungle" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="15"/>
<hard>
<karts number="5"/>
<requirements position="1" time="155"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="170"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="230"/>
</easy>
</challenge>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="lighthouse" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="135"/>
<hard>
<karts number="5"/>
<requirements time="90" position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="95"/>
</medium>
<easy>
<karts number="3"/>
<requirements time="110"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="mansion" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="110"/>
<hard>
<karts number="5"/>
<requirements time="130"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="145"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="160"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="mines" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="150"/>
<hard>
<karts number="4"/>
<requirements time="170"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="190"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="215"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="minigolf" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="150"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="olivermath" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<hard>
<karts number="5"/>
<requirements position="1" time="50"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1" time="65"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1" time="80"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="sandtrack" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<hard>
<karts number="1"/>
<requirements energy="16" time="167"/>
</hard>
<medium>
<karts number="1"/>
<requirements energy="12" time="185"/>
</medium>
<easy>
<karts number="1"/>
<requirements energy="10" time="220"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="scotland" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<hard>
<karts number="5"/>
<requirements position="1" time="165"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="175"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="225"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="snowmountain" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="60"/>
<hard>
<karts number="5"/>
<requirements time="160"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="175"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="220"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="snowtuxpeak" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="60"/>
<hard>
<karts number="5"/>
<requirements position="1" time="145"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="175"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="195"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="startrack" laps="3"/>
<mode major="single" minor="followtheleader"/>
<requirements trophies="110"/>
<hard>
<karts number="6"/>
<requirements position="2"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="2"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="2"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="subsea" laps="2"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<hard>
<karts number="5"/>
<requirements position="1" time="200"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="220"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="250"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="greenvalley" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="95"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,21 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="xr591" laps="2"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="135"/>
<hard>
<karts number="1"/>
<requirements energy="16" time="135"/>
</hard>
<medium>
<karts number="1"/>
<requirements energy="14" time="155"/>
</medium>
<easy>
<karts number="1"/>
<requirements energy="12" time="170"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="zengarden" laps="3"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="45"/>
<hard>
<karts number="2"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="2"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="2"/>
<requirements position="1"/>
</easy>
</challenge>

10
data/coin_sign.items Normal file
View File

@@ -0,0 +1,10 @@
;; -*- mode: lisp -*-
(item
(gold "nitrotank-big" )
(silver "nitrotank-small")
(green "warning" )
(red "bonusblock2")
)
;; EOF ;;

View File

@@ -0,0 +1,17 @@
;; -*- mode: lisp -*-
(challenge
(id "penguinplaygroundgp")
(name _("Win Penguin Playground Grand\nPrix"))
(description _("Win Penguin Playground Grand\nPrix with 3 'Racer' Level AI karts."))
(unlock-mode "followtheleader" _("Follow the Leader"))
(major "grandprix")
(minor "quickrace")
(gp "penguinplayground")
(difficulty "hard")
(karts 4)
(position 1)
)
;; EOF ;;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -2,5 +2,4 @@
pkgdatadir = $(datadir)/games/$(PACKAGE)/data/fonts pkgdatadir = $(datadir)/games/$(PACKAGE)/data/fonts
dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.png") \ dist_pkgdata_DATA = $(shell find $(srcdir) -name "*.txf")
$(shell find $(srcdir) -name "*.xml")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

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