HTH Dialog Developers Group

General Category => XML and technical stuff => Topic started by: 1r2k5ng09df8s3 on November 08, 2019, 02:01:40 pm


Title: Scene Repair
Post by: 1r2k5ng09df8s3 on November 08, 2019, 02:01:40 pm
This is where I’ll post scene renovation and repair!
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 08, 2019, 04:52:41 pm
Jasmine Cowgirl

I am working on re-working this scene.

Things I want to accomplish:
Up-to-date GUI. I sampled the GUI from Anahi's Anal Scene as it was already positioned correctly and had the ideal amount of buttons
smooth-transitions
Cum during orgasm-I have no idea how to do this
Substitute Jasmine's mohawk? for her normal hair

Things I have already accomplished:
Dynamic p e nis
Redrawn glitched out sprites
fixed √agina glitching due to bad-keyframe

Check back periodically as I will modify this post whenever I fix different issues or find new ones

reworked version is here: https://anonfile.com/6debo0Adn7/RECOVER_jasmin_sex_a_swf
 


Title: Re: Scene Repair
Post by: Tabby on November 09, 2019, 12:56:05 pm
Unfortunately, you are still using original scene file as a base for your modifications. Which was considerably broken. I've done some script repairs in the past. Please use the latest if possible. Otherwise I would have to find and fix again all what what was broken.

The latest file version attached, just for sure.

[attachment deleted by admin]
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 09, 2019, 02:30:01 pm
I sourced the original from .670 I think
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 09, 2019, 02:31:21 pm
And this took me a couple of hours to fix and I’d really rather not have to do it again, but if  the version I used is too broken I’ll redo.
Title: Re: Scene Repair
Post by: Tabby on November 09, 2019, 11:02:07 pm
I sourced the original from .670 I think
Can't be. There are broken things I fixed in version 0.666
Which is at least: Main animation stop at the last frame of climax, boobs bouncing stop at the last frame of climax, controls fix to change number color when speed changed by keyboard key (not only on mouse click), fixed misspelled character name in return variable update. There may be more things I fixed and forgot.
The only update I've done for 0.671 is added cum (copied from 2012 version of that scene), but I'm not sure if it was done before or after I shared the 0670+1/4 version.
Scripts in your version are definitely from some original file.

I'm not sure what all you have modified, also I don't know what file you started with as player body animation is included in body DefineSprite in all versions I have, but in your version player body does not have it's own DefineSprite but it's part of sex animation DefineSprite. So it may be not straightforward to merge.

Regarding the hair, we can copy other hair styles from her sprite file (data/subdata/swf/npc/sprites/sprite_jasmine.swf) and attach it to her head DefineSprite.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 10, 2019, 03:10:01 am
Ok will do.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 14, 2019, 06:33:58 pm
Jasmine Cowgirl

I am working on re-working this scene.

Things I want to accomplish:
Up-to-date GUI. I sampled the GUI from Anahi's Anal Scene as it was already positioned correctly and had the ideal amount of buttons
smooth-transitions

Things I have already accomplished:
Dynamic p e nis
Redrawn glitched out sprites
fixed √agina glitching due to bad-keyframe
Fixed her hair
Cum works

Check back periodically as I will modify this post whenever I fix different issues or find new ones
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 14, 2019, 07:23:19 pm
You asked what I changed regarding the dynamic player, it wasn’t keyframed in the animation define sprite, and the player is static. Even though it isn’t animated in the final product, the player base has animations in it’s define sprite. I added it to the original version by ctrl-c copying the key frames from the define sprite and pasting in definesprite 322, but it took a while. Is there an easier way to get the key frames?
Title: Re: Scene Repair
Post by: Tabby on November 14, 2019, 10:17:18 pm
As it turns out, player movement has animation sequences for 3 speeds and climax in DefineSprite(299). The starting frames has labels "a", "b", "c" and "pump".
If you changed something, DefineSprite number may be different.
All you need to make it play is to add script calls in sex animation sequence (DefineSprite(322) in latest file) to make it play for each speed.
Speed 1 starts at frame 50 (labeled "a"), there is already script call to make boobs bounce play in that frame (albeit using deprecated TellTarget statement), so you add player.gotoAndPlay("a"); line in that script.
Speed 2 starts at frame 101 (labeled "b"), add player.gotoAndPlay("b"); line in frame script.
Speed 3 starts at frame 141 (labeled "c"), add player.gotoAndPlay("c"); line in frame script.
Climax starts at frame 156 (labeled "x1"), add player.gotoAndPlay("pump"); line in frame script.

I've tried that now, it works. But you say you've already done some modification to the file (not attached) and this is really easy and quick modification to do in your file.


Regarding using controls from another file, don't forget to replace button scripts with ones used in target file.

However, as I looked at current Jasmine speed buttons scripts, Crow botched his unfinished smooth speed change. He probably copied this speed control scripts from another scene where it is finished. I can update scripts the way the animation speed changes at the last frame of each speed sequence instead of immediately (causing animation jump/discontinuity).
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 15, 2019, 01:21:44 pm
Alright will do
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 23, 2019, 02:00:03 pm
Where can I find the scripts for the buttons? I’ve had a little trouble finding them in flash.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 23, 2019, 02:49:50 pm
Jasmine Cowgirl

I am working on re-working this scene.

Things I want to accomplish:
Up-to-date GUI. I sampled the GUI from Anahi's Anal Scene as it was already positioned correctly and had the ideal amount of buttons.
Cameras? How would I set this up?

Things I have already accomplished:
Dynamic p e nis
Redrawn glitched out sprites
fixed √agina glitching due to bad-keyframe
Orgasm works now
Jasmine’s hair is fixed and animated.

Check back periodically as I will modify this post whenever I fix different issues or find new ones

reworked version is here: https://anonfile.com/6debo0Adn7/RECOVER_jasmin_sex_a_swf
[/quote]
Title: Re: Scene Repair
Post by: Tabby on November 23, 2019, 07:45:57 pm
You are trying to kill me. That's the broken outdated file again!
Now I noticed that you linked your old Anonfile upload, not new one...

