Rémi Verschelde
1ec8b9fb7d
Merge pull request #7851 from shlomif/fix-some-compilation-warnings
...
Get rid of some compilation warnings.
2017-02-26 20:22:48 +01:00
Rémi Verschelde
a78c314b0e
Merge pull request #7809 from hpvb/fix-6798
...
Allow preload to accept a const string.
2017-02-26 20:12:36 +01:00
Shlomi Fish
0a2c387d5c
Fix some compilation warnings.
...
Redone the commit based on the input in
https://github.com/godotengine/godot/pull/7851 . Not all warnings were
fixed but it's a start.
2017-02-21 11:59:19 +02: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
Hein-Pieter van Braam
3e5743ca36
Allow preload to accept a const string.
...
In preload() parsing this code will lookup the identifier in the local
constant database. If the identifier corresponds to a string constant
it is used as the path for preload().
Currently this does not work for global constants, only constants
declared in the same class as the preload is happening. We can implement
a full fix too. Maybe we can use this PR to discuss the possibilities.
This (partially) fixes #6798
2017-02-16 14:29:18 +01:00
Juan Linietsky
d7fd86d51a
-begin of export work, not done yet
...
-fixes to make scenes exported from godot 2.x work
2017-02-15 08:30:32 -03:00
Hein-Pieter van Braam
e8611966de
Remove bounds check when resuming from yield.
...
The code would get a pointer to the beginning of the call_args by using
operator[] at the stack Vector. This does bound checking. When there are
no call_args this bound check fails and the error mentioned in #7796
gets triggered.
This bound check is actually not necessary as call_args just gets set to
NULL and never dereferenced. This new code will just unconditionally set
the pointer to the place where the call_args are if there are any. There
is no NULL check for call_args anywhere so this is safe.
Fixes #7796
2017-02-13 21:59:05 +01: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
lonesurvivor
c71a6c6d71
Fix parsing bug which causes range(variable) to crash the engine
...
problem was a segmentation fault caused by trying to access Vector constants[0] which isn't there if op->arguments.size() is not bigger than one.
- the changed OR condition didn't make sense (always true), should be AND
- changes the "constant" variable to be false per default and gets set to true when there is actually something pushed to "constants"
2017-02-04 20:57:39 +01:00
Juan Linietsky
96de0141cc
Removed import/export system, will start new one from scratch.
2017-01-25 21:57:08 -03:00
Rémi Verschelde
5027799c13
Merge pull request #7583 from karroffel/wildcard
...
made _ a special token in GDScript
2017-01-23 07:55:11 +01:00
karroffel
c24c739da5
made _ a special token in GDScript
2017-01-20 09:26:55 +01: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
Rémi Verschelde
bf05dab74f
Merge pull request #7532 from tagcup/pcg_prng
...
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
2017-01-16 20:06:54 +01:00
Rémi Verschelde
2a0ddc1e89
Style: Various fixes to play nice with clang-format
2017-01-16 08:49:52 +01:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Rémi Verschelde
3890256fc5
Style: Cleanups, added headers, renamed files
...
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.
Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Ferenc Arn
4c9004671a
Replace the existing PRNG (Xorshift31) with (minimal) PCG (XSH-RR variant with 32-bit output, 64-bit state).
...
PCG is better than many alternatives by many metrics (see www.pcg-random.org) including statistical quality with good speed.
2017-01-15 19:15:16 -06:00
Rémi Verschelde
e0faf8a51b
Style: Cosmetic fixes to play nice with clang-format
2017-01-15 16:42:17 +01:00
James Mintram
dab73c701a
Compile error when duplicate key in dictionery literal #7034
2017-01-14 22:08:49 +01:00
Juan Linietsky
4261880c94
Merge pull request #6845 from karroffel/master
...
Adds pattern matching to GDScript
2017-01-14 17:08:10 -03:00
Juan Linietsky
7924f08a6a
Merge pull request #4918 from jjay/f/error_on_redefine
...
Redefine var results in an error
2017-01-14 17:07:08 -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
Juan Linietsky
d9d77291bc
rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename()
2017-01-14 00:51:09 -03:00
Juan Linietsky
6dd7d2c1f7
Implicit inheritance now defaults to Resource, will error for node scripts if extends not used.
2017-01-12 16:00:57 -03:00
Juan Linietsky
bfef8de1bc
More efficient iteration syntax, and range() is converted behind the scenes to it.
2017-01-11 20:10:23 -03:00
Rémi Verschelde
42802ab9dc
Merge pull request #6930 from bojidar-bg/gdscript-export-array-hint
...
Allow typing hints for Array class (in GDScript and Inspector)
2017-01-11 14:46:38 +01:00
Juan Linietsky
e6583117df
Both Array and Dictionary are always in shared mode (removed copy on write).
2017-01-11 08:54:17 -03:00
Rémi Verschelde
57166cd292
Merge pull request #7093 from bojidar-bg/named-colors
...
Add named colors to GDScript/Visual Script/core.
2017-01-11 10:36:15 +01: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
Karroffel
e781a7e07e
pattern matcher: Implemented backend
...
changed comments
2017-01-11 04:40:28 +01:00
Karroffel
d445f0639f
pattern matcher: Implemented transformations
2017-01-11 04:40:11 +01:00
Karroffel
f8a7c46273
pattern matching: implemented parser
2017-01-11 04:39:55 +01:00
Juan Linietsky
4338c90163
It is now possible to name layers of different kinds!
2017-01-10 22:20:57 -03:00
Juan Linietsky
80b733a33a
uses the global thread to protect the instacnes map in GDScript, closes #4615
2017-01-10 19:02:52 -03:00
Juan Linietsky
62273e51a2
Moved JSON functions to built-in to_json, parse_json, validate_json
2017-01-08 22:40:00 -03:00
Juan Linietsky
13cdccf23b
Variant INT and REAL are now 64 bits (other types remain at 32)
2017-01-08 20:58:39 -03:00
Juan Linietsky
547a57777b
renamed joystick to joypad everywhere around source code!
2017-01-08 17:06:33 -03:00
Juan Linietsky
8963ca3d17
Fix code completion for new getnode syntax
2017-01-08 03:01:52 -03:00
Juan Linietsky
8b912d1115
-Fix bugs related to PoolVector crashes
...
-Added ability to request nodes using $Name in GDScript :)
2017-01-08 02:04:53 -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
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
9e477babb3
-GDScript support for accessing properties directly
...
-Added code lookup and code completion support for properties too
2017-01-04 17:37:45 -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
dcc4ee21c1
Revert expression reduction from #7390
...
Fixes #7412 .
2017-01-02 20:01:27 +01:00
Rémi Verschelde
caddbbe174
Merge pull request #7390 from bojidar-bg/gdscript-assign-error
...
Disallow assignment to constants and expressions
2017-01-02 15:54:43 +01: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
Bojidar Marinov
0b077162a3
Disallow assignment to constants and expressions
...
Fixes #6221 , fixes #6824
2016-12-29 12:31:19 +02:00
Bojidar Marinov
23381a530b
Add named colors to GDScript/Visual Script/core.
...
Names and values taken from https://en.wikipedia.org/wiki/X11_color_names
2016-12-17 11:14:53 +02:00
Rémi Verschelde
7751a933a9
Merge pull request #6802 from henriquelalves/master
...
Added small modification on gdscript parser to allow users insert '+' before variables
2016-11-11 10:55:26 +01:00
Bojidar Marinov
074bcb2a7b
Make GDScript parser ignore floating strings in class definition
...
Fixes #1320
2016-11-03 12:26:38 +02: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
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
Bojidar Marinov
713f1451b9
Allow typing hints for Array class (in GDScript and Inspector/ArrayPropertyEdit)
...
Closes #3586 , by implementing the `1b` variation mentioned there.
2016-10-26 14:38:41 +03:00
Henrique L. Alves
6a4b4c7db4
Added small modification on parser for '+'
2016-10-22 14:26:48 -02:00
Rémi Verschelde
cf3ba3379f
Merge pull request #6564 from SuperUserNameMan/gdscript_opcode_line_opcode_breakpoint
...
fixes #6487 , GDscript compiler ignores OPCODE_LINE and OPCODE_BREAKPOINT in Release mode
2016-10-22 12:45:46 +02:00
Rémi Verschelde
e96c49f849
Merge pull request #6850 from akien-mga/pr-scsub-shebang
...
SCsub: Add python shebang as a hint for syntax highlighting
2016-10-17 20:13:18 +02: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
Rémi Verschelde
31e0e95362
Merge pull request #6692 from bojidar-bg/add-char-to-gd-vs-script
...
Add `String char(int ascii)` function to GDScript and Visual Script
2016-10-17 09:40:39 +02:00
Rémi Verschelde
da09c6131b
modules: Clone env in each module
...
This allows to pass include paths and flags only to a given thirdparty
library, thus preventing conflicts between their files (e.g. between
opus and openssl which both provide modes.h.
This also has the nice effect of making the compilation command smaller
for each module as it no longer related to all other modules, only the
final linking brings them together.
This however requires adding manually the ogg include path in opus
and vorbis when building against the builtin ogg, since it is no longer
in the global env.
Also simplified template 'thirdparty_<module>_sources' to
'thirdparty_sources'.
"Core" modules like cscript, gdscript, gridmap, ik and virtual_script
still use the main env_modules, but it could be changed if need be.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
5e373c2a69
Merge pull request #6813 from Faless/fix_6801_bis
...
Re-Allow absolute paths, make them behave correctly
2016-10-14 18:14:05 +02:00
Pedro J. Estébanez
1b3dcac281
Adapt overlooked instances of zero-based column numbers
2016-10-13 12:57:14 +02:00
Fabio Alessandrelli
11349a786b
Revert "Add warning when (pre)loading paths with leading / ( #4280 - #3106 )"
...
Also closes : #6801
This reverts commit e59820ac94
.
2016-10-13 11:49:22 +02:00
Rémi Verschelde
f3106cddb3
Merge pull request #6775 from RandomShaper/one-based-col-numbers
...
Make text column numbers one-based
2016-10-11 09:09:49 +02:00
Rémi Verschelde
3df507d696
Merge pull request #6694 from bojidar-bg/gdscript-newline-functions
...
Allow for linebreaks in function calls and definitions and yeild/signal.
2016-10-11 09:06:14 +02:00
Pedro J. Estébanez
2f80965845
Make text column numbers one-based
...
Make one-based the column number on the code editor
Make one-based the column number for GDScript error messages
Make one-based the column number for shader code error messages
2016-10-10 11:56:45 +02:00
Rémi Verschelde
2fb5a00305
i18n: Fix string that broke msgmerge
2016-10-09 18:11:55 +02:00
Rémi Verschelde
5f7f73c6ae
Merge pull request #6730 from Faless/fix_export_crash_error
...
Throw an error when exporting a resource class
2016-10-09 14:44:10 +02:00
Fabio Alessandrelli
ee7df2c89a
Throw an error when exporting a resource class
...
"export var tex = Texture"
will now throw an error to avoid crashing the editor:
"Exported constant not a type or resource"
Fixes #6719 . Closes #6729
2016-10-06 20:24:32 +02:00
Fabio Alessandrelli
e59820ac94
Add warning when (pre)loading paths with leading / ( #4280 - #3106 )
2016-10-04 16:07:45 +02:00
Bojidar Marinov
16a0e4b235
Allow for linebreaks in function calls and definitions and yeild/signal.
...
(Plus maybe a few other things)
2016-10-03 21:40:18 +03:00
Bojidar Marinov
513c0265c4
Add String char(int ascii)
function to GDScript and Visual Script
...
Just hope it doesn't crashes with that much pointer math... 😄
2016-10-03 19:17:54 +03:00
yg2f
217e09c79d
Fixes #6487 , GDscript compiler ignores OPCODE_LINE and OPCODE_BREAKPOINT in Release mode
...
When godot is in release mode, GDscript compiler does not generate
bytecodes for OPCODE_LINE and OPCODE_BREAKPOINT anymore.
This optimizes GDscript execution speed when the script contains a lot
of comments in blocs executed in loops.
Fixes #6487
2016-09-20 13:54:17 +02:00
George Marques
5ef64aae58
Fix build for templates
2016-09-12 22:40:46 -03:00
Juan Linietsky
37f1e86108
Do ctrl-click on any code identifier to go to definiton or help page.
2016-09-12 10:53:31 -03:00
Juan Linietsky
78f92dbcb9
Merge pull request #6281 from bojidar-bg/gdscript-ternary-operator
...
Ternary operator in GDScript (a if x else b)
2016-09-11 18:40:46 -03:00
Juan Linietsky
b83350f4b2
Added constants from types in code completion, somehow this was never added.
...
Stuff like Label.ALIGN_CENTER or Mesh.PRIMITIVE_TRIANGLES did not complete..
2016-09-11 12:20:28 -03:00
Juan Linietsky
fc61eb37ce
Merge pull request #5920 from 29jm/fix-warnings
...
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky
e6dc95e499
Merge pull request #6292 from bojidar-bg/gdscript-add-enums
...
Adds enums to GDScript
2016-09-10 11:59:51 -03:00
Juan Linietsky
828e1c092f
Renamed the bind_native functions to bind_vararg, should make it show the documentation more clearly and also make it easier to bind to C#
2016-09-07 19:39:57 -03:00
Răzvan Cosmin Rădulescu
00e743b76a
Clean up GDScript template
2016-09-05 19:58:04 +02:00
Bojidar Marinov
88430f0962
Add enum naming, by assinging a given enum's values to a Dict
2016-08-27 15:56:51 +03:00
Bojidar Marinov
4ee82a2c38
Adds enums to GDScript
...
Fixes #2966
2016-08-27 15:27:02 +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
Bojidar Marinov
9f66f59477
Ternary operator in GDScript (a if x else b)
...
Fixes #1961
2016-08-25 21:23:03 +03:00
Juan Linietsky
ad8f208bdb
Proper function/property selection in visual script editing for property.
...
This one has an ordered list, built-in description, search, etc.
2016-08-23 19:29:07 -03:00
Juan Linietsky
1add52b55e
Brand new networked multiplayer
2016-08-19 16:48:41 -03:00
Johan Manuel
a4674bda47
Fix some comparisons between signed and unsigned integers
2016-08-13 13:21:35 +02:00
Johan Manuel
67b29e3b9e
Fix some warnings about misleading indentation
2016-08-13 13:21:35 +02:00
Johan Manuel
046f94d3ac
Remove some unused variables
2016-08-13 13:21:35 +02:00
Rémi Verschelde
5d9967ef00
Merge pull request #6055 from eska014/native-bind-rettype
...
Allow documenting unexposed return types in bind_native_method
2016-08-08 18:23:36 +02:00
Rémi Verschelde
38cbf69e24
Merge pull request #6045 from bojidar-bg/extends-on-placeholders
...
Fix #5891 by not expecting the script instance to be a GDInstance
2016-08-08 10:22:13 +02:00
Juan Linietsky
9865650b43
Added a simpler way to do sub-functions in both visual and gdscript with the subcall node.
...
With this, visual script is almost done (missing registering custom nodes from addon).
All this is probably pretty broken, too and needs a lot of testing.
2016-08-08 01:21:22 -03:00
Juan Linietsky
6671c6bdc7
Added yield() signal smart autocompletion.
2016-08-06 22:11:03 -03: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
eska
4cd246898e
Allow documenting unexposed return types in bind_native_method
...
Document return type of `Object.call` and `GDScript.new`
2016-08-06 02:21:29 +02:00
Bojidar Marinov
76ea995228
Fix #5891 by not expecting the script instance to be a GDInstance
...
It could be a placeholder instance as well
2016-08-05 13:44:12 +03:00
Juan Linietsky
3d1d190dcd
Merge branch 'master' of https://github.com/godotengine/godot
2016-08-02 19:11:47 -03:00