EWTOOLS-MAPUTIL(1)
π EWTOOLS-MAPUTIL(1) π
okay bestie, listen up β this is ewtools-maputil, and you can also just call it maputil if you're feeling casual. either way it's the utility for working with Quake MAP files. yes, that's the whole job. and it slays at it. πΈ
β ericw-tools era, no cap, she's giving "I make maps, you make vibes". π
β¨ SYNOPSIS β¨
maputil MAPFILE [OPTION]...
one map file, as many options as your heart desires. periodt. π
π OPTIONS π
--script<path to Lua script file>β runs the Lua script you point it at. go off, script. π§--query "<Lua expression>"β runs a query on your entities and prints out everything that matches. the docs have the full tea on globals, so go check those for the details. ngl, query has the exact same access as script does, it's just way more suited to lil read-only operations. lowkey the polite option. π«Ά--strip_extended_infoβ yeets the extended Quake II/III information off your faces. gone. deleted. π--convert <quake | valve | etp | bp>β converts the current map to the format you picked. choose wisely bestie. π--save "<output path>"β saves the current map to the output path you typed. your work? protected. β--game <quake | quake2 | hexen2 | halflife>β sets the current game. certain conversions or operations need to know which one, so don't skip this if you're doing those. it's giving context, and context is everything. π
π¦ LUA LAYOUT π¦
here's the whole shape of the data, bestie. every field, exactly where it lives. iykyk:
entities = table[]
[E].dict = array
[D] = [ key, value ]
[E].brushes = table[]
[S].texture = string
[S].plane_points = [ [ x, y, z ] [ x, y, z ] [ x, y, z ] ]
[S].raw = table (can only contain ONE member:)
.quaked = table
.shift = [ x, y ]
.rotate = number
.scale = [ x, y ]
.valve = table
.axis = [ [ x, y, z ] [ x, y, z ] ]
.shift = [ x, y ]
.rotate = number
.scale = [ x, y ]
.bp = table
.axis = [ [ x, y, z ] [ x, y, z ] ]
.etp = table
.shift = [ x, y ]
.rotate = number
.scale = [ x, y ]
.tx2 = boolean
[S].info = table or nil
.contents = number
.value = number
.flags = number
[S].plane = [ x, y, z, d ] (read-only)
[S].vecs = [ [ x, y, z, d ] [ x, y, z, d ] ] (read-only)
β οΈ heads up:[S].rawcan only contain ONE member (.quaked,.valve,.bpor.etpβ pick one, bestie, you can't have all four, it's not that kind of party π), and[S].planeand[S].vecsare read-only, so no touching. also[S].infoistableornil, so vibe check it before you reach in. π
and that's the whole page, no crumbs left. π this iconic lil manual comes to you from ericw-tools, dated Jul 29, 2026 β main character energy from start to finish. ily, go make something beautiful. πβ¨
π¦ where this page comes from
- ubuntu stonking: ericw-tools 2.0.0~alpha11+ds-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms