Compare commits

..

1 Commits

Author SHA1 Message Date
Clonkonaut db46507ac6 Re-export clonk models with little problems (see forum). 2018-02-17 01:52:45 +01:00
1082 changed files with 7559 additions and 99529 deletions

28
.gitignore vendored
View File

@ -18,7 +18,7 @@ C4Version.h
Makefile
C4Include.h.gch
intermediate
/build*
build*
CMakeScripts
CMakeFiles
CMakeCache.txt
@ -35,15 +35,13 @@ tests/CTestTestfile.cmake
# Documentation
*.pyc
node_modules
/docs/online
/docs/chm
/docs/sdk-de
/docs/sdk/content.xml
/docs/*.mo
/docs/doku.pot
/docs/Functions.txt
/docs/lunr.js
docs/online
docs/chm
docs/sdk-de
docs/sdk/content.xml
docs/*.mo
docs/doku.pot
docs/Functions.txt
# Visual studio files
openclonk.opensdf
@ -84,16 +82,6 @@ openclonk.ilk
*.vcxproj
*.vcxproj.filters
/ipch
.vs/
c4group_autogen/
c4script_autogen/
libc4script_autogen/
libmisc_autogen/
libopenclonk_autogen/
netpuncher_autogen/
openclonk-server_autogen/
openclonk_autogen/
thirdparty/blake2/blake2_autogen/
# Temporary files created by Microsoft Visual Studio
*.ncb

View File

@ -2,7 +2,7 @@
language: cpp
dist: trusty
sudo: required # for Qt libraries. Additionally, the virtualization builds are more stable and have better single core performance.
sudo: required # not actually required, but the virtualization builds are more stable and have better single core performance. If in doubt, remove.
matrix:
include:
@ -11,7 +11,7 @@ matrix:
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9', 'build-essential', 'cmake3', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'libgtest-dev']
packages: ['g++-4.9', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'libgtest-dev']
env:
- CCOMPILER=gcc-4.9
- CXXCOMPILER=g++-4.9
@ -22,25 +22,21 @@ matrix:
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: ppa:beineri/opt-qt596-trusty
packages: ['g++-5', 'build-essential', 'cmake3', 'libpng-dev', 'libjpeg-dev', 'libfreetype6-dev', 'libglew-dev', 'libreadline-dev', 'libsdl2-dev', 'qt59base', 'libalut-dev', 'libvorbis-dev', 'libopenal-dev', 'libdw-dev', 'libgtest-dev', 'ninja-build']
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libgtest-dev']
env:
- CCOMPILER=gcc-5
- CXXCOMPILER=g++-5
- TYPE=RelWithDebInfo
- CXX_FLAGS="-fdiagnostics-color -I/usr/include/AL"
- TYPE=Debug
- CXX_FLAGS="-fdiagnostics-color"
- BSYS="Ninja#ninja -k30" PCH=on
- UPLOAD_SNAPSHOT=1
- CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=/usr -DWITH_AUTOMATIC_UPDATE=ON -DWITH_APPDIR_INSTALLATION=ON"
- os: linux
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.8']
packages: ['clang-3.8', 'build-essential', 'cmake3', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libc++-dev', 'libc++1', 'libgtest-dev']
packages: ['clang-3.8', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libc++-dev', 'libc++1', 'libgtest-dev']
env:
- CCOMPILER=clang-3.8
- CXXCOMPILER=clang++-3.8
@ -51,12 +47,8 @@ matrix:
before_install:
- for t in test mock; do wget https://github.com/google/google$t/archive/release-1.7.0.tar.gz -Og$t.tgz && tar xvf g$t.tgz; done
install:
- '[ -e /opt/qt59/bin/qt59-env.sh ] && source /opt/qt59/bin/qt59-env.sh || echo building without Qt'
before_script:
- export CXX="$CXXCOMPILER" CC="$CCOMPILER"
- export C4REVISION_BRANCH="$TRAVIS_BRANCH"
- >
cmake
-G"${BSYS/\#*/}"
@ -65,20 +57,9 @@ before_script:
-DUSE_GCC_PCH=${PCH:-off}
-DGTEST_ROOT=$PWD/googletest-release-1.7.0
-DGMOCK_ROOT=$PWD/googlemock-release-1.7.0
$CMAKE_FLAGS
.
script:
- ${BSYS/*#/} all netpuncher tests aul_test
# TODO: Remove SKIP_IPV6_TEST once Travis generally adds ::1 as loopback address.
- SKIP_IPV6_TEST=1 ./tests/tests
- ./tests/tests
- ./tests/aul_test
after_success:
- >
[ "$UPLOAD_SNAPSHOT" = 1 ] &&
echo "Creating AppImage..." &&
tools/create_appimage.sh &&
echo "Uploading snapshot..." &&
tools/upload_snapshot.sh OpenClonk-x86_64.AppImage OpenClonk-x86_64.AppImage.zsync ||
echo "Snapshot creation has failed"

View File

@ -1,6 +1,6 @@
# OpenClonk, http://www.openclonk.org
#
# Copyright (c) 2009-2018, The OpenClonk Team and contributors
# Copyright (c) 2009-2016, The OpenClonk Team and contributors
#
# Distributed under the terms of the ISC license; see accompanying file
# "COPYING" for details.
@ -11,7 +11,7 @@
# To redistribute this file separately, substitute the full license texts
# for the above references.
cmake_minimum_required (VERSION 3.5.1)
cmake_minimum_required (VERSION 3.0.2)
# Don't allow people to build "Release" builds because there's no reason to do that.
# Use one of RelWithDebInfo or MinSizeRel instead.
@ -23,47 +23,20 @@ if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo)
endif()
if(POLICY CMP0067)
cmake_policy(SET CMP0067 NEW)
else()
# Wrap try_compile such that it correctly passes the standard flags to the
# compiler on CMake versions below 3.8. Remove when you update the minimum
# required version to 3.8 or later.
macro(try_compile)
set(_tc_langs)
foreach(_tc_lang CXX C)
if(DEFINED CMAKE_${_tc_lang}_STANDARD)
list(APPEND _tc_langs ${_tc_lang})
endif()
endforeach()
foreach(_tc_lang ${_tc_langs})
if (${CMAKE_${_tc_lang}_EXTENSIONS})
set(_tc_ext EXTENSION)
else()
set(_tc_ext STANDARD)
endif()
set(_backup_${_tc_lang}_flags "${CMAKE_${_tc_lang}_FLAGS}")
set(CMAKE_${_tc_lang}_FLAGS "${CMAKE_${_tc_lang}_FLAGS} ${CMAKE_${_tc_lang}${CMAKE_${_tc_lang}_STANDARD}_${_tc_ext}_COMPILE_OPTION}")
endforeach()
_try_compile(${ARGN})
foreach(_tc_lang ${_tc_langs})
set(CMAKE_${_tc_lang}_FLAGS "${_backup_${_tc_lang}_flags}")
endforeach()
endmacro()
endif()
project (openclonk CXX C)
# CMP0054: Only interpret if() arguments as variables or keywords when unquoted
# (since CMake 3.1)
if(POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
endif()
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(Version)
if(DEFINED CMAKE_ADDITIONAL_DEPS_PATH)
message(WARNING "CMAKE_ADDITIONAL_DEPS_PATH is deprecated and will be removed in a future version. Set CMAKE_PREFIX_PATH instead.")
set(CMAKE_PREFIX_PATH ${CMAKE_ADDITIONAL_DEPS_PATH})
endif()
set(CMAKE_ADDITIONAL_DEPS_PATH "${CMAKE_CURRENT_BINARY_DIR}/deps" CACHE PATH "Additional directory to search for libraries and headers")
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_ADDITIONAL_DEPS_PATH})
############################################################################
# User selectable options
@ -75,9 +48,7 @@ CMAKE_DEPENDENT_OPTION(USE_COCOA "Use Apple Cocoa widgets." ON "APPLE" O
CMAKE_DEPENDENT_OPTION(USE_WIN32_WINDOWS "Use Microsoft Desktop App User Interface widgets." ON "WIN32" OFF)
CMAKE_DEPENDENT_OPTION(USE_SDL_MAINLOOP "Use SDL to create windows etc. Qt editor." ON "NOT USE_COCOA AND NOT USE_WIN32_WINDOWS AND NOT HEADLESS_ONLY" OFF)
option(WITH_AUTOMATIC_UPDATE "Automatic updates are downloaded from the project website." OFF)
CMAKE_DEPENDENT_OPTION(WITH_APPDIR_INSTALLATION "Install into an AppDir" OFF "UNIX AND NOT APPLE AND WITH_AUTOMATIC_UPDATE" ON)
option(HEADLESS_ONLY "Only build headless parts. Somewhat reduces dependencies. (still needs libpng because that one's small and hard to remove.) Only tested with make/gcc/linux." OFF)
option(C4GROUP_TOOL_ONLY "Only build c4group binary." OFF)
set_property(GLOBAL PROPERTY USE_FOLDERS ${PROJECT_FOLDERS})
@ -86,8 +57,13 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ${PROJECT_FOLDERS})
############################################################################
include(CheckCXXCompilerFlag)
# Required for CMake >= 3.1.0 and Qt >= 5.7
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
CHECK_CXX_COMPILER_FLAG("-std=gnu++14" USE_GCC_STD_14)
if(USE_GCC_STD_14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14")
endif()
# Enable link-time code generation. We have to do this manually because while
# there is a INTERPROCEDURAL_OPTIMIZATION cmake flag, it's only implemented
@ -124,11 +100,9 @@ if(USE_GCC_STYLE_LTCG)
# Use GCC's ar and ranlib wrappers if necessary, because the plain ones
# don't understand lto objects without an explicit plugin parameter
# Note that versioned gcc executables need splitting: gcc-5 -> gcc-ar-5
if(CMAKE_C_COMPILER MATCHES "^(.*gcc)(-[0-9.])?$")
if(CMAKE_C_COMPILER MATCHES "gcc$")
set(LTCG_NEEDS_AR_WRAPPER 1)
set(LTCG_AR_WRAPPER_PREFIX "${CMAKE_MATCH_1}")
set(LTCG_AR_WRAPPER_SUFFIX "${CMAKE_MATCH_2}")
set(LTCG_AR_WRAPPER_PREFIX "${CMAKE_C_COMPILER}")
elseif(CMAKE_C_COMPILER MATCHES "cc$")
set(LTCG_NEEDS_AR_WRAPPER 1)
set(LTCG_AR_WRAPPER_PREFIX "gcc")
@ -137,12 +111,12 @@ if(USE_GCC_STYLE_LTCG)
endif()
if(LTCG_NEEDS_AR_WRAPPER)
find_program(AR_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ar${LTCG_AR_WRAPPER_SUFFIX}")
find_program(AR_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ar")
if (AR_WRAPPER)
message("Using ${AR_WRAPPER} instead of ${CMAKE_AR} to support lto objects.")
set(CMAKE_AR "${AR_WRAPPER}" CACHE FILEPATH "Path to an ar that supports lto objects." FORCE)
endif()
find_program(RANLIB_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ranlib${LTCG_AR_WRAPPER_SUFFIX}")
find_program(RANLIB_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ranlib")
if (RANLIB_WRAPPER)
message("Using ${RANLIB_WRAPPER} instead of ${CMAKE_RANLIB} to support lto objects.")
set(CMAKE_RANLIB "${RANLIB_WRAPPER}" CACHE FILEPATH "Path to a ranlib that supports lto objects." FORCE)
@ -168,7 +142,6 @@ if(MSVC)
# Enable LTCG for release builds
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Ob2 /GL")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /Ob2 /GL")
add_linker_flags(optimized MODULES exe shared FLAGS "/INCREMENTAL:NO")
add_linker_flags(optimized MODULES exe shared static FLAGS "/LTCG:incremental")
# do not link the release CRT in debug builds
@ -194,6 +167,10 @@ if(WIN32 AND MINGW)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--nxcompat -Wl,--dynamicbase")
endif()
if(UNIX)
add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/games/openclonk\"")
endif()
if(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fobjc-arc -headerpad_max_install_names")
endif()
@ -201,12 +178,6 @@ endif()
############################################################################
# Check for compiler quirks and features
############################################################################
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CROSSCOMPILING)
include(HandleGccCrossIncludePaths)
HANDLE_GCC_CROSS_INCLUDE_PATHS(CXX c++)
HANDLE_GCC_CROSS_INCLUDE_PATHS(C c)
endif()
include(CheckCXXSourceCompiles)
include(RequireCXXSourceCompiles)
include(CheckCXXSymbolExists)
@ -230,9 +201,13 @@ check_cxx_symbol_exists(vasprintf stdio.h HAVE_VASPRINTF)
############################################################################
include(CheckIncludeFileCXX)
include(CheckIncludeFilesCXX)
CHECK_INCLUDE_FILE_CXX(direct.h HAVE_DIRECT_H)
CHECK_INCLUDE_FILE_CXX(io.h HAVE_IO_H)
CHECK_INCLUDE_FILE_CXX(locale.h HAVE_LOCALE_H)
CHECK_INCLUDE_FILE_CXX(share.h HAVE_SHARE_H)
CHECK_INCLUDE_FILE_CXX(signal.h HAVE_SIGNAL_H)
CHECK_INCLUDE_FILE_CXX(stdint.h HAVE_STDINT_H)
CHECK_INCLUDE_FILE_CXX(inttypes.h HAVE_INTTYPES_H)
CHECK_INCLUDE_FILE_CXX(sys/stat.h HAVE_SYS_STAT_H)
CHECK_INCLUDE_FILE_CXX(sys/types.h HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILE_CXX(unistd.h HAVE_UNISTD_H)
@ -250,30 +225,25 @@ CHECK_CXX_SOURCE_COMPILES("#include <getopt.h>\nint main(int argc, char * argv[]
# Locate libraries
############################################################################
SET(JPEG_NAMES ${JPEG_NAMES} libjpeg jpeg-static)
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
if(NOT HEADLESS_ONLY)
find_package(Freetype REQUIRED)
include_directories(
${FREETYPE_INCLUDE_DIRS})
link_directories(
${FREETYPE_LIBRARY_DIRS})
endif()
# Needed for c4group
find_package(JPEG REQUIRED)
find_package(PNG REQUIRED)
find_package(ZLIB REQUIRED)
if (NOT C4GROUP_TOOL_ONLY)
find_package(JPEG REQUIRED)
find_package(PNG REQUIRED)
include_directories(
${JPEG_INCLUDE_DIR}
${PNG_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR})
if(CMAKE_SYSTEM MATCHES "Windows")
message(STATUS "Using Win32 threading.")
else()
find_package("Threads" REQUIRED)
SET(HAVE_PTHREAD ${CMAKE_USE_PTHREADS_INIT} CACHE INTERNAL "libpthread available")
endif()
include_directories(
${JPEG_INCLUDE_DIR}
${PNG_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR})
if(CMAKE_SYSTEM MATCHES "Windows")
message(STATUS "Using Win32 threading.")
else()
find_package("Threads" REQUIRED)
SET(HAVE_PTHREAD ${CMAKE_USE_PTHREADS_INIT} CACHE INTERNAL "libpthread available")
endif()
# FINDLIB works the same as find_library, but also marks the resulting var as
@ -298,20 +268,19 @@ if(NOT HAVE_GETOPT_H)
set(GETOPT_LIBRARIES getopt)
endif()
if (NOT C4GROUP_TOOL_ONLY)
# TinyXML
find_package(TinyXML)
if(NOT TinyXML_FOUND)
add_subdirectory(thirdparty/tinyxml)
set_property(TARGET tinyxml PROPERTY FOLDER "Third-party libraries")
set(TinyXML_INCLUDE_DIRS thirdparty/tinyxml)
set(TinyXML_LIBRARIES tinyxml)
set(TinyXML_FOUND TRUE)
endif()
include_directories(SYSTEM ${TinyXML_INCLUDE_DIRS})
# TinyXML
find_package(TinyXML)
if(NOT TinyXML_FOUND)
add_subdirectory(thirdparty/tinyxml)
set_property(TARGET tinyxml PROPERTY FOLDER "Third-party libraries")
set(TinyXML_INCLUDE_DIRS thirdparty/tinyxml)
set(TinyXML_LIBRARIES tinyxml)
set(TinyXML_FOUND TRUE)
endif()
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
include_directories(SYSTEM ${TinyXML_INCLUDE_DIRS})
if(NOT HEADLESS_ONLY)
find_package(OpenGL)
find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIRS})
@ -323,26 +292,13 @@ if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
CHECK_CXX_SOURCE_COMPILES("#include <GL/glew.h>\nvoid GLAPIENTRY OpenGLDebugProc(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* message, const void* userParam) {}\nint main() { GLDEBUGPROCARB proc = &OpenGLDebugProc; }" GLDEBUGPROCARB_USERPARAM_IS_CONST)
endif()
if(NOT C4GROUP_TOOL_ONLY)
if(UNIX AND NOT APPLE)
FINDLIB(X11_LIBRARIES X11)
if(UNIX AND NOT APPLE)
FINDLIB(X11_LIBRARIES X11)
set(Backward_DIR thirdparty/backward-cpp)
find_package(Backward)
if(Backward_FOUND)
set(HAVE_BACKWARD 1)
endif()
if(NOT DEFINED PROC_SELF_EXE)
macro(FIND_PROC_SELF_EXE path)
if(EXISTS ${path})
set(PROC_SELF_EXE ${path} CACHE FILEPATH "Path to /proc/self/exe (Linux) or equivalent")
endif()
endmacro()
FIND_PROC_SELF_EXE(/proc/self/exe) # Linux
FIND_PROC_SELF_EXE(/proc/curproc/file) # FreeBSD
FIND_PROC_SELF_EXE(/proc/curproc/exe) # NetBSD
endif()
set(Backward_DIR thirdparty/backward-cpp)
find_package(Backward)
if(Backward_FOUND)
set(HAVE_BACKWARD 1)
endif()
endif()
@ -354,74 +310,71 @@ if (WIN32)
set(HAVE_DBGHELP ${DBGHELP_FOUND})
endif()
if(NOT C4GROUP_TOOL_ONLY)
find_package(Upnp)
if(UPNP_FOUND)
include_directories(SYSTEM ${UPNP_INCLUDE_DIR})
endif()
find_package(Upnp)
if(UPNP_FOUND)
include_directories(SYSTEM ${UPNP_INCLUDE_DIR})
endif()
find_package(Readline)
if(READLINE_FOUND)
include_directories(SYSTEM ${READLINE_INCLUDE_DIR})
endif()
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
find_package(Readline)
if(READLINE_FOUND)
include_directories(SYSTEM ${READLINE_INCLUDE_DIR})
endif()
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
find_package(GTK3 COMPONENTS gthread gio gobject glib OPTIONAL_COMPONENTS gtksourceview)
find_package(GTK3 COMPONENTS gthread gio gobject glib OPTIONAL_COMPONENTS gtksourceview)
# Select an audio library
find_package("Audio")
if(Audio_FOUND)
include_directories(${Audio_INCLUDE_DIRS})
endif()
# Select an audio library
find_package("Audio")
if(Audio_FOUND)
include_directories(${Audio_INCLUDE_DIRS})
endif()
# SDL
if(USE_SDL_MAINLOOP)
find_package(SDL2 REQUIRED)
else()
# for gamepads
find_package(SDL2)
endif()
set(HAVE_SDL ${SDL2_FOUND})
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
# SDL
if(USE_SDL_MAINLOOP)
find_package(SDL2 REQUIRED)
else()
# for gamepads
find_package(SDL2)
endif()
set(HAVE_SDL ${SDL2_FOUND})
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
# Qt5 for editor
find_package(Qt5 5.4 CONFIG COMPONENTS Core Widgets)
if(TARGET Qt5::Core)
SET(WITH_QT_EDITOR ON "Qt editor dialogues available")
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
# As moc files are generated in the binary dir, tell CMake
# to always look for includes there:
set(CMAKE_INCLUDE_CURRENT_DIR ON)
else()
message("Qt5Widgets not found. Building openclonk without editor.")
UNSET(WITH_QT_EDITOR)
endif()
# Qt5 for editor
find_path(Qt5DIR qt.pro PATHS ${CMAKE_ADDITIONAL_DEPS_PATH}/qt-5.5.0)
find_package(Qt5Widgets 5.4 PATHS ${Qt5DIR}/qtbase/lib/cmake/Qt5Widgets)
if(Qt5Widgets_FOUND)
SET(WITH_QT_EDITOR ${Qt5Widgets_FOUND} "Qt editor dialogues available")
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
# As moc files are generated in the binary dir, tell CMake
# to always look for includes there:
set(CMAKE_INCLUDE_CURRENT_DIR ON)
else()
message("Qt5Widgets not found. Building openclonk without editor.")
UNSET(WITH_QT_EDITOR)
endif()
############################################################################
# generated source files
############################################################################
if(NOT C4GROUP_TOOL_ONLY)
find_program(GLIB_COMPILE_RESOURCES glib-compile-resources)
find_program(GLIB_COMPILE_RESOURCES glib-compile-resources)
add_custom_command(
OUTPUT mape-resource.c
COMMAND
${GLIB_COMPILE_RESOURCES} "--internal" "--generate"
"--target" "mape-resource.c"
"--sourcedir" ${CMAKE_CURRENT_SOURCE_DIR}/src/res
"${CMAKE_CURRENT_SOURCE_DIR}/src/res/mape.xml"
MAIN_DEPENDENCY src/res/mape.xml
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico
VERBATIM
)
endif()
add_custom_command(
OUTPUT mape-resource.c
COMMAND
${GLIB_COMPILE_RESOURCES} "--internal" "--generate"
"--target" "mape-resource.c"
"--sourcedir" ${CMAKE_CURRENT_SOURCE_DIR}/src/res
"${CMAKE_CURRENT_SOURCE_DIR}/src/res/mape.xml"
MAIN_DEPENDENCY src/res/mape.xml
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico
VERBATIM
)
############################################################################
# Mac OS bundle setup
@ -1021,7 +974,7 @@ include_directories(SYSTEM
############################################################################
add_definitions(-DHAVE_CONFIG_H)
add_library(libmisc STATIC
add_library(libmisc
src/C4Include.cpp
src/c4group/C4Group.cpp
src/c4group/C4Group.h
@ -1086,7 +1039,7 @@ if(UNIX AND NOT APPLE)
target_link_libraries(libmisc rt)
endif()
add_library(libc4script STATIC
add_library(libc4script
src/C4Include.cpp
src/c4group/C4ComponentHost.cpp
src/c4group/C4ComponentHost.h
@ -1120,8 +1073,6 @@ src/script/C4PropList.h
src/script/C4Script.cpp
src/script/C4ScriptHost.cpp
src/script/C4ScriptHost.h
src/script/C4ScriptLibraries.cpp
src/script/C4ScriptLibraries.h
src/script/C4StringTable.cpp
src/script/C4StringTable.h
src/script/C4Value.cpp
@ -1131,11 +1082,10 @@ src/script/C4ValueArray.h
src/script/C4ValueMap.cpp
src/script/C4ValueMap.h
)
add_subdirectory(thirdparty/blake2)
set_property(TARGET blake2 PROPERTY FOLDER "Third-party libraries")
target_link_libraries(libc4script blake2 libmisc)
add_library(libopenclonk STATIC
target_link_libraries(libc4script libmisc)
add_library(libopenclonk
src/c4group/C4Extra.cpp
src/c4group/C4Extra.h
src/control/C4PlayerInfoConflicts.cpp
@ -1205,7 +1155,7 @@ target_link_libraries(c4script
${GETOPT_LIBRARIES}
)
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
if(NOT HEADLESS_ONLY)
add_executable(openclonk WIN32 MACOSX_BUNDLE
${OC_SYSTEM_SOURCES}
${OC_GUI_SOURCES}
@ -1256,41 +1206,40 @@ if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
endif()
endif()
if(NOT C4GROUP_TOOL_ONLY)
add_executable(openclonk-server
${OC_SYSTEM_SOURCES}
${OC_CLONK_SOURCES}
src/platform/C4AppT.cpp
src/platform/C4StdInProc.cpp
src/platform/C4StdInProc.h
)
target_compile_definitions(openclonk-server PRIVATE "USE_CONSOLE")
add_executable(openclonk-server
${OC_SYSTEM_SOURCES}
${OC_CLONK_SOURCES}
src/platform/C4AppT.cpp
src/platform/C4StdInProc.cpp
src/platform/C4StdInProc.h
)
target_compile_definitions(openclonk-server PRIVATE "USE_CONSOLE")
target_link_libraries(openclonk-server
${PNG_LIBRARIES}
${JPEG_LIBRARIES}
${EXECINFO_LIBRARY}
${READLINE_LIBRARIES}
${GETOPT_LIBRARIES}
${TinyXML_LIBRARIES}
${DBGHELP_LIBRARIES}
libmisc
libc4script
libopenclonk
)
if(UPNP_FOUND)
target_link_libraries(openclonk-server ${UPNP_LIBRARIES})
endif()
if(USE_COCOA)
target_link_libraries(openclonk-server "-framework Cocoa")
endif()
if(HAVE_BACKWARD)
target_link_libraries(openclonk-server Backward::Backward)
endif()
install(TARGETS openclonk-server DESTINATION bin)
target_link_libraries(openclonk-server
${PNG_LIBRARIES}
${JPEG_LIBRARIES}
${EXECINFO_LIBRARY}
${SDL2_LIBRARIES}
${READLINE_LIBRARIES}
${Audio_LIBRARIES}
${GETOPT_LIBRARIES}
${TinyXML_LIBRARIES}
${DBGHELP_LIBRARIES}
libmisc
libc4script
libopenclonk
)
if(UPNP_FOUND)
target_link_libraries(openclonk-server ${UPNP_LIBRARIES})
endif()
if(USE_COCOA)
target_link_libraries(openclonk-server "-framework Cocoa")
endif()
if(HAVE_BACKWARD)
target_link_libraries(openclonk-server Backward::Backward)
endif()
if(GTK3_FOUND AND GTK3_gtksourceview_FOUND AND NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
if(GTK3_FOUND AND GTK3_gtksourceview_FOUND AND NOT HEADLESS_ONLY)
add_executable(mape ${MAPE_BASE_SOURCES} ${MAPE_SOURCES})
target_compile_options(mape PRIVATE ${GTK3_COMPILE_DEFINITIONS} ${GTK3_gtksourceview_COMPILE_DEFINITIONS})
set_property(TARGET mape PROPERTY FOLDER "Utilities")
@ -1317,19 +1266,17 @@ target_link_libraries(c4group
libmisc
)
if(NOT C4GROUP_TOOL_ONLY)
add_executable(netpuncher EXCLUDE_FROM_ALL
src/netpuncher/C4PuncherHash.h
src/netpuncher/main.cpp
)
add_executable(netpuncher EXCLUDE_FROM_ALL
src/netpuncher/C4PuncherHash.h
src/netpuncher/main.cpp
)
target_link_libraries(netpuncher
libmisc
)
target_link_libraries(netpuncher
libmisc
)
if(WIN32)
target_link_libraries(libmisc iphlpapi ws2_32)
endif()
if(WIN32)
target_link_libraries(libmisc iphlpapi ws2_32)
endif()
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:_DEBUG>)
@ -1346,7 +1293,7 @@ if (APPLE AND NOT CMAKE_GENERATOR STREQUAL "Xcode")
set(EXECUTABLE_NAME openclonk)
endif()
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
if(NOT HEADLESS_ONLY)
set_target_properties(openclonk PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Info.plist")
endif()
@ -1432,9 +1379,7 @@ endif()
############################################################################
# Miscellaneous
############################################################################
if(NOT C4GROUP_TOOL_ONLY)
add_subdirectory(tests)
endif()
add_subdirectory(tests)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
@ -1458,33 +1403,42 @@ if(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015")
)
endif()
############################################################################
# Precompiled header support, gcc part (it needs the cxx flags)
############################################################################
if(CMAKE_COMPILER_IS_GNUCXX)
include(GccPchSupport)
option(USE_GCC_PCH "Use GCC precompiled headers" OFF)
endif()
if(USE_GCC_PCH)
add_precompiled_header(libmisc src/C4Include.h)
add_precompiled_header(libc4script src/C4Include.h)
add_precompiled_header(openclonk src/C4Include.h)
add_precompiled_header(openclonk-server src/C4Include.h)
endif()
############################################################################
# installation
############################################################################
# Don't allow installation for WITH_AUTOMATIC_UPDATE because otherwise
# the installed binary wouldn't find its game data in the system data path.
IF(WITH_AUTOMATIC_UPDATE)
if(WITH_APPDIR_INSTALLATION)
INSTALL(CODE "MESSAGE(\"WITH_APPDIR_INSTALLATION is enabled, installation will create an AppDir\")")
else()
INSTALL(CODE "MESSAGE(SEND_ERROR \"Installation is only supported for WITH_AUTOMATIC_UPDATE disabled\")")
endif()
INSTALL(CODE "MESSAGE(SEND_ERROR \"Installation is only supported for WITH_AUTOMATIC_UPDATE disabled\")")
ENDIF()
if(NOT C4GROUP_TOOL_ONLY)
# hack to build the data on install, see
# http://public.kitware.com/Bug/view.php?id=8438
add_custom_target(data)
set_property(TARGET data PROPERTY FOLDER "Setup")
install(
CODE
"execute_process(
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target data
)"
)
endif()
# hack to build the data on install, see
# http://public.kitware.com/Bug/view.php?id=8438
add_custom_target(data)
set_property(TARGET data PROPERTY FOLDER "Setup")
install(
CODE
"execute_process(
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target data
)"
)
if (NOT APPLE AND NOT C4GROUP_TOOL_ONLY)
if (NOT APPLE)
install(
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc32.png
DESTINATION share/icons/hicolor/32x32/apps
@ -1519,89 +1473,78 @@ ENDIF()
# When cross-compiling, import c4group from a native build
IF(CMAKE_CROSSCOMPILING)
FIND_PROGRAM(C4GROUP_PATH NAMES c4group PATHS)
IF (NOT C4GROUP_PATH)
SET(IMPORT_NATIVE_TOOLS "IMPORT_NATIVE_TOOLS-NOTFOUND" CACHE FILEPATH "Export file from a native build")
INCLUDE(${IMPORT_NATIVE_TOOLS})
SET(native_c4group native-c4group)
ELSE()
SET(native_c4group ${C4GROUP_PATH})
ENDIF()
SET(IMPORT_NATIVE_TOOLS "IMPORT_NATIVE_TOOLS-NOTFOUND" CACHE FILEPATH "Export file from a native build")
INCLUDE(${IMPORT_NATIVE_TOOLS})
SET(native_c4group native-c4group)
ELSE()
SET(native_c4group c4group)
ENDIF()
if(NOT C4GROUP_TOOL_ONLY)
# NOTE: The scripts that does the autobuilds and ultimately the automated
# releases as well do keep their own list of group files around currently.
# So if you change anything here, change it in the release scripts as well.
# See openclonk-release-scripts.git/groupcontent.py
set(OC_C4GROUPS
Graphics.ocg
Material.ocg
Sound.ocg
System.ocg
Objects.ocd
Decoration.ocd
Arena.ocf
Parkour.ocf
Defense.ocf
Missions.ocf
Tutorials.ocf
Worlds.ocf
)
if(APPLE)
list(APPEND OC_C4GROUPS Music.ocg)
endif()
foreach(group ${OC_C4GROUPS})
if (APPLE)
if (CMAKE_GENERATOR STREQUAL Xcode)
add_custom_command(TARGET openclonk
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
"$<TARGET_FILE:${native_c4group}>"
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
DEPENDS "${native_c4group}"
)
else()
add_custom_command(TARGET openclonk
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
"$<TARGET_FILE:${native_c4group}>"
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
DEPENDS "${native_c4group}"
)
endif()
else()
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
COMMAND "${native_c4group}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
DEPENDS "${native_c4group}"
VERBATIM
USES_TERMINAL # Hack: prevent parallel execution (for ninja), c4group tends to fail otherwise
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
endif()
endforeach()
# NOTE: The scripts that does the autobuilds and ultimately the automated
# releases as well do keep their own list of group files around currently.
# So if you change anything here, change it in the release scripts as well.
# See openclonk-release-scripts.git/groupcontent.py
set(OC_C4GROUPS
Graphics.ocg
Material.ocg
Sound.ocg
System.ocg
Objects.ocd
Decoration.ocd
Arena.ocf
Parkour.ocf
Defense.ocf
Missions.ocf
Tutorials.ocf
Worlds.ocf
)
if(APPLE)
list(APPEND OC_C4GROUPS Music.ocg)
endif()
foreach(group ${OC_C4GROUPS})
if (APPLE)
if (CMAKE_GENERATOR STREQUAL Xcode)
add_custom_command(TARGET openclonk
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
"$<TARGET_FILE:${native_c4group}>"
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
DEPENDS "${native_c4group}"
)
else()
add_custom_command(TARGET openclonk
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
"$<TARGET_FILE:${native_c4group}>"
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
DEPENDS "${native_c4group}"
)
endif()
else()
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
COMMAND "${native_c4group}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
DEPENDS "${native_c4group}"
VERBATIM
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
endif()
endforeach()
if(NOT APPLE)
if(NOT HEADLESS_ONLY)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/planet/Music.ocg DESTINATION share/games/openclonk)
endif()
if(NOT C4GROUP_TOOL_ONLY)
# group files (game data)
add_custom_target(groups DEPENDS ${OC_C4GROUPS})
set_property(TARGET groups PROPERTY FOLDER "Setup")
add_dependencies(data groups)
endif()
# group files (game data)
add_custom_target(groups DEPENDS ${OC_C4GROUPS})
set_property(TARGET groups PROPERTY FOLDER "Setup")
add_dependencies(data groups)
# Install binaries
install(TARGETS c4group DESTINATION bin)
endif()
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
if(NOT HEADLESS_ONLY)
if(NOT APPLE)
# Install new files
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION share/applications)
@ -1612,12 +1555,7 @@ if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.appdata.xml DESTINATION share/appdata)
# Install binaries
if(WITH_APPDIR_INSTALLATION)
# AppDir expects binaries in /usr/bin
install(TARGETS openclonk DESTINATION bin)
else()
install(TARGETS openclonk DESTINATION games)
endif()
install(TARGETS openclonk DESTINATION games)
else()
install(TARGETS openclonk
BUNDLE DESTINATION .
@ -1632,28 +1570,26 @@ endif()
# setup_openclonk.exe
############################################################################
if(NOT C4GROUP_TOOL_ONLY)
find_program(MAKENSIS makensis PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS])
find_program(MAKENSIS makensis PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS])
if(NOT HEADLESS_ONLY)
add_custom_command(
OUTPUT setup_openclonk.exe
COMMAND ${MAKENSIS} -NOCD -DSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} -DPROGRAMFILES=$PROGRAMFILES "-DPRODUCT_NAME=${C4ENGINENAME}" "-DPRODUCT_COMPANY=${C4PROJECT}" "-DCLONK=$<TARGET_FILE_DIR:openclonk>\\$<TARGET_FILE_NAME:openclonk>" "-DC4GROUP=$<TARGET_FILE_DIR:c4group>\\$<TARGET_FILE_NAME:c4group>" ${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi "-XOutFile setup_openclonk.exe"
MAIN_DEPENDENCY
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/header.bmp
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/inst.ico
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/uninst.ico
${OC_C4GROUPS} openclonk c4group
VERBATIM
)
if(NOT HEADLESS_ONLY)
add_custom_command(
OUTPUT setup_openclonk.exe
COMMAND ${MAKENSIS} -NOCD -DSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} -DPROGRAMFILES=$PROGRAMFILES "-DPRODUCT_NAME=${C4ENGINENAME}" "-DPRODUCT_COMPANY=${C4PROJECT}" "-DCLONK=$<TARGET_FILE_DIR:openclonk>\\$<TARGET_FILE_NAME:openclonk>" "-DC4GROUP=$<TARGET_FILE_DIR:c4group>\\$<TARGET_FILE_NAME:c4group>" ${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi "-XOutFile setup_openclonk.exe"
MAIN_DEPENDENCY
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/header.bmp
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/inst.ico
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/uninst.ico
${OC_C4GROUPS} openclonk c4group
VERBATIM
)
add_custom_target(setup
DEPENDS setup_openclonk.exe groups
)
set_property(TARGET setup PROPERTY FOLDER "Setup")
endif()
add_custom_target(setup
DEPENDS setup_openclonk.exe groups
)
set_property(TARGET setup PROPERTY FOLDER "Setup")
endif()
############################################################################

View File

@ -31,5 +31,5 @@ Tobias Zwick (Newton)
<Special Thanks to Contributors>
Contributors for OpenClonk 8.0: George Tokmaji (Fulgen), Martin Adam (Win), Merten Ehmig (pluto), Florian Graier (Nachtfalter), Philip Holzmann (Foaly), Dominik Bayerl (Kanibal), Linus Heckemann (sphalerite), Pyrit, Armin Schäfer, Tushar Maheshwari, jok, Tarte, Philip Kern (pkern), Arne Schauf (NativeException), Matthias Mailänder, marsmoon
Previous contributors: Tim Blume, Sven-Hendrik Haase, Carl-Philip Hänsch (Carli), Jan Heberer, Benjamin Herr (Loriel), Lauri Niskanen (Ape), Johannes Nixdorf (mixi), Misty de Meo, Fabian Pietsch, Manuel Rieke (MrBeast), Felix Riese (Fungiform), Sebastian Rühl, Oliver Schneider (ker), Lorenz Schwittmann, Alexander Semeniuk (AlteredARMOR), Daniel Theuke (ST-DDT), Andriel, Apfelclonk, Asmageddon, Checkmaty, Clonkine, dylanstrategie, Faby, grgecko, Gurkenglas, hasufell, Koronis, mizipzor, Peewee, Russell, Stan, TomyLobo
Also thanks to our Linux package maintainers Benedict Etzel (B_E), Linus Heckemann (sphalerite), Philip Kern (pkern), Matthias Mailänder, Julian Ospald (hasufell), Kevin Zheng, and more
Also thanks to our Linux package maintainers Benedict Etzel (B_E), Linus Heckemann (sphalerite), Philip Kern (pkern), Matthias Mailänder, Julian Ospald (hasufell), Kevin Zeng, and more
Finally, a big thanks to Matthes Bender and all those who contributed to previous Clonk titles for the passion they put into the game and for agreeing to make Clonk open source.

View File

@ -1,32 +0,0 @@
version: "{build}"
pull_requests:
do_not_increment_build_number: true
shallow_clone: true
cache: ..\openclonk-cache
image: Visual Studio 2017
configuration: RelWithDebInfo
platform:
- x64
install:
- ps: "& $env:APPVEYOR_BUILD_FOLDER\\tools\\ci\\appv-Install.ps1"
before_build:
- ps: "& $env:APPVEYOR_BUILD_FOLDER\\tools\\ci\\appv-BeforeBuild.ps1"
build:
project: ../openclonk-build/openclonk.sln
parallel: true
verbosity: minimal
# The after_build and test_script scripts need to be called in a real
# powershell instance because they call into the MSBuild API, which has issues
# finding its data files when called from AppVeyor's powershell host, because
# it attempts to read the application config instead of the registry to find
# them (starting with MSBuild 15, which ships with Visual Studio 2017).
after_build:
- cmd: powershell -NoLogo -NoProfile -ExecutionPolicy Unrestricted -Command "& $env:APPVEYOR_BUILD_FOLDER\\tools\\ci\\appv-AfterBuild.ps1"
test_script:
- cmd: powershell -NoLogo -NoProfile -ExecutionPolicy Unrestricted -Command "& $env:APPVEYOR_BUILD_FOLDER\\tools\\ci\\appv-Test.ps1"
deploy: off

View File

@ -0,0 +1,72 @@
#Copied from http://www.mail-archive.com/cmake@cmake.org/msg04394.html which copied it from the rosengarden project
#see also: http://gcc.gnu.org/onlinedocs/gcc-4.0.4/gcc/Precompiled-Headers.html
MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
# Prepare environment
GET_FILENAME_COMPONENT(_name ${_input} NAME)
SET(_pchdir "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${_targetName}_pch.dir")
MAKE_DIRECTORY(${_pchdir})
SET(_source "${CMAKE_CURRENT_SOURCE_DIR}/${_input}")
SET(_includeput "${_pchdir}/${_name}")
SET(_output "${_includeput}.gch")
# Assemble the compiler command with which future stuff will be built
STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name) # Don't worry: CMake won't use any of the R/D/RWDI/MSR vars if the build type is not defined
if(CMAKE_CXX_COMPILER_ARG1) # please, know what you're doing if you rely on this...
STRING(STRIP ${CMAKE_CXX_COMPILER_ARG1} _ccache_tweak)
SET(_ccache_tweak "\"${_ccache_tweak}\"")
endif()
SET(_compiler_FLAGS ${_ccache_tweak} ${CMAKE_CXX_FLAGS} ${${_flags_var_name}})
if(CMAKE_BUILD_TYPE)
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
LIST(APPEND _compiler_FLAGS "-D_DEBUG")
endif()
endif()
GET_TARGET_PROPERTY(_compile_defines ${_targetName} COMPILE_DEFINITIONS)
if(_compile_defines)
FOREACH(item ${_compile_defines})
STRING(REPLACE "\"" "\\\"" item ${item})
LIST(APPEND _compiler_FLAGS "-D${item}")
ENDFOREACH(item)
endif()
GET_TARGET_PROPERTY(_compile_defines ${_targetName} COMPILE_DEFINITIONS_${CMAKE_BUILD_TYPE})
if(_compile_defines)
FOREACH(item ${_compile_defines})
STRING(REPLACE "\"" "\\\"" item ${item})
LIST(APPEND _compiler_FLAGS "$<$<NOT:$<STREQUAL:,${item}>>:-D${item}>")
ENDFOREACH(item)
endif()
GET_DIRECTORY_PROPERTY(_compile_defines COMPILE_DEFINITIONS)
if(_compile_defines)
FOREACH(item ${_compile_defines})
STRING(REPLACE "\"" "\\\"" item ${item})
LIST(APPEND _compiler_FLAGS "$<$<NOT:$<STREQUAL:,${item}>>:-D${item}>")
ENDFOREACH(item)
endif()
GET_DIRECTORY_PROPERTY(_compile_defines COMPILE_DEFINITIONS_${CMAKE_BUILD_TYPE})
if(_compile_defines)
FOREACH(item ${_compile_defines})
STRING(REPLACE "\"" "\\\"" item ${item})
LIST(APPEND _compiler_FLAGS "$<$<NOT:$<STREQUAL:,${item}>>:-D${item}>")
ENDFOREACH(item)
endif()
GET_DIRECTORY_PROPERTY(_directory_flags INCLUDE_DIRECTORIES)
FOREACH(item ${_directory_flags})
LIST(APPEND _compiler_FLAGS "-I\"${item}\"")
ENDFOREACH(item)
SEPARATE_ARGUMENTS(_compiler_FLAGS)
list(REMOVE_DUPLICATES _compiler_FLAGS)
# Add a target with the pch
ADD_CUSTOM_COMMAND(
OUTPUT ${_output}
COMMAND "${CMAKE_CXX_COMPILER}"
${_compiler_FLAGS} -x c++-header -o ${_output} ${_source}
IMPLICIT_DEPENDS CXX ${_source}
)
FILE(WRITE "${_pchdir}/${_name}" "#ifdef __cplusplus\n#warning Precompiled header not used. Turn off or fix!\n#endif") # This file is added so the cc-units don't stumble over not being able to include the file
ADD_CUSTOM_TARGET(${_targetName}_pch DEPENDS ${_output})
ADD_DEPENDENCIES(${_targetName} ${_targetName}_pch)
SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_includeput}")
ENDMACRO(ADD_PRECOMPILED_HEADER)

View File

@ -42,19 +42,6 @@ function(git_get_changeset_id VAR)
OUTPUT_VARIABLE GIT_TIMESTAMP
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(DEFINED ENV{C4REVISION_BRANCH})
set(GIT_BRANCH "$ENV{C4REVISION_BRANCH}")
else()
execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND "${GIT_EXECUTABLE}" "symbolic-ref" "--short" "HEAD"
RESULT_VARIABLE GIT_RESULT
OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(NOT GIT_RESULT EQUAL 0)
set(GIT_BRANCH "unknown")
endif()
endif()
endif()
endif()
if (NOT C4REVISION)
@ -77,7 +64,6 @@ function(git_get_changeset_id VAR)
REGEX "date: .+"
)
string(SUBSTRING "${C4REVISION_TS}" 6 -1 GIT_TIMESTAMP)
set(GIT_BRANCH "unknown")
endif()
if(WORKDIR_DIRTY)
set(WORKDIR_DIRTY 1)
@ -85,5 +71,4 @@ function(git_get_changeset_id VAR)
set(${VAR} "${C4REVISION}" PARENT_SCOPE)
set(${VAR}_DIRTY ${WORKDIR_DIRTY} PARENT_SCOPE)
set(${VAR}_TS "${GIT_TIMESTAMP}" PARENT_SCOPE)
set(${VAR}_BRANCH "${GIT_BRANCH}" PARENT_SCOPE)
endfunction()

View File

@ -1,37 +0,0 @@
# OpenClonk, http://www.openclonk.org
#
# Copyright (c) 2018, The OpenClonk Team and contributors
#
# Distributed under the terms of the ISC license; see accompanying file
# "COPYING" for details.
#
# "Clonk" is a registered trademark of Matthes Bender, used with permission.
# See accompanying file "TRADEMARK" for details.
#
# To redistribute this file separately, substitute the full license texts
# for the above references.
# GCC6 doesn't work well with CMake while cross-compiling. See bugs:
# https://gitlab.kitware.com/cmake/cmake/issues/16291
# https://gitlab.kitware.com/cmake/cmake/issues/16919
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129
function(HANDLE_GCC_CROSS_INCLUDE_PATHS _lang _gcc_lang_flag)
set(_compiler "${CMAKE_${_lang}_COMPILER}")
set(_compile_flags "${CMAKE_${_lang}_FLAGS}")
separate_arguments(_compile_flags UNIX_COMMAND "${_compile_flags}")
execute_process(
COMMAND ${_compiler} ${_compile_flags} -v -E -x ${_gcc_lang_flag} /dev/null
OUTPUT_QUIET
ERROR_VARIABLE _compiler_output
)
if ("${_compiler_output}" MATCHES "#include <\\.\\.\\.> search starts here:\n *(.*)\nEnd of search list\\.")
string(REGEX REPLACE "[\n ]+" " " _search_list "${CMAKE_MATCH_1}")
separate_arguments(_search_list)
foreach(_directory ${_search_list})
get_filename_component(_fixed_component "${_directory}" REALPATH)
set(_resolved_list ${_resolved_list} "${_fixed_component}")
endforeach()
set(CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES} ${_resolved_list} PARENT_SCOPE)
endif()
endfunction()

View File

@ -5,12 +5,18 @@
/* Use backward-cpp to print stack traces on crash */
#cmakedefine HAVE_BACKWARD 1
/* Define to 1 if you have the <direct.h> header file. */
#cmakedefine HAVE_DIRECT_H 1
/* The backtrace function is declared in execinfo.h and works */
#cmakedefine HAVE_EXECINFO_H 1
/* Define to 1 if you have the <history.h> header file. */
#cmakedefine HAVE_HISTORY_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#cmakedefine HAVE_INTTYPES_H 1
/* Define to 1 if you have the <io.h> header file. */
#cmakedefine HAVE_IO_H 1
@ -20,6 +26,9 @@
/* Define to 1 if you have the <locale.h> header file. */
#cmakedefine HAVE_LOCALE_H 1
/* Define to 1 if your stdlib has std::make_unique */
#cmakedefine HAVE_MAKE_UNIQUE 1
/* Define to 1 if you have the <poll.h> header file. */
#cmakedefine HAVE_POLL_H 1
@ -35,6 +44,9 @@
/* Define to 1 if you have the <signal.h> header file. */
#cmakedefine HAVE_SIGNAL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#cmakedefine HAVE_STDINT_H 1
/* Define to 1 if you have the <sys/eventfd.h> header file. */
#cmakedefine HAVE_SYS_EVENTFD_H 1
@ -59,6 +71,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H 1
/* Define to 1 if your compiler supports variadic templates */
#cmakedefine HAVE_VARIADIC_TEMPLATES 1
/* Define to 1 if you have the `vasprintf' function. */
#cmakedefine HAVE_VASPRINTF 1
@ -90,13 +105,12 @@
/* Enable automatic update system */
#cmakedefine WITH_AUTOMATIC_UPDATE 1
#cmakedefine WITH_APPDIR_INSTALLATION 1
/* Select an audio provider */
#define AUDIO_TK AUDIO_TK_${Audio_TK_UPPER}
#else
#define AUDIO_TK AUDIO_TK_NONE
#endif // USE_CONSOLE
#endif
#define AUDIO_TK_NONE 0
#define AUDIO_TK_OPENAL 1
@ -104,13 +118,3 @@
/* Include OpenAL extensions (alext.h) for sound modifiers */
#cmakedefine HAVE_ALEXT 1
/* Path to data directory */
#ifdef WITH_APPDIR_INSTALLATION
#define OC_SYSTEM_DATA_DIR "../share/games/openclonk"
#else
#define OC_SYSTEM_DATA_DIR "${CMAKE_INSTALL_PREFIX}/share/games/openclonk"
#endif
/* Path to /proc/self/exe (Linux) or equivalent */
#cmakedefine PROC_SELF_EXE "${PROC_SELF_EXE}"

View File

@ -19,7 +19,6 @@ HHC = hhc.exe
MKDIR_P = mkdir -p
CP = cp
CP_R = cp -r
NODE = node
stylesheet = clonk.xsl
@ -30,10 +29,9 @@ sdk-dirs := $(shell find sdk -name '.*' -prune -o -type d -print)
# find all *.xml files recursively in sdk/
xmlfiles := $(sort $(shell find sdk -name '.*' -prune -o -name 'content.xml' -prune -o -name \*.xml -print))
xmlfiles-de := $(subst sdk, sdk-de, $(xmlfiles))
# misc
extra-files := $(sort $(wildcard *.css *.js images/*.*) lunr.js)
extra-files := $(sort $(wildcard *.css *.php *.js images/*.*))
extra-files-chm := $(sort $(wildcard *.css *.js images/*.*))
# Targets:
@ -48,16 +46,15 @@ sdk-de-dirs := $(subst sdk, sdk-de, $(sdk-dirs))
online-dirs := $(foreach lang, en de, $(addprefix online/$(lang)/, $(sdk-dirs) images))
online-sdk-files := $(foreach lang, en de, $(addprefix online/$(lang)/, $(htmlfiles) sdk/content.html))
online-extra-files := $(foreach lang, en de, $(addprefix online/$(lang)/, $(extra-files)))
online-index-files := $(foreach lang, en de, $(addprefix online/$(lang)/, index.json))
# For Entwickler.chm
chm-dirs := $(foreach lang, en de, $(addprefix chm/$(lang)/, . $(sdk-dirs) images))
.PHONY: all online-en chm install check clean
all: $(sdk-de-dirs) $(online-dirs) $(online-sdk-files) $(online-extra-files) $(online-index-files)
all: $(sdk-de-dirs) $(online-dirs) $(online-sdk-files) $(online-extra-files)
online-en: $(addprefix online/en/, $(sdk-dirs) images $(htmlfiles) sdk/content.html $(extra-files) index.json)
online-en: $(addprefix online/en/, $(sdk-dirs) images $(htmlfiles) sdk/content.html $(extra-files))
chm: $(sdk-de-dirs) $(chm-dirs) chm/en/Developer.chm chm/de/Entwickler.chm
@ -72,36 +69,23 @@ clean:
rm -f *.mo Entwickler.chm Developer.chm doku.pot sdk/content.xml
rm -rf online sdk-de chm
sdk/content.xml: sdk/content.xml.in $(xmlfiles) tools/build_contents.py tools/experimental.py
sdk/content.xml: sdk/content.xml.in $(xmlfiles) build_contents.py experimental.py
@echo generate $@
@python2 tools/build_contents.py $(xmlfiles)
@python2 build_contents.py $(xmlfiles)
# Node dependencies for index.
node_modules/.make: package.json
npm install
@touch $@
lunr.js: node_modules/.make
$(CP) node_modules/lunr/lunr.js $@
online/en/index.json: node_modules/.make $(xmlfiles) tools/build_index.js
@$(NODE) tools/build_index.js $@ $(xmlfiles)
online/de/index.json: node_modules/.make $(xmlfiles-de) tools/build_index.js
@$(NODE) tools/build_index.js $@ $(xmlfiles-de)
chm/en/Output.hhp: $(xmlfiles) chm/en/. tools/build_hhp.py Template.hhp
chm/en/Output.hhp: $(xmlfiles) chm/en/. build_hhp.py Template.hhp
@echo generate $@
@python2 tools/build_hhp.py $@ Template.hhp $(xmlfiles)
chm/de/Output.hhp: $(xmlfiles) chm/de/. tools/build_hhp.py Template.de.hhp
@python2 build_hhp.py $@ Template.hhp $(xmlfiles)
chm/de/Output.hhp: $(xmlfiles) chm/de/. build_hhp.py Template.de.hhp
@echo generate $@
@python2 tools/build_hhp.py $@ Template.de.hhp $(xmlfiles)
@python2 build_hhp.py $@ Template.de.hhp $(xmlfiles)
$(sdk-de-dirs) $(online-dirs) $(chm-dirs):
mkdir -p $@
doku.pot: $(xmlfiles) extra-strings.xml sdk/content.xml.in tools/xml2po.py tools/clonk.py
doku.pot: $(xmlfiles) extra-strings.xml sdk/content.xml.in xml2po.py clonk.py
@echo extract strings to $@
@python2 tools/xml2po.py -e -m clonk -o $@ $(xmlfiles) extra-strings.xml sdk/content.xml.in
@python2 xml2po.py -e -m clonk -o $@ $(xmlfiles) extra-strings.xml sdk/content.xml.in
%.po: doku.pot
@echo update $@
@ -112,9 +96,9 @@ doku.pot: $(xmlfiles) extra-strings.xml sdk/content.xml.in tools/xml2po.py tools
@echo compile $@
@msgfmt --statistics -o $@ $<
sdk-de/%.xml: sdk/%.xml de.mo tools/xml2po.py tools/clonk.py
sdk-de/%.xml: sdk/%.xml de.mo xml2po.py clonk.py
@echo generate $@
@python2 tools/xml2po.py -e -m clonk -t de.mo -o $@ $<
@python2 xml2po.py -e -m clonk -t de.mo -o $@ $<
define run-xslt
@echo generate $@

View File

@ -35,12 +35,7 @@
</title>
</xsl:template>
<xsl:template match="script">
<xsl:copy>
<xsl:for-each select="@*">
<xsl:copy />
</xsl:for-each>
<xsl:apply-templates />
</xsl:copy>
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
<xsl:template match="func|const" mode="head">
<xsl:apply-templates mode="head" />
@ -354,6 +349,16 @@
<caption><xsl:apply-templates select="@id|node()" /></caption>
</xsl:template>
<xsl:template match="search">
<xsl:if test="not($chm)">
<form action="../search.php" method="get">
<input name="search" type="text"></input>
<input type="submit" name="func" value="Search"></input>
<input type="submit" name="fulltext" value="Fulltext"></input>
</form>
</xsl:if>
</xsl:template>
<xsl:template match="table/bitmask">
<xsl:value-of select="." />:
<input id="input" onKeyUp="Calc();" name="input" type="text">

2093
docs/de.po

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
@font-face{
font-family: Endeavour;
/*src: url('/Endeavour.eot');
src: local('Endeavour'),url('/Endeavour.ttf') format("truetype");*/
src: url('/Endeavour.eot');
src: local('Endeavour'),url('/Endeavour.ttf') format("truetype");
}
body {
@ -243,6 +243,10 @@ ul.nav a {
text-decoration: none;
}
ul.nav a:hover, ul.nav a:hover {
background: #333 url(images/stripe-wide.gif) left repeat-x;
}
ul.nav li.switchlang img {
margin: 0;
}

View File

@ -3,17 +3,17 @@ Unfortunately, xml documents can only have one root, so there needs to be a dumm
header is an appropiate html element, so it's arbitrarily chosen.
clonk.xsl also uses it to match the processing for it. -->
<header>
<style type="text/css">@import url("https://www.openclonk.org/header/header.css");</style>
<style type="text/css">@import url("http://www.openclonk.org/header/header.css");</style>
<div id="nav_header">
<div id="nav_doclangswitch">
<a href="https://docs.openclonk.org/en/sdk/" target="_top"><img src="https://forum.openclonk.org/flags/gb.png"/></a>
<a href="https://docs.openclonk.org/de/sdk/" target="_top"><img src="https://forum.openclonk.org/flags/de.png"/></a>
<a href="http://docs.openclonk.org/en/sdk/" target="_top"><img src="http://forum.openclonk.org/flags/gb.png"/></a>
<a href="http://docs.openclonk.org/de/sdk/" target="_top"><img src="http://forum.openclonk.org/flags/de.png"/></a>
</div>
<div id="nav_search">
<form action="https://www.openclonk.org/header/search.php" id="nav_searchform" method="get" target="_top"><div>
<form action="http://www.openclonk.org/header/search.php" id="nav_searchform" method="get" target="_top"><div>
<input id="nav_searchInput" name="s" type="text" value="search" onfocus="if(this.value == 'search') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'search'; }"/> in the
<select value="docs" name="p">
<option value="blog">blog</option>
@ -29,21 +29,21 @@ clonk.xsl also uses it to match the processing for it. -->
</div>
<div id="nav_logo">
<a href="https://www.openclonk.org/" target="_top"><img src="https://www.openclonk.org/header/logo.png" width="450" height="94" alt="OpenClonk"/></a>
<a href="http://www.openclonk.org/" target="_top"><img src="http://www.openclonk.org/header/logo.png" width="450" height="94" alt="OpenClonk"/></a>
</div>
<div id="nav_navigation">
<div id="nav_links">
<ul>
<li><a href="https://www.openclonk.org/" target="_top">Home</a></li>
<li><a href="https://www.openclonk.org/download/" target="_top">Download</a></li>
<li><a href="https://blog.openclonk.org/" target="_top">Blog</a></li>
<li><a href="https://forum.openclonk.org/" target="_top">Forum</a></li>
<li><a href="https://league.openclonk.org/" target="_top">League</a></li>
<li><a href="https://wiki.openclonk.org/w/C4Script_Documentation" target="_top">Docs</a></li>
<li><a href="https://wiki.openclonk.org/w/Development" target="_top">Developers</a></li>
<li><a href="https://git.openclonk.org/openclonk.git" target="_top">Repository</a></li>
<li><a href="https://bugs.openclonk.org" target="_top">Bugs</a></li>
<li><a href="http://www.openclonk.org/" target="_top">Home</a></li>
<li><a href="http://www.openclonk.org/download/" target="_top">Download</a></li>
<li><a href="http://blog.openclonk.org/" target="_top">Blog</a></li>
<li><a href="http://forum.openclonk.org/" target="_top">Forum</a></li>
<li><a href="http://league.openclonk.org/" target="_top">League</a></li>
<li><a href="http://wiki.openclonk.org/w/C4Script_Documentation" target="_top">Docs</a></li>
<li><a href="http://wiki.openclonk.org/w/Development" target="_top">Developers</a></li>
<li><a href="http://git.openclonk.org/openclonk.git" target="_top">Repository</a></li>
<li><a href="http://bugs.openclonk.org" target="_top">Bugs</a></li>
</ul>
</div>
</div>

32
docs/package-lock.json generated
View File

@ -1,32 +0,0 @@
{
"name": "openclonk-docs",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"lunr": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.1.6.tgz",
"integrity": "sha512-ydJpB8CX8cZ/VE+KMaYaFcZ6+o2LruM6NG76VXdflYTgluvVemz1lW4anE+pyBbLvxJHZdvD1Jy/fOqdzAEJog=="
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"requires": {
"sax": "1.2.4",
"xmlbuilder": "9.0.7"
}
},
"xmlbuilder": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
}
}
}

