Tool Storm Modding API

Discussion in 'Mods' started by Handsome Matt, Mar 7, 2016.

  1. LeonBlade

    LeonBlade Phantasmal Quasar

    Well, the README is the file that shows up as soon as you visit that page, but I understand you are joking.
     
    • darkuslord98

      darkuslord98 Void-Bound Voyager

      I read the ReadMe to install, never noticed the link in there before.

      Alright, I've looked through the google doc and I know what events correspond to and return what. Now my question is, is there a list of the accessors and what modifies what?
       
        Last edited: Mar 23, 2016
      • Undreamed

        Undreamed Scruffy Nerf-Herder

        this build have no injectors, so use the injectors in the version before
         
        • LeonBlade

          LeonBlade Phantasmal Quasar

          It should have injectors, try using a different build.

          I don't know, I'd advise to just look through the source code at this point.
           
          • mahoganyrose23

            mahoganyrose23 Scruffy Nerf-Herder

            I'm glad someone else said there were no injectors in the latest build, I was beginning to think I was crazy. Anyhoo here's what my crash log file says.


            System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553' or one of its dependencies. The system cannot find the file specified.
            File name: 'Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553'
            at Storm.StardewValley.ManagedStardewValleyLauncher.ResolveDependencies()
            at Storm.StardewValley.ManagedStardewValleyLauncher.Launch()
            at Storm.Program.Main(String[] args)

            WRN: Assembly binding logging is turned OFF.
            To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
            Note: There is some performance penalty associated with assembly bind failure logging.
            To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
             
            • LeonBlade

              LeonBlade Phantasmal Quasar

              Looks like you didn't install XNA, try to install it again through Winetricks.
               
              • lukkajong

                lukkajong Intergalactic Tourist

                You should put the tutorial on how to enable steam overlay on stormloader so the players can get the achievements when playing with mod.
                 
                • Chrisblue

                  Chrisblue Aquatic Astronaut

                  Hmm... There is no documentation for ClickableMenu?
                  I want to change the hover text and description dynamically on hovering an item. Is this possible?
                   
                  • LeonBlade

                    LeonBlade Phantasmal Quasar

                    There's no documentation for anything unfortunately, and the project is currently undergoing massive changes as well.
                     
                    • ADoby

                      ADoby Subatomic Cosmonaut

                      You mean massive deathness ?
                       
                        LeonBlade likes this.
                      • Bruno_G

                        Bruno_G Void-Bound Voyager

                        Crashing since I updated, any help please?
                        Code:
                        Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: {. Path 'Version', line 4, position 14.
                          à Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)
                          à Newtonsoft.Json.JsonTextReader.ReadAsString()
                          à Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
                          à Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
                          à Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
                          à Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
                          à Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
                          à Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
                          à Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
                          à Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
                          à Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value)
                          à Storm.ExternalEvent.LocalModLoader.LoadMod(List`1 result, String path)
                          à Storm.ExternalEvent.LocalModLoader.Load()
                          à Storm.StardewValley.ManagedStardewValleyLauncher.Launch()
                          à Storm.Program.Main(String[] args)
                        
                         
                        • Arstotzka

                          Arstotzka Orbital Explorer

                          I'm crashing as well, this is the log file that I get:
                          Code:
                          System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
                             at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
                             at Storm.Manipulation.InjectorMetaData.FilterTags(Dictionary`2 map, String s)
                             at Storm.Manipulation.InjectorFactory.<>c__DisplayClass13_0.<ParseJson>b__1(JsonFieldAccessorMutatorParams injector)
                             at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
                             at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
                             at Storm.Manipulation.InjectorFactory.ParseJson(Stream in, List`1 list, Dictionary`2 nameMap)
                             at Storm.Manipulation.InjectorFactory.ParseJson(String path)
                             at Storm.Manipulation.InjectorFactory.ParseOfType(DataFormat format, String path)
                             at Storm.StardewValley.ManagedStardewValleyLauncher.Inject()
                             at Storm.StardewValley.ManagedStardewValleyLauncher.Launch()
                             at Storm.Program.Main(String[] args)
                           
                          • LeonBlade

                            LeonBlade Phantasmal Quasar

                            Yes.

                            One of your mod's JSON files is fucked.

                            Update your injectors.
                             
                            • Arstotzka

                              Arstotzka Orbital Explorer

                              I'm using the Storm files and injectors from 'Storm-0.1.1.0_GIT-ba81e46.zip' release and I am still getting an error and a crash. This is my new log file:
                              Code:
                              [CecilInjectorFactory] Loaded 1545 injectors.
                              System.NullReferenceException: Object reference not set to an instance of an object.
                                 at Storm.CecilUtils.DescriptionOf(MethodDefinition md)
                                 at Storm.CecilExtensions.<>c__DisplayClass3_0.<GetMethod>b__2(MethodDefinition m)
                                 at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
                                 at Storm.CecilExtensions.GetMethod(AssemblyDefinition asm, String type, String name, String desc)
                                 at Storm.Manipulation.Cecil.CecilEventCallbackInjector.Init()
                                 at Storm.StardewValley.ManagedStardewValleyLauncher.<>c.<Inject>b__12_0(Injector injector)
                                 at System.Collections.Generic.List`1.ForEach(Action`1 action)
                                 at Storm.StardewValley.ManagedStardewValleyLauncher.Inject()
                                 at Storm.StardewValley.ManagedStardewValleyLauncher.Launch()
                                 at Storm.Program.Main(String[] args)
                               
                                Last edited: Mar 25, 2016
                              • LeonBlade

                                LeonBlade Phantasmal Quasar

                                Use the Storm-0.1.1.0_GIT-6a1361b.zip build instead, this project is a mess right now.
                                 
                                • Arstotzka

                                  Arstotzka Orbital Explorer

                                  I downloaded and I am now using that build, I still get the same error:
                                  Code:
                                  [CecilInjectorFactory] Loaded 1545 injectors.
                                  System.NullReferenceException: Object reference not set to an instance of an object.
                                     at Storm.CecilUtils.DescriptionOf(MethodDefinition md)
                                     at Storm.CecilExtensions.<>c__DisplayClass3_0.<GetMethod>b__2(MethodDefinition m)
                                     at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
                                     at Storm.CecilExtensions.GetMethod(AssemblyDefinition asm, String type, String name, String desc)
                                     at Storm.Manipulation.Cecil.CecilEventCallbackInjector.Init()
                                     at Storm.StardewValley.ManagedStardewValleyLauncher.<>c.<Inject>b__12_0(Injector injector)
                                     at System.Collections.Generic.List`1.ForEach(Action`1 action)
                                     at Storm.StardewValley.ManagedStardewValleyLauncher.Inject()
                                     at Storm.StardewValley.ManagedStardewValleyLauncher.Launch()
                                     at Storm.Program.Main(String[] args)
                                   
                                  • LeonBlade

                                    LeonBlade Phantasmal Quasar

                                    Are you updating injectors for the builds? Also, do you have mods installed currently? Try with a clean mods folder and ensuring that your injectors are up to date for your build. There are too many errors like this in the code that aren't properly handled, so it's harder to debug these, plus some of the builds on the site don't match any of the commit hashes from github, so I have no idea what is even in the new builds... I'm just trying to help since people are likely not going to get help from anyone working on the project given that they're completely changing the entire codebase around.

                                    Anyways, rant aside, try what I said and let me know if you get anymore errors.
                                     
                                    • Arstotzka

                                      Arstotzka Orbital Explorer

                                      When you say updating injectors, do you mean using the injectors from more up to date builds like in Storm-0.1.1.0_GIT-6a1361b.zip? I'm using the injectors given to me in this build if that's what you mean by updating injectors. Also, my Mods folder is empty; there are no files inside. Still the same crash log as well when I run it
                                       
                                        Last edited: Mar 25, 2016
                                      • LeonBlade

                                        LeonBlade Phantasmal Quasar

                                        Yeah, I just meant the injectors from the build you are downloading. What version of Stardew Valley are you using? I'll try to create a custom build if possible for you to try, but without being able to reproduce the error I'm not really sure how to debug the problem.
                                         
                                        • Arstotzka

                                          Arstotzka Orbital Explorer

                                          I'm using the current version of Stardew Valley on Steam which should be 1.06. I'm not in the beta for Stardew Valley.

                                          Thanks for the assistance btw.

                                          Edit: I got it fixed, I won't need that custom build anymore. Thanks for all the help!
                                           
                                            Last edited: Mar 25, 2016

                                          Share This Page