Commit graph

34125 commits

Author SHA1 Message Date
Gordon MacPherson
061b77e5e6 This stops using FBXPropertyTable as a pointer.
The base object will inherit the property table, for every FBX object, if it doesn't exist it will be ignored.

The previous code was dangerous and not simple to understand, this makes the code simpler and should result in no leaks with PropertyTable.

Features/Fixes:

Adds ability for multiple millions of polygons to be loaded.
Fixes memory leaks with tokens
Fixes memory leaks with property table
Fixes loading some corrupt files
Fixes meshes not having a unique name to the mesh node.
Opens up loading for two more versions: 7100 and 7200, up to 2020.
Preliminary support for Cinema4D files in parser now, before this was not possible it would cause memory corruption, which is gone now.

FBXProperties not being pointers presented simpler challenges in the long run also, fixed a bunch of bugs.
2021-04-15 05:54:50 +01:00
clayjohn
92731d292c Rename get_surface_material to get_surface_override_material 2021-04-14 20:24:03 -07:00
Hugo Locurcio
86455d0c58
Strip leading/trailing whitespace for project name in the project manager
This affects creating projects and renaming them.
2021-04-14 20:25:44 +02:00
Rémi Verschelde
9e0f87359b
Merge pull request #47846 from nekomatata/solver-optimization
Godot Physics solver optimization
2021-04-14 18:04:30 +02:00
Rémi Verschelde
b6a31d0bf6
Merge pull request #47890 from akien-mga/etcpak-compress-only
etcpak: We only need the compression code, remove rest of etcpak app
2021-04-14 17:44:20 +02:00
Rémi Verschelde
f95945af5a
Merge pull request #47889 from EricEzaM/PR/fix-autocomplete-accept-on-space
Fixed ui_accept (spacebar + return) accepting auto-completion options.
2021-04-14 17:42:22 +02:00
Rémi Verschelde
17333aea76
Merge pull request #47870 from reduz/reorganize-shader-compiler 2021-04-14 17:41:23 +02:00
Rémi Verschelde
638cfec853
etcpak: We only need the compression code, remove rest of etcpak app
We do our own image loading, threading, and memory management in Godot already,
so the only components we need from etcpak (at least as of now) are the
`Compress*` methods defined in `ProcessDxtc.cpp` and `ProcessRGB.cpp`.

So we don't need to compile or vendor the rest.
2021-04-14 16:50:02 +02:00
Eric M
92900bd490 Fixed ui_accept (spacebar + return) accepting auto-completion options. 2021-04-15 00:38:28 +10:00
reduz
d3b49c416a Refactor GLSL shader compilation
-Used a more consistent set of keywords for the shader
-Remove all harcoded entry points
-Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization.
-Entry point for sky shaders is now sky().
-Entry point for particle shaders is now process().
2021-04-14 11:37:52 -03:00
Rémi Verschelde
8ce0fb0a94
Merge pull request #47886 from Pineapple/separate-set
Separate set.h from map.h
2021-04-14 15:48:28 +02:00
George Marques
8fc4a732de
Merge pull request #47330 from Blackiris/fix-corrupt-scene-when-export-has-setter
Fix corrupt scene when export var has setter
2021-04-14 10:00:57 -03:00
Rémi Verschelde
3d1d3ab3db
Merge pull request #47807 from Blackiris/fix-is-type-treated-as-address
Fix type argument in is_builtin which was treated as an address
2021-04-14 14:50:02 +02:00
Rémi Verschelde
6b39980ea9
Merge pull request #47856 from ray90514/bug#47555
Fix multi-selection doesn't correctly show in the inspector
2021-04-14 13:43:35 +02:00
Bartłomiej T. Listwon
1eaaf2f9a2 Separate set.h from map.h 2021-04-14 11:43:45 +02:00
Julien Nguyen
79a16b8a44 Fix corrupt scene when export var has setter 2021-04-14 09:14:50 +02:00
Rémi Verschelde
33333f1681
Merge pull request #47876 from fire/gltf-export-fixes
Export gltf2 normal textures correctly.
2021-04-14 09:08:54 +02:00
Rémi Verschelde
a0669609e2
Merge pull request #46880 from thebestnom/add_android_samples
Add `generateDevTemplate` to android build to build template with symbols
2021-04-14 08:26:59 +02:00
Rémi Verschelde
0e82b26a60
Merge pull request #47797 from kleonc/capsulemesh_docs_fix
Fix docs description for CapsuleMesh::mid_height
2021-04-14 08:26:09 +02:00
Rémi Verschelde
5535cf5c22
Merge pull request #47689 from nekomatata/textedit-fix-cursor-update
Fix TextEdit cursor update when adding or deleting text
2021-04-14 08:25:34 +02:00
Rémi Verschelde
fe73fed4d7
Merge pull request #47625 from SushiJackal/47450_fix
Fix: Selection Only in Find/Replace now preserves selection
2021-04-14 08:24:38 +02:00
Rémi Verschelde
fbcba00ca1
Merge pull request #47881 from bruvzg/macos_vlk_icd
[macOS] Update required Vulkan API version the ICD configs.
2021-04-14 08:13:33 +02:00
bruvzg
f4026ba404
[macOS] Update required Vulkan API version the ICD configs. 2021-04-14 08:35:44 +03:00
thebestnom
e598acff3a Allow to build dev template with symbols 2021-04-14 00:14:57 +03:00
K. S. Ernest (iFire) Lee
3cae9a802b Export gltf2 normal textures correctly. 2021-04-13 13:28:26 -07:00
Rémi Verschelde
a86e7c3bb7
Merge pull request #47852 from akien-mga/etcpak-mingw-llvm-pthread
etcpak: Fix handling of pthread naming API for Linux and MinGW
2021-04-13 21:20:10 +02:00
Rémi Verschelde
d137ccbfc8
etcpak: Fix handling of pthread naming API for Linux and MinGW
For MinGW this is tricky to do as a two-step process like it was implemented,
as `std:🧵:native_handle()` is implementation-defined and depending on
the MinGW distribution, it may or may not be a pthread handle.

