Updated License/Copyright Info
This commit is contained in:
parent
622bb405b8
commit
d635fbc0c7
191 changed files with 820 additions and 3760 deletions
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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 );
|
|
@ -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 );
|
||||
}
|
|
@ -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 );
|
||||
}
|
||||
}
|
|
@ -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 ) {
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
CC=fteqcc
|
||||
|
||||
all:
|
||||
$(CC)
|
|
@ -1,4 +0,0 @@
|
|||
[Project]
|
||||
CreatedFrom=Makefile
|
||||
Manager=KDevCustomMakeManager
|
||||
Name=Menu
|
|
@ -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] );
|
||||
}
|
|
@ -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] );
|
||||
}
|
|
@ -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] );
|
||||
}
|
|
@ -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 );
|
||||
}
|
||||
}
|
|
@ -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
|
|
@ -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
|
|
@ -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 },
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
/*
|
||||
=================
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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(); }
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
/*
|
||||
=================
|
||||
|
|
|
@ -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 ) {}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
/*
|
||||
=================
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
/*
|
||||
=================
|
||||
|
|
|
@ -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] = {
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
****/
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 },
|
||||
|
|
|
@ -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 ) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 },
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue