From d91bd9fa2730d144db7fdbd4de636ff796b81d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Fri, 13 Jan 2023 14:35:36 +0100 Subject: [PATCH] Add missing newlines at EOF --- _includes/footer.html | 2 +- _includes/header.html | 2 +- _layouts/article.html | 2 +- _layouts/blog.html | 2 +- _layouts/default.html | 2 +- _layouts/download.html | 2 +- _layouts/more.html | 2 +- _layouts/showcase-item.html | 2 +- assets/css/highlight.obsidian.min.css | 2 +- assets/download/itch_logo.svg | 2 +- assets/favicon.svg | 2 +- assets/footer/feed_logo.svg | 2 +- assets/icons/ios.svg | 2 +- assets/icons/playstation.svg | 2 +- assets/icons/search.svg | 2 +- assets/icons/server.svg | 2 +- assets/icons/xbox.svg | 2 +- assets/js/highlight.gdscript.min.js | 2 +- assets/leaflet/leaflet.js | 2 +- assets/leaflet/leaflet.js.map | 2 +- collections/_article/2022-retrospective.md | 6 +-- .../2d-games-godot-kickstarter-live.md | 4 +- ...ded-celebrating-patreon-rewards-upgrade.md | 2 +- .../abandoning-gles3-vulkan-and-gles2.md | 2 +- .../about-godot4-vulkan-gles3-and-gles2.md | 4 +- ...rocessing-is-here-for-smoother-gameplay.md | 2 +- .../_article/animation-data-redesign-40.md | 2 +- .../animation-retargeting-in-godot-4-0.md | 4 +- .../_article/announcing-2020-showreel.md | 2 +- .../announcing-2021-godot-games-showreel.md | 2 +- .../announcing-godot-2022-showreels.md | 2 +- .../_article/announcing-gogodotjam-2.md | 2 +- .../_article/announcing-gogodotjam-3.md | 2 +- collections/_article/announcing-gogodotjam.md | 10 ++-- .../_article/announcing-monthly-live-q.md | 2 +- ...nnouncing-new-community-map-user-groups.md | 2 +- .../announcing-new-hire-gilles-roudiere.md | 2 +- ...as-oss-godot-is-more-than-a-game-engine.md | 12 ++--- ...asset-library-web-frontend-reaches-beta.md | 2 +- .../atlas-support-returns-godot-3-2.md | 4 +- .../basic-cryptography-ssl-improvements.md | 2 +- ...me-godot-contributor-hacktoberfest-2018.md | 2 +- ...gamedevtv-are-kickstarting-godot-course.md | 2 +- .../_article/beta-release-python-support.md | 2 +- .../_article/betsy-gpu-texture-compressor.md | 4 +- .../bugs-lets-catch-em-all-saturday.md | 2 +- ...-for-participation-online-godotcon-2021.md | 2 +- .../call-participation-godotcon-2019.md | 2 +- ...unteers-organizing-regional-communities.md | 6 +-- .../camille-mohr-daurat-hired-work-physics.md | 2 +- .../cfp-game-development-room-fosdem-2020.md | 2 +- collections/_article/change-image.md | 12 ++--- .../code-of-conduct-godot-community.md | 4 +- collections/_article/community-forum-back.md | 2 +- .../complex-text-layouts-progress-report-1.md | 6 +-- .../complex-text-layouts-progress-report-2.md | 4 +- .../complex-text-layouts-progress-report-3.md | 2 +- .../core-refactoring-progress-report-1.md | 14 +++--- .../core-refactoring-progress-report-2.md | 8 +-- .../_article/csharp-android-support.md | 2 +- .../_article/csharp-ios-signals-events.md | 2 +- collections/_article/csharp-vs-and-vscode.md | 2 +- collections/_article/csharp-wasm-aot.md | 2 +- .../_article/custom-sky-shaders-godot-4-0.md | 12 ++--- .../dev-snapshot-godot-2-1-5-beta-1.md | 2 +- .../dev-snapshot-godot-2-1-5-beta-2.md | 2 +- .../_article/dev-snapshot-godot-2-1-5-rc-1.md | 2 +- .../_article/dev-snapshot-godot-2-1-5-rc-2.md | 2 +- .../_article/dev-snapshot-godot-2-1-6-rc-1.md | 2 +- .../_article/dev-snapshot-godot-3-0-1-rc1.md | 2 +- .../_article/dev-snapshot-godot-3-0-3-rc-1.md | 4 +- .../_article/dev-snapshot-godot-3-0-3-rc-2.md | 2 +- .../_article/dev-snapshot-godot-3-0-3-rc-3.md | 4 +- .../dev-snapshot-godot-3-0-alpha-1.md | 2 +- .../dev-snapshot-godot-3-0-alpha-2.md | 2 +- .../_article/dev-snapshot-godot-3-0-beta-1.md | 2 +- .../_article/dev-snapshot-godot-3-0-beta-2.md | 2 +- .../_article/dev-snapshot-godot-3-0-rc-1.md | 2 +- .../_article/dev-snapshot-godot-3-0-rc-2.md | 2 +- .../_article/dev-snapshot-godot-3-0-rc-3.md | 2 +- .../dev-snapshot-godot-3-1-alpha-1.md | 2 +- .../dev-snapshot-godot-3-1-alpha-2.md | 2 +- .../dev-snapshot-godot-3-1-alpha-3.md | 2 +- .../dev-snapshot-godot-3-1-alpha-4.md | 2 +- .../dev-snapshot-godot-3-1-alpha-5.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-1.md | 2 +- .../dev-snapshot-godot-3-1-beta-10.md | 2 +- .../dev-snapshot-godot-3-1-beta-11.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-2.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-3.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-4.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-5.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-6.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-7.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-8.md | 2 +- .../_article/dev-snapshot-godot-3-1-beta-9.md | 2 +- .../dev-snapshot-godot-3-2-2-beta-1.md | 2 +- .../dev-snapshot-godot-3-2-2-beta-2.md | 2 +- .../dev-snapshot-godot-3-2-2-beta-3.md | 2 +- .../dev-snapshot-godot-3-2-2-beta-4.md | 2 +- .../dev-snapshot-godot-3-2-3-beta-1.md | 2 +- .../dev-snapshot-godot-3-2-4-beta-1.md | 2 +- .../dev-snapshot-godot-3-2-4-beta-2.md | 2 +- .../dev-snapshot-godot-3-2-4-beta-3.md | 2 +- .../dev-snapshot-godot-3-2-4-beta-4.md | 2 +- .../dev-snapshot-godot-3-2-4-beta-5.md | 2 +- .../dev-snapshot-godot-3-2-4-beta-6.md | 2 +- .../dev-snapshot-godot-3-2-alpha-1.md | 2 +- .../dev-snapshot-godot-3-2-alpha-2.md | 2 +- .../dev-snapshot-godot-3-2-alpha-3.md | 2 +- .../_article/dev-snapshot-godot-3-2-beta-1.md | 2 +- .../_article/dev-snapshot-godot-3-2-beta-2.md | 2 +- .../_article/dev-snapshot-godot-3-2-beta-3.md | 2 +- .../_article/dev-snapshot-godot-3-2-beta-4.md | 2 +- .../_article/dev-snapshot-godot-3-2-beta-5.md | 2 +- .../_article/dev-snapshot-godot-3-2-beta-6.md | 2 +- .../_article/dev-snapshot-godot-3-4-beta-2.md | 2 +- .../_article/dev-snapshot-godot-3-4-beta-3.md | 2 +- .../_article/dev-snapshot-godot-3-4-beta-4.md | 2 +- .../_article/dev-snapshot-godot-3-4-beta-5.md | 2 +- .../_article/dev-snapshot-godot-3-4-beta-6.md | 2 +- .../_article/dev-snapshot-godot-3-5-beta-1.md | 2 +- .../_article/dev-snapshot-godot-3-5-beta-2.md | 2 +- .../_article/dev-snapshot-godot-3-5-beta-3.md | 2 +- .../_article/dev-snapshot-godot-3-5-beta-4.md | 2 +- .../_article/dev-snapshot-godot-3-5-beta-5.md | 2 +- .../dev-snapshot-godot-4-0-alpha-1.md | 2 +- .../dev-snapshot-godot-4-0-alpha-10.md | 2 +- .../dev-snapshot-godot-4-0-alpha-11.md | 2 +- .../dev-snapshot-godot-4-0-alpha-12.md | 2 +- .../dev-snapshot-godot-4-0-alpha-13.md | 2 +- .../dev-snapshot-godot-4-0-alpha-14.md | 2 +- .../dev-snapshot-godot-4-0-alpha-15.md | 2 +- .../dev-snapshot-godot-4-0-alpha-16.md | 2 +- .../dev-snapshot-godot-4-0-alpha-17.md | 4 +- .../dev-snapshot-godot-4-0-alpha-2.md | 4 +- .../dev-snapshot-godot-4-0-alpha-3.md | 2 +- .../dev-snapshot-godot-4-0-alpha-4.md | 2 +- .../dev-snapshot-godot-4-0-alpha-5.md | 2 +- .../dev-snapshot-godot-4-0-alpha-6.md | 2 +- .../dev-snapshot-godot-4-0-alpha-7.md | 2 +- .../dev-snapshot-godot-4-0-alpha-8.md | 2 +- .../dev-snapshot-godot-4-0-alpha-9.md | 2 +- .../_article/dev-snapshot-godot-4-0-beta-1.md | 24 ++++----- .../dev-snapshot-godot-4-0-beta-10.md | 4 +- .../_article/dev-snapshot-godot-4-0-beta-2.md | 4 +- .../_article/dev-snapshot-godot-4-0-beta-3.md | 2 +- .../_article/dev-snapshot-godot-4-0-beta-4.md | 2 +- .../_article/dev-snapshot-godot-4-0-beta-5.md | 2 +- .../_article/dev-snapshot-godot-4-0-beta-6.md | 2 +- .../_article/dev-snapshot-godot-4-0-beta-7.md | 4 +- .../_article/dev-snapshot-godot-4-0-beta-8.md | 4 +- .../_article/dev-snapshot-godot-4-0-beta-9.md | 2 +- collections/_article/dlscript-here.md | 4 +- collections/_article/donation-changes.md | 6 +-- collections/_article/dtls-report-1.md | 2 +- .../_article/editor-improvements-godot-40.md | 6 +-- ...ouble-precision-gpu-render-large-worlds.md | 34 ++++++------- collections/_article/enet-dtls-encryption.md | 2 +- ...rts-godot-and-announces-upcoming-module.md | 2 +- .../fbx-importer-rewritten-for-godot-3-2-4.md | 2 +- .../_article/fill-blank-class-reference.md | 2 +- .../first-godot-3-docs-sprint-sept-9.md | 6 +-- collections/_article/first-public-release.md | 2 +- .../_article/first-steps-towards-1-2.md | 2 +- ...ixing-godot-games-published-google-play.md | 4 +- .../fixing-tangents-accurate-normal-maps.md | 2 +- .../_article/fog-volumes-arrive-in-godot-4.md | 8 +-- .../_article/future-patreon-and-donations.md | 10 ++-- ...ter-learn-2d-and-3d-game-creation-godot.md | 2 +- ...tretch-goals-free-tutorials-godot-demos.md | 2 +- ...ipt-progress-report-feature-complete-40.md | 2 +- ...progress-report-new-gdscript-now-merged.md | 2 +- ...ript-progress-report-type-checking-back.md | 2 +- ...ript-progress-report-typed-instructions.md | 2 +- ...ript-progress-report-writing-new-parser.md | 2 +- ...cript-progress-report-writing-tokenizer.md | 2 +- ...rques-will-be-working-full-time-project.md | 2 +- .../get-ready-fosdem-and-godotcon-2018.md | 2 +- .../get-ready-github-gameoff-godot.md | 2 +- ...e-off-and-godot-are-winning-combination.md | 2 +- .../gles2-and-gdnative-progress-report-1.md | 4 +- .../gles2-and-gdnative-progress-report-2.md | 14 +++--- .../gles2-and-gdnative-progress-report-3.md | 2 +- .../gles2-and-gdnative-progress-report-4.md | 22 ++++---- .../gles2-and-gdnative-progress-report-5.md | 8 +-- .../gles2-and-gdnative-progress-report-6.md | 4 +- .../gles2-and-gdnative-progress-report-7.md | 4 +- ...gles2-renderer-optimization-2d-batching.md | 2 +- collections/_article/godot-1-1-beta1-out.md | 2 +- collections/_article/godot-1-1-out.md | 2 +- collections/_article/godot-1-1-rc1.md | 2 +- collections/_article/godot-1-1-rc2.md | 2 +- collections/_article/godot-1-1-rc3.md | 2 +- collections/_article/godot-10-rc1-here.md | 2 +- collections/_article/godot-2-0-now-beta.md | 2 +- .../_article/godot-2-0-rc1-released.md | 2 +- collections/_article/godot-2-1-rc1-out.md | 2 +- ...odot-2-1-reaches-beta-ready-for-testing.md | 2 +- collections/_article/godot-2019-showreel.md | 4 +- .../godot-2020-year-in-review-video.md | 2 +- collections/_article/godot-3-0-released.md | 10 ++-- collections/_article/godot-3-1-released.md | 4 +- ...t-3-2-adds-support-convex-decomposition.md | 4 +- collections/_article/godot-3-2-arvr-update.md | 4 +- collections/_article/godot-3-2-docs-sprint.md | 2 +- ...-3-2-will-get-new-android-plugin-system.md | 2 +- collections/_article/godot-3-3-has-arrived.md | 2 +- collections/_article/godot-3-4-is-released.md | 6 +-- .../_article/godot-3-5-cant-stop-wont-stop.md | 10 ++-- .../godot-3-capitole-du-libre-2017.md | 2 +- .../_article/godot-3-capitole-du-libre.md | 8 +-- .../godot-3-renderer-design-explained.md | 18 +++---- .../_article/godot-3-vr-and-ar-support.md | 4 +- ...odot-30-new-internals-progress-report-4.md | 12 ++--- .../godot-30-new-progress-report-and-gdc.md | 2 +- .../_article/godot-30-progress-report-6.md | 10 ++-- .../godot-30-switches-bullet-3-physics.md | 4 +- ...ill-get-many-improvements-kinematicbody.md | 22 ++++---- ...32-will-allow-disabling-editor-features.md | 6 +-- .../godot-32-will-get-new-audio-features.md | 12 ++--- ...32-will-get-pseudo-3d-support-2d-engine.md | 4 +- ...t-4-0-development-enters-feature-freeze.md | 2 +- ...dot-4-will-discontinue-visual-scripting.md | 6 +-- ...ets-global-and-instance-shader-uniforms.md | 4 +- ...sdf-based-real-time-global-illumination.md | 2 +- .../godot-40-optimization-progress-report.md | 2 +- ...-40-will-get-new-modernized-lightmapper.md | 4 +- collections/_article/godot-aims-mainstream.md | 2 +- ...openhmd-kiel-open-source-and-linux-days.md | 2 +- collections/_article/godot-apk-fixer-tool.md | 2 +- collections/_article/godot-at-gdc-2023.md | 2 +- .../_article/godot-community-poll-2020.md | 2 +- .../_article/godot-community-poll-2021.md | 2 +- .../_article/godot-community-poll-2022.md | 2 +- .../godot-consoles-all-you-need-know.md | 8 +-- .../godot-core-budget-meeting-report-1.md | 4 +- .../godot-course-kickstarter-next-monday.md | 6 +-- .../godot-docs-improvements-report.md | 2 +- .../_article/godot-doing-well-gdc-2018.md | 22 ++++---- .../godot-editor-running-web-browser.md | 2 +- ...000-mozilla-open-source-support-program.md | 2 +- .../_article/godot-engine-donation-opgames.md | 2 +- .../_article/godot-engine-go-public-2019.md | 6 +-- .../_article/godot-engine-reaches-1-0.md | 2 +- .../godot-engine-reaches-2-0-stable.md | 28 +++++------ ...engine-receives-120000-grant-from-kefir.md | 2 +- ...e-receiving-new-grant-meta-reality-labs.md | 2 +- ...ng-support-funded-facebook-reality-labs.md | 2 +- ...godot-engine-was-awarded-epic-megagrant.md | 4 +- .../godot-gamejam-dec-2016-jan-2017.md | 2 +- .../_article/godot-gamejam-june-2016.md | 2 +- .../godot-games-steam-next-fest-oct-2021.md | 12 ++--- .../_article/godot-gdc-2016-aftermath.md | 4 +- .../_article/godot-gets-2d-skeletal-deform.md | 16 +++--- ...-new-animation-editor-cinematic-support.md | 10 ++-- .../_article/godot-gets-csg-support.md | 18 +++---- ...t-gets-new-animation-tree-state-machine.md | 10 ++-- .../godot-gets-new-filesystem-dock-3-1.md | 2 +- .../_article/godot-gets-new-inspector.md | 4 +- .../_article/godot-getting-more-languages.md | 6 +-- .../_article/godot-google-summer-code-2018.md | 2 +- .../_article/godot-google-summer-code-2019.md | 2 +- .../godot-has-been-renamed-godette-engine.md | 6 +-- collections/_article/godot-history-images.md | 2 +- .../godot-jam-starts-now-theme-temperature.md | 2 +- ...odot-joins-software-freedom-conservancy.md | 2 +- .../_article/godot-leap-motion-support.md | 4 +- collections/_article/godot-now-really-free.md | 2 +- .../_article/godot-oculus-quest-support.md | 10 ++-- .../godot-openxr-111-plugin-release.md | 2 +- collections/_article/godot-openxr-support.md | 4 +- .../_article/godot-project-management-101.md | 2 +- collections/_article/godot-ragdoll-system.md | 10 ++-- .../_article/godot-reaches-2-1-stable.md | 6 +-- .../_article/godot-rmll-2015-france.md | 6 +-- ...odot-rmll-lsm-2018-strasbourg-july-7-12.md | 2 +- ...odot-showcase-2dynamic-games-lumencraft.md | 12 ++--- .../godot-showcase-ben-kurtin-fnf-vr.md | 2 +- .../godot-showcase-cheeseness-hive-time.md | 2 +- .../godot-showcase-fat-gem-primal-light.md | 4 +- ...th-developer-talks-about-his-experience.md | 20 ++++---- .../godot-showcase-john-watson-gravity-ace.md | 2 +- ...dot-showcase-justin-arnold-rpg-in-a-box.md | 2 +- ...odot-showcase-leocesar3d-human-diaspora.md | 2 +- .../godot-showcase-little-red-dog-games.md | 8 +-- ...-showcase-monolith-of-minds-resolutiion.md | 4 +- ...t-slides-gamified-slideshows-with-godot.md | 4 +- ...nt-and-user-meeting-barcelona-june-2022.md | 6 +-- .../godot-web-export-progress-report-4.md | 2 +- .../_article/godot-web-progress-report-2.md | 2 +- .../_article/godot-web-progress-report-3.md | 2 +- .../_article/godot-web-progress-report-5.md | 2 +- .../_article/godot-web-progress-report-6.md | 2 +- .../_article/godot-web-progress-report-7.md | 2 +- .../_article/godot-web-progress-report-8.md | 4 +- .../_article/godot-web-progress-report-9.md | 4 +- collections/_article/godot-webrtc-report1.md | 2 +- collections/_article/godot-webrtc-report2.md | 2 +- collections/_article/godot-webrtc-report3.md | 2 +- collections/_article/godot-wild-jam-2018.md | 4 +- .../godot-wild-jam-october-2018-results.md | 4 +- .../godot-xr-progress-update-june-2021.md | 8 +-- .../_article/godot-xr-update-feb-2022.md | 4 +- .../godotcon-2018-venue-and-call-proposals.md | 2 +- .../_article/godotcon-july-2021-schedule.md | 2 +- ...e-gets-several-improvements-upcoming-40.md | 8 +-- ...dots-documentation-now-open-translation.md | 2 +- ...duation-godot-moves-to-a-new-foundation.md | 10 ++-- ...odots-new-high-level-networking-preview.md | 8 +-- .../godots-new-renderer-progress-report-1.md | 14 +++--- .../godots-new-renderer-progress-report-2.md | 2 +- .../godots-new-renderer-progress-report-3.md | 8 +-- .../_article/gsoc-2018-progress-report-1.md | 2 +- .../gsoc-2019-progress-report-1-part-1.md | 16 +++--- .../gsoc-2019-progress-report-1-part-2.md | 10 ++-- .../_article/gsoc-2019-progress-report-2.md | 22 ++++---- .../_article/gsoc-2019-progress-report-3.md | 42 ++++++++-------- .../_article/gsoc-2020-progress-report-1.md | 4 +- .../_article/gsoc-2021-progress-report-1.md | 8 +-- .../_article/gsoc-2022-progress-report-1.md | 16 +++--- ...all-team-big-project-building-moonwards.md | 20 ++++---- collections/_article/handling-axis-godot.md | 10 ++-- ...up-vulkan-merged-master-branch-unstable.md | 2 +- .../help-complete-translations-godot-3-0.md | 2 +- .../help-us-complete-godots-api-reference.md | 2 +- ...funding-goal-ensure-continued-c-support.md | 4 +- .../help-us-write-floss-manual-godot.md | 2 +- collections/_article/here-comes-godot-3-2.md | 2 +- .../_article/hero-wanted-31-version.md | 2 +- ...nted-campaing-fixing-final-bugs-launchs.md | 2 +- ...ero-wanted-help-fix-remaining-issues-30.md | 2 +- .../heroic-labs-supports-godot-development.md | 2 +- collections/_article/home-sweet-home.md | 4 +- .../how-actually-make-your-dream-game.md | 50 +++++++++---------- .../_article/html5-export-profiling.md | 2 +- ...hired-improve-godots-web-infrastructure.md | 2 +- .../importing-3d-assets-blender-gamedevtv.md | 2 +- .../improvements-gpuparticles-godot-40.md | 2 +- ...ovements-shaders-visual-shaders-godot-4.md | 4 +- .../interblock-supports-godot-development.md | 6 +-- .../introducing-brand-new-code-completion.md | 2 +- .../_article/introducing-csharp-godot.md | 2 +- .../_article/introducing-gd-extensions.md | 6 +-- .../introducing-godot-proposals-repository.md | 2 +- .../introducing-japanese-indies-godot.md | 8 +-- ...introducing-new-last-minute-lightmapper.md | 8 +-- ...ducing-onion-skinning-godot-game-engine.md | 2 +- ...ucing-the-godot-gltf-2-0-scene-exporter.md | 8 +-- .../joan-fons-hired-work-godot-rendering.md | 2 +- .../_article/join-godot-meetup-gdc-2019.md | 2 +- ...join-hacktoberfest-and-contribute-godot.md | 2 +- .../join-us-gdc-during-godot-meetup-2018.md | 6 +-- .../last-call-take-off-godot-2-1-rc2.md | 2 +- .../_article/let-people-touch-godot.md | 2 +- .../_article/look-gdnative-architecture.md | 8 +-- .../maintenance-release-godot-2-0-2.md | 2 +- .../maintenance-release-godot-2-0-3.md | 4 +- .../maintenance-release-godot-2-0-4.md | 2 +- .../maintenance-release-godot-2-1-1.md | 4 +- .../maintenance-release-godot-2-1-2.md | 2 +- .../maintenance-release-godot-2-1-3.md | 2 +- .../maintenance-release-godot-2-1-4.md | 2 +- .../maintenance-release-godot-2-1-5.md | 2 +- .../maintenance-release-godot-2-1-6.md | 2 +- .../maintenance-release-godot-3-0-1.md | 2 +- .../maintenance-release-godot-3-0-3.md | 2 +- .../maintenance-release-godot-3-0-4.md | 4 +- .../maintenance-release-godot-3-0-5.md | 6 +-- .../maintenance-release-godot-3-0-6.md | 2 +- .../maintenance-release-godot-3-1-1.md | 4 +- .../maintenance-release-godot-3-1-2.md | 2 +- .../maintenance-release-godot-3-2-1.md | 2 +- .../maintenance-release-godot-3-2-2.md | 2 +- .../maintenance-release-godot-3-2-3.md | 2 +- .../maintenance-release-godot-3-3-1.md | 4 +- .../maintenance-release-godot-3-3-2.md | 4 +- .../maintenance-release-godot-3-3-3.md | 4 +- .../maintenance-release-godot-3-3-4.md | 2 +- .../maintenance-release-godot-3-4-1.md | 4 +- .../maintenance-release-godot-3-4-2.md | 4 +- .../maintenance-release-godot-3-4-3.md | 4 +- .../maintenance-release-godot-3-4-4.md | 2 +- .../maintenance-release-godot-3-4-5.md | 4 +- .../maintenance-release-godot-3-5-1.md | 2 +- .../_article/maintenance-release-godot-302.md | 4 +- ...r-update-for-visual-shader-in-godot-3-2.md | 2 +- ...-update-visual-shaders-godot-3-2-part-2.md | 6 +-- ...ake-2d-games-godot-last-day-kickstarter.md | 2 +- .../making-shaders-more-accessible.md | 8 +-- ...meet-community-fosdem-and-godotcon-2019.md | 2 +- ...meet-community-fosdem-and-godotcon-2020.md | 2 +- .../meet-community-godotcon-poznan-2018.md | 2 +- .../meet-community-godotcon-poznan-2019.md | 2 +- ...t-godot-engine-representatives-gdc-2020.md | 6 +-- .../meet-godot-representatives-gdc-2019.md | 2 +- .../_article/meet-nodes-godot-event-paris.md | 2 +- .../meet-us-fosdem-2017-and-godotcon.md | 2 +- ...mir-godot-habla-dein-language-desormais.md | 2 +- .../movie-maker-mode-arrives-in-godot-4.md | 2 +- ...gine-part-moss-mission-partners-program.md | 2 +- .../multiplayer-changes-godot-4-0-report-1.md | 2 +- .../multiplayer-changes-godot-4-0-report-2.md | 2 +- .../multiplayer-changes-godot-4-0-report-3.md | 2 +- .../multiplayer-changes-godot-4-0-report-4.md | 4 +- .../_article/navigation-server-godot-4-0.md | 10 ++-- ...mmunication-platform-godot-contributors.md | 2 +- .../new-godot-t-shirt-design-call-content.md | 4 +- ...w-showcase-for-projects-made-with-godot.md | 6 +-- ...us-hire-remi-verschelde-akien-full-time.md | 10 ++-- .../_article/online-godotcon-2021-schedule.md | 8 +-- ...e-godotcon-july-2021-call-participation.md | 8 +-- .../_article/only-two-buttons-dozens-games.md | 2 +- .../_article/onward-new-3d-renderer.md | 2 +- .../open-arpg-and-jrpg-demos-gdquest.md | 2 +- .../open-source-godot-gets-two-years-old.md | 2 +- .../_article/opening-github-discussions.md | 2 +- .../_article/optional-typing-gdscript.md | 2 +- .../our-point-click-framework-finally-out.md | 2 +- .../_article/patreon-first-goal-achieved.md | 2 +- .../_article/physics-progress-report-1.md | 2 +- ...e-help-us-reach-our-second-patreon-goal.md | 10 ++-- collections/_article/plugins.md | 2 +- collections/_article/preparing-gdc-2018.md | 10 ++-- .../progress-report-april-may-2017.md | 4 +- .../_article/release-candidate-3-2-3-rc-3.md | 2 +- .../_article/release-candidate-3-2-rc-4.md | 2 +- .../_article/release-candidate-3-5-rc-2.md | 2 +- .../release-candidate-godot-3-1-1-rc-1.md | 4 +- .../release-candidate-godot-3-1-2-rc-1.md | 2 +- .../release-candidate-godot-3-1-rc-1.md | 2 +- .../release-candidate-godot-3-1-rc-2.md | 2 +- .../release-candidate-godot-3-1-rc-3.md | 2 +- .../release-candidate-godot-3-2-1-rc-1.md | 2 +- .../release-candidate-godot-3-2-1-rc-2.md | 2 +- .../release-candidate-godot-3-2-2-rc-1.md | 2 +- .../release-candidate-godot-3-2-2-rc-2.md | 2 +- .../release-candidate-godot-3-2-2-rc-3.md | 2 +- .../release-candidate-godot-3-2-2-rc-4.md | 2 +- .../release-candidate-godot-3-2-3-rc-1.md | 2 +- .../release-candidate-godot-3-2-3-rc-2.md | 2 +- .../release-candidate-godot-3-2-3-rc-4.md | 2 +- .../release-candidate-godot-3-2-3-rc-5.md | 2 +- .../release-candidate-godot-3-2-3-rc-6.md | 2 +- .../release-candidate-godot-3-2-4-rc-1.md | 2 +- .../release-candidate-godot-3-2-4-rc-2.md | 2 +- .../release-candidate-godot-3-2-4-rc-3.md | 2 +- .../release-candidate-godot-3-2-4-rc-4.md | 2 +- .../release-candidate-godot-3-2-4-rc-5.md | 2 +- .../release-candidate-godot-3-2-rc-1.md | 2 +- .../release-candidate-godot-3-2-rc-2.md | 2 +- .../release-candidate-godot-3-2-rc-3.md | 2 +- .../release-candidate-godot-3-3-1-rc-1.md | 2 +- .../release-candidate-godot-3-3-1-rc-2.md | 2 +- .../release-candidate-godot-3-3-3-rc-1.md | 2 +- .../release-candidate-godot-3-3-3-rc-2.md | 2 +- .../release-candidate-godot-3-3-4-rc-1.md | 2 +- .../release-candidate-godot-3-3-rc-6.md | 2 +- .../release-candidate-godot-3-3-rc-7.md | 2 +- .../release-candidate-godot-3-3-rc-8.md | 2 +- .../release-candidate-godot-3-3-rc-9.md | 2 +- .../release-candidate-godot-3-4-1-rc-1.md | 2 +- .../release-candidate-godot-3-4-1-rc-2.md | 2 +- .../release-candidate-godot-3-4-1-rc-3.md | 4 +- .../release-candidate-godot-3-4-3-rc-1.md | 2 +- .../release-candidate-godot-3-4-3-rc-2.md | 2 +- .../release-candidate-godot-3-4-4-rc-1.md | 2 +- .../release-candidate-godot-3-4-4-rc-2.md | 2 +- .../release-candidate-godot-3-4-5-rc-1.md | 2 +- .../release-candidate-godot-3-4-rc-1.md | 2 +- .../release-candidate-godot-3-4-rc-2.md | 2 +- .../release-candidate-godot-3-4-rc-3.md | 2 +- .../release-candidate-godot-3-5-1-rc-1.md | 2 +- .../release-candidate-godot-3-5-1-rc-2.md | 2 +- .../release-candidate-godot-3-5-2-rc-1.md | 2 +- .../release-candidate-godot-3-5-rc-1.md | 4 +- .../release-candidate-godot-3-5-rc-3.md | 2 +- .../release-candidate-godot-3-5-rc-4.md | 2 +- .../release-candidate-godot-3-5-rc-5.md | 2 +- .../release-candidate-godot-3-5-rc-6.md | 2 +- .../release-candidate-godot-3-5-rc-7.md | 2 +- .../release-candidate-godot-3-5-rc-8.md | 2 +- .../release-management-4-0-and-beyond.md | 14 +++--- .../_article/results-godot-jam-june-2018.md | 2 +- .../_article/retrospective-and-future.md | 10 ++-- .../_article/schedule-godotcon-2018-poznan.md | 8 +-- .../schedule-godotcon-2019-brussels.md | 8 +-- .../_article/schedule-godotcon-2019-poznan.md | 8 +-- .../schedule-godotcon-2020-brussels.md | 10 ++-- ...ding-light-on-godot-development-process.md | 4 +- .../showcase-your-godot-game-our-website.md | 2 +- .../_article/simplex-noise-lands-godot-31.md | 4 +- .../_article/skeleton-inverse-kinematic.md | 4 +- .../sketchfab-integrates-with-godot.md | 2 +- collections/_article/small-defense-gltf.md | 4 +- collections/_article/soft-body.md | 4 +- .../state-godot-gdc-2019-github-hq.md | 2 +- collections/_article/status-godot-gdc-2019.md | 6 +-- .../_article/status-of-opengl-renderer.md | 4 +- ...udent-applications-gsoc-2020-open-today.md | 2 +- .../submissions-open-godot-2019-showreel.md | 4 +- .../submissions-open-godot-2020-showreel.md | 2 +- .../submissions-open-godot-2021-showreel.md | 2 +- .../submissions-open-godot-2022-showreel.md | 2 +- ...ets-make-best-game-engine-ever-together.md | 2 +- .../_article/support-us-kickstarter.md | 2 +- .../_article/tests-needed-godot-2-1-4-beta.md | 2 +- .../_article/tiles-editor-progress-3.md | 8 +-- .../_article/tiles-editor-progress-4.md | 4 +- .../tiles-editor-progress-report-2.md | 6 +-- .../tiles-editor-progress-report-5.md | 10 ++-- collections/_article/tiles-editor-rework.md | 6 +-- .../turn-android-app-quest-vr-app-3-steps.md | 10 ++-- ...ng-godot-jam-15-18-june-theme-proposals.md | 2 +- .../_article/update-godot-ar-and-vr.md | 14 +++--- .../update-on-recent-vr-developments.md | 2 +- ...es-on-the-release-cycle-and-godot-2-0-1.md | 2 +- .../_article/versioning-change-godot-3x.md | 2 +- .../_article/visual-shader-editor-back.md | 4 +- collections/_article/vote-godot-jams-theme.md | 2 +- .../_article/vulkan-progress-report-1.md | 2 +- .../_article/vulkan-progress-report-2.md | 6 +-- .../_article/vulkan-progress-report-3.md | 4 +- .../_article/vulkan-progress-report-4.md | 8 +-- .../_article/vulkan-progress-report-5.md | 4 +- .../_article/vulkan-progress-report-6.md | 6 +-- .../_article/vulkan-progress-report-7.md | 4 +- .../_article/warning-head-going-unstable.md | 4 +- .../_article/we-hired-gdquest-work-manual.md | 2 +- ...r-help-improve-our-documentation-system.md | 4 +- ...e-gltf-20-export-3d-assets-game-engines.md | 28 +++++------ collections/_article/webassembly-godot-web.md | 2 +- collections/_article/website-back.md | 4 +- .../websocket-ssl-testing-html5-export.md | 2 +- .../websocket-updates-udp-multicast.md | 2 +- ...coming-our-new-gold-sponsor-imagecampus.md | 4 +- .../why-does-godot-use-servers-and-rids.md | 12 ++--- .../why-isnt-godot-ecs-based-game-engine.md | 12 ++--- collections/_article/why-we-broke-your-pr.md | 4 +- ...r-contribution-be-merged-heres-how-tell.md | 6 +-- .../_article/winter-holiday-godot-game-jam.md | 2 +- .../x11-display-server-progress-report.md | 4 +- collections/_download/android.md | 2 +- collections/_download/linux.md | 2 +- collections/_download/macos.md | 2 +- collections/_download/server.md | 2 +- collections/_download/windows.md | 2 +- collections/_showcase/beat-invaders.md | 2 +- collections/_showcase/city-game-studio.md | 2 +- collections/_showcase/cruelty-squad.md | 2 +- .../_showcase/delta-v-rings-of-saturn.md | 2 +- collections/_showcase/dome-keeper.md | 2 +- collections/_showcase/dungeondraft.md | 2 +- collections/_showcase/ex-zodiac.md | 2 +- .../_showcase/fist-of-the-forgotten.md | 2 +- collections/_showcase/gravity-ace.md | 2 +- collections/_showcase/haiki.md | 2 +- collections/_showcase/hive-time.md | 2 +- collections/_showcase/human-diaspora.md | 2 +- collections/_showcase/kingdoms-of-the-dump.md | 2 +- collections/_showcase/material-maker.md | 2 +- collections/_showcase/pingo-adventure.md | 2 +- collections/_showcase/pixelorama.md | 2 +- collections/_showcase/precipice.md | 2 +- collections/_showcase/primal-light.md | 2 +- collections/_showcase/resolutiion.md | 2 +- .../_showcase/rogue-state-revolution.md | 2 +- collections/_showcase/rpg-in-a-box.md | 2 +- collections/_showcase/tail-quest.md | 4 +- collections/_showcase/the-garden-path.md | 2 +- collections/_showcase/until-then.md | 2 +- pages/404.html | 2 +- pages/blog/blog.html | 2 +- pages/blog/categories/events.html | 2 +- pages/blog/categories/news.html | 2 +- pages/blog/categories/pre-release.html | 2 +- pages/blog/categories/progress-report.html | 2 +- pages/blog/categories/release.html | 2 +- pages/blog/categories/showcase.html | 2 +- pages/code-of-conduct.html | 2 +- pages/community/community.html | 2 +- pages/community/user-groups.html | 2 +- pages/contact.html | 2 +- pages/donate.html | 2 +- pages/download.html | 2 +- pages/education.html | 2 +- pages/events.html | 2 +- pages/features.html | 2 +- pages/governance.html | 2 +- pages/home.html | 2 +- pages/license.html | 2 +- pages/maintenance.html | 2 +- pages/press.html | 2 +- pages/privacy-policy.html | 2 +- pages/rss.xml | 2 +- pages/showcase.html | 2 +- pages/teams.html | 2 +- storage/app/media/gdquest/index.md | 6 +-- .../hacktoberfest/logo-hacktoberfest.svg | 2 +- .../57e/f83/c4e/57ef83c4e718d700719754.svg | 2 +- .../57f/218/5f6/57f2185f638af084238366.svg | 2 +- .../5a9/681/3c1/5a96813c154bd636778829.svg | 2 +- .../5dc/016/5dd/5dc0165dda174961503136.svg | 2 +- .../5dc/019/1f9/5dc0191f92385004371530.svg | 2 +- 604 files changed, 1164 insertions(+), 1164 deletions(-) diff --git a/_includes/footer.html b/_includes/footer.html index e45ca323cf..35dfdf15ee 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -109,4 +109,4 @@ link.href = "/download/linux"; } } - \ No newline at end of file + diff --git a/_includes/header.html b/_includes/header.html index 0fdd11c6af..92ee8129f5 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -36,4 +36,4 @@ -
\ No newline at end of file +
diff --git a/_layouts/article.html b/_layouts/article.html index 0576d07d76..0a09ebe143 100644 --- a/_layouts/article.html +++ b/_layouts/article.html @@ -143,4 +143,4 @@ layout: default -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/_layouts/blog.html b/_layouts/blog.html index c8ba28e858..e36c896405 100644 --- a/_layouts/blog.html +++ b/_layouts/blog.html @@ -128,4 +128,4 @@ collection: article -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/_layouts/default.html b/_layouts/default.html index 4e1315d2d1..a3d9bc94f8 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -32,4 +32,4 @@ {{ content }} - \ No newline at end of file + diff --git a/_layouts/download.html b/_layouts/download.html index b1a1ffe231..917fd823cb 100644 --- a/_layouts/download.html +++ b/_layouts/download.html @@ -314,4 +314,4 @@ layout: default -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/_layouts/more.html b/_layouts/more.html index 091fc4a7ef..5d3801b5bf 100644 --- a/_layouts/more.html +++ b/_layouts/more.html @@ -40,4 +40,4 @@ current_tab: '' {{ content }} -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/_layouts/showcase-item.html b/_layouts/showcase-item.html index 447c2f9a85..7a97f6f799 100644 --- a/_layouts/showcase-item.html +++ b/_layouts/showcase-item.html @@ -191,4 +191,4 @@ layout: default {% endif %} -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/assets/css/highlight.obsidian.min.css b/assets/css/highlight.obsidian.min.css index 940f22462c..6cdecef2c1 100644 --- a/assets/css/highlight.obsidian.min.css +++ b/assets/css/highlight.obsidian.min.css @@ -1 +1 @@ -.hljs{display:block;overflow-x:auto;padding:.5em;background:#282b2e}.hljs-keyword,.hljs-literal,.hljs-selector-id,.hljs-selector-tag{color:#93c763}.hljs-number{color:#ffcd22}.hljs{color:#e0e2e4}.hljs-attribute{color:#668bb0}.hljs-class .hljs-title,.hljs-code,.hljs-section{color:#fff}.hljs-link,.hljs-regexp{color:#d39745}.hljs-meta{color:#557182}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-emphasis,.hljs-name,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-tag,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable{color:#8cbbad}.hljs-string,.hljs-symbol{color:#ec7600}.hljs-comment,.hljs-deletion,.hljs-quote{color:#818e96}.hljs-selector-class{color:#a082bd}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700} \ No newline at end of file +.hljs{display:block;overflow-x:auto;padding:.5em;background:#282b2e}.hljs-keyword,.hljs-literal,.hljs-selector-id,.hljs-selector-tag{color:#93c763}.hljs-number{color:#ffcd22}.hljs{color:#e0e2e4}.hljs-attribute{color:#668bb0}.hljs-class .hljs-title,.hljs-code,.hljs-section{color:#fff}.hljs-link,.hljs-regexp{color:#d39745}.hljs-meta{color:#557182}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-emphasis,.hljs-name,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-tag,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable{color:#8cbbad}.hljs-string,.hljs-symbol{color:#ec7600}.hljs-comment,.hljs-deletion,.hljs-quote{color:#818e96}.hljs-selector-class{color:#a082bd}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700} diff --git a/assets/download/itch_logo.svg b/assets/download/itch_logo.svg index 0426462d11..88856c9187 100644 --- a/assets/download/itch_logo.svg +++ b/assets/download/itch_logo.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/favicon.svg b/assets/favicon.svg index 48804f12cb..b528d257ab 100644 --- a/assets/favicon.svg +++ b/assets/favicon.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/footer/feed_logo.svg b/assets/footer/feed_logo.svg index 672b46c761..6dd6f23923 100644 --- a/assets/footer/feed_logo.svg +++ b/assets/footer/feed_logo.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/icons/ios.svg b/assets/icons/ios.svg index 1e58246861..5bc9319854 100644 --- a/assets/icons/ios.svg +++ b/assets/icons/ios.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/icons/playstation.svg b/assets/icons/playstation.svg index 30c1750187..2348bf44cd 100644 --- a/assets/icons/playstation.svg +++ b/assets/icons/playstation.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/icons/search.svg b/assets/icons/search.svg index d3e53a1a25..388e1fb68e 100644 --- a/assets/icons/search.svg +++ b/assets/icons/search.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/icons/server.svg b/assets/icons/server.svg index 80513d2777..5756531b20 100644 --- a/assets/icons/server.svg +++ b/assets/icons/server.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/icons/xbox.svg b/assets/icons/xbox.svg index e6282d1772..572f025f74 100644 --- a/assets/icons/xbox.svg +++ b/assets/icons/xbox.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/js/highlight.gdscript.min.js b/assets/js/highlight.gdscript.min.js index 3204130fae..8947368c7f 100644 --- a/assets/js/highlight.gdscript.min.js +++ b/assets/js/highlight.gdscript.min.js @@ -1 +1 @@ -hljs.registerLanguage("gdscript",function(){"use strict";var e=e||{};function r(e){return{aliases:["godot","gdscript"],keywords:{keyword:"and in not or self void as assert breakpoint class class_name extends is func setget signal tool yield const enum export onready static var break continue if elif else for pass return match while remote sync master puppet remotesync mastersync puppetsync",built_in:"Color8 ColorN abs acos asin atan atan2 bytes2var cartesian2polar ceil char clamp convert cos cosh db2linear decimals dectime deg2rad dict2inst ease exp floor fmod fposmod funcref get_stack hash inst2dict instance_from_id inverse_lerp is_equal_approx is_inf is_instance_valid is_nan is_zero_approx len lerp lerp_angle linear2db load log max min move_toward nearest_po2 ord parse_json polar2cartesian posmod pow preload print_stack push_error push_warning rad2deg rand_range rand_seed randf randi randomize range_lerp round seed sign sin sinh smoothstep sqrt step_decimals stepify str str2var tan tanh to_json type_exists typeof validate_json var2bytes var2str weakref wrapf wrapi bool int float String NodePath Vector2 Rect2 Transform2D Vector3 Rect3 Plane Quat Basis Transform Color RID Object NodePath Dictionary Array PoolByteArray PoolIntArray PoolRealArray PoolStringArray PoolVector2Array PoolVector3Array PoolColorArray",literal:"true false null"},contains:[e.NUMBER_MODE,e.HASH_COMMENT_MODE,{className:"comment",begin:/"""/,end:/"""/},e.QUOTE_STRING_MODE,{variants:[{className:"function",beginKeywords:"func"},{className:"class",beginKeywords:"class"}],end:/:/,contains:[e.UNDERSCORE_TITLE_MODE]}]}}return e.exports=function(e){e.registerLanguage("gdscript",r)},e.exports.definer=r,e.exports.definer||e.exports}()); \ No newline at end of file +hljs.registerLanguage("gdscript",function(){"use strict";var e=e||{};function r(e){return{aliases:["godot","gdscript"],keywords:{keyword:"and in not or self void as assert breakpoint class class_name extends is func setget signal tool yield const enum export onready static var break continue if elif else for pass return match while remote sync master puppet remotesync mastersync puppetsync",built_in:"Color8 ColorN abs acos asin atan atan2 bytes2var cartesian2polar ceil char clamp convert cos cosh db2linear decimals dectime deg2rad dict2inst ease exp floor fmod fposmod funcref get_stack hash inst2dict instance_from_id inverse_lerp is_equal_approx is_inf is_instance_valid is_nan is_zero_approx len lerp lerp_angle linear2db load log max min move_toward nearest_po2 ord parse_json polar2cartesian posmod pow preload print_stack push_error push_warning rad2deg rand_range rand_seed randf randi randomize range_lerp round seed sign sin sinh smoothstep sqrt step_decimals stepify str str2var tan tanh to_json type_exists typeof validate_json var2bytes var2str weakref wrapf wrapi bool int float String NodePath Vector2 Rect2 Transform2D Vector3 Rect3 Plane Quat Basis Transform Color RID Object NodePath Dictionary Array PoolByteArray PoolIntArray PoolRealArray PoolStringArray PoolVector2Array PoolVector3Array PoolColorArray",literal:"true false null"},contains:[e.NUMBER_MODE,e.HASH_COMMENT_MODE,{className:"comment",begin:/"""/,end:/"""/},e.QUOTE_STRING_MODE,{variants:[{className:"function",beginKeywords:"func"},{className:"class",beginKeywords:"class"}],end:/:/,contains:[e.UNDERSCORE_TITLE_MODE]}]}}return e.exports=function(e){e.registerLanguage("gdscript",r)},e.exports.definer=r,e.exports.definer||e.exports}()); diff --git a/assets/leaflet/leaflet.js b/assets/leaflet/leaflet.js index 21f499c3e9..ac492b8621 100644 --- a/assets/leaflet/leaflet.js +++ b/assets/leaflet/leaflet.js @@ -3,4 +3,4 @@ * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade */ !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";function h(t){for(var i,e,n=1,o=arguments.length;n=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=O(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=O(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.xi.y&&n.y=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=N(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=N(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lati.lng&&n.lng';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}();function kt(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var Bt={ie:tt,ielt9:it,edge:et,webkit:nt,android:ot,android23:st,androidStock:at,opera:ht,chrome:ut,gecko:lt,safari:ct,phantom:_t,opera12:dt,win:pt,ie3d:mt,webkit3d:ft,gecko3d:gt,any3d:vt,mobile:yt,mobileWebkit:xt,mobileWebkit3d:wt,msPointer:Pt,pointer:Lt,touch:bt,mobileOpera:Tt,mobileGecko:Mt,retina:zt,passiveEvents:Ct,canvas:St,svg:Zt,vml:Et},At=Pt?"MSPointerDown":"pointerdown",It=Pt?"MSPointerMove":"pointermove",Ot=Pt?"MSPointerUp":"pointerup",Rt=Pt?"MSPointerCancel":"pointercancel",Nt={},Dt=!1;function jt(t,i,e,n){function o(t){Ut(t,r)}var s,r,a,h,u,l,c,_;function d(t){t.pointerType===(t.MSPOINTER_TYPE_MOUSE||"mouse")&&0===t.buttons||Ut(t,h)}return"touchstart"===i?(u=t,l=e,c=n,_=p(function(t){t.MSPOINTER_TYPE_TOUCH&&t.pointerType===t.MSPOINTER_TYPE_TOUCH&&Ri(t),Ut(t,l)}),u["_leaflet_touchstart"+c]=_,u.addEventListener(At,_,!1),Dt||(document.addEventListener(At,Wt,!0),document.addEventListener(It,Ht,!0),document.addEventListener(Ot,Ft,!0),document.addEventListener(Rt,Ft,!0),Dt=!0)):"touchmove"===i?(h=e,(a=t)["_leaflet_touchmove"+n]=d,a.addEventListener(It,d,!1)):"touchend"===i&&(r=e,(s=t)["_leaflet_touchend"+n]=o,s.addEventListener(Ot,o,!1),s.addEventListener(Rt,o,!1)),this}function Wt(t){Nt[t.pointerId]=t}function Ht(t){Nt[t.pointerId]&&(Nt[t.pointerId]=t)}function Ft(t){delete Nt[t.pointerId]}function Ut(t,i){for(var e in t.touches=[],Nt)t.touches.push(Nt[e]);t.changedTouches=[t],i(t)}var Vt=Pt?"MSPointerDown":Lt?"pointerdown":"touchstart",qt=Pt?"MSPointerUp":Lt?"pointerup":"touchend",Gt="_leaflet_";var Kt,Yt,Xt,Jt,$t,Qt,ti=fi(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ii=fi(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ei="webkitTransition"===ii||"OTransition"===ii?ii+"End":"transitionend";function ni(t){return"string"==typeof t?document.getElementById(t):t}function oi(t,i){var e,n=t.style[i]||t.currentStyle&&t.currentStyle[i];return n&&"auto"!==n||!document.defaultView||(n=(e=document.defaultView.getComputedStyle(t,null))?e[i]:null),"auto"===n?null:n}function si(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ri(t){var i=t.parentNode;i&&i.removeChild(t)}function ai(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function hi(t){var i=t.parentNode;i&&i.lastChild!==t&&i.appendChild(t)}function ui(t){var i=t.parentNode;i&&i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function li(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=pi(t);return 0this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,N(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},panInside:function(t,i){var e,n,o=A((i=i||{}).paddingTopLeft||i.padding||[0,0]),s=A(i.paddingBottomRight||i.padding||[0,0]),r=this.getCenter(),a=this.project(r),h=this.project(t),u=this.getPixelBounds(),l=u.getSize().divideBy(2),c=O([u.min.add(o),u.max.subtract(s)]);return c.contains(h)||(this._enforcingBounds=!0,e=a.subtract(h),n=A(h.x+e.x,h.y+e.y),(h.xc.max.x)&&(n.x=a.x-e.x,0c.max.y)&&(n.y=a.y-e.y,0=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,n=[],o="mouseout"===i||"mouseover"===i,s=t.target||t.srcElement,r=!1;s;){if((e=this._targets[m(s)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){r=!0;break}if(e&&e.listens(i,!0)){if(o&&!Vi(s,t))break;if(n.push(e),o)break}if(s===this._container)break;s=s.parentNode}return n.length||r||o||!Vi(s,t)||(n=[this]),n},_handleDOMEvent:function(t){var i;this._loaded&&!Ui(t)&&("mousedown"!==(i=t.type)&&"keypress"!==i&&"keyup"!==i&&"keydown"!==i||Pi(t.target||t.srcElement),this._fireDOMEvent(t,i))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,e){var n;if("click"===t.type&&((n=h({},t)).type="preclick",this._fireDOMEvent(n,n.type,e)),!t._stopped&&(e=(e||[]).concat(this._findEventTargets(t,i))).length){var o=e[0];"contextmenu"===i&&o.listens(i,!0)&&Ri(t);var s,r={originalEvent:t};"keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type&&(s=o.getLatLng&&(!o._radius||o._radius<=10),r.containerPoint=s?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=s?o.getLatLng():this.layerPointToLatLng(r.layerPoint));for(var a=0;athis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(M(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,e,n){this._mapPane&&(e&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,ci(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:n}),setTimeout(p(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&_i(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),M(function(){this._moveEnd(!0)},this))}});function Yi(t){return new Xi(t)}var Xi=S.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return ci(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(ri(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=n):i=this._createRadioElement("leaflet-base-layers_"+m(this),n),this._layerControlInputs.push(i),i.layerId=m(t.layer),zi(i,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("div");return e.appendChild(s),s.appendChild(i),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;0<=s;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;si.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),$i=Xi.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=si("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=si("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),Oi(s),zi(s,"click",Ni),zi(s,"click",o,this),zi(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";_i(this._zoomInButton,i),_i(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMinZoom()||ci(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMaxZoom()||ci(this._zoomInButton,i)}});Ki.mergeOptions({zoomControl:!0}),Ki.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new $i,this.addControl(this.zoomControl))});var Qi=Xi.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i="leaflet-control-scale",e=si("div",i),n=this.options;return this._addScales(n,i+"-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=si("div",i,e)),t.imperial&&(this._iScale=si("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;5280Leaflet'},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var i in(t.attributionControl=this)._container=si("div","leaflet-control-attribution"),Oi(this._container),t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});Ki.mergeOptions({attributionControl:!0}),Ki.addInitHook(function(){this.options.attributionControl&&(new te).addTo(this)});Xi.Layers=Ji,Xi.Zoom=$i,Xi.Scale=Qi,Xi.Attribution=te,Yi.layers=function(t,i,e){return new Ji(t,i,e)},Yi.zoom=function(t){return new $i(t)},Yi.scale=function(t){return new Qi(t)},Yi.attribution=function(t){return new te(t)};var ie=S.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});ie.addTo=function(t,i){return t.addHandler(i,this),this};var ee,ne={Events:Z},oe=bt?"touchstart mousedown":"mousedown",se={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},re={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},ae=E.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){c(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(zi(this._dragStartTarget,oe,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ae._dragging===this&&this.finishDrag(),Si(this._dragStartTarget,oe,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var i,e;!t._simulated&&this._enabled&&(this._moved=!1,li(this._element,"leaflet-zoom-anim")||ae._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((ae._dragging=this)._preventOutline&&Pi(this._element),xi(),Xt(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=bi(this._element),this._startPoint=new k(i.clientX,i.clientY),this._parentScale=Ti(e),zi(document,re[t.type],this._onMove,this),zi(document,se[t.type],this._onUp,this))))},_onMove:function(t){var i,e;!t._simulated&&this._enabled&&(t.touches&&1i&&(e.push(t[n]),o=n);oi.max.x&&(e|=2),t.yi.max.y&&(e|=8),e}function de(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||Oe.prototype._containsPoint.call(this,t,!0)}});var Ne=Ce.extend({initialize:function(t,i){c(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=g(t)?t:t.features;if(o){for(i=0,e=o.length;iu.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c]))},_onCloseButtonClick:function(t){this._close(),Ni(t)},_getAnchor:function(){return A(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ki.mergeOptions({closePopupOnClick:!0}),Ki.include({openPopup:function(t,i,e){return t instanceof tn||(t=new tn(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Me.include({bindPopup:function(t,i){return t instanceof tn?(c(t,i),(this._popup=t)._source=this):(this._popup&&!i||(this._popup=new tn(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){return this._popup&&this._map&&(i=this._popup._prepareOpen(this,t,i),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Ni(t),i instanceof Be?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var en=Qe.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Qe.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Qe.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Qe.prototype.getEvents.call(this);return bt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=si("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i,e=this._map,n=this._container,o=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),r=this.options.direction,a=n.offsetWidth,h=n.offsetHeight,u=A(this.options.offset),l=this._getAnchor(),c="top"===r?(i=a/2,h):"bottom"===r?(i=a/2,0):(i="center"===r?a/2:"right"===r?0:"left"===r?a:s.xthis.options.maxZoom||nthis.options.maxZoom||void 0!==this.options.minZoom&&oe.max.x)||!i.wrapLat&&(t.ye.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return N(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new R(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new k(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(ri(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ci(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=a,t.onmousemove=a,it&&this.options.opacity<1&&mi(t,this.options.opacity),ot&&!st&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var e=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),p(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&M(p(this._tileReady,this,t,null,o)),vi(o,e),this._tiles[n]={el:o,coords:t,current:!0},i.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,i,e){i&&this.fire("tileerror",{error:i,tile:e,coords:t});var n=this._tileCoordsToKey(t);(e=this._tiles[n])&&(e.loaded=+new Date,this._map._fadeAnimated?(mi(e.el,0),z(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(e.active=!0,this._pruneTiles()),i||(ci(e.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:e.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),it||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(p(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new k(this._wrapX?o(t.x,this._wrapX):t.x,this._wrapY?o(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new I(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var sn=on.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=c(this,i)).detectRetina&&zt&&0')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_n={_initContainer:function(){this._container=si("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(hn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=cn("shape");ci(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=cn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ri(i),t.removeInteractiveTarget(i),delete this._layers[m(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i=i||(t._stroke=cn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e=e||(t._fill=cn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){hi(t._container)},_bringToBack:function(t){ui(t._container)}},dn=Et?cn:J,pn=hn.extend({getEvents:function(){var t=hn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=dn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=dn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ri(this._container),Si(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){var t,i,e;this._map._animatingZoom&&this._bounds||(hn.prototype._update.call(this),i=(t=this._bounds).getSize(),e=this._container,this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),vi(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update"))},_initPath:function(t){var i=t._path=dn("path");t.options.className&&ci(i,t.options.className),t.options.interactive&&ci(i,"leaflet-interactive"),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ri(t._path),t.removeInteractiveTarget(t._path),delete this._layers[m(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,$(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){hi(t._path)},_bringToBack:function(t){ui(t._path)}});function mn(t){return Zt||Et?new pn(t):null}Et&&pn.include(_n),Ki.include({getRenderer:function(t){var i=(i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=this._createRenderer({pane:t}),this._paneRenderers[t]=i),i},_createRenderer:function(t){return this.options.preferCanvas&&ln(t)||mn(t)}});var fn=Re.extend({initialize:function(t,i){Re.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=N(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});pn.create=dn,pn.pointsToPath=$,Ne.geometryToLayer=De,Ne.coordsToLatLng=We,Ne.coordsToLatLngs=He,Ne.latLngToCoords=Fe,Ne.latLngsToCoords=Ue,Ne.getFeature=Ve,Ne.asFeature=qe,Ki.mergeOptions({boxZoom:!0});var gn=ie.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){zi(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Si(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ri(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Xt(),xi(),this._startPoint=this._map.mouseEventToContainerPoint(t),zi(document,{contextmenu:Ni,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=si("div","leaflet-zoom-box",this._container),ci(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new I(this._point,this._startPoint),e=i.getSize();vi(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ri(this._box),_i(this._container,"leaflet-crosshair")),Jt(),wi(),Si(document,{contextmenu:Ni,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){var i;1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(p(this._resetState,this),0),i=new R(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})))},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Ki.addInitHook("addHandler","boxZoom",gn),Ki.mergeOptions({doubleClickZoom:!0});var vn=ie.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Ki.addInitHook("addHandler","doubleClickZoom",vn),Ki.mergeOptions({dragging:!0,inertia:!st,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var yn=ie.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new ae(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),ci(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){_i(this._map._container,"leaflet-grab"),_i(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,i=this._map;i._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=N(this._map.options.maxBounds),this._offsetLimit=O(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,i.fire("movestart").fire("dragstart"),i.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var i,e;this._map.options.inertia&&(i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(e),this._times.push(i),this._prunePositions(i)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)i.getMaxZoom()&&1 -We also have an [official YouTube channel](https://www.youtube.com/channel/UCKIDvfZD1ZhY4_hhbotf7wA) to post such videos; we hope to do some more of these showcase videos in the future, and also trailers to show the features of new Godot releases. \ No newline at end of file +We also have an [official YouTube channel](https://www.youtube.com/channel/UCKIDvfZD1ZhY4_hhbotf7wA) to post such videos; we hope to do some more of these showcase videos in the future, and also trailers to show the features of new Godot releases. diff --git a/collections/_article/complex-text-layouts-progress-report-1.md b/collections/_article/complex-text-layouts-progress-report-1.md index 017d157d90..c074ea334f 100644 --- a/collections/_article/complex-text-layouts-progress-report-1.md +++ b/collections/_article/complex-text-layouts-progress-report-1.md @@ -9,7 +9,7 @@ date: 2020-10-14 14:20:00 # Introduction -Hello! [bruvzg](https://github.com/bruvzg) here, I got hired by the Godot team to work on the complex text layouts and BiDi aware UI implementation. This is the first part that focuses on TextServer API implementation. +Hello! [bruvzg](https://github.com/bruvzg) here, I got hired by the Godot team to work on the complex text layouts and BiDi aware UI implementation. This is the first part that focuses on TextServer API implementation. See [GH-1180](https://github.com/godotengine/godot-proposals/issues/1180), [GH-1181](https://github.com/godotengine/godot-proposals/issues/1181), [GH-1182](https://github.com/godotengine/godot-proposals/issues/1182), [GH-1183](https://github.com/godotengine/godot-proposals/issues/1183) on GitHub for detailed information on CTL proposals and feedback. @@ -103,7 +103,7 @@ Wrapper class for the GDNative text server implementations. * SIL Graphite homepage - https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home * Approaches to full justification - https://www.w3.org/International/articles/typography/justification * Kashida expansion priorities - https://web.archive.org/web/20160304113846/http://www.microsoft.com/middleeast/msdn/JustifyingText-CSS.aspx - + ## Future -Stay tuned for the next progress report. Next part will focus on UI mirroring and related changes. \ No newline at end of file +Stay tuned for the next progress report. Next part will focus on UI mirroring and related changes. diff --git a/collections/_article/complex-text-layouts-progress-report-2.md b/collections/_article/complex-text-layouts-progress-report-2.md index fb7fc67115..156c5a1997 100644 --- a/collections/_article/complex-text-layouts-progress-report-2.md +++ b/collections/_article/complex-text-layouts-progress-report-2.md @@ -9,7 +9,7 @@ date: 2020-11-10 08:00:00 # Introduction -This is the second part of my work on Complex Text Layouts for Godot 4.0, focusing on Fonts and UI mirroring. +This is the second part of my work on Complex Text Layouts for Godot 4.0, focusing on Fonts and UI mirroring. See [godot-proposals#1180](https://github.com/godotengine/godot-proposals/issues/1180), [godot-proposals#1181](https://github.com/godotengine/godot-proposals/issues/1181), [godot-proposals#1182](https://github.com/godotengine/godot-proposals/issues/1182), and [godot-proposals#1183](https://github.com/godotengine/godot-proposals/issues/1183) on GitHub for detailed information on CTL proposals and feedback. @@ -133,4 +133,4 @@ Controls OpenType font features for the node e.g. ligature types to use, number # Future -The next part will focus on the changes to the specific controls and `RichTextLabel` BBCode. \ No newline at end of file +The next part will focus on the changes to the specific controls and `RichTextLabel` BBCode. diff --git a/collections/_article/complex-text-layouts-progress-report-3.md b/collections/_article/complex-text-layouts-progress-report-3.md index 6f26bb47e5..1dc62d426d 100644 --- a/collections/_article/complex-text-layouts-progress-report-3.md +++ b/collections/_article/complex-text-layouts-progress-report-3.md @@ -208,4 +208,4 @@ Some languages do not use spaces between words, and dictionaries (or other type - RichTextLabel control refactoring PR (merged) - https://github.com/godotengine/godot/pull/42595 - Variable font support PR (merged) - https://github.com/godotengine/godot/pull/43030 - Compatibility support for the legacy Font resources PR (merged) - https://github.com/godotengine/godot/pull/43931 -- Drop cap support PR (merged) - https://github.com/godotengine/godot/pull/43691 \ No newline at end of file +- Drop cap support PR (merged) - https://github.com/godotengine/godot/pull/43691 diff --git a/collections/_article/core-refactoring-progress-report-1.md b/collections/_article/core-refactoring-progress-report-1.md index 4222491fba..6f5a54a41c 100644 --- a/collections/_article/core-refactoring-progress-report-1.md +++ b/collections/_article/core-refactoring-progress-report-1.md @@ -22,7 +22,7 @@ This is mostly an internal change that most users won't see outright but, beside #### Removed PoolArrays (PoolVector in C++), replaced by PackedArrays -Godot offered PoolArray as a type of variable, which was useful for storing large arrays in a compact way. They were designed for 32 bits CPUs with small address space, to allow packing memory and avoiding memory fragmentation. +Godot offered PoolArray as a type of variable, which was useful for storing large arrays in a compact way. They were designed for 32 bits CPUs with small address space, to allow packing memory and avoiding memory fragmentation. Given pretty much all mainstream platforms are now 64 bits, this optimization is no longer required (64 bits operating systems have efficient memory allocation for large objects, putting them on opposite ends of the address space, which reduces memory fragmentation to the point of making it not a problem). @@ -40,9 +40,9 @@ Besides this, this change allows to improve the internal C++ binding system, tak #### Support for named binds in Skin. -Skin system was added in Godot 3.2, but it lacked named binds. This avoided you from merging objects with similar skeletons together (as an example, clothing exported as a separate scene to use for customizing a character). +Skin system was added in Godot 3.2, but it lacked named binds. This avoided you from merging objects with similar skeletons together (as an example, clothing exported as a separate scene to use for customizing a character). -Named binds ensure that, as long as the bone name exists, the mesh will be able to bind to it. This improvement may eventually be cherry picked to Godot 3.x branch too. +Named binds ensure that, as long as the bone name exists, the mesh will be able to bind to it. This improvement may eventually be cherry picked to Godot 3.x branch too. This is not strictly a core change, but was requested by users due to the limitations of the new system. @@ -50,7 +50,7 @@ This is not strictly a core change, but was requested by users due to the limita A lot of APIs in Godot use StringNames instead of Strings. StringNames are special types that contain a unique pointer to a string. When assigned a String, the pointer is always assumed to be the same for that string (no matter when it was assigned), ensuring comparisons are much faster than actual string comparisons (because it's just a pointer comparison). -There are plenty of APIs in Godot that do this for efficiency, like names, method names, property names, class names, animation names, shader parameter names, skeleton bone names, translations keys, etc (the list is very long actually). +There are plenty of APIs in Godot that do this for efficiency, like names, method names, property names, class names, animation names, shader parameter names, skeleton bone names, translations keys, etc (the list is very long actually). Unfortunately GDScript and the binder (for C# and other languages) did not support this type, and all these functions received regular strings, which where very inefficiently converted to StringNames on each call. @@ -58,7 +58,7 @@ With this change, users can pass StringNames directly to the Godot API and impro #### Support for integer vector types -This was a widely requested feature by our users, specially for GDScript. It's useful for games which require cell based integer vector logic in 2D and 3D. Using floats for vector types in these types of games was wasteful and prone to error. +This was a widely requested feature by our users, specially for GDScript. It's useful for games which require cell based integer vector logic in 2D and 3D. Using floats for vector types in these types of games was wasteful and prone to error. The following new types were added: @@ -68,7 +68,7 @@ The following new types were added: Users often complained that PoolArrays were immutable types, so accessing them inside sub-arrays, dictionaries, etc. or passing them to/from functions would always create copies. -In the 4.x branch, besides no longer being pool based, they became references. +In the 4.x branch, besides no longer being pool based, they became references. #### Packed float and int arrays support 64 bit versions @@ -88,4 +88,4 @@ March will probably be another for core refactoring, and my Vulkan work will res * Implementation of Wayland and Linux+EGL (needed for official Raspberry PI support) back-ends. * General clean up of the API, which is messy. -As always, all this work is is done out of love for everybody making games, and because we believe the world needs quality free and open source game technology. If you are not yet, please help us by [becoming our patron](https://www.patreon.com/godotengine). \ No newline at end of file +As always, all this work is is done out of love for everybody making games, and because we believe the world needs quality free and open source game technology. If you are not yet, please help us by [becoming our patron](https://www.patreon.com/godotengine). diff --git a/collections/_article/core-refactoring-progress-report-2.md b/collections/_article/core-refactoring-progress-report-2.md index 4f9c0b1047..f9cc310e96 100644 --- a/collections/_article/core-refactoring-progress-report-2.md +++ b/collections/_article/core-refactoring-progress-report-2.md @@ -11,7 +11,7 @@ As promised in my previous post, the core refactoring work I am undertaking took ### Core refactoring -Core refactoring is mostly work on the most low level, critical and shared parts of the engine. This work is done only on major versions because it implies breaking compatibility and introducing instability and bugs (because of all the new added code), which is actually the case right now. The major refactoring undertaken for Godot 3.x, two years ago, changed a large part of the internals, but we were unable to do everything we wanted to do. +Core refactoring is mostly work on the most low level, critical and shared parts of the engine. This work is done only on major versions because it implies breaking compatibility and introducing instability and bugs (because of all the new added code), which is actually the case right now. The major refactoring undertaken for Godot 3.x, two years ago, changed a large part of the internals, but we were unable to do everything we wanted to do. The migration to Vulkan already implied breaking compatibility and, together with all the user feedback we got since 3.x was released, we have a very good idea of what needed to change in this time. @@ -24,7 +24,7 @@ One of the largest singletons in Godot is the [OS](https://docs.godotengine.org/ This was cumbersome for many reasons and also imposed limitations, such as: * Having a large, bloated OS class on every platform. -* Inability to support different display APIs in a single binary. This is specially visible in Desktop Unixes, where you can use X11, Wayland or even EGL directly on Raspberry PI. +* Inability to support different display APIs in a single binary. This is specially visible in Desktop Unixes, where you can use X11, Wayland or even EGL directly on Raspberry PI. * Proper support for multiple windows. This not only allows the editor to make some docks float so you can move them to another monitor (a very requested feature by users). This is also useful for games developed for certain types of dedicated hardware, or just for tools created with Godot as the base platform (which is something several users do). * Impossible to run the engine as headless (with a dummy display driver) in all platforms. The "server" platform had to be used as a workaround (and will now be deprecated). * Difficult to abstract window management functions to users, which had to access the OS class directly (and which is not as user friendly as working with nodes). @@ -68,7 +68,7 @@ If, for debug purposes, you want to run the editor (or your game) using subwindo The Godot scene system is known for its ease of use and its ability to represent your mental map as a data and file structure. That said, many node names were not clear or confusing. This is mainly evidenced when comparing their 2D and 3D counterparts. -Contrary to what many believe, Godot started as a 3D engine, but soon migrated to be a 2D one. This is why the 3D nodes don't have any suffix (like Area) while the 2D ones do (Area2D). This made it very misleading for users, where its not always obvious whether you are using the 2D or 3D versions. +Contrary to what many believe, Godot started as a 3D engine, but soon migrated to be a 2D one. This is why the 3D nodes don't have any suffix (like Area) while the 2D ones do (Area2D). This made it very misleading for users, where its not always obvious whether you are using the 2D or 3D versions. To solve this, Godot 4.0 will rename all 3D nodes and give them proper suffixes. Nodes like "Area","RigidBody" or "Light" will become "Area3D", "RigidBody3D" and "Light3D" respectively. @@ -93,4 +93,4 @@ Most servers in Godot are very old, and their naming conventions were by now obs My work on core refactoring is mostly done, so next month (April) I will go back to working on Vulkan as promised. Hope to have new and exciting stuff to show by the end of next month! -And as always, please remember than our work on Godot is done out of love for you and the game development community, we want to provide you with a top notch free and open source game engine, so you can own your work down to the last line of engine code. If you are not yet, please consider becoming [our patron](https://www.patreon.com/godotengine) and help us realize this dream sooner. \ No newline at end of file +And as always, please remember than our work on Godot is done out of love for you and the game development community, we want to provide you with a top notch free and open source game engine, so you can own your work down to the last line of engine code. If you are not yet, please consider becoming [our patron](https://www.patreon.com/godotengine) and help us realize this dream sooner. diff --git a/collections/_article/csharp-android-support.md b/collections/_article/csharp-android-support.md index e79c4c4eff..6d82cf5195 100644 --- a/collections/_article/csharp-android-support.md +++ b/collections/_article/csharp-android-support.md @@ -56,4 +56,4 @@ The next step in the roadmap is integration with the MonoDevelop IDE. More detai If you're wondering about support for WebAssembly and iOS or integration with Visual Studio and VS Code, don't fear. Those are all on the roadmap. You can expect to hear more about them in the future. -Until next month! \ No newline at end of file +Until next month! diff --git a/collections/_article/csharp-ios-signals-events.md b/collections/_article/csharp-ios-signals-events.md index f2b0a5aa99..61aed1c922 100644 --- a/collections/_article/csharp-ios-signals-events.md +++ b/collections/_article/csharp-ios-signals-events.md @@ -88,4 +88,4 @@ After that there are two more tasks in my current roadmap. One of them is separa The other task is writing a C# API to wrap the Godot file system. This new API is meant to replace the auto-generated `Directory` and `File` classes (which will still be available for compatibility). The new API is meant to be very similar to what developers are used to in .NET. -C# is now working on almost every platform Godot supports, with the exception of the Universal Windows Platform (UWP). While UWP is not part of my current roadmap, support for it is likely to happen before 4.0 is released. Also WebAssembly, while already working, is still lacking AOT compilation from Godot which is of high priority. \ No newline at end of file +C# is now working on almost every platform Godot supports, with the exception of the Universal Windows Platform (UWP). While UWP is not part of my current roadmap, support for it is likely to happen before 4.0 is released. Also WebAssembly, while already working, is still lacking AOT compilation from Godot which is of high priority. diff --git a/collections/_article/csharp-vs-and-vscode.md b/collections/_article/csharp-vs-and-vscode.md index 0c0db20fc0..66d3cc0942 100644 --- a/collections/_article/csharp-vs-and-vscode.md +++ b/collections/_article/csharp-vs-and-vscode.md @@ -120,4 +120,4 @@ The following two are the last tasks of my current roadmap: - Provide a .NET friendly IO API for the Godot virtual file system. After this I want to dedicate a month entirely to bug fixing and to plan the -roadmap for Godot 4.0 before starting any new work. \ No newline at end of file +roadmap for Godot 4.0 before starting any new work. diff --git a/collections/_article/csharp-wasm-aot.md b/collections/_article/csharp-wasm-aot.md index 147a487d52..efeaf77889 100644 --- a/collections/_article/csharp-wasm-aot.md +++ b/collections/_article/csharp-wasm-aot.md @@ -64,4 +64,4 @@ Being so close to a release, it's unlikely 3.2 will ship with AOT support, but i ## What comes next Right now, I'm going to put some time into fixing bugs to make sure 3.2 is a stable release. The very next thing after that is going to be iOS support; you can expect to hear an announcement on this in about a month. What comes later, among other things, is more IDE extensions, starting with Visual Studio and later Visual Studio Code. -Also more progress will be made on AOT compilation over time and it will be a priority to have it working on WebAssembly as soon as possible. \ No newline at end of file +Also more progress will be made on AOT compilation over time and it will be a priority to have it working on WebAssembly as soon as possible. diff --git a/collections/_article/custom-sky-shaders-godot-4-0.md b/collections/_article/custom-sky-shaders-godot-4-0.md index 33f9699647..37c73a184e 100644 --- a/collections/_article/custom-sky-shaders-godot-4-0.md +++ b/collections/_article/custom-sky-shaders-godot-4-0.md @@ -53,7 +53,7 @@ The `PhysicalSkyMaterial` is made to be fast and easy to tweak. There are more r # Sky Shaders -We anticipate that most users will be fine using one of the above three sky materials. But if you need more flexibility, or want to do something more complex (e.g. clouds or nebula) the Sky Shader system is designed to allow you to create whatever you need. +We anticipate that most users will be fine using one of the above three sky materials. But if you need more flexibility, or want to do something more complex (e.g. clouds or nebula) the Sky Shader system is designed to allow you to create whatever you need. Sky Shaders are another type of shader that can be used in a `ShaderMaterial`. @@ -61,7 +61,7 @@ Sky Shaders are another type of shader that can be used in a `ShaderMaterial`. shader_type sky; ``` -Everything in Sky Shaders takes place in the `fragment()` function. The output is a single color value, `COLOR`. +Everything in Sky Shaders takes place in the `fragment()` function. The output is a single color value, `COLOR`. The simplest Sky Shader is: @@ -73,7 +73,7 @@ void fragment() { } ``` -Most Sky Shaders will rely on the view direction which is named `EYEDIR`. Shaders also provide `POSITION` which is the position of the active camera in world space. This can be used to change the sky depending on the location of the camera. +Most Sky Shaders will rely on the view direction which is named `EYEDIR`. Shaders also provide `POSITION` which is the position of the active camera in world space. This can be used to change the sky depending on the location of the camera. Sky Shaders draw to the background and to the radiance cubemap. This allows the scene to receive real-time lighting updates from changes to the sky. @@ -101,7 +101,7 @@ void fragment() { } ``` -Finally, Sky Shaders provide access to information about the first 4 `DirectionalLight`s in the scene. +Finally, Sky Shaders provide access to information about the first 4 `DirectionalLight`s in the scene. * `LIGHT0_DIRECTION`: Direction of the first `DirectionalLight`. * `LIGHT0_ENABLED`: `true` when there is at least one `DirectionalLight` in the scene. * `LIGHT3_COLOR`: Color of the fourth light in the scene. If `LIGHT3_ENABLED` is `false`, this value is undetermined. @@ -121,11 +121,11 @@ Users should also try to perform expensive calculations in the subpass buffers a ## Conclusion -Please note, if you have existing scenes using the `ProceduralSky` or `PanoramaSky`, this change will break them and you will have to create a `ProceduralSkyMaterial` or a `PanoramaSkyMaterial.` +Please note, if you have existing scenes using the `ProceduralSky` or `PanoramaSky`, this change will break them and you will have to create a `ProceduralSkyMaterial` or a `PanoramaSkyMaterial.` Since this devlog hasn't felt very devloggy, here is an in-progess screenshot as a reward for reading! This comes from hunting a bug that arose while working on reading from the radiance cubemap properly. ![Cubemap issue in sky shader](/storage/app/media/4.0/Sky-Shaders/Godot4-sky-shaders-cubemap.png) Please test out these new shaders and share what you create! -And as always, if you are not yet, consider becoming our [patron](https://www.patreon.com/godotengine). This ensures that Godot development remains free from the control of any company and we can keep working like now, with the freedom to listen to everyone equally. \ No newline at end of file +And as always, if you are not yet, consider becoming our [patron](https://www.patreon.com/godotengine). This ensures that Godot development remains free from the control of any company and we can keep working like now, with the freedom to listen to everyone equally. diff --git a/collections/_article/dev-snapshot-godot-2-1-5-beta-1.md b/collections/_article/dev-snapshot-godot-2-1-5-beta-1.md index a8dc5b0926..e1e35a9ffd 100644 --- a/collections/_article/dev-snapshot-godot-2-1-5-beta-1.md +++ b/collections/_article/dev-snapshot-godot-2-1-5-beta-1.md @@ -29,4 +29,4 @@ Happy bug hunting! ## Godot 3.0.1 also coming soon -In parallel, we're also working on what will be the 3.0.1 release, with many bug fixes and enhancements to the current stable branch. Stay tuned for more info! \ No newline at end of file +In parallel, we're also working on what will be the 3.0.1 release, with many bug fixes and enhancements to the current stable branch. Stay tuned for more info! diff --git a/collections/_article/dev-snapshot-godot-2-1-5-beta-2.md b/collections/_article/dev-snapshot-godot-2-1-5-beta-2.md index 370558cf7e..f7e7be7b72 100644 --- a/collections/_article/dev-snapshot-godot-2-1-5-beta-2.md +++ b/collections/_article/dev-snapshot-godot-2-1-5-beta-2.md @@ -38,4 +38,4 @@ We will continue pushing bug fixes and improvements in a forward compatible way Unless regressions or critical bugs dictate it, we plan to have maintenance releases once a month or so, to keep you up-to-date with the latest and greatest in the stable branch. -Keep having fun working with Godot, and don't hesitate to showcase your work on social media using the [#GodotEngine](https://twitter.com/hashtag/GodotEngine) hashtag! \ No newline at end of file +Keep having fun working with Godot, and don't hesitate to showcase your work on social media using the [#GodotEngine](https://twitter.com/hashtag/GodotEngine) hashtag! diff --git a/collections/_article/dev-snapshot-godot-2-1-5-rc-1.md b/collections/_article/dev-snapshot-godot-2-1-5-rc-1.md index 2b46a5d91a..1b8d1c45ab 100644 --- a/collections/_article/dev-snapshot-godot-2-1-5-rc-1.md +++ b/collections/_article/dev-snapshot-godot-2-1-5-rc-1.md @@ -26,4 +26,4 @@ Happy testing! ## Known issues -- The "toggle visibility" button in the SceneTree panel does not work for Spatial-derived nodes ([#17722](https://github.com/godotengine/godot/issues/17722)). It has been fixed in the *2.1* branch after the RC 1 build was made. \ No newline at end of file +- The "toggle visibility" button in the SceneTree panel does not work for Spatial-derived nodes ([#17722](https://github.com/godotengine/godot/issues/17722)). It has been fixed in the *2.1* branch after the RC 1 build was made. diff --git a/collections/_article/dev-snapshot-godot-2-1-5-rc-2.md b/collections/_article/dev-snapshot-godot-2-1-5-rc-2.md index 0a94f670c8..0f7616a697 100644 --- a/collections/_article/dev-snapshot-godot-2-1-5-rc-2.md +++ b/collections/_article/dev-snapshot-godot-2-1-5-rc-2.md @@ -53,4 +53,4 @@ That's just a quick selection going through the changelog, there were a lot more Happy testing, and please report any (new) issue you may find! -*The illustration picture ([full size](/storage/app/uploads/public/5b5/073/2f9/5b50732f9b7ce697339594.jpg)) is from an upcoming Godot 2.1 game by [Kit9Studio](https://twitter.com/kit9studio) (composed of [Sini](https://twitter.com/thekattiapina) and [Jared](https://twitter.com/Avencherus)), *Gun-Toting Cats*. They helped a lot with testing the *2.1* branch and finding several bugs that are fixed in this RC2.* \ No newline at end of file +*The illustration picture ([full size](/storage/app/uploads/public/5b5/073/2f9/5b50732f9b7ce697339594.jpg)) is from an upcoming Godot 2.1 game by [Kit9Studio](https://twitter.com/kit9studio) (composed of [Sini](https://twitter.com/thekattiapina) and [Jared](https://twitter.com/Avencherus)), *Gun-Toting Cats*. They helped a lot with testing the *2.1* branch and finding several bugs that are fixed in this RC2.* diff --git a/collections/_article/dev-snapshot-godot-2-1-6-rc-1.md b/collections/_article/dev-snapshot-godot-2-1-6-rc-1.md index dc87544d55..14e8fc2bb0 100644 --- a/collections/_article/dev-snapshot-godot-2-1-6-rc-1.md +++ b/collections/_article/dev-snapshot-godot-2-1-6-rc-1.md @@ -35,4 +35,4 @@ Please report any regression (a new bug in 2.1.6 RC 1 that you did not have in 2 - [Download repository](https://download.tuxfamily.org/godotengine/2.1.6/rc1/) - [Changelog](https://downloads.tuxfamily.org/godotengine/2.1.6/rc1/Godot_v2.1.6-rc1_changelog.txt) -- [Tracker bug report for regressions](https://github.com/godotengine/godot/issues/29484) \ No newline at end of file +- [Tracker bug report for regressions](https://github.com/godotengine/godot/issues/29484) diff --git a/collections/_article/dev-snapshot-godot-3-0-1-rc1.md b/collections/_article/dev-snapshot-godot-3-0-1-rc1.md index 27692ee772..f755417966 100644 --- a/collections/_article/dev-snapshot-godot-3-0-1-rc1.md +++ b/collections/_article/dev-snapshot-godot-3-0-1-rc1.md @@ -42,4 +42,4 @@ Sadly the support for C# export templates hasn't quite baked yet (a [WIP has jus ### Exciting new stuff * Thanks to Fabio ([Fales](https://github.com/faless)) and [iFire](https://github.com/fire) the server platform has made a comeback. So headless Godot is back in the same form it was in 2.1! -* Back by popular demand: Type icons! Enable them in project settings if you missed them. \ No newline at end of file +* Back by popular demand: Type icons! Enable them in project settings if you missed them. diff --git a/collections/_article/dev-snapshot-godot-3-0-3-rc-1.md b/collections/_article/dev-snapshot-godot-3-0-3-rc-1.md index 23e5d6e8b2..976745e8cf 100644 --- a/collections/_article/dev-snapshot-godot-3-0-3-rc-1.md +++ b/collections/_article/dev-snapshot-godot-3-0-3-rc-1.md @@ -15,7 +15,7 @@ The most important new feature for this release is initial support for Mono expo Note that some early users have reported some issues with the Mono downloads. This is being investigated. -Please test this release with your existing projects and as usual: Any breakage of existing projects after upgrading is a bug. If we somehow missed something please [report a bug](https://github.com/godotengine/godot/issues/new). +Please test this release with your existing projects and as usual: Any breakage of existing projects after upgrading is a bug. If we somehow missed something please [report a bug](https://github.com/godotengine/godot/issues/new). I'd like to thank our wonderful community for smothering us in the warm glow of their pull requests and bug reports. This is looking like another great release! @@ -52,4 +52,4 @@ None * `Vector3.snapped()` does not work and just returns the original Vector3. Fixing this would have meant breaking ABI between Godot 3.0 and 3.0.2 so this function will remain non-functional. * `move_and_slide()` doesn't quite work correctly. An easy workaround is to increase the safe margin to 0.05 (or higher if required). It is not yet clear how to implement the proper fix without impacting users who already implemented this workaround in their projects. See [issue #16459](https://github.com/godotengine/godot/issues/16459) for an explanation. -* Some users report crashes on Windows 10 after a recent Windows update. We currently don't know what is causing this. \ No newline at end of file +* Some users report crashes on Windows 10 after a recent Windows update. We currently don't know what is causing this. diff --git a/collections/_article/dev-snapshot-godot-3-0-3-rc-2.md b/collections/_article/dev-snapshot-godot-3-0-3-rc-2.md index 629dbfcb44..59669d6651 100644 --- a/collections/_article/dev-snapshot-godot-3-0-3-rc-2.md +++ b/collections/_article/dev-snapshot-godot-3-0-3-rc-2.md @@ -44,4 +44,4 @@ None * `Vector3.snapped()` does not work and just returns the original Vector3. Fixing this would have meant breaking ABI between Godot 3.0 and 3.0.2 so this function will remain non-functional. * `move_and_slide()` doesn't quite work correctly. An easy workaround is to increase the safe margin to 0.05 (or higher if required). It is not yet clear how to implement the proper fix without impacting users who already implemented this workaround in their projects. See [issue #16459](https://github.com/godotengine/godot/issues/16459) for an explanation. -* Some users report crashes on Windows 10 after a recent Windows update. We currently don't know what is causing this. \ No newline at end of file +* Some users report crashes on Windows 10 after a recent Windows update. We currently don't know what is causing this. diff --git a/collections/_article/dev-snapshot-godot-3-0-3-rc-3.md b/collections/_article/dev-snapshot-godot-3-0-3-rc-3.md index f641941f66..c377c95f46 100644 --- a/collections/_article/dev-snapshot-godot-3-0-3-rc-3.md +++ b/collections/_article/dev-snapshot-godot-3-0-3-rc-3.md @@ -24,7 +24,7 @@ As always, you will find the binaries for your platform on our mirrors: - Classical version: [[HTTPS mirror](https://downloads.tuxfamily.org/godotengine/3.0.3/rc3)] - Mono version: [[HTTPS mirror](https://downloads.tuxfamily.org/godotengine/3.0.3/rc3/mono)] -Mono versions require **Mono 5.12.0** on all platforms. +Mono versions require **Mono 5.12.0** on all platforms. ## Known incompatibilities with Godot 3.0.2 @@ -46,4 +46,4 @@ None * `Vector3.snapped()` does not work and just returns the original Vector3. Fixing this would have meant breaking ABI between Godot 3.0 and 3.0.2 so this function will remain non-functional. * `move_and_slide()` doesn't quite work correctly. An easy workaround is to increase the safe margin to 0.05 (or higher if required). It is not yet clear how to implement the proper fix without impacting users who already implemented this workaround in their projects. See [issue #16459](https://github.com/godotengine/godot/issues/16459) for an explanation. -* Some users report crashes on Windows 10 after a recent Windows update. We currently don't know what is causing this. \ No newline at end of file +* Some users report crashes on Windows 10 after a recent Windows update. We currently don't know what is causing this. diff --git a/collections/_article/dev-snapshot-godot-3-0-alpha-1.md b/collections/_article/dev-snapshot-godot-3-0-alpha-1.md index eb92d98538..7317093d89 100644 --- a/collections/_article/dev-snapshot-godot-3-0-alpha-1.md +++ b/collections/_article/dev-snapshot-godot-3-0-alpha-1.md @@ -70,4 +70,4 @@ As for most features, it lacks documentation for now. Still, you will find some #### Will there be more alpha builds? -Yes, as the name "alpha1" suggests, we plan to have newer builds regularly to bring the latest state of the *master* branch. Depending on the user feedback we get, we might make weekly releases or biweekly if it proves too much burden. \ No newline at end of file +Yes, as the name "alpha1" suggests, we plan to have newer builds regularly to bring the latest state of the *master* branch. Depending on the user feedback we get, we might make weekly releases or biweekly if it proves too much burden. diff --git a/collections/_article/dev-snapshot-godot-3-0-alpha-2.md b/collections/_article/dev-snapshot-godot-3-0-alpha-2.md index 3b820f7537..3fa69dc382 100644 --- a/collections/_article/dev-snapshot-godot-3-0-alpha-2.md +++ b/collections/_article/dev-snapshot-godot-3-0-alpha-2.md @@ -53,4 +53,4 @@ There are still many open bug reports for the 3.0 milestone, which means that we As a tester, you are encouraged to open bug reports if you experience issues with alpha 2. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -Have fun with this alpha 2 and stay tuned for future, more stable releases :) \ No newline at end of file +Have fun with this alpha 2 and stay tuned for future, more stable releases :) diff --git a/collections/_article/dev-snapshot-godot-3-0-beta-1.md b/collections/_article/dev-snapshot-godot-3-0-beta-1.md index bf1678e365..78aa342192 100644 --- a/collections/_article/dev-snapshot-godot-3-0-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-0-beta-1.md @@ -41,4 +41,4 @@ There are still many open bug reports for the 3.0 milestone, which means that we As a tester, you are encouraged to open bug reports if you experience issues with beta 1. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -Have fun with this beta 1 and stay tuned for a potential beta 2, or directly a release candidate (RC) if we're happy with the test results. \ No newline at end of file +Have fun with this beta 1 and stay tuned for a potential beta 2, or directly a release candidate (RC) if we're happy with the test results. diff --git a/collections/_article/dev-snapshot-godot-3-0-beta-2.md b/collections/_article/dev-snapshot-godot-3-0-beta-2.md index 0a131faf6b..a5b74ec116 100644 --- a/collections/_article/dev-snapshot-godot-3-0-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-0-beta-2.md @@ -38,4 +38,4 @@ Also clone the [godot-demo-projects](https://github.com/godotengine/godot-demo-p As a tester, you are encouraged to open bug reports if you experience issues with beta 2. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -Have fun with this beta 2 and stay tuned for a release candidate (RC) in the first weeks of January! \ No newline at end of file +Have fun with this beta 2 and stay tuned for a release candidate (RC) in the first weeks of January! diff --git a/collections/_article/dev-snapshot-godot-3-0-rc-1.md b/collections/_article/dev-snapshot-godot-3-0-rc-1.md index 10afed8418..32dc0bd51b 100644 --- a/collections/_article/dev-snapshot-godot-3-0-rc-1.md +++ b/collections/_article/dev-snapshot-godot-3-0-rc-1.md @@ -36,4 +36,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit If you've been following development closely, you might notice issues with physics/collision shapes in this RC 1 (recent regression, will be fixed soon in the master branch) as well as script error if you have variables shadowing newly exposed member variables (e.g. you can now accept `Node.name` directly, so if you declared your own `name` variables in scripts, you might need to rename those to avoid the conflict). -Have fun with this RC 1 and stay tuned for a new RC in the coming week as well as the stable release Very Soon™. \ No newline at end of file +Have fun with this RC 1 and stay tuned for a new RC in the coming week as well as the stable release Very Soon™. diff --git a/collections/_article/dev-snapshot-godot-3-0-rc-2.md b/collections/_article/dev-snapshot-godot-3-0-rc-2.md index 4d76627a3e..dc72191ca3 100644 --- a/collections/_article/dev-snapshot-godot-3-0-rc-2.md +++ b/collections/_article/dev-snapshot-godot-3-0-rc-2.md @@ -45,4 +45,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit - Resource preloading does not work after export due to converted paths ([#15902](https://github.com/godotengine/godot/issues/15902)) -Have fun with this RC 2 and stay tuned for the final release (still planned for January)! \ No newline at end of file +Have fun with this RC 2 and stay tuned for the final release (still planned for January)! diff --git a/collections/_article/dev-snapshot-godot-3-0-rc-3.md b/collections/_article/dev-snapshot-godot-3-0-rc-3.md index 73fb885791..62e20e86f8 100644 --- a/collections/_article/dev-snapshot-godot-3-0-rc-3.md +++ b/collections/_article/dev-snapshot-godot-3-0-rc-3.md @@ -38,4 +38,4 @@ Also clone the [godot-demo-projects](https://github.com/godotengine/godot-demo-p As a tester, you are encouraged to open bug reports if you experience issues with RC 3. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -Have fun with this RC 3 and stay tuned for the final release (still planned for January)! \ No newline at end of file +Have fun with this RC 3 and stay tuned for the final release (still planned for January)! diff --git a/collections/_article/dev-snapshot-godot-3-1-alpha-1.md b/collections/_article/dev-snapshot-godot-3-1-alpha-1.md index b2fb000b0e..fafe3ca5d8 100644 --- a/collections/_article/dev-snapshot-godot-3-1-alpha-1.md +++ b/collections/_article/dev-snapshot-godot-3-1-alpha-1.md @@ -50,4 +50,4 @@ There are still hundreds of open [bug reports for the 3.1 milestone](https://git As a tester, you are encouraged to open bug reports if you experience issues with 3.1 alpha. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -*The illustration picture is a 3D scene designed by [John Watson](https://twitter.com/yafd). Source: [Twitter post by @yafd](https://twitter.com/yafd/status/1031706288642641921).* \ No newline at end of file +*The illustration picture is a 3D scene designed by [John Watson](https://twitter.com/yafd). Source: [Twitter post by @yafd](https://twitter.com/yafd/status/1031706288642641921).* diff --git a/collections/_article/dev-snapshot-godot-3-1-alpha-2.md b/collections/_article/dev-snapshot-godot-3-1-alpha-2.md index 027a61bdea..c78f5f8f21 100644 --- a/collections/_article/dev-snapshot-godot-3-1-alpha-2.md +++ b/collections/_article/dev-snapshot-godot-3-1-alpha-2.md @@ -54,4 +54,4 @@ There are still hundreds of open [bug reports for the 3.1 milestone](https://git As a tester, you are encouraged to open bug reports if you experience issues with 3.1 alpha. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -*The illustration picture is from [Krzysztof Jankowski](https://twitter.com/w84death)'s FOSS *[Mystic Treasure Hunt](https://github.com/w84death/mystic-treasure-hunt)* 3D game. You can read more about his journey as a 2D artist into 3D shaderland [on his blog](https://bits.krzysztofjankowski.com/how-i-grow-with-grass-shader/).* \ No newline at end of file +*The illustration picture is from [Krzysztof Jankowski](https://twitter.com/w84death)'s FOSS *[Mystic Treasure Hunt](https://github.com/w84death/mystic-treasure-hunt)* 3D game. You can read more about his journey as a 2D artist into 3D shaderland [on his blog](https://bits.krzysztofjankowski.com/how-i-grow-with-grass-shader/).* diff --git a/collections/_article/dev-snapshot-godot-3-1-alpha-3.md b/collections/_article/dev-snapshot-godot-3-1-alpha-3.md index f15d90cc9e..fc9dbd3d9b 100644 --- a/collections/_article/dev-snapshot-godot-3-1-alpha-3.md +++ b/collections/_article/dev-snapshot-godot-3-1-alpha-3.md @@ -52,4 +52,4 @@ There are still hundreds of open [bug reports for the 3.1 milestone](https://git As a tester, you are encouraged to open bug reports if you experience issues with 3.1 alpha. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -*The illustration picture is from [Samuele Zolfanelli](https://twitter.com/Samdzeq)'s *[Gumgem](https://dazel.itch.io/gumgem)*, a great-looking 2D game developed for the A Game By Its Cover 2018 jam. A big update is upcoming, be sure to follow their work!* \ No newline at end of file +*The illustration picture is from [Samuele Zolfanelli](https://twitter.com/Samdzeq)'s *[Gumgem](https://dazel.itch.io/gumgem)*, a great-looking 2D game developed for the A Game By Its Cover 2018 jam. A big update is upcoming, be sure to follow their work!* diff --git a/collections/_article/dev-snapshot-godot-3-1-alpha-4.md b/collections/_article/dev-snapshot-godot-3-1-alpha-4.md index b853814ea5..3671b51dad 100644 --- a/collections/_article/dev-snapshot-godot-3-1-alpha-4.md +++ b/collections/_article/dev-snapshot-godot-3-1-alpha-4.md @@ -52,4 +52,4 @@ There are still hundreds of open [bug reports for the 3.1 milestone](https://git As a tester, you are encouraged to open bug reports if you experience issues with 3.1 alpha. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -*The illustration picture is a scene created with [Marc Gilleron](http://twitter.com/ZylannMP3)'s *HeightMap terrain plugin*, available on the [Asset Library](https://godotengine.org/asset-library/asset/231) and on [GitHub](https://github.com/Zylann/godot_heightmap_plugin).* \ No newline at end of file +*The illustration picture is a scene created with [Marc Gilleron](http://twitter.com/ZylannMP3)'s *HeightMap terrain plugin*, available on the [Asset Library](https://godotengine.org/asset-library/asset/231) and on [GitHub](https://github.com/Zylann/godot_heightmap_plugin).* diff --git a/collections/_article/dev-snapshot-godot-3-1-alpha-5.md b/collections/_article/dev-snapshot-godot-3-1-alpha-5.md index 07cdf11180..6cef19d4be 100644 --- a/collections/_article/dev-snapshot-godot-3-1-alpha-5.md +++ b/collections/_article/dev-snapshot-godot-3-1-alpha-5.md @@ -48,4 +48,4 @@ There are still hundreds of open [bug reports for the 3.1 milestone](https://git As a tester, you are encouraged to open bug reports if you experience issues with 3.1 alpha. Please check first the [existing issues](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -*The illustration picture is a screenshot from [Bauxitedev](https://twitter.com/bauxitedev)'s game *Meteorite*, available on [itch.io](https://bauxite.itch.io/meteorite), Godot's [Asset Library](https://godotengine.org/asset-library/asset/257) and [GitHub](https://github.com/Bauxitedev/meteorite).* \ No newline at end of file +*The illustration picture is a screenshot from [Bauxitedev](https://twitter.com/bauxitedev)'s game *Meteorite*, available on [itch.io](https://bauxite.itch.io/meteorite), Godot's [Asset Library](https://godotengine.org/asset-library/asset/257) and [GitHub](https://github.com/Bauxitedev/meteorite).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-1.md b/collections/_article/dev-snapshot-godot-3-1-beta-1.md index e5f9f718f3..77bfca94d3 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-1.md @@ -46,4 +46,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit At this stage, we are mostly interested in critical bugs which could be showstoppers in Godot 3.1 stable. Yet feel free to report non-critical issues and enhancement proposals that will be worked on once 3.1 has been released. -*The illustration picture is a screenshot from [Little Red Dog Games](https://www.littlereddoggames.com)'s upcoming 1-2 player strategy game *[Precipice](https://www.littlereddoggames.com/precipice)*, developed with Godot 3.1 alpha. [Early gameplay video](https://www.youtube.com/watch?v=f3cBQouCGbs), [Steam](https://store.steampowered.com/app/951670/Precipice/), [Twitter](http://twitter.com/lrdgames).* \ No newline at end of file +*The illustration picture is a screenshot from [Little Red Dog Games](https://www.littlereddoggames.com)'s upcoming 1-2 player strategy game *[Precipice](https://www.littlereddoggames.com/precipice)*, developed with Godot 3.1 alpha. [Early gameplay video](https://www.youtube.com/watch?v=f3cBQouCGbs), [Steam](https://store.steampowered.com/app/951670/Precipice/), [Twitter](http://twitter.com/lrdgames).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-10.md b/collections/_article/dev-snapshot-godot-3-1-beta-10.md index 12b86af352..a93a6c398f 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-10.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-10.md @@ -47,4 +47,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit At this stage, we are mostly interested in critical bugs which could be showstoppers in Godot 3.1 stable. Yet feel free to report non-critical issues and enhancement proposals that will be worked on once 3.1 has been released. -*The illustration picture is from [carrotcake.studio](https://carrotcake.studio)'s *[The Garden Path](https://carrotcakestudio.itch.io/thegardenpath)*, a beautiful sandbox gardening game developed with Godot. Follow its development on their [Devlog](https://blog.carrotcake.studio) and [Twitter](https://mobile.twitter.com/carrotcakest).* \ No newline at end of file +*The illustration picture is from [carrotcake.studio](https://carrotcake.studio)'s *[The Garden Path](https://carrotcakestudio.itch.io/thegardenpath)*, a beautiful sandbox gardening game developed with Godot. Follow its development on their [Devlog](https://blog.carrotcake.studio) and [Twitter](https://mobile.twitter.com/carrotcakest).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-11.md b/collections/_article/dev-snapshot-godot-3-1-beta-11.md index 1201a08ed6..8d049a66ea 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-11.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-11.md @@ -45,4 +45,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit At this stage, we are mostly interested in critical bugs which could be showstoppers in Godot 3.1 stable. Yet feel free to report non-critical issues and enhancement proposals that will be worked on once 3.1 has been released. -*The illustration picture is from Odyssey Entertainment's upcoming sci-fi puzzle platformer *[Transmogrify](http://www.playtransmogrify.com/)*, which is schedule to release in coming weeks on [itch.io](https://odysseyentertainment.itch.io/transmogrify) and [Steam](https://store.steampowered.com/app/740310/Transmogrify/).* \ No newline at end of file +*The illustration picture is from Odyssey Entertainment's upcoming sci-fi puzzle platformer *[Transmogrify](http://www.playtransmogrify.com/)*, which is schedule to release in coming weeks on [itch.io](https://odysseyentertainment.itch.io/transmogrify) and [Steam](https://store.steampowered.com/app/740310/Transmogrify/).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-2.md b/collections/_article/dev-snapshot-godot-3-1-beta-2.md index f9e032c1a2..89811d023f 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-2.md @@ -47,4 +47,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit At this stage, we are mostly interested in critical bugs which could be showstoppers in Godot 3.1 stable. Yet feel free to report non-critical issues and enhancement proposals that will be worked on once 3.1 has been released. -*The illustration picture is a screenshot from [Miskatonic Studio](https://miskatonicstudio.com/)'s first game, *Intrepid*, a sci-fi esape room game, which was released last month. [Steam](https://store.steampowered.com/app/992860/Intrepid), [Twitter](https://twitter.com/miskatonic_s).* \ No newline at end of file +*The illustration picture is a screenshot from [Miskatonic Studio](https://miskatonicstudio.com/)'s first game, *Intrepid*, a sci-fi esape room game, which was released last month. [Steam](https://store.steampowered.com/app/992860/Intrepid), [Twitter](https://twitter.com/miskatonic_s).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-3.md b/collections/_article/dev-snapshot-godot-3-1-beta-3.md index 7839ce3485..80ccd357e1 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-3.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-3.md @@ -50,4 +50,4 @@ At this stage, we are mostly interested in critical bugs which could be showstop Known regressions in 3.1 beta 3: - [GH-25378](https://github.com/godotengine/godot/issues/25378): Texture previews are extremely low res -*The illustration picture is a screenshot from John Watson's upcoming game, *[Gravity Ace](https://gravityace.com)*, a gorgeous arcade twin-stick shooter currently in public alpha on [itch.io](https://jotson.itch.io/gravity).* \ No newline at end of file +*The illustration picture is a screenshot from John Watson's upcoming game, *[Gravity Ace](https://gravityace.com)*, a gorgeous arcade twin-stick shooter currently in public alpha on [itch.io](https://jotson.itch.io/gravity).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-4.md b/collections/_article/dev-snapshot-godot-3-1-beta-4.md index e77337bc9e..28cd3733cf 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-4.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-4.md @@ -47,4 +47,4 @@ At this stage, we are mostly interested in critical bugs which could be showstop - [GH-25804](https://github.com/godotengine/godot/issues/25804): 3d workspace disappears in the editor (fixed in *master*) - [GH-25839](https://github.com/godotengine/godot/issues/25839): Visual Shader compile error with CanvasShaderGLES2 (fixed in *master*) -*The illustration picture is a screenshot from [Kodera Software (Mariusz Chwalba)](https://twitter.com/KoderaSoftware)'s upcoming game, *[ΔV: Rings of Saturn](https://games.kodera.pl/dv/)*, a hard sci-fi, top-down space simulator with a demo available on [itch.io](https://koder.itch.io/dv-rings-of-saturn-demo) and [Steam](https://store.steampowered.com/app/846030/V_Rings_of_Saturn/). * \ No newline at end of file +*The illustration picture is a screenshot from [Kodera Software (Mariusz Chwalba)](https://twitter.com/KoderaSoftware)'s upcoming game, *[ΔV: Rings of Saturn](https://games.kodera.pl/dv/)*, a hard sci-fi, top-down space simulator with a demo available on [itch.io](https://koder.itch.io/dv-rings-of-saturn-demo) and [Steam](https://store.steampowered.com/app/846030/V_Rings_of_Saturn/). * diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-5.md b/collections/_article/dev-snapshot-godot-3-1-beta-5.md index 455fd3f758..1355eb6c04 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-5.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-5.md @@ -41,4 +41,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit At this stage, we are mostly interested in critical bugs which could be showstoppers in Godot 3.1 stable. Yet feel free to report non-critical issues and enhancement proposals that will be worked on once 3.1 has been released. -*The illustration picture is a screenshot from *[Primal Light](https://twitter.com/PrimalLightGame)*, a gorgeous action platformer developed in Godot 3.1 by a team of two, scheduled to release on Steam in 2019. Check their many GIFs [on Twitter](https://twitter.com/PrimalLightGame)!* \ No newline at end of file +*The illustration picture is a screenshot from *[Primal Light](https://twitter.com/PrimalLightGame)*, a gorgeous action platformer developed in Godot 3.1 by a team of two, scheduled to release on Steam in 2019. Check their many GIFs [on Twitter](https://twitter.com/PrimalLightGame)!* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-6.md b/collections/_article/dev-snapshot-godot-3-1-beta-6.md index c87e67fef9..4e71afc0b4 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-6.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-6.md @@ -49,4 +49,4 @@ At this stage, we are mostly interested in critical bugs which could be showstop - [GH-26149](https://github.com/godotengine/godot/issues/26149) - Recent area optimization commit causes massive FPS swings (fixed in *master* branch). -*The illustration picture is a screenshot from [Binogure Studio](https://twitter.com/Binogure)'s *[City Game Studio](https://store.steampowered.com/app/726840/City_Game_Studio/)*, a game development simulation game made with Godot 2.1.5, which was just released on [Steam Early Access](https://store.steampowered.com/app/726840/City_Game_Studio/).* \ No newline at end of file +*The illustration picture is a screenshot from [Binogure Studio](https://twitter.com/Binogure)'s *[City Game Studio](https://store.steampowered.com/app/726840/City_Game_Studio/)*, a game development simulation game made with Godot 2.1.5, which was just released on [Steam Early Access](https://store.steampowered.com/app/726840/City_Game_Studio/).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-7.md b/collections/_article/dev-snapshot-godot-3-1-beta-7.md index 58f2afbfbb..39e8889b22 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-7.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-7.md @@ -49,4 +49,4 @@ At this stage, we are mostly interested in critical bugs which could be showstop - [26243](https://github.com/godotengine/godot/issues/26243): Crash with "Illegal instruction" on pre-2011 CPUs (fixed in *master*) - [26244](https://github.com/godotengine/godot/issues/26244): C# builds are failing (fixed in *master*) -*The illustration picture is a scene created with [Marc Gilleron](http://twitter.com/ZylannMP3)'s *HeightMap terrain plugin*, available on the [Asset Library](https://godotengine.org/asset-library/asset/231) and on [GitHub](https://github.com/Zylann/godot_heightmap_plugin).* \ No newline at end of file +*The illustration picture is a scene created with [Marc Gilleron](http://twitter.com/ZylannMP3)'s *HeightMap terrain plugin*, available on the [Asset Library](https://godotengine.org/asset-library/asset/231) and on [GitHub](https://github.com/Zylann/godot_heightmap_plugin).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-8.md b/collections/_article/dev-snapshot-godot-3-1-beta-8.md index d9cad9f2c1..a55458ab1e 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-8.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-8.md @@ -50,4 +50,4 @@ At this stage, we are mostly interested in critical bugs which could be showstop **Known issues:** - [GH-26301](https://github.com/godotengine/godot/issues/26301) and others: GLES2 projets with ETC textures on Android crash on start -*The illustration picture is a screenshot from the FOSS game *[Tanks of Freedom](https://tof.p1x.in/)* by [P1X](https://p1x.in), initially released in 2015 and continuously updated since then. [Source code](https://github.com/w84death/Tanks-of-Freedom) (Godot 2.1), [itch.io](https://w84death.itch.io/tanks-of-freedom).* \ No newline at end of file +*The illustration picture is a screenshot from the FOSS game *[Tanks of Freedom](https://tof.p1x.in/)* by [P1X](https://p1x.in), initially released in 2015 and continuously updated since then. [Source code](https://github.com/w84death/Tanks-of-Freedom) (Godot 2.1), [itch.io](https://w84death.itch.io/tanks-of-freedom).* diff --git a/collections/_article/dev-snapshot-godot-3-1-beta-9.md b/collections/_article/dev-snapshot-godot-3-1-beta-9.md index 657568f347..92f5d4c44d 100644 --- a/collections/_article/dev-snapshot-godot-3-1-beta-9.md +++ b/collections/_article/dev-snapshot-godot-3-1-beta-9.md @@ -51,4 +51,4 @@ At this stage, we are mostly interested in critical bugs which could be showstop - [GH-26359](https://github.com/godotengine/godot/issues/26359): Previous scenes/scripts and project layout not loading up (fixed in *master*) -*The illustration picture is from [HeartBeast Studios](http://twitter.com/uheartbeast/)' byte-sized roguelike *Endhall*, released in December on [itch.io](https://uheartbeast.itch.io/endhall) and [Steam](https://store.steampowered.com/app/838990/Endhall/).* \ No newline at end of file +*The illustration picture is from [HeartBeast Studios](http://twitter.com/uheartbeast/)' byte-sized roguelike *Endhall*, released in December on [itch.io](https://uheartbeast.itch.io/endhall) and [Steam](https://store.steampowered.com/app/838990/Endhall/).* diff --git a/collections/_article/dev-snapshot-godot-3-2-2-beta-1.md b/collections/_article/dev-snapshot-godot-3-2-2-beta-1.md index 2d0e951f99..62ebd9e3cf 100644 --- a/collections/_article/dev-snapshot-godot-3-2-2-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-2-2-beta-1.md @@ -82,4 +82,4 @@ The download links for dev snapshots are not featured on the [Download](/downloa As a tester, you are encouraged to [open bug reports](https://github.com/godotengine/godot/issues) if you experience issues with 3.2.2 beta 1. Please check first the [existing issues on GitHub](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 1). \ No newline at end of file +In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 1). diff --git a/collections/_article/dev-snapshot-godot-3-2-2-beta-2.md b/collections/_article/dev-snapshot-godot-3-2-2-beta-2.md index afc78384e4..f936c9214d 100644 --- a/collections/_article/dev-snapshot-godot-3-2-2-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-2-2-beta-2.md @@ -114,4 +114,4 @@ The download links for dev snapshots are not featured on the [Download](/downloa As a tester, you are encouraged to [open bug reports](https://github.com/godotengine/godot/issues) if you experience issues with 3.2.2 beta 2. Please check first the [existing issues on GitHub](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 2). \ No newline at end of file +In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 2). diff --git a/collections/_article/dev-snapshot-godot-3-2-2-beta-3.md b/collections/_article/dev-snapshot-godot-3-2-2-beta-3.md index 106ab6de15..105a0242e0 100644 --- a/collections/_article/dev-snapshot-godot-3-2-2-beta-3.md +++ b/collections/_article/dev-snapshot-godot-3-2-2-beta-3.md @@ -129,4 +129,4 @@ The download links for dev snapshots are not featured on the [Download](/downloa As a tester, you are encouraged to [open bug reports](https://github.com/godotengine/godot/issues) if you experience issues with 3.2.2 beta 3. Please check first the [existing issues on GitHub](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 3). \ No newline at end of file +In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 3). diff --git a/collections/_article/dev-snapshot-godot-3-2-2-beta-4.md b/collections/_article/dev-snapshot-godot-3-2-2-beta-4.md index 8e4c6b5126..3093b32c06 100644 --- a/collections/_article/dev-snapshot-godot-3-2-2-beta-4.md +++ b/collections/_article/dev-snapshot-godot-3-2-2-beta-4.md @@ -135,4 +135,4 @@ The download links for dev snapshots are not featured on the [Download](/downloa As a tester, you are encouraged to [open bug reports](https://github.com/godotengine/godot/issues) if you experience issues with 3.2.2 beta 4. Please check first the [existing issues on GitHub](https://github.com/godotengine/godot/issues), using the search function with relevant keywords, to ensure that the bug you experience is not known already. -In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 4). \ No newline at end of file +In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.2.1 no longer works in 3.2.2 beta 4). diff --git a/collections/_article/dev-snapshot-godot-3-2-3-beta-1.md b/collections/_article/dev-snapshot-godot-3-2-3-beta-1.md index 255524a4cb..43ced86f24 100644 --- a/collections/_article/dev-snapshot-godot-3-2-3-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-2-3-beta-1.md @@ -70,4 +70,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-4-beta-1.md b/collections/_article/dev-snapshot-godot-3-2-4-beta-1.md index d344fac189..420cdf17d0 100644 --- a/collections/_article/dev-snapshot-godot-3-2-4-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-2-4-beta-1.md @@ -89,4 +89,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-4-beta-2.md b/collections/_article/dev-snapshot-godot-3-2-4-beta-2.md index ea6c08e4e2..117e591384 100644 --- a/collections/_article/dev-snapshot-godot-3-2-4-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-2-4-beta-2.md @@ -107,4 +107,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-4-beta-3.md b/collections/_article/dev-snapshot-godot-3-2-4-beta-3.md index 157e1f330b..5bc3122a48 100644 --- a/collections/_article/dev-snapshot-godot-3-2-4-beta-3.md +++ b/collections/_article/dev-snapshot-godot-3-2-4-beta-3.md @@ -116,4 +116,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-4-beta-4.md b/collections/_article/dev-snapshot-godot-3-2-4-beta-4.md index 9aabbf6950..ab02ac6e4d 100644 --- a/collections/_article/dev-snapshot-godot-3-2-4-beta-4.md +++ b/collections/_article/dev-snapshot-godot-3-2-4-beta-4.md @@ -130,4 +130,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-4-beta-5.md b/collections/_article/dev-snapshot-godot-3-2-4-beta-5.md index 767cc18507..8dbec56472 100644 --- a/collections/_article/dev-snapshot-godot-3-2-4-beta-5.md +++ b/collections/_article/dev-snapshot-godot-3-2-4-beta-5.md @@ -136,4 +136,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-4-beta-6.md b/collections/_article/dev-snapshot-godot-3-2-4-beta-6.md index 98b8612129..8bc74c716c 100644 --- a/collections/_article/dev-snapshot-godot-3-2-4-beta-6.md +++ b/collections/_article/dev-snapshot-godot-3-2-4-beta-6.md @@ -157,4 +157,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-2-alpha-1.md b/collections/_article/dev-snapshot-godot-3-2-alpha-1.md index 7373d5bf20..74c28c377b 100644 --- a/collections/_article/dev-snapshot-godot-3-2-alpha-1.md +++ b/collections/_article/dev-snapshot-godot-3-2-alpha-1.md @@ -55,4 +55,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit ----- -*The illustration picture is from the upcoming action-adventure game* **[Resolutiion](https://resolutiion.monolithofminds.com/)** *by [Monolith of Minds](https://twitter.com/monolithofminds), which is scheduled for release in early 2020. Wishlist it on [Steam](https://store.steampowered.com/app/975150/Resolutiion/) or follow them on [Twitter](https://twitter.com/monolithofminds). You can also read a nice post they wrote last year on [porting from Godot 2 to Godot 3](https://steemit.com/games/@cloudif/crash-replace-repeat-porting-resolutiion-to-godot-3).* \ No newline at end of file +*The illustration picture is from the upcoming action-adventure game* **[Resolutiion](https://resolutiion.monolithofminds.com/)** *by [Monolith of Minds](https://twitter.com/monolithofminds), which is scheduled for release in early 2020. Wishlist it on [Steam](https://store.steampowered.com/app/975150/Resolutiion/) or follow them on [Twitter](https://twitter.com/monolithofminds). You can also read a nice post they wrote last year on [porting from Godot 2 to Godot 3](https://steemit.com/games/@cloudif/crash-replace-repeat-porting-resolutiion-to-godot-3).* diff --git a/collections/_article/dev-snapshot-godot-3-2-alpha-2.md b/collections/_article/dev-snapshot-godot-3-2-alpha-2.md index c3cd266bae..5a0a662560 100644 --- a/collections/_article/dev-snapshot-godot-3-2-alpha-2.md +++ b/collections/_article/dev-snapshot-godot-3-2-alpha-2.md @@ -57,4 +57,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit ----- -*The illustration picture is from the gorgeous puzzle platformer* **[Seedlings](https://bardsley-creative.itch.io/seedlings)** *by [Bardsley Creative](https://twitter.com/Seedlings_Game). Follow its development on [Twitter](https://twitter.com/Seedlings_Game) and play the recently updated demo on [itch.io](https://bardsley-creative.itch.io/seedlings).* \ No newline at end of file +*The illustration picture is from the gorgeous puzzle platformer* **[Seedlings](https://bardsley-creative.itch.io/seedlings)** *by [Bardsley Creative](https://twitter.com/Seedlings_Game). Follow its development on [Twitter](https://twitter.com/Seedlings_Game) and play the recently updated demo on [itch.io](https://bardsley-creative.itch.io/seedlings).* diff --git a/collections/_article/dev-snapshot-godot-3-2-alpha-3.md b/collections/_article/dev-snapshot-godot-3-2-alpha-3.md index 20ea0b0911..16be618995 100644 --- a/collections/_article/dev-snapshot-godot-3-2-alpha-3.md +++ b/collections/_article/dev-snapshot-godot-3-2-alpha-3.md @@ -55,4 +55,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit ----- -*The illustration picture is from the low-poly, SNES-like 3D rail shooter* **[Ex-Zodiac](https://benhickling.itch.io/ex-zodiac)** *developed by [Ben Hickling](https://twitter.com/BenHickling). Follow its development on [Twitter](https://twitter.com/BenHickling) and [itch.io](https://benhickling.itch.io/), and stay tuned for an upcoming demo version!* \ No newline at end of file +*The illustration picture is from the low-poly, SNES-like 3D rail shooter* **[Ex-Zodiac](https://benhickling.itch.io/ex-zodiac)** *developed by [Ben Hickling](https://twitter.com/BenHickling). Follow its development on [Twitter](https://twitter.com/BenHickling) and [itch.io](https://benhickling.itch.io/), and stay tuned for an upcoming demo version!* diff --git a/collections/_article/dev-snapshot-godot-3-2-beta-1.md b/collections/_article/dev-snapshot-godot-3-2-beta-1.md index 7d85b45846..019184c297 100644 --- a/collections/_article/dev-snapshot-godot-3-2-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-2-beta-1.md @@ -53,4 +53,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit ----- -*The illustration picture is from the gorgeous procedural arcade shooter* **[Infinistate](http://www.fracteed.com/infinistate.html)**, *developed by [James Redmond](https://twitter.com/fracteed) ([Fracteed](http://www.fracteed.com/)). Fracteed is an early adopter of Godot 3.0's new PBR pipeline, and helped a lot testing and improving it with his impressive artwork. Follow* Infinistate*'s development on [Twitter](https://twitter.com/fracteed) and stay tuned for a possible Early Access release next year!* \ No newline at end of file +*The illustration picture is from the gorgeous procedural arcade shooter* **[Infinistate](http://www.fracteed.com/infinistate.html)**, *developed by [James Redmond](https://twitter.com/fracteed) ([Fracteed](http://www.fracteed.com/)). Fracteed is an early adopter of Godot 3.0's new PBR pipeline, and helped a lot testing and improving it with his impressive artwork. Follow* Infinistate*'s development on [Twitter](https://twitter.com/fracteed) and stay tuned for a possible Early Access release next year!* diff --git a/collections/_article/dev-snapshot-godot-3-2-beta-2.md b/collections/_article/dev-snapshot-godot-3-2-beta-2.md index 10e9326c0d..36b2f1e715 100644 --- a/collections/_article/dev-snapshot-godot-3-2-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-2-beta-2.md @@ -60,4 +60,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit ----- -*The illustration picture is from the innovative action adventure RPG* **[Bloom: Memories](https://store.steampowered.com/app/1145440/Bloom_Memories/)** *by [Studio Fawn](https://twitter.com/StudioFawn), which has been 7 years in the making (ported to Godot along the way) and is close to being released. You can wishlist it on [Steam](https://store.steampowered.com/app/1145440/Bloom_Memories/), follow the developer on [Twitter](https://twitter.com/StudioFawn) or [Patreon](https://www.patreon.com/studiofawn), and see the gorgeous trailer on [YouTube](https://www.youtube.com/watch?v=K4PPDpXEn74).* \ No newline at end of file +*The illustration picture is from the innovative action adventure RPG* **[Bloom: Memories](https://store.steampowered.com/app/1145440/Bloom_Memories/)** *by [Studio Fawn](https://twitter.com/StudioFawn), which has been 7 years in the making (ported to Godot along the way) and is close to being released. You can wishlist it on [Steam](https://store.steampowered.com/app/1145440/Bloom_Memories/), follow the developer on [Twitter](https://twitter.com/StudioFawn) or [Patreon](https://www.patreon.com/studiofawn), and see the gorgeous trailer on [YouTube](https://www.youtube.com/watch?v=K4PPDpXEn74).* diff --git a/collections/_article/dev-snapshot-godot-3-2-beta-3.md b/collections/_article/dev-snapshot-godot-3-2-beta-3.md index 49982fe4bc..2a19d1ed2f 100644 --- a/collections/_article/dev-snapshot-godot-3-2-beta-3.md +++ b/collections/_article/dev-snapshot-godot-3-2-beta-3.md @@ -64,4 +64,4 @@ As a tester, you are encouraged to open bug reports if you experience issues wit ----- -*The illustration picture is from* [**Door in the Woods**](https://store.steampowered.com/app/1189230/Door_in_the_Woods/), *an open world roguelike inspired by the lovecraftian mythos and developed in Godot by [teedoubleuGAMES](https://twitter.com/teedoubleuGAMES). The game was just released today on [Steam](https://store.steampowered.com/app/1189230/Door_in_the_Woods/), so congrats to the developers for the release!* \ No newline at end of file +*The illustration picture is from* [**Door in the Woods**](https://store.steampowered.com/app/1189230/Door_in_the_Woods/), *an open world roguelike inspired by the lovecraftian mythos and developed in Godot by [teedoubleuGAMES](https://twitter.com/teedoubleuGAMES). The game was just released today on [Steam](https://store.steampowered.com/app/1189230/Door_in_the_Woods/), so congrats to the developers for the release!* diff --git a/collections/_article/dev-snapshot-godot-3-2-beta-4.md b/collections/_article/dev-snapshot-godot-3-2-beta-4.md index 51c4b4bd05..9fb3a8ae10 100644 --- a/collections/_article/dev-snapshot-godot-3-2-beta-4.md +++ b/collections/_article/dev-snapshot-godot-3-2-beta-4.md @@ -77,4 +77,4 @@ In particular, any change that would cause a regression in your projects is very ----- -*The illustration picture is from* [**Hive Time**](https://cheeseness.itch.io/hive-time), *a bee-themed base-building game released last week by [Cheeseness](https://twitter.com/ValiantCheese), [Mimness](https://twitter.com/MimLofBees) and [Peter](http://www.kestrelpi.co.uk/). Available now on [**itch.io**](https://cheeseness.itch.io/hive-time). Follow updates on the game's [Twitter](https://twitter.com/hive_time) account.* \ No newline at end of file +*The illustration picture is from* [**Hive Time**](https://cheeseness.itch.io/hive-time), *a bee-themed base-building game released last week by [Cheeseness](https://twitter.com/ValiantCheese), [Mimness](https://twitter.com/MimLofBees) and [Peter](http://www.kestrelpi.co.uk/). Available now on [**itch.io**](https://cheeseness.itch.io/hive-time). Follow updates on the game's [Twitter](https://twitter.com/hive_time) account.* diff --git a/collections/_article/dev-snapshot-godot-3-2-beta-5.md b/collections/_article/dev-snapshot-godot-3-2-beta-5.md index c51e901ded..30806f6f89 100644 --- a/collections/_article/dev-snapshot-godot-3-2-beta-5.md +++ b/collections/_article/dev-snapshot-godot-3-2-beta-5.md @@ -50,4 +50,4 @@ In particular, any change that would cause a regression in your projects is very ----- -*The illustration picture is a screenshot from* [**Haiki**](https://twitter.com/xr3alx), *a juicy platformer developed in Godot by [Richard](https://twitter.com/xr3alx) since 2017. Follow Richard [on Twitter](https://twitter.com/xr3alx) for updates about the game.* \ No newline at end of file +*The illustration picture is a screenshot from* [**Haiki**](https://twitter.com/xr3alx), *a juicy platformer developed in Godot by [Richard](https://twitter.com/xr3alx) since 2017. Follow Richard [on Twitter](https://twitter.com/xr3alx) for updates about the game.* diff --git a/collections/_article/dev-snapshot-godot-3-2-beta-6.md b/collections/_article/dev-snapshot-godot-3-2-beta-6.md index bf63988b47..f93ab5749f 100644 --- a/collections/_article/dev-snapshot-godot-3-2-beta-6.md +++ b/collections/_article/dev-snapshot-godot-3-2-beta-6.md @@ -48,4 +48,4 @@ In particular, any change that would cause a regression in your projects is very ----- -*The illustration picture is from* [**Sealed Bite**](https://securas.itch.io/sealedbite), *a delightful pixel art metroidvania by [Securas](https://twitter.com/Securas2010) with music by [Wandard](https://soundcloud.com/fabienmerten), which is the winning entry of the [GitHub Game Off 2019](https://itch.io/jam/game-off-2019)! Check it out on [http://itch.io](https://securas.itch.io/sealedbite), or play with the source files on [GitHub](https://github.com/securas/SealedBite). Be sure to follow [Securas on Twitter](https://twitter.com/Securas2010), who is allegedly one of the most prolific and talented Godot jammers!* \ No newline at end of file +*The illustration picture is from* [**Sealed Bite**](https://securas.itch.io/sealedbite), *a delightful pixel art metroidvania by [Securas](https://twitter.com/Securas2010) with music by [Wandard](https://soundcloud.com/fabienmerten), which is the winning entry of the [GitHub Game Off 2019](https://itch.io/jam/game-off-2019)! Check it out on [http://itch.io](https://securas.itch.io/sealedbite), or play with the source files on [GitHub](https://github.com/securas/SealedBite). Be sure to follow [Securas on Twitter](https://twitter.com/Securas2010), who is allegedly one of the most prolific and talented Godot jammers!* diff --git a/collections/_article/dev-snapshot-godot-3-4-beta-2.md b/collections/_article/dev-snapshot-godot-3-4-beta-2.md index 0634e05ba8..1ff86cdfee 100644 --- a/collections/_article/dev-snapshot-godot-3-4-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-4-beta-2.md @@ -215,4 +215,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-4-beta-3.md b/collections/_article/dev-snapshot-godot-3-4-beta-3.md index bbcef3e70d..c7fc1c0c90 100644 --- a/collections/_article/dev-snapshot-godot-3-4-beta-3.md +++ b/collections/_article/dev-snapshot-godot-3-4-beta-3.md @@ -229,4 +229,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-4-beta-4.md b/collections/_article/dev-snapshot-godot-3-4-beta-4.md index 890558767b..7e45507d6f 100644 --- a/collections/_article/dev-snapshot-godot-3-4-beta-4.md +++ b/collections/_article/dev-snapshot-godot-3-4-beta-4.md @@ -257,4 +257,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-4-beta-5.md b/collections/_article/dev-snapshot-godot-3-4-beta-5.md index eddb4f12a7..b2e106da62 100644 --- a/collections/_article/dev-snapshot-godot-3-4-beta-5.md +++ b/collections/_article/dev-snapshot-godot-3-4-beta-5.md @@ -314,4 +314,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-4-beta-6.md b/collections/_article/dev-snapshot-godot-3-4-beta-6.md index 062f61ea7b..1568ad2e02 100644 --- a/collections/_article/dev-snapshot-godot-3-4-beta-6.md +++ b/collections/_article/dev-snapshot-godot-3-4-beta-6.md @@ -354,4 +354,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-5-beta-1.md b/collections/_article/dev-snapshot-godot-3-5-beta-1.md index 480be3b2f1..492b88ebc3 100644 --- a/collections/_article/dev-snapshot-godot-3-5-beta-1.md +++ b/collections/_article/dev-snapshot-godot-3-5-beta-1.md @@ -84,4 +84,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-5-beta-2.md b/collections/_article/dev-snapshot-godot-3-5-beta-2.md index 0a47f426b2..c973805a49 100644 --- a/collections/_article/dev-snapshot-godot-3-5-beta-2.md +++ b/collections/_article/dev-snapshot-godot-3-5-beta-2.md @@ -126,4 +126,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-5-beta-3.md b/collections/_article/dev-snapshot-godot-3-5-beta-3.md index 7ef3ab1498..27c4c90fc8 100644 --- a/collections/_article/dev-snapshot-godot-3-5-beta-3.md +++ b/collections/_article/dev-snapshot-godot-3-5-beta-3.md @@ -145,4 +145,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-5-beta-4.md b/collections/_article/dev-snapshot-godot-3-5-beta-4.md index 082fafa53c..196266de92 100644 --- a/collections/_article/dev-snapshot-godot-3-5-beta-4.md +++ b/collections/_article/dev-snapshot-godot-3-5-beta-4.md @@ -151,4 +151,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-3-5-beta-5.md b/collections/_article/dev-snapshot-godot-3-5-beta-5.md index 333b8188e1..24de58e13c 100644 --- a/collections/_article/dev-snapshot-godot-3-5-beta-5.md +++ b/collections/_article/dev-snapshot-godot-3-5-beta-5.md @@ -162,4 +162,4 @@ In particular, any change that would cause a regression in your projects is very Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-1.md b/collections/_article/dev-snapshot-godot-4-0-alpha-1.md index 21d6c6671e..d4c22bfb58 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-1.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-1.md @@ -182,4 +182,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-10.md b/collections/_article/dev-snapshot-godot-4-0-alpha-10.md index fe1eabbb0c..aec8e36789 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-10.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-10.md @@ -76,4 +76,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-11.md b/collections/_article/dev-snapshot-godot-4-0-alpha-11.md index 7722a8cc25..3ed4be5489 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-11.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-11.md @@ -89,4 +89,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-12.md b/collections/_article/dev-snapshot-godot-4-0-alpha-12.md index 2afe6d1165..ac31c0d91d 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-12.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-12.md @@ -82,4 +82,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-13.md b/collections/_article/dev-snapshot-godot-4-0-alpha-13.md index 0e5cc159f9..5fa3e9f1c6 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-13.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-13.md @@ -91,4 +91,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-14.md b/collections/_article/dev-snapshot-godot-4-0-alpha-14.md index 1b5b811d17..840e63a5aa 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-14.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-14.md @@ -83,4 +83,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-15.md b/collections/_article/dev-snapshot-godot-4-0-alpha-15.md index f8cdea0b9c..f88123c915 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-15.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-15.md @@ -116,4 +116,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-16.md b/collections/_article/dev-snapshot-godot-4-0-alpha-16.md index c0fb0413f6..e98e4643dc 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-16.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-16.md @@ -112,4 +112,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-17.md b/collections/_article/dev-snapshot-godot-4-0-alpha-17.md index a45f24c8e2..78e19e8823 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-17.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-17.md @@ -45,7 +45,7 @@ Some of the most notables feature changes in this update are: * Rename and move `Node.raise()` to `CanvasItem.move_to_front()` ([GH-60108](https://github.com/godotengine/godot/pull/60108)). * Rename SceneTree `change_scene()` and `change_scene_to()` to remove ambiguity ([GH-63596](https://github.com/godotengine/godot/pull/63596)). * Rename "ssl" references to "tls" in methods and properties ([GH-65460](https://github.com/godotengine/godot/pull/65460)). -- Core: Fix `Time.get_datetime_*` methods possibly return wrong time on day change ([GH-65509](https://github.com/godotengine/godot/pull/65509)). +- Core: Fix `Time.get_datetime_*` methods possibly return wrong time on day change ([GH-65509](https://github.com/godotengine/godot/pull/65509)). - Core: Allow negative indices in Node `move_child()` ([GH-65595](https://github.com/godotengine/godot/pull/65595)). - Core: Add ability to flag classes and methods as experimental or deprecated ([GH-64982](https://github.com/godotengine/godot/pull/64982)). - Editor: Fix editing of remote objects in the Inspector ([GH-63640](https://github.com/godotengine/godot/pull/63640), [GH-65520](https://github.com/godotengine/godot/pull/65520)). @@ -90,4 +90,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-2.md b/collections/_article/dev-snapshot-godot-4-0-alpha-2.md index d659c1d4a7..bfee788840 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-2.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-2.md @@ -31,7 +31,7 @@ Some of the most notables feature changes in this update are: ### Multiplayer replication -Built into the engine core we now have scene, spawn, and property replication over the network. This means the engine can now do a lot of the heavy lifting and get you started on the next multiplayer hit much quicker. You don't have to worry about manually keeping your scenes in sync across connected devices, even for players connecting mid-game. Long gone are boilerplate functions and remote calls just to change some property for every player in the session. +Built into the engine core we now have scene, spawn, and property replication over the network. This means the engine can now do a lot of the heavy lifting and get you started on the next multiplayer hit much quicker. You don't have to worry about manually keeping your scenes in sync across connected devices, even for players connecting mid-game. Long gone are boilerplate functions and remote calls just to change some property for every player in the session. Of course, you still can do all of it, or part of it, manually, depending on your needs. And you can mix and match — all of the additions are completely extendable, configurable, and replaceable. If you are still going to use RPCs, those received some love too and now have their own annotations in GDScript 2.0. @@ -114,4 +114,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-3.md b/collections/_article/dev-snapshot-godot-4-0-alpha-3.md index 4ab55f6357..a3bae8c296 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-3.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-3.md @@ -74,4 +74,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-4.md b/collections/_article/dev-snapshot-godot-4-0-alpha-4.md index e34abfbc90..77d8b94471 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-4.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-4.md @@ -81,4 +81,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-5.md b/collections/_article/dev-snapshot-godot-4-0-alpha-5.md index 0edcc6b45c..012cedb348 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-5.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-5.md @@ -78,4 +78,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-6.md b/collections/_article/dev-snapshot-godot-4-0-alpha-6.md index 8c031aec4a..7debac0130 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-6.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-6.md @@ -75,4 +75,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-7.md b/collections/_article/dev-snapshot-godot-4-0-alpha-7.md index 180b70205c..ed0a087e70 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-7.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-7.md @@ -80,4 +80,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-8.md b/collections/_article/dev-snapshot-godot-4-0-alpha-8.md index 2dccb3dc5b..a068973b0f 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-8.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-8.md @@ -77,4 +77,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-alpha-9.md b/collections/_article/dev-snapshot-godot-4-0-alpha-9.md index 6cda606143..147911771e 100644 --- a/collections/_article/dev-snapshot-godot-4-0-alpha-9.md +++ b/collections/_article/dev-snapshot-godot-4-0-alpha-9.md @@ -78,4 +78,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-1.md b/collections/_article/dev-snapshot-godot-4-0-beta-1.md index b8b972f8c1..d5f5514ed1 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-1.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-1.md @@ -42,7 +42,7 @@ One of the most important additions not covered by those articles is the introdu ## Rendering {#rendering} -We know many users are excited about the coming improvements to 2D and 3D rendering in 4.0. Over the last few years we have completely overhauled the Godot renders. They now target Vulkan by default and we have created them with future support for [Direct3D 12](https://github.com/godotengine/godot/pull/64304) and other rendering APIs in mind. We also have created an OpenGL-based compatibility renderer aimed at supporting older and low-end devices that do not support Vulkan or other modern GPU APIs. As much as we love exciting new features, we also want to see people create games on the full spectrum of devices for everyone to enjoy. +We know many users are excited about the coming improvements to 2D and 3D rendering in 4.0. Over the last few years we have completely overhauled the Godot renders. They now target Vulkan by default and we have created them with future support for [Direct3D 12](https://github.com/godotengine/godot/pull/64304) and other rendering APIs in mind. We also have created an OpenGL-based compatibility renderer aimed at supporting older and low-end devices that do not support Vulkan or other modern GPU APIs. As much as we love exciting new features, we also want to see people create games on the full spectrum of devices for everyone to enjoy. -For the photography-minded users, we have added support for using physical light units in Godot 4.0 which allow you to use realistic units for the intensity of lights as well as use standard camera settings (like aperture, shutter speed, and ISO) to control the brightness of the final scene. Physical light units are turned off by default but can be enabled in the project settings. +For the photography-minded users, we have added support for using physical light units in Godot 4.0 which allow you to use realistic units for the intensity of lights as well as use standard camera settings (like aperture, shutter speed, and ISO) to control the brightness of the final scene. Physical light units are turned off by default but can be enabled in the project settings. -Don't worry, though, you will be able to reap the benefits of these new features without sacrificing your game's performance. Several new optimization techniques are also at your disposal, such as [occlusion culling](https://github.com/godotengine/godot/pull/48050), [automatic mesh LOD](https://github.com/godotengine/godot/pull/44468), and manual HLOD using [visibility ranges](https://github.com/godotengine/godot/pull/48847), made possible by Joan Fons ([JFonS](https://github.com/JFonS)), and Juan. +Don't worry, though, you will be able to reap the benefits of these new features without sacrificing your game's performance. Several new optimization techniques are also at your disposal, such as [occlusion culling](https://github.com/godotengine/godot/pull/48050), [automatic mesh LOD](https://github.com/godotengine/godot/pull/44468), and manual HLOD using [visibility ranges](https://github.com/godotengine/godot/pull/48847), made possible by Joan Fons ([JFonS](https://github.com/JFonS)), and Juan. -Similarly support for AMD’s [Fidelity FX Super Resolution 1.0](https://github.com/godotengine/godot/pull/51679) (FSR 1.0) has been added by [Je06jm](https://github.com/Je06jm). Support for FSR 2.1 is planned for a future beta release. +Similarly support for AMD’s [Fidelity FX Super Resolution 1.0](https://github.com/godotengine/godot/pull/51679) (FSR 1.0) has been added by [Je06jm](https://github.com/Je06jm). Support for FSR 2.1 is planned for a future beta release. If you are using Godot to develop apps, you should be pleased to learn that Godot 4 supports multiple windows per running application. You will notice it with the editor itself, and you can enable the same behavior in your projects, globally or per sub-viewport. @@ -187,7 +187,7 @@ Text rendering changes couldn't have happened without an overhaul in how fonts a Speaking of themes, the default project theme has been modernized to provide a cleaner look and get rid of embedded images, which should slightly reduce the size of exported projects. You can thank our core contributor Hugo Locurcio ([Calinou](https://github.com/Calinou)) for that. -## Audio {#audio} +## Audio {#audio} Sound design and music is another area that is important to get right. It is also the area that requires a lot of specialized knowledge to properly support in the engine. Luckily, our contributor Ellen Poe ([ellenhp](https://github.com/ellenhp)) has exactly what it takes, and her work on Godot 4 helped to fix a large amount of withstanding issues with the audio system. @@ -234,7 +234,7 @@ Overall editor usability is also always improving, and you will likely see a few The editor will store the editor version last used to edit a project inside the `project.godot` file. This way you will be able to quickly check what version of Godot a project is created with. Additionally, the project manager will show a warning if you try to edit a project made with a different version of Godot, or a project made using unavailable engine features. -The much loved “default_env.tres” which added a fallback environment to all projects has been removed in favor of having an in-editor default DirectionalLight3D and WorldEnvironment. This makes it easy to tweak lighting and effects for previewing assets in the editor without the hassle of having to remember to manually disable your in-editor nodes at runtime. For more information, see the +The much loved “default_env.tres” which added a fallback environment to all projects has been removed in favor of having an in-editor default DirectionalLight3D and WorldEnvironment. This makes it easy to tweak lighting and effects for previewing assets in the editor without the hassle of having to remember to manually disable your in-editor nodes at runtime. For more information, see the [blog post](https://godotengine.org/article/editor-improvements-godot-40). And finally, a new release doesn't feel new without an updated look for the editor. Just like the new project theme, the [new editor theme](https://github.com/godotengine/godot/pull/45607) was made by Hugo to give it a more modern feeling and improve color schemes for better accessibility. The editor also benefits from the improved text rendering and right-to-left support, which should open the doors of gamedev for developers from many more regions. @@ -245,11 +245,11 @@ Among many other improvements to the web platform, Fabio has added the necessary ## Should I upgrade my project now? -Right now, it is still a bit risky to upgrade projects that are in the late-stages of development. We anticipate that all users will face bugs that make development more challenging than it should be and may even face engine crashes. However, as we do not anticipate making many more breaking changes, the API should be relatively stable from this point on. That means now is a good time to try out the engine and maybe even try porting a small side-project to see how the process goes. +Right now, it is still a bit risky to upgrade projects that are in the late-stages of development. We anticipate that all users will face bugs that make development more challenging than it should be and may even face engine crashes. However, as we do not anticipate making many more breaking changes, the API should be relatively stable from this point on. That means now is a good time to try out the engine and maybe even try porting a small side-project to see how the process goes. -During the alphas we introduced a Godot 3 to 4 project upgrader tool which is now available in the Project Manager. Please try it out and report back any issues you face. +During the alphas we introduced a Godot 3 to 4 project upgrader tool which is now available in the Project Manager. Please try it out and report back any issues you face. -As always, if you plan on upgrading your project, please make a backup copy of your project before you attempt the upgrade. We don’t anticipate that anything will break your project, but it pays to be safe. +As always, if you plan on upgrading your project, please make a backup copy of your project before you attempt the upgrade. We don’t anticipate that anything will break your project, but it pays to be safe. ## Downloads {#downloads} @@ -260,7 +260,7 @@ The downloads for this beta can be found directly on our repository: ## Known issues {#known-issues} -As this is the first beta we anticipate that there will be many bugs. +As this is the first beta we anticipate that there will be many bugs. See the Github issue tracker for a [list of bugs in the 4.0 milestone](https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+milestone%3A4.0+label%3Abug+). Some noteworthy issues you might run into in this beta 1: @@ -280,4 +280,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors in their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thank you to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-10.md b/collections/_article/dev-snapshot-godot-4-0-beta-10.md index 5188aac6c0..c8e43af04e 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-10.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-10.md @@ -58,7 +58,7 @@ Some of the most notables feature changes in this update are: - Input: Include the follow-viewport-transform into `CanvasLayer` transform calculations ([GH-59682](https://github.com/godotengine/godot/pull/59682)). - Navigation: Add signal to NavigationAgent when entering a link ([GH-67111](https://github.com/godotengine/godot/pull/67111)). - Navigation: Change `GridMap` `navigation_layers` to per `mesh_library` item ([GH-69351](https://github.com/godotengine/godot/pull/69351)). -- Navigation: Use `TileSet` navigation layer layers when `TileMap` generates navigation polygons +- Navigation: Use `TileSet` navigation layer layers when `TileMap` generates navigation polygons ([GH-69349](https://github.com/godotengine/godot/pull/69349)). - Navigation: Stop `NavigationAgents` without a target from moving to world origin ([GH-69688](https://github.com/godotengine/godot/pull/69688)). - Navigation: Fix typo and ensure backwards compatibility for changed property names ([GH-70244](https://github.com/godotengine/godot/pull/70244)). @@ -96,4 +96,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-2.md b/collections/_article/dev-snapshot-godot-4-0-beta-2.md index 51434cdc43..74f7499e36 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-2.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-2.md @@ -4,7 +4,7 @@ excerpt: "We released Godot 4.0 beta 1 two weeks ago! That was a big milestone o categories: ["pre-release"] author: Rémi Verschelde image: ["/storage/app/uploads/public/633/69f/d37/63369fd37cc17811993052.jpg"] -image_caption_title: Penitent +image_caption_title: Penitent image_caption_description: A game by devmar date: 2022-09-29 18:20:56 --- @@ -167,4 +167,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-3.md b/collections/_article/dev-snapshot-godot-4-0-beta-3.md index 537b6a4cce..5cfc418910 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-3.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-3.md @@ -148,4 +148,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-4.md b/collections/_article/dev-snapshot-godot-4-0-beta-4.md index 743892dcf1..e3b56404bb 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-4.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-4.md @@ -84,4 +84,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-5.md b/collections/_article/dev-snapshot-godot-4-0-beta-5.md index 3f7fbbc38f..a26086896a 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-5.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-5.md @@ -113,4 +113,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-6.md b/collections/_article/dev-snapshot-godot-4-0-beta-6.md index 1cc3ad364d..4e4521df09 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-6.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-6.md @@ -78,4 +78,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-7.md b/collections/_article/dev-snapshot-godot-4-0-beta-7.md index a33019b323..8b341d7d77 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-7.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-7.md @@ -4,7 +4,7 @@ excerpt: "Another weekly beta snapshot on the road to Godot 4.0! Includes Androi categories: ["pre-release"] author: Rémi Verschelde image: /storage/app/uploads/public/638/8d9/a60/6388d9a60ac95864295672.jpg -image_caption_title: Disinfection +image_caption_title: Disinfection image_caption_description: A game by Evil Turtle Productions date: 2022-12-01 16:47:59 --- @@ -79,4 +79,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-8.md b/collections/_article/dev-snapshot-godot-4-0-beta-8.md index 611ac42ecc..1aae43632e 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-8.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-8.md @@ -4,7 +4,7 @@ excerpt: "Another weekly beta snapshot for Godot 4.0! And on a Friday, because t categories: ["pre-release"] author: Rémi Verschelde image: /storage/app/uploads/public/639/34f/741/63934f741900a568331508.jpg -image_caption_title: Sandfire +image_caption_title: Sandfire image_caption_description: A game by Kmitt date: 2022-12-09 16:04:53 --- @@ -95,4 +95,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dev-snapshot-godot-4-0-beta-9.md b/collections/_article/dev-snapshot-godot-4-0-beta-9.md index c9f285d0a6..e42a585611 100644 --- a/collections/_article/dev-snapshot-godot-4-0-beta-9.md +++ b/collections/_article/dev-snapshot-godot-4-0-beta-9.md @@ -98,4 +98,4 @@ As in any major release there are going to be compatibility breaking changes. Ho Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to [donations from the Godot community](https://godotengine.org/donate). A big thankyou to everyone who has contributed [their time](https://github.com/godotengine/godot/blob/master/AUTHORS.md) or [financial support](https://github.com/godotengine/godot/blob/master/DONORS.md) to the project! -If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). \ No newline at end of file +If you'd like to support the project financially and help us secure our future hires, you can do so on [Patreon](https://www.patreon.com/godotengine) or [PayPal](https://godotengine.org/donate). diff --git a/collections/_article/dlscript-here.md b/collections/_article/dlscript-here.md index 8a7ea0ee96..ee6d824c0e 100644 --- a/collections/_article/dlscript-here.md +++ b/collections/_article/dlscript-here.md @@ -40,7 +40,7 @@ You can call GDScript functions from a Native script and vice versa. When C# wil I want to keep this section short. A Native script is not a module. Modules have access to all the C++ classes available in Godot and can extend engine functionality. -You want a different renderer? Module. You want to add networking capabilities to all nodes ([*ahem*](/article/godots-new-high-level-networking-preview))? Modules. +You want a different renderer? Module. You want to add networking capabilities to all nodes ([*ahem*](/article/godots-new-high-level-networking-preview))? Modules. "A Native script", as in "a script you're writing", is just a script, just like a GDScript file, so it doesn't have access to those classes, it also can't extend engine functionality. But it has access to the whole script API (aka the class API you know from the [docs](http://docs.godotengine.org/en/latest/classes/)). @@ -186,4 +186,4 @@ I'll write documentation for the C++ bindings. I'll also write documentation for I also mentioned that the GDNative module still needs some work. For example in-editor initialization of libraries is currently disabled. This feature is required to have exported properties and signals. This doesn't really make sense without proper reloading of libraries. This is on my TODO list, but everyone is welcome to help with that task. If you're interested, message me (*karroffel*) on IRC or Discord. -Thanks for reading this and happy waiting for Godot! \ No newline at end of file +Thanks for reading this and happy waiting for Godot! diff --git a/collections/_article/donation-changes.md b/collections/_article/donation-changes.md index d2a3f5b91d..29309b4862 100644 --- a/collections/_article/donation-changes.md +++ b/collections/_article/donation-changes.md @@ -52,7 +52,7 @@ Here is our new list of tiers: * $26 - Ability to submit questions or topics to discuss to a monthly Live Q&A * $48 - Mini Sponsor: Name on godotengine.org/donate page and in Godot's About dialog * $99 - Bronze Sponsor: Name and URL to your site in godotengine.org/donate page and in Godot's About dialog - + **Important**: We removed the $18 and $32 tiers to simplify the lineup, but this means that current patrons at those tiers will be switched to a "No reward" status by Patreon. We encourage patrons at those tiers to update the pledge whenever they see fit to ensure that they select one of the above pledge levels (e.g. $14, $26 or $48). See how to update your Patreon membership. If you have ideas and feedback of perks and rewards you think could be good for us to offer, please let us know. @@ -70,7 +70,7 @@ Corporate sponsoring categories will change as follows: * $500 - Silver Sponsor: Small logo on homepage and name + URL in Godot's About dialog * $1500 - Gold Sponsor (outside Patreon, min. 6 months invoice): Small logo (icon size) on splash screen, medium logo on homepage * $3000 - Platinum Sponsor (outside Patreon, min. 6 months invoice): Logo + name on splash screen (like now), big logo on homepage - + ## Combined funding sources We constantly get requests to use alternative funding sources to Patreon and to show our total donation/grant income combined on the Godot website. This requires a significant amount of work and it will be among our priorities when we can hire someone to do this website work (let's hope soon) - in the meantime, Rémi will put together a simple overview and update it regularly to provide more transparency on our budget and current hires. @@ -81,4 +81,4 @@ We'll work on a visualization that properly reflects the different natures of ou Finally, thanks so much to all of you, current, former, and [future patrons](https://www.patreon.com/godotengine), for your amazing support. When we joined Patreon three years ago, we never imagined reaching such a high level of funding in support of such a rapidly growing project! -Godot is developed by more than a thousand contributors, and coordinating this massive community requires a full-time involvement of several of us (and hopefully soon even more full-timers), which your generosity enables. \ No newline at end of file +Godot is developed by more than a thousand contributors, and coordinating this massive community requires a full-time involvement of several of us (and hopefully soon even more full-timers), which your generosity enables. diff --git a/collections/_article/dtls-report-1.md b/collections/_article/dtls-report-1.md index e293709c5d..8dfd919aa0 100644 --- a/collections/_article/dtls-report-1.md +++ b/collections/_article/dtls-report-1.md @@ -97,4 +97,4 @@ References [Small project to demo/test the work done so far](https://github.com/Faless/gd-udp-dtls-example) -[Wiki on amplification attacks](https://en.wikipedia.org/wiki/Denial-of-service_attack#Amplification) \ No newline at end of file +[Wiki on amplification attacks](https://en.wikipedia.org/wiki/Denial-of-service_attack#Amplification) diff --git a/collections/_article/editor-improvements-godot-40.md b/collections/_article/editor-improvements-godot-40.md index e6aa380793..334441173a 100644 --- a/collections/_article/editor-improvements-godot-40.md +++ b/collections/_article/editor-improvements-godot-40.md @@ -77,7 +77,7 @@ In the new importer, this process is done via manual steps, so the user has more ![importer_assets.jpeg](/storage/app/uploads/public/606/23a/e6d/60623ae6de535875757353.jpeg) -As a result, it's more obvious where everything goes and what's happening during the import process. +As a result, it's more obvious where everything goes and what's happening during the import process. The new system also solves the problem of assigning external materials to replace the ones in the imported file in a very elegant way, allowing to either make the materials that come with the asset external, or just replace them by existing external ones. @@ -97,6 +97,6 @@ This results in a performance improvement of over ten times (if you have a moder ### Future -With the editor work done, I will now go back to working on rendering for the next month to finalize the missing bits and pieces pending in my TODO list. Afterwards, it will be time to start working towards our first Godot 4.0 alpha! And again, remember we do this out of love for you and the game development community so you can have the best possible engine we can make with the same freedom as if you made it yourself. +With the editor work done, I will now go back to working on rendering for the next month to finalize the missing bits and pieces pending in my TODO list. Afterwards, it will be time to start working towards our first Godot 4.0 alpha! And again, remember we do this out of love for you and the game development community so you can have the best possible engine we can make with the same freedom as if you made it yourself. -If you are not, please consider [becoming our patron](https://www.patreon.com/godotengine)! \ No newline at end of file +If you are not, please consider [becoming our patron](https://www.patreon.com/godotengine)! diff --git a/collections/_article/emulating-double-precision-gpu-render-large-worlds.md b/collections/_article/emulating-double-precision-gpu-render-large-worlds.md index 22572616fe..437f08ae3d 100644 --- a/collections/_article/emulating-double-precision-gpu-render-large-worlds.md +++ b/collections/_article/emulating-double-precision-gpu-render-large-worlds.md @@ -11,9 +11,9 @@ One of the problems with developing games with large game worlds is that objects ### The Problem -By default Godot uses single-precision floating point numbers to store things like object positions. While GDScript typically allows users to do user-space calculations with double precision, those calculations get truncated as soon as they are stored in Godot internal objects (like Vector3’s). +By default Godot uses single-precision floating point numbers to store things like object positions. While GDScript typically allows users to do user-space calculations with double precision, those calculations get truncated as soon as they are stored in Godot internal objects (like Vector3’s). -This has been a problem for users who want to do things like make games that take place in a to-scale solar system. Users quickly hit floating point precision errors and noticed that movement becomes jittery and objects become scattered. +This has been a problem for users who want to do things like make games that take place in a to-scale solar system. Users quickly hit floating point precision errors and noticed that movement becomes jittery and objects become scattered. As an example, take a look at this simple scene, we have a bunch of Godot's scattered randomly and a person running back and forth across the screen. @@ -35,15 +35,15 @@ Close to the scene origin this looks totally fine, but once we move this same sc I said above that the problem came from using single-precision in Godot’s internal classes, so the solution should be to use double precision instead. Right? -In Godot 4.0 we introduced the ability to compile the engine with double precision floats instead so that all these calculations happen with much higher precision. +In Godot 4.0 we introduced the ability to compile the engine with double precision floats instead so that all these calculations happen with much higher precision. -Let’s switch to a doubles build and see what happens to our scene. +Let’s switch to a doubles build and see what happens to our scene. -Despite all our calculations using fancy double-precision floats, this looks the exact same. What is going on? +Despite all our calculations using fancy double-precision floats, this looks the exact same. What is going on? What is happening here is that the positions are being downcast into single-precision floats before being sent to the GPU for rendering. So on the GPU we are still using single-precision and the end result as far as rendering goes is the same as if we were using single-precision. @@ -59,29 +59,29 @@ As a reminder, the ``MODELVIEW_MATRIX`` combines two operations: 1. The transformation from object space to world space, and 2. The transformation from world space to camera space -Both of these operations need double precision because we are using a large world. We don’t need double precision in object space or camera space because our models are not large and nothing is very far from the camera. The rest of the shader is in camera space, so we don’t need the extra precision. +Both of these operations need double precision because we are using a large world. We don’t need double precision in object space or camera space because our models are not large and nothing is very far from the camera. The rest of the shader is in camera space, so we don’t need the extra precision. -The ``MODELVIEW_MATRIX`` is assembled in the vertex shader by combining the object’s ``MODEL_MATRIX`` and the camera’s ``VIEW_MATRIX``. +The ``MODELVIEW_MATRIX`` is assembled in the vertex shader by combining the object’s ``MODEL_MATRIX`` and the camera’s ``VIEW_MATRIX``. ***Can we get away with just passing those two matrices in as doubles?*** **NO** -For starters, Metal (the graphics API used on all Apple devices) doesn’t support using doubles in shaders, so this wouldn’t work on Apple devices. +For starters, Metal (the graphics API used on all Apple devices) doesn’t support using doubles in shaders, so this wouldn’t work on Apple devices. ***How about we just don’t support this on Apple devices?*** **NO** -Many non-Apple devices still struggle with double precision on the GPU. For example, when running on the Intel integrated graphics GPU on my laptop, Godot crashes whenever a shader using double precision is used. +Many non-Apple devices still struggle with double precision on the GPU. For example, when running on the Intel integrated graphics GPU on my laptop, Godot crashes whenever a shader using double precision is used. ***Okay, how about we restrict this to dedicated GPUs only?*** **NO** -Restricting this feature to dedicated GPUs is not suitable as it leaves our user base in a lurch. Typical Godot users want to create a game on their hardware and trust that the game will work on most devices. We try to avoid features that come with a long list of exceptions. Further, we would also end up adding significant complexibility to user-space shaders. Users would have to reason about whether the built-in ``MODEL_MATRIX`` and ``VIEW_MATRIX`` are exposed as doubles or floats. +Restricting this feature to dedicated GPUs is not suitable as it leaves our user base in a lurch. Typical Godot users want to create a game on their hardware and trust that the game will work on most devices. We try to avoid features that come with a long list of exceptions. Further, we would also end up adding significant complexibility to user-space shaders. Users would have to reason about whether the built-in ``MODEL_MATRIX`` and ``VIEW_MATRIX`` are exposed as doubles or floats. -In developing Godot we aim for a user experience where things “just work”. At times this involves making difficult judgment calls with respect to performance/usability tradeoffs. This was a case where we just can’t accept a tradeoff that leaves the feature useless to a significant portion of users. +In developing Godot we aim for a user experience where things “just work”. At times this involves making difficult judgment calls with respect to performance/usability tradeoffs. This was a case where we just can’t accept a tradeoff that leaves the feature useless to a significant portion of users. So in the end, we can't simply "turn" on doubles and have everything magically work. But perhaps we can still get things to "just work" another way. @@ -91,7 +91,7 @@ The solution we ultimately went with was Juan’s (reduz) idea. He noted that: 1. We don’t need doubles to do an operation with high precision, instead we can emulate double precision using two-single precision floating point numbers, and 2. We don’t have to calculate the full ``MODELVIEW_MATRIX`` in double precision, we can separate out the rotation/scale transform from the translation transform and only do the translation in double precision. -[Smarter people](http://andrewthall.org/papers/df64_qf128.pdf) than me have already worked out how to do many ordinary operations in near double precision using just a pair of single precision floats. The same basic trick can even be used to create arbitrary precision out of floats or doubles. For example, libraries like [LibQuadMath](https://github.com/gcc-mirror/gcc/tree/master/libquadmath) emulate 128 bits of precision using two doubles. +[Smarter people](http://andrewthall.org/papers/df64_qf128.pdf) than me have already worked out how to do many ordinary operations in near double precision using just a pair of single precision floats. The same basic trick can even be used to create arbitrary precision out of floats or doubles. For example, libraries like [LibQuadMath](https://github.com/gcc-mirror/gcc/tree/master/libquadmath) emulate 128 bits of precision using two doubles. ***So how does it work?*** @@ -102,14 +102,14 @@ First, outside of the shader we split the double into two floats like so: float some_float1 = float(some_double); // This truncates the double to the nearest float. // The second float is the difference between double and the truncated value. -float some_float2 = float(some_double - double(some_float1)); +float some_float2 = float(some_double - double(some_float1)); ``` This relies on the fact that doubles are a superset of floats. I.e. all floats can be converted to doubles without losing precision. Because the second float is much closer to 0, it has way more precision than the first float and together they are pretty close to the original double. -Since we only need this for the translation operation, we just have to pass in an extra ``Vector3`` with the camera matrix and an extra ``Vector3`` with the model matrix. Then, when doing the model to camera space transformation instead of calculating the ``MODELVIEW_MATRIX``, we separate the transformation into individual components and do the rotation/scale separately from the translation. +Since we only need this for the translation operation, we just have to pass in an extra ``Vector3`` with the camera matrix and an extra ``Vector3`` with the model matrix. Then, when doing the model to camera space transformation instead of calculating the ``MODELVIEW_MATRIX``, we separate the transformation into individual components and do the rotation/scale separately from the translation. -With this added, the scene looks the same as it did at the world origin. +With this added, the scene looks the same as it did at the world origin. ### Access nodes by unique names @@ -82,7 +82,7 @@ Godot 3.5 adds the concept of "scene unique names" for nodes to help with the co + ### New flow containers @@ -130,7 +130,7 @@ With [helpful input](https://github.com/godotengine/godot/pull/55604#issuecommen ### Material Overlay -[fbcosentino](https://github.com/fbcosentino) has worked hard to add the new `material_overlay` property to `MeshInstance`s in both 3.5 and 4.0 simultaneously. The `material_overlay` property allows you to assign a material that will be used to render all surfaces of the mesh again with that material. It functions the same as the `next_pass` material in a `SpatialMaterial`, but it applies to all surfaces of a mesh instead of only the surface to which the `SpatialMaterial` is applied. +[fbcosentino](https://github.com/fbcosentino) has worked hard to add the new `material_overlay` property to `MeshInstance`s in both 3.5 and 4.0 simultaneously. The `material_overlay` property allows you to assign a material that will be used to render all surfaces of the mesh again with that material. It functions the same as the `next_pass` material in a `SpatialMaterial`, but it applies to all surfaces of a mesh instead of only the surface to which the `SpatialMaterial` is applied. To illustrate, here is the same material applied to our dear enemy with the three different locations: @@ -191,4 +191,4 @@ As a community effort, Godot relies on individual contributors to improve. In ad Last but not least, making games with Godot and crediting the engine goes a long way to help raise its popularity, and thus the number of active contributors who make it better on a daily basis. Remember, we are all in this together and Godot requires community support in every area in order to thrive. -[Now go and have fun with 3.5!](/download) \ No newline at end of file +[Now go and have fun with 3.5!](/download) diff --git a/collections/_article/godot-3-capitole-du-libre-2017.md b/collections/_article/godot-3-capitole-du-libre-2017.md index b238cafec1..6e5e5a3f4b 100644 --- a/collections/_article/godot-3-capitole-du-libre-2017.md +++ b/collections/_article/godot-3-capitole-du-libre-2017.md @@ -22,4 +22,4 @@ The presentation itself is made in Godot. It's going to be open source and avail The event is **completely free to attend**. There will be a lot of developers, artists and FOSS game creation enthusiasts. If you want to meet, feel free to ping us on social media. We hope to see you there! -In the meantime, have a pleasant day. \ No newline at end of file +In the meantime, have a pleasant day. diff --git a/collections/_article/godot-3-capitole-du-libre.md b/collections/_article/godot-3-capitole-du-libre.md index 0bccb33859..219ee39f5c 100644 --- a/collections/_article/godot-3-capitole-du-libre.md +++ b/collections/_article/godot-3-capitole-du-libre.md @@ -1,6 +1,6 @@ --- title: "Godot 3 at the Capitole du libre" -excerpt: "We met with Julian and Gilles at the Capitole du Libre 2017 in Toulouse. It's one of the largest French events dedicated to Free Software. +excerpt: "We met with Julian and Gilles at the Capitole du Libre 2017 in Toulouse. It's one of the largest French events dedicated to Free Software. We went there to showcase Godot 3 and try to introduce new users to it. Here's our report, with a bonus presentation." categories: ["events"] author: Nathan GDQuest @@ -8,7 +8,7 @@ image: /storage/app/uploads/public/5a2/678/7be/5a26787bebf13417068091.jpg date: 2017-12-05 12:00:00 --- -We gathered with [Julian](https://github.com/StraToN) and [Gilles](https://github.com/groud) at the [Capitole du Libre 2017](https://2017.capitoledulibre.org/) in Toulouse. It's one of the largest French events dedicated to Free Software. We went there to showcase Godot 3 and try to introduce new users to it. Here's our event report. +We gathered with [Julian](https://github.com/StraToN) and [Gilles](https://github.com/groud) at the [Capitole du Libre 2017](https://2017.capitoledulibre.org/) in Toulouse. It's one of the largest French events dedicated to Free Software. We went there to showcase Godot 3 and try to introduce new users to it. Here's our event report. Passing the word to Gilles Roudière himself. @@ -16,7 +16,7 @@ Passing the word to Gilles Roudière himself. Julian (*StraToN*) and I (Gilles a.k.a. *Groud*) spent most of our time at the Godot stand. We used Fracteed's demo to showcase the engine, along with Zylann's Wallrider. -We met a lot of friendly people interested in Godot. Enthusiasts, hobbyists, and even some Unity users looking for an alterative to their game engine! +We met a lot of friendly people interested in Godot. Enthusiasts, hobbyists, and even some Unity users looking for an alterative to their game engine! More importantly, we met people who are deeply involved into the game developpment community. Especially those from the Toulouse Game Dev association, which regroups both hobbyists and professional game developers in Toulouse. They even asked us to organize a presentation of the engine. Besides, we managed to sell some shirts, bringing 152€ to the project. @@ -64,4 +64,4 @@ The presentation was met with relative success. It's available in French and Eng ![GDQuest giving the Godot 3 presentation at E-artsup Lyon, a game creation/art school](/storage/app/uploads/public/5a2/673/8a3/5a26738a31155771786730.jpg) -You're welcome to use, customize, or even to re-distribute it to your heart's content. You're also more than welcome to make it available in more languages! Luiz Gustavo is already at work on a Portuguese version. \ No newline at end of file +You're welcome to use, customize, or even to re-distribute it to your heart's content. You're also more than welcome to make it available in more languages! Luiz Gustavo is already at work on a Portuguese version. diff --git a/collections/_article/godot-3-renderer-design-explained.md b/collections/_article/godot-3-renderer-design-explained.md index 392f9a7f21..4598daf02a 100644 --- a/collections/_article/godot-3-renderer-design-explained.md +++ b/collections/_article/godot-3-renderer-design-explained.md @@ -101,7 +101,7 @@ Added to that, several elements make shaders in Godot easy and a joy to write: * Descriptive error reporting (not just generic errors on a given line like in other popular game engines..). * Ability to bundle shaders inside materials. * Ability to convert a Spatial Shader (or Shader Graph) to code in a single click, to customize it or learn how it works. - + Shaders are, then, translated to native language (real GLSL) and fitted inside the engine's main shader. This approach also has several more advantages. Given the high control we have over the shader compiler, we can: @@ -113,11 +113,11 @@ This approach also has several more advantages. Given the high control we have o * Detect when shaders modify a vertex offset or use "discard". If none of this happens, we can use a generic opaque material for depth prepass or shadow passes. This reduces state changes hugely and speeds up depth rendering. And all the above happens transparently to the user! With Godot 3, we expect far more users will be writing shader code in proportion to other game engines given how easy it is. - - + + ## Rendering design -For Godot 3, after long discussions, we decided that we won't use a deferred renderer. Forward rendering-based optimizations for high amount of lights are now mature and well tested in production. This also makes Godot depart from the way that popular game engines set to follow many years ago. +For Godot 3, after long discussions, we decided that we won't use a deferred renderer. Forward rendering-based optimizations for high amount of lights are now mature and well tested in production. This also makes Godot depart from the way that popular game engines set to follow many years ago. The most obvious advantages of leaving deferred rendering are: @@ -138,7 +138,7 @@ Then there are also less obvious advantages, but which are high priority for us: The main disadvantages are: * A very high number of lights is still expensive, though it can be worked around using additive blending for very far/small ones. -* Custom light code, per light, is not possible. +* Custom light code, per light, is not possible. * Light types are more limited. #### On temporal antialiasing @@ -163,7 +163,7 @@ Balancing pros and cons, it's probably not worth implementing it, but the door i Godot uses the following framebuffer layout: -For MSAA rendering: +For MSAA rendering: | Depth | R | G | B | A | |------------|-----------------------|-------------------------|------------------------|---------------| @@ -219,7 +219,7 @@ Up to this point, keep in mind that only diffuse + ambient light has been resolv ###### 7. Perform Subsurface Scattering -A separable convolution is performed to blur the diffuse + ambient buffers, using the Subsurface Scattering buffer as reference of where this effect is applied. This effect looks correct in Godot, given it must only be applied to diffuse and ambient light. +A separable convolution is performed to blur the diffuse + ambient buffers, using the Subsurface Scattering buffer as reference of where this effect is applied. This effect looks correct in Godot, given it must only be applied to diffuse and ambient light. Again, keep in mind that only diffuse + ambient light has been resolved here. @@ -286,7 +286,7 @@ In a single, final compositing stage, the following happens: * Linear->SRGB conversion * Final adjustments (BCS, color correction, etc.) -And that's it! +And that's it! ![](/storage/app/media/devlog/rendering/final_quality.jpg) @@ -395,4 +395,4 @@ For Godot, we aimed to have a really simple 3D renderer (all the above, shaders If you are a render engineer, feel free to take any ideas you have read from here for your own renderers (in fact, feel free to take any code, as Godot is MIT licensed). -Thanks for reading, and any feedback is very welcome! \ No newline at end of file +Thanks for reading, and any feedback is very welcome! diff --git a/collections/_article/godot-3-vr-and-ar-support.md b/collections/_article/godot-3-vr-and-ar-support.md index 17c65e3e7a..8ce5f9a03f 100644 --- a/collections/_article/godot-3-vr-and-ar-support.md +++ b/collections/_article/godot-3-vr-and-ar-support.md @@ -85,7 +85,7 @@ The module we are building for Godot is still very experimental and incomplete b ### ARKit -Godot fully supports ARKit but it is unlikely to be added into the core any time soon. The biggest issue holding us back with ARKit is Apple's requirement to compile the source code against iOS 11 and that means dropping support for the iPhone 5. Also Apple does not allow dynamic libraries being deployed over the AppStore, removing GDNative as an option (though potential workarounds for this are being discussed). +Godot fully supports ARKit but it is unlikely to be added into the core any time soon. The biggest issue holding us back with ARKit is Apple's requirement to compile the source code against iOS 11 and that means dropping support for the iPhone 5. Also Apple does not allow dynamic libraries being deployed over the AppStore, removing GDNative as an option (though potential workarounds for this are being discussed). If you want to give ARKit a try the only option is to compile Godot yourself. You can locally merge the [pull request](https://github.com/godotengine/godot/pull/9967) with the ARKit implementation, or simply clone the [ARKit branch](https://github.com/BastiaanOlij/godot/tree/arkit) on my GitHub fork. @@ -95,4 +95,4 @@ The interfaces discussed above are the ones in development or finished at this t Anyone wanting to give us a hand testing or developing interfaces can find us on the IRC channel #godotengine-vr on Freenode (#vr:godotengine.org on Matrix). I can usually be found there a few days a week at night or in the weekend, but do note I'm in Australia. -Finally, I have taken the lead on this project but the list of people who have helped out by testing, bugfixing, lending out hardware, discussing code, etc. is long. So thanks, loads of thanks, to all involved! \ No newline at end of file +Finally, I have taken the lead on this project but the list of people who have helped out by testing, bugfixing, lending out hardware, discussing code, etc. is long. So thanks, loads of thanks, to all involved! diff --git a/collections/_article/godot-30-new-internals-progress-report-4.md b/collections/_article/godot-30-new-internals-progress-report-4.md index 1e39b8b956..fe7f7179e7 100644 --- a/collections/_article/godot-30-new-internals-progress-report-4.md +++ b/collections/_article/godot-30-new-internals-progress-report-4.md @@ -7,9 +7,9 @@ image: /storage/app/uploads/public/589/720/444/5897204442764550068699.png date: 2017-02-04 00:00:00 --- -First of all, apologies for not being able to show flashy stuff this month! January was spent mostly updating Godot internals and breaking compatibility, now that we have the chance. +First of all, apologies for not being able to show flashy stuff this month! January was spent mostly updating Godot internals and breaking compatibility, now that we have the chance. -Most of the internal code in Godot was written over a decade ago, and many design decisions that were taken back then, did not stand the test of time. Nothing serious in general, just stuff that was either incorrect or overdesigned. +Most of the internal code in Godot was written over a decade ago, and many design decisions that were taken back then, did not stand the test of time. Nothing serious in general, just stuff that was either incorrect or overdesigned. The result of this work has been mostly a lot of simplification in the internals, resulting in more performance and more readable code. @@ -20,7 +20,7 @@ We also took the chance to rewrite key parts of Godot, which were considerably o While the 3.0 work was carried in the *gles3* branch, Rémi Verschelde and other main devs kept working on the *master* branch, cleaning up the repo and reorganizing third party libraries into a more maintainable form. -At the begining of January, the *gles3* branch was merged to *master*, which resulted in a pretty unusable repository. +At the begining of January, the *gles3* branch was merged to *master*, which resulted in a pretty unusable repository. This signalled the start of the process where all features that could not be implemented in previous versions, due to requiring breaking compatibility, could finally be implemented. @@ -95,7 +95,7 @@ In Godot 3.0, most API access is done via properties: ![](/storage/app/media/devlog/progress4/progress-4-4.jpg) This simplifies code a lot, as well as making the documentation easier to read. - + ![](/storage/app/media/devlog/progress4/progress-4-5.jpg) ##### Syntax sugar for get_node() @@ -177,7 +177,7 @@ Godot 2.x used a separate concept for _Samples_ and _Streams_. Godot 3.0 simplif * .ogg files are small in both disk and memory, but expensive to reproduce and very expensive to resample (change pitch). * .wav files as PCM take up a lot of disk and RAM, but are cheap to reproduce (in the hundreds simuntaneous streams), can be seeked and played in reverse. * .wav files as IMA-ADPCM are in the middle of .ogg and PCM: they take up to 4 times less space than PCM, are also cheap to reproduce, but cannot be seeked. - + ##### Playback Only 3 nodes are needed to play back audio: @@ -225,4 +225,4 @@ With this, the large bulk of changes required for breaking compatibility are mos ## Seeing the code -If you are interested in seeing what each feature looks like in the code, you can check the [master](https://github.com/godotengine/godot/commits/master) branch on GitHub. \ No newline at end of file +If you are interested in seeing what each feature looks like in the code, you can check the [master](https://github.com/godotengine/godot/commits/master) branch on GitHub. diff --git a/collections/_article/godot-30-new-progress-report-and-gdc.md b/collections/_article/godot-30-new-progress-report-and-gdc.md index 8575f8c870..51b67a6865 100644 --- a/collections/_article/godot-30-new-progress-report-and-gdc.md +++ b/collections/_article/godot-30-new-progress-report-and-gdc.md @@ -77,4 +77,4 @@ All that remains now is to complete and fix the remaining and existing features ## Seeing the code -If you are interested in seeing what each feature looks like in the code, you can check the [master](https://github.com/godotengine/godot/commits/master) branch on GitHub. \ No newline at end of file +If you are interested in seeing what each feature looks like in the code, you can check the [master](https://github.com/godotengine/godot/commits/master) branch on GitHub. diff --git a/collections/_article/godot-30-progress-report-6.md b/collections/_article/godot-30-progress-report-6.md index 8476692dd0..0b60f52bfa 100644 --- a/collections/_article/godot-30-progress-report-6.md +++ b/collections/_article/godot-30-progress-report-6.md @@ -36,7 +36,7 @@ Godot 3.0 will come with a new particle system. As times change, the main differ You can have hundreds of thousands of particles on legacy CPUs or mobile.. or several million particles on modern desktop GPUs. ![](/storage/app/media/devlog/progress6/htparts.gif) - + ### Customization While we offer a default particles material (which is very powerful and customizable), it is possible to write your own particle logic entirely in a shader. It is also possible to convert a particle system to a shader and do further modifications to it by yourself, manually. @@ -55,16 +55,16 @@ The fact that so many particles can be used thanks to GPU processing allows for ![](/storage/app/media/devlog/progress6/part_trails.gif) -And finally, more powerful emission volumes can be provided such as box, sphere and mesh surface or volume. Mesh surfaces can also emit directed by normals: +And finally, more powerful emission volumes can be provided such as box, sphere and mesh surface or volume. Mesh surfaces can also emit directed by normals: ![](/storage/app/media/devlog/progress6/part_directed.gif) - + We wanted to include skeletal transform support to emission meshes, as it's not a lot more complex, but this will have to wait for 3.1 :( ## Godot 3.0 alpha -With this, all major funtionalities planned for 3.0 are implemented. We will be releasing an alpha build soon for everyone to start playing with them and finding bugs. Stay tuned! +With this, all major funtionalities planned for 3.0 are implemented. We will be releasing an alpha build soon for everyone to start playing with them and finding bugs. Stay tuned! ## Seeing the code -If you are interested in seeing what each feature looks like in the code, you can check the [master](https://github.com/godotengine/godot) branch on GitHub. \ No newline at end of file +If you are interested in seeing what each feature looks like in the code, you can check the [master](https://github.com/godotengine/godot) branch on GitHub. diff --git a/collections/_article/godot-30-switches-bullet-3-physics.md b/collections/_article/godot-30-switches-bullet-3-physics.md index 16082187f4..9681a3e8a5 100644 --- a/collections/_article/godot-30-switches-bullet-3-physics.md +++ b/collections/_article/godot-30-switches-bullet-3-physics.md @@ -19,7 +19,7 @@ Over time this became quite a hassle, because maintaining a physics engine and k ## Introducing Bullet -Godot always supported an abstract physics interface, so Andrea Catania (Odino) volunteered to add Bullet support as a backend. I initially though it would not be possible to replicate Godot's API in Bullet faithfully, but Andrea proved me wrong and did a fantastic job. He also finished before the Beta deadline, so his work was just merged and will be present in Godot 3.0. +Godot always supported an abstract physics interface, so Andrea Catania (Odino) volunteered to add Bullet support as a backend. I initially though it would not be possible to replicate Godot's API in Bullet faithfully, but Andrea proved me wrong and did a fantastic job. He also finished before the Beta deadline, so his work was just merged and will be present in Godot 3.0. Physics should work just like before, and no code should change, except Bullet is being used internally. Godot's old physics engine is provided for compatibility and can be selected in the project settings, but will likely be removed by the time 3.1 is out. @@ -31,4 +31,4 @@ This will be added after 3.0 is out, likely for 3.1. ## Will it work for 2D physics? -No. Godot 2D and 3D physics engines are separated. Our 2D physics also has considerably more customization code, such as one way collisions for both kinematic and rigid bodies. The 2D physics engine will likely remain custom and be improved after 3.0 is out. \ No newline at end of file +No. Godot 2D and 3D physics engines are separated. Our 2D physics also has considerably more customization code, such as one way collisions for both kinematic and rigid bodies. The 2D physics engine will likely remain custom and be improved after 3.0 is out. diff --git a/collections/_article/godot-31-will-get-many-improvements-kinematicbody.md b/collections/_article/godot-31-will-get-many-improvements-kinematicbody.md index 1caca3e47b..d653297eba 100644 --- a/collections/_article/godot-31-will-get-many-improvements-kinematicbody.md +++ b/collections/_article/godot-31-will-get-many-improvements-kinematicbody.md @@ -9,7 +9,7 @@ date: 2018-07-17 00:00:00 ## KinematicBody -One of the features that make Godot stand out is how easy it is to use the physics engine for non-physics games. +One of the features that make Godot stand out is how easy it is to use the physics engine for non-physics games. KinematicBody allows controlling a character entity around with a single function (`move_and_slide`). Simply pass a linear velocity, and it will be returned back adjusted while the player moves around the level. ``` @@ -26,7 +26,7 @@ After the call, detecting if a character is on floor can be done with a call to: ``` is_on_floor() -``` +``` Likewise for walls. This allows adjusting the player animation accordingly. Godot also detects if the floor below is moving, and it will adjust the character accordingly too. @@ -48,7 +48,7 @@ The snap argument is a simple vector pointing towards a direction and length (ho ``` # snap 32 pixels down -velocity = move_and_slide_with_snap(velocity, Vector2(0, -1), Vector2(0, 32)) +velocity = move_and_slide_with_snap(velocity, Vector2(0, -1), Vector2(0, 32)) ``` This works very well in practice: @@ -67,10 +67,10 @@ if is_on_floor() and Input.is_action_just_pressed("jump"): # can jump only when on floor velocity.y = -100 jumping = true - + # disable jumping when character is falling again if jumping and velocity.y > 0: - jumping = false + jumping = false # preset for snap, 32 pixels down var snap = Vector2(0, 32) @@ -78,13 +78,13 @@ var snap = Vector2(0, 32) # oh, but are we jumping? no snap then if jumping: snap = Vector2() - -velocity = move_and_slide_with_snap(velocity, Vector2(0, -1), snap) + +velocity = move_and_slide_with_snap(velocity, Vector2(0, -1), snap) ``` ## RayCast Shapes -Another common situation (when using `move_and_slide()`) is that the character incurs more effort going up slopes than it does going down. +Another common situation (when using `move_and_slide()`) is that the character incurs more effort going up slopes than it does going down. ![samp_snap.gif](/storage/app/uploads/public/5b4/ddd/89c/5b4ddd89cf5ab658278686.gif) @@ -113,7 +113,7 @@ As you can see in the picture above, the right slope is so steep that it hits th When a KinematicBody is moved around (be it using `move_and_slide`, or just moved around by modifying the `position`, `rotation`, etc. properties), it automatically computes its linear and angular velocity. This means that if either a box with physics (RigidBody) or a KinematicBody (that moves with `move_and_slide`) are standing over it, they will be moved along together. -This makes KinematicBody also very useful for moving platforms, elevators, scripted doors, etc. +This makes KinematicBody also very useful for moving platforms, elevators, scripted doors, etc. The main limitation until now is that, when used as moving platform, its motion was always a frame ahead than the physics, so the character appears to slowly slide over it: @@ -132,6 +132,6 @@ When enabled, objects will appear in sync with the KinematicBody: After these functions are well tested, they will be ported to the 3D engine, where they should work in the exact same way. -Once again, please remember that all this done with love for everyone. Our aim is to make a 100% free and open source game engine where the games you make with it are truly yours. +Once again, please remember that all this done with love for everyone. Our aim is to make a 100% free and open source game engine where the games you make with it are truly yours. -This progress is made possible thanks to the infinite generosity of our patrons. If you are not one yet, please consider [becoming our Patron](https://www.patreon.com/godotengine). This way, you don't need to be an expert engine programmer to aid with Godot development :) \ No newline at end of file +This progress is made possible thanks to the infinite generosity of our patrons. If you are not one yet, please consider [becoming our Patron](https://www.patreon.com/godotengine). This way, you don't need to be an expert engine programmer to aid with Godot development :) diff --git a/collections/_article/godot-32-will-allow-disabling-editor-features.md b/collections/_article/godot-32-will-allow-disabling-editor-features.md index 1a8855883a..9a0cc5fee9 100644 --- a/collections/_article/godot-32-will-allow-disabling-editor-features.md +++ b/collections/_article/godot-32-will-allow-disabling-editor-features.md @@ -41,9 +41,9 @@ There are two main use cases for this feature: #### Education -Besides being proposed by tutorial makers, this feature was suggested several times by professionals in education, who teach Godot at schools and universities. +Besides being proposed by tutorial makers, this feature was suggested several times by professionals in education, who teach Godot at schools and universities. -It allows students to use a simplified version of the editor which helps reduce confusion by focusing only on what needs to be taught. +It allows students to use a simplified version of the editor which helps reduce confusion by focusing only on what needs to be taught. The profile system for this feature can be used to set the progress of the course, by gradually enabling more functions as they are learned. @@ -63,4 +63,4 @@ With this feature, they can be simply disabled, adding a small usability boost. A comprehensive set of options is provided for this first version, but I'm sure that more (or more fine-grained) toggles will be requested at some point in time. The plan is to make this feature as useful as possible for the use cases mentioned above. -For the rest of this month, my personal focus will be to add simple (yet very requested) features for Godot 3.2. At the beginning of May, my full focus will switch to Vulkan support. As always, if you are not, please consider [becoming our patron](http://patreon.com/godotengine) to help speed up Godot development. Even a small amount helps us enormously :) \ No newline at end of file +For the rest of this month, my personal focus will be to add simple (yet very requested) features for Godot 3.2. At the beginning of May, my full focus will switch to Vulkan support. As always, if you are not, please consider [becoming our patron](http://patreon.com/godotengine) to help speed up Godot development. Even a small amount helps us enormously :) diff --git a/collections/_article/godot-32-will-get-new-audio-features.md b/collections/_article/godot-32-will-get-new-audio-features.md index 43d44e4e34..0340161be0 100644 --- a/collections/_article/godot-32-will-get-new-audio-features.md +++ b/collections/_article/godot-32-will-get-new-audio-features.md @@ -24,17 +24,17 @@ Here is some example code on how to fill the buffer with a sine wave: ``` func _fill_buffer(): - var increment = (1.0 / (hz / pulse_hz)) - + var increment = (1.0 / (hz / pulse_hz)) + var to_fill = playback.get_frames_available() while (to_fill > 0): - playback.push_frame( Vector2(1.0,1.0) * sin(phase * (PI * 2.0)) + playback.push_frame( Vector2(1.0,1.0) * sin(phase * (PI * 2.0)) phase = fmod((phase + increment), 1.0) to_fill-=1; ``` -Just call this function before AudioStreamPlayer.play() (to ensure buffer is full before playback begins), +Just call this function before AudioStreamPlayer.play() (to ensure buffer is full before playback begins), and then call it from _process(), to ensure it remains full. @@ -63,7 +63,7 @@ Here is a simple example for drawing a spectrum, using linear frequencies: ``` var w = WIDTH / VU_COUNT var prev_hz = 0 - for i in range(1,VU_COUNT+1): + for i in range(1,VU_COUNT+1): var hz = i * FREQ_MAX / VU_COUNT; var f = spectrum.get_magnitude_for_frequency_range(prev_hz,hz) var energy = clamp((MIN_DB + linear2db(f.length()))/MIN_DB,0,1) @@ -87,4 +87,4 @@ Example code for both projects can be found in the [demo repository](https://git I wanted to add a BPM detector for rhythm games, but all the open source code I found is GPL (incompatible with Godot MIT), so we will probably need to roll our own. I am too busy for this at the time, but if you want to help contribute to one, let me know (I can lend a hand explaining how it's done). -As mentioned before, this month I will be working in adding missing features for Godot 3.2. Next month I will start the Vulkan port. If you are not yet, please consider [becoming our patron](https://www.patreon.com/godotengine). It's easy, and you help the project enormously, even if just a small donation. \ No newline at end of file +As mentioned before, this month I will be working in adding missing features for Godot 3.2. Next month I will start the Vulkan port. If you are not yet, please consider [becoming our patron](https://www.patreon.com/godotengine). It's easy, and you help the project enormously, even if just a small donation. diff --git a/collections/_article/godot-32-will-get-pseudo-3d-support-2d-engine.md b/collections/_article/godot-32-will-get-pseudo-3d-support-2d-engine.md index 1d8f7fa136..5967518add 100644 --- a/collections/_article/godot-32-will-get-pseudo-3d-support-2d-engine.md +++ b/collections/_article/godot-32-will-get-pseudo-3d-support-2d-engine.md @@ -27,7 +27,7 @@ Godot 2D engine already has a node named [CanvasLayer](https://docs.godotengine. Using this node is a common practice to make user interfaces, because they won´t scroll together with the rest of the Viewport, as layers can move independently. -Yet, moving together with the viewport may actually be desired, so a new option was added: "Follow Viewport". Toggling it on will ensure that this layer will move together with the actual viewport when using a [Camera2D](https://docs.godotengine.org/en/3.1/classes/class_camera2d.html). +Yet, moving together with the viewport may actually be desired, so a new option was added: "Follow Viewport". Toggling it on will ensure that this layer will move together with the actual viewport when using a [Camera2D](https://docs.godotengine.org/en/3.1/classes/class_camera2d.html). ### Adding depth @@ -56,4 +56,4 @@ The main limitation of this technique is that it's not possible to move a single ### Future -This is an experimental feature, so don't forget to give feedback! Also, if you are not one, please consider [becoming our patron](https://www.patreon.com/godotengine), to help accelerate Godot development. \ No newline at end of file +This is an experimental feature, so don't forget to give feedback! Also, if you are not one, please consider [becoming our patron](https://www.patreon.com/godotengine), to help accelerate Godot development. diff --git a/collections/_article/godot-4-0-development-enters-feature-freeze.md b/collections/_article/godot-4-0-development-enters-feature-freeze.md index 8d4c04c5e7..cd0a764c61 100644 --- a/collections/_article/godot-4-0-development-enters-feature-freeze.md +++ b/collections/_article/godot-4-0-development-enters-feature-freeze.md @@ -35,4 +35,4 @@ Some work can still be permitted during the beta phase. Bigger features can stil If you want to contribute to the engine, now is a great time to do so! The faster we can fix the outstanding issues, the sooner everyone can enjoy a brand new iteration of Godot. You can start by reading our [guidelines for contributors](https://docs.godotengine.org/en/latest/community/contributing/index.html). Then look on GitHub for issues that [may be interesting to you](https://github.com/godotengine/godot/issues?q=is%3Aopen+is%3Aissue+milestone%3A4.0), try to reproduce them, and figure out a fix. -Thank you for your support! \ No newline at end of file +Thank you for your support! diff --git a/collections/_article/godot-4-will-discontinue-visual-scripting.md b/collections/_article/godot-4-will-discontinue-visual-scripting.md index e671a33307..52070ccc02 100644 --- a/collections/_article/godot-4-will-discontinue-visual-scripting.md +++ b/collections/_article/godot-4-will-discontinue-visual-scripting.md @@ -31,14 +31,14 @@ Unfortunately, VisualScript did not catch on. When trying to ask users why they Another likely reason for VisualScript's low popularity is that we failed to provide good documentation for using it. The official documentation has examples in GDScript and C#, but we never succeeded in including VisualScript examples due to technical reasons (we'd have to make screenshots of VS graphs for each example and maintaining them would prove very difficult). We had some demo projects, but that's not enough to let users become proficient with a language, even a visual one – and to learn Godot's API, they'd need to become familiar with GDScript or C# to understand the examples. -According to our most recent poll (with more than 5000 respondents), only 0.5% of the user base has used VisualScript as their main engine language. +According to our most recent poll (with more than 5000 respondents), only 0.5% of the user base has used VisualScript as their main engine language. ![Poll results showing the most used programming languages in Godot](/storage/app/uploads/public/630/526/086/630526086cf01605139233.png) ## No path forward -The contributor community did improvements to it, but for the most part these were mostly based on assumptions of what could be improved since, for pretty much all features we implement in Godot, we always get user feedback indicating us what needs to change, via issues or proposals. +The contributor community did improvements to it, but for the most part these were mostly based on assumptions of what could be improved since, for pretty much all features we implement in Godot, we always get user feedback indicating us what needs to change, via issues or proposals. VisualScript was the exception, we struggled to get enough feedback to improve it meaningfully. The conclusion we can draw from this is that there simply wasn't any path forward: the approach we took to visual scripting was simply not the right one. @@ -58,4 +58,4 @@ Godot development philosophy has shaped very strongly to focus on finding soluti There are some ideas floating around by contributors on implementing alternatives to do visual scripting, more similar to tools like Game Maker or GDevelop. Anything that is done will most likely still be an extension, as this provides more flexibility to experiment with quick feedback from users, and to provide lots of high level and even game-specific components without adding a significant maintainance burden on the core engine. -The VisualScript removal from the core engine will happen before Beta (which is now very close!). Even though it's gone, we are still thankful to all the effort that many contributors put on it over the past years to try to keep it alive, even if ultimately we were unable to make it user-friendly enough to attract user interest! \ No newline at end of file +The VisualScript removal from the core engine will happen before Beta (which is now very close!). Even though it's gone, we are still thankful to all the effort that many contributors put on it over the past years to try to keep it alive, even if ultimately we were unable to make it user-friendly enough to attract user interest! diff --git a/collections/_article/godot-40-gets-global-and-instance-shader-uniforms.md b/collections/_article/godot-40-gets-global-and-instance-shader-uniforms.md index 719830d0ad..5ce5bd1c24 100644 --- a/collections/_article/godot-40-gets-global-and-instance-shader-uniforms.md +++ b/collections/_article/godot-40-gets-global-and-instance-shader-uniforms.md @@ -98,7 +98,7 @@ Shooters often have what is called a *turbulence texture*, which is a texture th #### 4. Making regular materials interact with the environment -This is often very overlooked. We think materials are edited and that's it, but that's not always the case. Imagine it starts raining and you want your objects to become wet. You need to change the metallic and roughness factors. For floors you want to draw droplets splashing, for walls you want to draw the water pouring down. +This is often very overlooked. We think materials are edited and that's it, but that's not always the case. Imagine it starts raining and you want your objects to become wet. You need to change the metallic and roughness factors. For floors you want to draw droplets splashing, for walls you want to draw the water pouring down.
-{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/contact.html b/pages/contact.html index 31df2de75d..371359af4f 100644 --- a/pages/contact.html +++ b/pages/contact.html @@ -314,4 +314,4 @@ redirect_from:
  • 风青山 (Rindbee)
  • - \ No newline at end of file + diff --git a/pages/donate.html b/pages/donate.html index ef1438c546..abe8073f5c 100644 --- a/pages/donate.html +++ b/pages/donate.html @@ -73,4 +73,4 @@ layout: default -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/download.html b/pages/download.html index 126723b712..4fb1fe09a5 100644 --- a/pages/download.html +++ b/pages/download.html @@ -16,4 +16,4 @@ permalink: /download/index.html - \ No newline at end of file + diff --git a/pages/education.html b/pages/education.html index cdd2121d4e..e2650ac490 100644 --- a/pages/education.html +++ b/pages/education.html @@ -96,4 +96,4 @@ layout: default -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/events.html b/pages/events.html index b528d2ddc4..2dff64dcd4 100644 --- a/pages/events.html +++ b/pages/events.html @@ -841,4 +841,4 @@ description: "This page lists the upcoming and previous Godot community events." -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/features.html b/pages/features.html index e035d0c313..6baca753e1 100644 --- a/pages/features.html +++ b/pages/features.html @@ -306,4 +306,4 @@ layout: default -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/governance.html b/pages/governance.html index 459dde0c69..f785c6eeef 100644 --- a/pages/governance.html +++ b/pages/governance.html @@ -199,4 +199,4 @@ current_tab: "governance" contributions it receives from community members every day.

    - \ No newline at end of file + diff --git a/pages/home.html b/pages/home.html index 4d4078c74e..20ec0cbdbe 100644 --- a/pages/home.html +++ b/pages/home.html @@ -552,4 +552,4 @@ layout: default }); -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/license.html b/pages/license.html index 2d6214b66f..cc984019b8 100644 --- a/pages/license.html +++ b/pages/license.html @@ -101,4 +101,4 @@ current_tab: "license" components; in case of doubt, please refer to your lawyer.

    - \ No newline at end of file + diff --git a/pages/maintenance.html b/pages/maintenance.html index becedec287..a435d33bf4 100644 --- a/pages/maintenance.html +++ b/pages/maintenance.html @@ -34,4 +34,4 @@ permalink: /maintenance/index.html - \ No newline at end of file + diff --git a/pages/press.html b/pages/press.html index a009b54980..16cd051e99 100644 --- a/pages/press.html +++ b/pages/press.html @@ -249,4 +249,4 @@ layout: default godot-design repository on GitHub.

    -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/privacy-policy.html b/pages/privacy-policy.html index 939712350f..39fe444274 100644 --- a/pages/privacy-policy.html +++ b/pages/privacy-policy.html @@ -296,4 +296,4 @@ current_tab: "privacy-policy" href="https://wordpress.org/about/privacy">https://wordpress.org/about/privacy - \ No newline at end of file + diff --git a/pages/rss.xml b/pages/rss.xml index 26d55fe197..9e2150b771 100644 --- a/pages/rss.xml +++ b/pages/rss.xml @@ -22,4 +22,4 @@ permalink: /rss.xml {% endfor %} - \ No newline at end of file + diff --git a/pages/showcase.html b/pages/showcase.html index 77354ed07a..0ba3af54e8 100644 --- a/pages/showcase.html +++ b/pages/showcase.html @@ -124,4 +124,4 @@ layout: default -{% include footer.html %} \ No newline at end of file +{% include footer.html %} diff --git a/pages/teams.html b/pages/teams.html index 1cbe1427b7..6afa27b47c 100644 --- a/pages/teams.html +++ b/pages/teams.html @@ -572,4 +572,4 @@ current_tab: "teams" Yuri Sizov (@YuriSizov)

    - \ No newline at end of file + diff --git a/storage/app/media/gdquest/index.md b/storage/app/media/gdquest/index.md index 3a56c8239c..f5559b26a6 100644 --- a/storage/app/media/gdquest/index.md +++ b/storage/app/media/gdquest/index.md @@ -5,7 +5,7 @@ Hey there, I'm GDquest, a content creator. I make [game creation tutorials](http://gdquest.com/tutorial/) with open source technologies. The developers and I decided to collaborate to fund and produce the first game creation course for the upcoming Godot 3. A professional training costs a lot to make, and because of that it has to be crowdfunded. We asked you, the community, if you were interested, and the response was extremely positive! -So, it's happening. The project will be up **on Kickstarter next Monday, on May 22, at 12PM CEST!** +So, it's happening. The project will be up **on Kickstarter next Monday, on May 22, at 12PM CEST!** ## The course's content @@ -19,7 +19,7 @@ Once we reach the initial funding goal, you'll get **at least 40 exclusive tutor The series will revolve around a 2d Zelda-like, as the mechanics we'll look at are directly applicable to all kinds of games. But the goal is to teach you much more than that! It will give you a better understanding of the engine, of the game creation workflow, and how to write solid code! Fellow developers and teachers offered to give advice and share insights to elevate the content even more. -Oh, and as you might expect, the higher the funding, the more content you will get, regardless of your pledge. **Every single cent will be spent on the course**. +Oh, and as you might expect, the higher the funding, the more content you will get, regardless of your pledge. **Every single cent will be spent on the course**. ## 30 days tutorial challenge @@ -42,7 +42,7 @@ Crowdfunding, by essence, involves the community. It Cannot happen without you. The Kickstarter starts on Monday 22 at 12 PM CEST. -Subscribe on Gumroad below and get notified via email when the Kickstarter is up! +Subscribe on Gumroad below and get notified via email when the Kickstarter is up!
    diff --git a/storage/app/media/hacktoberfest/logo-hacktoberfest.svg b/storage/app/media/hacktoberfest/logo-hacktoberfest.svg index 67ec26e94d..7136d94fab 100644 --- a/storage/app/media/hacktoberfest/logo-hacktoberfest.svg +++ b/storage/app/media/hacktoberfest/logo-hacktoberfest.svg @@ -1 +1 @@ -logo \ No newline at end of file +logo diff --git a/storage/app/uploads/public/57e/f83/c4e/57ef83c4e718d700719754.svg b/storage/app/uploads/public/57e/f83/c4e/57ef83c4e718d700719754.svg index 67ec26e94d..7136d94fab 100644 --- a/storage/app/uploads/public/57e/f83/c4e/57ef83c4e718d700719754.svg +++ b/storage/app/uploads/public/57e/f83/c4e/57ef83c4e718d700719754.svg @@ -1 +1 @@ -logo \ No newline at end of file +logo diff --git a/storage/app/uploads/public/57f/218/5f6/57f2185f638af084238366.svg b/storage/app/uploads/public/57f/218/5f6/57f2185f638af084238366.svg index 1bc4d88325..50f34c6423 100644 --- a/storage/app/uploads/public/57f/218/5f6/57f2185f638af084238366.svg +++ b/storage/app/uploads/public/57f/218/5f6/57f2185f638af084238366.svg @@ -178,4 +178,4 @@ id="path3773" d="m 159.04549,38.037697 m 1.48103,-3.858002 a 4.132391,4.132391 0 1 1 -2.96208,0 l -2.7836,-7.253177 a 11.901286,11.901286 0 1 0 8.52928,0 z" inkscape:connector-curvature="0" - style="text-anchor:middle;display:inline;fill:#3fa652;stroke:#21552a;stroke-width:0.99177396;stroke-linejoin:round" /> \ No newline at end of file + style="text-anchor:middle;display:inline;fill:#3fa652;stroke:#21552a;stroke-width:0.99177396;stroke-linejoin:round" /> diff --git a/storage/app/uploads/public/5a9/681/3c1/5a96813c154bd636778829.svg b/storage/app/uploads/public/5a9/681/3c1/5a96813c154bd636778829.svg index 1d19f1b6c7..42acaf213e 100644 --- a/storage/app/uploads/public/5a9/681/3c1/5a96813c154bd636778829.svg +++ b/storage/app/uploads/public/5a9/681/3c1/5a96813c154bd636778829.svg @@ -22,4 +22,4 @@ - \ No newline at end of file + diff --git a/storage/app/uploads/public/5dc/016/5dd/5dc0165dda174961503136.svg b/storage/app/uploads/public/5dc/016/5dd/5dc0165dda174961503136.svg index 865712b345..d6f4235ac3 100644 --- a/storage/app/uploads/public/5dc/016/5dd/5dc0165dda174961503136.svg +++ b/storage/app/uploads/public/5dc/016/5dd/5dc0165dda174961503136.svg @@ -216,4 +216,4 @@ d="m 0,0 c 0,-7.994 6.477,-14.473 14.471,-14.473 8.002,0 14.479,6.479 14.479,14.473 0,7.994 -6.477,14.479 -14.479,14.479 C 6.477,14.479 0,7.994 0,0" style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.88413143" id="path108" - inkscape:connector-curvature="0" /> \ No newline at end of file + inkscape:connector-curvature="0" /> diff --git a/storage/app/uploads/public/5dc/019/1f9/5dc0191f92385004371530.svg b/storage/app/uploads/public/5dc/019/1f9/5dc0191f92385004371530.svg index 865712b345..d6f4235ac3 100644 --- a/storage/app/uploads/public/5dc/019/1f9/5dc0191f92385004371530.svg +++ b/storage/app/uploads/public/5dc/019/1f9/5dc0191f92385004371530.svg @@ -216,4 +216,4 @@ d="m 0,0 c 0,-7.994 6.477,-14.473 14.471,-14.473 8.002,0 14.479,6.479 14.479,14.473 0,7.994 -6.477,14.479 -14.479,14.479 C 6.477,14.479 0,7.994 0,0" style="fill:#414042;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.88413143" id="path108" - inkscape:connector-curvature="0" /> \ No newline at end of file + inkscape:connector-curvature="0" />