Regarding button scripts, each DefineButton() record has one or more events defined as scripts with the same number as the button itself. They are usually on(release) , on(press), on(keyPress "2") and so on. Such script is executed when mouse is pressed, released respectively, when over button area. Similar with keyboard key press.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 24, 2019, 03:28:22 am
The new file isn't attached my apologies hehe that is the earlier post just copied over with an updated list of accomplishments
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 24, 2019, 04:08:21 am
I've taken a long look at the scripts and am not totally sure how I can incorporate the control script without linking my own parent controller. I code in Lua and Python so Action Script is totally alien to me. I'm going to give it some more thought and effort in the morning and I'll get back to you with results
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 25, 2019, 02:15:50 am
OK so I now know how to script the camera but I don;t know how to set the zoom. Any thoughts?
Title: Re: Scene Repair
Post by: Tabby on November 25, 2019, 09:32:51 am
There are two ways to make a zoom:
1. Flash style: Find a suitable node of object tree:
  The jasmine_sex_a SWF file contains following object tree:
Main time line
-area (DefineSprite 324)
  -char (DefineSprite 323)
    -sky (DefineSprite 216)
    -(unnamed) DefineSprite 218 (background)
    -jasmin (DefineSprite 322) (sex animation)
      -... body parts
      -player (DefineSprite 299)
-controller (DefineSprite 342)

Where the "area" object instance defined by DefineSprite(324) object class is the best candidate as it has only one frame with one child object instance "char".
So now add second frame to DefineSprite(324) in which you change "char" object instance scale: I don't know how it's done in Adobe Flash tool, but in FFDec SWF editor you add PlaceObject2 tag where you fill the same depth (1) already occupied by "char" object, set move flag, leave character parameter empty and fill scale parameter in matrix record. xscale and yscale in SWF is 16.16 fixed point number, where value of 1 (0x00010000 for 16.16 fixed point) means 1:1 or 100%. Also change x and y coordinates, both are in pixels of parent object scale.
Now you can add third frame with third zoom level the same way.
But flash would play the frames by default so you need to stop the sequence on load.
You can either add script to the first frame of object class DefineSprite(324), or as an onLoad() event script to the object instance (in the PlaceObject2 record in the main timeline). In both cases the script should contain only one statement stop().
Now how to control the zoom sequence. First add frame labels to all frames you have, i.e. "zoom1", "zoom2", "zoom3". Avoid using numbers as names, because when you have 6th frame labeled by name "2", then flash player get confused on gotoAndStop("2); statement whether to go to the frame number 2 or frame number 6 labeled "2". That's what Crow has done and then swears that Flash is breaking his game.
Now set the control buttons. Each button has mouse event script, either on(press) or on(release), doesn't really matter which one. I may have on(keyPress "z") event defined too.
For each button add gotoAndStop("zoom1"); statement for particular frame label. But because the zoom button instance is in the unnamed child of "controller" object  (when using Anahi controller), not in the "char" object, you have to climb up the object tree using _parent reference and then down the zoom object by it's "char" instance name, so you have _parent._parent.char.gotoAndStop("zoom1"); /zoom2 or zoom3 statement in each button script. Alternatively you can go from the top of the object hierarchy using _root reference. However top of the hierarchy depends whether is the file played standalone (file main timeline is _root) or file is loaded by the launcher (launcher main timeline is _root, file main timeline is mounted as _root.LVL object), so statements using _root reference works only one mode.
Still keep zoom button green sign movement statement in each button script, i.e. _parent.camera_controls_glow.gotoAndStop("d"); when using Anahi controller. Do not use Crow's favorite tellTarget(){} statement, it has been deprecated since AS1 before Crow even started creating HTH.

2. ActionScript style: It's actually easier way to do this but Crow cannot code in AS2 even after 20 years of doing that.
Each object instance of MovieClip class (which is represented by DefineSprite in SWF) has coordinates and scale properties:
_x and _y numbers in pixels of parent object scale,
_xscale and _yscale numbers in percentage (100 = 1:1).
So in order to create a zoom you only need to change zoom button scripts. For example:
_parent._parent.char._xscale = 200;
_parent._parent.char._yscale = 200;
_parent._parent.char._x = -500;
_parent._parent.char._y = 2000;
... and keep _parent.camera_controls_glow.gotoAndStop("b");

I hope it's clear enough.
I'm not a programmer either, I've learnt Flash & ActionScript barely an year ago with single purpose of hacking HTH game :-)
Well, neither is Crow, that's why he uses only like 5 basic AS2 statements and often wrong way.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 25, 2019, 01:26:56 pm
The guy is going to kill himself I swear
Title: Re: Scene Repair
Post by: Tabby on November 26, 2019, 07:41:38 pm
I can do scripts for you, if it's too overwhelming.
I'm not a programmer myself, but I use to do some programming (albeit in assembler, C, C++) as minor side tasks for my job.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on November 26, 2019, 11:09:49 pm
I’m definitely going to give it a try in order to get better at AS2
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 01, 2019, 03:13:53 am
Ok so I haven’t really had time to learn ActionScript and I’m quickly realizing that I’m holding up our collective progress so I’d like to apologize. I’ve defined all the buttons and update the gui, but this time I’ll have to leave the scripting to you. The file will be attached by Monday if not tomorrow.  I’m getting some 8 or 9 days free time over Christmas so assign me some scenes to repair or a character to dialogue.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 02, 2019, 04:28:32 pm
Before I post the file, will you need a symbol movie clip for the Camera control buttons?
Title: Re: Scene Repair
Post by: Tabby on December 02, 2019, 06:33:23 pm
I'm not sure what is a symbol movie clip. Just make sure that each key frame of controller has a script tag as FFDec does not support adding these.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 02, 2019, 11:40:36 pm
So you will need a separate controller for the camera?
Title: Re: Scene Repair
Post by: Tabby on December 03, 2019, 11:08:53 pm
Upload swf file of what you have. I'll look inside and tell back if something needs to be different way.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 04, 2019, 12:29:59 pm
That won’t be necessary.
I Have everything except one thing
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 04, 2019, 02:00:27 pm
OK this is what I've got so far. Everything works I'm pretty sure except for the cam buttons. I can't get them to behave for some reason... I'll repost if I figure it out. After this I'm moving on to jeanette cowgirl and filling in the player's arm

