godot/modules/gdscript
reduz 455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
..
doc_classes Merge pull request #47935 from HaSa1002/doc-loading-run-time 2022-07-20 22:33:49 +02:00
editor Highlight ^NodePath and &StringName differently 2022-07-19 20:20:30 +02:00
icons Make script type distinguishable by icon 2022-01-13 12:29:05 +01:00
language_server Add grouping annotations for class properties in GDScript 2022-07-05 22:01:40 +03:00
tests Merge pull request #62701 from cdemirer/for-variable-conflict 2022-07-06 16:02:49 +02:00
config.py Unregister GDScriptFunctionState class 2020-11-26 21:39:54 -03:00
gdscript_analyzer.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
gdscript_analyzer.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
gdscript_byte_codegen.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
gdscript_byte_codegen.h GDScript: Fix setter being called in chains for shared types 2022-06-27 12:09:51 -03:00
gdscript_cache.cpp Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose. 2022-07-07 11:07:18 +03:00
gdscript_cache.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
gdscript_codegen.h GDScript: Fix setter being called in chains for shared types 2022-06-27 12:09:51 -03:00
gdscript_compiler.cpp Check for parameters shadowing class members 2022-07-18 00:28:27 +03:00
gdscript_compiler.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
gdscript_disassembler.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
gdscript_editor.cpp Fix crash while trying to autocomplete non-global Autoload 2022-07-18 16:35:25 +03:00
gdscript_function.cpp GDScript: Fix stack overflow when using multiple await 2022-05-27 09:31:37 -03:00
gdscript_function.h Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
gdscript_lambda_callable.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
gdscript_lambda_callable.h GDScript: Allow using self in lambdas 2022-04-24 21:49:02 -03:00
gdscript_parser.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
gdscript_parser.h Merge pull request #62918 from cdemirer/parser-properly-set-node-extents 2022-07-13 09:08:28 -03:00
gdscript_rpc_callable.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
gdscript_rpc_callable.h [Net] Add type check to GDScriptRPCCallable. 2022-02-07 13:39:45 +01:00
gdscript_tokenizer.cpp Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
gdscript_tokenizer.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
gdscript_utility_functions.cpp Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init 2022-05-02 16:28:25 +02:00
gdscript_utility_functions.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
gdscript_vm.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
gdscript_warning.cpp Add enum values (Ignore, Warn, Error) to GDScript warnings 2022-04-06 10:57:33 -05:00
gdscript_warning.h Add enum values (Ignore, Warn, Error) to GDScript warnings 2022-04-06 10:57:33 -05:00
gdscript.cpp Don't print redundant errors when parsing GDScript 2022-07-22 09:30:52 -05:00
gdscript.h Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
register_types.cpp Add a new HashSet template 2022-05-20 22:40:38 +02:00
register_types.h Refactor module initialization 2022-05-04 17:34:51 +02:00
SCsub Refactor GDScript/C# script templates logic to be editor-only 2022-03-28 16:21:00 +02:00