amielleon: My cat. (Cyril: Hearts)
Ammie ([personal profile] amielleon) wrote2012-02-18 05:15 pm

Modifying Suegen Saves

Main Documentation Page / Suegen


Isolating a Character
This will let you load one character at a time. For example, say your current game is set to have a self-insert named Alice, and a love interest named Eve, and you make a save. Your friend wants to play with Eve while keeping his own self-insert. How would you load only Eve?

Your raw save file would look something like this: (The data here is from randomized characters, if you're wondering)


Suegen makes pretty big saves! They're even bigger if you've ever loaded the special options. But anyway. What you want to do is cut out all the data from the first CUT_HERE:"cuthere" until LOVEINTEREST_BEGINS_HERE:"cuthere", and then from LOVEINTEREST_ENDS_HERE:"cuthere" until CUTHERE:"cuthere".

So your modified save would look like this:


(Note that the "begin password" and "end password" things aren't important at all.)

It's okay if the edges don't line up. What's important, though, is that things are cut off in the right places. Basically, each entry between commas defines a variable, so you have to make sure that your splicing still respects the variable:"settothis",nextvariable:"setthistothat" pattern.

Similarly, if we wanted to just load Alice, we'd make our save look like this:



I took the time to alter Choicescript's save code to make modifying saves easier because I think there's a lot of potential fun in sharing characters you've made with your friends, or even making small collections of saves for characters of interest from other series. And it saves me the trouble of having to hardcode popular characters upon demand... *scuff*




Auto-Loading a Vignette

When you load from a save, you'll be taken to the main menu. And before you generate your story, you have to select what the characters angst about, how they meet, and so on. If you want to skip that and make a save load directly into the vignette, here's what you do.

Caution: This will use the angst/ending/meeting options you had set the last time you generated a story. In other words, if you haven't generated a story yet for your couple, this may crash the game or make weird things happen. Additionally, I have in place a system that will automatically update character files in the event that I have to edit Suegen itself; this will bypass that update.

Okay, so at the bottom of your save, you have a region that looks like this:

nder:0,CUTHERE:"cuthere",sceneName:"save
load"
},temps:{choice_reuse:"allow",choic
e_user_restored:false,choice_crc:5483243
60,choice_1:"Save",save:"This`is`a`save`
file`name"},lineNum:17,indent:0}

What you want to do is change sceneName:"saveload" to sceneName:"vignette", and lineNum:17 to lineNum:0. Then anyone who loads this save will be instantly taken to the story.




Sharing Custom Lyrics

Okay, so you've went into special options and made a custom song, and here's what your save looks like.



Yeah... these saves are pretty massive.

As you may have guessed, all the lyrics are stored as "lyricxx". Because those variables are created only if you enter special options (in the interest of space), they'll always come at the bottom. So what does that mean for you? That means you cut up from the last CUTHERE:"cuthere" up to CUT_HERE:"cuthere" at the very top.

So if you want to load my dumb example song, here's what that looks like:



Note that you'll still have to turn the songfic option on in order for this to display. You can do that easily by going into special options and choosing to insert/edit lyrics, or by adding songfic:true into your save.




Hardcore Editing

You can basically do anything by editing a save. I don't recommend it, however. I've designed the interface to give you maximal control over just about everything, and it's much safer to modify things that way. But, if you're adventurous, feel free. Here's some documentation on the nitty gritty.

Variables come in three types: true/false, numeric, and string. When editing, make sure variables stay the same kind of variable, or you're begging for a crash.

When manipulating a string variable, you want to substitute the following characters:

` for a space,
| for a left html bracket,
^ for a right html bracket,
~ for a &,
\\u005e for a ^,
\\u0060 for a `,
\\u007c for a |,
\\u007e for a ~,
\' for a '.

This was done this way because otherwise the some characters get eaten up when you load saves.

So for example, if I wanted to set the love interest's speech quirk to let's kick some @&^% (just theoretically), you'd modify the save to contain dana:"let\'s kick some @~\\u005e%".

Almost all color variables work in the same way:
1 Pink
2 Red
3 Orange
4 Yellow
5 Green
6 Blue
7 Hazel
8 Purple
9 Black
10 Gray
11 White
12 Brown
13 Multihued

What variable does what? Up to you to explore -- this is beyond the scope of Suegen's intended use so I can't be bothered to write documentation on it. :P