[attachment deleted by admin]
Title: Re: Scene Repair
Post by: Tabby on December 04, 2019, 09:02:26 pm
There are multiple things wrong with that file.
1. Main sex sequence: You have a script on each speed first frame, but you somehow lost script on last frame of each speed to loop animation back to the first frame of particular speed.
So when the first speed first frame number 50 named "a" has script:
play();
tellTarget("_root.LVL.NPC.area.char.jasmin.****")
{
   gotoAndStop("a");
   play();
}
player.gotoAndPlay("a");

Which is botched Crow style script telling "****" object to play "a" sequence and "player" object to play "a" sequence.
(first play() is unnecessary, object is is already called to play starting at particular frame; tellTarget is deprecated statement but still working to move focus of following statements to object "_root.LVL.NPC.area.char.jasmin.****" which is unnecessary referenced from the top of the hierarchy while this script is already in "jasmin" object; gotoAndStop() followed by play() is equal to gotoAndPlay() statement which should be used instead; so the 5 middle lines should be replaced by simple ****.gotoAndPlay("a") statement).
You need also a script in the last frame (unnamed frame 100) of the first speed telling to play again from the first frame of this speed. That's done by single statement gotoAndPlay("a") = play this from frame named "a".

The same with the second and third speed: Add script gotoAndPlay("b") to the frame 140 (last of the second speed) and gotoAndPlay("c") to the frame 155.

The climax sequnce need script to stop in the last frame of the sequence, otherwise playing restarts from the first frame of object (sprite) timeline. So add script with stop() statement to the frame 200.

Now about the camera controller:
First, you have camera buttons in separate invisible object (sprite). There is no reason for that. In the object (sprite) where you have visible button drawings, you place the object with buttons in the first frame of camera controller, then in the second frame you remove object with buttons and place it again back. That deletes state of the object with button and creates it again starting in the first frame. I suggest to place each button object to particular frame of camera controller object.
Then gotoAndStop(...); will work at least moving this camera controller frame.
There is still no object with multiple frames of different zoom for the sex scene. You don't need to create one, you can change it's zoom and position instead of creating multiple frames.
To change zoom of not just sex scene, but also with background together, manipulate "area.char" object:
Place following statements in your button scripts:
_parent.area.char._xscale = 200; (use any number you want)
_parent.area.char._yscale = 200; (use the same number as above to keep aspect ratio)
_parent.area.char._x = ...; (some number of new relative horizontal position)
_parent.area.char._y = ...; (some number of new relative vertical position)

The default zoom and position offset for "char" object in default zoom (use for camera1) is: _xscale = 100; _yscale = 100; _x = 0; _y = 0;

The censored object name is t-i-t-s.
I hope Crow's lawyer nukes this board soon so I can setup new decent one and don't need to deal with F-U-C-K-I-N-G SmfNew boards anymore. I didn't expect that a pirate board could live on public free forums site longer than 3 weeks.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 04, 2019, 10:13:38 pm
Ok I’ll look into it. This is my first time really working with flash so thanks for being patient. I’ve almost completely finished redrawing the Jeanette scene so I’ll post then
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 04, 2019, 11:53:30 pm
Okay I think I finished the Jeanette redraw. Does it look okay or do you want me to redraw the player's right thigh?

[attachment deleted by admin]
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 05, 2019, 02:58:30 am
Here's Jeanette's scene redrawn so far. I don't know what the issue is with the eye sprite but it should all work.

https://anonfile.com/P3Tc0aDan6/jeanette_sex_b_swf
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 05, 2019, 08:09:09 pm
There are multiple things wrong with that file.
1. Main sex sequence: You have a script on each speed first frame, but you somehow lost script on last frame of each speed to loop animation back to the first frame of particular speed.
So when the first speed first frame number 50 named "a" has script:
play();
tellTarget("_root.LVL.NPC.area.char.jasmin.****")
{
   gotoAndStop("a");
   play();
}
player.gotoAndPlay("a");

Which is botched Crow style script telling "****" object to play "a" sequence and "player" object to play "a" sequence.
(first play() is unnecessary, object is is already called to play starting at particular frame; tellTarget is deprecated statement but still working to move focus of following statements to object "_root.LVL.NPC.area.char.jasmin.****" which is unnecessary referenced from the top of the hierarchy while this script is already in "jasmin" object; gotoAndStop() followed by play() is equal to gotoAndPlay() statement which should be used instead; so the 5 middle lines should be replaced by simple ****.gotoAndPlay("a") statement).
You need also a script in the last frame (unnamed frame 100) of the first speed telling to play again from the first frame of this speed. That's done by single statement gotoAndPlay("a") = play this from frame named "a".

The same with the second and third speed: Add script gotoAndPlay("b") to the frame 140 (last of the second speed) and gotoAndPlay("c") to the frame 155.

The climax sequnce need script to stop in the last frame of the sequence, otherwise playing restarts from the first frame of object (sprite) timeline. So add script with stop() statement to the frame 200.

Now about the camera controller:
First, you have camera buttons in separate invisible object (sprite). There is no reason for that. In the object (sprite) where you have visible button drawings, you place the object with buttons in the first frame of camera controller, then in the second frame you remove object with buttons and place it again back. That deletes state of the object with button and creates it again starting in the first frame. I suggest to place each button object to particular frame of camera controller object.
Then gotoAndStop(...); will work at least moving this camera controller frame.
There is still no object with multiple frames of different zoom for the sex scene. You don't need to create one, you can change it's zoom and position instead of creating multiple frames.
To change zoom of not just sex scene, but also with background together, manipulate "area.char" object:
Place following statements in your button scripts:
_parent.area.char._xscale = 200; (use any number you want)
_parent.area.char._yscale = 200; (use the same number as above to keep aspect ratio)
_parent.area.char._x = ...; (some number of new relative horizontal position)
_parent.area.char._y = ...; (some number of new relative vertical position)

The default zoom and position offset for "char" object in default zoom (use for camera1) is: _xscale = 100; _yscale = 100; _x = 0; _y = 0;

The censored object name is t-i-t-s.
I hope Crow's lawyer nukes this board soon so I can setup new decent one and don't need to deal with F-U-C-K-I-N-G SmfNew boards anymore. I didn't expect that a pirate board could live on public free forums site longer than 3 weeks.

