X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=prvm_cmds.c;h=6d88a9d664d88d4571a58cfd88adfbab8169b45c;hp=2a4ebc8780a74bccf4fd4a733528b1200a0b8104;hb=6e48dafd2f198e53ef8031379080656e9483e709;hpb=ad0206e3d383e1f61887081b9dc80ba7a5a6cdb0 diff --git a/prvm_cmds.c b/prvm_cmds.c index 2a4ebc87..6d88a9d6 100644 --- a/prvm_cmds.c +++ b/prvm_cmds.c @@ -3173,6 +3173,40 @@ void VM_keynumtostring (void) PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(Key_KeynumToString((int)PRVM_G_FLOAT(OFS_PARM0))); } +/* +========= +VM_findkeysforcommand + +string findkeysforcommand(string command) + +the returned string is an altstring +========= +*/ +#define NUMKEYS 5 // TODO: merge the constant in keys.c with this one somewhen + +void M_FindKeysForCommand(const char *command, int *keys); +void VM_findkeysforcommand(void) +{ + const char *cmd; + char ret[VM_STRINGTEMP_LENGTH]; + int keys[NUMKEYS]; + int i; + + VM_SAFEPARMCOUNT(1, VM_findkeysforcommand); + + cmd = PRVM_G_STRING(OFS_PARM0); + + VM_CheckEmptyString(cmd); + + M_FindKeysForCommand(cmd, keys); + + ret[0] = 0; + for(i = 0; i < NUMKEYS; i++) + strlcat(ret, va(" \'%i\'", keys[i]), sizeof(ret)); + + PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(ret); +} + /* ========= VM_stringtokeynum