#pragma once
+
+#include "image.qh"
+CLASS(XonoticPlayerModelSelector, XonoticImage)
+ METHOD(XonoticPlayerModelSelector, configureXonoticPlayerModelSelector, void(entity));
+ METHOD(XonoticPlayerModelSelector, loadModels, void(entity));
+ METHOD(XonoticPlayerModelSelector, loadCvars, void(entity));
+ METHOD(XonoticPlayerModelSelector, saveCvars, void(entity));
+ METHOD(XonoticPlayerModelSelector, draw, void(entity));
+ METHOD(XonoticPlayerModelSelector, resizeNotify, void(entity, vector, vector, vector, vector));
+ METHOD(XonoticPlayerModelSelector, showNotify, void(entity));
+ ATTRIB(XonoticPlayerModelSelector, currentModel, string);
+ ATTRIB(XonoticPlayerModelSelector, currentSkin, float, 0);
+ ATTRIB(XonoticPlayerModelSelector, currentModelImage, string);
+ ATTRIB(XonoticPlayerModelSelector, currentModelTitle, string);
+ ATTRIB(XonoticPlayerModelSelector, currentModelDescription, string);
+ METHOD(XonoticPlayerModelSelector, go, void(entity, float));
+ METHOD(XonoticPlayerModelSelector, destroy, void(entity));
+ ATTRIB(XonoticPlayerModelSelector, origin, vector, '0 0 0');
+ ATTRIB(XonoticPlayerModelSelector, size, vector, '0 0 0');
+ ATTRIB(XonoticPlayerModelSelector, realFontSize, vector, '0 0 0');
+ ATTRIB(XonoticPlayerModelSelector, fontSize, float, SKINFONTSIZE_NORMAL);
+ ATTRIB(XonoticPlayerModelSelector, titleFontSize, float, SKINFONTSIZE_TITLE);
+ ATTRIB(XonoticPlayerModelSelector, bufModels, float, -1);
+ ATTRIB(XonoticPlayerModelSelector, numModels, float, -1);
+ ATTRIB(XonoticPlayerModelSelector, idxModels, float, -1);
+ENDCLASS(XonoticPlayerModelSelector)
+entity makeXonoticPlayerModelSelector();
+void PlayerModelSelector_Next_Click(entity btn, entity me);
+void PlayerModelSelector_Prev_Click(entity btn, entity me);