akashi-esquizolandia/core/core.pro
Leifa♥ b0555207d6 Privatization rework ()
* Add clang-format

* Multiple privatization changes

"Participation handshake" this refers to the moment that the user's client sends the `askchaa` packet.

* Server::m_clients is now private. Get a copy with Server::getClients()
* Server::m_player_count is now private. Get a copy with Server::getPlayerCount() (Additional logic was added to handle the player count.)
* AOClient::m_joined is now private. Get a copy with AOClient::hasJoined()
* Added signal AOClient::joined(); will be emitted when the client first complete the participation handshake.
* Renamed Server::updatePlayerCount to Server::playerCountUpdated

* Privatized Server

* Made Server members private: m_characters, m_areas, m_area_names
* Added Server methods: getCharacters(), getAreas(), getAreaById(f_area_id), getAreaByName(f_area_name), getAreaNames(), getAreaName(f_area_id), getMusicList
* Added Server helper methods: getCharacterCount(), getAreaCount()
- This reduce code repetition of the following example: server->getCharacters().length(), server->getAreas().size()

* Solved other merge conflicts

* Added Server methods, various fixes

* Added Server methods: getCharacterById(f_chr_id)
* Various optimizations

* More Server privatization changes

* Made Server members private: db_manager, next_message_timer, can_send_ic_messages
* Renamed Server members:
  * next_message_timer -> m_message_floodguard_timer
  * can_send_ic_message -> m_can_send_ic_message
Added Server methods: getDatabaseManager, isMessageAllowed, startMessageFloodguard(f_duration)
Made Server methods private: allowMessage

* Added new fields to load for AreaData

* Added fields: `area_message` (default: empty string) and `send_area_message_on_join` (default: false)

* Added Server::clearAreaMessage

* Cleaned up headers include (AOPacket excluded)

* Removed most project file includes, moved to source file (cpp)
  * AOPacket was excluded because some methods modify the copy

* Fix compile error when using MingW compiler

* Appease clang by using proper or and putting it in parentheses
* Remove extra semicolon
2022-06-15 17:52:27 -05:00

69 lines
1.8 KiB
Prolog

QT += network websockets core sql
QT -= gui
TEMPLATE = lib
# Apparently, Windows needs a static config to make a dynamic library?
# Look, I dunno.
# Linux works just fine with `shared` only.
CONFIG += shared static c++11
# Needed so that Windows doesn't do `release/` and `debug/` subfolders
# in the output directory.
CONFIG -= \
copy_dir_files \
debug_and_release \
debug_and_release_target
DESTDIR = $$PWD/../bin
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
# Enable this to print network messages to the console
#DEFINES += NET_DEBUG
SOURCES += \
src/aoclient.cpp \
src/aopacket.cpp \
src/area_data.cpp \
src/commands/area.cpp \
src/commands/authentication.cpp \
src/commands/casing.cpp \
src/commands/command_helper.cpp \
src/commands/messaging.cpp \
src/commands/moderation.cpp \
src/commands/music.cpp \
src/commands/roleplay.cpp \
src/config_manager.cpp \
src/db_manager.cpp \
src/discord.cpp \
src/packets.cpp \
src/server.cpp \
src/testimony_recorder.cpp \
src/ws_client.cpp \
src/ws_proxy.cpp \
src/advertiser.cpp \
src/logger/u_logger.cpp \
src/logger/writer_modcall.cpp \
src/logger/writer_full.cpp \
src/music_manager.cpp
HEADERS += include/aoclient.h \
include/aopacket.h \
include/area_data.h \
include/config_manager.h \
include/data_types.h \
include/db_manager.h \
include/discord.h \
include/server.h \
include/typedefs.h \
include/ws_client.h \
include/ws_proxy.h \
include/advertiser.h \
include/logger/u_logger.h \
include/logger/writer_modcall.h \
include/logger/writer_full.h \
include/music_manager.h