Commit Graph

452 Commits

Author SHA1 Message Date
Juan Linietsky
d6d29f6d79 Merge pull request #1755 from dbsGen/master
Fixed some bugs in Label.
2015-05-03 22:55:58 -03:00
Juan Linietsky
f64fcc42ef Merge pull request #1772 from Biliogadafr/Tripleclick
Tripleclick now doesn't select line if clicks was done on different lines. Fix #1727
2015-05-03 22:54:16 -03:00
Juan Linietsky
f850f0d9ec Merge pull request #1784 from NateWardawg/sa_fixes
Fixed some items caught in cppcheck
2015-05-03 22:54:02 -03:00
Juan Linietsky
e7aa37fe75 improved kinematic motion, improved demos for kinematic motion 2015-05-03 22:37:10 -03:00
Juan Linietsky
af06843982 -new collision layer & mask system for 2D, for more flexible collision masking 2015-05-03 16:47:21 -03:00
Juan Linietsky
5f2aac4bbe same fixes to 3D navmesh.. 2015-05-02 17:39:29 -03:00
Juan Linietsky
2296b0508e 2D pathfinder fixes, should now always find the best path. 2015-05-02 16:35:43 -03:00
Nathan Warden
6212946927 Fixed some items caught in cppcheck 2015-05-02 12:17:59 -05:00
Juan Linietsky
1e422941c8 -Fixed android export options (screen sizes, orientation should work)
-added functions to get mouse position in CanvasItem
2015-05-01 21:13:20 -03:00
Biliogadafr
8e7973d660 Triple click doesn't select line if click was done on different lines. Fix #1727 2015-05-02 00:03:49 +03:00
Juan Linietsky
c45ffc2ca9 -fixed old condition in TextureFrame that caused bugs in materials, closes #1742 2015-05-01 12:16:51 -03:00
Juan Linietsky
bf53b7789a -fix timer behavior described, closes #1455 2015-05-01 11:44:02 -03:00
Juan Linietsky
c08597aa64 -fix a bug in extra cull margin, closes #1760 2015-05-01 11:26:23 -03:00
Juan Linietsky
4804462ee0 -Fixes from source code analyzizer, closes #1768 2015-05-01 10:44:08 -03:00
Gen
0bc5b7a146 Optimize the code. 2015-05-01 18:47:34 +08:00
Juan Linietsky
21939ce08b -some cleanups
-added tesselation function to curve and curve2d
2015-04-30 10:06:18 -03:00
Gen
c322eddffb fixed a autowrap bug when word is too length. 2015-04-30 12:47:05 +08:00
Gen
57d571a1c4 Update label.cpp 2015-04-30 00:03:19 +08:00
Gen
02d672753f space is only skipped when autowrap. 2015-04-29 23:43:39 +08:00
Gen
6fa342a1b0 record the number of space before a word. 2015-04-29 16:34:56 +08:00
Gen
ad358562e5 record the number of space before a words. 2015-04-29 16:34:25 +08:00
Juan Linietsky
7773d70f44 bad lookup in grid container corrected, cells are properly aligned again. Fixes #1462 2015-04-28 23:10:06 -03:00
Juan Linietsky
98c086edaf -fix forced texture repeat in Polygon2D, now depends on texture.
-added a new function, Camera::is_position_behind to aid to unproject(), fixes #1725
2015-04-28 22:05:01 -03:00
Gen
dfc59d1e00 Update label.h 2015-04-28 23:07:41 +08:00
Gen
1a6012aff5 Update label.cpp 2015-04-28 23:06:34 +08:00
Juan Linietsky
0adca0a7c9 -made normalmaps easier in 2D, fixes #1467 2015-04-27 08:11:54 -03:00
Juan Linietsky
82cbee2d2d -added set_master_player binding, fixes #1477 2015-04-27 00:23:16 -03:00
Juan Linietsky
79d5b7f258 -fixed bodyenter/bodyexit callback of physics bodies, fixes #1739 2015-04-26 17:46:20 -03:00
Juan Linietsky
65c96a71bd fix crash on exit for popup, fixes #1676 2015-04-26 15:42:02 -03:00
Juan Linietsky
330351c613 properly update emitting property when emit timeot is used, fixes #1716 2015-04-25 10:36:37 -03:00
Juan Linietsky
1721ef17d6 disable apply modifiers by default in export flag 2015-04-22 18:20:29 -03:00
Juan Linietsky
7648088fca ability to get closest owner to point, for navigation and navigation2d 2015-04-21 16:47:49 -03:00
Juan Linietsky
93ce7d92c1 -Many fixes and demo for RichTexLabel
-Proper ability to edit BBCode in RTL.
2015-04-21 16:01:58 -03:00
Juan Linietsky
70752f3e4b -oops, duplicated text issue fix.. 2015-04-20 20:51:52 -03:00
Juan Linietsky
59154cccf9 -Changed Godot exit to be clean.
-Added more debug information on memory cleanliness on exit (if run with -v)
-Fixed several memory leaks, fixes #1731, fixes #755
2015-04-20 19:38:02 -03:00
Juan Linietsky
28c4afeb57 -Rewritten KinematicBody2D::move to MUCH more efficient code.
-KinematicBody2D::move now properly recognizes collision exceptions and masks, fixes #1649
-Removed object type masking for KinematicBody2D
-Added a test_motion() function to RigidBody2D, allowing simlar behavior to KinematicBody2D::move there.
2015-04-19 20:50:55 -03:00
Juan Linietsky
389d6ca0c7 disable undo properly after ctrl-i, fixes #1688 2015-04-18 16:57:01 -03:00
Juan Linietsky
4661a6e126 -try to avoid errors when path using ".." is present in script include, fixes #1703 2015-04-18 16:17:33 -03:00
Juan Linietsky
fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky
be46be7801 -renamed function to get object from instance id
-added function to get list of tiles used
2015-04-18 14:00:15 -03:00
Juan Linietsky
61ab20a0bb fixed UV2 source in shader graph, closes #1633 2015-04-12 19:36:35 -03:00
Juan Linietsky
3fddc9e55a fixed navigation tile issue, fixes #1581 2015-04-09 01:18:01 -03:00
Juan Linietsky
e7ba4eca9f -function remove_and_delete_child removed. Just use child.free() or child.queue_free() instead. Fixes #1603 2015-04-09 00:49:48 -03:00
Juan Linietsky
d148a03848 -Fixes bug in ShaderGraph material, when uniform property is not used, fixes #1634 and #1610 2015-04-09 00:29:21 -03:00
Juan Linietsky
54ed432913 fix crash when deleting shader from material, fixes #1631 2015-04-07 22:30:36 -03:00
Juan Linietsky
7852be816a fixed shader graph length node, fixes #1632 2015-04-07 22:22:46 -03:00
Juan Linietsky
b307ee79a1 Merge pull request #1574 from UsernameIsAReservedWord/fix_3d_spot_attenuation
fixes_3d_spot_attenuation
2015-04-07 20:16:00 -03:00
Juan Linietsky
7b75658bb2 Merge pull request #1585 from UsernameIsAReservedWord/add_is_queued_for_deletion_in_objects
add : bool Object.is_queued_for_deletion()
2015-04-07 20:14:51 -03:00
TheoXD
68c2a959dd Bullet shower demo crashed because of dynamic casting in the code for object picking. Making sure the object has an ID greater than 0 before typecasting solves it. 2015-04-03 14:42:05 +02:00
Juan Linietsky
9fa1698c74 Changes to Light
-=-=-=-=-=-=-=-=

-Changed material unshaded property for an enum, which supports light-only shading
-Added a "Mix" shading mode, useful for using lights as masks
-Added energy parameter to Light2D
2015-04-03 01:43:37 -03:00
Juan Linietsky
68e42f53ba Beta1 Attempt #1
-=-==-=-=-=-=-=-

-Small fixes in canvas item light shader
-Fixed compilation in server target
-Export for Android makes 32 bits display as default
-changed version to 1.1beta1
2015-04-02 12:59:23 -03:00
Juan Linietsky
1572238adb merging okam changes 2015-04-02 07:22:17 -03:00
yg2f
3c67e22c3d add : bool Object.is_queued_for_deletion()
`object.is_queued_for_deletion()` return true if the object was
`object.queue_free()` or `SceneTree.queue_delete(object)`.
2015-03-28 18:34:28 +01:00
yg2f
103ab3bd1a fixes_3d_spot_attenuation 2015-03-25 16:27:55 +01:00
Juan Linietsky
7ad7f2f6a9 android fixes, please test
(can' t build android atm)
2015-03-23 11:31:23 -03:00
Juan Linietsky
ffa556aeea Merge pull request #1402 from ElectricSolstice/editor_match_fix
Fixed issue #1377 about script editor parenthesis matching.
2015-03-22 15:02:15 -03:00
Juan Linietsky
3aed92e5b1 Merge pull request #1450 from theuserbl/master
Making ToolButton and KEY_MASK_CMD accessable in GDScript and the IDE
2015-03-22 14:58:42 -03:00
Juan Linietsky
6d813c81b8 Merge pull request #1460 from MarianoGnu/master
Create Checkbox class with support for Radio Buttons
2015-03-22 14:55:36 -03:00
Juan Linietsky
47efcff8bb Merge pull request #1535 from rollenrolm/hidden_files
New option to show/hide hidden files
2015-03-22 14:46:09 -03:00
Juan Linietsky
1e4841dc52 drag & drop demo (GUI) 2015-03-22 12:52:47 -03:00
Juan Linietsky
78694d8542 gui in 3D demo now uses area for input 2015-03-22 11:52:07 -03:00
Juan Linietsky
92ab362afa avoid function naming conflict on light scale 2015-03-22 10:39:32 -03:00
Juan Linietsky
a93e33f5c8 added spatial and node2d helper methods
to perform operations such as translaiton, rotation, etc directly on
nodes.
2015-03-22 10:33:58 -03:00
Juan Linietsky
dac2017dee fixes/cleans up
-input now correctly works when using viewport scaling
-added function to get areas/bodies in given point
-added function to get space state directly from world
2015-03-22 09:40:26 -03:00
Juan Linietsky
c6c72a3c37 input events on Area2D is now supported
also added a demo showing how this works
2015-03-22 01:46:18 -03:00
rollenrolm
db0a71fc58 New option to show/hide hidden files 2015-03-21 18:33:32 +01:00
Juan Linietsky
acc6f3b285 signed distance field font support 2015-03-21 00:43:33 -03:00
Juan Linietsky
9dd0d8277d add overlap test function, remove a semicolon 2015-03-18 21:03:11 -03:00
Juan Linietsky
4cac1e0cb6 add functions to test overlap with another body or area 2015-03-17 09:25:35 -03:00
Juan Linietsky
a969e2e6f1 Area2D can now detect overlap with other areas
this should make everything simpler, specially for newcomers to Godot
2015-03-17 00:45:25 -03:00
Juan Linietsky
53e1694e1e New option to send canvas to render buffer
allows to use 3D environment effects for post processing such as Glow,
Bloom, HDR, etc. in 2D.
2015-03-16 01:14:59 -03:00
sanikoyes
7cdd3c86c4 Add missing particles_2d macro bind 2015-03-14 10:40:58 +08:00
marynate
86eedaec21 Fix compile error in back_buffer_copy.h 2015-03-12 14:23:36 +08:00
Juan Linietsky
650e13f3cd back buffer copy node, to improve on texscreen()
back buffer copy node and respective demo
2015-03-12 01:05:50 -03:00
Juan Linietsky
a6f96f46b7 small optimizations to isometric light demo
should work faster, and even faster if exported.. as textures have been
optimized.
2015-03-10 21:05:49 -03:00
marynate
7957709cb1 Fix compie error in TileMap::_fix_cell_transform(...) 2015-03-09 16:28:08 +08:00
Juan Linietsky
09489e3a78 lot of work on 2D lighting and isometric maps
added a new demo, isometric_light that does full isometric sorting,
lights, shadows, etc.
2015-03-09 02:34:56 -03:00
Mariano Javier Suligoy
0bc7eb1d91 Fix C++11 compilation 2015-03-08 10:39:27 -03:00
Juan Linietsky
2c2894ceb6 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	modules/gdscript/gd_tokenizer.cpp
	scene/resources/shader_graph.h
2015-03-03 14:41:36 -03:00
Juan Linietsky
4d2198110b merges from okam repo 2015-03-03 14:39:13 -03:00
Mariano Javier Suligoy
63006f6f6f Register CheckBox class to create it using editor. 2015-03-02 22:12:51 -03:00
Juan Linietsky
a1f715a4da support for 2D shadow casters
Added support for 2D shadow casters.

*DANGER* Shaders in CanvasItem CHANGED, if you are using shader in a
CanvasItem and pull this, you will lose them. Shaders now work through a
2D material system similar to 3D. If you don't want to lose the 2D
shader code, save the shader as a .shd, then create a material in
CanvasItem and re-assign the shader.
2015-03-02 00:54:43 -03:00
Mariano Javier Suligoy
205ed6c9f5 Improve mechanism and fix radio icon rendering. 2015-03-01 16:45:13 -03:00
Mariano Javier Suligoy
e8e9f100e5 Add CheckBox control with theme edition and radio icon avaible. 2015-03-01 11:23:05 -03:00
theuserbl
525f2fe995 Update register_scene_types.cpp
Makes ToolButton usable for GDScript
2015-02-27 11:09:57 +01:00
Juan Linietsky
1d7337ba10 Merge pull request #1369 from not-surt/tile_rotation
Tile Rotation
2015-02-21 15:37:02 -03:00
romulox_x
f4312a5076 added option to disable automatic clearing of viewport render buffer 2015-02-21 01:35:06 -08:00
ElectricSolstice
11a5949ec4 Fixed issue 1377 about script editor parenthesis matching. 2015-02-19 16:34:04 -08:00
Juan Linietsky
cf75bf842d -improved pathfinding accuracy
(i hope?)
2015-02-19 00:27:02 -03:00
Juan Linietsky
5ef3f7392f support for light and normal mapping in 2D 2015-02-18 19:40:02 -03:00
reduz
2bea642583 -Some more work on 2D Lights (NOT FUNCTIONAL YET!) 2015-02-16 14:45:11 -03:00
Carl Olsson
0fa1153ea7 Merge branch 'master' of https://github.com/okamstudio/godot into tile_rotation 2015-02-16 05:07:13 +10:00
Juan Linietsky
4333aa240c Godot UI is quick and snappy again!
Changed linked listed sort to use auxiliary memory
this fixes user interface performance issues.
2015-02-15 12:38:25 -03:00
Carl Olsson
196185d0be Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	scene/2d/tile_map.cpp
2015-02-15 18:21:35 +10:00
Juan Linietsky
2185c018f6 begin new serialization framework
also got rid of STL dependency on triangulator
2015-02-15 01:21:26 -03:00
Juan Linietsky
7ebb224ec1 Merge pull request #1362 from not-surt/tile_map_body_mode
Added body mode property for TileMap as kinematic body
2015-02-14 19:25:35 -03:00
Juan Linietsky
d2f86cc09b fixes to mouse warp
-can warp now from viewport and control, in their respective coordinate
systems
-warp is now local to the window on Windows and OSX.

IF YOU RUN OSX, PLEASE TEST THIS! And make sure it works!, new code is
in OS_OSX::warp_mouse_pos. I don't have OSX so i can't test!
2015-02-14 19:22:06 -03:00
Juan Linietsky
c5f509f238 New Navigation & Pathfinding support for 2D
-Added Navigation & NavigationPolygon nodes
-Added corresponding visual editor
-New pathfinding algorithm is modern and fast!
-Similar API to 3D Pathfinding (more coherent)
2015-02-14 12:10:15 -03:00
Carl Olsson
8bb1e19d73 Replace body_mode property with use_kinematic flag.
Revert 2D Platformer demo's moving platforms to sprite plus body.
2015-02-14 06:43:50 +10:00
Carl Olsson
9d182e93a3 Added body mode property to TileMap to select between static and kinematic physics bodies. Kinematic allow use of TileMaps for moving platforms for example.
Updated 2D Platformer demo to use kinematic TileMaps for moving platforms, in doing so discovered that the tileset was messed up and not converting properly, so fixed that too.
And in order to fix the tileset I need to activate snapping for collision polygon vertices.
2015-02-13 20:49:21 +10:00
Carl Olsson
6a38ab1b43 Reorder tile transforms so transpose occurs before flips. Much more intuitive for flipping transposed tiles. 2015-02-13 10:56:53 +10:00
Carl Olsson
c613fb121b Moved wrapper function to TileMapEditor. 2015-02-11 21:40:50 +10:00
Carl Olsson
573ae5dd92 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	demos/2d/polygon_path_finder_demo/.fscache
2015-02-11 21:15:49 +10:00
Carl Olsson
9171f71ff5 Revert variant arg length to 5 and add 5 arg wrapper function for TileMap set_cell. 2015-02-11 21:11:14 +10:00
Juan Linietsky
b4e1c1d717 Merge pull request #1327 from romulox-x/polygonPathFinderClosestPoint
changed PolygonPathFinder::get_closest_point to return the closest posit...
2015-02-11 07:12:15 -03:00
Juan Linietsky
1d54c2dd1c added missing set_shader_param functions
also added code completion hint for shader params
2015-02-11 06:51:20 -03:00
Juan Linietsky
d22b256f08 customizable content margin in styleboxes 2015-02-10 23:53:04 -03:00
Juan Linietsky
3b4fd0f24d Merge pull request #1170 from UsernameIsAReservedWord/fix_cubemap_ressource_editor
fixes cubemap ressource editor bug, fixes issue #908
2015-02-09 21:37:01 -03:00
Carl Olsson
ee44664b2a Merge branch 'master' of https://github.com/okamstudio/godot 2015-02-02 21:34:47 +10:00
Carl Olsson
c5bf43f6eb Working TileMap tile transpose transform. 2015-02-02 21:27:48 +10:00
romulox_x
8db3c0a4db changed PolygonPathFinder::get_closest_point to return the closest position inside, rather then the closest vertex 2015-02-01 09:23:31 -08:00
jaromirhribal
79e330c33e fixed math in Camera::project_position 2015-01-31 18:02:49 +01:00
Juan Linietsky
67d357191f begin work on lighting system for 2D
nothing functional yet, just experimenting with API
2015-01-22 11:07:16 -03:00
Juan Linietsky
da0d4e4dea Fixes to texscreen, fixes to white testcube 2015-01-20 22:31:32 -03:00
Juan Linietsky
11c1756257 Visual Shader Editing for 2D
Editing 2D shaders with visual editor seems to work now.
2015-01-20 20:36:25 -03:00
Carl Olsson
a8b318871c Prep for tile transpose transform. 2015-01-19 23:07:25 +10:00
Juan Linietsky
a0511ed59a Color Ramp and Curve Map added to visual shader editing.
Added Color Ramp and Curve Map to shader nodes.
Fixed an issue that crashed Godot Editor right when opened.
2015-01-19 02:39:58 -03:00
Juan Linietsky
6f3c09047e -intentional breakage of shader graph to fix issues, existing graphs will be broken, sorry :( 2015-01-18 09:51:11 -03:00
Juan Linietsky
91faf8e218 Merge pull request #1138 from sanikoyes/Pr-tween-call-deferred
Pr-tween-call-deferred
2015-01-17 09:58:57 -03:00
Juan Linietsky
7a1307f96a Merge pull request #1172 from UsernameIsAReservedWord/fix_environment_ressource_interface_to_handle_cubemap_ressource
fix_environment_ressource_cubemap_support, complete PR #1170
2015-01-17 09:56:20 -03:00
Juan Linietsky
938c6d0df3 Merge pull request #1204 from marynate/PR-new-default-theme
new default theme
2015-01-17 09:45:19 -03:00
Juan Linietsky
cce0d50516 Merge pull request #1217 from sanikoyes/Pr-canvas-shader-disable-3d
Pr-canvas-shader-disable-3d
2015-01-17 09:44:22 -03:00
Juan Linietsky
07e63c3dc1 Merge pull request #1223 from NateWardawg/master
1: File path in save dialog automatically appended with correct extension if not manually added by the user.  2: Removed .bin as default extension for Linux exports as it causes problems for common file managers.
2015-01-17 09:43:00 -03:00
Nathan Warden
cac555dc78 When overwriting a file with an auto added extension the file name is now set correctly. 2015-01-16 07:48:28 -05:00
quabug
341ea429db remove useless code 2015-01-16 15:16:58 +08:00
quabug
5823f90c53 fix bug
running into infinite loop if distance between two adjacent points in curve are too short.
2015-01-16 15:16:41 +08:00
marynate
7c430d52e9 Restore checkbutton margin to origin value, fixed issue in code search dialog 2015-01-15 13:30:00 +08:00
marynate
2ca8b2683e Minor code formatting 2015-01-15 13:30:00 +08:00
Ralf Hölzemer
7f20b864cd Tweak Button margins & small fix for ToolButton 2015-01-15 13:29:59 +08:00
Ralf Hölzemer
e7893b404e fix background alpha in dropdown arrows 2015-01-15 13:29:58 +08:00
Ralf Hölzemer
5fc787abd8 Fixed the progressbar to only require 16px in height 2015-01-15 13:29:58 +08:00
Ralf Hölzemer
d8f453cb39 Missing files and Tab changes 2015-01-15 13:29:56 +08:00
Ralf Hölzemer
df41418677 More Theme fixes
- some color tweaks
- many margin fixes
- overall nicer look

Conflicts:
	scene/resources/default_theme/default_theme.cpp
2015-01-15 13:29:56 +08:00
Ralf Hölzemer
4b70bc1f35 Fix visual glitch in Progressbar 2015-01-15 13:29:55 +08:00
Ralf Hölzemer
ae70108883 New iteration of the theme
- try to implement ndee's mockup from the forum
- new color palette
- get rid of most gradients

probably needs some more tweaks
2015-01-15 13:29:54 +08:00
Ralf Hölzemer
7b9f5e65c9 New neutral default theme
- desaturated UI elements to grey
- desaturated all near-white icons to grey
- changed some hardcoded colors
2015-01-15 13:29:53 +08:00
Nathan Warden
7d2f359a0c File path in save dialog automatically appended with correct extension if not manually added by the user. 2015-01-14 18:05:57 -05:00
Juan Linietsky
04af74596d -fix shader param names broken issue on code completion
-fix z order issue in new 2D engine
2015-01-14 09:05:33 -03:00
sanikoyes
b882836184 Fix canvas shader not registered when disabled_3d=yes 2015-01-14 14:49:54 +08:00
Juan Linietsky
9012cd408e -Add support for one-way collision in 2D (only works for kinematic body so far)
-Solve drawing order bug introduced in previous commit: solves #1214
2015-01-13 21:19:11 -03:00
Juan Linietsky
823d7ae3b5 Merge branch 'master' of https://github.com/okamstudio/godot 2015-01-13 11:23:05 -03:00
Juan Linietsky
7c7ab30c4e fixes 2015-01-13 11:22:56 -03:00
Juan Linietsky
869f400179 Merge branch 'master' of https://github.com/okamstudio/godot 2015-01-13 10:50:33 -03:00
Juan Linietsky
2ef5a342e3 -begin work on unidirectional collision detection
-fixed performance issue in new 2D engine
-texscreen() working in shader 2D
2015-01-13 10:49:26 -03:00
marynate
3a0f665c90 Total rows of text edit was calculated wrong, fixed issue #842 2015-01-13 17:16:56 +08:00
Juan Linietsky
30d3658110 -fixed issue with shader not being reset on layers, closes #1199
-ability for shader to use parent shader and params, closes #1198
2015-01-12 20:44:02 -03:00
Juan Linietsky
544ce2a1db -Initial working(?) implementation of shaders for 2D. Lighting still not there though.
Check for reference:
https://github.com/okamstudio/godot/wiki/shader
2015-01-12 10:19:09 -03:00
Juan Linietsky
66afddb3e8 -Initial (untested) implementation of 2D shaders. Probably broken, will be fixed later.
-fixed issue of opacity not working
2015-01-11 11:43:31 -03:00
Juan Linietsky
8997084831 2D Rewrite Step [1]
-=-=-=-=-=-=-=-=-=-

-Moved drawing code to a single function that takes linked list (should make it easier to optimize in the future).
-Implemented Z ordering of 2D nodes. Node2D and those that inherit have a visibility/Z property that affects drawing order (besides the tree order)
-Removed OpenGL ES 1.x support. Good riddance!
2015-01-10 17:35:26 -03:00
yg2f
75c3090e9f fix_environment_ressource_cubemap_support
this fix goes hands in hands with #1170.
Cubemap ressources can be loaded and created into an Environment
ressource.
2015-01-10 15:50:27 +01:00