aboutsummaryrefslogtreecommitdiff
path: root/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename project file to "project.godot"Rémi Verschelde2017-05-012-19/+19
| | | | | | | | | | | | | | 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.
* Merge pull request #8572 from akien-mga/thirdpartyRémi Verschelde2017-04-2938-12334/+77
|\ | | | | Moving more thirdparty stuff (minizip, some single-file external libs) to the thirdparty directory
| * Move other lone thirdparty files to thirdparty/miscRémi Verschelde2017-04-281-1/+1
| | | | | | | | | | Also move Box2D ConvexDecomposition contrib code to thirdparty/b2d_convexdecomp.
| * Split thirdparty smaz.c out of compressed_translation.cppRémi Verschelde2017-04-282-209/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
| * Move core thirdparty files to thirdparty/{minizip,misc}Rémi Verschelde2017-04-2837-12125/+74
| |
* | Revert "Use .godot as file extension for project files."Juan Linietsky2017-04-292-61/+14
|/
* Fix recognition of resource extensions.Andreas Haas2017-04-261-1/+1
| | | | Also removes a related debug print.
* Fix wrong fallback for localevolzhs2017-04-261-1/+1
|
* Merge pull request #8506 from iam13islucky/patch-1Rémi Verschelde2017-04-241-1/+1
|\ | | | | [3.0] Fix bug in Image::_get_pixelb
| * [3.0] Fix bug in Image::_get_pixelbiam13islucky2017-04-231-1/+1
| | | | | | | | Fixes issue: https://github.com/godotengine/godot/issues/8158
* | Merge pull request #8469 from Melix19/patch-2Rémi Verschelde2017-04-241-1/+3
|\ \ | | | | | | Update snake_case splitting
| * | Update snake_case splittingMarco Melorio2017-04-231-1/+3
| |/
* | Merge pull request #8420 from magyar123/pr-script-files-as-baseRémi Verschelde2017-04-241-0/+1
|\ \ | | | | | | Added the ability to select files as base when creating scripts
| * | Added the ability to select files as base when creating scriptsmbalint122017-04-151-0/+1
| | |
* | | Merge pull request #8277 from tagcup/math_checksRémi Verschelde2017-04-249-42/+151
|\ \ \ | | | | | | | | Added various functions basic math classes. Also enabled math checks …
| * | | Added various functions basic math classes. Also enabled math checks only ↵Ferenc Arn2017-04-069-42/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Fix property warnings and hide some debug printsRémi Verschelde2017-04-231-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | "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.
* | | Move VERSION_MKSTRING logic to version.hRémi Verschelde2017-04-203-11/+38
| | | | | | | | | | | | | | | | | | | | | 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)
* | | Merge pull request #8417 from neikeq/hello-thereRémi Verschelde2017-04-201-1/+2
|\ \ \ | | | | | | | | External editor improvements and fixes
| * | | External editor improvements and fixesIgnacio Etcheverry2017-04-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Fixed that playing the project opens the project managerMarco Melorio2017-04-181-1/+1
| | | | | | | | | | | | Fixes #8445
* | | | Merge pull request #8441 from tagcup/seed_fixRémi Verschelde2017-04-183-6/+3
|\ \ \ \ | | | | | | | | | | Fix PRNG randomization.
| * | | | Fix PRNG randomization.Ferenc Arn2017-04-173-6/+3
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #8375 from Hinsbart/project_extensionRémi Verschelde2017-04-172-14/+61
|\ \ \ \ | |/ / / |/| | | Use .godot as file extension for project files.
| * | | Use .godot as file extension for project files.Andreas Haas2017-04-162-14/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Correct Variant::hash_compare()Hein-Pieter van Braam2017-04-142-19/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix a pesky bug in marshalls.cpp/encode_variantBojidar Marinov2017-04-111-1/+1
| | | | | | | | | | | | Fixes #7556 running game from editor on LLVM builds.
* | | Rename [gs]et_pos to [gs]et_position for ControlsSergey Pusnei2017-04-105-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #8333 from touilleMan/classdb-class_sget_property-bindingRémi Verschelde2017-04-092-0/+21
|\ \ \ | | | | | | | | Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods
| * | | Add return value in ClassDB.class_[g|s]et_property bindingsEmmanuel Leblond2017-04-091-2/+2
| | | |
| * | | Add _ClassDB.class_[g|s]et_property to ClassDB exposed methodsEmmanuel Leblond2017-04-092-0/+21
| | | |
* | | | Particle system is complete. Rejoice!Juan Linietsky2017-04-081-10/+11
| |/ / |/| |
* | | Add "Godot Engine contributors" copyright lineRémi Verschelde2017-04-08233-0/+233
|/ /
* | New particle system, mostly working, some small features missing.Juan Linietsky2017-04-062-24/+1
| |
* | Merge pull request #8286 from Hinsbart/memleaksRémi Verschelde2017-04-062-2/+2
|\ \ | |/ |/| Core: fix possible memory leaks.
| * Core: fix possible memory leaks.Andreas Haas2017-04-062-2/+2
| |
* | Merge pull request #8214 from tagcup/bounce_reflect_slideRémi Verschelde2017-04-054-13/+43
|\ \ | |/ |/| Made slide and reflect active verbs acting on itself in Vector2 and V…
| * Made slide and reflect active verbs acting on itself in Vector2 and Vector3.Ferenc Arn2017-04-034-13/+43
| | | | | | | | | | | | | | 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.
* | Merge pull request #8246 from GodotNativeTools/dlscript-moduleRémi Verschelde2017-04-042-1/+5
|\ \ | | | | | | DLScript module
| * | added dlscript moduleKarroffel2017-04-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | increased maximum number of scripting languagesKarroffel2017-04-031-1/+1
| | |
| * | Added methods for opening dynamic libraries to OSKarroffel2017-03-291-0/+4
| | |
* | | Merge pull request #8146 from supagu/astarRémi Verschelde2017-04-032-3/+25
|\ \ \ | |_|/ |/| | Added ability to change A-star cost function
| * | Added ability to change A-star cost functionFabian Mathews2017-04-012-3/+25
| |/
* / Fix polar decomposition in 2D.Ferenc Arn2017-03-291-2/+2
|/ | | | | | | 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).
* Merge pull request #8133 from Hinsbart/joy_constantsRémi Verschelde2017-03-242-48/+20
|\ | | | | Input: Refactor JOY_* constants.
| * Input: Refactor JOY_* constants.Andreas Haas2017-03-242-48/+20
| | | | | | | | | | | | | | **Breaking change** Removed the `JOY_SNES_*` and `JOY_SEGA_*` constants. Imho there's no reason for a modern game engine to provide button aliases for decades-old hardware. Also renamed `JOY_ANALOG_{0,1}_{X,Y}` to `JOY_ANALOG_{L,R}{X,Y}` and removed `JOY_ANALOG_2_*`.
* | Merge pull request #8132 from tagcup/vector3_angle_toRémi Verschelde2017-03-241-1/+1
|\ \ | | | | | | Use atan2 rather than acos in Vector3.angle_to.
| * | Use atan2 rather than acos in Vector3.angle_to.Ferenc Arn2017-03-241-1/+1
| |/ | | | | | | Fixes #8111.
* | Merge pull request #8122 from tagcup/axis_check_normalizationRémi Verschelde2017-03-242-0/+7
|\ \ | | | | | | Explicitly documented that Transform.basis is not necessarily an orth…