Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
edd946f
Update 03.coding_the_player.rst
dahliakyu Jun 26, 2023
9bfc99b
Configure ignoring object and library files in CLion
catwasd Feb 18, 2024
79322b9
Use webp with lossless compression
catwasd Feb 23, 2024
faac14a
Update custom_drawing_in_2d.rst
JordanKlooster Apr 22, 2024
d1e3cfe
Fix Making trees tutorial
paxer Jul 25, 2024
35f2fa9
Update fract delta description in particle_systems_2d.rst
Lukas-Fletcher Aug 27, 2024
2b22238
Second pass of particle_systems_2d.rst update
Lukas-Fletcher Aug 27, 2024
30a5e95
add highlight to the word true
Lukas-Fletcher Aug 31, 2024
63c5fa8
Update screenshot of Editor Settings location
AKKamath Jan 9, 2025
b238469
Specify that try-catch blocks are forbidden in cpp_usage_guidelines.rst
nikitalita Jan 9, 2025
6de2db1
Sync platforms names with used in Godot 4
dustdfg Jan 10, 2025
dc4cc37
Merge pull request #10491 from dustdfg/patch-4
mhilbrunner Jan 10, 2025
8debbc2
Move position setting code to be before direction in The main game sc…
koubaa Jan 10, 2025
2553fcb
Edit exporting for android to mention Editor Settings tab location fo…
AKKamath Jan 10, 2025
ab459b0
Revert "Update screenshot of Editor Settings location"
AKKamath Jan 10, 2025
c2e772b
classref: Sync with current master branch (abf8e1e)
Jan 11, 2025
80c8eea
Merge pull request #10494 from godotengine/classref/sync-abf8e1e
mhilbrunner Jan 11, 2025
1eed775
Update audio bus images for Godot 4.3
skyace65 Jan 12, 2025
5992cc2
Merge pull request #10496 from skyace65/AudioBusImages
mhilbrunner Jan 12, 2025
6f66bad
Update Environment page for 4.4
skyace65 Jan 12, 2025
4287e8f
Update windows changing application icon page for Godot 4.4
skyace65 Jan 12, 2025
7207b49
Merge pull request #10497 from skyace65/CustomWindowsIcon
mhilbrunner Jan 12, 2025
d251fe8
Divide pi out of light color
bmolyneaux Jan 13, 2025
265397c
Add `@icon` ordering to the GDScript style guide
Calinou Jan 13, 2025
6176ad5
Merge pull request #10499 from bmolyneaux/patch-1
AThousandShips Jan 13, 2025
976238c
Merge pull request #10498 from skyace65/Environment-Images
mhilbrunner Jan 13, 2025
6e1144a
Merge pull request #10504 from Calinou/gdscript-style-guide-icon
mhilbrunner Jan 13, 2025
5d941e5
Fix typo in visual shaders regarding switch node
RohitRRao370 Jan 13, 2025
8f772f6
Merge pull request #10502 from The-oldone/Fix-typo-in-visual-shaders
mhilbrunner Jan 16, 2025
6858161
Update setting up XR for Godot 4.3
skyace65 Jan 15, 2025
8996cc1
Clarify the impact of "Normal Map (RG Channels)" on texture imports. …
tom-schultz Jan 16, 2025
c2ea3ae
Documented $GODOT_SPLASH_CLASSES placeholder for custom HTML5 shells
elpozewaunig Jan 17, 2025
2062dff
Merge pull request #10510 from skyace65/Setup-XR
mhilbrunner Jan 18, 2025
a840bd2
classref: Sync with current master branch (7b1ed52)
Jan 18, 2025
cb80512
Merge pull request #10517 from godotengine/classref/sync-7b1ed52
mhilbrunner Jan 18, 2025
36c5f34
Document automatic ICO generation in Changing application icon for Wi…
Calinou Jan 18, 2025
bcf595f
Merge pull request #10519 from Calinou/changing-windows-icon-add-ico-…
mhilbrunner Jan 19, 2025
859a97e
Update animation tracks page for Godot 4.4
skyace65 Jan 18, 2025
3bbf1e8
Update first look at Godot's interface for Godot 4.4
skyace65 Jan 19, 2025
d4a79f4
Update Intro to 3D page for Godot 4.4
skyace65 Jan 19, 2025
385e1a3
Update Physics introduction images
skyace65 Jan 19, 2025
a95f8e9
Merge pull request #10523 from skyace65/FirstLookInterface
mhilbrunner Jan 19, 2025
4b69ae9
Merge pull request #10520 from skyace65/AnimationTracks
mhilbrunner Jan 19, 2025
523369f
Merge pull request #10524 from skyace65/IntroTo3D
mhilbrunner Jan 19, 2025
af36bb6
Merge pull request #10525 from skyace65/PhysicsIntroduction
mhilbrunner Jan 19, 2025
973877f
Update CSG note for 4.4
skyace65 Jan 20, 2025
d83d55a
Merge pull request #10527 from skyace65/CSGNote2
mhilbrunner Jan 20, 2025
09c21f1
Update using visual shaders page for 4.4
skyace65 Jan 21, 2025
e4a36fe
Merge pull request #10531 from skyace65/VisualShaderUpdate
mhilbrunner Jan 21, 2025
ba57aee
Document recovery mode
skyace65 Jan 21, 2025
9593ece
Update navigation link page for new debug arrows
skyace65 Jan 21, 2025
106ee4e
Update 04.creating_the_enemy.rst (#10455)
iv0rye Jan 21, 2025
d53cbb4
Merge pull request #10483 from nikitalita/patch-3
skyace65 Jan 21, 2025
3eb20aa
Merge pull request #10489 from AKKamath/master
skyace65 Jan 21, 2025
c3cdf60
Merge pull request #9653 from paxer/create_tree
skyace65 Jan 21, 2025
82ced4a
Merge pull request #8991 from catwasd/catwasd/ignoring-files-clion
skyace65 Jan 21, 2025
fd78221
Add small tutorial on making existing mesh manifold with Blender
tetrapod00 Jan 21, 2025
65a77b0
Document adding scene-unique nodes by prefixing with '%'
Synzorasize Jan 6, 2025
8d1a93f
Add links from GDScript keywords table to relevant sections
tetrapod00 Jan 21, 2025
d1a80f2
Merge pull request #9848 from Lukas-Fletcher/patch-4
skyace65 Jan 21, 2025
5eb8598
Merge pull request #10541 from tetrapod00/gdscript-keyword-links
skyace65 Jan 22, 2025
b53aa42
Merge pull request #10540 from tetrapod00/manifold-tutorial
mhilbrunner Jan 22, 2025
f1cd8c8
Merge pull request #10532 from skyace65/RecoveryMode
mhilbrunner Jan 22, 2025
fb685d9
Merge pull request #10514 from Synzorasize/101163_update
mhilbrunner Jan 22, 2025
a2c8428
Update "Exporting for Web" to include 4.3 features
adamscott Sep 5, 2024
f480213
Merge pull request #9913 from adamscott/exporting-for-web-update
skyace65 Jan 22, 2025
e3986bf
Merge pull request #7566 from dahliakyu/patch-1
skyace65 Jan 22, 2025
9161812
Update `rainbow` bbcode options - add `speed`
havi05 Jan 22, 2025
887c0cc
Merge pull request #10543 from havi05/bbcode_rainbow
skyace65 Jan 22, 2025
e74ead8
Merge pull request #10533 from skyace65/NavigationLink
tetrapod00 Jan 23, 2025
8d14299
fixes #7184: adding warning about tool scripts needing editor restart
betalars Jan 23, 2025
76d10dc
replace danger with warning
betalars Jan 23, 2025
f766bad
Add link to original issue
betalars Jan 23, 2025
77a9ebc
i18n: Add explanation for locales and automatic language setting (#10…
stephanbogner Jan 24, 2025
a8848f4
Add missing manual renames from editor's renames_map (#9849)
menaechmi Jan 24, 2025
c1c1bbe
Add optimization tips for mobile in Exporting to HTML5
Calinou May 17, 2022
9c55731
Merge pull request #10544 from betalars/tool-bug-warning
mhilbrunner Jan 24, 2025
e8c441e
Merge pull request #5843 from Calinou/exporting-html5-mobile
skyace65 Jan 24, 2025
f92484d
Update note about Parallax2D being experimental
tetrapod00 Jan 24, 2025
038307b
classref: Sync with current master branch (b15b24b)
Jan 25, 2025
b3b0b1e
Merge pull request #9267 from JordanKlooster/patch-1
skyace65 Jan 25, 2025
c6e46b5
Merge pull request #10548 from godotengine/classref/sync-b15b24b
mhilbrunner Jan 25, 2025
f167d48
Add Visual Studio exec flags (#9086)
firedigger Jan 25, 2025
42ac7c8
Update gdscript_exports.rst (#9327)
Skyefre Jan 25, 2025
1fe10df
Fix description of GUI input propagation (#7899)
wlsnmrk Jan 25, 2025
d18c89b
Update code order with static annotation on gdscript_styleguide.rst (…
Xinart Jan 25, 2025
e43dd08
Update list of spatial shader render modes for Godot 4.3
Calinou Aug 1, 2024
6d965b1
Merge pull request #9691 from Calinou/spatial-shader-update-render-modes
skyace65 Jan 25, 2025
99b1f86
Update list of advantages and disadvantages to more accurately refle……
Emynator Jan 25, 2025
5599391
Ambiguous description of _process() (#9084)
kkontaxis Jan 25, 2025
689bb97
Change from blender directory to blender exec (#10551)
Muller-Castro Jan 26, 2025
cf2e027
Update docs for runtime loading of WAV files
skyace65 Jan 26, 2025
f991534
Update intro to 2D page for 4.4
skyace65 Jan 28, 2025
17ee37d
Update available 3D formats page
skyace65 Jan 28, 2025
35a0dc8
Merge pull request #10547 from tetrapod00/parallax2d-is-stable
mhilbrunner Jan 28, 2025
78d1b2c
Merge pull request #10552 from skyace65/WAVRuntime
mhilbrunner Jan 28, 2025
c663c40
Merge pull request #10556 from skyace65/IntroTo2D
mhilbrunner Jan 28, 2025
173ff27
Merge pull request #10555 from skyace65/3DFormats
mhilbrunner Jan 28, 2025
a2d2c07
Improve shading language page
tetrapod00 Jan 28, 2025
33a91df
Fully update first 3D Shader page
skyace65 Jan 28, 2025
0c82320
Merge pull request #10558 from tetrapod00/shader-tweaks
skyace65 Jan 29, 2025
3a42447
Merge pull request #10554 from skyace65/First3DShader
tetrapod00 Jan 29, 2025
0e87849
Fix video alignment after dependency update
tetrapod00 Jan 29, 2025
ff84bad
Reword warning about slow thread creation in Using multiple threads
Calinou Jan 29, 2025
c6fdf26
Bump sphinx-notfound-page from 1.0.4 to 1.1.0
dependabot[bot] Jan 29, 2025
965685e
Add more Python-related files to gitignore
Maarrk Jan 29, 2025
e66144f
Merge pull request #10567 from Calinou/using-multiple-threads-slow-re…
skyace65 Jan 29, 2025
98ce9b5
Briefly document Vector<> variations
esainane Dec 4, 2024
24acaa1
Correct and elaborate docs on sequence types
esainane Jan 29, 2025
7b5a147
Fix std::vector reference
esainane Jan 29, 2025
6db14b4
Briefly mention List<>
esainane Jan 29, 2025
08745d4
Merge pull request #10382 from esainane/having-a-cow
skyace65 Jan 29, 2025
692efa2
Add Getting Started for Parallax2D
markdibarry Jan 29, 2025
cbdec4e
Point mapping contributions to Godot in Controllers, gamepads and joy…
Calinou Jan 29, 2025
8b00904
GH: Don't cancel other offline builds if one fails
mhilbrunner Jan 30, 2025
8708711
Merge pull request #10582 from mhilbrunner/dont-cascade-offline-docs-…
mhilbrunner Jan 30, 2025
cf0ff8f
GH: Offline builds need to install imagemagick
mhilbrunner Jan 30, 2025
2d30a69
Merge pull request #10583 from mhilbrunner/gh-2404-imagemagick
mhilbrunner Jan 30, 2025
fad4662
Merge pull request #10569 from Calinou/controllers-custom-mappings-no…
tetrapod00 Jan 30, 2025
9abcbd7
Merge pull request #10515 from elpozewaunig/splash-properties
skyace65 Jan 30, 2025
61b891e
Add notes about automatic `.app` bundle creation to compiling for mac…
bruvzg Jan 29, 2025
3e17624
Merge pull request #10580 from bruvzg/macos_build_docs
skyace65 Jan 31, 2025
1c1e1c1
classref: Sync with current master branch (1586c56)
Feb 1, 2025
4e0d941
Merge pull request #10595 from godotengine/classref/sync-1586c56
mhilbrunner Feb 1, 2025
01c2c9f
Merge pull request #10565 from markdibarry/parallax2d-getting-started
skyace65 Feb 1, 2025
68d7191
Add Plausible
mhilbrunner Feb 1, 2025
7d49576
Merge pull request #10596 from mhilbrunner/add-plausible
mhilbrunner Feb 1, 2025
a5db650
Improve GDExtension tutorial based on own experience
Maarrk Jan 30, 2025
b38b1bc
Update step-by-step images for nodes and scenes (4.4)
Feb 1, 2025
f9c0fa5
Add a command snippet to build only modified documentation (#10571)
Maarrk Feb 2, 2025
d4a7065
Merge pull request #10589 from gianfun/update-nodes-and-scenes-ui
skyace65 Feb 2, 2025
d0f7ee6
Sync "Creating the Enemy" section of Getting Started/First Game 2D tu…
mateuseap Feb 2, 2025
858c663
Add note to use varyings to access builtins in shader pages
tetrapod00 Feb 2, 2025
95946bf
Rename particle_process_material_2D.rst to particle_process_material_…
skyace65 Feb 1, 2025
287ad02
Improve First 3D shader tutorial
tetrapod00 Feb 2, 2025
76da87b
Document [ExportToolButton]
tetrapod00 Feb 3, 2025
6e75669
Merge pull request #10607 from tetrapod00/csharp-export-tool-button
mhilbrunner Feb 3, 2025
091a449
Merge pull request #10605 from tetrapod00/builtin-varying-note
mhilbrunner Feb 3, 2025
cc38a80
Merge pull request #10570 from Maarrk/pr-gdextension-tooling
mhilbrunner Feb 3, 2025
d675f88
Merge pull request #10568 from godotengine/dependabot/pip/sphinx-notf…
mhilbrunner Feb 3, 2025
b338f45
Fix editor shortcut documentation for macos (#10575)
MartinDelille Feb 3, 2025
7813926
Merge pull request #10597 from skyace65/Particles2DUpdate
mhilbrunner Feb 3, 2025
36359b2
Merge pull request #10566 from tetrapod00/fix-video-align
mhilbrunner Feb 3, 2025
46b5689
Merge pull request #10572 from Maarrk/pr-gitignore-venv
mhilbrunner Feb 3, 2025
049b429
Revert "Fix video alignment after dependency update"
tetrapod00 Feb 3, 2025
adeaa6d
Merge pull request #10610 from tetrapod00/revert-10566
tetrapod00 Feb 3, 2025
39bbba6
Fix video alignment after dependency update without CSS
tetrapod00 Feb 3, 2025
404a2bc
Document logical operator support in `Expression`
Vocco Feb 4, 2025
1afdbaf
Merge pull request #10611 from tetrapod00/fix-video-again
mhilbrunner Feb 4, 2025
ea1b882
Merge pull request #10606 from tetrapod00/first-3d-update
skyace65 Feb 4, 2025
971fe5a
Merge pull request #10613 from Vocco/expression-logical-operators
skyace65 Feb 4, 2025
fc1f052
Added clarifying text for instance docs
chellygel Feb 3, 2025
caabb14
Update particle process material min max image
skyace65 Feb 5, 2025
3e61c10
Merge pull request #10608 from chellygel/chellygel/docs-edit
skyace65 Feb 5, 2025
7d34e4e
Clarify difference between Godot's scene instancing and hardware inst…
Calinou Feb 5, 2025
256561c
Merge pull request #10622 from Calinou/instancing-scene-vs-shaders
mhilbrunner Feb 5, 2025
5dea521
Merge pull request #10619 from skyace65/ParticleMinMaxImage
mhilbrunner Feb 5, 2025
ff89b46
Fix C# _Process method signatures
Vocco Feb 5, 2025
fd34a00
Merge pull request #10624 from Vocco/fix-process-signature
tetrapod00 Feb 5, 2025
990fe83
Fix library/binary confusion in compiling_for_linuxbsd.rst
berarma Feb 6, 2025
b96b3a6
Merge pull request #10630 from berarma/patch-2
skyace65 Feb 6, 2025
1a4ba56
Remove shader materials page
skyace65 Feb 5, 2025
31fa74b
Merge pull request #10628 from skyace65/RemoveShaderMaterial
tetrapod00 Feb 7, 2025
ffac3a0
GDExtension: Fix typo on `compatibility_minimum` property
akien-mga Feb 7, 2025
cb0009a
Merge pull request #10637 from akien-mga/gdextension-compatability-typo
mhilbrunner Feb 7, 2025
8decfe7
Document supersampling for lightmaps
skyace65 Feb 6, 2025
06119cd
classref: Sync with current master branch (36d90c7)
Feb 8, 2025
95743e3
Merge pull request #10642 from godotengine/classref/sync-36d90c7
AThousandShips Feb 8, 2025
039f8d7
Add a troubleshooting section to Compiling for macOS/iOS
Calinou Feb 5, 2025
773c292
Document MP3 runtime loading
skyace65 Feb 8, 2025
5cf03b8
Update UV preivew screenshot
skyace65 Feb 8, 2025
8ee0e4f
Fix meaning of `target=template_debug` in Introduction to the buildsy…
Calinou Feb 8, 2025
324440c
Merge pull request #10647 from Calinou/intro-build-system-target-temp…
mhilbrunner Feb 8, 2025
766d92b
Merge pull request #10644 from skyace65/UVChannelPreview
mhilbrunner Feb 8, 2025
35eb8da
Merge pull request #10643 from skyace65/MP3Loading
mhilbrunner Feb 8, 2025
1683f6a
Merge pull request #10634 from skyace65/Supersampling
mhilbrunner Feb 8, 2025
1d9c4a4
Merge pull request #10621 from Calinou/compiling-macos-ios-xcode-trou…
mhilbrunner Feb 8, 2025
ac4689b
Merge commit godotengine/godot-docs@1d9c4a4ae1d81117548ca2c7b25faa4a1…
Spartan322 Feb 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/build_offline_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ jobs:
runs-on: ubuntu-24.04
timeout-minutes: 180
strategy:
max-parallel: 1
fail-fast: false
matrix:
branch:
- master
Expand Down Expand Up @@ -44,7 +46,7 @@ jobs:
echo "$VIRTUAL_ENV/bin" >> $GITHUB_PATH
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
sudo apt update
sudo apt install parallel libwebp7
sudo apt install parallel libwebp7 imagemagick

- name: Migrate to Redot
run: |
Expand Down
24 changes: 18 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,30 @@
!redirects.csv
.env

env/
__pycache__
*.pyc
_build/
*~
.directory
.vs/
.vscode/
*.mo

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Common environment files
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# User created Python virtual environment as described in the docs
godot-docs-venv/

# Vim temp files
*.swo
*.swp
Expand Down Expand Up @@ -44,9 +59,6 @@ logo.h
tmp-unused-images
tmp-unused-images-history

# User created Python virtual environement as described in the docs
godot-docs-venv/

# Jetbrains IDE files
/.idea/

Expand Down
2 changes: 2 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,8 @@

html_js_files = [
"js/custom.js",
('https://plausible.godot.foundation/js/script.file-downloads.outbound-links.js',
{'defer': 'defer', 'data-domain': 'godotengine.org'}),
]

# Output file base name for HTML help builder
Expand Down
26 changes: 26 additions & 0 deletions contributing/development/compiling/compiling_for_ios.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,29 @@ Run

To run on a device or simulator, follow these instructions:
:ref:`doc_exporting_for_ios`.

Troubleshooting
---------------

Fatal error: 'cstdint' file not found
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you get a compilation error of this form early on, it's likely because
the Xcode command line tools installation needs to be repaired after
a macOS or Xcode update:

::

./core/typedefs.h:45:10: fatal error: 'cstdint' file not found
45 | #include <cstdint>
| ^~~~~~~~~

Run these two commands to reinstall Xcode command line tools
(enter your administrator password as needed):

::

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

If it still does not work, try updating Xcode from the Mac App Store and try again.
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ running ``scons -h``, then looking for options starting with ``builtin_``.

.. warning::

When using system libraries, the resulting library is **not** portable
When using system libraries, the resulting binary is **not** portable
across Linux distributions anymore. Do not use this approach for creating
binaries you intend to distribute to others, unless you're creating a
package for a Linux distribution.
67 changes: 54 additions & 13 deletions contributing/development/compiling/compiling_for_macos.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,6 @@ To compile for Apple Silicon (ARM64) powered Macs, use::

scons platform=macos arch=arm64

To support both architectures in a single "Universal 2" binary, run the above two commands and then use ``lipo`` to bundle them together::

lipo -create bin/godot.macos.editor.x86_64 bin/godot.macos.editor.arm64 -output bin/godot.macos.editor.universal

.. tip::
If you are compiling Godot to make changes or contribute to the engine,
you may want to use the SCons options ``dev_build=yes`` or ``dev_mode=yes``.
Expand All @@ -72,20 +68,39 @@ If all goes well, the resulting binary executable will be placed in the
runs without any dependencies. Executing it will bring up the Project
Manager.

.. note:: Using a standalone editor executable is not recommended, it should be always packaged into an
``.app`` bundle to avoid UI activation issues.

.. note:: If you want to use separate editor settings for your own Godot builds
and official releases, you can enable
:ref:`doc_data_paths_self_contained_mode` by creating a file called
``._sc_`` or ``_sc_`` in the ``bin/`` folder.

To create an ``.app`` bundle like in the official builds, you need to use the
template located in ``misc/dist/macos_tools.app``. Typically, for an optimized
Automatic ``.app`` bundle creation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To automatically create an ``.app`` bundle like in the official builds, use the ``generate_bundle=yes`` option on the *last*
SCons command used to build editor::

scons platform=macos arch=x86_64
scons platform=macos arch=arm64 generate_bundle=yes

Manual ``.app`` bundle creation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To support both architectures in a single "Universal 2" binary,
run the above two commands and then use ``lipo`` to bundle them together::

lipo -create bin/godot.macos.editor.x86_64 bin/godot.macos.editor.arm64 -output bin/godot.macos.editor.universal

To create an ``.app`` bundle, you need to use the template located in ``misc/dist/macos_tools.app``. Typically, for an optimized
editor binary built with ``dev_build=yes``::

cp -r misc/dist/macos_tools.app ./Godot.app
mkdir -p Godot.app/Contents/MacOS
cp bin/godot.macos.editor.universal Godot.app/Contents/MacOS/Godot
chmod +x Godot.app/Contents/MacOS/Godot
codesign --force --timestamp --options=runtime --entitlements misc/dist/macos/editor.entitlements -s - Godot.app
cp -r misc/dist/macos_tools.app ./bin/Godot.app
mkdir -p bin/Godot.app/Contents/MacOS
cp bin/godot.macos.editor.universal bin/Godot.app/Contents/MacOS/Godot
chmod +x bin/Godot.app/Contents/MacOS/Godot
codesign --force --timestamp --options=runtime --entitlements misc/dist/macos/editor.entitlements -s - bin/Godot.app

.. note::

Expand All @@ -95,8 +110,8 @@ editor binary built with ``dev_build=yes``::
You can also choose to link it dynamically by passing ``use_volk=yes`` and
including the dynamic library in your ``.app`` bundle::

mkdir -p Godot.app/Contents/Frameworks
cp <Vulkan SDK path>/macOS/lib/libMoltenVK.dylib Godot.app/Contents/Frameworks/libMoltenVK.dylib
mkdir -p <Godot bundle name>.app/Contents/Frameworks
cp <Vulkan SDK path>/macOS/lib/libMoltenVK.dylib <Godot bundle name>.app/Contents/Frameworks/libMoltenVK.dylib

Running a headless/server build
-------------------------------
Expand Down Expand Up @@ -200,3 +215,29 @@ Now you can compile with SCons like you normally would::
If you have an OSXCross SDK version different from the one expected by the SCons buildsystem, you can specify a custom one with the ``osxcross_sdk`` argument::

scons platform=macos osxcross_sdk=darwin15

Troubleshooting
---------------

Fatal error: 'cstdint' file not found
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you get a compilation error of this form early on, it's likely because
the Xcode command line tools installation needs to be repaired after
a macOS or Xcode update:

::

./core/typedefs.h:45:10: fatal error: 'cstdint' file not found
45 | #include <cstdint>
| ^~~~~~~~~

Run these two commands to reinstall Xcode command line tools
(enter your administrator password as needed):

::

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

If it still does not work, try updating Xcode from the Mac App Store and try again.
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@ To list the available target platforms, use ``scons platform=list``::
The following platforms are available:

android
javascript
ios
linuxbsd
server
macos
web
windows

Please run SCons again and select a valid platform: platform=<string>
Expand Down Expand Up @@ -124,20 +125,24 @@ build targets, and which will be explained below.
Target
------

Target controls if the editor is contained and debug flags are used.
All builds are optimized. Each mode means:
The ``target`` option controls if the editor is compiled and debug flags are used.
Optimization levels (``optimize``) and whether each build contains debug symbols
(``debug_symbols``) is controlled separately from the target. Each mode means:

- ``target=editor``: Build with editor, optimized, with debugging code (defines: ``TOOLS_ENABLED``, ``DEBUG_ENABLED``, ``-O2``/``/O2``)
- ``target=template_debug``: Build with C++ debugging symbols (defines: ``DEBUG_ENABLED``, ``-O2``/``/O2``)
- ``target=template_release``: Build without symbols (defines: ``-O3``/``/O2``)
- ``target=editor``: Build an editor binary (defines ``TOOLS_ENABLED`` and ``DEBUG_ENABLED``)
- ``target=template_debug``: Build a debug export template (defines ``DEBUG_ENABLED``)
- ``target=template_release``: Build a release export template

The editor is enabled by default in all PC targets (Linux, Windows, macOS),
disabled for everything else. Disabling the editor produces a binary that can
run projects but does not include the editor or the Project Manager.

The list of :ref:`command line arguments <doc_command_line_tutorial>`
available varies depending on the build type.

::

scons platform=<platform> target=editor/template_debug/template_release
scons platform=<platform> target=editor|template_debug|template_release

.. _doc_introduction_to_the_buildsystem_development_and_production_aliases:

Expand Down
18 changes: 18 additions & 0 deletions contributing/development/configuring_an_ide/clion.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,21 @@ You can now build, run, debug, profile, and Valgrind check the Godot editor via
:align: center

When playing a scene, the Godot editor will spawn a separate process. You can debug this process in CLion by going to **Run > Attach to process...**, typing ``godot``, and selecting the Godot process with the highest **pid** (process ID), which will usually be the running project.

Ignoring object and library files
-----------------------------------

After building Godot in CLion, you may see the object and library files showing up in the **Project** view.

.. figure:: img/clion-object-library-files-in-project-view.webp
:align: center

You can configure CLion to ignore those files:

- Open CLion and navigate to **Preferences > Editor > File Types > Ignored Files and Folders**
- Click the **+** button to add ``*.o`` and ``*.a`` to the list. In Windows, you would add ``*.obj`` and ``*.dll``.

.. figure:: img/clion-ignore-object-library-files.webp
:align: center

Now, the files should be ignored in the Project view.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ repetition:
It's recommended to use ``GLOBAL_DEF``/``EDITOR_DEF`` only once per setting and
use ``GLOBAL_GET``/``EDITOR_GET`` in all other places where it's referenced.

.. _doc_common_engine_methods_and_macros_error_macros:

Error macros
------------

Expand Down
25 changes: 24 additions & 1 deletion contributing/development/core_and_modules/core_types.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,30 @@ 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, use Vector<>.
For dynamic memory, use one of Godot's sequence types such as ``Vector<>``
or ``LocalVector<>``. ``Vector<>`` behaves much like an STL ``std::vector<>``,
but is simpler and uses Copy-On-Write (CoW) semantics. CoW copies of
``Vector<>`` can safely access the same data from different threads, but
several threads cannot access the same ``Vector<>`` instance safely.
It can be safely passed via public API if it has a ``Packed`` alias.

The ``Packed*Array`` :ref:`types <doc_gdscript_packed_arrays>` are aliases
for specific ``Vector<*>`` types (e.g., ``PackedByteArray``,
``PackedInt32Array``) that are accessible via GDScript. Outside of core,
prefer using the ``Packed*Array`` aliases for functions exposed to scripts,
and ``Vector<>`` for other occasions.

``LocalVector<>`` is much more like ``std::vector`` than ``Vector<>``.
It is non-CoW, with less overhead. It is intended for internal use where
the benefits of CoW are not needed. Note that neither ``LocalVector<>``
nor ``Vector<>`` are drop-in replacements for each other. They are two
unrelated types with similar interfaces, both using a buffer as their
storage strategy.

``List<>`` is another Godot sequence type, using a doubly-linked list as
its storage strategy. Prefer ``Vector<>`` (or ``LocalVector<>``) over
``List<>`` unless you're sure you need it, as cache locality and memory
fragmentation tend to be more important with small collections.

References:
~~~~~~~~~~~
Expand Down
9 changes: 9 additions & 0 deletions contributing/development/cpp_usage_guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,15 @@ pull request.
To follow the existing style, please use standard ``#ifdef``-based include
guards instead of ``#pragma once`` in new files.

``try``-``catch`` blocks
~~~~~~~~~~~~~~~~~~~~~~~~

C++ style exception handling using ``try`` and ``catch`` blocks is forbidden.
This restriction is in place for several reasons, including performance, binary
size and code complexity.
Use :ref:`doc_common_engine_methods_and_macros_error_macros` instead.


.. seealso::

See :ref:`doc_code_style_guidelines_header_includes` for guidelines on sorting
Expand Down
25 changes: 25 additions & 0 deletions contributing/documentation/building_the_manual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,33 @@ RAM for Sphinx alone.
Specifying a list of files
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. warning::

This section will not work on Windows, since the repository is using
a simplified ``make.bat`` script instead of the real GNU Make program.
If you would like to get a Linux terminal on your system, consider using
`Windows Subsystem for Linux (WSL) <https://learn.microsoft.com/en-us/windows/wsl/>`__.

You can specify a list of files to build, which can greatly speed up compilation:

.. code:: sh

make html FILELIST='classes/class_node.rst classes/class_resource.rst'

The list of files can also be provided by the ``git`` command.
This way you can automatically get the names of all files that have changed since
the last commit (``sed`` is used to put them on the same line).

.. code:: sh

make html FILELIST="$(git diff HEAD --name-only | sed -z 's/\n/ /g')"

You can replace ``HEAD`` with ``master`` to return all files changed from the
``master`` branch:

.. code:: sh

make html FILELIST="$(git diff master --name-only | sed -z 's/\n/ /g')"

If any images were modified, the output will contain some warnings about them,
but the build will proceed correctly.
2 changes: 2 additions & 0 deletions contributing/documentation/docs_image_guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -242,10 +242,12 @@ videos should be included with the following code snippet::
:autoplay:
:loop:
:muted:
:align: default

Where ``documentation_video.webp`` would be changed to the name of the video you
created. Name your videos in a way that makes their meaning clear, possibly with
a prefix that makes their relationship to a documentation page explicit.

The ``:autoplay:``, ``:loop:`` and ``:muted:`` flags should always be specified
unless the video needs to play audio. In this case, do not specify *any* of these flags.
The ``:align: default`` flag should always be specified.
2 changes: 1 addition & 1 deletion getting_started/first_2d_game/03.coding_the_player.rst
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ Next, add this code to the function:
.. tabs::
.. code-tab:: gdscript GDScript

func _on_body_entered(body):
func _on_body_entered(_body):
hide() # Player disappears after being hit.
hit.emit()
# Must be deferred as we can't change physics properties on a physics callback.
Expand Down
Loading