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){
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
* -----------------------------------------------------------------------------
* ----------------------
*/
+ 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 --;
}
}
- 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 );
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;
* ----------------------------------------------------------------- */
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;