ポスト #1 · 2018-01-20 03:15:01amにポスト 6.2年前
Anyone know where I can find those screen filters that look like these:
(image found on Google Search)
(image found on Google Search)
ポスト #2 · 2018-01-20 03:54:04amにポスト 6.2年前
SupremeX | |
---|---|
Member | |
1,652 ポスト | |
Not Set | |
Reg. 2010-01-25 | |
what kind of filters you are talking about?
ポスト #3 · 2018-01-20 04:02:01amにポスト 6.2年前
Zowayix | |
---|---|
Member | |
1,144 ポスト | |
Not Set | |
Reg. 2009-09-19 | |
The pattern that appears behind the lane of arrows to distinguish it from the background, like the Screen Filter mod from DDR X onward.
ポスト #4 · 2018-01-20 04:06:28amにポスト 6.2年前
ouu ok, so I have the blue one in a stepmania theme which i save it in a CD. It will take time looking for it.
ポスト #5 · 2018-01-21 04:27:19amにポスト 6.2年前
ポスト #6 · 2018-01-21 06:23:23amにポスト 6.2年前
Thanks! Now to try to integrate this into Inori's X3 theme (which I use at the moment).
EDIT: This code got me stuck (Notefield board.lua)
--Lifted from default, appears to have been written by Kyzentun
local filter_color= color("0,0,0,1")
local this_pn
local args= {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
}
return Def.ActorFrame(args)
EDIT: This code got me stuck (Notefield board.lua)
--Lifted from default, appears to have been written by Kyzentun
local filter_color= color("0,0,0,1")
local this_pn
local args= {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
}
return Def.ActorFrame(args)
ポスト #7 · 2018-01-24 04:57:37pmにポスト 6.2年前
FlameyBoy | |
---|---|
Member | |
335 ポスト | |
Reg. 2011-03-09 | |
I'm actually going to start on a version of the DDR II filters that is compatible with Inori's X3 and related themes pretty soon.
ポスト #8 · 2018-02-08 07:54:15amにポスト 6.2年前
clydedatastruct | |
---|---|
Member | |
10 ポスト | |
Not Set | |
Reg. 2017-12-24 | |
Tried to implement the filter feature myself, but it didn't work. Here are the files I changed (using Inori's X3 theme here):
Languages/en.ini:
[OptionTitles]
...
FilterWiiStyle=WII
...
Scripts/ThemePrefs.ini:
function OptionRowScreenFilter()
-- (previous code)
Choices = { THEME:GetString('OptionNames','Off'),
THEME:GetString('OptionTitles', 'FilterDark'),
THEME:GetString('OptionTitles', 'FilterDarker'),
THEME:GetString('OptionTitles', 'FilterDarkest'),
THEME:GetString('OptionTitles', 'FilterWiiStyle'),
},
-- (following code)
And tried to mess with Graphics/NoteField board.lua but did not work. Some commented codes are already tried but did not fix:
--Lifted from default, appears to have been written by Kyzentun
local filter_color= color("0,0,0,1")
local this_pn
local args= {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
}
local args2 = {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
--[[
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
]]
Def.Sprite{
Name="WiiScreenFilter",
Texture=THEME:GetCurrentThemeDirectory() .. "Graphics/Filters/4Panel_Blue.png",
InitCommand=function(self)
self:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
}
}
--if getenv("ScreenFilter"..ToEnumShortString(PlayerNumber)) < 10
return Def.ActorFrame(args)
--else
-- return Def.ActorFrame(args2)
--end
Was wondering now what did I do wrong when implementing the filter.
Languages/en.ini:
[OptionTitles]
...
FilterWiiStyle=WII
...
Scripts/ThemePrefs.ini:
function OptionRowScreenFilter()
-- (previous code)
Choices = { THEME:GetString('OptionNames','Off'),
THEME:GetString('OptionTitles', 'FilterDark'),
THEME:GetString('OptionTitles', 'FilterDarker'),
THEME:GetString('OptionTitles', 'FilterDarkest'),
THEME:GetString('OptionTitles', 'FilterWiiStyle'),
},
-- (following code)
And tried to mess with Graphics/NoteField board.lua but did not work. Some commented codes are already tried but did not fix:
--Lifted from default, appears to have been written by Kyzentun
local filter_color= color("0,0,0,1")
local this_pn
local args= {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
}
local args2 = {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
--[[
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
]]
Def.Sprite{
Name="WiiScreenFilter",
Texture=THEME:GetCurrentThemeDirectory() .. "Graphics/Filters/4Panel_Blue.png",
InitCommand=function(self)
self:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
}
}
--if getenv("ScreenFilter"..ToEnumShortString(PlayerNumber)) < 10
return Def.ActorFrame(args)
--else
-- return Def.ActorFrame(args2)
--end
Was wondering now what did I do wrong when implementing the filter.
ポスト #9 · 2018-02-08 09:38:16pmにポスト 6.2年前
FlameyBoy | |
---|---|
Member | |
335 ポスト | |
Reg. 2011-03-09 | |
Did you update ChoiceToAlpha also?
(That said, I really should get to work on a proper version of this.)
(That said, I really should get to work on a proper version of this.)
ポスト #10 · 2018-02-09 01:00:33amにポスト 6.2年前
clydedatastruct | |
---|---|
Member | |
10 ポスト | |
Not Set | |
Reg. 2017-12-24 | |
Yes.
local choiceToAlpha = {0, 3, 6, 9, 10}
local alphaToChoice = {[0]=1, [3]=2, [6]=3, [9]=4, [10]=5}
local choiceToAlpha = {0, 3, 6, 9, 10}
local alphaToChoice = {[0]=1, [3]=2, [6]=3, [9]=4, [10]=5}
ポスト #11 · 2018-02-09 01:21:14amにポスト 6.2年前
These filters have already been implemented in the old theme of the "DDR 2013" by Strider...
I leave this video where I have added them in the latest version of the theme "DDR A" by Kemp
I leave this video where I have added them in the latest version of the theme "DDR A" by Kemp
ポスト #12 · 2018-02-09 05:00:49amにポスト 6.2年前
FlameyBoy | |
---|---|
Member | |
335 ポスト | |
Reg. 2011-03-09 | |
Oh, you're doing ToEnumShortString(PlayerNumber). In that context, PlayerNumber is actually the global variable that represents the PlayerNumber enum, so ToEnumShortString won't work. The easiest thing to do would probably be to have both filters load themselves and have whichever filter is not in use hide itself or maybe just not quit hibernating when it gets the PlayerStateSetCommand.
ポスト #13 · 2018-02-09 06:22:09amにポスト 6.2年前
clydedatastruct | |
---|---|
Member | |
10 ポスト | |
Not Set | |
Reg. 2017-12-24 | |
Oh.
The other thing that stumped me is how to convert a Quad to an Actor to make this work. The arcade-style filters in Inori's theme use Quads while the DDR II-styled filters are actual images.
The other thing that stumped me is how to convert a Quad to an Actor to make this work. The arcade-style filters in Inori's theme use Quads while the DDR II-styled filters are actual images.
ポスト #14 · 2018-02-09 04:24:03pmにポスト 6.2年前
FlameyBoy | |
---|---|
Member | |
335 ポスト | |
Reg. 2011-03-09 | |
Quads are actors, the only difference between a Quad and a Sprite (well, not the only one, but the only salient one here) is that Sprites have a Texture that shows the image to display. In this case, you'd just put both the Quad and the Sprite into the same actor frame, given that your definition for the Sprite at least looks fine at first glance.
ポスト #15 · 2018-02-10 03:02:14amにポスト 6.2年前
clydedatastruct | |
---|---|
Member | |
10 ポスト | |
Not Set | |
Reg. 2017-12-24 | |
Here's my Notefield board.lua modification as of this moment.
Tried getting the alpha value directly from the args but it didn't work.
--Lifted from default, appears to have been written by Kyzentun
local filter_color= color("0,0,0,1")
local this_pn
local this_alf
local args= {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
this_alf = alf
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
}
local args2 = {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Sprite{
Name="WiiScreenFilter",
Texture=THEME:GetCurrentThemeDirectory() .. "Graphics/Filters/4Panel_Blue.png",
InitCommand=function(self)
self:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
}
}
if this_alf < 10
return Def.ActorFrame(args)
else
return Def.ActorFrame(args2)
end
Tried getting the alpha value directly from the args but it didn't work.
--Lifted from default, appears to have been written by Kyzentun
local filter_color= color("0,0,0,1")
local this_pn
local this_alf
local args= {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Quad{
InitCommand= function(self)
self:hibernate(math.huge):diffuse(filter_color)
:fadeleft(1/32)
:faderight(1/32)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local alf= getenv("ScreenFilter"..ToEnumShortString(pn)) or 0
this_alf = alf
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):diffusealpha(alf/10):hibernate(0)
end,
}
}
local args2 = {
--the danger display
Def.Quad{
InitCommand=function(self) self
:diffusealpha(0)
:diffuseshift()
:effectcolor1(color("1,0,0,0.8"))
:effectcolor2(color("1,0,0,0"))
:effectclock("music")
:fadeleft(1/32)
:faderight(1/32)
:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
this_pn= pn
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
HealthStateChangedMessageCommand= function(self, param)
if this_pn and param.PlayerNumber == this_pn then
self:linear(0.1)
:diffusealpha((param.HealthState == 'HealthState_Danger') and 1 or 0)
end
end
},
--the screen filter
Def.Sprite{
Name="WiiScreenFilter",
Texture=THEME:GetCurrentThemeDirectory() .. "Graphics/Filters/4Panel_Blue.png",
InitCommand=function(self)
self:hibernate(math.huge)
end,
PlayerStateSetCommand= function(self, param)
local pn= param.PlayerNumber
local style= GAMESTATE:GetCurrentStyle(pn)
local width= style:GetWidth(pn) + 32
self:setsize(width, _screen.h*4096):hibernate(0)
end,
}
}
if this_alf < 10
return Def.ActorFrame(args)
else
return Def.ActorFrame(args2)
end