Okay my issue is where I have to add the loop script at the end frames of each speed section. When I insert a frame on the timeline and apply actions to it, the frame takes up more than one frame of space, so some of the frames are clipped off.
Title: Re: Scene Repair
Post by: Tabby on December 05, 2019, 09:06:56 pm
I have no idea how it's done in Adobe tool, I never used that. You have to add script to the last (existing) frame in the timeline for that speed - not to add a frame. The action that is executed once the frame is entered. Not onEnterFrame() action - that is executed not just when object timeline moves to that frame but it keeps executing it all the time it stays in that frame.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 05, 2019, 10:27:12 pm
Okay I guess I’ll just have to look up how to do that
Title: Re: Scene Repair
Post by: Tabby on December 05, 2019, 10:43:40 pm
That scripts in last frames of speed sequences works in jeanette_sex_c.swf in 0.671 If you can disassemble/convert/open that file again, you should see that there. Then try to somehow replicate that in your file.
Regarding eyes, the eyes object seems messed up in your file, at least layers (depths) of shapes composing the frame seems swapped. I didn't look deeper as I believe we can copy intact eyes object to your file to replace the broken one.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 06, 2019, 03:21:07 am
I think my flash is a little messed up. All of my scripts break upon opening files
Title: Re: Scene Repair
Post by: Tabby on December 06, 2019, 07:51:29 pm
I tried to copy your drawings (DefineShape) from your file to current jeanette_sex_c.swf file and I could replace unfinished shapes easily without breaking anything. So don't put too much effort in fixing that file because I can use your drawings anyway.
I didn't bother with zoom as you may be able to fix your file yet.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 07, 2019, 03:13:07 am
Ok so I fixed the gotoandplay, but the vag is misaligned just like in the original and I can’t figure out how to fix it without rekeying the entire.
Title: Re: Scene Repair
Post by: Tabby on December 07, 2019, 08:58:33 pm
I'm not sure about this one, pus*y positions seems ok, at least in scene version I posted & added as jeanette_sex_c in the last working build. Is the position different in your file? However, pus*y drawing seems a bit strange to me, but it was most likely Crow's intention because he just drawn it like that.
If you want to change pu*sy position by one constant offset in all sex sequence frames, you don't need to change position in all frames, you can change just position of pus*y drawing shape in the sprite that is added and moved in sex sequence.

I'm a bit concerned that you seems to put all your time in struggling with this one scene. It looks good enough with your drawings added. There are other things I need your help with too.

Regarding the scene work, I have a challenging task for next year. Vixxxen blowjob scene. Crow created a file with scene concept, drawn all body parts but haven't done animation. It has 22 body parts to move in a sequence so it's no way to have it in upcoming v0.671
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 08, 2019, 03:53:55 am
Ok, I have buttons I just don’t get the structure of adobe flash at all. For instance the hierarchy and AS2 language is weird to me. I’ll try to key a new position for the pu*y by extending the first speed and shortening the introduction thing, recreate the button sprites and leave the zoom to you. I’ll do a little more YouTubing in Action Script and we’ll go from there.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 20, 2019, 04:08:14 pm
All went well granted I am about 12h late.

Flash would crash on me every time I went to edit the cam zoom so I left that to you. the buttons work now after I removed a bunch of TellTarget statements and the GUI is fully updated.
The only thing you have to do is set zoom for both camera zoom buttons and set the smooth transitions. If you could fix the scene text That'd be great as I haven't figured that out yet either.
If you don't want me doing anything else, I'm moving on to Rose's cowgirl scene. There is a graphical anomaly near her shoulder during her second speed.

Scene: https://anonfile.com/P1E0jeHcne/jasmine_sex_a_swf
Title: Re: Scene Repair
Post by: Tabby on December 20, 2019, 11:01:55 pm
Fixed and enabled zoom in your file, also added "Z" key and left it functional during/after climax.
Speed control scripts updated to change speed at sequence loop end only, fixed loading text. The last one was a bit tricky as the cause was not a text, but screen wide HTH sign in background had clip depth set so it was not displayed but acted as a mask for text in layer above.

Also fixed Rose back segment speed 2 misalignment. It turned very easy because lines on her back moves the correct way, I moved back segment drawing to DefineSprite containing that lines. So it moves together.
Changed right side but* drawing segment to exclude part of back drawing so it does not mis-align.

(Mod: Attachment removed to save file space)
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 21, 2019, 03:45:33 am
Ok then. I’ll move on to Brittney’s scenes then. All of her scenes need GUI’s redone and all of them have the stupid view limiting  mouse camera. After that should we move on to Kendra’s sideways scene?
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 21, 2019, 04:02:34 pm
Only one small problem with that scene, the **** glitch at the end of climax scene. easy fix i suppose we could just use different speed?
Title: Re: Scene Repair
Post by: Tabby on December 21, 2019, 04:24:55 pm
Ok, I somehow missed that. Fixed b**bs to slow down to stop during climax.

What I need now is that dialog corrections. At least Tight, Ava and guide. I know it's not fun like doing scenes, but time is almost out and you are the only one capable of doing that. Huk seems vanished and my English is not on the level, my writing skills non-existent. Please do that first.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 21, 2019, 09:59:25 pm
I think that although dialogue is a vital part of this game, there are so many mistakes that I want to fix first. I’ll finish with Kendra’s sideways scene and then I’ll fix Ava.
Title: Re: Scene Repair
Post by: Tabby on December 22, 2019, 12:02:56 am
If we are going to fix all what is wrong in HTH, the build 0.671 won't be ready for public release even by Christmas day next year.

I hoped to finish what is currently in progress and do other stuff once the 0.671 is out. The only other way is to remove all half done things: remove Tight, revert guides to old original HTH, and so on.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 22, 2019, 02:07:39 am
I think we should just prioritize what we’re fixing. The scenes really need to be fixed and updated and many of them are eyesores. The dialogue can wait until next version until we can fix each/most scenes.
Title: Re: Scene Repair
Post by: Tabby on December 22, 2019, 11:55:01 am
My priorities are more balanced. The scenes have been imperfect for almost a decade, so it doesn't need absolute priority. For next year, along with scene fixes I want to add new stuff at the same time: Different climax options, animate remaining unfinished scene and maybe create some new scene by reusing parts of scene of another character, draw and implement prego belly in respective scenes (I'm not much into prego, but some users love that) and also continue with dialogs and some jokes.
Recreating background image system is lower on the list, but definitely a candidate for next year. I don't care much about how controls look as far as all work correctly.


