1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010-2020 Winch Gate Property Limited
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2013-2019 Jan BOON (Kaetemi) <jan.boon@kaetemi.be>
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #include "nel/misc/types_nl.h"
30 #define USE_WATER_ENV_MAP
33 // ***************************************************************************
36 class CHttpPackageProvider
;
47 class UVisualCollisionManager
;
56 class CEntityAnimationManager
;
59 class CWaterEnvMapRdr
;
62 // ***************************************************************************
68 TeleportKamiBackground
,
69 TeleportKaravanBackground
,
70 ResurectKamiBackground
,
71 ResurectKaravanBackground
,
79 const float SceneRootCameraZNear
= 20.0f
;
80 const float SceneRootCameraZFar
= 20000.0f
;
81 const float SkyCameraZFar
= 500.0f
;
82 const float CameraSetupZNear
= 0.15f
;
85 const float ExtraZoneLoadingVision
= 100.f
;
88 // ***************************************************************************
90 extern NLWEB::CHttpPackageProvider
*HttpPackageProvider
; // Http provider from on-the-fly downloaded game data
93 extern NL3D::UDriver
*Driver
; // The main 3D Driver
94 extern NL3D::IStereoDisplay
*StereoDisplay
; // Stereo display
95 extern NL3D::IStereoHMD
*StereoHMD
; // Head mount display
96 extern bool StereoDisplayAttached
; // Is stereo display handling the display mode
97 extern CSoundManager
*SoundMngr
; // the sound manager
98 extern NL3D::UMaterial GenericMat
; // Generic Material
99 extern NL3D::UTextContext
*TextContext
; // Context for all the text in the client.
102 extern NL3D::CFXAA
*FXAA
;
105 extern NL3D::UScene
*Scene
;
106 extern NL3D::UScene
*SceneRoot
;
107 extern NL3D::UInstanceGroup
*BackgroundIG
;
108 extern NL3D::ULandscape
*Landscape
;
109 extern NL3D::UCloudScape
*CloudScape
;
110 extern NL3D::UCamera MainCam
;
111 extern NL3D::UVisualCollisionManager
*CollisionManager
;
112 #ifdef USE_WATER_ENV_MAP
113 extern CWaterEnvMapRdr WaterEnvMapRdr
;
114 extern NL3D::UWaterEnvMap
*WaterEnvMap
;
115 extern uint WaterEnvMapRefCount
;
116 extern NL3D::UCamera WaterEnvMapSkyCam
;
117 extern NL3D::UCamera WaterEnvMapCanopyCam
;
121 extern bool UserCharPosReceived
;
122 extern bool SabrinaPhraseBookLoaded
;
124 // Main scene matrices.
125 extern NLMISC::CMatrix MainSceneViewMatrix
; // Matrix to transform from world space to camera space
126 extern NLMISC::CMatrix InvMainSceneViewMatrix
; // Matrix to transform from camera space to world space
129 extern bool InitCloudScape
; // tells that the cloud scape must be reinitialized
130 extern CEntityAnimationManager
*EAM
;
131 extern CProgress ProgressBar
;
132 extern TBackground LoadingBackground
;
133 extern std::string LoadingBackgroundBG
;
134 extern std::string LoadingMusic
;
135 extern CContinent
*LoadingContinent
;
136 extern bool ConnectionReadySent
;
137 extern bool PermanentlyBanned
;
138 extern bool IgnoreEntityDbUpdates
;
141 extern std::vector
<std::pair
<
142 std::string
, std::string
> > VRDeviceCache
;
144 extern std::string Cookie
, FSAddr
;
145 extern std::string RingMainURL
;
146 extern std::string NewsAtProgress
;
147 extern bool FreeTrial
;
149 void resetTextContext (const char *font
, bool resetInterfaceManager
);
151 #endif // CL_GLOBAL_H
153 /* End of global.h */