本文整理汇总了C++中COM_Argc函数的典型用法代码示例。如果您正苦于以下问题:C++ COM_Argc函数的具体用法?C++ COM_Argc怎么用?C++ COM_Argc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了COM_Argc函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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);
}
示例2: 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);
}
示例3: 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);
}
}
示例4: 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;
}
}
示例5: 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 ();
}
示例6: 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);
}
示例7: 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));
}
示例8: 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
}
示例9: 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");
}
示例10: 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)));
}
示例11: 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));
}
示例12: 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");
}
示例13: 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;
}
示例14: 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");
}
示例15: 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);
}