Commit Graph

703 Commits

Author SHA1 Message Date
Rémi Verschelde 40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz 5786516d4d Implement Running Godot as Movie Writer
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.

This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).

**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).

Usage:

$ godot --write-movie movie.avi [scene_file.tscn]

Missing:

* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
Rémi Verschelde bcd783fa9a doctest: Update to 2.4.9 2022-06-19 10:41:56 +02:00
Cyberrebell 6a2bd6c936 updated vk_mem_alloc.h to fix startup issue with AMD 6000 series GPUs using SteamVR on Windows 2022-06-12 23:36:06 +02:00
Rémi Verschelde e297ddf656
Merge pull request #61891 from akien-mga/meshoptimizer-20220601 2022-06-10 13:14:45 +02:00
Rémi Verschelde a3195dd4eb meshoptimizer: Sync with upstream commit ea4558d1c
ea4558d1c0
2022-06-10 12:46:50 +02:00
Rémi Verschelde 776418942c etcpak: Update to upstream release 1.0 (June 4, 2022)
No change compared to our previous commit, just documentation update
and a release tag we can track.
2022-06-10 12:36:45 +02:00
bruvzg efb5d7adf0
Fix FreeType crashing in GCC + LTO builds. 2022-06-08 13:59:13 +03:00
K. S. Ernest (iFire) Lee 1b776a6e7a Allow picking similar colours using OKHSL. 2022-06-07 05:53:27 -07:00
Rémi Verschelde fb67a685a9 thorvg: Sync a couple fixes from upstream
We're still formally tracking v0.8.1, those fixes don't impact the
library features. I didn't bother documenting them with patches as
they will likely soon make their way to either a v0.8.2 or v0.9.0.
2022-05-23 19:44:13 +02:00
Rémi Verschelde 4f43739684
Merge pull request #61310 from marxin/gcc13-fix-vhacd 2022-05-23 19:19:14 +02:00
Martin Liska a648d831a9 Fix building VHACD with GCC 13.
Fixes the following error:
thirdparty/vhacd/inc/vhacdICHull.h:46:31: error: 'uint32_t' does not name a type
   46 |     ICHullError Process(const uint32_t nPointsCH, const double minVolume = 0.0);
      |                               ^~~~~~~~

Note the upstream version of the third party library is not affected.
2022-05-23 18:52:27 +02:00
bruvzg 797ccd3ef8
HarfBuzz: Update to version 4.3.0 2022-05-23 13:18:11 +03:00
Rémi Verschelde 86cdf1f2cf rvo2: Sync with upstream commit bfc0486
bfc048670a
2022-05-18 14:53:52 +02:00
Rémi Verschelde 6c78170d8c rvo2: Re-sync with upstream, properly document Godot-specific changes
Still tracking the `v1.0.1` tag for now, just reverting all the unnecessary
style changes that created a diff with upstream.
2022-05-18 14:40:34 +02:00
Rémi Verschelde 24a06a6d4a pcre2: Fix support for macOS < 11.0 by making JIT conditional at runtime 2022-05-18 11:41:09 +02:00
Rémi Verschelde b052835ca3
Merge pull request #61137 from akien-mga/meshoptimizer-20220424 2022-05-17 23:49:50 +02:00
Rémi Verschelde fa0c9c951f
Merge pull request #61136 from akien-mga/xatlas-20220318
xatlas: Sync with upstream 16ace528a
2022-05-17 23:36:10 +02:00
Rémi Verschelde e2d0aa3779
Merge pull request #61135 from akien-mga/recast-20220320 2022-05-17 23:35:37 +02:00
Rémi Verschelde 7e4a02d66c
Merge pull request #61120 from akien-mga/doctest-2.4.8 2022-05-17 23:25:14 +02:00
Rémi Verschelde e4e61df438 meshoptimizer: Sync with upstream commit 8a7d69caa
8a7d69caa6
2022-05-17 23:24:52 +02:00
Rémi Verschelde 0c1429da0d
Merge pull request #61132 from akien-mga/freetype-cleanup
FreeType: Cleanup some unused files
2022-05-17 23:19:29 +02:00
Rémi Verschelde 10c99d7b41 xatlas: Sync with upstream 16ace528a
Just cleaning up unused but set variables.

