Commit Graph

767 Commits

Author SHA1 Message Date
kbake a72d17cf11 Scroll bars now look different on press 2017-08-12 17:46:26 -04:00
Zher Huei Lee b6ec3f02f0 Added Tile and TileFit to StyleBoxes
Was already implemented for Patch9 boxes, but wasn't exposed here.
Allows for use in other GUI elements like panels and buttons.
2017-08-12 09:57:56 +08:00
Rémi Verschelde b47e6c0dba Merge pull request #10194 from Keetz/update-default-values
Updated default values in SpatialMaterial and Environment
2017-08-11 10:39:12 +02:00
Ignacio Etcheverry 78619a5866 Fixes method definitions with extra number of arguments 2017-08-10 07:17:51 +02:00
Ignacio Etcheverry 2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Rasmus Ketelsen 141aac48ff Updated default values in SpatialMaterial and Environment 2017-08-09 10:11:36 +02:00
Juan Linietsky df573f5c3a -Restored Sprite3D to working function, fixes #2061, fixes #9738
-Restored an alpha scissor property in Material
2017-08-08 17:23:44 -03:00
Ignacio Etcheverry 640a3c46c3 Texture: Fix wrong method bind instance type 2017-08-07 12:01:13 +02:00
Juan Linietsky 8e51c70374 Added missing binding to ImageTexture, closes #8371 2017-08-06 11:38:27 -03:00
Juan Linietsky 475e8b28b2 keep default exported script values unless overriden, closes #8127 2017-08-06 09:33:59 -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
Rémi Verschelde 85088275c5 Merge pull request #8209 from robertdhernandez/Texture-Region-Editor-Sync
Texture region now updates when changing an Atlas region rect
2017-08-01 00:15:37 +02:00
Andrii Doroshenko (Xrayez) aa1165a3f5 Bind some useful methods in SurfaceTool to GDScript
These include:
* generate_tangents()
* add_to_format()
* create_from()
* append_from()

Reordered and grouped the bindings to match the header for improved readability.

Removed commented out `generate_flat_normals()` method which wasn't present
in the header.

Fixes #9946
2017-07-31 15:50:37 +03: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 f5277e347d Fixes to glow and auto exposure, closes #9797, closes #9106 2017-07-26 00:40:32 -03:00
Juan Linietsky 47b2455a62 Good bye chunky fonts, closes #9441 2017-07-25 09:29:27 -03:00
Rémi Verschelde 374cffaa11 Merge pull request #9764 from Noshyaar/pr-fix2
Add object type hint for docs
2017-07-24 08:07:32 +02: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
Poommetee Ketson 2777f81d29 Add object type hint for docs 2017-07-23 18:57:03 +07:00
Juan Linietsky 772485cdb3 Several changes to better run in mobile. 2017-07-22 14:08:17 -03:00
George Marques 2a0c0db028
Fix "vertical" property of StyleBoxLine 2017-07-19 23:30:39 -03: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
Rémi Verschelde c5ba9d9b7c Merge pull request #9703 from Noshyaar/docs
Add object type hint for docs
2017-07-19 10:00:20 +02:00
Poommetee Ketson 49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Rémi Verschelde 0afa77a8a2 Merge pull request #9689 from djrm/theme_fixes
Added separators using StyleBoxLine, some theme style fixes
2017-07-18 14:06:04 +02:00
Daniel J. Ramirez 17c3422431 Added separators using StyleBoxLine, some theme style fixes, added variant icon 2017-07-18 01:09:19 -05:00
Rémi Verschelde 5a42bbaace Merge pull request #9482 from Noshyaar/pr-ramp
Fix shrunk ColorPickers
2017-07-18 07:52:32 +02:00
Poommetee Ketson 668d00ff2d Fix ColorPicker to use theme constants 2017-07-18 09:43:16 +07: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
Rémi Verschelde f36cd77feb Merge pull request #9639 from rminderhoud/primitives
Moved binds of PRIMITIVE_* contants from ArrayMesh to Mesh
2017-07-18 00:44:57 +02:00
Daniel J. Ramirez a3c2d9a6bd Improvements and fixes for the default theme.
Added customizable border size and window highlight.
2017-07-16 13:23:59 -05: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
Ralph Minderhoud bf18c35dd7 Moved binds of PRIMITIVE_* contants from ArrayMesh to Mesh 2017-07-14 08:46:21 -05:00
ducdetronquito 074801e7a9 [#7212] Fixed missing 'Variant' return values in documentation. 2017-07-11 13:25:51 +02:00
Poommetee Ketson 0c66078bcb Slider: add set/is_editable 2017-07-11 02:48:55 +07:00
Rémi Verschelde d23fc16b2d Merge pull request #9564 from Noshyaar/pr-threshold
Refactor 'treshold' to 'threshold'
2017-07-08 23:51:53 +02:00
Juan Linietsky e577c5b070 Some adjustments to toon material to make it more flexible
Ability to also disable specular
2017-07-08 14:01:56 -03:00
Juan Linietsky f4c8c552f9 Added triplanar mapping, toon mode, and more specular modes for materials. Added multipass support for materials. 2017-07-08 12:36:15 -03:00
Poommetee Ketson 2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
Juan Linietsky 84de71872f -Added triplanar mapping modes
-Some fixes to shader lang
2017-07-08 08:07:49 -03:00
Johan Manuel 00afca31c6 Use the gravity constant to calculate weights 2017-07-05 15:14:12 +02:00
Juan Linietsky 7263137dba Implemented environment arrays for skybox reflection and roughness, quality increase is enormous. 2017-07-04 23:53:08 -03:00
Rémi Verschelde b8ae605603 Merge pull request #9481 from BastiaanOlij/prim_capsule_flat
Re-orient capsule to collision shape
2017-07-03 22:47:26 +02:00
BastiaanOlij f02ccffca3 Re-orient capsule to colission shape 2017-07-03 23:53:06 +10:00
Juan Linietsky e63c64e256 Clean up normalmapping, make sure tangents are imported correctly. 2017-07-03 10:45:34 -03:00
Bojidar Marinov 88ae942029
Readd shape_offset as an editor-only and backcompat property 2017-07-01 20:58:35 +03:00
Bojidar Marinov 4d2642b666 Readd tilemap's shape_transform and bugfixes
This reverts commit a808f53020.
2017-07-01 20:56:51 +03:00
Juan Linietsky a808f53020 Revert "Fix Tileset/tilemap issues related to my adding of one-way collisions to them" 2017-07-01 13:02:04 -03:00
Juan Linietsky 2a3e00c8c7 -Many fixes to VisualScript, fixed property names, etc.
-Added ability to set/get a field in GetSet, as well as assignment ops
-Added a Select node
-Fixed update bugs related to variable list and exported properties, closes #9458
2017-06-30 21:35:05 -03:00
Bojidar Marinov 80356f925c
Fix #9409, fixup #9370; tileset now has shape transform instead of offset
Fix bad return type in CollisionObject2D, Shape -> Shape2D. Was causing unintended null when casting. (9409)
Fix a misplaced ++ operator. (9370)
Fix merging with exiting tileset duplicating shapes. (9370)
2017-06-30 19:01:20 +03:00
Robert Hernandez f0f407e76e Texture region now updates when changing an Atlas
- Removed atlas_changed signal for AtlasTexture
- Changes are now handled by _notify_change
- Removed unneccesary signal connections
- Texture preview now updates in real-time

Fixed TextureRegionEditor constantly regenerating
2017-06-29 10:49:24 -04:00
Juan Linietsky db3b05d289 Reworked translation system
-Label and Button reload translation on the fly
-Resources are loaded and reload depending on locale
2017-06-28 17:01:35 -03:00
Poommetee Ketson 0200507387 Fix build error on master 2017-06-28 10:41:43 +07:00
Marc Gilleron 6c1ab2098f Fix curve saving, refined undo/redo 2017-06-28 02:43:30 +02:00
Juan Linietsky 51442988b1 Merge pull request #9404 from Zylann/curve_improvement
Curve improvement
2017-06-27 07:53:52 -03:00
Juan Linietsky 3ce046ee0c -Fixed SCREEN_TEXTURE and other related 2D shader parameters.
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
Rémi Verschelde f1cc3b700a Merge pull request #9268 from BastiaanOlij/improve_defaults
Align primitive defaults to default collision shape sizes
2017-06-26 23:56:57 +02:00
Marc Gilleron 69b8f61f25 Curve features
- Ability to set tangents as linear
- Indicative min and max values
- CurveTexture doesn't need min and max anymore
2017-06-26 23:41:37 +02:00
Rémi Verschelde f2bc0cc966 Merge pull request #9370 from bojidar-bg/c-9318-oneway-tilemaps
Add one-way collisions and individual shape offsets for tilesets
2017-06-26 22:47:26 +02:00
Rémi Verschelde f7b77e5b76 Merge pull request #9318 from bojidar-bg/readd-normal-tilemap
Add normal map to tilemaps and tilesets
2017-06-26 22:47:11 +02:00
Juan Linietsky d41978eb63 Usability improvements for folding. Unfortunately SpatialMaterial broke compatibility. 2017-06-25 18:57:28 -03:00
Bojidar Marinov 207feb2f87
Add one-way collisions and individual shape offsets for tilesets
As requested in #9318
Accidentially fixes #2231 as well
2017-06-25 21:47:30 +03:00
Ramesh Ravone c6e295c399 Fixes method bind 2017-06-25 16:35:39 +05:30
Poommetee Ketson e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Marc Gilleron 2bb1638b0a GradientTexture now uses a Gradient
- Added gradient property
- Deleted duplicate code
2017-06-24 21:50:44 +02:00
Poommetee Ketson 04164bb317 Environment: remove ssr_accel property, fix typo 2017-06-24 16:07:37 +07:00
Marc Gilleron 659897cfb8 Added Curve resource
- New resource for curves in y(x) form
- CurveTexture now has a Curve
- Curve and CurveTexture share the same editor
2017-06-24 01:01:36 +02:00
Bojidar Marinov 2edb082c7e
Add normal map to tilemaps and tilesets
Fixes #9310
2017-06-22 18:15:50 +03:00
Juan Linietsky fb72edf45e Properly exposed material types everywhere. 2017-06-22 09:33:20 -03:00
BastiaanOlij bf6f3881a1 Align primitive defaults to default collision shape sizes 2017-06-19 21:40:16 +10:00
Juan Linietsky 0288be1e76 Texture rect_region drawing now clamps UV to avoid bleeding. This avoids scenarios like single-texture tilemap tiles leaking pixels to the next tile when filter is enabled on it. 2017-06-18 22:55:02 -03:00
Juan Linietsky 969fa3cc73 -Added AudioStreamPlayer2D, for 2D positional sound
-Added ability for Area2D to redirect positional sound to a specific audio bus
2017-06-18 21:07:32 -03:00
Juan Linietsky 33bf180067 Added normalmap support to stylebox and animated sprite. 2017-06-18 00:03:28 -03:00
Juan Linietsky 5c6cac4e53 Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far. 2017-06-17 23:27:42 -03:00
Juan Linietsky 2da3f48e5a -Fixed shader lang to not be able to get scalar from matrix (ie mat.x), to make it more GLSL compatible
-Fixed referencing of world_transform in fragment shader not working
-Fixed unsycn bug related to getting shader param list from the server
-Fixed getting all textures from shader properly, fixes #8353
2017-06-17 11:03:48 -03:00
Rémi Verschelde 63544169f0 Merge pull request #9228 from BastiaanOlij/fix_primitive_slider
Fix sliders for primitives
2017-06-17 10:36:41 +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
BastiaanOlij 4f20f52d5f fix sliders for primitives 2017-06-17 09:18:09 +10:00
BastiaanOlij 1e5a6d3cc8 Add sensible hints to properties 2017-06-16 23:56:13 +10:00
BastiaanOlij 9483613138 Godot 3.0 primitives as resources for use with MeshInstance
Adds the following resources:
- CapsuleMesh: a capsule object
- CubeMesh: a cube that can be subdivided
- CylinderMesh: a cylinder
- PlaneMesh: a horizontal plane that can be subdivided
- PrismMesh: a prism shape
- SphereMesh: a sphere
- QuadMesh: reintroduction of the original quadmesh

Removes the old Quad and TestCube nodes
2017-06-16 21:40:23 +10:00
Juan Linietsky 5d02b948a9 Cleaned up Screen Space Reflections, closes #8119 2017-06-16 08:30:21 -03:00
Juan Linietsky 29cfc365aa Fixes to SSR, WIP. 2017-06-16 08:30:21 -03:00
George Marques e42d59f01e
Rename Godot-specific resource extensions 2017-06-15 21:35:20 -03:00
Juan Linietsky da14225ad8 fix bug related to unshaded materials not working on MSVC. Not cleanest solution, might think about how to improve later. 2017-06-15 10:36:00 -03:00
alexholly 935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02: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
Juan Linietsky 840ac8c018 Fog is complete! 2017-06-07 08:38:21 -03:00
Juan Linietsky 0fb99306ff -working SCREEN_TEXTURE, SCREEN_UV shader variables
-Added refraction support for default material
-Enabled BCS adjustments, as well as color correction.
2017-06-05 22:34:32 -03:00
Rémi Verschelde f8d7670e82 Merge pull request #9038 from AlexHolly/rect2-rename-pos
renamed all Rect2.pos to Rect2.position
2017-06-05 15:52:05 +02:00
Juan Linietsky 01198cb896 Removed stupid right arrow to edit resource. Now simply click it.. 2017-06-04 20:35:45 -03:00
Juan Linietsky 5aa66d03d8 Added depth texture support (using parallax) to default material. 2017-06-04 20:35:45 -03:00
alexholly a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Juan Linietsky 8a1097a224 many fixes to image loader, voxel cone tracing, etc. 2017-06-02 22:08:41 -03:00
Juan Linietsky c03131fc9f Rework shading modes and change location of light shader 2017-06-01 18:56:02 -03: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 bb20f230ad -Added .hdr format support
-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-28 21:48:05 -03:00
Juan Linietsky bf6380ee70 Removed skybox support, added panorama support. Skybox support may come back eventually, but hope not. 2017-05-25 14:00:43 -03:00
Rémi Verschelde 6d0809b095 Merge pull request #8869 from Hinsbart/errors
Fix errors on engine startup.
2017-05-25 08:37:48 +02:00
Juan Linietsky d093b78f12 Fix stex import into black textures when lossless and lossy are selected, closes #8801 2017-05-23 08:55: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 869d6b1d33 Merge pull request #8818 from tagcup/mesh_methods
GDScript bindings for various missing Mesh functions.
2017-05-20 09:48:36 +02:00
Rémi Verschelde 231511b2a6 Merge pull request #8631 from volzhs/editor-theme-custom
New customizable editor theme
2017-05-20 07:16:11 +02:00
Ferenc Arn f2a335d0c1 GDScript bindings for various missing Mesh functions.
Fixes #8041.
2017-05-18 16:29:17 -05:00
Rémi Verschelde c3baf5eb3c Fix two typos from previous commit
Also cleanup comments on variant types.
2017-05-17 18:45:56 +02:00
Juan Linietsky 98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
volzhs bb81293047 New customizable editor theme 2017-05-09 17:46:54 +09:00
volzhs 17e8e343fb Revert "Add new editor and default theme (WIP)"
This reverts commit f045efe007.
2017-05-03 06:19:15 +09:00
Rémi Verschelde d4029aa51a Move other lone thirdparty files to thirdparty/misc
Also move Box2D ConvexDecomposition contrib code to
thirdparty/b2d_convexdecomp.
2017-04-28 21:19:25 +02:00
Rémi Verschelde 5f15f03d38 Fix theme_data.h formatting via make_header.py
Should make clang-format happy.
2017-04-27 08:58:11 +02:00
Daniel J. Ramirez f045efe007 Add new editor and default theme (WIP) 2017-04-27 08:04:57 +02:00
Ramesh Ravone cc973b461b Revert " 3.0 recompute_aabb on add_surface" 2017-04-26 13:18:01 +05:30
Ramesh Ravone 930ad8fc8c
3.0 recompute_aabb on add_surface 2017-04-26 07:57:13 +05:30
Rémi Verschelde 5ae1e172da Merge pull request #8277 from tagcup/math_checks
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
Rémi Verschelde 515f92d03b Fix property warnings and hide some debug prints
"ALL IS GOOD" was a lie.

In particular, removes verbose "path not recognized" false positive.

The actual logic is to (somewhat naively) check all ResourceFormatLoaders
and to pick the first good match, so no need to warn about the formats
that do not match the type hint.
2017-04-23 11:17:32 +02:00
Rémi Verschelde c88f56be64 Merge pull request #8376 from RayKoopa/fix_stylebox_expand_margin
Respect the expand margin for StyleBoxTextures again.
2017-04-20 02:10:55 +02:00
Andreas Haas 1a8f94edd4 Merge pull request #8370 from volzhs/fix-stylebox-master
Fix editor style box for ToolButton
2017-04-14 17:51:30 +02:00
Ignacio Etcheverry 30835f9d37 PackedScene: Fix wrong DEFVAL 2017-04-14 02:18:38 +02:00
Ray Koopa 75f684bc17 Respect the expand margin for StyleBoTextures again. 2017-04-13 10:37:22 +02:00
volzhs 25a4daa5ce Fix editor style box for ToolButton 2017-04-12 12:40:16 +09: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
Andreas Haas 362e52c2fd
Fix typo in FixedSpatialMaterial
NormapMap
2017-04-06 23:20:00 +02:00
Ferenc Arn 9a37ff1e34 Added various functions basic math classes. Also enabled math checks only for debug builds.
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
Robert Hernandez 7a428206fe Fixed WindowDialog not aligning properly 2017-03-31 01:48:02 -04:00
Robert Hernandez a4a12a2b7b Fixed AtlasTexture being incorrectly
Fixed StyleBoxTexture and NinePatchRect drawing the entire texture of an
AtlasTexture.
2017-03-30 21:09:25 -04:00
Rémi Verschelde 397380e9e5 Merge pull request #8130 from volzhs/cache-font-master
Cache DynamicFont resource for Android
2017-03-24 22:52:36 +01: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
volzhs 56af1a3790 Cache DynamicFont resource for Android 2017-03-24 16:18:35 +09:00
Pedro J. Estébanez 3b36df3730 Fix redundant connections saved in sub-inheritance 2017-03-15 11:46:45 +01:00
Rémi Verschelde a45e6f67d5 Merge pull request #7981 from RandomShaper/position-for-2d-shaders
Map POSITION to gl_FragCoord.xy for 2D shaders
2017-03-13 11:01:14 +01:00
Pedro J. Estébanez 383dea5796 Fix node duplication in scene sub-inheritance 2017-03-09 01:19:40 +01:00
Pedro J. Estébanez 5ff0924a93 Map POSITION to gl_FragCoord.xy for 2D shaders 2017-03-08 02:07:59 +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
Ray Koopa e07aa5deb8 Added functionality for resizable dialogs. 2017-03-01 23:40:10 +01:00
Thaer Razeq f50488a361 Various fixes detected using PVS-Studio static analyzer.
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06:00
Ray Koopa 5cf063ca9d Add disabled tabs 2017-02-27 19:07:50 +01:00
Juan Linietsky de0045cf1b -renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
Hein-Pieter van Braam b696beea65 Correct hash behavior for floating point numbers
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:

* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.

* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.

* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.

* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.

C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.

GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.

This fixes #7354 and fixes #6947.
2017-02-16 18:44:29 +01:00
Juan Linietsky 903a3aa5f0 a ton of bug fixes to the renderer 2017-02-16 08:55:43 -03:00
Juan Linietsky da11d6d9e8 Many fixes to make exported scenes work better, still buggy. 2017-02-15 08:34:02 -03:00
Hein-Pieter van Braam 411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam 0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Rémi Verschelde 117a83fcb9 Merge pull request #7352 from Zylann/polyline
Polyline
2017-02-12 23:30:04 +01:00
Juan Linietsky 6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
Juan Linietsky a02933bb3c wav file importing! 2017-02-02 22:51:58 -03:00
Juan Linietsky 2cd2ca7bbc Lot of work in new importer, importing textures now works. 2017-02-01 09:46:36 -03:00
Juan Linietsky 4c28f35b2c Merge pull request #7002 from RandomShaper/vcs-friendliness
Greater VCS friendliness
2017-01-25 14:52:40 -03:00
Juan Linietsky 7e1afeafd4 Audio bus editing is COMPLETE! 2017-01-25 14:31:52 -03:00
Juan Linietsky 0aa7242624 WIP new AudioServer, with buses, effects, etc. 2017-01-21 19:01:00 -03:00
Juan Linietsky ee0f53df52 Merge pull request #7528 from tagcup/real_t_float_fixes
Use real_t rather than float or double in generic functions (core/mat…
2017-01-20 19:24:49 -03:00
Ferenc Arn 81d9fe44df Use property convention introduced in b085c4 (_ rather than / as separator).
Fixes #7476.
2017-01-18 18:56:27 -06:00
Ferenc Arn 6f4f9aa6de Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
Pedro J. Estébanez 7dbb1c0571 Improve .tscn VCS
Serialize dictionaries adding newlines between key-value pairs
Serialize group lists also with newlines in between
Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders)

Bonus:
Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file.

This PR is back-compat; won't break the load of existing files.
2017-01-16 18:03:51 +01:00
Rémi Verschelde f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Rémi Verschelde 40323407df Style: No break before list brace
clang-format does not handle that well *at all*.

For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
2017-01-16 08:48:24 +01:00
Juan Linietsky b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Juan Linietsky 5dde810aa5 no more errors related to missing GlobalConfig::Get (or so I hope) 2017-01-14 21:57:22 -03:00
Marc Gilleron e2fba10b95 Added Line2D node that draws a polygon-based line
It supports unlimited width, color gradient, texture and some geometry
options for joints and caps. Also transparency without artifacts
(provided that line joints aren't too sharp).
2017-01-15 00:44:46 +01:00
Juan Linietsky 94609305a0 Merge pull request #6519 from RandomShaper/enhance-tileset
Add modulate (color) to TileSet tiles
2017-01-14 16:52:16 -03:00
Juan Linietsky dcb95ec147 removed duplicated functions in class hierarchy that were bound more than once
added a check to detect this case in the future
2017-01-14 11:10:42 -03:00
Rémi Verschelde 93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Rémi Verschelde 7b9f2d9929 Finish renaming *Frame GUI classes to *Rect
ReferenceFrame had been overlooked, and the cpp files still used the old
names. Also ripgrep'ed it all to find some forgotten references.
2017-01-14 10:52:54 +01:00
Juan Linietsky d9d77291bc rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename() 2017-01-14 00:51:09 -03:00
Juan Linietsky 35b404ba08 Unify naming of blendshape / morphtarget into just "Blend Shape" 2017-01-12 08:34:00 -03:00
Juan Linietsky bc26f90581 Type renames:
Matrix32 -> Transform2D
	Matrix3 -> Basis
	AABB -> Rect3
	RawArray -> PoolByteArray
	IntArray -> PoolIntArray
	FloatArray -> PoolFloatArray
	Vector2Array -> PoolVector2Array
	Vector3Array -> PoolVector3Array
	ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
BastiaanOlij bf990b0822 Few small fixes so tools=no and target=release compiles 2017-01-10 21:42:14 +11:00
Juan Linietsky a503f8aadc Groundbreaking!! Godot resources can now be flagged to be local to the scene being edited!
This means that each time this scene is instanced, the resource will be unique!
As such, thanks to this, the following features were implemented:
-ButtonGroup is no longer a control, it's now a resource local to the scene
-ViewportTexture can be created from the editor and set to any object, making ViewportSprite and other kind of nodes obsolete!
2017-01-10 01:07:03 -03:00
Juan Linietsky a168cd7a23 Add clamp and wrap loop modes for animation tracks. 2017-01-09 00:41:16 -03:00
Juan Linietsky 2ab83e1abb Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector 2017-01-07 18:26:38 -03:00
Juan Linietsky 495d059a74 Merge branch 'master' of https://github.com/godotengine/godot 2017-01-05 09:18:03 -03:00
Juan Linietsky 0f7af4ea51 -Changed most project settings in the engine, so they have major and minor categories.
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky d8e54b1e26 Merge pull request #7431 from MarianoGnu/gles3
Fix Color Picker
2017-01-04 20:28:28 -03:00
Juan Linietsky b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00
Juan Linietsky 3fae505128 Begin modifying properties to make them more friendly to script and doc. 2017-01-03 00:38:16 -03:00
Juan Linietsky 118eed485e ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde 3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Juan Linietsky 741e038671 Add a metallic mode 2017-01-02 00:01:55 -03:00
Juan Linietsky c2a217c350 WIP particle system
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03:00
Rémi Verschelde c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
reduz 0d4abf2aa3 fixed a horrible bug on Windows AMD, scenes saved until now in this branch
are no longer valid :(
2016-12-24 16:23:30 -03:00
Juan Linietsky 075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Juan Linietsky 22a90e8f2a DOF blur, near and far fields.. 2016-12-10 01:13:20 -03:00
Juan Linietsky 18ebd22000 Multi stage glow with light bleeding from HDR 2016-12-08 09:48:38 -03:00
Juan Linietsky 8534ced22d Tonemapping and Auto Exposure support 2016-12-07 17:49:52 -03:00
Juan Linietsky a299c3ebf1 Support for SSAO 2016-12-04 12:45:30 -03:00
Andreas Haas e741da869a
Curve2D/3D: Add clear_points method.
Adds a method to the Curve2D and Curve3D classes to easily clear the curve.
So you don't have to remove each point manually.
2016-12-03 21:35:59 +01:00
Juan Linietsky 27a46d78ec Subsurface scattering material param is now working! 2016-12-02 22:23:16 -03:00
Pedro J. Estébanez 86789c7071 Add modulate (color) to TileSet tiles 2016-11-30 14:33:39 +01:00
Juan Linietsky a47c78aed1 Screen space reflection effect 2016-11-29 19:55:12 -03:00
Juan Linietsky a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
Juan Linietsky 943d27f46d Instancing is working! (hooray) 2016-11-22 01:26:56 -03:00
Juan Linietsky a2505542ff Huge amount of improvement in the material system. Materials should be
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky c39d2b3f42 working reflection probes!! 2016-11-19 13:23:37 -03:00
Zher Huei Lee 191fdc873e Reused Button styleboxes for ButtonArray
Plus other tweaks to make it look more similar to a VBoxContainer of
Buttons.
2016-11-19 22:07:12 +08:00
Juan Linietsky cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03:00
Paulb23 0e2c15e91a Made background and symbol color follow the color API 2016-11-06 13:50:23 +00:00
Rémi Verschelde f34151ff0f style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
Rémi Verschelde 817dd7ccbb style: Fix PEP8 blank lines issues in Python files
Done with `autopep8 --select=E3,W3`, fixes:

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00
Rémi Verschelde d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde 97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Juan Linietsky d6567010bf -Many many fixes
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky 53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03:00
Juan Linietsky cb34b70df1 More scene work, can display a skybox 2016-10-21 07:27:13 -03:00
Mariano Suligoy 6d38f79dc5 Fix Color Picker
Replace shaders with procedurally generated controls
2016-10-19 19:43:49 -03:00
Rémi Verschelde fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Juan Linietsky 1527cf8c0d 2D Shaders are working again using the new syntax, though all is buggy in general 2016-10-10 18:31:01 -03:00
Pawel Kowal d3a8087659 Fix #5959, contrasting texture for toggled button 2016-10-10 13:54:48 +02:00
Juan Linietsky 850eaf7ed7 -the new shader language seems to work
-shader editor plugin can edit shaders
-code completion in shader editor plugin
2016-10-07 11:31:18 -03:00
Juan Linietsky 22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Fabio Alessandrelli 1d09c27ba4 Expose more 2D/3D physics options in project settings 2016-10-03 14:40:47 +02:00
Rémi Verschelde 03ee749989 Merge pull request #6529 from pkowal1982/scrolltree
Add scrolling to Tree control in Drag and Drop mode
2016-10-03 11:44:32 +02:00
Pawel Kowal 9e5aaa27bc Add scrolling to Tree control in Drag and Drop mode 2016-09-17 21:29:55 +02:00
Rémi Verschelde 80861b7d59 Merge pull request #6414 from RandomShaper/improve-shader-shadow
Expose additional light/shadow properties to canvas item shaders
2016-09-17 18:34:22 +02:00
Juan Linietsky 8bcb6a290c -Added VeryLowDPI and MidDPI modes to Godot editor.
-Improved HiDPI detection (requires resolution of > 2000 in X axis)
2016-09-13 11:05:47 -03:00
Pedro J. Estébanez 0960887625 Expose light shadow color to canvas item shaders 2016-09-07 01:52:54 +02:00
Juan Linietsky b780679302 -Added focus to comment node
-Make comment node not grab focus on main area
2016-09-02 12:03:49 -03:00
Juan Linietsky fc70824f7c More improvements to visual script..
fixed a bug of not saving when sub-nodes changed.
2016-08-31 17:58:51 -03:00
Juan Linietsky 9c6175db11 More visual script work
-Block switches to 2d/3d editor if editing visual script
-Added cast node in flow control
-Added ability to do RPC in visual script
-Comment nodes
-Fix bug with inverted cable in connecting backwards
-Copy and paste nodes, including from different scripts
2016-08-25 17:45:20 -03:00
Juan Linietsky 231c72b5eb prettier connections for graph edit 2016-08-23 10:15:47 -03:00
Daniel J. Ramirez 287b6d0e04 Some new icons for visual script and graphs 2016-08-08 17:23:31 -05:00
Juan Linietsky 9890c1d2ca Likely with bugs and with some features are missing, as well as profiler support, but VisualScript should be more or less done! 2016-08-06 19:00:54 -03:00
Juan Linietsky 259418f827 VisualScript can now execute visual scripts, but there is no debugger or profiler yet. 2016-08-05 22:48:00 -03:00
Juan Linietsky 6ed5d48d0c Concluded base visual scripting! can edit but not run though. 2016-08-04 00:05:35 -03:00
Juan Linietsky 3d1d190dcd Merge branch 'master' of https://github.com/godotengine/godot 2016-08-02 19:11:47 -03:00
Juan Linietsky ad313097eb WIP visual scripting, not working yet but you can check out stuff 2016-08-02 19:11:05 -03:00
Zher Huei Lee 0de7860511 DynamicFont caches now accounts for texture flags
CacheID added for future-proofing
2016-08-02 15:36:11 +01:00
Zher Huei Lee af6ef01c69 Added extra spacing support for DynamicFont
Side effect is that label min-size will now take into account
kerning.
2016-08-02 11:05:20 +01:00
Zher Huei Lee 7b165e8ac2 Added texture mipmaps and filtering to DynamicFont 2016-08-02 08:01:51 +01:00
Rémi Verschelde 08ba6086be World2D: Fix typo in default_density deprecation check 2016-07-28 19:03:32 +02:00
Juan Linietsky bafcabb157 Merge pull request #5832 from Algrin6/patch-1
Fixes defects in Curve2D and Curve3D
2016-07-24 11:44:42 -03:00
Saracen f86b698765 SurfaceTool add_index method exposed to scripts. 2016-07-22 04:52:41 +01:00
Juan Linietsky 124e3591a5 Some optimizations and limits for extreme zoom in and out in editor, fixes #5820 2016-07-21 10:11:53 -03:00
volzhs dd7b1021f6 Remove "SMOOTH BEGIN?" message 2016-07-21 17:34:58 +09:00
Algrin6 2b60884659 Fix curve bug 2016-07-21 02:14:58 +03:00
Juan Linietsky 0988970c1f Fixed properly not save signals that already exist in their base scenes, closes #5656 2016-07-19 21:26:12 -03:00
Juan Linietsky 9de33e18f1 WIP bugfix for existing connections 2016-07-19 20:20:28 -03:00
Rémi Verschelde 525fb01fd2 Revert "Homogeinize resource formats loaders/savers"
The text format definition needs to stay in `scene/` as it relies
on other scene components, and `core/` must stay self-contained.

This reverts commits a5e27503fd
and 1492fd8460.
2016-07-19 18:15:01 +02:00
Juan Linietsky 7a4d67ae71 Property convert images to RGBA before applying hq2x, fixes #5168 2016-07-18 18:30:30 -03:00
Juan Linietsky f10bd217a2 properly fixed notificaitons for theme changed, closes #5774 2016-07-18 16:41:59 -03:00
Juan Linietsky 254d79a560 Add a function to notify font users that the font changed. Closes #5774 2016-07-18 10:00:26 -03:00
Rémi Verschelde be563a1663 Merge pull request #5757 from Razzlegames/blendIndexFix
Could not use pre multiply alpha for material in editor
2016-07-18 00:54:38 +02:00
Rémi Verschelde 3183834c5d Merge pull request #5657 from Paulb23/block_caret
Added block caret to TextEdit
2016-07-18 00:44:45 +02:00
Kyle Luce 4e69bc3bff Could not use pre multiply alpha for material in editor
- 3 was hard coded, I just changed to 4. Unfortunately this will break every time
  a blend mode is added
2016-07-17 11:09:47 -07:00
Juan Linietsky 24d86e33a6 Merge pull request #5467 from RandomShaper/enhance-tidy-extensions
Enhance/tidy file extensions management
2016-07-16 09:28:49 -03:00
Paulb23 54f720ac06 Added block caret to TextEdit 2016-07-12 16:07:17 +01:00
Paulb23 12e3bb1f01 Removed duplicate color 2016-07-11 15:40:04 +01:00
Paulb23 cc133c9289 Expose colors to theme 2016-07-11 14:57:32 +01:00