Cube  Diff

Differences From Artifact [92e074465e]:

To Artifact [a7072e43d2]:


143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
























174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192


193
194
195
196





197
198
199




200
201

202

203
204
205
206
207
208
209
210
211
212
213












214
215
216
217





218
219
220
221
222
223
224
143
144
145
146
147
148
149
























150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194




195
196
197
198
199



200
201
202
203
204

205
206
207











208
209
210
211
212
213
214
215
216
217
218
219




220
221
222
223
224
225
226
227
228
229
230
231







-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+



















+
+
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+

-
+

+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+







	};

	glDisable(GL_BLEND);
	glDepthMask(GL_TRUE);
};

string closeent;
char *entnames[] = {
    "none?",
    "light",
    "playerstart",
    "shells",
    "bullets",
    "rockets",
    "riflerounds",
    "health",
    "healthboost",
    "greenarmour",
    "yellowarmour",
    "quaddamage",
    "teleport",
    "teledest",
    "mapmodel",
    "monster",
    "trigger",
    "jumppad",
    "?",
    "?",
    "?",
    "?",
    "?",
OFString *entnames[] = {
    @"none?",
    @"light",
    @"playerstart",
    @"shells",
    @"bullets",
    @"rockets",
    @"riflerounds",
    @"health",
    @"healthboost",
    @"greenarmour",
    @"yellowarmour",
    @"quaddamage",
    @"teleport",
    @"teledest",
    @"mapmodel",
    @"monster",
    @"trigger",
    @"jumppad",
    @"?",
    @"?",
    @"?",
    @"?",
    @"?",
};

void
renderents() // show sparkly thingies for map entities in edit mode
{
	closeent[0] = 0;
	if (!editmode)
		return;
	loopv(ents)
	{
		entity &e = ents[i];
		if (e.type == NOTUSED)
			continue;
		vec v = {(float)e.x, (float)e.y, (float)e.z};
		particle_splash(2, 2, 40, v);
	};
	int e = closestent();
	if (e >= 0) {
		entity &c = ents[e];
		@autoreleasepool {
			sprintf_s(closeent)(
		sprintf_s(closeent)("closest entity = %s (%d, %d, %d, %d), "
		                    "selection = (%d, %d)",
		    entnames[c.type], c.attr1, c.attr2, c.attr3, c.attr4,
		    getvar("selxs"), getvar("selys"));
			    "closest entity = %s (%d, %d, %d, %d), "
			    "selection = (%d, %d)",
			    entnames[c.type].UTF8String, c.attr1, c.attr2,
			    c.attr3, c.attr4, getvar(@"selxs"),
			    getvar(@"selys"));
	};
};

		}
	}
}

void
loadsky(char *basename)
loadsky(OFString *basename)
{
	@autoreleasepool {
	static string lastsky = "";
	if (strcmp(lastsky, basename) == 0)
		return;
	char *side[] = {"ft", "bk", "lf", "rt", "dn", "up"};
	int texnum = 14;
	loopi(6)
	{
		sprintf_sd(name)("packages/%s_%s.jpg", basename, side[i]);
		int xs, ys;
		if (!installtex(texnum + i, path(name), xs, ys, true))
			conoutf(@"could not load sky textures");
		static OFString *lastsky = @"";
		if ([lastsky isEqual:basename])
			return;
		char *side[] = {"ft", "bk", "lf", "rt", "dn", "up"};
		int texnum = 14;
		loopi(6)
		{
			sprintf_sd(name)(
			    "packages/%s_%s.jpg", basename.UTF8String, side[i]);
			int xs, ys;
			if (!installtex(texnum + i, path(name), xs, ys, true))
				conoutf(@"could not load sky textures");
	};
	strcpy_s(lastsky, basename);
}
COMMAND(loadsky, ARG_1CSTR)
		}
		lastsky = basename;
	}
}
COMMAND(loadsky, ARG_1STR)

float cursordepth = 0.9f;
GLint viewport[4];
GLdouble mm[16], pm[16];
vec worldpos;

void