⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bloodclientshell.h

📁 Blood 2全套源码
💻 H
📖 第 1 页 / 共 2 页
字号:
		DBOOL			OnExitMultiLoadingLevelState(int nNewState);
		DBOOL			OnExitCreditsState(int nNewState);
		DBOOL			OnExitMoviesState(int nNewState);
		DBOOL			OnExitSplashState(int nNewState);
		DBOOL			OnExitWaitingState(int nNewState);

		// Load/Save stuff

		void			SaveClientData( HMESSAGEWRITE hMsg );
		void			LoadClientData( HMESSAGEREAD hMsg );


		// New camera stuff
		void			Set3rdPersonCamera(DBOOL bExternal);
		void			UpdateCameraPosition();
		void			CalculateCameraRotation();
		void			UpdateCameraRotation();
		void			ResetGlobalFog();
		void			GetWorldTitle(char *pWorldFile);
#ifdef BRANDED
		void			CreateBrandSurface();
		void			DrawBrandString(HSURFACE hScreenSurface);
#endif

	private:

		ClientData		cdata;
		ClientData		cdataLast; 
		DRotation		m_Rotation;
		CViewWeapon*	m_pWeapon;			// 10 slots plus some for other weapons
		CViewWeapon*	m_pLWeapon;			// left hand weapons
		DBYTE			m_abyWeaponID[CLIENTWEAPONSLOTS];		// 10 slots plus some for other weapons
		DBYTE			m_abyLWeaponID[CLIENTWEAPONSLOTS];		// left hand weapons
//		HLOCALOBJ		m_hWeapObj;			// Weapon models
//		HLOCALOBJ		m_hLWeapObj;		// Weapon models
		HLOCALOBJ		m_hWeapHandObj;		// Weapon models
		HLOCALOBJ		m_hLWeapHandObj;	// Weapon models
		CMainMenus		m_Menu;				// pretty self-explanatory isn't it?
		CMessageMgr		m_MessageMgr;
