Translate from Stepmania's note score to SMO's note score(step type).
This commit is contained in:
@@ -270,6 +270,7 @@ void NetworkSyncManager::ReportScore(int playerID, int step, int score, int comb
|
||||
m_packet.ClearPacket();
|
||||
|
||||
m_packet.Write1( NSCGSU );
|
||||
step = TranslateStepType(step);
|
||||
uint8_t ctr = (uint8_t) (playerID * 16 + step - ( TNS_HitMine - 1 ) );
|
||||
m_packet.Write1( ctr );
|
||||
|
||||
@@ -740,6 +741,37 @@ void NetworkSyncManager::SendSMOnline( )
|
||||
NetPlayerClient->SendPack( (char*)&m_packet.Data , m_packet.Position );
|
||||
}
|
||||
|
||||
SMOStepType NetworkSyncManager::TranslateStepType(int score)
|
||||
{
|
||||
/* Translate from Stepmania's constantly changing TapNoteScore to SMO's
|
||||
note scores */
|
||||
switch(score)
|
||||
{
|
||||
case TNS_HitMine:
|
||||
return SMOST_HITMINE;
|
||||
case TNS_AvoidMine:
|
||||
return SMOST_AVOIDMINE;
|
||||
case TNS_Miss:
|
||||
return SMOST_MISS;
|
||||
case TNS_W5:
|
||||
return SMOST_W5;
|
||||
case TNS_W4:
|
||||
return SMOST_W4;
|
||||
case TNS_W3:
|
||||
return SMOST_W3;
|
||||
case TNS_W2:
|
||||
return SMOST_W2;
|
||||
case TNS_W1:
|
||||
return SMOST_W1;
|
||||
case HNS_LetGo+TapNoteScore_Invalid:
|
||||
return SMOST_LETGO;
|
||||
case HNS_Held+TapNoteScore_Invalid:
|
||||
return SMOST_HELD;
|
||||
default:
|
||||
return SMOST_UNUSED;
|
||||
}
|
||||
}
|
||||
|
||||
//Packet functions
|
||||
|
||||
uint8_t PacketFunctions::Read1()
|
||||
|
||||
@@ -33,6 +33,21 @@ enum NSCommand
|
||||
NUM_NS_COMMANDS
|
||||
};
|
||||
|
||||
enum SMOStepType
|
||||
{
|
||||
SMOST_UNUSED = 0,
|
||||
SMOST_HITMINE, //1
|
||||
SMOST_AVOIDMINE, //2
|
||||
SMOST_MISS, //Miss
|
||||
SMOST_W5, //Boo
|
||||
SMOST_W4, //Good
|
||||
SMOST_W3, //Great
|
||||
SMOST_W2, //Perfect
|
||||
SMOST_W1, //Marvelous
|
||||
SMOST_LETGO, //Let Go
|
||||
SMOST_HELD //OK
|
||||
};
|
||||
|
||||
const NSCommand NSServerOffset = (NSCommand)128;
|
||||
|
||||
struct EndOfGame_PlayerData
|
||||
@@ -160,7 +175,7 @@ private:
|
||||
#if !defined(WITHOUT_NETWORKING)
|
||||
|
||||
void ProcessInput();
|
||||
|
||||
SMOStepType TranslateStepType(int score);
|
||||
void StartUp();
|
||||
|
||||
int m_playerID; //these are currently unused, but need to stay
|
||||
|
||||
@@ -589,7 +589,7 @@ void ScoreKeeperNormal::HandleHoldScore( const TapNote &tn )
|
||||
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
NSMAN->ReportScore(
|
||||
pn,
|
||||
holdScore+TNS_W1,
|
||||
holdScore+TapNoteScore_Invalid,
|
||||
m_pPlayerStageStats->m_iScore,
|
||||
m_pPlayerStageStats->m_iCurCombo,
|
||||
tn.result.fTapNoteOffset );
|
||||
|
||||
Reference in New Issue
Block a user