void LightsDriver_LinuxParallel::Set( const LightsState *ls ) { // Set LightState to port RString s; // Prepare Screen Output too for debugging s += "LinuxParallel Lights Driver Debug\n"; s += "Lights Mode: " + LightsModeToString(LIGHTSMAN->GetLightsMode()) + "\n"; // Cabinet Lights int i = 0; unsigned char output = 0; s += "Cabinet Bits: "; FOREACH_CabinetLight( cl ) { s += ls->m_bCabinetLights[cl] ? '1' : '0'; if ( ls->m_bCabinetLights[cl] ) output += (unsigned char)pow((double)2,i); i++; } s += "\n"; int iNumGameButtonsToShow = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( "Start" ); if( iNumGameButtonsToShow == GameButton_Invalid ) iNumGameButtonsToShow = INPUTMAPPER->GetInputScheme()->m_iButtonsPerController; FOREACH_ENUM( GameController, gc ) { s += ssprintf("Controller%d Bits: ",gc+1); for( int gb=0; gb<iNumGameButtonsToShow; gb++ ) s += ls->m_bGameButtonLights[gc][gb] ? '1' : '0'; s += "\n"; }
void LightsDriver_SystemMessage::Set( const LightsState *ls ) { if( !PREFSMAN->m_bDebugLights ) return; CString s; s += LightsModeToString(LIGHTSMAN->GetLightsMode()) + "\n"; s += "Cabinet: "; FOREACH_CabinetLight( cl ) { s += ls->m_bCabinetLights[cl] ? '1' : '0'; } s += "\n"; int iNumGameButtonsToShow = GAMESTATE->m_pCurGame->GetNumGameplayButtons() + GAME_BUTTON_NEXT; FOREACH_GameController( gc ) { s += ssprintf("Controller%d: ",gc+1); for( int gb= int(GAME_BUTTON_NEXT); gb<iNumGameButtonsToShow; gb++ ) { s += ls->m_bGameButtonLights[gc][gb] ? '1' : '0'; } s += "\n"; } if( SCREENMAN ) SCREENMAN->SystemMessageNoAnimate( s ); }