tweaked behavior of screenunlock so number of unlocks = minimum of unlock vector and theme definition
This commit is contained in:
@@ -42,7 +42,11 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock")
|
|||||||
{
|
{
|
||||||
LOG->Trace("ScreenUnlock::ScreenUnlock()");
|
LOG->Trace("ScreenUnlock::ScreenUnlock()");
|
||||||
|
|
||||||
if (!PREFSMAN->m_bUseUnlockSystem)
|
int NumUnlocks = NUM_UNLOCKS;
|
||||||
|
if (GAMESTATE->m_pUnlockingSys->m_SongEntries.size() < NumUnlocks)
|
||||||
|
NumUnlocks = GAMESTATE->m_pUnlockingSys->m_SongEntries.size();
|
||||||
|
|
||||||
|
if (!PREFSMAN->m_bUseUnlockSystem || NumUnlocks == 0)
|
||||||
{
|
{
|
||||||
this->HandleScreenMessage( SM_GoToNextScreen );
|
this->HandleScreenMessage( SM_GoToNextScreen );
|
||||||
return;
|
return;
|
||||||
@@ -59,7 +63,7 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock")
|
|||||||
CString IconCommand = ICON_COMMAND;
|
CString IconCommand = ICON_COMMAND;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for(i=1; i <= NUM_UNLOCKS; i++)
|
for(i=1; i <= NumUnlocks; i++)
|
||||||
{
|
{
|
||||||
Sprite* entry = new Sprite;
|
Sprite* entry = new Sprite;
|
||||||
|
|
||||||
@@ -97,7 +101,7 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock")
|
|||||||
// scrolling text
|
// scrolling text
|
||||||
if (UNLOCK_TEXT_SCROLL != 0)
|
if (UNLOCK_TEXT_SCROLL != 0)
|
||||||
{
|
{
|
||||||
int NumberUnlocks = NUM_UNLOCKS;
|
int NumberUnlocks = NumUnlocks;
|
||||||
float ScrollingTextX = UNLOCK_TEXT_SCROLL_X;
|
float ScrollingTextX = UNLOCK_TEXT_SCROLL_X;
|
||||||
float ScrollingTextStartY = UNLOCK_TEXT_SCROLL_START_Y;
|
float ScrollingTextStartY = UNLOCK_TEXT_SCROLL_START_Y;
|
||||||
float ScrollingTextEndY = UNLOCK_TEXT_SCROLL_END_Y;
|
float ScrollingTextEndY = UNLOCK_TEXT_SCROLL_END_Y;
|
||||||
@@ -176,9 +180,9 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock")
|
|||||||
|
|
||||||
text->SetXY(ScrollingTextX, ScrollingTextStartY);
|
text->SetXY(ScrollingTextX, ScrollingTextStartY);
|
||||||
|
|
||||||
if (UNLOCK_TEXT_SCROLL == 3 && UNLOCK_TEXT_SCROLL_ROWS + i > NUM_UNLOCKS)
|
if (UNLOCK_TEXT_SCROLL == 3 && UNLOCK_TEXT_SCROLL_ROWS + i > NumUnlocks)
|
||||||
{
|
{
|
||||||
float TargetRow = -0.5f + i + UNLOCK_TEXT_SCROLL_ROWS - NUM_UNLOCKS;
|
float TargetRow = -0.5f + i + UNLOCK_TEXT_SCROLL_ROWS - NumUnlocks;
|
||||||
float StopOffPoint = ScrollingTextEndY - TargetRow / UNLOCK_TEXT_SCROLL_ROWS * (ScrollingTextEndY - ScrollingTextStartY);
|
float StopOffPoint = ScrollingTextEndY - TargetRow / UNLOCK_TEXT_SCROLL_ROWS * (ScrollingTextEndY - ScrollingTextStartY);
|
||||||
float FirstCycleTime = (UNLOCK_TEXT_SCROLL_ROWS - TargetRow) * SECS_PER_CYCLE;
|
float FirstCycleTime = (UNLOCK_TEXT_SCROLL_ROWS - TargetRow) * SECS_PER_CYCLE;
|
||||||
float SecondCycleTime = (6 + TargetRow) * SECS_PER_CYCLE - FirstCycleTime;
|
float SecondCycleTime = (6 + TargetRow) * SECS_PER_CYCLE - FirstCycleTime;
|
||||||
@@ -204,9 +208,9 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock")
|
|||||||
IconCount->SetHeight(UNLOCK_TEXT_SCROLL_ICON_SIZE);
|
IconCount->SetHeight(UNLOCK_TEXT_SCROLL_ICON_SIZE);
|
||||||
IconCount->SetWidth(UNLOCK_TEXT_SCROLL_ICON_SIZE);
|
IconCount->SetWidth(UNLOCK_TEXT_SCROLL_ICON_SIZE);
|
||||||
|
|
||||||
if (UNLOCK_TEXT_SCROLL == 3 && UNLOCK_TEXT_SCROLL_ROWS + i > NUM_UNLOCKS)
|
if (UNLOCK_TEXT_SCROLL == 3 && UNLOCK_TEXT_SCROLL_ROWS + i > NumUnlocks)
|
||||||
{
|
{
|
||||||
float TargetRow = -0.5f + i + UNLOCK_TEXT_SCROLL_ROWS - NUM_UNLOCKS;
|
float TargetRow = -0.5f + i + UNLOCK_TEXT_SCROLL_ROWS - NumUnlocks;
|
||||||
float StopOffPoint = ScrollingTextEndY - TargetRow / UNLOCK_TEXT_SCROLL_ROWS * (ScrollingTextEndY - ScrollingTextStartY);
|
float StopOffPoint = ScrollingTextEndY - TargetRow / UNLOCK_TEXT_SCROLL_ROWS * (ScrollingTextEndY - ScrollingTextStartY);
|
||||||
float FirstCycleTime = (UNLOCK_TEXT_SCROLL_ROWS - TargetRow) * SECS_PER_CYCLE;
|
float FirstCycleTime = (UNLOCK_TEXT_SCROLL_ROWS - TargetRow) * SECS_PER_CYCLE;
|
||||||
float SecondCycleTime = (6 + TargetRow) * SECS_PER_CYCLE - FirstCycleTime;
|
float SecondCycleTime = (6 + TargetRow) * SECS_PER_CYCLE - FirstCycleTime;
|
||||||
@@ -232,7 +236,7 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock")
|
|||||||
|
|
||||||
if (UNLOCK_TEXT_SCROLL == 3)
|
if (UNLOCK_TEXT_SCROLL == 3)
|
||||||
{
|
{
|
||||||
int NumberUnlocks = NUM_UNLOCKS;
|
int NumberUnlocks = NumUnlocks;
|
||||||
float ScrollingTextX = UNLOCK_TEXT_SCROLL_X;
|
float ScrollingTextX = UNLOCK_TEXT_SCROLL_X;
|
||||||
float ScrollingTextStartY = UNLOCK_TEXT_SCROLL_START_Y;
|
float ScrollingTextStartY = UNLOCK_TEXT_SCROLL_START_Y;
|
||||||
float ScrollingTextEndY = UNLOCK_TEXT_SCROLL_END_Y;
|
float ScrollingTextEndY = UNLOCK_TEXT_SCROLL_END_Y;
|
||||||
|
|||||||
Reference in New Issue
Block a user