Merge default into floating-point

floating-point
Nicolas Hake 2011-03-08 18:06:10 +01:00
commit 5e07721a2d
630 changed files with 14362 additions and 15221 deletions

View File

@ -7,6 +7,7 @@ autom4te.cache
deps
*.o
./clonk
./netpuncher
./c4group
.dirstamp
*.a
@ -31,6 +32,13 @@ autotools/install-sh
autotools/missing
configure
intermediate
build*
CMakeFiles
CMakeCache.txt
planet/CMakeFiles
planet/CMakeCache.txt
CPackConfig.cmake
CPackSourceConfig.cmake
# Documentation
*.pyc
@ -48,7 +56,6 @@ planet/Release
planet/RelWithDebInfo
planet/Debug
planet/MinSizeRel
planet/CMakeFiles
planet/clonk.dir
planet/c4group.dir
planet/ZERO_CHECK.dir
@ -57,14 +64,13 @@ planet/fmod.dll
planet/cmake_install.cmake
planet/clonk.sln
planet/clonk.ilk
planet/CMakeCache.txt
build
planet/clonk.app
Release
RelWithDebInfo
MinSizeRel
Debug
CMakeFiles
clonk.dir
c4group.dir
ZERO_CHECK.dir
@ -73,8 +79,9 @@ fmod.dll
cmake_install.cmake
clonk.sln
clonk.ilk
CMakeCache.txt
*.vcproj
*.vcxproj
*.vcxproj.filters
# Temporary files created by Microsoft Visual Studio
*.ncb
@ -111,5 +118,10 @@ planet/nohg*
# Eclipse project file
planet/.project
# Code::Blocks files
clonk.layout
clonk.sdf
clonk.cbp
# MacOSX saved searches
*.savedSearch

View File

