Since the realisation could have been called from two paths that were
previously one and the same (previously, the pre ending was the same as
the text starting -- with the inclusion of non-interrupting preanims,
these became different), in some select cases, the realisation could
have played twice.
As a solution to this, handling realisation is now done when the text
starts ticking, as that guarantees that the realisation happens only
once.
The former was caused by the position dropdown simply not having code to
make the judge buttons appear. Alongside that, the issue(?) where `/pos
judddd` (or variations) would not put the user in the judge position,
but gave them the buttons anyway.
The latter was caused by a simple mistake. We deleted the Lobby (and the
Courtroom) frequently, however, we never did set its (their) pointer(s)
back to null -- so they pointer to trash data, and the `if (w_lobby !=
nullptr)` part never failed.
This is also now fixed, and deletion of the Lobby or the Courtroom also
brings about the nulling of their pointers.
- The `base/` folder's path is now determined based on where the
executable was executed, not where its workspace is.
- Showing custom shownames is now assumed to be `true` by default,
unless the `config.ini` says otherwise.
- The Lobby's listing of servers has now been moved into its constructor
(previously only specifically called by the "Back to Lobby" button).
This makes it list servers even if the user was kicked, banned, or left
due to timeout.
Also brought in another function that specifically filters out inline
formatting characters, so that the append IC text function is a bit more
understandable.
Made it so that emote dropdown only responds to activation, instead of
index changing, i.e., reverted to previous behaviour.
Emote changing already had a failsafe for the emote dropdown index
changing, which activated even when you clicked on the emotes. That made
it so that you'd get the Pre button ticked on emotes that didn't have
'em, and vice versa.
- Settings has a new tab with casing settings.
- Can set when the game should alert of cases.
- In game tickbox to toggle if you should be alerted of cases.
- Toggle the 'Custom shownames' tickbox to switch between real names and
custom shownames.
- Type `/save_chatlog` in the OOC to export your IC chatlog into a file.
- Exporting the chatlog will append the date and time of the message,
too.
- They are now actually non-interrupting when an interjection is played.
- Realisation now happens at the start of the message if the pre is
non-interrupting.
- Default bubbles.
- Default shout sounds.
- Custom chatbox.
- Custom colours for the chatbox.
- No need to have duplicate files of bubbles and shouts all over the
character folders.