mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-16 18:35:40 +00:00
Expose to python
This commit is contained in:
@ -65,9 +65,15 @@ void pyNetLinkingMgr::SetEnabled( bool b ) const
|
|||||||
plNetLinkingMgr::GetInstance()->SetEnabled( b );
|
plNetLinkingMgr::GetInstance()->SetEnabled( b );
|
||||||
}
|
}
|
||||||
|
|
||||||
void pyNetLinkingMgr::LinkToAge( pyAgeLinkStruct & link, const char* linkAnim )
|
void pyNetLinkingMgr::LinkToAge( pyAgeLinkStruct & link, const char* linkAnim, bool linkInSfx, bool linkOutSfx )
|
||||||
{
|
{
|
||||||
plNetLinkingMgr::GetInstance()->LinkToAge( link.GetAgeLink(), linkAnim );
|
uint32_t sfx = plNetLinkingMgr::kPlayNone;
|
||||||
|
if (linkInSfx)
|
||||||
|
hsSetBits(sfx, plNetLinkingMgr::kPlayLinkIn);
|
||||||
|
if (linkOutSfx)
|
||||||
|
hsSetBits(sfx, plNetLinkingMgr::kPlayLinkOut);
|
||||||
|
|
||||||
|
plNetLinkingMgr::GetInstance()->LinkToAge( link.GetAgeLink(), linkAnim, (plNetLinkingMgr::LinkSfx)sfx );
|
||||||
}
|
}
|
||||||
|
|
||||||
void pyNetLinkingMgr::LinkToMyPersonalAge()
|
void pyNetLinkingMgr::LinkToMyPersonalAge()
|
||||||
|
@ -80,7 +80,7 @@ public:
|
|||||||
void SetEnabled( bool b ) const;
|
void SetEnabled( bool b ) const;
|
||||||
|
|
||||||
// Link to a public instance. PLS will load balance.
|
// Link to a public instance. PLS will load balance.
|
||||||
void LinkToAge( pyAgeLinkStruct & link, const char* linkAnim );
|
void LinkToAge( pyAgeLinkStruct & link, const char* linkAnim, bool linkInSfx, bool linkOutSfx );
|
||||||
// Link to my Personal Age
|
// Link to my Personal Age
|
||||||
void LinkToMyPersonalAge();
|
void LinkToMyPersonalAge();
|
||||||
// link to my personal age with the YeehsaBook
|
// link to my personal age with the YeehsaBook
|
||||||
|
@ -79,11 +79,13 @@ PYTHON_METHOD_DEFINITION(ptNetLinkingMgr, setEnabled, args)
|
|||||||
PYTHON_RETURN_NONE;
|
PYTHON_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
PYTHON_METHOD_DEFINITION(ptNetLinkingMgr, linkToAge, args)
|
PYTHON_METHOD_DEFINITION_WKEY(ptNetLinkingMgr, linkToAge, args, kwargs)
|
||||||
{
|
{
|
||||||
|
char* kwlist[] = { "ageLink", "anim", "linkInSfx", "linkOutSfx", nullptr };
|
||||||
PyObject* ageLinkObj = NULL;
|
PyObject* ageLinkObj = NULL;
|
||||||
char* linkAnim = NULL;
|
char* linkAnim = NULL;
|
||||||
if (!PyArg_ParseTuple(args, "O|s", &ageLinkObj, &linkAnim))
|
bool linkInSfx, linkOutSfx = true;
|
||||||
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|sbb", kwlist, &ageLinkObj, &linkAnim, &linkInSfx, &linkOutSfx))
|
||||||
{
|
{
|
||||||
PyErr_SetString(PyExc_TypeError, "linkToAge expects a ptAgeLinkStruct and an optional link anim name");
|
PyErr_SetString(PyExc_TypeError, "linkToAge expects a ptAgeLinkStruct and an optional link anim name");
|
||||||
PYTHON_RETURN_ERROR;
|
PYTHON_RETURN_ERROR;
|
||||||
@ -94,7 +96,7 @@ PYTHON_METHOD_DEFINITION(ptNetLinkingMgr, linkToAge, args)
|
|||||||
PYTHON_RETURN_ERROR;
|
PYTHON_RETURN_ERROR;
|
||||||
}
|
}
|
||||||
pyAgeLinkStruct* ageLink = pyAgeLinkStruct::ConvertFrom(ageLinkObj);
|
pyAgeLinkStruct* ageLink = pyAgeLinkStruct::ConvertFrom(ageLinkObj);
|
||||||
self->fThis->LinkToAge(*ageLink, linkAnim);
|
self->fThis->LinkToAge(*ageLink, linkAnim, linkInSfx, linkOutSfx);
|
||||||
PYTHON_RETURN_NONE;
|
PYTHON_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,7 +160,7 @@ PYTHON_METHOD_DEFINITION_NOARGS(ptNetLinkingMgr, getPrevAgeLink)
|
|||||||
PYTHON_START_METHODS_TABLE(ptNetLinkingMgr)
|
PYTHON_START_METHODS_TABLE(ptNetLinkingMgr)
|
||||||
PYTHON_METHOD_NOARGS(ptNetLinkingMgr, isEnabled, "True if linking is enabled."),
|
PYTHON_METHOD_NOARGS(ptNetLinkingMgr, isEnabled, "True if linking is enabled."),
|
||||||
PYTHON_METHOD(ptNetLinkingMgr, setEnabled, "Params: enable\nEnable/Disable linking."),
|
PYTHON_METHOD(ptNetLinkingMgr, setEnabled, "Params: enable\nEnable/Disable linking."),
|
||||||
PYTHON_METHOD(ptNetLinkingMgr, linkToAge, "Params: ageLink, linkAnim\nLinks to ageLink (ptAgeLinkStruct, string)"),
|
PYTHON_METHOD_WKEY(ptNetLinkingMgr, linkToAge, "Params: ageLink, linkAnim\nLinks to ageLink (ptAgeLinkStruct, string)"),
|
||||||
PYTHON_BASIC_METHOD(ptNetLinkingMgr, linkToMyPersonalAge, "Link to my Personal Age"),
|
PYTHON_BASIC_METHOD(ptNetLinkingMgr, linkToMyPersonalAge, "Link to my Personal Age"),
|
||||||
PYTHON_BASIC_METHOD(ptNetLinkingMgr, linkToMyPersonalAgeWithYeeshaBook, "Link to my Personal Age with the YeeshaBook"),
|
PYTHON_BASIC_METHOD(ptNetLinkingMgr, linkToMyPersonalAgeWithYeeshaBook, "Link to my Personal Age with the YeeshaBook"),
|
||||||
PYTHON_BASIC_METHOD(ptNetLinkingMgr, linkToMyNeighborhoodAge, "Link to my Neighborhood Age"),
|
PYTHON_BASIC_METHOD(ptNetLinkingMgr, linkToMyNeighborhoodAge, "Link to my Neighborhood Age"),
|
||||||
|
@ -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();
|
plNetClientMgr * nc = plNetClientMgr::GetInstance();
|
||||||
|
|
||||||
msg->AddReceiver( plNetClientMgr::GetInstance()->GetKey() );
|
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() )
|
if ( playerID!=kInvalidPlayerID && playerID!=nc->GetPlayerID() )
|
||||||
{
|
{
|
||||||
msg->SetBCastFlag( plMessage::kNetAllowInterAge );
|
msg->SetBCastFlag( plMessage::kNetAllowInterAge );
|
||||||
@ -563,17 +565,17 @@ bool plNetLinkingMgr::IDispatchMsg( plMessage * msg, uint32_t playerID )
|
|||||||
msg->AddNetReceiver( 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 )
|
if ( !fLinkingEnabled )
|
||||||
{
|
{
|
||||||
@ -584,11 +586,11 @@ void plNetLinkingMgr::LinkToAge( plAgeLinkStruct * link, const char* linkAnim, u
|
|||||||
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( link );
|
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( link );
|
||||||
if (linkAnim)
|
if (linkAnim)
|
||||||
pMsg->SetLinkInAnimName(linkAnim);
|
pMsg->SetLinkInAnimName(linkAnim);
|
||||||
IDispatchMsg( pMsg, playerID );
|
IDispatchMsg( pMsg, sfx, playerID );
|
||||||
}
|
}
|
||||||
|
|
||||||
// link myself back to my last age
|
// link myself back to my last age
|
||||||
void plNetLinkingMgr::LinkToPrevAge( uint32_t playerID )
|
void plNetLinkingMgr::LinkToPrevAge( LinkSfx sfx, uint32_t playerID )
|
||||||
{
|
{
|
||||||
if ( !fLinkingEnabled )
|
if ( !fLinkingEnabled )
|
||||||
{
|
{
|
||||||
@ -599,7 +601,7 @@ void plNetLinkingMgr::LinkToPrevAge( uint32_t playerID )
|
|||||||
if (GetPrevAgeLink()->GetAgeInfo()->HasAgeFilename())
|
if (GetPrevAgeLink()->GetAgeInfo()->HasAgeFilename())
|
||||||
{
|
{
|
||||||
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( GetPrevAgeLink() );
|
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( GetPrevAgeLink() );
|
||||||
IDispatchMsg( pMsg, playerID );
|
IDispatchMsg( pMsg, sfx, playerID );
|
||||||
}
|
}
|
||||||
else
|
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 )
|
if ( !fLinkingEnabled )
|
||||||
{
|
{
|
||||||
@ -625,10 +627,10 @@ void plNetLinkingMgr::LinkToMyPersonalAge( uint32_t playerID )
|
|||||||
link.SetSpawnPoint(hutSpawnPoint);
|
link.SetSpawnPoint(hutSpawnPoint);
|
||||||
|
|
||||||
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( &link );
|
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 )
|
if ( !fLinkingEnabled )
|
||||||
{
|
{
|
||||||
@ -644,10 +646,10 @@ void plNetLinkingMgr::LinkToMyNeighborhoodAge( uint32_t playerID )
|
|||||||
link.SetLinkingRules( plNetCommon::LinkingRules::kOwnedBook );
|
link.SetLinkingRules( plNetCommon::LinkingRules::kOwnedBook );
|
||||||
|
|
||||||
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( &link );
|
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 )
|
if ( !fLinkingEnabled )
|
||||||
{
|
{
|
||||||
@ -659,10 +661,10 @@ void plNetLinkingMgr::LinkPlayerHere( uint32_t playerID )
|
|||||||
// send the player our current age info so they can link here.
|
// send the player our current age info so they can link here.
|
||||||
plAgeLinkStruct link;
|
plAgeLinkStruct link;
|
||||||
link.GetAgeInfo()->CopyFrom( GetAgeLink()->GetAgeInfo() );
|
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 )
|
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.
|
// send the player the age link so they can link there.
|
||||||
link->SetLinkingRules( plNetCommon::LinkingRules::kBasicLink );
|
link->SetLinkingRules( plNetCommon::LinkingRules::kBasicLink );
|
||||||
plLinkToAgeMsg* pMsg = new plLinkToAgeMsg( link );
|
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();
|
plLinkingMgrMsg* pMsg = new plLinkingMgrMsg();
|
||||||
pMsg->SetCmd( kLinkPlayerToPrevAge);
|
pMsg->SetCmd( kLinkPlayerToPrevAge);
|
||||||
IDispatchMsg( pMsg, playerID );
|
IDispatchMsg( pMsg, kPlayBoth, playerID );
|
||||||
}
|
}
|
||||||
|
|
||||||
void plNetLinkingMgr::LinkToPlayersAge( uint32_t playerID )
|
void plNetLinkingMgr::LinkToPlayersAge( uint32_t playerID )
|
||||||
@ -709,7 +711,7 @@ void plNetLinkingMgr::LinkToPlayersAge( uint32_t playerID )
|
|||||||
plLinkingMgrMsg* pMsg = new plLinkingMgrMsg();
|
plLinkingMgrMsg* pMsg = new plLinkingMgrMsg();
|
||||||
pMsg->SetCmd( kLinkPlayerHere );
|
pMsg->SetCmd( kLinkPlayerHere );
|
||||||
pMsg->GetArgs()->AddInt( 0, NetCommGetPlayer()->playerInt ); // send them our id.
|
pMsg->GetArgs()->AddInt( 0, NetCommGetPlayer()->playerInt ); // send them our id.
|
||||||
IDispatchMsg( pMsg, playerID );
|
IDispatchMsg( pMsg, kPlayBoth, playerID );
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
@ -55,6 +55,16 @@ struct plNCAgeLeaver;
|
|||||||
|
|
||||||
class plNetLinkingMgr
|
class plNetLinkingMgr
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
enum LinkSfx
|
||||||
|
{
|
||||||
|
kPlayNone = 0,
|
||||||
|
kPlayLinkIn = 1<<0,
|
||||||
|
kPlayLinkOut = 1<<1,
|
||||||
|
kPlayBoth = (kPlayLinkIn | kPlayLinkOut)
|
||||||
|
};
|
||||||
|
|
||||||
|
private:
|
||||||
static void NCAgeJoinerCallback (
|
static void NCAgeJoinerCallback (
|
||||||
plNCAgeJoiner * joiner,
|
plNCAgeJoiner * joiner,
|
||||||
unsigned type,
|
unsigned type,
|
||||||
@ -110,7 +120,7 @@ class plNetLinkingMgr
|
|||||||
void IDoLink(plLinkToAgeMsg* link);
|
void IDoLink(plLinkToAgeMsg* link);
|
||||||
bool IProcessVaultNotifyMsg(plVaultNotifyMsg* msg);
|
bool IProcessVaultNotifyMsg(plVaultNotifyMsg* msg);
|
||||||
|
|
||||||
bool IDispatchMsg( plMessage * msg, uint32_t playerID );
|
bool IDispatchMsg( plMessage* msg, LinkSfx sfx, uint32_t playerID );
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -125,26 +135,35 @@ public:
|
|||||||
bool Linking () const { return !fLinkedIn && !fLinkingEnabled; }
|
bool Linking () const { return !fLinkedIn && !fLinkingEnabled; }
|
||||||
|
|
||||||
// Link to an age.
|
// Link to an age.
|
||||||
void LinkToAge( plAgeLinkStruct * link, uint32_t playerID=kInvalidPlayerID );
|
void LinkToAge( plAgeLinkStruct * link, LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
|
||||||
void LinkToAge( plAgeLinkStruct * link, const char* linkAnim, uint32_t playerID=kInvalidPlayerID );
|
void LinkToAge( plAgeLinkStruct * link, const char* linkAnim, LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
|
||||||
|
|
||||||
// Link to my last age.
|
// 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
|
// 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
|
// Link to my Neighborhood Age
|
||||||
void LinkToMyNeighborhoodAge( uint32_t playerID=kInvalidPlayerID );
|
void LinkToMyNeighborhoodAge( LinkSfx sfx=kPlayBoth, uint32_t playerID=kInvalidPlayerID );
|
||||||
|
|
||||||
// Link a player here.
|
// Link a player here.
|
||||||
void LinkPlayerHere( uint32_t playerID );
|
void LinkPlayerHere( uint32_t playerID, LinkSfx sfx=kPlayBoth );
|
||||||
|
|
||||||
// Link player to specified age
|
// 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
|
// Link player back to his last age
|
||||||
void LinkPlayerToPrevAge( uint32_t playerID );
|
void LinkPlayerToPrevAge( uint32_t playerID );
|
||||||
|
|
||||||
// Link us to a players age.
|
// Link us to a players age.
|
||||||
void LinkToPlayersAge( uint32_t playerID );
|
void LinkToPlayersAge( uint32_t playerID );
|
||||||
|
|
||||||
// Offer a link to player.
|
// Offer a link to player.
|
||||||
void OfferLinkToPlayer( const plAgeLinkStruct * info, uint32_t playerID, plKey replyKey );
|
void OfferLinkToPlayer( const plAgeLinkStruct * info, uint32_t playerID, plKey replyKey );
|
||||||
void OfferLinkToPlayer( const plAgeInfoStruct * info, uint32_t playerID );
|
void OfferLinkToPlayer( const plAgeInfoStruct * info, uint32_t playerID );
|
||||||
void OfferLinkToPlayer( const plAgeLinkStruct * info, uint32_t playerID );
|
void OfferLinkToPlayer( const plAgeLinkStruct * info, uint32_t playerID );
|
||||||
|
|
||||||
// Leave the current age
|
// Leave the current age
|
||||||
void LeaveAge (bool quitting);
|
void LeaveAge (bool quitting);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user