Hein-Pieter van Braam
ac99ed3cda
String[size()] should return a default constructed CharType
...
As per the C++ standard 21.3.4.1 for std::string:
Returns: If pos < size(), returns data()[pos]. Otherwise, if pos ==
size(), the const version returns charT(). Otherwise, the behavior is
undefined.
Since the behavior is undefined Godot now does the same thing for const
and non-const versions of operator[].
This fixes #21242 and fixes #22221 .
2019-01-04 17:48:03 +00:00
Rémi Verschelde
578c6316c8
Merge pull request #24732 from hpvb/vector-pod-optimization
...
Optimizations for trivial types
2019-01-04 15:09:05 +01:00
Guilherme Felipe
e64391f47b
Update zstd to 1.3.8
2019-01-03 22:35:20 -02:00
Hein-Pieter van Braam
4240e3d668
Optimizations for trivial types
...
Relying on various compiler primitives we can reduce the work done
in our memory allocators and CowData. For types with trivial ctors or
dtors we can skip looping over all elements when creating, resizing,
and destroying lists of objects.
These primitives are supported by clang, msvc, and GCC. However, once
we've moved to C++11 we can rely on several std:: primitives that do
the same thing and are standardized.
In my testing the extra conditionals introduced here get removed from
the generated program entirely as the results for these primitives is
known at compile time.
2019-01-03 08:47:34 +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
2e39e38c10
doc: Sync classref with current source
...
Fix various code formatting issues and argument names.
2018-12-27 11:10:18 +01:00
Andrii Doroshenko (Xrayez)
b8f1fe9ed8
Bind is_valid_hex_number
string method to GDScript
2018-12-24 20:54:36 +02:00
Rémi Verschelde
616beb1041
ProjectManager: Warn when projects have different config_version
...
When opening projects for edition through the project manager, the
following checks are now done:
1. If the config_version is lower than the one used by the current
engine version, users are asked if they want to convert to the new
format or abort editing. Fixes #20626 .
2. If the config_version is higher than the expected one (project
from a more recent and incompatible engine version), projects are
grayed out and can't be edited. Fixes #18758 .
When editing from the command line, the behaviour is unchanged:
projects in situation (1) are automatically converted, while projects
in situation (2) show an error message (made more explicit).
The "Run" option from the project manager was not changed, so it will
still run (1) projects without converting them, and fail running (2)
projects.
Co-authored-by: groud <gilles.roudiere@gmail.com>
2018-12-21 12:45:27 +01:00
Rémi Verschelde
d8067e905c
Merge pull request #24500 from akien-mga/drop-global_defaults
...
Core: Drop unused global_defaults logic
2018-12-20 11:49:32 +01:00
Rémi Verschelde
9cb18232c2
Core: Drop unused global_defaults logic
...
It used to be used for Android and iOS to specify platform-specific
project settings overrides, but we now have feature tags for that.
2018-12-20 11:02:49 +01:00
volzhs
84d060c768
Added OS.get_system_time_msecs()
2018-12-20 18:50:50 +09:00
Rémi Verschelde
7fdb324647
Merge pull request #24388 from Chaosus/fix_csv_spam
...
Removed error message arriving whenever csv file changed
2018-12-17 08:04:57 +01:00
Rémi Verschelde
9c7bc127b9
Merge pull request #24385 from hpvb/reduce-string-coew
...
Reduce String CoW
2018-12-16 19:13:35 +01:00
Hein-Pieter van Braam
4e25e5066b
Reduce String CoW
...
By introducing an intermediate proxy class for the array subscript
operator for String and CharString we can control better when CowData
will actually CoW.
This should improve performance of String usage for most cases.
2018-12-16 16:51:38 +01:00
Rémi Verschelde
9df7ed59fb
Merge pull request #19501 from Zylann/custom_loaders
...
Added basic support for custom resource savers and loaders
2018-12-16 14:26:56 +01:00
Chaosus
70c3270dfa
Removed error message arriving whenever csv file changed
2018-12-16 07:09:33 +03:00
Marc Gilleron
065e2670af
Added basic support for custom resource savers and loaders
2018-12-15 05:34:53 +00:00
Hein-Pieter van Braam
3ef7ecf546
Don't allocate in Vector's ctor
...
By relying on the fact that a struct or class's first member has the
same address as the struct itself we can cast VectorWriteProxy<T> to
Vector<T> and access the CowData field.
This allows a Vector to be moved in memory without invalidating the
pointer to the cowdata field.
2018-12-14 20:07:35 +00:00
Rémi Verschelde
f11047aa81
Merge pull request #21856 from AlexHolly/fix-undo-not-showing-error
...
Fix undo redo not showing errors
2018-12-14 17:13:16 +01:00
Rémi Verschelde
29a527fb90
Merge pull request #23799 from marcelofg55/custom_ps
...
Add application/config/project_settings_override option to override project settings
2018-12-14 08:58:29 +01:00
Marcelo Fernandez
8dad3811c5
Add application/config/project_settings_override option to override project settings
2018-12-13 18:23:51 -03:00
Rémi Verschelde
a1954e51e8
Merge pull request #24135 from Chaosus/rng
...
Added ranged integer generation function to RNG class
2018-12-12 14:07:47 +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
4c41e29c8e
Merge pull request #23923 from bruvzg/ime_gdscript
...
Changes IME to make it possible to use it from gdscript/gdnative
2018-12-11 18:00:48 +01:00
Rémi Verschelde
fa91944c06
Merge pull request #22630 from dualtagh/22478
...
22478: Can't duplicate folder with another folder inside
2018-12-07 23:12:06 +01:00
Rémi Verschelde
dc2fadc14d
Merge pull request #22733 from guilhermefelipecgs/fix_wm_class
...
[x11] Use "application/config/name" for WM_CLASS
2018-12-07 22:35:17 +01:00
Rémi Verschelde
ce3f3a9f82
Merge pull request #24194 from bojidar-bg/23567-fix-message-queue-overflow
...
Make thumbnail cache less tasking on the message queue
2018-12-06 20:31:08 +01:00
Bojidar Marinov
68e69fd45b
Make thumbnail cache less tasking on the message queue
...
Fixes #23567
2018-12-06 17:25:57 +02:00
Chaosus
d376be2bf4
Added integer number generation function to RNG class
2018-12-06 14:49:52 +03:00
Rémi Verschelde
ceb46e194c
Merge pull request #24090 from RandomShaper/fix-blit-from-negative
...
Fix blitting from negative position
2018-12-06 12:30:42 +01:00
Ibrahn Sahir
a758653199
const char* operator on CharString now const.
2018-12-03 20:25:23 +00:00
Paulb23
69fe17639e
Fix text files constantly asking for reload as no last modified time
2018-12-02 16:24:23 +00:00
Pedro J. Estébanez
6dc9a1b475
Fix blitting from negative position
2018-11-30 18:01:00 +01:00
Rémi Verschelde
43f28452e1
Merge pull request #24039 from clayjohn/transform_bug
...
Construct Transform from Transform2D bug
2018-11-28 18:57:53 +01:00
clayjohn
928ca2e1f2
construct transform from transform2d bug
2018-11-28 07:54:22 -08:00
Juan Linietsky
db595980bf
Revert "Construct Transform from Transform2D "
2018-11-28 11:16:06 -03:00
Rémi Verschelde
348708cad3
Merge pull request #23976 from clayjohn/transform_bug
...
Construct Transform from Transform2D
2018-11-28 15:14:02 +01:00
Aaron Franke
cb01268562
Fix many errors found by PVS-Studio
...
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.
2018-11-28 05:03:24 -05:00
Juan Linietsky
3a93499f89
Allow signal connecting even if script is invalid (only when compiled with tools), fixes #17070
2018-11-27 19:55:37 -03:00
clayjohn
d22bc7413c
construct transform from transform2d bug
2018-11-25 21:14:45 -08:00
bruvzg
4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative.
2018-11-23 14:07:48 +02:00
Fabian
a01608c389
Improved support for custom image loaders
2018-11-23 08:16:54 +10:30
allkhor
eacb8600f4
FileAccess::store_csv_line() don't added unnecessary double quotes.
2018-11-22 19:31:34 +06:00
Juan Linietsky
a2a606794c
Ensure array and dict editors show edited object IDs, fixes #20225
2018-11-21 22:10:58 -03:00
Rémi Verschelde
173b342ca7
Remove trailing whitespace
...
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'`
(+ manual revert of some thirdparty code under `platform/android`).
2018-11-20 11:15:02 +01:00
Rémi Verschelde
16a2c31e53
Merge pull request #23812 from YeldhamDev/clear_history_version_optional
...
Add argument to UndoRedo's "clear_history()" to not increase the version
2018-11-20 08:49:17 +01:00
Rémi Verschelde
99a4274f51
Make add_property error more explicit on duplicates
...
Would have helped solve #23800 faster.
2018-11-20 08:47:21 +01:00
Rémi Verschelde
35fbbeb99b
Merge pull request #20627 from malcolmhoward/core-dictionary-get-key
...
#20488 core dictionary get key
2018-11-19 21:11:55 +01:00
m
bf1867aaab
Added Python-like .get() method to Dictionary in GDScript #20488
...
Added .get() method to Dictionary class in GDScript to return the value if the key exists, or return Null if the key does not exist.
2018-11-19 14:03:13 -05:00