1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-17 02:51:27 +00:00

Expose to python

This commit is contained in:
2013-01-25 22:22:49 -05:00
parent af1db55f67
commit 07ddec2f79
5 changed files with 63 additions and 34 deletions

View File

@ -547,12 +547,14 @@ bool plNetLinkingMgr::IProcessVaultNotifyMsg(plVaultNotifyMsg* msg)
////////////////////////////////////////////////////////////////////
bool plNetLinkingMgr::IDispatchMsg( plMessage * msg, uint32_t playerID )
bool plNetLinkingMgr::IDispatchMsg( plMessage* msg, LinkSfx sfx, uint32_t playerID )
{
plNetClientMgr * nc = plNetClientMgr::GetInstance();
msg->AddReceiver( plNetClientMgr::GetInstance()->GetKey() );
plLinkToAgeMsg* linkToAge = plLinkToAgeMsg::ConvertNoRef(msg);
if (linkToAge)
linkToAge->PlayLinkSfx(hsTestBits(sfx, kPlayLinkIn), hsTestBits(sfx, kPlayLinkOut));
if ( playerID!=kInvalidPlayerID && playerID!=nc->GetPlayerID() )
{
msg->SetBCastFlag( plMessage::kNetAllowInterAge );
@ -563,17 +565,17 @@ bool plNetLinkingMgr::IDispatchMsg( plMessage * msg, uint32_t playerID )
msg->AddNetReceiver( playerID );
}
return ( msg->Send()!=0 );
return msg->Send();
}
////////////////////////////////////////////////////////////////////
void plNetLinkingMgr::LinkToAge( plAgeLinkStruct * link, uint32_t playerID )
void plNetLinkingMgr::LinkToAge( plAgeLinkStruct * link, LinkSfx sfx, uint32_t playerID )
{
LinkToAge(link, nil, playerID);
LinkToAge(link, nil, sfx, playerID);
}
void plNetLinkingMgr::LinkToAge( plAgeLinkStruct * link, const char* linkAnim, uint32_t playerID )
void plNetLinkingMgr::LinkToAge( plAgeLinkStruct * link, const char* linkAnim, LinkSfx sfx, uint32_t playerID )
{
if ( !fLinkingEnabled )
{
@ -584,11 +586,11 @@ void plNetLinkingMgr::LinkToAge( plAgeLinkStruct * link, const char* linkAnim, u
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( link );
if (linkAnim)
pMsg->SetLinkInAnimName(linkAnim);
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, sfx, playerID );
}
// link myself back to my last age
void plNetLinkingMgr::LinkToPrevAge( uint32_t playerID )
void plNetLinkingMgr::LinkToPrevAge( LinkSfx sfx, uint32_t playerID )
{
if ( !fLinkingEnabled )
{
@ -599,7 +601,7 @@ void plNetLinkingMgr::LinkToPrevAge( uint32_t playerID )
if (GetPrevAgeLink()->GetAgeInfo()->HasAgeFilename())
{
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( GetPrevAgeLink() );
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, sfx, playerID );
}
else
{
@ -607,7 +609,7 @@ void plNetLinkingMgr::LinkToPrevAge( uint32_t playerID )
}
}
void plNetLinkingMgr::LinkToMyPersonalAge( uint32_t playerID )
void plNetLinkingMgr::LinkToMyPersonalAge( LinkSfx sfx, uint32_t playerID )
{
if ( !fLinkingEnabled )
{
@ -625,10 +627,10 @@ void plNetLinkingMgr::LinkToMyPersonalAge( uint32_t playerID )
link.SetSpawnPoint(hutSpawnPoint);
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( &link );
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, sfx, playerID );
}
void plNetLinkingMgr::LinkToMyNeighborhoodAge( uint32_t playerID )
void plNetLinkingMgr::LinkToMyNeighborhoodAge( LinkSfx sfx, uint32_t playerID )
{
if ( !fLinkingEnabled )
{
@ -644,10 +646,10 @@ void plNetLinkingMgr::LinkToMyNeighborhoodAge( uint32_t playerID )
link.SetLinkingRules( plNetCommon::LinkingRules::kOwnedBook );
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( &link );
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, sfx, playerID );
}
void plNetLinkingMgr::LinkPlayerHere( uint32_t playerID )
void plNetLinkingMgr::LinkPlayerHere( uint32_t playerID, LinkSfx sfx )
{
if ( !fLinkingEnabled )
{
@ -659,10 +661,10 @@ void plNetLinkingMgr::LinkPlayerHere( uint32_t playerID )
// send the player our current age info so they can link here.
plAgeLinkStruct link;
link.GetAgeInfo()->CopyFrom( GetAgeLink()->GetAgeInfo() );
LinkPlayerToAge( &link, playerID );
LinkPlayerToAge( &link, playerID, sfx );
}
void plNetLinkingMgr::LinkPlayerToAge( plAgeLinkStruct * link, uint32_t playerID )
void plNetLinkingMgr::LinkPlayerToAge( plAgeLinkStruct * link, uint32_t playerID, LinkSfx sfx )
{
if ( !fLinkingEnabled )
{
@ -674,7 +676,7 @@ void plNetLinkingMgr::LinkPlayerToAge( plAgeLinkStruct * link, uint32_t playerID
// send the player the age link so they can link there.
link->SetLinkingRules( plNetCommon::LinkingRules::kBasicLink );
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( link );
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, sfx, playerID );
}
//
@ -693,7 +695,7 @@ void plNetLinkingMgr::LinkPlayerToPrevAge( uint32_t playerID )
plLinkingMgrMsg* pMsg = new plLinkingMgrMsg();
pMsg->SetCmd( kLinkPlayerToPrevAge);
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, kPlayBoth, playerID );
}
void plNetLinkingMgr::LinkToPlayersAge( uint32_t playerID )
@ -709,7 +711,7 @@ void plNetLinkingMgr::LinkToPlayersAge( uint32_t playerID )
plLinkingMgrMsg* pMsg = new plLinkingMgrMsg();
pMsg->SetCmd( kLinkPlayerHere );
pMsg->GetArgs()->AddInt( 0, NetCommGetPlayer()->playerInt ); // send them our id.
IDispatchMsg( pMsg, playerID );
IDispatchMsg( pMsg, kPlayBoth, playerID );
}
////////////////////////////////////////////////////////////////////

