本文整理汇总了C++中COM_Argv函数的典型用法代码示例。如果您正苦于以下问题:C++ COM_Argv函数的具体用法?C++ COM_Argv怎么用?C++ COM_Argv使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了COM_Argv函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: COM_Toggle_f
/** Toggles a console variable. Useful for on/off values.
*
* This works on on/off, yes/no values only
*/
static void COM_Toggle_f(void)
{
consvar_t *cvar;
if (COM_Argc() != 2)
{
CONS_Printf("Toggle <cvar_name>\n"
"Toggle the value of a cvar\n");
return;
}
cvar = CV_FindVar(COM_Argv(1));
if (!cvar)
{
CONS_Printf("%s is not a cvar\n",COM_Argv(1));
return;
}
if (!(cvar->PossibleValue == CV_YesNo || cvar->PossibleValue == CV_OnOff))
{
CONS_Printf("%s is not a boolean value\n",COM_Argv(1));
return;
}
// netcvar don't change imediately
cvar->flags |= CV_SHOWMODIFONETIME;
CV_AddValue(cvar, +1);
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:31,代码来源:command.c
示例2: COM_Exec_f
/** Executes a script file.
*/
static void COM_Exec_f(void)
{
size_t length;
UINT8 *buf = NULL;
if (COM_Argc() < 2 || COM_Argc() > 3)
{
CONS_Printf("exec <filename> : run a script file\n");
return;
}
// load file
length = FIL_ReadFile(COM_Argv(1), &buf);
if (!buf)
{
if (!COM_CheckParm("-noerror"))
CONS_Printf("couldn't execute file %s\n", COM_Argv(1));
return;
}
if (!COM_CheckParm("-silent"))
CONS_Printf("executing %s\n", COM_Argv(1));
// insert text file into the command buffer
COM_BufAddText((char *)buf);
COM_BufAddText("\n");
// free buffer
Z_Free(buf);
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:33,代码来源:command.c
示例3: Cbuf_AddEarlyCommands
/*
* Adds command line parameters as script statements Commands lead with
* a +, and continue until another +
*
* Set commands are added early, so they are guaranteed to be set before
* the client and server initialize for the first time.
*
* Other commands are added late, after all initialization is complete.
*/
void
Cbuf_AddEarlyCommands(qboolean clear)
{
int i;
char *s;
for (i = 0; i < COM_Argc(); i++)
{
s = COM_Argv(i);
if (strcmp(s, "+set"))
{
continue;
}
Cbuf_AddText(va("set %s %s\n", COM_Argv(i + 1), COM_Argv(i + 2)));
if (clear)
{
COM_ClearArgv(i);
COM_ClearArgv(i + 1);
COM_ClearArgv(i + 2);
}
i += 2;
}
}
开发者ID:smcv,项目名称:yquake2,代码行数:36,代码来源:cmdparser.c
示例4: Command_Charability_f
void Command_Charability_f(void)
{
if (gamestate != GS_LEVEL || demoplayback)
{
CONS_Printf("%s", text[MUSTBEINLEVEL]);
return;
}
G_ModifyGame();
if (COM_Argc() < 3)
{
CONS_Printf("charability <1/2> <value>\n");
return;
}
if (netgame || multiplayer)
{
CONS_Printf("%s", text[CANTUSEMULTIPLAYER]);
return;
}
if (atoi(COM_Argv(1)) == 1)
players[consoleplayer].charability = atoi(COM_Argv(2));
else if (atoi(COM_Argv(1)) == 2)
players[consoleplayer].charability2 = atoi(COM_Argv(2));
else
CONS_Printf("charability <1/2> <value>\n");
}
开发者ID:yellowtd,项目名称:SRB2CB-2.0.4,代码行数:29,代码来源:m_cheat.c
示例5: COM_Alias_f
/** Creates a command name that replaces another command.
*/
static void COM_Alias_f(void)
{
cmdalias_t *a;
char cmd[1024];
size_t i, c;
if (COM_Argc() < 3)
{
CONS_Printf("alias <name> <command>\n");
return;
}
a = ZZ_Alloc(sizeof *a);
a->next = com_alias;
com_alias = a;
a->name = Z_StrDup(COM_Argv(1));
// copy the rest of the command line
cmd[0] = 0; // start out with a null string
c = COM_Argc();
for (i = 2; i < c; i++)
{
strcat(cmd, COM_Argv(i));
if (i != c)
strcat(cmd, " ");
}
strcat(cmd, "\n");
a->value = Z_StrDup(cmd);
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:33,代码来源:command.c
示例6: Cbuf_AddLateCommands
/*
=================
Cbuf_AddLateCommands
Adds command line parameters as script statements
Commands lead with a + and continue until another + or -
quake +vid_ref gl +map amlev1
Returns true if any late commands were added, which
will keep the demoloop from immediately starting
=================
*/
qboolean Cbuf_AddLateCommands (void)
{
int i, j;
int s;
char *text, *build, c;
int argc;
qboolean ret;
// build the combined string to parse from
s = 0;
argc = COM_Argc();
for (i=1 ; i<argc ; i++)
{
s += strlen (COM_Argv(i)) + 1;
}
if (!s)
return false;
text = (char *) Z_Malloc (s+1);
text[0] = 0;
for (i=1 ; i<argc ; i++)
{
strcat (text,COM_Argv(i));
if (i != argc-1)
strcat (text, " ");
}
// pull out the commands
build = (char *) Z_Malloc (s+1);
build[0] = 0;
for (i=0 ; i<s-1 ; i++)
{
if (text[i] == '+')
{
i++;
for (j=i ; (text[j] != '+') && (text[j] != '-') && (text[j] != 0) ; j++)
;
c = text[j];
text[j] = 0;
strcat (build, text+i);
strcat (build, "\n");
text[j] = c;
i = j-1;
}
}
ret = (build[0] != 0);
if (ret)
Cbuf_AddText (build);
Z_Free (text);
Z_Free (build);
return ret;
}
开发者ID:raynorpat,项目名称:quake2,代码行数:71,代码来源:cmd.c
示例7: Cbuf_AddEarlyCommands
/*
===============
Cbuf_AddEarlyCommands
Set commands are added early, so they are guaranteed to be set before
the client and server initialize for the first time.
Other commands are added late, after all initialization is complete.
===============
*/
void Cbuf_AddEarlyCommands (void)
{
int i;
for (i=0 ; i<COM_Argc()-2 ; i++)
{
if (Q_stricmp(COM_Argv(i), "+set"))
continue;
Cbuf_AddText (va("set %s %s\n", COM_Argv(i+1), COM_Argv(i+2)));
i+=2;
}
}
开发者ID:matatk,项目名称:agrip,代码行数:22,代码来源:cmd.c
示例8: setcontrol
static void setcontrol(INT32 (*gc)[2])
{
INT32 numctrl;
const char *namectrl;
INT32 keynum, keynum1, keynum2;
INT32 player = ((void*)gc == (void*)&gamecontrolbis ? 1 : 0);
boolean nestedoverride = false;
namectrl = COM_Argv(1);
for (numctrl = 0; numctrl < num_gamecontrols && stricmp(namectrl, gamecontrolname[numctrl]);
numctrl++)
;
if (numctrl == num_gamecontrols)
{
CONS_Printf(M_GetText("Control '%s' unknown\n"), namectrl);
return;
}
keynum1 = G_KeyStringtoNum(COM_Argv(2));
keynum2 = G_KeyStringtoNum(COM_Argv(3));
keynum = G_FilterKeyByVersion(numctrl, 0, player, &keynum1, &keynum2, &nestedoverride);
if (keynum >= 0)
{
(void)G_CheckDoubleUsage(keynum, true);
// if keynum was rejected, try it again with keynum2
if (!keynum && keynum2)
{
keynum1 = keynum2; // push down keynum2
keynum2 = 0;
keynum = G_FilterKeyByVersion(numctrl, 0, player, &keynum1, &keynum2, &nestedoverride);
if (keynum >= 0)
(void)G_CheckDoubleUsage(keynum, true);
}
}
if (keynum >= 0)
gc[numctrl][0] = keynum;
if (keynum2)
{
keynum = G_FilterKeyByVersion(numctrl, 1, player, &keynum1, &keynum2, &nestedoverride);
if (keynum >= 0)
{
if (keynum != gc[numctrl][0])
gc[numctrl][1] = keynum;
else
gc[numctrl][1] = 0;
}
}
else
gc[numctrl][1] = 0;
}
开发者ID:STJr,项目名称:SRB2,代码行数:53,代码来源:g_input.c
示例9: COM_ExecuteString
/** Parses a single line of text into arguments and tries to execute it.
* The text can come from the command buffer, a remote client, or stdin.
*
* \param ptext A single line of text.
*/
static void COM_ExecuteString(char *ptext)
{
xcommand_t *cmd;
cmdalias_t *a;
COM_TokenizeString(ptext);
// execute the command line
if (COM_Argc() == 0)
return; // no tokens
// check functions
for (cmd = com_commands; cmd; cmd = cmd->next)
{
if (!stricmp(com_argv[0], cmd->name)) //case insensitive now that we have lower and uppercase!
{
cmd->function();
return;
}
}
// check aliases
for (a = com_alias; a; a = a->next)
{
if (!stricmp(com_argv[0], a->name))
{
COM_BufInsertText(a->value);
return;
}
}
// check cvars
if (!CV_Command() && con_destlines)
CONS_Printf("Unknown command '%s'\n", COM_Argv(0));
}
开发者ID:yellowtd,项目名称:SRB2CB-2.0.4,代码行数:40,代码来源:command.c
示例10: IN_Init
void IN_Init (void)
{
#ifdef GLQUAKE
#ifdef WITH_EVDEV
int i;
#endif
#endif
Cvar_SetCurrentGroup (CVAR_GROUP_INPUT_MOUSE);
Cvar_Register (&m_filter);
#ifndef _Soft_SVGA
Cvar_Register (&_windowed_mouse);
#endif
Cvar_SetCurrentGroup (CVAR_GROUP_INPUT_KEYBOARD);
Cvar_Register (&cl_keypad);
Cvar_ResetCurrentGroup ();
if (!host_initialized)
{
#ifdef GLQUAKE
typedef enum { mt_none = 0, mt_dga, mt_normal, mt_evdev } mousetype_t;
extern cvar_t in_mouse;
#ifdef WITH_EVDEV
extern cvar_t in_mmt;
extern cvar_t in_evdevice;
#endif /* !WITH_EVDEV */
if (COM_CheckParm ("-nodga") || COM_CheckParm ("-nomdga"))
Cvar_LatchedSetValue (&in_mouse, mt_normal);
#ifdef WITH_EVDEV
if ((i = COM_CheckParm ("-mevdev")) && (i < COM_Argc() - 1)) {
Cvar_LatchedSet (&in_evdevice, COM_Argv(i + 1));
Cvar_LatchedSetValue (&in_mouse, mt_evdev);
}
if (COM_CheckParm ("-mmt"))
Cvar_LatchedSetValue (&in_mmt, 1);
#endif /* !WITH_EVDEV */
if (COM_CheckParm ("-nomouse"))
Cvar_LatchedSetValue (&in_mouse, mt_none);
#ifdef WITH_EVDEV
extern void IN_EvdevList_f(void);
Cmd_AddCommand ("in_evdevlist", IN_EvdevList_f);
#endif /* !WITH_EVDEV */
#endif /* !GLQUAKE */
#ifdef WITH_KEYMAP
IN_StartupKeymap();
#endif // WITH_KEYMAP
#ifdef GLQUAKE
Cmd_AddCommand ("in_restart", IN_Restart_f);
#endif
}
IN_StartupMouse ();
}
开发者ID:jogi1,项目名称:camquake,代码行数:60,代码来源:in_linux.c
示例11: Command_Scale_f
void Command_Scale_f(void)
{
INT32 scale = atoi(COM_Argv(1));
if (!cv_debug)
{
CONS_Printf("%s", text[NEED_DEVMODE]);
return;
}
if (netgame || multiplayer)
{
CONS_Printf("%s", text[SINGLEPLAYERONLY]);
return;
}
if (!(scale >= 5 && scale <= 400)) //COM_Argv(1) will return a null string if they did not give a paramater, so...
{
CONS_Printf("SCALE <value> (5-400): Set player scale size.\n");
return;
}
if (!players[consoleplayer].mo)
return;
players[consoleplayer].mo->destscale = (UINT16)scale;
CONS_Printf("Scale set to %d\n", players[consoleplayer].mo->destscale);
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:29,代码来源:m_cheat.c
示例12: Command_Hurtme_f
void Command_Hurtme_f(void)
{
if (gamestate != GS_LEVEL || demoplayback)
{
CONS_Printf("%s", text[MUSTBEINLEVEL]);
return;
}
if (!cv_debug)
{
CONS_Printf("%s", text[NEED_DEVMODE]);
return;
}
if (netgame || multiplayer)
{
CONS_Printf("%s", text[CANTUSEMULTIPLAYER]);
return;
}
if (COM_Argc() < 2)
{
CONS_Printf("hurtme <damage>\n");
return;
}
P_DamageMobj(players[consoleplayer].mo, NULL, NULL, atoi(COM_Argv(1)));
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:28,代码来源:m_cheat.c
示例13: PR2_Init
void PR2_Init(void)
{
int p;
int usedll;
Cvar_Register(&sv_progtype);
Cvar_Register(&sv_progsname);
#ifdef WITH_NQPROGS
Cvar_Register(&sv_forcenqprogs);
#endif
#ifdef QVM_PROFILE
Cvar_Register(&sv_enableprofile);
#endif
p = COM_CheckParm ("-progtype");
if (p && p < COM_Argc())
{
usedll = Q_atoi(COM_Argv(p + 1));
if (usedll > 2)
usedll = VM_NONE;
Cvar_SetValue(&sv_progtype,usedll);
}
Cmd_AddCommand ("edict", ED2_PrintEdict_f);
Cmd_AddCommand ("edicts", ED2_PrintEdicts);
Cmd_AddCommand ("edictcount", ED_Count);
Cmd_AddCommand ("profile", PR2_Profile_f);
Cmd_AddCommand ("mod", PR2_GameConsoleCommand);
memset(pr_newstrtbl, 0, sizeof(pr_newstrtbl));
}
开发者ID:Classic-Fortress,项目名称:server,代码行数:32,代码来源:pr2_exec.c
示例14: NET_InitClient
void NET_InitClient(void)
{
int port = PORT_CLIENT;
int p;
p = COM_CheckParm ("-clientport");
if (p && p < COM_Argc()) {
port = atoi(COM_Argv(p+1));
}
if (cls.socketip == INVALID_SOCKET)
cls.socketip = UDP_OpenSocket (port);
if (cls.socketip == INVALID_SOCKET)
cls.socketip = UDP_OpenSocket (PORT_ANY); // any dynamic port
if (cls.socketip == INVALID_SOCKET)
Sys_Error ("Couldn't allocate client socket");
// init the message buffer
SZ_Init (&net_message, net_message_buffer, sizeof(net_message_buffer));
// determine my name & address
NET_GetLocalAddress (cls.socketip, &net_local_cl_ipadr);
Com_Printf_State (PRINT_OK, "Client port Initialized\n");
}
开发者ID:DavidWiberg,项目名称:ezquake-source,代码行数:27,代码来源:net.c
示例15: COM_Wait_f
/** Delays execution of the rest of the commands until the next frame.
* Allows sequences of commands like "jump; fire; backward".
*/
static void COM_Wait_f(void)
{
if (COM_Argc() > 1)
com_wait = atoi(COM_Argv(1));
else
com_wait = 1; // 1 frame
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:10,代码来源:command.c
示例16: COM_Echo_f
/** Prints a line of text to the console.
*/
static void COM_Echo_f(void)
{
size_t i;
for (i = 1; i < COM_Argc(); i++)
CONS_Printf("%s ", COM_Argv(i));
CONS_Printf("\n");
}
开发者ID:Pupswoof117,项目名称:SRB2-Public,代码行数:10,代码来源:command.c
示例17: Command_CountMobjs_f
void Command_CountMobjs_f(void)
{
thinker_t *th;
mobjtype_t i;
INT32 count;
if (gamestate != GS_LEVEL)
{
CONS_Printf(M_GetText("You must be in a level to use this.\n"));
return;
}
if (COM_Argc() >= 2)
{
size_t j;
for (j = 1; j < COM_Argc(); j++)
{
i = atoi(COM_Argv(j));
if (i >= NUMMOBJTYPES)
{
CONS_Printf(M_GetText("Object number %d out of range (max %d).\n"), i, NUMMOBJTYPES-1);
continue;
}
count = 0;
for (th = thinkercap.next; th != &thinkercap; th = th->next)
{
if (th->function.acp1 != (actionf_p1)P_MobjThinker)
continue;
if (((mobj_t *)th)->type == i)
count++;
}
CONS_Printf(M_GetText("There are %d objects of type %d currently in the level.\n"), count, i);
}
return;
}
CONS_Printf(M_GetText("Count of active objects in level:\n"));
for (i = 0; i < NUMMOBJTYPES; i++)
{
count = 0;
for (th = thinkercap.next; th != &thinkercap; th = th->next)
{
if (th->function.acp1 != (actionf_p1)P_MobjThinker)
continue;
if (((mobj_t *)th)->type == i)
count++;
}
CONS_Printf(" * %d: %d\n", i, count);
}
}
开发者ID:ZilverXZX,项目名称:SRB2,代码行数:58,代码来源:p_tick.c
示例18: Host_InitMemory
//memsize is the recommended amount of memory to use for hunk
void Host_InitMemory (int memsize)
{
int t;
if (COM_CheckParm ("-minmemory"))
memsize = MINIMUM_MEMORY;
if ((t = COM_CheckParm ("-heapsize")) != 0 && t + 1 < COM_Argc())
memsize = Q_atoi (COM_Argv(t + 1)) * 1024;
if ((t = COM_CheckParm ("-mem")) != 0 && t + 1 < COM_Argc())
memsize = Q_atoi (COM_Argv(t + 1)) * 1024 * 1024;
if (memsize < MINIMUM_MEMORY)
Sys_Error ("Only %4.1f megs of memory reported, can't execute game", memsize / (float)0x100000);
host_memsize = memsize;
host_membase = Q_malloc (host_memsize);
Memory_Init (host_membase, host_memsize);
}
开发者ID:se-sss,项目名称:ezquake-source,代码行数:21,代码来源:host.c
示例19: COM_Exec_f
/** Executes a script file.
*/
static void COM_Exec_f(void)
{
UINT8 *buf = NULL;
char filename[256];
if (COM_Argc() < 2 || COM_Argc() > 3)
{
CONS_Printf(M_GetText("exec <filename>: run a script file\n"));
return;
}
// load file
// Try with Argv passed verbatim first, for back compat
FIL_ReadFile(COM_Argv(1), &buf);
if (!buf)
{
// Now try by searching the file path
// filename is modified with the full found path
strcpy(filename, COM_Argv(1));
if (findfile(filename, NULL, true) != FS_NOTFOUND)
FIL_ReadFile(filename, &buf);
if (!buf)
{
if (!COM_CheckParm("-noerror"))
CONS_Printf(M_GetText("couldn't execute file %s\n"), COM_Argv(1));
return;
}
}
if (!COM_CheckParm("-silent"))
CONS_Printf(M_GetText("executing %s\n"), COM_Argv(1));
// insert text file into the command buffer
COM_BufAddText((char *)buf);
COM_BufAddText("\n");
// free buffer
Z_Free(buf);
}
开发者ID:TehRealSalt,项目名称:SRB2,代码行数:43,代码来源:command.c
示例20: UDP_OpenSocket
int UDP_OpenSocket (unsigned short int port)
{
int newsocket;
struct sockaddr_in address;
unsigned long _true = true;
int i;
if ((newsocket = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) {
Con_Printf ("UDP_OpenSocket: socket: (%i): %s\n", qerrno, strerror(qerrno));
return INVALID_SOCKET;
}
#ifndef _WIN32
if ((fcntl (newsocket, F_SETFL, O_NONBLOCK)) == -1) { // O'Rly?! @@@
Con_Printf ("UDP_OpenSocket: fcntl: (%i): %s\n", qerrno, strerror(qerrno));
closesocket(newsocket);
return INVALID_SOCKET;
}
#endif
if (ioctlsocket (newsocket, FIONBIO, &_true) == -1) { // make asynchronous
Con_Printf ("UDP_OpenSocket: ioctl: (%i): %s\n", qerrno, strerror(qerrno));
closesocket(newsocket);
return INVALID_SOCKET;
}
address.sin_family = AF_INET;
// check for interface binding option
if ((i = COM_CheckParm("-ip")) != 0 && i < COM_Argc()) {
address.sin_addr.s_addr = inet_addr(COM_Argv(i+1));
Con_DPrintf ("Binding to IP Interface Address of %s\n", inet_ntoa(address.sin_addr));
}
else {
address.sin_addr.s_addr = INADDR_ANY;
}
if (port == PORT_ANY) {
address.sin_port = 0;
}
else {
address.sin_port = htons(port);
}
if (bind (newsocket, (void *)&address, sizeof(address)) == -1) {
Con_Printf ("UDP_OpenSocket: bind: (%i): %s\n", qerrno, strerror(qerrno));
closesocket(newsocket);
return INVALID_SOCKET;
}
return newsocket;
}
开发者ID:DavidWiberg,项目名称:ezquake-source,代码行数:52,代码来源:net.c
注:本文中的COM_Argv函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论