Updated License/Copyright Info

This commit is contained in:
Marco Cawthorne 2019-01-16 17:43:50 +01:00
parent 622bb405b8
commit d635fbc0c7
191 changed files with 820 additions and 3760 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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;

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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;

View file

@ -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;

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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)
{
}

View file

@ -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)
{
}

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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];

View file

@ -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;

View file

@ -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

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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

View file

@ -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

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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

View file

@ -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 );

View file

@ -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 );
}

View file

@ -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 );
}
}

View file

@ -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 ) {
}

View file

@ -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;
}

View file

@ -1,4 +0,0 @@
CC=fteqcc
all:
$(CC)

View file

@ -1,4 +0,0 @@
[Project]
CreatedFrom=Makefile
Manager=KDevCustomMakeManager
Name=Menu

View file

@ -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] );
}

View file

@ -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] );
}

View file

@ -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] );
}

View file

@ -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 );
}
}

View file

@ -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

View file

@ -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

View file

@ -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 },

View file

@ -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.
*
****/
/*
=================

View file

@ -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.
*
****/

View file

@ -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(); }

View file

@ -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;

View file

@ -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;

View file

@ -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.
*
****/
/*
=================

View file

@ -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 ) {}

View file

@ -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;

View file

@ -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",

View file

@ -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,

View file

@ -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;

View file

@ -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.
*
****/
/*
=================

View file

@ -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.
*
****/

View file

@ -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.
*
****/
/*
=================

View file

@ -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] = {

View file

@ -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.
*
****/

View file

@ -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
{

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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.
*
****/

View file

@ -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;

View file

@ -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 },

View file

@ -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 ) {

View file

@ -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

View file

@ -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