mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-02 08:57:44 +00:00
fix some warnings & world shouldn't crash when warming up object cache
This commit is contained in:
parent
2cf93ce861
commit
a70f381e68
4 changed files with 12 additions and 13 deletions
|
@ -38,7 +38,7 @@ private:
|
||||||
public:
|
public:
|
||||||
ChasingShadows() : Sapphire::ScriptAPI::QuestBattleScript( 11 ) {}
|
ChasingShadows() : Sapphire::ScriptAPI::QuestBattleScript( 11 ) {}
|
||||||
|
|
||||||
void onPlayerSetup( Sapphire::QuestBattle& instance, Entity::Player& player )
|
void onPlayerSetup( Sapphire::QuestBattle& instance, Entity::Player& player ) override
|
||||||
{
|
{
|
||||||
player.setRot( 3.f );
|
player.setRot( 3.f );
|
||||||
player.setPos( { 323.f, -1.28f, -320.f } );
|
player.setPos( { 323.f, -1.28f, -320.f } );
|
||||||
|
|
|
@ -72,7 +72,7 @@ class SubFst034 : public Sapphire::ScriptAPI::EventScript
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void onBNpcKill( uint32_t npcId, Entity::Player& player )
|
void onBNpcKill( uint32_t npcId, Entity::Player& player ) override
|
||||||
{
|
{
|
||||||
switch( npcId )
|
switch( npcId )
|
||||||
{
|
{
|
||||||
|
|
|
@ -80,18 +80,18 @@ Sapphire::InstanceObjectCache::InstanceObjectCache( std::shared_ptr< Framework >
|
||||||
{
|
{
|
||||||
if( pEntry->getType() == LgbEntryType::MapRange )
|
if( pEntry->getType() == LgbEntryType::MapRange )
|
||||||
{
|
{
|
||||||
auto pMapRange = reinterpret_cast< LGB_MAP_RANGE_ENTRY* >( pEntry.get() );
|
auto pMapRange = std::reinterpret_pointer_cast< LGB_MAP_RANGE_ENTRY >( pEntry );
|
||||||
m_mapRangeCache.insert( id, *pMapRange );
|
m_mapRangeCache.insert( id, pMapRange );
|
||||||
}
|
}
|
||||||
else if( pEntry->getType() == LgbEntryType::ExitRange )
|
else if( pEntry->getType() == LgbEntryType::ExitRange )
|
||||||
{
|
{
|
||||||
auto pExitRange = reinterpret_cast< LGB_EXIT_RANGE_ENTRY* >( pEntry.get() );
|
auto pExitRange = std::reinterpret_pointer_cast< LGB_EXIT_RANGE_ENTRY >( pEntry );
|
||||||
m_exitRangeCache.insert( id, *pExitRange);
|
m_exitRangeCache.insert( id, pExitRange );
|
||||||
}
|
}
|
||||||
else if( pEntry->getType() == LgbEntryType::PopRange )
|
else if( pEntry->getType() == LgbEntryType::PopRange )
|
||||||
{
|
{
|
||||||
auto pPopRange = reinterpret_cast< LGB_POP_RANGE_ENTRY* >( pEntry.get() );
|
auto pPopRange = std::reinterpret_pointer_cast< LGB_POP_RANGE_ENTRY >( pEntry );
|
||||||
m_popRangeCache.insert( id, *pPopRange );
|
m_popRangeCache.insert( id, pPopRange );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,19 +38,18 @@ namespace Sapphire
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert( uint16_t zoneId, T& entry )
|
void insert( uint16_t zoneId, std::shared_ptr< T > entry )
|
||||||
{
|
{
|
||||||
auto pShared = std::make_shared< T >( entry );
|
|
||||||
if( m_objectCache.find( zoneId ) == m_objectCache.end() )
|
if( m_objectCache.find( zoneId ) == m_objectCache.end() )
|
||||||
{
|
{
|
||||||
ObjectMap cache;
|
ObjectMap cache;
|
||||||
cache[ entry.header.instanceId ] = pShared;
|
cache[ entry->header.instanceId ] = std::move( entry );
|
||||||
m_objectCache[ zoneId ] = cache;
|
m_objectCache[ zoneId ] = cache;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto it = m_objectCache.find( zoneId );
|
auto it = m_objectCache.find( zoneId );
|
||||||
it->second[ entry.header.instanceId ] = pShared;
|
it->second[ entry->header.instanceId ] = std::move( entry );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +66,7 @@ namespace Sapphire
|
||||||
using ExitRangePtr = std::shared_ptr< LGB_EXIT_RANGE_ENTRY >;
|
using ExitRangePtr = std::shared_ptr< LGB_EXIT_RANGE_ENTRY >;
|
||||||
using PopRangePtr = std::shared_ptr< LGB_POP_RANGE_ENTRY >;
|
using PopRangePtr = std::shared_ptr< LGB_POP_RANGE_ENTRY >;
|
||||||
|
|
||||||
InstanceObjectCache( std::shared_ptr< Framework > pFramework );
|
explicit InstanceObjectCache( std::shared_ptr< Framework > pFramework );
|
||||||
~InstanceObjectCache() = default;
|
~InstanceObjectCache() = default;
|
||||||
|
|
||||||
MapRangePtr getMapRange( uint16_t zoneId, uint32_t mapRangeId );
|
MapRangePtr getMapRange( uint16_t zoneId, uint32_t mapRangeId );
|
||||||
|
|
Loading…
Add table
Reference in a new issue