refactor(1)
[carveJwlIkooP6JGAAIwe30JlM.git] / save.c
diff --git a/save.c b/save.c
index 2c5e8fd3b8b1302a4db0fe4315290b2bf1d04dc7..ad1b35e0414186b650596a4a094aed3e3b76c67b 100644 (file)
--- a/save.c
+++ b/save.c
@@ -1,13 +1,16 @@
 #ifndef SAVE_C
 #define SAVE_C
 
+#include "save.h"
+#include "vg/vg_msg.h"
+
 struct {
    u8  buf[1024];
    u32 len;
 }
 static savedata;
 
-static void skaterift_write_savedata_thread(void *){
+static void skaterift_write_savedata_thread(void *_){
    FILE *fp = fopen( "save.bkv", "wb" );
    if( fp ){
       fwrite( savedata.buf, savedata.len, 1, fp );
@@ -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 );
       }
    }