Lua: Allow boolean params in level_init
This commit is contained in:
16
src/sp_lev.c
16
src/sp_lev.c
@@ -2839,7 +2839,7 @@ splev_initlev(lev_init* linit)
|
||||
case LVLINIT_NONE:
|
||||
break;
|
||||
case LVLINIT_SOLIDFILL:
|
||||
if (linit->lit == -1)
|
||||
if (linit->lit == BOOL_RANDOM)
|
||||
linit->lit = rn2(2);
|
||||
lvlfill_solid(linit->filling, linit->lit);
|
||||
break;
|
||||
@@ -2853,7 +2853,7 @@ splev_initlev(lev_init* linit)
|
||||
makeroguerooms();
|
||||
break;
|
||||
case LVLINIT_MINES:
|
||||
if (linit->lit == -1)
|
||||
if (linit->lit == BOOL_RANDOM)
|
||||
linit->lit = rn2(2);
|
||||
if (linit->filling > -1)
|
||||
lvlfill_solid(linit->filling, 0);
|
||||
@@ -2861,7 +2861,7 @@ splev_initlev(lev_init* linit)
|
||||
mkmap(linit);
|
||||
break;
|
||||
case LVLINIT_SWAMP:
|
||||
if (linit->lit == -1)
|
||||
if (linit->lit == BOOL_RANDOM)
|
||||
linit->lit = rn2(2);
|
||||
lvlfill_swamp(linit->fg, linit->bg, linit->lit);
|
||||
break;
|
||||
@@ -3565,14 +3565,14 @@ lspo_level_init(lua_State *L)
|
||||
= initstyles2i[get_table_option(L, "style", "solidfill", initstyles)];
|
||||
init_lev.fg = get_table_mapchr_opt(L, "fg", ROOM);
|
||||
init_lev.bg = get_table_mapchr_opt(L, "bg", INVALID_TYPE);
|
||||
init_lev.smoothed = get_table_boolean_opt(L, "smoothed", 0);
|
||||
init_lev.joined = get_table_boolean_opt(L, "joined", 0);
|
||||
init_lev.lit = get_table_int_or_random(L, "lit", -1); /* TODO: allow lit=BOOL */
|
||||
init_lev.walled = get_table_boolean_opt(L, "walled", 0);
|
||||
init_lev.smoothed = get_table_boolean_opt(L, "smoothed", FALSE);
|
||||
init_lev.joined = get_table_boolean_opt(L, "joined", FALSE);
|
||||
init_lev.lit = get_table_boolean_opt(L, "lit", BOOL_RANDOM);
|
||||
init_lev.walled = get_table_boolean_opt(L, "walled", FALSE);
|
||||
init_lev.filling = get_table_mapchr_opt(L, "filling", init_lev.fg);
|
||||
init_lev.corrwid = get_table_int_opt(L, "corrwid", -1);
|
||||
init_lev.wallthick = get_table_int_opt(L, "wallthick", -1);
|
||||
init_lev.rm_deadends = !get_table_boolean_opt(L, "deadends", 1);
|
||||
init_lev.rm_deadends = !get_table_boolean_opt(L, "deadends", TRUE);
|
||||
|
||||
g.coder->lvl_is_joined = init_lev.joined;
|
||||
|
||||
|
||||
@@ -45,6 +45,9 @@ function test_level_init()
|
||||
des.reset_level();
|
||||
des.level_init({ style = "solidfill", fg = " " });
|
||||
|
||||
des.reset_level();
|
||||
des.level_init({ style = "solidfill", fg = " ", lit = false });
|
||||
|
||||
des.reset_level();
|
||||
des.level_init({ style = "mazegrid", bg ="-" });
|
||||
|
||||
@@ -63,8 +66,14 @@ function test_level_init()
|
||||
des.reset_level();
|
||||
des.level_init({ style = "mines", fg = ".", bg = "L", smoothed = true, joined = true, lit = 0 });
|
||||
|
||||
des.reset_level();
|
||||
des.level_init({ style = "mines", fg = ".", bg = "L", smoothed = true, joined = true, lit = true });
|
||||
|
||||
des.reset_level();
|
||||
des.level_init({ style = "mines", fg = ".", bg = " ", smoothed = true, joined = true, walled = true });
|
||||
des.reset_level();
|
||||
des.level_init({ style = "swamp", fg = " ", lit = false });
|
||||
|
||||
|
||||
des.reset_level();
|
||||
des.level_init({ style = "solidfill", fg = ".", lit = 1 });
|
||||
|
||||
Reference in New Issue
Block a user