From 2a003a27b1045e4ed3f5d6bb4977b2d174a5c36c Mon Sep 17 00:00:00 2001 From: AbigailBuccaneer Date: Thu, 19 Apr 2018 20:29:06 +0100 Subject: [PATCH 01/20] Use C++11 threads, mutexes and condition variables --- src/CMakeLists.txt | 4 - src/app/app.cpp | 10 +- src/common/event.cpp | 19 +-- src/common/event.h | 5 +- src/common/thread/resource_owning_thread.h | 133 --------------------- src/common/thread/sdl_cond_wrapper.h | 62 ---------- src/common/thread/sdl_mutex_wrapper.h | 60 ---------- src/common/thread/thread.h | 77 ------------ src/common/thread/worker_thread.h | 49 ++++---- src/graphics/engine/engine.cpp | 6 +- src/sound/oalsound/alsound.cpp | 3 +- 11 files changed, 33 insertions(+), 395 deletions(-) delete mode 100644 src/common/thread/resource_owning_thread.h delete mode 100644 src/common/thread/sdl_cond_wrapper.h delete mode 100644 src/common/thread/sdl_mutex_wrapper.h delete mode 100644 src/common/thread/thread.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e0857506..271aa75b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -150,10 +150,6 @@ set(BASE_SOURCES common/singleton.h common/stringutils.cpp common/stringutils.h - common/thread/resource_owning_thread.h - common/thread/sdl_cond_wrapper.h - common/thread/sdl_mutex_wrapper.h - common/thread/thread.h common/thread/worker_thread.h graphics/core/color.cpp graphics/core/color.h diff --git a/src/app/app.cpp b/src/app/app.cpp index ef929e43..4ef861f6 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -36,8 +36,6 @@ #include "common/system/system.h" -#include "common/thread/thread.h" - #include "graphics/core/nulldevice.h" #include "graphics/opengl/glutil.h" @@ -60,6 +58,7 @@ #include #include #include +#include char CApplication::m_languageLocale[] = { 0 }; @@ -671,8 +670,7 @@ bool CApplication::Create() // Create the robot application. m_controller = MakeUnique(); - CThread musicLoadThread([this]() - { + std::thread{[this]() { GetLogger()->Debug("Cache sounds...\n"); SystemTimeStamp* musicLoadStart = m_systemUtils->CreateTimeStamp(); m_systemUtils->GetCurrentTimeStamp(musicLoadStart); @@ -683,9 +681,7 @@ bool CApplication::Create() m_systemUtils->GetCurrentTimeStamp(musicLoadEnd); float musicLoadTime = m_systemUtils->TimeStampDiff(musicLoadStart, musicLoadEnd, STU_MSEC); GetLogger()->Debug("Sound loading took %.2f ms\n", musicLoadTime); - }, - "Sound loading thread"); - musicLoadThread.Start(); + }}.detach(); if (m_runSceneCategory == LevelCategory::Max) m_controller->StartApp(); diff --git a/src/common/event.cpp b/src/common/event.cpp index 36f2bcb5..510cee7e 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -563,8 +563,7 @@ std::string ParseEventType(EventType eventType) CEventQueue::CEventQueue() - : m_mutex{}, - m_fifo(), + : m_fifo(), m_head{0}, m_tail{0}, m_total{0} @@ -582,15 +581,13 @@ bool CEventQueue::IsEmpty() Else, adds the event to the queue and returns \c true. */ bool CEventQueue::AddEvent(Event&& event) { - bool result{}; - - SDL_LockMutex(*m_mutex); + std::lock_guard lock{m_mutex}; if (m_total >= MAX_EVENT_QUEUE) { GetLogger()->Warn("Event queue flood!\n"); - result = false; + return false; } else { @@ -601,19 +598,15 @@ bool CEventQueue::AddEvent(Event&& event) m_total++; - result = true; + return true; } - - SDL_UnlockMutex(*m_mutex); - - return result; } Event CEventQueue::GetEvent() { Event event; - SDL_LockMutex(*m_mutex); + std::lock_guard lock{m_mutex}; if (m_head == m_tail) { @@ -630,7 +623,5 @@ Event CEventQueue::GetEvent() } - SDL_UnlockMutex(*m_mutex); - return event; } diff --git a/src/common/event.h b/src/common/event.h index fe9b6448..00ad33cb 100644 --- a/src/common/event.h +++ b/src/common/event.h @@ -27,12 +27,11 @@ #include "common/key.h" #include "common/make_unique.h" -#include "common/thread/sdl_mutex_wrapper.h" - #include "math/point.h" #include "math/vector.h" #include +#include /** \enum EventType @@ -888,7 +887,7 @@ public: Event GetEvent(); protected: - CSDLMutexWrapper m_mutex; + std::mutex m_mutex; Event m_fifo[MAX_EVENT_QUEUE]; int m_head; int m_tail; diff --git a/src/common/thread/resource_owning_thread.h b/src/common/thread/resource_owning_thread.h deleted file mode 100644 index 995cf4cb..00000000 --- a/src/common/thread/resource_owning_thread.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#pragma once - -#include "common/thread/sdl_cond_wrapper.h" -#include "common/thread/sdl_mutex_wrapper.h" - -#include - -#include -#include - -/** - * \class CResourceOwningThread - * \brief Wrapper around SDL thread allowing passing of resources in safe manner - * - * This class is a workaround for passing ownership of resources in a safe - * manner to newly created threads. It takes a pointer to a function to call - * in new thread and a unique_ptr to resource which is to be passed to the new thread. - * - * This is how it works: - * - in main thread: create a new thread passing to it a special temporary context, - * - in main thread: wait for synchronization signal that the ownership was passed, - * - in new thread: acquire the resource from the context - * - in new thread: signal back to main thread that the resource was acquired, - * - in main thread: clean up temporary context and exit - * - in new thread: run the specified function with the acquired resource. - * - * It's a bit complicated, but that's the safe (thread-safe and exception-safe) - * way of doing this. - */ -template -class CResourceOwningThread -{ -public: - using ResourceUPtr = std::unique_ptr; - using ThreadFunctionPtr = void(*)(ResourceUPtr); - - CResourceOwningThread(ThreadFunctionPtr threadFunction, ResourceUPtr resource, std::string name = "") - : m_threadFunction(threadFunction), - m_resource(std::move(resource)), - m_name(name) - {} - - ~CResourceOwningThread() - { - SDL_DetachThread(m_thread); - } - - void Start() - { - CSDLMutexWrapper mutex; - CSDLCondWrapper cond; - bool condition = false; - - ThreadData data; - data.resource = std::move(m_resource); - data.threadFunction = m_threadFunction; - data.mutex = &mutex; - data.cond = &cond; - data.condition = &condition; - - SDL_LockMutex(*mutex); - - m_thread = SDL_CreateThread(Run, !m_name.empty() ? m_name.c_str() : nullptr, reinterpret_cast(&data)); - - while (!condition) - { - SDL_CondWait(*cond, *mutex); - } - - SDL_UnlockMutex(*mutex); - } - - void Join() - { - if (m_thread == nullptr) return; - SDL_WaitThread(m_thread, nullptr); - m_thread = nullptr; - } - -private: - static int Run(void* data) - { - ThreadFunctionPtr threadFunction = nullptr; - ResourceUPtr resource; - - ThreadData* threadData = reinterpret_cast(data); - SDL_LockMutex(**threadData->mutex); - - threadFunction = threadData->threadFunction; - resource = std::move(threadData->resource); - - *threadData->condition = true; - SDL_CondSignal(**threadData->cond); - SDL_UnlockMutex(**threadData->mutex); - - threadFunction(std::move(resource)); - return 0; - } - -private: - struct ThreadData - { - ResourceUPtr resource; - CSDLMutexWrapper* mutex = nullptr; - CSDLCondWrapper* cond = nullptr; - bool* condition = nullptr; - ThreadFunctionPtr threadFunction = nullptr; - }; - - ThreadFunctionPtr m_threadFunction; - ResourceUPtr m_resource; - std::string m_name; - SDL_Thread* m_thread = nullptr; -}; diff --git a/src/common/thread/sdl_cond_wrapper.h b/src/common/thread/sdl_cond_wrapper.h deleted file mode 100644 index 1be681cf..00000000 --- a/src/common/thread/sdl_cond_wrapper.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#pragma once - -#include "common/thread/sdl_mutex_wrapper.h" - -#include - -/** - * \class CSDLCondWrapper - * \brief Wrapper for safe creation/deletion of SDL_cond - */ -class CSDLCondWrapper -{ -public: - CSDLCondWrapper() - : m_cond(SDL_CreateCond()) - {} - - ~CSDLCondWrapper() - { - SDL_DestroyCond(m_cond); - } - - CSDLCondWrapper(const CSDLCondWrapper&) = delete; - CSDLCondWrapper& operator=(const CSDLCondWrapper&) = delete; - - SDL_cond* operator*() - { - return m_cond; - } - - void Signal() - { - SDL_CondSignal(m_cond); - } - - void Wait(SDL_mutex* mutex) - { - SDL_CondWait(m_cond, mutex); - } - -private: - SDL_cond* m_cond; -}; diff --git a/src/common/thread/sdl_mutex_wrapper.h b/src/common/thread/sdl_mutex_wrapper.h deleted file mode 100644 index 476ddcae..00000000 --- a/src/common/thread/sdl_mutex_wrapper.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#pragma once - -#include - -/** - * \class CSDLMutexWrapper - * \brief Wrapper for safe creation/deletion of SDL_mutex - */ -class CSDLMutexWrapper -{ -public: - CSDLMutexWrapper() - : m_mutex(SDL_CreateMutex()) - {} - - ~CSDLMutexWrapper() - { - SDL_DestroyMutex(m_mutex); - } - - CSDLMutexWrapper(const CSDLMutexWrapper&) = delete; - CSDLMutexWrapper& operator=(const CSDLMutexWrapper&) = delete; - - SDL_mutex* operator*() - { - return m_mutex; - } - - void Lock() - { - SDL_LockMutex(m_mutex); - } - - void Unlock() - { - SDL_UnlockMutex(m_mutex); - } - -private: - SDL_mutex* m_mutex; -}; diff --git a/src/common/thread/thread.h b/src/common/thread/thread.h deleted file mode 100644 index 59433ae3..00000000 --- a/src/common/thread/thread.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#pragma once - -#include "common/make_unique.h" - -#include "common/thread/resource_owning_thread.h" - -#include -#include -#include - -/** - * \class CThread - * \brief Wrapper for using SDL_thread with std::function - */ -class CThread -{ -public: - using ThreadFunctionPtr = std::function; - -private: - struct ThreadData - { - ThreadFunctionPtr func; - }; - -public: - CThread(ThreadFunctionPtr func, std::string name = "") - : m_func(std::move(func)) - , m_name(name) - {} - - void Start() - { - std::unique_ptr data = MakeUnique(); - data->func = m_func; - m_thread = MakeUnique>(Run, std::move(data), m_name); - m_thread->Start(); - } - - void Join() - { - if (!m_thread) return; - m_thread->Join(); - } - - CThread(const CThread&) = delete; - CThread& operator=(const CThread&) = delete; - -private: - static void Run(std::unique_ptr data) - { - data->func(); - } - - std::unique_ptr> m_thread; - ThreadFunctionPtr m_func; - std::string m_name; -}; diff --git a/src/common/thread/worker_thread.h b/src/common/thread/worker_thread.h index ad127556..44b6bf41 100644 --- a/src/common/thread/worker_thread.h +++ b/src/common/thread/worker_thread.h @@ -21,13 +21,12 @@ #include "common/make_unique.h" -#include "common/thread/sdl_cond_wrapper.h" -#include "common/thread/sdl_mutex_wrapper.h" -#include "common/thread/thread.h" - +#include #include -#include +#include #include +#include +#include /** * \class CWorkerThread @@ -39,27 +38,23 @@ public: using ThreadFunctionPtr = std::function; public: - CWorkerThread(std::string name = "") - : m_thread(std::bind(&CWorkerThread::Run, this), name) - { - m_thread.Start(); - } + CWorkerThread() : m_thread{&CWorkerThread::Run, this} {} ~CWorkerThread() { - m_mutex.Lock(); - m_running = false; - m_cond.Signal(); - m_mutex.Unlock(); - m_thread.Join(); + { + std::lock_guard lock{m_mutex}; + m_running = false; + m_cond.notify_one(); + } + m_thread.join(); } - void Start(ThreadFunctionPtr func) + void Start(ThreadFunctionPtr&& func) { - m_mutex.Lock(); + std::lock_guard lock{m_mutex}; m_queue.push(func); - m_cond.Signal(); - m_mutex.Unlock(); + m_cond.notify_one(); } CWorkerThread(const CWorkerThread&) = delete; @@ -68,25 +63,21 @@ public: private: void Run() { - m_mutex.Lock(); + auto lock = std::unique_lock(m_mutex); while (true) { - while (m_queue.empty() && m_running) - { - m_cond.Wait(*m_mutex); - } + m_cond.wait(lock, [&]() { return !m_running || !m_queue.empty(); }); if (!m_running) break; - ThreadFunctionPtr func = m_queue.front(); + ThreadFunctionPtr func = std::move(m_queue.front()); m_queue.pop(); func(); } - m_mutex.Unlock(); } - CThread m_thread; - CSDLMutexWrapper m_mutex; - CSDLCondWrapper m_cond; + std::thread m_thread; + std::mutex m_mutex; + std::condition_variable m_cond; bool m_running = true; std::queue m_queue; }; diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index e489b1e8..0f86e6fd 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -32,8 +32,6 @@ #include "common/system/system.h" -#include "common/thread/resource_owning_thread.h" - #include "graphics/core/device.h" #include "graphics/core/framebuffer.h" @@ -63,6 +61,7 @@ #include #include #include +#include // Graphics module namespace namespace Gfx @@ -500,8 +499,7 @@ void CEngine::WriteScreenShot(const std::string& fileName) data->fileName = fileName; - CResourceOwningThread thread(CEngine::WriteScreenShotThread, std::move(data), "WriteScreenShot thread"); - thread.Start(); + std::thread{&CEngine::WriteScreenShotThread, std::move(data)}.detach(); } void CEngine::WriteScreenShotThread(std::unique_ptr data) diff --git a/src/sound/oalsound/alsound.cpp b/src/sound/oalsound/alsound.cpp index e4d457d3..c682e8b7 100644 --- a/src/sound/oalsound/alsound.cpp +++ b/src/sound/oalsound/alsound.cpp @@ -32,8 +32,7 @@ CALSound::CALSound() m_musicVolume(1.0f), m_channelsLimit(2048), m_device{}, - m_context{}, - m_thread("Music loading thread") + m_context{} { } From 285350464fc997482e71ffeffc4c1bd63e8df755 Mon Sep 17 00:00:00 2001 From: AbigailBuccaneer Date: Thu, 19 Apr 2018 21:06:56 +0100 Subject: [PATCH 02/20] Remove platform-specific handling of times Now all platforms use std::chrono::high_resolution_clock and std::this_thread::sleep_for instead of platform-specific timestamp and sleep methods. --- src/common/system/system.cpp | 16 +++++++++++++++ src/common/system/system.h | 14 +++++--------- src/common/system/system_linux.cpp | 16 --------------- src/common/system/system_linux.h | 10 ---------- src/common/system/system_macosx.cpp | 5 ----- src/common/system/system_macosx.h | 2 -- src/common/system/system_other.cpp | 15 -------------- src/common/system/system_other.h | 15 -------------- src/common/system/system_windows.cpp | 29 ---------------------------- src/common/system/system_windows.h | 13 ------------- 10 files changed, 21 insertions(+), 114 deletions(-) diff --git a/src/common/system/system.cpp b/src/common/system/system.cpp index 01b633cc..81d12640 100644 --- a/src/common/system/system.cpp +++ b/src/common/system/system.cpp @@ -37,6 +37,7 @@ #include #include #include +#include std::unique_ptr CSystemUtils::Create() @@ -161,6 +162,16 @@ void CSystemUtils::CopyTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *src) *dst = *src; } +void CSystemUtils::GetCurrentTimeStamp(SystemTimeStamp *stamp) +{ + *stamp = std::chrono::high_resolution_clock::now(); +} + +long long CSystemUtils::TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) +{ + return std::chrono::duration_cast(*after - *before).count(); +} + float CSystemUtils::TimeStampDiff(SystemTimeStamp *before, SystemTimeStamp *after, SystemTimeUnit unit) { long long exact = TimeStampExactDiff(before, after); @@ -192,3 +203,8 @@ std::string CSystemUtils::GetSaveDir() { return std::string("saves"); } + +void CSystemUtils::Usleep(int usecs) +{ + std::this_thread::sleep_for(std::chrono::microseconds{usecs}); +} diff --git a/src/common/system/system.h b/src/common/system/system.h index aaf54954..4366d8c2 100644 --- a/src/common/system/system.h +++ b/src/common/system/system.h @@ -24,6 +24,7 @@ #pragma once +#include #include #include #include @@ -74,12 +75,7 @@ enum SystemTimeUnit STU_USEC }; -/* - * Forward declaration of time stamp struct - * SystemTimeStamp should only be used in a pointer context. - * The implementation details are hidden because of platform dependence. - */ -struct SystemTimeStamp; +using SystemTimeStamp = std::chrono::time_point; /** * \class CSystemUtils @@ -115,7 +111,7 @@ public: TEST_VIRTUAL void CopyTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *src); //! Returns a time stamp associated with current time - virtual void GetCurrentTimeStamp(SystemTimeStamp *stamp) = 0; + TEST_VIRTUAL void GetCurrentTimeStamp(SystemTimeStamp *stamp); //! Returns a difference between two timestamps in given time unit /** The difference is \a after - \a before. */ @@ -123,7 +119,7 @@ public: //! Returns the exact (in nanosecond units) difference between two timestamps /** The difference is \a after - \a before. */ - virtual long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) = 0; + virtual long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after); //! Returns the data path (containing textures, levels, helpfiles, etc) virtual std::string GetDataPath(); @@ -135,7 +131,7 @@ public: virtual std::string GetSaveDir(); //! Sleep for given amount of microseconds - virtual void Usleep(int usecs) = 0; + virtual void Usleep(int usecs); private: std::vector> m_timeStamps; diff --git a/src/common/system/system_linux.cpp b/src/common/system/system_linux.cpp index 3cd25ed2..1c40a960 100644 --- a/src/common/system/system_linux.cpp +++ b/src/common/system/system_linux.cpp @@ -83,17 +83,6 @@ SystemDialogResult CSystemUtilsLinux::SystemDialog(SystemDialogType type, const return result; } -void CSystemUtilsLinux::GetCurrentTimeStamp(SystemTimeStamp *stamp) -{ - clock_gettime(CLOCK_MONOTONIC_RAW, &stamp->clockTime); -} - -long long CSystemUtilsLinux::TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) -{ - return (after->clockTime.tv_nsec - before->clockTime.tv_nsec) + - (after->clockTime.tv_sec - before->clockTime.tv_sec) * 1000000000ll; -} - std::string CSystemUtilsLinux::GetSaveDir() { std::string savegameDir; @@ -120,8 +109,3 @@ std::string CSystemUtilsLinux::GetSaveDir() return savegameDir; } - -void CSystemUtilsLinux::Usleep(int usec) -{ - usleep(usec); -} diff --git a/src/common/system/system_linux.h b/src/common/system/system_linux.h index f1576f31..23dc197f 100644 --- a/src/common/system/system_linux.h +++ b/src/common/system/system_linux.h @@ -28,11 +28,6 @@ //@colobot-lint-exclude UndefinedFunctionRule -struct SystemTimeStamp -{ - timespec clockTime = {0, 0}; -}; - class CSystemUtilsLinux : public CSystemUtils { public: @@ -40,13 +35,8 @@ public: SystemDialogResult SystemDialog(SystemDialogType type, const std::string& title, const std::string& message) override; - void GetCurrentTimeStamp(SystemTimeStamp *stamp) override; - long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) override; - std::string GetSaveDir() override; - void Usleep(int usec) override; - private: bool m_zenityAvailable = false; }; diff --git a/src/common/system/system_macosx.cpp b/src/common/system/system_macosx.cpp index ede5b481..f41c0f29 100644 --- a/src/common/system/system_macosx.cpp +++ b/src/common/system/system_macosx.cpp @@ -107,8 +107,3 @@ std::string CSystemUtilsMacOSX::GetSaveDir() return savegameDir; } - -void CSystemUtilsMacOSX::Usleep(int usec) -{ - usleep(usec); -} diff --git a/src/common/system/system_macosx.h b/src/common/system/system_macosx.h index 5b572ec4..233a3c1d 100644 --- a/src/common/system/system_macosx.h +++ b/src/common/system/system_macosx.h @@ -36,8 +36,6 @@ public: std::string GetLangPath() override; std::string GetSaveDir() override; - void Usleep(int usec) override; - private: std::string m_ASPath; std::string m_dataPath; diff --git a/src/common/system/system_other.cpp b/src/common/system/system_other.cpp index a3311a74..91e61f84 100644 --- a/src/common/system/system_other.cpp +++ b/src/common/system/system_other.cpp @@ -28,18 +28,3 @@ SystemDialogResult CSystemUtilsOther::SystemDialog(SystemDialogType type, const { return ConsoleSystemDialog(type, title, message); } - -void CSystemUtilsOther::GetCurrentTimeStamp(SystemTimeStamp* stamp) -{ - stamp->sdlTicks = SDL_GetTicks(); -} - -long long int CSystemUtilsOther::TimeStampExactDiff(SystemTimeStamp* before, SystemTimeStamp* after) -{ - return (after->sdlTicks - before->sdlTicks) * 1000000ll; -} - -void CSystemUtilsOther::Usleep(int usec) -{ - SDL_Delay(usec / 1000); // close enough -} diff --git a/src/common/system/system_other.h b/src/common/system/system_other.h index ac80701b..ba87b842 100644 --- a/src/common/system/system_other.h +++ b/src/common/system/system_other.h @@ -30,26 +30,11 @@ //@colobot-lint-exclude UndefinedFunctionRule -struct SystemTimeStamp -{ - Uint32 sdlTicks; - - SystemTimeStamp() - { - sdlTicks = 0; - } -}; - class CSystemUtilsOther : public CSystemUtils { public: void Init() override; SystemDialogResult SystemDialog(SystemDialogType type, const std::string& title, const std::string& message) override; - - void GetCurrentTimeStamp(SystemTimeStamp *stamp) override; - long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) override; - - void Usleep(int usec) override; }; //@end-colobot-lint-exclude diff --git a/src/common/system/system_windows.cpp b/src/common/system/system_windows.cpp index f51959b4..bb32283e 100644 --- a/src/common/system/system_windows.cpp +++ b/src/common/system/system_windows.cpp @@ -26,11 +26,6 @@ void CSystemUtilsWindows::Init() { - LARGE_INTEGER freq; - QueryPerformanceFrequency(&freq); - m_counterFrequency = freq.QuadPart; - - assert(m_counterFrequency != 0); } SystemDialogResult CSystemUtilsWindows::SystemDialog(SystemDialogType type, const std::string& title, const std::string& message) @@ -76,19 +71,6 @@ SystemDialogResult CSystemUtilsWindows::SystemDialog(SystemDialogType type, cons return SDR_OK; } -void CSystemUtilsWindows::GetCurrentTimeStamp(SystemTimeStamp* stamp) -{ - LARGE_INTEGER value; - QueryPerformanceCounter(&value); - stamp->counterValue = value.QuadPart; -} - -long long int CSystemUtilsWindows::TimeStampExactDiff(SystemTimeStamp* before, SystemTimeStamp* after) -{ - float floatValue = static_cast(after->counterValue - before->counterValue) * (1e9 / static_cast(m_counterFrequency)); - return static_cast(floatValue); -} - //! Converts a wide Unicode string to an UTF8 string std::string CSystemUtilsWindows::UTF8_Encode(const std::wstring& wstr) { @@ -125,14 +107,3 @@ std::string CSystemUtilsWindows::GetSaveDir() return savegameDir; } - -void CSystemUtilsWindows::Usleep(int usec) -{ - LARGE_INTEGER ft; - ft.QuadPart = -(10 * usec); // Convert to 100 nanosecond interval, negative value indicates relative time - - HANDLE timer = CreateWaitableTimer(nullptr, TRUE, nullptr); - SetWaitableTimer(timer, &ft, 0, nullptr, nullptr, 0); - WaitForSingleObject(timer, INFINITE); - CloseHandle(timer); -} diff --git a/src/common/system/system_windows.h b/src/common/system/system_windows.h index 74f02455..3d437a7c 100644 --- a/src/common/system/system_windows.h +++ b/src/common/system/system_windows.h @@ -26,11 +26,6 @@ //@colobot-lint-exclude UndefinedFunctionRule -struct SystemTimeStamp -{ - long long counterValue = 0; -}; - class CSystemUtilsWindows : public CSystemUtils { public: @@ -38,19 +33,11 @@ public: SystemDialogResult SystemDialog(SystemDialogType type, const std::string& title, const std::string& message) override; - void GetCurrentTimeStamp(SystemTimeStamp *stamp) override; - long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) override; - std::string GetSaveDir() override; - void Usleep(int usec) override; - public: static std::string UTF8_Encode(const std::wstring &wstr); static std::wstring UTF8_Decode(const std::string &str); - -protected: - long long m_counterFrequency = 0; }; //@end-colobot-lint-exclude From 4119e669d1b86726676443cb9128c459bf3354ed Mon Sep 17 00:00:00 2001 From: AbigailBuccaneer Date: Thu, 19 Apr 2018 22:17:28 +0100 Subject: [PATCH 03/20] Remove central tracking of SystemTimeStamp SystemTimeStamp used to be an opaque class, as it was provided by `system_{linux/other/windows}.h`. Because of this, code dealt in SystemTimeStamp pointers, and getting the current timestamp required a memory allocation. Now SystemTimeStamp is just a `std::chrono::time_point`, we can make the code cleaner and faster by just directly keeping SystemTimeStamp instead of pointers around. --- src/app/app.cpp | 41 +++------- src/app/app.h | 12 +-- src/common/profiler.cpp | 10 +-- src/common/profiler.h | 4 +- src/common/system/system.cpp | 28 ++----- src/common/system/system.h | 20 +---- src/graphics/engine/engine.cpp | 14 +--- src/graphics/engine/engine.h | 6 +- test/unit/CMakeLists.txt | 9 +-- test/unit/app/app_test.cpp | 48 +----------- test/unit/common/system/system_linux_test.cpp | 77 ------------------- test/unit/common/system/system_test.cpp | 37 +++++++++ .../common/system/system_windows_test.cpp | 69 ----------------- 13 files changed, 81 insertions(+), 294 deletions(-) delete mode 100644 test/unit/common/system/system_linux_test.cpp create mode 100644 test/unit/common/system/system_test.cpp delete mode 100644 test/unit/common/system/system_windows_test.cpp diff --git a/src/app/app.cpp b/src/app/app.cpp index 4ef861f6..7f278636 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -135,14 +135,6 @@ CApplication::CApplication(CSystemUtils* systemUtils) m_absTime = 0.0f; m_relTime = 0.0f; - m_baseTimeStamp = m_systemUtils->CreateTimeStamp(); - m_curTimeStamp = m_systemUtils->CreateTimeStamp(); - m_lastTimeStamp = m_systemUtils->CreateTimeStamp(); - - m_manualFrameLast = m_systemUtils->CreateTimeStamp(); - m_manualFrameTime = m_systemUtils->CreateTimeStamp(); - - m_joystickEnabled = false; m_mouseMode = MOUSE_SYSTEM; @@ -159,13 +151,6 @@ CApplication::CApplication(CSystemUtils* systemUtils) CApplication::~CApplication() { - m_systemUtils->DestroyTimeStamp(m_baseTimeStamp); - m_systemUtils->DestroyTimeStamp(m_curTimeStamp); - m_systemUtils->DestroyTimeStamp(m_lastTimeStamp); - - m_systemUtils->DestroyTimeStamp(m_manualFrameLast); - m_systemUtils->DestroyTimeStamp(m_manualFrameTime); - m_joystickEnabled = false; m_controller.reset(); @@ -672,13 +657,11 @@ bool CApplication::Create() std::thread{[this]() { GetLogger()->Debug("Cache sounds...\n"); - SystemTimeStamp* musicLoadStart = m_systemUtils->CreateTimeStamp(); - m_systemUtils->GetCurrentTimeStamp(musicLoadStart); + SystemTimeStamp musicLoadStart = m_systemUtils->GetCurrentTimeStamp(); m_sound->CacheAll(); - SystemTimeStamp* musicLoadEnd = m_systemUtils->CreateTimeStamp(); - m_systemUtils->GetCurrentTimeStamp(musicLoadEnd); + SystemTimeStamp musicLoadEnd = m_systemUtils->GetCurrentTimeStamp(); float musicLoadTime = m_systemUtils->TimeStampDiff(musicLoadStart, musicLoadEnd, STU_MSEC); GetLogger()->Debug("Sound loading took %.2f ms\n", musicLoadTime); }}.detach(); @@ -984,9 +967,9 @@ int CApplication::Run() { m_active = true; - m_systemUtils->GetCurrentTimeStamp(m_baseTimeStamp); - m_systemUtils->GetCurrentTimeStamp(m_lastTimeStamp); - m_systemUtils->GetCurrentTimeStamp(m_curTimeStamp); + m_baseTimeStamp = m_systemUtils->GetCurrentTimeStamp(); + m_lastTimeStamp = m_systemUtils->GetCurrentTimeStamp(); + m_curTimeStamp = m_systemUtils->GetCurrentTimeStamp(); MoveMouse(Math::Point(0.5f, 0.5f)); // center mouse on start @@ -1410,13 +1393,13 @@ void CApplication::Render() void CApplication::RenderIfNeeded(int updateRate) { - m_systemUtils->GetCurrentTimeStamp(m_manualFrameTime); + m_manualFrameTime = m_systemUtils->GetCurrentTimeStamp(); long long diff = m_systemUtils->TimeStampExactDiff(m_manualFrameLast, m_manualFrameTime); if (diff < 1e9f / updateRate) { return; } - m_systemUtils->CopyTimeStamp(m_manualFrameLast, m_manualFrameTime); + m_manualFrameLast = m_manualFrameTime; Render(); } @@ -1444,8 +1427,8 @@ void CApplication::ResetTimeAfterLoading() void CApplication::InternalResumeSimulation() { - m_systemUtils->GetCurrentTimeStamp(m_baseTimeStamp); - m_systemUtils->CopyTimeStamp(m_curTimeStamp, m_baseTimeStamp); + m_baseTimeStamp = m_systemUtils->GetCurrentTimeStamp(); + m_curTimeStamp = m_baseTimeStamp; m_realAbsTimeBase = m_realAbsTime; m_absTimeBase = m_exactAbsTime; } @@ -1459,7 +1442,7 @@ void CApplication::SetSimulationSpeed(float speed) { m_simulationSpeed = speed; - m_systemUtils->GetCurrentTimeStamp(m_baseTimeStamp); + m_baseTimeStamp = m_systemUtils->GetCurrentTimeStamp(); m_realAbsTimeBase = m_realAbsTime; m_absTimeBase = m_exactAbsTime; @@ -1471,8 +1454,8 @@ Event CApplication::CreateUpdateEvent() if (m_simulationSuspended) return Event(EVENT_NULL); - m_systemUtils->CopyTimeStamp(m_lastTimeStamp, m_curTimeStamp); - m_systemUtils->GetCurrentTimeStamp(m_curTimeStamp); + m_lastTimeStamp = m_curTimeStamp; + m_curTimeStamp = m_systemUtils->GetCurrentTimeStamp(); long long absDiff = m_systemUtils->TimeStampExactDiff(m_baseTimeStamp, m_curTimeStamp); long long newRealAbsTime = m_realAbsTimeBase + absDiff; diff --git a/src/app/app.h b/src/app/app.h index ccae3a5c..c41b6106 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -27,6 +27,7 @@ #include "common/event.h" #include "common/language.h" #include "common/singleton.h" +#include "common/system/system.h" #include "graphics/core/device.h" @@ -45,7 +46,6 @@ class CInput; class CPathManager; class CConfigFile; class CSystemUtils; -struct SystemTimeStamp; namespace Gfx { @@ -339,9 +339,9 @@ protected: //! Animation time stamps, etc. //@{ - SystemTimeStamp* m_baseTimeStamp; - SystemTimeStamp* m_lastTimeStamp; - SystemTimeStamp* m_curTimeStamp; + SystemTimeStamp m_baseTimeStamp; + SystemTimeStamp m_lastTimeStamp; + SystemTimeStamp m_curTimeStamp; long long m_realAbsTimeBase; long long m_realAbsTime; @@ -358,8 +358,8 @@ protected: bool m_simulationSuspended; //@} - SystemTimeStamp* m_manualFrameLast; - SystemTimeStamp* m_manualFrameTime; + SystemTimeStamp m_manualFrameLast; + SystemTimeStamp m_manualFrameTime; //! Graphics device to use bool m_graphicsOverride = false; diff --git a/src/common/profiler.cpp b/src/common/profiler.cpp index ff46036e..b3b418bc 100644 --- a/src/common/profiler.cpp +++ b/src/common/profiler.cpp @@ -26,7 +26,7 @@ CSystemUtils* CProfiler::m_systemUtils = nullptr; long long CProfiler::m_performanceCounters[PCNT_MAX] = {0}; long long CProfiler::m_prevPerformanceCounters[PCNT_MAX] = {0}; -std::stack CProfiler::m_runningPerformanceCounters; +std::stack CProfiler::m_runningPerformanceCounters; std::stack CProfiler::m_runningPerformanceCountersType; void CProfiler::SetSystemUtils(CSystemUtils* systemUtils) @@ -39,8 +39,7 @@ void CProfiler::StartPerformanceCounter(PerformanceCounter counter) if (counter == PCNT_ALL) ResetPerformanceCounters(); - SystemTimeStamp* timeStamp = m_systemUtils->CreateTimeStamp(); - m_systemUtils->GetCurrentTimeStamp(timeStamp); + SystemTimeStamp timeStamp = m_systemUtils->GetCurrentTimeStamp(); m_runningPerformanceCounters.push(timeStamp); m_runningPerformanceCountersType.push(counter); } @@ -50,11 +49,8 @@ void CProfiler::StopPerformanceCounter(PerformanceCounter counter) assert(m_runningPerformanceCountersType.top() == counter); m_runningPerformanceCountersType.pop(); - SystemTimeStamp* timeStamp = m_systemUtils->CreateTimeStamp(); - m_systemUtils->GetCurrentTimeStamp(timeStamp); + SystemTimeStamp timeStamp = m_systemUtils->GetCurrentTimeStamp(); m_performanceCounters[counter] += m_systemUtils->TimeStampExactDiff(m_runningPerformanceCounters.top(), timeStamp); - m_systemUtils->DestroyTimeStamp(timeStamp); - m_systemUtils->DestroyTimeStamp(m_runningPerformanceCounters.top()); m_runningPerformanceCounters.pop(); if (counter == PCNT_ALL) diff --git a/src/common/profiler.h b/src/common/profiler.h index 4caaea41..d9ff0797 100644 --- a/src/common/profiler.h +++ b/src/common/profiler.h @@ -20,8 +20,8 @@ #pragma once class CSystemUtils; -struct SystemTimeStamp; +#include "common/system/system.h" #include /** @@ -73,7 +73,7 @@ private: static long long m_performanceCounters[PCNT_MAX]; static long long m_prevPerformanceCounters[PCNT_MAX]; - static std::stack m_runningPerformanceCounters; + static std::stack m_runningPerformanceCounters; static std::stack m_runningPerformanceCountersType; }; diff --git a/src/common/system/system.cpp b/src/common/system/system.cpp index 81d12640..2d1c2a8d 100644 --- a/src/common/system/system.cpp +++ b/src/common/system/system.cpp @@ -144,35 +144,17 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons return result; } -SystemTimeStamp* CSystemUtils::CreateTimeStamp() +SystemTimeStamp CSystemUtils::GetCurrentTimeStamp() { - auto timeStamp = MakeUnique(); - SystemTimeStamp* timeStampPtr = timeStamp.get(); - m_timeStamps.push_back(std::move(timeStamp)); - return timeStampPtr; + return std::chrono::high_resolution_clock::now(); } -void CSystemUtils::DestroyTimeStamp(SystemTimeStamp *stamp) +long long CSystemUtils::TimeStampExactDiff(SystemTimeStamp before, SystemTimeStamp after) { - m_timeStamps.erase(std::remove_if(m_timeStamps.begin(), m_timeStamps.end(), [&](const std::unique_ptr& timeStamp) { return timeStamp.get() == stamp; })); + return std::chrono::duration_cast(after - before).count(); } -void CSystemUtils::CopyTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *src) -{ - *dst = *src; -} - -void CSystemUtils::GetCurrentTimeStamp(SystemTimeStamp *stamp) -{ - *stamp = std::chrono::high_resolution_clock::now(); -} - -long long CSystemUtils::TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) -{ - return std::chrono::duration_cast(*after - *before).count(); -} - -float CSystemUtils::TimeStampDiff(SystemTimeStamp *before, SystemTimeStamp *after, SystemTimeUnit unit) +float CSystemUtils::TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, SystemTimeUnit unit) { long long exact = TimeStampExactDiff(before, after); diff --git a/src/common/system/system.h b/src/common/system/system.h index 4366d8c2..30d9279d 100644 --- a/src/common/system/system.h +++ b/src/common/system/system.h @@ -101,25 +101,16 @@ public: //! Displays a fallback system dialog using console TEST_VIRTUAL SystemDialogResult ConsoleSystemDialog(SystemDialogType type, const std::string& title, const std::string& message); - //! Creates a new time stamp object - TEST_VIRTUAL SystemTimeStamp* CreateTimeStamp(); - - //! Destroys a time stamp object - TEST_VIRTUAL void DestroyTimeStamp(SystemTimeStamp *stamp); - - //! Copies the time stamp from \a src to \a dst - TEST_VIRTUAL void CopyTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *src); - //! Returns a time stamp associated with current time - TEST_VIRTUAL void GetCurrentTimeStamp(SystemTimeStamp *stamp); + TEST_VIRTUAL SystemTimeStamp GetCurrentTimeStamp(); //! Returns a difference between two timestamps in given time unit /** The difference is \a after - \a before. */ - TEST_VIRTUAL float TimeStampDiff(SystemTimeStamp *before, SystemTimeStamp *after, SystemTimeUnit unit = STU_SEC); + float TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, SystemTimeUnit unit = STU_SEC); //! Returns the exact (in nanosecond units) difference between two timestamps /** The difference is \a after - \a before. */ - virtual long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after); + long long TimeStampExactDiff(SystemTimeStamp before, SystemTimeStamp after); //! Returns the data path (containing textures, levels, helpfiles, etc) virtual std::string GetDataPath(); @@ -131,8 +122,5 @@ public: virtual std::string GetSaveDir(); //! Sleep for given amount of microseconds - virtual void Usleep(int usecs); - -private: - std::vector> m_timeStamps; + void Usleep(int usecs); }; diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index 0f86e6fd..afb6f5a7 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -216,8 +216,6 @@ CEngine::CEngine(CApplication *app, CSystemUtils* systemUtils) m_mouseType = ENG_MOUSE_NORM; m_fpsCounter = 0; - m_lastFrameTime = m_systemUtils->CreateTimeStamp(); - m_currentFrameTime = m_systemUtils->CreateTimeStamp(); m_shadowColor = 0.5f; @@ -241,10 +239,6 @@ CEngine::CEngine(CApplication *app, CSystemUtils* systemUtils) CEngine::~CEngine() { - m_systemUtils->DestroyTimeStamp(m_lastFrameTime); - m_lastFrameTime = nullptr; - m_systemUtils->DestroyTimeStamp(m_currentFrameTime); - m_currentFrameTime = nullptr; } void CEngine::SetDevice(CDevice *device) @@ -361,8 +355,8 @@ bool CEngine::Create() params.mipmap = false; m_miceTexture = LoadTexture("textures/interface/mouse.png", params); - m_systemUtils->GetCurrentTimeStamp(m_currentFrameTime); - m_systemUtils->GetCurrentTimeStamp(m_lastFrameTime); + m_currentFrameTime = m_systemUtils->GetCurrentTimeStamp(); + m_lastFrameTime = m_systemUtils->GetCurrentTimeStamp(); return true; } @@ -3176,11 +3170,11 @@ void CEngine::Render() { m_fpsCounter++; - m_systemUtils->GetCurrentTimeStamp(m_currentFrameTime); + m_currentFrameTime = m_systemUtils->GetCurrentTimeStamp(); float diff = m_systemUtils->TimeStampDiff(m_lastFrameTime, m_currentFrameTime, STU_SEC); if (diff > 1.0f) { - m_systemUtils->CopyTimeStamp(m_lastFrameTime, m_currentFrameTime); + m_lastFrameTime = m_currentFrameTime; m_fps = m_fpsCounter / diff; m_fpsCounter = 0; diff --git a/src/graphics/engine/engine.h b/src/graphics/engine/engine.h index 27f01585..33a1adad 100644 --- a/src/graphics/engine/engine.h +++ b/src/graphics/engine/engine.h @@ -25,6 +25,7 @@ #pragma once #include "common/singleton.h" +#include "common/system/system.h" #include "graphics/core/color.h" #include "graphics/core/material.h" @@ -50,7 +51,6 @@ class CApplication; class CSoundInterface; class CImage; class CSystemUtils; -struct SystemTimeStamp; struct Event; @@ -1303,8 +1303,8 @@ protected: //! Last encountered error std::string m_error; - SystemTimeStamp* m_lastFrameTime; - SystemTimeStamp* m_currentFrameTime; + SystemTimeStamp m_lastFrameTime; + SystemTimeStamp m_currentFrameTime; int m_fpsCounter; float m_fps; diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index c21fb600..613577d2 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -1,10 +1,3 @@ -# Platform-dependent tests -if(PLATFORM_WINDOWS) - set(PLATFORM_TESTS common/system/system_windows_test.cpp) -elseif(PLATFORM_LINUX) - set(PLATFORM_TESTS common/system/system_linux_test.cpp) -endif() - # Sources set(UT_SOURCES main.cpp @@ -12,12 +5,12 @@ set(UT_SOURCES CBot/CBotToken_test.cpp CBot/CBot_test.cpp common/config_file_test.cpp + common/system/system_test.cpp graphics/engine/lightman_test.cpp math/func_test.cpp math/geometry_test.cpp math/matrix_test.cpp math/vector_test.cpp - ${PLATFORM_TESTS} ) # Includes diff --git a/test/unit/app/app_test.cpp b/test/unit/app/app_test.cpp index 3ae5334d..8f13c8d0 100644 --- a/test/unit/app/app_test.cpp +++ b/test/unit/app/app_test.cpp @@ -32,14 +32,6 @@ using namespace HippoMocks; namespace ph = std::placeholders; -struct FakeSystemTimeStamp : public SystemTimeStamp -{ - FakeSystemTimeStamp(int uid) : uid(uid), time(0) {} - - int uid; - long long time; -}; - class CApplicationWrapper : public CApplication { public: @@ -66,7 +58,6 @@ class CApplicationUT : public testing::Test protected: CApplicationUT() : m_systemUtils(nullptr), - m_stampUid(0), m_currentTime(0) {} @@ -78,11 +69,7 @@ protected: void NextInstant(long long diff); - SystemTimeStamp* CreateTimeStamp(); - void DestroyTimeStamp(SystemTimeStamp *stamp); - void CopyTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *src); - void GetCurrentTimeStamp(SystemTimeStamp *stamp); - long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after); + SystemTimeStamp GetCurrentTimeStamp(); void TestCreateUpdateEvent(long long relTimeExact, long long absTimeExact, float relTime, float absTime, @@ -92,10 +79,8 @@ protected: std::unique_ptr m_app; MockRepository m_mocks; CSystemUtils* m_systemUtils; - std::vector> m_timeStamps; private: - int m_stampUid; long long m_currentTime; }; @@ -107,11 +92,7 @@ void CApplicationUT::SetUp() m_mocks.OnCall(m_systemUtils, CSystemUtils::GetLangPath).Return(""); m_mocks.OnCall(m_systemUtils, CSystemUtils::GetSaveDir).Return(""); - m_mocks.OnCall(m_systemUtils, CSystemUtils::CreateTimeStamp).Do(std::bind(&CApplicationUT::CreateTimeStamp, this)); - m_mocks.OnCall(m_systemUtils, CSystemUtils::DestroyTimeStamp).Do(std::bind(&CApplicationUT::DestroyTimeStamp, this, ph::_1)); - m_mocks.OnCall(m_systemUtils, CSystemUtils::CopyTimeStamp).Do(std::bind(&CApplicationUT::CopyTimeStamp, this, ph::_1, ph::_2)); - m_mocks.OnCall(m_systemUtils, CSystemUtils::GetCurrentTimeStamp).Do(std::bind(&CApplicationUT::GetCurrentTimeStamp, this, ph::_1)); - m_mocks.OnCall(m_systemUtils, CSystemUtils::TimeStampExactDiff).Do(std::bind(&CApplicationUT::TimeStampExactDiff, this, ph::_1, ph::_2)); + m_mocks.OnCall(m_systemUtils, CSystemUtils::GetCurrentTimeStamp).Do(std::bind(&CApplicationUT::GetCurrentTimeStamp, this)); m_app = MakeUnique(m_systemUtils); } @@ -121,31 +102,10 @@ void CApplicationUT::TearDown() m_app.reset(); } -SystemTimeStamp* CApplicationUT::CreateTimeStamp() -{ - auto stamp = MakeUnique(++m_stampUid); - auto stampPtr = stamp.get(); - m_timeStamps.push_back(std::move(stamp)); - return stampPtr; -} -void CApplicationUT::DestroyTimeStamp(SystemTimeStamp *stamp) +SystemTimeStamp CApplicationUT::GetCurrentTimeStamp() { -} - -void CApplicationUT::CopyTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *src) -{ - *static_cast(dst) = *static_cast(src); -} - -void CApplicationUT::GetCurrentTimeStamp(SystemTimeStamp *stamp) -{ - static_cast(stamp)->time = m_currentTime; -} - -long long CApplicationUT::TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) -{ - return static_cast(after)->time - static_cast(before)->time; + return SystemTimeStamp{SystemTimeStamp::duration{m_currentTime}}; } void CApplicationUT::NextInstant(long long diff) diff --git a/test/unit/common/system/system_linux_test.cpp b/test/unit/common/system/system_linux_test.cpp deleted file mode 100644 index a882f016..00000000 --- a/test/unit/common/system/system_linux_test.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#include "common/system/system.h" -#include "common/system/system_linux.h" - -#include - -class CSystemUtilsLinuxUT : public testing::Test -{ -protected: - static const long long SEC = 1000000000; - - CSystemUtilsLinux m_systemUtils; -}; - - -TEST_F(CSystemUtilsLinuxUT, TimeStampDiff) -{ - SystemTimeStamp before, after; - - before.clockTime.tv_sec = 1; - before.clockTime.tv_nsec = 100; - - after.clockTime.tv_sec = 1; - after.clockTime.tv_nsec = 900; - - long long tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( 800, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-800, tDiff); - - // ------- - - before.clockTime.tv_sec = 2; - before.clockTime.tv_nsec = 200; - - after.clockTime.tv_sec = 3; - after.clockTime.tv_nsec = 500; - - tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( SEC + 300, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-SEC - 300, tDiff); - - // ------- - - before.clockTime.tv_sec = 3; - before.clockTime.tv_nsec = 200; - - after.clockTime.tv_sec = 4; - after.clockTime.tv_nsec = 100; - - tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( SEC - 100, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-SEC + 100, tDiff); -} diff --git a/test/unit/common/system/system_test.cpp b/test/unit/common/system/system_test.cpp new file mode 100644 index 00000000..60447dd7 --- /dev/null +++ b/test/unit/common/system/system_test.cpp @@ -0,0 +1,37 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2018, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsitec.ch; http://colobot.info; http://github.com/colobot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://gnu.org/licenses + */ + +#include "common/system/system_other.h" + +#include + +struct SystemTest : ::testing::Test { + CSystemUtilsOther system; +}; + +TEST_F(SystemTest, TimeStampExactDiff) { + auto epoch = SystemTimeStamp{}; + EXPECT_EQ(system.TimeStampExactDiff(epoch, epoch), 0); + + auto duration = std::chrono::microseconds{123456789L}; + auto before = std::chrono::high_resolution_clock::now(); + auto after = before + duration; + EXPECT_EQ(system.TimeStampExactDiff(before, after), std::chrono::nanoseconds{duration}.count()); + EXPECT_EQ(system.TimeStampExactDiff(after, before), -std::chrono::nanoseconds{duration}.count()); +} diff --git a/test/unit/common/system/system_windows_test.cpp b/test/unit/common/system/system_windows_test.cpp deleted file mode 100644 index f36e878c..00000000 --- a/test/unit/common/system/system_windows_test.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#include "common/system/system.h" -#include "common/system/system_windows.h" - -#include - -class CSystemUtilsWindowsWrapper : public CSystemUtilsWindows -{ -public: - void SetFrequency(long long frequency) - { - m_counterFrequency = frequency; - } -}; - -class CSystemUtilsWindowsUT : public testing::Test -{ -protected: - static const long long SEC = 1000000000; - - CSystemUtilsWindowsWrapper m_systemUtils; -}; - -TEST_F(CSystemUtilsWindowsUT, TimeStampDiff) -{ - m_systemUtils.SetFrequency(SEC); - - SystemTimeStamp before, after; - - before.counterValue = 100; - after.counterValue = 200; - - long long tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( 100, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-100, tDiff); - - // ------- - - m_systemUtils.SetFrequency(SEC/3); - - before.counterValue = 200; - after.counterValue = 400; - - tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( 200*3, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-200*3, tDiff); -} From fbb45807f111086140f42c8ff770c3d4b1ecdef1 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Thu, 9 Jul 2020 21:16:03 +0200 Subject: [PATCH 04/20] Create intructions for using vscode --- docs/using_vscode.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docs/using_vscode.md diff --git a/docs/using_vscode.md b/docs/using_vscode.md new file mode 100644 index 00000000..9e1bb487 --- /dev/null +++ b/docs/using_vscode.md @@ -0,0 +1,43 @@ +# Using vscode + +## Compilation and installation +### Prerequisites + +* before compilation you have to instal tools and dependencies (points 1,2,3) - https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC + +### Configuring vscode + +* open project folder in vscode +* install extension CMake Tools: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools +* install extensnion ms-vscode.cpptools: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools +* on the status line at the bottom you can choose cmake configuration and compiler + +### Adding cmake settings: +* create folder .vscode if there is none. Inside that folder create file settings.json with the following content: +```json +{ + "cmake.configureSettings": { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "CMAKE_TOOLCHAIN_FILE":{input path to toolchain} + "VCPKG_TARGET_TRIPLET": "x64-windows-static", + "BOOST_STATIC": "1", + "GLEW_STATIC": "1", + "MSVC_STATIC": "1" + }, + "cmake.buildDirectory": "${workspaceFolder}\\out\\build\\x64-Debug", + "cmake.installPrefix": "${workspaceFolder}\\out\\build\\x64-Debug", + "cmake.generator": "ninja" +} +``` + +### Compilation and installation +* Open cmake extension in the left menu +* click on 'configure all projects' +* on the status line at the bottom click compilation target and choose install +* click compile +* click launch + +If you have any problems create an issue or talk to us on our Discord channel: https://discord.gg/TRCJRc \ No newline at end of file From a78cc159f8688e50a516c572f5943359e4bcf2f9 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Thu, 9 Jul 2020 21:25:19 +0200 Subject: [PATCH 05/20] add cloning instructions, improve links --- docs/using_vscode.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/using_vscode.md b/docs/using_vscode.md index 9e1bb487..cb1720e3 100644 --- a/docs/using_vscode.md +++ b/docs/using_vscode.md @@ -5,11 +5,24 @@ * before compilation you have to instal tools and dependencies (points 1,2,3) - https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC +### Cloning project +execute following command: +``` +git clone https://github.com/MrJohn10/colobot.git +``` +in order to clone 'data' submodlue you also have to execute: (this module is needed to launch the game) +``` +git submodule update --init +``` +if you want you can combine this commands and execute: +``` +git clone https://github.com/MrJohn10/colobot.git --recurse-submodules +``` ### Configuring vscode * open project folder in vscode -* install extension CMake Tools: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -* install extensnion ms-vscode.cpptools: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools +* install extension [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) +* install extensnion [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) * on the status line at the bottom you can choose cmake configuration and compiler ### Adding cmake settings: From 535696de2810e6cf86a408677211b82c9c79cb60 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Thu, 9 Jul 2020 21:25:48 +0200 Subject: [PATCH 06/20] refactor --- docs/using_vscode.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/using_vscode.md b/docs/using_vscode.md index cb1720e3..3923438b 100644 --- a/docs/using_vscode.md +++ b/docs/using_vscode.md @@ -1,11 +1,13 @@ # Using vscode ## Compilation and installation + ### Prerequisites * before compilation you have to instal tools and dependencies (points 1,2,3) - https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC ### Cloning project + execute following command: ``` git clone https://github.com/MrJohn10/colobot.git @@ -26,6 +28,7 @@ git clone https://github.com/MrJohn10/colobot.git --recurse-submodules * on the status line at the bottom you can choose cmake configuration and compiler ### Adding cmake settings: + * create folder .vscode if there is none. Inside that folder create file settings.json with the following content: ```json { @@ -47,6 +50,7 @@ git clone https://github.com/MrJohn10/colobot.git --recurse-submodules ``` ### Compilation and installation + * Open cmake extension in the left menu * click on 'configure all projects' * on the status line at the bottom click compilation target and choose install From 1b74cc11445d86dcaeeee4ea8476dbbc00a76916 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Thu, 9 Jul 2020 21:27:33 +0200 Subject: [PATCH 07/20] improve link --- docs/using_vscode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/using_vscode.md b/docs/using_vscode.md index 3923438b..b97e7748 100644 --- a/docs/using_vscode.md +++ b/docs/using_vscode.md @@ -4,7 +4,7 @@ ### Prerequisites -* before compilation you have to instal tools and dependencies (points 1,2,3) - https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC +* before compilation you have to instal tools and dependencies (points 1,2,3): [Installing tools and dependencies](https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC#installing-tools-and-dependencies) ### Cloning project From 31781f214cb5067dae5bf252dd6118ded439f801 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Thu, 9 Jul 2020 21:29:31 +0200 Subject: [PATCH 08/20] fixes --- docs/using_vscode.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/using_vscode.md b/docs/using_vscode.md index b97e7748..ae73914e 100644 --- a/docs/using_vscode.md +++ b/docs/using_vscode.md @@ -10,7 +10,7 @@ execute following command: ``` -git clone https://github.com/MrJohn10/colobot.git +git clone https://github.com/colobot/colobot.git ``` in order to clone 'data' submodlue you also have to execute: (this module is needed to launch the game) ``` @@ -18,7 +18,7 @@ git submodule update --init ``` if you want you can combine this commands and execute: ``` -git clone https://github.com/MrJohn10/colobot.git --recurse-submodules +git clone https://github.com/colobot/colobot.git --recurse-submodules ``` ### Configuring vscode @@ -36,8 +36,8 @@ git clone https://github.com/MrJohn10/colobot.git --recurse-submodules "name": "x64-Debug", "generator": "Ninja", "configurationType": "Debug", - "inheritEnvironments": [ "msvc_x64_x64" ], - "CMAKE_TOOLCHAIN_FILE":{input path to toolchain} + "inheritEnvironments": ["msvc_x64_x64"], + "CMAKE_TOOLCHAIN_FILE": {input path to toolchain}, "VCPKG_TARGET_TRIPLET": "x64-windows-static", "BOOST_STATIC": "1", "GLEW_STATIC": "1", From 70b7a63b6636b2ca929ee90e186d8bf5d22b5f1d Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Thu, 9 Jul 2020 21:32:27 +0200 Subject: [PATCH 09/20] fix --- docs/using_vscode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/using_vscode.md b/docs/using_vscode.md index ae73914e..be0e36cd 100644 --- a/docs/using_vscode.md +++ b/docs/using_vscode.md @@ -37,7 +37,7 @@ git clone https://github.com/colobot/colobot.git --recurse-submodules "generator": "Ninja", "configurationType": "Debug", "inheritEnvironments": ["msvc_x64_x64"], - "CMAKE_TOOLCHAIN_FILE": {input path to toolchain}, + "CMAKE_TOOLCHAIN_FILE": input path to toolchain, "VCPKG_TARGET_TRIPLET": "x64-windows-static", "BOOST_STATIC": "1", "GLEW_STATIC": "1", From 870d5237bb40d760b146c1c33b9381c3e3f11d99 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Fri, 10 Jul 2020 13:18:57 +0200 Subject: [PATCH 10/20] fixes, add screenshot --- docimg/vscode-screenshot.png | Bin 0 -> 54856 bytes docs/using_vscode.md | 60 ---------------------- docs/using_vscode_to_compile_and_install | 61 +++++++++++++++++++++++ 3 files changed, 61 insertions(+), 60 deletions(-) create mode 100644 docimg/vscode-screenshot.png delete mode 100644 docs/using_vscode.md create mode 100644 docs/using_vscode_to_compile_and_install diff --git a/docimg/vscode-screenshot.png b/docimg/vscode-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8a54d721622b98d71eaaf1e7fd5bf9db02a3a5 GIT binary patch literal 54856 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%0D~C}S%?nj2|8knB zNblub(fH7q7*1=?(2*bY4Xe<{Pc}>wocmTPlD@#a*kofexhK4b{<>E@rEqgo07{#(f%aIryV zsUV~`Ri&iijJ#LQ*&8rk)GApmEzN(~EnG89u3$fXQzJ;a=G`oFIM_JVxJ-iMR(sC8 ze2|jj2CATNmmN^k-LqXEBCjxcK@Txy>{R1|+d5l)`x1L!Qj;PLDpUxiAxdgWWcCd- zehjOuy(Xh{B#a~!HCj`~8_ZF8rII|`K={CSg+l@TuX+-UYPm7g;3NYpm_60`-G1SF zw_w^t;5(1_1<6^FPN&$Qhp_8$@6gi+Kmh6ya!Lm#l5Bev?PWL;xY1&4@7In>H(@-nu^ro*>%5y~5 zx}WtbgyUuegmlUCD^@D1Pq-&1VO@esN}3#zf1TmR#{N+q9w+F*{(B=TaBbhnpQK>XTZV_Wgu(0^;kB-i%_R#1NS*uaKB_vz zQAT}(GMN_89!%n-Y0q4XfKLU(##OBxaaf|4nWKiMnx}opI4F&O_h^(KOWXwS5%rXn z6`o_2H%-4$-sLY_vPG3l;~`5tA>Tb+#7dtkIbAw~{@^Z2uoCz9)Qxf@@SOH? z@m9o4EuKZdi`pd|xT-dci^q!+oFvsKzJMgimv9Y9nRt&t0gA}8=G;1@F<|TYvI;CSk+>nD8p(VYlBrzqY%wB~|0u%A6T>P{)PLzP(K%rwvLU#GI zJ}#>iYjnVj`RyXHYqUd~JVrl!a6F~06)JfR7o!n^0f`lNd;m9*ARYzhganc?2So5h zp|~>#$2X)3AG8M-28!HJ;u_Kx6bg#pmHesx>)`=gM{YGWZP$~iM~hAvGpG5j?d8)` zBuVvfOnZ(bB1gj4m;BCY8e@>RhL(Nx{60gbf4~R|E}~awnwrvZOkd`$?$I1HO)^u| zJARlnUJitLv0O4fAQ>eIUNx18Pa|d|<uM(Bb@s zPr1(XPdOtZS8p8?2lb7%cq~W!p2WiO93
  • 5rV4oycNCn3hpj5V%^sRtx#ff2y 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
    A+~<^W0cDDj|dz zGBaI6WBpPn}!X)EN*rp zZLvf#VgecmB-)rc7te}D(rbY3)a4ellu13=s^-sT*CYuK2@KfNJMSHiFB+{o=NlRA zRpX~`@y@9yfPD~BwBQ_Qtq1xp`N24|E=qB9*!xQD`VXr81ANWi>~-S{J2>E@dq*BU z3n!B23|V{fxCBPaL)O0h-QxJ*pr0LIM(bA*vMaid?`tB|1_`LOYPZn+p6WLtajG08 zvX8qw+JoRlMT#ZmrdaKt)To3LE>0@L!YpSteV%C2BfGCL{3vbMv5r|Qs!N4bx_+qQ zdN(`8wy$Nh<85qynR+n*bOhwlb8HYZ9>gkj+q{xr!B7M6>aNg*g8da%;#^ZQeZ#*g zQk`-H#ox?Exd)q#Z5VdK+k>e?lvq-DS+6r6$qz(nPDy{DNUdTDFAu}0 z@MBvSP!wC5vrhfwjSpVX&#hlR7XuK*_6A{JaRjWGP^hdoN@k~1&twIdk=*)TF>E0}(GX_6`mKvY#`vHqWRX>MdVEF!+XjNT&J{ocG0`lvY zQGsy@mmsY`(Em+4Q&hhLW`cUS-2u&wsp4MXK0B_TNxy<_`yNiv+J3Faqz%;!`Z&?V zs3|tWn)R0PD!4pG^@cL5PtNkL=uKN%_kBr+qY5L}JXRs`Ps6`#{F5M)#j!f3pOGy@ z5y`(d13<`oh1Wc_J?ZqFvk%=}ceh=l0mNZBQ^jY?9$?IR$NEQh_a=-6cRe5lrSvwR zo6axq>m1H+mR!bfp#sKNp9qo$NUit#hx*38E85;D^AWdh>qSu8GoWl&7f|xIk)+f zt<}(tFik9B#xD^8S!4ep3f?N(lgK(uZzD0`g9lRfD_znm7#lIO8ei_|i0nwA(dk04 z0ppj8W*%dG(n5IG)d4}lTYqPt-2zesd&V5xT-AdZk1Oay&y7SDzHQM9r-S^WTEeO64JRC_erXg{d2X zq>2ZEcTe*KIHrV+tlDkBY2S;0=GI((p=-6AM=oD2 zUUV#}suFHkldB%YT*0^IiK5CO_PT^%cz(lW$Ew(sW%&cB|0m3@NC5B-#VXz;nPqVR zh0j0amfQV9SZR}rmWE*P-IZSnS-S#}YR1-E*Uk*HtSW;w`4H~%VuHHWv|x3%b8N&g zPMinag_n&?!;mJ}cu^A7&W=X5kA4AcavXDSWY-ql5OqZ9t&OGj06t`S6_hN)68w)% zd~ah(fRC@Wm?Fu;GOv#|j4KJRkz`K6erFXM!JFm1&0_Dvbu-nClS|MrVr12kO@flJ z=#iTi?Lv2qYFs})Zv&HI^%PAi3~guk8N}jmMhaIxFP=DF+QN;*myd6lbU3|Vevio= zTNuTs@&8&Xx$qf@VC65TV%C3t!Yo(qVUAb7bDDfhMR4kdjIdQ*r|VHylt3T`#$o+ zt1&>Pzx_8GB9w>}HW>g^p@X!IzddcaEBH?TWp8Nu%{B~_g*S1<{#~l-PnRpNK|k49 re*uSw38gyU|K0HM>Rz@pe}jDER!yS!(wCMW4M(@r@Kcp1f4%)5EgR&z literal 0 HcmV?d00001 diff --git a/docs/using_vscode.md b/docs/using_vscode.md deleted file mode 100644 index be0e36cd..00000000 --- a/docs/using_vscode.md +++ /dev/null @@ -1,60 +0,0 @@ -# Using vscode - -## Compilation and installation - -### Prerequisites - -* before compilation you have to instal tools and dependencies (points 1,2,3): [Installing tools and dependencies](https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC#installing-tools-and-dependencies) - -### Cloning project - -execute following command: -``` -git clone https://github.com/colobot/colobot.git -``` -in order to clone 'data' submodlue you also have to execute: (this module is needed to launch the game) -``` -git submodule update --init -``` -if you want you can combine this commands and execute: -``` -git clone https://github.com/colobot/colobot.git --recurse-submodules -``` -### Configuring vscode - -* open project folder in vscode -* install extension [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) -* install extensnion [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) -* on the status line at the bottom you can choose cmake configuration and compiler - -### Adding cmake settings: - -* create folder .vscode if there is none. Inside that folder create file settings.json with the following content: -```json -{ - "cmake.configureSettings": { - "name": "x64-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": ["msvc_x64_x64"], - "CMAKE_TOOLCHAIN_FILE": input path to toolchain, - "VCPKG_TARGET_TRIPLET": "x64-windows-static", - "BOOST_STATIC": "1", - "GLEW_STATIC": "1", - "MSVC_STATIC": "1" - }, - "cmake.buildDirectory": "${workspaceFolder}\\out\\build\\x64-Debug", - "cmake.installPrefix": "${workspaceFolder}\\out\\build\\x64-Debug", - "cmake.generator": "ninja" -} -``` - -### Compilation and installation - -* Open cmake extension in the left menu -* click on 'configure all projects' -* on the status line at the bottom click compilation target and choose install -* click compile -* click launch - -If you have any problems create an issue or talk to us on our Discord channel: https://discord.gg/TRCJRc \ No newline at end of file diff --git a/docs/using_vscode_to_compile_and_install b/docs/using_vscode_to_compile_and_install new file mode 100644 index 00000000..186ab3f7 --- /dev/null +++ b/docs/using_vscode_to_compile_and_install @@ -0,0 +1,61 @@ +# Using Visual studio code to compile and install project + +### Prerequisites + +Before compilation you have to install tools and dependencies (points 1,2,3): [Installing tools and dependencies](https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC#installing-tools-and-dependencies). + +### Cloning project + +In order to clone the project execute the following command: +``` +git clone https://github.com/colobot/colobot.git +``` +In order to clone 'data' submodule you also have to execute: **(this module is needed to launch the game)** +``` +git submodule update --init +``` +If you want you can combine this commands and execute: +``` +git clone https://github.com/colobot/colobot.git --recurse-submodules +``` +### Configuring vscode + +1. Open project folder in vscode. +2. Install extension [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools). +3. Install extensnion [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools). +4. On the status line at the bottom you can choose cmake configuration and compiler (see the screenshot attached at the bottom) + +### Adding cmake settings: + +* create folder .vscode if there is none. Inside that folder create file settings.json with the following content: +```json +{ + "cmake.configureSettings": { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": ["msvc_x64_x64"], + "CMAKE_TOOLCHAIN_FILE": input path to toolchain, + "VCPKG_TARGET_TRIPLET": "x64-windows-static", + "BOOST_STATIC": "1", + "GLEW_STATIC": "1", + "MSVC_STATIC": "1" + }, + "cmake.buildDirectory": "${workspaceFolder}\\out\\build\\x64-Debug", + "cmake.installPrefix": "${workspaceFolder}\\out\\build\\x64-Debug", + "cmake.generator": "ninja" +} +``` + +### Compilation and installation + +* Open cmake extension in the left menu. +* Click on 'configure all projects'. +* On the status line at the bottom click compilation target and choose install. +* Click build. +* Click launch. + +![alt text](../docimg/vscode-screenshot.png "vscode screenshot") + + +If you have any problems create an issue or talk to us on our Discord channel: https://discord.gg/TRCJRc. \ No newline at end of file From 85f0f88c2025e553bc4f7ac9f84f1145f3f02837 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:17:34 +0200 Subject: [PATCH 11/20] overall improvements --- docimg/vscode-screenshot.png | Bin 54856 -> 68517 bytes docs/using_vscode_to_compile_and_install | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docimg/vscode-screenshot.png b/docimg/vscode-screenshot.png index ae8a54d721622b98d71eaaf1e7fd5bf9db02a3a5..6cf4cfd76381f9af266b810fed6451fddbc30797 100644 GIT binary patch literal 68517 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 literal 54856 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%0D~C}S%?nj2|8knB zNblub(fH7q7*1=?(2*bY4Xe<{Pc}>wocmTPlD@#a*kofexhK4b{<>E@rEqgo07{#(f%aIryV zsUV~`Ri&iijJ#LQ*&8rk)GApmEzN(~EnG89u3$fXQzJ;a=G`oFIM_JVxJ-iMR(sC8 ze2|jj2CATNmmN^k-LqXEBCjxcK@Txy>{R1|+d5l)`x1L!Qj;PLDpUxiAxdgWWcCd- zehjOuy(Xh{B#a~!HCj`~8_ZF8rII|`K={CSg+l@TuX+-UYPm7g;3NYpm_60`-G1SF zw_w^t;5(1_1<6^FPN&$Qhp_8$@6gi+Kmh6ya!Lm#l5Bev?PWL;xY1&4@7In>H(@-nu^ro*>%5y~5 zx}WtbgyUuegmlUCD^@D1Pq-&1VO@esN}3#zf1TmR#{N+q9w+F*{(B=TaBbhnpQK>XTZV_Wgu(0^;kB-i%_R#1NS*uaKB_vz zQAT}(GMN_89!%n-Y0q4XfKLU(##OBxaaf|4nWKiMnx}opI4F&O_h^(KOWXwS5%rXn z6`o_2H%-4$-sLY_vPG3l;~`5tA>Tb+#7dtkIbAw~{@^Z2uoCz9)Qxf@@SOH? z@m9o4EuKZdi`pd|xT-dci^q!+oFvsKzJMgimv9Y9nRt&t0gA}8=G;1@F<|TYvI;CSk+>nD8p(VYlBrzqY%wB~|0u%A6T>P{)PLzP(K%rwvLU#GI zJ}#>iYjnVj`RyXHYqUd~JVrl!a6F~06)JfR7o!n^0f`lNd;m9*ARYzhganc?2So5h zp|~>#$2X)3AG8M-28!HJ;u_Kx6bg#pmHesx>)`=gM{YGWZP$~iM~hAvGpG5j?d8)` zBuVvfOnZ(bB1gj4m;BCY8e@>RhL(Nx{60gbf4~R|E}~awnwrvZOkd`$?$I1HO)^u| zJARlnUJitLv0O4fAQ>eIUNx18Pa|d|<uM(Bb@s zPr1(XPdOtZS8p8?2lb7%cq~W!p2WiO93
  • 5rV4oycNCn3hpj5V%^sRtx#ff2y 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
    A+~<^W0cDDj|dz zGBaI6WBpPn}!X)EN*rp zZLvf#VgecmB-)rc7te}D(rbY3)a4ellu13=s^-sT*CYuK2@KfNJMSHiFB+{o=NlRA zRpX~`@y@9yfPD~BwBQ_Qtq1xp`N24|E=qB9*!xQD`VXr81ANWi>~-S{J2>E@dq*BU z3n!B23|V{fxCBPaL)O0h-QxJ*pr0LIM(bA*vMaid?`tB|1_`LOYPZn+p6WLtajG08 zvX8qw+JoRlMT#ZmrdaKt)To3LE>0@L!YpSteV%C2BfGCL{3vbMv5r|Qs!N4bx_+qQ zdN(`8wy$Nh<85qynR+n*bOhwlb8HYZ9>gkj+q{xr!B7M6>aNg*g8da%;#^ZQeZ#*g zQk`-H#ox?Exd)q#Z5VdK+k>e?lvq-DS+6r6$qz(nPDy{DNUdTDFAu}0 z@MBvSP!wC5vrhfwjSpVX&#hlR7XuK*_6A{JaRjWGP^hdoN@k~1&twIdk=*)TF>E0}(GX_6`mKvY#`vHqWRX>MdVEF!+XjNT&J{ocG0`lvY zQGsy@mmsY`(Em+4Q&hhLW`cUS-2u&wsp4MXK0B_TNxy<_`yNiv+J3Faqz%;!`Z&?V zs3|tWn)R0PD!4pG^@cL5PtNkL=uKN%_kBr+qY5L}JXRs`Ps6`#{F5M)#j!f3pOGy@ z5y`(d13<`oh1Wc_J?ZqFvk%=}ceh=l0mNZBQ^jY?9$?IR$NEQh_a=-6cRe5lrSvwR zo6axq>m1H+mR!bfp#sKNp9qo$NUit#hx*38E85;D^AWdh>qSu8GoWl&7f|xIk)+f zt<}(tFik9B#xD^8S!4ep3f?N(lgK(uZzD0`g9lRfD_znm7#lIO8ei_|i0nwA(dk04 z0ppj8W*%dG(n5IG)d4}lTYqPt-2zesd&V5xT-AdZk1Oay&y7SDzHQM9r-S^WTEeO64JRC_erXg{d2X zq>2ZEcTe*KIHrV+tlDkBY2S;0=GI((p=-6AM=oD2 zUUV#}suFHkldB%YT*0^IiK5CO_PT^%cz(lW$Ew(sW%&cB|0m3@NC5B-#VXz;nPqVR zh0j0amfQV9SZR}rmWE*P-IZSnS-S#}YR1-E*Uk*HtSW;w`4H~%VuHHWv|x3%b8N&g zPMinag_n&?!;mJ}cu^A7&W=X5kA4AcavXDSWY-ql5OqZ9t&OGj06t`S6_hN)68w)% zd~ah(fRC@Wm?Fu;GOv#|j4KJRkz`K6erFXM!JFm1&0_Dvbu-nClS|MrVr12kO@flJ z=#iTi?Lv2qYFs})Zv&HI^%PAi3~guk8N}jmMhaIxFP=DF+QN;*myd6lbU3|Vevio= zTNuTs@&8&Xx$qf@VC65TV%C3t!Yo(qVUAb7bDDfhMR4kdjIdQ*r|VHylt3T`#$o+ zt1&>Pzx_8GB9w>}HW>g^p@X!IzddcaEBH?TWp8Nu%{B~_g*S1<{#~l-PnRpNK|k49 re*uSw38gyU|K0HM>Rz@pe}jDER!yS!(wCMW4M(@r@Kcp1f4%)5EgR&z diff --git a/docs/using_vscode_to_compile_and_install b/docs/using_vscode_to_compile_and_install index 186ab3f7..db8f8467 100644 --- a/docs/using_vscode_to_compile_and_install +++ b/docs/using_vscode_to_compile_and_install @@ -51,11 +51,11 @@ git clone https://github.com/colobot/colobot.git --recurse-submodules * Open cmake extension in the left menu. * Click on 'configure all projects'. -* On the status line at the bottom click compilation target and choose install. +* On the status line at the bottom change the compilation target to 'install' * Click build. * Click launch. ![alt text](../docimg/vscode-screenshot.png "vscode screenshot") -If you have any problems create an issue or talk to us on our Discord channel: https://discord.gg/TRCJRc. \ No newline at end of file +If you have any problems create an issue or talk to us on our [Discord channel](https://discord.gg/TRCJRc). \ No newline at end of file From 767f7f00495fbfaa3937d394a1efaad447b3e4ad Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:24:19 +0200 Subject: [PATCH 12/20] fix discord link --- docs/using_vscode_to_compile_and_install.md | 61 +++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/using_vscode_to_compile_and_install.md diff --git a/docs/using_vscode_to_compile_and_install.md b/docs/using_vscode_to_compile_and_install.md new file mode 100644 index 00000000..587733bd --- /dev/null +++ b/docs/using_vscode_to_compile_and_install.md @@ -0,0 +1,61 @@ +# Using Visual studio code to compile and install project + +### Prerequisites + +Before compilation you have to install tools and dependencies (points 1,2,3): [Installing tools and dependencies](https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC#installing-tools-and-dependencies). + +### Cloning project + +In order to clone the project execute the following command: +``` +git clone https://github.com/colobot/colobot.git +``` +In order to clone `data` submodule you also have to execute: **(this module is needed to launch the game)** +``` +git submodule update --init +``` +If you want you can combine this commands and execute: +``` +git clone https://github.com/colobot/colobot.git --recurse-submodules +``` +### Configuring vscode + +1. Open project folder in vscode. +2. Install extension [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools). +3. Install extension [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools). +4. On the status line at the bottom you can choose cmake configuration and compiler (see the screenshot attached at the bottom) + +### Adding cmake settings: + +Create folder .vscode if there is none. Inside that folder create file settings.json with the following content: +```json +{ + "cmake.configureSettings": { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": ["msvc_x64_x64"], + "CMAKE_TOOLCHAIN_FILE": input path to toolchain, + "VCPKG_TARGET_TRIPLET": "x64-windows-static", + "BOOST_STATIC": "1", + "GLEW_STATIC": "1", + "MSVC_STATIC": "1" + }, + "cmake.buildDirectory": "${workspaceFolder}\\out\\build\\x64-Debug", + "cmake.installPrefix": "${workspaceFolder}\\out\\build\\x64-Debug", + "cmake.generator": "ninja" +} +``` + +### Compilation and installation + +1. Open cmake extension in the left menu. +2. Click on `configure all projects`. +3. On the status line at the bottom change the compilation target to `install`. +4. Click `build`. +5. Click `launch`. + +![alt text](../docimg/vscode-screenshot.png "vscode screenshot") + + +If you have any problems create an issue or talk to us on our [Discord channel](https://discord.gg/56Fm9kb). \ No newline at end of file From da6c0c66d7f8555434a6441d6ac12a56963c79e8 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:26:20 +0200 Subject: [PATCH 13/20] delete dubled file --- docs/using_vscode_to_compile_and_install | 61 ------------------------ 1 file changed, 61 deletions(-) delete mode 100644 docs/using_vscode_to_compile_and_install diff --git a/docs/using_vscode_to_compile_and_install b/docs/using_vscode_to_compile_and_install deleted file mode 100644 index db8f8467..00000000 --- a/docs/using_vscode_to_compile_and_install +++ /dev/null @@ -1,61 +0,0 @@ -# Using Visual studio code to compile and install project - -### Prerequisites - -Before compilation you have to install tools and dependencies (points 1,2,3): [Installing tools and dependencies](https://github.com/colobot/colobot/wiki/How-to-Build-Colobot%3A-Gold-Edition-Using-MSVC#installing-tools-and-dependencies). - -### Cloning project - -In order to clone the project execute the following command: -``` -git clone https://github.com/colobot/colobot.git -``` -In order to clone 'data' submodule you also have to execute: **(this module is needed to launch the game)** -``` -git submodule update --init -``` -If you want you can combine this commands and execute: -``` -git clone https://github.com/colobot/colobot.git --recurse-submodules -``` -### Configuring vscode - -1. Open project folder in vscode. -2. Install extension [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools). -3. Install extensnion [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools). -4. On the status line at the bottom you can choose cmake configuration and compiler (see the screenshot attached at the bottom) - -### Adding cmake settings: - -* create folder .vscode if there is none. Inside that folder create file settings.json with the following content: -```json -{ - "cmake.configureSettings": { - "name": "x64-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": ["msvc_x64_x64"], - "CMAKE_TOOLCHAIN_FILE": input path to toolchain, - "VCPKG_TARGET_TRIPLET": "x64-windows-static", - "BOOST_STATIC": "1", - "GLEW_STATIC": "1", - "MSVC_STATIC": "1" - }, - "cmake.buildDirectory": "${workspaceFolder}\\out\\build\\x64-Debug", - "cmake.installPrefix": "${workspaceFolder}\\out\\build\\x64-Debug", - "cmake.generator": "ninja" -} -``` - -### Compilation and installation - -* Open cmake extension in the left menu. -* Click on 'configure all projects'. -* On the status line at the bottom change the compilation target to 'install' -* Click build. -* Click launch. - -![alt text](../docimg/vscode-screenshot.png "vscode screenshot") - - -If you have any problems create an issue or talk to us on our [Discord channel](https://discord.gg/TRCJRc). \ No newline at end of file From a3ceecb21e5ea84ed5016f02fdbad6a39a518d10 Mon Sep 17 00:00:00 2001 From: MrJohn10 <20319636+MrJohn10@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:48:52 +0200 Subject: [PATCH 14/20] improve screenshots --- docimg/cmake-build-all.png | Bin 0 -> 10264 bytes docimg/vscode-screenshot.png | Bin 68517 -> 19194 bytes docs/using_vscode_to_compile_and_install.md | 21 ++++++++++---------- 3 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 docimg/cmake-build-all.png diff --git a/docimg/cmake-build-all.png b/docimg/cmake-build-all.png new file mode 100644 index 0000000000000000000000000000000000000000..bc6f20434f903c2ea18fadae87c6db96d01b051e GIT binary patch literal 10264 zcmeHsc{r5+zc)q58bWBKk`zf()?t)N_DXg}5h}}wFxIgYNup#AUkM>2WS=qLu_pVz zkFoD&7{)$xW=8$a^Zc&soadb9I?r>i=enLh=DO#;@Avk3zhCdyXSu`g>T7Zy6+X(q zz`&_>=jMF|hC_E57#PD@4^f}|GD~_wy)e4p*Sx`iXcL{M-Y_{_*SpTZP#DF&_lTK# z&*pl^%$Qa){1RGsJ<+2?Qe(@D&2{L;3W?Zbn47qg zN=}H{yw~2g)Q6xB=PLsfHv_{3M$BP`Ky7sb1H)guJRs_0Ci>&+t2oqd83Nvo<%5Fv z!qDVowB0#I28MEN3=XxpPpRzlL6#DJT9EgSPY;W1qKTC$_5cQkKwo|~Y{5H&#i0^% zk>{2y0yY(Uv90+}{#6x65O;BA z=`L$ihaFe%AT}0-Pd&U#2$&8L%iSkaV8fANV~*!6J*M9!JL*_-_!Fnbo57oJR&@(; zqX9e37gaxNI5f#}^a3M_HxrsvYj7JKRq;iSjh8Z1hADU4SfH&9=R(M0>P{3*q{GpS zm5UK>jjieJ(I3LqwpIJqA4T5Z(~5GVNG&%+b3!D290x>tRk`ZG#E5HeMgc+}Dn`{l=73*K|Hs0p0q~v(c zwL6xPpDvS%3skmnRfz3CbPIZ~o9gM~r!P#he&e?wLfD71_g*}?!wrEoxRO>}8G#ID zl6<$0Y*x#du*~ss9Q7pBL=KhpqT~$4w)_`=sE-{dDQ4p3LQpl524j39zPDJC22RD! z%iTAr-PIc{8$TRRR_Ca%j^|yMAFWbw;~Ol*)@E~+nhZWXLHRo*tcdc?4g(sKw%PnL zIPw&qZeob6nqVaAcJ5~3vA815B}VNPhs&9pBV5oA$#sWw<%cYcb_!vF`-izb)k=8- zyH2bDk()@bB|+}gT>m|@$q8GEjl-m>No3;S1sL2-yhrz!W&_SFB*n*@U#090QW}*X zX8Y1ac-P~r>>&HpZ9JTCn!Awef~7a?Mc>TlT^_z05h?yxO2h_Ftd|crUaQft2Wxz5z2&KB+TiQj`oh0rz`aY- zZS2B_%`fPRho8NW_9nfD-Z$H;z8AdrD*)@?C;AjWXa~+&J2oOI{!9atyCWKbMye6M zyOW5b>MzAHzIY>Bil0dyX`EuZI|twNuO%Dg0>MBFW_+>Wjn*%Ia}M6z_#83sd>=!f z0-i`8w!sVy`@M7wE?*qREL_v?d{v%V(?G1a(={x=AMIs{eSd`S%x;GKvfcv~Tl|+W zRe9$4$*SBeUz0Ny(rRBfjD-fqwgUlB*9` z&cDA-9nHXuHFDmz#Den8lZdA5Y69|8U=5pMm*Cs|h!dOf-oy~uupL7;UXDe9rvBV& z9`S$}-Ls9Dfsce|cn_h1JJ;7=l#6C#7S3%imE*`2Uv&;i zfg8)=3VT-SU>J~Ru(rE?U5 z=ee)h@bHuNO8V)_7&X!WzvVl8ZqkZX2}|8EycXQ(y@n7;$eVr4U4DSizhaK-CRbhU zk`_LQsD%>l=!hQ0b7ae-3`;^f}Quv$4KSB|JrRkno8@AFn(k5s^V52AgQdaTb$CI-)< zE>A>EpPQck0-=nXX30uI!ZMg-_vFHF6iA91cX`%=m3`qi*6SYj2(1G_{$8(YHSs(( zv5xmy{#u%I_8$bOhpFA(SuF|h>94Y6z%wi-=V=h%-GeG4$8N)Zo^FrE`uH@?sS1$o z96z5Ph_P7*NJstfy;4}=8noUlC3`w@&|qQBbsb(B%2#Omv`|ZNw_9Haq|Q5PJniI zE!rsE%Y2>8VyY1iusO76Th{OmOCAvEwGE0oajeCr5YvpcQ4BP{xGC_RbQX+7J&MxS z5IciXhn@0abbKru=ua8&wb7GRdlG8EAcmq6+2g*GYFejR5Q0ME>hV0|St(vneJp<1sEUa05oklrkCE?q*YAlr`;5IzjAx<1J>`i+ zqCF(XZ#_fon#lL^orSzsCq{rD;d=3jh^8hjps&^Q%~7x9!>`>Y>ez~3ULG!kDkSR? z2({eFuWnEBrER@5v;8OnMRrQxlkd0kN*N5TcTgjq0Q#nMxRkXbBw=&uVJ$cIPr<&I z@^hq4n81nqlqX~R(3IUCm4fOv-9rpNxiBFmnK0@SfT8c$zqcqjSS#Eep5isJTot(a z?HiOS`Xx^M^Tnh`Z0bjX!(Jnvgi0`+U$x}friY?~{YG#ar^$F_%@z(E5 zr!+co&dJW6mHzWr9m*1!-H-W_&L9eNnD6s#u8d}zoB9yzg1wf;W5c5AB`@sidEEj^ zGyc3Q4Fg8Ldo#2*Launp-hAe&ENMy8(sq~GVBf-q*rV-&e6DRp=tuhRl3b0octL^u zZUgAOBi381b5U3uyG^Lop7S z>yB#6bXlAen($BwssCJZr?4!LD+I9VYxv-R~3&G^} zpuzE@%GaY=n_s}b!h!IUYELG@nhoA zJZJZN#FjUE<9diB%Iw(|m(O1_&n9}=IwB;>dYiSPKmFv7`E;|=$E+mSL4FEtaze`R z=I;4JhAT||ikOWxp5L`COjB^w4n*SFEG-S`er;po3brF67b~*n+hPTw4mm*UzEDaOE)@WDS_OlaYX6ZhsSI zcUjlBkgef~FOR~#H3EwZ9Ff|qb0ZX2FUXqpGW({~wW6$b_Ee9B6F|_>;i(iJ-S8RD zm$>?smJ7@Uou;DG?B3(QdbdA`DS2S3on#Gv2B zp^^NcOu!0f_#@@}r&Q&huT7_5# zZBvVI{-1r7eBZhi?eOP6hreNIm!6UlaFHmjfP{8?!bX#ZM6St&D)&an#N6`G*eHOj z%^DQS?(Q`6$Kn_{Y(kj1pPvmQ-A)-lP9FMXUZEUAJd=HCAb#1drg__{0DVuohn9IB zP+e+>Z-)NT(SH3Ch>=U5{LPfi34N&F97tM6bEN)iR3pj7R@Rgla+!MnoQwhks*EzP z*762&FmWHV>O3%W^97xg)CoMD$LWk#h?_6?oNS$-)X~>@ZO1qUyO>GS z|H+GNNo!jA!KFL1MSU@(NfthKF^~R+A9+nfb<&nHsZsal4nbX*%KZBOwO7-mJjTNL zgj>NZUDTYqUCk%HZmp5#1x1JA#N+;Avr>1uWd9x)bd`zw`2)S_LpJVm8BE+?#9^<` zJiQ>ulN>Q90XxNs(U3;uSW-o2KF~!A|H^V>EUZW{Ik0*<=@)a|j140j;Eo1?$K8>x zSbvtT*pf|G6o{iM%7xJt72h2AFuNAZ{<^jP*ny9hFLcp&moSH)vH~Vt>ERUeA6N~0 zLbqzCMbDDr9m9&i0ZZw72LV(c1W-X8R@O^gq~4N}>(^ejzWE(d{13d7=vIoAMa!Nj z59o#FftnRn?X3`UHPNS;+iJGWo_J^fZ<&n-n>_!K=&xIX$fXa6?Nm~&4;SAwX zX&rR7uer+#fVdq9>C=Qbv2ELS1$L7&KFYS;m2XlSbQ_96!C~>n^Z==?5_FY0q--}@ z*~=nz>?wle;MD%8;ups;L_Xrp#%k*s+iIzvd1E<;pyt`$MB`A5q=hq`R>cq38Dd!hvKGHMdmB;bPZs!_F-Ujv<5T zU~E^VME7tS6L-Jqfr<`Q#ZVe%yYp>%pa$UX!DBINKI-ByUe?-6b!w?Y5A1m)wW4~3 zIOn0iz^C)15My*}fVwFx{LDRCxgl0spffks+9VH)Pn=51_wcvTnDRt-_I(|np{g2 zk47j&R$GfQd}_Xe2S-&(eMNXHw#SJF^s(>3rBm{PvguS1N^PabVr9FKo^CFk5f*Q4 z^LMc8hG<3}5P$E1P(DqF7epyIdlQ?7^z_@rR#aFlL~0P-cO5pD-cUAPzNK31J`k>; z3OAiZt|klguu*Zfodd!f*}uf4N7GS17fgFC2qIpO&F}~xl41pDAAtHDtwbP9Gi7sm z?FQld3wm}sPf{}-qXbJv$zrGX*k`=OVWx-!J0EFw1VCud(b6Z&{7l?BJ#_b0F;vu; z1;?-D=!&xf;xg&oqhVON?P31au#NJ^tfpJ*V5m=L8oQopUNqF3kwSsnOo~M`b!C~ zEn7jEVcP zI7~!8xC|ok`+pmR*YlHdw(PUEG;rCEGerp$h}}2QCT%;tws)C^2J7;k&z_#H$o;~n z64#c(?ULz2y6N|=z0yMm8br+Q!I+1klN9${3&VF?@6Y17;rdF2U(SV=^{T|d7O%i` zfLA)v>0TnO+wKbiuP@ zLYf$vvInB1Ss`pmU0Wf!!lG%4f*f&>Bf<6BoRG_qG;p@OL#EALLL72q&gy}$5cYyk zK#cR^F%)ypJ>R@V_}2US9=8QC!vZ!uNXMY3%t&R%+Hjb|B~OnH;;I49xK7U4REKE} zHh;ag_~n(#By@9RKdWfQU1R3l&O70~vDY3nIJz-Gohq@$Ig8Q?i^Pq3yHQleh7_<^ zlp5BK*4=?w#wKoyI3eWJuT}@;iCX`g9-sN%&8MCd3Mq^I#M^ECw}pMjcvwU|>9S=P zws5L7217IvGD}v5_p)zj&lhN>$dckZbJ$B`cjD|{VP~nh)g$4YQ>rw25ruejcYi;) zjzocyiajEp5pxmq@x94>RB|{*!T8;j^S;#Km`U!%_e4p%9T$$PwWas7>U76kCJ6iW zr#ZVD_{+#ZzkQWD4w6)C*KXP|I0a3FMQA;Xlp!MR-oCmy>2*v9;4GZ!sc%R7$|%F zo;&}GU$A`$jjTk$wZk5FnGwYxw8P?zo`vU%#ohhIOYQip?#CyK_3(#f7@Ie8KBYYq zhe-@L)J3IDST5kUcQXX$ILB(sV&x_5)0ij1(yC1 zB&xeA7{M&1Bv(;d#}8jJpsX5=;W9Z_PL#%8k+9!671y-_v= z<$wYw7QOA;;jt%FKY5WDo|)+y^y74HOy$qEFEYi~X~@Ikq`JU)SG<#zGaOsZ@Q?K8 zp>otMRSDf|=o%5TNm$pE43=%Ezuoj5iq(|at4G~p2@{t%KErgrsDg-97~o}Oy_Nz0 z?ooWG9_PHlZuAxXcSkKAor-f|Qwy?jIjOR$&D36V0v|L?$C{ z9SRZ(4$HV83L@&rqRNEwp;8aoXv+*30YXVPEJSh|+qHlD3rsa@1cH$p6-^Wf?Om5* zsr@GgUh^gt4I8^{e3n~3Ltx{jzeh(1Z1mor5n7plee(uC**75$*DF+q~vOx%S<)IiVq5*qAGL4`^8kUkhhE+-jfQK9-FYU}HyHoRM(z=&*k0wk*HH z<1JCun?reNNU!NsLE~B+YF%MWbx#4jizSX3vo8gZB?T#@SFYYAM~Z(@zkL0PVm%C4 z6`A;$ptc^FX1Ui!>5OkjZjD5ln80_6<1Zm{aif%w-dSU$o$)0E8HcZ#W&@l)ci>vD zMb@jT(Sow&y2Q>lrs}m?QlR$8z^q~sYHc{{Nk%U`TjGc+yLwDcibfWGPwbq`Dcd1l zm(tj}Gxve}0W+%P>FzPCKVEy;aE!7O1z(#>jCD-ih6`G6VeGK&gj5S}c_f>d`SrRl zG~zr4s^8Kh`o@8eXX#YAJ>LkEwVJdh=b3CcT!HTlxwn%GntOVE(Ytfp8@=(>6fZG? zAYsap?RCOOYQ?sLXEXFWYka0-WmC`C(B@Lwd8O>gp8B`PW>Y2+;x=F!1}?+iAZNWp z+L!(Qq<9r4wMA5aZ5l^aIUxnhr0$?D9<0JnD~nSHMm+=kf9iVl2y_wqYT7oXZ*N7$ z{)Q5D*ZGS^uECh(+_EaQ<(U!AOrt;Wr*5nIf>0aAnkLZgj+Q!mpdmBKKwb>7Tz>1a zPAXpJw`Ji%nt@=v%n$B%r)zvH*MD1}j&}{`7K)Q9U8>fT8C(YB8zf1EP!DYBc9=u5 z2a4SL%PSJ}gYXyr1SyIkss+s-r*5+rqcYYhJTo)l{+fGz)4TG@7>#e=Xkg?)rT~F4 zw#lWf@+vzjp7|O?Vwm}kMncNWQmLM8HxM}75)9~TUw*gLyt~`*CutqH<{XPayZ zrmWa!E6t)DDm?Hv3h~&%KQZfqYl&@ZU2N?uSqsZHXsdea0Ro-E9v@BJ%&+PT!p^7Q zgW>|>-G5ozFV@w~!3F+QnS&GS)cvVh0_~yj(D?eFSP9(uOM_sA0{H8A08-yQz=Z-J zmd^bAhd=03m!aXiv(F<@@6*~N6T@eoN&R^zjS)#xTJk?lG_|$fimh_q6>ePrK^jlQ zprI0izYA{vgrK`T6oD;ZQ^A@+EKN-X`3V`tI2qj0vEuqU7kNie2wTtFn z(ooEcEX=VGZmqYk*-=}Rbf=!n(WhvQkbX+W`J;>7=l}JI!tj#k@P?GT%#Fta7>&An z^bMrOP09b^s`nH#{KL6)P!2q#^I1Ry*v$ElCp@s!H^;Gec13^oaDfs14QV4D?{X+{{;|IIp7OPy@= zo$Po4RP$T&ADk@%WEfYC}YWLpr!UeBxIHZx8>0H3!B*<9ByZkKF#J zq5t2y*K_vp={BH_FFAJwp&FH#*&{ z^YZTy_1@tUFDg+BNI&D8Vud`S7MhE;h(czDA0Qsvb(5YPl)9rXmjv2m}V5fs5sSUA?J+dy9BL!RD1Lz(u^bcB7O{^&@-mOU->O#D_OtRGP1g*kz>H}oW7uN5Cqmw0dak<{-M7GTPDyG4Fq zIG<$Cp&W1%b)`oSn4cSx-R(X8N>D#VIrCDUyGlvmY3~o&=XgOkMQNL$H!KDz?f%P- z)`s2IeyjDGV*cwFt+(G)eggfg2@Y&Fcz=F24Gz)syQXdhF*EaCDr_{*k2Cv8%^rQA zz^-;e(VrnwS2`O|YKaeql^Cp`s=EK{V!>C52#i?Zt-5sD`q7Zk$ML@j`~Pg4{Ik3v yFz5N<|0du69LxW||Bq4KKjrD?T7v=^J_NY8w9PtmkNP>BLF<T>LnYv%PNsrCO!W^b%_mf zi@q>#$aHv+-v4*cm&ej6UQxg8U;oV&D1xdrQDMH1N94(; z(u^_!`1s!bB`BGyR2a+8cYdE~(-Zf@AZfn86>fGIok^4@^YPtyAgXfe_EkXvzB>mp z0uJ|{GS%kevwrp8CjUE@{|%!5&Yu5Iv~i6|<6(Z`yMtHQBcoQa|J`^=&#D8-T*5%# zb9T#mC||R=;Zf+O@L43rhTS-W;)Ya(;mZQ#|dCaBW+ zr4&wWCwO^^nA{0YRCKzR-7@~R*oQ_`=W)CS&Xv@rlrMcA?pR6k)Ts?OtBLhA5w{*o zQ(jyv+j`C8GVcs%%1!jME~RmD^w$Mezj>5JZ&A1eKc8>v9+SHhK&|(_zdq9w zWmJ?*j4F>c$+x;bD=a3ScwCW8vk3nd_P8)R>zzMdFjQXRO`(Y0?D-p;j9#Tn6XG+^ z`~<<9wdY-H>l*y_yH;PiMPk|d=?xoYW>(!^9XuVPshs@Msv~hVw=vSlYGvhlX;A}# zU~%53v2OXRyllM!zE}64k6%@n{}r@Af-|HtcsIbcs5G~>K_$oFVEL$bQT?IXe#88i zSNQl={@6RJK8KkxRWHNV+7(X3Wf(*Vf%N-x-2`Di6tX&4Z|c6?w818$Ck3xQY9=o! z_0rz?bSLL+gKeV-YVk<(8b9m`%!;ntPpWHJ3@v#duZ0M5sy$Q>TETr;^(8Y_5 zNkbmcKZI?>hKL0a0Ql zo-=iB0@vK9`R~GhxxViZMKg?BeMerY1cA{#o&)k z3nxry(%>uG?9y&PZTK~WJRyIooNer*#|t?So+ub4BEaXHv$v~f5=CW@I5gLOx9uD` zzdOU`Z5Uj`oG3H1GVqL^iZ@VYg zP-_o<=TEm2;q#6EiLG2v>kc)djH4a7(-2lS-ZP{anp8EloKhsI@ovo`@MWn7Uc4-) zx;<5?!S^0H20xYd67nR}pJB@UAZs_QIc||Y+SeeLqVge&ZGE`{Y^LWv=YJnNDq2InuVt9fR-v`$;V!+mYkOK2lyefw~%TA_w?M7u) zGN^^sTKf#A3cxhY*szhTHXZYNg?9rN$;Mx&)<_G=+n9KTz6mt3rqqROTvh64((>-+ zy=4Yfa-#0T@FL7-%tNm{_}1Vqs8t*+4GdQIX8RP9*HZUMePUgyYNcP4hL*7yh;_{HHH` zU_LP++TN29@VA2XKaJ$axAJ84B|(94{(pPSwF-_26skB0x$n11&rW_T+fPDn6}yLA zFnpFgV`>|&Sn8;A-@rLf>EMmH$4@6C2*)}rJPU&cwT%?QI^P6|#Q(-vmGw2LDWEah z(Jo+z3i9XShsrQGtH~hP?(_?c;H8ZxbpFaV8_v0?aM`nItEP}zr=jh?aL@~UVF`PO z#Z|%hsCWL**EI3cblxRBgIL%n2#Cy<680K z_rxBqosLuJM0OnCM?2r0Z=a+hds3=ORy{0&W?Zc2D*Uy5yZ!gbx?f$>7pa08k=kOg}m3;Q7GmU6UTl}taaiBgBzT$w2y z+}pF*|3s*e8x80A;lJcnR}X7cgq9!kFNuX|PkerU{vB6iKAChe@Ke6>lCmFKsvR%d z{`KrLgS%gqs#^$APgrXQ>7|1X|25oqV-{bkHypDfCW&pgENGg-Z65;ON#7a}ox2}X z66s#4{SIT)rqGBcJ1Ucf{5r-@?+=8((Bs@~*w-Lm|K0uH%4ZKt#phz$pyK||k}Jv_ z^rGvI`8UU^*04#>hqkrV#>U-01$^=IV`iB$3v7BPh#20Oz%4wXOZmb{?^Bbrr*U1bmHv;#O4g|+LQWCo;hB$FPqDyDt3zV-|_m{ zZe;{CL6+7eL%7i))}41nl+L-R=`JRGf~%J&kWYc4DNBynB(}$f6TJHXr72TvI z`>-D0sYZjaN=I5hEofI>BpFGnl3yzyua1H zT$Rv@ejqAy5OR7vK+LnkTWP%7S#n8Zon3YbnV1m2ApPo22$pYL;a^I5d*80u-MVxX zypi(zENPXa_d6dW>tEE|zts_bHF~)XEtLyZV5A29UH-2C_Tnrk+N4Y5qvT6mQ3=Wz z((#Mhza-}RGJ~2QG|k-@YjfLF>4GvxKmMXt^#8N)^*n_c->^?xHxjl&PI#3zQ|3TbLVm+(}U2j^zJwlUok_*R#;!o_>{V5(6@s3|kou z^UU*IEe>%x=h|aK;TUA_a2;=A987eKKWhGyI@IgU>kG?d)`zCc<;&A=RE~v*xiz+` z&$yd1Uj$`K{6GB7)3yumk?Ae&Qxi$VjlpN>3S_qgXNLp^<0cm@l+L<;qQ10eq5a48 zlfqxFG$`(OY`}_glVCFXAwQbMz&Z$4|K?E6NC`5C(tJ8zIA&8Suy6o4UC&B^qA6!X zZ(|5j=TN;v2=_7Q5uAvbJBBb!r!nNJXRu)6)OGlYoPXS>IdZ}i{pR}+_K&h{HE+xz;XyCe8W6 z{QDSg!lyKc*4Xu^l_DUxBysRgTaPBbGn1N+JCH&37F%oI zUE9$bL?IbOs6KnXha|s$3Nd33`=Vd#^#86>whs7epLqwVuRU2St8zn7U$I*(+<90TVO2V`1yb%-pvM#lk^c2$ds6DnLCWOR2UE~LwCks+yCuK zoF!e|?qJr~T@c$5cLeqj1wXeqvWwwNCs@9f9IS)l!Zvm--;79eT`#QUz_7bgz)5A; z2kl77S1ov=2htzumnYZQ16eVQ4qMF8Xh34so6a35bzQWD+&q*Ac0+J3zVL=!RM>_nkfyJ6c4}P=`l=P$ zur=8B>EjTpz5AiiZP!3I$l6h5Qs_+V;;8MF1dXMB$4W1+2lVp5&kJ!|Syi#MkrE1I zkt}Ccm-TANSB3$XQ}X~7y-k=-SdT%@I8Mhj+*`t-bkm}Lb`ptqmb+yx+>=owt!GhdlH7;;TqE zww#H~u7mU+h}G)TV1?2M)+ocx^5U zJ8_eKWW7DGd?`pExxRBy#BezJJNdls?IkJBer+W(K07ZId;;-(ym`(lq38anUzn%A zg|w8!3#ICbytC>Jy3V|%M+?rgFuN39Uq|O^&@H?>-m4?3)~4@zxDncpE*!ydVmq%j zqgzRR-xgeq2qDs z^tg)<&zYBswZ}xVn~fN^5KX1%Ol?@3z~o7(_5QmB-q$>u^nzt>4W?)oB;Z@{L3#qxpQ3w(-Ba{U+N!Z)Ee+^%V1XE zR!Gqo8}+lh-qc>|KnC^l`t+X?6Zl%gWJ7zxiD{#}XN*qdO)HVqCduvI2Yg-p7N z=MB}DK2XmVQ(K7|cs{$t%}GJmWCdj7LqP^(J}WLVeNVcgIYJ& zg=UVGcTzynJ>f&%R|TgP@WrOXzGJQ*;sr|)VgNh63ungB zPak|be<|`wV`Rf`o&FNIo1F*SgSj)c<@W@q7j|2Wmz&nsU*6015Vw7r&%WiR}m zGGPHdSHNmPQp-uo^sH~eZ*cKNiu?O~6hZ6<7~K%|4Vv6XpnzmMFx&a#`@m;o*f$yG z8@<`oQlr6`;LtiBWt)!q81dVgP1NAoa?ZZd#{qG)w^{%=k}K@mof{uZdDeIB0Cyia z8~&GtXrgHQ$I1eH>6t^~k3jXADMbRiBI2RDJL)CLvN|DDGQWU~A$;L8 z%^C|85)s$mF(ViEBBc?=T0Ux%^%C;H^@9+ioP(#33nxzoZmgBO(sF1_?MHdcjmKEJ zG`ZR>8(?C4PP&e6B~AA4)v5C)65}YXwS>)86#F#AUPKh9wrN$9HIu~N+H+$gQw#mNt`VCpsc?3_ps`Y}eE z+5eQ1L@f;EF_|>kjGaJQc;5jz6oQf)*l~Hs1Z!!yd977%tTcazAeE#f;4t{dz|~l65}>l(#t96bn&q;nY*B z48nfM8I2jzA9bd1jiemFwWmv~ z4WBP79#AG@*Ahf-MQJT?t*Rp{C~Kwu61>L1b!T6QTzaM>XDx3AU5mb_Q5ajbAC!l` zsSnDgAnus05un_ba9`5nfD-0o*rB}pj;~_DAJz%D$9EBw_l1!4C`vQMfcmvpZ@PDM zGW>h*24Ny5;2o2_qt%D8-=1ppx-r$*0@D9McEemtxO?y3zKW3p9yp)0kev-VvhLxeZBn81Yu9KKSZ878h`0SP< zv7QibNaC&4Cv)PF_S;*S3X*!&^cZlS44PG+-6?OkQ5;W>}aXK;jtJDl?y(U`tkNhB~h8IAyErdmL#Fr_INt|qyJwLQip8S^~#pkK$ z;DM(CF@GlS-~Rg66z)3xK(0W?g{M(7Qet6)M3sMjYVEP3vLB_r(Pg}zm2&H+_5ir! zD`%>$cv5DgQd_u5Qq#FZac^D%PCtqwS7Mos0l8=g11+9~ez-gP#Kt~AK}k;nVtIP> z2q@1(B4z6@=|fX`j!I2(MR!`AJtLFmApPYmmRJ&-UJd^fP0{`n_K&6*eGHpun2pGJYEmo_ zUvn&QT7mpSP6qQp`?&r7|1rW0EQ#ECD)1H<@u6uZBOpjLWeQl7lE^d3az$2gx=c?5q43{>wT zzKN~frO=K718v^`1MMhf_ke+sKL<8DE2%t%*8v0FD2BH>Cd_HqLa>1!O@TcPyFe4K zAC*$PpF#CFg7bwW^_`aa0PMnFQkw>PQEY7yrBW7{xfc*S!whH|4S+%0p9b$kp7))VX>gD>J+*cmly^cjJQ5-; za3ci>xa8BS#(I*y;7<=Zy4wyJa6bc6>{uyjd^eZO| z+IJv^rhz5$WMA8IRM&(-d5^I~U0~o6r0C0645Q3*3b&btCz*a66?LlEbdekX~_SY!ot6-wu zWkIjXCPe_le@_4gqtclU&dW*pclM%U36;zT61C4kTGuvERi6CpX;c7^?c+~GRf2G$ z(7HVj6Zbr9ULFp%?drS@c&M=UD=4qBX?;KC-rrat-xz8%JbF}0@BL4-HmUptxu#!O zuN@Le*;XWfqqr<5%WNk?qX2Fp2I-B`i!!(R2m|Vz2XQseA>T3)bM(sKqwG;J=a=5o@}qeI*RC1zgx>C ztRYw>C07z025T`?dxtUaj zr@J0|ani{>N8Xj$CH2nZ@^raBiab8WuqRN4Ja*1}fxJIB@`oG_%p38NRrOzw+UlJt z8PrE^M5XvO#4D23XkC(QV8gsk_F#M?G_|FL@=GNUjz6^Q1yONLCVSz?Z-5J`O2JpR zo_YxzvTg)oVi>zm=R5M#ar%+e9I;t6rFdXF0OWM0eFH!oM0*b;CGXAfnGz|1%EHc} zfj*g3TSHdAl@Dgnq$7kl&`^V2ui*eRTc1Vt5!U=ml|cH%XU|xtjRRbeaD#5>m~D)Uk3g?H${Kr4#Rv61OJiAKk!@t&;#L} z?5_0PnV%mbF{gxH0^mabnU`TLG5K-u4**;e5~SY8RwXnI0D1Y5Qy%Oltacj1mIE&h^*_4yL>}k>DYy0EC9kTJ7Hf5W4k~ zfXuRMtwlv5fH>*|ZUXN}GzJ3@Y6{m>BBw~RxU?CtVQ35c5OuiMt6jVY+lVgOtMOn_ zJUn^ZadI%vkUlfhgF)U))%uzlkm^dYy#g%S?M`elm>b$H@xE*I5D*T`vr|+v{a15!$*q51h|GXjgy(n%(t& zr24Ha*d{5*Oi=QedF#Wy1puWgK*`r2jU!?r(ZB*u26p;R-g+vf36PY#TeT>OeX`~% zU8~n3x{;+$=AhpP9R_%?K~xpA7u7%ZqB=69v33UQ1_h#OG<6OXeZ9;4I1tsn>oX;D ziiQ!emWiL#rP4B-UkYaeYcYM2`zCf?*}oTn+w(FkI5}qN2W>t%n(=jJU>cOm2;35A zr&aWbAQ+#6dn^k!0z*>s&05<5hgCvJzV;oC+^ad)&OU`m1Iz_V+G7@l zg^lnHO2o~?E7`ZFL_zvefyF>s@^^6!TyPr6jK@k5O4_y9bn0Q6`G%}a<+L;uVAGmA z6ub#A-?5+bahrubXCvWL2SNJ$fuVbU4XOj$b^!FhY@*Igf88E1c?lIs;ZjmfgfCvX zdk9SXan`#DumY!eTm!5u{@nGA=HqXV;NpPg1itzvSnH4TZjEzxk*Ax#qKPB`lu+ z_G2mg0sEJo_R5?)JIYK8W_wS2cuo0uj|g~!sV+BJ<>teM-=@obIajiGzkxweCQwHj zEo0WJu}D=Xpsetv)L#b-KmBQVvRV7=Vcb)|urFm&ksPI1IkCqm=OlRf)Ry>cz_+>Y zMYtmjOMP382UV^>DBQwubKz56A*}R)001lrQPo=ju=+&zfE7FlQgf!&y~DmX168(& zwnHeoKzYPh=0Ovc$uMB|zn`%*bg*0QL2(v0alEaGoU_ErGfe`-fS6B_|i`c(48@)e4^ zxcHo6$Ek#qeReeod*!ry-&2SR02X#pY-hq#OJh^GCne6~!~H;m7T^TVY?u%w(d_BY zzV&mA&PIR}CoCwS8}GHw@qU)v>hDF{eJG~iC^!GUKW-;D9SAH}Q%uzh_~4A+6Wkk9 zrvDdr4ZiJye=f0sCW7AiCkYDVV;%JGD3gD`x3ThI?*jP${pEx;dc0Oib1HV!&39m){zooH+iRkb*msxUh| z#tU5iUZtP9781kVz5TA+?#T>Vmn|bx>nUt+{9Ii~OlDEhjOC+qfh0Sd5K+4G3 zsCH^^pQItPWjoCcn3Ts^n8KzYx4#Uw9)t6$U`{)f(H)_6MEx=Nc100pHyY^qp*ymK zs8I0k&|^9d8nwJhPpMq{v~LQ++v(0!g*mfVcYEW?+o*%{%g}NZp$xh2`HB9aM%Z*) zuoov~EEg%F%i69`TxXN@Fgq)zp*O_&Q}YKVL%{GcG&1J$QE`mpn@!9)Yo4bN$#0dX1H>;q+H! z8i!M(3Vf9tNpE`^tBF%ZTJ=tSm=b_Q6jKX6HxM3!TxLZfnO~lQo$N96NkvZeeF>-Ut?Z5TdODqU zXlGzxnS4VAW4!a79T~lV9_tXF&xJ;)Phk+;`Zag#Q>~-+a!wY0i(B%fd!;gpO0S(B zed!lCS4$P?yGH3AbRZ0R+eEnu3F-y(ZH8@rEyj(3TekCW^0l|p9jYxWUD%YlL@#iA zv|L^_EM|5d`MaO%2W7eo=N0BS?Y!Tn&YAvpL*^xw!JID=Sx&NF%`5CL1lG}IbMn8u z4Zpv8C0n}P^A3ZpDp4T(K6(94&8c48Mk}!A)N~zQ1=J z%AFx9!gypoUZmS<9~u(VxSc8HQxzTA$h`BdnbDa-$ehNEp^6Q5wBVWLP-7DYQajAi zaUT9Pv9oP)Gr;p@$<~kSr^lCE4&iLH{GFNR@KuW}>SR*idUODl!lL`2d~3myiaU!H zbm~Uq0P-R%eFe{bM~i)==SA6Z>k-416|=0w4=+wnYiA?3QH`C6KG8g?Y-JU;tlvzP z7uZ)doBKt@S=?_YwC%?Hu$QAk%Rs%<>sZuuWDX{TnzSrg`IcuVy0NW@Yzd}m4P12W z6_O>r=lXG93!z%=G0xGvDsaTk7#2K?p$_GfZ6VD%vjsWGp-mB4DEBVMX-7yHDuUon z_RI>X7}qTPI$vy$XPL*H5OU^|B zjF~>H^~kJjn^?>Nf2XFv`3*g-s_1XKHzRA2k$T=yxc%lGLyMWztv86(?wz0#zq!KT z5rK;TF$DP|s$ynW>ieKmEz&NZ^mf=R)_`QBwZ9>LWCq}jk$Tm&@-}+>_M6c%hU7IwlH=?WR@D&M%zWnsKh;j3ta?dCXFErh5=mvA^VmBC zK{G->Mv)P;6^_LOV>VRRc?%sqU{k}}2p$%gUTOJ40cwbk7KniZE{L#4EspjQ3 zV&zDDm(Tqau{xrNUEh|(FLP^=O@CNqQc&?KyoGQr9MoQFw=pw}7m~a_<+En)-jr9p zO6Fy!hRf1RQ--2Tr0|Z{BE$FYv4cm?%%9NCV*Qr8b9!fvMGyDyC#nn04S&)y zjG4{Pg|s(C?M!zN8=-Kyx-J|}QnpxybP^LaQwvdX(VN^YX!yZ~uGGmAd5$jg6@yJZ zAoiG6C41h4^FWRiO)hezuk-mExPoTW?yU|+PI(`Ik; zKKPfR8#=6CCt3rtv<9)DZ+$EMgvu+`9kW~Wi8%c#lo@I^s!`E(doHY*`UCU^Js#8@ zzzFj!KR!*&t36k@vZ*0v8(-On!bCitPjek@Xv$YY`SlNg=a6e6Y)E(8BJGzEC z@6k5sYB0k8ZA!-feoL8K!t5KzF=-a%xpK_CVFi=zfcy{x^rF7M&YP*FfF+5}1dVb@ zsT8-JC$!sjFN#Sg19#ejU$r=|k*a4yP(fpodMx_g5x;d*POo=t@5@JyhE9y%)+}_U zassaf#T^lPHuDmdtbIrO4QX{C#)X+-!MK5bK4*K{*N7uOVBzC=Kju}3((I~fl(0>1 zy01-(tY-H4nfyM??!w}dh&wwB!AU{sbC%?Mpjl>yyQ7URoP|uP`Z!@}F4mV3(emr+ zD(l19vPtQeK3WacgY;+g18+(YtlFC-)o|yisXkk8yCM>ARy1M2*WcHzDk~xwu{!*{ z$R4`^R2O61j{|4R-8UWuEZ(8*>NToz36q*J4>0Iz4(io;P2q(C9Db{|ySuhc=hSKI zZIP>yc8O1vuIzD1w5aNFXPVq~VQ$seSDqYE*lyiXDC*_dcU`hzVc2RY6Hu2u3+U-G&=%gEQ86!QCPeUH(5(W}9uAeP~-bomH=2`J_ z;Gou$pP*hzbl29&29#%6U+n&vHfGoY0pJ>OgVv)*?R?Epw-;2Jne|JmePf@um1oIi zcf39`T}{E#B*UvaoR?&m+52t?yEcz9k>eDJwYJk9V4iCCs`nHe77%Z0+3`A>iFWipQ)i?Cxu75~+i! z=WbQG&`$pWQMe%slatbT5m>8(w!26TH`Ioc=jc*eI80;A&eFio(#dsNv=gyW zir!AQpZ}`W=%pm*@1|!~Q?Ph=@y%_VyP#2vmnTdk?L_Vh)zkNzQiV>y>N)&!y5T*w z31(MlTBsSs_fuVMou0nVfdS#`$)3$t*wqbVG-}5C+j4s4yo6o3=?mK6Y-1(oof4UW z$;qJBV!aXzxY;RCDP?kfwZRB!t;)NaOn1j#ZfM;D)Gx|mZc)M_3`;Lc*tKhjB?IW($}V|gV=W2i!YpzBJ~vD( z%XfyX49`jb-c#4&EIXCsmOEb;`JI_TM0I_#5gI)vH@L)f;<$B+Hs)t9Yg8B}yTn`}WH+j^JuBEwk;Kliq?7w#}BBk3fc}bdY%=Opky(4JH8`e$+S7!xp>W{Kkw_CvZuQKwM?oWyz z^$oSZeBs=|l*D&OeAF7y!z1W+qVrr{kN3#410{h5<}WVTuEvsNp7=;*kFdXA^vPt) z`+>~)RSo%qHn9+JJCjU3L_M3&8R6;+Z(CN|Exx`Esc9pENAr#7)+=S+4_1Ra#;?S4 z^72IK2U1d2_1lgdo6aF#xv8qIGwS;AQ@U%7znk^h+PcOOA_2NdGs$W0=v8;GIeU_5 zZUHIEt1*;*H2ueQh+6Uif~~oXxX-Psu!vvlC+e$T8c1@6{6{N@MxkjvrJmOt zE=&{$LLZx4&-yCt3w$@zrPs<#Vt6fnU~YH}iCCRY)EZrzaz-NuTt>{A}aNo%EGI+siYXjD5brZ%3nTohoiSib( zWIVbkWGP#``NY*~z-RSyUvQwF^Cl}S9KlLg=Kh*a@@HIE@3XUxvD%rJR6%TPV4wS# z@LoHmBbnc^lr_2#NnSDj~h#lROLdmo{m42E9MyR*{s8ZGAqwo7xjQAf;^zZ_)z75;Ki#G+bu z3DH#FdSWo=gB_GNFNH;cqUe)-lBC@spvgmCT&`M4F26Be83uW?TRLS%gG!{~D`6?p z%cK>~H=+CCF}esu6#MHpH$5K$swuA=dG&Hf>0AC8wRHZMdFcb^K+Bq%9%^P$dc-!4 z#`>UW%I^5k`VG6Y&c3jf0Lr;VCEGNGW&TuONP1-V)|18}mYMvmmCd*5DV6}m$bkb2Cbqj;@44UFrzgH>s3@8EjQ z54OYFxPi+p@t%FldHwdN_{B86lwp}3(sjr6@lT>@6OFBLw%h=+=RE3ZBD+)0ClMMx zU}4`I#F>sE=Wpl@Ly6pJl@l`cXMsDy&nsK&u;+VibMS1ZB^3QKW_6n#E4M)J>ohCd z-q*ByHsB~pKRvEwaw+VnJ$PSy_H*q^y0iCQdM(WvuZN}1(N9O3Of0UllpEJ9UT?R0s|B5{gB%SM#8X2m z(mX~LMoSHQUS=MxNj7N)^uN0*%r`r4hIx|VF_l(hXI&F@%#jX^oq+lGIH z=s4}4ovv^Cxx8pPLg?aKM7jHX#-d8Cg&ra|MKnGBDgF zx$LoZmxyJ~l4S-_xsvYaTCTJ6Nc z6XzF9H$#pU=oT&M7QHa^hIS{+&)!;hETViJVm!~49NZSKYj)NzfxPtEZmOf^6_(Nhm~+u#tB=Fy ze6K}p*rZJ5Y4#fZr43p-Ej4<+(lNNe3De+`Z{vDR52gNNwI;4R ze?zy_Dd@u3?A&jamaSxm#}8^_x=QQKafEZLaYqy^=&Zv&^ldvvT95bJ`xui_^mFCe z#^q&5m4P$jK%34(Olw#mXY?`9Wm52Z*~r`*($*`e5CI9jlf+HB^(C~M0JyeANE>BrCxup@%shbO9M47YtG2s^?jI%|2-WqP-pOfAh2XeVP*tA7?>6`3x^@1 zn&txIQ)D^rvu3?r#e?MKa!W6ahMaf$V8-l8d5KIzCxqdch}DU=w>Ga>y~jNOD%3;Q zw}X+kUd6;ZYPzGcoc_(Wk87+ghVi^W=|t8i7jubWf=KQ^GMr;{=Qa$MHMSoRHYjt= zNOS~ekVs2Go!R|x8&|DfGVvqKmT;wZ6WT9fnZgRI1@HD;nDVo8V`da6c{@hYUuz{| z1h^D{rlD=zTF4ksZ>OjNK$&zzGS=KxOoaI(r7 z?Tkc!%BQQss@fQ|QB8M7Z9L@YOsJ1YO`G4rGK8E{x7?vt)1l7JPi-1u<|{4AC~XPG z8G<7DBz_);i>ZjF-e5lHeGPRUsv5HhB25+2~a*4OfX|DpFpqrtA literal 68517 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 diff --git a/docs/using_vscode_to_compile_and_install.md b/docs/using_vscode_to_compile_and_install.md index 587733bd..7e7c4e3b 100644 --- a/docs/using_vscode_to_compile_and_install.md +++ b/docs/using_vscode_to_compile_and_install.md @@ -10,7 +10,7 @@ In order to clone the project execute the following command: ``` git clone https://github.com/colobot/colobot.git ``` -In order to clone `data` submodule you also have to execute: **(this module is needed to launch the game)** +In order to clone the `data` submodule you also have to execute: **(this module is needed to launch the game)** ``` git submodule update --init ``` @@ -23,11 +23,11 @@ git clone https://github.com/colobot/colobot.git --recurse-submodules 1. Open project folder in vscode. 2. Install extension [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools). 3. Install extension [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools). -4. On the status line at the bottom you can choose cmake configuration and compiler (see the screenshot attached at the bottom) +4. On the status line at the bottom you can choose cmake configuration and compiler (for reference see the image at the bottom). ### Adding cmake settings: -Create folder .vscode if there is none. Inside that folder create file settings.json with the following content: +Create folder .vscode if there is none. Inside that folder create a file settings.json with the following content: ```json { "cmake.configureSettings": { @@ -35,7 +35,7 @@ Create folder .vscode if there is none. Inside that folder create file settings. "generator": "Ninja", "configurationType": "Debug", "inheritEnvironments": ["msvc_x64_x64"], - "CMAKE_TOOLCHAIN_FILE": input path to toolchain, + "CMAKE_TOOLCHAIN_FILE": "input your path to the toolchain file", "VCPKG_TARGET_TRIPLET": "x64-windows-static", "BOOST_STATIC": "1", "GLEW_STATIC": "1", @@ -49,13 +49,14 @@ Create folder .vscode if there is none. Inside that folder create file settings. ### Compilation and installation -1. Open cmake extension in the left menu. -2. Click on `configure all projects`. -3. On the status line at the bottom change the compilation target to `install`. -4. Click `build`. -5. Click `launch`. +1. Open cmake extension in the left menu and click on `build all projects` + + ![alt text](../docimg/cmake-build-all.png "cmake build all screenshot") +2. On the status line at the bottom change the compilation target to `install`. +3. Click `build` to build the project. +4. After the project is built, click on `launch` to run a game. -![alt text](../docimg/vscode-screenshot.png "vscode screenshot") + ![alt text](../docimg/vscode-screenshot.png "compilation and installation screenshot") If you have any problems create an issue or talk to us on our [Discord channel](https://discord.gg/56Fm9kb). \ No newline at end of file From 5daaba6e646564af1424aa275a2036a2b0f93c1a Mon Sep 17 00:00:00 2001 From: MrSimbax Date: Sat, 11 Sep 2021 12:44:26 +0200 Subject: [PATCH 15/20] Fixes after merge Fix mistakes after previous merge and make it compile. Rewrite the function interpolating between time stamps as it was written after the original pull request was created. Add unit tests for it. I couldn't help myself and also changed some enums to enum classes and did some renames. --- src/app/app.cpp | 49 ++++-------- src/app/app.h | 2 +- src/app/main.cpp | 4 +- src/app/signal_handlers.cpp | 8 +- src/common/system/system.cpp | 51 ++++++------ src/common/system/system.h | 44 +++++------ src/common/system/system_linux.cpp | 33 +++----- src/common/system/system_linux.h | 4 - src/common/system/system_windows.cpp | 24 +++--- src/graphics/engine/engine.cpp | 2 +- test/unit/CMakeLists.txt | 15 +--- test/unit/app/app_test.cpp | 13 +--- test/unit/common/system/system_linux_test.cpp | 77 ------------------- test/unit/common/system/system_test.cpp | 46 ++++++++++- .../common/system/system_windows_test.cpp | 69 ----------------- 15 files changed, 146 insertions(+), 295 deletions(-) delete mode 100644 test/unit/common/system/system_linux_test.cpp delete mode 100644 test/unit/common/system/system_windows_test.cpp diff --git a/src/app/app.cpp b/src/app/app.cpp index 74cc7e6b..c2264cf8 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -137,13 +137,6 @@ CApplication::CApplication(CSystemUtils* systemUtils) m_absTime = 0.0f; m_relTime = 0.0f; - m_baseTimeStamp = m_systemUtils->CreateTimeStamp(); - m_curTimeStamp = m_systemUtils->CreateTimeStamp(); - m_lastTimeStamp = m_systemUtils->CreateTimeStamp(); - - m_manualFrameLast = m_systemUtils->CreateTimeStamp(); - m_manualFrameTime = m_systemUtils->CreateTimeStamp(); - m_joystickEnabled = false; @@ -161,13 +154,6 @@ CApplication::CApplication(CSystemUtils* systemUtils) CApplication::~CApplication() { - m_systemUtils->DestroyTimeStamp(m_baseTimeStamp); - m_systemUtils->DestroyTimeStamp(m_curTimeStamp); - m_systemUtils->DestroyTimeStamp(m_lastTimeStamp); - - m_systemUtils->DestroyTimeStamp(m_manualFrameLast); - m_systemUtils->DestroyTimeStamp(m_manualFrameTime); - m_joystickEnabled = false; m_controller.reset(); @@ -674,7 +660,7 @@ bool CApplication::Create() { GetLogger()->Error("Unknown graphics device: %s\n", graphics.c_str()); GetLogger()->Info("Changing to default device\n"); - m_systemUtils->SystemDialog(SDT_ERROR, "Graphics initialization error", "You have selected invalid graphics device with -graphics switch. Game will use default OpenGL device instead."); + m_systemUtils->SystemDialog(SystemDialogType::ERROR, "Graphics initialization error", "You have selected invalid graphics device with -graphics switch. Game will use default OpenGL device instead."); m_device = Gfx::CreateDevice(m_deviceConfig, "opengl"); } } @@ -1057,9 +1043,9 @@ int CApplication::Run() MoveMouse(Math::Point(0.5f, 0.5f)); // center mouse on start - SystemTimeStamp *previousTimeStamp = m_systemUtils->CreateTimeStamp(); - SystemTimeStamp *currentTimeStamp = m_systemUtils->CreateTimeStamp(); - SystemTimeStamp *interpolatedTimeStamp = m_systemUtils->CreateTimeStamp(); + SystemTimeStamp previousTimeStamp{}; + SystemTimeStamp currentTimeStamp{}; + SystemTimeStamp interpolatedTimeStamp{}; while (true) { @@ -1163,11 +1149,11 @@ int CApplication::Run() // If game speed is increased then we do extra ticks per loop iteration to improve physics accuracy. int numTickSlices = static_cast(GetSimulationSpeed()); if(numTickSlices < 1) numTickSlices = 1; - m_systemUtils->CopyTimeStamp(previousTimeStamp, m_curTimeStamp); - m_systemUtils->GetCurrentTimeStamp(currentTimeStamp); + previousTimeStamp = m_curTimeStamp; + currentTimeStamp = m_systemUtils->GetCurrentTimeStamp(); for(int tickSlice = 0; tickSlice < numTickSlices; tickSlice++) { - m_systemUtils->InterpolateTimeStamp(interpolatedTimeStamp, previousTimeStamp, currentTimeStamp, (tickSlice+1)/static_cast(numTickSlices)); + interpolatedTimeStamp = m_systemUtils->TimeStampLerp(previousTimeStamp, currentTimeStamp, (tickSlice+1)/static_cast(numTickSlices)); Event event = CreateUpdateEvent(interpolatedTimeStamp); if (event.type != EVENT_NULL && m_controller != nullptr) { @@ -1198,9 +1184,6 @@ int CApplication::Run() } end: - m_systemUtils->DestroyTimeStamp(previousTimeStamp); - m_systemUtils->DestroyTimeStamp(currentTimeStamp); - m_systemUtils->DestroyTimeStamp(interpolatedTimeStamp); return m_exitCode; } @@ -1539,17 +1522,15 @@ void CApplication::StartLoadingMusic() std::thread{[this]() { GetLogger()->Debug("Cache sounds...\n"); - SystemTimeStamp* musicLoadStart = m_systemUtils->CreateTimeStamp(); - m_systemUtils->GetCurrentTimeStamp(musicLoadStart); + SystemTimeStamp musicLoadStart{m_systemUtils->GetCurrentTimeStamp()}; m_sound->Reset(); m_sound->CacheAll(); - SystemTimeStamp* musicLoadEnd = m_systemUtils->CreateTimeStamp(); - m_systemUtils->GetCurrentTimeStamp(musicLoadEnd); - float musicLoadTime = m_systemUtils->TimeStampDiff(musicLoadStart, musicLoadEnd, STU_MSEC); + SystemTimeStamp musicLoadEnd{m_systemUtils->GetCurrentTimeStamp()}; + float musicLoadTime = m_systemUtils->TimeStampDiff(musicLoadStart, musicLoadEnd, SystemTimeUnit::MILLISECONDS); GetLogger()->Debug("Sound loading took %.2f ms\n", musicLoadTime); - }).detach(); + }}.detach(); } bool CApplication::GetSimulationSuspended() const @@ -1561,20 +1542,20 @@ void CApplication::SetSimulationSpeed(float speed) { m_simulationSpeed = speed; - m_systemUtils->CopyTimeStamp(m_baseTimeStamp, m_curTimeStamp); + m_baseTimeStamp = m_curTimeStamp; m_realAbsTimeBase = m_realAbsTime; m_absTimeBase = m_exactAbsTime; GetLogger()->Info("Simulation speed = %.2f\n", speed); } -Event CApplication::CreateUpdateEvent(SystemTimeStamp *newTimeStamp) +Event CApplication::CreateUpdateEvent(SystemTimeStamp newTimeStamp) { if (m_simulationSuspended) return Event(EVENT_NULL); - m_systemUtils->CopyTimeStamp(m_lastTimeStamp, m_curTimeStamp); - m_systemUtils->CopyTimeStamp(m_curTimeStamp, newTimeStamp); + m_lastTimeStamp = m_curTimeStamp; + m_curTimeStamp = newTimeStamp; long long absDiff = m_systemUtils->TimeStampExactDiff(m_baseTimeStamp, m_curTimeStamp); long long newRealAbsTime = m_realAbsTimeBase + absDiff; diff --git a/src/app/app.h b/src/app/app.h index 02e12124..60d11c42 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -297,7 +297,7 @@ protected: //! If applicable, creates a virtual event to match the changed state as of new event Event CreateVirtualEvent(const Event& sourceEvent); //! Prepares a simulation update event - TEST_VIRTUAL Event CreateUpdateEvent(SystemTimeStamp *newTimeStamp); + TEST_VIRTUAL Event CreateUpdateEvent(SystemTimeStamp newTimeStamp); //! Logs debug data for event void LogEvent(const Event& event); diff --git a/src/app/main.cpp b/src/app/main.cpp index 1cb8171a..002bd4f8 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -177,7 +177,7 @@ int main(int argc, char *argv[]) ParseArgsStatus status = app.ParseArguments(argc, argv); if (status == PARSE_ARGS_FAIL) { - systemUtils->SystemDialog(SDT_ERROR, "COLOBOT - Fatal Error", "Invalid commandline arguments!\n"); + systemUtils->SystemDialog(SystemDialogType::ERROR, "COLOBOT - Fatal Error", "Invalid commandline arguments!\n"); return app.GetExitCode(); } else if (status == PARSE_ARGS_HELP) @@ -190,7 +190,7 @@ int main(int argc, char *argv[]) code = app.GetExitCode(); if (code != 0 && !app.GetErrorMessage().empty()) { - systemUtils->SystemDialog(SDT_ERROR, "COLOBOT - Fatal Error", app.GetErrorMessage()); + systemUtils->SystemDialog(SystemDialogType::ERROR, "COLOBOT - Fatal Error", app.GetErrorMessage()); } logger.Info("Didn't run main loop. Exiting with code %d\n", code); return code; diff --git a/src/app/signal_handlers.cpp b/src/app/signal_handlers.cpp index 1558f4be..99c04d5d 100644 --- a/src/app/signal_handlers.cpp +++ b/src/app/signal_handlers.cpp @@ -162,7 +162,7 @@ void CSignalHandlers::ReportError(const std::string& errorMessage) std::cerr << std::endl << msg.str() << std::endl; - m_systemUtils->SystemDialog(SDT_ERROR, "Unhandled exception occurred!", msg.str()); + m_systemUtils->SystemDialog(SystemDialogType::ERROR, "Unhandled exception occurred!", msg.str()); if (canSave && !triedSaving) { @@ -172,13 +172,13 @@ void CSignalHandlers::ReportError(const std::string& errorMessage) msg << std::endl; msg << "Do you want to try saving now?"; - SystemDialogResult result = m_systemUtils->SystemDialog(SDT_YES_NO, "Try to save?", msg.str()); - if (result == SDR_YES) + SystemDialogResult result = m_systemUtils->SystemDialog(SystemDialogType::YES_NO, "Try to save?", msg.str()); + if (result == SystemDialogResult::YES) { triedSaving = true; CResourceManager::CreateNewDirectory("crashsave"); robotMain->IOWriteScene("crashsave/data.sav", "crashsave/cbot.run", "crashsave/screen.png", "Backup at the moment of a crash", true); - m_systemUtils->SystemDialog(SDT_INFO, "Try to save?", "Saving finished.\nPlease restart the game now"); + m_systemUtils->SystemDialog(SystemDialogType::INFO, "Try to save?", "Saving finished.\nPlease restart the game now"); } } diff --git a/src/common/system/system.cpp b/src/common/system/system.cpp index 46fa81e2..d007fcb1 100644 --- a/src/common/system/system.cpp +++ b/src/common/system/system.cpp @@ -61,17 +61,17 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons { switch (type) { - case SDT_INFO: + case SystemDialogType::INFO: std::cout << "INFO: "; break; - case SDT_WARNING: + case SystemDialogType::WARNING: std::cout << "WARNING:"; break; - case SDT_ERROR: + case SystemDialogType::ERROR: std::cout << "ERROR: "; break; - case SDT_YES_NO: - case SDT_OK_CANCEL: + case SystemDialogType::YES_NO: + case SystemDialogType::OK_CANCEL: std::cout << "QUESTION: "; break; } @@ -80,24 +80,24 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons std::string line; - SystemDialogResult result = SDR_OK; + auto result = SystemDialogResult::OK; bool done = false; while (!done) { switch (type) { - case SDT_INFO: - case SDT_WARNING: - case SDT_ERROR: + case SystemDialogType::INFO: + case SystemDialogType::WARNING: + case SystemDialogType::ERROR: std::cout << "Press ENTER to continue"; break; - case SDT_YES_NO: + case SystemDialogType::YES_NO: std::cout << "Type 'Y' for Yes or 'N' for No"; break; - case SDT_OK_CANCEL: + case SystemDialogType::OK_CANCEL: std::cout << "Type 'O' for OK or 'C' for Cancel"; break; } @@ -106,35 +106,35 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons switch (type) { - case SDT_INFO: - case SDT_WARNING: - case SDT_ERROR: + case SystemDialogType::INFO: + case SystemDialogType::WARNING: + case SystemDialogType::ERROR: done = true; break; - case SDT_YES_NO: + case SystemDialogType::YES_NO: if (line == "Y" || line == "y") { - result = SDR_YES; + result = SystemDialogResult::YES; done = true; } else if (line == "N" || line == "n") { - result = SDR_NO; + result = SystemDialogResult::NO; done = true; } break; - case SDT_OK_CANCEL: + case SystemDialogType::OK_CANCEL: if (line == "O" || line == "o") { done = true; - result = SDR_OK; + result = SystemDialogResult::OK; } else if (line == "C" || line == "c") { done = true; - result = SDR_CANCEL; + result = SystemDialogResult::CANCEL; } break; } @@ -148,6 +148,11 @@ SystemTimeStamp CSystemUtils::GetCurrentTimeStamp() return std::chrono::high_resolution_clock::now(); } +SystemTimeStamp CSystemUtils::TimeStampLerp(SystemTimeStamp a, SystemTimeStamp b, float t) +{ + return a + std::chrono::duration_cast((b - a) * t); +} + long long CSystemUtils::TimeStampExactDiff(SystemTimeStamp before, SystemTimeStamp after) { return std::chrono::duration_cast(after - before).count(); @@ -158,11 +163,11 @@ float CSystemUtils::TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, long long exact = TimeStampExactDiff(before, after); float result = 0.0f; - if (unit == STU_SEC) + if (unit == SystemTimeUnit::SECONDS) result = exact * 1e-9; - else if (unit == STU_MSEC) + else if (unit == SystemTimeUnit::MILLISECONDS) result = exact * 1e-6; - else if (unit == STU_USEC) + else if (unit == SystemTimeUnit::MICROSECONDS) result = exact * 1e-3; else assert(false); diff --git a/src/common/system/system.h b/src/common/system/system.h index 2f7fd146..1d0b31eb 100644 --- a/src/common/system/system.h +++ b/src/common/system/system.h @@ -35,18 +35,18 @@ * \enum SystemDialogType * \brief Type of system dialog */ -enum SystemDialogType +enum class SystemDialogType { //! Information message - SDT_INFO, + INFO, //! Warning message - SDT_WARNING, + WARNING, //! Error message - SDT_ERROR, + ERROR, //! Yes/No question - SDT_YES_NO, + YES_NO, //! Ok/Cancel question - SDT_OK_CANCEL + OK_CANCEL }; /** @@ -55,26 +55,23 @@ enum SystemDialogType * * Means which button was pressed. */ -enum SystemDialogResult +enum class SystemDialogResult { - SDR_OK, - SDR_CANCEL, - SDR_YES, - SDR_NO + OK, + CANCEL, + YES, + NO }; /** * \enum SystemTimeUnit * \brief Time unit */ -enum SystemTimeUnit +enum class SystemTimeUnit { - //! seconds - STU_SEC, - //! milliseconds - STU_MSEC, - //! microseconds - STU_USEC + SECONDS, + MILLISECONDS, + MICROSECONDS }; using SystemTimeStamp = std::chrono::time_point; @@ -103,20 +100,23 @@ public: //! Displays a fallback system dialog using console TEST_VIRTUAL SystemDialogResult ConsoleSystemDialog(SystemDialogType type, const std::string& title, const std::string& message); - //! Interpolates between two timestamps. If i=0 then dst=a. If i=1 then dst=b. If i=0.5 then dst is halfway between. - virtual void InterpolateTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *a, SystemTimeStamp *b, float i) = 0; - //! Returns a time stamp associated with current time TEST_VIRTUAL SystemTimeStamp GetCurrentTimeStamp(); + //! Linearly interpolates between two timestamps. + SystemTimeStamp TimeStampLerp(SystemTimeStamp a, SystemTimeStamp b, float t); + //! Returns a difference between two timestamps in given time unit /** The difference is \a after - \a before. */ - float TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, SystemTimeUnit unit = STU_SEC); + float TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, SystemTimeUnit unit = SystemTimeUnit::SECONDS); //! Returns the exact (in nanosecond units) difference between two timestamps /** The difference is \a after - \a before. */ long long TimeStampExactDiff(SystemTimeStamp before, SystemTimeStamp after); + //! Returns the path where the executable binary is located (ends with the path separator) + virtual std::string GetBasePath(); + //! Returns the data path (containing textures, levels, helpfiles, etc) virtual std::string GetDataPath(); diff --git a/src/common/system/system_linux.cpp b/src/common/system/system_linux.cpp index 9f738aa9..056e34ad 100644 --- a/src/common/system/system_linux.cpp +++ b/src/common/system/system_linux.cpp @@ -46,20 +46,20 @@ SystemDialogResult CSystemUtilsLinux::SystemDialog(SystemDialogType type, const std::string options = ""; switch (type) { - case SDT_INFO: + case SystemDialogType::INFO: default: options = "--info"; break; - case SDT_WARNING: + case SystemDialogType::WARNING: options = "--warning"; break; - case SDT_ERROR: + case SystemDialogType::ERROR: options = "--error"; break; - case SDT_YES_NO: + case SystemDialogType::YES_NO: options = "--question --ok-label=\"Yes\" --cancel-label=\"No\""; break; - case SDT_OK_CANCEL: + case SystemDialogType::OK_CANCEL: options = "--question --ok-label=\"OK\" --cancel-label=\"Cancel\""; break; } @@ -67,14 +67,14 @@ SystemDialogResult CSystemUtilsLinux::SystemDialog(SystemDialogType type, const std::string command = "zenity " + options + " --text=\"" + message + "\" --title=\"" + title + "\""; int code = system(command.c_str()); - SystemDialogResult result = SDR_OK; + SystemDialogResult result = SystemDialogResult::OK; switch (type) { - case SDT_YES_NO: - result = code ? SDR_NO : SDR_YES; + case SystemDialogType::YES_NO: + result = code ? SystemDialogResult::NO : SystemDialogResult::YES; break; - case SDT_OK_CANCEL: - result = code ? SDR_CANCEL : SDR_OK; + case SystemDialogType::OK_CANCEL: + result = code ? SystemDialogResult::CANCEL : SystemDialogResult::OK; break; default: break; @@ -83,19 +83,6 @@ SystemDialogResult CSystemUtilsLinux::SystemDialog(SystemDialogType type, const return result; } -void CSystemUtilsLinux::InterpolateTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *a, SystemTimeStamp *b, float i) -{ - long long delta = TimeStampExactDiff(a, b); - delta *= i; // truncates - dst->clockTime.tv_sec = a->clockTime.tv_sec + delta / 1000000000; - dst->clockTime.tv_nsec = a->clockTime.tv_nsec + delta % 1000000000; - if(dst->clockTime.tv_nsec >= 1000000000) - { - dst->clockTime.tv_nsec -= 1000000000; - dst->clockTime.tv_sec++; - } -} - void CSystemUtilsLinux::GetCurrentTimeStamp(SystemTimeStamp *stamp) { clock_gettime(CLOCK_MONOTONIC_RAW, &stamp->clockTime); diff --git a/src/common/system/system_linux.h b/src/common/system/system_linux.h index 93a0c8ba..8a1e60ec 100644 --- a/src/common/system/system_linux.h +++ b/src/common/system/system_linux.h @@ -24,8 +24,6 @@ #include "common/system/system.h" -#include - //@colobot-lint-exclude UndefinedFunctionRule class CSystemUtilsLinux : public CSystemUtils @@ -35,8 +33,6 @@ public: SystemDialogResult SystemDialog(SystemDialogType type, const std::string& title, const std::string& message) override; - void InterpolateTimeStamp(SystemTimeStamp *dst, SystemTimeStamp *a, SystemTimeStamp *b, float i) override; - std::string GetSaveDir() override; std::string GetEnvVar(const std::string& name) override; diff --git a/src/common/system/system_windows.cpp b/src/common/system/system_windows.cpp index 1d3c9b1e..3f2bb171 100644 --- a/src/common/system/system_windows.cpp +++ b/src/common/system/system_windows.cpp @@ -37,20 +37,24 @@ SystemDialogResult CSystemUtilsWindows::SystemDialog(SystemDialogType type, cons switch (type) { - case SDT_INFO: + case SystemDialogType::INFO: default: windowsType = MB_ICONINFORMATION|MB_OK; break; - case SDT_WARNING: + case SystemDialogType::WARNING: windowsType = MB_ICONWARNING|MB_OK; break; - case SDT_ERROR: +// windows.h defines ERROR which collides with the enum name +#pragma push_macro("ERROR") +#undef ERROR + case SystemDialogType::ERROR: +#pragma pop_macro("ERROR") windowsType = MB_ICONERROR|MB_OK; break; - case SDT_YES_NO: + case SystemDialogType::YES_NO: windowsType = MB_ICONQUESTION|MB_YESNO; break; - case SDT_OK_CANCEL: + case SystemDialogType::OK_CANCEL: windowsType = MB_ICONWARNING|MB_OKCANCEL; break; } @@ -58,18 +62,18 @@ SystemDialogResult CSystemUtilsWindows::SystemDialog(SystemDialogType type, cons switch (MessageBoxW(nullptr, windowsMessage.c_str(), windowsTitle.c_str(), windowsType)) { case IDOK: - return SDR_OK; + return SystemDialogResult::OK; case IDCANCEL: - return SDR_CANCEL; + return SystemDialogResult::CANCEL; case IDYES: - return SDR_YES; + return SystemDialogResult::YES; case IDNO: - return SDR_NO; + return SystemDialogResult::NO; default: break; } - return SDR_OK; + return SystemDialogResult::OK; } //! Converts a wide Unicode string to an UTF8 string diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index 19df60f8..72cc69b4 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -3168,7 +3168,7 @@ void CEngine::Render() m_fpsCounter++; m_currentFrameTime = m_systemUtils->GetCurrentTimeStamp(); - float diff = m_systemUtils->TimeStampDiff(m_lastFrameTime, m_currentFrameTime, STU_SEC); + float diff = m_systemUtils->TimeStampDiff(m_lastFrameTime, m_currentFrameTime, SystemTimeUnit::SECONDS); if (diff > 1.0f) { m_lastFrameTime = m_currentFrameTime; diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index f0eaecd9..bcf187d0 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -1,10 +1,3 @@ -# Platform-dependent tests -if(PLATFORM_WINDOWS) - set(PLATFORM_TESTS common/system/system_windows_test.cpp) -elseif(PLATFORM_LINUX) - set(PLATFORM_TESTS common/system/system_linux_test.cpp) -endif() - set(TEST_FILES common/colobot.ini ) @@ -21,6 +14,7 @@ add_executable(colobot_ut CBot/CBotToken_test.cpp CBot/CBot_test.cpp common/config_file_test.cpp + common/system/system_test.cpp graphics/engine/lightman_test.cpp math/func_test.cpp math/geometry_test.cpp @@ -28,13 +22,6 @@ add_executable(colobot_ut math/vector_test.cpp ) -# Platform-dependent tests -if(PLATFORM_WINDOWS) - target_sources(colobot_ut PRIVATE common/system/system_windows_test.cpp) -elseif(PLATFORM_LINUX) - target_sources(colobot_ut PRIVATE common/system/system_linux_test.cpp) -endif() - target_include_directories(colobot_ut PRIVATE common math diff --git a/test/unit/app/app_test.cpp b/test/unit/app/app_test.cpp index 3b9443db..22fc3eb4 100644 --- a/test/unit/app/app_test.cpp +++ b/test/unit/app/app_test.cpp @@ -47,7 +47,7 @@ public: SDL_Quit(); } - Event CreateUpdateEvent(SystemTimeStamp *timestamp) override + Event CreateUpdateEvent(SystemTimeStamp timestamp) override { return CApplication::CreateUpdateEvent(timestamp); } @@ -117,8 +117,7 @@ void CApplicationUT::TestCreateUpdateEvent(long long relTimeExact, long long abs float relTime, float absTime, long long relTimeReal, long long absTimeReal) { - SystemTimeStamp *now = CreateTimeStamp(); - GetCurrentTimeStamp(now); + SystemTimeStamp now = GetCurrentTimeStamp(); Event event = m_app->CreateUpdateEvent(now); EXPECT_EQ(EVENT_FRAME, event.type); EXPECT_FLOAT_EQ(relTime, event.rTime); @@ -135,9 +134,7 @@ TEST_F(CApplicationUT, UpdateEventTimeCalculation_SimulationSuspended) { m_app->SuspendSimulation(); - SystemTimeStamp *now = CreateTimeStamp(); - GetCurrentTimeStamp(now); - Event event = m_app->CreateUpdateEvent(now); + Event event = m_app->CreateUpdateEvent(GetCurrentTimeStamp()); EXPECT_EQ(EVENT_NULL, event.type); } @@ -190,9 +187,7 @@ TEST_F(CApplicationUT, UpdateEventTimeCalculation_NegativeTimeOperation) NextInstant(-1111); - SystemTimeStamp *now = CreateTimeStamp(); - GetCurrentTimeStamp(now); - Event event = m_app->CreateUpdateEvent(now); + Event event = m_app->CreateUpdateEvent(GetCurrentTimeStamp()); EXPECT_EQ(EVENT_NULL, event.type); } diff --git a/test/unit/common/system/system_linux_test.cpp b/test/unit/common/system/system_linux_test.cpp deleted file mode 100644 index 6a503c18..00000000 --- a/test/unit/common/system/system_linux_test.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#include "common/system/system.h" -#include "common/system/system_linux.h" - -#include - -class CSystemUtilsLinuxUT : public testing::Test -{ -protected: - static const long long SEC = 1000000000; - - CSystemUtilsLinux m_systemUtils; -}; - - -TEST_F(CSystemUtilsLinuxUT, TimeStampDiff) -{ - SystemTimeStamp before, after; - - before.clockTime.tv_sec = 1; - before.clockTime.tv_nsec = 100; - - after.clockTime.tv_sec = 1; - after.clockTime.tv_nsec = 900; - - long long tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( 800, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-800, tDiff); - - // ------- - - before.clockTime.tv_sec = 2; - before.clockTime.tv_nsec = 200; - - after.clockTime.tv_sec = 3; - after.clockTime.tv_nsec = 500; - - tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( SEC + 300, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-SEC - 300, tDiff); - - // ------- - - before.clockTime.tv_sec = 3; - before.clockTime.tv_nsec = 200; - - after.clockTime.tv_sec = 4; - after.clockTime.tv_nsec = 100; - - tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( SEC - 100, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-SEC + 100, tDiff); -} diff --git a/test/unit/common/system/system_test.cpp b/test/unit/common/system/system_test.cpp index 60447dd7..f78a4f98 100644 --- a/test/unit/common/system/system_test.cpp +++ b/test/unit/common/system/system_test.cpp @@ -21,11 +21,13 @@ #include -struct SystemTest : ::testing::Test { +struct SystemTest : ::testing::Test +{ CSystemUtilsOther system; }; -TEST_F(SystemTest, TimeStampExactDiff) { +TEST_F(SystemTest, TimeStampExactDiff) +{ auto epoch = SystemTimeStamp{}; EXPECT_EQ(system.TimeStampExactDiff(epoch, epoch), 0); @@ -35,3 +37,43 @@ TEST_F(SystemTest, TimeStampExactDiff) { EXPECT_EQ(system.TimeStampExactDiff(before, after), std::chrono::nanoseconds{duration}.count()); EXPECT_EQ(system.TimeStampExactDiff(after, before), -std::chrono::nanoseconds{duration}.count()); } + +constexpr auto TIMESTAMP_START = SystemTimeStamp{std::chrono::nanoseconds{300}}; +constexpr auto TIMESTAMP_MID = SystemTimeStamp{std::chrono::nanoseconds{600}}; +constexpr auto TIMESTAMP_END = SystemTimeStamp{std::chrono::nanoseconds{900}}; + +constexpr auto LERP_PARAM_ZERO = 0.0f; +constexpr auto LERP_PARAM_HALF = 0.5f; +constexpr auto LERP_PARAM_ONE = 1.0f; + +TEST_F(SystemTest, TimeStampLerpReturnsStartWhenLerpParameterIsZero) +{ + EXPECT_EQ(TIMESTAMP_START, system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_ZERO)); +} + +TEST_F(SystemTest, TimeStampLerpReturnsEndWhenLerpParameterIsOne) +{ + EXPECT_EQ(TIMESTAMP_END, system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_ONE)); +} + +TEST_F(SystemTest, TimeStampLerpReturnsValueBetweenStartAndEndWhenLerpParameterIsBetweenZeroAndOne) +{ + EXPECT_EQ(TIMESTAMP_MID, system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF)); +} + +TEST_F(SystemTest, TimeStampLerpIsMonotonic) +{ + constexpr auto deltaLerpParam = 0.1f; + auto earlierTimeStamp = system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF - deltaLerpParam); + auto laterTimeStamp = system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF + deltaLerpParam); + EXPECT_TRUE(earlierTimeStamp < laterTimeStamp); +} + +TEST_F(SystemTest, TimeStampLerpIsConsistent) +{ + auto timeStamp = TIMESTAMP_START; + EXPECT_EQ(timeStamp, system.TimeStampLerp(timeStamp, timeStamp, LERP_PARAM_ZERO)); + EXPECT_EQ(timeStamp, system.TimeStampLerp(timeStamp, timeStamp, LERP_PARAM_HALF)); + EXPECT_EQ(timeStamp, system.TimeStampLerp(timeStamp, timeStamp, LERP_PARAM_ONE)); +} + diff --git a/test/unit/common/system/system_windows_test.cpp b/test/unit/common/system/system_windows_test.cpp deleted file mode 100644 index eb959ff0..00000000 --- a/test/unit/common/system/system_windows_test.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#include "common/system/system.h" -#include "common/system/system_windows.h" - -#include - -class CSystemUtilsWindowsWrapper : public CSystemUtilsWindows -{ -public: - void SetFrequency(long long frequency) - { - m_counterFrequency = frequency; - } -}; - -class CSystemUtilsWindowsUT : public testing::Test -{ -protected: - static const long long SEC = 1000000000; - - CSystemUtilsWindowsWrapper m_systemUtils; -}; - -TEST_F(CSystemUtilsWindowsUT, TimeStampDiff) -{ - m_systemUtils.SetFrequency(SEC); - - SystemTimeStamp before, after; - - before.counterValue = 100; - after.counterValue = 200; - - long long tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( 100, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-100, tDiff); - - // ------- - - m_systemUtils.SetFrequency(SEC/3); - - before.counterValue = 200; - after.counterValue = 400; - - tDiff = m_systemUtils.TimeStampExactDiff(&before, &after); - EXPECT_EQ( 200*3, tDiff); - - tDiff = m_systemUtils.TimeStampExactDiff(&after, &before); - EXPECT_EQ(-200*3, tDiff); -} From a69b88e09a6a2ecdc739e09ed8ca2afb50dce99f Mon Sep 17 00:00:00 2001 From: MrSimbax Date: Sat, 11 Sep 2021 13:26:38 +0200 Subject: [PATCH 16/20] Move time related functions out of CSystemUtils GetCurrentTimeStamp() has not been moved because of CApplication unit tests. --- src/CMakeLists.txt | 2 + src/app/app.cpp | 26 ++++---- src/app/app.h | 12 ++-- src/common/profiler.cpp | 10 ++-- src/common/profiler.h | 2 +- src/common/system/system.cpp | 29 +-------- src/common/system/system.h | 28 +-------- src/common/system/system_linux.cpp | 11 ---- src/common/timeutils.cpp | 54 +++++++++++++++++ src/common/timeutils.h | 50 ++++++++++++++++ src/graphics/engine/engine.cpp | 4 +- src/graphics/engine/engine.h | 4 +- test/unit/CMakeLists.txt | 5 +- test/unit/app/app_test.cpp | 11 ++-- test/unit/common/system/system_test.cpp | 79 ------------------------- test/unit/common/timeutils_test.cpp | 78 ++++++++++++++++++++++++ 16 files changed, 227 insertions(+), 178 deletions(-) create mode 100644 src/common/timeutils.cpp create mode 100644 src/common/timeutils.h delete mode 100644 test/unit/common/system/system_test.cpp create mode 100644 test/unit/common/timeutils_test.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 69de9fe0..105bce70 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -83,6 +83,8 @@ add_library(colobotbase STATIC common/singleton.h common/stringutils.cpp common/stringutils.h + common/timeutils.cpp + common/timeutils.h common/thread/worker_thread.h graphics/core/color.cpp graphics/core/color.h diff --git a/src/app/app.cpp b/src/app/app.cpp index c2264cf8..a30e0ba7 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -61,6 +61,9 @@ #include #include +using TimeUtils::TimeStamp; +using TimeUtils::TimeUnit; + char CApplication::m_languageLocale[] = { 0 }; @@ -70,7 +73,6 @@ const int JOYSTICK_TIMER_INTERVAL = 1000/30; //! Function called by the timer Uint32 JoystickTimerCallback(Uint32 interval, void *); - /** * \struct ApplicationPrivate * \brief Private data of CApplication class @@ -1043,9 +1045,9 @@ int CApplication::Run() MoveMouse(Math::Point(0.5f, 0.5f)); // center mouse on start - SystemTimeStamp previousTimeStamp{}; - SystemTimeStamp currentTimeStamp{}; - SystemTimeStamp interpolatedTimeStamp{}; + TimeStamp previousTimeStamp{}; + TimeStamp currentTimeStamp{}; + TimeStamp interpolatedTimeStamp{}; while (true) { @@ -1153,7 +1155,7 @@ int CApplication::Run() currentTimeStamp = m_systemUtils->GetCurrentTimeStamp(); for(int tickSlice = 0; tickSlice < numTickSlices; tickSlice++) { - interpolatedTimeStamp = m_systemUtils->TimeStampLerp(previousTimeStamp, currentTimeStamp, (tickSlice+1)/static_cast(numTickSlices)); + interpolatedTimeStamp = TimeUtils::Lerp(previousTimeStamp, currentTimeStamp, (tickSlice+1)/static_cast(numTickSlices)); Event event = CreateUpdateEvent(interpolatedTimeStamp); if (event.type != EVENT_NULL && m_controller != nullptr) { @@ -1478,7 +1480,7 @@ void CApplication::Render() void CApplication::RenderIfNeeded(int updateRate) { m_manualFrameTime = m_systemUtils->GetCurrentTimeStamp(); - long long diff = m_systemUtils->TimeStampExactDiff(m_manualFrameLast, m_manualFrameTime); + long long diff = TimeUtils::ExactDiff(m_manualFrameLast, m_manualFrameTime); if (diff < 1e9f / updateRate) { return; @@ -1522,13 +1524,13 @@ void CApplication::StartLoadingMusic() std::thread{[this]() { GetLogger()->Debug("Cache sounds...\n"); - SystemTimeStamp musicLoadStart{m_systemUtils->GetCurrentTimeStamp()}; + TimeStamp musicLoadStart{m_systemUtils->GetCurrentTimeStamp()}; m_sound->Reset(); m_sound->CacheAll(); - SystemTimeStamp musicLoadEnd{m_systemUtils->GetCurrentTimeStamp()}; - float musicLoadTime = m_systemUtils->TimeStampDiff(musicLoadStart, musicLoadEnd, SystemTimeUnit::MILLISECONDS); + TimeStamp musicLoadEnd{m_systemUtils->GetCurrentTimeStamp()}; + float musicLoadTime = TimeUtils::Diff(musicLoadStart, musicLoadEnd, TimeUnit::MILLISECONDS); GetLogger()->Debug("Sound loading took %.2f ms\n", musicLoadTime); }}.detach(); } @@ -1549,7 +1551,7 @@ void CApplication::SetSimulationSpeed(float speed) GetLogger()->Info("Simulation speed = %.2f\n", speed); } -Event CApplication::CreateUpdateEvent(SystemTimeStamp newTimeStamp) +Event CApplication::CreateUpdateEvent(TimeStamp newTimeStamp) { if (m_simulationSuspended) return Event(EVENT_NULL); @@ -1557,9 +1559,9 @@ Event CApplication::CreateUpdateEvent(SystemTimeStamp newTimeStamp) m_lastTimeStamp = m_curTimeStamp; m_curTimeStamp = newTimeStamp; - long long absDiff = m_systemUtils->TimeStampExactDiff(m_baseTimeStamp, m_curTimeStamp); + long long absDiff = TimeUtils::ExactDiff(m_baseTimeStamp, m_curTimeStamp); long long newRealAbsTime = m_realAbsTimeBase + absDiff; - long long newRealRelTime = m_systemUtils->TimeStampExactDiff(m_lastTimeStamp, m_curTimeStamp); + long long newRealRelTime = TimeUtils::ExactDiff(m_lastTimeStamp, m_curTimeStamp); if (newRealAbsTime < m_realAbsTime || newRealRelTime < 0) { diff --git a/src/app/app.h b/src/app/app.h index 60d11c42..7160be54 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -297,7 +297,7 @@ protected: //! If applicable, creates a virtual event to match the changed state as of new event Event CreateVirtualEvent(const Event& sourceEvent); //! Prepares a simulation update event - TEST_VIRTUAL Event CreateUpdateEvent(SystemTimeStamp newTimeStamp); + TEST_VIRTUAL Event CreateUpdateEvent(TimeUtils::TimeStamp newTimeStamp); //! Logs debug data for event void LogEvent(const Event& event); @@ -354,9 +354,9 @@ protected: //! Animation time stamps, etc. //@{ - SystemTimeStamp m_baseTimeStamp; - SystemTimeStamp m_lastTimeStamp; - SystemTimeStamp m_curTimeStamp; + TimeUtils::TimeStamp m_baseTimeStamp; + TimeUtils::TimeStamp m_lastTimeStamp; + TimeUtils::TimeStamp m_curTimeStamp; long long m_realAbsTimeBase; long long m_realAbsTime; @@ -373,8 +373,8 @@ protected: bool m_simulationSuspended; //@} - SystemTimeStamp m_manualFrameLast; - SystemTimeStamp m_manualFrameTime; + TimeUtils::TimeStamp m_manualFrameLast; + TimeUtils::TimeStamp m_manualFrameTime; //! Graphics device to use bool m_graphicsOverride = false; diff --git a/src/common/profiler.cpp b/src/common/profiler.cpp index d97572d8..56a5996d 100644 --- a/src/common/profiler.cpp +++ b/src/common/profiler.cpp @@ -23,10 +23,12 @@ #include +using TimeUtils::TimeStamp; + CSystemUtils* CProfiler::m_systemUtils = nullptr; long long CProfiler::m_performanceCounters[PCNT_MAX] = {0}; long long CProfiler::m_prevPerformanceCounters[PCNT_MAX] = {0}; -std::stack CProfiler::m_runningPerformanceCounters; +std::stack CProfiler::m_runningPerformanceCounters; std::stack CProfiler::m_runningPerformanceCountersType; void CProfiler::SetSystemUtils(CSystemUtils* systemUtils) @@ -39,7 +41,7 @@ void CProfiler::StartPerformanceCounter(PerformanceCounter counter) if (counter == PCNT_ALL) ResetPerformanceCounters(); - SystemTimeStamp timeStamp = m_systemUtils->GetCurrentTimeStamp(); + TimeStamp timeStamp = m_systemUtils->GetCurrentTimeStamp(); m_runningPerformanceCounters.push(timeStamp); m_runningPerformanceCountersType.push(counter); } @@ -49,8 +51,8 @@ void CProfiler::StopPerformanceCounter(PerformanceCounter counter) assert(m_runningPerformanceCountersType.top() == counter); m_runningPerformanceCountersType.pop(); - SystemTimeStamp timeStamp = m_systemUtils->GetCurrentTimeStamp(); - m_performanceCounters[counter] += m_systemUtils->TimeStampExactDiff(m_runningPerformanceCounters.top(), timeStamp); + TimeStamp timeStamp = m_systemUtils->GetCurrentTimeStamp(); + m_performanceCounters[counter] += TimeUtils::ExactDiff(m_runningPerformanceCounters.top(), timeStamp); m_runningPerformanceCounters.pop(); if (counter == PCNT_ALL) diff --git a/src/common/profiler.h b/src/common/profiler.h index 38956e70..0c3da2b1 100644 --- a/src/common/profiler.h +++ b/src/common/profiler.h @@ -73,7 +73,7 @@ private: static long long m_performanceCounters[PCNT_MAX]; static long long m_prevPerformanceCounters[PCNT_MAX]; - static std::stack m_runningPerformanceCounters; + static std::stack m_runningPerformanceCounters; static std::stack m_runningPerformanceCountersType; }; diff --git a/src/common/system/system.cpp b/src/common/system/system.cpp index d007fcb1..b21015d3 100644 --- a/src/common/system/system.cpp +++ b/src/common/system/system.cpp @@ -143,38 +143,11 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons return result; } -SystemTimeStamp CSystemUtils::GetCurrentTimeStamp() +TimeUtils::TimeStamp CSystemUtils::GetCurrentTimeStamp() { return std::chrono::high_resolution_clock::now(); } -SystemTimeStamp CSystemUtils::TimeStampLerp(SystemTimeStamp a, SystemTimeStamp b, float t) -{ - return a + std::chrono::duration_cast((b - a) * t); -} - -long long CSystemUtils::TimeStampExactDiff(SystemTimeStamp before, SystemTimeStamp after) -{ - return std::chrono::duration_cast(after - before).count(); -} - -float CSystemUtils::TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, SystemTimeUnit unit) -{ - long long exact = TimeStampExactDiff(before, after); - - float result = 0.0f; - if (unit == SystemTimeUnit::SECONDS) - result = exact * 1e-9; - else if (unit == SystemTimeUnit::MILLISECONDS) - result = exact * 1e-6; - else if (unit == SystemTimeUnit::MICROSECONDS) - result = exact * 1e-3; - else - assert(false); - - return result; -} - std::string CSystemUtils::GetBasePath() { if (m_basePath.empty()) diff --git a/src/common/system/system.h b/src/common/system/system.h index 1d0b31eb..b2399cf5 100644 --- a/src/common/system/system.h +++ b/src/common/system/system.h @@ -25,6 +25,7 @@ #pragma once #include "common/config.h" +#include "common/timeutils.h" #include #include @@ -63,19 +64,6 @@ enum class SystemDialogResult NO }; -/** - * \enum SystemTimeUnit - * \brief Time unit - */ -enum class SystemTimeUnit -{ - SECONDS, - MILLISECONDS, - MICROSECONDS -}; - -using SystemTimeStamp = std::chrono::time_point; - /** * \class CSystemUtils * \brief Platform-specific utils @@ -101,18 +89,7 @@ public: TEST_VIRTUAL SystemDialogResult ConsoleSystemDialog(SystemDialogType type, const std::string& title, const std::string& message); //! Returns a time stamp associated with current time - TEST_VIRTUAL SystemTimeStamp GetCurrentTimeStamp(); - - //! Linearly interpolates between two timestamps. - SystemTimeStamp TimeStampLerp(SystemTimeStamp a, SystemTimeStamp b, float t); - - //! Returns a difference between two timestamps in given time unit - /** The difference is \a after - \a before. */ - float TimeStampDiff(SystemTimeStamp before, SystemTimeStamp after, SystemTimeUnit unit = SystemTimeUnit::SECONDS); - - //! Returns the exact (in nanosecond units) difference between two timestamps - /** The difference is \a after - \a before. */ - long long TimeStampExactDiff(SystemTimeStamp before, SystemTimeStamp after); + TEST_VIRTUAL TimeUtils::TimeStamp GetCurrentTimeStamp(); //! Returns the path where the executable binary is located (ends with the path separator) virtual std::string GetBasePath(); @@ -142,5 +119,4 @@ public: private: std::string m_basePath; - std::vector> m_timeStamps; }; diff --git a/src/common/system/system_linux.cpp b/src/common/system/system_linux.cpp index 056e34ad..a5ef14c0 100644 --- a/src/common/system/system_linux.cpp +++ b/src/common/system/system_linux.cpp @@ -83,17 +83,6 @@ SystemDialogResult CSystemUtilsLinux::SystemDialog(SystemDialogType type, const return result; } -void CSystemUtilsLinux::GetCurrentTimeStamp(SystemTimeStamp *stamp) -{ - clock_gettime(CLOCK_MONOTONIC_RAW, &stamp->clockTime); -} - -long long CSystemUtilsLinux::TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) -{ - return (after->clockTime.tv_nsec - before->clockTime.tv_nsec) + - (after->clockTime.tv_sec - before->clockTime.tv_sec) * 1000000000ll; -} - std::string CSystemUtilsLinux::GetSaveDir() { #if PORTABLE_SAVES || DEV_BUILD diff --git a/src/common/timeutils.cpp b/src/common/timeutils.cpp new file mode 100644 index 00000000..96bcaa9c --- /dev/null +++ b/src/common/timeutils.cpp @@ -0,0 +1,54 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsitec.ch; http://colobot.info; http://github.com/colobot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://gnu.org/licenses + */ + +#include "common/timeutils.h" + +#include + +namespace TimeUtils +{ + +TimeStamp Lerp(TimeStamp a, TimeStamp b, float t) +{ + return a + std::chrono::duration_cast((b - a) * t); +} + +float Diff(TimeStamp before, TimeStamp after, TimeUnit unit) +{ + long long exact = ExactDiff(before, after); + + float result = 0.0f; + if (unit == TimeUnit::SECONDS) + result = exact * 1e-9; + else if (unit == TimeUnit::MILLISECONDS) + result = exact * 1e-6; + else if (unit == TimeUnit::MICROSECONDS) + result = exact * 1e-3; + else + assert(false); + + return result; +} + +long long ExactDiff(TimeStamp before, TimeStamp after) +{ + return std::chrono::duration_cast(after - before).count(); +} + +} // namespace TimeUtils diff --git a/src/common/timeutils.h b/src/common/timeutils.h new file mode 100644 index 00000000..5d67f4d7 --- /dev/null +++ b/src/common/timeutils.h @@ -0,0 +1,50 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsitec.ch; http://colobot.info; http://github.com/colobot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://gnu.org/licenses + */ + +/** + * \file common/timeutils.h + * \brief Some useful cross-platform operations on timestamps + */ + +#include + +namespace TimeUtils +{ + +enum class TimeUnit +{ + SECONDS, + MILLISECONDS, + MICROSECONDS +}; + +using TimeStamp = std::chrono::time_point; + +//! Linearly interpolates between two timestamps. +TimeStamp Lerp(TimeStamp a, TimeStamp b, float t); + +//! Returns a difference between two timestamps in given time unit +/** The difference is \a after - \a before. */ +float Diff(TimeStamp before, TimeStamp after, TimeUnit unit = TimeUnit::SECONDS); + +//! Returns the exact (in nanosecond units) difference between two timestamps +/** The difference is \a after - \a before. */ +long long ExactDiff(TimeStamp before, TimeStamp after); + +} // namespace TimeUtils diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index 72cc69b4..f241f85d 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -63,6 +63,8 @@ #include #include +using TimeUtils::TimeUnit; + // Graphics module namespace namespace Gfx { @@ -3168,7 +3170,7 @@ void CEngine::Render() m_fpsCounter++; m_currentFrameTime = m_systemUtils->GetCurrentTimeStamp(); - float diff = m_systemUtils->TimeStampDiff(m_lastFrameTime, m_currentFrameTime, SystemTimeUnit::SECONDS); + float diff = TimeUtils::Diff(m_lastFrameTime, m_currentFrameTime, TimeUnit::SECONDS); if (diff > 1.0f) { m_lastFrameTime = m_currentFrameTime; diff --git a/src/graphics/engine/engine.h b/src/graphics/engine/engine.h index b652b3c3..db6eb8e1 100644 --- a/src/graphics/engine/engine.h +++ b/src/graphics/engine/engine.h @@ -1310,8 +1310,8 @@ protected: //! Last encountered error std::string m_error; - SystemTimeStamp m_lastFrameTime; - SystemTimeStamp m_currentFrameTime; + TimeUtils::TimeStamp m_lastFrameTime; + TimeUtils::TimeStamp m_currentFrameTime; int m_fpsCounter; float m_fps; diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index bcf187d0..b549229e 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -14,13 +14,12 @@ add_executable(colobot_ut CBot/CBotToken_test.cpp CBot/CBot_test.cpp common/config_file_test.cpp - common/system/system_test.cpp + common/timeutils_test.cpp graphics/engine/lightman_test.cpp math/func_test.cpp math/geometry_test.cpp math/matrix_test.cpp - math/vector_test.cpp -) + math/vector_test.cpp) target_include_directories(colobot_ut PRIVATE common diff --git a/test/unit/app/app_test.cpp b/test/unit/app/app_test.cpp index 22fc3eb4..549941c6 100644 --- a/test/unit/app/app_test.cpp +++ b/test/unit/app/app_test.cpp @@ -31,6 +31,7 @@ using namespace HippoMocks; namespace ph = std::placeholders; +using TimeUtils::TimeStamp; class CApplicationWrapper : public CApplication { @@ -47,7 +48,7 @@ public: SDL_Quit(); } - Event CreateUpdateEvent(SystemTimeStamp timestamp) override + Event CreateUpdateEvent(TimeStamp timestamp) override { return CApplication::CreateUpdateEvent(timestamp); } @@ -69,7 +70,7 @@ protected: void NextInstant(long long diff); - SystemTimeStamp GetCurrentTimeStamp(); + TimeStamp GetCurrentTimeStamp(); void TestCreateUpdateEvent(long long relTimeExact, long long absTimeExact, float relTime, float absTime, @@ -103,9 +104,9 @@ void CApplicationUT::TearDown() } -SystemTimeStamp CApplicationUT::GetCurrentTimeStamp() +TimeStamp CApplicationUT::GetCurrentTimeStamp() { - return SystemTimeStamp{SystemTimeStamp::duration{m_currentTime}}; + return TimeStamp{ TimeStamp::duration{m_currentTime}}; } void CApplicationUT::NextInstant(long long diff) @@ -117,7 +118,7 @@ void CApplicationUT::TestCreateUpdateEvent(long long relTimeExact, long long abs float relTime, float absTime, long long relTimeReal, long long absTimeReal) { - SystemTimeStamp now = GetCurrentTimeStamp(); + TimeStamp now = GetCurrentTimeStamp(); Event event = m_app->CreateUpdateEvent(now); EXPECT_EQ(EVENT_FRAME, event.type); EXPECT_FLOAT_EQ(relTime, event.rTime); diff --git a/test/unit/common/system/system_test.cpp b/test/unit/common/system/system_test.cpp deleted file mode 100644 index f78a4f98..00000000 --- a/test/unit/common/system/system_test.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2018, Daniel Roux, EPSITEC SA & TerranovaTeam - * http://epsitec.ch; http://colobot.info; http://github.com/colobot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://gnu.org/licenses - */ - -#include "common/system/system_other.h" - -#include - -struct SystemTest : ::testing::Test -{ - CSystemUtilsOther system; -}; - -TEST_F(SystemTest, TimeStampExactDiff) -{ - auto epoch = SystemTimeStamp{}; - EXPECT_EQ(system.TimeStampExactDiff(epoch, epoch), 0); - - auto duration = std::chrono::microseconds{123456789L}; - auto before = std::chrono::high_resolution_clock::now(); - auto after = before + duration; - EXPECT_EQ(system.TimeStampExactDiff(before, after), std::chrono::nanoseconds{duration}.count()); - EXPECT_EQ(system.TimeStampExactDiff(after, before), -std::chrono::nanoseconds{duration}.count()); -} - -constexpr auto TIMESTAMP_START = SystemTimeStamp{std::chrono::nanoseconds{300}}; -constexpr auto TIMESTAMP_MID = SystemTimeStamp{std::chrono::nanoseconds{600}}; -constexpr auto TIMESTAMP_END = SystemTimeStamp{std::chrono::nanoseconds{900}}; - -constexpr auto LERP_PARAM_ZERO = 0.0f; -constexpr auto LERP_PARAM_HALF = 0.5f; -constexpr auto LERP_PARAM_ONE = 1.0f; - -TEST_F(SystemTest, TimeStampLerpReturnsStartWhenLerpParameterIsZero) -{ - EXPECT_EQ(TIMESTAMP_START, system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_ZERO)); -} - -TEST_F(SystemTest, TimeStampLerpReturnsEndWhenLerpParameterIsOne) -{ - EXPECT_EQ(TIMESTAMP_END, system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_ONE)); -} - -TEST_F(SystemTest, TimeStampLerpReturnsValueBetweenStartAndEndWhenLerpParameterIsBetweenZeroAndOne) -{ - EXPECT_EQ(TIMESTAMP_MID, system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF)); -} - -TEST_F(SystemTest, TimeStampLerpIsMonotonic) -{ - constexpr auto deltaLerpParam = 0.1f; - auto earlierTimeStamp = system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF - deltaLerpParam); - auto laterTimeStamp = system.TimeStampLerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF + deltaLerpParam); - EXPECT_TRUE(earlierTimeStamp < laterTimeStamp); -} - -TEST_F(SystemTest, TimeStampLerpIsConsistent) -{ - auto timeStamp = TIMESTAMP_START; - EXPECT_EQ(timeStamp, system.TimeStampLerp(timeStamp, timeStamp, LERP_PARAM_ZERO)); - EXPECT_EQ(timeStamp, system.TimeStampLerp(timeStamp, timeStamp, LERP_PARAM_HALF)); - EXPECT_EQ(timeStamp, system.TimeStampLerp(timeStamp, timeStamp, LERP_PARAM_ONE)); -} - diff --git a/test/unit/common/timeutils_test.cpp b/test/unit/common/timeutils_test.cpp new file mode 100644 index 00000000..0f312a53 --- /dev/null +++ b/test/unit/common/timeutils_test.cpp @@ -0,0 +1,78 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2018-2021, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsitec.ch; http://colobot.info; http://github.com/colobot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://gnu.org/licenses + */ + +#include "common/timeutils.h" + +#include + +namespace TimeUtils +{ + +TEST(TimeUtilsExactDiffTest, ExactDiff) +{ + auto epoch = TimeStamp{}; + EXPECT_EQ(ExactDiff(epoch, epoch), 0); + + auto duration = std::chrono::microseconds{123456789L}; + auto before = std::chrono::high_resolution_clock::now(); + auto after = before + duration; + EXPECT_EQ(ExactDiff(before, after), std::chrono::nanoseconds{duration}.count()); + EXPECT_EQ(ExactDiff(after, before), -std::chrono::nanoseconds{duration}.count()); +} + +constexpr auto TIMESTAMP_START = TimeStamp{std::chrono::nanoseconds{300}}; +constexpr auto TIMESTAMP_MID = TimeStamp{std::chrono::nanoseconds{600}}; +constexpr auto TIMESTAMP_END = TimeStamp{std::chrono::nanoseconds{900}}; + +constexpr auto LERP_PARAM_ZERO = 0.0f; +constexpr auto LERP_PARAM_HALF = 0.5f; +constexpr auto LERP_PARAM_ONE = 1.0f; + +TEST(TimeUtilsLerpTest, LerpReturnsStartWhenLerpParameterIsZero) +{ + EXPECT_EQ(TIMESTAMP_START, Lerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_ZERO)); +} + +TEST(TimeUtilsLerpTest, LerpReturnsEndWhenLerpParameterIsOne) +{ + EXPECT_EQ(TIMESTAMP_END, Lerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_ONE)); +} + +TEST(TimeUtilsLerpTest, LerpReturnsValueBetweenStartAndEndWhenLerpParameterIsBetweenZeroAndOne) +{ + EXPECT_EQ(TIMESTAMP_MID, Lerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF)); +} + +TEST(TimeUtilsLerpTest, LerpIsMonotonic) +{ + constexpr auto deltaLerpParam = 0.1f; + auto earlierTimeStamp = Lerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF - deltaLerpParam); + auto laterTimeStamp = Lerp(TIMESTAMP_START, TIMESTAMP_END, LERP_PARAM_HALF + deltaLerpParam); + EXPECT_TRUE(earlierTimeStamp < laterTimeStamp); +} + +TEST(TimeUtilsLerpTest, LerpIsConsistent) +{ + auto timeStamp = TIMESTAMP_START; + EXPECT_EQ(timeStamp, Lerp(timeStamp, timeStamp, LERP_PARAM_ZERO)); + EXPECT_EQ(timeStamp, Lerp(timeStamp, timeStamp, LERP_PARAM_HALF)); + EXPECT_EQ(timeStamp, Lerp(timeStamp, timeStamp, LERP_PARAM_ONE)); +} + +} // namespace TimeUtils From 6aa83c93acae1ddf1ae0ce92af6a25fe7f676ba2 Mon Sep 17 00:00:00 2001 From: MrSimbax Date: Sat, 11 Sep 2021 13:28:37 +0200 Subject: [PATCH 17/20] Update data submodule --- data | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data b/data index 0ac8197b..21a45c0b 160000 --- a/data +++ b/data @@ -1 +1 @@ -Subproject commit 0ac8197b7a8a005c714b7696d36c642cf0e81474 +Subproject commit 21a45c0b8809accd142a83a81f1a3c92a327f319 From c9dca4cebdac4123b00c1c92dbb6f1f6b5ccae4b Mon Sep 17 00:00:00 2001 From: MrSimbax Date: Sat, 11 Sep 2021 13:40:22 +0200 Subject: [PATCH 18/20] Rename SystemDialogType::ERROR to ERROR_MSG Unfortunately, the ERROR name collides with a preprocessor definition in windows.h --- src/app/app.cpp | 2 +- src/app/main.cpp | 4 ++-- src/app/signal_handlers.cpp | 2 +- src/common/system/system.cpp | 6 +++--- src/common/system/system.h | 2 +- src/common/system/system_linux.cpp | 2 +- src/common/system/system_windows.cpp | 6 +----- 7 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/app/app.cpp b/src/app/app.cpp index a30e0ba7..9abd16f8 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -662,7 +662,7 @@ bool CApplication::Create() { GetLogger()->Error("Unknown graphics device: %s\n", graphics.c_str()); GetLogger()->Info("Changing to default device\n"); - m_systemUtils->SystemDialog(SystemDialogType::ERROR, "Graphics initialization error", "You have selected invalid graphics device with -graphics switch. Game will use default OpenGL device instead."); + m_systemUtils->SystemDialog(SystemDialogType::ERROR_MSG, "Graphics initialization error", "You have selected invalid graphics device with -graphics switch. Game will use default OpenGL device instead."); m_device = Gfx::CreateDevice(m_deviceConfig, "opengl"); } } diff --git a/src/app/main.cpp b/src/app/main.cpp index 002bd4f8..7c6173b0 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -177,7 +177,7 @@ int main(int argc, char *argv[]) ParseArgsStatus status = app.ParseArguments(argc, argv); if (status == PARSE_ARGS_FAIL) { - systemUtils->SystemDialog(SystemDialogType::ERROR, "COLOBOT - Fatal Error", "Invalid commandline arguments!\n"); + systemUtils->SystemDialog(SystemDialogType::ERROR_MSG, "COLOBOT - Fatal Error", "Invalid commandline arguments!\n"); return app.GetExitCode(); } else if (status == PARSE_ARGS_HELP) @@ -190,7 +190,7 @@ int main(int argc, char *argv[]) code = app.GetExitCode(); if (code != 0 && !app.GetErrorMessage().empty()) { - systemUtils->SystemDialog(SystemDialogType::ERROR, "COLOBOT - Fatal Error", app.GetErrorMessage()); + systemUtils->SystemDialog(SystemDialogType::ERROR_MSG, "COLOBOT - Fatal Error", app.GetErrorMessage()); } logger.Info("Didn't run main loop. Exiting with code %d\n", code); return code; diff --git a/src/app/signal_handlers.cpp b/src/app/signal_handlers.cpp index 99c04d5d..f0e9f95e 100644 --- a/src/app/signal_handlers.cpp +++ b/src/app/signal_handlers.cpp @@ -162,7 +162,7 @@ void CSignalHandlers::ReportError(const std::string& errorMessage) std::cerr << std::endl << msg.str() << std::endl; - m_systemUtils->SystemDialog(SystemDialogType::ERROR, "Unhandled exception occurred!", msg.str()); + m_systemUtils->SystemDialog(SystemDialogType::ERROR_MSG, "Unhandled exception occurred!", msg.str()); if (canSave && !triedSaving) { diff --git a/src/common/system/system.cpp b/src/common/system/system.cpp index b21015d3..42242565 100644 --- a/src/common/system/system.cpp +++ b/src/common/system/system.cpp @@ -67,7 +67,7 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons case SystemDialogType::WARNING: std::cout << "WARNING:"; break; - case SystemDialogType::ERROR: + case SystemDialogType::ERROR_MSG: std::cout << "ERROR: "; break; case SystemDialogType::YES_NO: @@ -89,7 +89,7 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons { case SystemDialogType::INFO: case SystemDialogType::WARNING: - case SystemDialogType::ERROR: + case SystemDialogType::ERROR_MSG: std::cout << "Press ENTER to continue"; break; @@ -108,7 +108,7 @@ SystemDialogResult CSystemUtils::ConsoleSystemDialog(SystemDialogType type, cons { case SystemDialogType::INFO: case SystemDialogType::WARNING: - case SystemDialogType::ERROR: + case SystemDialogType::ERROR_MSG: done = true; break; diff --git a/src/common/system/system.h b/src/common/system/system.h index b2399cf5..d5bf3d99 100644 --- a/src/common/system/system.h +++ b/src/common/system/system.h @@ -43,7 +43,7 @@ enum class SystemDialogType //! Warning message WARNING, //! Error message - ERROR, + ERROR_MSG, // windows.h defines ERROR which collides with the "ERROR" enum name //! Yes/No question YES_NO, //! Ok/Cancel question diff --git a/src/common/system/system_linux.cpp b/src/common/system/system_linux.cpp index a5ef14c0..0f9efeee 100644 --- a/src/common/system/system_linux.cpp +++ b/src/common/system/system_linux.cpp @@ -53,7 +53,7 @@ SystemDialogResult CSystemUtilsLinux::SystemDialog(SystemDialogType type, const case SystemDialogType::WARNING: options = "--warning"; break; - case SystemDialogType::ERROR: + case SystemDialogType::ERROR_MSG: options = "--error"; break; case SystemDialogType::YES_NO: diff --git a/src/common/system/system_windows.cpp b/src/common/system/system_windows.cpp index 3f2bb171..773bd62d 100644 --- a/src/common/system/system_windows.cpp +++ b/src/common/system/system_windows.cpp @@ -44,11 +44,7 @@ SystemDialogResult CSystemUtilsWindows::SystemDialog(SystemDialogType type, cons case SystemDialogType::WARNING: windowsType = MB_ICONWARNING|MB_OK; break; -// windows.h defines ERROR which collides with the enum name -#pragma push_macro("ERROR") -#undef ERROR - case SystemDialogType::ERROR: -#pragma pop_macro("ERROR") + case SystemDialogType::ERROR_MSG: windowsType = MB_ICONERROR|MB_OK; break; case SystemDialogType::YES_NO: From 171bba1bcd87ef4630b3daa1bcee46cc8705c255 Mon Sep 17 00:00:00 2001 From: MrSimbax Date: Sat, 11 Sep 2021 15:50:20 +0200 Subject: [PATCH 19/20] Rewrite the update license script The old script duplicated license headers for me, instead of updating them. --- tools/update-license.py | 58 +++++++++++++++++++++++++++++++++++++++++ tools/update-license.sh | 12 --------- 2 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 tools/update-license.py delete mode 100755 tools/update-license.sh diff --git a/tools/update-license.py b/tools/update-license.py new file mode 100644 index 00000000..9f79fc23 --- /dev/null +++ b/tools/update-license.py @@ -0,0 +1,58 @@ +import argparse +import os +from typing import * + +T = TypeVar('T') + +SOURCE_FILES_SEARCH_DIRECTORIES = ['src', 'test'] +LICENSE_HEADER_END = ' * along with this program. If not, see http://gnu.org/licenses' + +def is_source_file(file: str) -> bool: + return file.endswith('.cpp') or file.endswith('.h') + + +def find_all_source_files(directories: list[str]) -> str: + for directory in directories: + for root, found_dirs, found_files in os.walk(directory): + for file in found_files: + if is_source_file(file): + path = os.path.join(root, file) + yield path + + +def find_license_header_end(lines: list[str]) -> Optional[int]: + for idx, line in enumerate(lines): + if LICENSE_HEADER_END in line: + return idx + 2 # One more line with '*/' and idx past end + return None + + +def remove_range(a_list: list[T], begin: int, end: int) -> list[str]: + return a_list[0:begin] + a_list[end:] + + +def remove_license_header(lines: list[str]) -> list[str]: + return remove_range(lines, begin=0, end=find_license_header_end(lines)) + + +def add_license_header_at_beginning(lines: list[str], new_license_header: list[str]) -> list[str]: + return new_license_header + lines + + +def update_license_header(lines: list[str], new_license_header: list[str]) -> list[str]: + return add_license_header_at_beginning(remove_license_header(lines), new_license_header) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('license_header', help='Path to the new license header file', type=str) + args = parser.parse_args() + new_license_header = open(args.license_header).readlines() + for source_file in find_all_source_files(SOURCE_FILES_SEARCH_DIRECTORIES): + print(source_file) + lines = update_license_header(open(source_file).readlines(), new_license_header) + open(source_file, 'w', newline='\n').writelines(lines) + + +if __name__ == '__main__': + main() diff --git a/tools/update-license.sh b/tools/update-license.sh deleted file mode 100755 index 870e1735..00000000 --- a/tools/update-license.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -# Replaces license text with contents of file provided as an argument -if [ ! $# -eq 1 ]; then - echo "Usage: $0 [file with new license header]" - exit 1 -fi -find . -name "*.cpp" -or -name "*.h" | while read file; do - echo $file - sed '/\/\/ \* This.*/,/If not\, see.*/d' $file > $file.tmp - cat $1 $file.tmp > $file - rm $file.tmp -done From 80f074e2bae2ee0108d47b478f98d95e046aaeec Mon Sep 17 00:00:00 2001 From: MrSimbax Date: Sat, 11 Sep 2021 15:52:34 +0200 Subject: [PATCH 20/20] Update license headers --- LICENSE-HEADER.txt | 2 +- src/CBot/CBot.h | 2 +- src/CBot/CBotCStack.cpp | 2 +- src/CBot/CBotCStack.h | 2 +- src/CBot/CBotClass.cpp | 2 +- src/CBot/CBotClass.h | 2 +- src/CBot/CBotDebug.cpp | 2 +- src/CBot/CBotDebug.h | 2 +- src/CBot/CBotDefParam.cpp | 2 +- src/CBot/CBotDefParam.h | 2 +- src/CBot/CBotDefines.h | 2 +- src/CBot/CBotEnums.h | 2 +- src/CBot/CBotExternalCall.cpp | 2 +- src/CBot/CBotExternalCall.h | 2 +- src/CBot/CBotFileUtils.cpp | 2 +- src/CBot/CBotFileUtils.h | 2 +- src/CBot/CBotInstr/CBotBlock.cpp | 2 +- src/CBot/CBotInstr/CBotBlock.h | 2 +- src/CBot/CBotInstr/CBotBoolExpr.cpp | 2 +- src/CBot/CBotInstr/CBotBoolExpr.h | 2 +- src/CBot/CBotInstr/CBotBreak.cpp | 2 +- src/CBot/CBotInstr/CBotBreak.h | 2 +- src/CBot/CBotInstr/CBotCase.cpp | 2 +- src/CBot/CBotInstr/CBotCase.h | 2 +- src/CBot/CBotInstr/CBotCatch.cpp | 2 +- src/CBot/CBotInstr/CBotCatch.h | 2 +- src/CBot/CBotInstr/CBotCondition.cpp | 2 +- src/CBot/CBotInstr/CBotCondition.h | 2 +- src/CBot/CBotInstr/CBotDefArray.cpp | 2 +- src/CBot/CBotInstr/CBotDefArray.h | 2 +- src/CBot/CBotInstr/CBotDefBoolean.cpp | 2 +- src/CBot/CBotInstr/CBotDefBoolean.h | 2 +- src/CBot/CBotInstr/CBotDefClass.cpp | 2 +- src/CBot/CBotInstr/CBotDefClass.h | 2 +- src/CBot/CBotInstr/CBotDefFloat.cpp | 2 +- src/CBot/CBotInstr/CBotDefFloat.h | 2 +- src/CBot/CBotInstr/CBotDefInt.cpp | 2 +- src/CBot/CBotInstr/CBotDefInt.h | 2 +- src/CBot/CBotInstr/CBotDefString.cpp | 2 +- src/CBot/CBotInstr/CBotDefString.h | 2 +- src/CBot/CBotInstr/CBotDo.cpp | 2 +- src/CBot/CBotInstr/CBotDo.h | 2 +- src/CBot/CBotInstr/CBotEmpty.cpp | 2 +- src/CBot/CBotInstr/CBotEmpty.h | 2 +- src/CBot/CBotInstr/CBotExprLitBool.cpp | 2 +- src/CBot/CBotInstr/CBotExprLitBool.h | 2 +- src/CBot/CBotInstr/CBotExprLitChar.cpp | 2 +- src/CBot/CBotInstr/CBotExprLitChar.h | 2 +- src/CBot/CBotInstr/CBotExprLitNan.cpp | 2 +- src/CBot/CBotInstr/CBotExprLitNan.h | 2 +- src/CBot/CBotInstr/CBotExprLitNull.cpp | 2 +- src/CBot/CBotInstr/CBotExprLitNull.h | 2 +- src/CBot/CBotInstr/CBotExprLitNum.cpp | 2 +- src/CBot/CBotInstr/CBotExprLitNum.h | 2 +- src/CBot/CBotInstr/CBotExprLitString.cpp | 2 +- src/CBot/CBotInstr/CBotExprLitString.h | 2 +- src/CBot/CBotInstr/CBotExprRetVar.cpp | 2 +- src/CBot/CBotInstr/CBotExprRetVar.h | 2 +- src/CBot/CBotInstr/CBotExprUnaire.cpp | 2 +- src/CBot/CBotInstr/CBotExprUnaire.h | 2 +- src/CBot/CBotInstr/CBotExprVar.cpp | 2 +- src/CBot/CBotInstr/CBotExprVar.h | 2 +- src/CBot/CBotInstr/CBotExpression.cpp | 2 +- src/CBot/CBotInstr/CBotExpression.h | 2 +- src/CBot/CBotInstr/CBotFieldExpr.cpp | 2 +- src/CBot/CBotInstr/CBotFieldExpr.h | 2 +- src/CBot/CBotInstr/CBotFor.cpp | 2 +- src/CBot/CBotInstr/CBotFor.h | 2 +- src/CBot/CBotInstr/CBotFunction.cpp | 2 +- src/CBot/CBotInstr/CBotFunction.h | 2 +- src/CBot/CBotInstr/CBotIf.cpp | 2 +- src/CBot/CBotInstr/CBotIf.h | 2 +- src/CBot/CBotInstr/CBotIndexExpr.cpp | 2 +- src/CBot/CBotInstr/CBotIndexExpr.h | 2 +- src/CBot/CBotInstr/CBotInstr.cpp | 2 +- src/CBot/CBotInstr/CBotInstr.h | 2 +- src/CBot/CBotInstr/CBotInstrCall.cpp | 2 +- src/CBot/CBotInstr/CBotInstrCall.h | 2 +- src/CBot/CBotInstr/CBotInstrMethode.cpp | 2 +- src/CBot/CBotInstr/CBotInstrMethode.h | 2 +- src/CBot/CBotInstr/CBotInstrUtils.cpp | 2 +- src/CBot/CBotInstr/CBotInstrUtils.h | 2 +- src/CBot/CBotInstr/CBotLeftExpr.cpp | 2 +- src/CBot/CBotInstr/CBotLeftExpr.h | 2 +- src/CBot/CBotInstr/CBotLeftExprVar.cpp | 2 +- src/CBot/CBotInstr/CBotLeftExprVar.h | 2 +- src/CBot/CBotInstr/CBotListArray.cpp | 2 +- src/CBot/CBotInstr/CBotListArray.h | 2 +- src/CBot/CBotInstr/CBotListExpression.cpp | 2 +- src/CBot/CBotInstr/CBotListExpression.h | 2 +- src/CBot/CBotInstr/CBotListInstr.cpp | 2 +- src/CBot/CBotInstr/CBotListInstr.h | 2 +- src/CBot/CBotInstr/CBotLogicExpr.cpp | 2 +- src/CBot/CBotInstr/CBotLogicExpr.h | 2 +- src/CBot/CBotInstr/CBotNew.cpp | 2 +- src/CBot/CBotInstr/CBotNew.h | 2 +- src/CBot/CBotInstr/CBotParExpr.cpp | 2 +- src/CBot/CBotInstr/CBotParExpr.h | 2 +- src/CBot/CBotInstr/CBotPostIncExpr.cpp | 2 +- src/CBot/CBotInstr/CBotPostIncExpr.h | 2 +- src/CBot/CBotInstr/CBotPreIncExpr.cpp | 2 +- src/CBot/CBotInstr/CBotPreIncExpr.h | 2 +- src/CBot/CBotInstr/CBotRepeat.cpp | 2 +- src/CBot/CBotInstr/CBotRepeat.h | 2 +- src/CBot/CBotInstr/CBotReturn.cpp | 2 +- src/CBot/CBotInstr/CBotReturn.h | 2 +- src/CBot/CBotInstr/CBotSwitch.cpp | 2 +- src/CBot/CBotInstr/CBotSwitch.h | 2 +- src/CBot/CBotInstr/CBotThrow.cpp | 2 +- src/CBot/CBotInstr/CBotThrow.h | 2 +- src/CBot/CBotInstr/CBotTry.cpp | 2 +- src/CBot/CBotInstr/CBotTry.h | 2 +- src/CBot/CBotInstr/CBotTwoOpExpr.cpp | 2 +- src/CBot/CBotInstr/CBotTwoOpExpr.h | 2 +- src/CBot/CBotInstr/CBotWhile.cpp | 2 +- src/CBot/CBotInstr/CBotWhile.h | 2 +- src/CBot/CBotProgram.cpp | 2 +- src/CBot/CBotProgram.h | 2 +- src/CBot/CBotStack.cpp | 2 +- src/CBot/CBotStack.h | 2 +- src/CBot/CBotToken.cpp | 2 +- src/CBot/CBotToken.h | 2 +- src/CBot/CBotTypResult.cpp | 2 +- src/CBot/CBotTypResult.h | 2 +- src/CBot/CBotUtils.cpp | 2 +- src/CBot/CBotUtils.h | 2 +- src/CBot/CBotVar/CBotVar.cpp | 2 +- src/CBot/CBotVar/CBotVar.h | 2 +- src/CBot/CBotVar/CBotVarArray.cpp | 2 +- src/CBot/CBotVar/CBotVarArray.h | 2 +- src/CBot/CBotVar/CBotVarBoolean.cpp | 2 +- src/CBot/CBotVar/CBotVarBoolean.h | 2 +- src/CBot/CBotVar/CBotVarByte.h | 2 +- src/CBot/CBotVar/CBotVarChar.h | 2 +- src/CBot/CBotVar/CBotVarClass.cpp | 2 +- src/CBot/CBotVar/CBotVarClass.h | 2 +- src/CBot/CBotVar/CBotVarDouble.h | 2 +- src/CBot/CBotVar/CBotVarFloat.cpp | 2 +- src/CBot/CBotVar/CBotVarFloat.h | 2 +- src/CBot/CBotVar/CBotVarInt.cpp | 2 +- src/CBot/CBotVar/CBotVarInt.h | 2 +- src/CBot/CBotVar/CBotVarLong.h | 2 +- src/CBot/CBotVar/CBotVarPointer.cpp | 2 +- src/CBot/CBotVar/CBotVarPointer.h | 2 +- src/CBot/CBotVar/CBotVarShort.h | 2 +- src/CBot/CBotVar/CBotVarString.cpp | 2 +- src/CBot/CBotVar/CBotVarString.h | 2 +- src/CBot/CBotVar/CBotVarValue.h | 2 +- src/CBot/stdlib/Compilation.cpp | 2 +- src/CBot/stdlib/Compilation.h | 2 +- src/CBot/stdlib/FileFunctions.cpp | 2 +- src/CBot/stdlib/MathFunctions.cpp | 2 +- src/CBot/stdlib/StringFunctions.cpp | 2 +- src/CBot/stdlib/stdlib.h | 2 +- src/CBot/stdlib/stdlib_public.h | 2 +- src/app/app.cpp | 2 +- src/app/app.h | 2 +- src/app/controller.cpp | 2 +- src/app/controller.h | 2 +- src/app/input.cpp | 2 +- src/app/input.h | 2 +- src/app/main.cpp | 2 +- src/app/modman.cpp | 2 +- src/app/modman.h | 2 +- src/app/pathman.cpp | 2 +- src/app/pathman.h | 2 +- src/app/pausemanager.cpp | 2 +- src/app/pausemanager.h | 2 +- src/app/signal_handlers.cpp | 2 +- src/app/signal_handlers.h | 2 +- src/common/config_file.cpp | 2 +- src/common/config_file.h | 2 +- src/common/error.h | 2 +- src/common/event.cpp | 2 +- src/common/event.h | 2 +- src/common/font_loader.cpp | 2 +- src/common/font_loader.h | 2 +- src/common/global.h | 2 +- src/common/image.cpp | 2 +- src/common/image.h | 2 +- src/common/ioutils.h | 2 +- src/common/key.cpp | 2 +- src/common/key.h | 2 +- src/common/language.cpp | 2 +- src/common/language.h | 2 +- src/common/logger.cpp | 2 +- src/common/logger.h | 2 +- src/common/make_unique.h | 2 +- src/common/profiler.cpp | 2 +- src/common/profiler.h | 2 +- src/common/regex_utils.cpp | 2 +- src/common/regex_utils.h | 2 +- src/common/resources/inputstream.cpp | 2 +- src/common/resources/inputstream.h | 2 +- src/common/resources/inputstreambuffer.cpp | 2 +- src/common/resources/inputstreambuffer.h | 2 +- src/common/resources/outputstream.cpp | 2 +- src/common/resources/outputstream.h | 2 +- src/common/resources/outputstreambuffer.cpp | 2 +- src/common/resources/outputstreambuffer.h | 2 +- src/common/resources/resourcemanager.cpp | 2 +- src/common/resources/resourcemanager.h | 2 +- src/common/resources/sdl_file_wrapper.cpp | 2 +- src/common/resources/sdl_file_wrapper.h | 2 +- src/common/resources/sdl_memory_wrapper.cpp | 2 +- src/common/resources/sdl_memory_wrapper.h | 2 +- src/common/resources/sndfile_wrapper.cpp | 2 +- src/common/resources/sndfile_wrapper.h | 2 +- src/common/restext.cpp | 2 +- src/common/restext.h | 2 +- src/common/settings.cpp | 2 +- src/common/settings.h | 2 +- src/common/singleton.h | 2 +- src/common/stringutils.cpp | 2 +- src/common/stringutils.h | 2 +- src/common/system/system.cpp | 2 +- src/common/system/system.h | 2 +- src/common/system/system_linux.cpp | 2 +- src/common/system/system_linux.h | 2 +- src/common/system/system_macosx.cpp | 2 +- src/common/system/system_macosx.h | 2 +- src/common/system/system_other.cpp | 2 +- src/common/system/system_other.h | 2 +- src/common/system/system_windows.cpp | 2 +- src/common/system/system_windows.h | 2 +- src/common/thread/worker_thread.h | 2 +- src/graphics/core/color.cpp | 2 +- src/graphics/core/color.h | 2 +- src/graphics/core/device.h | 2 +- src/graphics/core/framebuffer.cpp | 2 +- src/graphics/core/framebuffer.h | 2 +- src/graphics/core/light.h | 2 +- src/graphics/core/material.h | 2 +- src/graphics/core/nulldevice.cpp | 2 +- src/graphics/core/nulldevice.h | 2 +- src/graphics/core/texture.h | 2 +- src/graphics/core/type.cpp | 2 +- src/graphics/core/type.h | 2 +- src/graphics/core/vertex.h | 2 +- src/graphics/engine/camera.cpp | 2 +- src/graphics/engine/camera.h | 2 +- src/graphics/engine/cloud.cpp | 2 +- src/graphics/engine/cloud.h | 2 +- src/graphics/engine/engine.cpp | 2 +- src/graphics/engine/engine.h | 2 +- src/graphics/engine/lightman.cpp | 2 +- src/graphics/engine/lightman.h | 2 +- src/graphics/engine/lightning.cpp | 2 +- src/graphics/engine/lightning.h | 2 +- src/graphics/engine/oldmodelmanager.cpp | 2 +- src/graphics/engine/oldmodelmanager.h | 2 +- src/graphics/engine/particle.cpp | 2 +- src/graphics/engine/particle.h | 2 +- src/graphics/engine/planet.cpp | 2 +- src/graphics/engine/planet.h | 2 +- src/graphics/engine/planet_type.h | 2 +- src/graphics/engine/pyro.cpp | 2 +- src/graphics/engine/pyro.h | 2 +- src/graphics/engine/pyro_manager.cpp | 2 +- src/graphics/engine/pyro_manager.h | 2 +- src/graphics/engine/pyro_type.h | 2 +- src/graphics/engine/terrain.cpp | 2 +- src/graphics/engine/terrain.h | 2 +- src/graphics/engine/text.cpp | 2 +- src/graphics/engine/text.h | 2 +- src/graphics/engine/water.cpp | 2 +- src/graphics/engine/water.h | 2 +- src/graphics/model/model.cpp | 2 +- src/graphics/model/model.h | 2 +- src/graphics/model/model_crash_sphere.h | 2 +- src/graphics/model/model_format.h | 2 +- src/graphics/model/model_input.cpp | 2 +- src/graphics/model/model_input.h | 2 +- src/graphics/model/model_io_exception.h | 2 +- src/graphics/model/model_io_structs.h | 2 +- src/graphics/model/model_manager.cpp | 2 +- src/graphics/model/model_manager.h | 2 +- src/graphics/model/model_mesh.cpp | 2 +- src/graphics/model/model_mesh.h | 2 +- src/graphics/model/model_output.cpp | 2 +- src/graphics/model/model_output.h | 2 +- src/graphics/model/model_shadow_spot.h | 2 +- src/graphics/model/model_triangle.h | 2 +- src/graphics/opengl/gl14device.cpp | 2 +- src/graphics/opengl/gl14device.h | 2 +- src/graphics/opengl/gl21device.cpp | 2 +- src/graphics/opengl/gl21device.h | 2 +- src/graphics/opengl/gl33device.cpp | 2 +- src/graphics/opengl/gl33device.h | 2 +- src/graphics/opengl/glframebuffer.cpp | 2 +- src/graphics/opengl/glframebuffer.h | 2 +- src/graphics/opengl/glutil.cpp | 2 +- src/graphics/opengl/glutil.h | 2 +- src/level/build_type.h | 2 +- src/level/level_category.cpp | 2 +- src/level/level_category.h | 2 +- src/level/mainmovie.cpp | 2 +- src/level/mainmovie.h | 2 +- src/level/parser/parser.cpp | 2 +- src/level/parser/parser.h | 2 +- src/level/parser/parserexceptions.cpp | 2 +- src/level/parser/parserexceptions.h | 2 +- src/level/parser/parserline.cpp | 2 +- src/level/parser/parserline.h | 2 +- src/level/parser/parserparam.cpp | 2 +- src/level/parser/parserparam.h | 2 +- src/level/player_profile.cpp | 2 +- src/level/player_profile.h | 2 +- src/level/research_type.h | 2 +- src/level/robotmain.cpp | 2 +- src/level/robotmain.h | 2 +- src/level/scene_conditions.cpp | 2 +- src/level/scene_conditions.h | 2 +- src/level/scoreboard.cpp | 2 +- src/level/scoreboard.h | 2 +- src/math/all.h | 2 +- src/math/const.h | 2 +- src/math/func.h | 2 +- src/math/geometry.h | 2 +- src/math/half.cpp | 2 +- src/math/half.h | 2 +- src/math/intpoint.h | 2 +- src/math/matrix.h | 2 +- src/math/point.h | 2 +- src/math/sphere.h | 2 +- src/math/vector.h | 2 +- src/object/auto/auto.cpp | 2 +- src/object/auto/auto.h | 2 +- src/object/auto/autobase.cpp | 2 +- src/object/auto/autobase.h | 2 +- src/object/auto/autoconvert.cpp | 2 +- src/object/auto/autoconvert.h | 2 +- src/object/auto/autoderrick.cpp | 2 +- src/object/auto/autoderrick.h | 2 +- src/object/auto/autodestroyer.cpp | 2 +- src/object/auto/autodestroyer.h | 2 +- src/object/auto/autoegg.cpp | 2 +- src/object/auto/autoegg.h | 2 +- src/object/auto/autofactory.cpp | 2 +- src/object/auto/autofactory.h | 2 +- src/object/auto/autoflag.cpp | 2 +- src/object/auto/autoflag.h | 2 +- src/object/auto/autohouston.cpp | 2 +- src/object/auto/autohouston.h | 2 +- src/object/auto/autojostle.cpp | 2 +- src/object/auto/autojostle.h | 2 +- src/object/auto/autokid.cpp | 2 +- src/object/auto/autokid.h | 2 +- src/object/auto/autolabo.cpp | 2 +- src/object/auto/autolabo.h | 2 +- src/object/auto/automush.cpp | 2 +- src/object/auto/automush.h | 2 +- src/object/auto/autonest.cpp | 2 +- src/object/auto/autonest.h | 2 +- src/object/auto/autonuclearplant.cpp | 2 +- src/object/auto/autonuclearplant.h | 2 +- src/object/auto/autoportico.cpp | 2 +- src/object/auto/autoportico.h | 2 +- src/object/auto/autopowercaptor.cpp | 2 +- src/object/auto/autopowercaptor.h | 2 +- src/object/auto/autopowerplant.cpp | 2 +- src/object/auto/autopowerplant.h | 2 +- src/object/auto/autopowerstation.cpp | 2 +- src/object/auto/autopowerstation.h | 2 +- src/object/auto/autoradar.cpp | 2 +- src/object/auto/autoradar.h | 2 +- src/object/auto/autorepair.cpp | 2 +- src/object/auto/autorepair.h | 2 +- src/object/auto/autoresearch.cpp | 2 +- src/object/auto/autoresearch.h | 2 +- src/object/auto/autoroot.cpp | 2 +- src/object/auto/autoroot.h | 2 +- src/object/auto/autotower.cpp | 2 +- src/object/auto/autotower.h | 2 +- src/object/auto/autovault.cpp | 2 +- src/object/auto/autovault.h | 2 +- src/object/crash_sphere.h | 2 +- src/object/drive_type.cpp | 2 +- src/object/drive_type.h | 2 +- src/object/implementation/power_container_impl.cpp | 2 +- src/object/implementation/power_container_impl.h | 2 +- src/object/implementation/program_storage_impl.cpp | 2 +- src/object/implementation/program_storage_impl.h | 2 +- src/object/implementation/programmable_impl.cpp | 2 +- src/object/implementation/programmable_impl.h | 2 +- src/object/implementation/task_executor_impl.cpp | 2 +- src/object/implementation/task_executor_impl.h | 2 +- src/object/interface/carrier_object.h | 2 +- src/object/interface/controllable_object.h | 2 +- src/object/interface/damageable_object.h | 2 +- src/object/interface/destroyable_object.h | 2 +- src/object/interface/flying_object.h | 2 +- src/object/interface/fragile_object.h | 2 +- src/object/interface/interactive_object.h | 2 +- src/object/interface/jet_flying_object.h | 2 +- src/object/interface/jostleable_object.h | 2 +- src/object/interface/movable_object.h | 2 +- src/object/interface/power_container_object.h | 2 +- src/object/interface/powered_object.h | 2 +- src/object/interface/program_storage_object.h | 2 +- src/object/interface/programmable_object.h | 2 +- src/object/interface/ranged_object.h | 2 +- src/object/interface/shielded_auto_regen_object.h | 2 +- src/object/interface/shielded_object.h | 2 +- src/object/interface/task_executor_object.h | 2 +- src/object/interface/trace_drawing_object.cpp | 2 +- src/object/interface/trace_drawing_object.h | 2 +- src/object/interface/transportable_object.h | 2 +- src/object/mission_type.h | 2 +- src/object/motion/motion.cpp | 2 +- src/object/motion/motion.h | 2 +- src/object/motion/motionant.cpp | 2 +- src/object/motion/motionant.h | 2 +- src/object/motion/motionbee.cpp | 2 +- src/object/motion/motionbee.h | 2 +- src/object/motion/motionhuman.cpp | 2 +- src/object/motion/motionhuman.h | 2 +- src/object/motion/motionlevelcontroller.cpp | 2 +- src/object/motion/motionlevelcontroller.h | 2 +- src/object/motion/motionqueen.cpp | 2 +- src/object/motion/motionqueen.h | 2 +- src/object/motion/motionspider.cpp | 2 +- src/object/motion/motionspider.h | 2 +- src/object/motion/motiontoto.cpp | 2 +- src/object/motion/motiontoto.h | 2 +- src/object/motion/motionvehicle.cpp | 2 +- src/object/motion/motionvehicle.h | 2 +- src/object/motion/motionworm.cpp | 2 +- src/object/motion/motionworm.h | 2 +- src/object/object.cpp | 2 +- src/object/object.h | 2 +- src/object/object_create_exception.h | 2 +- src/object/object_create_params.h | 2 +- src/object/object_factory.cpp | 2 +- src/object/object_factory.h | 2 +- src/object/object_interface_type.h | 2 +- src/object/object_manager.cpp | 2 +- src/object/object_manager.h | 2 +- src/object/object_type.cpp | 2 +- src/object/object_type.h | 2 +- src/object/old_object.cpp | 2 +- src/object/old_object.h | 2 +- src/object/old_object_interface.cpp | 2 +- src/object/old_object_interface.h | 2 +- src/object/subclass/base_alien.cpp | 2 +- src/object/subclass/base_alien.h | 2 +- src/object/subclass/base_building.cpp | 2 +- src/object/subclass/base_building.h | 2 +- src/object/subclass/base_robot.cpp | 2 +- src/object/subclass/base_robot.h | 2 +- src/object/subclass/base_vehicle.cpp | 2 +- src/object/subclass/base_vehicle.h | 2 +- src/object/subclass/exchange_post.cpp | 2 +- src/object/subclass/exchange_post.h | 2 +- src/object/subclass/shielder.cpp | 2 +- src/object/subclass/shielder.h | 2 +- src/object/subclass/static_object.cpp | 2 +- src/object/subclass/static_object.h | 2 +- src/object/task/task.cpp | 2 +- src/object/task/task.h | 2 +- src/object/task/taskadvance.cpp | 2 +- src/object/task/taskadvance.h | 2 +- src/object/task/taskbuild.cpp | 2 +- src/object/task/taskbuild.h | 2 +- src/object/task/taskdeletemark.cpp | 2 +- src/object/task/taskdeletemark.h | 2 +- src/object/task/taskfire.cpp | 2 +- src/object/task/taskfire.h | 2 +- src/object/task/taskfireant.cpp | 2 +- src/object/task/taskfireant.h | 2 +- src/object/task/taskflag.cpp | 2 +- src/object/task/taskflag.h | 2 +- src/object/task/taskgoto.cpp | 2 +- src/object/task/taskgoto.h | 2 +- src/object/task/taskgungoal.cpp | 2 +- src/object/task/taskgungoal.h | 2 +- src/object/task/taskinfo.cpp | 2 +- src/object/task/taskinfo.h | 2 +- src/object/task/taskmanip.cpp | 2 +- src/object/task/taskmanip.h | 2 +- src/object/task/taskpen.cpp | 2 +- src/object/task/taskpen.h | 2 +- src/object/task/taskrecover.cpp | 2 +- src/object/task/taskrecover.h | 2 +- src/object/task/tasksearch.cpp | 2 +- src/object/task/tasksearch.h | 2 +- src/object/task/taskshield.cpp | 2 +- src/object/task/taskshield.h | 2 +- src/object/task/taskspiderexplo.cpp | 2 +- src/object/task/taskspiderexplo.h | 2 +- src/object/task/tasktake.cpp | 2 +- src/object/task/tasktake.h | 2 +- src/object/task/taskterraform.cpp | 2 +- src/object/task/taskterraform.h | 2 +- src/object/task/taskturn.cpp | 2 +- src/object/task/taskturn.h | 2 +- src/object/task/taskwait.cpp | 2 +- src/object/task/taskwait.h | 2 +- src/object/tool_type.cpp | 2 +- src/object/tool_type.h | 2 +- src/physics/physics.cpp | 2 +- src/physics/physics.h | 2 +- src/script/cbottoken.cpp | 2 +- src/script/cbottoken.h | 2 +- src/script/script.cpp | 2 +- src/script/script.h | 2 +- src/script/scriptfunc.cpp | 2 +- src/script/scriptfunc.h | 2 +- src/sound/oalsound/alsound.cpp | 2 +- src/sound/oalsound/alsound.h | 2 +- src/sound/oalsound/buffer.cpp | 2 +- src/sound/oalsound/buffer.h | 2 +- src/sound/oalsound/channel.cpp | 2 +- src/sound/oalsound/channel.h | 2 +- src/sound/oalsound/check.cpp | 2 +- src/sound/oalsound/check.h | 2 +- src/sound/sound.cpp | 2 +- src/sound/sound.h | 2 +- src/sound/sound_type.cpp | 2 +- src/sound/sound_type.h | 2 +- src/tools/convert_model.cpp | 2 +- src/ui/controls/button.cpp | 2 +- src/ui/controls/button.h | 2 +- src/ui/controls/check.cpp | 2 +- src/ui/controls/check.h | 2 +- src/ui/controls/color.cpp | 2 +- src/ui/controls/color.h | 2 +- src/ui/controls/control.cpp | 2 +- src/ui/controls/control.h | 2 +- src/ui/controls/edit.cpp | 2 +- src/ui/controls/edit.h | 2 +- src/ui/controls/editvalue.cpp | 2 +- src/ui/controls/editvalue.h | 2 +- src/ui/controls/enumslider.cpp | 2 +- src/ui/controls/enumslider.h | 2 +- src/ui/controls/gauge.cpp | 2 +- src/ui/controls/gauge.h | 2 +- src/ui/controls/group.cpp | 2 +- src/ui/controls/group.h | 2 +- src/ui/controls/image.cpp | 2 +- src/ui/controls/image.h | 2 +- src/ui/controls/interface.cpp | 2 +- src/ui/controls/interface.h | 2 +- src/ui/controls/key.cpp | 2 +- src/ui/controls/key.h | 2 +- src/ui/controls/label.cpp | 2 +- src/ui/controls/label.h | 2 +- src/ui/controls/list.cpp | 2 +- src/ui/controls/list.h | 2 +- src/ui/controls/map.cpp | 2 +- src/ui/controls/map.h | 2 +- src/ui/controls/scroll.cpp | 2 +- src/ui/controls/scroll.h | 2 +- src/ui/controls/shortcut.cpp | 2 +- src/ui/controls/shortcut.h | 2 +- src/ui/controls/slider.cpp | 2 +- src/ui/controls/slider.h | 2 +- src/ui/controls/target.cpp | 2 +- src/ui/controls/target.h | 2 +- src/ui/controls/window.cpp | 2 +- src/ui/controls/window.h | 2 +- src/ui/debug_menu.cpp | 2 +- src/ui/debug_menu.h | 2 +- src/ui/displayinfo.cpp | 2 +- src/ui/displayinfo.h | 2 +- src/ui/displaytext.cpp | 2 +- src/ui/displaytext.h | 2 +- src/ui/filedialog.cpp | 2 +- src/ui/filedialog.h | 2 +- src/ui/maindialog.cpp | 2 +- src/ui/maindialog.h | 2 +- src/ui/mainmap.cpp | 2 +- src/ui/mainmap.h | 2 +- src/ui/mainshort.cpp | 2 +- src/ui/mainshort.h | 2 +- src/ui/mainui.cpp | 2 +- src/ui/mainui.h | 2 +- src/ui/object_interface.cpp | 2 +- src/ui/object_interface.h | 2 +- src/ui/particles_generator.cpp | 2 +- src/ui/particles_generator.h | 2 +- src/ui/screen/screen.cpp | 2 +- src/ui/screen/screen.h | 2 +- src/ui/screen/screen_apperance.cpp | 2 +- src/ui/screen/screen_apperance.h | 2 +- src/ui/screen/screen_io.cpp | 2 +- src/ui/screen/screen_io.h | 2 +- src/ui/screen/screen_io_read.cpp | 2 +- src/ui/screen/screen_io_read.h | 2 +- src/ui/screen/screen_io_write.cpp | 2 +- src/ui/screen/screen_io_write.h | 2 +- src/ui/screen/screen_level_list.cpp | 2 +- src/ui/screen/screen_level_list.h | 2 +- src/ui/screen/screen_loading.cpp | 2 +- src/ui/screen/screen_loading.h | 2 +- src/ui/screen/screen_main_menu.cpp | 2 +- src/ui/screen/screen_main_menu.h | 2 +- src/ui/screen/screen_mod_list.cpp | 2 +- src/ui/screen/screen_mod_list.h | 2 +- src/ui/screen/screen_player_select.cpp | 2 +- src/ui/screen/screen_player_select.h | 2 +- src/ui/screen/screen_quit.cpp | 2 +- src/ui/screen/screen_quit.h | 2 +- src/ui/screen/screen_setup.cpp | 2 +- src/ui/screen/screen_setup.h | 2 +- src/ui/screen/screen_setup_controls.cpp | 2 +- src/ui/screen/screen_setup_controls.h | 2 +- src/ui/screen/screen_setup_display.cpp | 2 +- src/ui/screen/screen_setup_display.h | 2 +- src/ui/screen/screen_setup_game.cpp | 2 +- src/ui/screen/screen_setup_game.h | 2 +- src/ui/screen/screen_setup_graphics.cpp | 2 +- src/ui/screen/screen_setup_graphics.h | 2 +- src/ui/screen/screen_setup_sound.cpp | 2 +- src/ui/screen/screen_setup_sound.h | 2 +- src/ui/screen/screen_welcome.cpp | 2 +- src/ui/screen/screen_welcome.h | 2 +- src/ui/studio.cpp | 2 +- src/ui/studio.h | 2 +- test/cbot/compile_graph.cpp | 2 +- test/cbot/console.cpp | 2 +- test/unit/CBot/CBotToken_test.cpp | 2 +- test/unit/CBot/CBot_test.cpp | 2 +- test/unit/app/app_test.cpp | 2 +- test/unit/common/config_file_test.cpp | 2 +- test/unit/common/timeutils_test.cpp | 2 +- test/unit/graphics/engine/lightman_test.cpp | 2 +- test/unit/main.cpp | 2 +- test/unit/math/func_test.cpp | 2 +- test/unit/math/geometry_test.cpp | 2 +- test/unit/math/matrix_test.cpp | 2 +- test/unit/math/vector_test.cpp | 2 +- 632 files changed, 632 insertions(+), 632 deletions(-) diff --git a/LICENSE-HEADER.txt b/LICENSE-HEADER.txt index 1a4a3071..d530a3b2 100644 --- a/LICENSE-HEADER.txt +++ b/LICENSE-HEADER.txt @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBot.h b/src/CBot/CBot.h index f64d4ae9..72ceab56 100644 --- a/src/CBot/CBot.h +++ b/src/CBot/CBot.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotCStack.cpp b/src/CBot/CBotCStack.cpp index ba48ebcb..dfd14792 100644 --- a/src/CBot/CBotCStack.cpp +++ b/src/CBot/CBotCStack.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotCStack.h b/src/CBot/CBotCStack.h index adcbee59..bc92b47b 100644 --- a/src/CBot/CBotCStack.h +++ b/src/CBot/CBotCStack.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotClass.cpp b/src/CBot/CBotClass.cpp index a7993a9a..db69e4b2 100644 --- a/src/CBot/CBotClass.cpp +++ b/src/CBot/CBotClass.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotClass.h b/src/CBot/CBotClass.h index 507a3daf..9903e603 100644 --- a/src/CBot/CBotClass.h +++ b/src/CBot/CBotClass.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotDebug.cpp b/src/CBot/CBotDebug.cpp index 1e8463dd..b108bf61 100644 --- a/src/CBot/CBotDebug.cpp +++ b/src/CBot/CBotDebug.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotDebug.h b/src/CBot/CBotDebug.h index b5cd1065..9194147d 100644 --- a/src/CBot/CBotDebug.h +++ b/src/CBot/CBotDebug.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotDefParam.cpp b/src/CBot/CBotDefParam.cpp index d25f9bda..0dc86ef2 100644 --- a/src/CBot/CBotDefParam.cpp +++ b/src/CBot/CBotDefParam.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotDefParam.h b/src/CBot/CBotDefParam.h index 9327c4ab..ce493d94 100644 --- a/src/CBot/CBotDefParam.h +++ b/src/CBot/CBotDefParam.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotDefines.h b/src/CBot/CBotDefines.h index 88d162e6..c86e53b2 100644 --- a/src/CBot/CBotDefines.h +++ b/src/CBot/CBotDefines.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotEnums.h b/src/CBot/CBotEnums.h index 963ca261..9420dba5 100644 --- a/src/CBot/CBotEnums.h +++ b/src/CBot/CBotEnums.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotExternalCall.cpp b/src/CBot/CBotExternalCall.cpp index 5b1b4c73..6ded696e 100644 --- a/src/CBot/CBotExternalCall.cpp +++ b/src/CBot/CBotExternalCall.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotExternalCall.h b/src/CBot/CBotExternalCall.h index 26cf5ca1..bcde386e 100644 --- a/src/CBot/CBotExternalCall.h +++ b/src/CBot/CBotExternalCall.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotFileUtils.cpp b/src/CBot/CBotFileUtils.cpp index 7a614558..c6d4169c 100644 --- a/src/CBot/CBotFileUtils.cpp +++ b/src/CBot/CBotFileUtils.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotFileUtils.h b/src/CBot/CBotFileUtils.h index 8b53c10c..dccefc78 100644 --- a/src/CBot/CBotFileUtils.h +++ b/src/CBot/CBotFileUtils.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotBlock.cpp b/src/CBot/CBotInstr/CBotBlock.cpp index 7bcd38cd..08c5b322 100644 --- a/src/CBot/CBotInstr/CBotBlock.cpp +++ b/src/CBot/CBotInstr/CBotBlock.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotBlock.h b/src/CBot/CBotInstr/CBotBlock.h index c4ce2be9..2c851309 100644 --- a/src/CBot/CBotInstr/CBotBlock.h +++ b/src/CBot/CBotInstr/CBotBlock.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotBoolExpr.cpp b/src/CBot/CBotInstr/CBotBoolExpr.cpp index ffe93bed..2d905377 100644 --- a/src/CBot/CBotInstr/CBotBoolExpr.cpp +++ b/src/CBot/CBotInstr/CBotBoolExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotBoolExpr.h b/src/CBot/CBotInstr/CBotBoolExpr.h index 7bb7f987..3a49e1c2 100644 --- a/src/CBot/CBotInstr/CBotBoolExpr.h +++ b/src/CBot/CBotInstr/CBotBoolExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotBreak.cpp b/src/CBot/CBotInstr/CBotBreak.cpp index adfb0f62..e7cfaa76 100644 --- a/src/CBot/CBotInstr/CBotBreak.cpp +++ b/src/CBot/CBotInstr/CBotBreak.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotBreak.h b/src/CBot/CBotInstr/CBotBreak.h index 19ec1b88..d5323ccb 100644 --- a/src/CBot/CBotInstr/CBotBreak.h +++ b/src/CBot/CBotInstr/CBotBreak.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotCase.cpp b/src/CBot/CBotInstr/CBotCase.cpp index 14087e86..b60c2cb7 100644 --- a/src/CBot/CBotInstr/CBotCase.cpp +++ b/src/CBot/CBotInstr/CBotCase.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotCase.h b/src/CBot/CBotInstr/CBotCase.h index 394223c6..4ec77f9a 100644 --- a/src/CBot/CBotInstr/CBotCase.h +++ b/src/CBot/CBotInstr/CBotCase.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotCatch.cpp b/src/CBot/CBotInstr/CBotCatch.cpp index a22f2627..9e750f49 100644 --- a/src/CBot/CBotInstr/CBotCatch.cpp +++ b/src/CBot/CBotInstr/CBotCatch.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotCatch.h b/src/CBot/CBotInstr/CBotCatch.h index 21ad4684..808cd778 100644 --- a/src/CBot/CBotInstr/CBotCatch.h +++ b/src/CBot/CBotInstr/CBotCatch.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotCondition.cpp b/src/CBot/CBotInstr/CBotCondition.cpp index 9b00ad95..07e03a05 100644 --- a/src/CBot/CBotInstr/CBotCondition.cpp +++ b/src/CBot/CBotInstr/CBotCondition.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotCondition.h b/src/CBot/CBotInstr/CBotCondition.h index 205add6e..28c212a3 100644 --- a/src/CBot/CBotInstr/CBotCondition.h +++ b/src/CBot/CBotInstr/CBotCondition.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefArray.cpp b/src/CBot/CBotInstr/CBotDefArray.cpp index 0a32b482..44af34f5 100644 --- a/src/CBot/CBotInstr/CBotDefArray.cpp +++ b/src/CBot/CBotInstr/CBotDefArray.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefArray.h b/src/CBot/CBotInstr/CBotDefArray.h index 850e1cf0..6a172207 100644 --- a/src/CBot/CBotInstr/CBotDefArray.h +++ b/src/CBot/CBotInstr/CBotDefArray.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefBoolean.cpp b/src/CBot/CBotInstr/CBotDefBoolean.cpp index c140ebfd..16ddf786 100644 --- a/src/CBot/CBotInstr/CBotDefBoolean.cpp +++ b/src/CBot/CBotInstr/CBotDefBoolean.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefBoolean.h b/src/CBot/CBotInstr/CBotDefBoolean.h index f26669b6..1fc8d3af 100644 --- a/src/CBot/CBotInstr/CBotDefBoolean.h +++ b/src/CBot/CBotInstr/CBotDefBoolean.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefClass.cpp b/src/CBot/CBotInstr/CBotDefClass.cpp index f50196ed..a1ac3737 100644 --- a/src/CBot/CBotInstr/CBotDefClass.cpp +++ b/src/CBot/CBotInstr/CBotDefClass.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefClass.h b/src/CBot/CBotInstr/CBotDefClass.h index 0b0fd9e8..44730038 100644 --- a/src/CBot/CBotInstr/CBotDefClass.h +++ b/src/CBot/CBotInstr/CBotDefClass.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefFloat.cpp b/src/CBot/CBotInstr/CBotDefFloat.cpp index 98e1d314..5c7027f8 100644 --- a/src/CBot/CBotInstr/CBotDefFloat.cpp +++ b/src/CBot/CBotInstr/CBotDefFloat.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefFloat.h b/src/CBot/CBotInstr/CBotDefFloat.h index a8e95c3f..e6a1d16e 100644 --- a/src/CBot/CBotInstr/CBotDefFloat.h +++ b/src/CBot/CBotInstr/CBotDefFloat.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefInt.cpp b/src/CBot/CBotInstr/CBotDefInt.cpp index 621f8471..b5d7a4ca 100644 --- a/src/CBot/CBotInstr/CBotDefInt.cpp +++ b/src/CBot/CBotInstr/CBotDefInt.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefInt.h b/src/CBot/CBotInstr/CBotDefInt.h index 7fc52b0f..5afabf96 100644 --- a/src/CBot/CBotInstr/CBotDefInt.h +++ b/src/CBot/CBotInstr/CBotDefInt.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefString.cpp b/src/CBot/CBotInstr/CBotDefString.cpp index 0a68a908..0b0d0f69 100644 --- a/src/CBot/CBotInstr/CBotDefString.cpp +++ b/src/CBot/CBotInstr/CBotDefString.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDefString.h b/src/CBot/CBotInstr/CBotDefString.h index 72135adb..6b1dcc8d 100644 --- a/src/CBot/CBotInstr/CBotDefString.h +++ b/src/CBot/CBotInstr/CBotDefString.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDo.cpp b/src/CBot/CBotInstr/CBotDo.cpp index 800b97fa..536d5d82 100644 --- a/src/CBot/CBotInstr/CBotDo.cpp +++ b/src/CBot/CBotInstr/CBotDo.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotDo.h b/src/CBot/CBotInstr/CBotDo.h index 0463588f..305694b9 100644 --- a/src/CBot/CBotInstr/CBotDo.h +++ b/src/CBot/CBotInstr/CBotDo.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotEmpty.cpp b/src/CBot/CBotInstr/CBotEmpty.cpp index e6a8936b..f1b9a858 100644 --- a/src/CBot/CBotInstr/CBotEmpty.cpp +++ b/src/CBot/CBotInstr/CBotEmpty.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotEmpty.h b/src/CBot/CBotInstr/CBotEmpty.h index b1b9bc51..efa87f97 100644 --- a/src/CBot/CBotInstr/CBotEmpty.h +++ b/src/CBot/CBotInstr/CBotEmpty.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitBool.cpp b/src/CBot/CBotInstr/CBotExprLitBool.cpp index 672ad723..87ae764b 100644 --- a/src/CBot/CBotInstr/CBotExprLitBool.cpp +++ b/src/CBot/CBotInstr/CBotExprLitBool.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitBool.h b/src/CBot/CBotInstr/CBotExprLitBool.h index 59a4c151..06ef6eae 100644 --- a/src/CBot/CBotInstr/CBotExprLitBool.h +++ b/src/CBot/CBotInstr/CBotExprLitBool.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitChar.cpp b/src/CBot/CBotInstr/CBotExprLitChar.cpp index 9f206746..68d97410 100644 --- a/src/CBot/CBotInstr/CBotExprLitChar.cpp +++ b/src/CBot/CBotInstr/CBotExprLitChar.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitChar.h b/src/CBot/CBotInstr/CBotExprLitChar.h index fd9b8ad0..ab04cd3d 100644 --- a/src/CBot/CBotInstr/CBotExprLitChar.h +++ b/src/CBot/CBotInstr/CBotExprLitChar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitNan.cpp b/src/CBot/CBotInstr/CBotExprLitNan.cpp index ad67f68e..52e30d5f 100644 --- a/src/CBot/CBotInstr/CBotExprLitNan.cpp +++ b/src/CBot/CBotInstr/CBotExprLitNan.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitNan.h b/src/CBot/CBotInstr/CBotExprLitNan.h index a8ae585b..ed782224 100644 --- a/src/CBot/CBotInstr/CBotExprLitNan.h +++ b/src/CBot/CBotInstr/CBotExprLitNan.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitNull.cpp b/src/CBot/CBotInstr/CBotExprLitNull.cpp index 7d7bb97f..dd691853 100644 --- a/src/CBot/CBotInstr/CBotExprLitNull.cpp +++ b/src/CBot/CBotInstr/CBotExprLitNull.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitNull.h b/src/CBot/CBotInstr/CBotExprLitNull.h index 71da9945..cfd9742e 100644 --- a/src/CBot/CBotInstr/CBotExprLitNull.h +++ b/src/CBot/CBotInstr/CBotExprLitNull.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitNum.cpp b/src/CBot/CBotInstr/CBotExprLitNum.cpp index c03103cb..962f3800 100644 --- a/src/CBot/CBotInstr/CBotExprLitNum.cpp +++ b/src/CBot/CBotInstr/CBotExprLitNum.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitNum.h b/src/CBot/CBotInstr/CBotExprLitNum.h index 103b35d8..04456264 100644 --- a/src/CBot/CBotInstr/CBotExprLitNum.h +++ b/src/CBot/CBotInstr/CBotExprLitNum.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitString.cpp b/src/CBot/CBotInstr/CBotExprLitString.cpp index 70eea871..e5cc8474 100644 --- a/src/CBot/CBotInstr/CBotExprLitString.cpp +++ b/src/CBot/CBotInstr/CBotExprLitString.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprLitString.h b/src/CBot/CBotInstr/CBotExprLitString.h index f5d423c6..04a9296d 100644 --- a/src/CBot/CBotInstr/CBotExprLitString.h +++ b/src/CBot/CBotInstr/CBotExprLitString.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprRetVar.cpp b/src/CBot/CBotInstr/CBotExprRetVar.cpp index 1a85cdae..aaac605c 100644 --- a/src/CBot/CBotInstr/CBotExprRetVar.cpp +++ b/src/CBot/CBotInstr/CBotExprRetVar.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprRetVar.h b/src/CBot/CBotInstr/CBotExprRetVar.h index d0e6eaf9..d5a956bd 100644 --- a/src/CBot/CBotInstr/CBotExprRetVar.h +++ b/src/CBot/CBotInstr/CBotExprRetVar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprUnaire.cpp b/src/CBot/CBotInstr/CBotExprUnaire.cpp index 8d8e7a16..fb343012 100644 --- a/src/CBot/CBotInstr/CBotExprUnaire.cpp +++ b/src/CBot/CBotInstr/CBotExprUnaire.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprUnaire.h b/src/CBot/CBotInstr/CBotExprUnaire.h index 554b1c6a..070281fa 100644 --- a/src/CBot/CBotInstr/CBotExprUnaire.h +++ b/src/CBot/CBotInstr/CBotExprUnaire.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprVar.cpp b/src/CBot/CBotInstr/CBotExprVar.cpp index 8c02c475..2a282f00 100644 --- a/src/CBot/CBotInstr/CBotExprVar.cpp +++ b/src/CBot/CBotInstr/CBotExprVar.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExprVar.h b/src/CBot/CBotInstr/CBotExprVar.h index 0c0c2b9b..28623fc0 100644 --- a/src/CBot/CBotInstr/CBotExprVar.h +++ b/src/CBot/CBotInstr/CBotExprVar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExpression.cpp b/src/CBot/CBotInstr/CBotExpression.cpp index bcf1a09b..2374a2a6 100644 --- a/src/CBot/CBotInstr/CBotExpression.cpp +++ b/src/CBot/CBotInstr/CBotExpression.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotExpression.h b/src/CBot/CBotInstr/CBotExpression.h index ce78ae66..68ea3ec4 100644 --- a/src/CBot/CBotInstr/CBotExpression.h +++ b/src/CBot/CBotInstr/CBotExpression.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotFieldExpr.cpp b/src/CBot/CBotInstr/CBotFieldExpr.cpp index 1abcbaf3..2e18651e 100644 --- a/src/CBot/CBotInstr/CBotFieldExpr.cpp +++ b/src/CBot/CBotInstr/CBotFieldExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotFieldExpr.h b/src/CBot/CBotInstr/CBotFieldExpr.h index 073e6dfb..b009af13 100644 --- a/src/CBot/CBotInstr/CBotFieldExpr.h +++ b/src/CBot/CBotInstr/CBotFieldExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotFor.cpp b/src/CBot/CBotInstr/CBotFor.cpp index 8aa2375d..0f63d9eb 100644 --- a/src/CBot/CBotInstr/CBotFor.cpp +++ b/src/CBot/CBotInstr/CBotFor.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotFor.h b/src/CBot/CBotInstr/CBotFor.h index 4aa90553..fc281edb 100644 --- a/src/CBot/CBotInstr/CBotFor.h +++ b/src/CBot/CBotInstr/CBotFor.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotFunction.cpp b/src/CBot/CBotInstr/CBotFunction.cpp index e4a62e95..d0303391 100644 --- a/src/CBot/CBotInstr/CBotFunction.cpp +++ b/src/CBot/CBotInstr/CBotFunction.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotFunction.h b/src/CBot/CBotInstr/CBotFunction.h index dad5e90d..238dc659 100644 --- a/src/CBot/CBotInstr/CBotFunction.h +++ b/src/CBot/CBotInstr/CBotFunction.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotIf.cpp b/src/CBot/CBotInstr/CBotIf.cpp index e5031378..05dff357 100644 --- a/src/CBot/CBotInstr/CBotIf.cpp +++ b/src/CBot/CBotInstr/CBotIf.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotIf.h b/src/CBot/CBotInstr/CBotIf.h index 98b5f039..8f355834 100644 --- a/src/CBot/CBotInstr/CBotIf.h +++ b/src/CBot/CBotInstr/CBotIf.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotIndexExpr.cpp b/src/CBot/CBotInstr/CBotIndexExpr.cpp index 7bc01639..43db5b99 100644 --- a/src/CBot/CBotInstr/CBotIndexExpr.cpp +++ b/src/CBot/CBotInstr/CBotIndexExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotIndexExpr.h b/src/CBot/CBotInstr/CBotIndexExpr.h index 52d72ba1..ed5e598a 100644 --- a/src/CBot/CBotInstr/CBotIndexExpr.h +++ b/src/CBot/CBotInstr/CBotIndexExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstr.cpp b/src/CBot/CBotInstr/CBotInstr.cpp index 0115ba28..19d7d729 100644 --- a/src/CBot/CBotInstr/CBotInstr.cpp +++ b/src/CBot/CBotInstr/CBotInstr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstr.h b/src/CBot/CBotInstr/CBotInstr.h index 235055f4..799a2a70 100644 --- a/src/CBot/CBotInstr/CBotInstr.h +++ b/src/CBot/CBotInstr/CBotInstr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstrCall.cpp b/src/CBot/CBotInstr/CBotInstrCall.cpp index 2274f3ac..f05a1509 100644 --- a/src/CBot/CBotInstr/CBotInstrCall.cpp +++ b/src/CBot/CBotInstr/CBotInstrCall.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstrCall.h b/src/CBot/CBotInstr/CBotInstrCall.h index e4e13545..c44fd17c 100644 --- a/src/CBot/CBotInstr/CBotInstrCall.h +++ b/src/CBot/CBotInstr/CBotInstrCall.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstrMethode.cpp b/src/CBot/CBotInstr/CBotInstrMethode.cpp index 6b7045e3..bcff5e7c 100644 --- a/src/CBot/CBotInstr/CBotInstrMethode.cpp +++ b/src/CBot/CBotInstr/CBotInstrMethode.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstrMethode.h b/src/CBot/CBotInstr/CBotInstrMethode.h index 2d0b33ef..fda685d9 100644 --- a/src/CBot/CBotInstr/CBotInstrMethode.h +++ b/src/CBot/CBotInstr/CBotInstrMethode.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstrUtils.cpp b/src/CBot/CBotInstr/CBotInstrUtils.cpp index c4638d60..8f6c3688 100644 --- a/src/CBot/CBotInstr/CBotInstrUtils.cpp +++ b/src/CBot/CBotInstr/CBotInstrUtils.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotInstrUtils.h b/src/CBot/CBotInstr/CBotInstrUtils.h index 21b98a7e..6e6ee4e0 100644 --- a/src/CBot/CBotInstr/CBotInstrUtils.h +++ b/src/CBot/CBotInstr/CBotInstrUtils.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotLeftExpr.cpp b/src/CBot/CBotInstr/CBotLeftExpr.cpp index 74e20006..1c4e7e74 100644 --- a/src/CBot/CBotInstr/CBotLeftExpr.cpp +++ b/src/CBot/CBotInstr/CBotLeftExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotLeftExpr.h b/src/CBot/CBotInstr/CBotLeftExpr.h index 13f46210..1067f074 100644 --- a/src/CBot/CBotInstr/CBotLeftExpr.h +++ b/src/CBot/CBotInstr/CBotLeftExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotLeftExprVar.cpp b/src/CBot/CBotInstr/CBotLeftExprVar.cpp index 563cbc7f..460f2029 100644 --- a/src/CBot/CBotInstr/CBotLeftExprVar.cpp +++ b/src/CBot/CBotInstr/CBotLeftExprVar.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotLeftExprVar.h b/src/CBot/CBotInstr/CBotLeftExprVar.h index 1690636e..8efdb8ee 100644 --- a/src/CBot/CBotInstr/CBotLeftExprVar.h +++ b/src/CBot/CBotInstr/CBotLeftExprVar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotListArray.cpp b/src/CBot/CBotInstr/CBotListArray.cpp index d758652d..a1e8b9cd 100644 --- a/src/CBot/CBotInstr/CBotListArray.cpp +++ b/src/CBot/CBotInstr/CBotListArray.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotListArray.h b/src/CBot/CBotInstr/CBotListArray.h index 80c94abc..b717541f 100644 --- a/src/CBot/CBotInstr/CBotListArray.h +++ b/src/CBot/CBotInstr/CBotListArray.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotListExpression.cpp b/src/CBot/CBotInstr/CBotListExpression.cpp index 1f0765ea..2e160943 100644 --- a/src/CBot/CBotInstr/CBotListExpression.cpp +++ b/src/CBot/CBotInstr/CBotListExpression.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotListExpression.h b/src/CBot/CBotInstr/CBotListExpression.h index 0ce717b3..306707bc 100644 --- a/src/CBot/CBotInstr/CBotListExpression.h +++ b/src/CBot/CBotInstr/CBotListExpression.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotListInstr.cpp b/src/CBot/CBotInstr/CBotListInstr.cpp index 251f6304..4a39faf2 100644 --- a/src/CBot/CBotInstr/CBotListInstr.cpp +++ b/src/CBot/CBotInstr/CBotListInstr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotListInstr.h b/src/CBot/CBotInstr/CBotListInstr.h index 0fab3ac0..06694c9d 100644 --- a/src/CBot/CBotInstr/CBotListInstr.h +++ b/src/CBot/CBotInstr/CBotListInstr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotLogicExpr.cpp b/src/CBot/CBotInstr/CBotLogicExpr.cpp index 08a36671..a087b5ad 100644 --- a/src/CBot/CBotInstr/CBotLogicExpr.cpp +++ b/src/CBot/CBotInstr/CBotLogicExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotLogicExpr.h b/src/CBot/CBotInstr/CBotLogicExpr.h index b8d30930..328a45e3 100644 --- a/src/CBot/CBotInstr/CBotLogicExpr.h +++ b/src/CBot/CBotInstr/CBotLogicExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotNew.cpp b/src/CBot/CBotInstr/CBotNew.cpp index dd8d04ac..51fe3538 100644 --- a/src/CBot/CBotInstr/CBotNew.cpp +++ b/src/CBot/CBotInstr/CBotNew.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotNew.h b/src/CBot/CBotInstr/CBotNew.h index ad0c5cd3..4b6a82fd 100644 --- a/src/CBot/CBotInstr/CBotNew.h +++ b/src/CBot/CBotInstr/CBotNew.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotParExpr.cpp b/src/CBot/CBotInstr/CBotParExpr.cpp index c6c50f32..46f72818 100644 --- a/src/CBot/CBotInstr/CBotParExpr.cpp +++ b/src/CBot/CBotInstr/CBotParExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotParExpr.h b/src/CBot/CBotInstr/CBotParExpr.h index a6bcc3c3..d9d0ab5e 100644 --- a/src/CBot/CBotInstr/CBotParExpr.h +++ b/src/CBot/CBotInstr/CBotParExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotPostIncExpr.cpp b/src/CBot/CBotInstr/CBotPostIncExpr.cpp index 76193e27..fac31e2c 100644 --- a/src/CBot/CBotInstr/CBotPostIncExpr.cpp +++ b/src/CBot/CBotInstr/CBotPostIncExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotPostIncExpr.h b/src/CBot/CBotInstr/CBotPostIncExpr.h index 49d3ce8f..5bf3f9e1 100644 --- a/src/CBot/CBotInstr/CBotPostIncExpr.h +++ b/src/CBot/CBotInstr/CBotPostIncExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotPreIncExpr.cpp b/src/CBot/CBotInstr/CBotPreIncExpr.cpp index c51d0287..afb2b65c 100644 --- a/src/CBot/CBotInstr/CBotPreIncExpr.cpp +++ b/src/CBot/CBotInstr/CBotPreIncExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotPreIncExpr.h b/src/CBot/CBotInstr/CBotPreIncExpr.h index 2eb02475..c099e4f3 100644 --- a/src/CBot/CBotInstr/CBotPreIncExpr.h +++ b/src/CBot/CBotInstr/CBotPreIncExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotRepeat.cpp b/src/CBot/CBotInstr/CBotRepeat.cpp index 8d8e0553..0157abd5 100644 --- a/src/CBot/CBotInstr/CBotRepeat.cpp +++ b/src/CBot/CBotInstr/CBotRepeat.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotRepeat.h b/src/CBot/CBotInstr/CBotRepeat.h index d60f4a09..f7ea207b 100644 --- a/src/CBot/CBotInstr/CBotRepeat.h +++ b/src/CBot/CBotInstr/CBotRepeat.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotReturn.cpp b/src/CBot/CBotInstr/CBotReturn.cpp index b10d6ae3..ff4022d8 100644 --- a/src/CBot/CBotInstr/CBotReturn.cpp +++ b/src/CBot/CBotInstr/CBotReturn.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotReturn.h b/src/CBot/CBotInstr/CBotReturn.h index 6925a2ca..71584813 100644 --- a/src/CBot/CBotInstr/CBotReturn.h +++ b/src/CBot/CBotInstr/CBotReturn.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotSwitch.cpp b/src/CBot/CBotInstr/CBotSwitch.cpp index c75e9aa1..ac4b3a98 100644 --- a/src/CBot/CBotInstr/CBotSwitch.cpp +++ b/src/CBot/CBotInstr/CBotSwitch.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotSwitch.h b/src/CBot/CBotInstr/CBotSwitch.h index 6d94dbc3..ec43a995 100644 --- a/src/CBot/CBotInstr/CBotSwitch.h +++ b/src/CBot/CBotInstr/CBotSwitch.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotThrow.cpp b/src/CBot/CBotInstr/CBotThrow.cpp index 1d93e995..f6e1db35 100644 --- a/src/CBot/CBotInstr/CBotThrow.cpp +++ b/src/CBot/CBotInstr/CBotThrow.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotThrow.h b/src/CBot/CBotInstr/CBotThrow.h index f3cb4b07..75515cc4 100644 --- a/src/CBot/CBotInstr/CBotThrow.h +++ b/src/CBot/CBotInstr/CBotThrow.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotTry.cpp b/src/CBot/CBotInstr/CBotTry.cpp index 182476ff..211336c8 100644 --- a/src/CBot/CBotInstr/CBotTry.cpp +++ b/src/CBot/CBotInstr/CBotTry.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotTry.h b/src/CBot/CBotInstr/CBotTry.h index 0aa89ed6..461b41b2 100644 --- a/src/CBot/CBotInstr/CBotTry.h +++ b/src/CBot/CBotInstr/CBotTry.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotTwoOpExpr.cpp b/src/CBot/CBotInstr/CBotTwoOpExpr.cpp index f57633d5..ad09f221 100644 --- a/src/CBot/CBotInstr/CBotTwoOpExpr.cpp +++ b/src/CBot/CBotInstr/CBotTwoOpExpr.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotTwoOpExpr.h b/src/CBot/CBotInstr/CBotTwoOpExpr.h index 0144a274..9146a8a9 100644 --- a/src/CBot/CBotInstr/CBotTwoOpExpr.h +++ b/src/CBot/CBotInstr/CBotTwoOpExpr.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotWhile.cpp b/src/CBot/CBotInstr/CBotWhile.cpp index da0a48cc..6328d55e 100644 --- a/src/CBot/CBotInstr/CBotWhile.cpp +++ b/src/CBot/CBotInstr/CBotWhile.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotInstr/CBotWhile.h b/src/CBot/CBotInstr/CBotWhile.h index a691481e..77b7b2d9 100644 --- a/src/CBot/CBotInstr/CBotWhile.h +++ b/src/CBot/CBotInstr/CBotWhile.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotProgram.cpp b/src/CBot/CBotProgram.cpp index 4a09eef2..fa06baeb 100644 --- a/src/CBot/CBotProgram.cpp +++ b/src/CBot/CBotProgram.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotProgram.h b/src/CBot/CBotProgram.h index 41ef6b8b..85800467 100644 --- a/src/CBot/CBotProgram.h +++ b/src/CBot/CBotProgram.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotStack.cpp b/src/CBot/CBotStack.cpp index 7de0670b..3a73d373 100644 --- a/src/CBot/CBotStack.cpp +++ b/src/CBot/CBotStack.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotStack.h b/src/CBot/CBotStack.h index 64a81124..e76d5b63 100644 --- a/src/CBot/CBotStack.h +++ b/src/CBot/CBotStack.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotToken.cpp b/src/CBot/CBotToken.cpp index 38402d94..0467a1ac 100644 --- a/src/CBot/CBotToken.cpp +++ b/src/CBot/CBotToken.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotToken.h b/src/CBot/CBotToken.h index 508304f9..c7ca6d40 100644 --- a/src/CBot/CBotToken.h +++ b/src/CBot/CBotToken.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotTypResult.cpp b/src/CBot/CBotTypResult.cpp index 64e590cd..2c7a5794 100644 --- a/src/CBot/CBotTypResult.cpp +++ b/src/CBot/CBotTypResult.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotTypResult.h b/src/CBot/CBotTypResult.h index fbeab4ef..25741772 100644 --- a/src/CBot/CBotTypResult.h +++ b/src/CBot/CBotTypResult.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotUtils.cpp b/src/CBot/CBotUtils.cpp index cf2cd9e0..6db69291 100644 --- a/src/CBot/CBotUtils.cpp +++ b/src/CBot/CBotUtils.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotUtils.h b/src/CBot/CBotUtils.h index 91697055..458ff32a 100644 --- a/src/CBot/CBotUtils.h +++ b/src/CBot/CBotUtils.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVar.cpp b/src/CBot/CBotVar/CBotVar.cpp index da31340b..c975ed7b 100644 --- a/src/CBot/CBotVar/CBotVar.cpp +++ b/src/CBot/CBotVar/CBotVar.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVar.h b/src/CBot/CBotVar/CBotVar.h index a94274fd..e351398d 100644 --- a/src/CBot/CBotVar/CBotVar.h +++ b/src/CBot/CBotVar/CBotVar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarArray.cpp b/src/CBot/CBotVar/CBotVarArray.cpp index 16a1476a..b0895448 100644 --- a/src/CBot/CBotVar/CBotVarArray.cpp +++ b/src/CBot/CBotVar/CBotVarArray.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarArray.h b/src/CBot/CBotVar/CBotVarArray.h index d25cdc67..46986900 100644 --- a/src/CBot/CBotVar/CBotVarArray.h +++ b/src/CBot/CBotVar/CBotVarArray.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarBoolean.cpp b/src/CBot/CBotVar/CBotVarBoolean.cpp index 28eaeac6..d189084d 100644 --- a/src/CBot/CBotVar/CBotVarBoolean.cpp +++ b/src/CBot/CBotVar/CBotVarBoolean.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarBoolean.h b/src/CBot/CBotVar/CBotVarBoolean.h index a9967de2..88519ec3 100644 --- a/src/CBot/CBotVar/CBotVarBoolean.h +++ b/src/CBot/CBotVar/CBotVarBoolean.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarByte.h b/src/CBot/CBotVar/CBotVarByte.h index 65c1a5f1..a621d398 100644 --- a/src/CBot/CBotVar/CBotVarByte.h +++ b/src/CBot/CBotVar/CBotVarByte.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarChar.h b/src/CBot/CBotVar/CBotVarChar.h index af93a698..7b6031d5 100644 --- a/src/CBot/CBotVar/CBotVarChar.h +++ b/src/CBot/CBotVar/CBotVarChar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarClass.cpp b/src/CBot/CBotVar/CBotVarClass.cpp index 3ee19874..c7d81cb5 100644 --- a/src/CBot/CBotVar/CBotVarClass.cpp +++ b/src/CBot/CBotVar/CBotVarClass.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarClass.h b/src/CBot/CBotVar/CBotVarClass.h index ac462d99..254ec88b 100644 --- a/src/CBot/CBotVar/CBotVarClass.h +++ b/src/CBot/CBotVar/CBotVarClass.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarDouble.h b/src/CBot/CBotVar/CBotVarDouble.h index be349159..05daaa80 100644 --- a/src/CBot/CBotVar/CBotVarDouble.h +++ b/src/CBot/CBotVar/CBotVarDouble.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarFloat.cpp b/src/CBot/CBotVar/CBotVarFloat.cpp index 02f2a394..fd8fee70 100644 --- a/src/CBot/CBotVar/CBotVarFloat.cpp +++ b/src/CBot/CBotVar/CBotVarFloat.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarFloat.h b/src/CBot/CBotVar/CBotVarFloat.h index f9a5d2b7..ae2d73b4 100644 --- a/src/CBot/CBotVar/CBotVarFloat.h +++ b/src/CBot/CBotVar/CBotVarFloat.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarInt.cpp b/src/CBot/CBotVar/CBotVarInt.cpp index 69aed5e2..8a69a9f4 100644 --- a/src/CBot/CBotVar/CBotVarInt.cpp +++ b/src/CBot/CBotVar/CBotVarInt.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarInt.h b/src/CBot/CBotVar/CBotVarInt.h index b2436742..62c4adeb 100644 --- a/src/CBot/CBotVar/CBotVarInt.h +++ b/src/CBot/CBotVar/CBotVarInt.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarLong.h b/src/CBot/CBotVar/CBotVarLong.h index afd0af00..204750e8 100644 --- a/src/CBot/CBotVar/CBotVarLong.h +++ b/src/CBot/CBotVar/CBotVarLong.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarPointer.cpp b/src/CBot/CBotVar/CBotVarPointer.cpp index a4f1ce7b..ed5eda00 100644 --- a/src/CBot/CBotVar/CBotVarPointer.cpp +++ b/src/CBot/CBotVar/CBotVarPointer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarPointer.h b/src/CBot/CBotVar/CBotVarPointer.h index 8b10d844..4fa1d0ae 100644 --- a/src/CBot/CBotVar/CBotVarPointer.h +++ b/src/CBot/CBotVar/CBotVarPointer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarShort.h b/src/CBot/CBotVar/CBotVarShort.h index 92d328eb..3cb83962 100644 --- a/src/CBot/CBotVar/CBotVarShort.h +++ b/src/CBot/CBotVar/CBotVarShort.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarString.cpp b/src/CBot/CBotVar/CBotVarString.cpp index cd8ba864..d1608d69 100644 --- a/src/CBot/CBotVar/CBotVarString.cpp +++ b/src/CBot/CBotVar/CBotVarString.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarString.h b/src/CBot/CBotVar/CBotVarString.h index fb304674..679c7a9a 100644 --- a/src/CBot/CBotVar/CBotVarString.h +++ b/src/CBot/CBotVar/CBotVarString.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/CBotVar/CBotVarValue.h b/src/CBot/CBotVar/CBotVarValue.h index 175d6b47..c305aa2f 100644 --- a/src/CBot/CBotVar/CBotVarValue.h +++ b/src/CBot/CBotVar/CBotVarValue.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/Compilation.cpp b/src/CBot/stdlib/Compilation.cpp index e33fec8e..c0e0654b 100644 --- a/src/CBot/stdlib/Compilation.cpp +++ b/src/CBot/stdlib/Compilation.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/Compilation.h b/src/CBot/stdlib/Compilation.h index b74ac219..c6a34eda 100644 --- a/src/CBot/stdlib/Compilation.h +++ b/src/CBot/stdlib/Compilation.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/FileFunctions.cpp b/src/CBot/stdlib/FileFunctions.cpp index 979e6ec9..04e54ac1 100644 --- a/src/CBot/stdlib/FileFunctions.cpp +++ b/src/CBot/stdlib/FileFunctions.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/MathFunctions.cpp b/src/CBot/stdlib/MathFunctions.cpp index f6e5b484..5353f80d 100644 --- a/src/CBot/stdlib/MathFunctions.cpp +++ b/src/CBot/stdlib/MathFunctions.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/StringFunctions.cpp b/src/CBot/stdlib/StringFunctions.cpp index 0fcb693d..c543df7f 100644 --- a/src/CBot/stdlib/StringFunctions.cpp +++ b/src/CBot/stdlib/StringFunctions.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/stdlib.h b/src/CBot/stdlib/stdlib.h index b0e393f1..9d0a0c25 100644 --- a/src/CBot/stdlib/stdlib.h +++ b/src/CBot/stdlib/stdlib.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/CBot/stdlib/stdlib_public.h b/src/CBot/stdlib/stdlib_public.h index d3da1c7d..c26c93a2 100644 --- a/src/CBot/stdlib/stdlib_public.h +++ b/src/CBot/stdlib/stdlib_public.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/app.cpp b/src/app/app.cpp index 9abd16f8..2d253aa3 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/app.h b/src/app/app.h index 7160be54..45e41464 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/controller.cpp b/src/app/controller.cpp index 989f87ce..a07a27b7 100644 --- a/src/app/controller.cpp +++ b/src/app/controller.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/controller.h b/src/app/controller.h index dd244edd..5ef06cf2 100644 --- a/src/app/controller.h +++ b/src/app/controller.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/input.cpp b/src/app/input.cpp index 3f10cd3f..54f57169 100644 --- a/src/app/input.cpp +++ b/src/app/input.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/input.h b/src/app/input.h index 7bf528d3..4236f7d2 100644 --- a/src/app/input.h +++ b/src/app/input.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/main.cpp b/src/app/main.cpp index 7c6173b0..b20a6b2f 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/modman.cpp b/src/app/modman.cpp index 42ba11be..5f781275 100644 --- a/src/app/modman.cpp +++ b/src/app/modman.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/modman.h b/src/app/modman.h index 09f8b0aa..2e854562 100644 --- a/src/app/modman.h +++ b/src/app/modman.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/pathman.cpp b/src/app/pathman.cpp index e4c385dd..7abfc99d 100644 --- a/src/app/pathman.cpp +++ b/src/app/pathman.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/pathman.h b/src/app/pathman.h index d1ba4bbe..05649cd7 100644 --- a/src/app/pathman.h +++ b/src/app/pathman.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/pausemanager.cpp b/src/app/pausemanager.cpp index 8c4235e8..9fdb8839 100644 --- a/src/app/pausemanager.cpp +++ b/src/app/pausemanager.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/pausemanager.h b/src/app/pausemanager.h index 81e792af..bbad78c0 100644 --- a/src/app/pausemanager.h +++ b/src/app/pausemanager.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/signal_handlers.cpp b/src/app/signal_handlers.cpp index f0e9f95e..a9a888cb 100644 --- a/src/app/signal_handlers.cpp +++ b/src/app/signal_handlers.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/app/signal_handlers.h b/src/app/signal_handlers.h index 613ac316..2fffeec8 100644 --- a/src/app/signal_handlers.h +++ b/src/app/signal_handlers.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/config_file.cpp b/src/common/config_file.cpp index a379a8fa..d1c9f694 100644 --- a/src/common/config_file.cpp +++ b/src/common/config_file.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/config_file.h b/src/common/config_file.h index 6e95f481..c8510ee8 100644 --- a/src/common/config_file.h +++ b/src/common/config_file.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/error.h b/src/common/error.h index fa048e43..a82ddf52 100644 --- a/src/common/error.h +++ b/src/common/error.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/event.cpp b/src/common/event.cpp index 544428da..4c49992f 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/event.h b/src/common/event.h index 1b1bc1d3..4bca6f13 100644 --- a/src/common/event.h +++ b/src/common/event.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/font_loader.cpp b/src/common/font_loader.cpp index 31df90e5..068ec746 100644 --- a/src/common/font_loader.cpp +++ b/src/common/font_loader.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/font_loader.h b/src/common/font_loader.h index b9cf5ec8..8f853a90 100644 --- a/src/common/font_loader.h +++ b/src/common/font_loader.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/global.h b/src/common/global.h index 1d7435bb..af866123 100644 --- a/src/common/global.h +++ b/src/common/global.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/image.cpp b/src/common/image.cpp index 8ad10734..f0ae9977 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/image.h b/src/common/image.h index 3a5c8b73..46161e20 100644 --- a/src/common/image.h +++ b/src/common/image.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/ioutils.h b/src/common/ioutils.h index 5fa05a84..e888260b 100644 --- a/src/common/ioutils.h +++ b/src/common/ioutils.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/key.cpp b/src/common/key.cpp index 4127fbd5..81fd4610 100644 --- a/src/common/key.cpp +++ b/src/common/key.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/key.h b/src/common/key.h index b393aa02..57bbd457 100644 --- a/src/common/key.h +++ b/src/common/key.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/language.cpp b/src/common/language.cpp index 801a3582..9f09c1b9 100644 --- a/src/common/language.cpp +++ b/src/common/language.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/language.h b/src/common/language.h index ee5a731e..9d2990b5 100644 --- a/src/common/language.h +++ b/src/common/language.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/logger.cpp b/src/common/logger.cpp index fcadd775..37c2b350 100644 --- a/src/common/logger.cpp +++ b/src/common/logger.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/logger.h b/src/common/logger.h index f5144beb..ed4a1b16 100644 --- a/src/common/logger.h +++ b/src/common/logger.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/make_unique.h b/src/common/make_unique.h index 14385a92..d8c3b3fb 100644 --- a/src/common/make_unique.h +++ b/src/common/make_unique.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/profiler.cpp b/src/common/profiler.cpp index 56a5996d..098cc323 100644 --- a/src/common/profiler.cpp +++ b/src/common/profiler.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/profiler.h b/src/common/profiler.h index 0c3da2b1..9fa34b8f 100644 --- a/src/common/profiler.h +++ b/src/common/profiler.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/regex_utils.cpp b/src/common/regex_utils.cpp index a5e80442..4e8952f4 100644 --- a/src/common/regex_utils.cpp +++ b/src/common/regex_utils.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/regex_utils.h b/src/common/regex_utils.h index 1504d4bd..c138626d 100644 --- a/src/common/regex_utils.h +++ b/src/common/regex_utils.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/inputstream.cpp b/src/common/resources/inputstream.cpp index 8cf24daa..259c0eb9 100644 --- a/src/common/resources/inputstream.cpp +++ b/src/common/resources/inputstream.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/inputstream.h b/src/common/resources/inputstream.h index 55a42dea..a2dea6ee 100644 --- a/src/common/resources/inputstream.h +++ b/src/common/resources/inputstream.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/inputstreambuffer.cpp b/src/common/resources/inputstreambuffer.cpp index 2f9982da..3c5bfea1 100644 --- a/src/common/resources/inputstreambuffer.cpp +++ b/src/common/resources/inputstreambuffer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/inputstreambuffer.h b/src/common/resources/inputstreambuffer.h index 6e7000cf..bef025d1 100644 --- a/src/common/resources/inputstreambuffer.h +++ b/src/common/resources/inputstreambuffer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/outputstream.cpp b/src/common/resources/outputstream.cpp index 6c5f3b64..935d955a 100644 --- a/src/common/resources/outputstream.cpp +++ b/src/common/resources/outputstream.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/outputstream.h b/src/common/resources/outputstream.h index 1040ad9f..6da2cd86 100644 --- a/src/common/resources/outputstream.h +++ b/src/common/resources/outputstream.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/outputstreambuffer.cpp b/src/common/resources/outputstreambuffer.cpp index 0018abeb..0db059f3 100644 --- a/src/common/resources/outputstreambuffer.cpp +++ b/src/common/resources/outputstreambuffer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/outputstreambuffer.h b/src/common/resources/outputstreambuffer.h index fa5f1e0b..6021dde9 100644 --- a/src/common/resources/outputstreambuffer.h +++ b/src/common/resources/outputstreambuffer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/resourcemanager.cpp b/src/common/resources/resourcemanager.cpp index 3ff874db..0facda71 100644 --- a/src/common/resources/resourcemanager.cpp +++ b/src/common/resources/resourcemanager.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/resourcemanager.h b/src/common/resources/resourcemanager.h index 31dbd940..01b63432 100644 --- a/src/common/resources/resourcemanager.h +++ b/src/common/resources/resourcemanager.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/sdl_file_wrapper.cpp b/src/common/resources/sdl_file_wrapper.cpp index 13b72e27..a22ba806 100644 --- a/src/common/resources/sdl_file_wrapper.cpp +++ b/src/common/resources/sdl_file_wrapper.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/sdl_file_wrapper.h b/src/common/resources/sdl_file_wrapper.h index fdb47b44..2c65bc9a 100644 --- a/src/common/resources/sdl_file_wrapper.h +++ b/src/common/resources/sdl_file_wrapper.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/sdl_memory_wrapper.cpp b/src/common/resources/sdl_memory_wrapper.cpp index ed02eb76..77d81d66 100644 --- a/src/common/resources/sdl_memory_wrapper.cpp +++ b/src/common/resources/sdl_memory_wrapper.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/sdl_memory_wrapper.h b/src/common/resources/sdl_memory_wrapper.h index b2a637c9..f4926e1b 100644 --- a/src/common/resources/sdl_memory_wrapper.h +++ b/src/common/resources/sdl_memory_wrapper.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/sndfile_wrapper.cpp b/src/common/resources/sndfile_wrapper.cpp index 9c897132..7996ca0f 100644 --- a/src/common/resources/sndfile_wrapper.cpp +++ b/src/common/resources/sndfile_wrapper.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/resources/sndfile_wrapper.h b/src/common/resources/sndfile_wrapper.h index c82f27e1..524a3309 100644 --- a/src/common/resources/sndfile_wrapper.h +++ b/src/common/resources/sndfile_wrapper.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/restext.cpp b/src/common/restext.cpp index d8e16a00..7c5cf830 100644 --- a/src/common/restext.cpp +++ b/src/common/restext.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/restext.h b/src/common/restext.h index 0ba5d16d..8fc0e461 100644 --- a/src/common/restext.h +++ b/src/common/restext.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 7c72030e..643c8dae 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/settings.h b/src/common/settings.h index 010fd036..bd10f7d4 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/singleton.h b/src/common/singleton.h index 99f90ed6..f20328fa 100644 --- a/src/common/singleton.h +++ b/src/common/singleton.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/stringutils.cpp b/src/common/stringutils.cpp index 1aa97920..660cd7b6 100644 --- a/src/common/stringutils.cpp +++ b/src/common/stringutils.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/stringutils.h b/src/common/stringutils.h index bdb24049..815528c4 100644 --- a/src/common/stringutils.h +++ b/src/common/stringutils.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system.cpp b/src/common/system/system.cpp index 42242565..d62ecf78 100644 --- a/src/common/system/system.cpp +++ b/src/common/system/system.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system.h b/src/common/system/system.h index d5bf3d99..d2ab6153 100644 --- a/src/common/system/system.h +++ b/src/common/system/system.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_linux.cpp b/src/common/system/system_linux.cpp index 0f9efeee..6f505865 100644 --- a/src/common/system/system_linux.cpp +++ b/src/common/system/system_linux.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_linux.h b/src/common/system/system_linux.h index 8a1e60ec..544c324d 100644 --- a/src/common/system/system_linux.h +++ b/src/common/system/system_linux.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_macosx.cpp b/src/common/system/system_macosx.cpp index 8a20f7e2..9863b44c 100644 --- a/src/common/system/system_macosx.cpp +++ b/src/common/system/system_macosx.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_macosx.h b/src/common/system/system_macosx.h index 6ed4182b..0ae5afe5 100644 --- a/src/common/system/system_macosx.h +++ b/src/common/system/system_macosx.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_other.cpp b/src/common/system/system_other.cpp index f88def23..93b92395 100644 --- a/src/common/system/system_other.cpp +++ b/src/common/system/system_other.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2018, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_other.h b/src/common/system/system_other.h index 4230e9ac..a69e5707 100644 --- a/src/common/system/system_other.h +++ b/src/common/system/system_other.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_windows.cpp b/src/common/system/system_windows.cpp index 773bd62d..006e909a 100644 --- a/src/common/system/system_windows.cpp +++ b/src/common/system/system_windows.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/system/system_windows.h b/src/common/system/system_windows.h index c39285d5..a2ac047d 100644 --- a/src/common/system/system_windows.h +++ b/src/common/system/system_windows.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/common/thread/worker_thread.h b/src/common/thread/worker_thread.h index 01b4ec8f..b62dc49b 100644 --- a/src/common/thread/worker_thread.h +++ b/src/common/thread/worker_thread.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/color.cpp b/src/graphics/core/color.cpp index 0b33c72f..5abd2030 100644 --- a/src/graphics/core/color.cpp +++ b/src/graphics/core/color.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/color.h b/src/graphics/core/color.h index 66193748..18a33f10 100644 --- a/src/graphics/core/color.h +++ b/src/graphics/core/color.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/device.h b/src/graphics/core/device.h index 6bfa8218..0ec902a0 100644 --- a/src/graphics/core/device.h +++ b/src/graphics/core/device.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/framebuffer.cpp b/src/graphics/core/framebuffer.cpp index 590b07a2..c7d8c168 100644 --- a/src/graphics/core/framebuffer.cpp +++ b/src/graphics/core/framebuffer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/framebuffer.h b/src/graphics/core/framebuffer.h index 11769dae..bebc5022 100644 --- a/src/graphics/core/framebuffer.h +++ b/src/graphics/core/framebuffer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/light.h b/src/graphics/core/light.h index 88100005..c60c44f7 100644 --- a/src/graphics/core/light.h +++ b/src/graphics/core/light.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/material.h b/src/graphics/core/material.h index 41b6e284..c872d4af 100644 --- a/src/graphics/core/material.h +++ b/src/graphics/core/material.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/nulldevice.cpp b/src/graphics/core/nulldevice.cpp index 6644d7a2..a3fc04ee 100644 --- a/src/graphics/core/nulldevice.cpp +++ b/src/graphics/core/nulldevice.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/nulldevice.h b/src/graphics/core/nulldevice.h index d1fbbe0f..e071b14c 100644 --- a/src/graphics/core/nulldevice.h +++ b/src/graphics/core/nulldevice.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/texture.h b/src/graphics/core/texture.h index 0f11d9f9..8d8694a1 100644 --- a/src/graphics/core/texture.h +++ b/src/graphics/core/texture.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/type.cpp b/src/graphics/core/type.cpp index aca29821..d9e75393 100644 --- a/src/graphics/core/type.cpp +++ b/src/graphics/core/type.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/type.h b/src/graphics/core/type.h index 269b9262..382992ad 100644 --- a/src/graphics/core/type.h +++ b/src/graphics/core/type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/core/vertex.h b/src/graphics/core/vertex.h index da338b90..d8d8bb18 100644 --- a/src/graphics/core/vertex.h +++ b/src/graphics/core/vertex.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/camera.cpp b/src/graphics/engine/camera.cpp index f3b96186..57e66dca 100644 --- a/src/graphics/engine/camera.cpp +++ b/src/graphics/engine/camera.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/camera.h b/src/graphics/engine/camera.h index b4f2aaad..8875f2cf 100644 --- a/src/graphics/engine/camera.h +++ b/src/graphics/engine/camera.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/cloud.cpp b/src/graphics/engine/cloud.cpp index 63510bd0..4a53f286 100644 --- a/src/graphics/engine/cloud.cpp +++ b/src/graphics/engine/cloud.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/cloud.h b/src/graphics/engine/cloud.h index 79a3ceb3..3a06a9fb 100644 --- a/src/graphics/engine/cloud.h +++ b/src/graphics/engine/cloud.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index f241f85d..d0ffcc44 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/engine.h b/src/graphics/engine/engine.h index db6eb8e1..b644e79d 100644 --- a/src/graphics/engine/engine.h +++ b/src/graphics/engine/engine.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/lightman.cpp b/src/graphics/engine/lightman.cpp index 99885f1a..ff71a2f0 100644 --- a/src/graphics/engine/lightman.cpp +++ b/src/graphics/engine/lightman.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/lightman.h b/src/graphics/engine/lightman.h index 880a3f27..4fab7e99 100644 --- a/src/graphics/engine/lightman.h +++ b/src/graphics/engine/lightman.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/lightning.cpp b/src/graphics/engine/lightning.cpp index 8b101e53..ed6069bf 100644 --- a/src/graphics/engine/lightning.cpp +++ b/src/graphics/engine/lightning.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/lightning.h b/src/graphics/engine/lightning.h index 72f7ade1..531ac21e 100644 --- a/src/graphics/engine/lightning.h +++ b/src/graphics/engine/lightning.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/oldmodelmanager.cpp b/src/graphics/engine/oldmodelmanager.cpp index 7207cc7b..5dbbe077 100644 --- a/src/graphics/engine/oldmodelmanager.cpp +++ b/src/graphics/engine/oldmodelmanager.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/oldmodelmanager.h b/src/graphics/engine/oldmodelmanager.h index 502dc501..feb7424c 100644 --- a/src/graphics/engine/oldmodelmanager.h +++ b/src/graphics/engine/oldmodelmanager.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/particle.cpp b/src/graphics/engine/particle.cpp index fa430488..c16511b3 100644 --- a/src/graphics/engine/particle.cpp +++ b/src/graphics/engine/particle.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/particle.h b/src/graphics/engine/particle.h index b97dd693..a998dfe8 100644 --- a/src/graphics/engine/particle.h +++ b/src/graphics/engine/particle.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/planet.cpp b/src/graphics/engine/planet.cpp index 6a59a3b5..db5f670b 100644 --- a/src/graphics/engine/planet.cpp +++ b/src/graphics/engine/planet.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/planet.h b/src/graphics/engine/planet.h index 3efe4ee8..d80f9384 100644 --- a/src/graphics/engine/planet.h +++ b/src/graphics/engine/planet.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/planet_type.h b/src/graphics/engine/planet_type.h index 8f92bf83..07168aa2 100644 --- a/src/graphics/engine/planet_type.h +++ b/src/graphics/engine/planet_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/pyro.cpp b/src/graphics/engine/pyro.cpp index 33c144b8..dd04b9f3 100644 --- a/src/graphics/engine/pyro.cpp +++ b/src/graphics/engine/pyro.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/pyro.h b/src/graphics/engine/pyro.h index 84e29529..af0ba284 100644 --- a/src/graphics/engine/pyro.h +++ b/src/graphics/engine/pyro.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/pyro_manager.cpp b/src/graphics/engine/pyro_manager.cpp index 4ffd0c76..dee44536 100644 --- a/src/graphics/engine/pyro_manager.cpp +++ b/src/graphics/engine/pyro_manager.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/pyro_manager.h b/src/graphics/engine/pyro_manager.h index 613e73fc..7a6f6090 100644 --- a/src/graphics/engine/pyro_manager.h +++ b/src/graphics/engine/pyro_manager.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/pyro_type.h b/src/graphics/engine/pyro_type.h index 0336be71..af3fbe39 100644 --- a/src/graphics/engine/pyro_type.h +++ b/src/graphics/engine/pyro_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/terrain.cpp b/src/graphics/engine/terrain.cpp index 07f8f956..9433fd1e 100644 --- a/src/graphics/engine/terrain.cpp +++ b/src/graphics/engine/terrain.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/terrain.h b/src/graphics/engine/terrain.h index 1d0fd685..c400190e 100644 --- a/src/graphics/engine/terrain.h +++ b/src/graphics/engine/terrain.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/text.cpp b/src/graphics/engine/text.cpp index fef37333..315a3fbb 100644 --- a/src/graphics/engine/text.cpp +++ b/src/graphics/engine/text.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/text.h b/src/graphics/engine/text.h index dc1be3db..b6f2122b 100644 --- a/src/graphics/engine/text.h +++ b/src/graphics/engine/text.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/water.cpp b/src/graphics/engine/water.cpp index b824c280..96e66a83 100644 --- a/src/graphics/engine/water.cpp +++ b/src/graphics/engine/water.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/engine/water.h b/src/graphics/engine/water.h index 3c1b7611..e701dc1b 100644 --- a/src/graphics/engine/water.h +++ b/src/graphics/engine/water.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model.cpp b/src/graphics/model/model.cpp index e03986c3..48a6b8f5 100644 --- a/src/graphics/model/model.cpp +++ b/src/graphics/model/model.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model.h b/src/graphics/model/model.h index a3f323a5..f855741c 100644 --- a/src/graphics/model/model.h +++ b/src/graphics/model/model.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_crash_sphere.h b/src/graphics/model/model_crash_sphere.h index 535c394f..08ba9b3a 100644 --- a/src/graphics/model/model_crash_sphere.h +++ b/src/graphics/model/model_crash_sphere.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_format.h b/src/graphics/model/model_format.h index 32171fda..536e7b32 100644 --- a/src/graphics/model/model_format.h +++ b/src/graphics/model/model_format.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_input.cpp b/src/graphics/model/model_input.cpp index 33bc2419..ac47f0ce 100644 --- a/src/graphics/model/model_input.cpp +++ b/src/graphics/model/model_input.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_input.h b/src/graphics/model/model_input.h index 161ed3d5..d5f7bf44 100644 --- a/src/graphics/model/model_input.h +++ b/src/graphics/model/model_input.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_io_exception.h b/src/graphics/model/model_io_exception.h index 8095e996..64e1790b 100644 --- a/src/graphics/model/model_io_exception.h +++ b/src/graphics/model/model_io_exception.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_io_structs.h b/src/graphics/model/model_io_structs.h index b5e1f8eb..71f3b3ea 100644 --- a/src/graphics/model/model_io_structs.h +++ b/src/graphics/model/model_io_structs.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_manager.cpp b/src/graphics/model/model_manager.cpp index a2652645..e0fa0951 100644 --- a/src/graphics/model/model_manager.cpp +++ b/src/graphics/model/model_manager.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_manager.h b/src/graphics/model/model_manager.h index bb78a24d..1ff04a9a 100644 --- a/src/graphics/model/model_manager.h +++ b/src/graphics/model/model_manager.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_mesh.cpp b/src/graphics/model/model_mesh.cpp index fa96b299..39ba2036 100644 --- a/src/graphics/model/model_mesh.cpp +++ b/src/graphics/model/model_mesh.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_mesh.h b/src/graphics/model/model_mesh.h index e375a590..c5f607a2 100644 --- a/src/graphics/model/model_mesh.h +++ b/src/graphics/model/model_mesh.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_output.cpp b/src/graphics/model/model_output.cpp index e15d447d..c9b7f722 100644 --- a/src/graphics/model/model_output.cpp +++ b/src/graphics/model/model_output.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_output.h b/src/graphics/model/model_output.h index dbad3e13..799bc01f 100644 --- a/src/graphics/model/model_output.h +++ b/src/graphics/model/model_output.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_shadow_spot.h b/src/graphics/model/model_shadow_spot.h index 98d6ae76..0b35f369 100644 --- a/src/graphics/model/model_shadow_spot.h +++ b/src/graphics/model/model_shadow_spot.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/model/model_triangle.h b/src/graphics/model/model_triangle.h index ef96eeea..c42e05ff 100644 --- a/src/graphics/model/model_triangle.h +++ b/src/graphics/model/model_triangle.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/gl14device.cpp b/src/graphics/opengl/gl14device.cpp index 90f2e8f5..5aa37c02 100644 --- a/src/graphics/opengl/gl14device.cpp +++ b/src/graphics/opengl/gl14device.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/gl14device.h b/src/graphics/opengl/gl14device.h index f0e7e950..ab3e6966 100644 --- a/src/graphics/opengl/gl14device.h +++ b/src/graphics/opengl/gl14device.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/gl21device.cpp b/src/graphics/opengl/gl21device.cpp index e0782271..eb2cf4f1 100644 --- a/src/graphics/opengl/gl21device.cpp +++ b/src/graphics/opengl/gl21device.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/gl21device.h b/src/graphics/opengl/gl21device.h index 52af3f04..c5d1c138 100644 --- a/src/graphics/opengl/gl21device.h +++ b/src/graphics/opengl/gl21device.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/gl33device.cpp b/src/graphics/opengl/gl33device.cpp index bd26d35b..5971ab85 100644 --- a/src/graphics/opengl/gl33device.cpp +++ b/src/graphics/opengl/gl33device.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/gl33device.h b/src/graphics/opengl/gl33device.h index 5fcd4e2a..7955aa0d 100644 --- a/src/graphics/opengl/gl33device.h +++ b/src/graphics/opengl/gl33device.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/glframebuffer.cpp b/src/graphics/opengl/glframebuffer.cpp index 41ce771a..c0b54a1e 100644 --- a/src/graphics/opengl/glframebuffer.cpp +++ b/src/graphics/opengl/glframebuffer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/glframebuffer.h b/src/graphics/opengl/glframebuffer.h index 13c85d04..201fb059 100644 --- a/src/graphics/opengl/glframebuffer.h +++ b/src/graphics/opengl/glframebuffer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/glutil.cpp b/src/graphics/opengl/glutil.cpp index fabce21c..3906d31b 100644 --- a/src/graphics/opengl/glutil.cpp +++ b/src/graphics/opengl/glutil.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/graphics/opengl/glutil.h b/src/graphics/opengl/glutil.h index f92888a4..f2268d85 100644 --- a/src/graphics/opengl/glutil.h +++ b/src/graphics/opengl/glutil.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/build_type.h b/src/level/build_type.h index 26c595e4..be663223 100644 --- a/src/level/build_type.h +++ b/src/level/build_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/level_category.cpp b/src/level/level_category.cpp index e34925a3..07f9f1c9 100644 --- a/src/level/level_category.cpp +++ b/src/level/level_category.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/level_category.h b/src/level/level_category.h index 39920914..2db5cb97 100644 --- a/src/level/level_category.h +++ b/src/level/level_category.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/mainmovie.cpp b/src/level/mainmovie.cpp index 6a34510d..27339766 100644 --- a/src/level/mainmovie.cpp +++ b/src/level/mainmovie.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/mainmovie.h b/src/level/mainmovie.h index c27971ef..0f8e9e06 100644 --- a/src/level/mainmovie.h +++ b/src/level/mainmovie.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parser.cpp b/src/level/parser/parser.cpp index 1bf78a24..73227866 100644 --- a/src/level/parser/parser.cpp +++ b/src/level/parser/parser.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parser.h b/src/level/parser/parser.h index 7e06a367..99b5f9bf 100644 --- a/src/level/parser/parser.h +++ b/src/level/parser/parser.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parserexceptions.cpp b/src/level/parser/parserexceptions.cpp index 4e301dd0..5e41d0a3 100644 --- a/src/level/parser/parserexceptions.cpp +++ b/src/level/parser/parserexceptions.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parserexceptions.h b/src/level/parser/parserexceptions.h index 10a4054a..5cc14422 100644 --- a/src/level/parser/parserexceptions.h +++ b/src/level/parser/parserexceptions.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parserline.cpp b/src/level/parser/parserline.cpp index bfe2fe0d..4e3fe452 100644 --- a/src/level/parser/parserline.cpp +++ b/src/level/parser/parserline.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parserline.h b/src/level/parser/parserline.h index 21770659..eacd2444 100644 --- a/src/level/parser/parserline.h +++ b/src/level/parser/parserline.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parserparam.cpp b/src/level/parser/parserparam.cpp index 159ab5f7..57665b1a 100644 --- a/src/level/parser/parserparam.cpp +++ b/src/level/parser/parserparam.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/parser/parserparam.h b/src/level/parser/parserparam.h index ca16022d..1625db80 100644 --- a/src/level/parser/parserparam.h +++ b/src/level/parser/parserparam.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/player_profile.cpp b/src/level/player_profile.cpp index 2b7e7e93..a88d052f 100644 --- a/src/level/player_profile.cpp +++ b/src/level/player_profile.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/player_profile.h b/src/level/player_profile.h index 9f50a323..16ba0abd 100644 --- a/src/level/player_profile.h +++ b/src/level/player_profile.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/research_type.h b/src/level/research_type.h index daa10916..b9680f39 100644 --- a/src/level/research_type.h +++ b/src/level/research_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/robotmain.cpp b/src/level/robotmain.cpp index 76a38833..5f1b1599 100644 --- a/src/level/robotmain.cpp +++ b/src/level/robotmain.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/robotmain.h b/src/level/robotmain.h index 42590b50..ceddcb78 100644 --- a/src/level/robotmain.h +++ b/src/level/robotmain.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/scene_conditions.cpp b/src/level/scene_conditions.cpp index 36e2bdd9..b5c0965f 100644 --- a/src/level/scene_conditions.cpp +++ b/src/level/scene_conditions.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/scene_conditions.h b/src/level/scene_conditions.h index 1cff0c34..f225faaa 100644 --- a/src/level/scene_conditions.h +++ b/src/level/scene_conditions.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/scoreboard.cpp b/src/level/scoreboard.cpp index 3013b291..1acc2322 100644 --- a/src/level/scoreboard.cpp +++ b/src/level/scoreboard.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/level/scoreboard.h b/src/level/scoreboard.h index 9a18b2d0..a50e533b 100644 --- a/src/level/scoreboard.h +++ b/src/level/scoreboard.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/all.h b/src/math/all.h index 047148eb..1a4eed63 100644 --- a/src/math/all.h +++ b/src/math/all.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/const.h b/src/math/const.h index bf32b674..4e3ace4d 100644 --- a/src/math/const.h +++ b/src/math/const.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/func.h b/src/math/func.h index ee5e00d4..69561995 100644 --- a/src/math/func.h +++ b/src/math/func.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/geometry.h b/src/math/geometry.h index f7c85130..868efbe0 100644 --- a/src/math/geometry.h +++ b/src/math/geometry.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/half.cpp b/src/math/half.cpp index d42468b5..a205c736 100644 --- a/src/math/half.cpp +++ b/src/math/half.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/half.h b/src/math/half.h index 1d196f09..fa3208a6 100644 --- a/src/math/half.h +++ b/src/math/half.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/intpoint.h b/src/math/intpoint.h index e2fbf811..370cf19a 100644 --- a/src/math/intpoint.h +++ b/src/math/intpoint.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/matrix.h b/src/math/matrix.h index 51e6fc65..9bb4818e 100644 --- a/src/math/matrix.h +++ b/src/math/matrix.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/point.h b/src/math/point.h index de3bc88a..64d9a1d2 100644 --- a/src/math/point.h +++ b/src/math/point.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/sphere.h b/src/math/sphere.h index 676ef2b3..e5fec294 100644 --- a/src/math/sphere.h +++ b/src/math/sphere.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/math/vector.h b/src/math/vector.h index 9f3a286f..e57ccbb6 100644 --- a/src/math/vector.h +++ b/src/math/vector.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/auto.cpp b/src/object/auto/auto.cpp index a3ea98ee..c8ff9e8d 100644 --- a/src/object/auto/auto.cpp +++ b/src/object/auto/auto.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/auto.h b/src/object/auto/auto.h index 0c8de5bd..4c759ac5 100644 --- a/src/object/auto/auto.h +++ b/src/object/auto/auto.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autobase.cpp b/src/object/auto/autobase.cpp index 7b908095..d00e6c2d 100644 --- a/src/object/auto/autobase.cpp +++ b/src/object/auto/autobase.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autobase.h b/src/object/auto/autobase.h index 9fc3e22f..b6dff4e5 100644 --- a/src/object/auto/autobase.h +++ b/src/object/auto/autobase.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoconvert.cpp b/src/object/auto/autoconvert.cpp index 0f4cf5a7..db406251 100644 --- a/src/object/auto/autoconvert.cpp +++ b/src/object/auto/autoconvert.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoconvert.h b/src/object/auto/autoconvert.h index 726ebc4a..eee5caa3 100644 --- a/src/object/auto/autoconvert.h +++ b/src/object/auto/autoconvert.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoderrick.cpp b/src/object/auto/autoderrick.cpp index f97938a1..5ba78d7e 100644 --- a/src/object/auto/autoderrick.cpp +++ b/src/object/auto/autoderrick.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoderrick.h b/src/object/auto/autoderrick.h index 91250c52..6aec7f7a 100644 --- a/src/object/auto/autoderrick.h +++ b/src/object/auto/autoderrick.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autodestroyer.cpp b/src/object/auto/autodestroyer.cpp index 717a1f2b..c5b2cc96 100644 --- a/src/object/auto/autodestroyer.cpp +++ b/src/object/auto/autodestroyer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autodestroyer.h b/src/object/auto/autodestroyer.h index c4f1af8b..c832326c 100644 --- a/src/object/auto/autodestroyer.h +++ b/src/object/auto/autodestroyer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoegg.cpp b/src/object/auto/autoegg.cpp index 6c0026d8..50354a8d 100644 --- a/src/object/auto/autoegg.cpp +++ b/src/object/auto/autoegg.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoegg.h b/src/object/auto/autoegg.h index 2ca25e86..e0b10b55 100644 --- a/src/object/auto/autoegg.h +++ b/src/object/auto/autoegg.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autofactory.cpp b/src/object/auto/autofactory.cpp index a6061a32..43e285b9 100644 --- a/src/object/auto/autofactory.cpp +++ b/src/object/auto/autofactory.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autofactory.h b/src/object/auto/autofactory.h index 7fceca5a..cb3e1251 100644 --- a/src/object/auto/autofactory.h +++ b/src/object/auto/autofactory.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoflag.cpp b/src/object/auto/autoflag.cpp index 1930a7db..05308ecc 100644 --- a/src/object/auto/autoflag.cpp +++ b/src/object/auto/autoflag.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoflag.h b/src/object/auto/autoflag.h index f57769a7..0456e08d 100644 --- a/src/object/auto/autoflag.h +++ b/src/object/auto/autoflag.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autohouston.cpp b/src/object/auto/autohouston.cpp index 6a2d2716..652f1670 100644 --- a/src/object/auto/autohouston.cpp +++ b/src/object/auto/autohouston.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autohouston.h b/src/object/auto/autohouston.h index 9a4b5f29..4e46cf60 100644 --- a/src/object/auto/autohouston.h +++ b/src/object/auto/autohouston.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autojostle.cpp b/src/object/auto/autojostle.cpp index 4c304e3a..a6837488 100644 --- a/src/object/auto/autojostle.cpp +++ b/src/object/auto/autojostle.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autojostle.h b/src/object/auto/autojostle.h index 7e94ad68..0281c21e 100644 --- a/src/object/auto/autojostle.h +++ b/src/object/auto/autojostle.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autokid.cpp b/src/object/auto/autokid.cpp index 1977c33f..ca8307c2 100644 --- a/src/object/auto/autokid.cpp +++ b/src/object/auto/autokid.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autokid.h b/src/object/auto/autokid.h index 9ad16544..1821f3ed 100644 --- a/src/object/auto/autokid.h +++ b/src/object/auto/autokid.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autolabo.cpp b/src/object/auto/autolabo.cpp index 0cdb4a57..5cd27656 100644 --- a/src/object/auto/autolabo.cpp +++ b/src/object/auto/autolabo.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autolabo.h b/src/object/auto/autolabo.h index a1b22ec7..0db8623e 100644 --- a/src/object/auto/autolabo.h +++ b/src/object/auto/autolabo.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/automush.cpp b/src/object/auto/automush.cpp index 9b87fe1e..336b5cec 100644 --- a/src/object/auto/automush.cpp +++ b/src/object/auto/automush.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/automush.h b/src/object/auto/automush.h index b9ab4790..9b7bd147 100644 --- a/src/object/auto/automush.h +++ b/src/object/auto/automush.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autonest.cpp b/src/object/auto/autonest.cpp index c7b3e15c..579079f4 100644 --- a/src/object/auto/autonest.cpp +++ b/src/object/auto/autonest.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autonest.h b/src/object/auto/autonest.h index ffaff24b..ef5004a0 100644 --- a/src/object/auto/autonest.h +++ b/src/object/auto/autonest.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autonuclearplant.cpp b/src/object/auto/autonuclearplant.cpp index 2c138c61..d92df352 100644 --- a/src/object/auto/autonuclearplant.cpp +++ b/src/object/auto/autonuclearplant.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autonuclearplant.h b/src/object/auto/autonuclearplant.h index 0ba5e441..499f5f0e 100644 --- a/src/object/auto/autonuclearplant.h +++ b/src/object/auto/autonuclearplant.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoportico.cpp b/src/object/auto/autoportico.cpp index 04f4d349..c9c338dd 100644 --- a/src/object/auto/autoportico.cpp +++ b/src/object/auto/autoportico.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoportico.h b/src/object/auto/autoportico.h index eb5db333..e7a92bdf 100644 --- a/src/object/auto/autoportico.h +++ b/src/object/auto/autoportico.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autopowercaptor.cpp b/src/object/auto/autopowercaptor.cpp index 614c5da4..90a3b455 100644 --- a/src/object/auto/autopowercaptor.cpp +++ b/src/object/auto/autopowercaptor.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autopowercaptor.h b/src/object/auto/autopowercaptor.h index ad23eaee..33c6e4a6 100644 --- a/src/object/auto/autopowercaptor.h +++ b/src/object/auto/autopowercaptor.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autopowerplant.cpp b/src/object/auto/autopowerplant.cpp index d0006e2d..d84949bb 100644 --- a/src/object/auto/autopowerplant.cpp +++ b/src/object/auto/autopowerplant.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autopowerplant.h b/src/object/auto/autopowerplant.h index 5bf6608f..b99e0074 100644 --- a/src/object/auto/autopowerplant.h +++ b/src/object/auto/autopowerplant.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autopowerstation.cpp b/src/object/auto/autopowerstation.cpp index 96bed578..913cf14e 100644 --- a/src/object/auto/autopowerstation.cpp +++ b/src/object/auto/autopowerstation.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autopowerstation.h b/src/object/auto/autopowerstation.h index f2a6a035..52ccebc4 100644 --- a/src/object/auto/autopowerstation.h +++ b/src/object/auto/autopowerstation.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoradar.cpp b/src/object/auto/autoradar.cpp index 8a39f4fb..d3d06fcf 100644 --- a/src/object/auto/autoradar.cpp +++ b/src/object/auto/autoradar.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoradar.h b/src/object/auto/autoradar.h index def37bab..9e266bc7 100644 --- a/src/object/auto/autoradar.h +++ b/src/object/auto/autoradar.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autorepair.cpp b/src/object/auto/autorepair.cpp index 39b41d42..f9499b6b 100644 --- a/src/object/auto/autorepair.cpp +++ b/src/object/auto/autorepair.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autorepair.h b/src/object/auto/autorepair.h index 2c91f568..9e5288a8 100644 --- a/src/object/auto/autorepair.h +++ b/src/object/auto/autorepair.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoresearch.cpp b/src/object/auto/autoresearch.cpp index 83d39c66..1eb536ca 100644 --- a/src/object/auto/autoresearch.cpp +++ b/src/object/auto/autoresearch.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoresearch.h b/src/object/auto/autoresearch.h index 4fa8894f..c97c070c 100644 --- a/src/object/auto/autoresearch.h +++ b/src/object/auto/autoresearch.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoroot.cpp b/src/object/auto/autoroot.cpp index 330fcae6..404331d0 100644 --- a/src/object/auto/autoroot.cpp +++ b/src/object/auto/autoroot.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autoroot.h b/src/object/auto/autoroot.h index fdad9fb2..7dc5d74a 100644 --- a/src/object/auto/autoroot.h +++ b/src/object/auto/autoroot.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autotower.cpp b/src/object/auto/autotower.cpp index b509e7e9..ac22d16a 100644 --- a/src/object/auto/autotower.cpp +++ b/src/object/auto/autotower.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autotower.h b/src/object/auto/autotower.h index 89a0a4e7..39a37d1b 100644 --- a/src/object/auto/autotower.h +++ b/src/object/auto/autotower.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autovault.cpp b/src/object/auto/autovault.cpp index 463def58..28fe7211 100644 --- a/src/object/auto/autovault.cpp +++ b/src/object/auto/autovault.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/auto/autovault.h b/src/object/auto/autovault.h index ea272a75..1b3e3958 100644 --- a/src/object/auto/autovault.h +++ b/src/object/auto/autovault.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/crash_sphere.h b/src/object/crash_sphere.h index 629a6df7..2ff846b1 100644 --- a/src/object/crash_sphere.h +++ b/src/object/crash_sphere.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/drive_type.cpp b/src/object/drive_type.cpp index b30f4eb7..96fd2530 100644 --- a/src/object/drive_type.cpp +++ b/src/object/drive_type.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/drive_type.h b/src/object/drive_type.h index 7407a65b..8f6e894b 100644 --- a/src/object/drive_type.h +++ b/src/object/drive_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/power_container_impl.cpp b/src/object/implementation/power_container_impl.cpp index 8449e761..7fe97e18 100644 --- a/src/object/implementation/power_container_impl.cpp +++ b/src/object/implementation/power_container_impl.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/power_container_impl.h b/src/object/implementation/power_container_impl.h index 0d410abb..9c81e1d7 100644 --- a/src/object/implementation/power_container_impl.h +++ b/src/object/implementation/power_container_impl.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/program_storage_impl.cpp b/src/object/implementation/program_storage_impl.cpp index d5a914ff..51906721 100644 --- a/src/object/implementation/program_storage_impl.cpp +++ b/src/object/implementation/program_storage_impl.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/program_storage_impl.h b/src/object/implementation/program_storage_impl.h index 67b2ca89..eba23c77 100644 --- a/src/object/implementation/program_storage_impl.h +++ b/src/object/implementation/program_storage_impl.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/programmable_impl.cpp b/src/object/implementation/programmable_impl.cpp index 8748f040..82902ca4 100644 --- a/src/object/implementation/programmable_impl.cpp +++ b/src/object/implementation/programmable_impl.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/programmable_impl.h b/src/object/implementation/programmable_impl.h index 802db459..a17113de 100644 --- a/src/object/implementation/programmable_impl.h +++ b/src/object/implementation/programmable_impl.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/task_executor_impl.cpp b/src/object/implementation/task_executor_impl.cpp index fe869d0b..63d7cf1f 100644 --- a/src/object/implementation/task_executor_impl.cpp +++ b/src/object/implementation/task_executor_impl.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/implementation/task_executor_impl.h b/src/object/implementation/task_executor_impl.h index 69e4a0a3..3b1e0267 100644 --- a/src/object/implementation/task_executor_impl.h +++ b/src/object/implementation/task_executor_impl.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/carrier_object.h b/src/object/interface/carrier_object.h index 2cbf3d73..82c27a5d 100644 --- a/src/object/interface/carrier_object.h +++ b/src/object/interface/carrier_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/controllable_object.h b/src/object/interface/controllable_object.h index 2949144d..8bf980aa 100644 --- a/src/object/interface/controllable_object.h +++ b/src/object/interface/controllable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/damageable_object.h b/src/object/interface/damageable_object.h index 3de61ff1..2e327c5a 100644 --- a/src/object/interface/damageable_object.h +++ b/src/object/interface/damageable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/destroyable_object.h b/src/object/interface/destroyable_object.h index fd83a87e..f17e4106 100644 --- a/src/object/interface/destroyable_object.h +++ b/src/object/interface/destroyable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/flying_object.h b/src/object/interface/flying_object.h index ce475ef6..bf028149 100644 --- a/src/object/interface/flying_object.h +++ b/src/object/interface/flying_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/fragile_object.h b/src/object/interface/fragile_object.h index a4fd3d1e..2797d205 100644 --- a/src/object/interface/fragile_object.h +++ b/src/object/interface/fragile_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/interactive_object.h b/src/object/interface/interactive_object.h index af438a4e..f2f3280b 100644 --- a/src/object/interface/interactive_object.h +++ b/src/object/interface/interactive_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/jet_flying_object.h b/src/object/interface/jet_flying_object.h index 0f257709..bb13461c 100644 --- a/src/object/interface/jet_flying_object.h +++ b/src/object/interface/jet_flying_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/jostleable_object.h b/src/object/interface/jostleable_object.h index ff8b1543..f156ffee 100644 --- a/src/object/interface/jostleable_object.h +++ b/src/object/interface/jostleable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/movable_object.h b/src/object/interface/movable_object.h index e99f606c..0b89d8c2 100644 --- a/src/object/interface/movable_object.h +++ b/src/object/interface/movable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/power_container_object.h b/src/object/interface/power_container_object.h index 472aaf8d..9a7c430f 100644 --- a/src/object/interface/power_container_object.h +++ b/src/object/interface/power_container_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/powered_object.h b/src/object/interface/powered_object.h index 3aea3296..73c9a616 100644 --- a/src/object/interface/powered_object.h +++ b/src/object/interface/powered_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/program_storage_object.h b/src/object/interface/program_storage_object.h index 00b05012..2924f0a3 100644 --- a/src/object/interface/program_storage_object.h +++ b/src/object/interface/program_storage_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/programmable_object.h b/src/object/interface/programmable_object.h index ab1a8075..c75773a0 100644 --- a/src/object/interface/programmable_object.h +++ b/src/object/interface/programmable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/ranged_object.h b/src/object/interface/ranged_object.h index 79af7fd6..f3a99df2 100644 --- a/src/object/interface/ranged_object.h +++ b/src/object/interface/ranged_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/shielded_auto_regen_object.h b/src/object/interface/shielded_auto_regen_object.h index 37ff26ca..f74a42bf 100644 --- a/src/object/interface/shielded_auto_regen_object.h +++ b/src/object/interface/shielded_auto_regen_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/shielded_object.h b/src/object/interface/shielded_object.h index 30380cdf..c6a033fd 100644 --- a/src/object/interface/shielded_object.h +++ b/src/object/interface/shielded_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/task_executor_object.h b/src/object/interface/task_executor_object.h index 3b3eb08f..25560757 100644 --- a/src/object/interface/task_executor_object.h +++ b/src/object/interface/task_executor_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/trace_drawing_object.cpp b/src/object/interface/trace_drawing_object.cpp index b0c8343d..3fa2f850 100644 --- a/src/object/interface/trace_drawing_object.cpp +++ b/src/object/interface/trace_drawing_object.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/trace_drawing_object.h b/src/object/interface/trace_drawing_object.h index 36e05463..c8d15501 100644 --- a/src/object/interface/trace_drawing_object.h +++ b/src/object/interface/trace_drawing_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/interface/transportable_object.h b/src/object/interface/transportable_object.h index 38e88dc5..4e93ee9f 100644 --- a/src/object/interface/transportable_object.h +++ b/src/object/interface/transportable_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/mission_type.h b/src/object/mission_type.h index 2e2e891e..ac457a46 100644 --- a/src/object/mission_type.h +++ b/src/object/mission_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motion.cpp b/src/object/motion/motion.cpp index 0462ba6e..fb3191e0 100644 --- a/src/object/motion/motion.cpp +++ b/src/object/motion/motion.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motion.h b/src/object/motion/motion.h index 59ea0e17..7ed32ae1 100644 --- a/src/object/motion/motion.h +++ b/src/object/motion/motion.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionant.cpp b/src/object/motion/motionant.cpp index 2b4cf2c7..28abe174 100644 --- a/src/object/motion/motionant.cpp +++ b/src/object/motion/motionant.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionant.h b/src/object/motion/motionant.h index b7387455..b9476b6c 100644 --- a/src/object/motion/motionant.h +++ b/src/object/motion/motionant.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionbee.cpp b/src/object/motion/motionbee.cpp index ceaf9869..1f4b7770 100644 --- a/src/object/motion/motionbee.cpp +++ b/src/object/motion/motionbee.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionbee.h b/src/object/motion/motionbee.h index 1dcc18e1..31d2cbc8 100644 --- a/src/object/motion/motionbee.h +++ b/src/object/motion/motionbee.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionhuman.cpp b/src/object/motion/motionhuman.cpp index aef056c6..906aaab6 100644 --- a/src/object/motion/motionhuman.cpp +++ b/src/object/motion/motionhuman.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionhuman.h b/src/object/motion/motionhuman.h index f07f85df..450f275b 100644 --- a/src/object/motion/motionhuman.h +++ b/src/object/motion/motionhuman.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionlevelcontroller.cpp b/src/object/motion/motionlevelcontroller.cpp index eed15cbc..c94ae759 100644 --- a/src/object/motion/motionlevelcontroller.cpp +++ b/src/object/motion/motionlevelcontroller.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionlevelcontroller.h b/src/object/motion/motionlevelcontroller.h index 601af0f1..28c57862 100644 --- a/src/object/motion/motionlevelcontroller.h +++ b/src/object/motion/motionlevelcontroller.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionqueen.cpp b/src/object/motion/motionqueen.cpp index c385d4ac..88efa296 100644 --- a/src/object/motion/motionqueen.cpp +++ b/src/object/motion/motionqueen.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionqueen.h b/src/object/motion/motionqueen.h index dfcdb9b6..8baa9c25 100644 --- a/src/object/motion/motionqueen.h +++ b/src/object/motion/motionqueen.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionspider.cpp b/src/object/motion/motionspider.cpp index c65807f1..4673b8b3 100644 --- a/src/object/motion/motionspider.cpp +++ b/src/object/motion/motionspider.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionspider.h b/src/object/motion/motionspider.h index 30647234..5ce0cfcd 100644 --- a/src/object/motion/motionspider.h +++ b/src/object/motion/motionspider.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motiontoto.cpp b/src/object/motion/motiontoto.cpp index 5c763b07..5901a25b 100644 --- a/src/object/motion/motiontoto.cpp +++ b/src/object/motion/motiontoto.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motiontoto.h b/src/object/motion/motiontoto.h index 2a180113..0115dbd4 100644 --- a/src/object/motion/motiontoto.h +++ b/src/object/motion/motiontoto.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionvehicle.cpp b/src/object/motion/motionvehicle.cpp index b9719c34..712ad18a 100644 --- a/src/object/motion/motionvehicle.cpp +++ b/src/object/motion/motionvehicle.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionvehicle.h b/src/object/motion/motionvehicle.h index 98869322..c277b401 100644 --- a/src/object/motion/motionvehicle.h +++ b/src/object/motion/motionvehicle.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionworm.cpp b/src/object/motion/motionworm.cpp index 64d1a5bb..757e65fa 100644 --- a/src/object/motion/motionworm.cpp +++ b/src/object/motion/motionworm.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/motion/motionworm.h b/src/object/motion/motionworm.h index 2bc16964..8b01acec 100644 --- a/src/object/motion/motionworm.h +++ b/src/object/motion/motionworm.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object.cpp b/src/object/object.cpp index 20b9fca1..c2d04160 100644 --- a/src/object/object.cpp +++ b/src/object/object.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object.h b/src/object/object.h index b86d6478..a2c9f4f7 100644 --- a/src/object/object.h +++ b/src/object/object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_create_exception.h b/src/object/object_create_exception.h index 3f57e8bc..8017ccab 100644 --- a/src/object/object_create_exception.h +++ b/src/object/object_create_exception.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_create_params.h b/src/object/object_create_params.h index 69830faa..15e1d0a4 100644 --- a/src/object/object_create_params.h +++ b/src/object/object_create_params.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_factory.cpp b/src/object/object_factory.cpp index 00c80f04..803dbc30 100644 --- a/src/object/object_factory.cpp +++ b/src/object/object_factory.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_factory.h b/src/object/object_factory.h index 06033b26..23f4f2d1 100644 --- a/src/object/object_factory.h +++ b/src/object/object_factory.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_interface_type.h b/src/object/object_interface_type.h index fdd90233..a6614f54 100644 --- a/src/object/object_interface_type.h +++ b/src/object/object_interface_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_manager.cpp b/src/object/object_manager.cpp index 58c7475e..c0eb90dd 100644 --- a/src/object/object_manager.cpp +++ b/src/object/object_manager.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_manager.h b/src/object/object_manager.h index 3ae55c84..cc2a4c0b 100644 --- a/src/object/object_manager.h +++ b/src/object/object_manager.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_type.cpp b/src/object/object_type.cpp index ca452bc0..f0100621 100644 --- a/src/object/object_type.cpp +++ b/src/object/object_type.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/object_type.h b/src/object/object_type.h index 7f78e304..b59d74b8 100644 --- a/src/object/object_type.h +++ b/src/object/object_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/old_object.cpp b/src/object/old_object.cpp index 7dedda8a..617f3245 100644 --- a/src/object/old_object.cpp +++ b/src/object/old_object.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/old_object.h b/src/object/old_object.h index cbb25684..ebcab3a1 100644 --- a/src/object/old_object.h +++ b/src/object/old_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/old_object_interface.cpp b/src/object/old_object_interface.cpp index dbaf0768..99a5ad93 100644 --- a/src/object/old_object_interface.cpp +++ b/src/object/old_object_interface.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/old_object_interface.h b/src/object/old_object_interface.h index f2c93fdc..10c2dbed 100644 --- a/src/object/old_object_interface.h +++ b/src/object/old_object_interface.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_alien.cpp b/src/object/subclass/base_alien.cpp index c18b649f..2a2faabf 100644 --- a/src/object/subclass/base_alien.cpp +++ b/src/object/subclass/base_alien.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_alien.h b/src/object/subclass/base_alien.h index 2cdd1418..dd812d7d 100644 --- a/src/object/subclass/base_alien.h +++ b/src/object/subclass/base_alien.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_building.cpp b/src/object/subclass/base_building.cpp index e60c2381..9aea847d 100644 --- a/src/object/subclass/base_building.cpp +++ b/src/object/subclass/base_building.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_building.h b/src/object/subclass/base_building.h index 780151dc..691ec8f0 100644 --- a/src/object/subclass/base_building.h +++ b/src/object/subclass/base_building.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_robot.cpp b/src/object/subclass/base_robot.cpp index 3f5a21f6..942e7ef5 100644 --- a/src/object/subclass/base_robot.cpp +++ b/src/object/subclass/base_robot.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_robot.h b/src/object/subclass/base_robot.h index 90d79f83..a971cbba 100644 --- a/src/object/subclass/base_robot.h +++ b/src/object/subclass/base_robot.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_vehicle.cpp b/src/object/subclass/base_vehicle.cpp index d0083d7a..835114c0 100644 --- a/src/object/subclass/base_vehicle.cpp +++ b/src/object/subclass/base_vehicle.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/base_vehicle.h b/src/object/subclass/base_vehicle.h index 7f8493d4..a6466c9d 100644 --- a/src/object/subclass/base_vehicle.h +++ b/src/object/subclass/base_vehicle.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/exchange_post.cpp b/src/object/subclass/exchange_post.cpp index 940419f6..228c993e 100644 --- a/src/object/subclass/exchange_post.cpp +++ b/src/object/subclass/exchange_post.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/exchange_post.h b/src/object/subclass/exchange_post.h index 05989863..b092b814 100644 --- a/src/object/subclass/exchange_post.h +++ b/src/object/subclass/exchange_post.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/shielder.cpp b/src/object/subclass/shielder.cpp index e52b8779..e8c0224f 100644 --- a/src/object/subclass/shielder.cpp +++ b/src/object/subclass/shielder.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/shielder.h b/src/object/subclass/shielder.h index e1648c9e..c9b2c7ca 100644 --- a/src/object/subclass/shielder.h +++ b/src/object/subclass/shielder.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/static_object.cpp b/src/object/subclass/static_object.cpp index fbbaf09e..b6ccdb72 100644 --- a/src/object/subclass/static_object.cpp +++ b/src/object/subclass/static_object.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/subclass/static_object.h b/src/object/subclass/static_object.h index 6ef19f36..6acde978 100644 --- a/src/object/subclass/static_object.h +++ b/src/object/subclass/static_object.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/task.cpp b/src/object/task/task.cpp index 6fd858ac..c685c8ca 100644 --- a/src/object/task/task.cpp +++ b/src/object/task/task.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/task.h b/src/object/task/task.h index 2b77fa80..e296c7aa 100644 --- a/src/object/task/task.h +++ b/src/object/task/task.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskadvance.cpp b/src/object/task/taskadvance.cpp index ed72eccc..d8573523 100644 --- a/src/object/task/taskadvance.cpp +++ b/src/object/task/taskadvance.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskadvance.h b/src/object/task/taskadvance.h index 6569b26d..df8cb2b7 100644 --- a/src/object/task/taskadvance.h +++ b/src/object/task/taskadvance.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskbuild.cpp b/src/object/task/taskbuild.cpp index b1ee0037..00680578 100644 --- a/src/object/task/taskbuild.cpp +++ b/src/object/task/taskbuild.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskbuild.h b/src/object/task/taskbuild.h index a1ede52e..28378e7f 100644 --- a/src/object/task/taskbuild.h +++ b/src/object/task/taskbuild.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskdeletemark.cpp b/src/object/task/taskdeletemark.cpp index 4b9ced5e..bc0511eb 100644 --- a/src/object/task/taskdeletemark.cpp +++ b/src/object/task/taskdeletemark.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskdeletemark.h b/src/object/task/taskdeletemark.h index 1e7b7f1c..4cd56b81 100644 --- a/src/object/task/taskdeletemark.h +++ b/src/object/task/taskdeletemark.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskfire.cpp b/src/object/task/taskfire.cpp index 87730880..832703cc 100644 --- a/src/object/task/taskfire.cpp +++ b/src/object/task/taskfire.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskfire.h b/src/object/task/taskfire.h index bc0a6f06..d9c8a3c4 100644 --- a/src/object/task/taskfire.h +++ b/src/object/task/taskfire.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskfireant.cpp b/src/object/task/taskfireant.cpp index 99bc7d0b..b3236320 100644 --- a/src/object/task/taskfireant.cpp +++ b/src/object/task/taskfireant.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskfireant.h b/src/object/task/taskfireant.h index 8d57fca5..854dd232 100644 --- a/src/object/task/taskfireant.h +++ b/src/object/task/taskfireant.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskflag.cpp b/src/object/task/taskflag.cpp index b2872159..50789ed7 100644 --- a/src/object/task/taskflag.cpp +++ b/src/object/task/taskflag.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskflag.h b/src/object/task/taskflag.h index dc1621bf..3e546660 100644 --- a/src/object/task/taskflag.h +++ b/src/object/task/taskflag.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskgoto.cpp b/src/object/task/taskgoto.cpp index d2e64667..0964a2e5 100644 --- a/src/object/task/taskgoto.cpp +++ b/src/object/task/taskgoto.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskgoto.h b/src/object/task/taskgoto.h index 9b9f58c4..93148d25 100644 --- a/src/object/task/taskgoto.h +++ b/src/object/task/taskgoto.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskgungoal.cpp b/src/object/task/taskgungoal.cpp index 33e4f8a2..e486c3cd 100644 --- a/src/object/task/taskgungoal.cpp +++ b/src/object/task/taskgungoal.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskgungoal.h b/src/object/task/taskgungoal.h index c60311ec..2fbdb741 100644 --- a/src/object/task/taskgungoal.h +++ b/src/object/task/taskgungoal.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskinfo.cpp b/src/object/task/taskinfo.cpp index 242e5e2c..ddba8566 100644 --- a/src/object/task/taskinfo.cpp +++ b/src/object/task/taskinfo.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskinfo.h b/src/object/task/taskinfo.h index 3caf3af5..c4307ab3 100644 --- a/src/object/task/taskinfo.h +++ b/src/object/task/taskinfo.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskmanip.cpp b/src/object/task/taskmanip.cpp index aa62ef9e..6a522806 100644 --- a/src/object/task/taskmanip.cpp +++ b/src/object/task/taskmanip.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskmanip.h b/src/object/task/taskmanip.h index 165ff653..6326caf2 100644 --- a/src/object/task/taskmanip.h +++ b/src/object/task/taskmanip.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskpen.cpp b/src/object/task/taskpen.cpp index a653ad49..f69b3742 100644 --- a/src/object/task/taskpen.cpp +++ b/src/object/task/taskpen.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskpen.h b/src/object/task/taskpen.h index 758791e0..0d3965ad 100644 --- a/src/object/task/taskpen.h +++ b/src/object/task/taskpen.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskrecover.cpp b/src/object/task/taskrecover.cpp index f56503d5..47c89d0a 100644 --- a/src/object/task/taskrecover.cpp +++ b/src/object/task/taskrecover.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskrecover.h b/src/object/task/taskrecover.h index 98eb4e8a..17dba3f3 100644 --- a/src/object/task/taskrecover.h +++ b/src/object/task/taskrecover.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/tasksearch.cpp b/src/object/task/tasksearch.cpp index 1cc310fe..eaa82008 100644 --- a/src/object/task/tasksearch.cpp +++ b/src/object/task/tasksearch.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/tasksearch.h b/src/object/task/tasksearch.h index 3b6f3146..a1b2ed93 100644 --- a/src/object/task/tasksearch.h +++ b/src/object/task/tasksearch.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskshield.cpp b/src/object/task/taskshield.cpp index 916a5158..faabe85a 100644 --- a/src/object/task/taskshield.cpp +++ b/src/object/task/taskshield.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskshield.h b/src/object/task/taskshield.h index e800ac03..4fc1cc39 100644 --- a/src/object/task/taskshield.h +++ b/src/object/task/taskshield.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskspiderexplo.cpp b/src/object/task/taskspiderexplo.cpp index 2acab5fd..ab49c0fd 100644 --- a/src/object/task/taskspiderexplo.cpp +++ b/src/object/task/taskspiderexplo.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskspiderexplo.h b/src/object/task/taskspiderexplo.h index 73374aef..08291d43 100644 --- a/src/object/task/taskspiderexplo.h +++ b/src/object/task/taskspiderexplo.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/tasktake.cpp b/src/object/task/tasktake.cpp index 6f7360bd..a586e17d 100644 --- a/src/object/task/tasktake.cpp +++ b/src/object/task/tasktake.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/tasktake.h b/src/object/task/tasktake.h index 9b461359..2948987a 100644 --- a/src/object/task/tasktake.h +++ b/src/object/task/tasktake.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskterraform.cpp b/src/object/task/taskterraform.cpp index c0160bf8..6467dee0 100644 --- a/src/object/task/taskterraform.cpp +++ b/src/object/task/taskterraform.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskterraform.h b/src/object/task/taskterraform.h index 5951c087..03b8d926 100644 --- a/src/object/task/taskterraform.h +++ b/src/object/task/taskterraform.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskturn.cpp b/src/object/task/taskturn.cpp index d116e82c..7717baa5 100644 --- a/src/object/task/taskturn.cpp +++ b/src/object/task/taskturn.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskturn.h b/src/object/task/taskturn.h index da194ac7..f46ceab2 100644 --- a/src/object/task/taskturn.h +++ b/src/object/task/taskturn.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskwait.cpp b/src/object/task/taskwait.cpp index c15878ad..f4dcdfbe 100644 --- a/src/object/task/taskwait.cpp +++ b/src/object/task/taskwait.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/task/taskwait.h b/src/object/task/taskwait.h index 2dddaf14..560c28d0 100644 --- a/src/object/task/taskwait.h +++ b/src/object/task/taskwait.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/tool_type.cpp b/src/object/tool_type.cpp index 4cbb1511..be305e96 100644 --- a/src/object/tool_type.cpp +++ b/src/object/tool_type.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/object/tool_type.h b/src/object/tool_type.h index d8660b1f..411d8b8f 100644 --- a/src/object/tool_type.h +++ b/src/object/tool_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/physics/physics.cpp b/src/physics/physics.cpp index d3b69cd8..0ec79189 100644 --- a/src/physics/physics.cpp +++ b/src/physics/physics.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/physics/physics.h b/src/physics/physics.h index 709bd48f..1b0e9dc1 100644 --- a/src/physics/physics.h +++ b/src/physics/physics.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/script/cbottoken.cpp b/src/script/cbottoken.cpp index 46e01eb4..911b985d 100644 --- a/src/script/cbottoken.cpp +++ b/src/script/cbottoken.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/script/cbottoken.h b/src/script/cbottoken.h index e175cba0..fb65da26 100644 --- a/src/script/cbottoken.h +++ b/src/script/cbottoken.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/script/script.cpp b/src/script/script.cpp index 12be1ad9..14aa3057 100644 --- a/src/script/script.cpp +++ b/src/script/script.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/script/script.h b/src/script/script.h index 606cb302..a8b76c40 100644 --- a/src/script/script.h +++ b/src/script/script.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/script/scriptfunc.cpp b/src/script/scriptfunc.cpp index 2c09a3e0..41952603 100644 --- a/src/script/scriptfunc.cpp +++ b/src/script/scriptfunc.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/script/scriptfunc.h b/src/script/scriptfunc.h index 2a2cd718..df923f5c 100644 --- a/src/script/scriptfunc.h +++ b/src/script/scriptfunc.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/alsound.cpp b/src/sound/oalsound/alsound.cpp index 4a22d6b0..fb06bde5 100644 --- a/src/sound/oalsound/alsound.cpp +++ b/src/sound/oalsound/alsound.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/alsound.h b/src/sound/oalsound/alsound.h index 75e3d7f6..8d6911f1 100644 --- a/src/sound/oalsound/alsound.h +++ b/src/sound/oalsound/alsound.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/buffer.cpp b/src/sound/oalsound/buffer.cpp index 26816b9d..1232358b 100644 --- a/src/sound/oalsound/buffer.cpp +++ b/src/sound/oalsound/buffer.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/buffer.h b/src/sound/oalsound/buffer.h index ec838952..944fc9d0 100644 --- a/src/sound/oalsound/buffer.h +++ b/src/sound/oalsound/buffer.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/channel.cpp b/src/sound/oalsound/channel.cpp index 4ec60b5c..cd9504b6 100644 --- a/src/sound/oalsound/channel.cpp +++ b/src/sound/oalsound/channel.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/channel.h b/src/sound/oalsound/channel.h index 640a9c40..f8c9a8a9 100644 --- a/src/sound/oalsound/channel.h +++ b/src/sound/oalsound/channel.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/check.cpp b/src/sound/oalsound/check.cpp index 3d399c25..5e3331e0 100644 --- a/src/sound/oalsound/check.cpp +++ b/src/sound/oalsound/check.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/oalsound/check.h b/src/sound/oalsound/check.h index ac746cdb..7cc29912 100644 --- a/src/sound/oalsound/check.h +++ b/src/sound/oalsound/check.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/sound.cpp b/src/sound/sound.cpp index 87d7266c..a6a8f8c6 100644 --- a/src/sound/sound.cpp +++ b/src/sound/sound.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/sound.h b/src/sound/sound.h index 314eb856..dadfbd0d 100644 --- a/src/sound/sound.h +++ b/src/sound/sound.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/sound_type.cpp b/src/sound/sound_type.cpp index 11908f64..de39cbbe 100644 --- a/src/sound/sound_type.cpp +++ b/src/sound/sound_type.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/sound/sound_type.h b/src/sound/sound_type.h index f6e4f926..1338262a 100644 --- a/src/sound/sound_type.h +++ b/src/sound/sound_type.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/tools/convert_model.cpp b/src/tools/convert_model.cpp index 192b2e79..7a5ab136 100644 --- a/src/tools/convert_model.cpp +++ b/src/tools/convert_model.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/button.cpp b/src/ui/controls/button.cpp index 86f0591b..8ece6201 100644 --- a/src/ui/controls/button.cpp +++ b/src/ui/controls/button.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/button.h b/src/ui/controls/button.h index d388bbc8..224ef1cc 100644 --- a/src/ui/controls/button.h +++ b/src/ui/controls/button.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/check.cpp b/src/ui/controls/check.cpp index 2fc7dafe..e7f2471c 100644 --- a/src/ui/controls/check.cpp +++ b/src/ui/controls/check.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/check.h b/src/ui/controls/check.h index 9add4f0e..8a815b51 100644 --- a/src/ui/controls/check.h +++ b/src/ui/controls/check.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/color.cpp b/src/ui/controls/color.cpp index 8c7f7929..fd2fa919 100644 --- a/src/ui/controls/color.cpp +++ b/src/ui/controls/color.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/color.h b/src/ui/controls/color.h index 490fd1f3..64776d56 100644 --- a/src/ui/controls/color.h +++ b/src/ui/controls/color.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/control.cpp b/src/ui/controls/control.cpp index cb97d5db..ac7b8ea8 100644 --- a/src/ui/controls/control.cpp +++ b/src/ui/controls/control.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/control.h b/src/ui/controls/control.h index 0628c760..d2c1b2f8 100644 --- a/src/ui/controls/control.h +++ b/src/ui/controls/control.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/edit.cpp b/src/ui/controls/edit.cpp index 570bd518..2be7610f 100644 --- a/src/ui/controls/edit.cpp +++ b/src/ui/controls/edit.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/edit.h b/src/ui/controls/edit.h index 70ef1d4c..8d7ae5d4 100644 --- a/src/ui/controls/edit.h +++ b/src/ui/controls/edit.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/editvalue.cpp b/src/ui/controls/editvalue.cpp index fd99556b..fd6d5ed6 100644 --- a/src/ui/controls/editvalue.cpp +++ b/src/ui/controls/editvalue.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/editvalue.h b/src/ui/controls/editvalue.h index 85c38302..ee081058 100644 --- a/src/ui/controls/editvalue.h +++ b/src/ui/controls/editvalue.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/enumslider.cpp b/src/ui/controls/enumslider.cpp index 085e12be..61cea772 100644 --- a/src/ui/controls/enumslider.cpp +++ b/src/ui/controls/enumslider.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/enumslider.h b/src/ui/controls/enumslider.h index f52dcf64..55abeefc 100644 --- a/src/ui/controls/enumslider.h +++ b/src/ui/controls/enumslider.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/gauge.cpp b/src/ui/controls/gauge.cpp index 545fcfa7..06827e28 100644 --- a/src/ui/controls/gauge.cpp +++ b/src/ui/controls/gauge.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/gauge.h b/src/ui/controls/gauge.h index b0c4cd3a..6a472a9c 100644 --- a/src/ui/controls/gauge.h +++ b/src/ui/controls/gauge.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/group.cpp b/src/ui/controls/group.cpp index d303c118..774ea693 100644 --- a/src/ui/controls/group.cpp +++ b/src/ui/controls/group.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/group.h b/src/ui/controls/group.h index 4f80aa7c..fb583aca 100644 --- a/src/ui/controls/group.h +++ b/src/ui/controls/group.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/image.cpp b/src/ui/controls/image.cpp index bb610042..a4df3b60 100644 --- a/src/ui/controls/image.cpp +++ b/src/ui/controls/image.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/image.h b/src/ui/controls/image.h index 556e4aa2..f7bfd8ff 100644 --- a/src/ui/controls/image.h +++ b/src/ui/controls/image.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/interface.cpp b/src/ui/controls/interface.cpp index d394ddaa..6165b200 100644 --- a/src/ui/controls/interface.cpp +++ b/src/ui/controls/interface.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/interface.h b/src/ui/controls/interface.h index b2a5aad3..914e8bc5 100644 --- a/src/ui/controls/interface.h +++ b/src/ui/controls/interface.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/key.cpp b/src/ui/controls/key.cpp index 03dab6ac..89dffbff 100644 --- a/src/ui/controls/key.cpp +++ b/src/ui/controls/key.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/key.h b/src/ui/controls/key.h index e24f2559..8a10af12 100644 --- a/src/ui/controls/key.h +++ b/src/ui/controls/key.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/label.cpp b/src/ui/controls/label.cpp index b307ce4b..cbc7891e 100644 --- a/src/ui/controls/label.cpp +++ b/src/ui/controls/label.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/label.h b/src/ui/controls/label.h index bc9f38aa..31afc7ce 100644 --- a/src/ui/controls/label.h +++ b/src/ui/controls/label.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/list.cpp b/src/ui/controls/list.cpp index 59a02176..b2c5991a 100644 --- a/src/ui/controls/list.cpp +++ b/src/ui/controls/list.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/list.h b/src/ui/controls/list.h index 14631e68..69eb4fe0 100644 --- a/src/ui/controls/list.h +++ b/src/ui/controls/list.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/map.cpp b/src/ui/controls/map.cpp index 9d9ebb48..0c4412c9 100644 --- a/src/ui/controls/map.cpp +++ b/src/ui/controls/map.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/map.h b/src/ui/controls/map.h index afff08d5..c41f07a4 100644 --- a/src/ui/controls/map.h +++ b/src/ui/controls/map.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/scroll.cpp b/src/ui/controls/scroll.cpp index 2dbf39b1..e92daaed 100644 --- a/src/ui/controls/scroll.cpp +++ b/src/ui/controls/scroll.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/scroll.h b/src/ui/controls/scroll.h index 293dda8c..fa2fc027 100644 --- a/src/ui/controls/scroll.h +++ b/src/ui/controls/scroll.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/shortcut.cpp b/src/ui/controls/shortcut.cpp index 0864db1b..5fdbd2e2 100644 --- a/src/ui/controls/shortcut.cpp +++ b/src/ui/controls/shortcut.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/shortcut.h b/src/ui/controls/shortcut.h index 51d01a5d..35ff3ac8 100644 --- a/src/ui/controls/shortcut.h +++ b/src/ui/controls/shortcut.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/slider.cpp b/src/ui/controls/slider.cpp index 3ae1109e..ae018598 100644 --- a/src/ui/controls/slider.cpp +++ b/src/ui/controls/slider.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/slider.h b/src/ui/controls/slider.h index 097f68dc..193ae418 100644 --- a/src/ui/controls/slider.h +++ b/src/ui/controls/slider.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/target.cpp b/src/ui/controls/target.cpp index 24fa3c9a..4db080f7 100644 --- a/src/ui/controls/target.cpp +++ b/src/ui/controls/target.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/target.h b/src/ui/controls/target.h index ceb1eb3a..06521ce7 100644 --- a/src/ui/controls/target.h +++ b/src/ui/controls/target.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/window.cpp b/src/ui/controls/window.cpp index bcf76ce4..45b184b9 100644 --- a/src/ui/controls/window.cpp +++ b/src/ui/controls/window.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/controls/window.h b/src/ui/controls/window.h index 4cadea7c..6e620c4b 100644 --- a/src/ui/controls/window.h +++ b/src/ui/controls/window.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/debug_menu.cpp b/src/ui/debug_menu.cpp index e04704ff..a45e3190 100644 --- a/src/ui/debug_menu.cpp +++ b/src/ui/debug_menu.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/debug_menu.h b/src/ui/debug_menu.h index c49391a6..cc299a63 100644 --- a/src/ui/debug_menu.h +++ b/src/ui/debug_menu.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/displayinfo.cpp b/src/ui/displayinfo.cpp index 09f6d513..1dfc8bac 100644 --- a/src/ui/displayinfo.cpp +++ b/src/ui/displayinfo.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/displayinfo.h b/src/ui/displayinfo.h index 5fcffedf..4ea5acf6 100644 --- a/src/ui/displayinfo.h +++ b/src/ui/displayinfo.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/displaytext.cpp b/src/ui/displaytext.cpp index b21263b4..c07001e3 100644 --- a/src/ui/displaytext.cpp +++ b/src/ui/displaytext.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/displaytext.h b/src/ui/displaytext.h index 4c1d188b..de6d8e4e 100644 --- a/src/ui/displaytext.h +++ b/src/ui/displaytext.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/filedialog.cpp b/src/ui/filedialog.cpp index 8416812b..76340d39 100644 --- a/src/ui/filedialog.cpp +++ b/src/ui/filedialog.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/filedialog.h b/src/ui/filedialog.h index 1ad38bf3..67622dfc 100644 --- a/src/ui/filedialog.h +++ b/src/ui/filedialog.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/maindialog.cpp b/src/ui/maindialog.cpp index 9321619f..264344fe 100644 --- a/src/ui/maindialog.cpp +++ b/src/ui/maindialog.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/maindialog.h b/src/ui/maindialog.h index ec3ef898..1ea18084 100644 --- a/src/ui/maindialog.h +++ b/src/ui/maindialog.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/mainmap.cpp b/src/ui/mainmap.cpp index 23c63360..4f98cca6 100644 --- a/src/ui/mainmap.cpp +++ b/src/ui/mainmap.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/mainmap.h b/src/ui/mainmap.h index fc334f84..d38b5b43 100644 --- a/src/ui/mainmap.h +++ b/src/ui/mainmap.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/mainshort.cpp b/src/ui/mainshort.cpp index 9e2a51a0..4f5e89e6 100644 --- a/src/ui/mainshort.cpp +++ b/src/ui/mainshort.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/mainshort.h b/src/ui/mainshort.h index 2613bf93..40c9d73b 100644 --- a/src/ui/mainshort.h +++ b/src/ui/mainshort.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/mainui.cpp b/src/ui/mainui.cpp index 80fd5bc5..d2a1fbe8 100644 --- a/src/ui/mainui.cpp +++ b/src/ui/mainui.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/mainui.h b/src/ui/mainui.h index 1a33331e..6b57d975 100644 --- a/src/ui/mainui.h +++ b/src/ui/mainui.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/object_interface.cpp b/src/ui/object_interface.cpp index 9ca2c8b1..dbfdefcf 100644 --- a/src/ui/object_interface.cpp +++ b/src/ui/object_interface.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/object_interface.h b/src/ui/object_interface.h index ca7578d2..b4c1bb6a 100644 --- a/src/ui/object_interface.h +++ b/src/ui/object_interface.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/particles_generator.cpp b/src/ui/particles_generator.cpp index 69b70a50..e948f630 100644 --- a/src/ui/particles_generator.cpp +++ b/src/ui/particles_generator.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/particles_generator.h b/src/ui/particles_generator.h index e96b6c04..f1dbc29c 100644 --- a/src/ui/particles_generator.h +++ b/src/ui/particles_generator.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen.cpp b/src/ui/screen/screen.cpp index a10346a3..c2f89089 100644 --- a/src/ui/screen/screen.cpp +++ b/src/ui/screen/screen.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen.h b/src/ui/screen/screen.h index 8ab58353..aa8de40d 100644 --- a/src/ui/screen/screen.h +++ b/src/ui/screen/screen.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_apperance.cpp b/src/ui/screen/screen_apperance.cpp index 729865e3..2df97bf6 100644 --- a/src/ui/screen/screen_apperance.cpp +++ b/src/ui/screen/screen_apperance.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_apperance.h b/src/ui/screen/screen_apperance.h index c0156792..32109361 100644 --- a/src/ui/screen/screen_apperance.h +++ b/src/ui/screen/screen_apperance.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_io.cpp b/src/ui/screen/screen_io.cpp index 66275490..6ecd02ed 100644 --- a/src/ui/screen/screen_io.cpp +++ b/src/ui/screen/screen_io.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_io.h b/src/ui/screen/screen_io.h index ddea8b3e..90ac5e2a 100644 --- a/src/ui/screen/screen_io.h +++ b/src/ui/screen/screen_io.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_io_read.cpp b/src/ui/screen/screen_io_read.cpp index d682b019..6c702caa 100644 --- a/src/ui/screen/screen_io_read.cpp +++ b/src/ui/screen/screen_io_read.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_io_read.h b/src/ui/screen/screen_io_read.h index a97104bf..4c73e664 100644 --- a/src/ui/screen/screen_io_read.h +++ b/src/ui/screen/screen_io_read.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_io_write.cpp b/src/ui/screen/screen_io_write.cpp index 5bb213b9..9ff5f6f9 100644 --- a/src/ui/screen/screen_io_write.cpp +++ b/src/ui/screen/screen_io_write.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_io_write.h b/src/ui/screen/screen_io_write.h index d3291ed9..17798eb2 100644 --- a/src/ui/screen/screen_io_write.h +++ b/src/ui/screen/screen_io_write.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_level_list.cpp b/src/ui/screen/screen_level_list.cpp index b0ed6460..0a5a3202 100644 --- a/src/ui/screen/screen_level_list.cpp +++ b/src/ui/screen/screen_level_list.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_level_list.h b/src/ui/screen/screen_level_list.h index 089dc558..253af08e 100644 --- a/src/ui/screen/screen_level_list.h +++ b/src/ui/screen/screen_level_list.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_loading.cpp b/src/ui/screen/screen_loading.cpp index a6455e58..9ee03619 100644 --- a/src/ui/screen/screen_loading.cpp +++ b/src/ui/screen/screen_loading.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_loading.h b/src/ui/screen/screen_loading.h index 4e54c668..6db5ad05 100644 --- a/src/ui/screen/screen_loading.h +++ b/src/ui/screen/screen_loading.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_main_menu.cpp b/src/ui/screen/screen_main_menu.cpp index c66e61a7..ece7dded 100644 --- a/src/ui/screen/screen_main_menu.cpp +++ b/src/ui/screen/screen_main_menu.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_main_menu.h b/src/ui/screen/screen_main_menu.h index 72acff7b..80037313 100644 --- a/src/ui/screen/screen_main_menu.h +++ b/src/ui/screen/screen_main_menu.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_mod_list.cpp b/src/ui/screen/screen_mod_list.cpp index 856f2a20..f9f50686 100644 --- a/src/ui/screen/screen_mod_list.cpp +++ b/src/ui/screen/screen_mod_list.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_mod_list.h b/src/ui/screen/screen_mod_list.h index ca2c130b..3cedc0b4 100644 --- a/src/ui/screen/screen_mod_list.h +++ b/src/ui/screen/screen_mod_list.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_player_select.cpp b/src/ui/screen/screen_player_select.cpp index da28ad28..40472ff9 100644 --- a/src/ui/screen/screen_player_select.cpp +++ b/src/ui/screen/screen_player_select.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_player_select.h b/src/ui/screen/screen_player_select.h index 0a4f9035..b07d695a 100644 --- a/src/ui/screen/screen_player_select.h +++ b/src/ui/screen/screen_player_select.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_quit.cpp b/src/ui/screen/screen_quit.cpp index 92895ee2..87e11154 100644 --- a/src/ui/screen/screen_quit.cpp +++ b/src/ui/screen/screen_quit.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_quit.h b/src/ui/screen/screen_quit.h index 99ee337e..ccd20335 100644 --- a/src/ui/screen/screen_quit.h +++ b/src/ui/screen/screen_quit.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup.cpp b/src/ui/screen/screen_setup.cpp index 67848640..38978792 100644 --- a/src/ui/screen/screen_setup.cpp +++ b/src/ui/screen/screen_setup.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup.h b/src/ui/screen/screen_setup.h index 0c85a281..0b57322d 100644 --- a/src/ui/screen/screen_setup.h +++ b/src/ui/screen/screen_setup.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_controls.cpp b/src/ui/screen/screen_setup_controls.cpp index 7dcbd296..736d0c3c 100644 --- a/src/ui/screen/screen_setup_controls.cpp +++ b/src/ui/screen/screen_setup_controls.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_controls.h b/src/ui/screen/screen_setup_controls.h index 1dbe6e6a..e9f82ef5 100644 --- a/src/ui/screen/screen_setup_controls.h +++ b/src/ui/screen/screen_setup_controls.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_display.cpp b/src/ui/screen/screen_setup_display.cpp index f465a488..d25c3492 100644 --- a/src/ui/screen/screen_setup_display.cpp +++ b/src/ui/screen/screen_setup_display.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_display.h b/src/ui/screen/screen_setup_display.h index 84928011..2c806b3a 100644 --- a/src/ui/screen/screen_setup_display.h +++ b/src/ui/screen/screen_setup_display.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_game.cpp b/src/ui/screen/screen_setup_game.cpp index 5a519b54..036df52b 100644 --- a/src/ui/screen/screen_setup_game.cpp +++ b/src/ui/screen/screen_setup_game.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_game.h b/src/ui/screen/screen_setup_game.h index c2ccda32..68c44b7b 100644 --- a/src/ui/screen/screen_setup_game.h +++ b/src/ui/screen/screen_setup_game.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_graphics.cpp b/src/ui/screen/screen_setup_graphics.cpp index 9086b126..323239e8 100644 --- a/src/ui/screen/screen_setup_graphics.cpp +++ b/src/ui/screen/screen_setup_graphics.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_graphics.h b/src/ui/screen/screen_setup_graphics.h index f5269dc3..f1749198 100644 --- a/src/ui/screen/screen_setup_graphics.h +++ b/src/ui/screen/screen_setup_graphics.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_sound.cpp b/src/ui/screen/screen_setup_sound.cpp index 4f72b7bf..ebcb40bb 100644 --- a/src/ui/screen/screen_setup_sound.cpp +++ b/src/ui/screen/screen_setup_sound.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_setup_sound.h b/src/ui/screen/screen_setup_sound.h index 6c765ac9..734124da 100644 --- a/src/ui/screen/screen_setup_sound.h +++ b/src/ui/screen/screen_setup_sound.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_welcome.cpp b/src/ui/screen/screen_welcome.cpp index 2638111e..b8bc54f5 100644 --- a/src/ui/screen/screen_welcome.cpp +++ b/src/ui/screen/screen_welcome.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/screen/screen_welcome.h b/src/ui/screen/screen_welcome.h index 631d709b..f4ae76f5 100644 --- a/src/ui/screen/screen_welcome.h +++ b/src/ui/screen/screen_welcome.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/studio.cpp b/src/ui/studio.cpp index 22c21a7f..39d99ba8 100644 --- a/src/ui/studio.cpp +++ b/src/ui/studio.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/src/ui/studio.h b/src/ui/studio.h index 5e7ad0c5..c54f7a26 100644 --- a/src/ui/studio.h +++ b/src/ui/studio.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/cbot/compile_graph.cpp b/test/cbot/compile_graph.cpp index a99526e9..d2d9a9c2 100644 --- a/test/cbot/compile_graph.cpp +++ b/test/cbot/compile_graph.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/cbot/console.cpp b/test/cbot/console.cpp index 40a28d88..0326a09d 100644 --- a/test/cbot/console.cpp +++ b/test/cbot/console.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/CBot/CBotToken_test.cpp b/test/unit/CBot/CBotToken_test.cpp index 5afe026a..0e42a8b3 100644 --- a/test/unit/CBot/CBotToken_test.cpp +++ b/test/unit/CBot/CBotToken_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/CBot/CBot_test.cpp b/test/unit/CBot/CBot_test.cpp index 1e4aac06..87652aa0 100644 --- a/test/unit/CBot/CBot_test.cpp +++ b/test/unit/CBot/CBot_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/app/app_test.cpp b/test/unit/app/app_test.cpp index 549941c6..e62b24ed 100644 --- a/test/unit/app/app_test.cpp +++ b/test/unit/app/app_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/common/config_file_test.cpp b/test/unit/common/config_file_test.cpp index 762c3307..43db5950 100644 --- a/test/unit/common/config_file_test.cpp +++ b/test/unit/common/config_file_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/common/timeutils_test.cpp b/test/unit/common/timeutils_test.cpp index 0f312a53..b7d572df 100644 --- a/test/unit/common/timeutils_test.cpp +++ b/test/unit/common/timeutils_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2018-2021, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/graphics/engine/lightman_test.cpp b/test/unit/graphics/engine/lightman_test.cpp index 3480ab3f..21dfc3dd 100644 --- a/test/unit/graphics/engine/lightman_test.cpp +++ b/test/unit/graphics/engine/lightman_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/main.cpp b/test/unit/main.cpp index 090cbe33..9c4121d1 100644 --- a/test/unit/main.cpp +++ b/test/unit/main.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/math/func_test.cpp b/test/unit/math/func_test.cpp index 430ebbec..b47d00a2 100644 --- a/test/unit/math/func_test.cpp +++ b/test/unit/math/func_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/math/geometry_test.cpp b/test/unit/math/geometry_test.cpp index 33ec8143..33d13fbf 100644 --- a/test/unit/math/geometry_test.cpp +++ b/test/unit/math/geometry_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/math/matrix_test.cpp b/test/unit/math/matrix_test.cpp index 929e4de2..49895d2a 100644 --- a/test/unit/math/matrix_test.cpp +++ b/test/unit/math/matrix_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify diff --git a/test/unit/math/vector_test.cpp b/test/unit/math/vector_test.cpp index c18caf6a..bbf0385c 100644 --- a/test/unit/math/vector_test.cpp +++ b/test/unit/math/vector_test.cpp @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2020, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2021, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsitec.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify