RELEASED [SMAPI] Advanced Location Loader 1.4.7

Helps modders modify the in-game locations!

  1. Acerbicon

    Acerbicon Pangalactic Porcupine

    I made a report, as it still doesn't work (properly). I'm pretty sure ALL is doing something to the way it loads.
     
    • ShneekeyTheLost

      ShneekeyTheLost Master Astronaut

      Really interesting issue when I'm reinstalling from a complete wipe. I get this:

      Code:
      [15:26:36 WARN  Entoarox Framework] ContentManager: The `/home/shneekey/.steam/steam/steamapps/common/Stardew Valley/Mods/AdvancedLocationLoader/locations/ExtendedCellar/all_sheet_paths_objects/bathroom_tiles/bathroom_tiles` file is already being managed, this may cause issues
      [15:26:36 WARN  Entoarox Framework] ContentManager: The `/home/shneekey/.steam/steam/steamapps/common/Stardew Valley/Mods/AdvancedLocationLoader/locations/ExtendedCellar/all_sheet_paths_objects/CellarTiles/cellar_tiles` file is already being managed, this may cause issues
      [15:26:36 WARN  Entoarox Framework] ContentManager: The `/home/shneekey/.steam/steam/steamapps/common/Stardew Valley/Mods/AdvancedLocationLoader/locations/ExtendedCellar/all_sheet_paths_objects/CellarTiles/cellar_tiles` file is already being managed, this may cause issues
      [15:26:36 WARN  Entoarox Framework] ContentManager: The `/home/shneekey/.steam/steam/steamapps/common/Stardew Valley/Mods/AdvancedLocationLoader/locations/ExtendedCellar/all_sheet_paths_objects/CellarTiles/cellar_tiles` file is already being managed, this may cause issues
      [15:26:36 WARN  Entoarox Framework] ContentManager: The `/home/shneekey/.steam/steam/steamapps/common/Stardew Valley/Mods/AdvancedLocationLoader/locations/ExtendedCellar/all_sheet_paths_objects/CellarTiles/cellar_tiles` file is already being managed, this may cause issues
      [15:26:36 INFO  Entoarox Framework] Update checks have been completed.
      [15:26:36 DEBUG Advanced Location Loader] Patches have been applied
      [15:26:36 ERROR SMAPI] An error occured in the base update loop: System.InvalidCastException: Specified cast is not valid.
        at (wrapper castclass) System.Object:__castclass_with_cache (object,intptr,intptr)
        at Microsoft.Xna.Framework.Content.ContentReader.InnerReadObject[T] (Microsoft.Xna.Framework.Content.T existingInstance) <0x41a20ea0 + 0x0009b> in <filename unknown>:0
        at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T] () <0x41a20e60 + 0x00027> in <filename unknown>:0
        at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T] () <0x41a1b300 + 0x0002f> in <filename unknown>:0
        at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T] (System.String assetName, System.Action`1 recordDisposableObject) <0x41a0f5f0 + 0x00227> in <filename unknown>:0
        at Microsoft.Xna.Framework.Content.ContentManager.Load[T] (System.String assetName) <0x41a0f200 + 0x00113> in <filename unknown>:0
        at StardewValley.LocalizedContentManager.Load[T] (System.String assetName) <0x41a24a60 + 0x0008f> in <filename unknown>:0
        at Entoarox.Framework.SmartContentManager.Load[T] (System.String assetName) <0x41bdcd90 + 0x00397> in <filename unknown>:0
        at StardewValley.Buildings.Building.load () <0x41d649a0 + 0x00117> in <filename unknown>:0
        at StardewValley.SaveGame.loadDataToLocations (System.Collections.Generic.List`1 gamelocations) <0x41d50250 + 0x00c09> in <filename unknown>:0
        at StardewValley.SaveGame+<getLoadEnumerator>c__Iterator1.MoveNext () <0x41c39000 + 0x008cf> in <filename unknown>:0
        at StardewValley.Game1.UpdateTitleScreen (Microsoft.Xna.Framework.GameTime time) <0x41b130f0 + 0x0008a> in <filename unknown>:0
        at StardewValley.Game1.Update (Microsoft.Xna.Framework.GameTime gameTime) <0x41b0b300 + 0x02b8f> in <filename unknown>:0
        at StardewModdingAPI.Inheritance.SGame.Update (Microsoft.Xna.Framework.GameTime gameTime) <0x41af4a90 + 0x00123> in <filename unknown>:0
      
      Basically there's some issue where the ALL files are already being managed? I dunno.

      Also, I am using Framework 1.6.6 but the manifest.json still lists it as version 1.6.5

      Full error report attached.
       

        Attached Files:

      • Entoarox

        Entoarox Oxygen Tank

        Is this a pre-existing save? Because from what I can gather with this annoyingly obtuse error, it is having trouble restoring the custom location types....
         
        • ShneekeyTheLost

          ShneekeyTheLost Master Astronaut

          Yes it is, and when I created a new save, it worked just fine...

          EDIT: UPDATE When opening up a save that had not yet unlocked the cellar, I still got the yellow-text warning me that the file is already being managed, but did not crash. No clue what would happen if I were to unlock said cellar, though

          2nd edit: When creating a new save, it does spam me with the 'this file is already being managed' yellow text, even though it did not crash.
           
            Last edited: Mar 17, 2017
          • Entoarox

            Entoarox Oxygen Tank

            yellow text is a warning, in this case, likely @Androxilogin making a mistake in his code or the same file being used for multiple things, usually not a big deal, it is just there so that if stuff goes wrong, it is easier to figure out.
             
            • cleavedCognition

              cleavedCognition Scruffy Nerf-Herder

              I'm running into a weird bug with the teleporter/minecart system. Whichever stop is used first can never be a destination again. It can be used to go other places, but no other teleporter will list it. It doesn't matter which one is used first either, just whichever one was first is gone from the list.

              I've got a set of teleporters defined, all of which ALL recognizes:

              Code:
              Teleporter created: TeleporterList(TrainSystem) => {TrainWildWest@[15,6]:0,TrainForest@[15,6]:0,TrainMountain@[15,6]:0,TrainTown@[15,6]:0,Farm@[65,15]:0}
              and then I have them all defined like this:

              Code:
              {
                  "MapName":"TrainForest",
                  "TileX":14,
                  "TileY":6,
                  "LayerId":"Buildings",
                  "Conditions":"",
                  "Optional":false,
                  "Key":"Action",
                  "Value":"ALLTeleporter TrainSystem"
              },
              ...
              Looking in the logs, there's no errors and it seems to be working fine:

              Code:
              [15:00:50 DEBUG Advanced Location Loader] Patches have been applied
              [15:00:50 TRACE Entoarox Framework] You have the latest available version of EntoaroxFramework installed.
              [15:00:51 TRACE SMAPI] NPC Map Locations Mod used PlayerEvents.LoadedGame, which is deprecated since SMAPI 1.6. This will break in a future version of SMAPI.
              [15:00:51 TRACE Entoarox Framework] You have the latest available version of AdvancedLocationLoader installed.
              [15:00:51 INFO  Entoarox Framework] Update checks have been completed.
              [15:01:06 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:01:09 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:01:22 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:01:25 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:01:28 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:01:40 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:02:04 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:02:16 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
              [15:02:19 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
               
              • Entoarox

                Entoarox Oxygen Tank

                Probably a issue in my "hide current location" logic >_<
                 
                • cleavedCognition

                  cleavedCognition Scruffy Nerf-Herder

                  Got another bug to report. Setting the Type of a map to Desert crashes the game while it loads the map. I'll give you a log, but:
                  Code:
                  ...
                  [23:15:46 TRACE Advanced Location Loader] Tilesheet(YetiPeak:Train,E:\Users\Matthew\Steam\SteamApps\common\Stardew Valley\Mods\AdvancedLocationLoader\locations\Towns\Train){Seasonal=True} ~> seasonal/override
                  [23:15:56 TRACE Advanced Location Loader] ActionTriggered(ALLTeleporter)
                  There's no error messages. :/
                  In fact, the game crashes when loading the map, not even requesting a shutdown.

                  Things I tested:
                  -Crash persisted in both thunderstorm and sunny weather
                  -Crash persisted in both Spring and Summer
                  -Crash persisted for both Outdoor: true and false
                  -Crash did not occur when set to BathHousePool (though it did override the music track to play the bathhouse ambiance)


                  I think that's about all I can give you on this, but let me know if there's any other info you need to reproduce the bug.
                   
                  • Androxilogin

                    Androxilogin Giant Laser Beams

                    Please post bugs: Here.

                    This is a known issue. It's best to go with 'default' type usually.
                     
                    • Entoarox

                      Entoarox Oxygen Tank

                      This is a known issue, unfortunately the error happens outside of SMAPI's errorhandling logic, so no error report ever happens, and without one, there is just no way to know *what* to fix in the first place :(
                       
                      • cleavedCognition

                        cleavedCognition Scruffy Nerf-Herder

                        I'm not sure what you have and have not tried already to fix the issue, but picking through the game code I did notice that instead of changing the weather itself, the vanilla desert is hard coded within Game1's Draw method to not render the weather:

                        Code:
                        if (Game1.isDebrisWeather && Game1.currentLocation.IsOutdoors && (!Game1.currentLocation.ignoreDebrisWeather && !Game1.currentLocation.Name.Equals("Desert")) && Game1.viewport.X > -10)
                                  {
                                    foreach (WeatherDebris weatherDebris in Game1.debrisWeather)
                                      weatherDebris.draw(Game1.spriteBatch);
                                  }
                        Code:
                        if (Game1.isRaining && Game1.currentLocation.IsOutdoors && (!Game1.currentLocation.Name.Equals("Desert") && !(Game1.currentLocation is Summit)) && (!Game1.eventUp || Game1.currentLocation.isTileOnMap(new Vector2((float) (Game1.viewport.X / Game1.tileSize), (float) (Game1.viewport.Y / Game1.tileSize)))))
                                  {
                                    for (int index = 0; index < Game1.rainDrops.Length; ++index)
                                      Game1.spriteBatch.Draw(Game1.rainTexture, Game1.rainDrops[index].position, new Microsoft.Xna.Framework.Rectangle?(Game1.getSourceRectForStandardTileSheet(Game1.rainTexture, Game1.rainDrops[index].frame, -1, -1)), Color.White);
                                  }
                        I've never really worked with SMAPI before, so I don't know how possible it would be to override that, but maybe it's worth looking into?

                        Edit - Also, sorry! I didn't realize there was a specific place to post bugs! I'll use that next time. :S
                         
                          Last edited: Mar 23, 2017
                        • HarveyGT

                          HarveyGT Void-Bound Voyager

                          Does this file work for MAC?
                           
                          • Entoarox

                            Entoarox Oxygen Tank

                            I believe not right now, there are a lot of cross-platform issues that still need ironing out...
                             
                            • HarveyGT

                              HarveyGT Void-Bound Voyager

                              OOOOHH so thats why SV Expansion wasn't working...
                               
                              • Hammurabi

                                Hammurabi Big Damn Hero

                                Is there a way to change the "isFarm" property when overriding a map?
                                 
                                • Androxilogin

                                  Androxilogin Giant Laser Beams

                                  Is "isFarm" referring to a farm variation? Because ALL has "FarmType=%" (0-4).
                                   
                                  • Hammurabi

                                    Hammurabi Big Damn Hero

                                    It's the boolean value on GameLocations that is used to check whether you can plant crops there.

                                    When you're adding a location, you're able to set it by using the "Farmable" tag, but I don't see any way to change it on an existing location using ALL.
                                     
                                    • Androxilogin

                                      Androxilogin Giant Laser Beams

                                      Ah, I see. I was actually hoping this would be implemented.
                                       
                                      • Entoarox

                                        Entoarox Oxygen Tank

                                        Why? :S Overrides are limited in what they can do, but farmable should be changeable, if you can give me a good reason why it is needed....
                                         
                                        • Androxilogin

                                          Androxilogin Giant Laser Beams

                                          It would be kind of cool to see things like crops growing in town. Just aesthetics, mostly.
                                           

                                          Share This Page