atrooney-online-2/README.md
Cerapter fe955d6923 Removed the dependency on bass.dll.
This is merely a reimplementation of Gameboyprinter's changes on the
main thing.
The only thing that's different from that one is that the options menu
has had its audio device removed, too.
2018-09-04 17:32:20 +02:00

8.7 KiB

Attorney Online 2: Case Café Custom Client (AO2:CCCC)

This project is a custom client made specifically for the Case Café server of Attorney Online 2. Nevertheless, the client itself has a bunch of features that are server independent, and if you so wish to run a server with the additional features, get yourself a copy of tsuserver3, and replace its server/ folder with the one supplied here.

Building the project is... complicated. I'm not even sure what I'm doing myself, most of the time. Still, get yourself Qt Creator, and compile the project using that, that's the easiest method of doing things.

Alternatively, you may wait till I make some stuff, and release a compiled executable. You may find said executables in the 'Tags' submenu to the left.

Features

  • Inline colouring: allows you to change the text's colour midway through the text.
    • () (parentheses) will make the text inbetween them blue.
    • ` (backwards apostrophes) will make the text green.
    • | (straight lines) will make the text orange.
    • [] (square brackets) will make the text grey.
    • No need for server support: the clients themselves will interpret these.
  • Additional text features:
    • Type { to slow down the text a bit. This takes effect after the character has been typed, so the text may take up different speeds at different points.
    • Type } to do the opposite! Similar rules apply.
    • Both of these can be stacked up to three times, and even against eachother.
    • As an example, here is a text:
    Hello there! This text goes at normal speed.} Now, it's a bit faster!{ Now, it's back to normal.}}} Now it goes at maximum speed! {{Now it's only a little bit faster than normal.
    
    • If you begin a message with ~~ (two tildes), those two tildes will be removed, and your message will be centered.
  • Use the in-game settings button:
    • If the theme supports it, you may have a Settings button on the client now, but you can also just type /settings in the OOC.
    • Modify the contents of your config.ini and callwords.ini from inside the game!
    • Some options may need a restart to take effect.
  • Custom Discord RPC icon and name!
  • Enhanced character selection screen:
    • The game preloads the characters' icons available on the server, avoiding lag on page switch this way.
    • As a side-effect of this, characters can now easily be filtered down to name, whether they are passworded, and if they're taken.
  • Server-supported features: These will require the modifications in the server/ folder applied to the server.
    • Call mod reason: allows you to input a reason for your modcall.
      • Modcalls can be cancelled, if needed.
    • Shouts can be disabled serverside (in the sense that they can still interrupt text, but will not make a sound or make the bubble appear).
    • The characters' shownames can be changed.
      • This needs the server to specifically approve it in areas.
      • The client can also turn off the showing of changed shownames if someone is maliciously impersonating someone.
    • Any character in the 'jud' position can make a Guilty / Not Guilty text appear with the new button additions.
      • These work like the WT / CE popups.
    • Capitalisation ignored for server commands. /getarea is exactly the same as /GEtAreA!
    • Various quality-of-life changes for mods, like /m, a server-wide mods-only chat.
    • Disallow blankposting using /allow_blankposting.
    • Avoid cucking by setting a jukebox using /jukebox_toggle.
      • Check the contents of the jukbox with /jukebox.
      • If you're a mod or the CM, skip the current jukebox song using /jukebox_skip.
  • Features not mentioned in here?
    • Check the link given by the /help function.

Modifications that need to be done

Since this custom client, and the server files supplied with it, add a few features not present in Vanilla, some modifications need to be done to ensure that you can use the full extent of them all. These are as follows:

  • In areas.yaml: (assuming you are the server owner)
    • You may add shouts_allowed to any of the areas to enable / disable shouts (and judge buttons, and realisation). By default, it's shouts_allowed: true.
    • You may add jukebox to any of the areas to enable the jukebox in there, but you can also use /jukebox_toggle in game as a mod to do the same thing. By default, it's jukebox: false.
    • You may add showname_changes_allowed to any of the areas to allow custom shownames used in there. If it's forbidden, players can't send messages or change music as long as they have a custom name set. By default, it's showname_changes_allowed: false.
    • You may add abbreviation to override the server-generated abbreviation of the area. Instead of area numbers, this server-pack uses area abbreviations in server messages for easier understanding (but still uses area IDs in commands, of course). No default here, but here is an example: abbreviation: SIN gives the area the abbreviation of 'SIN'.
  • In your themes:
    • You'll need the following, additional images:
      • notguilty.gif, which is a gif of the Not Guilty verdict being given.
      • guilty.gif, which is a gif of the Guilty verdict being given.
      • notguilty.png, which is a static image for the button for the Not Guilty verdict.
      • guilty.png, which is a static image for the button for the Guilty verdict.
    • In your lobby_design.ini:
      • Extend the width of the version label to a bigger size. Said label now shows both the underlying AO's version, and the custom client's version.
    • In your courtroom_sounds.ini:
      • Add a sound effect for not_guilty, for example: not_guilty = sfx-notguilty.wav.
      • Add a sound effect for guilty, for example: guilty = sfx-guilty.wav.
    • In your courtroom_design.ini, place the following new UI elements as and if you wish:
      • log_limit_label, which is a simple text that exmplains what the spinbox with the numbers is. Needs an X, Y, width, height number.
      • log_limit_spinbox, which is the spinbox for the log limit, allowing you to set the size of the log limit in-game. Needs the same stuff as above.
      • ic_chat_name, which is an input field for your custom showname. Needs the same stuff.
      • ao2_ic_chat_name, which is the same as above, but comes into play when the background has a desk.
        • Further comments on this: all ao2_ UI elements come into play when the background has a desk. However, in AO2 nowadays, it's customary for every background to have a desk, even if it's just an empty gif. So you most likely have never seen the ao2_-less UI elements ever come into play, unless someone mis-named a desk or something.
      • showname_enable is a tickbox that toggles whether you should see shownames or not. This does not influence whether you can USE custom shownames or not, so you can have it off, while still showing a custom showname to everyone else. Needs X, Y, width, height as usual.
      • settings is a plain button that takes up the OS's looks, like the 'Call mod' button. Takes the same arguments as above.
        • You can also just type /settings in OOC.
      • char_search is a text input box on the character selection screen, which allows you to filter characters down to name. Needs the same arguments.
      • char_passworded is a tickbox, that when ticked, shows all passworded characters on the character selection screen. Needs the same as above.
      • char_taken is another tickbox, that does the same, but for characters that are taken.
      • not_guilty is a button similar to the CE / WT buttons, that if pressed, plays the Not Guilty verdict animation. Needs the same arguments.
      • guilty is similar to not_guilty, but for the Guilty verdict.

Attorney-Online-Client-Remake

This is a open-source remake of Attorney Online written by OmniTroid. The original Attorney Online client was written by FanatSors in Delphi.

The logo (logo.png and logo.ico) was designed by Lucas Carbi. The characters depicted in the logo are owned by Capcom.

License

The project is dual-licensed; you are free to copy, modify and distribute AO2 under the GPLv3 or the MIT license.

Copyright (c) 2016-2018 David "OmniTroid" Skoland

Modifications copyright (c) 2017-2018 oldmud0

Qt

This project uses Qt 5, which is licensed under the GNU Lesser General Public License with certain licensing restrictions and exceptions. To comply with licensing requirements for static linking, object code is available if you would like to relink with an alternative version of Qt, and the source code for Qt may be found at https://github.com/qt/qtbase, http://code.qt.io/cgit/, or at https://qt.io.

Copyright (c) 2016 The Qt Company Ltd.