1
2
3
4
5
6
7
8
9
10
|
// clientgame.cpp: core game related stuff
#include "cube.h"
int nextmode = 0; // nextmode becomes gamemode after next map load
VAR(gamemode, 1, 0, 0);
void
mode(int n)
{
|
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
|
// clientgame.cpp: core game related stuff
#include "cube.h"
#include <memory>
int nextmode = 0; // nextmode becomes gamemode after next map load
VAR(gamemode, 1, 0, 0);
void
mode(int n)
{
|
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
return;
} // if we die in SP we try the same map again
respawnself();
}
}
int sleepwait = 0;
string sleepcmd;
void
sleepf(char *msec, char *cmd)
{
sleepwait = atoi(msec) + lastmillis;
strcpy_s(sleepcmd, cmd);
};
COMMANDN(sleep, sleepf, ARG_2STR)
void
updateworld(int millis) // main game update loop
{
if (lastmillis) {
curtime = millis - lastmillis;
if (sleepwait && lastmillis > sleepwait) {
sleepwait = 0;
execute(sleepcmd);
};
physicsframe();
checkquad(curtime);
if (m_arena)
arenarespawn();
moveprojectiles((float)curtime);
demoplaybackstep();
if (!demoplayback) {
|
|
|
|
|
<
>
>
>
>
|
<
>
>
|
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
return;
} // if we die in SP we try the same map again
respawnself();
}
}
int sleepwait = 0;
static OFString *sleepcmd = nil;
void
sleepf(OFString *msec, OFString *cmd)
{
sleepwait = (int)msec.longLongValue + lastmillis;
sleepcmd = cmd;
}
COMMANDN(sleep, sleepf, ARG_2STR)
void
updateworld(int millis) // main game update loop
{
if (lastmillis) {
curtime = millis - lastmillis;
if (sleepwait && lastmillis > sleepwait) {
sleepwait = 0;
@autoreleasepool {
std::unique_ptr<char> cmd(
strdup(sleepcmd.UTF8String));
execute(cmd.get());
}
}
physicsframe();
checkquad(curtime);
if (m_arena)
arenarespawn();
moveprojectiles((float)curtime);
demoplaybackstep();
if (!demoplayback) {
|
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
|
loopv(players) if (players[i]) players[i]->frags = 0;
resetspawns();
@autoreleasepool {
clientmap = @(name);
}
if (editmode)
toggleedit();
setvar("gamespeed", 100);
setvar("fog", 180);
setvar("fogcolour", 0x8099B3);
showscores(false);
intermission = false;
framesinmap = 0;
conoutf(@"game mode is %s", modestr(gamemode));
}
COMMANDN(map, changemap, ARG_1STR)
|
|
|
|
|
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
|
loopv(players) if (players[i]) players[i]->frags = 0;
resetspawns();
@autoreleasepool {
clientmap = @(name);
}
if (editmode)
toggleedit();
setvar(@"gamespeed", 100);
setvar(@"fog", 180);
setvar(@"fogcolour", 0x8099B3);
showscores(false);
intermission = false;
framesinmap = 0;
conoutf(@"game mode is %s", modestr(gamemode));
}
COMMANDN(map, changemap, ARG_1STR)
|