summaryrefslogtreecommitdiffstats
path: root/core/class_db.cpp
Commit message (Collapse)AuthorAgeFilesLines
* -Fixes to how hashing happened, now StringName and NodePath use default ↵Juan Linietsky2018-07-021-3/+3
| | | | | | hasher, this was leading to some severe slowdown in scenarios -Fixes to some duplication scenarios for instanced scenes
* Merge pull request #18514 from neikeq/api-hash-fixesRémi Verschelde2018-05-031-1/+1
|\ | | | | API hash fixes
| * ClassDB API hash now only includes exposed classesIgnacio Etcheverry2018-04-291-1/+1
| |
* | Fix Coverity reports of uninitialized scalar variableRémi Verschelde2018-04-191-0/+2
|/ | | | | | | | | | | Fixes most current reports on Coverity Scan of uninitialized scalar variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html These happen most of the time (in our code) when instanciating structs without a constructor (or with an incomplete one), and later returning the instance. This is sometimes intended though, as some parameters are only used in some situations and should not be double-initialized for performance reasons (e.g. `constant` in ShaderLanguage::Token).
* Ctrl+Clicking a enum now scrolls down to it in the docs.Felix Yang2018-04-031-3/+1
|
* Add RWLockDummy for NO_THREADS buildsLeon Krause2018-03-201-21/+0
|
* Refactor version macros and fix related bugsRémi Verschelde2018-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Added all missing VisualServer bindingsMarc Gilleron2018-01-201-0/+41
| | | | | | | - Added bindings for multimesh, immediate, skeleton, light, reflection probe, gi probe, lightmap, particles, camera, environment, scenario, instance - Removed draw and sync, were duplicates of force_* equivalents - Bumped binders max arguments from 11 to 13 - Wrote some wrappers as not all methods were variant-friendly
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Faster ClassDB::get_api_hash()Bernhard Liebl2017-12-161-4/+5
|
* PropertyEditor: Fix display of property doc in tooltipRémi Verschelde2017-12-091-19/+0
|
* Bind some VisualServer functionsLeon Krause2017-10-201-0/+19
|
* Adds 'exposed' field to ClassInfoIgnacio Etcheverry2017-10-091-0/+10
| | | | | | This field represents if the class is exposed to the scripting API. The value is 'true' if the class was registered manually ('ClassDB::register_*class()'), otherwise it's false (registered on '_post_initialize'). - Added missing registration of classes that are meant to be exposed.
* Fixes order of default arguments in MethodInfoIgnacio Etcheverry2017-09-021-5/+3
| | | | This time for real
* Fixes reversed order of default arguments in MethodInfoIgnacio Etcheverry2017-09-011-1/+7
|
* Merge pull request #10745 from neikeq/fix-docdata-and-stuffJuan Linietsky2017-08-291-1/+2
|\ | | | | DocData and virtual method type hints fixes
| * Fixes missing default arguments in MethodInfoIgnacio Etcheverry2017-08-291-1/+2
| |
* | Removed ParamDef and ParamHint structsWilson E. Alvarez2017-08-291-5/+0
| |
* | -Some fixes to code completion.Juan Linietsky2017-08-281-1/+1
|/ | | | | -Fix getter in code completion being displayed when it shouldn't -Clean up preview generation for editors and exposed it as editor plugin
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Re-apply clang-format to all filesRémi Verschelde2017-08-271-4/+3
| | | | Some badly formatted code has managed to pass through our CI...
* -Code completion for enumerationsJuan Linietsky2017-08-241-7/+16
| | | | -Disabled GDNative and GDNativeScript so build compiles again
* Changed MethodBind API to request information from methods. It's much claner ↵Juan Linietsky2017-08-231-4/+2
| | | | | | now. Also changed PropertyInfo to include informatino about class names.
* ClassDB: Provide the enum name of integer constantsIgnacio Etcheverry2017-08-201-1/+82
|
* Merge pull request #9987 from Rubonnek/move-members-to-initilization-listRémi Verschelde2017-08-111-3/+3
|\ | | | | Moved member variables from constructor to initialization list
| * Moved member variables from constructor to initialization listWilson E. Alvarez2017-08-081-3/+3
| |
* | Improves method bind detection of signature typesIgnacio Etcheverry2017-08-101-8/+11
|/
* ClassDB: Adds get_property_index methodIgnacio Etcheverry2017-08-061-0/+22
|
* Remove methods from code completion which are already exposed by properties, ↵Juan Linietsky2017-06-231-2/+12
| | | | makes completion cleaner and more close to the documentation.
* Fix recognition of resource extensions.Andreas Haas2017-04-261-1/+1
| | | | Also removes a related debug print.
* Move VERSION_MKSTRING logic to version.hRémi Verschelde2017-04-201-0/+1
| | | | | | | Fixes a bug where the VERSION_PATCH define is not yet in scope if typedefs.h is included before version.h at compilation time. (cherry picked from commit 3b687c5474113b64f186388883ca85cdfe6523d4)
* Add "Godot Engine contributors" copyright lineRémi Verschelde2017-04-081-0/+1
|
* A Whole New World (clang-format edition)Rémi Verschelde2017-03-051-443/+377
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Correct hash behavior for floating point numbersHein-Pieter van Braam2017-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Many fixes to make exported scenes work better, still buggy.Juan Linietsky2017-02-151-1/+1
|
* Rename the _MD macro to D_METHODHein-Pieter van Braam2017-02-131-11/+11
| | | | | | This new name also makes its purpose a little clearer This is a step towards fixing #56
* Enable WebGL2 in web export, start fixing buildeska2017-02-011-0/+5
| | | | Will not yet compile
* Style: Cleanups, added headers, renamed filesRémi Verschelde2017-01-161-0/+1299
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).