"content_skaterift/playermodels/skaterift_outlaw/addon.inf", 0 );
write_generic_addon_inf( k_addon_type_player,
"Chip", "ch_chip.mdl",
- "content_skaterift/playermodels/skaterift_chip/addon.inf", 0 );
+ "content_skaterift/playermodels/skaterift_chip/addon.inf", ADDON_REG_HIDDEN );
write_generic_addon_inf( k_addon_type_player,
"Aaron", "ch_aaron.mdl",
"content_skaterift/playermodels/skaterift_aaron/addon.inf", 0 );
write_generic_addon_inf( k_addon_type_player,
"JC", "ch_john.mdl",
- "content_skaterift/playermodels/skaterift_john/addon.inf", 0 );
+ "content_skaterift/playermodels/skaterift_john/addon.inf", ADDON_REG_HIDDEN );
write_generic_addon_inf( k_addon_type_player,
"Ela", "ch_ela.mdl",
"content_skaterift/playermodels/skaterift_ela/addon.inf", 0 );
"President", "ch_president.mdl",
"content_skaterift/playermodels/skaterift_president/addon.inf", ADDON_REG_HIDDEN );
-
struct
{
const char *title, *location, *file;
u32 flags = 0x00;
vg_msg_getkvintg( &msg, "flags", k_vg_msg_u32, &flags, NULL );
- reg->flags = ADDON_REG_MOUNTED | flags;
+ reg->flags |= ADDON_REG_MOUNTED | flags;
addon_complete_allocation();
return id;
}
if( msg.error == k_vg_msg_error_OK )
{
reg->metadata_len = msg.cur.co;
- reg->flags = ADDON_REG_MOUNTED;
+ reg->flags |= ADDON_REG_MOUNTED;
addon_complete_allocation();
return id;
}
}
reg->alias.type = type;
- reg->flags = ADDON_REG_MOUNTED;
+ reg->flags |= ADDON_REG_MOUNTED;
addon_complete_allocation();
}
},
[k_srbind_skate] = INPUT_BASIC( SDLK_e, SDL_CONTROLLER_BUTTON_Y ),
[k_srbind_use] = INPUT_BASIC( SDLK_e, SDL_CONTROLLER_BUTTON_X ),
-[k_srbind_reset] = INPUT_BASIC( SDLK_r, SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
+[k_srbind_reset] = INPUT_BASIC( SDLK_r, SDL_CONTROLLER_BUTTON_DPAD_UP ),
[k_srbind_camera]= INPUT_BASIC( SDLK_c, SDL_CONTROLLER_BUTTON_DPAD_RIGHT ),
[k_srbind_mleft] = INPUT_BASIC( SDLK_LEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
[k_srbind_mright]= INPUT_BASIC( SDLK_RIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT ),
static void joystick_state( enum sr_joystick joystick, v2f state )
{
- if( (skaterift.activity == k_skaterift_menu) && (vg_input.display_input_method != k_input_method_kbm) )
+ if( (skaterift.activity == k_skaterift_menu) && (vg_input.display_input_method != k_input_method_kbm) &&
+ (menu.main_index != k_menu_main_map) )
{
v2_zero( state );
return;
void menu_open( enum menu_page page )
{
+ gui_helper_reset( k_gui_helper_mode_clear );
skaterift.activity = k_skaterift_menu;
if( _cutscene.state != k_cutscene_state_none )
if( menu.main_index != main_index_before )
world_map_initialize_view();
- menu_backable_to_exit = (vg_input.display_input_method == k_input_method_kbm);
+ menu_backable_to_exit = 1;
menu.bg_blur = 0;
world_map_gui( ctx, (ui_rect){ 0, height, vg.window_x, vg.window_y - height }, mh, mv, &menu_backable_to_exit );
/* PAGE main */
if( menu.main_index == k_menu_main_main )
{
- i32 R = menu_nav( &menu.main_row, mv, 2 );
+ i32 R = menu_nav( &menu.main_row, mv, 3 );
if( menu_button( ctx, list, R == 0, 1, "Resume" ) )
{
"falling back to a hardcoded IPv4. This might be wrong.\n" );
strcpy( info->alias.host.adress, "46.101.34.155" );
- strcpy( info->alias.host.port, "27403" );
+ strcpy( info->alias.host.port, "27408" );
info->opt = k_resolve_opt_parse_numeric;
vg_async_task_dispatch( task, _network_resolve_host );
return;
#define NETWORK_LEADERBOARD_ALLTIME 0
#define NETWORK_LEADERBOARD_CURRENT_WEEK 1
#define NETWORK_LEADERBOARD_ALLTIME_AND_CURRENT_WEEK 2
-#define NETWORK_PORT 27403
+#define NETWORK_PORT 27408
#define NETWORK_PORT_STR(STR, X) STR #X
#include "addon_types.h"
void player_glide_pre_update(void)
{
- if( button_down(k_srbind_use) )
+ if( button_down(k_srbind_skate) )
{
localplayer.subsystem = k_player_subsystem_skate;
localplayer.glider_orphan = 1;
_mount_workshop_addons( NULL );
}
+ /* stalling for workshop to complete */
+ if( co_step( co, 1 ) ){}
+ if( co_step( co, 0 ) ){}
+
if( co_step( co, 1 ) )
{
/* initializing / loading world. */
if( skaterift.demo_mode )
return;
- /* hack lol */
- if( !strcmp(name,"MARC") ) skaterift.achievements |= 0x1;
- if( !strcmp(name,"ALBERT") ) skaterift.achievements |= 0x2;
- if( !strcmp(name,"JANET") ) skaterift.achievements |= 0x4;
- if( !strcmp(name,"BERNADETTA") ) skaterift.achievements |= 0x8;
-
- if( steam_ready && steam_stats_ready ){
- if( SteamAPI_ISteamUserStats_SetAchievement( hSteamUserStats, name ) ){
+ if( steam_ready && steam_stats_ready )
+ {
+ if( SteamAPI_ISteamUserStats_SetAchievement( hSteamUserStats, name ) )
vg_success( "Achievement set! '%s'\n", name );
-
- }
- else{
+ else
vg_warn( "Failed to set achievement: %s\n", name );
- }
}
- else{
+ else
vg_warn( "Failed to set achievement (steam not ready): %s\n", name );
- }
}
void steam_clear_achievement( const char *name )
steamapi_bool set = 0;
if( SteamAPI_ISteamUserStats_GetAchievement( hSteamUserStats, "MARC", &set ) )
{
- if( set ) skaterift.achievements |= 0x1;
+ if( set ) _atom_set( k_atom_list_global, "MARC", 1 );
}
if( SteamAPI_ISteamUserStats_GetAchievement( hSteamUserStats, "ALBERT", &set ) )
{
- if( set ) skaterift.achievements |= 0x2;
+ if( set ) _atom_set( k_atom_list_global, "ALBERT", 1 );
}
if( SteamAPI_ISteamUserStats_GetAchievement( hSteamUserStats, "JANET", &set ) )
{
- if( set ) skaterift.achievements |= 0x4;
+ if( set ) _atom_set( k_atom_list_global, "JANET", 1 );
}
if( SteamAPI_ISteamUserStats_GetAchievement( hSteamUserStats, "BERNADETTA", &set ) )
{
- if( set ) skaterift.achievements |= 0x8;
+ if( set ) _atom_set( k_atom_list_global, "BERNADETTA", 1 );
}
}
else
}
else if( world_map.activity >= k_map_activity_galaxy )
{
+ if( vg_input.display_input_method == k_input_method_controller )
+ *allow_back_to_exit = 0;
+
ui_rect panel = { 24, main_area[1]+24, WORKSHOP_PREVIEW_WIDTH+8, main_area[3]-(24+24) };
ui_fill( ctx, panel, ui_opacity( GUI_COL_DARK, 0.35f ) );
-
title_text = menu.clicked_world_name? menu.clicked_world_name: "...";
- subtitle_text = (menu.clicked_world_id == _world.main.addon_id)? "Current Location": NULL;
+ subtitle_text = NULL;//(menu.clicked_world_id == _world.main.addon_id)? "You're here": NULL;
ctx->font = &vgf_default_title;
upper_title[2] = ui_text_line_width(ctx,title_text) + 24;
char buf[64];
vg_str enter_helper;
vg_strnull( &enter_helper, buf, sizeof(buf) );
- vg_strcat( &enter_helper, "Enter location " );
+ vg_strcat( &enter_helper, menu.clicked_world_id == _world.main.addon_id? "Current location ": "Enter location " );
if( vg_input.display_input_method == k_input_method_controller )
- vg_input_string( &enter_helper, input_button_list[k_srbind_mhub], 1 );
+ vg_input_string( &enter_helper,
+ input_button_list[menu.clicked_world_id == _world.main.addon_id? k_srbind_mback: k_srbind_mhub], 1 );
bool enter_location = 0;
if( menu_button( ctx, enter_world_box, 0, menu.clicked_world_id?1:0, buf ) )
if( button_down( k_srbind_mhub ) )
enter_location = 1;
+ if( vg_input.display_input_method == k_input_method_controller )
+ if( button_down( k_srbind_mback ) )
+ world_map.activity = k_map_activity_local_world;
+
if( enter_location && menu.clicked_world_id )
{
if( menu.clicked_world_id != _world.main.addon_id )
{
+ menu_close();
skaterift_load_world_start( menu.clicked_world_id, 0 );
}
const char *_superworld_names[] =
{
- [k_superworld_venus_moon] = "One of Venus's moons",
+ [k_superworld_venus_moon] = "One of Saturn's moons",
[k_superworld_infinite] = "Infinite Dimension",
[k_superworld_campaign] = "Earth",
[k_superworld_steam_workshop] = "Steam Workshop Planet",
gui_helper_reset( k_gui_helper_mode_clear );
}
}
- else if( button_down( k_srbind_maccept ) )
+ else if( button_down( k_srbind_maccept ) && (_cutscene.state == k_cutscene_state_none) )
{
srinput.state = k_input_state_resume;
if( !(volume->flags & k_ent_volume_flag_repeatable) )