summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
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-15Many fixes to make exported scenes work better, still buggy.Juan Linietsky
2017-02-15-begin of export work, not done yetJuan Linietsky
-fixes to make scenes exported from godot 2.x work
2017-02-13Remove bounds check when resuming from yield.Hein-Pieter van Braam
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-13Rename the _MD macro to D_METHODHein-Pieter van Braam
This new name also makes its purpose a little clearer This is a step towards fixing #56
2017-02-13Remove use of _SCS from ADD_METHODHein-Pieter van Braam
This saves typing and is a step towards fixing #56
2017-02-12Merge pull request #7723 from lonesurvivor/gdscript-range-fixRémi Verschelde
Fix parsing bug which causes range(variable) to crash the engine
2017-02-06Several bugfixes, improving the import workflowJuan Linietsky
2017-02-04Fix parsing bug which causes range(variable) to crash the enginelonesurvivor
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-03Changed OGG Vorbis type to be imported, so it's possible to specify loopJuan Linietsky
2017-01-25Removed import/export system, will start new one from scratch.Juan Linietsky
2017-01-23Merge pull request #7583 from karroffel/wildcardRémi Verschelde
made _ a special token in GDScript
2017-01-21WIP new AudioServer, with buses, effects, etc.Juan Linietsky
2017-01-20made _ a special token in GDScriptkarroffel
2017-01-16Overloaded basic math funcs (double and float variants). Use real_t rather ↵Ferenc Arn
than float or double in generic functions (core/math) whenever possible. Also inlined some more math functions.
2017-01-16Merge pull request #7532 from tagcup/pcg_prngRémi Verschelde
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
2017-01-16Style: Various fixes to play nice with clang-formatRémi Verschelde
2017-01-16Style: Fix statements ending with ';;'Rémi Verschelde
2017-01-16Style: No break before list braceRémi Verschelde
clang-format does not handle that well *at all*. For the reference, found the relevant pieces of code with: `ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
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-15Replace the existing PRNG (Xorshift31) with (minimal) PCG (XSH-RR variant ↵Ferenc Arn
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-15Oops! Audio engine has vanished :DJuan Linietsky
2017-01-15Style: Cosmetic fixes to play nice with clang-formatRémi Verschelde
2017-01-14Compile error when duplicate key in dictionery literal #7034James Mintram
2017-01-14Merge pull request #6845 from karroffel/masterJuan Linietsky
Adds pattern matching to GDScript
2017-01-14Merge pull request #4918 from jjay/f/error_on_redefineJuan Linietsky
Redefine var results in an error
2017-01-14removed duplicated functions in class hierarchy that were bound more than onceJuan Linietsky
added a check to detect this case in the future
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-14rename String.extension() -> String.get_extension() / String.basename() -> ↵Juan Linietsky
String.get_basename()
2017-01-13rename Input.get_mouse_speed() to Input.get_last_mouse_speed()Juan Linietsky
2017-01-12Must now register with set_transform_notify() to get ↵Juan Linietsky
NOTIFICATION_TRANSFORM_CHANGED
2017-01-12some class renamesJuan Linietsky
TextureFrame -> TextureRect Patch9Frame -> NinePatchRect ColorFrame -> ColorRect
2017-01-12Implicit inheritance now defaults to Resource, will error for node scripts ↵Juan Linietsky
if extends not used.
2017-01-11More efficient iteration syntax, and range() is converted behind the scenes ↵Juan Linietsky
to it.
2017-01-11Merge pull request #6930 from bojidar-bg/gdscript-export-array-hintRémi Verschelde
Allow typing hints for Array class (in GDScript and Inspector)
2017-01-11Both Array and Dictionary are always in shared mode (removed copy on write).Juan Linietsky
2017-01-11Merge pull request #7093 from bojidar-bg/named-colorsRémi Verschelde
Add named colors to GDScript/Visual Script/core.
2017-01-11Type renames:Juan Linietsky
Matrix32 -> Transform2D Matrix3 -> Basis AABB -> Rect3 RawArray -> PoolByteArray IntArray -> PoolIntArray FloatArray -> PoolFloatArray Vector2Array -> PoolVector2Array Vector3Array -> PoolVector3Array ColorArray -> PoolColorArray
2017-01-11pattern matcher: Implemented backendKarroffel
changed comments
2017-01-11pattern matcher: Implemented transformationsKarroffel
2017-01-11pattern matching: implemented parserKarroffel
2017-01-10It is now possible to name layers of different kinds!Juan Linietsky
2017-01-10uses the global thread to protect the instacnes map in GDScript, closes #4615Juan Linietsky
2017-01-10Removed the set_child_rect() in AcceptDialog. AcceptDialog now works as a ↵Juan Linietsky
container!
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-08Moved JSON functions to built-in to_json, parse_json, validate_jsonJuan Linietsky
2017-01-08Removed Musepack, it's a pretty obsolete format nowadays.Juan Linietsky
2017-01-08Variant INT and REAL are now 64 bits (other types remain at 32)Juan Linietsky
2017-01-08PopupMenu now emits both index_pressed and id_pressed instead of ↵Juan Linietsky
item_pressed, closes #3188
2017-01-08renamed joystick to joypad everywhere around source code!Juan Linietsky