(50c0271)
[carveJwlIkooP6JGAAIwe30JlM.git] / ent_skateshop.h
index 81be2e81b9f313bff755852fbdb2861e9548943e..ed03ecdb74ec3095a6c8078d09e2c80ad718afc7 100644 (file)
@@ -1,6 +1,4 @@
-#ifndef ENT_SKATESHOP_H
-#define ENT_SKATESHOP_H
-
+#pragma once
 #include "world.h"
 #include "world_load.h"
 #include "player.h"
@@ -10,7 +8,8 @@
 
 #define SKATESHOP_VIEW_SLOT_MAX    5
 
-struct{
+struct global_skateshop
+{
    v3f look_target;
 
    struct shop_view_slot{
@@ -33,11 +32,23 @@ struct{
    }
    render;
 
-   struct gui_helper *helper_pick, *helper_browse;
-}
-static global_skateshop={.render={.reg_id=0xffffffff,.world_reg=0xffffffff}};
+   union {
+      struct gui_helper *helper_pick, *helper_toggle;
+   };
 
-static void ent_skateshop_preupdate( ent_skateshop *shop, int active );
-static void skateshop_render( ent_skateshop *shop );
+   struct gui_helper *helper_browse;
 
-#endif /* ENT_SKATESHOP_H */
+
+   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 );
+entity_call_result ent_skateshop_call( world_instance *world, ent_call *call );
+void skateshop_world_preview_preupdate(void);