fix some problems with world loader
authorhgn <hgodden00@gmail.com>
Sat, 25 Nov 2023 05:26:21 +0000 (05:26 +0000)
committerhgn <hgodden00@gmail.com>
Sat, 25 Nov 2023 05:26:21 +0000 (05:26 +0000)
check_savedata.sh
ent_skateshop.c

index 84d551a799d01a906171f1fee4162fd5eef74269..83e87ded317472d3b1e06b66adcf6690e52db3af 100755 (executable)
@@ -1 +1 @@
-vg/bin/msgdump bin/skaterift-clang/savedata/sr002-local-dev_hub.bkv bin/skaterift-clang/savedata/sr002-local-mp_mtzero.bkv bin/skaterift-clang/savedata/sr002-local-mp_spawn.bkv bin/skaterift-clang/savedata/sr002-steam-2986666679.bkv bin/skaterift-clang/savedata/sr002-steam-2987160007.bkv bin/skaterift-clang/savedata/sr002-steam-3006909988.bkv bin/skaterift-clang/savedata/sr002-steam-3015566387.bkv bin/skaterift-clang/savedata/sr002-steam-3017733355.bkv bin/skaterift-clang/savedata/sr002-steam-3081422037.bkv bin/skaterift-clang/save.bkv
+vg/bin/msgdump bin/skaterift-clang/save.bkv bin/skaterift-clang/savedata/sr002-local-dev_gridmap.bkv bin/skaterift-clang/savedata/sr002-local-dev_hub.bkv bin/skaterift-clang/savedata/sr002-local-mp_mtzero.bkv bin/skaterift-clang/savedata/sr002-local-mp_spawn.bkv bin/skaterift-clang/savedata/sr002-steam-2986666679.bkv bin/skaterift-clang/savedata/sr002-steam-2987160007.bkv bin/skaterift-clang/savedata/sr002-steam-3006909988.bkv bin/skaterift-clang/savedata/sr002-steam-3015566387.bkv bin/skaterift-clang/savedata/sr002-steam-3017733355.bkv bin/skaterift-clang/savedata/sr002-steam-3081422037.bkv
index 72bd8fa545f5954cc103bb8c7a5a1c00ae19168e..76ac914eb8c2b8ddf81be2bba1f7e80934e3d669 100644 (file)
@@ -629,21 +629,32 @@ static void skateshop_render_worldshop( ent_skateshop *shop ){
 
       addon_reg *reg = get_addon_from_index( k_addon_type_world,
             global_skateshop.selected_world_id, ADDON_REG_HIDDEN );
-      vg_msg msg;
-      vg_msg_init( &msg, reg->metadata, reg->metadata_len );
 
-      global_skateshop.render.world_loc = vg_msg_getkvstr( &msg, "location" );
-      global_skateshop.render.world_reg = global_skateshop.selected_world_id;
+      if( !reg ) 
+         goto none;
 
-      if( vg_msg_seekframe( &msg, "workshop" ) ){
-         global_skateshop.render.world_title = vg_msg_getkvstr( &msg, "title");
-         vg_msg_skip_frame( &msg );
+      if( reg->alias.workshop_id ){
+         vg_msg msg;
+         vg_msg_init( &msg, reg->metadata, reg->metadata_len );
+
+         global_skateshop.render.world_loc = vg_msg_getkvstr(&msg,"location");
+         global_skateshop.render.world_reg = global_skateshop.selected_world_id;
+
+         if( vg_msg_seekframe( &msg, "workshop" ) ){
+            global_skateshop.render.world_title = vg_msg_getkvstr(&msg,"title");
+            vg_msg_skip_frame( &msg );
+         }
+         else {
+            vg_warn( "No workshop body\n" );
+         }
       }
       else {
-         vg_warn( "No workshop body\n" );
+         global_skateshop.render.world_title = reg->alias.foldername;
       }
    }
 
+none:;
+
    /* Text */
    char buftext[128], bufsubtext[128];
    vg_str info, subtext;