scoring fixes from A.C/@waiei and @sakuraponila, sourced from http://www47.atwiki.jp/waiei/pages/21.html

This commit is contained in:
AJ Kelly
2011-10-06 15:38:19 -05:00
parent f91e85c53e
commit 0f40af9446
4 changed files with 167 additions and 120 deletions
+11 -5
View File
@@ -10,7 +10,7 @@ AJ Kelly as freem
* UserPreferences and some other Lua scripts * UserPreferences and some other Lua scripts
* Some small theme edits here and there * Some small theme edits here and there
* Noteskins (retro, retrobar*) * Noteskins (retro, retrobar*)
* Windows project file maintainer * Windows project file maintainer (mostly)
Midiman Midiman
* Did most of the work on _fallback and default themes * Did most of the work on _fallback and default themes
@@ -39,7 +39,7 @@ Daisuke Master
* Taking advantage of sm-ssc's new features :) * Taking advantage of sm-ssc's new features :)
FSX FSX
* Various fixes. (see Changelog_sm-ssc.txt for more details) * Various fixes. (see Changelogs for more details)
Nicole Reid (okeeblow) Nicole Reid (okeeblow)
* Tested building sm-ssc on FreeBSD, provided fixes. * 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 * Keeping StepMania 5 alive with changes, and providing a nice codebase for
us to work with. us to work with.
1a2a3a2a1a
* Various beat mode fixes
Kaox Kaox
* Pump/default noteskin * Pump/default noteskin
@@ -66,7 +69,7 @@ cesarmades
* Pump/cmd-* noteskins * Pump/cmd-* noteskins
David Santamaría Rogado (howl) 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 Kita K./D. Trucks
* default theme music * default theme music
@@ -113,10 +116,13 @@ Tatsh
* A patch to fix building with system ffmpeg * A patch to fix building with system ffmpeg
(http://ssc.ajworld.net/sm-ssc/bugtracker/view.php?id=218) (http://ssc.ajworld.net/sm-ssc/bugtracker/view.php?id=218)
A.C(waiei) A.C (@waiei)
* Hybrid scoring mode * Hybrid scoring mode + scoring fixes
* Various patches/fixes/bug reporting * Various patches/fixes/bug reporting
桜為å°é³© (@sakuraponila)
* Scoring fixes
==the beta testers== ==the beta testers==
[SSC Beta Testing Team] [SSC Beta Testing Team]
KeithD KeithD
@@ -44,21 +44,23 @@ local oitg = {
} }
local contrib = { local contrib = {
"Aldo Fregoso (Aldo_MX)", -- delays "Aldo Fregoso (Aldo_MX)", -- delays and much more. StepMania AMX creator
"cerbo", "A.C/@waiei", -- custom scoring fixes + Hybrid scoring
"cerbo", -- lua bindings and other fun stuff
"cesarmades", -- pump/cmd* noteskins "cesarmades", -- pump/cmd* noteskins
"Chris Eldridge (kurisu)", -- dance-threepanel "Chris Eldridge (kurisu)", -- dance-threepanel stepstype support
"Christophe Goulet-LeBlanc (Kommisar)", -- songs "Christophe Goulet-LeBlanc (Kommisar)", -- songs
"corec", -- various fixes "corec", -- various fixes
"galopin", -- piu PlayStation2 usb mat support "galopin", -- piu PlayStation2 usb mat support
"gholms", -- automake 1.11 support "gholms", -- automake 1.11 support
"juanelote", -- SongManager:GetSongGroupByIndex, JumpToNext/PrevGroup logic mods "juanelote", -- SongManager:GetSongGroupByIndex, JumpToNext/PrevGroup logic mods
"Kaox", -- pump/default noteskin "Kaox", -- pump/default noteskin
"Petriform", -- Music
"NitroX72", -- pump/frame noteskin "NitroX72", -- pump/frame noteskin
"Petriform", -- default theme music
"桜為小鳩/@sakuraponila", -- custom scoring fixes
"Samuel Kim (1a2a3a2a1a)", -- various beat mode fixes
"sy567", -- beginner helper fix "sy567", -- beginner helper fix
"v1toko", -- x-mode from StepNXA "v1toko", -- x-mode from StepNXA
"waiei", -- custom scoring fixes + Hybrid scoring
} }
local translators = { local translators = {
@@ -72,6 +74,7 @@ local thanks = {
"Dreamwoods", "Dreamwoods",
"Jason Bolt (LightningXCE)", "Jason Bolt (LightningXCE)",
"Jousway", -- Noteskins "Jousway", -- Noteskins
"Luizsan", -- creator of Delta theme
"Matt1360", -- Automake magic + oitg bro "Matt1360", -- Automake magic + oitg bro
"Renard", "Renard",
"Ryan McKanna (Plaguefox)", "Ryan McKanna (Plaguefox)",
@@ -80,13 +83,13 @@ local thanks = {
local shoutout = { local shoutout = {
"The Lua team", -- lua project lead or some shit. super nerdy but oh hell. "The Lua team", -- lua project lead or some shit. super nerdy but oh hell.
"Mojang AB", -- minecraft forever -freem "Mojang AB", -- minecraft forever -freem
"Wolfire Games", -- piles of inspiration
"NAKET Coder", "NAKET Coder",
"Ciera Boyd", -- you bet your ass I'm putting my girlfriend in the credits "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 --Image(), -- we should have some logos probably to look super pro
"#KBO", "#KBO",
"Celestia Radio", -- LOVE AND TOLERANCE "Celestia Radio", -- LOVE AND TOLERANCE
"You showed us... your ultimate dance", "You showed us... your ultimate dance",
-- "Can't stop crying... buckets of tears!"
} }
local copyright = { local copyright = {
@@ -146,7 +149,6 @@ creditScroller.BeginCommand=function(self)
SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) ); SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) );
end; end;
return Def.ActorFrame{ return Def.ActorFrame{
creditScroller..{ creditScroller..{
InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64), InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64),
+139 -101
View File
@@ -11,7 +11,14 @@ function GetTotalItems(radars)
local total = radars:GetValue('RadarCategory_TapsAndHolds') local total = radars:GetValue('RadarCategory_TapsAndHolds')
total = total + radars:GetValue('RadarCategory_Holds') total = total + radars:GetValue('RadarCategory_Holds')
total = total + radars:GetValue('RadarCategory_Rolls') 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 return total
end; end;
@@ -49,8 +56,8 @@ r['DDR 1stMIX'] = function(params, pss)
local localScore = bScore * multLookup[params.TapNoteScore]; local localScore = bScore * multLookup[params.TapNoteScore];
pss:SetCurMaxScore(clamp(pss:GetCurMaxScore()+(bestScore),0,capScore)); pss:SetCurMaxScore(clamp(pss:GetCurMaxScore()+(bestScore),0,capScore));
pss:SetScore(clamp(pss:GetScore()+(localScore),0,capScore)); pss:SetScore(clamp(pss:GetScore()+(localScore),0,capScore));
end; end;
----------------------------------------------------------- -----------------------------------------------------------
--DDR 4th Mix/Extra Mix/Konamix/GB3/DDRPC Scoring --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; local localCombo = localPoints and comboBonusForThisStep or 0;
pss:SetScore(clamp(pss:GetScore()+localPoints+localCombo,0,capScore)); pss:SetScore(clamp(pss:GetScore()+localPoints+localCombo,0,capScore));
end; end;
----------------------------------------------------------- -----------------------------------------------------------
--DDR MAX2/Extreme Scoring --DDR MAX2/Extreme(-esque) Scoring by @sakuraponila
----------------------------------------------------------- -----------------------------------------------------------
local ext_Steps = {0,0};
r['DDR Extreme'] = function(params, pss) r['DDR Extreme'] = function(params, pss)
local judgmentBase = { local multLookup =
{
['TapNoteScore_W1'] = 10, ['TapNoteScore_W1'] = 10,
['TapNoteScore_W2'] = 9, ['TapNoteScore_W2'] = 9,
['TapNoteScore_W3'] = 5 ['TapNoteScore_W3'] = 5
}; };
setmetatable(judgmentBase, ZeroIfNotFound); setmetatable(multLookup, ZeroIfNotFound);
local steps = GAMESTATE:GetCurrentSteps(params.Player); 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(); local meter = steps:GetMeter();
if (steps:IsAnEdit()) then if (steps:IsAnEdit()) then
meter = 5; meter = 5;
@@ -92,39 +105,62 @@ r['DDR Extreme'] = function(params, pss)
elseif (meter > 10) then elseif (meter > 10) then
meter = 10; meter = 10;
end; end;
local baseScore = meter * 1000000; -- [en] score for one step
-- [ja] 1ステップあたりのスコア
local baseScore = meter * 1000000
if (GAMESTATE:GetCurrentSong():IsMarathon()) then if (GAMESTATE:GetCurrentSong():IsMarathon()) then
baseScore = baseScore * 3; baseScore = baseScore * 3;
elseif (GAMESTATE:GetCurrentSong():IsLong()) then elseif (GAMESTATE:GetCurrentSong():IsLong()) then
baseScore = baseScore * 2; baseScore = baseScore * 2;
end; end;
local totalItems = GetTotalItems(radarValues); local sOne = math.floor(baseScore / sTotal);
local singleStep = (1 + totalItems) * totalItems / 2; -- [en] measures for 5 points of units
if (not Shared.CurrentStep) then -- [ja] 5点単位のための処置
Shared.CurrentStep = {}; sOne = sOne - sOne % 5;
Shared.CurrentStep["P1"] = 0; -- [en] because fractions are added by the last step, get value
Shared.CurrentStep["P2"] = 0; -- [ja] 端数は最後の1ステップで加算するのでその値を取得
end; local sLast = baseScore - (sOne * sTotal);
local pn = PlayerNumberToString(params.Player);
Shared.CurrentStep[pn] = Shared.CurrentStep[pn] + 1; local p;
local stepValue = math.floor(baseScore /singleStep); if params.Player == 'PlayerNumber_P1' then
local stepLast = stepValue * Shared.CurrentStep[pn]; p = 1;
pss:SetCurMaxScore(pss:GetCurMaxScore() +
(stepLast * judgmentBase['TapNoteScore_W1']));
local judgeScore = 0;
if (params.HoldNoteScore == 'HoldNoteScore_Held') then
judgeScore = judgmentBase['TapNoteScore_W1'];
else else
judgeScore = judgmentBase[params.TapNoteScore]; p = 2;
if (IsW1Allowed(params.TapNoteScore)) then end;
judgeScore = judgmentBase['TapNoteScore_W1']; -- [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;
end; end;
local stepScore = judgeScore * stepLast; -- [en] measures for 5 points of units
pss:SetScore(pss:GetScore() + stepScore); -- [ja] ここでも5点単位のための処置
if (Shared.CurrentStep[pn] >= totalItems) then -- Just in case. vScore = vScore - vScore % 5
-- TODO: Implement the bonus for the last step? pss:SetScore(pss:GetScore() + vScore);
Shared.CurrentStep[pn] = 0; -- Reset for the next song. -- 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;
end; end;
@@ -141,8 +177,7 @@ r['HYBRID'] = function(params, pss)
}; };
setmetatable(multLookup, ZeroIfNotFound); setmetatable(multLookup, ZeroIfNotFound);
local radarValues = GetDirectRadar(params.Player); local radarValues = GetDirectRadar(params.Player);
-- [ja] GetTotalItems(radarValues) に Liftも含まれているので 引いておく local totalItems = GetTotalItems(radarValues);
local totalItems = GetTotalItems(radarValues) - radarValues:GetValue('RadarCategory_Lifts');
-- 1+2+3+...+totalItems value/の値 -- 1+2+3+...+totalItems value/の値
local sTotal = (totalItems+1)*totalItems/2; local sTotal = (totalItems+1)*totalItems/2;
-- [en] Score for one song -- [en] Score for one song
@@ -151,9 +186,13 @@ r['HYBRID'] = function(params, pss)
-- [ja] 端数は最後の1ステップで加算するのでその値を取得 -- [ja] 端数は最後の1ステップで加算するのでその値を取得
local sLast = 100000000-(sOne*sTotal); 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の時に初期化 -- [ja] スコアが0の時に初期化
if pss:GetScore()==0 then if pss:GetScore()==0 then
hyb_Steps[p]=0; hyb_Steps[p]=0;
@@ -184,26 +223,81 @@ r['HYBRID'] = function(params, pss)
end; 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_Sub={0,0};
local sn2tmp_Score={0,0}; local sn2tmp_Score={0,0};
local sn2tmp_Steps={0,0}; local sn2tmp_Steps={0,0};
r['DDR SuperNOVA'] = function(params, pss) r['DDR SuperNOVA 2'] = function(params, pss)
local multLookup = local multLookup =
{ {
['TapNoteScore_W1'] = 1, ['TapNoteScore_W1'] = 10,
['TapNoteScore_W2'] = 1, ['TapNoteScore_W2'] = 10,
['TapNoteScore_W3'] = 0.5 ['TapNoteScore_W3'] = 5
}; };
setmetatable(multLookup, ZeroIfNotFound); setmetatable(multLookup, ZeroIfNotFound);
local radarValues = GetDirectRadar(params.Player); local radarValues = GetDirectRadar(params.Player);
local totalItems = GetTotalItems(radarValues); 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の時に初期化 -- [ja] スコアが0の時に初期化
if pss:GetScore()==0 then if pss:GetScore()==0 then
sn2tmp_Sub[p]=0; sn2tmp_Sub[p]=0;
@@ -213,7 +307,6 @@ r['DDR SuperNOVA'] = function(params, pss)
-- [ja] maxAdd は 加算する最高点を 10 とした時の値(つまり、10=100% / 5=50% -- [ja] maxAdd は 加算する最高点を 10 とした時の値(つまり、10=100% / 5=50%
local maxAdd = 0; local maxAdd = 0;
-- [ja] O.K.判定時は問答無用で満点 -- [ja] O.K.判定時は問答無用で満点
if params.HoldNoteScore == 'HoldNoteScore_Held' then if params.HoldNoteScore == 'HoldNoteScore_Held' then
maxAdd = 10; maxAdd = 10;
@@ -229,7 +322,7 @@ r['DDR SuperNOVA'] = function(params, pss)
sn2tmp_Sub[p]=sn2tmp_Sub[p]+1; sn2tmp_Sub[p]=sn2tmp_Sub[p]+1;
end; end;
end end
end end;
sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd; sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd;
-- [ja] 踏み踏みしたステップ数 -- [ja] 踏み踏みしたステップ数
sn2tmp_Steps[p]=sn2tmp_Steps[p]+1; sn2tmp_Steps[p]=sn2tmp_Steps[p]+1;
@@ -239,62 +332,7 @@ r['DDR SuperNOVA'] = function(params, pss)
-- [ja] 計算して代入 -- [ja] 計算して代入
pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) ); pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) );
end; 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) --Radar Master (disabled; todo: get this working with StepMania 5)
----------------------------------------------------------- -----------------------------------------------------------
@@ -44,10 +44,11 @@ local oitg = {
} }
local contrib = { local contrib = {
"Aldo Fregoso (Aldo_MX)", -- delays "Aldo Fregoso (Aldo_MX)", -- delays and much more. StepMania AMX creator
"cerbo", "A.C (@waiei)", -- custom scoring fixes + Hybrid scoring
"cerbo", -- lua bindings and other fun stuff
"cesarmades", -- pump/cmd* noteskins "cesarmades", -- pump/cmd* noteskins
"Chris Eldridge (kurisu)", -- dance-threepanel "Chris Eldridge (kurisu)", -- dance-threepanel stepstype support
"Christophe Goulet-LeBlanc (Kommisar)", -- songs "Christophe Goulet-LeBlanc (Kommisar)", -- songs
"corec", -- various fixes "corec", -- various fixes
"galopin", -- piu PlayStation2 usb mat support "galopin", -- piu PlayStation2 usb mat support
@@ -55,10 +56,11 @@ local contrib = {
"juanelote", -- SongManager:GetSongGroupByIndex, JumpToNext/PrevGroup logic mods "juanelote", -- SongManager:GetSongGroupByIndex, JumpToNext/PrevGroup logic mods
"Kaox", -- pump/default noteskin "Kaox", -- pump/default noteskin
"NitroX72", -- pump/frame 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 "sy567", -- beginner helper fix
"v1toko", -- x-mode from StepNXA "v1toko", -- x-mode from StepNXA
"waiei", -- custom scoring fixes + Hybrid scoring
} }
local translators = { local translators = {
@@ -72,6 +74,7 @@ local thanks = {
"Dreamwoods", "Dreamwoods",
"Jason Bolt (LightningXCE)", "Jason Bolt (LightningXCE)",
"Jousway", -- Noteskins "Jousway", -- Noteskins
"Luizsan", -- creator of Delta theme
"Matt1360", -- Automake magic + oitg bro "Matt1360", -- Automake magic + oitg bro
"Renard", "Renard",
"Ryan McKanna (Plaguefox)", "Ryan McKanna (Plaguefox)",
@@ -87,7 +90,6 @@ local shoutout = {
"#KBO", "#KBO",
"Celestia Radio", -- LOVE AND TOLERANCE "Celestia Radio", -- LOVE AND TOLERANCE
"You showed us... your ultimate dance", "You showed us... your ultimate dance",
-- "Can't stop crying... buckets of tears!"
} }
local copyright = { local copyright = {
@@ -147,7 +149,6 @@ creditScroller.BeginCommand=function(self)
SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) ); SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) );
end; end;
return Def.ActorFrame{ return Def.ActorFrame{
creditScroller..{ creditScroller..{
InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64), InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-64),