@ -38,7 +38,11 @@ else()
SET(HAVE_FMOD OFF)
SET(GENERATE_MINI_DUMP OFF)
endif()
if(UNIX AND NOT USE_SDL_MAINLOOP AND NOT APPLE)
if(NOT USE_GL AND NOT USE_DIRECTX)
message(STATUS "No graphics display enabled; building dedicated server")
SET(USE_CONSOLE ON CACHE INTERNAL "Build dedicated server")
endif()
if(UNIX AND NOT USE_SDL_MAINLOOP AND NOT APPLE AND NOT USE_CONSOLE)
option(USE_X11 "Use X11 to create windows etc." ON)
option(USE_GTK "Use GTK for the developer mode" ON)
option(USE_GTK3 "Use GTK3 instead of GTK2" OFF)
@ -53,10 +57,6 @@ if(APPLE)
else()
option(USE_COCOA OFF)
endif()
if(NOT USE_GL AND NOT USE_DIRECTX)
message(STATUS "No graphics display enabled; building dedicated server")
SET(USE_CONSOLE ON CACHE INTERNAL "Build dedicated server")
endif()
option(USE_OPEN_AL "Use OpenAL to play sounds" ${INITIAL_USE_OPEN_AL})
option(BUILD_TO_PLANET "Put build files to ./planet/" OFF)
option(DEBUGREC "Debug records" OFF)
@ -159,6 +159,8 @@ set(OC_CLONK_SOURCES
src/config/C4ConfigShareware.cpp
src/config/C4ConfigShareware.h
src/config/C4Constants.h
src/config/C4Reloc.cpp
src/config/C4Reloc.h
src/config/C4SecurityCertificates.cpp
src/config/C4SecurityCertificates.h
src/control/C4Control.cpp
@ -190,8 +192,6 @@ set(OC_CLONK_SOURCES
src/editor/C4EditCursor.h
src/editor/C4ObjectListDlg.cpp
src/editor/C4ObjectListDlg.h
src/editor/C4PropertyDlg.cpp
src/editor/C4PropertyDlg.h
src/editor/C4ToolsDlg.cpp
src/editor/C4ToolsDlg.h
src/game/C4GameVersion.h
@ -232,6 +232,8 @@ set(OC_CLONK_SOURCES
src/game/object/C4Def.cpp
src/game/object/C4DefGraphics.cpp
src/game/object/C4DefGraphics.h
src/game/object/C4DefList.cpp
src/game/object/C4DefList.h
src/game/object/C4Def.h
src/game/object/C4GameObjects.cpp
src/game/object/C4GameObjects.h
@ -256,6 +258,7 @@ set(OC_CLONK_SOURCES
src/game/object/C4ObjectList.h
src/game/object/C4ObjectMenu.cpp
src/game/object/C4ObjectMenu.h
src/game/object/C4ObjectScript.cpp
src/game/object/C4ObjectPtr.cpp
src/game/object/C4ObjectPtr.h
src/game/object/C4Sector.cpp
@ -272,7 +275,7 @@ set(OC_CLONK_SOURCES
src/game/script/C4Effects.h
src/game/script/C4FindObject.cpp
src/game/script/C4FindObject.h
src/game/script/C4Script.cpp
src/game/script/C4GameScript.cpp
src/game/script/C4Script.h
src/game/script/C4TransferZone.cpp
src/game/script/C4TransferZone.h
@ -382,6 +385,16 @@ set(OC_CLONK_SOURCES
src/lib/StdCompiler.h
src/lib/StdMarkup.cpp
src/lib/StdMarkup.h
src/lib/StdMesh.cpp
src/lib/StdMesh.h
src/lib/StdMeshLoader.h
src/lib/StdMeshLoaderBinary.cpp
src/lib/StdMeshLoaderBinaryChunks.cpp
src/lib/StdMeshLoaderBinaryChunks.h
src/lib/StdMeshLoaderDataStream.h
src/lib/StdMeshLoaderXml.cpp
src/lib/StdMeshMaterial.cpp
src/lib/StdMeshMaterial.h
src/lib/StdResStr2.cpp
src/lib/StdResStr2.h
src/lib/StdResStr.h
@ -392,8 +405,6 @@ set(OC_CLONK_SOURCES
src/lib/texture/C4GraphicsResource.cpp
src/lib/texture/C4GraphicsResource.h
src/lib/texture/C4Surface.cpp
src/lib/texture/C4SurfaceFile.cpp
src/lib/texture/C4SurfaceFile.h
src/lib/texture/C4Surface.h
src/lib/texture/StdPNG.cpp
src/lib/texture/StdPNG.h
@ -447,6 +458,7 @@ set(OC_CLONK_SOURCES
src/platform/C4SoundSystem.h
src/platform/C4SoundLoaders.h
src/platform/C4SoundLoaders.cpp
src/platform/StdTApp.cpp
src/platform/C4Video.cpp
src/platform/C4Video.h
src/platform/C4VideoPlayback.cpp
@ -470,16 +482,6 @@ set(OC_CLONK_SOURCES
src/platform/StdGL.cpp
src/platform/StdGLCtx.cpp
src/platform/StdGL.h
src/platform/StdMesh.cpp
src/platform/StdMesh.h
src/platform/StdMeshLoader.h
src/platform/StdMeshLoaderBinary.cpp
src/platform/StdMeshLoaderBinaryChunks.cpp
src/platform/StdMeshLoaderBinaryChunks.h
src/platform/StdMeshLoaderDataStream.h
src/platform/StdMeshLoaderXml.cpp
src/platform/StdMeshMaterial.cpp
src/platform/StdMeshMaterial.h
src/platform/StdNoGfx.cpp
src/platform/StdNoGfx.h
src/platform/StdRegistry.cpp
@ -496,18 +498,18 @@ set(OC_CLONK_SOURCES
src/platform/StdWindow.h
src/platform/StdAppCommon.h
src/platform/StdAppCommon.cpp
src/script/C4AList.cpp
src/script/C4AList.h
src/script/C4Aul.cpp
src/script/C4AulExec.h
src/script/C4AulExec.cpp
src/script/C4AulDebug.h
src/script/C4AulDebug.cpp
src/script/C4AulDefFunc.h
src/script/C4Aul.h
src/script/C4AulLink.cpp
src/script/C4AulParse.cpp
src/script/C4PropList.cpp
src/script/C4PropList.h
src/script/C4Script.cpp
src/script/C4ScriptHost.cpp
src/script/C4ScriptHost.h
src/script/C4StringTable.cpp
@ -518,12 +520,6 @@ set(OC_CLONK_SOURCES
src/script/C4ValueArray.h
src/script/C4ValueMap.cpp
src/script/C4ValueMap.h
src/tinyxml/tinystr.cpp
src/tinyxml/tinystr.h
src/tinyxml/tinyxml.cpp
src/tinyxml/tinyxml.h
src/tinyxml/tinyxmlerror.cpp
src/tinyxml/tinyxmlparser.cpp
src/zlib/gzio.c
src/zlib/zutil.h
thirdparty/simdmath/sse_mathfun.h
@ -537,6 +533,7 @@ if(WIN32)
src/platform/StdJoystick.cpp
src/platform/StdJoystick.h
src/platform/C4FileClasses.cpp
src/platform/C4CrashHandlerWin32.cpp
src/editor/C4ConsoleWin32.cpp
src/res/resource.h
)
@ -685,6 +682,12 @@ CHECK_INCLUDE_FILE_CXX(langinfo.h HAVE_LANGINFO_H)
CHECK_INCLUDE_FILE_CXX(poll.h HAVE_POLL_H)
CHECK_INCLUDE_FILE_CXX(sys/inotify.h HAVE_SYS_INOTIFY_H)
CHECK_INCLUDE_FILE_CXX(sys/socket.h HAVE_SYS_SOCKET_H)
CHECK_INCLUDE_FILE_CXX(sys/file.h HAVE_SYS_FILE_H)
if(USE_CONSOLE)
CHECK_INCLUDE_FILE_CXX(readline.h HAVE_READLINE_H)
CHECK_INCLUDE_FILE_CXX(readline/readline.h HAVE_READLINE_READLINE_H)
endif()
# ck 09-09-20: The following headers require Xlib.h for things such as
# 'Bool' and 'Window' to be defined. Unfortunately, this doesn't exist
@ -767,6 +770,12 @@ FINDLIB(OPENSSL_LIBRARIES NAMES crypto libeay32)
FIND_PATH(OPENSSL_INCLUDE_DIR NAMES openssl/sha.h)
include_directories(${OPENSSL_INCLUDE_DIR})
if(USE_CONSOLE)
include(./FindReadline.cmake)
include_directories(${READLINE_INCLUDE_DIRS})
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
endif()
############################################################################
# Precompiled header support, part 1 (pre-target)
############################################################################
@ -832,6 +841,7 @@ if(USE_GTK)
endif()
endif()
if(GTK_FOUND)
include_directories(${GTK_INCLUDE_DIRS})
link_directories(${GTK_LIBRARY_DIRS})
endif()
endif()
@ -866,6 +876,58 @@ add_executable(c4group
src/zlib/gzio.c
src/C4Include.cpp
)
add_executable(netpuncher
src/C4Include.cpp
src/lib/StdBuf.cpp
src/lib/Standard.cpp
src/platform/StdScheduler.cpp
src/platform/StdFile.cpp
src/network/C4NetIO.cpp
src/netpuncher/main.cpp
)
add_executable(c4script EXCLUDE_FROM_ALL
src/c4group/C4Group.cpp
src/c4group/C4Group.h
src/c4group/CStdFile.cpp
src/c4group/CStdFile.h
src/lib/C4InputValidation.cpp
src/lib/C4InputValidation.h
src/lib/Standard.cpp
src/lib/Standard.h
src/lib/StdBuf.cpp
src/lib/StdBuf.h
src/lib/StdCompiler.cpp
src/lib/StdCompiler.h
src/lib/StdMarkup.cpp
src/lib/StdMarkup.h
src/lib/StdResStr2.cpp
src/lib/StdResStr2.h
src/platform/StdConfig.cpp
src/platform/StdConfig.h
src/platform/StdFile.cpp
src/platform/StdFile.h
src/lib/C4Real.cpp
src/lib/C4Random.cpp
src/script/shell.cpp
src/script/C4Aul.cpp
src/script/C4AulExec.cpp
src/script/C4AulLink.cpp
src/script/C4AulParse.cpp
src/script/C4StringTable.cpp
src/script/C4PropList.cpp
src/script/C4ScriptHost.cpp
src/script/C4ValueArray.cpp
src/script/C4Value.cpp
src/script/C4ValueMap.cpp
src/game/object/C4Id.cpp
src/script/C4Script.cpp
src/c4group/C4GroupSet.cpp
src/c4group/C4ComponentHost.cpp
src/c4group/C4LangStringTable.cpp
)
target_link_libraries(clonk
${FREETYPE_LIBRARIES}
${ZLIB_LIBRARIES}
@ -881,6 +943,24 @@ target_link_libraries(c4group
${ZLIB_LIBRARIES}
${OPENSSL_LIBRARIES}
)
target_link_libraries(c4script
${ZLIB_LIBRARIES}
${OPENSSL_LIBRARIES}
)
if(HAVE_PTHREAD)
target_link_libraries(netpuncher
pthread
)
target_link_libraries(c4script
pthread
)
endif()
if(USE_CONSOLE)
target_link_libraries(clonk
pthread
${READLINE_LIBRARIES}
)
endif()
set_property(TARGET clonk APPEND PROPERTY COMPILE_DEFINITIONS GLEW_STATIC)
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG _DEBUG)
@ -928,7 +1008,7 @@ if(HAVE_PRECOMPILED_HEADERS)
foreach(FILE ${OC_SOURCES})
get_filename_component(FILE_EXT ${FILE} EXT)
get_filename_component(FILE_NAME_WE ${FILE} NAME_WE)
if(FILE_EXT STREQUAL ".cpp" AND NOT FILE_NAME_WE MATCHES "tiny.*")
if(FILE_EXT STREQUAL ".cpp")
# This check is necessary since gzio.c gets compiled as C
# code, which can't use C++ PCH.
set_property(SOURCE ${FILE} PROPERTY COMPILE_FLAGS /YuC4Include.h)
@ -941,6 +1021,12 @@ endif()
############################################################################
# Assemble compiler flags
############################################################################
if(UNIX)
# Don't put this into CMAKE_CXX_FLAGS because otherwise it is cached,
# and when the path is changed both the old and new definition appears
# in the list of flags.
add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/openclonk\"")
endif()
if(OC_CXX_FLAGS)
list(REMOVE_DUPLICATES OC_CXX_FLAGS)
endif()
@ -971,6 +1057,10 @@ endif()
CHECK_INCLUDE_FILE_CXX(getopt.h HAVE_GETOPT_H)
# TinyXML
add_subdirectory(thirdparty/tinyxml)
target_link_libraries(clonk tinyxml)
if(GENERATE_MINI_DUMP)
FIND_PATH(DBGHELP_INCLUDE_DIR NAMES dbghelp.h)
FINDLIB(DBGHELP_LIBRARIES NAMES dbghelp)
@ -1004,7 +1094,6 @@ if(USE_DIRECTX)
endif()
if(USE_GTK)
if(GTK_FOUND)
include_directories(${GTK_INCLUDE_DIRS})
SET(WITH_DEVELOPER_MODE ${GTK_FOUND})
SET(WITH_GLIB ${GTK_FOUND})
SET(WITH_GTK3 ${USE_GTK3})
@ -1043,6 +1132,8 @@ if (WIN32)
target_link_libraries(clonk ws2_32 winmm)
target_link_libraries(c4group ws2_32)
target_link_libraries(netpuncher ws2_32 winmm)
target_link_libraries(c4script ws2_32 winmm)
if(NOT USE_OPEN_AL)
if(MSVC_VERSION)
@ -1064,7 +1155,7 @@ if (WIN32)
endif()
endif()
endif()
if((NOT HAVE_FMOD OR USE_SDL_MAINLOOP) AND NOT USE_OPEN_AL)
if(NOT HAVE_FMOD AND NOT USE_OPEN_AL OR USE_SDL_MAINLOOP AND NOT USE_OPEN_AL)
include(FindSDL)
SET(HAVE_SDL ${SDL_FOUND})
if(SDL_FOUND)
@ -1082,3 +1173,66 @@ endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
############################################################################
# installation
############################################################################
# Install the icon into share/icons/hicolor/48x48/apps/clonk.png. Do this by
# extracting the correct size from oc.ico. Currently this is layer 2 - let's
# hope that it stays this way.
# TODO: Check for convert at configure step?
install(DIRECTORY DESTINATION share/icons/hicolor/48x48/apps)
install(CODE "
EXECUTE_PROCESS(COMMAND \"convert\" \"${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc.ico[2]\" \"${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps/clonk.png\" RESULT_VARIABLE CONVERT_RESULT)
IF(NOT \${CONVERT_RESULT} EQUAL 0)
MESSAGE(SEND_ERROR \"Creating icon failed\")
ENDIF()
")
# Remove previously installed data files
FILE(GLOB OC_INSTALLED_DATA_FILES "${CMAKE_INSTALL_PREFIX}/share/openclonk/*.c4[dfgs]")
install(CODE "
FOREACH(CURRENT_FILE ${OC_INSTALLED_DATA_FILES})
FILE(REMOVE \${CURRENT_FILE})
ENDFOREACH()
")
# Install new files
FILE(GLOB OC_DATA_FILES "${CMAKE_CURRENT_SOURCE_DIR}/planet/*.c4[dfgs]")
install(DIRECTORY ${OC_DATA_FILES} DESTINATION share/openclonk)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/clonk.desktop DESTINATION share/applications)
# Pack them
install(CODE "
FOREACH(CURRENT_FILE ${OC_DATA_FILES})
GET_FILENAME_COMPONENT(CURRENT_FILENAME \"\${CURRENT_FILE}\" NAME)
MESSAGE(\"Packing \${CURRENT_FILENAME}...\")
EXECUTE_PROCESS(COMMAND \"${CMAKE_CURRENT_BINARY_DIR}/c4group\" \"${CMAKE_INSTALL_PREFIX}/share/openclonk/\${CURRENT_FILENAME}\" \"-p\" RESULT_VARIABLE C4GROUP_RESULT)
IF(NOT \${C4GROUP_RESULT} EQUAL 0)
MESSAGE(SEND_ERROR \"Packing ${CURRENT_FILENAME} failed\")
ENDIF()
ENDFOREACH()
")
# Install binaries
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/clonk ${CMAKE_CURRENT_BINARY_DIR}/c4group DESTINATION bin/)
############################################################################
# CPack support
############################################################################
set(CPACK_PACKAGE_NAME "openclonk")
set(CPACK_PACKAGE_VENDOR "${C4PROJECT_URL}")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenClonk - A game mix out of tactic, strategy and Jump & Run")
set(CPACK_PACKAGE_VERSION "${C4XVER1}.${C4XVER2}.${C4XVER3}")
set(CPACK_PACKAGE_VERSION_MAJOR "${C4XVER1}")
set(CPACK_PACKAGE_VERSION_MINOR "${C4XVER2}")
set(CPACK_PACKAGE_VERSION_PATCH "${C4XVER3}")
set(CPACK_PACKAGE_FILE_NAME "openclonk-${C4XVER1}.${C4XVER2}.${C4XVER3}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "openclonk-src-${C4XVER1}.${C4XVER2}.${C4XVER3}")
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
# Somebody who uses Debian/Ubuntu should set this
#set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libgcc1, libx11, libXrandr, libXpm, libGLEW, libGL, libpng, libssl, libSDL-1.2, libSDL_mixer-1.2, gtk2, libjpeg, zlib")
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
set(CPACK_RPM_PACKAGE_REQUIRES "libc6, libgcc1, libx11, libXrandr, libXpm, libGLEW, libGL, libpng, libssl, libSDL-1.2, libSDL_mixer-1.2, gtk2, libjpeg, zlib")
include(CPack)

31
FindReadline.cmake 100644
View File

@ -0,0 +1,31 @@
# - Find READLINE
# Find the native READLINE includes and library
#
# READLINE_INCLUDE_DIR - where to find READLINE.h, etc.
# READLINE_LIBRARIES - List of libraries when using READLINE.
# READLINE_FOUND - True if READLINE found.
IF (READLINE_INCLUDE_DIR)
# Already in cache, be silent
SET(READLINE_FIND_QUIETLY TRUE)
ENDIF (READLINE_INCLUDE_DIR)
FIND_PATH(READLINE_INCLUDE_DIR readline.h)
SET(READLINE_NAMES readline libreadline)
FIND_LIBRARY(READLINE_LIBRARY NAMES ${READLINE_NAMES} )
# handle the QUIETLY and REQUIRED arguments and set READLINE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(READLINE DEFAULT_MSG READLINE_LIBRARY READLINE_INCLUDE_DIR)
IF(READLINE_FOUND)
SET( READLINE_LIBRARIES ${READLINE_LIBRARY} )
ELSE(READLINE_FOUND)
SET( READLINE_LIBRARIES )
ENDIF(READLINE_FOUND)
MARK_AS_ADVANCED( READLINE_LIBRARY READLINE_INCLUDE_DIR )

View File

@ -14,9 +14,9 @@
ACLOCAL_AMFLAGS = -I autotools --install
bin_PROGRAMS = clonk c4group
bin_PROGRAMS = clonk c4group puncher c4script
EXTRA_PROGRAMS = tstc4netio puncher gunzip4c4group
EXTRA_PROGRAMS = tstc4netio gunzip4c4group
noinst_LIBRARIES = lib.a
@ -36,7 +36,7 @@ GCC_FLAGS =
WARNING_FLAGS = -Wall
endif
AM_CXXFLAGS = $(PTHREAD_CFLAGS) $(WINDOWS_CFLAGS) $(WARNING_FLAGS) $(GCC_FLAGS)
AM_CXXFLAGS = $(PTHREAD_CFLAGS) $(WINDOWS_CFLAGS) $(WARNING_FLAGS) $(GCC_FLAGS) -DOC_SYSTEM_DATA_DIR=\"${datadir}/openclonk\"
AM_CFLAGS = -Wall $(GCC_FLAGS)
@ -59,6 +59,7 @@ AM_CPPFLAGS = \
-I$(srcdir)/src/game/object \
-I$(srcdir)/src/lib/texture \
-I$(srcdir)/src/script \
-I$(srcdir)/thirdparty \
$(GLEW_CFLAGS) $(GTK_CFLAGS) $(OPENAL_CFLAGS) $(FREETYPE_CFLAGS) $(SDL_CFLAGS) $(BOOST_CPPFLAGS)
##BUILT_SOURCES = hgrevision.h
@ -67,7 +68,8 @@ AM_CPPFLAGS = \
##$(srcdir)/.hg/dirstate:
BUILT_SOURCES = C4Version.h
CLEANFILES = C4Version.h
CLEANFILES =
DISTCLEANFILES = C4Version.h
do_subst = sed -e 's,[@]C4PROJECT[@],OpenClonk Project,g' \
-e 's,[@]C4PROJECT_DOMAIN[@],openclonk,g' \
-e 's,[@]C4PROJECT_TLD[@],org,g' \
@ -83,7 +85,7 @@ do_subst = sed -e 's,[@]C4PROJECT[@],OpenClonk Project,g' \
-e 's,[@]C4VERSIONBUILDNAME[@],'"$$(sed -n 's/SET(C4VERSIONBUILDNAME\s\+"\(.\+\)")/\1/ p' $(srcdir)/Version.txt)"',g' \
-e 's,[@]C4VERSIONEXTRA[@],'$$(sed -n 's/SET(C4VERSIONEXTRA\s\+"\(.\+\)")/\1/ p' $(srcdir)/Version.txt)',g'
C4Version.h: $(srcdir)/src/C4Version.h.in
C4Version.h: $(srcdir)/src/C4Version.h.in $(srcdir)/Version.txt
$(do_subst) < $< > $@
@ -92,7 +94,7 @@ C4Version.h: $(srcdir)/src/C4Version.h.in
if RECENT_GCC
BUILT_SOURCES += C4Include.h.gch
CLEANFILES += C4Include.h.gch
DISTCLEANFILES = @am__quote@$(DEPDIR)/C4Include.Po@am__quote@
DISTCLEANFILES += @am__quote@$(DEPDIR)/C4Include.Po@am__quote@
# Adapted from the automake compile-command for normal source files.
# Has to be updated after certain changes in this file.
@ -112,60 +114,44 @@ WARNING_FLAGS += -Winvalid-pch
endif
lib_a_SOURCES = \
src/c4group/C4Group.cpp \
src/c4group/C4Group.h \
src/c4group/C4Update.cpp \
src/c4group/C4Update.h \
src/c4group/CStdFile.cpp \
src/c4group/CStdFile.h \
src/config/C4SecurityCertificates.cpp \
src/config/C4SecurityCertificates.h \
src/lib/C4InputValidation.cpp \
src/lib/C4InputValidation.h \
src/lib/C4LogBuf.cpp \
src/lib/C4LogBuf.h \
src/lib/C4Random.cpp \
src/lib/C4Random.h \
src/lib/C4Real.cpp \
src/lib/C4Real.h \
src/lib/C4RealImpl_Fixed.cpp \
src/lib/C4RealImpl_Fixed.h \
src/lib/C4RealImpl_FPU.h \
src/lib/C4RealImpl_SSE.cpp \
src/lib/C4RealImpl_SSE.h \
src/lib/C4Rect.cpp \
src/lib/C4Rect.h \
src/lib/C4RTF.cpp \
src/lib/C4RTF.h \
src/lib/C4Stat.cpp \
src/lib/C4Stat.h \
src/lib/PathFinder.cpp \
src/lib/PathFinder.h \
src/lib/Standard.cpp \
src/lib/Standard.h \
src/lib/StdAdaptors.h \
src/lib/StdBase64.cpp \
src/lib/StdBase64.h \
src/lib/StdBuf.cpp \
src/lib/StdBuf.h \
src/lib/StdColors.h \
src/lib/StdCompiler.cpp \
src/lib/StdCompiler.h \
src/lib/StdMarkup.cpp \
src/lib/StdMarkup.h \
src/lib/StdResStr2.cpp \
src/lib/StdResStr2.h \
src/lib/StdResStr.h \
src/lib/texture/C4Facet.cpp \
src/lib/texture/C4FacetEx.cpp \
src/lib/texture/C4FacetEx.h \
src/lib/texture/C4Facet.h \
src/lib/texture/C4Surface.cpp \
src/lib/texture/C4SurfaceFile.cpp \
src/lib/texture/C4SurfaceFile.h \
src/lib/texture/C4Surface.h \
src/lib/texture/StdPNG.cpp \
src/lib/texture/StdPNG.h
src/network/C4NetIO.cpp \
src/platform/StdConfig.cpp \
src/platform/StdConfig.h \
src/platform/StdFile.cpp \
src/platform/StdFile.h \
src/platform/StdRegistry.cpp \
src/platform/StdRegistry.h \
src/platform/StdScheduler.cpp \
src/platform/StdScheduler.h \
src/zlib/gzio.c \
src/zlib/zutil.h
clonk_SOURCES = \
src/lib/C4Log.cpp \
src/lib/C4Log.h \
src/lib/C4NameList.cpp \
src/lib/C4NameList.h \
src/lib/texture/C4GraphicsResource.cpp \
src/lib/texture/C4GraphicsResource.h \
src/C4Application.cpp \
src/C4Application.h \
src/C4FullScreen.cpp \
@ -175,34 +161,28 @@ src/C4Game.h \
src/C4Globals.cpp \
src/C4GraphicsSystem.cpp \
src/C4GraphicsSystem.h \
src/c4group/C4LangStringTable.cpp \
src/c4group/C4LangStringTable.h \
src/c4group/C4Components.h \
src/c4group/C4ComponentHost.cpp \
src/c4group/C4ComponentHost.h \
src/c4group/C4Components.h \
src/c4group/C4Extra.cpp \
src/c4group/C4Extra.h \
src/c4group/C4Group.cpp \
src/c4group/C4Group.h \
src/c4group/C4GroupSet.cpp \
src/c4group/C4GroupSet.h \
src/c4group/C4LangStringTable.cpp \
src/c4group/C4LangStringTable.h \
src/c4group/C4Language.cpp \
src/c4group/C4Language.h \
src/c4group/C4Update.cpp \
src/c4group/C4Update.h \
src/c4group/CStdFile.cpp \
src/c4group/CStdFile.h \
src/C4Include.h \
src/C4Prototypes.h \
src/C4Version.h \
src/C4Version.h.in \
src/C4WinMain.cpp \
src/config/C4Config.cpp \
src/config/C4Config.h \
src/config/C4ConfigShareware.cpp \
src/config/C4ConfigShareware.h \
src/config/C4Constants.h \
src/config/C4SecurityCertificates.cpp \
src/config/C4SecurityCertificates.h \
src/config/C4Reloc.cpp \
src/config/C4Reloc.h \
src/control/C4Control.cpp \
src/control/C4Control.h \
src/control/C4GameControl.cpp \
@ -223,17 +203,15 @@ src/control/C4RoundResults.h \
src/control/C4Teams.cpp \
src/control/C4Teams.h \
src/editor/C4Console.cpp \
src/editor/C4Console.h \
src/editor/C4ConsoleGUI.h \
src/editor/C4ConsoleGUICommon.h \
src/editor/C4ConsoleGUI.h \
src/editor/C4Console.h \
src/editor/C4DevmodeDlg.cpp \
src/editor/C4DevmodeDlg.h \
src/editor/C4EditCursor.cpp \
src/editor/C4EditCursor.h \
src/editor/C4ObjectListDlg.cpp \
src/editor/C4ObjectListDlg.h \
src/editor/C4PropertyDlg.cpp \
src/editor/C4PropertyDlg.h \
src/editor/C4ToolsDlg.cpp \
src/editor/C4ToolsDlg.h \
src/game/C4GameVersion.h \
@ -274,6 +252,8 @@ src/game/object/C4Command.h \
src/game/object/C4Def.cpp \
src/game/object/C4DefGraphics.cpp \
src/game/object/C4DefGraphics.h \
src/game/object/C4DefList.cpp \
src/game/object/C4DefList.h \
src/game/object/C4Def.h \
src/game/object/C4GameObjects.cpp \
src/game/object/C4GameObjects.h \
@ -298,6 +278,7 @@ src/game/object/C4ObjectList.cpp \
src/game/object/C4ObjectList.h \
src/game/object/C4ObjectMenu.cpp \
src/game/object/C4ObjectMenu.h \
src/game/object/C4ObjectScript.cpp \
src/game/object/C4ObjectPtr.cpp \
src/game/object/C4ObjectPtr.h \
src/game/object/C4Sector.cpp \
@ -314,7 +295,7 @@ src/game/script/C4Effect.cpp \
src/game/script/C4Effects.h \
src/game/script/C4FindObject.cpp \
src/game/script/C4FindObject.h \
src/game/script/C4Script.cpp \
src/game/script/C4GameScript.cpp \
src/game/script/C4Script.h \
src/game/script/C4TransferZone.cpp \
src/game/script/C4TransferZone.h \
@ -387,6 +368,49 @@ src/gui/C4UpperBoard.h \
src/gui/C4UserMessages.h \
src/gui/C4Viewport.cpp \
src/gui/C4Viewport.h \
src/lib/C4LogBuf.cpp \
src/lib/C4LogBuf.h \
src/lib/C4Log.cpp \
src/lib/C4Log.h \
src/lib/C4NameList.cpp \
src/lib/C4NameList.h \
src/lib/C4Random.cpp \
src/lib/C4Random.h \
src/lib/C4Real.cpp \
src/lib/C4Real.h \
src/lib/C4Rect.cpp \
src/lib/C4Rect.h \
src/lib/C4RTF.cpp \
src/lib/C4RTF.h \
src/lib/C4Stat.cpp \
src/lib/C4Stat.h \
src/lib/PathFinder.cpp \
src/lib/PathFinder.h \
src/lib/StdAdaptors.h \
src/lib/StdBase64.cpp \
src/lib/StdBase64.h \
src/lib/StdColors.h \
src/lib/StdMesh.cpp \
src/lib/StdMesh.h \
src/lib/StdMeshLoaderBinaryChunks.cpp \
src/lib/StdMeshLoaderBinaryChunks.h \
src/lib/StdMeshLoaderBinary.cpp \
src/lib/StdMeshLoaderDataStream.h \
src/lib/StdMeshLoader.h \
src/lib/StdMeshLoaderXml.cpp \
src/lib/StdMeshMaterial.cpp \
src/lib/StdMeshMaterial.h \
src/lib/StdResStr.h \
src/lib/texture/C4Facet.cpp \
src/lib/texture/C4FacetEx.cpp \
src/lib/texture/C4FacetEx.h \
src/lib/texture/C4Facet.h \
src/lib/texture/C4GraphicsResource.cpp \
src/lib/texture/C4GraphicsResource.h \
src/lib/texture/C4Surface.cpp \
src/lib/texture/C4Surface.h \
src/lib/texture/StdPNG.cpp \
src/lib/texture/StdPNG.h \
src/network/C4Client.cpp \
src/network/C4Client.h \
src/network/C4GameControlNetwork.cpp \
@ -395,7 +419,6 @@ src/network/C4InteractiveThread.cpp \
src/network/C4InteractiveThread.h \
src/network/C4League.cpp \
src/network/C4League.h \
src/network/C4NetIO.cpp \
src/network/C4NetIO.h \
src/network/C4Network2Client.cpp \
src/network/C4Network2Client.h \
@ -433,10 +456,10 @@ src/platform/C4MusicFile.cpp \
src/platform/C4MusicFile.h \
src/platform/C4MusicSystem.cpp \
src/platform/C4MusicSystem.h \
src/platform/C4SoundLoaders.cpp \
src/platform/C4SoundLoaders.h \
src/platform/C4SoundSystem.cpp \
src/platform/C4SoundSystem.h \
src/platform/C4SoundLoaders.h \
src/platform/C4SoundLoaders.cpp \
src/platform/C4Video.cpp \
src/platform/C4Video.h \
src/platform/C4VideoPlayback.cpp \
@ -444,10 +467,8 @@ src/platform/C4VideoPlayback.h \
src/platform/C4ViewportWindow.cpp \
src/platform/C4ViewportWindow.h \
src/platform/PlatformAbstraction.h \
src/platform/StdAppCommon.h \
src/platform/StdAppCommon.cpp \
src/platform/StdConfig.cpp \
src/platform/StdConfig.h \
src/platform/StdAppCommon.h \
src/platform/StdD3D.cpp \
src/platform/StdD3D.h \
src/platform/StdD3DShader.cpp \
@ -455,34 +476,19 @@ src/platform/StdD3DShader.h \
src/platform/StdDDraw2.cpp \
src/platform/StdDDraw2.h \
src/platform/StdFacet.h \
src/platform/StdFile.cpp \
src/platform/StdFile.h \
src/platform/StdFont.cpp \
src/platform/StdFont.h \
src/platform/StdGL.cpp \
src/platform/StdGLCtx.cpp \
src/platform/StdGL.h \
src/platform/StdMesh.cpp \
src/platform/StdMesh.h \
src/platform/StdMeshLoader.h \
src/platform/StdMeshLoaderBinary.cpp \
src/platform/StdMeshLoaderBinaryChunks.cpp \
src/platform/StdMeshLoaderBinaryChunks.h \
src/platform/StdMeshLoaderDataStream.h \
src/platform/StdMeshLoaderXml.cpp \
src/platform/StdMeshMaterial.cpp \
src/platform/StdMeshMaterial.h \
src/platform/StdNoGfx.cpp \
src/platform/StdNoGfx.h \
src/platform/StdRegistry.cpp \
src/platform/StdRegistry.h \
src/platform/StdScheduler.cpp \
src/platform/StdScheduler.h \
src/platform/StdSurface2.cpp \
src/platform/StdSurface2.h \
src/platform/StdSurface8.cpp \
src/platform/StdSurface8.h \
src/platform/StdSync.h \
src/platform/StdTApp.cpp \
src/platform/StdVideo.cpp \
src/platform/StdVideo.h \
src/platform/StdWindow.h \
@ -501,46 +507,61 @@ src/res/Play.h \
src/res/Rect.h \
src/res/resource.h \
src/res/Static.h \
src/script/C4AList.cpp \
src/script/C4AList.h \
src/script/C4Aul.cpp \
src/script/C4AulDebug.cpp \
src/script/C4AulDebug.h \
src/script/C4AulDefFunc.h \
src/script/C4AulExec.cpp \
src/script/C4AulExec.h \
src/script/C4Aul.h \
src/script/C4AulLink.cpp \
src/script/C4AulParse.cpp \
src/script/C4PropList.cpp \
src/script/C4PropList.h \
src/script/C4Script.cpp \
src/script/C4ScriptHost.cpp \
src/script/C4ScriptHost.h \
src/script/C4StringTable.cpp \
src/script/C4StringTable.h \
src/script/C4Value.cpp \
src/script/C4Value.h \
src/script/C4ValueArray.cpp \
src/script/C4ValueArray.h \
src/script/C4Value.cpp \
src/script/C4Value.h \
src/script/C4ValueMap.cpp \
src/script/C4ValueMap.h \
src/tinyxml/tinystr.cpp \
src/tinyxml/tinystr.h \
src/tinyxml/tinyxml.cpp \
src/tinyxml/tinyxml.h \
src/tinyxml/tinyxmlerror.cpp \
src/tinyxml/tinyxmlparser.cpp \
src/zlib/gzio.c \
src/zlib/zutil.h \
src/script/C4AulDebug.h \
src/script/C4AulExec.h \
src/C4Version.h.in
##hgrevision.h
thirdparty/tinyxml/tinystr.cpp \
thirdparty/tinyxml/tinystr.h \
thirdparty/tinyxml/tinyxml.cpp \
thirdparty/tinyxml/tinyxml.h \
thirdparty/tinyxml/tinyxmlerror.cpp \
thirdparty/tinyxml/tinyxmlparser.cpp
if WIN32
clonk_SOURCES += src/platform/C4FileClasses.cpp src/editor/C4ConsoleWin32.cpp
clonk_SOURCES += src/res/engine.rc src/res/resource.h
clonk_SOURCES += src/platform/StdJoystick.cpp src/platform/StdJoystick.h
clonk_SOURCES += \
src/platform/C4FileClasses.cpp \
src/editor/C4ConsoleWin32.cpp \
src/platform/C4CrashHandlerWin32.cpp \
src/res/engine.rc \
src/res/resource.h \
src/platform/StdJoystick.cpp \
src/platform/StdJoystick.h
endif
if MACOSX
clonk_SOURCES += src/platform/MacUtility.h src/platform/MacUtility.mm src/platform/StdMacApp.mm
clonk_SOURCES += \
src/platform/StdMacApp.mm \
src/platform/C4FileMonitorMac.mm \
src/platform/StdMacWindow.mm \
src/platform/ClonkAppDelegate.h \
src/platform/ClonkAppDelegate.mm \
src/platform/ConsoleWindowController.h \
src/platform/ConsoleWindowController.mm \
src/platform/ClonkWindowController.h \
src/platform/ClonkWindowController.mm \
src/platform/ClonkOpenGLView.h \
src/platform/ClonkOpenGLView.mm \
src/platform/CocoaKeycodeMap.h \
src/editor/C4ConsoleCocoa.mm \
src/platform/ClonkMainMenuActions.mm
endif
if SDL_MAIN_LOOP
clonk_SOURCES += src/platform/StdSDLApp.cpp src/platform/StdSDLWindow.cpp
@ -548,7 +569,7 @@ else
if WIN32
clonk_SOURCES += src/platform/StdWindow.cpp
else
clonk_SOURCES += src/platform/StdXApp.cpp src/platform/StdXWindow.cpp src/platform/StdXPrivate.h src/platform/StdTApp.cpp
clonk_SOURCES += src/platform/StdXApp.cpp src/platform/StdXWindow.cpp src/platform/StdXPrivate.h
endif
endif
if DEVELOPER_MODE
@ -592,27 +613,14 @@ c4group_CPPFLAGS = \
-I$(srcdir)/src/script
c4group_SOURCES = \
src/c4group/c4group_ng.cpp \
src/c4group/C4Group.cpp \
src/lib/C4InputValidation.cpp \
src/config/C4SecurityCertificates.cpp \
src/c4group/C4Update.cpp \
src/lib/Standard.cpp \
src/c4group/CStdFile.cpp \
src/lib/StdMarkup.cpp \
src/lib/StdBuf.cpp \
src/lib/StdCompiler.cpp \
src/platform/StdFile.cpp \
src/platform/StdRegistry.cpp \
src/lib/StdResStr2.cpp \
src/platform/StdConfig.cpp \
src/zlib/gzio.c
src/c4group/c4group_ng.cpp
if WIN32
c4group_SOURCES += src/c4group/Resource.rc
endif
c4group_LDADD = \
lib.a \
$(LIBICONV) \
$(Z_LIBS) \
$(OPENSSL_LIBS) \
@ -621,33 +629,20 @@ c4group_LDADD = \
## gunzip4c4group
gunzip4c4group_SOURCES = \
src/c4group/gunzip4c4group.cpp \
src/c4group/C4Group.cpp \
src/lib/C4InputValidation.cpp \
src/config/C4SecurityCertificates.cpp \
src/c4group/C4Update.cpp \
src/lib/Standard.cpp \
src/c4group/CStdFile.cpp \
src/lib/StdMarkup.cpp \
src/lib/StdBuf.cpp \
src/lib/StdCompiler.cpp \
src/platform/StdFile.cpp \
src/platform/StdRegistry.cpp \
src/lib/StdResStr2.cpp \
src/platform/StdConfig.cpp \
src/zlib/gzio.c
src/c4group/gunzip4c4group.cpp
gunzip4c4group_LDADD = \
lib.a \
$(Z_LIBS) \
$(PTHREAD_LIBS)
## puncher
puncher_SOURCES = \
src/netpuncher/main.cpp \
src/network/C4NetIO.cpp
src/netpuncher/main.cpp
puncher_LDADD = \
lib.a \
$(PTHREAD_LIBS)
if WIN32
@ -657,29 +652,56 @@ endif
## tstc4netio
tstc4netio_SOURCES = \
src/netio/TstC4NetIO.cpp \
src/network/C4NetIO.cpp
src/netio/TstC4NetIO.cpp
tstc4netio_LDADD = \
$(PTHREAD_LIBS) -lz
$(Z_LIBS) \
$(PTHREAD_LIBS)
if WIN32
tstc4netio_LDADD += -lwinmm -lws2_32
endif
## c4script shell
c4script_SOURCES = \
src/lib/C4Real.cpp \
src/lib/C4Random.cpp \
src/script/shell.cpp \
src/script/C4Aul.cpp \
src/script/C4AulExec.cpp \
src/script/C4AulLink.cpp \
src/script/C4AulParse.cpp \
src/script/C4StringTable.cpp \
src/script/C4PropList.cpp \
src/script/C4ScriptHost.cpp \
src/script/C4ValueArray.cpp \
src/script/C4Value.cpp \
src/script/C4ValueMap.cpp \
src/game/object/C4Id.cpp \
src/script/C4Script.cpp \
src/c4group/C4GroupSet.cpp \
src/c4group/C4ComponentHost.cpp \
src/c4group/C4LangStringTable.cpp
c4script_LDADD = \
lib.a \
$(OPENSSL_LIBS) \
$(Z_LIBS)
## other stuff
EXTRA_DIST = \
Version.txt \
CMakeLists.txt \
config.h.cmake \
planet/System.c4g/LanguageUS.txt \
planet/System.c4g/LanguageDE.txt \
clonk.anjuta \
licenses \
xcode \
src/netio/NetIO.dsp \
src/netpuncher/Puncher.dsp \
src/res/Brush_Trans.png \
src/res/Cursor_Trans.png \
src/res/cz.ico \
src/res/Dynamic_Trans.png \
src/res/Exact_Trans.png \
src/res/Fill_Trans.png \
@ -692,7 +714,6 @@ EXTRA_DIST = \
src/res/Play_Trans.png \
src/res/Rect_Trans.png \
src/res/Static_Trans.png \
src/c4group/resource.h \
src/c4group/Resource.rc \
src/res/brush1.bmp \
src/res/c4g.ico \

View File

@ -1,19 +1,34 @@
Requirements
============
OSX 10.4 or higher
OSX 10.6 or higher (might also work with 10.5)
an Intel mac
xcode
brew (https://github.com/mxcl/homebrew) or macports (http://www.macports.org/)
Xcode
Apple X11
CMake (http://www.cmake.org/)
Build
=====
Launch xcode and load the project. Select the desired configuration and build.
-Install dependencies using brew or port (libjpeg, libpng, freetype, glew, libogg, libvorbis, libvorbisfile)
-Launch the CMake GUI application
-Click Browse Source… button, navigate to your openclonk repository folder
-Also Specify location where you want to build
-Click Configure and use default native compilers
-Wait
-<Potentially include additional steps to make CMake find the right libraries>
-If you want 64-bit builds set the CMAKE_OSX_ARCHITECTURES setting to "x86_64"
-For universal builds set it to "x86_64 i386", but then you'll also need universal versions of the dependencies
-Click Configure button again for good measure
-Click Generate
-Launch xcode and load the project. Select the desired configuration and build.
It should be pretty straight forward, hopefully.
NoNetwork
=========
Additional CMake hints
=====================
If you are using the public source package, will be able to build
the "NoNetwork" configurations only.
FREETYPE_LIBRARY should be set to /usr/X11/lib/libfreetype.6.dylib
ZLIB_LIBRARY to /usr/lib/libz.dylib
ZLIB_INCLUDE_DIR to /usr/include

View File

@ -16,12 +16,14 @@ SET(C4ENGINEID "${C4PROJECT_TLD}.${C4PROJECT_DOMAIN}.${C4ENGINENICK}")
SET(C4XVER1 5)
SET(C4XVER2 1)
SET(C4XVER3 0)
SET(C4XVER3 90)
SET(C4XVER4 0)
SET(C4VERSIONBUILDNAME "Back to the Rocks")
# C4VERSIONBUILDNAME should be witty and somewhat frequently changing
# for alpha and beta releases, and meaningful and stable for stable releases.
SET(C4VERSIONBUILDNAME "Schokokeks")
SET(C4VERSIONEXTRA "Beta")
SET(C4VERSIONEXTRA "Alpha")
############################################################################
# Get revision from Mercurial

10
clonk.desktop 100644
View File

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Name=OpenClonk
Comment=An action-packed game of strategy, tactics, and skill.
Comment[de]=Ein actiongeladenes Taktikspiel.
GenericName=Multiplayer action, tactics and skill game
Icon=clonk
Exec=clonk
Categories=Game;ActionGame;
StartupNotify=true

View File

@ -91,6 +91,9 @@
/* Define to 1 if you have the <sys/inotify.h> header file. */
#cmakedefine HAVE_SYS_INOTIFY_H 1
/* Define to 1 if you have the <sys/file.h> header file. */
#cmakedefine HAVE_SYS_FILE_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#cmakedefine HAVE_SYS_SOCKET_H 1

View File

@ -90,6 +90,9 @@
/* inotify reachable using syscall */
#undef HAVE_SYSCALL_INOTIFY
/* Define to 1 if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define to 1 if you have the <sys/inotify.h> header file. */
#undef HAVE_SYS_INOTIFY_H

View File

@ -56,7 +56,7 @@ AM_CONDITIONAL(MACOSX, [test $osx = true])
# various used headers
dnl the whitespace is there to prevent AC_INCLUDES_DEFAULT
AC_CHECK_HEADERS([stdint.h unistd.h poll.h sys/stat.h sys/types.h locale.h sys/socket.h signal.h langinfo.h sys/inotify.h sys/syscall.h], , , [[ ]])
AC_CHECK_HEADERS([stdint.h unistd.h poll.h sys/file.h sys/stat.h sys/types.h locale.h sys/socket.h signal.h langinfo.h sys/inotify.h sys/syscall.h], , , [[ ]])
# Mingw does not ship with multimon.h
AC_CHECK_HEADERS([multimon.h io.h direct.h share.h], [], [], [[#include <windows.h>]])
# iconv
@ -103,18 +103,37 @@ AC_ARG_ENABLE([sound],
, [if test $enable_console = yes; then enable_sound=no; else if test $win32 = true; then enable_sound=no; else enable_sound=yes; fi; fi])
# GTK+
GTK_REQUIRED="glib-2.0 >= 2.4 gtk+-2.0 >= 2.4"
GTK2_REQUIRED="glib-2.0 >= 2.8 gtk+-2.0 >= 2.8"
GTK3_REQUIRED="glib-2.0 >= 2.27.5 gtk+-3.0 >= 2.99.0"
PKG_PROG_PKG_CONFIG
AC_MSG_CHECKING([which gtk+ version to compile against])
AC_ARG_WITH([gtk],
[AC_HELP_STRING([--with-gtk], [Use gtk for the developer mode [default=auto]])],
, [AS_IF([test $enable_console = no],[PKG_CHECK_EXISTS([$GTK_REQUIRED], [with_gtk=yes], [with_gtk=no])],[with_gtk=no])])
AS_IF([test $with_gtk = yes],[
[AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against [default: auto]])],
[case "$with_gtk" in
2.0|3.0) ;;
no) ;;
*) AC_MSG_ERROR([invalid gtk version specified]) ;;
esac],
[AS_IF([test $enable_console = no],
[PKG_CHECK_EXISTS([$GTK3_REQUIRED],
[with_gtk=3.0],
[PKG_CHECK_EXISTS([$GTK2_REQUIRED],
[with_gtk=2.0],
[with_gtk=no])])],
[with_gtk=no])])
AC_MSG_RESULT([$with_gtk])
AS_IF([test $with_gtk != no],[
case "$with_gtk" in
2.0) GTK_REQUIRED="$GTK2_REQUIRED"
;;
3.0) GTK_REQUIRED="$GTK3_REQUIRED"
;;
esac
PKG_CHECK_MODULES(GTK, [$GTK_REQUIRED])
AC_DEFINE([WITH_GLIB], 1, [Glib])
AC_DEFINE([WITH_DEVELOPER_MODE], 1, [Developer mode])
DEVELOPER_MODE=true
])
AM_CONDITIONAL(DEVELOPER_MODE, [test $with_gtk = yes])
AM_CONDITIONAL(DEVELOPER_MODE, [test $with_gtk != no])
# OpenAL
AC_ARG_WITH([openal],

View File

@ -55,9 +55,10 @@
<xsl:template match="script">
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
<xsl:template match="*" mode="head">
<xsl:template match="func" mode="head">
<xsl:apply-templates mode="head" />
</xsl:template>
<xsl:template match="*" mode="head" />
<xsl:template match="title" />
<xsl:template name="header">

1367
docs/de.po

File diff suppressed because it is too large Load Diff

View File

@ -100,6 +100,8 @@
<li><img src='../images/bullet_sheet.gif' alt='-' />
<emlink href="definition/script.html">Scripts</emlink></li>
<li><img src='../images/bullet_sheet.gif' alt='-' />
<emlink href="definition/properties.html">Properties</emlink></li>
<li><img src='../images/bullet_sheet.gif' alt='-' />
<emlink href="particle/index.html">Particles</emlink></li>
</ul>
</li>

View File

@ -74,12 +74,6 @@
<col>According to <emlink href="script/fn/SetComDir.html">ComDir</emlink>. Bridge material is a material number in <emlink href="script/fn/SetActionData.html">Data</emlink>.</col>
<col>CNAT_Bottom</col>
</row>
<row>
<col>BUILD</col>
<col>Building</col>
<col>Builds the <emlink href="script/fn/SetAction.html">target object</emlink>.</col>
<col>CNAT_Bottom</col>
</row>
<row>
<col>PUSH</col>
<col>Pushing</col>

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE doc
SYSTEM '../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../clonk.xsl"?>
<doc>
<title>Properties</title>
<h id="Properties">Properties</h>
<part>
<text>Every object has a number of properties that are handled by the engine. Typically, these are inherited from the object's Prototype, an <emlink href="definition/index.html#Objektdefinitionen">Object Definition</emlink>. A Property of an Object Definition is defined with the <code>local</code> keyword in the <emlink href="definition/script.html#Objektscripte">Definition's script</emlink>:</text>
<code>local Name = "$Name$";
local ActMap = {
Stand = {
Prototype = Action,
Name = "Stand",
Length = 1,
NextAction = "Stand"
},
};
</code>
<text>
<table>
<caption id="PropertiesTable">Properties</caption>
<rowh>
<col>Name</col>
<col>Data type</col>
<col>Description</col>
</rowh>
<row>
<col><code>Prototype</code></col>
<col>proplist</col>
<col></col>
</row>
<row>
<col><code>Name</code></col>
<col>string</col>
<col></col>
</row>
<row>
<col><code>Collectible</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>Touchable</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>ActMap</code></col>
<col>proplist</col>
<col></col>
</row>
<row>
<col><code>Visibility</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>LineColors</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>LineAttach</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>PictureTransformation</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>MeshTransformation</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>MouseDragImage</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>Animation</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>Action</code></col>
<col>proplist</col>
<col></col>
</row>
<row>
<col><code>BreatheWater</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>CorrosionResist</code></col>
<col></col>
<col></col>
</row>
<row>
<col><code>MaxEnergy</code></col>
<col>int</col>
<col></col>
</row>
<row>
<col><code>MaxBreath</code></col>
<col>int</col>
<col></col>
</row>
<row>
<col><code>ThrowSpeed</code></col>
<col>int</col>
<col></col>
</row>
<row id="Parallaxity">
<col><code>Parallaxity</code></col>
<col>[int, int]</col>
<col>The Objects's major Z-Position. See <funclink>C4D_Parallax</funclink>.</col>
</row>
<row id="Plane">
<col><code>Plane</code></col>
<col>int</col>
<col>The Object's minor Z-Position. Negative values are behind the landscape, positive values before it.</col>
</row>
</table>
</text>
</part>
<author>Günther</author><date>2011</date>
</doc>

View File

@ -71,7 +71,7 @@ func Aufruf1() { <funclink>Log</funclink>(&quot;Die zweite Funktion wurde aufger
func Aufruf2() { <funclink>Log</funclink>(&quot;Die dritte Funktion wurde aufgerufen!&quot;); }</code>
<text>In TestFunktion() a <em>random</em> function is called (using <funclink>Random</funclink> and <funclink>Format</funclink> one of the three strings "Aufruf1", "Aufruf2", and "Aufruf3" is randomly composed and passed to <code>Call</code>).</text>
<text>This process has to be done with indirect calls as only at runtime we can know which function is to be called.</text>
<text>There are also some other methods of indirect calls. See <funclink>ObjectCall</funclink> and <funclink>GameCall</funclink>. Also see <funclink>PrivateCall</funclink> and <funclink>ProtectedCall</funclink>. They allow for bypassing the <emlink href="script/Funcs.html#Aufrufb">calling permission</emlink> and only exist as indirect calls.</text>
<text>There are also some other methods of indirect calls. See <funclink>GameCall</funclink>. Also see <funclink>PrivateCall</funclink> and <funclink>ProtectedCall</funclink>. They allow for bypassing the <emlink href="script/Funcs.html#Aufrufb">calling permission</emlink> and only exist as indirect calls.</text>
</part>
</part>
<author>PeterW</author><date>2003-05</date>

View File

@ -8,7 +8,7 @@
<category>Effects</category>
<version>4.9.5.0 CE</version>
<syntax>
<rtype>int</rtype>
<rtype>proplist</rtype>
<params>
<param>
<type>string</type>
@ -70,7 +70,7 @@
</param>
</params>
</syntax>
<desc>Creates an effect. Returns the effect index if successful or 0 if not (e.g. because the effect was rejected). If the effect was accepted by another effect which is deleting itself within the same call, the return value is -2.</desc>
<desc>Creates an effect. Returns the effect if successful or <code>nil</code> if not (e.g. because the effect was rejected). If the effect was accepted by another effect which is deleting itself within the same call, the return value is probably nil.</desc>
<remark>For examples and more information see the <emlink href="script/Effects.html">effects documentation</emlink>.</remark>
<related>
<emlink href="script/Effects.html">Effects Documentation</emlink>

View File

@ -9,12 +9,13 @@
<subcat>Category</subcat>
<version>4.9.1.0 GWE</version>
<syntax><rtype>int </rtype></syntax>
<desc>Object category: the object moves parallax with respect to the landscape. This means that the apparent object position changes depending on the scroll position of the viewport. This can be used to have objects apparently moving in the far background or to create status overlays.<br/>Parallax deviation from the normal location is specified in percent and stored in the first two indexed, local variables (see <funclink>Local</funclink>) of the object (Local(0) for horizontal, Local(1) for vertical deviation). This means for normal location these two values should be 100. A value of 0 will lock the object to the viewport. For parallax background object use values between 0 and 100. From NET, object positions can also be negative values. Those objects will then be aligned with the right or bottom edge of the screen respectively.</desc>
<desc>Object category: the object moves parallax with respect to the landscape. This means that the apparent object position changes depending on the scroll position of the viewport. This can be used to have objects apparently moving in the far background or to create status overlays.<br/>Parallax deviation from the normal location is specified in percent and stored in an array in the <emlink href="definition/properties.html#Parallaxity"><code>Parallaxity</code> property</emlink> of the object (<code>Parallaxity[0]</code> for horizontal, <code>Parallaxity[1]</code> for vertical deviation). This means for normal location these two values should be 100. A value of 0 will lock the object to the viewport. For parallax background object use values between 0 and 100. Object positions can also be negative values. Those objects will then be aligned with the right or bottom edge of the screen respectively.</desc>
<remark>This value is also defined as a constant. Thus the parameter brackets can be omitted.</remark>
<examples>
<example>
<code><funclink>SetCategory</funclink>(<funclink>GetCategory</funclink>() | C4D_Parallax() | <funclink>C4D_Background</funclink>());
<funclink>Local</funclink>()=50; <funclink>Local</funclink>(1)=100;
<code><funclink>this</funclink>.<emlink href="definition/properties.html#Plane">Plane</emlink> = -1000;
<funclink>SetCategory</funclink>(<funclink>GetCategory</funclink>() | C4D_Parallax());
<funclink>this</funclink>.Parallaxity = [50, 50];
</code>
<text>Moves the calling object into the background and adds horizontal parallaxity.</text>
</example>

View File

@ -27,7 +27,6 @@
<related>
<funclink>ProtectedCall</funclink>
<funclink>PrivateCall</funclink>
<funclink>ObjectCall</funclink>
<funclink>GameCall</funclink>
<funclink>eval</funclink>
</related>

View File

@ -37,7 +37,6 @@
</example>
</examples>
<related>
<funclink>ObjectCall</funclink>
<funclink>GameCall</funclink>
</related>
</func>

View File

@ -33,7 +33,6 @@
</examples>
<related>
<funclink>Call</funclink>
<funclink>ObjectCall</funclink>
<funclink>DefinitionCall</funclink>
</related>
</func>

View File

@ -15,18 +15,20 @@
<name>index</name>
<desc>Index of the definition.</desc>
</param>
<param>
<type>int</type>
<name>category</name>
<desc>Category of the definition.</desc>
<optional />
</param>
</params>
</syntax>
<desc>Returns the id of the indicated definition from the list of definitions of the specified category as currently loaded by the engine (category 0 for all categories).</desc>
<desc>Returns the id of the indicated definition from the list of definitions as currently loaded by the engine.</desc>
<examples>
<example>
<text>see <funclink>C4D_Goal</funclink>.</text>
<code>
var index = 0, weapon_def, weapon_list = [];
while (weapon_def = GetDefinition(index))
{
if (weapon_def->~IsPlaneWeapon())
weapon_list[GetLength(weapon_list)] = weapon_def;
index++;
}
spawn_weapon = weapon_list[Random(GetLength(weapon_list))];</code>
</example>
</examples>
<related>

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>GetSystemTime</title>
<category>System</category>
<version>4.9.1.0 GWE</version>
<syntax>
<rtype>int</rtype>
<params>
<param>
<type>int</type>
<name>what</name>
<desc>What to return (see remarks).</desc>
</param>
</params>
</syntax>
<desc>Returns current system time.</desc>
<remark>
The function will return a value depending on what has been requested:
<table>
<rowh>
<col>what</col>
<col>Return value</col>
</rowh>
<row>
<col>0</col>
<col>Year</col>
</row>
<row>
<col>1</col>
<col>Month (1 = January, 2 = February, etc.)</col>
</row>
<row>
<col>2</col>
<col>Day of the wekk (0 = Sunday, 1 = Monday, etc.)</col>
</row>
<row>
<col>3</col>
<col>Day</col>
</row>
<row>
<col>4</col>
<col>Hour</col>
</row>
<row>
<col>5</col>
<col>Minute</col>
</row>
<row>
<col>6</col>
<col>Second</col>
</row>
<row>
<col>7</col>
<col>Millisecond</col>
</row>
</table>
</remark>
<remark>As operating system times will vary on different computers, this function will always return 0 in a network game or playback to avoid synchronization errors.</remark>
<examples>
<example>
<code>func SageUhrzeit()
{
<funclink>Message</funclink>(&quot;Die momentane Uhrzeit ist: %02d:%02d:%02d&quot;, GetSystemTime(4), GetSystemTime(5), GetSystemTime(6));
}</code>
</example>
</examples>
<related><funclink>GetTime</funclink></related>
</func>
<author>Peter</author><date>2002-08</date>
</funcs>

View File

@ -23,7 +23,6 @@
<text>This function checks the performance of the function "<funclink>Cos</funclink>". To do this, it executes the function 100 times and calculates the processinf time using GetTime().</text>
</example>
</examples>
<related><funclink>GetSystemTime</funclink></related>
</func>
<author>Peter</author><date>2002-08</date>
</funcs>

View File

@ -30,7 +30,6 @@
</syntax>
<desc>Calls the specified private, protected, or public function in the target object. You should reconsider whether this workaround is really necessary.</desc>
<related>
<funclink>ObjectCall</funclink>
<funclink>ProtectedCall</funclink>
<funclink>Call</funclink>
<funclink>GameCall</funclink>

View File

@ -30,7 +30,6 @@
</syntax>
<desc>Calls the protected or public function szFunction in obj. You should reconsider whether this workaround is really necessary.</desc>
<related>
<funclink>ObjectCall</funclink>
<funclink>PrivateCall</funclink>
<funclink>Call</funclink>
<funclink>GameCall</funclink>

View File

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>Resort</title>
<category>Objects</category>
<subcat>Position</subcat>
<version>4.9.1.0 GWE</version>
<syntax>
<rtype>bool</rtype>
<params>
<param>
<type>object</type>
<name>obj</name>
<desc>Object to be resorted. Can be 0 in local calls. If 0 in a global call all objects will be resorted (used to fix sorting errors).</desc>
<optional />
</param>
</params>
</syntax>
<desc>Resorts a single object in the internal object array.</desc>
<remark>Objects are primarily sorted by the main categories (C4D_StaticBack through C4D_Object) and secondarily by their object definition (newly placed definitions are placed at the end of the list, so they are drawn at the very top). C4D_StaticBack objects, however, are not sorted by definition. <br/> Internal sorting is always done at the end of each executed frame.</remark>
<examples>
<example>
<code>var obj;
<funclink>while</funclink> (obj = <funclink>FindObject</funclink>(ELEC, 0,0,0,0, 0, 0,0, 0, obj))
Resort(obj);</code>
<text>Makes sure that elevator cases are placed before all other objects.</text>
</example>
</examples>
<related>
<funclink>ResortObjects</funclink>
<funclink>SetObjectOrder</funclink>
</related>
</func>
<author>Sven2</author><date>2003-05</date>
</funcs>

View File

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>ResortObject</title>
<category>Objects</category>
<subcat>Position</subcat>
<version>4.9.1.0 GWE</version>
<syntax>
<rtype>bool</rtype>
<params>
<param>
<type>string</type>
<name>resort_function</name>
<desc>Name of the function to be called for sorting order.</desc>
</param>
</params>
</syntax>
<desc>Resorts a single object in the internal object array. The sorting order is determined through a sorting function which should define the object position relative to other objects in the object array. If the first object is to be sorted before the second, the function should return a value less than zero. Otherwise, the function should return a value greater than or equal to zero.</desc>
<remark>Internal sorting is not done immediately but at the end of the frame in which the function was called.</remark>
<examples>
<example>
<code>protected func Collection2() { <funclink>return</funclink>(ResortObject(&quot;ResortProc&quot;); };
protected func ResortProc(obj1, obj2) { return(obj1-&gt;<funclink>GetMass</funclink>()-obj2-&gt;<funclink>GetMass</funclink>());</code>
<text>Object script: if collected, the object resorts itself in the object array according to its mass (lighter objects in front).</text>
</example>
</examples>
<related>
<funclink>SetObjectOrder</funclink>
<funclink>ResortObjects</funclink>
<funclink>Resort</funclink>
</related>
</func>
<author>Sven2</author><date>2003-06</date>
</funcs>

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>ResortObjects</title>
<category>Objects</category>
<subcat>Position</subcat>
<version>4.9.1.0 GWE</version>
<syntax>
<rtype>bool</rtype>
<params>
<param>
<type>string</type>
<name>resort_func</name>
<desc>Name of the function to be called for sorting.</desc>
</param>
<param>
<type>int</type>
<name>category</name>
<desc>Object category to be resorted (e.g. <funclink>C4D_StaticBack</funclink>). 0 resorts all objects.</desc>
<optional />
</param>
</params>
</syntax>
<desc>Resorts all objects or all objects of a given category internally. This is done through a simple sort algorithm which calls the specified function to determine the relation of two objects being compared. The two object references are passed in <funclink>Par</funclink>(0) and <funclink>Par</funclink>(1). If the first object is to be sorted before the second, the function should return a value less than zero. Otherwise, the function should return a value greater than or equal to zero.</desc>
<remark>Internal sorting is not done immediately but at the end of the frame in which the function was called.</remark>
<examples>
<example>
<code> ResortObjects(&quot;ResortProc&quot;, <funclink>C4D_StaticBack</funclink>());
protected ResortProc: return(<funclink>GetMass</funclink>(<funclink>Par</funclink>(0))-<funclink>GetMass</funclink>(<funclink>Par</funclink>(1)));</code>
<text>Sorts all C4D_StaticBack objects by weight (lighter objects in front).</text>
</example>
</examples>
<related>
<funclink>SetObjectOrder</funclink>
<funclink>Resort</funclink>
</related>
</func>
<author>Sven2</author><date>2001-11</date>
</funcs>

View File

@ -106,14 +106,6 @@
<col></col>
<col>Attack the target object.</col>
</row>
<row>
<literal_col>Build</literal_col>
<col>Target object</col>
<col></col>
<col></col>
<col></col>
<col>Build the target object.</col>
</row>
<row>
<literal_col>Buy</literal_col>
<col>Null</col>
@ -154,38 +146,6 @@
<col></col>
<col>Fell the target object object (tree).</col>
</row>
<row>
<literal_col>Construct</literal_col>
<col></col>
<col></col>
<col></col>
<col></col>
<col>Open the Construction menu.</col>
</row>
<row>
<literal_col>Construct</literal_col>
<col>Null</col>
<col>0,0</col>
<col>Null</col>
<col>Object type (id)</col>
<col>Create a construction site at the closest possible position.</col>
</row>
<row>
<literal_col>Construct</literal_col>
<col>Null</col>
<col>Target position</col>
<col>Null</col>
<col>Object type (id)</col>
<col>Create a construction site at the target position and start building.</col>
</row>
<row>
<literal_col>Construct</literal_col>
<col>Target object</col>
<col>Target position [opt]</col>
<col>Null</col>
<col>Object type (id)</col>
<col>Help the target object with the construction (help building as soon as the site is created).</col>
</row>
<row>
<literal_col>Dig</literal_col>
<col>Null</col>

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>SetObjectOrder</title>
<category>Objects</category>
<subcat>Position</subcat>
<version>4.9.1.0 GWE<extversion>4.9.5.0 CE</extversion></version>
<syntax>
<rtype>bool</rtype>
<params>
<param>
<type>object</type>
<name>object_before_or_after</name>
<desc>Object before or after which sort_object is to be inserted.</desc>
</param>
<param>
<type>object</type>
<name>sort_object</name>
<desc>Object which is to be inserted before or after pObjBefore. Can be 0 in local calls.</desc>
<optional />
</param>
<param>
<type>bool</type>
<name>after</name>
<desc>If not 0, sort_object will be inserted after object object_before_or_after (and not before).</desc>
<optional />
</param>
</params>
</syntax>
<desc>Ensures that an object is internally sorted before or after another specified object. In this way, you can e.g. ensure that an elevator case is always drawn and processed before its elevator structure.</desc>
<remark>You should only resort objects of the same category, otherwise the internal handling mights get confused.<br/>The actual resorting is done later but within the same frame as the script call.</remark>
<examples>
<example>
<code>SetObjectOrder(<funclink>FindObject</funclink>(TRE1), <funclink>FindObject</funclink>(TRE2));</code>
<text>Places the first found tree of type TRE2 before the first found tree of type TRE1.</text>
</example>
</examples>
<related>
<funclink>ResortObjects</funclink>
<funclink>Resort</funclink>
</related>
</func>
<author>Sven2</author><date>2002-04</date>
</funcs>

View File

@ -56,7 +56,6 @@
</examples>
<related>
<funclink>ScrollContents</funclink>
<funclink>ResortObjects</funclink>
</related>
</func>
<author>Sven2</author><date>2002-04</date>

View File

@ -41,7 +41,7 @@
$absolutefile = ParseINI::parseValue('oc_update_path', $config) . $_REQUEST['file'];
if (file_exists($absolutefile)) {
if(hash_hmac_file('sha256', $absolutefile, ParseINI::parseValue('oc_update_secret', $config)) == $_REQUEST['hash']) {
$old_version = isset($_REQUEST['old_version']) ? explode(',', mysql_real_escape_string($_REQUEST['old_version'], $link)) : array();
$old_version = isset($_REQUEST['old_version']) && !empty($_REQUEST['old_version']) ? explode(',', mysql_real_escape_string($_REQUEST['old_version'], $link)) : array();
$new_version = mysql_real_escape_string($_REQUEST['new_version'], $link);
$platform = mysql_real_escape_string($_REQUEST['platform'], $link);
$file = mysql_real_escape_string($_REQUEST['file'], $link);

View File

@ -11,5 +11,4 @@ VertexY=8,8,0
VertexFriction=100,100,100
Value=20
Mass=1000
Grab=2
Components=Wood=3;Metal=1;

View File

@ -60,3 +60,4 @@ func Definition(def) {
SetProperty("PictureTransformation", Trans_Mul(Trans_Scale(800), Trans_Translate(0,0,0),Trans_Rotate(-20,1,0,0),Trans_Rotate(-30,0,1,0)), def);
SetProperty("MeshTransformation", Trans_Rotate(-13,0,1,0));
}
local Touchable = 2;

View File

@ -15,4 +15,4 @@ public func SetTeam(int to_team)
else if (to_team == 2)
SetMeshMaterial("FlagRight");
return _inherited(to_team);
}
}

View File

@ -12,6 +12,4 @@ VertexFriction=40,40,40
Picture=0,0,8,8
Value=25
Mass=2
Collectible=1
Rebuy=1
Rotate=1
Rotate=1

View File

@ -80,3 +80,4 @@ public func FxFrostboltTimer(pTarget, effect, iEffectTime)
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;

View File

@ -12,6 +12,4 @@ VertexFriction=40,40,40
Picture=0,0,8,8
Value=25
Mass=2
Collectible=1
Rebuy=1
Rotate=1
Rotate=1

View File

@ -65,3 +65,4 @@ public func FxHardeningSpellTimer(pTarget, effect, iEffectTime)
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;

View File

@ -12,6 +12,4 @@ VertexFriction=40,40,40
Picture=0,0,8,8
Value=25
Mass=2
Collectible=1
Rebuy=1
Rotate=1
Rotate=1

View File

@ -73,3 +73,4 @@ public func FxWindScrollStormTimer(pTarget, effect, iEffectTime)
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;

View File

@ -15,4 +15,4 @@ public func SetTeam(int to_team)
else if (to_team == 2)
SetMeshMaterial("FlagRight");
return _inherited(to_team);
}
}

View File

@ -12,6 +12,5 @@ VertexFriction=70,70,70,70
Value=5
Mass=10
Components=Sulphur=1
Rebuy=1
Rotate=1
Projectile=1

View File

@ -12,7 +12,6 @@ VertexFriction=70,70,70,70
Value=5
Mass=10
Components=Sulphur=1
Rebuy=1
Rotate=1
Projectile=1
Fragile=1

View File

@ -12,7 +12,6 @@ VertexFriction=70,70,70,70
Value=5
Mass=10
Components=Sulphur=1
Rebuy=1
Rotate=1
Projectile=1
Fragile=1

View File

@ -12,7 +12,6 @@ VertexFriction=70,70,70,70
Value=5
Mass=10
Components=Sulphur=1
Rebuy=1
Rotate=1
Projectile=1
Fragile=1

View File

@ -12,6 +12,4 @@ VertexFriction=40,40,40
Picture=0,0,8,8
Value=25
Mass=2
Collectible=1
Rebuy=1
Rotate=1
Rotate=1

View File

@ -76,3 +76,4 @@ public func FxFireballTimer(pTarget, effect, iEffectTime)
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;

View File

@ -12,6 +12,4 @@ VertexFriction=40,40,40
Picture=0,0,8,8
Value=25
Mass=2
Collectible=1
Rebuy=1
Rotate=1
Rotate=1

View File

@ -32,3 +32,4 @@ public func ControlUse(object pClonk, int ix, int iy)
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;

View File

@ -12,6 +12,4 @@ VertexFriction=40,40,40
Picture=0,0,8,8
Value=25
Mass=2
Collectible=1
Rebuy=1
Rotate=1
Rotate=1

View File

@ -76,3 +76,4 @@ public func FxWindScrollStormTimer(pTarget, effect, iEffectTime)
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

View File

@ -0,0 +1,38 @@
protected func Initialize()
{
SetProperty("MeshTransformation",Trans_Mul(Trans_Scale(150,150,150),Trans_Rotate(Random(360),0,1,0)));
}
protected func Damage()
{
if (GetDamage() > 80)
{
if (!this)
return false;
var ctr = Contained();
// Transfer all contents to container.
while (Contents())
if (!ctr || !Contents()->Enter(ctr))
Contents()->Exit();
// Split components.
for (var i = 0, compid; compid = GetComponent(nil, i); ++i)
for (var j = 0; j < GetComponent(compid); ++j)
{
var comp = CreateObject(compid, nil, -Random(50), GetOwner());
if (OnFire()) comp->Incinerate();
if (!ctr || !comp->Enter(ctr))
{
comp->SetR(Random(360));
comp->SetXDir(Random(3) - 1);
comp->SetYDir(Random(3) - 1);
comp->SetRDir(Random(3) - 1);
comp->SetClrModulation(RGB(250,128,0)); //give rocks the color of brick
}
}
RemoveObject();
}
return;
}
local Name = "$Name$";

View File

@ -0,0 +1,163 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f387\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp
\fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 \snext0 \sqformat \spriority0 Normal;}
{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031
\snext11 \ssemihidden \sunhideused \sqformat Normal Table;}}{\*\rsidtbl \rsid2063973\rsid4814691\rsid9125203\rsid12532703\rsid16718851}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0
\mnaryLim1}{\info{\operator MimmoO}{\creatim\yr2010\mo10\dy17\hr22\min53}{\revtim\yr2011\mo2\dy11\hr18\min10}{\version6}{\edmins0}{\nofpages1}{\nofwords54}{\nofchars307}{\nofcharsws360}{\vern32859}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office
/word/2003/wordml}}\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale150\rsidroot9125203 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\f0\fs20\insrsid4814691 \hich\af0\dbch\af31505\loch\f0 Versengt\hich\af0\dbch\af31505\loch\f0 \hich\f0 e G\'e4\loch\f0
rten}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f0\fs20\insrsid9125203
\par }{\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\insrsid9125203
\par }{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\insrsid4814691 \hich\af0\dbch\af31505\loch\f0 \hich\f0 Einst ein wahres Paradies, sind die Versengten G\'e4\loch\f0 \hich\f0 rten nun nichts weiter als eine raue Gegend, in der nur noch feuerfestes Gew\'e4
\loch\f0 \hich\f0 chs gedeiht. Neben der Bedrohung durch deine Feinde machen dir auch noch die Lava und pl\'f6\loch\f0 tzlich auftauchende Meteoriten da\hich\af0\dbch\af31505\loch\f0 s Leben Schwer.}{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0
\f0\fs16\insrsid2063973
\par
\par }{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\insrsid4814691 \hich\af0\dbch\af31505\loch\f0 Eine\hich\af0\dbch\af31505\loch\f0 feurige Last-Man-Standing Runde. Bleib als Letzer am Leben und gewinne!}{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0
\f0\fs16\insrsid2063973
\par }{\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\insrsid9125203
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b030414000600080000002100e35a492797060000551b0000160000007468656d652f7468656d652f7468656d65
312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b0704546a252e
e5d7048aa048fd0bbc33b3bbde89d72469235a417d48bcb3cfbcdf5f33be7aed5eccd0211192f2a4edd52fd73c44129f073409dbdead61ffd29a87a4c2498019
4f48db9b12e95ddb78ffbdab785d45242608f627721db7bd48a9747d6949fab08ce5659e9204de8db988b18247112e05021f01dd982d2dd76aab4b31a6898712
1c03d91d2ca894f8d21691344cbc8d9c7c8f018f4449bde03331d0c489bbc7808383ba86c8a9ec32810e316b7bc02ae04743724f798861a9e045dbab998fb7b4
717509af679b985ab0b7b4af6f3ed9be6c4370b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83aa569632cd467faddec9699640f6
eb3ced6ead596bb8f812fd9539995b9d4ea7d9ca64b1440dc87e6dcce1d76aab8dcd65076f4016df9cc3373a9bddeeaa8337208b5f9dc3f7afb4561b2ede8022
46938339b47668bf9f512f2063ceb62be16b005fab65f0190aa2a1082fcd62cc13b530d8627c978b3e203492614513a4a62919631f22b98be391a05873c0eb04
97ded8255fce2d696648fa82a6aaed7d9862c88a19bd97cf7e78f9ec093abefff4f8fecfc70f1e1cdfffc91272766de3242cef7af1dde77f3dfa04fdf9e4db17
0fbfacc6cb32feb71f3ffdf5972faa81903f33719e7ff5f8f7a78f9f7ffdd91fdf3fac806f0a3c2ac387342612dd2447689fc7a098b18a2b391989f3ed184698
96776c26a1c409d65c2ae8f754e4a06f4e31cbbce3c8d121ae056f0ba81f55c0eb93bb8ec083484c14ade07c238a1de02ee7acc345a5156e685e25330f274958
cd5c4ccab87d8c0fab787771e2f8b73749a172e661e928de8d8823e61ec389c221498842fa1d3f20a442bb3b943a76dda5bee0928f15ba435107d34a930ce9c8
89a6d9a66d1a835fa6553a83bf1ddbecde461dceaab4de22872e12b202b30ae187843966bc8e270ac755248738666583ef6015550939980abf8ceb49059e0e09
e3a81710686d15527c2440df92d36f602859956edf65d3d8450a450faa68ee60cecbc82d7ed08d709c5661073489cad80fe4018428467b5c55c177b99b21fa19
fc809385eebe4d89e3eed3abc12d1a3a22cd0244bf99086d45a8d54e058e69f24fe59851a8c7d6fa17578ea1003effe651854fdfd642bc093da92a13b64f94df
45b89345b7cb4540dffe9abb8527c91e81309f6f3cef4aeebb92ebfde74beea27c3e6ba19dd55628bb7a6eb053b19991e3c523f298323650534676a499922534
8aa00f8b7aa3392292e2cc9446f0352bec0e2e14d8ec4182ab8fa98a06114e61c2ae7b9a482833d2a144299770b433cb95b4351ea674650f864d7d64b0054162
b5cb03bbbca297f3934141c6b49bd09c3f73462b9ac05999ad5cc98882daafc2acae853a33b7ba11cdd43a875ba13238715e35582cac09130882b905acbc0a87
74cd1a4e26989140dbdd36dfdc2dc60b17e92219e180643ed27acffba86e9c94c78ab90c80d8a9f0913ee69d62b512b79626fb1adccee2a432bbc60276b9f75e
c74b7904cfbca413f7443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc3a116bec629785deaa10fb3106e877c256cd89f9acc26cb67de6ce58ab94950878b0a
6bf739859d3a900aa9b6b08c6c6898575908b04473b2f22f37c1ac17a5808df4579062650d82e18d490176745d4bc663e2abb2b34b2bda76f6312ba57ca28818
44c1111ab189d8c7e07e1daaa04f4025dc4d988aa01fe0264d5bdbbc728b739674e5fb2b83b3eb98a511cecaad4ed13c932ddce4712183792a8907ba55ca6e94
3bbf2a26e52f48957218ffcf54d1fd04ae0a5602ed011fee7205463a5fdb1e172ae25085d288fa7d019383a91d102d701b0baf21a8e046d9fc17e450ffb73967
6998b486139fdaa7211214fa918a04217b50964cf49d42ac9ef52e4b9265844c4495c495a9157b440e091bea1ab8aa7bbb87220875534db232607027e3cf7dce
326814ea21a79c6f4e0d297aafcd817f7bf2b1c90c4ab975d80c34b9fd0b112bbaaadd6fb6e7bdb7ac887e311bb31a795600b3522b686569ff8a229cb3d5da8a
35a7f17233170ebc38af312c1603510a173e48ff81fe4785cf880963dd50877c1f6a2b829f1a3431081b88ea4b76f040ba40dac5110c4e76d1069326654d9b8d
4eda6a79b3bee049b7e07bc2d85ab2b3f8fb9cc62e8633979d938b1769ecccc28eadedda425383674fa6282c8df3938c718cf95dabfcc3131fdd05476fc105ff
84296982097e55121846cf81c903487ecbd16cddf81b0000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f
7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f
2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e31
98720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d98505
28a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c02000013000000000000000000000000
00000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000000000
00002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001402000074
68656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100e35a492797060000551b0000160000000000000000
0000000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000
0000000000000000009c0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000970a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f00000000000000000000000060b0
df910ecacb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

View File

@ -0,0 +1,162 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f387\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp
\fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 \snext0 \sqformat \spriority0 Normal;}
{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031
\snext11 \ssemihidden \sunhideused \sqformat Normal Table;}}{\*\rsidtbl \rsid9926211\rsid14300856}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator MimmoO}
{\creatim\yr2010\mo12\dy16\hr15\min54}{\revtim\yr2011\mo2\dy11\hr17\min54}{\version3}{\edmins0}{\nofpages1}{\nofwords45}{\nofchars285}{\nofcharsws329}{\vern32859}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale160\rsidroot14300856 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\f0\fs20\lang1033\langfe1031\langnp1033\insrsid9926211 \hich\af0\dbch\af31505\loch\f0 S\hich\af0\dbch\af31505\loch\f0
corched Gardens}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f0\fs20\lang1033\langfe1031\langnp1033\insrsid14300856\charrsid14300856
\par }{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\lang1033\langfe1031\langnp1033\insrsid14300856
\par }{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\lang1033\langfe1031\langnp1033\insrsid9926211 \hich\af0\dbch\af31505\loch\f0
Once a beautiful place, the Scorched Gardens are now nothing more than a deserted place, where only fire-proof plants can grow. In addition to the threat posed b\hich\af0\dbch\af31505\loch\f0 y your enemies, lava pools and randomly
\hich\af0\dbch\af31505\loch\f0 occurring\hich\af0\dbch\af31505\loch\f0 meteorites \hich\af0\dbch\af31505\loch\f0 only wait to kill you.}{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\lang1033\langfe1031\langnp1033\insrsid14300856
\par
\par }{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \f0\fs16\lang1033\langfe1031\langnp1033\insrsid9926211 \hich\af0\dbch\af31505\loch\f0 A fiery Last-Man-Standing round. Survive as the last one and win.}{\rtlch\fcs1 \af0\afs16 \ltrch\fcs0
\f0\fs16\lang1033\langfe1031\langnp1033\insrsid14300856
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b030414000600080000002100e35a492797060000551b0000160000007468656d652f7468656d652f7468656d65
312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b0704546a252e
e5d7048aa048fd0bbc33b3bbde89d72469235a417d48bcb3cfbcdf5f33be7aed5eccd0211192f2a4edd52fd73c44129f073409dbdead61ffd29a87a4c2498019
4f48db9b12e95ddb78ffbdab785d45242608f627721db7bd48a9747d6949fab08ce5659e9204de8db988b18247112e05021f01dd982d2dd76aab4b31a6898712
1c03d91d2ca894f8d21691344cbc8d9c7c8f018f4449bde03331d0c489bbc7808383ba86c8a9ec32810e316b7bc02ae04743724f798861a9e045dbab998fb7b4
717509af679b985ab0b7b4af6f3ed9be6c4370b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83aa569632cd467faddec9699640f6
eb3ced6ead596bb8f812fd9539995b9d4ea7d9ca64b1440dc87e6dcce1d76aab8dcd65076f4016df9cc3373a9bddeeaa8337208b5f9dc3f7afb4561b2ede8022
46938339b47668bf9f512f2063ceb62be16b005fab65f0190aa2a1082fcd62cc13b530d8627c978b3e203492614513a4a62919631f22b98be391a05873c0eb04
97ded8255fce2d696648fa82a6aaed7d9862c88a19bd97cf7e78f9ec093abefff4f8fecfc70f1e1cdfffc91272766de3242cef7af1dde77f3dfa04fdf9e4db17
0fbfacc6cb32feb71f3ffdf5972faa81903f33719e7ff5f8f7a78f9f7ffdd91fdf3fac806f0a3c2ac387342612dd2447689fc7a098b18a2b391989f3ed184698
96776c26a1c409d65c2ae8f754e4a06f4e31cbbce3c8d121ae056f0ba81f55c0eb93bb8ec083484c14ade07c238a1de02ee7acc345a5156e685e25330f274958
cd5c4ccab87d8c0fab787771e2f8b73749a172e661e928de8d8823e61ec389c221498842fa1d3f20a442bb3b943a76dda5bee0928f15ba435107d34a930ce9c8
89a6d9a66d1a835fa6553a83bf1ddbecde461dceaab4de22872e12b202b30ae187843966bc8e270ac755248738666583ef6015550939980abf8ceb49059e0e09
e3a81710686d15527c2440df92d36f602859956edf65d3d8450a450faa68ee60cecbc82d7ed08d709c5661073489cad80fe4018428467b5c55c177b99b21fa19
fc809385eebe4d89e3eed3abc12d1a3a22cd0244bf99086d45a8d54e058e69f24fe59851a8c7d6fa17578ea1003effe651854fdfd642bc093da92a13b64f94df
45b89345b7cb4540dffe9abb8527c91e81309f6f3cef4aeebb92ebfde74beea27c3e6ba19dd55628bb7a6eb053b19991e3c523f298323650534676a499922534
8aa00f8b7aa3392292e2cc9446f0352bec0e2e14d8ec4182ab8fa98a06114e61c2ae7b9a482833d2a144299770b433cb95b4351ea674650f864d7d64b0054162
b5cb03bbbca297f3934141c6b49bd09c3f73462b9ac05999ad5cc98882daafc2acae853a33b7ba11cdd43a875ba13238715e35582cac09130882b905acbc0a87
74cd1a4e26989140dbdd36dfdc2dc60b17e92219e180643ed27acffba86e9c94c78ab90c80d8a9f0913ee69d62b512b79626fb1adccee2a432bbc60276b9f75e
c74b7904cfbca413f7443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc3a116bec629785deaa10fb3106e877c256cd89f9acc26cb67de6ce58ab94950878b0a
6bf739859d3a900aa9b6b08c6c6898575908b04473b2f22f37c1ac17a5808df4579062650d82e18d490176745d4bc663e2abb2b34b2bda76f6312ba57ca28818
44c1111ab189d8c7e07e1daaa04f4025dc4d988aa01fe0264d5bdbbc728b739674e5fb2b83b3eb98a511cecaad4ed13c932ddce4712183792a8907ba55ca6e94
3bbf2a26e52f48957218ffcf54d1fd04ae0a5602ed011fee7205463a5fdb1e172ae25085d288fa7d019383a91d102d701b0baf21a8e046d9fc17e450ffb73967
6998b486139fdaa7211214fa918a04217b50964cf49d42ac9ef52e4b9265844c4495c495a9157b440e091bea1ab8aa7bbb87220875534db232607027e3cf7dce
326814ea21a79c6f4e0d297aafcd817f7bf2b1c90c4ab975d80c34b9fd0b112bbaaadd6fb6e7bdb7ac887e311bb31a795600b3522b686569ff8a229cb3d5da8a
35a7f17233170ebc38af312c1603510a173e48ff81fe4785cf880963dd50877c1f6a2b829f1a3431081b88ea4b76f040ba40dac5110c4e76d1069326654d9b8d
4eda6a79b3bee049b7e07bc2d85ab2b3f8fb9cc62e8633979d938b1769ecccc28eadedda425383674fa6282c8df3938c718cf95dabfcc3131fdd05476fc105ff
84296982097e55121846cf81c903487ecbd16cddf81b0000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f
7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f
2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e31
98720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d98505
28a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c02000013000000000000000000000000
00000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000000000
00002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001402000074
68656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100e35a492797060000551b0000160000000000000000
0000000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000
0000000000000000009c0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000970a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000e063
a95a0ccacb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

View File

@ -0,0 +1,14 @@
[DefCore]
id=Grass
Version=4,10,0,0
Category=C4D_StaticBack|C4D_Background
Width=12
Height=7
Offset=-6,-3
Vertices=1
VertexY=1
Mass=1
Rotate=1
Placement=0
StretchGrowth=1
Oversize=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,16 @@
[Particle]
Name=Grass
MaxCount=1500
InitFn=StdInit
ExecFn=StdExec
CollisionFn=Die
DrawFn=Std
Face=0,0,64,64,-32,-32
Delay=0
Repeats=1
GravityAcc=100
VertexCount=1
VertexY=20
AlphaFade=0
RByV=3
Attach=0

View File

@ -0,0 +1,50 @@
/*-- Grass --*/
protected func Initialize()
{
DoCon(Random(50));
if (Random(2))
SetGraphics("1");
}
public func CanBeHitByShockwaves() { return true; }
protected func Damage()
{
if (GetDamage() > 80 && !Random(5))
{
Destroy();
}
}
private func Destroy()
{
CastParticles("Grass", 10, 35, 0, 0, 30, 50, RGB(255,255,255), RGB(255,255,255));
RemoveObject();
}
global func PlaceGrass(int amount, int start, int end)
{
if (!start)
start = 0;
if (!end)
end = LandscapeWidth();
var x = start, y;
while (x < end)
{
y = 0;
while (y < LandscapeHeight())
{
if (GetMaterial(AbsX(x), AbsY(y)) == Material("Sky"))
if (GetMaterial(AbsX(x), AbsY(y + 3)) == Material("Earth"))
if (Random(100) < amount)
CreateObject(Grass, AbsX(x), AbsY(y + 4), NO_OWNER);
y += 3;
}
x += 9;
}
}
local Name = "Grass";

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,72 @@
# Static Map Material/Texture Table
# Index +128 for underground materials
OverloadMaterials
OverloadTextures
10=Tunnel-tunnel
11=Tunnel-tunnel
12=Tunnel-brickback
13=BrickSoft-brick1
19=DuroLava-lava_red
20=Water-water
#21=Oil-Liquid
22=Acid-acid
23=Lava-lava_red
24=DuroLava-lava_red
25=Water-water
#26=Oil-Smooth
27=Acid-acid
28=Lava-lava_red
29=Earth-earth_dry
30=Earth-earth_rough
31=Earth-earth
32=Earth-earth_rough
#33=Ashes-Smooth3
#34=Ashes-Rough
#35=Ashes-Ridge
36=Ore-ore
37=Ore-ore
38=Ore-ore
40=Granite-granite
41=Granite-granite
42=Granite-rock
45=Gold-gold
50=Rock-rock
51=Rock-rock_cracked
52=Rock-rock
53=Sulphur-sulphur
54=Coal-coal
55=Sand-sand_rough
#56=Sand-Smooth2
#57=Sand-Smooth3
#59=FlyAshes-Smooth
#60=Crystal-Flare
#61=Crystal-Structure
#62=Crystal-Structure2
65=Ice-ice2
66=Ice-ice2
67=Ice-ice3
68=Ice-ice3
70=Snow-snow1
71=Snow-snow1
72=Snow-snow1
73=Brick-brick1
#80=FlySand-Smooth2
#81=FlySand-Smooth3
#82=FlySand-Smooth

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -0,0 +1,38 @@
[Head]
Title=Overcast
Version=4,10,0,0
MinPlayer=2
[Definitions]
Definition1=Objects.c4d
[Game]
Goals=MELE
[Player1]
Crew=Clonk=1
[Player2]
Crew=Clonk=1
[Player3]
Crew=Clonk=1
[Player4]
Crew=Clonk=1
[Landscape]
Sky=Clouds1
MapWidth=60
MapHeight=50
SkyScrollMode=1
[Animals]
Nest=Firestone=50;Loam=15;Rock=20;
[Weather]
Climate=00,0,0,00
StartSeason=0,0,0,00
YearSpeed=0,0,0,000
Wind=1,100,-100,100

View File

@ -0,0 +1,144 @@
/*--
Scorches Gardens
Author: Mimmo_O
A melee in a fiery setting.
--*/
protected func Initialize()
{
// Goal.
CreateObject(Goal_DeathMatch, 0, 0, NO_OWNER);
CreateObject(Rule_KillLogs);
//Enviroment.
CreateObject(Rule_ObjectFade)->DoFadeTime(10 * 36);
SetSkyAdjust(RGB(255,128,0));
CreateObject(Column,160,229);
CreateObject(Column,448,269);
AddEffect("RandomMeteor", nil, 100, 36-Min(GetPlayerCount()*3,20), this);
AddEffect("RemoveCorpses", nil, 100, 1, this);
// Smooth brick edges.
PlaceEdges();
PlaceGras();
return;
}
global func FxRemoveCorpsesTimer()
{
//uber effect abuse
for(var dead in FindObjects(Find_ID(Clonk),Find_Not(Find_OCF(OCF_Alive))))
{
CastParticles("MagicFire",100,50,dead->GetX(),dead->GetY(),50+Random(30));
CastParticles("MagicFire",50,30,dead->GetX(),dead->GetY(),70+Random(60));
dead->RemoveObject();
}
for(var burning in FindObjects(Find_ID(Clonk),Find_OCF(OCF_OnFire)))
{
burning->DoEnergy(-3); //lava hurts a lot
}
}
global func FxRandomMeteorTimer()
{
if(!Random(10)) return ;
var flint = CreateObject(Firestone,50+Random(LandscapeWidth()-100),-10);
flint->SetYDir(25+Random(6));
flint->SetXDir(RandomX(-20,20));
flint->SetMass(0);
AddEffect("Meteorsparkle",flint,100,1,nil,nil,true);
}
public func FxMeteorSparkleStart(obj, effect, iTemp, natural)
{
if(iTemp) return;
effect.n=natural;
}
global func FxMeteorsparkleTimer(obj, effect, time)
{
var x=obj->GetX(), y=obj->GetY();
CreateParticle("FireballSmoke",x,y,Sin(Random(360),2),Cos(Random(360),2),RandomX(120,180),RGBa(100,100,100,70));
for(var i=0; i<6; i++) CreateParticle("MagicFire",x,y,Sin(Random(360),RandomX(5,6)),Cos(Random(360),RandomX(5,6)),RandomX(50,90),HSL(Random(50), 200+Random(25), Random(100)));
CreateParticle("MagicSpark",x,y,Sin(Random(360),RandomX(15,33)),Cos(Random(360),RandomX(15,33)),RandomX(30,70),RGB(255,255,255));
if(obj->Contained()) obj->Hit();
if(Abs(obj->GetXDir())<3 && Abs(obj->GetYDir())<3) effect.count++;
else effect.count=0;
if(effect.count>10) obj->Hit();
}
global func FxMeteorsparkleStop (obj, effect, reason, iTemp)
{
if(iTemp) return;
for(var i=0; i<30; i++) CreateParticle("MagicSpark",obj->GetX(),obj->GetY(),Sin(Random(360),RandomX(15,33)),Cos(Random(360),RandomX(15,33)),RandomX(30,70),RGB(255,255,255));
return ;
}
global func PlaceEdges()
{
var x=[65, 65, 75, 85, 485, 75, 565, 565, 535, 565, 575, 525, 535, 595, 585, 575, 35, 45, 65, 65, 255, 245, 475, 465, 275, 35, 95, 235, 535, 565, 665, 675, 685, 775, 685, 775, 235, 265, 535, 765, 695, 765, 765, 365, 525, 505];
var y=[355, 345, 365, 365, 255, 295, 305, 315, 315, 215, 215, 255, 255, 175, 185, 195, 225, 225, 295, 305, 275, 285, 255, 265, 265, 235, 265, 495, 265, 205, 375, 365, 355, 355, 275, 415, 295, 265, 305, 345, 345, 255, 285, 445, 445, 435];
var d=[3, 1, 3, 2, 0, 0, 1, 3, 2, 3, 0, 1, 0, 1, 1, 1, 1, 0, 1, 3, 1, 1, 1, 1, 0, 3, 2, 3, 2, 1, 1, 1, 1, 0, 3, 2, 1, 1, 0, 0, 1, 1, 3, 3, 2, 3];
for (var i = 0; i < GetLength(x); i++)
{
var edge=CreateObject(BrickEdge, x[i], y[i] + 5, NO_OWNER);
edge->Initialize();
edge->SetP(d[i]);
edge->SetPosition(x[i],y[i]);
edge->PermaEdge();
}
return 1;
}
global func PlaceGras()
{
var x=[523, 519, 528, 282, 278, 483, 488, 534, 539, 274, 461, 469, 465, 474, 585, 595, 562, 589, 575, 580, 570, 599, 566, 510, 516, 454, 504, 499, 494, 447, 441, 434, 422, 428, 399, 416, 411, 406, 392, 386, 336, 342, 349, 355, 369, 374, 379, 362, 313, 330, 325, 320, 306, 300, 293, 287, 257, 266, 235, 262, 246, 251, 240, 230, 220, 226, 197, 214, 209, 204, 190, 184, 65, 75, 80, 71, 60, 134, 140, 147, 153, 167, 172, 177, 160, 111, 128, 123, 118, 104, 98, 91, 85, 56, 62, 69, 75, 89, 35, 45, 50, 41, 30, 103, 102, 94, 102, 102, 99, 82];
var y=[253, 258, 248, 269, 264, 252, 256, 251, 256, 259, 267, 257, 262, 252, 183, 172, 207, 178, 192, 188, 197, 166, 202, 259, 259, 270, 259, 259, 259, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 272, 260, 293, 266, 283, 276, 288, 297, 300, 300, 300, 300, 300, 300, 300, 300, 292, 291, 295, 290, 297, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 229, 229, 229, 229, 228, 221, 220, 226, 219, 226, 250, 257, 228, 242, 234, 228, 229];
var r=[-45, -45, -45, 45, 45, 45, 45, 45, 45, 45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, -45, -45, -45, -45, -45, -45, -45, 0, 0, 0, 0, 0, 0, 0, 0, -45, 45, 45, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 45, 45, 0, -45, 90, 90, 0, 90, 90, 0, 0];
for (var i = 0; i < GetLength(x); i++)
{
while(GBackSolid(x[i],y[i])) y[i]--;
var edge=CreateObject(Grass, x[i], y[i] + 5, NO_OWNER);
edge->SetCategory(C4D_StaticBack);
edge->SetR(r[i]);
edge->Initialize();
edge->SetClrModulation(RGB(200+Random(50),100+Random(60),100+Random(60)));
}
return 1;
}
protected func OnPlayerRelaunch(int plr)
{
var clonk = GetCrew(plr);
clonk->DoEnergy(100000);
var x = RandomX(75,500);
var y=100;
while(!GBackSolid(x,y)) y+=1;
y-=30;
var relaunch = CreateObject(RelaunchContainer, x, y, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
relaunch->SetRelaunchTime(3);
clonk->CreateContents(TeleGlove);
return;
}
func OnClonkLeftRelaunch(object clonk)
{
CastParticles("Magic",36,12,clonk->GetX(),clonk->GetY(),30,60,clonk->GetColor(),clonk->GetColor(),clonk);
clonk->SetYDir(-5);
return;
}
func WinKillCount() { return 5; }
func RelaunchWeaponList() { return []; }

View File

@ -0,0 +1,12 @@
#appendto Clonk
// Lose all items on death.
func StartDead()
{
PlayAnimation("Dead", 5, Anim_Linear(0, 0, GetAnimationLength("Dead"), 20, ANIM_Hold), Anim_Linear(0, 0, 1000, 5, ANIM_Remove));
// Update carried items
UpdateAttach();
if(Contents(1))Contents(1)->RemoveObject();
if(Contents(0))Contents(0)->RemoveObject();
// Set proper turn type
SetTurnType(1);
}

View File

@ -0,0 +1,2 @@
DE:Versengte Gärten
US:Scorched Gardens

View File

Before

Width:  |  Height:  |  Size: 503 KiB

After

Width:  |  Height:  |  Size: 503 KiB

View File

@ -0,0 +1,17 @@
[DefCore]
id=Column
Version=4,10,0,0
Category=C4D_Structure
Width=20
Height=50
Offset=-10,-50
Vertices=1
VertexX=0
VertexY=0
VertexFriction=50
Value=45
Mass=90
Components=Rock=7;
Construction=1
Rotate=1
Float=1

View File

@ -0,0 +1,20 @@
material Zylinder
{
receive_shadows on
technique
{
pass
{
ambient 0.500000 0.500000 0.500000 1.000000
diffuse 0.640000 0.640000 0.640000 1.000000
specular 0.000000 0.000000 0.000000 1.000000 12.500000
emissive 0.000000 0.000000 0.000000 1.000000
texture_unit
{
texture Column.png
tex_address_mode wrap
filtering trilinear
}
}
}
}

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

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