removed little bit of shit
authorhgn <hgodden00@gmail.com>
Sat, 8 Feb 2025 19:34:14 +0000 (19:34 +0000)
committerhgn <hgodden00@gmail.com>
Sat, 8 Feb 2025 19:34:14 +0000 (19:34 +0000)
src/addon.c
src/addon.h
src/save.c
src/skaterift.c
src/skaterift_script.h

index 11fe3edef270410fba742650d5f781ea92c02803..5cfd075e0e454e1722d5b6b966a34c804e74ee8e 100644 (file)
@@ -290,7 +290,6 @@ static addon_reg *addon_alloc_reg( PublishedFileId_t workshop_id,
    reg->flags = 0;
    reg->metadata_len = 0;
    reg->cache_id = 0;
-   reg->state = k_addon_state_indexed;
    reg->alias.workshop_id = workshop_id;
    reg->alias.foldername[0] = '\0';
    reg->alias.type = type;
@@ -397,12 +396,14 @@ addon_reg *addon_mount_local_addon( const char *folder,
 
    const char *folder_name = vg_strch( &folder_path, '/' )+1;
    u32 folder_hash = vg_strdjb2(folder_name);
-   for( u32 i=0; i<addon_system.registry_count; i++ ){
+   for( u32 i=0; i<addon_system.registry_count; i++ )
+   {
       addon_reg *reg = &addon_system.registry[i];
 
-      if( (reg->alias.type == type) && (reg->foldername_hash == folder_hash) ){
-         if( !strcmp( reg->alias.foldername, folder_name ) ){
-            reg->state = k_addon_state_indexed;
+      if( (reg->alias.type == type) && (reg->foldername_hash == folder_hash) )
+      {
+         if( !strcmp( reg->alias.foldername, folder_name ) )
+         {
             return reg;
          }
       }
@@ -413,7 +414,8 @@ addon_reg *addon_mount_local_addon( const char *folder,
    addon_set_foldername( reg, folder_name );
    addon_try_load_metadata( reg, folder_path );
 
-   if( reg->metadata_len == 0 ){
+   if( reg->metadata_len == 0 )
+   {
       /* create our own content commands */
       vg_msg msg;
       vg_msg_init( &msg, reg->metadata, sizeof(reg->metadata) );
@@ -493,10 +495,8 @@ void addon_mount_workshop_items(void)
       for( u32 i=0; i<addon_system.registry_count; i++ ){
          addon_reg *reg = &addon_system.registry[i];
 
-         if( reg->alias.workshop_id == id ){
-            reg->state = k_addon_state_indexed;
+         if( reg->alias.workshop_id == id )
             goto next_file_workshop;
-         }
       }
 
       vg_async_item *call1 = 
index fc5a5fb57d550f3007ca8438ae1ff652827a8251..db51af125664257d3c7d659051f0e07f0270d4a5 100644 (file)
@@ -31,13 +31,6 @@ struct addon_system
       u32 flags;
 
       u16 cache_id;
-
-      enum addon_state{
-         k_addon_state_none,
-         k_addon_state_indexed,
-         k_addon_state_indexed_absent /* gone but not forgotten */
-      }
-      state;
    }
    *registry;
    u32 registry_count;
index b24b758e9fbeeb94ec3514633e41a695279cd139..fe8c0b6c32014910734979f45212c1cce962414d 100644 (file)
@@ -206,7 +206,7 @@ void skaterift_load_mainsave(void)
    savedata_file_read( &sav );
 
    vg_msg kvsav;
-   vg_msg_init( &kvsav, sav.buf, sizeof(sav.buf) );
+   vg_msg_init( &kvsav, sav.buf, sav.len );
 
    u32 ach;
    vg_msg_getkvintg( &kvsav, "ach", k_vg_msg_u32, &ach, NULL );
@@ -230,8 +230,7 @@ void skaterift_load_mainsave(void)
       }
 
       /* playermodel */
-      if( skaterift_read_addon_alias( &kvsav, "playermodel", 
-                                       k_addon_type_player, &q ) )
+      if( skaterift_read_addon_alias( &kvsav, "playermodel", k_addon_type_player, &q ) )
       {
          reg_id = addon_match( &q );
          if( reg_id != 0xffffffff ) 
@@ -267,5 +266,14 @@ void skaterift_load_mainsave(void)
    kvsav.cur = orig;
 
    if( vg_msg_seekframe( &kvsav, "story" ) )
+   {
       skaterift_script_load_savedata( &kvsav );
+   }
+   else
+   {
+      vg_info( "Starting new story!\n" );
+      _world.switch_to_addon = 
+         addon_mount_local_addon( "maps/dev_heaven", k_addon_type_world, ".mdl" );
+      _skaterift_script_hook( 2, (const char *[]){ "unlock", "intro" } );
+   }
 }
index e56ee0779fa44866b6a33d3f542d989e2613bf27..f31e6044aaa3e0b3b7fb7158c9da2532de04681d 100644 (file)
@@ -65,7 +65,8 @@ void game_launch_opt(void)
       skaterift.override_load_world = arg;
 }
 
-static addon_reg *skaterift_mount_world_unloadable( const char *path, u32 ext ){
+static addon_reg *skaterift_mount_world_unloadable( const char *path, u32 ext )
+{
    addon_reg *reg = addon_mount_local_addon( path, k_addon_type_world, ".mdl" );
    if( !reg ) vg_fatal_error( "world not found\n" );
    reg->flags |= (ADDON_REG_HIDDEN | ext);
index b2dfe9029f3a5c73460398cb854df1c5e6179c95..9d153a1357ac0054ab0204087d9f054c644865a5 100644 (file)
@@ -5,3 +5,4 @@ void _skaterift_script_init(void);
 void _skaterift_script_marker( const char *marker );
 void skaterift_script_write_savedata( vg_msg *sav );
 void skaterift_script_load_savedata( vg_msg *sav );
+static int _skaterift_script_hook( int argc, const char *argv[] );