View File

@ -1,22 +0,0 @@
{
"name": "openclonk-docs",
"version": "1.0.0",
"description": "Developer documentation for OpenClonk",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/openclonk/openclonk.git"
},
"author": "The OpenClonk Team",
"license": "ISC",
"bugs": {
"url": "https://github.com/openclonk/openclonk/issues"
},
"homepage": "https://github.com/openclonk/openclonk#readme",
"dependencies": {
"lunr": "^2.1.6",
"xml2js": "^0.4.19"
}
}

View File

@ -56,7 +56,7 @@
<dd>
<text>Searches for a network game on the specified address and joins it. No local scenario (*.ocs) should be specified. Implies --network.</text>
</dd>
<dt id="clonkp">[open]clonk://&lt;<em>Address</em>&gt;/</dt>
<dt id="clonkp">clonk://&lt;<em>Address</em>&gt;/</dt>
<dd>
<text>Same as --join if an address is specified. If "update" is specified as an address, this will cause the engine to perform an update check instead.</text>
</dd>

View File

@ -211,10 +211,6 @@
window.scrollTo(0, y0);
}
})();
// Collapse the index.
document.querySelector('.index > img').onclick();
]]>
</script>
<script src="../lunr.js"></script>
<script src="../search.js"></script>
</toc>

