X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=workshop.c;h=10c482942b4f809683824b34e768267c516ca816;hb=be5e25dee2c54c2a22ca3bbb5bbe0eb6149343be;hp=a48e1a16956299fc98456d58899110983cc27fe7;hpb=b2b6872b3df95570cb66ef4d742a8a59368e3f24;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/workshop.c b/workshop.c index a48e1a1..10c4829 100644 --- a/workshop.c +++ b/workshop.c @@ -1,19 +1,19 @@ -#ifndef WORKSHOP_C -#define WORKSHOP_C -#include "workshop.h" - -#define VG_GAME -#include "vg/vg.h" +#include "vg/vg_engine.h" #include "vg/vg_tex.h" +#include "vg/vg_image.h" #include "vg/vg_msg.h" #include "vg/vg_binstr.h" +#include "vg/vg_loader.h" #include "ent_skateshop.h" #include "vg/vg_steam_auth.h" #include "vg/vg_steam_ugc.h" #include "vg/vg_steam_friends.h" #include "steam.h" +#include "workshop.h" + +struct workshop_form workshop_form; static struct ui_enum_opt workshop_form_visibility_opts[] = { { k_ERemoteStoragePublishedFileVisibilityPublic, "Public" }, @@ -322,7 +322,8 @@ static void _workshop_form_submit_thread( void *data ) vg_msg_frame( &descriptor, "workshop" ); vg_msg_wkvstr( &descriptor, "title", workshop_form.submission.title ); //vg_msg_wkvstr( &descriptor, "author", "unknown" ); - vg_msg_wkvu32( &descriptor, "type", workshop_form.submission.type ); + vg_msg_wkvnum( &descriptor, "type", k_vg_msg_u32, 1, + &workshop_form.submission.type ); vg_msg_wkvstr( &descriptor, "folder", workshop_form.addon_folder ); vg_msg_end_frame( &descriptor ); //vg_msg_wkvstr( &descriptor, "location", "USA" ); @@ -672,27 +673,32 @@ static void workshop_op_download_and_view_submission( int result_index ) workshop_form.submission.type = k_addon_type_none; workshop_form.submission.submission_type_selection = k_addon_type_none; - if( have_meta ){ + if( have_meta ) + { u32 len = strlen(metadata_str); vg_info( "Metadata: %s\n", metadata_str ); vg_str_bin( metadata_str, metadata_buf, len ); vg_msg msg; vg_msg_init( &msg, metadata_buf, len/2 ); - if( vg_msg_seekframe( &msg, "workshop" )){ - u32 type = vg_msg_getkvu32( &msg, "type", 0 ); + if( vg_msg_seekframe( &msg, "workshop" )) + { + u32 type; + vg_msg_getkvintg( &msg, "type", k_vg_msg_u32, &type, NULL ); workshop_form.submission.type = type; workshop_form.submission.submission_type_selection = type; const char *kv_folder = vg_msg_getkvstr( &msg, "folder" ); - if( kv_folder ){ + if( kv_folder ) + { vg_strncpy( kv_folder, workshop_form.addon_folder, sizeof(workshop_form.addon_folder), k_strncpy_always_add_null ); } } } - else{ + else + { vg_error( "No metadata was returned with this item.\n" ); } @@ -807,7 +813,7 @@ static void on_workshop_UGCQueryComplete( void *data, void *userdata ) /* * Console command to open the workshop publisher */ -static int workshop_submit_command( int argc, const char *argv[] ) +int workshop_submit_command( int argc, const char *argv[] ) { if( !steam_ready ){ ui_start_modal( "Steam API is not initialized\n", UI_MODAL_BAD ); @@ -843,7 +849,7 @@ static int workshop_submit_command( int argc, const char *argv[] ) return 0; } -static void workshop_init(void) +void workshop_init(void) { vg_console_reg_cmd( "workshop_submit", workshop_submit_command, NULL ); } @@ -896,7 +902,7 @@ static void workshop_render_player_preview(void){ skeleton_apply_inverses( sk, localplayer.final_mtx ); skeleton_apply_transform( sk, transform, localplayer.final_mtx ); - camera cam; + vg_camera cam; v3_copy( (v3f){ 0.0f, 201.7f, 1.2f }, cam.pos ); cam.nearz = 0.01f; @@ -904,10 +910,10 @@ static void workshop_render_player_preview(void){ cam.fov = 57.0f; v3_zero( cam.angles ); - camera_update_transform( &cam ); - camera_update_view( &cam ); - camera_update_projection( &cam ); - camera_finalize( &cam ); + vg_camera_update_transform( &cam ); + vg_camera_update_view( &cam ); + vg_camera_update_projection( &cam ); + vg_camera_finalize( &cam ); render_playermodel( &cam, world_current_instance(), 0, &workshop_form.player_model, sk, localplayer.final_mtx ); @@ -945,7 +951,7 @@ static void workshop_render_board_preview(void){ v3_add( display->transform.co, display1->transform.co, baseco ); v3_muls( baseco, 0.5f, baseco ); - camera cam; + vg_camera cam; v3f basevector; v3_sub( display->transform.co, ref->transform.co, basevector ); float dist = v3_length( basevector ); @@ -976,10 +982,10 @@ static void workshop_render_board_preview(void){ cam.farz = 100.0f; cam.fov = ref->fov; - camera_update_transform( &cam ); - camera_update_view( &cam ); - camera_update_projection( &cam ); - camera_finalize( &cam ); + vg_camera_update_transform( &cam ); + vg_camera_update_view( &cam ); + vg_camera_update_projection( &cam ); + vg_camera_finalize( &cam ); m4x3f mmdl, mmdl1; mdl_transform_m4x3( &display->transform, mmdl ); @@ -1375,7 +1381,7 @@ static void workshop_form_gui_sidebar( ui_rect sidebar ) } } -static void workshop_form_gui(void) +void workshop_form_gui(void) { enum workshop_form_page stable_page = workshop_form.page; if( stable_page == k_workshop_form_hidden ) return; @@ -1503,7 +1509,7 @@ static void workshop_form_gui(void) * ----------------------------------------------------------------------------- */ -static void async_workshop_get_filepath( void *data, u32 len ) +void async_workshop_get_filepath( void *data, u32 len ) { struct async_workshop_filepath_info *info = data; @@ -1519,7 +1525,7 @@ static void async_workshop_get_filepath( void *data, u32 len ) } } -static void async_workshop_get_installed_files( void *data, u32 len ) +void async_workshop_get_installed_files( void *data, u32 len ) { struct async_workshop_installed_files_info *info = data; @@ -1539,5 +1545,3 @@ static void async_workshop_get_installed_files( void *data, u32 len ) *info->len = j; } - -#endif /* WORKSHOP_C */