Fixes for datatype size on amd64.
[crack-attack.git] / src / obj_garbage_small.cxx
blobaba199b306fd3a6aa8889652583ac882cb002f9f
1 /*
2 * garbage_small.cxx
3 * Daniel Nelson - 11/12/0
5 * Copyright (C) 2000 Daniel Nelson
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 * Daniel Nelson - aluminumangel.org
22 * 174 W. 18th Ave.
23 * Columbus, OH 43210
25 * Generates a display list for the cute li'l purple garbage blocks.
28 #include <GL/glut.h>
30 #include "glext.h"
32 #include "Game.h"
33 #include "Displayer.h"
35 GLuint Displayer::garbage_small_list;
37 void Displayer::generateGarbageSmallList ( )
39 garbage_small_list = glGenLists(1);
41 glEnableClientState(GL_VERTEX_ARRAY);
42 glEnableClientState(GL_NORMAL_ARRAY);
43 glEnableClientState(GL_TEXTURE_COORD_ARRAY);
45 glNewList(garbage_small_list, GL_COMPILE);
47 GLfloat vertices_0[3 * 18] = {
48 -0.8f, -0.8f, -1.0f,
49 0.8f, -0.8f, -1.0f,
50 -0.8f, -1.0f, -0.8f,
51 0.8f, -1.0f, -0.8f,
52 -0.8f, -1.0f, 0.8f,
53 0.8f, -1.0f, 0.8f,
54 -0.8f, -0.8f, 1.0f,
55 0.8f, -0.8f, 1.0f,
56 -0.8f, 0.8f, 1.0f,
57 0.8f, 0.8f, 1.0f,
58 -0.8f, 1.0f, 0.8f,
59 0.8f, 1.0f, 0.8f,
60 -0.8f, 1.0f, -0.8f,
61 0.8f, 1.0f, -0.8f,
62 -0.8f, 0.8f, -1.0f,
63 0.8f, 0.8f, -1.0f,
64 -0.8f, -0.8f, -1.0f,
65 0.8f, -0.8f, -1.0f
68 GLfloat vertices_1[3 * 8] = {
69 -0.8f, -0.8f, -1.0f,
70 -1.0f, -0.8f, -0.8f,
71 -0.8f, 0.8f, -1.0f,
72 -1.0f, 0.8f, -0.8f,
73 -0.8f, 1.0f, -0.8f,
74 -1.0f, 0.8f, 0.8f,
75 -0.8f, 1.0f, 0.8f,
76 -0.8f, 0.8f, 1.0f
79 GLfloat vertices_2[3 * 8] = {
80 -0.8f, 0.8f, 1.0f,
81 -1.0f, 0.8f, 0.8f,
82 -0.8f, -0.8f, 1.0f,
83 -1.0f, -0.8f, 0.8f,
84 -0.8f, -1.0f, 0.8f,
85 -1.0f, -0.8f, -0.8f,
86 -0.8f, -1.0f, -0.8f,
87 -0.8f, -0.8f, -1.0f
90 GLfloat vertices_3[3 * 4] = {
91 -1.0f, 0.8f, 0.8f,
92 -1.0f, 0.8f, -0.8f,
93 -1.0f, -0.8f, 0.8f,
94 -1.0f, -0.8f, -0.8f
97 GLfloat vertices_4[3 * 4] = {
98 1.0f, 0.8f, 0.8f,
99 1.0f, -0.8f, 0.8f,
100 1.0f, 0.8f, -0.8f,
101 1.0f, -0.8f, -0.8f
104 GLfloat vertices_5[3 * 8] = {
105 0.8f, 1.0f, 0.8f,
106 1.0f, 0.8f, 0.8f,
107 0.8f, 1.0f, -0.8f,
108 1.0f, 0.8f, -0.8f,
109 0.8f, 0.8f, -1.0f,
110 1.0f, -0.8f, -0.8f,
111 0.8f, -0.8f, -1.0f,
112 0.8f, -1.0f, -0.8f,
115 GLfloat vertices_6[3 * 8] = {
116 0.8f, -1.0f, -0.8f,
117 1.0f, -0.8f, -0.8f,
118 0.8f, -1.0f, 0.8f,
119 1.0f, -0.8f, 0.8f,
120 0.8f, -0.8f, 1.0f,
121 1.0f, 0.8f, 0.8f,
122 0.8f, 0.8f, 1.0f,
123 0.8f, 1.0f, 0.8f,
126 GLfloat normals_0[3 * 18] = {
127 0.0f, 0.0f, -1.0f,
128 0.0f, 0.0f, -1.0f,
129 0.0f, -1.0f, 0.0f,
130 0.0f, -1.0f, 0.0f,
131 0.0f, -1.0f, 0.0f,
132 0.0f, -1.0f, 0.0f,
133 0.0f, 0.0f, 1.0f,
134 0.0f, 0.0f, 1.0f,
135 0.0f, 0.0f, 1.0f,
136 0.0f, 0.0f, 1.0f,
137 0.0f, 1.0f, 0.0f,
138 0.0f, 1.0f, 0.0f,
139 0.0f, 1.0f, 0.0f,
140 0.0f, 1.0f, 0.0f,
141 0.0f, 0.0f, -1.0f,
142 0.0f, 0.0f, -1.0f,
143 0.0f, 0.0f, -1.0f,
144 0.0f, 0.0f, -1.0f
147 GLfloat normals_1[3 * 8] = {
148 0.0f, 0.0f, -1.0f,
149 -1.0f, 0.0f, 0.0f,
150 0.0f, 0.0f, -1.0f,
151 -1.0f, 0.0f, 0.0f,
152 0.0f, 1.0f, 0.0f,
153 -1.0f, 0.0f, 0.0f,
154 0.0f, 1.0f, 0.0f,
155 0.0f, 0.0f, 1.0f
158 GLfloat normals_2[3 * 8] = {
159 0.0f, 0.0f, 1.0f,
160 -1.0f, 0.0f, 0.0f,
161 0.0f, 0.0f, 1.0f,
162 -1.0f, 0.0f, 0.0f,
163 0.0f, -1.0f, 0.0f,
164 -1.0f, 0.0f, 0.0f,
165 0.0f, -1.0f, 0.0f,
166 0.0f, 0.0f, -1.0f
169 GLfloat normals_3[3 * 4] = {
170 -1.0f, 0.0f, 0.0f,
171 -1.0f, 0.0f, 0.0f,
172 -1.0f, 0.0f, 0.0f,
173 -1.0f, 0.0f, 0.0f
176 GLfloat normals_4[3 * 4] = {
177 1.0f, 0.0f, 0.0f,
178 1.0f, 0.0f, 0.0f,
179 1.0f, 0.0f, 0.0f,
180 1.0f, 0.0f, 0.0f
183 GLfloat normals_5[3 * 8] = {
184 0.0f, 1.0f, 0.0f,
185 1.0f, 0.0f, 0.0f,
186 0.0f, 1.0f, 0.0f,
187 1.0f, 0.0f, 0.0f,
188 0.0f, 0.0f, -1.0f,
189 1.0f, 0.0f, 0.0f,
190 0.0f, 0.0f, -1.0f,
191 1.0f, 0.0f, 0.0f,
194 GLfloat normals_6[3 * 8] = {
195 0.0f, -1.0f, 0.0f,
196 1.0f, 0.0f, 0.0f,
197 0.0f, -1.0f, 0.0f,
198 1.0f, 0.0f, 0.0f,
199 0.0f, 0.0f, 1.0f,
200 1.0f, 0.0f, 0.0f,
201 0.0f, 0.0f, 1.0f,
202 0.0f, 1.0f, 0.0f,
205 GLfloat tex_coords_0[3 * 18];
206 for (int n = 3 * 18; n--; )
207 tex_coords_0[n] = vertices_0[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
209 GLfloat tex_coords_1[3 * 8];
210 for (int n = 3 * 8; n--; )
211 tex_coords_1[n] = vertices_1[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
213 GLfloat tex_coords_2[3 * 8];
214 for (int n = 3 * 8; n--; )
215 tex_coords_2[n] = vertices_2[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
217 GLfloat tex_coords_3[3 * 4];
218 for (int n = 3 * 4; n--; )
219 tex_coords_3[n] = vertices_3[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
221 GLfloat tex_coords_4[3 * 4];
222 for (int n = 3 * 4; n--; )
223 tex_coords_4[n] = vertices_4[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
225 GLfloat tex_coords_5[3 * 8];
226 for (int n = 3 * 8; n--; )
227 tex_coords_5[n] = vertices_5[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
229 GLfloat tex_coords_6[3 * 8];
230 for (int n = 3 * 8; n--; )
231 tex_coords_6[n] = vertices_6[n] * DC_GARBAGE_LIGHTMAP_COORD_CONVERTER;
233 glVertexPointer(3, GL_FLOAT, 0, vertices_0);
234 glNormalPointer(GL_FLOAT, 0, normals_0);
235 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_0);
236 glDrawArrays(GL_TRIANGLE_STRIP, 0, 18);
238 glVertexPointer(3, GL_FLOAT, 0, vertices_1);
239 glNormalPointer(GL_FLOAT, 0, normals_1);
240 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_1);
241 glDrawArrays(GL_TRIANGLE_STRIP, 0, 8);
243 glVertexPointer(3, GL_FLOAT, 0, vertices_2);
244 glNormalPointer(GL_FLOAT, 0, normals_2);
245 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_2);
246 glDrawArrays(GL_TRIANGLE_STRIP, 0, 8);
248 glVertexPointer(3, GL_FLOAT, 0, vertices_3);
249 glNormalPointer(GL_FLOAT, 0, normals_3);
250 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_3);
251 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
253 glVertexPointer(3, GL_FLOAT, 0, vertices_4);
254 glNormalPointer(GL_FLOAT, 0, normals_4);
255 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_4);
256 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
258 glVertexPointer(3, GL_FLOAT, 0, vertices_5);
259 glNormalPointer(GL_FLOAT, 0, normals_5);
260 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_5);
261 glDrawArrays(GL_TRIANGLE_STRIP, 0, 8);
263 glVertexPointer(3, GL_FLOAT, 0, vertices_6);
264 glNormalPointer(GL_FLOAT, 0, normals_6);
265 glTexCoordPointer(3, GL_FLOAT, 0, tex_coords_6);
266 glDrawArrays(GL_TRIANGLE_STRIP, 0, 8);
268 glEndList();
270 glDisableClientState(GL_VERTEX_ARRAY);
271 glDisableClientState(GL_NORMAL_ARRAY);
272 glDisableClientState(GL_TEXTURE_COORD_ARRAY);