越南语变音字母简化函数改为全unicode版本
限制自定义菜单背景选择范围 微调自定义背景设置ui 整理代码
This commit is contained in:
48
Zframework/diacritics.txt
Normal file
48
Zframework/diacritics.txt
Normal file
@@ -0,0 +1,48 @@
|
||||
Á=A,Ă=A,Ắ=A,Ặ=A,Ằ=A,Ẳ=A,Ẵ=A,Ǎ=A,Â=A,Ấ=A,Ậ=A,Ầ=A,Ẩ=A,Ẫ=A,Ä=A,Ạ=A,À=A,Ả=A,Ā=A,Ą=A,Å=A,Ǻ=A,Ã=A,Æ=AE,Ǽ=AE
|
||||
Ḅ=B,Ɓ=B,ʚ=B,ɞ=B
|
||||
Ć=C,Č=C,Ç=C,Ĉ=C,Ċ=C,Ɔ=C,ʗ=C
|
||||
Ď=D,Ḓ=D,Ḍ=D,Ɗ=D,Ḏ=D,Dz=DZ,Dž=DZ,Đ=D,Ð=D,DZ=DZ,DŽ=DZ
|
||||
É=E,Ĕ=E,Ě=E,Ê=E,Ế=E,Ệ=E,Ề=E,Ể=E,Ễ=E,Ë=E,Ė=E,Ẹ=E,È=E,Ẻ=E,Ē=E,Ę=E,Ẽ=E,Ɛ=E,Ə=E
|
||||
Ƒ=F
|
||||
Ǵ=G,Ğ=G,Ǧ=G,Ģ=G,Ĝ=G,Ġ=G,Ḡ=G,ʛ=G
|
||||
Ḫ=H,Ĥ=H,Ḥ=H,Ħ=H
|
||||
Í=I,Ĭ=I,Ǐ=I,Î=I,Ï=I,İ=I,Ị=I,Ì=I,Ỉ=I,Ī=I,Į=I,Ĩ=I,IJ=IJ
|
||||
Ĵ=J
|
||||
Ķ=K,Ḳ=K,Ƙ=K,Ḵ=K
|
||||
Ĺ=L,Ƚ=L,Ľ=L,Ļ=L,Ḽ=L,Ḷ=L,Ḹ=L,Ḻ=L,Ŀ=L,Lj=Lj,Ł=L,LJ=LJ
|
||||
Ḿ=M,Ṁ=M,Ṃ=M
|
||||
Ń=N,Ň=N,Ņ=N,Ṋ=N,Ṅ=N,Ṇ=N,Ǹ=N,Ɲ=N,Ṉ=N,Nj=Nj,Ñ=N,NJ=NJ
|
||||
Ó=O,Ŏ=O,Ǒ=O,Ô=O,Ố=O,Ộ=O,Ồ=O,Ổ=O,Ỗ=O,Ö=O,Ọ=O,Ő=O,Ò=O,Ỏ=O,Ơ=O,Ớ=O,Ợ=O,Ờ=O,Ở=O,Ỡ=O,Ō=O,Ɵ=O,Ǫ=O,Ø=O,Ǿ=O,Õ=O,Œ=OE,ɶ=Oe
|
||||
Þ=P
|
||||
Ŕ=R,Ř=R,Ŗ=R,Ṙ=R,Ṛ=R,Ṝ=R,Ṟ=R,ʁ=R
|
||||
Ś=S,Š=S,Ş=S,Ŝ=S,Ș=S,Ṡ=S,Ṣ=S,ẞ=S
|
||||
Ť=T,Ţ=T,Ṱ=T,Ț=T,Ṭ=T,Ṯ=T,Ŧ=T,Þ=T,Ð=T
|
||||
Ú=U,Ŭ=U,Ǔ=U,Û=U,Ü=U,Ǘ=U,Ǚ=U,Ǜ=U,Ǖ=U,Ụ=U,Ű=U,Ù=U,Ủ=U,Ư=U,Ứ=U,Ự=U,Ừ=U,Ử=U,Ữ=U,Ū=U,Ų=U,Ů=U,Ũ=U
|
||||
Ẃ=W,Ŵ=W,Ẅ=W,Ẁ=W,ʬ=W
|
||||
Ý=Y,Ŷ=Y,Ÿ=Y,Ẏ=Y,Ỵ=Y,Ỳ=Y,Ƴ=Y,Ỷ=Y,Ȳ=Y,Ỹ=Y
|
||||
Ź=Z,Ž=Z,Ż=Z,Ẓ=Z,Ẕ=Z,Ƶ=Z
|
||||
á=a,ă=a,ắ=a,ặ=a,ằ=a,ẳ=a,ẵ=a,ǎ=a,â=a,ấ=a,ậ=a,ầ=a,ẩ=a,ẫ=a,ä=a,ạ=a,à=a,ả=a,ā=a,ą=a,å=a,ǻ=a,ã=a,æ=a,ǽ=a,ɑ=a,ɐ=a,ɒ=a
|
||||
ḅ=b,ɓ=b,ß=b
|
||||
ć=c,č=c,ç=c,ĉ=c,ɕ=c,ċ=c
|
||||
ď=d,ḓ=d,ḍ=d,ɗ=d,ḏ=d,đ=d,ɖ=d,ʤ=d,dz=d,ʣ=d,ʥ=d,dž=d,ð=d
|
||||
é=e,ĕ=e,ě=e,ê=e,ế=e,ệ=e,ề=e,ể=e,ễ=e,ë=e,ė=e,ẹ=e,è=e,ẻ=e,ē=e,ę=e,ẽ=e,ʒ=e,ǯ=e,ʓ=e,ɘ=e,ɜ=e,ɝ=e,ə=e,ɚ=e,ʚ=e,ɞ=e
|
||||
ƒ=f,ſ=f,ʩ=f,fi=f,fl=f,ʃ=f,ʆ=f,ʅ=f,ɟ=f,ʄ=f
|
||||
ǵ=g,ğ=g,ǧ=g,ģ=g,ĝ=g,ġ=g,ɠ=g,ḡ=g,ɡ=g,ɣ=g
|
||||
ḫ=h,ĥ=h,ḥ=h,ɦ=h,ẖ=h,ħ=h,ɧ=h,ɥ=h,ʮ=h,ʯ=h,ų=h
|
||||
í=i,ĭ=i,ǐ=i,î=i,ï=i,ị=i,ì=i,ỉ=i,ī=i,į=i,ɨ=i,ĩ=i,ɩ=i,ı=i,ij=ij,ɟ=i
|
||||
ǰ=j,ĵ=j,ʝ=j,ȷ=j,ɟ=j,ʄ=j
|
||||
ķ=k,ḳ=k,ƙ=k,ḵ=k,ĸ=k,ʞ=k
|
||||
ĺ=l,ƚ=l,ɬ=l,ľ=l,ļ=l,ḽ=l,ḷ=l,ḹ=l,ḻ=l,ŀ=l,ɫ=l,ɭ=l,ł=l,ƛ=l,ɮ=lz,lj=lj,ʪ=ls,ʫ=lz
|
||||
ḿ=m,ṁ=m,ṃ=m,ɱ=m,ɯ=m,ɰ=m
|
||||
ʼn=n,ń=n,ň=n,ņ=n,ṋ=n,ṅ=n,ṇ=n,ǹ=n,ɲ=n,ṉ=n,ɳ=n,ñ=n,nj=nj,ŋ=n,Ŋ=n
|
||||
ó=o,ŏ=o,ǒ=o,ô=o,ố=o,ộ=o,ồ=o,ổ=o,ỗ=o,ö=o,ọ=o,ő=o,ò=o,ỏ=o,ơ=o,ớ=o,ợ=o,ờ=o,ở=o,ỡ=o,ō=o,ǫ=o,ø=o,ǿ=o,õ=o,ɛ=o,ɔ=o,ɵ=o,ʘ=o,œ=oe
|
||||
ɸ=p,þ=p
|
||||
ʠ=q
|
||||
ŕ=r,ř=r,ŗ=r,ṙ=r,ṛ=r,ṝ=r,ɾ=r,ṟ=r,ɼ=r,ɽ=r,ɿ=r,ɹ=r,ɻ=r,ɺ=r
|
||||
ś=s,š=s,ş=s,ŝ=s,ș=s,ṡ=s,ṣ=s,ʂ=s,ſ=s,ʃ=s,ʆ=s,ß=s,ʅ=s
|
||||
ť=t,ţ=t,ṱ=t,ț=t,ẗ=t,ṭ=t,ṯ=t,ʈ=t,ŧ=t,ʨ=t,ʧ=t,þ=t,ð=t,ʦ=t,ʇ=t
|
||||
ʉ=u,ú=u,ŭ=u,ǔ=u,û=u,ü=u,ǘ=u,ǚ=u,ǜ=u,ǖ=u,ụ=u,ű=u,ù=u,ủ=u,ư=u,ứ=u,ự=u,ừ=u,ử=u,ữ=u,ū=u,ų=u,ů=u,ũ=u,ʊ=u
|
||||
ʋ=v,ʌ=v
|
||||
ẃ=w,ŵ=w,ẅ=w,ẁ=w,ʍ=w
|
||||
ý=y,ŷ=y,ÿ=y,ẏ=y,ỵ=y,ỳ=y,ƴ=y,ỷ=y,ȳ=y,ỹ=y,ʎ=y
|
||||
ź=z,ž=z,ʑ=z,ż=z,ẓ=z,ẕ=z,ʐ=z,ƶ=z
|
||||
@@ -37,7 +37,7 @@ do-- function STRING.shiftChar(c)
|
||||
end
|
||||
|
||||
-- [LOW PERFORMANCE!]
|
||||
local upperData,lowerData,VIdiaData
|
||||
local upperData,lowerData,diaData
|
||||
function STRING.upperUTF8(str)
|
||||
for _,pair in next,upperData do
|
||||
str=str:gsub(pair[1],pair[2])
|
||||
@@ -50,12 +50,8 @@ function STRING.lowerUTF8(str)
|
||||
end
|
||||
return str
|
||||
end
|
||||
--[[
|
||||
[FOR VIETNAMESE ONLY]
|
||||
Remove all diacritics in strings written in Vietnamese
|
||||
]]
|
||||
function STRING.viRemoveDiacritics(str)
|
||||
for _,pair in next,VIdiaData do
|
||||
function STRING.remDiacritics(str)
|
||||
for _,pair in next,diaData do
|
||||
str=str:gsub(pair[1],pair[2])
|
||||
end
|
||||
return str
|
||||
@@ -402,43 +398,31 @@ function STRING.unpackTable(t)
|
||||
end
|
||||
|
||||
do
|
||||
local function readF(fname)
|
||||
local function parseFile(fname)
|
||||
local d
|
||||
if love and love.filesystem and type(love.filesystem.read)=='function' then
|
||||
f=love.filesystem.read(fname)
|
||||
d=love.filesystem.read(fname)
|
||||
else
|
||||
local f=io.open(fname,'r')
|
||||
local d=f:read('a')
|
||||
f:close()
|
||||
if f then
|
||||
d=f:read('a')
|
||||
f:close()
|
||||
end
|
||||
end
|
||||
return f
|
||||
end
|
||||
upperData=readF('Zframework/upcaser.txt')
|
||||
lowerData=readF('Zframework/lowcaser.txt')
|
||||
VIdiaData=readF('Zframework/vi_diaractics.txt')
|
||||
|
||||
local function splitData(data)
|
||||
for i=1,#data do
|
||||
local pair=STRING.split(data[i],'=')
|
||||
data[i]=pair
|
||||
if not d then
|
||||
print("ERROR: Failed to read the data from "..fname)
|
||||
return {}
|
||||
end
|
||||
return data
|
||||
end
|
||||
if upperData then upperData=splitData(STRING.split(gsub(upperData,'\n',','),','))
|
||||
else
|
||||
upperData={}
|
||||
LOG('ERROR: Failed to read the data from Zframework/upcaser.txt')
|
||||
end
|
||||
if lowerData then lowerData=splitData(STRING.split(gsub(lowerData,'\n',','),','))
|
||||
else
|
||||
lowerData={}
|
||||
LOG('ERROR: Failed to read the data from Zframework/lowcaser.txt')
|
||||
end
|
||||
|
||||
if VIdiaData then VIdiaData=splitData(STRING.split(gsub(VIdiaData,'\n',','),','))
|
||||
else
|
||||
VIdiaData={}
|
||||
LOG('ERROR: Failed to read the data from Zframework/vi_diaractics.txt')
|
||||
d=STRING.split(gsub(d,'\n',','),',')
|
||||
for i=1,#d do
|
||||
d[i]=STRING.split(d[i],'=')
|
||||
end
|
||||
return d
|
||||
end
|
||||
upperData=parseFile('Zframework/upcaser.txt')
|
||||
lowerData=parseFile('Zframework/lowcaser.txt')
|
||||
diaData=parseFile('Zframework/diacritics.txt')
|
||||
end
|
||||
|
||||
return STRING
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
Á=A,À=A,Ả=A,Ã=A,Ạ=A,Ă=A,Ắ=A,Ằ=A,Ẳ=A,Ẵ=A,Ặ=A,Â=A,Ấ=A,Ầ=A,Ẩ=A,Ẫ=A,Ậ=A
|
||||
á=a,à=a,ả=a,ã=a,ạ=a,ă=a,ắ=a,ằ=a,ẳ=a,ẵ=a,ặ=a,â=a,ấ=a,ầ=a,ẩ=a,ẫ=a,ậ=a
|
||||
Đ=D,đ=d
|
||||
É=E,È=E,Ẻ=E,Ẽ=E,Ẹ=E,Ê=E,Ế=E,Ề=E,Ể=E,Ễ=E,Ệ=E
|
||||
é=e,è=e,ẻ=e,ẽ=e,ẹ=e,ê=e,ế=e,ề=e,ể=e,ễ=e,ệ=e
|
||||
Í=I,Ì=I,Ỉ=I,Ĩ=I,Ị=I
|
||||
í=i,ì=i,ỉ=i,ĩ=i,ị=i
|
||||
Ó=O,Ò=O,Ỏ=O,Õ=O,Ọ=O,Ô=O,Ố=O,Ồ=O,Ổ=O,Ỗ=O,Ộ=O,Ơ=O,Ớ=O,Ờ=O,Ở=O,Ỡ=O,Ợ=O
|
||||
ó=o,ò=o,ỏ=o,õ=o,ọ=o,ô=o,ố=o,ồ=o,ổ=o,ỗ=o,ộ=o,ơ=o,ớ=o,ờ=o,ở=o,ỡ=o,ợ=o
|
||||
Ú=U,Ù=U,Ủ=U,Ũ=U,Ụ=U,Ư=U,Ứ=U,Ừ=U,Ử=U,Ữ=U,Ự=U
|
||||
ú=u,ù=u,ủ=u,ũ=u,ụ=u,ư=u,ứ=u,ừ=u,ử=u,ữ=u,ự=u
|
||||
Ý=Y,Ỳ=Y,Ỷ=Y,Ỹ=Y,Ỵ=Y,ý=y,ỳ=y,ỷ=y,ỹ=y,ỵ=y
|
||||
18
main.lua
18
main.lua
@@ -49,19 +49,15 @@ SCR.setSize(1280,720) -- Initialize Screen size
|
||||
BGM.setMaxSources(5)
|
||||
VOC.setDiversion(.62)
|
||||
|
||||
ChangeButtonColorIfThemeUsed=function()
|
||||
if SCN.cur~='net_game' and SCN.cur~='custom_field' then
|
||||
local colorList=THEME.getThemeColor()
|
||||
if colorList then
|
||||
for _,W in next,SCN.scenes[SCN.cur].widgetList do
|
||||
if W.color then
|
||||
W.color=colorList[math.random(#colorList)]
|
||||
end
|
||||
end
|
||||
WIDGET.setOnChange(function()
|
||||
if SCN.cur=='net_game' or SCN.cur=='custom_field' then return end
|
||||
local colorList=THEME.getThemeColor()
|
||||
if colorList then
|
||||
for _,W in next,SCN.scenes[SCN.cur].widgetList do
|
||||
W.color=W.color and colorList[math.random(#colorList)]
|
||||
end
|
||||
end
|
||||
end
|
||||
WIDGET.setOnChange(ChangeButtonColorIfThemeUsed)
|
||||
end)
|
||||
|
||||
-- Create shortcuts
|
||||
setFont=FONT.set
|
||||
|
||||
@@ -115,7 +115,7 @@ do-- function applySettings()
|
||||
light={.2,.8},
|
||||
color={-.2,1.2},
|
||||
}
|
||||
function applySettings(arg)
|
||||
function applySettings(reason)
|
||||
-- Apply language
|
||||
text=LANG.get(SETTING.locale)
|
||||
WIDGET.setLang(text.WidgetText)
|
||||
@@ -157,34 +157,33 @@ do-- function applySettings()
|
||||
SHADER.fieldSatur:send('k',m[2])
|
||||
|
||||
-- Apply BG
|
||||
if not (arg and arg=='fullscreen') then
|
||||
if SETTING.bg=='on' then
|
||||
BG.unlock()
|
||||
BG.setDefault(SETTING.defaultBG)
|
||||
BG.set()
|
||||
if SETTING.lockBG then BG.lock() end
|
||||
elseif SETTING.bg=='off' then
|
||||
if reason=='fullscreen' then return end
|
||||
if SETTING.bg=='on' then
|
||||
BG.unlock()
|
||||
BG.setDefault(SETTING.defaultBG)
|
||||
BG.set()
|
||||
if SETTING.lockBG then BG.lock() end
|
||||
elseif SETTING.bg=='off' then
|
||||
BG.unlock()
|
||||
BG.set('fixColor',SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
|
||||
BG.lock()
|
||||
elseif SETTING.bg=='custom' then
|
||||
if love.filesystem.getInfo('conf/customBG') then
|
||||
local res,image=pcall(GC.newImage,love.filesystem.newFile('conf/customBG'))
|
||||
if res then
|
||||
BG.unlock()
|
||||
GC.setDefaultFilter('linear','linear')
|
||||
BG.set('custom',SETTING.bgAlpha,image)
|
||||
GC.setDefaultFilter('nearest','nearest')
|
||||
BG.lock()
|
||||
else
|
||||
MES.new('error',text.customBGloadFailed)
|
||||
end
|
||||
else-- Switch off when custom BG not found
|
||||
SETTING.bg='off'
|
||||
BG.unlock()
|
||||
BG.set('fixColor',SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
|
||||
BG.lock()
|
||||
elseif SETTING.bg=='custom' then
|
||||
if love.filesystem.getInfo('conf/customBG') then
|
||||
local res,image=pcall(GC.newImage,love.filesystem.newFile('conf/customBG'))
|
||||
if res then
|
||||
BG.unlock()
|
||||
GC.setDefaultFilter('linear','linear')
|
||||
BG.set('custom',SETTING.bgAlpha,image)
|
||||
GC.setDefaultFilter('nearest','nearest')
|
||||
BG.lock()
|
||||
else
|
||||
MES.new('error',text.customBGloadFailed)
|
||||
end
|
||||
else-- Switch off when custom BG not found
|
||||
SETTING.bg='off'
|
||||
BG.unlock()
|
||||
BG.set('fixColor',SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
|
||||
BG.lock()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -196,7 +195,7 @@ local function getSmallNum(num)
|
||||
local str=tostring(num)
|
||||
local out=""
|
||||
for i=1,#str do
|
||||
out=out..smallDigits[tonumber(string.sub(str,i,i))]
|
||||
out=out..smallDigits[tonumber(str:sub(i,i))]
|
||||
end
|
||||
return out
|
||||
end
|
||||
|
||||
@@ -589,7 +589,7 @@ C. Gamepad
|
||||
bg_off="No B.G.",
|
||||
bg_custom="Custom B.G.",
|
||||
defaultBG="Default B.G.",
|
||||
resetDbg="Reset default B.G.",
|
||||
resetDbg="Reset to default",
|
||||
lockBG="Lock B.G.",
|
||||
noTheme="Disable theme",
|
||||
|
||||
|
||||
@@ -600,8 +600,7 @@ C. Tay cầm chơi game (Gamepad):
|
||||
bg_off="Không ảnh nền",
|
||||
bg_custom="Ảnh nền tự chọn",
|
||||
defaultBG="Nền mặc định",
|
||||
-- resetDbg='Đặt lại →',
|
||||
resetDbg="Đặt lại ảnh nền mặc định",
|
||||
resetDbg='Đặt lại',
|
||||
lockBG="Khóa ảnh nền",
|
||||
noTheme="Tắt theme",
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ local levels={
|
||||
local b=STRING.toBin(a)
|
||||
local l=floor(math.log(a,2)+1)
|
||||
for i=1,l do
|
||||
drawChar(tonumber(string.sub(b,i,i)),320,420-100*(l-i),.5)
|
||||
drawChar(tonumber(b:sub(i,i)),320,420-100*(l-i),.5)
|
||||
ins(drawLines,{370,480-100*(l-i),410,440-100*(l-i)})
|
||||
ins(drawLines,{370,440-100*(l-i),410,480-100*(l-i)})
|
||||
drawChar(2,430,420-100*(l-i),.5)
|
||||
@@ -193,7 +193,7 @@ local levels={
|
||||
local b=STRING.toOct(a)
|
||||
local l=floor(math.log(a,8)+1)
|
||||
for i=1,l do
|
||||
drawChar(tonumber(string.sub(b,i,i)),320,420-100*(l-i),.5)
|
||||
drawChar(tonumber(b:sub(i,i)),320,420-100*(l-i),.5)
|
||||
ins(drawLines,{370,480-100*(l-i),410,440-100*(l-i)})
|
||||
ins(drawLines,{370,440-100*(l-i),410,480-100*(l-i)})
|
||||
drawChar(8,430,420-100*(l-i),.5)
|
||||
@@ -212,7 +212,7 @@ local levels={
|
||||
local b=STRING.toHex(a)
|
||||
local l=floor(math.log(a,16)+1)
|
||||
for i=1,l do
|
||||
local c=string.sub(b,i,i)
|
||||
local c=b:sub(i,i)
|
||||
if ("0123456789"):find(c,nil,true) then
|
||||
c=tonumber(c)
|
||||
else
|
||||
|
||||
@@ -17,8 +17,7 @@ local lastSearch -- Last searched string
|
||||
local lastSelected -- Last selected item
|
||||
|
||||
local currentFontSize=25 -- Current font size, default: 25
|
||||
local needLowerUTF8
|
||||
local isLangVi -- There are special handlings that only for Vietnamese --SweetSea--
|
||||
local utf8postProcess
|
||||
|
||||
local typeColor={
|
||||
help=COLOR.Y,
|
||||
@@ -45,11 +44,11 @@ local function _scanDict(D)
|
||||
for i=1,#D do
|
||||
local O=D[i]
|
||||
O.title,O.title_Org=_filter(O[1])
|
||||
O.titleLowered=needLowerUTF8 and STRING.lowerUTF8(O.title) or O.title:lower()
|
||||
O.titleNoDiaratics=isLangVi and STRING.viRemoveDiacritics(O.titleLowered)
|
||||
O.titleLowered=utf8postProcess and STRING.lowerUTF8(O.title) or O.title:lower()
|
||||
O.titleNoDiaratics=utf8postProcess and STRING.remDiacritics(O.titleLowered)
|
||||
O.keywords=O[2]
|
||||
O.keywordsLowered=needLowerUTF8 and STRING.lowerUTF8(O.keywords) or O.keywords:lower()
|
||||
O.keywordsNoDiaratics=isLangVi and STRING.viRemoveDiacritics(O.keywordsLowered)
|
||||
O.keywordsLowered=utf8postProcess and STRING.lowerUTF8(O.keywords) or O.keywords:lower()
|
||||
O.keywordsNoDiaratics=utf8postProcess and STRING.remDiacritics(O.keywordsLowered)
|
||||
O.type=O[3]
|
||||
O.content,O.content_Org=_filter(O[4])
|
||||
O.url=O[5]
|
||||
@@ -93,9 +92,9 @@ local function _search()
|
||||
local pos
|
||||
local first
|
||||
_clearResult()
|
||||
input=needLowerUTF8 and STRING.lowerUTF8(input) or input:lower()
|
||||
input=utf8postProcess and STRING.lowerUTF8(input) or input:lower()
|
||||
for i=1,#dict do
|
||||
pos=find(dict[i].titleLowered,input,nil,true) or find(dict[i].keywordsLowered,input,nil,true) or isLangVi and (find(dict[i].titleNoDiaratics,input,nil,true) or find(dict[i].keywordsNoDiaratics,input,nil,true))
|
||||
pos=find(dict[i].titleLowered,input,nil,true) or find(dict[i].keywordsLowered,input,nil,true) or utf8postProcess and (find(dict[i].titleNoDiaratics,input,nil,true) or find(dict[i].keywordsNoDiaratics,input,nil,true))
|
||||
if pos==1 and not first then
|
||||
ins(result,1,dict[i])
|
||||
first=true
|
||||
@@ -147,8 +146,7 @@ function scene.enter()
|
||||
SETTING.locale:find'vi' and 'vi' or
|
||||
'en'
|
||||
)
|
||||
needLowerUTF8=SETTING.locale:find'vi'
|
||||
isLangVi=SETTING.locale:find'vi' -- DO NOT CHANGE THIS! --SweetSea--
|
||||
utf8postProcess=SETTING.locale:find'vi'
|
||||
|
||||
dict=require(localeFile)
|
||||
_scanDict(dict)
|
||||
|
||||
@@ -90,8 +90,8 @@ scene.widgetList={
|
||||
WIDGET.newSwitch{name='portrait', x=950,y=1150,lim=360,disp=SETval('portrait'), code=function() SETTING.portrait=not SETTING.portrait; saveSettings(); MES.new('warn',text.settingWarn2,6.26) end,hideF=function() return not MOBILE end},
|
||||
WIDGET.newSlider{name='msaa', x=950,y=1220,lim=360,w=200,axis={0,4,1},show=_msaaShow,disp=function() return SETTING.msaa==0 and 0 or math.log(SETTING.msaa,2) end,code=function(v) SETTING.msaa=v==0 and 0 or 2^v; saveSettings(); if TASK.lock('warnMessage',6.26) then MES.new('warn',text.settingWarn2,6.26) end end},
|
||||
|
||||
WIDGET.newKey{name='bg_off', x=680,y=1290,w=200,h=60,code=function() SETTING.bg='off'; applySettings() end},
|
||||
WIDGET.newKey{name='bg_on', x=900,y=1290,w=200,h=60,code=function() SETTING.bg='on' ; applySettings() end},
|
||||
WIDGET.newKey{name='bg_on', x=680,y=1290,w=200,h=60,code=function() SETTING.bg='on' ; applySettings() end},
|
||||
WIDGET.newKey{name='bg_off', x=900,y=1290,w=200,h=60,code=function() SETTING.bg='off'; applySettings() end},
|
||||
WIDGET.newKey{name='bg_custom', x=1120,y=1290,w=200,h=60,
|
||||
code=function()
|
||||
if love.filesystem.getInfo('conf/customBG') then
|
||||
@@ -102,7 +102,7 @@ scene.widgetList={
|
||||
end
|
||||
end
|
||||
},
|
||||
WIDGET.newSlider{name='bgAlpha', x=1020,y=1365,w=200,
|
||||
WIDGET.newSlider{name='bgAlpha', x=800,y=1365,w=420,
|
||||
axis={0,.8},disp=SETval('bgAlpha'),
|
||||
code=function(v)
|
||||
SETTING.bgAlpha=v
|
||||
@@ -114,9 +114,8 @@ scene.widgetList={
|
||||
end,
|
||||
hideF=function() return SETTING.bg=='on' end
|
||||
},
|
||||
WIDGET.newSelector{name='defaultBG', x=1120,y=1365,w=200,color='G',
|
||||
limit=370,
|
||||
list=BG.getList(),
|
||||
WIDGET.newSelector{name='defaultBG', x=680,y=1365,w=200,color='G',
|
||||
list={'space','bg1','bg2','rainbow','rainbow2','aura','rgb','glow','matrix','cubes','tunnel','galaxy','quarks','blockfall','blockrain','blockhole','blockspace'},
|
||||
disp=SETval('defaultBG'),
|
||||
code=function(v)
|
||||
SETTING.defaultBG=v
|
||||
@@ -124,7 +123,7 @@ scene.widgetList={
|
||||
end,
|
||||
hideF=function() return SETTING.bg~='on' end
|
||||
},
|
||||
WIDGET.newKey{name='resetDbg',x=900,y=1365,w=200,h=60,font=25,
|
||||
WIDGET.newKey{name='resetDbg',x=870,y=1365,w=140,h=60,font=15,
|
||||
code=function()
|
||||
SETTING.defaultBG='space'
|
||||
scene.widgetList.defaultBG:reset()
|
||||
@@ -132,7 +131,7 @@ scene.widgetList={
|
||||
end,
|
||||
hideF=function() return SETTING.bg~='on' or SETTING.defaultBG=='space' end
|
||||
},
|
||||
WIDGET.newSwitch{name='lockBG',x=1170,y=1485,
|
||||
WIDGET.newSwitch{name='lockBG',x=1170,y=1365,lim=200,
|
||||
disp=SETval('lockBG'),
|
||||
code=function()
|
||||
SETTING.lockBG=not SETTING.lockBG
|
||||
@@ -141,18 +140,18 @@ scene.widgetList={
|
||||
hideF=function() return SETTING.bg~='on' end
|
||||
},
|
||||
|
||||
WIDGET.newSwitch{name='noTheme',x=1170,y=1545,
|
||||
WIDGET.newSwitch{name='noTheme',x=1170,y=1435,
|
||||
disp=SETval('noTheme'),
|
||||
code=function()
|
||||
SETTING.noTheme=not SETTING.noTheme
|
||||
local ct=THEME.calculate()
|
||||
if SETTING.noTheme and type(ct)=='string' and string.sub(ct,1,6)~='season' then
|
||||
if SETTING.noTheme and type(ct)=='string' and ct:sub(1,6)~='season' then
|
||||
if TASK.lock('warnMessage',6.26) then
|
||||
MES.new('warn',text.settingWarn2,6.26)
|
||||
end
|
||||
else
|
||||
THEME.set(THEME.calculate())
|
||||
ChangeButtonColorIfThemeUsed()
|
||||
WIDGET.setWidgetList(scene.widgetList)
|
||||
end
|
||||
end
|
||||
},
|
||||
|
||||
@@ -59,15 +59,9 @@ function THEME.calculate(Y,M,D)
|
||||
end
|
||||
|
||||
function THEME.set(theme)
|
||||
local seasonT={'null','nil','vaccum','space'}
|
||||
-- Note: by default, the background will be 'space' unless user changed
|
||||
-- Because 4 seasonal themes are basically the normal theme, not special like others
|
||||
if type(theme)=='string' and string.sub(theme,1,6)=='season' then
|
||||
local n=tonumber(string.sub(theme,7))
|
||||
if 0<n and n<5 then
|
||||
BG. setDefault(SETTING.defaultBG)
|
||||
BGM.setDefault(seasonT[n])
|
||||
end
|
||||
if type(theme)=='string' and theme:sub(1,6)=='season' then
|
||||
BG.setDefault(SETTING.defaultBG)
|
||||
BGM.setDefault(({season1='null',season2='nil',season3='vaccum',season4='space'})[theme])
|
||||
elseif not SETTING.noTheme then
|
||||
if theme=='xmas' then
|
||||
BG.setDefault('snow')
|
||||
@@ -99,7 +93,9 @@ function THEME.set(theme)
|
||||
else
|
||||
return
|
||||
end
|
||||
else THEME.set(THEME.calculate('0',os.date('%m'),'0')) return end
|
||||
else
|
||||
return THEME.set(THEME.calculate('0',os.date('%m'),'0'))
|
||||
end
|
||||
|
||||
THEME.cur=theme
|
||||
BG.set()
|
||||
|
||||
Reference in New Issue
Block a user