But for v0.671 I have different problem: I don't want to upload my flawed English and I would really hate to spend my effort on removing and reverting updates I have already done. So,

Build v0.671 is CANCELLED

until I can find someone willing to do at least language corrections.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 22, 2019, 02:44:29 pm
Do not cancel. Just postpone. I’ll work on language fixes
Title: Re: Scene Repair
Post by: Tabby on December 24, 2019, 09:52:13 pm
I know It's a Christmas day (was for me), but if you happen to have language fixes done now, I can complete and upload v0.671. If you have it done by your late evening/night, I may be still able to do that, but not guaranteed (upload takes hours over Tor). I'm leaving then for the rest of the year.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 24, 2019, 11:01:55 pm
Ok. I have Taight. But nothing else. I think 0.671 could be for new year’s?
Title: Re: Scene Repair
Post by: Tabby on December 25, 2019, 11:42:51 am
Just post what you have when you have it.
If I get chance to get home for a night before the end of year I can use that. I can't tell yet, my plans are not on me.
Anyway, I'll have read only access to this board via phone, just won't log in. So I can check and think about your suggestions in advance.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 25, 2019, 04:53:37 pm
Ok I finished Taight here it is
Title: Re: Scene Repair
Post by: Tabby on December 28, 2019, 11:51:46 am
You've said that you are doing some Kendra and Ava scenes update. Which Ava and how far & what particularly are you doing?
I started some Ava kittystyle scene modifications, through for 0.672 as I really want 0.671 out before I have this done.
I want to improve Ava's crotch drawing (already done), add 1 wait frame in speed 4 deepest point (so the rendered frame is clearly seen), fix left part of vag misalignment, add second climax option with d*ck inside and cum splashing out.

I want to avoid situation where each of us is  modifying different branch which could be hard to combine into one file.

Regarding the sound in official unfinished doggystyle update, I've inspected that deeper and I can likely reuse part of that. Fortunately that awful sqeaking dildo sound can be removed. Also I can't say that I like that "oh GOD!" climax.
FFDec does not support SoundStreamBlock SWF tags, but I should be able to control sound using script. The problem is that sound volume is a bit broken in Flash. It works somehow in the Trong version of Flash Projector, any sound volume change changes all game sound volumes in Adobe version of Flash Projector. Hierarchical volume control works in neither.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 28, 2019, 09:08:31 pm
I meant Ava dialogue. It will be posted soon
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 28, 2019, 09:18:49 pm
The trong projector will be the only one used in the Mac version. I have the units ready, just trying to finish up dialogue. The Kendra sideways scene is giving me a lot of trouble, since none of the buttons work for some reason. My only confusion with Flash is labeling and referencing objects from a script. I find the only way to reference objects is using the absolute method. But then the scene functions standalone but not in game
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 29, 2019, 11:22:01 pm
Okay here’s kendra’s sideways scene. There wont be cameras unless you want them. Her eyesprite is broken and I couldn’t get it working and the buttons need smooth transitioning.

One final thing we could do with Jasmine’s scene is use the boob sprite from either tanya or Bella’s cowgirl scene and substitute Jasmine’s nipples to fix the animation once and for all.

(Mod: Attachment removed to save file space)
Title: Re: Scene Repair
Post by: Tabby on December 30, 2019, 10:54:18 am
Jaw is broken also, it disappears at some point.

I have no time left today, I'll look inside when I'm back.
Please tell me what exactly was modified so I can combine working parts of old and new file correctly.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on December 30, 2019, 02:32:55 pm
I’ve changed sprite 267 and added the sprite with the green speed indicator. I think anything else after that is just script changes.
Title: Re: Scene Repair
Post by: Tabby on January 07, 2020, 12:18:10 am
That is true mess. Awful resized bitmap backpad for controller and Crow-style inefficient implementation.
Please do not waste your time on this, there is much more sophisticated way to do that using simple copy-paste-edit script.

For start lets learn how to draw rounded rectangle pad with pink line and how to place text on that.
Let's assume we have a SWF file with a loading screen in frame 1 and scene in frame 2. Let's assume there is no controller at all yet. So have a key script (action?) for frame 2, where is already stop(); statement to stop the file in that last frame.
Add following code to that script:

// first create a function to draw rounded rectangle back pad
function drawRoundedRectangle(target_mc:MovieClip, boxWidth:Number, boxHeight:Number, cornerRadius:Number):Void
{  // Note: when using FFDec, omit parameter types as FFDec can't compile parameter types and flash ignores types anyway
  with (target_mc)
  {
    beginFill(0x000000, 100); // black fill, full aplha
    lineStyle(5, 0xff00ff, 100); // line 5 points wide, some pink color (RGB 0xff00ff), 100% alpha
    moveTo(cornerRadius, 0);
    lineTo(boxWidth - cornerRadius, 0);
    curveTo(boxWidth, 0, boxWidth, cornerRadius);
    lineTo(boxWidth, cornerRadius);
    lineTo(boxWidth, boxHeight - cornerRadius);
    curveTo(boxWidth, boxHeight, boxWidth - cornerRadius, boxHeight);
    lineTo(boxWidth - cornerRadius, boxHeight);
    lineTo(cornerRadius, boxHeight);
    curveTo(0, boxHeight, 0, boxHeight - cornerRadius);
    lineTo(0, boxHeight - cornerRadius);
    lineTo(0, cornerRadius);
    curveTo(0, 0, cornerRadius, 0);
    lineTo(cornerRadius, 0);
    endFill();
  }
}
// Now Lets assume we have a main timeline frame with a scene object and no controller object yet.
// So lets create a controller object atop of all others.
// MovieClip type object is a rendered (displayed) object,
// while a basic "Object" type is just a data structure (not displayed)
// Unlike any other object it can't be creater/removed by new/delete statements
// but has special methods to put it on stage or remove from.
this.createEmptyMovieClip("controller", this.getNextHighestDepth()); // creates a MovieClip type object in highest free layer named "controller"
// move this object to desired coordinates
controller._x = 40;
controller._y = 40; // location coordinates from left top corner in default resolution pixels
// now draw a backdrop. See function definition on parameters meaning
drawRoundedRectangle(controller, 200, 50, 5);
// Now create a text label "SPEED" in that rectangle using TextField method
//createTextField(instanceName:String, depth:Number, x:Number, y:Number, width:Number, height:Number)
controller.createTextField("label", controller.getNextHighestDepth(), 0, 5, 75, 25);
// set TextField object named "label" actual text
controller.label.text = "SPEED";
// set a text format. Need a special object holding that data for TextField
var textformatdata:TextFormat = new TextFormat();
textformatdata.size = 18;
textformatdata.bold = true;
textformatdata.font = "Arial Black"; // System fonts are used, not fonts packed in SWF file.
textformatdata.color = 0xffffff; // white RGB code
textformatdata.leftMargin = 5;
// apply format on our label using it's setTextFormat() method
controller.label.setTextFormat(textformatdata);

You can create "Back" od "Done" button object the same way: just smaller size parameter, different _x & _y coordinates and different text value.


Next time I'll post how to create buttons in that object, how to make them change white-green color and do desired action.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on January 07, 2020, 03:15:16 pm
For the green indicators you could just use sprites. It’s a little easier
Title: Re: Scene Repair
Post by: Tabby on January 09, 2020, 11:37:23 pm
// Now how to create a button. Because we will have multiple of these, create a function to generate buttons:
function createDummyButton(target_mc:MovieClip, name:String, text:String, x:Number, y:Number, width:Number, height:Number, key:String):Void
{
  // 1. create an object holding a button structures
  target_mc.createEmptyMovieClip(name, target_mc.getNextHighestDepth());
  target_mc[name]._x = x; // set coordinates; indexing object by the name in function parameter
  target_mc[name]._y = y;
  // 2. create a clickable rectangle, otherwise button would work only when clicked text exactly, not a hole in a "O" for example.
  // Make is a subobject so it's visibility can be controlled independently from text.
  target_mc[name].createEmptyMovieClip("pad", 1); // using layer 1 (deepest for pad)
  // draw an invisible (alpha 0) white rectangle in that object
  with (target_mc[name].pad)
  {
    beginFill(0xffffff, 100); // white fill
    lineTo(width,0);
    lineTo(width,height);
    lineTo(0,height);
    lineTo(0,0);
    endFill();
    _alpha = 0; // invisible by default
  }
  // 3. create a button text object named "label"
  target_mc[name].createTextField("label", 2, 0, 0, width, height); // using layer 2 (just above pad pad)
  target_mc[name].label.text = text; // set actual text
  // set a text format. Need a special object holding that data for TextField
  var textformatdata:TextFormat = new TextFormat();
  textformatdata.size = 18;
  textformatdata.bold = true;
  textformatdata.font = "Arial Black"; // System fonts are used, not fonts packed in SWF file.
  textformatdata.color = 0xffffff; // white RGB code
  textformatdata.leftMargin = 2;
  // apply format on our label using it's setTextFormat() method
  target_mc[name].label.setTextFormat(textformatdata);
  // 4. make button pad rectangle visible when mouse is over
  target_mc[name].onRollOver = function()
  {
    this.pad._alpha = 30; // make it 70% transparent
  };
  target_mc[name].onRollOut = function()
  {
    this.pad._alpha = 0;  // make it invisible when mouse is out
  };
  // 5. create helper methods to change button text color
  target_mc[name].turnGreen = function()
  {
    var textformatdata:TextFormat = new TextFormat();
    textformatdata.color = 0x00ff00; // green
    this.label.setTextFormat(textformatdata); // apply to button text text
  };
  target_mc[name].turnWhite = function()
  {
    var textformatdata:TextFormat = new TextFormat();
    textformatdata.color = 0xffffff; // white
    this.label.setTextFormat(textformatdata);
  };
  // 6. make the button selectable by Tab key & Enter
  target_mc[name].focusEnabled = true;
  target_mc[name].tabEnabled = true;
  // 7. if key parameter has proper length (one character), make it keyboard active
  if(key.length == 1)
  {
    target_mc[name].keycode = key.charCodeAt(0); // Store key parameter first (and the only) character Ascii code
    target_mc[name].onKeyDown = function() // create a function for processing keyboard events
    {
      if(Key.getAscii() == this.keycode) // pressed keyboard code match button stored key code
      {
        this.onRelease();  // on matching key hit call the same function as for mouse click, which is not defined yet.
      }
    };
    // register this button object among system keyboard listener object (Key is static object in Flash player)
    Key.addListener(target_mc[name]);
  }
  // 5. leave on press/release script for later as it is button specific
}


// Now use that function for the first two buttons, for speed 1 at coordinates 80,5 (just after "SPEED" text)
createDummyButton(controller,"button1","1",80,5,20,25,"1");
controller.button1.onRelease = function() // define what that button is suposed to do:
{
   this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("a"); // scene control call
   this.turnGreen();                 // turn button green
   this._parent.button2.turnWhite(); // turn the other button (not defined yet) white
};
// The second button on coordinates just 20 pcx right of the first button
createDummyButton(controller,"button2","2",100,5,20,25,"2");
controller.button2.onRelease = function()
{
   this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("b");
   this.turnGreen();
   this._parent.button1.turnWhite(); // turn the another button white
};
//Now we can copy-paste-modify to create as many buttons as we want easily. No need to create any flash structure (sprites etc), all is created by this script from nothing.

