From 86563cc3742ea17efe5e7b4fbe63366da1af525c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Sat, 12 Dec 2015 17:57:44 +0100 Subject: [PATCH] Import first batch of pages --- .gitignore | 1 + Makefile | 17 +- README.md | 3 + advanced_topics/batch_building_templates.rst | 171 ++++++ advanced_topics/binary_serialization_api.rst | 491 ++++++++++++++++++ advanced_topics/changing_editor_fonts.rst | 11 + advanced_topics/command_line_tutorial.rst | 145 ++++++ advanced_topics/compiling.rst | 21 + advanced_topics/compiling_for_android.rst | 224 ++++++++ advanced_topics/compiling_for_ios.rst | 44 ++ advanced_topics/compiling_for_linux.rst | 102 ++++ advanced_topics/compiling_for_osx.rst | 63 +++ .../compiling_for_universal_windows_apps.rst | 148 ++++++ advanced_topics/compiling_for_windows.rst | 151 ++++++ advanced_topics/configure_your_ide.rst | 11 + advanced_topics/core_types.rst | 231 ++++++++ advanced_topics/creating_android_modules.rst | 354 +++++++++++++ .../cross-compiling_for_ios_on_linux.rst | 157 ++++++ advanced_topics/custom_modules_in_c++.rst | 258 +++++++++ advanced_topics/developing.rst | 13 + advanced_topics/formats.rst | 8 + advanced_topics/index.rst | 11 + .../introduction_to_godot_development.rst | 13 + .../introduction_to_the_buildsystem.rst | 218 ++++++++ advanced_topics/misc.rst | 11 + advanced_topics/object_class.rst | 369 +++++++++++++ advanced_topics/services_for_ios.rst | 434 ++++++++++++++++ advanced_topics/variant_class.rst | 60 +++ asset_pipeline/general.rst | 8 + asset_pipeline/index.rst | 8 + asset_pipeline/managing_image_files.rst | 113 ++++ classes/class_dictionary.rst | 82 +++ conf.py | 251 ++------- img/andtemplates.png | Bin 0 -> 66910 bytes img/fixedborder.png | Bin 0 -> 10334 bytes img/imagefilter.png | Bin 0 -> 8383 bytes img/imagefixalpha.png | Bin 0 -> 35590 bytes img/imagemipmap.png | Bin 0 -> 1465 bytes img/imgloader.png | Bin 0 -> 51814 bytes img/lintemplates.png | Bin 0 -> 48976 bytes img/mipmaps.png | Bin 0 -> 56108 bytes img/wintemplates.png | Bin 0 -> 48895 bytes index.rst | 25 +- 43 files changed, 3995 insertions(+), 232 deletions(-) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 advanced_topics/batch_building_templates.rst create mode 100644 advanced_topics/binary_serialization_api.rst create mode 100644 advanced_topics/changing_editor_fonts.rst create mode 100644 advanced_topics/command_line_tutorial.rst create mode 100644 advanced_topics/compiling.rst create mode 100644 advanced_topics/compiling_for_android.rst create mode 100644 advanced_topics/compiling_for_ios.rst create mode 100644 advanced_topics/compiling_for_linux.rst create mode 100644 advanced_topics/compiling_for_osx.rst create mode 100644 advanced_topics/compiling_for_universal_windows_apps.rst create mode 100644 advanced_topics/compiling_for_windows.rst create mode 100644 advanced_topics/configure_your_ide.rst create mode 100644 advanced_topics/core_types.rst create mode 100644 advanced_topics/creating_android_modules.rst create mode 100644 advanced_topics/cross-compiling_for_ios_on_linux.rst create mode 100644 advanced_topics/custom_modules_in_c++.rst create mode 100644 advanced_topics/developing.rst create mode 100644 advanced_topics/formats.rst create mode 100644 advanced_topics/index.rst create mode 100644 advanced_topics/introduction_to_godot_development.rst create mode 100644 advanced_topics/introduction_to_the_buildsystem.rst create mode 100644 advanced_topics/misc.rst create mode 100644 advanced_topics/object_class.rst create mode 100644 advanced_topics/services_for_ios.rst create mode 100644 advanced_topics/variant_class.rst create mode 100644 asset_pipeline/general.rst create mode 100644 asset_pipeline/index.rst create mode 100644 asset_pipeline/managing_image_files.rst create mode 100644 classes/class_dictionary.rst create mode 100644 img/andtemplates.png create mode 100644 img/fixedborder.png create mode 100644 img/imagefilter.png create mode 100644 img/imagefixalpha.png create mode 100644 img/imagemipmap.png create mode 100644 img/imgloader.png create mode 100644 img/lintemplates.png create mode 100644 img/mipmaps.png create mode 100644 img/wintemplates.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..69fa449dd --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +_build/ diff --git a/Makefile b/Makefile index 7f5477bf7..09cdd26ac 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext help: @echo "Please use \`make ' where is one of" @@ -30,6 +30,7 @@ help: @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @@ -45,6 +46,7 @@ help: @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" clean: rm -rf $(BUILDDIR)/* @@ -89,6 +91,14 @@ qthelp: @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/GodotEngine.qhc" +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @@ -166,6 +176,11 @@ doctest: @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo diff --git a/README.md b/README.md new file mode 100644 index 000000000..9612cceb1 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Godot Engine documentation + +This repository contains the source files of Godot Engine's documentation. diff --git a/advanced_topics/batch_building_templates.rst b/advanced_topics/batch_building_templates.rst new file mode 100644 index 000000000..7ed021c46 --- /dev/null +++ b/advanced_topics/batch_building_templates.rst @@ -0,0 +1,171 @@ +Batch building templates +======================== + +The following is almost the same exact script we use to build all the +export templates that go to the site. If you want to build or roll them +yourself, this might be of use. + +(note: mac stuff is missing) + +:: + + #This script is intended to run on Linux or OSX. Cygwin might work. + + # if this flag is set, build is tagged as release in the version + # echo $IS_RELEASE_BUILD + + #Need to set path to EMScripten + export EMSCRIPTEN_ROOT=/home/to/emscripten + + #Build templates + + #remove this stuff, will be created anew + rm -rf templates + mkdir -p templates + + + # Windows 32 Release and Debug + + scons -j 4 p=windows target=release tools=no bits=32 + cp bin/godot.windows.opt.32.exe templates/windows_32_release.exe + upx templates/windows_32_release.exe + scons -j 4 p=windows target=release_debug tools=no bits=32 + cp bin/godot.windows.opt.debug.32.exe templates/windows_32_debug.exe + upx templates/windows_32_debug.exe + + # Windows 64 Release and Debug (UPX does not support it yet) + + scons -j 4 p=windows target=release tools=no bits=64 + cp bin/godot.windows.opt.64.exe templates/windows_64_release.exe + x86_64-w64-mingw32-strip templates/windows_64_release.exe + scons -j 4 p=windows target=release_debug tools=no bits=64 + cp bin/godot.windows.opt.debug.64.exe templates/windows_64_debug.exe + x86_64-w64-mingw32-strip templates/windows_64_debug.exe + + # Linux 64 Release and Debug + + scons -j 4 p=x11 target=release tools=no bits=64 + cp bin/godot.x11.opt.64 templates/linux_x11_64_release + upx templates/linux_x11_64_release + scons -j 4 p=x11 target=release_debug tools=no bits=64 + cp bin/godot.x11.opt.debug.64 templates/linux_x11_64_debug + upx templates/linux_x11_64_debug + + # Linux 32 Release and Debug + + scons -j 4 p=x11 target=release tools=no bits=32 + cp bin/godot.x11.opt.32 templates/linux_x11_32_release + upx templates/linux_x11_32_release + scons -j 4 p=x11 target=release_debug tools=no bits=32 + cp bin/godot.x11.opt.debug.32 templates/linux_x11_32_debug + upx templates/linux_x11_32_debug + + # Server for 32 and 64 bits (always in debug) + scons -j 4 p=server target=release_debug tools=no bits=64 + cp bin/godot_server.server.opt.debug.64 templates/linux_server_64 + upx templates/linux_server_64 + scons -j 4 p=server target=release_debug tools=no bits=32 + cp bin/godot_server.server.opt.debug.32 templates/linux_server_32 + upx templates/linux_server_32 + + + # Android + **IMPORTANT REPLACE THIS BY ACTUAL VALUES** + + export ANDROID_HOME=/home/to/android-sdk + export ANDROID_NDK_ROOT=/home/to/android-ndk + + # git does not allow empty dirs, so create those + mkdir -p platform/android/java/libs/armeabi + mkdir -p platform/android/java/libs/x86 + + #Android Release + + scons -j 4 p=android target=release + cp bin/libgodot.android.opt.so platform/android/java/libs/armeabi/libgodot_android.so + ant -s platform/android/java/build.xml release + cp platform/android/java/bin/Godot-release-unsigned.apk templates/android_release.apk + + #Android Debug + + scons -j 4 p=android target=release_debug + cp bin/libgodot.android.opt.debug.so platform/android/java/libs/armeabi/libgodot_android.so + ant -s platform/android/java/build.xml release + cp platform/android/java/bin/Godot-release-unsigned.apk templates/android_debug.apk + + # EMScripten + + scons -j 4 p=javascript target=release + cp bin/godot.javascript.opt.html godot.html + cp bin/godot.javascript.opt.js godot.js + cp tools/html_fs/filesystem.js . + zip javascript_release.zip godot.html godot.js filesystem.js + mv javascript_release.zip templates/ + + scons -j 4 p=javascript target=release_debug + cp bin/godot.javascript.opt.debug.html godot.html + cp bin/godot.javascript.opt.debug.js godot.js + cp tools/html_fs/filesystem.js . + zip javascript_debug.zip godot.html godot.js filesystem.js + mv javascript_debug.zip templates/ + + # BlackBerry 10 (currently disabled) + + #. /path/to/bbndk/bbndk-env.sh + #scons -j 4 platform/bb10/godot_bb10_opt.qnx.armle target=release + #cp platform/bb10/godot_bb10_opt.qnx.armle platform/bb10/bar + + #scons -j 4 platform/bb10/godot_bb10.qnx.armle target=release_debug + #cp platform/bb10/godot_bb10.qnx.armle platform/bb10/bar + #cd platform/bb10/bar + #zip -r bb10.zip * + #mv bb10.zip ../../../templates + #cd ../../.. + + + # BUILD ON MAC + + [...] + + # Build release executables with editor + + mkdir -p release + + scons -j 4 p=server target=release_debug bits=64 + cp bin/godot_server.server.opt.tools.64 release/linux_server.64 + upx release/linux_server.64 + + scons -j 4 p=x11 target=release_debug tools=yes bits=64 + cp bin/godot.x11.opt.tools.64 release/godot_x11.64 + # upx release/godot_x11.64 -- fails on some linux distros + + scons -j 4 p=x11 target=release_debug tools=yes bits=32 + cp bin/godot.x11.opt.tools.32 release/godot_x11.32 + + scons -j 4 p=windows target=release_debug tools=yes bits=64 + cp bin/godot.windows.opt.tools.64.exe release/godot_win64.exe + x86_64-w64-mingw32-strip release/godot_win64.exe + #upx release/godot_win64.exe + + scons -j 4 p=windows target=release_debug tools=yes bits=32 + cp bin/godot.windows.opt.tools.32.exe release/godot_win32.exe + x86_64-w64-mingw32-strip release/godot_win32.exe + #upx release/godot_win64.exe + + [..] # mac stuff + + # Update classes.xml (used to generate doc) + + cp doc/base/classes.xml . + release/linux_server.64 -doctool classes.xml + + + cd demos + rm -f godot_demos.zip + zip -r godot_demos * + cd .. + + cd tools/export/blender25 + zip -r bettercollada * + mv bettercollada.zip ../../.. + cd ../../.. diff --git a/advanced_topics/binary_serialization_api.rst b/advanced_topics/binary_serialization_api.rst new file mode 100644 index 000000000..b815dd63f --- /dev/null +++ b/advanced_topics/binary_serialization_api.rst @@ -0,0 +1,491 @@ +Binary serialization API +======================== + +Introduction +------------ + +Godot has a simple serialization API based on Variant. It's used for +converting data types to an array of bytes efficiently. This API is used +in the functions ``get_var`` and ``store_var`` of the [[API:File\|File +class]] as well as the packet APIs for [[API:PacketPeer]]. This format +is not used for binary scenes and resources. + +Packet specification +-------------------- + +| The packet is designed to be always padded to 4 bytes. All values are + little endian encoded. +| All packets have a 4 byte header representing an integer, specifying + the type of data: + ++--------+--------------------------+ +| Type | Value | ++========+==========================+ +| 0 | null | ++--------+--------------------------+ +| 1 | bool | ++--------+--------------------------+ +| 2 | integer | ++--------+--------------------------+ +| 3 | float | ++--------+--------------------------+ +| 4 | string | ++--------+--------------------------+ +| 5 | vector2 | ++--------+--------------------------+ +| 6 | rect2 | ++--------+--------------------------+ +| 7 | vector3 | ++--------+--------------------------+ +| 8 | matrix32 | ++--------+--------------------------+ +| 9 | plane | ++--------+--------------------------+ +| 10 | quaternion | ++--------+--------------------------+ +| 11 | aabb (rect3) | ++--------+--------------------------+ +| 12 | matrix3x3 | ++--------+--------------------------+ +| 13 | transform (matrix 4x3) | ++--------+--------------------------+ +| 14 | color | ++--------+--------------------------+ +| 15 | image | ++--------+--------------------------+ +| 16 | node path | ++--------+--------------------------+ +| 17 | rid (unsupported) | ++--------+--------------------------+ +| 18 | object (unsupported) | ++--------+--------------------------+ +| 19 | input event | ++--------+--------------------------+ +| 20 | dictionary | ++--------+--------------------------+ +| 21 | array | ++--------+--------------------------+ +| 22 | byte array | ++--------+--------------------------+ +| 23 | int array | ++--------+--------------------------+ +| 24 | float array | ++--------+--------------------------+ +| 25 | string array | ++--------+--------------------------+ +| 26 | vector2 array | ++--------+--------------------------+ +| 27 | vector3 array | ++--------+--------------------------+ +| 28 | color array | ++--------+--------------------------+ + +Following this is the actual packet contents, which varies for each type +of packet: + +0: null +~~~~~~~ + +1: bool +~~~~~~~ + ++----------+-------+-----------+---------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+===========================+ +| 4 | 4 | Integer | 0 for False, 1 for True | ++----------+-------+-----------+---------------------------+ + +2: integer +~~~~~~~~~~ + ++----------+-------+-----------+--------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+==========================+ +| 4 | 4 | Integer | Signed, 32-Bit Integer | ++----------+-------+-----------+--------------------------+ + +3: float +~~~~~~~~ + ++----------+-------+---------+-------------------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+=========================+ +| 4 | 4 | Float | IEE 754 32-Bits Float | ++----------+-------+---------+-------------------------+ + +4: string +~~~~~~~~~ + ++----------+-------+-----------+----------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+============================+ +| 4 | 4 | Integer | String Length (in Bytes) | ++----------+-------+-----------+----------------------------+ +| 8 | X | Bytes | UTF-8 Encoded String | ++----------+-------+-----------+----------------------------+ + +This field is padded to 4 bytes. + +5: vector2 +~~~~~~~~~~ + ++----------+-------+---------+----------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+================+ +| 4 | 4 | Float | X Coordinate | ++----------+-------+---------+----------------+ +| 8 | 4 | Float | Y Coordinate | ++----------+-------+---------+----------------+ + +6: rect2 +~~~~~~~~ + ++----------+-------+---------+----------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+================+ +| 4 | 4 | Float | X Coordinate | ++----------+-------+---------+----------------+ +| 8 | 4 | Float | Y Coordinate | ++----------+-------+---------+----------------+ +| 12 | 4 | Float | X Size | ++----------+-------+---------+----------------+ +| 16 | 4 | Float | Y Size | ++----------+-------+---------+----------------+ + +7: vector3 +~~~~~~~~~~ + ++----------+-------+---------+----------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+================+ +| 4 | 4 | Float | X Coordinate | ++----------+-------+---------+----------------+ +| 8 | 4 | Float | Y Coordinate | ++----------+-------+---------+----------------+ +| 12 | 4 | Float | Z Coordinate | ++----------+-------+---------+----------------+ + +8: matrix32 +~~~~~~~~~~~ + ++----------+-------+---------+---------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+===============+ +| 4 | 4 | Float | [0][0] | ++----------+-------+---------+---------------+ +| 8 | 4 | Float | [0][1] | ++----------+-------+---------+---------------+ +| 12 | 4 | Float | [1][0] | ++----------+-------+---------+---------------+ +| 16 | 4 | Float | [1][1] | ++----------+-------+---------+---------------+ +| 20 | 4 | Float | [2][0] | ++----------+-------+---------+---------------+ +| 24 | 4 | Float | [2][1] | ++----------+-------+---------+---------------+ + +9: plane +~~~~~~~~ + ++----------+-------+---------+---------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+===============+ +| 4 | 4 | Float | Normal X | ++----------+-------+---------+---------------+ +| 8 | 4 | Float | Normal Y | ++----------+-------+---------+---------------+ +| 12 | 4 | Float | Normal Z | ++----------+-------+---------+---------------+ +| 16 | 4 | Float | Distance | ++----------+-------+---------+---------------+ + +10: quaternion +~~~~~~~~~~~~~~ + ++----------+-------+---------+---------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+===============+ +| 4 | 4 | Float | Imaginary X | ++----------+-------+---------+---------------+ +| 8 | 4 | Float | Imaginary Y | ++----------+-------+---------+---------------+ +| 12 | 4 | Float | Imaginary Z | ++----------+-------+---------+---------------+ +| 16 | 4 | Float | Real W | ++----------+-------+---------+---------------+ + +11: aabb (rect3) +~~~~~~~~~~~~~~~~ + ++----------+-------+---------+----------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+================+ +| 4 | 4 | Float | X Coordinate | ++----------+-------+---------+----------------+ +| 8 | 4 | Float | Y Coordinate | ++----------+-------+---------+----------------+ +| 12 | 4 | Float | Z Coordinate | ++----------+-------+---------+----------------+ +| 16 | 4 | Float | X Size | ++----------+-------+---------+----------------+ +| 20 | 4 | Float | Y Size | ++----------+-------+---------+----------------+ +| 24 | 4 | Float | Z Size | ++----------+-------+---------+----------------+ + +12: matrix3x3 +~~~~~~~~~~~~~ + ++----------+-------+---------+---------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+===============+ +| 4 | 4 | Float | [0][0] | ++----------+-------+---------+---------------+ +| 8 | 4 | Float | [0][1] | ++----------+-------+---------+---------------+ +| 12 | 4 | Float | [0][2] | ++----------+-------+---------+---------------+ +| 16 | 4 | Float | [1][0] | ++----------+-------+---------+---------------+ +| 20 | 4 | Float | [1][1] | ++----------+-------+---------+---------------+ +| 24 | 4 | Float | [1][2] | ++----------+-------+---------+---------------+ +| 28 | 4 | Float | [2][0] | ++----------+-------+---------+---------------+ +| 32 | 4 | Float | [2][1] | ++----------+-------+---------+---------------+ +| 36 | 4 | Float | [2][2] | ++----------+-------+---------+---------------+ + +13: transform (matrix 4x3) +~~~~~~~~~~~~~~~~~~~~~~~~~~ + ++----------+-------+---------+---------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+===============+ +| 4 | 4 | Float | [0][0] | ++----------+-------+---------+---------------+ +| 8 | 4 | Float | [0][1] | ++----------+-------+---------+---------------+ +| 12 | 4 | Float | [0][2] | ++----------+-------+---------+---------------+ +| 16 | 4 | Float | [1][0] | ++----------+-------+---------+---------------+ +| 20 | 4 | Float | [1][1] | ++----------+-------+---------+---------------+ +| 24 | 4 | Float | [1][2] | ++----------+-------+---------+---------------+ +| 28 | 4 | Float | [2][0] | ++----------+-------+---------+---------------+ +| 32 | 4 | Float | [2][1] | ++----------+-------+---------+---------------+ +| 36 | 4 | Float | [2][2] | ++----------+-------+---------+---------------+ +| 40 | 4 | Float | [3][0] | ++----------+-------+---------+---------------+ +| 44 | 4 | Float | [3][1] | ++----------+-------+---------+---------------+ +| 48 | 4 | Float | [3][2] | ++----------+-------+---------+---------------+ + +14: color +~~~~~~~~~ + ++----------+-------+---------+----------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+================+ +| 4 | 4 | Float | Red (0..1) | ++----------+-------+---------+----------------+ +| 8 | 4 | Float | Green (0..1) | ++----------+-------+---------+----------------+ +| 12 | 4 | Float | Blue (0..1) | ++----------+-------+---------+----------------+ +| 16 | 4 | Float | Alpha (0..1) | ++----------+-------+---------+----------------+ + +15: image +~~~~~~~~~ + ++---------------------+-------+-----------+------------------------------------------------------+ +| Offset | Len | Type | Description | ++=====================+=======+===========+======================================================+ +| 4 | 4 | Integer | Format (see FORMAT\_\* in \\"Image\\":class\_image | ++---------------------+-------+-----------+------------------------------------------------------+ +| 8 | 4 | Integer | Mip-Maps (0 means no mip-maps). | ++---------------------+-------+-----------+------------------------------------------------------+ +| 12 | 4 | Integer | Width (Pixels) | ++---------------------+-------+-----------+------------------------------------------------------+ +| 16 | 4 | Integer | Height (Pixels) | ++---------------------+-------+-----------+------------------------------------------------------+ +| 20 | 4 | Integer | Data Length | ++---------------------+-------+-----------+------------------------------------------------------+ +| 24..24+DataLength | 1 | Byte | Image Data | ++---------------------+-------+-----------+------------------------------------------------------+ + +This field is padded to 4 bytes. + +16: node path +~~~~~~~~~~~~~ + ++----------+-------+-----------+-----------------------------------------------------------------------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+=========================================================================================+ +| 4 | 4 | Integer | String Length, or New Format (val&0x80000000!=0 and NameCount=val&0x7FFFFFFF) | ++----------+-------+-----------+-----------------------------------------------------------------------------------------+ + +For old format: +^^^^^^^^^^^^^^^ + ++----------+-------+---------+------------------------+ +| Offset | Len | Type | Description | ++==========+=======+=========+========================+ +| 8 | X | Bytes | UTF-8 Encoded String | ++----------+-------+---------+------------------------+ + +Padded to 4 bytes. + +For new format: +^^^^^^^^^^^^^^^ + ++----------+-------+-----------+-------------------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+=====================================+ +| 4 | 4 | Integer | Sub-Name Count | ++----------+-------+-----------+-------------------------------------+ +| 8 | 4 | Integer | Flags (absolute: val&1 != 0 ) | ++----------+-------+-----------+-------------------------------------+ + +For each Name and Sub-Name + ++----------+-------+-----------+------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+========================+ +| X+0 | 4 | Integer | String Length | ++----------+-------+-----------+------------------------+ +| X+4 | X | Bytes | UTF-8 Encoded String | ++----------+-------+-----------+------------------------+ + +Every name string is is padded to 4 bytes. + +17: rid (unsupported) +~~~~~~~~~~~~~~~~~~~~~ + +18: object (unsupported) +~~~~~~~~~~~~~~~~~~~~~~~~ + +19: input event +~~~~~~~~~~~~~~~ + +20: dictionary +~~~~~~~~~~~~~~ + ++----------+-------+-----------+---------------------------------------------------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+=====================================================================+ +| 4 | 4 | Integer | val&0x7FFFFFFF = elements, val&0x80000000 = shared (bool) | ++----------+-------+-----------+---------------------------------------------------------------------+ + +| Then what follows is, for amount of \\"elements\\", pairs of key and + value, one after the other, using +| this same format. + +21: array +~~~~~~~~~ + ++----------+-------+-----------+---------------------------------------------------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+=====================================================================+ +| 4 | 4 | Integer | val&0x7FFFFFFF = elements, val&0x80000000 = shared (bool) | ++----------+-------+-----------+---------------------------------------------------------------------+ + +| Then what follows is, for amount of \\"elements\\", values one after + the other, using +| this same format. + +22: byte array +~~~~~~~~~~~~~~ + ++---------------+-------+-----------+------------------------+ +| Offset | Len | Type | Description | ++===============+=======+===========+========================+ +| 4 | 4 | Integer | Array Length (Bytes) | ++---------------+-------+-----------+------------------------+ +| 8..8+length | 1 | Byte | Byte (0..255) | ++---------------+-------+-----------+------------------------+ + +The array data is padded to 4 bytes. + +23: int array +~~~~~~~~~~~~~ + +| Offset \| Len \| Type \| Description +| -- \| -- \| -- \| -- +| 4\|4\|Integer\| Array Length (Integers) +| 8..8+length\*4\|4\|Integer\| 32 Bits Signed Integer + +24: float array +~~~~~~~~~~~~~~~ + +| Offset \| Len \| Type \| Description +| -- \| -- \| -- \| -- +| 4\|4\|Integer\| Array Length (Floats) +| 8..8+length\*4\|4\|Integer\| 32 Bits IEE 754 Float + +25: string array +~~~~~~~~~~~~~~~~ + ++----------+-------+-----------+--------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+==========================+ +| 4 | 4 | Integer | Array Length (Strings) | ++----------+-------+-----------+--------------------------+ + +For each String: + ++----------+-------+-----------+------------------------+ +| Offset | Len | Type | Description | ++==========+=======+===========+========================+ +| X+0 | 4 | Integer | String Length | ++----------+-------+-----------+------------------------+ +| X+4 | X | Bytes | UTF-8 Encoded String | ++----------+-------+-----------+------------------------+ + +Every string is is padded to 4 bytes. + +26: vector2 array +~~~~~~~~~~~~~~~~~ + ++-------------------------------------------+-------+-----------+----------------+ +| Offset | Len | Type | Description | ++===========================================+=======+===========+================+ +| 4 | 4 | Integer | Array Length | ++-------------------------------------------+-------+-----------+----------------+ +| 8..8+length\_8\|4\|Float\| X Coordinate | 4 | Float | Y Coordinate | +| 8..12+length\_8 | | | | ++-------------------------------------------+-------+-----------+----------------+ + +27: vector3 array +~~~~~~~~~~~~~~~~~ + +| Offset \| Len \| Type \| Description +| -- \| -- \| -- \| -- +| 4\|4\|Integer\| Array Length +| 8..8+length\_12\|4\|Float\| X Coordinate +| 8..12+length\_12\|4\|Float\| Y Coordinate +| 8..16+length\*12\|4\|Float\| Z Coordinate + +28: color array +~~~~~~~~~~~~~~~ + ++--------------------------------------------+-------+-----------+----------------+ +| Offset | Len | Type | Description | ++============================================+=======+===========+================+ +| 4 | 4 | Integer | Array Length | ++--------------------------------------------+-------+-----------+----------------+ +| 8..8+length\_16\|4\|Float\| Red (0..1) | 4 | Float | Green (0..1) | +| 8..12+length\_16 | | | | ++--------------------------------------------+-------+-----------+----------------+ +| 8..16+length\_16\|4\|Float\| Blue (0..1) | 4 | Float | Alpha (0..1) | +| 8..20+length\_16 | | | | ++--------------------------------------------+-------+-----------+----------------+ diff --git a/advanced_topics/changing_editor_fonts.rst b/advanced_topics/changing_editor_fonts.rst new file mode 100644 index 000000000..4c02176d1 --- /dev/null +++ b/advanced_topics/changing_editor_fonts.rst @@ -0,0 +1,11 @@ +Changing editor fonts +===================== + +Godot allows changing the font for the editor, and the font for the code +editor. Both need to be in .fnt format, so they need to be imported +somewhere using the [[Importing fonts\|font import tool]]. + +Then copy or do whathever you want with the font, as long as the +location does not change, and set the relevant property in Editor +Settings. Code editor font is refreshed automatically, but the editor +needs to be restarted for the new global font to take effect. diff --git a/advanced_topics/command_line_tutorial.rst b/advanced_topics/command_line_tutorial.rst new file mode 100644 index 000000000..319eae0bb --- /dev/null +++ b/advanced_topics/command_line_tutorial.rst @@ -0,0 +1,145 @@ +Command line tutorial +===================== + +Some developers like using the command line extensively. Godot is +designed to be friendly to them, so here are the steps for working +entirely from the command line. Given the engine relies on little to no +external libraries, initialization times are pretty fast, making it +suitable for this workflow. + +Path +---- + +It is recommended that your godot binary is in your PATH environment +variable, so it can be executed easily from any place by typing +``godot``. You can do so on Linux by placing the Godot binary in +``/usr/local/bin`` and making sure it is called ``godot``. + +Creating a project +------------------ + +Creating a project from the command line is simple, just navigate the +shell to the desired place and just make an engine.cfg file exist, even +if empty. + +:: + + user@host:~$ mkdir newgame + user@host:~$ cd newgame + user@host:~/newgame$ touch engine.cfg + +That alone makes for an empty Godot project. + +Running the editor +------------------ + +Running the editor is done by executing godot with the ``-e`` flag. This +must be done from within the project directory, or a subdirectory, +otherwise the command is ignored and the project manager appears. + +:: + + user@host:~/newgame$ godot -e + +If a scene has been created and saved, it can be edited later by running +the same code with that scene as argument. + +:: + + user@host:~/newgame$ godot -e scene.xml + +Erasing a scene +--------------- + +Godot is friends with your filesystem, and will not create extra +metadata files, simply use ``rm`` to erase a file. Make sure nothing +references that scene, or else an error will be thrown upon opening. + +:: + + user@host:~/newgame$ rm scene.xml + +Running the game +---------------- + +To run the game, simply execute Godot within the project directory or +subdirectory. + +:: + + user@host:~/newgame$ godot + +When a specific scene needs to be tested, pass that scene to the command +line. + +:: + + user@host:~/newgame$ godot scene.xml + +Debugging +--------- + +Catching errors in the command line can be a difficult task because they +just fly by. For this, a command line debugger is provided by adding +``-d``. It works for both running the game or a simple scene. + +:: + + user@host:~/newgame$ godot -d + +:: + + user@host:~/newgame$ godot -d scene.xml + +Exporting +--------- + +Exporting the project from the command line is also supported. This is +specially useful for continuous integration setups. The version of Godot +that is headless (server build, no video) is ideal for this. + +:: + + user@host:~/newgame$ godot -export \"Linux X11\" /var/builds/project + user@host:~/newgame$ godot -export Android /var/builds/project.apk + +The platform names recognized by the ``-export`` switch are the same as +displayed in the export wizard of the editor. To get a list of supported +platforms from the command line, just try exporting to a non-recognized +platform and the full listing of platforms your configuration supports +will be shown. + +To export a debug version of the game, use the ``-export_debug`` switch +instead of ``-export``. Their parameters and usage are the same. + +Running a script +---------------- + +| It is possible to run a simple .gd script from the command line. This + feature is specially useful in very large projects, for batch + conversion of assets or custom import/export. +| The script must inherit from SceneTree or MainLoop. + +Here is a simple example of how it works: + +|
+| #sayhello.gd
+| extends SceneTree
+
+| func \_init():
+| print(\\"Hello!\\")
+| quit()
+
+.. raw:: html
+
+   
+ +And how to run it: + +:: + + user@host:~/newgame$ godot -s sayhello.gd + Hello! + +If no engine.cfg exists at the path, current path is assumed to be the +current working directory (unless ``-path`` is specified). diff --git a/advanced_topics/compiling.rst b/advanced_topics/compiling.rst new file mode 100644 index 000000000..bbf10580d --- /dev/null +++ b/advanced_topics/compiling.rst @@ -0,0 +1,21 @@ +Compiling +========= + +.. toctree:: + :maxdepth: 1 + :name: compiling + + introduction_to_the_buildsystem + compiling_for_windows + compiling_for_linux + compiling_for_osx + compiling_for_android + compiling_for_ios + cross-compiling_for_ios_on_linux + compiling_for_universal_windows_apps + batch_building_templates + configure_your_ide + introduction_to_godot_development + +.. compiling_for_blackberry_qnx +.. compiling_for_google_native_client diff --git a/advanced_topics/compiling_for_android.rst b/advanced_topics/compiling_for_android.rst new file mode 100644 index 000000000..423d470ba --- /dev/null +++ b/advanced_topics/compiling_for_android.rst @@ -0,0 +1,224 @@ +Compiling for Android +===================== + +Note +---- + +For most cases, using the built-in deployer and export templates is good +enough. Compiling the Android APK manually is mostly useful for custom +builds or custom packages for the deployer. + +Also, you still need to do all the steps mentioned in the [[Exporting +for Android]] tutorial before attempting your custom export template. + +Requirements +------------ + +For compiling under Windows, the following is required: + +- Python 2.7+ (3.0 is untested as of now). +- SCons build system. +- Android SDK version 8 and 13 +- Android NDK + +Setting Up SCons +---------------- + +| Set the environment variable ANDROID\_HOME to point to the Android + SDK. +| Set the environment variable ANDROID\_NDK\_ROOT to point to the + Android NDK. + +To set those environment variables on Windows, press Windows+R, type +\\"control system\\", then click on **Advanced system settings** in the +left pane, then click on **Environment variables** on the window that +appears. + +To set those environment variables on Linux, use +``export ANDROID_HOME=/path/to/android-sdk`` and +``export ANDROID_NDK_ROOT=/path/to/android-ndk``. + +Compiling +--------- + +Go to the root dir of the engine source code and type: + +:: + + C:\\godot> scons platform=android + +This should result in a regular .so in \\\\bin folder as if it was +compiled with flags: ``tools=no target=debug``. The resulting file will +be huge because it will contain all debug symbols, so for next builds, +using ``target=release_debug`` or ``target=release`` is recommended. + +Copy the .so to the libs/armeabi Android folder (or symlink if you are +in Linux or OSX). Note: Git does not support empty directories so you +will have to create it if it does not exist: + +:: + + C:\\godot> mkdir platform/android/java/libs + C:\\godot> mkdir platform/android/java/libs/armeabi + +Then copy or symlink: + +:: + + C:\\godot> copy bin/libgodot.android..so platform/android/java/libs/armeabi/libgodot_android.so + +alternatively if you are under unix you can symlink: + +:: + + user@host:~/godot$ ln -s bin/libgodot.android..so platform/android/java/libs/armeabi/libgodot_android.so + +Remember that only *one* of libgodot\_android.so must exist for each +platform, for each build type (release, debug, etc), it must be +replaced. + +**Note**: The file inside libs/armeabi must be renamed to +**\\"libgodot\_android.so\\"**, or else unsatisfied link error will +happen at runtime. + +If you also want to include support for x86 Android, add the following +compile flag: ``x86=yes`` , then copy/symlink the resulting folder to +the x86 folder: + +:: + + C:\\godot> cp bin/libgodot.android..x86.so platform/android/java/libs/x86/libgodot_android.so + +This will create a fat binary that works in both platforms, but will add +about 6 megabytes to the APK. + +Toolchain +--------- + +We usually try to keep the Godot Android build code up to date, but +Google changes their toolchain versions very often, so if compilation +fails due to wrong toolchain version, go to your NDK directory and check +the current numbers, then set the following environment variables: + +:: + + NDK_TOOLCHAIN (by default set to \"arm-eabi-4.4.0\") + NDK_TARGET (by default set to \"arm-linux-androideabi-4.8\") + +Building the APK +---------------- + +To compile the APK, go to the Java folder and run ant, either for debug +or release build: + +:: + + C:\\godot\\platform\\android\\java> ant debug + +:: + + C:\\godot\\platform\\android\\java> ant release + +In the ``java/bin`` subfolder, the resulting apk can be used as export +template. + +**Note:** If you reaaaally feel oldschool, you can copy your entire game +(or symlink) to the assets/ folder of the Java project (make sure +engine.cfg is in assets/) and it will work, but you lose all the +benefits of the export system (scripts are not byte-compiled, textures +not converted to Android compression, etc. so it's not a good idea). + +Compiling export templates +-------------------------- + +Godot needs the freshly compiled APK as export templates. It opens the +APK, changes a few things inside, adds your file and spits it back. It's +really handy! (and required some reverse engineering of the format). + +Compiling the standard export templates is done by calling scons with +the following arguments: + +(debug) + +:: + + C:\\godot> scons platform=android target=release_debug + C:\\godot> cp bin/libgodot_android.opt.debug.so platform/android/java/libs/armeabi + C:\\godot> cd platform/android/java + C:\\godot\\platform\\android\\java> ant release + +Resulting APK is in: + +:: + + platform/android/java/bin/Godot-release-unsigned.apk + +(release) + +:: + + C:\\godot> scons platform=android target=release + C:\\godot> cp bin/libgodot_android.opt.so platform/android/java/libs/armeabi + C:\\godot> cd platform/android/java + C:\\godot\\platform\\android\\java> ant release + +Resulting APK is in: + +:: + + platform/android/java/bin/Godot-release-unsigned.apk + +(same as before) + +They must be copied to your templates folder with the following names: + +:: + + android_debug.apk + android_release.apk + +However, if you are writing your custom modules or custom C++ code, you +might instead want to configure your APKs as custom export templates +here: + +.. image:: /img/andtemplates.png + +You don't even need to copy them, you can just reference the resulting +file in the bin\\\\ directory of your Godot source folder, so the next +time you build you automatically have the custom templates referenced. + +Troubleshooting +--------------- + +Application not installed +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Android might complain the application is not correctly installed. If +so, check the following: + +- Check that the debug keystore is properly generated. +- Check that jarsigner is from JDK6. + +If it still fails, open a command line and run logcat: + +:: + + C:\\android-sdk\\platform-tools> adb logcat + +| And check the output while the application is installed. Reason for + failure should be presented there. +| Seek assistance if you can't figure it out. + +Application exits immediately +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If the application runs but exits immediately, there might be one of the +following reasons: + +- libgodot\_android.so is not in libs/armeabi +- Device does not support armv7 (try compiling yourself for armv6) +- Device is Intel, and apk is compiled for ARM. + +In any case, ``adb logcat`` should also show the cause of the error. + + diff --git a/advanced_topics/compiling_for_ios.rst b/advanced_topics/compiling_for_ios.rst new file mode 100644 index 000000000..9de156943 --- /dev/null +++ b/advanced_topics/compiling_for_ios.rst @@ -0,0 +1,44 @@ +Compiling for iOS +================= + +Requirements +------------ + +- SCons (you can get it from macports, you should be able to run + ``scons`` in a terminal when installed) +- Xcode with the iOS SDK and the command line tools. + +Compiling +--------- + +Open a Terminal, go to the root dir of the engine source code and type: + +:: + + $ scons p=iphone bin/godot.iphone.debug + +for a debug build, or: + +:: + + $ scons p=iphone bin/godot.iphone.opt target=release + +for a release build (check platform/iphone/detect.py for the compiler +flags used for each configuration). + +Alternatively, you can run + +:: + + $ scons p=isim bin/godot.isim.tools + +for a Simulator executable. + +Run +--- + +| To run on a device or simulator, follow these instructions: + [[Exporting for iOS]]. +| Replace or add your executable to the Xcode project, and change the + \\"executable name\\" property on Info.plist accordingly if you use an + alternative build. diff --git a/advanced_topics/compiling_for_linux.rst b/advanced_topics/compiling_for_linux.rst new file mode 100644 index 000000000..89512ffcf --- /dev/null +++ b/advanced_topics/compiling_for_linux.rst @@ -0,0 +1,102 @@ +Compiling for Linux +=================== + +Requirements +------------ + +For compiling under Linux or other Unix variants, the following is +required: + +- GCC or LLVM +- Python 2.7+ (3.0 is untested as of now). +- SCons build system. +- X11 and MESA development Libraries +- Xinerama Libraries +- ALSA development libraries +- Freetype (for the editor) +- OpenSSL (for HTTPS and TLS) +- pkg-config (used to detect the above three) +- libevdev-dev and libudev-dev (for facultative joypad support) + +For Ubuntu users: + +:: + + apt-get install scons pkg-config libx11-dev libxcursor-dev build-essential libasound2-dev libfreetype6-dev libgl1-mesa-dev libglu-dev libssl-dev libxinerama-dev + +If you wish to have Joypad support, libevdev-dev and libudev-dev are +required. + +:: + + apt-get install libevdev-dev libudev-dev + +Compiling +--------- + +Start a terminal, go to the root dir of the engine source code and type: + +:: + + user@host:~/godot$ scons platform=x11 + +If all goes well, the resulting binary executable will be placed in the +\\"bin\\" subdirectory. This executable file contains the whole engine +and runs without any dependencies. Executing it will bring up the +project manager. + +Building export templates +------------------------- + +To build Linux export templates, run the build system with the following +parameters: + +(32 bits) + +:: + + user@host:~/godot$ scons platform=x11 tools=no target=release bits=32 + user@host:~/godot$ scons platform=x11 tools=no target=release_debug bits=32 + +(64 bits) + +:: + + user@host:~/godot$ scons platform=x11 tools=no target=release bits=64 + user@host:~/godot$ scons platform=x11 tools=no target=release_debug bits=64 + +Note that cross compiling for the opposite bits (64/32) as your host +platform in linux is quite difficult and might need a chroot +environment. + +In Ubuntu, compilation works without a chroot but some libraries (.so) +might be missing from /usr/lib32. Symlinking the missing .so files from +/usr/lib results in a working build. + +To create standard export templates, the resulting files must be copied +to: + +:: + + /home/youruser/.godot/templates + +and named like this: + +:: + + linux_x11_32_debug + linux_x11_32_release + linux_x11_64_debug + linux_x11_64_release + +However, if you are writing your custom modules or custom C++ code, you +might instead want to configure your binaries as custom export templates +here: + +.. image:: /img/lintemplates.png + +You don't even need to copy them, you can just reference the resulting +files in the bin/ directory of your Godot source folder, so the next +time you build you automatically have the custom templates referenced. + + diff --git a/advanced_topics/compiling_for_osx.rst b/advanced_topics/compiling_for_osx.rst new file mode 100644 index 000000000..1a5f307aa --- /dev/null +++ b/advanced_topics/compiling_for_osx.rst @@ -0,0 +1,63 @@ +Compiling for OSX +================= + +Requirements +------------ + +For compiling under Linux or other Unix variants, the following is +required: + +- Python 2.7+ (3.0 is untested as of now). +- SCons build system. +- XCode + +Compiling +--------- + +Start a terminal, go to the root dir of the engine source code and type: + +:: + + user@host:~/godot$ scons platform=osx + +If all goes well, the resulting binary executable will be placed in the +\\"bin\\" subdirectory. This executable file contains the whole engine +and runs without any dependencies. Executing it will bring up the +project manager. There is a .app template to put the binary into in +tools/Godot.app. + +Cross-compiling +--------------- + +It is possible to compile for OS X in a Linux environment (and maybe +also in Windows with Cygwin). For that you will need +\\\ `OSXCross\\ `__ for being +able to use OS X as target. First, follow the instructions to install +it: + +# Clone the OSXCross repository +(https://github.com/tpoechtrager/osxcross) somewhere in your machine (or +download a Zip file and extract it somewhere). E.g. + +:: + + ~$ git clone https://github.com/tpoechtrager/osxcross.git /home/myuser/sources/osxcross + +#. Follow the instructions to package the SDK: + https://github.com/tpoechtrager/osxcross#packaging-the-sdk +#. Follow the instructions to install OSXCross: + https://github.com/tpoechtrager/osxcross#installation + +After that, you will need to define the ``OSXCROSS_ROOT`` as the path to +the OSXCross installation (the same place where you cloned the +repository/extracted the zip. E.g. + +:: + + ~$ export OSXCROSS_ROOT=/home/myuser/sources/oscross + +Now you can compile with SCons like you normally would: + +:: + + ~/godot$ scons platform=osx diff --git a/advanced_topics/compiling_for_universal_windows_apps.rst b/advanced_topics/compiling_for_universal_windows_apps.rst new file mode 100644 index 000000000..687ed0b50 --- /dev/null +++ b/advanced_topics/compiling_for_universal_windows_apps.rst @@ -0,0 +1,148 @@ +Compiling for Universal Windows Apps +==================================== + +This page documents the current state of the \\"winrt\\" platform, used +to support \\"Windows Store Apps\\" for Windows 8.1, and Windows Phone +8.1 apps using Microsoft's new \\"Universal\\" APIs. + +Requirements +------------ + +- Windows 8 +- SCons (see [[Compiling for Windows]] for more details) +- Visual Studio 2013 for Windows (but *not* \\"for Windows Desktop\\"). + Tested on \\"Microsoft Visual Studio Express 2013 for Windows Version + 12.0.31101.00 Update 4\\". + +Compiling +--------- + +The platform can compile binaries for both Windows 8.1 and Windows Phone +8.1. The architecture is decided by the environment variable +\\"PLATFORM\\". + +Windows 8.1 +~~~~~~~~~~~ + +\* Open a \\"VS 2013 x64 Cross Tools Command Prompt\\" + +\* The value of environment variable \\"PLATFORM\\" should be \\"x64\\" + +\* Run scons with platform=winrt from the root of the source tree + +:: + + C:\\godot_source> scons platform=winrt + +- You should get an executable file inside bin/ named according to your + build options, for the architecture \\"x64\\", for example + \\"godot.winrt.tools.x64.exe\\". + +Windows Phone 8.1 +~~~~~~~~~~~~~~~~~ + +\* Open a \\"Visual Studio 2012 ARM Phone Tools Command Prompt\\" + +\* The value of environment variable \\"PLATFORM\\" should be \\"arm\\" + +\* Run scons with platform=winrt from the root of the source tree + +:: + + C:\\godot_source> scons platform=winrt + +- You should get an executable file inside bin/ named according to your + build options, for the architecture \\"arm\\", for example + \\"godot.winrt.tools.arm.exe\\". + +Running +------- + +On Visual studio, create a new project using any of the \\"Unversal +App\\" templates found under Visual C++ -> Store Apps -> Universal Apps. +\\"Blank App\\" should be fine. + +On the \\"Solution Explorer\\" box, you should have 3 sections, +\\"App.Windows (Windows 8.1)\\", \\"App.WindowsPhone (Windows Phone +8.1)\\" and \\"App.Shared\\". You need to add files to each section: + +App.Shared +~~~~~~~~~~ + +- Add a folder named \\"game\\" containing your game content (can be + individual files or your data.pck). Remember to set the \\"Content\\" + property of each file to \\"True\\", otherwise your files won't get + included in the package. + +App.Windows +~~~~~~~~~~~ + +\* Add your windows executable, and all the .dll files found on +platform/winrt/x64/bin on the godot source. Remember to also set the +\\"Content\\" property. + +\* Find the file \\"Package.appxmanifest\\". Right click on it and +select \\"Open with...\\" then \\"XML (Text) Editor\\" from the list. + +\* Find the \\"Application\\" section, and add (or modify) the +\\"Executable\\" property with the name of your .exe. Example: + +:: + +App.WindowsPhone +~~~~~~~~~~~~~~~~ + +- Repeat all the steps from App.Windows, using your arm executable and + the dlls found in platform/winrt/arm/bin. Remember to set the + \\"Content\\" property for all the files. + +Use the green \\"Play\\" button on the top to run. The drop down menu +next to it should let you choose the project (App.Windows or +App.WindowsPhone) and the device (\\"Local Machine\\", \\"Device\\" for +an attached phone, etc). + +Angle +----- + +ANGLE precompiled binaries are provided on platform/winrt/x64 and +platform/winrt/arm. They are built from MSOpenTech's \\"future-dev\\" +branch, found here: +\\\ `https://github.com/MSOpenTech/angle\\ `__. +The visual studio 'solutions' used are found on +\\"projects/winrt/windows/angle.sln\\" and +\\"projects/winrt/windowsphone/angle.sln\\". + +What's missing +-------------- + +- Audio +- Semaphores +- Keyboard input +- Proper handling of screen rotation +- Proper handling of other events such as focus lost, back button, etc. +- Packaging and deploying to devices from the editor. +- Adding Angle to our tree and compiling it from there. The same source + could also be used to build for Windows (and use Angle instead of + native GL, which will be more compatible with graphics hardware) + +Packages +-------- + +This is what we know: + +- App packages are documented here: + \\\ `http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh464929.aspx\\ `__ +- There are 2 command line tools that might be useful, \\\ `App + Packager\\ `__ + and + \\\ `SignTool\\ `__. +- There are a bunch of tools on \\"powershell\\" that deal with + packages that might be relevant: + \\\ `http://technet.microsoft.com/library/dn448373.aspx\\ `__ +- When running a Windows 8.1 app on \\"Local Machine\\" from Visual + studio, the app seems to run from an uncompressed directory on the + filesystem in an arbitrary location (ie. outside of the proper + directory where Apps are installed), but there is some special + registry entry made for it, so we know it's possible to skip the + packaging step to run locally (in the case of very big games this can + be useful). diff --git a/advanced_topics/compiling_for_windows.rst b/advanced_topics/compiling_for_windows.rst new file mode 100644 index 000000000..e24fa89a7 --- /dev/null +++ b/advanced_topics/compiling_for_windows.rst @@ -0,0 +1,151 @@ +Compiling for Windows +===================== + +Requirements +------------ + +For compiling under Windows, the following is required: + +- \\\ `Visual C++\\ `__, Visual + C++ Express compiler or Visual Studio Community (recommended) at + least the 2010 version (10.0) up to 2015 (14.0). **Make sure you get + a version that can compile for C++, Desktop**. +- \\\ `Python 2.7+\\ `__ + (3.0 is untested as of now). Using the 32-bits installer is + recommended. +- \\\ `Pywin32 Python + Extension\\ `__ for parallel + builds (which increase the build speed by a great factor). +- \\\ `SCons\\ `__ build system. + +Setting up SCons +---------------- + +Python adds the interpreter (python.exe) to the path. It usually +installs in C:\\\\Python (or C:\\\\Python[Version]). SCons installs +inside the python install and provides a .bat file called +\\"scons.bat\\". The location of this file can be added to the path or +it can simply be copied to C:\\\\Python together with the interpreter +executable. + +Compiling +--------- + +Start a Visual Studio command prompt (it sets up environment variables +needed by SCons to locate the compiler and SDK), go to the root dir of +the engine source code and type: + +:: + + C:\\godot> scons platform=windows + +If all goes well, the resulting binary executable will be placed in +C:\\\\godot\\\\bin\\\\godot.windows.tools.exe. This executable file +contains the whole engine and runs without any dependencies. Executing +it will bring up the project manager. + +Development in Visual Studio or other IDEs +------------------------------------------ + +For most projects, using only scripting is enough but when development +in C++ is needed, for creating modules or extending the engine, working +with an IDE is usually desirable. The visual studio command prompt calls +a .bat file that sets up environment variables (vcvarsall.bat). To build +the whole engine from a single command outside the command prompt, the +following should be called in a .bat file: + +:: + + C:\\path_to_sdk\\vcvarsall.bat && scons bin/godot.windows.tools.exe + +**NOTE:** It seems the latest Visual Studio does not include a desktop +command prompt (No, Native tools for x86 is not it). The only way to +build it seems to be by running: + +:: + + \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\vcvarsall.bat\" && c:\\python27\\scons p=windows + +(or however your VS and Scons are installed) + +Cross compiling +--------------- + +If you are a Linux or Mac user, you need to install mingw32 and +mingw-w64. Under Ubuntu or Debian, just run the following commands: + +:: + + apt-get install mingw32 mingw-w64 + +If you are using other distro, scons will check for the following +binaries: + +:: + + i586-mingw32msvc-gcc + i686-w64-mingw32-gcc + +If the binaries are named or located somewhere else, export the +following env variables: + +:: + + export MINGW32_PREFIX=\"/path/to/i586-mingw32msvc-\" + export MINGW64_PREFIX=\"/path/to/i686-w64-mingw32-\" + +To make sure you are doing things correctly, executing the following in +the shell should result in a working compiler: + +:: + + user@host:~$ ${MINGW32_PREFIX}gcc + gcc: fatal error: no input files + +Creating Windows export templates +--------------------------------- + +Windows export templates are created by compiling Godot as release, with +the following flags: + +(for 32 bits, using Mingw32 command prompt or Visual Studio command +prompt) + +:: + + C:\\godot> scons platform=windows tools=no target=release bits=32 + C:\\godot> scons platform=windows tools=no target=release_debug bits=32 + +(for 64 bits, using Mingw-w64 or Visual Studio command prompt) + +:: + + C:\\godot> scons platform=windows tools=no target=release bits=64 + C:\\godot> scons platform=windows tools=no target=release_debug bits=64 + +If you plan on replacing the standard templates, copy these to: + +:: + + C:\\USERS\\YOURUSER\\AppData\\Roaming\\Godot\\Templates + +With the following names: + +:: + + windows_32_debug.exe + windows_32_release.exe + windows_64_debug.exe + windows_64_release.exe + +However, if you are writing your custom modules or custom C++ code, you +might instead want to configure your binaries as custom export templates +here: + +.. image:: /img/wintemplates.png + +You don't even need to copy them, you can just reference the resulting +files in the bin\\\\ directory of your Godot source folder, so the next +time you build you automatically have the custom templates referenced. + + diff --git a/advanced_topics/configure_your_ide.rst b/advanced_topics/configure_your_ide.rst new file mode 100644 index 000000000..e69790f06 --- /dev/null +++ b/advanced_topics/configure_your_ide.rst @@ -0,0 +1,11 @@ +Configure an IDE +================ + +With Eclipse +------------ + +With QtCreator +-------------- + +With another editor (vim, emacs, Atom...) +----------------------------------------- diff --git a/advanced_topics/core_types.rst b/advanced_topics/core_types.rst new file mode 100644 index 000000000..2091e6d65 --- /dev/null +++ b/advanced_topics/core_types.rst @@ -0,0 +1,231 @@ +Core types +========== + +| Godot has a rich set of classes and template that make for its core, + and everything is built upon them. +| This reference will try to list them in order for their better + understanding. + +Definitions +----------- + +Godot uses the standard C98 datatypes, such as ``uint8_t``, +``uint32_t``, ``int64_t``, etc. which are nowadays supported by every +compiler. Reinventing the wheel for those is not fun, as it makes code +more difficult to read. + +In general, care is not taken to use the most efficient datatype for a +given task unless using large structures or arrays. ``int`` is used +through most of the code unless neccesary. This is done because nowadays +every device has at least a 32 bits bus and can do such operations in +one cycle. It makes code more readable too. + +For files or memory sizes, ``size_t`` is used, which is warranted to be +64 bits. + +For Unicode characters, CharType instead of wchar\_t is used, because +many architectures have 4 bytes long wchar\_t, where 2 bytes might be +desired. However, by default, this has not been forced and CharType maps +directly to wchar\_t. + +References: +~~~~~~~~~~~ + +- \\\ `core/typedefs.h\\ `__ + +Memory model +------------ + +PC is a wonderful architecture. Computers often have gigabytes of RAM, +terabytes of storage and gigahertz of CPU, and when an application needs +more resources the OS will just swap out the inactive ones. Other +architectures (like mobile or consoles) are in general more limited. + +| The most common memory model is the heap, where an application will + request a region of memory, and the underlying OS will try to fit it + somewhere and return it. This often works best and is very flexible, + but over time and with abuse, this can lead to segmentation. +| Segmentation slowly creates holes that are too small for most common + allocations, so that memory is wasted. There is a lot of literature + about heap and segmentation, so this topic will not be developed + further here. Modern Operating Systems use paged memory, which helps + mitigate the problem of segmentation but doesn't solve it. + +However, in many studies and tests, it is shown that given enough +memory, if the maximum allocation size is below a given threshold in +proportion to the maximum heap size and proportion of memory intended to +be unused, segmentation will not be a problem over time as it will +remain constant. In other words, just leave 10-20% of your memory free +and perform all small allocations and you are fine. + +Godot ensures that all objects that can be allocated dynamically are +small (less than a few kb at most). But what happens if an allocation is +too large (like an image or mesh geometry or large array)? In this case +Godot has the option to use a dynamic memory pool. This memory needs to +be locked to be accessed, and if an allocation runs out of memory, the +pool will be rearranged and compacted on demand. Depending on the need +of the game, the programmer can configure the dynamic memory pool size. + +Allocating memory +----------------- + +Godot has many tools for tracking memory usage in an game, specially +during debug. Because of this, the regular C and C++ library calls +should not be used. Instead, a few other ones are provided. + +For C-style allocation, Godot provides a few macros: + +:: + + memalloc() + memrealloc() + memfree() + +These are equivalent to the usual malloc, realloc, free of the standard +library. + +For C++-style allocation, special macros are provided: + +:: + + memnew( Class / Class(args) ) + memdelete( instance ) + + memnew_arr( Class , amount ) + memdelete_arr( pointer to array ) + +which are equivalent to new, delete, new[] and delete[]. + +memnew/memdelete also use a little C++ magic and notify Objects right +after they are created, and right before they are deleted. + +For dynamic memory, the DVector<> template is provided. Just use it +like: + +:: + + DVector + +DVector is just a standard vector class, it can be accessed using the [] +operator, but that's probably slow for large amount of accesses (as it +has to lock internally). A few helpers exist for this: + +:: + + DVector::Read r = dvector.read() + int someint = r[4] + +and + +:: + + DVector::Write w = dvector.write() + w[4]=22; + +respectively. These allow fast read/write from DVectors and keep it +locked until they go out of scope. + +References: +~~~~~~~~~~~ + +- \\\ `core/os/memory.h\\ `__ +- \\\ `core/dvector.h\\ `__ + +Containers +---------- + +Godot provides also a set of common containers: + +- Vector +- List +- Set +- Map + +The are very simple and aim to be as minimal as possible, as templates +in C++ are often inlined and make the binary size much fatter, both in +debug symbols and code. List, Set and Map can be iterated using +pointers, like this: + +:: + + for(List::Element *E=somelist.front();E;E=E->next()) { + print_line(E->get()); //print the element + } + +The Vector<> class also has a few nice features: + +- It does copy on write, so making copies of it is cheap as long as + they are not modified. +- It supports multi-threading, by using atomic operations on the + reference counter. + +References: +~~~~~~~~~~~ + +- \\\ `core/vector.h\\ `__ +- \\\ `core/list.h\\ `__ +- \\\ `core/set.h\\ `__ +- \\\ `core/map.h\\ `__ + +String +------ + +Godot also provides a String class. This class has a huge amoun of +features, full Unicode support in all the functions (like case +operations) and utf8 parsing/exracting, as well as helpers for +conversion and visualization. + +References: +~~~~~~~~~~~ + +- \\\ `core/ustring.h\\ `__ + +StringName +---------- + +| StringNames are like a String, but they are unique. Creating a + StringName from a string results in a unique internal pointer for all + equal strings. StringNames are really useful for using strings as + identifier, as comparing them is basically comparing a pointer. +| Creation of a StringName (specially a new one) is slow, but comparison + is fast. + +References: +~~~~~~~~~~~ + +- \\\ `core/string\_db.h\\ `__ + +Math types +---------- + +There are several linear math types available in the core/math +directory, they are basically just that. + +References: +~~~~~~~~~~~ + +- \\\ `core/math\\ `__ + +NodePath +-------- + +This is a special datatype sued for storing paths in a scenetree and +referencing them fast. + +References: +~~~~~~~~~~~ + +- \\\ `core/path\_db.h\\ `__ + +RID +--- + +RIDs are resource IDs. Servers use these to reference data stored in +them. RIDs are opaque, meaning that the data they reference can't be +accessed directly. RIDs are unique, even for different types of +referenced data. + +References: +~~~~~~~~~~~ + +- \\\ `core/rid.h\\ `__ diff --git a/advanced_topics/creating_android_modules.rst b/advanced_topics/creating_android_modules.rst new file mode 100644 index 000000000..e4b7549d4 --- /dev/null +++ b/advanced_topics/creating_android_modules.rst @@ -0,0 +1,354 @@ +Creating Android modules +======================== + +Introduction +------------ + +| Making videogames portable is all fine and dandy, until mobile gaming + monetization shows up. +| This area is complex, usually a mobile game that monetizes needs + special connections to a server for stuff such as: + +- Analytics +- In-app purchases +- Receipt validation +- Install tracking +- Ads +- Video ads +- Cross promotion +- In-game soft & hard currencies +- Promo codes +- A/B testing +- Login +- Cloud saves +- Leaderboards and scores +- User support & feedback +- Posting to Facebook, Twitter, etc. +- Push notifications + +Oh yeah, developing for mobile is a lot of work. On iOS, you can just +write a C++ module and take advantage of the C++/ObjC +intercommunication, so this is rather easy. + +For C++ developers Java is a pain, the build system is severely bloated +and interfacing it with C++ through JNI (Java Native Interface) is more +pain that you don't want even for your worst enemy. + +Maybe REST? +----------- + +Most of these APIs allow communication via REST+JSON APIs. Godot has +great support for HTTP, HTTPS and JSON, so consider this as an option +that works in every platform. Only write the code once and you are set +to go. + +Popular engines that have half the share of apps published on mobile get +special plugins written just for them. Godot does not have that luxury +yet. So, if you write a REST implementation of a SDK for Godot, please +share it with the community. + +Android module +-------------- + +Writing an Android module is similar to [[Custom modules in C++]], but +needs a few more steps. + +Make sure you are familiar with building your own [[Compiling for +Android\|Android export templates]], as well as creating [[Custom +modules in C++\|custom modules]]. + +config.py +~~~~~~~~~ + +In the config.py for the module, some extra functions are provided for +convenience. First, it's often wise to detect if android is being built +and only enable building in this case: + +|
+| def can\_build(plat):
+| return plat==\\"android\\"
+
+.. raw:: html
+
+   
+ +If more than one platform can be built (typical if implementing the +module also for iOS), check manually for Android in the configure +functions: + +|
+| def can\_build(plat):
+| return plat\\"android\\" or plat\\"iphone\\"
+
+| def configure(env):
+| if env['platform'] == 'android':
+| #androd specific code
+
+.. raw:: html
+
+   
+ +Java singleton +-------------- + +An android module will usually have a singleton class that will load it, +this class inherits from ``Godot.SingletonBase``. A singleton object +template follows: + +|
+| //namespace is wrong, will eventually change
+| package com.android.godot;
+
+public class MySingleton extends Godot.SingletonBase {
+
+| public int myFunction(String p\_str) {
+| // a function to bind
+| }
+
+static public Godot.SingletonBase initialize(Activity p\_activity) {
+
+| return new MySingleton(p\_activity);
+| }
+
+| public MySingleton(Activity p\_activity) {
+| //register class name and functions to bind
+| registerClass(\\"MySingleton\\", new String[]{\\"myFunction\\"});
+
+| // you might want to try initializing your singleton here, but android
+| // threads are weird and this runs in another thread, so you usually
+  have to do
+| activity.runOnUiThread(new Runnable() {
+| public void run() {
+| //useful way to get config info from engine.cfg
+| String key = GodotLib.getGlobal(\\"plugin/api\_key\\");
+| SDK.initializeHere();
+| }
+| });
+
+}
+
+// forwarded callbacks you can reimplement, as SDKs often need them
+
+protected void onMainActivityResult(int requestCode, int resultCode,
+Intent data) {}
+
+| protected void onMainPause() {}
+| protected void onMainResume() {}
+| protected void onMainDestroy() {}
+
+| protected void onGLDrawFrame(GL10 gl) {}
+| protected void onGLSurfaceChanged(GL10 gl, int width, int height) {}
+  // singletons will always miss first onGLSurfaceChanged call
+
+}
+
+.. raw:: html
+
+   
+ +Calling back to Godot from Java is a little more difficult. The instance +ID of the script must be known first, this is obtained by calling +``get_instance_ID()`` on the script. This returns an integer that can be +passed to Java. + +From Java, use the calldeferred function to communicate back with Godot. +Java will most likely run in a separate thread, so calls are deferred: + +
GodotLib.calldeferred(, \\"\\", new
+Object[]{param1,param2,etc});
+
+.. raw:: html
+
+   
+ +Add this singleton to the build of the project by adding the following +to config.py: + +|
+| def can\_build(plat):
+| return plat\\"android\\" or plat\\"iphone\\"
+
+| def configure(env):
+| if env['platform'] == 'android':
+| # will copy this to the java folder
+| env.android\_module\_file(\\"MySingleton.java\\")
+| #env.android\_module\_file(\\"MySingleton2.java\\") call again for
+  more files
+
+.. raw:: html
+
+   
+ +AndroidManifest +--------------- + +Some SDKs need custom values in AndroidManifest.xml. Permissions can be +edited from the godot exporter so there is no need to add those, but +maybe other functionalities are needed. + +Create the custom chunk of android manifest and put it inside the +module, add it like this: + +|
+| def can\_build(plat):
+| return plat\\"android\\" or plat\\"iphone\\"
+
+| def configure(env):
+| if env['platform'] == 'android':
+| # will copy this to the java folder
+| env.android\_module\_file(\\"MySingleton.java\\")
+| env.android\_module\_manifest(\\"AndroidManifestChunk.xml\\")
+
+.. raw:: html
+
+   
+ +SDK library +----------- + +So, finally it's time to add the SDK library. The library can come in +two flavors, a JAR file or an Android project for ant. JAR is the +easiest to integrate, just put it in the module directory and add it: + +|
+| def can\_build(plat):
+| return plat\\"android\\" or plat\\"iphone\\"
+
+| def configure(env):
+| if env['platform'] == 'android':
+| # will copy this to the java folder
+| env.android\_module\_file(\\"MySingleton.java\\")
+| env.android\_module\_manifest(\\"AndroidManifestChunk.xml\\")
+| env.android\_module\_library(\\"MyLibrary-3.1.jar\\")
+
+.. raw:: html
+
+   
+ +SDK project +----------- + +When this is an Android project, things usually get more complex. Copy +the project folder inside the module directory and configure it: + +:: + + c:\\godot\\modules\\mymodule\\sdk-1.2> android -p . -t 15 + +As of this writing, godot uses minsdk 10 and target sdk 15. If this ever +changes, should be reflected in the manifest template: + +\\\ `https://github.com/okamstudio/godot/blob/master/platform/android/AndroidManifest.xml.template\\ `__ + +Then, add the module folder to the project: + +|
+| def can\_build(plat):
+| return plat\\"android\\" or plat\\"iphone\\"
+
+| def configure(env):
+| if env['platform'] == 'android':
+| # will copy this to the java folder
+| env.android\_module\_file(\\"MySingleton.java\\")
+| env.android\_module\_manifest(\\"AndroidManifestChunk.xml\\")
+| env.android\_module\_source(\\"sdk-1.2\\",\\"\\")
+
+.. raw:: html
+
+   
+ +Building +-------- + +As you probably modify the contents of the module, and modify your .java +inside the module, you need the module to be built with the rest of +Godot, so compile android normally. + +:: + + c:\\godot> scons p=android + +This will cause your module to be included, the .jar will be copied to +the java folder, the .java will be copied to the sources folder, etc. +Each time you modify the .java scons must be called. + +Afterwards, just build the ant project normally: + +:: + + c:\\godot\\platform\\android\\java> ant release + +This should generate the apk used as export template properly, as +defined in the [[Compiling for Android\|Android build instructions]]. + +Usually to generate the apk, again both commands must be run in +sequence: + +:: + + c:\\godot> scons p=android + c:\\godot\\platform\\android\\java> ant release + +Using the Module +~~~~~~~~~~~~~~~~ + +To use the Module from GDScript, first enable the singleton by adding +the following line to engine.cfg: + +:: + + [android] + + modules=\"com/android/godot/MySingleton\" + +More than one singleton module can be enable by separating with comma: + +:: + + [android] + + modules=\"com/android/godot/MySingleton,com/android/godot/MyOtherSingleton\" + +Then just request the singleton Java object from Globals like this: + +|
+| #in any file
+
+var singleton=null
+
+| func \_init():
+| singleton = Globals.get\_singleton(\\"MySingleton\\")
+| print( singleton.myFunction(\\"Hello\\") )
+
+.. raw:: html
+
+   
+ +Troubleshooting +--------------- + +(This section is a work in progress, report your problems here!) + +Godot crashes upon load +~~~~~~~~~~~~~~~~~~~~~~~ + +Check ``adb logcat`` for possible problems, then: + +- Make sure libgodot\_android.so is in the libs/armeabi folder +- Check that the methods used in the Java singleton only use simple + Java datatypes, more complex ones are not supported. + +Future +------ + +| Godot has an experimental Java API Wrapper that allows to use the + entire Java API fro GDScript. +| It's simple to use and it's used like this: + +:: + + class = JavaClassWrapper.wrap() + +This is most likely not functional yet, if you want to test it and help +us make it work, contact us through the \\\ `developer mailing +list\\ `__. diff --git a/advanced_topics/cross-compiling_for_ios_on_linux.rst b/advanced_topics/cross-compiling_for_ios_on_linux.rst new file mode 100644 index 000000000..3be1d2cbd --- /dev/null +++ b/advanced_topics/cross-compiling_for_ios_on_linux.rst @@ -0,0 +1,157 @@ +Cross-compiling for iOS on Linux +================================ + +The procedure for this is somewhat complex and requires a lot of steps, +but once you have the environment properly configured it will be easy to +compile Godot for iOS anytime you want. + +Disclaimer +---------- + +While it is possible to compile for iOS on a Linux environment, Apple is +very restrictive about the tools to be used (specially hardware-wise), +allowing pretty much only their products to be used for development. So +this is **not official**. However, a \\\ `statement from Apple in +2010\\ `__ +says they relaxed some of the \\\ `App Store review +guidelines\\ `__ +to allow any tool to be used, as long as the resulting binary do not +download any code, which means it should be OK to use the procedure +described here and cross-compiling the binary. + +Requirements +------------ + +- \\\ `**XCode with the iOS + SDK**\\ `__ (a dmg image) +- \\\ `**Clang >=3.5**\\ `__ for your + development machine installed and in the ``PATH``. It needs to be + version >= 3.5 to target ``arm64`` architecture. +- \\\ `**Fuse**\\ `__ for mounting and + umounting the dmg image. +- \\\ `**darling-dmg**\\ `__, + which needs to be built from source. The procedure for that is + explained below. + + - For building darling-dmg, you'll need the development packages of + the following libraries: **fuse, icu, openssl, zlib, bzip2**. + +- \\\ `**cctools-port**\\ `__ + for the needed build tools. The procedure for building is quite + peculiar and is described below. + + - This also has some extra dependencies: **automake, autogen, + libtool**. + +Configuring the environment +--------------------------- + +darling-dmg +~~~~~~~~~~~ + +# Clone the repository in your machine: + +:: + + $ git clone https://github.com/LubosD/darling-dmg.git + +# Build it: + +:: + + $ cd darling-dmg + $ mkdir build + $ cd build + $ cmake .. -DCMAKE_BUILD_TYPE=RELEASE + $ make -j 4 # The number is the amount of cores your processor have, for faster build + $ cd ../.. + +Preparing the SDK +~~~~~~~~~~~~~~~~~ + +# Mount the XCode image: + +:: + + $ mkdir xcode + $ ./darling-dmg/build/darling-dmg /path/to/Xcode_7.1.1.dmg xcode + [...] + Everything looks OK, disk mounted + +# Extract the iOS SDK: + +:: + + $ mkdir -p iPhoneSDK/iPhoneOS9.1.sdk + $ cp -r xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/* iPhoneSDK/iPhoneOS9.1.sdk + $ cp -r xcode/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/* iPhoneSDK/iPhoneOS9.1.sdk/usr/include/c++ + $ fusermount -u xcode # unmount the image + +# Pack the SDK: + +:: + + $ cd iPhoneSDK + $ tar -cf - * | xz -9 -c - > iPhoneOS9.1.sdk.tar.xz + +Toolchain +~~~~~~~~~ + +# Build cctools: + +:: + + $ git clone https://github.com/tpoechtrager/cctools-port.git + $ cd cctools-port/usage_examples/ios_toolchain + $ ./build.sh /path/iPhoneOS9.1.sdk.tar.xz arm64 + +# Copy the tools to a nicer place. Note that the SCons scripts for +building will look under ``usr/bin`` inside the directory you provide +for the toolchain binaries, so you must copy to such subdirectory, akin +to the following commands: + +:: + + $ mkdir -p /home/user/iostoolchain/usr + $ cp -r target/bin /home/user/iostoolchain/usr/ + +Now you should have the iOS toolchain binaries in +``/home/user/iostoolchain/usr/bin``. + +Compiling Godot for iPhone +-------------------------- + +Once you've done the above steps, you should keep two things in your +environment: the built toolchain and the iPhoneOS SDK directory. Those +can stay anywhere you want since you have to provide their paths to the +SCons build command. + +# For the iPhone platform to be detected, you need the ``OSXCROSS_IOS`` +environment variable defined to anything. + +:: + + $ export OSXCROSS_IOS=anything + +# Now you can compile for iPhone using SCons like the standard Godot +way, with some additional arguments to provide the correct paths: + +:: + + $ scons -j 4 platform=iphone bits=32 target=release_debug IPHONESDK=\"/path/to/iPhoneSDK\" IPHONEPATH=\"/path/to/iostoolchain\" ios_triple=\"arm-apple-darwin11-\" + $ scons -j 4 platform=iphone bits=64 target=release_debug IPHONESDK=\"/path/to/iPhoneSDK\" IPHONEPATH=\"/path/to/iostoolchain\" ios_triple=\"arm-apple-darwin11-\" + +Producing fat binaries +~~~~~~~~~~~~~~~~~~~~~~ + +Apple requires a fat binary with both achitectures (``armv7`` and +``arm64``) in a single file. To do this, use the +``arm-apple-darwin11-lipo`` executable. The following example assumes +you are in the root Godot source directory: + +:: + + $ /path/to/iostoolchain/usr/bin/arm-apple-darwin11-lipo -create bin/godot.iphone.opt.debug.32 bin/godot.iphone.opt.debug.64 -output bin/godot.iphone.opt.debug.fat + +Then you will have an iOS fat binary in +``bin/godot.iphone.opt.debug.fat``. diff --git a/advanced_topics/custom_modules_in_c++.rst b/advanced_topics/custom_modules_in_c++.rst new file mode 100644 index 000000000..b0190a54a --- /dev/null +++ b/advanced_topics/custom_modules_in_c++.rst @@ -0,0 +1,258 @@ +Custom modules in C++ +===================== + +Modules +------- + +Godot allows extending the engine in a modular way. New modules can be +created and then enabled/disabled. This allows for adding new engine +functionality at every level without modifying the core, which can be +split for use and reuse in different modules. + +Modules are located in them modules/ subdirectory of the build system. +By default, two modules exist, GDScript (which, yes it's not part of the +core engine), and the GridMap. As many new modules as desired can be +created and combined, and the SCons build system will take care of it +transparently. + +What for? +--------- + +While it's recommended that most of a game is written in scripting (as +it is an enormous time saver), it's perfectly possible to use C++ +instead. Adding C++ modules can be useful in the following scenarios: + +- Binding an external library to Godot (like Bullet, Physx, FMOD, etc). +- Optimize critical parts of a game. +- Adding new functionality to the engine and/or editor. +- Porting an existing game. +- Write a whole, new game in C++ because you can't live without C++. + +Creating a new module +--------------------- + +Before creating a module, make sure to download the source code of Godot +and manage to compile it. There are tutorials in the wiki for this. + +To create a new module, the first step is creating a directory inside +modules. If you want to maintain the module separately, you can checkout +a different VCS into modules and use it. + +The example module will be called \\"sumator\\", and is placed inside +the Godot source tree (C:\\\\godot refers to wherever the Godot sources +are located): + +:: + + c:\\godot> cd modules + c:\\godot\\modules> mkdir sumator + c:\\godot\\modules> cd sumator + c:\\godot\\modules\\sumator> + +Inside we will create a simple sumator class: + +|
+| /\* sumator.h \*/
+| #ifndef SUMATOR\_H
+| #define SUMATOR\_H
+
+#include "reference.h"
+
+| class Sumator : public Reference {
+| OBJ\_TYPE(Sumator,Reference);
+
+int count;
+
+| protected:
+| static void \_bind\_methods();
+| public:
+
+| void add(int value);
+| void reset();
+| int get\_total() const;
+
+| Sumator();
+| };
+
+#endif
+
+.. raw:: html
+
+   
+ +And then the cpp file. + +|
+| /\* sumator.cpp \*/
+
+#include "sumator.h"
+
+void Sumator::add(int value) {
+
+| count+=value;
+| }
+
+void Sumator::reset() {
+
+| count=0;
+| }
+
+int Sumator::get\_total() const {
+
+| return count;
+| }
+
+void Sumator::\_bind\_methods() {
+
+| ObjectTypeDB::bind\_method("add",&Sumator::add);
+| ObjectTypeDB::bind\_method("reset",&Sumator::reset);
+| ObjectTypeDB::bind\_method("get\_total",&Sumator::get\_total);
+| }
+
+| Sumator::Sumator() {
+| count=0;
+| }
+
+.. raw:: html
+
+   
+ +Then, the new class needs to be registered somehow, so two more files +need to be created: + +:: + + register_types.h + register_types.cpp + +With the following contents + +|
+| /\* register\_types.h \*/
+
+| void register\_sumator\_types();
+| void unregister\_sumator\_types();
+| /\* yes, the word in the middle must be the same as the module folder
+  name \*/
+
+.. raw:: html
+
+   
+ +|
+| /\* register\_types.cpp \*/
+
+| #include "register\_types.h"
+| #include "object\_type\_db.h"
+| #include "sumator.h"
+
+void register\_sumator\_types() {
+
+| ObjectTypeDB::register\_type<Sumator>();
+| }
+
+| void unregister\_sumator\_types() {
+| //nothing to do here
+| }
+
+.. raw:: html
+
+   
+ +Next, we need to create a SCsub so the build system compiles this +module: + +
+
+#. SCsub
+   Import('env')
+
+env.add\_source\_files(env.modules\_sources,"\*.cpp") # just add
+all cpp files to the build
+
+.. raw:: html
+
+   
+ +And finally, the configuration file for the module, this is a simple +python script that must be named 'config.py' + +
+
+#. config.py
+
+| def can\_build(platform):
+| return True
+
+| def configure(env):
+| pass
+
+.. raw:: html
+
+   
+ +The module is asked if it's ok to build for the specific platform (in +this case, True means it will build for every platform). + +The second function allows to customize the build process for the +module, like adding special compiler flags, options etc. (This can be +done in SCSub, but configure(env) is called at a previous stage). If +unsure, just ignore this. + +And that's it. Hope it was not too complex! Your module should look like +this: + +:: + + godot/modules/sumator/config.py + godot/modules/sumator/sumator.h + godot/modules/sumator/sumator.cpp + godot/modules/sumator/register_types.h + godot/modules/sumator/register_types.cpp + godot/modules/sumator/SCsub + +You can then zip it and share the module with everyone else. When +building for every platform (instructions in the previous section), your +module will be included. + +Using the module +---------------- + +Using your newly created module is very easy, from any script you can +do: + +|
+| var s = Sumator.new()
+| s.add(10)
+| s.add(20)
+| s.add(30)
+| print( s.get\_total() )
+| s.reset()
+
+.. raw:: html
+
+   
+ +And the output will be ``60``. + +Summing up +---------- + +As you see, it's really easy to develop Godot in C++. Just write your +stuff normally and remember to: + +- use ``OBJ_TYPE`` macro for inheritance, so Godot can wrap it +- use ``_bind_methods`` to bind your functions to scripting, and to + allow them to work as callbacks for signals. + +But this is not all, depending what you do, you will be greeted with +some surprises. + +- If you inherit from [[API:Node]] (or any derived node type, such as + Sprite), your new class will appear in the editor, in the inheritance + tree in the \\"Add Node\\" dialog. +- If you inherit from [[API:Resource]], it will appear int the resource + list, and all the exposed properties can be serialized when + saved/loaded. +- By this same logic, you can extend the Editor and almost any area of + the engine. diff --git a/advanced_topics/developing.rst b/advanced_topics/developing.rst new file mode 100644 index 000000000..757ab1edd --- /dev/null +++ b/advanced_topics/developing.rst @@ -0,0 +1,13 @@ +Developing in C++ +================= + +.. toctree:: + :maxdepth: 1 + :name: developing-in-c++ + + core_types + variant_class + object_class + + custom_modules_in_c++ + creating_android_modules diff --git a/advanced_topics/formats.rst b/advanced_topics/formats.rst new file mode 100644 index 000000000..38a52f5c7 --- /dev/null +++ b/advanced_topics/formats.rst @@ -0,0 +1,8 @@ +Data and file formats +===================== + +.. toctree:: + :maxdepth: 1 + :name: data-and-file-formats + + binary_serialization_api diff --git a/advanced_topics/index.rst b/advanced_topics/index.rst new file mode 100644 index 000000000..51ef88f08 --- /dev/null +++ b/advanced_topics/index.rst @@ -0,0 +1,11 @@ +Advanced topics +=============== + +.. toctree:: + :maxdepth: 2 + :name: advanced-topics + + compiling + developing + formats + misc diff --git a/advanced_topics/introduction_to_godot_development.rst b/advanced_topics/introduction_to_godot_development.rst new file mode 100644 index 000000000..1183a3290 --- /dev/null +++ b/advanced_topics/introduction_to_godot_development.rst @@ -0,0 +1,13 @@ +Introduction to Godot development +================================= + +This page introduces the global organization of Godot Engine's source +code. + +Debugging the editor with gdb +----------------------------- + +If you are writing or correcting bugs affecting Godot Engine editor, +remember that the binary runs the launcher first, which runs the editor +in another process. Thus, you need to run the editor directly by passing +the ``-e`` argument to Godot Engine editor's binary. diff --git a/advanced_topics/introduction_to_the_buildsystem.rst b/advanced_topics/introduction_to_the_buildsystem.rst new file mode 100644 index 000000000..1252dd3a5 --- /dev/null +++ b/advanced_topics/introduction_to_the_buildsystem.rst @@ -0,0 +1,218 @@ +Introduction to the buildsystem +=============================== + +Scons +----- + +Godot uses \\\ `Scons\\ `__ to build. We love it, +we are not changing it for anything else. We are not even sure other +build systems are up to the task of building Godot. We constantly get +requests to move the build system to CMake, or Visual Studio, but this +is not going to happen. There are many reasons why we have chosen SCons +over other alternatives and are listed as follows: + +- Godot can be compiled for a dozen different platforms. All PC + platforms, all mobile platforms, many consoles, and many web-based + platforms (such as HTML5 and Chrome PNACL). +- Developers often need to compile for several of the platforms **at + the same time**, or even different targets of the same platform. They + can't afford reconfiguring and rebuilding the project each time. + SCons can do this with no sweat, without breaking the builds. +- SCons will *never* break a build no matter how many changes, + configurations, additions, removals etc. You have more chances to die + struck by lightning than needing to clean and rebuild in SCons. +- Godot build process is not simple. Several files are generated by + code (binders), others are parsed (shaders), and others need to offer + customization (plugins). This requires complex logic which is easier + to write in an actual programming language (like Python) rather than + using a mostly macro-based language only meant for building. +- Godot build process makes heavy use of cross compiling tools. Each + platform has a specific detection process, and all these must be + handled as specific cases with special code written for each. + +So, please get at least a little familiar with it if you are planning to +build Godot yourself. + +Platform selection +------------------ + +Godot's build system will begin by detecting the platforms it can build +for. If not detected, the platform will simply not appear on the list of +available platforms. The build requirements for each platform are +described in the rest of this tutorial section. + +Scons is invoked by just calling ``scons``. + +However, this will do nothing except list the available platforms, for +example: + +:: + + user@host:~/godot$ scons + scons: Reading SConscript files ... + No valid target platform selected. + The following were detected: + android + server + javascript + windows + x11 + + Please run scons again with argument: platform= + scons: done reading SConscript files. + scons: Building targets ... + scons: `.' is up to date. + scons: done building targets. + +To build a platform (for example, x11), run with the platform= (or just +p= to make it short) argument: + +:: + + user@host:~/godot$ scons platform=x11 + +This will start the build process, which will take a while. If you want +scons to build faster, use the -j parameter to specify how many cores +will be used for the build. Or just leave it using one core, so you can +use your computer for something else :) + +Example for using 4 processes: + +:: + + user@host:~/godot$ scons platform=x11 -j 4 + +Resulting binary +---------------- + +The resulting binaries will be placed in the bin/ subdirectory, +generally with this naming convention: + +:: + + godot..[opt].[tools/debug].. + +For the previous build attempt the result would look like this: + +:: + + user@host:~/godot$ ls bin + bin/godot.x11.tools.64 + +This means that the binary is for X11, is not optimized, has tools (the +whole editor) compiled in, and is meant for 64 bits. + +A Windows binary with the same configuration will look like this. + +:: + + C:\\GODOT> DIR BIN/ + godot.windows.tools.64.exe + +Just copy that binary to wherever you like, as it self-contains the +project manager, editor and all means to execute the game. However, it +lacks the data to export it to the different platforms. For that the +export templates are needed (which can be either downloaded from +http://www.godotengine.org, or you can build them yourself). + +Aside from that, there are a few standard options that can be set in all +build targets, and will be explained as follows. + +Tools +----- + +Tools are enabled by default in al PC targets (Linux, Windows, OSX), +disabled for everything else. Disabling tools produces a binary that can +run projects but that does not include the editor or the project +manager. + +:: + + scons platform= tools=yes/no + +Target +------ + +Target controls optimization and debug flags. Each mode means: + +- **debug**: Build with C++ debugging symbols, runtime checks (performs + checks and reports error) and none to little optimization. +- **release\_debug**: Build without C++ debugging symbols and + optimization, but keep the runtime checks (performs checks and + reports errors). Official binaries use this configuration. +- **release**: Build without symbols, with optimization and with little + to no runtime checks. This target can't be used together with + tools=yes, as the tools require some debug functionality and run-time + checks to run. + +:: + + scons platform= target=debug/release_debug/release + +This flag appends \\".debug\\" suffix (for debug), or \\".tools\\" (for +debug with tools enables). When optimization is enabled (release) it +appends the \\".opt\\" suffix. + +Bits +---- + +Bits is meant to control the CPU or OS version intended to run the +binaries. It works mostly on desktop platforms and ignored everywhere +else. + +- **32**: Build binaries for 32 bits platform. +- **64**: Build binaries for 64 bits platform. +- **default**: Built whatever the build system feels is best. On Linux + this depends on the host platform (if not cross compiling), while on + Windows and Mac it defaults to produce 32 bits binaries unless 64 + bits is specified. + +:: + + scons platform= bits=default/32/64 + +This flag appends \\".32\\" or \\".64\\" suffixes to resulting binaries +when relevant. + +Export templates +---------------- + +Official export templates are downloaded from the Godot Engine site: +http://www.godotengine.org. However, you might want to build them +yourself (in case you want newer ones, you are using custom modules, or +simply don't trust your own shadow). + +If you download the official export templates package and unzip it, you +will notice that most are just optimized binaries or packages for each +platform: + +:: + + android_debug.apk + android_release.apk + javascript_debug.zip + javascript_release.zip + linux_server_32 + linux_server_64 + linux_x11_32_debug + linux_x11_32_release + linux_x11_64_debug + linux_x11_64_release + osx.zip + version.txt + windows_32_debug.exe + windows_32_release.exe + windows_64_debug.exe + windows_64_release.exe + windows_debug.exe + windows_release.exe + +To create those yourself, just follow the instructions detailed for each +platform in this same tutorial section. Each platform explains how to +create it's own template. + +If you are working for multiple platforms, OSX is definitely the best +host platform for cross compilation, since you can cross-compile for +almost every target (except for winrt). Linux and Windows come in second +place, but Linux has the advantage of being the easier platform to set +this up. diff --git a/advanced_topics/misc.rst b/advanced_topics/misc.rst new file mode 100644 index 000000000..f31ed3468 --- /dev/null +++ b/advanced_topics/misc.rst @@ -0,0 +1,11 @@ +Misc +==== + +.. toctree:: + :maxdepth: 1 + :name: misc + + command_line_tutorial + changing_editor_fonts + services_for_ios + diff --git a/advanced_topics/object_class.rst b/advanced_topics/object_class.rst new file mode 100644 index 000000000..ac84e3410 --- /dev/null +++ b/advanced_topics/object_class.rst @@ -0,0 +1,369 @@ +Object class +============ + +Object is the base class for almost everything. Most classes in Godot +inherit directly or indirectly from it. Objects provide reflection and +editable properties, and declaring them is a matter of using a single +macro like this. + +|
+| class CustomObject : public Object {
+
+| OBJ\_TYPE(CustomObject,Object); // this required to inherit
+| };
+
+.. raw:: html
+
+   
+ +This makes objects gain a lot of functionality, like for example + +|
+| obj = memnew(CustomObject);
+| print\_line("Object Type: ",obj->get\_type()); //print object type
+
+obj2 = obj->cast\_to<OtherType>(); // converting between types,
+this also works without RTTI enabled.
+
+.. raw:: html
+
+   
+ +References: +~~~~~~~~~~~ + +- \\\ `core/object.h\\ `__ + +Registering an Object +--------------------- + +ObjectTypeDB is a static class that hold the entire list of registered +classes that inherit from object, as well as dynamic bindings to all +their methods properties and integer constants. + +Classes are registered by calling: + +
ObjectTypeDB::register\_type()
+
+.. raw:: html
+
+   
+ +Registering it will allow the type to be instanced by scripts, code, or +creating them again when deserializing. + +Registering as virtual is the same but it can't be instanced. + +
ObjectTypeDB::register\_virtual\_type()
+
+.. raw:: html
+
+   
+ +Object derived classes can override a static function +``static void _bind_methods()``, when one class is registered, this +static function is called to register all the object methods, +properties, constants, etc. It's only called once. If an Object derived +class is instanced but has not been registered, it will be registered as +virtual automatically. + +Inside ``_bind_methods``, there are a couple of things that can be done. +Registering functions is one: + +
ObjectTypeDB::register\_method(\_MD (\\"methodname\\",\\"arg1name\\",\\"arg2name\\"),&MyCustethod);
+
+.. raw:: html
+
+   
+ +Default values for arguments can be passed in reverse order: + +
ObjectTypeDB::register\_method(\_MD (\\"methodname\\",\\"arg1name\\",\\"arg2name\\"),&MyCustomType::method,DEFVAL (-1));
+//default argument for arg2name
+
+.. raw:: html
+
+   
+ +``_MD`` is a macro that convers \\"methodname\\" to a stringname for +more efficiency. Argument names are used for instrospection, but when +compiling on release, the macro ignores them, so the strings are unused +and optimized away. + +Check ``_bind_methods`` of Control or Object for more examples. + +If just adding modules and functionality that is not expected to be +documented as throughly, the ``_MD()`` macro can safely be ignore and a +string passing the name can be passed for brevity. + +References: +~~~~~~~~~~~ + +- \\\ `core/object\_type\_db.h\\ `__ + +Constants +--------- + +Classes often have enums such as: + +|
+| enum SomeMode {
+| MODE\_FIRST,
+| MODE\_SECOND
+| };
+
+.. raw:: html
+
+   
+ +For these to work when binding to methods, the enum must be declared +convertible to int, for this a macro is provided: + +
VARIANT\_ENUM\_CAST( MyClass::SomeMode); // now
+functions that take SomeMode can be bound.
+
+.. raw:: html
+
+   
+ +The constants can also be bound inside ``_bind_methods``, by using: + +|
+| BIND\_CONSTANT( MODE\_FIRST );
+| BIND\_CONSTANT( MODE\_SECOND );
+
+.. raw:: html
+
+   
+ +Properties (set/get) +-------------------- + +Objects export properties, properties are useful for the following: + +- Serializing and deserializing the object. +- Creating a list of editable values for the Object derived class. + +Properties are usually defined by the PropertyInfo() class. Usually +constructed as: + +
PropertyInfo(type,name,hint,hint\_string,usage\_flags)
+
+.. raw:: html
+
+   
+ +For example: + +
PropertyInfo(Variant::INT,\\"amount\\",PROPERTY\_HINT\_RANGE,\\"0,49,1\\",PROPERTY\_USAGE\_EDITOR)
+
+.. raw:: html
+
+   
+ +This is an integer property, named \\"amount\\", hint is a range, range +goes from 0 to 49 in steps of 1 (integers). It is only usable for the +editor (edit value visually) but wont be serialized. + +or + +
PropertyInfo(Variant::STRING,\\"modes\\",PROPERTY\_HINT\_ENUM,\\"Enabled,Disabled,Turbo\\")
+
+.. raw:: html
+
+   
+ +This is a string property, can take any string but the editor will only +allow the defined hint ones. Since no hint flags were specified, the +default ones are PROPERTY\_USAGE\_STORAGE and PROPERTY\_USAGE\_EDITOR. + +There are plenty of hints and usages available in object.h, give them a +check. + +Properties can also work like C# properties and be accessed from script +using indexing, but ths usage is generally discouraged, as using +functions is preferred for legibility. Many properties are also bound +with categories, such as \\"animation/frame\\" which also make indexing +imposssible unless using operator []. + +From ``_bind_methods()``, properties can be created and bound as long as +a set/get functions exist. Example: + +
ADD\_PROPERTY(
+PropertyInfo(Variant::INT,\\"amount\\"), \_SCS (\\"set\_amount\\"),
+\_SCS (\\"get\_amount\\") )
+
+.. raw:: html
+
+   
+ +This creates the property using the setter and the getter. ``_SCS`` is a +macro that creates a StringName efficiently. + +Binding properties using ``_set``/``_get``/``_get_property_list`` +----------------------------------------------------------------- + +An additional method of creating properties exists when more flexibility +is desired (i.e. adding or removing properties on context): + +The following functions can be overriden in an Object derived class, +they are NOT virtual, DO NOT make them virtual, they are called for +every override and the previous ones are not invalidated (multilevel +call). + +|
+| void \_get\_property\_info(List \*r\_props); //return list of
+  propertes
+| bool \_get(const StringName& p\_property, Variany& r\_value) const;
+  //return true if property was found
+| bool \_set(const StringName& p\_property, const Variany& p\_value);
+  //return true if property was found
+
+.. raw:: html
+
+   
+ +This is also a little less efficient since ``p_property`` must be +compared against the desired names in serial order. + +Dynamic casting +--------------- + +Godot provides dynamic casting between Object Derived classes, for +example: + +|
+| void somefunc(Object \*some\_obj) {
+
+| Button \* button = some\_obj->cast\_to<Button>();
+| }
+
+.. raw:: html
+
+   
+ +If cast fails, NULL is returned. This system uses RTTI, but it also +works fine (although a bit slower) when RTTI is disabled. This is useful +on platforms where a very small binary size is ideal, such as HTML5 or +consoles (with low memory footprint). + +Signals +------- + +Objects can have a set of signals defined (similar to Delegates in other +languages). Connecting to them is rather easy: + +|
+| obj->connect(,target\_instance,target\_method)
+| //for example
+| obj->connect(\\"enter\_tree\\",this,\\"\_node\_entered\_tree\\")
+
+.. raw:: html
+
+   
+ +The method ``_node_entered_tree`` must be registered to the class using +``ObjectTypeDB::register_method`` (explained before). + +Adding signals to a class is done in ``_bind_methods``, using the +``ADD_SIGNAL`` macro, for example: + +
ADD\_SIGNAL( MethodInfo(\\"been\_killed\\") )
+
+.. raw:: html
+
+   
+ +References +---------- + +Reference inherits from Object and holds a reference count. It is the +base for reference counted object types. Declaring them must be done +using Ref<> template. For example. + +|
+| class MyReference: public Reference {
+| OBJ\_TYPE( MyReference ,Reference);
+| };
+
+Ref myref = memnew( MyReference );
+
+.. raw:: html
+
+   
+ +``myref`` is reference counted. It will be freed when no more Ref<> +templates point to it. + +References: +~~~~~~~~~~~ + +- \\\ `core/reference.h\\ `__ + +Resources: +---------- + +Resource inherits from Reference, so all resources are reference +counted. Resources can optionally contain a path, which reference a file +on disk. This can be set with ``resource.set_path(path)``. This is +normally done by the resource loader though. No two different resources +can have the same path, attempt to do so will result in an error. + +Resources without a path are fine too. + +References: +~~~~~~~~~~~ + +- \\\ `core/resource.h\\ `__ + +Resource loading +---------------- + +Resources can be loaded with the ResourceLoader API, like this: + +
Ref res =
+ResourceLoader::load(\\"res://someresource.res\\")
+
+.. raw:: html
+
+   
+ +If a reference to that resource has been loaded previously and is in +memory, the resource loader will return that reference. This means that +there can be only one resource loaded from a file referenced on disk at +the same time. + +- resourceinteractiveloader (TODO) + +References: +~~~~~~~~~~~ + +- \\\ `core/io/resource\_loader.h\\ `__ + +Resource saving +--------------- + +Saving a resource can be done with the resource saver API: + +
ResourceSaver::save(\\"res://someresource.res\\",instance)
+
+.. raw:: html
+
+   
+ +Instance will be saved. Sub resources that have a path to a file will be +saved as a reference to that resource. Sub resources without a path will +be bundled with the saved resource and assigned sub-IDs, like +\\"res://somereource.res::1\\". This also helps to cache them when +loaded. + +References: +~~~~~~~~~~~ + +- \\\ `core/io/resource\_saver.h\\ `__ diff --git a/advanced_topics/services_for_ios.rst b/advanced_topics/services_for_ios.rst new file mode 100644 index 000000000..16bff54c0 --- /dev/null +++ b/advanced_topics/services_for_ios.rst @@ -0,0 +1,434 @@ +Services for iOS +================ + +At the moment, there are 2 iOS APIs partially implemented, GameCenter +and Storekit. Both use the same model of asynchronous calls explained +below. + +Asynchronous methods +-------------------- + +When requesting an asynchronous operation, the method will look like +this: + +:: + + Error purchase(Variant p_params); + +The parameter will usually be a Dictionary, with the information +necessary to make the request, and the call will have 2 phases. First, +the method will immediately return an Error value. If the Error is not +'OK', the call operation is completed, with an error probably caused +locally (no internet connection, API incorrectly configured, etc). If +the error value is 'OK', a response event will be produced and added to +the 'pending events' queue. Example: + +|
+| func on\_purchase\_pressed():
+| var result = InAppStore.purchase( { \\\ `product\_id\\ <>`__
+  \\"my\_product\\" } )
+| if result == OK:
+| animation.play(\\"busy\\") # show the \\"waiting for response\\"
+  animation
+| else:
+| show\_error()
+
+| # put this on a 1 second timer or something
+| func check\_events():
+| while InAppStore.get\_pending\_event\_count() > 0:
+| var event = InAppStore.pop\_pending\_event()
+| if event.type  \\"purchase\\":
+              if event.result  \\\ `ok\\ <>`__
+| show\_success(event.product\_id)
+| else:
+| show\_error()
+
+.. raw:: html
+
+   
+ +Remember that when a call returns OK, the API will *always* produce an +event through the pending\_event interface, even if it's an error, or a +network timeout, etc. You should be able to, for example, safely block +the interface waiting for a reply from the server. If any of the APIs +don't behave this way it should be treated as a bug. + +The pending event interface consists of 2 methods: + +- ``get_pending_event_count()`` + Returns the number of pending events on the queue. + +- ``Variant pop_pending_event()`` + Pops the first event from the queue and returns it. + +Store Kit +--------- + +Implemented in platform/iphone/in\_app\_store.mm + +The Store Kit API is accessible through the \\"InAppStore\\" singleton +(will always be available from gdscript). It is initialized +automatically. It has 2 methods for purchasing: + +- ``Error purchase(Variant p_params);`` +- ``Error request_product_info(Variant p_params);`` + +and the pending\_event interface + +:: + + int get_pending_event_count(); + Variant pop_pending_event(); + +purchase +~~~~~~~~ + +Purchases a product id through the Store Kit API. + +Parameters +^^^^^^^^^^ + +Takes a Dictionary as a parameter, with one field, ``product_id``, a +string with your product id. Example: + +:: + + var result = InAppStore.purchase( { \"product_id\": \"my_product\" } ) + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On error: + +:: + + { + \"type\": \"purchase\", + \"result\": \"error\", + \"product_id\": \"the product id requested\" + } + +On success: + +:: + + { + \"type\": \"purchase\", + \"result\": \"ok\", + \"product_id\": \"the product id requested\" + } + +request\_product\_info +~~~~~~~~~~~~~~~~~~~~~~ + +Requests the product info on a list of product IDs. + +Parameters +^^^^^^^^^^ + +Takes a Dictionary as a parameter, with one field, ``product_ids``, a +string array with a list of product ids. Example: + +:: + + var result = InAppStore.request_product_info( { \"product_ids\": [\"my_product1\", \"my_product2\"] } ) + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +:: + + { + \"type\": \"product_info\", + \"result\": \"ok\", + \"invalid_ids\": [ list of requested ids that were invalid ], + \"ids\": [ list of ids that were valid ], + \"titles\": [ list of valid product titles (corresponds with list of valid ids) ], + \"descriptions\": [ list of valid product descriptions ] , + \"prices\": [ list of valid product prices ], + \"localized_prices\": [ list of valid product localized prices ], + } + +Game Center +----------- + +Implemented in platform/iphone/game\_center.mm + +The Game Center API is available through the \\"GameCenter\\" singleton. +It has 6 methods: + +- ``Error post_score(Variant p_score);`` +- ``Erroraward_achievement(Variant p_params);`` +- ``Error reset_achievements();`` +- ``Error request_achievements();`` +- ``Error request_achievement_descriptions();`` +- ``Error show_game_center(Variant p_params);`` + +plus the standard pending event interface. + +post\_score +~~~~~~~~~~~ + +Posts a score to a Game Center leaderboard. + +Parameters +^^^^^^^^^^ + +Takes a Dictionary as a parameter, with 2 fields: + +- ``score`` a float number +- ``category`` a string with the category name + +Example: + +:: + + var result = GameCenter.post_score( { \"value\": 100, \"category\": \"my_leaderboard\", } ) + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On error: + +:: + + { + \"type\": \"post_score\", + \"result\": \"error\", + \"error_code\": the value from NSError::code, + \"error_description\": the value from NSError::localizedDescription, + } + +On success: + +:: + + { + \"type\": \"post_score\", + \"result\": \"ok\", + } + +award\_achievement +~~~~~~~~~~~~~~~~~~ + +Modifies the progress of a Game Center achievement. + +Parameters +^^^^^^^^^^ + +Takes a Dictionary as a parameter, with 3 fields: + +- ``name`` (string) the achievement name +- ``progress`` (float) the achievement progress from 0.0 to 100.0 + (passed to ``GKAchievement::percentComplete``) +- ``show_completion_banner`` (bool) whether Game Center should display + an achievement banner at the top of the screen + +Example: + +:: + + var result = award_achievement( { \"name\": \"hard_mode_completed\", \"progress\": 6.1 } ) + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On error: + +:: + + { + \"type\": \"award_achievement\", + \"result\": \"error\", + \"error_code\": the error code taken from NSError::code, + } + +On success: + +:: + + { + \"type\": \"award_achievement\", + \"result\": \"ok\", + } + +reset\_achievements +~~~~~~~~~~~~~~~~~~~ + +Clears all Game Center achievements. The function takes no parameters. + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On error: + +:: + + { + \"type\": \"reset_achievements\", + \"result\": \"error\", + \"error_code\": the value from NSError::code + } + +On success: + +:: + + { + \"type\": \"reset_achievements\", + \"result\": \"ok\", + } + +request\_achievements +~~~~~~~~~~~~~~~~~~~~~ + +Request all the Game Center achievements the player has made progress +on. The function takes no parameters. + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On error: + +:: + + { + \"type\": \"achievements\", + \"result\": \"error\", + \"error_code\": the value from NSError::code + } + +On success: + +:: + + { + \"type\": \"achievements\", + \"result\": \"ok\", + \"names\": [ list of the name of each achievement ], + \"progress\": [ list of the progress made on each achievement ] + } + +request\_achievement\_descriptions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Request the descriptions of all existing Game Center achievements +regardless of progress. The function takes no parameters. + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On error: + +:: + + { + \"type\": \"achievement_descriptions\", + \"result\": \"error\", + \"error_code\": the value from NSError::code + } + +On success: + +:: + + { + \"type\": \"achievement_descriptions\", + \"result\": \"ok\", + \"names\": [ list of the name of each achievement ], + \"titles\": [ list of the title of each achievement ] + \"unachieved_descriptions\": [ list of the description of each achievement when it is unachieved ] + \"achieved_descriptions\": [ list of the description of each achievement when it is achieved ] + \"maximum_points\": [ list of the points earned by completing each achievement ] + \"hidden\": [ list of booleans indicating whether each achievement is initially visible ] + \"replayable\": [ list of booleans indicating whether each achievement can be earned more than once ] + } + +show\_game\_center +~~~~~~~~~~~~~~~~~~ + +Displays the built in Game Center overlay showing leaderboards, +achievements, and challenges. + +Parameters +^^^^^^^^^^ + +Takes a Dictionary as a parameter, with 2 fields: + +- ``view`` (string) (optional) the name of the view to present. Accepts + \\"default\\", \\"leaderboards\\", \\"achievements\\", or + \\"challenges\\". Defaults to \\"default\\". +- ``leaderboard_name`` (string) (optional) the name of the leaderboard + to present. Only used when \\"view\\" is \\"leaderboards\\" (or + \\"default\\" is configured to show leaderboards). If not specified, + Game Center will display the aggregate leaderboard. + +Examples: + +:: + + var result = show_game_center( { \"view\": \"leaderboards\", \"leaderboard_name\": \"best_time_leaderboard\" } ) + var result = show_game_center( { \"view\": \"achievements\" } ) + +Response event +^^^^^^^^^^^^^^ + +The response event will be a dictionary with the following fields: + +On close: + +:: + + { + \"type\": \"show_game_center\", + \"result\": \"ok\", + } + +Multi-platform games +-------------------- + +When working on a multi-platform game, you won't always have the +\\"GameCenter\\" singleton available (for example when running on PC or +Android). Because the gdscript compiler looks up the singletons at +compile time, you can't just query the singletons to see and use what +you need inside a conditional block, you need to also define them as +valid identifiers (local variable or class member). This is an example +of how to work around this in a class: + +|
+| var GameCenter = null # define it as a class member
+
+| func post\_score(p\_score):
+| if GameCenter == null:
+| return
+| GameCenter.post\_score( { \\\ `value\\ <>`__ p\_score,
+  \\\ `category\\ <>`__ \\"my\_leaderboard\\" } )
+
+| func check\_events():
+| while GameCenter.get\_pending\_event\_count() > 0:
+| # do something with events here
+| pass
+
+| func \_ready():
+| # check if the singleton exists
+| if Globals.has\_singleton(\\"GameCenter\\"):
+| GameCenter = Globals.get\_singleton(\\"GameCenter\\")
+| # connect your timer here to the \\"check\_events\\" function
+
+.. raw:: html
+
+   
diff --git a/advanced_topics/variant_class.rst b/advanced_topics/variant_class.rst new file mode 100644 index 000000000..91bf6ea09 --- /dev/null +++ b/advanced_topics/variant_class.rst @@ -0,0 +1,60 @@ +Variant class +============= + +About +----- + +Variant is the most important datatype of Godot, it's the most important +class in the engine. A Variant takes up only 20 bytes and can store +almost any engine datatype inside of it. Variants are rarely used to +hold information for long periods of time, instead they are used mainly +for communication, editing, serialization and generally moving data +around. + +A Variant can: + +- Store almost any datatype +- Perform operations between many variants (GDScript uses Variant as + it's atomic/native datatype). +- Be hashed, so it can be compared quickly to over variants +- Be used to convert safely between datatypes +- Be used to abstract calling methods and their arguments (Godot + exports all it's functions through variants) +- Be used to defer calls or move data between threads. +- Be serialized as binary and stored to disk, or transfered via + network. +- Be serialized to text and use it for printing values and editable + settings. +- Work as an exported property, so the editor can edit it universally. +- Be used for dictionaries, arrays, parsers, etc. + +Basically, thanks to the Variant class, writing Godot itself was a much, +much easier task, as it allows for highly dynamic constructs not common +of c++ with little effort. Become a friend of Variant today. + +References: +~~~~~~~~~~~ + +- \\\ `core/variant.h\\ `__ + +Dictionary and Array +-------------------- + +Both are implemented using variants. A Dictionary can match any datatype +used as key to any other datatype. An Array just holds an array of +Variants. Of course, a Variant can also hold a Dictionary and an Array +inside, making it even more flexible. + +Both have a shared mode and a COW mode. Scripts often use them in shared +mode (meaning modifications to a container will modify all references to +it), or COW mode (modifications will always alter the local copy, making +a copy of the internal data if necessary, but will not affect the other +copies). In COW mode, Both Dictionary and Array are thread-safe, +otherwise a Nutex should be created to lock if multi thread access is +desired. + +References: +~~~~~~~~~~~ + +- \\\ `core/dictionary.h\\ `__ +- \\\ `core/array.h\\ `__ diff --git a/asset_pipeline/general.rst b/asset_pipeline/general.rst new file mode 100644 index 000000000..7c39c954d --- /dev/null +++ b/asset_pipeline/general.rst @@ -0,0 +1,8 @@ +General +======= + +.. toctree:: + :maxdepth: 1 + :name: general + + managing_image_files diff --git a/asset_pipeline/index.rst b/asset_pipeline/index.rst new file mode 100644 index 000000000..53b0fc161 --- /dev/null +++ b/asset_pipeline/index.rst @@ -0,0 +1,8 @@ +Asset pipeline +============== + +.. toctree:: + :maxdepth: 2 + :name: asset-pipeline + + general diff --git a/asset_pipeline/managing_image_files.rst b/asset_pipeline/managing_image_files.rst new file mode 100644 index 000000000..b4a2a10e3 --- /dev/null +++ b/asset_pipeline/managing_image_files.rst @@ -0,0 +1,113 @@ +Managing image files +==================== + +If you have read the previous tutorials on [[Resources]] and [[File +System]], at this point you know that regular image files (.png, .jpg, +etc) are treated as regular resources in Godot. + +Unlike texture resources (.tex files), image files contain no extra +information on tiling (texture repeat), mipamps or filtering. Editing +this information and saving the texture back will have not any effect, +since such formats can't contain that information. + +Image loader +------------ + +Loading of images is done by the image loader. The behavior of the +loader for all image files can be changed in the Project Settings dialog +(Scene -> Project Settings). There is a section with values that +correspond to the every image file when loaded: + +.. image:: /img/imgloader.png + +Image loader options +-------------------- + +Filter +~~~~~~ + +Filter is used when the image is stretched more than it's original size, +so a texel in the image is bigger than a pixel on the screen. Turning +off the fiter produces a retro-like look: + +.. image:: /img/imagefilter.png + +Repeat +~~~~~~ + +Repeat is mainly used for 3D textures, so it's off by default (textures +are imported with the scenes and usually are not in the project as image +files). When using UV coordinates (something not as common in 2D), and +the UV value goes beyond the 0,0,1,1 rect, the texture repeats instead +of clamping to the edge. + +Mipmaps +~~~~~~~ + +When the mipmaps option is enabled, Godot will generate mip-maps. +Mipmaps are versions of the image shrunk by half in both axis, +recursively, until the image is 1 pixel of size. When the 3D hardware +needs to shrink the image, it finds the largest mipmap it can scale +from, and scales from there. This improves performance and image +quality. + +.. image:: /img/mipmaps.png + +When Mip-Maps are disabled, images start distorting badly when shrunk +excessively: + +.. image:: /img/imagemipmap.png + +Alpha blending +~~~~~~~~~~~~~~ + +The \\\ `blending +equation\\ `__ used by +applications like Photoshop is too complex for real-time. There are +better approximations such as \\\ `pre-multiplied +alpha\\ `__, +but they impose more stress in the asset pipeline. In the end, we are +left with textures that have artifacts in the edges, because apps such +as Photoshop store white pixels in completely transparent areas. Such +white pixels end up showing thanks to the texture filter (when active). + +Godot has an option to fix the edges of the image (by painting invisible +pixels the same color as the visible neighbours): + +.. image:: /img/fixedborder.png + +To do this, open the image from the resources tab, or edit it from the +property editor from another node or resource, then go to the object +options and select \\"Fix Border Alpha\\", then save it. + +.. image:: /img/imagefixalpha.png + +Since fixing this in so many images can be a little annoying, both +Texture Import and Image Export can also perform this operation. + +Texture import +~~~~~~~~~~~~~~ + +Sometimes, it might be desired to change the above settings per image. +Unfortunately, the image loader settings are global. Texture flags also +can't be saved in a regular .png or .jpg file. + +For such cases, the image can be imported as a texture (.tex), where the +individual flags can be changed. Godot also keeps track of the original +file and will re-import if it changes. + +Importing also allows conversion to other formats (WebP, or RAM +compression) which might be of use in some cases. . More information on +the [[Importing textures]] page. + +Image export +~~~~~~~~~~~~ + +It is also possible to convert images to other formats (WebP or RAM +compression) on export, as well as instructing the exporter to create an +Atlas for a set of images. It is also possible to ask the exporter to +scale all images (or selected groups). + +More information on the [[Exporting images]] page. + + diff --git a/classes/class_dictionary.rst b/classes/class_dictionary.rst new file mode 100644 index 000000000..5979b2897 --- /dev/null +++ b/classes/class_dictionary.rst @@ -0,0 +1,82 @@ +Dictionary +========== + +**Category:** Built-In Types +---------------------------- + +Brief Description +----------------- + +Dictionary type. + +Member Functions +---------------- + +- void **`clear <#clear>`__** **(** **)** +- `bool `__ **`empty <#empty>`__** **(** **)** +- void **`erase <#erase>`__** **(** var value **)** +- `bool `__ **`has <#has>`__** **(** var value **)** +- `int `__ **`hash <#hash>`__** **(** **)** +- `Array `__ **`keys <#keys>`__** **(** **)** +- `int `__ **`parse\_json <#parse_json>`__** **(** + `String `__ json **)** +- `int `__ **`size <#size>`__** **(** **)** +- `String `__ **`to\_json <#to_json>`__** **(** **)** + +Description +----------- + +Dictionary type. Associative container which contains values referenced +by unique keys. Dictionaries are always passed by reference. + +Member Function Description +--------------------------- + +clear +~~~~~ + +- void **clear** **(** **)** + +Clear the dictionary, removing all key/value pairs. + +empty +~~~~~ + +- `bool `__ **empty** **(** **)** + +Return true if the dictionary is empty. + +erase +~~~~~ + +- void **erase** **(** var value **)** + +Erase a dictionary key/value pair by key. + +has +~~~ + +- `bool `__ **has** **(** var value **)** + +Return true if the dictionary has a given key. + +hash +~~~~ + +- `int `__ **hash** **(** **)** + +Return a hashed integer value representing the dictionary contents. + +keys +~~~~ + +- `Array `__ **keys** **(** **)** + +Return the list of keys in the dictionary. + +size +~~~~ + +- `int `__ **size** **(** **)** + +Return the size of the dictionary (in pairs). \ No newline at end of file diff --git a/conf.py b/conf.py index 711c54b43..81282392a 100644 --- a/conf.py +++ b/conf.py @@ -1,258 +1,67 @@ # -*- coding: utf-8 -*- # -# Godot Engine documentation build configuration file, created by -# sphinx-quickstart on Sat Dec 12 16:57:47 2015. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. +# Godot Engine documentation build configuration file import sys import os -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - # -- General configuration ------------------------------------------------ -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +needs_sphinx = '1.3' -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. +# Sphinx extension module names and templates location extensions = [] - -# Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -# The suffix of source filenames. +# You can specify multiple suffix as a list of string: ['.rst', '.md'] source_suffix = '.rst' +source_encoding = 'utf-8-sig' -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. +# The master toctree document master_doc = 'index' -# General information about the project. -project = u'Godot Engine' -copyright = u'2015, Juan Linietsky, Ariel Manzur and the Godot community' +# General information about the project +project = 'Godot Engine' +copyright = '2014-2016, Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0)' +author = 'Juan Linietsky, Ariel Manzur and the Godot community' -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '2.0' -# The full version, including alpha/beta/rc tags. -release = '2.0' +# Version info for the project, acts as replacement for |version| and |release| +# The short X.Y version +version = 'latest' +# The full version, including alpha/beta/rc tags +release = 'latest' -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None +language = 'en' -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. exclude_patterns = ['_build'] -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. +# Pygments (syntax highlighting) style to use pygments_style = 'sphinx' -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - # -- Options for HTML output ---------------------------------------------- -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' +# on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} +if not on_rtd: # only import and set the theme if we're building docs locally + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. +# Output file base name for HTML help builder htmlhelp_basename = 'GodotEnginedoc' +# -- Options for reStructuredText parser ---------------------------------- + +# Enable directives that insert the contents of external files +file_insertion_enabled = False # -- Options for LaTeX output --------------------------------------------- -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'GodotEngine.tex', u'Godot Engine Documentation', - u'Juan Linietsky, Ariel Manzur and the Godot community', 'manual'), + (master_doc, 'GodotEngine.tex', 'Godot Engine Documentation', + 'Juan Linietsky, Ariel Manzur and the Godot community', 'manual'), ] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'godotengine', u'Godot Engine Documentation', - [u'Juan Linietsky, Ariel Manzur and the Godot community'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'GodotEngine', u'Godot Engine Documentation', - u'Juan Linietsky, Ariel Manzur and the Godot community', 'GodotEngine', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False diff --git a/img/andtemplates.png b/img/andtemplates.png new file mode 100644 index 0000000000000000000000000000000000000000..50e5e4d59b126b2049bcdb39bcf4f8181afc7d60 GIT binary patch literal 66910 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 JMKX5+{ttkw8~y+Q literal 0 HcmV?d00001 diff --git a/img/fixedborder.png b/img/fixedborder.png new file mode 100644 index 0000000000000000000000000000000000000000..43a7f668fd7985674c98b466323c1a52f8d3c201 GIT binary patch literal 10334 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 literal 0 HcmV?d00001 diff --git a/img/imagefixalpha.png b/img/imagefixalpha.png new file mode 100644 index 0000000000000000000000000000000000000000..6735e9557c8aad6ece1b98856717efded94e3f79 GIT binary patch literal 35590 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 AfdBvi literal 0 HcmV?d00001 diff --git a/img/imagemipmap.png b/img/imagemipmap.png new file mode 100644 index 0000000000000000000000000000000000000000..0df9fba3151ced8e0a58168b55d0af96fd887a12 GIT binary patch literal 1465 zcmZ`(c~p{F6#rbtbu2RzmqsxGvvEsI8;;_hkX!B>W`o*h%9x~?X_{6pQ3{os%UB}n zlo=|S5!g%;<|Gwbrh-eNW|7pm;F5iVGt)Ws$Gms$z32VTUEY27-j~0}*Hc4HUkv~N z4J^hzKqk9nv`0lr#&HR#+cKeq_wsZHz_ne?s-wsd)n72-$pE0fagF4Fs};I3P??DJ z@lYOC(2%o+wmwk(EQ9oj9$`c`LPA1ZA`x&q8uv3XE*6@4h1r&Fz$YEiA<`q>npJ3Q>_|bI2NAz$?>7f5~GjiyxMM`So8$oRMY$w%>U3|XLaNuSF z+>y1f#VgJxUDpLD#moKU@Y^U3`QaJ{T1k}3V;(DKoVX^eB4IoQ!E7S1U&Qv?+Z|dK zJ(y`P+r)a!Zn@Ubk8g_`3h7l_>f#jsR2U_VrqFoyl(zZjO`Le74l`R6(VHret_PQO zO;mtDbJ^{`4VDdLnbNB|gK3+_BP~f~zKfHL{!+0a=2fO}mDJbzn714?+qvH9syMN} zFxVqI`QwRRPi6kOb>+O0fzL%|&kc}if!R)m`Zi0ejWML@1D~I^+1f{l?{wk~^!`7= z`Pu_MBMq55OOTCse?>XsQ6r%~jZ0gtI+x?cAsuzi>cRe_3Lp-Rr!#BNiEqvQ7L05w ztssR?3H10|7o!Pu19U387cYG+DGAVFUI`N?@6rTlVPDngOO~<*{c2^sHIdjsr;7d4 z&!}gzUM3Cob$Pod4jB8S}T z9XE@dhf6L|f)+u8L3k~k6?zsQ+HIVha{#ND-Ax2>J zuyybq=EX(1R1=RHzp(|9Kdf+J2bqV_Pg)_*wNU+~Xm2`tKJQ%xRb;dH6yg(1urj6{ zRn4t9cYGUtExHat8PIu^%!(t!p42RUsVE!f&f{?n--*i{&F{GCKUKTW&Q9O-F-NMn>9A zbpy#4^k#BC6)buof8D@9MGpJ^5LKy(;FUOh!F(=v>7JV}9oE2^{~jruLGzGjW9WL2etI)3ic3BZ zr5#n5J%?rJ)`nk{y*u~YH!=A! z!!>9(VcRmHl1k?2t9ZRIGIf=*o*xzsL>M*0WlFh^2Sp)vMw*uiw=W|M}j9Rj4mkr`=_jR bX9yaUFCcWgMXX*tv3ACK_`2V6-FNzLM6aT| literal 0 HcmV?d00001 diff --git a/img/imgloader.png b/img/imgloader.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ce51a749adaaa2d2b0b42b4381bed1cc45797d GIT binary patch literal 51814 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 o%?-rf%GQ_L-G;^6?yIl3jow4OL% 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/Q1hX z;;%|$ASgs#S$_RYiYRqv%gVM~uN9|%^Qq7*8CoyVuwRTG_ox>2clOsSci1`EeLW-N zn}qZf?D_Kna@~pVAO2{U>)!wiB=~vybD^Gbk0VJdy=o54?051(4Cn71X0Sqa)6`0) zVLIxz#D7*y^Va;W>~of%UuPVxPE5Ewk6K7tq+_GRV}Ii7+upbNCK=WZvgZ$Uh5@v? zPE#H4oESJcvwA$3f8Rwg2oXigWq{F$uB0Z);WdEk>30Jv^6( z^QpTWaMd*MND2$PPKk;1txyp~^4G|4`Yz*Tz==rZuwXjO$inrdD9&@1+NF)+9E|)( z)R2mN>};2Nju`ompm%_>S8Pvl#XC&nm3sE?uyb)VHYZ92%wf<1Iyu5}?szp;v6NEl*-w`y19NWtE%<;DRjL+4VpE>guMq+780)>i; z#X;JU^aNk9SGb1QI*=W~Te*J~9CdS2T&|t&jIY*Cw|Ryg9%4Za5ad-vla*CG`ZZ6j zkfJy^(|kRaiD<`SVsRd34>o4!42@5%MX#%<`E*+}%#t)uf7vk2Hy;@5`Yfq703vzN zmtg&L?up=goe_QQsYsIsO_XH$E>o*jQ>AnzxoJ~`PkNR`rmZ)7aF;zTt0F5DCwz0i ztUw;d*iRJp*f!p!18!K^;Jtc91xeyUo%-i*mb|-eJFz5beJ-4=k9zZw%F}*)H2A7= z8iag!U~SnsI7Cf(@It8?7ON}#1J1q>MoARoqNXMHt4lW8g}JYp+Ex@_5*`&J4_hlE zfveqLaVU0-Mvs_)+xc68&K$+-m!8!k8Go^xLGFU*$i*uBO0!OT8QT^4@Y=9o9;Uys zwPEJ|!92m;4`9^0*?*sM@UXqv95Y9XicoiN#eO0|>ex+0bB_$*MZ%YU$G1Y}eMw_U z^8&+yU72bNrHnJtx-`x>3Li1D>P_w5KD@t?TNJB05Fpen0}F!>q7#8XrT@7&&%5Wv z-BO+rcRZUOO-9NjHl2j){$8~n;&#dS+Omp)ECxpWJ-XlKwjDLq9zDbTovwQK>SEu^ zYiU`OVTsNMb$9*9z3cTRi_`Z8A|XdsOKYA=p8R(Nq<{N}3M2{-_W459#y=(lE$qat0$W$iJWN=kgrP5f7FsU+W@L zKm@5<2M}vI>&E0;)ezY zn{xa?{r)Ql{gIZCsps{cvrKLWUqU5rdm;-QumDq?0BUuYf(w!=u0HDLM&NLbE1%Ki+0x!@p4OuCI@m p{`qc-(W2Hlge)OrD0l7|!S=Wzi=XSmYY6zKqNuKrBWL9M{{R!~d@}$5 literal 0 HcmV?d00001 diff --git a/img/lintemplates.png b/img/lintemplates.png new file mode 100644 index 0000000000000000000000000000000000000000..aeef57c5043ac19863fa46c24cfd30f76e986c80 GIT binary patch literal 48976 zcma&NWmFwaumuVP3-0dj1b24`?jGD7f;)i#!QI{6T@u_q1b26r1DrSCz3;x?Z?R^v zPS12tPj^@KuG+gJRg`3q5eN_bju zA%{PE;&B{?Mh2>+TJGn{ilOkJ1)fV>E92G(A}acvQ(37-nn;MHC`Yx7j$f@nl?X1M z#%u+5!B=9PR8cKk8?&#zvg$Uz@-*u)`*(@>jYuhvGn)nkR=;5@qq6#Vc&iXp+ds)U zN=z(NRN8vT%I_#C5R^;$G&OQK-deL52s?pmmb=uM+X;F)g(cf!g;bLpxr|e*KZtpF zcwXHvz*vqpSch+5)031i4MT&$Vj zPm*=~?WKNIdK3vs3Hjv^Z>7PB(fETmYqA=Nq#K;TUIKm**n-TDy2YOdJML)PZ}cQQ z8G+Loen8{CSh!L#62ee%)WFa*nrkH$?ZZ(-tIfX6T{R!F(m7Dpxx5Zq= z=jBd%)%QZL8Cqq$;BRn|b+@TZ7X@1&PYN<_dkp(kON9cdX{iMZLcJ<5{r1I#yyg1# z9*S%te&{9L8Y5}9qsqpvyT{J}P74Yx%Av6H+$KJ`Zzi!_w9Ku@s;u{M3)MX!{%Div zw{cZqk<)S`@|yRtP>qxcecqohc#X0%vIF+)xEYoK8QGJCzr5-1ZA;8g2pXGYXTA=Y zvtbi#*Q_*WM+K*(-`*lM6EH(45^(NqD1%2%Vi7PpTojJwDoXlHW2Z8{kzIZR4x!Vv3i=;zZivhr%r>F!H*PQxSLAGt1KjOAG<7+eMZbSUlJdURv_s5G7Wh8{^6d6P-&2GfT zAJ6Ddo~KizBe|3l@nipZWVR1WkBTbXAiPcwWKQM_;NM^KDwORWY0EA2j~9E7<<&cl{gZr{XmsA@AlH72l6U^`z(5BV|4U zY`OeEH2*H4Nz~}xQkkPoK|W_rh$FMYmy@_FKL1N9M}D46Zu?=(PtxcrUlSf8s7tl{o`>>0#W zp2OGowPLf{&DvVBw7-pVU#mRHoP)lW65%lC#BC}ngGu5N&BjemR<~~Mug&KXuVx!O ztgyBx@`No19s{j6s)-#k+m4RMDBrp~urKu72bb4y!@fO)Tcl6&-CsO@f&aZOW!&Vm z$Ijn+DtR}|yh7L!?cmEj*CK)HuE*Te=NsqX%d=46L955e0M_Gu|4~((>_8*#cLpK~UE4Uq5pjFSKJZ8rKOmhZ_Q09WbN+&TcwaWa_aeE7JO3HW@gI3?Z%0Av*Ti3)H!&|1i#lFuHwocJ*iI^P}{o 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¦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 IAuQ;B0OH}49RL6T literal 0 HcmV?d00001 diff --git a/index.rst b/index.rst index 6af9eb392..5c6b4e64d 100644 --- a/index.rst +++ b/index.rst @@ -6,17 +6,22 @@ Welcome to Godot Engine's documentation! ======================================== -Contents: +The main documentation for the site is organized into a couple sections: + +* :ref:`user-doc` .. toctree:: - :maxdepth: 2 + :maxdepth: 3 + :caption: User documentation + :name: user-doc + + asset_pipeline/index + advanced_topics/index - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - +.. Indices and tables +.. ------------------ +.. +.. * :ref:`genindex` +.. * :ref:`modindex` +.. * :ref:`search`