diff --git a/parts/player/draw.lua b/parts/player/draw.lua
index 32cbd7f8..e3c59f5e 100644
--- a/parts/player/draw.lua
+++ b/parts/player/draw.lua
@@ -254,6 +254,36 @@ local function drawB2Bbar(P)
x=x+20
end
end
+local function drawHold(P)
+ local ENV=P.gameEnv
+ if ENV.holdCount==0 then return end
+
+ local N=ENV.holdCount*72
+ local texture=SKIN.curText
+ gc_push("transform")
+ gc_translate(-140,116)
+ gc_setColor(0,0,0,.4)gc_rectangle("fill",0,-80,124,N+8)
+ gc_setColor(1,1,1)gc_rectangle("line",0,-80,124,N+8)
+ if P.holdTime==0 then gc_setColor(.6,.4,.4)end
+ mText(drawableText.hold,62,-131)
+
+ gc_setColor(1,1,1)
+ if #P.holdQueue
2 then
local S=P.stat
@@ -434,55 +464,6 @@ function draw.drawNext_hidden(P)
gc_pop()
end
-function draw.drawHold_norm(P)
- local texture=SKIN.curText
- gc_push("transform")
- gc_translate(-140,116)
- gc_setColor(0,0,0,.4)gc_rectangle("fill",0,-80,124,80)
- gc_setColor(1,1,1)gc_rectangle("line",0,-80,124,80)
- if P.holdTime==0 then gc_setColor(.6,.4,.4)end
- mText(drawableText.hold,62,-131)
-
- local B=P.holdQueue[1]
- if B then
- local bk,clr=B.bk,B.color
- for i=1,#bk do for j=1,#bk[1]do
- if bk[i][j]then
- gc_draw(texture[clr],30*(j+2.06-#bk[1]*.5)-30,-30*(i+3.76-2.4*1-#bk*.5))-- drawCell(i+1.36-#B*.5,j+2.06-#B[1]*.5,clr)
- end
- end end
- end
- gc_pop()
-end
-function draw.drawHold_multi(P)
- local ENV=P.gameEnv
- local N=ENV.holdCount*72
- local texture=SKIN.curText
- gc_push("transform")
- gc_translate(-140,116)
- gc_setColor(0,0,0,.4)gc_rectangle("fill",0,-80,124,N+8)
- gc_setColor(1,1,1)gc_rectangle("line",0,-80,124,N+8)
- if P.holdTime==0 then gc_setColor(.6,.4,.4)end
- mText(drawableText.hold,62,-131)
-
- gc_setColor(1,1,1)
- if #P.holdQueue0 then
gc_setLineWidth(4)
@@ -600,7 +581,7 @@ function draw.norm(P)
drawBuffer(P)
drawB2Bbar(P)
- P:drawHold()
+ drawHold(P)
P:drawNext()
--Draw target selecting pad
@@ -645,6 +626,12 @@ function draw.norm(P)
gc_draw(drawableText.bpm,540,480)
gc_draw(drawableText.kpm,494,573)
+ --Mode informations
+ if GAME.curMode.mesDisp then
+ gc_setColor(1,1,1)
+ GAME.curMode.mesDisp(P)
+ end
+
--Score & Time
setFont(25)
local tm=int(P.stat.time*100)*.01
@@ -654,12 +641,6 @@ function draw.norm(P)
gc_setColor(COLOR.lYellow)gc_print(P.score1,20,510)
gc_setColor(COLOR.sky)gc_print(tm,20,540)
- --Mode informations
- if GAME.curMode.mesDisp then
- gc_setColor(1,1,1)
- GAME.curMode.mesDisp(P)
- end
-
drawFinesseCombo_norm(P)
drawLife(P.life)
drawMission(P)
@@ -759,7 +740,7 @@ function draw.norm_remote(P)
drawBuffer(P)
drawB2Bbar(P)
- P:drawHold()
+ drawHold(P)
P:drawNext()
--Draw target selecting pad
@@ -794,6 +775,12 @@ function draw.norm_remote(P)
--Speed dials
drawDial(530,535,P.dropSpeed)
+ --Mode informations
+ if GAME.curMode.mesDisp then
+ gc_setColor(1,1,1)
+ GAME.curMode.mesDisp(P)
+ end
+
--Score & Time
setFont(25)
local tm=int(P.stat.time*100)*.01
@@ -803,12 +790,6 @@ function draw.norm_remote(P)
gc_setColor(COLOR.lYellow)gc_print(P.score1,20,510)
gc_setColor(COLOR.sky)gc_print(tm,20,540)
- --Mode informations
- if GAME.curMode.mesDisp then
- gc_setColor(1,1,1)
- GAME.curMode.mesDisp(P)
- end
-
drawFinesseCombo_remote(P)
drawLife(P.life)
drawMission(P)
diff --git a/parts/player/player.lua b/parts/player/player.lua
index 4647d90a..3652f281 100644
--- a/parts/player/player.lua
+++ b/parts/player/player.lua
@@ -192,14 +192,7 @@ function Player.setHold(P,count)--Set hold count (false/true as 0/1)
P.gameEnv.holdCount=count
P.holdTime=count
P:switchKey(8,count>0)
- if count==0 then
- P.drawHold=NULL
- while P.holdQueue[1]do rem(P.holdQueue)end
- elseif count==1 then
- P.drawHold=PLY.draw.drawHold_norm
- else
- P.drawHold=PLY.draw.drawHold_multi
- end
+ while P.holdQueue[count]do rem(P.holdQueue)end
end
function Player.setNext(P,next,hidden)--Set next count (use hidden=true if set env.nextStartPos>1)
P.gameEnv.nextCount=next