From 02007c7a2d715341bcb1d4cd02f1d2bf1839cb5d Mon Sep 17 00:00:00 2001 From: hgn Date: Thu, 6 Mar 2025 11:47:09 +0000 Subject: [PATCH] simple hub script --- content_skaterift/maps/dev_hub/main.mdl | Bin 2097240 -> 2113552 bytes src/player_walk.c | 3 + src/skaterift_script.c | 96 +++++++++++++++--------- src/skaterift_script.h | 29 +++++++ src/world_entity.c | 23 ------ 5 files changed, 94 insertions(+), 57 deletions(-) diff --git a/content_skaterift/maps/dev_hub/main.mdl b/content_skaterift/maps/dev_hub/main.mdl index 63c75ad454ca4ce2007f3b3de63f3cdcb20dd390..7bf820a4c0b944c4aa87bdb850c786cfe7c48a4c 100644 GIT binary patch delta 18701 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 OJhq;Prd~<79{m4dFIW)( delta 4207 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 diff --git a/src/player_walk.c b/src/player_walk.c index 620d195..7fc7922 100644 --- a/src/player_walk.c +++ b/src/player_walk.c @@ -523,6 +523,9 @@ static void player_walk_update_generic(void){ for( u32 i=0; ient_prop ); i ++ ) { ent_prop *prop = af_arritm( &world->ent_prop, i ); + if( prop->flags & k_prop_flag_hidden ) + continue; + if( prop->flags & k_prop_flag_collider ) { m4x3f mmdl, mmdl_inv; diff --git a/src/skaterift_script.c b/src/skaterift_script.c index c18fa9e..9ba1abe 100644 --- a/src/skaterift_script.c +++ b/src/skaterift_script.c @@ -1747,31 +1747,57 @@ static bool _skaterift_script_test( enum escript_event ev, const char *inf ) return 0; } -enum escript_script_id +static bool _skaterift_script_hub_setup( enum escript_event ev, const char *inf ) { - k_escript_script_id_test = 0, - k_escript_script_id_intro, - k_escript_script_id_ch1s2, - k_escript_script_id_ch1s3, - k_escript_script_id_ch1s3b, - k_escript_script_id_ch1s4, - k_escript_script_id_ch1s5, - k_escript_script_id_ch1s6a, - k_escript_script_id_ch2s1, - k_escript_script_id_ch2s2, - k_escript_script_id_ch2s3a, - k_escript_script_id_ch2s4, - k_escript_script_id_ch2e1, - k_escript_script_id_ch2s5, - k_escript_script_id_ch2s6, - k_escript_script_id_ch3s1, - k_escript_script_id_ch3s2, - k_escript_script_id_ch3s3, - k_escript_script_id_ch4s1a, - k_escript_script_id_ch4s1, /* NOTE: 1 and 2 are backwards in order (accident) */ - k_escript_script_id_ch4s2, k_escript_script_id_ch4s3, - k_escript_script_id_max -}; + if( ev == k_escript_event_call ) + { + world_instance *world = &_world.main; + + bool unlock_mtzero = _skaterift_script_check_unlocked( k_escript_script_id_ch2s1 ), + unlock_city = _skaterift_script_check_unlocked( k_escript_script_id_ch3s1 ), + unlock_valley = _skaterift_script_check_unlocked( k_escript_script_id_ch4s1a ); + + for( u32 i=0; ient_prop ); i ++ ) + { + ent_prop *prop = af_arritm( &world->ent_prop, i ); + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "MARC" ) ) + if( skaterift.achievements & 0x1 ) + prop->flags &= ~0x1; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "ALBERT" ) ) + if( skaterift.achievements & 0x2 ) + prop->flags &= ~0x1; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "JANET" ) ) + if( skaterift.achievements & 0x4 ) + prop->flags &= ~0x1; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "BERNADETTA" ) ) + if( skaterift.achievements & 0x8 ) + prop->flags &= ~0x1; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "main_island_block" ) ) + if( unlock_mtzero ) + prop->flags |= k_prop_flag_hidden; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "mtzero_block" ) ) + if( unlock_mtzero ) + prop->flags |= k_prop_flag_hidden; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "city_block" ) ) + if( unlock_city ) + prop->flags |= k_prop_flag_hidden; + + if( AF_STR_EQ( &world->meta.af, prop->pstr_alias, "valley_block" ) ) + if( unlock_valley ) + prop->flags |= k_prop_flag_hidden; + } + return 1; + } + + return 0; +} struct { @@ -1802,8 +1828,15 @@ static struct script_info _script_infos[] = [k_escript_script_id_ch4s1] = { "ch4s1", _skaterift_script_ch4s1, SCRIPT_FLAG_STORY_EVENT }, [k_escript_script_id_ch4s2] = { "ch4s2", _skaterift_script_ch4s2, SCRIPT_FLAG_STORY_EVENT }, [k_escript_script_id_ch4s3] = { "ch4s3", _skaterift_script_ch4s3, SCRIPT_FLAG_STORY_EVENT }, + [k_escript_script_id_hub_setup] = { "hub_setup", _skaterift_script_hub_setup }, }; +bool _skaterift_script_check_unlocked( enum escript_script_id id ) +{ + struct script_info *info = &_script_infos[ id ]; + return info->availible; +} + struct script_info *skaterift_script_get_info( const char *alias ) { for( u32 i=0; ialias ); { - vg_msg_wkvnum( sav, "viewed_time", - k_vg_msg_u64, 1, &info->viewed_time ); + vg_msg_wkvnum( sav, "viewed_time", k_vg_msg_u64, 1, &info->viewed_time ); u8 availible = info->availible; vg_msg_wkvnum( sav, "availible", k_vg_msg_u8, 1, &availible ); @@ -1850,8 +1882,7 @@ void skaterift_script_load_savedata( vg_msg *sav ) { if( vg_msg_seekframe( sav, info->alias ) ) { - vg_msg_getkvintg( sav, "viewed_time", k_vg_msg_u64, - &info->viewed_time, NULL ); + vg_msg_getkvintg( sav, "viewed_time", k_vg_msg_u64, &info->viewed_time, NULL ); u8 availible; vg_msg_getkvintg( sav, "availible", k_vg_msg_u8, &availible, NULL ); @@ -1999,8 +2030,7 @@ void _skaterift_script_update(void) { if( _script.script_id != k_escript_script_id_max ) { - if( _script_infos[ _script.script_id ].jump( k_escript_event_update, - NULL ) ) + if( _script_infos[ _script.script_id ].jump( k_escript_event_update, NULL ) ) _script.script_id = k_escript_script_id_max; } } @@ -2009,16 +2039,14 @@ void _skaterift_script_marker( const char *marker ) { if( _script.script_id != k_escript_script_id_max ) { - if( _script_infos[ _script.script_id ].jump( - k_escript_event_cutscene_marker, marker) ) + if( _script_infos[ _script.script_id ].jump( k_escript_event_cutscene_marker, marker) ) _script.script_id = k_escript_script_id_max; } } void _skaterift_script_init(void) { - vg_console_reg_cmd( "script", _skaterift_script_hook, - _skaterift_script_hook_poll ); + vg_console_reg_cmd( "script", _skaterift_script_hook, _skaterift_script_hook_poll ); } void _skaterift_script_unlink_all_challenges(void) diff --git a/src/skaterift_script.h b/src/skaterift_script.h index b26c4a9..c9d02a4 100644 --- a/src/skaterift_script.h +++ b/src/skaterift_script.h @@ -30,3 +30,32 @@ static int _skaterift_script_hook( int argc, const char *argv[] ); struct script_info *skaterift_script_get_info( const char *alias ); void _skaterift_script_unlink_all_challenges(void); + +enum escript_script_id +{ + k_escript_script_id_test = 0, + k_escript_script_id_intro, + k_escript_script_id_ch1s2, + k_escript_script_id_ch1s3, + k_escript_script_id_ch1s3b, + k_escript_script_id_ch1s4, + k_escript_script_id_ch1s5, + k_escript_script_id_ch1s6a, + k_escript_script_id_ch2s1, + k_escript_script_id_ch2s2, + k_escript_script_id_ch2s3a, + k_escript_script_id_ch2s4, + k_escript_script_id_ch2e1, + k_escript_script_id_ch2s5, + k_escript_script_id_ch2s6, + k_escript_script_id_ch3s1, + k_escript_script_id_ch3s2, + k_escript_script_id_ch3s3, + k_escript_script_id_ch4s1a, + k_escript_script_id_ch4s1, /* NOTE: 1 and 2 are backwards in order (accident) */ + k_escript_script_id_ch4s2, + k_escript_script_id_ch4s3, + k_escript_script_id_hub_setup, + k_escript_script_id_max +}; +bool _skaterift_script_check_unlocked( enum escript_script_id id ); diff --git a/src/world_entity.c b/src/world_entity.c index 5184b11..0136023 100644 --- a/src/world_entity.c +++ b/src/world_entity.c @@ -734,29 +734,6 @@ void update_ach_models(void) #if 0 world_instance *hub = &_world.instances[k_world_purpose_hub]; if( hub->status != k_world_status_loaded ) return; - - for( u32 i=0; ient_prop ); i ++ ) - { - ent_prop *prop = af_arritm( &hub->ent_prop, i ); - if( prop->flags & 0x2 ) - { - if( AF_STR_EQ( &hub->meta.af, prop->pstr_alias, "MARC" ) ) - if( skaterift.achievements & 0x1 ) - prop->flags &= ~0x1; - - if( AF_STR_EQ( &hub->meta.af, prop->pstr_alias, "ALBERT" ) ) - if( skaterift.achievements & 0x2 ) - prop->flags &= ~0x1; - - if( AF_STR_EQ( &hub->meta.af, prop->pstr_alias, "JANET" ) ) - if( skaterift.achievements & 0x4 ) - prop->flags &= ~0x1; - - if( AF_STR_EQ( &hub->meta.af, prop->pstr_alias, "BERNADETTA" ) ) - if( skaterift.achievements & 0x8 ) - prop->flags &= ~0x1; - } - } #endif } -- 2.25.1