61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
monsterclear(); // all monsters back at their spawns for
// editing
projreset();
};
keyrepeat(editmode);
selset = false;
editing = editmode;
};
COMMANDN(edittoggle, toggleedit, ARG_NONE);
void
correctsel() // ensures above invariant
{
selset = !OUTBORD(sel.x, sel.y);
int bsize = ssize - MINBORD;
if (sel.xs + sel.x > bsize)
|
<
|
|
|
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
monsterclear(); // all monsters back at their spawns for
// editing
projreset();
};
keyrepeat(editmode);
selset = false;
editing = editmode;
}
COMMANDN(edittoggle, toggleedit, ARG_NONE)
void
correctsel() // ensures above invariant
{
selset = !OUTBORD(sel.x, sel.y);
int bsize = ssize - MINBORD;
if (sel.xs + sel.x > bsize)
|
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
|
void
editheight(int flr, int amount)
{
EDITSEL;
bool isfloor = flr == 0;
editheightxy(isfloor, amount, sel);
addmsg(1, 7, SV_EDITH, sel.x, sel.y, sel.xs, sel.ys, isfloor, amount);
};
COMMAND(editheight, ARG_2INT);
void
edittexxy(int type, int t, block &sel)
{
loopselxy(switch (type) {
case 0:
s->ftex = t;
|
<
|
|
|
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
|
void
editheight(int flr, int amount)
{
EDITSEL;
bool isfloor = flr == 0;
editheightxy(isfloor, amount, sel);
addmsg(1, 7, SV_EDITH, sel.x, sel.y, sel.xs, sel.ys, isfloor, amount);
}
COMMAND(editheight, ARG_2INT)
void
edittexxy(int type, int t, block &sel)
{
loopselxy(switch (type) {
case 0:
s->ftex = t;
|
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
|
addmsg(1, 6, SV_EDITS, sel.x, sel.y, sel.xs, sel.ys, type);
};
void
heightfield(int t)
{
edittype(t == 0 ? FHF : CHF);
};
void
solid(int t)
{
edittype(t == 0 ? SPACE : SOLID);
};
void
corner()
{
edittype(CORNER);
};
COMMAND(heightfield, ARG_1INT);
COMMAND(solid, ARG_1INT);
COMMAND(corner, ARG_NONE);
void
editequalisexy(bool isfloor, block &sel)
{
int low = 127, hi = -128;
loopselxy({
if (s->floor < low)
|
>
>
|
>
>
|
<
|
<
<
|
|
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
addmsg(1, 6, SV_EDITS, sel.x, sel.y, sel.xs, sel.ys, type);
};
void
heightfield(int t)
{
edittype(t == 0 ? FHF : CHF);
}
COMMAND(heightfield, ARG_1INT)
void
solid(int t)
{
edittype(t == 0 ? SPACE : SOLID);
}
COMMAND(solid, ARG_1INT)
void
corner()
{
edittype(CORNER);
}
COMMAND(corner, ARG_NONE)
void
editequalisexy(bool isfloor, block &sel)
{
int low = 127, hi = -128;
loopselxy({
if (s->floor < low)
|
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
|
void
equalize(int flr)
{
bool isfloor = flr == 0;
EDITSEL;
editequalisexy(isfloor, sel);
addmsg(1, 6, SV_EDITE, sel.x, sel.y, sel.xs, sel.ys, isfloor);
};
COMMAND(equalize, ARG_1INT);
void
setvdeltaxy(int delta, block &sel)
{
loopselxy(s->vdelta = max(s->vdelta + delta, 0));
remipmore(sel);
};
|
<
|
|
|
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
|
void
equalize(int flr)
{
bool isfloor = flr == 0;
EDITSEL;
editequalisexy(isfloor, sel);
addmsg(1, 6, SV_EDITE, sel.x, sel.y, sel.xs, sel.ys, isfloor);
}
COMMAND(equalize, ARG_1INT)
void
setvdeltaxy(int delta, block &sel)
{
loopselxy(s->vdelta = max(s->vdelta + delta, 0));
remipmore(sel);
};
|
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
|
newent(char *what, char *a1, char *a2, char *a3, char *a4)
{
EDITSEL;
newentity(sel.x, sel.y, (int)player1->o.z, what, ATOI(a1), ATOI(a2),
ATOI(a3), ATOI(a4));
};
COMMANDN(select, selectpos, ARG_4INT);
COMMAND(edittag, ARG_1INT);
COMMAND(replace, ARG_NONE);
COMMAND(archvertex, ARG_3INT);
COMMAND(arch, ARG_2INT);
COMMAND(slope, ARG_2INT);
COMMANDN(vdelta, setvdelta, ARG_1INT);
COMMANDN(undo, editundo, ARG_NONE);
COMMAND(copy, ARG_NONE);
COMMAND(paste, ARG_NONE);
COMMAND(edittex, ARG_2INT);
COMMAND(newent, ARG_5STR);
COMMAND(perlin, ARG_3INT);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
|
newent(char *what, char *a1, char *a2, char *a3, char *a4)
{
EDITSEL;
newentity(sel.x, sel.y, (int)player1->o.z, what, ATOI(a1), ATOI(a2),
ATOI(a3), ATOI(a4));
};
COMMANDN(select, selectpos, ARG_4INT)
COMMAND(edittag, ARG_1INT)
COMMAND(replace, ARG_NONE)
COMMAND(archvertex, ARG_3INT)
COMMAND(arch, ARG_2INT)
COMMAND(slope, ARG_2INT)
COMMANDN(vdelta, setvdelta, ARG_1INT)
COMMANDN(undo, editundo, ARG_NONE)
COMMAND(copy, ARG_NONE)
COMMAND(paste, ARG_NONE)
COMMAND(edittex, ARG_2INT)
COMMAND(newent, ARG_5STR)
COMMAND(perlin, ARG_3INT)
|