diff --git a/.gitattributes b/.gitattributes
index 708c731..eee8869 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,2 @@
-localappdata/xlabs/data/cef/release/libcef.dll filter=lfs diff=lfs merge=lfs -text
\ No newline at end of file
+localappdata/xlabs/data/cef/release/libcef.dll filter=lfs diff=lfs merge=lfs -text
+launcher/localappdata/xlabs/data/cef/release/libcef.dll filter=lfs diff=lfs merge=lfs -text
diff --git a/iw4x/iw4x-sp.exe b/clients/iw4x/iw4x-sp.exe
similarity index 100%
rename from iw4x/iw4x-sp.exe
rename to clients/iw4x/iw4x-sp.exe
diff --git a/iw4x/iw4x.dll b/clients/iw4x/iw4x.dll
similarity index 100%
rename from iw4x/iw4x.dll
rename to clients/iw4x/iw4x.dll
diff --git a/iw4x/version/r4227/iw4x.dll b/clients/iw4x/versions/r4227/iw4x.dll
similarity index 100%
rename from iw4x/version/r4227/iw4x.dll
rename to clients/iw4x/versions/r4227/iw4x.dll
diff --git a/iw4x/version/r4344/iw4x.dll b/clients/iw4x/versions/r4344/iw4x.dll
similarity index 100%
rename from iw4x/version/r4344/iw4x.dll
rename to clients/iw4x/versions/r4344/iw4x.dll
diff --git a/iw6x/data/dw/entitlement_config_tu14.info b/clients/iw6x/data/dw/entitlement_config_tu14.info
similarity index 100%
rename from iw6x/data/dw/entitlement_config_tu14.info
rename to clients/iw6x/data/dw/entitlement_config_tu14.info
diff --git a/iw6x/data/dw/mm.cfg b/clients/iw6x/data/dw/mm.cfg
similarity index 100%
rename from iw6x/data/dw/mm.cfg
rename to clients/iw6x/data/dw/mm.cfg
diff --git a/iw6x/data/dw/newsfeed.txt b/clients/iw6x/data/dw/newsfeed.txt
similarity index 100%
rename from iw6x/data/dw/newsfeed.txt
rename to clients/iw6x/data/dw/newsfeed.txt
diff --git a/iw6x/data/dw/playlists_tu14.aggr b/clients/iw6x/data/dw/playlists_tu14.aggr
similarity index 100%
rename from iw6x/data/dw/playlists_tu14.aggr
rename to clients/iw6x/data/dw/playlists_tu14.aggr
diff --git a/iw6x/data/dw/social_tu14.cfg b/clients/iw6x/data/dw/social_tu14.cfg
similarity index 100%
rename from iw6x/data/dw/social_tu14.cfg
rename to clients/iw6x/data/dw/social_tu14.cfg
diff --git a/iw6x/data/maps/mp/gametypes/_damage.gsc b/clients/iw6x/data/maps/mp/gametypes/_damage.gsc
similarity index 100%
rename from iw6x/data/maps/mp/gametypes/_damage.gsc
rename to clients/iw6x/data/maps/mp/gametypes/_damage.gsc
diff --git a/iw6x/data/maps/mp/gametypes/_menus.gsc b/clients/iw6x/data/maps/mp/gametypes/_menus.gsc
similarity index 100%
rename from iw6x/data/maps/mp/gametypes/_menus.gsc
rename to clients/iw6x/data/maps/mp/gametypes/_menus.gsc
diff --git a/iw6x/data/maps/mp/gametypes/_playerlogic.gsc b/clients/iw6x/data/maps/mp/gametypes/_playerlogic.gsc
similarity index 100%
rename from iw6x/data/maps/mp/gametypes/_playerlogic.gsc
rename to clients/iw6x/data/maps/mp/gametypes/_playerlogic.gsc
diff --git a/iw6x/data/scripts/_team_balance.gsc b/clients/iw6x/data/scripts/_team_balance.gsc
similarity index 100%
rename from iw6x/data/scripts/_team_balance.gsc
rename to clients/iw6x/data/scripts/_team_balance.gsc
diff --git a/iw6x/data/sound/patch-3-music.flac b/clients/iw6x/data/sound/patch-3-music.flac
similarity index 100%
rename from iw6x/data/sound/patch-3-music.flac
rename to clients/iw6x/data/sound/patch-3-music.flac
diff --git a/iw6x/data/ui_scripts/main_menu/__init__.lua b/clients/iw6x/data/ui_scripts/main_menu/__init__.lua
similarity index 100%
rename from iw6x/data/ui_scripts/main_menu/__init__.lua
rename to clients/iw6x/data/ui_scripts/main_menu/__init__.lua
diff --git a/iw6x/data/ui_scripts/server_filter/__init__.lua b/clients/iw6x/data/ui_scripts/server_filter/__init__.lua
similarity index 100%
rename from iw6x/data/ui_scripts/server_filter/__init__.lua
rename to clients/iw6x/data/ui_scripts/server_filter/__init__.lua
diff --git a/iw6x/data/ui_scripts/server_list/__init__.lua b/clients/iw6x/data/ui_scripts/server_list/__init__.lua
similarity index 100%
rename from iw6x/data/ui_scripts/server_list/__init__.lua
rename to clients/iw6x/data/ui_scripts/server_list/__init__.lua
diff --git a/iw6x/data/ui_scripts/stats/__init__.lua b/clients/iw6x/data/ui_scripts/stats/__init__.lua
similarity index 100%
rename from iw6x/data/ui_scripts/stats/__init__.lua
rename to clients/iw6x/data/ui_scripts/stats/__init__.lua
diff --git a/iw6x/data/ui_scripts/team_select/__init__.lua b/clients/iw6x/data/ui_scripts/team_select/__init__.lua
similarity index 100%
rename from iw6x/data/ui_scripts/team_select/__init__.lua
rename to clients/iw6x/data/ui_scripts/team_select/__init__.lua
diff --git a/iw6x/iw6x.exe b/clients/iw6x/iw6x.exe
similarity index 100%
rename from iw6x/iw6x.exe
rename to clients/iw6x/iw6x.exe
diff --git a/localappdata/xlabs/data/s1x/data/dw/entitlement_config.info b/clients/s1x/data/dw/entitlement_config.info
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/entitlement_config.info
rename to clients/s1x/data/dw/entitlement_config.info
diff --git a/localappdata/xlabs/data/s1x/data/dw/ffotd-1.22.1.ff b/clients/s1x/data/dw/ffotd-1.22.1.ff
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/ffotd-1.22.1.ff
rename to clients/s1x/data/dw/ffotd-1.22.1.ff
diff --git a/localappdata/xlabs/data/s1x/data/dw/lootConfig_tu22.csv b/clients/s1x/data/dw/lootConfig_tu22.csv
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/lootConfig_tu22.csv
rename to clients/s1x/data/dw/lootConfig_tu22.csv
diff --git a/localappdata/xlabs/data/s1x/data/dw/mm.cfg b/clients/s1x/data/dw/mm.cfg
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/mm.cfg
rename to clients/s1x/data/dw/mm.cfg
diff --git a/localappdata/xlabs/data/s1x/data/dw/playlists_tu22.aggr b/clients/s1x/data/dw/playlists_tu22.aggr
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/playlists_tu22.aggr
rename to clients/s1x/data/dw/playlists_tu22.aggr
diff --git a/localappdata/xlabs/data/s1x/data/dw/social_tu22.cfg b/clients/s1x/data/dw/social_tu22.cfg
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/social_tu22.cfg
rename to clients/s1x/data/dw/social_tu22.cfg
diff --git a/localappdata/xlabs/data/s1x/data/dw/winStoreConfig_tu22.csv b/clients/s1x/data/dw/winStoreConfig_tu22.csv
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/dw/winStoreConfig_tu22.csv
rename to clients/s1x/data/dw/winStoreConfig_tu22.csv
diff --git a/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_damage.gsc b/clients/s1x/data/maps/mp/gametypes/_damage.gsc
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_damage.gsc
rename to clients/s1x/data/maps/mp/gametypes/_damage.gsc
diff --git a/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_gamelogic.gsc b/clients/s1x/data/maps/mp/gametypes/_gamelogic.gsc
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_gamelogic.gsc
rename to clients/s1x/data/maps/mp/gametypes/_gamelogic.gsc
diff --git a/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_playerlogic.gsc b/clients/s1x/data/maps/mp/gametypes/_playerlogic.gsc
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_playerlogic.gsc
rename to clients/s1x/data/maps/mp/gametypes/_playerlogic.gsc
diff --git a/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/gun.gsc b/clients/s1x/data/maps/mp/gametypes/gun.gsc
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/maps/mp/gametypes/gun.gsc
rename to clients/s1x/data/maps/mp/gametypes/gun.gsc
diff --git a/localappdata/xlabs/data/iw6x/data/scripts/_team_balance.gsc b/clients/s1x/data/scripts/_team_balance.gsc
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/scripts/_team_balance.gsc
rename to clients/s1x/data/scripts/_team_balance.gsc
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/__init__.lua b/clients/s1x/data/ui_scripts/hud_info/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/__init__.lua
rename to clients/s1x/data/ui_scripts/hud_info/__init__.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/hud.lua b/clients/s1x/data/ui_scripts/hud_info/hud.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/hud.lua
rename to clients/s1x/data/ui_scripts/hud_info/hud.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/settings.lua b/clients/s1x/data/ui_scripts/hud_info/settings.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/settings.lua
rename to clients/s1x/data/ui_scripts/hud_info/settings.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/patches/__init__.lua b/clients/s1x/data/ui_scripts/patches/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/patches/__init__.lua
rename to clients/s1x/data/ui_scripts/patches/__init__.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/scoreboard/__init__.lua b/clients/s1x/data/ui_scripts/scoreboard/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/scoreboard/__init__.lua
rename to clients/s1x/data/ui_scripts/scoreboard/__init__.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/__init__.lua b/clients/s1x/data/ui_scripts/server_list/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/server_list/__init__.lua
rename to clients/s1x/data/ui_scripts/server_list/__init__.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/lobby.lua b/clients/s1x/data/ui_scripts/server_list/lobby.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/server_list/lobby.lua
rename to clients/s1x/data/ui_scripts/server_list/lobby.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/serverlist.lua b/clients/s1x/data/ui_scripts/server_list/serverlist.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/server_list/serverlist.lua
rename to clients/s1x/data/ui_scripts/server_list/serverlist.lua
diff --git a/localappdata/xlabs/data/s1x/data/ui_scripts/stats/__init__.lua b/clients/s1x/data/ui_scripts/stats/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/ui_scripts/stats/__init__.lua
rename to clients/s1x/data/ui_scripts/stats/__init__.lua
diff --git a/localappdata/xlabs/data/s1x/s1x.exe b/clients/s1x/s1x.exe
similarity index 100%
rename from localappdata/xlabs/data/s1x/s1x.exe
rename to clients/s1x/s1x.exe
diff --git a/server-configs/IW4ServerConfigs/DedicatedLobbyServer.bat b/dedicated-server-configs/IW4ServerConfigs/DedicatedLobbyServer.bat
similarity index 100%
rename from server-configs/IW4ServerConfigs/DedicatedLobbyServer.bat
rename to dedicated-server-configs/IW4ServerConfigs/DedicatedLobbyServer.bat
diff --git a/server-configs/IW4ServerConfigs/DedicatedLobbyServerLAN.bat b/dedicated-server-configs/IW4ServerConfigs/DedicatedLobbyServerLAN.bat
similarity index 100%
rename from server-configs/IW4ServerConfigs/DedicatedLobbyServerLAN.bat
rename to dedicated-server-configs/IW4ServerConfigs/DedicatedLobbyServerLAN.bat
diff --git a/server-configs/IW4ServerConfigs/DedicatedServer.bat b/dedicated-server-configs/IW4ServerConfigs/DedicatedServer.bat
similarity index 100%
rename from server-configs/IW4ServerConfigs/DedicatedServer.bat
rename to dedicated-server-configs/IW4ServerConfigs/DedicatedServer.bat
diff --git a/server-configs/IW4ServerConfigs/DedicatedServerLAN.bat b/dedicated-server-configs/IW4ServerConfigs/DedicatedServerLAN.bat
similarity index 100%
rename from server-configs/IW4ServerConfigs/DedicatedServerLAN.bat
rename to dedicated-server-configs/IW4ServerConfigs/DedicatedServerLAN.bat
diff --git a/server-configs/IW4ServerConfigs/README.md b/dedicated-server-configs/IW4ServerConfigs/README.md
similarity index 100%
rename from server-configs/IW4ServerConfigs/README.md
rename to dedicated-server-configs/IW4ServerConfigs/README.md
diff --git a/server-configs/IW4ServerConfigs/userraw/LANPlaylist.info b/dedicated-server-configs/IW4ServerConfigs/userraw/LANPlaylist.info
similarity index 100%
rename from server-configs/IW4ServerConfigs/userraw/LANPlaylist.info
rename to dedicated-server-configs/IW4ServerConfigs/userraw/LANPlaylist.info
diff --git a/server-configs/IW4ServerConfigs/userraw/myplaylists.info b/dedicated-server-configs/IW4ServerConfigs/userraw/myplaylists.info
similarity index 100%
rename from server-configs/IW4ServerConfigs/userraw/myplaylists.info
rename to dedicated-server-configs/IW4ServerConfigs/userraw/myplaylists.info
diff --git a/server-configs/IW4ServerConfigs/userraw/partyserver.cfg b/dedicated-server-configs/IW4ServerConfigs/userraw/partyserver.cfg
similarity index 100%
rename from server-configs/IW4ServerConfigs/userraw/partyserver.cfg
rename to dedicated-server-configs/IW4ServerConfigs/userraw/partyserver.cfg
diff --git a/server-configs/IW4ServerConfigs/userraw/partyserverlan.cfg b/dedicated-server-configs/IW4ServerConfigs/userraw/partyserverlan.cfg
similarity index 100%
rename from server-configs/IW4ServerConfigs/userraw/partyserverlan.cfg
rename to dedicated-server-configs/IW4ServerConfigs/userraw/partyserverlan.cfg
diff --git a/server-configs/IW4ServerConfigs/userraw/server.cfg b/dedicated-server-configs/IW4ServerConfigs/userraw/server.cfg
similarity index 100%
rename from server-configs/IW4ServerConfigs/userraw/server.cfg
rename to dedicated-server-configs/IW4ServerConfigs/userraw/server.cfg
diff --git a/server-configs/IW4ServerConfigs/userraw/serverlan.cfg b/dedicated-server-configs/IW4ServerConfigs/userraw/serverlan.cfg
similarity index 100%
rename from server-configs/IW4ServerConfigs/userraw/serverlan.cfg
rename to dedicated-server-configs/IW4ServerConfigs/userraw/serverlan.cfg
diff --git a/server-configs/IW6ServerConfigs/!start_client.bat b/dedicated-server-configs/IW6ServerConfigs/!start_client.bat
similarity index 100%
rename from server-configs/IW6ServerConfigs/!start_client.bat
rename to dedicated-server-configs/IW6ServerConfigs/!start_client.bat
diff --git a/server-configs/IW6ServerConfigs/!start_mp_server.bat b/dedicated-server-configs/IW6ServerConfigs/!start_mp_server.bat
similarity index 100%
rename from server-configs/IW6ServerConfigs/!start_mp_server.bat
rename to dedicated-server-configs/IW6ServerConfigs/!start_mp_server.bat
diff --git a/server-configs/IW6ServerConfigs/!start_zm_server.bat b/dedicated-server-configs/IW6ServerConfigs/!start_zm_server.bat
similarity index 100%
rename from server-configs/IW6ServerConfigs/!start_zm_server.bat
rename to dedicated-server-configs/IW6ServerConfigs/!start_zm_server.bat
diff --git a/server-configs/IW6ServerConfigs/README.md b/dedicated-server-configs/IW6ServerConfigs/README.md
similarity index 100%
rename from server-configs/IW6ServerConfigs/README.md
rename to dedicated-server-configs/IW6ServerConfigs/README.md
diff --git a/server-configs/IW6ServerConfigs/iw6/server.cfg b/dedicated-server-configs/IW6ServerConfigs/iw6/server.cfg
similarity index 100%
rename from server-configs/IW6ServerConfigs/iw6/server.cfg
rename to dedicated-server-configs/IW6ServerConfigs/iw6/server.cfg
diff --git a/server-configs/IW6ServerConfigs/iw6/server_zm.cfg b/dedicated-server-configs/IW6ServerConfigs/iw6/server_zm.cfg
similarity index 100%
rename from server-configs/IW6ServerConfigs/iw6/server_zm.cfg
rename to dedicated-server-configs/IW6ServerConfigs/iw6/server_zm.cfg
diff --git a/server-configs/S1xServerConfigs/!start_client.bat b/dedicated-server-configs/S1xServerConfigs/!start_client.bat
similarity index 100%
rename from server-configs/S1xServerConfigs/!start_client.bat
rename to dedicated-server-configs/S1xServerConfigs/!start_client.bat
diff --git a/server-configs/S1xServerConfigs/!start_horde_server.bat b/dedicated-server-configs/S1xServerConfigs/!start_horde_server.bat
similarity index 100%
rename from server-configs/S1xServerConfigs/!start_horde_server.bat
rename to dedicated-server-configs/S1xServerConfigs/!start_horde_server.bat
diff --git a/server-configs/S1xServerConfigs/!start_mp_server.bat b/dedicated-server-configs/S1xServerConfigs/!start_mp_server.bat
similarity index 100%
rename from server-configs/S1xServerConfigs/!start_mp_server.bat
rename to dedicated-server-configs/S1xServerConfigs/!start_mp_server.bat
diff --git a/server-configs/S1xServerConfigs/!start_zm_server.bat b/dedicated-server-configs/S1xServerConfigs/!start_zm_server.bat
similarity index 100%
rename from server-configs/S1xServerConfigs/!start_zm_server.bat
rename to dedicated-server-configs/S1xServerConfigs/!start_zm_server.bat
diff --git a/server-configs/S1xServerConfigs/!updateXLabs.bat b/dedicated-server-configs/S1xServerConfigs/!updateXLabs.bat
similarity index 100%
rename from server-configs/S1xServerConfigs/!updateXLabs.bat
rename to dedicated-server-configs/S1xServerConfigs/!updateXLabs.bat
diff --git a/server-configs/S1xServerConfigs/README.md b/dedicated-server-configs/S1xServerConfigs/README.md
similarity index 100%
rename from server-configs/S1xServerConfigs/README.md
rename to dedicated-server-configs/S1xServerConfigs/README.md
diff --git a/server-configs/S1xServerConfigs/s1x/server.cfg b/dedicated-server-configs/S1xServerConfigs/s1x/server.cfg
similarity index 100%
rename from server-configs/S1xServerConfigs/s1x/server.cfg
rename to dedicated-server-configs/S1xServerConfigs/s1x/server.cfg
diff --git a/server-configs/S1xServerConfigs/s1x/server_horde.cfg b/dedicated-server-configs/S1xServerConfigs/s1x/server_horde.cfg
similarity index 100%
rename from server-configs/S1xServerConfigs/s1x/server_horde.cfg
rename to dedicated-server-configs/S1xServerConfigs/s1x/server_horde.cfg
diff --git a/server-configs/S1xServerConfigs/s1x/server_zm.cfg b/dedicated-server-configs/S1xServerConfigs/s1x/server_zm.cfg
similarity index 100%
rename from server-configs/S1xServerConfigs/s1x/server_zm.cfg
rename to dedicated-server-configs/S1xServerConfigs/s1x/server_zm.cfg
diff --git a/iw4x/CHANGELOG.md b/documentation/IW4x/CHANGELOG.md
similarity index 100%
rename from iw4x/CHANGELOG.md
rename to documentation/IW4x/CHANGELOG.md
diff --git a/iw4x/CODESTYLE.md b/documentation/IW4x/CODESTYLE.md
similarity index 100%
rename from iw4x/CODESTYLE.md
rename to documentation/IW4x/CODESTYLE.md
diff --git a/iw4x/README.md b/documentation/IW4x/README.md
similarity index 100%
rename from iw4x/README.md
rename to documentation/IW4x/README.md
diff --git a/iw4x/SECURITY.md b/documentation/IW4x/SECURITY.md
similarity index 100%
rename from iw4x/SECURITY.md
rename to documentation/IW4x/SECURITY.md
diff --git a/documentation/IW6x/CHANGELOG.md b/documentation/IW6x/CHANGELOG.md
new file mode 100644
index 0000000..20d47c9
--- /dev/null
+++ b/documentation/IW6x/CHANGELOG.md
@@ -0,0 +1,271 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+## [v2.0.2] - 2021-03-30
+
+### Added
+
+- Scripting arrays support [#287](https://github.com/XLabsProject/iw6x-client/issues/287)
+- Add unlock-all and god commands [#19](https://github.com/XLabsProject/iw6x-client/issues/19)
+
+### Fixed
+
+- Cant launch mayday extinction map on iw6x [#319](https://github.com/XLabsProject/iw6x-client/issues/319)
+
+### Pull Requests
+
+- Scripting arrays #287 [#335](https://github.com/XLabsProject/iw6x-client/pull/335) ([@fedddddd](https://github.com/fedddddd))
+- More script array support [#340](https://github.com/XLabsProject/iw6x-client/pull/340) ([@fedddddd](https://github.com/fedddddd))
+- fix mayday not loading [#349](https://github.com/XLabsProject/iw6x-client/pull/349) ([@FragsAreUs](https://github.com/FragsAreUs))
+- Actual fix for mayday [#355](https://github.com/XLabsProject/iw6x-client/pull/355) ([@OneFourOne](https://github.com/OneFourOne))
+- bring some changes from s1x to iw6x [#367](https://github.com/XLabsProject/iw6x-client/pull/367) ([@iAmThatMichael](https://github.com/iAmThatMichael))
+
+## [v2.0.1] - 2021-01-18
+
+### Fixed
+
+- 2.0.0 server not responding [#315](https://github.com/XLabsProject/iw6x-client/issues/315)
+
+### Pull Requests
+
+- Fix function table #315 [#316](https://github.com/XLabsProject/iw6x-client/pull/316) ([@fedddddd](https://github.com/fedddddd))
+
+## [v2.0.0] - 2021-01-17
+
+### Fixed
+
+- Calling a method on wrong entity type crashes the game [#251](https://github.com/XLabsProject/iw6x-client/issues/251)
+- Steam presence not showing [#253](https://github.com/XLabsProject/iw6x-client/issues/253)
+- Function table issue [#254](https://github.com/XLabsProject/iw6x-client/issues/254)
+- Minidump error (Multiplayer) [#262](https://github.com/XLabsProject/iw6x-client/issues/262)
+- Issue with some script API [#264](https://github.com/XLabsProject/iw6x-client/issues/264)
+- linkto function not working [#278](https://github.com/XLabsProject/iw6x-client/issues/278)
+- Jump_height wrong on alien map mp_alien_dlc3 (Awakening) [#284](https://github.com/XLabsProject/iw6x-client/issues/284)
+- Call player function from on_say events [#290](https://github.com/XLabsProject/iw6x-client/issues/290)
+
+### Added
+
+- Include info about game being clean in minidumps [#248](https://github.com/XLabsProject/iw6x-client/issues/248)
+- Allow executing console commands via scripting API [#255](https://github.com/XLabsProject/iw6x-client/issues/255)
+- Missing lua librarys [#256](https://github.com/XLabsProject/iw6x-client/issues/256)
+- Dedicated Server Port does not change [#106](https://github.com/XLabsProject/iw6x-client/issues/106)
+- Make the require in Lua relative to the script [#259](https://github.com/XLabsProject/iw6x-client/issues/259)
+- Generate cryptographically signed GUIDs and verify them [#263](https://github.com/XLabsProject/iw6x-client/issues/263)
+
+### Pull Requests
+
+- Ultrawide Support / SafeArea [#242](https://github.com/XLabsProject/iw6x-client/pull/242) ([@xoxor4d](https://github.com/xoxor4d))
+- Fix issue with chat [#249](https://github.com/XLabsProject/iw6x-client/pull/249) ([@fedddddd](https://github.com/fedddddd))
+- fix chat stub so chat actually works [#250](https://github.com/XLabsProject/iw6x-client/pull/250) ([@skiff](https://github.com/skiff))
+- Open table library, fix #256 [#257](https://github.com/XLabsProject/iw6x-client/pull/257) ([@GEEKiDoS](https://github.com/GEEKiDoS))
+- Fix game crash by changing data type from bool to int32 in precache patch [#261](https://github.com/XLabsProject/iw6x-client/pull/261) ([@GEEKiDoS](https://github.com/GEEKiDoS))
+- Fix precaching not working without a fast_restart [#267](https://github.com/XLabsProject/iw6x-client/pull/267) ([@GEEKiDoS](https://github.com/GEEKiDoS))
+- Add g_playerCollision and g_playerEjection [#281](https://github.com/XLabsProject/iw6x-client/pull/281) ([@Joelrau](https://github.com/Joelrau))
+- Update function_dumper [#283](https://github.com/XLabsProject/iw6x-client/pull/283) ([@Joelrau](https://github.com/Joelrau))
+- Add map_restart [#282](https://github.com/XLabsProject/iw6x-client/pull/282) ([@Joelrau](https://github.com/Joelrau))
+- Fix #284 [#285](https://github.com/XLabsProject/iw6x-client/pull/285) ([@fedddddd](https://github.com/fedddddd))
+
+## [v1.1.0] - 2020-12-13
+
+### Fixed
+
+- Dedicated Server Crash every 24 hours with Fatal error (0xC00000005) at 0x00000001E3A2A0. [#222](https://github.com/XLabsProject/iw6x-client/issues/222)
+- SetThreadDescription not available on older Windows versions [#237](https://github.com/XLabsProject/iw6x-client/issues/237)
+- Crash after leaving lobby (Local Match/Private) [#239](https://github.com/XLabsProject/iw6x-client/issues/239)
+- jump_slowDownEnable animation bug [#245](https://github.com/XLabsProject/iw6x-client/issues/245)
+
+### Added
+
+- Implement scripting support [#17](https://github.com/XLabsProject/iw6x-client/issues/17)
+
+### Pull Requests
+
+- Allow server owner to set server port [#197](https://github.com/XLabsProject/iw6x-client/pull/197) ([@GEEKiDoS](https://github.com/GEEKiDoS))
+- Add chat notifies [#235](https://github.com/XLabsProject/iw6x-client/pull/235) ([@fedddddd](https://github.com/fedddddd))
+- Implement some jump dvars [#243](https://github.com/XLabsProject/iw6x-client/pull/243) ([@fedddddd](https://github.com/fedddddd))
+- Fix #245 [#246](https://github.com/XLabsProject/iw6x-client/pull/246) ([@fedddddd](https://github.com/fedddddd))
+
+## [v1.0.5] - 2020-12-08
+
+### Fixed
+
+- Singleplayer crashing with v1.0.4 [#234](https://github.com/XLabsProject/iw6x-client/issues/234)
+
+## [v1.0.4] - 2020-12-07
+
+### Fixed
+
+- Game pad crashes due to missing steam-api interfaces [#173](https://github.com/XLabsProject/iw6x-client/issues/173)
+
+### Added
+
+- Analyze Arxan exception handlers to get rid of them [#146](https://github.com/XLabsProject/iw6x-client/issues/146)
+- Add proper support for fovs >= 90 [#153](https://github.com/XLabsProject/iw6x-client/issues/153)
+- Set thread names for common threads [#226](https://github.com/XLabsProject/iw6x-client/issues/226)
+- Add -no-steam parameter to disable steam integration [#227](https://github.com/XLabsProject/iw6x-client/issues/227)
+- Create extended minidumps [#228](https://github.com/XLabsProject/iw6x-client/issues/228)
+- Load game as library instead of injecting it [#230](https://github.com/XLabsProject/iw6x-client/issues/230)
+
+### Pull Requests
+
+- added r_fullbright, kbam input patch and changed branding in sp [#229](https://github.com/XLabsProject/iw6x-client/pull/229) ([@Jemal](https://github.com/Jemal))
+- allow PlayerCmd_SetClientDvar to change any dvar like old cods [#224](https://github.com/XLabsProject/iw6x-client/pull/224) ([@skiff](https://github.com/skiff))
+- Update function_table and some other changes. [#232](https://github.com/XLabsProject/iw6x-client/pull/232) ([@Joelrau](https://github.com/Joelrau))
+
+## [v1.0.3] - 2020-11-25
+
+### Fixed
+
+- Dedicated server incompatible with older Windows [#167](https://github.com/XLabsProject/iw6x-client/issues/167)
+- Fatal Error Server Crash [#119](https://github.com/XLabsProject/iw6x-client/issues/119)
+
+### Pull Requests
+
+- Implement sv_motd [#203](https://github.com/XLabsProject/iw6x-client/pull/203) ([@fedddddd](https://github.com/fedddddd))
+- MP command fixes, Game console version, Aim assist [#208](https://github.com/XLabsProject/iw6x-client/pull/208) ([@skiff](https://github.com/skiff))
+- Add fastfiles component [#199](https://github.com/XLabsProject/iw6x-client/pull/199) ([@Joelrau](https://github.com/Joelrau))
+- update give command & add take command [#198](https://github.com/XLabsProject/iw6x-client/pull/198) ([@Joelrau](https://github.com/Joelrau))
+
+## [v1.0.2] - 2020-11-12
+
+### Fixed
+
+- SP crashes on mouse scroll [#186](https://github.com/XLabsProject/iw6x-client/issues/186)
+
+### Pull Requests
+
+- Change steam_id generation to a more suitable random [#178](https://github.com/XLabsProject/iw6x-client/pull/178) ([@skiff](https://github.com/skiff))
+
+## [v1.0.1] - 2020-11-05
+
+### Pull Requests
+
+- Fix chat font on resolutions higher than 1080p [#176](https://github.com/XLabsProject/iw6x-client/pull/176) ([@skiff](https://github.com/skiff))
+- Show infomation on title of the dedicated console [#166](https://github.com/XLabsProject/iw6x-client/pull/166) ([@GEEKiDoS](https://github.com/GEEKiDoS))
+
+## [v1.0.0] - 2020-11-03
+
+### Fixed
+
+- 2nd octet of the IP-address in status response is wrong. [#150](https://github.com/XLabsProject/iw6x-client/issues/150)
+- Arxan exceptions cause performance issues [#144](https://github.com/XLabsProject/iw6x-client/issues/144)
+
+### Added
+
+- Disable whitelist protection on /bind command on console. [#151](https://github.com/XLabsProject/iw6x-client/issues/151)
+
+### Pull Requests
+
+- ScrCmd_SetSlowMotion patches [#157](https://github.com/XLabsProject/iw6x-client/pull/157) ([@skiff](https://github.com/skiff))
+- added binding [#152](https://github.com/XLabsProject/iw6x-client/pull/152) ([@Jemal](https://github.com/Jemal))
+- Server double clicks, discord presence fix and input module [#148](https://github.com/XLabsProject/iw6x-client/pull/148) ([@Jemal](https://github.com/Jemal))
+- Add clientkick and kick commands [#147](https://github.com/XLabsProject/iw6x-client/pull/147) ([@Joelrau](https://github.com/Joelrau))
+
+## [v1.0.0-rc.1] - 2020-10-28
+
+### Fixed
+
+- Dedis sometimes crash at 0x28046F420 [#104](https://github.com/XLabsProject/iw6x-client/issues/104)
+- A very long sv_hostname creates a lot of chaos [#102](https://github.com/XLabsProject/iw6x-client/issues/102)
+- Crash while typing message in chat [#99](https://github.com/XLabsProject/iw6x-client/issues/99)
+- steam_api64 is still being loaded by the game [#95](https://github.com/XLabsProject/iw6x-client/issues/95)
+- Discord integration displays own hostname, not the remote one [#94](https://github.com/XLabsProject/iw6x-client/issues/94)
+- Manage connecting from the main menu [#93](https://github.com/XLabsProject/iw6x-client/issues/93)
+- Changing password in private match crashes [#80](https://github.com/XLabsProject/iw6x-client/issues/80)
+- Exec bugged [#76](https://github.com/XLabsProject/iw6x-client/issues/76)
+- Dedicated server takes up a player slot [#75](https://github.com/XLabsProject/iw6x-client/issues/75)
+- Dedicated servers lag/run at double speed [#67](https://github.com/XLabsProject/iw6x-client/issues/67)
+- 9-bangs and semtex's are bugged (Desc) [#39](https://github.com/XLabsProject/iw6x-client/issues/39)
+- New bounce command bugged [#25](https://github.com/XLabsProject/iw6x-client/issues/25)
+- Vsync 15FPS bug [#22](https://github.com/XLabsProject/iw6x-client/issues/22)
+- Ingame console is automatically opened in singleplayer [#7](https://github.com/XLabsProject/iw6x-client/issues/7)
+
+### Added
+
+- Delay dedicated server commands until initialization is done [#98](https://github.com/XLabsProject/iw6x-client/issues/98)
+- Verify the game binary versions [#92](https://github.com/XLabsProject/iw6x-client/issues/92)
+- Add rcon and status commands [#91](https://github.com/XLabsProject/iw6x-client/issues/91)
+- Dealing with LFS limitations [#86](https://github.com/XLabsProject/iw6x-client/issues/86)
+- Load dedicated server configs [#85](https://github.com/XLabsProject/iw6x-client/issues/85)
+- Implement map rotate for dedis [#81](https://github.com/XLabsProject/iw6x-client/issues/81)
+- Dedicated Servers load .pak files [#71](https://github.com/XLabsProject/iw6x-client/issues/71)
+- Implement exec mycustom.cfg [#66](https://github.com/XLabsProject/iw6x-client/issues/66)
+- Implement basic server backend [#60](https://github.com/XLabsProject/iw6x-client/issues/60)
+- Implement minidump support [#59](https://github.com/XLabsProject/iw6x-client/issues/59)
+- Block changing name ingame [#57](https://github.com/XLabsProject/iw6x-client/issues/57)
+- Remove name colors from overhead names [#56](https://github.com/XLabsProject/iw6x-client/issues/56)
+- Implement dedicated servers [#29](https://github.com/XLabsProject/iw6x-client/issues/29)
+- Add working connect command [#28](https://github.com/XLabsProject/iw6x-client/issues/28)
+- Remove DTLS [#27](https://github.com/XLabsProject/iw6x-client/issues/27)
+- Get basic matchmaking working [#9](https://github.com/XLabsProject/iw6x-client/issues/9)
+- Dump latest publisher files [#8](https://github.com/XLabsProject/iw6x-client/issues/8)
+- Wai you no fully remove the most basic version of Arxan?!one! [#1](https://github.com/XLabsProject/iw6x-client/issues/1)
+
+### Pull Requests
+
+- Add more dvars to require sv_cheats / cleaned pathes a little [#120](https://github.com/XLabsProject/iw6x-client/pull/120) ([@FragsAreUs](https://github.com/FragsAreUs))
+- Implement release process automation [#118](https://github.com/XLabsProject/iw6x-client/pull/118) ([@x-dev-urandom](https://github.com/x-dev-urandom))
+- Add IW6x version to game version strings [#116](https://github.com/XLabsProject/iw6x-client/pull/116) ([@x-dev-urandom](https://github.com/x-dev-urandom))
+- dvarDump show values & using enums for game_console::print [#114](https://github.com/XLabsProject/iw6x-client/pull/114) ([@iAmThatMichael](https://github.com/iAmThatMichael))
+- Add some functions [#110](https://github.com/XLabsProject/iw6x-client/pull/110) ([@Joelrau](https://github.com/Joelrau))
+- Unlock all camos [#108](https://github.com/XLabsProject/iw6x-client/pull/108) ([@zzzcarter](https://github.com/zzzcarter))
+- Added a simple ping counter [#105](https://github.com/XLabsProject/iw6x-client/pull/105) ([@halcyo-n](https://github.com/halcyo-n))
+- Display the proper hostname in discord presence [#103](https://github.com/XLabsProject/iw6x-client/pull/103) ([@Jemal](https://github.com/Jemal))
+- Patch Dvar_Command to print values if no values are given like CoD4 [#97](https://github.com/XLabsProject/iw6x-client/pull/97) ([@skiff](https://github.com/skiff))
+- rcon and status commands [#96](https://github.com/XLabsProject/iw6x-client/pull/96) ([@skiff](https://github.com/skiff))
+- Updated DPServer IP Address [#90](https://github.com/XLabsProject/iw6x-client/pull/90) ([@HexChaos](https://github.com/HexChaos))
+- Hook calls for cg_gun\_ dvars to remove flags [#89](https://github.com/XLabsProject/iw6x-client/pull/89) ([@skiff](https://github.com/skiff))
+- Fix map_rotation crash [#88](https://github.com/XLabsProject/iw6x-client/pull/88) ([@Joelrau](https://github.com/Joelrau))
+- Set up GitHub Actions [#87](https://github.com/XLabsProject/iw6x-client/pull/87) ([@x-dev-urandom](https://github.com/x-dev-urandom))
+- New artworks & resources [#84](https://github.com/XLabsProject/iw6x-client/pull/84) ([@sortileges](https://github.com/sortileges))
+- Implement sv_cheats [#82](https://github.com/XLabsProject/iw6x-client/pull/82) ([@skiff](https://github.com/skiff))
+- Small changes [#78](https://github.com/XLabsProject/iw6x-client/pull/78) ([@Joelrau](https://github.com/Joelrau))
+- Fix exec command patch [#77](https://github.com/XLabsProject/iw6x-client/pull/77) ([@skiff](https://github.com/skiff))
+- New icon, splash screen and banner [#70](https://github.com/XLabsProject/iw6x-client/pull/70) ([@sortileges](https://github.com/sortileges))
+- Allow exec to find custom cfg files on disk [#69](https://github.com/XLabsProject/iw6x-client/pull/69) ([@skiff](https://github.com/skiff))
+- Increased sv_max_fps to 1000 [#68](https://github.com/XLabsProject/iw6x-client/pull/68) ([@xerxes-at](https://github.com/xerxes-at))
+- Add Com_Error function [#64](https://github.com/XLabsProject/iw6x-client/pull/64) ([@Joelrau](https://github.com/Joelrau))
+- Block changing name in-game & remove colors from overhead names [#63](https://github.com/XLabsProject/iw6x-client/pull/63) ([@Jemal](https://github.com/Jemal))
+- "cg_gun\_" and dvar patches [#62](https://github.com/XLabsProject/iw6x-client/pull/62) ([@sortileges](https://github.com/sortileges))
+- cg_fovscale and cg_fov changes [#58](https://github.com/XLabsProject/iw6x-client/pull/58) ([@lizardpeter](https://github.com/lizardpeter))
+- Added bots [#55](https://github.com/XLabsProject/iw6x-client/pull/55) ([@Jemal](https://github.com/Jemal))
+- Patched r_fog [#53](https://github.com/XLabsProject/iw6x-client/pull/53) ([@OneFourOne](https://github.com/OneFourOne))
+- Discord integration [#52](https://github.com/XLabsProject/iw6x-client/pull/52) ([@Jemal](https://github.com/Jemal))
+- Added colors module [#48](https://github.com/XLabsProject/iw6x-client/pull/48) ([@Jemal](https://github.com/Jemal))
+- Scheduler addons [#47](https://github.com/XLabsProject/iw6x-client/pull/47) ([@skiff](https://github.com/skiff))
+- Fix SP not starting [#46](https://github.com/XLabsProject/iw6x-client/pull/46) ([@fedddddd](https://github.com/fedddddd))
+- Implemented server list feeder [#43](https://github.com/XLabsProject/iw6x-client/pull/43) ([@Jemal](https://github.com/Jemal))
+- Add setviewpos, setviewang commands, add viewpos to drawfps [#38](https://github.com/XLabsProject/iw6x-client/pull/38) ([@fedddddd](https://github.com/fedddddd))
+- Make stats look better [#36](https://github.com/XLabsProject/iw6x-client/pull/36) ([@FragsAreUs](https://github.com/FragsAreUs))
+
+[Unreleased]: https://github.com/XLabsProject/iw6x-client/compare/v2.0.2...HEAD
+
+[v2.0.2]: https://github.com/XLabsProject/iw6x-client/compare/v2.0.1...v2.0.2
+
+[v2.0.1]: https://github.com/XLabsProject/iw6x-client/compare/v2.0.0...v2.0.1
+
+[v2.0.0]: https://github.com/XLabsProject/iw6x-client/compare/v1.1.0...v2.0.0
+
+[v2.0.0]: https://github.com/XLabsProject/iw6x-client/compare/v1.1.0...v2.0.0
+
+[v1.1.0]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.5...v1.1.0
+
+[v1.0.5]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.4...v1.0.5
+
+[v1.0.4]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.3...v1.0.4
+
+[v1.0.3]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.2...v1.0.3
+
+[v1.0.2]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.1...v1.0.2
+
+[v1.0.1]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.0...v1.0.1
+
+[v1.0.0]: https://github.com/XLabsProject/iw6x-client/compare/v1.0.0-rc.1...v1.0.0
+
+[v1.0.0-rc.1]: https://github.com/XLabsProject/iw6x-client/compare/22c834e0655795870621ce505ea189ae522e8223...v1.0.0-rc.1
diff --git a/documentation/IW6x/README.md b/documentation/IW6x/README.md
new file mode 100644
index 0000000..78c3a62
--- /dev/null
+++ b/documentation/IW6x/README.md
@@ -0,0 +1,57 @@
+![license](https://img.shields.io/github/license/XLabsProject/iw6x-client.svg)
+[![open bugs](https://img.shields.io/github/issues/XLabsProject/iw6x-client/bug?label=bugs)](https://github.com/XLabsProject/iw6x-client/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
+[![build](https://github.com/XLabsProject/iw6x-client/workflows/Build/badge.svg)](https://github.com/XLabsProject/iw6x-client/actions)
+[![patreon](https://img.shields.io/badge/patreon-support-blue.svg?logo=patreon)](https://www.patreon.com/xlabsproject)
+[![discord](https://img.shields.io/endpoint?url=https://momo5502.com/iw4x/members-badge.php)](https://discord.gg/sKeVmR3)
+
+
+# IW6x: Client
+
+
+
+
+
+
+
+## Download
+
+- **[Click here to get the latest release](https://ci.appveyor.com/api/projects/XLabsProject/iw6x-client/artifacts/build%2Fbin%2Fx64%2FRelease%2Fiw6x.exe?branch=master&job=Environment%3A%20APPVEYOR_BUILD_WORKER_IMAGE%3DVisual%20Studio%202019%2C%20PREMAKE_ACTION%3Dvs2019%2C%20CI%3D1%3B%20Configuration%3A%20Release)** (if you are a tester or X Labs staff, get the develop build [here](https://ci.appveyor.com/api/projects/XLabsProject/iw6x-client/artifacts/build%2Fbin%2Fx64%2FRelease%2Fiw6x.exe?branch=develop&job=Environment%3A%20APPVEYOR_BUILD_WORKER_IMAGE%3DVisual%20Studio%202019%2C%20PREMAKE_ACTION%3Dvs2019%2C%20CI%3D1%3B%20Configuration%3A%20Release))
+- **You will need to drop this in your Call of Duty: Ghosts installation folder. If you don't have Call of Duty: Ghosts, get those game files first.**
+- The client is still in an early stage. It will have bugs!
+
+
+
+## Showcase
+
+| | |
+|:-:|:-:|
+| Server list | Scripting support |
+
+| |
+|:-:|
+| Ultrawide monitor support |
+
+
+
+## Compile from source
+
+- Clone the Git repo. Do NOT download it as ZIP, that won't work.
+- Update the submodules and run `premake5 vs2022` or simply use the delivered `generate.bat`.
+- Build via solution file in `build\iw6x.sln`.
+
+### Premake arguments
+
+| Argument | Description |
+|:----------------------------|:-----------------------------------------------|
+| `--copy-to=PATH` | Optional, copy the EXE to a custom folder after build, define the path here if wanted. |
+| `--dev-build` | Enable development builds of the client. |
+
+
+
+## Disclaimer
+
+This software has been created purely for the purposes of
+academic research. It is not intended to be used to attack
+other systems. Project maintainers are not responsible or
+liable for misuse of the software. Use responsibly.
+
diff --git a/documentation/S1x/CHANGELOG.md b/documentation/S1x/CHANGELOG.md
new file mode 100644
index 0000000..e9c2b99
--- /dev/null
+++ b/documentation/S1x/CHANGELOG.md
@@ -0,0 +1,159 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+## [v1.0.4] - 2021-05-20
+
+### Added
+
+- Add game matrix access [#161](https://github.com/XLabsProject/s1x-client/issues/161)
+- Add custom camo support [#185](https://github.com/XLabsProject/s1x-client/issues/185)
+
+### Fixed
+
+- Fatal error with test build [#193](https://github.com/XLabsProject/s1x-client/issues/193)
+
+### Pull Requests
+
+- Fix service not available disconnect [#172](https://github.com/XLabsProject/s1x-client/pull/172) ([@Joelrau](https://github.com/Joelrau))
+- Script struct support #132 [#177](https://github.com/XLabsProject/s1x-client/pull/177) ([@fedddddd](https://github.com/fedddddd))
+- Use sizeof operator more often [#181](https://github.com/XLabsProject/s1x-client/pull/181) ([@diamante0018](https://github.com/diamante0018))
+- Script function support [#183](https://github.com/XLabsProject/s1x-client/pull/183) ([@fedddddd](https://github.com/fedddddd))
+
+## [v1.0.3] - 2021-05-04
+
+### Added
+
+- Use patrons for bot names [#128](https://github.com/XLabsProject/s1x-client/issues/128)
+- Increase network packet limit [#102](https://github.com/XLabsProject/s1x-client/issues/102)
+
+### Fixed
+
+- Possible duplicate GUID [#166](https://github.com/XLabsProject/s1x-client/issues/166)
+
+### Pull Requests
+
+- Game variable support #161 [#164](https://github.com/XLabsProject/s1x-client/pull/164) ([@fedddddd](https://github.com/fedddddd))
+
+## [v1.0.2] - 2021-04-29
+
+### Added
+
+- Add kick reason [#114](https://github.com/XLabsProject/s1x-client/issues/114)
+- Improve MOTD with social links and whatever [#131](https://github.com/XLabsProject/s1x-client/issues/131)
+- Implement Listassetpool filter similar to IW6x [#123](https://github.com/XLabsProject/s1x-client/issues/123)
+
+### Fixed
+
+- Unable to connect to servers [#106](https://github.com/XLabsProject/s1x-client/issues/106)
+
+### Pull Requests
+
+- Use dvar flag for r_fullbright [#142](https://github.com/XLabsProject/s1x-client/pull/142) ([@diamante0018](https://github.com/diamante0018))
+- List Asset Pool Filter [#134](https://github.com/XLabsProject/s1x-client/pull/134) ([@diamante0018](https://github.com/diamante0018))
+- Fixed logic error in list Asset pool command [#136](https://github.com/XLabsProject/s1x-client/pull/136) ([@diamante0018](https://github.com/diamante0018))
+- Show drop reason [#147](https://github.com/XLabsProject/s1x-client/pull/147) ([@Joelrau](https://github.com/Joelrau))
+- Small QOL changes mostly for dedicated server owners. [#125](https://github.com/XLabsProject/s1x-client/pull/125) ([@xerxes-at](https://github.com/xerxes-at))
+
+## [v1.0.1] - 2021-04-26
+
+### Added
+
+- Move the chat [#99](https://github.com/XLabsProject/s1x-client/issues/99)
+- Reduce AntiVirus false positives [#127](https://github.com/XLabsProject/s1x-client/issues/127)
+- Increase timeout time (when connecting?) [#139](https://github.com/XLabsProject/s1x-client/issues/139)
+
+### Fixed
+
+- Campaign fails to launch in new debug builds [#116](https://github.com/XLabsProject/s1x-client/issues/116)
+- VirtualLobby firing range FOV/FOV scale messed up [#135](https://github.com/XLabsProject/s1x-client/issues/135)
+
+### Pull Requests
+
+- Update scripting [#95](https://github.com/XLabsProject/s1x-client/pull/95) ([@Joelrau](https://github.com/Joelrau))
+- Fixed hooks in set dvars [#100](https://github.com/XLabsProject/s1x-client/pull/100) ([@diamante0018](https://github.com/diamante0018))
+- hooked dvar register vector2, modified cg_hudChatPosition and matched... [#103](https://github.com/XLabsProject/s1x-client/pull/103) ([@diamante0018](https://github.com/diamante0018))
+- I missed flags in vector 2 yesterday. [#110](https://github.com/XLabsProject/s1x-client/pull/110) ([@diamante0018](https://github.com/diamante0018))
+- use dvar flags enum everywhere for extra clarity and cohesion. also s... [#115](https://github.com/XLabsProject/s1x-client/pull/115) ([@diamante0018](https://github.com/diamante0018))
+- Update patches.cpp [#119](https://github.com/XLabsProject/s1x-client/pull/119) ([@diamante0018](https://github.com/diamante0018))
+- /reconnect changes [#122](https://github.com/XLabsProject/s1x-client/pull/122) ([@mjkzy](https://github.com/mjkzy))
+- Use custom fov/fovscale when virtual lobby is enabled. [#133](https://github.com/XLabsProject/s1x-client/pull/133) ([@Joelrau](https://github.com/Joelrau))
+- filter. (tested on mp) [#134](https://github.com/XLabsProject/s1x-client/pull/134) ([@diamante0018](https://github.com/diamante0018))
+- reverted to old if statement [#136](https://github.com/XLabsProject/s1x-client/pull/136) ([@diamante0018](https://github.com/diamante0018))
+- Fix firing range fov [#137](https://github.com/XLabsProject/s1x-client/pull/137) ([@Joelrau](https://github.com/Joelrau))
+- Don't patch virtuallobby if game isn't multiplayer [#138](https://github.com/XLabsProject/s1x-client/pull/138) ([@Joelrau](https://github.com/Joelrau))
+
+## [v1.0.0] - 2021-04-20
+
+### Added
+
+- Uncheat protect safeArea & give SAVED flags [#75](https://github.com/XLabsProject/s1x-client/issues/75)
+- Create unified logging interface [#78](https://github.com/XLabsProject/s1x-client/issues/78)
+
+### Fixed
+
+- Input is lagging in fullscreen mode [#69](https://github.com/XLabsProject/s1x-client/issues/69)
+- GUID changing upon game restart [#74](https://github.com/XLabsProject/s1x-client/issues/74)
+- Duplicated GUIDs [#90](https://github.com/XLabsProject/s1x-client/issues/90)
+- Serverlist connect issue [#92](https://github.com/XLabsProject/s1x-client/issues/92)
+
+### Pull Requests
+
+- discord presence final commit [#66](https://github.com/XLabsProject/s1x-client/pull/66) ([@mjkzy](https://github.com/mjkzy))
+- Feature/scripting [#70](https://github.com/XLabsProject/s1x-client/pull/70) ([@Joelrau](https://github.com/Joelrau))
+- Feature/quaK [#81](https://github.com/XLabsProject/s1x-client/pull/81) ([@Joelrau](https://github.com/Joelrau))
+- unlock safeArea [#82](https://github.com/XLabsProject/s1x-client/pull/82) ([@mjkzy](https://github.com/mjkzy))
+- hot fix safe area [#83](https://github.com/XLabsProject/s1x-client/pull/83) ([@mjkzy](https://github.com/mjkzy))
+
+## [v0.0.2] - 2021-04-07
+
+### Added
+
+- Offline mode [#19](https://github.com/XLabsProject/s1x-client/issues/19)
+- Rewrite demonware emulator [#20](https://github.com/XLabsProject/s1x-client/issues/20)
+- Add a way to disable auto restart on crashes. [#58](https://github.com/XLabsProject/s1x-client/issues/58)
+
+### Fixed
+
+- Investigate performance issues [#11](https://github.com/XLabsProject/s1x-client/issues/11)
+- Map command ingame [#13](https://github.com/XLabsProject/s1x-client/issues/13)
+- Replicated dvars are reset upon map start/restart [#14](https://github.com/XLabsProject/s1x-client/issues/14)
+- Process sometimes doesn't exit [#17](https://github.com/XLabsProject/s1x-client/issues/17)
+- Steam Files causing Outdated Game Files error. [#39](https://github.com/XLabsProject/s1x-client/issues/39)
+- Killcam Lags/Skips [#53](https://github.com/XLabsProject/s1x-client/issues/53)
+
+### Pull Requests
+
+- More cleanup [#1](https://github.com/XLabsProject/s1x-client/pull/1) ([@OneFourOne](https://github.com/OneFourOne))
+- Quick README change [#2](https://github.com/XLabsProject/s1x-client/pull/2) ([@ChxseH](https://github.com/ChxseH))
+- fix typo [#3](https://github.com/XLabsProject/s1x-client/pull/3) ([@OneFourOne](https://github.com/OneFourOne))
+- Fix Joelrau/s1-mod#9 [#5](https://github.com/XLabsProject/s1x-client/pull/5) ([@fedddddd](https://github.com/fedddddd))
+- Unlock everything and re-enable virtuallobby [#24](https://github.com/XLabsProject/s1x-client/pull/24) ([@Joelrau](https://github.com/Joelrau))
+- Add listassetpool, consoleList, fix various problems [#32](https://github.com/XLabsProject/s1x-client/pull/32) ([@iAmThatMichael](https://github.com/iAmThatMichael))
+- Allow kbam while gamepad is enabled & Logger stuff [#33](https://github.com/XLabsProject/s1x-client/pull/33) ([@Joelrau](https://github.com/Joelrau))
+- add discord presence [#36](https://github.com/XLabsProject/s1x-client/pull/36) ([@mjkzy](https://github.com/mjkzy))
+- Minor fixes [#40](https://github.com/XLabsProject/s1x-client/pull/40) ([@Joelrau](https://github.com/Joelrau))
+- Uploading new artworks + resources [#41](https://github.com/XLabsProject/s1x-client/pull/41) ([@sortileges](https://github.com/sortileges))
+- Make it possible to open the client without console [#45](https://github.com/XLabsProject/s1x-client/pull/45) ([@Joelrau](https://github.com/Joelrau))
+- Fix slowmotion on dedicated [#54](https://github.com/XLabsProject/s1x-client/pull/54) ([@Joelrau](https://github.com/Joelrau))
+- Discord RPC - party size + party size max [#59](https://github.com/XLabsProject/s1x-client/pull/59) ([@mjkzy](https://github.com/mjkzy))
+- discord presence - host name address [#64](https://github.com/XLabsProject/s1x-client/pull/64) ([@mjkzy](https://github.com/mjkzy))
+
+[Unreleased]: https://github.com/XLabsProject/s1x-client/compare/v1.0.4...HEAD
+
+[v1.0.4]: https://github.com/XLabsProject/s1x-client/compare/v1.0.3...v1.0.4
+
+[v1.0.3]: https://github.com/XLabsProject/s1x-client/compare/v1.0.2...v1.0.3
+
+[v1.0.2]: https://github.com/XLabsProject/s1x-client/compare/v1.0.1...v1.0.2
+
+[v1.0.1]: https://github.com/XLabsProject/s1x-client/compare/v1.0.0...v1.0.1
+
+[v1.0.0]: https://github.com/XLabsProject/s1x-client/compare/v0.0.2...v1.0.0
+
+[v0.0.2]: https://github.com/XLabsProject/s1x-client/compare/75b6d04895a2da346ca9eba5352b300f4926b6c5...v0.0.2
diff --git a/documentation/S1x/README.md b/documentation/S1x/README.md
new file mode 100644
index 0000000..93fc7c7
--- /dev/null
+++ b/documentation/S1x/README.md
@@ -0,0 +1,36 @@
+![license](https://img.shields.io/github/license/XLabsProject/s1x-client.svg)
+[![open bugs](https://img.shields.io/github/issues/XLabsProject/s1x-client/bug?label=bugs)](https://github.com/XLabsProject/s1x-client/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
+[![Build](https://github.com/XLabsProject/s1x-client/workflows/Build/badge.svg)](https://github.com/XLabsProject/s1x-client/actions)
+[![patreon](https://img.shields.io/badge/patreon-support-blue.svg?logo=patreon)](https://www.patreon.com/xlabsproject)
+[![discord](https://img.shields.io/endpoint?url=https://momo5502.com/iw4x/members-badge.php)](https://discord.gg/sKeVmR3)
+
+
+# S1x: Client
+
+
+
+
+
+
+
+## Compile from source
+
+- Clone the Git repo. Do NOT download it as ZIP, that won't work.
+- Update the submodules and run `premake5 vs2022` or simply use the delivered `generate.bat`.
+- Build via solution file in `build\s1x.sln`.
+
+### Premake arguments
+
+| Argument | Description |
+|:----------------------------|:-----------------------------------------------|
+| `--copy-to=PATH` | Optional, copy the EXE to a custom folder after build, define the path here if wanted. |
+| `--dev-build` | Enable development builds of the client. |
+
+
+
+## Disclaimer
+
+This software has been created purely for the purposes of
+academic research. It is not intended to be used to attack
+other systems. Project maintainers are not responsible or
+liable for misuse of the software. Use responsibly.
diff --git a/localappdata/xlabs/data/cef/release/chrome_100_percent.pak b/launcher/localappdata/xlabs/data/cef/release/chrome_100_percent.pak
similarity index 100%
rename from localappdata/xlabs/data/cef/release/chrome_100_percent.pak
rename to launcher/localappdata/xlabs/data/cef/release/chrome_100_percent.pak
diff --git a/localappdata/xlabs/data/cef/release/chrome_200_percent.pak b/launcher/localappdata/xlabs/data/cef/release/chrome_200_percent.pak
similarity index 100%
rename from localappdata/xlabs/data/cef/release/chrome_200_percent.pak
rename to launcher/localappdata/xlabs/data/cef/release/chrome_200_percent.pak
diff --git a/localappdata/xlabs/data/cef/release/chrome_elf.dll b/launcher/localappdata/xlabs/data/cef/release/chrome_elf.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/chrome_elf.dll
rename to launcher/localappdata/xlabs/data/cef/release/chrome_elf.dll
diff --git a/localappdata/xlabs/data/cef/release/d3dcompiler_47.dll b/launcher/localappdata/xlabs/data/cef/release/d3dcompiler_47.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/d3dcompiler_47.dll
rename to launcher/localappdata/xlabs/data/cef/release/d3dcompiler_47.dll
diff --git a/localappdata/xlabs/data/cef/release/icudtl.dat b/launcher/localappdata/xlabs/data/cef/release/icudtl.dat
similarity index 100%
rename from localappdata/xlabs/data/cef/release/icudtl.dat
rename to launcher/localappdata/xlabs/data/cef/release/icudtl.dat
diff --git a/localappdata/xlabs/data/cef/release/libEGL.dll b/launcher/localappdata/xlabs/data/cef/release/libEGL.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/libEGL.dll
rename to launcher/localappdata/xlabs/data/cef/release/libEGL.dll
diff --git a/localappdata/xlabs/data/cef/release/libGLESv2.dll b/launcher/localappdata/xlabs/data/cef/release/libGLESv2.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/libGLESv2.dll
rename to launcher/localappdata/xlabs/data/cef/release/libGLESv2.dll
diff --git a/localappdata/xlabs/data/cef/release/libcef.dll b/launcher/localappdata/xlabs/data/cef/release/libcef.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/libcef.dll
rename to launcher/localappdata/xlabs/data/cef/release/libcef.dll
diff --git a/localappdata/xlabs/data/cef/release/locales/en-US.pak b/launcher/localappdata/xlabs/data/cef/release/locales/en-US.pak
similarity index 100%
rename from localappdata/xlabs/data/cef/release/locales/en-US.pak
rename to launcher/localappdata/xlabs/data/cef/release/locales/en-US.pak
diff --git a/localappdata/xlabs/data/cef/release/resources.pak b/launcher/localappdata/xlabs/data/cef/release/resources.pak
similarity index 100%
rename from localappdata/xlabs/data/cef/release/resources.pak
rename to launcher/localappdata/xlabs/data/cef/release/resources.pak
diff --git a/localappdata/xlabs/data/cef/release/snapshot_blob.bin b/launcher/localappdata/xlabs/data/cef/release/snapshot_blob.bin
similarity index 100%
rename from localappdata/xlabs/data/cef/release/snapshot_blob.bin
rename to launcher/localappdata/xlabs/data/cef/release/snapshot_blob.bin
diff --git a/localappdata/xlabs/data/cef/release/v8_context_snapshot.bin b/launcher/localappdata/xlabs/data/cef/release/v8_context_snapshot.bin
similarity index 100%
rename from localappdata/xlabs/data/cef/release/v8_context_snapshot.bin
rename to launcher/localappdata/xlabs/data/cef/release/v8_context_snapshot.bin
diff --git a/localappdata/xlabs/data/cef/release/vk_swiftshader.dll b/launcher/localappdata/xlabs/data/cef/release/vk_swiftshader.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/vk_swiftshader.dll
rename to launcher/localappdata/xlabs/data/cef/release/vk_swiftshader.dll
diff --git a/localappdata/xlabs/data/cef/release/vulkan-1.dll b/launcher/localappdata/xlabs/data/cef/release/vulkan-1.dll
similarity index 100%
rename from localappdata/xlabs/data/cef/release/vulkan-1.dll
rename to launcher/localappdata/xlabs/data/cef/release/vulkan-1.dll
diff --git a/localappdata/xlabs/data/iw4x/iw4x-sp.exe b/launcher/localappdata/xlabs/data/iw4x/iw4x-sp.exe
similarity index 100%
rename from localappdata/xlabs/data/iw4x/iw4x-sp.exe
rename to launcher/localappdata/xlabs/data/iw4x/iw4x-sp.exe
diff --git a/localappdata/xlabs/data/iw4x/iw4x.dll b/launcher/localappdata/xlabs/data/iw4x/iw4x.dll
similarity index 100%
rename from localappdata/xlabs/data/iw4x/iw4x.dll
rename to launcher/localappdata/xlabs/data/iw4x/iw4x.dll
diff --git a/localappdata/xlabs/data/iw6x/data/dw/entitlement_config_tu14.info b/launcher/localappdata/xlabs/data/iw6x/data/dw/entitlement_config_tu14.info
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/dw/entitlement_config_tu14.info
rename to launcher/localappdata/xlabs/data/iw6x/data/dw/entitlement_config_tu14.info
diff --git a/localappdata/xlabs/data/iw6x/data/dw/mm.cfg b/launcher/localappdata/xlabs/data/iw6x/data/dw/mm.cfg
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/dw/mm.cfg
rename to launcher/localappdata/xlabs/data/iw6x/data/dw/mm.cfg
diff --git a/localappdata/xlabs/data/iw6x/data/dw/newsfeed.txt b/launcher/localappdata/xlabs/data/iw6x/data/dw/newsfeed.txt
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/dw/newsfeed.txt
rename to launcher/localappdata/xlabs/data/iw6x/data/dw/newsfeed.txt
diff --git a/localappdata/xlabs/data/iw6x/data/dw/playlists_tu14.aggr b/launcher/localappdata/xlabs/data/iw6x/data/dw/playlists_tu14.aggr
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/dw/playlists_tu14.aggr
rename to launcher/localappdata/xlabs/data/iw6x/data/dw/playlists_tu14.aggr
diff --git a/localappdata/xlabs/data/iw6x/data/dw/social_tu14.cfg b/launcher/localappdata/xlabs/data/iw6x/data/dw/social_tu14.cfg
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/dw/social_tu14.cfg
rename to launcher/localappdata/xlabs/data/iw6x/data/dw/social_tu14.cfg
diff --git a/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_damage.gsc b/launcher/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_damage.gsc
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_damage.gsc
rename to launcher/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_damage.gsc
diff --git a/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_menus.gsc b/launcher/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_menus.gsc
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_menus.gsc
rename to launcher/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_menus.gsc
diff --git a/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_playerlogic.gsc b/launcher/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_playerlogic.gsc
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_playerlogic.gsc
rename to launcher/localappdata/xlabs/data/iw6x/data/maps/mp/gametypes/_playerlogic.gsc
diff --git a/localappdata/xlabs/data/s1x/data/scripts/_team_balance.gsc b/launcher/localappdata/xlabs/data/iw6x/data/scripts/_team_balance.gsc
similarity index 100%
rename from localappdata/xlabs/data/s1x/data/scripts/_team_balance.gsc
rename to launcher/localappdata/xlabs/data/iw6x/data/scripts/_team_balance.gsc
diff --git a/localappdata/xlabs/data/iw6x/data/sound/patch-3-music.flac b/launcher/localappdata/xlabs/data/iw6x/data/sound/patch-3-music.flac
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/sound/patch-3-music.flac
rename to launcher/localappdata/xlabs/data/iw6x/data/sound/patch-3-music.flac
diff --git a/localappdata/xlabs/data/iw6x/data/ui_scripts/main_menu/__init__.lua b/launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/main_menu/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/ui_scripts/main_menu/__init__.lua
rename to launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/main_menu/__init__.lua
diff --git a/localappdata/xlabs/data/iw6x/data/ui_scripts/server_filter/__init__.lua b/launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/server_filter/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/ui_scripts/server_filter/__init__.lua
rename to launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/server_filter/__init__.lua
diff --git a/localappdata/xlabs/data/iw6x/data/ui_scripts/server_list/__init__.lua b/launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/server_list/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/ui_scripts/server_list/__init__.lua
rename to launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/server_list/__init__.lua
diff --git a/localappdata/xlabs/data/iw6x/data/ui_scripts/stats/__init__.lua b/launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/stats/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/ui_scripts/stats/__init__.lua
rename to launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/stats/__init__.lua
diff --git a/localappdata/xlabs/data/iw6x/data/ui_scripts/team_select/__init__.lua b/launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/team_select/__init__.lua
similarity index 100%
rename from localappdata/xlabs/data/iw6x/data/ui_scripts/team_select/__init__.lua
rename to launcher/localappdata/xlabs/data/iw6x/data/ui_scripts/team_select/__init__.lua
diff --git a/localappdata/xlabs/data/iw6x/iw6x.exe b/launcher/localappdata/xlabs/data/iw6x/iw6x.exe
similarity index 100%
rename from localappdata/xlabs/data/iw6x/iw6x.exe
rename to launcher/localappdata/xlabs/data/iw6x/iw6x.exe
diff --git a/localappdata/xlabs/data/launcher-ui/css/main.css b/launcher/localappdata/xlabs/data/launcher-ui/css/main.css
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/css/main.css
rename to launcher/localappdata/xlabs/data/launcher-ui/css/main.css
diff --git a/localappdata/xlabs/data/launcher-ui/img/cog.png b/launcher/localappdata/xlabs/data/launcher-ui/img/cog.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/cog.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/cog.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/iw4x-mp.png b/launcher/localappdata/xlabs/data/launcher-ui/img/iw4x-mp.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/iw4x-mp.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/iw4x-mp.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/iw4x-sp.png b/launcher/localappdata/xlabs/data/launcher-ui/img/iw4x-sp.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/iw4x-sp.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/iw4x-sp.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/iw4x.png b/launcher/localappdata/xlabs/data/launcher-ui/img/iw4x.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/iw4x.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/iw4x.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/iw6x-mp.png b/launcher/localappdata/xlabs/data/launcher-ui/img/iw6x-mp.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/iw6x-mp.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/iw6x-mp.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/iw6x-sp.png b/launcher/localappdata/xlabs/data/launcher-ui/img/iw6x-sp.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/iw6x-sp.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/iw6x-sp.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/iw6x.png b/launcher/localappdata/xlabs/data/launcher-ui/img/iw6x.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/iw6x.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/iw6x.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/s1x-mp.png b/launcher/localappdata/xlabs/data/launcher-ui/img/s1x-mp.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/s1x-mp.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/s1x-mp.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/s1x-sp.png b/launcher/localappdata/xlabs/data/launcher-ui/img/s1x-sp.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/s1x-sp.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/s1x-sp.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/s1x-survival.png b/launcher/localappdata/xlabs/data/launcher-ui/img/s1x-survival.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/s1x-survival.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/s1x-survival.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/s1x-zm.png b/launcher/localappdata/xlabs/data/launcher-ui/img/s1x-zm.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/s1x-zm.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/s1x-zm.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/s1x.png b/launcher/localappdata/xlabs/data/launcher-ui/img/s1x.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/s1x.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/s1x.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/splash-1.png b/launcher/localappdata/xlabs/data/launcher-ui/img/splash-1.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/splash-1.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/splash-1.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/splash-2.png b/launcher/localappdata/xlabs/data/launcher-ui/img/splash-2.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/splash-2.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/splash-2.png
diff --git a/localappdata/xlabs/data/launcher-ui/img/xlabs.png b/launcher/localappdata/xlabs/data/launcher-ui/img/xlabs.png
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/img/xlabs.png
rename to launcher/localappdata/xlabs/data/launcher-ui/img/xlabs.png
diff --git a/localappdata/xlabs/data/launcher-ui/js/command.js b/launcher/localappdata/xlabs/data/launcher-ui/js/command.js
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/js/command.js
rename to launcher/localappdata/xlabs/data/launcher-ui/js/command.js
diff --git a/localappdata/xlabs/data/launcher-ui/js/main.js b/launcher/localappdata/xlabs/data/launcher-ui/js/main.js
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/js/main.js
rename to launcher/localappdata/xlabs/data/launcher-ui/js/main.js
diff --git a/localappdata/xlabs/data/launcher-ui/js/message-box.js b/launcher/localappdata/xlabs/data/launcher-ui/js/message-box.js
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/js/message-box.js
rename to launcher/localappdata/xlabs/data/launcher-ui/js/message-box.js
diff --git a/localappdata/xlabs/data/launcher-ui/main.html b/launcher/localappdata/xlabs/data/launcher-ui/main.html
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/main.html
rename to launcher/localappdata/xlabs/data/launcher-ui/main.html
diff --git a/localappdata/xlabs/data/launcher-ui/pages/home.html b/launcher/localappdata/xlabs/data/launcher-ui/pages/home.html
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/pages/home.html
rename to launcher/localappdata/xlabs/data/launcher-ui/pages/home.html
diff --git a/localappdata/xlabs/data/launcher-ui/pages/iw4x.html b/launcher/localappdata/xlabs/data/launcher-ui/pages/iw4x.html
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/pages/iw4x.html
rename to launcher/localappdata/xlabs/data/launcher-ui/pages/iw4x.html
diff --git a/localappdata/xlabs/data/launcher-ui/pages/iw6x.html b/launcher/localappdata/xlabs/data/launcher-ui/pages/iw6x.html
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/pages/iw6x.html
rename to launcher/localappdata/xlabs/data/launcher-ui/pages/iw6x.html
diff --git a/localappdata/xlabs/data/launcher-ui/pages/s1x.html b/launcher/localappdata/xlabs/data/launcher-ui/pages/s1x.html
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/pages/s1x.html
rename to launcher/localappdata/xlabs/data/launcher-ui/pages/s1x.html
diff --git a/localappdata/xlabs/data/launcher-ui/pages/settings.html b/launcher/localappdata/xlabs/data/launcher-ui/pages/settings.html
similarity index 100%
rename from localappdata/xlabs/data/launcher-ui/pages/settings.html
rename to launcher/localappdata/xlabs/data/launcher-ui/pages/settings.html
diff --git a/s1x/data/dw/entitlement_config.info b/launcher/localappdata/xlabs/data/s1x/data/dw/entitlement_config.info
similarity index 100%
rename from s1x/data/dw/entitlement_config.info
rename to launcher/localappdata/xlabs/data/s1x/data/dw/entitlement_config.info
diff --git a/s1x/data/dw/ffotd-1.22.1.ff b/launcher/localappdata/xlabs/data/s1x/data/dw/ffotd-1.22.1.ff
similarity index 100%
rename from s1x/data/dw/ffotd-1.22.1.ff
rename to launcher/localappdata/xlabs/data/s1x/data/dw/ffotd-1.22.1.ff
diff --git a/s1x/data/dw/lootConfig_tu22.csv b/launcher/localappdata/xlabs/data/s1x/data/dw/lootConfig_tu22.csv
similarity index 100%
rename from s1x/data/dw/lootConfig_tu22.csv
rename to launcher/localappdata/xlabs/data/s1x/data/dw/lootConfig_tu22.csv
diff --git a/s1x/data/dw/mm.cfg b/launcher/localappdata/xlabs/data/s1x/data/dw/mm.cfg
similarity index 100%
rename from s1x/data/dw/mm.cfg
rename to launcher/localappdata/xlabs/data/s1x/data/dw/mm.cfg
diff --git a/s1x/data/dw/playlists_tu22.aggr b/launcher/localappdata/xlabs/data/s1x/data/dw/playlists_tu22.aggr
similarity index 100%
rename from s1x/data/dw/playlists_tu22.aggr
rename to launcher/localappdata/xlabs/data/s1x/data/dw/playlists_tu22.aggr
diff --git a/s1x/data/dw/social_tu22.cfg b/launcher/localappdata/xlabs/data/s1x/data/dw/social_tu22.cfg
similarity index 100%
rename from s1x/data/dw/social_tu22.cfg
rename to launcher/localappdata/xlabs/data/s1x/data/dw/social_tu22.cfg
diff --git a/s1x/data/dw/winStoreConfig_tu22.csv b/launcher/localappdata/xlabs/data/s1x/data/dw/winStoreConfig_tu22.csv
similarity index 100%
rename from s1x/data/dw/winStoreConfig_tu22.csv
rename to launcher/localappdata/xlabs/data/s1x/data/dw/winStoreConfig_tu22.csv
diff --git a/s1x/data/maps/mp/gametypes/_damage.gsc b/launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_damage.gsc
similarity index 100%
rename from s1x/data/maps/mp/gametypes/_damage.gsc
rename to launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_damage.gsc
diff --git a/s1x/data/maps/mp/gametypes/_gamelogic.gsc b/launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_gamelogic.gsc
similarity index 100%
rename from s1x/data/maps/mp/gametypes/_gamelogic.gsc
rename to launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_gamelogic.gsc
diff --git a/s1x/data/maps/mp/gametypes/_playerlogic.gsc b/launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_playerlogic.gsc
similarity index 100%
rename from s1x/data/maps/mp/gametypes/_playerlogic.gsc
rename to launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/_playerlogic.gsc
diff --git a/s1x/data/maps/mp/gametypes/gun.gsc b/launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/gun.gsc
similarity index 100%
rename from s1x/data/maps/mp/gametypes/gun.gsc
rename to launcher/localappdata/xlabs/data/s1x/data/maps/mp/gametypes/gun.gsc
diff --git a/s1x/data/scripts/_team_balance.gsc b/launcher/localappdata/xlabs/data/s1x/data/scripts/_team_balance.gsc
similarity index 100%
rename from s1x/data/scripts/_team_balance.gsc
rename to launcher/localappdata/xlabs/data/s1x/data/scripts/_team_balance.gsc
diff --git a/s1x/data/ui_scripts/hud_info/__init__.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/__init__.lua
similarity index 100%
rename from s1x/data/ui_scripts/hud_info/__init__.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/__init__.lua
diff --git a/s1x/data/ui_scripts/hud_info/hud.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/hud.lua
similarity index 100%
rename from s1x/data/ui_scripts/hud_info/hud.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/hud.lua
diff --git a/s1x/data/ui_scripts/hud_info/settings.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/settings.lua
similarity index 100%
rename from s1x/data/ui_scripts/hud_info/settings.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/hud_info/settings.lua
diff --git a/s1x/data/ui_scripts/patches/__init__.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/patches/__init__.lua
similarity index 100%
rename from s1x/data/ui_scripts/patches/__init__.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/patches/__init__.lua
diff --git a/s1x/data/ui_scripts/scoreboard/__init__.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/scoreboard/__init__.lua
similarity index 100%
rename from s1x/data/ui_scripts/scoreboard/__init__.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/scoreboard/__init__.lua
diff --git a/s1x/data/ui_scripts/server_list/__init__.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/__init__.lua
similarity index 100%
rename from s1x/data/ui_scripts/server_list/__init__.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/__init__.lua
diff --git a/s1x/data/ui_scripts/server_list/lobby.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/lobby.lua
similarity index 100%
rename from s1x/data/ui_scripts/server_list/lobby.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/lobby.lua
diff --git a/s1x/data/ui_scripts/server_list/serverlist.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/serverlist.lua
similarity index 100%
rename from s1x/data/ui_scripts/server_list/serverlist.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/server_list/serverlist.lua
diff --git a/s1x/data/ui_scripts/stats/__init__.lua b/launcher/localappdata/xlabs/data/s1x/data/ui_scripts/stats/__init__.lua
similarity index 100%
rename from s1x/data/ui_scripts/stats/__init__.lua
rename to launcher/localappdata/xlabs/data/s1x/data/ui_scripts/stats/__init__.lua
diff --git a/s1x/s1x.exe b/launcher/localappdata/xlabs/data/s1x/s1x.exe
similarity index 100%
rename from s1x/s1x.exe
rename to launcher/localappdata/xlabs/data/s1x/s1x.exe
diff --git a/localappdata/xlabs/user/properties.json b/launcher/localappdata/xlabs/user/properties.json
similarity index 100%
rename from localappdata/xlabs/user/properties.json
rename to launcher/localappdata/xlabs/user/properties.json
diff --git a/website/.git_origin/FETCH_HEAD b/website/.git_origin/FETCH_HEAD
deleted file mode 100644
index 7966df4..0000000
--- a/website/.git_origin/FETCH_HEAD
+++ /dev/null
@@ -1,4 +0,0 @@
-f7acfb1ae8d12039e3b7c0b453a60b3ef7f796bb branch 'master' of https://github.com/Rackover/XLabsProject.github.io
-09f1d8e3c9d3bec42ee542a197e9f4f0c8f203b7 not-for-merge branch 'patch-1' of https://github.com/Rackover/XLabsProject.github.io
-fb9aa4f87fba6f6125e3eddea8527212e9cde6f9 not-for-merge branch 'patch-2' of https://github.com/Rackover/XLabsProject.github.io
-c7d9a0b296511aee8e2f5fe279f7a227a8318ded not-for-merge branch 'patch-3' of https://github.com/Rackover/XLabsProject.github.io
diff --git a/website/.git_origin/HEAD b/website/.git_origin/HEAD
deleted file mode 100644
index b870d82..0000000
--- a/website/.git_origin/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-ref: refs/heads/main
diff --git a/website/.git_origin/ORIG_HEAD b/website/.git_origin/ORIG_HEAD
deleted file mode 100644
index a4a021f..0000000
--- a/website/.git_origin/ORIG_HEAD
+++ /dev/null
@@ -1 +0,0 @@
-f7acfb1ae8d12039e3b7c0b453a60b3ef7f796bb
diff --git a/website/.git_origin/config b/website/.git_origin/config
deleted file mode 100644
index 87e573b..0000000
--- a/website/.git_origin/config
+++ /dev/null
@@ -1,13 +0,0 @@
-[core]
- repositoryformatversion = 0
- filemode = false
- bare = false
- logallrefupdates = true
- symlinks = false
- ignorecase = true
-[remote "origin"]
- url = https://github.com/Rackover/XLabsProject.github.io.git
- fetch = +refs/heads/*:refs/remotes/origin/*
-[branch "main"]
- remote = origin
- merge = refs/heads/master
diff --git a/website/.git_origin/description b/website/.git_origin/description
deleted file mode 100644
index 498b267..0000000
--- a/website/.git_origin/description
+++ /dev/null
@@ -1 +0,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
diff --git a/website/.git_origin/hooks/applypatch-msg.sample b/website/.git_origin/hooks/applypatch-msg.sample
deleted file mode 100644
index a5d7b84..0000000
--- a/website/.git_origin/hooks/applypatch-msg.sample
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message taken by
-# applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit. The hook is
-# allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "applypatch-msg".
-
-. git-sh-setup
-commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
-test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
-:
diff --git a/website/.git_origin/hooks/commit-msg.sample b/website/.git_origin/hooks/commit-msg.sample
deleted file mode 100644
index b58d118..0000000
--- a/website/.git_origin/hooks/commit-msg.sample
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message.
-# Called by "git commit" with one argument, the name of the file
-# that has the commit message. The hook should exit with non-zero
-# status after issuing an appropriate message if it wants to stop the
-# commit. The hook is allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "commit-msg".
-
-# Uncomment the below to add a Signed-off-by line to the message.
-# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
-# hook is more suited to it.
-#
-# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
-
-# This example catches duplicate Signed-off-by lines.
-
-test "" = "$(grep '^Signed-off-by: ' "$1" |
- sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
- echo >&2 Duplicate Signed-off-by lines.
- exit 1
-}
diff --git a/website/.git_origin/hooks/fsmonitor-watchman.sample b/website/.git_origin/hooks/fsmonitor-watchman.sample
deleted file mode 100644
index 14ed0aa..0000000
--- a/website/.git_origin/hooks/fsmonitor-watchman.sample
+++ /dev/null
@@ -1,173 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-use IPC::Open2;
-
-# An example hook script to integrate Watchman
-# (https://facebook.github.io/watchman/) with git to speed up detecting
-# new and modified files.
-#
-# The hook is passed a version (currently 2) and last update token
-# formatted as a string and outputs to stdout a new update token and
-# all files that have been modified since the update token. Paths must
-# be relative to the root of the working tree and separated by a single NUL.
-#
-# To enable this hook, rename this file to "query-watchman" and set
-# 'git config core.fsmonitor .git/hooks/query-watchman'
-#
-my ($version, $last_update_token) = @ARGV;
-
-# Uncomment for debugging
-# print STDERR "$0 $version $last_update_token\n";
-
-# Check the hook interface version
-if ($version ne 2) {
- die "Unsupported query-fsmonitor hook version '$version'.\n" .
- "Falling back to scanning...\n";
-}
-
-my $git_work_tree = get_working_dir();
-
-my $retry = 1;
-
-my $json_pkg;
-eval {
- require JSON::XS;
- $json_pkg = "JSON::XS";
- 1;
-} or do {
- require JSON::PP;
- $json_pkg = "JSON::PP";
-};
-
-launch_watchman();
-
-sub launch_watchman {
- my $o = watchman_query();
- if (is_work_tree_watched($o)) {
- output_result($o->{clock}, @{$o->{files}});
- }
-}
-
-sub output_result {
- my ($clockid, @files) = @_;
-
- # Uncomment for debugging watchman output
- # open (my $fh, ">", ".git/watchman-output.out");
- # binmode $fh, ":utf8";
- # print $fh "$clockid\n@files\n";
- # close $fh;
-
- binmode STDOUT, ":utf8";
- print $clockid;
- print "\0";
- local $, = "\0";
- print @files;
-}
-
-sub watchman_clock {
- my $response = qx/watchman clock "$git_work_tree"/;
- die "Failed to get clock id on '$git_work_tree'.\n" .
- "Falling back to scanning...\n" if $? != 0;
-
- return $json_pkg->new->utf8->decode($response);
-}
-
-sub watchman_query {
- my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
- or die "open2() failed: $!\n" .
- "Falling back to scanning...\n";
-
- # In the query expression below we're asking for names of files that
- # changed since $last_update_token but not from the .git folder.
- #
- # To accomplish this, we're using the "since" generator to use the
- # recency index to select candidate nodes and "fields" to limit the
- # output to file names only. Then we're using the "expression" term to
- # further constrain the results.
- if (substr($last_update_token, 0, 1) eq "c") {
- $last_update_token = "\"$last_update_token\"";
- }
- my $query = <<" END";
- ["query", "$git_work_tree", {
- "since": $last_update_token,
- "fields": ["name"],
- "expression": ["not", ["dirname", ".git"]]
- }]
- END
-
- # Uncomment for debugging the watchman query
- # open (my $fh, ">", ".git/watchman-query.json");
- # print $fh $query;
- # close $fh;
-
- print CHLD_IN $query;
- close CHLD_IN;
- my $response = do {local $/; };
-
- # Uncomment for debugging the watch response
- # open ($fh, ">", ".git/watchman-response.json");
- # print $fh $response;
- # close $fh;
-
- die "Watchman: command returned no output.\n" .
- "Falling back to scanning...\n" if $response eq "";
- die "Watchman: command returned invalid output: $response\n" .
- "Falling back to scanning...\n" unless $response =~ /^\{/;
-
- return $json_pkg->new->utf8->decode($response);
-}
-
-sub is_work_tree_watched {
- my ($output) = @_;
- my $error = $output->{error};
- if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
- $retry--;
- my $response = qx/watchman watch "$git_work_tree"/;
- die "Failed to make watchman watch '$git_work_tree'.\n" .
- "Falling back to scanning...\n" if $? != 0;
- $output = $json_pkg->new->utf8->decode($response);
- $error = $output->{error};
- die "Watchman: $error.\n" .
- "Falling back to scanning...\n" if $error;
-
- # Uncomment for debugging watchman output
- # open (my $fh, ">", ".git/watchman-output.out");
- # close $fh;
-
- # Watchman will always return all files on the first query so
- # return the fast "everything is dirty" flag to git and do the
- # Watchman query just to get it over with now so we won't pay
- # the cost in git to look up each individual file.
- my $o = watchman_clock();
- $error = $output->{error};
-
- die "Watchman: $error.\n" .
- "Falling back to scanning...\n" if $error;
-
- output_result($o->{clock}, ("/"));
- $last_update_token = $o->{clock};
-
- eval { launch_watchman() };
- return 0;
- }
-
- die "Watchman: $error.\n" .
- "Falling back to scanning...\n" if $error;
-
- return 1;
-}
-
-sub get_working_dir {
- my $working_dir;
- if ($^O =~ 'msys' || $^O =~ 'cygwin') {
- $working_dir = Win32::GetCwd();
- $working_dir =~ tr/\\/\//;
- } else {
- require Cwd;
- $working_dir = Cwd::cwd();
- }
-
- return $working_dir;
-}
diff --git a/website/.git_origin/hooks/post-update.sample b/website/.git_origin/hooks/post-update.sample
deleted file mode 100644
index ec17ec1..0000000
--- a/website/.git_origin/hooks/post-update.sample
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare a packed repository for use over
-# dumb transports.
-#
-# To enable this hook, rename this file to "post-update".
-
-exec git update-server-info
diff --git a/website/.git_origin/hooks/pre-applypatch.sample b/website/.git_origin/hooks/pre-applypatch.sample
deleted file mode 100644
index 4142082..0000000
--- a/website/.git_origin/hooks/pre-applypatch.sample
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed
-# by applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-applypatch".
-
-. git-sh-setup
-precommit="$(git rev-parse --git-path hooks/pre-commit)"
-test -x "$precommit" && exec "$precommit" ${1+"$@"}
-:
diff --git a/website/.git_origin/hooks/pre-commit.sample b/website/.git_origin/hooks/pre-commit.sample
deleted file mode 100644
index e144712..0000000
--- a/website/.git_origin/hooks/pre-commit.sample
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git commit" with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message if
-# it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-commit".
-
-if git rev-parse --verify HEAD >/dev/null 2>&1
-then
- against=HEAD
-else
- # Initial commit: diff against an empty tree object
- against=$(git hash-object -t tree /dev/null)
-fi
-
-# If you want to allow non-ASCII filenames set this variable to true.
-allownonascii=$(git config --type=bool hooks.allownonascii)
-
-# Redirect output to stderr.
-exec 1>&2
-
-# Cross platform projects tend to avoid non-ASCII filenames; prevent
-# them from being added to the repository. We exploit the fact that the
-# printable range starts at the space character and ends with tilde.
-if [ "$allownonascii" != "true" ] &&
- # Note that the use of brackets around a tr range is ok here, (it's
- # even required, for portability to Solaris 10's /usr/bin/tr), since
- # the square bracket bytes happen to fall in the designated range.
- test $(git diff --cached --name-only --diff-filter=A -z $against |
- LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
-then
- cat <<\EOF
-Error: Attempt to add a non-ASCII file name.
-
-This can cause problems if you want to work with people on other platforms.
-
-To be portable it is advisable to rename the file.
-
-If you know what you are doing you can disable this check using:
-
- git config hooks.allownonascii true
-EOF
- exit 1
-fi
-
-# If there are whitespace errors, print the offending file names and fail.
-exec git diff-index --check --cached $against --
diff --git a/website/.git_origin/hooks/pre-merge-commit.sample b/website/.git_origin/hooks/pre-merge-commit.sample
deleted file mode 100644
index 399eab1..0000000
--- a/website/.git_origin/hooks/pre-merge-commit.sample
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git merge" with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message to
-# stderr if it wants to stop the merge commit.
-#
-# To enable this hook, rename this file to "pre-merge-commit".
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/pre-commit" &&
- exec "$GIT_DIR/hooks/pre-commit"
-:
diff --git a/website/.git_origin/hooks/pre-push.sample b/website/.git_origin/hooks/pre-push.sample
deleted file mode 100644
index 4ce688d..0000000
--- a/website/.git_origin/hooks/pre-push.sample
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-# An example hook script to verify what is about to be pushed. Called by "git
-# push" after it has checked the remote status, but before anything has been
-# pushed. If this script exits with a non-zero status nothing will be pushed.
-#
-# This hook is called with the following parameters:
-#
-# $1 -- Name of the remote to which the push is being done
-# $2 -- URL to which the push is being done
-#
-# If pushing without using a named remote those arguments will be equal.
-#
-# Information about the commits which are being pushed is supplied as lines to
-# the standard input in the form:
-#
-#
-#
-# This sample shows how to prevent push of commits where the log message starts
-# with "WIP" (work in progress).
-
-remote="$1"
-url="$2"
-
-zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing"
- exit 1
- fi
- fi
-done
-
-exit 0
diff --git a/website/.git_origin/hooks/pre-rebase.sample b/website/.git_origin/hooks/pre-rebase.sample
deleted file mode 100644
index 6cbef5c..0000000
--- a/website/.git_origin/hooks/pre-rebase.sample
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2006, 2008 Junio C Hamano
-#
-# The "pre-rebase" hook is run just before "git rebase" starts doing
-# its job, and can prevent the command from running by exiting with
-# non-zero status.
-#
-# The hook is called with the following parameters:
-#
-# $1 -- the upstream the series was forked from.
-# $2 -- the branch being rebased (or empty when rebasing the current branch).
-#
-# This sample shows how to prevent topic branches that are already
-# merged to 'next' branch from getting rebased, because allowing it
-# would result in rebasing already published history.
-
-publish=next
-basebranch="$1"
-if test "$#" = 2
-then
- topic="refs/heads/$2"
-else
- topic=`git symbolic-ref HEAD` ||
- exit 0 ;# we do not interrupt rebasing detached HEAD
-fi
-
-case "$topic" in
-refs/heads/??/*)
- ;;
-*)
- exit 0 ;# we do not interrupt others.
- ;;
-esac
-
-# Now we are dealing with a topic branch being rebased
-# on top of master. Is it OK to rebase it?
-
-# Does the topic really exist?
-git show-ref -q "$topic" || {
- echo >&2 "No such branch $topic"
- exit 1
-}
-
-# Is topic fully merged to master?
-not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
-if test -z "$not_in_master"
-then
- echo >&2 "$topic is fully merged to master; better remove it."
- exit 1 ;# we could allow it, but there is no point.
-fi
-
-# Is topic ever merged to next? If so you should not be rebasing it.
-only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
-only_next_2=`git rev-list ^master ${publish} | sort`
-if test "$only_next_1" = "$only_next_2"
-then
- not_in_topic=`git rev-list "^$topic" master`
- if test -z "$not_in_topic"
- then
- echo >&2 "$topic is already up to date with master"
- exit 1 ;# we could allow it, but there is no point.
- else
- exit 0
- fi
-else
- not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
- /usr/bin/perl -e '
- my $topic = $ARGV[0];
- my $msg = "* $topic has commits already merged to public branch:\n";
- my (%not_in_next) = map {
- /^([0-9a-f]+) /;
- ($1 => 1);
- } split(/\n/, $ARGV[1]);
- for my $elem (map {
- /^([0-9a-f]+) (.*)$/;
- [$1 => $2];
- } split(/\n/, $ARGV[2])) {
- if (!exists $not_in_next{$elem->[0]}) {
- if ($msg) {
- print STDERR $msg;
- undef $msg;
- }
- print STDERR " $elem->[1]\n";
- }
- }
- ' "$topic" "$not_in_next" "$not_in_master"
- exit 1
-fi
-
-<<\DOC_END
-
-This sample hook safeguards topic branches that have been
-published from being rewound.
-
-The workflow assumed here is:
-
- * Once a topic branch forks from "master", "master" is never
- merged into it again (either directly or indirectly).
-
- * Once a topic branch is fully cooked and merged into "master",
- it is deleted. If you need to build on top of it to correct
- earlier mistakes, a new topic branch is created by forking at
- the tip of the "master". This is not strictly necessary, but
- it makes it easier to keep your history simple.
-
- * Whenever you need to test or publish your changes to topic
- branches, merge them into "next" branch.
-
-The script, being an example, hardcodes the publish branch name
-to be "next", but it is trivial to make it configurable via
-$GIT_DIR/config mechanism.
-
-With this workflow, you would want to know:
-
-(1) ... if a topic branch has ever been merged to "next". Young
- topic branches can have stupid mistakes you would rather
- clean up before publishing, and things that have not been
- merged into other branches can be easily rebased without
- affecting other people. But once it is published, you would
- not want to rewind it.
-
-(2) ... if a topic branch has been fully merged to "master".
- Then you can delete it. More importantly, you should not
- build on top of it -- other people may already want to
- change things related to the topic as patches against your
- "master", so if you need further changes, it is better to
- fork the topic (perhaps with the same name) afresh from the
- tip of "master".
-
-Let's look at this example:
-
- o---o---o---o---o---o---o---o---o---o "next"
- / / / /
- / a---a---b A / /
- / / / /
- / / c---c---c---c B /
- / / / \ /
- / / / b---b C \ /
- / / / / \ /
- ---o---o---o---o---o---o---o---o---o---o---o "master"
-
-
-A, B and C are topic branches.
-
- * A has one fix since it was merged up to "next".
-
- * B has finished. It has been fully merged up to "master" and "next",
- and is ready to be deleted.
-
- * C has not merged to "next" at all.
-
-We would want to allow C to be rebased, refuse A, and encourage
-B to be deleted.
-
-To compute (1):
-
- git rev-list ^master ^topic next
- git rev-list ^master next
-
- if these match, topic has not merged in next at all.
-
-To compute (2):
-
- git rev-list master..topic
-
- if this is empty, it is fully merged to "master".
-
-DOC_END
diff --git a/website/.git_origin/hooks/pre-receive.sample b/website/.git_origin/hooks/pre-receive.sample
deleted file mode 100644
index a1fd29e..0000000
--- a/website/.git_origin/hooks/pre-receive.sample
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to make use of push options.
-# The example simply echoes all push options that start with 'echoback='
-# and rejects all pushes when the "reject" push option is used.
-#
-# To enable this hook, rename this file to "pre-receive".
-
-if test -n "$GIT_PUSH_OPTION_COUNT"
-then
- i=0
- while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
- do
- eval "value=\$GIT_PUSH_OPTION_$i"
- case "$value" in
- echoback=*)
- echo "echo from the pre-receive-hook: ${value#*=}" >&2
- ;;
- reject)
- exit 1
- esac
- i=$((i + 1))
- done
-fi
diff --git a/website/.git_origin/hooks/prepare-commit-msg.sample b/website/.git_origin/hooks/prepare-commit-msg.sample
deleted file mode 100644
index 10fa14c..0000000
--- a/website/.git_origin/hooks/prepare-commit-msg.sample
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare the commit log message.
-# Called by "git commit" with the name of the file that has the
-# commit message, followed by the description of the commit
-# message's source. The hook's purpose is to edit the commit
-# message file. If the hook fails with a non-zero status,
-# the commit is aborted.
-#
-# To enable this hook, rename this file to "prepare-commit-msg".
-
-# This hook includes three examples. The first one removes the
-# "# Please enter the commit message..." help message.
-#
-# The second includes the output of "git diff --name-status -r"
-# into the message, just before the "git status" output. It is
-# commented because it doesn't cope with --amend or with squashed
-# commits.
-#
-# The third example adds a Signed-off-by line to the message, that can
-# still be edited. This is rarely a good idea.
-
-COMMIT_MSG_FILE=$1
-COMMIT_SOURCE=$2
-SHA1=$3
-
-/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
-
-# case "$COMMIT_SOURCE,$SHA1" in
-# ,|template,)
-# /usr/bin/perl -i.bak -pe '
-# print "\n" . `git diff --cached --name-status -r`
-# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
-# *) ;;
-# esac
-
-# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
-# if test -z "$COMMIT_SOURCE"
-# then
-# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
-# fi
diff --git a/website/.git_origin/hooks/push-to-checkout.sample b/website/.git_origin/hooks/push-to-checkout.sample
deleted file mode 100644
index af5a0c0..0000000
--- a/website/.git_origin/hooks/push-to-checkout.sample
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/sh
-
-# An example hook script to update a checked-out tree on a git push.
-#
-# This hook is invoked by git-receive-pack(1) when it reacts to git
-# push and updates reference(s) in its repository, and when the push
-# tries to update the branch that is currently checked out and the
-# receive.denyCurrentBranch configuration variable is set to
-# updateInstead.
-#
-# By default, such a push is refused if the working tree and the index
-# of the remote repository has any difference from the currently
-# checked out commit; when both the working tree and the index match
-# the current commit, they are updated to match the newly pushed tip
-# of the branch. This hook is to be used to override the default
-# behaviour; however the code below reimplements the default behaviour
-# as a starting point for convenient modification.
-#
-# The hook receives the commit with which the tip of the current
-# branch is going to be updated:
-commit=$1
-
-# It can exit with a non-zero status to refuse the push (when it does
-# so, it must not modify the index or the working tree).
-die () {
- echo >&2 "$*"
- exit 1
-}
-
-# Or it can make any necessary changes to the working tree and to the
-# index to bring them to the desired state when the tip of the current
-# branch is updated to the new commit, and exit with a zero status.
-#
-# For example, the hook can simply run git read-tree -u -m HEAD "$1"
-# in order to emulate git fetch that is run in the reverse direction
-# with git push, as the two-tree form of git read-tree -u -m is
-# essentially the same as git switch or git checkout that switches
-# branches while keeping the local changes in the working tree that do
-# not interfere with the difference between the branches.
-
-# The below is a more-or-less exact translation to shell of the C code
-# for the default behaviour for git's push-to-checkout hook defined in
-# the push_to_deploy() function in builtin/receive-pack.c.
-#
-# Note that the hook will be executed from the repository directory,
-# not from the working tree, so if you want to perform operations on
-# the working tree, you will have to adapt your code accordingly, e.g.
-# by adding "cd .." or using relative paths.
-
-if ! git update-index -q --ignore-submodules --refresh
-then
- die "Up-to-date check failed"
-fi
-
-if ! git diff-files --quiet --ignore-submodules --
-then
- die "Working directory has unstaged changes"
-fi
-
-# This is a rough translation of:
-#
-# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
-if git cat-file -e HEAD 2>/dev/null
-then
- head=HEAD
-else
- head=$(git hash-object -t tree --stdin &2
- echo " (if you want, you could supply GIT_DIR then run" >&2
- echo " $0 [ )" >&2
- exit 1
-fi
-
-if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
- echo "usage: $0 ][ " >&2
- exit 1
-fi
-
-# --- Config
-allowunannotated=$(git config --type=bool hooks.allowunannotated)
-allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
-denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
-allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
-allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
-
-# check for no description
-projectdesc=$(sed -e '1q' "$GIT_DIR/description")
-case "$projectdesc" in
-"Unnamed repository"* | "")
- echo "*** Project description file hasn't been set" >&2
- exit 1
- ;;
-esac
-
-# --- Check types
-# if $newrev is 0000...0000, it's a commit to delete a ref.
-zero=$(git hash-object --stdin &2
- echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
- exit 1
- fi
- ;;
- refs/tags/*,delete)
- # delete tag
- if [ "$allowdeletetag" != "true" ]; then
- echo "*** Deleting a tag is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/tags/*,tag)
- # annotated tag
- if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
- then
- echo "*** Tag '$refname' already exists." >&2
- echo "*** Modifying a tag is not allowed in this repository." >&2
- exit 1
- fi
- ;;
- refs/heads/*,commit)
- # branch
- if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
- echo "*** Creating a branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/heads/*,delete)
- # delete branch
- if [ "$allowdeletebranch" != "true" ]; then
- echo "*** Deleting a branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/remotes/*,commit)
- # tracking branch
- ;;
- refs/remotes/*,delete)
- # delete tracking branch
- if [ "$allowdeletebranch" != "true" ]; then
- echo "*** Deleting a tracking branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- *)
- # Anything else (is there anything else?)
- echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
- exit 1
- ;;
-esac
-
-# --- Finished
-exit 0
diff --git a/website/.git_origin/index b/website/.git_origin/index
deleted file mode 100644
index e51c7f9..0000000
Binary files a/website/.git_origin/index and /dev/null differ
diff --git a/website/.git_origin/info/exclude b/website/.git_origin/info/exclude
deleted file mode 100644
index a5196d1..0000000
--- a/website/.git_origin/info/exclude
+++ /dev/null
@@ -1,6 +0,0 @@
-# git ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~
diff --git a/website/.git_origin/objects/pack/pack-8ca9f532106dd426e5cb6f8b52c246762099af9b.idx b/website/.git_origin/objects/pack/pack-8ca9f532106dd426e5cb6f8b52c246762099af9b.idx
deleted file mode 100644
index be46333..0000000
Binary files a/website/.git_origin/objects/pack/pack-8ca9f532106dd426e5cb6f8b52c246762099af9b.idx and /dev/null differ
diff --git a/website/.git_origin/objects/pack/pack-8ca9f532106dd426e5cb6f8b52c246762099af9b.pack b/website/.git_origin/objects/pack/pack-8ca9f532106dd426e5cb6f8b52c246762099af9b.pack
deleted file mode 100644
index dd71441..0000000
Binary files a/website/.git_origin/objects/pack/pack-8ca9f532106dd426e5cb6f8b52c246762099af9b.pack and /dev/null differ
diff --git a/website/.git_origin/packed-refs b/website/.git_origin/packed-refs
deleted file mode 100644
index 00b032c..0000000
--- a/website/.git_origin/packed-refs
+++ /dev/null
@@ -1,5 +0,0 @@
-# pack-refs with: peeled fully-peeled sorted
-f7acfb1ae8d12039e3b7c0b453a60b3ef7f796bb refs/remotes/origin/master
-09f1d8e3c9d3bec42ee542a197e9f4f0c8f203b7 refs/remotes/origin/patch-1
-fb9aa4f87fba6f6125e3eddea8527212e9cde6f9 refs/remotes/origin/patch-2
-c7d9a0b296511aee8e2f5fe279f7a227a8318ded refs/remotes/origin/patch-3
diff --git a/website/.git_origin/refs/heads/main b/website/.git_origin/refs/heads/main
deleted file mode 100644
index a4a021f..0000000
--- a/website/.git_origin/refs/heads/main
+++ /dev/null
@@ -1 +0,0 @@
-f7acfb1ae8d12039e3b7c0b453a60b3ef7f796bb
diff --git a/website/.git_origin/refs/remotes/origin/HEAD b/website/.git_origin/refs/remotes/origin/HEAD
deleted file mode 100644
index 6efe28f..0000000
--- a/website/.git_origin/refs/remotes/origin/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-ref: refs/remotes/origin/master
]