40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
|
#include "classicmapcreator.h"
|
||
|
#include "classicnote.h"
|
||
|
|
||
|
ClassicMapCreator::ClassicMapCreator(const std::unique_ptr<ClassicGraphicsManager>& manager) :
|
||
|
_graphics_manager(manager)
|
||
|
{}
|
||
|
|
||
|
Beatmap ClassicMapCreator::createBeatmap(const std::string& filepath) const
|
||
|
{
|
||
|
(void) filepath;
|
||
|
|
||
|
microsec starting_beat_offset = 352162;
|
||
|
int amount_of_beats = 209;
|
||
|
microsec interval = 1412162;
|
||
|
microsec tempo_interval = interval / 2;
|
||
|
microsec note_input_offset = 412162 / 3;
|
||
|
microsec bpm_iterator = starting_beat_offset;
|
||
|
microsec bpm_end = starting_beat_offset + (interval * amount_of_beats);
|
||
|
|
||
|
std::vector<microsec> input_intervals = {note_input_offset / 3, note_input_offset / 3 * 2, note_input_offset};
|
||
|
std::vector<Note*> notes;
|
||
|
input_intervals.shrink_to_fit();
|
||
|
|
||
|
bpm_iterator += tempo_interval;
|
||
|
|
||
|
float x = 90.;
|
||
|
|
||
|
while (bpm_iterator < bpm_end)
|
||
|
{
|
||
|
notes.emplace_back(new ClassicNote(input_intervals, bpm_iterator, Type::UP, {x, 390.}, _graphics_manager));
|
||
|
bpm_iterator += tempo_interval;
|
||
|
x += 70;
|
||
|
|
||
|
if (x >= 1200)
|
||
|
x = 90.;
|
||
|
}
|
||
|
|
||
|
return {std::move(notes), note_input_offset * 12};
|
||
|
}
|