//		CLevelMgr		m_LevelMgr;			// Manage the episode/level structure
		CCheatMgr		m_CheatMgr;
		CMusic			m_Music;
		CNewStatusBar	m_NewStatusBar;
		CCommLink		m_CommLink;
		CFragInfo		m_FragInfo;
		CCredits		m_Credits;
		CVoiceMgr		m_VoiceMgr;
		CTeamMgr		m_TeamMgr;

		CViewCreature*	m_pCreature;		//attach creatre (hand, thief, bone leech)

		DBOOL			m_bFirstUpdate;
		DBOOL			m_bRollCredits;

		DDWORD			m_nGameState;
		DDWORD			m_nHealth;
		DBOOL			m_bDead;
		DBOOL			m_bDeadNoHide;
		DBOOL			m_bWonkyVision;
		DFLOAT			m_fWonkyTime;
		DBOOL			m_bWonkyNoMove;

		int				m_nCurGun;
		DFLOAT			m_SpinAmount;
		DBOOL			m_bZeroXAngle;
		DBOOL			m_bShowCrosshair;
		DBOOL			m_nCrosshair;
		DBOOL			m_nLastCrosshair;
		DBOOL			m_bDemoPlayback;
		DBOOL			m_bShiftState;

		// Advanced console options...
		DBOOL		m_bAdvancedDisableMusic;		// Disable music
		DBOOL		m_bAdvancedDisableSound;		// Disable sound
		DBOOL		m_bAdvancedDisableMovies;		// Disable movies
		DBOOL		m_bAdvancedDisableJoystick;		// Disable joystick
		DBOOL		m_bAdvancedEnableOptSurf;		// Enable optimizing surfaces
		DBOOL		m_bAdvancedDisableLightMap;		// Disable light mapping
		DBOOL		m_bAdvancedEnableTripBuf;		// Enable triple buffering
		DBOOL		m_bAdvancedDisableDx6Cmds;		// Disable DX6 commands
		DBOOL		m_bAdvancedEnableTJuncs;		// Enable T-Junction sealing (gaps between polies)
		DBOOL		m_bAdvancedDisableFog;			// Disable fog
		DBOOL		m_bAdvancedDisableLines;		// Disable line systems
		DBOOL		m_bAdvancedDisableModelFB;		// Disable model fullbrights
		DBOOL		m_bAdvancedEnablePixelDoubling;	// Enable pixel doubling
		DBOOL		m_bAdvancedEnableMultiTexturing;// Enable multi-texturing

		DBOOL		m_bMusicOriginallyEnabled;			// was music originally enabled?
		DBOOL		m_bSoundOriginallyEnabled;			// was sound originally enabled?
		DBOOL		m_bLightmappingOriginallyEnabled;	// was lightmapping originally enabled?
		DBOOL		m_bModelFBOriginallyEnabled;		// were model fullbrights originally enabled?

		DFLOAT		m_fOriginalMouseSensitivity;	// Variable to store a temp sense when zoomed
		DFLOAT		m_fOriginalKeyTurnRate;			// Variable to store a temp sense when zoomed
		DBOOL		m_bCrosshairOriginallyOn;		// Was the crosshair on before we zoomed in
		DBYTE		m_nCrosshairOriginalNum;		// Which number was the crosshair on

        // Camera Stuff
		HLOCALOBJ		m_hCamera;
		HLOCALOBJ		m_hOrbObj;			// For the orb..
		HLOCALOBJ		m_hLastOrbObj;		// To test if we should use that one again
		HLOCALOBJ		m_hSeeingEyeObj;	// For the all-seeing eye
		CPlayerCamera	m_playerCamera;		// Handle 3rd person view
		DBOOL			m_b3rdPerson;
        
    	DFLOAT			m_fLastCameraFovX;
        DFLOAT			m_fLastCameraFovY;
        
		DDWORD			m_dwScreenWidth;
		DDWORD			m_dwScreenHeight;
		DBOOL			m_bHandledStartup;

		// Special FX management...

		CSFXMgr			m_sfxMgr;
		DBYTE			m_nGlobalDetail;

		// Container FX helpers...

		HSOUNDDE		m_hContainerSound;	// Container sound...
		ContainerCode	m_eCurContainerCode;// Code of container currently in
		DFLOAT			m_fContainerStartTime; // Time we entered current container

		DFLOAT			m_fFovXFXDir;		// Variable use in UpdateUnderWaterFX()
		DFLOAT			m_fLastTime;		// Variable use in UpdateUnderWaterFX()
		DVector			m_vLightScale;
		DVector			m_vCameraAdd;

		
		// Bobbin' and Swayin'
		DFLOAT			m_fPitch;
		DFLOAT			m_fYaw;
		DFLOAT			m_fAdjPitch;
		DFLOAT			m_fAdjYaw;

		DFLOAT			m_fBobAmp;
		DFLOAT			m_fBobPhase;
		DFLOAT			m_fBobHeight;
		DFLOAT			m_fBobWidth;
		DFLOAT			m_fBobCant;
		DFLOAT			m_fShakeCant;
		DFLOAT			m_fSwayPhase;
		DFLOAT			m_fSwayHeight;
		DFLOAT			m_fSwayWidth;
	
		DFLOAT			m_fCantIncrement;
		DFLOAT			m_fCantMaxDist;
		DFLOAT			m_fCamCant;

		DBOOL			m_bShakeScreen;
		DFLOAT			m_fShakeTime;
		DFLOAT			m_fShakeStart;
		DVector			m_vShakeMagnitude;

		DBOOL			m_bFlashScreen;
		DFLOAT			m_fFlashTime;
		DFLOAT			m_fFlashStart;
		DFLOAT			m_fFlashRampUp;
		DVector			m_vFlashColor;

		//wonky vision crap
		DFLOAT			m_fOffsetX;
		DFLOAT			m_fOffsetY;
		DFLOAT			m_fOffsetRot;
		DFLOAT			m_fRotDir;
		DFLOAT			m_fMaxRot;

		// Stuff received from the player
		DFLOAT			m_fEyeLevel;
		DFLOAT			m_fVelMagnitude;
//		DFLOAT			m_fVelY
		DVector			m_vMyLastPos;

		DFLOAT			m_fViewY;
		DFLOAT			m_fViewYVel;
		DFLOAT			m_fWeaponY;
		DFLOAT			m_fWeaponYVel;

		DBOOL			m_bSpectatorMode;
		DBOOL			m_bZoomView;

		DFLOAT			m_fCameraZoom;
		DFLOAT			m_fovX;
		DFLOAT			m_fovY;
		DFLOAT			m_DefFovX;
		DFLOAT			m_fovYScale;
		DFLOAT			m_fViewKick;
		DFLOAT			m_fKickTime;

		HSURFACE		m_hCrosshair;
		DDWORD			m_cxCrosshair;
		DDWORD			m_cyCrosshair;
		HSURFACE		m_hOverlayText;
		HDEFONT			m_hFont;
		DBOOL			m_bInWorld;
		DBOOL			m_bDrawStatusBar;
		DBOOL			m_bDrawFragBar;

		// Character Attibutes
		ConfigStruct	m_Config;

