]> icculus.org git repositories - btb/d2x.git/blob - main/crypt.c
more header cleanup
[btb/d2x.git] / main / crypt.c
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 /*
15  *
16  * Encryption function for the cheat codes
17  *
18  */
19
20 #ifdef HAVE_CONFIG_H
21 #include <conf.h>
22 #endif
23
24 //#include <time.h>
25 //#include <stdlib.h>
26 #include <string.h>
27
28 //#include "inferno.h"
29
30
31 char *jcrypt (char *plainstring)
32 {
33         int i, t, len;
34         static char cryptstring[20];
35
36         len = (int)strlen(plainstring);
37         if (len > 8)
38                 len = 8;
39
40         for (i = 0; i < len; i++)
41         {
42                 cryptstring[i] = 0;
43
44                 for (t = 0; t < 8; t++)
45                 {
46                         cryptstring[i] ^= (plainstring[t] ^ plainstring[i % (t + 1)]);
47                         cryptstring[i] %= 90;
48                         cryptstring[i] += 33;
49                 }
50         }
51         cryptstring[i] = 0;
52         return ((char *)cryptstring);
53 }