Note on code 1:
Unlike in C++, method (object associated function) in Flash AS2 doesn't have focus of the object which it belongs to but a random focus of a script in which the function body is defined. So it is not really a method, but a generic function with unlisted "this" pointer to the object which it is declared part of. So you have to use "this" pointer to access any data declared outside the function.
Note on code 2:
There is a bug in Flash player that ruins "this" pointer inside "with(){}" statement. So never use "this" pointer in "with" statement. It also ruins "this" pointer in every method/function called inside "with" statement. So use "with" statement cautiously and only for simple things.
Note on code 3:
In AS2/Flash we can use variables and call object methods not defined yet (neither declared as virtual functions) because in Flash (and also Java and similar languages) these things are not compiled into memory offsets but all data are searched by names during code execution. So entire Flash is a tree of associative arrays where data are searched by names in hash tables or something. I'm not a programmer, just average guy, so I find it freak and computationally inefficient.
Note on code 4:
Types in AS2 are most likely used only for some formal check by Adobe tool compiler. Types are thrown away in compilation. FFDec can't even compile code with types declared. Flash player simply ignores type, so it asserts string or pointer to a variable that was a originally number type. Variable type is changed by value assertion. So if you add two variables, the result may be a number or a string depending what was loaded to variables last time. It's good idea to use AS2 special functions line "isNaN()" to verify that input to math operation is actually a number.
Title: Re: Scene Repair
Post by: Tabby on January 11, 2020, 11:14:00 pm
Finally, how to make a controller using functions
drawRoundedRectangle(target_mc:MovieClip, boxWidth:Number, boxHeight:Number, cornerRadius:Number)
and
createDummyButton(target_mc:MovieClip, name:String, text:String, x:Number, y:Number, width:Number, height:Number, key:String)
created in previous posts.

// first of all, create a Back button:
// create a standalone rounded rectangle named "ctrlback" for that on the bottom of the stage
this.createEmptyMovieClip("ctrlback",this.getNextHighestDepth());
ctrlback._x = 10;
ctrlback._y = 325;
drawRoundedRectangle(ctrlback,63,30,5);
// create a back button inside that
createDummyButton(ctrlback,"buttonback","Back",2,0,57,25,"");
ctrlback.buttonback.onRelease = function()
{
   _root.LVL.prevFrame();
   _root.npc_status = "back";
};

// Lets create main controller object atop of all others.
this.createEmptyMovieClip("controller", this.getNextHighestDepth()); // creates a MovieClip type object in highest free layer named "controller"
// move this object to desired coordinates
controller._x = 10;
controller._y = 40; // location coordinates from left top corner in default resolution pixels
// now draw a backdrop. See function definition on parameters meaning
drawRoundedRectangle(controller, 200, 50, 5);
// Now create a text label "SPEED" in that rectangle using TextField method
//createTextField(instanceName:String, depth:Number, x:Number, y:Number, width:Number, height:Number)
controller.createTextField("label", controller.getNextHighestDepth(), 0, 5, 75, 25);
// set TextField object named "label" actual text
controller.label.text = "SPEED";
// set a text format. Need a special object holding that data for TextField
var textformatdata:TextFormat = new TextFormat();
textformatdata.size = 18;
textformatdata.bold = false;
textformatdata.font = "Arial Black"; // System fonts are used, not fonts packed in SWF file.
textformatdata.color = 0xffffff; // white RGB code
textformatdata.leftMargin = 5;
// apply format on our label using it's setTextFormat() method
controller.label.setTextFormat(textformatdata);

// We have a main animation in object focus.camera.area.char.kendra which have
// multiple parts, each starting in a frame with a label:
// "in" scene start, "a" speed 1, "b" to "e" speeds 2 to 5, "knot" knotting,
// "a_knot", "b_knot" ... "e_knot" knotted version of speeds 1 to 5
// "x1" climax, "x2" knotted climax

// Now create 5 speed buttons in the main "controller" rectangle:
// for speed 1 at coordinates x 90, y 5 (just after "SPEED" text)
createDummyButton(controller,"button1","1",90,5,20,25,"1");
// define button action
controller.button1.onRelease = function()
{
   this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("a");
   this.turnGreen(); // turn this button green, turn other speed buttons white
   this._parent.button2.turnWhite();
   this._parent.button3.turnWhite();
   this._parent.button4.turnWhite();
   this._parent.button5.turnWhite();
};
// but that would not work for knotted part, so create a varibale to hold that
// status and decide button action based on that
controller.knotted = false;
controller.button1.onRelease = function()
{
   if (_parent.knotted)
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("a_knot");
   }
   else
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("a");
   }
   this.turnGreen(); // turn this button green, turn other speed buttons white
   this._parent.button2.turnWhite();
   this._parent.button3.turnWhite();
   this._parent.button4.turnWhite();
   this._parent.button5.turnWhite();
};

// the same with other speed buttons
createDummyButton(controller,"button2","2",110,5,20,25,"2");
controller.button2.onRelease = function()
{
   if (_parent.knotted)
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("b_knot");
   }
   else
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("b");
   }
   this.turnGreen();
   this._parent.button1.turnWhite();
   this._parent.button3.turnWhite();
   this._parent.button4.turnWhite();
   this._parent.button5.turnWhite();
};
createDummyButton(controller,"button3","3",130,5,20,25,"3");
controller.button3.onRelease = function()
{
   if (_parent.knotted)
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("c_knot");
   }
   else
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("c");
   }
   this.turnGreen();
   this._parent.button1.turnWhite();
   this._parent.button2.turnWhite();
   this._parent.button4.turnWhite();
   this._parent.button5.turnWhite();
};
createDummyButton(controller,"button4","4",150,5,20,25,"4");
controller.button4.onRelease = function()
{
   if (_parent.knotted)
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("d_knot");
   }
   else
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("d");
   }
   this.turnGreen();
   this._parent.button1.turnWhite();
   this._parent.button2.turnWhite();
   this._parent.button3.turnWhite();
   this._parent.button5.turnWhite();
};
createDummyButton(controller,"button5","5",170,5,20,25,"5");
controller.button5.onRelease = function()
{
   if (_parent.knotted)
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("e_knot");
   }
   else
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("e");
   }
   this.turnGreen();
   this._parent.button1.turnWhite();
   this._parent.button2.turnWhite();
   this._parent.button3.turnWhite();
   this._parent.button4.turnWhite();
};
// now the climax button
createDummyButton(controller,"buttonclimax","Climax",5,30,75,25,"x");
controller.buttonclimax.onRelease = function()
{
   // Play climax animation:
   if (_parent.knotted)
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("x2");
   }
   else
   {
     this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("x1");
   }
   // Replace Back button with Done button:
   // Delete Back button in ctrlback rectangle first
   this._parent._parent.ctrlback.buttonback.removeMovieClip();
   // Create Done button in place of that
   createDummyButton(this._parent._parent.ctrlback,"buttondone","Done",2,0,57,25,"");
   // define button action
   this._parent._parent.ctrlback.buttondone.onRelease = function()
   {
      _root.LVL.prevFrame();
      _root.npc_status = "done";
   };
   // and finally remove entire main "controller" object with speed buttons
   this._parent.removeMovieClip();
};
// create knot button only if player is canine
if(_root.genus == "canine")
{
   createDummyButton(controller,"buttonknot","Knot",80,30,55,25,"k");
   controller.buttonknot.onRelease = function()
   {
      this._parent._parent.focus.camera.area.char.kendra.gotoAndPlay("knot");
      this.turnGreen();
      this._parent.button1.turnWhite();
      this._parent.button2.turnWhite();
      this._parent.button3.turnWhite();
      this._parent.button4.turnWhite();
      this._parent.button5.turnWhite();
      // set knotted state variable so speed buttons play knotted variation
      _parent.knotted = true;
      // delete button actions so button does nothing when knotted already
      this.onRelease = function()
      {
      };
   };
}

// Now create a zoom control there are 2 approaches to that
// Make it +- zoom:
// Create button without rectangle at bottom right of the stage
createDummyButton(this,"buttonzoomin","+",500,330,20,25,"+");
buttonzoomin.onRelease = function()
{
   // choose some object in maing animation hierarchy. It' heavily nested,
   // easiest is a one without scale and offset matrix so default position is 0, 0, 100% scale
   // now on each click increase scale and move it so desired part (pus*y) is in the center
   this._parent.focus.camera.area._xscale = this._parent.focus.camera.area._xscale + 10;
   this._parent.focus.camera.area._yscale = this._parent.focus.camera.area._yscale + 10;
   this._parent.focus.camera.area._x = this._parent.focus.camera.area._x + 20;
   this._parent.focus.camera.area._y = this._parent.focus.camera.area._y + 10;
};
createDummyButton(this,"buttonzoomout","-",530,330,20,25,"-");
buttonzoomout.onRelease = function()
{
   // the opposite for zoom out. There may be some condition to limit zoom out.
   this._parent.focus.camera.area._xscale = this._parent.focus.camera.area._xscale - 10;
   this._parent.focus.camera.area._yscale = this._parent.focus.camera.area._yscale - 10;
   this._parent.focus.camera.area._x = this._parent.focus.camera.area._x - 20;
   this._parent.focus.camera.area._y = this._parent.focus.camera.area._y - 10;
};
// Alternative approach: camera with fixed view points:
// Create it as a button with toggling function of switching two view points
createDummyButton(controller,"buttonzoom","Zoom",132,30,60,25,"z");
// declare variable holding camera point in that button object
controller.buttonzoom.camera = 1;
controller.buttonzoom.onRelease = function()
{
   // if it's the first camera point, move to the second
   if(this.camera == 1)
   {
      this.turnGreen();
      this._parent._parent.focus.camera.area._xscale = 160;
      this._parent._parent.focus.camera.area._yscale = 160;
      this._parent._parent.focus.camera.area._x = 120;
      this._parent._parent.focus.camera.area._y = 60;
      this.camera = 2;
   }
   // if it's not the first camera point, move back to the first
   else
   {
      this.turnWhite();
      this._parent._parent.focus.camera.area._xscale = 100;
      this._parent._parent.focus.camera.area._yscale = 100;
      this._parent._parent.focus.camera.area._x = 0;
      this._parent._parent.focus.camera.area._y = 0;
      this.camera = 1;
   }
   // of course there may be more than two.
};
// example for Kendra sideways is attached: Normal version for Adobe compiler, FFDec version with removed types and comments because FFDec cannot deal with things that are removed in compilation.
Title: Re: Scene Repair
Post by: Tabby on January 11, 2020, 11:32:36 pm
...and because f u c k i n g Smf boards does not let me increase maximum allowed attachments per post (you can change that in settings but it returns back to 2 after you save that) the example Kendra sideways with that script instead of legacy controller is attached in this additional post.
Easy to not notice change when not looking for that.

Edit: Attachment removed for file space
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on January 12, 2020, 04:05:14 am
Beautiful! I'm going to go over your earlier posts and really try to learn how to incorporate that. It really makes a difference!
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on January 12, 2020, 07:00:57 pm
Much easier to implement than Flash. I'm just bad at AS2
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on April 07, 2020, 08:08:37 pm
How do I reference different object in AS2? I cannot find an explorer and don't know the object paths.
Title: Re: Scene Repair
Post by: Tabby on April 07, 2020, 08:40:52 pm
You have to figure out object tree to find the path from one object to another.
Then you step up the hierarchy by _parent pointer and down the hierarchy by object names in the tree path.

In case some object in the tree does not have a name (possible in SWF) you have to assign it a name in order to make it accessible by AS2 script.
Note that it is the name of object instance where placed, not object class name in a library as one defined object may have multiple copies populated in the tree.

I have no idea how your tool works, I do everything in rudimentary FFDec where I have to figure out object tree in my head manually by tracing PlaceObject() name parameters.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on April 08, 2020, 06:29:12 pm
I'll probably have to do the same in Flash then.
Title: Re: Scene Repair
Post by: Tabby on April 08, 2020, 10:14:06 pm
Should you struggle with that, I can do that for you. Just send the file and tell what you want to do.

By the way, I fixed Ginger doggystyle hair animation misalignment. Improved head in her missionary scene. But I wonder if I should somehow rework her pubes in missionary scene? Perhaps much larger? Her lap appears a bit empty.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on April 10, 2020, 02:41:31 pm
I want to figure this out for myself honestly but I appreciate the help.
Title: Re: Scene Repair
Post by: 1r2k5ng09df8s3 on April 24, 2020, 06:51:25 pm
I've figured out how to set up the buttons via your script posted earlier, and I am going to implement it into (hopefully) all of the scenes. Before I do that I want to finish the genus implementation. I've redone some of the original drawings I did because they were horrible. I have improved slightly and progress is much faster.