TiTsEd - A save editor

Theiatena

Active Member
Dec 16, 2015
39
2
@Chase after using your editor it seems to flag my pc as a Taur? I thing it might be the way you are handle the genitals postioning/adding and such it seems to be TiTS itself
 
Last edited by a moderator:

Chase

Well-Known Member
May 13, 2016
158
139
Was going to mention that the editor doesn't do anything with that automatically.
 

Dongstar

Active Member
Jun 9, 2016
35
8
This tool is gorgeous and I love it. Having so much fun rn tweaking stuff.
 
Last edited by a moderator:

fwyrl

Member
May 28, 2016
18
0
What's TiTSed written in? I'd like to contribute if I know the language!


Also, props for getting this far with your work!
 

Chase

Well-Known Member
May 13, 2016
158
139
v0.8.1


Updated for new items. Made the item editing a bit less rage inducing.


Only a revision update since there are no new editing features, just tweaks.


See original post for download location, and as always use at your own risk.


Note: If you edit in an item, and your save fails to load, just remove that item and your save will very likely work again! If you encounter anything that causes a save to stop working, please tell me here or better yet create an issue on the tracker (a github account is required).
 
Last edited by a moderator:
  • Like
Reactions: CloudStriker

boundkitsune

New Member
Jun 11, 2016
1
0
I noticed that genitalia modification was missing the refractory rate option. Other then that I'm loving it, thank you.
 

SorenMageofMareth

Well-Known Member
Aug 28, 2015
339
26
[TiTsEd: 0.8.1.31304, TiTs Data: 26]
System.Reflection.TargetException: Non-static method requires a target.
   at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target)
   at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at TiTsEd.View.ItemsPage.rightTree_SelectedItemChanged(Object sender, RoutedPropertyChangedEventArgs`1 e)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.TreeView.ChangeSelection(Object data, TreeViewItem container, Boolean selected)
   at System.Windows.Controls.TreeView.SelectFirstItem()
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at System.Windows.Controls.ItemCollection.SetCollectionView(CollectionView view)
   at System.Windows.Controls.ItemsControl.OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
   at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
   at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
   at MS.Internal.Data.ClrBindingWorker.NewValueAvailable(Boolean dependencySourcesChanged, Boolean initialValue, Boolean isASubPropertyChange)
   at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange)
   at MS.Internal.Data.PropertyPathWorker.OnDependencyPropertyChanged(DependencyObject d, DependencyProperty dp, Boolean isASubPropertyChange)
   at System.Windows.Data.BindingExpression.HandlePropertyInvalidation(DependencyObject d, DependencyPropertyChangedEventArgs args)
   at System.Windows.Data.BindingExpressionBase.OnPropertyInvalidation(DependencyObject d, DependencyPropertyChangedEventArgs args)
   at System.Windows.Data.BindingExpression.OnPropertyInvalidation(DependencyObject d, DependencyPropertyChangedEventArgs args)
   at System.Windows.DependentList.InvalidateDependents(DependencyObject source, DependencyPropertyChangedEventArgs sourceArgs)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyPropertyKey key, Object value)
   at System.Windows.Controls.TreeView.SetSelectedItem(Object data)
   at System.Windows.Controls.TreeView.ChangeSelection(Object data, TreeViewItem container, Boolean selected)
   at System.Windows.Controls.TreeView.SelectFirstItem()
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType)
   at System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
   at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at System.Windows.Data.ListCollectionView.RefreshOverride()
   at System.Windows.Data.CollectionView.RefreshInternal()
   at System.Windows.Data.CollectionView.EndDefer()
   at System.Windows.Data.CollectionView.DeferHelper.Dispose()
   at System.Windows.Controls.ItemCollection.SetCollectionView(CollectionView view)
   at System.Windows.Controls.ItemsControl.OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
   at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
   at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
   at MS.Internal.Data.ClrBindingWorker.NewValueAvailable(Boolean dependencySourcesChanged, Boolean initialValue, Boolean isASubPropertyChange)
   at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange)
   at MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(Object o, String propName)
   at System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType)
   at System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(Object sender, PropertyChangedEventArgs args)
   at TiTsEd.ViewModel.BindableBase.OnPropertyChanged(String propertyName)
   at TiTsEd.ViewModel.VM.Load(String path, SerializationFormat expectedFormat, Boolean createBackup)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
 

Pazz

Active Member
May 27, 2016
36
6
I see 3 types of virgin in the editor:
-Virgin
-Cock virgin
-Vaginal virgin

I assume the first virgin means anal virgin?

Other than that, thanks for the tool. Editing everything in minerva air has gotten a bit annoying.
 
  • Like
Reactions: CloudStriker

Chase

Well-Known Member
May 13, 2016
158
139
[TiTsEd: 0.8.1.31304, TiTs Data: 26]
System.Reflection.TargetException: Non-static method requires a target.
   at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target)
   at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at TiTsEd.View.ItemsPage.rightTree_SelectedItemChanged(Object sender, RoutedPropertyChangedEventArgs`1 e)
   ...

I have a pretty good idea why this is happening. I should have it fixed in the next version. To avoid this for now, just open a new copy of TiTsEd before loading a file.

I see 3 types of virgin in the editor:
-Virgin
-Cock virgin
-Vaginal virgin

There are actually 4 types right now, and none of them are anal.


