Skip to content

Commit

Permalink
get setup to operate both calcs side by side for testing purposes
Browse files Browse the repository at this point in the history
  • Loading branch information
MinaciousGrace committed Jun 5, 2017
1 parent 22f2f72 commit dfb13f9
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 2 deletions.
Binary file modified extern/MinaCalc/MinaCalc.lib
Binary file not shown.
2 changes: 1 addition & 1 deletion src/MinaCalc.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,4 +159,4 @@ MINACALC_API vector<float> MinaSDCalc(const vector<NoteInfo>& NoteInfo, int numT
MINACALC_API MinaSD MinaSDCalc(const vector<NoteInfo>& NoteInfo, int numTracks, float goal, float timingscale, bool negbpms);
MINACALC_API int GetCalcVersion();
MINACALC_API string GenerateWeakValidationKey(const int* tns, const int* hns);
MINACALC_API string MinaCalc2(MinaSD& output, vector<NoteInfo>& NoteInfo, float musicrate, float goal);
MINACALC_API string MinaCalc2(MinaSD& output, vector<NoteInfo2>& NoteInfo, float musicrate, float goal);
25 changes: 25 additions & 0 deletions src/NoteData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,31 @@ const vector<NoteInfo>& NoteData::SerializeNoteData(const vector<float>& etaner)
return SerializedNoteData;
}

vector<NoteInfo2>& NoteData::SerializeNoteData2(const vector<float>& etaner) {
SerializedNoteData2.reserve(NonEmptyRowVector.size());

int tracks = GetNumTracks();
for (size_t i = 0; i < NonEmptyRowVector.size(); i++)
{
int rowNotes = 0;
for (size_t q = 0; q < tracks; q++)
{
if (GetTapNote(q, NonEmptyRowVector[i]).IsNote())
{
rowNotes |= 1 << q;
}
}

if (rowNotes != 0)
{
NoteInfo2 rowOutput{ rowNotes, static_cast<int>(etaner[i] * 10000.f)};
SerializedNoteData2.emplace_back(rowOutput);
}
}

return SerializedNoteData2;
}

void NoteData::LogNonEmptyRows() {
NonEmptyRowVector.clear();
FOREACH_NONEMPTY_ROW_ALL_TRACKS(*this, row)
Expand Down
3 changes: 3 additions & 0 deletions src/NoteData.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ class NoteData
// Mina stuf
vector<int> NonEmptyRowVector;
vector<NoteInfo> SerializedNoteData;
vector<NoteInfo2> SerializedNoteData2;

public:
void Init();
Expand All @@ -173,10 +174,12 @@ class NoteData
void LogNonEmptyRows();
void UnsetNerv() { vector<int> tmp; NonEmptyRowVector.swap(tmp); }
void UnsetSerializedNoteData() { vector<NoteInfo> tmp; SerializedNoteData.swap(tmp); }
void UnsetSerializedNoteData2() { vector<NoteInfo2> tmp; SerializedNoteData2.swap(tmp); }
const vector<int>& BuildAndGetNerv() { LogNonEmptyRows(); return NonEmptyRowVector; }
int WifeTotalScoreCalc(TimingData *td, int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW);
vector<int>& GetNonEmptyRowVector() { return NonEmptyRowVector; };
const vector<NoteInfo>& SerializeNoteData(const vector<float>& etaner);
vector<NoteInfo2>& SerializeNoteData2(const vector<float>& etaner);

int GetNumTracks() const { return m_TapNotes.size(); }
void SetNumTracks( int iNewNumTracks );
Expand Down
5 changes: 5 additions & 0 deletions src/NoteDataStructures.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,10 @@ struct NoteInfo {
float rowTime;
};

struct NoteInfo2 {
int notes;
int rowTime;
};

#endif

6 changes: 6 additions & 0 deletions src/Steps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -384,12 +384,18 @@ void Steps::CalcEtternaMetadata() {
const vector<float>& etaner = GetTimingData()->BuildAndGetEtaner(nerv);

stuffnthings = MinaSDCalc(GetNoteData().SerializeNoteData(etaner), GetNoteData().GetNumTracks(), 0.93f, 1.f, GetTimingData()->HasWarps());
vector<NoteInfo2> hoop = GetNoteData().SerializeNoteData2(etaner);

if (GetNoteData().GetNumTracks() == 4 && GetTimingData()->HasWarps() == false)
MinaCalc2(stuffnthings, hoop, 1.f, 0.93f);

ChartKey = GenerateChartKey(*m_pNoteData, GetTimingData());
for (int i = 0; i < 8; ++i)
SONGMAN->keyconversionmap.emplace(GenerateBustedChartKey(*m_pNoteData, GetTimingData(), i), ChartKey);

m_pNoteData->UnsetNerv();
m_pNoteData->UnsetSerializedNoteData();
m_pNoteData->UnsetSerializedNoteData2();
GetTimingData()->UnsetEtaner();
}

Expand Down
2 changes: 1 addition & 1 deletion src/Steps.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ class Steps
data and timingdata in conjuction. Do it during load and save it in the steps data so
that we have to do it as few times as possible.*/
const string& GetChartKey() const { return ChartKey; }
vector<float> thestuffs = { 0.f,0.f,0.f,0.f,0.f };
vector<float> thestuffs = { 0.f,0.f,0.f,0.f,0.f,0.f,0.f,0.f };
MinaSD stuffnthings = { thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs, thestuffs };
void SetChartKey(const RString &k) { ChartKey = k; }
void SetAllMSD(const MinaSD &msd) { stuffnthings = msd; }
Expand Down

0 comments on commit dfb13f9

Please sign in to comment.