forked from Mirrors/openclonk
Compare commits
4 Commits
master
...
console-de
Author | SHA1 | Date |
---|---|---|
Armin Burgmeier | e39a3a40f7 | |
Armin Burgmeier | 4e7b396d31 | |
Armin Burgmeier | 2d324c10e0 | |
Armin Burgmeier | a56d2fecdb |
|
@ -1,2 +1 @@
|
|||
node: $Format:%H$
|
||||
date: $Format:%ci$
|
||||
|
|
|
@ -18,7 +18,7 @@ C4Version.h
|
|||
Makefile
|
||||
C4Include.h.gch
|
||||
intermediate
|
||||
/build*
|
||||
build*
|
||||
CMakeScripts
|
||||
CMakeFiles
|
||||
CMakeCache.txt
|
||||
|
@ -31,19 +31,16 @@ editor-icons.h
|
|||
oc-icon.h
|
||||
NativeToolsExport.cmake
|
||||
engine-resource.c
|
||||
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 +81,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
|
||||
|
@ -134,7 +121,6 @@ openclonk.layout
|
|||
openclonk.sdf
|
||||
openclonk.cbp
|
||||
tests/openclonk_unittest.cbp
|
||||
tests/openclonk_unittest.sln
|
||||
|
||||
# MacOSX saved searches
|
||||
*.savedSearch
|
||||
|
@ -144,11 +130,11 @@ WindowsGamesExplorer.xml
|
|||
|
||||
# Mape
|
||||
./mape
|
||||
/mape
|
||||
mape-icons.h
|
||||
mape-resource.c
|
||||
|
||||
|
||||
tests/openclonk_unittest.sln
|
||||
|
||||
# Packed groups created directly in root path
|
||||
/*.oc*
|
||||
|
||||
|
|
84
.travis.yml
84
.travis.yml
|
@ -1,84 +0,0 @@
|
|||
# thanks to http://stackoverflow.com/questions/29312015/building-with-more-than-one-version-of-a-compiler for the template
|
||||
|
||||
language: cpp
|
||||
dist: trusty
|
||||
sudo: required # for Qt libraries. Additionally, the virtualization builds are more stable and have better single core performance.
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
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']
|
||||
env:
|
||||
- CCOMPILER=gcc-4.9
|
||||
- CXXCOMPILER=g++-4.9
|
||||
- TYPE=Debug # somehow, the linking fails for release builds. If someone could fix that, that would be great.
|
||||
- BSYS="Unix Makefiles#make -k"
|
||||
|
||||
- os: linux
|
||||
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']
|
||||
env:
|
||||
- CCOMPILER=gcc-5
|
||||
- CXXCOMPILER=g++-5
|
||||
- TYPE=RelWithDebInfo
|
||||
- CXX_FLAGS="-fdiagnostics-color -I/usr/include/AL"
|
||||
- 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']
|
||||
env:
|
||||
- CCOMPILER=clang-3.8
|
||||
- CXXCOMPILER=clang++-3.8
|
||||
- CXX_FLAGS="-stdlib=libc++ -fcolor-diagnostics"
|
||||
- TYPE=Debug
|
||||
- BSYS="Ninja#ninja -k30"
|
||||
|
||||
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/\#*/}"
|
||||
-DCMAKE_BUILD_TYPE="$TYPE"
|
||||
-DCMAKE_CXX_FLAGS="$CXX_FLAGS"
|
||||
-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/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"
|
890
CMakeLists.txt
890
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
17
Credits.txt
17
Credits.txt
|
@ -1,17 +1,15 @@
|
|||
<Engine and Tools>
|
||||
Sven Eberhardt (Sven2)
|
||||
Armin Burgmeier (Clonk-Karl)
|
||||
Günther Brammer (Günther)
|
||||
Nicolas Hake (Isilkor)
|
||||
Armin Burgmeier (Clonk-Karl)
|
||||
Lukas Werling (Luchs)
|
||||
Martin Plicht (Mortimer)
|
||||
Julius Michaelis (JCaesar)
|
||||
Peter Wortmann (PeterW)
|
||||
Julius Michaelis (Caesar)
|
||||
|
||||
<Scripting and Content>
|
||||
Maikel de Vries (Maikel)
|
||||
David Dormagen (Zapper)
|
||||
Mark Haßelbusch (Marky)
|
||||
Felix Wagner (Clonkonaut)
|
||||
Bernhard Bonigl (Boni)
|
||||
|
||||
|
@ -28,8 +26,11 @@ Martin Strohmeier (K-Pone)
|
|||
<Administration>
|
||||
Tobias Zwick (Newton)
|
||||
|
||||
<Thanks to our package maintainers>
|
||||
Benedict Etzel (B_E), Philipp Kern (pkern), Kevin Zheng and more
|
||||
|
||||
<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
|
||||
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.
|
||||
Martin Adam (Win), Florian Graier (Nachtfalter), Mark Haßelbusch (Marky), Merten Ehmig (pluto), Benjamin Herr (Loriel), Armin Schäfer, Pyrit, Philip Holzmann (Batman), Alexander Semeniuk (AlteredARMOR), Andriel, Peewee, Oliver Schneider (ker), Fabian Pietsch, Manuel Rieke (MrBeast), Felix Riese (Fungiform), Carl-Philip Hänsch (Carli), Sebastian Rühl, Gurkenglas and many more:
|
||||
Luchs, Asmageddon, mizipzor, Tim Blume, Apfelclonk, Sven-Hendrik Haase, Lauri Niskanen (Ape), Daniel Theuke (ST-DDT), Russell, Stan, TomyLobo, Clonkine, Koronis, Johannes Nixdorf (mixi), grgecko, Dominik Bayerl, Misty de Meo, Lorenz Schwittmann, hasufell, Jan Heberer, dylanstrategie, Checkmaty, Faby
|
||||
|
||||
Also, 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.
|
||||
|
|
15
README
15
README
|
@ -17,7 +17,6 @@ Additionally, OpenClonk depends on a number of third-party libraries:
|
|||
- The OpenGL Extension Wrangler Library (http://glew.sourceforge.net/)
|
||||
- FreeALUT (https://github.com/vancegroup/freealut)
|
||||
- libogg and libvorbis (https://www.xiph.org/downloads/)
|
||||
- Qt >= 5.7 (https://www.qt.io/download-open-source/)
|
||||
|
||||
OS X Specific
|
||||
=============
|
||||
|
@ -30,13 +29,19 @@ Linux Specific
|
|||
==============
|
||||
For building OpenClonk on Linux, you need the following libraries in addition
|
||||
to the ones listed above:
|
||||
- SDL 2.0 (https://www.libsdl.org/download-2.0.php)
|
||||
- GTK+ 3.4 or greater (http://www.gtk.org)
|
||||
- libGL (http://www.mesa3d.org/)
|
||||
- OpenAL Soft >= 1.13 (https://github.com/kcat/openal-soft)
|
||||
- miniupnpc (http://miniupnp.free.fr/)
|
||||
- SDL 1.2 (http://www.libsdl.org/download-1.2.php)
|
||||
- SDL_mixer 1.2 (http://www.libsdl.org/projects/SDL_mixer/release-1.2.html)
|
||||
- libupnp
|
||||
- libxrandr
|
||||
Most distributions should provide these dependencies via their packaging
|
||||
system. At least gcc-4.9 is required.
|
||||
system. For Debian based distributions, you will need these packages:
|
||||
build-essential cmake imagemagick libfreetype6-dev libgl1-mesa-dev
|
||||
libglew-dev libgtk-3-dev libjpeg-dev libpng-dev libsdl1.2-dev
|
||||
libsdl-mixer1.2-dev libupnp-dev libxrandr-dev x11proto-core-dev
|
||||
zlib1g-dev libalut0
|
||||
At least gcc-4.9 is required.
|
||||
|
||||
Windows Specific
|
||||
================
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# OpenClonk, http://www.openclonk.org
|
||||
#
|
||||
# Copyright (c) 2009-2018, The OpenClonk Team and contributors
|
||||
# Copyright (c) 2009-2015, The OpenClonk Team and contributors
|
||||
#
|
||||
# Distributed under the terms of the ISC license; see accompanying file
|
||||
# "COPYING" for details.
|
||||
|
@ -22,7 +22,7 @@ SET(C4PROJECT_URL "http://${C4PROJECT_DOMAIN}.${C4PROJECT_TLD}")
|
|||
SET(C4ENGINENAME "OpenClonk")
|
||||
SET(C4ENGINENICK "openclonk")
|
||||
|
||||
SET(C4XVER1 9)
|
||||
SET(C4XVER1 8)
|
||||
SET(C4XVER2 0)
|
||||
|
||||
# Set this variable to any string for pre-release versions, like "alpha" or
|
||||
|
|
32
appveyor.yml
32
appveyor.yml
|
@ -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
|
|
@ -1,89 +0,0 @@
|
|||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2018 Nathan Osman
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
find_package(Qt5Core REQUIRED)
|
||||
|
||||
# Retrieve the absolute path to qmake and then use that path to find
|
||||
# the windeployqt and macdeployqt binaries
|
||||
get_target_property(_qmake_executable Qt5::qmake IMPORTED_LOCATION)
|
||||
get_filename_component(_qt_bin_dir "${_qmake_executable}" DIRECTORY)
|
||||
|
||||
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${_qt_bin_dir}")
|
||||
if(WIN32 AND NOT WINDEPLOYQT_EXECUTABLE)
|
||||
message(FATAL_ERROR "windeployqt not found")
|
||||
endif()
|
||||
|
||||
find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${_qt_bin_dir}")
|
||||
if(APPLE AND NOT MACDEPLOYQT_EXECUTABLE)
|
||||
message(FATAL_ERROR "macdeployqt not found")
|
||||
endif()
|
||||
|
||||
# Add commands that copy the required Qt files to the same directory as the
|
||||
# target after being built as well as including them in final installation
|
||||
function(windeployqt target)
|
||||
|
||||
# Run windeployqt immediately after build
|
||||
add_custom_command(TARGET ${target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}" -E
|
||||
env PATH="${_qt_bin_dir}" "${WINDEPLOYQT_EXECUTABLE}"
|
||||
--verbose 0
|
||||
--no-compiler-runtime
|
||||
--no-angle
|
||||
--release-with-debug-info
|
||||
--no-translations
|
||||
\"$<TARGET_FILE:${target}>\"
|
||||
COMMENT "Deploying Qt..."
|
||||
)
|
||||
|
||||
# windeployqt doesn't work correctly with the system runtime libraries,
|
||||
# so we fall back to one of CMake's own modules for copying them over
|
||||
|
||||
# Doing this with MSVC 2015 requires CMake 3.6+
|
||||
if((MSVC_VERSION VERSION_EQUAL 1900 OR MSVC_VERSION VERSION_GREATER 1900)
|
||||
AND CMAKE_VERSION VERSION_LESS "3.6")
|
||||
message(WARNING "Deploying with MSVC 2015+ requires CMake 3.6+")
|
||||
endif()
|
||||
|
||||
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
foreach(lib ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
|
||||
get_filename_component(filename "${lib}" NAME)
|
||||
add_custom_command(TARGET ${target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}" -E
|
||||
copy_if_different "${lib}" \"$<TARGET_FILE_DIR:${target}>\"
|
||||
COMMENT "Copying ${filename}..."
|
||||
)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Add commands that copy the required Qt files to the application bundle
|
||||
# represented by the target.
|
||||
function(macdeployqt target)
|
||||
add_custom_command(TARGET ${target} POST_BUILD
|
||||
COMMAND "${MACDEPLOYQT_EXECUTABLE}"
|
||||
\"$<TARGET_FILE_DIR:${target}>/../..\"
|
||||
-always-overwrite
|
||||
COMMENT "Deploying Qt..."
|
||||
)
|
||||
endfunction()
|
||||
|
||||
mark_as_advanced(WINDEPLOYQT_EXECUTABLE MACDEPLOYQT_EXECUTABLE)
|
|
@ -95,7 +95,7 @@ else()
|
|||
if (NOT HAVE_ALEXT)
|
||||
message(STATUS "Warning: Found OpenAL but no extensions (alext.h). Sound modifiers will be disabled.")
|
||||
endif()
|
||||
elseif(SDL2Mixer_FOUND)
|
||||
elseif(SDLMixer_FOUND)
|
||||
set(Audio_TK "SDL_Mixer")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# OpenClonk, http://www.openclonk.org
|
||||
#
|
||||
# Copyright (c) 2011-2017, The OpenClonk Team and contributors
|
||||
# Copyright (c) 2011-2016, The OpenClonk Team and contributors
|
||||
#
|
||||
# Distributed under the terms of the ISC license; see accompanying file
|
||||
# "COPYING" for details.
|
||||
|
@ -18,23 +18,12 @@
|
|||
# DBGHELP_LIBRARIES, the libraries needed to use DbgHelp.
|
||||
# DBGHELP_FOUND, If false, do not try to use DbgHelp.
|
||||
|
||||
# MSVC knows how to find the Windows SDK on its own, and replicating that
|
||||
# in CMake is very tricky, especially with the SDK's layout changing
|
||||
# occasionally. So instead we'll just leave it to MSVC to do correctly.
|
||||
if(MSVC AND NOT DEFINED DBGHELP_INCLUDE_DIR AND NOT DEFINED DBGHELP_LIBRARY)
|
||||
set(DBGHELP_INCLUDE_DIR "")
|
||||
set(DBGHELP_LIBRARY "dbghelp")
|
||||
set(DBGHELP_FOUND TRUE)
|
||||
endif()
|
||||
find_path(DBGHELP_INCLUDE_DIR NAMES dbghelp.h PATH_SUFFIXES include)
|
||||
set(DBGHELP_NAMES ${DBGHELP_NAMES} dbghelp)
|
||||
find_library(DBGHELP_LIBRARY NAMES ${DBGHELP_NAMES})
|
||||
|
||||
if(NOT DBGHELP_FOUND)
|
||||
find_path(DBGHELP_INCLUDE_DIR NAMES dbghelp.h PATH_SUFFIXES include)
|
||||
set(DBGHELP_NAMES ${DBGHELP_NAMES} dbghelp)
|
||||
find_library(DBGHELP_LIBRARY NAMES ${DBGHELP_NAMES})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBGHELP DEFAULT_MSG DBGHELP_LIBRARY DBGHELP_INCLUDE_DIR)
|
||||
endif()
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBGHELP DEFAULT_MSG DBGHELP_LIBRARY DBGHELP_INCLUDE_DIR)
|
||||
|
||||
if(DBGHELP_FOUND)
|
||||
set(DBGHELP_LIBRARIES ${DBGHELP_LIBRARY})
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
#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 "-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 "-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 "-D${item}")
|
||||
ENDFOREACH(item)
|
||||
endif()
|
||||
GET_DIRECTORY_PROPERTY(_directory_flags INCLUDE_DIRECTORIES)
|
||||
FOREACH(item ${_directory_flags})
|
||||
LIST(APPEND _compiler_FLAGS "-I\"${item}\"")
|
||||
ENDFOREACH(item)
|
||||
GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS)
|
||||
STRING(REPLACE "\"" "\\\"" _directory_flags ${_directory_flags}) # Welcome to escape hell. Replace " with \"
|
||||
LIST(APPEND _compiler_FLAGS ${_directory_flags})
|
||||
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)
|
|
@ -28,33 +28,6 @@ function(git_get_changeset_id VAR)
|
|||
OUTPUT_VARIABLE GIT_STATUS
|
||||
)
|
||||
string(REGEX MATCH "^[MADRC ][MD ]" WORKDIR_DIRTY "${GIT_STATUS}")
|
||||
execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND "${GIT_EXECUTABLE}" "rev-parse" "--git-path" "index"
|
||||
OUTPUT_VARIABLE GIT_INDEX
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||
"${GIT_INDEX}"
|
||||
)
|
||||
execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND "${GIT_EXECUTABLE}" "show" "--format=%ci" "-s" "HEAD"
|
||||
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)
|
||||
|
@ -71,19 +44,9 @@ function(git_get_changeset_id VAR)
|
|||
string(SUBSTRING "${C4REVISION}" 6 12 C4REVISION)
|
||||
endif()
|
||||
unset(revlength)
|
||||
|
||||
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/.git_archival" C4REVISION_TS
|
||||
LIMIT_COUNT 1
|
||||
REGEX "date: .+"
|
||||
)
|
||||
string(SUBSTRING "${C4REVISION_TS}" 6 -1 GIT_TIMESTAMP)
|
||||
set(GIT_BRANCH "unknown")
|
||||
endif()
|
||||
if(WORKDIR_DIRTY)
|
||||
set(WORKDIR_DIRTY 1)
|
||||
set(C4REVISION "${C4REVISION}+")
|
||||
endif()
|
||||
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()
|
||||
|
|
|
@ -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()
|
|
@ -23,7 +23,13 @@ git_get_changeset_id(C4REVISION)
|
|||
# Get year
|
||||
############################################################################
|
||||
|
||||
STRING(TIMESTAMP C4COPYRIGHT_YEAR "%Y")
|
||||
IF(CMAKE_HOST_UNIX)
|
||||
EXECUTE_PROCESS(COMMAND "date" "+%Y" OUTPUT_VARIABLE DATE)
|
||||
ELSEIF(CMAKE_HOST_WIN32)
|
||||
EXECUTE_PROCESS(COMMAND "cscript.exe" "//nologo" "${CMAKE_CURRENT_SOURCE_DIR}/tools/get_current_year.vbs" OUTPUT_VARIABLE DATE)
|
||||
ENDIF()
|
||||
STRING(REGEX REPLACE "(.+)\n" "\\1" YEARFIXED "${DATE}")
|
||||
SET(C4COPYRIGHT_YEAR ${YEARFIXED})
|
||||
|
||||
############################################################################
|
||||
# Build version strings
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
/* Generate minidumps on crash */
|
||||
#cmakedefine HAVE_DBGHELP 1
|
||||
|
||||
/* 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
|
||||
|
@ -11,6 +11,9 @@
|
|||
/* 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 +23,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 +41,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,9 +68,15 @@
|
|||
/* 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
|
||||
|
||||
/* Define to 1 if you have the `__mingw_vasprintf' function. */
|
||||
#cmakedefine HAVE___MINGW_VASPRINTF 1
|
||||
|
||||
/* Define to 1 if you have the <X11/extensions/Xrandr.h> header file. */
|
||||
#cmakedefine HAVE_X11_EXTENSIONS_XRANDR_H 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}"
|
||||
|
|
|
@ -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 $@
|
||||
|
|
|
@ -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">
|
||||
|
@ -511,7 +516,7 @@
|
|||
<xsl:template name="color2">
|
||||
<xsl:param name="s" select="." />
|
||||
<!-- the list of keywords -->
|
||||
<xsl:param name="t" select="'#include|#appendto|#warning|public|private|protected|global|static|var|local|const|any|int|bool|def|effect|object|proplist|string|array|func|return|if|else|break|continue|while|for|new|true|false|nil|'" />
|
||||
<xsl:param name="t" select="'#include|#appendto|public|private|protected|global|static|var|local|const|any|int|bool|def|effect|object|proplist|string|array|func|return|if|else|break|continue|while|for|true|false|nil|'" />
|
||||
<xsl:param name="w" select="substring-before($t, '|')" />
|
||||
<!-- text before the keyword -->
|
||||
<xsl:variable name="l" select="substring-before($s, $w)" />
|
||||
|
|
2102
docs/de.po
2102
docs/de.po
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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="
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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://<<em>Address</em>>/</dt>
|
||||
<dt id="clonkp">clonk://<<em>Address</em>>/</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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -60,6 +60,11 @@
|
|||
<col>Integer</col>
|
||||
<col>Weight of the object. Rock 10, clonk 50, hut 1000, castle 10000.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Components</literal_col>
|
||||
<col>ID list</col>
|
||||
<col>Elements from which the object is composed. Uncompleted or half grown objects will only have the respective fraction of the components.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>SolidMask</literal_col>
|
||||
<col>6 integers</col>
|
||||
|
@ -110,6 +115,11 @@
|
|||
<col>4 integers</col>
|
||||
<col>Position of the intake region relative to the object centre.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>FireTop</literal_col>
|
||||
<col>Integer</col>
|
||||
<col>Flame distance to the object's bottom line.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Exclusive</literal_col>
|
||||
<col>Integer</col>
|
||||
|
@ -175,6 +185,11 @@
|
|||
<col>Integer</col>
|
||||
<col>0 or 1. The object can be scaled over 100% using DoCon.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>AttractLightning</literal_col>
|
||||
<col>Integer</col>
|
||||
<col>0 or 1. The object attracts lightning.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Fragile</literal_col>
|
||||
<col>Integer</col>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -14,6 +14,6 @@
|
|||
<text>This script turns all rotatable objects upside down.</text>
|
||||
<h id="ocf_fns">OCF Constants</h>
|
||||
<text>The following OCFs are defined in C4Script:</text>
|
||||
<text><funclink>OCF_Alive</funclink>, <funclink>OCF_Available</funclink>, <funclink>OCF_Chop</funclink>, <funclink>OCF_Collectible</funclink>, <funclink>OCF_Collection</funclink>, <funclink>OCF_Construct</funclink>, <funclink>OCF_Container</funclink>, <funclink>OCF_CrewMember</funclink>, <funclink>OCF_Entrance</funclink>, <funclink>OCF_Exclusive</funclink>, <funclink>OCF_Fullcon</funclink>, <funclink>OCF_Grab</funclink>, <funclink>OCF_HitSpeed1</funclink>, <funclink>OCF_HitSpeed2</funclink>, <funclink>OCF_HitSpeed3</funclink>, <funclink>OCF_HitSpeed4</funclink>, <funclink>OCF_Inflammable</funclink>, <funclink>OCF_InFree</funclink>, <funclink>OCF_InLiquid</funclink>, <funclink>OCF_InSolid</funclink>, <funclink>OCF_Living</funclink>, <funclink>OCF_NotContained</funclink>, <funclink>OCF_OnFire</funclink>, <funclink>OCF_Rotate</funclink></text>
|
||||
<text><funclink>OCF_Alive</funclink>, <funclink>OCF_AttractLightning</funclink>, <funclink>OCF_Available</funclink>, <funclink>OCF_Chop</funclink>, <funclink>OCF_Collectible</funclink>, <funclink>OCF_Collection</funclink>, <funclink>OCF_Construct</funclink>, <funclink>OCF_Container</funclink>, <funclink>OCF_CrewMember</funclink>, <funclink>OCF_Entrance</funclink>, <funclink>OCF_Exclusive</funclink>, <funclink>OCF_Fullcon</funclink>, <funclink>OCF_Grab</funclink>, <funclink>OCF_HitSpeed1</funclink>, <funclink>OCF_HitSpeed2</funclink>, <funclink>OCF_HitSpeed3</funclink>, <funclink>OCF_HitSpeed4</funclink>, <funclink>OCF_Inflammable</funclink>, <funclink>OCF_InFree</funclink>, <funclink>OCF_InLiquid</funclink>, <funclink>OCF_InSolid</funclink>, <funclink>OCF_Living</funclink>, <funclink>OCF_NotContained</funclink>, <funclink>OCF_OnFire</funclink>, <funclink>OCF_Rotate</funclink></text>
|
||||
<author>Sven2</author><date>2002-05</date>
|
||||
</doc>
|
||||
|
|
|
@ -168,17 +168,7 @@ Stand = {
|
|||
<row>
|
||||
<literal_col>ContactIncinerate</literal_col>
|
||||
<col>Integer</col>
|
||||
<col>Probability of incineration by contact: 0 none, or 1 (high) to 5 (low). Implies MaterialIncinerate.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>MaterialIncinerate</literal_col>
|
||||
<col>bool</col>
|
||||
<col>Incineration when submerged in incendiary material.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>FireproofContainer</literal_col>
|
||||
<col>bool</col>
|
||||
<col>Anything contained in this object does not catch fire when submerged in incendiary material.</col>
|
||||
<col>Probability of incineration by contact: 0 none, or 1 (high) to 5 (low).</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>EditCursorCommands</literal_col>
|
||||
|
|
|
@ -347,6 +347,16 @@
|
|||
<literal_col>OnCompletionChange</literal_col>
|
||||
<col>int old_con, int new_con</col>
|
||||
<col>Callback in when the completion of the object has changed (see <funclink>GetCon</funclink>, <funclink>DoCon</funclink> and <funclink>SetCon</funclink>).</col>
|
||||
</row>
|
||||
<row id="EditCursorSelection">
|
||||
<literal_col>EditCursorSelection</literal_col>
|
||||
<col></col>
|
||||
<col>When object is selected in editor. Use this callback to display extra information for scenario designers.</col>
|
||||
</row>
|
||||
<row id="EditCursorDeselection">
|
||||
<literal_col>EditCursorDeselection</literal_col>
|
||||
<col>object next_selection</col>
|
||||
<col>When object is deselected in editor. Use this callback to hide any information previously shown in EditCursorSelection. If deselection happens due to another object being selected, that object is passed in next_selection.</col>
|
||||
</row>
|
||||
<row id="EditCursorMoved">
|
||||
<literal_col>EditCursorMoved</literal_col>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -39,32 +39,32 @@
|
|||
<row>
|
||||
<literal_col>Global</literal_col>
|
||||
<col>Boolean</col>
|
||||
<col>If true this is a global definition, i.e. not assigned to a particular player. See <emlink href="playercontrols.html#Globals">Global definitions</emlink>.</col>
|
||||
<col>If true this is a global definition, i.e. not assigned to a particular player. See <emlink href="playercontrols.xml#Globals">Global definitions</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Hold</literal_col>
|
||||
<col>Boolean</col>
|
||||
<col>If true this command is interpreted as a held command. Such a command remembers whether the control key is pressed and generates another scripting event when it is released. See <emlink href="playercontrols.html#Hold">Held keys</emlink>.</col>
|
||||
<col>If true this command is interpreted as a held command. Such a command remembers whether the control key is pressed and generates another scripting event when it is released. See <emlink href="playercontrols.xml#Hold">Held keys</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>RepeatDelay</literal_col>
|
||||
<col>Integer</col>
|
||||
<col>Only valid if <em>Hold</em> is true. If greater than 0 then this key generates additional scripting events while pressed every that many number of frames. See <emlink href="playercontrols.html#Repeat">Key repeats</emlink>.</col>
|
||||
<col>Only valid if <em>Hold</em> is true. If greater than 0 then this key generates additional scripting events while pressed every that many number of frames. See <emlink href="playercontrols.xml#Repeat">Key repeats</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>InitialRepeatDelay</literal_col>
|
||||
<col>Integer</col>
|
||||
<col>If specified then the delay of the first key repeat event can be changed. See <emlink href="playercontrols.html#Repeat">Key repeats</emlink>.</col>
|
||||
<col>If specified then the delay of the first key repeat event can be changed. See <emlink href="playercontrols.xml#Repeat">Key repeats</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>DefaultDisabled</literal_col>
|
||||
<col>Boolean</col>
|
||||
<col>If true then the command is deactivated in the normal case and needs to be activated by script first. This is useful for commands that are only required in special situations. See <emlink href="playercontrols.html#Deactivate">Deactivated commands</emlink>.</col>
|
||||
<col>If true then the command is deactivated in the normal case and needs to be activated by script first. This is useful for commands that are only required in special situations. See <emlink href="playercontrols.xml#Deactivate">Deactivated commands</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>ExtraData</literal_col>
|
||||
<col>C4ID</col>
|
||||
<col>Optional ID that is passed to the script function. See <emlink href="playercontrols.html#ExtraData">ExtraData</emlink>.</col>
|
||||
<col>Optional ID that is passed to the script function. See <emlink href="playercontrols.xml#ExtraData">ExtraData</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>CoordinateSpace</literal_col>
|
||||
|
@ -94,7 +94,7 @@
|
|||
</row>
|
||||
<row>
|
||||
<literal_col>Script</literal_col>
|
||||
<col>Execution of the script function <em>PlayerControl</em>. See <emlink href="playercontrols.html#Script">Script callbacks</emlink>. (Default value)</col>
|
||||
<col>Execution of the script function <em>PlayerControl</em>. See <emlink href="playercontrols.xml#Script">Script callbacks</emlink>. (Default value)</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>ZoomIn</literal_col>
|
||||
|
@ -184,17 +184,17 @@
|
|||
<row>
|
||||
<literal_col>Key</literal_col>
|
||||
<col>String</col>
|
||||
<col>Specifies the key(s) of this mapping or a reference to another mapping. See <emlink href="playercontrols.html#Keys">Key mappings</emlink>.</col>
|
||||
<col>Specifies the key(s) of this mapping or a reference to another mapping. See <emlink href="playercontrols.xml#Keys">Key mappings</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>ComboIsSequence</literal_col>
|
||||
<col>Boolean</col>
|
||||
<col>If true then multiple keys are taken as a sequence, i.e. they need to be pressed one after the other instead of all at the same time. See <emlink href="playercontrols.html#Keys">Key mappings</emlink>.</col>
|
||||
<col>If true then multiple keys are taken as a sequence, i.e. they need to be pressed one after the other instead of all at the same time. See <emlink href="playercontrols.xml#Keys">Key mappings</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Control</literal_col>
|
||||
<col>String</col>
|
||||
<col>Command that is combined with this mapping. The name should be equivalent to the <em>Identifier</em> of a command defined in a <emlink href="playercontrols.html#ControlDef">[ControlDef]</emlink>.</col>
|
||||
<col>Command that is combined with this mapping. The name should be equivalent to the <em>Identifier</em> of a command defined in a <emlink href="playercontrols.xml#ControlDef">[ControlDef]</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>GUIName</literal_col>
|
||||
|
@ -239,11 +239,11 @@
|
|||
</row>
|
||||
<row>
|
||||
<literal_col>Hold</literal_col>
|
||||
<col>The key changes the state of the command linked to to be held even if the key itself is pressed only shortly. Only valid if the <em>Hold</em> attribute is set for the command. This state remains until a corresponding mapping with trigger mode <em>Release</em> is being pressed. See <emlink href="playercontrols.html#Hold">Held keys</emlink>.</col>
|
||||
<col>The key changes the state of the command linked to to be held even if the key itself is pressed only shortly. Only valid if the <em>Hold</em> attribute is set for the command. This state remains until a corresponding mapping with trigger mode <em>Release</em> is being pressed. See <emlink href="playercontrols.xml#Hold">Held keys</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Release</literal_col>
|
||||
<col>The key removes the held state. A key can have both Hold and Release set to toggle between the two states. See <emlink href="playercontrols.html#Hold">Held keys</emlink>.</col>
|
||||
<col>The key removes the held state. A key can have both Hold and Release set to toggle between the two states. See <emlink href="playercontrols.xml#Hold">Held keys</emlink>.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>AlwaysUnhandled</literal_col>
|
||||
|
@ -351,7 +351,7 @@
|
|||
<ul>
|
||||
<li>When released they also generate <funclink>PlayerControl</funclink> calls in the script with the <em>Release</em> flag set.</li>
|
||||
<li>Mappings can emulate permanent key presses using the <em>Hold</em>/<em>Release</em> flags.</li>
|
||||
<li><emlink href="playercontrols.html#Repeat">Key repeats</emlink> are generated.</li>
|
||||
<li><emlink href="playercontrols.xml#Repeat">Key repeats</emlink> are generated.</li>
|
||||
<li>The held state of the key can be queried in the script via <funclink>GetPlayerControlState</funclink>.</li>
|
||||
<li>If the command is bound to an analog stick or trigger on a controller, every change in position causes in a call to PlayerControl() with state = CONS_Moved.</li>
|
||||
</ul>
|
||||
|
|
|
@ -68,11 +68,11 @@
|
|||
<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>
|
||||
<col>Bool</col>
|
||||
<col>bool</col>
|
||||
<col>If true and MissionAccess is set, the scenario is invisible in the scenario selection list if the player does not have the required password access.</col>
|
||||
</row>
|
||||
<row>
|
||||
|
@ -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>
|
||||
|
@ -253,7 +248,7 @@
|
|||
<row>
|
||||
<literal_col>AutoScanSideOpen</literal_col>
|
||||
<col>Integer</col>
|
||||
<col>0, 1, or 2. If 1, the left and right borders are closed if the corresponding map pixel in the left or right row has non-sky foreground or background and open otherwise. If 2, it only checks the background.</col>
|
||||
<col>0 or 1. If 1, LeftOpen and RightOpen will be set automatically depending on the landscape at game start.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>MapWidth</literal_col>
|
||||
|
@ -350,11 +345,6 @@
|
|||
<col>Integer</col>
|
||||
<col>0 or 1. If 1, all landscape chunks are drawn flat when the map is zoomed to draw the landscape. Set this while drawing a static map in console mode to fix small gaps of lower order materials hidden behind materials of chunky shape.</col>
|
||||
</row>
|
||||
<row>
|
||||
<literal_col>Secret</literal_col>
|
||||
<col>Bool</col>
|
||||
<col>Whether to hide the map from <code><funclink>NO_OWNER</funclink></code> viewports (e.g. observers not following a player in network rounds)</col>
|
||||
</row>
|
||||
</table>
|
||||
</text>
|
||||
<text>
|
||||
|
|
|
@ -9,26 +9,10 @@
|
|||
<text>With #appendto, you can modify an existing object defintion script without changing the original file. For example, a scenario could change flints to cause bigger explosions, without having to duplicate the entire flint in the scenario.</text>
|
||||
<h id="Syntax">Declaration</h>
|
||||
<code>#appendto [id]</code>
|
||||
<text>A script can append itself to one or multiple existing scripts using the <code>#appendto</code> directive. Such script needs to be placed in System.ocg directory. Functions of the same name will overload functions in the target script. The original overloaded functions can still be called using <emlink href="script/fn/inherited.html">inherited</emlink>. #included scripts are not appended with #append, but #appended scripts are included by #include.</text>
|
||||
<text>A script can append itself to one or multiple existing scripts using the <code>#appendto</code> directive. Functions of the same name will overload functions in the target script. The original overloaded functions can still be called using <emlink href="script/fn/inherited.html">inherited</emlink>. #included scripts are not appended with #append, but #appended scripts are included by #include.</text>
|
||||
<code>#appendto *</code>
|
||||
<text>Appending to <code>*</code> will append this script to all definitions.</text>
|
||||
<text>A script can contain multiple #appendto directives. It is always compiled with the original script. This is of interest whenever local variables or functions from the appended script are used.</text>
|
||||
<h id="Example">Example</h>
|
||||
<code>#appendto WindBag
|
||||
|
||||
// This function will be "overwritten" in the original windbag.
|
||||
// You can however call the original function by calling <funclink>_inherited</funclink>(...)
|
||||
// You'll find this quite often in other scenarios. Just take a look at other
|
||||
// scenarios that contain a System.ocg folder.
|
||||
func FxIntReloadTimer(object target, proplist effect)
|
||||
{
|
||||
// Make the windbag reload faster.
|
||||
var old_fill = fill_amount;
|
||||
var ret = <funclink>inherited</funclink>(target, effect, ...);
|
||||
if (fill_amount > old_fill)
|
||||
fill_amount += (fill_amount - old_fill) * 5;
|
||||
return ret;
|
||||
}</code>
|
||||
</part>
|
||||
<author>Sven2</author><date>2002-04</date>
|
||||
<author>matthes</author><date>2004-06</date>
|
||||
|
|
|
@ -1,288 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!DOCTYPE doc
|
||||
SYSTEM '../../clonk.dtd'>
|
||||
<?xml-stylesheet type="text/xsl" href="../../clonk.xsl"?>
|
||||
<doc>
|
||||
<title>Diagnostic Messages</title>
|
||||
<h>Diagnostic Messages</h>
|
||||
<part>
|
||||
<text>
|
||||
Certain constructs may be flagged by the engine as potentially
|
||||
unintended or deprecated. In these cases, the engine will, by default,
|
||||
emit a warning to the log file.
|
||||
</text>
|
||||
<text>
|
||||
On occasion, these constructs are in fact intended by the script
|
||||
author. In order to avoid unwanted warning messages hiding more important
|
||||
messages, the engine supports selectively suppressing a warning category
|
||||
for parts of a script.
|
||||
</text>
|
||||
</part>
|
||||
<part>
|
||||
<text>
|
||||
Suppression and re-enablement is handled by the <code>#warning</code>
|
||||
directive. The directive must be placed on a separate line.
|
||||
</text>
|
||||
<text>Warnings can be controlled using this syntax:</text>
|
||||
<code>#warning {enable|disable} [warning_category [warning_category...]]</code>
|
||||
<text>
|
||||
If no category is given, the engine will suppress or enable all messages,
|
||||
including those that are not enabled by default. A category remains
|
||||
disabled or enabled until the next directive that affects it, or until
|
||||
the end of the script. A script linked to via the <code>#include</code>
|
||||
or <code>#appendto</code> directives does not affect, and is itself not
|
||||
affected by, the warning settings of the current script.
|
||||
</text>
|
||||
<text>
|
||||
It is not an error to specify a category that does not exist; the
|
||||
invalid category is simply ignored. No separate warning is emitted.
|
||||
</text>
|
||||
</part>
|
||||
<part>
|
||||
<h>Warning Categories</h>
|
||||
<text>The following warning categories currently exist:</text>
|
||||
<table>
|
||||
<rowh>
|
||||
<col>Category</col>
|
||||
<col>Description</col>
|
||||
</rowh>
|
||||
<row>
|
||||
<col>invalid_escape_sequence</col>
|
||||
<col>
|
||||
<text>
|
||||
The engine found an escape sequence inside a string that it
|
||||
did not recognize.
|
||||
</text>
|
||||
<part><code>"\p"</code></part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>invalid_hex_escape</col>
|
||||
<col>
|
||||
<text>
|
||||
The engine found the start of a hexadecimal escape sequence
|
||||
inside a string, but no hexadecimal digits followed it.
|
||||
</text>
|
||||
<part><code>"\xGN"</code></part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>type_name_used_as_par_name</col>
|
||||
<col>
|
||||
<text>
|
||||
A function parameter was declared without an explicit type
|
||||
specification, but with a name that is the same as a built-in type.
|
||||
</text>
|
||||
<part><code>func f(array)</code></part>
|
||||
<text>
|
||||
This warning is not enabled by default.
|
||||
<a href="#fn1" title="The warning may be enabled by default in a future version.">¹</a>
|
||||
</text>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>empty_parameter_in_call</col>
|
||||
<col>
|
||||
<text>
|
||||
In a function call, a parameter was left empty. The engine is
|
||||
passing <code>nil</code> in its place.
|
||||
</text>
|
||||
<part><code><funclink>CreateObject</funclink>(Clonk,, 30, 100);</code></part>
|
||||
<text>
|
||||
This warning is not enabled by default.
|
||||
<a href="#fn1" title="The warning may be enabled by default in a future version.">¹</a>
|
||||
</text>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>empty_parameter_in_array</col>
|
||||
<col>
|
||||
<text>
|
||||
In an array literal, an entry was left empty. The engine is
|
||||
using <code>nil</code> in its place.
|
||||
</text>
|
||||
<part><code>[1, 2,, 3, 4]</code></part>
|
||||
<text>
|
||||
This warning is not enabled by default.
|
||||
<a href="#fn1" title="The warning may be enabled by default in a future version.">¹</a>
|
||||
</text>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>implicit_range_loop_var_decl</col>
|
||||
<col>
|
||||
<text>
|
||||
The loop variable of a for-in loop was not declared either in the
|
||||
loop header itself nor in the containing function. This is only
|
||||
accepted for backwards compatibility and may be removed in a
|
||||
future release. Explicitly declare the variable by adding the
|
||||
<code>var</code> keyword.
|
||||
</text>
|
||||
<part>
|
||||
<code>func f() {
|
||||
	for (i in [1, 2, 3]) {
|
||||
	}
|
||||
}</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>non_global_var_is_never_const</col>
|
||||
<col>
|
||||
<text>
|
||||
A variable has been declared as <code>const</code>, but is not
|
||||
global. At this time, non-global variables are always mutable.
|
||||
</text>
|
||||
<part>
|
||||
<code>const local a = {}</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>variable_shadows_variable</col>
|
||||
<col>
|
||||
<text>
|
||||
The declaration of a variable uses the same name as a variable
|
||||
in a greater scope. Changes to the shadowing variable will not
|
||||
affect the shadowed variable.
|
||||
</text>
|
||||
<part>
|
||||
<code>static foo;
|
||||
func f() {
|
||||
	var foo = 3;
|
||||
}</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>redeclaration</col>
|
||||
<col>
|
||||
<text>
|
||||
A variable has been redeclared in the same scope. Make sure
|
||||
you do not accidentally overwrite values another part of the
|
||||
code relies upon.
|
||||
</text>
|
||||
<part>
|
||||
<code>func f() {
|
||||
	var i;
|
||||
	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) {
|
||||
	i = 0;
|
||||
	if (a) {
|
||||
		var i = 1;
|
||||
	}
|
||||
	return i;
|
||||
}</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>undeclared_varargs</col>
|
||||
<col>
|
||||
<text>
|
||||
Use of <code><funclink>Par</funclink></code> inside a function
|
||||
implicitly declares it as using a variable number of arguments.
|
||||
This is not immediately obvious to callers of the function, and
|
||||
should be explicitly declared in the function signature by
|
||||
adding a final <code>...</code> parameter.
|
||||
</text>
|
||||
<part>
|
||||
<code>func f(a) {
|
||||
	return <funclink>Par</funclink>(a);
|
||||
}
|
||||
// Better:
|
||||
func g(a, ...) {
|
||||
	return <funclink>Par</funclink>(a);
|
||||
}</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>arg_count_mismatch</col>
|
||||
<col>
|
||||
<text>
|
||||
A function call passes more parameters than the function will
|
||||
accept.
|
||||
</text>
|
||||
<part>
|
||||
<code><funclink>GetDir</funclink>(0)</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>arg_type_mismatch</col>
|
||||
<col>
|
||||
<text>
|
||||
The parameter given in a function call is of a different type
|
||||
than the called function expects. The call will likely fail at
|
||||
runtime.
|
||||
</text>
|
||||
<part>
|
||||
<code><funclink>Sin</funclink>("huh?")</code>
|
||||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>empty_if</col>
|
||||
<col>
|
||||
<text>
|
||||
An <code>if</code> conditional is controlling an empty statement.
|
||||
Use the empty block <code>{}</code> if this is intentional, or
|
||||
remove the conditional entirely.
|
||||
</text>
|
||||
<part>
|
||||
<code>if (true);</code>
|
||||
</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>
|
||||
|
||||
<part>
|
||||
<h>Examples</h>
|
||||
<examples>
|
||||
<example>
|
||||
<code>func f(string s) {
|
||||
	Sin(s);	// WARNING: parameter 0 of call to 'Sin' passes string (int expected)
|
||||
#warning disable arg_type_mismatch
|
||||
	Sin(s);
|
||||
#warning enable arg_type_mismatch
|
||||
	Sin(s);	// WARNING: parameter 0 of call to 'Sin' passes string (int expected)
|
||||
}</code>
|
||||
</example>
|
||||
</examples>
|
||||
</part>
|
||||
|
||||
<a id="fn1" style="font-size: smaller; color: inherit;">¹ The warning may be enabled by default in a future version.</a>
|
||||
</doc>
|
|
@ -178,10 +178,6 @@
|
|||
<col>GUI_GridLayout</col>
|
||||
<col>The sub-windows of this window will automatically be arranged in a grid.</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>GUI_TightGridLayout</col>
|
||||
<col>Like GUI_GridLayout but might reorder items and lead to less empty space between sub-windows.</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>GUI_VerticalLayout</col>
|
||||
<col>The sub-windows of this window will automatically be arranged vertically in a list.</col>
|
||||
|
|
|
@ -292,10 +292,6 @@ Blit({Algo=MAPALGO_Scale, OffX=Wdt/2, X=-100, Op=copy_layer});
|
|||
<text>Jumbles its operand around by moving points by a randomized offset.</text>
|
||||
<text><table><rowh><col>Parameter</col><col>Default</col><col>Meaning</col></rowh>
|
||||
<row>
|
||||
<col>Op</col>
|
||||
<col></col>
|
||||
<col>Algorithms that is being manipulated.</col>
|
||||
</row><row>
|
||||
<col>Seed</col>
|
||||
<col>Random(65536)</col>
|
||||
<col>If nonzero, the offset map is generated from a fixed seed.</col>
|
||||
|
|
|
@ -38,9 +38,6 @@
|
|||
<text>Finds a random position in the shape and returns it as properties x and y in the supplied proplist. The return value indivates whether a point could be found.</text>
|
||||
<text>The parameter max_tries indicates how many times the algorithm tries to find a point within the shape. The function is guaranteed to succeed for non-empty base shapes (i.e. rectangle and circle) as well as combined shapes on a single try. However a stochastic approach is used for intersection and subtraction shapes where random points are queried from one of the sub-shapes and subsequently checked against the other sub-shapes.</text>
|
||||
<text></text>
|
||||
<code>bool GetArea();</code>
|
||||
<text>Returns the area covered by the shape in squared pixels.</text>
|
||||
<text></text>
|
||||
<code>proplist GetBoundingRectangle();</code>
|
||||
<text>Returns a rectangular shape that includes at least the whole shape used as calling context.</text>
|
||||
<text></text>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,60 +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>AddFragmentShader</title>
|
||||
<category>Global</category>
|
||||
<version>8.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
<param>
|
||||
<type>string</type>
|
||||
<name>category</name>
|
||||
<desc>
|
||||
Shader category or shader name the slices are added to. Known categories:
|
||||
<table>
|
||||
<rowh>
|
||||
<col>Category</col>
|
||||
<col>Description</col>
|
||||
</rowh>
|
||||
<row>
|
||||
<col>Common</col>
|
||||
<col>Applies to everything.</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>Object</col>
|
||||
<col>Applies to all objects and sprites.</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>Landscape</col>
|
||||
<col>Applies to the landscape.</col>
|
||||
</row>
|
||||
</table>
|
||||
</desc>
|
||||
</param>
|
||||
<param>
|
||||
<type>string</type>
|
||||
<name>shader</name>
|
||||
<desc>The GLSL shader code.</desc>
|
||||
</param>
|
||||
</params>
|
||||
</syntax>
|
||||
<desc>Adds shader slices to a category of shaders or to a single shader. Returns an identifier for removal.</desc>
|
||||
<remark>
|
||||
Consider using built-in functions such as <funclink>SetGamma</funclink>, <funclink>SetMatAdjust</funclink>, or <funclink>SetClrModulation</funclink> for changing colors instead of writing a custom shader.
|
||||
</remark>
|
||||
<examples>
|
||||
<example>
|
||||
<code>AddFragmentShader("Landscape", "slice(color+1) { fragColor.r = 1.f; }");</code>
|
||||
<text>Makes the landscape very red.</text>
|
||||
</example>
|
||||
</examples>
|
||||
<related>
|
||||
<funclink>RemoveShader</funclink>
|
||||
</related>
|
||||
</func>
|
||||
<author>Luchs</author><date>2016-10</date>
|
||||
</funcs>
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 />
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
@ -50,6 +50,7 @@
|
|||
<related>
|
||||
<funclink>Sell</funclink>
|
||||
<funclink>GetWealth</funclink>
|
||||
<funclink>GetBase</funclink>
|
||||
<funclink>FindBase</funclink>
|
||||
</related>
|
||||
</func>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue