CClientObject::CClientObject ( CClientManager* pManager, ElementID ID, unsigned short usModel, bool bLowLod ) : ClassInit ( this ) , CClientStreamElement ( bLowLod ? pManager->GetObjectLodStreamer () : pManager->GetObjectStreamer (), ID ) , m_bIsLowLod ( bLowLod ) { // Init m_pManager = pManager; m_pObjectManager = pManager->GetObjectManager (); m_pModelRequester = pManager->GetModelRequestManager (); m_pObject = NULL; m_usModel = usModel; SetTypeName ( "object" ); m_usModel = usModel; m_bIsVisible = true; m_bIsStatic = false; m_bUsesCollision = true; m_ucAlpha = 255; m_vecScale = CVector ( 1.0f, 1.0f, 1.0f ); m_fHealth = 1000.0f; m_bBreakingDisabled = false; m_bRespawnEnabled = true; m_fMass = -1.0f; m_pModelInfo = g_pGame->GetModelInfo ( usModel ); // Add this object to the list m_pObjectManager->AddToList ( this ); if ( m_bIsLowLod ) m_pManager->OnLowLODElementCreated (); }
CPickup::CPickup ( CElement* pParent, CXMLNode* pNode, CPickupManager* pPickupManager, CColManager* pColManager ) : CElement ( pParent, pNode ) { // Init m_pPickupManager = pPickupManager; m_pCollision = new CColSphere ( pColManager, NULL, m_vecPosition, 2.0f, NULL, true ); m_pCollision->SetCallback ( this ); m_pCollision->SetAutoCallEvent ( false ); // Add us to the pickup manager's list and grab an unique id pPickupManager->AddToList ( this ); // Initialize our stuff to defaults m_iType = CElement::PICKUP; SetTypeName ( "pickup" ); m_ucType = CPickup::WEAPON; m_ucWeaponType = CPickup::WEAPON_BRASSKNUCKLE; m_usAmmo = 0; m_fAmount = 0; m_ulRespawnIntervals = 30000; m_ulLastUsedTime = 0; m_usModel = CPickupManager::GetWeaponModel ( m_ucWeaponType ); m_bVisible = true; m_bSpawned = true; m_bIsTypeRandom = false; m_bIsWeaponTypeRandom = false; m_bIsHealthRandom = false; UpdateSpatialData (); }
bool GetFeatureRequest::Create(rude::CGI& cgi, Map* pMap) { WebContext* pWebContext = augeGetWebContextInstance(); char parameter[AUGE_NAME_MAX]; SetVersion(cgi["version"]); //auge_web_parameter_encoding(, parameter, AUGE_NAME_MAX, pWebContext->IsIE()); SetTypeName(cgi["typeName"],true); auge_web_parameter_encoding(cgi["sourceName"], parameter, AUGE_NAME_MAX, pWebContext->IsIE()); SetSourceName(parameter); //auge_web_parameter_encoding(cgi["mapName"], parameter, AUGE_NAME_MAX, pWebContext->IsIE()); SetMapName(cgi["mapName"], true); SetOutputFormat(cgi["outputFormat"]); SetMaxFeatures(cgi["maxFeatures"]); SetOffset(cgi["offset"]); SetBBox(cgi["bbox"]); SetEncoding(cgi["encoding"]); m_filter = cgi["filter"]; m_fields = cgi["fields"]; //if(!m_extent.IsValid()) //{ // SetQuery(cgi["filter"],cgi["fields"], GetTypeName(), pMap); //} return true; }
CObject::CObject ( CElement* pParent, CXMLNode* pNode, CObjectManager* pObjectManager, bool bIsLowLod ) : CElement ( pParent, pNode ) , m_bIsLowLod ( bIsLowLod ) , m_pLowLodObject ( NULL ) { // Init m_iType = CElement::OBJECT; SetTypeName ( "object" ); m_szName [0] = 0; m_szName [MAX_ELEMENT_NAME_LENGTH] = 0; m_pObjectManager = pObjectManager; m_usModel = 0xFFFF; m_pMoveAnimation = NULL; m_ucAlpha = 255; m_fScale = 1; m_fHealth = 1000.0f; m_bBreakable = true; m_bSyncable = true; m_pSyncer = NULL; m_bIsStatic = false; m_bCollisionsEnabled = true; // Add us to the manager's list pObjectManager->AddToList ( this ); }
CClientColCuboid::CClientColCuboid ( CClientManager* pManager, ElementID ID, const CVector& vecPosition, const CVector& vecSize ) : CClientColShape ( pManager, ID ) { m_pManager = pManager; m_vecPosition = vecPosition; m_vecSize = vecSize; SetTypeName ( "colcuboid" ); }
CClientTXD::CClientTXD ( class CClientManager* pManager, ElementID ID ) : CClientEntity ( ID ) { // Init m_pManager = pManager; m_usMainModel = 0xFFFF; SetTypeName ( "txd" ); }
CScriptFile::CScriptFile ( const char* szFilename, unsigned long ulMaxSize ) : ClassInit ( this ), CClientEntity ( INVALID_ELEMENT_ID ) { // Init SetTypeName ( "file" ); m_pFile = NULL; m_strFilename = szFilename ? szFilename : ""; m_ulMaxSize = ulMaxSize; }
CConsoleClient::CConsoleClient ( CConsole* pConsole ) : CElement ( pConsole->GetMapManager ()->GetRootElement (), NULL ) { m_iType = CElement::CONSOLE; SetTypeName ( "console" ); m_strNick = "Console"; m_pConsole = pConsole; m_pAccount->SetName ( CONSOLE_ACCOUNT_NAME ); m_pAccount->Register ( "" ); }
CClientWater::CClientWater ( CClientManager* pManager, ElementID ID, CVector& vecL, CVector& vecR, CVector& vecTB, bool bShallow ) : ClassInit ( this ), CClientEntity ( ID ) { m_pManager = pManager; m_pWaterManager = pManager->GetWaterManager (); m_pPoly = g_pGame->GetWaterManager ()->CreateTriangle ( vecL, vecR, vecTB, bShallow ); SetTypeName ( "water" ); m_pWaterManager->AddToList ( this ); }
CConsoleClient::CConsoleClient ( CConsole* pConsole ) : CElement ( pConsole->GetMapManager ()->GetRootElement (), NULL ) { m_iType = CElement::CONSOLE; SetTypeName ( "console" ); strcpy ( m_szNick, "Console" ); m_pConsole = pConsole; m_pAccount->SetName ( "Console" ); m_pAccount->Register ( "" ); }
CColPolygon::CColPolygon ( CColManager* pManager, CElement* pParent, const CVector& vecPosition, CXMLNode* pNode ) : CColShape ( pManager, pParent, pNode ) { m_vecPosition = vecPosition; SetTypeName ( "colpolygon" ); // That's only to speed up things by not checking the polygon collision, // if the point is not even in the bounds m_fRadius = 0.0f; }
CScriptFile::CScriptFile( uint uiScriptId, const char* szFilename, unsigned long ulMaxSize, eAccessType accessType ) : ClassInit( this ), CClientEntity( INVALID_ELEMENT_ID ) { // Init SetTypeName ( "file" ); m_pFile = NULL; m_strFilename = szFilename ? szFilename : ""; m_ulMaxSize = ulMaxSize; m_uiScriptId = uiScriptId; m_accessType = accessType; }
CConsoleClient::CConsoleClient ( CConsole* pConsole ) : CElement ( pConsole->GetMapManager ()->GetRootElement (), NULL ) , CClient ( false ) { m_pAccount = g_pGame->GetAccountManager ()->AddConsoleAccount ( CONSOLE_ACCOUNT_NAME ); m_iType = CElement::CONSOLE; SetTypeName ( "console" ); m_strNick = "Console"; m_pConsole = pConsole; }
CScriptFile::CScriptFile ( CResource* pResource, const char* szFilename, unsigned long ulMaxSize ) : CElement ( NULL ) { // Init m_iType = CElement::SCRIPTFILE; SetTypeName ( "file" ); m_pResource = pResource; m_pFile = NULL; m_strFilename = szFilename ? szFilename : ""; m_ulMaxSize = ulMaxSize; }
CClientDFF::CClientDFF(CClientManager* pManager, ElementID ID) : ClassInit(this), CClientEntity(ID) { // Init m_pManager = pManager; m_pDFFManager = pManager->GetDFFManager(); SetTypeName("dff"); // Add us to DFF manager list m_pDFFManager->AddToList(this); }
CClientRenderTarget::CClientRenderTarget( CClientManager* pManager, ElementID ID, lua_State *L, CRenderTargetItem* pRenderTargetItem ) : CClientTexture( pManager, ID, L, pRenderTargetItem ) { // Lua instancing PushStack( L ); lua_pushlightuserdata( L, this ); lua_pushcclosure( L, luaconstructor_target, 1 ); luaJ_extend( L, -2, 0 ); lua_pop( L, 1 ); SetTypeName( "rendertarget" ); }
CClientMaterial::CClientMaterial( CClientManager *pManager, ElementID ID, lua_State *L ) : CClientRenderElement( pManager, ID, L ) { // Lua instancing PushStack( L ); lua_pushlightuserdata( L, this ); lua_pushcclosure( L, luaconstructor_material, 1 ); luaJ_extend( L, -2, 0 ); lua_pop( L, 1 ); SetTypeName( "material" ); }
CClientScreenSource::CClientScreenSource( CClientManager* pManager, ElementID ID, lua_State *L, CScreenSourceItem* pScreenSourceItem ) : CClientTexture( pManager, ID, L, pScreenSourceItem ) { // Lua instancing PushStack( L ); lua_pushlightuserdata( L, this ); lua_pushcclosure( L, luaconstructor_screensource, 1 ); luaJ_extend( L, -2, 0 ); lua_pop( L, 1 ); SetTypeName( "screensource" ); }
CRadarArea::CRadarArea ( CRadarAreaManager* pRadarAreaManager, CElement* pParent, CXMLNode* pNode ) : CPerPlayerEntity ( pParent, pNode ) { // Init m_iType = CElement::RADAR_AREA; SetTypeName ( "radararea" ); m_pRadarAreaManager = pRadarAreaManager; m_Color = SColorRGBA ( 255, 255, 255, 255 ); m_bIsFlashing = false; // Pop an id for us and add us to the manger's list pRadarAreaManager->AddToList ( this ); }
CClientWeapon::CClientWeapon ( CClientManager * pManager, ElementID ID, eWeaponType type ) : ClassInit ( this ) , CClientObject ( pManager, ID, CClientPickupManager::GetWeaponModel ( type ), false ) { // Ensure m_pTarget and m_pOwner get NULLed when they are destroyed CClientEntityRefManager::AddEntityRefs ( ENTITY_REF_DEBUG ( this, "CClientWeapon" ), &m_pTarget, &m_pOwner, NULL ); m_pManager = pManager; m_pManager->GetWeaponManager ()->AddToList ( this ); m_Type = type; m_State = WEAPONSTATE_READY; m_pWeapon = NULL; m_pWeaponInfo = g_pGame->GetWeaponInfo ( m_Type ); m_bHasTargetDirection = false; m_pOwner = NULL; SetTypeName ( "weapon" ); SetStatic ( true ); Create (); #ifdef MARKER_DEBUG m_pMarker = new CClientMarker ( pManager, INVALID_ELEMENT_ID, 4 ); m_pMarker->SetColor( SColor( 0xFF00FF00 ) ); m_pMarker->SetSize ( 0.5f ); m_pMarker2 = new CClientMarker ( pManager, INVALID_ELEMENT_ID, 4 ); m_pMarker2->SetColor( SColor( 0xFFFF0000 ) ); m_pMarker2->SetSize ( 0.5f ); #endif m_sDamage = m_pWeaponInfo->GetDamagePerHit ( ); m_pWeaponStat = g_pGame->CreateWeaponStat ( type, WEAPONSKILL_STD ); ResetWeaponTarget ( ); // Setup weapon config. m_weaponConfig.bDisableWeaponModel = false; m_weaponConfig.bShootIfTargetBlocked = false; m_weaponConfig.bShootIfTargetOutOfRange = false; m_weaponConfig.flags.bShootThroughStuff = false; m_weaponConfig.flags.bIgnoreSomeObjectsForCamera = false; m_weaponConfig.flags.bSeeThroughStuff = false; m_weaponConfig.flags.bCheckDummies = true; m_weaponConfig.flags.bCheckObjects = true; m_weaponConfig.flags.bCheckPeds = true; m_weaponConfig.flags.bCheckVehicles = true; m_weaponConfig.flags.bCheckBuildings = true; m_weaponConfig.flags.bCheckCarTires = true; m_itargetWheel = MAX_WHEELS + 1; m_nAmmoInClip = m_pWeaponStat->GetMaximumClipAmmo(); m_ucCounter = 0; m_nAmmoTotal = 9999; m_iWeaponFireRate = GetWeaponFireTime ( m_pWeaponStat ); }
CClientTexture::CClientTexture( CClientManager *pManager, ElementID ID, lua_State *L, CTextureItem *pTextureItem ) : CClientMaterial( pManager, ID, L ) { // Lua instancing PushStack( L ); lua_pushlightuserdata( L, this ); lua_pushcclosure( L, luaconstructor_texture, 1 ); luaJ_extend( L, -2, 0 ); lua_pop( L, 1 ); SetTypeName( "texture" ); m_pRenderItem = pTextureItem; }
bool GetCountRequest::Create(rude::CGI& cgi, Map* pMap) { SetVersion(cgi["version"]); SetTypeName(cgi["typeName"]); SetSourceName(cgi["sourceName"]); SetMapName(cgi["mapName"],true); SetBBox(cgi["bbox"]); m_filter = cgi["filter"]; return true; }
CClientHandling::CClientHandling ( CClientManager* pManager, ElementID ID ) : CClientEntity ( ID ) { // Init m_pManager = pManager; m_pHandlingManager = pManager->GetHandlingManager (); SetTypeName ( "handling" ); // Add to manager's list m_pHandlingManager->AddToList ( this ); // Reset the changed bools to false. All start at default. ResetChangedBools ( false ); }
CTeam::CTeam(CTeamManager* pTeamManager, CElement* pParent, CXMLNode* pNode, const char* szName, unsigned char ucRed, unsigned char ucGreen, unsigned char ucBlue) : CElement(pParent, pNode) { m_pTeamManager = pTeamManager; m_iType = CElement::TEAM; SetTypeName("team"); SetTeamName(szName); SetColor(ucRed, ucGreen, ucBlue); SetFriendlyFire(true); m_pTeamManager->AddToList(this); }
CClientWebBrowser::CClientWebBrowser ( CClientManager* pManager, ElementID ID, CWebBrowserItem* pWebBrowserItem, bool bLocal, bool bTransparent ) : ClassInit ( this ), CClientTexture ( pManager, ID, pWebBrowserItem ) { m_pResource = nullptr; m_pManager = pManager; SetTypeName ( "webbrowser" ); // Create the web view m_pWebView = g_pCore->GetWebCore ()->CreateWebView ( pWebBrowserItem->m_uiSizeX, pWebBrowserItem->m_uiSizeY, bLocal, pWebBrowserItem, bTransparent ); // Set events interface m_pWebView->SetWebBrowserEvents ( this ); // Initialise the webview after setting the events interface m_pWebView->Initialise (); }
CObject::CObject ( CElement* pParent, CXMLNode* pNode, CObjectManager* pObjectManager ) : CElement ( pParent, pNode ) { // Init m_iType = CElement::OBJECT; SetTypeName ( "object" ); m_szName [0] = 0; m_szName [MAX_ELEMENT_NAME_LENGTH] = 0; m_pObjectManager = pObjectManager; m_usModel = 0xFFFF; m_moveData.bActive = false; m_ucAlpha = 255; // Add us to the manager's list pObjectManager->AddToList ( this ); }
CClientMarker::CClientMarker ( CClientManager* pManager, ElementID ID, int iMarkerType ) : CClientStreamElement ( pManager->GetMarkerStreamer (), ID ) { // Init m_pManager = pManager; m_pMarkerManager = pManager->GetMarkerManager (); m_pCollision = NULL; m_pMarker = NULL; // Typename SetTypeName ( "marker" ); // Create the marker CreateOfType ( iMarkerType ); // Add us to marker manager list m_pMarkerManager->AddToList ( this ); }
CClientSound::CClientSound ( CClientManager* pManager, ElementID ID ) : CClientEntity ( ID ) { m_pManager = pManager; m_pSoundManager = pManager->GetSoundManager(); m_pSound = NULL; SetTypeName ( "sound" ); m_pSoundManager->AddToList ( this ); RelateDimension ( pManager->GetSoundManager ()->GetDimension () ); m_fVolume = 1.0f; m_fMinDistance = 2.0f; m_usDimension = 0; m_b3D = false; }
bool GetCountRequest::Create(XDocument* pxDoc) { XElement *pxRoot = NULL; XAttribute *pxAttr = NULL; m_pxDoc = pxDoc; pxRoot = pxDoc->GetRootNode(); pxAttr = pxRoot->GetAttribute("version"); if(pxAttr!=NULL) { SetVersion(pxAttr->GetValue()); } pxAttr = pxRoot->GetAttribute("mapName"); if(pxAttr!=NULL) { SetMapName(pxAttr->GetValue(),false); } pxAttr = pxRoot->GetAttribute("sourceName"); if(pxAttr!=NULL) { SetSourceName(pxAttr->GetValue()); } XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query"); if(pxQuery==NULL) { return NULL; } pxAttr = pxQuery->GetAttribute("typeName"); if(pxAttr==NULL) { return false; } SetTypeName(pxAttr->GetValue(),false); if(m_type_name.empty()) { return false; } return true; }
CClientSound::CClientSound ( CClientManager* pManager, ElementID ID ) : ClassInit ( this ), CClientEntity ( ID ) { m_pSoundManager = pManager->GetSoundManager(); m_pAudio = NULL; SetTypeName ( "sound" ); m_pSoundManager->AddToList ( this ); m_fVolume = 1.0f; m_fMinDistance = 5.0f; m_fMaxDistance = 20.0f; m_fPlaybackSpeed = 1.0f; m_bPan = true; m_fPan = 0.0f; m_pBuffer = NULL; }