Skip to content

Commit

Permalink
Implementing Overlay Receptor into Expandfield
Browse files Browse the repository at this point in the history
  • Loading branch information
Jousway committed Jul 24, 2018
1 parent 936b818 commit b05c00e
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 17 deletions.
1 change: 1 addition & 0 deletions NoteSkins/common/common/Fallback Ovceptor.redir
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_blank
3 changes: 2 additions & 1 deletion src/NoteField.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -949,7 +949,8 @@ void NoteField::DrawPrimitives()
m_ColumnRenderers[c].Draw();
}

cur->m_GhostArrowRow.Draw();
cur->m_GhostArrowRow.Draw();
cur->m_ReceptorArrowRow.DrawOverlay();
}

void NoteField::DrawBoardPrimitive()
Expand Down
2 changes: 1 addition & 1 deletion src/NoteField.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef NOTE_FIELD_H
#ifndef NOTE_FIELD_H
#define NOTE_FIELD_H

#include "ActorFrame.h"
Expand Down
6 changes: 3 additions & 3 deletions src/ReceptorArrow.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "global.h"
#include "global.h"
#include "GameState.h"
#include "NoteSkinManager.h"
#include "PlayerState.h"
Expand All @@ -13,7 +13,7 @@ ReceptorArrow::ReceptorArrow()
m_bWasReverse = false;
}

void ReceptorArrow::Load( const PlayerState* pPlayerState, int iColNo )
void ReceptorArrow::Load( const PlayerState* pPlayerState, int iColNo, RString Type )
{
m_pPlayerState = pPlayerState;
m_iColNo = iColNo;
Expand All @@ -29,7 +29,7 @@ void ReceptorArrow::Load( const PlayerState* pPlayerState, int iColNo )
NOTESKIN->SetGameController( GameI[0].controller );

RString sButton = GAMESTATE->GetCurrentStyle(pn)->ColToButtonName( iColNo );
m_pReceptor.Load( NOTESKIN->LoadActor(sButton, "Receptor") );
m_pReceptor.Load( NOTESKIN->LoadActor(sButton,Type) );
this->AddChild( m_pReceptor );

bool bReverse = m_pPlayerState->m_PlayerOptions.GetCurrent().GetReversePercentForColumn(m_iColNo) > 0.5f;
Expand Down
4 changes: 2 additions & 2 deletions src/ReceptorArrow.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef RECEPTOR_ARROW_H
#ifndef RECEPTOR_ARROW_H
#define RECEPTOR_ARROW_H

#include "ActorFrame.h"
Expand All @@ -11,7 +11,7 @@ class ReceptorArrow : public ActorFrame
{
public:
ReceptorArrow();
void Load( const PlayerState* pPlayerState, int iColNo );
void Load( const PlayerState* pPlayerState, int iColNo, RString Type );

void DrawPrimitives() override;
void Update( float fDeltaTime ) override;
Expand Down
33 changes: 25 additions & 8 deletions src/ReceptorArrowRow.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "global.h"
#include "global.h"
#include "ArrowEffects.h"
#include "GameConstantsAndTypes.h"
#include "GameState.h"
Expand All @@ -24,10 +24,14 @@ void ReceptorArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOff

for( int c=0; c<pStyle->m_iColsPerPlayer; c++ )
{
m_ReceptorArrow.push_back( new ReceptorArrow );
m_ReceptorArrow[c]->SetName( "ReceptorArrow" );
m_ReceptorArrow[c]->Load( m_pPlayerState, c );
this->AddChild( m_ReceptorArrow[c] );
m_ReceptorArrow.push_back( new ReceptorArrow );
m_OverlayReceptorArrow.push_back(new ReceptorArrow);
m_ReceptorArrow[c]->SetName( "ReceptorArrow" );
m_OverlayReceptorArrow[c]->SetName("OverlayReceptor");
m_ReceptorArrow[c]->Load( m_pPlayerState, c, "Receptor" );
m_OverlayReceptorArrow[c]->Load( m_pPlayerState, c, "Ovceptor" );
this->AddChild( m_ReceptorArrow[c] );
this->AddChild( m_OverlayReceptorArrow[c] );
}
}

Expand Down Expand Up @@ -68,19 +72,22 @@ void ReceptorArrowRow::Update( float fDeltaTime )
fBaseAlpha *= (1 - m_fFadeToFailPercent);
}
CLAMP( fBaseAlpha, 0.0f, 1.0f );
m_ReceptorArrow[c]->SetBaseAlpha( fBaseAlpha );
m_ReceptorArrow[c]->SetBaseAlpha( fBaseAlpha );
m_OverlayReceptorArrow[c]->SetBaseAlpha(fBaseAlpha);

if(m_renderers != NULL)
{
// set arrow XYZ
(*m_renderers)[c].UpdateReceptorGhostStuff(m_ReceptorArrow[c]);
(*m_renderers)[c].UpdateReceptorGhostStuff(m_ReceptorArrow[c]);
(*m_renderers)[c].UpdateReceptorGhostStuff(m_OverlayReceptorArrow[c]);
}
else
{
// ScreenNameEntry uses ReceptorArrowRow but doesn't have or need
// column renderers. Just do the lazy thing and offset x. -Kyz
const Style* style= GAMESTATE->GetCurrentStyle(m_pPlayerState->m_PlayerNumber);
m_ReceptorArrow[c]->SetX(style->m_ColumnInfo[m_pPlayerState->m_PlayerNumber][c].fXOffset);
m_ReceptorArrow[c]->SetX(style->m_ColumnInfo[m_pPlayerState->m_PlayerNumber][c].fXOffset);
m_OverlayReceptorArrow[c]->SetX(style->m_ColumnInfo[m_pPlayerState->m_PlayerNumber][c].fXOffset);
}
}
}
Expand All @@ -93,6 +100,16 @@ void ReceptorArrowRow::DrawPrimitives()
const int c = pStyle->m_iColumnDrawOrder[i];
m_ReceptorArrow[c]->Draw();
}
}

void ReceptorArrowRow::DrawOverlay()
{
const Style* pStyle = GAMESTATE->GetCurrentStyle(m_pPlayerState->m_PlayerNumber);
for (unsigned i = 0; i<m_ReceptorArrow.size(); i++)
{
const int c = pStyle->m_iColumnDrawOrder[i];
m_OverlayReceptorArrow[c]->Draw();
}
}

void ReceptorArrowRow::Step( int iCol, TapNoteScore score )
Expand Down
6 changes: 4 additions & 2 deletions src/ReceptorArrowRow.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ class ReceptorArrowRow : public ActorFrame
ReceptorArrowRow();
~ReceptorArrowRow() override;
void Update( float fDeltaTime ) override;
void DrawPrimitives() override;
void DrawPrimitives() override;
void DrawOverlay();

void Load( const PlayerState* pPlayerState, float fYReverseOffset );
void SetColumnRenderers(vector<NoteColumnRenderer>& renderers);
Expand All @@ -31,7 +32,8 @@ class ReceptorArrowRow : public ActorFrame
float m_fFadeToFailPercent;

vector<NoteColumnRenderer> const* m_renderers;
vector<ReceptorArrow *> m_ReceptorArrow;
vector<ReceptorArrow *> m_ReceptorArrow;
vector<ReceptorArrow *> m_OverlayReceptorArrow;
};

#endif
Expand Down

0 comments on commit b05c00e

Please sign in to comment.