Giter VIP home page Giter VIP logo

satisfactorysaveeditor's People

Contributors

atehxx avatar bertaz avatar brumoen avatar budak7273 avatar ecnepsnai avatar goz3rr avatar mircearoata avatar moritz-h avatar mueller-ma avatar oman-rod avatar tasermonkey avatar virusek20 avatar wgroenestein avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

satisfactorysaveeditor's Issues

Fixing trailing data workaround

Right now there's still a few cases where there's unknown trailing data for certain entities in the save, this needs to be deciphered and properly implemented

Fix saving with removed elements

Removing elements from the save using the UI and then saving leaves the save in an unopenable state.

Repro steps:

  1. Open our standardized testing save
  2. Remove script object from tree
  3. Save file
  4. Reload saved file -> Crash

Just a list of things to keep in mind.

https://satisfactory.gamepedia.com/Satisfactory_Wiki

-----Individually &/or in nested groups:

Change:

  • Hub Level (1-5)
  • Space Elevator Phase (1-5)

Toggle on/off individual:

  • M.A.M. Scans
  • Milestones
  • Buildings (& vehicles)
  • Recipes
  • Production Graph (the ability to see the production graph in buildings)
  • Overclocking (the ability to see the overclock panel in buildings, and therefore use it)

Destroy/Delete/Remove:

  • Leaves, Vines, Wood, Biomass (found these on occasion, not just crafted)
  • Flowers, Mycelia, Silica, Crude Oil Plants (look like tootsie pop wrappers, kinda),
  • Green, Yellow, & Purple Slugs
  • Fluffy-Tailed Hogs, Alpha Hogs, Spitters, Alpha Spitters
  • Stingers, Alpha Stingers, Flying Crabs, Flying Crab Hatchers
  • Lizard Dogs, Flower Aliens, Long-Leg Land Whales
  • Grass sprites, Jungle Finches, Lake Sharks, Leaf Bugs
  • Beryl Nuts, Paleberrys, Bacon Agarics
  • Somersloops, Mercer Spheres, Large Cracked Rocks
  • Resources Deposits (the finite, manual-mine-only, things);
    • Iron, Copper, Limestone, Coal, Caterium, Quartz, Sulfur, Bauxite, S.A.M.
  • Small rocks that disappear if you use the chainsaw on a plant that is near them.
  • Items scattered around crash sites.
  • Hard Drives in crash site pods, but not the pod wreckage themselves.

Rename, Move, &/or Delete: - DONE (what about spawning new ones though?)

  • Beacons

Move: - DONE

  • Player

Set Size: - DONE

  • Player Inventory

Delete: - DONE

  • Duplicate player characters

overlocking not available

after using "unlock all" cheat overclocking is not available I also tried researching power slugs but still not able to overclock my buildings

Add POCO's for all save objects

pros:
gives us type safety on everything
know which properties exist even when they're not in the save

cons:
more work
needs to be updated with the game

How does the Resource Spawner work?

The option to select what you want is self explanatory but how can I increase the amount it gives me? It's at zero and I tried every key possible but it just won't change...

[Working now] not working Early Access 95718

Loaded up a save, used the cheats functions, saved and it did nothing. Tell me if i can give you more precisions about the problem :)
Update: reinstalled game and it worked. Mybad.

Add proper error handling

The parser should propagate errors upwards and the UI should handle them gracefully, giving users something to report

Validate color data in UI

Right now it's possible to enter invalid values for both Color and LinearColor.
Color should be clamped to 0 - 255
LinearColor should be clamped to 0f - 1f

SatisfactorySaveEditor crashed on open savefile

SatisfactorySaveEditor-v0.2.1 crashed on open savefile.

Сrash log:
AppCrash_SatisfactorySave_89c9ef260816dced929fe91c4217af5ee2b16_6fa552b3_13d71b1b.zip

Satisfactory Save:
moraks_autosave_1.zip

