update helpers/location to 'frosted' ui
[carveJwlIkooP6JGAAIwe30JlM.git] / world_sfd.h
index e49d8ff4f0c1a63a0e7bc7067da0fb88716871a3..e79fbbca30430fd5c190f5397b15546da1f12a48 100644 (file)
@@ -1,27 +1,37 @@
 /*
- * Copyright (C) 2021-2023 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ * Copyright (C) 2021-2024 Mt.ZERO Software, Harry Godden - All Rights Reserved
  */
-
-#ifndef SFD_H
-#define SFD_H
-
+#pragma once
 #include "world.h"
+#include "world_routes.h"
+#include "scene.h"
 
 struct world_sfd{
    GLuint tex_scoretex;
 
    glmesh mesh_base, mesh_display;
    mdl_submesh sm_base;
+
    u32 active_route_board;
    scene_context scene;
 
+   u32 view_weekly;
+
    u32 w, h;
    float *buffer;
 }
-static world_sfd;
-VG_STATIC void world_sfd_init(void);
+extern world_sfd;
+void world_sfd_init(void);
 
-VG_STATIC void sfd_render( world_instance *world, camera *cam, 
-                           m4x3f transform );
+enum world_sfd_align {
+   k_world_sfd_left,
+   k_world_sfd_right,
+   k_world_sfd_center
+};
 
-#endif /* SFD_H */
+void sfd_encode( v2i co, const char *str, enum world_sfd_align align );
+void world_sfd_update( world_instance *world, v3f pos );
+void sfd_render( world_instance *world, vg_camera *cam, m4x3f transform );
+void world_sfd_compile_scores( struct leaderboard_cache *leaderboard,
+                               const char *title );
+void world_sfd_compile_active_scores(void);