aboutsummaryrefslogtreecommitdiff
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* Build MSVC safe_refcount in a separate compilation unitHein-Pieter van Braam2017-09-272-86/+183
| | | | | | Including windows.h in a globally included header gives all kinds of issues. Move the MSVC implementation for safe_refcount back into a .cpp file to prevent this from happening.
* Merge pull request #11445 from Cradmon/refactorCoreMapRémi Verschelde2017-09-252-231/+216
|\ | | | | Refactor core/map.h
| * Refactor core/map.h to be similar to core/set.hCradmon2017-09-201-160/+157
| |
| * Refactor core/set.hCradmon2017-09-201-71/+59
| |
* | Merge pull request #11518 from hpvb/gdscript-direct-dispatchRémi Verschelde2017-09-253-330/+236
|\ \ | | | | | | Some more GDScript performance optimizations
| * | Make variant_op jumptable constHein-Pieter van Braam2017-09-251-26/+26
| | | | | | | | | | | | Not doing this was a bit of an oversight
| * | Allow inlining of all parts of safe_refcountHein-Pieter van Braam2017-09-252-304/+210
| | | | | | | | | | | | | | | Differences with this aren't huge but the effort is minimal, in some workloads gain a couple of percent of performance.
* | | Merge pull request #11567 from QuLogic/scons-var-typesRémi Verschelde2017-09-251-1/+1
|\ \ \ | | | | | | | | Add types to scons command-line options
| * | | Use BoolVariable for third-party options.Elliott Sales de Andrade2017-09-251-1/+1
| |/ /
* / / Fixed constness of variant functions, as well as visual script sequence ↵Juan Linietsky2017-09-252-21/+50
|/ / | | | | | | ports. Closes #11258
* | Merge pull request #11549 from hpvb/fix-11543Hein-Pieter van Braam2017-09-241-1/+1
|\ \ | | | | | | Fix Dictionary set_named
| * | Fix Dictionary set_namedHein-Pieter van Braam2017-09-241-1/+1
| | | | | | | | | | | | | | | | | | Reduz optimized field indexing in 3c85703 but the changes didn't apply to dictionary so this code remained untouched. However, the logic for validity checking was changed but not updated for the dictionary case.
* | | Fix Variant::get_named return when p_index is invalidMarcelo Fernandez2017-09-241-0/+1
|/ /
* | Merge pull request #11473 from hpvb/fix-11466Rémi Verschelde2017-09-241-8/+14
|\ \ | | | | | | Implement operator != on Pool*Array types
| * | Implement operator != on Pool*Array typesHein-Pieter van Braam2017-09-221-8/+14
| | | | | | | | | | | | | | | | | | | | | These types previously had equality checks but not inequality checks. Add these too. This fixes #11466
* | | Enable building against system zstd.Elliott Sales de Andrade2017-09-232-20/+3
| | |
* | | Massive optimization to Variant::set_named/get_named. Should give a nice ↵Juan Linietsky2017-09-233-29/+506
|/ / | | | | | | boost to GDScript.
* | Merge pull request #11461 from hpvb/add-likely-macrosRémi Verschelde2017-09-223-12/+21
|\ \ | | | | | | Implement Linux-style likely()/unlikely() macros
| * | Implement Linux-style likely()/unlikely() macrosHein-Pieter van Braam2017-09-213-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implement branch prediction macros likely() and unlikely() like in Linux. When using these macros please ensure that when you use them the condition in the branch really is very, very likely or unlikely. Think 90+% of the time. Primarily useful for error checking. (And I implement these macros for all our error checking macros now) See this article for more information: https://kernelnewbies.org/FAQ/LikelyUnlikely There are more places where these macros may make sense in renderer and physics engine. Placing them will come in another commit down the line.
* | | Fixed a bunch of typos, including an error code.Ross Hadden2017-09-217-17/+17
|/ /
* | Fix import order, so scenes are imported after textures.Juan Linietsky2017-09-204-4/+59
| | | | | | | | Also fix bugs when meshes are always generated.
* | Merge pull request #11437 from hpvb/allow-compare-to-nullJuan Linietsky2017-09-201-156/+201
|\ \ | |/ |/| Allow equality checks between null and arbitrary types
| * Allow equality checks between null and arbitrary typesHein-Pieter van Braam2017-09-201-156/+201
| | | | | | | | | | | | | | | | Uninitialzed values in GDScript are of type NIL so not allowing null comparisons did end up breaking some code. This commit reenables NULL equality checks for all types. We're going to have to figure out how to make this fast for the compiler later.
* | Merge pull request #11409 from MarufSarker/PR-core-math-is_nanRémi Verschelde2017-09-201-2/+38
|\ \ | | | | | | Verbose and Platform-specific implementation for is_nan
| * | verbose and platform specific implementation for is_nanABU MD. MARUF SARKER2017-09-201-2/+38
| |/
* / Rename pos to position in user facing methods and variablesletheed2017-09-2032-74/+72
|/ | | | | | | | | | | Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
* Merge pull request #10748 from Cradmon/fixCoreSetRémi Verschelde2017-09-191-118/+125
|\ | | | | Refactor core/set.h
| * Refactor core/set.hCradmon2017-09-121-118/+125
| |
* | Merge pull request #11208 from kitsune/hex-color-shortcutsRémi Verschelde2017-09-191-0/+8
|\ \ | | | | | | Adds 3 and 4 digit html shortcuts to Color
| * | Adds 3 and 4 digit html shortcuts to ColorDylan Enloe2017-09-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Color::html now expands 3 and 4 digit hex values into 6 and 8 digit values by repeating each digit. This is to bring it in line with how html handles these values fixes #10997
* | | Merge pull request #11388 from hpvb/fix-missing-return-failRémi Verschelde2017-09-192-143/+76
|\ \ \ | | | | | | | | Be type-strict checking on equality checks
| * | | Allow booleanization of all typesHein-Pieter van Braam2017-09-192-76/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now allow booleanization of all types. This means that empty versions of all types now evaluate to false. So a Vector2(0,0), Dictionary(), etc. This allows you to write GDScript like: if not Dictionary(): print("Empty dict") Booleanization can now also no longer fail. There is no more valid flag, this changes Variant and GDNative API.
| * | | Be type-strict checking on equality checksHein-Pieter van Braam2017-09-191-67/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a short discussion with @reduz and @karroffel we decided to make all non number/number comparisons return type errors on comparisons. Now bool == bool is allowed but Vector2 == Vector3 is a type error and no longer 'not equal'. The same has been done for the != operators. In addition I forgot to add some failures to some Object operators meaning that there was a potential for a crasher.
* | | | Merge pull request #11405 from karroffel/new-hashmapRémi Verschelde2017-09-193-33/+627
|\ \ \ \ | |/ / / |/| | | added OAHashMap type
| * | | added OAHashMap typeKarroffel2017-09-193-33/+627
| | | |
* | | | Merge pull request #11402 from hpvb/remove-gdscript-checks-on-releaseRémi Verschelde2017-09-191-30/+131
|\ \ \ \ | | | | | | | | | | Various GDScript performance tweaks
| * | | | Don't call Variant::reference() unnecessarilyHein-Pieter van Braam2017-09-191-30/+131
| |/ / / | | | | | | | | | | | | | | | | | | | | operator= does not need to call reference() if the new value is of the same type as the old. This saves us zeroing the Variant, This speeds up reuse of a Variant in a loop by roughly 50%.
* | | | Merge pull request #11386 from kosz78/fix-msvc-compile-errorsRémi Verschelde2017-09-191-1/+1
|\ \ \ \ | | | | | | | | | | Fix MSVC compilation errors
| * | | | Fix MSVC compilation errorsKonstantin Zaitsev2017-09-191-1/+1
| | | | |
* | | | | Fix accidental cast to Vector3 for Vector2 iterHein-Pieter van Braam2017-09-191-1/+1
| | | | |
* | | | | Fixed Typo: 'Seperate' to 'Separate'Indah Sylvia2017-09-191-1/+1
| |/ / / |/| | |
* | | | Move Variant::evaluate() switch to computed gotoHein-Pieter van Braam2017-09-172-663/+942
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an effort to make GDScript a little faster replace the double switch() with a computed goto on compilers that set __GNUC__. For compilers that don't support computed goto it will fall back to regular switch/case statements. In addition disable using boolean values in a mathematical context. Now boolean values can only be compared with other booleans. Booleans will also no longer be coerced to integers. This PR replaces #11308 and fixes #11291
* | | Fix x11 exported executables not getting the +x flagMarcelo Fernandez2017-09-173-2/+9
| | |
* | | Merge pull request #11294 from karroffel/json-objectThomas Herzog2017-09-173-0/+126
|\ \ \ | | | | | | | | added JSON singleton
| * | | added JSON singletonkarroffel2017-09-153-0/+126
| | | | | | | | | | | | | | | | | | | | There was no way to access JSON functionality in scripting languages apart from GDScript because the JSON class wasn't exposed to ClassDB.
* | | | Merge pull request #11272 from Rubonnek/move-to-initializer-listRémi Verschelde2017-09-172-8/+9
|\ \ \ \ | | | | | | | | | | Moved class_name and return_val to initializer list
| * | | | Moved class_name and return_val to initializer listWilson E. Alvarez2017-09-142-8/+9
| | | | |
* | | | | Merge pull request #11176 from bncastle/masterRémi Verschelde2017-09-173-5/+141
|\ \ \ \ \ | | | | | | | | | | | | Implement +,-,/, * and negate operators for Color type
| * | | | | Implement +,-,/, * and negate operators for Color type.bncastle2017-09-163-5/+141
| | | | | |
* | | | | | Merge pull request #11343 from BastiaanOlij/fix_basenameRémi Verschelde2017-09-171-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fixed naming of pck file