diff --git a/media/image/modeicon/attack.png b/media/image/modeicon/attack.png new file mode 100644 index 00000000..459e624a Binary files /dev/null and b/media/image/modeicon/attack.png differ diff --git a/media/image/modeicon/bigbang.png b/media/image/modeicon/bigbang.png new file mode 100644 index 00000000..e7e56e85 Binary files /dev/null and b/media/image/modeicon/bigbang.png differ diff --git a/media/image/modeicon/classic.png b/media/image/modeicon/classic.png new file mode 100644 index 00000000..e8c92191 Binary files /dev/null and b/media/image/modeicon/classic.png differ diff --git a/media/image/modeicon/defend.png b/media/image/modeicon/defend.png new file mode 100644 index 00000000..e13d9555 Binary files /dev/null and b/media/image/modeicon/defend.png differ diff --git a/media/image/modeicon/dig.png b/media/image/modeicon/dig.png new file mode 100644 index 00000000..f6ef3972 Binary files /dev/null and b/media/image/modeicon/dig.png differ diff --git a/media/image/modeicon/dig_sprint.png b/media/image/modeicon/dig_sprint.png new file mode 100644 index 00000000..07975ab4 Binary files /dev/null and b/media/image/modeicon/dig_sprint.png differ diff --git a/media/image/modeicon/drought.png b/media/image/modeicon/drought.png new file mode 100644 index 00000000..64dd8045 Binary files /dev/null and b/media/image/modeicon/drought.png differ diff --git a/media/image/modeicon/gm.png b/media/image/modeicon/gm.png new file mode 100644 index 00000000..dabd46dd Binary files /dev/null and b/media/image/modeicon/gm.png differ diff --git a/media/image/modeicon/hidden.png b/media/image/modeicon/hidden.png new file mode 100644 index 00000000..72c5d02d Binary files /dev/null and b/media/image/modeicon/hidden.png differ diff --git a/media/image/modeicon/infinite.png b/media/image/modeicon/infinite.png new file mode 100644 index 00000000..8f6800d3 Binary files /dev/null and b/media/image/modeicon/infinite.png differ diff --git a/media/image/modeicon/marathon.png b/media/image/modeicon/marathon.png new file mode 100644 index 00000000..a14da8b0 Binary files /dev/null and b/media/image/modeicon/marathon.png differ diff --git a/media/image/modeicon/master.png b/media/image/modeicon/master.png new file mode 100644 index 00000000..96973a25 Binary files /dev/null and b/media/image/modeicon/master.png differ diff --git a/media/image/modeicon/mess.png b/media/image/modeicon/mess.png new file mode 100644 index 00000000..951b53d8 Binary files /dev/null and b/media/image/modeicon/mess.png differ diff --git a/media/image/modeicon/pc.png b/media/image/modeicon/pc.png new file mode 100644 index 00000000..b62fc47f Binary files /dev/null and b/media/image/modeicon/pc.png differ diff --git a/media/image/modeicon/rhythm.png b/media/image/modeicon/rhythm.png new file mode 100644 index 00000000..32ac4084 Binary files /dev/null and b/media/image/modeicon/rhythm.png differ diff --git a/media/image/modeicon/round.png b/media/image/modeicon/round.png new file mode 100644 index 00000000..c9a8192b Binary files /dev/null and b/media/image/modeicon/round.png differ diff --git a/media/image/modeicon/solo.png b/media/image/modeicon/solo.png new file mode 100644 index 00000000..4da5ed70 Binary files /dev/null and b/media/image/modeicon/solo.png differ diff --git a/media/image/modeicon/sprint1.png b/media/image/modeicon/sprint1.png new file mode 100644 index 00000000..f63b0b3b Binary files /dev/null and b/media/image/modeicon/sprint1.png differ diff --git a/media/image/modeicon/sprint2.png b/media/image/modeicon/sprint2.png new file mode 100644 index 00000000..44c3f1d7 Binary files /dev/null and b/media/image/modeicon/sprint2.png differ diff --git a/media/image/modeicon/sprint3.png b/media/image/modeicon/sprint3.png new file mode 100644 index 00000000..3f08079b Binary files /dev/null and b/media/image/modeicon/sprint3.png differ diff --git a/media/image/modeicon/survivor.png b/media/image/modeicon/survivor.png new file mode 100644 index 00000000..ffdc5c88 Binary files /dev/null and b/media/image/modeicon/survivor.png differ diff --git a/media/image/modeicon/t49.png b/media/image/modeicon/t49.png new file mode 100644 index 00000000..32c26e04 Binary files /dev/null and b/media/image/modeicon/t49.png differ diff --git a/media/image/modeicon/t99.png b/media/image/modeicon/t99.png new file mode 100644 index 00000000..ab70fe1c Binary files /dev/null and b/media/image/modeicon/t99.png differ diff --git a/media/image/modeicon/tech.png b/media/image/modeicon/tech.png new file mode 100644 index 00000000..44494d72 Binary files /dev/null and b/media/image/modeicon/tech.png differ diff --git a/media/image/modeicon/tsd.png b/media/image/modeicon/tsd.png new file mode 100644 index 00000000..ee02eb75 Binary files /dev/null and b/media/image/modeicon/tsd.png differ diff --git a/media/image/modeicon/ultra.png b/media/image/modeicon/ultra.png new file mode 100644 index 00000000..262c9451 Binary files /dev/null and b/media/image/modeicon/ultra.png differ diff --git a/media/image/modeicon/zen.png b/media/image/modeicon/zen.png new file mode 100644 index 00000000..fdf9b5a8 Binary files /dev/null and b/media/image/modeicon/zen.png differ diff --git a/parts/list.lua b/parts/list.lua index 82057305..949ab213 100644 --- a/parts/list.lua +++ b/parts/list.lua @@ -291,15 +291,6 @@ do--BLOCKS end end -rankColor={ - COLOR.dRed, --D - COLOR.dOrange, --C - COLOR.lYellow, --B - COLOR.lBlue, --A - COLOR.lCyan, --S - COLOR.lGreen, --Special -} - minoColor={ COLOR.red, COLOR.fire, diff --git a/parts/modes.lua b/parts/modes.lua index 26ccc9b2..9f63db8a 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -1,21 +1,21 @@ return{ - {name="sprint_10l", x=0, y=0, size=40,shape=1,icon="sprint", unlock={"sprint_20l","sprint_40l"}}, - {name="sprint_20l", x=-200, y=0, size=50,shape=1,icon="sprint"}, - {name="sprint_40l", x=0, y=-300, size=40,shape=1,icon="sprint", unlock={"dig_10l","sprint_100l","marathon_n","sprintPenta","sprintMPH"}}, - {name="sprint_100l", x=-200, y=-200, size=50,shape=1,icon="sprint", unlock={"sprint_400l","drought_n"}}, - {name="sprint_400l", x=-400, y=-200, size=40,shape=1,icon="sprint", unlock={"sprint_1000l"}}, - {name="sprint_1000l", x=-600, y=-200, size=40,shape=1,icon="sprint"}, + {name="sprint_10l", x=0, y=0, size=40,shape=1,icon="sprint1", unlock={"sprint_20l","sprint_40l"}}, + {name="sprint_20l", x=-200, y=0, size=50,shape=1,icon="sprint1"}, + {name="sprint_40l", x=0, y=-300, size=40,shape=1,icon="sprint2", unlock={"dig_10l","sprint_100l","marathon_n","sprintPenta","sprintMPH"}}, + {name="sprint_100l", x=-200, y=-200, size=50,shape=1,icon="sprint2", unlock={"sprint_400l","drought_n"}}, + {name="sprint_400l", x=-400, y=-200, size=40,shape=1,icon="sprint3", unlock={"sprint_1000l"}}, + {name="sprint_1000l", x=-600, y=-200, size=40,shape=1,icon="sprint3"}, - {name="sprintPenta", x=210, y=-370, size=40,shape=3,icon="sprint"}, - {name="sprintMPH", x=210, y=-230, size=40,shape=3,icon="sprint"}, + {name="sprintPenta", x=210, y=-370, size=40,shape=3,icon="tech"}, + {name="sprintMPH", x=210, y=-230, size=40,shape=3,icon="tech"}, - {name="drought_n", x=-400, y=0, size=40,shape=1,icon="noI", unlock={"drought_l"}}, + {name="drought_n", x=-400, y=0, size=40,shape=1,icon="drought", unlock={"drought_l"}}, {name="drought_l", x=-600, y=0, size=40,shape=1,icon="mess"}, - {name="dig_10l", x=-200, y=-400, size=40,shape=1,icon="dig", unlock={"dig_40l"}}, - {name="dig_40l", x=-400, y=-400, size=40,shape=1,icon="dig", unlock={"dig_100l"}}, - {name="dig_100l", x=-600, y=-400, size=40,shape=1,icon="dig", unlock={"dig_400l"}}, - {name="dig_400l", x=-800, y=-200, size=40,shape=1,icon="dig"}, + {name="dig_10l", x=-200, y=-400, size=40,shape=1,icon="dig_sprint", unlock={"dig_40l"}}, + {name="dig_40l", x=-400, y=-400, size=40,shape=1,icon="dig_sprint", unlock={"dig_100l"}}, + {name="dig_100l", x=-600, y=-400, size=40,shape=1,icon="dig_sprint", unlock={"dig_400l"}}, + {name="dig_400l", x=-800, y=-200, size=40,shape=1,icon="dig_sprint"}, {name="marathon_n", x=0, y=-600, size=60,shape=1,icon="marathon",unlock={"marathon_h","rhythm_e","solo_e","round_e","blind_e","classic_fast","survivor_e","bigbang","zen"}}, {name="marathon_h", x=0, y=-800, size=50,shape=1,icon="marathon",unlock={"master_beginner"}}, @@ -26,12 +26,12 @@ return{ {name="solo_l", x=-1200,y=-1000,size=40,shape=1,icon="solo", unlock={"solo_u"}}, {name="solo_u", x=-1400,y=-1000,size=40,shape=1,icon="solo"}, - {name="techmino49_e", x=-1100,y=-1200,size=40,shape=1,icon="royale", unlock={"techmino49_h","techmino99_e"}}, - {name="techmino49_h", x=-1100,y=-1400,size=40,shape=1,icon="royale", unlock={"techmino49_u"}}, - {name="techmino49_u", x=-1100,y=-1600,size=40,shape=1,icon="royale"}, - {name="techmino99_e", x=-1300,y=-1400,size=40,shape=1,icon="royale", unlock={"techmino99_h"}}, - {name="techmino99_h", x=-1300,y=-1600,size=40,shape=1,icon="royale", unlock={"techmino99_u"}}, - {name="techmino99_u", x=-1300,y=-1800,size=40,shape=1,icon="royale"}, + {name="techmino49_e", x=-1100,y=-1200,size=40,shape=1,icon="t49", unlock={"techmino49_h","techmino99_e"}}, + {name="techmino49_h", x=-1100,y=-1400,size=40,shape=1,icon="t49", unlock={"techmino49_u"}}, + {name="techmino49_u", x=-1100,y=-1600,size=40,shape=1,icon="t49"}, + {name="techmino99_e", x=-1300,y=-1400,size=40,shape=1,icon="t99", unlock={"techmino99_h"}}, + {name="techmino99_h", x=-1300,y=-1600,size=40,shape=1,icon="t99", unlock={"techmino99_u"}}, + {name="techmino99_u", x=-1300,y=-1800,size=40,shape=1,icon="t99"}, {name="round_e", x=-600, y=-800, size=40,shape=1,icon="round", unlock={"round_n"}}, {name="round_n", x=-800, y=-800, size=40,shape=1,icon="round", unlock={"round_h"}}, @@ -43,20 +43,20 @@ return{ {name="master_advance", x=0, y=-1200,size=40,shape=3,icon="master", unlock={"master_final","GM","master_phantasm"}}, {name="master_final", x=0, y=-1600,size=40,shape=2,icon="master"}, {name="master_phantasm",x=-150, y=-1500,size=40,shape=2,icon="master"}, - {name="GM", x=150, y=-1500,size=40,shape=2,icon="master"}, + {name="GM", x=150, y=-1500,size=40,shape=2,icon="gm"}, {name="rhythm_e", x=-350, y=-1000,size=40,shape=1,icon="rhythm", unlock={"rhythm_h"}}, {name="rhythm_h", x=-350, y=-1200,size=40,shape=3,icon="rhythm", unlock={"rhythm_u"}}, {name="rhythm_u", x=-350, y=-1400,size=40,shape=2,icon="rhythm"}, - {name="blind_e", x=150, y=-700, size=40,shape=1,icon="blind", unlock={"blind_n"}}, - {name="blind_n", x=150, y=-800, size=40,shape=1,icon="blind", unlock={"blind_h"}}, - {name="blind_h", x=150, y=-900, size=35,shape=1,icon="blind", unlock={"blind_l"}}, - {name="blind_l", x=150, y=-1000,size=35,shape=3,icon="blind", unlock={"blind_u"}}, - {name="blind_u", x=150, y=-1100,size=35,shape=3,icon="blind", unlock={"blind_wtf"}}, - {name="blind_wtf", x=150, y=-1200,size=35,shape=2,icon="blind"}, + {name="blind_e", x=150, y=-700, size=40,shape=1,icon="hidden", unlock={"blind_n"}}, + {name="blind_n", x=150, y=-800, size=40,shape=1,icon="hidden", unlock={"blind_h"}}, + {name="blind_h", x=150, y=-900, size=35,shape=1,icon="hidden", unlock={"blind_l"}}, + {name="blind_l", x=150, y=-1000,size=35,shape=3,icon="hidden", unlock={"blind_u"}}, + {name="blind_u", x=150, y=-1100,size=35,shape=3,icon="hidden", unlock={"blind_wtf"}}, + {name="blind_wtf", x=150, y=-1200,size=35,shape=2,icon="hidden"}, - {name="classic_fast", x=-150, y=-950,size=40,shape=2,icon="classic"}, + {name="classic_fast", x=-150, y=-950, size=40,shape=2,icon="classic"}, {name="survivor_e", x=300, y=-600, size=40,shape=1,icon="survivor",unlock={"survivor_n"}}, {name="survivor_n", x=500, y=-600, size=40,shape=1,icon="survivor",unlock={"survivor_h","attacker_h","defender_n","dig_h"}}, @@ -64,21 +64,21 @@ return{ {name="survivor_l", x=900, y=-600, size=40,shape=3,icon="survivor",unlock={"survivor_u"}}, {name="survivor_u", x=1100, y=-600, size=40,shape=2,icon="survivor"}, - {name="attacker_h", x=300, y=-800, size=40,shape=1,icon="attacker",unlock={"attacker_u"}}, - {name="attacker_u", x=300, y=-1000,size=40,shape=1,icon="attacker"}, + {name="attacker_h", x=300, y=-800, size=40,shape=1,icon="attack", unlock={"attacker_u"}}, + {name="attacker_u", x=300, y=-1000,size=40,shape=1,icon="attack"}, - {name="defender_n", x=500, y=-800, size=40,shape=1,icon="defender",unlock={"defender_l"}}, - {name="defender_l", x=500, y=-1000,size=40,shape=1,icon="defender"}, + {name="defender_n", x=500, y=-800, size=40,shape=1,icon="defend", unlock={"defender_l"}}, + {name="defender_l", x=500, y=-1000,size=40,shape=1,icon="defend"}, {name="dig_h", x=700, y=-800, size=40,shape=1,icon="dig", unlock={"dig_u"}}, {name="dig_u", x=700, y=-1000,size=40,shape=1,icon="dig"}, {name="bigbang", x=400, y=-400, size=50,shape=1,icon="bigbang", unlock={"c4wtrain_n","pctrain_n","tech_n"}}, - {name="c4wtrain_n", x=700, y=-400, size=40,shape=1,icon="c4wtrain",unlock={"c4wtrain_l"}}, - {name="c4wtrain_l", x=900, y=-400, size=40,shape=1,icon="c4wtrain"}, + {name="c4wtrain_n", x=700, y=-400, size=40,shape=1,icon="pc",unlock={"c4wtrain_l"}}, + {name="c4wtrain_l", x=900, y=-400, size=40,shape=1,icon="pc"}, - {name="pctrain_n", x=700, y=-220, size=40,shape=1,icon="pctrain", unlock={"pctrain_l","pc_n"}}, - {name="pctrain_l", x=900, y=-220, size=40,shape=1,icon="pctrain"}, + {name="pctrain_n", x=700, y=-220, size=40,shape=1,icon="pc", unlock={"pctrain_l","pc_n"}}, + {name="pctrain_l", x=900, y=-220, size=40,shape=1,icon="pc"}, {name="pc_n", x=800, y=-100, size=40,shape=1,icon="pc", unlock={"pc_h"}}, {name="pc_h", x=1000, y=-100, size=40,shape=3,icon="pc", unlock={"pc_l"}}, @@ -101,7 +101,7 @@ return{ {name="zen", x=-800, y=-600, size=40,shape=1,icon="zen", unlock={"ultra","infinite","infinite_dig"}}, {name="ultra", x=-1000,y=-400, size=40,shape=1,icon="ultra"}, {name="infinite", x=-800, y=-400, size=40,shape=1,icon="infinite"}, - {name="infinite_dig", x=-1000,y=-600, size=40,shape=1,icon="infinite"}, + {name="infinite_dig", x=-1000,y=-600, size=40,shape=1,icon="dig"}, {name="sprintFix"}, {name="sprintLock"}, diff --git a/parts/scenes/load.lua b/parts/scenes/load.lua index a02f662d..37b460a7 100644 --- a/parts/scenes/load.lua +++ b/parts/scenes/load.lua @@ -67,6 +67,7 @@ local loadingThread=coroutine.create(function() end upFloor() + local modeIcons={} for i=1,#MODES do local m=MODES[i]--Mode template local M=require("parts/modes/"..m.name)--Mode file @@ -75,11 +76,14 @@ local loadingThread=coroutine.create(function() M[k]=v end M.records=FILE.load("record/"..m.name..".rec")or M.score and{} - -- M.icon=gc.newImage("media/image/modeIcon/"..m.icon..".png") - -- M.icon=gc.newImage("media/image/modeIcon/custom.png") + if m.icon then + if not modeIcons[m.icon]then + modeIcons[m.icon]=gc.newImage("media/image/modeicon/"..m.icon..".png") + end + M.icon=modeIcons[m.icon] + end if i%5==0 then YIELD()end end - upFloor() SKIN.change(SETTING.skinSet) if newVersionLaunch then--Delete old ranks & Unlock modes which should be locked diff --git a/parts/scenes/mode.lua b/parts/scenes/mode.lua index c03ce1a3..cf4bafd4 100644 --- a/parts/scenes/mode.lua +++ b/parts/scenes/mode.lua @@ -4,7 +4,7 @@ local ms,kb,tc=love.mouse,love.keyboard,love.touch local max,min=math.max,math.min local int,abs=math.floor,math.abs -local sin=math.sin +local sin,cos=math.sin,math.cos local mapCam={ sel=false,--Selected mode ID @@ -42,9 +42,9 @@ local function onMode(x,y) if M.shape==1 then if x>M.x-s and xM.y-s and y0 then + gc.setColor(.95,.95,.95) + for j=1,4 do + local t=TIME()*3+1.57*j + gc.draw(icon,M.x+2.6*cos(t),M.y+2.6*sin(t),nil,k,nil,length,length) + end + gc.setColor(rankColor[R[M.name]]) + else + gc.setColor(.6,.6,.6) end + gc.draw(icon,M.x,M.y,nil,k,nil,length,length) end + + --Rank name=text.ranks[R[M.name]] if name then - gc.setColor(0,0,0,.26) - mStr(name,M.x,M.y-40) + gc.setColor(0,0,0,.8) + mStr(name,M.x+M.size*.7,M.y-50-M.size*.7) + gc.setColor(.9,.9,.9) + mStr(name,M.x+M.size*.7+4,M.y-50-M.size*.7-4) end - --[[ - if M.icon then - local i=M.icon - local l=i:getWidth()*.5 - local k=S/l*.8 - gc.setColor(0,0,0,2) - gc.draw(i,M.x-1,M.y-1,nil,k,nil,l,l) - gc.draw(i,M.x-1,M.y+1,nil,k,nil,l,l) - gc.draw(i,M.x+1,M.y-1,nil,k,nil,l,l) - gc.draw(i,M.x+1,M.y+1,nil,k,nil,l,l) - gc.setColor(1,1,1) - gc.draw(i,M.x,M.y,nil,k,nil,l,l) - end - ]] end end gc.pop() + --Score board if sel then local M=MODES[sel] gc.setColor(.7,.7,.7,.5) diff --git a/parts/scenes/pause.lua b/parts/scenes/pause.lua index 35eee46e..311944fe 100644 --- a/parts/scenes/pause.lua +++ b/parts/scenes/pause.lua @@ -260,22 +260,10 @@ function scene.draw() if GAME.rank>0 then local str=text.ranks[GAME.rank] setFont(80) - - gc.setColor(0,0,0,T*.3) - gc.print(str,46,-14,nil,1.8) - gc.print(str,46,-6,nil,1.8) - gc.print(str,54,-14,nil,1.8) - gc.print(str,54,-6,nil,1.8) - - gc.setColor(0,0,0,T*.15) - gc.print(str,46,-10,nil,1.8) - gc.print(str,54,-10,nil,1.8) - gc.print(str,50,-14,nil,1.8) - gc.print(str,50,-6,nil,1.8) - - local L=rankColor[GAME.rank] - gc.setColor(L[1],L[2],L[3],T) - gc.print(str,50,-10,nil,1.8) + gc.setColor(0,0,0,T*.7) + gc.print(str,100*T^.5-5,-14,nil,1.8) + gc.setColor(1,1,1,T) + gc.print(str,100*T^.5,-10,nil,1.8) end --Radar Chart