mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-29 07:37:45 +00:00
Progress...
This commit is contained in:
parent
28139b47b5
commit
f1c0512d28
95 changed files with 860 additions and 793 deletions
|
@ -27,13 +27,13 @@
|
|||
#include <algorithm>
|
||||
|
||||
#include <Framework.h>
|
||||
#include <Logging/Logger.h>
|
||||
|
||||
#include "Forwards.h"
|
||||
#include "SapphireAPI.h"
|
||||
|
||||
|
||||
Sapphire::Framework g_fw;
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Db::DbWorkerPool< Sapphire::Db::ZoneDbConnection > g_charaDb;
|
||||
Sapphire::Data::ExdDataGenerated g_exdDataGen;
|
||||
Sapphire::Network::SapphireAPI g_sapphireAPI;
|
||||
|
@ -41,6 +41,7 @@ Sapphire::Network::SapphireAPI g_sapphireAPI;
|
|||
namespace fs = std::experimental::filesystem;
|
||||
|
||||
using namespace std;
|
||||
using namespace Sapphire;
|
||||
|
||||
using HttpServer = SimpleWeb::Server< SimpleWeb::HTTP >;
|
||||
using HttpClient = SimpleWeb::Client< SimpleWeb::HTTP >;
|
||||
|
@ -64,17 +65,17 @@ void reloadConfig()
|
|||
|
||||
void print_request_info( shared_ptr< HttpServer::Request > request )
|
||||
{
|
||||
g_log.info( "Request from " + request->remote_endpoint_address + " (" + request->path + ")" );
|
||||
Logger::info( "Request from " + request->remote_endpoint_address + " (" + request->path + ")" );
|
||||
}
|
||||
|
||||
bool loadSettings( int32_t argc, char* argv[] )
|
||||
{
|
||||
g_log.info( "Loading config " + configPath );
|
||||
Logger::info( "Loading config " + configPath );
|
||||
|
||||
if( !m_pConfig->loadConfig( configPath ) )
|
||||
{
|
||||
g_log.fatal( "Error loading config " + configPath );
|
||||
g_log.fatal( "If this is the first time starting the server, we've copied the default one for your editing pleasure." );
|
||||
Logger::fatal( "Error loading config " + configPath );
|
||||
Logger::fatal( "If this is the first time starting the server, we've copied the default one for your editing pleasure." );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -135,17 +136,17 @@ bool loadSettings( int32_t argc, char* argv[] )
|
|||
}
|
||||
catch( ... )
|
||||
{
|
||||
g_log.error( "Error parsing argument: " + arg + " " + "value: " + val + "\n" );
|
||||
g_log.error( "Usage: <arg> <val> \n" );
|
||||
Logger::error( "Error parsing argument: " + arg + " " + "value: " + val + "\n" );
|
||||
Logger::error( "Usage: <arg> <val> \n" );
|
||||
}
|
||||
}
|
||||
|
||||
g_log.info( "Setting up generated EXD data" );
|
||||
Logger::info( "Setting up generated EXD data" );
|
||||
auto dataPath = m_pConfig->getValue< std::string >( "GlobalParameters", "DataPath", "" );
|
||||
if( !g_exdDataGen.init( dataPath ) )
|
||||
{
|
||||
g_log.fatal( "Error setting up generated EXD data. Make sure that DataPath is set correctly in config.ini" );
|
||||
g_log.fatal( "DataPath: " + dataPath );
|
||||
Logger::fatal( "Error setting up generated EXD data. Make sure that DataPath is set correctly in config.ini" );
|
||||
Logger::fatal( "DataPath: " + dataPath );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -168,7 +169,7 @@ bool loadSettings( int32_t argc, char* argv[] )
|
|||
m_pConfig->getValue< std::string >( "RestNetwork", "ListenPort", "80" ) ) );
|
||||
server.config.address = m_pConfig->getValue< std::string >( "RestNetwork", "ListenIp", "0.0.0.0" );
|
||||
|
||||
g_log.info( "Database: Connected to " + info.host + ":" + std::to_string( info.port ) );
|
||||
Logger::info( "Database: Connected to " + info.host + ":" + std::to_string( info.port ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -279,7 +280,7 @@ void createAccount( shared_ptr< HttpServer::Response > response, shared_ptr< Htt
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -313,7 +314,7 @@ void login( shared_ptr< HttpServer::Response > response, shared_ptr< HttpServer:
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -348,7 +349,7 @@ void deleteCharacter( shared_ptr< HttpServer::Response > response, shared_ptr< H
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -396,7 +397,7 @@ void createCharacter( shared_ptr< HttpServer::Response > response, shared_ptr< H
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -429,7 +430,7 @@ void insertSession( shared_ptr< HttpServer::Response > response, shared_ptr< Htt
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -464,7 +465,7 @@ void checkNameTaken( shared_ptr< HttpServer::Response > response, shared_ptr< Ht
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -506,7 +507,7 @@ void checkSession( shared_ptr< HttpServer::Response > response, shared_ptr< Http
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -536,7 +537,7 @@ void getNextCharId( shared_ptr< HttpServer::Response > response, shared_ptr< Htt
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -567,7 +568,7 @@ void getNextContentId( shared_ptr< HttpServer::Response > response, shared_ptr<
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -623,7 +624,7 @@ void getCharacterList( shared_ptr< HttpServer::Response > response, shared_ptr<
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -658,7 +659,7 @@ void get_init( shared_ptr< HttpServer::Response > response, shared_ptr< HttpServ
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -692,7 +693,7 @@ void get_headline_all( shared_ptr< HttpServer::Response > response, shared_ptr<
|
|||
catch( exception& e )
|
||||
{
|
||||
*response << buildHttpResponse( 500 );
|
||||
g_log.error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -735,16 +736,13 @@ void defaultGet( shared_ptr< HttpServer::Response > response, shared_ptr< HttpSe
|
|||
|
||||
int main( int argc, char* argv[] )
|
||||
{
|
||||
auto pLog = std::shared_ptr< Sapphire::Logger >( new Sapphire::Logger() );
|
||||
g_fw.set< Sapphire::Logger >( pLog );
|
||||
g_log.setLogPath( "log/SapphireAPI" );
|
||||
g_log.init();
|
||||
Logger::init( "log/SapphireAPI" );
|
||||
|
||||
g_log.info( "===========================================================" );
|
||||
g_log.info( "Sapphire API Server " );
|
||||
g_log.info( "Version: 0.0.1" );
|
||||
g_log.info( "Compiled: " __DATE__ " " __TIME__ );
|
||||
g_log.info( "===========================================================" );
|
||||
Logger::info( "===========================================================" );
|
||||
Logger::info( "Sapphire API Server " );
|
||||
Logger::info( "Version: 0.0.1" );
|
||||
Logger::info( "Compiled: " __DATE__ " " __TIME__ );
|
||||
Logger::info( "===========================================================" );
|
||||
|
||||
if( !loadSettings( argc, argv ) )
|
||||
throw std::exception();
|
||||
|
@ -771,7 +769,7 @@ int main( int argc, char* argv[] )
|
|||
server.start();
|
||||
} );
|
||||
|
||||
g_log.info( "API server running on " + m_pConfig->getValue< std::string >( "RestNetwork", "ListenIp", "0.0.0.0" ) + ":" +
|
||||
Logger::info( "API server running on " + m_pConfig->getValue< std::string >( "RestNetwork", "ListenIp", "0.0.0.0" ) + ":" +
|
||||
m_pConfig->getValue< std::string >( "RestNetwork", "ListenPort", "80" ) );
|
||||
|
||||
//Wait for server to start so that the client can connect
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
#include "PreparedStatement.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
Sapphire::Db::DbConnection::DbConnection( ConnectionInfo& connInfo ) :
|
||||
m_reconnecting( false ),
|
||||
m_prepareError( false ),
|
||||
|
@ -66,7 +64,7 @@ uint32_t Sapphire::Db::DbConnection::open()
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -118,7 +116,7 @@ bool Sapphire::Db::DbConnection::execute( const std::string& sql )
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -133,7 +131,7 @@ std::shared_ptr< Mysql::ResultSet > Sapphire::Db::DbConnection::query( const std
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +168,7 @@ Sapphire::Db::DbConnection::query( std::shared_ptr< Sapphire::Db::PreparedStatem
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -196,7 +194,7 @@ bool Sapphire::Db::DbConnection::execute( std::shared_ptr< Sapphire::Db::Prepare
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -232,7 +230,7 @@ void Sapphire::Db::DbConnection::prepareStatement( uint32_t index, const std::st
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
m_prepareError = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,9 +3,6 @@
|
|||
#include "ZoneDbConnection.h"
|
||||
#include "DbWorkerPool.h"
|
||||
#include "Logging/Logger.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
Sapphire::Db::DbLoader::DbLoader()
|
||||
{
|
||||
|
@ -17,14 +14,12 @@ Sapphire::Db::DbLoader& Sapphire::Db::DbLoader::addDb( Sapphire::Db::DbWorkerPoo
|
|||
|
||||
m_open.push( [ this, info, &pool ]()->bool
|
||||
{
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
const uint8_t asyncThreads = info.asyncThreads;
|
||||
const uint8_t synchThreads = info.syncThreads;
|
||||
|
||||
if( asyncThreads < 1 || asyncThreads > 32 )
|
||||
{
|
||||
pLog->error(
|
||||
Logger::error(
|
||||
"database: invalid number of worker threads specified. Please pick a value between 1 and 32." );
|
||||
return false;
|
||||
}
|
||||
|
@ -40,7 +35,7 @@ Sapphire::Db::DbLoader& Sapphire::Db::DbLoader::addDb( Sapphire::Db::DbWorkerPoo
|
|||
|
||||
if( error )
|
||||
{
|
||||
pLog->error( "DatabasePool failed to open." );
|
||||
Logger::error( "DatabasePool failed to open." );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -55,8 +50,7 @@ Sapphire::Db::DbLoader& Sapphire::Db::DbLoader::addDb( Sapphire::Db::DbWorkerPoo
|
|||
{
|
||||
if( !pool.prepareStatements() )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Could not prepare statements of the database, see log for details." );
|
||||
Logger::error( "Could not prepare statements of the database, see log for details." );
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
#include "Logging/Logger.h"
|
||||
#include <mysql.h>
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
class PingOperation :
|
||||
public Sapphire::Db::Operation
|
||||
{
|
||||
|
@ -23,8 +21,7 @@ class PingOperation :
|
|||
};
|
||||
|
||||
template< class T >
|
||||
Sapphire::Db::DbWorkerPool< T >::DbWorkerPool()
|
||||
:
|
||||
Sapphire::Db::DbWorkerPool< T >::DbWorkerPool() :
|
||||
m_queue( new Sapphire::LockedWaitQueue< std::shared_ptr< Operation > >() ),
|
||||
m_asyncThreads( 0 ),
|
||||
m_synchThreads( 0 )
|
||||
|
@ -50,8 +47,7 @@ void Sapphire::Db::DbWorkerPool< T >::setConnectionInfo( const ConnectionInfo& i
|
|||
template< class T >
|
||||
uint32_t Sapphire::Db::DbWorkerPool< T >::open()
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info( "[DbPool] Opening DatabasePool " + getDatabaseName() +
|
||||
Logger::info( "[DbPool] Opening DatabasePool " + getDatabaseName() +
|
||||
" Asynchronous connections: " + std::to_string( m_asyncThreads ) +
|
||||
" Synchronous connections: " + std::to_string( m_synchThreads ) );
|
||||
|
||||
|
@ -64,7 +60,7 @@ uint32_t Sapphire::Db::DbWorkerPool< T >::open()
|
|||
|
||||
if( !error )
|
||||
{
|
||||
pLog->info( "[DbPool] DatabasePool " + getDatabaseName() + " opened successfully. " +
|
||||
Logger::info( "[DbPool] DatabasePool " + getDatabaseName() + " opened successfully. " +
|
||||
std::to_string( ( m_connections[ IDX_SYNCH ].size() + m_connections[ IDX_ASYNC ].size() ) ) +
|
||||
" total connections running." );
|
||||
}
|
||||
|
@ -75,11 +71,10 @@ uint32_t Sapphire::Db::DbWorkerPool< T >::open()
|
|||
template< class T >
|
||||
void Sapphire::Db::DbWorkerPool< T >::close()
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info( "[DbPool] Closing down DatabasePool " + getDatabaseName() );
|
||||
Logger::info( "[DbPool] Closing down DatabasePool " + getDatabaseName() );
|
||||
m_connections[ IDX_ASYNC ].clear();
|
||||
m_connections[ IDX_SYNCH ].clear();
|
||||
pLog->info( "[DbPool] All connections on DatabasePool " + getDatabaseName() + "closed." );
|
||||
Logger::info( "[DbPool] All connections on DatabasePool " + getDatabaseName() + "closed." );
|
||||
}
|
||||
|
||||
template< class T >
|
||||
|
|
|
@ -8,6 +8,8 @@ namespace Sapphire
|
|||
|
||||
class ConfigMgr;
|
||||
using ConfigMgrPtr = std::shared_ptr< ConfigMgr >;
|
||||
class Framework;
|
||||
using FrameworkPtr = std::shared_ptr< Framework >;
|
||||
|
||||
namespace Network
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace Sapphire
|
|||
|
||||
}
|
||||
|
||||
void Logger::setLogPath( const std::string& logPath )
|
||||
void Logger::init( const std::string& logPath )
|
||||
{
|
||||
auto pos = logPath.find_last_of( '/' );
|
||||
|
||||
|
@ -33,15 +33,10 @@ namespace Sapphire
|
|||
fs::create_directories( realPath );
|
||||
}
|
||||
|
||||
m_logFile = logPath;
|
||||
}
|
||||
|
||||
void Logger::init()
|
||||
{
|
||||
spdlog::init_thread_pool( 8192, 1 );
|
||||
|
||||
auto stdout_sink = std::make_shared< spdlog::sinks::stdout_color_sink_mt >();
|
||||
auto daily_sink = std::make_shared< spdlog::sinks::daily_file_sink_mt >( m_logFile + ".log", 0, 0 );
|
||||
auto daily_sink = std::make_shared< spdlog::sinks::daily_file_sink_mt >( logPath + ".log", 0, 0 );
|
||||
|
||||
std::vector< spdlog::sink_ptr > sinks { stdout_sink, daily_sink };
|
||||
|
||||
|
|
|
@ -11,23 +11,20 @@ namespace Sapphire
|
|||
|
||||
private:
|
||||
std::string m_logFile;
|
||||
|
||||
public:
|
||||
Logger();
|
||||
|
||||
~Logger();
|
||||
|
||||
void init();
|
||||
public:
|
||||
|
||||
void error( const std::string& text );
|
||||
static void init( const std::string& logPath );
|
||||
|
||||
void info( const std::string& text );
|
||||
static void error( const std::string& text );
|
||||
|
||||
void debug( const std::string& text );
|
||||
static void info( const std::string& text );
|
||||
|
||||
void fatal( const std::string& text );
|
||||
static void debug( const std::string& text );
|
||||
|
||||
void setLogPath( const std::string& logPath );
|
||||
static void fatal( const std::string& text );
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
#include "Connection.h"
|
||||
#include "Hive.h"
|
||||
#include <functional>
|
||||
#include "Framework.h"
|
||||
|
||||
namespace Sapphire {
|
||||
namespace Network {
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Connection::Connection( HivePtr hive ) :
|
||||
Connection::Connection( HivePtr hive, FrameworkPtr pFw ) :
|
||||
m_hive( hive ),
|
||||
m_socket( hive->GetService() ),
|
||||
m_io_strand( hive->GetService() ),
|
||||
m_receive_buffer_size( 32000 ),
|
||||
m_error_state( 0 )
|
||||
m_error_state( 0 ),
|
||||
m_pFw( pFw )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,12 @@
|
|||
#include "Acceptor.h"
|
||||
#include <memory>
|
||||
|
||||
namespace Sapphire
|
||||
{
|
||||
class Framework;
|
||||
using FrameworkPtr = std::shared_ptr< Framework >;
|
||||
}
|
||||
|
||||
namespace Sapphire::Network
|
||||
{
|
||||
|
||||
|
@ -38,9 +44,9 @@ namespace Sapphire::Network
|
|||
std::list< std::vector< uint8_t > > m_pending_sends;
|
||||
int32_t m_receive_buffer_size;
|
||||
std::atomic< uint32_t > m_error_state;
|
||||
Sapphire::FrameworkPtr m_pFw;
|
||||
|
||||
|
||||
Connection( HivePtr hive );
|
||||
Connection( HivePtr hive, FrameworkPtr pFw );
|
||||
|
||||
virtual ~Connection();
|
||||
|
||||
|
@ -144,13 +150,13 @@ namespace Sapphire::Network
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
template< class T >
|
||||
std::shared_ptr< T > addServerToHive( const std::string& listenIp, uint32_t port, HivePtr pHive )
|
||||
std::shared_ptr< T > addServerToHive( const std::string& listenIp, uint32_t port, HivePtr pHive, FrameworkPtr pFw )
|
||||
{
|
||||
try
|
||||
{
|
||||
AcceptorPtr acceptor( new Acceptor( pHive ) );
|
||||
acceptor->Listen( listenIp, port );
|
||||
std::shared_ptr< T > connection( new T( pHive, acceptor ) );
|
||||
std::shared_ptr< T > connection( new T( pHive, acceptor, pFw ) );
|
||||
acceptor->Accept( connection );
|
||||
return connection;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace filesys = std::experimental::filesystem;
|
|||
|
||||
#include "DbManager.h"
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
using namespace Sapphire;
|
||||
|
||||
std::vector< std::string > getAllFilesInDir( const std::string& dirPath,
|
||||
const std::vector< std::string > dirSkipList = {} )
|
||||
|
@ -77,20 +77,20 @@ std::string delChar( std::string &str, char del )
|
|||
|
||||
void printUsage()
|
||||
{
|
||||
g_log.info( " Usage: sapphire_dbm " );
|
||||
g_log.info( "\t --mode" );
|
||||
g_log.info( "\t\t initialize -> Creates DB if not present and inserts default tables/data" );
|
||||
g_log.info( "\t\t check -> Checks if Sapphire DB-Version matches your DB-Version" );
|
||||
g_log.info( "\t\t update -> Updates your DB-Version to Sapphire DB-Version" );
|
||||
g_log.info( "\t\t clearchars -> Removes all character data from DB. Accounts will stay untouched" );
|
||||
g_log.info( "\t\t liquidate -> Removes all tables and deletes the DB" );
|
||||
g_log.info( "\t --user <mysqlUserName>" );
|
||||
g_log.info( "\t --pass <mysqlPassword> ( default empty )" );
|
||||
g_log.info( "\t --host <mysqlHost> ( default 127.0.0.1 )" );
|
||||
g_log.info( "\t --port <mysqlPort> ( default 3306 )" );
|
||||
g_log.info( "\t --database <mysqlDatabase>" );
|
||||
g_log.info( "\t --sfile <path/to/schemafile> ( default sql/schema/schema.sql )" );
|
||||
g_log.info( "\t --force ( skips user input / auto Yes )" );
|
||||
Logger::info( " Usage: sapphire_dbm " );
|
||||
Logger::info( "\t --mode" );
|
||||
Logger::info( "\t\t initialize -> Creates DB if not present and inserts default tables/data" );
|
||||
Logger::info( "\t\t check -> Checks if Sapphire DB-Version matches your DB-Version" );
|
||||
Logger::info( "\t\t update -> Updates your DB-Version to Sapphire DB-Version" );
|
||||
Logger::info( "\t\t clearchars -> Removes all character data from DB. Accounts will stay untouched" );
|
||||
Logger::info( "\t\t liquidate -> Removes all tables and deletes the DB" );
|
||||
Logger::info( "\t --user <mysqlUserName>" );
|
||||
Logger::info( "\t --pass <mysqlPassword> ( default empty )" );
|
||||
Logger::info( "\t --host <mysqlHost> ( default 127.0.0.1 )" );
|
||||
Logger::info( "\t --port <mysqlPort> ( default 3306 )" );
|
||||
Logger::info( "\t --database <mysqlDatabase>" );
|
||||
Logger::info( "\t --sfile <path/to/schemafile> ( default sql/schema/schema.sql )" );
|
||||
Logger::info( "\t --force ( skips user input / auto Yes )" );
|
||||
}
|
||||
|
||||
int main( int32_t argc, char* argv[] )
|
||||
|
@ -104,8 +104,7 @@ int main( int32_t argc, char* argv[] )
|
|||
std::string database;
|
||||
std::string pass;
|
||||
|
||||
g_log.setLogPath( "log/SapphireDbm" );
|
||||
g_log.init();
|
||||
Logger::init( "log/SapphireDbm" );
|
||||
|
||||
std::string sFile;
|
||||
std::string iFile;
|
||||
|
@ -181,23 +180,23 @@ int main( int32_t argc, char* argv[] )
|
|||
}
|
||||
else
|
||||
{
|
||||
g_log.fatal( "Not a valid mode: " + mode + " !" );
|
||||
Logger::fatal( "Not a valid mode: " + mode + " !" );
|
||||
return 1;
|
||||
}
|
||||
|
||||
g_log.info( "Launching in " + mode + " mode..." );
|
||||
Logger::info( "Launching in " + mode + " mode..." );
|
||||
|
||||
if( !dbm.connect() )
|
||||
{
|
||||
g_log.fatal( "Could not connect to server!" );
|
||||
g_log.fatal( dbm.getLastError() );
|
||||
Logger::fatal( "Could not connect to server!" );
|
||||
Logger::fatal( dbm.getLastError() );
|
||||
return 1;
|
||||
}
|
||||
|
||||
if( !dbm.performAction() )
|
||||
{
|
||||
g_log.fatal( "Could not perform action!" );
|
||||
g_log.fatal( dbm.getLastError() );
|
||||
Logger::fatal( "Could not perform action!" );
|
||||
Logger::fatal( dbm.getLastError() );
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,9 +24,11 @@ using namespace Sapphire::Network::Packets;
|
|||
using namespace Sapphire::Network::Packets::Server;
|
||||
|
||||
Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pHive,
|
||||
Sapphire::Network::AcceptorPtr pAcceptor )
|
||||
:
|
||||
Connection( pHive ), m_pAcceptor( pAcceptor ), m_bEncryptionInitialized( false )
|
||||
Sapphire::Network::AcceptorPtr pAcceptor,
|
||||
FrameworkPtr pFw ) :
|
||||
Connection( pHive, pFw ),
|
||||
m_pAcceptor( pAcceptor ),
|
||||
m_bEncryptionInitialized( false )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -39,7 +41,7 @@ Sapphire::Network::GameConnection::~GameConnection()
|
|||
// overwrite the parents onConnect for our game socket needs
|
||||
void Sapphire::Network::GameConnection::OnAccept( const std::string& host, uint16_t port )
|
||||
{
|
||||
auto connection = make_GameConnection( m_hive, m_pAcceptor );
|
||||
auto connection = make_GameConnection( m_hive, m_pAcceptor, m_pFw );
|
||||
m_pAcceptor->Accept( connection );
|
||||
|
||||
g_log.info( "Connect from " + m_socket.remote_endpoint().address().to_string() );
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace Sapphire::Network
|
|||
LockedQueue< Packets::GamePacketPtr > m_outQueue;
|
||||
|
||||
public:
|
||||
GameConnection( HivePtr pHive, AcceptorPtr pAcceptor );
|
||||
GameConnection( HivePtr pHive, AcceptorPtr pAcceptor, FrameworkPtr pFw );
|
||||
|
||||
~GameConnection();
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#include <Logging/Logger.h>
|
||||
#include <Config/ConfigMgr.h>
|
||||
|
||||
//#include "LobbySession.h"
|
||||
#include "Framework.h"
|
||||
|
||||
#include "ServerLobby.h"
|
||||
|
||||
|
@ -21,10 +21,10 @@
|
|||
|
||||
#include <thread>
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Network::RestConnector g_restConnector;
|
||||
|
||||
namespace Sapphire {
|
||||
namespace Sapphire
|
||||
{
|
||||
|
||||
|
||||
ServerLobby::ServerLobby( const std::string& configPath ) :
|
||||
|
@ -50,26 +50,26 @@ ConfigMgrPtr ServerLobby::getConfig() const
|
|||
|
||||
void ServerLobby::run( int32_t argc, char* argv[] )
|
||||
{
|
||||
g_log.setLogPath( "log/SapphireLobby" );
|
||||
g_log.init();
|
||||
Logger::init( "log/SapphireLobby" );
|
||||
|
||||
g_log.info( "===========================================================" );
|
||||
g_log.info( "Sapphire Server Project " );
|
||||
g_log.info( "Version: " + Version::VERSION );
|
||||
g_log.info( "Git Hash: " + Version::GIT_HASH );
|
||||
g_log.info( "Compiled: " __DATE__ " " __TIME__ );
|
||||
g_log.info( "===========================================================" );
|
||||
Logger::info( "===========================================================" );
|
||||
Logger::info( "Sapphire Server Project " );
|
||||
Logger::info( "Version: " + Version::VERSION );
|
||||
Logger::info( "Git Hash: " + Version::GIT_HASH );
|
||||
Logger::info( "Compiled: " __DATE__ " " __TIME__ );
|
||||
Logger::info( "===========================================================" );
|
||||
|
||||
if( !loadSettings( argc, argv ) )
|
||||
{
|
||||
g_log.fatal( "Error loading settings! " );
|
||||
Logger::fatal( "Error loading settings! " );
|
||||
return;
|
||||
}
|
||||
|
||||
auto pFw = std::make_shared< Framework >();
|
||||
Network::HivePtr hive( new Network::Hive() );
|
||||
Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive );
|
||||
Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive, pFw );
|
||||
|
||||
g_log.info(
|
||||
Logger::info(
|
||||
"Lobby server running on " + m_pConfig->getValue< std::string >( "LobbyNetwork", "ListenIp", "0.0.0.0" ) + ":" +
|
||||
m_pConfig->getValue< std::string >( "LobbyNetwork", "ListenPort", "80" ) );
|
||||
|
||||
|
@ -85,12 +85,12 @@ void ServerLobby::run( int32_t argc, char* argv[] )
|
|||
|
||||
bool ServerLobby::loadSettings( int32_t argc, char* argv[] )
|
||||
{
|
||||
g_log.info( "Loading config " + m_configPath );
|
||||
Logger::info( "Loading config " + m_configPath );
|
||||
|
||||
if( !m_pConfig->loadConfig( m_configPath ) )
|
||||
{
|
||||
g_log.fatal( "Error loading config " + m_configPath );
|
||||
g_log.fatal( "If this is the first time starting the server, we've copied the default one for your editing pleasure." );
|
||||
Logger::fatal( "Error loading config " + m_configPath );
|
||||
Logger::fatal( "If this is the first time starting the server, we've copied the default one for your editing pleasure." );
|
||||
return false;
|
||||
}
|
||||
std::vector< std::string > args( argv + 1, argv + argc );
|
||||
|
@ -127,8 +127,8 @@ bool ServerLobby::loadSettings( int32_t argc, char* argv[] )
|
|||
}
|
||||
catch( ... )
|
||||
{
|
||||
g_log.error( "Error parsing argument: " + arg + " " + "value: " + val + "\n" );
|
||||
g_log.error( "Usage: <arg> <val> \n" );
|
||||
Logger::error( "Error parsing argument: " + arg + " " + "value: " + val + "\n" );
|
||||
Logger::error( "Usage: <arg> <val> \n" );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include "Event/EventHandler.h"
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManFst001_00039
|
||||
// Quest Name: Coming to Gridania
|
||||
|
@ -95,7 +96,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
Scene00000( player );
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Event/EventHandler.h"
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManFst002_00124
|
||||
// Quest Name: Close to Home
|
||||
|
@ -192,7 +193,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
Scene00000( player );
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManFst003_00123
|
||||
// Quest Name: Close to Home
|
||||
|
@ -81,7 +82,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManFst004_00124
|
||||
// Quest Name: Close to Home
|
||||
|
@ -81,7 +82,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ManFst004::Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManSea001_00107
|
||||
// Quest Name: Coming to Limsa Lominsa
|
||||
|
@ -141,7 +142,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
Scene00000( player );
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManSea002_00108
|
||||
// Quest Name: Close to Home
|
||||
|
@ -47,7 +48,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManSea003_00109
|
||||
// Quest Name: Close to Home
|
||||
|
@ -63,7 +64,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManWil001_00594
|
||||
// Quest Name: Coming to Ul'dah
|
||||
|
@ -173,7 +174,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
// Quest Script: ManWil002_00568
|
||||
// Quest Name: Close to Home
|
||||
|
@ -69,7 +70,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -72,7 +73,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -58,7 +59,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 && !player.hasQuest( getId() ) )
|
||||
Scene00000( player );
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -51,7 +52,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -55,7 +56,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -55,7 +56,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -51,7 +52,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -54,7 +55,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR0 )
|
||||
Scene00000( player );
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -48,7 +49,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <ScriptObject.h>
|
||||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -160,7 +161,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
@ -180,7 +182,8 @@ public:
|
|||
|
||||
void onEmote( uint64_t actorId, uint32_t eventId, uint32_t emoteId, Entity::Player& player ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == ACTOR1 && emoteId == 5 && player.getQuestSeq( getId() ) == SEQ_1 )
|
||||
Scene00100( player );
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -55,7 +56,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -53,7 +54,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -48,7 +49,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -50,7 +51,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -46,7 +47,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == SubFst029::Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -64,7 +65,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -56,7 +57,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
#include <Actor/Player.h>
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -64,7 +65,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -47,7 +48,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -48,7 +49,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -52,7 +53,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -57,7 +58,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -50,7 +51,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include <ctime>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -54,7 +55,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
@ -88,7 +90,8 @@ public:
|
|||
|
||||
void onEmote( uint64_t actorId, uint32_t eventId, uint32_t emoteId, Entity::Player& player ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && emoteId == 41 && player.getQuestSeq( getId() ) == Seq1 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -54,7 +55,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 && !player.hasQuest( getId() ) )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -47,7 +48,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -51,7 +52,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -51,7 +52,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -45,7 +46,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -47,7 +48,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include <Event/EventHelper.h>
|
||||
#include <Manager/EventMgr.h>
|
||||
#include <ScriptObject.h>
|
||||
#include "Framework.h"
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
@ -50,7 +51,8 @@ public:
|
|||
|
||||
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
|
||||
{
|
||||
auto actor = Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
auto pEventMgr = m_framework->get< World::Manager::EventMgr >();
|
||||
auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) );
|
||||
|
||||
if( actor == Actor0 )
|
||||
{
|
||||
|
|
|
@ -16,10 +16,9 @@
|
|||
|
||||
#include <fstream>
|
||||
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Data::ExdDataGenerated g_exdData;
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
|
||||
const std::string datLocation(
|
||||
|
@ -91,13 +90,13 @@ std::string generateEnum( const std::string& exd, int8_t nameIndex, const std::s
|
|||
int main()
|
||||
{
|
||||
|
||||
g_log.init();
|
||||
Logger::init( "commongen" );
|
||||
|
||||
|
||||
g_log.info( "Setting up EXD data" );
|
||||
Logger::info( "Setting up EXD data" );
|
||||
if( !g_exdData.init( datLocation ) )
|
||||
{
|
||||
g_log.fatal( "Error setting up EXD data " );
|
||||
Logger::fatal( "Error setting up EXD data " );
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -130,6 +129,6 @@ int main()
|
|||
result += generateEnum( "HousingAppeal", 0, "uint8_t" );
|
||||
result += "}\n";
|
||||
result += "}\n#endif\n";
|
||||
g_log.info( result );
|
||||
Logger::info( result );
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -19,9 +19,8 @@
|
|||
#include <regex>
|
||||
#include <algorithm>
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Data::ExdDataGenerated g_exdData;
|
||||
bool skipUnmapped = true;
|
||||
|
||||
|
@ -324,10 +323,10 @@ std::string generateConstructorsDecl( const std::string& exd )
|
|||
|
||||
int main( int argc, char** argv )
|
||||
{
|
||||
g_log.init();
|
||||
Logger::init( "struct_gen" );
|
||||
if( argc > 1 )
|
||||
{
|
||||
g_log.info( "using dat path: " + std::string( argv[ 1 ] ) );
|
||||
Logger::info( "using dat path: " + std::string( argv[ 1 ] ) );
|
||||
datLocation = std::string( argv[ 1 ] );
|
||||
}
|
||||
|
||||
|
@ -357,14 +356,14 @@ int main( int argc, char** argv )
|
|||
auto json = nlohmann::json();
|
||||
exJson >> json;
|
||||
|
||||
g_log.info( "Setting up EXD data" );
|
||||
Logger::info( "Setting up EXD data" );
|
||||
if( !g_exdData.init( datLocation ) )
|
||||
{
|
||||
g_log.fatal( "Error setting up EXD data " );
|
||||
Logger::fatal( "Error setting up EXD data " );
|
||||
return 0;
|
||||
}
|
||||
g_log.info( "Generating structs, this may take several minutes..." );
|
||||
g_log.info( "Go grab a coffee..." );
|
||||
Logger::info( "Generating structs, this may take several minutes..." );
|
||||
Logger::info( "Go grab a coffee..." );
|
||||
|
||||
std::string structDefs;
|
||||
std::string idListsDecl;
|
||||
|
|
|
@ -16,10 +16,9 @@
|
|||
#include <streambuf>
|
||||
#include <regex>
|
||||
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Data::ExdDataGenerated g_exdData;
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
|
||||
const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" );
|
||||
|
@ -28,30 +27,30 @@ const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Rebo
|
|||
int main()
|
||||
{
|
||||
|
||||
g_log.init();
|
||||
Logger::init( "struct_test" );
|
||||
|
||||
g_log.info( "Setting up EXD data" );
|
||||
Logger::info( "Setting up EXD data" );
|
||||
if( !g_exdData.init( datLocation ) )
|
||||
{
|
||||
g_log.fatal( "Error setting up EXD data " );
|
||||
Logger::fatal( "Error setting up EXD data " );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//g_log.info( "getting id list " );
|
||||
//Logger::info( "getting id list " );
|
||||
//auto idList = g_exdData.getGilShopIdList();
|
||||
|
||||
//g_log.info( "getting id list done" );
|
||||
//Logger::info( "getting id list done" );
|
||||
//for( auto id : idList )
|
||||
{
|
||||
auto teri1 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 0 );
|
||||
g_log.info( "0 -> " + std::to_string( teri1->item ) );
|
||||
Logger::info( "0 -> " + std::to_string( teri1->item ) );
|
||||
|
||||
auto teri2 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 1 );
|
||||
g_log.info( "1 -> " + std::to_string( teri2->item ) );
|
||||
Logger::info( "1 -> " + std::to_string( teri2->item ) );
|
||||
|
||||
auto teri3 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 2 );
|
||||
g_log.info( "2 -> " + std::to_string( teri3->item ) );
|
||||
Logger::info( "2 -> " + std::to_string( teri3->item ) );
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -22,9 +22,10 @@ namespace filesys = std::experimental::filesystem;
|
|||
#include <regex>
|
||||
#include <map>
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Data::ExdDataGenerated g_exdData;
|
||||
|
||||
using namespace Sapphire;
|
||||
|
||||
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
|
||||
const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" );
|
||||
|
||||
|
@ -194,12 +195,12 @@ std::string delChar( std::string &str, char del )
|
|||
int dumpSpawns()
|
||||
{
|
||||
|
||||
g_log.init();
|
||||
Logger::init( "mob_parse" );
|
||||
|
||||
g_log.info( "Setting up EXD data" );
|
||||
Logger::info( "Setting up EXD data" );
|
||||
if( !g_exdData.init( datLocation ) )
|
||||
{
|
||||
g_log.fatal( "Error setting up EXD data " );
|
||||
Logger::fatal( "Error setting up EXD data " );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -223,7 +224,7 @@ int dumpSpawns()
|
|||
auto str = file.substr( 0, pos );
|
||||
pos = str.find_last_of( filesys::path::preferred_separator );
|
||||
auto zone = str.substr( pos + 1 );
|
||||
//g_log.info( zone );
|
||||
//Logger::info( zone );
|
||||
|
||||
FFXIVIpcNpcSpawn packet;
|
||||
std::ifstream is;
|
||||
|
@ -258,15 +259,15 @@ int dumpSpawns()
|
|||
//auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( entry.first );
|
||||
auto teri1 = g_exdData.get< Sapphire::Data::TerritoryType >( entry.first );
|
||||
auto teriPlaceName = g_exdData.get< Sapphire::Data::PlaceName >( teri1->placeName );
|
||||
g_log.info( std::to_string( entry.first ) + " - " + teri1->name + " - " + teriPlaceName->name );
|
||||
g_log.info( "Mob Count: " + std::to_string( entry.second.size() ) );
|
||||
Logger::info( std::to_string( entry.first ) + " - " + teri1->name + " - " + teriPlaceName->name );
|
||||
Logger::info( "Mob Count: " + std::to_string( entry.second.size() ) );
|
||||
|
||||
for( auto mob : entry.second )
|
||||
{
|
||||
nameToPacketList[ mob.bNPCBase ].push_back( mob );
|
||||
|
||||
auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( mob.bNPCName );
|
||||
//g_log.info( nameStruct->singular + " " + std::to_string( packet.bNPCBase ) );
|
||||
//Logger::info( nameStruct->singular + " " + std::to_string( packet.bNPCBase ) );
|
||||
}
|
||||
|
||||
std::map< std::string, std::vector< FFXIVIpcNpcSpawn > > lvlToPacket;
|
||||
|
@ -282,7 +283,7 @@ int dumpSpawns()
|
|||
for( auto mobName : lvlToPacket )
|
||||
{
|
||||
auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( mobName.second.at(0).bNPCName );
|
||||
g_log.info( "|--> " + nameStruct->singular + "(" + std::to_string( mobName.second.size() ) + ")" );
|
||||
Logger::info( "|--> " + nameStruct->singular + "(" + std::to_string( mobName.second.size() ) + ")" );
|
||||
|
||||
spawngroups++;
|
||||
for( FFXIVIpcNpcSpawn instance : mobName.second )
|
||||
|
@ -314,7 +315,7 @@ int dumpSpawns()
|
|||
std::string name = delChar( nameStruct->singular, ' ' );
|
||||
name = delChar( name, '\'' );
|
||||
|
||||
g_log.info( "|----> " + name + "_" + std::to_string( instance.bNPCBase ) + " " +
|
||||
Logger::info( "|----> " + name + "_" + std::to_string( instance.bNPCBase ) + " " +
|
||||
std::to_string( instance.posX ) + ", " +
|
||||
std::to_string( instance.posY ) + ", " +
|
||||
std::to_string( instance.posZ ) + ", " +
|
||||
|
@ -322,7 +323,7 @@ int dumpSpawns()
|
|||
std::to_string( instance.gimmickId ) + ", " +
|
||||
std::to_string( instance.level ) + ", " +
|
||||
std::to_string( instance.hPMax ) );
|
||||
//g_log.info( "|----> " + name + " - " + std::to_string( instance.bNPCBase ) + ", " + std::to_string( instance.gimmickId ) );
|
||||
//Logger::info( "|----> " + name + " - " + std::to_string( instance.bNPCBase ) + ", " + std::to_string( instance.gimmickId ) );
|
||||
|
||||
|
||||
|
||||
|
@ -340,7 +341,7 @@ int dumpSpawns()
|
|||
+ "UNHEX( '" + cusStr + "'), "
|
||||
+ "UNHEX( '" + modelStr + "') );\n";*/
|
||||
|
||||
//g_log.info( output );
|
||||
//Logger::info( output );
|
||||
|
||||
//out << output;
|
||||
|
||||
|
@ -351,7 +352,7 @@ int dumpSpawns()
|
|||
|
||||
}
|
||||
|
||||
g_log.info( "|--> Total SpawnGroups: " + std::to_string( spawngroups ) );
|
||||
Logger::info( "|--> Total SpawnGroups: " + std::to_string( spawngroups ) );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -360,12 +361,12 @@ int dumpSpawns()
|
|||
int dumpTemplates()
|
||||
{
|
||||
|
||||
g_log.init();
|
||||
Logger::init( "mob_parse" );
|
||||
|
||||
g_log.info( "Setting up EXD data" );
|
||||
Logger::info( "Setting up EXD data" );
|
||||
if( !g_exdData.init( datLocation ) )
|
||||
{
|
||||
g_log.fatal( "Error setting up EXD data " );
|
||||
Logger::fatal( "Error setting up EXD data " );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -389,7 +390,7 @@ int dumpTemplates()
|
|||
auto str = file.substr( 0, pos );
|
||||
pos = str.find_last_of( filesys::path::preferred_separator );
|
||||
auto zone = str.substr( pos + 1 );
|
||||
//g_log.info( zone );
|
||||
//Logger::info( zone );
|
||||
|
||||
FFXIVIpcNpcSpawn packet;
|
||||
std::ifstream is;
|
||||
|
@ -419,7 +420,7 @@ int dumpTemplates()
|
|||
{
|
||||
auto zoneIdStr = file.substr( pos + 1 );
|
||||
auto teri1 = g_exdData.get< Sapphire::Data::TerritoryType >( std::stoi( zoneIdStr ) );
|
||||
g_log.info( zoneIdStr + " - " + teri1->name );
|
||||
Logger::info( zoneIdStr + " - " + teri1->name );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -434,7 +435,7 @@ int dumpTemplates()
|
|||
nameToPacketList[ packet.bNPCName ].push_back( packet );
|
||||
|
||||
auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( packet.bNPCName );
|
||||
//g_log.info( nameStruct->singular + " " + std::to_string( packet.bNPCBase ) );
|
||||
//Logger::info( nameStruct->singular + " " + std::to_string( packet.bNPCBase ) );
|
||||
}
|
||||
*/
|
||||
|
||||
|
@ -448,23 +449,23 @@ int dumpTemplates()
|
|||
//auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( entry.first );
|
||||
auto teri1 = g_exdData.get< Sapphire::Data::TerritoryType >( entry.first );
|
||||
auto teriPlaceName = g_exdData.get< Sapphire::Data::PlaceName >( teri1->placeName );
|
||||
g_log.info( std::to_string( entry.first ) + " - " + teri1->name + " - " + teriPlaceName->name );
|
||||
g_log.info( "Mob Count: " + std::to_string( entry.second.size() ) );
|
||||
Logger::info( std::to_string( entry.first ) + " - " + teri1->name + " - " + teriPlaceName->name );
|
||||
Logger::info( "Mob Count: " + std::to_string( entry.second.size() ) );
|
||||
|
||||
for( auto mob : entry.second )
|
||||
{
|
||||
nameToPacketList[ mob.bNPCBase ].push_back( mob );
|
||||
|
||||
auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( mob.bNPCName );
|
||||
//g_log.info( nameStruct->singular + " " + std::to_string( packet.bNPCBase ) );
|
||||
//Logger::info( nameStruct->singular + " " + std::to_string( packet.bNPCBase ) );
|
||||
}
|
||||
|
||||
g_log.info( "Unique Mobs: " + std::to_string( nameToPacketList.size() ) );
|
||||
Logger::info( "Unique Mobs: " + std::to_string( nameToPacketList.size() ) );
|
||||
|
||||
for( auto mobName : nameToPacketList )
|
||||
{
|
||||
auto nameStruct = g_exdData.get< Sapphire::Data::BNpcName >( mobName.second.at(0).bNPCName );
|
||||
g_log.info( "|--> " + nameStruct->singular + "(" + std::to_string( mobName.second.size() ) + ")" );
|
||||
Logger::info( "|--> " + nameStruct->singular + "(" + std::to_string( mobName.second.size() ) + ")" );
|
||||
|
||||
auto instance = mobName.second.at(0);
|
||||
//for( FFXIVIpcNpcSpawn instance : mobName.second )
|
||||
|
@ -494,8 +495,8 @@ int dumpTemplates()
|
|||
|
||||
cusStr = binaryToHexString( (uint8_t*)instance.look, 26 );
|
||||
|
||||
//g_log.info( "|----> " + std::to_string( instance.bNPCBase ) + " " + std::to_string( instance.posX ) + ", " + std::to_string( instance.posY ) + ", " + std::to_string( instance.posZ ) );
|
||||
// g_log.info( "|----> " + std::to_string( instance.bNPCBase ) +
|
||||
//Logger::info( "|----> " + std::to_string( instance.bNPCBase ) + " " + std::to_string( instance.posX ) + ", " + std::to_string( instance.posY ) + ", " + std::to_string( instance.posZ ) );
|
||||
// Logger::info( "|----> " + std::to_string( instance.bNPCBase ) +
|
||||
// " " + std::to_string( instance.mainWeaponModel ) +
|
||||
// ", " + std::to_string( instance.secWeaponModel ) +
|
||||
// ", " + std::to_string( instance.aggressionMode ) +
|
||||
|
@ -522,11 +523,11 @@ int dumpTemplates()
|
|||
+ "UNHEX( '" + cusStr + "'), "
|
||||
+ "UNHEX( '" + modelStr + "') );\n";
|
||||
|
||||
g_log.info( output );
|
||||
Logger::info( output );
|
||||
|
||||
out << output;
|
||||
|
||||
/* g_log.info( "|----> " + std::to_string( instance.bNPCBase ) +
|
||||
/* Logger::info( "|----> " + std::to_string( instance.bNPCBase ) +
|
||||
" " + std::to_string( instance.u2ab ) +
|
||||
", " + std::to_string( instance.u2b ) +
|
||||
", " + std::to_string( instance.u3b ) +
|
||||
|
@ -554,15 +555,15 @@ int dumpTemplates()
|
|||
|
||||
}
|
||||
out.close();
|
||||
/*g_log.info( "getting id list " );
|
||||
/*Logger::info( "getting id list " );
|
||||
auto idList = g_exdData.getTerritoryTypeIdList();
|
||||
|
||||
g_log.info( "getting id list done" );
|
||||
Logger::info( "getting id list done" );
|
||||
for( auto id : idList )
|
||||
{
|
||||
auto teri1 = g_exdData.get<Sapphire::Data::TerritoryType>( id );
|
||||
|
||||
g_log.info( teri1->name );
|
||||
Logger::info( teri1->name );
|
||||
}*/
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -20,10 +20,9 @@
|
|||
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
Sapphire::Logger g_log;
|
||||
Sapphire::Data::ExdDataGenerated g_exdDataGen;
|
||||
namespace fs = std::experimental::filesystem;
|
||||
using namespace Sapphire;
|
||||
|
||||
const std::string onTalkStr(
|
||||
" void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override\n"
|
||||
|
@ -328,7 +327,7 @@ createScript( std::shared_ptr< Sapphire::Data::Quest >& pQuestData, std::set< st
|
|||
int main( int argc, char** argv )
|
||||
{
|
||||
|
||||
g_log.init();
|
||||
Logger::init( "quest_parser" );
|
||||
|
||||
bool unluac = false;
|
||||
// std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
|
||||
|
@ -341,11 +340,11 @@ int main( int argc, char** argv )
|
|||
|
||||
unluac = true;
|
||||
|
||||
g_log.info( "Setting up generated EXD data" );
|
||||
Logger::info( "Setting up generated EXD data" );
|
||||
if( !g_exdDataGen.init( datLocation ) )
|
||||
{
|
||||
std::cout << datLocation << "\n";
|
||||
g_log.fatal( "Error setting up EXD data " );
|
||||
Logger::fatal( "Error setting up EXD data " );
|
||||
std::cout << "Usage: quest_parser \"path/to/ffxiv/game/sqpack\" <1/0 unluac export toggle>\n";
|
||||
return 0;
|
||||
}
|
||||
|
@ -357,13 +356,13 @@ int main( int argc, char** argv )
|
|||
if( !fs::exists( "./generated" ) )
|
||||
fs::create_directory( "./generated" );
|
||||
|
||||
g_log.info( "Export in progress" );
|
||||
Logger::info( "Export in progress" );
|
||||
|
||||
uint32_t updateInterval = rows.size() / 20;
|
||||
uint32_t i = 0;
|
||||
for( const auto& row : rows )
|
||||
{
|
||||
g_log.info( "Generating " + std::to_string( row ) );
|
||||
Logger::info( "Generating " + std::to_string( row ) );
|
||||
auto questInfo = g_exdDataGen.get< Sapphire::Data::Quest >( row );
|
||||
|
||||
if( questInfo->name.empty() || questInfo->id.empty() )
|
||||
|
@ -408,7 +407,7 @@ int main( int argc, char** argv )
|
|||
"generated/" + questInfo->id + ".lua";
|
||||
if( system( command.c_str() ) == -1 )
|
||||
{
|
||||
g_log.error( "Error executing java command:\n" + command + "\nerrno: " + std::strerror( errno ) );
|
||||
Logger::error( "Error executing java command:\n" + command + "\nerrno: " + std::strerror( errno ) );
|
||||
return errno;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,8 +95,7 @@ void Sapphire::Action::EventAction::onFinish()
|
|||
}
|
||||
catch( std::exception& e )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -134,8 +133,7 @@ void Sapphire::Action::EventAction::onInterrupt()
|
|||
}
|
||||
catch( std::exception& e )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,8 +14,6 @@
|
|||
#include "EventItemAction.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
|
@ -83,8 +81,7 @@ void Sapphire::Action::EventItemAction::onFinish()
|
|||
}
|
||||
catch( std::exception& e )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -112,8 +109,7 @@ void Sapphire::Action::EventItemAction::onInterrupt()
|
|||
}
|
||||
catch( std::exception& e )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( e.what() );
|
||||
Logger::error( e.what() );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -123,9 +123,7 @@ void Sapphire::Entity::EventObject::spawn( Sapphire::Entity::PlayerPtr pTarget )
|
|||
if( !pTarget->isObjSpawnIndexValid( spawnIndex ) )
|
||||
return;
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
pLog->debug( "Spawning EObj: id:" + std::to_string( getId() ) + " name:" + getName() );
|
||||
Logger::debug( "Spawning EObj: id:" + std::to_string( getId() ) + " name:" + getName() );
|
||||
|
||||
auto eobjStatePacket = makeZonePacket< FFXIVIpcObjectSpawn >( getId(), pTarget->getId() );
|
||||
eobjStatePacket->data().spawnIndex = spawnIndex;
|
||||
|
@ -144,8 +142,7 @@ void Sapphire::Entity::EventObject::spawn( Sapphire::Entity::PlayerPtr pTarget )
|
|||
|
||||
void Sapphire::Entity::EventObject::despawn( Sapphire::Entity::PlayerPtr pTarget )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "despawn eobj: " + std::to_string( getId() ) );
|
||||
Logger::debug( "despawn eobj: " + std::to_string( getId() ) );
|
||||
|
||||
pTarget->freeObjSpawnIndexForActorId( getId() );
|
||||
}
|
||||
|
|
|
@ -866,8 +866,7 @@ void Sapphire::Entity::Player::setLookAt( uint8_t index, uint8_t value )
|
|||
// spawn this player for pTarget
|
||||
void Sapphire::Entity::Player::spawn( Entity::PlayerPtr pTarget )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "[" + std::to_string( pTarget->getId() ) + "] Spawning " +
|
||||
Logger::debug( "[" + std::to_string( pTarget->getId() ) + "] Spawning " +
|
||||
getName() + " for " +
|
||||
pTarget->getName() );
|
||||
|
||||
|
@ -878,8 +877,7 @@ void Sapphire::Entity::Player::spawn( Entity::PlayerPtr pTarget )
|
|||
void Sapphire::Entity::Player::despawn( Entity::PlayerPtr pTarget )
|
||||
{
|
||||
auto pPlayer = pTarget;
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "despawning " + getName() + " for " + pTarget->getName() );
|
||||
Logger::debug( "despawning " + getName() + " for " + pTarget->getName() );
|
||||
|
||||
pPlayer->freePlayerSpawnId( getId() );
|
||||
|
||||
|
|
|
@ -77,8 +77,7 @@ void Sapphire::Entity::Player::directorPlayScene( uint32_t eventId, uint32_t sce
|
|||
auto pEvent = getEvent( eventId );
|
||||
if( !pEvent )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
Logger::error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -162,8 +161,7 @@ Sapphire::Event::EventHandlerPtr Sapphire::Entity::Player::bootstrapSceneEvent(
|
|||
auto pEvent = getEvent( eventId );
|
||||
if( !pEvent )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
Logger::error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -227,8 +225,7 @@ void Sapphire::Entity::Player::eventFinish( uint32_t eventId, uint32_t freePlaye
|
|||
|
||||
if( !pEvent )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
Logger::error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -303,8 +300,7 @@ void Sapphire::Entity::Player::eventActionStart( uint32_t eventId,
|
|||
}
|
||||
else if( !pEvent )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
Logger::error( "Could not find event " + std::to_string( eventId ) + ", event has not been started!" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -425,7 +425,6 @@ uint32_t Sapphire::Entity::Player::getCrystal( CrystalType type )
|
|||
|
||||
void Sapphire::Entity::Player::writeInventory( InventoryType type )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pDb = g_fw.get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
|
||||
auto storage = m_storageMap[ type ];
|
||||
|
@ -450,7 +449,6 @@ void Sapphire::Entity::Player::writeInventory( InventoryType type )
|
|||
if( storage->isMultiStorage() )
|
||||
query += " AND storageId = " + std::to_string( static_cast< uint16_t >( type ) );
|
||||
|
||||
pLog->debug( query );
|
||||
pDb->execute( query );
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@ bool Sapphire::Entity::Player::load( uint32_t charId, World::SessionPtr pSession
|
|||
{
|
||||
auto pDb = g_fw.get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
const std::string char_id_str = std::to_string( charId );
|
||||
|
||||
|
@ -99,8 +98,8 @@ bool Sapphire::Entity::Player::load( uint32_t charId, World::SessionPtr pSession
|
|||
// see if a valid zone could be found for the character
|
||||
if( !pCurrZone )
|
||||
{
|
||||
pLog->error( "[" + char_id_str + "] Zone " + std::to_string( zoneId ) + " not found!" );
|
||||
pLog->error( "[" + char_id_str + "] Setting default zone instead" );
|
||||
Logger::error( "[" + char_id_str + "] Zone " + std::to_string( zoneId ) + " not found!" );
|
||||
Logger::error( "[" + char_id_str + "] Setting default zone instead" );
|
||||
|
||||
// default to new gridania
|
||||
// TODO: should probably just abort and mark character as corrupt
|
||||
|
@ -198,7 +197,7 @@ bool Sapphire::Entity::Player::load( uint32_t charId, World::SessionPtr pSession
|
|||
m_pCell = nullptr;
|
||||
|
||||
if( !loadActiveQuests() || !loadClassData() || !loadSearchInfo() )
|
||||
pLog->error( "Player id " + char_id_str + " data corrupt!" );
|
||||
Logger::error( "Player id " + char_id_str + " data corrupt!" );
|
||||
|
||||
m_maxHp = getMaxHp();
|
||||
m_maxMp = getMaxMp();
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
#ifndef _EVENTHELPER_H
|
||||
#define _EVENTHELPER_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace Sapphire::Event
|
||||
{
|
||||
|
||||
std::string getEventName( uint32_t eventId );
|
||||
uint32_t mapEventActorToRealActor( uint32_t eventActorId );
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -39,7 +39,6 @@ uint16_t Sapphire::ItemContainer::getEntryCount() const
|
|||
|
||||
void Sapphire::ItemContainer::removeItem( uint16_t slotId )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pDb = g_fw.get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
ItemMap::iterator it = m_itemMap.find( slotId );
|
||||
|
||||
|
@ -50,11 +49,11 @@ void Sapphire::ItemContainer::removeItem( uint16_t slotId )
|
|||
|
||||
m_itemMap.erase( it );
|
||||
|
||||
pLog->debug( "Dropped item from slot " + std::to_string( slotId ) );
|
||||
Logger::debug( "Dropped item from slot " + std::to_string( slotId ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
pLog->debug( "Item could not be dropped from slot " + std::to_string( slotId ) );
|
||||
Logger::debug( "Item could not be dropped from slot " + std::to_string( slotId ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -85,8 +84,7 @@ Sapphire::ItemPtr Sapphire::ItemContainer::getItem( uint16_t slotId )
|
|||
|
||||
if( ( slotId > m_size ) )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Slot out of range " + std::to_string( slotId ) );
|
||||
Logger::error( "Slot out of range " + std::to_string( slotId ) );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
|
@ -139,7 +139,6 @@ void Sapphire::World::Manager::DebugCommandMgr::help( char* data, Entity::Player
|
|||
void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player& player,
|
||||
std::shared_ptr< DebugCommand > command )
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
auto pTerriMgr = framework()->get< TerritoryMgr >();
|
||||
auto pDb = framework()->get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
std::string subCommand = "";
|
||||
|
@ -160,7 +159,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
if( command->getName().length() + 1 + pos + 1 < strlen( data ) )
|
||||
params = std::string( data + command->getName().length() + 1 + pos + 1 );
|
||||
|
||||
pLog->debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
Logger::debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
"subCommand " + subCommand + " params: " + params );
|
||||
|
||||
if( ( ( subCommand == "pos" ) || ( subCommand == "posr" ) ) && ( params != "" ) )
|
||||
|
@ -379,7 +378,6 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player& player,
|
||||
std::shared_ptr< DebugCommand > command )
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
std::string subCommand;
|
||||
std::string params = "";
|
||||
|
||||
|
@ -398,7 +396,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
if( command->getName().length() + 1 + pos + 1 < strlen( data ) )
|
||||
params = std::string( data + command->getName().length() + 1 + pos + 1 );
|
||||
|
||||
pLog->debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
Logger::debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
"subCommand " + subCommand + " params: " + params );
|
||||
|
||||
|
||||
|
@ -514,7 +512,6 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
void Sapphire::World::Manager::DebugCommandMgr::get( char* data, Entity::Player& player,
|
||||
std::shared_ptr< DebugCommand > command )
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
auto pExdData = framework()->get< Data::ExdDataGenerated >();
|
||||
std::string subCommand;
|
||||
std::string params = "";
|
||||
|
@ -534,7 +531,7 @@ void Sapphire::World::Manager::DebugCommandMgr::get( char* data, Entity::Player&
|
|||
if( command->getName().length() + 1 + pos + 1 < strlen( data ) )
|
||||
params = std::string( data + command->getName().length() + 1 + pos + 1 );
|
||||
|
||||
pLog->debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
Logger::debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
"subCommand " + subCommand + " params: " + params );
|
||||
|
||||
|
||||
|
@ -580,7 +577,6 @@ void Sapphire::World::Manager::DebugCommandMgr::injectChatPacket( char* data, En
|
|||
void Sapphire::World::Manager::DebugCommandMgr::replay( char* data, Entity::Player& player,
|
||||
std::shared_ptr< DebugCommand > command )
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
auto pServerZone = framework()->get< World::ServerMgr >();
|
||||
std::string subCommand;
|
||||
std::string params = "";
|
||||
|
@ -600,7 +596,7 @@ void Sapphire::World::Manager::DebugCommandMgr::replay( char* data, Entity::Play
|
|||
if( command->getName().length() + 1 + pos + 1 < strlen( data ) )
|
||||
params = std::string( data + command->getName().length() + 1 + pos + 1 );
|
||||
|
||||
pLog->debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
Logger::debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
"subCommand " + subCommand + " params: " + params );
|
||||
|
||||
|
||||
|
@ -690,7 +686,6 @@ Sapphire::World::Manager::DebugCommandMgr::serverInfo( char* data, Entity::Playe
|
|||
void Sapphire::World::Manager::DebugCommandMgr::script( char* data, Entity::Player& player,
|
||||
std::shared_ptr< DebugCommand > command )
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
auto pScriptMgr = framework()->get< Scripting::ScriptMgr >();
|
||||
std::string subCommand;
|
||||
std::string params = "";
|
||||
|
@ -711,7 +706,7 @@ void Sapphire::World::Manager::DebugCommandMgr::script( char* data, Entity::Play
|
|||
if( command->getName().length() + 1 + pos + 1 < strlen( data ) )
|
||||
params = std::string( data + command->getName().length() + 1 + pos + 1 );
|
||||
|
||||
pLog->debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
Logger::debug( "[" + std::to_string( player.getId() ) + "] " +
|
||||
"subCommand " + subCommand + " params: " + params );
|
||||
|
||||
if( subCommand == "unload" )
|
||||
|
|
|
@ -3,18 +3,20 @@
|
|||
#include <Util/Util.h>
|
||||
|
||||
#include "Framework.h"
|
||||
#include "EventHelper.h"
|
||||
#include "EventHandler.h"
|
||||
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
#include "EventMgr.h"
|
||||
#include "Event/EventHandler.h"
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
|
||||
std::string Sapphire::Event::getEventName( uint32_t eventId )
|
||||
Sapphire::World::Manager::EventMgr::EventMgr( Sapphire::FrameworkPtr pFw ) :
|
||||
BaseManager( pFw )
|
||||
{
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
|
||||
}
|
||||
|
||||
std::string Sapphire::World::Manager::EventMgr::getEventName( uint32_t eventId )
|
||||
{
|
||||
auto pExdData = framework()->get< Data::ExdDataGenerated >();
|
||||
uint16_t eventType = eventId >> 16;
|
||||
|
||||
auto unknown = std::string{ "unknown" };
|
||||
|
@ -95,9 +97,9 @@ std::string Sapphire::Event::getEventName( uint32_t eventId )
|
|||
}
|
||||
}
|
||||
|
||||
uint32_t Sapphire::Event::mapEventActorToRealActor( uint32_t eventActorId )
|
||||
uint32_t Sapphire::World::Manager::EventMgr::mapEventActorToRealActor( uint32_t eventActorId )
|
||||
{
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pExdData = framework()->get< Data::ExdDataGenerated >();
|
||||
auto levelInfo = pExdData->get< Sapphire::Data::Level >( eventActorId );
|
||||
if( levelInfo )
|
||||
return levelInfo->object;
|
23
src/world/Manager/EventMgr.h
Normal file
23
src/world/Manager/EventMgr.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#ifndef _EVENTHELPER_H
|
||||
#define _EVENTHELPER_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include "Manager/BaseManager.h"
|
||||
|
||||
namespace Sapphire::World::Manager
|
||||
{
|
||||
|
||||
class EventMgr : public BaseManager
|
||||
{
|
||||
public:
|
||||
EventMgr( FrameworkPtr pFw );
|
||||
|
||||
std::string getEventName( uint32_t eventId );
|
||||
|
||||
uint32_t mapEventActorToRealActor( uint32_t eventActorId );
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -137,7 +137,6 @@ bool Sapphire::World::Manager::TerritoryMgr::isHousingTerritory( uint32_t territ
|
|||
bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories()
|
||||
{
|
||||
auto pExdData = framework()->get< Data::ExdDataGenerated >();
|
||||
auto pLog = framework()->get< Logger >();
|
||||
// for each entry in territoryTypeExd, check if it is a normal and if so, add the zone object
|
||||
for( const auto& territory : m_territoryTypeDetailCacheMap )
|
||||
{
|
||||
|
@ -154,7 +153,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories()
|
|||
continue;
|
||||
|
||||
uint32_t guid = getNextInstanceId();
|
||||
pLog->info( std::to_string( territoryTypeId ) +
|
||||
Logger::info( std::to_string( territoryTypeId ) +
|
||||
"\t" + std::to_string( guid ) +
|
||||
"\t" + std::to_string( territoryInfo->territoryIntendedUse ) +
|
||||
"\t" + ( territoryInfo->name.length() <= 4 ? territoryInfo->name + "\t" : territoryInfo->name ) +
|
||||
|
@ -179,7 +178,6 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories()
|
|||
{
|
||||
//separate housing zones from default
|
||||
auto pExdData = framework()->get< Data::ExdDataGenerated >();
|
||||
auto pLog = framework()->get< Logger >();
|
||||
for( const auto& territory : m_territoryTypeDetailCacheMap )
|
||||
{
|
||||
auto territoryTypeId = territory.first;
|
||||
|
@ -198,7 +196,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories()
|
|||
for( wardNum = 0; wardNum < wardMaxNum; wardNum++ )
|
||||
{
|
||||
uint32_t guid = getNextInstanceId();
|
||||
pLog->info( std::to_string( territoryTypeId ) +
|
||||
Logger::info( std::to_string( territoryTypeId ) +
|
||||
"\t" + std::to_string( guid ) +
|
||||
"\t" + std::to_string( territoryInfo->territoryIntendedUse ) +
|
||||
"\t" + ( territoryInfo->name.length() <= 4 ? territoryInfo->name + "\t" : territoryInfo->name ) +
|
||||
|
@ -232,14 +230,13 @@ Sapphire::ZonePtr Sapphire::World::Manager::TerritoryMgr::createTerritoryInstanc
|
|||
return nullptr;
|
||||
|
||||
auto pExdData = framework()->get< Data::ExdDataGenerated >();
|
||||
auto pLog = framework()->get< Logger >();
|
||||
auto pTeri = getTerritoryDetail( territoryTypeId );
|
||||
auto pPlaceName = pExdData->get< Sapphire::Data::PlaceName >( pTeri->placeName );
|
||||
|
||||
if( !pTeri || !pPlaceName )
|
||||
return nullptr;
|
||||
|
||||
pLog->debug(
|
||||
Logger::debug(
|
||||
"Starting instance for territory: " + std::to_string( territoryTypeId ) + " (" + pPlaceName->name + ")" );
|
||||
|
||||
auto pZone = make_Zone( territoryTypeId, getNextInstanceId(), pTeri->name, pPlaceName->name );
|
||||
|
@ -273,8 +270,7 @@ Sapphire::ZonePtr Sapphire::World::Manager::TerritoryMgr::createInstanceContent(
|
|||
if( !pTeri || pInstanceContent->name.empty() )
|
||||
return nullptr;
|
||||
|
||||
auto pLog = framework()->get< Logger >();
|
||||
pLog->debug( "Starting instance for InstanceContent id: " + std::to_string( instanceContentId ) +
|
||||
Logger::debug( "Starting instance for InstanceContent id: " + std::to_string( instanceContentId ) +
|
||||
" (" + pInstanceContent->name + ")" );
|
||||
|
||||
auto pZone = make_InstanceContent( pInstanceContent, pContentFinderCondition->territoryType, getNextInstanceId(),
|
||||
|
@ -453,8 +449,6 @@ void Sapphire::World::Manager::TerritoryMgr::updateTerritoryInstances( uint32_t
|
|||
zone->update( currentTime );
|
||||
}
|
||||
|
||||
auto pLog = framework()->get< Logger >();
|
||||
|
||||
// remove internal house zones with nobody in them
|
||||
for( auto it = m_landIdentToZonePtrMap.begin(); it != m_landIdentToZonePtrMap.end(); )
|
||||
{
|
||||
|
@ -466,7 +460,8 @@ void Sapphire::World::Manager::TerritoryMgr::updateTerritoryInstances( uint32_t
|
|||
// todo: make this timeout configurable, though should be pretty relaxed in any case
|
||||
if( diff > 60 )
|
||||
{
|
||||
pLog->info( "Removing HousingInteriorTerritory#" + std::to_string( zone->getGuId() ) + " - has been inactive for 60 seconds" );
|
||||
Logger::info( "Removing HousingInteriorTerritory#" +
|
||||
std::to_string( zone->getGuId() ) + " - has been inactive for 60 seconds" );
|
||||
|
||||
// remove zone from maps
|
||||
m_zoneSet.erase( zone );
|
||||
|
@ -501,10 +496,9 @@ bool Sapphire::World::Manager::TerritoryMgr::movePlayer( uint32_t territoryTypeI
|
|||
|
||||
bool Sapphire::World::Manager::TerritoryMgr::movePlayer( ZonePtr pZone, Sapphire::Entity::PlayerPtr pPlayer )
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
if( !pZone )
|
||||
{
|
||||
pLog->error( "Zone not found on this server." );
|
||||
Logger::error( "Zone not found on this server." );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,8 +27,9 @@ using namespace Sapphire::Network::Packets;
|
|||
using namespace Sapphire::Network::Packets::Server;
|
||||
|
||||
Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pHive,
|
||||
Sapphire::Network::AcceptorPtr pAcceptor ) :
|
||||
Connection( pHive ),
|
||||
Sapphire::Network::AcceptorPtr pAcceptor,
|
||||
FrameworkPtr pFw ) :
|
||||
Connection( pHive, pFw ),
|
||||
m_pAcceptor( pAcceptor ),
|
||||
m_conType( ConnectionType::None )
|
||||
{
|
||||
|
@ -131,37 +132,34 @@ Sapphire::Network::GameConnection::~GameConnection() = default;
|
|||
// overwrite the parents onConnect for our game socket needs
|
||||
void Sapphire::Network::GameConnection::OnAccept( const std::string& host, uint16_t port )
|
||||
{
|
||||
GameConnectionPtr connection( new GameConnection( m_hive, m_pAcceptor ) );
|
||||
GameConnectionPtr connection( new GameConnection( m_hive, m_pAcceptor, m_pFw ) );
|
||||
m_pAcceptor->Accept( connection );
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info( "Connect from " + m_socket.remote_endpoint().address().to_string() );
|
||||
Logger::info( "Connect from " + m_socket.remote_endpoint().address().to_string() );
|
||||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::OnDisconnect()
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "GameConnection DISCONNECT" );
|
||||
Logger::debug( "GameConnection DISCONNECT" );
|
||||
m_pSession = nullptr;
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::OnRecv( std::vector< uint8_t >& buffer )
|
||||
{
|
||||
// This is assumed packet always start with valid FFXIVARR_PACKET_HEADER for now.
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
Packets::FFXIVARR_PACKET_HEADER packetHeader{};
|
||||
const auto headerResult = Packets::getHeader( buffer, 0, packetHeader );
|
||||
|
||||
if( headerResult == Incomplete )
|
||||
{
|
||||
pLog->info( "Dropping connection due to incomplete packet header." );
|
||||
pLog->info( "FIXME: Packet message bounary is not implemented." );
|
||||
Logger::info( "Dropping connection due to incomplete packet header." );
|
||||
Logger::info( "FIXME: Packet message bounary is not implemented." );
|
||||
Disconnect();
|
||||
return;
|
||||
}
|
||||
else if( headerResult == Malformed )
|
||||
{
|
||||
pLog->info( "Dropping connection due to malformed packet header." );
|
||||
Logger::info( "Dropping connection due to malformed packet header." );
|
||||
Disconnect();
|
||||
return;
|
||||
}
|
||||
|
@ -173,14 +171,14 @@ void Sapphire::Network::GameConnection::OnRecv( std::vector< uint8_t >& buffer )
|
|||
|
||||
if( packetResult == Incomplete )
|
||||
{
|
||||
pLog->info( "Dropping connection due to incomplete packets." );
|
||||
pLog->info( "FIXME: Packet message bounary is not implemented." );
|
||||
Logger::info( "Dropping connection due to incomplete packets." );
|
||||
Logger::info( "FIXME: Packet message bounary is not implemented." );
|
||||
Disconnect();
|
||||
return;
|
||||
}
|
||||
else if( packetResult == Malformed )
|
||||
{
|
||||
pLog->info( "Dropping connection due to malformed packets." );
|
||||
Logger::info( "Dropping connection due to malformed packets." );
|
||||
Disconnect();
|
||||
return;
|
||||
}
|
||||
|
@ -191,8 +189,7 @@ void Sapphire::Network::GameConnection::OnRecv( std::vector< uint8_t >& buffer )
|
|||
|
||||
void Sapphire::Network::GameConnection::OnError( const asio::error_code& error )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "GameConnection ERROR: " + error.message() );
|
||||
Logger::debug( "GameConnection ERROR: " + error.message() );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::queueInPacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW inPacket )
|
||||
|
@ -207,7 +204,6 @@ void Sapphire::Network::GameConnection::queueOutPacket( Sapphire::Network::Packe
|
|||
|
||||
void Sapphire::Network::GameConnection::handleZonePacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& pPacket )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
uint16_t opcode = *reinterpret_cast< uint16_t* >( &pPacket.data[ 0x02 ] );
|
||||
auto it = m_zoneHandlerMap.find( opcode );
|
||||
|
||||
|
@ -218,27 +214,23 @@ void Sapphire::Network::GameConnection::handleZonePacket( Sapphire::Network::Pac
|
|||
auto itStr = m_zoneHandlerStrMap.find( opcode );
|
||||
std::string name = itStr != m_zoneHandlerStrMap.end() ? itStr->second : "unknown";
|
||||
// dont display packet notification if it is a ping or pos update, don't want the spam
|
||||
if( opcode != PingHandler &&
|
||||
opcode != UpdatePositionHandler )
|
||||
|
||||
pLog->debug( sessionStr + " Handling Zone IPC : " + name + "( " +
|
||||
if( opcode != PingHandler && opcode != UpdatePositionHandler )
|
||||
Logger::debug( sessionStr + " Handling Zone IPC : " + name + "( " +
|
||||
Util::intToHexString( static_cast< uint32_t >( opcode ), 4 ) + " )" );
|
||||
|
||||
( this->*( it->second ) )( pPacket, *m_pSession->getPlayer() );
|
||||
( this->*( it->second ) )( m_pFw, pPacket, *m_pSession->getPlayer() );
|
||||
}
|
||||
else
|
||||
{
|
||||
pLog->debug( sessionStr + " Undefined Zone IPC : Unknown ( " +
|
||||
Logger::debug( sessionStr + " Undefined Zone IPC : Unknown ( " +
|
||||
Util::intToHexString( static_cast< uint32_t >( opcode ), 4 ) + " )" );
|
||||
pLog->debug(
|
||||
"Dump:\n" + Util::binaryToHexDump( const_cast< uint8_t* >( &pPacket.data[ 0 ] ), pPacket.segHdr.size ) );
|
||||
Logger::debug( "Dump:\n" + Util::binaryToHexDump( const_cast< uint8_t* >( &pPacket.data[ 0 ] ),
|
||||
pPacket.segHdr.size ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::handleChatPacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& pPacket )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
uint16_t opcode = *reinterpret_cast< uint16_t* >( &pPacket.data[ 0x02 ] );
|
||||
auto it = m_chatHandlerMap.find( opcode );
|
||||
|
||||
|
@ -250,16 +242,15 @@ void Sapphire::Network::GameConnection::handleChatPacket( Sapphire::Network::Pac
|
|||
std::string name = itStr != m_chatHandlerStrMap.end() ? itStr->second : "unknown";
|
||||
// dont display packet notification if it is a ping or pos update, don't want the spam
|
||||
|
||||
pLog->debug( sessionStr + " Handling Chat IPC : " + name + "( " +
|
||||
Logger::debug( sessionStr + " Handling Chat IPC : " + name + "( " +
|
||||
Util::intToHexString( static_cast< uint32_t >( opcode ), 4 ) + " )" );
|
||||
|
||||
( this->*( it->second ) )( pPacket, *m_pSession->getPlayer() );
|
||||
( this->*( it->second ) )( m_pFw, pPacket, *m_pSession->getPlayer() );
|
||||
}
|
||||
else
|
||||
{
|
||||
pLog->debug( sessionStr + " Undefined Chat IPC : Unknown ( " +
|
||||
Logger::debug( sessionStr + " Undefined Chat IPC : Unknown ( " +
|
||||
Util::intToHexString( static_cast< uint32_t >( opcode ), 4 ) + " )" );
|
||||
//pLog->debug( pPacket.toString() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -305,7 +296,6 @@ void Sapphire::Network::GameConnection::processInQueue()
|
|||
|
||||
void Sapphire::Network::GameConnection::processOutQueue()
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
if( m_outQueue.size() < 1 )
|
||||
return;
|
||||
|
||||
|
@ -319,7 +309,7 @@ void Sapphire::Network::GameConnection::processOutQueue()
|
|||
{
|
||||
if( pPacket->getSize() == 0 )
|
||||
{
|
||||
pLog->debug( "end of packet set" );
|
||||
Logger::debug( "end of packet set" );
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -360,7 +350,7 @@ void Sapphire::Network::GameConnection::injectPacket( const std::string& packetp
|
|||
|
||||
// read the packet into the buffer
|
||||
fseek( fp, 0, SEEK_END );
|
||||
int32_t size = ftell( fp );
|
||||
auto size = static_cast< size_t >( ftell( fp ) );
|
||||
rewind( fp );
|
||||
if( fread( packet, sizeof( char ), size, fp ) != size )
|
||||
{
|
||||
|
@ -396,7 +386,6 @@ void Sapphire::Network::GameConnection::injectPacket( const std::string& packetp
|
|||
void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER& ipcHeader,
|
||||
const std::vector< Sapphire::Network::Packets::FFXIVARR_PACKET_RAW >& packetData )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pServerZone = g_fw.get< World::ServerMgr >();
|
||||
// if a session is set, update the last time it recieved a game packet
|
||||
if( m_pSession )
|
||||
|
@ -409,7 +398,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network::
|
|||
case SEGMENTTYPE_SESSIONINIT:
|
||||
{
|
||||
char* id = ( char* ) &( inPacket.data[ 4 ] );
|
||||
uint32_t playerId = std::stoi( id );
|
||||
uint32_t playerId = std::stoul( id );
|
||||
auto pCon = std::static_pointer_cast< GameConnection, Connection >( shared_from_this() );
|
||||
|
||||
// try to retrieve the session for this id
|
||||
|
@ -417,7 +406,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network::
|
|||
|
||||
if( !session )
|
||||
{
|
||||
pLog->info( "[" + std::string( id ) + "] Session not registered, creating" );
|
||||
Logger::info( "[" + std::string( id ) + "] Session not registered, creating" );
|
||||
// return;
|
||||
if( !pServerZone->createSession( playerId ) )
|
||||
{
|
||||
|
@ -429,7 +418,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network::
|
|||
//TODO: Catch more things in lobby and send real errors
|
||||
else if( !session->isValid() || ( session->getPlayer() && session->getPlayer()->getLastPing() != 0 ) )
|
||||
{
|
||||
pLog->error( "[" + std::string( id ) + "] Session INVALID, disconnecting" );
|
||||
Logger::error( "[" + std::string( id ) + "] Session INVALID, disconnecting" );
|
||||
Disconnect();
|
||||
return;
|
||||
}
|
||||
|
@ -449,7 +438,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network::
|
|||
auto pe1 = std::make_shared< FFXIVRawPacket >( 0x02, 0x38, 0, 0 );
|
||||
*( unsigned int* ) ( &pe1->data()[ 0 ] ) = playerId;
|
||||
sendSinglePacket( pe1 );
|
||||
pLog->info( "[" + std::string( id ) + "] Setting session for zone connection" );
|
||||
Logger::info( "[" + std::string( id ) + "] Setting session for zone connection" );
|
||||
session->setZoneConnection( pCon );
|
||||
}
|
||||
// chat connection, assinging it to the session
|
||||
|
@ -463,7 +452,7 @@ void Sapphire::Network::GameConnection::handlePackets( const Sapphire::Network::
|
|||
*( unsigned short* ) ( &pe3->data()[ 2 ] ) = 0x02;
|
||||
sendSinglePacket( pe3 );
|
||||
|
||||
pLog->info( "[" + std::string( id ) + "] Setting session for chat connection" );
|
||||
Logger::info( "[" + std::string( id ) + "] Setting session for chat connection" );
|
||||
session->setChatConnection( pCon );
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "ForwardsZone.h"
|
||||
|
||||
#define DECLARE_HANDLER( x ) void x( const Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||
#define DECLARE_HANDLER( x ) void x( FrameworkPtr pFw, const Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||
|
||||
namespace Sapphire::Network::Packets
|
||||
{
|
||||
|
@ -31,7 +31,8 @@ namespace Sapphire::Network
|
|||
{
|
||||
|
||||
private:
|
||||
typedef void ( GameConnection::* Handler )( const Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
typedef void ( GameConnection::* Handler )( FrameworkPtr pFw,
|
||||
const Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player );
|
||||
|
||||
using HandlerMap = std::map< uint16_t, Handler >;
|
||||
|
@ -55,7 +56,7 @@ namespace Sapphire::Network
|
|||
public:
|
||||
ConnectionType m_conType;
|
||||
|
||||
GameConnection( HivePtr pHive, AcceptorPtr pAcceptor );
|
||||
GameConnection( HivePtr pHive, AcceptorPtr pAcceptor, FrameworkPtr pFw );
|
||||
|
||||
~GameConnection();
|
||||
|
||||
|
|
|
@ -28,14 +28,13 @@
|
|||
#include "Session.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
using namespace Sapphire::Network::ActorControl;
|
||||
|
||||
void Sapphire::Network::GameConnection::actionHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::actionHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcSkillHandler >( inPacket );
|
||||
|
@ -47,8 +46,8 @@ void Sapphire::Network::GameConnection::actionHandler( const Packets::FFXIVARR_P
|
|||
|
||||
player.sendDebug( "Skill type:" + std::to_string( type ) );
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
|
||||
switch( type )
|
||||
{
|
||||
|
|
|
@ -15,16 +15,14 @@
|
|||
#include "Framework.h"
|
||||
#include "Session.h"
|
||||
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
using namespace Sapphire::World::Manager;
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::cfDutyInfoRequest( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::cfDutyInfoRequest( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto dutyInfoPacket = makeZonePacket< FFXIVIpcCFDutyInfo >( player.getId() );
|
||||
|
@ -42,12 +40,13 @@ void Sapphire::Network::GameConnection::cfDutyInfoRequest( const Packets::FFXIVA
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::cfRegisterDuty( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
Packets::FFXIVARR_PACKET_RAW copy = inPacket;
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pTeriMgr = pFw->get< TerritoryMgr >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
|
||||
std::vector< uint16_t > selectedContent;
|
||||
|
||||
|
@ -90,7 +89,8 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_
|
|||
player.setInstance( instance );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::cfRegisterRoulette( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::cfRegisterRoulette( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
|
@ -101,7 +101,8 @@ void Sapphire::Network::GameConnection::cfRegisterRoulette( const Packets::FFXIV
|
|||
player.sendDebug( "Roulette register" );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::cfDutyAccepted( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::cfDutyAccepted( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
player.sendDebug( "TODO: Duty accept" );
|
||||
|
|
|
@ -23,8 +23,7 @@
|
|||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||
|
||||
#include "Manager/DebugCommandMgr.h"
|
||||
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
|
||||
#include "Action/Action.h"
|
||||
#include "Action/ActionTeleport.h"
|
||||
|
@ -36,19 +35,17 @@
|
|||
#include "Framework.h"
|
||||
#include <Network/PacketDef/Lobby/ServerLobbyDef.h>
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
using namespace Sapphire::Network::ActorControl;
|
||||
using namespace Sapphire::World::Manager;
|
||||
|
||||
void examineHandler( Sapphire::Entity::Player& player, uint32_t targetId )
|
||||
void examineHandler( Sapphire::FrameworkPtr pFw, Sapphire::Entity::Player& player, uint32_t targetId )
|
||||
{
|
||||
using namespace Sapphire;
|
||||
|
||||
auto pSession = g_fw.get< World::ServerMgr >()->getSession( targetId );
|
||||
auto pSession = pFw->get< World::ServerMgr >()->getSession( targetId );
|
||||
if( pSession )
|
||||
{
|
||||
auto pTarget = pSession->getPlayer();
|
||||
|
@ -66,10 +63,10 @@ void examineHandler( Sapphire::Entity::Player& player, uint32_t targetId )
|
|||
}
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcClientTrigger >( inPacket );
|
||||
|
||||
|
@ -80,7 +77,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
const auto param2 = packet.data().param2;
|
||||
const auto param3 = packet.data().param3;
|
||||
|
||||
pLog->debug( "[" + std::to_string( m_pSession->getId() ) + "] Incoming action: " +
|
||||
Logger::debug( "[" + std::to_string( m_pSession->getId() ) + "] Incoming action: " +
|
||||
Util::intToHexString( static_cast< uint32_t >( commandId & 0xFFFF ), 4 ) +
|
||||
"\nparam1: " + Util::intToHexString( static_cast< uint64_t >( param1 & 0xFFFFFFFFFFFFFFF ), 16 ) +
|
||||
"\nparam2: " + Util::intToHexString( static_cast< uint32_t >( param2 & 0xFFFFFFFF ), 8 ) +
|
||||
|
@ -147,7 +144,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
case ClientTriggerType::Examine:
|
||||
{
|
||||
uint32_t targetId = param11;
|
||||
examineHandler( player, targetId );
|
||||
examineHandler( pFw, player, targetId );
|
||||
break;
|
||||
}
|
||||
case ClientTriggerType::MarkPlayer: // Mark player
|
||||
|
@ -192,7 +189,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
uint32_t emoteId = param11;
|
||||
bool isSilent = param2 == 1;
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto emoteData = pExdData->get< Data::Emote >( emoteId );
|
||||
|
||||
if( !emoteData )
|
||||
|
@ -325,7 +322,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
}
|
||||
case ClientTriggerType::RequestLandSignFree:
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
auto ident = pHousingMgr->clientTriggerParamsToLandIdent( param11, param12 );
|
||||
pHousingMgr->sendLandSignFree( player, ident );
|
||||
|
@ -334,7 +331,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
}
|
||||
case ClientTriggerType::RequestLandSignOwned:
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
auto ident = pHousingMgr->clientTriggerParamsToLandIdent( param11, param12, false );
|
||||
pHousingMgr->sendLandSignOwned( player, ident );
|
||||
|
@ -343,7 +340,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
}
|
||||
case ClientTriggerType::RequestWardLandInfo:
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
if( !pHousingMgr )
|
||||
break;
|
||||
|
||||
|
@ -354,14 +351,14 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
case ClientTriggerType::RequestLandRelinquish:
|
||||
{
|
||||
auto plot = static_cast< uint8_t >( param12 & 0xFF );
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
pHousingMgr->relinquishLand( player, plot );
|
||||
|
||||
break;
|
||||
}
|
||||
case ClientTriggerType::RequestEstateRename:
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
if( !pHousingMgr )
|
||||
break;
|
||||
|
||||
|
@ -372,7 +369,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
}
|
||||
case ClientTriggerType::RequestEstateEditGreeting:
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
if( !pHousingMgr )
|
||||
break;
|
||||
|
||||
|
@ -383,7 +380,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
}
|
||||
case ClientTriggerType::RequestEstateEditGuestAccessSettings:
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
if( !pHousingMgr )
|
||||
break;
|
||||
|
||||
|
@ -412,7 +409,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
}
|
||||
case ClientTriggerType::RequestEstateGreeting:
|
||||
{
|
||||
auto housingMgr = g_fw.get< HousingMgr >();
|
||||
auto housingMgr = pFw->get< HousingMgr >();
|
||||
if( !housingMgr )
|
||||
break;
|
||||
|
||||
|
@ -426,7 +423,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
uint8_t plot = ( param12 & 0xFF );
|
||||
|
||||
|
||||
auto housingMgr = g_fw.get< HousingMgr >();
|
||||
auto housingMgr = pFw->get< HousingMgr >();
|
||||
if( !housingMgr )
|
||||
break;
|
||||
|
||||
|
@ -444,7 +441,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
if( param1 != 1 )
|
||||
return;
|
||||
|
||||
auto housingMgr = g_fw.get< HousingMgr >();
|
||||
auto housingMgr = pFw->get< HousingMgr >();
|
||||
if( !housingMgr )
|
||||
break;
|
||||
|
||||
|
@ -455,7 +452,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( const Packets::FFX
|
|||
|
||||
default:
|
||||
{
|
||||
pLog->debug( "[" + std::to_string( m_pSession->getId() ) + "] Unhandled action: " +
|
||||
Logger::debug( "[" + std::to_string( m_pSession->getId() ) + "] Unhandled action: " +
|
||||
Util::intToHexString( static_cast< uint32_t >( commandId & 0xFFFF ), 4 ) );
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include <Util/Util.h>
|
||||
|
||||
#include "Event/EventHandler.h"
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
|
||||
#include "Territory/InstanceContent.h"
|
||||
|
||||
|
@ -26,17 +26,17 @@
|
|||
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerTalk( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerTalk( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerTalk >( inPacket );
|
||||
|
||||
|
@ -46,11 +46,11 @@ void Sapphire::Network::GameConnection::eventHandlerTalk( const Packets::FFXIVAR
|
|||
auto eventType = static_cast< uint16_t >( eventId >> 16 );
|
||||
|
||||
std::string eventName = "onTalk";
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
|
||||
player.sendDebug( "Chara: " +
|
||||
std::to_string( actorId ) + " -> " +
|
||||
std::to_string( Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ) ) +
|
||||
std::to_string( pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ) ) +
|
||||
" \neventId: " +
|
||||
std::to_string( eventId ) +
|
||||
" (0x" + Util::intToHexString( static_cast< uint64_t >( eventId & 0xFFFFFFF ), 8 ) + ")" );
|
||||
|
@ -75,12 +75,13 @@ void Sapphire::Network::GameConnection::eventHandlerTalk( const Packets::FFXIVAR
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerEmote( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerEmote( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerEmote >( inPacket );
|
||||
|
||||
|
@ -90,11 +91,11 @@ void Sapphire::Network::GameConnection::eventHandlerEmote( const Packets::FFXIVA
|
|||
const auto eventType = static_cast< uint16_t >( eventId >> 16 );
|
||||
|
||||
std::string eventName = "onEmote";
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
|
||||
player.sendDebug( "Chara: " +
|
||||
std::to_string( actorId ) + " -> " +
|
||||
std::to_string( Event::mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ) ) +
|
||||
std::to_string( pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ) ) +
|
||||
" \neventId: " +
|
||||
std::to_string( eventId ) +
|
||||
" (0x" + Util::intToHexString( static_cast< uint64_t >( eventId & 0xFFFFFFF ), 8 ) + ")" );
|
||||
|
@ -114,10 +115,12 @@ void Sapphire::Network::GameConnection::eventHandlerEmote( const Packets::FFXIVA
|
|||
player.checkEvent( eventId );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerWithinRange( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerWithinRange( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerWithinRange >( inPacket );
|
||||
|
||||
|
@ -126,7 +129,7 @@ void Sapphire::Network::GameConnection::eventHandlerWithinRange( const Packets::
|
|||
const auto& pos = packet.data().position;
|
||||
|
||||
std::string eventName = "onWithinRange";
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
player.sendDebug( "Calling: " + objName + "." + eventName + " - " + std::to_string( eventId ) +
|
||||
" p1: " + std::to_string( param1 ) );
|
||||
|
||||
|
@ -137,10 +140,12 @@ void Sapphire::Network::GameConnection::eventHandlerWithinRange( const Packets::
|
|||
player.checkEvent( eventId );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerOutsideRange( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerOutsideRange( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerOutsideRange >( inPacket );
|
||||
const auto eventId = packet.data().eventId;
|
||||
|
@ -148,7 +153,7 @@ void Sapphire::Network::GameConnection::eventHandlerOutsideRange( const Packets:
|
|||
const auto& pos = packet.data().position;
|
||||
|
||||
std::string eventName = "onOutsideRange";
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
player.sendDebug( "Calling: " + objName + "." + eventName + " - " + std::to_string( eventId ) +
|
||||
" p1: " + std::to_string( param1 ) );
|
||||
|
||||
|
@ -159,10 +164,12 @@ void Sapphire::Network::GameConnection::eventHandlerOutsideRange( const Packets:
|
|||
player.checkEvent( eventId );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerEnterTerritory( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerEnterTerritory( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEnterTerritoryHandler >( inPacket );
|
||||
|
||||
|
@ -172,7 +179,7 @@ void Sapphire::Network::GameConnection::eventHandlerEnterTerritory( const Packet
|
|||
|
||||
std::string eventName = "onEnterTerritory";
|
||||
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
|
||||
player.sendDebug( "Calling: " + objName + "." + eventName + " - " + std::to_string( eventId ) );
|
||||
|
||||
|
@ -190,9 +197,12 @@ void Sapphire::Network::GameConnection::eventHandlerEnterTerritory( const Packet
|
|||
player.checkEvent( eventId );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerReturn( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerReturn( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerReturn >( inPacket );
|
||||
const auto eventId = packet.data().eventId;
|
||||
const auto scene = packet.data().scene;
|
||||
|
@ -201,7 +211,7 @@ void Sapphire::Network::GameConnection::eventHandlerReturn( const Packets::FFXIV
|
|||
const auto param3 = packet.data().param3;
|
||||
const auto param4 = packet.data().param4;
|
||||
|
||||
std::string eventName = Event::getEventName( eventId );
|
||||
std::string eventName = pEventMgr->getEventName( eventId );
|
||||
|
||||
player.sendDebug( "eventId: " +
|
||||
std::to_string( eventId ) +
|
||||
|
@ -239,7 +249,8 @@ void Sapphire::Network::GameConnection::eventHandlerReturn( const Packets::FFXIV
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerLinkshell( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerLinkshell( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcLinkshellEventHandler >( inPacket );
|
||||
|
@ -253,21 +264,23 @@ void Sapphire::Network::GameConnection::eventHandlerLinkshell( const Packets::FF
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::eventHandlerShop( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::eventHandlerShop( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcShopEventHandler >( inPacket );
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pScriptMgr = g_fw.get< Scripting::ScriptMgr >();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
|
||||
const auto eventId = packet.data().eventId;
|
||||
|
||||
auto eventType = static_cast< uint16_t >( eventId >> 16 );
|
||||
|
||||
std::string eventName = "onOpen";
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
|
||||
player.sendDebug( "EventId: " +
|
||||
std::to_string( eventId ) +
|
||||
|
|
|
@ -32,8 +32,6 @@
|
|||
#include "ServerMgr.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
|
@ -88,7 +86,9 @@ enum GmCommand
|
|||
JumpNpc = 0x025F,
|
||||
};
|
||||
|
||||
void Sapphire::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||
void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
if( player.getGmRank() <= 0 )
|
||||
return;
|
||||
|
@ -101,8 +101,7 @@ void Sapphire::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACK
|
|||
const auto param4 = packet.data().param4;
|
||||
const auto target = packet.data().target;
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( player.getName() + " used GM1 commandId: " + std::to_string( commandId ) +
|
||||
Logger::debug( player.getName() + " used GM1 commandId: " + std::to_string( commandId ) +
|
||||
", params: " + std::to_string( param1 ) + ", " +
|
||||
std::to_string( param2 ) + ", " + std::to_string( param3 ) + ", " + std::to_string( param4 ) +
|
||||
", target: " + std::to_string( target ) );
|
||||
|
@ -426,7 +425,7 @@ void Sapphire::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACK
|
|||
}
|
||||
case GmCommand::Teri:
|
||||
{
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
auto pTeriMgr = pFw->get< TerritoryMgr >();
|
||||
if( auto instance = pTeriMgr->getInstanceZonePtr( param1 ) )
|
||||
{
|
||||
player.sendDebug( "Found instance: " + instance->getName() + ", id: " + std::to_string( param1 ) );
|
||||
|
@ -467,7 +466,7 @@ void Sapphire::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACK
|
|||
bool doTeleport = false;
|
||||
uint16_t teleport;
|
||||
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto idList = pExdData->getAetheryteIdList();
|
||||
|
||||
for( auto i : idList )
|
||||
|
@ -546,13 +545,14 @@ void Sapphire::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACK
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::gm2Handler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||
void Sapphire::Network::GameConnection::gm2Handler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
if( player.getGmRank() <= 0 )
|
||||
return;
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pServerZone = g_fw.get< World::ServerMgr >();
|
||||
auto pServerZone = pFw->get< World::ServerMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcGmCommand2 >( inPacket );
|
||||
|
||||
|
@ -563,7 +563,7 @@ void Sapphire::Network::GameConnection::gm2Handler( const Packets::FFXIVARR_PACK
|
|||
const auto param4 = packet.data().param4;
|
||||
const auto target = std::string( packet.data().target );
|
||||
|
||||
pLog->debug( player.getName() + " used GM2 commandId: " + std::to_string( commandId ) +
|
||||
Logger::debug( player.getName() + " used GM2 commandId: " + std::to_string( commandId ) +
|
||||
", params: " + std::to_string( param1 ) + ", " +
|
||||
std::to_string( param2 ) + ", " + std::to_string( param3 ) + ", " + std::to_string( param4 ) +
|
||||
", target: " + target );
|
||||
|
|
|
@ -19,13 +19,12 @@
|
|||
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
|
||||
void Sapphire::Network::GameConnection::inventoryModifyHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::inventoryModifyHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcInventoryModifyHandler >( inPacket );
|
||||
|
@ -43,9 +42,7 @@ void Sapphire::Network::GameConnection::inventoryModifyHandler( const Packets::F
|
|||
ackPacket->data().type = 7;
|
||||
player.queuePacket( ackPacket );
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
pLog->debug( "InventoryAction: " + std::to_string( action ) );
|
||||
Logger::debug( "InventoryAction: " + std::to_string( action ) );
|
||||
|
||||
// TODO: other inventory operations need to be implemented
|
||||
switch( action )
|
||||
|
|
|
@ -35,8 +35,7 @@
|
|||
#include "Network/PacketWrappers/PlayerStateFlagsPacket.h"
|
||||
|
||||
#include "Manager/DebugCommandMgr.h"
|
||||
|
||||
#include "Event/EventHelper.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
|
||||
#include "Action/Action.h"
|
||||
#include "Action/ActionTeleport.h"
|
||||
|
@ -46,15 +45,14 @@
|
|||
#include "Forwards.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::Server;
|
||||
using namespace Sapphire::Network::ActorControl;
|
||||
using namespace Sapphire::World::Manager;
|
||||
|
||||
void Sapphire::Network::GameConnection::fcInfoReqHandler( const Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::fcInfoReqHandler( FrameworkPtr pFw,
|
||||
const Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
// TODO: use new packet struct for this
|
||||
|
@ -63,7 +61,8 @@ void Sapphire::Network::GameConnection::fcInfoReqHandler( const Sapphire::Networ
|
|||
//queueOutPacket( pPe );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::setSearchInfoHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::setSearchInfoHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcSetSearchInfo >( inPacket );
|
||||
|
@ -98,7 +97,8 @@ void Sapphire::Network::GameConnection::setSearchInfoHandler( const Packets::FFX
|
|||
static_cast< uint8_t >( player.getOnlineStatus() ) ), true );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::reqSearchInfoHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::reqSearchInfoHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcInitSearchInfo >( player.getId() );
|
||||
|
@ -108,14 +108,15 @@ void Sapphire::Network::GameConnection::reqSearchInfoHandler( const Packets::FFX
|
|||
queueOutPacket( searchInfoPacket );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::reqExamineSearchCommentHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::reqExamineSearchCommentHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
|
||||
auto targetId = *reinterpret_cast< const uint32_t* >( &inPacket.data[ 0x10 ] );
|
||||
auto pSession = g_fw.get< World::ServerMgr >()->getSession( targetId );
|
||||
auto pSession = pFw->get< World::ServerMgr >()->getSession( targetId );
|
||||
|
||||
g_fw.get< Sapphire::Logger >()->debug( std::to_string( targetId ) );
|
||||
Logger::debug( std::to_string( targetId ) );
|
||||
|
||||
if( pSession )
|
||||
{
|
||||
|
@ -135,14 +136,15 @@ void Sapphire::Network::GameConnection::reqExamineSearchCommentHandler( const Pa
|
|||
}
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::reqExamineFcInfo( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::reqExamineFcInfo( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
|
||||
auto targetId = *reinterpret_cast< const uint32_t* >( &inPacket.data[ 0x18 ] );
|
||||
auto pSession = g_fw.get< World::ServerMgr >()->getSession( targetId );
|
||||
auto pSession = pFw->get< World::ServerMgr >()->getSession( targetId );
|
||||
|
||||
g_fw.get< Sapphire::Logger >()->debug( std::to_string( targetId ) );
|
||||
Logger::debug( std::to_string( targetId ) );
|
||||
|
||||
if( pSession )
|
||||
{
|
||||
|
@ -163,14 +165,16 @@ void Sapphire::Network::GameConnection::reqExamineFcInfo( const Packets::FFXIVAR
|
|||
}
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::linkshellListHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::linkshellListHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto linkshellListPacket = makeZonePacket< FFXIVIpcLinkshellList >( player.getId() );
|
||||
queueOutPacket( linkshellListPacket );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::updatePositionHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::updatePositionHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
// if the player is marked for zoning we no longer want to update his pos
|
||||
|
@ -213,9 +217,6 @@ void Sapphire::Network::GameConnection::updatePositionHandler( const Packets::FF
|
|||
auto flags1 = *reinterpret_cast< uint32_t* >( ©.data[ 0x18 ] );
|
||||
memcpy( &IPC_OP_019A, &flags1, 4 );
|
||||
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
bool bPosChanged = false;
|
||||
if( ( player.getPos().x != *reinterpret_cast< float* >( ©.data[ 0x1C ] ) ) ||
|
||||
( player.getPos().y != *reinterpret_cast< float* >( ©.data[ 0x20 ] ) ) ||
|
||||
|
@ -245,8 +246,8 @@ void Sapphire::Network::GameConnection::updatePositionHandler( const Packets::FF
|
|||
uint16_t unk4 = 0;
|
||||
|
||||
// HACK: This part is hackish, we need to find out what all theese things really do.
|
||||
//pLog->debug( std::to_string( moveState ) + " -- moveState " );
|
||||
//pLog->debug( std::to_string( moveType ) + " -- moveType " );
|
||||
//Logger::debug( std::to_string( moveState ) + " -- moveState " );
|
||||
//Logger::debug( std::to_string( moveType ) + " -- moveType " );
|
||||
|
||||
if( moveType & MoveType::Running )
|
||||
{
|
||||
|
@ -306,7 +307,8 @@ void Sapphire::Network::GameConnection::updatePositionHandler( const Packets::FF
|
|||
}
|
||||
|
||||
void
|
||||
Sapphire::Network::GameConnection::reqEquipDisplayFlagsHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Sapphire::Network::GameConnection::reqEquipDisplayFlagsHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
player.setEquipDisplayFlags( inPacket.data[ 0x10 ] );
|
||||
|
@ -314,10 +316,11 @@ Sapphire::Network::GameConnection::reqEquipDisplayFlagsHandler( const Packets::F
|
|||
player.sendDebug( "EquipDisplayFlag CHANGE: " + std::to_string( player.getEquipDisplayFlags() ) );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::zoneLineHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::zoneLineHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pTeriMgr = g_fw.get< TerritoryMgr >();
|
||||
auto pTeriMgr = pFw->get< TerritoryMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcZoneLineHandler >( inPacket );
|
||||
const auto zoneLineId = packet.data().zoneLineId;
|
||||
|
@ -360,13 +363,14 @@ void Sapphire::Network::GameConnection::zoneLineHandler( const Packets::FFXIVARR
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::discoveryHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::discoveryHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcDiscoveryHandler >( inPacket );
|
||||
const auto positionRef = packet.data().positionRef;
|
||||
|
||||
auto pDb = g_fw.get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
auto pDb = pFw->get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
|
||||
auto pQR = pDb->query( "SELECT id, map_id, discover_id "
|
||||
"FROM discoveryinfo "
|
||||
|
@ -390,7 +394,8 @@ void Sapphire::Network::GameConnection::discoveryHandler( const Packets::FFXIVAR
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::playTimeHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::playTimeHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto playTimePacket = makeZonePacket< FFXIVIpcPlayTime >( player.getId() );
|
||||
|
@ -399,7 +404,8 @@ void Sapphire::Network::GameConnection::playTimeHandler( const Packets::FFXIVARR
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::initHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::initHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
// init handler means this is a login procedure
|
||||
|
@ -409,7 +415,8 @@ void Sapphire::Network::GameConnection::initHandler( const Packets::FFXIVARR_PAC
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::blackListHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::blackListHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
uint8_t count = inPacket.data[ 0x11 ];
|
||||
|
@ -424,7 +431,8 @@ void Sapphire::Network::GameConnection::blackListHandler( const Packets::FFXIVAR
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::pingHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::pingHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcPingHandler >( inPacket );
|
||||
|
@ -435,7 +443,8 @@ void Sapphire::Network::GameConnection::pingHandler( const Packets::FFXIVARR_PAC
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::finishLoadingHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::finishLoadingHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
player.sendQuestInfo();
|
||||
|
@ -468,7 +477,8 @@ void Sapphire::Network::GameConnection::finishLoadingHandler( const Packets::FFX
|
|||
player.getCurrentZone()->updateActorPosition( player );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::socialListHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
|
||||
|
@ -525,10 +535,11 @@ void Sapphire::Network::GameConnection::socialListHandler( const Packets::FFXIVA
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::chatHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::chatHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto pDebugCom = g_fw.get< DebugCommandMgr >();
|
||||
auto pDebugCom = pFw->get< DebugCommandMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcChatHandler >( inPacket );
|
||||
|
||||
|
@ -583,7 +594,8 @@ void Sapphire::Network::GameConnection::chatHandler( const Packets::FFXIVARR_PAC
|
|||
// currently we wait for the session to just time out after logout, this can be a problem is the user tries to
|
||||
// log right back in.
|
||||
// Also the packet needs to be converted to an ipc structure
|
||||
void Sapphire::Network::GameConnection::logoutHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::logoutHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto logoutPacket = makeZonePacket< FFXIVIpcLogout >( player.getId() );
|
||||
|
@ -595,12 +607,13 @@ void Sapphire::Network::GameConnection::logoutHandler( const Packets::FFXIVARR_P
|
|||
}
|
||||
|
||||
|
||||
void Sapphire::Network::GameConnection::tellHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcTellHandler >( inPacket );
|
||||
|
||||
auto pZoneServer = g_fw.get< World::ServerMgr >();
|
||||
auto pZoneServer = pFw->get< World::ServerMgr >();
|
||||
|
||||
auto pSession = pZoneServer->getSession( packet.data().targetPCName );
|
||||
|
||||
|
@ -646,7 +659,8 @@ void Sapphire::Network::GameConnection::tellHandler( const Packets::FFXIVARR_PAC
|
|||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::performNoteHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::performNoteHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto performPacket = makeZonePacket< FFXIVIpcPerformNote >( player.getId() );
|
||||
|
@ -654,12 +668,13 @@ void Sapphire::Network::GameConnection::performNoteHandler( const Packets::FFXIV
|
|||
player.sendToInRangeSet( performPacket );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::landRenameHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::landRenameHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcRenameLandHandler >( inPacket );
|
||||
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
auto landSetId = pHousingMgr->toLandSetId( packet.data().ident.territoryTypeId, packet.data().ident.wardNum );
|
||||
|
||||
|
@ -687,21 +702,23 @@ void Sapphire::Network::GameConnection::landRenameHandler( const Packets::FFXIVA
|
|||
player.queuePacket( nameUpdatePacket );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::buildPresetHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::buildPresetHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcBuildPresetHandler >( inPacket );
|
||||
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
pHousingMgr->buildPresetEstate( player, packet.data().plotNum, packet.data().itemId );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::housingUpdateGreetingHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
void Sapphire::Network::GameConnection::housingUpdateGreetingHandler( FrameworkPtr pFw,
|
||||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcHousingUpdateHouseGreeting >( inPacket );
|
||||
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
pHousingMgr->updateEstateGreeting( player, packet.data().ident, std::string( packet.data().greeting ) );
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace Sapphire::ScriptAPI
|
|||
/*!
|
||||
* @brief Sets the ptr to the framework for use inside scripts
|
||||
*
|
||||
* @param fw The ptr to g_fw (Core::Framework)
|
||||
* @param fw The ptr to a Framework
|
||||
*/
|
||||
virtual void setFramework( Sapphire::Framework* fw );
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
#include "NativeScriptMgr.h"
|
||||
|
||||
#include <Crypt/md5.h>
|
||||
#include <Config/ConfigMgr.h>
|
||||
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
namespace Sapphire::Scripting
|
||||
{
|
||||
|
||||
|
@ -33,7 +32,7 @@ namespace Sapphire::Scripting
|
|||
auto script = scripts[ i ];
|
||||
module->scripts.push_back( script );
|
||||
|
||||
script->setFramework( &g_fw );
|
||||
script->setFramework( framework().get() );
|
||||
|
||||
m_scripts[ script->getType() ][ script->getId() ] = script;
|
||||
|
||||
|
@ -122,10 +121,17 @@ namespace Sapphire::Scripting
|
|||
return m_loader.isModuleLoaded( name );
|
||||
}
|
||||
|
||||
|
||||
std::shared_ptr< NativeScriptMgr > createNativeScriptMgr()
|
||||
NativeScriptMgr::NativeScriptMgr( FrameworkPtr pFw ) :
|
||||
World::Manager::BaseManager( pFw )
|
||||
{
|
||||
return std::make_shared< NativeScriptMgr >();
|
||||
auto pConfig = framework()->get< ConfigMgr >();
|
||||
m_loader.setCachePath( pConfig->getValue< std::string >( "Scripts", "CachePath", "./cache/" ) );
|
||||
}
|
||||
|
||||
|
||||
std::shared_ptr< NativeScriptMgr > createNativeScriptMgr( FrameworkPtr pFw )
|
||||
{
|
||||
return std::make_shared< NativeScriptMgr >( pFw );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include <unordered_map>
|
||||
#include <set>
|
||||
#include <queue>
|
||||
#include "Manager/BaseManager.h"
|
||||
|
||||
#include "ScriptLoader.h"
|
||||
|
||||
|
@ -13,7 +14,7 @@ namespace Sapphire::Scripting
|
|||
/*!
|
||||
* @brief Contains all the functionality for easily loading, unloading, reloading and generally accessing scripts.
|
||||
*/
|
||||
class NativeScriptMgr
|
||||
class NativeScriptMgr : public World::Manager::BaseManager
|
||||
{
|
||||
protected:
|
||||
/*!
|
||||
|
@ -40,7 +41,7 @@ namespace Sapphire::Scripting
|
|||
bool unloadScript( ScriptInfo* info );
|
||||
|
||||
public:
|
||||
NativeScriptMgr() = default;
|
||||
NativeScriptMgr( FrameworkPtr pFw );
|
||||
|
||||
/*!
|
||||
* @brief Loads a script from a path
|
||||
|
@ -124,7 +125,7 @@ namespace Sapphire::Scripting
|
|||
*
|
||||
* @return a std::shared_ptr to NativeScriptMgr
|
||||
*/
|
||||
std::shared_ptr< NativeScriptMgr > createNativeScriptMgr();
|
||||
std::shared_ptr< NativeScriptMgr > createNativeScriptMgr( FrameworkPtr pFw );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
|
||||
#include "Framework.h"
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
namespace fs = std::experimental::filesystem;
|
||||
|
||||
const std::string Sapphire::Scripting::ScriptLoader::getModuleExtension()
|
||||
|
@ -32,34 +30,30 @@ bool Sapphire::Scripting::ScriptLoader::unloadModule( ModuleHandle handle )
|
|||
bool success = dlclose( handle ) == 0;
|
||||
#endif
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
if( !success )
|
||||
{
|
||||
pLog->error( "Failed to unload module " );
|
||||
Logger::error( "Failed to unload module " );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
pLog->debug( "Unloaded module" );
|
||||
Logger::debug( "Unloaded module" );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Sapphire::Scripting::ScriptInfo* Sapphire::Scripting::ScriptLoader::loadModule( const std::string& path )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pConfig = g_fw.get< ConfigMgr >();
|
||||
fs::path f( path );
|
||||
|
||||
if( isModuleLoaded( f.stem().string() ) )
|
||||
{
|
||||
pLog->error( "Unable to load module '" + f.stem().string() + "' as it is already loaded" );
|
||||
Logger::error( "Unable to load module '" + f.stem().string() + "' as it is already loaded" );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// copy to temp dir
|
||||
fs::path cacheDir( f.parent_path() /= pConfig->getValue< std::string >( "Scripts", "CachePath", "./cache/" ) );
|
||||
fs::path cacheDir( f.parent_path() /= m_cachePath );
|
||||
fs::create_directories( cacheDir );
|
||||
fs::path dest( cacheDir /= f.filename().string() );
|
||||
|
||||
|
@ -69,7 +63,7 @@ Sapphire::Scripting::ScriptInfo* Sapphire::Scripting::ScriptLoader::loadModule(
|
|||
}
|
||||
catch( const fs::filesystem_error& err )
|
||||
{
|
||||
pLog->error( "Error copying file to cache: " + err.code().message() );
|
||||
Logger::error( "Error copying file to cache: " + err.code().message() );
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -83,12 +77,12 @@ Sapphire::Scripting::ScriptInfo* Sapphire::Scripting::ScriptLoader::loadModule(
|
|||
|
||||
if( !handle )
|
||||
{
|
||||
pLog->error( "Failed to load module from: " + path );
|
||||
Logger::error( "Failed to load module from: " + path );
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
pLog->debug( "Loaded module '" + f.filename().string() );
|
||||
Logger::debug( "Loaded module '" + f.filename().string() );
|
||||
|
||||
auto info = new ScriptInfo;
|
||||
info->handle = handle;
|
||||
|
@ -104,7 +98,6 @@ Sapphire::Scripting::ScriptInfo* Sapphire::Scripting::ScriptLoader::loadModule(
|
|||
Sapphire::ScriptAPI::ScriptObject** Sapphire::Scripting::ScriptLoader::getScripts( ModuleHandle handle )
|
||||
{
|
||||
using getScripts = Sapphire::ScriptAPI::ScriptObject** ( * )();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
#ifdef _WIN32
|
||||
getScripts func = reinterpret_cast< getScripts >( GetProcAddress( handle, "getScripts" ) );
|
||||
|
@ -129,7 +122,6 @@ bool Sapphire::Scripting::ScriptLoader::unloadScript( Sapphire::Scripting::Scrip
|
|||
|
||||
bool Sapphire::Scripting::ScriptLoader::unloadScript( ModuleHandle handle )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
for( auto it = m_scriptMap.begin(); it != m_scriptMap.end(); ++it )
|
||||
{
|
||||
if( it->second->handle == handle )
|
||||
|
@ -148,7 +140,7 @@ bool Sapphire::Scripting::ScriptLoader::unloadScript( ModuleHandle handle )
|
|||
return true;
|
||||
}
|
||||
|
||||
pLog->error( "failed to unload module: " + info->library_name );
|
||||
Logger::error( "failed to unload module: " + info->library_name );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -193,3 +185,13 @@ void Sapphire::Scripting::ScriptLoader::findScripts( std::set< Sapphire::Scripti
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
const std::string& Sapphire::Scripting::ScriptLoader::getCachePath() const
|
||||
{
|
||||
return m_cachePath;
|
||||
}
|
||||
|
||||
void Sapphire::Scripting::ScriptLoader::setCachePath( const string& m_cachePath )
|
||||
{
|
||||
ScriptLoader::m_cachePath = m_cachePath;
|
||||
}
|
||||
|
|
|
@ -32,6 +32,13 @@ namespace Sapphire::Scripting
|
|||
*/
|
||||
std::unordered_map< std::string, ScriptInfo* > m_scriptMap;
|
||||
|
||||
/*!
|
||||
* @brief The path for script caching.
|
||||
*/
|
||||
std::string m_cachePath;
|
||||
|
||||
protected:
|
||||
|
||||
/*!
|
||||
* @brief Unload a loaded module from it's ModuleHandle
|
||||
*
|
||||
|
@ -103,6 +110,18 @@ namespace Sapphire::Scripting
|
|||
* @param search the search term
|
||||
*/
|
||||
void findScripts( std::set< Sapphire::Scripting::ScriptInfo* >& scripts, const std::string& search );
|
||||
|
||||
/*!
|
||||
* @brief return cache path
|
||||
*/
|
||||
const std::string& getCachePath() const;
|
||||
|
||||
/*!
|
||||
* @brief set the cache path
|
||||
*
|
||||
* @param cache path
|
||||
*/
|
||||
void setCachePath( const std::string& m_cachePath );
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
#include "Actor/EventObject.h"
|
||||
#include "ServerMgr.h"
|
||||
#include "Event/EventHandler.h"
|
||||
#include "Event/EventHelper.h"
|
||||
|
||||
#include "Manager/EventMgr.h"
|
||||
|
||||
#include "StatusEffect/StatusEffect.h"
|
||||
|
||||
|
@ -25,14 +26,13 @@
|
|||
// enable the ambiguity fix for every platform to avoid #define nonsense
|
||||
#define WIN_AMBIGUITY_FIX
|
||||
|
||||
extern Sapphire::Framework g_fw;
|
||||
|
||||
namespace fs = std::experimental::filesystem;
|
||||
|
||||
Sapphire::Scripting::ScriptMgr::ScriptMgr() :
|
||||
Sapphire::Scripting::ScriptMgr::ScriptMgr( FrameworkPtr pFw ) :
|
||||
World::Manager::BaseManager( pFw ),
|
||||
m_firstScriptChangeNotificiation( false )
|
||||
{
|
||||
m_nativeScriptMgr = createNativeScriptMgr();
|
||||
m_nativeScriptMgr = createNativeScriptMgr( pFw );
|
||||
}
|
||||
|
||||
Sapphire::Scripting::ScriptMgr::~ScriptMgr()
|
||||
|
@ -48,15 +48,14 @@ void Sapphire::Scripting::ScriptMgr::update()
|
|||
bool Sapphire::Scripting::ScriptMgr::init()
|
||||
{
|
||||
std::set< std::string > files;
|
||||
auto pConfig = g_fw.get< ConfigMgr >();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pConfig = framework()->get< ConfigMgr >();
|
||||
|
||||
auto status = loadDir( pConfig->getValue< std::string >( "Scripts", "Path", "./compiledscripts/" ),
|
||||
files, m_nativeScriptMgr->getModuleExtension() );
|
||||
|
||||
if( !status )
|
||||
{
|
||||
pLog->error( std::string( __func__ ) +
|
||||
Logger::error( std::string( __func__ ) +
|
||||
": failed to load scripts, the server will not function correctly without scripts loaded." );
|
||||
return false;
|
||||
}
|
||||
|
@ -74,7 +73,7 @@ bool Sapphire::Scripting::ScriptMgr::init()
|
|||
scriptsLoaded++;
|
||||
}
|
||||
|
||||
pLog->info(
|
||||
Logger::info(
|
||||
"ScriptMgr: Loaded " + std::to_string( scriptsLoaded ) + "/" + std::to_string( scriptsFound ) + " modules" );
|
||||
|
||||
watchDirectories();
|
||||
|
@ -84,7 +83,7 @@ bool Sapphire::Scripting::ScriptMgr::init()
|
|||
|
||||
void Sapphire::Scripting::ScriptMgr::watchDirectories()
|
||||
{
|
||||
auto pConfig = g_fw.get< ConfigMgr >();
|
||||
auto pConfig = framework()->get< ConfigMgr >();
|
||||
auto shouldWatch = pConfig->getValue< bool >( "Scripts", "HotSwap", true );
|
||||
if( !shouldWatch )
|
||||
return;
|
||||
|
@ -100,19 +99,18 @@ void Sapphire::Scripting::ScriptMgr::watchDirectories()
|
|||
m_firstScriptChangeNotificiation = true;
|
||||
return;
|
||||
}
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
for( auto path : paths )
|
||||
for( const auto& path : paths )
|
||||
{
|
||||
if( m_nativeScriptMgr->isModuleLoaded( path.stem().string() ) )
|
||||
{
|
||||
pLog->debug( "Reloading changed script: " + path.stem().string() );
|
||||
Logger::debug( "Reloading changed script: " + path.stem().string() );
|
||||
|
||||
m_nativeScriptMgr->queueScriptReload( path.stem().string() );
|
||||
}
|
||||
else
|
||||
{
|
||||
pLog->debug( "Loading new script: " + path.stem().string() );
|
||||
Logger::debug( "Loading new script: " + path.stem().string() );
|
||||
|
||||
m_nativeScriptMgr->loadScript( path.string() );
|
||||
}
|
||||
|
@ -123,13 +121,11 @@ void Sapphire::Scripting::ScriptMgr::watchDirectories()
|
|||
bool Sapphire::Scripting::ScriptMgr::loadDir( const std::string& dirname, std::set< std::string >& files,
|
||||
const std::string& ext )
|
||||
{
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info( "ScriptMgr: loading scripts from " + dirname );
|
||||
Logger::info( "ScriptMgr: loading scripts from " + dirname );
|
||||
|
||||
if( !fs::exists( dirname ) )
|
||||
{
|
||||
pLog->error( "ScriptMgr: scripts directory doesn't exist" );
|
||||
Logger::error( "ScriptMgr: scripts directory doesn't exist" );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -145,11 +141,11 @@ bool Sapphire::Scripting::ScriptMgr::loadDir( const std::string& dirname, std::s
|
|||
}
|
||||
}
|
||||
|
||||
if( files.size() )
|
||||
if( !files.empty() )
|
||||
return true;
|
||||
else
|
||||
{
|
||||
pLog->error( "ScriptMgr: couldn't find any script modules" );
|
||||
Logger::error( "ScriptMgr: couldn't find any script modules" );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -263,8 +259,10 @@ bool Sapphire::Scripting::ScriptMgr::onEventHandlerTradeReturn( Entity::Player&
|
|||
bool Sapphire::Scripting::ScriptMgr::onEventItem( Entity::Player& player, uint32_t eventItemId,
|
||||
uint32_t eventId, uint32_t castTime, uint64_t targetId )
|
||||
{
|
||||
auto pEventMgr = framework()->get< World::Manager::EventMgr >();
|
||||
|
||||
std::string eventName = "onEventItem";
|
||||
std::string objName = Event::getEventName( eventId );
|
||||
std::string objName = pEventMgr->getEventName( eventId );
|
||||
player.sendDebug( "Calling: " + objName + "." + eventName + " - " + std::to_string( eventId ) );
|
||||
|
||||
auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( eventId );
|
||||
|
@ -281,8 +279,9 @@ bool Sapphire::Scripting::ScriptMgr::onEventItem( Entity::Player& player, uint32
|
|||
|
||||
bool Sapphire::Scripting::ScriptMgr::onMobKill( Entity::Player& player, uint16_t nameId )
|
||||
{
|
||||
std::string eventName = "onBnpcKill_" + std::to_string( nameId );
|
||||
auto pEventMgr = framework()->get< World::Manager::EventMgr >();
|
||||
|
||||
std::string eventName = "onBnpcKill_" + std::to_string( nameId );
|
||||
|
||||
// loop through all active quests and try to call available onMobKill callbacks
|
||||
for( size_t i = 0; i < 30; i++ )
|
||||
|
@ -296,7 +295,7 @@ bool Sapphire::Scripting::ScriptMgr::onMobKill( Entity::Player& player, uint16_t
|
|||
auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( questId );
|
||||
if( script )
|
||||
{
|
||||
std::string objName = Event::getEventName( 0x00010000 | questId );
|
||||
std::string objName = pEventMgr->getEventName( 0x00010000 | questId );
|
||||
|
||||
player.sendDebug( "Calling: " + objName + "." + eventName );
|
||||
|
||||
|
|
|
@ -7,11 +7,12 @@
|
|||
|
||||
#include <Common.h>
|
||||
#include "Forwards.h"
|
||||
#include "Manager/BaseManager.h"
|
||||
|
||||
namespace Sapphire::Scripting
|
||||
{
|
||||
|
||||
class ScriptMgr
|
||||
class ScriptMgr : public World::Manager::BaseManager
|
||||
{
|
||||
private:
|
||||
/*!
|
||||
|
@ -28,7 +29,7 @@ namespace Sapphire::Scripting
|
|||
bool m_firstScriptChangeNotificiation;
|
||||
|
||||
public:
|
||||
ScriptMgr();
|
||||
ScriptMgr( FrameworkPtr pFw );
|
||||
|
||||
~ScriptMgr();
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include "Manager/PlayerMgr.h"
|
||||
#include "Manager/ShopMgr.h"
|
||||
#include "Manager/InventoryMgr.h"
|
||||
#include "Manager/EventMgr.h"
|
||||
|
||||
using namespace Sapphire::World::Manager;
|
||||
|
||||
|
@ -60,15 +61,14 @@ size_t Sapphire::World::ServerMgr::getSessionCount() const
|
|||
|
||||
bool Sapphire::World::ServerMgr::loadSettings( int32_t argc, char* argv[] )
|
||||
{
|
||||
auto pLog = framework()->get< Sapphire::Logger >();
|
||||
auto pConfig = framework()->get< Sapphire::ConfigMgr >();
|
||||
|
||||
pLog->info( "Loading config " + m_configName );
|
||||
Logger::info( "Loading config " + m_configName );
|
||||
|
||||
if( !pConfig->loadConfig( m_configName ) )
|
||||
{
|
||||
pLog->fatal( "Error loading config " + m_configName );
|
||||
pLog->fatal( "If this is the first time starting the server, we've copied the default one for your editing pleasure." );
|
||||
Logger::fatal( "Error loading config " + m_configName );
|
||||
Logger::fatal( "If this is the first time starting the server, we've copied the default one for your editing pleasure." );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -83,10 +83,7 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] )
|
|||
using namespace Sapphire;
|
||||
using namespace Sapphire::World;
|
||||
|
||||
auto pLog = std::make_shared< Logger >();
|
||||
pLog->setLogPath( "log/world" );
|
||||
pLog->init();
|
||||
framework()->set< Logger >( pLog );
|
||||
Logger::init( "log/world" );
|
||||
|
||||
printBanner();
|
||||
|
||||
|
@ -94,17 +91,17 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] )
|
|||
framework()->set< ConfigMgr >( pConfig );
|
||||
if( !loadSettings( argc, argv ) )
|
||||
{
|
||||
pLog->fatal( "Unable to load settings!" );
|
||||
Logger::fatal( "Unable to load settings!" );
|
||||
return;
|
||||
}
|
||||
|
||||
pLog->info( "Setting up generated EXD data" );
|
||||
Logger::info( "Setting up generated EXD data" );
|
||||
auto pExdData = std::make_shared< Data::ExdDataGenerated >();
|
||||
auto dataPath = pConfig->getValue< std::string >( "GlobalParameters", "DataPath", "" );
|
||||
if( !pExdData->init( dataPath ) )
|
||||
{
|
||||
pLog->fatal( "Error setting up generated EXD data. Make sure that DataPath is set correctly in config.ini" );
|
||||
pLog->fatal( "DataPath: " + dataPath );
|
||||
Logger::fatal( "Error setting up generated EXD data. Make sure that DataPath is set correctly in config.ini" );
|
||||
Logger::fatal( "DataPath: " + dataPath );
|
||||
return;
|
||||
}
|
||||
framework()->set< Data::ExdDataGenerated >( pExdData );
|
||||
|
@ -123,43 +120,43 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] )
|
|||
loader.addDb( *pDb, info );
|
||||
if( !loader.initDbs() )
|
||||
{
|
||||
pLog->fatal( "Database not initialized properly!" );
|
||||
Logger::fatal( "Database not initialized properly!" );
|
||||
return;
|
||||
}
|
||||
framework()->set< Db::DbWorkerPool< Db::ZoneDbConnection > >( pDb );
|
||||
|
||||
pLog->info( "LinkshellMgr: Caching linkshells" );
|
||||
Logger::info( "LinkshellMgr: Caching linkshells" );
|
||||
auto pLsMgr = std::make_shared< Manager::LinkshellMgr >( framework() );
|
||||
if( !pLsMgr->loadLinkshells() )
|
||||
{
|
||||
pLog->fatal( "Unable to load linkshells!" );
|
||||
Logger::fatal( "Unable to load linkshells!" );
|
||||
return;
|
||||
}
|
||||
framework()->set< Manager::LinkshellMgr >( pLsMgr );
|
||||
|
||||
auto pScript = std::make_shared< Scripting::ScriptMgr >();
|
||||
auto pScript = std::make_shared< Scripting::ScriptMgr >( framework() );
|
||||
if( !pScript->init() )
|
||||
{
|
||||
pLog->fatal( "Failed to setup scripts!" );
|
||||
Logger::fatal( "Failed to setup scripts!" );
|
||||
return;
|
||||
}
|
||||
framework()->set< Scripting::ScriptMgr >( pScript );
|
||||
|
||||
pLog->info( "TerritoryMgr: Setting up zones" );
|
||||
Logger::info( "TerritoryMgr: Setting up zones" );
|
||||
auto pTeriMgr = std::make_shared< Manager::TerritoryMgr >( framework() );
|
||||
auto pHousingMgr = std::make_shared< Manager::HousingMgr >( framework() );
|
||||
framework()->set< Manager::HousingMgr >( pHousingMgr );
|
||||
framework()->set< Manager::TerritoryMgr >( pTeriMgr );
|
||||
if( !pTeriMgr->init() )
|
||||
{
|
||||
pLog->fatal( "Failed to setup zones!" );
|
||||
Logger::fatal( "Failed to setup zones!" );
|
||||
return;
|
||||
}
|
||||
|
||||
loadBNpcTemplates();
|
||||
|
||||
Network::HivePtr hive( new Network::Hive() );
|
||||
Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive );
|
||||
Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive, framework() );
|
||||
|
||||
std::vector< std::thread > thread_list;
|
||||
thread_list.emplace_back( std::thread( std::bind( &Network::Hive::Run, hive.get() ) ) );
|
||||
|
@ -168,13 +165,15 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] )
|
|||
auto pPlayerMgr = std::make_shared< Manager::PlayerMgr >( framework() );
|
||||
auto pShopMgr = std::make_shared< Manager::ShopMgr >( framework() );
|
||||
auto pInventoryMgr = std::make_shared< Manager::InventoryMgr >();
|
||||
auto pEventMgr = std::make_shared< Manager::EventMgr >( framework() );
|
||||
|
||||
framework()->set< DebugCommandMgr >( pDebugCom );
|
||||
framework()->set< Manager::PlayerMgr >( pPlayerMgr );
|
||||
framework()->set< Manager::ShopMgr >( pShopMgr );
|
||||
framework()->set< Manager::InventoryMgr >( pInventoryMgr );
|
||||
framework()->set< Manager::EventMgr >( pEventMgr );
|
||||
|
||||
pLog->info( "World server running on " + m_ip + ":" + std::to_string( m_port ) );
|
||||
Logger::info( "World server running on " + m_ip + ":" + std::to_string( m_port ) );
|
||||
|
||||
mainLoop();
|
||||
|
||||
|
@ -197,19 +196,16 @@ void Sapphire::World::ServerMgr::setWorldId( uint16_t worldId )
|
|||
|
||||
void Sapphire::World::ServerMgr::printBanner() const
|
||||
{
|
||||
auto pLog = framework()->get< Sapphire::Logger >();
|
||||
|
||||
pLog->info( "===========================================================" );
|
||||
pLog->info( "Sapphire Server Project " );
|
||||
pLog->info( "Version: " + Version::VERSION );
|
||||
pLog->info( "Git Hash: " + Version::GIT_HASH );
|
||||
pLog->info( "Compiled: " __DATE__ " " __TIME__ );
|
||||
pLog->info( "===========================================================" );
|
||||
Logger::info( "===========================================================" );
|
||||
Logger::info( "Sapphire Server Project " );
|
||||
Logger::info( "Version: " + Version::VERSION );
|
||||
Logger::info( "Git Hash: " + Version::GIT_HASH );
|
||||
Logger::info( "Compiled: " __DATE__ " " __TIME__ );
|
||||
Logger::info( "===========================================================" );
|
||||
}
|
||||
|
||||
void Sapphire::World::ServerMgr::mainLoop()
|
||||
{
|
||||
auto pLog = framework()->get< Logger >();
|
||||
auto pTeriMgr = framework()->get< TerritoryMgr >();
|
||||
auto pScriptMgr = framework()->get< Scripting::ScriptMgr >();
|
||||
auto pDb = framework()->get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
|
@ -245,7 +241,6 @@ void Sapphire::World::ServerMgr::mainLoop()
|
|||
m_lastDBPingTime = currTime;
|
||||
}
|
||||
|
||||
|
||||
auto it = m_sessionMapById.begin();
|
||||
for( ; it != m_sessionMapById.end(); )
|
||||
{
|
||||
|
@ -259,7 +254,7 @@ void Sapphire::World::ServerMgr::mainLoop()
|
|||
it->second->close();
|
||||
// if( it->second.unique() )
|
||||
{
|
||||
pLog->info( "[" + std::to_string( it->second->getId() ) + "] Session removal" );
|
||||
Logger::info( "[" + std::to_string( it->second->getId() ) + "] Session removal" );
|
||||
it = m_sessionMapById.erase( it );
|
||||
removeSession( pPlayer->getName() );
|
||||
continue;
|
||||
|
@ -269,7 +264,7 @@ void Sapphire::World::ServerMgr::mainLoop()
|
|||
// remove sessions that simply timed out
|
||||
if( diff > 20 )
|
||||
{
|
||||
pLog->info( "[" + std::to_string( it->second->getId() ) + "] Session time out" );
|
||||
Logger::info( "[" + std::to_string( it->second->getId() ) + "] Session time out" );
|
||||
|
||||
it->second->close();
|
||||
// if( it->second.unique() )
|
||||
|
@ -290,8 +285,6 @@ void Sapphire::World::ServerMgr::mainLoop()
|
|||
|
||||
bool Sapphire::World::ServerMgr::createSession( uint32_t sessionId )
|
||||
{
|
||||
auto pLog = framework()->get< Sapphire::Logger >();
|
||||
|
||||
std::lock_guard< std::mutex > lock( m_sessionMutex );
|
||||
|
||||
const auto session_id_str = std::to_string( sessionId );
|
||||
|
@ -300,18 +293,18 @@ bool Sapphire::World::ServerMgr::createSession( uint32_t sessionId )
|
|||
|
||||
if( it != m_sessionMapById.end() )
|
||||
{
|
||||
pLog->error( "[" + session_id_str + "] Error creating session" );
|
||||
Logger::error( "[" + session_id_str + "] Error creating session" );
|
||||
return false;
|
||||
}
|
||||
|
||||
pLog->info( "[" + session_id_str + "] Creating new session" );
|
||||
Logger::info( "[" + session_id_str + "] Creating new session" );
|
||||
|
||||
std::shared_ptr< Session > newSession( new Session( sessionId ) );
|
||||
m_sessionMapById[ sessionId ] = newSession;
|
||||
|
||||
if( !newSession->loadPlayer() )
|
||||
{
|
||||
pLog->error( "[" + session_id_str + "] Error loading player " + session_id_str );
|
||||
Logger::error( "[" + session_id_str + "] Error loading player " + session_id_str );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -391,7 +384,6 @@ void Sapphire::World::ServerMgr::loadBNpcTemplates()
|
|||
{
|
||||
auto pDb = framework()->get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
auto pTeriMgr = framework()->get< TerritoryMgr >();
|
||||
auto pLog = framework()->get< Logger >();
|
||||
|
||||
auto stmt = pDb->getPreparedStatement( Db::ZoneDbStatements::ZONE_SEL_BNPCTEMPLATES );
|
||||
|
||||
|
@ -426,7 +418,7 @@ void Sapphire::World::ServerMgr::loadBNpcTemplates()
|
|||
m_bNpcTemplateMap[ name ] = bnpcTemplate;
|
||||
}
|
||||
|
||||
pLog->debug( "BNpc Templates loaded: " + std::to_string( m_bNpcTemplateMap.size() ) );
|
||||
Logger::debug( "BNpc Templates loaded: " + std::to_string( m_bNpcTemplateMap.size() ) );
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -117,7 +117,6 @@ void Sapphire::World::Session::updateLastSqlTime()
|
|||
|
||||
void Sapphire::World::Session::startReplay( const std::string& path )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
if( !fs::exists( path ) )
|
||||
{
|
||||
getPlayer()->sendDebug( "Couldn't find folder." );
|
||||
|
@ -154,7 +153,7 @@ void Sapphire::World::Session::startReplay( const std::string& path )
|
|||
m_replayCache.push_back( std::tuple< uint64_t, std::string >(
|
||||
Util::getTimeMs() + ( std::get< 0 >( set ) - startTime ), std::get< 1 >( set ) ) );
|
||||
|
||||
pLog->info( "Registering " + std::get< 1 >( set ) + " for " + std::to_string( std::get< 0 >( set ) - startTime ) );
|
||||
Logger::info( "Registering " + std::get< 1 >( set ) + " for " + std::to_string( std::get< 0 >( set ) - startTime ) );
|
||||
}
|
||||
|
||||
getPlayer()->sendDebug( "Registered " + std::to_string( m_replayCache.size() ) + " sets for replay" );
|
||||
|
|
|
@ -37,7 +37,6 @@ void Sapphire::Cell::init( uint32_t x, uint32_t y, ZonePtr pZone )
|
|||
|
||||
void Sapphire::Cell::addActor( Entity::ActorPtr pAct )
|
||||
{
|
||||
auto pLog = g_fw.get< Sapphire::Logger >();
|
||||
if( pAct->isPlayer() )
|
||||
++m_playerCount;
|
||||
|
||||
|
@ -46,7 +45,6 @@ void Sapphire::Cell::addActor( Entity::ActorPtr pAct )
|
|||
|
||||
void Sapphire::Cell::removeActor( Entity::ActorPtr pAct )
|
||||
{
|
||||
auto pLog = g_fw.get< Sapphire::Logger >();
|
||||
if( pAct->isPlayer() )
|
||||
--m_playerCount;
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Sapphire::House::House( uint32_t houseId, uint32_t landSetId, Common::LandIdent
|
|||
|
||||
if( !res->next() )
|
||||
{
|
||||
g_fw.get< Sapphire::Logger >()->info( "Creating house House#" + std::to_string( houseId ) + " in LandSet#" + std::to_string( landSetId ) );
|
||||
Logger::info( "Creating house House#" + std::to_string( houseId ) + " in LandSet#" + std::to_string( landSetId ) );
|
||||
|
||||
auto stmt = pDB->getPreparedStatement( Db::HOUSING_HOUSE_INS );
|
||||
|
||||
|
|
|
@ -51,8 +51,7 @@ bool Housing::HousingInteriorTerritory::init()
|
|||
void Housing::HousingInteriorTerritory::onPlayerZoneIn( Entity::Player& player )
|
||||
{
|
||||
auto pHousingMgr = g_fw.get< HousingMgr >();
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug(
|
||||
Logger::debug(
|
||||
"HousingInteriorTerritory::onPlayerZoneIn: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryTypeId() ) +
|
||||
", Entity#" + std::to_string( player.getId() ) );
|
||||
|
||||
|
|
|
@ -107,8 +107,7 @@ Sapphire::HousingZone::~HousingZone() = default;
|
|||
|
||||
void Sapphire::HousingZone::onPlayerZoneIn( Entity::Player& player )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug(
|
||||
Logger::debug(
|
||||
"HousingZone::onPlayerZoneIn: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryTypeId() ) +
|
||||
", Entity#" + std::to_string( player.getId() ) );
|
||||
|
||||
|
|
|
@ -74,8 +74,7 @@ Sapphire::Data::ExdDataGenerated::InstanceContentPtr Sapphire::InstanceContent::
|
|||
|
||||
void Sapphire::InstanceContent::onPlayerZoneIn( Entity::Player& player )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "InstanceContent::onPlayerZoneIn: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
Logger::debug( "InstanceContent::onPlayerZoneIn: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
+ std::to_string( getInstanceContentId() ) +
|
||||
+", Entity#" + std::to_string( player.getId() ) );
|
||||
|
||||
|
@ -91,8 +90,7 @@ void Sapphire::InstanceContent::onPlayerZoneIn( Entity::Player& player )
|
|||
|
||||
void Sapphire::InstanceContent::onLeaveTerritory( Entity::Player& player )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug( "InstanceContent::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
Logger::debug( "InstanceContent::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|"
|
||||
+ std::to_string( getInstanceContentId() ) +
|
||||
+", Entity#" + std::to_string( player.getId() ) );
|
||||
sendDirectorClear( player );
|
||||
|
@ -315,14 +313,13 @@ void Sapphire::InstanceContent::onRegisterEObj( Entity::EventObjectPtr object )
|
|||
if( object->getObjectId() == 2000182 ) // start
|
||||
m_pEntranceEObj = object;
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
auto pExdData = g_fw.get< Data::ExdDataGenerated >();
|
||||
auto objData = pExdData->get< Sapphire::Data::EObj >( object->getObjectId() );
|
||||
if( objData )
|
||||
// todo: data should be renamed to eventId
|
||||
m_eventIdToObjectMap[ objData->data ] = object;
|
||||
else
|
||||
pLog->error( "InstanceContent::onRegisterEObj Zone " +
|
||||
Logger::error( "InstanceContent::onRegisterEObj Zone " +
|
||||
m_internalName + ": No EObj data found for EObj with ID: " +
|
||||
std::to_string( object->getObjectId() ) );
|
||||
}
|
||||
|
|
|
@ -119,7 +119,7 @@ void Sapphire::Land::loadItemContainerContents()
|
|||
return;
|
||||
|
||||
auto ident = *reinterpret_cast< uint64_t* >( &m_landIdent );
|
||||
g_fw.get< Sapphire::Logger >()->debug( "Loading housing inventory for ident: " + std::to_string( ident ) );
|
||||
Logger::debug( "Loading housing inventory for ident: " + std::to_string( ident ) );
|
||||
|
||||
auto pDB = g_fw.get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
|
||||
|
|
|
@ -580,7 +580,6 @@ void Sapphire::Zone::updateActorPosition( Entity::Actor& actor )
|
|||
|
||||
if( pOldCell )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pOldCell->removeActor( actor.shared_from_this() );
|
||||
}
|
||||
|
||||
|
@ -678,16 +677,14 @@ void Sapphire::Zone::updateInRangeSet( Entity::ActorPtr pActor, Cell* pCell )
|
|||
|
||||
void Sapphire::Zone::onPlayerZoneIn( Entity::Player& player )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug(
|
||||
Logger::debug(
|
||||
"Zone::onEnterTerritory: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryTypeId() ) +
|
||||
+", Entity#" + std::to_string( player.getId() ) );
|
||||
}
|
||||
|
||||
void Sapphire::Zone::onLeaveTerritory( Entity::Player& player )
|
||||
{
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->debug(
|
||||
Logger::debug(
|
||||
"Zone::onLeaveTerritory: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryTypeId() ) +
|
||||
+", Entity#" + std::to_string( player.getId() ) );
|
||||
}
|
||||
|
@ -716,7 +713,7 @@ void Sapphire::Zone::registerEObj( Entity::EventObjectPtr object )
|
|||
{
|
||||
if( !object )
|
||||
return;
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
|
||||
object->setId( getNextEObjId() );
|
||||
pushActor( object );
|
||||
|
||||
|
@ -724,7 +721,7 @@ void Sapphire::Zone::registerEObj( Entity::EventObjectPtr object )
|
|||
|
||||
onRegisterEObj( object );
|
||||
|
||||
//pLog->debug( "Registered instance eobj: " + std::to_string( object->getId() ) );
|
||||
//Logger::debug( "Registered instance eobj: " + std::to_string( object->getId() ) );
|
||||
}
|
||||
|
||||
Sapphire::Entity::EventObjectPtr Sapphire::Zone::getEObj( uint32_t objId )
|
||||
|
|
Loading…
Add table
Reference in a new issue