From 0f40af944637c51b3d168efa96a3746ea561525c Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 6 Oct 2011 15:38:19 -0500 Subject: [PATCH] scoring fixes from A.C/@waiei and @sakuraponila, sourced from http://www47.atwiki.jp/waiei/pages/21.html --- Docs/credits.txt | 16 +- .../BGAnimations/ScreenCredits overlay.lua | 16 +- Themes/_fallback/Scripts/04 Scoring.lua | 240 ++++++++++-------- .../BGAnimations/ScreenCredits overlay.lua | 15 +- 4 files changed, 167 insertions(+), 120 deletions(-) diff --git a/Docs/credits.txt b/Docs/credits.txt index f6d363f374..42b7e7829b 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -10,7 +10,7 @@ AJ Kelly as freem * UserPreferences and some other Lua scripts * Some small theme edits here and there * Noteskins (retro, retrobar*) - * Windows project file maintainer + * Windows project file maintainer (mostly) Midiman * Did most of the work on _fallback and default themes @@ -39,7 +39,7 @@ Daisuke Master * Taking advantage of sm-ssc's new features :) FSX - * Various fixes. (see Changelog_sm-ssc.txt for more details) + * Various fixes. (see Changelogs for more details) Nicole Reid (okeeblow) * Tested building sm-ssc on FreeBSD, provided fixes. @@ -59,6 +59,9 @@ StepMania Team * Keeping StepMania 5 alive with changes, and providing a nice codebase for us to work with. +1a2a3a2a1a + * Various beat mode fixes + Kaox * Pump/default noteskin @@ -66,7 +69,7 @@ cesarmades * Pump/cmd-* noteskins David Santamaría Rogado (howl) - * Various patches (see Changelog_sm-ssc.txt for more details and links) + * Various patches (see Changelogs for more details and links) Kita K./D. Trucks * default theme music @@ -113,10 +116,13 @@ Tatsh * A patch to fix building with system ffmpeg (http://ssc.ajworld.net/sm-ssc/bugtracker/view.php?id=218) -A.C(waiei) - * Hybrid scoring mode +A.C (@waiei) + * Hybrid scoring mode + scoring fixes * Various patches/fixes/bug reporting +桜為å°é³© (@sakuraponila) + * Scoring fixes + ==the beta testers== [SSC Beta Testing Team] KeithD diff --git a/Themes/_fallback/BGAnimations/ScreenCredits overlay.lua b/Themes/_fallback/BGAnimations/ScreenCredits overlay.lua index 9018cef21f..3623c9cabd 100644 --- a/Themes/_fallback/BGAnimations/ScreenCredits overlay.lua +++ b/Themes/_fallback/BGAnimations/ScreenCredits overlay.lua @@ -44,21 +44,23 @@ local oitg = { } local contrib = { - "Aldo Fregoso (Aldo_MX)", -- delays - "cerbo", + "Aldo Fregoso (Aldo_MX)", -- delays and much more. StepMania AMX creator + "A.C/@waiei", -- custom scoring fixes + Hybrid scoring + "cerbo", -- lua bindings and other fun stuff "cesarmades", -- pump/cmd* noteskins - "Chris Eldridge (kurisu)", -- dance-threepanel + "Chris Eldridge (kurisu)", -- dance-threepanel stepstype support "Christophe Goulet-LeBlanc (Kommisar)", -- songs "corec", -- various fixes "galopin", -- piu PlayStation2 usb mat support "gholms", -- automake 1.11 support "juanelote", -- SongManager:GetSongGroupByIndex, JumpToNext/PrevGroup logic mods "Kaox", -- pump/default noteskin - "Petriform", -- Music "NitroX72", -- pump/frame noteskin + "Petriform", -- default theme music + "桜為å°é³©/@sakuraponila", -- custom scoring fixes + "Samuel Kim (1a2a3a2a1a)", -- various beat mode fixes "sy567", -- beginner helper fix "v1toko", -- x-mode from StepNXA - "waiei", -- custom scoring fixes + Hybrid scoring } local translators = { @@ -72,6 +74,7 @@ local thanks = { "Dreamwoods", "Jason Bolt (LightningXCE)", "Jousway", -- Noteskins + "Luizsan", -- creator of Delta theme "Matt1360", -- Automake magic + oitg bro "Renard", "Ryan McKanna (Plaguefox)", @@ -80,13 +83,13 @@ local thanks = { local shoutout = { "The Lua team", -- lua project lead or some shit. super nerdy but oh hell. "Mojang AB", -- minecraft forever -freem + "Wolfire Games", -- piles of inspiration "NAKET Coder", "Ciera Boyd", -- you bet your ass I'm putting my girlfriend in the credits --Image(), -- we should have some logos probably to look super pro "#KBO", "Celestia Radio", -- LOVE AND TOLERANCE "You showed us... your ultimate dance", - -- "Can't stop crying... buckets of tears!" } local copyright = { @@ -146,7 +149,6 @@ creditScroller.BeginCommand=function(self) SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) ); end; - return Def.ActorFrame{ creditScroller..{ InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64), diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index 0f96c6a001..4528479ead 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -11,7 +11,14 @@ function GetTotalItems(radars) local total = radars:GetValue('RadarCategory_TapsAndHolds') total = total + radars:GetValue('RadarCategory_Holds') total = total + radars:GetValue('RadarCategory_Rolls') - total = total + radars:GetValue('RadarCategory_Lifts') + -- [ja] Liftを加ãˆã‚‹ã¨ä¸€éƒ¨äºŒé‡åŠ ç®—ã«ãªã‚‹ãŸã‚除外ã™ã‚‹ã€‚ + -- total = total + radars:GetValue('RadarCategory_Lifts') + + -- [en] prevent divide by 0 + -- [ja] 0除算対策(ã—ãªãã¦ã‚‚動作ã™ã‚‹ã‘ã©æº€ç‚¹ã«ãªã£ã¡ã‚ƒã†ã‚“ã§ï¼‰ + if total <= 0 then + total = 1 + end; return total end; @@ -49,8 +56,8 @@ r['DDR 1stMIX'] = function(params, pss) local localScore = bScore * multLookup[params.TapNoteScore]; pss:SetCurMaxScore(clamp(pss:GetCurMaxScore()+(bestScore),0,capScore)); pss:SetScore(clamp(pss:GetScore()+(localScore),0,capScore)); - end; + ----------------------------------------------------------- --DDR 4th Mix/Extra Mix/Konamix/GB3/DDRPC Scoring ----------------------------------------------------------- @@ -72,18 +79,24 @@ r['DDR 4thMIX'] = function(params, pss) local localCombo = localPoints and comboBonusForThisStep or 0; pss:SetScore(clamp(pss:GetScore()+localPoints+localCombo,0,capScore)); end; + ----------------------------------------------------------- ---DDR MAX2/Extreme Scoring +--DDR MAX2/Extreme(-esque) Scoring by @sakuraponila ----------------------------------------------------------- +local ext_Steps = {0,0}; r['DDR Extreme'] = function(params, pss) - local judgmentBase = { + local multLookup = + { ['TapNoteScore_W1'] = 10, ['TapNoteScore_W2'] = 9, ['TapNoteScore_W3'] = 5 }; - setmetatable(judgmentBase, ZeroIfNotFound); + setmetatable(multLookup, ZeroIfNotFound); local steps = GAMESTATE:GetCurrentSteps(params.Player); - local radarValues = steps:GetRadarValues(params.Player); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + -- 1 + 2 + 3 + ... + totalItems value/ã®å€¤ + local sTotal = (totalItems + 1) * totalItems / 2; local meter = steps:GetMeter(); if (steps:IsAnEdit()) then meter = 5; @@ -92,39 +105,62 @@ r['DDR Extreme'] = function(params, pss) elseif (meter > 10) then meter = 10; end; - local baseScore = meter * 1000000; + -- [en] score for one step + -- [ja] 1ステップã‚ãŸã‚Šã®ã‚¹ã‚³ã‚¢ + local baseScore = meter * 1000000 if (GAMESTATE:GetCurrentSong():IsMarathon()) then baseScore = baseScore * 3; elseif (GAMESTATE:GetCurrentSong():IsLong()) then baseScore = baseScore * 2; end; - local totalItems = GetTotalItems(radarValues); - local singleStep = (1 + totalItems) * totalItems / 2; - if (not Shared.CurrentStep) then - Shared.CurrentStep = {}; - Shared.CurrentStep["P1"] = 0; - Shared.CurrentStep["P2"] = 0; - end; - local pn = PlayerNumberToString(params.Player); - Shared.CurrentStep[pn] = Shared.CurrentStep[pn] + 1; - local stepValue = math.floor(baseScore /singleStep); - local stepLast = stepValue * Shared.CurrentStep[pn]; - pss:SetCurMaxScore(pss:GetCurMaxScore() + - (stepLast * judgmentBase['TapNoteScore_W1'])); - local judgeScore = 0; - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - judgeScore = judgmentBase['TapNoteScore_W1']; + local sOne = math.floor(baseScore / sTotal); + -- [en] measures for 5 points of units + -- [ja] 5点å˜ä½ã®ãŸã‚ã®å‡¦ç½® + sOne = sOne - sOne % 5; + -- [en] because fractions are added by the last step, get value + -- [ja] ç«¯æ•°ã¯æœ€å¾Œã®1ステップã§åŠ ç®—ã™ã‚‹ã®ã§ãã®å€¤ã‚’å–å¾— + local sLast = baseScore - (sOne * sTotal); + + local p; + if params.Player == 'PlayerNumber_P1' then + p = 1; else - judgeScore = judgmentBase[params.TapNoteScore]; - if (IsW1Allowed(params.TapNoteScore)) then - judgeScore = judgmentBase['TapNoteScore_W1']; + p = 2; + end; + -- [en] initialized when score is 0 + -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– + if pss:GetScore() == 0 then + ext_Steps[p] = 0; + end; + -- [en] now step count + -- [ja] ç¾åœ¨ã®ã‚¹ãƒ†ãƒƒãƒ—æ•° + ext_Steps[p] = ext_Steps[p] + 1; + -- [en] current score + -- [ja] 今回加算ã™ã‚‹ã‚¹ã‚³ã‚¢ï¼ˆW1ã®æ™‚) + local vScore = sOne * ext_Steps[p]; + pss:SetCurMaxScore(pss:GetCurMaxScore() + vScore); + -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 + if (params.HoldNoteScore == 'HoldNoteScore_Held') then + -- [ja] O.K.判定時ã¯å•ç­”ç„¡ç”¨ã§æº€ç‚¹ + vScore = vScore; + else + -- [ja] N.G.判定時ã¯å•答無用ã§0点 + if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then + vScore = 0; + -- [en] non-long note scoring + -- [ja] ãれ以外ã¨ã„ã†ã“ã¨ã¯ã€ãƒ­ãƒ³ã‚°ãƒŽãƒ¼ãƒˆä»¥å¤–ã®åˆ¤å®šã§ã‚ã‚‹ + else + vScore = vScore * multLookup[params.TapNoteScore] / 10 end; end; - local stepScore = judgeScore * stepLast; - pss:SetScore(pss:GetScore() + stepScore); - if (Shared.CurrentStep[pn] >= totalItems) then -- Just in case. - -- TODO: Implement the bonus for the last step? - Shared.CurrentStep[pn] = 0; -- Reset for the next song. + -- [en] measures for 5 points of units + -- [ja] ã“ã“ã§ã‚‚5点å˜ä½ã®ãŸã‚ã®å‡¦ç½® + vScore = vScore - vScore % 5 + pss:SetScore(pss:GetScore() + vScore); + -- if one of the last step, add the fractions + -- [ja] 最後ã®1ステップã®å ´åˆã€ç«¯æ•°ã‚’加算ã™ã‚‹ + if ((vScore > 0) and (ext_Steps[p] == totalItems)) then + pss:SetScore(pss:GetScore() + sLast); end; end; @@ -141,8 +177,7 @@ r['HYBRID'] = function(params, pss) }; setmetatable(multLookup, ZeroIfNotFound); local radarValues = GetDirectRadar(params.Player); - -- [ja] GetTotalItems(radarValues) ã« Liftã‚‚å«ã¾ã‚Œã¦ã„ã‚‹ã®ã§ 引ã„ã¦ãŠã - local totalItems = GetTotalItems(radarValues) - radarValues:GetValue('RadarCategory_Lifts'); + local totalItems = GetTotalItems(radarValues); -- 1+2+3+...+totalItems value/ã®å€¤ local sTotal = (totalItems+1)*totalItems/2; -- [en] Score for one song @@ -151,9 +186,13 @@ r['HYBRID'] = function(params, pss) -- [ja] ç«¯æ•°ã¯æœ€å¾Œã®1ステップã§åŠ ç®—ã™ã‚‹ã®ã§ãã®å€¤ã‚’å–å¾— local sLast = 100000000-(sOne*sTotal); - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2 + local p; + if params.Player=='PlayerNumber_P1' then + p=1; + else + p=2; + end; - -- [en] Initialize score if 0. -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– if pss:GetScore()==0 then hyb_Steps[p]=0; @@ -184,26 +223,81 @@ r['HYBRID'] = function(params, pss) end; ----------------------------------------------------------- ---DDR SuperNOVA(-esque) scoring +--DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila +----------------------------------------------------------- +local sntmp_Score = {0,0}; +local sntmp_Steps = {0,0}; +r['DDR SuperNOVA'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 3, + ['TapNoteScore_W2'] = 2, + ['TapNoteScore_W3'] = 1 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues) + local p; + if params.Player == 'PlayerNumber_P1' then + p = 1; + else + p = 2; + end; + + -- initialized when score is 0 + -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– + if pss:GetScore() == 0 then + sntmp_Score[p] = 0; + sntmp_Steps[p] = 0; + end; + + -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 + local maxAdd = 0; + -- [ja] O.K.判定時ã¯å•ç­”ç„¡ç”¨ã§æº€ç‚¹ + if params.HoldNoteScore == 'HoldNoteScore_Held' then + maxAdd = 3; + else + -- [ja] N.G.判定時ã¯å•答無用ã§0点 + if params.HoldNoteScore == 'HoldNoteScore_LetGo' then + maxAdd = 0; + -- [ja] ãれ以外ã¨ã„ã†ã“ã¨ã¯ã€ãƒ­ãƒ³ã‚°ãƒŽãƒ¼ãƒˆä»¥å¤–ã®åˆ¤å®šã§ã‚ã‚‹ + else + maxAdd = multLookup[params.TapNoteScore]; + end + end; + sntmp_Score[p] = sntmp_Score[p] + maxAdd; + + -- [ja] è¸ã¿è¸ã¿ã—ãŸã‚¹ãƒ†ãƒƒãƒ—æ•° + sntmp_Steps[p] = sntmp_Steps[p] + 1; + -- [ja] ç¾æ™‚点ã§ã®ã€All W1åˆ¤å®šã®æ™‚ã®ã‚¹ã‚³ã‚¢ + pss:SetCurMaxScore(math.floor(10000000 * sntmp_Steps[p] / totalItems / 3)); + -- [ja] 計算ã—ã¦ä»£å…¥ + pss:SetScore(math.floor(10000000 * sntmp_Score[p] / totalItems / 3)); +end; + +----------------------------------------------------------- +--DDR SuperNOVA 2 scoring by @waiei ----------------------------------------------------------- local sn2tmp_Sub={0,0}; local sn2tmp_Score={0,0}; local sn2tmp_Steps={0,0}; -r['DDR SuperNOVA'] = function(params, pss) +r['DDR SuperNOVA 2'] = function(params, pss) local multLookup = { - ['TapNoteScore_W1'] = 1, - ['TapNoteScore_W2'] = 1, - ['TapNoteScore_W3'] = 0.5 + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 10, + ['TapNoteScore_W3'] = 5 }; setmetatable(multLookup, ZeroIfNotFound); local radarValues = GetDirectRadar(params.Player); local totalItems = GetTotalItems(radarValues); + local p; + if params.Player=='PlayerNumber_P1' then + p=1; + else + p=2; + end; - if totalItems < 0 then totalItems = 1; end - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2 - - -- [en] Initialize score if 0. -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– if pss:GetScore()==0 then sn2tmp_Sub[p]=0; @@ -213,7 +307,6 @@ r['DDR SuperNOVA'] = function(params, pss) -- [ja] maxAdd 㯠加算ã™ã‚‹æœ€é«˜ç‚¹ã‚’ 10 ã¨ã—ãŸæ™‚ã®å€¤ï¼ˆã¤ã¾ã‚Šã€10=100% / 5=50%) local maxAdd = 0; - -- [ja] O.K.判定時ã¯å•ç­”ç„¡ç”¨ã§æº€ç‚¹ if params.HoldNoteScore == 'HoldNoteScore_Held' then maxAdd = 10; @@ -229,7 +322,7 @@ r['DDR SuperNOVA'] = function(params, pss) sn2tmp_Sub[p]=sn2tmp_Sub[p]+1; end; end - end + end; sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd; -- [ja] è¸ã¿è¸ã¿ã—ãŸã‚¹ãƒ†ãƒƒãƒ—æ•° sn2tmp_Steps[p]=sn2tmp_Steps[p]+1; @@ -239,62 +332,7 @@ r['DDR SuperNOVA'] = function(params, pss) -- [ja] 計算ã—ã¦ä»£å…¥ pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) ); end; ------------------------------------------------------------ ---DDR SuperNOVA 2(-esque) scoring ------------------------------------------------------------ -local sn2tmp_Sub=0; -local sn2tmp_Score=0; -local sn2tmp_Steps=0; -r['DDR SuperNOVA 2'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - -- [ja] GetTotalItems(radarValues) ã« Liftã‚‚å«ã¾ã‚Œã¦ã„ã‚‹ã®ã§ 引ã„ã¦ãŠã - local totalItems = GetTotalItems(radarValues) - radarValues:GetValue('RadarCategory_Lifts'); - -- [ja] 0除算対策(ã—ãªãã¦ã‚‚動作ã™ã‚‹ã‘ã©æº€ç‚¹ã«ãªã£ã¡ã‚ƒã†ã‚“ã§ï¼‰ - if totalItems <= 0 then - totalItems=1 - end; - -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– - if pss:GetScore() == 0 then - sn2tmp_Sub=0; - sn2tmp_Score=0; - sn2tmp_Steps=0; - end; - - -- [ja] maxAdd 㯠加算ã™ã‚‹æœ€é«˜ç‚¹ã‚’ 10 ã¨ã—ãŸæ™‚ã®å€¤ï¼ˆã¤ã¾ã‚Šã€10=100% / 5=50%) - local maxAdd = 0; - -- [ja] O.K.判定時ã¯å•ç­”ç„¡ç”¨ã§æº€ç‚¹ - if params.HoldNoteScore == 'HoldNoteScore_Held' then - maxAdd = 10; - else - -- [ja] N.G.判定時ã¯å•答無用ã§0点 - if params.HoldNoteScore == 'HoldNoteScore_LetGo' then - maxAdd = 0; - -- [ja] ãれ以外ã¨ã„ã†ã“ã¨ã¯ã€ãƒ­ãƒ³ã‚°ãƒŽãƒ¼ãƒˆä»¥å¤–ã®åˆ¤å®šã§ã‚ã‚‹ - else - maxAdd = multLookup[params.TapNoteScore]; - if (params.TapNoteScore == 'TapNoteScore_W2') or (params.TapNoteScore=='TapNoteScore_W3') then - -- [ja] W2ã¨W3ã®æ•°ã‚’記録 - sn2tmp_Sub=sn2tmp_Sub+1; - end; - end - end; - sn2tmp_Score=sn2tmp_Score+maxAdd; - -- [ja] è¸ã¿è¸ã¿ã—ãŸã‚¹ãƒ†ãƒƒãƒ—æ•° - sn2tmp_Steps=sn2tmp_Steps+1; - -- [ja] ç¾æ™‚点ã§ã®ã€All W1åˆ¤å®šã®æ™‚ã®ã‚¹ã‚³ã‚¢ - pss:SetCurMaxScore(math.floor(10000*sn2tmp_Steps/totalItems) * 10); - - -- [ja] 計算ã—ã¦ä»£å…¥ - pss:SetScore((math.floor(10000*sn2tmp_Score/totalItems) * 10) - (sn2tmp_Sub*10) ); -end; ----------------------------------------------------------- --Radar Master (disabled; todo: get this working with StepMania 5) ----------------------------------------------------------- diff --git a/Themes/default/BGAnimations/ScreenCredits overlay.lua b/Themes/default/BGAnimations/ScreenCredits overlay.lua index 86028fc183..c8d17441f7 100644 --- a/Themes/default/BGAnimations/ScreenCredits overlay.lua +++ b/Themes/default/BGAnimations/ScreenCredits overlay.lua @@ -44,10 +44,11 @@ local oitg = { } local contrib = { - "Aldo Fregoso (Aldo_MX)", -- delays - "cerbo", + "Aldo Fregoso (Aldo_MX)", -- delays and much more. StepMania AMX creator + "A.C (@waiei)", -- custom scoring fixes + Hybrid scoring + "cerbo", -- lua bindings and other fun stuff "cesarmades", -- pump/cmd* noteskins - "Chris Eldridge (kurisu)", -- dance-threepanel + "Chris Eldridge (kurisu)", -- dance-threepanel stepstype support "Christophe Goulet-LeBlanc (Kommisar)", -- songs "corec", -- various fixes "galopin", -- piu PlayStation2 usb mat support @@ -55,10 +56,11 @@ local contrib = { "juanelote", -- SongManager:GetSongGroupByIndex, JumpToNext/PrevGroup logic mods "Kaox", -- pump/default noteskin "NitroX72", -- pump/frame noteskin - "Petriform", -- Music + "Petriform", -- default theme music + "桜為å°é³© (@sakuraponila)", -- custom scoring fixes + "Samuel Kim (1a2a3a2a1a)", -- various beat mode fixes "sy567", -- beginner helper fix "v1toko", -- x-mode from StepNXA - "waiei", -- custom scoring fixes + Hybrid scoring } local translators = { @@ -72,6 +74,7 @@ local thanks = { "Dreamwoods", "Jason Bolt (LightningXCE)", "Jousway", -- Noteskins + "Luizsan", -- creator of Delta theme "Matt1360", -- Automake magic + oitg bro "Renard", "Ryan McKanna (Plaguefox)", @@ -87,7 +90,6 @@ local shoutout = { "#KBO", "Celestia Radio", -- LOVE AND TOLERANCE "You showed us... your ultimate dance", - -- "Can't stop crying... buckets of tears!" } local copyright = { @@ -147,7 +149,6 @@ creditScroller.BeginCommand=function(self) SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) ); end; - return Def.ActorFrame{ creditScroller..{ InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64),