Skip to content

Commit e103a9a

Browse files
nico-abramMinaciousGrace
authored andcommitted
Fix a couple lua interface things with CCoff and judgement msgcommand (etternagame#109)
* Fix a couple lua interface things with CCoff * Remove redundant CountNotesSeparetely checks
1 parent e207279 commit e103a9a

File tree

1 file changed

+37
-15
lines changed

1 file changed

+37
-15
lines changed

src/Player.cpp

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2287,7 +2287,7 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds )
22872287
tn.result.tns = TNS_Miss;
22882288
if ( GAMESTATE->CountNotesSeparately() )
22892289
{
2290-
SetJudgment(iter.Row(), m_NoteData.GetFirstTrackWithTapOrHoldHead(iter.Row()), tn);
2290+
SetJudgment(iter.Row(), iter.Track(), tn);
22912291
HandleTapRowScore(iter.Row());
22922292
}
22932293
}
@@ -2332,7 +2332,7 @@ void Player::UpdateJudgedRows(float fDeltaTime)
23322332
if(lastTN.result.tns < TNS_Miss )
23332333
continue;
23342334

2335-
SetJudgment( iRow, m_NoteData.GetFirstTrackWithTapOrHoldHead(iRow), lastTN );
2335+
SetJudgment( iRow, m_NoteData.GetFirstTrackWithTapOrHoldHead(iter.Row()), lastTN );
23362336
HandleTapRowScore(iRow);
23372337
}
23382338
}
@@ -2962,23 +2962,45 @@ void Player::SetJudgment( int iRow, int iTrack, const TapNote &tn, TapNoteScore
29622962
Lua* L= LUA->Get();
29632963
lua_createtable( L, 0, m_NoteData.GetNumTracks() ); // TapNotes this row
29642964
lua_createtable( L, 0, m_NoteData.GetNumTracks() ); // HoldHeads of tracks held at this row.
2965-
2966-
for( int iTrack = 0; iTrack < m_NoteData.GetNumTracks(); ++iTrack )
2967-
{
2968-
NoteData::iterator tn = m_NoteData.FindTapNote(iTrack, iRow);
2969-
if( tn != m_NoteData.end(iTrack) )
2965+
if (GAMESTATE->CountNotesSeparately()) {
2966+
for (int jTrack = 0; jTrack < m_NoteData.GetNumTracks(); ++jTrack)
29702967
{
2971-
tn->second.PushSelf(L);
2972-
lua_rawseti(L, -3, iTrack + 1);
2968+
NoteData::iterator tn = m_NoteData.FindTapNote(jTrack, iRow);
2969+
if (tn != m_NoteData.end(jTrack) && jTrack == iTrack )
2970+
{
2971+
tn->second.PushSelf(L);
2972+
lua_rawseti(L, -3, jTrack + 1);
2973+
}
2974+
else
2975+
{
2976+
int iHeadRow;
2977+
if (m_NoteData.IsHoldNoteAtRow(jTrack, iRow, &iHeadRow))
2978+
{
2979+
NoteData::iterator hold = m_NoteData.FindTapNote(jTrack, iHeadRow);
2980+
hold->second.PushSelf(L);
2981+
lua_rawseti(L, -2, jTrack + 1);
2982+
}
2983+
}
29732984
}
2974-
else
2985+
}
2986+
else {
2987+
for (int jTrack = 0; jTrack < m_NoteData.GetNumTracks(); ++jTrack)
29752988
{
2976-
int iHeadRow;
2977-
if( m_NoteData.IsHoldNoteAtRow( iTrack, iRow, &iHeadRow ) )
2989+
NoteData::iterator tn = m_NoteData.FindTapNote(jTrack, iRow);
2990+
if (tn != m_NoteData.end(jTrack))
2991+
{
2992+
tn->second.PushSelf(L);
2993+
lua_rawseti(L, -3, jTrack + 1);
2994+
}
2995+
else
29782996
{
2979-
NoteData::iterator hold = m_NoteData.FindTapNote(iTrack, iHeadRow);
2980-
hold->second.PushSelf(L);
2981-
lua_rawseti(L, -2, iTrack + 1);
2997+
int iHeadRow;
2998+
if (m_NoteData.IsHoldNoteAtRow(jTrack, iRow, &iHeadRow))
2999+
{
3000+
NoteData::iterator hold = m_NoteData.FindTapNote(jTrack, iHeadRow);
3001+
hold->second.PushSelf(L);
3002+
lua_rawseti(L, -2, jTrack + 1);
3003+
}
29823004
}
29833005
}
29843006
}

0 commit comments

Comments
 (0)