Skip to content

Releases: CalmBubbles/js-plugins

DialogueSystem.js 2.1.1f

04 May 03:14
Compare
Choose a tag to compare
  • Fixed bug w/ text animations' property finding
  • NamedArrays now returns undefined instead of { } when an item can't be found

DialogueSystem.js & Time

25 Apr 09:43
Compare
Choose a tag to compare

This update makes the game based update loop even better!
Which introduces...

V-Sync

You either love em or hate em.
It is now possible to use the user's display's refresh's rate.
Yes this is enabled by default ;))))

Of course you can change it by the DialogueLoop.vSyncCount property.

"Unlimited" FPS

Makes the system run as FAST as possible.
Done by DialogueLoop.targetFrameRate = -1
Also enabled by default
(Learn more here)


Note

You cannot use DialogueLoop.targetFrameRate with V-Sync on.
You can only choose one.
















's

DialogueSystem.js Version 2.1f

DialogueSystem.js Now @ Version 2!!!

09 Mar 14:04
f931a1a
Compare
Choose a tag to compare

IT'S BEEN 2 YEARS... (and 8 months since the actual release of v2 lol)

And because of that, we got 2 years of features added to the former dialogueSys.js plugin! (I guess from a 14-16 yr old's standpoint)
In fact, this is no longer an update. It's an entire revamp of the system, made to be better than my old garbage code.

Accessibility

The plugin is way easier and less of a headache to use.

Compared to the last version, less spaghetti.

Other than that, there's now ✨Documentation✨.
This makes the plugin easier to work with, complete with segmented tutorials, fun examples and microstories.
image

Animations

Animations are now stable!
This update also introduces a BUNCH of features for animations.
Like states, css, math and code-based animations. And best of all, actual workable text animations.

(Learn more here)

Portraits and Audio

Resources are now preloaded on creation. Cached, ready to be reused.
You can now load multiple resources at once.
(Learn more here)

Portraits can now be switched to the left or to the right.
(Learn more here)

You can now modify the audio's volume, pitch, and how frequent it plays.
You can also play it outside of sequences.
(Learn more here)

Events

Unlike back then, you can now listen to events and sequence with it.
And you can finally wait for resources to load before starting your sequences.
(Learn more here)

Performance

Way faster and more reliable frame updates.
We used an update loop designed for games, which is great for having constant updates between frames.
Less jitter!

INTRODUCING
image
(OG meme)

(Learn more here)

Control

You can have way more control of the plugin without touching the source code.
You can modify a TON of variables to your liking.

Power & Extensibility

Other than plugin control, you can do whatever the heck you want without placing your head into the source code.
Almost everything is extendable and modifiable.
You can even ignore the plugin's intended purpose and use it for something absolutely different.

Other Changes

  • Styles are now easier to work with
  • Directories and file paths are now easier
  • Configuration is now better
  • Bug fixes lol

Start Using DialogueSystem.js!

Documentation

DialogueSystem.js Version 2f

Overall Update

31 May 15:49
11ca6e7
Compare
Choose a tag to compare

Minor dialogueSys.js Update 1.3.21f

Change Log

  • dialogueSys object parameters 2(blockedText) and 3(characters) can now be set to null

LICENSE Update

I forgot to add that people who are going to use the plugins I made for them don't need to credit me or use the license

Major dialogueSys.js Update 1.3.20f

23 May 08:03
707f228
Compare
Choose a tag to compare

Change Log

  • remade the typeOnBox system
  • line break prediction (kinda)
  • text style can now be changed

s1

Code:

// variables are assigned the same way
// as css style attributes
// 
// dialogueSys.textColor = color
// dialogueSys.textBg = background
// dialogueSys.textStyle = font-style
// dialogueSys.textWeight = font-weight

diaSys.clearBox();

diaSys.typeOnBox("You can now use ", 1, "claire", "Happy", () => { diaSys.textColor = "yellow"; });
diaSys.typeOnBox("color, ", 1, "claire", "Happy", () => { diaSys.textColor = "#f0f0f0"; diaSys.textBg = "linear-gradient(red, orange, yellow, green, blue, indigo, violet)"; });
diaSys.typeOnBox("background", 1, "claire", "Happy", () => { diaSys.textColor = "inherit"; diaSys.textBg = "none"; diaSys.textStyle = "italic"; });
diaSys.typeOnBox(", style ", 1, "claire", "Happy", () => { diaSys.textStyle = "normal";});
diaSys.typeOnBox("and ", 1, "claire", "Happy", () => { diaSys.textWeight = "1000"; });
diaSys.typeOnBox("weight " , 1, "claire", "Happy", () => { diaSys.textWeight = "normal"; });
diaSys.typeOnBox("in text.", 1, "claire", "Happy");
  • text characters can now be manipulated individually

s2

Code:

// Every text characters are in a span which can be
// manipulated
// 
// The element has an id of `dialogueSysChar_${charIndex}`
// charIndex defines a count of characters from start to end
// charIndex starts counting from 0
// 
// The element can be simply get by using
// document.querySelector

diaSys.typeOnBox("Welcome to ", 1, "claire", "Happy", () => { diaSys.textColor = "red"; });
diaSys.typeOnBox("Hell", 1, "claire", "Happy", () => {
    
    // Magik starts here
    
    // We set an array of the elements/chars we will use
    var chars = [
        document.querySelector("#dialogueSysChar_11"),
        document.querySelector("#dialogueSysChar_12"),
        document.querySelector("#dialogueSysChar_13"),
        document.querySelector("#dialogueSysChar_14")
    ];
    
    // For each variable in chars
    for (let i = 0; i < chars.length; i++)
    {
        // We need to set the display to inline-block
        // because inline element cannot be animated
        chars[i].style.display = "inline-block";
        
        // Add the animation
        chars[i].style.animation = `shake${i} 0.12s infinite`;
    }
});
  • functions now ONLY run when another function from the same object is not active (this means functions are now queued(example can be seen on previous examples))
  • less horror code (usually spaghetti code)

Before:
Screenshot_2022_0523_152451

After:
Screenshot_2022_0523_152525

Credits