refactor(1)
[carveJwlIkooP6JGAAIwe30JlM.git] / save.c
diff --git a/save.c b/save.c
index b163cb46ed8fc903dab2ca91d83e2629246ecbd3..ad1b35e0414186b650596a4a094aed3e3b76c67b 100644 (file)
--- a/save.c
+++ b/save.c
@@ -1,6 +1,9 @@
 #ifndef SAVE_C
 #define SAVE_C
 
+#include "save.h"
+#include "vg/vg_msg.h"
+
 struct {
    u8  buf[1024];
    u32 len;
@@ -27,13 +30,17 @@ static void skaterift_write_savedata(void){
 
    vg_msg_frame( &sav, "player" );
 
+   struct addon_cache *cache = &addon_system.cache[k_workshop_file_type_board];
+
    if( localplayer.board_view_slot ){
-      struct cache_board *cache_ptr = localplayer.board_view_slot;
-      if( cache_ptr->reg_ptr ){
-         if( cache_ptr->reg_ptr->workshop_id ) 
-            vg_msg_wkvu64( &sav, "board", cache_ptr->reg_ptr->workshop_id );
+      addon_cache_entry *entry = vg_pool_item( &cache->pool, 
+                                               localplayer.board_view_slot );
+
+      if( entry->reg_ptr ){
+         if( entry->reg_ptr->workshop_id ) 
+            vg_msg_wkvu64( &sav, "board", entry->reg_ptr->workshop_id );
          else
-            vg_msg_wkvstr( &sav, "board", cache_ptr->reg_ptr->foldername );
+            vg_msg_wkvstr( &sav, "board", entry->reg_ptr->foldername );
       }
    }