Cube  Diff

Differences From Artifact [6b830d51dc]:

To Artifact [c4ec2131b8]:


79
80
81
82
83
84
85
86
87
88


89
90
91


92
93

94
95
96
97
98
99
100






101
102
103
104
105
106
107
108
79
80
81
82
83
84
85



86
87
88


89
90
91

92
93






94
95
96
97
98
99

100
101
102
103
104
105
106







-
-
-
+
+

-
-
+
+

-
+

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







	fflush(stdout);
#endif
}

void
conoutf(OFConstantString *format, ...)
{
	@autoreleasepool {
		va_list arguments;
		va_start(arguments, format);
	va_list arguments;
	va_start(arguments, format);

		OFString *string = [[OFString alloc] initWithFormat:format
		                                          arguments:arguments];
	OFString *string = [[OFString alloc] initWithFormat:format
	                                          arguments:arguments];

		va_end(arguments);
	va_end(arguments);

		int n = 0;
		while (string.length > WORDWRAP) {
			conline([string substringToIndex:WORDWRAP], n++ != 0);
			string = [string substringFromIndex:WORDWRAP];
		}
		conline(string, n != 0);
	int n = 0;
	while (string.length > WORDWRAP) {
		conline([string substringToIndex:WORDWRAP], n++ != 0);
		string = [string substringFromIndex:WORDWRAP];
	}
	conline(string, n != 0);
	}
}

// render buffer taking into account time & scrolling
void
renderconsole()
{
	int nd = 0;
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
175
176
177
178
179
180
181



182
183

184
185
186
187
188
189


190

191
192
193
194
195
196
197







-
-
-
+
+
-






-
-
+
-







	commandbuf = [init mutableCopy];
}
COMMAND(saycommand, ARG_VARI)

void
mapmsg(OFString *s)
{
	@autoreleasepool {
		memset(hdr.maptitle, '\0', sizeof(hdr.maptitle));
		strncpy(hdr.maptitle, s.UTF8String, 127);
	memset(hdr.maptitle, '\0', sizeof(hdr.maptitle));
	strncpy(hdr.maptitle, s.UTF8String, 127);
	}
}
COMMAND(mapmsg, ARG_1STR)

void
pasteconsole()
{
	@autoreleasepool {
		[commandbuf appendString:@(SDL_GetClipboardText())];
	[commandbuf appendString:@(SDL_GetClipboardText())];
	}
}

static OFMutableArray<OFString *> *vhistory;
static int histpos = 0;

void
history(int n)
258
259
260
261
262
263
264
265
266
267
268
269




270
271
272
273
274
275





276
277
278

279
280
281
282
283
284
285
286
252
253
254
255
256
257
258





259
260
261
262
263





264
265
266
267
268



269

270
271
272
273
274
275
276







-
-
-
-
-
+
+
+
+

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








			default:
				resetcomplete();
			}
		} else {
			if (code == SDLK_RETURN) {
				if (commandbuf.length > 0) {
					@autoreleasepool {
						if (vhistory == nil)
							vhistory =
							    [[OFMutableArray
							        alloc] init];
					if (vhistory == nil)
						vhistory =
						    [[OFMutableArray alloc]
						        init];

						if (vhistory.count == 0 ||
						    ![vhistory.lastObject
						        isEqual:commandbuf]) {
							// cap this?
							[vhistory
					if (vhistory.count == 0 ||
					    ![vhistory.lastObject
					        isEqual:commandbuf]) {
						// cap this?
						[vhistory addObject:[commandbuf
							    addObject:
							        [commandbuf
							            copy]];
						                        copy]];
						}
					}
					histpos = vhistory.count;
					if ([commandbuf hasPrefix:@"/"])
						execute(commandbuf, true);
					else
						toserver(commandbuf);
				}