Mercurial > ~darius > hgwebdir.cgi > paradise_server
diff src/tool-util.c @ 8:0836fb919dfa
First entry of Paradise Server 2.9 patch 10 Beta
author | darius |
---|---|
date | Sat, 06 Dec 1997 04:37:05 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/tool-util.c Sat Dec 06 04:37:05 1997 +0000 @@ -0,0 +1,140 @@ +#include "config.h" + +#include "tool-util.h" +#include "shmem.h" +#include "data.h" + +char +team_to_letter(t) + int t; +{ + switch (t) + { + case FED: + return 'F'; + case ROM: + return 'R'; + case KLI: + return 'K'; + case ORI: + return 'O'; + default: + return 'I'; + } +} + +int +letter_to_team(ch) + char ch; +{ + switch (ch) + { + case 'I': + case 'i': + return 0; + case 'F': + case 'f': + return FED; + case 'R': + case 'r': + return ROM; + case 'K': + case 'k': + return KLI; + case 'O': + case 'o': + return ORI; + default: + return -1; + } +} + +int +letter_to_pnum(ch) + char ch; +{ + switch (ch) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return ch - '0'; + + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + return ch - 'a' + 10; + default: + return -1; + } +} + +char +pnum_to_letter(ch) + int ch; +{ + switch (ch) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + return ch + '0'; + default: + return ch - 10 + 'a'; + } +} + + +char * +twoletters(pl) + struct player *pl; +/* calculate the two letters that form the players designation (e.g. R4) */ +{ +#define RINGSIZE MAXPLAYER+3 + static char buf[RINGSIZE][3]; /* ring of buffers so that this */ + static int idx; /* proc can be called several times before + * the results are used */ + if (idx >= RINGSIZE) + idx = 0; + buf[idx][0] = teams[pl->p_team].letter; + buf[idx][1] = shipnos[pl->p_no]; + buf[idx][2] = 0; + return buf[idx++]; +}