From c0e4a67ba2f001179df6e2cde97370a946669c22 Mon Sep 17 00:00:00 2001 From: hgn Date: Sat, 25 Nov 2023 05:26:21 +0000 Subject: [PATCH] fix some problems with world loader --- check_savedata.sh | 2 +- ent_skateshop.c | 27 +++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/check_savedata.sh b/check_savedata.sh index 84d551a..83e87de 100755 --- a/check_savedata.sh +++ b/check_savedata.sh @@ -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 diff --git a/ent_skateshop.c b/ent_skateshop.c index 72bd8fa..76ac914 100644 --- a/ent_skateshop.c +++ b/ent_skateshop.c @@ -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; -- 2.25.1