mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-14 08:30:58 +00:00
a37c31cab7
From LunaCON, remove 'detail' as alias to that member. git-svn-id: https://svn.eduke32.com/eduke32@4302 1a8010ca-5511-0410-912e-c29ae57300e0
110 lines
2.6 KiB
Lua
Executable file
110 lines
2.6 KiB
Lua
Executable file
#!/usr/bin/env luajit
|
|
|
|
local B = require("build")
|
|
local string = require("string")
|
|
|
|
local opt, fn
|
|
local do_canonicalize_sprite
|
|
|
|
if (arg[1] and arg[1]:sub(1,1)=="-") then
|
|
opt = arg[1]
|
|
fn = arg[2]
|
|
else
|
|
fn = arg[1]
|
|
end
|
|
|
|
if (opt) then
|
|
if (opt=="-c" or opt=="-C") then
|
|
-- -C means to canonicalize but without adding the new->old mapping
|
|
-- comment
|
|
do_canonicalize_sprite = opt
|
|
else
|
|
print("Error: unrecognized option "..opt)
|
|
return 1
|
|
end
|
|
end
|
|
|
|
if (fn==nil) then
|
|
print("Usage: map2text [-c/-C] <somefile.map>")
|
|
return 1
|
|
end
|
|
|
|
local function printf(fmt, ...)
|
|
print(string.format(fmt, ...))
|
|
end
|
|
|
|
local map, errmsg = B.loadboard(fn, do_canonicalize_sprite)
|
|
if (map == nil) then
|
|
printf("Couldn't load \"%s\": %s", fn, errmsg)
|
|
return 1
|
|
end
|
|
|
|
|
|
printf("numsectors = %d", map.numsectors)
|
|
printf("numwalls = %d", map.numwalls)
|
|
printf("numsprites = %d", map.numsprites)
|
|
|
|
printf("startpos = { %d, %d, %d }", map.start.x, map.start.y, map.start.z)
|
|
printf("startang = %d", map.start.ang)
|
|
printf("startsectnum = %d", map.start.sectnum)
|
|
|
|
local sector_members = {
|
|
"wallptr", "wallnum",
|
|
"ceilingz", "floorz",
|
|
"ceilingstat", "floorstat",
|
|
"ceilingpicnum", "ceilingheinum",
|
|
"ceilingshade",
|
|
"ceilingpal", "ceilingxpanning", "ceilingypanning",
|
|
"floorpicnum", "floorheinum",
|
|
"floorshade",
|
|
"floorpal", "floorxpanning", "floorypanning",
|
|
"visibility", "filler",
|
|
"lotag", "hitag", "extra",
|
|
}
|
|
|
|
local wall_members = {
|
|
"x", "y",
|
|
"point2", "nextwall", "nextsector",
|
|
"cstat",
|
|
"picnum", "overpicnum",
|
|
"shade",
|
|
"pal", "xrepeat", "yrepeat", "xpanning", "ypanning",
|
|
"lotag", "hitag", "extra",
|
|
}
|
|
|
|
local sprite_members = {
|
|
"x", "y", "z",
|
|
"cstat", "picnum",
|
|
"shade",
|
|
"pal", "clipdist", "blend",
|
|
"xrepeat", "yrepeat",
|
|
"xoffset", "yoffset",
|
|
"sectnum", "statnum",
|
|
"ang", "owner", "xvel", "yvel", "zvel",
|
|
"lotag", "hitag", "extra",
|
|
}
|
|
|
|
local function print_members(map, struct, members)
|
|
printf("%s = {", struct)
|
|
for i=0,map["num"..struct.."s"]-1 do
|
|
local comment = ""
|
|
if (struct=="sprite" and do_canonicalize_sprite=="-c") then
|
|
comment = " --"..tostring(map.spriten2o[i])
|
|
end
|
|
|
|
printf("[%d]={%s", i, comment)
|
|
|
|
for j=1,#members do
|
|
local member = members[j]
|
|
printf("%s = %d", member, map[struct][i][member])
|
|
end
|
|
|
|
print("}")
|
|
end
|
|
|
|
print("}")
|
|
end
|
|
|
|
print_members(map, "sector", sector_members)
|
|
print_members(map, "wall", wall_members)
|
|
print_members(map, "sprite", sprite_members)
|