Post #1 · Posted at 2016-11-16 12:18:04am 7.4 years ago
MadkaT | |
---|---|
Member | |
820 Posts | |
Not Set | |
Reg. 2009-11-24 | |
Hi frienda, like the title says, I want to define wich songs could be played in demonstration screen, but I have not found anything related in the metrics, anyone knows if this is possible or a way to do it? Thanks!.
Post #2 · Posted at 2016-11-16 12:58:15am 7.4 years ago
VR0 | |
---|---|
Member | |
969 Posts | |
Reg. 2012-03-20 | |
"ムーン ゴーシュス メヂィデーション" |
Is not posible on SM 3.9 and variants. Try it on SM 5 and variants.
Post #3 · Posted at 2016-11-16 01:51:11am 7.4 years ago
Quickman | |
---|---|
Member+ | |
6,058 Posts | |
Reg. 2013-08-17 | |
"five minute white boy challenge" |
Where did he say he was using SM3.9?
Post #4 · Posted at 2016-11-16 06:08:44am 7.4 years ago
leadbman | |
---|---|
Member | |
263 Posts | |
Reg. 2016-02-01 | |
"Working On: 5thMix BGA bgchanges" |
Last updated: 2016-11-16 06:46am
Also, Beware got it to work in 3.9 for his EXTREME simulation. I'll have a look to see if I can find how he did it there and I'll get back to you shortly.
EDIT 1:
Ok so in Beware's metrics for his EXTREME simulation, there is this:
Not sure if this will work in StepMania 5, but I'll try it right now and edit this post if it works.
EDIT 2:
I can't seem to get it to work in SM3.9 or SM5 so it seems it's something that Beware baked into his build. I'll try to see if I can work it out though.
EDIT 3:
Ok, so I've worked it out I think. In SM5 I believe the demonstration screen calls ScreenJukebox.cpp to get its songs. Check out the link here: https://github.com/stepmania/stepmania/blob/30d723d03cc3e2d9d76706bdb259db7da4bc582e/src/ScreenJukebox.cpp
In here lines 37 - 49 say:
So maybe you can either get it to change via a preferred song group or a course that's named the same as the theme name? Not sure if it'll work but again, I'll give it a shot and report back.
EDIT 4:
Tried to do the course setup and I couldn't get it to work. I've got to head out now so I don't have time to try the preferred song group. Not sure if these things are even accessed during the demonstration loop as I noticed it doesn't have at the beginning:
Also I noticed that it says in the "difficulties to show" section:
So I'm not sure if anything else in that file works with the demonstration screen. So maybe have a look through ScreenDemonstration.cpp:
https://github.com/stepmania/stepmania/blob/30d723d03cc3e2d9d76706bdb259db7da4bc582e/src/ScreenDemonstration.cpp
Sorry that I can't be any more help at this stage. I think it would be possible but you may need to script it in.
EDIT 1:
Ok so in Beware's metrics for his EXTREME simulation, there is this:
Quote
[ScreenDemonstration]
SecondsToShow=30
NextScreen=ScreenRanking
DifficultiesToShow=easy
SongsToShow=I DO I DO I DO,LA COPA DE LA VIDA,WE WILL ROCK YOU,SPEED OVER BEETHOVEN,Dance Dance Revolution,HYPER EUROBEAT,GRADUATION sorezore no ashita
SecondsToShow=30
NextScreen=ScreenRanking
DifficultiesToShow=easy
SongsToShow=I DO I DO I DO,LA COPA DE LA VIDA,WE WILL ROCK YOU,SPEED OVER BEETHOVEN,Dance Dance Revolution,HYPER EUROBEAT,GRADUATION sorezore no ashita
Not sure if this will work in StepMania 5, but I'll try it right now and edit this post if it works.
EDIT 2:
I can't seem to get it to work in SM3.9 or SM5 so it seems it's something that Beware baked into his build. I'll try to see if I can work it out though.
EDIT 3:
Ok, so I've worked it out I think. In SM5 I believe the demonstration screen calls ScreenJukebox.cpp to get its songs. Check out the link here: https://github.com/stepmania/stepmania/blob/30d723d03cc3e2d9d76706bdb259db7da4bc582e/src/ScreenJukebox.cpp
In here lines 37 - 49 say:
Quote
/* Check to see if there is a theme course. If there is a course that has
* the exact same name as the theme, then we pick a song from this course. */
Course *pCourse = SONGMAN->GetCourseFromName( THEME->GetCurThemeName() );
if( pCourse != nullptr )
for ( unsigned i = 0; i < pCourse->m_vEntries.size(); i++ )
if( pCourse->m_vEntries.IsFixedSong() )
vSongs.push_back( pCourse->m_vEntries[i].songID.ToSong() );
if ( vSongs.size() == 0 )
vSongs = SONGMAN->GetSongs( GAMESTATE->m_sPreferredSongGroup );
// Still nothing?
if( vSongs.size() == 0 )
return;
* the exact same name as the theme, then we pick a song from this course. */
Course *pCourse = SONGMAN->GetCourseFromName( THEME->GetCurThemeName() );
if( pCourse != nullptr )
for ( unsigned i = 0; i < pCourse->m_vEntries.size(); i++ )
if( pCourse->m_vEntries.IsFixedSong() )
vSongs.push_back( pCourse->m_vEntries[i].songID.ToSong() );
if ( vSongs.size() == 0 )
vSongs = SONGMAN->GetSongs( GAMESTATE->m_sPreferredSongGroup );
// Still nothing?
if( vSongs.size() == 0 )
return;
So maybe you can either get it to change via a preferred song group or a course that's named the same as the theme name? Not sure if it'll work but again, I'll give it a shot and report back.
EDIT 4:
Tried to do the course setup and I couldn't get it to work. I've got to head out now so I don't have time to try the preferred song group. Not sure if these things are even accessed during the demonstration loop as I noticed it doesn't have at the beginning:
Quote
if( m_bDemonstration ){
Also I noticed that it says in the "difficulties to show" section:
Quote
// HACK: This belongs in ScreenDemonstration.
So I'm not sure if anything else in that file works with the demonstration screen. So maybe have a look through ScreenDemonstration.cpp:
https://github.com/stepmania/stepmania/blob/30d723d03cc3e2d9d76706bdb259db7da4bc582e/src/ScreenDemonstration.cpp
Sorry that I can't be any more help at this stage. I think it would be possible but you may need to script it in.
Post #5 · Posted at 2016-12-07 06:33:05pm 7.3 years ago
Mercury | |
---|---|
Member+ | |
807 Posts | |
Reg. 2007-06-15 | |
Make a course with the same name as the current theme, with the songs you want to rotate in the attract demo. It's defined in the function ScreenJukebox:etSong().
Post #6 · Posted at 2016-12-07 11:17:33pm 7.3 years ago
MadkaT | |
---|---|
Member | |
820 Posts | |
Not Set | |
Reg. 2009-11-24 | |
Thanks it works like a charm, but this gets me into another situation, this new course could be useless in some situations, there is a way to make this course unselectable or non listed in the course selection?