Attorney Online (AO for short) is an online roleplay chatroom game based on the Ace Attorney universe. Created by FanatSors in 2013, this community has thrived for over a decade.
Fix random crash when interacting with server areas, particularly those that make use of "hubs"
Performance boost on scrolling through music list, IC and OOC chat logs, and evidence description
Chat logs are no longer limited to 100 messages
Fix music list not scrolling back to the beginning when using the search function
Evidence subdirectories are now loaded into cache on game startup
Added certain checks when loading a character's char.ini file to avoid a crash
Try to improve RAM management with character emotes and sounds
When loading a character emote, the current sound is unloaded from memory first, then the new character image is loaded, and if available, the new sound is loaded afterwards
For character images that are LZ77-compressed (those that have stream = 0 on nds.cfg), instead of loading the entirety of the compressed data into memory and decompressing that, it is decompressed through streaming, only taking up 4KB of RAM while doing so (see arm9/source/global.cpp for more info if interested)
It is now possible to select between all of a character's custom shouts on the "Talk (IC)" screen
Speed up re-displaying the "Talk (IC)" screen when the keyboard is closed
Attempt to speed up scrolling through emotes on "Talk (IC)" screen
Converter tool
Subdirectories on evidence images are now converted
Backgrounds with .webp, .gif and .apng formats are now converted
Character conversion should now be slightly faster due to using python's built-in multiprocessing library instead of third-party library joblib
"Failed to convert" messages will now be logged to a file
When converting character emotes, the converter will now try to read the image file's header to determine its' true format (e.g. There could be a .apng file that is actually a gif)
A character's custom shouts will now be resized to 256x192 if necessary
Sounds and blips are converted to 22050 Hz instead of 32000 Hz to save on RAM
If you are updating the game, it's recommended to download vanilla-data.7z and install the new sounds.
Better performance, especially with heavy 3DS character emotes
Less memory usage
Updated vanilla data
Feature parity with AO2 version 2.11:
Player List: Accessible through Court Record -> Profiles. Shows players on the current area. You can see their current character, IC showname and OOC name, as well as report the player to moderators. If you're logged in as a moderator, you can see all players in all areas, as well as kick, ban or follow a player to their current area.
Courtroom Slide: Can be toggled through IC chat -> "Slide" checkbox. Mimics the "courtroom panning" animation between defense, witness and prosecutor sides as seen in the original DS game. Only works if the court background supports it.
Added a "Wi-Fi Keyboard" feature which allows you to use your PC or phone's keyboard to type chat messages in the game.
NOTE: If you've converted music to MP3 with the old version of the converter tool, you must convert it again with this new version.
Chatbox is now customizable
Alongside the default chatbox, a few themes are included: tgaa, trilogy, plvspw, aai-collection, aj-trilogy
The chatbox blending / transparency is also now customizable
Reduced memory usage on .wav files some more.
Updated many UI backgrounds and sprites to be more similar to the original DS games.
Image filename is now displayed in Court Record evidence details.
Added "Call Mod" button to the main page when connected to a server.
Courtroom desks can now be shown/hidden depending on the selected emote, if the character supports it.
(Pertains to the 5th argument in char.ini Emotion: Pointing#pointing#apollopointing#1#1)
Fixed crash/shutdown when connecting to a server that uses TCP protocol
Redesigned the page switcher in the settings screen.
IC chat screen and evidence image selection screen now show page numbers
Fixed random Guru Meditation Error with streamed character data.
Fixed behavior with character select UI where taken character slots were not being updated
Automatically boot the client back to character select when moving to an area that has the selected character already taken.
Fixed courtroom background disappearing when exiting the Judge Tools UI screen.
Fixed memory leak that would cause the game to shut down / crash after some time.
Fixed game freezing in server list when selecting "Connect" on some servers (specifically those that use the TCP protocol). The game will instead freeze in the "Connecting" screen as it should.
This also fixes issues of some network messages being skipped when initially connecting to a server on the local network
If a character has custom holdit/objection/takethat shout bubbles, they will be displayed
Fixed chatbox palette indexes
Converter tool
Added an option in the main menu to change the current AO base path.
You can now choose to convert data as a custom content that can be mounted in the game. The converter will create the appropriate paths for you (data/ao-nds/custom/<content name>). Just copy the "data" folder to SD card and done.
Court backgrounds with a full court image "court.png" will be converted to take advantage of the Court Slide feature.
Characters will now have a large icon image "char_icon_big" which is used in the Court Record's Profiles page.
Fixed issues when running the converter under Linux, particularly when running grit and ffmpeg through python's subprocess. (You must install grit through devkitpro pacman or BlocksDS' Wonderful Toolchain pacman, and ffmpeg through your system's package manager)
Attempt at fixing trying to convert broken/weird character emote GIFs (trying to get n_frames on first load would give an error, trying to get it again actually returns the requested variable)
Character emote buttons are now scaled to 40x40 in case of different size.
Custom holdit/objection/takethat shout bubbles for characters are now converted
Fixed cropping of shout bubble images.
Music will be converted to ADX instead of MP3.
NOTE: If you've converted music to MP3 with the old version of the converter tool, you must convert it again with this new version.
Chatbox converter tool
First release. Included with converter-tool.7z
Converts a chatbox image for use with AO NDS.
The image must be 256 pixels wide, and the height must be a multiple of 8, e.g. 256x72, 256x80
Image must have a maximum of 16 colors.
There must be no alpha transparency on the image or on the chatbox itself whatsoever. For transparency, use the magenta color (#FF00FF, RGB 255,0,255)