Attorney Online DS

Very interesting—thanks a lot for sharing! We've added the homebrew to the database, and here's the link to it:
 
Update v1.2 released

Client
  • 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.
 
Update v1.3
Download: https://github.com/headshot2017/ao-nds/releases/tag/v1.3

Changelog

Client​

  • Migrated the project from devkitARM to BlocksDS
    • Reduces the NDS ROM size.
    • 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.
  • Added the ability to "mount" custom content, to avoid mixing them with the vanilla data.
    • These custom contents can be placed in SD card/data/ao-nds/custom/<content name>
    • Inside the custom content folder, you can have backgrounds, characters, evidence, sounds and music.
    • They can then be enabled in the game's settings, on the "Custom contents" page.
    • You can also change the order in which the game looks for custom content, from top to bottom, on the "Custom contents (order)" page.
  • Music now uses ADX file format instead of MP3
    • Powered by libadx-nds
    • Allows playback of higher quality music
    • 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)
 
Back
Top