
What Is This?
I got tired of doing this manually and I couldn’t find anything that worked the way I wanted, so I decided to make my own tools.
Check out the companion extensions:
StrokeSpeed
StrokeSlide
StrokeScale is an extension that automates tedious stroke transformations in OpenFunScripter. Instead of manually adjusting dozens of points one by one, you can transform entire sections of your script in seconds with live preview.
Gradually compress or expand strokes to create intensity build-ups, fade-outs, or smooth transitions between different stroke depths.
Download
Current Version
StrokeScale v1.2 - Download
Added:
New Feature: Wave Modulation
Intensity Range slider now allows expansion of strokes
Intensity Range slider now has a Swap Start/End button
‘Default’ position buttons for all sliders
Installation
• Download the .rar file and extract the StrokeScale folder
• Copy it to your OFS extensions folder (In OFS Click Extensions→Extension directory)
• StrokeScale will appear in your extensions menu
How to Use
• Select the points you want to transform in your script
• Open StrokeScale from the extensions menu
• Turn on Live Preview to see changes in real-time
• Adjust the settings until it looks right
• Turn off Live Preview to commit the changes
Settings Explained
Live Preview
• Shows you changes instantly as you adjust settings
• Uncheck to commit changes
Stroke Detection Mode
This tells the tool how to group your points into “strokes” before transforming them.
Peak-to-Peak
• Groups points from one valley/bottom to the next
• Best for regular up-down stroke patterns
Direction Changes
• Starts a new group every time the stroke changes direction
• Best for complex multi-point strokes like 0-20-100-80-0
Time Windows
• Groups points that happen within X milliseconds of each other
• Best for when timing matters more than pattern
Point Count
• Groups every X points together, no matter what
• Best for consistent grouping regardless of pattern or timing
All Selected as One
• Treats your entire selection as a single stroke
• Best for applying one smooth transformation across everything
Intensity Range
Start %
How much compression at the beginning of your selection
- 0% = no change (original stroke depth)
- 100% = maximum compression (completely flat)
- -100% = maximum expansion (max stroke length)
End %
How much compression at the end of your selection
- 0% = no change (original stroke depth)
- 100% = maximum compression (completely flat)
- -100% = maximum expansion (max stroke length)
Example Uses:
- Start: 0%, End: 100% = Strokes gradually compress to nothing (fade out)
- Start: 100%, End: 0% = Strokes gradually expand from nothing and stop at regular stroke length(build up)
- Start: 0%, End: -100% = Strokes will gradually expand from regular stroke length
- Start: 50%, End: 50% = Uniform 50% compression across all strokes
NOTE:
Right now, the logic for the slider will seem counter-intuitive. I plan to fix this later, but for now, sliding to positive values means compression instead of expansion.
Buttons
- Each slider has a button labeled “100 %” that resets it to its default value.
- Swap Start/End – A button underneath the sliders that swaps the start and end values.
Transformation Type
Compress to Center
• Squishes strokes toward their middle point
• Best for natural-looking compression that maintains stroke balance
Scale Proportionally
• Shrinks the entire range while keeping the stroke shape
• Best for when you want to preserve the exact motion path
Compress to Top
• Everything moves toward position 100
• Best for creating high-position gentle movements
Compress to Bottom
• Everything moves toward position 0
• Best for creating low-position gentle movements
Interpolation Curve
This controls HOW the transformation happens between your start and end values.
Linear
• Smooth, even progression from start to end
• Best for most situations, predictable results
Ease In
• Starts slow, speeds up toward the end
• Best for gradual build-ups that accelerate
Ease Out
• Starts fast, slows down toward the end
• Best for quick changes that settle gently
Ease In-Out
• Starts slow, speeds up in middle, slows down at end
• Best for smooth, natural-feeling transitions
Wave Modulation
This new feature lets you add a periodic wave to the intensity change. Check the box to enable Wave Modulation Mode and see the settings.
Type
The shape of the wave applied to the strokes.
- Sine: Smooth, gradual, up and down wave.
- Triangle: Sharp, straight, up and down wave.
- Sawtooth: Gradual downward wave, then abrupt jump back to top at end.
- Square: No compression at beginning, then abrupt jump to max compression in the middle.
Amplitude
Controls how far the wave deviates from the base curve. Higher values mean more intense waves, while lower values will give you very subtle waves
Cycles
Controls how many full waves fit within the selection.
Phase
Controls the offset of the wave
Buttons
- Each slider has a button next to it that will set the slider to its default value.
Changelog
v1.2(Current)
Added:
New Feature: Wave Modulation
Intensity Range slider now allows expansion of strokes
Intensity Range slider now has a Swap Start/End button
‘Default’ position buttons for all sliders
v1.1
Added:
Point Count detection mode
Fixed:
Crash when no points exist after selection
Crash when selecting too few points
v1.0
Initial release
Possible Future Plans
- Randomization, to add slight variations into the patterns
- Saving/Loading presets
- Reverse button
- Functions for creating ‘wave’ patterns
- Point Count Detection Mode
- Set to Zero buttons/Default Settings button
Links
Version 1.2 Download: StrokeScale1.2.rar ~ pixeldrain
Version 1.1 Download: StrokeScale1.1.rar ~ pixeldrain
Version 1.0 Download: StrokeScale.rar ~ pixeldrain
Join my Discord to get the latest versions, updates, report any issues, or leave feedback.
pup null


