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

Animtools - The Penis

Discussion in 'Loader' started by HardMan, May 9, 2015.

  1. HardMan

    HardMan Potential Patron

    Joined:
    May 9, 2015
    Messages:
    5
    Likes Received:
    13
    There doesn't seem to be any function for it, but is it possible to detach the penis when using animtools editor? I don't mean remove it completely just be able to move it freely without having his whole body follow it. I feel like there's a world of untold wonder and amazement by way of new positions if this were possible.

    EDIT:
    http://wikipedia.org/wiki/Gluten
     
  2. jase

    jase Avid Affiliate

    Joined:
    Jun 4, 2014
    Messages:
    120
    Likes Received:
    9
    You know there's an option to make Him invisible? If you set that, only the penis will be shown, so no one will see how hideously contorted you've positioned the guy, unless they manually switch his visibility on.
     
  3. HardMan

    HardMan Potential Patron

    Joined:
    May 9, 2015
    Messages:
    5
    Likes Received:
    13
    The idea isn't to make him invisible, just to move the penis independently. I wanted her to react to the penis while having it placed elsewhere to create some new fun effects. For instance:
     

    Attached Files:

    tyler howe likes this.
  4. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,523
    Likes Received:
    356
    It's technically possible to apply an (x,y) offset to the penis. The animtools editor does not currently include such an option, presumably because it's a niche requirement. If you want to preview the idea (or prove the concept) then you could write a simple Loader mod which applies a hardcoded offset.

    For this particular scenario, it would make more sense to modify some of the code (such as g.her.updateElements) so that the girl's mouth will ignore the penis, track the nipple, and latch onto it after making contact. Depending on scene composition, you could then either leave the penis as-is, or use Animtools to hide it. This approach would be able to scale with breast size and would incorporate breast movement. By contrast, a hypothetical Animtools position file incorporating a penis offset would probably be "locked" to a specific breast size and would look wrong whenever the breasts bounce.



    If you've thought of additional scenarios in which the penis-detachment feature would be useful, then maybe post some more descriptions or sketches. You might be able to convince sby to add it. It's also possible that someone might be able to suggest a workaround which makes some of your ideas achievable without the need to wait for new code.

    Also - what's with the "Gluten" edit?
     
  5. HardMan

    HardMan Potential Patron

    Joined:
    May 9, 2015
    Messages:
    5
    Likes Received:
    13
    I didn't see a tutorial about how to change SDT's code, where does one gain this skillset?

    And I don't know what's up with the gluten thing, Modguy did that. If it's a riddle, it went right over my head.
     
  6. stuntcock

    stuntcock Club Regular Staff Member Moderator

    Joined:
    Jun 5, 2012
    Messages:
    1,523
    Likes Received:
    356
    If you're asking "how do I learn coding in general, or ActionScript in particular" then there are many resources and tutorials available online. You'll obtain faster and better answers by asking on a coding website rather than a porn-game forum.

    If you already know ActionScript (or you've done enough c/Perl/Python/whatever that you feel comfortable just diving in) then you'll need to learn some of the esoterica of SDT and Loader.
    • The SDT stuff determines your payload.
      • For instance, if you want to move the penis around then you'll need a basic understanding of the visual tree.
        • Your payload might be a single line of code, such as: g.him.penis.y -= 50;
      • If you want the mouth to latch onto a nipple then you'd need to decompile SDT.swf and learn how the mouth latches onto the penis. This is much more challenging than the aforementioned penis offset, which is why I suggested making a Loader Request instead of doing it yourself.
        • The payload for this mod would be several proxy methods.
    • The Loader stuff dictates the framework and basic structure of your mod code. Class definitions, variable scope, the means by which your mod reads and manipulates game data, its access to external files, and its interoperation with other mods.
      • Fortunately, you don't actually need to understand ANY of this when starting out. You can just re-use the framework from an existing Loader mod, replace its payload with yours, and then gradually figure out the Loader stuff as it becomes relevant to your modding efforts.
      • You would need to understand this Loader stuff if you were trying to write a "Hello World" mod from scratch, but that's silly. Don't write from scratch. Adapt something that already works.


    Here's a rough guide, based on my own learning path:
    • decide what you want to do
      • If possible, start with a mod which makes a one-time change to the game (e.g. "paint his penis green"). If your mod intervenes continuously in SDT behaviour (e.g. animation, pathing) then it will be harder to assess the mod's effectiveness and troubleshot it.
    • download one of sby's Loader mods, since he's kind enough to include source code with all of them
      • Note: stay away from Animtools. Start with something small.
    • read through the code; understand very little of it
    • tentatively identify the actual payload of the mod
      • In a small mod, most of the code is "overhead" stuff which handles Loader integration, settings file I/O, console output, error handling, variable declarations, etc... The code which actually modifies the game tends to start with either g or main, and it will often include names of clothing or body parts. Examples:
        • main.her.torso.midLayer.rightBreast.nipple.visible = main.her.torsoBack.leftBreast.nipple.visible;
        • g.characterControl.braControl.registerRGBButton(igm.costumeMenu.rgbBra, igm.underwearSwatch, 256);
        • g.him.currentBody.rightArmIK.trackTarget(targetPoint);
    • replace the payload with something which will yield a very obvious effect ( g.her.visible = false; )
    • compile the altered source code, obtain a SWF file
    • load the SWF file in-game, verify that the very obvious change occurs (e.g. girl disappears)
    • return to source code; experiment with something more challenging (e.g. "what happens if I flip his legs upside-down?")
    • learn more about the Loader framework. Extend your mod so that it will accept input from a Settings file and respond to Hotkeys at runtime.
    • gradually become familiar with the visual tree, animation techniques (tweens, IK, transformation matrices), and control flow (if you're dealing with animation, then the ENTER_FRAME event is important)
      • In my case, this process involved a lot of assistance from the senior modders. Mostly reading other peoples' mod code and examining decompiled source files, but also literally asking for help and feedback.
    • learn about unloading and destruction of SDT mods (and memory management, if you haven't already learned it with other languages)
      • When you're extending and debugging your mod, it will often throw an exception or leave the game in an unstable state. That's okay - it won't do any permanent harm to the game files.
      • If you intend for people to actually use your mod, then you'll need to resolve any memory leaks and make your mod clean up after itself. Don't force users to Alt+F4.
    • belatedly read the manual, discover the lProxy class, and start doing things properly
      • lProxy is a very powerful tool, but it's more technically challenging than the "Hello World here's a green penis" stuff described above. If you've never heard the words "proxy", "functor", or "callback" then you might run into trouble. I'd recommend learning these concepts in a context (e.g. textbook or classroom) where you'll have better insight into what the code is actually doing.

    Oops. I just realized that it's a reference to a South Park episode (in which eating gluten would cause the penis to detach from the body).
     
  7. sby

    sby Club Regular Content Creator

    Joined:
    Sep 11, 2012
    Messages:
    1,339
    Likes Received:
    76
    i have 2 tutorial videos in my imports thread in the 'other' downloads about code modding. there are also links to the things i show in the video.