View File

@ -27,9 +27,9 @@
</dl>
<h id="RasterGraphics">Raster Graphics</h>
<dl>
<dt id="Graphicspng"><img height="16" src="../../images/icon_image.png" width="16"/>Graphics.png/Graphics.*.png</dt>
<dt id="Graphicspng"><img height="16" src="../../images/icon_image.png" width="16"/>Graphics.png</dt>
<dd>
<text>Graphics of the object. Base graphics, animation phases and a picture for display in menus are stored in a 32 bit picture with transparency channel (PNG format, 32 bit RGBA color, non interlaced). An optional zoom factor for high-resolution graphics can be provided in the '*'-portion of the name.</text>
<text>Graphics of the object. Base graphics, animation phases and a picture for display in menus are stored in a 32 bit picture with transparency channel (PNG format, 32 bit RGBA color, non interlaced).</text>
</dd>
<dt id="Overlaypng"><img height="16" src="../../images/icon_image.png" width="16"/>Overlay.png</dt>
<dd>
@ -39,7 +39,7 @@
<dd>
<text>An optional normal map for the object, where the red, green and blue components in the image correspond to the normal vectors to be used for the lighting of the object. If this file is not present, the normal vector at each pixel points straight into Z direction (outside of the screen).</text>
</dd>
<dt id="Graphicsex"><img height="16" src="../../images/icon_image.png" width="16"/>Graphics*.png/Overlay*.png (Graphics*.*.png/Overlay*.*.png)</dt>
<dt id="Graphicsex"><img height="16" src="../../images/icon_image.png" width="16"/>Graphics*.png/Overlay*.png</dt>
<dd>
<text>Objects can also contain alternative sets of graphics which can be selected ingame using the script command <funclink>SetGraphics</funclink>(). The name corresponds to the file name portion following "Graphics". The matching overlay is automatically selected. For more information see <funclink>SetGraphics</funclink>().</text>
</dd>

