X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fcommand%2Frpn.qc;h=5cca2db1ce666145fb7f339925daacaf3ce8f756;hb=dbcdd58814a7281aef637c8c07a02242331c4c86;hp=837b991845d3dffd4159cf792836aa62bab38a7f;hpb=74999eaef71f37f6acff99867ab4f3615ed3edf1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/command/rpn.qc b/qcsrc/common/command/rpn.qc index 837b99184..5cca2db1c 100644 --- a/qcsrc/common/command/rpn.qc +++ b/qcsrc/common/command/rpn.qc @@ -1,3 +1,8 @@ +// ======================================== +// RPN command code, written by divVerent +// Last updated: December 28th, 2011 +// ======================================== + string rpn_pop() { if(rpn_sp > 0) { @@ -50,9 +55,9 @@ void GenericCommand_rpn(float request, float argc, string command) { case CMD_REQUEST_COMMAND: { - float i, j, f, n, f2, f3, rpnpos; - vector rgb; - string s, s2, c, rpncmd; + float i, j, f, f2, f3, rpnpos; + //vector rgb; + string s, s2, rpncmd; if(!rpn_db) { @@ -63,9 +68,6 @@ void GenericCommand_rpn(float request, float argc, string command) if(argc >= 2) { - float rpnpos; - string rpncmd; - float f2, f3; rpn_sp = 0; rpn_error = FALSE; for(rpnpos = 1; rpnpos < argc; ++rpnpos) @@ -234,9 +236,9 @@ void GenericCommand_rpn(float request, float argc, string command) i = stof(db_get(rpn_db, "stack.pointer")); db_put(rpn_db, "stack.pointer", ftos(i+1)); db_put(rpn_db, strcat("stack.", ftos(i)), s); + if(!i) + db_put(rpn_db, "stack.pos", "0"); } - if(!i) - db_put(rpn_db, "stack.pos", "0"); } else if(rpncmd == "dbpop") { i = stof(db_get(rpn_db, "stack.pointer")); if(i) @@ -519,7 +521,7 @@ void GenericCommand_rpn(float request, float argc, string command) default: case CMD_REQUEST_USAGE: { - print(" rpn EXPRESSION... - a RPN calculator.\n"); + print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " rpn EXPRESSION...\n")); print(" Operator description (x: string, s: set, f: float):\n"); print(" x pop -----------------------------> : removes the top\n"); print(" x dup -----------------------------> x x : duplicates the top\n"); @@ -555,57 +557,3 @@ void GenericCommand_rpn(float request, float argc, string command) } } } - -float GameCommand_Generic(string command) -{ - if(argv(0) == "help") - { - print(" rpn EXPRESSION... - a RPN calculator.\n"); - print(" Operator description (x: string, s: set, f: float):\n"); - print(" x pop -----------------------------> : removes the top\n"); - print(" x dup -----------------------------> x x : duplicates the top\n"); - print(" x x exch --------------------------> x x : swap the top two\n"); - print(" /cvarname load --------------------> x : loads a cvar\n"); - print(" /cvarname x def -------------------> : writes to a cvar\n"); - print(" f f add|sub|mul|div|mod|max|min ---> f : adds/... two numbers\n"); - print(" f f eq|ne|gt|ge|lt|le -------------> f : compares two numbers\n"); - print(" f neg|abs|sgn|rand|floor|ceil------> f : negates/... a number\n"); - print(" f f f bound -----------------------> f : bounds the middle number\n"); - print(" f1 f2 b when ----------------------> f : f1 if b, f2 otherwise\n"); - print(" s s union|intersection|difference -> s : set operations\n"); - print(" s shuffle -------------------------> s : randomly arrange elements\n"); - print(" /key /value put -------------------> : set a database key\n"); - print(" /key get --------------------------> s : get a database value\n"); - print(" x dbpush --------------------------> : pushes the top onto the database\n"); - print(" dbpop|dbget -----------------------> x : removes/reads DB's top\n"); - print(" dblen|dbat ------------------------> f : gets the DB's size/cursor pos\n"); - print(" dbclr -----------------------------> : clear the DB\n"); - print(" s dbsave|dbload--------------------> : save/load the DB to/from a file\n"); - print(" x dbins ---------------------------> : moves the top into the DB\n"); - print(" dbext|dbread ----------------------> x : extract/get from the DB's cursor\n"); - print(" f dbmov|dbgoto --------------------> : move or set the DB's cursor\n"); - print(" s localtime -----------------------> s : formats the current local time\n"); - print(" s gmtime --------------------------> s : formats the current UTC time\n"); - print(" time ------------------------------> f : seconds since VM start\n"); - print(" s /MD4 digest ---------------------> s : MD4 digest\n"); - print(" s /SHA256 digest ------------------> s : SHA256 digest\n"); - print(" s /formatstring sprintf1s ---------> s : sprintf with 1 string (pad, cut)\n"); - print(" Set operations operate on 'such''strings'.\n"); - print(" Unknown tokens insert their cvar value.\n"); - print(" maplist add map\n"); - print(" maplist remove map\n"); - print(" maplist shuffle\n"); - print(" maplist cleanup\n"); - print(" maplist maplist\n"); - print(" maplist lsmaps\n"); - print(" maplist lsnewmaps\n"); - print(" addtolist variable addedvalue\n"); - print(" records\n"); - print(" rankings (map argument optional)\n"); - print(" settemp cvar value\n"); - print(" settemp_restore\n"); - return TRUE; - } - - else if(argv(0) == "rpn") - { \ No newline at end of file