Skip to content

Commit

Permalink
Revised build 3 before the show
Browse files Browse the repository at this point in the history
- corrected setlist
- added more CSongHeros functionality (banner + tex)
- corrected outro
  • Loading branch information
Vadim Petrov committed Nov 25, 2016
1 parent d5a0307 commit af28bfc
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 18 deletions.
8 changes: 4 additions & 4 deletions src/CController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,10 @@ void CController::nextSong(void) {
m_song = new CSongHeros(&m_camera, &m_state, m_skybox, &m_bannerShaderProgram);
break;
case 2:
m_song = new CSongRock(&m_camera, &m_state, m_skybox, &m_bannerShaderProgram);
m_song = new CSongDefinition(&m_camera, &m_state, m_skybox, &m_bannerShaderProgram);
break;
case 3:
m_song = new CSongDefinition(&m_camera, &m_state, m_skybox, &m_bannerShaderProgram);
m_song = new CSongRock(&m_camera, &m_state, m_skybox, &m_bannerShaderProgram);
break;
case 4:
m_song = new CSongSquirrel(&m_camera, &m_state, m_skybox, &m_bannerShaderProgram);
Expand Down Expand Up @@ -172,8 +172,8 @@ void CController::update(void) {

void CController::midiIn(const unsigned int status, const unsigned int note, const unsigned int velocity) {
if (m_songCtr == 0 && status == MIDI_NOTE_ON_CH10) {
if (note == MPX16_PAD16) m_state.ctrlMap[CTRL_FIN] = true;
else if (note == MPX16_PAD12) m_state.ctrlMap[CTRL_FIN] = false;
if (note == MPX16_PAD14) m_state.ctrlMap[CTRL_FIN] = true;
else if (note == MPX16_PAD10) m_state.ctrlMap[CTRL_FIN] = false;
}
if (m_state.ctrlMap[CTRL_SONG_SET]) m_song->midiIn(status, note, velocity);
else std::cerr << "No song currently set, MIDI message discarded: " << status << " " << note << " " << velocity << std::endl;
Expand Down
37 changes: 26 additions & 11 deletions src/CSongHeros.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ CSongHeros::CSongHeros(CCamera * camera, TControlState * state, CSkybox * skybox
m_colorShift(0),
m_reduceTime(0.0),
m_strobeTime(0.0),
m_bassTime(0.0) {
m_bassTime(0.0),
m_hetfTime(0.0) {

m_innerMap = new bool[HER_COUNT];
for (int i = 0; i < HER_COUNT; i++) m_innerMap[i] = false;
Expand Down Expand Up @@ -72,6 +73,7 @@ void CSongHeros::redraw(const glm::mat4 & PMatrix, const glm::mat4 & VMatrix) {
// banners
if (m_innerMap[HER_BANNER0]) m_banners[0]->draw(PMatrix, VMatrix);
if (m_innerMap[HER_BANNER1]) m_banners[1]->draw(PMatrix, VMatrix);
if (m_innerMap[HER_BANNER2]) m_banners[2]->draw(PMatrix, VMatrix);

glDisable(GL_BLEND);

Expand All @@ -81,12 +83,12 @@ void CSongHeros::redraw(const glm::mat4 & PMatrix, const glm::mat4 & VMatrix) {
glBindTexture(GL_TEXTURE_2D, m_renderedTex);
glGenerateMipmap(GL_TEXTURE_2D);

m_banners[2]->setReducePalette(m_innerMap[HER_REDUCE]);
m_banners[2]->setColorShift(m_colorShift);
if (m_innerMap[HER_BASS1]) m_banners[2]->setDeadPix(true, HER_PROB1);
else if (m_innerMap[HER_BASS2]) m_banners[2]->setDeadPix(true, HER_PROB2);
else m_banners[2]->setDeadPix(false, 0.0f);
m_banners[2]->draw(PMatrix, VMatrix);
m_banners[3]->setReducePalette(m_innerMap[HER_REDUCE]);
m_banners[3]->setColorShift(m_colorShift);
if (m_innerMap[HER_BASS1]) m_banners[3]->setDeadPix(true, HER_PROB1);
else if (m_innerMap[HER_BASS2]) m_banners[3]->setDeadPix(true, HER_PROB2);
else m_banners[3]->setDeadPix(false, 0.0f);
m_banners[3]->draw(PMatrix, VMatrix);
}
}

Expand All @@ -112,6 +114,15 @@ void CSongHeros::update(double time) {
}
else m_innerMap[HER_BANNER0] = m_innerMap[HER_BANNER1] = false;

if (m_innerMap[HER_HETFIELD]) {
if (time - m_hetfTime >= fulltime) m_hetfTime = time;

if (time - m_hetfTime < halftime) m_innerMap[HER_BANNER2] = true;
else m_innerMap[HER_BANNER2] = false;
}
else m_innerMap[HER_BANNER2] = false;


if (m_innerMap[HER_BASS1] && time - m_bassTime > 2 * BEAT_LENGTH(175)) m_innerMap[HER_BASS1] = false;
if (m_innerMap[HER_BASS2] && time - m_bassTime > 2 * BEAT_LENGTH(175)) m_innerMap[HER_BASS2] = false;

Expand Down Expand Up @@ -205,11 +216,12 @@ void CSongHeros::modelsInit(void) {
for (int i = 0; i < m_spheresN; i++) m_triggerTimes[i] = 0.0;

// banners
m_bannersN = 3;
m_bannersN = 5;
m_banners = new CBanner *[m_bannersN];
m_banners[0] = new CBanner(m_camera, m_bannerShaderProgram, TEX_HER_1);
m_banners[1] = new CBanner(m_camera, m_bannerShaderProgram, TEX_HER_2);
m_banners[2] = new CBanner(m_camera, m_bannerShaderProgram, BANNER_PARAM_MULTIPASS, m_renderedTex); // multipass
m_banners[2] = new CBanner(m_camera, m_bannerShaderProgram, TEX_HER_3);
m_banners[3] = new CBanner(m_camera, m_bannerShaderProgram, BANNER_PARAM_MULTIPASS, m_renderedTex); // multipass
}

void CSongHeros::midiIn(const unsigned int status, const unsigned int note, const unsigned int velocity) {
Expand Down Expand Up @@ -259,7 +271,9 @@ void CSongHeros::midiIn(const unsigned int status, const unsigned int note, cons
break;
case MPX16_PAD13:
break;
case MPX16_PAD14:
case MPX16_PAD14: // hetfield
m_innerMap[HER_HETFIELD] = true;
m_hetfTime = time;
break;
case MPX16_PAD15:
break;
Expand Down Expand Up @@ -301,7 +315,8 @@ void CSongHeros::midiIn(const unsigned int status, const unsigned int note, cons
break;
case MPX16_PAD13:
break;
case MPX16_PAD14:
case MPX16_PAD14: // hetfield
m_innerMap[HER_HETFIELD] = false;
break;
case MPX16_PAD15:
break;
Expand Down
2 changes: 1 addition & 1 deletion src/CSongHeros.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class CSongHeros : public CSong {
TCommonShaderProgram * m_bannerShaderProgram;

double * m_triggerTimes;
double m_reduceTime, m_strobeTime, m_bassTime;
double m_reduceTime, m_strobeTime, m_bassTime, m_hetfTime;
int m_colorShift;
float m_r;
float m_camOffset;
Expand Down
6 changes: 4 additions & 2 deletions src/data.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@
#define TEX_DEF_FMOON "res/tex/def_fmoon.jpg"
#define TEX_HER_1 "res/tex/her1.jpg"
#define TEX_HER_2 "res/tex/her2.jpg"
#define TEX_HER_3 "res/tex/her3.jpg"
#define TEX_HER_4 "res/tex/her4.jpg"

#define IMG_GEN_TEST "res/img/gen_test.png"
#define IMG_SQI_SQUIRREL1 "res/img/sqi_hairy.png"
Expand Down Expand Up @@ -158,8 +160,8 @@ enum {

/// controls in CSongHeros
enum {
HER_BANNER0, HER_BANNER1,
HER_INVERSE, HER_REDUCE, HER_STROBE,
HER_BANNER0, HER_BANNER1, HER_BANNER2,
HER_INVERSE, HER_REDUCE, HER_STROBE, HER_HETFIELD,
HER_KICK1, HER_KICK2, HER_SNR1, HER_SNR2, HER_TOM1, HER_TOM2, HER_TOM3, HER_BASS1, HER_BASS2,
HER_COUNT
};
Expand Down
Binary file added src/res/tex/her3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/res/tex/her4.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit af28bfc

Please sign in to comment.