-#ifndef ENT_SKATESHOP_H
-#define ENT_SKATESHOP_H
-
+#pragma once
#include "world.h"
#include "world_load.h"
#include "player.h"
#define SKATESHOP_VIEW_SLOT_MAX 5
-struct{
+struct global_skateshop
+{
v3f look_target;
-#if 0
- ent_skateshop *ptr_ent; /* TODO */
- float factive; /* TODO */
- camera cam;
-#endif
-
struct shop_view_slot{
u16 cache_id;
float view_blend;
u32 world_reg;
}
render;
-}
-static global_skateshop={.render={.reg_id=0xffffffff,.world_reg=0xffffffff}};
-VG_STATIC void ent_skateshop_preupdate( ent_skateshop *shop, int active );
-VG_STATIC void skateshop_render( ent_skateshop *shop );
+ union {
+ struct gui_helper *helper_pick, *helper_toggle;
+ };
-#endif /* ENT_SKATESHOP_H */
+ struct gui_helper *helper_browse;
+
+
+ addon_reg *reg_preview, *reg_loaded_preview;
+ GLuint tex_preview;
+}
+extern global_skateshop;
+
+void skateshop_init(void);
+void ent_skateshop_preupdate( ent_skateshop *shop, int active );
+void skateshop_render( ent_skateshop *shop );
+void skateshop_render_nonfocused( world_instance *world, vg_camera *cam );
+void skateshop_autostart_loading(void);
+void skateshop_world_preupdate( world_instance *world );
+void ent_skateshop_call( world_instance *world, ent_call *call );
+void skateshop_world_preview_preupdate(void);