//		DBOOL			m_bUseExternalCamera;
		CCameraFX*		m_pExternalCamera;
		DBOOL			m_bRenderCamera;
		DBOOL			m_bStoneView;
		DBOOL			m_bAuraView;
        
		DBOOL			m_bBurn;
        DBOOL			m_bBlind;
		DBOOL			m_bFadeIn;
		DBOOL			m_bFadeOut;
		DFLOAT			m_fFadeVal;
        DFLOAT			m_fBurnTime;
        DFLOAT			m_fBlindTime;

		HSURFACE		m_hLoadingScreen;
		DFLOAT			m_fLoadingFadeTime;
		DBOOL			m_bLoadingFadeUp;
		DBOOL			m_bPlayedWaitingSound;
		DFLOAT			m_fLoadDelayTime;

		HSTRING			m_hstrTitle;
		HSTRING			m_hstrLoadScreen;
		DDWORD			m_nLoadScreenID;

		HSTRING			m_hstrObjectivesTitle;
		HSTRING			m_hstrObjectivesText;

		int				m_nLastExitType;
		StartGameRequest m_Request;
		DBOOL			m_bFirstWorld;
		char			m_szFilename[255];

		// Sky panning attributes
		DBOOL			m_bPanSky;
		DFLOAT			m_fPanSkyOffsetX;
		DFLOAT			m_fPanSkyOffsetZ;
		DFLOAT			m_fPanSkyScaleX;
		DFLOAT			m_fPanSkyScaleZ;
		DFLOAT			m_fCurSkyXOffset;
		DFLOAT			m_fCurSkyZOffset;

		// Load/Save game interface
		CSavedGameInfo	m_SavedGameInfo;

		// Mouse
		DBOOL			m_bMouseInvertYAxis;
		DBOOL			m_bMouseLook;
		DBOOL			m_bLookSpring;

		// Joystick
		DBOOL			m_bUseJoystick;

		// Keboard
		float			m_fKeyboardTurnRate;

		// Movie
		int				m_nMovieState;

		// Message box
		CMessageBoxHandler	m_messageBoxHandler;
		CLTGUIMessageBox	m_messageBox;
		CLTGUIFont			m_messageFont;
		DBOOL				m_bInMessageBox;

		// This is used to ignore a keyboard message while doing
		// the key configuration stuff.
		DBOOL			m_bIgnoreKeyboardMessage;

		HSTRING			m_hCurrentItemName;
		HSTRING			m_hCurrentItemIcon;
		HSTRING			m_hCurrentItemIconH;
		DDWORD			m_nCurrentItemCharge;
		HSTRING			m_hPrevItemIcon;
		DDWORD			m_nPrevItemCharge;
		HSTRING			m_hNextItemIcon;
		DDWORD			m_nNextItemCharge;

		int				m_nLastLoadType;
		int				m_nGameType;

		DBOOL			m_bNetFriendlyFire;
		DBOOL			m_bNetNegTeamFrags;
		DBOOL			m_bNetOnlyFlagScores;
		DBOOL			m_bNetOnlyGoalScores;

		// Inventory item stuff

		DBOOL			m_bNightGogglesActive;
		HSOUNDDE		m_hNightGogglesSound;
		HSOUNDDE		m_hTheEyeLoopingSound;

		DBOOL			m_bBinocularsActive;

		DBOOL			m_bPaused;


		CMoveMgr*		m_pMoveMgr;
		int				m_nTrapped;

#ifdef BRANDED
		HSURFACE		m_hBrandSurface;
		DFLOAT			m_fBrandCounter;
#endif

		CMusic::EMusicLevel	m_eMusicLevel;

		DDWORD			m_dwAmmo;
		DDWORD			m_dwAltAmmo;

		HSTRING			m_hCtfCapturedString1;
		HSTRING			m_hCtfCapturedString2;

#ifdef _ADDON
		HSTRING			m_hSoccerGoalString1;
		HSTRING			m_hSoccerGoalString2;
#endif // _ADDON


		// Reverb parameters
		DBOOL			m_bUseReverb;
		float			m_fReverbLevel;
		float			m_fNextSoundReverbTime;
		DVector			m_vLastReverbPos;

};


// Inlines...

inline DBOOL CBloodClientShell::IsMultiplayerTeamBasedGame()
{
	if (m_nGameType == GAMETYPE_CTF) return(DTRUE);
	if (m_nGameType == GAMETYPE_TEAMPLAY) return(DTRUE);
	if (m_nGameType == GAMETYPE_SOCCER) return(DTRUE);

	return(DFALSE);
}


// This is always available, once you create your server shell.
extern CBloodClientShell *g_pBloodClientShell;


#endif __BLOODCLIENTSHELL_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -