forked from Mirrors/openclonk
Compare commits
262 Commits
Author | SHA1 | Date |
---|---|---|
gitMarky | 4a2048575f | |
David Dormagen | 765d9a24e9 | |
Philip Holzmann | a844b6fe5b | |
Lukas Werling | c9ee2c3eab | |
Lukas Werling | 319dc87eea | |
Lukas Werling | 60841c1d96 | |
isilkor | a00566ca9e | |
Nicolas Hake | a0c9bfd931 | |
Nicolas Hake | c8d22e321b | |
Lukas Werling | 918c4139e8 | |
Lukas Werling | ee35d256aa | |
Lukas Werling | 75d4ac2512 | |
Lukas Werling | f6fba582f3 | |
Linus Heckemann | c7550bd43c | |
Linus Heckemann | 69fd50bee1 | |
isilkor | ad2eddcd63 | |
Nicolas Hake | 486619b653 | |
Lukas Werling | 3a59c15250 | |
Nicolas Hake | d7ea9acfea | |
Nicolas Hake | 5cf852d8ab | |
Nicolas Hake | 0a81206b7e | |
Nicolas Hake | 31c7805f10 | |
Nicolas Hake | 15ad4fb690 | |
Nicolas Hake | 3a8830af6e | |
Nicolas Hake | 1b2f2889ad | |
Nicolas Hake | bc88820d57 | |
Nicolas Hake | 3edc6d9ead | |
Nicolas Hake | dca6d2caaf | |
Nicolas Hake | 7cd79b1eaa | |
Nicolas Hake | 3b0891ba89 | |
Nicolas Hake | b012189af4 | |
Nicolas Hake | c638647227 | |
Nicolas Hake | 8298813a90 | |
Nicolas Hake | 15f4a06cd4 | |
Nicolas Hake | b702f1583c | |
Nicolas Hake | 606ad23e02 | |
Mark | a29d6f005c | |
Mark | cd38671f61 | |
Mark | 2a045a097b | |
Mark | a8c475d212 | |
Mark | 00b1b37787 | |
Mark | 94e200f201 | |
Mark | d0756e3b1c | |
Mark | 68bb07f162 | |
Mark | 3f2ee5080d | |
Mark | 1c9164b4be | |
Mark | f5b1279cce | |
Mark | 431456d1fa | |
Mark | 8a26454f3c | |
Mark | bab1b7ee90 | |
Mark | 286d4d6a5b | |
Mark | cf7469043d | |
Mark | 36dbbd27e1 | |
Mark | c6254c2512 | |
Mark | 2ed69b96a5 | |
Mark | b73169616b | |
Mark | 6bdb4275f7 | |
Mark | d9bc1d9142 | |
Mark | 9deab8e6a9 | |
Mark | b35a58a7fc | |
Mark | ed514b7716 | |
Mark | fcf2af1937 | |
Mark | 6351fe7a66 | |
Nicolas Hake | 11cfcdd910 | |
Nicolas Hake | 5808ca8047 | |
Nicolas Hake | f90e424f4a | |
Lukas Werling | 34d89adf47 | |
Clonkonaut | c6d5c5044f | |
Lukas Werling | 952cfef497 | |
Lukas Werling | a73e5fc871 | |
Lukas Werling | ca11d86893 | |
Lukas Werling | 7273b87b01 | |
Clonkonaut | 2d3914b33b | |
Nicolas Hake | a65dd5874f | |
Nicolas Hake | ca2ba96969 | |
Nicolas Hake | 6dcaaa7af5 | |
Nicolas Hake | 9691c1e41a | |
Nicolas Hake | 354b6be1c6 | |
Julius Michaelis | 0d7738dce5 | |
Lukas Werling | 04535b5438 | |
Lukas Werling | 55c34ecbd7 | |
Lukas Werling | 7616fa81be | |
Lukas Werling | 950ad4cf2f | |
Lukas Werling | 05e3648495 | |
Lukas Werling | 82feac4ccb | |
Lukas Werling | 8aeef938fc | |
Lukas Werling | 8df71d3f32 | |
Lukas Werling | 5395a8dc84 | |
Lukas Werling | d8add861fe | |
Lukas Werling | 2fb14b026d | |
Nicolas Hake | f5988085a7 | |
Nicolas Hake | 829bb8cb28 | |
Nicolas Hake | 1cd3534740 | |
Nicolas Hake | 907c701fc6 | |
Nicolas Hake | 4c5dfac952 | |
Nicolas Hake | 5ef52f2450 | |
Nicolas Hake | 14ed608941 | |
Nicolas Hake | 7fb098c4df | |
Nicolas Hake | 1ef6b7a7fc | |
Nicolas Hake | 1bb728b047 | |
Nicolas Hake | 4c43ebf58c | |
Nicolas Hake | b82cd52765 | |
Nicolas Hake | a73c1998e4 | |
Nicolas Hake | c4f47a6329 | |
Nicolas Hake | c3ef039872 | |
Nicolas Hake | 8950db9cb4 | |
Nicolas Hake | 30aa6abb55 | |
Nicolas Hake | 05ca450111 | |
Nicolas Hake | 806357e283 | |
Nicolas Hake | 808a90e5af | |
Nicolas Hake | e024bef54b | |
Nicolas Hake | 81dff1b92a | |
Maikel de Vries | ddc68d7ad3 | |
Maikel de Vries | c3b114042d | |
Maikel de Vries | c47b790468 | |
Maikel de Vries | 7a933e81b7 | |
Maikel de Vries | 5bb9fa228a | |
Maikel de Vries | b11a25db4b | |
Maikel de Vries | 446564f703 | |
Lukas Werling | f8c0fe6f82 | |
Lukas Werling | 6d5dc2b92e | |
Martin Strohmeier | a51560ce4f | |
Romain Naour | 4ae0a92d39 | |
Romain Naour | 87b60e99f6 | |
Romain Naour | 48c38c91dc | |
Lukas Werling | 9fed69f3fa | |
Lukas Werling | 9a6772c27e | |
Maikel de Vries | 899fbaa867 | |
Maikel de Vries | a4d20d79d5 | |
Mark | 75a82e172a | |
Mark | 25d008e99d | |
Maikel de Vries | 1e060d6124 | |
Maikel de Vries | 618b4039b3 | |
Maikel de Vries | 051863db5f | |
Maikel de Vries | f4991f9705 | |
Julius Michaelis | 5e60579bd2 | |
Maikel de Vries | c00a8cf3c3 | |
Lukas Werling | d9f9a2a9a3 | |
Mark | 5dc4282b56 | |
Mark | 4212310a9f | |
Sven Eberhardt | 065c8b7d96 | |
Mark | a987f87181 | |
Nicolas Hake | 704994f1b9 | |
Mark | 75bfef6b06 | |
Mark | 1682f62df8 | |
Maikel de Vries | 82e674ddb8 | |
Maikel de Vries | a70ab8b843 | |
Maikel de Vries | 7178cf6a0a | |
Maikel de Vries | 42a62aa730 | |
Maikel de Vries | 3085bfd264 | |
Mark | b12e54ef21 | |
Lukas Werling | 1382478774 | |
Maikel de Vries | 07e66279be | |
Maikel de Vries | 816754a3de | |
Maikel de Vries | c629661af2 | |
Maikel de Vries | a28b3b9ca1 | |
Maikel de Vries | d8736a56ac | |
Maikel de Vries | 49d03e52c6 | |
Maikel de Vries | 2b9c96de30 | |
Maikel de Vries | ff21dc3cfa | |
Maikel de Vries | 330e275b3d | |
Maikel de Vries | 85f1c714f7 | |
Maikel de Vries | 7768e6c992 | |
Maikel de Vries | abfeb86e30 | |
Maikel de Vries | d7e3a4acd6 | |
Maikel de Vries | b1d1079d88 | |
Maikel de Vries | e603bce240 | |
Maikel de Vries | 2a344b4543 | |
Nicolas Hake | 18b23d3d1e | |
Nicolas Hake | b0336bc1a6 | |
Lukas Werling | 8d6090e607 | |
Nicolas Hake | c73b8b3ece | |
Lukas Werling | 99c14b5547 | |
Lukas Werling | 8e17d7fd7b | |
Lukas Werling | f4c854b651 | |
Mark | 6aa72c1bdd | |
Nicolas Hake | b12792dddb | |
Nicolas Hake | 570ba7a8ad | |
Nicolas Hake | 1dd7cbb04a | |
Lukas Werling | 69a08605cb | |
Mark | 21102bb4ef | |
Mark | 69d6b2e8d2 | |
Nicolas Hake | c39d1b8679 | |
Nicolas Hake | ae0baf587d | |
Mark | aea27f8758 | |
Clonkonaut | 4199a4060e | |
Clonkonaut | 6f521a0805 | |
Clonkonaut | 80b3a08770 | |
Clonkonaut | 4b0bca3c0d | |
Maikel de Vries | 52d8fdbafd | |
Maikel de Vries | 81b060ffb3 | |
Maikel de Vries | ffbda90130 | |
Kanibal | f24d685a47 | |
Maikel de Vries | 3da209462e | |
Maikel de Vries | 6efb292fa7 | |
Maikel de Vries | f81d41ba84 | |
Maikel de Vries | 017960cbc2 | |
Maikel de Vries | 9ffab151c6 | |
Maikel de Vries | 3808c22df4 | |
Maikel de Vries | e084947bcd | |
Maikel de Vries | d01aaa20bd | |
Maikel de Vries | b534bbb5f9 | |
Maikel de Vries | e7b4ce7bf2 | |
Maikel de Vries | 9fc94509c4 | |
Maikel de Vries | 0e535f880e | |
David Dormagen | 29a1a21526 | |
Lukas Werling | 99ef4ce853 | |
Lukas Werling | 9a5103d02c | |
Lukas Werling | ee34ac1b06 | |
Lukas Werling | 82a43b7cd9 | |
Maikel de Vries | 1748797172 | |
Maikel de Vries | 2d0221b8d0 | |
Maikel de Vries | 478a4e7f85 | |
Maikel de Vries | 03d0bb49dc | |
Maikel de Vries | e9f87ca028 | |
Maikel de Vries | 65daa55156 | |
Maikel de Vries | a2d7374302 | |
Maikel de Vries | a023b63fda | |
Maikel de Vries | f199169c8f | |
Nicolas Hake | 701adc2eae | |
Maikel de Vries | 0c12b02727 | |
Nicolas Hake | e3de9f1003 | |
Nicolas Hake | 8e57c0a9f4 | |
Maikel de Vries | 3224e2c5cd | |
Maikel de Vries | 1f1149861a | |
Lukas Werling | 4a3c9f2fc2 | |
Lukas Werling | fa3e8c2a50 | |
Lukas Werling | c0375bba72 | |
Lukas Werling | 5b21505efd | |
Lukas Werling | 55a81ea76a | |
Lukas Werling | 9855f9355e | |
Lukas Werling | 334c57f296 | |
Kevin Zheng | 0c8371f113 | |
Lukas Werling | e3017ba4ac | |
Sven Eberhardt | 9c32ee0336 | |
Sven Eberhardt | b95dd50564 | |
Mark | b0a790c747 | |
Mark | c792833d98 | |
Mark | f62050cf5b | |
Sven Eberhardt | 8a050c1ff9 | |
Sven Eberhardt | 9df7a193e4 | |
Armin Burgmeier | ef1e348442 | |
ronnystandtke | 26af088548 | |
Julius Michaelis | a130f59f54 | |
Misty De Meo | b492ae456f | |
Maikel de Vries | f9e7a983f2 | |
Maikel de Vries | 18dce041e1 | |
Lukas Werling | 08edf3bb58 | |
Maikel de Vries | 3ad91ee02b | |
Maikel de Vries | 42310548d8 | |
Maikel de Vries | e94a0b3c36 | |
Maikel de Vries | 81abbce77a | |
Lukas Werling | cd2b8370da | |
Maikel de Vries | 369e2d0b0c | |
Maikel de Vries | 1113761679 | |
Maikel de Vries | 3a866caa73 | |
Maikel de Vries | 22ca0513cc | |
Maikel de Vries | d65dd96851 | |
Lukas Werling | 8f285299d1 | |
Lukas Werling | 1f94d66000 | |
Lukas Werling | 13f082e8c8 | |
Maikel de Vries | 9e01a861ce |
|
@ -18,7 +18,7 @@ C4Version.h
|
|||
Makefile
|
||||
C4Include.h.gch
|
||||
intermediate
|
||||
build*
|
||||
/build*
|
||||
CMakeScripts
|
||||
CMakeFiles
|
||||
CMakeCache.txt
|
||||
|
@ -35,13 +35,15 @@ tests/CTestTestfile.cmake
|
|||
|
||||
# Documentation
|
||||
*.pyc
|
||||
docs/online
|
||||
docs/chm
|
||||
docs/sdk-de
|
||||
docs/sdk/content.xml
|
||||
docs/*.mo
|
||||
docs/doku.pot
|
||||
docs/Functions.txt
|
||||
node_modules
|
||||
/docs/online
|
||||
/docs/chm
|
||||
/docs/sdk-de
|
||||
/docs/sdk/content.xml
|
||||
/docs/*.mo
|
||||
/docs/doku.pot
|
||||
/docs/Functions.txt
|
||||
/docs/lunr.js
|
||||
|
||||
# Visual studio files
|
||||
openclonk.opensdf
|
||||
|
@ -82,6 +84,16 @@ 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
|
||||
|
|
35
.travis.yml
35
.travis.yml
|
@ -2,7 +2,7 @@
|
|||
|
||||
language: cpp
|
||||
dist: trusty
|
||||
sudo: required # not actually required, but the virtualization builds are more stable and have better single core performance. If in doubt, remove.
|
||||
sudo: required # for Qt libraries. Additionally, the virtualization builds are more stable and have better single core performance.
|
||||
|
||||
matrix:
|
||||
include:
|
||||
|
@ -11,7 +11,7 @@ matrix:
|
|||
addons:
|
||||
apt:
|
||||
sources: ['ubuntu-toolchain-r-test']
|
||||
packages: ['g++-4.9', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'libgtest-dev']
|
||||
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
|
||||
|
@ -22,21 +22,25 @@ matrix:
|
|||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources: ['ubuntu-toolchain-r-test']
|
||||
packages: ['g++-5', 'build-essential', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libgtest-dev']
|
||||
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=Debug
|
||||
- CXX_FLAGS="-fdiagnostics-color"
|
||||
- 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', 'cmake', 'libfreetype6-dev', 'libgl1-mesa-dev', 'libglew-dev', 'libgtk-3-dev', 'libjpeg-dev', 'libpng-dev', 'libsdl2-dev', 'libupnp-dev', 'libxrandr-dev', 'x11proto-core-dev', 'zlib1g-dev', 'libalut0', 'ninja-build', 'libc++-dev', 'libc++1', 'libgtest-dev']
|
||||
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
|
||||
|
@ -47,8 +51,12 @@ matrix:
|
|||
before_install:
|
||||
- for t in test mock; do wget https://github.com/google/google$t/archive/release-1.7.0.tar.gz -Og$t.tgz && tar xvf g$t.tgz; done
|
||||
|
||||
install:
|
||||
- '[ -e /opt/qt59/bin/qt59-env.sh ] && source /opt/qt59/bin/qt59-env.sh || echo building without Qt'
|
||||
|
||||
before_script:
|
||||
- export CXX="$CXXCOMPILER" CC="$CCOMPILER"
|
||||
- export C4REVISION_BRANCH="$TRAVIS_BRANCH"
|
||||
- >
|
||||
cmake
|
||||
-G"${BSYS/\#*/}"
|
||||
|
@ -57,9 +65,20 @@ before_script:
|
|||
-DUSE_GCC_PCH=${PCH:-off}
|
||||
-DGTEST_ROOT=$PWD/googletest-release-1.7.0
|
||||
-DGMOCK_ROOT=$PWD/googlemock-release-1.7.0
|
||||
$CMAKE_FLAGS
|
||||
.
|
||||
|
||||
script:
|
||||
- ${BSYS/*#/} all netpuncher tests aul_test
|
||||
- ./tests/tests
|
||||
# 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"
|
||||
|
|
604
CMakeLists.txt
604
CMakeLists.txt
|
@ -1,6 +1,6 @@
|
|||
# OpenClonk, http://www.openclonk.org
|
||||
#
|
||||
# Copyright (c) 2009-2016, The OpenClonk Team and contributors
|
||||
# Copyright (c) 2009-2018, The OpenClonk Team and contributors
|
||||
#
|
||||
# Distributed under the terms of the ISC license; see accompanying file
|
||||
# "COPYING" for details.
|
||||
|
@ -11,7 +11,7 @@
|
|||
# To redistribute this file separately, substitute the full license texts
|
||||
# for the above references.
|
||||
|
||||
cmake_minimum_required (VERSION 3.0.2)
|
||||
cmake_minimum_required (VERSION 3.5.1)
|
||||
|
||||
# Don't allow people to build "Release" builds because there's no reason to do that.
|
||||
# Use one of RelWithDebInfo or MinSizeRel instead.
|
||||
|
@ -23,31 +23,61 @@ if(NOT CMAKE_BUILD_TYPE)
|
|||
set(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||
endif()
|
||||
|
||||
project (openclonk CXX C)
|
||||
if(POLICY CMP0067)
|
||||
cmake_policy(SET CMP0067 NEW)
|
||||
else()
|
||||
# Wrap try_compile such that it correctly passes the standard flags to the
|
||||
# compiler on CMake versions below 3.8. Remove when you update the minimum
|
||||
# required version to 3.8 or later.
|
||||
macro(try_compile)
|
||||
set(_tc_langs)
|
||||
foreach(_tc_lang CXX C)
|
||||
if(DEFINED CMAKE_${_tc_lang}_STANDARD)
|
||||
list(APPEND _tc_langs ${_tc_lang})
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(_tc_lang ${_tc_langs})
|
||||
if (${CMAKE_${_tc_lang}_EXTENSIONS})
|
||||
set(_tc_ext EXTENSION)
|
||||
else()
|
||||
set(_tc_ext STANDARD)
|
||||
endif()
|
||||
set(_backup_${_tc_lang}_flags "${CMAKE_${_tc_lang}_FLAGS}")
|
||||
set(CMAKE_${_tc_lang}_FLAGS "${CMAKE_${_tc_lang}_FLAGS} ${CMAKE_${_tc_lang}${CMAKE_${_tc_lang}_STANDARD}_${_tc_ext}_COMPILE_OPTION}")
|
||||
endforeach()
|
||||
|
||||
# CMP0054: Only interpret if() arguments as variables or keywords when unquoted
|
||||
# (since CMake 3.1)
|
||||
if(POLICY CMP0054)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
_try_compile(${ARGN})
|
||||
|
||||
foreach(_tc_lang ${_tc_langs})
|
||||
set(CMAKE_${_tc_lang}_FLAGS "${_backup_${_tc_lang}_flags}")
|
||||
endforeach()
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
project (openclonk CXX C)
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
include(Version)
|
||||
|
||||
set(CMAKE_ADDITIONAL_DEPS_PATH "${CMAKE_CURRENT_BINARY_DIR}/deps" CACHE PATH "Additional directory to search for libraries and headers")
|
||||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_ADDITIONAL_DEPS_PATH})
|
||||
if(DEFINED CMAKE_ADDITIONAL_DEPS_PATH)
|
||||
message(WARNING "CMAKE_ADDITIONAL_DEPS_PATH is deprecated and will be removed in a future version. Set CMAKE_PREFIX_PATH instead.")
|
||||
set(CMAKE_PREFIX_PATH ${CMAKE_ADDITIONAL_DEPS_PATH})
|
||||
endif()
|
||||
|
||||
############################################################################
|
||||
# User selectable options
|
||||
############################################################################
|
||||
include(CMakeDependentOption)
|
||||
option(PROJECT_FOLDERS "Put source files into subfolders in project file" ON)
|
||||
option(DEPLOY_QT_LIBRARIES "Deploy Qt libraries to executable path" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(USE_COCOA "Use Apple Cocoa widgets." ON "APPLE" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(USE_WIN32_WINDOWS "Use Microsoft Desktop App User Interface widgets." ON "WIN32" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(USE_SDL_MAINLOOP "Use SDL to create windows etc. Qt editor." ON "NOT USE_COCOA AND NOT USE_WIN32_WINDOWS AND NOT HEADLESS_ONLY" OFF)
|
||||
option(WITH_AUTOMATIC_UPDATE "Automatic updates are downloaded from the project website." OFF)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_APPDIR_INSTALLATION "Install into an AppDir" OFF "UNIX AND NOT APPLE AND WITH_AUTOMATIC_UPDATE" ON)
|
||||
option(HEADLESS_ONLY "Only build headless parts. Somewhat reduces dependencies. (still needs libpng because that one's small and hard to remove.) Only tested with make/gcc/linux." OFF)
|
||||
option(C4GROUP_TOOL_ONLY "Only build c4group binary." OFF)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ${PROJECT_FOLDERS})
|
||||
|
||||
|
@ -56,13 +86,8 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ${PROJECT_FOLDERS})
|
|||
############################################################################
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
# Required for CMake >= 3.1.0 and Qt >= 5.7
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
CHECK_CXX_COMPILER_FLAG("-std=gnu++14" USE_GCC_STD_14)
|
||||
if(USE_GCC_STD_14)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14")
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Enable link-time code generation. We have to do this manually because while
|
||||
# there is a INTERPROCEDURAL_OPTIMIZATION cmake flag, it's only implemented
|
||||
|
@ -99,9 +124,11 @@ if(USE_GCC_STYLE_LTCG)
|
|||
|
||||
# Use GCC's ar and ranlib wrappers if necessary, because the plain ones
|
||||
# don't understand lto objects without an explicit plugin parameter
|
||||
if(CMAKE_C_COMPILER MATCHES "gcc$")
|
||||
# Note that versioned gcc executables need splitting: gcc-5 -> gcc-ar-5
|
||||
if(CMAKE_C_COMPILER MATCHES "^(.*gcc)(-[0-9.])?$")
|
||||
set(LTCG_NEEDS_AR_WRAPPER 1)
|
||||
set(LTCG_AR_WRAPPER_PREFIX "${CMAKE_C_COMPILER}")
|
||||
set(LTCG_AR_WRAPPER_PREFIX "${CMAKE_MATCH_1}")
|
||||
set(LTCG_AR_WRAPPER_SUFFIX "${CMAKE_MATCH_2}")
|
||||
elseif(CMAKE_C_COMPILER MATCHES "cc$")
|
||||
set(LTCG_NEEDS_AR_WRAPPER 1)
|
||||
set(LTCG_AR_WRAPPER_PREFIX "gcc")
|
||||
|
@ -110,12 +137,12 @@ if(USE_GCC_STYLE_LTCG)
|
|||
endif()
|
||||
|
||||
if(LTCG_NEEDS_AR_WRAPPER)
|
||||
find_program(AR_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ar")
|
||||
find_program(AR_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ar${LTCG_AR_WRAPPER_SUFFIX}")
|
||||
if (AR_WRAPPER)
|
||||
message("Using ${AR_WRAPPER} instead of ${CMAKE_AR} to support lto objects.")
|
||||
set(CMAKE_AR "${AR_WRAPPER}" CACHE FILEPATH "Path to an ar that supports lto objects." FORCE)
|
||||
endif()
|
||||
find_program(RANLIB_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ranlib")
|
||||
find_program(RANLIB_WRAPPER "${LTCG_AR_WRAPPER_PREFIX}-ranlib${LTCG_AR_WRAPPER_SUFFIX}")
|
||||
if (RANLIB_WRAPPER)
|
||||
message("Using ${RANLIB_WRAPPER} instead of ${CMAKE_RANLIB} to support lto objects.")
|
||||
set(CMAKE_RANLIB "${RANLIB_WRAPPER}" CACHE FILEPATH "Path to a ranlib that supports lto objects." FORCE)
|
||||
|
@ -141,6 +168,7 @@ if(MSVC)
|
|||
# Enable LTCG for release builds
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Ob2 /GL")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /Ob2 /GL")
|
||||
add_linker_flags(optimized MODULES exe shared FLAGS "/INCREMENTAL:NO")
|
||||
add_linker_flags(optimized MODULES exe shared static FLAGS "/LTCG:incremental")
|
||||
|
||||
# do not link the release CRT in debug builds
|
||||
|
@ -158,7 +186,7 @@ endif()
|
|||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wextra-tokens -Wpointer-arith -Wno-cast-align -Wno-reorder -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual")
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wredundant-decls -Wendif-labels -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Winit-self -Wsign-promo -Wno-reorder -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wredundant-decls -Wendif-labels -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Winit-self -Wsign-promo -Wno-reorder -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -Wformat-security")
|
||||
endif()
|
||||
|
||||
if(WIN32 AND MINGW)
|
||||
|
@ -166,10 +194,6 @@ if(WIN32 AND MINGW)
|
|||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--nxcompat -Wl,--dynamicbase")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/games/openclonk\"")
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fobjc-arc -headerpad_max_install_names")
|
||||
endif()
|
||||
|
@ -177,6 +201,12 @@ endif()
|
|||
############################################################################
|
||||
# Check for compiler quirks and features
|
||||
############################################################################
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CROSSCOMPILING)
|
||||
include(HandleGccCrossIncludePaths)
|
||||
HANDLE_GCC_CROSS_INCLUDE_PATHS(CXX c++)
|
||||
HANDLE_GCC_CROSS_INCLUDE_PATHS(C c)
|
||||
endif()
|
||||
|
||||
include(CheckCXXSourceCompiles)
|
||||
include(RequireCXXSourceCompiles)
|
||||
include(CheckCXXSymbolExists)
|
||||
|
@ -200,13 +230,9 @@ check_cxx_symbol_exists(vasprintf stdio.h HAVE_VASPRINTF)
|
|||
############################################################################
|
||||
include(CheckIncludeFileCXX)
|
||||
include(CheckIncludeFilesCXX)
|
||||
CHECK_INCLUDE_FILE_CXX(direct.h HAVE_DIRECT_H)
|
||||
CHECK_INCLUDE_FILE_CXX(io.h HAVE_IO_H)
|
||||
CHECK_INCLUDE_FILE_CXX(locale.h HAVE_LOCALE_H)
|
||||
CHECK_INCLUDE_FILE_CXX(share.h HAVE_SHARE_H)
|
||||
CHECK_INCLUDE_FILE_CXX(signal.h HAVE_SIGNAL_H)
|
||||
CHECK_INCLUDE_FILE_CXX(stdint.h HAVE_STDINT_H)
|
||||
CHECK_INCLUDE_FILE_CXX(inttypes.h HAVE_INTTYPES_H)
|
||||
CHECK_INCLUDE_FILE_CXX(sys/stat.h HAVE_SYS_STAT_H)
|
||||
CHECK_INCLUDE_FILE_CXX(sys/types.h HAVE_SYS_TYPES_H)
|
||||
CHECK_INCLUDE_FILE_CXX(unistd.h HAVE_UNISTD_H)
|
||||
|
@ -224,25 +250,30 @@ CHECK_CXX_SOURCE_COMPILES("#include <getopt.h>\nint main(int argc, char * argv[]
|
|||
# Locate libraries
|
||||
############################################################################
|
||||
SET(JPEG_NAMES ${JPEG_NAMES} libjpeg jpeg-static)
|
||||
if(NOT HEADLESS_ONLY)
|
||||
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
|
||||
find_package(Freetype REQUIRED)
|
||||
include_directories(
|
||||
${FREETYPE_INCLUDE_DIRS})
|
||||
link_directories(
|
||||
${FREETYPE_LIBRARY_DIRS})
|
||||
endif()
|
||||
find_package(JPEG REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
|
||||
# Needed for c4group
|
||||
find_package(ZLIB REQUIRED)
|
||||
include_directories(
|
||||
${JPEG_INCLUDE_DIR}
|
||||
${PNG_INCLUDE_DIR}
|
||||
${ZLIB_INCLUDE_DIR})
|
||||
if(CMAKE_SYSTEM MATCHES "Windows")
|
||||
message(STATUS "Using Win32 threading.")
|
||||
else()
|
||||
find_package("Threads" REQUIRED)
|
||||
SET(HAVE_PTHREAD ${CMAKE_USE_PTHREADS_INIT} CACHE INTERNAL "libpthread available")
|
||||
|
||||
if (NOT C4GROUP_TOOL_ONLY)
|
||||
find_package(JPEG REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
include_directories(
|
||||
${JPEG_INCLUDE_DIR}
|
||||
${PNG_INCLUDE_DIR}
|
||||
${ZLIB_INCLUDE_DIR})
|
||||
if(CMAKE_SYSTEM MATCHES "Windows")
|
||||
message(STATUS "Using Win32 threading.")
|
||||
else()
|
||||
find_package("Threads" REQUIRED)
|
||||
SET(HAVE_PTHREAD ${CMAKE_USE_PTHREADS_INIT} CACHE INTERNAL "libpthread available")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# FINDLIB works the same as find_library, but also marks the resulting var as
|
||||
|
@ -267,19 +298,20 @@ if(NOT HAVE_GETOPT_H)
|
|||
set(GETOPT_LIBRARIES getopt)
|
||||
endif()
|
||||
|
||||
# TinyXML
|
||||
find_package(TinyXML)
|
||||
if(NOT TinyXML_FOUND)
|
||||
add_subdirectory(thirdparty/tinyxml)
|
||||
set_property(TARGET tinyxml PROPERTY FOLDER "Third-party libraries")
|
||||
set(TinyXML_INCLUDE_DIRS thirdparty/tinyxml)
|
||||
set(TinyXML_LIBRARIES tinyxml)
|
||||
set(TinyXML_FOUND TRUE)
|
||||
if (NOT C4GROUP_TOOL_ONLY)
|
||||
# TinyXML
|
||||
find_package(TinyXML)
|
||||
if(NOT TinyXML_FOUND)
|
||||
add_subdirectory(thirdparty/tinyxml)
|
||||
set_property(TARGET tinyxml PROPERTY FOLDER "Third-party libraries")
|
||||
set(TinyXML_INCLUDE_DIRS thirdparty/tinyxml)
|
||||
set(TinyXML_LIBRARIES tinyxml)
|
||||
set(TinyXML_FOUND TRUE)
|
||||
endif()
|
||||
include_directories(SYSTEM ${TinyXML_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
include_directories(SYSTEM ${TinyXML_INCLUDE_DIRS})
|
||||
|
||||
if(NOT HEADLESS_ONLY)
|
||||
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
|
||||
find_package(OpenGL)
|
||||
find_package(GLEW REQUIRED)
|
||||
include_directories(${GLEW_INCLUDE_DIRS})
|
||||
|
@ -291,13 +323,26 @@ if(NOT HEADLESS_ONLY)
|
|||
CHECK_CXX_SOURCE_COMPILES("#include <GL/glew.h>\nvoid GLAPIENTRY OpenGLDebugProc(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* message, const void* userParam) {}\nint main() { GLDEBUGPROCARB proc = &OpenGLDebugProc; }" GLDEBUGPROCARB_USERPARAM_IS_CONST)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
FINDLIB(X11_LIBRARIES X11)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
if(UNIX AND NOT APPLE)
|
||||
FINDLIB(X11_LIBRARIES X11)
|
||||
|
||||
set(Backward_DIR thirdparty/backward-cpp)
|
||||
find_package(Backward)
|
||||
if(Backward_FOUND)
|
||||
set(HAVE_BACKWARD 1)
|
||||
set(Backward_DIR thirdparty/backward-cpp)
|
||||
find_package(Backward)
|
||||
if(Backward_FOUND)
|
||||
set(HAVE_BACKWARD 1)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED PROC_SELF_EXE)
|
||||
macro(FIND_PROC_SELF_EXE path)
|
||||
if(EXISTS ${path})
|
||||
set(PROC_SELF_EXE ${path} CACHE FILEPATH "Path to /proc/self/exe (Linux) or equivalent")
|
||||
endif()
|
||||
endmacro()
|
||||
FIND_PROC_SELF_EXE(/proc/self/exe) # Linux
|
||||
FIND_PROC_SELF_EXE(/proc/curproc/file) # FreeBSD
|
||||
FIND_PROC_SELF_EXE(/proc/curproc/exe) # NetBSD
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -309,71 +354,74 @@ if (WIN32)
|
|||
set(HAVE_DBGHELP ${DBGHELP_FOUND})
|
||||
endif()
|
||||
|
||||
find_package(Upnp)
|
||||
if(UPNP_FOUND)
|
||||
include_directories(SYSTEM ${UPNP_INCLUDE_DIR})
|
||||
endif()
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
find_package(Upnp)
|
||||
if(UPNP_FOUND)
|
||||
include_directories(SYSTEM ${UPNP_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
find_package(Readline)
|
||||
if(READLINE_FOUND)
|
||||
include_directories(SYSTEM ${READLINE_INCLUDE_DIR})
|
||||
endif()
|
||||
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
|
||||
find_package(Readline)
|
||||
if(READLINE_FOUND)
|
||||
include_directories(SYSTEM ${READLINE_INCLUDE_DIR})
|
||||
endif()
|
||||
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
|
||||
|
||||
find_package(GTK3 COMPONENTS gthread gio gobject glib OPTIONAL_COMPONENTS gtksourceview)
|
||||
find_package(GTK3 COMPONENTS gthread gio gobject glib OPTIONAL_COMPONENTS gtksourceview)
|
||||
|
||||
# Select an audio library
|
||||
find_package("Audio")
|
||||
if(Audio_FOUND)
|
||||
include_directories(${Audio_INCLUDE_DIRS})
|
||||
endif()
|
||||
# Select an audio library
|
||||
find_package("Audio")
|
||||
if(Audio_FOUND)
|
||||
include_directories(${Audio_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# SDL
|
||||
if(USE_SDL_MAINLOOP)
|
||||
find_package(SDL2 REQUIRED)
|
||||
else()
|
||||
# for gamepads
|
||||
find_package(SDL2)
|
||||
endif()
|
||||
set(HAVE_SDL ${SDL2_FOUND})
|
||||
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
|
||||
# SDL
|
||||
if(USE_SDL_MAINLOOP)
|
||||
find_package(SDL2 REQUIRED)
|
||||
else()
|
||||
# for gamepads
|
||||
find_package(SDL2)
|
||||
endif()
|
||||
set(HAVE_SDL ${SDL2_FOUND})
|
||||
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
|
||||
|
||||
# Qt5 for editor
|
||||
find_path(Qt5DIR qt.pro PATHS ${CMAKE_ADDITIONAL_DEPS_PATH}/qt-5.5.0)
|
||||
find_package(Qt5Widgets 5.4 PATHS ${Qt5DIR}/qtbase/lib/cmake/Qt5Widgets)
|
||||
if(Qt5Widgets_FOUND)
|
||||
SET(WITH_QT_EDITOR ${Qt5Widgets_FOUND} "Qt editor dialogues available")
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
# As moc files are generated in the binary dir, tell CMake
|
||||
# to always look for includes there:
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
else()
|
||||
message("Qt5Widgets not found. Building openclonk without editor.")
|
||||
UNSET(WITH_QT_EDITOR)
|
||||
# Qt5 for editor
|
||||
find_package(Qt5 5.4 CONFIG COMPONENTS Core Widgets)
|
||||
if(TARGET Qt5::Core)
|
||||
SET(WITH_QT_EDITOR ON "Qt editor dialogues available")
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
# As moc files are generated in the binary dir, tell CMake
|
||||
# to always look for includes there:
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
else()
|
||||
message("Qt5Widgets not found. Building openclonk without editor.")
|
||||
UNSET(WITH_QT_EDITOR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
############################################################################
|
||||
# generated source files
|
||||
############################################################################
|
||||
find_program(GLIB_COMPILE_RESOURCES glib-compile-resources)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
find_program(GLIB_COMPILE_RESOURCES glib-compile-resources)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT mape-resource.c
|
||||
COMMAND
|
||||
${GLIB_COMPILE_RESOURCES} "--internal" "--generate"
|
||||
"--target" "mape-resource.c"
|
||||
"--sourcedir" ${CMAKE_CURRENT_SOURCE_DIR}/src/res
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/res/mape.xml"
|
||||
MAIN_DEPENDENCY src/res/mape.xml
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT mape-resource.c
|
||||
COMMAND
|
||||
${GLIB_COMPILE_RESOURCES} "--internal" "--generate"
|
||||
"--target" "mape-resource.c"
|
||||
"--sourcedir" ${CMAKE_CURRENT_SOURCE_DIR}/src/res
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/res/mape.xml"
|
||||
MAIN_DEPENDENCY src/res/mape.xml
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico
|
||||
VERBATIM
|
||||
)
|
||||
endif()
|
||||
|
||||
############################################################################
|
||||
# Mac OS bundle setup
|
||||
|
@ -973,7 +1021,7 @@ include_directories(SYSTEM
|
|||
############################################################################
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
|
||||
add_library(libmisc
|
||||
add_library(libmisc STATIC
|
||||
src/C4Include.cpp
|
||||
src/c4group/C4Group.cpp
|
||||
src/c4group/C4Group.h
|
||||
|
@ -1038,7 +1086,7 @@ if(UNIX AND NOT APPLE)
|
|||
target_link_libraries(libmisc rt)
|
||||
endif()
|
||||
|
||||
add_library(libc4script
|
||||
add_library(libc4script STATIC
|
||||
src/C4Include.cpp
|
||||
src/c4group/C4ComponentHost.cpp
|
||||
src/c4group/C4ComponentHost.h
|
||||
|
@ -1072,6 +1120,8 @@ src/script/C4PropList.h
|
|||
src/script/C4Script.cpp
|
||||
src/script/C4ScriptHost.cpp
|
||||
src/script/C4ScriptHost.h
|
||||
src/script/C4ScriptLibraries.cpp
|
||||
src/script/C4ScriptLibraries.h
|
||||
src/script/C4StringTable.cpp
|
||||
src/script/C4StringTable.h
|
||||
src/script/C4Value.cpp
|
||||
|
@ -1081,10 +1131,11 @@ src/script/C4ValueArray.h
|
|||
src/script/C4ValueMap.cpp
|
||||
src/script/C4ValueMap.h
|
||||
)
|
||||
add_subdirectory(thirdparty/blake2)
|
||||
set_property(TARGET blake2 PROPERTY FOLDER "Third-party libraries")
|
||||
target_link_libraries(libc4script blake2 libmisc)
|
||||
|
||||
target_link_libraries(libc4script libmisc)
|
||||
|
||||
add_library(libopenclonk
|
||||
add_library(libopenclonk STATIC
|
||||
src/c4group/C4Extra.cpp
|
||||
src/c4group/C4Extra.h
|
||||
src/control/C4PlayerInfoConflicts.cpp
|
||||
|
@ -1154,7 +1205,7 @@ target_link_libraries(c4script
|
|||
${GETOPT_LIBRARIES}
|
||||
)
|
||||
|
||||
if(NOT HEADLESS_ONLY)
|
||||
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
|
||||
add_executable(openclonk WIN32 MACOSX_BUNDLE
|
||||
${OC_SYSTEM_SOURCES}
|
||||
${OC_GUI_SOURCES}
|
||||
|
@ -1187,6 +1238,17 @@ if(NOT HEADLESS_ONLY)
|
|||
if(WITH_QT_EDITOR)
|
||||
set_target_properties(openclonk PROPERTIES COMPILE_DEFINITIONS WITH_QT_EDITOR)
|
||||
target_link_libraries(openclonk Qt5::Widgets)
|
||||
|
||||
# Deploy dependency libraries and platforms/ folder
|
||||
if(DEPLOY_QT_LIBRARIES)
|
||||
if(WIN32)
|
||||
include(DeployQt)
|
||||
windeployqt(openclonk)
|
||||
elseif(APPLE)
|
||||
include(DeployQt)
|
||||
macdeployqt(nitroshare-client)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(HAVE_BACKWARD)
|
||||
|
@ -1194,40 +1256,41 @@ if(NOT HEADLESS_ONLY)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
add_executable(openclonk-server
|
||||
${OC_SYSTEM_SOURCES}
|
||||
${OC_CLONK_SOURCES}
|
||||
src/platform/C4AppT.cpp
|
||||
src/platform/C4StdInProc.cpp
|
||||
src/platform/C4StdInProc.h
|
||||
)
|
||||
target_compile_definitions(openclonk-server PRIVATE "USE_CONSOLE")
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
add_executable(openclonk-server
|
||||
${OC_SYSTEM_SOURCES}
|
||||
${OC_CLONK_SOURCES}
|
||||
src/platform/C4AppT.cpp
|
||||
src/platform/C4StdInProc.cpp
|
||||
src/platform/C4StdInProc.h
|
||||
)
|
||||
target_compile_definitions(openclonk-server PRIVATE "USE_CONSOLE")
|
||||
|
||||
target_link_libraries(openclonk-server
|
||||
${PNG_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${EXECINFO_LIBRARY}
|
||||
${SDL2_LIBRARIES}
|
||||
${READLINE_LIBRARIES}
|
||||
${Audio_LIBRARIES}
|
||||
${GETOPT_LIBRARIES}
|
||||
${TinyXML_LIBRARIES}
|
||||
${DBGHELP_LIBRARIES}
|
||||
libmisc
|
||||
libc4script
|
||||
libopenclonk
|
||||
)
|
||||
if(UPNP_FOUND)
|
||||
target_link_libraries(openclonk-server ${UPNP_LIBRARIES})
|
||||
endif()
|
||||
if(USE_COCOA)
|
||||
target_link_libraries(openclonk-server "-framework Cocoa")
|
||||
endif()
|
||||
if(HAVE_BACKWARD)
|
||||
target_link_libraries(openclonk-server Backward::Backward)
|
||||
target_link_libraries(openclonk-server
|
||||
${PNG_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${EXECINFO_LIBRARY}
|
||||
${READLINE_LIBRARIES}
|
||||
${GETOPT_LIBRARIES}
|
||||
${TinyXML_LIBRARIES}
|
||||
${DBGHELP_LIBRARIES}
|
||||
libmisc
|
||||
libc4script
|
||||
libopenclonk
|
||||
)
|
||||
if(UPNP_FOUND)
|
||||
target_link_libraries(openclonk-server ${UPNP_LIBRARIES})
|
||||
endif()
|
||||
if(USE_COCOA)
|
||||
target_link_libraries(openclonk-server "-framework Cocoa")
|
||||
endif()
|
||||
if(HAVE_BACKWARD)
|
||||
target_link_libraries(openclonk-server Backward::Backward)
|
||||
endif()
|
||||
install(TARGETS openclonk-server DESTINATION bin)
|
||||
endif()
|
||||
|
||||
if(GTK3_FOUND AND GTK3_gtksourceview_FOUND AND NOT HEADLESS_ONLY)
|
||||
if(GTK3_FOUND AND GTK3_gtksourceview_FOUND AND NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
|
||||
add_executable(mape ${MAPE_BASE_SOURCES} ${MAPE_SOURCES})
|
||||
target_compile_options(mape PRIVATE ${GTK3_COMPILE_DEFINITIONS} ${GTK3_gtksourceview_COMPILE_DEFINITIONS})
|
||||
set_property(TARGET mape PROPERTY FOLDER "Utilities")
|
||||
|
@ -1254,17 +1317,19 @@ target_link_libraries(c4group
|
|||
libmisc
|
||||
)
|
||||
|
||||
add_executable(netpuncher EXCLUDE_FROM_ALL
|
||||
src/netpuncher/C4PuncherHash.h
|
||||
src/netpuncher/main.cpp
|
||||
)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
add_executable(netpuncher EXCLUDE_FROM_ALL
|
||||
src/netpuncher/C4PuncherHash.h
|
||||
src/netpuncher/main.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(netpuncher
|
||||
libmisc
|
||||
)
|
||||
target_link_libraries(netpuncher
|
||||
libmisc
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(libmisc iphlpapi ws2_32)
|
||||
if(WIN32)
|
||||
target_link_libraries(libmisc iphlpapi ws2_32)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:_DEBUG>)
|
||||
|
@ -1281,7 +1346,7 @@ if (APPLE AND NOT CMAKE_GENERATOR STREQUAL "Xcode")
|
|||
set(EXECUTABLE_NAME openclonk)
|
||||
endif()
|
||||
|
||||
if(NOT HEADLESS_ONLY)
|
||||
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
|
||||
set_target_properties(openclonk PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Info.plist")
|
||||
endif()
|
||||
|
||||
|
@ -1367,7 +1432,9 @@ endif()
|
|||
############################################################################
|
||||
# Miscellaneous
|
||||
############################################################################
|
||||
add_subdirectory(tests)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||
|
||||
|
@ -1391,42 +1458,33 @@ if(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015")
|
|||
)
|
||||
endif()
|
||||
|
||||
############################################################################
|
||||
# Precompiled header support, gcc part (it needs the cxx flags)
|
||||
############################################################################
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
include(GccPchSupport)
|
||||
option(USE_GCC_PCH "Use GCC precompiled headers" OFF)
|
||||
endif()
|
||||
if(USE_GCC_PCH)
|
||||
add_precompiled_header(libmisc src/C4Include.h)
|
||||
add_precompiled_header(libc4script src/C4Include.h)
|
||||
add_precompiled_header(openclonk src/C4Include.h)
|
||||
add_precompiled_header(openclonk-server src/C4Include.h)
|
||||
endif()
|
||||
|
||||
############################################################################
|
||||
# installation
|
||||
############################################################################
|
||||
# Don't allow installation for WITH_AUTOMATIC_UPDATE because otherwise
|
||||
# the installed binary wouldn't find its game data in the system data path.
|
||||
IF(WITH_AUTOMATIC_UPDATE)
|
||||
INSTALL(CODE "MESSAGE(SEND_ERROR \"Installation is only supported for WITH_AUTOMATIC_UPDATE disabled\")")
|
||||
if(WITH_APPDIR_INSTALLATION)
|
||||
INSTALL(CODE "MESSAGE(\"WITH_APPDIR_INSTALLATION is enabled, installation will create an AppDir\")")
|
||||
else()
|
||||
INSTALL(CODE "MESSAGE(SEND_ERROR \"Installation is only supported for WITH_AUTOMATIC_UPDATE disabled\")")
|
||||
endif()
|
||||
ENDIF()
|
||||
|
||||
# hack to build the data on install, see
|
||||
# http://public.kitware.com/Bug/view.php?id=8438
|
||||
add_custom_target(data)
|
||||
set_property(TARGET data PROPERTY FOLDER "Setup")
|
||||
install(
|
||||
CODE
|
||||
"execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target data
|
||||
)"
|
||||
)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
# hack to build the data on install, see
|
||||
# http://public.kitware.com/Bug/view.php?id=8438
|
||||
add_custom_target(data)
|
||||
set_property(TARGET data PROPERTY FOLDER "Setup")
|
||||
install(
|
||||
CODE
|
||||
"execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target data
|
||||
)"
|
||||
)
|
||||
endif()
|
||||
|
||||
if (NOT APPLE)
|
||||
if (NOT APPLE AND NOT C4GROUP_TOOL_ONLY)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/res/oc32.png
|
||||
DESTINATION share/icons/hicolor/32x32/apps
|
||||
|
@ -1461,78 +1519,89 @@ ENDIF()
|
|||
|
||||
# When cross-compiling, import c4group from a native build
|
||||
IF(CMAKE_CROSSCOMPILING)
|
||||
SET(IMPORT_NATIVE_TOOLS "IMPORT_NATIVE_TOOLS-NOTFOUND" CACHE FILEPATH "Export file from a native build")
|
||||
INCLUDE(${IMPORT_NATIVE_TOOLS})
|
||||
SET(native_c4group native-c4group)
|
||||
FIND_PROGRAM(C4GROUP_PATH NAMES c4group PATHS)
|
||||
|
||||
IF (NOT C4GROUP_PATH)
|
||||
SET(IMPORT_NATIVE_TOOLS "IMPORT_NATIVE_TOOLS-NOTFOUND" CACHE FILEPATH "Export file from a native build")
|
||||
INCLUDE(${IMPORT_NATIVE_TOOLS})
|
||||
SET(native_c4group native-c4group)
|
||||
ELSE()
|
||||
SET(native_c4group ${C4GROUP_PATH})
|
||||
ENDIF()
|
||||
ELSE()
|
||||
SET(native_c4group c4group)
|
||||
ENDIF()
|
||||
|
||||
# NOTE: The scripts that does the autobuilds and ultimately the automated
|
||||
# releases as well do keep their own list of group files around currently.
|
||||
# So if you change anything here, change it in the release scripts as well.
|
||||
# See openclonk-release-scripts.git/groupcontent.py
|
||||
set(OC_C4GROUPS
|
||||
Graphics.ocg
|
||||
Material.ocg
|
||||
Sound.ocg
|
||||
System.ocg
|
||||
Objects.ocd
|
||||
Decoration.ocd
|
||||
Arena.ocf
|
||||
Parkour.ocf
|
||||
Defense.ocf
|
||||
Missions.ocf
|
||||
Tutorials.ocf
|
||||
Worlds.ocf
|
||||
)
|
||||
if(APPLE)
|
||||
list(APPEND OC_C4GROUPS Music.ocg)
|
||||
endif()
|
||||
|
||||
foreach(group ${OC_C4GROUPS})
|
||||
if (APPLE)
|
||||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||
"$<TARGET_FILE:${native_c4group}>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
||||
DEPENDS "${native_c4group}"
|
||||
)
|
||||
else()
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||
"$<TARGET_FILE:${native_c4group}>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
||||
DEPENDS "${native_c4group}"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
||||
COMMAND "${native_c4group}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
|
||||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
||||
DEPENDS "${native_c4group}"
|
||||
VERBATIM
|
||||
)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
# NOTE: The scripts that does the autobuilds and ultimately the automated
|
||||
# releases as well do keep their own list of group files around currently.
|
||||
# So if you change anything here, change it in the release scripts as well.
|
||||
# See openclonk-release-scripts.git/groupcontent.py
|
||||
set(OC_C4GROUPS
|
||||
Graphics.ocg
|
||||
Material.ocg
|
||||
Sound.ocg
|
||||
System.ocg
|
||||
Objects.ocd
|
||||
Decoration.ocd
|
||||
Arena.ocf
|
||||
Parkour.ocf
|
||||
Defense.ocf
|
||||
Missions.ocf
|
||||
Tutorials.ocf
|
||||
Worlds.ocf
|
||||
)
|
||||
if(APPLE)
|
||||
list(APPEND OC_C4GROUPS Music.ocg)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
foreach(group ${OC_C4GROUPS})
|
||||
if (APPLE)
|
||||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||
"$<TARGET_FILE:${native_c4group}>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
||||
DEPENDS "${native_c4group}"
|
||||
)
|
||||
else()
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||
"$<TARGET_FILE:${native_c4group}>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
||||
DEPENDS "${native_c4group}"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
||||
COMMAND "${native_c4group}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
|
||||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
||||
DEPENDS "${native_c4group}"
|
||||
VERBATIM
|
||||
USES_TERMINAL # Hack: prevent parallel execution (for ninja), c4group tends to fail otherwise
|
||||
)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(NOT APPLE)
|
||||
if(NOT HEADLESS_ONLY)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/planet/Music.ocg DESTINATION share/games/openclonk)
|
||||
endif()
|
||||
# group files (game data)
|
||||
add_custom_target(groups DEPENDS ${OC_C4GROUPS})
|
||||
set_property(TARGET groups PROPERTY FOLDER "Setup")
|
||||
add_dependencies(data groups)
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
# group files (game data)
|
||||
add_custom_target(groups DEPENDS ${OC_C4GROUPS})
|
||||
set_property(TARGET groups PROPERTY FOLDER "Setup")
|
||||
add_dependencies(data groups)
|
||||
endif()
|
||||
# Install binaries
|
||||
install(TARGETS c4group DESTINATION bin)
|
||||
endif()
|
||||
if(NOT HEADLESS_ONLY)
|
||||
if(NOT HEADLESS_ONLY AND NOT C4GROUP_TOOL_ONLY)
|
||||
if(NOT APPLE)
|
||||
# Install new files
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION share/applications)
|
||||
|
@ -1543,7 +1612,12 @@ if(NOT HEADLESS_ONLY)
|
|||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.appdata.xml DESTINATION share/appdata)
|
||||
|
||||
# Install binaries
|
||||
install(TARGETS openclonk DESTINATION games)
|
||||
if(WITH_APPDIR_INSTALLATION)
|
||||
# AppDir expects binaries in /usr/bin
|
||||
install(TARGETS openclonk DESTINATION bin)
|
||||
else()
|
||||
install(TARGETS openclonk DESTINATION games)
|
||||
endif()
|
||||
else()
|
||||
install(TARGETS openclonk
|
||||
BUNDLE DESTINATION .
|
||||
|
@ -1558,26 +1632,28 @@ endif()
|
|||
# setup_openclonk.exe
|
||||
############################################################################
|
||||
|
||||
find_program(MAKENSIS makensis PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS])
|
||||
if(NOT C4GROUP_TOOL_ONLY)
|
||||
find_program(MAKENSIS makensis PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS])
|
||||
|
||||
if(NOT HEADLESS_ONLY)
|
||||
add_custom_command(
|
||||
OUTPUT setup_openclonk.exe
|
||||
COMMAND ${MAKENSIS} -NOCD -DSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} -DPROGRAMFILES=$PROGRAMFILES "-DPRODUCT_NAME=${C4ENGINENAME}" "-DPRODUCT_COMPANY=${C4PROJECT}" "-DCLONK=$<TARGET_FILE_DIR:openclonk>\\$<TARGET_FILE_NAME:openclonk>" "-DC4GROUP=$<TARGET_FILE_DIR:c4group>\\$<TARGET_FILE_NAME:c4group>" ${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi "-XOutFile setup_openclonk.exe"
|
||||
MAIN_DEPENDENCY
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/header.bmp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/inst.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/uninst.ico
|
||||
${OC_C4GROUPS} openclonk c4group
|
||||
VERBATIM
|
||||
)
|
||||
if(NOT HEADLESS_ONLY)
|
||||
add_custom_command(
|
||||
OUTPUT setup_openclonk.exe
|
||||
COMMAND ${MAKENSIS} -NOCD -DSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} -DPROGRAMFILES=$PROGRAMFILES "-DPRODUCT_NAME=${C4ENGINENAME}" "-DPRODUCT_COMPANY=${C4PROJECT}" "-DCLONK=$<TARGET_FILE_DIR:openclonk>\\$<TARGET_FILE_NAME:openclonk>" "-DC4GROUP=$<TARGET_FILE_DIR:c4group>\\$<TARGET_FILE_NAME:c4group>" ${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi "-XOutFile setup_openclonk.exe"
|
||||
MAIN_DEPENDENCY
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/oc.nsi
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/header.bmp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/inst.ico
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tools/install/uninst.ico
|
||||
${OC_C4GROUPS} openclonk c4group
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(setup
|
||||
DEPENDS setup_openclonk.exe groups
|
||||
)
|
||||
set_property(TARGET setup PROPERTY FOLDER "Setup")
|
||||
add_custom_target(setup
|
||||
DEPENDS setup_openclonk.exe groups
|
||||
)
|
||||
set_property(TARGET setup PROPERTY FOLDER "Setup")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
############################################################################
|
||||
|
|
17
Credits.txt
17
Credits.txt
|
@ -1,15 +1,17 @@
|
|||
<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)
|
||||
|
||||
|
@ -26,11 +28,8 @@ 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>
|
||||
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.
|
||||
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.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# OpenClonk, http://www.openclonk.org
|
||||
#
|
||||
# Copyright (c) 2009-2015, The OpenClonk Team and contributors
|
||||
# Copyright (c) 2009-2018, The OpenClonk Team and contributors
|
||||
#
|
||||
# Distributed under the terms of the ISC license; see accompanying file
|
||||
# "COPYING" for details.
|
||||
|
@ -22,9 +22,9 @@ SET(C4PROJECT_URL "http://${C4PROJECT_DOMAIN}.${C4PROJECT_TLD}")
|
|||
SET(C4ENGINENAME "OpenClonk")
|
||||
SET(C4ENGINENICK "openclonk")
|
||||
|
||||
SET(C4XVER1 8)
|
||||
SET(C4XVER1 9)
|
||||
SET(C4XVER2 0)
|
||||
|
||||
# Set this variable to any string for pre-release versions, like "alpha" or
|
||||
# "rc1". Don't supply a value (FALSE) for release versions.
|
||||
SET(C4VERSIONEXTRA "rc1")
|
||||
SET(C4VERSIONEXTRA "alpha")
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
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
|
|
@ -0,0 +1,89 @@
|
|||
# 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)
|
|
@ -1,72 +0,0 @@
|
|||
#Copied from http://www.mail-archive.com/cmake@cmake.org/msg04394.html which copied it from the rosengarden project
|
||||
#see also: http://gcc.gnu.org/onlinedocs/gcc-4.0.4/gcc/Precompiled-Headers.html
|
||||
|
||||
MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
|
||||
|
||||
# Prepare environment
|
||||
GET_FILENAME_COMPONENT(_name ${_input} NAME)
|
||||
SET(_pchdir "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${_targetName}_pch.dir")
|
||||
MAKE_DIRECTORY(${_pchdir})
|
||||
SET(_source "${CMAKE_CURRENT_SOURCE_DIR}/${_input}")
|
||||
SET(_includeput "${_pchdir}/${_name}")
|
||||
SET(_output "${_includeput}.gch")
|
||||
|
||||
# Assemble the compiler command with which future stuff will be built
|
||||
STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name) # Don't worry: CMake won't use any of the R/D/RWDI/MSR vars if the build type is not defined
|
||||
if(CMAKE_CXX_COMPILER_ARG1) # please, know what you're doing if you rely on this...
|
||||
STRING(STRIP ${CMAKE_CXX_COMPILER_ARG1} _ccache_tweak)
|
||||
SET(_ccache_tweak "\"${_ccache_tweak}\"")
|
||||
endif()
|
||||
SET(_compiler_FLAGS ${_ccache_tweak} ${CMAKE_CXX_FLAGS} ${${_flags_var_name}})
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
||||
LIST(APPEND _compiler_FLAGS "-D_DEBUG")
|
||||
endif()
|
||||
endif()
|
||||
GET_TARGET_PROPERTY(_compile_defines ${_targetName} COMPILE_DEFINITIONS)
|
||||
if(_compile_defines)
|
||||
FOREACH(item ${_compile_defines})
|
||||
STRING(REPLACE "\"" "\\\"" item ${item})
|
||||
LIST(APPEND _compiler_FLAGS "-D${item}")
|
||||
ENDFOREACH(item)
|
||||
endif()
|
||||
GET_TARGET_PROPERTY(_compile_defines ${_targetName} COMPILE_DEFINITIONS_${CMAKE_BUILD_TYPE})
|
||||
if(_compile_defines)
|
||||
FOREACH(item ${_compile_defines})
|
||||
STRING(REPLACE "\"" "\\\"" item ${item})
|
||||
LIST(APPEND _compiler_FLAGS "$<$<NOT:$<STREQUAL:,${item}>>:-D${item}>")
|
||||
ENDFOREACH(item)
|
||||
endif()
|
||||
GET_DIRECTORY_PROPERTY(_compile_defines COMPILE_DEFINITIONS)
|
||||
if(_compile_defines)
|
||||
FOREACH(item ${_compile_defines})
|
||||
STRING(REPLACE "\"" "\\\"" item ${item})
|
||||
LIST(APPEND _compiler_FLAGS "$<$<NOT:$<STREQUAL:,${item}>>:-D${item}>")
|
||||
ENDFOREACH(item)
|
||||
endif()
|
||||
GET_DIRECTORY_PROPERTY(_compile_defines COMPILE_DEFINITIONS_${CMAKE_BUILD_TYPE})
|
||||
if(_compile_defines)
|
||||
FOREACH(item ${_compile_defines})
|
||||
STRING(REPLACE "\"" "\\\"" item ${item})
|
||||
LIST(APPEND _compiler_FLAGS "$<$<NOT:$<STREQUAL:,${item}>>:-D${item}>")
|
||||
ENDFOREACH(item)
|
||||
endif()
|
||||
GET_DIRECTORY_PROPERTY(_directory_flags INCLUDE_DIRECTORIES)
|
||||
FOREACH(item ${_directory_flags})
|
||||
LIST(APPEND _compiler_FLAGS "-I\"${item}\"")
|
||||
ENDFOREACH(item)
|
||||
SEPARATE_ARGUMENTS(_compiler_FLAGS)
|
||||
list(REMOVE_DUPLICATES _compiler_FLAGS)
|
||||
# Add a target with the pch
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_output}
|
||||
COMMAND "${CMAKE_CXX_COMPILER}"
|
||||
${_compiler_FLAGS} -x c++-header -o ${_output} ${_source}
|
||||
IMPLICIT_DEPENDS CXX ${_source}
|
||||
)
|
||||
FILE(WRITE "${_pchdir}/${_name}" "#ifdef __cplusplus\n#warning Precompiled header not used. Turn off or fix!\n#endif") # This file is added so the cc-units don't stumble over not being able to include the file
|
||||
ADD_CUSTOM_TARGET(${_targetName}_pch DEPENDS ${_output})
|
||||
ADD_DEPENDENCIES(${_targetName} ${_targetName}_pch)
|
||||
SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_includeput}")
|
||||
|
||||
ENDMACRO(ADD_PRECOMPILED_HEADER)
|
|
@ -42,6 +42,19 @@ function(git_get_changeset_id VAR)
|
|||
OUTPUT_VARIABLE GIT_TIMESTAMP
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(DEFINED ENV{C4REVISION_BRANCH})
|
||||
set(GIT_BRANCH "$ENV{C4REVISION_BRANCH}")
|
||||
else()
|
||||
execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND "${GIT_EXECUTABLE}" "symbolic-ref" "--short" "HEAD"
|
||||
RESULT_VARIABLE GIT_RESULT
|
||||
OUTPUT_VARIABLE GIT_BRANCH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT GIT_RESULT EQUAL 0)
|
||||
set(GIT_BRANCH "unknown")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if (NOT C4REVISION)
|
||||
|
@ -64,6 +77,7 @@ function(git_get_changeset_id VAR)
|
|||
REGEX "date: .+"
|
||||
)
|
||||
string(SUBSTRING "${C4REVISION_TS}" 6 -1 GIT_TIMESTAMP)
|
||||
set(GIT_BRANCH "unknown")
|
||||
endif()
|
||||
if(WORKDIR_DIRTY)
|
||||
set(WORKDIR_DIRTY 1)
|
||||
|
@ -71,4 +85,5 @@ function(git_get_changeset_id VAR)
|
|||
set(${VAR} "${C4REVISION}" PARENT_SCOPE)
|
||||
set(${VAR}_DIRTY ${WORKDIR_DIRTY} PARENT_SCOPE)
|
||||
set(${VAR}_TS "${GIT_TIMESTAMP}" PARENT_SCOPE)
|
||||
set(${VAR}_BRANCH "${GIT_BRANCH}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
# 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()
|
|
@ -5,18 +5,12 @@
|
|||
/* Use backward-cpp to print stack traces on crash */
|
||||
#cmakedefine HAVE_BACKWARD 1
|
||||
|
||||
/* Define to 1 if you have the <direct.h> header file. */
|
||||
#cmakedefine HAVE_DIRECT_H 1
|
||||
|
||||
/* The backtrace function is declared in execinfo.h and works */
|
||||
#cmakedefine HAVE_EXECINFO_H 1
|
||||
|
||||
/* Define to 1 if you have the <history.h> header file. */
|
||||
#cmakedefine HAVE_HISTORY_H 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#cmakedefine HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <io.h> header file. */
|
||||
#cmakedefine HAVE_IO_H 1
|
||||
|
||||
|
@ -26,9 +20,6 @@
|
|||
/* 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
|
||||
|
||||
|
@ -44,9 +35,6 @@
|
|||
/* 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
|
||||
|
||||
|
@ -71,9 +59,6 @@
|
|||
/* 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
|
||||
|
||||
|
@ -105,12 +90,13 @@
|
|||
|
||||
/* 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
|
||||
#endif // USE_CONSOLE
|
||||
|
||||
#define AUDIO_TK_NONE 0
|
||||
#define AUDIO_TK_OPENAL 1
|
||||
|
@ -118,3 +104,13 @@
|
|||
|
||||
/* 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,6 +19,7 @@ HHC = hhc.exe
|
|||
MKDIR_P = mkdir -p
|
||||
CP = cp
|
||||
CP_R = cp -r
|
||||
NODE = node
|
||||
|
||||
stylesheet = clonk.xsl
|
||||
|
||||
|
@ -29,9 +30,10 @@ 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 *.php *.js images/*.*))
|
||||
extra-files := $(sort $(wildcard *.css *.js images/*.*) lunr.js)
|
||||
extra-files-chm := $(sort $(wildcard *.css *.js images/*.*))
|
||||
|
||||
# Targets:
|
||||
|
@ -46,15 +48,16 @@ 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)
|
||||
all: $(sdk-de-dirs) $(online-dirs) $(online-sdk-files) $(online-extra-files) $(online-index-files)
|
||||
|
||||
online-en: $(addprefix online/en/, $(sdk-dirs) images $(htmlfiles) sdk/content.html $(extra-files))
|
||||
online-en: $(addprefix online/en/, $(sdk-dirs) images $(htmlfiles) sdk/content.html $(extra-files) index.json)
|
||||
|
||||
chm: $(sdk-de-dirs) $(chm-dirs) chm/en/Developer.chm chm/de/Entwickler.chm
|
||||
|
||||
|
@ -69,23 +72,36 @@ 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) build_contents.py experimental.py
|
||||
sdk/content.xml: sdk/content.xml.in $(xmlfiles) tools/build_contents.py tools/experimental.py
|
||||
@echo generate $@
|
||||
@python2 build_contents.py $(xmlfiles)
|
||||
@python2 tools/build_contents.py $(xmlfiles)
|
||||
|
||||
chm/en/Output.hhp: $(xmlfiles) chm/en/. build_hhp.py Template.hhp
|
||||
# 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
|
||||
@echo generate $@
|
||||
@python2 build_hhp.py $@ Template.hhp $(xmlfiles)
|
||||
chm/de/Output.hhp: $(xmlfiles) chm/de/. build_hhp.py Template.de.hhp
|
||||
@python2 tools/build_hhp.py $@ Template.hhp $(xmlfiles)
|
||||
chm/de/Output.hhp: $(xmlfiles) chm/de/. tools/build_hhp.py Template.de.hhp
|
||||
@echo generate $@
|
||||
@python2 build_hhp.py $@ Template.de.hhp $(xmlfiles)
|
||||
@python2 tools/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 xml2po.py clonk.py
|
||||
doku.pot: $(xmlfiles) extra-strings.xml sdk/content.xml.in tools/xml2po.py tools/clonk.py
|
||||
@echo extract strings to $@
|
||||
@python2 xml2po.py -e -m clonk -o $@ $(xmlfiles) extra-strings.xml sdk/content.xml.in
|
||||
@python2 tools/xml2po.py -e -m clonk -o $@ $(xmlfiles) extra-strings.xml sdk/content.xml.in
|
||||
|
||||
%.po: doku.pot
|
||||
@echo update $@
|
||||
|
@ -96,9 +112,9 @@ doku.pot: $(xmlfiles) extra-strings.xml sdk/content.xml.in xml2po.py clonk.py
|
|||
@echo compile $@
|
||||
@msgfmt --statistics -o $@ $<
|
||||
|
||||
sdk-de/%.xml: sdk/%.xml de.mo xml2po.py clonk.py
|
||||
sdk-de/%.xml: sdk/%.xml de.mo tools/xml2po.py tools/clonk.py
|
||||
@echo generate $@
|
||||
@python2 xml2po.py -e -m clonk -t de.mo -o $@ $<
|
||||
@python2 tools/xml2po.py -e -m clonk -t de.mo -o $@ $<
|
||||
|
||||
define run-xslt
|
||||
@echo generate $@
|
||||
|
|
|
@ -35,7 +35,12 @@
|
|||
</title>
|
||||
</xsl:template>
|
||||
<xsl:template match="script">
|
||||
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
|
||||
<xsl:copy>
|
||||
<xsl:for-each select="@*">
|
||||
<xsl:copy />
|
||||
</xsl:for-each>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="func|const" mode="head">
|
||||
<xsl:apply-templates mode="head" />
|
||||
|
@ -349,16 +354,6 @@
|
|||
<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">
|
||||
|
|
2131
docs/de.po
2131
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,10 +243,6 @@ 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("http://www.openclonk.org/header/header.css");</style>
|
||||
<style type="text/css">@import url("https://www.openclonk.org/header/header.css");</style>
|
||||
|
||||
<div id="nav_header">
|
||||
|
||||
<div id="nav_doclangswitch">
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<div id="nav_search">
|
||||
<form action="http://www.openclonk.org/header/search.php" id="nav_searchform" method="get" target="_top"><div>
|
||||
<form action="https://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="http://www.openclonk.org/" target="_top"><img src="http://www.openclonk.org/header/logo.png" width="450" height="94" alt="OpenClonk"/></a>
|
||||
<a href="https://www.openclonk.org/" target="_top"><img src="https://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="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>
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"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="
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"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">clonk://<<em>Address</em>>/</dt>
|
||||
<dt id="clonkp">[open]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,6 +211,10 @@
|
|||
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,11 +60,6 @@
|
|||
<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>
|
||||
|
|
|
@ -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</dt>
|
||||
<dt id="Graphicspng"><img height="16" src="../../images/icon_image.png" width="16"/>Graphics.png/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).</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). An optional zoom factor for high-resolution graphics can be provided in the '*'-portion of the name.</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</dt>
|
||||
<dt id="Graphicsex"><img height="16" src="../../images/icon_image.png" width="16"/>Graphics*.png/Overlay*.png (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>
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
<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, bit 3 (8): calculate texture based on gray scale.</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>
|
||||
</row>
|
||||
<row>
|
||||
<col>PXSGfx</col>
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
<row>
|
||||
<col>MissionAccess</col>
|
||||
<col>String</col>
|
||||
<col>The scenario will only load if the player gained this password in another scenario. See script function <funclink>GainMissionAccess</funclink>().</col>
|
||||
<col>The scenario will only load if the player gained this password in another scenario. See script function <funclink>GainScenarioAccess</funclink>().</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>Secret</col>
|
||||
|
@ -122,9 +122,14 @@
|
|||
</row>
|
||||
<row>
|
||||
<col>FoWEnabled</col>
|
||||
<col>Integer</col>
|
||||
<col>Bool</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>
|
||||
|
|
|
@ -166,6 +166,25 @@ func f() {
|
|||
<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>
|
||||
|
@ -229,6 +248,24 @@ func g(a, ...) {
|
|||
</part>
|
||||
</col>
|
||||
</row>
|
||||
<row>
|
||||
<col>suspicious_assignment</col>
|
||||
<col>
|
||||
<text>
|
||||
An assignment was found where an expression was expected. While
|
||||
an assignment returns its own value, usually a comparison was
|
||||
intended instead.
|
||||
</text>
|
||||
<part>
|
||||
<code>if (a = b + 1) { /* Do something */}</code>
|
||||
</part>
|
||||
<text>
|
||||
If the assignment is intentional, make this more obvious by
|
||||
extracting it to a separate statement, or explicitly handle the
|
||||
boolean conversion by adding a comparison operator.
|
||||
</text>
|
||||
</col>
|
||||
</row>
|
||||
</table>
|
||||
</part>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Abs</title>
|
||||
<category>Arithmetics</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>AbsX</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Position</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>AbsY</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Position</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>ActIdle</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Activity</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>AddEffect</title>
|
||||
<category>Effects</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<deprecated />
|
||||
<syntax>
|
||||
<rtype>proplist</rtype>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>AddMenuItem</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Menu</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>AddMsgBoardCmd</title>
|
||||
<category>Interface</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>AddVertex</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Vertices</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Angle</title>
|
||||
<category>Arithmetics</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_AbsX</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_AbsY</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_Action</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params />
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_Const</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_Dist</title>
|
||||
<category>Animations</category>
|
||||
<version>5.6 OC</version>
|
||||
<version>6.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_Linear</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_R</title>
|
||||
<category>Animations</category>
|
||||
<version>5.3 OC</version>
|
||||
<version>3.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_X</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_XDir</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_Y</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>Anim_YDir</title>
|
||||
<category>Animations</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>array</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>AppendCommand</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Commands</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>ArcCos</title>
|
||||
<category>Arithmetics</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>ArcSin</title>
|
||||
<category>Arithmetics</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>AttachMesh</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Display</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>BlastFree</title>
|
||||
<category>Landscape</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>BlastObjects</title>
|
||||
<category>Objects</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>BoundBy</title>
|
||||
<category>Arithmetics</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>Bubble</title>
|
||||
<category>Environment</category>
|
||||
<subcat>Effects</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>Buy</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Creation</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>object</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>C4D_All</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Category</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.2 OC</version>
|
||||
<version>2.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 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>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax><rtype>int</rtype></syntax>
|
||||
<desc>Movement direction: up. For more information see <funclink>SetComDir</funclink>.</desc>
|
||||
<examples>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>COMD_UpLeft</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Movement</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax><rtype>int</rtype></syntax>
|
||||
<desc>Movement direction: diagonally up and to the left. For more information see <funclink>SetComDir</funclink>.</desc>
|
||||
<examples>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>COMD_UpRight</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Movement</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax><rtype>int</rtype></syntax>
|
||||
<desc>Movement direction: diagonally up and to the right. For more information see <funclink>SetComDir</funclink>.</desc>
|
||||
<examples>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>Call</title>
|
||||
<category>Script</category>
|
||||
<subcat>Function call</subcat>
|
||||
<version>5.1 OC<extversion>5.4 OC</extversion></version>
|
||||
<version>1.0 OC<extversion>4.0 OC</extversion></version>
|
||||
<syntax>
|
||||
<rtype>any</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>CanConcatPictureWith</title>
|
||||
<category>Objects</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>CanInsertMaterial</title>
|
||||
<category>Landscape</category>
|
||||
<subcat>Material</subcat>
|
||||
<version>5.4 OC</version>
|
||||
<version>4.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>CastObjects</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Creation</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>CastPXS</title>
|
||||
<category>Landscape</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>ChangeDef</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Status</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>CheckConstructionSite</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Creation</subcat>
|
||||
<version>5.2 OC</version>
|
||||
<version>2.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>CheckEffect</title>
|
||||
<category>Effects</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>int</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>CheckVisibility</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Visibility</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>ClearFreeRect</title>
|
||||
<category>Landscape</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>void</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>ClearMenuItems</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Menu</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax><rtype>int</rtype></syntax>
|
||||
<desc>Removes all entries from a menu.</desc>
|
||||
<examples>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>ClearParticles</title>
|
||||
<category>Particles</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
</syntax>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<func>
|
||||
<title>ClearScheduleCall</title>
|
||||
<category>Script</category>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>CloseMenu</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Menu</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax><rtype>bool</rtype></syntax>
|
||||
<desc>Closes the menu of the calling object.</desc>
|
||||
<examples>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>Collect</title>
|
||||
<category>Objects</category>
|
||||
<subcat>Contents</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>bool</rtype>
|
||||
<params>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<title>Construction</title>
|
||||
<category>Callbacks</category>
|
||||
<subcat>Objects</subcat>
|
||||
<version>5.1 OC</version>
|
||||
<version>1.0 OC</version>
|
||||
<syntax>
|
||||
<rtype>any</rtype>
|
||||
<params>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue