32 lines
509 B
C++
32 lines
509 B
C++
// Settings.h
|
|
#ifndef Settings_h
|
|
#define Settings_h
|
|
|
|
#include "Mod.h"
|
|
#include <cstdint>
|
|
|
|
#define MAX_OUTPUTS 8
|
|
#define DATA_PER_OUTPUT 64
|
|
|
|
enum OutputType : uint8_t { TYPE_GATE };
|
|
|
|
struct OutputConfig {
|
|
uint8_t type;
|
|
uint8_t _padding[3];
|
|
alignas(4) uint8_t data[DATA_PER_OUTPUT];
|
|
};
|
|
|
|
struct DeviceSettings {
|
|
uint32_t magic;
|
|
uint32_t version;
|
|
OutputConfig configs[MAX_OUTPUTS];
|
|
ModSlot slots[16];
|
|
};
|
|
|
|
void save();
|
|
bool load();
|
|
void load_default();
|
|
|
|
extern DeviceSettings globalSettings;
|
|
|
|
#endif
|