#include "wave.h" WaveInfo getWaveInfo(i32 idx) { BZ_ASSERT(idx >= 0); WaveData waveData; if (idx >= NUM_WAVES) { waveData = predefWaves[NUM_WAVES - 1]; waveData.difficultyScale += (idx - NUM_WAVES) * 0.1f; } else { waveData = predefWaves[idx]; } WaveInfo info = { .data = waveData, .orcsToSend = waveData.numOrcs, .goblinsToSend = waveData.numGoblins, }; return info; } void updateWave(WaveInfo *wave, f32 dt) { wave->orcsElapsed += dt; wave->golbinsElapsed += dt; wave->elapsed += dt; } bool isWaveSendingOver(const WaveInfo *wave) { return wave->orcsToSend == 0 && wave->goblinsToSend == 0; }