View File

@ -13,6 +13,8 @@
<h>Get started</h>
<text><emlink href="files.html">Game data</emlink> - Get an overview over the game data needed for the creation of custom game content.</text>
<text><emlink href="script/index.html">C4Script</emlink> - View the introduction to the script language C4Script.</text>
<h>Search the documentation</h>
<search/>
</part>
<author>Newton</author><date>2011-08</date>
</doc>

View File

@ -206,7 +206,7 @@
<row>
<col>OverlayType</col>
<col>Integer</col>
<col>Bit mask for texture calculation on this material. Bit 0 (1): exact (no zoom), bit 1 (2): no texture, bit 2 (4): extra large zoom</col>
<col>Bit mask for texture calculation on this material. Bit 0 (1): exact (no zoom), bit 1 (2): no texture, bit 2 (4): extra large zoom, bit 3 (8): calculate texture based on gray scale.</col>
</row>
<row>
<col>PXSGfx</col>

View File

@ -68,7 +68,7 @@
<row>
<col>MissionAccess</col>
<col>String</col>
<col>The scenario will only load if the player gained this password in another scenario. See script function <funclink>GainScenarioAccess</funclink>().</col>
<col>The scenario will only load if the player gained this password in another scenario. See script function <funclink>GainMissionAccess</funclink>().</col>
</row>
<row>
<col>Secret</col>
@ -122,14 +122,9 @@
</row>
<row>
<col>FoWEnabled</col>
<col>Bool</col>
<col>Integer</col>
<col>0 or 1. If 0, FoW is disabled, and the whole landscape is visible. Default 1.</col>
</row>
<row>
<col>EvaluateOnAbort</col>
<col>Bool</col>
<col>If enabled, the game will be evaluated even when aborted by the player. This is intended for scenarios like Tower of Despair that save progress in players. Default false.</col>
</row>
</table>
</text>
<text>

