vg_success( "Written %s (%ub)\n", path, msg->cur );
}
+void write_generic_addon_inf( u32 type, const char *title,
+ const char *content, const char *dest ){
+ u8 descriptor_buf[ 512 ];
+ vg_msg descriptor = {0};
+ descriptor.buf = descriptor_buf;
+ descriptor.max = sizeof(descriptor_buf);
+ vg_msg_frame( &descriptor, "workshop" );
+ vg_msg_wkvstr( &descriptor, "title", title );
+ vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
+ vg_msg_wkvu32( &descriptor, "type", type );
+ vg_msg_end_frame( &descriptor );
+ vg_msg_wkvstr( &descriptor, "content", content );
+ write_msg( &descriptor, dest );
+}
+
void build_shaders(void);
void build_game( enum compiler compiler )
{
vg_build_symbolic_link( "boards_src", "boards" );
vg_build_symbolic_link( "maps_src", "maps" );
vg_build_symbolic_link( "sound_src", "sound" );
+ vg_build_symbolic_link( "playermodels_src", "playermodels" );
vg_build_syscall( "mkdir -p %s/cfg", vg_compiler.build_dir );
- u8 descriptor_buf[ 512 ];
-
- {
- vg_msg descriptor = {0};
- descriptor.buf = descriptor_buf;
- descriptor.max = sizeof(descriptor_buf);
- vg_msg_frame( &descriptor, "workshop" );
- vg_msg_wkvstr( &descriptor, "title", "Longboard" );
- vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
- vg_msg_wkvu32( &descriptor, "type", k_workshop_file_type_board );
- vg_msg_end_frame( &descriptor );
- vg_msg_wkvstr( &descriptor, "content", "board.mdl" );
- write_msg( &descriptor, "boards_src/skaterift_long/addon.inf" );
- }
-
- {
- vg_msg descriptor = {0};
- descriptor.buf = descriptor_buf;
- descriptor.max = sizeof(descriptor_buf);
- vg_msg_frame( &descriptor, "workshop" );
- vg_msg_wkvstr( &descriptor, "title", "Fractal" );
- vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
- vg_msg_wkvu32( &descriptor, "type", k_workshop_file_type_board );
- vg_msg_end_frame( &descriptor );
- vg_msg_wkvstr( &descriptor, "content", "board.mdl" );
- write_msg( &descriptor, "boards_src/skaterift_fract/addon.inf" );
- }
- {
- vg_msg descriptor = {0};
- descriptor.buf = descriptor_buf;
- descriptor.max = sizeof(descriptor_buf);
- vg_msg_frame( &descriptor, "workshop" );
- vg_msg_wkvstr( &descriptor, "title", "Striped" );
- vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
- vg_msg_wkvu32( &descriptor, "type", k_workshop_file_type_board );
- vg_msg_end_frame( &descriptor );
- vg_msg_wkvstr( &descriptor, "content", "board.mdl" );
- write_msg( &descriptor, "boards_src/skaterift_striped/addon.inf" );
- }
-
- {
- vg_msg descriptor = {0};
- descriptor.buf = descriptor_buf;
- descriptor.max = sizeof(descriptor_buf);
- vg_msg_frame( &descriptor, "workshop" );
- vg_msg_wkvstr( &descriptor, "title", "Licco" );
- vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
- vg_msg_wkvu32( &descriptor, "type", k_workshop_file_type_board);
- vg_msg_end_frame( &descriptor );
- vg_msg_wkvstr( &descriptor, "content", "board.mdl" );
- write_msg( &descriptor, "boards_src/skaterift_licco/addon.inf" );
- }
-
- {
- vg_msg descriptor = {0};
- descriptor.buf = descriptor_buf;
- descriptor.max = sizeof(descriptor_buf);
- vg_msg_frame( &descriptor, "workshop" );
- vg_msg_wkvstr( &descriptor, "title", "Hypno" );
- vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
- vg_msg_wkvu32( &descriptor, "type", k_workshop_file_type_board );
- vg_msg_end_frame( &descriptor );
- vg_msg_wkvstr( &descriptor, "content", "board.mdl" );
- write_msg( &descriptor, "boards_src/skaterift_spiral/addon.inf" );
- }
-
- {
- vg_msg descriptor = {0};
- descriptor.buf = descriptor_buf;
- descriptor.max = sizeof(descriptor_buf);
- vg_msg_frame( &descriptor, "workshop" );
- vg_msg_wkvstr( &descriptor, "title", "Shark" );
- vg_msg_wkvstr( &descriptor, "author", "Skaterift" );
- vg_msg_wkvu32( &descriptor, "type", k_workshop_file_type_board );
- vg_msg_end_frame( &descriptor );
- vg_msg_wkvstr( &descriptor, "content", "board.mdl" );
- write_msg( &descriptor, "boards_src/skaterift_shark/addon.inf" );
- }
+ write_generic_addon_inf( k_workshop_file_type_board,
+ "Longboard", "board.mdl",
+ "boards_src/skaterift_long/addon.inf");
+ write_generic_addon_inf( k_workshop_file_type_board,
+ "Fractal", "board.mdl",
+ "boards_src/skaterift_fract/addon.inf");
+ write_generic_addon_inf( k_workshop_file_type_board,
+ "Striped", "board.mdl",
+ "boards_src/skaterift_striped/addon.inf");
+ write_generic_addon_inf( k_workshop_file_type_board,
+ "Licco", "board.mdl",
+ "boards_src/skaterift_licco/addon.inf");
+ write_generic_addon_inf( k_workshop_file_type_board,
+ "Hypno", "board.mdl",
+ "boards_src/skaterift_spiral/addon.inf");
+ write_generic_addon_inf( k_workshop_file_type_board,
+ "Shark", "board.mdl",
+ "boards_src/skaterift_shark/addon.inf");
+
+ write_generic_addon_inf( k_workshop_file_type_player,
+ "De'folde", "ch_new.mdl",
+ "playermodels_src/skaterift_new/addon.inf" );
+ write_generic_addon_inf( k_workshop_file_type_player,
+ "Jordan", "ch_jordan.mdl",
+ "playermodels_src/skaterift_jordan/addon.inf" );
+ write_generic_addon_inf( k_workshop_file_type_player,
+ "Outlaw", "ch_outlaw.mdl",
+ "playermodels_src/skaterift_outlaw/addon.inf" );
vg_build();
compiled_something = 1;