#pragma once

#include "xonotic/dialog_settings_game_hud.qh"
#include "xonotic/dialog_settings_game_crosshair.qh"
#include "xonotic/dialog_settings_game_messages.qh"
#include "xonotic/dialog_settings_game_model.qh"
#include "xonotic/dialog_settings_game_view.qh"
#include "xonotic/dialog_settings_game_weapons.qh"
#include <common/mutators/mutator/damagetext/ui_damagetext.qh>

REGISTRY(Settings, BITS(3))
REGISTER_REGISTRY(Settings)

REGISTRY_DEFINE_GET(Settings, NULL)
#define REGISTER_SETTINGS(id, impl) \
	LAZY_NEW(id, impl) \
	REGISTER(Settings, MENU, id, m_id, NEW(Lazy, LAZY(id)))

REGISTER_SETTINGS(View,       makeXonoticGameViewSettingsTab());
REGISTER_SETTINGS(HUD,        makeXonoticGameHUDSettingsTab());
REGISTER_SETTINGS(Crosshair,  makeXonoticGameCrosshairSettingsTab());
REGISTER_SETTINGS(Weapons,    makeXonoticGameWeaponsSettingsTab());
REGISTER_SETTINGS(Models,     makeXonoticGameModelSettingsTab());
REGISTER_SETTINGS(Messages,   makeXonoticGameMessageSettingsTab());
REGISTER_SETTINGS(damagetext, makeXonoticDamageTextSettingsTab());