View File

@ -166,25 +166,6 @@ func f() {
<code>func f() {
&#9;var i;
&#9;var i;
}</code>
</part>
</col>
</row>
<row>
<col>variable_out_of_scope</col>
<col>
<text>
A variable has been used outside of the block it has been
declared in. This is accepted only for backwards compatibility
and may be removed in a future release.
</text>
<part>
<code>func f(a) {
&#9;i = 0;
&#9;if (a) {
&#9;&#9;var i = 1;
&#9;}
&#9;return i;
}</code>
</part>
</col>
@ -248,24 +229,6 @@ func g(a, ...) {
</part>
</col>
</row>
<row>
<col>suspicious_assignment</col>
<col>
<text>
An assignment was found where an expression was expected. While
an assignment returns its own value, usually a comparison was
intended instead.
</text>
<part>
<code>if (a = b + 1) { /* Do something */}</code>
</part>
<text>
If the assignment is intentional, make this more obvious by
extracting it to a separate statement, or explicitly handle the
boolean conversion by adding a comparison operator.
</text>
</col>
</row>
</table>
</part>

View File

@ -6,7 +6,7 @@
<func>
<title>Abs</title>
<category>Arithmetics</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>AbsX</title>
<category>Objects</category>
<subcat>Position</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>AbsY</title>
<category>Objects</category>
<subcat>Position</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>ActIdle</title>
<category>Objects</category>
<subcat>Activity</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>bool</rtype></syntax>
<desc>Checks whether an object is currently performing an activity.</desc>
<related>

View File

@ -7,7 +7,7 @@
<title>AddCommand</title>
<category>Objects</category>
<subcat>Commands</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>AddEffect</title>
<category>Effects</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<deprecated />
<syntax>
<rtype>proplist</rtype>

View File

@ -7,7 +7,7 @@
<title>AddMenuItem</title>
<category>Objects</category>
<subcat>Menu</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>AddMsgBoardCmd</title>
<category>Interface</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>AddVertex</title>
<category>Objects</category>
<subcat>Vertices</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Angle</title>
<category>Arithmetics</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_AbsX</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_AbsY</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_Action</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params />

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_Const</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_Dist</title>
<category>Animations</category>
<version>6.0 OC</version>
<version>5.6 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_Linear</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_R</title>
<category>Animations</category>
<version>3.0 OC</version>
<version>5.3 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_X</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_XDir</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_Y</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>Anim_YDir</title>
<category>Animations</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>array</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>AppendCommand</title>
<category>Objects</category>
<subcat>Commands</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>ArcCos</title>
<category>Arithmetics</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>ArcSin</title>
<category>Arithmetics</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>AttachMesh</title>
<category>Objects</category>
<subcat>Display</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>BlastFree</title>
<category>Landscape</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>BlastObjects</title>
<category>Objects</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>BoundBy</title>
<category>Arithmetics</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>Bubble</title>
<category>Environment</category>
<subcat>Effects</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>Buy</title>
<category>Objects</category>
<subcat>Creation</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>object</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>C4D_All</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Object category: all categories.</desc>
<related>

View File

@ -7,7 +7,7 @@
<title>C4D_Background</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int </rtype></syntax>
<desc>Object category: object is drawn behind the landscape. Useful for effects like clouds or celestial bodies.</desc>
<remark>This category does not work in the old 8 bit graphics system.</remark>

View File

@ -7,7 +7,7 @@
<title>C4D_Goal</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Object category: game goal.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>C4D_Living</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int </rtype></syntax>
<desc>Objects with this category are alive when created.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>C4D_Object</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int </rtype></syntax>
<desc>Object category: Item that can hit alive objects.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>C4D_Parallax</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</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 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>
<examples>

View File

@ -7,7 +7,7 @@
<title>C4D_Rule</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Object category: rule object.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>C4D_StaticBack</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int </rtype></syntax>
<desc>Objects with this category do not move. This is useful for all kinds of stuff, like making sure rule objects don't fall out of the landscape.</desc>
<related>

View File

@ -7,7 +7,7 @@
<title>C4D_Structure</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int </rtype></syntax>
<desc>Unused Object category.</desc>
<related>

View File

@ -7,7 +7,7 @@
<title>C4D_Vehicle</title>
<category>Objects</category>
<subcat>Category</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int </rtype></syntax>
<desc>Unused Object category.</desc>
<related>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_Array</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: array.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_Bool</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: boolean value (<code>true</code> or <code>false</code>).</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_C4Object</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: object pointer.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_Def</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: Definition. Definitions are a special type of proplist, and this data type is used for distinguishing definitions from proplists.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_Int</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: integer.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_Nil</title>
<category>Variables</category>
<version>2.0 OC</version>
<version>5.2 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: nil.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_PropList</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: Proplist.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<const>
<title>C4V_String</title>
<category>Variables</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Data type: string.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_Down</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: down. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_DownLeft</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: diagonally down and to the left. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_DownRight</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: diagonally down and to the right. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_Left</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: left. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_None</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: keep current motion. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_Right</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: right. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_Stop</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: stop, hence end current motion. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_Up</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: up. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_UpLeft</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: diagonally up and to the left. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>COMD_UpRight</title>
<category>Objects</category>
<subcat>Movement</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Movement direction: diagonally up and to the right. For more information see <funclink>SetComDir</funclink>.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>Call</title>
<category>Script</category>
<subcat>Function call</subcat>
<version>1.0 OC<extversion>4.0 OC</extversion></version>
<version>5.1 OC<extversion>5.4 OC</extversion></version>
<syntax>
<rtype>any</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>CanConcatPictureWith</title>
<category>Objects</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>CanInsertMaterial</title>
<category>Landscape</category>
<subcat>Material</subcat>
<version>4.0 OC</version>
<version>5.4 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>CastObjects</title>
<category>Objects</category>
<subcat>Creation</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>CastPXS</title>
<category>Landscape</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>ChangeDef</title>
<category>Objects</category>
<subcat>Status</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>CheckConstructionSite</title>
<category>Objects</category>
<subcat>Creation</subcat>
<version>2.0 OC</version>
<version>5.2 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>CheckEffect</title>
<category>Effects</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>int</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>CheckVisibility</title>
<category>Objects</category>
<subcat>Visibility</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -6,7 +6,7 @@
<func>
<title>ClearFreeRect</title>
<category>Landscape</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>void</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>ClearMenuItems</title>
<category>Objects</category>
<subcat>Menu</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>int</rtype></syntax>
<desc>Removes all entries from a menu.</desc>
<examples>

View File

@ -6,7 +6,7 @@
<func>
<title>ClearParticles</title>
<category>Particles</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
</syntax>

View File

@ -6,7 +6,7 @@
<func>
<title>ClearScheduleCall</title>
<category>Script</category>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

View File

@ -7,7 +7,7 @@
<title>CloseMenu</title>
<category>Objects</category>
<subcat>Menu</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax><rtype>bool</rtype></syntax>
<desc>Closes the menu of the calling object.</desc>
<examples>

View File

@ -7,7 +7,7 @@
<title>Collect</title>
<category>Objects</category>
<subcat>Contents</subcat>
<version>1.0 OC</version>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>

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