Feature request, support .png files.
Oh and a key to enable a windowed mode, I'd like to debug , read and crash stuff while running the program. Ooh found it in the dsb.ini file, thanks!
Ok now please support creating/deleting items and saving the dungeon.
What are those Map/map00.pcx files for?
What makes pcx files?
Please check out MurgaLua
http://www.murga-projects.com/murgaLua/murgaLua.html
It might help to build interfaces and map makers with a lua based programming environment. I'll help, this looks fun.
Looking at a "dungeon.lua" I see that you could certainly design a simple murgaLua interface, thats spits out this file.
However the files are explicit, they are calling functions like "dsb_add_champion()", etc.
if some things were stored in tables, in separate files an editor could write and read data more efficiently/user friendly perhaps.
For instance, I'm looking at test_dungeon/dungeon.lua
a Characters.lua could look something like this
-- Something easy for a simple UI to write/read
Code: Select all
Champions={
{"port_chani", "TEST", "PLAYER", 2000, 2000, 2000, 500, 400, 650, 450, 450, 400, 500, 8, 5, 5, 5},
{"port_daroou", "TEST2", "PLAYER", 4000, 4000, 1000, 600, 500, 350, 450, 350, 360, 500, 9, 4, 2, 2},
{"port_mophus", "TEST3", "PLAYER", 3000, 5000, 2000, 500, 500, 550, 550, 550, 620, 500, 4, 2, 8, 7}
}
ChampionsSpawns={
{{"silk_shirt", "INV_TORSO"},{"abard", "INV_LEGS"},{"moonstone", "INV_NECK"},{"boots_speed", "INV_FEET"}},
{{"robe_fine_top", "INV_TORSO"},{"abard", "INV_LEGS"},{"boots_suede", "INV_FEET"}},
{{"robe_fine_top", "INV_TORSO"},{"robe_fine_bottom", "INV_LEGS"},{"boots_suede", "INV_FEET"},{"vorpal", "INV_R_HAND"}}
}
Then there could be run a function that works like the code below to create the required DSB lua function strings:
Code: Select all
local Q='"'
spawningString = ""
for i = 1,#Champions,1 do
local championvalues = ""
who = i -- the character number
-- make a clean string of the values
for iii = 1,#Champions[i],1 do
if iii < 4 then
-- quoted
championvalues = championvalues ..Q..Champions[i][iii]..Q..","
else
championvalues = championvalues ..Champions[i][iii]..","
end
end
championvalues = string.sub(championvalues,1,-2) -- remove the last comma
-- dsb_add_champion
spawningString = spawningString .. Champions[who][2].."_"..Champions[who][3] .."= dsb_add_champion("..championvalues..")\n"
for ii = 1,#ChampionsSpawns[who],1 do
local what = ChampionsSpawns[who][ii][1];
local where = ChampionsSpawns[who][ii][2];
-- dsb_spawn
spawningString = spawningString.."dsb_spawn("..Q..what..Q.." ,CHARACTER, "..Champions[who][2].."_"..Champions[who][3]..","..where..",0)\n"
end
end
print(spawningString)
end
Code: Select all
TEST_PLAYER= dsb_add_champion("port_chani","TEST","PLAYER",2000,2000,2000,500,400,650,450,450,400,500,8,5,5,5)
dsb_spawn("silk_shirt" ,CHARACTER, TEST_PLAYER,INV_TORSO,0)
dsb_spawn("abard" ,CHARACTER, TEST_PLAYER,INV_LEGS,0)
dsb_spawn("moonstone" ,CHARACTER, TEST_PLAYER,INV_NECK,0)
dsb_spawn("boots_speed" ,CHARACTER, TEST_PLAYER,INV_FEET,0)
TEST2_PLAYER= dsb_add_champion("port_daroou","TEST2","PLAYER",4000,4000,1000,600,500,350,450,350,360,500,9,4,2,2)
dsb_spawn("robe_fine_top" ,CHARACTER, TEST2_PLAYER,INV_TORSO,0)
dsb_spawn("abard" ,CHARACTER, TEST2_PLAYER,INV_LEGS,0)
dsb_spawn("boots_suede" ,CHARACTER, TEST2_PLAYER,INV_FEET,0)
TEST3_PLAYER= dsb_add_champion("port_mophus","TEST3","PLAYER",3000,5000,2000,500,500,550,550,550,620,500,4,2,8,7)
dsb_spawn("robe_fine_top" ,CHARACTER, TEST3_PLAYER,INV_TORSO,0)
dsb_spawn("robe_fine_bottom" ,CHARACTER, TEST3_PLAYER,INV_LEGS,0)
dsb_spawn("boots_suede" ,CHARACTER, TEST3_PLAYER,INV_FEET,0)
dsb_spawn("vorpal" ,CHARACTER, TEST3_PLAYER,INV_R_HAND,0)
BUT could be executed without writing to a file by using loadstring() if desired.
I guess what I'm saying is separate the data from the execution and it would be easier to edit the levels.