summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2017-05-07Implemented scrolling factor for smooth trackpad scrollingtoger5
Working platforms platform: OSX, Windows. Support for almost all ui elements, including project list.
2017-05-05Merge pull request #8658 from Faless/explain_out_of_mem_msg_queue_masterRémi Verschelde
Better explain out of memory error in message queue
2017-05-05Merge pull request #8642 from RandomShaper/fix-pack-get-curr-dirRémi Verschelde
Fix infinite loop in DirAccessPack::get_current_dir()
2017-05-05Better explain out of memory error in message queueFabio Alessandrelli
Also effectively saves one unnecessary call when everything is fine.
2017-05-04Fix infinite loop in DirAccessPack::get_current_dir()Pedro J. Estébanez
2017-05-01Rename project file to "project.godot"Rémi Verschelde
Slimmed down variant from the reverted #8375. The rationale behind the name change is to give Godot's project file a unique extension (".godot") that can be registered on the OS to be associated with the Godot binary (OS registration not implemented here). This PR also adds the possibility to start the game or editor if launched with the project.godot passed as argument, which paves the way for allowing a similar behaviour on a double-click in the OS file manager (code originally by @Hinsbart). Closes #6915.
2017-04-29Merge pull request #8572 from akien-mga/thirdpartyRémi Verschelde
Moving more thirdparty stuff (minizip, some single-file external libs) to the thirdparty directory
2017-04-29Revert "Use .godot as file extension for project files."Juan Linietsky
2017-04-28Move other lone thirdparty files to thirdparty/miscRémi Verschelde
Also move Box2D ConvexDecomposition contrib code to thirdparty/b2d_convexdecomp.
2017-04-28Split thirdparty smaz.c out of compressed_translation.cppRémi Verschelde
Code comes from https://github.com/antirez/smaz/blob/150e125cbae2e8fd20dd332432776ce13395d4d4/smaz.c With a small modification to match Godot expectations: ``` diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c index 9b1ebc2..555dfea 100644 --- a/thirdparty/core/smaz.c +++ b/thirdparty/core/smaz.c @@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #include <string.h> /* Our compression codebook, used for compression */ -static char *Smaz_cb[241] = { +static const char *Smaz_cb[241] = { "\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS", "\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277", "\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336", @@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = { "e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com" }; -int smaz_compress(char *in, int inlen, char *out, int outlen) { +int smaz_compress(const char *in, int inlen, char *out, int outlen) { unsigned int h1,h2,h3=0; int verblen = 0, _outlen = outlen; char verb[256], *_out = out; @@ -167,7 +167,7 @@ out: return out-_out; } -int smaz_decompress(char *in, int inlen, char *out, int outlen) { +int smaz_decompress(const char *in, int inlen, char *out, int outlen) { unsigned char *c = (unsigned char*) in; char *_out = out; int _outlen = outlen; @@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) { inlen -= 2+len; } else { /* Codebook entry */ - char *s = Smaz_rcb[*c]; + const char *s = Smaz_rcb[*c]; int len = strlen(s); if (outlen < len) return _outlen+1; diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h index a547d89..a9d8a33 100644 --- a/thirdparty/core/smaz.h +++ b/thirdparty/core/smaz.h @@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #ifndef _SMAZ_H #define _SMAZ_H -int smaz_compress(char *in, int inlen, char *out, int outlen); -int smaz_decompress(char *in, int inlen, char *out, int outlen); +int smaz_compress(const char *in, int inlen, char *out, int outlen); +int smaz_decompress(const char *in, int inlen, char *out, int outlen); #endif ```
2017-04-28Move core thirdparty files to thirdparty/{minizip,misc}Rémi Verschelde
2017-04-26Fix recognition of resource extensions.Andreas Haas
Also removes a related debug print.
2017-04-26Fix wrong fallback for localevolzhs
2017-04-24Merge pull request #8506 from iam13islucky/patch-1Rémi Verschelde
[3.0] Fix bug in Image::_get_pixelb
2017-04-24Merge pull request #8469 from Melix19/patch-2Rémi Verschelde
Update snake_case splitting
2017-04-24Merge pull request #8420 from magyar123/pr-script-files-as-baseRémi Verschelde
Added the ability to select files as base when creating scripts
2017-04-24Merge pull request #8277 from tagcup/math_checksRémi Verschelde
Added various functions basic math classes. Also enabled math checks …
2017-04-23[3.0] Fix bug in Image::_get_pixelbiam13islucky
Fixes issue: https://github.com/godotengine/godot/issues/8158
2017-04-23Update snake_case splittingMarco Melorio
2017-04-23Fix property warnings and hide some debug printsRémi Verschelde
"ALL IS GOOD" was a lie. In particular, removes verbose "path not recognized" false positive. The actual logic is to (somewhat naively) check all ResourceFormatLoaders and to pick the first good match, so no need to warn about the formats that do not match the type hint.
2017-04-20Move VERSION_MKSTRING logic to version.hRémi Verschelde
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)
2017-04-20Merge pull request #8417 from neikeq/hello-thereRémi Verschelde
External editor improvements and fixes
2017-04-18Fixed that playing the project opens the project managerMarco Melorio
Fixes #8445
2017-04-18Merge pull request #8441 from tagcup/seed_fixRémi Verschelde
Fix PRNG randomization.
2017-04-17Merge pull request #8375 from Hinsbart/project_extensionRémi Verschelde
Use .godot as file extension for project files.
2017-04-17Fix PRNG randomization.Ferenc Arn
PCG32 doesn't like small seeds, which leads to zero random values (prior to #7532, zero values were handled as special cases). Use a large default seed, and also add a shift in Math::randomize. Fixes #8423.
2017-04-17External editor improvements and fixesIgnacio Etcheverry
Notable changes: - Now ScriptLanguages have the option to override the global external editor setting. If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used. - Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`. - `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from. Fixes: - Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor. - Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit. - `Script::get_member_line()` now returns -1 ("found nothing") by default.
2017-04-16Use .godot as file extension for project files.Andreas Haas
Now project files don't have to be named "godot.cfg" anymore, they can have any name so as long as it ends with *.godot. Also godot will automatically start the editor now if launched with a project file as an argument. This allows for double-clicking of projects to open them :) Code-wise this should be complete, but there's still work to do: - Make a nice icon for godot projects. - Work on installers/packaging -> register the extension and icon with godot. - Update the 2.1 to 3.0 exporter. Tested on linux and windows so far.
2017-04-15Added the ability to select files as base when creating scriptsmbalint12
2017-04-14Correct Variant::hash_compare()Hein-Pieter van Braam
There was a logic error in #7815 which made Variant.hash_compare() == Variant.hash_compare() always true. In an attempt to short-circuit the NaN check I made an (in hindsight) obvious error: 10 == 12 || is_nan(10) == is_nan(12) This will be true for all inputs, except for the NaN, not-NaN case. The macro has been updated to now generate: (10 == 12) || (is_nan(10) && is_nan(10)) so: (10 == 12) || (is_nan(10) && is_nan(12)) = false False or (False and False) is False (10 == 10) || (is_nan(10) && is_nan(10)) = true True or (False and False) is True (Nan == 10) || (is_nan(NaN) && is_nan(10)) = false False or (True and False) is False (Nan == Nan) || (is_nan(NaN) && is_nan(NaN)) = true False or (True and True) is True Which is correct for all cases. This bug was triggered because the hash function for floating point numbers can very easily generate collisions for the tested Vector3(). I've also added an extra hashing step to the float hash function to make this less likely to occur. This fixes #8081 and probably many more random weirdness.
2017-04-11Fix a pesky bug in marshalls.cpp/encode_variantBojidar Marinov
Fixes #7556 running game from editor on LLVM builds.
2017-04-10Rename [gs]et_pos to [gs]et_position for ControlsSergey Pusnei
Control set_pos -> set_position Control set_global_pos -> set_global_position [gs]et_mouse_pos -> [gs]et_mouse_position [gs]et_global_mouse_pos -> [gs]et_global_mouse_position fixes #8005
2017-04-09Merge pull request #8333 from touilleMan/classdb-class_sget_property-bindingRémi Verschelde
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods
2017-04-09Add return value in ClassDB.class_[g|s]et_property bindingsEmmanuel Leblond
2017-04-09Add _ClassDB.class_[g|s]et_property to ClassDB exposed methodsEmmanuel Leblond
2017-04-08Particle system is complete. Rejoice!Juan Linietsky
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-04-06New particle system, mostly working, some small features missing.Juan Linietsky
2017-04-06Added various functions basic math classes. Also enabled math checks only ↵Ferenc Arn
for debug builds. Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly. Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions. Various other changes mostly cosmetic in nature.
2017-04-06Merge pull request #8286 from Hinsbart/memleaksRémi Verschelde
Core: fix possible memory leaks.
2017-04-06Core: fix possible memory leaks.Andreas Haas
2017-04-05Merge pull request #8214 from tagcup/bounce_reflect_slideRémi Verschelde
Made slide and reflect active verbs acting on itself in Vector2 and V…
2017-04-04Merge pull request #8246 from GodotNativeTools/dlscript-moduleRémi Verschelde
DLScript module
2017-04-03added dlscript moduleKarroffel
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan. This adds a module to Godot that enables the use of dynamic libraries as a source for scripts. That also allows third party libraries to be linked to Godot more easily and without creating modules. For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
2017-04-03Made slide and reflect active verbs acting on itself in Vector2 and Vector3.Ferenc Arn
This is in alignment with other functions in vector classes. Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs. Fixes #8201.
2017-04-03increased maximum number of scripting languagesKarroffel
2017-04-03Merge pull request #8146 from supagu/astarRémi Verschelde
Added ability to change A-star cost function
2017-04-01Added ability to change A-star cost functionFabian Mathews
2017-03-29Added methods for opening dynamic libraries to OSKarroffel
2017-03-29Fix polar decomposition in 2D.Ferenc Arn
When performing polar decomposition in 2D as B = R.S, where R is rotation (with determinant +1) and S is scaling, use the convention that reflections are absorbed into S through a reflection around y axis. In 3D, this is done by using a reflection along all three axes, but since the dimensionality is even in 2D, one axis needs to be chosen. Fixes Matrix32::get_rotation and Matrix32::get_scale (which weren't properly fixed in #7445).