Commit graph

890 commits

Author SHA1 Message Date
Rémi Verschelde
8d4046929c
Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-io
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11 16:51:10 +02:00
Rémi Verschelde
6b0183ec89
Merge pull request #49279 from Calinou/rename-string-is-abs-path-method
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11 15:58:16 +02:00
Rémi Verschelde
9e328bb5b7
Core: Move DirAccess and FileAccess to core/io
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
2021-06-11 14:52:39 +02:00
Rémi Verschelde
7085c0d801
Merge pull request #39202 from Calinou/editor-import-invert-green-channel
Replace "Invert" import option with more useful "Normal Map Invert Y"
2021-06-05 13:35:39 +02:00
Marcel Admiraal
8acd13a456 Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
Hugo Locurcio
4ef71d7a01
Replace "Invert" import option with more useful "Normal Map Invert Y"
This can be used to invert a normal map's direction.

The "Invert" import option is no longer useful in Godot 4.0 since
it uses height maps instead of depth maps in StandardMaterial3D.

This closes https://github.com/godotengine/godot-proposals/issues/785.
2021-06-04 18:09:16 +02:00
Aaron Franke
125d1a7cd3
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D 2021-06-03 21:11:54 -04:00
Hugo Locurcio
5ea1c75d63
Rename String.is_abs_path() to String.is_absolute_path()
This is more consistent with `NodePath.is_absolute()`.
2021-06-03 16:00:06 +02:00
Aaron Franke
de3f6699a5
Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
Marcel Admiraal
da5d7db610 Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
K. S. Ernest (iFire) Lee
fc8ea1d828 Update with experimental mesh optimizer.
Normals being optimized has better quality now.

Test simplify once and then use a slightly less tolerant 
error for the target error.
2021-05-22 08:58:50 -07:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Pedro J. Estébanez
469fa47e06
Make all file access 64-bit (uint64_t)
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-17 15:06:19 +02:00
Saracen
5267a6496f Fix to parsing some Collada with extra vertex semantics referenced only in the vertices section. 2021-05-08 16:33:22 +01:00
jfons
6995b0429c Assorted fixes to UV unwrapping and GPU lightmapper
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for
context in case of git blame/bisect:

* Fix UV2 unwrapping on import, also cleaned up the unwrap cache code.
* Fix saving of RGBA images in EXR format.
* Fixes to the GPU lightmapper:
	- Added padding between atlas elements, avoids bleeding.
	- Remove old SDF generation code.
	- Fix baked attenuation for Omni/Spot lights.
	- Fix baking of material properties onto UV2 (wireframe was
	  wrongly used before).
	- Disable statically baked lights for objects that have a
	  lightmap texture to avoid applying the same light twice.
	- Fix lightmap pairing in RendererSceneCull.
	- Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`.
	- Port autoexposure fix for OIDN from 3.x.
	- Save debug textures as EXR when using floating point format.
2021-05-03 18:10:34 +02:00
Juan Linietsky
2b730cad90 Use multiple threads to import.
- For now everything imports multithreaded by default (should work I guess, let's test).
- Controllable per importer

Early test benchmark. 64 large textures (importing as lossless, _not_ as vram) on a mobile i7, 12 threads:
Importing goes down from 46 to 7 seconds.

For VRAM I will change the logic to use a compressing thread in a subsequent PR, as well as implementing Betsy.
2021-04-19 14:12:22 -03:00
clayjohn
92731d292c Rename get_surface_material to get_surface_override_material 2021-04-14 20:24:03 -07:00
Rémi Verschelde
0f0c0e5933
Style: Apply clang-tidy's modernize-use-bool-literals 2021-04-05 13:16:35 +02:00
Rishabh Abhani
435c80490a added null checks for mesh in resource importer 2021-03-26 11:49:06 +05:30
Rémi Verschelde
64b4bd4ee0
Merge pull request #47301 from akien-mga/drop-resource-importer-csv
Remove now unnecessary ResourceImporterCSV importer
2021-03-24 09:25:55 +01:00
Gordon MacPherson
8db565cabd Fix use of Error its uninitialised and resolves importers being broken 2021-03-23 23:46:22 +00:00
Rémi Verschelde
7ed2220928
Remove now unnecessary ResourceImporterCSV importer
Its only purpose was to prevent importing CSV files as translations, but it
would still import them as *nothing*, leading to workflow issues.

This is now properly fixed with #47268 which allows disabling the import for
specific files.
2021-03-23 15:49:30 +01:00
Aaron Franke
10d7fccb54
Rename ButtonList enum and members to MouseButton 2021-03-23 07:13:23 -04:00
Shatur95
a1cfc1032c Move duplicated code into a function 2021-03-23 09:08:06 +02:00
Rémi Verschelde
6a84ade316
Merge pull request #45234 from madmiraal/rename-phashtranslation
Rename PHashTranslation to OptimizedTranslation
2021-03-23 00:12:12 +01:00
Shatur95
7762d4592d Remove hardcoded names in generated objects 2021-03-22 22:37:26 +02:00
Juan Linietsky
97a3a66220 Improved 3D Scene Importer
* Added option for importers to show an Advanced settings dialog
* Created advanced settings dialog for Scene Importer
* Cleaned up importers (remove many old/unused options)
* Added the ability to customize every node, material, mesh and animation individually
* Saving to animations and meshes to files is now a manual process, making it more predictable
* Added the ability for materials to be replaced by external files (or to be made external, up to you).
* When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it.

WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-22 12:16:40 -03:00
Rémi Verschelde
17f77a74e1
Merge pull request #46758 from W4RH4WK/add-more-index-checks-collada-importer
Add additional index checks to COLLADA importer
2021-03-21 00:15:07 +01:00
Marcel Admiraal
07f1cd5ff8 Rename PHashTranslation to OptimizedTranslation 2021-03-20 10:02:47 +00:00
Gilles Roudière
a9dc53d152 Remove Navigation2D/3D nodes, and move the navigation map to the world resource 2021-03-10 11:23:06 +01:00
Alex Hirsch
8faeb72f10 Add additional index checks to COLLADA importer
ref #46548
2021-03-07 14:53:01 +01:00
reduz
64140eaf42 Reorganize Project Settings
-Advanced Settings toggle also hides advanced properties when disabled
-Simplified Advanced Bar (errors were just plain redundant)
-Reorganized rendering quality settings.
-Reorganized miscelaneous settings for clean up.
2021-02-18 11:23:34 -03:00
Kongfa Waroros
efc1eba974 Fixes function bindings 2021-02-18 14:47:06 +07:00
reduz
f8d03b98e7 Improve resource load cache
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-11 15:44:28 -03:00
Aaron Franke
e829b7aee4
Unify URI encoding/decoding and add to C#
http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
2021-01-28 07:45:01 -05:00
reduz
51d8e32c93 Implement shadow meshes
-When importing, a vertex-only version of the mesh is created.
-This version is used when rendering shadows, and improves performance by reducing bandwidth
-It's automatic, but can optionally be used by users, in case they want to make special versions of geometry for shadow casting.
2021-01-25 15:03:15 -03:00
K. S. Ernest (iFire) Lee
59b61a1f64 Scale error in mesh optimizer so it uses absolute scale.
Switch to simplify sloppy for another try.

Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
2021-01-11 06:07:54 -08:00
Rémi Verschelde
fcb0f0d770
Merge pull request #44330 from Hurakano/fixes
Texture import 'streamed' property should be bool
2021-01-04 09:43:42 +01:00
Muller-Castro
31dd07ba30 Typo correction
simple typo correction
2021-01-02 02:27:12 -03:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Rémi Verschelde
4ca98c7a35
Merge pull request #44183 from madmiraal/box_shape-size
Use a size Vector for adjusting the size of Rectangles and Boxes
2020-12-28 16:06:50 +01:00
Marcel Admiraal
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Lyuma
d976003b16 Fix blendshapes and calculation of bone_aabbs
Blendshapes without a skeleton already worked.
However, due to a faulty ERR_FAIL_COND, it was impossible to create a mesh with both bones and blendshapes.
This also fixes an assumption that all surfaces reference the same number of bones as surface 0.
2020-12-24 00:01:07 -08:00
K. S. Ernest (iFire) Lee
4b4efd2674 Add exporting glTF2.
* Support KHR_texture_transform.
* Support exporting glTF2
* Support exporting instanced scenes
* Extract into a gltf state and gltf document
* Add a tools menu for exporting gltf2
2020-12-22 16:56:28 -08:00
Hugo Locurcio
7ae487d2bb
Increase the default Camera Zfar to 4000
This makes it possible to view far away objects without
having to tweak any settings. This results in a more usable
editor when working on large-scale levels.

This change should have no impact on performance, but note that
Z-fighting will be visible at a distance. This can be made less
visible by increasing the Znear value (however, doing so will cause
nearby surfaces to disappear).

This change was also applied to the editor, but it will only
apply to newly created scenes.

This also changes the default camera settings in the glTF importer
to match the Camera node's defaults.
2020-12-19 14:52:44 +01:00
reduz
7bf90c7888 Improved shadow rendering efficiency
-Do not bind attributes that are not needed
-Improve a bit more how meshoptimizer interacts with Godot
2020-12-18 19:47:32 -03:00
reduz
d2302f53d6 Implement automatic LOD (Level of Detail)
-Happens on import by default for all models
-Just works (tm)
-Biasing can be later adjusted per node or per viewport (as well as globally)
-Disabled AABB.get_support test because its broken
2020-12-18 15:48:03 +01:00
reduz
77a045e902 Rework Mesh handling on scene importing.
-Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer.
-Integrated MeshOptimizer
-Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
2020-12-13 21:29:51 -03:00
フラカノ
d0edc83135 Texture import 'streamed' property should be bool 2020-12-12 20:32:39 +01:00
Rémi Verschelde
9263f8eb4b
Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2
We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years,
so let's drop it instead of keeping a compress type which doesn't work.

The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively
PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
2020-12-10 23:14:04 +01:00
Rémi Verschelde
90bdba576a
Merge pull request #43742 from qarmin/editor_modules_default_values
Initialize class/struct variables with default values in platform/ and editor/
2020-12-08 15:53:42 +01:00
Marcel Admiraal
43c9106806 Use box size instead of extents for Shape dimensions 2020-12-08 11:58:21 +00:00
Aaron Franke
40b81339d0
Rebind Mesh/ArrayMesh enums 2020-12-04 19:34:50 -05:00
reduz
70f5972905 Refactored Mesh internals and formats.
-Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES.
-Removed compression, it now always uses the most efficient format.
-Added support for custom arrays (up to 8 custom formats)
-Added support for 8 weights in skeleton data.
-Added a simple optional versioning system for imported assets, to reimport if binary is newer
-Fixes #43979 (I needed to test)

WARNING:

-NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change.
-NOT backwards compatible with 3.x scenes, this will be eventually re-added.
-Skeletons not working any longer, will fix in next PR.
2020-12-02 13:07:59 -03:00
Rafał Mikrut
e1811b689b Initialize class/struct variables with default values in platform/ and editor/ 2020-12-02 16:09:11 +01:00
Aaron Franke
2c53e8b0e9
Use Vector2i instead of Vector2 for Image get_pixelv and set_pixelv
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2020-11-21 02:42:29 -05:00
Rémi Verschelde
f70cc0a60e
glTF: Workaround import failure with invalid embedded images
image/gif is not supported in the glTF 2.0 specification,
these files are broken. But let's be lenient...

Fixes #43638.
2020-11-18 11:34:01 +01:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
Rémi Verschelde
c759870272
Merge pull request #42977 from Calinou/roughness-normal-import-more-image-types
Allow more image types in the roughness texture's Src Normal import hint
2020-11-16 13:00:52 +01:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Hugo Locurcio
8a474727c4
Allow more image types in the roughness texture's Src Normal import hint 2020-10-21 23:21:46 +02:00
reduz
26f5bd245c Implement GPU Particle Collisions
-Sphere Attractor
-Box Attractor
-Vector Field
-Sphere Collider
-Box Collider
-Baked SDF Collider
-Heightmap Collider
2020-10-09 13:25:47 -03:00
K. S. Ernest (iFire) Lee
7b76f8783f Better non alphanumeric bone names.
1. _gen_unique_bone_name(Ref<GLTFState> state, const GLTFSkeletonIndex skel_i, const String &p_name) won't return an empty string.

2. String GLTFDocument::_sanitize_bone_name(const String &name) will keep Japanese characters. Like: "全ての親".

3. The sanitize function allows  the bone name to be not just alphanumeric. The only required conditions are the ones in add_bone.

> ERR_FAIL_COND(p_name == "" || p_name.find(":") != -1 || p_name.find("/") != -1);
2020-10-05 09:25:37 -07:00
Rémi Verschelde
2e99d0b26f
glTF: Fix parsing image data with mimeType undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).
2020-10-05 13:06:50 +02:00
Rémi Verschelde
34a50310ad
glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME types
See https://github.com/KhronosGroup/glTF/issues/944 for context on the
application/gltf-buffer MIME type.

The glTF 2.0 spec supports `image/jpeg` and `image/png` which can also be
base64-encoded in buffer URIs.

Fixes #33796.
2020-10-02 12:23:10 +02:00
K. S. Ernest (iFire) Lee
43424e1321 Use the vertex colors by default in gltf. 2020-09-28 10:38:21 -07:00
dankan1890
395ab3441d Fixed TextureAtlas import wrong images size.
Fix #42057
2020-09-16 01:26:56 +02:00
reduz
a674da4eec Implement 3D textures as import and resource format. 2020-09-09 13:50:21 -03:00
Aaron Franke
56e2c6c704
Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
Rémi Verschelde
a5fb445121
Merge pull request #40450 from asmaloney/spelling
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
Andy Maloney
4dda62f591 Fix spelling & grammar in comments, docs, and messages 2020-07-21 15:17:23 -04:00
K. S. Ernest (iFire) Lee
71ae0ff46d Allow gltf2 morph targets with no default values. Changes for bug 38751 2020-07-11 10:56:07 -07:00
Marcel Admiraal
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
lordkettune
4313a7bdc8 Fix issues with custom tracks on reimport 2020-07-02 16:08:20 -07:00
Sl3dge78
95cd74fc4b Fix #20467. The "Anim imported" warning gets displayed properly when working on imported anims. 2020-06-18 23:12:22 +02:00
Hugo Locurcio
26161de739
Remove the obsolete "2D Pixel" import preset
Texture filtering is now defined on a per-node basis, thanks to
bindless textures provided by Vulkan.

This closes #37057.
2020-06-14 15:08:09 +02:00
Aaron Franke
ff93bc6370
Add GLTF light import
Co-authored-by: K.S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2020-06-11 10:56:56 -04:00
Rémi Verschelde
f6430eec2c
Merge pull request #39152 from abustin/fbx_mesh_compression_fix_master
Respect 'mesh compression' editor import option in Assimp and glTF importers [master]
2020-06-08 13:16:31 +02:00
Rémi Verschelde
f66eed7d58
Merge pull request #38924 from Calinou/tweak-import-compression-hint
Tweak the import compression property hint for clarity
2020-06-04 11:48:40 +02:00
Pedro J. Estébanez
fb7ae73045 Fix excessive bottom cropping in atlas generation 2020-06-03 22:24:49 +02:00
Alex Bustin
9175af6f13 Respect 'mesh compression' editor import option in Assimp (ie. FBX) and glTF importers 2020-05-29 13:06:39 -07:00
Andrii Doroshenko (Xrayez)
69d5de632e Split Geometry singleton into Geometry2D and Geometry3D
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Hugo Locurcio
1439447071
Tweak the import compression property hint for clarity 2020-05-21 17:06:44 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Hugo Locurcio
0d7b627936
Tweak the error message displayd when a post-import script fails
See #38662.
2020-05-11 21:11:17 +02:00
Juan Linietsky
1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
Rémi Verschelde
94721f5ab8 Revert "Renamed plane's d to distance"
This reverts commit ec7b481170.

This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde
03b13e0c69 Style: Add missing copyright headers 2020-05-10 13:12:16 +02:00
Marcus Elg
ec7b481170 Renamed plane's d to distance 2020-05-10 12:12:51 +02:00
Rémi Verschelde
2497740a4e
Merge pull request #37273 from akien-mga/gltf-tangent-fix-32712
glTF: Fix tangent generation for non-blend shapes
2020-04-28 20:32:37 +02:00
JFonS
f7dadc4796 Add caching the lightmap unwrapping on import
This commit adds caching to the lightmap mesh unwraps generated on
import. This speeds up re-imports of meshes that haven't changed and
also makes sure that the unwraps are consistent across imports.

The unwrapping process is not deterministic, so one could end up with
a different mapping every time the scene was imported, breaking any
previously baked lightmaps. The changes in this commit prevent that
from happening.
2020-04-22 15:34:00 +02:00
Juan Linietsky
ae09b55a19 Exposed RenderingDevice to script API
Also added an easier way to load native GLSL shaders.

Extras:

Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.

Note:

The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
2020-04-20 21:21:58 -03:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Rémi Verschelde
0a2fa4d892 Fix more -Wmaybe-uninitialized warnings with target=release_debug
I have no idea why those don't get triggered in target=debug builds.

Fixes #37461.
2020-03-31 13:52:42 +02:00
Rémi Verschelde
f3c74afd28
Merge pull request #37436 from akien-mga/doc-node-renames
doc: Update classref with node renames
2020-03-30 20:32:11 +02:00
Rémi Verschelde
eaaee63b62 doc: Update classref with node renames
A few extra renames for classes which were missed in last week's PRs.
2020-03-30 18:23:02 +02:00
Rémi Verschelde
cd4e46ee65 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.
2020-03-30 09:05:53 +02:00
Juan Linietsky
a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Rémi Verschelde
d1acbbce7f Rename more 2D and 3D nodes to follow convention
Rename editor plugins to match the new node names.
2020-03-27 16:26:34 +01:00
Juan Linietsky
eaae4b6408 Renamed 2D and 3D nodes to make their types explicit
Fixes #30736.
2020-03-27 14:54:04 +01:00
Rémi Verschelde
0034c88c57 glTF: Fix tangent generation for non-blend shapes
PR #30877 was bogus as it made a blend shape-specific code block apply
to everything but blend shapes (as it seemed not to work properly *for*
blend shapes).

The proper fix should thus be to simply remove the problematic
block (and thus cleanup unnecessary logic).

Fixes #32712.
2020-03-24 11:25:06 +01:00
Rémi Verschelde
cfd84625f0 Move DocData and Collada out of their subfolders
Now that the unused DocDump was removed, the `editor/doc` subfolder is
redundant.

Similarly, there's no reason for Collada to have a subfolder for itself
when glTF or OBJ don't.
2020-03-24 09:56:04 +01:00
Rémi Verschelde
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
luz.paz
7bf6e5f773 Fix various typos
Found via `codespell`
2020-03-11 13:59:18 -04:00
Rémi Verschelde
4f64f3401a
Merge pull request #36388 from AndreaCatania/some_renames
Rename Navigation{Mesh,Polygon}Instance and PlaneShape for clarity
2020-02-28 09:15:38 +01:00
Rémi Verschelde
b7b3978684
Merge pull request #36556 from RandomShaper/rework_mutex
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
2020-02-28 00:26:01 +01:00
Andrea Catania
2e0fb66c6f Renamed PlaneShape to WorldMarginShape 2020-02-27 17:45:16 +01:00
Andrea Catania
3b64ecbc4b Renamed NavigationMeshInstance to NavigationRegion 2020-02-27 17:42:53 +01:00
Pedro J. Estébanez
18fbdbb456 Reimplement Mutex with C++'s <mutex>
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.

Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-26 20:40:10 +01:00
Rémi Verschelde
afa773f388
Merge pull request #36564 from dankan1890/quick_fix
Fixed TextureAtlas import size.
2020-02-26 19:07:43 +01:00
Maurizio Petrarota
744c1fafff
Fixed TextureAtlas import. 2020-02-26 14:35:57 +01:00
Juan Linietsky
33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Juan Linietsky
9a34f39d32 Add support for named binds in Skin.
Helps better reutilization of skeletons from Maya exported files.
2020-02-21 09:40:29 -03:00
Juan Linietsky
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Juan Linietsky
867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
Rémi Verschelde
db81928e08 Vulkan: Move thirdparty code out of drivers, style fixes
- `vk_enum_string_helper.h` is a generated file taken from the SDK
  (Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
  https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
Juan Linietsky
2049dec79e Added normalmap guided roughness mipmap generator, and a global roughness limiter. 2020-02-11 12:16:01 +01:00
Rémi Verschelde
fff4240bb4 Fix code formatting issues and VS compilation
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.

Fixes #33356.
2020-02-11 12:05:19 +01:00
bruvzg
26318f3bd1 Fix Vector3 ambiguities and out of bounds init. 2020-02-11 12:03:39 +01:00
Juan Linietsky
d5cf1a872b Fixes to Basis Universal. 2020-02-11 12:02:59 +01:00
Juan Linietsky
4aea9f74e6 Rewritten StreamTexture for better code reuse, added basis universal support 2020-02-11 12:02:36 +01:00
Juan Linietsky
dc32083681 Proper texture reloading (was broken). 2020-02-11 12:01:25 +01:00
Juan Linietsky
dd3682e5fe Modernized default 3D material, fixes material bugs. 2020-02-11 12:01:24 +01:00
Juan Linietsky
6deffa62fb Several fixes to 3D rendering, and multimesh implementation. 2020-02-11 12:01:22 +01:00
Juan Linietsky
449df8f688 Base 3D engine done, still untested, though. 2020-02-11 11:59:25 +01:00
bruvzg
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Juan Linietsky
24b16f3bf0 Fix crash on import. 2020-02-11 11:53:28 +01:00
Juan Linietsky
9b0dd4f571 A lot of progress with canvas rendering, still far from working. 2020-02-11 11:53:27 +01:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Rémi Verschelde
f3726ee994 Use modules_enabled.gen.h to improve inter dependency checks
- Fix build with gdscript module disabled. Fixes #31011.
- Remove unused `gdscript` compile option.
- Fix build with regex module disabled.
- Fix ImageLoaderSVG to forward declare thirdparty structs.
2020-02-07 11:50:40 +01:00
Marcel Admiraal
6d69cd40bd Add do..while(0) wrappers to macros without one.
- Add do..while(0) wrapper to ERR_FAIL_NULL macros.
- Add do..while(0) wrapper to ERR_FAIL_COND macros.
- Add do..while(0) wrapper to ERR_CONTINUE macros.
- Add do..while(0) wrapper to ERR_BREAK macros.
- Add do..while(0) wrapper to CRASH_COND macros.
- Add do..while(0) wrapper to ERR_FAIL macros.
- Add do..while(0) wrapper to ERR_PRINT macros.
- Add do..while(0) wrapper to WARN_PRINT macros.
- Add do..while(0) wrapper to WARN_DEPRECATED macros.
- Add do..while(0) wrapper to CRASH_NOW macros.
2020-02-05 11:19:12 +01:00
Marcel Admiraal
f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Hugo Locurcio
a002b93d86
Add explanations for errors related to Vector/Quat normalization 2020-01-24 14:19:23 +01:00
Rémi Verschelde
4faaf6089a Remove unused #if 0'ed code 2020-01-21 21:41:54 +01:00
Haoyu Qiu
92b36d4706 Adds NULL check before using image loader 2020-01-16 21:49:23 +08:00
Bastiaan Olij
ad6d06dc21 Add option to apply an offset to obj mesh import 2020-01-11 19:27:00 +11:00
K. S. Ernest (iFire) Lee
0172a7f932 Use cycle and loop hint flags in glTF2. 2020-01-10 08:02:16 -08:00
K. S. Ernest (iFire) Lee
f028b8b0e4 Support GLTF2 alpha scissors. 2020-01-02 11:52:08 -08:00
Rémi Verschelde
bde52cc688
Merge pull request #34618 from qarmin/vector_please_dont_crash
Don't use constant reference in Vector push_back, insert and append_array
2020-01-02 15:44:41 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rafał Mikrut
1ac701cc37 Don't use constant reference in Vector push_back, insert and append_array 2019-12-26 17:38:08 +01:00
Marios Staikopoulos
d3cf8cfb7d Fix Hard Crash on glTF Color Accessor Import 2019-12-24 15:03:24 -08:00
Rafał Mikrut
ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Marios Staikopoulos
4b28fd4f23 Bugfix: Sanitize glTF importer Animation Names and do not set bone_pose 2019-11-27 12:20:38 -08:00
K. S. Ernest (iFire) Lee
80b1604fa9 33714 glTF2 handle undefined load-time scene. 2019-11-22 08:48:23 -08:00
Rémi Verschelde
ab3bccdb78 Fix typos with codespell
Using codespell 1.16.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-11-22 08:35:03 +01:00
Rémi Verschelde
28613ab8c9
Merge pull request #33794 from nekomatata/gltf-morph-shapes-crash2
Error instead of crash in gltf import with more than one morph target
2019-11-21 22:09:08 +01:00
PouleyKetchoupp
e949665489 Error instead of crash in gltf import with more than one morph target
Redone from PR #33782 to fix the crash without adding compatibility with Blender 2.8
Helps with #16124, while Blender 2.81 has the proper export fix.
2019-11-21 17:25:01 +01:00
K. S. Ernest (iFire) Lee
d0de373884 33756 gltf2 importer should use zfar 2019-11-21 07:52:18 -08:00
K. S. Ernest (iFire) Lee
3b44866bf2 33714 If the gltf2 asset has no scene, it is corrupt. 2019-11-20 10:49:24 -08:00
qarmin
616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
Marcel Admiraal
a8836ba28d Remove dependency on the editor directory being in the build's include path.
- Add or remove the necessary subdirectorires to the includes to remove
dependency on the editor directory being in the build's include path.
- Ensure includes in modified files conform to style guideline.
- Remove editor from the build include path.
2019-10-10 08:57:00 +02:00
homer666
9d98ed1d86 Restore import animation storage checkbox behavior 2019-09-28 12:33:00 +10:00
gladmin
7f3e37fead Fix import hints being ignored by glTF importer
This fixes a regression introduced in commit 72d2468
due to hyphens being removed from nodes names.
2019-09-25 16:58:05 +02:00
Rémi Verschelde
dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin
17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Rémi Verschelde
8c0595b722
Merge pull request #32306 from hbina/unused_variable
Fixed incorrect usage of variables in querying values.
2019-09-25 08:49:31 +02:00
Marios Staikopoulos
4631b0ca62 glTF: Fixed mistake with root node calculation in skin_verify
Was not actually grabbing the computed roots for comparison, but instead
was grabbing the disjoint_set representatives.
2019-09-24 21:49:25 -07:00
Hanif Bin Ariffin
d1e069ea23 Fixed incorrect use of variables
The previous committer mistakenly used the wrong variable to query some values.
This commit simply changes it so that it queries the right Dict.
2019-09-24 16:45:34 -04:00
Rémi Verschelde
159470df08
Merge pull request #32275 from godotengine/skin_support
Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
2019-09-23 15:02:15 +02:00
Marios Staikopoulos
77e223ff94 GLTF: Fixed some issues with skin groups joining incorrectly and removed unused code
- Skin groups now merge more cleanly together
- Skins whose highest nodes are siblings of another skin now get merged also
- Skin nodes who have children of another skin now also fuse together
- Removed the re-rooting of IBM code, as it is no longer needed with the Skin system
2019-09-22 17:45:36 -07:00
qarmin
50be65bf43 Changed some code found by Clang Tidy and Coverity 2019-09-22 18:45:08 +02:00
Marios Staikopoulos
72d2468d68 More GLTF Fixes
1: Depth draw mode set for transparent materials (iFire)
2: Skeletons
  - Bone names now unique and seperate from scene names
  - Due to mixture of fake joints and joints, new bone sanitizing for names added
  - Fixed an issue where some disjoint skins were not being joined due to a logic error
  - Deterministic and Depth-first bone creation order
3: Skins
  - Removed duplicate skins when possible
4: Animations
  - Fixed invalid morph target names
2019-09-21 21:45:38 -07:00
Marios Staikopoulos
6fc5647bc3 GLTF Importer - Add more Index types and const-ed up the code 2019-09-21 15:21:02 -07:00
Marios Staikopoulos
11e09e59d1 GLTF2 Import Fixes - Skin(s) to Skeleton - Skin Support 2019-09-20 23:08:58 -07:00
Juan Linietsky
d81ddaf33e Added skin support and simplified APIs to override bone position. 2019-09-18 19:46:32 -03:00
willnationsdev
7ac0239afa Add CSV import without translation. 2019-09-03 19:37:20 -05:00
Rasmus Ketelsen
c653a020d6 Disabled trim and normalize as default for wav import 2019-08-30 11:46:50 +02:00
Rasmus Ketelsen
8dfe83406f Added the ability to import scene resources as .tres files 2019-08-27 15:21:20 +02:00
Fabio Alessandrelli
c19871af6d Move CryptoCore to it's own folder.
Crypto classes will be placed in core/crypto.
2019-08-19 16:31:05 +02:00
Rémi Verschelde
d3153c28f0 Replace last occurrences of 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG'
The last remaining ERR_EXPLAIN call is in FreeType code and makes sense as is
(conditionally defines the error message).

There are a few ERR_EXPLAINC calls for C-strings where String is not included
which can stay as is to avoid adding additional _MSGC macros just for that.

Part of #31244.
2019-08-17 13:31:22 +02:00
Braden Bodily
71d71d55b5 Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
Condensed some if and ERR statements. Added dots to end of error messages

Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Joseph Catrambone
c2e91005ef Bugfix in GLTF import: Flipping boolean check. Reindexing should _NOT_ happen when blend shapes are present. 2019-07-27 14:34:54 -07:00
Rémi Verschelde
4c943cca2c
Merge pull request #30716 from qarmin/fixed_static_analiser_code
Fix some code found by Coverity Scan and PVS Studio
2019-07-23 15:08:44 +02:00
qarmin
aab8da25ad Fix some code found by Coverity Scan and PVS Studio 2019-07-23 09:14:31 +02:00
Rémi Verschelde
a1b4568ba9
Revert "Tweak SpatialMaterial's default metallic and roughness texture channels" 2019-07-22 11:56:41 +02:00
qarmin
6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
Hugo Locurcio
c9445632e1
Hide "Max Rate Hz" if "Max Rate" is unchecked when importing WAV sample 2019-07-07 18:53:21 +02:00
Fabio Alessandrelli
564d93ff10 CryptoCore class to access to base crypto utils.
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.

To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.

If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.

Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Rémi Verschelde
5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin
072e40368e Fix always true/false values 2019-06-20 16:59:48 +02:00
Rémi Verschelde
b9f8e072ce
Merge pull request #26205 from Calinou/spatialmaterial-use-packed-channels
Tweak SpatialMaterial's default metallic and roughness texture channels
2019-06-20 11:46:01 +02:00
JohnJLight
38d3bfe971 Made use of semicolons more consitent, fixed formatting 2019-06-19 15:24:31 +02:00
Rémi Verschelde
b486f5dde0 glTF: Fix import of animations with INTERPOLATION_LINEAR
Bug found thanks to GCC 8's -Wduplicated-branches.
Slight refactor for readability.
2019-06-15 15:20:13 +02:00
Rémi Verschelde
30e8b53c38
Merge pull request #29680 from akien-mga/fix-headers
Add missing license headers
2019-06-11 19:01:40 +02:00
Rémi Verschelde
f18121824c Add missing license headers
Make `fix_headers.py` script compatible with Python 3.
2019-06-11 15:33:32 +02:00
Rémi Verschelde
6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
Rémi Verschelde
c957e56741
Merge pull request #24286 from glaforte/bugfix/20878
Fixes the support of the 'keep on reimport' flag - Issue #20878.
2019-05-30 16:42:50 +02:00
Rémi Verschelde
c51d2ed55c
Merge pull request #25480 from WindyDarian/scene_import_root_type_script_global_class_support
Support script global class (class_name) as root_type when importing a scene
2019-05-29 17:31:15 +02:00
Rémi Verschelde
e0574e1d98 Fix typos with codespell
Using codespell 1.15.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Rémi Verschelde
7013607ef9
Merge pull request #28365 from fire/split_clip_blend_shapes
Modify ResourceImporterScene to split animations with blendshapes.
2019-05-06 16:58:29 +02:00
Rémi Verschelde
6ee5f7c881
Merge pull request #27453 from KoBeWi/glhf_scene_root
Use filename for scene root of imported models
2019-04-30 11:38:32 +02:00
Rémi Verschelde
ceebd748b9
Merge pull request #27927 from theisegeberg/#27925_trimHalvesAudio
Fixes WAV import being cut in half with new trim code
2019-04-30 10:46:56 +02:00
homer666
106d1f3c3c Refresh import dock on change "animation/storage" 2019-04-29 11:38:45 +10:00
K. S. Ernest (iFire) Lee
342266d782 Modify ResourceImporterScene to split animations with blendshapes.
# Conflicts:
#	editor/import/resource_importer_scene.cpp
2019-04-23 17:25:44 -07:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Juan Linietsky
04847ef5f9 Added ability for multiple images to be imported as an atlas
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Theis Egeberg
e630591aea Removed extra division by format channels causing sounds to get halved. 2019-04-11 17:17:33 +02:00
Juan Linietsky
5823b5d77d Bundled VHACD library for convex decomposition.
Modified both MeshInstance tools as well as importer to use it instead of QuickHull.
2019-04-10 17:47:28 -03:00
Rémi Verschelde
c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Tomasz Chabora
82fadde680 Use filename for scene root of imported models 2019-04-08 18:43:55 +02:00
qarmin
856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Rémi Verschelde
9984ebba17
Merge pull request #27645 from theisegeberg/fix-wav-import-trim
Fix end pops when trimming wav files
2019-04-07 12:49:23 +02:00
Rémi Verschelde
e6979adb1b
Merge pull request #26918 from aqnuep/skeleton_reparenting_fix
Fix skeleton reparenting to also work when the skeleton node is not a bone
2019-04-05 16:48:42 +02:00
Theis Egeberg
26cc521d55 -Added trim limit constant at top of file, defining at which db trimming should occur (moved from being in the code itself)
-Added fade out frames constant at top of file, defining how many frames should have fade out applied (to avoid pops at the end of trim)
-Rewrote parts of the trimming logic to use an average of volume across all channels instead of any particular channel
-Added fade-out to trimming
2019-04-04 16:37:58 +02:00
Angeloss
40acc3ecdc Fix: Keep custom tracks option now keeps animation loop property and value track update mode.
(cherry picked from commit 589c5698a0)
2019-04-03 16:59:34 +02:00
Vivatchai Kaveeta
32dd9c67c6 Fix order of transformation in GLTF import
From the gltf 2 spec, the order is R  * S. Previously we did S * R, which broke some mesh with non-uniform scale.

Fix #23356, Fix #14725
2019-03-18 03:08:46 +07:00
Daniel Rakos
1cf7ca87ce Fix skeleton reparenting to also work when the skeleton node is not a bone
Existing code only did the reparenting when the parent node was a bone. This
change fixes that, plus the reparenting code itself, which used the index of
the skin instead of the skin index itself to address the skeleton array.
2019-03-11 16:26:45 +01:00
Juan Linietsky
6cb841edcb Ensure ETC2 textures are ALSO compressed to Po2 when have mipmaps. Fixes #26733 2019-03-07 12:16:20 -03:00
Rémi Verschelde
9efbddfee1
Merge pull request #26607 from ptrojahn/translationescape
Unescape translations in CSV importer
2019-03-04 21:54:29 +01:00
Paul Trojahn
aa465f076f Unescape translations in CSV importer
Fixes #25361
2019-03-04 21:07:58 +01:00
Juan Linietsky
2f32a75d2e Skeletons can now choose between using local or world coords for processing, fixes #26468 2019-03-03 12:24:00 -03:00
Rémi Verschelde
86f4fabd46
Merge pull request #26446 from QbieShay/root_node_from_escn
Importer for scenes only overrides the base Node if differently specified by the user
2019-03-03 13:51:09 +01:00
Ilaria Cislaghi
b6fe7a794d Importer for scenes only overrides the base Node if differently specified by the user 2019-03-02 13:31:11 +01:00
Juan Linietsky
3f681b0681 Clean up blend shape support in GLES2 and GLES3. 2019-03-01 16:01:44 -03:00
Juan Linietsky
f669ebeeaf -Properly handle missing ETC support on export
-Added ability for resource importers to save metadata
-Added ability for resource importers to validate depending on project settings
2019-02-26 18:45:06 -03:00
Juan Linietsky
5eeb06ffd1 -Remove harcoded opengl extension testing from OS, ask rasterizer instead.
-Fixed a bug where etc textures were imported broken
2019-02-26 11:58:47 -03:00
Juan Linietsky
74d0ed2236 Many separate fixes to ensure non power of 2 textures work on GLES2, closes #25897 and many others 2019-02-24 22:36:53 -03:00
Hugo Locurcio
eb79833770
Tweak SpatialMaterial's default metallic and roughness texture channels
To follow the glTF 2.0 specification in all cases (including outside
of imported glTF scenes), the blue channel is now used for metallic
and the green channel is now used for roughness.
2019-02-23 19:10:31 +01:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Rémi Verschelde
c5dcbeb160 Scene: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `scene/2d/navigation2d.h` -> `navigation_2d.h`
- `scene/2d/screen_button.h` -> `touch_screen_button.h`
- `scene/3d/scenario_fx.h` -> `world_environment.h`
- `scene/audio/audio_player.h` -> `audio_stream_player.h`
- `scene/resources/bit_mask.h` -> `bit_map.h`
- `scene/resources/color_ramp.h` -> `gradient.h`
- `scene/resources/shape_line_2d.h` -> `line_shape_2d.h`
- `scene/resources/scene_format_text.h` -> `resource_format_text.h`
- `scene/resources/sky_box.h` -> `sky.h`

Dropped:
- `scene/resources/bounds.h`
2019-02-12 17:21:48 +01:00
Rémi Verschelde
b7cc2bb1e2 Core: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`

Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Windy Darian
c478f30321 Support script global class (class_name) when importing a scene
We could already choose a script global class for root_type at scene import config. However, it would fall back to default Spatial if a script global class is chosen. This will make sure the base type for the script class is used, and the script to root node is attached upon import.
2019-01-29 23:25:57 -05:00
Rémi Verschelde
70689ebffd Remove unused iostream includes 2019-01-28 12:16:22 +01:00
Juan Linietsky
ed1b9c1f15 Avoid crash in import (though model still does not work well), fixes #19346 2019-01-26 16:32:05 -03:00
Rémi Verschelde
d54894ffae
Merge pull request #24647 from WindyDarian/gltf_morph_fix
Fix for blend shape incorrectly scaling skinned gltf mesh
2019-01-04 15:21:38 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
d1f3b622f0 Fix missing/malformed license headers 2019-01-01 12:46:36 +01:00
Windy Darian
d9d6119b6e Partial fix for blend shape with gltf
This fixes https://github.com/godotengine/godot/issues/20377 , where blend shape scales the mesh if the mesh is also skinned.
The issue was that the blend shape was trying to blend using BLEND_SHAPE_MODE_RELATIVE (directly adding everything in morph shape as displacement), while bone weights were copied in the morph shape, which resulted in 2x bone weights causing mesh to become bigger when blended.
Setting the blend mode to BLEND_SHAPE_MODE_NORMALIZED while guaranteeing the data is correct fixes the issue (previously treating gltf2's morph displacement data as blend target data).  Ideally we still want to use BLEND_SHAPE_MODE_RELATIVE since it may need much less data, but that seems to require a larger refactor?
2018-12-29 01:13:35 -05:00
Rémi Verschelde
2e39e38c10 doc: Sync classref with current source
Fix various code formatting issues and argument names.
2018-12-27 11:10:18 +01:00
Rémi Verschelde
9c7ca687b2 Make error more explicit when OBJ/MTL files are missing
Fixes #24595.
2018-12-27 10:39:43 +01:00
Rémi Verschelde
c8a5400654
Merge pull request #24241 from Rubonnek/move-to-initializer-list
Moved member variables to initializer list
2018-12-12 09:25:34 +01:00
Wilson E. Alvarez
08f22f1cf0
Moved member variables to initializer list 2018-12-11 18:33:01 -05:00
Rémi Verschelde
5ff403b3b0
Merge pull request #23361 from mrcdk/wav_loop_backward
Add backward looping support to AudioStreamSample (wav files)
2018-12-11 18:43:18 +01:00
Guillaume Laforte
d09ccf6f81 Fixes the support of the 'keep on reimport' flag - Issue #20878. 2018-12-11 08:56:36 -05:00
Bastiaan Olij
fa63a0fe83 Reverse bitangent on everythings to ensure default normal map behavriour is consistent 2018-12-08 13:43:46 +11:00
Rémi Verschelde
6f9aa8727c
Merge pull request #23991 from glaforte/bugfix/19195
Generate the tangents without de-indexing and re-indexing the vertices.
2018-12-03 17:35:50 +01:00
Rémi Verschelde
c608d770d8
Merge pull request #24036 from glaforte/bugfix/18790
Changes the check for a singular matrix to use the scale vector.
2018-11-28 15:18:08 +01:00
Guillaume Laforte
fdb1fe6b92 Changes the check for a singular matrix to use the scale vector.
The check for the determinant does not have enough precision when used with a 0.01 uniform scale.
2018-11-28 08:56:01 -05:00
Guillaume Laforte
675dc00d04 Generate the tangents without de-indexing and re-indexing the vertices.
The support for shape keys / blend shapes depends on a consistent order for the vertices.
Fixes https://github.com/godotengine/godot/issues/19195.
2018-11-26 10:09:52 -05:00
Juan Linietsky
815557c812 Do not normalize normal map when disabled, fixes #20761 2018-11-25 17:05:35 -03:00
Rémi Verschelde
f673bd017d
Merge pull request #23885 from glaforte/bugfix/22848-attempt2
Avoids error messages when importing zero scale transforms in the COLLADA importer
2018-11-22 23:30:19 +01:00
Juan Linietsky
9efc6d85d8 Do not crash on invalid file, closes #21083 2018-11-22 17:27:01 -03:00
qarmin
82ab28e0d2 Make SVG scale more accurate 2018-11-21 19:06:38 +01:00
Guillaume Laforte
3f22f8d1f0 Avoids spamming the user when the COLLADA importer detects a singular basis during the animation import.
Fixes https://github.com/godotengine/godot/issues/22848.
2018-11-21 10:15:08 -05:00
Bastiaan Olij
bcef4b8dc6 Fixing tangent and binormal logic 2018-11-19 22:27:05 +11:00
Juan Linietsky
08612e1cfd No longer force mipmaps on import of VRAM textures, closes #10221 2018-11-02 12:26:11 -03:00
MrCdK
b2bfcb53d6 Add backward looping support to AudioStreamSample (wav files) 2018-10-28 19:37:14 +01:00
Juan Linietsky
e0871b0f52 Baker fixes 2018-10-07 11:18:44 -03:00
Aaron Franke
4f7b33cdcf Remove redundant "== false" code
Some of this code has been re-organized.
f
2018-10-06 16:20:41 -04:00
Rémi Verschelde
62ecb44035 Fix warning about functions defined but not used [-Wunused-function]
Fixes the following GCC 5 warnings:
```
core/io/zip_io.h:128:26: warning: 'zlib_filefunc_def zipio_create_io_from_file(FileAccess**)' defined but not used [-Wunused-function]
core/script_debugger_remote.cpp:110:17: warning: 'ObjectID safe_get_instance_id(const Variant&)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:103:12: warning: 'int _socket_create(IP::Type&, int, int)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:45:15: warning: 'size_t _set_sockaddr(sockaddr_storage*, const IP_Address&, int, IP::Type)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:76:15: warning: 'size_t _set_listen_sockaddr(sockaddr_storage*, int, IP::Type, IP_Address)' defined but not used [-Wunused-function]
editor/editor_fonts.cpp:40:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function]
editor/editor_themes.cpp:85:26: warning: 'Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat>, Color)' defined but not used [-Wunused-function]
editor/import/editor_import_collada.cpp:493:13: warning: 'void _generate_normals(const PoolVector<int>&, const PoolVector<Vector3>&, PoolVector<Vector3>&)' defined but not used [-Wunused-function]
editor/import/editor_import_collada.cpp:524:13: warning: 'void _generate_tangents_and_binormals(const PoolVector<int>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, PoolVector<float>&)' defined but not used [-Wunused-function]
editor/pvrtc_compress.cpp:118:13: warning: 'void _compress_etc(Image*)' defined but not used [-Wunused-function]
modules/etc/image_etc.cpp:89:13: warning: 'void _decompress_etc1(Image*)' defined but not used [-Wunused-function]
modules/etc/image_etc.cpp:93:13: warning: 'void _decompress_etc2(Image*)' defined but not used [-Wunused-function]
modules/gdscript/editor/gdscript_highlighter.cpp:46:13: warning: 'bool _is_whitespace(CharType)' defined but not used [-Wunused-function]
scene/2d/cpu_particles_2d.cpp:510:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function]
scene/3d/cpu_particles.cpp:474:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function]
scene/resources/default_theme/default_theme.cpp:123:20: warning: 'Ref<Shader> make_shader(const char*, const char*, const char*)' defined but not used [-Wunused-function]
scene/resources/default_theme/default_theme.cpp:130:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function]
```

Had to split `core/io/zip_io.h` into header and .cpp file without 'static' keyword.

Not fixed yet (static definition in header used in some files but not all):
```
modules/websocket/lws_helper.h:111:13: warning: 'void _lws_make_protocols(void*, int (*)(lws*, lws_callback_reasons, void*, void*, size_t), PoolVector<String>, _LWSRef**)' defined but not used [-Wunused-function]
```

Also fixed a couple other warnings missed in previous commits.
2018-09-29 22:26:12 +02:00
Rémi Verschelde
3a2ca68af3 SCons: Build thirdparty code in own env, disable warnings
Also remove unnecessary `Export('env')` in other SCsubs,
Export should only be used when exporting *new* objects.
2018-09-28 14:07:39 +02:00
Rémi Verschelde
cdc411fd54 Fix various warnings: [-Waddress], [-Wpointer-arith], [-Wwrite-strings], [-Wreturn-local-addr] and more
Fixes the following GCC 5 warnings:
```
core/os/file_access.cpp:49:19: warning: the address of 'FileAccess::create_func' will always evaluate as 'true' [-Waddress]
servers/audio_server.cpp:192:70: warning: comparison with string literal results in unspecified behaviour [-Waddress]

drivers/gles2/rasterizer_storage_gles2.cpp:4095:90: warning: NULL used in arithmetic [-Wpointer-arith]

modules/gdnative/register_types.cpp:237:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
platform/android/export/export.cpp:207:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

modules/gdscript/gdscript.h:150:67: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:119:56: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:123:56: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:127:50: warning: returning reference to temporary [-Wreturn-local-addr]
servers/physics_2d/collision_object_2d_sw.h:131:52: warning: returning reference to temporary [-Wreturn-local-addr]

editor/plugins/skeleton_editor_plugin.cpp:34:36: warning: extra tokens at end of #include directive
modules/bullet/bullet_types_converter.cpp:31:9: warning: #pragma once in main file

editor/import/editor_scene_importer_gltf.cpp:1996:51: warning: name lookup of 'i' changed
modules/visual_script/visual_script_property_selector.cpp:402:45: warning: name lookup of 'E' changed
scene/gui/tree.cpp:1268:25: warning: name lookup of 'i' changed
scene/resources/visual_shader.cpp:808:32: warning: name lookup of 'i' changed
```
2018-09-27 16:33:52 +02:00
cyclopsian
45ba58c123 Check for absolute paths in OBJ loader 2018-09-16 22:23:40 -04:00
Rémi Verschelde
1a16dabfb5
Merge pull request #21982 from luzpaz/misc-typos
Misc. typos
2018-09-13 10:59:00 +02:00
luz.paz
08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Rémi Verschelde
cc5ab22204
Merge pull request #21935 from goodyttoor/gltf_cubic
Fix cubic spline interpolation in glTF importer
2018-09-12 14:12:32 +02:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Vivatchai Kaveeta
463ead1eb7 Fix cubic spline interpolation in glTF importer
Should solve #21001 #14636
2018-09-10 20:02:39 +07:00
Guilherme Felipe
4356af2a68 [Texture Import] Fix invert color 2018-09-02 11:35:48 -03:00
Rémi Verschelde
9eb4d4ab2d Add missing copyright headers 2018-08-29 22:41:17 +02:00
elasota
084cbdefa2 Fix BPTC and fix importing HDR images with LDR compression 2018-08-27 23:05:04 -04:00
K. S. Ernest (iFire) Lee
fa62037ff6 In the GLTF importer normalize Quaternions after every operation and when reading from the format. 2018-08-27 14:59:28 -07:00
Juan Linietsky
0565adb20f Removed fallback system and merged bptc into s3tc 2018-08-27 13:47:35 -03:00
elasota
02d3d4c2ce Fix crash when importing layered textures 2018-08-26 20:21:27 -04:00
Rémi Verschelde
52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
elasota
7ad1ca525e Hide "no BPTC if RGB" and "HDR Mode" options when not using "Video RAM" import. 2018-08-22 18:31:12 -04:00
elasota
35f6ba5c5d BPTC support 2018-08-21 22:56:04 -04:00
Poommetee Ketson
ec68822cd7 Fix crash while importing corrupted wav
Line 199 does division with 'bits per sample' but the check for
0 is missing.
2018-08-21 02:06:22 +07:00
Guilherme Felipe
72104161db [Texture Importer] Add option to invert color 2018-08-17 13:55:33 -03:00
Juan Linietsky
5b70ad9d34 Respect process order for out of order skeleton bones (fixes GLTF2 import issues). 2018-08-06 22:35:09 -03:00
Juan Linietsky
00c573c255 Several fixes to GLTF2 importer 2018-08-06 18:41:37 -03:00
Juan Linietsky
edde52c8de Added proper import support for 3D and Array textures 2018-08-06 14:56:06 -03:00
Juan Linietsky
5a5614e8ad Add support for line continuations (wtf) in obj format, fixes #7974 2018-07-29 21:37:55 -03:00
Juan Linietsky
317dee95de It is now possible to import images as a separate resource, closes #5738 and likely many others 2018-07-29 16:45:23 -03:00
Rémi Verschelde
91d6fa817e
Merge pull request #15967 from Gamblify/AudioRecordingModule
Audio Recording from godot
2018-07-26 15:37:19 +02:00
Gustav Lund
cd2070c684 Audio Recording module
Implements an Audio bus effect that outputs the audio from the bus into a wav file

Now channels audio recording into an AudioStreamSample instead of saving to wav
2018-07-26 14:14:29 +02:00
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
K. S. Ernest (iFire) Lee
ac541f5d16 Bones are now named and their parents are correct. 2018-07-24 15:29:53 -07:00
Max Hilbrunner
43a2e9e669
Merge pull request #15881 from dertom95/EditorScenePostImport
EditorScenePostImport: added get_source_folder() and get_source_file(…
2018-07-05 02:27:26 +02:00
Juan Linietsky
e179bf0726 Ensure, if a texture meant for a normal map is imported and size limit exists, that it's renormalized after resize. 2018-07-03 10:56:31 -03:00
Juan Linietsky
c02d8be59d further fixes to tag detection on importer 2018-07-02 05:54:58 -03:00
Juan Linietsky
beebd0b9de Add a condition to detect duplicates objects, so cases like object-col.323, common in blender, is still detected as collision. 2018-07-02 02:02:32 -03:00
Juan Linietsky
896e250f2b -Fix in animationplayback, sound would be cut on loop
-Fix on scene importer, keeping changes to animation tracks was not working
2018-07-01 17:45:19 -03:00
Juan Linietsky
b3627e29f0 -Fixes to OBJ importer, option to disable optimization
-Fixes to script language, PlaceHolder can now get and check methods
2018-06-30 19:59:16 -03:00
Juan Linietsky
ad4666f8e0
Merge pull request #19193 from tagcup/quat_norm
Fixed Basis -> Quat conversions, added a few safety checks.
2018-06-25 10:58:04 -03:00
Rodolfo Ribeiro Gomes
01b01209a3 fix default glTF metallic & roughness factor values
The glTF 2.0 spec says that these pbrMetallicRoughness material
properties should be set as 1.0 by default.
In fact, KhronosGroup's official Blender Exporter does not even write
down those parameters if they are set as 1.0.

However, Godot import them as 0.0.

https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#pbrmetallicroughness

Fixes: #19613 https://github.com/godotengine/godot/issues/19613
2018-06-21 00:00:58 -03:00
Pedro J. Estébanez
4810eae03b Import morph target names from glTF
If mesh.extras.targetNames is available. Keep the former naming pattern as fallback.
2018-06-14 00:25:22 +02:00
Thomas Trocha
48e3ff0c8a EditorScenePostImport: added get_source_folder() and get_source_file() methods 2018-05-31 03:23:42 +02:00
tagcup
9d41161596 Fixed Basis -> Quat conversions, added a few safety checks.
Fixes #19027.
2018-05-27 14:15:47 -04:00
volzhs
9d5e1228ea Fix updating mesh when reimporting 2018-05-22 19:58:28 +09:00
Guilherme Felipe
35024d4e7b Add missing copyright headers 2018-05-16 14:50:44 -03:00
Yaakuro
9a50a4442d Use mimetype according to glTF spec. 2018-05-10 23:21:05 +02:00
Juan Linietsky
6244b9e2e1 Add option to renormalize mipmaps when generating them for normalmaps.
Reduces some aliasing.
2018-04-29 21:52:21 -03:00
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Juan Linietsky
b67bfa3328
Merge pull request #16297 from lpn/master
Fixed wave file importer's broken resampling.
2018-04-08 18:41:46 -03:00
Juan Linietsky
829c455a48
Merge pull request #17840 from Dimonasdf/master
Fix Collada material roughness import function
2018-04-07 16:19:11 -03:00
Pedro J. Estébanez
d8765dd103 Fix skeleton import from glTF
For some glTF files, the order of bones in the skeleton array wasn't matching the joints array in the meshes.

Fixes #17808.
2018-04-06 22:22:59 +02:00
Dmitriy Romanov
0812468d05
Fix Collada material roughness import function 4
Made import conversion linear.
2018-04-03 22:05:13 +03:00
Dmitriy Romanov
0e844f6c91 Fix Collada material roughness import function 3
Improved readability and further tweaking of function
2018-03-31 13:44:46 +03:00
Dmitriy Romanov
3b29e85257
Fix Collada material roughness import function 2
Fix minus space.
2018-03-29 12:47:24 +03:00
Dmitriy Romanov
89f4e71679
Fix Collada material roughness import function
Fixes NaN roughness in Godot when hardness in Blender is set to more than 255.
Also corrects dependency: more hardness = more roughness (it says shininess, but it actually is hardness).
2018-03-28 18:54:33 +03:00
Pedro J. Estébanez
1f26da0ad1 Fix animation length from glTF not correctly set 2018-03-19 00:27:14 +01:00
Pedro J. Estébanez
adbe749513 Fix glTF not accepting VEC3 colors
Aside from the colors themselves, the rejection was adding somes issues later in the mesh import process.
2018-03-19 00:27:14 +01:00
luz.paz
612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Florian Zwoch
1abf464b59 gltf: improve embedded data discovery
Some editors seems to use the image resource's mime type (e.g. "image/png") for data embedded uris instead of "application/octet-stream".
2018-02-21 12:18:52 +01:00
Rémi Verschelde
691d5d807c
Merge pull request #16583 from ShyRed/obj-import-scale
Add import option "scale_mesh" to obj file importer
2018-02-19 20:55:23 +01:00
George Marques
95f7879923
Fix infinite recursion with editor import plugins 2018-02-18 16:24:50 -03:00
George Marques
c68948fdfa
Expose priority and order for custom import plugins 2018-02-13 11:59:56 -02:00
ShyRed
291c1d0f45 Add import option "scale_mesh" to obj file importer
The new import option "scale_mesh" allows setting a scale that is applied to the mesh's vertices during import.
2018-02-12 11:36:40 +01:00
L. Nikko
51d0f630d9 Fixed wave file importer's broken resampling. 2018-02-02 00:12:36 +02:00
Juan Linietsky
1322ca6fb2 Ability to import .escn files, which is just a .tscn but with forced import.
This works together with the new Blender to Godot exporter.
2018-01-30 11:04:22 -03:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Rémi Verschelde
0edca99361
Merge pull request #15377 from mrcdk/wav_correct_loop
Fixed loop mode values when importing a wav file.
2018-01-08 14:52:19 +01:00
Poommetee Ketson
3c6dfbfea5 Fix imported BitMap dimension flip 2018-01-08 16:43:47 +07:00
Juan Linietsky
50b975548d Removed PBM bitmap loader, added abiliy to importi mages as bitmap. Fixes #14828 2018-01-06 16:38:36 -03:00
MrCdK
864b064def Fixed loop mode values when importing a wav file.
Importing a wav file that was exported with a custom loop type was causing it being imported with loop mode ping-pong
2018-01-05 22:29:37 +01:00
Juan Linietsky
bb2341e813 Make sure .import folder exists before importing, in case user deleted it manually. Fixes #15315 2018-01-05 17:30:29 -03:00
Juan Linietsky
380ee87e80 Fixed problem with missing uninitialized last byte on waveform trip, closes #15316 2018-01-05 16:28:08 -03:00
Juan Linietsky
a8a3d5c835 Fixes to GLTF2 importer skeleton positioning, though vertex bone indices still look broken somehow.. 2018-01-05 09:53:40 -03:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Juan Linietsky
f11a138505 Added more hacks to GLTF2 importer to support crap exporter (MakeHuman in this case), fixes #13393 2017-12-28 16:07:45 -03:00
Juan Linietsky
3de20641f5 Property install export templates when downloaded from http
added a scale parameter for scene import
2017-12-17 15:48:24 -03:00
Juan Linietsky
fa8a1fc420 Fixes how transform is applied to geometry in UV unwrap 2017-12-17 12:04:54 -03:00
Rémi Verschelde
8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Juan Linietsky
f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
Rémi Verschelde
a845411454 Style: Re-apply clang-format over recent invalid additions 2017-12-10 01:27:02 +01:00
Rémi Verschelde
58e8da57de
Merge pull request #14479 from Web-eWorks/gltf-fixes
Fix importing GLTF meshes as external files.
2017-12-10 00:13:01 +01:00
Webster Sheets
74b68d2e71 Fix importing GLTF meshes as external files. 2017-12-09 17:40:48 -05:00
Juan Linietsky
65fb961b8b -Ability to and unwrap lightmap coordinates on import
-Added unwrap functionality to Mesh
-Ability to display and debug mesh UVs
-Added multiline draw, so it's easier and faster to draw UVs
-Many fixes to SurfaceTool
-Fixes to Thekla Unwrap, but it's a piece of ass and it keeps crashing. Will have to go away
2017-12-09 14:18:14 -03:00
Juan Linietsky
209cb3830c Exposed EditorSceneImporter to script. Added APIs to use intermediate converters more easily. 2017-12-07 15:44:20 -03:00
Juan Linietsky
5614902611 ability to keep user tracks when importing animations, closes #12801 2017-12-07 10:19:35 -03:00
Rémi Verschelde
13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Juan Linietsky
9738ebcda0 -Fixed height fog (was broken)
-Make sure materials are named in OBJ importer, so they can be saved outside as resources.
2017-11-25 12:32:41 -03:00
Juan Linietsky
66a8a07c2c Add importer option to make meshes bakeable by default. 2017-11-25 01:29:35 -03:00
Juan Linietsky
bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Rémi Verschelde
91349290dc
Merge pull request #12717 from NathanWarden/material_import_fix
Fixed a bug where materials and/or meshes weren't assigned to scene on first import.
2017-11-20 09:13:36 +01:00
Daniel J. Ramirez
5e56366eba Fix import obj as scene. 2017-11-19 13:51:05 -06:00
Ferenc Arn
d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Rémi Verschelde
2070b80fc0
Merge pull request #12966 from SaracenOne/convcol
Added 'convcol' flag for importing meshes as convex collision
2017-11-16 16:38:38 +01:00
Saracen
f8a95499bd Added 'convcol' flag for importing meshes as convex collision and completed code
for parsing collision flags to mesh data.
2017-11-16 13:06:30 +00:00
Webster Sheets
05dce362d5 Fix for #12056, though GTLF import of that file is still incorrect. 2017-11-12 23:47:51 -05:00
Nathan Warden
400db80d25 Fixed a bug where materials weren't assigned to scene on first import. 2017-11-07 00:06:11 -05:00
Saracen
ef90965883 Restores functionality of the use_compression flag in the Collada importer. 2017-11-01 00:01:24 +00:00
Rémi Verschelde
6361e24f29 Cleanup unnecessary debug prints 2017-10-21 20:41:07 +02:00
Juan Linietsky
f494470005 Restored ability to import OBJ files as meshes directly. Finally closes #9445. 2017-09-29 20:38:27 -03:00
Leon Krause
0899b5029c Correct spelling SEPERATE -> SEPARATE to fix build 2017-09-21 03:29:26 +02:00
Juan Linietsky
423ca9bcaf Fix import order, so scenes are imported after textures.
Also fix bugs when meshes are always generated.
2017-09-20 21:04:20 -03:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Indah Sylvia
13b630eb0c Fixed Typo: 'Seperate' to 'Separate' 2017-09-19 15:51:00 +07:00
Wilson E. Alvarez
072e379ffe Renamed function arguments to keep them consistent between declaration and implementation 2017-09-14 13:49:15 -04:00
Rémi Verschelde
e73e00d369 Style: Apply clang-format to @reduz's changes
[ci skip]
2017-09-13 09:13:34 +02:00
Hein-Pieter van Braam
2648e50779 Merge pull request #11066 from SaracenOne/animation_external_resources
Allow animations to be saved to external files during scene import.
2017-09-12 14:28:48 +02:00
Rémi Verschelde
aabbd00284 Merge pull request #10908 from hpvb/fix-unused-variables
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Rémi Verschelde
cf941fdc35 Merge pull request #11026 from hpvb/fix-assign-in-if
Remove assignment and declarations in if statements
2017-09-12 11:57:49 +02:00
SaracenOne
f95edd3be9 Allow animations to be saved to external files during scene import. 2017-09-11 06:59:03 +01:00
Hein-Pieter van Braam
b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam
8230bf0a2f Remove assignment and declarations in if statements
After discussing with @reduz and @akien-mga it was decided that we do
not allow assignments or declarations in if statements. This PR removes
the instances of this I could find by automated means.
2017-09-08 14:59:15 +02:00
Hein-Pieter van Braam
67a706fc1b Fix various assorted warnings
Fix various warnings that don't have enough instances to merit
individual commits. Also fixes a potential bug in audio_server.cpp.
2017-09-08 14:57:48 +02:00
Juan Linietsky
f5c5d07f9c Added a warning for when a PC compression is not found for the project, closes #10626 2017-09-05 20:17:26 -03:00
Rémi Verschelde
437fb12e1a Merge pull request #10877 from hpvb/fix-unitialized-variables
Fix use of unitialized variables
2017-09-02 10:40:12 +02:00
Juan Linietsky
ded74dedef Fixed missing return value in glTF2.0 importer camera, closes #10130 2017-09-01 22:36:49 -03:00
Hein-Pieter van Braam
9c63ab99f0 Fix use of unitialized variables
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Hein-Pieter van Braam
f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Juan Linietsky
d39e79e7ec Fix issues regarding reload of resources in imported scenes. Closes #10017 2017-08-31 18:57:44 -03:00
toger5
3b6a65b1e4 updated import settings loader to 'svg/scale' fixes: #10815 2017-08-31 18:52:07 +02:00
Rémi Verschelde
f00760b22c Merge pull request #10382 from toger5/dark_icons
Light Theme
2017-08-31 11:47:18 +02:00
toger5
c8448cb0ac moved 'scale import setting' into svg section 2017-08-30 21:19:13 +02:00
Juan Linietsky
efcafab625 Changed defaults, as it seems to be obviousy better to keep materials outside by default.. 2017-08-29 21:54:26 -03:00
Juan Linietsky
a2027cfa49 -Fixes to how collada generates tangents (use SurfaceTool), closes #9562
-Fix to gridmap cell size (wrong property type)
2017-08-29 08:48:39 -03:00
Ferenc Arn
609ef89362 Fix the channels gltf importer uses for metallic and AO textures.
Khronos blender gltf exporter uses red channel for occlusion and blue channel for metallic, whereas the current behavior is the opposite.

Fixes #10700.
2017-08-28 15:09:47 -04:00
Rémi Verschelde
59d1f96418 Merge pull request #10688 from Noshyaar/pr-csv2
ImporterCSV: add delimiter options , ; or \t
2017-08-28 00:06:50 +02:00
Rémi Verschelde
7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Poommetee Ketson
4e0d1c8f1c ImporterCSV: add delimiter options , ; or \t 2017-08-27 22:14:09 +07:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Poommetee Ketson
4940f490c4 ImporterCSV: print error condition to console 2017-08-27 13:48:48 +07:00
Juan Linietsky
1894157c9f -Massive clean up to gizmos
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Hein-Pieter van Braam
3894f20d98 Remove an assignment to self
This line does a = a and has a FIXME line. It seems that reduz can't
think of a reason for it either, so here it goes.
2017-08-23 23:51:37 +02:00
Rémi Verschelde
df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Wilson E. Alvarez
738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Daniel J. Ramirez
da8fecf25e Added support for SVG 2017-08-20 13:53:02 -05:00
Juan Linietsky
e61d547ed0 Make sure local to scene resources are initialized after loading all nodes, fixes #9438 2017-08-18 08:26:41 -03:00
Juan Linietsky
33c1d25517 Several improvements and fixes to import system. Might fix many issues opened, but have to check in detail.. 2017-08-17 17:18:50 -03:00
Rémi Verschelde
b1ecaaa22b Merge pull request #10307 from Rubonnek/update-argument-names
Updated function argument names
2017-08-16 17:17:56 +02:00
Juan Linietsky
cb0e357d0b Converting to MeshLibrary works again, fixes #8092 2017-08-15 11:41:17 -03:00
Wilson E. Alvarez
428f03cf06 Updated function argument names 2017-08-12 15:12:49 -04:00
Poommetee Ketson
023321d59e ResourceImporterScene: fix 'bult' typo 2017-08-08 11:11:14 +07:00
Thomas Herzog
0188ce5c80 Merge pull request #10015 from marcelofg55/master
Implement 32 bit IEEE float WAVE format
2017-08-07 23:11:35 +02:00
Juan Linietsky
26ff90eaed Full GLTF 2.0 Specification support! cheers! 2017-08-03 19:42:32 -03:00
Juan Linietsky
5c361485db -Added GLTF scene support (still missing animations and .glb extension)
-Fixed bugs regarding tangent generation in SurfaceTool
2017-08-02 15:43:49 -03:00
Marcelo Fernandez
c09428e950 Implement 32 bit IEEE float WAVE format 2017-08-01 12:48:10 -03:00
Rémi Verschelde
daad16b7c7 Merge pull request #10009 from marcelofg55/master
Fix possible division by zero crashes on the wav importer
2017-08-01 09:45:50 +02:00
Marcelo Fernandez
af6f222b79 Fix possible division by zero crashes on the wav importer 2017-07-31 21:57:58 -03:00
Pedro J. Estébanez
c082f4134f Fix equality when assignment intended 2017-08-01 01:58:14 +02:00
Rémi Verschelde
76005a8e75 Style: Apply clang-format on all files
Thus fixing some invalid changes that had still made it to the master branch.
2017-07-30 22:53:40 +02:00
Juan Linietsky
b276d92c8a Few small GI Probe fixes 2017-07-29 00:04:29 -03:00
Juan Linietsky
85aa0adeef small grammar fix 2017-07-23 18:55:08 -03:00
Juan Linietsky
66009706c9 -Ability to set default import presets for type
-More presets for scene importer
-Option in scene importer to export root nodes as separate scenes
-Fixed MeshInstance preview
2017-07-23 18:50:25 -03:00
Rémi Verschelde
8495acc510 Merge pull request #9754 from Hinsbart/obj_fix
OBJ Importer: Fix relative path materials.
2017-07-22 13:49:19 +02:00
Andreas Haas
0bc5fca4d5
OBJ Importer: Fix relative path materials. 2017-07-21 20:59:22 +02:00
Juan Linietsky
25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Juan Linietsky
bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Juan Linietsky
2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Mike Demchenko
836c8bfacf Inline documentation request satisfied. 2017-07-07 03:01:46 +04:00
Juan Linietsky
12a8fedfe6 Some changes to dual paraboloid envmap generation, fixes somme bleeding 2017-07-05 19:39:45 -03:00
Rémi Verschelde
e54c7d5715 Merge pull request #9457 from TwistedTwigleg/Fixed_Vector3_snap
Fixed syntax inconsistency in Vector3.snap and Vector3.snapped
2017-07-03 23:43:33 +02:00
TwistedTwigleg
44ecfb028d Fixed syntax inconsistency in Vector3.snap and Vector3.snapped 2017-07-03 16:29:03 -04:00
Juan Linietsky
e63c64e256 Clean up normalmapping, make sure tangents are imported correctly. 2017-07-03 10:45:34 -03:00
Juan Linietsky
83ae9a5e28 Ability to restart particle system with a function call 2017-06-25 08:01:50 -03:00
Andreas Haas
e80d61038b
Fix EditorImportPlugin::get_preset_count
Was missing a const...
2017-06-20 21:25:12 +02:00
Juan Linietsky
b19225bfce -Fix freezes caused by etccomp2, closes #9183
-Normalmaps are now detected and imported as RGTC, both in S3TC and ETC2, this improves their quality.
2017-06-16 21:49:37 -03:00
George Marques
7966ebe6fa
Complete changing of resource extensions
Some places were missing in e42d59f.
2017-06-16 15:42:18 -03:00
George Marques
e42d59f01e
Rename Godot-specific resource extensions 2017-06-15 21:35:20 -03:00
Juan Linietsky
a8e845a474 Merge pull request #8548 from tagcup/etc2comp
Add ETC1/ETC2 compression support though etc2comp.
2017-06-13 19:17:13 -03:00
Juan Linietsky
612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Juan Linietsky
5bf810b5db -Added proper access to depth texture from shader
-Split Mesh into Mesh (abstrat class) and ArrayMesh, to allow to proper mesh primitives, as well as streamable meshes in the future.
2017-06-07 18:20:04 -03:00
Ferenc Arn
6a9c990da7 Add ETC1/ETC2 compression support though etc2comp.
Remove rg-etc1 code. Also updated travis to use ubuntu 14.04.

Fixes #8457.
2017-05-31 18:59:00 -05:00
Juan Linietsky
a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
Juan Linietsky
5567e898d1 Several fixes related to PBR and Environment 2017-05-30 08:56:19 -03:00
Juan Linietsky
f89641907f -Added EXR supprot for HDR (no BC6 compression yet though)
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
2017-05-26 22:31:32 -03:00
Andreas Haas
4d8e45de17
Fix errors on engine startup.
Fixes a bunch of the most spammy console errors introduced by recent refactorings:

- `AudioServerState` does not exist, this was the reference to it in the source. The surrounding code made it clear that `AudioServerLayout` was meant to be used instead.
- `StreamCSVTranslation` same here, it's the only reference. I went with `Translation` here, but I'm not 100% sure on this one.
- Some methods have been moved from `Texture` to `Image`, but the old bindings were still there.
- A few `name == ""` errors related to duplicating nodes.
2017-05-22 20:50:59 +02:00
Rémi Verschelde
871b6b5517 Merge pull request #8716 from Hinsbart/import-plugins
Bring back EditorImportPlugin
2017-05-18 13:08:07 +02:00
Juan Linietsky
98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Andreas Haas
c04604461d
Bring back EditorImportPlugin
This adds a new implementation of the EditorImportPlugin class, allowing to leverage the new importing system via tool scripts.
Will be especially useful when used together with GDNative, to support formats like fbx :)
2017-05-12 12:46:25 +02:00
Rémi Verschelde
9437d610e1 Merge pull request #8556 from ippan/obj_import
support obj with negative indices
2017-05-05 22:45:36 +02:00
PanPan
3cdfac7ed2 support obj with negative indices 2017-05-02 19:43:01 +08:00
Rémi Verschelde
7ce8342ac5 Rename project file to "project.godot"
Slimmed down variant from the reverted #8375.
The rationale behind the name change is to give Godot's project file a unique
extension (".godot") that can be registered on the OS to be associated with
the Godot binary (OS registration not implemented here).

This PR also adds the possibility to start the game or editor if launched
with the project.godot passed as argument, which paves the way for allowing
a similar behaviour on a double-click in the OS file manager (code originally
by @Hinsbart).

Closes #6915.
2017-05-01 17:50:19 +02:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky
74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
Rémi Verschelde
debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Rémi Verschelde
5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde
e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Rémi Verschelde
49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00