From d635fbc0c7fcc92e8a70ed1f040972040d8e01df Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Wed, 16 Jan 2019 17:43:50 +0100 Subject: [PATCH] Updated License/Copyright Info --- Source/Client/.kdev4/Client.kdev4 | 5 - Source/Globals.h | 32 +- Source/Math.h | 32 +- Source/Menu-FN/bitmaps.h | 6 +- Source/Menu-FN/colors.cpp | 6 +- Source/Menu-FN/defs.h | 6 +- Source/Menu-FN/entry.cpp | 6 +- Source/Menu-FN/m_addserver.cpp | 8 + Source/Menu-FN/m_advancedcontrols.cpp | 8 + Source/Menu-FN/m_advancedcustomize.cpp | 6 +- Source/Menu-FN/m_advancedmpoptions.cpp | 8 + Source/Menu-FN/m_audio.cpp | 6 +- Source/Menu-FN/m_chatrooms.cpp | 7 + Source/Menu-FN/m_configuration.cpp | 6 +- Source/Menu-FN/m_contentcontrol.cpp | 8 + Source/Menu-FN/m_controls.cpp | 6 +- Source/Menu-FN/m_creategame.cpp | 7 + Source/Menu-FN/m_creategame_inet.cpp | 7 + Source/Menu-FN/m_customgame.cpp | 8 + Source/Menu-FN/m_customize.cpp | 6 +- Source/Menu-FN/m_filter.cpp | 8 + Source/Menu-FN/m_internetgames.cpp | 6 +- Source/Menu-FN/m_intro.cpp | 6 +- Source/Menu-FN/m_langames.cpp | 6 +- Source/Menu-FN/m_loadgame.cpp | 8 + Source/Menu-FN/m_main.cpp | 6 +- Source/Menu-FN/m_multiplayer.cpp | 6 +- Source/Menu-FN/m_newgame.cpp | 6 +- Source/Menu-FN/m_spectategames.cpp | 8 + Source/Menu-FN/m_video.cpp | 6 +- Source/Menu-FN/m_videomodes.cpp | 6 +- Source/Menu-FN/m_videooptions.cpp | 6 +- Source/Menu-FN/m_viewgameinfo.cpp | 8 + Source/Menu-FN/m_viewreadme.cpp | 8 + Source/Menu-FN/master.cpp | 6 +- Source/Menu-FN/menu.cpp | 6 +- Source/Menu-FN/servers.cpp | 6 +- Source/Menu-FN/strings.cpp | 6 +- Source/Menu-FN/strings.h | 6 +- Source/Menu-FN/util.cpp | 8 + Source/Menu-FN/w_checkbox.cpp | 8 + Source/Menu-FN/w_colorlist.cpp | 8 +- Source/Menu-FN/w_combobox.cpp | 6 +- Source/Menu-FN/w_dialog.cpp | 6 +- Source/Menu-FN/w_frame.cpp | 6 +- Source/Menu-FN/w_header.cpp | 6 +- Source/Menu-FN/w_label.cpp | 6 +- Source/Menu-FN/w_listbox.cpp | 6 +- Source/Menu-FN/w_mainbutton.cpp | 6 +- Source/Menu-FN/w_modetab.cpp | 9 + Source/Menu-FN/w_pagetab.cpp | 9 + Source/Menu-FN/w_pictureswitch.cpp | 6 +- Source/Menu-FN/w_scrollbar.cpp | 6 +- Source/Menu-FN/w_servers.cpp | 6 +- Source/Menu-FN/w_slider.cpp | 6 +- Source/Menu-FN/w_textbox.cpp | 6 +- Source/Menu-FN/widgets.cpp | 6 +- Source/Menu/.kdev4/Menu.kdev4 | 5 - Source/Menu/Defs.h | 206 -------- Source/Menu/Draw.c | 72 --- Source/Menu/Header.c | 103 ---- Source/Menu/Init.c | 101 ---- Source/Menu/Input.c | 200 ------- Source/Menu/Makefile | 4 - Source/Menu/Menu.kdev4 | 4 - Source/Menu/MenuConfiguration.c | 486 ------------------ Source/Menu/MenuMain.c | 93 ---- Source/Menu/MenuMultiplayer.c | 458 ----------------- Source/Menu/Objects.c | 403 --------------- Source/Menu/progs.src | 18 - Source/Server/.kdev4/Server.kdev4 | 5 - Source/Server/Ammo.c | 32 +- Source/Server/Client.c | 32 +- Source/Server/Damage.c | 6 +- Source/Server/Defs.h | 32 +- Source/Server/DefsFields.h | 89 +--- Source/Server/Footsteps.c | 32 +- Source/Server/Input.c | 32 +- Source/Server/Main.c | 32 +- Source/Server/Money.c | 32 +- Source/Server/Player.c | 32 +- Source/Server/Rules.c | 32 +- Source/Server/Spawn.c | 32 +- Source/Server/Timer.c | 32 +- Source/Server/TraceAttack.c | 6 +- Source/Server/Vox.c | 32 +- Source/Server/armoury_entity.cpp | 8 +- Source/Server/func_bomb_target.cpp | 6 +- Source/Server/func_buyzone.cpp | 32 +- Source/Server/func_escapezone.cpp | 6 +- Source/Server/func_hostage_rescue.cpp | 6 +- Source/Server/func_vip_safetyzone.cpp | 6 +- Source/Server/hostage_entity.cpp | 6 +- Source/Server/info_hostage_rescue.cpp | 6 +- Source/Server/info_map_parameters.cpp | 6 +- Source/Shared/Animations.c | 32 +- Source/Shared/BaseGun.c | 32 +- Source/Shared/BaseMelee.c | 32 +- Source/Shared/Effects.c | 32 +- Source/Shared/Equipment.c | 32 +- Source/Shared/Radio.c | 32 +- Source/Shared/WeaponAK47.c | 32 +- Source/Shared/WeaponAUG.c | 32 +- Source/Shared/WeaponAWP.c | 32 +- Source/Shared/WeaponC4Bomb.c | 6 +- Source/Shared/WeaponDeagle.c | 32 +- Source/Shared/WeaponElites.c | 32 +- Source/Shared/WeaponFiveSeven.c | 32 +- Source/Shared/WeaponFlashbang.c | 32 +- Source/Shared/WeaponG3SG1.c | 32 +- Source/Shared/WeaponGlock18.c | 32 +- Source/Shared/WeaponHEGrenade.c | 31 +- Source/Shared/WeaponKnife.c | 32 +- Source/Shared/WeaponM3.c | 32 +- Source/Shared/WeaponM4A1.c | 31 +- Source/Shared/WeaponMP5.c | 32 +- Source/Shared/WeaponMac10.c | 32 +- Source/Shared/WeaponP228.c | 32 +- Source/Shared/WeaponP90.c | 32 +- Source/Shared/WeaponPara.c | 32 +- Source/Shared/WeaponSG550.c | 32 +- Source/Shared/WeaponSG552.c | 32 +- Source/Shared/WeaponScout.c | 32 +- Source/Shared/WeaponSmokeGrenade.c | 32 +- Source/Shared/WeaponTMP.c | 32 +- Source/Shared/WeaponUMP45.c | 32 +- Source/Shared/WeaponUSP45.c | 32 +- Source/Shared/WeaponXM1014.c | 32 +- Source/Shared/Weapons.c | 32 +- Source/Shared/pmove.c | 6 +- Source/Shared/spraylogo.cpp | 4 +- Source/gs-entbase/client/fade.cpp | 6 +- Source/gs-entbase/client/sprite.cpp | 6 +- Source/gs-entbase/client/text.cpp | 6 +- Source/gs-entbase/server/ambient_generic.cpp | 6 +- Source/gs-entbase/server/baseentity.cpp | 10 +- Source/gs-entbase/server/basetrigger.cpp | 6 +- Source/gs-entbase/server/cycler.cpp | 6 +- Source/gs-entbase/server/cycler_sprite.cpp | 6 +- Source/gs-entbase/server/defs.h | 6 +- Source/gs-entbase/server/env_beam.cpp | 6 +- Source/gs-entbase/server/env_beverage.cpp | 6 +- Source/gs-entbase/server/env_explosion.cpp | 6 +- Source/gs-entbase/server/env_fade.cpp | 6 +- Source/gs-entbase/server/env_global.cpp | 6 +- Source/gs-entbase/server/env_glow.cpp | 6 +- Source/gs-entbase/server/env_message.cpp | 6 +- Source/gs-entbase/server/env_render.cpp | 6 +- Source/gs-entbase/server/env_shake.cpp | 6 +- Source/gs-entbase/server/env_shooter.cpp | 6 +- Source/gs-entbase/server/env_spark.cpp | 6 +- Source/gs-entbase/server/env_sprite.cpp | 6 +- Source/gs-entbase/server/func_breakable.cpp | 6 +- Source/gs-entbase/server/func_button.cpp | 6 +- Source/gs-entbase/server/func_conveyor.cpp | 6 +- Source/gs-entbase/server/func_door.cpp | 6 +- .../gs-entbase/server/func_door_rotating.cpp | 6 +- .../gs-entbase/server/func_healthcharger.cpp | 6 +- Source/gs-entbase/server/func_illusionary.cpp | 6 +- Source/gs-entbase/server/func_ladder.cpp | 6 +- Source/gs-entbase/server/func_recharge.cpp | 6 +- Source/gs-entbase/server/func_rotating.cpp | 10 +- Source/gs-entbase/server/func_train.cpp | 6 +- Source/gs-entbase/server/func_wall.cpp | 6 +- Source/gs-entbase/server/func_wall_toggle.cpp | 6 +- Source/gs-entbase/server/game_text.cpp | 6 +- Source/gs-entbase/server/infodecal.cpp | 8 +- Source/gs-entbase/server/item_food.cpp | 6 +- Source/gs-entbase/server/item_suit.cpp | 6 +- Source/gs-entbase/server/light.cpp | 6 +- .../gs-entbase/server/monster_furniture.cpp | 6 +- Source/gs-entbase/server/monster_generic.cpp | 6 +- Source/gs-entbase/server/multi_manager.cpp | 6 +- Source/gs-entbase/server/multisource.cpp | 6 +- .../gs-entbase/server/scripted_sequence.cpp | 9 + Source/gs-entbase/server/stubs.cpp | 6 +- Source/gs-entbase/server/trigger_auto.cpp | 6 +- Source/gs-entbase/server/trigger_camera.cpp | 6 +- Source/gs-entbase/server/trigger_cdaudio.cpp | 6 +- .../gs-entbase/server/trigger_changelevel.cpp | 6 +- .../gs-entbase/server/trigger_endsection.cpp | 6 +- Source/gs-entbase/server/trigger_hurt.cpp | 6 +- Source/gs-entbase/server/trigger_multiple.cpp | 6 +- Source/gs-entbase/server/trigger_once.cpp | 6 +- Source/gs-entbase/server/trigger_push.cpp | 6 +- Source/gs-entbase/server/trigger_relay.cpp | 6 +- Source/gs-entbase/server/trigger_teleport.cpp | 6 +- .../gs-entbase/server/trigger_transition.cpp | 6 +- default.fmf | 2 +- fn/menu.dat | Bin 214002 -> 214018 bytes freecs/progs.dat | Bin 298434 -> 301742 bytes 191 files changed, 820 insertions(+), 3760 deletions(-) delete mode 100755 Source/Client/.kdev4/Client.kdev4 delete mode 100755 Source/Menu/.kdev4/Menu.kdev4 delete mode 100755 Source/Menu/Defs.h delete mode 100755 Source/Menu/Draw.c delete mode 100755 Source/Menu/Header.c delete mode 100755 Source/Menu/Init.c delete mode 100755 Source/Menu/Input.c delete mode 100755 Source/Menu/Makefile delete mode 100755 Source/Menu/Menu.kdev4 delete mode 100755 Source/Menu/MenuConfiguration.c delete mode 100755 Source/Menu/MenuMain.c delete mode 100755 Source/Menu/MenuMultiplayer.c delete mode 100755 Source/Menu/Objects.c delete mode 100755 Source/Menu/progs.src delete mode 100755 Source/Server/.kdev4/Server.kdev4 diff --git a/Source/Client/.kdev4/Client.kdev4 b/Source/Client/.kdev4/Client.kdev4 deleted file mode 100755 index 5219129b..00000000 --- a/Source/Client/.kdev4/Client.kdev4 +++ /dev/null @@ -1,5 +0,0 @@ -[Buildset] -BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x0c\x00C\x00l\x00i\x00e\x00n\x00t) - -[Project] -VersionControlSupport=kdevgit diff --git a/Source/Globals.h b/Source/Globals.h index 3b914373..f100e9c6 100755 --- a/Source/Globals.h +++ b/Source/Globals.h @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ #pragma target FTE //#pragma flag enable lo //enable short-circuiting diff --git a/Source/Math.h b/Source/Math.h index c43e8d0a..4fdfc878 100755 --- a/Source/Math.h +++ b/Source/Math.h @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ #define MATH_PI 3.1415926 diff --git a/Source/Menu-FN/bitmaps.h b/Source/Menu-FN/bitmaps.h index 5c4d2096..ef43f89f 100644 --- a/Source/Menu-FN/bitmaps.h +++ b/Source/Menu-FN/bitmaps.h @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/colors.cpp b/Source/Menu-FN/colors.cpp index c4b7e6ca..6cdeab29 100644 --- a/Source/Menu-FN/colors.cpp +++ b/Source/Menu-FN/colors.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/defs.h b/Source/Menu-FN/defs.h index 627773be..9ebecd2c 100644 --- a/Source/Menu-FN/defs.h +++ b/Source/Menu-FN/defs.h @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/entry.cpp b/Source/Menu-FN/entry.cpp index 16dbf1b0..c50c297d 100644 --- a/Source/Menu-FN/entry.cpp +++ b/Source/Menu-FN/entry.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_addserver.cpp b/Source/Menu-FN/m_addserver.cpp index 0a17c25f..346b899b 100644 --- a/Source/Menu-FN/m_addserver.cpp +++ b/Source/Menu-FN/m_addserver.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_addserver_init(void) { } diff --git a/Source/Menu-FN/m_advancedcontrols.cpp b/Source/Menu-FN/m_advancedcontrols.cpp index 2ebc0862..5ea3f7a7 100644 --- a/Source/Menu-FN/m_advancedcontrols.cpp +++ b/Source/Menu-FN/m_advancedcontrols.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_advancedcontrols_init(void) { } diff --git a/Source/Menu-FN/m_advancedcustomize.cpp b/Source/Menu-FN/m_advancedcustomize.cpp index badd3c6f..e969f712 100644 --- a/Source/Menu-FN/m_advancedcustomize.cpp +++ b/Source/Menu-FN/m_advancedcustomize.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_advancedmpoptions.cpp b/Source/Menu-FN/m_advancedmpoptions.cpp index a52d1a3a..62163ef0 100644 --- a/Source/Menu-FN/m_advancedmpoptions.cpp +++ b/Source/Menu-FN/m_advancedmpoptions.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_advancedmpoptions_init(void) { } diff --git a/Source/Menu-FN/m_audio.cpp b/Source/Menu-FN/m_audio.cpp index a52dd5c5..8c217218 100644 --- a/Source/Menu-FN/m_audio.cpp +++ b/Source/Menu-FN/m_audio.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_chatrooms.cpp b/Source/Menu-FN/m_chatrooms.cpp index 09ba86d7..4f7c2ab6 100644 --- a/Source/Menu-FN/m_chatrooms.cpp +++ b/Source/Menu-FN/m_chatrooms.cpp @@ -1,3 +1,10 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ CWidget fn_chatrooms; CMainButton cr_btnJoin; diff --git a/Source/Menu-FN/m_configuration.cpp b/Source/Menu-FN/m_configuration.cpp index 081f54b2..3920cee8 100644 --- a/Source/Menu-FN/m_configuration.cpp +++ b/Source/Menu-FN/m_configuration.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_contentcontrol.cpp b/Source/Menu-FN/m_contentcontrol.cpp index eaf9983e..f47a8ff4 100644 --- a/Source/Menu-FN/m_contentcontrol.cpp +++ b/Source/Menu-FN/m_contentcontrol.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_contentcontrol_init(void) { } diff --git a/Source/Menu-FN/m_controls.cpp b/Source/Menu-FN/m_controls.cpp index 2fce721d..497e50cc 100644 --- a/Source/Menu-FN/m_controls.cpp +++ b/Source/Menu-FN/m_controls.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_creategame.cpp b/Source/Menu-FN/m_creategame.cpp index e557a2d3..5a43882f 100644 --- a/Source/Menu-FN/m_creategame.cpp +++ b/Source/Menu-FN/m_creategame.cpp @@ -1,3 +1,10 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ CWidget fn_create; CWidget fn_createshared; diff --git a/Source/Menu-FN/m_creategame_inet.cpp b/Source/Menu-FN/m_creategame_inet.cpp index 79fa4d79..0b16f251 100644 --- a/Source/Menu-FN/m_creategame_inet.cpp +++ b/Source/Menu-FN/m_creategame_inet.cpp @@ -1,3 +1,10 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ CWidget fn_createinet; CMainButton createinet_btnAdv; diff --git a/Source/Menu-FN/m_customgame.cpp b/Source/Menu-FN/m_customgame.cpp index aff47b2a..0b90e9b2 100644 --- a/Source/Menu-FN/m_customgame.cpp +++ b/Source/Menu-FN/m_customgame.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_customgame_init(void) { } diff --git a/Source/Menu-FN/m_customize.cpp b/Source/Menu-FN/m_customize.cpp index f0aefbac..04a826ba 100644 --- a/Source/Menu-FN/m_customize.cpp +++ b/Source/Menu-FN/m_customize.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_filter.cpp b/Source/Menu-FN/m_filter.cpp index f2e5076d..f0445c95 100644 --- a/Source/Menu-FN/m_filter.cpp +++ b/Source/Menu-FN/m_filter.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_filter_init(void) { } diff --git a/Source/Menu-FN/m_internetgames.cpp b/Source/Menu-FN/m_internetgames.cpp index 918f202a..b34cc184 100644 --- a/Source/Menu-FN/m_internetgames.cpp +++ b/Source/Menu-FN/m_internetgames.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_intro.cpp b/Source/Menu-FN/m_intro.cpp index 7735ff53..1e988b0c 100644 --- a/Source/Menu-FN/m_intro.cpp +++ b/Source/Menu-FN/m_intro.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_langames.cpp b/Source/Menu-FN/m_langames.cpp index d7e0be2d..d9544418 100644 --- a/Source/Menu-FN/m_langames.cpp +++ b/Source/Menu-FN/m_langames.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_loadgame.cpp b/Source/Menu-FN/m_loadgame.cpp index af7dd8d7..dc3bb138 100644 --- a/Source/Menu-FN/m_loadgame.cpp +++ b/Source/Menu-FN/m_loadgame.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_loadgame_init(void) { } diff --git a/Source/Menu-FN/m_main.cpp b/Source/Menu-FN/m_main.cpp index a482dbf7..df18267d 100644 --- a/Source/Menu-FN/m_main.cpp +++ b/Source/Menu-FN/m_main.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_multiplayer.cpp b/Source/Menu-FN/m_multiplayer.cpp index c8adbc26..ffe4e01c 100644 --- a/Source/Menu-FN/m_multiplayer.cpp +++ b/Source/Menu-FN/m_multiplayer.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_newgame.cpp b/Source/Menu-FN/m_newgame.cpp index 12b3cad9..94376c2b 100644 --- a/Source/Menu-FN/m_newgame.cpp +++ b/Source/Menu-FN/m_newgame.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_spectategames.cpp b/Source/Menu-FN/m_spectategames.cpp index 446f4bd6..0cd6bba5 100644 --- a/Source/Menu-FN/m_spectategames.cpp +++ b/Source/Menu-FN/m_spectategames.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_spectategames_init(void) { } diff --git a/Source/Menu-FN/m_video.cpp b/Source/Menu-FN/m_video.cpp index 937e73f0..93f612f5 100644 --- a/Source/Menu-FN/m_video.cpp +++ b/Source/Menu-FN/m_video.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_videomodes.cpp b/Source/Menu-FN/m_videomodes.cpp index 8af69a00..406736bc 100644 --- a/Source/Menu-FN/m_videomodes.cpp +++ b/Source/Menu-FN/m_videomodes.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_videooptions.cpp b/Source/Menu-FN/m_videooptions.cpp index b0bcb6cf..0158ad8d 100644 --- a/Source/Menu-FN/m_videooptions.cpp +++ b/Source/Menu-FN/m_videooptions.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/m_viewgameinfo.cpp b/Source/Menu-FN/m_viewgameinfo.cpp index d6654a35..5cdedd9f 100644 --- a/Source/Menu-FN/m_viewgameinfo.cpp +++ b/Source/Menu-FN/m_viewgameinfo.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_viewgameinfo_init(void) { } diff --git a/Source/Menu-FN/m_viewreadme.cpp b/Source/Menu-FN/m_viewreadme.cpp index 96585f27..3e31aaed 100644 --- a/Source/Menu-FN/m_viewreadme.cpp +++ b/Source/Menu-FN/m_viewreadme.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + void menu_viewreadme_init(void) { } diff --git a/Source/Menu-FN/master.cpp b/Source/Menu-FN/master.cpp index 7be18e63..5dda677a 100644 --- a/Source/Menu-FN/master.cpp +++ b/Source/Menu-FN/master.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/menu.cpp b/Source/Menu-FN/menu.cpp index 612548e4..42c1af64 100644 --- a/Source/Menu-FN/menu.cpp +++ b/Source/Menu-FN/menu.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/servers.cpp b/Source/Menu-FN/servers.cpp index e7758233..b686a5ee 100644 --- a/Source/Menu-FN/servers.cpp +++ b/Source/Menu-FN/servers.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/strings.cpp b/Source/Menu-FN/strings.cpp index cf74e83e..ef64a3aa 100644 --- a/Source/Menu-FN/strings.cpp +++ b/Source/Menu-FN/strings.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/strings.h b/Source/Menu-FN/strings.h index 15adb067..be1829b4 100644 --- a/Source/Menu-FN/strings.h +++ b/Source/Menu-FN/strings.h @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/util.cpp b/Source/Menu-FN/util.cpp index 35163b66..10062775 100644 --- a/Source/Menu-FN/util.cpp +++ b/Source/Menu-FN/util.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + int Util_CheckMouse(int x, int y, int sx, int sy) { int mins[2]; int maxs[2]; diff --git a/Source/Menu-FN/w_checkbox.cpp b/Source/Menu-FN/w_checkbox.cpp index 68d4cd35..2a3846ae 100644 --- a/Source/Menu-FN/w_checkbox.cpp +++ b/Source/Menu-FN/w_checkbox.cpp @@ -1,3 +1,11 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + class CCheckBox:CWidget { int m_value; diff --git a/Source/Menu-FN/w_colorlist.cpp b/Source/Menu-FN/w_colorlist.cpp index 7413101a..8f13261c 100644 --- a/Source/Menu-FN/w_colorlist.cpp +++ b/Source/Menu-FN/w_colorlist.cpp @@ -1,8 +1,10 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ +// TODO + diff --git a/Source/Menu-FN/w_combobox.cpp b/Source/Menu-FN/w_combobox.cpp index bf26a99d..31140571 100644 --- a/Source/Menu-FN/w_combobox.cpp +++ b/Source/Menu-FN/w_combobox.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_dialog.cpp b/Source/Menu-FN/w_dialog.cpp index 214789f3..8cf7b6e4 100644 --- a/Source/Menu-FN/w_dialog.cpp +++ b/Source/Menu-FN/w_dialog.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_frame.cpp b/Source/Menu-FN/w_frame.cpp index 16569fa2..2932ebe6 100644 --- a/Source/Menu-FN/w_frame.cpp +++ b/Source/Menu-FN/w_frame.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_header.cpp b/Source/Menu-FN/w_header.cpp index be8705e3..88a6f6c6 100644 --- a/Source/Menu-FN/w_header.cpp +++ b/Source/Menu-FN/w_header.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_label.cpp b/Source/Menu-FN/w_label.cpp index 8df2d6bd..8eec09e3 100644 --- a/Source/Menu-FN/w_label.cpp +++ b/Source/Menu-FN/w_label.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_listbox.cpp b/Source/Menu-FN/w_listbox.cpp index 8515d2aa..d8fa3b5d 100644 --- a/Source/Menu-FN/w_listbox.cpp +++ b/Source/Menu-FN/w_listbox.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_mainbutton.cpp b/Source/Menu-FN/w_mainbutton.cpp index e87a8b7b..fd914816 100644 --- a/Source/Menu-FN/w_mainbutton.cpp +++ b/Source/Menu-FN/w_mainbutton.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_modetab.cpp b/Source/Menu-FN/w_modetab.cpp index e69de29b..12bf1f1b 100644 --- a/Source/Menu-FN/w_modetab.cpp +++ b/Source/Menu-FN/w_modetab.cpp @@ -0,0 +1,9 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO diff --git a/Source/Menu-FN/w_pagetab.cpp b/Source/Menu-FN/w_pagetab.cpp index e69de29b..12bf1f1b 100644 --- a/Source/Menu-FN/w_pagetab.cpp +++ b/Source/Menu-FN/w_pagetab.cpp @@ -0,0 +1,9 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO diff --git a/Source/Menu-FN/w_pictureswitch.cpp b/Source/Menu-FN/w_pictureswitch.cpp index 1f5ebac1..7aae59d0 100644 --- a/Source/Menu-FN/w_pictureswitch.cpp +++ b/Source/Menu-FN/w_pictureswitch.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_scrollbar.cpp b/Source/Menu-FN/w_scrollbar.cpp index bfb50013..562059aa 100644 --- a/Source/Menu-FN/w_scrollbar.cpp +++ b/Source/Menu-FN/w_scrollbar.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_servers.cpp b/Source/Menu-FN/w_servers.cpp index d88bf88c..dff3c7f7 100644 --- a/Source/Menu-FN/w_servers.cpp +++ b/Source/Menu-FN/w_servers.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_slider.cpp b/Source/Menu-FN/w_slider.cpp index fbf7fcc1..f66bf44e 100644 --- a/Source/Menu-FN/w_slider.cpp +++ b/Source/Menu-FN/w_slider.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/w_textbox.cpp b/Source/Menu-FN/w_textbox.cpp index d22ebb9f..6ffe1aee 100644 --- a/Source/Menu-FN/w_textbox.cpp +++ b/Source/Menu-FN/w_textbox.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu-FN/widgets.cpp b/Source/Menu-FN/widgets.cpp index 862144a0..32356130 100644 --- a/Source/Menu-FN/widgets.cpp +++ b/Source/Menu-FN/widgets.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Menu/.kdev4/Menu.kdev4 b/Source/Menu/.kdev4/Menu.kdev4 deleted file mode 100755 index dd264331..00000000 --- a/Source/Menu/.kdev4/Menu.kdev4 +++ /dev/null @@ -1,5 +0,0 @@ -[Buildset] -BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x08\x00M\x00e\x00n\x00u) - -[Project] -VersionControlSupport=kdevgit diff --git a/Source/Menu/Defs.h b/Source/Menu/Defs.h deleted file mode 100755 index 21cf3fc0..00000000 --- a/Source/Menu/Defs.h +++ /dev/null @@ -1,206 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -#define VERSION "0.1a" - -#define KEY_UNKNOWN -1 -#define KEY_GAME 0 -#define KEY_MENU 2 -#define KEY_MENU_GRABBED 3 - -#define TARGET_MENU 1 -#define TARGET_CLIENT 2 - -var vector vVideoSize; -var vector vMenuOffset; -var vector autocvar_menu_fgcolor = '1 0.59 0.19'; -var string autocvar_cl_logofile = "lambda"; -var vector autocvar_cl_logocolor = '255 0 0'; -var vector vHeaderButtonPos; - -#define FONTSIZE '12 12' - -var vector vMousePos; -var float fInputKeyCode; -var float fInputKeyASCII; -var float fInputKeyDown; -var float fMouseClick; -var float fButtonAlpha[8]; -var float fScrollWheel; -var int iHLContent = 0; - -var vector vMenuButtonsSize; - -enum { - SCROLL_NONE, - SCROLL_UP, - SCROLL_DOWN -}; - -var int iMenuActive; -var int iScrollbarHold; // Because of this, don't put more than one scrollbar per screen :) - -float frametime; -float fLastTime; - -int iMenu; -string *sMapList; -int iMapCount; - -string *sLogos; -var int iLogos; - -#define MENU_COUNT 11 -enum { - MENU_MAIN, - MENU_CONFIGURATION, - MENU_CONFIGURATION_AUDIO, - MENU_CONFIGURATION_VIDEO, - MENU_CONFIGURATION_PLAYER, - MENU_CONFIGURATION_CONTROLS, - MENU_MULTIPLAYER, - MENU_MULTIPLAYER_CREATE, - MENU_MULTIPLAYER_OPTIONS, - MENU_MULTIPLAYER_IRC, - MENU_QUIT -}; - -enum { - HEAD_ADVANCED, - HEAD_ADVOPTIONS, - HEAD_AUDIO, - HEAD_CONFIG, - HEAD_CONTROLS, - HEAD_CREATEGAME, - HEAD_CREATEROOM, - HEAD_CUSTOM, - HEAD_CUSTOMIZE, - HEAD_FILTER, - HEAD_GAMEOPTS, - HEAD_GORE, - HEAD_INETGAMES, - HEAD_KEYBOARD, - HEAD_LAN, - HEAD_LOAD, - HEAD_MULTI, - HEAD_README, - HEAD_ROOM, - HEAD_ROOMS, - HEAD_SAVE, - HEAD_SAVELOAD, - HEAD_SPECGAMES, - HEAD_VIDEO, - HEAD_VIDMODES, - HEAD_VIDOPTIONS -}; - -#define MENU_BUTTONS 69 -enum { - BTN_NEWGAME, - BTN_RESUMEGAME, - BTN_TRAINING, - BTN_CONFIG, - BTN_LOADGAME, - BTN_SAVELOAD, - BTN_README, - BTN_QUIT, - BTN_MULTIPLAYER, - BTN_EASY, - BTN_MEDIUM, - BTN_DIFFICULT, - BTN_SAVEGAME, - BTN_LOADGAME2, - BTN_CANCEL, - BTN_OPTIONS, - BTN_VIDEO, - BTN_AUDIO, - BTN_CONTROLS, - BTN_DONE, - BTN_QUICKSTART, - BTN_DEFAULTS, - BTN_OK, - BTN_VIDEOOPTIONS, - BTN_VIDEOMODES, - BTN_ADVCONTROLS, - BTN_ORDER, - BTN_DELETE, - BTN_INTERNET, - BTN_IRCCHAT, - BTN_LAN, - BTN_CUSTOMIZE, - BTN_SKIP, - BTN_EXIT, - BTN_CONNECT, - BTN_REFRESH, - BTN_FILTER1, - BTN_FILTER2, - BTN_CREATE, - BTN_CREATEGAME, - BTN_CHATROOMS, - BTN_LISTROOMS, - BTN_SEARCH, - BTN_SERVERS, - BTN_JOIN, - BTN_FIND, - BTN_CREATEROOM, - BTN_JOINGAME, - BTN_SEARCHGAMES, - BTN_FINDGAME, - BTN_STARTGAME, - BTN_GAMEINFO, - BTN_UPDATELIST, - BTN_ADDSERVER, - BTN_DISCONNECT, - BTN_CONSOLE, - BTN_CONTENTCONTROL, - BTN_UPDATE, - BTN_VISITWON, - BTN_PREVIEWS, - BTN_ADVOPTIONS, - BTN_3DINFO, - BTN_CUSTOMGAME, - BTN_ACTIVATE, - BTN_INSTALL, - BTN_VISITWEB, - BTN_REFRESHLIST, - BTN_DEACTIVATE, - BTN_SPECTATEGAME, - BTN_SPECTATEGAMES -}; - -typedef struct { - void() vMenu; - int iHeaderID; -} fcsMenu; - -typedef struct { - int iR; - int iG; - int iB; -} color; - -void Menu_SetClipArea( vector vPosition, vector vRegion ); -void Menu_ResetClipArea( void ); diff --git a/Source/Menu/Draw.c b/Source/Menu/Draw.c deleted file mode 100755 index 6e3c545e..00000000 --- a/Source/Menu/Draw.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -/* -================= -m_drawback - -Responsible for the fancy menu background -================= -*/ -void m_drawback( void ) { - drawfill( '0 0', vVideoSize, '0 0 0', 0.75f ); - drawpic( vMenuOffset, "gfx/shell/splash", '640 480', '1 1 1', 1.0f, 0 ); -} - -/* -================= -m_draw - -Run every frame, main loop for the menu -================= -*/ -void m_draw( vector vScreenSize ) { - if ( iMenuActive == FALSE ) { - return; - } - - if ( vVideoSize != vScreenSize ) { - vVideoSize = vScreenSize; - vMenuOffset_x = vVideoSize_x / 2 - 320; - vMenuOffset_y = vVideoSize_y / 2 - 240; - Menu_ResetClipArea(); - } - - // we have to create frametime ourselves because menuqc is primitive - frametime = ( time - fLastTime ); - fLastTime = time; - - if ( clientstate() != 2 ) { - drawfill( '0 0', vVideoSize, '0 0 0', 1.0f ); - } - - m_drawback(); - fcsMain[ iMenu ].vMenu(); - Header_Draw(); - - //drawstring( '16 16', , FONTSIZE, '1 1 1', 1.0f, 0 ); - Object_Label_Right( [ 640 - 16, 480 - 16 ], sprintf( "FreeCS Version: %s", __DATE__ ), FONTSIZE ); -} diff --git a/Source/Menu/Header.c b/Source/Menu/Header.c deleted file mode 100755 index 0b8b1439..00000000 --- a/Source/Menu/Header.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -fcsMenu fcsMain[ MENU_COUNT ] = { - { Menu_Main, -1 }, - { Menu_Configuration, HEAD_CONFIG }, - { Menu_Configuration_Audio, HEAD_AUDIO }, - { Menu_Configuration_Video, HEAD_VIDEO }, - { Menu_Configuration_Player, HEAD_CUSTOMIZE }, - { Menu_Configuration_Controls, HEAD_CONTROLS }, - { Menu_Multiplayer, HEAD_MULTI }, - { Menu_Multiplayer_Create, HEAD_CREATEGAME }, - { Menu_Multiplayer_Create, HEAD_ADVOPTIONS }, - { Menu_Multiplayer_IRC, HEAD_ADVOPTIONS }, - { Menu_Quit, -1 } -}; - -string sHeaderImage[] = { - "gfx/shell/head_advanced", - "gfx/shell/head_advoptions", - "gfx/shell/head_audio", - "gfx/shell/head_config", - "gfx/shell/head_controls", - "gfx/shell/head_creategame", - "gfx/shell/head_createroom", - "gfx/shell/head_custom", - "gfx/shell/head_customize", - "gfx/shell/head_filter", - "gfx/shell/head_gameopts", - "gfx/shell/head_gore", - "gfx/shell/head_inetgames", - "gfx/shell/head_keyboard", - "gfx/shell/head_lan", - "gfx/shell/head_load", - "gfx/shell/head_multi", - "gfx/shell/head_readme", - "gfx/shell/head_room", - "gfx/shell/head_rooms", - "gfx/shell/head_save", - "gfx/shell/head_saveload", - "gfx/shell/head_specgames", - "gfx/shell/head_video", - "gfx/shell/head_vidmodes", - "gfx/shell/head_vidoptions" -}; - -void Header_Draw( void ) { - static int iHeader; - static int iLastHeader = -1; - static float fHeaderLerp = 1.0f; - static vector vHeaderPos; - static vector vHeaderSize; - - iHeader = fcsMain[ iMenu ].iHeaderID; - - if ( iHeader != iLastHeader ) { - fHeaderLerp = 0.0f; - iLastHeader = iHeader; - localsound("../media/launch_upmenu1.wav"); - } - - if ( iHeader == -1 ) { - return; - } - - if ( fHeaderLerp < 1.0f ) { - vHeaderPos_x = Math_Lerp( vHeaderButtonPos_x, 18, fHeaderLerp ); - vHeaderPos_y = Math_Lerp( vHeaderButtonPos_y, 32, fHeaderLerp ); - - vHeaderSize_x = Math_Lerp( 156, 460, fHeaderLerp ); - vHeaderSize_y = Math_Lerp( 26, 80, fHeaderLerp ); - - vHeaderPos += vMenuOffset; - drawpic( vHeaderPos, sHeaderImage[iHeader], vHeaderSize, '1 1 1', 0.5f, 1 ); - - fHeaderLerp += ( frametime * 3 ); - } else { - drawpic( '18 32' + vMenuOffset, sHeaderImage[ iHeader ], '460 80', '1 1 1', 0.5f, 1 ); - } -} diff --git a/Source/Menu/Init.c b/Source/Menu/Init.c deleted file mode 100755 index 601df314..00000000 --- a/Source/Menu/Init.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -string(float a, float b) getgamedirinfo = #0; - -/* -================= -m_init - -Precaches and loading for the menu system -================= -*/ -void Menu_Configuration_Init( void ); -void m_init( void ) { - precache_pic( "gfx/shell/splash" ); - precache_pic( "gfx/shell/btns_main" ); - precache_pic( "gfx/shell/cb_empty" ); - precache_pic( "gfx/shell/cb_checked" ); - - Menu_Configuration_Init(); - - // Index all the maps... TODO: Filter out /valve/ to avoid useless junk from being cached. - searchhandle shMaps = search_begin( "maps/*.bsp", TRUE, TRUE ); - iMapCount = search_getsize( shMaps ); - sMapList = memalloc( sizeof( string ) * iMapCount ); - - for ( int i = 0; i < iMapCount; i++ ) { - sMapList[ i ] = substring( search_getfilename( shMaps, i ), 5, strlen( search_getfilename( shMaps, i ) ) - 9 ); - } - - search_end( shMaps ); - - vMenuButtonsSize = drawgetimagesize( "gfx/shell/btns_main" ); - - // For those peeps who don't read or don't want to follow the instructions - if ( whichpack( "sound/items/9mmclip1.wav" ) ) { - iHLContent = TRUE; - } - - // Initialize all the spraylogos - searchhandle shSprays = search_begin( "*.bmp", TRUE, TRUE ); - sLogos = memalloc( sizeof( string ) * search_getsize( shSprays ) ); - for ( int i = 0; i < search_getsize( shSprays ); i++ ) { - string sShadername; - string sShortname = search_getfilename( shSprays, i ); - precache_pic( sShortname ); - sShortname = substring( sShortname, 0, strlen( sShortname ) - 4 ); - sLogos[ i ] = sShortname; - sShadername = sprintf( "spray_%s", sShortname ); - if ( substring( sShortname, 0, 1 ) == "#" ) { - shaderforname( sShadername, sprintf("{\ncull disable\npolygonOffset\n{\nmap %s\n}\n}\n", search_getfilename( shSprays, i ) ) ); - } else { - shaderforname( sShadername, sprintf("{\ncull disable\npolygonOffset\n{\nmap %s\nblendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR\nrgbgen vertex\n}\n}\n", search_getfilename( shSprays, i ) ) ); - } - iLogos += 1; - } - search_end( shSprays ); - - drawfont = loadfont( "font", "", "12", -1 ); - - string gamedirname; - string gamedescription; - for (int gameidx = 0; (gamedirname = getgamedirinfo(gameidx, 0)); gameidx++) { - gamedescription = getgamedirinfo(gameidx, 1); - print(sprintf("Gamedir %s, description %s\n", gamedirname, gamedescription)); - } -} - -/* -================= -m_shutdown - -I can see the curtain... the ending. -================= -*/ -void m_shutdown( void ) { - -} diff --git a/Source/Menu/Input.c b/Source/Menu/Input.c deleted file mode 100755 index 10bf2d88..00000000 --- a/Source/Menu/Input.c +++ /dev/null @@ -1,200 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -var vector vMenuClickMins; -var vector vMenuClickMaxs; - -/* -================= -Menu_InputCheckMouse - -Checks a specified region and returns TRUE if the mouse is above it. -================= -*/ -int Menu_InputCheckMouse( vector vPosition, vector vRegion ) { - vector vSMins, vSMaxs; - - // Some elements will be blocked (scrolling lists) outside of this region - if ( vMousePos_x >= vMenuClickMins_x && vMousePos_x <= vMenuClickMaxs_x ) { - if ( vMousePos_y >= vMenuClickMins_y && vMousePos_y <= vMenuClickMaxs_y ) { - vSMins = vSMaxs = vPosition; - vSMaxs_y = vPosition_y - 1; - - vSMaxs_x = vPosition_x + vRegion_x; - vSMaxs_y = vPosition_y + vRegion_y; - - if ( vMousePos_x >= vSMins_x && vMousePos_x <= vSMaxs_x ) { - if ( vMousePos_y >= vSMins_y && vMousePos_y <= vSMaxs_y ) { - return TRUE; - } - } - } - } - - return FALSE; -} - -/* -================= -Menu_SetClipArea - -This will set the region in which mouse activity and drawing -of objects will happen. Use it to clip text and mouse activity. -================= -*/ -void Menu_SetClipArea( vector vPosition, vector vRegion ) { - vPosition += vMenuOffset; - vMenuClickMins = vPosition; - vMenuClickMaxs = vPosition; - vMenuClickMins_x = vPosition_x; - vMenuClickMaxs_y = vPosition_y - 1; - - vMenuClickMaxs_x = vPosition_x + vRegion_x; - vMenuClickMaxs_y = vPosition_y + vRegion_y; - - drawsetcliparea( vPosition_x, vPosition_y, vRegion_x, vRegion_y ); -} - -/* -================= -Menu_ResetClipArea - -Resets the clip area that was set via Menu_SetClipArea -================= -*/ -void Menu_ResetClipArea( void ) { - vMenuClickMins = vMenuOffset; - vMenuClickMaxs = vMenuOffset + '640 480'; - drawresetcliparea(); -} - -/* -================= -Menu_InputEvent - -New FTE routine for advanced mouse input in menuqc! -================= -*/ -float Menu_InputEvent( float fEventType, float fKey, float fCharacter, float fDeviceID ) { - if ( fEventType == IE_KEYDOWN ) { - if ( fKey == K_MOUSE1 ) { - fMouseClick = 1; - } else { - if ( fKey == K_ESCAPE ) { - m_toggle( 0 ); - } - fInputKeyDown = 1; - } - - if ( fKey == K_MWHEELDOWN ) { - fScrollWheel = SCROLL_DOWN; - } else if ( fKey == K_MWHEELUP ) { - fScrollWheel = SCROLL_UP; - } - - fInputKeyCode = fKey; - fInputKeyASCII = fCharacter; - } else if ( fEventType == IE_KEYUP ) { - if ( fKey == K_MOUSE1 ) { - fMouseClick = 0; - iScrollbarHold = FALSE; - } else { - fInputKeyDown = 0; - } - - fInputKeyCode = 0; - fInputKeyASCII = 0; - } else if ( fEventType == IE_MOUSEABS ) { - vMousePos_x = fKey; - vMousePos_y = fCharacter; - } else if ( fEventType == IE_MOUSEDELTA ) { - vMousePos_x += fKey; - vMousePos_y += fCharacter; - - if ( vMousePos_x < 0 ) { - vMousePos_x = 0; - } else if ( vMousePos_x > vVideoSize_x ) { - vMousePos_x = vVideoSize_x; - } - - if ( vMousePos_y < 0 ) { - vMousePos_y = 0; - } else if ( vMousePos_y > vVideoSize_y ) { - vMousePos_y = vVideoSize_y; - } - } else { - return FALSE; - } - - m_draw(vVideoSize); - - return TRUE; -} - -/* -================= -m_display, m_hide, m_toggle - -Essentially what happens when togglemenu is used, called by the engine as well. -================= -*/ -void m_display( void ) { - iMenuActive = TRUE; - setkeydest( KEY_MENU ); - setmousetarget( TARGET_MENU ); - setcursormode( TRUE, "gfx/cursor", '0 0 0', 1.0f ); -} - -void m_hide( void ) { - iMenuActive = FALSE; - setkeydest( KEY_GAME ); - setmousetarget( TARGET_CLIENT ); - setcursormode( FALSE ); -} - -void m_toggle( float fMode ) { - if ( fMode == FALSE ) { - m_hide(); - } else { - m_display(); - } -} - -float m_consolecommand( string sCMD ) { - tokenize( sCMD ); - switch ( argv( 0 ) ) { - case "togglemenu": - m_display( ); - return TRUE; - break; - case "menu_quit": - iMenu = MENU_QUIT; - return TRUE; - break; - - } - return FALSE; -} diff --git a/Source/Menu/Makefile b/Source/Menu/Makefile deleted file mode 100755 index d9a657d5..00000000 --- a/Source/Menu/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CC=fteqcc - -all: - $(CC) diff --git a/Source/Menu/Menu.kdev4 b/Source/Menu/Menu.kdev4 deleted file mode 100755 index 6a0ec3c7..00000000 --- a/Source/Menu/Menu.kdev4 +++ /dev/null @@ -1,4 +0,0 @@ -[Project] -CreatedFrom=Makefile -Manager=KDevCustomMakeManager -Name=Menu diff --git a/Source/Menu/MenuConfiguration.c b/Source/Menu/MenuConfiguration.c deleted file mode 100755 index a3875e10..00000000 --- a/Source/Menu/MenuConfiguration.c +++ /dev/null @@ -1,486 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -/* -================= -Menu_Configuration_Init - -Initializes external control scheme file, etc. -================= -*/ -int iActCount; -int iResCount; -string *strActBind; -string *strActDescr; -string *strResolution; -void Menu_Configuration_Init( void ) { - int iCount = 0; - string sTemp; - filestream fileSettings = fopen( "gfx/shell/kb_act.lst", FILE_READ ); - - // Count the valid entries. - if ( fileSettings >= 0 ) { - while ( ( sTemp = fgets( fileSettings ) ) ) { - if ( tokenize_console( sTemp ) == 2 ) { - iActCount++; - } - } - } else { - error( "Cannot parse gfx/shell/kb_act.lst!" ); - } - - // Reset filestream position after allocating the strings - strActBind = memalloc( sizeof( string ) * iActCount ); - strActDescr = memalloc( sizeof( string ) * iActCount ); - fseek( fileSettings, 0 ); - - // Parse the bindings in - while ( ( sTemp = fgets( fileSettings ) ) ) { - // Tokenize and just parse this stuff in - if ( tokenize_console( sTemp ) == 2 ) { - // FTE uses +voip, so replace the GoldSrc bind with that - if ( argv( 0 ) != "+voicerecord" ) { - strActBind[ iCount ] = argv( 0 ); - } else { - strActBind[ iCount ] = "+voip"; - } - strActDescr[ iCount ] = argv( 1 ); - //print( sprintf( "%s %s\n", strActBind[ iCount ], strActDescr[ iCount ] ) ); - iCount++; - } - } - fclose( fileSettings ); - - fileSettings = fopen( "resolutions.txt", FILE_READ ); - // Count the valid entries. - if ( fileSettings >= 0 ) { - while ( ( sTemp = fgets( fileSettings ) ) ) { - if ( tokenize_console( sTemp ) == 2 ) { - iResCount++; - } - } - } else { - error( "Cannot parse resolutions.txt!" ); - } - - // Reset filestream position after allocating the strings - strResolution = memalloc( sizeof( string ) * iResCount ); - fseek( fileSettings, 0 ); - - // Parse the bindings in - iCount = 0; - while ( ( sTemp = fgets( fileSettings ) ) ) { - strResolution[ iCount ] = sTemp; - iCount++; - } - fclose( fileSettings ); -} - -/* -================= -Menu_Configuration_ButtonOK -================= -*/ -void Menu_Configuration_ButtonOK( void ) { - iMenu = MENU_CONFIGURATION; -} - -/* -================= -Menu_Configuration_ButtonCancel -================= -*/ -void Menu_Configuration_ButtonCancel( void ) { - iMenu = MENU_CONFIGURATION; -} - -/* -================= -Menu_Configuration_Video -================= -*/ -void Menu_Configuration_Video( void ) { - static int iScrollRes = 0; - static int iSelectedResolution = -1; - static int iVideoScale = -1; - - static void Video_Apply( void ) { - if ( iSelectedResolution != -1 ) { - tokenizebyseparator( strResolution[ iSelectedResolution ], "x", " " ); - cvar_set( "vid_width", argv( 0 ) ); - cvar_set( "vid_height", argv( 1 ) ); - localcmd( "vid_restart\n" ); - } - } - - static void Video_DisplayRes( vector vPosition, int i, __inout int iSelected ) { - float fItemAlpha = 1.0f; - - vPosition += vMenuOffset; - - if ( Menu_InputCheckMouse( [ vPosition_x, vPosition_y ], [ 284, 8 ] ) == TRUE ) { - if ( fMouseClick == TRUE ) { - if ( iSelected != i ) { - iSelected = i; - fInputKeyCode = 0; - fMouseClick = FALSE; - } - } - } else { - fItemAlpha = 0.8; - } - - if ( iSelected == i ) { - drawfill( [ vPosition_x, vPosition_y - 1 ], [ 156, 10 ], autocvar_menu_fgcolor, 0.5, 2 ); - drawstring( [vPosition_x + 8, vPosition_y], strResolution[ i ], '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - } else { - drawstring( [vPosition_x + 8, vPosition_y], strResolution[ i ], '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - } - } - - // Get the current scale method... and resolution - if ( iVideoScale == -1 ) { - if ( cvar( "vid_conautoscale" ) == 0 ) { - iVideoScale = 1; - } else { - iVideoScale = 0; - } - - for ( int i = 1; i < iResCount; i++ ) { - tokenizebyseparator( strResolution[ i ], "x", " " ); - if ( ( stof( argv( 0 ) ) == vVideoSize_x && ( stof( argv( 1 ) ) == vVideoSize_y ) ) ) { - iSelectedResolution = i; - } - } - } - - Object_Label( '196 148', _("VIDEO_RES"), '12 12' ); - Object_Frame( '196 160', '164 300' ); - - Object_Scrollbar( '372 160', 284, iScrollRes ); - - Menu_SetClipArea( '196 162', '164 298' ); - - vector vListPos = '200 165'; - vListPos_y -= fabs( ( ( iResCount - 8 ) * 10 ) * ( iScrollRes / 300 ) ); - - for ( int i = 0; i < iResCount; i++ ) { - Video_DisplayRes( vListPos, i, iSelectedResolution ); - vListPos_y += 10; - } - - Menu_ResetClipArea(); - - static void Video_ScaleSwitch( void ) { - iVideoScale = 1 - iVideoScale; - if ( iVideoScale == 1 ) { - cvar_set( "vid_conautoscale", "0" ); - cvar_set( "vid_conwidth", "0" ); - cvar_set( "vid_conheight", "480" ); - } else { - cvar_set( "vid_conautoscale", "1" ); - } - } - - Object_CvarToggle( '400 165', "Fullscreen", "vid_fullscreen" ); - Object_CvarToggle( '400 185', "Triple Buffering", "vid_triplebuffer" ); - Object_CvarToggle( '400 205', "Virtual Synchronisation", "vid_vsync" ); - Object_FuncToggle( '400 225', "HDPI Mode", Video_ScaleSwitch, iVideoScale ); - - drawtextfield( vMenuOffset + '400 265', '200 200', 1, _("VIDEO_RESTARTMSG") ) ; - - Object_Button( '32 148', BTN_REFRESH, Video_Apply, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_DONE, Menu_Configuration_ButtonCancel, fButtonAlpha[1] ); -} - -/* -================= -Menu_Configuration_Audio -================= -*/ -void Menu_Configuration_Audio( void ) { - static int iAudioMaster = -1; - static int iLastMaster = -1; - - // Page is first opened, initialize the scrollbar variables - if ( iAudioMaster == -1 ) { - iAudioMaster = cvar( "volume" ) * 256; - iLastMaster = iAudioMaster; - } - - Object_Label( '196 148', _("AUDIO_MASTER"), '12 12' ); - Object_ScrollbarH( '196 160', 256, iAudioMaster ); - - if ( iAudioMaster != iLastMaster ) { - localcmd( sprintf( "volume %f\n", iAudioMaster / 256 ) ); - iLastMaster = iAudioMaster; - } - - Object_Button( '32 148', BTN_OK, Menu_Configuration_ButtonOK, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_CANCEL, Menu_Configuration_ButtonCancel, fButtonAlpha[1] ); -} - -/* -================= -Menu_Configuration_Player -================= -*/ -void Menu_Configuration_Player( void ) { - static string strPlayername; - static int iFirst = 1; - static color cCross; - static color cVGUI; - static color cCon; - - static void Player_OK( void ) { - if ( strPlayername != __NULL__ ) { - localcmd( sprintf( "name %s\n", strPlayername ) ); - iMenu = MENU_CONFIGURATION; - } else { - strPlayername = cvar_string( "name" ); - } - - cvar_set( "cross_color", sprintf( "%i %i %i", cCross.iR, cCross.iG, cCross.iB ) ); - cvar_set( "vgui_color", sprintf( "%i %i %i", cVGUI.iR, cVGUI.iG, cVGUI.iB ) ); - cvar_set( "con_color", sprintf( "%i %i %i", cCon.iR, cCon.iG, cCon.iB ) ); - } - - if ( iFirst == 1 ) { - float fCheck; - strPlayername = cvar_string( "name" ); - - fCheck = tokenize( cvar_string( "cross_color" ) ); - if ( fCheck == 3 ) { - cCross.iR = stof( argv( 0 ) ); - cCross.iG = stof( argv( 1 ) ); - cCross.iB = stof( argv( 2 ) ); - } else { - // TODO... put this in a more global location? If this is changed, change Defs.h in Source/Client too! - cCross.iR = 0; - cCross.iG = 255; - cCross.iB = 0; - cvar_set( "cross_color", "0 255 0" ); - } - - fCheck = tokenize( cvar_string( "vgui_color" ) ); - if ( fCheck == 3 ) { - cVGUI.iR = stof( argv( 0 ) ); - cVGUI.iG = stof( argv( 1 ) ); - cVGUI.iB = stof( argv( 2 ) ); - } else { - cVGUI.iR = 255; - cVGUI.iG = 170; - cVGUI.iB = 0; - cvar_set( "vgui_color", "255 170 0" ); - } - - fCheck = tokenize( cvar_string( "con_color" ) ); - if ( fCheck == 3 ) { - cCon.iR = stof( argv( 0 ) ); - cCon.iG = stof( argv( 1 ) ); - cCon.iB = stof( argv( 2 ) ); - } else { - cCon.iR = 255; - cCon.iG = 170; - cCon.iB = 0; - cvar_set( "con_color", "255 170 0" ); - } - - iFirst = 0; - } - - Object_Label( '196 148', _("PLAYER_NICK"), '12 12' ); - Object_Textfield( '196 160', strPlayername, 16 ); - - Object_Label( '196 200', _("PLAYER_CROSSCOLOR"), '12 12' ); - Object_ScrollbarH( '196 212', 255, cCross.iR ); - Object_ScrollbarH( '196 230', 255, cCross.iG ); - Object_ScrollbarH( '196 248', 255, cCross.iB ); - Object_Frame( '468 388', '52 52' ); - drawfill( vMenuOffset + '469 213', '50 50', [ cCross.iR / 255, cCross.iG / 255, cCross.iB / 255 ], 1.0f ); - - Object_Label( '196 288', _("PLAYER_GUICOLOR"), '12 12' ); - Object_ScrollbarH( '196 300', 255, cVGUI.iR ); - Object_ScrollbarH( '196 318', 255, cVGUI.iG ); - Object_ScrollbarH( '196 336', 255, cVGUI.iB ); - Object_Frame( '468 388', '52 52' ); - drawfill( vMenuOffset + '469 300', '50 50', [ cVGUI.iR / 255, cVGUI.iG / 255, cVGUI.iB / 255 ], 1.0f ); - - Object_Label( '196 376', _("PLAYER_HUDCOLOR"), '12 12' ); - Object_ScrollbarH( '196 388', 255, cCon.iR ); - Object_ScrollbarH( '196 406', 255, cCon.iG ); - Object_ScrollbarH( '196 424', 255, cCon.iB ); - Object_Frame( '468 388', '52 52' ); - drawfill( vMenuOffset + '469 388', '50 50', [ cCon.iR / 255, cCon.iG / 255, cCon.iB / 255 ], 1.0f ); - - Object_Button( '32 148', BTN_OK, Player_OK, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_CANCEL, Menu_Configuration_ButtonCancel, fButtonAlpha[1] ); -} - -/* -================= -Menu_Configuration_Controls -================= -*/ -void Menu_Configuration_Controls( void ) { - static float fActClickTime; - static int iBindKey = -1; - - void Controls_Default( void ) { - localcmd( "unbindall\nexec default.cfg\n" ); - } - - void Controls_DisplayAct( vector vPosition, int i, __inout int iSelected ) { - float fItemAlpha = 0.8f; - - float fBindKey = tokenize( findkeysforcommand( strActBind[ i ] ) ); - string sBindTx = ""; - float j, k; - - for( j = 0; j < fBindKey; ++j ) { - k = stof( argv( j ) ); - if( k != -1 ) { - if( sBindTx != "" ) { - sBindTx = strcat( sBindTx, ", " ); - } - sBindTx = strcat( sBindTx, keynumtostring( k ) ); - } - } - - vPosition += vMenuOffset; - - if ( Menu_InputCheckMouse( [ vPosition_x, vPosition_y ], [ 397, 8 ] ) == TRUE ) { - if ( strActBind[ i ] != "blank" ) { - fItemAlpha = 1.0f; - if ( fMouseClick == TRUE ) { - if ( iSelected != i ) { - iSelected = i; - fInputKeyCode = 0; - fMouseClick = FALSE; - fActClickTime = time + 0.2; - } else { - // change bind - iBindKey = iSelected; - fInputKeyCode = 0; - fMouseClick = FALSE; - } - } - } - } - - if ( iSelected == i ) { - drawfill( [ vPosition_x, vPosition_y - 1 ], [ 397, 14 ], autocvar_menu_fgcolor, 0.5, 2 ); - drawstring( [vPosition_x + 8, vPosition_y], sBindTx, '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - drawstring( [vPosition_x + 128, vPosition_y], strActDescr[ i ], '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - } else { - drawstring( [vPosition_x + 8, vPosition_y], sBindTx, '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - drawstring( [vPosition_x + 128, vPosition_y], strActDescr[ i ], '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - } - } - - static int iSelectedAct = -1; - static int iScrollAct; - - Object_Button( '32 148', BTN_OK, Menu_Configuration_ButtonOK, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_CANCEL, Menu_Configuration_ButtonCancel, fButtonAlpha[1] ); - Object_Button( '32 244', BTN_DEFAULTS, Controls_Default, fButtonAlpha[2] ); - - Object_Frame( '196 140', '404 308' ); - Object_Scrollbar( '604 140', 308, iScrollAct ); - - Object_Label( '208 124', _("Keybind"), '12 12' ); - Object_Label( '328 124', _("Description"), '12 12' ); - - Menu_SetClipArea( '196 141', '404 306' ); - vector vListPos = '200 145'; - vListPos_y -= fabs( ( ( iActCount - rint( 308 / iActCount ) ) * 10 ) * ( iScrollAct / 308 ) ); - - for ( int i = 0; i < iActCount; i++ ) { - Controls_DisplayAct( vListPos, i, iSelectedAct ); - vListPos_y += 14; - } - Menu_ResetClipArea(); - - if ( iBindKey >= 0 ) { - Object_Frame( '196 150', '404 100' ); - drawstring( vMenuOffset + '216 170', "Press any button to assign it to:", '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - drawstring( vMenuOffset + '216 232', "To clear, press Backspace.", '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - drawstring( vMenuOffset + '216 190', strActDescr[ iBindKey ], '16 16', autocvar_menu_fgcolor, 1.0f, FALSE ); - - if ( fInputKeyCode > 0 ) { - if( fInputKeyCode == K_BACKSPACE ) { - float fBindKey = tokenize( findkeysforcommand( strActBind[ iBindKey ] ) ); - - for ( int i = 0; i < fBindKey; i++ ) { - localcmd( sprintf( "unbind %s\n", keynumtostring( stof( argv( i ) ) ) ) ); - } - - iBindKey = -1; - fInputKeyCode = 0; - fInputKeyASCII = 0; - } else if ( fInputKeyCode != K_ESCAPE ) { - localcmd( sprintf( "bind %s %s\n", keynumtostring( fInputKeyCode ), strActBind[ iBindKey ] ) ); - iBindKey = -1; - fInputKeyCode = 0; - fInputKeyASCII = 0; - } else { - iBindKey = -1; - fInputKeyCode = 0; - fInputKeyASCII = 0; - } - } - } -} - -/* -================= -Menu_Configuration - -First config screen -================= -*/ -void Menu_Configuration( void ) { - static void Configuration_ButtonAudio( void ) { - iMenu = MENU_CONFIGURATION_AUDIO; - } - static void Configuration_ButtonVideo( void ) { - iMenu = MENU_CONFIGURATION_VIDEO; - } - static void Configuration_ButtonCustomize( void ) { - iMenu = MENU_CONFIGURATION_PLAYER; - } - static void Configuration_ButtonControls( void ) { - iMenu = MENU_CONFIGURATION_CONTROLS; - } - static void Configuration_ButtonDone( void ) { - iMenu = MENU_MAIN; - } - Object_Button( '32 148', BTN_AUDIO, Configuration_ButtonAudio, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_VIDEO, Configuration_ButtonVideo, fButtonAlpha[1] ); - Object_Button( '32 212', BTN_CUSTOMIZE, Configuration_ButtonCustomize, fButtonAlpha[2] ); - Object_Button( '32 244', BTN_CONTROLS, Configuration_ButtonControls, fButtonAlpha[3] ); - Object_Button( '32 276', BTN_DONE, Configuration_ButtonDone, fButtonAlpha[4] ); -} diff --git a/Source/Menu/MenuMain.c b/Source/Menu/MenuMain.c deleted file mode 100755 index 164616ab..00000000 --- a/Source/Menu/MenuMain.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -/* -================= -Menu_Main - -The first, main screen -================= -*/ -void Menu_Main( void ) { - static void Main_ButtonConsole( void ) { - localcmd( "toggleconsole\n" ); - } - static void Main_ButtonConfiguration( void ) { - iMenu = MENU_CONFIGURATION; - } - static void Main_ButtonMultiplayer( void ) { - iMenu = MENU_MULTIPLAYER; - } - static void Main_ButtonQuit( void ) { - iMenu = MENU_QUIT; - } - - if ( iHLContent == FALSE ) { - Object_Frame( '232 200', '400 96' ); - Object_Label( '244 212', "Warning", FONTSIZE ); - Object_Label( '244 248', "You have not copied over your 'valve' directory", FONTSIZE ); - Object_Label( '244 258', "from Half-Life. This will cause missing models,", FONTSIZE ); - Object_Label( '244 268', "sounds and textures. Be warned!", FONTSIZE ); - } - - Object_Button( '72 188', BTN_CONSOLE, Main_ButtonConsole, fButtonAlpha[0] ); - Object_Button( '72 272', BTN_CONFIG, Main_ButtonConfiguration, fButtonAlpha[1] ); - - Object_Button( '72 328', BTN_MULTIPLAYER, Main_ButtonMultiplayer, fButtonAlpha[2] ); - Object_Button( '72 356', BTN_CUSTOMGAME, __NULL__, fButtonAlpha[3] ); - Object_Button( '72 384', BTN_README, __NULL__, fButtonAlpha[4] ); - Object_Button( '72 412', BTN_VISITWEB, __NULL__, fButtonAlpha[5] ); - Object_Button( '72 440', BTN_QUIT, Main_ButtonQuit, fButtonAlpha[6] ); - - Object_Desc( '244 282', "Change Counter-Strike's video, audio and control settings.", FONTSIZE ); - Object_Desc( '244 338', "Get online and play Counter-Strike with others around the world.", FONTSIZE ); - Object_Desc( '244 366', "Play/download other mods, or go back to Counter-Strike.", FONTSIZE ); - Object_Desc( '244 394', "Read Counter-Strike's readme.txt.", FONTSIZE ); - Object_Desc( '244 422', "Read the official Counter-Strike manual, learn how to play.", FONTSIZE ); - Object_Desc( '244 450', "Quit Counter-Strike.", FONTSIZE ); -} - -/* -================= -Menu_Quit - -The quit screen -================= -*/ -void Menu_Quit( void ) { - static void Quit_Cancel( void ) { - iMenu = MENU_MAIN; - } - static void Quit_Exit( void ) { - localcmd( "quit\n" ); - } - - Object_Frame( '192 192', '256 96' ); - Object_Label( '212 216', _("FREECS_QUITMSG"), FONTSIZE ); - - Object_Button( '208 248', BTN_QUIT, Quit_Exit, fButtonAlpha[0] ); - Object_Button( '364 248', BTN_CANCEL, Quit_Cancel, fButtonAlpha[1] ); -} diff --git a/Source/Menu/MenuMultiplayer.c b/Source/Menu/MenuMultiplayer.c deleted file mode 100755 index a8803ad7..00000000 --- a/Source/Menu/MenuMultiplayer.c +++ /dev/null @@ -1,458 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -// Server fields! -float fldName; -float fldAddress; -float fldPing; -float fldPlayers; -float fldMaxplayers; -float fldMap; -float fServerClickTime; - -/* -================= -Menu_Multiplayer_Connect - -Connect to a specific ServerID from the hostcache -================= -*/ -void Menu_Multiplayer_Connect( int iServerID ) { - // Filter dead entries - if ( gethostcachenumber( fldMaxplayers, iServerID ) <= 0 ) { - return; - } - - // Connect as long as a real server is actually selected - if ( iServerID >= 0 ) { - localcmd( sprintf( "connect %s\n", gethostcachestring( fldAddress, iServerID ) ) ); - m_hide(); - } -} - -/* -================= -Menu_Multiplayer_Find_Item - -Draw a single server item from the hostcache -================= -*/ -void Menu_Multiplayer_Find_Item( vector vPosition, int i, __inout int iSelected ) { - float fItemAlpha = 1.0f; - - vPosition += vMenuOffset; - - if ( Menu_InputCheckMouse( [ vPosition_x, vPosition_y ], [ 397, 8 ] ) == TRUE ) { - if ( fMouseClick == TRUE ) { - if ( iSelected != i ) { - iSelected = i; - fInputKeyCode = 0; - fMouseClick = FALSE; - fServerClickTime = time + 0.5; - } else { - if ( fServerClickTime > time ) { - Menu_Multiplayer_Connect( i ); - } - iSelected = -2; - fInputKeyCode = 0; - fMouseClick = FALSE; - } - } - } else { - fItemAlpha = 0.8; - } - - if ( iSelected == i ) { - drawfill( [ vPosition_x, vPosition_y - 1 ], [ 397, 14 ], '1 1 1', 0.5, 2 ); - drawstring( [vPosition_x + 8, vPosition_y], sprintf( "%.25s", gethostcachestring( fldName, i ) ), '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - drawstring( [vPosition_x + 186, vPosition_y], sprintf( "%.10s", gethostcachestring( fldMap, i ) ), '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - drawstring( [vPosition_x + 298, vPosition_y], sprintf( "%d/%d", gethostcachenumber( fldPlayers, i ), gethostcachenumber( fldMaxplayers, i ) ), '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - drawstring( [vPosition_x + 362, vPosition_y], sprintf( "%.3s", ftos( gethostcachenumber( fldPing, i ) ) ), '12 12', autocvar_menu_fgcolor, 1.0f, FALSE ); - } else { - drawstring( [vPosition_x + 8, vPosition_y], sprintf( "^3%.25s", gethostcachestring( fldName, i ) ), '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - drawstring( [vPosition_x + 186, vPosition_y], sprintf( "%.10s", gethostcachestring( fldMap, i ) ), '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - drawstring( [vPosition_x + 298, vPosition_y], sprintf( "%d/%d", gethostcachenumber( fldPlayers, i ), gethostcachenumber( fldMaxplayers, i ) ), '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - drawstring( [vPosition_x + 362, vPosition_y], sprintf( "%.3s", ftos( gethostcachenumber( fldPing, i ) ) ), '12 12', autocvar_menu_fgcolor, fItemAlpha, FALSE ); - } -} - -/* -================= -Menu_Multiplayer - -First mulitplayer screen with the server browser -================= -*/ -void Menu_Multiplayer(void) { - static string strCustomIP; - static int iSelectedServer = -1; - static int iScrollServer; - static int iServersTotal; - static int iAddServer = FALSE; - - static void Multiplayer_ButtonJoin(void) { - if ( iSelectedServer >= 0 ) { - localcmd( sprintf( "connect %s\n", gethostcachestring( fldAddress, iSelectedServer ) ) ); - m_hide(); - } - } - static void Multiplayer_ButtonCreate(void) { - iMenu = MENU_MULTIPLAYER_CREATE; - } - static void Multiplayer_ButtonRefresh(void) { - refreshhostcache(); - resorthostcache(); - } - static void Multiplayer_ButtonUpdate(void) { - refreshhostcache(TRUE); - resorthostcache(); - } - static void Multiplayer_ButtonDone(void) { - iMenu = MENU_MAIN; - } - static void Multiplayer_ButtonIRC(void) { - iMenu = MENU_MULTIPLAYER_IRC; - } - static void Multiplayer_ButtonAdd(void) { - iAddServer = 1 - iAddServer; - } - static void Multiplayer_ButtonJoinIP(void) { - if ( strCustomIP ) { - localcmd( sprintf( "connect %s\n", strCustomIP ) ); - m_hide(); - } - } - - // Initialize it on the first run - if ( iSelectedServer == -1 ) { - //clear the filter - resethostcachemasks(); - //sethostcachemaskstring( 0, gethostcacheindexforkey( "gamedir" ), "freecs", SLIST_TEST_EQUAL ); - sethostcachesort( gethostcacheindexforkey( "ping" ), FALSE ); - refreshhostcache(); - iSelectedServer = -2; - } - - resorthostcache(); - fldName = gethostcacheindexforkey("name"); - fldAddress = gethostcacheindexforkey("cname"); - fldPing = gethostcacheindexforkey("ping"); - fldPlayers = gethostcacheindexforkey("numhumans"); - fldMaxplayers = gethostcacheindexforkey("maxplayers"); - fldMap = gethostcacheindexforkey("map"); - - iServersTotal = gethostcachevalue( SLIST_HOSTCACHEVIEWCOUNT ); - - Menu_SetClipArea( '32 148', '164 256' ); - Object_Button( '32 148', BTN_JOINGAME, Multiplayer_ButtonJoin, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_CREATE, Multiplayer_ButtonCreate, fButtonAlpha[1] ); - Object_Button( '32 212', BTN_GAMEINFO, __NULL__, fButtonAlpha[2] ); - Object_Button( '32 244', BTN_REFRESHLIST, Multiplayer_ButtonRefresh, fButtonAlpha[3] ); - Object_Button( '32 276', BTN_UPDATELIST, Multiplayer_ButtonUpdate, fButtonAlpha[4] ); - Object_Button( '32 308', BTN_ADDSERVER, Multiplayer_ButtonAdd, fButtonAlpha[5] ); - - //if ( checkcommand( "irc" ) ) { - Object_Button( '32 340', BTN_IRCCHAT, Multiplayer_ButtonIRC, fButtonAlpha[6] ); - //} - - Object_Button( '32 372', BTN_DONE, Multiplayer_ButtonDone, fButtonAlpha[7] ); - Menu_ResetClipArea(); - - Object_Frame( '196 140', '404 308' ); - Object_Scrollbar( '604 140', 308, iScrollServer ); - - Object_Label( '208 124', _("MP_GAME"), '12 12' ); - Object_Label( '386 124', _("MP_MAP"), '12 12' ); - Object_Label( '498 124', _("MP_PLAYERS"), '12 12' ); - Object_Label( '562 124', _("MP_PING"), '12 12' ); - - Menu_SetClipArea( '196 141', '404 306' ); - vector vListPos = '200 145'; - vListPos_y -= fabs( ( ( iServersTotal - 8 ) * 10 ) * ( iScrollServer / 308 ) ); - - for ( int i = 0; i < iServersTotal; i++ ) { - Menu_Multiplayer_Find_Item( vListPos, i, iSelectedServer ); - vListPos_y += 14; - } - - Menu_ResetClipArea(); - - if ( iAddServer ) { - Object_Frame( '192 192', '256 96' ); - Object_Label( '212 216', "IP/Hostname:", '12 12' ); - Object_Textfield( '212 232', strCustomIP, 25 ); - - Object_Button( '208 248', BTN_JOIN, Multiplayer_ButtonJoinIP, fButtonAlpha[6] ); - Object_Button( '364 248', BTN_CANCEL, Multiplayer_ButtonAdd, fButtonAlpha[7] ); - } - - -} - -/* -================= -Menu_Multiplayer_Create - -Server creation menu screen -================= -*/ -void Menu_Multiplayer_Create(void) { - static int iSelectedMap; - static int iScrollMap; - static int iFirst = 1; - static string strHostname; - - static void Create_ListMap( vector vPosition, int iIndex ) { - float fAlpha = 0.8; - vPosition += vMenuOffset; - - if ( iScrollbarHold == FALSE ) { - if ( Menu_InputCheckMouse( vPosition, '182 10' ) == TRUE ) { - if ( fMouseClick == TRUE ) { - iSelectedMap = iIndex; - fMouseClick = FALSE; - } - fAlpha = 1.0f; - } - } - - if ( fInputKeyCode == K_UPARROW ) { - iSelectedMap--; - fInputKeyCode = 0; - } else if ( fInputKeyCode == K_DOWNARROW ) { - iSelectedMap++; - fInputKeyCode = 0; - } - - if ( iSelectedMap >= iMapCount ) { - iSelectedMap = iMapCount - 1; - } else if ( iSelectedMap < 0 ) { - iSelectedMap = 0; - } - - if ( iSelectedMap == iIndex ) { - drawfill( [ vPosition_x, vPosition_y - 1 ], [ 182, 14 ], '1 1 1', 0.25f, 2 ); - drawstring( vPosition + '8 0', sMapList[ iIndex ], '12 12', autocvar_menu_fgcolor, 1.0f, 0 ); - } else { - drawstring( vPosition + '8 0', sMapList[ iIndex ], '12 12', autocvar_menu_fgcolor, fAlpha, 0 ); - } - } - static void Create_ButtonAdvanced(void) { - // Advanced options - iMenu = MENU_MULTIPLAYER_OPTIONS; - } - static void Create_ButtonOK(void) { - // Apply the configurations - if ( strHostname != __NULL__ ) { - localcmd( sprintf( "hostname %s\n", strHostname ) ); - } else { - strHostname = cvar_string( "hostname" ); - } - - // Start server - localcmd( sprintf( "map %s\n", sMapList[ iSelectedMap ] ) ); - } - static void Create_ButtonCancel(void) { - iMenu = MENU_MULTIPLAYER; - } - - if ( iFirst == 1 ) { - strHostname = cvar_string( "hostname" ); - iFirst = 0; - } - - Object_Button( '32 148', BTN_ADVOPTIONS, Create_ButtonAdvanced, fButtonAlpha[0] ); - Object_Button( '32 180', BTN_OK, Create_ButtonOK, fButtonAlpha[1] ); - Object_Button( '32 212', BTN_CANCEL, Create_ButtonCancel, fButtonAlpha[2] ); - - // Options - Object_Label( '196 148', _("SERVER_NAME"), '12 12' ); - Object_Textfield( '196 160', strHostname, 20 ); - Object_CvarToggle( '196 185', "Public", "sv_public" ); - - // Map list - Object_Label( '384 148', _("MP_MAPS"), '12 12' ); - Object_Frame( '384 164', '190 288' ); - Object_Scrollbar( '576 164', 272, iScrollMap ); - - // Maplist - vector vListPos = '392 172'; - Menu_SetClipArea( '386 166', '188 284' ); - vListPos_y -= fabs( ( ( iMapCount - rint( 272 / 14 ) ) * 14 ) * ( iScrollMap / 272 ) ); - for ( int i = 0; i < iMapCount; i++ ) { - Create_ListMap( vListPos, i ); - vListPos_y += 14; - } - Menu_ResetClipArea(); -} - -int iIRCShowRooms; -var string irc_currentroom; - -static string stockrooms[] = { - "FreeCS Chat", "#freecs", - "Maps & Mods", "#maps", - "Off-Topic", "#general", - "Support", "#support" -}; - -void Menu_Multiplayer_IRC_Rooms(void) -{ - static int iRoomsInitialized = FALSE; - static string roomlist; - - static void IRC_ButtonDone(void) { - iIRCShowRooms = FALSE; - } - - if (!iRoomsInitialized) { - //roomlist - } - - Object_Button( '32 308', BTN_DONE, IRC_ButtonDone, fButtonAlpha[0] ); -} - -void Menu_Multiplayer_IRC(void) { - static int iIRCInit = FALSE; - static string currenttab; - string showtab; - static string s; - static string strGameDir_Lobby; - static string strGameDir_Support; - static string strGameDir_Maps; - static string strGameDir_Mods; - - static void IRC_ButtonDone(void) { - iMenu = MENU_MULTIPLAYER; - } - static void IRC_ButtonSelect(void) { - if (currenttab) - con_input(currenttab, IE_FOCUS, 0/*mouse focus*/, 0/*key focus*/, 0); - if (s) - { - currenttab = s; - con_input(currenttab, IE_FOCUS, 1/*mouse focus*/, 1/*key focus*/, 0); - } - } - - if ( iIRCInit == FALSE ) { - localcmd("plug_load irc\n"); - localcmd(sprintf("irc_nick %s\n", cvar_string("name"))); - strGameDir_Lobby = sprintf("#%s_lobby", cvar_string("game")); - strGameDir_Support = sprintf("#%s_support", cvar_string("game")); - strGameDir_Maps = sprintf("#%s_maps", cvar_string("game")); - strGameDir_Mods = sprintf("#%s_mods", cvar_string("game")); - localcmd("irc /open www.vera-visions.com\n"); - iIRCInit = TRUE; - iIRCShowRooms = TRUE; - } - - if (iIRCShowRooms) { - Menu_Multiplayer_IRC_Rooms(); - return; - } - - int iTabIdx; - vector vTabPos = '196 140'; - for (s = "", iTabIdx = 0; s; s = con_getset(s, "next")) - { - if (substring(s, 0, 3) == "IRC") - { - con_getset( s, "hidden", "1" ); //Hide all IRC consoles. We're evil like that. - - string title = con_getset( s, "title" ); - - iTabIdx++; - if (fButtonAlpha[iTabIdx] < 0.5) - fButtonAlpha[iTabIdx] = 0.5; - Object_TextButton( vTabPos, title, IRC_ButtonSelect, fButtonAlpha[iTabIdx] ); - vTabPos_x += stringwidth(title, TRUE, '12 12') + 8; - } - } - //TODO: scroll tabs. - //TODO: add a close button - //TODO: make it friendly when in-game. - - showtab = currenttab; - - if not (showtab) //the channel we're trying to target - for (s = ""; s; s = con_getset(s, "next")) - { //try to find our target channel - print(sprintf("TAB: %s\n", s)); - if (substring(s, 0, 3) == "IRC" && substring(s, -7, -1) == "#freecs") - { - showtab = s; - break; - } - } - if (!showtab) //the server-messages channel. used more as a loading screen than anything else. - for (s = ""; s; s = con_getset(s, "next")) - { - if (substring(s, 0, 3) == "IRC" && substring(s, -1, -1) == ":") - { - showtab = s; - break; - } - } - - //TODO: propagate input events to the currenttab. - if (currenttab) - { - if (Menu_InputCheckMouse( vMenuOffset + '196 148', '404 308' )) - { - con_input(currenttab, IE_MOUSEABS, vMousePos_x, vMousePos_y, 0); - - if (fMouseClick) - { - con_input(currenttab, IE_KEYDOWN, K_MOUSE1, 0, 0); - con_input(currenttab, IE_KEYUP, K_MOUSE1, 0, 0); - } - con_input(currenttab, IE_FOCUS, 1/*mouse focus*/, 1/*key focus*/, 0); - } - else - con_input(currenttab, IE_FOCUS, 0/*mouse focus*/, 1/*key focus*/, 0); - - //this is hideous - //BUG BUG BUG FIXME: The engine attempts to restrict con_input inputs. - //as a result, it can only be called inside CSQC_Input_Event (or menuqc equivelents) - //note that if you wish to handle IME strings then you should be doing that anyway. - if (fInputKeyCode != K_MOUSE1 && (fInputKeyCode || fInputKeyASCII)) - { - //print(sprintf("Sending input: %f %f %c\n", fInputKeyCode, fInputKeyASCII, fInputKeyASCII)); - con_input(currenttab, IE_KEYDOWN, fInputKeyCode, fInputKeyASCII, 0); - con_input(currenttab, IE_KEYUP, fInputKeyCode, fInputKeyASCII, 0); - fInputKeyCode = 0; - fInputKeyASCII = 0; - } - } - - if (showtab) - con_draw( showtab, vMenuOffset + '196 148', '404 308', 8 ); - else - Object_Label( '196 148', _("No IRC Output"), '12 12' ); - - Object_Button( '32 308', BTN_DONE, IRC_ButtonDone, fButtonAlpha[0] ); -} diff --git a/Source/Menu/Objects.c b/Source/Menu/Objects.c deleted file mode 100755 index 92392874..00000000 --- a/Source/Menu/Objects.c +++ /dev/null @@ -1,403 +0,0 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - -string sButtonLabels[ MENU_BUTTONS ] = { - _("BTN_NEWGAME"), - _("BTN_RESUMEGAME"), - _("BTN_TRAINING"), - _("BTN_CONFIG"), - _("BTN_LOADGAME"), - _("BTN_SAVELOAD"), - _("BTN_README"), - _("BTN_QUIT"), - _("BTN_MULTIPLAYER"), - _("BTN_EASY"), - _("BTN_MEDIUM"), - _("BTN_DIFFICULT"), - _("BTN_SAVEGAME"), - _("BTN_LOADGAME2"), - _("BTN_CANCEL"), - _("BTN_OPTIONS"), - _("BTN_VIDEO"), - _("BTN_AUDIO"), - _("BTN_CONTROLS"), - _("BTN_DONE"), - _("BTN_QUICKSTART"), - _("BTN_DEFAULTS"), - _("BTN_OK"), - _("BTN_VIDEOOPTIONS"), - _("BTN_VIDEOMODES"), - _("BTN_ADVCONTROLS"), - _("BTN_ORDER"), - _("BTN_DELETE"), - _("BTN_INTERNET"), - _("BTN_IRCCHAT"), - _("BTN_LAN"), - _("BTN_CUSTOMIZE"), - _("BTN_SKIP"), - _("BTN_EXIT"), - _("BTN_CONNECT"), - _("BTN_REFRESH"), - _("BTN_FILTER"), - _("BTN_CREATE"), - _("BTN_CREATEGAME"), - _("BTN_CHATROOMS"), - _("BTN_LISTROOMS"), - _("BTN_SEARCH"), - _("BTN_SERVERS"), - _("BTN_JOIN"), - _("BTN_FIND"), - _("BTN_CREATEROOM"), - _("BTN_JOINGAME"), - _("BTN_SEARCHGAMES"), - _("BTN_FINDGAME"), - _("BTN_STARTGAME"), - _("BTN_GAMEINFO"), - _("BTN_UPDATELIST"), - _("BTN_ADDSERVER"), - _("BTN_DISCONNECT"), - _("BTN_CONSOLE"), - _("BTN_CONTENTCONTROL"), - _("BTN_UPDATE"), - _("BTN_VISITWON"), - _("BTN_PREVIEWS"), - _("BTN_ADVOPTIONS"), - _("BTN_3DINFO"), - _("BTN_CUSTOMGAME"), - _("BTN_ACTIVATE"), - _("BTN_INSTALL"), - _("BTN_VISITWEB"), - _("BTN_REFRESHLIST"), - _("BTN_DEACTIVATE"), - _("BTN_SPECTATEGAME"), - _("BTN_SPECTATEGAMES") -}; - -/* -================= -Object_Button - -Used for the (used to be) bitmap buttons in the menu -================= -*/ -void Object_Button( vector vPosition, int iButtonID, void() vFunction, __inout float fAlpha ) { - static int iLastButton = -1; - - vPosition += vMenuOffset; - - if ( fAlpha > 0.0f ) { - fAlpha -= frametime; - } else { - fAlpha = 0.0f; - } - - if ( Menu_InputCheckMouse( vPosition, '156 26' ) == TRUE ) { - if ( iLastButton != iButtonID ) { - //localcmd( "play ../media/launch_deny2.wav\n" ); - } - iLastButton = iButtonID; - fAlpha = 1.0f; - - if ( fMouseClick == TRUE ) { - if ( vFunction != __NULL__ ) { - vFunction(); - } - vHeaderButtonPos = vPosition; - localsound("../media/launch_select2.wav"); - fMouseClick = FALSE; - } - } - - vector vSrcPos, vSrcSize; - vSrcPos_x = 0; - vSrcPos_y = ( 78 * iButtonID ) / vMenuButtonsSize_y; - vSrcSize = [ 1, 26 / vMenuButtonsSize_y ]; - drawsubpic( vPosition, '156 26', "gfx/shell/btns_main", vSrcPos, vSrcSize, '1 1 1', 1.0f, 1 ); - drawsubpic( vPosition, '156 26', "gfx/shell/btns_main", vSrcPos + [ 0, 52 / vMenuButtonsSize_y ], vSrcSize, '1 1 1', fAlpha, 1 ); -} - -void Object_TextButton( vector vPosition, string sButtonText, void() vFunction, __inout float fAlpha ) { - static string sLastButton; - - vPosition += vMenuOffset; - - if ( fAlpha > 0.0f ) { - fAlpha -= frametime; - } else { - fAlpha = 0.0f; - } - - if ( Menu_InputCheckMouse( vPosition, [stringwidth(sButtonText, TRUE, FONTSIZE), 12] ) == TRUE ) { - if ( sLastButton != sButtonText ) { - localsound("../media/launch_deny2.wav"); - } - sLastButton = sButtonText; - fAlpha = 1.0f; - - if ( fMouseClick == TRUE ) { - if ( vFunction != __NULL__ ) { - vFunction(); - } - localsound("../media/launch_select2.wav"); - fMouseClick = FALSE; - } - } - - drawstring( vPosition, sButtonText, FONTSIZE, autocvar_menu_fgcolor, fAlpha, 1 ); -} - -/* -================= -Object_Frame - -A filled "window" of sorts -================= -*/ -void Object_Frame( vector vPosition, vector vSize ) { - vPosition += vMenuOffset; - - // Draw the background - drawfill( vPosition, vSize, '0 0 0', 1.0f ); - - drawfill( vPosition, [vSize_x, 1], autocvar_menu_fgcolor, 1.0f ); // Top - drawfill( [vPosition_x, vPosition_y + vSize_y - 1], [vSize_x, 1], autocvar_menu_fgcolor, 1.0f ); // Bottom - - drawfill( vPosition, [1, vSize_y], autocvar_menu_fgcolor, 1.0f ); // Left - drawfill( [vPosition_x + vSize_x - 1, vPosition_y], [1, vSize_y], autocvar_menu_fgcolor, 1.0f ); // Right -} - -/* -================= -Object_Label - -A label in a cvar driven color scheme -================= -*/ -void Object_Label( vector vPosition, string sLabel, vector vSize ) { - vPosition += vMenuOffset; - drawstring( vPosition, sLabel, vSize, autocvar_menu_fgcolor, 1.0f, 0 ); -} - -/* -================= -Object_Label_Right - -A right-aligned version of Object_Label -================= -*/ -void Object_Label_Right( vector vPosition, string sLabel, vector vSize ) { - vPosition_x -= stringwidth( sLabel, TRUE, vSize ); - Object_Label( vPosition, sLabel, vSize ); -} - -/* -================= -Object_Desc - -A label in a grey scheme -================= -*/ -void Object_Desc( vector vPosition, string sLabel, vector vSize ) { - vPosition += vMenuOffset; - drawstring( vPosition, sLabel, vSize, '0.68 0.68 0.68', 1.0f, 0 ); -} - -/* -================= -Object_Scrollbar - -A scrollbar, for different types of purposes. -Note: Only have one at a time. -================= -*/ -void Object_Scrollbar( vector vPosition, int iHeight, __inout int iProgress ) { - Object_Frame( vPosition, [ 16, iHeight + 16 ] ); - - vPosition += vMenuOffset; - - if ( ( iScrollbarHold == TRUE ) || ( Menu_InputCheckMouse( [vPosition_x, vPosition_y + iProgress ], '16 16' ) == TRUE ) ) { - if ( fMouseClick == TRUE ) { - iProgress = ( vMousePos_y - vPosition_y ); - iScrollbarHold = TRUE; - } - } - - if ( fScrollWheel == SCROLL_DOWN ) { - iProgress += 2; - fScrollWheel = SCROLL_NONE; - } else if ( fScrollWheel == SCROLL_UP ) { - iProgress -= 2; - fScrollWheel = SCROLL_NONE; - } - - if ( iProgress < 0 ) { - iProgress = 0; - } else if ( iProgress > iHeight ) { - iProgress = iHeight; - } - - drawfill( [vPosition_x, vPosition_y + iProgress], [ 16, 16 ], autocvar_menu_fgcolor, 1.0f ); -} - -/* -================= -Object_ScrollbarH - -A scrollbar, for different types of purposes. -This is the horizontal version. -Note: Only have one at a time. -================= -*/ -void Object_ScrollbarH( vector vPosition, int iWidth, __inout int iProgress ) { - Object_Frame( vPosition, [ iWidth + 16, 16 ] ); - - vPosition += vMenuOffset; - - if ( ( Menu_InputCheckMouse( [vPosition_x, vPosition_y ], [ iWidth, 16 ] ) == TRUE ) ) { - if ( fMouseClick == TRUE ) { - iProgress = ( vMousePos_x - vPosition_x ); - } - - if ( fScrollWheel == SCROLL_DOWN ) { - iProgress += 2; - fScrollWheel = SCROLL_NONE; - } else if ( fScrollWheel == SCROLL_UP ) { - iProgress -= 2; - fScrollWheel = SCROLL_NONE; - } - - if ( iProgress < 0 ) { - iProgress = 0; - } else if ( iProgress > iWidth ) { - iProgress = iWidth; - } - } - - drawfill( [ vPosition_x + iProgress, vPosition_y ], [ 16, 16 ], autocvar_menu_fgcolor, 1.0f ); -} - -/* -================= -Object_CvarToggle - -A nice way of toggling cvars. -================= -*/ -void Object_CvarToggle( vector vPosition, string sLabel, string sCvar ) { - float fAlpha = 0.8f; - int iWidth = stringwidth( sLabel, FALSE ); - vPosition += vMenuOffset; - - if ( Menu_InputCheckMouse( vPosition, [ iWidth + 32, 19 ] ) == TRUE ) { - fAlpha = 1.0f; - if ( fMouseClick == TRUE ) { - if ( cvar( sCvar ) == 0 ) { - cvar_set( sCvar, "1" ); - } else { - cvar_set( sCvar, "0" ); - } - fMouseClick = FALSE; - } - } - - drawfill( vPosition + '-2 -2', [ iWidth + 48, 19 ], '0 0 0', 0.8f ); - - if ( cvar( sCvar ) == 0 ) { - drawpic( vPosition, "gfx/shell/cb_empty", '19 19', '1 1 1', 1.0f, 0 ); - drawstring( vPosition+[24,4], sLabel, FONTSIZE, autocvar_menu_fgcolor, fAlpha, 0 ); - } else { - drawpic( vPosition, "gfx/shell/cb_checked", '19 19', '1 1 1', 1.0f, 0 ); - drawstring( vPosition+[24,4], sLabel, FONTSIZE, autocvar_menu_fgcolor, fAlpha, 0 ); - } -} - -/* -================= -Object_FuncToggle - -A nice way of toggling cvars. -================= -*/ -void Object_FuncToggle( vector vPosition, string sLabel, void( void ) vFunc, int iValue ) { - float fAlpha = 0.8f; - int iWidth = stringwidth( sLabel, FALSE ); - vPosition += vMenuOffset; - - if ( Menu_InputCheckMouse( vPosition, [ iWidth + 32, 19 ] ) == TRUE ) { - fAlpha = 1.0f; - if ( fMouseClick == TRUE ) { - vFunc(); - fMouseClick = FALSE; - } - } - - drawfill( vPosition + '-2 -2', [ iWidth + 48, 19 ], '0 0 0', 0.8f ); - - if ( iValue == 0 ) { - drawpic( vPosition, "gfx/shell/cb_empty", '19 19', '1 1 1', 1.0f, 0 ); - drawstring( vPosition+[24,4], sLabel, FONTSIZE, autocvar_menu_fgcolor, fAlpha, 0 ); - } else { - drawpic( vPosition, "gfx/shell/cb_checked", '19 19', '1 1 1', 1.0f, 0 ); - drawstring( vPosition+[24,4], sLabel, FONTSIZE, autocvar_menu_fgcolor, fAlpha, 0 ); - } -} - - -/* -================= -Object_FuncToggle - -A nice way of toggling cvars. -================= -*/ -void Object_Textfield( vector vPosition, __inout string strValue, int iMaxChars ) { - float fFieldAlpha = 0.8f; - vector vSize = [ ( iMaxChars * 8 ) + 16, 14 ]; - - Object_Frame( vPosition - '2 2', vSize ); - - vPosition += vMenuOffset; - - if ( Menu_InputCheckMouse( vPosition, vSize ) == TRUE ) { - if( fInputKeyCode == K_BACKSPACE ) { - if ( strValue ) { - strValue = substring( strValue, 0, strlen( strValue ) - 1 ); - fInputKeyCode = 0; - fInputKeyASCII = 0; - } - } else if ( fInputKeyASCII ) { - if ( strlen( strValue ) <= iMaxChars ) { - strValue = sprintf( "%s%s", strValue, chr2str( fInputKeyASCII ) ); - fInputKeyASCII = 0; - fInputKeyCode = 0; - } - } - fFieldAlpha = 1.0f; - drawstring( vPosition, sprintf( "%s_", strValue ), FONTSIZE, autocvar_menu_fgcolor, fFieldAlpha, FALSE ); - } else { - drawstring( vPosition, strValue, FONTSIZE, autocvar_menu_fgcolor, fFieldAlpha, FALSE ); - } -} diff --git a/Source/Menu/progs.src b/Source/Menu/progs.src deleted file mode 100755 index ac3f81a4..00000000 --- a/Source/Menu/progs.src +++ /dev/null @@ -1,18 +0,0 @@ -#pragma target fte -#pragma progs_dat "../../freecs/menu.dat" - -#define MENU - -#includelist -../Builtins.h -../Math.h -Defs.h -Init.c -Input.c -Objects.c -MenuMain.c -MenuConfiguration.c -MenuMultiplayer.c -Header.c -Draw.c -#endlist diff --git a/Source/Server/.kdev4/Server.kdev4 b/Source/Server/.kdev4/Server.kdev4 deleted file mode 100755 index 92f66cc6..00000000 --- a/Source/Server/.kdev4/Server.kdev4 +++ /dev/null @@ -1,5 +0,0 @@ -[Buildset] -BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x0c\x00S\x00e\x00r\x00v\x00e\x00r) - -[Project] -VersionControlSupport=kdevgit diff --git a/Source/Server/Ammo.c b/Source/Server/Ammo.c index 7d0b420b..f0903319 100755 --- a/Source/Server/Ammo.c +++ b/Source/Server/Ammo.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ ammoinfo_t ammoTable[11] = { { 0, 0, 0 }, diff --git a/Source/Server/Client.c b/Source/Server/Client.c index 1d84891d..0884ca8c 100755 --- a/Source/Server/Client.c +++ b/Source/Server/Client.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ /* ================= diff --git a/Source/Server/Damage.c b/Source/Server/Damage.c index e4c7db27..56b953d9 100755 --- a/Source/Server/Damage.c +++ b/Source/Server/Damage.c @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/Defs.h b/Source/Server/Defs.h index 9a6925dc..c1590158 100755 --- a/Source/Server/Defs.h +++ b/Source/Server/Defs.h @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ #define CLASSEXPORT(classname,classa) void classname ( void ) { spawnfunc_##classa(); } diff --git a/Source/Server/DefsFields.h b/Source/Server/DefsFields.h index 4fd2ca83..afc15193 100644 --- a/Source/Server/DefsFields.h +++ b/Source/Server/DefsFields.h @@ -1,52 +1,19 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ - - -// All about +use -.void(void) vUse; -.int iUsable; +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ // Generic entity fields .void() PlayerUse; .int iBleeds; .void(int iHitBody) vPain; .void(int iHitBody) vDeath; -.float fRespawns; .entity eUser; .float material; -/* Respawnable/reset entity fields */ -.string sOldModel; -.float fOldSolid; -.float fOldHealth; -.vector vOldOrigin; -.vector vOldAngle; -.void() vRespawn; -.void() vOldUse; - // Player specific fields .float fInBuyZone; .float fInHostageZone; @@ -55,12 +22,12 @@ .float fInVIPZone; .float fMoney; .float fStepTime; -.int iInGame; .float fCharModel; .float fDeaths; -.int iEquipment; -.float armor; .float fProgressBar; +.float armor; +.int iEquipment; +.int iInGame; // Weapon specific fields .int iCurrentMag; @@ -74,39 +41,3 @@ .float fRadioFinished; .float fAccuracy; -/* Map Entity Specific Fields /* - * They used to be in their respective files, but there is not much point */ - -/* armoury_entity */ -.float item; -.float count; - -/* env_explosion */ -.int iMagnitude; - -/* env_spark */ -.float MaxDelay; - -/* func_button || func_door */ -.float speed; -.float lip; -.float dmg; -.float state; -.vector pos1; -.vector pos2; -.float movesnd; -.float stopsnd; - -/* func_door_rotating */ -.float distance; - -/* func_vehicle */ -.entity eDriver; -.entity eVehicle; -.float height; - -/* infodecal */ -.string texture; - -/* light */ -.string pattern; diff --git a/Source/Server/Footsteps.c b/Source/Server/Footsteps.c index bb5214cd..b311bbff 100755 --- a/Source/Server/Footsteps.c +++ b/Source/Server/Footsteps.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iStep; diff --git a/Source/Server/Input.c b/Source/Server/Input.c index e58645d2..e7ed61ff 100755 --- a/Source/Server/Input.c +++ b/Source/Server/Input.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ /* ================= diff --git a/Source/Server/Main.c b/Source/Server/Main.c index 7139d91e..a7fd2269 100755 --- a/Source/Server/Main.c +++ b/Source/Server/Main.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ void main( void ) {} diff --git a/Source/Server/Money.c b/Source/Server/Money.c index 762f779e..d5ca082c 100755 --- a/Source/Server/Money.c +++ b/Source/Server/Money.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ int iMoneyReward_CT; int iMoneyReward_T; diff --git a/Source/Server/Player.c b/Source/Server/Player.c index e602740a..0e80ab86 100755 --- a/Source/Server/Player.c +++ b/Source/Server/Player.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ string sPainSounds[5] = { "player/pl_pain2.wav", diff --git a/Source/Server/Rules.c b/Source/Server/Rules.c index 66235fc9..58e8fb00 100755 --- a/Source/Server/Rules.c +++ b/Source/Server/Rules.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ enum { BUY_BOTH, diff --git a/Source/Server/Spawn.c b/Source/Server/Spawn.c index 8995d344..e8298529 100755 --- a/Source/Server/Spawn.c +++ b/Source/Server/Spawn.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ entity eLastTSpawn; entity eLastCTSpawn; diff --git a/Source/Server/Timer.c b/Source/Server/Timer.c index 1ff5a6d4..ca8a2d3b 100755 --- a/Source/Server/Timer.c +++ b/Source/Server/Timer.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ /* ================= diff --git a/Source/Server/TraceAttack.c b/Source/Server/TraceAttack.c index 41981b28..4a88d623 100755 --- a/Source/Server/TraceAttack.c +++ b/Source/Server/TraceAttack.c @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/Vox.c b/Source/Server/Vox.c index 100d1228..918346ed 100755 --- a/Source/Server/Vox.c +++ b/Source/Server/Vox.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ /* ================= diff --git a/Source/Server/armoury_entity.cpp b/Source/Server/armoury_entity.cpp index 0652e3ed..656f0a04 100755 --- a/Source/Server/armoury_entity.cpp +++ b/Source/Server/armoury_entity.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ @@ -25,7 +25,7 @@ int iArmouryItems[19] = { WEAPON_HEGRENADE, EQUIPMENT_KEVLAR, EQUIPMENT_HELMET, - WEAPON_SMOKEGRENADE, + WEAPON_SMOKEGRENADE }; string sArmouryModels[19] = { diff --git a/Source/Server/func_bomb_target.cpp b/Source/Server/func_bomb_target.cpp index a14b260e..4d63c07d 100755 --- a/Source/Server/func_bomb_target.cpp +++ b/Source/Server/func_bomb_target.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/func_buyzone.cpp b/Source/Server/func_buyzone.cpp index 21c4d91a..ff16a378 100755 --- a/Source/Server/func_buyzone.cpp +++ b/Source/Server/func_buyzone.cpp @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ class func_buyzone { diff --git a/Source/Server/func_escapezone.cpp b/Source/Server/func_escapezone.cpp index d3357ec6..bcd3c26a 100644 --- a/Source/Server/func_escapezone.cpp +++ b/Source/Server/func_escapezone.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/func_hostage_rescue.cpp b/Source/Server/func_hostage_rescue.cpp index 3638005d..5c9a5529 100644 --- a/Source/Server/func_hostage_rescue.cpp +++ b/Source/Server/func_hostage_rescue.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/func_vip_safetyzone.cpp b/Source/Server/func_vip_safetyzone.cpp index 5339db82..060ad279 100644 --- a/Source/Server/func_vip_safetyzone.cpp +++ b/Source/Server/func_vip_safetyzone.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/hostage_entity.cpp b/Source/Server/hostage_entity.cpp index 114e1651..f155ac64 100644 --- a/Source/Server/hostage_entity.cpp +++ b/Source/Server/hostage_entity.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/info_hostage_rescue.cpp b/Source/Server/info_hostage_rescue.cpp index 50d7757d..2bf58d3d 100644 --- a/Source/Server/info_hostage_rescue.cpp +++ b/Source/Server/info_hostage_rescue.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Server/info_map_parameters.cpp b/Source/Server/info_map_parameters.cpp index d920e081..e228f529 100644 --- a/Source/Server/info_map_parameters.cpp +++ b/Source/Server/info_map_parameters.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Shared/Animations.c b/Source/Shared/Animations.c index 715694c3..beeaea21 100755 --- a/Source/Shared/Animations.c +++ b/Source/Shared/Animations.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .float baseframe_time; .float baseframe_old; diff --git a/Source/Shared/BaseGun.c b/Source/Shared/BaseGun.c index 1bf24cb7..cf0b56d8 100755 --- a/Source/Shared/BaseGun.c +++ b/Source/Shared/BaseGun.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ weaponinfo_t wptTable[ CS_WEAPON_COUNT ] = { { 0, 0, 0, 0, 240, 0, 0, 0, 0, 0.0, 0.0, 0, 0.0, 0.0, iAmmo_9MM, iAmmo_9MM, 0.0, 0.0, 0.0, 0, 0 }, diff --git a/Source/Shared/BaseMelee.c b/Source/Shared/BaseMelee.c index d40640e1..00e0094b 100755 --- a/Source/Shared/BaseMelee.c +++ b/Source/Shared/BaseMelee.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ #ifdef SSQC void BaseMelee_Draw( void ) { diff --git a/Source/Shared/Effects.c b/Source/Shared/Effects.c index 590c0779..d3008b70 100755 --- a/Source/Shared/Effects.c +++ b/Source/Shared/Effects.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ void Effect_CreateExplosion( vector vPos ) { #ifdef SSQC diff --git a/Source/Shared/Equipment.c b/Source/Shared/Equipment.c index fe571bca..1583f317 100755 --- a/Source/Shared/Equipment.c +++ b/Source/Shared/Equipment.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ equipmentinfo_t eqptTable [ CS_EQUIPMENT_COUNT ] = { { EQUIPMENT_KEVLAR, 650 }, diff --git a/Source/Shared/Radio.c b/Source/Shared/Radio.c index 8f871f86..92fce770 100755 --- a/Source/Shared/Radio.c +++ b/Source/Shared/Radio.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ enum { RADIO_BLOW, diff --git a/Source/Shared/WeaponAK47.c b/Source/Shared/WeaponAK47.c index 26a9f7f6..0552a6fc 100755 --- a/Source/Shared/WeaponAK47.c +++ b/Source/Shared/WeaponAK47.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_AK47; diff --git a/Source/Shared/WeaponAUG.c b/Source/Shared/WeaponAUG.c index 125f8217..18242605 100755 --- a/Source/Shared/WeaponAUG.c +++ b/Source/Shared/WeaponAUG.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_AUG; diff --git a/Source/Shared/WeaponAWP.c b/Source/Shared/WeaponAWP.c index 770b8710..a93f12be 100755 --- a/Source/Shared/WeaponAWP.c +++ b/Source/Shared/WeaponAWP.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_AWP; diff --git a/Source/Shared/WeaponC4Bomb.c b/Source/Shared/WeaponC4Bomb.c index 89fc01fd..6e1a536e 100755 --- a/Source/Shared/WeaponC4Bomb.c +++ b/Source/Shared/WeaponC4Bomb.c @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Shared/WeaponDeagle.c b/Source/Shared/WeaponDeagle.c index c40a7cba..c16f7996 100755 --- a/Source/Shared/WeaponDeagle.c +++ b/Source/Shared/WeaponDeagle.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_DEAGLE; diff --git a/Source/Shared/WeaponElites.c b/Source/Shared/WeaponElites.c index 33508055..118911f2 100755 --- a/Source/Shared/WeaponElites.c +++ b/Source/Shared/WeaponElites.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_ELITES; diff --git a/Source/Shared/WeaponFiveSeven.c b/Source/Shared/WeaponFiveSeven.c index c298bc46..5fd23c56 100755 --- a/Source/Shared/WeaponFiveSeven.c +++ b/Source/Shared/WeaponFiveSeven.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_FIVESEVEN; diff --git a/Source/Shared/WeaponFlashbang.c b/Source/Shared/WeaponFlashbang.c index fbcdb98e..21d569d1 100755 --- a/Source/Shared/WeaponFlashbang.c +++ b/Source/Shared/WeaponFlashbang.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iAmmo_FLASHBANG; diff --git a/Source/Shared/WeaponG3SG1.c b/Source/Shared/WeaponG3SG1.c index d554e5f2..4633b231 100755 --- a/Source/Shared/WeaponG3SG1.c +++ b/Source/Shared/WeaponG3SG1.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_G3SG1; diff --git a/Source/Shared/WeaponGlock18.c b/Source/Shared/WeaponGlock18.c index 8bee7555..5a0817ff 100755 --- a/Source/Shared/WeaponGlock18.c +++ b/Source/Shared/WeaponGlock18.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_GLOCK18; diff --git a/Source/Shared/WeaponHEGrenade.c b/Source/Shared/WeaponHEGrenade.c index 425b50ef..c5e3cd92 100755 --- a/Source/Shared/WeaponHEGrenade.c +++ b/Source/Shared/WeaponHEGrenade.c @@ -1,28 +1,11 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ .int iAmmo_HEGRENADE; // This is to keep track of us holding down the nade diff --git a/Source/Shared/WeaponKnife.c b/Source/Shared/WeaponKnife.c index 4ac49b81..3840758c 100755 --- a/Source/Shared/WeaponKnife.c +++ b/Source/Shared/WeaponKnife.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ // Weapon Info weaponinfo_t wptKNIFE = { diff --git a/Source/Shared/WeaponM3.c b/Source/Shared/WeaponM3.c index c4463021..faed9d29 100755 --- a/Source/Shared/WeaponM3.c +++ b/Source/Shared/WeaponM3.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_M3; diff --git a/Source/Shared/WeaponM4A1.c b/Source/Shared/WeaponM4A1.c index 87d4964b..adfa4d8f 100755 --- a/Source/Shared/WeaponM4A1.c +++ b/Source/Shared/WeaponM4A1.c @@ -1,28 +1,11 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ .int iMag_M4A1; #ifdef SSQC diff --git a/Source/Shared/WeaponMP5.c b/Source/Shared/WeaponMP5.c index 33f4fc46..3313ed95 100755 --- a/Source/Shared/WeaponMP5.c +++ b/Source/Shared/WeaponMP5.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_MP5; diff --git a/Source/Shared/WeaponMac10.c b/Source/Shared/WeaponMac10.c index a07a6d46..53cec50b 100755 --- a/Source/Shared/WeaponMac10.c +++ b/Source/Shared/WeaponMac10.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_MAC10; diff --git a/Source/Shared/WeaponP228.c b/Source/Shared/WeaponP228.c index ecac2a1d..a8760f46 100755 --- a/Source/Shared/WeaponP228.c +++ b/Source/Shared/WeaponP228.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_P228; diff --git a/Source/Shared/WeaponP90.c b/Source/Shared/WeaponP90.c index 87682a43..bd34ec26 100755 --- a/Source/Shared/WeaponP90.c +++ b/Source/Shared/WeaponP90.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_P90; diff --git a/Source/Shared/WeaponPara.c b/Source/Shared/WeaponPara.c index 4917aee4..cca956a3 100755 --- a/Source/Shared/WeaponPara.c +++ b/Source/Shared/WeaponPara.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_PARA; diff --git a/Source/Shared/WeaponSG550.c b/Source/Shared/WeaponSG550.c index dd7186e9..16263b59 100755 --- a/Source/Shared/WeaponSG550.c +++ b/Source/Shared/WeaponSG550.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_SG550; diff --git a/Source/Shared/WeaponSG552.c b/Source/Shared/WeaponSG552.c index 105df51f..e65aa1da 100755 --- a/Source/Shared/WeaponSG552.c +++ b/Source/Shared/WeaponSG552.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_SG552; diff --git a/Source/Shared/WeaponScout.c b/Source/Shared/WeaponScout.c index 89353100..abeeeba0 100755 --- a/Source/Shared/WeaponScout.c +++ b/Source/Shared/WeaponScout.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_SCOUT; diff --git a/Source/Shared/WeaponSmokeGrenade.c b/Source/Shared/WeaponSmokeGrenade.c index df759b36..887a964a 100755 --- a/Source/Shared/WeaponSmokeGrenade.c +++ b/Source/Shared/WeaponSmokeGrenade.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iAmmo_SMOKEGRENADE; diff --git a/Source/Shared/WeaponTMP.c b/Source/Shared/WeaponTMP.c index ecd3158d..7a426453 100755 --- a/Source/Shared/WeaponTMP.c +++ b/Source/Shared/WeaponTMP.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_TMP; diff --git a/Source/Shared/WeaponUMP45.c b/Source/Shared/WeaponUMP45.c index 66d02378..2bc5c11c 100755 --- a/Source/Shared/WeaponUMP45.c +++ b/Source/Shared/WeaponUMP45.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_UMP45; diff --git a/Source/Shared/WeaponUSP45.c b/Source/Shared/WeaponUSP45.c index 7ffb590e..97f58365 100755 --- a/Source/Shared/WeaponUSP45.c +++ b/Source/Shared/WeaponUSP45.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_USP45; diff --git a/Source/Shared/WeaponXM1014.c b/Source/Shared/WeaponXM1014.c index 15253dd7..8c18f329 100755 --- a/Source/Shared/WeaponXM1014.c +++ b/Source/Shared/WeaponXM1014.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ .int iMag_XM1014; diff --git a/Source/Shared/Weapons.c b/Source/Shared/Weapons.c index 09fd6a11..fb111c05 100755 --- a/Source/Shared/Weapons.c +++ b/Source/Shared/Weapons.c @@ -1,28 +1,10 @@ -/* - Copyright 2016-2018 Marco "eukara" Hladik - - MIT LICENSE - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. -*/ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ void Temp_Nothing( void ) { } diff --git a/Source/Shared/pmove.c b/Source/Shared/pmove.c index bc8871a4..9b2e0192 100644 --- a/Source/Shared/pmove.c +++ b/Source/Shared/pmove.c @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/Shared/spraylogo.cpp b/Source/Shared/spraylogo.cpp index 67020cb2..4bada135 100644 --- a/Source/Shared/spraylogo.cpp +++ b/Source/Shared/spraylogo.cpp @@ -1,6 +1,8 @@ /*** * -* Copyright(c) 2000-2019, Vera Visions. All rights reserved. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/client/fade.cpp b/Source/gs-entbase/client/fade.cpp index 8a728e3d..96adda23 100644 --- a/Source/gs-entbase/client/fade.cpp +++ b/Source/gs-entbase/client/fade.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/client/sprite.cpp b/Source/gs-entbase/client/sprite.cpp index 3a1378f3..3877eccf 100644 --- a/Source/gs-entbase/client/sprite.cpp +++ b/Source/gs-entbase/client/sprite.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/client/text.cpp b/Source/gs-entbase/client/text.cpp index c71f7562..754b608f 100644 --- a/Source/gs-entbase/client/text.cpp +++ b/Source/gs-entbase/client/text.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/ambient_generic.cpp b/Source/gs-entbase/server/ambient_generic.cpp index d2371081..7044b92f 100644 --- a/Source/gs-entbase/server/ambient_generic.cpp +++ b/Source/gs-entbase/server/ambient_generic.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/baseentity.cpp b/Source/gs-entbase/server/baseentity.cpp index 67757a29..c7668272 100644 --- a/Source/gs-entbase/server/baseentity.cpp +++ b/Source/gs-entbase/server/baseentity.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ @@ -43,6 +43,10 @@ void CBaseEntity :: CBaseEntity ( void ) return; } } + + /*m_renderamt = 255; + m_rendercolor = [1,1,1]; + m_rendermode = 0;*/ gflags |= GF_CANRESPAWN; m_oldModel = Util_FixModel(model); diff --git a/Source/gs-entbase/server/basetrigger.cpp b/Source/gs-entbase/server/basetrigger.cpp index 3068fd25..4dbc6227 100644 --- a/Source/gs-entbase/server/basetrigger.cpp +++ b/Source/gs-entbase/server/basetrigger.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/cycler.cpp b/Source/gs-entbase/server/cycler.cpp index 5915a242..698a7197 100644 --- a/Source/gs-entbase/server/cycler.cpp +++ b/Source/gs-entbase/server/cycler.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/cycler_sprite.cpp b/Source/gs-entbase/server/cycler_sprite.cpp index 225b5d6a..25c6867b 100644 --- a/Source/gs-entbase/server/cycler_sprite.cpp +++ b/Source/gs-entbase/server/cycler_sprite.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/defs.h b/Source/gs-entbase/server/defs.h index fd76a984..fd3cfa87 100644 --- a/Source/gs-entbase/server/defs.h +++ b/Source/gs-entbase/server/defs.h @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_beam.cpp b/Source/gs-entbase/server/env_beam.cpp index 7337c437..ac62f9a6 100644 --- a/Source/gs-entbase/server/env_beam.cpp +++ b/Source/gs-entbase/server/env_beam.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_beverage.cpp b/Source/gs-entbase/server/env_beverage.cpp index f0497f68..b02e3ce6 100644 --- a/Source/gs-entbase/server/env_beverage.cpp +++ b/Source/gs-entbase/server/env_beverage.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_explosion.cpp b/Source/gs-entbase/server/env_explosion.cpp index b5824422..9041e557 100644 --- a/Source/gs-entbase/server/env_explosion.cpp +++ b/Source/gs-entbase/server/env_explosion.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_fade.cpp b/Source/gs-entbase/server/env_fade.cpp index 7f1cf145..8c5a67f8 100644 --- a/Source/gs-entbase/server/env_fade.cpp +++ b/Source/gs-entbase/server/env_fade.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_global.cpp b/Source/gs-entbase/server/env_global.cpp index a67dbdad..4afe3621 100644 --- a/Source/gs-entbase/server/env_global.cpp +++ b/Source/gs-entbase/server/env_global.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_glow.cpp b/Source/gs-entbase/server/env_glow.cpp index ee8b30c4..fea03d25 100644 --- a/Source/gs-entbase/server/env_glow.cpp +++ b/Source/gs-entbase/server/env_glow.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_message.cpp b/Source/gs-entbase/server/env_message.cpp index 4f9bbe52..c8bde922 100644 --- a/Source/gs-entbase/server/env_message.cpp +++ b/Source/gs-entbase/server/env_message.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_render.cpp b/Source/gs-entbase/server/env_render.cpp index edf9141a..caf8b605 100644 --- a/Source/gs-entbase/server/env_render.cpp +++ b/Source/gs-entbase/server/env_render.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_shake.cpp b/Source/gs-entbase/server/env_shake.cpp index ca47b898..02be1ba6 100644 --- a/Source/gs-entbase/server/env_shake.cpp +++ b/Source/gs-entbase/server/env_shake.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_shooter.cpp b/Source/gs-entbase/server/env_shooter.cpp index 5594b55a..06a51538 100644 --- a/Source/gs-entbase/server/env_shooter.cpp +++ b/Source/gs-entbase/server/env_shooter.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_spark.cpp b/Source/gs-entbase/server/env_spark.cpp index d1d34ce9..53a8e1e6 100644 --- a/Source/gs-entbase/server/env_spark.cpp +++ b/Source/gs-entbase/server/env_spark.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/env_sprite.cpp b/Source/gs-entbase/server/env_sprite.cpp index 67a32c33..cd6c2d07 100644 --- a/Source/gs-entbase/server/env_sprite.cpp +++ b/Source/gs-entbase/server/env_sprite.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_breakable.cpp b/Source/gs-entbase/server/func_breakable.cpp index 705d9a91..94dc2c6e 100755 --- a/Source/gs-entbase/server/func_breakable.cpp +++ b/Source/gs-entbase/server/func_breakable.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_button.cpp b/Source/gs-entbase/server/func_button.cpp index df8f5b2f..36b56be5 100644 --- a/Source/gs-entbase/server/func_button.cpp +++ b/Source/gs-entbase/server/func_button.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_conveyor.cpp b/Source/gs-entbase/server/func_conveyor.cpp index e7aecfc1..2ae73445 100644 --- a/Source/gs-entbase/server/func_conveyor.cpp +++ b/Source/gs-entbase/server/func_conveyor.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_door.cpp b/Source/gs-entbase/server/func_door.cpp index a6dd2afc..ace652c1 100644 --- a/Source/gs-entbase/server/func_door.cpp +++ b/Source/gs-entbase/server/func_door.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_door_rotating.cpp b/Source/gs-entbase/server/func_door_rotating.cpp index 1e4f001f..b5c80bef 100644 --- a/Source/gs-entbase/server/func_door_rotating.cpp +++ b/Source/gs-entbase/server/func_door_rotating.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_healthcharger.cpp b/Source/gs-entbase/server/func_healthcharger.cpp index 8c29429c..4459cc48 100644 --- a/Source/gs-entbase/server/func_healthcharger.cpp +++ b/Source/gs-entbase/server/func_healthcharger.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_illusionary.cpp b/Source/gs-entbase/server/func_illusionary.cpp index 90a9c936..1e69935d 100644 --- a/Source/gs-entbase/server/func_illusionary.cpp +++ b/Source/gs-entbase/server/func_illusionary.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_ladder.cpp b/Source/gs-entbase/server/func_ladder.cpp index 9b3acb5c..6dcdcc0b 100644 --- a/Source/gs-entbase/server/func_ladder.cpp +++ b/Source/gs-entbase/server/func_ladder.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_recharge.cpp b/Source/gs-entbase/server/func_recharge.cpp index 8b6b095c..c9eabaa2 100644 --- a/Source/gs-entbase/server/func_recharge.cpp +++ b/Source/gs-entbase/server/func_recharge.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_rotating.cpp b/Source/gs-entbase/server/func_rotating.cpp index e1c31d37..c086ce8e 100644 --- a/Source/gs-entbase/server/func_rotating.cpp +++ b/Source/gs-entbase/server/func_rotating.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ @@ -38,7 +38,7 @@ void CFuncRotating :: Rotate( void ) void CFuncRotating :: Trigger ( void ) { if ( vlen( avelocity ) ) { - avelocity = '0 0 0'; + avelocity = [0,0,0]; } else { avelocity = m_vecMoveDir * m_flSpeed; } @@ -79,7 +79,7 @@ void CFuncRotating :: SetMovementDirection ( void ) } else { m_vecMoveDir = '0 1 0'; } - + if ( spawnflags & FR_REVERSE ) { m_vecMoveDir *= -1; } diff --git a/Source/gs-entbase/server/func_train.cpp b/Source/gs-entbase/server/func_train.cpp index 0e54bc33..8738686d 100644 --- a/Source/gs-entbase/server/func_train.cpp +++ b/Source/gs-entbase/server/func_train.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_wall.cpp b/Source/gs-entbase/server/func_wall.cpp index cd0d2c5e..04c057bc 100644 --- a/Source/gs-entbase/server/func_wall.cpp +++ b/Source/gs-entbase/server/func_wall.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/func_wall_toggle.cpp b/Source/gs-entbase/server/func_wall_toggle.cpp index 8cfc27ec..0c9b9546 100644 --- a/Source/gs-entbase/server/func_wall_toggle.cpp +++ b/Source/gs-entbase/server/func_wall_toggle.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/game_text.cpp b/Source/gs-entbase/server/game_text.cpp index 6d4ea22c..8025ba50 100644 --- a/Source/gs-entbase/server/game_text.cpp +++ b/Source/gs-entbase/server/game_text.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/infodecal.cpp b/Source/gs-entbase/server/infodecal.cpp index 02ba2a94..3b412681 100644 --- a/Source/gs-entbase/server/infodecal.cpp +++ b/Source/gs-entbase/server/infodecal.cpp @@ -1,14 +1,16 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ /* We need to save trace infos temporarily in order to figure out what to * project the decal against. Half-Life's infodecal entity only stores origin, * but not angles. So we have to figure them out ourselves. */ +.string texture; + typedef struct { float fraction; vector normal; diff --git a/Source/gs-entbase/server/item_food.cpp b/Source/gs-entbase/server/item_food.cpp index 9bc3e5d4..d0c85c91 100644 --- a/Source/gs-entbase/server/item_food.cpp +++ b/Source/gs-entbase/server/item_food.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/item_suit.cpp b/Source/gs-entbase/server/item_suit.cpp index 26d6281f..cb6ca2a6 100644 --- a/Source/gs-entbase/server/item_suit.cpp +++ b/Source/gs-entbase/server/item_suit.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/light.cpp b/Source/gs-entbase/server/light.cpp index 418dab95..e24d1978 100644 --- a/Source/gs-entbase/server/light.cpp +++ b/Source/gs-entbase/server/light.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/monster_furniture.cpp b/Source/gs-entbase/server/monster_furniture.cpp index 82993305..ece898cc 100644 --- a/Source/gs-entbase/server/monster_furniture.cpp +++ b/Source/gs-entbase/server/monster_furniture.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/monster_generic.cpp b/Source/gs-entbase/server/monster_generic.cpp index 0c3584ea..c43e4186 100644 --- a/Source/gs-entbase/server/monster_generic.cpp +++ b/Source/gs-entbase/server/monster_generic.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/multi_manager.cpp b/Source/gs-entbase/server/multi_manager.cpp index dc100144..8469996c 100644 --- a/Source/gs-entbase/server/multi_manager.cpp +++ b/Source/gs-entbase/server/multi_manager.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/multisource.cpp b/Source/gs-entbase/server/multisource.cpp index 78534e92..a24e33fb 100644 --- a/Source/gs-entbase/server/multisource.cpp +++ b/Source/gs-entbase/server/multisource.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/scripted_sequence.cpp b/Source/gs-entbase/server/scripted_sequence.cpp index e69de29b..12bf1f1b 100644 --- a/Source/gs-entbase/server/scripted_sequence.cpp +++ b/Source/gs-entbase/server/scripted_sequence.cpp @@ -0,0 +1,9 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO diff --git a/Source/gs-entbase/server/stubs.cpp b/Source/gs-entbase/server/stubs.cpp index 5ecfa533..9a60a8e6 100644 --- a/Source/gs-entbase/server/stubs.cpp +++ b/Source/gs-entbase/server/stubs.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_auto.cpp b/Source/gs-entbase/server/trigger_auto.cpp index 9ae9872b..12d4120b 100644 --- a/Source/gs-entbase/server/trigger_auto.cpp +++ b/Source/gs-entbase/server/trigger_auto.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_camera.cpp b/Source/gs-entbase/server/trigger_camera.cpp index 7b82d979..c2c6fdd0 100644 --- a/Source/gs-entbase/server/trigger_camera.cpp +++ b/Source/gs-entbase/server/trigger_camera.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_cdaudio.cpp b/Source/gs-entbase/server/trigger_cdaudio.cpp index 05940ed4..2172b490 100644 --- a/Source/gs-entbase/server/trigger_cdaudio.cpp +++ b/Source/gs-entbase/server/trigger_cdaudio.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_changelevel.cpp b/Source/gs-entbase/server/trigger_changelevel.cpp index c70ce2ff..e734226c 100644 --- a/Source/gs-entbase/server/trigger_changelevel.cpp +++ b/Source/gs-entbase/server/trigger_changelevel.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_endsection.cpp b/Source/gs-entbase/server/trigger_endsection.cpp index f1787e01..2f36464f 100644 --- a/Source/gs-entbase/server/trigger_endsection.cpp +++ b/Source/gs-entbase/server/trigger_endsection.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_hurt.cpp b/Source/gs-entbase/server/trigger_hurt.cpp index 83ef53f1..a28250d1 100644 --- a/Source/gs-entbase/server/trigger_hurt.cpp +++ b/Source/gs-entbase/server/trigger_hurt.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_multiple.cpp b/Source/gs-entbase/server/trigger_multiple.cpp index d0f23401..714bb67f 100644 --- a/Source/gs-entbase/server/trigger_multiple.cpp +++ b/Source/gs-entbase/server/trigger_multiple.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_once.cpp b/Source/gs-entbase/server/trigger_once.cpp index cd14d781..bbd78654 100644 --- a/Source/gs-entbase/server/trigger_once.cpp +++ b/Source/gs-entbase/server/trigger_once.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_push.cpp b/Source/gs-entbase/server/trigger_push.cpp index a9fe813b..666bd780 100644 --- a/Source/gs-entbase/server/trigger_push.cpp +++ b/Source/gs-entbase/server/trigger_push.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_relay.cpp b/Source/gs-entbase/server/trigger_relay.cpp index db7a61f0..6827b752 100644 --- a/Source/gs-entbase/server/trigger_relay.cpp +++ b/Source/gs-entbase/server/trigger_relay.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_teleport.cpp b/Source/gs-entbase/server/trigger_teleport.cpp index edebe7cd..59fd9ed6 100644 --- a/Source/gs-entbase/server/trigger_teleport.cpp +++ b/Source/gs-entbase/server/trigger_teleport.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/Source/gs-entbase/server/trigger_transition.cpp b/Source/gs-entbase/server/trigger_transition.cpp index ab84d809..afd4b6fd 100644 --- a/Source/gs-entbase/server/trigger_transition.cpp +++ b/Source/gs-entbase/server/trigger_transition.cpp @@ -1,8 +1,8 @@ /*** * -* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. -* -* See the file LICENSE attached with the sources for usage details. +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. * ****/ diff --git a/default.fmf b/default.fmf index bfef8541..0296bf0e 100755 --- a/default.fmf +++ b/default.fmf @@ -3,8 +3,8 @@ game cstrike name "FreeCS" protocolname "FREECS" basegame logos -basegame fn basegame valve basegame cstrike +basegame fn basegame *freecs disablehomedir 1 diff --git a/fn/menu.dat b/fn/menu.dat index 0dde333732a7430405443147813d2956d5818253..7d0996de07404be0901b84f974dce75fca0db24c 100644 GIT binary patch delta 603 zcmWmCOGwmF7>4n4PMQc!G-S(|ZqfxLXW=5KMa2+OB7&L|1#Mac*?5@|qlOxbv><4} zc<3TDWu;Ms3zJsmqAR*6XpxW@XdwA7idwV?`d&C6zlU?#onQU2zJXY>!a28TvrVmc zZ3*Y5dV?#jbgnrHE?ef@{I=k1xvO?>aJzTEi^xL?w8(T4BQ$A52 z`MYQRBcc;wqkl`h-I$_IERq)A$csiw;xsSCITl5M*h!<0q&QEDxXmeXhavHtNioTS zn58mf%uyq1XcA52L@U<~<}#s-7n!im_wz;j!<2Uz_t`2Q(jcDDDGqZ@^zuyP`7CbW zJB?dZixTx>n07HjQN$S+jeHW#{1Yv#?=o6RiGv&$ZCnv)#>62$iZlEb7g^hF46s{V z=9qZEB{9ll@rw824Sx)FX2UABWJ484RR>fTR2`}j)u5G+7|q(NA54p{{1i7?lQW*O zL%imQ_&`C-aL))X!Mj}85PX8~rmrU6W2d{Q6MIODedI;MM5!n2pI*MScbWZ@|6mrl A-v9sr delta 598 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 z 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�z4lAE^NY2BtBH5?+vTVIS(m%Zr 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