Releases: AttorneyOnline/AO2-Client
2.9.0 - Sunset
After six months of development, we are proud to announce the release of 2.9! This version includes various new features and internal improvements.
However, with an aging codebase and architecture that is ever increasing in complexity, this will officially be the final major release of Attorney Online 2. AO2 was designed as a backward-compatible remake of the AO1 client, and as such it has been difficult to make room for radically new features. Maintenance updates and minor features will be considered, but future development will be concentrated in Attorney Online 3.
This version also includes recompressed and fixed vanilla files, so it will appear as if it were a new vanilla. We'll consider adding to the character roster in the future independently of a client update, so you'll have to stay tuned for that.
We'll also be working on updating the docs with the new features on this list. You can also consult the linked pull requests next to some of the new features.
Most of the coding effort was undertaken by @Crystalwarrior and @in1tiate. Many thanks to both of them for pulling through, as well as some newcomers who did some real fine work (@caleb-mabry, @skyedeving). With this release, Crystal will be retiring from AO development.
What's New
Demo Recording and Playback
By default, AO preserves your game sessions as demos for playback, sorted by server.
To play back a demo, go to Favorites and click "Demo playback." A dialog will appear to open a demo. Once a demo has been opened, click "Connect." You may choose any character on the character selection screen. Type /play
to start the playback. You can also type /help
for more commands.
If you don't see anything in your server list, check that base/serverlist.txt
exists.
Countdown Timer
10 seconds, MacGyver! BOOM! AO now comes with five real-time countdown timers that can add a sense of urgency to your roleplaying environment. If your version of tsuserver is new enough, you can use the /timer
command to set a global timer as a mod and four area-specific timers as a CM.
(c) animations
The (c) animation was an old planned AO1 feature that allows transitioning from talking to idle. In effect, it acts like a "postanimation." You can use it now.
Character List Sidebar
If you thought that browsing through icons was too much clutter, there is now a list version on the side to help you browse. Character creators can also add a category
option in the char.ini
to categorize this list by source game.
Queued Messaging
Vanilla chaos is over, long live vanilla chaos! In-character chat is now queued with a minimum delay between messages, so all chat can be viewed asynchronously without interruptions between messages (as the server can sometimes send new messages before old ones can be finished).
Reworked Blips
To make blips more faithful to the Ace Attorney games, @Crystalwarrior decided to rework them in such a way that they disregard whitespace in their timing. See #305 for more information and images about what exactly happened. You can also fine-tune the text crawl speed.
Stickers
Characters can now have an additional portrait displayed over the chatbox when they are talking.
To use this feature, place your sticker in a directory named sticker
inside the appropriate misc or theme folder. The sticker image must be named after the folder name of the character, and the image must be the size of the viewport.
Subthemes
You can add a folder inside of a theme that can replace anything inside the existing theme. Subthemes are prioritized over your current theme and work like a third layer of inheritance, so the first layer is default theme, second layer is current theme and the last layer is the subtheme. You can manually force your subtheme using the settings screen, set it to "default" to stop subthemes from changing, or "server" to allow the server to suggest which subtheme to use (meaning you can have themes for day/night cycles, different interfaces between investigation/trial segments, etc.)
For example, the fallback order for courtroom_design.ini
will be as follows:
theme/subtheme/courtroom_design.ini
theme/courtroom_design.ini
default_theme/courtroom_design.ini
Note that subthemes will never fall back to any subthemes belonging to the default theme.
There's also a new packet ST#{subtheme}#{force_reload}#%
that allows the server to suggest a subtheme and reload the theme automatically (if player has the subtheme set to "server").
Theme reparenting
You can specify a new default theme for themes, so instead of falling back to the theme called default
, you can fall back to any theme of your choice. To do this, add a default_theme=
value in courtroom_design.ini
. Note that it is not recursive, so if the default theme you selected has a default_theme=
value as well, it won't fall back a second time, nor will it fall back to default
.
Animated UI Buttons
Animated UI buttons! Gosh, y'all are awful. You can see a sample video of the feature here.
Other Features
Game
- Added scaling overrides for character and effect INIs (can now force sharp or smooth scaling)
- Added stretching overrides for character and effect INIs (can now force stretching/squashing to fill viewport)
- Added ability to override anything in
misc/
with a theme-levelmisc/
folder - Added ability to add additional background positions based on a
design.ini
in the background's folder (see #352) - Added support for HTTP audio sources
- Added Y-offset for pairing
- Added support for non-PNG static emotes (see #276)
- Added shouts to the IC log, as well as an ability to describe custom shouts (see #356)
- Fonts will automatically load from
base/fonts
and its subdirectories at start time - Server can specify custom WT/CE name in packet (SFX name and animation filename are exactly the name provided), and hide the testimony indicator by using
RT#testimony1#1
- Desk mods 2-5 (see #353)
UI
- Changed position dropdown behavior to work as an override that persists across characters; use "X" button to clear the override
- Added "Nothing" option to SFX dropdown
- Added theme option to customize the indentation and animation of the music list
- UI elements are now elided when they are too long
- Added
BB
packet that displays a dialog with a user-defined message - Added three-second reading delay for all dialogs
- Added "Stop Music" button (may not work if server does not have
~stop.mp3
) - Added "[MISSING]" to missing songs in "Now Playing" bar
- Added support for alpha masking to image widgets (useful for UI)
- Restore Defaults and Reload Theme button added to settings screen
Important Changes
~stop.mp3
and the "stop" category are now hidden. To stop music, right click the music list and hit "Stop Music," or use the "Stop Music w/ Category" setting to bring back the ability to double-click categories to "play" them.- Judge button (WT/CE) animations are now suffixed with
_bubble
- Hardcoded stylesheets have been moved into the theme stylesheets. If your theme has no need to override these stylesheets, you should remove the stylesheet files from your theme.
- The
shouts
option inchar.ini
is deprecated; usechat
instead. - The
gender
option inchar.ini
is deprecated; useblips
instead. - Moved user-defined SFX and iniswap lists from character folders to the root base folder (
base/soundlist.ini
,base/iniswaps.ini
) - The button autogenerator now generates both on and off variants of buttons when either one is missing
- Changed log filenames to a more standard/sortable format
- Changed name of "No Interrupt" checkbox to "Immediate"
- Changed "Play Random Song" behavior to only play expanded categories
- Separated IC log colors from chatbox colors (see #323)
- Removed "What's This" button from title bar
- Disabled maximizing and resizing of windows. You'll want to use a tiny theme instead.
- FantaCrypt is no more
Fixes
About 55 fixes (including regressions from previous RCs) included! See previous RCs for more details.
Known Issues
- Animated themes might be causing freezing issues on Linux for large character lists, so disable this first if you are experiencing problems.
- Some custom theme fonts may appear larger than usual. If you run into this issue, grab the fonts inside the theme and put them in
base/fonts
.
Download
Download the full release here. Again, note that vanilla files have changed substantially, so a full download is highly recommended.
An archive containing only the program (without assets) is included below as well.
2.9 Release Candidate 4
This should be the final testing round for 2.9.0. Once this round is done, 2.9.0 will be released, and any subsequent fixes will be released as patches.
Some other miscellaneous things to keep in mind:
- The automated release pipeline is mostly broken right now, so the staging manifests of the launcher are not being updated right now, and packaging is being performed manually. ETA for a fix is unknown.
- There is a new and improved™ vanilla in the works, so please stay tuned for that.
What's New
- Fonts will automatically load from
base/fonts
and its subdirectories at start time - Add option for disabling stickers
- Reworked custom position dropdown
Breaking Changes
- Stickers will no longer load DRO-style. In DRO, the sticker image is an image located in the character folder named as the character's showname. This is no longer supported. Instead, you must place your sticker in a directory named
sticker
inside the appropriate misc or theme folder, and the sticker image must be named after the folder name of the character instead of the showname. - Judge button (WT/CE) animations are now prefixed with
_bubble
- Hardcoded stylesheets have been moved into the theme stylesheets. If your theme has no need to override these stylesheets, you should remove the stylesheet files from your theme.
Fixes from RC3
- Fix background not resizing on "Reload Theme"
- Fix objections prematurely adjusting chatbox
- Fix testimony indicator only appearing once
- Fix "Disable Custom Chat" setting not being honored when setting chatbox size and position
- Fix stickers not respecting the custom chatbox setting
- Fix speedlines never being unhidden
- Prevent static preanimations from "playing"
- Fix chat arrow being frozen
- Fix screenshake edge cases
- Fix crash when playing in a pre-2.6 server
- Fix "stop music on objection" not stopping the music for everyone
2.9 Release Candidate 3
Yet another round of testing. There will probably be a few more rounds of testing based on the number of changes we've done to the core engine.
What's New
- Restore Defaults and Reload Theme button added to settings screen
- Animated UI buttons (can be disabled in settings)
- New packet
ST#{subtheme}#{force_reload}#%
that allows server to suggest a subtheme and reload theme automatically (if player has the subtheme set to "server") ~stop.mp3
and the "stop" category are now hidden. To stop music, right click the music list and hit "Stop Music," or use the "Stop Music w/ Category" setting to bring back the ability to double-click categories to "play" them.- Allow server to specify custom WT/CE name in packet (SFX name and animation filename are exactly the name provided)
- Allow server to hide the testimony indicator by using
RT#testimony1#1
Subthemes
You can add a folder inside of a theme that can replace anything inside the existing theme. Subthemes are prioritized over your current theme and work like a third layer of inheritance, so the first layer is default theme, second layer is current theme and the last layer is the subtheme. You can manually force your subtheme using the settings screen, set it to "default" to stop subthemes from changing, or "server" to allow the server to suggest which subtheme to use (meaning you can have themes for day/night cycles, different interfaces between investigation/trial segments, etc.)
For example, the fallback order for courtroom_design.ini
will be as follows:
theme/subtheme/courtroom_design.ini
theme/courtroom_design.ini
default_theme/courtroom_design.ini
Note that subthemes will never fall back to any subthemes belonging to the default theme.
Theme reparenting
You can specify a new default theme for themes, so instead of falling back to the theme called default
, you can fall back to any theme of your choice. To do this, add a default_theme=
value in courtroom_design.ini
. Note that it is not recursive, so if the default theme you selected has a default_theme=
value as well, it won't fall back a second time, nor will it fall back to default
.
Breaking Changes
- The
shouts
option inchar.ini
is deprecated; usechat
instead.
Fixes from RC2
- Fix additive text being duplicated (again)
- Fix instant text (
}}}
) not being instant - Fix new desk mods (2-5) not working properly
- Fix crash if emote list size is set to 0, 0
- Fix focus not being set back to IC box if "remove position" button is clicked
- Fix judge buttons not interrupting itself when clicked twice during playback
- Fix themed buttons displaying with both image and text instead of image only
- Fix some character selection screen elements not being affected by theme reload
- Refactor internal asset resolver
- Fix showname width by calculating font metrics only after showname font is set
- Fix slight hitch in continuous playback when transitioning from talking to idle and the sprite did not change
- Fix animated backgrounds with continuous animation enabled
- Fix broken chatbox themes
- Fix viewport freezes
- Fix viewport freezing if neither character asset nor placeholder are found
- Fix PNG objections freezing the viewport
Download
Download from "Assets" below. If you didn't download RC2 previously, make sure to download and extract the new vanilla (2021.02).
2.9 Release Candidate 2
Final round of testing before 2.9.
Note that things will start slowing down after the 2.9 release (and alas, things have already begun to slow down).
We also decided to drop official Mac support due to the cost of signing and liability. Feel free to submit an unofficial build if you'd like.
Fixes from RC1
- Fix some tooltip issues
- Add option to display overlay effects over/under chatbox (see #424)
- Fix continuous playback not working; make continuous playback configurable to prevent lag and disabled by default
- Proper fix for music fading (had caused a regression causing music fading not to work at all)
- Fix looping effects not looping
- Fix "now playing" widget not stretching properly
- Update Russian translation
- Use friendly title for "now playing" widget when playing from a URL
What's New
- Make text crawl speed configurable
- Add GitHub Actions CI (thanks @skyedeving)
- Changed position dropdown behavior to work as an override that persists across characters; use "X" button to clear the override
Install
- Download the binaries for your version
- Download and extract new vanilla (2021.02) via CDN
- Add your content as usual
2.9 Release Candidate 1
This is a preliminary changelog for 2.9.
What's New
Major
- Countdown timer
- Stickers: character portraits overlaid on the chat box
- List view of characters with categories
(c)
animations: postanimation that allows transitioning from talking back to idle. An old planned AO1 feature.- Queued messaging: in-character chat is queued with a minimum delay between messages, so all chat can be viewed asynchronously without chaos or interruptions
- Basic demo recording and playback
- Desk mods 2-5 (see #353)
- Revamped blips: blips are now more faithful to the AA games
Minor
- Added scaling overrides for character and effect INIs (can now force sharp or smooth scaling)
- Added stretching overrides for character and effect INIs (can now force stretching/squashing to fill viewport)
- Added ability to override anything in
misc/
with a theme-levelmisc/
folder - Added "Nothing" option to SFX dropdown
- Added theme option to customize the indentation and animation of the music list
- UI elements are now elided when they are too long
- List additional background positions based on a
design.ini
in the background's folder (see #352) - Added shouts to the IC log, as well as an ability to describe custom shouts (see #356)
- Added
BB
packet that displays a dialog with a user-defined message - Added three-second reading delay for all dialogs
- Added support for HTTP audio sources
- Added Y-offset for pairing
- Added "Stop Music" button (may not work if server does not have
~stop.mp3
) - Added "[MISSING]" to missing songs in "Now Playing" bar
- Added support for alpha masking to image widgets (useful for UI)
- Added support for non-PNG static emotes (see #276)
Changes
- Moved user-defined SFX and iniswap lists from character folders to the root base folder
- Allow button autogenerator to generate both on and off variants of buttons when either one is missing
- Changed log filenames to a more standard/sortable format
- Changed name of "No Interrupt" checkbox to "Immediate"
- Deprecated INI option
gender
and renamed toblips
- Changed "Play Random Song" behavior to only play expanded categories
- Separated IC log colors from chatbox colors (see #323)
- Removed "What's This" button from title bar
- Disabled maximizing and resizing of windows
- Removed FantaCrypt
Fixes
- Optimized animation playback by keeping looped frames in memory
- Fixed music fading being audible when volume is 0
- Fixed Enter accidentally blankposting if pushed too quickly by adding a configurable chat rate limit
- Fixed music and objection being stuck on muted after spectating
- Fixed crash when area list and ARUP areas don't match up in length
- Fixed crash when no server is selected in the lobby
- Fixed some minor memory leaks
- Fixed APNG emotes not animating if they have a
.png
extension - Fixed case docs not importing correctly when they have a hash sign
- Fixed "APNG loaded" in About screen
- Fixed incorrect timestamps when toggling showname/refreshing IC log
- Fixed case docs importing in the wrong order
- Fixed SFX being cut off by other sounds by adding more channels
- Fixed SFX tooltip typo
- Fixed shouts forcing preanimation when "Pre" is unchecked
- Fixed buggy double-click in lobby
- Fixed evidence displaying twice with non-interrupting preanims
- Fixed shout sounds not falling back to the default theme when the current theme lacks them
- Fixed iniswap "X" button disappearing after reloading theme
- Fixed button autogenerator failing if the source image is indexed
2.8.5 not-so-hot fix
Fixes
- Fix upward log scrolling down instead of up
- Only reinitialize audio on device change
What's New
- Allow
.webp
for static emotes
(Note: the downloads below contain only the executable and must be applied over 2.8.5)
2.8.5
This is the awaited patch release for 2.8, fixing various exploits and introducing some quality-of-life fixes. Linux support was also fixed in this release.
Expect a major slowdown after 2.8.6.
What's New
- Improvements to blankposting (#256)
- Doubleposting is no longer prevented by the client; this is done serverside instead.
- Added more options for the IC chat log (#259)
- Added ability to change audio device without restarting game (#257)
Changes
- Translation updates (Portuguese, Russian, Spanish)
Fixes
- Fixed IC freezing from too many } modifiers (#243)
- Fixed Music Display button disappearing under specific conditions (#191)
- Fixed custom chatbox colors not working (#194)
- Fixed crash on DRO servers
- Fixed client using the current character colors on other people's messages
- Fixed slowdown related to area updates (#241)
- Fixed custom realization sounds not working (#234)
- Fixed bold text not working in themes (#227)
- Fixed IC freezing due to preanims used with zoom effect (#169)
- Fixed names in IC chat log being inconsistently shown in specific cases involving iniswaps and shownames (#247)
- Fixed Linux release being incompatible with some LTS distros (#242)
- Fixed screenshake not working with blankposting
- Fixed text disappearing from IC log under certain circumstances (#221)
- Fixed audio on Linux (#263)
(thanks to @scatterflower for changelog)
Prosecution Fever
2.8 includes some of the most comprehensive set of changes ever made to AO, thanks to a merge with the Killing Fever Online (@Crystalwarrior) and Attorney Online Vidya forks (@Iamgoofball).
What's New
Platform
- Added experimental Mac support
Lobby UI
- Settings menu now available in lobby
- Servers are now searchable and sortable by name
- Double-click to join a server
Courtroom UI
- Changed music list to a hierarchical tree view
- You can now play as multiple characters with the same client. Simply type in your character in the drop-down adjacent to the emote selected, and the emote list will adjust to the selected character. Press X to remove the character from the list.
- Added color to IC log
- Added "now playing" widget with marquee scrolling text
- Added explanatory tooltips for all buttons
- Added ability to select custom sound to play for emote
- Color drop-down now modifies only color of selected text in the IC input bar
- Added support for emote and evidence buttons of nonstandard sizes
- Added context menus to SFX, character swap, and effect dropdowns to open INIs and respective folders for editing
- Log goes downward by default (for real this time)
- Added tooltips for character names in character selection
- Character select screen no longer mutes music
Core
- Added full support for animated PNG (
.apng
) and WebP (.webp
) images - Added ability to append more text to your last IC message
- Text no longer tries to wrap itself while talking
- Added proper spectate support
Effects
- Added emote modifier 4 for zoom with preanimation
- Added overlay/effect animation system
- Added support for custom objections of any name
- Right click the "Custom" interjection button to see all custom interjections
- Reimplemented flashing and screen shake as effects
- Added support for frame-specific effects
- Added additional inline markup for IC effects (all of which can be escaped with a backslash):
\s
- screen shake\f
- flash\n
- newline~~
- center text~>
- align right<>
- justify text
- Added ability to customize speed lines
[Time]
section is no longer required for character INIs; all preanimations are played once from start to finish by default
Backgrounds
- Added support for background overlays
- Animated backgrounds no longer restart themselves if the background doesn't have to change on next character message
- Added support for other background positions beyond the predefined list
- On supported servers, the correct background will be displayed immediately upon join
Chatbox
- Added support for special chatboxes and interjections
- Chatbox now shows an arrow when chat is idle
chatblank
,chat
,chatmed
andchatbig
images in the theme folder are finally used now based on the length of the showname
Audio
- Added full support for Ogg Opus (
.opus
) audio - Added support for crossfades (right-click a track to see options)
- Added support for seamless A-B loops in tracks
- Added support for looping SFX
- Added "Play Random Song" feature
- Added
base/sounds/blips/
folder as a search path for blips - Interjections can now stop music (configured by client)
Evidence
- Evidence list is now split between local and global lists
- Added ability to save and load evidence items from file
- Evidence updates are now instant
Theming
- Qt CSS is now fully exposed and customizable
- Custom fonts and font sizes are now configurable by INI
- Font antialiasing can be disabled for sharp bitmap fonts (such as Igiari)
System
- Added language support:
- English
- Deutsch (@stonedDiscord)
- Español (@likeawindrammer)
- 日本語 (@gameboyprinter - unfinished)
- Polski (@Pyraqq)
- Português (@likeawindrammer)
- Русский (@vintprox)
- All in-character chat is logged locally by default
- Updated About dialog
Breaking Changes
- All of your themes are probably very, very broken
- If you try to load an old theme, your game will likely freeze due to undefined behavior laying out the evidence display.
- Changed chat blip rate to 60 ms
- (Supposedly, it is more faithful to the games, though I am sure that some of you will have trouble adjusting to it...)
}}}
now displays text instantly- Assets that are smaller than the viewport are centered to screen and letterboxed
- Nearest-neighbor filtering is only applied if the scaling factor is >= 2
- Dropped support for AO1 desk filenames (
bancodefensa
,bancoacusacion
,estrado
) - Backgrounds no longer fall back on the default background
- However, if a position background is missing, it falls back to
wit
position
- However, if a position background is missing, it falls back to
- Removed
/rainbow
among other cursed clientside commands - Messages with a char ID of -1 are now considered system messages
- Changed HDID generator to improve cross-platform reliability
Vanilla
- Fixed various character emotes/emote names
- Fixed typos on music names
- Some meme music may be gone. :( It'll be back soon.
Server
- Because inline color syntax is fully customizable by the client, it's no longer possible to protect red text as an admin-only color. Please use the
/lm
command to speak in an official manner.
Fixes
- Evidence should be less broken now
- Fixed URLs in server descriptions not being clickable
- Fixed macOS clients not getting a proper HDID
- Fixed area and music list not clearing on server music updates
- Fixed classic PNG sprites (e.g. VNO-style characters; those lacking
(a)
/(b)
prefixes) not being loaded correctly - Fixed hardcoded duration in WT/CE/G/NG animations
- Fixed hardcoded position of Witness Testimony indicator so it's not hardcoded to be always present on
/pos wit
- Fixed position not updating as forced by server
- Fixed multibyte Unicode characters creating unknown characters as they print out
- Fixed theme reloading breaking background sizing
Separate changelogs were made during the KFO development process. Though an effort was made to only include fixes of bugs from previous releases, some changelog items may be internal and not relevant.
KFO Client 2.8.0
- Improve performance for switching characters and reloading theme
- Fix reload_theme not reloading the evidence and emote button lists
- Fix objections hiding the current character instead of overlaying the objection animation on top of the character (Franziska whip anim now actually hits characters, woooo!)
- Fix mod "guard" button being a confusing mess - here's an explanation: when you do a successful /login, pressing the "guard" button will prevent the client window from flashing and making a sound when receiving modcalls.
- Fix
time=0
argument being required for character preanimations to work - Fix evidence appear animation being inconsistent with all other animations in AO2 and not scaling to theme properly
- Fix an obscure issue where if the chat box is inside the viewport you would be unable to interact with it in any way (as in scroll up/down if the message is too long)
- Fix an issue with pairing characters that could potentially overlay them on top of the chat box in some obscure cases
- Fix lobby descriptions not parsing links for servers
- Fix a message of ()()()() spamming idle/talking animations (instead it just does the idle animation until you feed it an actual non-blue symbol)
KFO Client 2.8.0.1
- Prevent characters from being incorrectly resized if a different-scaled character speaks
- Fix re-selecting your character breaking you
- Fix selecting inaccessible characters breaking you
- Fix background displaying itself even though the server didn't send us our supposed correct pos for it
- Improve music/area fetching from server
- Fix a possible segfault with emote lists if emote list size is bad
- Hide casing button if server doesn't support casing
- Fix the pos dropdown not actually caring if you selected jur and sea pos.
- Fix the pos dropdown sending like a million packets when scrolled through and lagging the client
- Fix character select screen letting you choose characters that the server doesn't want us to be
KFO Client 2.8.0.2
- Fix music volume being weird due to m_volume being shared by ambience and music at the same time
- Fix current charmovie breaking offsets
- Fix the chat message hardcoding max colors to 8 (when it should be max_colors)
- Fix /save_case iterating from last to first instead of first to last
KFO Client 2.8.0.3
- Fix
~~{{
thing - Chat messages are now properly hidden when reload theme is pressed
- Incorrectly sized sprites will no longer bug out
- Fix missing unicode support for messages
- Fix an issue with music looping
- Fix some edge cases where the AOChar qlabel is moved around in weird ways (reload theme still puts qlabel at 0,0 without centering)
- Fix a full message of speed 0 not properly displaying itself
KFO Client 2.8.0.4
No bug fixes relevant to 2.6.
KFO Client 2.8.0.5
- Fix a crash with emote lists if emote list size is inadequate
- Fix chat/ooc/name inputs having background (preventing themes from setting up their own)
KFO Client 2.8.1
- Fix a bug where user would be unable to speak if the BG changed when someone else was speaking
KFO Client 2.8.2
- Fixed the annoying crash that would end your life if there was a '.' anywhere in your filepath.
- Fix a bug with area lists not working properly on other servers
KFO Client 2.8.3
- Optimize the search for areas and music (previously, area search also searched for music in the background, causing lag with huge music lists)
2.8 release candidate
For testing only. See #160 for release status and https://hackmd.io/@oldmud0/H1fharK2L for draft of release notes.
Reunion
As the AO2 client reaches a turning point in its lifecycle, development has returned - at least for the time being.
New developers have arrived: @likeawindrammer, who revealed a serious bug in the client code; @cents02; and @vintprox. Other old faces are @Pyraqq, who is still too timid to make any changes; @stonedDiscord, who decided to take up some bug fixes for webAO; and @OmniTroid, who still pops in and out for random changes.
After months of disuse, the launcher will finally be placed on the website with this release.
A full refactoring of AO is underway - see the ui-files
branch for progress.
Changes
- Fixed a security vulnerability; see GHSA-7fpc-9xpq-pxq7
- Fonts can now be customized with the theme - simply use
widget_font = font_name
- Linux builds no longer require BASS
- Fixed relative path bug with evidence
- Discord is now an optional dependency for building AO