summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-05-17Merge pull request #48792 from foxydevloper/fix-inputeventmidi-typoRémi Verschelde
Fix typo in InputEventMIDI string
2021-05-17Fix typo in InputEventMIDI stringfox
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-15Make printing of InputEvents consistentMarcel Admiraal
- Removes the undesired spaces before the colon - Adds missing commas between parameters - Adds quotes or brackets to strings - Removes brackets around single values
2021-05-14Fixed build with SCRIPT_AES256_ENCRYPTION_KEY setMarcus Brummer
2021-05-14Merge pull request #42337 from zaevi/fix-zip-open-twiceRémi Verschelde
Fix zip file opening twice
2021-05-14SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalidRémi Verschelde
Helps users figure out that something is wrong if they did define this environment variable and it turns out being ignored.
2021-05-14Fix zip file opening twiceZae
2021-05-11GDNative: Fix size mismatch on 32-bit platforms for Signal and CallableRémi Verschelde
Fixes #48645.
2021-05-10Dynamic BVH broadphase in 2D & 3D Godot PhysicsPouleyKetchoupp
Port lawnjelly's dynamic BVH implementation from 3.x to be used in both 2D and 3D broadphases. Removed alternative broadphase implementations which are not meant to be used anymore since they are much slower. Includes changes in Rect2, Vector2, Vector3 that help with the template implementation of the dynamic BVH by uniformizing the interface between 2D and 3D math. Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2021-05-07Merge pull request #48535 from groud/tiles_squashedRémi Verschelde
TileSet and TileMap rework (squashed)
2021-05-07Rework the TileSet resource and TileMap nodes:Gilles Roudière
- Move most properties from TileMap to TileSet, - Make TileSet more flexible, supporting more feature (several collision layers, etc...), - Fusion both the TileMap and TileSet editor, - Implement TileSetSources, and thus a new way to index tiles in the TileSet, - Rework the TileSet and TileMap editors completely, - Implement an editor zoom widget (and use it in several places)
2021-05-07Merge pull request #45144 from dalexeev/color-constsRémi Verschelde
Rename color constants (alternative)
2021-05-07Merge pull request #33577 from Calinou/highlight-control-flow-keywordsRémi Verschelde
Highlight control flow keywords with a different color
2021-05-07Implement the `%command%` placeholder in the Main Run Args settingHugo Locurcio
This can be used to tell Godot to run an executable that will run Godot rather than running Godot directly. This is useful to make Godot start on the dedicated GPU when using a NVIDIA Optimus setup on Linux: `prime-run %command%` The `editor/run/main_run_args` setting declaration was moved to make it visible in the ProjectSettings documentation.
2021-05-06Merge pull request #38645 from KoBeWi/FMRRémi Verschelde
Add filter, map and reduce to Array
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-05-05Add PackedDataContainer data pointer check for non nullableMaxStgs
2021-05-05Add filter, map and reduce to ArrayTomasz Chabora
2021-05-05Fix error handling for user-defined `ResourceFormatLoader.load`Rémi Verschelde
See #48463.
2021-05-04Merge pull request #48442 from akien-mga/posmod-int64_tRémi Verschelde
Re-bind posmod, use int64_t instead of int
2021-05-04Merge pull request #48430 from reduz/add-rpc-to-callableRémi Verschelde
Add RPC support to Callable
2021-05-04Re-bind posmod, use int64_t instead of intRémi Verschelde
Fixes #48420, fixes #48421. The binding was missed when moving GDScript built-in to Global Scope it seems. Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2021-05-04Rename `doubleclick` to `double_click`Aaron Franke
2021-05-04Merge pull request #48418 from KoBeWi/press_enter_to_completeRémi Verschelde
Add Enter as alternate key to complete code
2021-05-03Add RPC to Callablereduz
-Up to each scripting language to implement this -If not supported for the function, it will just error when you try to call
2021-05-03Add Enter as alternate key to complete codekobewi
2021-05-03Check PHashTranslation generate p_from is validMaxStgs
2021-05-03Cast Unix time to uint in the randomize functionGeorge Marques
This returns a double while the other values are all uint64_t. The clang compiler gives a warning since converting the constant to double loses precision.
2021-05-03Merge pull request #35245 from qarmin/unsigned_bit_shiftRémi Verschelde
Don't allow to use in bit shift negative operands
2021-05-03Merge pull request #48205 from Faless/net/4.x_url_parsingFabio Alessandrelli
[Net] Implement String::parse_url for parsing URLs.
2021-04-30Merge pull request #48242 from reduz/particle-trailsRémi Verschelde
Implement Particle Trails
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-30Fix `url_decode` with mixed percent-encoding/Unicode strings. Treat Unix ↵bruvzg
drive names as UTF-8 encoded.
2021-04-28Merge pull request #46476 from DarknessCatt/masterRémi Verschelde
Add fill method to Arrays and PackedArrays
2021-04-28Fix area calculation of Face3Pasi Nuutinmaki
There seemed to be a bug in area calculation in Face3::get_area()-function. It returned the area of "imaginary" parallelogram instead of the triangle. Therefore the area returned was twice the real area. This manifested itself when using a hydro module for godot ( https://gitlab.com/ringtechsolutions/godot-tools/hydro/hydro ) causing the buoyancy to be two times the expected value. "Reference": http://www.maths.usyd.edu.au/u/MOW/vectors/vectors-11/v-11-7.html
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Raise error if Resource is of wrong type as function argumentFlorian Kothmeier
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Merge pull request #47398 from Faless/feature/network-local-port-salvagedRémi Verschelde
2021-04-26Remove uses of `auto` for better readability and online code reviewsHugo Locurcio
The current code style guidelines forbid the use of `auto`. Some uses of `auto` are still present, such as in UWP code (which can't be currently tested) and macros (where removing `auto` isn't easy).
2021-04-26[Net] Implement String::parse_url for parsing URLs.Fabio Alessandrelli
Splits the URL into (scheme, host, port, path). Supports both literal IPv4 and IPv6. Strip credentials when present (e.g. http://user:pass@example.com/). Use that function in both HTTPRequest and WebSocketClient.
2021-04-23Implement occlusion cullingjfons
Added an occlusion culling system with support for static occluder meshes. It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`. Occluders are defined via the new `Occluder3D` resource and instanced using the new `OccluderInstance3D` node. The occluders can also be automatically baked from a scene using the built-in editor plugin.
2021-04-23NodePath: Remove unimplemented `get_parent()` methodRémi Verschelde
Fixes #48100.
2021-04-22Make randomize() use unix time tookobewi
2021-04-22Add type_traits include for `std::is_trivially_destructible`Rémi Verschelde
2021-04-21Add fill method to Arrays and PackedArraysMatheus Lima Cunha
2021-04-20Merge pull request #47956 from vnen/gdscript-double-stackRémi Verschelde
GDScript: Use special stack space for temporaries to reduce type changes