View File

@ -55,6 +55,16 @@ struct plNCAgeLeaver;
class plNetLinkingMgr
{
public:
enum LinkSfx
{
kPlayNone = 0,
kPlayLinkIn = 1<<0,
kPlayLinkOut = 1<<1,
kPlayBoth = (kPlayLinkIn | kPlayLinkOut)
};
private:
static void NCAgeJoinerCallback (
plNCAgeJoiner * joiner,
unsigned type,
@ -110,7 +120,7 @@ class plNetLinkingMgr
void IDoLink(plLinkToAgeMsg* link);
bool IProcessVaultNotifyMsg(plVaultNotifyMsg* msg);
bool IDispatchMsg( plMessage * msg, uint32_t playerID );
bool IDispatchMsg( plMessage* msg, LinkSfx sfx, uint32_t playerID );
public:
@ -125,26 +135,35 @@ public:
bool Linking () const { return !fLinkedIn && !fLinkingEnabled; }
// Link to an age.
void LinkToAge( plAgeLinkStruct * link, uint32_t playerID=kInvalidPlayerID );
void LinkToAge( plAgeLinkStruct * link, const char* linkAnim, uint32_t playerID=kInvalidPlayerID );
void LinkToAge( plAgeLinkStruct * link, LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
void LinkToAge( plAgeLinkStruct * link, const char* linkAnim, LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
// Link to my last age.
void LinkToPrevAge( uint32_t playerID=kInvalidPlayerID );
void LinkToPrevAge( LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
// Link to my Personal Age
void LinkToMyPersonalAge( uint32_t playerID=kInvalidPlayerID );
void LinkToMyPersonalAge( LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
// Link to my Neighborhood Age
void LinkToMyNeighborhoodAge( uint32_t playerID=kInvalidPlayerID );
void LinkToMyNeighborhoodAge( LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
// Link a player here.
void LinkPlayerHere( uint32_t playerID );
void LinkPlayerHere( uint32_t playerID, LinkSfx sfx=kPlayBoth );
// Link player to specified age
void LinkPlayerToAge( plAgeLinkStruct * link, uint32_t playerID );
void LinkPlayerToAge( plAgeLinkStruct * link, uint32_t playerID, LinkSfx sfx=kPlayBoth );
// Link player back to his last age
void LinkPlayerToPrevAge( uint32_t playerID );
// Link us to a players age.
void LinkToPlayersAge( uint32_t playerID );
// Offer a link to player.
void OfferLinkToPlayer( const plAgeLinkStruct * info, uint32_t playerID, plKey replyKey );
void OfferLinkToPlayer( const plAgeInfoStruct * info, uint32_t playerID );
void OfferLinkToPlayer( const plAgeLinkStruct * info, uint32_t playerID );
// Leave the current age
void LeaveAge (bool quitting);