diff --git a/code/client/cl_download.cpp b/code/client/cl_download.cpp
index d15c591..362f8e2 100644
--- a/code/client/cl_download.cpp
+++ b/code/client/cl_download.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017-2019 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// fast asynchronous HTTP .pk3 file downloads for missing maps
+
#include "client.h"
#include
#include
diff --git a/code/linux/linux_main.cpp b/code/linux/linux_main.cpp
index 17cc0af..1486557 100644
--- a/code/linux/linux_main.cpp
+++ b/code/linux/linux_main.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017-2018 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// Linux entry point
+
#include "linux_local.h"
diff --git a/code/linux/sdl_core.cpp b/code/linux/sdl_core.cpp
index 29fd307..1ad0ff1 100644
--- a/code/linux/sdl_core.cpp
+++ b/code/linux/sdl_core.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017-2018 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// Linux main loop, event handling, etc. using SDL 2
+
#include "linux_local.h"
#include
diff --git a/code/linux/sdl_glimp.cpp b/code/linux/sdl_glimp.cpp
index 7354a32..dcc7fb9 100644
--- a/code/linux/sdl_glimp.cpp
+++ b/code/linux/sdl_glimp.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017-2019 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// Linux video using SDL 2
+
#include "linux_local.h"
#include "linux_help.h"
#include "../renderer/tr_local.h"
diff --git a/code/linux/sdl_local.h b/code/linux/sdl_local.h
index 8c8b91f..96897b6 100644
--- a/code/linux/sdl_local.h
+++ b/code/linux/sdl_local.h
@@ -1,3 +1,24 @@
+/*
+===========================================================================
+Copyright (C) 2017-2019 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+
#pragma once
diff --git a/code/linux/sdl_snd.cpp b/code/linux/sdl_snd.cpp
index ad89078..cac2e9b 100644
--- a/code/linux/sdl_snd.cpp
+++ b/code/linux/sdl_snd.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// Linux audio using SDL 2
+
#include "../qcommon/q_shared.h"
#include "../client/snd_local.h"
#include
diff --git a/code/qcommon/crash.cpp b/code/qcommon/crash.cpp
index b92c5c1..1911f44 100644
--- a/code/qcommon/crash.cpp
+++ b/code/qcommon/crash.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017-2019 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// save and print useful data for JSON crash report files
+
#include "crash.h"
#include "git.h"
#include "vm_local.h"
diff --git a/code/qcommon/crash.h b/code/qcommon/crash.h
index 6813728..37d72ed 100644
--- a/code/qcommon/crash.h
+++ b/code/qcommon/crash.h
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// save and print useful data for JSON crash report files
+
#include "q_shared.h"
#include "qcommon.h"
diff --git a/code/qcommon/huffman_static.cpp b/code/qcommon/huffman_static.cpp
index 0e919f3..fc7a3e4 100644
--- a/code/qcommon/huffman_static.cpp
+++ b/code/qcommon/huffman_static.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// compression and decompression for a static pre-defined Huffman tree
+
#include "q_shared.h"
#include "qcommon.h"
diff --git a/code/qcommon/json.cpp b/code/qcommon/json.cpp
index 479957a..e950dfc 100644
--- a/code/qcommon/json.cpp
+++ b/code/qcommon/json.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// writing JSON to files without dynamic memory allocation etc for crash reports
+
#include "crash.h"
diff --git a/code/renderer/stb_image.cpp b/code/renderer/stb_image.cpp
index 029ddec..5fc8870 100644
--- a/code/renderer/stb_image.cpp
+++ b/code/renderer/stb_image.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// implements LoadSTB, which is the interface between CNQ3 and stb_image
+
#include "tr_local.h"
#if defined(_MSC_VER)
diff --git a/code/win32/win_exception.cpp b/code/win32/win_exception.cpp
index 9a0ee29..5e0c573 100644
--- a/code/win32/win_exception.cpp
+++ b/code/win32/win_exception.cpp
@@ -1,3 +1,25 @@
+/*
+===========================================================================
+Copyright (C) 2017-2019 Gian 'myT' Schellenbaum
+
+This file is part of Challenge Quake 3 (CNQ3).
+
+Challenge Quake 3 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 2 of the License,
+or (at your option) any later version.
+
+Challenge Quake 3 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 Challenge Quake 3. If not, see .
+===========================================================================
+*/
+// exception and exit handlers (crash reports, minidumps), error mode changes, etc
+
#include "../qcommon/q_shared.h"
#include "../qcommon/qcommon.h"
#include "../qcommon/crash.h"