Durgadurg159
Potential Patron
- Joined
- Jan 10, 2016
Very belated answer:
obj.Strand::updateStrand() contains a special clause which attempts to destroy any Strand which has fallen too far outside the visible gameplay area. Imagine that we're playing at a high zoom level (the girl's breasts are at the bottom of the screen; the rest of her torso is hidden) and that the characters are far apart. The guy ejaculates. The semen strands will fall to the ground and form a "puddle" near her knees. They won't actually be visible, but they'll still reduce FPS to a crawl. The special clause would fix this problem by culling those strands. The player might be surprised to subsequently zoom out and find that the "puddle" is missing, but we can assume that they zoomed in deliberately on the elements that interest them (e.g. face, breasts, buttocks, whatever). Therefore it's reasonable for the game to cull errant strands in order to preserve runtime performance.
Great idea. Unfortunately, the code is flawed and its conditional statement will never be triggered during normal gameplay. The activation threshold is somewhere around g.sceneZoom=4.0 but the game caps out at g.sceneZoom=1.0 .
Unfortunately, the flawed conditional statement gets triggered very easily by Animtools, because Animtools can set g.sceneZoom to a negative value. The actual visualization/scaling logic of the game has no problem with a negative zoom parameter, but this one useless block of ancient performance-enhancement code gets triggered. It believes that the gameplay area is infinitely small (due to the negative zoom value) and concludes that every semen strand has fallen outside the gameplay area. Therefore it culls all semen strands which were present in the scene before the player activated the zoomed-in Animtools position, and it also culls any newly-generated strands before they've even left the penis.
Solution? Proxy the obj.Strand::updateStrand() method and kill the special clause. A Loader mod is available here.
A subsequent version of this mod could attempt to fulfill the original intent of the clause (presumably via globalToLocal lookups instead of an arbitrary inequality condition) ... but it's on hold pending initial testing and feedback. If the mod gives rise to compatibility errors (or general instability) then there's no sense in adding more code until the basics have been sorted out.
Hi, I'm quite new here. Not that new. I've been using animtools for a short while. Anyways, how do I get this mod you provided to work? The strand fix. I load it in the normal swf. loading area in modding, but it doesn't seem to work there. Thanks in advance if you reply.
Edit: Nearly forgot to mention: It actually causes the strands to disappear after loading it, regardless of if I'm using the default_std position(Or any that wouldn't have this problem) or a faulty one causing this.
Last edited: