--- /dev/null
+#pragma once
+
+struct control_overlay
+{
+ mdl_context mdl;
+ GLuint tex;
+
+ mdl_submesh *m_key,
+ *m_key_down,
+ *m_shift,
+ *m_shift_down,
+ *m_space,
+ *m_space_down,
+ *m_jump_ind,
+ *m_jump_text,
+ *m_text_jump,
+ *m_text_carve,
+ *m_text_crouch,
+ *m_text_shift,
+ *m_text_grab,
+ *m_stored_ind,
+ *m_text_stored,
+ *m_text_left,
+ *m_text_right,
+ *m_text_push,
+ *m_text_manual,
+ *m_text_front_flip, *m_text_back_flip,
+ *m_text_w, *m_text_s,
+ *m_lmb, *m_lmb_down,
+ *m_rmb, *m_rmb_down,
+ *m_mouse, *m_mouse_grabs,
+ *m_text_kickflip,
+ *m_text_treflip,
+ *m_text_shuvit,
+ *m_text_walk, *m_text_walk_lwr, *m_text_forward, *m_text_back,
+ *m_text_skate, *m_text_e, *m_text_glide, *m_text_camera,
+ *m_text_run, *m_text_look, *m_text_rewind, *m_text_respawn,
+
+ *m_ls,
+ *m_ls_circ_backflip, *m_ls_circ_frontflip,
+ *m_ls_circ_manual, *m_ls_circ_skate, *m_ls_circ_walk,
+ *m_rs,
+ *m_rs_circ_look, *m_rs_circ_grab,
+
+ *m_lb, *m_lb_down, *m_carve_l,
+ *m_rb, *m_rb_down, *m_carve_r,
+ *m_lt, *m_lt_act, *m_lt_run,
+ *m_rt, *m_rt_act, *m_rt_grab, *m_rt_crouch,
+
+ *m_y, *m_y_down, *m_text_y_walk, *m_text_y_walk_lwr, *m_text_y_glide,
+ *m_text_y_skate,
+ *m_b, *m_b_down, *m_text_b_kickflip, *m_text_b_push,
+ *m_x, *m_x_down, *m_text_x_treflip,
+ *m_a, *m_a_down, *m_text_a_shuvit, *m_text_a_jump, *m_text_a_jump_mid,
+
+ *m_dpad, *m_dpad_w, *m_dpad_n, *m_dpad_e, *m_dpad_s,
+ *m_text_dw_rewind, *m_text_de_camera, *m_text_dn_respawn,
+
+ *m_met, *m_met_r, *m_met_l, *m_met_l_down, *m_met_r_down,
+ *m_text_met_menu,
+
+ *m_key_menu, *m_key_menu_down, *m_text_menu;
+ i32 enabled;
+}
+extern control_overlay;
+
+void control_overlay_render(void);
+void control_overlay_init(void);