| Age | Commit message (Collapse) | Author |
|
By using hash tables, the algorithmic complexity of the case-insensitive
lookup has been reduced from O(n * k) to amortized O(k), where n is the
number of files in each level and k is the number of directory levels
that need to be traversed.
This massively improves performance on Linux when loading characters,
especially when there are many missing characters, since it is no longer
necessary to scan the entire character folder repeatedly.
|
|
|
|
To pull this one off, a new class called VPath was created that denotes
"virtual" paths that can exist anywhere among the list of mount points.
It is functionally identical to QString, except that implicit conversion
between QString and VPath is not allowed. This makes it easy to spot
errors in path resolution at compile time, since get_real_path must be
called to resolve a VPath into an absolute path that can be passed into
a Qt function as a QString.
Other functions, such as the get_*_suffix functions, also return an
absolute path QString for convenience.
As for the rest of the functions that return a VPath, you will need to
call get_real_path yourself.
Finally, a path resolution cache was added to try to avoid blowing
up what is already a massive lookup cost for assets. The cache
is invalidated when the mount path list is changed.
Currently, this cache isn't bounded. Might need to write an LRU cache
if issues arise.
|
|
|
|
Should fix evidence, again.
|
|
When the demo skips by some number of seconds, the timer will also skip forward by that duration.
Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
|
|
|
|
Make demo files record evidence packets
|
|
Fix demos being recorded with incorrect timing. ⚠HUGE, VERY IMPORTANT FIX⚠
|
|
Fix demo playback not using UTF-8 codec
|
|
|
|
Fix demo playback being incorrectly timed due to the misplaced order of the wait#% packet (it should go BEFORE the appended message, not AFTER! We're delaying the message we're *writing*, not the *next message*!!!)
(cherry picked from commit 8319ebffe4c22c59c33d9c90161036d9c1ddddd5)
|
|
Russian chars and other special chars like emoji etc.
(cherry picked from commit f3e96ca6b38a5e069d98f2db4b17dfb7bb3f239b)
|
|
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
|
|
all around me are familiar faces, worn out places, worn out faces
|
|
* Post release polish translation changes
* small fix
|
|
|
|
|
|
|
|
Fix a segfault/crash due to invalid packet size checking for the timer (TI) packet
|
|
packet
|
|
Fix files not being written as UTF-8
|
|
|
|
|
|
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
|
|
|
|
Fix various bugs
|
|
blank (a.k.a. use character default side)
|
|
|
|
|
|
|
|
Bottom text
|
|
Fix change character lag, bg resizing and repos weirdness, inconsistent behavior, sticker setting etc.
|
|
"music_stop()" instead of only working on the client-side
|
|
|
|
This will register any font (OTF/TTF) located in the base/fonts folder
recursively. They can be used for any purpose, without needing to
install them on the system.
|
|
|
|
Stop doing the "tagget stylesheets" monstrosity
|
|
courtorom_stylesheets.css is more useful)
|
|
to properly initialize custom backgrounds for labels w/ transparent ones)
rename "set_dropdown_ to "set_stylesheet" cuz that's what it is
|
|
being initialized later than needed.
|
|
|
|
|
|
|
|
char pos etc.
Remove accidental duplicate code
Fix some genius using & instead of && (SMH)
Block pos_dropdown signals better
|
|
|
|
Make it actually work properly
|
|
Resize the 0thcolumn to smallest possible size so it's not intrusive
Remove text eliding so numbers don't get ...'s
|
|
Make pos dropdown ui editable for a custom pos
Keep track of the custom pos index
On switching from the custom pos, remove the entry at that index
Fix regression causing the "sort by name" lobby server list header disappearing
Expose column 0 for the # in the lobby server list header
("too ugly" just use lobby_stylesheets.css and pretty it up)
|
|
it for you automatically instead!)
Add an option to enable/disable stickers
Make stickers actually respect the custom chatbox setting properly
|