1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

New Loader unloads mods when loading a custom character

Discussion in 'Help' started by Kent, Oct 4, 2016.

  1. Kent

    Kent Potential Patron

    Joined:
    Feb 5, 2016
    Messages:
    11
    Likes Received:
    0
    Ok, before I fully describe this bug and how to replicate it, let me explain how I save my characters. I save them as a mod. Within my mods folder is another folder just for characters, and each character folder has its own code.txt, a hair file and in some cases, a background file. I don't click the 'Save Custom Character' button in the loader. I just make a new character folder myself. Maybe this is odd, but its how I do it.

    Also, I just switched to the new loader, 5.45d. I used 5.45c for a short while and I DID see this bug while using 5.45c. I switched back to an older version (not sure what version, I think it came with WeeWillies pack) and there was no bug. As far as I can tell, this bug is caused by the newer versions of the loader.

    I'm using the standalone flash player 22. I have tried to replicate this bug with the debugger, and although the bug does happen, I get no error message.
    ~~~~~~~~
    Anywas, bug. I noticed that at least one mod, HisHeadBlonde.swf (an obvious mod to lose) gets removed, or unloaded.

    Steps and results:
    1) Load the loader, load a simple dialogue text file to load an animtools position. All is fine, head is still on his shoulders.
    2) Load the loader, load a character, then load a simple dialogue text file to load an animtools position. Bug. The guy is missing his head
    3) Load the loader, hit the reset button, then load a simple dialogue text file to load an animtools position (no custom character is loaded). Bug. Missing head.

    I've tried this with other animtools positions but they all have this issue when doing step 2 or 3.

    I'm sure other mods are being removed, like SwallowScaling.swf, since this mod states that "The effects of this mod do not persist after resetting." So, in step 2, even though I do not hit the reset button, loading a character folder seems to reset and clears certain mods. Is this intended? Is there anyway I can fix this on my end or just patiently wait for an update to fix this?
     
  2. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,519
    Likes Received:
    352
    Not at all! That's probably the best method for saving characters, since it gives you complete control over the process. You can even tweak the Settings.txt stuff on a per-character basis. Many people don't use this saving technique because they don't understand how to setup Character Folders, or because they prefer the convenience of the Save Character button. If you're comfortable with it, then please continue to use it.

    Not exactly. The change is caused by the Settings.txt file which accompanies the Loader download. If you deploy the complete ZIP archive into your SDT folder, then it will overwrite your existing Settings file with @ModGuy's defaults.

    Therefore, I'd encourage you to replace only your Loader.swf file when updating. Unless the changelog indicates a major change or a new config parameter, of course.

    The key behavior here is RESET. A Reset is used to recover the game to a stable state. Many Loader mods will do destructive things (such as removing or replacing entire limbs). Example. Let's imagine that you setup a Character Folder for the interrogation droid. Clicking this item in the roster will replace the guy with a droid. But you cannot simply switch back to the regular male by selecting a different character, because the regular-guy artwork is essentially "destroyed". In order to resume normal play, you must Reset.

    Therefore, the Loader includes a configuration option (resetCharOnChange=1) which automatically performs a Reset whenever a different character is selected via the roster. Any weirdness or residue from the previous character will automatically be cleared away.

    This behavior isn't always desirable! For example, you might have a set of Character Folders for male mods, and another set of female characters. In theory, you could click one boy and then one girl to add both of them to the scene. In practice, the game will Reset when the second selection is made. Your custom guy will vanish; your custom girl will be paired with a generic guy.

    Your SDT folder presumably included an older Settings.txt file which omitted the resetCharOnChange parameter (or set it to false). Therefore your mods worked correctly until you accidentally overwrote the Settings file while applying a Loader update.

    Remedies:
    • disable the automatic reset behavior (resetCharOnChange=0 in Settings.txt).
      • your scene may fill up with weirdness (mod residue, missing body parts, etc) such as the aforementioned droid
      • you may occasionally need to perform a manual Reset action, by clicking the button. Or you can just restart the game when things become too cluttered.
    • allow the automatic Reset to occur, but then add some automatic followup
      • the Mods\$RESET$ folder will be activated whenever a Reset occurs, so you can add items here which you want to include in the post-Reset scene
      • for example, you might include the HisHeadBlonde.swf file, if you always want it to be included in your gameplay
      • SwallowScaling.swf would also need to be included here (since it doesn't persist). But animtools would not be placed here, because it is persistent and should be loaded only once (typically via Mods\$INIT$)
    • allow the automatic Reset to occur, but include male mods in each girl's definition
      • including a copy of HisHeadBlonde.swf in each girl's Character Folder will ensure that the special male head will appear alongside her, regardless of any loading shenanigans
      • this option would be most appropriate if you want to assign different male heads to each girl. If you're always using the same head, then dumping it into Mods\$RESET$ would be more convenient
     
  3. Kent

    Kent Potential Patron

    Joined:
    Feb 5, 2016
    Messages:
    11
    Likes Received:
    0
    Ahh I see, thank you very much. I've never messed with the reset folder before and I've just forgotten about it. However I'm still having an issue here.
    ^ This is what I would like to accomplish if possible.
    I've added both the HisHeadBlonde.swf and SwallowScaling.swf mods to the reset folder like you suggested. If I follow step 3, there is no issue and the mods load just as intended. However, if I follow step 2, I still get the same result as before. Loading a character still removes HisHeadBlonde.swf. I suppose I could just add these mods to each character folder like you suggested, but for the sake of convenience, how can I fix this?
     
  4. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,519
    Likes Received:
    352
    Mea culpa. I didn't actually test the second solution before telling you to use it.

    The problem is that $RESET$ gets activated before the Reset stuff occurs. We can't use it to add anything to the scene, because our additions will immediately be wiped away.

    The $OVER$ folder is engaged after Reset. It's slightly risky, because it could potentially inject several copies of an object into the scene (which would degrade your FPS). If you're using the ResetCharOnChange=1 setting then no such accumulation will occur. During testing, I was unable to produce any FPS problems with Dante's head mods.

    tl;dr - Try using $OVER$ instead of $RESET$ for solution #2. Or try a different solution.
     
  5. Kent

    Kent Potential Patron

    Joined:
    Feb 5, 2016
    Messages:
    11
    Likes Received:
    0
    Alright that worked. Except it turns out the HisHeadBlonde.swf removes clothing when loaded XD. So if any clothes are loaded before $OVER$ loads HisHeadBlonde.swf then the clothing gets removed.
    I feel like this is now an issue with the mod itself. Is there a simple way to fix this? Or should I just try a different solution?
     
  6. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,519
    Likes Received:
    352
    My copy of it does not. The ActionScript is very concise.

    Code:
    param1.g.inGameMenu.loadData("hisskinhsl:0,1,1,1;hisBody:male;hisSkin:0;");
    param1.loadCustomFull(new historso(),".|Him.torsoLayer.torso","x:0;y:0;r:0;a:1");
    param1.unloadMod();
    
    Your Settings file specifies resetCharOnChange=1. Whenever you select a character via the roster, the game will Reset. It will discard its current state (including the background image, custom dialogue file, any semen strands that are present, any clothing that is being worn, the custom Animtools position, etc) and revert to a completely default scene.

    It will then apply whatever is inside the chosen Character Folder (new background, new dialgoue, new position, etc). So you'll need to select the character and then customize her clothing (instead of tweaking the clothing and then loading the character). Or you'll need to specify the custom outfit within the Character Folder definition (via code.txt or mods.txt, or some combination thereof).

    If you don't want the Reset to occur, then you should employ the first solution described above: change your Settings file so that resetCharOnChange=0.
     
  7. Kent

    Kent Potential Patron

    Joined:
    Feb 5, 2016
    Messages:
    11
    Likes Received:
    0
    Thank you. I made a few changes so I should have the settings I wanted. I kept resetCharOnChange=1 since sometimes a mods sticks around longer than I'd like, but I had to add HisHeadBlonde.swf to every character folder. Thank you very much!