Commit graph

825 commits

Author SHA1 Message Date
Ruslan Mustakov
f34ea810fe Update oversampling of outlines after window size change
Fixes #18774.
2018-05-11 13:59:56 +07:00
Juan Linietsky
aacd7f012e
Merge pull request #18374 from JFonS/fix_particles_animation
Fix particle animation controls
2018-05-08 11:34:34 -03:00
Ruslan Mustakov
863dd9aa46 Always emit dynamic font change in update_oversampling
Fixes #15787.

The issue occurred when two (or more) separate DynamicFont instances
used the same DynamicFontAtSize instance due to having equal
properties. The first instance updated its data_at_size and emitted
"changed" signal, but the second did not because it considered the
data_at_size to be up to date, even though it has just been updated.
2018-05-08 19:01:15 +07:00
Ruslan Mustakov
5cd12f6649 Perfect FreeType-based outlines for DynamicFonts
- Implement outlines based on FreeType Stroker API. This allows
  artifact-free results, similar to what you will see in Web or any text
  editing tools. Outline is a part of DynamicFont rather than Label,
  because outlines have to be baked into the font's atlas. Font has a
  default outline_color and a Label can specify font_outline_modulator
  that will be multiplied with the Font's color to get the final result.

- draw_char now has to be called twice to fully render a text - first
  with p_outline == true for each character and then with
  p_outline == false for each character.

- Number of draw-calls is reduced from 5 to 2 per outlined character.

- Overall cleanup of DynamicFont code, extracted duplicated code pieces
  into separate methods.

- The change is backward-compatible - Labels still have outline
  properties that work exactly as they worked before.

