summaryrefslogtreecommitdiff
path: root/data/stdedit.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'data/stdedit.cfg')
-rw-r--r--data/stdedit.cfg349
1 files changed, 349 insertions, 0 deletions
diff --git a/data/stdedit.cfg b/data/stdedit.cfg
new file mode 100644
index 0000000..6d99574
--- /dev/null
+++ b/data/stdedit.cfg
@@ -0,0 +1,349 @@
+
+// implements some editing commands
+
+
+//////// Entity Editing ///////////////
+
+=enttype = [
+ || [strcmp * $arg1] [strcmp (enttype) $arg1]
+]
+
+=entattr = [
+ || [strcmp * $arg2] [= (entattr $arg1) $arg2]
+]
+
+// clear ents of given type
+clearents = [
+ if $editing [
+ entcancel
+ entselect [ =enttype $arg1 ];
+ echo Deleted (enthavesel) $arg1 entities;
+ delent
+ ]
+]
+
+// replace all ents that match current selection
+// with the values given
+replaceents = [
+ if $editing [
+ do [
+ entfind @(entget)
+ entset @(loopconcat i $numargs [result $[arg@(+ $i 1)]])
+ ]
+ echo Replaced (enthavesel) entities
+ ]
+]
+
+selentedit = [ saycommand ( concatword "/entset " (entget) ) ]
+selreplaceents = [ saycommand ( concatword "/replaceents " (entget) ) ]
+selentfindall = [ do [ entfind @(entget) ] ]
+
+// modify given attribute of ent by a given amount
+// arg1 attribute
+// arg2 value
+entproperty = [
+ entattr $arg1 (+ (entattr $arg1) $arg2)
+]
+
+enttypelist = [
+ light mapmodel playerstart envmap particles sound
+ shells bullets rockets riflerounds grenades cartridges
+ health healthboost greenarmour yellowarmour quaddamage
+ teleport teledest
+ monster carrot jumppad
+ base respawnpoint
+ spotlight
+ box barrel platform elevator
+ flag
+]
+
+enttypeselect = [
+ enttypelength = (listlen $enttypelist)
+ next = (mod (+ (indexof $enttypelist (enttype)) $arg1) $enttypelength)
+ if (< $next 0) [ next = (+ $next $enttypelength) ]
+ do [entset @(listsplice (entget) (at $enttypelist $next) 0 1)]
+]
+
+////// Entity primary actions /////////
+
+ent_action_base = [ entproperty 0 ( * $arg1 1 ) ]
+ent_action_teleport = [ entproperty 0 ( * $arg1 1 ) ]
+ent_action_teledest = [ entproperty 1 ( * $arg1 1 ) ]
+ent_action_mapmodel = [ entproperty 1 ( * $arg1 1 ) ]
+ent_action_spotlight = [ entproperty 0 ( * $arg1 5 ) ]
+ent_action_light = [ entproperty 0 ( * $arg1 5 ) ]
+ent_action_jumppad = [ entproperty 0 ( * $arg1 5 ) ]
+ent_action_respawnpoint = [ entproperty 0 ( * $arg1 15 ) ]
+ent_action_playerstart = [ entproperty 0 ( * $arg1 15 ) ]
+ent_action_envmap = [ entproperty 0 ( * $arg1 5 ) ]
+ent_action_particles = [ entproperty 0 ( * $arg1 1 ) ]
+ent_action_sound = [ entproperty 0 ( * $arg1 1 ) ]
+ent_action_cycle = [ entset ( if ( > $arg1 -1 ) [ result $arg2 ] [ result $arg3 ] ) ]
+ent_action_shells = [ ent_action_cycle $arg1 bullets quaddamage ]
+ent_action_bullets = [ ent_action_cycle $arg1 rockets shells ]
+ent_action_rockets = [ ent_action_cycle $arg1 riflerounds bullets ]
+ent_action_riflerounds = [ ent_action_cycle $arg1 grenades rockets ]
+ent_action_grenades = [ ent_action_cycle $arg1 cartridges riflerounds ]
+ent_action_cartridges = [ ent_action_cycle $arg1 quaddamage grenades ]
+ent_action_quaddamage = [ ent_action_cycle $arg1 shells cartridges ]
+ent_action_health = [ ent_action_cycle $arg1 healthboost yellowarmour ]
+ent_action_healthboost = [ ent_action_cycle $arg1 greenarmour health ]
+ent_action_greenarmour = [ ent_action_cycle $arg1 yellowarmour healthboost ]
+ent_action_yellowarmour = [ ent_action_cycle $arg1 health greenarmour ]
+ent_action_monster = [ entproperty 1 ( * $arg1 1 ) ]
+ent_action_box = [ entproperty 1 ( * $arg1 1 ) ]
+ent_action_barrel = [ entproperty 1 ( * $arg1 1 ) ]
+ent_action_platform = [ entproperty 1 ( * $arg1 1 ) ]
+ent_action_elevator = [ entproperty 1 ( * $arg1 1 ) ]
+
+//////// Copy and Paste //////////////
+
+// 3 types of copying and pasting
+// 1. select only cubes -> paste only cubes
+// 2. select cubes and ents -> paste cubes and ents. same relative positions
+// 3. select only ents -> paste last selected ent. if ents are selected, replace attrs as paste
+
+opaquepaste = 1
+entcopybuf = ""
+
+entreplace = [
+ do [
+ if (enthavesel) [] [ newent @entcopybuf ]
+ entset @entcopybuf
+ ]
+]
+
+editcopy = [
+ if (|| [havesel] [! (enthavesel)]) [
+ entcopybuf = ""
+ entcopy
+ copy
+ ] [
+ entcopybuf = (entget)
+ ]
+]
+
+editpaste = [
+ cancelpaste = (! (|| [enthavesel] [havesel]));
+ if (strcmp "" $entcopybuf) [
+ pastehilite
+ reorient // temp; real fix will be in octaedit
+ onrelease [
+ if $opaquepaste delcube
+ paste
+ entpaste
+ if $cancelpaste [ cancelsel ]
+ ]
+ ] [
+ entreplace
+ if $cancelpaste [ cancelsel ]
+ ]
+]
+
+/////// Selection ///////////////
+
+// select ents with given properties
+// '*' is wildcard
+entfind = [
+ if (= $numargs 0) [
+ entselect 1
+ ] [
+ entselect (concat [ && [=enttype @@arg1] ] (loopconcat i (- $numargs 1) [
+ result [ [=entattr @@i @@[arg@(+ $i 2)]] ]
+ ]))
+ ]
+]
+
+entfindinsel = [
+ if (= $numargs 0) [
+ entselect [ insel ]
+ ] [
+ entselect (concat [ && [insel] [=enttype @@arg1] ] (loopconcat i (- $numargs 1) [
+ result [ [=entattr @@i @@[arg@(+ $i 2)]] ]
+ ]))
+ ]
+]
+
+lse = [
+ line = ""
+ count = 0
+ entloop [
+ line = ( concatword $line (entget) " " )
+ count = ( + $count 1 )
+ if (> $count 4) [
+ echo $line
+ line = ""
+ count = 0
+ ]
+ ]
+ if (> $count 0 ) [ echo $line ]
+ echo (enthavesel) entities selected
+]
+
+drag = [ dragging 1; onrelease [ dragging 0 ] ]
+corners = [ selectcorners 1; dragging 1; onrelease [ selectcorners 0; dragging 0 ] ]
+editmove = [ moving 1; onrelease [ moving 0 ]; result $moving ]
+entdrag = [ entmoving 1; onrelease [entmoving 0]; result $entmoving ]
+editdrag = [ cancelsel; || [entdrag] [ drag ] ]
+selcorners = [ if $hmapedit [ hmapselect ] [ cancelsel; || [entdrag] [ corners ] ] ]
+editextend = [ || [entdrag] [ selextend; reorient; editmove ] ]
+
+editmovewith = [
+ if (havesel) [
+ || [editmove] [ @arg1 ]
+ onrelease [ moving 0; dragging 0 ]
+ ] [
+ @arg1
+ ]
+]
+
+editmovecorner = [ editmovewith selcorners ]
+editmovedrag = [ editmovewith editdrag ]
+
+////// Other Editing commands /////////
+
+editfacewentpush = [
+
+ if (|| [havesel] [! (enthavesel)] ) [
+ if $moving [
+ pushsel $arg1
+ ] [
+ entcancel
+ editface $arg1 $arg2
+ ]
+ ] [
+ if $entmoving [ entpush $arg1 ] [ ent_action_@(enttype) $arg1 ]
+ ]
+]
+
+entswithdirection = "playerstart teledest mapmodel flag monster box barrel platform elevator"
+
+entdirection = [
+ if ( && [enthavesel] [ = (havesel) 0 ] ) [
+ if (>= (indexof $entswithdirection (enttype)) 0) [
+ if (> $arg1 0) [
+ entproperty 0 $arg2
+ if (> (entattr 0) 360) [ entproperty 0 -360 ]
+ ] [
+ entproperty 0 (- 0 $arg2)
+ if (< (entattr 0) 0) [ entproperty 0 360 ]
+ ]
+ ]
+ result 1
+ ] [
+ result 0
+ ]
+]
+
+editdel = [ if (! (enthavesel)) [delcube]; delent ]
+editflip = [ flip; entflip ]
+
+editrotate = [
+ || [ entdirection $arg1 15 ] [
+ rotate $arg1
+ entrotate $arg1
+ ]
+]
+
+editcut = [
+ if (moving 1) [
+ if (= $moving 1) [selsave]
+ onrelease [
+ moving 0
+ if (selmoved) [
+ selswap
+ copy; entcopy
+ delcube; delent
+ selrestore
+ paste; entpaste
+ ]
+ ]
+ ]
+]
+
+edithud = [
+ format "%6^f7%7^f7gridpower ^f2%1 %2 %3 %4 %5" $gridpower (
+ if $allfaces [format "^f2allfaces"][format "^f4allfaces"]
+ )(
+ if $entediting [format "^f2entediting"][format "^f4entediting"]
+ )(
+ if $entselsnap [format "^f2entselsnap"][format "^f4entselsnap"]
+ )(
+ if $dropwaypoints [format "^f0dropwaypoints"][]
+ )(
+ if $hmapedit [format "brush^f2 %1 ^f7:^f2 %2^n" $brushindex $brushname] [
+ if $blendpaintmode [
+ format "blendpaint mode: ^f2%1^f7^nblend brush: ^f2%2^n" (at $blendpaintmodes $blendpaintmode) (getblendbrushname (curblendbrush))
+ ] [if (! (enthavesel)) [
+ texnum = (? (>= $texguinum 0) $texguinum (getseltex))
+ format "^f2%1 ^f7:^f2 %2^n" (max 0 $texnum) (gettexname $texnum)
+ ]]
+ ]
+ )(
+ if (enthavesel) [concat (entget) ":^f2" (enthavesel) "^f7selected^n"]
+ )
+]
+
+entcomplete = [ listcomplete $arg1 $enttypelist ]
+entcomplete newent
+entcomplete entfind
+entcomplete clearents
+
+listcomplete editmat "air water clip glass noclip lava gameclip death alpha"
+air = [ editmat air $arg1 ]
+loop i 4 [
+ [water@(? $i (+ $i 1))] = [ editmat water@(? $i (+ $i 1)) $arg1 ]
+ [lava@(? $i (+ $i 1))] = [ editmat lava@(? $i (+ $i 1)) $arg1 ]
+ [glass@(? $i (+ $i 1))] = [ editmat glass@(? $i (+ $i 1)) $arg1 ]
+]
+clip = [ editmat clip $arg1 ]
+noclip = [ editmat noclip $arg1 ]
+gameclip = [ editmat gameclip $arg1 ]
+death = [ editmat death $arg1 ]
+alpha = [ editmat alpha $arg1 ]
+
+blendpaintmodes = ["off" "replace" "dig" "fill" "inverted dig" "inverted fill"]
+setblendpaintmode = [
+ if (> $numargs 0) [blendpaintmode $arg1] [blendpaintmode 0]
+ echo "blend paint mode set to:" (at $blendpaintmodes $blendpaintmode)
+]
+scrollblendbrush = [
+ if (> $numargs 0) [nextblendbrush $arg1] [nextblendbrush]
+ echo "blend brush set to:" (getblendbrushname (curblendbrush))
+]
+
+minimaphere = [minimapheight (at (getcampos) 2)]
+
+getsundir = [sunlightyaw (getcamyaw); sunlightpitch (getcampitch)]
+
+echovcolor = [echo ***vcolor (getvcolor $getseltex)]
+echovrotate = [echo ***vrotate (getvrotate $getseltex)]
+echovoffset = [echo ***voffset (getvoffset $getseltex)]
+echovscroll = [echo ***vscroll (getvscroll $getseltex)]
+echovscale = [echo ***vscale (getvscale $getseltex)]
+echovlayer = [echo ***vlayer (getvlayer $getseltex)]
+echovalpha = [echo ***valpha (getvalpha $getseltex)]
+
+// echovshaderparamname = [echo (getvshaderparamnames $getseltex)] // Echoes the name of altered vshaderparam, if used. Only works with vshaderparam, not params set in map.cfg
+echovshaderparam = [echo ***vshaderparam (getvshaderparamnames $getseltex) (getvshaderparam $getseltex (getvshaderparamnames $getseltex))] // Only works with vshaderparam, not params set in map.cfg
+// echovshaderparamenvscale = [echo ***shaderparam envscale (getvshaderparam $getseltex envscale)]
+// echovshaderparamglowcolor = [echo ***shaderparam glowcolor (getvshaderparam $getseltex glowcolor)]
+// echovshaderparamparallaxscale = [echo ***shaderparam parallaxscale (getvshaderparam $getseltex parallaxscale)]
+// echovshaderparampulseglowcolor = [echo ***shaderparam pulseglowcolor (getvshaderparam $getseltex pulseglowcolor)]
+// echovshaderparampulseglowspeed = [echo ***shaderparam pulseglowspeed (getvshaderparam $getseltex pulseglowspeed)]
+// echovshaderparampulsespeed = [echo ***shaderparam pulsespeed (getvshaderparam $getseltex pulsespeed)]
+// echovshaderparamspecscale = [echo ***shaderparam specscale (getvshaderparam $getseltex specscale)]
+
+findpickupents = [entfind shells;entfind bullets;entfind rockets;entfind riflerounds;entfind grenades;entfind cartridges;entfind greenarmour;entfind yellowarmour;entfind health;entfind healthboost;entfind quaddamage;]
+
+prettysky = [
+ skybox "skyboxes/remus/sky01"
+ ambient 25 21 23
+ skylight 148 153 163
+ blurskylight 2
+ sunlight 255 252 250
+ sunlightscale 1.3
+ sunlightpitch 43
+ sunlightyaw 53
+]
+