source: abuse/trunk/src/lisp/trig.cpp @ 91

Last change on this file since 91 was 91, checked in by Sam Hocevar, 12 years ago
  • trig.cpp belongs to the LISP stuff, moving it in lisp/.
File size: 13.3 KB
Line 
1/*
2 *  Abuse - dark 2D side-scrolling platform game
3 *  Copyright (c) 1995 Crack dot Com
4 *
5 *  This software was released into the Public Domain. As with most public
6 *  domain software, no warranty is made or implied by Crack dot Com or
7 *  Jonathan Clark.
8 */
9
10#include "config.h"
11
12#include "system.h"
13
14int32_t sin_table[360]={
15  0x00000000, 0x00000477, 0x000008ef, 0x00000d65, 0x000011db, 0x0000164f,
16  0x00001ac2, 0x00001f32, 0x000023a0, 0x0000280c, 0x00002c74, 0x000030d8,
17  0x00003539, 0x00003996, 0x00003dee, 0x00004241, 0x00004690, 0x00004ad8,
18  0x00004f1b, 0x00005358, 0x0000578e, 0x00005bbe, 0x00005fe6, 0x00006406,
19  0x0000681f, 0x00006c30, 0x00007039, 0x00007438, 0x0000782f, 0x00007c1c,
20  0x00008000, 0x000083d9, 0x000087a8, 0x00008b6d, 0x00008f27, 0x000092d5,
21  0x00009679, 0x00009a10, 0x00009d9b, 0x0000a11b, 0x0000a48d, 0x0000a7f3,
22  0x0000ab4c, 0x0000ae97, 0x0000b1d5, 0x0000b504, 0x0000b826, 0x0000bb39,
23  0x0000be3e, 0x0000c134, 0x0000c41b, 0x0000c6f3, 0x0000c9bb, 0x0000cc73,
24  0x0000cf1b, 0x0000d1b3, 0x0000d43b, 0x0000d6b3, 0x0000d919, 0x0000db6f,
25  0x0000ddb3, 0x0000dfe7, 0x0000e208, 0x0000e419, 0x0000e617, 0x0000e803,
26  0x0000e9de, 0x0000eba6, 0x0000ed5b, 0x0000eeff, 0x0000f08f, 0x0000f20d,
27  0x0000f378, 0x0000f4d0, 0x0000f615, 0x0000f746, 0x0000f865, 0x0000f970,
28  0x0000fa67, 0x0000fb4b, 0x0000fc1c, 0x0000fcd9, 0x0000fd82, 0x0000fe17,
29  0x0000fe98, 0x0000ff06, 0x0000ff60, 0x0000ffa6, 0x0000ffd8, 0x0000fff6,
30  0x00010000, 0x0000fff6, 0x0000ffd8, 0x0000ffa6, 0x0000ff60, 0x0000ff06,
31  0x0000fe98, 0x0000fe17, 0x0000fd82, 0x0000fcd9, 0x0000fc1c, 0x0000fb4b,
32  0x0000fa67, 0x0000f970, 0x0000f865, 0x0000f746, 0x0000f615, 0x0000f4d0,
33  0x0000f378, 0x0000f20d, 0x0000f08f, 0x0000eeff, 0x0000ed5b, 0x0000eba6,
34  0x0000e9de, 0x0000e803, 0x0000e617, 0x0000e419, 0x0000e208, 0x0000dfe7,
35  0x0000ddb3, 0x0000db6f, 0x0000d919, 0x0000d6b3, 0x0000d43b, 0x0000d1b3,
36  0x0000cf1b, 0x0000cc73, 0x0000c9bb, 0x0000c6f3, 0x0000c41b, 0x0000c134,
37  0x0000be3e, 0x0000bb39, 0x0000b826, 0x0000b504, 0x0000b1d5, 0x0000ae97,
38  0x0000ab4c, 0x0000a7f3, 0x0000a48d, 0x0000a11b, 0x00009d9b, 0x00009a10,
39  0x00009679, 0x000092d5, 0x00008f27, 0x00008b6d, 0x000087a8, 0x000083d9,
40  0x00007fff, 0x00007c1c, 0x0000782f, 0x00007438, 0x00007039, 0x00006c30,
41  0x0000681f, 0x00006406, 0x00005fe6, 0x00005bbe, 0x0000578e, 0x00005358,
42  0x00004f1b, 0x00004ad8, 0x00004690, 0x00004241, 0x00003dee, 0x00003996,
43  0x00003539, 0x000030d8, 0x00002c74, 0x0000280c, 0x000023a0, 0x00001f32,
44  0x00001ac2, 0x0000164f, 0x000011db, 0x00000d65, 0x000008ef, 0x00000477,
45  0x00000000, 0xfffffb89, 0xfffff711, 0xfffff29b, 0xffffee25, 0xffffe9b1,
46  0xffffe53e, 0xffffe0ce, 0xffffdc60, 0xffffd7f4, 0xffffd38c, 0xffffcf28,
47  0xffffcac7, 0xffffc66a, 0xffffc212, 0xffffbdbf, 0xffffb970, 0xffffb528,
48  0xffffb0e5, 0xffffaca8, 0xffffa872, 0xffffa442, 0xffffa01a, 0xffff9bfa,
49  0xffff97e1, 0xffff93d0, 0xffff8fc7, 0xffff8bc8, 0xffff87d1, 0xffff83e4,
50  0xffff8000, 0xffff7c27, 0xffff7858, 0xffff7493, 0xffff70d9, 0xffff6d2b,
51  0xffff6987, 0xffff65f0, 0xffff6265, 0xffff5ee5, 0xffff5b73, 0xffff580d,
52  0xffff54b4, 0xffff5169, 0xffff4e2b, 0xffff4afc, 0xffff47da, 0xffff44c7,
53  0xffff41c2, 0xffff3ecc, 0xffff3be5, 0xffff390d, 0xffff3645, 0xffff338d,
54  0xffff30e5, 0xffff2e4d, 0xffff2bc5, 0xffff294d, 0xffff26e7, 0xffff2491,
55  0xffff224d, 0xffff2019, 0xffff1df8, 0xffff1be7, 0xffff19e9, 0xffff17fd,
56  0xffff1622, 0xffff145a, 0xffff12a5, 0xffff1101, 0xffff0f71, 0xffff0df3,
57  0xffff0c88, 0xffff0b30, 0xffff09eb, 0xffff08ba, 0xffff079b, 0xffff0690,
58  0xffff0599, 0xffff04b5, 0xffff03e4, 0xffff0327, 0xffff027e, 0xffff01e9,
59  0xffff0168, 0xffff00fa, 0xffff00a0, 0xffff005a, 0xffff0028, 0xffff000a,
60  0xffff0001, 0xffff000a, 0xffff0028, 0xffff005a, 0xffff00a0, 0xffff00fa,
61  0xffff0168, 0xffff01e9, 0xffff027e, 0xffff0327, 0xffff03e4, 0xffff04b5,
62  0xffff0599, 0xffff0690, 0xffff079b, 0xffff08ba, 0xffff09eb, 0xffff0b30,
63  0xffff0c88, 0xffff0df3, 0xffff0f71, 0xffff1101, 0xffff12a5, 0xffff145a,
64  0xffff1622, 0xffff17fd, 0xffff19e9, 0xffff1be7, 0xffff1df8, 0xffff2019,
65  0xffff224d, 0xffff2491, 0xffff26e7, 0xffff294d, 0xffff2bc5, 0xffff2e4d,
66  0xffff30e5, 0xffff338d, 0xffff3645, 0xffff390d, 0xffff3be5, 0xffff3ecc,
67  0xffff41c2, 0xffff44c7, 0xffff47da, 0xffff4afc, 0xffff4e2b, 0xffff5169,
68  0xffff54b4, 0xffff580d, 0xffff5b73, 0xffff5ee5, 0xffff6265, 0xffff65f0,
69  0xffff6987, 0xffff6d2b, 0xffff70d9, 0xffff7493, 0xffff7858, 0xffff7c27,
70  0xffff8001, 0xffff83e4, 0xffff87d1, 0xffff8bc8, 0xffff8fc7, 0xffff93d0,
71  0xffff97e1, 0xffff9bfa, 0xffffa01a, 0xffffa442, 0xffffa872, 0xffffaca8,
72  0xffffb0e5, 0xffffb528, 0xffffb970, 0xffffbdbf, 0xffffc212, 0xffffc66a,
73  0xffffcac7, 0xffffcf28, 0xffffd38c, 0xffffd7f4, 0xffffdc60, 0xffffe0ce,
74  0xffffe53e, 0xffffe9b1, 0xffffee25, 0xfffff29b, 0xfffff711, 0xfffffb89
75  };
76uint16_t atan_table[1662]={
77    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
78    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
79    0,   0,   0,   0,   0,   0,   0,   1,   2,   3,   4,   5,
80    6,   6,   7,   8,   9,   9,  10,  11,  11,  12,  12,  13,
81   13,  14,  14,  15,  15,  16,  16,  17,  17,  18,  18,  18,
82   19,  19,  19,  20,  20,  20,  21,  21,  21,  22,  22,  22,
83   23,  23,  23,  23,  24,  24,  24,  24,  25,  25,  25,  25,
84   25,  26,  26,  26,  26,  26,  27,  27,  27,  27,  27,  28,
85   28,  28,  28,  28,  28,  28,  29,  29,  29,  29,  29,  29,
86   29,  30,  30,  30,  30,  30,  30,  30,  30,  31,  31,  31,
87   31,  31,  31,  31,  31,  31,  32,  32,  32,  32,  32,  32,
88   32,  32,  32,  32,  32,  33,  33,  33,  33,  33,  33,  33,
89   33,  33,  33,  33,  33,  33,  34,  34,  34,  34,  34,  34,
90   34,  34,  34,  34,  34,  34,  34,  34,  34,  35,  35,  35,
91   35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,  35,
92   35,  35,  35,  35,  36,  36,  36,  36,  36,  36,  36,  36,
93   36,  36,  36,  36,  36,  36,  36,  36,  36,  36,  36,  36,
94   36,  36,  36,  37,  37,  37,  37,  37,  37,  37,  37,  37,
95   37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,  37,
96   37,  37,  37,  37,  37,  37,  37,  37,  37,  38,  38,  38,
97   38,  38,  38,  38,  38,  38,  38,  38,  38,  38,  38,  38,
98   38,  38,  38,  38,  38,  38,  38,  38,  38,  38,  38,  38,
99   38,  38,  38,  38,  38,  38,  38,  38,  38,  38,  38,  38,
100   39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,
101   39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,
102   39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,
103   39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,  39,
104   39,  39,  39,  39,  39,  39,  39,  39,  40,  40,  40,  40,
105   40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,
106   40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,
107   40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,
108   40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,
109   40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,
110   40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,  40,
111   40,  40,  40,  40,  40,  40,  40,  41,  41,  41,  41,  41,
112   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
113   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
114   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
115   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
116   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
117   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
118   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
119   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
120   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
121   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
122   41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,  41,
123   41,  41,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
124   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
125   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
126   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
127   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
128   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
129   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
130   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
131   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
132   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
133   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
134   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
135   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
136   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
137   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
138   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
139   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
140   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
141   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
142   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
143   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
144   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
145   42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,  42,
146   42,  42,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
147   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
148   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
149   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
150   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
151   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
152   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
153   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
154   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
155   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
156   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
157   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
158   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
159   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
160   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
161   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
162   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
163   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
164   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
165   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
166   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
167   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
168   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
169   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
170   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
171   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
172   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
173   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
174   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
175   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
176   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
177   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
178   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
179   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
180   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
181   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
182   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
183   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
184   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
185   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
186   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
187   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
188   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
189   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
190   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
191   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
192   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
193   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
194   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
195   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
196   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
197   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
198   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
199   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
200   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
201   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
202   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
203   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
204   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
205   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
206   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
207   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
208   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
209   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
210   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
211   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
212   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
213   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
214   43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,  43,
215   43,  43,  43,  44,  44,  44};
Note: See TracBrowser for help on using the repository browser.