Each cock and vagina have a virgin flag, and there is an overall virgin flag for each. So you can have a virgin vagina but still not be a virgin (because transformations and such).
 
Last edited by a moderator:
  • Like
Reactions: CloudStriker

Noob Salad

Captain Shitpost
Aug 26, 2015
4,374
1,560
analVirgin, cockVirgin, and vaginalVirgin are all exactly what you think they are.
 

Crablord

Well-Known Member
Jan 18, 2016
1,071
742
i can verify with this save editor this game gets atleast


400% funner


i can now fully customize my character with tfs that arent even in the game yet (and probably wont be for awhile :/ )


and the editor itself isnt even done yet, thats saying something
 
Last edited by a moderator:

Karretch

Well-Known Member
Aug 26, 2015
2,068
304
i can verify with this save editor this game gets atleast


400% funner


i can now fully customize my character with tfs that arent even in the game yet (and probably wont be for awhile :/ )


and the editor itself isnt even done yet, thats saying something

That's because most of the stuff from CoC was ported over, and where needed given new values, so the framework for TFs has always been there just need people to make them. Which luckily people are pounding out right now.
 
  • Like
Reactions: CloudStriker

Milkman

Well-Known Member
Aug 28, 2015
730
324
One thing I'm looking forward to is the ability for this to edit stat mods in addition to the raw values. I normally use minerva to set my lust mod to 33 that way my character is always horny enough for sex scenes, but recently minerva hasn't been playing nice with my save files. So it would be nice if this editor was capable of performing that action. 
 
  • Like
Reactions: CloudStriker

Darkpheonix

Well-Known Member
Aug 27, 2015
852
401
yes perk options, this is a must!
 
Last edited by a moderator:

epidemico

Well-Known Member
Apr 5, 2016
146
36
That's because most of the stuff from CoC was ported over, and where needed given new values, so the framework for TFs has always been there just need people to make them. Which luckily people are pounding out right now.

\/\/hich TFs work and which ones don't?


Like, I tried editing my character to have Goat eyes using Minerva but nothing happened with it.
 

Nik_van_Rijn

Well-Known Member
Sep 10, 2015
2,415
506
Moscow, RF
\/\/hich TFs work and which ones don't?


Like, I tried editing my character to have Goat eyes using Minerva but nothing happened with it.

All of those racial types and flags work in a sense that they are allowed to exist in a save file without corrupting it. Sometimes they would change parser descriptors. You can look here on TiTS' Github page to check which ones are accounted for by the in-game appearance screen.
 
  • Like
Reactions: CloudStriker

epidemico

Well-Known Member
Apr 5, 2016
146
36
All of those racial types and flags work in a sense that they are allowed to exist in a save file without corrupting it. Sometimes they would change parser descriptors. You can look here on TiTS' Github page to check which ones are accounted for by the in-game appearance screen.

Thank you, that helps.
 
  • Like
Reactions: CloudStriker

Karretch

Well-Known Member
Aug 26, 2015
2,068
304
Here's the thing: some of the Global Values listed should effect things that they don't -- like the Goat eyes e)(ample I just mentioned -- and yet, nada.


Maybe I should've rephrased my question: are the values listed on the Appearance pages for at wiki all up-to-date?
All of those racial types and flags work in a sense that they are allowed to exist in a save file without corrupting it. Sometimes they would change parser descriptors. You can look here on TiTS' Github page to check which ones are accounted for by the in-game appearance screen.

Essentially, if they don't appear on the appropriate appearance page then they aren't currently accounted for.
 

noctus

Member
May 7, 2016
9
1
34
floating upon the sea of chaos
i only have a couple comments to make, namely on missing functions. number one, in the item editor there are no options for ranged weapons, only for Melee weapons, if possible could you fix this?
 


also, in the tail editor, you can give yourself multiple tails, but only multiples of the same type. if possible could you add a function to edit each tail individually? i was trying to edit my character so they had a cock vine tail, and a cunt snake tail for double the fun. unfortunately i can only give them multiples of one type. due to how much more complex TiTs is and how much more content there is, i think adding a function that allows a character to have multiple tails types should be added.


other than that, hoping for a perk editing option later in. kind of want to give my character the "nuki nuts" perk without having to spam Nuki Cookies.


the tail editor is merely a request, so if it isnt possible then i thank you for taking the time to read this post, and apologize if it causes any problems.
 

Karretch

Well-Known Member
Aug 26, 2015
2,068
304
also, in the tail editor, you can give yourself multiple tails, but only multiples of the same type. if possible could you add a function to edit each tail individuall

This is impossible due to the actual game. Won't happen anytime soon if at all unless Fen or Gedan want to change the code to do so, which would be a nightmare headache so don't count your chickens.
 

Etis

Well-Known Member
Creator
Aug 26, 2015
2,500
258
also, in the tail editor, you can give yourself multiple tails, but only multiples of the same type. if possible could you add a function to edit each tail individually? i was trying to edit my character so they had a cock vine tail, and a cunt snake tail for double the fun. unfortunately i can only give them multiples of one type. due to how much more complex TiTs is and how much more content there is, i think adding a function that allows a character to have multiple tails types should be added.






5

Impossible due to how tails are working in game. In the last nightly build it is possible to have something close to what do you want, but it is not recommended, since scenes are not build with such configuration in mind and this can produce weirdshit..