Commit graph

1399 commits

Author SHA1 Message Date
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
Juan Linietsky ad313097eb WIP visual scripting, not working yet but you can check out stuff 2016-08-02 19:11:05 -03:00
eska b80c42ef4e Document FuncRef, GDFunctionState, InstancePlaceholder, RID, World2D 2016-07-30 21:27:58 +02:00
Juan Linietsky 9151eb591d Changed the way the step decimals are computed to a safer way, fixes many issues. 2016-07-26 17:25:10 -03:00
Juan Linietsky f51a816253 Set proper line into operators when parsing GDScript, fixes #5822 2016-07-22 09:23:26 -03:00
Juan Linietsky 33cc480350 Fixed reloading of tool scripts within editor, they should work much better now, closes #3194 2016-07-20 22:37:48 -03:00
Juan Linietsky 5218f35b7f Forgot to clear signals on recompile, closes #5729 2016-07-17 13:49:59 -03:00
George Marques 8113ba8bef
Allow semicolon after 'pass' keyword 2016-07-10 12:20:53 -03:00
George Marques 4bf31b3f3d
Revert removing of function call in gd_parser
The function call was removed in #5538 because of the unused return value,
but the function itself has side effects and the absence of the call was
causing crashes.
2016-07-08 22:12:59 -03:00
Rémi Verschelde b6ac91c0e6 Removed unused variables (first pass)
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:03 +02:00
Juan Linietsky 48959f0590 Merge pull request #5407 from RandomShaper/opt-self-indexing
Optimize member access with self
2016-07-01 12:25:26 -03:00
Juan Linietsky e49b73e93a Only check for constants when parsing constants, should close #5497 2016-06-30 10:40:13 -03:00
Juan Linietsky cf0fbe493f Ability to put constants in constant expressions, closes #5264 2016-06-29 22:17:55 -03:00
Juan Linietsky 36e754457f Warn instad of crashing when class instance is gone after yield. Closes #5247 , probably closes other yield related crashes 2016-06-29 21:06:16 -03:00
Juan Linietsky 3754f6cd75 Properly show the source:line even in inner clases, closes #3766 2016-06-28 11:49:57 -03:00
Juan Linietsky cf6450043d Fix bug in inner class reference, closes #1411 2016-06-28 11:15:55 -03:00
Juan Linietsky f4c6640827 Fixed bug related to resolving constants in a class, closes #1110 2016-06-28 11:02:53 -03:00
Juan Linietsky 565bb3afcc Fix extends issue, closes #4026 2016-06-28 10:44:38 -03:00
Juan Linietsky 3813160ea0 -Fix crashes with thread_exit()
-Added draft of C script API (still disabled and unused)
2016-06-26 10:54:45 -03:00
Pedro J. Estébanez d306b9bea5 Optimize member access with self
Let the compiler take the fast path when a member is superfluously accessed with `self.`.
2016-06-25 15:59:39 +02:00
Andreas Haas c871cf6801 Add "bool" to GDScript reserverd keywords
Noticed that "bool" wasn't highlighted when used like `export(bool) var is_xy = false`
2016-06-24 17:47:19 +02:00
Juan Linietsky 95e3279d34 Properly report a valid error instead of reporting as a bug, closes #3841 2016-06-24 10:30:36 -03:00
Juan Linietsky 5e816fd8c8 Property reporty base type when a function fails, fixes #4581 probably also closes other issues 2016-06-20 01:15:02 -03:00
Rémi Verschelde e76f744c36 Merge pull request #5283 from djrm/remove_prints
Removed lots of prints
2016-06-19 13:10:23 +02:00
Rémi Verschelde 1923733ec8 Merge pull request #5268 from brakhane/fix-floating-bug
correctly parse floats in scientific notation (Fix #5267)
2016-06-19 13:05:00 +02:00
Daniel J. Ramirez 422fac5066 Removed lots of prints 2016-06-18 18:01:06 -05:00
Rémi Verschelde b7dbf9207a Drop empty files that are not used anywhere
Part of #5272
2016-06-18 19:46:30 +02:00
Rémi Verschelde a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Dennis Brakhane c246931f03 correctly parse floats in scientific notation
GDScript incorrectly parsed float values in scientific notation
when no decimal point was given. "1e-5" was parsed as "15".

Fix this by not requiring a decimal point when we found an exponent
for the number to be considered a float.

Fixes #5267
2016-06-18 13:20:45 +02:00
Geequlim 71245995a4 Add @GDScript.type_exists 2016-06-18 15:07:51 +08:00
Juan Linietsky 57c67fb0f7 reverted to ==, if a line is missing a statement, we'll have to make sure to add it 2016-06-17 21:57:46 -03:00
Juan Linietsky dcd50f8838 changed == for >= since some statements may not store a line (if line is empty)
this is added to #5204
2016-06-17 21:19:09 -03:00
Juan Linietsky 3ddce309f4 Merge pull request #5204 from vnen/fix-completion-crash
Fix crash in code completion
2016-06-17 21:09:18 -03:00
Rémi Verschelde 7723579237 Fix type hint for the seed argument
Closes #5260.
2016-06-18 01:18:06 +02:00
George Marques 17b6cebcfe
Fix crash in code completion
Fix #4641
2016-06-13 22:19:39 -03:00
Juan Linietsky 45443a1651 Changed reload logic to auto-hard-reload scripts on save. It's simpler to use and also fixes #4756 2016-06-13 10:58:32 -03:00
Juan Linietsky ceeb5453a8 gdscript tokenizer will dislike use of case, closes #4991 2016-06-11 21:45:37 -03:00
Juan Linietsky fea9511bc6 remove unnecesary found bug? print, closes #5028 2016-06-11 20:36:28 -03:00
Juan Linietsky f860915ae0 Made many built-in gdscript functions return more descriptive errors, closes #5150 2016-06-11 19:43:38 -03:00
Juan Linietsky 9ddc13a5cc -All variables from script are visible through get_property_list(), not just those with export()
-Added PROPERTY_USAGE_SCRIPT_VARIABLE to identify what comes from script
-closes #5146
2016-06-11 18:34:49 -03:00
Juan Linietsky f8f30662d9 -Ability to reload (and soft reload) tool scripts. Please test! 2016-06-08 20:00:52 -03:00
punto- 86253cbdfe Revert "Fix implicit GDScript Reference inheritance" 2016-06-06 23:40:50 -03:00
eska 3acbf8e71f Fix implicit GDScript Reference inheritance 2016-06-05 19:17:33 +02:00
George Marques 43dad78209
Fix Color8 constructor using wrong value range
Fix #5015
2016-06-03 14:59:40 -03:00
Juan Linietsky cc0a7b24e7 missed ifdef that broke android build 2016-06-01 20:44:34 -03:00
Juan Linietsky 9e745b920f Ability to reload scripts on running game 2016-06-01 20:31:42 -03:00
Juan Linietsky df139f57b3 Some cleanup to GDScript
separated GDFunction (VM) from GDScript in two different files
2016-05-31 22:33:43 -03:00
Yakov Borevich 9e86b2714f [GDScript] Redefine var results in an error
Error rised if redefine
- function argument
- for-loop argument
- local-scope var

Affects #3730
2016-05-30 18:22:34 +03:00
Juan Linietsky 3e8eb396d7 Finalized DynamicFont implementation
-DynamicFont uses Freetype by default
-Editor fonts are now scalable thanks to this
-Cleaned up documentation browser and added fonts for this
2016-05-29 11:37:52 -03:00
Ignacio Armenteros 7caabd9398 Fix #4748: proper call to base class function 2016-05-23 11:49:51 +02:00
Juan Linietsky a75f896338 First version of Profiler
It is now possible to profile GDScript as well as some parts of Godot
internals.
2016-05-21 21:18:16 -03:00
Rémi Verschelde b58e261d41 GDScript: Fix method info for is_nan and is_inf
As reported on https://godotengine.org/qa/4114/why-isnan-and-isinf-arent-implemented
2016-05-17 14:59:48 +02:00
Juan Linietsky 0c57a58056 ability to drag scenes from filesystem to tree for instancing 2016-05-11 20:57:52 -03:00
Saracen d643a40f95 Subclasses can now extend from other subclasses contained in scripts derived from relative paths. 2016-04-09 03:23:33 +01:00
Rémi Verschelde 0a5472e697 Remove trailing spaces 2016-04-02 20:26:12 +02:00
Hubert Jarosz 4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
Rémi Verschelde 002ff3cc9a Revert "Merge pull request #3814 from est31/iterators_for_for"
This reverts commit adf5056889, reversing
changes made to ee2bc87c0e.
2016-03-01 18:09:48 +01:00
Juan Linietsky 210d332def -wip on addon editor
-fixes instantiable subclasses not working, as reported in #3871
2016-02-29 09:57:38 -03:00
est31 5f66692395 Use xrange for common "for i in range(...)" use case
Make the parser eliminate a wasteful allocation and initialisation
of a possibly large array.
2016-02-28 22:47:48 +01:00
est31 f81153eb69 Add xrange builtin function
Also update classes.xml in order to document xrange
2016-02-28 22:47:48 +01:00
Juan Linietsky 6fc1c3a4d1 Completed the support for plugins! It is not possible to add plugins.
Not all APIs are provided yet, please request whathever you are missing.
Some example plugins are provided in demos/plugins. Just copy them to a folder in your project named addons/ and then enable them from the project settings.
Have fun!
2016-02-27 23:12:27 -03:00
Rémi Verschelde c8071dfce8 Merge pull request #3812 from est31/master
Fix typo in error
2016-02-24 00:15:53 +01:00
est31 cea8e97c11 Fix typo in error 2016-02-24 00:08:53 +01:00
Juan Linietsky 70cdfa681a -Change link to new documentation
-fixed bug in tilemap collision debug
2016-02-20 10:02:14 -03:00
Rémi Verschelde 285c400288 Merge pull request #3658 from Hinsbart/doc_joyevent
doc: use correct identifiers for InputEventJoystick{Motion, Button}
2016-02-11 07:17:43 +01:00
hondres 6de2b9d864 doc: use correct identifier for InputEventJoystick{Motion, Button} 2016-02-10 23:37:25 +01:00
Juan Linietsky 61f03c98c8 -Added missing functions to the doc, fixes #3583 2016-02-09 16:58:03 -03:00
Rémi Verschelde 6ea0863ed3 Merge pull request #3587 from akien-mga/pr-reserved-keyords
Fix missing comma
2016-02-04 18:57:25 +01:00
Rémi Verschelde ade7329625 Fix missing comma 2016-02-04 18:56:41 +01:00
George Marques 0f41a18344 Merge pull request #3582 from akien-mga/pr-reserved-keyords
Add preload and PI to GDScript reserved keywords
2016-02-04 14:52:44 -02:00
Rémi Verschelde 99d9188da8 Add preload and PI to GDScript reserved keywords
I've noticed that gd_tokenizer also has keywords for `switch' and `do', but they seem not to be supported actually (only used in commented code for the shader language), so I don't add them.
2016-02-04 10:26:10 +01:00
Rémi Verschelde 8151110002 Reorder reserved words by categories
They were previously kind of sorted with a mix between alphabetical and logical ordering, which made it hard to spot duplicates or missing words.
2016-02-04 10:17:23 +01:00
Juan Linietsky 817fd1ab71 -Added method flags to global constants for script
-Added a new flag METHOD_FLAG_FROM_SCRIPT to get_method_list() flag property. Closes #3489
2016-01-31 15:40:51 -03:00
Rémi Verschelde 7af864f467 Merge pull request #3445 from akien-mga/master
Add missing return for typeof() MethodInfo
2016-01-26 00:03:33 +01:00
Rémi Verschelde e38b797c97 Add missing return for typeof() MethodInfo 2016-01-25 10:55:50 +01:00
hondres 56ce58d57c can preload constants 2016-01-24 23:45:11 +01:00
Juan Linietsky de7fe2fced -remove unnecesary error report, fixes #3361 2016-01-23 15:36:03 -03:00
Franklin Sobrinho 0426806ebf Removed GDScript "function" keyword 2016-01-13 17:59:39 -03:00
Juan Linietsky 5fca2bd4bc Reworked how autoloads are load to make sure identifiers always exist, please check if this resolves bug #3156 2016-01-13 08:27:14 -03:00
Juan Linietsky 1a9c3a134d -Make Akien happy, fixes #3068
(seems I wrote all the code, then forgot to use the enum...)
2016-01-10 23:13:02 -03:00
Ignacio Etcheverry d50e8d2bad Added missing onready token name 2016-01-07 18:59:37 +01:00
Juan Linietsky cb39db0b02 Fixed bug with default arguments in gdscript, closes #2024 2016-01-03 21:11:11 -03:00
Juan Linietsky 23441ec867 Added var2bytes and bytes2var to convet any variable to bytes and back. Closes #2075 2016-01-02 21:07:03 -03:00
Juan Linietsky 1597082c85 -Ability to roll-back script-exported properties to their default value on the script, closes #2128 2016-01-02 20:17:31 -03:00
Juan Linietsky 61745855d0 PI is now a built-in constant, fixes #2134 2016-01-02 17:56:45 -03:00
Juan Linietsky 0e0a7c9494 -properly handle newline in \ (line continuation) in gdscript, fixes #2112
-also fix a small crash in export detection with scripts that include themselves
2016-01-02 13:56:58 -03:00
George Marques 5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Juan Linietsky 64872ca811 small fixes to color8 2015-12-31 18:32:56 -03:00
Juan Linietsky 37f2222dd7 -Added Color8(r8,g8,b8,a8) function as well as .r8,.g8,.b8,.a8 members to Color, to deal with colors in the 0-255 range. Closes #2345 2015-12-31 18:26:49 -03:00
Juan Linietsky ec3d17b4e2 force thread model to single-safe when running editor, fixes #2387 2015-12-31 16:24:27 -03:00
Juan Linietsky b60a3e7202 -Changed var2str and str2var in GDScript to use VariantWriter and VariantParser
-It is now finally possible to parse back a variant from text!
2015-12-31 00:54:00 -03:00
Zher Huei Lee 61a1f596cc added missing null check
for p_func inside _parse_function
2015-12-30 01:02:31 +00:00
Zher Huei Lee 821351be04 added missing onready allocation for subclasses
Fixes #3158
2015-12-30 00:23:26 +00:00
reduz 7d2d1442f8 -add breakpoint statement to ease with debugging, closes #3165 2015-12-29 12:11:21 -03:00
reduz 99736e63e4 -fixed bug with some indent blocks not properly checked, fixes #2570
-added ability to do one-line blocks, such as:  if something: print("hello") , to be more python-like
2015-12-29 11:41:37 -03:00
reduz f7b64a62d1 -renamed function get_relative_transform() to get_relative_transform_to_parent(), makes more sense
-fixed newly introduced bug in onready keyword, fixes #3155
2015-12-28 21:05:57 -03:00
reduz 30c12297dc - added 'onready' keyword to gdscript. Defers initialization of member variables until _ready() is run. 2015-12-28 19:32:51 -03:00
reduz 110de2ccac -Added proper code completion for singletons 2015-12-28 16:36:29 -03:00
reduz e0d21d2158 Ability to set autoloads as singleton global variables 2015-12-28 15:59:20 -03:00
Rémi Verschelde 9e9e4f96a2 Merge pull request #3051 from eska014/add-export-hints
Add GDScript export hints for named bit flags, exponential ranges and global filesystem
2015-12-14 17:40:57 +01:00
eska 897cf2140c Add GDScript export hint for named bit flags
Syntax: `export( int, FLAGS, "A Flag", "Another Flag" ) var flags`
2015-12-14 17:32:31 +01:00
Juan Linietsky f2183a5e09 replaced :var by :Variant in documentation, fixes #2897 2015-12-14 08:28:01 -03:00
eska ef0c05430c Add GDScript export hints for global filesystem and exponential ranges
- File in global filesystem: `String, FILE, GLOBAL, "*.png"`, tool scripts only
- Directory in global filesystem: `String, DIR, GLOBAL`, tool scripts only
- Exponential range: `float, EXP, 50, 150, 2`
2015-12-11 06:45:03 +01:00
Juan Linietsky 17927cb705 Merge pull request #2877 from eska014/remove-builtin-aliases
Remove unexpected GDScript aliases for built-in types
2015-12-08 17:09:22 -03:00
Juan Linietsky 200b7bb87c -Display on animation editor which keys are invalid and which tracks are unresolved
-Added a tool to clean up unresolved tracks and unused keys
2015-12-05 14:18:22 -03:00
Rémi Verschelde 3aa0d0e9fd Merge pull request #2938 from koalefant/master
Break into GDScript debugger when new() fails
2015-11-30 07:50:22 +01:00
koalefant e52d211b61 GDScript: fixed highlighting of the next line when colon is missing 2015-11-29 23:45:28 +01:00
admix b2508ca879 Break into GDScript debugger when new() fails 2015-11-29 17:02:52 +01:00
Franklin Sobrinho 69a6524adf Add script auto-completion for function parameters 2015-11-26 09:40:13 -03:00
eska d1a75a6757 Remove unexpected GDScript built-in type aliases 2015-11-23 02:09:19 +01:00
Juan Linietsky 0c3386b2ed Merge pull request #2707 from akien-mga/master
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Juan Linietsky e8435cc721 Merge pull request #2632 from firefly2442/duplicate-inherited-vars
remove child variable that is duplicated from parent class
2015-11-18 19:16:35 -03:00
eska bbc42a159c Allow extending from Object in GDScript 2015-11-12 15:50:20 +01:00
Rémi Verschelde 399b1b0474 Cosmetic fixes to SCons buildsystem
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39)
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
firefly2442 bb68dc5210 remove child variable that is duplicated from parent class 2015-10-18 21:45:27 -05:00
Juan Linietsky e1e04c1dd5 Merge pull request #2497 from vnen/fix-2490
Make dict2inst set internal members of instance
2015-10-17 10:11:11 -03:00
eska eb9621624f Add GDScript export hint for real numbers with easing export(float, EASE) 2015-10-16 20:37:13 +02:00
eska 57b2c4b0c6 Add multiline string GDScript export hint export(String, MULTILINE) 2015-10-16 18:48:54 +02:00
eska e18c1ba05b Revert "add flag and multiline hits in GDScript"
This reverts commit 7843ec6633.
2015-10-16 16:18:46 +02:00
George Marques 1d45c9a04c
Make dict2inst set internal members of instance
Fix #2490
2015-09-20 16:17:30 -03:00
crr0004 f34c3e249b Fixes editor freeze 2015-09-02 13:56:51 +10:00
Juan Linietsky 319cc7e3ae detect node and variable assignments in _ready, _init, etc for further code completion 2015-08-30 11:50:10 -03:00
Juan Linietsky 04cb3c9eb1 Ability to edit all kinds of arrays from the property editor.
Yes, I'm trying to convince you to test the alpha release by adding all these now :)
2015-08-25 20:45:51 -03:00
Juan Linietsky 4b40f9228b Merge branch 'master' of https://github.com/okamstudio/godot 2015-08-23 20:22:08 -03:00
Juan Linietsky 07e9741425 **WARNING BEFORE PULLING**
This push changes the binary and XML formats and bumps the major version to 2.0. As such, files saved in this version WILL NO LONGER WORK IN PREVIOUS VERSIONS. This compatibility breakage with older versions was required in order to properly provide project refactoring tools.
If I were you, unless you are brave, I would wait a week or two before pulling, in case of bugs :)

Summary of Changes

-New Filesystem dock, with filesystem & tree view modes.
-New refactoring tools, to change or fix dependencies.
-Quick search dialog, to quickly search any file
2015-08-23 20:15:56 -03:00
Juan Linietsky c2e2f2e0ae Merge pull request #2282 from Ovnuniarchos/master
Bitmask editor and some CanvasItem documentation.
2015-08-08 11:18:08 -03:00
Juan Linietsky 71b14f9822 Merge pull request #2323 from dbsGen/patch-2
add flag and multiline hints in GDScript
2015-08-08 11:05:35 -03:00
neikeq 6c5b031ba9 Add missing token name for signal. closes #2201 2015-08-07 22:20:52 +02:00
Juan Linietsky 8280bb0de0 more debugger fixes
-setting/clearing breakpoints during run-time now works
-multi-line strings resulted in wrong line numbers in bytecode, fixed
2015-08-04 20:17:39 -03:00
Juan Linietsky d1da2c2995 error debugger
shows the list of errors that happened during running the game, traces
can be analyzed
2015-08-04 09:47:32 -03:00
Gen 7843ec6633 add flag and multiline hits in GDScript
`export (flag) var test` for PROPERTY_HINT_ALL_FLAGS
`export (multiline) var test` for PROPERTY_HINT_MULTILINE_TEXT
2015-08-01 14:02:10 +08:00
Ovnuniarchos dd09ae50e1 Added FLAGS to int hint to make an int a bitmask on the editor. 2015-07-20 20:02:46 +02:00
Juan Linietsky 55b34e05b3 -some changes by okam 2015-06-30 11:28:43 -03:00
Juan Linietsky 95047562d7 Several performance improvements, mainly in loading and instancing scenes and resources.
A general speedup should be apparent, with even more peformance increase when compiling optimized.

WARNING: Tested and it seems to work, but if something breaks, please report.
2015-06-29 00:29:49 -03:00
Juan Linietsky 2b64f73b04 more code completion improvements
-calltip dissapears with more types of keypresses or when pressing ')'
-properly looks into autoloaded scripts or nodes with another script for
script functions/variables/etc.
2015-06-27 15:52:39 -03:00
Juan Linietsky a67486a39e improved get_node(), connect(), etc code completion.
-properly completes text arguments
-includes the "/root" autoloads
2015-06-26 01:14:49 -03:00
Juan Linietsky 48f1d02da4 added ability to define signals in script
closes #2175
2015-06-24 13:29:45 -03:00
Juan Linietsky 68443a649d Merge pull request #2088 from KillerJaguar/setter-fix
Fixed variables being set before calling the setter method
2015-06-22 23:55:55 -03:00
Juan Linietsky e9bbb97acc Multiple scene editing *POTENTIALLY UNSTABLE*
-ability to edit multiple scenes at the same time
-resource internal IDs are now persistent, this makes multiple scene
editing possible but maaaaay result in file corruption bugs (tested and
could not find anything but possibility exists because core code
changed, report immediately if you find this).
-properly save settings, layout, etc when edited
-script editing is independent from scene editing now
-show a yellow box when a script belongs to the scene
2015-06-22 00:04:15 -03:00
Jaguar 7c0051beac Fixed variables being set before calling the setter method 2015-06-13 14:10:06 -04:00
Juan Linietsky e323cc0505 -Rename unexisting by nonexistant, closes #1940
-Added function to retrieve list of actions fron InputMap
2015-05-18 10:20:54 -03:00
Juan Linietsky e72717e373 properly save external resources, fixes #1924
added API to get scancode names to OS
2015-05-17 13:15:23 -03:00
Juan Linietsky 27cb75112e -bit slower execution in debug, but proper error reporting for get index and operators, fixes #1911 2015-05-16 16:32:46 -03:00
Juan Linietsky 65d48d6d39 -Added prints() function, fixes #1132, #1859
-Tabs work inside built-in log window, fixes #1867
2015-05-09 18:09:58 -03:00
Juan Linietsky f54ad9e086 made parser accept EOF after "pass", fixes #1488 2015-04-26 20:28:41 -03:00
Juan Linietsky 701335e845 -Throw error if setter and getter reference their member variable with self. , fixes #1685 2015-04-18 17:55:04 -03:00
Juan Linietsky 170a9349d2 Merge branch 'master' of https://github.com/okamstudio/godot 2015-04-18 16:18:59 -03:00
Juan Linietsky 4661a6e126 -try to avoid errors when path using ".." is present in script include, fixes #1703 2015-04-18 16:17:33 -03:00
Juan Linietsky e388d551b7 Merge pull request #1667 from TheHX/fix_multiline_strings
Now the script editor highlight all lines of a multiline string
2015-04-18 14:45:15 -03:00
Juan Linietsky fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky be46be7801 -renamed function to get object from instance id
-added function to get list of tiles used
2015-04-18 14:00:15 -03:00
Franklin Sobrinho 562bc22dd4 Now the script editor highlight all lines of a multiline string 2015-04-09 18:24:38 -03:00
Juan Linietsky 963845eea9 Merge branch 'master' of https://github.com/okamstudio/godot 2015-04-07 21:21:06 -03:00
Juan Linietsky 22997294fa -Concatenating arrays keeps the shared property if any of the arrays is shared. Fixes #1646 2015-04-07 21:18:46 -03:00
Juan Linietsky 8619cb64ba Merge pull request #1567 from sanikoyes/Pr-GDScript-seed-get-inst
Pr-GDScript-seed-get-inst
2015-04-07 20:19:07 -03:00
Juan Linietsky b1bf4fcef2 Merge pull request #1591 from MostafaHassan/pr_FixCrashInVisualShader
(Fix crash) in visual shader for curve remap node
2015-04-07 20:14:10 -03:00
yg2f fcbf473d0d fix printraw to make it actually print raw 2015-04-06 13:57:31 +02:00
mostafahassan 73ff3ac218 (Fix) script will not be able to extend itself 2015-03-31 21:34:50 +02:00
sanikoyes 97f34a1dd6 Add seed/get_inst function for GDScript
seed -> Math::seed
get_inst -> ObjectDB::get_instance
2015-03-25 11:01:12 +08:00
Juan Linietsky 0302ea5b82 Merge pull request #1396 from Spooner/fix_sprintf_errors
Fix sprintf errors
2015-03-22 15:03:32 -03:00
Juan Linietsky da7698073f Merge pull request #1407 from NateWardawg/documentation
Updated the internal documention for the GDScript class.
2015-03-22 15:02:00 -03:00
Juan Linietsky a1f715a4da support for 2D shadow casters
Added support for 2D shadow casters.

*DANGER* Shaders in CanvasItem CHANGED, if you are using shader in a
CanvasItem and pull this, you will lose them. Shaders now work through a
2D material system similar to 3D. If you don't want to lose the 2D
shader code, save the shader as a .shd, then create a material in
CanvasItem and re-assign the shader.
2015-03-02 00:54:43 -03:00
Nathan Warden bfad392387 Updated the variable in the lerp function to be weight instead of percent. 2015-02-20 16:28:48 -05:00
Juan Linietsky daeac73c54 restored @ for nodepaths/stringnames 2015-02-19 18:12:45 -03:00
Bil Bas (Spooner) 748311ec42 Added info about operator after bespoke error message. 2015-02-19 16:59:37 +00:00
Bil Bas (Spooner) db2381de7a Correctly halt on error in sprintf parsing (fixes #1393) 2015-02-19 15:45:49 +00:00
Juan Linietsky 2185c018f6 begin new serialization framework
also got rid of STL dependency on triangulator
2015-02-15 01:21:26 -03:00
Hinsbart cbade4daf6 fix typo in script template 2015-02-10 19:39:52 +01:00
Wim Vander Schelden 3d3b1937dd Cleaned up formating in gd_compiler.h 2015-01-14 16:37:24 +01:00
Juan Linietsky 7c7ab30c4e fixes 2015-01-13 11:22:56 -03:00
Juan Linietsky bd03562076 -Resolved bug that made yield() not work in some situations, fixes #884 2015-01-06 00:39:35 -03:00
Juan Linietsky ddf7457894 Merge branch 'master' of https://github.com/okamstudio/godot 2015-01-03 16:53:39 -03:00
Juan Linietsky fbdd925d9b -Work in progress visual shader editor *DOES NOT WORK YET* 2015-01-03 16:52:37 -03:00
Juan Linietsky 6b5b95bb4e -added new code completion guess locations, closes #1032
-moved commandline fix to mingw-only, should fix #1064
2015-01-03 13:03:13 -03:00
Juan Linietsky 60afd79a6e -added a check for setget while running the game , closes #1009
-fixed issues in tilemap editor (swap arrows not showing/hiding properly)
2015-01-03 00:57:02 -03:00
Juan Linietsky 78e7777cf5 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	modules/gdscript/gd_editor.cpp

Improved code completion for InputEvent (shows members by type)
2014-12-21 11:46:28 -03:00
Juan Linietsky a36a774897 Fixes
-=-=-=

-Added missing quaternion constructor
-code completion fixes
-winrt fixes
2014-12-20 15:30:06 -03:00
Juan Linietsky 9783f6fc96 Merge branch 'master' of https://github.com/okamstudio/godot 2014-12-20 12:32:32 -03:00
sanikoyes 4ccdbde845 Fix crash when gd-script _init fail 2014-12-18 12:50:47 +08:00
Juan Linietsky 9f5bbfc322 -improved completion options for InputEvent, shows all event types now 2014-12-18 00:56:33 -03:00
Juan Linietsky 92f28a5028 oops, C++11 makes me screw up 2014-12-17 10:45:02 -03:00
Juan Linietsky fd4648c081 -fixed crash reported by n-pigeon 2014-12-16 23:46:55 -03:00
Juan Linietsky 2dd302ff90 -fix compilation issue
-fix missing built-ins in completion
-fix parse error
2014-12-16 23:17:35 -03:00
Juan Linietsky bcf27feb98 New Code Completion
-=-=-=-=-=-=-=-=-=-

-Massive improvement to code completion
-Argument hinting for functions

If you manage to out-smart the code-completion in a situation where completion
should be possible to guess, let me know.

 Please enter the commit message for your changes. Lines starting
2014-12-16 22:31:57 -03:00
Juan Linietsky be4e40e90a compilation fix 2014-12-08 16:09:29 -03:00
Juan Linietsky 6851f9bfae Small Fixes
-=-=-=-=-=-

-Bug in navmesh demo fixed
-Bug in variant
-Better Collada Exporter supports proper names of exported shapekeys
2014-12-08 15:47:45 -03:00
Juan Linietsky c940212b89 more bugfixes 2014-12-07 02:39:51 -03:00
Juan Linietsky c79be979d4 Batch of Bugfixes
-=-=-=-=-=-=-=-=-

-Fixed Export UV XForm (should work now). #923
-Fixed enforcement of limits in property editor. #919
-Fixed long-standing bug of export editings in script inheritance. #914, #859, #756
-Fixed horrible error reporting in shader language. #912
-Added kinematic collision with plane (please test well). #911
-Fixed double animation track insert when using 2D rigs. #904
-VKey updates offset parameter in sprite edition. #901
-Do not allow anymore a script to preload itself. (does not fix #899, but narrows it down)
-Avoid connection editor from overriding selected text. #897
-Fixed timer autostart. #876
-Fixed collision layers in 3D physics. #872
-Improved operators in shader #857
-Fixed ambient lighting bug #834
-Avoid editor from processing gamepad input #813
-Added not keyword #752

Please test!
2014-12-07 02:04:20 -03:00
Juan Linietsky e709468bb1 missing navmesh demo and small fixes 2014-11-19 11:33:15 -03:00
Juan Linietsky abbea4d945 UDP Fixes
-=-=-=-=-

Curse the day I decided to port UDP code, as it ended up
being two nights of work.  At least It's done now (I hope).

-Fixed UDP Support, API seems stable
-Added UDP Chat demo (chat that can lose your packets, heh)
-Added helpers to areas and bodies to get list of collided bodies and contained bodies.
-Sped up screen/viewport capture code.
-Added code to save an image as PNG
-Small fix so scripts register their singletons after modules did.
2014-11-13 00:53:12 -03:00
Juan Linietsky 0dbedd18fc SceneMainLoop -> SceneTree
-=-=-=-=-=-=-=-=-=-=-=-=-=-

*YOUR SOURCE MIGHT NOT WORK*
For mor information on fix:
https://github.com/okamstudio/godot/wiki/devel_scene_tree

Other stuff:
-Shower of bullets demo
-Fixes all around
2014-11-05 21:20:42 -03:00
Juan Linietsky d85b67be53 Bug Fixes
-=-=-=-=-

-Fixed problem with scaling shapes (#827), related to not taking scale in consideration for calculating the moment of inertia
-Added support for multiline strings (or comments) using """
-Save subscene bug, properties not being saved in root node (#806)
-Fix Crash in CollisionPolygon2DEditor (#814)
-Restored Ability to compile without 3D (#795)
-Fix InterpolatedCamera (#803)
-Fix UV Import for OBJ Meshes (#771)
-Fixed issue with modifier gizmos (#794)
-Fixed CapsuleShape gizmo handle (#50)
-Fixed Import Button (not properly working in 3D) (#733)
-Many misc fixes (though no new features)
2014-11-02 11:31:01 -03:00
Juan Linietsky e82dc40205 -Much improvement to baked light baker
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
Juan Linietsky 9608d4255e Merge pull request #823 from grabiller/#821
Fix issue #821: GDScript now accepts single quoted as well as double quoted strings.
2014-10-27 22:44:53 -03:00
Guy Rabiller 1317d20740 - Fix issue #391: GDScript now reduce constant expressions to constant and forbids constant assignment after being defined. 2014-10-27 22:26:31 +01:00
Guy Rabiller f1744c8c31 Fix issue #821: GDScript now accepts single quoted as well as double quoted strings. 2014-10-26 10:33:35 +01:00
Juan Linietsky 948fd83cdd Little Bits
-=-=-=-=-=-

-fix duplicate function bug when creating script callback in editor
-fix bug where hiding lights does not work
-fix 2D audio listener bug (romulox_x reported)
-fix exported properties with inheritance bug
-fix timer autostart (make it not work on editor)
-reactivate first camara found if viewport runs out of active camera
-option to hide gizmos in viewport
-changed skeleton gizmo because it sucks
-Make convex shapes using CollisionShape visible (use quickhull class)
-fix up menu when editing a mesh, to export collision, navmesh, convex, etc. from it.
-make a menu option to show SRGB in 3D editor views by default
-make option to edit default light direction in viewport settings
-make option to edit default ambient light in viewport settings
-make software conversion of linear->RGB if hardware support not found
2014-10-12 02:13:22 -03:00
Juan Linietsky 0fa94a9690 Build System Changes
-=-=-=-=-=-=-=-=-=-=

Build System:
-Big clean up of SCons, changed how builds are done to a much cleaner method (check the Github Wiki for instructions).
-Deactivated BlackBerry10 (sorry), if no mantainer found (or BlackBerry does not send us a Passort ;), platform will be removed as we have no longer devices to test.

Engine:
-Removed deprecated object and scene format (was in there just for compatibility, not in use since a long time).
-Added ability to open scenes even if a node type was removed (will try to guess the closest type).
-Removed deprecated node types.
2014-10-07 01:31:49 -03:00
Juan Linietsky 048fdc8aea -variables with export in script are now IMMEDIATELY AND ALWAYS visible in properties (#718)
-WorldEnvironment cleanup issues fixed (#563)
-Text Editor improvement to shift-mouse selection (#648)
-(Hopefully) fixed rare (but horrible) indexing bug in GDScript compiler (#652)
-Some changes to PhysicsBody API, renamed property "active" to "sleeping", which makes more sense
-Added add_collision_exception() API in PhysicsBody (more accessible)
-ability to select and copy in the output messages panel
2014-09-22 00:50:48 -03:00
Juan Linietsky 11a5ed508b Fixed too many little issues, check the issues closed today. 2014-09-21 01:43:42 -03:00
Juan Linietsky 0a557f3bf5 - more fixes on #672 on windows
- added #660, but need help on osx, help please I don't have a mac!
- fixed #667 and #668 (eol detection in comments)
- added #670 (hint when using method without () )
2014-09-19 21:01:41 -03:00
Juan Linietsky 549d344f0f Fixing Issues...
- #672 (default user:// in $HOME/.godot/app_userdata (linux/osx) and $APPDATA/Godot/app_userdata (Windows)
- #676 (draw both tiles and octants in order from top to bottom, left to right )
- #686 (unicode escape sequences work now)
- #702 (was not a bug, but a test was added to see if bodies went too far away)
2014-09-19 18:39:50 -03:00
Juan Linietsky 8cab401d08 3D Physics Rework, Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=-

3D Physics:
-Fixed "Bounce" parameter in 3D
-Fixed bug affecting Area (sometims it would not detect properly)
-Vehicle Body has seen heavy work
-Added Query API for doing space queries in 3D. Needs some docs though.
-Added JOINTS! Adapted Bullet Joints: and created easy gizmos for setting them up:
   -PinJoint
   -HingeJoint (with motor)
   -SliderJoint
   -ConeTwistJoint
   -Generic6DOFJoint
-Added OBJECT PICKING! based on the new query API. Any physics object now (Area or Body) has the following signals and virtual functions:
    -input_event (mouse or multitouch input over the body)
    -mouse_enter (mouse entered the body area)
    -mouse_exit (mouse exited body area)
   For Area it needs to be activated manually, as it isn't by default (ray goes thru).

Other:

-Begun working on Windows 8 (RT) port. Compiles but does not work yet.
-Added TheoraPlayer library for improved to-texture and portable video support.
-Fixed a few bugs in the renderer, collada importer, collada exporter, etc.
2014-09-15 11:33:30 -03:00
Juan Linietsky 2ee4ac183b Little Bits
-=-=-=-=-=-

-Fixed small bugs all around
-Added ability to show/hide entire sections of the spatial (3D) tree
-WIP new vehicle (not ready yet) based on Bullet
2014-08-14 10:31:38 -03:00
Juan Linietsky 2af2a84a03 Misc Fixes
==========

-NOTIFICATION_WM_QUIT fixed on android (seems tha way this is reported changed in newer sdk)
-WIP implementation of APK Expansion APIs for publishing games larger than 50mb in Play Store
-Feaures in the new tutorials are all present in the sourcecode
-This (hopefully) should get rid of the animation list order getting corrupted
-Improved 3D Scene Importer (Skeletons, Animations and other stuff were not being merged). Anything missing?
-In code editor, the automatic syntax checker will only use file_exists() to check preload() else it might freeze the editor too much while typing if the preload is a big resource
-Fixed bugs in PolygonPathFinder, stil pending to do a node and a demo
2014-06-27 23:21:45 -03:00
Juan Linietsky 703004f830 More 3D Work
-=-=-=-=-=-

-ESM Shadow Mapping for softer and less glitchy shadows
-HDR Pipeline (convert to Linear on texture import, convert to SRGB at the end)
-Fix to xml parse bug
2014-06-16 10:22:26 -03:00
Juan Linietsky 9b8696d3dd Light Baker!
-=-=-=-=-=-=

-Support for lightmap baker, have fun figuring out how it works before tutorial is published.
2014-06-11 10:41:03 -03:00
Juan Linietsky 71355aaab7 -Fixed bug in "extends" 2014-05-24 13:25:56 -03:00
Juan Linietsky 1cad087969 Making Godot Easier to Use..
-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-Auto indenter in code editor, this makes it much easier to paste external code.
-Zoom in 2D viewport now uses the mouse pointer as reference.
-Obscure hack to see where code/line of GDScript in C++ backtrace.
-Fixed a bug where keys would get stuck on X11 if pressed simultaneously
-Added Api on IP singleton to request local IPs.
-Premultiplied alpha support when importing texture, editing PNGs and as a blend mode.
2014-05-24 01:35:47 -03:00
Juan Linietsky b324ff7ea5 A bit of everything:
-IMA-ADPCM support for samples, this means that sound effects can be compressed and use 4 timess less RAM.
-New 3D import workflow based on Wavefront OBJ. Import single objects as mesh resources instead of full scenes. Many people prefers to work this way. Just like the rest of the imported resources, these are updated in realtime if modified externally.
-Mesh resources now support naming surfaces. This helps reimporting to identify which user-created materials must be kept.
-Several fixes and improvements to SurfaceTool.
-Anti Aliasing added to WorldEnvironment effects (using FXAA)
-2D Physics bodies (RigidBody, KinematicBody, etc), Raycasts, Tilemap, etc support collision layers. This makes easy to group which objects collide against which.
-2D Trigger shapes can now also trigger collision reporting in other 2D bodies (it used to be in Area2D before)
-Viewport render target textures can now be filtered.
-Few fixes in GDscript make it easier to work with static functions and class members.
-Several and many bugfixes.
2014-05-14 01:22:15 -03:00
Juan Linietsky f1d3b30a45 Fixes to constants in scope 2014-05-02 12:40:34 -03:00
Juan Linietsky 6572d51288 -Fixes to OpenSSL compilation (more)
-Fix bug in GDScript, now static functions can call static functions.
2014-05-01 11:34:10 -03:00
Juan Linietsky b4969373b3 -HttpClient: ’Content-Length’ is added to httprequest if not provided in the headers and a body exists
-expressions in GDScript can take multiple lines if inside parenthesis (python-like)
-Added \ to force linebreaks to GDscript (python-like)
-added exclude objects from raycast
-fixed crashes
2014-04-05 18:50:09 -03:00
Juan Linietsky 9f33134c93 -Support for changing fonts
-Detect when free() might crash the project and throw error
-fixed 2D Bounce in physics (3d still broken)
-renamed “on_top” property to “behind_parent”, which makes more sense, old on_top remains there for compatibility but is invisible.
-large amount of fixes
2014-04-05 12:39:30 -03:00
Juan Linietsky 0a717ffee2 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	modules/multiscript/register_types.cpp
	platform/android/java/src/com/android/godot/GodotLib.java
2014-03-13 23:14:35 -03:00
Juan Linietsky 31ce3c5fd0 -fix bug in cache for atlas import/export
-fix some menus
-fixed bug in out transition curves
-detect and remove file:/// in collada
-remove multiscript for now
-remove dependencies on mouse in OS, moved to Input
-avoid fscache from screwing up (fix might make it slower, but it works)
-funcref was missing, it's there now
2014-03-13 22:57:24 -03:00
sanikoyes cde48d0c9c fix gdscript path parse error 2014-03-11 13:30:33 +08:00
Juan Linietsky b2ce682f6e -scripts are converted to bytecode on export
-fix bug in doc where touchscreen events were not documented
2014-02-25 09:31:47 -03:00
Juan Linietsky 4b07eb8deb -moved script to modules 2014-02-24 09:53:33 -03:00