Add oitg_zoom_mode_actor. Turn off minimaid lights when exiting.

This commit is contained in:
Kyzentun Keeslala
2016-08-29 12:43:04 -06:00
parent 45e0787a74
commit 3d98fc7a60
5 changed files with 41 additions and 3 deletions
+16 -3
View File
@@ -236,6 +236,7 @@ Player::Player( NoteData &nd, bool bVisibleParts ) : m_NoteData(nd)
m_drawing_notefield_board= false;
m_bLoaded = false;
m_inside_lua_set_life= false;
m_oitg_zoom_mode= false;
m_pPlayerState = NULL;
m_pPlayerStageStats = NULL;
@@ -922,9 +923,19 @@ void Player::Update( float fDeltaTime )
Actor::TweenState::MakeWeightedAverage( m_pActorWithComboPosition->DestTweenState(), ts1, ts2, fPercentCentered );
}
float fNoteFieldZoom = 1 - fMiniPercent*0.5f;
if( m_pNoteField )
m_pNoteField->SetZoom( fNoteFieldZoom );
float field_zoom = 1 - fMiniPercent*0.5f;
if(m_pNoteField)
{
if(m_oitg_zoom_mode)
{
m_pNoteField->SetZoomX(field_zoom);
m_pNoteField->SetZoomY(field_zoom);
}
else
{
m_pNoteField->SetZoom(field_zoom);
}
}
if( m_pActorWithJudgmentPosition != NULL )
m_pActorWithJudgmentPosition->SetZoom( m_pActorWithJudgmentPosition->GetZoom() * fJudgmentZoom );
if( m_pActorWithComboPosition != NULL )
@@ -3324,6 +3335,7 @@ public:
p->GetPlayerTimingData().PushSelf(L);
return 1;
}
GET_SET_BOOL_METHOD(oitg_zoom_mode, m_oitg_zoom_mode);
LunaPlayer()
{
@@ -3332,6 +3344,7 @@ public:
ADD_METHOD( SetActorWithJudgmentPosition );
ADD_METHOD( SetActorWithComboPosition );
ADD_METHOD( GetPlayerTimingData );
ADD_GET_SET_METHODS(oitg_zoom_mode);
}
};
+6
View File
@@ -124,6 +124,12 @@ public:
void SetSendJudgmentAndComboMessages( bool b ) { m_bSendJudgmentAndComboMessages = b; }
// OITG bug: Actor::SetZoom only sets X and Y. When mini is applied to
// the notefield with SetZoom, it does not affect the range of bumpy.
// m_oitg_zoom_mode provides compatibility with that bug. Only used in
// defective mode. -Kyz
bool m_oitg_zoom_mode;
// Lua
virtual void PushSelf( lua_State *L );
@@ -21,6 +21,10 @@ LightsDriver_LinuxMinimaid::LightsDriver_LinuxMinimaid()
LightsDriver_LinuxMinimaid::~LightsDriver_LinuxMinimaid()
{
if(_mmmagic_loaded)
{
mm_setDDRAllOff();
}
// libmmmagic is actually statically linked in, so there's no wrapper
// destruction to do. -Kyz
}
@@ -63,6 +63,7 @@ LightsDriver_Win32Minimaid::~LightsDriver_Win32Minimaid()
{
if (_mmmagic_loaded)
{
mm_setDDRAllOff();
FreeLibrary(hMMMAGICDLL);
}
}