Static linking for Windows.
This commit is contained in:
parent
651585f191
commit
c460a5b795
5
.gitignore
vendored
5
.gitignore
vendored
@ -9,6 +9,8 @@ base-full/
|
||||
bass.lib
|
||||
|
||||
bins/
|
||||
release/
|
||||
debug/
|
||||
|
||||
.qmake.stash
|
||||
|
||||
@ -18,3 +20,6 @@ object_script*
|
||||
/attorney_online_remake_plugin_import.cpp
|
||||
|
||||
server/__pycache__
|
||||
|
||||
*.o
|
||||
moc*
|
35
README.md
35
README.md
@ -1,3 +1,38 @@
|
||||
# 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.
|
||||
- **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.
|
||||
|
||||
---
|
||||
|
||||
# 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.
|
||||
|
||||
|
@ -2486,7 +2486,7 @@ void Courtroom::on_call_mod_clicked()
|
||||
"", &ok);
|
||||
if (ok)
|
||||
{
|
||||
text = text.chopped(100);
|
||||
text = text.left(100);
|
||||
ao_app->send_server_packet(new AOPacket("ZZ#" + text + "#%"));
|
||||
}
|
||||
|
||||
|
26
include/discord_register.h
Normal file
26
include/discord_register.h
Normal file
@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#if defined(DISCORD_DYNAMIC_LIB)
|
||||
# if defined(_WIN32)
|
||||
# if defined(DISCORD_BUILDING_SDK)
|
||||
# define DISCORD_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define DISCORD_EXPORT __declspec(dllimport)
|
||||
# endif
|
||||
# else
|
||||
# define DISCORD_EXPORT __attribute__((visibility("default")))
|
||||
# endif
|
||||
#else
|
||||
# define DISCORD_EXPORT
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
DISCORD_EXPORT void Discord_Register(const char* applicationId, const char* command);
|
||||
DISCORD_EXPORT void Discord_RegisterSteamGame(const char* applicationId, const char* steamId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
87
include/discord_rpc.h
Normal file
87
include/discord_rpc.h
Normal file
@ -0,0 +1,87 @@
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
// clang-format off
|
||||
|
||||
#if defined(DISCORD_DYNAMIC_LIB)
|
||||
# if defined(_WIN32)
|
||||
# if defined(DISCORD_BUILDING_SDK)
|
||||
# define DISCORD_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define DISCORD_EXPORT __declspec(dllimport)
|
||||
# endif
|
||||
# else
|
||||
# define DISCORD_EXPORT __attribute__((visibility("default")))
|
||||
# endif
|
||||
#else
|
||||
# define DISCORD_EXPORT
|
||||
#endif
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct DiscordRichPresence {
|
||||
const char* state; /* max 128 bytes */
|
||||
const char* details; /* max 128 bytes */
|
||||
int64_t startTimestamp;
|
||||
int64_t endTimestamp;
|
||||
const char* largeImageKey; /* max 32 bytes */
|
||||
const char* largeImageText; /* max 128 bytes */
|
||||
const char* smallImageKey; /* max 32 bytes */
|
||||
const char* smallImageText; /* max 128 bytes */
|
||||
const char* partyId; /* max 128 bytes */
|
||||
int partySize;
|
||||
int partyMax;
|
||||
const char* matchSecret; /* max 128 bytes */
|
||||
const char* joinSecret; /* max 128 bytes */
|
||||
const char* spectateSecret; /* max 128 bytes */
|
||||
int8_t instance;
|
||||
} DiscordRichPresence;
|
||||
|
||||
typedef struct DiscordUser {
|
||||
const char* userId;
|
||||
const char* username;
|
||||
const char* discriminator;
|
||||
const char* avatar;
|
||||
} DiscordUser;
|
||||
|
||||
typedef struct DiscordEventHandlers {
|
||||
void (*ready)(const DiscordUser* request);
|
||||
void (*disconnected)(int errorCode, const char* message);
|
||||
void (*errored)(int errorCode, const char* message);
|
||||
void (*joinGame)(const char* joinSecret);
|
||||
void (*spectateGame)(const char* spectateSecret);
|
||||
void (*joinRequest)(const DiscordUser* request);
|
||||
} DiscordEventHandlers;
|
||||
|
||||
#define DISCORD_REPLY_NO 0
|
||||
#define DISCORD_REPLY_YES 1
|
||||
#define DISCORD_REPLY_IGNORE 2
|
||||
|
||||
DISCORD_EXPORT void Discord_Initialize(const char* applicationId,
|
||||
DiscordEventHandlers* handlers,
|
||||
int autoRegister,
|
||||
const char* optionalSteamId);
|
||||
DISCORD_EXPORT void Discord_Shutdown(void);
|
||||
|
||||
/* checks for incoming messages, dispatches callbacks */
|
||||
DISCORD_EXPORT void Discord_RunCallbacks(void);
|
||||
|
||||
/* If you disable the lib starting its own io thread, you'll need to call this from your own */
|
||||
#ifdef DISCORD_DISABLE_IO_THREAD
|
||||
DISCORD_EXPORT void Discord_UpdateConnection(void);
|
||||
#endif
|
||||
|
||||
DISCORD_EXPORT void Discord_UpdatePresence(const DiscordRichPresence* presence);
|
||||
DISCORD_EXPORT void Discord_ClearPresence(void);
|
||||
|
||||
DISCORD_EXPORT void Discord_Respond(const char* userid, /* DISCORD_REPLY_ */ int reply);
|
||||
|
||||
DISCORD_EXPORT void Discord_UpdateHandlers(DiscordEventHandlers* handlers);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user