Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // PythonBackground.h: interface for the CPythonBackground class.
- //
- //////////////////////////////////////////////////////////////////////
- #if !defined(AFX_PYTHONBACKGROUND_H__A202CB18_9553_4CF3_8500_5D7062B55432__INCLUDED_)
- #define AFX_PYTHONBACKGROUND_H__A202CB18_9553_4CF3_8500_5D7062B55432__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include "../gamelib/MapManager.h"
- #include "../gamelib/TerrainDecal.h"
- #include "../gamelib/SnowEnvironment.h"
- class CInstanceBase;
- class CPythonBackground : public CMapManager, public CSingleton<CPythonBackground>
- {
- public:
- enum
- {
- SHADOW_NONE,
- SHADOW_GROUND,
- SHADOW_GROUND_AND_SOLO,
- SHADOW_ALL,
- SHADOW_ALL_HIGH,
- SHADOW_ALL_MAX,
- };
- enum
- {
- DISTANCE0,
- DISTANCE1,
- DISTANCE2,
- DISTANCE3,
- DISTANCE4,
- NUM_DISTANCE_SET
- };
- enum
- {
- DAY_MODE_LIGHT,
- DAY_MODE_DARK,
- };
- typedef struct SVIEWDISTANCESET
- {
- float m_fFogStart;
- float m_fFogEnd;
- float m_fFarClip;
- D3DXVECTOR3 m_v3SkyBoxScale;
- } TVIEWDISTANCESET;
- public:
- CPythonBackground();
- virtual ~CPythonBackground();
- void Initialize();
- void Destroy();
- void Create();
- void GlobalPositionToLocalPosition(LONG& rGlobalX, LONG& rGlobalY);
- void LocalPositionToGlobalPosition(LONG& rLocalX, LONG& rLocalY);
- void EnableTerrainOnlyForHeight();
- bool SetSplatLimit(int iSplatNum);
- bool SetVisiblePart(int ePart, bool isVisible);
- bool SetShadowLevel(int eLevel);
- void RefreshShadowLevel();
- void SelectViewDistanceNum(int eNum);
- void SetViewDistanceSet(int eNum, float fFarClip);
- float GetFarClip();
- DWORD GetRenderShadowTime();
- void GetDistanceSetInfo(int * peNum, float * pfStart, float * pfEnd, float * pfFarClip);
- bool GetPickingPoint(D3DXVECTOR3 * v3IntersectPt);
- bool GetPickingPointWithRay(const CRay & rRay, D3DXVECTOR3 * v3IntersectPt);
- bool GetPickingPointWithRayOnlyTerrain(const CRay & rRay, D3DXVECTOR3 * v3IntersectPt);
- BOOL GetLightDirection(D3DXVECTOR3 & rv3LightDirection);
- void Update(float fCenterX, float fCenterY, float fCenterZ);
- void CreateCharacterShadowTexture();
- void ReleaseCharacterShadowTexture();
- void Render();
- void RenderSnow();
- void RenderPCBlocker();
- void RenderCollision();
- void RenderCharacterShadowToTexture();
- void RenderSky();
- void RenderCloud();
- void RenderWater();
- void RenderEffect();
- void RenderBeforeLensFlare();
- void RenderAfterLensFlare();
- bool CheckAdvancing(CInstanceBase * pInstance);
- void SetCharacterDirLight();
- void SetBackgroundDirLight();
- void ChangeToDay();
- void ChangeToNight();
- void EnableSnowEnvironment();
- void DisableSnowEnvironment();
- void SetXMaxTree(int iGrade);
- void ClearGuildArea();
- void RegisterGuildArea(int isx, int isy, int iex, int iey);
- void CreateTargetEffect(DWORD dwID, DWORD dwChrVID);
- void CreateTargetEffect(DWORD dwID, long lx, long ly);
- void DeleteTargetEffect(DWORD dwID);
- void CreateSpecialEffect(DWORD dwID, float fx, float fy, float fz, const char * c_szFileName);
- void DeleteSpecialEffect(DWORD dwID);
- #ifdef ENABLE_PRIVATE_SHOP_SEARCH_SYSTEM
- void CreateSpecialShopPosEffect(DWORD dwID, float fx, float fy, float fz, const char * c_szFileName);
- void DeleteSpecialShopPosEffect();
- #endif
- void Warp(DWORD dwX, DWORD dwY);
- void VisibleGuildArea();
- void DisableGuildArea();
- void RegisterDungeonMapName(const char * c_szMapName);
- TMapInfo* GlobalPositionToMapInfo(DWORD dwGlobalX, DWORD dwGlobalY);
- const char* GetWarpMapName();
- protected:
- void __CreateProperty();
- bool __IsSame(std::set<int> & rleft, std::set<int> & rright);
- protected:
- std::string m_strMapName;
- private:
- CSnowEnvironment m_SnowEnvironment;
- int m_iDayMode;
- int m_iXMasTreeGrade;
- int m_eShadowLevel;
- int m_eViewDistanceNum;
- BOOL m_bVisibleGuildArea;
- DWORD m_dwRenderShadowTime;
- DWORD m_dwBaseX;
- DWORD m_dwBaseY;
- TVIEWDISTANCESET m_ViewDistanceSet[NUM_DISTANCE_SET];
- std::set<int> m_kSet_iShowingPortalID;
- std::set<std::string> m_kSet_strDungeonMapName;
- std::map<DWORD, DWORD> m_kMap_dwTargetID_dwChrID;
- struct SReserveTargetEffect
- {
- int ilx;
- int ily;
- };
- std::map<DWORD, SReserveTargetEffect> m_kMap_dwID_kReserveTargetEffect;
- struct FFindWarpMapName
- {
- DWORD m_dwX, m_dwY;
- FFindWarpMapName(DWORD dwX, DWORD dwY)
- {
- m_dwX = dwX;
- m_dwY = dwY;
- }
- bool operator() (TMapInfo & rMapInfo)
- {
- if (m_dwX < rMapInfo.m_dwBaseX || m_dwX >= rMapInfo.m_dwEndX || m_dwY < rMapInfo.m_dwBaseY || m_dwY >= rMapInfo.m_dwEndY)
- return false;
- return true;
- }
- };
- };
- #endif // !defined(AFX_PYTHONBACKGROUND_H__A202CB18_9553_4CF3_8500_5D7062B55432__INCLUDED_)
Advertisement
Add Comment
Please, Sign In to add comment