summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--controllerfw.lua34
-rw-r--r--docs/celevator_controller_manual.pdfbin2219555 -> 2219488 bytes
2 files changed, 20 insertions, 14 deletions
diff --git a/controllerfw.lua b/controllerfw.lua
index 419936d..f89c003 100644
--- a/controllerfw.lua
+++ b/controllerfw.lua
@@ -420,8 +420,6 @@ elseif event.type == "ui" then
if mainlanding and mainlanding >= 1 and mainlanding <= #mem.params.floorheights then
mem.params.mainlanding = math.floor(mainlanding)
mem.params.carcallsecurity[math.floor(mainlanding)] = nil
- mem.params.hiddenbuttons[math.floor(mainlanding)] = nil
- mem.params.alwayshiddenbuttons[math.floor(mainlanding)] = nil
end
local altrecalllanding = tonumber(event.fields.altrecalllanding)
if altrecalllanding and altrecalllanding >= 1 and altrecalllanding <= #mem.params.floorheights then
@@ -1611,15 +1609,15 @@ elseif mem.screenstate == "carcallsecurity" then
fs("button[11.25,6;0.5,1;adduser;+]")
fs("button[12,6;0.5,1;deluser;-]")
end
- local hidden = mem.params.hiddenbuttons[mem.editingfloor] and "true" or "false"
- fs("checkbox[8,4;hidebutton;"..S("Hide Button")..";"..hidden.."]")
- if hidden == "true" then
- local veryhidden = mem.params.alwayshiddenbuttons[mem.editingfloor] and "true" or "false"
- fs("checkbox[8,4.5;alwayshidebutton;"..S("Also Hide in Fire/Independent Service")..";"..veryhidden.."]")
- end
else
fs("label[8,2;"..S("Main landing cannot be locked").."]")
end
+ local hidden = mem.params.hiddenbuttons[mem.editingfloor] and "true" or "false"
+ fs("checkbox[8,4;hidebutton;"..S("Hide Button")..";"..hidden.."]")
+ if hidden == "true" then
+ local veryhidden = mem.params.alwayshiddenbuttons[mem.editingfloor] and "true" or "false"
+ fs("checkbox[8,4.5;alwayshidebutton;"..S("Also Hide in Fire/Independent Service")..";"..veryhidden.."]")
+ end
local suppressed = mem.params.suppressbeep[mem.editingfloor] and "true" or "false"
fs("checkbox[8,3.5;suppressbeep;"..S("Suppress Beep Sound")..";"..suppressed.."]")
end
@@ -1719,8 +1717,8 @@ else
end
end
local floorcount = #displayedfloors
-local copcols = math.floor((floorcount-1)/10)+1
-local coprows = math.floor((floorcount-1)/copcols)+1
+local copcols = math.max(1,math.floor((floorcount-1)/10)+1)
+local coprows = math.max(1,math.floor((floorcount-1)/copcols)+1)
local litimg = "celevator_copbutton_lit.png"
local unlitimg = "celevator_copbutton_unlit.png"
mem.copformspec = mem.copformspec..string.format("size[%f,%f]",copcols*1.25+2.5,coprows*1.25+6)
@@ -1763,14 +1761,22 @@ else
mem.copformspec = mem.copformspec..string.format("image_button[%f,%f;1.2,1.2;%s;phone;;false;false;%s]",dcxp,coprows*1.25+4,phoneunlitimg,phonelitimg)
end
-local callcancellabel = S("Call\nCancel")
-mem.copformspec = mem.copformspec..string.format("image_button[0.4,0.5;1.4,1.4;%s;callcancel;"..callcancellabel..";false;false;%s]",unlitimg,litimg)
+local hatxp = 1.2
+
+if floorcount > 0 then
+ --If all floors are hidden, this is probably a DBD setup and all of the car call buttons are in a cabinet that is not currently open.
+ --Call cancel would be in there too, so hide it in that case
+ local callcancellabel = S("Call\nCancel")
+ mem.copformspec = mem.copformspec..string.format("image_button[0.4,0.5;1.4,1.4;%s;callcancel;"..callcancellabel..";false;false;%s]",unlitimg,litimg)
+ --Also center the hat in that case (un-center it here if there are buttons)
+ hatxp = 2.2
+end
if mem.flashfirehat then
- mem.copformspec = mem.copformspec.."animated_image[2.2,0.5;1.4,1.4;firehat;celevator_fire_hat_flashing.png;2;750]"
+ mem.copformspec = mem.copformspec..string.format("animated_image[%f,0.5;1.4,1.4;firehat;celevator_fire_hat_flashing.png;2;750]",hatxp)
else
local firehat = mem.flash_fs and "celevator_fire_hat_lit.png" or "celevator_fire_hat_unlit.png"
- mem.copformspec = mem.copformspec..string.format("image[2.2,0.5;1.4,1.4;%s]",firehat)
+ mem.copformspec = mem.copformspec..string.format("image[%f,0.5;1.4,1.4;%s]",hatxp,firehat)
end
local switchboilerplate = ";false;false;celevator_button_rect_active.png"
diff --git a/docs/celevator_controller_manual.pdf b/docs/celevator_controller_manual.pdf
index 397303c..ac707d8 100644
--- a/docs/celevator_controller_manual.pdf
+++ b/docs/celevator_controller_manual.pdf
Binary files differ