With mingw-gcc as packaged in Linux distros with pthread support it worked
fine, but with llvm-mingw it was problematic.

Setting the name in the thread directly as done for Apple platforms is simpler
and works fine.

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-04-13 21:04:09 +02:00
ray90514
16decbc0ee Fix multi-selection doesn't correctly show in the inspector 2021-04-13 18:09:53 +08:00
Rémi Verschelde
b4b7c97d38
Merge pull request #47853 from naithar/fix/xcframework-time-4.0
[iOS] Fix for plugin modified time check
2021-04-13 11:48:25 +02:00
Sergey Minakov
15630a4931 [iOS] Fix for plugin modified time check 2021-04-13 11:57:42 +03:00
Rémi Verschelde
b4060614c2
Merge pull request #47848 from nekomatata/debug-shape-crash-fix
Fix crashes with CollisionObject3D debug shapes
2021-04-13 10:13:07 +02:00
Rémi Verschelde
3838036a88
Merge pull request #47845 from nekomatata/fix-soft-body-contact-impulses 2021-04-13 10:10:53 +02:00
Rémi Verschelde
a9c29fdc1f
Merge pull request #47844 from m4gr3d/update_activity_result_callback
Add support for forwarding callbacks from Godot's parent activity
2021-04-13 10:10:29 +02:00
Rémi Verschelde
f41c348d6a
Merge pull request #47842 from m4gr3d/fix_boot_splash_scale_master
Fix custom boot splash image scaling.
2021-04-13 09:57:36 +02:00
PouleyKetchoupp
d7353c5d41 Fix crashes with CollisionObject debug shapes
MeshInstance added as child nodes for CollisionObject debug shapes can
be invalidated while deleting the collision object (child nodes are
deleted first), which caused accesses to invalid memory in
shape_owner_remove_shape that lead to random crashes.

Also optimized accesses to shapes to avoid copy-on-write on each
iteration.
2021-04-12 20:08:30 -07:00
PouleyKetchoupp
b65d6b56fb Godot Physics solver optimization
Several optimizations in the way solver islands are processed in both
2D and 3D physics:
- Use LocalVector instead of linked list to avoid cache misses (with
persistent storage based on worst case scenario)
- Remove pairs when setup fails (no valid contact) to avoid unnecessary
solving of non-colliding rigid bodies just to return immediately
2021-04-12 18:59:49 -07:00
PouleyKetchoupp
70aa39d127 Fix SoftBody contact impulses applied on rigid bodies
Parameters were inverted in `apply_impulse` and `apply_bias_impulse` due
to a modification on master.
2021-04-12 17:38:14 -07:00
Fredia Huya-Kouadio
1f16ba2696 Add support for forwarding callbacks from Godot's parent activity. 2021-04-12 16:48:35 -07:00
Fredia Huya-Kouadio
b51dc2dc44 Fix custom boot splash image scaling. 2021-04-12 16:38:41 -07:00
Rémi Verschelde
8793a464d3
Merge pull request #47370 from fire/etcpak
Add thirdparty library etcpak for faster imports.
2021-04-13 01:09:38 +02:00
Rémi Verschelde
075f358fcd
Merge pull request #47841 from Blackiris/fix-PackedFloat32Array-index
Fix PackedFloat32Array get index not working
2021-04-13 00:21:41 +02:00
K. S. Ernest (iFire) Lee
d840165a32
Add etcpak library for faster ETC/ETC2/S3TC imports.
- `etc` module was renamed to `etcpak` and modified to use the new library.
- PKM importer is removed in the process, it's obsolete.
- Old library `etc2comp` is removed.
- S3TC compression no longer done via `squish` (but decompression still is).
- Slight modifications to etcpak sources for MinGW compatibility,
  to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or
  system libpng.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-04-13 00:12:12 +02:00
Julien Nguyen
026b8497d1 Fix PackedFloat32Array get index not working 2021-04-12 23:33:06 +02:00
Rémi Verschelde
7d70cdc6cc
Merge pull request #47840 from Calinou/doc-project-settings-override-feature-tags
Document overriding project settings that have feature tags
2021-04-12 22:08:38 +02:00
Hugo Locurcio
554742312d
Document overriding project settings that have feature tags
This non-obvious behavior can take a while to discover and fix,
so it's important to mention it in the class reference.
2021-04-12 21:51:08 +02:00
Rémi Verschelde
b895071895
Merge pull request #47664 from goostengine/makerst-prop-overridden-object
makerst: Fix generation of overridden properties in child classes
2021-04-12 21:10:31 +02:00
Rémi Verschelde
5c8505c25a
Merge pull request #47831 from Calinou/editor-remote-scene-tree-tooltip 2021-04-12 18:01:13 +02:00
Hugo Locurcio
6d2f5ee244
Add a tooltip to document performance issues of the Remote scene tree 2021-04-12 17:49:51 +02:00
Rémi Verschelde
cee5414698
Merge pull request #43180 from nathanfranke/node-configuration-array
Use Array for node configuration warnings
2021-04-12 09:40:55 +02:00
Rémi Verschelde
184abce192
Merge pull request #47709 from KoBeWi/node_that_changes_everything
Expose edit_node() for editor plugins
2021-04-12 09:11:33 +02:00