diff --git a/nel/include/nel/3d/async_file_manager_3d.h b/nel/include/nel/3d/async_file_manager_3d.h
index 3f43a01e3..fee82d74b 100644
--- a/nel/include/nel/3d/async_file_manager_3d.h
+++ b/nel/include/nel/3d/async_file_manager_3d.h
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/include/nel/3d/computed_string.h b/nel/include/nel/3d/computed_string.h
index c0ae90578..fb1a5873c 100644
--- a/nel/include/nel/3d/computed_string.h
+++ b/nel/include/nel/3d/computed_string.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/3d/font_generator.h b/nel/include/nel/3d/font_generator.h
index f79b3c109..c756ed2b4 100644
--- a/nel/include/nel/3d/font_generator.h
+++ b/nel/include/nel/3d/font_generator.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/3d/font_manager.h b/nel/include/nel/3d/font_manager.h
index 620b2164f..fc6708256 100644
--- a/nel/include/nel/3d/font_manager.h
+++ b/nel/include/nel/3d/font_manager.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/3d/mesh.h b/nel/include/nel/3d/mesh.h
index 25872a063..0d47037aa 100644
--- a/nel/include/nel/3d/mesh.h
+++ b/nel/include/nel/3d/mesh.h
@@ -837,7 +837,7 @@ private:
void restoreOriginalSkinVertices();
// apply Skin to all vertices from _OriginalSkin* to _VBuffer.
- void applySkin(CSkeletonModel *skeleton);
+ void applySkin(void *dstVb, CSkeletonModel *skeleton);
void flagSkinVerticesForMatrixBlock(uint8 *skinFlags, CMatrixBlock &mb);
diff --git a/nel/include/nel/3d/text_context.h b/nel/include/nel/3d/text_context.h
index a8d4188a8..8ce97216d 100644
--- a/nel/include/nel/3d/text_context.h
+++ b/nel/include/nel/3d/text_context.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/3d/text_context_user.h b/nel/include/nel/3d/text_context_user.h
index b673bfa8f..6be074090 100644
--- a/nel/include/nel/3d/text_context_user.h
+++ b/nel/include/nel/3d/text_context_user.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/3d/texture_font.h b/nel/include/nel/3d/texture_font.h
index 61e92fa58..cacb8a6ac 100644
--- a/nel/include/nel/3d/texture_font.h
+++ b/nel/include/nel/3d/texture_font.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/3d/u_text_context.h b/nel/include/nel/3d/u_text_context.h
index f7f833c47..b068a4b36 100644
--- a/nel/include/nel/3d/u_text_context.h
+++ b/nel/include/nel/3d/u_text_context.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/georges/form.h b/nel/include/nel/georges/form.h
index 732a45840..5a387bb6d 100644
--- a/nel/include/nel/georges/form.h
+++ b/nel/include/nel/georges/form.h
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/georges/form_elm.h b/nel/include/nel/georges/form_elm.h
index f94d9842c..9ad0df30f 100644
--- a/nel/include/nel/georges/form_elm.h
+++ b/nel/include/nel/georges/form_elm.h
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/action_handler.h b/nel/include/nel/gui/action_handler.h
index 5bdad89ba..5edcd3035 100644
--- a/nel/include/nel/gui/action_handler.h
+++ b/nel/include/nel/gui/action_handler.h
@@ -3,6 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/css_border_renderer.h b/nel/include/nel/gui/css_border_renderer.h
index 41ea3b7e6..1c5db47d4 100644
--- a/nel/include/nel/gui/css_border_renderer.h
+++ b/nel/include/nel/gui/css_border_renderer.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/css_parser.h b/nel/include/nel/gui/css_parser.h
index 360e70a8d..8b320bc4e 100644
--- a/nel/include/nel/gui/css_parser.h
+++ b/nel/include/nel/gui/css_parser.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/gui/css_selector.h b/nel/include/nel/gui/css_selector.h
index 3228869f3..c68369e8a 100644
--- a/nel/include/nel/gui/css_selector.h
+++ b/nel/include/nel/gui/css_selector.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/css_style.h b/nel/include/nel/gui/css_style.h
index 9e8ad4b0e..7a1d11ee5 100644
--- a/nel/include/nel/gui/css_style.h
+++ b/nel/include/nel/gui/css_style.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/css_types.h b/nel/include/nel/gui/css_types.h
index 9dd41de36..fd526858e 100644
--- a/nel/include/nel/gui/css_types.h
+++ b/nel/include/nel/gui/css_types.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/ctrl_base.h b/nel/include/nel/gui/ctrl_base.h
index 55983bfbb..e0a90736b 100644
--- a/nel/include/nel/gui/ctrl_base.h
+++ b/nel/include/nel/gui/ctrl_base.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2015 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/ctrl_scroll.h b/nel/include/nel/gui/ctrl_scroll.h
index 4052e6cea..02f814acf 100644
--- a/nel/include/nel/gui/ctrl_scroll.h
+++ b/nel/include/nel/gui/ctrl_scroll.h
@@ -1,8 +1,9 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/ctrl_text_button.h b/nel/include/nel/gui/ctrl_text_button.h
index d55ef4340..53fe7d5cc 100644
--- a/nel/include/nel/gui/ctrl_text_button.h
+++ b/nel/include/nel/gui/ctrl_text_button.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/dbgroup_combo_box.h b/nel/include/nel/gui/dbgroup_combo_box.h
index 3826bf00f..93d6f4d4d 100644
--- a/nel/include/nel/gui/dbgroup_combo_box.h
+++ b/nel/include/nel/gui/dbgroup_combo_box.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/event_descriptor.h b/nel/include/nel/gui/event_descriptor.h
index 69c90ff5d..41c99e101 100644
--- a/nel/include/nel/gui/event_descriptor.h
+++ b/nel/include/nel/gui/event_descriptor.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_container_base.h b/nel/include/nel/gui/group_container_base.h
index ab65b005b..7f99cac3c 100644
--- a/nel/include/nel/gui/group_container_base.h
+++ b/nel/include/nel/gui/group_container_base.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2014 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_editbox.h b/nel/include/nel/gui/group_editbox.h
index ebd9aeeaf..1f4f316fc 100644
--- a/nel/include/nel/gui/group_editbox.h
+++ b/nel/include/nel/gui/group_editbox.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_html.h b/nel/include/nel/gui/group_html.h
index b37d80272..3c94e7fa9 100644
--- a/nel/include/nel/gui/group_html.h
+++ b/nel/include/nel/gui/group_html.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010-2019 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_paragraph.h b/nel/include/nel/gui/group_paragraph.h
index b05d4e12e..d08133b4b 100644
--- a/nel/include/nel/gui/group_paragraph.h
+++ b/nel/include/nel/gui/group_paragraph.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_scrolltext.h b/nel/include/nel/gui/group_scrolltext.h
index b9916aec8..5837761ae 100644
--- a/nel/include/nel/gui/group_scrolltext.h
+++ b/nel/include/nel/gui/group_scrolltext.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2015 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_table.h b/nel/include/nel/gui/group_table.h
index e23ea5af8..74f5ae18d 100644
--- a/nel/include/nel/gui/group_table.h
+++ b/nel/include/nel/gui/group_table.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/group_tree.h b/nel/include/nel/gui/group_tree.h
index 7a39ccfea..8c78cd4c5 100644
--- a/nel/include/nel/gui/group_tree.h
+++ b/nel/include/nel/gui/group_tree.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/html_element.h b/nel/include/nel/gui/html_element.h
index d96b00508..cc59d2126 100644
--- a/nel/include/nel/gui/html_element.h
+++ b/nel/include/nel/gui/html_element.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/html_parser.h b/nel/include/nel/gui/html_parser.h
index cf1392c0b..cfc066822 100644
--- a/nel/include/nel/gui/html_parser.h
+++ b/nel/include/nel/gui/html_parser.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/http_cache.h b/nel/include/nel/gui/http_cache.h
index 0921b2f64..a7f6c82b4 100644
--- a/nel/include/nel/gui/http_cache.h
+++ b/nel/include/nel/gui/http_cache.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/http_hsts.h b/nel/include/nel/gui/http_hsts.h
index 84adfc9fe..78a3b6514 100644
--- a/nel/include/nel/gui/http_hsts.h
+++ b/nel/include/nel/gui/http_hsts.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2018 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/gui/interface_element.h b/nel/include/nel/gui/interface_element.h
index 42fa1de2f..2aaccf3be 100644
--- a/nel/include/nel/gui/interface_element.h
+++ b/nel/include/nel/gui/interface_element.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/libwww.h b/nel/include/nel/gui/libwww.h
index 1f1e07902..df9c20cd8 100644
--- a/nel/include/nel/gui/libwww.h
+++ b/nel/include/nel/gui/libwww.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2015 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/lua_ihm.h b/nel/include/nel/gui/lua_ihm.h
index ec047e69a..c5625d55b 100644
--- a/nel/include/nel/gui/lua_ihm.h
+++ b/nel/include/nel/gui/lua_ihm.h
@@ -3,6 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/reflect.h b/nel/include/nel/gui/reflect.h
index 3f0b936a9..10c5907cb 100644
--- a/nel/include/nel/gui/reflect.h
+++ b/nel/include/nel/gui/reflect.h
@@ -3,7 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/url_parser.h b/nel/include/nel/gui/url_parser.h
index 758f1d340..6c59ee3c9 100644
--- a/nel/include/nel/gui/url_parser.h
+++ b/nel/include/nel/gui/url_parser.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2016 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/gui/view_bitmap.h b/nel/include/nel/gui/view_bitmap.h
index 3d41ae283..f7a77cb30 100644
--- a/nel/include/nel/gui/view_bitmap.h
+++ b/nel/include/nel/gui/view_bitmap.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/view_link.h b/nel/include/nel/gui/view_link.h
index 2b65fd120..a5eb2ac3d 100644
--- a/nel/include/nel/gui/view_link.h
+++ b/nel/include/nel/gui/view_link.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/view_renderer.h b/nel/include/nel/gui/view_renderer.h
index 4498a436a..35d806aab 100644
--- a/nel/include/nel/gui/view_renderer.h
+++ b/nel/include/nel/gui/view_renderer.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/view_text.h b/nel/include/nel/gui/view_text.h
index 3fb92f88c..cc92cf47d 100644
--- a/nel/include/nel/gui/view_text.h
+++ b/nel/include/nel/gui/view_text.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/gui/widget_manager.h b/nel/include/nel/gui/widget_manager.h
index dc1d75063..090bca02d 100644
--- a/nel/include/nel/gui/widget_manager.h
+++ b/nel/include/nel/gui/widget_manager.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/misc/base64.h b/nel/include/nel/misc/base64.h
index 2d61cf254..0bf01e8a3 100644
--- a/nel/include/nel/misc/base64.h
+++ b/nel/include/nel/misc/base64.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/misc/bitmap.h b/nel/include/nel/misc/bitmap.h
index d726a4a94..1f691a859 100644
--- a/nel/include/nel/misc/bitmap.h
+++ b/nel/include/nel/misc/bitmap.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2015 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2016 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/misc/common.h b/nel/include/nel/misc/common.h
index d9edc8e14..01817fa98 100644
--- a/nel/include/nel/misc/common.h
+++ b/nel/include/nel/misc/common.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010-2018 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
diff --git a/nel/include/nel/misc/factory.h b/nel/include/nel/misc/factory.h
index 82da7ce7d..0da1e24f6 100644
--- a/nel/include/nel/misc/factory.h
+++ b/nel/include/nel/misc/factory.h
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010-2019 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/include/nel/misc/file.h b/nel/include/nel/misc/file.h
index 6f0584dd7..2d3912842 100644
--- a/nel/include/nel/misc/file.h
+++ b/nel/include/nel/misc/file.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/misc/fixed_size_allocator.h b/nel/include/nel/misc/fixed_size_allocator.h
index 1f49dfa68..9fcf4842a 100644
--- a/nel/include/nel/misc/fixed_size_allocator.h
+++ b/nel/include/nel/misc/fixed_size_allocator.h
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/misc/path.h b/nel/include/nel/misc/path.h
index 6f3bb8fe1..668dc4582 100644
--- a/nel/include/nel/misc/path.h
+++ b/nel/include/nel/misc/path.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2015 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/misc/rgba.h b/nel/include/nel/misc/rgba.h
index 9f6ea6607..6d3fe189c 100644
--- a/nel/include/nel/misc/rgba.h
+++ b/nel/include/nel/misc/rgba.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/include/nel/misc/streamed_package.h b/nel/include/nel/misc/streamed_package.h
index 093f87a30..f4602caab 100644
--- a/nel/include/nel/misc/streamed_package.h
+++ b/nel/include/nel/misc/streamed_package.h
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2014-2019 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2021 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/include/nel/misc/win_event_emitter.h b/nel/include/nel/misc/win_event_emitter.h
index ee709ec04..91ee85175 100644
--- a/nel/include/nel/misc/win_event_emitter.h
+++ b/nel/include/nel/misc/win_event_emitter.h
@@ -3,6 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/misc/xml_macros.h b/nel/include/nel/misc/xml_macros.h
index d25cd4c30..d5c8efc93 100644
--- a/nel/include/nel/misc/xml_macros.h
+++ b/nel/include/nel/misc/xml_macros.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/include/nel/sound/audio_decoder.h b/nel/include/nel/sound/audio_decoder.h
index e40211896..b9f609b99 100644
--- a/nel/include/nel/sound/audio_decoder.h
+++ b/nel/include/nel/sound/audio_decoder.h
@@ -9,6 +9,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2008-2012 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2016 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/include/nel/sound/audio_decoder_mp3.h b/nel/include/nel/sound/audio_decoder_mp3.h
index d67cf1eaa..52426c921 100644
--- a/nel/include/nel/sound/audio_decoder_mp3.h
+++ b/nel/include/nel/sound/audio_decoder_mp3.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2018 Winch Gate Property Limited
+// Copyright (C) 2018-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2019 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/sound/audio_decoder_vorbis.h b/nel/include/nel/sound/audio_decoder_vorbis.h
index cfb9faa69..c762a9170 100644
--- a/nel/include/nel/sound/audio_decoder_vorbis.h
+++ b/nel/include/nel/sound/audio_decoder_vorbis.h
@@ -10,6 +10,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2008-2012 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2016 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/include/nel/sound/audio_mixer_user.h b/nel/include/nel/sound/audio_mixer_user.h
index d0f6f1d82..a58075e0e 100644
--- a/nel/include/nel/sound/audio_mixer_user.h
+++ b/nel/include/nel/sound/audio_mixer_user.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2016 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
diff --git a/nel/include/nel/sound/driver/sound_driver.h b/nel/include/nel/sound/driver/sound_driver.h
index 9c758487a..ebe904cb8 100644
--- a/nel/include/nel/sound/driver/sound_driver.h
+++ b/nel/include/nel/sound/driver/sound_driver.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2012 Jan BOON (Kaetemi)
diff --git a/nel/include/nel/sound/stream_file_source.h b/nel/include/nel/sound/stream_file_source.h
index 1ade68572..2d4818484 100644
--- a/nel/include/nel/sound/stream_file_source.h
+++ b/nel/include/nel/sound/stream_file_source.h
@@ -9,6 +9,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2018 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/include/nel/sound/u_audio_mixer.h b/nel/include/nel/sound/u_audio_mixer.h
index 311f69516..84257e8ce 100644
--- a/nel/include/nel/sound/u_audio_mixer.h
+++ b/nel/include/nel/sound/u_audio_mixer.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2016 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
diff --git a/nel/include/nel/web/curl_certificates.h b/nel/include/nel/web/curl_certificates.h
index bfb230f01..9c5befdb5 100644
--- a/nel/include/nel/web/curl_certificates.h
+++ b/nel/include/nel/web/curl_certificates.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2019 Jan BOON (Kaetemi)
diff --git a/nel/samples/3d/font/main.cpp b/nel/samples/3d/font/main.cpp
index 1d5eaa114..8486e347b 100644
--- a/nel/samples/3d/font/main.cpp
+++ b/nel/samples/3d/font/main.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014 Jan BOON (Kaetemi)
diff --git a/nel/samples/3d/font_perf/main.cpp b/nel/samples/3d/font_perf/main.cpp
index d183d3fa8..7e57a755b 100644
--- a/nel/samples/3d/font_perf/main.cpp
+++ b/nel/samples/3d/font_perf/main.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2020 Winch Gate Property Limited
+// Copyright (C) 2020-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/animation_set.cpp b/nel/src/3d/animation_set.cpp
index 462587b09..a3b210fed 100644
--- a/nel/src/3d/animation_set.cpp
+++ b/nel/src/3d/animation_set.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/async_texture_manager.cpp b/nel/src/3d/async_texture_manager.cpp
index 22c4969ea..77cc47f89 100644
--- a/nel/src/3d/async_texture_manager.cpp
+++ b/nel/src/3d/async_texture_manager.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/coarse_mesh_build.cpp b/nel/src/3d/coarse_mesh_build.cpp
index e89c8da8d..f3ef5b85c 100644
--- a/nel/src/3d/coarse_mesh_build.cpp
+++ b/nel/src/3d/coarse_mesh_build.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/driver.cpp b/nel/src/3d/driver.cpp
index 71600d3c9..0dd9f7617 100644
--- a/nel/src/3d/driver.cpp
+++ b/nel/src/3d/driver.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2013-2014 Jan BOON (Kaetemi)
+// Copyright (C) 2013-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/driver/direct3d/driver_direct3d.cpp b/nel/src/3d/driver/direct3d/driver_direct3d.cpp
index f8a678957..f201455af 100644
--- a/nel/src/3d/driver/direct3d/driver_direct3d.cpp
+++ b/nel/src/3d/driver/direct3d/driver_direct3d.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
diff --git a/nel/src/3d/driver/direct3d/driver_direct3d.h b/nel/src/3d/driver/direct3d/driver_direct3d.h
index 9a434cab2..eed6c222d 100644
--- a/nel/src/3d/driver/direct3d/driver_direct3d.h
+++ b/nel/src/3d/driver/direct3d/driver_direct3d.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
diff --git a/nel/src/3d/driver/direct3d/driver_direct3d_inputs.cpp b/nel/src/3d/driver/direct3d/driver_direct3d_inputs.cpp
index d5b4ef482..a18bb3a6e 100644
--- a/nel/src/3d/driver/direct3d/driver_direct3d_inputs.cpp
+++ b/nel/src/3d/driver/direct3d/driver_direct3d_inputs.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/driver/opengl/driver_opengl.cpp b/nel/src/3d/driver/opengl/driver_opengl.cpp
index 6fe9ae7c4..1d20edd27 100644
--- a/nel/src/3d/driver/opengl/driver_opengl.cpp
+++ b/nel/src/3d/driver/opengl/driver_opengl.cpp
@@ -1,9 +1,9 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
-// Copyright (C) 2013-2014 Jan BOON (Kaetemi)
+// Copyright (C) 2013-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/driver/opengl/driver_opengl.h b/nel/src/3d/driver/opengl/driver_opengl.h
index 5be157403..4941a98d1 100644
--- a/nel/src/3d/driver/opengl/driver_opengl.h
+++ b/nel/src/3d/driver/opengl/driver_opengl.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
diff --git a/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/nel/src/3d/driver/opengl/driver_opengl_extension.cpp
index 6d4d6427b..ba6bca5ce 100644
--- a/nel/src/3d/driver/opengl/driver_opengl_extension.cpp
+++ b/nel/src/3d/driver/opengl/driver_opengl_extension.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
diff --git a/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp b/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp
index 3ede88b41..685a94aa1 100644
--- a/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp
+++ b/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/driver/opengl/driver_opengl_material.cpp b/nel/src/3d/driver/opengl/driver_opengl_material.cpp
index 4dbe0226a..e27e66e0f 100644
--- a/nel/src/3d/driver/opengl/driver_opengl_material.cpp
+++ b/nel/src/3d/driver/opengl/driver_opengl_material.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Jan BOON (Kaetemi)
diff --git a/nel/src/3d/driver/opengl/driver_opengl_window.cpp b/nel/src/3d/driver/opengl/driver_opengl_window.cpp
index 163f64843..06f95c38c 100644
--- a/nel/src/3d/driver/opengl/driver_opengl_window.cpp
+++ b/nel/src/3d/driver/opengl/driver_opengl_window.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
diff --git a/nel/src/3d/driver/opengl/mac/cocoa_window_delegate.h b/nel/src/3d/driver/opengl/mac/cocoa_window_delegate.h
index 1e9881b47..87963266b 100644
--- a/nel/src/3d/driver/opengl/mac/cocoa_window_delegate.h
+++ b/nel/src/3d/driver/opengl/mac/cocoa_window_delegate.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Robert TIMM (rti)
diff --git a/nel/src/3d/font_generator.cpp b/nel/src/3d/font_generator.cpp
index 8cc24c4b6..96a5945f3 100644
--- a/nel/src/3d/font_generator.cpp
+++ b/nel/src/3d/font_generator.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2015-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/3d/font_manager.cpp b/nel/src/3d/font_manager.cpp
index a2f0f6cb2..43f0e44ac 100644
--- a/nel/src/3d/font_manager.cpp
+++ b/nel/src/3d/font_manager.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/src/3d/hls_texture_bank.cpp b/nel/src/3d/hls_texture_bank.cpp
index 9077f1638..9c014bd28 100644
--- a/nel/src/3d/hls_texture_bank.cpp
+++ b/nel/src/3d/hls_texture_bank.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2010 Jan BOON (Kaetemi)
+// Copyright (C) 2010-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/hls_texture_manager.cpp b/nel/src/3d/hls_texture_manager.cpp
index 3f585eb6b..59020646a 100644
--- a/nel/src/3d/hls_texture_manager.cpp
+++ b/nel/src/3d/hls_texture_manager.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/instance_lighter.cpp b/nel/src/3d/instance_lighter.cpp
index a08a0a38f..3b1887bb4 100644
--- a/nel/src/3d/instance_lighter.cpp
+++ b/nel/src/3d/instance_lighter.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/landscapeig_manager.cpp b/nel/src/3d/landscapeig_manager.cpp
index 78154deda..1d56a4785 100644
--- a/nel/src/3d/landscapeig_manager.cpp
+++ b/nel/src/3d/landscapeig_manager.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/mesh.cpp b/nel/src/3d/mesh.cpp
index 51b07fdec..325f26f8c 100644
--- a/nel/src/3d/mesh.cpp
+++ b/nel/src/3d/mesh.cpp
@@ -30,6 +30,7 @@
#include "nel/3d/render_trav.h"
#include "nel/3d/visual_collision_mesh.h"
#include "nel/3d/meshvp_wind_tree.h"
+#include "nel/3d/vertex_stream_manager.h"
using namespace std;
using namespace NLMISC;
@@ -764,9 +765,34 @@ void CMeshGeom::renderSkin(CTransformShape *trans, float alphaMRM)
// NB: the skeleton matrix has already been setuped by CSkeletonModel
// NB: the normalize flag has already been setuped by CSkeletonModel
+ bool supportVertexStream = ((_VBuffer.getVertexFormat() & ~(CVertexBuffer::PaletteSkinFlag | CVertexBuffer::WeightFlag))
+ == (CVertexBuffer::PositionFlag | CVertexBuffer::NormalFlag | CVertexBuffer::TexCoord0Flag))
+ && (_VBuffer.getValueType(CVertexBuffer::TexCoord0) == CVertexBuffer::Float2)
+ && (_OriginalSkinNormals.size()) && (!_OriginalTGSpace.size());
+ CVertexStreamManager *meshSkinManager = renderTrav->getMeshSkinManager();
- // apply the skinning: _VBuffer is modified.
- applySkin(skeleton);
+ if (supportVertexStream)
+ {
+ uint maxVertices = meshSkinManager->getMaxVertices();
+ uint vertexSize = meshSkinManager->getVertexSize();
+
+ if (maxVertices >= _OriginalSkinVertices.size() && vertexSize == 32)
+ {
+ // apply the skinning
+ uint8 *dstVb = meshSkinManager->lock();
+ applySkin(dstVb, skeleton);
+ meshSkinManager->unlock(_OriginalSkinVertices.size());
+ }
+ else
+ {
+ supportVertexStream = false;
+ nlwarning("Unable to animate skinned model, too many vertices, or stream format unsupported");
+ }
+ }
+ else
+ {
+ nlwarning("Unable to animate skinned model, unsupported vertex format");
+ }
// Setup meshVertexProgram
@@ -786,7 +812,14 @@ void CMeshGeom::renderSkin(CTransformShape *trans, float alphaMRM)
// Render the mesh.
//===========
// active VB.
- drv->activeVertexBuffer(_VBuffer);
+ if (supportVertexStream)
+ {
+ meshSkinManager->activate();
+ }
+ else
+ {
+ drv->activeVertexBuffer(_VBuffer);
+ }
// For all _MatrixBlocks
@@ -816,6 +849,11 @@ void CMeshGeom::renderSkin(CTransformShape *trans, float alphaMRM)
}
}
+ if (supportVertexStream)
+ {
+ meshSkinManager->swapVBHard();
+ }
+
// End VertexProgram effect
if(useMeshVP)
{
@@ -1787,7 +1825,7 @@ void CMeshGeom::restoreOriginalSkinVertices()
// ***************************************************************************
-void CMeshGeom::applySkin(CSkeletonModel *skeleton)
+void CMeshGeom::applySkin(void *dstVb, CSkeletonModel *skeleton)
{
// init.
//===================
@@ -1795,24 +1833,13 @@ void CMeshGeom::applySkin(CSkeletonModel *skeleton)
return;
// Use correct skinning
- TSkinType skinType;
- if( _OriginalSkinNormals.empty() )
- skinType= SkinPosOnly;
- else if( _OriginalTGSpace.empty() )
- skinType= SkinWithNormal;
- else
- skinType= SkinWithTgSpace;
+ nlassert(!_OriginalSkinNormals.empty());
+ nlassert(_OriginalTGSpace.empty());
// Get VB src/dst info/ptrs.
uint numVertices= (uint)_OriginalSkinVertices.size();
- uint dstStride= _VBuffer.getVertexSize();
- // Get dst TgSpace.
- uint tgSpaceStage = 0;
- if( skinType>= SkinWithTgSpace)
- {
- nlassert(_VBuffer.getNumTexCoordUsed() > 0);
- tgSpaceStage= _VBuffer.getNumTexCoordUsed() - 1;
- }
+ static const uint dstStride = 32; // _VBuffer.getVertexSize();
+ uint srcStride = _VBuffer.getVertexSize();
// Mark all vertices flag to not computed.
static vector skinFlags;
@@ -1823,6 +1850,10 @@ void CMeshGeom::applySkin(CSkeletonModel *skeleton)
CVertexBufferRead vba;
_VBuffer.lock (vba);
+ uint8 *dstVbPos = (uint8 *)dstVb;
+ uint8 *dstVbNormal = dstVbPos + 12;
+ uint8 *dstVbUV = dstVbPos + 24;
+
// For all MatrixBlocks
//===================
for(uint mb= 0; mb<_MatrixBlocks.size();mb++)
@@ -1839,24 +1870,10 @@ void CMeshGeom::applySkin(CSkeletonModel *skeleton)
CVector *srcVector= &_OriginalSkinVertices[0];
uint8 *srcPal= (uint8*)vba.getPaletteSkinPointer(0);
uint8 *srcWgt= (uint8*)vba.getWeightPointer(0);
- uint8 *dstVector= (uint8*)vba.getVertexCoordPointer(0);
+ uint8 *dstVector = dstVbPos;
// Normal.
- CVector *srcNormal= NULL;
- uint8 *dstNormal= NULL;
- if(skinType>=SkinWithNormal)
- {
- srcNormal= &_OriginalSkinNormals[0];
- dstNormal= (uint8*)vba.getNormalCoordPointer(0);
- }
- // TgSpace.
- CVector *srcTgSpace= NULL;
- uint8 *dstTgSpace= NULL;
- if(skinType>=SkinWithTgSpace)
- {
- srcTgSpace= &_OriginalTGSpace[0];
- dstTgSpace= (uint8*)vba.getTexCoordPointer(0, tgSpaceStage);
- }
-
+ CVector *srcNormal= &_OriginalSkinNormals[0];
+ uint8 *dstNormal = dstVbNormal;
// For all vertices that need to be computed.
uint size= numVertices;
@@ -1880,12 +1897,7 @@ void CMeshGeom::applySkin(CSkeletonModel *skeleton)
computeSoftwarePointSkinning(matrixes, srcVector, psPal, (float*)srcWgt, (CVector*)dstVector);
// compute normal part.
- if(skinType>=SkinWithNormal)
- computeSoftwareVectorSkinning(matrixes, srcNormal, psPal, (float*)srcWgt, (CVector*)dstNormal);
-
- // compute tg part.
- if(skinType>=SkinWithTgSpace)
- computeSoftwareVectorSkinning(matrixes, srcTgSpace, psPal, (float*)srcWgt, (CVector*)dstTgSpace);
+ computeSoftwareVectorSkinning(matrixes, srcNormal, psPal, (float*)srcWgt, (CVector*)dstNormal);
}
// inc flags.
@@ -1893,19 +1905,46 @@ void CMeshGeom::applySkin(CSkeletonModel *skeleton)
// inc src (all whatever skin type used...)
srcVector++;
srcNormal++;
- srcTgSpace++;
// inc paletteSkin and dst (all whatever skin type used...)
- srcPal+= dstStride;
- srcWgt+= dstStride;
+ srcPal+= srcStride;
+ srcWgt+= srcStride;
dstVector+= dstStride;
dstNormal+= dstStride;
- dstTgSpace+= dstStride;
}
}
+ // Remaining vertices
+ {
+ uint8 *pFlag = &skinFlags[0];
+ CVector *srcVector = &_OriginalSkinVertices[0];
+ uint8 *dstVector = dstVbPos;
+ CVector *srcNormal = &_OriginalSkinNormals[0];
+ uint8 *dstNormal = dstVbNormal;
+ uint8 *srcUV = (uint8 *)vba.getTexCoordPointer(0, 0);
+ uint8 *dstUV = dstVbUV;
+ uint srcStride = _VBuffer.getVertexSize();
+
+ for (uint i = 0; i < numVertices; ++i)
+ {
+ if (*pFlag != NL3D_SOFTSKIN_VCOMPUTED)
+ {
+ *(CVector *)dstVector = *srcVector;
+ *(CVector *)dstNormal = *srcNormal;
+ }
+ *(CVector2f *)dstUV = *(CVector2f *)srcUV;
- // dirt
- _OriginalSkinRestored= false;
+ // inc flags.
+ pFlag++;
+ // inc src (all whatever skin type used...)
+ srcVector++;
+ srcNormal++;
+ srcUV += srcStride;
+ // inc paletteSkin and dst (all whatever skin type used...)
+ dstVector += dstStride;
+ dstNormal += dstStride;
+ dstUV += dstStride;
+ }
+ }
}
diff --git a/nel/src/3d/meshvp_wind_tree.cpp b/nel/src/3d/meshvp_wind_tree.cpp
index 5e9fdfdcd..55b39ce8b 100644
--- a/nel/src/3d/meshvp_wind_tree.cpp
+++ b/nel/src/3d/meshvp_wind_tree.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Jan BOON (Kaetemi)
diff --git a/nel/src/3d/ps_util.cpp b/nel/src/3d/ps_util.cpp
index b25f10e10..efeaf2125 100644
--- a/nel/src/3d/ps_util.cpp
+++ b/nel/src/3d/ps_util.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2015 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/scene_group.cpp b/nel/src/3d/scene_group.cpp
index 131f5feaf..4867209e7 100644
--- a/nel/src/3d/scene_group.cpp
+++ b/nel/src/3d/scene_group.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/shape_info.cpp b/nel/src/3d/shape_info.cpp
index 4385b044e..71ac3f7dc 100644
--- a/nel/src/3d/shape_info.cpp
+++ b/nel/src/3d/shape_info.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/text_context.cpp b/nel/src/3d/text_context.cpp
index 4549622da..1399ac31c 100644
--- a/nel/src/3d/text_context.cpp
+++ b/nel/src/3d/text_context.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/3d/text_context_user.cpp b/nel/src/3d/text_context_user.cpp
index 01bfe21df..bdd1e4a51 100644
--- a/nel/src/3d/text_context_user.cpp
+++ b/nel/src/3d/text_context_user.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/3d/texture_file.cpp b/nel/src/3d/texture_file.cpp
index 58f2f333f..859eacbb3 100644
--- a/nel/src/3d/texture_file.cpp
+++ b/nel/src/3d/texture_file.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/3d/texture_font.cpp b/nel/src/3d/texture_font.cpp
index 9aa08ca15..58be439c3 100644
--- a/nel/src/3d/texture_font.cpp
+++ b/nel/src/3d/texture_font.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/tile_bank.cpp b/nel/src/3d/tile_bank.cpp
index 9ba3ca756..c8c232ecf 100644
--- a/nel/src/3d/tile_bank.cpp
+++ b/nel/src/3d/tile_bank.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2010 Jan BOON (Kaetemi)
+// Copyright (C) 2010-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/3d/zone_lighter.cpp b/nel/src/3d/zone_lighter.cpp
index 0ba8c2b95..55019259d 100644
--- a/nel/src/3d/zone_lighter.cpp
+++ b/nel/src/3d/zone_lighter.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2013-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2013-2021 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/georges/form_dfn.cpp b/nel/src/georges/form_dfn.cpp
index 628077579..82f4dc1db 100644
--- a/nel/src/georges/form_dfn.cpp
+++ b/nel/src/georges/form_dfn.cpp
@@ -2,8 +2,8 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
// Copyright (C) 2014 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/georges/form_elm.cpp b/nel/src/georges/form_elm.cpp
index 358b45f65..3dac9b5a0 100644
--- a/nel/src/georges/form_elm.cpp
+++ b/nel/src/georges/form_elm.cpp
@@ -2,8 +2,8 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
// Copyright (C) 2014 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/georges/form_loader.cpp b/nel/src/georges/form_loader.cpp
index e757fb9d0..7a56f7bf9 100644
--- a/nel/src/georges/form_loader.cpp
+++ b/nel/src/georges/form_loader.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/gui/action_handler.cpp b/nel/src/gui/action_handler.cpp
index 601175361..873461586 100644
--- a/nel/src/gui/action_handler.cpp
+++ b/nel/src/gui/action_handler.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/css_border_renderer.cpp b/nel/src/gui/css_border_renderer.cpp
index a7002cd9a..e41d11857 100644
--- a/nel/src/gui/css_border_renderer.cpp
+++ b/nel/src/gui/css_border_renderer.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/css_parser.cpp b/nel/src/gui/css_parser.cpp
index b3e3861bb..d4980784a 100644
--- a/nel/src/gui/css_parser.cpp
+++ b/nel/src/gui/css_parser.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2020 Jan BOON (Kaetemi)
diff --git a/nel/src/gui/css_selector.cpp b/nel/src/gui/css_selector.cpp
index dfc01b855..16b7cec33 100644
--- a/nel/src/gui/css_selector.cpp
+++ b/nel/src/gui/css_selector.cpp
@@ -1,5 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/css_style.cpp b/nel/src/gui/css_style.cpp
index 3ff9744bc..01bd812f1 100644
--- a/nel/src/gui/css_style.cpp
+++ b/nel/src/gui/css_style.cpp
@@ -1,5 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/ctrl_base_button.cpp b/nel/src/gui/ctrl_base_button.cpp
index 68aa19f15..f306c8b52 100644
--- a/nel/src/gui/ctrl_base_button.cpp
+++ b/nel/src/gui/ctrl_base_button.cpp
@@ -3,6 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/ctrl_button.cpp b/nel/src/gui/ctrl_button.cpp
index cc38e50e4..15bf33897 100644
--- a/nel/src/gui/ctrl_button.cpp
+++ b/nel/src/gui/ctrl_button.cpp
@@ -1,8 +1,9 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2016 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/ctrl_col_pick.cpp b/nel/src/gui/ctrl_col_pick.cpp
index 251c655c2..7daeb1591 100644
--- a/nel/src/gui/ctrl_col_pick.cpp
+++ b/nel/src/gui/ctrl_col_pick.cpp
@@ -3,6 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/ctrl_scroll.cpp b/nel/src/gui/ctrl_scroll.cpp
index c3c928e81..4d496de66 100644
--- a/nel/src/gui/ctrl_scroll.cpp
+++ b/nel/src/gui/ctrl_scroll.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/ctrl_text_button.cpp b/nel/src/gui/ctrl_text_button.cpp
index 8439e3276..894612f39 100644
--- a/nel/src/gui/ctrl_text_button.cpp
+++ b/nel/src/gui/ctrl_text_button.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/dbgroup_combo_box.cpp b/nel/src/gui/dbgroup_combo_box.cpp
index 9adffab86..8fe7f8a65 100644
--- a/nel/src/gui/dbgroup_combo_box.cpp
+++ b/nel/src/gui/dbgroup_combo_box.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_container.cpp b/nel/src/gui/group_container.cpp
index 9047fbfcb..916e95b13 100644
--- a/nel/src/gui/group_container.cpp
+++ b/nel/src/gui/group_container.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010-2018 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_editbox.cpp b/nel/src/gui/group_editbox.cpp
index 563a27312..1410e2cb1 100644
--- a/nel/src/gui/group_editbox.cpp
+++ b/nel/src/gui/group_editbox.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_html.cpp b/nel/src/gui/group_html.cpp
index 3e3748a55..772a86d8e 100644
--- a/nel/src/gui/group_html.cpp
+++ b/nel/src/gui/group_html.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010-2019 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_list.cpp b/nel/src/gui/group_list.cpp
index b21784836..8f7336d28 100644
--- a/nel/src/gui/group_list.cpp
+++ b/nel/src/gui/group_list.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_paragraph.cpp b/nel/src/gui/group_paragraph.cpp
index 623975b98..3317a0dea 100644
--- a/nel/src/gui/group_paragraph.cpp
+++ b/nel/src/gui/group_paragraph.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_scrolltext.cpp b/nel/src/gui/group_scrolltext.cpp
index c456a4dd4..8f6b471bc 100644
--- a/nel/src/gui/group_scrolltext.cpp
+++ b/nel/src/gui/group_scrolltext.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2015 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_table.cpp b/nel/src/gui/group_table.cpp
index 4b63903e4..2144d0020 100644
--- a/nel/src/gui/group_table.cpp
+++ b/nel/src/gui/group_table.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/group_tree.cpp b/nel/src/gui/group_tree.cpp
index 44636f1d6..2fecc005d 100644
--- a/nel/src/gui/group_tree.cpp
+++ b/nel/src/gui/group_tree.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/html_element.cpp b/nel/src/gui/html_element.cpp
index 454833a5a..8eb706cc9 100644
--- a/nel/src/gui/html_element.cpp
+++ b/nel/src/gui/html_element.cpp
@@ -1,5 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2021 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
@@ -141,14 +144,14 @@ namespace NLGUI
// ***************************************************************************
std::string CHtmlElement::htmlEscape(std::string val, bool isAttribute) const
{
- static const std::vector searchReplace = {
+ static const std::string searchReplace[] = {
"&", "&",
"<", "<",
">", ">",
"\xA0", " ",
};
-
- for(uint i = 0; i < searchReplace.size(); i+=2)
+
+ for(uint i = 0; i < (sizeof(searchReplace) / sizeof(searchReplace[0])); i+=2)
val = strFindReplaceAll(val, searchReplace[i], searchReplace[i+1]);
if (isAttribute)
diff --git a/nel/src/gui/html_parser.cpp b/nel/src/gui/html_parser.cpp
index b8eb0176b..2425d7f95 100644
--- a/nel/src/gui/html_parser.cpp
+++ b/nel/src/gui/html_parser.cpp
@@ -1,5 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/http_cache.cpp b/nel/src/gui/http_cache.cpp
index a032247fc..245ffbe20 100644
--- a/nel/src/gui/http_cache.cpp
+++ b/nel/src/gui/http_cache.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/http_hsts.cpp b/nel/src/gui/http_hsts.cpp
index e5a13e26a..2befe7932 100644
--- a/nel/src/gui/http_hsts.cpp
+++ b/nel/src/gui/http_hsts.cpp
@@ -1,8 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2018 Jan BOON (Kaetemi)
+// Copyright (C) 2018-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/interface_anim.cpp b/nel/src/gui/interface_anim.cpp
index d23c69330..36a5d82f4 100644
--- a/nel/src/gui/interface_anim.cpp
+++ b/nel/src/gui/interface_anim.cpp
@@ -3,7 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
-// Copyright (C) 2015 Jan BOON (Kaetemi)
+// Copyright (C) 2015-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/interface_element.cpp b/nel/src/gui/interface_element.cpp
index 98f4ab7d6..234ff6101 100644
--- a/nel/src/gui/interface_element.cpp
+++ b/nel/src/gui/interface_element.cpp
@@ -1,8 +1,9 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/interface_group.cpp b/nel/src/gui/interface_group.cpp
index 703070d82..87504cf24 100644
--- a/nel/src/gui/interface_group.cpp
+++ b/nel/src/gui/interface_group.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/interface_options.cpp b/nel/src/gui/interface_options.cpp
index 172e6ab41..27b7ebbb5 100644
--- a/nel/src/gui/interface_options.cpp
+++ b/nel/src/gui/interface_options.cpp
@@ -3,7 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/interface_parser.cpp b/nel/src/gui/interface_parser.cpp
index afb5c3d4d..eab381d22 100644
--- a/nel/src/gui/interface_parser.cpp
+++ b/nel/src/gui/interface_parser.cpp
@@ -1,9 +1,9 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2015 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
-// Copyright (C) 2013-2015 Jan BOON (Kaetemi)
+// Copyright (C) 2013-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/libwww.cpp b/nel/src/gui/libwww.cpp
index 8ebb1eaa1..362dce8e2 100644
--- a/nel/src/gui/libwww.cpp
+++ b/nel/src/gui/libwww.cpp
@@ -1,8 +1,9 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/stdpch.h b/nel/src/gui/stdpch.h
index 9a2586a2b..4b4a1a99e 100644
--- a/nel/src/gui/stdpch.h
+++ b/nel/src/gui/stdpch.h
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014 Jan BOON (Kaetemi)
diff --git a/nel/src/gui/url_parser.cpp b/nel/src/gui/url_parser.cpp
index f965b05b3..b009221df 100644
--- a/nel/src/gui/url_parser.cpp
+++ b/nel/src/gui/url_parser.cpp
@@ -1,5 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2016 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/gui/view_bitmap.cpp b/nel/src/gui/view_bitmap.cpp
index 8922d5c4e..4186a4362 100644
--- a/nel/src/gui/view_bitmap.cpp
+++ b/nel/src/gui/view_bitmap.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010-2018 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/view_renderer.cpp b/nel/src/gui/view_renderer.cpp
index 76e064dfd..796479e82 100644
--- a/nel/src/gui/view_renderer.cpp
+++ b/nel/src/gui/view_renderer.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/view_text.cpp b/nel/src/gui/view_text.cpp
index 510567d8e..89f31d40d 100644
--- a/nel/src/gui/view_text.cpp
+++ b/nel/src/gui/view_text.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010-2018 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/gui/widget_manager.cpp b/nel/src/gui/widget_manager.cpp
index df4f5d706..c052f4c18 100644
--- a/nel/src/gui/widget_manager.cpp
+++ b/nel/src/gui/widget_manager.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013-2014 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/ligo/primitive_class.cpp b/nel/src/ligo/primitive_class.cpp
index 9386ca6b9..29203aa13 100644
--- a/nel/src/ligo/primitive_class.cpp
+++ b/nel/src/ligo/primitive_class.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/ligo/primitive_configuration.cpp b/nel/src/ligo/primitive_configuration.cpp
index d85d626eb..f73e5acb6 100644
--- a/nel/src/ligo/primitive_configuration.cpp
+++ b/nel/src/ligo/primitive_configuration.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/misc/app_context.cpp b/nel/src/misc/app_context.cpp
index fc8c64e5f..df105244d 100644
--- a/nel/src/misc/app_context.cpp
+++ b/nel/src/misc/app_context.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2015 Jan BOON (Kaetemi)
+// Copyright (C) 2015-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/misc/bitmap.cpp b/nel/src/misc/bitmap.cpp
index f10b41587..caf294949 100644
--- a/nel/src/misc/bitmap.cpp
+++ b/nel/src/misc/bitmap.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2016-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/misc/bitmap_gif.cpp b/nel/src/misc/bitmap_gif.cpp
index 653942d08..3ca98593c 100644
--- a/nel/src/misc/bitmap_gif.cpp
+++ b/nel/src/misc/bitmap_gif.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/misc/command.cpp b/nel/src/misc/command.cpp
index d6afbcd84..0f9d84c29 100644
--- a/nel/src/misc/command.cpp
+++ b/nel/src/misc/command.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010-2019 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/misc/common.cpp b/nel/src/misc/common.cpp
index df802e20d..7e2c775d8 100644
--- a/nel/src/misc/common.cpp
+++ b/nel/src/misc/common.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/misc/file.cpp b/nel/src/misc/file.cpp
index 138e85c88..dc0863c63 100644
--- a/nel/src/misc/file.cpp
+++ b/nel/src/misc/file.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/misc/fixed_size_allocator.cpp b/nel/src/misc/fixed_size_allocator.cpp
index 6784aff66..b397046bc 100644
--- a/nel/src/misc/fixed_size_allocator.cpp
+++ b/nel/src/misc/fixed_size_allocator.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/misc/path.cpp b/nel/src/misc/path.cpp
index ffa27d193..ce787b196 100644
--- a/nel/src/misc/path.cpp
+++ b/nel/src/misc/path.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
diff --git a/nel/src/misc/rgba.cpp b/nel/src/misc/rgba.cpp
index d7eb00dce..4db5846bc 100644
--- a/nel/src/misc/rgba.cpp
+++ b/nel/src/misc/rgba.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2013 Laszlo KIS-ADAM (dfighter)
diff --git a/nel/src/misc/sheet_id.cpp b/nel/src/misc/sheet_id.cpp
index f84b4afb7..ab7d0d254 100644
--- a/nel/src/misc/sheet_id.cpp
+++ b/nel/src/misc/sheet_id.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2012-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/misc/streamed_package.cpp b/nel/src/misc/streamed_package.cpp
index ad013cccf..66b13c429 100644
--- a/nel/src/misc/streamed_package.cpp
+++ b/nel/src/misc/streamed_package.cpp
@@ -1,5 +1,8 @@
// NeL - MMORPG Framework
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2021 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/misc/streamed_package_manager.cpp b/nel/src/misc/streamed_package_manager.cpp
index aa36a8ec6..d7eecd85e 100644
--- a/nel/src/misc/streamed_package_manager.cpp
+++ b/nel/src/misc/streamed_package_manager.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2014-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/net/email.cpp b/nel/src/net/email.cpp
index 8d2854125..0521da12d 100644
--- a/nel/src/net/email.cpp
+++ b/nel/src/net/email.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/net/service.cpp b/nel/src/net/service.cpp
index 0f679fa84..f5af03236 100644
--- a/nel/src/net/service.cpp
+++ b/nel/src/net/service.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2016-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2016-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/sound/audio_decoder.cpp b/nel/src/sound/audio_decoder.cpp
index 4f264ccaf..2f6f1508a 100644
--- a/nel/src/sound/audio_decoder.cpp
+++ b/nel/src/sound/audio_decoder.cpp
@@ -9,6 +9,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2008-2020 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2016-2020 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/sound/audio_decoder_ffmpeg.cpp b/nel/src/sound/audio_decoder_ffmpeg.cpp
index 158c0ddc3..a0389e2e7 100644
--- a/nel/src/sound/audio_decoder_ffmpeg.cpp
+++ b/nel/src/sound/audio_decoder_ffmpeg.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2018 Winch Gate Property Limited
+// Copyright (C) 2018-2019 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/sound/audio_decoder_mp3.cpp b/nel/src/sound/audio_decoder_mp3.cpp
index 9785b7944..f19da18c8 100644
--- a/nel/src/sound/audio_decoder_mp3.cpp
+++ b/nel/src/sound/audio_decoder_mp3.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2018 Winch Gate Property Limited
+// Copyright (C) 2018-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2019 Jan BOON (Kaetemi)
diff --git a/nel/src/sound/audio_decoder_vorbis.cpp b/nel/src/sound/audio_decoder_vorbis.cpp
index 097a791f7..45a8da7f6 100644
--- a/nel/src/sound/audio_decoder_vorbis.cpp
+++ b/nel/src/sound/audio_decoder_vorbis.cpp
@@ -9,6 +9,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2008-2012 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2016 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/sound/audio_mixer_user.cpp b/nel/src/sound/audio_mixer_user.cpp
index 3f6a5dcbe..d6098e6a9 100644
--- a/nel/src/sound/audio_mixer_user.cpp
+++ b/nel/src/sound/audio_mixer_user.cpp
@@ -1,9 +1,9 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2018 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
-// Copyright (C) 2012-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/sound/complex_source.cpp b/nel/src/sound/complex_source.cpp
index 224cb7374..6160b0bfe 100644
--- a/nel/src/sound/complex_source.cpp
+++ b/nel/src/sound/complex_source.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
diff --git a/nel/src/sound/driver/fmod/sound_driver_fmod.cpp b/nel/src/sound/driver/fmod/sound_driver_fmod.cpp
index 2b250a1d3..a473b5bd9 100644
--- a/nel/src/sound/driver/fmod/sound_driver_fmod.cpp
+++ b/nel/src/sound/driver/fmod/sound_driver_fmod.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/sound/driver/fmod/sound_driver_fmod.h b/nel/src/sound/driver/fmod/sound_driver_fmod.h
index 73d3b8673..b486b74cc 100644
--- a/nel/src/sound/driver/fmod/sound_driver_fmod.h
+++ b/nel/src/sound/driver/fmod/sound_driver_fmod.h
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/sound/driver/openal/source_al.cpp b/nel/src/sound/driver/openal/source_al.cpp
index fa3908f10..f0cf670b7 100644
--- a/nel/src/sound/driver/openal/source_al.cpp
+++ b/nel/src/sound/driver/openal/source_al.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2012 Jan BOON (Kaetemi)
diff --git a/nel/src/sound/driver/xaudio2/source_xaudio2.cpp b/nel/src/sound/driver/xaudio2/source_xaudio2.cpp
index 13a613d6d..3110c174c 100644
--- a/nel/src/sound/driver/xaudio2/source_xaudio2.cpp
+++ b/nel/src/sound/driver/xaudio2/source_xaudio2.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2008-2020 Jan BOON (Kaetemi)
+// Copyright (C) 2008-2021 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
@@ -359,7 +359,8 @@ void CSourceXAudio2::setStreaming(bool streaming)
_SourceVoice->GetState(&voice_state);
if (!voice_state.BuffersQueued)
{
- nlwarning(NLSOUND_XAUDIO2_PREFIX "Switched streaming mode while buffer still queued!?! Flush");
+ if (!_IsLooping)
+ nlwarning(NLSOUND_XAUDIO2_PREFIX "Switched streaming mode while buffer still queued!?! Flush");
_SoundDriver->getXAudio2()->CommitChanges(_OperationSet);
if (FAILED(_SourceVoice->FlushSourceBuffers()))
nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED FlushSourceBuffers");
@@ -555,7 +556,7 @@ bool CSourceXAudio2::preparePlay(IBuffer::TBufferFormat bufferFormat, uint8 chan
}
if (_SourceVoice && (bufferFormat != _Format || channels != _Channels || bitsPerSample != _BitsPerSample))
{
- nlwarning(NLSOUND_XAUDIO2_PREFIX "Switching format %u to %u!", (uint32)_Format, (uint32)bufferFormat);
+ // nlwarning(NLSOUND_XAUDIO2_PREFIX "Switching format %u to %u!", (uint32)_Format, (uint32)bufferFormat);
// destroy existing voice
_SoundDriver->getXAudio2()->CommitChanges(_OperationSet);
_SoundDriver->destroySourceVoice(_SourceVoice); _SourceVoice = NULL;
diff --git a/nel/src/sound/group_controller_root.cpp b/nel/src/sound/group_controller_root.cpp
index a32f87d78..5a4ea4db5 100644
--- a/nel/src/sound/group_controller_root.cpp
+++ b/nel/src/sound/group_controller_root.cpp
@@ -7,7 +7,7 @@
*/
// NeL - MMORPG Framework
-// Copyright (C) 2012 Jan BOON (Kaetemi)
+// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/sound/sample_bank_manager.cpp b/nel/src/sound/sample_bank_manager.cpp
index 50104296f..bb4f680b7 100644
--- a/nel/src/sound/sample_bank_manager.cpp
+++ b/nel/src/sound/sample_bank_manager.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
diff --git a/nel/src/sound/stream_file_source.cpp b/nel/src/sound/stream_file_source.cpp
index a7b45b948..bd547eda4 100644
--- a/nel/src/sound/stream_file_source.cpp
+++ b/nel/src/sound/stream_file_source.cpp
@@ -9,6 +9,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2018 Winch Gate Property Limited
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/src/sound/stream_source.cpp b/nel/src/sound/stream_source.cpp
index 3e6216df2..fc8db8dd4 100644
--- a/nel/src/sound/stream_source.cpp
+++ b/nel/src/sound/stream_source.cpp
@@ -3,6 +3,7 @@
//
// This source file has been modified by the following contributors:
// Copyright (C) 2010 Matt RAYKOWSKI (sfb)
+// Copyright (C) 2019 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/web/curl_certificates.cpp b/nel/src/web/curl_certificates.cpp
index ac88792bb..fdf69604f 100644
--- a/nel/src/web/curl_certificates.cpp
+++ b/nel/src/web/curl_certificates.cpp
@@ -1,8 +1,8 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/src/web/http_client_curl.cpp b/nel/src/web/http_client_curl.cpp
index b62300089..b0ea66de3 100644
--- a/nel/src/web/http_client_curl.cpp
+++ b/nel/src/web/http_client_curl.cpp
@@ -1,5 +1,5 @@
// Ryzom - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2021 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2019 Jan BOON (Kaetemi)
diff --git a/nel/src/web/stdweb.cpp b/nel/src/web/stdweb.cpp
index c53564266..4ac8d7579 100644
--- a/nel/src/web/stdweb.cpp
+++ b/nel/src/web/stdweb.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2017 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
// Copyright (C) 2019 Jan BOON (Kaetemi)
diff --git a/nel/tools/3d/build_clodtex/main.cpp b/nel/tools/3d/build_clodtex/main.cpp
index 86387379a..5b7a89ab7 100644
--- a/nel/tools/3d/build_clodtex/main.cpp
+++ b/nel/tools/3d/build_clodtex/main.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/tools/3d/build_interface/main.cpp b/nel/tools/3d/build_interface/main.cpp
index c629e6a33..1d3c518b9 100644
--- a/nel/tools/3d/build_interface/main.cpp
+++ b/nel/tools/3d/build_interface/main.cpp
@@ -1,5 +1,8 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2019 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/ig_elevation/main.cpp b/nel/tools/3d/ig_elevation/main.cpp
index 65de8fb82..3d4d9ad6a 100644
--- a/nel/tools/3d/ig_elevation/main.cpp
+++ b/nel/tools/3d/ig_elevation/main.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2021 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/ig_info/ig_info.cpp b/nel/tools/3d/ig_info/ig_info.cpp
index 326d51ac2..f88eae972 100644
--- a/nel/tools/3d/ig_info/ig_info.cpp
+++ b/nel/tools/3d/ig_info/ig_info.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp b/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp
index 2c88f87a6..c79aec20a 100644
--- a/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp
+++ b/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/lightmap_optimizer/main.cpp b/nel/tools/3d/lightmap_optimizer/main.cpp
index 35e764cf3..84e661a0a 100644
--- a/nel/tools/3d/lightmap_optimizer/main.cpp
+++ b/nel/tools/3d/lightmap_optimizer/main.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/object_viewer/object_viewer.cfg b/nel/tools/3d/object_viewer/object_viewer.cfg
index 712731d27..f3c48f7d7 100644
--- a/nel/tools/3d/object_viewer/object_viewer.cfg
+++ b/nel/tools/3d/object_viewer/object_viewer.cfg
@@ -3,6 +3,10 @@
// your searhc pathes, (where to find textures, shapes, tiles, zones ...)
search_pathes =
{
+ "R:\graphics\stuff\generique\agents\_textures\accessories",
+ "R:\graphics\stuff\generique\agents\_textures\actors",
+ "R:\graphics\stuff\generique\decors\_textures\batiments",
+ "R:\graphics\stuff\generique\decors\_textures",
"R:\graphics\stuff\fyros\agents\_textures\actors",
"R:\graphics\stuff\tryker\agents\_textures\actors",
"R:\graphics\stuff\matis\agents\_textures\actors",
diff --git a/nel/tools/3d/object_viewer/object_viewer.cpp b/nel/tools/3d/object_viewer/object_viewer.cpp
index 0b78373a1..e431430b6 100644
--- a/nel/tools/3d/object_viewer/object_viewer.cpp
+++ b/nel/tools/3d/object_viewer/object_viewer.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2013-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2013-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp b/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp
index 33533b28a..ded81bdcd 100644
--- a/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp
+++ b/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/panoply_maker/panoply_maker.cpp b/nel/tools/3d/panoply_maker/panoply_maker.cpp
index 3819fb8ba..46081a69d 100644
--- a/nel/tools/3d/panoply_maker/panoply_maker.cpp
+++ b/nel/tools/3d/panoply_maker/panoply_maker.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2010 Jan BOON (Kaetemi)
+// Copyright (C) 2010-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.cpp b/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.cpp
index 7fc5c4e85..8fe46d672 100644
--- a/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.cpp
+++ b/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.h b/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.h
index a017ce03c..804a45b07 100644
--- a/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.h
+++ b/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.h
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/tools/3d/shape2obj/main.cpp b/nel/tools/3d/shape2obj/main.cpp
index 7d106a887..d956392bf 100644
--- a/nel/tools/3d/shape2obj/main.cpp
+++ b/nel/tools/3d/shape2obj/main.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2021 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
@@ -45,9 +48,24 @@ bool operator == (const CVertex &v1, const CVertex &v2)
bool operator < (const CVertex &v1, const CVertex &v2)
{
+ /*
+ if (v1.vertex == v2.vertex)
+ {
+ if (v1.normal == v2.normal)
+ {
+ return (v1.uv < v2.uv);
+ }
+ return (v1.normal < v1.normal);
+ }
+ */
return (v1.vertex < v2.vertex);
}
+const CIndexBuffer *getRdrPassPrimitiveBlock(const CMeshGeom *mesh, uint lodId, uint renderPass)
+{
+ return &(mesh->getRdrPassPrimitiveBlock(lodId, renderPass));
+}
+
const CIndexBuffer *getRdrPassPrimitiveBlock(const CMeshMRMGeom *mesh, uint lodId, uint renderPass)
{
return &(mesh->getRdrPassPrimitiveBlock(lodId, renderPass));
@@ -66,7 +84,7 @@ const CIndexBuffer *getRdrPassPrimitiveBlock(const CMeshMRMSkinnedGeom *mesh, ui
bool ProcessMeshMRMSkinned(const std::string &filename, IShape *shapeMesh);
bool ProcessMeshMRM(const std::string &filename, IShape *shapeMesh);
-//bool ProcessMesh(const std::string &filename, IShape *shapeMesh);
+bool ProcessMesh(const std::string &filename, IShape *shapeMesh);
int main(int argc, char* argv[])
{
@@ -110,9 +128,9 @@ int main(int argc, char* argv[])
if (ProcessMeshMRMSkinned(filename, shapeMesh)) return 0;
if (ProcessMeshMRM(filename, shapeMesh)) return 0;
-// if (ProcessMesh(filename, shapeMesh)) return 0;
+ if (ProcessMesh(filename, shapeMesh)) return 0;
- return 0;
+ return 1;
}
bool ProcessMeshMRMSkinned(const std::string &filename, IShape *shapeMesh)
@@ -256,7 +274,7 @@ bool ProcessMeshMRMSkinned(const std::string &filename, IShape *shapeMesh)
ofs << "v " << v.x << " " << v.y << " " << v.z << endl;
ofs << "vn " << vn.x << " " << vn.y << " " << vn.z << endl;
- ofs << "vt " << vt.U << " " << vt.V << endl;
+ ofs << "vt " << vt.U << " " << (1.0f - vt.V) << endl;
}
// **** Get All Faces
@@ -457,7 +475,7 @@ bool ProcessMeshMRM(const std::string &filename, IShape *shapeMesh)
ofs << "v " << v.x << " " << v.y << " " << v.z << endl;
ofs << "vn " << vn.x << " " << vn.y << " " << vn.z << endl;
- ofs << "vt " << vt.U << " " << vt.V << endl;
+ ofs << "vt " << vt.U << " " << (1.0f - vt.V) << endl;
}
// **** Get All Faces
@@ -519,9 +537,6 @@ bool ProcessMeshMRM(const std::string &filename, IShape *shapeMesh)
return true;
}
-/*
-
-TODO: implement this
bool ProcessMesh(const std::string &filename, IShape *shapeMesh)
{
@@ -531,85 +546,110 @@ bool ProcessMesh(const std::string &filename, IShape *shapeMesh)
COFile ofile;
- CMeshGeom* meshIn = (CMeshGeom*)&mesh->getMeshGeom();
+ const CMeshGeom *meshIn = &mesh->getMeshGeom();
CVertexBuffer vertexBuffer = meshIn->getVertexBuffer();
-// CVertexBufferRead vba;
-// vertexBuffer.lock (vba);
-
- uint i = vertexBuffer.getNumVertices();
-
- std::vector vertices;
- meshIn->retrieveVertices(vertices);
+ CVertexBufferRead vba;
+ vertexBuffer.lock (vba);
+ uint i, j;
- std::vector indices;
- meshIn->retrieveTriangles(indices);
+ // **** First, for the best lod indicate what vertex is used or not. Also index geomorphs to know what real vertex is used
+ vector vertexUsed;
+ // -1 means "not used"
+ vertexUsed.resize(vertexBuffer.capacity(), -1);
+ // Parse all triangles.
+ for(i=0;igetNbRdrPass(0); ++i)
+ {
+ const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, 0, i);
+ CIndexBufferRead iba;
+ pb->lock (iba);
+ if (iba.getFormat() == CIndexBuffer::Indices32)
+ {
+ const uint32 *triPtr= (const uint32 *) iba.getPtr();
+ for(j=0;jgetNumIndexes(); ++j)
+ {
+ uint idx= *triPtr;
+ // Flag the vertex with its own index => used.
+ vertexUsed[idx]= idx;
+ triPtr++;
+ }
+ }
+ else
+ {
+ const uint16 *triPtr= (const uint16 *) iba.getPtr();
+ for(j=0;jgetNumIndexes(); ++j)
+ {
+ uint idx= *triPtr;
+ // Flag the vertex with its own index => used.
+ vertexUsed[idx]= idx;
+ triPtr++;
+ }
+ }
+ }
// **** For all vertices used (not geomorphs), compute vertex Skins.
vector shadowVertices;
vector vertexToVSkin;
- vertexToVSkin.resize(indices.size());
- shadowVertices.reserve(indices.size());
- // use a map to remove duplicates (because of UV/normal discontinuities before!!)
- map shadowVertexMap;
- uint numMerged= 0;
- // Skip Geomorphs.
- for(i=0;imaxW)
- {
- matId= sw.MatrixId[j];
- maxW= sw.Weights[j];
- }
- }
+ // Build the vertex
+ CVertex shadowVert;
+ CUV uv;
+ shadowVert.vertex = *(CVector*)vba.getVertexCoordPointer(i);
+ shadowVert.normal = *(CVector*)vba.getNormalCoordPointer(i);
+ shadowVert.uv = *(CUV*)vba.getTexCoordPointer(i);
- // If dont find the shadowVertex in the map.
- map::iterator it= shadowVertexMap.find(shadowVert);
- if(it==shadowVertexMap.end())
- {
// Append
uint index= shadowVertices.size();
vertexToVSkin[i]= index;
shadowVertices.push_back(shadowVert);
- shadowVertexMap.insert(make_pair(shadowVert, index));
+ }
+ }
+
+ ofstream ofs(string(filename + ".obj").c_str());
+
+ map weldedVerticesToId;
+ vector weldedVertices;
+ vector shadowToWelded;
+ weldedVertices.reserve(shadowVertices.size());
+ shadowToWelded.resize(shadowVertices.size());
+
+ for (i = 0; i < shadowVertices.size(); ++i)
+ {
+ CVector v = shadowVertices[i].vertex;
+ map::iterator it = weldedVerticesToId.find(v);
+ if (it == weldedVerticesToId.end())
+ {
+ weldedVerticesToId[v] = weldedVertices.size();
+ shadowToWelded[i] = weldedVertices.size();
+ weldedVertices.push_back(v);
}
else
{
- // Ok, map.
- vertexToVSkin[i]= it->second;
- numMerged++;
+ shadowToWelded[i] = it->second;
}
}
- ofstream ofs(string(filename + ".obj").c_str());
+ for(size_t y = 0; y < weldedVertices.size(); ++y)
+ {
+ CVector v = weldedVertices[y];
+ ofs << "v " << v.x << " " << v.y << " " << v.z << endl;
+ }
for(size_t y = 0; y < shadowVertices.size(); ++y)
{
- CVector v = shadowVertices[y].vertex;
CVector vn = shadowVertices[y].normal;
CUV vt = shadowVertices[y].uv;
-
- ofs << "v " << v.x << " " << v.y << " " << v.z << endl;
ofs << "vn " << vn.x << " " << vn.y << " " << vn.z << endl;
- ofs << "vt " << vt.U << " " << vt.V << endl;
+ ofs << "vt " << vt.U << " " << (1.0f - vt.V) << endl;
}
// **** Get All Faces
@@ -617,11 +657,11 @@ bool ProcessMesh(const std::string &filename, IShape *shapeMesh)
vector shadowTriangles;
shadowTriangles.reserve(1000);
// Parse all input tri of the mesh.
- for(i=0; igetNbRdrPass(lodId); ++i)
+ for(i=0; igetNbRdrPass(0); ++i)
{
- ofs << "g pass" << i << endl;
+ ofs << "g " << filename << endl;
- const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, lodId, i);
+ const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, 0, i);
CIndexBufferRead iba;
pb->lock (iba);
if (iba.getFormat() == CIndexBuffer::Indices32)
@@ -658,9 +698,9 @@ bool ProcessMesh(const std::string &filename, IShape *shapeMesh)
for(size_t pass = 0; pass
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/textures_optimizer/main.cpp b/nel/tools/3d/textures_optimizer/main.cpp
index 890a0c8d8..3c3292e45 100644
--- a/nel/tools/3d/textures_optimizer/main.cpp
+++ b/nel/tools/3d/textures_optimizer/main.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/tools/3d/tga_2_dds/tga2dds.cpp b/nel/tools/3d/tga_2_dds/tga2dds.cpp
index 60de2a073..48c10452f 100644
--- a/nel/tools/3d/tga_2_dds/tga2dds.cpp
+++ b/nel/tools/3d/tga_2_dds/tga2dds.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2010-2015 Jan BOON (Kaetemi)
+// Copyright (C) 2010-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/zone_dependencies/zone_dependencies.cpp b/nel/tools/3d/zone_dependencies/zone_dependencies.cpp
index b8b0c1c9e..b4d99c3a6 100644
--- a/nel/tools/3d/zone_dependencies/zone_dependencies.cpp
+++ b/nel/tools/3d/zone_dependencies/zone_dependencies.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/zone_elevation/zone_elevation.cpp b/nel/tools/3d/zone_elevation/zone_elevation.cpp
index fe583a87d..ce6415c01 100644
--- a/nel/tools/3d/zone_elevation/zone_elevation.cpp
+++ b/nel/tools/3d/zone_elevation/zone_elevation.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2021 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/zone_ig_lighter/zone_ig_lighter.cpp b/nel/tools/3d/zone_ig_lighter/zone_ig_lighter.cpp
index d09267002..7f1f74c4f 100644
--- a/nel/tools/3d/zone_ig_lighter/zone_ig_lighter.cpp
+++ b/nel/tools/3d/zone_ig_lighter/zone_ig_lighter.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/3d/zone_lighter/zone_lighter.cpp b/nel/tools/3d/zone_lighter/zone_lighter.cpp
index 35127abbe..20a8ddc0e 100644
--- a/nel/tools/3d/zone_lighter/zone_lighter.cpp
+++ b/nel/tools/3d/zone_lighter/zone_lighter.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/build_gamedata/0_setup.py b/nel/tools/build_gamedata/0_setup.py
index de868d8eb..cd1a4dace 100755
--- a/nel/tools/build_gamedata/0_setup.py
+++ b/nel/tools/build_gamedata/0_setup.py
@@ -30,6 +30,7 @@ sys.path.append("configuration")
parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Setup')
parser.add_argument('--noconf', '-nc', action='store_true')
parser.add_argument('--noverify', '-nv', action='store_true')
+parser.add_argument('--preset', '-p', action='store_true')
# parser.add_argument('--haltonerror', '-eh', action='store_true')
parser.add_argument('--includeproject', '-ipj', nargs='+')
parser.add_argument('--excludeproject', '-epj', nargs='+')
@@ -64,127 +65,158 @@ if not args.noconf:
except NameError:
BuildQuality = 1
try:
- ToolDirectories
+ if not args.preset:
+ ToolDirectories
except NameError:
- ToolDirectories = [ 'R:/build/dev/bin/Release', 'R:/external/bin' ]
+ ToolDirectories = [ 'R:/distribution/nel_tools_win_x64-distribution', 'R:/distribution/ryzom_tools_win_x64-distribution' ]
try:
ToolSuffix
except NameError:
ToolSuffix = ".exe"
try:
- ScriptDirectory
+ if not args.preset:
+ ScriptDirectory
except NameError:
ScriptDirectory = "R:/code/nel/tools/build_gamedata"
try:
- WorkspaceDirectory
+ if not args.preset:
+ WorkspaceDirectory
except NameError:
WorkspaceDirectory = "R:/leveldesign/workspace"
try:
- DatabaseDirectory
+ if not args.preset:
+ DatabaseDirectory
except NameError:
DatabaseDirectory = "R:/graphics"
try:
- SoundDirectory
+ if not args.preset:
+ SoundDirectory
except NameError:
SoundDirectory = "R:/sound"
try:
- SoundDfnDirectory
+ if not args.preset:
+ SoundDfnDirectory
except NameError:
SoundDfnDirectory = "R:/sound/DFN"
try:
- ExportBuildDirectory
+ if not args.preset:
+ ExportBuildDirectory
except NameError:
ExportBuildDirectory = "R:/pipeline/export"
try:
- InstallDirectory
+ if not args.preset:
+ InstallDirectory
except NameError:
InstallDirectory = "R:/pipeline/install"
try:
- ClientDevDirectory
+ if not args.preset:
+ ClientDevDirectory
except NameError:
ClientDevDirectory = "R:/pipeline/client_dev"
try:
- ClientPatchDirectory
+ if not args.preset:
+ ClientPatchDirectory
except NameError:
ClientPatchDirectory = "R:/pipeline/client_patch"
try:
- ClientInstallDirectory
+ if not args.preset:
+ ClientInstallDirectory
except NameError:
ClientInstallDirectory = "R:/pipeline/client_install"
try:
- ShardInstallDirectory
+ if not args.preset:
+ ShardInstallDirectory
except NameError:
ShardInstallDirectory = "R:/pipeline/shard"
try:
- WorldEditInstallDirectory
+ if not args.preset:
+ WorldEditInstallDirectory
except NameError:
WorldEditInstallDirectory = "R:/pipeline/worldedit"
try:
- LeveldesignDirectory
+ if not args.preset:
+ WorldEditorFilesDirectory
+ except NameError:
+ WorldEditorFilesDirectory = "R:/code/ryzom/common/data_leveldesign/leveldesign/world_editor_files"
+ try:
+ if not args.preset:
+ LeveldesignDirectory
except NameError:
LeveldesignDirectory = "R:/leveldesign"
try:
- LeveldesignDfnDirectory
+ if not args.preset:
+ LeveldesignDfnDirectory
except NameError:
LeveldesignDfnDirectory = "R:/leveldesign/DFN"
try:
- LeveldesignWorldDirectory
+ if not args.preset:
+ LeveldesignWorldDirectory
except NameError:
LeveldesignWorldDirectory = "R:/leveldesign/world"
try:
- PrimitivesDirectory
+ if not args.preset:
+ PrimitivesDirectory
except NameError:
PrimitivesDirectory = "R:/leveldesign/primitives"
try:
- GamedevDirectory
+ if not args.preset:
+ LeveldesignDataCommonDirectory
except NameError:
- GamedevDirectory = "R:/code/ryzom/client/data/gamedev"
- try:
- DataShardDirectory
- except NameError:
- DataShardDirectory = "R:/code/ryzom/server/data_shard"
+ LeveldesignDataCommonDirectory = "R:/leveldesign/common"
try:
- DataCommonDirectory
+ if not args.preset:
+ LeveldesignDataShardDirectory
except NameError:
- DataCommonDirectory = "R:/code/ryzom/common/data_common"
+ LeveldesignDataShardDirectory = "R:/leveldesign/shard"
try:
- LeveldesignDataShardDirectory
+ if not args.preset:
+ TranslationDirectory
except NameError:
- LeveldesignDataShardDirectory = "R:/leveldesign/shard"
+ TranslationDirectory = "R:/leveldesign/translation"
try:
- LeveldesignDataCommonDirectory
+ if not args.preset:
+ GamedevDirectory
except NameError:
- LeveldesignDataCommonDirectory = "R:/leveldesign/common"
+ GamedevDirectory = "R:/code/ryzom/client/data/gamedev"
try:
- TranslationDirectory
+ if not args.preset:
+ DataCommonDirectory
except NameError:
- TranslationDirectory = "R:/leveldesign/translation"
+ DataCommonDirectory = "R:/code/ryzom/common/data_common"
try:
- WorldEditorFilesDirectory
+ if not args.preset:
+ DataShardDirectory
except NameError:
- WorldEditorFilesDirectory = "R:/code/ryzom/common/data_leveldesign/leveldesign/world_editor_files"
+ DataShardDirectory = "R:/code/ryzom/server/data_shard"
try:
- WindowsExeDllCfgDirectories
+ if not args.preset:
+ WindowsExeDllCfgDirectories
except NameError:
- WindowsExeDllCfgDirectories = [ 'C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86', 'R:/external/bin', 'R:/build/dev/bin/Release', 'R:/code/ryzom/client', 'R:/code/nel/lib', 'R:/code/ryzom/bin', 'R:/code/ryzom/tools/client/client_config/bin' ]
+ # TODO: Separate 64bit and 32bit
+ WindowsExeDllCfgDirectories = [ '', 'R:/build/fv_x64/bin/Release', 'R:/distribution/external_x64', 'R:/code/ryzom/client', '', '', '' ]
try:
- LinuxServiceExecutableDirectory
+ if not args.preset:
+ LinuxServiceExecutableDirectory
except NameError:
LinuxServiceExecutableDirectory = "R:/build/gcc_server/bin"
try:
- LinuxClientExecutableDirectory
+ if not args.preset:
+ LinuxClientExecutableDirectory
except NameError:
LinuxClientExecutableDirectory = "R:/build/gcc_client/bin"
try:
- PatchmanCfgAdminDirectory
+ if not args.preset:
+ PatchmanCfgAdminDirectory
except NameError:
PatchmanCfgAdminDirectory = "R:/patchman/admin_install"
try:
- PatchmanCfgDefaultDirectory
+ if not args.preset:
+ PatchmanCfgDefaultDirectory
except NameError:
PatchmanCfgDefaultDirectory = "R:/patchman/default"
try:
- PatchmanBridgeServerDirectory
+ if not args.preset:
+ PatchmanBridgeServerDirectory
except NameError:
PatchmanBridgeServerDirectory = "R:/pipeline/bridge_server"
try:
@@ -232,44 +264,45 @@ if not args.noconf:
printLog(log, "Use -- if you need to insert an empty value.")
printLog(log, "")
BuildQuality = int(askVar(log, "Build Quality", str(BuildQuality)))
- ToolDirectories[0] = askVar(log, "[IN] Primary Tool Directory", ToolDirectories[0]).replace("\\", "/")
- ToolDirectories[1] = askVar(log, "[IN] Secondary Tool Directory", ToolDirectories[1]).replace("\\", "/")
- ToolSuffix = askVar(log, "Tool Suffix", ToolSuffix)
- ScriptDirectory = askVar(log, "[IN] Script Directory", os.getcwd().replace("\\", "/")).replace("\\", "/")
- WorkspaceDirectory = askVar(log, "[IN] Workspace Directory", WorkspaceDirectory).replace("\\", "/")
- DatabaseDirectory = askVar(log, "[IN] Database Directory", DatabaseDirectory).replace("\\", "/")
- SoundDirectory = askVar(log, "[IN] Sound Directory", SoundDirectory).replace("\\", "/")
- SoundDfnDirectory = askVar(log, "[IN] Sound DFN Directory", SoundDfnDirectory).replace("\\", "/")
- ExportBuildDirectory = askVar(log, "[OUT] Export Build Directory", ExportBuildDirectory).replace("\\", "/")
- InstallDirectory = askVar(log, "[OUT] Install Directory", InstallDirectory).replace("\\", "/")
- ClientDevDirectory = askVar(log, "[OUT] Client Dev Directory", ClientDevDirectory).replace("\\", "/")
- ClientPatchDirectory = askVar(log, "[OUT] Client Patch Directory", ClientPatchDirectory).replace("\\", "/")
- ClientInstallDirectory = askVar(log, "[OUT] Client Install Directory", ClientInstallDirectory).replace("\\", "/")
- ShardInstallDirectory = askVar(log, "[OUT] Shard Data Install Directory", ShardInstallDirectory).replace("\\", "/")
- WorldEditInstallDirectory = askVar(log, "[OUT] World Edit Data Install Directory", WorldEditInstallDirectory).replace("\\", "/")
- LeveldesignDirectory = askVar(log, "[IN] Leveldesign Directory", LeveldesignDirectory).replace("\\", "/")
- LeveldesignDfnDirectory = askVar(log, "[IN] Leveldesign DFN Directory", LeveldesignDfnDirectory).replace("\\", "/")
- LeveldesignWorldDirectory = askVar(log, "[IN] Leveldesign World Directory", LeveldesignWorldDirectory).replace("\\", "/")
- PrimitivesDirectory = askVar(log, "[IN] Primitives Directory", PrimitivesDirectory).replace("\\", "/")
- GamedevDirectory = askVar(log, "[IN] Gamedev Directory", GamedevDirectory).replace("\\", "/")
- DataShardDirectory = askVar(log, "[IN] Data Shard Directory", DataShardDirectory).replace("\\", "/")
- DataCommonDirectory = askVar(log, "[IN] Data Common Directory", DataCommonDirectory).replace("\\", "/")
- TranslationDirectory = askVar(log, "[IN] Translation Directory", TranslationDirectory).replace("\\", "/")
- LeveldesignDataShardDirectory = askVar(log, "[IN] Leveldesign Data Shard Directory", LeveldesignDataShardDirectory).replace("\\", "/")
- LeveldesignDataCommonDirectory = askVar(log, "[IN] Leveldesign Data Common Directory", LeveldesignDataCommonDirectory).replace("\\", "/")
- WorldEditorFilesDirectory = askVar(log, "[IN] World Editor Files Directory", WorldEditorFilesDirectory).replace("\\", "/")
- WindowsExeDllCfgDirectories[0] = askVar(log, "[IN] Primary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[0]).replace("\\", "/")
- WindowsExeDllCfgDirectories[1] = askVar(log, "[IN] Secondary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[1]).replace("\\", "/")
- WindowsExeDllCfgDirectories[2] = askVar(log, "[IN] Tertiary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[2]).replace("\\", "/")
- WindowsExeDllCfgDirectories[3] = askVar(log, "[IN] Quaternary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[3]).replace("\\", "/")
- WindowsExeDllCfgDirectories[4] = askVar(log, "[IN] Quinary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[4]).replace("\\", "/")
- WindowsExeDllCfgDirectories[5] = askVar(log, "[IN] Senary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[5]).replace("\\", "/")
- WindowsExeDllCfgDirectories[6] = askVar(log, "[IN] Septenary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[6]).replace("\\", "/")
- LinuxServiceExecutableDirectory = askVar(log, "[IN] Linux Service Executable Directory", LinuxServiceExecutableDirectory).replace("\\", "/")
- LinuxClientExecutableDirectory = askVar(log, "[IN] Linux Client Executable Directory", LinuxClientExecutableDirectory).replace("\\", "/")
- PatchmanCfgAdminDirectory = askVar(log, "[IN] Patchman Cfg Admin Directory", PatchmanCfgAdminDirectory).replace("\\", "/")
- PatchmanCfgDefaultDirectory = askVar(log, "[IN] Patchman Cfg Default Directory", PatchmanCfgDefaultDirectory).replace("\\", "/")
- PatchmanBridgeServerDirectory = askVar(log, "[OUT] Patchman Bridge Server Patch Directory", PatchmanBridgeServerDirectory).replace("\\", "/")
+ if not args.preset:
+ ToolDirectories[0] = askVar(log, "[IN] Primary Tool Directory", ToolDirectories[0]).replace("\\", "/")
+ ToolDirectories[1] = askVar(log, "[IN] Secondary Tool Directory", ToolDirectories[1]).replace("\\", "/")
+ ToolSuffix = askVar(log, "Tool Suffix", ToolSuffix)
+ ScriptDirectory = askVar(log, "[IN] Script Directory", os.getcwd().replace("\\", "/")).replace("\\", "/")
+ WorkspaceDirectory = askVar(log, "[IN] Workspace Directory", WorkspaceDirectory).replace("\\", "/")
+ DatabaseDirectory = askVar(log, "[IN] Database Directory", DatabaseDirectory).replace("\\", "/")
+ SoundDirectory = askVar(log, "[IN] Sound Directory", SoundDirectory).replace("\\", "/")
+ SoundDfnDirectory = askVar(log, "[IN] Sound DFN Directory", SoundDfnDirectory).replace("\\", "/")
+ ExportBuildDirectory = askVar(log, "[OUT] Export Build Directory", ExportBuildDirectory).replace("\\", "/")
+ InstallDirectory = askVar(log, "[OUT] Install Directory", InstallDirectory).replace("\\", "/")
+ ClientDevDirectory = askVar(log, "[OUT] Client Dev Directory", ClientDevDirectory).replace("\\", "/")
+ ClientPatchDirectory = askVar(log, "[OUT] Client Patch Directory", ClientPatchDirectory).replace("\\", "/")
+ ClientInstallDirectory = askVar(log, "[OUT] Client Install Directory", ClientInstallDirectory).replace("\\", "/")
+ ShardInstallDirectory = askVar(log, "[OUT] Shard Data Install Directory", ShardInstallDirectory).replace("\\", "/")
+ WorldEditInstallDirectory = askVar(log, "[OUT] World Edit Data Install Directory", WorldEditInstallDirectory).replace("\\", "/")
+ LeveldesignDirectory = askVar(log, "[IN] Leveldesign Directory", LeveldesignDirectory).replace("\\", "/")
+ LeveldesignDfnDirectory = askVar(log, "[IN] Leveldesign DFN Directory", LeveldesignDfnDirectory).replace("\\", "/")
+ LeveldesignWorldDirectory = askVar(log, "[IN] Leveldesign World Directory", LeveldesignWorldDirectory).replace("\\", "/")
+ PrimitivesDirectory = askVar(log, "[IN] Primitives Directory", PrimitivesDirectory).replace("\\", "/")
+ GamedevDirectory = askVar(log, "[IN] Gamedev Directory", GamedevDirectory).replace("\\", "/")
+ DataShardDirectory = askVar(log, "[IN] Data Shard Directory", DataShardDirectory).replace("\\", "/")
+ DataCommonDirectory = askVar(log, "[IN] Data Common Directory", DataCommonDirectory).replace("\\", "/")
+ TranslationDirectory = askVar(log, "[IN] Translation Directory", TranslationDirectory).replace("\\", "/")
+ LeveldesignDataShardDirectory = askVar(log, "[IN] Leveldesign Data Shard Directory", LeveldesignDataShardDirectory).replace("\\", "/")
+ LeveldesignDataCommonDirectory = askVar(log, "[IN] Leveldesign Data Common Directory", LeveldesignDataCommonDirectory).replace("\\", "/")
+ WorldEditorFilesDirectory = askVar(log, "[IN] World Editor Files Directory", WorldEditorFilesDirectory).replace("\\", "/")
+ WindowsExeDllCfgDirectories[0] = askVar(log, "[IN] Primary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[0]).replace("\\", "/")
+ WindowsExeDllCfgDirectories[1] = askVar(log, "[IN] Secondary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[1]).replace("\\", "/")
+ WindowsExeDllCfgDirectories[2] = askVar(log, "[IN] Tertiary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[2]).replace("\\", "/")
+ WindowsExeDllCfgDirectories[3] = askVar(log, "[IN] Quaternary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[3]).replace("\\", "/")
+ WindowsExeDllCfgDirectories[4] = askVar(log, "[IN] Quinary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[4]).replace("\\", "/")
+ WindowsExeDllCfgDirectories[5] = askVar(log, "[IN] Senary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[5]).replace("\\", "/")
+ WindowsExeDllCfgDirectories[6] = askVar(log, "[IN] Septenary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[6]).replace("\\", "/")
+ LinuxServiceExecutableDirectory = askVar(log, "[IN] Linux Service Executable Directory", LinuxServiceExecutableDirectory).replace("\\", "/")
+ LinuxClientExecutableDirectory = askVar(log, "[IN] Linux Client Executable Directory", LinuxClientExecutableDirectory).replace("\\", "/")
+ PatchmanCfgAdminDirectory = askVar(log, "[IN] Patchman Cfg Admin Directory", PatchmanCfgAdminDirectory).replace("\\", "/")
+ PatchmanCfgDefaultDirectory = askVar(log, "[IN] Patchman Cfg Default Directory", PatchmanCfgDefaultDirectory).replace("\\", "/")
+ PatchmanBridgeServerDirectory = askVar(log, "[OUT] Patchman Bridge Server Patch Directory", PatchmanBridgeServerDirectory).replace("\\", "/")
SignToolExecutable = askVar(log, "Sign Tool Executable", SignToolExecutable).replace("\\", "/")
SignToolSha1 = askVar(log, "Sign Tool Signature SHA1", SignToolSha1)
SignToolTimestamp = askVar(log, "Sign Tool Timestamp Authority", SignToolTimestamp)
diff --git a/nel/tools/build_gamedata/b1_client_dev.py b/nel/tools/build_gamedata/b1_client_dev.py
index a23ee693c..3e9a5d488 100755
--- a/nel/tools/build_gamedata/b1_client_dev.py
+++ b/nel/tools/build_gamedata/b1_client_dev.py
@@ -50,8 +50,9 @@ if not os.path.isfile(ClientDevDirectory + "/client.cfg"):
cfg = open(ClientDevDirectory + "/client.cfg", "w")
cfg.write("RootConfigFilename = \"client_default.cfg\";\n")
cfg.write("PreDataPath = {\n")
- cfg.write("\t\"" + InstallDirectory + "\", \"user\", \"patch\", \"data\", \"examples\" \n")
+ cfg.write("\t\"user\", \"patch\", \"" + DataCommonDirectory + "\", \"" + GamedevDirectory + "\", \"" + LeveldesignDirectory + "/translation/translated\", \"" + InstallDirectory + "\", \"data\", \"examples\" \n")
cfg.write("};\n")
+ cfg.write("PreLoadPath = \"" + InstallDirectory + "\";\n")
cfg.write("PatchWanted = 0;\n")
cfg.write("DisplayLuaDebugInfo = 1;\n")
cfg.write("AllowDebugLua = 1;\n")
diff --git a/nel/tools/build_gamedata/processes/ig/2_build.py b/nel/tools/build_gamedata/processes/ig/2_build.py
index 2d461de99..d5e989bfc 100755
--- a/nel/tools/build_gamedata/processes/ig/2_build.py
+++ b/nel/tools/build_gamedata/processes/ig/2_build.py
@@ -265,7 +265,8 @@ printLog(log, ">>> Merge other IGs <<<") # (not true merge, since not necesserar
mkPath(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory)
mkPath(log, ExportBuildDirectory + "/" + LigoIgOtherBuildDirectory)
mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
-copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory, ExportBuildDirectory + "/" + IgOtherBuildDirectory, ".ig")
+# copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + IgStaticOtherExportDirectory, ExportBuildDirectory + "/" + IgOtherBuildDirectory, ".ig")
+igElevation(ExportBuildDirectory + "/" + IgStaticOtherExportDirectory, ExportBuildDirectory + "/" + IgOtherBuildDirectory)
copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + LigoIgOtherBuildDirectory, ExportBuildDirectory + "/" + IgOtherBuildDirectory, ".ig")
log.close()
diff --git a/nel/tools/georges/georges2csv/georges2csv.cpp b/nel/tools/georges/georges2csv/georges2csv.cpp
index 0105aa1ad..d201229da 100644
--- a/nel/tools/georges/georges2csv/georges2csv.cpp
+++ b/nel/tools/georges/georges2csv/georges2csv.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/ligo/unbuild_flora/unbuild_flora.cpp b/nel/tools/ligo/unbuild_flora/unbuild_flora.cpp
index 3c6612a10..83e25eb69 100644
--- a/nel/tools/ligo/unbuild_flora/unbuild_flora.cpp
+++ b/nel/tools/ligo/unbuild_flora/unbuild_flora.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/ligo/unbuild_land/unbuild_land.cpp b/nel/tools/ligo/unbuild_land/unbuild_land.cpp
index a9f5dcd54..534f01a12 100644
--- a/nel/tools/ligo/unbuild_land/unbuild_land.cpp
+++ b/nel/tools/ligo/unbuild_land/unbuild_land.cpp
@@ -1,5 +1,5 @@
// NeL - MMORPG Framework
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/misc/bnp_make/main.cpp b/nel/tools/misc/bnp_make/main.cpp
index 0bda1770e..823962f59 100644
--- a/nel/tools/misc/bnp_make/main.cpp
+++ b/nel/tools/misc/bnp_make/main.cpp
@@ -1,5 +1,8 @@
// NeL - MMORPG Framework
-// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2010-2020 Winch Gate Property Limited
+//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/misc/data_mirror/data_mirror.cpp b/nel/tools/misc/data_mirror/data_mirror.cpp
index f4d54a1dc..6ae79994e 100644
--- a/nel/tools/misc/data_mirror/data_mirror.cpp
+++ b/nel/tools/misc/data_mirror/data_mirror.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/misc/data_mirror/data_mirrorDlg.cpp b/nel/tools/misc/data_mirror/data_mirrorDlg.cpp
index 9fdaf7061..0f5e33041 100644
--- a/nel/tools/misc/data_mirror/data_mirrorDlg.cpp
+++ b/nel/tools/misc/data_mirror/data_mirrorDlg.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2019 Jan BOON (Kaetemi)
+// Copyright (C) 2019-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/misc/extract_filename/extract_filename.cpp b/nel/tools/misc/extract_filename/extract_filename.cpp
index e22fd8243..3dbf05b8d 100644
--- a/nel/tools/misc/extract_filename/extract_filename.cpp
+++ b/nel/tools/misc/extract_filename/extract_filename.cpp
@@ -1,6 +1,9 @@
// NeL - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
+// This source file has been modified by the following contributors:
+// Copyright (C) 2020 Jan BOON (Kaetemi)
+//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
diff --git a/nel/tools/misc/make_sheet_id/make_sheet_id.cpp b/nel/tools/misc/make_sheet_id/make_sheet_id.cpp
index db024ba38..3bf7db43c 100644
--- a/nel/tools/misc/make_sheet_id/make_sheet_id.cpp
+++ b/nel/tools/misc/make_sheet_id/make_sheet_id.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2012-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2012-2020 Jan BOON (Kaetemi)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
diff --git a/nel/tools/misc/snp_make/main.cpp b/nel/tools/misc/snp_make/main.cpp
index d98992181..3cadfec6e 100644
--- a/nel/tools/misc/snp_make/main.cpp
+++ b/nel/tools/misc/snp_make/main.cpp
@@ -2,7 +2,7 @@
// Copyright (C) 2010 Winch Gate Property Limited
//
// This source file has been modified by the following contributors:
-// Copyright (C) 2014-2019 Jan BOON (Kaetemi)
+// Copyright (C) 2014-2020 Jan BOON (Kaetemi)