summaryrefslogtreecommitdiff
path: root/core/object.h
AgeCommit message (Collapse)Author
2017-09-04Remove NULL check from Object::cast_to()Hein-Pieter van Braam
After discussing this with @reduz on IRC we agreed to remove these checks. We now consider cast_to() to be NULL safe
2017-08-29DocData and type hints fixesIgnacio Etcheverry
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types - Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string. - PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void. - Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-26MethodBind: Adds operator== to compare by idIgnacio Etcheverry
2017-08-26Fix refactored Object::cast_to in NO_SAFE_CAST branchHenrik Andersson
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24Add a static version of Object::cast_to()Hein-Pieter van Braam
This is to prepare to replace all instances of the member version of cast_to().
2017-08-23Changed MethodBind API to request information from methods. It's much claner ↵Juan Linietsky
now. Also changed PropertyInfo to include informatino about class names.
2017-08-18Rename localization method to `tr` againRémi Verschelde
Partial revert of #10380 based on contributor ~~bullying~~ feedback.
2017-08-18-Properly check limits to objects sent (regarding to size), fixes #9034Juan Linietsky
-Changed the way objects are marshalled and sent to the debugger -Editing debugged objects happens in the remote inspector now
2017-08-17Rename `XL_MESSAGE` aka `tr` to `localize`Rémi Verschelde
Also renames `set_message_translation` to `set_message_localization` for consistency.
2017-08-16Synchronize parameter names in definition and declarationTwistedTwigleg
Fixes #10244.
2017-08-08Moved member variables from constructor to initialization listWilson E. Alvarez
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-08-06keep default exported script values unless overriden, closes #8127Juan Linietsky
2017-08-05Made bool constructor explicit in Variant to avoid bugs, fixes #7843Juan Linietsky
2017-07-22function to add script and instance at once, as needed by neikeqJuan Linietsky
2017-07-16Added a simpler/faster way to bind script languages instance wrappers to GodotJuan Linietsky
2017-07-05Merge pull request #8943 from RandomShaper/fix-error-handlingRémi Verschelde
Implement well-defined handling of unrecoverable errors
2017-07-05Implement well-defined handling of unrecoverable errorsPedro J. Estébanez
Plus the addition of some convenience CRASH_* error macros. Plus transient avoidance of the flood of warnings emitted by Clang when checking 'this' for NULL. Plus explanation about the do-while(0) loop in some error macros.
2017-06-27Merge pull request #9195 from kubecz3k/obj-incoming-connectionsRémi Verschelde
Ability to get a list of signals that are targeting given object
2017-06-25-Added folding to property editor, persistent on objects it editsJuan Linietsky
-Some changes to tree to support this properly
2017-06-15Ability to get a list of signals that are targeting objectJakub Grzesik
2017-06-09-Restored multithread capability to VisualServerJuan Linietsky
-Restored resource previews!
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-24Fix typos in source code using codespellRémi Verschelde
From https://github.com/lucasdemarchi/codespell
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
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-02-16Correct hash behavior for floating point numbersHein-Pieter van Braam
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-13Remove use of _SCS from ADD_METHODHein-Pieter van Braam
This saves typing and is a step towards fixing #56
2017-02-01Lot of work in new importer, importing textures now works.Juan Linietsky
2017-01-16Style: Cleanups, added headers, renamed filesRémi Verschelde
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-14Style: Fix whole-line commented codeRémi Verschelde
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-10It is now possible to name layers of different kinds!Juan Linietsky
2017-01-09-All types have editable script now in propertiesJuan Linietsky
-Changed clip to a property in Control which can be set by the user
2017-01-07Memory pool vectors (DVector) have been enormously simplified in code, and ↵Juan Linietsky
renamed to PoolVector
2017-01-03Begin modifying properties to make them more friendly to script and doc.Juan Linietsky
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
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-01Welcome in 2017, dear changelog reader!Rémi Verschelde
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!
2016-08-25More visual script workJuan Linietsky
-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-23Proper function/property selection in visual script editing for property.Juan Linietsky
This one has an ordered list, built-in description, search, etc.
2016-08-02WIP visual scripting, not working yet but you can check out stuffJuan Linietsky
2016-06-19-Added trigger mode to tracks, useful for properties that work as triggers, ↵Juan Linietsky
such as playing a sample, an animation, etc. -Better interpolation of discrete tracks, fixes #4417
2016-06-17-added missing .inc filesJuan Linietsky
-Made it possible to change the editor theme -Added two options to theme editor plugin to create empty template themes and editor themes -Make sure that saved themes to .tres keep the null theme fields, to make it easier to keep those when saving/loading the theme
2016-06-11-All variables from script are visible through get_property_list(), not just ↵Juan Linietsky
those with export() -Added PROPERTY_USAGE_SCRIPT_VARIABLE to identify what comes from script -closes #5146
2016-06-07Fix indentation issues in last commitsRémi Verschelde
Ping @reduz.
2016-06-06Added function get_signals_connected_to_this_this()Juan Linietsky
should help properly implement #5058
2016-06-04Created a NodeDock with signals and groupsJuan Linietsky
2016-05-27Added translation support to GodotJuan Linietsky
included is a French translation!
2016-05-27Changed import workflowJuan Linietsky
-Rearrange favorites in fs dock with drag and drop -Removed import -> sub-scene, moved to scenetree contextual menu -Removed import -> re-import , moved and integrated to FS dock -Added ability in FS dock to re-import more than one resource simultaneously -Added ability to drag from native filesystem explorer to Godot, only works on Windows though -Removed scene reimport merge options, never worked well. Eventually merging materials should be re-added -Added ability to set custom root node type when importing scenes -Re-Import is now automatic, can be configured back to manual in editor settings -Added resource previews in property list for many resource types
2016-05-22Real-Time Remote Inspector supportJuan Linietsky