Closes #16279.
2018-05-08 13:45:24 +07:00
Juan Linietsky
9f2d54cd68 Added a simpler way to flip faces, closes #17373 and closes #17369 2018-05-07 18:55:05 -03:00
Juan Linietsky
7175a7f025
Merge pull request #17504 from endragor/fix-oversampling-autowrap
Ceil dynamic font glyph size
2018-05-07 18:21:11 -03:00
Juan Linietsky
2ba8b5b27c
Merge pull request #17828 from bojidar-bg/17779-progressbar-minimum-size
Fix StyleBox ignoring region rect and ProgressBar using center size
2018-05-07 16:33:12 -03:00
Juan Linietsky
3051bb8a81
Merge pull request #17845 from JFonS/disable_spatial_shadows
Added flag on SpatialMaterial to disable shadows
2018-05-07 16:18:25 -03:00
Max Hilbrunner
fc9fad925b
Merge pull request #18146 from mjtorn/gh-mjtorn-rtl-shadow
Implement font shadows for RichTextLabel
2018-05-05 07:01:04 +02:00
Max Hilbrunner
eec38da856
Merge pull request #18407 from danilo2205/get_closest_point
Add methods get_closest_point and get_closest_offset for both Curve2D and Curve3D
2018-05-05 06:56:26 +02:00
Rémi Verschelde
0bc07f8ff3
Merge pull request #18480 from BastiaanOlij/add_custom_aabb_to_primitives
Added custom aabb to primitives
2018-05-04 15:19:30 +02:00
danilo2205
2224975e7e Added methods get_closest_point and get_closest_offset to both Curve2D and Curve3D 2018-05-01 18:24:41 -03:00
Pieter-Jan Briers
20dd2204db Adds z-index properties to TileSets. 2018-05-01 17:24:57 +02:00
Bastiaan Olij
1ee40206d4 added custom aabb to primitives 2018-04-29 15:06:18 +10:00
Juan Linietsky
8d199a9b2c CSG Support for Godot!
-Missing Icons
-Missing freezing option (for baking light and faster load)
-Missing a way to export from Godot (GLTF2?)
-Probably buggy (may freeze editor, can be worked around easily, but let me know if this happens so it's easier to catch bugs)
Happy testing!
2018-04-27 21:55:10 -03:00
sersoong
21eac24af1 Fixed stylebox crash 2018-04-27 17:30:28 +08:00
JFonS
aeda5dccfe Fix particle animation controls 2018-04-23 11:14:16 +02:00
Markus Törnqvist
1c6ea572ca Implement font shadows for RichTextLabel 2018-04-12 15:09:48 +03:00
George Marques
0ee72fbd30
Merge pull request #18072 from AlexHolly/master
expose Tileset TileMode to GDScript
2018-04-08 21:44:07 -03:00
Alexander Holland
f18b74838c expose Tileset TileMode to GDScript 2018-04-08 22:54:02 +02:00
Juan Linietsky
b756172bdb
Merge pull request #16705 from Chaosus/generate_normals_flip
Add flip switch to SurfaceTool.generate_normals
2018-04-08 17:18:03 -03:00
Juan Linietsky
4ee3f3251d
Merge pull request #17382 from bojidar-bg/13971-path-array-unsaved
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08 09:39:03 -03:00
Juan Linietsky
6eb0c74e9d
Merge pull request #17443 from Noshyaar/tilesetcrash
Fix converting to tileset crashes Godot if existing file is not tileset
2018-04-08 09:31:54 -03:00
Juan Linietsky
14340efa3c
Merge pull request #17602 from ivodopiviz/tscn-issues
Removed unnecessary newlines from tscn
2018-04-07 16:59:12 -03:00
Juan Linietsky
187b14ae24
Merge pull request #17730 from RandomShaper/radio-buttons-in-menus
Radio buttons in menus
2018-04-07 16:41:39 -03:00
Poommetee Ketson
a492d22952 Mesh: fix crash when creating mesh outline from QuadMesh
Since create_outline can only make outline for PRIMITIVE_TRIANGLES,
when QuadMesh (which is PRIMITIVE_TRIANGLE_FAN) is used to create
outline, will leave `arrays` empty, and crash when it is being indexed
for "indices" subarray.

This PR shows error when there's only one surface and it is not
TRIANGLES. Also prevent the crash if it has more than one surface
and none of them are TRIANGLES (and any other cases that could leave
`arrays` empty) by checking the size of `arrays` == 8 before indexing
it, since the method seems to expect `arrays` to be of that size.
2018-04-01 22:06:47 +07:00
JFonS
9c307d4b6c Added flag on SpatialMaterial to disable shadows 2018-03-29 18:46:42 +02:00
Bojidar Marinov
91eb80041d
Fix StyleBox ignoring region rect and ProgressBar using center size
ProgressBar used the center size of the stylebox to calculate its minimum size, thus disallowing certain setups.
If the old behaviour is wanted, it can be forced by providing a custom minimum size, or by giving proper margins to the stylebox.

Fixes #17779.
2018-03-28 20:56:09 +03:00
Pedro J. Estébanez
ab3b1d9f3e Add radio-button-looking entries to PopupMenu
They work exactly the same as current checkbox-decorated items, but in order to preserve compatibility, separate methods are used, like `add_radio_check_item()`. The other option would have been to add a new parameter at the end of `add_check_item()` and the like, but that would have forced callers to provide the defaults manually.

`is_item_checkable()`, `is_item_checked()` and `set_item_checked()` are used regardless the item is set to look as check box or radio button.

Keeping check in the name adds an additional clue about these facts.

Closes #13055.
2018-03-27 19:19:45 +02:00
Ivan Vodopiviz
e0f6b54b77 Removed unnecessary newlines from tscn
References #6025. Made small changes to avoid adding newlines for no reason.
2018-03-25 23:09:19 +02:00
Poommetee Ketson
ed3b080ca6 Fix converting to tileset crashes Godot if existing file is not tileset
also make TileSetEditorPlgn tile list updates the preview modulate
2018-03-23 21:27:30 +07:00
Ruslan Mustakov
aa8561ded4 Ceil dynamic font glyph size
Fixes #15459. When oversampling is enabled, glyphs may have fractional
size, but they are still rendered into integral pixels, which results in
them taking more space than was anticiped by autowrapping algorithm. The
solution here is to return ceiled width, which makes autowrapper
consider characters a bit larger than they are, but it doesn't hurt the
actual rendering and ensures there is enough space for the characters.
2018-03-14 19:53:44 +07:00
Bojidar Marinov
9f6c0c6eae
Duplicate Arrays and Dictionaries when instancing scene in editor
Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate

Fixes #13971
2018-03-13 17:18:08 +02:00
Rémi Verschelde
96bda9c463
Merge pull request #17094 from Calinou/add-dynamicfont-hinting-options
Add an hinting mode setting to DynamicFonts
2018-03-13 13:38:35 +01:00
Rémi Verschelde
ab001d830b Fix serialization of identifiers with non printable ASCII characters
Fixes #6888.
2018-03-02 13:33:53 +01:00
Hugo Locurcio
c1544c12ef
Add an hinting mode setting to DynamicFonts
- Editor font hinting can now be tweaked in the Editor Settings.
- DynamicFonts used in projects now have tweakable hinting settings
  in their DynamicFontData child. Changes will be visible upon
  reloading the scene in the editor.
2018-02-28 00:12:26 +01:00
Rémi Verschelde
eedb85e618
Merge pull request #16932 from groud/fix_collision_shape_selection
Fixes collisions shape selection
2018-02-24 01:32:16 +01:00
Rémi Verschelde
6b32e96d6e
Merge pull request #16930 from PJB3005/18-02-22-styleboxtexture-texture
StyleBoxTexture: Texture instead of RES for texture and normal_map.
2018-02-24 01:29:35 +01:00
Rémi Verschelde
23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Gilles Roudiere
c250a9a9f9 Fixes collisions shape selection 2018-02-22 20:48:25 +01:00
Pieter-Jan Briers
b51a86a57a StyleBoxTexture: Texture instead of RES for texture and normal_map. 2018-02-22 19:27:35 +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
Juan Linietsky
9e3a1e5401 Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion. 2018-02-21 09:39:09 -03:00
Rémi Verschelde
c291fc39ad
Merge pull request #16772 from damarindra/tileset_editor_improvement
Tileset Editor Improvement
2018-02-21 10:40:43 +01:00
Damar Indra
e69dd47501 Tileset Editor Improvement 2018-02-20 22:33:59 +07:00
Rémi Verschelde
2c44b2cee4
Merge pull request #16718 from Chaosus/triplanarfix
Add refraction possibility when triplanar uv mode enabled
2018-02-20 11:14:31 +01:00
Rémi Verschelde
b2aeb02e7d
Merge pull request #16530 from AndreaCatania/rays
Improved ray shape (2D and 3D) by addiing the possibility to act as r…
2018-02-19 22:15:49 +01:00
Rémi Verschelde
5933cf867a
Merge pull request #15780 from volzhs/emoji
Support colored font
2018-02-19 21:51:53 +01:00
Andrea Catania
ffc3ef8677 Improved ray shape (2D and 3D) by addiing the possibility to act as regular shape 2018-02-19 20:59:57 +01:00
Chaosus
399e553829 Added flip switch to generate_normals 2018-02-19 22:40:34 +03:00