X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=inline;f=ent_skateshop.c;h=08d32e82e265cccb351394a7fdb72050b4ca8d46;hb=bae39f2ca5100c49fdc23b91c2f2e10a181bba5c;hp=47d8de29333b9a6b4971f4ad3574ef2f5e45f8a3;hpb=92ba950580dd4877935e90682cd4f66fead8fed2;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_skateshop.c b/ent_skateshop.c index 47d8de2..08d32e8 100644 --- a/ent_skateshop.c +++ b/ent_skateshop.c @@ -232,13 +232,17 @@ VG_STATIC void skateshop_op_world_scan(void){ vg_loader_start( world_scan_thread, NULL ); } +VG_STATIC void board_processview_thread( void *_args ){ + workshop_visibile_load_loop(); + skaterift_end_op(); +} + VG_STATIC void board_scan_thread( void *_args ){ addon_mount_content_folder( k_workshop_file_type_board, "boards", ".mdl" ); addon_mount_workshop_items(); vg_async_call( async_addon_reg_update, NULL, 0 ); vg_async_stall(); - workshop_visibile_load_loop(); - skaterift_end_op(); + board_processview_thread(NULL); } VG_STATIC void skateshop_op_board_scan(void){ @@ -246,6 +250,11 @@ VG_STATIC void skateshop_op_board_scan(void){ vg_loader_start( board_scan_thread, NULL ); } +VG_STATIC void skateshop_op_processview(void){ + skaterift_begin_op( k_async_op_board_scan ); + vg_loader_start( board_processview_thread, NULL ); +} + /* * Regular stuff * ----------------------------------------------------------------------------- @@ -438,6 +447,8 @@ VG_STATIC void global_skateshop_preupdate(void) * ---------------------- */ + u32 opage = global_skateshop.selected_board_id/SKATESHOP_VIEW_SLOT_MAX; + if( button_down( k_srbind_mleft ) ){ if( global_skateshop.selected_board_id > 0 ){ global_skateshop.selected_board_id --; @@ -452,7 +463,13 @@ VG_STATIC void global_skateshop_preupdate(void) } } - if( selected_cache && button_down( k_srbind_maccept ) ){ + u32 npage = global_skateshop.selected_board_id/SKATESHOP_VIEW_SLOT_MAX; + + if( opage != npage ){ + skateshop_update_viewpage(); + skateshop_op_processview(); + } + else if( selected_cache && button_down( k_srbind_maccept ) ){ vg_info( "chose board from skateshop (%u)\n", global_skateshop.selected_board_id ); @@ -702,6 +719,9 @@ fade_out:; if( vg_msg_seekframe( &workshop, "workshop", 0 ) ){ const char *title = vg_msg_seekkvstr( &workshop, "title", 0 ); if( title ) global_skateshop.render.item_title = title; + + const char *dsc = vg_msg_seekkvstr( &workshop, "author", 0 ); + if( dsc ) global_skateshop.render.item_desc = dsc; } global_skateshop.render.reg_id = global_skateshop.selected_board_id; @@ -726,7 +746,8 @@ fade_out:; * ----------------------------------------------------------------- */ scale *= 0.4f; m3x3_setdiagonalv3( mlocal, (v3f){ scale, scale, thickness } ); - mlocal[3][0] = -font3d_string_width( &gui.font, 0, "JA" ); + mlocal[3][0] = -font3d_string_width( &gui.font, 0, + global_skateshop.render.item_desc ); mlocal[3][0] *= scale*0.5f; mlocal[3][1] = 0.0f; mlocal[3][2] = 0.0f;