add two-column feature with "@wrap" key to pay table
screen, to match pay lines screen. Make 5-reel machine use itmaster
parent
bd04e3b212
commit
82bf98b475
18
README.txt
18
README.txt
|
@ -194,8 +194,8 @@ of five assorted [7], [77], and/or [777] symbols (it also has one for assorted
|
|||
[bar], [2bar], and/or [3bar] symbols).
|
||||
|
||||
|
||||
The human-readable pay table:
|
||||
=============================
|
||||
The human-readable pay table and pay lines screen:
|
||||
==================================================
|
||||
|
||||
The format of the paytable_desc is pretty simple - it's a table of tables. :-)
|
||||
|
||||
|
@ -219,9 +219,9 @@ The special symbol "@X" tells the parser to insert a blank space equal to the
|
|||
size of a symbol - this is useful for making grids of symbols with some spaces
|
||||
left empty (as in a 3-out-of-5 reel match).
|
||||
|
||||
The parser doesn't have any text positioning commands yet, but some
|
||||
rudimentary layout formatting can be accomplished by inserting blank lines or
|
||||
chunks of whitespace between other items.
|
||||
The parser doesn't have any text positioning commands yet, other than "@wrap"
|
||||
(below), but some rudimentary layout formatting can be accomplished by
|
||||
inserting blank lines or chunks of whitespace between items.
|
||||
|
||||
For a layout with fairly large text/symbols as in the 3-reel demo machine,
|
||||
there's room for up to 19 lines, as long as the top line is not so long that
|
||||
|
@ -240,9 +240,11 @@ on the line. The key for those is "@" followed by a number, a space, and
|
|||
another number (e.g. "@1 5"). These numbers indicate the first and last pay
|
||||
line images to display.
|
||||
|
||||
Lines are "printed" from top to bottom in a column toward the left side of the
|
||||
form background, overflowing into a second column if necessary. You can force
|
||||
an overflow into column 2 with "@wrap" (on its own).
|
||||
On both screens, lines are "printed" from top to bottom in a column toward the
|
||||
left side of the form background, overflowing into a second column if
|
||||
necessary. You can force an overflow into column 2 by inserting a table entry
|
||||
consisting of the string "@wrap" (in the case of the pay table, it must be on
|
||||
a line by itself, and not inside an inner table the way the other items arespac).
|
||||
|
||||
If paytable_desc or paylines_desc is not specified, then only the background,
|
||||
[X] button, and "Show Pay Lines" or "Show Pay Table" button will be displayed
|
||||
|
|
|
@ -1376,30 +1376,36 @@ function minislots.generate_paytable_form(def)
|
|||
|
||||
local y = def.geometry.paytable_posy
|
||||
local sympadding = 0.05
|
||||
local column = def.geometry.paytable_column1
|
||||
|
||||
if def.paytable_desc then
|
||||
for _, line in ipairs(def.paytable_desc) do
|
||||
local x = def.geometry.paytable_posx
|
||||
for _, item in ipairs(line) do
|
||||
if string.sub(item, 1, 1) == "@" then
|
||||
if item == "@X" then
|
||||
t[#t+1] = "image["..(x*horizscale)..","..(y*vertscale)..";"..
|
||||
def.geometry.paytable_lineheight..","..def.geometry.paytable_lineheight..
|
||||
";"..def.constants.emptyimg.."]"
|
||||
if line == "@wrap" then
|
||||
column = def.geometry.paytable_column2
|
||||
y = def.geometry.paytable_posy
|
||||
else
|
||||
local x = column
|
||||
for _, item in ipairs(line) do
|
||||
if string.sub(item, 1, 1) == "@" then
|
||||
if item == "@X" then
|
||||
t[#t+1] = "image["..(x*horizscale)..","..(y*vertscale)..";"..
|
||||
def.geometry.paytable_lineheight..","..def.geometry.paytable_lineheight..
|
||||
";"..def.constants.emptyimg.."]"
|
||||
else
|
||||
local sym = string.sub(item, 2)
|
||||
local sympos = def.constants.symlookup["sym_"..sym] * -def.constants.reelsymsizey - (def.constants.reelsymsizey - def.constants.reelsymsizex)/2
|
||||
t[#t+1] = "image["..(x*horizscale)..","..(y*vertscale)..";"..
|
||||
(def.geometry.paytable_lineheight-sympadding)..","..
|
||||
(def.geometry.paytable_lineheight-sympadding)..";"..
|
||||
"[combine:"..def.constants.reelsymsizex.."x"..def.constants.reelsymsizex..
|
||||
":0\\,"..sympos.."="..def.constants.symbolsstopped.."]"
|
||||
end
|
||||
x = x + def.geometry.paytable_lineheight
|
||||
else
|
||||
local sym = string.sub(item, 2)
|
||||
local sympos = def.constants.symlookup["sym_"..sym] * -def.constants.reelsymsizey - (def.constants.reelsymsizey - def.constants.reelsymsizex)/2
|
||||
t[#t+1] = "image["..(x*horizscale)..","..(y*vertscale)..";"..
|
||||
(def.geometry.paytable_lineheight-sympadding)..","..
|
||||
(def.geometry.paytable_lineheight-sympadding)..";"..
|
||||
"[combine:"..def.constants.reelsymsizex.."x"..def.constants.reelsymsizex..
|
||||
":0\\,"..sympos.."="..def.constants.symbolsstopped.."]"
|
||||
local szx = minislots.str_width_pix(item, "regular")*pix2iu*def.geometry.paytable_textheight
|
||||
t[#t+1] = minislots.print_string(def, item, x*horizscale, (y+def.geometry.paytable_textshift)*vertscale, szx, def.geometry.paytable_textheight, "regular", "white")
|
||||
x = x + szx
|
||||
end
|
||||
x = x + def.geometry.paytable_lineheight
|
||||
else
|
||||
local szx = minislots.str_width_pix(item, "regular")*pix2iu*def.geometry.paytable_textheight
|
||||
t[#t+1] = minislots.print_string(def, item, x*horizscale, (y+def.geometry.paytable_textshift)*vertscale, szx, def.geometry.paytable_textheight, "regular", "white")
|
||||
x = x + szx
|
||||
end
|
||||
end
|
||||
y = y + def.geometry.paytable_lineheight
|
||||
|
|
|
@ -189,7 +189,8 @@ minislots.register_machine({
|
|||
cash_slot_cin_posx = 1.9, -- X/Y position within the "cash intake" form (uses the same size as
|
||||
cash_slot_cin_posy = 2.27, -- above)
|
||||
|
||||
paytable_posx = 0.6, -- where to put the first symbol/character in the paytable screen.
|
||||
paytable_column1 = 0.6, -- position of left/right columns in the paytable screen.
|
||||
paytable_column2 = 6.85,
|
||||
paytable_posy = 0.5,
|
||||
paytable_lineheight = 0.65, -- height of a pay table line. sets the Y spacing of the lines, and the
|
||||
-- X/Y size of reel symbols shown therein, minus a bit of padding.
|
||||
|
|
|
@ -123,39 +123,54 @@ minislots.register_machine({
|
|||
|
||||
},
|
||||
paytable_desc = {
|
||||
{ "@lemon", "@lemon", "@X", "@X", "@X", " pays 1", " ", "@lemon", "@lemon", "@lemon", "@X", "@X", " pays 2" },
|
||||
{ "@lemon", "@lemon", "@lemon", "@lemon", "@X", " pays 3", " ", "@lemon", "@lemon", "@lemon", "@lemon", "@lemon", " pays 5" },
|
||||
{ "@lemon", "@lemon", "@X", "@X", "@X", " pays 1"} ,
|
||||
{ "@lemon", "@lemon", "@lemon", "@X", "@X", " pays 2" },
|
||||
{ "@lemon", "@lemon", "@lemon", "@lemon", "@X", " pays 3"},
|
||||
{ "@lemon", "@lemon", "@lemon", "@lemon", "@lemon", " pays 5" },
|
||||
|
||||
{ "@melon", "@melon", "@melon", "@X", "@X", " pays 5", " ", "@melon", "@melon", "@melon", "@melon", "@X", " pays 6" },
|
||||
{ "@melon", "@melon", "@melon", "@X", "@X", " pays 5"},
|
||||
{ "@melon", "@melon", "@melon", "@melon", "@X", " pays 6" },
|
||||
{ "@melon", "@melon", "@melon", "@melon", "@melon", " pays 7" },
|
||||
|
||||
{ "@cherry", "@cherry", "@X", "@X", "@X", " pays 7", " ", "@cherry", "@cherry", "@cherry", "@X", "@X", " pays 8" },
|
||||
{ "@cherry", "@cherry", "@cherry", "@cherry", "@X", " pays 9", " ", "@cherry", "@cherry", "@cherry", "@cherry", "@cherry", " pays 10" },
|
||||
{ "@cherry", "@cherry", "@X", "@X", "@X", " pays 7" },
|
||||
{ "@cherry", "@cherry", "@cherry", "@X", "@X", " pays 8" },
|
||||
{ "@cherry", "@cherry", "@cherry", "@cherry", "@X", " pays 9" },
|
||||
{ "@cherry", "@cherry", "@cherry", "@cherry", "@cherry", " pays 10" },
|
||||
|
||||
{ "@bell", "@bell", "@bell", "@X", "@X", " pays 10", " ", "@bell", "@bell", "@bell", "@bell", "@X", " pays 15" },
|
||||
{ "@bell", "@bell", "@bell", "@X", "@X", " pays 10" },
|
||||
{ "@bell", "@bell", "@bell", "@bell", "@X", " pays 15" },
|
||||
{ "@bell", "@bell", "@bell", "@bell", "@bell", " pays 20" },
|
||||
|
||||
{ "Any five mixed", "@bar", "/", "@2bar", "/", "@3bar", " pays 25" },
|
||||
{ "@bar", "@bar", "@bar", "@X", "@X", " pays 30", " ", "@bar", "@bar", "@bar", "@bar", "@X", " pays 35" },
|
||||
{ "Any five ", "@bar", "/", "@2bar", "/", "@3bar", " pays 25" },
|
||||
{ "@bar", "@bar", "@bar", "@X", "@X", " pays 30" },
|
||||
{ "@bar", "@bar", "@bar", "@bar", "@X", " pays 35" },
|
||||
{ "@bar", "@bar", "@bar", "@bar", "@bar", " pays 40" },
|
||||
|
||||
{ "@2bar", "@2bar", "@2bar", "@X", "@X", " pays 50", " ", "@2bar", "@2bar", "@2bar", "@2bar", "@X", " pays 55" },
|
||||
{ "@2bar", "@2bar", "@2bar", "@X", "@X", " pays 50" },
|
||||
{ "@2bar", "@2bar", "@2bar", "@2bar", "@X", " pays 55" },
|
||||
{ "@2bar", "@2bar", "@2bar", "@2bar", "@2bar", " pays 60" },
|
||||
|
||||
{ "@3bar", "@3bar", "@3bar", "@X", "@X", " pays 70", " ", "@3bar", "@3bar", "@3bar", "@3bar", "@X", " pays 73" },
|
||||
{ "@wild", " matches any symbol except ", "@scatter", " ", "@bonus", " or ", "@jackpot" },
|
||||
{ "All wins are multiplied by your line bet." },
|
||||
|
||||
"@wrap",
|
||||
|
||||
{ "@3bar", "@3bar", "@3bar", "@X", "@X", " pays 70" },
|
||||
{ "@3bar", "@3bar", "@3bar", "@3bar", "@X", " pays 73" },
|
||||
{ "@3bar", "@3bar", "@3bar", "@3bar", "@3bar", " pays 75" },
|
||||
|
||||
{ "Any five mixed ", "@7", "/", "@77", "/", "@777", " pays 80" },
|
||||
{ "@7", "@7", "@7", "@X", "@X", " pays 85", " ", "@7", "@7", "@7", "@7", "@X", " pays 88" },
|
||||
{ "Any five ", "@7", "/", "@77", "/", "@777", " pays 80" },
|
||||
{ "@7", "@7", "@7", "@X", "@X", " pays 85" },
|
||||
{ "@7", "@7", "@7", "@7", "@X", " pays 88" },
|
||||
{ "@7", "@7", "@7", "@7", "@7", " pays 90" },
|
||||
|
||||
{ "@77", "@77", "@77", "@X", "@X", " pays 90", " ", "@77", "@77", "@77", "@77", "@X", " pays 95" },
|
||||
{ "@77", "@77", "@77", "@X", "@X", " pays 90" },
|
||||
{ "@77", "@77", "@77", "@77", "@X", " pays 95" },
|
||||
{ "@77", "@77", "@77", "@77", "@77", " pays 100" },
|
||||
|
||||
{ "@777", "@777", "@777", "@777", "@777", " pays 150" },
|
||||
{ "@jackpot", "@jackpot", "@jackpot", "@jackpot", "@jackpot", " pays 300" },
|
||||
{ "@wild", " matches any symbol except ", "@scatter", " ", "@bonus", " or ", "@jackpot" },
|
||||
{ "All wins are multiplied by your line bet." }
|
||||
|
||||
},
|
||||
paylines_desc = {
|
||||
"Paylines 1 - 3:",
|
||||
|
@ -244,8 +259,9 @@ minislots.register_machine({
|
|||
cash_slot_cin_posx = 1.9, -- X/Y position within the "cash intake" form (uses the same size as
|
||||
cash_slot_cin_posy = 2.27, -- above)
|
||||
|
||||
paytable_posx = 0.4, -- where to put the first symbol/character in the paytable screen.
|
||||
paytable_posy = 0,
|
||||
paytable_column1 = 0.65, -- position of left/right columns in the paytable screen.
|
||||
paytable_column2 = 6.9,
|
||||
paytable_posy = 0.25,
|
||||
paytable_lineheight = 0.5, -- height of a pay table line. sets the Y spacing of the lines, and the
|
||||
-- X/Y size of reel symbols shown therein, minus a bit of padding.
|
||||
paytable_textheight = 0.35, -- height of printed text within said line, which will be vert. centered
|
||||
|
|
Loading…
Reference in New Issue