16ace528ac
2022-05-17 23:03:23 +02:00
Rémi Verschelde 4635f24322 Recast: Update to upstream commit 5a870d4 (2022) 2022-05-17 22:59:40 +02:00
Rémi Verschelde 03ff10de8a FreeType: Cleanup some unused files 2022-05-17 22:31:05 +02:00
Rémi Verschelde eb9fd57f76 doctest: Update to 2.4.8 2022-05-17 21:53:32 +02:00
Rémi Verschelde fd6eb2c2d2 pcre2: Update to upstream version 10.40
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.40/ChangeLog
2022-05-17 21:37:20 +02:00
Rémi Verschelde f1ef582036
Merge pull request #61118 from akien-mga/certs-update 2022-05-17 21:24:35 +02:00
bruvzg 93fba7ead3
Update HarfBuzz, ICU and FreeType.
HarfBuzz: Update to version 4.2.1
FreeType: Update to version 2.12.1
ICU: Update to version 71.1
2022-05-17 18:39:31 +03:00
Rémi Verschelde be6db612a1 certs: Sync with Mozilla bundle as of Mar 31, 2022
39c6ac0550
2022-05-17 16:23:01 +02:00
reduz 746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Rémi Verschelde e8520044e7
Merge pull request #61047 from akien-mga/thorvg-0.8.1 2022-05-15 16:04:05 +02:00
Rémi Verschelde 154d081212 thorvg: Sync with upstream 0.8.1
And backport fix for FreeBSD support.

Fixes #60003.
2022-05-15 11:45:42 +02:00
bruvzg 71cc26f55e
etcpak: Update to upstream commit f128369 (May 13, 2022) 2022-05-13 15:58:53 +03:00
Rémi Verschelde 9570f3bf45 etcpak: Update to upstream commit 10fc4ce (May 12, 2022)
Fixes support for ARMv7+NEON.
2022-05-12 14:13:47 +02:00
Hendrik Brucker e41e2a1103 Fix GCC warning with -Waggressive-loop-optimizations due to overflow 2022-04-30 16:43:16 +02:00
Hendrik Brucker bde6fc9c82 Restructure and refine the noise module 2022-04-19 19:49:48 +02:00
Casper Beyer d3dde0727c Normalize thirdparty readme formatting 2022-04-01 15:26:17 +08:00
Rémi Verschelde 420d0d50bc zlib/minizip: Update to version 1.2.12
Security update, fixes CVE-2018-25032 in zlib.

Preliminary assessment doesn't show Godot as affected since we don't
seem to call `deflate` with the problematic parameters, but the extent
of the vulnerability is not fully clear upstream yet.
2022-03-31 15:19:11 +02:00
bruvzg 56544d8013
HarfBuzz: Update to version 4.2.0 2022-03-31 13:03:43 +03:00
Rémi Verschelde e9b928b42a
Merge pull request #59524 from RandomShaper/update_vma 2022-03-29 13:07:01 +02:00
Pedro J. Estébanez 171e31de68 vk_mem_alloc: Update to upstream + Replace use of deprecated items 2022-03-29 11:28:09 +02:00
Rémi Verschelde 8c12dfe099
Merge pull request #56718 from Geometror/noise-overhaul 2022-03-28 21:59:18 +02:00
Rémi Verschelde c21215628d
Merge pull request #59510 from bruvzg/use_woff2_fonts 2022-03-25 11:25:42 +01:00
bruvzg 78051f93a3
Convert the editor and default theme fonts to WOFF2 format to save space. 2022-03-25 11:45:55 +02:00
K. S. Ernest (iFire) Lee 3529141b4b Update basis universal to version 1.16.3.
Enable basis universal uastc internal storage instead of etc1s for better quality.
2022-03-24 22:41:23 -07:00
Rémi Verschelde 2a116f601b
Merge pull request #59275 from bruvzg/ft_brotli 2022-03-22 12:47:00 +01:00
Hendrik Brucker 2a55f10e8b Add FastNoiseLite / general noise overhaul
- replace OpenSimplexNoise

Co-authored-by: Cory Petkovsek <tinmanjuggernaut@users.noreply.github.com>
2022-03-20 14:53:45 +01:00
bruvzg e07a8f0aa6
Add brotli decoder and WOFF2 support. 2022-03-18 15:09:38 +02:00
bruvzg 94a365e94b
HarfBuzz: Update to version 4.0.1 2022-03-18 14:50:57 +02:00