Lynix
962c330390
(Rect|Cube) Fixed ExtendTo method ( Close #6 )
...
Former-commit-id: 066d87f52361d1c30ec6521b637308ee4541bba1
2013-01-03 19:17:04 +01:00
Lynix
db86cc4dc3
Added BufferMapper class
...
Used to map/unmap a buffer automatically and provide a RAII
exception-safe class
Former-commit-id: 2a4fd2e19ce3531639a86520876a3615846b27f4
2013-01-03 16:24:59 +01:00
Lynix
81e95ecddf
Improved KeyframeMesh AABB support
...
When you use KeyframeMesh::SetPosition(frame, vertex, pos), it will now
invalidate the frame AABB.
Finish() method will now generate automatically invalid AABBs before
interpolating
Former-commit-id: aa4695cee635da73e4a3b70ce22e83b1c3f443f9
2013-01-03 15:10:06 +01:00
Lynix
41fb7f7ae5
Removed todo comment
...
Former-commit-id: da05f6ee8aeb04e3b88c225b9cfded0cb2e70aa1
2013-01-03 12:31:27 +01:00
Lynix
1e5c34d53a
Constant buffer mapping returns non-const pointer
...
Former-commit-id: 37438d554d8733350fcecbbfc4ba0dad46256f73
2013-01-03 03:50:18 +01:00
Lynix
c998a5c457
Added KeyframeMesh::Get/Set vertex components
...
Former-commit-id: ff51b02dfd5f0675c33c01f39418312834c5d8a9
2013-01-02 21:51:03 +01:00
Lynix
520643140c
Fixed last commit
...
Former-commit-id: 5034392dbdab232be71f8537638ed75c1c81eab8
2013-01-02 13:41:26 +01:00
Lynix
02f5385eaf
Buffer::Unmap no longer return boolean
...
Made no sense: What do you want to do when your buffer doesn't unmap ?
Tt now throw a warning by itself in case of failure
Former-commit-id: f776af16787316bbe1d55686a1db2c2e0f79d210
2012-12-31 11:30:19 +01:00
Lynix
c65f0e9f7e
Removed Keyframe mesh lock system (useless)
...
Former-commit-id: b7e661274510836cb46eb98b6b9e7135d21a4820
2012-12-31 11:20:14 +01:00
Lynix
c73d10ab29
Added non-constant access to vertex buffer
...
Former-commit-id: c0fea611caf6fb48bd0b2ed56897c173f7acad41
2012-12-31 11:14:40 +01:00
Lynix
6fefa3fdd2
Added read-only const access to buffers
...
Former-commit-id: 555f079e277869bc8f32732f24dfee704e17f324
2012-12-31 11:12:45 +01:00
Lynix
89c44330b3
Context not longer require NAZARA_RENDERER_OPENGL
...
Former-commit-id: c0455ca6b74ac29b1b2a25eceaa0b12bc9681b1e
2012-12-29 15:01:34 +01:00
Lynix
11fccc4c4b
Fixed MD2 animation
...
Former-commit-id: 3ba7d63f9518c64677e575e13d8a42b459c5151f
2012-12-29 01:37:44 +01:00
Lynix
49f37e17ae
AxisAlignedBox::Transform now apply translation
...
Added an optionnal argument to prevent translation from being applied
Updated demo
Former-commit-id: c56cb04733379eb6dda98b150931fb0e496ef889
2012-12-28 22:57:40 +01:00
Lynix
e5650698d2
Added copy/move constructor/operator to Material
...
Former-commit-id: a96676391754ee027bdd6c7b04118db3ea044eb3
2012-12-27 22:22:11 +01:00
Lynix
21b60809ad
Updated global headers
...
Former-commit-id: 024667d27905a561eebd9e38e8b141bcb0323339
2012-12-27 02:36:26 +01:00
Lynix
a366d4966b
Added missing enum
...
Former-commit-id: af0f63ab90a02ba7963c79f846154117b9dd2ab5
2012-12-25 12:29:50 +01:00
Lynix
c65e3d5def
It is now possible to use const shaders
...
A non-constant shader is no longer required to bind or to send uniform
Former-commit-id: 8fd7c03b65a2d9fcea69516c023fee034299148c
2012-12-25 12:26:40 +01:00
Lynix
d63c12bbd5
Removed deprecated sampler method from Texture
...
Former-commit-id: f7da96f781f8a876cbb78c1048822571c02fde23
2012-12-25 12:21:18 +01:00
Lynix
df7b11d1d2
Added ShaderBuilder
...
Former-commit-id: 0eee75821b7bb4b2b69a020c8e79f3cbe18b522f
2012-12-25 12:14:57 +01:00
Lynix
33a929c198
Fixd Abstract*DNoise destructor not being virtual
...
Former-commit-id: 38af503709e79e0f13a63bd5da30072f11f1fa34
2012-12-25 02:01:41 +01:00
Lynix
dc3cfa40ec
Made Texture constructor consistent
...
Former-commit-id: 92be798524a48cb979c09fa04558602bf3717391
2012-12-24 20:38:20 +01:00
Lynix
f2271a6f87
Deleted NzOpenGL constructor/destructor
...
Former-commit-id: 699f03b7da155dd741a3bbb1f9f3603adfe38293
2012-12-24 18:30:27 +01:00
Lynix
24720d7df1
Moved static function prototype
...
Former-commit-id: f5be3289558e3285f14216428221df0fed2e4d5a
2012-12-19 15:02:22 +01:00
Lynix
0e6215a47e
(Material) Added non-constant sampler access
...
Former-commit-id: d2799fc353628afda09fdc45b04134aa541ee480
2012-12-19 00:38:06 +01:00
Lynix
10730de74e
Refactored materials
...
(Renderer) Removed Apply function
(Renderer) Renamed SetTextureSampling to SetTextureSampler
Updated demo
Former-commit-id: d40a9ce05df35b078e645927451093da44eec314
2012-12-18 16:17:31 +01:00
Lynix
8b67d17e38
Added texture samplers
...
I hate Git branchs
Former-commit-id: 6978f1489cdc841d36fbcd6f1a8e01a4adbfcb8a
2012-12-17 14:56:29 +01:00
Lynix
72d8fa64b3
Fixed redefinition error if user define x64
...
Former-commit-id: 51e0c888132a8651a07d22b86ecc95cc487537d3
2012-12-14 23:24:55 +01:00
Lynix
229f634e01
Rename NAZARA_PLATFORM_X64 to NAZARA_PLATFORM_x64
...
Former-commit-id: aa4e5c93b5a94175cb487c0d82662c0d918ccb89
2012-12-14 23:19:35 +01:00
Lynix
8785c969e5
Added 64bits-detection macro
...
Former-commit-id: 98f3edda39679ee0e13671e76dbe96157b3dd7ae
2012-12-14 22:18:27 +01:00
Lynix
025ed1cfd0
Renderer update
...
-Added Renderer::GetRendererName()
-Added Renderer::GetVendorName()
-Renamed VertexArrayObject to VertexArrayObjects
Former-commit-id: 93489d5f93f8258dec0c4d8bcf72185abd7f75a8
2012-12-13 20:16:09 +01:00
Lynix
73cb237925
Added HardwareInfo::IsInitialized()
...
Former-commit-id: ef668ac6d2e92a05730b56c892a693a21c7d651e
2012-12-13 19:57:05 +01:00
Lynix
7820a3096b
Refactored HardwareInfo
...
-Can now return processor brand string
-Can now return processor vendor name
-64 bits is now a processor capability
Former-commit-id: 02d0ded16911a88643f4c6799b234a7b18eebefc
2012-12-13 17:32:04 +01:00
Lynix
68c6aa664a
Replaced OpenGL namespace with static class
...
Fixed OpenGL functions not being exported
It is also more consistent
Former-commit-id: 3eddcb6f72412443eb56580180d0b9544ae4a9df
2012-12-13 15:47:29 +01:00
Lynix
73fdb9baaf
Added TextureWrap enum<->OpenGL association
...
Also made array syntax consistent
Former-commit-id: 65794e3eec2ea326da0ee71bcd7b8c31632ab71c
2012-12-13 11:39:15 +01:00
Lynix
8ba40360e3
Fixed 3D module not being exported
...
Former-commit-id: 32ab8810b4079d042338272a3931af6c09eafd0b
2012-12-10 02:30:41 +01:00
Lynix
37d6b71036
Fixed mesh animating modifying template skeleton
...
Former-commit-id: d70bd2ed7c8a38f879641a4b22be4876f6825edb
2012-12-09 01:45:34 +01:00
Lynix
7e533209dc
Added initial states to node
...
Former-commit-id: 2127584e3432c16841817632522ea3bb82c7a786
2012-12-08 22:56:22 +01:00
Lynix
8376fb38cf
Module can now initialize optionnal classes
...
Former-commit-id: 899007b7879451d15d0808a03b8dfea0cd3413a4
2012-12-08 22:21:20 +01:00
Lynix
e8842f1ba8
Revert "Optimized NzNormalizeAngle"
...
This reverts commit 1ed4af0b903b3fae59c633567b49ebda61797cc2 [formerly 683c7e913ee2f293d299c1d0a4abaf6c65116598].
Former-commit-id: 1c687a7d018e277408b0e390d37bec13c454d4a1
2012-12-08 22:20:16 +01:00
Lynix
eb585116b1
Shader::SendTexture can now return texture unit
...
Former-commit-id: 38d5e5dedf94113933bb2090040feec602a4716c
2012-12-08 11:49:07 +01:00
Lynix
783c1d5584
Optimized NzNormalizeAngle
...
Former-commit-id: cbdc09b7dc89c03c178a7b0a22571e810598c6fb
2012-12-06 01:05:40 +01:00
Lynix
6f495c654a
Added TaskScheduler::GetWorkerCount()
...
Former-commit-id: db4bf747441a13f2d824410aa5be264b300e95d4
2012-12-06 01:01:26 +01:00
Lynix
e699969b64
Added OpenGL support for sampler objects
...
Also prevented an exception launch by the SeparateShaderObjects code to
escape.
Former-commit-id: ae594e16a85c02f0c649ef573189b4b722f713c3
2012-12-04 13:50:08 +01:00
Lynix
9e24a6b7b2
Added warning to an unusable option
...
Former-commit-id: a4d45b29970085996f417313d4c7df84f0ca100b
2012-12-03 23:39:49 +01:00
Lynix
551ca4fc92
Updated global includes
...
Former-commit-id: 0407aab09007e10ec394bf9b15ec0f21421305ad
2012-12-03 16:25:02 +01:00
Lynix
2e40ad832e
SubMeshs are now valid even when not animated
...
Former-commit-id: 5bd6289d30f4f6ffa1fcaf8d946aa9aba9cf7131
2012-12-03 16:24:47 +01:00
Lynix
cc45746799
Improved keyframe mesh interface
...
Also improved animation performance by using a discard-and-write lock
when interpoling.
Former-commit-id: 277b5ad8f148ab73b99edf83cf8c6e5d0e6dfc82
2012-12-03 14:49:56 +01:00
Lynix
82d6438ec3
Removed unused file
...
Former-commit-id: c52361f0ae454048e62507996beff70cf857210e
2012-12-03 01:34:16 +01:00
Lynix
ef567bd223
Added Task Scheduler
...
Former-commit-id: ac37f749ae78f364db3d3edfabc8221802579989
2012-12-03 01:30:04 +01:00
Lynix
023e497777
Revert "Simplified Thread interface"
...
This reverts commit 49927a03e4a9bfd4681691bb859b08374cd309c6 [formerly f3cfc12d8c18eef8a8aa21c164ad994fff4a33b7].
Former-commit-id: 8315c5f18d29aff59749c2efe98208ee3f5e1a42
2012-12-03 00:25:39 +01:00
Lynix
b4282e6a6e
Fixed Vector4 >(=) comparison
...
Former-commit-id: d3c5d233bb565dbfa0535487fe21bd00ad0281b4
2012-12-02 23:50:32 +01:00
Lynix
b775542e4d
Simplified Thread interface
...
Former-commit-id: 5cc7c51be1bf8fe8f13e3b4d25b051ff024f4ebf
2012-12-02 23:43:08 +01:00
Lynix
3d8549740e
Moved constructor prototype
...
Former-commit-id: a399ce2633c20bf41c7ba56cb346ced607043fc1
2012-12-02 23:05:28 +01:00
Lynix
780da2cfa5
Resolved conflicts
...
Former-commit-id: 4bd4e4f8435d701d16d3864dd030a6c1cff48c47
2012-12-02 21:49:14 +01:00
Lynix
6a3087cc26
Optimized Vector <= comparison
...
Former-commit-id: 8668b8ff78387262f0e21f038b6ca0240c513476
2012-12-02 20:39:49 +01:00
Lynix
325ac4e642
Added SceneNode::GetAABB()
...
Former-commit-id: 3ed0a0140e6afabeb915e763e6ead33c7f12fba5
2012-12-02 17:01:39 +01:00
Lynix
b06acfcffd
Index buffer no longer permit 8 bits index size
...
Modern graphics cards don't like 8 bits index size, so I introduced
"Large indices" option, it means 32 bits indices when used otherwise the
index size is 16 bits
Former-commit-id: 213902de6704ceef16c6ea311ba0c6c5d2f6e665
2012-12-02 17:01:02 +01:00
Lynix
437c7047c9
Reintroduce Vector comparison operator
...
Since it can be used for integer vector, also fixed comparison
technique.
Former-commit-id: 3a193ed21beb4d9b7d311eb29bc2852b0776a41c
2012-12-02 16:48:56 +01:00
Lynix
5c7a9e1011
Removed Quaternion/Vector comparison operator
...
Made no sense
Former-commit-id: 3c2a822cd3142e2bc931021ef8874602630be8cf
2012-12-02 00:37:21 +01:00
Remi Beges
d0545eb760
Minor fixes
...
*Seed is uint instead of int
*Permutation table is uint instead of int, could lead before to program
crash with negative seeds
Former-commit-id: 49ad04987a09a5f5b4bcab6ee3916db9818172b6
2012-12-01 10:07:41 +01:00
Lynix
cbc98ce3f0
Made NzThread interface mimic std::thread one
...
Hopefully fixed the threaded window bug
Former-commit-id: 6dc3ca2a8bee1da591a9b97d202d4b73b10be8eb
2012-11-29 16:51:01 +01:00
Lynix
a2eb55e74a
Fixed repo
...
Former-commit-id: 5992da5ec759f05dabf82009e660ec58eed96365
2012-11-29 10:15:10 +01:00
Lynix
0a2e19fa22
Merge remote-tracking branch 'origin/3D-Engine'
...
Former-commit-id: 1781615fc780accbe6c11d55fd896038d97ffec9
2012-11-29 10:11:30 +01:00
Lynix
2e26d52248
Meshes no longer retains an animation pointer
...
Former-commit-id: da4d93b815c46284a8977d7fb142201dc23fff61
2012-11-27 23:33:11 +01:00
Lynix
7ad24eff08
Mesh no longer contains the animation
...
Former-commit-id: 5dfcfe50f9c82310303120031a0def594fafd4f7
2012-11-27 22:02:45 +01:00
Lynix
53730b532d
Optimized Node::GetTransformMatrix
...
Former-commit-id: b7eadb5a47ec6c2a9d24b19f45058e1ce5d0be49
2012-11-27 21:45:21 +01:00
Lynix
a1a1a3da0c
Replaced mesh material system
...
Former-commit-id: 1a3f2e0a80211a17838f29e5c0b0fc9def89d30a
2012-11-27 21:45:00 +01:00
Lynix
5d9bf5ed7b
(SubMesh) Renamed GetSkinIndex to GetMaterialIndex
...
Former-commit-id: 7d28e3baa39342234495c9637e7e4886ffdc4b5a
2012-11-27 21:44:32 +01:00
Lynix
f48b9ba370
(Material) Added methods to loads and get default
...
Former-commit-id: 9169e84208b0cddbe698daa9286c8b7eb6a8244c
2012-11-27 21:37:14 +01:00
Lynix
64601a72e7
Fixed ResourceLoader bad stream pos after recover
...
Former-commit-id: d7c7bb33e055ca44ca5690294b504d6ccb644dde
2012-11-27 21:36:04 +01:00
Lynix
4fbe508960
Removed debug error when copying a matrix
...
Former-commit-id: 60c57643b5a520abe96fdca83f2d0c28f3bc1f11
2012-11-27 20:25:14 +01:00
Lynix
18baa6b8c1
Fixed typo
...
Former-commit-id: 4254892b447457b57cf9657f87ecf32a1ec899fe
2012-11-25 16:12:57 +01:00
Lynix
7f6003085f
Fixed 3D module
...
Former-commit-id: 91b5980f101ab55ce9313e80cbf3ece8c0da9b0f
2012-11-25 16:12:30 +01:00
Lynix
b662bca33d
Added Material class
...
Former-commit-id: db16249b1ecbfdc59ecdca709cb75f4bf1b6d10b
2012-11-25 14:32:19 +01:00
Lynix
d3c027e29c
Added 3D engine
...
Former-commit-id: 2e1ea34ac98e25cb27fed050b46b68de4d2d8131
2012-11-24 18:34:49 +01:00
Lynix
da2963e1c1
Removed unused forward declaration
...
Former-commit-id: e32abcef8cf0314a4c020a1b3e6c2f36c6ce9e30
2012-11-24 17:40:28 +01:00
Lynix
f1d87484a6
Fixed spaces
...
Former-commit-id: dde1253c93db44ba0d418c290e1e1f963b97eb0a
2012-11-24 10:15:39 +01:00
Lynix
20be46e866
Made mesh animating/skinning constant
...
Since it doesn't change any of the mesh proprieties
Former-commit-id: 47eb21f234570d6ffe3af542029f2086744944b0
2012-11-23 21:16:14 +01:00
Lynix
9cec8c3a4b
Fixed typo
...
Former-commit-id: 3de64e02311033aa54524e33d7d136c9c405d3f7
2012-11-23 17:58:22 +01:00
Lynix
c1879d6bf9
Fixed Vector3::Make[Forward|Left] not returning
...
Former-commit-id: be947d6b5c7c1a353fd035f3a5c1c495066ff7ac
2012-11-22 11:44:32 +01:00
Lynix
faee0b93b5
Added HardwareInfo class
...
Former-commit-id: 3db2f8f11d58b4b71b85f749ce2a12dcfff986bc
2012-11-22 11:07:02 +01:00
Lynix
7a6a63a4b8
Added macros for Intel C++ compiler/x64 platform
...
Former-commit-id: d2592da3abe140deefae76039992f70c7605f89d
2012-11-21 23:51:41 +01:00
Lynix
70ef422950
Big skeletal animation update
...
Added MeshInfos demo
Added MD5Mesh/MD5Anim loader support
Added Node class
Fixed ResourceParams not being exported
Added support for skeletal animation
(Animation/Mesh/Joint/SkeletalMesh/Skeleton)
Meshes are now only stored with VertexStruct_XYZ_Normal_UV_Tangent type
Moved Sequence declaration to Sequence.hpp
-Animation:
Renamed Create to Create[Keyframe|Skeletal]
-AxisAlignedBox:
Added Contains method
Added GetCorner method
Added GetCube method
Added Transform method
-Cube/Rect:
Added GetPosition method
Added GetSize method
(Almost) Fixed ExtendTo method
Fixed GetCenter method
-File:
Added GetDirectory static function
Added GetPath method
Renamed GetDirectoryPath method to GetDirectory
-Math module:
Fixed constructor/methods taking a non-const array
GetNormal/Normalize methods now takes an optionnal integer pointer
(returning length)
Made all classes default constructor trivial
Inverse, MakeIdentity, MakeZero, Normalize, Set methods now returns
reference to object
-Matrix4:
Modified methods to avoid copies
Removed COW (Too much overhead)
Removed Concatenate[Affine] static function
-Mesh:
Renamed Create to Create[Keyframe|Skeletal|Static]
Renamed Skin to Material
-MeshParams:
No longer takes declaration argument
Renamed loadAnimations to animated
Storage default to BufferStorage_Hardware if supported and
BufferStorage_Software otherwise
-OpenGL:
Added glGetBooleanv function
Added glIsEnabled function
-Quaternion:
Added ComputeW method
Added Conjugate method
-Renderer:
Added IsEnabled static function
Fixed GetLineWidth function not being static
Removed SetVertexDeclaration
-RenderWindow:
Made CopyTo[Image|Texture] method constant
-Resource
Fixed RemoveResourceListener crash
-ResourceLoader:
Loaders are now used in a LIFO context
-Stream:
Renamed GetLine method to ReadLine
-String:
Fixed Simplified
-Utility module
Added configuration define for strict resource parsing
-VertexBuffer
Now takes a VertexDeclaration pointer
-VertexDeclaration
No longer throw an error when getting a non-existing element
Former-commit-id: f7358c1231d6af48b799d2f24f077a001e16785b
2012-11-21 19:20:32 +01:00
Remi Beges
a0b7364eed
Added HybridMultiF 3D & 4D
...
*new constructors for simple noises
*minor bufixes
Former-commit-id: 2f1e9b6b54087e79b3ac52fefc9bbd67fd45c0eb
2012-11-13 19:27:48 +01:00
Remi Beges
8f04f3e6a0
Added FBM 3D & 4D and HybridMultiFractal 2D + cleaned code
...
this commit will change the scale of values produced by fbm2d. This will
probably not happen again. As a consequence, fbm values will always be
constrained between -1 and 1, but do not perfectly stick to that scale.
There is no easy solution, if the user wants the best dynamic between -1
and 1, he should adjust manually the value by multiplying by a gain slightly superior to 1.
Former-commit-id: ebdba9e9f4bbb972abe355c07ec9f8bce42329b9
2012-11-09 18:38:50 +01:00
Jérôme Leclercq
0ffdad48a8
Added Stream include to Core global include
...
Former-commit-id: 2901eeac313cde208f82e6995711ce7044a8910b
2012-11-08 14:27:19 +01:00
Jérôme Leclercq
94bb765a77
Added Shader::SendColor(Color)
...
Former-commit-id: e3af0e2cb75a437304ee274a6123114b41dd7d94
2012-11-08 14:25:48 +01:00
Remi Beges
7bd6202389
Merge remote-tracking branch 'upstream/master'
...
Former-commit-id: 8fe411f0146d6cc64cf8d32cc4896f7f417f62a5
2012-11-04 18:51:23 +01:00
Lynix
6b9c88221a
Added Shader::IsValid()
...
Former-commit-id: 829320e4fd92dafb829019d875135ca9b75a3db2
2012-11-02 23:47:09 +01:00
Lynix
9199e60436
Added implicit conversion from AABB to String
...
Former-commit-id: c41510f4e0527a174d4acb5f8f26f60f4984ce15
2012-11-02 21:50:33 +01:00
Lynix
1b3129868f
Added NzRenderer::[Get/Set]LineWidth
...
Former-commit-id: 827f762294bb67debb2a7faed07b595df2b9d20d
2012-11-01 18:28:49 +01:00
Lynix
5c2f94f953
You can now change the point size
...
Former-commit-id: b0018b14973d36f822524e8e5b94ba940a63897f
2012-11-01 18:20:15 +01:00
Lynix
1d217837cf
Added compiler tests and fixed MinGW warnings
...
Former-commit-id: 550d467e0997065943dc0b18a36d1be0edbb8114
2012-10-30 18:52:38 +01:00
Lynix
2831f596d2
Added missing include
...
Former-commit-id: c8cdcb907f85b064e5cf3a7faa23740131af9283
2012-10-29 09:56:21 +01:00
Remi Beges
9fef43951b
Replaced templates by float
...
*Since only valid template parameters were float and double, the whole
template aspect has been removed.
Double precision would only be used in extremely rare occasions
(applications needing high precision and slow performances), it is not
relevant to template the whole module for it.
Former-commit-id: fc6dd028189c608a6a7b4c312b3e5e3f53a01fd7
2012-10-27 18:59:39 +02:00
Lynix
3a9e8850c0
Added Keyboard::GetKeyName (experimental)
...
Former-commit-id: a937b98ceeed3cb7c64bf6c1f544bb7021ad01bd
2012-10-26 14:09:09 +02:00
Lynix
4c23ccf1c6
(Matrix4) Renamed Destroy to Undefine, fixed bug
...
Fixed Transpose() not checking COW ownership
Former-commit-id: de2c64b9aef5abf2f73ce6cff2fe8442c1c382c5
2012-10-26 14:08:30 +02:00
Lynix
61c081ace3
Fixed and improved Matrix class (See description)
...
-Added ApplyScale
-Added Destroy()
-Added GetInverseAffine
-Added Inverse(Affine)
-Added (Make)Transform method, generating a TRS transform matrix
-Fixed COW
-Inverse methods now takes an optionnal boolean pointer
Former-commit-id: 84e7c679c242876f9b0888875b37afa12eed311a
2012-10-24 22:32:46 +02:00
Lynix
8712de3118
Cleaned NzNormalizeAngle code
...
Former-commit-id: 3d984db7632e0c9cba032d22b1470828326c0ad9
2012-10-24 18:22:07 +02:00