System error message: `Приложение: SatisfactorySaveEditor.exe Версия платформы: v4.0.30319 Описание. Процесс был завершен из-за необработанного исключения. Сведения об исключении: System.ArgumentOutOfRangeException в System.IO.BinaryReader.ReadChars(Int32) в SatisfactorySaveParser.BinaryIOExtensions.ReadLengthPrefixedString(System.IO.BinaryReader) в SatisfactorySaveParser.PropertyTypes.TextProperty.Parse(System.String, Int32, System.IO.BinaryReader) в SatisfactorySaveParser.SerializedFields.Parse(Int32, System.IO.BinaryReader) в SatisfactorySaveParser.SaveEntity.ParseData(Int32, System.IO.BinaryReader) в SatisfactorySaveParser.SatisfactorySave..ctor(System.String) в SatisfactorySaveEditor.ViewModel.MainViewModel.LoadFile(System.String) в SatisfactorySaveEditor.ViewModel.MainViewModel.Open()

Сведения об исключении: System.Reflection.TargetInvocationException
в System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
в System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
в GalaSoft.MvvmLight.Helpers.WeakAction.Execute()
в GalaSoft.MvvmLight.CommandWpf.RelayCommand.Execute(System.Object)
в MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean)
в System.Windows.Controls.MenuItem.InvokeClickAfterRender(System.Object)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
в System.Windows.Threading.DispatcherOperation.InvokeImpl()
в System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
в MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
в MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
в System.Windows.Threading.DispatcherOperation.Invoke()
в System.Windows.Threading.Dispatcher.ProcessQueue()
в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
в MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
в System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
в MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
в System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
в System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
в System.Windows.Application.RunDispatcher(System.Object)
в System.Windows.Application.RunInternal(System.Windows.Window)
в System.Windows.Application.Run(System.Windows.Window)
в SatisfactorySaveEditor.App.Main()`

Make search feature also search property name fields

As an example, searching mGamePhase with this feature would cause /Game/FactoryGame/Schematics/Progression/BP_GamePhaseManager.BP_GamePhaseManager_C/Persistent_Level:PersistentLevel.GamePhaseManager to show up in the results list since it has a property with that name.

Crashing with OOM errors in event viewer

Used it the other day and actually unlocked everything and the map. Then went back and just unlocked the map. Finally got to end game where I decided to actually unlock the other stuff. Now everytime I open this save in the app it crashes the app with no errors but in the event viewer is says OOM. Seems like the app is running out of memory although my computer is not. I have 32gb with maybe 7 gigs used
oom.zip

One thing I did do since the last save it works. Was change the colors of all the buildings. Not sure if that matters or not.

I was able to get it to work with this one that was from earlier that I had not changed the colors. Although anytime I place any of the unlocked stuff the game crashes. This been happening with anyone else? I tried to place train tracks and a radar tower.
wat.zip

Export part of Tree as XML, JSON

It would be very nice if you could export parts of the savegame as xml, json or something similar to use the data in 3rd party applications.

Wrong session name parsing in a save

It appeared that SaveParser doesn't properly support unicode characters in session name in a save.
Specifically, in SatisfactorySaveParser:BinaryIOExtensions:ReadCharArray function value of "count" can be negative if someone will use non-latin characters in session name. To resolve this you probably should read count*2 characters as utf_16_be symbols.

To reproduce the issue:

  1. Enter session name using any non-latin characters and create save.
  2. Try to open the save in the editor, it will crash.

3/27 patch breaks

Looks like the latest update breaks saved games, it crashes now on any saved game I have used this on, created new game got hub all unlocked planted down anything that is T7 or T8 and it seems to crash right away.

Basic Stuff Missing?

I miss Iron Plate / Iron Rod from the Crafting. Maybe something messed up? Tried on a old savegame.

Update for v0.102 - CL 96463 patch

At the very least savegames have moved to %localappdata%\FactoryGame\Saved\SaveGames
Probably should default to this folder from now on but fall back to the old location if it does not exist.

Also investigate if the file format has changed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.